《數(shù)字證書格式》國標版(報批稿)_第1頁
《數(shù)字證書格式》國標版(報批稿)_第2頁
《數(shù)字證書格式》國標版(報批稿)_第3頁
《數(shù)字證書格式》國標版(報批稿)_第4頁
《數(shù)字證書格式》國標版(報批稿)_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、國家質(zhì)量監(jiān)督檢驗檢疫總局 發(fā)布××××-××-××實施××××-××-××發(fā)布信息技術(shù) 安全技術(shù) 公鑰基礎(chǔ)設(shè)施 數(shù)字證書格式Information technology - Security techniques - Public key infrastructure-Digital certificate format (報批稿)GB/T ××××××××

2、中華人民共和國國家標準ICS 35.100.70L79目 次前 言II1 范圍12 規(guī)范性引用文件13 術(shù)語和定義13.1 公鑰基礎(chǔ)設(shè)施(PKI) Public Key Infrastructure(PKI)13.2 公鑰證書 public key certificate23.3 證書撤銷列表(CRL) Certificate Revocation List(CRL)23.4 證書序列號 certificate serial number23.5 證書認證機構(gòu)(CA) Certification Authority(CA)23.6 CRL分布點 CRL distribution point23

3、.7 數(shù)字證書 digital certificate24 縮略語25 數(shù)字證書25.1 概述25.2 數(shù)字證書格式35.2.1 基本證書域的數(shù)據(jù)結(jié)構(gòu)35.2.2 TBSCertificate 及其數(shù)據(jù)結(jié)構(gòu)45.2.3 證書擴展域及其數(shù)據(jù)結(jié)構(gòu)66 算法技術(shù)的支持20附錄A (資料性附錄) 證書的結(jié)構(gòu)21A.1 證書構(gòu)成(見表B.1)21A.2 基本證書域(見表B.2)21A.3 標準的擴展域(見表B.3)21基本限制22附錄B (資料性附錄) 證書的結(jié)構(gòu)實例23B.1 用戶證書的結(jié)構(gòu)實例(見表B.1)23B.2 服務(wù)器證書的結(jié)構(gòu)實例(見表B.2)23附錄C (資料性附錄) 數(shù)字證書編碼舉例24

4、附錄D (資料性附錄) 算法舉例29D.1 散列函數(shù)29D.2 簽名算法29D.2.1 概述29D.2.2 RSA簽名算法29D.3 公開密鑰算法29D.3.1 概述29前 言II1 范圍12 規(guī)范性引用文件13 術(shù)語和定義14 縮略語25 數(shù)字證書25.1 概述25.2 數(shù)字證書格式35.2.1 基本證書域的數(shù)據(jù)結(jié)構(gòu)35.2.2 TBSCertificate 及其數(shù)據(jù)結(jié)構(gòu)45.2.3 證書擴展域及其數(shù)據(jù)結(jié)構(gòu)66 算法技術(shù)的支持206.1 散列函數(shù)206.2 簽名算法206.3 公開密鑰算法20附錄A(規(guī)范性附錄) 中國維護的對象標識符定義22附錄B(資料性附錄) 證書的結(jié)構(gòu)23附錄C(資料性

5、附錄) 證書的結(jié)構(gòu)實例25附錄D(資料性附錄) 數(shù)字證書編碼舉例26前 言本標準主要根據(jù)IETF(互聯(lián)網(wǎng)工程特別工作任務(wù)組) RFC 245 9文件制定,并結(jié)合我國數(shù)字證書應(yīng)用的特點進行相應(yīng)的擴充和調(diào)整。本標準凡涉及密碼算法相關(guān)內(nèi)容,按國家有關(guān)法規(guī)實施。本標準的附錄A、附錄B、附錄C、附錄D為資料性附錄。本標準由中華人民共和國信息產(chǎn)業(yè)部提出。本標準由全國信息安全標準化技術(shù)委員會(TC260)歸口。本標準起草單位:吉大正元信息技術(shù)股份有限公司、中國電子技術(shù)標準化研究所、聯(lián)想控股有限公司、國瑞數(shù)碼安全系統(tǒng)有限公司、北京嘉學(xué)網(wǎng)絡(luò)技術(shù)研究所。本標準主要起草人:何立波、姜玉琳、袁文恭、張寶欣。信息技術(shù)

6、安全技術(shù) 公鑰基礎(chǔ)設(shè)施 數(shù)字證書格式1 范圍本標準規(guī)定了中國數(shù)字證書的基本結(jié)構(gòu),并對數(shù)字證書中的各數(shù)據(jù)項內(nèi)容進行了描述。本標準規(guī)定了一些標準的證書擴展域,并對每個擴展域的結(jié)構(gòu)進行了定義,特別是增加了一些專門面向國內(nèi)應(yīng)用的擴充項。本標準同時還列舉了一些證書中所支持的算法。本標準適用于國內(nèi)數(shù)字證書認證機構(gòu)、數(shù)字證書認證系統(tǒng)的開發(fā)商以及基于數(shù)字證書的安全應(yīng)用開發(fā)商。2 規(guī)范性引用文件下列文件中的條款通過本標準的引用而成為本標準的條款。凡是注日期的引用文件,其隨后所有的修改單(不包括勘誤的內(nèi)容)或修訂版均不適用于本標準,然而,鼓勵根據(jù)本標準達成協(xié)議的各方研究是否可使用這些文件的最新版本。凡是不注日期的

