国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于區(qū)塊鏈技術(shù)的高效跨域認(rèn)證方案

2018-04-12 05:51周致成李立新李作輝
計(jì)算機(jī)應(yīng)用 2018年2期
關(guān)鍵詞:跨域哈希證書(shū)

周致成,李立新,李作輝

(信息工程大學(xué),鄭州 450001)(*通信作者電子郵箱alphalilixin@163.com)

0 引言

信息安全已成為信息化發(fā)展中不可缺少的技術(shù)基礎(chǔ)[1]。身份認(rèn)證是保證信息安全的一種重要安全機(jī)制,而基于公鑰基礎(chǔ)設(shè)施(Public Key Infrastructure, PKI)的身份認(rèn)證是目前較為成熟并取得普遍應(yīng)用的認(rèn)證技術(shù)[2]。在分布式環(huán)境中,各機(jī)構(gòu)為了方便管理用戶,設(shè)置認(rèn)證服務(wù)器形成相對(duì)獨(dú)立的信任域,然而單個(gè)獨(dú)立的信任域不能提供多種服務(wù),用戶需要多域訪問(wèn),因此出現(xiàn)跨域認(rèn)證問(wèn)題。

現(xiàn)有的以傳統(tǒng)PKI為基礎(chǔ)的認(rèn)證框架,通常以安全套階層身份認(rèn)證協(xié)議(Secure sockets layer Authentication Protocol, SAP)實(shí)現(xiàn)雙向身份認(rèn)證。這種認(rèn)證框架比基于對(duì)稱密鑰的認(rèn)證框架如Kerberos等有了較大進(jìn)步[3],但由于認(rèn)證雙方通過(guò)互發(fā)證書(shū)或證書(shū)鏈進(jìn)行通信,證書(shū)維護(hù)過(guò)程如證書(shū)狀態(tài)查詢存在計(jì)算與通信開(kāi)銷較大的問(wèn)題。因此,如何提高跨域認(rèn)證的效率受到國(guó)內(nèi)外學(xué)者的廣泛關(guān)注。文獻(xiàn)[5]直接根據(jù)各域已有的PKI結(jié)構(gòu)及拓?fù)潢P(guān)系構(gòu)建認(rèn)證路徑,但存在認(rèn)證路徑復(fù)雜、認(rèn)證效率較低的問(wèn)題。文獻(xiàn)[6]采用橋證書(shū)授權(quán)中心(Certificate Authority, CA)的認(rèn)證方案,建立一個(gè)所有域都信任的橋CA模型,該方案需要各域都信任這個(gè)可信第三方,實(shí)際應(yīng)用困難,同時(shí)還存在如何跨域獲取證書(shū)狀態(tài)信息的問(wèn)題。文獻(xiàn)[7]借助虛擬橋CA模型,采用基于門(mén)限方案的橢圓曲線密碼體制構(gòu)建企業(yè)跨域認(rèn)證體系,但由于門(mén)限方案通過(guò)拆分密鑰因子造成交互代價(jià)比較大,使得成員加入、撤銷的可擴(kuò)展性不強(qiáng)?;谏矸莸拿艽a體系(Identity-Based Cryptography, IBC)可以解決證書(shū)管理和傳遞開(kāi)銷的問(wèn)題,但由于計(jì)算量與通信量過(guò)高,跨域認(rèn)證效率不高。文獻(xiàn)[8]提出一種基于身份的跨域認(rèn)證方案,用戶需要進(jìn)行多次雙線性對(duì)運(yùn)算,計(jì)算開(kāi)銷較大,不適用于移動(dòng)終端。文獻(xiàn)[9]利用橢圓曲線加法群提出基于身份的簽名算法實(shí)現(xiàn)跨域認(rèn)證,避免了復(fù)雜的雙線性對(duì)運(yùn)算,計(jì)算開(kāi)銷明顯減?。坏桨钢环治隽藢?shí)體與認(rèn)證中心的認(rèn)證過(guò)程,沒(méi)有考慮認(rèn)證中心與本地資源確認(rèn)對(duì)方合法性帶來(lái)的額外開(kāi)銷。文獻(xiàn)[10]提出一種無(wú)線網(wǎng)格環(huán)境下的跨域認(rèn)證密鑰交換協(xié)議,但使用較多對(duì)稱加密造成大量計(jì)算開(kāi)銷。綜合以上研究成果,基于證書(shū)和基于身份的跨域認(rèn)證仍存在諸多問(wèn)題有待解決。

區(qū)塊鏈技術(shù)最早由化名為“中本聰”的學(xué)者在2008年的密碼學(xué)郵件組發(fā)表的關(guān)于比特幣的論文[11]中提出。作為分布式存儲(chǔ)、點(diǎn)對(duì)點(diǎn)傳輸、共識(shí)機(jī)制、加密算法等技術(shù)的集成應(yīng)用,區(qū)塊鏈技術(shù)的應(yīng)用已延伸到物聯(lián)網(wǎng)、人工智能、身份認(rèn)證等多個(gè)領(lǐng)域。

