版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
數(shù)字證書的結(jié)構(gòu)、描述與編碼前言
計算機和網(wǎng)絡(luò)技術(shù)的發(fā)展將人類帶入信息化社會,隨之而來的是倍受關(guān)注的信息安全問題?,F(xiàn)代密碼學(xué)己成為信息安全技術(shù)的核心,基于數(shù)字簽名的數(shù)字證書是現(xiàn)代密碼學(xué)主要研究的內(nèi)容之一。數(shù)字證書技術(shù)在身份識別和認證、數(shù)據(jù)完整性、抗抵賴等方面具有其他技術(shù)所無法替代的作用,它在軍事、電子商務(wù)和電子政務(wù)等領(lǐng)域有著極廣泛的應(yīng)用。
數(shù)字證書在信息傳輸中起著驗證用戶身份,保證信息傳遞的安全性、合法性和完整性等作用,它在公鑰基礎(chǔ)設(shè)施中是重要的一環(huán)。應(yīng)用第三方軟件對數(shù)字證書解析存在著安全性無法徹底保障,證信息分析不徹底等諸多問題,因此對數(shù)字證書的驗證過程的研究分析,實現(xiàn)數(shù)字證書驗證代碼的完全自主開發(fā),為保證信息傳輸安全,建立有效的公鑰基礎(chǔ)設(shè)施起了重要的作用。
本篇的目的是對數(shù)字證書進行詳盡的分析,包括數(shù)字證書的基本結(jié)構(gòu)、描述方法、編碼以及X.509數(shù)字證書實例等。主要內(nèi)容數(shù)字證書的基本結(jié)構(gòu)數(shù)字證書的描述方法數(shù)字證書的編碼X.509數(shù)字證書結(jié)構(gòu)X.509數(shù)字證書詳細描述X.509數(shù)字證書實例數(shù)字證書的基本結(jié)構(gòu)一張數(shù)字證書由證書內(nèi)容、簽名算法和簽名結(jié)果組成證書內(nèi)容簽名算法簽名結(jié)果證書的基本結(jié)構(gòu)數(shù)字證書的基本結(jié)構(gòu)證書實例:在Internet選項-內(nèi)容數(shù)字證書的基本結(jié)構(gòu)證書內(nèi)容包括:
版本號
證書主體
主體公鑰內(nèi)容
簽發(fā)者
序列號
有效期
擴展項數(shù)字證書的基本結(jié)構(gòu)
版本號
數(shù)字證書有自己的格式,而這個格式可能會不斷改進。為了讓所有應(yīng)用系統(tǒng)正確地識別證書內(nèi)容,需考慮向前和向后兼容。因此,在證書中標明自己的格式版本有利于應(yīng)用程序根據(jù)不同的格式定義來正確閱讀不同的證書。
證書主體1)證書的持有者(訂戶)2)不僅具有證書的使用權(quán),而且具有證書的所有權(quán)3)不僅可以把證書復(fù)制或傳遞給別人,更重要的是,證書主體擁有證書中的身份、公鑰和對應(yīng)的私鑰
主體公鑰內(nèi)容1)PKI是算法無關(guān)的,實際中可以使用多種算法2)公鑰信息中首先需要指明所用的公鑰算法,隨后才是公鑰信息本身
簽發(fā)者證書管理機構(gòu)------CA注:CA是PKI系統(tǒng)中通信雙方都信任的實體,被稱為可信第三方(TrustedThirdParty,簡稱TTP)數(shù)字證書的基本結(jié)構(gòu)
序列號1)證書編號2)如果簽發(fā)者命名能滿足唯一性要求的話,用“簽發(fā)者”和“序列號”就可以唯一的標識任何一張數(shù)字證書
有效期
1)持有數(shù)字證書也就享有了證書簽發(fā)結(jié)構(gòu)通過證書提供的安全服務(wù),其中還包含著責(zé)任和一些法律義務(wù)
2)訂戶享受的服務(wù)是有時效性的,因此,數(shù)字證書應(yīng)具有一個有效期。
3)長期使用同一密鑰是不安全的,而且證書持有者的信息經(jīng)過一段時間可能會改變,所以需要為證書設(shè)置一個包含起、止時間的“有效期”。
4)本質(zhì)上是CA負責(zé)維護證書狀態(tài)的時間范圍,在此時間內(nèi)CA擔(dān)保證書持有者和公鑰綁定關(guān)系的正確性
擴展項
提供為用戶或者公開密鑰和證書管理等級制度相結(jié)合的附加屬性的方法數(shù)字證書的描述方法
證書的描述需要使用精確的語言將內(nèi)容準確的、無二義的表達出來,以便PKI系統(tǒng)中的各個組件都能正確的處理證書,各種應(yīng)用系統(tǒng)也能正確的從證書中獲取公鑰和持有者的信息?;疽?/p>
1)簡明的2)無歧義
自然語言和程序設(shè)計語言無法滿足要求
1)自然語言
a.多種語言
b.同語種中一詞多義和一義多詞
2)程序設(shè)計語言
a.有較嚴格的語法和較清晰的數(shù)據(jù)結(jié)構(gòu)表達方式
b.但由于平臺相關(guān)的編譯器不同,同一數(shù)據(jù)類型在不同系統(tǒng)中的實現(xiàn)就可能有差異。程序語言在內(nèi)容的順序上也沒有嚴格規(guī)定。
ASN.1(AbstractSyntaxNotationone)抽象語法表示法可以滿足要求ASN.1語法紀法標準是一種既簡單,又沒有歧義的內(nèi)容描述語言。數(shù)字證書的描述方法
ASN.1語法記法標準
1)AbstractSyntaxNotationone抽象語法表示法
2)是描述數(shù)據(jù)的表示、編碼、傳輸、解碼的靈活的記法。它提供了一套正式、無歧義和精確的規(guī)則以描述獨立于特定計算機硬件的對象結(jié)構(gòu)。
3)ASN.1是ISO和ITU-T的聯(lián)合標準,最初是1984年的CCITTX.409:1984的一部分。由于其廣泛應(yīng)用,1988年ASN.1移到獨立標準X.208,1995年進行全面修訂后變成X.680系列標準。
4)ASN.1本身只定義了表示信息的抽象句法,但是沒有限定其編碼的方法。ASN.1首先定義一定數(shù)量的“簡單類型”,然后通過構(gòu)造出各種較復(fù)雜的“構(gòu)造類型”
1)簡單類型
2)構(gòu)造類型
3)其它關(guān)鍵字數(shù)字證書的描述方法簡單類型BITSTRING比特串(O和1組成)BOOLEAN布爾型(取TRUE或FALSE)INTEGER整數(shù)NULL空值OBJECTIDENTIFIER對象標識符OCTETSTRING字節(jié)串PrintableString可打印字符串UTCTime“協(xié)調(diào)世界時”(UTC)GeneralizedTime通用時間數(shù)字證書的描述方法構(gòu)造類型SEQUENCE表示1個或多個字段組成的有序序列SEQUENCEOF表示0個或多個特定類型字段的有序序列SET表示1個或多個字段組成的無序集合SETOF表示0個或多個特定類型字段的無序集合其它關(guān)鍵字CHOICEANYOPTIONALDEFAULT數(shù)字證書的編碼
利用ASN.1可以準確地定義證書應(yīng)該包含的內(nèi)容。即ASN.1可以定義證書應(yīng)該包含的內(nèi)容的準確類型。
無二義性的內(nèi)容類型的實際取值
可以說ASN.1解決的是高層設(shè)計者之間的交流問題,編碼方法要解決的是機器間的交流問題。
編碼的作用就是將各種用ASN.1定義的數(shù)據(jù)類型的值對應(yīng)到比特流,以便在不同通信實體之間傳遞,而且使得各通信實體對于所傳遞的信息理解沒有歧義。1)“TLV”方式可以完整表示特定類型的數(shù)據(jù)2)類型type、長度length和值value3)解碼時,首先識別數(shù)據(jù)的類型,即可選定處理的方法;然后得到數(shù)據(jù)的長度,即可進行處理的準備工作;最后就可以正確的得到數(shù)據(jù)本身的值。數(shù)字證書的編碼簡單類型的編碼BOOLEAN布爾型的數(shù)據(jù),只有兩種可能的取值“TRUE”(0xFF)和“FALSE”(0x00)INTEGER整數(shù)類型BITSTRINGOCTETSTRING字符碼串NULL一個特殊的值,表示“無”或“空”O(jiān)BJECTIDENTIFIER對象標識符OIDPrintableString任意長度的ASCII字符串UTCTime協(xié)調(diào)世界時GeneralizedTime類似UTCTime數(shù)字證書的編碼構(gòu)造類型及其他SEQUENCE表示1個或多個字段組成的有序序列SEQUENCEOF表示0個或多個特定類型字段的有序序列SET表示1個或多個字段組成的無序集合SET
OF表示0個或多個特定類型字段的無序集合CHOICEOPTIONALANYDEFAULTX.509數(shù)字證書結(jié)構(gòu)X.509數(shù)字證書結(jié)構(gòu)的基本部分
版本號
標識證書的版本序列號標識證書的唯一整數(shù),由證書頒發(fā)者分配的本證書的唯一標識符。簽名用于簽證書的算法標識,由對象標識符加上相關(guān)的參數(shù)組成,用于說明本證書所用的數(shù)字簽名算法。例如,SHA-1和RSA的對象標識符就用來說明該數(shù)字簽名是利用RSA對SHA-1雜湊加密。頒發(fā)者證書頒發(fā)者的可識別名(DN)。有效期
證書有效期的時間段。本字段由”NotBefore”和”NotAfter”兩項組成,它們分別由UTC時間或一般的時間表示(在RFC2459中有詳細的時間表示規(guī)則)。主體
證書擁有者的可識別名,這個字段必須是非空的,除非你在證書擴展中有別名。主體公鑰信息主體的公鑰(以及算法標識符)。頒發(fā)者唯一標識符
標識符—證書頒發(fā)者的唯一標識符主體唯一標識符
證書擁有者的唯一標識符X.509數(shù)字證書結(jié)構(gòu)X.509數(shù)字證書結(jié)構(gòu)的擴展部分
發(fā)行者密鑰標識符
證書所含密鑰的唯一標識符,用來區(qū)分同一證書擁有者的多對密鑰。密鑰使用
一個比特串,指明(限定)證書的公鑰可以完成的功能或服務(wù),如:證書簽名、數(shù)據(jù)加密等。如果某一證書將KeyUsage擴展標記為“極重要”,而且設(shè)置為“keyCertSign”,則在SSL通信期間該證書出現(xiàn)時將被拒絕,因為該證書擴展表示相關(guān)私鑰應(yīng)只用于簽寫證書,而不應(yīng)該用于SSL。CRL分布點指明CRL的分布地點私鑰的使用期指明證書中與公鑰相聯(lián)系的私鑰的使用期限,它也有NotBefore和NotAfter組成。若此項不存在時,公私鑰的使用期是一樣的證書策略
由對象標識符和限定符組成,這些對象標識符說明證書的頒發(fā)和使用策略有關(guān)策略映射
表明兩個CA域之間的一個或多個策略對象標識符的等價關(guān)系,僅在CA證書里存在主體別名指出證書擁有者的別名,如電子郵件地址、IP地址等,別名是和DN綁定在一起的頒發(fā)者別名
指出證書頒發(fā)者的別名,如電子郵件地址、IP地址等,但頒發(fā)者的DN必須出現(xiàn)在證書的頒發(fā)者字段主體目錄屬性
指出證書擁有者的一系列屬性??梢允褂眠@一項來傳遞訪問控制信息。X.509證書詳細描述Certificate
::=
SEQUENCE
{tbsCertificate
TBSCertificate,signatureAlgorithm
AlgorithmIdentifier,signatureValue
BITSTRING}TBSCertificate
::=
SEQUENCE
{version
[0]
EXPLICITVersionDEFAULTv1,serialNumber
CertificateSerialNumber,signature
AlgorithmIdentifier,issuer
Name,
validity
Validity,
subject
Name,
subjectPublicKeyInfoSubjectPublicKeyInfo,issuerUniqueID
[1]
IMPLICITUniqueIdentifierOPTIONAL,subjectUniqueID[2]
IMPLICITUniqueIdentifierOPTIONAL,extensions
[3]
EXPLICITExtensionsOPTIONAL}Version
::=
INTEGER
{
v1(0),v2(1),v3(2)
}CertificateSerialNumber
::=
INTEGERAlgorithmIdentifier
::=
SEQUENCE
{algorithm
OBJECTIDENTIFIER,parameters
ANYDEFINEDBYalgorithmOPTIONAL
}證書全部內(nèi)容開始,結(jié)構(gòu)化不定長編碼證書主體證書簽名算法標識證書簽名值(注1)證書版本號證書序列號(注2)證書簽名算法標識證書發(fā)行者名稱證書有效期證書主體名稱證書公鑰證書發(fā)行者ID(可選),只在證書版本2、3中才有證書主體ID(可選),只在證書版本2、3中才有證書擴展段(可選),只在證書版本3中才有注1:證書簽名值,是使用signatureAlgorithm部分指定的簽名算法對tbsCertificate證書主題部分簽名后的值注2:證書序列號,對同一CA所頒發(fā)的證書,序列號唯一標識證書X.509證書詳細描述Parameters:Dss-Parms
::=
SEQUENCE
{p
INTEGER,q
INTEGER,g
INTEGER
}SignatureValue:Dss-Sig-Value
::=
SEQUENCE
{
r
INTEGER,
s
INTEGER
}Name::=CHOICE{
RDNSequence}RDNSequence::=SEQUENCEOFRelativeDistinguishedNameRelativeDistinguishedName::=SETOFAttributeTypeAndValueAttributeTypeAndValue::=SEQUENCE{type
AttributeType,value
AttributeValue}AttributeType::=OBJECTIDENTIFIERAttributeValue::=ANYDEFINEDBYAttributeType
parameters,DSA(DSS)算法時的parameters,RSA算法沒有此參數(shù)sha1DSA簽名算法時,簽名值X.509證書詳細描述Validity::=SEQUENCE{
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 職業(yè)培訓(xùn)日服裝租賃合同模板
- 體育館觀眾席玻璃隔斷施工合同
- 飛機跑道石材鋪設(shè)施工合同
- 5G通信伸縮縫安裝施工合同
- 化工項目塔吊信號工勞動合同
- 眼科病房護工聘用合同
- 企業(yè)團建活動租賃汽車合同
- 幼兒園光伏發(fā)電系統(tǒng)電工合同
- 2024年魚池攝影拍攝租賃合同3篇
- 2025年度高速公路監(jiān)控系統(tǒng)弱電設(shè)備安裝合同2篇
- 工程制圖復(fù)習(xí)題(帶答案)
- 風(fēng)管采購安裝合同范例
- GB/T 21099.2-2024企業(yè)系統(tǒng)中的設(shè)備和集成過程控制用功能塊(FB)和電子設(shè)備描述語言(EDDL)第2部分:FB概念規(guī)范
- JJF(陜) 049-2021 變壓器交流阻抗參數(shù)測試儀校準規(guī)范
- 詞語理解-2025年中考語文專項復(fù)習(xí)(遼寧專用)(原卷版)
- 期末模擬練習(xí)(試題)(含答案)-2024-2025學(xué)年三年級上冊數(shù)學(xué)西師大版
- 娛樂場所突發(fā)事件應(yīng)急措施及疏散預(yù)案(三篇)
- 八大危險作業(yè)安全培訓(xùn)考核試卷
- 2024年黑龍江農(nóng)業(yè)工程職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫
- 企業(yè)法律顧問詳細流程
- 《孫子兵法》與執(zhí)政藝術(shù)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
評論
0/150
提交評論