謝宗曉 甄杰
1 公鑰基礎(chǔ)設(shè)施(PKI)的定義與范圍
對消息進行加密傳輸是目前安全傳遞消息的可行途徑之一。發(fā)送者將消息加密后傳輸,就不用擔心被竊聽了。因為竊聽者即使獲取了的也是密文,沒有解密密鑰毫無意義。這就是對稱密碼算法的基本邏輯,但是,在實踐中這存在一個很大的缺陷,密鑰如何安全地傳輸給對方?如果將密鑰用明文傳輸,可能會被竊聽,如果用密文傳輸,那么接收者還是無法解讀。實際情況是,為了解決對稱密碼算法中的密鑰傳輸問題,需要一系列復(fù)雜的步驟,包括建立密鑰分發(fā)中心等。
Whitfield Diffie和Martin Hellman在1976年提出了公鑰密碼算法的設(shè)計思想,發(fā)送者用公鑰加密,接收者用私鑰解密。公鑰一般是公開的,不必擔心竊聽,私鑰又不存在傳輸?shù)膯栴}。這解決了對稱密碼中難以解決的密鑰配送問題。但是,開始并沒有找到合適的算法。1978年,Ron Rivest、Adi Shamir和Leonard Adleman發(fā)明了RSA算法,這使得公鑰密碼算法變得現(xiàn)實可用。當然,在后續(xù)的研究中又發(fā)明了一系列的算法,例如,橢圓加密算法(ECC)和ElGamal等。
但是,在非對稱密碼算法中,接收者依然無法判斷收到的公鑰是否是合法的,因為有可能是中間人假冒的。事實上,僅靠公鑰密碼本身,無法防御中間人攻擊。于是,需要(認證機構(gòu))對公鑰進行簽名,從而確認公鑰沒有被篡改。加了數(shù)字簽名的公鑰稱為證書(公鑰證書,一般簡稱為證書)。有了證書來認證,可以有效地防御中間人攻擊,隨之帶來了一系列非技術(shù)性工作,例如,誰來發(fā)證書?如何發(fā)證書?不同機構(gòu)的證書怎么互認?紙質(zhì)證書作廢容易,數(shù)字證書如何作廢?解決這些問題,需要制定統(tǒng)一的規(guī)則,即公鑰基礎(chǔ)設(shè)施(Public Key Infrastructure,PKI)體系。
PKI是指支持公鑰管理體制的基礎(chǔ)設(shè)施,提供鑒別、加密、完整性和不可否認性服務(wù)1)。通俗地講,PKI是集機構(gòu)、系統(tǒng)(硬件和軟件)、人員、程序、策略和協(xié)議為一體,利用公鑰概念和技術(shù)來實現(xiàn)和提供安全服務(wù)的、具有普適性的安全基礎(chǔ)設(shè)施2)。PKI體系是通過頒發(fā)與管理公鑰證書的方式為終端用戶提供服務(wù)的系統(tǒng),最核心的元素無疑是證書,圍繞證書構(gòu)成了該體系的要素:使用PKI的用戶,頒發(fā)證書的機構(gòu)(Certificate Authority,CA)和保存證書的倉庫。
2 作為基礎(chǔ)的ISO/IEC 9594-8
在整個PKI體系中,ISO/IEC 9594-8為其中的基礎(chǔ)標準,該標準最新版本為ISO/IEC 9594-8: 2017,發(fā)布于2017年5月,該標準與國際電信聯(lián)盟電信標準分局(ITU-T)共同開發(fā),被同步發(fā)布為ITU-T X.509(10/2016)。在業(yè)界,一般沿用ITU-T X.509,而很少用ISO/IEC 9594-8。
ITU-T X.509最早發(fā)布于1988年,從一開始就與ISO 9594-8保持了合作同步開發(fā)。X.509的版本變遷非常復(fù)雜,目前最新版本為V8。ITU-T X.509(10/2016)最重要的貢獻是定義了公鑰證書的數(shù)據(jù)格式,在此基礎(chǔ)上,定義了公鑰證書框架和屬性證書(attribute certificates)框架。其中包括證書撤銷列表(Certificate Revocation Lists,CRLs)和特定權(quán)限管理基礎(chǔ)設(shè)施(Privilege Management Infrastructure,PMI)等PKI要素。
值得指出的是,ISO/IEC 9594為開放系統(tǒng)互連(Open Systems Interconnection,OSI)的系列標準之一,這意味著ISO/IEC 9594-8在互聯(lián)網(wǎng)應(yīng)用中有著重要的意義。事實情況的確如此,為了在Internet應(yīng)用基于X.509的PKI,互聯(lián)網(wǎng)工程任務(wù)組(IETF)在1995年成立了PKIX工作組。
3 PKI相關(guān)的國家標準
ITU-T X.509并沒有特定某個國家標準與之對應(yīng),但是主要內(nèi)容都被分拆至不同的標準中。例如,GB/T 20518—2006專門定義了數(shù)字證書格式,作為配套標準的GB/T 20519—2006《信息安全技術(shù) 公鑰基礎(chǔ)設(shè)施 特定權(quán)限管理中心技術(shù)規(guī)范》(已廢止)和GB/T 16264.8—2005《信息技術(shù) 開放系統(tǒng)互連 目錄 第8部分:公鑰和屬性證書框架》則配合構(gòu)成完整的權(quán)限管理系統(tǒng)標準。整體而言,全國信息安全標準化技術(shù)委員會(SAC/TC 260)發(fā)布的國家標準與上述國際標準基本保持了一致,只是成文的組織形式略有區(qū)別。
數(shù)字證書格式在不同的領(lǐng)域或者不同的國家,應(yīng)用時是否需要與ITU-T X.509保持一致,只是習(xí)慣問題,或者是否看重國際互認。但是,作為PKI體系在各個國家應(yīng)用,一般會重新進行規(guī)范,而且類似CA機構(gòu)建立等問題,本身就是行政管理的范疇。
表1~5根據(jù)SAC/TC 260的標準分類,給出了PKI相關(guān)國家標準的目錄,并進行了簡要的介紹。表1中為即將實施的2個標準,都比較基礎(chǔ),尤其是GB/T 20518—2018,是PKI中最重要的國家標準。
GB/T 25056—2018將代替GB/T 25056—2010。兩個版本的最大變化是對算法要求,以及修改了相關(guān)的密碼協(xié)議。新版本引用了兩個重要的標準,GM/T 0014—2012《數(shù)字證書認證系統(tǒng)密碼協(xié)議規(guī)范》和GM/T 0019—2012《通用密碼服務(wù)接口規(guī)范》。
GB/T 20518—2006主要參考RFC 2459,后來更新為RFC 3280,目前最新的版本為RFC 5280,就時效性而言,也需要更新。GB/T 20518—2018標識的規(guī)范性引用文件為GB/T 16264.8—2005,而該標準等同采用的ISO/IEC 9594-8:2001,也就是說對應(yīng)的是X.509 V4,而RFC 2459對應(yīng)的則是X.509 V3。GB/T 20518的改版主要也是因為對國產(chǎn)算法的支持,例如,在附錄E中增加了對SM2和SM3密碼算法的支持,刪除了MD5和SHA-1的介紹。
根據(jù)SAC/TC 260的分類,PKI相關(guān)標準主要在“驗證與證明”中,表2中給出了該類標準中PKI相關(guān)的國家標準。
GB/T 35285—2017主要解決從技術(shù)上實現(xiàn)可靠的電子簽名以及如何驗證電子簽名的可靠性問題。
GB/T 32213—2015基于非對稱密碼學(xué),構(gòu)造了更安全的口令鑒別協(xié)議。由于口令便于記憶,不需要其他載體,而且基于口令的鑒別協(xié)議簡單高效,因此在相當長的一段時間內(nèi),口令還是作為重要的鑒別技術(shù)存在。
GB/T 31508—2015主要討論了證書策略(Certificate Policy,CP),即數(shù)字證書可以應(yīng)用于什么場景,以及適用于什么樣的安全要求等。只有這樣,證書的依賴方才可以閱讀響應(yīng)的證書策略,從而正確地評估證書的安全程度,例如,某證書僅用于測試,或者僅用于訪問網(wǎng)絡(luò),或者僅用于金融交易并且有10萬元擔保。
GB/T 29767—2013將橋CA證書策略劃分為4個應(yīng)用級和1個測試級,并參考RFC 3647對各個級別的證書策略做了明確說明。
GB/T 26855—2011也主要參考RFC 3647規(guī)定了證書策略和認證業(yè)務(wù)聲明(Certificate Practice Statement,CPS)應(yīng)該共同遵守的文檔標題框架。
GB/T 25061—2010主要參考RFC 3275,規(guī)定了創(chuàng)建和表示XML數(shù)字簽名的語法和處理規(guī)則。
GB/T 25064—2010定義了電子簽名與主要參與方,電子簽名的類型、驗證和仲裁要求,并且規(guī)范了電子簽名的數(shù)據(jù)格式,包括基本數(shù)據(jù)格式、驗證數(shù)據(jù)格式和簽名策略數(shù)據(jù)格式。
GB/T 25065—2010規(guī)定了產(chǎn)生可靠電子簽名的簽名生成應(yīng)用程序(Signature Creation Application,SCA)的要求。
GB/T 21054—2007按照GB 17859—1999《計算機信息系統(tǒng) 安全保護等級劃分準則》中5個安全等級的劃分,對PKI系統(tǒng)安全保護進行了等級劃分。
GB/T 21053—2007根據(jù)GB/T 21054—2007的等級劃分,規(guī)定了不同PKI等級的安全要求。
GB/T 20520—2006主要對時間戳協(xié)議的請求響應(yīng)消息格式作出了規(guī)定,并在此基礎(chǔ)上增加了對時間戳的產(chǎn)生和辦法方式、時間戳系統(tǒng)組成、時間戳管理、時間戳系統(tǒng)安全的要求。
GB/T 19713—2005主要參考RFC 2560,規(guī)定了一種無須請求證書撤銷列表(CRL)即可查詢數(shù)字證書狀態(tài)的機制(即在線證書狀態(tài)協(xié)議-OCSP)。
GB/T 19714—2005主要依據(jù)RFC 2510,描述了PKI中的證書管理協(xié)議,定義了與證書產(chǎn)生和管理相關(guān)的各方面所需要的協(xié)議消息,這些消息主要包括申請證書、撤銷證書、密鑰更新、密鑰恢復(fù)和交叉認證等。
表3中為現(xiàn)行的PKI國家標準中被分類至集成應(yīng)用與身份管理的集成應(yīng)用2項標準。
GB/T 29241—2012從PKI系統(tǒng)和PKI應(yīng)用的5個互操作能力等級,完成了分等級的PKI互操作性評估準則,為PKI系統(tǒng)和PKI應(yīng)用提供了互操作能力等級評估的依據(jù)。GB/T 19771—2005主要討論了公鑰證書的產(chǎn)生、更新和撤銷,簽名的產(chǎn)生和驗證,以及證書和證書認證路徑檢驗等內(nèi)容。
表4是現(xiàn)行國家標準中分類為集成應(yīng)用及身份管理的身份管理2項標準。
GB/T 35288-2017規(guī)定了電子認證服務(wù)機構(gòu)的崗位劃分及從業(yè)人員崗位技能要求。GB/T 35289-2017規(guī)定了電子認證服務(wù)機構(gòu)業(yè)務(wù)服務(wù)質(zhì)量要求、保障服務(wù)質(zhì)量要求及服務(wù)質(zhì)量分級,明確了電子認證服務(wù)機構(gòu)服務(wù)質(zhì)量的具體指標要求。
表5是已經(jīng)廢止的標準,僅供參考,不再詳細介紹。
4 小結(jié)
綜上所述,PKI可以認為是一系列的規(guī)范和標準,在此基礎(chǔ)上發(fā)展出的為了實現(xiàn)安全基礎(chǔ)服務(wù)目的的技術(shù)都可以稱為PKI。從這個角度講,需要強調(diào)兩點:第一,標準化是PKI的內(nèi)在要求,或者說,PKI本身就是一類標準的總稱;第二,PKI是廣義詞匯,原則上說,任何以公鑰密碼技術(shù)為基礎(chǔ)的安全基礎(chǔ)設(shè)施都是PKI?;诖耍疚氖紫冉榻B了PKI基礎(chǔ)標準X.509(ISO/IEC 9594-8),然后介紹了目前的PKI相關(guān)國家標準,其中包括現(xiàn)行標準19項,即將實施標準2項,已經(jīng)廢止的標準7項。