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