五政府凭证管理中心相关规范.docx
《五政府凭证管理中心相关规范.docx》由会员分享,可在线阅读,更多相关《五政府凭证管理中心相关规范.docx(23页珍藏版)》请在冰豆网上搜索。
![五政府凭证管理中心相关规范.docx](https://file1.bdocx.com/fileroot1/2022-10/13/e6441784-08d7-40af-beb1-2abcceca57af/e6441784-08d7-40af-beb1-2abcceca57af1.gif)
五政府凭证管理中心相关规范
五、政府憑證管理中心相關規範
(一)技術標準
政府憑證管理中心(GovernmentCertificateAuthority,GCA)有關電子憑證之命名、加密演算、數位簽章演算、憑證格式、憑證編碼、私密金鑰加密格式等所採用之標準與格式如下:
1、命名(Naming):
採X.509命名方式。
其他標準包括電子郵件E-mail(RFC822)、網域名稱服務DomainNameServiceName(RFC1035)、Originator/RecipientAddressO/RAddress(X.400,1988)、目錄名稱DirectoryName(X.501,1993)、電子文件交換EDIpartName、全球資訊網網址UniformResourceLocatorURL(RFC1630)、網際網路位址IPaddress(RFC791)及註冊識別碼RegisteredID(X.660)等。
2、加密演算法:
採TripleDESCBC112bits演算法。
3、憑證的數位簽章演算法:
採RSA演算法,其金鑰長度為1024bits,並配合雜湊函數SHA-1作訊息摘要,補白(padding)方法採SET規範。
4、憑證公佈(CertificateDistribution):
採用HTTP協定。
5、憑證格式(CertificateFormat):
採用X.509(V3,1993)標準。
6、廢止清冊(CRL):
採用X.509(V2,1993)標準。
7、憑證編碼方式。
(1)AbstractSyntaxNotationOne(ASN.1):
描述資料欄位的形態與數值(定義在CCITTTX.208,1988)
(2)BasicEncodingRule(BER):
描述資料標碼規則(定義在CCITTX.209,1988)
(3)DistinguishEncodingRule(DER):
對ASN.1提供唯一編碼方式,DER是BER的Subset(定義在ITU-TX.690,1994)
8、個人密鑰:
採用PKCS#5(PKCS:
PublicKeyCryptographicStandard)公開金鑰密碼標準格式加密格式。
9、通信協定:
(1)TCP/IP
(2)HTTP
(二)政府機關憑證格式
有關GCA的憑證格式及其ASN.1的格式如下說明
1、GCA憑證格式(X.509v3)
擴充欄位
憑證管理中心所使用之公開金鑰憑證內容敘述如下:
(1)版本:
該憑證製作所依據的X.509版序(V3)
(2)序號:
由憑證管理中心所給定的唯一憑證序號
(3)數位簽章演算法:
憑證管理中心簽署該憑證所用的演算法
(4)簽發單位名稱:
簽署該憑證之憑證管理中心名稱
(5)憑證有效期限:
該憑證生效日期與截止日期
(6)用戶名稱:
依據X.500命名方式所命名的用戶名稱
(7)公開金鑰資料:
公開金鑰的值與演算法名稱
(8)簽發者識別號:
簽署該憑證之憑證管理中心獨有的識別號碼
(9)用戶識別號:
用戶獨有唯一識別碼
(10)X.509擴充欄位(V3):
憑證管理中心的政策與金鑰名稱補充
(11)數位簽章演算法:
憑證管理中心簽章所用的演算法
(12)數位簽章:
憑證管理中心對以上資料作數位簽章
公鑰憑證擴充欄位(CertificateExtensions)敘述如下:
(1)金鑰的用途(KeyUsage)
(2)憑證簽發原則與政策(CertificatePolicies)
(3)替代名稱(AlternativeName)
(4)基本限制(BasicConstraints)
2、憑證的ASN.1格式說明
憑證的ASN.1格式詳細如下所列:
Certificate:
:
=SEQUENCE{
tbsCertificateTBSCertificate,
signatureAlgorithmAlgorithmIdentifier,
signatureBITSTRING}
TBSCertificate:
:
=SEQUENCE{
version [0]EXPLICITVersion,
serialNumberCertificateSerialNumber,
signatureAlgorithmIdentifier,
issuerName,
validityValidity,
subjectName,
subjectPublicKeyInfoSubjectPublicKeyInfo,
issuerUniqueID[1]IMPLICIT
UniqueIdentifierOPTIONAL,
SubjectUniqueID[2]IMPLICIT
UniqueIdentifierOPTIONAL,
extensions[3]EXPLICITExtensionsOPTIONAL
}
Version:
:
=INTEGER{v3
(2)}
CertificateSerialNumber:
:
=INTEGER
Validity:
:
=SEQUENCE{
notBeforeTime,
notAfterTime}
Time:
:
=CHOICE{
utcTimeUTCTime,
generalTimeGerneralizedTime}
UniqueIdentifier:
:
=BITSTRING
SubjectPublicKeyInfo:
:
=SEQUENCE{
algorithmAlgorithmIdentifier,
subjectPublicKeyBITSTRING}
Extensions:
:
=SEQUENCESIZE(1..MAX)OFEXTENSION
Extension:
:
=SEQUENCE{
exnIDOBJECTIDENTIFIER,
criticalBOOLEANDEFAULTFALSE,
extnValueOCTETSTRING}
AlgorithmIdentifier:
:
=SEQUENCE{
algorithmOBJECTIDENTIFIER,
parametersANYDEFINEDBYalgorithmOPTIONAL}
Name:
:
=CHOICE{
RDNSequence}
RDNSequence:
:
=SEQUENCEOFRelativeDistinguishedName
RelativeDistinguishedName:
:
=
SETOFAttributeTypeAndValue
AttributeTypeAndValue:
:
=SEQUENCE{
typeAttributeType,
valueAttributeValue}
AttributeTypeOBJECTIDENTIFIER:
:
={joint-iso-ccitt
(2)ds(5)attributeType(4)}
AttributeValue:
:
=ANYDEFINEDBYAttribeType
--countrytype
countryNameATTRIBUTE
WITHATTRIBUTE-SYNTAX
PrintableString(SIZE
(2))--IS3166codesonly
MATCHESFOREQUALITY
SINGLEVALUE
:
:
={attributeType6}
--organizationtype
organizationNameATTRIBUTE
WITHATTRIBUTE-SYNTAX
caseIgnoreStringSyntax
(SIZE(1..ub-organization-Name))
:
:
={attributeType10}
--organizationunittype
organizationUnitNameATTRIBUTE
WITHATTRIBUTE-SYNTAX
caseIgnoreStringSyntax
(SIZE(1..ub-organizational-unit-Name))
:
:
={attributeType11}
--commonnametype
commonNameATTRIBUTE
WITHATTRIBUTE-SYNTAX
caseIgnoreStringSyntax
(SIZE(1..ub-common-Name))
:
:
={attributeType3}
--extensions
--keyusageextension
id-ce-keyUsageOBJECTIDENTIFIER:
:
={id-ce15}
KeyUsage:
:
=BITSTRING{
DigitalSignature (0)
NonRepudiation
(1)
keyEncipherment
(2)
dataEncryption (3)
keyAgreement (4)
keyCertSign (5)
cRLSign (6)
encipherOnly (7)
decipherOnly (8)}
--policyextension
id-ce-certificatePoliciesOBJECTIDENTIFIER:
:
={id-ce32}
certificatePolicies:
:
=SEQUENCESIZE(1..MAX)OFPolicyInformation
PolicyInformation:
:
=SEQUENCE{
policyIdentifierCertPolicyId,
policyQualifiersSEQUENCESIZE(1..MAX)OF
PolicyQualifierInfoOPTIONAL}
CertPolicyIdOBJECTIDENTIFIER
id-cht-cp-1OBJECTIDENTIFIER:
:
={12tw(886)cht
(1)cp
(2)policy-1
(1)}
PolicyQualifierInfo:
:
=SEQUENCE{
policyQualifierIdPolicyQualifierId,
qualifierANYDEFUNEDBYpolicyQualifierId}
--subjectalternativenameextension
id-ce-subjectAltNameOBJECTIDENTIFIER:
:
={id-ce17}
SubjectAltName:
:
=GeneralNames
GeneralNames:
:
=SEQUENCESIZE(1..MAX)OFGernalName
GernalName:
:
=CHOICE{
otherName[0]OtherName,
rfc822Name[1]IA5String,
dNSName[2]IA5String,
x400N