技術(shù)領(lǐng)域
[0001] 本
發(fā)明屬于信息安全領(lǐng)域,具體涉及一種車載網(wǎng)中密碼混淆區(qū)的建立方法。
背景技術(shù)
[0002] 車載網(wǎng)即車載自組織網(wǎng),是一種用于車輛間通信的自組織網(wǎng)絡(luò)。車載網(wǎng)用于提升道路交通的安全性、效率和駕駛的便利性。車載網(wǎng)主要由車輛和路邊單元組成,通過車與車、車與路邊單元之間的通信,車輛可以共享速度、
位置、道路狀況等信息,并且享受基于位置的服務(wù)。
[0003] 由于車載網(wǎng)中車輛需要定期廣播消息,確保消息的認(rèn)證性和不可否認(rèn)性顯得尤為重要。另外這些消息中包含車輛的隱私信息,如駕駛員的身份和車輛的位置記錄等敏感信息。為了保證車輛的安全性和隱私性,基于
假名或群簽名的技術(shù)被提出來,但攻擊者仍能通過
數(shù)據(jù)挖掘和模式匹配的方法獲取車輛的隱私信息。密碼混淆區(qū)(CMIX)能夠更好地保護(hù)車輛的隱私,在密碼混淆區(qū)的合法車輛共享一個(gè)組對稱密鑰,車輛發(fā)送的消息都通過組對稱密鑰加密。目前實(shí)現(xiàn)密碼混淆區(qū)的方案及存在的問題:①將組對稱密鑰預(yù)先加載到車輛的安全設(shè)備中,此方案組對稱密鑰更新的代價(jià)較高且不能抵抗如側(cè)信道攻擊等強(qiáng)
力攻擊;②使用完全可信的機(jī)構(gòu)如路邊單元來維護(hù)組對稱密鑰,但路邊單元可能是不可信的;③使用群密鑰協(xié)商技術(shù)來生成組對稱密鑰,但現(xiàn)有的群密鑰協(xié)商技術(shù)需要至少兩輪來建立組對稱密鑰,因此該方案在車輛運(yùn)動較快的情況下不可行。
發(fā)明內(nèi)容
[0004] 本發(fā)明的目的在于:針對密碼混淆區(qū)存在組對稱密鑰更新代價(jià)較高,路邊單元可能不可信等問題,提出了無需完全可信路邊單元且能實(shí)現(xiàn)高效組對稱密鑰更新的密碼混淆區(qū)的建立方法。該方法將車輛分組,每個(gè)車輛分配一次性的假名用于保護(hù)車輛的隱私信息,整個(gè)密碼混淆區(qū)由一個(gè)隨機(jī)選擇的路邊單元(RSU)管理。雖然RSU用于管理所有組,但它不能得到組對稱密鑰。密碼混淆區(qū)也提供一種快速更新組對稱密鑰的方式,保證整個(gè)密碼混淆區(qū)的安全性。
[0005] 實(shí)現(xiàn)本發(fā)明目的的具體技術(shù)方案是:
[0006] 一種車載網(wǎng)中密碼混淆區(qū)建立的方法,包括如下實(shí)體:車輛、路邊單元RSU、車輛和路邊單元信任的生成全局參數(shù)的機(jī)構(gòu)即可信機(jī)構(gòu)TA,密碼混淆區(qū)確保車載網(wǎng)中消息的可認(rèn)證和不可否認(rèn),保護(hù)車輛的安全和隱私;特點(diǎn)是:該方法包括下列步驟:
[0007] 步驟1:設(shè)置
[0008] 1)、TA根據(jù)初始的安全參數(shù) 選取兩個(gè)階為q的循環(huán)群G1,G2,雙線性映射 G1×G2→G2,G1的生成元為g,g為循環(huán)群中的一個(gè)元素,對屬于循環(huán)群的任意元素x,都存在整數(shù)k使得x=gk,存在最小正整數(shù)q,使得gq=e,e為幺元,即g0,雙線性映射 滿足以下性質(zhì):
[0009] ①雙線性:對任意的g1∈G1,g2∈G2,a,b∈Zp,均有 成立;
[0010] ②非退化性: g2∈G2滿足 不等于
[0011] ③可計(jì)算性:存在有效
算法,對于 g2∈G2,均可計(jì)算
[0012] TA選取主密鑰 L個(gè)G1的元素h1,…,hL∈G1,哈希函數(shù)H1、H2、H3,分別為H1:{0,1}*→G1, H3:G2→{0,1}l,1表示明文的比特長度;N個(gè)矩陣{As}s∈{1,…,N},s表示1和N之間的整數(shù),As是一個(gè)ns×(ns+2)的矩陣,ns表示群組的大小,矩陣形式如下:
[0013]
[0014] 2)、矩陣的具體構(gòu)造過程如下:
[0015] ①1≤i≤ns,i表示1和ns之間的整數(shù),計(jì)算TA身份IDTA與ns、i的連接,表示為計(jì)算 idsi,0和idsi,1分別為哈希值,計(jì)算 和 分別為idsi,0和idsi,0的承諾;
[0016] ②選取整數(shù) 計(jì)算 的承諾
[0017] ③計(jì)算哈希值
[0018] ④計(jì)算 asi,j表示矩陣中對應(yīng)元素的值,其中1≤j≤ns,j≠i,j為1和ns之間的整數(shù)
[0019] 初始化一個(gè)安全的基于身份的簽名方案IDsign,生成并公布參數(shù)
[0020] 步驟2:注冊
[0021] 車輛需要預(yù)先加載參數(shù)Ω并注冊到TA;假設(shè)車輛的真實(shí)身份是IDi,TA首先為車輛生成一次性使用的假名池{PID1,…,PIDn};對每個(gè)假名PIDi,TA計(jì)算哈希值idi,0=H1(PIDi,0),哈希值idi,1=H1PIDi,1并輸出私鑰 一次性假名和對應(yīng)的私鑰
通過安全的加密信道傳遞給車輛;
[0022] RSU預(yù)先注冊到TA并加載參數(shù)Ω;假設(shè)RSU的真實(shí)身份是 TA計(jì)算哈希值并且通過安全的加密信道將私鑰 傳遞給RSU;
[0023] 步驟3:密碼混淆區(qū)建立
[0024] 建立由數(shù)個(gè)RSU
覆蓋的密碼混淆區(qū);從這數(shù)個(gè)RSU中隨機(jī)選出一個(gè)管理RSU;具體包括以下協(xié)議:
[0025] 1)通知
[0026] ①管理RSU維護(hù)一個(gè)表用于生成組公鑰,協(xié)助車輛生成組私鑰,表中對應(yīng)的值初始設(shè)置為矩陣中對應(yīng)的參數(shù)值 表示用于生成組私鑰的值, 表示承諾, 表示TA身份IDTA與ns、i的連接,其中i≠j,1≤i,j≤ns;
[0027] ②計(jì)算 的累積 其中1≤j≤ns;
[0028] ③計(jì)算 的累積 其中哈希值 為簽名的一部分;
[0029] ④計(jì)算Kver,Kver表示當(dāng)前組對稱密鑰相對應(yīng)的密鑰版本,具體見組對稱密鑰分發(fā)階段的定義;
[0030] ⑤用IDsign簽名方法,計(jì)算基于 的身份的簽名sidθ表示包含 的身份的會話ID,Jθ表示組中車輛數(shù)量;
[0031] ⑥當(dāng)車輛進(jìn)入通知區(qū)時(shí),車輛檢查簽名 是否有效,如果有效則保存否則丟棄消息,sidθ表示包含 的身份的會話ID,Jθ表示組中車輛數(shù)量;
[0032] 2)加入
[0033] 車輛vi進(jìn)入注冊區(qū)域時(shí),加入密碼混淆區(qū)并獲得其組公私鑰對;
[0034] ①選擇最近的組,如f組,計(jì)算組中車輛數(shù)量I=Jf+1;
[0035] ②選擇整數(shù) 并計(jì)算承諾
[0036] ③計(jì)算哈希值 哈希值
[0037] ④計(jì)算值 l的取值范圍是1≤l≤ns,zI,l為廣播值的一部分;
[0038] ⑤計(jì)算廣播值 并借助 將σi廣播到整個(gè)密碼混淆區(qū);
[0039] ⑥計(jì)算值生成組公鑰
[0040] 3)組對稱密鑰分發(fā)
[0041] 定義Enc為加密方法,假設(shè)(r1,Ψ1),…,(rt,Ψt)為各組組公鑰,具體執(zhí)行如下:
[0042] ①選擇整數(shù)
[0043] ②計(jì)算密文c=[c1,(c2,1,c3,1),…,(c2,t,c3,t)],其中m為組對稱密鑰;
[0044] 定義Dec為解密方法,假設(shè)Ui為第j組的第i個(gè)車輛,Ui的組私鑰為zi,則將密文c解密為組對稱密鑰
[0045] 密碼混淆區(qū)中的車輛必須使用相同的組對稱密鑰來加密和解密,車輛獲得組對稱密鑰分為兩種情形,具體如下:
[0046] 情形一:當(dāng)?shù)谝惠v車進(jìn)入密碼混淆區(qū)時(shí),假設(shè)當(dāng)前車輛為v1,對應(yīng)的假名為PID1;
[0047] ⅰ)v1選取組對稱密鑰sk1,其中
[0048] ii)計(jì)算承諾
[0049] ⅲ)計(jì)算簽名 運(yùn)用IDsign簽名方法,用PID1對應(yīng)的私鑰對(SK1,sid1,1)簽名生成sid1表示會話ID;
[0050] ⅳ)廣播 并由 記錄;
[0051] 為密鑰版本,表示skI對應(yīng)的承諾為SKI,skI由對應(yīng)于會話ID為sidJ的組中的第K個(gè)車輛生成, 是第K個(gè)車輛用它的假名PIDT對應(yīng)的私鑰對(SKI,sidJ,K)生成的簽名;
[0052] 情形二:對于剛加入組信息為 的組的車輛vi,Jf表示f組中車輛數(shù)量,假設(shè)組對稱密鑰skI對應(yīng)的密鑰版本為 接受組對稱密鑰的具體過程如下:
[0053] ⅰ)組中其他車輛用Enc將組對稱密鑰加密并發(fā)送給vi;
[0054] ii)vi用Dec解密接收到的密文c獲得組對稱密鑰skI;
[0055] ⅲ)vi檢查承諾 如果相等則接受組對稱密鑰;
[0056] 4)組對稱密鑰更新
[0057] 密碼混淆區(qū)中的車輛vi能夠強(qiáng)制密碼混淆區(qū)中的車輛更新組對稱密鑰,具體如下:
[0058] ①vi選擇一個(gè)新的組對稱密鑰skI′,其中
[0059] ②計(jì)算承諾
[0060] ③vi用自己的身份PIDT對(SKI′,sidf,K)計(jì)算簽名
[0061] ④用Enc計(jì)算加密的密文c;
[0062] ⑤將 廣播到整個(gè)密碼混淆區(qū)中,K表示會話ID為sidf的組中的第K個(gè)車輛;⑥當(dāng) 接收到消息時(shí)檢驗(yàn)簽名 是否有效,如果有效,則更新密鑰版本否則終止。
[0063] ⑦車輛接收到消息時(shí)檢驗(yàn)簽名 是否有效,如果有效,使用Dec解密c獲得skI′;
[0064] ⑧車輛計(jì)算承諾 如果SKI″等于SKI′則接受組對稱密鑰,否則終止。
[0065] 表示整數(shù)集, 表示1和q-1之間的整數(shù)集合。
[0066] 本發(fā)明的四個(gè)協(xié)議:通知、加入、組對稱密鑰分發(fā)和組對稱密鑰更新;第一個(gè)協(xié)議用于車輛發(fā)現(xiàn)密碼混淆區(qū)和管理RSU維護(hù)組公鑰;第二個(gè)協(xié)議用于車輛加入密碼混淆區(qū),通過該協(xié)議,車輛獲得其組公私鑰對;通過第三個(gè)協(xié)議,車輛獲得其組對稱密鑰,密碼混淆區(qū)中的車輛使用相同的組對稱密鑰加密解密消息;最后一個(gè)協(xié)議用于密碼混淆區(qū)中的車輛更新其組對稱密鑰。
[0067] 本發(fā)明用于增強(qiáng)混淆區(qū)中的車輛的隱私性,并且不需要可信密鑰分發(fā)者來分發(fā)密鑰。運(yùn)用非對稱加密技術(shù)使混淆區(qū)中車輛只需要擁有其他車輛的公鑰,用公鑰加密消息,只有對應(yīng)的私鑰擁有者才能解密該消息,保證了消息的安全;使用一次性假名可以避免信息的泄露和追蹤,降低了加密混合區(qū)中的信息泄露的
風(fēng)險(xiǎn);車輛不需要一直保持在線狀態(tài),車輛只需要一輪協(xié)商便可以獲取加解密密鑰對。
附圖說明
具體實(shí)施方式
[0069] 本發(fā)明包括如下實(shí)體:車輛、路邊單元(RSU)、公認(rèn)可信機(jī)構(gòu)(TA),密碼混淆區(qū)確保車載網(wǎng)中消息的可認(rèn)證和不可否認(rèn),保護(hù)車輛的安全和隱私;其包括下列步驟:
[0070] 步驟1:設(shè)置
[0071] 輸入安全參數(shù),TA選取主密鑰,生成并公布參數(shù)。具體如下:
[0072] 1)輸入安全參數(shù) TA選取兩個(gè)階為q的循環(huán)群G1,G2,雙線性映射 G1×G2→G2,G1的生成元為g;
[0073] 2)選取一個(gè)隨機(jī)數(shù)κ作為主密鑰,滿足 表示1和q-1之間的整數(shù)集合,計(jì)算κ的承諾y,滿足y=gκ;
[0074] 3)選取L個(gè)G1的元素h1,…,gL∈G1;
[0075] 4)選取3個(gè)哈希函數(shù)H1、H2、H3,分別為H1:{0,1}*→G1, H3:G2→{0,1}l,l表示明文的比特長度;
[0076] 5)選取N個(gè)矩陣{As}s∈{1,…,N},s表示1和N之間的整數(shù),As是一個(gè)ns×(ns+2)的矩陣,ns表示群組的大小,矩陣形式如下:
[0077]
[0078] 矩陣的具體構(gòu)造過程如下:
[0079] ①1≤i≤ns,i表示1和ns之間的整數(shù),計(jì)算TA身份IDTA與ns、i的連接,表示為計(jì)算 idsi,0和idsi,1分別為哈希值,計(jì)算 和 分別為idsi,0和idsi,0的承諾;
[0080] ②選取整數(shù) 計(jì)算 的承諾
[0081] ③計(jì)算哈希值
[0082] ④計(jì)算 asi,j表示矩陣中對應(yīng)元素的值,其中1≤j≤ns,j≠i,j為1和ns之間的整數(shù)。
[0083] 6)初始化一個(gè)安全的基于身份的簽名方案IDsign;
[0084] 7)公布參數(shù)
[0085] 步驟2:注冊
[0086] 車輛預(yù)先注冊到TA并加載Ω。具體如下:
[0087] 1)TA為車輛生IDi成一次性假名池{PID1,…,PIDn},其中1≤i≤n;
[0088] 2)計(jì)算哈希值idi,0=H1(PIDi,0),哈希值idi,1=H1(PIDi,1);
[0089] 3)計(jì)算 生成私鑰
[0090] 4)TA將車輛的一次性假名和對應(yīng)的私鑰通過安全的加密信道發(fā)送給車輛。
[0091] RSU預(yù)先注冊到TA并加載Ω。具體如下:
[0092] 1)對于給定的RSU真實(shí)身份是 TA計(jì)算哈希值
[0093] 2)計(jì)算私鑰
[0094] 3)TA通過安全的加密信道將私鑰di發(fā)送給RSU。
[0095] 步驟3:密碼混淆區(qū)建立
[0096] 定義Enc為加密方法,假設(shè)(r1,Ψ1),…,(rt,Ψt)為各組組公鑰,具體執(zhí)行如下:
[0097] (1)選擇整數(shù)
[0098] (2)計(jì)算密文c=[c1,(c2,1,c3,1),…,(c2,t,c3,t)],其中m為組對稱密鑰。
[0099] 定義Dec為解密方法,假設(shè)Ui為第j組的第i個(gè)車輛,Ui的組私鑰為zi,則將密文c解密為組對稱密鑰
[0100] 密碼混淆區(qū)由幾個(gè)RSU組成,并從中隨機(jī)選取一個(gè)管理RSU管理該密碼混淆區(qū)。該階段包括四個(gè)協(xié)議:通告,加入,組對稱密鑰分發(fā)和組對稱密鑰更新。具體如下:
[0101] 1)通知
[0102] 管理RSU 維護(hù)幾個(gè)表 每個(gè)表 由對應(yīng)的矩陣As構(gòu)造,其中θ∈{t,…,f},s∈{1,…,N}。具體如下:
[0103] (1)管理RSU維護(hù)一個(gè)表用于生成組公鑰,協(xié)助車輛生成組私鑰,表中對應(yīng)的值初始設(shè)置為矩陣中對應(yīng)的參數(shù)值 表示用于生成組私鑰的值, 表示承諾, 表示TA身份IDTA與ns、i的連接,其中i≠j,1≤i,j≤ns;
[0104] (2)計(jì)算 的累積 其中1≤j≤ns;
[0105] (3)計(jì)算 的累積 其中哈希值 為簽名的一部分;
[0106] (4)計(jì)算Kver,Kver表示當(dāng)前組對稱密鑰相對應(yīng)的密鑰版本,具體見組對稱密鑰分發(fā)階段的定義;
[0107] (5)用IDsign簽名方法,計(jì)算基于 的身份的簽名sidθ是包含 的身份的會話ID,Jθ表示組中車輛數(shù)量,表 表示如下:
[0108] 表1生成組公鑰的表
[0109]
[0110] (6)當(dāng)車輛進(jìn)入通知區(qū)時(shí),車輛檢查簽名 是否有效,如果有效則保存否則丟棄消息。
[0111] 2)加入
[0112] 車輛vi進(jìn)入注冊區(qū)域時(shí),加入密碼混淆區(qū)并獲得其組公私鑰對,假設(shè)車輛vi對應(yīng)的假名為PIDi,并且對應(yīng)的私鑰為(di,0,di,1)。具體如下:
[0113] (1)選擇最近的組,如f組,計(jì)算組中車輛數(shù)量I=Jf+1;
[0114] (2)選擇整數(shù) 并計(jì)算
[0115] (3)計(jì)算哈希值 哈希值
[0116] (4)計(jì)算 l的取值范圍是1≤l≤ns,zI,l為廣播值的一部分;
[0117] (5)計(jì)算廣播值 并借助 將σi廣播到整個(gè)密碼混淆區(qū);
[0118] (6)計(jì)算值生成組公鑰
[0119] 密碼混淆區(qū)中的車輛和 更新對應(yīng)的會話ID為sidf的組的組公鑰和組私鑰。分以下四種情況,具體如下:
[0120] 對于 的情形一:當(dāng) 接收到σi時(shí),它必須檢查σi中所有元素的有效性,然后更新表 中的第n+1行中的元素,具體如下:
[0121] (1)檢查f組的I位置是否被占用,如果不是,則執(zhí)行下一步;否則,中止;
[0122] (2)選取隨機(jī)稀疏的 檢查方程是否成立,其中哈希值
哈希值 如果等式成立,則σi中所有元素都是有效的,
計(jì)算 并進(jìn)入下
一步;否則,中止;
[0123] (3)計(jì)算消息 其中 是 在 上的簽名,將Res廣播;
[0124] (4)設(shè)置組中車輛數(shù)量Jf=I, 計(jì)算值 其中取值范圍為1≤l≤ns,l≠I;
[0125] (5)如果I=ns-1,初始化一個(gè)新的表
[0126] 對于車輛vi的情形二:vi生成其組私鑰。具體如下:
[0127] (1)vi從RSU接收消息Res,并檢查 的有效性;
[0128] (2)如果簽名有效,則計(jì)算其組私鑰
[0129] 對于會話ID為sidf的組中的剩余車輛的情形三:這些車輛接收σi和Res,并且更新他們的組公私鑰對,假設(shè)車輛vJ的組私鑰為 組公鑰為 具體如下:
[0130] (1)計(jì)算哈希值 和哈希值
[0131] (2)計(jì)算值
[0132] (3)檢查等式 是否成立。如果等式不成立則終止。否則,當(dāng)vj從接收到Res時(shí),如果 是有效的并且 等于 接受 作為組私鑰, 作
為組公鑰;否則終止。
[0133] 對于密碼混淆區(qū)中的其余車輛的情形四:
[0134] (1)只有同一組中的車輛vi可以響應(yīng)會話ID為sidf的組的組公鑰的有效性;
[0135] (2)其余車輛僅接收由 生成的組公鑰;
[0136] (3)當(dāng)從 接收Res并且 有效時(shí),則將 作為會話ID為sidf的組公鑰。
[0137] 3)組對稱密鑰分發(fā)
[0138] 密碼混淆區(qū)中的車輛必須使用相同的組對稱密鑰來加密和解密,車輛獲得組對稱密鑰分為兩種情形,具體如下:
[0139] 情形一:當(dāng)?shù)谝惠v車進(jìn)入密碼混淆區(qū)時(shí),假設(shè)當(dāng)前車輛為v1,對應(yīng)的假名為PID1。
[0140] (1)v1選取組對稱密鑰sk1,其中
[0141] (2)計(jì)算承諾
[0142] (3)計(jì)算簽名 運(yùn)用IDsign簽名方法,用PID1對應(yīng)的私鑰對(SK1,sid1,1)簽名生成[0143] (4)廣播 并由 記錄;
[0144] (5) 為密鑰版本,表示skI對應(yīng)的承諾為SKI,skI由對應(yīng)于sidJ的組中的第K個(gè)車輛生成, 是第K個(gè)車輛用它的假名PIDT對應(yīng)的私鑰對(SKI,sidJ,K)生成的簽名。
[0145] 情形二:對于剛加入組信息為 的組的車輛vi,Jf表示f組中車輛數(shù)量,假設(shè)組對稱密鑰skI對應(yīng)的密鑰版本為 接受組對稱密鑰的具體過程如下:
[0146] (1)組中其他車輛用Enc將組對稱密鑰加密并發(fā)送給vi。
[0147] (2)vi用Dec解密接收到的密文c獲得組對稱密鑰skI;
[0148] (3)vi檢查承諾 如果相等則接受組對稱密鑰。
[0149] 如果密碼混淆區(qū)中的車輛
密度太低,則可能發(fā)生當(dāng)vi離開注冊區(qū)域時(shí),其不能從其他車輛接收組對稱密鑰,這種情況下具體執(zhí)行過程如下:
[0151] (2)消息發(fā)送者vj用Enc加密組對稱密鑰skI發(fā)送給vi;
[0152] (3)vi利用Dec解密獲得組對稱密鑰;
[0153] (4)vi檢查承諾 如果等式相等則接受組對稱密鑰。
[0154] 4)組對稱密鑰更新
[0155] 密碼混淆區(qū)中的車輛vi可以強(qiáng)制密碼混淆區(qū)中的車輛更新組對稱密鑰,具體如下:
[0156] (1)vi選擇一個(gè)新的組對稱密鑰skI′,其中
[0157] (2)計(jì)算承諾
[0158] (3)vi用自己的身份PIDT對(SKI′,sidf,K)計(jì)算簽名
[0159] (4)用Enc計(jì)算加密的密鑰c;
[0160] (5)將 廣播到整個(gè)密碼混淆區(qū)中,K表示會話ID為sidf的組中的第K個(gè)車輛。
[0161] (6)當(dāng) 接收到消息時(shí)檢驗(yàn)簽名 是否有效,如果有效,則更新密鑰版本否則終止。
[0162] (7)車輛接收到消息時(shí)檢驗(yàn)簽名 是否有效,如果有效,使用Dec解密c獲得skI′;
[0163] (8)車輛計(jì)算承諾 如果SKI″等于SKI′則接受組對稱密鑰,否則終止。