7、引用文件,其最新版本適用于本標準。GB/T 16262.1-200X 抽象語法記法一(ASN.1) 第1部分:基本記憶規(guī)范(ISO/IEC 8824-1:2002,IDT)GB/T 16262.2-200X 抽象語法記法一(ASN.1) 第2部分:客體信息規(guī)范(ISO/IEC 8824-2:2002,IDT)GB/T 16262.3-200X 抽象語法記法一 (ASN.1) 第3部分:約束規(guī)范(ISO/IEC 8824-3:2002,IDT)GB/T 16262.4-200X 抽象語法記法一(ASN.1) 第4部分:ASN.1規(guī)范的參數(shù)化(ISO/IEC 8824-4:2002,IDT)GB/

8、T 16264.8-200X 信息技術(shù) 開放系統(tǒng)互連 目錄 第8部分: 公鑰和屬性證書框架(ISO/IEC 9594-8:2001,IDT)GB/T 16284.4-1996 信息技術(shù) 文本通信 面向信報的文本交換系統(tǒng) 第4部分:抽象服務(wù)定義和規(guī)程(idt ISO/IEC 10021-4:1990)GB/T 17969.1-2000 信息技術(shù) 開放系統(tǒng)互連 OSI登記機構(gòu)的操作規(guī)程 第1部分: 一般規(guī)程(eqv ISO/IEC 9834-1:1993)ISO/IEC 9594-2:2001 信息技術(shù) 開放系統(tǒng)互連 目錄 第2部分:模型RFC 2313 PKCS #1: RSA 加密版本 1.5

9、RFC 822: Internet文本郵件的標準消息格式RFC 1034: 域名:概念和設(shè)備RFC 1630: 互聯(lián)網(wǎng)中的通用資源標識(URL)RFC 1738: 統(tǒng)一資源定位器(URL)RFC 791: 互聯(lián)網(wǎng)協(xié)議3 術(shù)語和定義 下列術(shù)語和定義適用于本標準。3.1 公鑰基礎(chǔ)設(shè)施(PKI) Public Key Infrastructure(PKI)支持公鑰管理體制的基礎(chǔ)設(shè)施,提供鑒別、加密、完整性和不可否認性服務(wù)。3.2 公鑰證書 public key certificate用戶的公鑰連同其他信息,并由發(fā)布該證書的證書認證機構(gòu)的私鑰進行加密使其不可偽造。3.3 證書撤銷列表(CRL) Cer

10、tificate Revocation List(CRL)一個已標識的列表,它指定了一套證書發(fā)布者認為無效的證書。除了普通的CRL外,還定義了一些特殊的CRL類型用于覆蓋特殊領(lǐng)域的CRL。3.4 證書序列號 certificate serial number為每個證書分配的唯一整數(shù)值,在CA頒發(fā)的證書范圍內(nèi),此整數(shù)值與該CA所頒發(fā)的證書相關(guān)聯(lián)一一對應(yīng)。3.5 證書認證機構(gòu)(CA) Certification Authority(CA)負責(zé)創(chuàng)建和分配證書,受用戶信任的權(quán)威機構(gòu)。用戶可以選擇該機構(gòu)為其創(chuàng)建密鑰。3.6 CRL分布點 CRL distribution point一個CRL目錄項或其他

11、CRL分發(fā)源;由CRL分布點分發(fā)的CRL可以包括僅對某CA所發(fā)證書全集某個子集的撤銷條目,或者可以包括有多個CA的撤銷條目。3.7 數(shù)字證書 digital certificate由國家認可的,具有權(quán)威性、可信性和公正性的第三方證書認證機構(gòu)(CA)進行數(shù)字簽名的一個可信的數(shù)字化文件。4 縮略語下列縮略語適用于本標準。 CA 證書認證機構(gòu)CRL 證書撤銷列表DIT 目錄信息樹OID 對象標識符PKI 公鑰基礎(chǔ)設(shè)施5 數(shù)字證書5.1 概述數(shù)字證書具有以下特性: 任何能夠獲得和使用認證機構(gòu)公鑰的用戶都可以恢復(fù)認證機構(gòu)所認證的公鑰。 除了認證機構(gòu),沒有其他機構(gòu)能夠更改證書,證書是不可偽造的。由于證書是

12、不可偽造的,所以可以通過將其放置在目錄中來發(fā)布,而不需要以后特意去保護它們。注 :盡管在DIT中使用唯一性名稱來明確定義CA,但這并不意味著CA組織和DIT之間有任何聯(lián)系。認證機構(gòu)通過對信息集合的簽名來生成用戶證書,信息集合包括可辨別的用戶名、公鑰以及一個可選的包含用戶附加信息的唯一性標識符(unique identifier)。唯一性標識符內(nèi)容的確切格式本章未做規(guī)定,而留給認證機構(gòu)(CA)去定義。唯一性標識符可以是諸如對象標識符、證書、日期或是說明有關(guān)可辨別用戶名的有效性的證書的其他形式。具體地說,如果一個用戶證書的可辨別名為A,唯一性標識符為UA,并且該證書是由名為CA,其唯一性標識符為U

