本發(fā)明涉及信息安全,具體是一種用于多屬性權(quán)威系統(tǒng)下的細(xì)粒度匿名認(rèn)證方法。
背景技術(shù):
1、匿名憑證技術(shù)是一種加密技術(shù),在不泄露用戶真實(shí)身份的前提下驗(yàn)證其權(quán)限或資格,這一特性在隱私保護(hù)和數(shù)字身份認(rèn)證中具有重要應(yīng)用價(jià)值。特別是基于屬性的憑證技術(shù),它側(cè)重于驗(yàn)證用戶是否具備特定屬性,而非直接暴露其真實(shí)身份,從而為用戶隱私提供了更為嚴(yán)密的保護(hù)。
2、單點(diǎn)登錄(single?sign-on,sso)模型,允許信息服務(wù)提供方通過用戶身份提供方,驗(yàn)證用戶基于屬性的特權(quán),實(shí)現(xiàn)了服務(wù)與身份的優(yōu)雅解耦。匿名憑證技術(shù)能夠很好地應(yīng)用于sso模型,在隱私保護(hù)的前提下完成認(rèn)證,因?yàn)槠渲恍枰谡J(rèn)證過程中有選擇性地展示部分屬性。
3、隨著網(wǎng)絡(luò)環(huán)境的發(fā)展,去中心化網(wǎng)絡(luò)架構(gòu)由于沒有單點(diǎn)瓶頸的制約,近年來被越來越多地應(yīng)用到商業(yè)領(lǐng)域。在更現(xiàn)實(shí)的情境下,用戶的屬性是來自不同的屬性權(quán)威的。目前,雖然一些匿名憑證方案能夠?qū)崿F(xiàn)憑證由多個發(fā)行方共同生成,但在這些方案中卻要求服務(wù)提供方應(yīng)相信憑證的所有發(fā)行方。在實(shí)際情況下,服務(wù)提供方應(yīng)該只需要相信與服務(wù)訪問策略要求的屬性相關(guān)聯(lián)的權(quán)威即可。例如:視頻播放服務(wù)的訪問策略需要用戶余額充足(視頻網(wǎng)站t發(fā)布)、年齡滿足要求(出生記錄權(quán)威發(fā)布),則服務(wù)提供方只需要相信視頻網(wǎng)站t和出生記錄權(quán)威即可,而不需要考慮是否相信其他與憑證屬性相關(guān)的權(quán)威。然而,目前的多屬性權(quán)威匿名憑證方案在憑證發(fā)行方包含不可信權(quán)威的情況下并不安全。
4、因此,本領(lǐng)域亟需實(shí)現(xiàn)一種用于多屬性權(quán)威系統(tǒng)下的細(xì)粒度匿名認(rèn)證方法,用于實(shí)現(xiàn)在用戶憑證發(fā)行方包含不可信權(quán)威的情況下,仍能使服務(wù)提供方可對用戶實(shí)現(xiàn)安全的匿名認(rèn)證。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明針對現(xiàn)有技術(shù)中存在的上述不足,提出一種用于多屬性權(quán)威系統(tǒng)下的細(xì)粒度匿名認(rèn)證方法,通過屬性私鑰綁定、盲化簽名、零知識證明等技術(shù),在安全性、隱私性、去中心化信任和效率之間實(shí)現(xiàn)了平衡,解決了多屬性權(quán)威系統(tǒng)中的共謀風(fēng)險(xiǎn)和隱私泄露問題,為下一代匿名認(rèn)證系統(tǒng)提供了可靠的技術(shù)基礎(chǔ)。
2、本發(fā)明的技術(shù)解決方案如下:
3、一種用于多屬性權(quán)威系統(tǒng)下的細(xì)粒度匿名認(rèn)證方法,其特點(diǎn)在于,所述多系統(tǒng)包括一個中心權(quán)威、多個屬性權(quán)威、n個用戶和m個依賴方,所述方法包括如下步驟:
4、步驟1.在多屬性權(quán)威系統(tǒng)初始化時(shí),中心權(quán)威初始化公開參數(shù)和秘密值;
5、中心權(quán)威初始化公開參數(shù)和秘密值,包括:
6、對系統(tǒng)進(jìn)行初始化,所述秘密值包括:兩個私鑰γ、y0,以及n個秘密的成員值k1,…,kn,其中n為憑證最大發(fā)行次數(shù);所述公開參數(shù)包括對應(yīng)兩個私鑰的公鑰;
7、所述兩個私鑰的公鑰為其中,g2為事先約定的群g2上的生成元。
8、步驟2.屬性權(quán)威對每個管理的屬性生成秘密值并發(fā)布公開參數(shù),通過零知識證明的方式證明持有秘密值;具體步驟如下:
9、(2-1)每個屬性權(quán)威管理一組屬性索引集,不同屬性權(quán)威管理的屬性索引集包含的元素均不相同;
10、(2-2)對于所述屬性權(quán)威管理的屬性索引集的每個元素,所述屬性權(quán)威生成秘密值yk并發(fā)布公開參數(shù)其中,g2為事先約定的群g2上的生成元;
11、(2-3)所述屬性權(quán)威通過零知識證明的方式證明持有生成的秘密值yk;
12、步驟3.用戶加入時(shí),從中心權(quán)威處獲得空憑證σ;具體如下:
13、中心權(quán)威在所述用戶加入時(shí),為用戶選擇秘密值kj和隨機(jī)數(shù)vj∈g1,其中,g1為事先約定的群;
14、中心權(quán)威計(jì)算空憑證將(kj,σj)發(fā)送給用戶。
15、步驟4.用戶依次尋找屬性權(quán)威對憑證進(jìn)行簽名,最終得到簽有多個屬性的憑證;具體如下:
16、(4-1)用戶持有秘密(kj,σj),依次尋找各個屬性權(quán)威對憑證σj進(jìn)行簽名,在尋找屬性權(quán)威ai簽名前,σj中已簽名的屬性索引集為
17、(4-2)用戶向?qū)傩詸?quán)威ai發(fā)送盲化后的秘密,請求ai對σj進(jìn)行屬性簽名;其中,盲化后的秘密:
18、用戶將σj解析為σj=(σ1,σ2),選擇隨機(jī)數(shù)t,u盲化持有的秘密(kj,σj),生成
19、
20、之后,用戶選擇rk,ru和{rs},s∈i,計(jì)算
21、
22、其中,e為雙線性配對映射e:g1×g2→gt,g1,g2,gt為事先約定的群;i為用戶憑證中已簽名的屬性索引集。用戶將r0,σ′發(fā)送給屬性權(quán)威ai,這些參數(shù)用于用戶向向性權(quán)威證明擁有(kj,σj);
23、(4-3)屬性權(quán)威ai檢查用戶憑證中已簽名屬性索引集與自身屬性索引集的交集是否為空,如果交集不為空,說明此前已經(jīng)為用戶的憑證σj進(jìn)行過簽名,則不再進(jìn)行后續(xù)步驟;如果交集為空,屬性權(quán)威ai向用戶發(fā)送隨機(jī)挑戰(zhàn)c,用戶使用c通過知識證明的方式向?qū)傩詸?quán)威證明擁有(kj,σj),且σj中包含已簽名的屬性ms,s∈i;
24、(4-4)在證明完成后,屬性權(quán)威ai準(zhǔn)備簽名給用戶的屬性集將屬性簽入用戶發(fā)送的盲化后的憑證,包括:屬性權(quán)威ai對用戶發(fā)送的盲化后的憑證σ′進(jìn)行簽名;屬性權(quán)威ai選擇隨機(jī)數(shù)ti,準(zhǔn)備用戶屬性集生成新憑證用戶得到新的憑證σ,σ中包含的屬性包括尋找屬性權(quán)威ai前已簽名的屬性ms,s∈i,屬性權(quán)威ai簽名的屬性集mk,持有(kj,σ=(σ1,σ2))。
25、步驟5.用戶在獲取依賴方提供的服務(wù)時(shí),如果憑證包含的屬性滿足依賴方的訪問控制策略則向依賴方證明具備所需屬性,完成匿名認(rèn)證;具體步驟如下:
26、(5-1)所述依賴方規(guī)定所提供服務(wù)的訪問控制策略包含的屬性索引集ir。對于索引集ir中一些索引i,訪問策略要求是確定的屬性值,用if表示這一部分索引集;對于其他索引值,訪問策略提供了允許的范圍,用ir表示這一部分索引集;
27、(5-2)對于ir表示的屬性索引集,所述用戶需要通過知識證明方式證明憑證中已簽名有效的屬性mi滿足訪問策略,用布爾算法表示:
28、
29、其中,是所述訪問策略,r是通過特定函數(shù)fr和盲秘密{ri}生成的承諾,c和{zi}分別是挑戰(zhàn)和響應(yīng);
30、(5-3)所述用戶通過知識證明向依賴方證明持有的憑證σ中簽有,f索引集中包含的屬性,也簽有ir索引集中部分屬性,滿足所述依賴方規(guī)定的訪問策略。所述用戶向依賴方發(fā)送知識證明需要用到的參數(shù);
31、所述的步驟(5-3)中,用戶向依賴方發(fā)送知識證明需要用到的參數(shù),包括:
32、與步驟(4-2)相同方式選擇的隨機(jī)數(shù)t,u和計(jì)算得到的σ′;
33、用戶選擇rk,ru和計(jì)算
34、
35、rf=f(rs∈ir)
36、c=h(σ′,r0,rf)
37、計(jì)算zk=rk+ckj,zu=ru+cu;
38、對所有的計(jì)算zs=rs+cms,將(σ′,r0,rf)及計(jì)算得到的zk,zu和所有的zs,發(fā)送給依賴方。
39、(5-4)所述依賴方驗(yàn)證用戶憑證屬性是否滿足訪問策略,若滿足,用戶即可正常訪問服務(wù)。
40、與現(xiàn)有技術(shù)相比,本發(fā)明的技術(shù)效果如下:
41、通過屬性權(quán)威為每個管理的屬性選擇私鑰并發(fā)布公鑰,避免了簽名的屬性被篡改。相較于現(xiàn)有的認(rèn)證方案,本發(fā)明在安全性和隱私保護(hù)方面都有較大提升。
42、首先,屬性權(quán)威會負(fù)責(zé)基于屬性的憑證的發(fā)布,這個過程不需要中心權(quán)威的參與。屬性權(quán)威對自身管理的每一個屬性會選擇一個私鑰,并發(fā)布公開參數(shù),通過零知識證明的方式證明持有私鑰。在現(xiàn)有的多屬性權(quán)威匿名認(rèn)證方案中,屬性權(quán)威不會對屬性選擇私鑰,其發(fā)布的屬性會直接以離散對數(shù)的方式簽名在憑證中,這會導(dǎo)致用戶可以和不可信的屬性權(quán)威合謀,在不修改已簽名的屬性mi的情況下聲稱擁有的是屬性m′i,且可以成功完成匿名認(rèn)證,整個憑證不再可信。在我們提出的方案中,屬性權(quán)威發(fā)布的憑證中,已簽名屬性mi與該屬性私鑰相綁定,避免了用戶和不可信的屬性權(quán)威合謀將已簽名的屬性mi聲稱為屬性m′i,加強(qiáng)了整個方案的安全性。
43、在隱私保護(hù)方面,由于匿名憑證技術(shù)的使用,用戶在認(rèn)證時(shí)只需要證明自己具備某些屬性,而不需要展示真實(shí)身份和其他不相關(guān)屬性,很好地保護(hù)了用戶的隱私。