PKI體系
公鑰基礎設施(PKI)是基於公鑰密碼技術實施的具有普適性的基礎設施。主要解決公鑰屬於誰的問題。可用於提供信息的保密性、信息來源的真實性、數據的完整性和行為的不可否認性等。
PKI系統組件
證書認證機構(CA)
具有自己的公私鑰對,負責為其他人簽發證書,用自己的密鑰來證實用戶的公鑰信息。一個PKI系統可能包含多級CA,包括根CA和各級子CA
證書持有者(Certificate Holder)
證書持有者擁有自己的證書和與證書中公鑰匹配的私鑰。證書持有者的身份信息和對應的公鑰會出現在證書中,也稱為用戶。
依賴方(Relying Party)
一般將PKI應用過程中使用其他人的證書來實現安全功能的通信實體稱為依賴方。
證書注冊機構(Registation Authority,RA)
CA與申請者的交互接口,專門負責各種信息的檢查和管理工作。只有在對申請者的各種檢查通過之后,RA才會將信息發送給CA,要求CA簽發證書
資料庫(Repository)
用於實現證書分發,負責存儲所有的證書。
證書撤銷列表(CRL)
包含了當前所有被撤銷證書的標識,驗證者根據最新的CRL判斷證書是否被撤銷
在線證書狀態協議(OCSP)
一種實時檢查證書撤銷狀態的協議標准
輕量目錄訪問協議(LDAP)
一種開放的應用協議,提供訪問控制和維護分布式信息的目錄信息,CA把新簽發的證書與證書撤銷鏈送到LDAP目錄服務器,供用戶查詢下載。
密鑰管理系統(KM)
為PKI系統中其他實體提供專門的密鑰服務,包括生成、備份、恢復、托管等多種功能。
數字證書結構
數字證書也稱公鑰證書,在證書中包含公鑰持有者的信息、公開密鑰、有效期、擴展信息以及由CA對這些信息進行的數字簽名。PKI通過數字證書解決了公鑰屬於誰的問題。咋PKI中,CA也具有自己的公私鑰對,對每一個“公鑰證明的數據結構”進行數字簽名,實現了公鑰獲得的數據起源鑒別、數據完整性和不可否認性。
tbsCertificate(基本證書域)
包含了主體名稱和頒發者名稱,主體的公鑰、證書的有效期及其他相關信息。
SignatureAlgorithm(簽名算法域)
包含了證書簽發機構簽發該證書所使用密碼算法的標識符。必須和tbsCertificate中的Signature標識的簽名算法項相同。
SignatureValue(簽名值域)
包含了對tbsCertificate域進行數字簽名的結果。
數字證書生命周期
證書的生命周期從證書的起始時間開始進入有效狀態,在有效狀態下的證書可以進行各種操作,生命周期的結束是當前時間進入了數字證書的失效日期或是數字證書被撤銷,表明數字證書進入無效階段。
數字證書的各種操作可歸納為5個方面:證書的產生、證書的使用、證書的撤銷、證書的更新、證書的歸檔。
證書的產生
證書的產生主要包括密鑰生成、提交申請、審核檢查和證書簽發。
密鑰生成
證書申請者在本地生成一個公私鑰對,此公鑰應包含在申請材料中。
提交申請
證書的申請者向CA或者RA提交申請材料。CA一般會提供在線或者離線的提交方式以供選擇。
審核檢查
CA應對相應的材料進行審核,判斷資料來源和申請者身份的真實性,以及可簽發的數字證書種類。
證書簽發
證書簽發可進一步細分為證書的簽署和發布。證書的簽署是指CA首先按照數字證書的標准格式組合出證書所需的各項數據內容,然后用自己的私鑰對這些數據內容的雜湊值進行簽名,最后在數據上附上簽名結果。這些反映公鑰和身份的內容及CA的簽名結果組合在一起就構成了證書。CA簽署證書后就應該吧證書公開發布,供各依賴方使用。
證書的使用
證書的使用操作包括證書獲取、驗證使用和證書存儲
證書獲取
- 根CA自簽名證書:由於無法通過PKI系統的技術手段進行驗證,所以只能采用外方式獲取。
- 用戶證書:可以從CA的數字證書資料庫獲取證書,也可以是證書的持有者通過其它途徑發送給依賴方。
驗證使用
數字證書存在目的是能被用來驗證該公鑰確實屬於證書持有者。單個數字證書的基本內容包括證書中數字簽名的有效性、證書的有效期和證書的撤銷狀態。
證書存儲
用戶將證書存儲在本地以便日后使用。主要的使用形式就是直接發送給其他實體,供其鑒別自己的身份。除了數字證書在本地進行存儲之外,用戶的私鑰也將存儲在本地,以便進行后繼簽名或者解密等。
證書的撤銷
數字證書的“生命”不一定會持續到失效日期。當用戶個人身份信息發生變化或用戶私鑰丟失、泄露或者疑似泄露時,證書用戶應及時向CA提出證書撤銷請求,CA也應及時把此證書放入公開發布的CRL或更新OCSP服務內容。證書撤銷也表示證書生命的終結。
證書的更新
證書的更新必然需要CA簽發一份新的證書,但是此時的審核簽發過程與用戶第一次申請不同。更新后的證書與原證書內容基本一樣,不同的在於序列號、生效和失效日期。
證書的歸檔
PKI系統必須支持對曾有數據的歸檔處理,以能在需要的時候為PKI系統依賴方找到所需要的舊的數字證書和CRL為原則。證書的歸檔沒有固定格式。
雙證書體系
公鑰密碼的密鑰既可以用於加密應用,又可以用於簽名應用。為了區分簽名證書和加密證書就誕生了雙證書體系。在我國雙證書體系中,用戶同時具有兩個私鑰,分別稱為簽名私鑰和加密私鑰。簽名私鑰由用戶在本地生成並專有掌握,對應的證書稱為“簽名證書”;加密私鑰用於解密和密鑰交換,由專門的可信機構生成並和用戶共同掌握,對應的證書被稱為加密證書。