李亞榮,楊艷梅,白 健,楊文兵,邱 鋒
(1.中國(guó)電子科技網(wǎng)絡(luò)信息安全有限公司,四川 成都 610041;2.陸軍裝備部駐成都地區(qū)第三軍事代表室,四川 成都 610041)
區(qū)塊鏈技術(shù)自2008 年誕生到現(xiàn)在,越來越多的企業(yè)機(jī)構(gòu)躋身于該研究領(lǐng)域,其基礎(chǔ)技術(shù)框架已基本完善。區(qū)塊鏈系統(tǒng)根據(jù)身份管理機(jī)制的不同,可大致分為兩類:一種是以比特幣為代表的公有鏈系統(tǒng),采用私鑰錢包機(jī)制,其身份由隨機(jī)生成的公私鑰進(jìn)行標(biāo)識(shí),可根據(jù)具體需要生成多個(gè)交易地址。在這種區(qū)塊鏈系統(tǒng)中,任何節(jié)點(diǎn)及用戶均可隨意接入和退出,區(qū)塊鏈網(wǎng)絡(luò)中的數(shù)據(jù)公開透明,任何節(jié)點(diǎn)和用戶均可隨意訪問并獲取全量數(shù)據(jù),安全不托底且交易難以監(jiān)管。另一種是以Fabric 為代表的聯(lián)盟鏈系統(tǒng),具有身份接入許可機(jī)制[1],采用數(shù)字證書標(biāo)識(shí)身份,鏈上各參與方之間是一種協(xié)作關(guān)系,網(wǎng)絡(luò)僅對(duì)授權(quán)的合法節(jié)點(diǎn)和用戶開放。
目前,國(guó)內(nèi)關(guān)注及發(fā)展的重點(diǎn)主要聚焦于聯(lián)盟鏈,旨在通過多方協(xié)同共建數(shù)字經(jīng)濟(jì)的安全可信基礎(chǔ)設(shè)施。證書管理機(jī)制作為聯(lián)盟鏈系統(tǒng)的關(guān)鍵安全保障,對(duì)聯(lián)盟鏈技術(shù)及應(yīng)用發(fā)展具有非常重要的研究意義。然而,現(xiàn)在業(yè)內(nèi)關(guān)于聯(lián)盟鏈證書管理技術(shù)的研究,尚不足以支撐大規(guī)模的應(yīng)用落地,具體表現(xiàn)在以下3 個(gè)方面。
(1)聯(lián)盟鏈證書管理技術(shù)發(fā)展不成體系。聯(lián)盟鏈發(fā)展至今,被普遍認(rèn)為是下一個(gè)重構(gòu)信任社會(huì)的重要風(fēng)口,眾多企業(yè)機(jī)構(gòu)紛紛躋身區(qū)塊鏈領(lǐng)域,搶奪行業(yè)紅利,技術(shù)亂象嚴(yán)重,缺乏統(tǒng)一的安全管理規(guī)范。各家企業(yè)研究重點(diǎn)范疇基本集中在基礎(chǔ)平臺(tái)及應(yīng)用,尚未有完整的、成體系的聯(lián)盟鏈證書管理技術(shù)機(jī)制或相關(guān)產(chǎn)品出現(xiàn),僅有的一些也只是傳統(tǒng)密碼管理技術(shù)的簡(jiǎn)單組合應(yīng)用。區(qū)塊鏈作為一種新型技術(shù)體系,其本質(zhì)架構(gòu)和傳統(tǒng)系統(tǒng)存在較大差異,管理理念和模式也存在很大的不同,需要設(shè)計(jì)專門的、更具針對(duì)性的證書管理技術(shù)機(jī)制,保障聯(lián)盟鏈平臺(tái)安全、可靠運(yùn)行。
(2)聯(lián)盟鏈管理與傳統(tǒng)樹形管理機(jī)制存在較大差異。聯(lián)盟鏈系統(tǒng)與傳統(tǒng)中心式系統(tǒng)在管理機(jī)制方面存在較大差異,傳統(tǒng)中心式系統(tǒng)多采用樹形管理結(jié)構(gòu),證書管理節(jié)點(diǎn)多級(jí)部署,縱向形成上下級(jí)之間的通報(bào)關(guān)系,而聯(lián)盟鏈管理核心是分布式、多中心,模式為分布式自管理、跨主體信任協(xié)同。需將傳統(tǒng)中心式系統(tǒng)樹形管理和聯(lián)盟鏈分布式管理機(jī)制進(jìn)行融合,設(shè)計(jì)可兼容傳統(tǒng)管理機(jī)制的聯(lián)盟鏈分布式證書管理體系。
(3)聯(lián)盟鏈證書管理缺乏組件化支持。聯(lián)盟鏈應(yīng)用需求繁雜且各不相同,針對(duì)不同場(chǎng)景需求要配置不同的密碼算法和管理參數(shù),同時(shí),也需要根據(jù)應(yīng)用實(shí)際需求實(shí)現(xiàn)密碼算法的快速升級(jí)更新。然而,目前尚未有成熟的、組件化的聯(lián)盟鏈證書管理相關(guān)產(chǎn)品,需要進(jìn)一步研究組件化聯(lián)盟鏈證書管理技術(shù)組件,以增強(qiáng)聯(lián)盟鏈系統(tǒng)的實(shí)用性和可擴(kuò)展性。
本文針對(duì)以上問題,研究提出符合聯(lián)盟鏈分布式管理特點(diǎn)、兼容傳統(tǒng)中心式證書管理機(jī)制,且支持組件化設(shè)計(jì)的聯(lián)盟鏈管理解決方案,有助于構(gòu)建分布式可靠信任源,實(shí)現(xiàn)跨域用戶的身份、屬性全局同步和互認(rèn),為聯(lián)盟鏈系統(tǒng)及其應(yīng)用提供重要的安全保障。
區(qū)塊鏈作為一種以密碼技術(shù)為核心,集成了數(shù)學(xué)、計(jì)算機(jī)科學(xué)、經(jīng)濟(jì)學(xué)的組合式創(chuàng)新技術(shù),其本質(zhì)架構(gòu)和傳統(tǒng)系統(tǒng)存在較大差異,密碼管理理念和模式也存在很大的不同。目前尚沒有統(tǒng)一的安全管理規(guī)范,業(yè)內(nèi)研究方向現(xiàn)多聚焦于基礎(chǔ)平臺(tái)建設(shè)及應(yīng)用開發(fā),還沒有完整的、成體系的區(qū)塊鏈平臺(tái)密碼管理技術(shù)機(jī)制或相關(guān)產(chǎn)品出現(xiàn),僅有的一些也只是傳統(tǒng)密碼管理技術(shù)的簡(jiǎn)單組合應(yīng)用。而傳統(tǒng)樹形管理機(jī)制與區(qū)塊鏈管理機(jī)制在管理模式上存在較大差異,傳統(tǒng)樹形管理機(jī)制的核心是“縱向管控、橫向協(xié)同”,區(qū)塊鏈管理機(jī)制的核心是“扁平化自管理、分布式可信協(xié)同”??梢砸劳鞋F(xiàn)有樹形“縱向管控、橫向協(xié)同”的管理機(jī)制,以區(qū)塊鏈“扁平化自管理、分布式可信協(xié)同”為原則,研究“核心把控、管理下放”的區(qū)塊鏈證書管理技術(shù),構(gòu)建符合國(guó)家證書管理標(biāo)準(zhǔn)、兼容傳統(tǒng)管理機(jī)制的區(qū)塊鏈證書管理機(jī)制。
Hyperledger Fabric 和FISCO BCOS 是當(dāng)前較有代表性的兩類開源聯(lián)盟鏈系統(tǒng),其證書管理機(jī)制存在很多問題,具體表現(xiàn)在以下兩點(diǎn):
(1)以Hyperledger Fabric 為代表的聯(lián)盟鏈系統(tǒng),采用成員身份服務(wù)(Membership Service Provider,MSP),管理區(qū)塊鏈節(jié)點(diǎn)和用戶[2],以保障區(qū)塊鏈交易的隱私性和可審計(jì)性,但無法實(shí)現(xiàn)多組織節(jié)點(diǎn)證書撤銷狀態(tài)的同步管理。
(2)以FISCO BCOS 為代表的聯(lián)盟鏈系統(tǒng),采用鏈證書、組織證書、節(jié)點(diǎn)證書三級(jí)證書結(jié)構(gòu)[3]管理區(qū)塊鏈網(wǎng)絡(luò)準(zhǔn)入驗(yàn)證,但其假定有一個(gè)權(quán)威機(jī)構(gòu)存在,機(jī)構(gòu)證書需要權(quán)威機(jī)構(gòu)基于鏈證書生成,這種類似傳統(tǒng)中心式的管理模式減弱了區(qū)塊鏈本身分布式、去信任的技術(shù)優(yōu)勢(shì),且證書管理復(fù)雜度較高。
融合傳統(tǒng)中心式系統(tǒng)“縱向管控、橫向協(xié)同”的管理機(jī)制,以區(qū)塊鏈“扁平化自管理、分布式可信協(xié)同”為原則,研究“核心把控、管理下放”的聯(lián)盟鏈證書管理技術(shù),證書管理設(shè)計(jì)原則如圖1 所示,從而實(shí)現(xiàn)聯(lián)盟鏈組織機(jī)構(gòu)、節(jié)點(diǎn)、用戶證書的全生命周期及使用過程的安全管理。
圖1 證書管理設(shè)計(jì)原則
(1)兼容模式。對(duì)接現(xiàn)有樹形證書管理系統(tǒng),獲取聯(lián)盟鏈系統(tǒng)節(jié)點(diǎn)及用戶等主體證書,本方案系統(tǒng)提供證書導(dǎo)入和管理功能。
(2)創(chuàng)新模式?;谧C書準(zhǔn)入機(jī)制,構(gòu)建分布式協(xié)同證書授權(quán)(Certificate Authority,CA)管理體系,各組織自簽組織證書,并通過組織內(nèi)CA 管理系統(tǒng)管理組織節(jié)點(diǎn)和用戶,有效控制資源實(shí)體的認(rèn)證、授權(quán)、撤銷等身份權(quán)限操作,實(shí)現(xiàn)聯(lián)盟組織身份自治。聯(lián)盟組織間通過將共享組織證書、管理員證書、撤銷列表等數(shù)據(jù)上鏈,實(shí)現(xiàn)組織互信互通,組織內(nèi)部的節(jié)點(diǎn)或用戶可跨組織身份認(rèn)證和授權(quán)。
本方案基于公開密鑰基礎(chǔ)設(shè)施(Public Key Infrastructure,PKI)的證書準(zhǔn)入機(jī)制,多信任源組織結(jié)構(gòu)以證書作為互相認(rèn)證身份的重要憑證,組建鏈上多方參與協(xié)作關(guān)系,聯(lián)盟鏈只向授權(quán)的組織或機(jī)構(gòu)開放。采用分布式CA 協(xié)同管理模式,如圖2 所示,聯(lián)盟組織可通過本地CA 系統(tǒng)管理本組織內(nèi)部的節(jié)點(diǎn)和用戶,通過共享組織證書、撤銷列表等數(shù)據(jù),實(shí)現(xiàn)組織互信互通,節(jié)點(diǎn)用戶跨組織身份認(rèn)證和授權(quán)。
圖2 證書管理業(yè)務(wù)模型
聯(lián)盟鏈證書管理將系統(tǒng)鏈與證書管理鏈進(jìn)行融合設(shè)計(jì),由聯(lián)盟鏈運(yùn)營(yíng)組織創(chuàng)建,所有參與組織加入并共同維護(hù),該鏈實(shí)時(shí)同步全網(wǎng)證書狀態(tài)信息,實(shí)現(xiàn)聯(lián)盟鏈成員管理、組織證書查詢、節(jié)點(diǎn)證書撤銷、全網(wǎng)撤銷狀態(tài)同步等功能。
2.3.1 角色定義
證書管理結(jié)構(gòu)中有5 種角色,分別是組織CA 系統(tǒng)、組織、管理員、節(jié)點(diǎn)、客戶端軟件開發(fā)工具包(Software Development Kit,SDK)。各角色定義如下:
(1)CA 系統(tǒng)。證書頒發(fā)系統(tǒng),負(fù)責(zé)頒發(fā)組織節(jié)點(diǎn)和組織成員的證書。聯(lián)盟成員組織通過組織私鑰簽發(fā)節(jié)點(diǎn)證書,配置本組織的節(jié)點(diǎn)和SDK。
(2)組織。聯(lián)盟成員機(jī)構(gòu),經(jīng)過聯(lián)盟委員會(huì)許可,加入聯(lián)盟的機(jī)構(gòu)擁有組織根私鑰和經(jīng)過根私鑰自簽發(fā)的組織證書。
(3)管理員。組織管理員用戶,負(fù)責(zé)組織系統(tǒng)的管理和運(yùn)維。
(4)節(jié)點(diǎn)。代表一組擁有共同信任的組織證書的成員節(jié)點(diǎn),擁有組織證書和經(jīng)過組織根私鑰簽發(fā)的節(jié)點(diǎn)證書。同一個(gè)組織的成員節(jié)點(diǎn)在網(wǎng)絡(luò)中可以被認(rèn)為是同一個(gè)身份,代表組織進(jìn)行簽名。
(5)SDK。代表與區(qū)塊鏈網(wǎng)絡(luò)交互的用戶實(shí)體,必須連接到節(jié)點(diǎn)才可以訪問區(qū)塊鏈??蛻舳酥饕糜趧?chuàng)建和提交交易,并且將交易打包發(fā)送給共識(shí)排序節(jié)點(diǎn)。
2.3.2 證書格式及結(jié)構(gòu)
(1)證書格式。方案采用分布式PKI 準(zhǔn)入模式,支持任意多級(jí)的證書結(jié)構(gòu),保障信息保密性、認(rèn)證性、完整性及不可抵賴性。
證書內(nèi)容[4]包括:版本號(hào)、證書序列號(hào)、簽名算法標(biāo)識(shí)符、頒發(fā)者名稱、有效期(此日期前無效、此日期后無效)、主體名稱、主體公鑰信息、頒發(fā)者唯一身份信息(可選項(xiàng))、主體唯一身份信息(可選項(xiàng))、擴(kuò)展項(xiàng)(可選項(xiàng))、頒發(fā)者簽名。
(2)證書結(jié)構(gòu)。根據(jù)現(xiàn)有業(yè)務(wù)場(chǎng)景,本系統(tǒng)采用兩級(jí)的證書結(jié)構(gòu),自上而下分別為機(jī)構(gòu)證書、節(jié)點(diǎn)/SDK 證書。
①機(jī)構(gòu)證書。機(jī)構(gòu)私鑰由機(jī)構(gòu)管理員持有,可以對(duì)機(jī)構(gòu)下屬節(jié)點(diǎn)簽發(fā)節(jié)點(diǎn)證書。
②節(jié)點(diǎn)/SDK 證書。節(jié)點(diǎn)證書是節(jié)點(diǎn)身份的憑證,用于與其他持有合法證書的節(jié)點(diǎn)建立安全套接層協(xié)議(Secure Socket Layer,SSL)鏈接,并進(jìn)行加密通信;SDK 證書是SDK 與節(jié)點(diǎn)通信的憑證,機(jī)構(gòu)生成SDK 證書,允許SDK 與節(jié)點(diǎn)進(jìn)行通信。
2.3.3 算法類型
支持SHA256WithRSA、SHA256WithECDSA、SM3WithSM2 等多種密碼算法,同時(shí)面向具體應(yīng)用需求提供算法模塊化替換。
2.4.1 分布式證書鏈創(chuàng)建
分布式證書鏈由聯(lián)盟鏈的創(chuàng)始組織創(chuàng)建,后續(xù)邀請(qǐng)其他組織加入到證書鏈并共同維護(hù),證書鏈組織間通過證書鏈共享組織證書、節(jié)點(diǎn)證書管理信息、撤銷列表等數(shù)據(jù),實(shí)現(xiàn)組織互信互通、節(jié)點(diǎn)用戶跨組織身份認(rèn)證及授權(quán)。
(1)創(chuàng)始組織證書生成。
①組織證書生成。聯(lián)盟鏈創(chuàng)始組織自簽生成組織證書,初始化組織CA 系統(tǒng)。組織獲取組織證書org.crt,如圖3 所示。具體過程包括:組織管理員生成根私鑰org.sk 和證書請(qǐng)求文件.csr,并通過自簽工具生成組織證書org.crt。
圖3 組織證書生成
②組織證書導(dǎo)入。兼容現(xiàn)有樹形密碼管理體制,組織證書由管理中心統(tǒng)一生成并下發(fā)。系統(tǒng)提供證書導(dǎo)入功能,如圖4 所示,導(dǎo)入證書作為組織證書,并基于組織證書實(shí)現(xiàn)組織內(nèi)節(jié)點(diǎn)、用戶等子級(jí)證書的簽發(fā)、下載、更新、查詢、驗(yàn)證、撤銷等功能。具體過程包括:組織運(yùn)維人員基于證書信息,配置OrgCA;OrgCA 加載組織證書,并配置管理員信息;OrgCA 啟動(dòng)完成。
圖4 組織證書導(dǎo)入
(2)區(qū)塊鏈網(wǎng)絡(luò)構(gòu)建。
①創(chuàng)世節(jié)點(diǎn)生成。生成區(qū)塊鏈創(chuàng)世節(jié)點(diǎn),即共識(shí)排序節(jié)點(diǎn)。創(chuàng)世節(jié)點(diǎn)生成過程包括節(jié)點(diǎn)信息注冊(cè)、節(jié)點(diǎn)證書生成、節(jié)點(diǎn)證書簽發(fā)。節(jié)點(diǎn)證書的生成過程如圖5 所示。具體包括:基于組織證書簽發(fā)排序節(jié)點(diǎn)證書,在節(jié)點(diǎn)生成目錄下,會(huì)有組織證書的副本;返回排序節(jié)點(diǎn)證書。
圖5 節(jié)點(diǎn)證書生成
②排序服務(wù)初始化。具體過程包括:創(chuàng)世區(qū)塊生成(排序服務(wù)創(chuàng)世區(qū)塊包括:排序節(jié)點(diǎn)信息、證書信息、組織信息、組織證書、共識(shí)算法類型、區(qū)塊配置信息、訪問控制策略等);啟動(dòng)排序節(jié)點(diǎn)。
③通道配置創(chuàng)世區(qū)塊生成。具體過程包括:基于創(chuàng)始組織證書信息生成通道配置區(qū)塊,即通道創(chuàng)世區(qū)塊;通道創(chuàng)世區(qū)塊包括證書信息、組織信息、組織證書、通道配置信息、訪問控制策略等。
④區(qū)塊鏈網(wǎng)絡(luò)啟動(dòng)。具體過程包括:創(chuàng)建通道是指基于通道配置創(chuàng)世區(qū)塊創(chuàng)建通道;節(jié)點(diǎn)入網(wǎng)是指節(jié)點(diǎn)ID、節(jié)點(diǎn)名稱、節(jié)點(diǎn)機(jī)構(gòu)、證書序列號(hào)寫入通道的創(chuàng)世塊配置,通過創(chuàng)世塊將新加入的節(jié)點(diǎn)信息同步到通道內(nèi)所有節(jié)點(diǎn);節(jié)點(diǎn)連接是指節(jié)點(diǎn)間連接時(shí),需要驗(yàn)證所有向自己連接的節(jié)點(diǎn)身份及權(quán)限。
⑤證書鏈創(chuàng)建。基于創(chuàng)始組織證書生成證書鏈配置文件,創(chuàng)建證書鏈,如圖6 所示,對(duì)應(yīng)的組織可加入并訪問證書鏈。具體過程包括:組織管理員生成證書鏈配置交易,配置交易包括組織信息、組織證書、訪問控制策略、撤銷列表等;Order 節(jié)點(diǎn)生成證書鏈創(chuàng)世區(qū)塊;Order節(jié)點(diǎn)創(chuàng)建證書管理通道;啟動(dòng)證書鏈網(wǎng)絡(luò)。
圖6 證書鏈創(chuàng)建
2.4.2 新組織加入
證書鏈管理整個(gè)區(qū)塊鏈網(wǎng)絡(luò)的聯(lián)盟組織證書信息,實(shí)現(xiàn)聯(lián)盟成員的添加或移除。
(1)組織證書生成。組織初始化CA 系統(tǒng),生成組織證書,組織證書生成過程與節(jié)點(diǎn)證書生成過程相同,如圖5 節(jié)點(diǎn)證書生成。
(2)加入?yún)^(qū)塊鏈網(wǎng)絡(luò)。具體過程描述如下:①組織提交組織證書,加入請(qǐng)求至運(yùn)營(yíng)系統(tǒng)并完成信息審核;②運(yùn)營(yíng)管理員發(fā)送配置交易至區(qū)塊鏈網(wǎng)絡(luò),更新區(qū)塊鏈配置文件,組織加入?yún)^(qū)塊鏈網(wǎng)絡(luò);③返回組織加入結(jié)果。
(3)加入證書鏈。組織管理員(運(yùn)營(yíng)組織)生成一條證書鏈配置交易,配置交易包含新加入組織信息及組織證書;證書鏈通過增加配置區(qū)塊的方式添加新組織入鏈,如圖7 所示,加入成功即可訪問證書鏈。具體過程描述如下:①運(yùn)營(yíng)系統(tǒng)完成新加入組織的信息審核,獲取組織證書;②更新鏈參與成員信息,并發(fā)送至證書管理鏈;③證書管理鏈增加鏈配置區(qū)塊,增加新組織信息;④返回組織添加結(jié)果。
圖7 添加新組織
2.4.3 多信任源證書簽發(fā)
基于組織證書簽發(fā)二級(jí)節(jié)點(diǎn)/SDK 證書,節(jié)點(diǎn)/SDK 獲取證書。節(jié)點(diǎn)的生成需要組織的參與,在節(jié)點(diǎn)生成目錄下,會(huì)有組織證書的副本;另外,組織可以封裝SDK,為客戶端提供SDK 支持。
(1)證書簽發(fā)請(qǐng)求。節(jié)點(diǎn)/SDK 證書簽發(fā)請(qǐng)求過程如圖8 所示。具體描述如下:①組織管理員登記節(jié)點(diǎn)信息;②通過系統(tǒng)調(diào)用密鑰管理模塊接口,獲取節(jié)點(diǎn)私鑰;③基于節(jié)點(diǎn)信息及節(jié)點(diǎn)私鑰,生成節(jié)點(diǎn)證書請(qǐng)求文件;④通過系統(tǒng)發(fā)送節(jié)點(diǎn)證書請(qǐng)求文件至OrgCA,請(qǐng)求簽發(fā)證書;⑤OrgCA 對(duì)證書序列號(hào)進(jìn)行唯一性鑒別;⑥鑒別通過,讀取節(jié)點(diǎn)ID、證書序列號(hào),準(zhǔn)備發(fā)布上鏈。
圖8 節(jié)點(diǎn)/SDK 證書簽發(fā)請(qǐng)求
(2)節(jié)點(diǎn)證書上鏈。聯(lián)盟鏈參與組織將組織內(nèi)所有節(jié)點(diǎn)證書信息發(fā)布上鏈,如圖9 所示,獲取鏈上標(biāo)識(shí)TxID。具體過程描述如下:①組織管理員通過證書鏈準(zhǔn)入驗(yàn)證后,訪問證書鏈;②發(fā)送證書發(fā)布請(qǐng)求,請(qǐng)求包括主體ID、證書序列號(hào)、所屬組織等信息;③證書鏈對(duì)發(fā)布證書進(jìn)行唯一性鑒別,鑒別通過后寫入證書鏈;④返回證書發(fā)布結(jié)果及鏈上標(biāo)識(shí)TxID。
圖9 節(jié)點(diǎn)證書上鏈
(3)節(jié)點(diǎn)證書簽發(fā)。節(jié)點(diǎn)證書簽發(fā)如圖10 所示。具體過程描述如下:①OrgCA 將鏈上標(biāo)識(shí)TxID 添加至證書請(qǐng)求文件的擴(kuò)展字段;②OrgCA 使用組織根私鑰對(duì)證書請(qǐng)求文件進(jìn)行簽名,生成并頒發(fā)證書。
圖10 節(jié)點(diǎn)證書簽發(fā)
2.4.4 節(jié)點(diǎn)證書撤銷
(1)撤銷請(qǐng)求登記。撤銷請(qǐng)求登記過程如圖11 所示。具體描述如下:①組織管理員進(jìn)入組織管理系統(tǒng),訪問證書管理模塊;②選取目標(biāo)證書,通過系統(tǒng)發(fā)送證書撤銷請(qǐng)求給OrgCA;③OrgCA登記證書撤銷請(qǐng)求(不做實(shí)際撤銷處理)。
圖11 撤銷請(qǐng)求登記
(2)證書鏈上撤銷。聯(lián)盟鏈各參與組織將各自在該階段內(nèi)登記的待撤銷證書信息上鏈。證書鏈上撤銷過程如圖12 所示。具體描述如下:①OrgCA為待撤銷證書生成證書撤銷請(qǐng)求文件,撤銷請(qǐng)求文件包括證書序列號(hào)、證書主體、證書簽發(fā)機(jī)構(gòu)、節(jié)點(diǎn)加入通道信息及各通道當(dāng)前的出塊信息、撤銷時(shí)間等;②OrgCA 發(fā)送證書撤銷文件至證書管理鏈;③證書管理鏈更新鏈上撤銷列表;④返回上鏈結(jié)果。
圖12 證書鏈上撤銷
(3)應(yīng)用鏈上撤銷。應(yīng)用鏈上撤銷過程如圖13 所示。具體描述如下:①管理員查詢撤銷節(jié)點(diǎn)當(dāng)前所在的應(yīng)用通道;②將節(jié)點(diǎn)證書撤銷消息推送至所有應(yīng)用鏈;③應(yīng)用鏈生成配置交易,更新應(yīng)用鏈配置區(qū)塊,撤銷節(jié)點(diǎn)證書。
圖13 應(yīng)用鏈上撤銷
2.4.5 證書查詢驗(yàn)證
節(jié)點(diǎn)證書驗(yàn)證。節(jié)點(diǎn)證書驗(yàn)證過程如圖14所示。具體描述如下:①發(fā)送目標(biāo)證書至OrgCA,發(fā)起證書驗(yàn)證請(qǐng)求;②根據(jù)證書簽發(fā)的有效期,以及當(dāng)前的系統(tǒng)時(shí)間對(duì)證書進(jìn)行檢測(cè),根據(jù)證書撤銷列表,驗(yàn)證證書的有效性;③查詢鏈上組織證書,基于組織證書驗(yàn)證節(jié)點(diǎn)/SDK 證書的可信性;④根據(jù)證書規(guī)定的密碼套件和其消息字段,對(duì)證書的完整性進(jìn)行驗(yàn)證。
圖14 節(jié)點(diǎn)證書驗(yàn)證
(1)聯(lián)盟鏈分布式證書管理機(jī)制提供多信任源證書的簽發(fā)和協(xié)同管理,避免了傳統(tǒng)中心式CA 單一信任源存在的風(fēng)險(xiǎn),并基于智能合約和共識(shí)機(jī)制實(shí)現(xiàn)跨組織、跨信任源的密碼資源管理與狀態(tài)同步,為推動(dòng)聯(lián)盟鏈應(yīng)用發(fā)展提供核心基礎(chǔ)理論和技術(shù)支撐,提升聯(lián)盟鏈密碼服務(wù)能力,可為各類區(qū)塊鏈系統(tǒng)及應(yīng)用提供安全管理保障。
(2)對(duì)于具有靈活擴(kuò)展性的聯(lián)盟鏈網(wǎng)絡(luò),節(jié)點(diǎn)可動(dòng)態(tài)加入或退出。新加入網(wǎng)絡(luò)的節(jié)點(diǎn)需要同步鏈所有區(qū)塊,并對(duì)所有區(qū)塊交易進(jìn)行驗(yàn)證,而在本方法設(shè)計(jì)的全網(wǎng)撤銷狀態(tài)同步機(jī)制中,鏈上撤銷列表包含每一個(gè)撤銷證書的證書序列號(hào)、證書主體、證書簽發(fā)機(jī)構(gòu)、節(jié)點(diǎn)撤銷前加入通道信息及各通道的出塊信息、撤銷日期,有效保障每一筆歷史交易的正確驗(yàn)證。
證書管理技術(shù)作為聯(lián)盟鏈的重要安全保障,對(duì)聯(lián)盟鏈技術(shù)及區(qū)塊鏈應(yīng)用發(fā)展具有重要的研究意義。目前國(guó)內(nèi)外對(duì)聯(lián)盟鏈證書管理技術(shù)的研究不全面,對(duì)基于傳統(tǒng)中心式系統(tǒng)的樹形管理機(jī)制支持較弱,本方案的提出對(duì)推動(dòng)聯(lián)盟鏈技術(shù)在各行業(yè)領(lǐng)域的應(yīng)用實(shí)施具有重大價(jià)值。