李金波,張 平,張 冀,劉牧華
(河南科技大學 數(shù)學與統(tǒng)計學院,河南 洛陽 471023)
隨著區(qū)塊鏈技術(shù)的關(guān)注度和重視度越來越高,能夠?qū)崿F(xiàn)鏈上匿名交易的隱私保護技術(shù)成為當前的研究熱點,其中,環(huán)簽名技術(shù)因去中心化、匿名性、不可偽造性等優(yōu)勢與區(qū)塊鏈系統(tǒng)的結(jié)構(gòu)特征相符合,逐漸成為實現(xiàn)匿名性和安全性保護的主流方案之一,因此越來越多的學者開始研究能實現(xiàn)鏈上匿名交易的環(huán)簽名技術(shù)[1-2]。所謂去中心化,是指環(huán)簽名沒有中心機構(gòu),任何一個環(huán)成員都能以他所在的整個環(huán)的名義匿名性地簽署任意消息。驗證者知道簽名由哪個環(huán)生成,但是無法確定是由環(huán)中哪個成員生成的。典型的環(huán)簽名方案有Herranz 等[3]和Chow 等[4]提出的基于身份的環(huán)簽名方案的安全性都是歸約到雙線性對上的離散對數(shù)困難假設(shè)。然而在后量子時代,人們擔心量子計算機的到來將會對傳統(tǒng)的基于數(shù)論困難假設(shè)的環(huán)簽名技術(shù)造成威脅[5],因而設(shè)計出許多后量子安全的環(huán)簽名方案[6-7]。其中,基于格的后量子簽名體系由于具有更高的安全性和更快的計算速度等優(yōu)點,逐漸成為設(shè)計簽名方案的首選。
環(huán)簽名的概念最早由Rivest 等[8]于2001 年提出,此后陸續(xù)出現(xiàn)各種基于數(shù)論困難假設(shè)或者利用雙線對構(gòu)造的環(huán)簽名方案。直到2010 年,王鳳和等[9]利用盆景樹算法首次提出了格上的環(huán)簽名方案,方案對固定環(huán)攻擊是可證明安全的。隨后,Wang 等[10]使用格基委派算法也構(gòu)造出了格上的環(huán)簽名方案,方案對任意環(huán)攻擊是可證明安全的。此后的許多方案都是在上述研究的基礎(chǔ)上設(shè)計的,這類方案依照GPV 數(shù)字簽名體制,共同特點是每一位環(huán)成員在系統(tǒng)建立階段需要為自己申請公鑰;但是隨著環(huán)成員數(shù)量的不斷增加,公鑰驗證矩陣也隨之增大,由此將帶來復雜繁瑣的公鑰認證問題。
由于環(huán)中每一個成員的公鑰都綁定一個數(shù)字認證證書,當簽名者簽署消息時,需要對其他環(huán)成員的數(shù)字證書進行有效性驗證,而當驗證者驗證簽名時,他也需要驗證簽名者和其他環(huán)成員的數(shù)字證書。當環(huán)中成員數(shù)量龐大時,這需要花費大量的時間成本。2012 年,田苗苗等[11]使用消息添加技術(shù)構(gòu)造了一種標準模型下強不可偽造的環(huán)簽名方案,方案的不足之處是公私鑰及簽名的長度比較大,同時他們將級聯(lián)后的系統(tǒng)公鑰和環(huán)成員身份的散列值作為環(huán)成員的公鑰,可將方案推廣到身份基環(huán)簽名方案,但是并沒有給出方案的安全性證明和性能分析;2013 年,李玉海等[12]完善了文獻[11]中的工作,將消息添加技術(shù)和身份密碼技術(shù)相結(jié)合,提出了一種標準模型下可規(guī)約至小整數(shù)解(Small Integer Solution,SIS)困難問題的身份基環(huán)簽名方案,方案的整體效率相比以往有所提高;2015 年,張利利等[13]使用格基委派技術(shù)設(shè)計了一種標準模型下的身份基環(huán)簽名方案,方案生成的簽名較短,計算效率較高;2016 年,孫意如等[14]使用理想格技術(shù)構(gòu)造了標準模型下的身份基環(huán)簽名方案,在一定程度上縮減了公私鑰及簽名的長度,提高了運算效率;2017 年,賈小英等[15]使用格基委派技術(shù)和拒絕抽樣技術(shù)構(gòu)造了隨機預言機模型下的身份基環(huán)簽名方案,方案的簽名效率很高,然而存儲效率稍低;2021 年,趙宗渠等[16]使用MP12 陷門派生技術(shù)構(gòu)造了一種標準模型下基于理想格的可證明安全的環(huán)簽名方案,方案利用MP12 陷門派生算法和理想格的代數(shù)結(jié)構(gòu),降低了時間復雜度,提高了存儲效率;隨后,Tang 等[17]使用緊湊高斯采樣(Compact Gaussian Sampler,CGS)算法和拒絕抽樣技術(shù)設(shè)計了一種NTRU(Number Theory Research Unit)格上基于身份的環(huán)簽名方案,除了實現(xiàn)了在隨機預言機模型下的無條件匿名性和存在不可偽造性之外,還具有可鏈接的特性,能檢測用戶是否用同一私鑰對同一消息進行了兩次或多次簽名;2022 年,Zhou 等[18]使用格基委派技術(shù)構(gòu)造了標準模型下的身份基環(huán)簽名方案,方案具有全密鑰暴露下的匿名性和抵抗內(nèi)部腐敗的存在不可偽造性。本文參考以上工作,旨在設(shè)計一種環(huán)簽名方案——環(huán)成員的公鑰不需要數(shù)字證書認證。本文的主要工作如下:
1)使用NTRU 格構(gòu)造環(huán)簽名,利用NTRU 格比一般格的結(jié)構(gòu)性強的優(yōu)勢,使系統(tǒng)私鑰和環(huán)成員私鑰的存儲空間比一般格上的小。
2)引入身份密碼技術(shù)[19],使環(huán)成員的公鑰不再依賴數(shù)字證書。環(huán)成員的身份信息即他們的公鑰,避免公鑰分發(fā)和證書認證過程中的安全問題和計算問題,以及對認證機構(gòu)的信任問題。
3)將拒絕抽樣技術(shù)與NTRU 格相結(jié)合,利用拒絕抽樣技術(shù)的優(yōu)點——簽名值與簽名私鑰的分布相互獨立,來彌補NTRU 格上的數(shù)字簽名的固有缺陷——簽名值的分布與簽名私鑰的分布相關(guān),從而使本文方案的簽名結(jié)果與私鑰不相關(guān),進一步提高了方案的安全性。
4)將所提環(huán)簽名技術(shù)與區(qū)塊鏈技術(shù)相結(jié)合,應用于車聯(lián)網(wǎng)(Internet of Vehicles,IoV)場景中,不僅能夠?qū)崿F(xiàn)車聯(lián)網(wǎng)中的高效快速通信,而且能對發(fā)布違法信息的車輛實現(xiàn)定位追蹤和即時打擊,從而保證隱私數(shù)據(jù)的安全性。
定義1 格。令Rm為m維歐氏空間。將Rm中一組線性無關(guān)向量b1,b2,…,bn(n≤m)的所有整系數(shù)線性組合構(gòu)成的離散子群Λ,稱作由這些向量生成的格,即:
其中:m為格Λ的維數(shù);n為格Λ的秩。
定義3 離散高斯分布。對于m∈Z+,Z+是正整數(shù)集,令Λ∈Rm為m維格。對于任意實數(shù)σ>0 以及任意向量c∈Λ,定義:
格上的離散高斯分布是格密碼設(shè)計領(lǐng)域的重要工具。當高斯參數(shù)為時,它具有很多良好的密碼性質(zhì):如可以隱藏格上的陷門信息來保證方案的安全性[20-21]。
定義8 NTRU 格上的身份基環(huán)簽名方案(Number Theory Research Unitlattice-based Identity-Based Ring Signature scheme,NTRU-IBRS)由以下4 個多項式時間算法構(gòu)成:
1)系統(tǒng)建立算法Setup(1n):輸入安全參數(shù)n,算法輸出系統(tǒng)公共參數(shù)PP和主私鑰MSK。
2)私鑰提取算法Extract(PP,MSK,ID):輸入公共參數(shù)PP,主私鑰MSK和用戶身份ID,算法輸出該用戶的私鑰SKID。
3)環(huán)簽名算法R-Sign(R,m,PP,ID,SKID):輸入環(huán)R,消息m,公共參數(shù)PP,簽名者的身份ID和私鑰SKID,算法輸出消息m的環(huán)簽名Sig。
4)環(huán)驗證算法R-Verify(R,m,Sig,PP):輸入環(huán)R,消息m,環(huán)簽名Sig和公共參數(shù)PP,算法輸出“ACCEPT”當且僅當Sig驗證通過;否則,輸出“REJECT”。
一個安全的NTRU 格上基于身份的環(huán)簽名方案需要同時滿足匿名性和存在不可偽造性[25]。
定義9 匿名性。設(shè)任意PPT 敵手A 贏得以下游戲的概率為如果敵手A的優(yōu)勢是可忽略的,則稱身份基環(huán)簽名方案滿足匿名性。敵手A 和挑戰(zhàn)者C 的匿名性安全模型由以下游戲定義:
1)挑戰(zhàn)者C 輸入安全參數(shù)n,運行Setup(1n)得到公共參數(shù)PP和主私鑰MSK,之后將公共參數(shù)PP發(fā)送給敵手A。
2)敵手A 被允許在多項式時間內(nèi)向挑戰(zhàn)者C 進行下述詢問:
①環(huán)簽名詢問:敵手A 選擇環(huán)R,消息m和索引i,挑戰(zhàn)者C 運行R-Sign(R,m,PP,IDi,SKIDi)得到環(huán)簽名Sig并將它發(fā)送給A。
②私鑰詢問:敵手A 選擇索引i,挑戰(zhàn)者C 將IDi的私鑰SKIDi發(fā)送給A。
4)敵手A 輸出猜測b′∈{0,1}。若b′=b,則敵手A 贏得游戲。
定義10 存在不可偽造性。如果任意PPT 敵手A 贏得以下游戲的概率是可忽略的,則稱身份基環(huán)簽名方案在適應性選擇消息和身份攻擊下滿足存在不可偽造性。敵手A 和挑戰(zhàn)者C 的存在不可偽造性安全模型由以下游戲定義:
1)挑戰(zhàn)者C 輸入安全參數(shù)n,運行Setup(1n)得到公共參數(shù)PP和主私鑰MSK,之后將公共參數(shù)PP發(fā)送給敵手A。
2)敵手A 在多項式時間內(nèi)可以向挑戰(zhàn)者C 適應性地進行以下詢問:
①環(huán)簽名詢問:敵手A 適應性地選擇環(huán)R,消息m和索引i,挑戰(zhàn)者C 運行R-Sign得到環(huán)簽名Sig并將它發(fā)送給A。
②私鑰詢問:敵手A 適應性地選擇索引i,挑戰(zhàn)者C 將IDi的私鑰SKIDi發(fā)送給A。
3)敵手A 輸出一個環(huán)簽名(R′,m′,Sig′)。若滿足下面3條,則敵手A 贏得游戲。
①敵手A 未對(R′,m′)進行環(huán)簽名詢問;
②敵手A 未對身份標識ID∈R′的用戶進行私鑰詢問;
③R-Verify(R′,m′,Sig′,PP)輸出“ACCEPT”。
設(shè)簽名者IDi(1 ≤i≤l) ∈Rl={ID1,ID2,…,IDl}?R,它的私鑰為si,待簽名的消息m∈{0,1}*。環(huán)簽名過程如下:
定理1 NTRU-IBRS 方案滿足正確性。
定理2 NTRU-IBRS 在隨機預言機模型下滿足匿名性。
證明 敵手A 和挑戰(zhàn)者C 的游戲模擬如下:
1)挑戰(zhàn)者C 輸入安全參數(shù)n,運行系統(tǒng)建立算法Setup(1n)生成主私鑰Bf,g和公開參數(shù)PP={n,q,σ,A,h},并將PP發(fā)送給敵手A。
2)敵手A 在多項式時間內(nèi)向挑戰(zhàn)者C 進行下述詢問:
①H1詢問:A 向C 提交用戶身份信息ID,C 收到請求后隨機選擇p∈并將p返回給A。
②H2詢問:A 向C 提交一個含有l(wèi)個用戶的環(huán)Rl和消息m,C 收到請求后隨機選擇c∈Zq并將c返回給A。
③環(huán)簽名詢問:A 向C 提交消息m,環(huán)Rl和簽名者的身份信 息ID∈Rl,C 收到請求后調(diào)用環(huán)簽名算法R-Sign(R,m,PP,ID,SKID)輸出并返回環(huán)簽名Sig給A。
④私鑰詢問:A 向C 提交身份信息ID,C 收到請求后調(diào)用私鑰提取算法Extract(PP,MSK,ID)輸出并返回ID的私鑰SKID給A。
定理3 NTRU-IBRS 在隨機預言機模型下對于適應性選擇消息和身份攻擊滿足存在不可偽造性。
證明 如果存在PPT 敵手A 能夠以不可忽略的概率ε偽造本文方案的環(huán)簽名,則可以構(gòu)造出一個挑戰(zhàn)者C,C 通過調(diào)用A,能夠以不可忽略的概率ε′解決SIS 問題。C 管理維護4 個列表L1,L2,L3,L4分別用來存儲A 的H1詢問、H2詢問、私鑰詢問和環(huán)簽名詢問。4 個列表的初始化均為空。敵手A和挑戰(zhàn)者C 的游戲模擬如下:
1)挑戰(zhàn)者C 輸入安全參數(shù)n,運行系統(tǒng)建立算法Setup(1n)生成主私鑰Bf,g和公開參數(shù)PP={n,q,σ,A,h}發(fā)送給敵手A。
2)敵手A 在多項式時間內(nèi)可以向挑戰(zhàn)者C 適應性地進行以下詢問,不妨設(shè)A 不會發(fā)起重復詢問;A 在進行私鑰詢問和環(huán)簽名詢問之前已經(jīng)問詢過相應的哈希預言機。
①H1詢問:A 向C 提交用戶身份信息ID,C 收到請求后首先檢查(ID,H1(ID))是否在列表L1中。若在,則返回H1(ID)作為應答;否則,C 隨機選擇,將(ID,p)存儲在列表L1中并將p返回給A。
②H2詢問:A 向C 提交一個消息m、含有l(wèi)個用戶的環(huán)Rl和隨機選擇的l個向量收到請求后首先檢查列表L2中是否有相應的記錄。若有,則返回相應的結(jié)果;否則,C 隨機選擇c∈Zq,將存儲在列表L2中并將c返回給A。
③私鑰詢問:A 適應性地選擇ID。C 在列表L1中找到(ID,H1(ID)),運行算法SamplePre(h,Bf,g,σ,(H1(ID),0)) 得到ID的私鑰s,將(ID,s)存儲在列表L3中并將s返回給A。
④環(huán)簽名詢問:A 適應性地選擇消息m、環(huán)Rl和ID∈Rl。C 在列表L2中查找出相應的記錄在列表L3中查找是否有記錄(ID,s),若沒有,在列表L1中找到(ID,H1(ID)),運行私鑰提取算法得到ID的私鑰s。之后,C計算v=H1(ID)As,并使用高斯消元法計算v=H1(ID)Ax的一個解以極大概率使≠s;若j≠i,zj=yj;若j=i,zj=+yj。C 將最終的簽名結(jié)果Sig=(zj,1 ≤j≤l,v,c)發(fā)送給A。
3)敵手A 以不可忽略的概率ε輸出關(guān)于的偽造,使R-Verify(R′,m′,Sig′,PP)輸出“ACCEPT”,并且還需滿足下列兩個條件:
①敵手A 未對(R′,m′)進行環(huán)簽名詢問;
本文方案使用了NTRU 格的代數(shù)結(jié)構(gòu),系統(tǒng)私鑰就是NTRU 格的一組陷門基Bf,g,而這組基可只用h來刻畫,因此所需要的存儲空間比普通格上的陷門基所需要的存儲空間要小。表1 為本文方案與文獻[16-17]方案的系統(tǒng)私鑰、簽名私鑰和簽名長度的存儲開銷對比。文獻[16]中是理想格上的環(huán)簽名方案,文獻[17]中是NTRU 格上的身份基可鏈接環(huán)簽名方案,l表示環(huán)成員的個數(shù)??梢钥闯觯琋TRU-IBRS 的系統(tǒng)私鑰和簽名私鑰的空間復雜度都是O(n);而文獻[16]方案的系統(tǒng)私鑰與簽名私鑰的空間復雜度分別為O(n2)與O(nl)。因此,NTRU-IBRS 的系統(tǒng)私鑰和簽名私鑰的存儲開銷比文獻[16]方案小。文獻[17]方案的系統(tǒng)私鑰生成采用和NTRU-IBRS 相同的陷門生成算法,因此系統(tǒng)私鑰的存儲開銷與NTRU-IBRS 相同,都為O(n);雖然文獻[17]方案的簽名私鑰的空間復雜度為O(n),但是它的簽名私鑰在系統(tǒng)中需要占用存儲空間,而NTRU-IBRS 的簽名私鑰在系統(tǒng)中僅需占用存儲空間,因此文獻[17]方案的簽名私鑰的存儲開銷略高于NTRU-IBRS。在簽名長度方面,NTRU 格的維數(shù)擴張會引起簽名長度擴張,NTRU-IBRS 的簽名長度O(n2l)均大于文獻[16]方案的簽名長度O(n)+O(l)和文獻[17]方案的簽名長度O(nl)。
表1 存儲開銷對比Tab.1 Comparison of storage overhead
表2 對比了3 種方案在系統(tǒng)私鑰、簽名私鑰、簽名生成和簽名驗證階段的時間開銷,主要考慮實際應用中比較耗時的運算,包括1 次陷門生成算法的時間TTG、1 次原像采樣算法的時間TSP、1 次擴展控制算法的時間TEB、1 次高斯抽樣算法的時間TSD、1 次CGS 算法的時間TCG、1 次拒絕抽樣算法的時間TRS和n次標量乘法運算的時間Tmul,忽略了耗時較少的哈希函數(shù)運算和矩陣加法運算。文獻[26]中指出,由于擴展控制算法是原像采樣算法的推廣,利用擴展控制算法求與原始格相關(guān)的更大維數(shù)格的陷門基時,需要借助矩陣原像采樣算法來實現(xiàn),也就是說擴展控制算法的時間復雜度OTEB等于原像采樣算法的時間復雜度OTSP加上其余運算的時間復雜度Oother,因此時間復雜度為。文獻[27]中指出,原像采樣算法的時間復雜度通過并行計算可達到O(n2),其中符號O隱藏了小常數(shù)4;而本文矩陣乘法的時間復雜度也是O(n2),其中符號O隱藏了小常數(shù)2。因此,NTRU-IBRS 與文獻[16]方案的系統(tǒng)私鑰的時間開銷相同,都為TTG;簽名生成的時間開銷相當,都為O(n3l)+O(n2)=O(n3l);然而在簽名私鑰和簽名驗證的時間開銷上,NTRUIBRS 的效率更優(yōu)。文獻[28]中指出,CGS 算法的時間復雜度為O(n2)。因此,NTRU-IBRS 與文獻[17]方案的系統(tǒng)私鑰的時間開銷相同,都為TTG;簽名私鑰的時間開銷相當,都為O(n2);然而在簽名生成階段和簽名驗證階段,NTRU-IBRS 的時間開銷分別為O(n3l)和O(n3),均小于文獻[17]方案在簽名生成階段的時間開銷O(nlTSD)+O(n3l)+O(nTRS)和簽名驗證階段的時間開銷O(n3l)。
表2 時間開銷對比Tab.2 Comparison of time overhead
本文實驗的軟硬件環(huán)境采用64 位Windows 10 專業(yè)版操作系統(tǒng),Intel Core i5-9500 CPU @ 3.00 GHz,NVIDIA GeForce GT 720 GPU,8 GB 運行內(nèi)存;.NET Framework 4.8 Advanced Services 開發(fā)平臺,Matlab R2018a 實驗平臺,調(diào)用SHA256Managed 算法實例化本文的隨機預言機,并將安全參數(shù)n、素數(shù)q和環(huán)成員的個數(shù)l分別設(shè)置為n=256,q=232,l=64。實驗中,系統(tǒng)私鑰生成、簽名私鑰生成、簽名生成和簽名驗證的時間均是1 000 次實驗的平均值。
表3 為文獻[16-17]方案與NTRU-IBRS 在上述參數(shù)設(shè)置下的存儲開銷實驗數(shù)據(jù)對比結(jié)果??梢钥闯?,NTRU-IBRS 的系統(tǒng)私鑰和簽名私鑰的存儲開銷都取得了最優(yōu)。相較于文獻[16-17]方案,NTRU-IBRS 的系統(tǒng)私鑰長度下降了0~99.6%,簽名私鑰長度下降了50.0%~98.4%,但是在簽名長度的存儲開銷方面,NTRU-IBRS 的簽名長度需要占據(jù)更多的存儲空間,具體原因見5.1 節(jié)的分析。
表3 存儲開銷實驗數(shù)據(jù)對比 單位:KBTab.3 Experimental data comparison of storage overhead unit:KB
表4 為文獻[16-17]方案與NTRU-IBRS 在上述參數(shù)設(shè)置下的時間開銷對比結(jié)果。雖然理論分析表明文獻[16]方案與NTRU-IBRS 的系統(tǒng)私鑰的時間開銷相同,都為TTG,但是實驗結(jié)果表明,文獻[16]方案的系統(tǒng)私鑰的時間開銷略低,這是因為文獻[16]方案使用的陷門生成算法是G-陷門生成算法[29],而NTRU-IBRS 使用的是NTRU 格上的陷門生成算法。文獻[17]方案使用的是NTRU 格上的陷門生成算法,因此文獻[17]方案與NTRU-IBRS 在系統(tǒng)私鑰生成階段的時間開銷相同。在簽名私鑰生成、簽名生成和簽名驗證階段,NTRUIBRS 的時間開銷最小,與理論分析的結(jié)果吻合。NTRUIBRS 的總時間開銷也是最小的,環(huán)簽名算法的總時間減少了15.3%~21.8%。在簽名生成階段,與文獻[17]方案相比,NTRU-IBRS 的簽名時間減小了22.6%;在簽名驗證階段,與文獻[16]方案相比,NTRU-IBRS 的驗證時間減小了21.6%。
表4 時間開銷實驗數(shù)據(jù)對比 單位:msTab.4 Experimental data comparison of time overhead unit:ms
NTRU-IBRS 方案在系統(tǒng)私鑰生成、簽名私鑰生成、簽名生成和簽名驗證的時間效率上具有一定的優(yōu)勢,因而在算法的整體實現(xiàn)上具有較小的時間開銷。同時,NTRU-IBRS 減小了系統(tǒng)私鑰和簽名私鑰的長度,但是卻增加了簽名的長度。因此,NTRU-IBRS 適用于對簽名的空間開銷要求較低,而對其余開銷要求較高的場景。動態(tài)車聯(lián)網(wǎng)就是這樣一種應用場景,它使用環(huán)簽名和區(qū)塊鏈作為底層技術(shù),實現(xiàn)局部范圍內(nèi)車輛的更新和刪除以及車輛間的信息收發(fā)。每個車聯(lián)網(wǎng)單元為轄區(qū)內(nèi)的車輛分發(fā)密鑰以便對車輛進行管理,不同單元的環(huán)參數(shù)不同,因此車輛由一個單元駛?cè)肓硪粋€單元時需要重新獲取密鑰。將車輛的移動速度和單元的轄區(qū)范圍考慮在內(nèi),平均每分鐘每個單元就要為環(huán)列表中新增的車輛生成密鑰,因此該場景對密鑰的時空開銷有較高要求。車聯(lián)網(wǎng)由區(qū)塊鏈網(wǎng)絡(luò)、路邊單元、移動邊緣計算(Mobile Edge Computing,MEC)服務器、車輛監(jiān)管部門、執(zhí)法部門和車輛6個功能模塊構(gòu)成。區(qū)塊鏈網(wǎng)絡(luò)主要用來存儲車輛真實身份信息、環(huán)中公共參數(shù)和交易信息;路邊單元負責車輛和其他實體的信息轉(zhuǎn)發(fā),不同的路邊單元覆蓋不同的車聯(lián)網(wǎng)區(qū)域;MEC 服務器搭載在路邊單元上,轉(zhuǎn)發(fā)路邊單元收到的信息,為車輛提供邊緣計算服務;車輛監(jiān)管部門負責生成系統(tǒng)初始化參數(shù),將部分參數(shù)在網(wǎng)絡(luò)中廣播,并將系統(tǒng)私鑰發(fā)送給執(zhí)法部門;執(zhí)法部門負責生成車輛簽名密鑰、實時更新和刪除駛?cè)牒婉傠x路邊單元范圍內(nèi)的車輛信息,并備份車輛身份信息和對應的簽名密鑰,以便對廣播惡意信息的車輛進行身份溯源[30-31]。NTRU-IBRS 與車聯(lián)網(wǎng)結(jié)合除了在通信效率上的優(yōu)勢外,還避免了復雜的公鑰數(shù)字證書的頒發(fā)流程,進一步減小了系統(tǒng)的時間開銷。動態(tài)車聯(lián)網(wǎng)模型如圖1 所示。
圖1 動態(tài)車聯(lián)網(wǎng)模型Fig.1 Dynamic IoV model
該模型共分為4 個階段,分別是系統(tǒng)建立階段(1~2)、車輛注冊階段(3~9)、車輛通信階段(10~12)和車輛溯源階段(8,13~15)。
1)系統(tǒng)建立階段:車輛監(jiān)管部門運行Setup(1n)生成并在網(wǎng)絡(luò)中廣播系統(tǒng)公共參數(shù)PP={n,q,σ,H1,H2,A,h},并將系統(tǒng)主私鑰Bf,g發(fā)送給執(zhí)法部門。
2)車輛注冊階段:車輛將自己的身份信息ID發(fā)送給車輛監(jiān)管部門請求加入環(huán)列表,車輛監(jiān)管部門將車輛身份信息ID發(fā)送給執(zhí)法部門請求認證。執(zhí)法部門管理維護區(qū)域內(nèi)的環(huán)列表和身份-密鑰列表,首先運行Extract(PP,Bf,g,ID)生成私鑰SKID并更新環(huán)列表車輛信息,之后將(ID,SKID)存入身份-密鑰列表用于追蹤違法車輛。執(zhí)法部門返回認證通過消息,車輛監(jiān)管部門再將認證通過消息返回給車輛并將身份信息ID和更新后的環(huán)列表以交易的形式存入?yún)^(qū)塊鏈。最終車輛收到自己的私鑰SKID,注冊成功。
3)車輛通信階段:車輛輸入明文消息m和私鑰SKID,運行R-Sign(R,m,PP,ID,SKID)生成環(huán)簽名Sig。目標車輛接收環(huán)簽名并運行R-Verify(R,m,Sig,PP)來驗證Sig是否可信。若環(huán)驗證算法輸出“ACCEPT”,則目標車輛接收環(huán)簽名并與發(fā)送方建立連接。
4)車輛溯源階段:若目標車輛接收到違法簽名,則目標車輛將向執(zhí)法部門舉報并提交異常簽名。執(zhí)法部門根據(jù)簽名信息在O(l)(l為環(huán)中的車輛數(shù))時間內(nèi)獲得簽名值對應的私鑰,然后在身份-密鑰列表中查詢車輛真實身份信息,之后追蹤相應車輛并判斷其是否合法,若不合法則將它移出環(huán)列表。同時,執(zhí)法部門將違法車輛的身份信息和更新后的環(huán)列表發(fā)送給車輛監(jiān)管部門,由車輛監(jiān)管部門將處理結(jié)果打包上鏈。
本文使用拒絕抽樣技術(shù)設(shè)計了一種NTRU 格上的身份基環(huán)簽名方案NTRU-IBRS,降低了系統(tǒng)私鑰和簽名私鑰的存儲開銷,避免了繁瑣的公鑰數(shù)字證書的頒發(fā)和認證流程,提高了環(huán)簽名算法的整體計算效率。在隨機預言機模型下,證明方案具有匿名性和適應性選擇消息和身份攻擊下的存在不可偽造性。將方案與區(qū)塊鏈技術(shù)相結(jié)合,應用于動態(tài)車聯(lián)網(wǎng)場景中,有效地保證了車輛在通信過程中身份的隱私性和消息的可靠性。接下來的工作將致力于降低環(huán)簽名的長度,或者研究如何將格上的累加器技術(shù)應用于本文方案以固定環(huán)簽名的長度,從而進一步優(yōu)化算法的性能。