區(qū)塊鏈技術(shù)在身份認(rèn)證領(lǐng)域的研究受到諸多研究機(jī)構(gòu)的重視。文獻(xiàn)[12]指出,區(qū)塊鏈技術(shù)的發(fā)展對(duì)數(shù)字證書(shū)的發(fā)展和應(yīng)用有極大的促進(jìn)作用。文獻(xiàn)[13]提出了以比特幣區(qū)塊鏈系統(tǒng)為框架的去中心化PKI認(rèn)證體系,使用Certcoin代替CA提供高效密鑰查詢與身份保留功能,但存在因使用區(qū)塊鏈公共總賬直接記錄用戶身份和公鑰的綁定造成用戶隱私泄漏的問(wèn)題;文獻(xiàn)[14]提出一種改進(jìn)的Certcoin方案,提出了帶隱私保護(hù)的PKI認(rèn)證系統(tǒng)。文獻(xiàn)[15]提出使用以太坊區(qū)塊鏈平臺(tái)的基于證書(shū)的PKI認(rèn)證體系,解決了傳統(tǒng)PKI證書(shū)管理與使用證書(shū)撤銷列表(Certificate Reveocation List, CRL)和在線證書(shū)狀態(tài)協(xié)議(Online Certificate Status Protocol, OCSP)通信量過(guò)大的問(wèn)題。但是這些研究目前均未解決跨域認(rèn)證問(wèn)題。

針對(duì)以上問(wèn)題,本文提出基于區(qū)塊鏈技術(shù)的高效跨域認(rèn)證方案。在不改變域內(nèi)PKI認(rèn)證體系的基礎(chǔ)上,將各域的認(rèn)證服務(wù)器和根CA證書(shū)服務(wù)器設(shè)置為區(qū)塊鏈節(jié)點(diǎn),域間跨域認(rèn)證通過(guò)代理認(rèn)證服務(wù)器查詢驗(yàn)證對(duì)方域的根CA證書(shū)服務(wù)器發(fā)布于區(qū)塊鏈的無(wú)簽名證書(shū)的哈希值,代替?zhèn)鹘y(tǒng)PKI互發(fā)簽名證書(shū)并驗(yàn)證簽名的方式。本文方案能減少簽名驗(yàn)證次數(shù),提高認(rèn)證效率,解決使用CRL和OCSP證書(shū)管理較復(fù)雜的問(wèn)題;而且系統(tǒng)基于聯(lián)盟鏈的設(shè)計(jì),可擴(kuò)展性強(qiáng)。

1 區(qū)塊鏈技術(shù)

1.1 區(qū)塊鏈結(jié)構(gòu)

區(qū)塊鏈?zhǔn)且环N按照時(shí)間順序?qū)?shù)據(jù)區(qū)塊以鏈條的方式組合而成的特定數(shù)據(jù)結(jié)構(gòu),并以密碼學(xué)方式保證的不可篡改不可偽造的去中心化公共總賬[16]。在區(qū)塊鏈技術(shù)中,數(shù)據(jù)以區(qū)塊的形式永久保存。每一個(gè)區(qū)塊按照時(shí)間順序先后生成并通過(guò)鏈?zhǔn)浇Y(jié)構(gòu)連接組成區(qū)塊鏈。區(qū)塊由區(qū)塊頭和區(qū)塊體組成,如圖1所示。

圖1 區(qū)塊鏈結(jié)構(gòu)Fig. 1 Blockchain structure

如圖1所示:區(qū)塊頭內(nèi)主要有版本號(hào)、時(shí)間戳,前一區(qū)塊的哈希值、交易數(shù)據(jù)總哈希值,以及參與共識(shí)機(jī)制的有關(guān)數(shù)據(jù)(隨機(jī)數(shù)等,因?yàn)閰^(qū)塊鏈平臺(tái)共識(shí)機(jī)制的不同設(shè)計(jì)也有所不同,這里不再贅述)。前一區(qū)塊的哈希值是對(duì)前一區(qū)塊頭的各個(gè)模塊數(shù)據(jù)進(jìn)行哈希運(yùn)算,區(qū)塊之間通過(guò)這樣的哈希值環(huán)環(huán)相扣依次連接。區(qū)塊體中記錄了自區(qū)塊鏈創(chuàng)建以來(lái)到生成本區(qū)塊期間所有的交易數(shù)據(jù)。以比特幣區(qū)塊鏈為例,數(shù)據(jù)通常以Merkle tree的方式,從葉子節(jié)點(diǎn)到父節(jié)點(diǎn)自下而上兩兩作哈希運(yùn)算,最終形成這段時(shí)間內(nèi)數(shù)據(jù)的總哈希值,存儲(chǔ)在區(qū)塊頭內(nèi)。

1.2 區(qū)塊鏈特征

本文方案主要用到區(qū)塊鏈技術(shù)分布式多中心、集體維護(hù)、不易篡改的特點(diǎn)。

1)分布式多中心:區(qū)塊鏈系統(tǒng)節(jié)點(diǎn)基于分布式點(diǎn)對(duì)點(diǎn)結(jié)構(gòu),每個(gè)節(jié)點(diǎn)都存有系統(tǒng)內(nèi)所有的交易數(shù)據(jù),任意節(jié)點(diǎn)的損壞不影響整個(gè)系統(tǒng)的運(yùn)作,系統(tǒng)冗余度高,具有極好的健壯性。

