陳 虹,陳紅霖,黃 潔,肖成龍,郭鵬飛,金海波
遼寧工程技術(shù)大學 軟件學院,遼寧 葫蘆島 125105
隨著移動網(wǎng)絡(luò)不斷普及并深入人們的生活,越來越多的人開始注重個人的信息安全,尋求更加可靠的網(wǎng)絡(luò)訪問方式。為了保護用戶信息的安全性和匿名性,經(jīng)過研究者們的長期摸索,逐漸提出了一系列可行方案。
1982 年Chaum[1]第一次提出了盲簽名的概念。在盲簽名模式下,簽名者不能獲取簽名請求者所請求簽名的內(nèi)容。由于上述特性,使其迅速在數(shù)字現(xiàn)金、電子投票等匿名環(huán)境中得到廣泛應用。但盲簽名完全的盲性使簽名者失去了對簽名內(nèi)容的控制力。1996 年Abe 等人[2]提出了部分盲簽名的概念。該方案允許簽名請求者在簽名中嵌入與簽名者預先協(xié)商的、且不能被移除或非法修改的公共信息。例如簽名的時間、簽名的有效期等。部分盲簽名方案為簽名的隱私性和可控性找到了新的平衡點,在某些需要保護隱私,但又強調(diào)安全性的場景中有著廣闊的應用前景。
對部分盲簽名的研究已延續(xù)了20 多年,在2005年和2013 年,Chow 和Tang 等人[3-4]分別對部分盲簽名進行了闡述。2016 年,Liu 等人[5]對基于身份的無可信私鑰生成中心的部分盲簽名方案進行了改進,解決了其對篡改公共信息攻擊安全性不足的問題。2018 年,Ye 等人[6]提出了基于格的部分盲簽名,該方案能夠有效抵抗未來量子算法的攻擊。學術(shù)界目前研究的主要方向集中在基于身份的部分盲簽名方案上,但是根據(jù)Li等人[7]在2012年所述,無證書部分盲簽名同樣具有巨大的發(fā)展前景。
如今,移動網(wǎng)絡(luò)已經(jīng)成為日常生活中的一部分,并為人們的生活帶來了許多的便利。但是正如瀏覽器中加入“不追蹤”選項的意圖,現(xiàn)在的網(wǎng)絡(luò)訪問將用戶的個人信息完全暴露在大眾的視野之中,公眾的個人信息正面臨巨大的危機。1990年,Chaum[8]提出了零知識證明的又一途徑,無條件不可鏈接偽名。該方案將用戶的個人數(shù)據(jù)變更為非個人數(shù)據(jù),以確保數(shù)據(jù)不會涉及到某個可識別的具體的人。該方案自提出以來,被廣泛應用于車輛路線規(guī)劃、公共分享等需要用戶數(shù)據(jù),但也需要保護用戶隱私的參與式活動的研究中,國內(nèi)外專家學者也對其進行了深入研究[9-16]。
2012 年,Bender 等人[17]在德國的個人身份證上對基于域的偽名簽名進行了初步嘗試,但簽名設(shè)備可能被認證機構(gòu)所控制,認證機構(gòu)可以偽造用戶的簽名。2013年和2014年,Bringer[18-19]分別提出了防共謀的域偽名簽名,以及一個為動態(tài)域偽名簽名建立的安全模型,確保域偽名在域內(nèi)是可被鏈接的,但在域外不可鏈接。2018年,Kuty?owski等人[20]在Bringer的基礎(chǔ)上進行改進,確保了發(fā)布者無法偽造用戶偽名,加強了獲取用戶真實身份所需要的權(quán)限,保證了即使中央認證機構(gòu)和域管理機構(gòu)合謀,也只能鏈接用戶的偽名,而無法獲取用戶的真實身份,但其獲取用戶真實身份的過程仍可能存在偽造或重放攻擊的風險。
針對Kuty?owski方案存在的問題,本文在其基礎(chǔ)上進行了改進,提出了基于可信第三方的雙重偽名簽名方案,保證了即使認證機構(gòu)和域管理機構(gòu)合謀也不能對用戶的偽名進行鏈接,提高了偽名簽名方案的安全性。同時,相較于大多數(shù)以大量增加運算量為代價的第三方方案,本文方案在一次完整過程中的總時間增加了大約30 ms。但在實際操作中,方案的主要過程,偽名簽名和驗證過程,所消耗的時間與原始方案基本相同。此外,通過可信第三方的追蹤機構(gòu)獲取用戶的真實身份,不僅可以識別錯誤的或被篡改的用戶真實身份信息,而且在效率方面具有極大的提升。
設(shè)G是一個非空集合,“?”是它的一個二元運算,如果滿足封閉性、結(jié)合律、單位元存在、逆元存在,則稱G對?構(gòu)成一個群。特別地,當?寫作乘法時,G為乘群;當?寫作加法時,G為加群。
群G的元素個數(shù)叫作群G的階,記為|G|。當|G|為有限數(shù)時,G叫作有限群,否則G叫作無限群。如果群G中的二元運算還滿足交換律,那么G叫作一個交換群或阿貝爾群。
如果S是群G的子集,則S所生成的子群是包含所有S的元素G的最小子群。等價地說,是可以用S的元素和它們的逆元中的有限多個元素的乘積表達的G的所有元素的子群。如果G=,則稱S生成G,S中元素叫作生成元或群生成元。
在整數(shù)中,離散對數(shù)是一種基于同余運算和原根的對數(shù)運算。而在實數(shù)中對數(shù)的定義logba是指對于給定的a和b,有一個數(shù)x,使得bx=a。相同地,在任何群G中可為所有整數(shù)k定義一個冪數(shù)為bk,而離散對數(shù)logba是指使得bk=a的整數(shù)k。在該問題中,已知x和b求解a是容易的,但已知b和a求解x是困難的。
假設(shè)一個階為q的(乘法)循環(huán)群G,生成元為g。DDH 假設(shè)是指對于統(tǒng)一隨機選取的a,b∈Zq,給定ga、gb、gab“看起來像是”群G中的隨機元素。這個直觀的概念可以描述為以下兩個概率分布在計算上是不可分的:
(1)(ga,gb,gab),其中a、b從群Zq中隨機獨立選擇。
(2)(ga,gb,gc),其中a、b、c從群Zq中隨機獨立選擇。
第一個元組被稱為DDH元組。
首先簡要介紹Kuty?owski的方案[20]如下:
假定一個素數(shù)階q的群G,G具有DDH 困難問題,且設(shè)g為G選定的生成元。Zq表示階為q的整數(shù)群。
認證機構(gòu)(certification authority,CA)持有隨機選擇私鑰SKICC,SKM,SKL∈Zq和對應的公鑰PKICC,PKM,PKL,其中
為了去掉偽名,CA 持有隨機選擇的私鑰δ、γ和對應的公鑰Δ、Γ,其中Δ=gδ和Γ=gγ。
CA為簽名設(shè)備預置了滿足式(1)的私鑰(x0′,x1′,x2′)和成對的、同樣滿足上述線性方程的(x0″,x1″,x2″),其中IDA是用戶A的身份令牌,詳見3.3節(jié)。CA還為簽名設(shè)備準備了與上述私鑰對應的公鑰(P0′,P1′,P2′)和(P0″,P1″,P2″),其 中隨機選擇x1′∈Zq(同樣選擇不同的x1″)、x0′、x2′(同樣計算不同的x0″、x2″)是基于上述線性方程得出的。
向用戶提供包含(x0′,x1′,x2′),(x0″,x1″,x2″)的簽名設(shè)備。同時,直接為用戶提供公共密鑰。
在注冊用戶A時,CA 獨立地隨機選擇s∈Zq,令I(lǐng)DA=s,將包含的明文記錄存儲在CA 的數(shù)據(jù)庫DBID中(IDA值未發(fā)布,直接銷毀)。
用戶對預密鑰進行私有化處理,確保即使CA保留了預密鑰,也無法偽造用戶簽名私鑰。
其中,指數(shù)d1由CA隨機選擇,指數(shù)d2由目標域管理機構(gòu)隨機選擇。
(1)隨機選擇k0、k1、k2。
(3)計算簽名者基于域的偽名:
(4)計算隨機元素k0、k1、k2的參數(shù):
(5)對于要簽名的消息m,計算c=Hash(Q,I0,A0,I1,A1,PKdom,I2,A2,Hash(m))。
(6)計算Schnorr簽名的第二個參數(shù):s0=k0-c×x0modq,s1=k1-c×x1modq,s2=k2-c×x2modq。
(7)輸出簽名(c,s0,s1,s2)以及偽名I0、I1、I2和相關(guān)域的標識。
(1)域管理機構(gòu)(掌握d2)計算:
(2)CA(掌握d1)計算:
I1″應該等于應該等于
(3)CA計算I=(I1″)γ×I2″,應該等于
(4)CA 在DBID中查找條目I,找到具有不當行為的用戶A。
Kuty?owski方案存在下面主要的安全問題:
(1)如果CA 與域機構(gòu)合謀,則可以鏈接用戶的不同偽名。
(2)在獲取用戶真實身份時,域機構(gòu)可能對CA存在誤報,甚至是欺騙。
針對上述安全問題,本文提出了基于可信第三方的雙重偽名簽名方案,不僅解決了上述問題,而且在獲取用戶真實身份的響應速度上具有較大的提高。本文方案使用部分盲簽名向CA申請偽名許可證書,通過此許可證書向域認證機構(gòu)(domain certificate authority)申請偽名并在域內(nèi)進行簽名和業(yè)務訪問。在必要的時候可由可信第三方的追蹤中心(認為是系統(tǒng)中不可被攻破的)對用戶偽名執(zhí)行去匿名化。
本文方案的總體交互圖如圖1所示。
Fig.1 Scheme interaction diagram圖1 方案交互圖
假定一個素數(shù)階q的群G,G具有DDH 困難問題。設(shè)g為G的生成元。
CA持有的密鑰:
(1)身份IDCA;
(2)隨機選擇私鑰SKICC,SKM,SKL∈Zq;
(3)相應的公鑰PKICC、PKM、PKL,其中
為了去掉偽名,域管理機構(gòu)和TA共享以下密鑰:
(1)隨機選擇的私鑰δ、γ;
(2)域管理機構(gòu)獨立計算Δ=gδ。
域管理機構(gòu)持有的密鑰:
(1)身份IDdom;
(2)私鑰SKdom;
TA持有的密鑰:
(1)身份IDTA;
(2)隨機選擇的私鑰SKTA∈Zq;
用戶持有的密鑰:
(1)身份IDUser;
(2)隨機選擇的私鑰SKUser∈Zq;
域管理機構(gòu)為用戶準備了如下用于簽名的密鑰:
私鑰(x0′,x1′,x2′)滿足:
同樣滿足線性方程組(6)的成對私鑰(x0″,x1″,x2″)。
與上述私鑰對應的公鑰(P0′,P1′,P2′)和(P0″,P1″,P2″),其 中
隨機選擇x1′∈Zq(同樣選擇x1″)、x0′、x2′(同樣計算x0″、x2″)是基于上述線性方程得出的。Ii是用戶申請的偽名,詳見4.3節(jié)。
用戶在得到上述密鑰之后,隨機選取r,計算R=1-rmodq。進而得到簽名密鑰(x0,x1,x2)=r×(x0′,x1′,x2′)+R×(x0″,x1″,x2″)modq。同理可根據(jù)Pi=(Pi′)r×(Pi″)R,i=0,1,2 計算公鑰(P0,P1,P2)。
本文方案將偽名的獲取分為了兩個階段,分別是用戶向CA 申請偽名許可階段和用戶向域管理機構(gòu)申請偽名階段。
4.3.1 申請偽名許可
(1)用戶發(fā)送身份IDUser,申請的偽名數(shù)n,當前時間t以及用戶使用私鑰SKUser對上述參數(shù)的簽名和公鑰PKUser給CA,同時記錄時間t。||表示連接操作。
(2)CA 在收到消息后,首先查看用戶身份IDUser是否在黑名單中,若是則拒絕此次偽名申請,否則使用公鑰PKUser驗證簽名若驗證成功,則同意用戶IDUser的注冊,返回允許。
(3)對第i個偽名,用戶隨機選取數(shù)αi、βi,計算ai=(αi×βi)modq并將ai和i發(fā)送給CA,0 ≤i≤n。
(4)CA驗證用戶是否注冊,若是則取當前時間ti,定義偽名的有效期exp,并計算ai×Qi,其中Qi=IDUser||ti||IDCA||exp,同時使用私鑰SKICC對ai×Qi進行簽名。最后發(fā)送給用戶。若用戶未注冊返回步驟(1)。
(5)用戶收到消息后首先去除盲因子αi,得到,然后使用CA 的公鑰PKICC驗證簽名的合法性,判斷IDUser||ti||IDCA||exp的真實性。若簽名存在問題,則從步驟(1)重新開始。CA 每次發(fā)送的時間ti應是不同的,如果用戶檢測到ti的順序發(fā)生錯誤或在規(guī)定時間內(nèi)某時刻簽名丟失,則從步驟(2)重新開始。同時,將ti與初始時間t進行比較,可以防止不誠實的CA 使用以前的消息進行重放。若驗證成功,用戶和CA分別計算公共信息info=αi×βi×(IDUser||IDCA||exp)。然后,用戶計算偽名
(6)得到偽名后,用戶向CA 申請偽名Ii的部分盲簽名,公共信息為info,CA比對雙方的info是否一致,若不一致則從步驟(1)重新開始,若一致則接受對偽名Ii的申請,并向用戶返回簽名結(jié)果。用戶對得到的簽名進行去盲,得到允許使用偽名Ii的許可證書PPC(info,Ii)。
4.3.2 申請偽名證書
(1)用戶向域管理機構(gòu)發(fā)送PPC(info,Ii)、info、Ii、域管理機構(gòu)在收到信息后首先從Ii中分離出βi×Qi,并驗證簽名是否正確,若正確則驗證PPC(info,Ii)是否正確。僅當兩次驗證均正確時,才能夠證明CA允許用戶使用偽名Ii。此時域管理機構(gòu)并不知道此用戶的真實身份。
(2)驗證成功后,域管理機構(gòu)向用戶返回偽名Ii的證書:
(3)用戶收到偽名證書后驗證其是否有效,若無效,則重新申請偽名;若有效,則可以在簽名中使用此偽名。
4.3.3 用戶偽名存儲
域管理機構(gòu)在發(fā)布用戶的偽名Ii時,計算并將存儲在自身數(shù)據(jù)庫中。
假設(shè)使用偽名Ii的用戶持有密鑰(x0,x1,x2),在公鑰為的域,對消息m進行簽名。簽名過程與文獻[11]中的過程類似:
(1)隨機選擇k0、k1、k2。
(3)計算用戶對于域的參數(shù):
(4)計算用戶對應于域的偽名:
(5)計算對隨機元素k0、k1、k2的參數(shù):
(6)對于要簽名的消息m,計算c=Hash(Q,D0,A0,D1,A1,D2,A2,Hash(m))。
(7)計算Schnorr 簽名的第二個參數(shù)s0=k0-c×x0modq,s1=k1-c×x1modq,s2=k2-c×x2modq。
(8)輸出簽名(c,s0,s1,s2)以及域偽名D0、D1、D2和用戶對于域的參數(shù)
如果具有身份IDdom的域管理機構(gòu)發(fā)現(xiàn)具有違規(guī)行為的用戶,則執(zhí)行下述步驟:
(1)TA 直接執(zhí)行D=(D1)γ×D2,結(jié)果應為并將所得條目發(fā)送給域管理機構(gòu)。
(2)域管理機構(gòu)在收到TA 發(fā)來的D之后,在自身數(shù)據(jù)庫中查找相關(guān)條目,并返回與之對應的Ii。
(3)TA在收到域管理機構(gòu)發(fā)來的偽名Ii之后,可選擇使用此偽名與該域公鑰PKdom計算以進行驗證。若驗證成功則繼續(xù)執(zhí)行,此過程為可選。
(4)TA從偽名Ii中分離出βi×Qi和使用自己的私鑰SKTA解得到βi,進而解出Qi,得到其中的IDUser。
(5)TA將得到的IDUser發(fā)送給CA,由CA對用戶IDUser進行相應的處理。
在該過程中,CA、域管理機構(gòu)和TA 之間可以采用任何合適的身份驗證方法。
傳統(tǒng)數(shù)字簽名的提出是為了保證信息的完整性和真實性,以及用戶對簽名消息的不可抵賴性,即消息是正確的,不能被他人偽造,且消息簽名者也不能否認自己的簽名。偽名方案除了保證上述安全性之外,還可以更好地保護用戶的隱匿性。本文的方案中,只有可信第三方能夠獲取用戶的真實身份,其他任何一方或者多方合謀也無法獲取用戶真實身份,甚至是將不同的偽名進行鏈接,具有較高的安全性。
本文方案假設(shè)追蹤機構(gòu)TA 是不會妥協(xié)的權(quán)威機構(gòu),如政府。對于偽名TA 不需要其他任何機構(gòu)的幫助就可以確定用戶的真實身份。TA 首先分離出再使用自身私鑰SKTA解出βi就可以得到Qi,進而得出用戶的真實身份IDUser。
對于偽名D0、D1、D2:
對于偽名簽名,證明過程與文獻[11]類似:
使用同樣的方法可以驗證A1′、A2′。
(1)匿名性:在偽名申請階段,用戶首先與CA進行交互。CA與用戶共享用戶的真實身份IDUser,部分盲簽名的公共信息info=αi×βi×(IDUser||IDCA||exp)。同時,CA還知道ai=(αi×βi)modq。但是,αi、βi由用戶獨立、隨機地選擇,故CA不能從中分離出βi,進而獲取用戶的真實身份。
用戶在得到使用偽名Ii的許可后,與域管理機構(gòu)共享了偽名域管理機構(gòu)同樣知道info=αi×βi×(IDUser||IDCA||exp),但域管理機構(gòu)既沒有掌握ai=(αi×βi)modq,也沒有掌握TA 的私鑰SKTA,故不能從共享信息或偽名中得到用戶的真實身份IDUser。
由于CA 和域管理機構(gòu)分別掌握了用戶的真實身份IDUser和偽名Ii,故兩者均不能將其真實身份和偽名進行鏈接,因此在偽名申請階段偽名Ii和用戶真實身份IDUser是不可鏈接的,也就成功保證了用戶的匿名性。
在偽名簽名階段,用戶使用具有匿名性的偽名Ii構(gòu)建自身基于域的身份,由于只有TA和域管理機構(gòu)具有解開域偽名所需的私鑰δ,故只有兩者能夠解出進而得到Ii。
因此本文方案能夠保證用戶的匿名性。
(2)不可偽造性和不可抵賴性:在偽名申請階段,如果CA 做出妥協(xié),將用戶的身份IDUser替換成IDUser′,則用戶可以在下一步的驗證中發(fā)現(xiàn)。例如,CA 將發(fā)送給用戶,其中Qi=IDUser||ti||IDCA||exp,若CA 將IDUser替換為IDUser′,或CA將同一用戶以前的消息對此次交互進行重放,則用戶在收到消息的驗證中將會失敗,從而拒絕此次驗證。若CA 修改info中的信息也會得到相同的結(jié)果。
在偽名簽名階段,用戶基于偽名Ii與域參數(shù)一起生成新的基于域的偽名D0、D1、D2,這三個偽名在域中可以相互鏈接,即若用戶使用D0訪問服務器,則該服務器同樣可以知道D1、D2,以此來完成對偽名簽名的驗證。但對于域之外的敵手,由于缺少域參數(shù)敵手無法完成對簽名的驗證,更不能偽造簽名。對于強大的敵手,假設(shè)其能夠得到域中公開的所有信息,甚至能夠得到大量的偽名簽名,可以通過得到偽名Ii,即敵手能夠解決DDH 困難問題,這與方案前提不符,故不成立。即使敵手獲得了用戶的偽名Ii,敵手也不能通過Ii=x1×γ+x2×δmodq得到x1或x2,說明敵手無法偽造用戶的偽名進行簽名。
相反,若不誠實的用戶想要欺騙CA和域管理機構(gòu)以此來逃避可能出現(xiàn)的后果,也是不允許的。例如,若用戶在偽名申請階段試圖欺騙CA,使用非法身份IDUser′替換原始身份。首先,CA 拒絕接受用戶使用IDUser′與其進行交互,故用戶得不到使用IDUser′的signSKICC(ai×Qi)。而用戶沒有構(gòu)造ti||IDCA||exp))的能力,除非用戶能夠偽造CA的簽名。
對于域管理機構(gòu),由于此域管理機構(gòu)掌握用戶簽名的預密鑰,那么其是否可以通過私有化后的公鑰得到私有化后的私鑰,進而模仿用戶,假設(shè)域管理機構(gòu)可以做到,即域管理機構(gòu)知道一個α使得xi=α×xi′+(1-α)×xi″,i=0,1,2 成立。這個問題可以化為域管理機構(gòu)知道一個β使(xi-xi′)=β×(xi″-xi′)成立,這樣β應該滿足即 域管理機構(gòu)能夠解PKud的離散對數(shù),以得到β×(x0″-x0′),故假設(shè)不成立。
在原始方案中,若域管理機構(gòu)使用錯誤的密鑰對域偽名進行去匿名化,它可能給CA提供一個不存在的用戶,某些情況下還可能指向一個真實存在的用戶。在本文方案中去匿名化由TA獨立執(zhí)行,域管理機構(gòu)僅用于存儲此偽名的記錄,且TA可以快速地驗證域管理機構(gòu)提交的偽名是否正確。因此本文方案保證了用戶偽名簽名的不可偽造性和不可抵賴性。
(3)不可鏈接性:由于目前缺乏對不可鏈接性的明確定義,本文引用文獻[11]中對于不可鏈接性的定義:給定一個用戶在所有域中的偽名和簽名,除了參數(shù)為的域,不存在能夠確定偽名D0、D1、D2是否對應于密鑰(x0,x1,x2)的域。在D0、D1、D2的離散對數(shù)未知的情況下,敵手選擇是或否的概率各為。在域參數(shù)未知的前提下,敵手正確選擇的概率不會大于假如敵手選擇了與之對應的密鑰x0、x1、x2,即敵手得到了偽名Ii。但即使是域管理機構(gòu)也僅僅知道與偽名Ii相關(guān)的info,而此info對于每個偽名的信息都是不同的,且缺少ai的敵手也無法從該預共享信息中得到IDUser。
因此本文方案可以有效保護用戶偽名簽名的不可鏈接性。
本文使用i5 四代處理器,主頻2.6 GHz,4 GB 內(nèi)存,Win10_64位系統(tǒng)進行仿真。
本文方案在申請偽名階段使用了標量乘運算,與使用指數(shù)運算相比具有更加高效的運算速率。在本文的仿真環(huán)境下,進行1 024位的指數(shù)模運算需要大約6.4 ms,進行標量乘法運算的時間可以忽略不計,使用擴展歐幾里德算法計算乘法逆元大約需要1.0 ms,Hash運算的時間大約為0.01 ms,RSA(Rivest-Shamir-Adleman)簽名的時間為6.5 ms,驗證的時間為0.11 ms,故著重考慮方案中的指數(shù)運算和RSA 簽名的時間。在本節(jié)中使用P 表示指數(shù)模運算,用I 表示求逆運算,用S 表示RSA 簽名。方案理論上的時間對比如表1 所示。理論上本文方案與原始方案耗時的對比如圖2所示。仿真實驗的結(jié)果如表2所示。
由于每次仿真時運行時間存在波動,故表2 中的數(shù)據(jù)為運行10 次求取平均值后的結(jié)果。在總時間上,本文方案比原始方案多出了近20 ms,增長量為原始方案的8.7%。但在CA 的運算時間上本文方案僅為原始方案的40%,提升了相同條件下CA 可以同時提供的服務數(shù)量。在域管理機構(gòu)和用戶的運算時間上分別有一定程度的增長。同時,本文方案獲取用戶真實身份僅需要6.3 ms,僅為原始方案的24.2%,可以有效降低因用戶違規(guī)而帶來的潛在損失風險。
Fig.2 Time-consuming comparison diagram圖2 方案耗時對比圖
由圖2 可知,本文方案大幅度降低了CA 的運算時間,但也增加了域管理機構(gòu)和用戶的計算時間。在本文方案中,CA 將與系統(tǒng)中的所有用戶進行交互,降低CA 的耗時,也就提高了整個系統(tǒng)的門限。由于CA 在授予用戶偽名許可之后就不再與用戶或者域管理機構(gòu)進行交互,故用戶和域管理機構(gòu)耗時的增加并不會給CA的運行帶來影響,域管理機構(gòu)和用戶運算時間的增長也在可接受范圍內(nèi)。CA 耗時的降低意味著系統(tǒng)可以同時服務的用戶數(shù)量增長了1倍。TA是本文方案對于具有違規(guī)操作的用戶進行快速響應的保證。從表2可知,在獲取用戶的真實身份時,本文方案僅需要6.3 ms,在原始方案的基礎(chǔ)上縮減了近2/3。
Table 1 Time comparison of scheme in theory表1 方案理論時間對比
Table 2 Comparisons of simulation results表2 仿真結(jié)果對比
在實際操作中,用戶會一次性向CA請求大量偽名許可證書以滿足其在未來一段時間(可能一個月)內(nèi)的偽名需求,用戶向域管理機構(gòu)發(fā)出的偽名申請可能與用戶申請偽名許可證書的時間存在一段時間的差距,故CA和域管理機構(gòu)之間的運算是完全獨立的,這更說明了本文方案在降低CA消耗上有比預期更好的表現(xiàn)。
與原始方案相比,本文方案效率提高的同時安全性也略有提高,在保證簽名的完整性、真實性(不偽造)、不可抵賴和隱匿性的同時,解決了原始方案中可能存在對同一用戶的不同偽名進行鏈接的問題,在開放的互聯(lián)網(wǎng)時代更好地保護用戶的隱私,也保證了用戶信息的安全性。
在網(wǎng)絡(luò)時代,人們更加強調(diào)隱私性和安全性,這兩者似乎是無法同時完成的,但偽名系統(tǒng)的出現(xiàn)解決了這個問題。本文介紹了一種使用偽名進行簽名的方案,在此基礎(chǔ)上提出了一種基于可信第三方的雙重偽名簽名方案。用戶首先從CA 獲取大量的偽名許可證書,然后在之后的訪問中使用某個許可證書向目標域機構(gòu)獲取偽名,并使用該偽名在域內(nèi)進行新的偽名簽名和驗證。通過對比兩個方案的各項屬性和仿真實驗,發(fā)現(xiàn)本文方案將原始方案中CA的計算時間降低到40%,提高了系統(tǒng)的門限。同時使用一個第三方的可靠機構(gòu)進行用戶真實身份的追蹤,此方案在追蹤用戶真實身份上具有巨大的優(yōu)勢,且可以防止域管理機構(gòu)的欺騙。但是本文方案也給用戶帶來了更多的負擔,使得方案僅適用于對安全性要求較高,要求對違規(guī)用戶快速反應,且具有一定運算能力的場景,例如個人網(wǎng)上銀行。
本文還有一些沒有解決的問題,例如是否能夠構(gòu)建一個完全不依賴于其他機構(gòu)的TA 以絕對地掌握追蹤用戶真實身份的權(quán)力,以及能否在第一階段的偽名獲取中使用某個困難問題構(gòu)造偽名以滿足更高的安全性要求?;蛘呷绾谓鉀Q用戶在一次性獲取大量偽名的情況下,對用戶的偽名進行撤銷。盡管可以簡單地通過讓TA 來維護方案中存儲用戶信息的數(shù)據(jù)庫來解決第一個問題,但這必將給TA帶來巨大的成本負擔,使得TA 也有成為系統(tǒng)門限的可能。將沿著這個方向繼續(xù)研究。