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

        ?

        基于教育區(qū)塊鏈與無證書簽名的身份認(rèn)證方案①

        2022-05-10 12:12:08王曉欣陳志德
        關(guān)鍵詞:用戶

        王曉欣,陳志德

        1(福建師范大學(xué) 計算機(jī)與網(wǎng)絡(luò)空間安全學(xué)院,福州 350117)

        2(福建師范大學(xué) 福建省網(wǎng)絡(luò)安全與密碼技術(shù)重點(diǎn)實(shí)驗室,福州 350007)

        隨著云計算技術(shù)和互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,在教育領(lǐng)域,教育云平臺已經(jīng)成為了實(shí)現(xiàn)教育信息化的重要方式,而教育信息化的發(fā)展程度更是成為了衡量一個國家教育現(xiàn)代化程度的重要標(biāo)志[1].教育云平臺可以為用戶提供方便快捷的教育資源和服務(wù),但是也帶來了一些問題.首先,為了訪問不同平臺的資源,用戶需要注冊多個平臺,這使得一旦一個平臺泄露用戶信息,用戶在其他平臺的數(shù)據(jù)也可能會威脅;另外大部分平臺采用中心化的管理方式,平臺抵抗惡意攻擊的能力差,用戶隱私數(shù)據(jù)也容易泄露;最后,對于用戶來說,管理多個賬號信息也比較麻煩.針對以上問題,可以讓同區(qū)域的教育云平臺構(gòu)建區(qū)域教育網(wǎng)絡(luò),讓用戶注冊一個賬號就可以訪問本域和權(quán)限范圍內(nèi)的異域教育平臺的資源.為了保證用戶隱私安全,因此需要在區(qū)域教育網(wǎng)絡(luò)中建立一種安全、可跨域的身份認(rèn)證方案.

        目前,在云環(huán)境中常用身份認(rèn)證方案有以下幾種:1)基于公鑰基礎(chǔ)設(shè)施(public key infrastructure,PKI)的身份認(rèn)證方案[2];2)基于無證書的公鑰密碼體制認(rèn)證方案[3,4];3)基于代理盲簽名的認(rèn)證方案[5].其中文獻(xiàn)[2]改進(jìn)了傳統(tǒng)的PKI,設(shè)計了輕量型的PKI 身份認(rèn)證方案,但是證書驗證過程復(fù)雜.文獻(xiàn)[3]和文獻(xiàn)[4]則是引入無證書密碼體制來解決了PKI 體系中的證書問題,其中文獻(xiàn)[3]通過無對運(yùn)算的聚合簽名實(shí)現(xiàn)高效的批認(rèn)證,提高認(rèn)證效率,但未解決雙向認(rèn)證的問題;文獻(xiàn)[4]利用便攜式TPM (portable trusted platform module,PTPM)實(shí)現(xiàn)任意終端與云端的雙向認(rèn)證,但是未解決跨域認(rèn)證問題.在文獻(xiàn)[5]提出了代理盲簽名的異構(gòu)身份認(rèn)證方案,解決了異構(gòu)跨域身份問題,但該方案中需要引入可信第三方,一旦可信第三方遭受攻擊便會對用戶造成巨大損失.

        區(qū)塊鏈技術(shù)作為一種新興的技術(shù),具有匿名性、去中心化、不可篡改、可追溯的特性,因此在身份認(rèn)證領(lǐng)域地吸引了大量學(xué)者進(jìn)行研究.文獻(xiàn)[6]提出了一種基于區(qū)塊鏈的分布式物聯(lián)網(wǎng)設(shè)備認(rèn)證框架,解決了集中式認(rèn)證兼容性低和單點(diǎn)故障的問題,但未解決跨域認(rèn)證的問題.文獻(xiàn)[7]提出了一種基于區(qū)塊鏈的高效跨域認(rèn)證方案,解決了跨域認(rèn)證問題,并可以實(shí)現(xiàn)高效的身份認(rèn)證,但不能進(jìn)行異構(gòu)的身份認(rèn)證;文獻(xiàn)[8]提出了一種基于區(qū)塊鏈的跨異構(gòu)的認(rèn)證方案,解決了異構(gòu)的跨域認(rèn)證,但是該方案只能針對基于PKI的信任域和基于身份密碼體制的信任域的異構(gòu)跨域認(rèn)證.文獻(xiàn)[9]設(shè)計了一種基于可編輯區(qū)塊鏈的身份認(rèn)證方案,解決了跨域認(rèn)證問題,但是該方案需要網(wǎng)絡(luò)供應(yīng)商的參與,方案實(shí)施比較困難.

        本文針對多區(qū)域教育網(wǎng)絡(luò)的身份認(rèn)證問題,提出了一種基于教育區(qū)塊鏈和無證書簽名的身份認(rèn)證方案.首先給出了身份認(rèn)證模型,通過建立本地鏈和跨域鏈,來實(shí)現(xiàn)用戶訪問本地資源的本域身份認(rèn)證和訪問其他域的跨域身份認(rèn)證.利用無證書簽名算法和用戶身份證明來設(shè)計身份認(rèn)證的具體過程,保證了用戶的安全也解決了密鑰托管問題;通過設(shè)置陷門哈希,當(dāng)有惡意節(jié)點(diǎn)出現(xiàn)時,便可以追溯到真實(shí)的惡意用戶.本方案在安全性上實(shí)現(xiàn)了用戶身份的匿名性,以及用戶和機(jī)構(gòu)的雙向認(rèn)證,可以抵擋多種安全攻擊.在性能上,與其他方案相比,用戶的計算開銷較少,簽名過程也比較簡單.

        1 相關(guān)知識

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

        區(qū)塊鏈最早是由中本聰在2008年的論文“Bitcoin:A peer-to-peer electronic cash system”[10]中提出的.在2009年,中本聰建立了比特幣網(wǎng)絡(luò),并開發(fā)了其第一個區(qū)塊,名為創(chuàng)世區(qū)塊.區(qū)塊鏈技術(shù)具備去中心化、可追溯、不可篡改等優(yōu)勢.根據(jù)準(zhǔn)入機(jī)制的不同,區(qū)塊鏈可以分為3 類:公有鏈、聯(lián)盟鏈和私有鏈.其中公有鏈任何人都可以讀取,所有數(shù)據(jù)默認(rèn)公開,但交易速度慢;私有鏈將區(qū)塊鏈的寫入權(quán)限僅僅在一個組織或者個人手里,具備交易速度快、安全性更高但是中心化程度更高;聯(lián)盟鏈?zhǔn)墙橛诠墟満退接墟溨g的區(qū)塊鏈,一般指若干機(jī)構(gòu)或者組織共同參與管理的區(qū)塊鏈,其交易速度比公有鏈快,去中心化程度比私有鏈好.在本方案中,我們域內(nèi)區(qū)塊鏈和跨域區(qū)塊鏈都是聯(lián)盟鏈.

        1.2 無證書簽名體制

        在2003年,Al-Riyami 等人提出了無證書的密碼體制CL-PKC (certificateless public key cryptography,CL-PKC)[11].在該密碼體制中其中用戶的私鑰是由密鑰生成中心KGC (key generation center)生成的部分私鑰和用戶秘密值的組合.因此,CL-PKC 解決了密鑰托管問題.對于無證書簽名來說,一般包含以下6 個算法[12]:系統(tǒng)初始化、部分私鑰生成、秘密值的生成、用戶公私鑰生成、用戶簽名算法生成、簽名驗證.

        在本方案中,用戶的部分密鑰生成算法、秘密值的生成以及用戶公私鑰的生成均在用戶注冊過程中完成.

        1.3 困難問題及假設(shè)

        橢圓曲線離散對數(shù)問題(elliptic curve discrete logarithm problem,ECDLP):給定一個橢圓曲線群G,且P,Q∈G,找到一個標(biāo)量點(diǎn)a∈ZP,滿足Q=aP,其中,P是群G的生成元,Q是G中的一個元素.

        2 基于教育區(qū)塊鏈身份認(rèn)證模型的設(shè)計

        在本節(jié)介紹了基于教育區(qū)塊鏈的身份認(rèn)證模型的模型假設(shè)、身份認(rèn)證模型以及設(shè)計目標(biāo).

        2.1 模型假設(shè)

        (1)整個系統(tǒng)中的每一個節(jié)點(diǎn)都有唯一分配的地址,對應(yīng)其真實(shí)ID;

        (2)假設(shè)方案初始化的階段是安全的;

        (3)權(quán)威節(jié)點(diǎn)是教育局等權(quán)威機(jī)構(gòu),具備完備的安全性;

        (4)權(quán)威節(jié)點(diǎn)和機(jī)構(gòu)節(jié)點(diǎn)都具備一定的存儲和計算能力;

        (5)用戶可以下載機(jī)構(gòu)節(jié)點(diǎn)和權(quán)威節(jié)點(diǎn)的公鑰和身份.

        2.2 教育區(qū)塊鏈身份認(rèn)證模型

        基于教育區(qū)塊鏈的身份認(rèn)證方案,設(shè)計了域內(nèi)聯(lián)盟鏈以及跨域聯(lián)盟鏈兩種類型的區(qū)塊鏈.域內(nèi)區(qū)塊鏈負(fù)責(zé)本域內(nèi)用戶對域內(nèi)的機(jī)構(gòu)進(jìn)行訪問時的身份認(rèn)證;跨域區(qū)塊鏈在身份認(rèn)證中負(fù)責(zé)用戶對跨機(jī)構(gòu)進(jìn)行訪問時的身份認(rèn)證.

        該模型有3 種類型的參與者:普通用戶、機(jī)構(gòu)、權(quán)威部門.其中跨域區(qū)塊鏈由教育局這樣的權(quán)威部門構(gòu)成權(quán)威節(jié)點(diǎn)來進(jìn)行維護(hù),普通用戶以及機(jī)構(gòu)節(jié)點(diǎn)可以查看區(qū)塊鏈中的信息;域內(nèi)區(qū)塊鏈主要由本域的機(jī)構(gòu)節(jié)點(diǎn)來維護(hù)賬本信息,本域內(nèi)的普通用戶節(jié)點(diǎn)只有查看的權(quán)限.模型架構(gòu)圖如圖1所示.

        圖1 基于區(qū)塊鏈的多域身份認(rèn)證模型

        權(quán)威節(jié)點(diǎn):主要負(fù)責(zé)機(jī)構(gòu)節(jié)點(diǎn)的身份注冊以及為合法的跨域用戶頒發(fā)跨域身份證明,并將跨域用戶的信息進(jìn)行上鏈處理.

        機(jī)構(gòu)節(jié)點(diǎn):主要包括學(xué)校、教育機(jī)構(gòu)等,他們負(fù)責(zé)幫助普通用戶節(jié)點(diǎn)完成注冊,并將域內(nèi)合法用戶的注冊信息寫入到域內(nèi)聯(lián)盟鏈中.

        普通節(jié)點(diǎn):主要由學(xué)生、教師等組成.他們是機(jī)構(gòu)節(jié)點(diǎn)的用戶,教育資源的擁有者和使用者.

        2.3 設(shè)計目標(biāo)

        在教育云場景中用戶的身份隱私安全有比較高的需求,設(shè)計了以下幾個目標(biāo).

        去中心化:針對目前教育資源共享平臺大多采用集中式的管理方式,這使得用戶的隱私數(shù)據(jù)很容易被第三方掌控,一旦第三方被攻擊,很有可能會造成用戶在各個平臺數(shù)據(jù)的泄露.

        用戶身份安全:教育資源共享平臺往往掌握大量用戶數(shù)據(jù),為了保證用戶的隱私安全,采用匿名的用戶身份,并且讓用戶私鑰掌握在自己手中.

        相互認(rèn)證:在用戶注冊以及認(rèn)證過程,不僅僅限于機(jī)構(gòu)對用戶進(jìn)行認(rèn)證,用戶同樣也對機(jī)構(gòu)進(jìn)行認(rèn)證.雙向認(rèn)證可以提高用戶的信任,增加用戶的使用率.并且可以及時發(fā)現(xiàn)用戶或者機(jī)構(gòu)的惡意行為.

        惡意用戶追溯:針對教育資源共享時,用戶量大.確保當(dāng)系統(tǒng)中出現(xiàn)惡意用戶時,可以及時將惡意用戶記錄在本域和跨域區(qū)塊鏈上,并且不再為該用戶服務(wù).這樣可以防止惡意用戶在其他機(jī)構(gòu)節(jié)點(diǎn)進(jìn)行再次注冊,同樣也可以避免惡意節(jié)點(diǎn)占用通信資源.因此本方案的設(shè)計目標(biāo)可以實(shí)現(xiàn)惡意用戶節(jié)點(diǎn)的可追溯,從而追溯到真正的用戶,防止其惡意行為的再次發(fā)生.

        3 跨域-追溯認(rèn)證方案

        本節(jié)介紹了基于教育區(qū)塊鏈的身份認(rèn)證方案的具體細(xì)節(jié),包含方案總述、具體方案兩部分.

        3.1 方案總述

        在本方案中,我們采用通過區(qū)塊鏈技術(shù)來實(shí)現(xiàn)分布式的身份認(rèn)證,并根據(jù)文獻(xiàn)[3],設(shè)計無雙線性對的無證書認(rèn)證方案,來提高認(rèn)證的效率.

        該方案包含初始化階段、注冊階段、認(rèn)證階段、惡意節(jié)點(diǎn)追溯階段4 個階段.

        (1)初始化階段.初始化階段主要生成全局參數(shù)以及權(quán)威節(jié)點(diǎn)的公私鑰.

        (2)注冊階段.包含機(jī)構(gòu)注冊和用戶注冊兩部分.用戶通過域內(nèi)聯(lián)盟鏈的機(jī)構(gòu)節(jié)點(diǎn)完成用戶注冊.跨域區(qū)塊鏈的權(quán)威階段主要完成對機(jī)構(gòu)節(jié)點(diǎn)的注冊.

        (3)認(rèn)證階段.包含域內(nèi)認(rèn)證和跨域認(rèn)證.對用戶和機(jī)構(gòu)進(jìn)行雙向身份認(rèn)證,從而保證雙方訪問的安全性.

        (4)惡意節(jié)點(diǎn)追溯階段.對于出現(xiàn)惡意節(jié)點(diǎn),通過查詢區(qū)塊鏈中的注冊信息追溯惡意節(jié)點(diǎn),將惡意節(jié)點(diǎn)信息寫入到聯(lián)盟鏈中.

        3.2 具體方案

        (1)初始化階段

        初始化階段為系統(tǒng)生成全局參數(shù)進(jìn)行廣播,每個權(quán)威節(jié)點(diǎn)也生成各自的公私鑰對,然后將他們各自公鑰和權(quán)威節(jié)點(diǎn)身份上傳到域間區(qū)塊鏈.

        KGC作為全局的參數(shù)生成中心,首先,隨機(jī)選擇一個安全參數(shù)k∈Z+作為輸入;然后KGC會選擇一個橢圓曲線上的加法群G,素數(shù)q,并且P是G的生成元.再選擇3 個抗碰撞的哈希函數(shù)Hi:{0,1}*→Zq*(i=1,2,3).最后廣播系統(tǒng)參數(shù)params={G,q,P,H1,H2,H3}.

        對于每一個權(quán)威節(jié)點(diǎn)AIDi,隨機(jī)選擇數(shù)yi∈Zq*,并計算其公鑰PKi=yiP,私鑰為SKi=yi,并廣播到跨域區(qū)塊鏈上{AIDi,PKAIDi}.

        (2)注冊階段

        注冊階段包含機(jī)構(gòu)的注冊以及用戶的注冊.當(dāng)注冊完成將會把它們的公鑰以及身份信息分別上傳到跨域區(qū)塊鏈以及用戶所在的域內(nèi)區(qū)塊鏈,并且注冊節(jié)點(diǎn)會為注冊的機(jī)構(gòu)和用戶生成身份證明,如表1.

        表1 身份證明

        1)機(jī)構(gòu)節(jié)點(diǎn)的注冊

        機(jī)構(gòu)節(jié)點(diǎn)注冊需要經(jīng)過權(quán)威節(jié)點(diǎn)對其進(jìn)行身份驗證,驗證通過便完成機(jī)構(gòu)節(jié)點(diǎn)注冊,然后權(quán)威節(jié)點(diǎn)將注冊信息上傳到區(qū)塊鏈中.機(jī)構(gòu)注冊流程圖如圖2所示.

        圖2 機(jī)構(gòu)注冊流程圖

        ①IDi向AIDj發(fā)送注冊申請

        機(jī)構(gòu)IDi先下載權(quán)威節(jié)點(diǎn)AIDj的公鑰,然后生成時間戳treg以及隨機(jī)數(shù)N1向本域的權(quán)威節(jié)點(diǎn)發(fā)送注冊請求

        ②AIDj回復(fù)IDi的注冊請求

        權(quán)威節(jié)點(diǎn)AIDj先檢查treg是否合理.解密消息之后,檢驗treg是否一致,然后查詢域間的區(qū)塊鏈上是否存在該機(jī)構(gòu).如果存在則返回re ject拒絕機(jī)構(gòu)的注冊申請;如果IDi不存在則允許機(jī)構(gòu)用戶進(jìn)行注冊,并為IDi生成部分私鑰和部分公鑰.首先,權(quán)威節(jié)點(diǎn)AIDj的KGC為其隨機(jī)選擇隨機(jī)數(shù)ri∈Zq*,然后計算h1,i=H1(AIDj,IDi,Ri),從而為機(jī)構(gòu)IDi生成部分公鑰Ri=riP和部分私鑰di=(ri+yjh1,i)modq.AIDj通過安全通道發(fā)送給IDi帶有其部分公私鑰并允許機(jī)構(gòu)注冊的回復(fù)rep_reqAIDj(H2(IDi||AIDj||N1),treq,Ri,di).

        ③IDi生成公私鑰并將公鑰發(fā)送給AIDj

        機(jī)構(gòu)用戶IDi接收到消息先檢查treq是否合理,然后驗證H2(IDi||AIDj||N1)的正確性.如果驗證不通過則用戶返回error,若想需要重新提交信息注冊.若驗證通過,機(jī)構(gòu)節(jié)點(diǎn)IDi隨機(jī)選取一個隨機(jī)數(shù)xi∈Zq*,計算Xi=xiP和h2,i=H2(AIDi,IDi,Xi),計算部分公鑰Qi=Ri+Xih2,i.隨后IDi生成計算自己的公鑰PKIDi=(Qi,Xi)和私鑰信息S KIDi=(di,xi).然后IDi生成自己的簽名信息,先隨機(jī)選擇一個ui∈Zq*,計算Ui=uiP和h3,i=H3(IDi||PKi||t),生成簽名 δIDi=ui+(di+xih2,i)h3,imodq,其中t是機(jī)構(gòu)簽名時間.然后IDi向AIDj發(fā)送帶有簽名和其公鑰的回復(fù)消息m={PKIDi,IDi,En(t,δIDi,Ui)PKIDi}.

        ④AIDj為IDi生成身份證明并將其注冊信息上鏈

        AIDj解密消息,提取出{t,δIDi,Ui}.先計算h3,i=H3(IDi||PKi||t).驗證機(jī)構(gòu)IDi的簽名是否滿足:Ui+h3,i(Qi+PKAIDih1,i).等式成立即代表對用戶身份驗證通過,為其生成身份信息.首先獲取當(dāng)前時間ttemp,并計算T1=H1(AIDi||PKAIDi||t).然后生成簽名δAIDj=(rIDi+yiH1(IDi||AIDj))T1.然后為機(jī)構(gòu)注冊節(jié)點(diǎn)IDi頒發(fā)它的身份證明{En(certIDi)pkIDi,ttemp}.

        最后,IDi解 密消息先時間戳ttemp,之后保存身份證明certIDi.權(quán)威節(jié)點(diǎn)AIDj然后將機(jī)構(gòu)IDi注冊信息{IDi,PKIDi,H1(IDi||AIDj)}上傳到區(qū)塊鏈中.

        2) 普通用戶的注冊普通用戶的注冊需要經(jīng)過機(jī)構(gòu)節(jié)點(diǎn)對其進(jìn)行身份驗證,驗證通過之后機(jī)構(gòu)節(jié)點(diǎn)將注冊信息上傳到區(qū)塊鏈.普通用戶的身份注冊流程如圖3所示.為了保護(hù)用戶的身份信息,規(guī)定用戶ui的身份為idi=hash(ui||IDi).注冊具體過程如下.

        圖3 用戶注冊流程圖

        ①idi向IDj發(fā)送注冊申請

        用戶idi先下載注冊機(jī)構(gòu)IDj的公鑰PKIDj,然后生成時間戳treg以及隨機(jī)數(shù)N1.然后向IDj發(fā)送注冊申請

        ②IDj回 復(fù)idi的注冊請求

        機(jī)構(gòu)節(jié)點(diǎn)IDj先解密消息之后,檢查treg是否合理,再查詢域間的區(qū)塊鏈上是否存在該用戶.如果存在該用戶則返回reject拒絕該用戶的注冊申請;如果idi不存在則允許用戶ui注冊,為它生成其部分私鑰和部分公鑰.首先機(jī)構(gòu)節(jié)點(diǎn)先生成隨機(jī)數(shù)vi∈Zq*,計算出用戶的部分公鑰Vi=viP.然后計算h1,i=H1(IDj,idi,Vi)再計算得到用戶的部分私鑰bi=(vi+xjh1,i)modq.通過安全信道發(fā)送回復(fù)rep_reqIDj(H2(idi||IDj||N1),t1,Vi,bi)給用戶.

        ③idi生成公私鑰并將公鑰發(fā)送給IDj

        機(jī)構(gòu)用戶idi接收到消息先檢查t1是否合理,然后驗證H2(idi||IDj||N1)的正確性.如果驗證不通過則用戶返回error,若想繼續(xù)注冊則更換其他機(jī)構(gòu)節(jié)點(diǎn)進(jìn)行注冊.驗證通過后,用戶idi提 取出部分公鑰Vidi和部分私鑰didi.然后idi生成隨機(jī)數(shù)oi∈Z*p,計算出用戶ui部分公鑰Oi=oiP,隨后計算h2,i=H2(IDj,idi,Oi),然后計算Ci=Vi+Oih2,i,生成公鑰pkidi=(Ci,Oi)和私鑰skidi=(oi,bi).然后用戶idi隨機(jī)選擇一個數(shù)ei∈Z*p并計算Ei=eiP和h3,i=H3(idi||pki||t2),生成簽名信息σidi=ni+h3,i(bi+oih2,i)modq,其中t2是用戶簽名時間.發(fā)送消息m={pkidi,idi,En(t2,σidi,Ei)PKIDj}給IDj.

        ④IDj為idi生成身份證明并將其注冊信息上鏈.

        機(jī)構(gòu)IDj接收到消息m,解密消息得到{t2,σidi,Ei}然后驗證用戶idi簽名的有效性.首先,IDj計算h3,i=H3(idi||pkidi||t2),然后用下面等式驗證用戶簽名σidiP=?Ei+(Qi+Xjh1,i)h3,imodq.若等式不成立用戶公鑰有誤,要求用戶重新發(fā)送帶有公鑰信息的簽名消息.若等式成立,則用戶注冊成功.機(jī)構(gòu)為用戶idi生成身份信息midi={idi,pkidi,IDj,Tbegin,Tend,Areaidi},其中Tbegin是機(jī)構(gòu)為用戶生成身份信息的時間,Tend是失效時間.先生成隨機(jī)數(shù)si∈Z*p,計算S=siP,再計算T2=H1(IDj||PKIDj||midi),為用戶idi計算出身份證明中的簽名σIDj=s+(dj+xjH2(AIDi,IDi,Xi))T2.然后,為idi生成它的身份證明certidi={midi,σIDj}.

        最后IDj將{En(certidi)pkidi,T} 發(fā)送給注冊用戶idi,并將該用戶注冊信息 {idi,pkidi}上傳到域間區(qū)塊鏈上.用戶驗證時間戳之后,解密消息并保存身份證明certidi.

        (3)域內(nèi)認(rèn)證過程

        用戶注冊成功,就成為了本域的合法用戶,可以與其他節(jié)點(diǎn)進(jìn)行通訊.域內(nèi)進(jìn)行訪問時,只需要通過域內(nèi)機(jī)構(gòu)節(jié)點(diǎn)的參與下完成用戶和機(jī)構(gòu)的雙向身份認(rèn)證即可.

        當(dāng)用戶a對域內(nèi)的機(jī)構(gòu)B進(jìn)行訪問時,需要對完成a和B之間的雙向認(rèn)證.首先,a發(fā)送訪問請求給機(jī)構(gòu)Bacc-connecta(En(ida,IDB,certida)PKIDB,ida).機(jī)構(gòu)B收到請求之后,用自己的私鑰解密加密信息,驗證ida的一致性,然后域內(nèi)區(qū)塊鏈來驗證身份證明.在機(jī)構(gòu)B發(fā)送回復(fù)acc-connectB(En(IDB,ida,certIDB)PKida,IDB)給用戶a,用戶用自己的私鑰解密加密消息,驗證ida的一致性,然后將身份證明certida交由域內(nèi)區(qū)塊鏈驗證證明的有效性.對以用戶ida證明驗證的流程如下.

        1)首先查看證明里面的消息m,檢查用戶a信息;

        2)驗證用戶a注冊的機(jī)構(gòu)節(jié)點(diǎn)A簽名的正確性;

        3)若全部驗證成功,則返回accept,否則返回reject;

        對機(jī)構(gòu)B的身份證明驗證同上,當(dāng)雙方均收到accept則雙方身份驗證成功.

        算法1.對用戶ida的身份證明進(jìn)行驗證過程如下:

        其中在驗證用戶a的身份證明中的簽名時,首先計算T=H1(IDA||PKIDA||mida),然后檢查是否滿足下式:

        算法1.用戶身份證明域內(nèi)驗證certida IDB輸入:、輸出:accept or reject Begin// pb is an intra-blockchain(Equal(Areaa,AreaB)=flase)If then Return reject;(UserExits(ida,PB)=flase)If then Return reject;(NodeExits(IDA)=flase)If then Return reject;(ValidTime(Tbegin,Tend)=flase)If then Verify-sig(ξIDA)=false If ()Return reject;Else return accept;End

        算法2.對機(jī)構(gòu)IDB的身份證明進(jìn)行驗證過程如下:

        在驗證機(jī)構(gòu)B的身份證明中的簽名時,首先計算T=H(AIDB||PKAIDB||mIDB),然后檢查是否滿足下式:

        ?

        (4)跨域認(rèn)證過程

        在跨域身份認(rèn)證過程,用戶提出跨域申請,然后權(quán)威節(jié)點(diǎn)為用戶頒發(fā)跨域身份證明.表2是用戶跨域身份證明格式.

        表2 用戶跨域身份證明

        用戶跨域的主要包含:用戶跨域身份證明的申請、用戶申請跨域訪問兩部分,其中前者主要為用戶生成用戶跨域證明,而后者主要完成雙方的身份認(rèn)證.

        1)用戶申請跨域身份證明

        ①ida發(fā)送跨域申請給AIDA

        用戶ida想要請求異域機(jī)構(gòu)時的服務(wù)的時候,先下載權(quán)威機(jī)構(gòu)AIDA的公鑰,再發(fā)送給它注冊請求.

        ②AIDA為用戶生成跨域身份

        權(quán)威節(jié)點(diǎn)AIDA用私鑰解密解密消息之后,先檢查時間戳T是否合理,若合理將身份證明certida發(fā)送給域area1進(jìn)行驗證,否則則返回reject.

        若身份驗證成功則為用戶ida生成跨域身份證明crocerta={ida,PKida,AIDA,Tbegin,Tend,ξAIDA}其中,令m={ida,PKida,Tbegin,Tend,AIDA},然后隨機(jī)生成隨機(jī)數(shù)wa∈Z*p,并計算Wa=waP,隨后計算用戶跨域證明中的簽名 ξAIDA=yAIDAH1(AIDA||ida||T)+wa,其中T是允許訪問的時間.然后將消息 {En(crocerta,Wa)pkida,T}給用戶ida.

        最后并將用戶的跨域信息上傳到區(qū)塊鏈上{ida,pkida,AIDA}.而用戶ida接收到消息之后,用自己的私鑰解密消息之后,保存{crocerta,Wa}.

        2)用戶跨域訪問

        ① 當(dāng)用戶ida要訪問異域的機(jī)構(gòu)ID1_B時,先在跨域區(qū)塊鏈中下載它的公鑰PKID1_B,再給異域機(jī)構(gòu)發(fā)送訪問請求acc_req(En(crocerta,Wa,ida,t)PKID1_B).

        ② 機(jī)構(gòu)ID1_B收到訪問請求后,先用私鑰S KID1_B解密消息,檢查時間t和ida是否合理.若一致發(fā)送acc-rep(En(ID1_B,ida,certID1_B,T)PKida) 給ida,同時將{crocerta,Wa,ida}發(fā)送給跨域區(qū)塊鏈,讓跨域區(qū)塊鏈驗證ida的身份.身份驗證成功,跨域區(qū)塊鏈會生成accpet;否則返回false.

        ③ 用戶ida收到ID1_B的消息后,用自己的私鑰解密,驗證時間戳T是否合理,ID1_B是否正確.若均通過驗證,用戶便將 {ID1_B,certID1_B}交由跨域區(qū)塊鏈對ID1_B進(jìn)行身份認(rèn)證.

        ④ 若跨域區(qū)塊鏈對ida的跨域身份證明和ID1_B的身份均驗證成功,則分別向雙方返回accept;若一方身份驗證未成功,則分別對應(yīng)返回reject.

        算法3.跨域身份認(rèn)證crocerta ID1_BWa輸入:、、輸出:accept or reject Begin// PB is an cross-blockchain(UserExits(ida,PB)=flase)If then Return reject;(NodeExits(AIDA)=flase)If then Return reject;(ValidTime(Tbegin,Tend)=flase)If then Verify-sig(ξAIDA)=false If ()Return reject;Else return accept;End

        其中驗證的AIDA簽名ξAIDA,先計算H1(AIDA||ida||T),驗證下列等式是否成立:

        若上述認(rèn)證算法執(zhí)行完畢,輸出accept,則對跨域用戶ida完成了身份認(rèn)證;否則輸出reject,則對tda身份認(rèn)證失敗.

        在跨域認(rèn)證中,除了驗證節(jié)點(diǎn)變成了權(quán)威節(jié)點(diǎn),對于機(jī)構(gòu)ID1_B的身份認(rèn)證算法基本與域內(nèi)算法一致,這里就不再陳述.

        (5)惡意用戶追溯

        當(dāng)出現(xiàn)惡意用戶的時候,惡意用戶可能會將自己的私鑰泄露給別人,和其他惡意用戶發(fā)動共謀攻擊;或者進(jìn)行重放攻擊占用通信資源.機(jī)構(gòu)節(jié)點(diǎn)監(jiān)測到用戶出現(xiàn)上述惡意行為時,將會通過共識機(jī)制和各個機(jī)構(gòu)節(jié)點(diǎn)達(dá)成共識,然后通過查詢區(qū)塊鏈中的注冊信息,讓該用戶的注冊節(jié)點(diǎn)追溯用戶真實(shí)身份,然后觸發(fā)智能合約將用戶真實(shí)身份寫入?yún)^(qū)塊鏈中.惡意用戶真實(shí)身份信息記錄在區(qū)塊鏈上,可以避免惡意用戶更換注冊節(jié)點(diǎn),進(jìn)行身份再注冊.

        對于惡意用戶,機(jī)構(gòu)節(jié)點(diǎn)無法知道用戶的真實(shí)身份信息,僅僅知道其“假身份”ida是惡意的,被訪問的機(jī)構(gòu)節(jié)點(diǎn)通過查詢區(qū)塊鏈上的信息 {ida,pkida,IDB},然后各個節(jié)點(diǎn)通過達(dá)成對ida真實(shí)身份的追溯的共識,然后ida的注冊節(jié)點(diǎn)IDB將在本機(jī)構(gòu)注冊的全部用戶的ui帶入到式子ida=?H(ui||IDB) (i=1,···,N),其中N為在該機(jī)構(gòu)進(jìn)行注冊的用戶數(shù)量.直到找到us滿足上述等式,便找到了惡意用戶us,各個節(jié)點(diǎn)對于結(jié)果達(dá)成一致共識之后,便可以將惡意用戶真實(shí)信息上傳到區(qū)塊鏈中,實(shí)現(xiàn)惡意用戶的記錄.當(dāng)然對于可能誤判的或者可能被竊取的惡意用戶,用戶可以向權(quán)威部門進(jìn)行申請,然后權(quán)威部門將惡意記錄進(jìn)行消除.將惡意節(jié)點(diǎn)記錄在區(qū)塊鏈中一方面可以約束用戶的行為,另一方面可以防止惡意用戶的再注冊,避免浪費(fèi)計算資源和通信資源.

        4 方案分析

        本節(jié)主要對本方案與文獻(xiàn)[4,13,14]在安全性、計算開銷和通信開銷等方面進(jìn)行分析和比較.

        4.1 安全分析

        在本節(jié)對方案進(jìn)行了安全性的分析,并與其他方案進(jìn)行比較,比較結(jié)果見表3.

        表3 安全性屬性比較

        1)身份安全

        在本方案中,用戶進(jìn)行訪問時,采用的身份是hash(ui||IDj)的虛擬身份,用戶的公鑰PK、私鑰SK都是由用戶自己生成的.權(quán)威節(jié)點(diǎn)對機(jī)構(gòu)進(jìn)行身份認(rèn)證,用戶由機(jī)構(gòu)節(jié)點(diǎn)進(jìn)行認(rèn)證,并分別為他們的身份證明進(jìn)行簽名,確保身份的有效性.權(quán)威節(jié)點(diǎn)對注冊機(jī)構(gòu)、機(jī)構(gòu)節(jié)點(diǎn)對注冊用戶將他們的注冊信息分別上傳到域間區(qū)塊鏈、跨域區(qū)塊鏈上,因此任何敵手都不能篡改.每一個合法的機(jī)構(gòu)和用戶的(PK,SK)都是基于離散對數(shù)困難問題生成的,對于任何一個概率多項式時間的敵手都不能根據(jù)公鑰或者加密消息計算出私鑰.在本方案中用戶和機(jī)構(gòu)的私鑰由用戶自己生成,用戶只使用私鑰解密消息和簽名,用戶私鑰只掌握在自己手里.

        2)雙向認(rèn)證

        在用注冊過程,無論是用戶注冊還是機(jī)構(gòu)的注冊都實(shí)現(xiàn)了用戶與機(jī)構(gòu)的雙向身份認(rèn)證、機(jī)構(gòu)與權(quán)威節(jié)點(diǎn)的雙向的身份認(rèn)證.在域內(nèi)和跨域過程中通過區(qū)塊鏈驗證用戶和機(jī)構(gòu)的身份證書,實(shí)現(xiàn)了用戶對訪問機(jī)構(gòu)的身份認(rèn)證,以及被訪問機(jī)構(gòu)對用戶的身份認(rèn)證.

        3)數(shù)據(jù)完整性

        區(qū)塊鏈作為一種分布式賬本技術(shù),其中每一個區(qū)塊鏈節(jié)點(diǎn)都會保存完整的區(qū)塊鏈信息,一旦某個節(jié)點(diǎn)出現(xiàn)的區(qū)塊信息出現(xiàn)缺失,可以通過更新區(qū)塊信息,保證本地的賬本信息與其他節(jié)點(diǎn)一致.從而保證節(jié)點(diǎn)中的區(qū)塊信息的完整性,也避免了惡意攻擊篡改部分節(jié)點(diǎn)中的信息,實(shí)現(xiàn)了區(qū)塊鏈系統(tǒng)中的數(shù)據(jù)完整性.

        4)分布式拒絕服務(wù)攻擊

        區(qū)塊鏈的去中心化以及點(diǎn)對點(diǎn)的交互,即使有一個或者少部分節(jié)點(diǎn)失效,其余節(jié)點(diǎn)也不會受其影響,并且如果需要的話在多個節(jié)點(diǎn)中會有一個合法節(jié)點(diǎn)取代失效節(jié)點(diǎn)工作;惡意節(jié)點(diǎn)的操作也不會在共識階段通過.因此本方案可以抵抗分布式拒絕服務(wù)攻擊.

        5)重放攻擊

        在本方案中,對消息添加時間戳以及采用提問、應(yīng)答方式.即使敵手截獲了之前的消息,目標(biāo)服務(wù)器通過檢查消息的新鮮性也會拒絕為敵手提供服務(wù).

        6)內(nèi)部攻擊和外部攻擊

        外部攻擊者即使獲取了權(quán)威機(jī)構(gòu)的公鑰或者機(jī)構(gòu)的公鑰,但是也無法計算出來用戶的私鑰.對于內(nèi)部攻擊者來說,僅僅根據(jù)用戶的公鑰也無法計算出其私鑰.因此本文提出的方案能夠有效地抵抗外部攻擊和內(nèi)部攻擊.

        7)女巫攻擊

        在本文的涉及方案中,每一個用戶在網(wǎng)絡(luò)中都有一個唯一標(biāo)識ID,通過使用機(jī)構(gòu)注冊節(jié)點(diǎn)的信息生成唯一的標(biāo)識,并且在每次通信之前都會對用戶信息進(jìn)行身份認(rèn)證,認(rèn)證在域內(nèi)聯(lián)盟鏈或者域間聯(lián)盟鏈中進(jìn)行,因此攻擊者無法偽裝網(wǎng)絡(luò)中的合法節(jié)點(diǎn)與其他節(jié)點(diǎn)進(jìn)行通信.

        以上是對本方案的安全性分析,與近幾年的跨域方案相比較,從表3可以看出,本方案在安全性上的優(yōu)越.在安全性上,本方案通過區(qū)塊鏈技術(shù)解決了認(rèn)證過程中中心化可能帶來的單點(diǎn)故障等問題;引入無證書簽名解決了密鑰托管的問題;設(shè)計時間戳機(jī)制,解決了重放攻擊;在方案的各個階段也都進(jìn)行了通信雙方的身份認(rèn)證,實(shí)現(xiàn)了雙向的相互認(rèn)證;通過無證書機(jī)制,讓用戶自己掌握自己的私鑰,也解決了內(nèi)外攻擊的問題.本方案與其他認(rèn)證方案在安全屬性的比較如表3.

        在安全屬性的比較上,與其他方案相比安全屬性更好.其中文獻(xiàn)[4]必須集中式的認(rèn)證方案,因此不滿足去中心化,另外不能抵抗重放攻擊;文獻(xiàn)[13]中未加入時間戳機(jī)制因此無法抵御重放攻擊,用戶私鑰也被存放在密鑰生成中心,容因此不滿足內(nèi)外部攻擊;文獻(xiàn)[14]不能抵抗重放攻擊.本方案對于解決上安全問題上具備一定優(yōu)勢.

        4.2 方案性能分析

        對本方案的性能分析,主要從計算開銷和通信開銷來與其他方案進(jìn)行比較.

        4.2.1 計算開銷

        文獻(xiàn)[4,13,14]是基于離散對數(shù)數(shù)學(xué)困難問題來進(jìn)行雙線性對計算和指數(shù)計算設(shè)計認(rèn)證方案,計算開銷大;而本文采用的是基于橢圓曲線上的離散對數(shù)困難問題,通過橢圓曲線上的加法運(yùn)算和倍點(diǎn)運(yùn)算來實(shí)現(xiàn)認(rèn)證方案的設(shè)計,計算開銷小.通過Thumbur 等人[15]的仿真實(shí)驗可知,橢圓曲線上的加法運(yùn)算大約是倍點(diǎn)運(yùn)算的200 多倍,在各個方案的計算開銷比較上作用也微乎其微.因此在計算開銷的比較上,不考慮橢圓去線上的加法運(yùn)算.為了對方案進(jìn)行比較,定義以下符號:TB表示一次雙線性對運(yùn)算開銷;TE表示一次指數(shù)運(yùn)算開銷;TGM表示運(yùn)行橢圓曲線上群G上一次點(diǎn)乘運(yùn)算的開銷,“—”表示不具備此功能.

        根據(jù)文獻(xiàn)[3]在i5-4460s 2.90 GHz CPU的計算機(jī)上部署大數(shù)運(yùn)算函數(shù)庫(MIRACL),對雙線性對運(yùn)算、指數(shù)運(yùn)算以及橢圓曲線上的倍點(diǎn)運(yùn)算的仿真實(shí)驗結(jié)果如表4.

        表4 運(yùn)算操作的運(yùn)行時間 (ms)

        在我們的方案中,為了實(shí)現(xiàn)機(jī)構(gòu)和用戶的雙向認(rèn)證,與其他方案不同的是,本方案也為機(jī)構(gòu)也頒發(fā)了身份證明,而且機(jī)構(gòu)的數(shù)量相比較普通用戶而言少很多,因此在總體計算開銷的用戶注冊階段,僅僅考慮普通用戶注冊時的計算開銷.

        本方案與文獻(xiàn)[4,13,14]所提出的方案在用戶計算開銷對比如表5.通過表格可以明顯地看出來與其他認(rèn)證方案相比較本方案在計算開銷上有明顯優(yōu)勢,并且文獻(xiàn)[4]和文獻(xiàn)[14]不支持跨域認(rèn)證,文獻(xiàn)[13]未對域內(nèi)認(rèn)證進(jìn)行分析,而本方案對域內(nèi)和域外身份認(rèn)證均進(jìn)行了設(shè)計.因此本方案更加全面,計算開銷也更低.

        表5 計算開銷比較

        4.2.2 通信開銷

        在通信開銷的比較上,由于文獻(xiàn)[14]未設(shè)計詳細(xì)的交互過程,因此不參與比較,并且為了更為直觀的進(jìn)行比較,僅對用戶的通信開銷進(jìn)行比較.假設(shè)所有的方案的身份ID 長度都一致,群上的消息長度也一致,加密消息的長度與消息本身長度一致,群變量信息長度是時間戳的10 倍,隨機(jī)數(shù)不計入長度,身份證明的長度與群變量一致.現(xiàn)定義|p|代表群變量的信息長度,|G|代表橢圓曲線上的信息長度,|t|代表時間戳的信息長度,|id|代表用戶和匿名身份的長度,|hmac|代表HMAC的信息長度.并假設(shè)|id|的長度為80 bit;時間戳16 bit;群變量160 bit;證書密文160 bit;身份的80 bit,|hmac|是160 bit.

        對于文獻(xiàn)[4]所述方案,在用戶注冊階段用戶發(fā)送的注冊信息長度為3|p|+|id|在認(rèn)證階段,用戶通信開銷為2|p|+|id|+|hmac|.

        對于文獻(xiàn)[14],用戶在注冊階段的計算開銷為|t|+3|q|,在認(rèn)證階段用戶的通信開銷為5|p|+|t|+|id|.

        從表6可以看出,總體來看文獻(xiàn)[4]的通信開銷最小,但是認(rèn)證階段本方案最優(yōu),而且在這3 個方案中,用戶只需要注冊一次,之后再進(jìn)行訪問只需要對其進(jìn)行認(rèn)證即可,在認(rèn)證階段,本方案的通信開銷最小.總之,對于用戶來說本方案的通信開銷可行.

        表6 用戶通信開銷比較

        另外,本方案采用基于聯(lián)盟鏈的基礎(chǔ)架構(gòu),由機(jī)構(gòu)節(jié)點(diǎn)和權(quán)威節(jié)點(diǎn)具備交易權(quán)限,并且節(jié)點(diǎn)數(shù)目遠(yuǎn)小于公有鏈.并且本文采用本地鏈和跨域鏈兩種區(qū)塊鏈.因此機(jī)構(gòu)節(jié)點(diǎn)和權(quán)威節(jié)點(diǎn)的計算開銷和通信開銷與單鏈架構(gòu)情況下相比要小得多.

        對于方案的存儲需求,區(qū)塊鏈上的數(shù)據(jù)都是經(jīng)過哈希處理的,最終轉(zhuǎn)化為固定字節(jié)的二進(jìn)制數(shù),然后通過默克爾樹來進(jìn)行記錄,區(qū)塊頭僅存放默克爾根的哈希值.而且區(qū)塊鏈上存儲的也僅是用戶的注冊信息以及惡意用戶記錄因此不會占據(jù)大量內(nèi)存,因此滿足存儲需求.

        5 總結(jié)與展望

        針對目前在教育場景下集中式的身份認(rèn)證的弊端,本文提出了基于無證書簽名與區(qū)塊鏈的身份認(rèn)證方案.利用區(qū)塊鏈的分布式架構(gòu)解決了集中式的單點(diǎn)故障問題;利用無證書簽名讓用戶生成自己的公私鑰,避免了密鑰托管的問題;通過頒發(fā)身份證明實(shí)現(xiàn)域內(nèi)、跨域認(rèn)證;通過區(qū)塊鏈技術(shù)來輔助用戶來進(jìn)行身份認(rèn)證,降低了用戶的計算開銷;另外通過哈希函數(shù)實(shí)現(xiàn)用戶的真實(shí)身份可追溯.最后,將本文所提出的身份認(rèn)證方案與其他方案進(jìn)行性能比較分析.結(jié)果表明該方案具備去中心化、可跨域、隱私保護(hù)、用戶可追溯的特性,并且在安全屬性和用戶開銷上有一定的優(yōu)勢.本文雖然在教育場景下的身份認(rèn)證的安全性上提供了有效的解決辦法,但仍存在較大的提升空間,下一步利用分片技術(shù)、多通道等技術(shù)區(qū)塊鏈系統(tǒng)的處理效率以及提高區(qū)塊鏈系統(tǒng)的可擴(kuò)展性,并進(jìn)一步研究基于教育區(qū)塊鏈的身份認(rèn)證領(lǐng)域.

        猜你喜歡
        用戶
        雅閣國內(nèi)用戶交付突破300萬輛
        車主之友(2022年4期)2022-08-27 00:58:26
        您撥打的用戶已戀愛,請稍后再哭
        關(guān)注用戶
        商用汽車(2016年11期)2016-12-19 01:20:16
        關(guān)注用戶
        商用汽車(2016年5期)2016-11-28 09:55:15
        兩新黨建新媒體用戶與全網(wǎng)新媒體用戶之間有何差別
        關(guān)注用戶
        商用汽車(2016年6期)2016-06-29 09:18:54
        關(guān)注用戶
        商用汽車(2016年4期)2016-05-09 01:23:12
        挖掘用戶需求尖端科技應(yīng)用
        Camera360:拍出5億用戶
        100萬用戶
        二区三区视频在线观看| 日本xxxx色视频在线播放| 久久久久亚洲av无码尤物| 一区二区三区国产高潮| 男女啪啪在线视频网站| 97色综合| 精品久久免费国产乱色也| 无码专区人妻系列日韩精品| 日韩制服国产精品一区| 久久频精品99香蕉国产| 亚洲视频在线免费观看一区二区| 国产精品亚洲精品一区二区| 精品+无码+在线观看| 末发育娇小性色xxxxx视频| 免费国产h视频在线观看86| 国产又大大紧一区二区三区| av高清在线不卡直播| 亚洲av成人中文无码专区| 国产精品国产三级农村妇女| 日本av在线精品视频| 美女用丝袜脚玩我下面| 乱子伦一区二区三区| 国产成人精品午夜福利| 精品中文字幕手机在线| 亚洲色图视频在线免费看| 中文字幕天天躁日日躁狠狠躁免费 | 国产午夜福利不卡在线观看| 国产精品无码无片在线观看| 国产女主播视频一区二区三区| 国产国语按摩对白av在线观看 | 亚洲日本在线中文字幕| 国产在线一区二区三区四区不卡 | 国外精品视频在线观看免费| 国产精品久久久久尤物| 精品少妇人妻久久免费| 大桥未久av一区二区三区| 一本一道av无码中文字幕| 国产日韩欧美视频成人| 国产综合开心激情五月| 国产精品无码久久久久久| 色伊人国产高清在线|