2)集體維護(hù):區(qū)塊鏈構(gòu)建了一套完整的協(xié)議機(jī)制,系統(tǒng)中的節(jié)點(diǎn)不僅參與記錄數(shù)據(jù),而且參與驗(yàn)證其他節(jié)點(diǎn)記錄數(shù)據(jù)的正確性。只有當(dāng)大部分節(jié)點(diǎn)或者多個(gè)關(guān)鍵節(jié)點(diǎn)認(rèn)可數(shù)據(jù)的正確性時(shí),數(shù)據(jù)才能被記入到區(qū)塊當(dāng)中?,F(xiàn)行IBM的超級(jí)賬本Fabric平臺(tái)采用兩種類型節(jié)點(diǎn):

a)驗(yàn)證節(jié)點(diǎn)(Validating Peer,VP)。VP執(zhí)行數(shù)據(jù)的讀寫(xiě)、查詢操作,借助區(qū)塊鏈共識(shí)算法、一致性協(xié)議,維護(hù)區(qū)塊鏈賬本數(shù)據(jù)庫(kù)。

b)非驗(yàn)證節(jié)點(diǎn)(Nonvalidating Peer,NVP)。NVP用來(lái)連接用戶和鄰近的VP,執(zhí)行查詢驗(yàn)證操作,不執(zhí)行記入交易數(shù)據(jù)操作。

3)不易篡改:區(qū)塊鏈技術(shù)采用哈希算法對(duì)記入?yún)^(qū)塊的數(shù)據(jù)進(jìn)行完整性保護(hù),以鏈?zhǔn)浇Y(jié)構(gòu)連接數(shù)據(jù)區(qū)塊并存儲(chǔ)于系統(tǒng)中的所有節(jié)點(diǎn)。如果一個(gè)區(qū)塊被改變,那么之后的每一個(gè)區(qū)塊都將被改變。區(qū)塊鏈上數(shù)據(jù)區(qū)塊越多,數(shù)據(jù)越難篡改,因此改變某一區(qū)塊及區(qū)塊內(nèi)的數(shù)據(jù)幾乎是不可能的。以比特幣區(qū)塊鏈為例,只有對(duì)51%的節(jié)點(diǎn)攻擊才能篡改數(shù)據(jù)。正是由于區(qū)塊鏈技術(shù)具有不易篡改的特性,為記錄可信憑證提供了可能。

1.3 區(qū)塊鏈類型及性能特點(diǎn)

根據(jù)區(qū)塊鏈的中心化程度的差異,可以將區(qū)塊鏈分為公有鏈、聯(lián)盟鏈和私有鏈,這三種類型區(qū)塊鏈的性能特點(diǎn)如表1所述。綜合各類型區(qū)塊鏈特點(diǎn),本文方案采用聯(lián)盟鏈為原型。采用聯(lián)盟鏈為方案原型,一方面符合政府、企業(yè)等多域間跨域認(rèn)證需要,另一方面由于區(qū)塊鏈共識(shí)算法的不同,聯(lián)盟鏈效率較高,系統(tǒng)可擴(kuò)展性強(qiáng)。

2 基于區(qū)塊鏈的跨域認(rèn)證方案

基于證書(shū)的傳統(tǒng)PKI跨域認(rèn)證模型普遍存在認(rèn)證路徑復(fù)雜、簽名驗(yàn)證次數(shù)較多、證書(shū)管理困難等問(wèn)題;而基于身份的密碼體系的計(jì)算量與通信量較高,跨域認(rèn)證效率不高,實(shí)際應(yīng)用困難。本章主要設(shè)計(jì)了區(qū)塊鏈CA(Blockchain Certificate Authority,BCCA)信任模型和系統(tǒng)架構(gòu),給出了區(qū)塊鏈證書(shū)格式,并在此基礎(chǔ)上完成跨域認(rèn)證協(xié)議。

2.1 BCCA信任模型

信任模型用于描述和分析同一CA管理域內(nèi)部或不同CA管理域之間的信任關(guān)系的建立和傳遞過(guò)程。為解決多個(gè)域的跨域認(rèn)證問(wèn)題,本文提出了BCCA信任模型。

BCCA信任模型如圖2所示,其中:矩形框表示VP,即根CA;空心圓表示域內(nèi)用戶。為實(shí)現(xiàn)跨域認(rèn)證,多個(gè)域的信任錨根CA經(jīng)過(guò)許可后,加入聯(lián)盟鏈,構(gòu)成聯(lián)盟鏈的VP。在本文方案中,加入聯(lián)盟鏈的根CA是可信的,作為VP自生成根CA區(qū)塊鏈證書(shū),并將證書(shū)的哈希值記入不易篡改的區(qū)塊鏈內(nèi),作為各域的信任憑證。如果一個(gè)域不再有跨域需要,或者該域不再可信,對(duì)加入聯(lián)盟鏈的許可進(jìn)行撤銷,實(shí)現(xiàn)盟員的退出。

