亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于區(qū)塊鏈的身份信息共享認(rèn)證方案*

        2020-11-06 08:29:50黑一鳴劉建偉管曄瑋
        密碼學(xué)報(bào) 2020年5期
        關(guān)鍵詞:合約密鑰加密

        黑一鳴, 劉建偉, 管曄瑋

        北京航空航天大學(xué) 網(wǎng)絡(luò)空間安全學(xué)院, 北京100191

        1 引言

        在當(dāng)今時(shí)代, 各行業(yè)機(jī)構(gòu)為方便用戶管理和服務(wù)都需要獲取并認(rèn)證用戶的身份信息. 目前大多數(shù)認(rèn)證方案都是為了保障認(rèn)證的效率和準(zhǔn)確率[1,2], 而忽視了身份信息的隱私性和安全性. 從用戶隱私角度來(lái)看,用戶并不清楚身份信息獲取者的實(shí)際需求, 一旦信息獲取者超越其訪問(wèn)權(quán)限, 非法獲取用戶額外的身份信息, 則用戶個(gè)人隱私難以受到保護(hù). 從便捷性角度來(lái)看, 用戶每到一個(gè)新場(chǎng)景下都要重新注冊(cè)并認(rèn)證身份信息, 這導(dǎo)致用戶很多冗余操作, 且工作效率不高. 從數(shù)據(jù)安全角度來(lái)看, 用戶身份數(shù)據(jù)是是分布在各機(jī)構(gòu)服務(wù)器上的, 由于他們的存儲(chǔ)安全性參差不齊, 一旦出現(xiàn)信息泄漏或個(gè)別服務(wù)器故障, 后果非常嚴(yán)重.

        綜合來(lái)看, 可控權(quán)限的安全身份信息共享認(rèn)證問(wèn)題亟待解決.

        2005 年, Sahai 和Waters 為了解決上述的身份信息隱私性和安全性的問(wèn)題, 在身份基加密方案[3]的基礎(chǔ)上提出了屬性基加密方案[4]. 該方案較好地解決了用戶隱私信息保護(hù)問(wèn)題, 并且可以實(shí)現(xiàn)細(xì)粒度的訪問(wèn)控制.

        2008 年, 中本聰提出比特幣網(wǎng)絡(luò)[5], 區(qū)塊鏈技術(shù)正式進(jìn)入人們視野, 區(qū)塊鏈中比較有代表性的技術(shù)是智能合約技術(shù)[6]. 智能合約是一種允許在沒(méi)有第三方參與的情況下, 以代碼方式形成、驗(yàn)證或執(zhí)行合同的計(jì)算機(jī)協(xié)議[7]. 其透明化和程序化的特點(diǎn)適合于完成數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)訪問(wèn)和數(shù)據(jù)更新操作. 目前最主流的智能合約系統(tǒng)是以太坊[8].

        1.1 本文貢獻(xiàn)

        第一, 本方案基于屬性基加密技術(shù), 由可信注冊(cè)機(jī)構(gòu)設(shè)置各行業(yè)機(jī)構(gòu)的身份信息訪問(wèn)權(quán)限, 防止用戶不必要的隱私暴露.

        第二, 本文使用區(qū)塊鏈的智能合約技術(shù)實(shí)現(xiàn)身份信息共享和更新, 避免了身份信息多次重復(fù)注冊(cè)填寫(xiě),方便了信息共享及身份認(rèn)證工作.

        第三, 本方案使得身份信息注冊(cè)標(biāo)準(zhǔn)化, 基于區(qū)塊鏈的分布式存儲(chǔ)結(jié)構(gòu), 相對(duì)普通中心化存儲(chǔ)服務(wù)器模型的魯棒性更高.

        第四, 本方案在自行搭建的以太坊私鏈上進(jìn)行了性能測(cè)試工作, 實(shí)驗(yàn)結(jié)果表明了本方案具有可行性.

        1.2 相關(guān)研究工作

        1997 年, Szabo[6]提出了智能合約的概念, 他指出計(jì)算機(jī)代碼可以替代機(jī)械設(shè)備進(jìn)行復(fù)雜交易的處理, 但當(dāng)時(shí)缺乏可信的運(yùn)行環(huán)境, 并沒(méi)有得到重視. 直到區(qū)塊鏈技術(shù)的流行才推動(dòng)了它的發(fā)展. 目前智能合約技術(shù)已經(jīng)應(yīng)用到了很多方面, 其中包括商品拍賣(mài)交易[9]、共享經(jīng)濟(jì)[10]和商品交易[11]等. 盡管如此,智能合約仍處于較為初級(jí)的階段, 存在著很多問(wèn)題. 首先, 智能合約的開(kāi)發(fā)需要一定的編程能力, 沒(méi)有相關(guān)學(xué)習(xí)背景的用戶難以參與合約編寫(xiě)和審計(jì). 另外, 智能合約還存在異常處理脆弱[11]、數(shù)據(jù)來(lái)源不可靠[12]、隱私易泄露[9,13]等安全隱患. 針對(duì)智能合約開(kāi)發(fā)壁壘問(wèn)題, 現(xiàn)有比較好的解決方案有半自動(dòng)合約開(kāi)發(fā)[14]和形式化驗(yàn)證. 針對(duì)智能合約的安全性問(wèn)題, 可使用OYENTE[12]和Hawk[9]工具進(jìn)行檢測(cè).

        2001 年, Boneh[15]提出了身份基加密(Identity-based Encryption, IBE). Nico D?ttling 和Sanjam Garg[14]于2017 年提出了變色龍加密方案, 利用變色龍哈希函數(shù)壓縮公鑰, 提高了IBE 的效率. 該類加密方案以用戶身份作為公鑰, 其存在用戶隱私暴露等安全問(wèn)題. Sahai 和Waters 為解決IBE 存在的問(wèn)題, 提出了屬性基加密[4]的方案. 在該方案中, 用戶不需要公開(kāi)自己所有的身份信息, 確保了用戶信息的隱私性和安全性. 另外, 解密者需要滿足屬性條件才能正確解密, 確保了數(shù)據(jù)的保密性. 2006 年, Goyal等人[16]提出了密鑰策略屬性基加密方案(KP-ABE). 將用戶的密鑰與系統(tǒng)的訪問(wèn)控制策略相聯(lián)系, 密文與用戶的屬性集相聯(lián)系. 2016 年, Wang[17]等人對(duì)KP-ABE 中的密鑰生成過(guò)程和解密過(guò)程進(jìn)行了優(yōu)化, 用訪問(wèn)受限樹(shù)來(lái)描述訪問(wèn)策略, 給出了一種密鑰生成效率高, 解密成本低的KP-ABE 方案. 但該類方案中, 用戶對(duì)數(shù)據(jù)的訪問(wèn)控制能力較弱. 2007 年, Bethencourt 等人[18]提出密文策略屬性基加密方案(CP-ABE). 與KP-ABE 相反, 該方案將密文與系統(tǒng)的訪問(wèn)控制策略相聯(lián)系, 密鑰與用戶的屬性集相聯(lián)系.后來(lái)Goyal 等人[19]給出了CP-ABE 的安全性證明并改進(jìn)了該方案, 使其支持更高級(jí)的訪問(wèn)結(jié)構(gòu). Liang等人[20]改進(jìn)了Goyal 等人的方案, 給出了更快的加解密算法且其生成的密文長(zhǎng)度更短. 然而, 這些方案的密文長(zhǎng)度均取決于屬性集的大小. Zhou 和Huang[21]提出的方案不僅能獲得固定長(zhǎng)度的密文, 訪問(wèn)結(jié)構(gòu)也不會(huì)呈指數(shù)增加. 上述的方案中, 密文總是和顯式的訪問(wèn)結(jié)構(gòu)綁定發(fā)送, 這樣會(huì)泄露訪問(wèn)控制結(jié)構(gòu)中的敏感信息. 2012 年, Lai[22]提出了一種能夠部分隱藏訪問(wèn)結(jié)構(gòu)的CP-ABE 方案, 并在完全安全模型下證明了該方案的安全性. 2013 年, Hur[23]對(duì)此提出了新的方案, 該方案對(duì)訪問(wèn)策略進(jìn)行盲化處理, 保護(hù)了訪問(wèn)策略, 該方案在通用群模型下被證明是安全的. 2017 年, Qiu 等人[24]針對(duì)基于屬性的可檢索加密方案, 提出了訪問(wèn)策略保護(hù)方案, 使用非對(duì)稱雙線性映射實(shí)現(xiàn)了訪問(wèn)策略的隱藏, 能夠抵抗關(guān)鍵字猜測(cè)攻擊. 隨著訪問(wèn)策略控制算法的逐漸成熟, 密鑰濫用成為一個(gè)新的亟待解決的問(wèn)題. 密鑰濫用包括非法密鑰共享和密鑰濫發(fā)兩種情況. 其中非法密鑰分享指的是用戶故意泄露自己的屬性密鑰信息; 非法密鑰分發(fā)指的是屬性中心濫發(fā)屬性密鑰. 在當(dāng)前的ABE 方案中, 屬性中心分配給用戶的私鑰往往僅和用戶屬性有關(guān), 而不包含用戶的獨(dú)有特征信息, 導(dǎo)致密鑰濫用現(xiàn)象相當(dāng)普遍, 這對(duì)ABE 方案的安全性和可靠性造成了嚴(yán)重的威脅. Zhang 等人[25]給出了一個(gè)能實(shí)現(xiàn)黑盒追溯的CP-ABE 方案, 該方案不僅支持靈活且細(xì)粒度的用戶屬性撤銷(xiāo)操作且能快速追溯泄露屬性密鑰的惡意用戶. 2017 年, Yu 等人[26]介紹了一種可問(wèn)責(zé)CP-ABE 方案. 該方案將用戶身份嵌入到屬性密鑰中, 支持第三方公開(kāi)追溯泄露密鑰者的身份且能準(zhǔn)確判斷是惡意用戶還是屬性中心需要對(duì)泄露的密鑰負(fù)責(zé). 2018 年, Jiang[27]提出一個(gè)結(jié)合了秘密分享技術(shù)的ABE 方案, 在實(shí)現(xiàn)追蹤泄露密鑰用戶的同時(shí)解決了屬性密鑰的濫發(fā)的問(wèn)題. 在現(xiàn)實(shí)生活中, 用戶的屬性密鑰往往是由多個(gè)屬性中心進(jìn)行管理的. 為了契合實(shí)際應(yīng)用的場(chǎng)景, 2007 年, Chase[28]實(shí)現(xiàn)了多屬性授權(quán)中心的ABE 方案: 用戶的密鑰由多個(gè)授權(quán)中心分配, 單個(gè)或少數(shù)中心非法的密鑰分發(fā)行為無(wú)法影響整個(gè)系統(tǒng)的安全性, 在一定程度上增強(qiáng)了系統(tǒng)的魯棒性. 但其存在兩個(gè)問(wèn)題, 一是方案中存在一個(gè)中央授權(quán)機(jī)構(gòu), 其行為不可控(可能是惡意的). 二是該方案僅支持有限集合的屬性, 不利于權(quán)限的擴(kuò)展. 文獻(xiàn)[29] 中方案展示了一個(gè)無(wú)中央授權(quán)機(jī)構(gòu)的ABE 架構(gòu). 在該方案中, 所有的屬性中心都彼此獨(dú)立地為用戶發(fā)放各自管理的屬性密鑰. 針對(duì)第二個(gè)問(wèn)題, Yang 等人[30]利用合數(shù)階雙線性群, 提出了一種支持權(quán)限擴(kuò)展的多授權(quán)中心ABE 方案, 并利用雙系統(tǒng)加密方法證明該方案是安全的.

        2 背景

        2.1 符號(hào)定義

        表1 符號(hào)定義Table 1 Notations

        2.2 以太坊

        當(dāng)前支持智能合約的主流區(qū)塊鏈系統(tǒng)有以太坊、codius 和hyperledger 等. 以太坊是其中最為活躍的公有鏈系統(tǒng), 它提供了去中心化的以太坊虛擬機(jī)來(lái)處理智能合約, 具有圖靈完備性. 執(zhí)行以太坊合約中的函數(shù)需要消耗一定的交易費(fèi)用gas.

        以太坊上智能合約的運(yùn)行原理如圖1 所示. 首先, 以太坊客戶端發(fā)送調(diào)用合約函數(shù)的指令給以太坊節(jié)點(diǎn); 然后, 以太坊節(jié)點(diǎn)將該指令輸入其本地以太坊虛擬機(jī), 按合約規(guī)則執(zhí)行指令并返回結(jié)果; 最后, 以太坊節(jié)點(diǎn)互相對(duì)比驗(yàn)證運(yùn)算結(jié)果, 根據(jù)系統(tǒng)共識(shí)機(jī)制將結(jié)果記錄到鏈上.

        圖1 以太坊智能合約運(yùn)行原理Figure 1 Execution principle of smart contracts on Ethereum

        2.3 屬性基加密

        屬性基加密方案的主要思路是: 用戶利用某特定屬性集進(jìn)行加密. 解密時(shí), 只有解密者的屬性集合滿足一定條件才能正確解密密文. 基本描述如下:

        (1) (PK,MK) ←Setup(d): 該算法由授權(quán)機(jī)構(gòu)執(zhí)行, 輸入安全參數(shù)d, 輸出系統(tǒng)公鑰PK 以及主私鑰MK.

        (2) SK ←KeyGen(PK,MK,W): 該算法由授權(quán)機(jī)構(gòu)執(zhí)行, 輸入系統(tǒng)公鑰PK、主私鑰MK, 用戶屬性集合W, 生成該用戶的私鑰SK.

        (3) CT ←Encrypt(PK,W′,M): 該算法由發(fā)送方執(zhí)行, 利用系統(tǒng)公鑰PK、屬性集W′對(duì)消息M進(jìn)行加密, 生成密文CT.

        (4) M ←Decrypt(PK,SK,CT): 該算法由消息接收方執(zhí)行, 利用系統(tǒng)公鑰PK、私鑰SK 解密CT,生成明文消息M.

        屬性基加密方案可分為兩類: KP-ABE 和CP-ABE. 它們均是在上述基本方案的基礎(chǔ)上做了一些改進(jìn). 本系統(tǒng)為保證發(fā)送者對(duì)信息的訪問(wèn)控制能力, 將使用CP-ABE 方案. 在CP-ABE 方案中, 發(fā)送方可以用自己定義的訪問(wèn)控制結(jié)構(gòu)A 代替基本加密過(guò)程中的屬性集W′, 用戶私鑰仍舊通過(guò)屬性集W 進(jìn)行生成. 在這個(gè)設(shè)定下, 解密方只有滿足了訪問(wèn)結(jié)構(gòu)才能正確解密. 其工作流程如圖2 所示.

        3 方案構(gòu)造

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

        本文方案的身份信息共享認(rèn)證系統(tǒng)是由多個(gè)分布式職能域包含的節(jié)點(diǎn)組成的區(qū)塊鏈網(wǎng)絡(luò), 系統(tǒng)架構(gòu)如圖3 所示.

        本方案中的職能域是根據(jù)機(jī)構(gòu)的職能進(jìn)行分類的, 例如醫(yī)院域是所有醫(yī)療節(jié)點(diǎn)的集合, 教育域是所有學(xué)校節(jié)點(diǎn)的集合. 而從宏觀上來(lái)看, 職能域又可以被分為注冊(cè)域和查詢域兩大類. 注冊(cè)域是可以進(jìn)行User 身份信息注冊(cè)和身份信息更新的節(jié)點(diǎn)組成的域. 注冊(cè)域中有一個(gè)權(quán)限最高的可信節(jié)點(diǎn)(或者節(jié)點(diǎn)組)Center. 注冊(cè)域的其余節(jié)點(diǎn)都要在Center 進(jìn)行注冊(cè), 并由Center 頒發(fā)數(shù)字證書(shū); 查詢域是可以進(jìn)行身份信息查詢的節(jié)點(diǎn)所組成的域, 本方案中的所有職能域都屬于查詢域.

        圖2 CP-ABE 方案Figure 2 Scheme of CP-ABE

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

        3.2 區(qū)塊鏈構(gòu)造

        區(qū)塊鏈: 方案中的區(qū)塊鏈結(jié)構(gòu)參照以太坊系統(tǒng). 在區(qū)塊中以智能合約作為交易的形式來(lái)記錄注冊(cè)的身份信息.

        智能合約: 我們將方案中的合約命名為身份注冊(cè)合約, 合約的結(jié)構(gòu)如圖4. 其功能是記錄注冊(cè)的身份信息, 并支持查詢域中節(jié)點(diǎn)的查詢及注冊(cè)域節(jié)點(diǎn)的更新.

        圖4 身份注冊(cè)合約結(jié)構(gòu)Figure 4 Structure of registration contract

        本文的身份注冊(cè)合約可分為變量區(qū)和函數(shù)區(qū)兩部分. 變量區(qū)包括: (1) 全局變量. 包含映射結(jié)構(gòu)VaildRegistrars (地址到布爾類型的映射, 用于標(biāo)識(shí)合法的注冊(cè)域用戶) 和UsersMap (地址到用戶數(shù)據(jù)結(jié)構(gòu)Struct 的映射). (2) 與用戶數(shù)據(jù)相關(guān)的Struct 結(jié)構(gòu): Certificate 為采用Base64 標(biāo)準(zhǔn)編碼的數(shù)字證書(shū)字符串, 這里的數(shù)字證書(shū)歸屬于對(duì)應(yīng)用戶的注冊(cè)域節(jié)點(diǎn); Tvalid為Unix 時(shí)戳, 代表注冊(cè)用戶的身份有效期;Sig(Tvalid) 為該注冊(cè)域節(jié)點(diǎn)對(duì)Tvalid的簽名; PropertyList 為屬性基加密后的用戶身份信息集合(以字符串形式存在), 其包含了用戶不同的加密身份信息.

        函數(shù)區(qū)包括: (1) 注冊(cè)域節(jié)點(diǎn)執(zhí)行的注冊(cè)函數(shù), 有add() 和setStruct() 兩個(gè)函數(shù). add() 只能由Center 調(diào)用, 輸入一個(gè)注冊(cè)域節(jié)點(diǎn)的地址來(lái)實(shí)現(xiàn)鏈上注冊(cè)(即令該注冊(cè)域節(jié)點(diǎn)的地址在VaildRegistrars映射結(jié)果為true). setStruct() 只能由完成鏈上注冊(cè)的注冊(cè)域節(jié)點(diǎn)調(diào)用, 函數(shù)的輸入為用戶鏈上地址, 用戶的Struct 信息, 其目的是實(shí)現(xiàn)用戶身份數(shù)據(jù)的更新. (2) 查詢域節(jié)點(diǎn)執(zhí)行的查詢函數(shù). 包括獲取注冊(cè)特定用戶身份的注冊(cè)域節(jié)點(diǎn)信息的getInfo() 和獲得特定用戶加密身份信息的getProperty(). 函數(shù)的具體細(xì)節(jié)如下:

        函數(shù)1 add()Input: a registered node’s address R.add Output: NULL 1 S = msg.sender 2 if S == Center.address then 3 VaildRegistrars[R.add] = true 4 end函數(shù)2 setStruct()Input: a user’s address U.add, a property list Pro, a digital certificate Certificate, a timer Tvalid, a digital signature Sig(Tvalid)Output: a Flag 1 S = msg.sender 2 if VaildRegistrars[S]==true then 3 UsersMap(U.add).PropertyList = Pro 4 UsersMap(U.add).Certificate = Certificate 5 UsersMap(U.add).Tvalid = Tvalid 6 UsersMap(U.add).Sig(Tvalid) = Sig(Tvalid)7 Flag = true 8 end 9 else 10 Flag = false 11 end 12 return Flag函數(shù)3 getInfo()Input: a user’s address U.add Output: Certificate, Tvalid, Sig(Tvalid)1 return UsersMap(U.add).Certificate,UsersMap(U.add).Tvalid,UsersMap(U.add).Sig(Tvalid)函數(shù)4 getProperty()Input: a user’s address U.add Output: a PropertyList 1 return UsersMap(U.add).PropertyList

        節(jié)點(diǎn): 方案中的所有節(jié)點(diǎn)均為記賬節(jié)點(diǎn), 由獨(dú)立域中所有節(jié)點(diǎn)的服務(wù)器充當(dāng), 主要負(fù)責(zé)維護(hù)區(qū)塊鏈賬本. 記賬節(jié)點(diǎn)采用POW 共識(shí)機(jī)制, 將身份注冊(cè)合約打包并記錄在區(qū)塊內(nèi), 以獲取一定收益. 查詢域中的節(jié)點(diǎn)可以訪問(wèn)合約中的數(shù)據(jù), 而只有注冊(cè)域中的節(jié)點(diǎn)才可以發(fā)布和更新身份注冊(cè)合約.

        3.3 身份信息共享認(rèn)證方案

        本文的方案分為身份注冊(cè)合約發(fā)布、身份信息注冊(cè)、身份信息查詢認(rèn)證和身份信息更新4 個(gè)部分. 身份注冊(cè)合約發(fā)布是Center 節(jié)點(diǎn)根據(jù)注冊(cè)域節(jié)點(diǎn)的信息部署或更新身份注冊(cè)合約的過(guò)程. 身份信息注冊(cè)是User 通過(guò)注冊(cè)域的節(jié)點(diǎn)將身份信息注冊(cè)到區(qū)塊鏈上成為Registrant 的過(guò)程. 身份信息查詢認(rèn)證即需要獲取身份信息的節(jié)點(diǎn)根據(jù)Registrant 給出的地址信息到鏈上查詢, 并將查詢結(jié)果與Registrant 給出的信息對(duì)比驗(yàn)證的過(guò)程. 身份信息更新即注冊(cè)域中的節(jié)點(diǎn)更新Registrant 身份信息的過(guò)程.

        3.3.1 身份注冊(cè)合約發(fā)布

        (1) 注冊(cè)域節(jié)點(diǎn)信息注冊(cè). 節(jié)點(diǎn)到Center 申請(qǐng)成為注冊(cè)節(jié)點(diǎn), Center 記錄所有注冊(cè)節(jié)點(diǎn).

        (2) 身份注冊(cè)合約部署. Center 發(fā)布身份注冊(cè)合約, 由記賬節(jié)點(diǎn)打包部署到區(qū)塊鏈上.

        (3) 鏈上注冊(cè). Center 調(diào)用add 函數(shù)添加合法的注冊(cè)域節(jié)點(diǎn)到VaildRegistrars 結(jié)構(gòu)中.

        3.3.2 身份信息注冊(cè)

        身份注冊(cè)總體流程如圖5 所示.

        (1) 信息填寫(xiě).

        (i) User 在注冊(cè)域節(jié)點(diǎn)填報(bào)詳細(xì)的身份信息, 包括個(gè)人信息、家庭信息及生物認(rèn)證信息等.

        (2) 屬性基加密身份信息.

        (ii) 注冊(cè)域節(jié)點(diǎn)根據(jù)身份信息分類標(biāo)準(zhǔn)(以個(gè)人信息、家庭信息和生物認(rèn)證信息分類為例), 將注冊(cè)者身份信息分類.

        (iii) 注冊(cè)域節(jié)點(diǎn)根據(jù)信息的分類情況采用不同的訪問(wèn)控制結(jié)構(gòu)對(duì)信息進(jìn)行屬性基加密. 這里為保證加解密效率, 并壓縮存儲(chǔ)空間, 將采用混合加密的手段加密. 即使用屬性基加密手段加密一個(gè)AES 加密密鑰, 并用AES 算法加密各分類信息. 最后將兩部分拼接作為本次加密結(jié)果.

        (3) 發(fā)布身份注冊(cè)信息.

        (iv) 注冊(cè)域節(jié)點(diǎn)調(diào)用setStruct() 將屬性基加密后的信息發(fā)布到身份注冊(cè)合約中.

        圖5 身份注冊(cè)流程圖Figure 5 Flow diagram of registration

        3.3.3 身份信息查詢認(rèn)證

        身份信息查詢適應(yīng)的場(chǎng)景是區(qū)塊鏈中的任意節(jié)點(diǎn)想查詢或核實(shí)某Registrant 身份信息. 這里我們假設(shè)查詢者已經(jīng)向?qū)傩悦荑€授權(quán)中心提供自己的屬性集合, 并獲得了授權(quán)中心計(jì)算返回的相應(yīng)解密屬性密鑰.

        (1) 獲取Registrant 在鏈上的地址.

        (i) 查詢者請(qǐng)求查詢Registrant 身份信息, Registrant 給出其在區(qū)塊鏈上的地址.

        (2) 查詢者獲取Registrant 的身份信息.

        (ii) 查詢者根據(jù)Registrant 的地址調(diào)用getInfo() 獲取相應(yīng)注冊(cè)域節(jié)點(diǎn)的證書(shū)Certificate、有效期限Tvalid、期限簽名Sig(Tvalid).

        (iii) 查詢者通過(guò)證書(shū)信息驗(yàn)證注冊(cè)節(jié)點(diǎn)身份. 驗(yàn)證通過(guò)后再驗(yàn)證對(duì)期限簽名的有效性.

        (iv)若步驟(iii)驗(yàn)證通過(guò), 則證明Registrant 身份有效. 查詢者調(diào)用合約中的getProperty()方法來(lái)獲取屬性基加密后的身份信息集合. 若驗(yàn)證不通過(guò), 則認(rèn)定Registrant 身份無(wú)效, 結(jié)束查詢.

        (3) 查詢者根據(jù)其解密屬性密鑰進(jìn)行對(duì)鏈上獲取到的該Registrant 的身份信息進(jìn)行解密操作, 獲得該查詢者被授權(quán)可以訪問(wèn)到的數(shù)據(jù).

        (4) 查詢者將其被授權(quán)訪問(wèn)得到的數(shù)據(jù)與Registrant 當(dāng)前給出的身份信息做比對(duì), 以認(rèn)證其身份.

        3.3.4 身份信息更新

        身份信息更新操作適應(yīng)的場(chǎng)景是某注冊(cè)完成人的身份信息發(fā)生改變或者注冊(cè)信息過(guò)期.

        (1) 注冊(cè)域的節(jié)點(diǎn)重新采集Registrant 身份信息.

        (2) 注冊(cè)域節(jié)點(diǎn)對(duì)更新后的數(shù)據(jù)重新分類并進(jìn)行屬性基加密操作.

        (3) 注冊(cè)域節(jié)點(diǎn)調(diào)用合約的setStruct() 方法, 傳入待更新目標(biāo)用戶的地址和該用戶的Struct 信息.

        (4) 礦工先根據(jù)VaildRegistrars 結(jié)構(gòu)核實(shí)函數(shù)調(diào)用者身份, 若調(diào)用者為注冊(cè)域節(jié)點(diǎn), 則根據(jù)set-Struct() 方法傳入的參數(shù)進(jìn)行更新. 否則, 不執(zhí)行更新操作.

        4 性能分析

        本實(shí)驗(yàn)對(duì)方案中的身份注冊(cè)合約進(jìn)行實(shí)際測(cè)試. 本方案的實(shí)驗(yàn)硬件環(huán)境為Intel(R) Core(TM) i5-8300H CPU @ 2.3 GHz,RAM 為8 GB. 本方案的實(shí)驗(yàn)軟件環(huán)境為geth-windows-amd64-1.8.8 和Ethereum-Wallet-win64-0-11-1. 基于以太坊搭建私有鏈, 設(shè)定困難為值為0x20000.

        信息采集: 為滿足實(shí)驗(yàn)測(cè)試的需求, 本方案采集數(shù)據(jù)包括三種類型: 個(gè)人信息, 家庭信息及生物特征信息. 其中個(gè)人信息包含姓名, 性別, 身份證號(hào), 學(xué)歷. 家庭信息包括家庭成員信息, 家庭住址, 籍貫. 生物特征信息包括人臉特征和指紋特征.

        本實(shí)驗(yàn)采用目前常用的基于深度學(xué)習(xí)的ResNet 算法[31]提取用戶人臉信息. 我們采用1024 維度的特征提取參數(shù), 并以32 位浮點(diǎn)數(shù)進(jìn)行保存, 獲得的人臉圖像的特征結(jié)果大小為4 KB. 本實(shí)驗(yàn)基于指紋特征提取算法[32], 可在保證認(rèn)假率小于0.0001% 且拒真率小于0.75% 的前提下, 獲得指紋特征大小為512 B. 我們?cè)O(shè)定個(gè)人信息數(shù)據(jù)量大小為400 B, 家庭信息數(shù)據(jù)大小為600 B. 綜合所有個(gè)人身份信息,總的單樣本數(shù)據(jù)量大小約為5.5 KB.

        合約測(cè)試實(shí)驗(yàn): 本實(shí)驗(yàn)利用solidity 實(shí)現(xiàn)了文中的身份注冊(cè)合約, 并在搭建的私鏈上完成了測(cè)試. 我們測(cè)試了部署身份注冊(cè)合約和執(zhí)行合約中各函數(shù)的gas 花費(fèi)以評(píng)估本文方案經(jīng)濟(jì)性. 在測(cè)試實(shí)際花費(fèi)時(shí),我們選擇了3Gwei (每gas 對(duì)應(yīng)3Gwei 以太幣) 和6Gwei (每gas 對(duì)應(yīng)6Gwei 以太幣) 兩種匯率, 并將實(shí)際花費(fèi)最終統(tǒng)一換算為美元表示.

        測(cè)試的結(jié)果如表2 所示. 由測(cè)試結(jié)果可以看出, 合約的部署花費(fèi)以及執(zhí)行add、getInfo、getProperty等函數(shù)的花費(fèi)較低, 其中g(shù)etInfo、getProperty 這兩個(gè)查詢函數(shù)的調(diào)用不需要額外花費(fèi). 而由于setStruct函數(shù)在調(diào)用時(shí)需要傳入較大的數(shù)據(jù)量, 所以經(jīng)濟(jì)性上相對(duì)較差.

        為減少調(diào)用setStruct 函數(shù)時(shí)的花費(fèi), 本文也支持一種均衡的方案: 只向合約中傳輸一個(gè)存放了特定用戶Struct 信息的鏈接及該信息的哈希值, 而把實(shí)際的信息放到鏈下存儲(chǔ). 采用該方案的gas 消耗僅為88 605. 但是此均衡方案需要執(zhí)行重定向和數(shù)據(jù)完整驗(yàn)證操作, 所以在效率方面稍顯不足.

        表2 注冊(cè)合約中不同函數(shù)的花費(fèi)Table 2 Cost of diあerent functions in registration contract

        效率測(cè)試實(shí)驗(yàn): 本實(shí)驗(yàn)將比較普通加密存取和屬性基加密結(jié)合區(qū)塊鏈兩類方案, 以評(píng)估方案的效率情況. 第一類方案即方案一: 采用AES 加解密明文身份信息, 并基于數(shù)據(jù)庫(kù)進(jìn)行存取對(duì)比操作; 第二類方案基于區(qū)塊鏈系統(tǒng)采用CP-ABE 和AES 結(jié)合的混合加解密方式, 即利用CP-ABE 加(解) 密AES 密鑰,并利用該密鑰對(duì)明文數(shù)據(jù)進(jìn)行AES 加(解) 密. 其包含兩個(gè)具體方案, 它們的密文大小和數(shù)據(jù)加解密時(shí)間不同. 方案二: 加密手段采用文獻(xiàn)[33] 中的方案結(jié)合AES, 數(shù)據(jù)存儲(chǔ)查詢基于區(qū)塊鏈的智能合約. 方案三:數(shù)據(jù)存儲(chǔ)查詢與方案二相同, 解密手段采用文獻(xiàn)[34] 的方案結(jié)合AES.

        下面對(duì)各個(gè)方案的加解密算法性能進(jìn)行比較. 其中, 明文數(shù)據(jù)大小均為5.5 KB, 屬性基加密的系統(tǒng)屬性集大小為20, 用戶屬性集大小為20, 策略屬性集大小為5.

        表3 不同方案的性能Table 3 Performance of diあerent schemes

        結(jié)合表3 中的結(jié)果, 我們進(jìn)行了各方案的整體信息存儲(chǔ)(包括數(shù)據(jù)加密和存儲(chǔ)過(guò)程) 與查詢(包括信息查詢和解密過(guò)程) 測(cè)試. 測(cè)試結(jié)果如圖6 和圖7 所示.

        圖6 身份信息存儲(chǔ)耗時(shí)Figure 6 Time cost of storing identity information

        圖7 身份信息查詢耗時(shí)Figure 7 Time cost of searching identity information

        由圖6 和圖7 可見(jiàn), 普通的AES 加密結(jié)合數(shù)據(jù)庫(kù)存儲(chǔ)的方案(即方案一), 在數(shù)據(jù)存儲(chǔ)和查詢性能上都要優(yōu)于后兩種方案. 但是, 單一的AES 加密無(wú)法滿足可控權(quán)限的身份信息共享需求. 方案三相對(duì)方案二的存儲(chǔ)耗時(shí)長(zhǎng), 但查詢耗時(shí)短, 且與方案一的查詢性能相近. 在本設(shè)計(jì)方案中, 一般來(lái)說(shuō)數(shù)據(jù)存儲(chǔ)是一次性的, 而數(shù)據(jù)的查詢是多次進(jìn)行的. 所以綜合上述情況, 我們認(rèn)為方案三更加適合本文的需求.

        5 總結(jié)

        本文設(shè)計(jì)了基于區(qū)塊鏈的身份信息共享認(rèn)證方案. 在數(shù)據(jù)存儲(chǔ)方面, 存儲(chǔ)的數(shù)據(jù)量稍大于傳統(tǒng)的基于AES 算法的數(shù)據(jù)存儲(chǔ)方案. 在數(shù)據(jù)查詢方面, 由于各區(qū)塊鏈節(jié)點(diǎn)都擁有全部注冊(cè)者身份信息, 因此減少了并發(fā)查詢的壓力. 在數(shù)據(jù)更新方面, 更新函數(shù)只能由更新域中的節(jié)點(diǎn)調(diào)用, 并且合約會(huì)根據(jù)更新時(shí)間戳進(jìn)行判斷執(zhí)行更新操作, 每次只執(zhí)行最近的更新操作, 保證了全網(wǎng)一致的更新操作. 綜合實(shí)驗(yàn)性能, 我們認(rèn)為該方案具有較強(qiáng)的可行性.

        猜你喜歡
        合約密鑰加密
        探索企業(yè)創(chuàng)新密鑰
        密碼系統(tǒng)中密鑰的狀態(tài)與保護(hù)*
        一種基于熵的混沌加密小波變換水印算法
        一種對(duì)稱密鑰的密鑰管理方法及系統(tǒng)
        基于ECC的智能家居密鑰管理機(jī)制的實(shí)現(xiàn)
        認(rèn)證加密的研究進(jìn)展
        基于ECC加密的電子商務(wù)系統(tǒng)
        基于格的公鑰加密與證書(shū)基加密
        合約必守,誰(shuí)能例外!——對(duì)“情勢(shì)變更”制度不可寄于過(guò)高期望
        日本av一区二区三区在线| 欧美精品v欧洲高清| 亚洲中文字幕永久网站| 日本不卡一区二区三区久久精品 | 国产精品一区二区资源| 粉嫩的18在线观看极品精品| av无码精品一区二区乱子| 日韩av一区二区三区在线观看| 青青草在线免费视频播放| 亚洲国产成人无码av在线影院| 97视频在线播放| 日韩中文字幕乱码在线| 国产网站一区二区三区| 撕开奶罩揉吮奶头视频| 精品亚洲欧美高清不卡高清| 国产一区二区三区精品成人爱| 国产99久久久国产精品~~牛| 精品国产aⅴ无码一区二区| 国产成人8x视频网站入口| 国产亚洲日本精品二区| 国产一精品一av一免费爽爽| 国产在线精品一区二区| 免费无遮挡毛片中文字幕| 人妻中文久久人妻蜜桃| 久久久www成人免费毛片| 国产av无码专区亚洲av极速版| 亚洲爆乳大丰满无码专区| 日产一区一区三区区别| 无码人妻h动漫中文字幕| 亚洲乱妇老熟女爽到高潮的片 | 国产人妻无码一区二区三区免费| 777久久| 日本不卡视频一区二区| 亚洲国产精华液网站w| 久久久久中文字幕无码少妇| 国产自拍精品在线视频| 亚洲情综合五月天| 日韩精品大片在线观看| 二区三区视频在线观看| 亚洲熟女少妇一区二区三区青久久| 国产精品中文久久久久久久|