董貴山 ,陳宇翔 ,李洪偉 ,白 健 ,郝 堯 ,楊 淳
(1.中國電子科技集團(tuán)公司第三十研究所,四川 成都 610041;2.電子科技大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,四川 成都 611731)
跨域認(rèn)證是打破信任孤島的技術(shù)??梢詾橛脩籼峁┮淮蔚卿?,全網(wǎng)通行的便捷服務(wù),用戶只需注冊并管理一個(gè)賬號(hào),即可訪問其他應(yīng)用的服務(wù),這些應(yīng)用原本和當(dāng)前用戶所注冊的應(yīng)用相互獨(dú)立,甚至具有不同認(rèn)證機(jī)制??缬蛘J(rèn)證技術(shù)打破了不同信任域隔閡,使用戶免受重復(fù)注冊,管理多個(gè)賬號(hào)等問題的影響。雖然跨域技術(shù)溝通了多個(gè)不同信任域,但不同信任域存在多種不確定性,讓信任傳遞結(jié)果不絕對(duì)可信,包括認(rèn)證機(jī)制,的不確定性等,比如:證書跨域認(rèn)證中中間推薦實(shí)體(背書方)過多使構(gòu)造的證書鏈過長,使證書用戶的可信度存在下降風(fēng)險(xiǎn),再如:較低安全級(jí)別應(yīng)用的用戶(如賬戶密碼方式)通過跨域技術(shù)訪問較高安全級(jí)別的應(yīng)用(如指紋虹膜等生物特征方式)。
由此可見,單純的跨域技術(shù)存在安全風(fēng)險(xiǎn),需要量化跨域用戶的身份可信度來降低安全風(fēng)險(xiǎn)[1],合理的可信度評(píng)價(jià)機(jī)制應(yīng)建立于認(rèn)證機(jī)制(如證書,口令、虹膜等)和協(xié)議(如Kerberos、Radius等)基礎(chǔ)上,能在統(tǒng)一信任服務(wù)層面為各信任域提供跨域認(rèn)證參考,它關(guān)乎統(tǒng)一信任服務(wù)的普及,是信息安全的重要組成部分。
在跨域認(rèn)證的可信度量方面,業(yè)界已提出了一些定義、方法和模型。
在公鑰證書方面,Ueli Maurer[2]等定義了謂詞邏輯組(auth、trust、cert、rec),最早從用戶視角對(duì)公鑰基礎(chǔ)設(shè)施(Public Key Infrastructure,PKI)的信任邏輯模型進(jìn)行定義,設(shè)計(jì)了PKI信任推理算法,但未能給出謂詞的信任度計(jì)算方法,也沒能考慮時(shí)間對(duì)身份可信度的影響。證書權(quán)威信任管理系統(tǒng)CA-TMS(Certificate Authority-Trust Management System)方案[3]設(shè)計(jì)了證書權(quán)威(Certificate Authority,CA)信任度的評(píng)價(jià)方法,對(duì)不同CA機(jī)構(gòu)給出評(píng)價(jià)值供依賴方參考,依賴方可根據(jù)評(píng)價(jià)值自定信任權(quán)重,綜合計(jì)算對(duì)CA的可信度,只有在可信度滿足閾值的條件下,依賴方才會(huì)信任該CA。張明德等[4]針對(duì)PKI機(jī)制,分析了PKI證書及其私鑰簽發(fā)和使用中的安全風(fēng)險(xiǎn),設(shè)計(jì)了一種密鑰可信度的評(píng)價(jià)方法。
對(duì)Ad hoc網(wǎng)絡(luò),George[5-6]等將信任問題定義為有向圖,用半環(huán)代數(shù)理論計(jì)算信任值,可客觀反映全局信任度,具有良好的動(dòng)態(tài)適應(yīng)性,并能檢測惡意行為。但缺乏安全風(fēng)險(xiǎn)評(píng)估,不能能合理初始化信任值,實(shí)體隨意定義自己的信任值,提高了安全風(fēng)險(xiǎn)。同時(shí)沒有考慮上下文隨時(shí)間動(dòng)態(tài)變化因素,可擴(kuò)展性較差。Sun Y[7]等提出了用熵表示信任關(guān)系的模型,該模型可描述關(guān)系的不確定性,反應(yīng)信任關(guān)系的動(dòng)態(tài)更新,檢測和抵御惡意攻擊,但該方法沒有給出數(shù)學(xué)模型,上下文定義單一,參數(shù)設(shè)置單一,可擴(kuò)展性也較差。
在普適環(huán)境方面,Thomas Beth[1]針對(duì)各種開放網(wǎng)絡(luò),基于經(jīng)驗(yàn)值設(shè)計(jì)了信任度評(píng)價(jià)方法,但該方法未能考慮不同身份認(rèn)證的特點(diǎn)及其復(fù)雜性。歐洲的安全普適計(jì)算(Ubiquitous Security Computing,UBISEC)子項(xiàng)目提出了PTM(Pervasive Trust Management)模型[8-10],該模型針對(duì)普適環(huán)境定義了概率加權(quán)的動(dòng)態(tài)信任評(píng)估方法,但該方法針對(duì)的模型信任域固定,難以適應(yīng)不同模型的需求,不能處理新出現(xiàn)的未知實(shí)體的不確定性,也未能考慮信任的主觀性、模糊性和不確定性。Hassan[11]等針對(duì)普適環(huán)境設(shè)計(jì)了基于向量機(jī)制的信任模型,綜合考慮自信任、時(shí)間、歷史等因素。但該模型未能考慮利益推薦時(shí)的欺騙行為,沒有風(fēng)險(xiǎn)分析機(jī)制,推薦信任關(guān)系只相信鄰居節(jié)點(diǎn),信任度不具有全局性?;谠频男湃文P停–loud-based trust model,CBTM)[12]用云的形式將信任值及其不確定性統(tǒng)一,給出了信任鏈構(gòu)造和合并算法描述全局信任度。但未能考慮上下文的動(dòng)態(tài)變化,沒有說明初始值如何定義,可擴(kuò)展性較差且模型較為粗糙。在可信度定義方面,汪倫偉[13]等將認(rèn)證中的不確定性分為3類,包括認(rèn)證機(jī)制、規(guī)則和結(jié)論的不確定性,在此基礎(chǔ)提出可信度思想,設(shè)計(jì)了認(rèn)證可信度模型,但該模型未能考慮認(rèn)證協(xié)議、機(jī)制和憑證的差異,也未分析跨域用戶的不確定性對(duì)認(rèn)證結(jié)果的影響。張明德等[14]在身份認(rèn)證中引入信任分類、不可信因子和安全度,并提出了通用的可信度計(jì)算方法,但該方法在計(jì)算中的數(shù)值取值基于先驗(yàn)概率,在實(shí)際應(yīng)用中不具有說服例,且可擴(kuò)展性較差。
單純從算法角度,Melaye D[15]基于貝葉斯方法和Kalman信息過濾設(shè)計(jì)了動(dòng)態(tài)評(píng)價(jià)模型,但未能說明值的初始化和使用環(huán)境,且過濾器開銷大,模型可擴(kuò)展性較差。
對(duì)網(wǎng)格環(huán)境,Song SS等[16]提出模糊邏輯的動(dòng)態(tài)模型,包括信任描述、評(píng)估和更新??紤]了歷史因素可檢測和抵御惡意實(shí)體。但未能考慮信任的時(shí)間變化,計(jì)算信任值開銷大,且計(jì)算收斂性和可擴(kuò)展性差,缺乏考慮間接信任值,使得信任值難以體現(xiàn)全局性。
以上信任評(píng)價(jià)方案有的單純研究算法,缺乏應(yīng)用背景;有的未能考慮推薦信任,模型缺乏可擴(kuò)展性;有的信任度難以代表全局,讓應(yīng)用服務(wù)僅相信自己的鄰居節(jié)點(diǎn);有的難以維護(hù)動(dòng)態(tài)信任關(guān)系等;有的未能考慮時(shí)間對(duì)信任推薦的影響;還有的對(duì)信任關(guān)系定位過于模糊,將可信度參與實(shí)體簡單定義為節(jié)點(diǎn)。有的可信度定義過于復(fù)雜,包含了實(shí)體與應(yīng)用,實(shí)體與實(shí)體間的多維度多方向評(píng)價(jià),未能結(jié)合實(shí)際需求。
本文研究背景基于國家重點(diǎn)研發(fā)計(jì)劃,異構(gòu)身份聯(lián)盟與監(jiān)管基礎(chǔ)科學(xué)問題研究,目前項(xiàng)目已在體系結(jié)構(gòu)方面提出了基于聯(lián)盟鏈的異構(gòu)身份互信互通架構(gòu)如圖1所示。架構(gòu)由異構(gòu)身份聯(lián)盟鏈(聯(lián)盟區(qū)塊鏈)、 不同身份管理系統(tǒng)(如公民網(wǎng)絡(luò)電子身份標(biāo)識(shí)(Electronic Identity,eID)、電信、電商等)、基礎(chǔ)身份信息庫(如提供用戶實(shí)體身份驗(yàn)證的公安人口庫)等組成。圖1中,IDA及其公私鑰PKA1/SKA1是eID系統(tǒng)內(nèi)身份,IDA0及其公私鑰PKA0/SKA0對(duì)應(yīng)異構(gòu)聯(lián)盟身份,標(biāo)識(shí)及公鑰等都記入聯(lián)盟鏈,形成以用戶為中心,各聯(lián)盟節(jié)點(diǎn)分布式運(yùn)維管理的聯(lián)盟統(tǒng)一身份信息庫,為信任傳遞時(shí)的可信度研究奠定了基礎(chǔ)。
當(dāng)eID身份系統(tǒng)和電信身份系統(tǒng)加入異構(gòu)身份聯(lián)盟鏈后,就都具備了對(duì)聯(lián)盟統(tǒng)一身份認(rèn)證的支持,eID身份系統(tǒng)的用戶A基于統(tǒng)一身份標(biāo)識(shí)和對(duì)應(yīng)公鑰PKA1跨域訪問,電信身份管理系統(tǒng)的聯(lián)盟認(rèn)證服務(wù)可基于PKA1(eID系統(tǒng)對(duì)應(yīng))驗(yàn)證該用戶簽名,以及eID身份系統(tǒng)對(duì)IDA(聯(lián)盟內(nèi)用戶標(biāo)識(shí))的簽名,用戶A跨域行為觸發(fā)eID和電信域事先簽署的互信智能合約,執(zhí)行智能合約后許可IDA對(duì)電信身份系統(tǒng)發(fā)起訪問,此時(shí)電信身份管理系統(tǒng)除驗(yàn)證基本屬性字段外,將根據(jù)聯(lián)盟共識(shí)的初始值和其他系統(tǒng)的推薦值,自主計(jì)算可信度,并實(shí)施后續(xù)訪問控制過程。該認(rèn)證中,信任傳遞,跨域訪問都基于異構(gòu)系統(tǒng)間的智能合約,聯(lián)盟鏈分布式管理的聯(lián)盟統(tǒng)一身份信息(包括可信評(píng)價(jià))和相應(yīng)的跨域驗(yàn)證密鑰。
在以上研究背景下,本文第2節(jié)描述了異構(gòu)身份聯(lián)盟環(huán)境中的信任角色分類,信任評(píng)價(jià)相關(guān)概念描述和信任傳遞的運(yùn)行機(jī)制。第3節(jié)給出了異構(gòu)身份聯(lián)盟的通用跨域認(rèn)證模型,并在該模型的基礎(chǔ)上給出了聯(lián)盟用戶跨域傳遞時(shí)的信任評(píng)價(jià)方法。第4節(jié)將本文信任傳遞方法與各信任模型進(jìn)行分類評(píng)述,分析了所設(shè)計(jì)的信任傳遞可信度的優(yōu)勢與問題。第5章總結(jié)并對(duì)未來工作進(jìn)行展望。
圖1 異構(gòu)身份聯(lián)盟基礎(chǔ)架構(gòu)
定義1 跨域?qū)嶓w(Cross-domain Entity),跨域?qū)嶓w是請求訪問服務(wù)的對(duì)象,可能是物理或虛擬對(duì)象,實(shí)體身份驗(yàn)證通過后才可獲得相應(yīng)的域外服務(wù)。
定義2憑證和認(rèn)證機(jī)制(Credential and Authentication Mechanism),憑證是訪問實(shí)體向服務(wù)證明自身身份的數(shù)字憑證,與跨域?qū)嶓w標(biāo)識(shí)結(jié)合使用,且標(biāo)識(shí)與憑證一一對(duì)應(yīng)。認(rèn)證機(jī)制是憑證簽發(fā)和驗(yàn)證的方法。
定義3 身份管理方(Identity Manager),身份管理方作為功能組件管理認(rèn)證憑證,可對(duì)實(shí)體簽發(fā)或撤銷憑證,并支持持有憑證的實(shí)體跨域認(rèn)證。
定義4 身份依賴方(Relying Party),身份依賴方是可以向跨域?qū)嶓w提供相應(yīng)服務(wù)的功能組件,提供服務(wù)的前提是獲得身份驗(yàn)證方的正確反饋結(jié)果。
定義5 身份驗(yàn)證方(Identity Verifier),身份驗(yàn)證方是驗(yàn)證實(shí)體憑證的功能組件,基于事先約定的協(xié)議驗(yàn)證訪問實(shí)體憑證。
以上5種要素相互作用(如圖2所示)共同組成跨域認(rèn)證關(guān)系,在一些環(huán)境中,一個(gè)應(yīng)用可能兼具身份依賴方、身份管理方和身份驗(yàn)證方等角色??缬蛘J(rèn)證中的身份驗(yàn)證方可能與跨域?qū)嶓w同域(比如賬戶口令認(rèn)證機(jī)制下,rp2需要A域驗(yàn)證方對(duì)跨域認(rèn)證結(jié)果背書),也可能與跨域?qū)嶓w的訪問目標(biāo)同域(比如公鑰證書用戶跨域時(shí),B域rp1兼具驗(yàn)證方角色)。
圖2 跨域信任傳遞關(guān)系
信任傳遞通常涉及到不同認(rèn)證系統(tǒng),甚至不同認(rèn)證機(jī)制間的交互。研究多域環(huán)境下的信任傳遞可信度具有普遍意義。考慮實(shí)際應(yīng)用中,應(yīng)用服務(wù)對(duì)用戶的注冊認(rèn)證具有主動(dòng)性,用戶在獲取服務(wù)時(shí)不具有主動(dòng)性,比如社交軟件微信、三大運(yùn)營商通信服務(wù)等。因此本文的跨域認(rèn)證信任度研究只涉及應(yīng)用系統(tǒng)對(duì)用戶的評(píng)價(jià),不涉及用戶對(duì)應(yīng)用服務(wù)的評(píng)價(jià)。同時(shí)對(duì)各加入聯(lián)盟的應(yīng)用安全級(jí)別通過智能合約自動(dòng)分類匹配,可在一定程度防止惡意評(píng)價(jià)。
信任本身是抽象模糊的概念,具有主觀性和客觀性,因此將信任評(píng)價(jià)分為聲譽(yù)度和信任度兩種,聲譽(yù)表示被動(dòng)信任評(píng)價(jià),即其他實(shí)體對(duì)本實(shí)體的信任度評(píng)價(jià);信任表示主動(dòng)信任評(píng)價(jià),即本實(shí)體對(duì)其他實(shí)體的信任度評(píng)價(jià)。兩者均可定量描述,且能夠相互轉(zhuǎn)換,比如:此次應(yīng)用服務(wù)A對(duì)訪問實(shí)體e的信任評(píng)價(jià)值,將成為e訪問應(yīng)用服務(wù)B時(shí)的一個(gè)聲譽(yù)度供B參考。以下給出信任評(píng)價(jià)的相關(guān)描述:
(1)信任度:是對(duì)信任的定量描述,又可稱為信任值,評(píng)價(jià)值,可信評(píng)價(jià)等。本文將信任度(Trust Degree)用符號(hào)TD表示TD∈[0,1],當(dāng)TD=1時(shí)表示絕對(duì)信任,TD=0時(shí)表示完全不信任。
(2)信任度類型:將信任度分為域內(nèi)信任度,推薦信任度和域間信任度,域內(nèi)信任是依賴方(應(yīng)用服務(wù))對(duì)實(shí)體可根據(jù)直接接觸歷史記錄得出信任值,比如圖3中BC之間的信任度TDBC;推薦信任度存在于機(jī)構(gòu)之間,是依賴方對(duì)推薦機(jī)構(gòu)(應(yīng)用)的認(rèn)證方式、權(quán)威性作出判斷得出推薦信任值(TDAB)。域間信任度(AC間虛線TDAC)則需要若干第三方逐級(jí)推薦,隨著推薦環(huán)節(jié)的增多,主觀信任中的模糊性,不確定性隨之增大,可信度將會(huì)大幅下降,以PKI為例,當(dāng)兩個(gè)實(shí)體間的推薦中間方達(dá)到6時(shí),則實(shí)體間的信任度趨近于0(TD≈0)[17]。
以圖3為例,AC間包含若干信任路徑,虛線代表綜合域間信任度(Comprehensive Trust Degree,TDC),TDC由每條信任路徑的域間信任度概率加權(quán)得到,其權(quán)值由依賴方主觀設(shè)定,即TDAC=c1TDAC1+c2TDAC2,0≤ c1≤ 1,0≤ c2≤ 1。信任路徑越多,則域間綜合信任度越大。而TDAC1=TDABTDBC,TDAC2=TDADTDDETDEC,每條路徑隨著域間信任度也隨推薦實(shí)體增多下降。兩個(gè)實(shí)體間信任路徑越多,加權(quán)信任度TDC越大,越趨近于1(絕對(duì)信任)。當(dāng)應(yīng)用服務(wù)A對(duì)C的綜合信任度發(fā)布給其他實(shí)體(比如應(yīng)用服務(wù)F)參考時(shí),則對(duì)于D來說,A對(duì)C的主觀信任評(píng)價(jià)是C的一個(gè)被動(dòng)信任度,即聲譽(yù)。
圖3 信任度類型說明
由于信任具有很強(qiáng)的主觀性、模糊性和不確定性,簡單的劃分置信區(qū)間和概率加權(quán)方式得出的信任度TDC依然具有不確定性,在異構(gòu)環(huán)境下,身份管理系統(tǒng)的加入、退出、認(rèn)證安全的提升等,都增加了這種不確定性。綜合信任度TDC反映了應(yīng)用系統(tǒng)對(duì)跨域用戶的定性描述。本文在概率加權(quán)基礎(chǔ)上引入基于熵的云理論[18]描述信任的模糊性和不確定性,以三元組(TD,En,He)的方式對(duì)跨域用戶定量描述,以提高跨域認(rèn)證安全。
熵(Entropy,En)描述了綜合信任度的不確定性,反映綜合信任度屬于空間可被接受的范圍大小。超熵(Hyper Entropy,He)描述了熵的不確定性,反映綜合信任度樣本空間中可能的隨機(jī)值。
(3)共識(shí)評(píng)判標(biāo)準(zhǔn)
本文可信度研究主要針對(duì)政務(wù)惠民服務(wù)、社交網(wǎng)絡(luò)、電信網(wǎng)等組成的異構(gòu)身份跨域信任傳遞領(lǐng)域,基于區(qū)塊鏈聯(lián)盟鏈構(gòu)建,可信度的初始化標(biāo)準(zhǔn)由智能合約發(fā)布,即各信任域在通過接口加入聯(lián)盟時(shí),會(huì)向聯(lián)盟提交系統(tǒng)本身的身份管理方式,智能合約根據(jù)提交認(rèn)證方式自動(dòng)匹配各信任域的可信度??紤]異構(gòu)身份聯(lián)盟中用戶實(shí)際需求,考慮身份等級(jí)問題,對(duì)加入聯(lián)盟區(qū)塊鏈的各應(yīng)用的身份管理系統(tǒng)評(píng)級(jí),分為五級(jí)身份,如下所示:
一級(jí)身份無要求,申請人自己聲稱一個(gè)身份,無門檻可直接注冊靜態(tài)賬戶/密碼的身份管理系統(tǒng)所轄用戶均屬一級(jí)身份;二級(jí)身份要求身份證據(jù)來自權(quán)威機(jī)構(gòu),該級(jí)別系統(tǒng)所轄用戶在注冊環(huán)節(jié)需與用戶手機(jī),身份證等有效證件進(jìn)行綁定,用戶身份具有一定的可信性,如微信,淘寶等均屬此類身份;三級(jí)身份在二級(jí)身份的基礎(chǔ)上,身份系統(tǒng)在注冊環(huán)節(jié)要求使用現(xiàn)場認(rèn)證的方式確定申請人和所聲稱的身份關(guān)聯(lián)性,比如三大運(yùn)營商所提供的通信服務(wù),政務(wù)應(yīng)用的PKI公鑰基礎(chǔ)設(shè)施等;四級(jí)身份在三級(jí)身份的基礎(chǔ)上,要求提供更多的證據(jù)/屬性等和執(zhí)行額外的驗(yàn)證防止身份的冒用或偽造,如生物特征等,比如機(jī)場海關(guān)安檢。五級(jí)身份則是應(yīng)用服務(wù)本身與訪問實(shí)體的直接接觸,或其他更加嚴(yán)格的認(rèn)證措施,比如公安部法人的eID身份等。
從宏觀看,通過智能合約設(shè)定聯(lián)盟的共識(shí)評(píng)價(jià)標(biāo)準(zhǔn),將申請加入?yún)^(qū)塊鏈的異構(gòu)身份系統(tǒng)進(jìn)行劃分(如圖4所示)。在各異構(gòu)身份系統(tǒng)加入?yún)^(qū)塊鏈聯(lián)盟時(shí),根據(jù)各系統(tǒng)身份管理安全級(jí)別及其機(jī)構(gòu)的權(quán)威性定級(jí),TDC數(shù)值自動(dòng)落入相應(yīng)身份的置信區(qū)間,比如微信身份管理域的注冊用戶的可信度自動(dòng)落入(0,0.25]區(qū)間,在智能合約的給定區(qū)間下,主觀將閾值設(shè)定為0.2。則所有該應(yīng)用注冊用戶通過該應(yīng)用跨域訪問其他應(yīng)用時(shí)都使用該可信度初始值,且各身份管理域?qū)缬蛴脩艚o出的安全評(píng)價(jià)不可高于該域系統(tǒng)本身的安全級(jí)別,比如微信(二級(jí)身份)對(duì)跨域用戶給出的可信評(píng)價(jià)不可高于0.25。
圖4 身份等級(jí)與安全級(jí)別劃分
(4)主觀信任度量:當(dāng)一個(gè)應(yīng)用服務(wù)利用與訪問實(shí)體間的直接信任度和若干間接信任度(第三方推薦)計(jì)算得到訪問實(shí)體的綜合信任度TDC時(shí),可對(duì)綜合信任度TDC進(jìn)行自主劃分、評(píng)判是否通過,劃分標(biāo)準(zhǔn)并不絕對(duì),需結(jié)合自身安全需求設(shè)定閾值,比如:電信閾值要求跨域用戶TDC大于0.4,如公式(2)所示,即使是3級(jí)身份也有部分應(yīng)用不滿足閾值,無法認(rèn)證通過。原則上,安全級(jí)別較高的管理域所轄注冊用戶可直接跨域訪問安全級(jí)別較低的應(yīng)用管理域,反之則不可。
以上評(píng)價(jià)具有主觀性,應(yīng)用服務(wù)可根據(jù)自身安全需求自行劃定置信區(qū)間,比如TDC>0.2,采用賬戶口令方式即為可信,可通過本應(yīng)用服務(wù)的認(rèn)證。與此同時(shí)應(yīng)用將自己的主觀TDC發(fā)布到區(qū)塊鏈,TDC變?yōu)樵撛L問實(shí)體下次跨域認(rèn)證的聲譽(yù)度供其他應(yīng)用參考。
為了解決異構(gòu)身份聯(lián)盟不同域用戶跨域認(rèn)證時(shí)的可信度問題,需要基于區(qū)塊鏈及其智能合約將不同認(rèn)證機(jī)制和安全級(jí)別的身份管理系統(tǒng)整合為一個(gè)標(biāo)準(zhǔn)跨域認(rèn)證協(xié)議。在用戶跨域認(rèn)證中由智能合約提供聯(lián)盟層面的共識(shí)評(píng)價(jià)標(biāo)準(zhǔn)提供各信任域參考?;趨^(qū)塊鏈的異構(gòu)身份認(rèn)證模型主要認(rèn)證流程如圖5所示,虛線表示異構(gòu)身份管理域,主要包含兩類:區(qū)塊鏈聯(lián)盟管理域和各種異構(gòu)身份管理域,其中將異構(gòu)身份管理域包含eID、電信、微信、淘寶等身份系統(tǒng)管理域。兩類管理域的重疊部分是信任互通設(shè)備(即聯(lián)盟區(qū)塊鏈節(jié)點(diǎn)),提供異構(gòu)身份聯(lián)盟基礎(chǔ)的區(qū)塊鏈及智能合約服務(wù)。
圖5 異構(gòu)身份聯(lián)盟用戶跨域認(rèn)證流程示意圖
(1)eID身份系統(tǒng)用戶A向本域應(yīng)用系統(tǒng)發(fā)起認(rèn)證請求,在認(rèn)證請求中標(biāo)注了訪問目的域(電信身份管理系統(tǒng))。
(2)eID身份系統(tǒng)認(rèn)證服務(wù)器AS1對(duì)本域用戶A進(jìn)行身份認(rèn)證。
(3)AS1的認(rèn)證后用戶A通過后,將成功結(jié)果、訪問目的域等相關(guān)聯(lián)盟信息提交智能合約記鏈。
(4)部分安全需求較高的信任域之間可能會(huì)在憑證記鏈的同時(shí),在信任域的服務(wù)器之間采用憑證背書的方式(credEndor主要用于密碼二次挑戰(zhàn)),防止中間人攻擊。
(5)當(dāng)用戶A通過AS1認(rèn)證且AS1將憑證記鏈后,用戶界面將跳轉(zhuǎn)至AS2。
(6)AS2對(duì)用戶出示的身份憑證cred1,在區(qū)塊鏈聯(lián)盟節(jié)點(diǎn)查詢并驗(yàn)證通過后,用戶訪問應(yīng)用系統(tǒng)。
在跨域認(rèn)證中除相同體制的公鑰證書認(rèn)證方式可直接驗(yàn)證身份外(此時(shí)可直接驗(yàn)證跨域用戶,AS2主觀認(rèn)為跨域用戶完全可信),AS2由于認(rèn)證機(jī)制不同,無法用用戶在AS1處注冊的認(rèn)證方式進(jìn)行認(rèn)證,只能對(duì)其注冊系統(tǒng)AS1的背書進(jìn)行信任度主觀判斷。第(6)步的詳細(xì)流程如下:
對(duì)跨域用戶的驗(yàn)證包含密鑰驗(yàn)證和聯(lián)盟憑證屬性驗(yàn)證,憑證屬性包含以下內(nèi)容:
1)用戶A所屬應(yīng)用系統(tǒng)標(biāo)識(shí);
2)用戶聯(lián)盟身份標(biāo)識(shí)(在區(qū)塊鏈可查);
3)憑證的有效期;
4)憑證出具機(jī)構(gòu)的標(biāo)識(shí);
5)憑證出具機(jī)構(gòu)的名稱;
6)憑證簽發(fā)前所采用的認(rèn)證方式(信任度TD1);7)憑證出具機(jī)構(gòu)的數(shù)字簽名。
AS2獲取到該跳轉(zhuǎn)鏈接所出示的憑證cred1后,解析用戶聯(lián)盟標(biāo)識(shí),并用該標(biāo)識(shí)向區(qū)塊鏈查詢用戶其他聯(lián)盟成員,應(yīng)用系統(tǒng)(比如淘寶、微信注冊記錄的跨域憑證)頒發(fā)的跨域憑證cred2,cred3…credN。從查詢到的憑證中判定其中的有效憑證(包括憑證是否過期,簽發(fā)方狀態(tài),安全級(jí)別是否合規(guī),簽發(fā)機(jī)構(gòu)是夠在本域的信任列表等),解析認(rèn)證方式聲譽(yù)度TD2,TD3…TDN. 提取后根據(jù)主觀設(shè)置權(quán)重,加權(quán)計(jì)算綜合信任度,判定主觀綜合信任度是否滿足本應(yīng)用的跨域認(rèn)證閾值。滿足閾值則通過認(rèn)證,并生成相同格式的上述憑證cred發(fā)布到區(qū)塊鏈,作為該聯(lián)盟用戶以后跨域認(rèn)證的一個(gè)參考聲譽(yù)度。如未能滿足閾值,則返回用戶消息,要求重新在本應(yīng)用注冊身份。
當(dāng)AS2從區(qū)塊鏈獲得所有當(dāng)前用戶的跨域歷史憑證cred1,cred2…并從合規(guī)憑證中解析有效信任度 {TD1,TD2,TD3…},由于目標(biāo)域與跨域用戶間可能存在若干信任路徑,每條信任路徑之間可能存在若干推薦實(shí)體,故對(duì)所有有效信任度進(jìn)一步分類(式(3)矩陣所示),表示驗(yàn)證方和訪問實(shí)體間存在m條信任路徑,矩陣寬度n取m條路徑中,推薦實(shí)體最多的信任路徑,0≤TDij≤1,0≤i,j≤1,矩陣中短于n的路徑超出部分用0代替):
應(yīng)用系統(tǒng)對(duì)訪問實(shí)體的評(píng)價(jià)指標(biāo)包含信任度、熵和超熵(TDC,En,He)等三方面,TDC的計(jì)算具有主觀性,En、He則由區(qū)塊鏈智能合約推送,具有客觀性。用熵的方式描述跨域認(rèn)證中的不確定性來提高跨域認(rèn)證的安全,訪問實(shí)體要通過認(rèn)證必須在三個(gè)評(píng)價(jià)指標(biāo)同時(shí)滿足閾值,當(dāng)主觀信任度滿足閾值而E n,He過大時(shí),表示該信任度不可靠,具有較大風(fēng)險(xiǎn)(比如跨域用戶所屬的系統(tǒng)已注銷、用戶行為異常等因素被智能合約預(yù)設(shè)的規(guī)則檢測到)。
3.2.1 單條信任路徑可信度推薦算法
每個(gè)認(rèn)證服務(wù)器在本地維護(hù)了本應(yīng)用對(duì)聯(lián)盟其他機(jī)構(gòu)的信任列表(主觀設(shè)定的黑白名單),在跨域認(rèn)證時(shí),從區(qū)塊鏈查詢并得到訪問實(shí)體的第i條信任路徑[TDi1,TDi2,…,TDin](本文在用戶跨域訪問時(shí)默認(rèn)信任路徑已構(gòu)造好,路徑包含若干機(jī)構(gòu)間信任度和一個(gè)域內(nèi)信任度)。第i條路徑中,機(jī)構(gòu)間TDij(2≤j≤n)由于在加入時(shí)已被智能合約分類,故具有不同置信區(qū)間的信任值(參考圖4),域內(nèi)信任度TDi1在用戶所轄系統(tǒng)給出,不超過所轄系統(tǒng)被智能合約分配的上限,即TDi2≤TDi1≤Hi2(Hi2為系統(tǒng)被智能合約劃分的最高上限)。同時(shí),認(rèn)證服務(wù)器從本地信任列表提取該第i條路徑的信任列表TLi=[e1,e2,…,en],ei=0or1,計(jì)算該條路徑的可信評(píng)價(jià) (TDi,Eni,Hei),如下所示:
單條信任路徑計(jì)算方法
Output: (TDi,Eni,Hei)
在該計(jì) 算方法中,認(rèn)證服務(wù)器本身對(duì)聯(lián)盟其他成員具有主觀性(信任為1,不信任為0,用TLi=[e1,e2,…,en]表示)。當(dāng)一條路徑計(jì)算得出TDi滿 足本應(yīng)用安全閾值時(shí),判 定熵Eni和超熵Hei的閾值是否超出可接受范圍,若Eni和Hei過大,說明信任路徑中存在以下問題使使得該路徑風(fēng)險(xiǎn)較高:
信任路徑中存在不同于本信任域安全級(jí)別的其他系統(tǒng)的推薦。比如:安全級(jí)別較高的信任域拒絕低安全級(jí)別的信任域的推薦。
信任路徑過長。
信任路徑中存在本認(rèn)證服務(wù)器不信任的管理域(可能存在ei=0)。
以上情況都可能讓熵和超熵超出設(shè)定閾值(表示路徑具有較高風(fēng)險(xiǎn))。熵描述了信任路徑的取值范圍,范圍越大,模糊性越強(qiáng);超熵描述了熵的不確定性,反應(yīng)信任路徑評(píng)價(jià)的隨機(jī)性,超熵值越大,隨機(jī)性越強(qiáng),可信度越低;因此,熵和超熵的取值都不易過大,熵的風(fēng)險(xiǎn)評(píng)價(jià)機(jī)制適應(yīng)于對(duì)安全性要求高的應(yīng)用和機(jī)構(gòu),對(duì)安全性較低的用戶可只參考綜合信任度。
3.2.2 信任路徑合并算法
一個(gè)綜合信任評(píng)價(jià)(Comprehensive Trust Evaluat ion,CTE)CTE(TDC,Eni,He)需合并各個(gè)信任路徑的CTEi,設(shè)第i條信任路徑的綜合評(píng)價(jià)為CTEi(TDCi,Eni,Hei),則有:
CTE(TDC,En,He)=CTE1? CTE2......? CTEm(4)
具體合并算法如下所示,每條路徑的權(quán)重由驗(yàn)證方主觀設(shè)定 [c1,c2,…,cm],0≤ci≤ 1且c1+c2+…+cm=1:
信任路徑合并算法:
Output:CTE(TDC,En,He)
對(duì)主觀綜合信任度TDC,要在m條信任路徑的基礎(chǔ)上合并每條信任路徑的信任度TDi為第i條信任路徑的長度)。maximum為應(yīng)用本身加入聯(lián)盟區(qū)塊鏈時(shí)的安全級(jí)別。從信息安全的角度,低安全級(jí)別的應(yīng)用不可給出高于本身份系統(tǒng)安全級(jí)別的評(píng)價(jià)值,在本文設(shè)定中,根據(jù)設(shè)定的相應(yīng)身份安全等級(jí),max可能的取值為0,0.25,0.5,0.75或1。
其中ci(每條信任路徑的權(quán)重)在[0,1]范圍內(nèi),由各身份管理域自行設(shè)定,具有主觀能動(dòng)性。低安全級(jí)別的信任域通常取c =。高安全級(jí)別的應(yīng)i用可根據(jù)風(fēng)險(xiǎn)評(píng)價(jià)值提高風(fēng)險(xiǎn)低的路徑的權(quán)重,降低風(fēng)險(xiǎn)高的路徑的權(quán)重,比如1≤i≤m。
A信任域在用戶注冊時(shí)需與手機(jī)綁定,在加入聯(lián)盟時(shí),被智能合約分配的信任值區(qū)間為(0,0.25],屬于二級(jí)身份,該域可給出的最高評(píng)價(jià)max1=0.25,信任閾值Tlimit選擇0.1,則其所簽發(fā)的用戶身份均為TDorigin=0.1。
B信任域是某銀行應(yīng)用服務(wù),在用戶注冊時(shí)需用戶現(xiàn)場核實(shí)身份,并在登錄時(shí)使用動(dòng)態(tài)口令驗(yàn)證。該應(yīng)用在接入聯(lián) 盟時(shí),由智能合約分配信任區(qū)間為(0.25,0.5],屬三級(jí)身份,該應(yīng)用域可給出的最高評(píng)價(jià)為max3=0.5,該信任域可信閾值選擇0.4,則其簽發(fā)的用戶身份也為0.4。
C信任域是公安部管理域,具有最高安全級(jí)別,覆蓋用戶所有重要的身份特征,在接入聯(lián)盟時(shí),智能合約分配區(qū)間為(0.75,1],屬五級(jí)身份,該信任域可給出最高評(píng)價(jià)為max3=1(絕對(duì)信任),其所轄的某服務(wù)設(shè)定可信閾值為0.9。假設(shè)以上三個(gè)機(jī)構(gòu)間都具有信任ei=1。
(1)假設(shè)
A域用戶userA通過A域訪問控制條件發(fā)起 對(duì)B域應(yīng)用的跨域認(rèn)證,userA執(zhí)行完A域賬戶口令認(rèn)證方式后將跳轉(zhuǎn)至B域應(yīng)用的認(rèn)證服務(wù)器執(zhí)行后續(xù)訪問控制條件,認(rèn)證服務(wù)器通過userA的聯(lián)盟標(biāo)識(shí)查詢得到用戶在其他聯(lián)盟成員的認(rèn)證記錄(該訪問用戶在A域和C域都有注冊認(rèn)證記錄),則推薦關(guān)系如圖6所示,由于用戶本次發(fā)起訪問只通過了A域認(rèn)證條件(考慮A域安全性較弱),則其他應(yīng)用的認(rèn)證推薦路徑必須通過A域。即存在兩條信任路徑:userA→A域→B域和userA→C域→A域→B域。
圖6 靜態(tài)口令用戶跨域關(guān)系
(2)跨域認(rèn)證可信度計(jì)算
兩條路徑可信度:TD1=0.1*0.25=0.025;TD2=0.9*1*0.25=0.225;
綜上,由于TDC=0.125<0.4(0.4為B域跨域認(rèn)證門限),故B域的訪問控制條件由于userA安全級(jí)別較低,駁回userA的跨域請求,UserA需從高安全級(jí)別的C域進(jìn)行跨域請求或在B域重新注冊身份。
(1)假設(shè)
B域用戶userB通過B域訪問控制條件發(fā)起對(duì)A域應(yīng)用的跨域認(rèn)證,userB執(zhí)行完B域賬戶口令認(rèn)證方式后將跳轉(zhuǎn)至A域應(yīng)用的認(rèn)證服務(wù)器執(zhí)行后續(xù)訪問控制條件,認(rèn)證服務(wù)器通過userA的聯(lián)盟標(biāo)識(shí)查詢得到用戶在其他聯(lián)盟成員的認(rèn)證記錄(該訪問用戶在B域和C域都有注冊認(rèn)證記錄),則推薦關(guān)系如圖7所示,由于userB本次通過B域發(fā)起跨域訪問,則其他應(yīng)用的認(rèn)證路徑(推薦信任度,聲譽(yù)度)構(gòu)造必須通過B域。即存在兩條信任路徑:userB→B域→A域和userB→C域→B域→A域。
圖7 動(dòng)態(tài)口令用戶跨域認(rèn)證
綜上,由于TDC=0.25>0.1(A域跨域認(rèn)證門限),故來自高安全級(jí)別的用戶userB可直接跨域訪問A域,且此次跨域訪問的信任度TDC=0.25將作為userB下次跨域認(rèn)證時(shí)的一條推薦路徑。
與其他信任模型相比,信任度研究背景,維度的不同使得合理評(píng)價(jià)這些模型間的性能差異較為困難,已有研究大多聚焦算法并通過模擬實(shí)驗(yàn)進(jìn)行比較,缺乏實(shí)際應(yīng)用背景、數(shù)據(jù)存儲(chǔ)、傳輸訪問等方面的說明,會(huì)直接影響算法的實(shí)用性。部分模型將用戶對(duì)系統(tǒng)的信任度評(píng)價(jià)納入考慮,并衍生出激勵(lì)機(jī)制、惡意評(píng)價(jià)等研究點(diǎn),使問題過于復(fù)雜。相比之下,本文關(guān)注異構(gòu)身份聯(lián)盟用戶的跨域認(rèn)證信任度,由于聯(lián)盟鏈具有嚴(yán)格的審核措施,同時(shí)各信任系統(tǒng)對(duì)所轄用戶的管理具有主動(dòng)權(quán),故只需考慮系統(tǒng)對(duì)用戶的評(píng)價(jià),將問題簡化。
由于信任度量模型針對(duì)不同的問題和應(yīng)用環(huán)境提出,而信任度量又具有主觀性、模糊性[18-20],難以直接用數(shù)據(jù)比較不同模型方案的優(yōu)劣,本文根據(jù)信任本體論思想[21]從不同輸入因子(編號(hào)1到10)、算術(shù)方法、應(yīng)用背景、準(zhǔn)確性、可擴(kuò)展性等維度對(duì)不同方案進(jìn)行比較,如表1所示。
表1 各信任度模型指標(biāo)對(duì)比
本文針對(duì)異構(gòu)身份聯(lián)盟中,跨域認(rèn)證用戶的可信度量問題,按不同系統(tǒng)認(rèn)證方式的安全級(jí)別對(duì)所轄用戶劃分了相應(yīng)安全級(jí)別的身份,根據(jù)實(shí)際需求對(duì)用戶身份可信度合理量化并引入熵的風(fēng)險(xiǎn)評(píng)價(jià)機(jī)制,基于異構(gòu)身份聯(lián)盟基礎(chǔ)架構(gòu)的可信度量方案具有良好的可擴(kuò)展性,并充分考慮用戶行為、身份在動(dòng)態(tài)變化中的不確定因素,提高多認(rèn)證機(jī)制背景下的系統(tǒng)安全性,促進(jìn)統(tǒng)一信任服務(wù)的普及。
隨著項(xiàng)目原型系統(tǒng)的研發(fā)、應(yīng)用和落地,加入聯(lián)盟的異構(gòu)身份管理系統(tǒng)數(shù)量逐漸增多,隨之帶來認(rèn)證機(jī)制、機(jī)構(gòu)權(quán)威的差異也逐漸擴(kuò)大,未來工作包括以下方面:
(1)需要根據(jù)差異對(duì)身份,應(yīng)用等級(jí)進(jìn)一步劃分,并通過智能合約發(fā)布,以提高聯(lián)盟安全性。
(2)研究綜合信任度計(jì)算時(shí)權(quán)重,信任度閾值,熵的風(fēng)險(xiǎn)閾值劃分的合理性,使依賴方在驗(yàn)證跨域用戶時(shí)更好規(guī)避風(fēng)險(xiǎn)。
(3)借鑒人工智能、機(jī)器學(xué)習(xí)等其他方向知識(shí),使聯(lián)盟跨域可信度評(píng)價(jià)具有更好的動(dòng)態(tài)性、自適應(yīng)性。
隨著跨域認(rèn)證技術(shù)的發(fā)展,信任傳遞可信度研究也逐漸活躍,但依然處于起步階段,需要學(xué)者們繼續(xù)努力。