13、CA的認證機構(gòu)生成的,則用戶證書具有下列的形式:CA<<A>>=CAV,SN,AI,CA,UCA,A,UA,Ap,TA這里V為證書版本;SN為證書序列號;AI為用來簽署證書的算法標識符;UCA為CA的可選的唯一性標識符;UA為用戶A的可選的唯一性標識符;Ap為用戶A的公鑰;TA表示證書的有效期,由兩個日期組成,兩者之間的時間段即是證書的有效期。證書有效期是一個時間區(qū)間,在這個時間區(qū)間里,CA必須保證維護該證書的狀態(tài)信息,也就是發(fā)布有關(guān)撤銷的信息數(shù)據(jù)。由于假定TA在不小于24h的周期內(nèi)變化,要求系統(tǒng)以格林威治時間(Coordinated Universal Time)為基

14、準時間。證書上的簽名可被任何知道CA公鑰CAp的用戶用來驗證證書的有效性。5.2 數(shù)字證書格式 本標準采用GB/T 16262系列標準的特定編碼規(guī)則(DER)對下列證書項中的各項信息進行編碼,組成特定的證書數(shù)據(jù)結(jié)構(gòu)。ASN.1 DER 編碼是關(guān)于每個元素的標記、長度和值的編碼系統(tǒng)。5.2.1 基本證書域的數(shù)據(jù)結(jié)構(gòu)數(shù)字證書的基本數(shù)據(jù)結(jié)構(gòu)如下:Certificate := SEQUENCE tbsCertificate TBSCertificate, signatureAlgorithm AlgorithmIdentifier, signatureValue BIT STRING TBSCerti

15、ficate := SEQUENCE version 0 EXPLICIT Version DEFAUT v1, serialNumber CertificateSerialNumber, signature AlgorithmIdentifier, issuer Name, validity Validity, subject Name, subjectPublicKeyInfo SubjectPublicKeyInfo, issuerUniqueID 1 IMPLICIT UniqueIdentifier OPTIONAL, - 如果出現(xiàn),version必須是v2或者v3subjectUn

16、iqueID 2 IMPLICIT Unique Identifier OPTIONAL, - 如果出現(xiàn),version必須是v2或者v3extensions 3 EXPLICIT Extensions OPTIONAL 擴展項 - 如果出現(xiàn), version 必須是v3Version := INTEGER v1(0), v2(1), v3(2) CertificateSerialNumber := INTEGER Validity := SEQUENCE notBefore Time,notAfter Time Time := CHOICE utcTime UTCTime,generalTi

17、me GeneralizedTime UniqueIdentifier := BIT STRINGSubjectPublicKeyInfo := SEQUENCE algorithm AlgorithmIdentifier, subjectPublicKey BIT STRING Extensions := SEQUENCE SIZE (1.MAX) OF ExtensionExtension := SEQUENCE extnID OBJECT IDENTIFIER,critical BOOLEAN DEFAULT FALSE,extnValue OCTET STRING 上述的證書數(shù)據(jù)結(jié)構(gòu)由

18、tbsCertificate, signatureAlgorithm和signatureValue三個域構(gòu)成。這些域的含義如下: tbsCertificate域包含了主體名稱和簽發(fā)者名稱、主體的公鑰、證書的有效期以及其他的相關(guān)信息。 signatureAlgorithm域包含證書簽發(fā)機構(gòu)簽發(fā)該證書所使用的密碼算法的標識符。一個算法標識符的ASN.1結(jié)構(gòu)如下:AlgorithmIdentifier := SEQUENCE algorithm OBJECT IDENTIFIER,parameters ANY DEFINED BY algorithm OPTIONAL 算法標識符用來標識一個密碼算法

19、,其中的OBJECT IDENTIFIER 部分標識了具體的算法。其中可選參數(shù)的內(nèi)容完全依賴于所標識的算法。該域的算法標識符必須與tbsCertificate中的signature標識的簽名算法項相同。 signatureValue域包含了對tbsCertificate域進行數(shù)字簽名的結(jié)果。采用ASN.1 DER編碼的tbsCertificate作為數(shù)字簽名的輸入,而簽名的結(jié)果則按照ASN.1編碼成BIT STRING類型并保存在證書簽名值域內(nèi)。5.2.2 TBSCertificate 及其數(shù)據(jù)結(jié)構(gòu)TBSCertificate包含了證書結(jié)構(gòu)中前十個項的信息。這些信息主要有主體和簽發(fā)者的名稱、主

20、體的公鑰、有效期、版本號和序列號,有些TBSCertificate還可以包含可選的唯一標識符項和擴展項。本條的下述段落描述這些項的語法和語義。5.2.2.1 版本 Version 本項描述了編碼證書的版本號。5.2.2.2 序列號 serial number 本項是CA分配給每個證書的一個正整數(shù),一個CA簽發(fā)的每張證書的序列號必須是唯一的(這樣,通過簽發(fā)者的名字和序列號就可以唯一地確定一張證書),CA 必須保證序列號是非負整數(shù)。序列號可以是長整數(shù),證書用戶必須能夠處理長達20個8比特字節(jié)的序列號值。CA必須確保不使用大于20個8比特字節(jié)的序列號。5.2.2.3 簽名算法 signature 本