表1 區(qū)塊鏈類型及性能特點(diǎn)Tab. 1 Type and performance characteristics of different blockchains

圖2 BCCA信任模型Fig. 2 Trust model of BCCA

2.2 系統(tǒng)架構(gòu)

如圖3所示,多個(gè)域的根CA作為聯(lián)盟鏈VP,通過(guò)自生成區(qū)塊鏈證書(shū),并把證書(shū)的哈希值記入?yún)^(qū)塊鏈作為各域的信任憑證。為了實(shí)現(xiàn)多域信任憑證的傳遞與確認(rèn),本文方案添加代理認(rèn)證服務(wù)器作為區(qū)塊鏈系統(tǒng)的NVP,通過(guò)NVP查詢驗(yàn)證存儲(chǔ)在區(qū)塊鏈上的信任憑證,實(shí)現(xiàn)跨域認(rèn)證。加入NVP,一方面可發(fā)揮代理認(rèn)證服務(wù)的功能,另一方面也解決了在僅有VP的聯(lián)盟鏈框架下用戶與VP交互時(shí)因通信量過(guò)大造成的阻塞。

圖3 系統(tǒng)架構(gòu)Fig. 3 System structure

2.3 區(qū)塊鏈證書(shū)

本文設(shè)計(jì)一種區(qū)塊鏈證書(shū),由許可加入聯(lián)盟鏈的多個(gè)域的根CA自生成,并記入?yún)^(qū)塊鏈,作為不可篡改的信任憑證。X.509證書(shū)與本文設(shè)計(jì)的區(qū)塊鏈證書(shū)如圖4所示。

與傳統(tǒng)X.509數(shù)字證書(shū)比較,主要有以下改進(jìn):

1)本文方案在數(shù)字證書(shū)中添加了使用者域與生成者域的名稱。該證書(shū)不僅作為域間跨域認(rèn)證的信任憑證,在用戶實(shí)現(xiàn)跨域認(rèn)證之后,認(rèn)證域的根CA對(duì)請(qǐng)求認(rèn)證的用戶生成跨域證書(shū),傳給用戶,并以哈希值的形式記入?yún)^(qū)塊鏈,方便用戶再次訪問(wèn)時(shí)提供快速認(rèn)證。

2)本文方案在數(shù)字證書(shū)中省去了簽名與簽名算法模塊。傳統(tǒng)PKI通過(guò)使用數(shù)字簽名判斷證書(shū)是否被篡改,使數(shù)字證書(shū)具有防偽性,保證數(shù)字證書(shū)中身份和公鑰的綁定值得可信。由于區(qū)塊鏈天然的具有不易篡改的特性,可信域的根CA(VP)生成區(qū)塊鏈證書(shū)并將證書(shū)的哈希值記入?yún)^(qū)塊鏈作為多域信任憑證,代替CA對(duì)證書(shū)的簽名過(guò)程;認(rèn)證服務(wù)器(NVP)通過(guò)在區(qū)塊鏈內(nèi)查驗(yàn)多個(gè)域的可信憑證,代替對(duì)證書(shū)的簽名驗(yàn)證的過(guò)程。

3)本文方案設(shè)計(jì)的數(shù)字證書(shū)沒(méi)有證書(shū)撤銷檢查服務(wù)的URL模塊。即在區(qū)塊鏈上發(fā)布的證書(shū)沒(méi)有CRL與OCSP管理服務(wù)。區(qū)塊鏈不能更改已經(jīng)寫(xiě)入的數(shù)據(jù),只能在寫(xiě)入時(shí)附加數(shù)據(jù)的狀態(tài)。文獻(xiàn)[17]定義寫(xiě)入?yún)^(qū)塊鏈的接口為put(action,data),action表明用戶對(duì)數(shù)據(jù)的處理意圖,可以是create、insert、update或delete。本文方案把證書(shū)寫(xiě)入?yún)^(qū)塊鏈的接口定義為put(action,Hash(Cert)),參數(shù)action定義為本證書(shū)當(dāng)前狀態(tài),分為issue或revoke兩種狀態(tài)。區(qū)塊鏈查詢接口定義為query(condition),參數(shù)condition表示用戶查詢的條件,可以是交易的哈希值或塊的哈希值[17],也可以是待查詢有關(guān)數(shù)據(jù)的主鍵。

圖4 X.509數(shù)字證書(shū)與區(qū)塊鏈證書(shū)Fig. 4 X.509 digital certificate and blockchain certificate

2.4 基于區(qū)塊鏈的跨域認(rèn)證協(xié)議

根據(jù)上述信任模型、系統(tǒng)架構(gòu)和區(qū)塊鏈證書(shū),本文提出基于區(qū)塊鏈的跨域認(rèn)證協(xié)議。假定經(jīng)許可加入聯(lián)盟鏈的域是可信的,跨域認(rèn)證協(xié)議開(kāi)始之前,各個(gè)域的根CA區(qū)塊鏈證書(shū)的哈希值和寫(xiě)入狀態(tài)已經(jīng)保存在區(qū)塊鏈的區(qū)塊中。

