公鑰基礎設施 (PKI) 國際標準進展
作者:中國金融認證中心資訊保安服務部 謝宗曉
河南警察學院資訊保安系副教授 劉琦
結合ISO/TC68/SC2/WG8的工作進展情況,本文重點介紹以ISO 21188:2018為代表的PKI金融行業應用規範。 主要關注以下方面: 第一,ISO 21188標準與ISO/IEC27002等通用標準之間的關聯,以及其中的引用關係。第二,在國家標準採用過程中,與SAC/TC260釋出的相關標準之間的詞彙翻譯異同。第三,ISO/TC68/SC2/WG8的下一步工作重點,包括量子安全技術、輕量級密碼和區塊鏈等相關標準的進展。
PKI的定義與範圍
PKI是指支援公鑰管理體制的基礎設施,提供鑑別、加密、完整性和不可否認性服務。通俗講,PKI是集機構、系統(硬體和軟體)、人員、程式、策略和協議為一體,利用公鑰概念和技術來實現和提供安全服務的、普適性的安全基礎設施。
在公鑰密碼中,傳送者用公鑰(加密金鑰)加密,接收者用私鑰(解密金鑰)解密。公鑰一般是公開的,不再擔心竊聽,這解決了對稱密碼中的金鑰配送問題。但是接收者依然無法判斷收到的公鑰是否合法(有可能是中間人假冒的)。事實上,僅靠公鑰密碼本身,無法防禦中間人攻擊。於是,需要(認證機構)對公鑰進行簽名,從而確認公鑰沒有被篡改。加了數字簽名的公鑰稱為公鑰證書,一般簡稱證書。
有了證書來認證,可以有效防禦中間人攻擊,隨之帶來了一系列非技術性工作。例如,誰來發證書?如何發證書?不同機構的證書怎麼互認?紙質證書作廢容易,數字證書如何作廢?解決這些問題,需要制定統一的規則,即PKI體系。
PKI體系是通過頒發、管理公鑰證書的方式為終端使用者提供服務的系統,最核心的元素是證書。圍繞證書構成了該體系的要素:使用PKI的使用者、頒發證書的機構(Certificate Authority,CA)和儲存證書的倉庫。因此,在本文討的PKI相關標準中,PKI是一個總稱,既包括定義PKI的基礎標準,也包括PKI的應用標準。
定義及應用PKI的國際標準
綜上所述,PKI可以認為是一系列的規範和標準,為了實現安全基礎服務目的的技術都可稱為PKI。從這個角度講, 需要強調兩點: 第一, 標準化是PKI的內在要求,或者說PKI本身就是一類標準的總稱。 第二, PKI是廣義詞彙,任何以公鑰密碼技術為基礎的安全基礎設施都是PKI。
1.基礎標準:ITU-TX.509(10/2016),是PKI體系中最為基礎的標準之一。2017年5月被髮布為ISO/IEC 9594-8:2017 8th Edition。本文沿用ITU-T的文號標識,因該標識在業界更為深入人心。ITU-TX.509最早釋出於1988年,釋出伊始即與ISO 9594-8保持合作同步開發。X.509的版本變遷非常複雜,目前最新版本為V8。
ITU-TX.509(10/2016)的重要貢獻是定義了公鑰證書的資料格式。在此基礎上,定義了公鑰證書框架和屬性證書(attribute certificates)框架。其中包括證書撤銷列表(Certificate RevocationLists,CRLs)和特定許可權管理基礎設施(Privilege Management Infrastructure,PMI)等。
值得指出的是,ISO/IEC 9594為開放系統互連(Open Systems Interconnection,OSI)的系列標準之一,這意味著ISO/IEC 9594-8在網際網路應用中有著重要意義。實施情況的確如此,更多的下位標準被陸續開發,PKIX組成立。
2.下位標準:PKIX開發的系列標準。為了在In-ternet應用基於X.509的PKI,網際網路工程任務組(TheInternet Engineering Task Force,IETF)在1995年成立了PKIX工作組。 PKIX所開發的標準是典型的領域應用,為其他領域應用提供了良好的模板。
此外,IETF一般以RFC的形式釋出文件,這並非正式標準,卻是事實標準。這種情形比較常見,例如OSI七層模型是國際標準化組織計算機與資訊處理技術委員會(ISO/TC97)開發的國際標準,但並未能實際應用,事實標準是TCP/IP四層模型。
PKIX釋出的RFC文件架構及設計,對於其他標準的開發具有較大借鑑意義。表1列出了幾個重要的PKIX標準,可以從中體會其與X.509的關係。
表1 幾個重要的PKIX標準
3.上位標準:ITU-TX.500及相關。ITU-TX.500~X.599系列標準的概要定義與輕量目錄訪問協議(Lightweight Directory Access Protocol,LDAP/">LDAP)基本保持一致。之所以將ITU-TX.500列為ITU-TX.509的上位標準,正是由於ITU-TX.509也遵從該框架。ITU-TX.509的附錄A基於抽象語法標記(Abstract Syntax Notation One,ASN.1),但這與該標準描述的主要議題關係不大,只是表述方式的選擇。
4.相關標準:PKCS系列標準。公鑰密碼演算法標準(Public-Key Cryptography Standards,PKCS)是由RSA實驗室與其他安全系統開發商制訂的一系列非正式標準。RSA演算法是公鑰密碼的事實標準,因此PKCS也幾乎成為了事實上的標準族。
PKCS目前釋出了15個標準,包括了公鑰密碼的各個方面。例如RSA演算法定義在PKCS#1《RSA加密標準》、PKCS#3《Diffie-Hellman金鑰交換標準》。這些標準經常被採納為RFC文件或者國際/國家標準,例如PKCS#1被採納為RFC8017。
金融行業PKI應用的國際標準
1.已釋出的PKI相關標準。 與PKIX開發的系列標準類似,PKI在金融領域的應用可以認為是X.509的下位標準。 國際標準化組織金融服務技術委員會(ISO/TC68/SC2),目前釋出資訊保安標準17項,在研標準4項,其中關於PKI應用的為ISO21188:2018金融服務公鑰基礎設施時間與策略框架(Public key infrastructure for finan-cialservices—Practices and policy framework)。該標準由金融公鑰基礎設施工作組(ISO/TC68/SC2/WG8)負責ISO 21188:2018標準的制修訂工作。
ISO 21188:2018用一個單獨的標準描述了PKI應用場景的管理要求。首先,ISO 21188:2018定了金融機構利用PKI服務客戶時可能面臨的三種環境:封閉環境、契約環境和開放環境。進而根據這三種環境討論了不同的業務要求,在業務要求的基礎上提出了認證策略。
上述國際標準中,ISO 15782-1:2009被等同採用為GB/T27928.1-2011。ISO 21188:2006被等同採用為GB/T 27913-2011,這其中有值得補充兩點。 第一,規程,在ISO 21188:2018用的英文詞彙是“procedure”。 在GB/T 27913-2011/ISO 21188:2006中該詞彙被譯為“程式”。在ISO/IEC 27002:2013引言中,有一句:“Infor-mation security is achieved by implementing a suitable set of controls,including policies,processes,procedures,organizational structures and software and hardware functions.”如果將上述詞彙翻譯為:“過程”和“程式”,則不易區分。因此,在GB/T 22081-2016/ISO/IEC 27002:2013中,將該句翻譯為:“資訊保安可通過實現一組合適的控制來達到,包括策略、過程、規程、組織結構和軟硬體功能。”基於此,在資訊保安情境中,一般認為規程是檔案化的程式,程式是一系列的步驟,過程則一般要求有輸入輸出。
第二,資產分類,是GB/T 27913-2011/ISO 21188:2006的翻譯。在ISO 21188:2006用的英文詞彙是“asset classification”,這裡classification實際上分級的概念。首先,class含有“等級”的含義,而classi-fy以及classification的這種分類本身就包含了等級的含義。因此,ISO/IEC 27002:20138.2 Information classifica-tion,在GB/T 22081-2016/ISO/IEC 27002:2013中翻譯為“資訊分級”,雖然在之前的GB/T 22081-2008/ISO/IEC 27002:2005也翻譯成“資訊分類”。此外,不需要過度關注ISO 21188:2018和ISO/IEC 27002:2013中“資產”和“資訊”詞彙的區別,因為ISO/IEC 27002:2013中“8.2資訊分類”的上級標題為:“8資產管理”。或者說,在資訊保安中,“資訊”是作為最重要的“資產”而出現的。
同時,資訊保安分技術委員會安全控制與服務工作組(ISO/IECJTC1/SC27/WG4)參與了ISO 21188:2018的制訂工作,因此其中描述與ISO/IEC 27002:2013等標準在某種程度上存在相似之處。後續,ISO/IECJTC1/SC27/WG4計劃以ISO 21188:2018為基礎,制定PKI的通用標準。
此外,形如ISO 21188:2018這樣的PKI行業應用標準,在其他領域也大量存在。例如,ISO 17090系列共5部分,該標準是國際標準化組織健康資訊學標準化技術委員會(ISO/TC215)釋出的PKI在衛生保健領域的應用指南。
2.正在研發的標準。美國專注於量子安全的ISARA公司與Certified Security Solutions(CSS)釋出了第一項量子安全PKI解決方案,該項標準由ISO/TC68SC2 WG8和ITU-T SG17聯合制訂,並計劃以此作為ISO 21188的擴充套件內容,暫時計劃在2019年第一季度啟動此工作。
在區塊鏈和分散式賬本技術方面,在支付場景中,PKI可以用於DLT,也可用於標識塊。目前,ISO/TC68/SC2/WG8與國際標準化組織區塊鏈和分散式記賬技術技術委員會(ISO/TC307)已經建立聯絡關係,預計在2018年第四季度釋出標準草案。
輕量級密碼目前主要在如物聯網、自動駕駛和分散式控制系統等對安全要求較高但又受資源限制的應用場景,該類標準主要由ISO/TC68/SC2/WG8和銀行業務中的加密演算法工作組(ISO/TC68/SC2/WG11)進行研究,關注點為輕量級密碼在金融機構的解決方案,預計在2019年第二季度啟動此工作。
PKI相關的國家/行業標準
數字證書格式在不同的領域或者不同的國家,應用時是否需要與ITU-TX.509保持一致,只是習慣問題,或者是否看重國際互認。例如,形如ISO 21188這樣關注行業應用的推薦性標準就不再重新定義證書格式。但是,作為PKI體系在各國的應用,一般會重新進行規範,而且類似CA機構建立等問題,本身就是行政管理的範疇。當然,證書格式一般都是“等同/修改”採用。
ITU-TX.509沒有特定某個國家標準與之對應,但是主要內容都被分拆至不同標準中。例如GB/T 20518-2006專門定義了數字證書格式,作為配套標準的GB/T 20519-2006和GB/T 16264.8-2005則配合構成完整的許可權管理系統標準。整體而言,全國資訊保安標準化技術委員會(SAC/TC260)釋出的國家標準與上述國際標準基本保持一致,只是成文形式略有區別。
值得指出的是,國內開始陸續用國產密碼演算法代替國際密碼演算法,例如GM/T0015-2012《基於SM2密碼演算法的數字證書格式規範》。如前文所述,證書格式依然是基於ITU-TX.509,只是由於演算法不同,數字證書的編碼有所不同。
小結
綜上所述,PKI已成為以X.509為核心的一系列標準和規範的統稱。因此,本文將ITU-TX.509作為基礎標準,由此討論了其上位標準如ITU-TX.500,下位標準如PKIX開發的系列標準,以及相關標準如PKCS系列標準。PKI體系離不開公鑰密碼演算法,常用的公鑰密碼演算法,如RSA、橢圓曲線密碼和SM2等都在相關標準中進行定義。
PKI證書認證體系只是提供了其中一種身份認證技術,也就是說,PKI是在公鑰密碼演算法基礎上人為建構的一套系統。當然也存在其他的身份認證途徑,例如基於標識的密碼技術(Identity-Based Cryptograph,IBC)的認證體系,IBC也是基於公鑰密碼的體系,只是演算法不同。不同的體系各有利弊,IBC繞開了CA,解決了CA不可信的問題,但是引入了私鑰生成中心(Private Key Generator,PKG),要求可信度更高。 簡單來說,同樣是基於公鑰密碼演算法,PKI是對公鑰加了簽名作為認證,IBC是將使用者身份標識直接作為公鑰。
本文節選自《金融電子化》2018年10月刊
宣告:本文來自金融電子化,版權歸作者所有。文章內容僅代表作者獨立觀點,不代表安全內參立場,轉載目的在於傳遞更多資訊。如需轉載,請聯絡原作者獲取授權。