21、項包含CA簽發(fā)該證書所使用的密碼算法的標識符,這個算法標識符必須與證書中signatureAlgorithm項的算法標識符相同??蛇x參數(shù)的內(nèi)容完全依賴所標識的具體算法,可以支持用戶定義的簽名算法。5.2.2.4 頒發(fā)者 Issuer 本項標識了證書簽名和證書頒發(fā)的實體。它必須包含一個非空的甄別名稱(DN-distinguished name)。該項被定義為Name類型,其ASN.1的結(jié)構(gòu)如下:Name := CHOICE RDNSequence RDNSequence := SEQUENCE OF RelativeDistinguishedNameRelativeDistinguishedNa

22、me := SET OF AttributeTypeAndValueAttributeTypeAndValue := SEQUENCE type AttributeType,value AttributeValue AttributeType := OBJECT IDENTIFIERAttributeValue := ANY DEFINED BY AttributeTypeDirectoryString := CHOICE teletexString TeletexString (SIZE (1.MAX),printableString PrintableString (SIZE (1.MAX

23、),universalString UniversalString (SIZE (1.MAX),utf8String UTF8String (SIZE (1.MAX),bmpString BMPString (SIZE (1.MAX) Name描述了由一些屬性組成的層次結(jié)構(gòu)的名稱,如國家名、相應(yīng)的值,如“國家=CN”。其中AttributeValue部分的類型是由AttributeType確定的,通常它是一個DirectoryString類型。DirectoryString類型被定義為PrintableString, TeletexString, BMPString, UTF8String和U

24、niversalString類型之一。UTF8String 編碼是首選的編碼方式,在2003年12月31日之后簽發(fā)的證書必須使用DirectoryString中的UTF8String類型進行編碼,但下面說明的除外:,在2003年12月31日之后簽發(fā)的證書必須使用UTF8String 格式對DirectoryString項進行編碼。在此之前,必須采用下面的方式之一進行編碼:a) 如果PrintableString字符集足夠,該串可以采用PrintableString類型進行編碼;b) 如果a)的條件不滿足, 但BMPString類型的字符集滿足要求,該串可以采用BMPString類型進行編碼;c

25、) 如果上述條件都不滿足,則必須表示成UTF8String類型。如果即使?jié)M足a)和b),CA仍可以選擇把數(shù)據(jù)串表示為UTF8String類型。5.2.2.5 有效期 validity 本項是一個時間段,在這個時間段內(nèi),CA擔(dān)保它將維護關(guān)于證書狀態(tài)的信息。該項被表示成一個具有兩個時間值的SEQUENCE類型數(shù)據(jù):證書有效期的起始時間(notBefore)和證書有效期的終止時間(notAfter)。NotBefore和 NotAfter這兩個時間都可以作為UTCTime類型或者GeneralizedTime類型進行編碼。遵循本標準的CA在必須將2049年之前的時間(含2049)編碼為UTCTime

26、類型,將在2050年之后時間(含2050)編碼為GeneralizedTime類型。遵循本標準的CA在2049年之前必須將該時間編碼為UTCTime類型,在2050年之后,編碼為GeneralizedTime類型。5.2.2.5.1 世界時間 UTCTime 本項是為國際應(yīng)用設(shè)立的一個標準ASN.1類型,在這里只有本地時間是不夠的。UTCTime通過兩個低位數(shù)確定年,時間精確到1min或1s。UTCTime包含Z(用于Zulu,或格林威治標準時間)或時間差。 在本項中,UTCTime值必須用格林威治標準時間(Zulu)表示,并且必須包含秒,即使秒的數(shù)值為零(即時間格式為YYMMDDHHMMSS

27、Z)。系統(tǒng)對年字段(YY)必須如下解釋:當(dāng)YY大于或等于50,年應(yīng)解釋為19YY;當(dāng)YY不到50,年應(yīng)解釋為20YY。5.2.2.5.2 通用時間類型 GeneralizedTime 本項是一個標準ASN.1類型,表示時間的可變精確度。GeneralizedTime字段能包含一個本地和格林威治標準時間之間的時間差。本項中,GeneralizedTime值必須用格林威治標準時間表示,且必須包含秒,即使秒的數(shù)值為零(即時間格式為YYYYMMDDHHMMSSZ)。GeneralizedTime值絕不能包含小數(shù)秒(fractional seconds)。遵循本標準的CA在2049年以前必須將時間編碼成