以A域和B域作跨域認(rèn)證為例,基于區(qū)塊鏈的跨域認(rèn)證方案由用戶、信任錨根CA證書(shū)服務(wù)器、代理認(rèn)證服務(wù)器組成。信任錨根CA證書(shū)服務(wù)器、代理認(rèn)證服務(wù)器作為區(qū)塊鏈節(jié)點(diǎn),分別執(zhí)行生成證書(shū)并記入?yún)^(qū)塊鏈和查詢區(qū)塊鏈驗(yàn)證證書(shū)的任務(wù)。表2為協(xié)議中用到的符號(hào)說(shuō)明,協(xié)議流程如圖5所示。

表2 協(xié)議符號(hào)說(shuō)明Tab. 2 Description of the protocol symbol

圖5 本文協(xié)議流程Fig. 5 Flow chart of the proposed protocol

具體協(xié)議如下:

1)UA→ASB

A域用戶UA請(qǐng)求訪問(wèn)B域認(rèn)證服務(wù)器ASB。

2)ASB→UA:{N1}

B域認(rèn)證服務(wù)器ASB收到用戶UA的請(qǐng)求后,響應(yīng)請(qǐng)求并向A域用戶UA發(fā)送隨機(jī)數(shù)N1。

3)UA→ASB:{CertUA,SignskUA(N1),N1}

(i)A域用戶UA收到B域認(rèn)證服務(wù)器ASB的響應(yīng),使用用戶UA的私鑰skUA對(duì)隨機(jī)數(shù)N1簽名生成SignskUA(N1);

(ii)A域用戶UA響應(yīng)B域認(rèn)證服務(wù)器ASB的請(qǐng)求,把用戶證書(shū)CertUA、簽名SignskUA(N1)、隨機(jī)數(shù)N1作為消息發(fā)送給B域認(rèn)證服務(wù)器ASB。

4)ASB→ASA:{N2}

(i)B域認(rèn)證服務(wù)器ASB收到消息,檢查隨機(jī)數(shù)N1是否有效;

(ii)使用CertUA、N1驗(yàn)證SignskUA(N1)是否正確,解析證書(shū),查看證書(shū)有效期,通過(guò)證書(shū)或證書(shū)鏈確定A域信任錨CAA;

(iii)B域認(rèn)證服務(wù)器ASB向A域認(rèn)證服務(wù)器ASA發(fā)送請(qǐng)求申請(qǐng)得到A域信任錨CAA的區(qū)塊鏈證書(shū)B(niǎo)CertCAA,并發(fā)送隨機(jī)數(shù)N2。

5)ASA→ASB:{BCertCAA,N2}

A域證書(shū)認(rèn)證服務(wù)器ASA收到請(qǐng)求及隨機(jī)數(shù)N2,將A域信任錨CAA的區(qū)塊鏈證書(shū)B(niǎo)CertCAA、隨機(jī)數(shù)N2作為消息發(fā)給B域認(rèn)證服務(wù)器ASB。

6)ASB→CAB:CertUA

(i)B域認(rèn)證服務(wù)器ASB收到消息后,檢查隨機(jī)數(shù)N2是否有效;

(ii)解析BCertCAA查看有效期,根據(jù)區(qū)塊鏈?zhǔn)褂玫墓K惴ò袯CertCAA作哈希運(yùn)算得到Hash(BCertCAA);

(iii)B域認(rèn)證服務(wù)器ASB使用Hash(BCertCAA)查詢區(qū)塊鏈,得到在區(qū)塊鏈上查詢的結(jié)果:

(a)若無(wú)查詢結(jié)果,則由于A域認(rèn)證服務(wù)器提供了不正確的信任錨CAA區(qū)塊鏈證書(shū),認(rèn)證失?。?/p>

(b)若查詢結(jié)果為issue和revoke,則由于A域信任錨CAA的區(qū)塊鏈證書(shū)已為撤銷狀態(tài),認(rèn)證失??;

(c)若查詢結(jié)果僅有issue,則A域信任錨CAA的區(qū)塊鏈證書(shū)為已發(fā)布狀態(tài),認(rèn)證成功。

(iv)認(rèn)證成功后,B域認(rèn)證服務(wù)器ASB向B域信任錨CAB發(fā)送用戶UA證書(shū)CertUA。

7)CAB→ASB:BCertUA,CAB

B域信任錨CAB收到用戶UA證書(shū)CertUA后,解析用戶UA證書(shū),生成跨域區(qū)塊鏈證書(shū)B(niǎo)CertUA,CAB,并記入?yún)^(qū)塊鏈,同時(shí)反饋給ASB。

8)ASB→UA:BCertUA,CAB

B域證書(shū)認(rèn)證服務(wù)器ASB發(fā)給用戶UA跨域區(qū)塊鏈證書(shū)B(niǎo)CertUA,CAB。

9)同理使用1)~8)實(shí)現(xiàn)A域?qū)域的反向認(rèn)證。

10)由1)~9)實(shí)現(xiàn)A、B兩域的雙向認(rèn)證。

重認(rèn)證:

