周 亮 應(yīng) 歡 戴 波 邱意民
1(中國電力科學(xué)研究院有限公司 北京 102211)2(國網(wǎng)浙江省電力有限公司 浙江 杭州 310007)
隨著信息網(wǎng)絡(luò)的不斷發(fā)展,電子商務(wù)作為新興商業(yè)模式迎來的爆炸式增長。以中國為例,2017年市場規(guī)模已達(dá)24萬億[1]。在“互聯(lián)網(wǎng)+”的大背景下,電子商務(wù)在國民經(jīng)濟(jì)中的地位會越來越高。
然而在電子商務(wù)給社會帶來巨大變革的同時,其安全性面臨著嚴(yán)重的威脅。電子商務(wù)安全體系建設(shè)主要包含四個方面:1) 數(shù)據(jù)傳輸?shù)陌踩?,通常采用?shù)據(jù)加密技術(shù)或數(shù)字信封技術(shù)實(shí)現(xiàn);2) 數(shù)據(jù)完整性,通常采用哈希函數(shù)或數(shù)字簽名技術(shù)保障;3) 身份驗證,主要采用口令技術(shù),雙因子認(rèn)證以及數(shù)字證書;4) 交易不可抵賴,通過數(shù)字簽名和數(shù)字證書保證。這些都是信息安全領(lǐng)域傳統(tǒng)的并且成熟的技術(shù),但是無論是數(shù)字簽名還是數(shù)字證書,都要依托公鑰基礎(chǔ)設(shè)施(Public Key Infrastructure, PKI)[2]實(shí)現(xiàn)。在PKI中,由證書認(rèn)證中心(Certification Authority,CA)簽發(fā)數(shù)字證書(簡稱證書),綁定用戶的身份信息和公鑰。傳統(tǒng)電子商務(wù)安全技術(shù)無法有效應(yīng)對移動計算環(huán)境和分布式網(wǎng)絡(luò)環(huán)境帶來的兩方面的挑戰(zhàn)。
針對移動計算環(huán)境,Shedid等[3]分析了電子支付安全協(xié)議SSL和SET。研究表明,這兩個協(xié)議本身具有安全漏洞,會受到中間人攻擊和重放攻擊的威脅。Wei[4]提出引入可信第三方,保證身份和交易認(rèn)證過程的數(shù)據(jù)安全,但是維護(hù)可信第三方具有工程實(shí)現(xiàn)方面的難度。Hassinen等[5]設(shè)計了基于PKI的支付認(rèn)證系統(tǒng),并給出了系統(tǒng)的安全性證明。但是PKI體制是一種依托可信第三方的體制,存在證書維護(hù)以及密鑰托管的問題。劉明達(dá)等[6]提出了基于手機(jī)令牌的移動支付協(xié)議,但是僅面向移動支付環(huán)境,無法推廣到電子商務(wù)的其他應(yīng)用場景。
目前電子商務(wù)的網(wǎng)絡(luò)環(huán)境已經(jīng)呈現(xiàn)出分布式的特點(diǎn),電商平臺多,參與用戶多,集中化的身份管理機(jī)制繁瑣且困難,傳統(tǒng)的身份認(rèn)證體制已不能完全滿足電子商務(wù)的需求。目前,PKI系統(tǒng)在分布式環(huán)境下面臨的最大的挑戰(zhàn)是CA不可信的問題[7]。CA不可信主要包括三種情況:1) CA被黑客攻擊,導(dǎo)致中間人攻擊的問題;2) 用戶無法驗證CA簽證的過程,導(dǎo)致證書不透明的問題;3) 中心化CA故障,導(dǎo)致所有證書不可用。針對分布式環(huán)境下PKI系統(tǒng)的構(gòu)建問題,相關(guān)研究者同樣展開了大量的研究工作,其中最具代表性的是文獻(xiàn)[8-9]提出的Certcoin和文獻(xiàn)[10]提出的CertChain,都是基于區(qū)塊鏈技術(shù)構(gòu)建分布式的PKI系統(tǒng)。任彥冰等[11]提出了一種基于區(qū)塊鏈的分布式物聯(lián)網(wǎng)信息管理方法,改變了依托可信第三方的信任管理模式,但是面向的是物聯(lián)網(wǎng)環(huán)境,并不能直接用于電子商務(wù)。
為了解決分布式網(wǎng)絡(luò)環(huán)境下電子商務(wù)系統(tǒng)的身份認(rèn)證問題,在上述的研究基礎(chǔ)之上,本文提出了一種基于區(qū)塊鏈的可信電子商務(wù)身份認(rèn)證系統(tǒng)。一方面,引入?yún)^(qū)塊鏈技術(shù),解決中心化的CA面臨的風(fēng)險;另一方面,引入基于無證書密碼體制,克服中心化環(huán)境面臨的密鑰托管問題,降低中心化的風(fēng)險;最后基于可信執(zhí)行技術(shù),提高密碼計算的環(huán)境安全,增強(qiáng)身份認(rèn)證的安全性。本文的貢獻(xiàn)如下:
(1) 提出基于區(qū)塊鏈的電子商務(wù)身份認(rèn)證體系;
(2) 第一次將區(qū)塊鏈與無證書密碼結(jié)合,提出分布式的身份管理方法和身份認(rèn)證協(xié)議;
(3) 基于可信執(zhí)行技術(shù)的身份驗證環(huán)境構(gòu)建。
區(qū)塊鏈[12-14]本質(zhì)上是一個狀態(tài)機(jī)副本協(xié)議,屬于分布式容錯研究領(lǐng)域的問題。區(qū)塊鏈旨在建立一個去中心或弱中心化的數(shù)據(jù)庫系統(tǒng),實(shí)現(xiàn)分布式環(huán)境下安全高效的共識機(jī)制。除了數(shù)字貨幣之外,區(qū)塊鏈能夠適用于在多方不信任中心之間建立互信的應(yīng)用場景。
典型的區(qū)塊鏈系統(tǒng)由網(wǎng)絡(luò)層、共識層、數(shù)據(jù)層、智能合約層和應(yīng)用層組成。其中:網(wǎng)絡(luò)層通常是基于P2P協(xié)議進(jìn)行節(jié)點(diǎn)之間的通信,并通過Gossip等協(xié)議加速消息擴(kuò)散;共識層實(shí)現(xiàn)共識協(xié)議,協(xié)議可以是根據(jù)實(shí)際場景自由選擇,比如基于工作量證明PoW,基于權(quán)益證明PoS以及實(shí)用拜占庭協(xié)議PBFT[15];數(shù)據(jù)層是區(qū)塊鏈的數(shù)據(jù)結(jié)構(gòu),每一個數(shù)據(jù)庫通過哈希函數(shù),建立鏈?zhǔn)降臄?shù)據(jù)結(jié)構(gòu),每一個計算節(jié)點(diǎn)負(fù)責(zé)維護(hù)自己的存儲系統(tǒng);智能合約層[16]能夠?qū)τ诓煌臄?shù)據(jù)輸入執(zhí)行不同的操作,這個過程依托代碼自動執(zhí)行,并在全網(wǎng)達(dá)成共識;應(yīng)用層是區(qū)塊鏈系統(tǒng)的各種基本業(yè)務(wù),比如金融服務(wù)、保險業(yè)務(wù)等。
無證書密碼體制[17]不需要公鑰證書,是一種節(jié)約PKI體系和基于身份的密碼體制之間的一種密碼體系。在密碼系統(tǒng)中,通常都會維護(hù)一個密鑰生成中心(Key Generating Center,KGC),提供密鑰生成服務(wù)。無證書密碼體制中的KGC同樣用于協(xié)助雙方生成公私密鑰對,不同之處在于,KGC只擁有部分私鑰,并不擁有全部私鑰。用戶需要根據(jù)自己隨機(jī)選擇的秘密值生成完整的私鑰,而公鑰由用戶的秘密值、身份核系統(tǒng)參數(shù)計算得出。這樣的優(yōu)勢在于,能夠降低KGC本身的安全強(qiáng)度要求,降低其工程實(shí)現(xiàn)的難度,簡化認(rèn)證協(xié)議。
無證書簽密是基于無證書密碼體制的簽名和加密技術(shù),能夠?qū)崿F(xiàn)通信雙方的加密和數(shù)字簽名。以Barbosa和Farshim[18]提出的無證書簽密方案為例概括無證書簽密的基本原理,本文的重點(diǎn)在于使用無證書簽密,所以只進(jìn)行概括性描述。KGC計算用戶的部分私鑰Du,用戶隨機(jī)選擇xu,作為秘密值。用戶可以計算出私鑰Su=(Du,xu),公鑰PKu=xuP。Alice對消息m進(jìn)行簽密,得到密文σ=(V,c,W)。當(dāng)Bob收到σ時,只需要驗證等式是否成立,就可以驗證簽名并解密得到m。在認(rèn)證的過程中,通信雙方都基于無證書的原理生成公私密鑰對,而驗證成功的前提是雙方都擁有各自的正確公鑰。等式如下:
e(W,P)=e(QA,Ppub)e(H3(V,c,IDA,PKA),
V)e(H4(V,c,IDA,PKA),PKA)
密碼需要安全可信的計算的環(huán)境才能保證其安全??尚艌?zhí)行環(huán)境[19](Trusted Execution Environment,TEE)近年來也得到了廣泛的關(guān)注。和傳統(tǒng)系統(tǒng)結(jié)構(gòu)安全技術(shù)不同,可信執(zhí)行技術(shù)的核心思想是以CPU作為信任根,建立從信任根直接到應(yīng)用程序的信任鏈。
TEE目前有兩種技術(shù)路線:ARM Trustzone[20]和Intel SGX技術(shù)[21]。Trustzone主要面向嵌入式計算領(lǐng)域,能夠在SOC內(nèi)部虛擬出兩個計算環(huán)境:安全計算環(huán)境和普通計算環(huán)境。而SGX基于Intel CPU,主要面向終端和云計算領(lǐng)域,支持CPU直接到應(yīng)用的信任傳遞。針對可信執(zhí)行的研究是系統(tǒng)安全的熱門研究方向。SGX支持遠(yuǎn)程證明功能,能夠互相證明程序正運(yùn)行在受SGX保護(hù)的環(huán)境中。崔曉煜等[22]提出了一種基于Trustzone的密鑰管理機(jī)制,保證嵌入式設(shè)備中的密鑰安全。楊霞等[23]提出了基于Trustzone的安全指紋識別技術(shù),提高安全驗證過程的安全性。嚴(yán)飛等[24]提出了一種基于SGX的可信環(huán)境安全增強(qiáng)方案,能夠增強(qiáng)代碼和數(shù)據(jù)安全。Arnautov等[25]提出了SCONE系統(tǒng),基于SGX技術(shù)保護(hù)Docker容器的安全,使容器內(nèi)進(jìn)程免受外部攻擊?;谏鲜鲅芯靠芍诎踩到y(tǒng)設(shè)計中,如果有涉及安全的代碼和數(shù)據(jù)需要高可信的運(yùn)行環(huán)境,那么根據(jù)計算終端的形態(tài),可以選擇Trustzone或SGX予以保護(hù)。
方案的總體框架如圖1所示。
圖1 總體框架
該方案由分布式的密鑰生成中心(Distributed Key Generating Center,D-KGC)、商家(Merchant,MC)、電商平臺(E-commerce Platform,EP)和用戶(User)組成。其中:D-KGC是密鑰生成機(jī)構(gòu),是一個基于區(qū)塊鏈系統(tǒng)的分布式密鑰生成中心;MC是參與電子商務(wù)系統(tǒng)的商家,可以是大型商家,也可以是個體商家;EP是電商平臺,如京東、淘寶和亞馬遜。
本節(jié)對協(xié)議的運(yùn)行基本流程進(jìn)行描述,如圖2所示。
圖2 協(xié)議流程
協(xié)議分為三個主要的階段:注冊階段、認(rèn)證階段1和認(rèn)證階段2。認(rèn)證階段1指的是電商平臺和商家之間的認(rèn)證,兩端的計算平臺是計算機(jī)或服務(wù)器,能夠?qū)崿F(xiàn)基于SGX技術(shù)的遠(yuǎn)程證明。階段2指的是電商平臺和用戶之間的認(rèn)證,如果用戶使用的計算機(jī),那么認(rèn)證過程和階段1相似,都可以基于SGX技術(shù)增強(qiáng)認(rèn)證過程的安全性;如果用戶使用的是移動終端,那么只能基于Trustzone技術(shù)對密碼運(yùn)算過程進(jìn)行額外的保護(hù)。
? 注冊階段:
(1) 各參與方與D-KGC協(xié)同計算,得到公私密鑰對,其中D-KGC負(fù)責(zé)存儲保護(hù)無證書密碼的部分私鑰,以及負(fù)責(zé)分發(fā)公鑰。
? 認(rèn)證階段1:
(2) EP和MC之間發(fā)起互相的身份認(rèn)證。
(3) EP和MC調(diào)用SGX的遠(yuǎn)程證明機(jī)制,互相證明各自的密碼運(yùn)算環(huán)境均受到SGX安全機(jī)制保護(hù)。
(4) EP和MC去D-KGC獲取對方的公鑰。
(5) EP和MC構(gòu)造無證書簽密的消息,并發(fā)送。
(6) EP和MC驗證消息,完成身份認(rèn)證過程。
? 認(rèn)證階段2:
(7) EP和User之間發(fā)起互相的身份認(rèn)證。
(8) EP和User去D-KGC獲取對方的公鑰。
(9) EP和User構(gòu)造無證書簽密的消息,并發(fā)送。
(10) EP和User驗證消息,完成身份認(rèn)證過程。
為了實(shí)現(xiàn)2.2節(jié)中的協(xié)議流程,需要進(jìn)行三個部分的設(shè)計,也是身份認(rèn)證系統(tǒng)的核心。分布式的身份管理:研究如何基于區(qū)塊鏈構(gòu)建一個分布式的密鑰生成中心,并維護(hù)和管理用戶的部分私鑰和公鑰。基于無證書簽密的身份認(rèn)證:研究如何將身份認(rèn)證和無證書密碼結(jié)合,實(shí)現(xiàn)不基于可信第三方的快速身份認(rèn)證??尚诺纳矸蒡炞C環(huán)境:研究如何合理運(yùn)用SGX和Trustzone強(qiáng)大的安全機(jī)制,提高電子商務(wù)的安全。
2.3.1分布式的身份管理
分布式的身份管理如圖3所示。
圖3 分布式的身份管理
密鑰生成中心是一個基于區(qū)塊鏈的分布式的系統(tǒng),這里的設(shè)計參考CertChain[10]的思路。D-KGC的主要功能有兩個:生成無證書密碼的用戶部分私鑰;管理和分發(fā)公鑰。下面對分布式身份管理的核心設(shè)計進(jìn)行描述。
1) 用戶公私鑰生成與管理。用戶User_A隨機(jī)向D-KGC的一個服務(wù)器Server_A發(fā)送密鑰注冊申請DuReq={UserID,Information}。Server_A收到注冊申請后,發(fā)布智能合約,將User_A的申請共識到D-KGC的其他節(jié)點(diǎn)。假設(shè)此時區(qū)塊鏈的記賬節(jié)點(diǎn)是Server_B,此時Server_B運(yùn)行密碼算法,生成User_A的部分私鑰,并打包到區(qū)塊中,寫入?yún)^(qū)塊鏈系統(tǒng)。記賬節(jié)點(diǎn)的選取和共識機(jī)制相關(guān),如PoW共識采用挖礦,而PoS基于權(quán)益。此時,Server_A檢索到部分私鑰已生成,并發(fā)布到區(qū)塊鏈上,隨機(jī)將部分私鑰Du發(fā)送給User_A。
User_A收到部分私鑰Du后,運(yùn)行密碼運(yùn)算,生成自己的公鑰PA和完整的私鑰SA。其中,私鑰SA需要用戶自己妥善保存,本文的設(shè)計是基于可信執(zhí)行環(huán)境。公鑰發(fā)送回D-KGC進(jìn)行管理與分發(fā)。
2) 公鑰管理與分發(fā)。Server_A收到User_A計算得到的公鑰PA后,運(yùn)行共識機(jī)制,將公鑰分發(fā)給D-KGC的其他服務(wù)器,并由記賬節(jié)點(diǎn)寫入?yún)^(qū)塊鏈系統(tǒng)。
當(dāng)電子商務(wù)系統(tǒng)中的其他實(shí)體申請User_A的公鑰時。假設(shè)電商平臺EP向D-KGC的Server_C申請公鑰。此時,Server_C根據(jù)申請返回公鑰給EP,但同時將訪問信息廣播出去,由記賬節(jié)點(diǎn)寫入?yún)^(qū)塊鏈系統(tǒng)。這樣能夠建立基于區(qū)塊鏈的可信的審計證據(jù),及時發(fā)現(xiàn)異常行為。
3) 區(qū)塊鏈數(shù)據(jù)結(jié)構(gòu)設(shè)計。和常見的區(qū)塊鏈系統(tǒng)類似,本文的區(qū)塊鏈數(shù)據(jù)結(jié)構(gòu)設(shè)計同樣采用哈希鏈的方式,構(gòu)成一個不可篡改的數(shù)據(jù)結(jié)構(gòu)。在每一個區(qū)塊中,包含區(qū)塊頭和區(qū)塊體。區(qū)塊頭的核心是記錄前向區(qū)塊、記賬節(jié)點(diǎn)和哈希根。區(qū)塊鏈?zhǔn)菙?shù)據(jù)記錄的主體,這里的記錄有多種,如部分私鑰、公鑰、查詢歷史以及用戶信息等。
2.3.2基于無證書簽密的身份認(rèn)證
身份認(rèn)證是電子商務(wù)系統(tǒng)各參與方在執(zhí)行交易之前,互相確認(rèn)對方具有合法身份的過程。既要實(shí)現(xiàn)加密通信,又要進(jìn)行數(shù)字簽名,以驗證各自的身份。Barbosa和Farshim提出的無證書簽密協(xié)議(以下簡稱為BF協(xié)議)本身具有加密和簽名兩個層面的功能,能夠通過一條消息實(shí)現(xiàn)兩種功能。問題的核心在于,如何構(gòu)造BF協(xié)議傳輸?shù)男畔?。基于無證書簽密的身份認(rèn)證過程如圖4所示。
圖4 基于無證書簽密的身份認(rèn)證
Step1MC/User發(fā)送連接請求到EP;
Step2EP收到連接請求,并發(fā)送回執(zhí)到MC/User;
Step3EP和MC/User隨機(jī)選擇D-KGC服務(wù)器,申請對方的公鑰;
Step4D-KGC發(fā)送公鑰給申請方;
Step5MC/User使用自己的公私鑰和對方的公鑰,構(gòu)造BF無證書簽密消息M1;
Step6MC/User將消息M1發(fā)送到EP進(jìn)行驗證;
Step7若EP驗證通過,則EP構(gòu)造BF無證書簽密消息M2;
Step8EP將M2發(fā)送到MC/User進(jìn)行驗證;
Step9若驗證通過,則建立交易連接。
在消息的構(gòu)造時,需要引入隨機(jī)數(shù)和時間戳,用于對抗重放攻擊,這也是密碼協(xié)議常用的思路。首先讓電商平臺驗證用戶或商家的身份,驗證通過以后再進(jìn)行反向認(rèn)證。這樣設(shè)計的原因是,電商平臺的可信度更高,被攻破的難度更大,能夠有效對抗針對電商平臺的拒絕服務(wù)攻擊。
2.3.3可信的身份驗證環(huán)境
可信的身份驗證環(huán)境如圖5所示。
圖5 可信的身份驗證環(huán)境
1) 基于SGX的可信驗證環(huán)境。在本文的設(shè)計中,處理器支持SGX硬件安全擴(kuò)展,能夠創(chuàng)建Enclave。EPC是內(nèi)存上的特殊區(qū)域,用于存放Enclave實(shí)例的代碼和數(shù)據(jù),這一部分?jǐn)?shù)據(jù)只有在CPU的內(nèi)部才以明文的形式出現(xiàn)。在內(nèi)核層,SGX驅(qū)動用于創(chuàng)建應(yīng)用層的Enclave,修改Enclave頁面或刪除。在設(shè)計SGX程序時,程序從邏輯上可以分為可信部分和非可信部分。在本文的系統(tǒng)中,可信部分執(zhí)行和密碼相關(guān)的機(jī)密性操作,如密碼運(yùn)算、密鑰管理以及遠(yuǎn)程證明過程??尚挪糠趾头强尚挪糠种g具有嚴(yán)格的隔離,不能夠直接進(jìn)行數(shù)據(jù)交互,只能通過特定的接口進(jìn)行交互。SGX提供了遠(yuǎn)程證明機(jī)制,能夠使得通信雙方的應(yīng)用程序能夠互相確認(rèn)各自都運(yùn)行在Enclave中,增強(qiáng)互信。
2) 基于Trustzone的可信驗證環(huán)境。Trustzone技術(shù)同樣是提供基于硬件的可信運(yùn)行環(huán)境,但是實(shí)現(xiàn)原理和SGX不同。處理器支持Trustzone安全擴(kuò)展,能夠在處理器內(nèi)部虛擬成可信核與普通核,進(jìn)而支持運(yùn)行在兩個系統(tǒng)核上的普通操作系統(tǒng)和安全操作系統(tǒng)。Trustzone沒有提供遠(yuǎn)程證明機(jī)制,所以在本文的設(shè)計中,移動終端在調(diào)用可信執(zhí)行時,僅對密碼運(yùn)算和密鑰管理兩個功能模塊進(jìn)行保護(hù)。
原型系統(tǒng)旨在驗證本文提出的身份認(rèn)證系統(tǒng)的可行性,在提供高安全性的同時,具備良好的效率。原型系統(tǒng)的組成結(jié)構(gòu)如圖6所示,主要由三部分構(gòu)成,具體實(shí)現(xiàn)如表1所示。由于完整的系統(tǒng)涉及的技術(shù)多,工作量大,本文只進(jìn)行核心部分的實(shí)驗。
圖6 原型系統(tǒng)構(gòu)成
分系統(tǒng)名稱模塊構(gòu)成環(huán)境搭建分布式密鑰管理系統(tǒng)區(qū)塊鏈Hyperledger Fabric 1.1物理環(huán)境浪潮英信服務(wù)器NF5270M4,Intel CPU E5-2603V4,虛擬機(jī)管理器VMware12,虛擬機(jī)Ubuntu 18.04.1。數(shù)量:5個虛擬機(jī)組成分布式密鑰管理系統(tǒng)
續(xù)表1
首先,對D-KGC的基本性能進(jìn)行測試,即區(qū)塊大小,共識速度以及交易吞吐量。根據(jù)Fabric 1.1[26]的性能測試結(jié)論,當(dāng)區(qū)塊大小為2 MB時,吞吐量和時延的表現(xiàn)最優(yōu)。測試結(jié)果表明,在共識節(jié)點(diǎn)數(shù)量為5時,區(qū)塊鏈的共識效率能夠達(dá)到約5 000 TPS。在更大規(guī)模的應(yīng)用中,節(jié)點(diǎn)數(shù)量會更多,根據(jù)Fabric 1.1本身的測試結(jié)果,當(dāng)節(jié)點(diǎn)數(shù)目為32時,也能夠達(dá)到3 000 TPS??傊贔abric的架構(gòu)下實(shí)現(xiàn)的分布式的身份管理系統(tǒng),不僅能夠?qū)崿F(xiàn)身份準(zhǔn)入,同時能夠提供足夠的性能支撐。
然后,對基于無證書的身份認(rèn)證過程進(jìn)行性能測試與分析。認(rèn)證的時間消耗主要由通信開銷和密碼計算開銷構(gòu)成,而通信開銷主要有網(wǎng)絡(luò)質(zhì)量決定,非本文的研究內(nèi)容。所以,本實(shí)驗將身份認(rèn)證過程分解為3個階段:(1) 密鑰獲取階段;(2) 簽密信息構(gòu)造階段;(3) 簽密信息驗證階段。利用每一個階段的時間節(jié)點(diǎn)測算時間差,經(jīng)過3輪測試,記錄各環(huán)節(jié)的時間開銷。由于無證書密碼的運(yùn)算量大,所以會產(chǎn)生更多的時間開銷。同時,移動終端的計算能力低于PC機(jī)的計算能力。在PC機(jī)上測試的性能如表2所示。在移動終端的測試結(jié)果顯示,第一階段和PC機(jī)上的性能相似。而第二第三階段涉及密碼運(yùn)算,運(yùn)算時間約增加40%。
表2 認(rèn)證過程耗時測試 ms
接著,對身份認(rèn)證的并發(fā)數(shù)量進(jìn)行分析,即認(rèn)證數(shù)量和性能的關(guān)系。從三個場景展開分析:(1) D-KGC支撐并發(fā)認(rèn)證的能力;(2) 商家與電商平臺之間并發(fā)認(rèn)證能力;(3) 用戶和電商平臺之間的并發(fā)認(rèn)證能力。針對場景1,無證書密碼的引入克服了密鑰托管的問題,D-KGC只需在用戶注冊階段生成公私密鑰,并負(fù)責(zé)公鑰分發(fā)的工作,這大大降低了密鑰中心的負(fù)擔(dān)。在系統(tǒng)運(yùn)行過程中,參與認(rèn)證的雙方只有在第一次認(rèn)證的時候,才需要去D-KGC申請對方公鑰,所以大部分身份認(rèn)證過程D-KGC都無需參與。從這一角度,大量的認(rèn)證過程不會為D-KGC帶來過多的負(fù)擔(dān)。針對場景2和場景3,電商平臺面對的是大量的用戶和商家,認(rèn)證的數(shù)量和性能取決于電商平臺的網(wǎng)絡(luò)帶寬和計算能力。通過在商家和用戶開啟多線程的方式模擬大量用戶并行認(rèn)證的過程,結(jié)果表明,在未對電商平臺產(chǎn)生DDoS攻擊[27]效果前,單線程的身份認(rèn)證效率并未隨線程增多而明顯降低。在分布式系統(tǒng)中,計算能力可以依靠增加計算設(shè)備解決,網(wǎng)絡(luò)帶寬實(shí)際上是系統(tǒng)的瓶頸。無證書密碼的引入極大減少了與傳統(tǒng)認(rèn)證中可信第三方的通信交互,實(shí)際上節(jié)約了大量的帶寬資源,同等硬件環(huán)境下,能夠支撐更大的訪問量。
最后,進(jìn)行可信執(zhí)行環(huán)境的效率分析。針對密碼運(yùn)算和密鑰管理模塊,在普通操作系統(tǒng)環(huán)境和可信執(zhí)行環(huán)境(SGX和Trustzone)中進(jìn)行對比實(shí)驗,結(jié)果表明,調(diào)用密碼模塊增加的系統(tǒng)開銷不超過10 ms。對基于SGX的遠(yuǎn)程證明的過程進(jìn)行實(shí)驗,結(jié)果表明,基于SGX的遠(yuǎn)程證明的過程的時間開銷不超過50 ms??傊诳尚艌?zhí)行技術(shù)對密碼和認(rèn)證過程進(jìn)行保護(hù),增加的時間開銷較低,具有很強(qiáng)的可行性。
基于區(qū)塊鏈的可信電子商務(wù)身份認(rèn)證系統(tǒng)具有以下核心安全特性:
(1) 密鑰管理去中心化。由于引入了區(qū)塊鏈技術(shù)和無證書密碼體制,有效規(guī)避了傳統(tǒng)的身份認(rèn)證過程面臨的中心化固有安全缺陷。和當(dāng)前基于區(qū)塊鏈構(gòu)建PKI系統(tǒng)的研究相比,本文提出區(qū)塊鏈和無證書密碼結(jié)合的密鑰管理機(jī)制,具有更強(qiáng)的安全優(yōu)勢。前者是將單點(diǎn)化的可信中心變?yōu)榉植际降目尚胖行?,解決了單點(diǎn)失效的問題。本文進(jìn)一步將分布式的可信中心轉(zhuǎn)變?yōu)榉植际降目尚湃踔行?,進(jìn)一步降低了密碼系統(tǒng)的中心化程度。
(2) 可信的密碼運(yùn)算環(huán)境。本節(jié)進(jìn)行了安全性的實(shí)際測試,從Trustzone和SGX兩種技術(shù)入手進(jìn)行攻擊性分析。首先針對Trustzone,構(gòu)造一個惡意APP程序,嘗試攻擊密碼運(yùn)算模塊,讀取相應(yīng)的內(nèi)存位置,以獲取密鑰。實(shí)驗結(jié)果表明,運(yùn)行在普通世界的APP無法調(diào)用安全世界的程序模塊,也無法讀取相應(yīng)的內(nèi)存。在實(shí)際的應(yīng)用場景中,有權(quán)限調(diào)用安全世界的程序是需要經(jīng)過硬件廠家簽名認(rèn)證的,普通惡意程序難以獲取這樣的權(quán)限。針對SGX,嘗試從逆向分析的角度展開,用OllyDBG這一款調(diào)試分析工具對PC端的身份認(rèn)證程序進(jìn)行反匯編。實(shí)驗結(jié)果表明,受到SGX機(jī)制保護(hù)的代碼段是無法成功反匯編得到匯編程序的。程序運(yùn)行到SGX保護(hù)的代碼時,會直接跳過。
針對電子商務(wù)環(huán)境面臨的身份認(rèn)證安全問題,本文提出了一種基于區(qū)塊鏈的可信電子商務(wù)認(rèn)證系統(tǒng)。系統(tǒng)融合了信息安全領(lǐng)域的最新技術(shù),即區(qū)塊鏈、無證書密碼和可信執(zhí)行技術(shù),構(gòu)建了完整的身份認(rèn)證體系,有效增強(qiáng)了認(rèn)證的可信度。實(shí)驗表明,該方案安全高效,具有很強(qiáng)的可行性。接下來將進(jìn)一步研究區(qū)塊鏈和無證書密碼結(jié)合過程中面臨的密鑰撤銷問題。