28、UTCTime類型,在2050年以后,編碼成GeneralizedTime類型。5.2.2.6 主體 subject 本項描述了與主體公鑰項中的公鑰相對應(yīng)的實體。主體名稱可以出現(xiàn)在主體項和/或主體可選替換替換名稱擴展項中(subjectAltName)。如果主體是一個CA,那么主體項必須是一個非空的與簽發(fā)者項的內(nèi)容相匹配的甄別名稱(distinguished name)。如果主體的命名信息只出現(xiàn)在主體可選替換替換名稱擴展項中(例如密鑰只與一個Email地址或者URL綁定),那么主體名稱必須是一個空序列,且主體可選替換替換名稱擴展項必須被標識成關(guān)鍵的。當(dāng)主體項非空時,這個項必須包含一個甄別名稱(

29、DN),一個CA認證的每個主體實體的甄別名稱必須是唯一的。一個CA可以為同一個主體實體以相同的甄別名稱簽發(fā)多個證書。主體名稱擴展項被定義成ISO/IEC 9594-2:2001的名字類型。5.2.2.7 主體公鑰信息 Subject Public Key Info 本項用來標識公鑰和相應(yīng)的公鑰算法。公鑰算法使用算法標識符AlgorithmIdentifier結(jié)構(gòu)來表示。5.2.2.8 頒發(fā)者唯一標識符 IssuerUniqueID 本項主要用來處理主體或者頒發(fā)者名稱的重用問題。本標準建議不同的實體名稱不要重用, Internet網(wǎng)的證書不要使用唯一標識符。遵循本標準的證書簽發(fā)機構(gòu)不應(yīng)生成帶有頒

30、發(fā)者唯一標識符的證書,但是在應(yīng)用過程中應(yīng)該能夠解析這個項并進行對比。5.2.2.9 主體唯一標識符 SubjectUniqueID本項主要用來處理主體名稱的重用問題,本標準建議對不同的實體名稱不要重用,并且不建議使用此項,遵循本標準的證書簽發(fā)機構(gòu)不應(yīng)生成帶有主體唯一標識符的證書,但是在應(yīng)用過程中應(yīng)該能夠解析唯一標識符并進行對比。5.2.2.10 擴展項 extensions本項是一個或多個證書擴展的序列(SEQUENCE),其內(nèi)容和數(shù)據(jù)結(jié)構(gòu)在5.2.3中定義。5.2.3 證書擴展域及其數(shù)據(jù)結(jié)構(gòu)5.2.3.1 證書擴展本標準定義的證書擴展項提供了把一些附加屬性同用戶或公鑰相關(guān)聯(lián)的方法以及證書結(jié)構(gòu)

31、的管理方法。數(shù)字證書允許定義標準擴展項和專用擴展項。每個證書中的擴展可以定義成關(guān)鍵性的和非關(guān)鍵性的。一個擴展含有三部分,它們分別是擴展類型、擴展關(guān)鍵度和擴展項值。擴展關(guān)鍵度(extension criticality)告訴一個證書的使用者是否可以忽略某一擴展類型。證書的應(yīng)用系統(tǒng)如果不能識別關(guān)鍵的擴展時,必須拒絕接受該證書,如果不能識別非關(guān)鍵的擴展,則可以忽略該擴展項的信息。本條定義一些標準的擴展項。需要特別注意的是,在實際應(yīng)用過程中,如果采用了關(guān)鍵性的擴展,可能導(dǎo)致在一些通用的應(yīng)用中無法使用該證書。每個擴展項包括一個對象標識符OID和一個ASN.1結(jié)構(gòu)。當(dāng)證書中出現(xiàn)一個擴展時,OID作為ext

32、nID項出現(xiàn),其對應(yīng)的ASN.1編碼結(jié)構(gòu)就是octet string類型的extnValue8bit字符串extnValue的值。一個特定的證書中特定的擴展只可出現(xiàn)一次。例如,一個證書只可以包含一個認證機構(gòu)密鑰標識符擴展。一個擴展中包含一個布爾型的值用來表示該擴展的關(guān)鍵性,其缺省值為FALSE,即非關(guān)鍵的。每個擴展的正文指出了關(guān)鍵性項的可接收的值。遵循本標準的CA必須支持密鑰標識符、基本限制、密鑰用法和證書策略等擴展。如果CA簽發(fā)的證書中的主體項為空序列,該CA就必須支持主體可替換名稱擴展。其他的擴展是可選的。CA還可以支持本標準定義之外的其他的擴展。證書的簽發(fā)者必須注意,如果這些擴展被定義為

33、關(guān)鍵的,則可能會給互操作性帶來障礙。遵循本標準的應(yīng)用必須至少能夠識別密鑰用法、證書策略、主體替換名稱、基本限制、名稱限制、策略限制和擴展的密鑰用法。另外,本標準建議還能支持認證機構(gòu)(authority)和主體密鑰標識符(subject key identifier)以及策略映射擴展。5.2.3.2 標準擴展本條定義數(shù)字證書的標準證書擴展,每個擴展與GB/T 16264.8-200X中定義的一個OID相關(guān)。這些OID都是id-ce的成員,其定義如下:id-ce OBJECT IDENTIFIER := joint-iso-ccitt(2) ds(5) 29 5.2.3.2.1 頒發(fā)機構(gòu)密鑰標識符

34、 authorityKeyIdentifier頒發(fā)機構(gòu)密鑰標識符擴展提供了一種方式,以識別與證書簽名私鑰相應(yīng)的公鑰。當(dāng)發(fā)起方頒發(fā)者由于有多個密鑰共存或由于發(fā)生變化而具有多個簽名密鑰時使用該擴展。識別可基于發(fā)起方頒發(fā)者證書中的主體密鑰標識符或基于發(fā)起方頒發(fā)者的名稱和序列號。為了便于證書鏈的建立,符合本規(guī)范的CA簽發(fā)的所有證書都必須包括authorityKeyIdentifier擴展的keyIdentifier項。僅當(dāng)CA以“自簽”(self-signed )證書形式時,可以省略頒發(fā)機構(gòu)密鑰標識符。此時,主體密鑰標識符和頒發(fā)機構(gòu)密鑰標識符是完全相同的。相應(yīng)CA產(chǎn)生的所有證書應(yīng)包括authority