再次認(rèn)證時(shí),A域用戶UA直接把跨域區(qū)塊鏈證書(shū)B(niǎo)CertUA,CAB發(fā)給B域認(rèn)證服務(wù)器ASB,由ASB作哈希運(yùn)算,并查詢區(qū)塊鏈,驗(yàn)證證書(shū)有效性即可。

3 方案分析

3.1 安全性分析

3.1.1證書(shū)存在性與所有權(quán)

本文方案將各個(gè)域與用戶的證書(shū)文件進(jìn)行哈希運(yùn)算,再將證書(shū)的哈希值存入在區(qū)塊鏈中。哈希函數(shù)具有以下特性:

性質(zhì)1單向性:給定h,根據(jù)hash(m)=h,計(jì)算m是不可行的;

性質(zhì)2抗碰撞性:給定算法hash(),要找到兩個(gè)不同的消息x1≠x2,使其哈希值hash(x1)=hash(x2)是計(jì)算不可行的。

哈希函數(shù)的單向性與抗碰撞性能夠使任何區(qū)塊鏈節(jié)點(diǎn)匿名和安全地存儲(chǔ)信任憑證。通過(guò)在區(qū)塊鏈上存放文件的密碼學(xué)哈希值,以及提交該文件哈希值至區(qū)塊鏈中的時(shí)間信息,來(lái)證明證書(shū)文件的存在性與所有權(quán)。

3.1.2雙向?qū)嶓w認(rèn)證

在每個(gè)信任域內(nèi),通過(guò)域內(nèi)原有的認(rèn)證方式實(shí)現(xiàn)用戶和認(rèn)證服務(wù)器的認(rèn)證。在多域間聯(lián)盟鏈的框架下,認(rèn)證服務(wù)器通過(guò)請(qǐng)求獲得待認(rèn)證域的根CA區(qū)塊鏈證書(shū),作哈希運(yùn)算后查詢區(qū)塊鏈內(nèi)已保存的信任憑證,確認(rèn)信任關(guān)系,實(shí)現(xiàn)用戶與對(duì)方域的服務(wù)器的認(rèn)證。憑借本域用戶與對(duì)方域服務(wù)器的認(rèn)證,對(duì)方域服務(wù)器與對(duì)方域用戶的認(rèn)證,實(shí)現(xiàn)兩個(gè)域間用戶的雙向?qū)嶓w的認(rèn)證。

3.1.3防止重放攻擊

本協(xié)議使用了詢問(wèn)-應(yīng)答的握手方式,在傳遞消息的同時(shí)添加隨機(jī)數(shù)。這個(gè)隨機(jī)數(shù)保存在詢問(wèn)服務(wù)器內(nèi),驗(yàn)證反饋信息之前,首先驗(yàn)證隨機(jī)數(shù),通過(guò)驗(yàn)證隨機(jī)數(shù)和原服務(wù)器保存的一樣,起到防止重放攻擊的效果。

3.1.4抵抗分布式拒絕服務(wù)(DDoS)攻擊

區(qū)塊鏈的分布式架構(gòu)天然地?fù)碛悬c(diǎn)對(duì)點(diǎn)、多冗余特性,即使一個(gè)節(jié)點(diǎn)失效,其他節(jié)點(diǎn)也不受影響,因此不存在單點(diǎn)失效問(wèn)題。它對(duì)拒絕服務(wù)攻擊的方式比中心化系統(tǒng)靈活很多,一旦節(jié)點(diǎn)失效,與失效節(jié)點(diǎn)連接的用戶即無(wú)法進(jìn)入系統(tǒng)。

3.2 效率分析

如圖3所示,本節(jié)對(duì)協(xié)議的計(jì)算開(kāi)銷進(jìn)行分析,并與文獻(xiàn)[7]方案和文獻(xiàn)[9]方案作比較。特別說(shuō)明的是,為保證方案順利實(shí)現(xiàn),又與其他文獻(xiàn)方案處于平等復(fù)雜程度,不失一般性,設(shè)置本文方案與文獻(xiàn)[7]方案盟員數(shù)均為2。表3為三個(gè)方案的效率比較,單位為運(yùn)算次數(shù),其中公鑰加密與解密、數(shù)字簽名與驗(yàn)證兩欄計(jì)算的是分步次數(shù)的總和。

表3 計(jì)算開(kāi)銷對(duì)比Tab. 3 Comparison of computation overhead

與文獻(xiàn)[9]方案相比,本文方案減少了8次數(shù)字簽名與驗(yàn)證次數(shù)。文獻(xiàn)[9]基于門(mén)限方案,數(shù)字簽名與驗(yàn)證的次數(shù)會(huì)隨著盟員數(shù)量的增加呈倍數(shù)增長(zhǎng);而本文方案基于分布式聯(lián)盟鏈,不受盟員的增加而導(dǎo)致兩方跨域認(rèn)證時(shí)使用公鑰算法次數(shù)的增加,但客觀上會(huì)出現(xiàn)由于區(qū)塊鏈集體維護(hù)賬本導(dǎo)致的哈希運(yùn)算次數(shù)的增加。因此本文方案使用的公鑰算法的次數(shù)遠(yuǎn)小于文獻(xiàn)[9]方案。由于哈希算法的效率遠(yuǎn)高于公鑰算法,因此本文方案在多域聯(lián)盟下的跨域認(rèn)證具有明顯優(yōu)勢(shì)。

