PKI
PKI (Public Key Infrastructure )公開密鑰基礎設施,是利用公開密鑰技術所構建的,解決網(wǎng)絡安全問題的,普遍適用的一種基礎設施; 是一種遵循既定標準的密鑰管理平臺,它能夠為所有網(wǎng)絡應用提供加密和數(shù)字簽名等密碼服務及所必需的密鑰和證書管理體系。
PKI既不是一個協(xié)議,也不是一個軟件,它是一個標準,在這個標準之下發(fā)展出的為了實現(xiàn)安全基礎服務目的的技術統(tǒng)稱為PKI。PKI通過傳播數(shù)字證書來保證安全,于是認證中心CA就變成了PKI的核心。
CA
認證中心CA(Certificate Authority) 是一個負責發(fā)放和管理數(shù)字證書的第三方權威機構,它負責管理PKI結構下的所有用戶(包括各種應用程序)的證書,把用戶的公鑰和用戶的其他信息捆綁在一起,在網(wǎng)上驗證用戶的身份。CA機構的數(shù)字簽名使得攻擊者不能偽造和篡改證書。
認證中心主要有以下5個功能:
證書的頒發(fā):接收、驗證用戶(包括下級認證中心和最終用戶)的數(shù)字證書的申請。可以受理或拒絕
證書的更新:認證中心可以定期更新所有用戶的證書,或者根據(jù)用戶的請求來更新用戶的證書
證書的查詢:查詢當前用戶證書申請?zhí)幚磉^程;查詢用戶證書的頒發(fā)信息,這類查詢由目錄服務器ldap來完成
證書的作廢:由于用戶私鑰泄密等原因,需要向認證中心提出證書作廢的請求;證書已經(jīng)過了有效期,認證中心自動將該證書作廢。認證中心通過維護證書作廢列表 (Certificate Revocation List,CRL) 來完成上述功能。
證書的歸檔:證書具有一定的有效期,證書過了有效期之后就將作廢,但是我們不能將作廢的證書簡單地丟棄,因為有時我們可能需要驗證以前的某個交易過程中產(chǎn)生的數(shù)字簽名,這時我們就需要查詢作廢的證書。
PKI標準
PKI的標準規(guī)定了PKI的設計、實施和運營,規(guī)定了PKI各種角色的”游戲規(guī)則”,提供數(shù)據(jù)語法和語義的共同約定。PKI體系中有很多SSL證書格式標準。
其中最為人熟知的有x.509和PKCS#12(pfx, p12為證書后綴)
基于PKI標準的SSL公鑰格式
1. 證書版本號(Version)
版本號指明X.509證書的格式版本,現(xiàn)在的值可以為: 0:v1, 1:v2, 2:v3
2. 證書序列號(Serial Number)
序列號指定由CA分配給證書的唯一的"數(shù)字型標識符"。當證書被取消時,實際上是將此證書的序列號放入由CA簽發(fā)的證書廢除列表CRL(Certificate revocation lists 證書黑名單)中,
3. 簽名算法標識符(Signature Algorithm)
簽名算法標識用來指定由CA簽發(fā)證書時所使用的"簽名算法"。算法標識符用來指定CA簽發(fā)證書時所使用的公開密鑰算法或hash算法
4. 簽發(fā)機構名(Issuer)
此域用來標識簽發(fā)證書的CA的X.500DN(DN-Distinguished Name)名字。包括:
1) 國家(C) 2) 省市(ST) 3) 地區(qū)(L) 4) 組織機構(O) 5) 單位部門(OU) 6) 通用名(CN) 7) 郵箱地址
5. 有效期(Validity)
指定證書的有效期,包括:
1) 證書開始生效的日期時間 2) 證書失效的日期和時間
每次使用證書時,需要檢查證書是否在有效期內(nèi)。
6. 證書用戶名(Subject)
指定證書持有者的X.500唯一名字。包括:
同簽發(fā)機構名(Issuer)中的條目
7. 證書持有者公開密鑰信息(Subject Public KeyInfo)
證書持有者公開密鑰信息域包含兩個重要信息:
1) 證書持有者的公開密鑰的值 2) 公開密鑰使用的算法標識符。此標識符包含公開密鑰算法和hash算法。
8. 擴展項(extension)
X.509V3證書是在v2的基礎上一標準形式或普通形式增加了擴展項,以使證書能夠附帶額外信息。
9. 簽發(fā)者唯一標識符(Issuer Unique Identifier)
簽發(fā)者唯一標識符在第2版加入證書定義中。此域用在當同一個X.500名字用于多個認證機構時,用一比特字符串來唯一標識簽發(fā)者的X.500名字。可選。
10. 證書持有者唯一標識符(Subject Unique Identifier)
持有證書者唯一標識符在第2版的標準中加入X.509證書定義。此域用在當同一個X.500名字用于多個證書持有者時,用一比特字符串來唯一標識證書持有者的X.500名字。可選。
11. 簽名算法(Signature Algorithm)
證書簽發(fā)機構對證書上述內(nèi)容的簽名算法
12. 簽名值(Issuer's Signature)
證書簽發(fā)機構對證書上述內(nèi)容的簽名值
證書案例