35、KeyIdentifier擴展的keyIdentifier項,以便于鏈的建立。CA以“自簽”(self-signed )證書形式發(fā)放其公鑰時,可以省略認證機構(gòu)密鑰標識符。此時,主體和認證機構(gòu)密鑰標識符是完全相同的。本項既可用作證書擴展亦可用作CRL擴展。本項標識用來驗證在證書或CRL上簽名的公開密鑰。它能辨別同一CA使用的不同密鑰(例如,在密鑰更新發(fā)生時)。本項定義如下:id-ce-authorityKeyIdentifier OBJECTIDENTIFIER := id-ce 35AuthorityKeyIdentifier := SEQUENCE keyIdentifier 0 KeyId

36、entifier OPTIONAL, authorityCertIssuer 1 GeneralNames OPTIONAL,authorityCertSerialNumber 2 CertificateSerialNumber OPTIONAL (WITH COMPONENTS ,authorityCertIssuer PRESENT, authorityCertSerialNumber PRESENT WITH COMPONENTS ,authorityCertIssuer ABSENT, authorityCertSerialNumber ABSENT)KeyIdentifier :=

37、OCTET STRING。KeyIdentifier項的值應(yīng)來自證書簽名的公鑰或用產(chǎn)生唯一值的方法產(chǎn)生(通常的方式是產(chǎn)生單調(diào)增長的整數(shù)序列);如果值來自公鑰,可采用下述兩種通用的方法生成:KeyIdentifier項的值應(yīng)從用于證實證書簽名的公鑰導(dǎo)出或用產(chǎn)生唯一值的方法導(dǎo)出。公開密鑰的密鑰標識符KeyIdentifier可采用下述兩種通用的方法生成:a) keyIdentifier由BIT STRING subjectPublicKey值的160-bit SHA-1散列值組成(去掉標簽、長度和若干不使用的字節(jié)數(shù)目);b) keyIdentifier 由0100加上后跟的BIT STRING s

38、ubjectPublicKey值的SHA -1散列值中最低位的60bit組成。此密鑰可以通過keyIdentifier字段中的密鑰標識符來標識,也可以通過此密鑰的證書的標識(給出authorityCertIssur字段中的證書頒發(fā)者以及authorityCertSerialNumber字段中的證書序列號)來標識,或者可以通過密鑰標識符和此密鑰的證書標識來標識。如果使用兩種標識形式,那么,證書或CRL的頒發(fā)者應(yīng)保證它們是一致的。對于頒發(fā)機構(gòu)的包含擴展的證書或CRL的所有密鑰標識符而言,每個密鑰標識符應(yīng)該是唯一的。不要求支持此擴展的實現(xiàn)能夠處理authorityCertIssuer字段中的所有名字

39、形式。證書認證機構(gòu)指定或者自動產(chǎn)生證書序列號,這樣頒發(fā)者和證書序列號相結(jié)合就唯一地標識了一份證書。除自簽證書之外,所有的證書必須包含本擴展,而且要包含keyIdentifier項。如果證書的頒發(fā)者的證書有SubjectKeyIdetifier擴展,則本擴展中keyIdentifier項必須與頒發(fā)者的證書的SubjectKeyIdetifier擴展的值一致,如果證書的頒發(fā)者的證書沒有SubjectKeyIdetifier擴展,則可以使用上邊介紹的兩種方法之一來產(chǎn)生。本規(guī)范建議支持keyIdentifier方法,本擴展必須是非關(guān)鍵的。結(jié)構(gòu)中的keyIdentifier,authorityCertS

40、erialNumber建議為必選,但本擴展必須是非關(guān)鍵的。5.2.3.2.2 主體密鑰標識符 subjectKeyIdentifier本項提供一種識別包含有一個特定公鑰的證書的方法。此擴展標識了被認證的公開密鑰。它能夠區(qū)分同一主體使用的不同密鑰(例如,當(dāng)密鑰更新發(fā)生時)。此項定義如下:id-ce-subjectKeyIdentifier OBJECT IDENTIFIER := id-ce 14SubjectKeyIdentifier:=KeyIdentifier對于使用密鑰標識符的主體的各個密鑰標識符而言,每一個密鑰標識符均應(yīng)是唯一的。此擴展項總是非關(guān)鍵的。所有的CA證書必須包括本擴展;而且

41、CA簽發(fā)證書時必須把CA證書中本擴展的值賦給終端實體證書AuthorityKeyIdentifier擴展中的KeyIdentifier項。 CA證書的主體密鑰標識符來自公鑰或者用產(chǎn)生唯一值的方法產(chǎn)生(通常的方式是產(chǎn)生單調(diào)增長的證書序列)。終端實體證書的主體密鑰標識符來自公鑰,從公鑰中生成密鑰標識符的方法見 5.2.3.2.1。CA證書的主體密鑰標識符應(yīng)從公鑰中或者生成唯一值的方法中導(dǎo)出。終端實體證書的主體密鑰標識符應(yīng)從公鑰中導(dǎo)出。有兩種通用的方法從公鑰中生成密鑰標識符(見 5.2.3.2.1)。5.2.3.2.3 密鑰用法 keyUsage本項定義了證書中密鑰的用途,該項定義如下:本項說明已認