與文獻(xiàn)[7]方案相比,本文方案減少了2次公鑰加密與解密,數(shù)字簽名與驗(yàn)證次數(shù)相同,因此本文方案使用公鑰算法的次數(shù)少于文獻(xiàn)[7]方案。在盟員數(shù)為2的情況下,本文方案使用哈希算法次數(shù)也少于文獻(xiàn)[7]方案;但隨著盟員數(shù)的增長(zhǎng),本文方案使用哈希運(yùn)算次數(shù)隨之增加。在同等配置的機(jī)器上測(cè)試,RSA-1 024的耗時(shí)約為ECDSA-192的1/2,SHA-256的計(jì)算耗時(shí)約為RSA-1 024的1/10,所以哈希算法的計(jì)算速度遠(yuǎn)高于公鑰算法,速度甚至超過(guò)幾十倍。所以即使在多域聯(lián)盟環(huán)境下,與僅有兩域相比,本文方案實(shí)現(xiàn)跨域認(rèn)證的效率與承載力還是可觀的。

3.3 可行性分析

在計(jì)算方面,方案基于聯(lián)盟區(qū)塊鏈架構(gòu)進(jìn)行設(shè)計(jì)。目前已知聯(lián)盟鏈平臺(tái)每秒可并行處理幾千到幾萬(wàn)筆交易,滿足跨域認(rèn)證的功能需要。

在存儲(chǔ)方面,因?yàn)閰^(qū)塊鏈存儲(chǔ)數(shù)據(jù)是永久性的,把大量原數(shù)據(jù)直接存儲(chǔ)在區(qū)塊鏈上是不妥的。所以區(qū)塊鏈通常采用SHA256哈希函數(shù),將任意長(zhǎng)度的交易數(shù)據(jù)經(jīng)過(guò)哈希運(yùn)算后轉(zhuǎn)換為長(zhǎng)度為32字節(jié)的二進(jìn)制數(shù),然后通過(guò)Merkle樹(shù)的記錄方法,計(jì)算出一個(gè)Merkle根哈希值,作為交易數(shù)據(jù)的總哈希值存儲(chǔ)在區(qū)塊頭內(nèi)。采用Merkle樹(shù)的好處是,如果一個(gè)交易數(shù)據(jù)沒(méi)有后續(xù)交易產(chǎn)生,可以刪除這個(gè)交易數(shù)據(jù),只保留Merkle樹(shù)中這個(gè)交易數(shù)據(jù)的Hash值即可。這樣,對(duì)整個(gè)區(qū)塊來(lái)說(shuō),不僅沒(méi)有改變它的密碼學(xué)安全性和完整性,數(shù)據(jù)量也可以大大減小。

在部署成本方面,方案不改變?cè)懈饔蛐湃误w系的認(rèn)證方式,將各域的信任錨加入?yún)^(qū)塊鏈社區(qū),即聯(lián)盟鏈的環(huán)境中,以實(shí)現(xiàn)多域間的跨域認(rèn)證,因此,系統(tǒng)的可擴(kuò)展性強(qiáng)。

4 結(jié)語(yǔ)

本文提出了基于區(qū)塊鏈的跨域認(rèn)證方案。該方案在不改變域內(nèi)PKI認(rèn)證模型的前提下,將經(jīng)過(guò)許可的域加入聯(lián)盟鏈,實(shí)現(xiàn)雙向?qū)嶓w跨域認(rèn)證,并提供快速重認(rèn)證。與已有跨域認(rèn)證方案相比,本文方案在保證安全的基礎(chǔ)上,通過(guò)減少簽名與驗(yàn)證簽名的次數(shù),能有效提升跨域認(rèn)證的效率;而且系統(tǒng)基于聯(lián)盟鏈的設(shè)計(jì),可擴(kuò)展性強(qiáng)。

參考文獻(xiàn):

[1]荊繼武,林璟鏘,馮登國(guó).PKI技術(shù)[M].北京:科學(xué)出版社,2008:6. (JING J W, LIN J Q, FENG D G. PKI Technology [M]. Beijing: Science Press, 2008: 6.)

[2]關(guān)振勝.公鑰基礎(chǔ)設(shè)施PKI及其應(yīng)用[M].北京:電子工業(yè)出版社,2008:14-16. (GUAN Z S. Public Key Infrastructure PKI and Its Application [J]. Beijing: Publishing House of Electronics Industry, 2008: 14-16.)

[3]路曉明,馮登國(guó).一種基于身份的多信任域網(wǎng)格認(rèn)證模型[J].電子學(xué)報(bào),2006,34(4):577-582. (LU X M, FENG D G. An identity-based authentication model for multi-domain grids [J]. Acta Electronica Sinica, 2006, 34(4): 577-582.)

[4]BUTLER R, WELCH V, ENGERT D, et al. A national-scale authentication infrastructure [J]. IEEE Computer, 2000, 33(12): 60-66.

[5]ROUIBAH K, OULD-ALI S. Dynamic data sharing and security in a collaborative product definition management system [J]. Robotics and Computer-Integrated Manufacturing, 2007, 23(2): 217-233.

[7]張文芳,王小敏,郭偉,等.基于橢圓曲線密碼體制的高效虛擬企業(yè)跨域認(rèn)證方案[J].電子學(xué)報(bào),2014,42(6):1095-1102. (ZHANG W F, WANG X M, GUO W, et al. An efficient inter-enterprise authentication scheme for VE based on the elliptic curve cryptosystem [J]. Acta Electronica Sinica, 2014, 42(6): 1095-1102.)

[8]彭華熹.一種基于身份的多信任域認(rèn)證模型[J].計(jì)算機(jī)學(xué)報(bào),2006,29(8):1271-1281. (PENG H X. An identity-based authentication model for multi-domain [J]. Chinese Journal of Computers, 2006, 29(8): 1271-1281.)

[9]羅長(zhǎng)遠(yuǎn),霍士偉,邢洪智.普適環(huán)境中基于身份的跨域認(rèn)證方案[J]. 通信學(xué)報(bào),2011,32(9):111-115. (LUO C Y, HUO S W, XING H Z. Identity-based cross-domain authentication scheme in pervasive computing environments [J]. Journal on Communications, 2011, 32(9): 111-115.)

[10]LI Y, CHEN W, CAI Z, et al. CAKA: a novel certificateless-based cross-domain authenticated key agreement protocol for wireless mesh networks [J]. Wireless Networks, 2016, 22(8): 2523-2535.

[11]NAKAMOTO S. Bitcoin: a peer-to-peer electronic cash system [EB/OL]. [2017- 03- 22]. http://tmtfree.hd.free.fr/albums/files/TMTisFree/Documents/Economy/Bitcoin.%20A%20Peer-to-Peer%20Electronic%20Cash%20System.pdf.

[12]工信部.中國(guó)區(qū)塊鏈技術(shù)和應(yīng)用發(fā)展白皮書(shū)[R]. 北京: 工信部,2016: 23. (Ministry of Industry and Information Technology. White paper for Chinese blockchain technology and application development [R]. Beijing: Ministry of Industry and Information Technology. White paper, 2016: 23.)

[13]FROMKNECHT C, VELICANU D, YAKOUBOV S. CertCoin: a namecoin based decentralized authentication system [R/OL]. (2014- 05- 14) [2017- 05- 08]. http://courses.csail.mit.edu/6.857/2014/files/19-fromknecht-velicann-yakoubov-certcoin.pdf

[14]AXON L. Privacy-awareness in blockchain-based PKI, CDT technical paper series 21/15 [R/OL]. [2017- 05- 08]. https://ora.ox.ac.uk/objects/uuid:f8377b69-599b-4cae-8df0-f0cded53e63b.

[15]LEWISON K, CORELLA F. Backing rich credentials with a blockchain PKI[EB/OL]. [2017- 04- 12]. https://pomcor.com/techreports/BlockchainPKI.pdf.

[16]袁勇,王飛躍.區(qū)塊鏈技術(shù)發(fā)展現(xiàn)狀與展望[J].自動(dòng)化學(xué)報(bào),2016,42(4):481-494. (YUAN Y, WANG F Y. Blockchain: the state of the art and future trends[J]. Acta Automatica Sinica, 2016, 42(4): 481-494.)

[17]蔡維德,郁蓮,王榮,等.基于區(qū)塊鏈的應(yīng)用系統(tǒng)開(kāi)發(fā)方法研究[J].軟件學(xué)報(bào),2017,28(6):1474-1487. (CAI W D, YU L, WANG R, et al. Blockchain application development techniques [J]. Journal of Software, 2017, 28(6): 1474-1487.)

猜你喜歡
跨域哈希證書(shū)
基于多標(biāo)簽協(xié)同學(xué)習(xí)的跨域行人重識(shí)別
WJCI 收錄證書(shū)
CSCD收錄證書(shū)
為群眾辦實(shí)事,嶗山區(qū)打出“跨域通辦”組合拳
混合跨域神經(jīng)網(wǎng)絡(luò)的草圖檢索算法
收錄證書(shū)
基于特征選擇的局部敏感哈希位選擇算法
G-SRv6 Policy在跨域端到端組網(wǎng)中的應(yīng)用
哈希值處理 功能全面更易用
文件哈希值處理一條龍
报价| 陆丰市| 湖州市| 阜城县| 团风县| 通辽市| 广水市| 西藏| 彰武县| 密山市| 林州市| 弥勒县| 留坝县| 喀喇| 临漳县| 广平县| 霸州市| 台北市| 双桥区| 沂水县| 准格尔旗| 壶关县| 德格县| 抚松县| 镇巴县| 苍南县| 阜康市| 晋城| 菏泽市| 黄平县| 乌拉特前旗| 浮山县| 鄂托克旗| 西峡县| 麦盖提县| 三门县| 嘉祥县| 诸城市| 苍南县| 曲麻莱县| 镇安县|