42、證的公開密鑰用于何種用途,該項定義如下:id-ce-keyUsage OBJECT IDENTIFIER := id-ce 15KeyUsage:=BIT STRINGdigitalSignature (0),nonRepudiation (1),keyEncipherment (2),dataEncipherment (3),keyAgreement (4),keyCertSign (5),cRLSign (6),encipherOnly (7),decipherOnly (8) KeyUsage類型中的用法如下:a) digitalSignature: 用做進行f)或g)標識的用途之外的數(shù)

43、字簽名;驗證下列b)、f)或g)所標識的用途之外的數(shù)字簽名;b) nonRepudiation: 用做驗證提供抗抵賴服務(wù)的數(shù)字簽名,這種服務(wù)防止簽名實體抵賴某種行為(不包括如f)或g)中的證書或CRL簽名);驗證用來提供抗抵賴服務(wù)的數(shù)字簽名,這種服務(wù)防止簽名實體不實地拒絕某種行為(不包括如f)或g)中的證書或CRL簽名);c) keyEncipherment:用做密鑰傳輸,例如當(dāng)RSA密鑰用做密鑰管理;加密密鑰或其他安全信息,例如用于密鑰傳輸;d) dataEncipherment: 用做加密用戶數(shù)據(jù),而不是用于加密上面c)中的提到的密鑰;加密用戶數(shù)據(jù),但不包括上面c)中的密鑰或其他安全信息;

44、e) keyAgreement:用做密鑰協(xié)商;用作公開密鑰協(xié)商密鑰;f) keyCertSign: 用做驗證公鑰證書上的簽名;驗證證書的CA簽名;g) CRLSign:用做驗證CRL上的簽名;驗證CRL的CA簽名;h) EncipherOnly:與e)一起使用時,代表只用來在密鑰協(xié)商過程中加密數(shù)據(jù)。當(dāng)本比特與已設(shè)置的keyAgreement比特一起使用時,公開密鑰協(xié)商密鑰僅用于加密數(shù)據(jù)(本比特與已設(shè)置的其他密鑰用法比特一起使用的含義未定義);i) DecipherOnly: 與e)一起使用時,代表只用來在密鑰協(xié)商過程中解密數(shù)據(jù)。當(dāng)本比特與已設(shè)置的keyAgreement比特一起使用時,公開密鑰

45、協(xié)商密鑰僅用于解密數(shù)據(jù)(本比特與已設(shè)置的其他密鑰用法比特一起使用的含義未定義)。如果密鑰用途中設(shè)置了keyCertSign,那么基本限制擴展中的Ca bit應(yīng)該也要設(shè)置。keyCertSign只用于CA證書。如果KeyUsage被置為keyCertSign和基本限制擴展存在于同一證書之中,那么,此擴展的CA成分的值應(yīng)被置為TRUE。CA還可使用KeyUsagekeyUsag中定義的其他密鑰用法比特,例如,提供鑒別和在線管理事務(wù)完整性的digitalSignature。若缺少未設(shè)置keyAgreement比特位,則本規(guī)范不定義encipherOnly比特位的含義。若確定設(shè)置了encipherOn

46、ly比特位,且keyAgreement比特位也被確定設(shè)置時,代表主體公鑰可只用來在密鑰協(xié)商過程中加密數(shù)據(jù)。只用于加密數(shù)據(jù),同時執(zhí)行密鑰協(xié)議。若缺少未設(shè)置keyAgreement比特位,則不定義decipherOnly比特位的含義。若確定設(shè)置了decipherOnly比特位,且keyAgreement比特位也被確定設(shè)置時,代表只用來在密鑰協(xié)商過程中解密數(shù)據(jù)主體公鑰可只用于脫密數(shù)據(jù),同時執(zhí)行密鑰協(xié)議。所有的CA證書必須包括本擴展,而且必須包含keyCertSignkeyertSign這一用法。此擴展可以定義為關(guān)鍵的或非關(guān)鍵的,由證書簽發(fā)者選擇。如果此擴展標記為關(guān)鍵的,那么該證書應(yīng)只用于相應(yīng)密鑰用法

47、比特位置為“1”的用途。如果此擴展標記為非關(guān)鍵的,那么它指明此密鑰的預(yù)期的用途或其他多種用途,并可用于查找具有多密鑰/證書的實體的正確密鑰/證書。它是一個咨詢項,并不意指此密鑰的用法限于指定的用途。置為“0”的比特位指明此密鑰不是預(yù)期的這一用途。如果所有比特位均為“0”,它指明此密鑰預(yù)期用于所列用途之外的某種用途。在應(yīng)用中,使用該擴展項對證書類型的進行區(qū)別,當(dāng)設(shè)置了c)、d)、h)、i)比特位中的一項位時,表示該證書為加密證書;當(dāng)設(shè)置了a)、b)比特位中的一位項時,表示該證書為簽名證書。 5.2.3.2.4 擴展密鑰用途 extKeyUsage本項指明已驗證的公開密鑰可以用于一種用途或多種用途

48、,它們可作為對密鑰用法擴展項中指明的基本用途的補充或替代。此項定義如下:id-ce-extKeyUsage OBJECT IDENTIFIER : id-ce 37ExtKeyUsageSyntax :=SEQUENCE SIZE (1MAX) OF KeyPurposeIdKeyPurposeId:=OBJECT IDENTIFIER密鑰的用途可由有此需要的任何組織定義。用來標識密鑰用途的客體標識符應(yīng)按照GB/T 17969.1-2000來分配。由證書簽發(fā)者確定此擴展是關(guān)鍵的或非關(guān)鍵的。如果此擴展標記為關(guān)鍵的,那么,此證書應(yīng)只用于所指示的用途之一。如果此擴展標記為非關(guān)鍵的,那么,它指明此密鑰

49、的預(yù)期用途或其他用途,并可用于查找多密鑰/證書的實體的正確密鑰/證書。它是一個咨詢項,并不表示認證機構(gòu)將此密鑰的用法限于所指示的用途。然而,進行應(yīng)用的證書仍然可以要求指明特定的用途,以便證書為此應(yīng)用接受。如果證書包含關(guān)鍵的密鑰用途項和關(guān)鍵的擴展密鑰項,那么,兩個項應(yīng)獨立地處理,并且證書應(yīng)只用于與兩個項一致的用途。如果沒有與兩個項一致的用途,那么,此證書不能用于任何用途。 本標準定義下列密鑰用途: id-kp OBJECT IDENTIFIER := id-pkix 3 id-kp-serverAuth OBJECT IDENTIFIER := id-kp 1 - TLS Web server

50、鑒別 - Key usage 比特可以與設(shè)置為digitalSignature, keyEncipherment或keyAgreement一致 id-kp-clientAuth OBJECT IDENTIFIER := id-kp 2 - TLS Web server 鑒別 - Key usage 比特可以設(shè)置為與digitalSignature和/或keyAgreement一致 id-kp-codeSigning OBJECT IDENTIFIER := id-kp 3 - 可下載執(zhí)行代碼的簽名 - Key usage 比特可以設(shè)置為與digitalSignature一致id-kp-emai

51、lProtection OBJECT IDENTIFIER := id-kp 4 - E-mail 保護 - Key usage比特可以設(shè)置為與digitalSignature,nonRepudiation和/或(keyEncipherment或keyAgreement) 一致- id-kp-timeStamping OBJECT IDENTIFIER := id-kp 8 - 將對象的散列值與同一時間源提供的時間綁定 - Key usage 比特可以設(shè)置為與digitalSignature,nonRepudiation一致 id-kp-OCSPSigning OBJECT IDENTIFIE

52、R := id-kp 9 - OCSP 應(yīng)答簽名 - Key usage 比特可以設(shè)置為與digitalSignature,nonRepudiation一致5.2.3.2.5 私有密鑰使用期 privateKeyUsagePeriod本項指明與已驗證的公開密鑰相對應(yīng)的私有密鑰的使用期限。它只能用于數(shù)字簽名密鑰。此項定義如下:id-ce-privateKeyUsagePeriod OBJECT IDENTIFIER:=id-ce 16PrivateKeyUsagePeriod:=SEQUENCE notBefore 0 GeneralizedTime OPTIONAL, notAfter 1 G

53、eneralizedTime OPTIONALnotBefore字段指明私有密鑰可能用于簽名的最早日期和時間。如果沒有notBefere字段,就不提供有關(guān)私有密鑰有效使用期何時開始的信息。NotAfter字段指明私有密鑰可以用于簽名的最遲日期和時間。如果沒有notAfter字段,就不提供有關(guān)私有密鑰有效使用期何時結(jié)束的信息。這個擴展總是為非關(guān)鍵的。注 1:私有密鑰有效使用期可以與證書有效性周期指明的已驗證的公開密鑰有效性不同。就數(shù)字簽名密鑰而言,簽名的私有密鑰使用期一般比驗證公開密鑰的時間短。注 2:數(shù)字簽名的驗證者想要檢查直到驗證時刻此密鑰是否未被撤銷,例如,由于密鑰泄露,那么,在驗證時,對公開密鑰而言的有效證方應(yīng)仍存在。在公開密鑰的證書期滿之后,簽名驗證者不能依賴CRL所通知的協(xié)議。5.2.3.2.6 證書策略 certificatePolicies本項列出了由頒發(fā)的CA所認可的證書策略,這些策略適用于證書以及關(guān)于這些證書策略的任選的限定符信息。證書策略擴展包含了一系列策略信息條目,每個條目都有一個OID和一個可選的限定條件。這個可選的限定條件不能改變策略的定義。在用戶證書中,這些策略信息條目描述了證書發(fā)放所依據(jù)的策略以及證書的應(yīng)用目的;在CA證書中,這些策略條目指定了包含這個證書的驗證路徑的策略集合。具有特定策略需求的應(yīng)用系統(tǒng)應(yīng)該擁有它們將接受的策略的列表,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論