[發明專利]車載網中基于區塊鏈的可控匿名的數據安全共享方法有效
| 申請號: | 201810501301.0 | 申請日: | 2018-05-23 |
| 公開(公告)號: | CN108848062B | 公開(公告)日: | 2021-03-26 |
| 發明(設計)人: | 駱明星;張磊 | 申請(專利權)人: | 華東師范大學 |
| 主分類號: | H04L29/06 | 分類號: | H04L29/06;H04L9/32;H04L9/30;H04L9/08;H04W4/029;H04W4/40 |
| 代理公司: | 上海藍迪專利商標事務所(普通合伙) 31215 | 代理人: | 徐筱梅;張翔 |
| 地址: | 200241 *** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 車載 基于 區塊 可控 匿名 數據 安全 共享 方法 | ||
1.一種車載網中基于區塊鏈的可控匿名的數據安全共享方法,包括如下實體:車輛、路邊單元RSU、交通管理部門TMA、假名憑證簽名組織、追蹤組織以及普通組織;其特征在于,該方法包括以下步驟:
步驟1:系統設置
TMA生成全局公共系統參數;
步驟2:注冊
車輛、假名憑證簽名組織、追蹤組織以及普通組織在第一次加入系統時需要向TMA注冊;
步驟3:生成車輛假名憑證
車輛選擇短期私鑰并生成對應的短期公鑰短期公鑰作為假名使用,并通過盲簽名將短期公鑰給假名憑證簽名組織簽名生成假名憑證;當車輛發送消息時,車輛使用短期私鑰簽名消息來保證自己的匿名性;
步驟4:消息收集與認證
車輛通過傳感器獲取車輛的位置、速度、輪胎是否打滑的車輛狀態信息,使用車輛狀態信息生成道路狀態信息,或者通過駕駛員直接輸入堵車、道路損壞的道路狀態信息;根據周圍車輛的數量分為周圍車輛多和周圍車輛少的兩種情況,多個車輛根據這兩種情況合作生成認證的公告消息Messanno;
步驟5:生成區塊
系統中所有假名憑證簽名組織、追蹤組織和普通組織維護一個主鏈,每個省有一個智能合約,智能合約存儲在主鏈上,智能合約由維護主鏈的所有組織執行,該智能合約負責維護這個省的次鏈;車輛將認證的公告消息發送給車輛所在省的智能合約,智能合約將這些消息存儲在每個省的次鏈中;每個省的智能合約先將各省次鏈中最新生成的區塊中的消息合并到主鏈中的即將生成的下一個區塊體中,所有省的智能合約競爭生成主鏈中的下一個區塊,使下一個區塊頭的哈希值符合難度值當生成主鏈中的下一個區塊時,則確認次鏈中的消息被合并并且存儲到主鏈中,提高主鏈的吞吐量;將公告消息存儲到區塊鏈中實現公告消息安全可信的共享;
步驟6:獎勵與處罰
車輛生成公告消息后,智能合約生成獎勵消息用于獎勵生成該公告消息的車輛,從而激勵車輛生成道路狀態的公告消息;當出現攻擊者發送虛假消息時,多個車輛或者組織對虛假消息簽名并生成處罰消息處罰攻擊者,降低攻擊者發送虛假公告消息的可能性;
步驟7:追蹤
為保護系統的安全性實現數據的安全共享,TMA追蹤發送公告消息的車輛的真實身份,或者追蹤車輛發送的歷史消息,通過追蹤查出攻擊者的真實身份,確保存入區塊鏈中的公告消息的正確性;當TMA需要追蹤一個車輛的歷史消息時,將公告消息中的假名的簽名或者車輛的真實公鑰發送給追蹤組織,多個追蹤組織通過門限的方式合作追蹤車輛的歷史消息;通過追蹤有效處罰惡意攻擊者,同時門限方式防止系統中出現中心化組織直接獲取車輛的隱私信息;其中:
所述步驟1具體包括:
1)選取一個階為素數q的循環乘法群的生成元為整數g,選擇另一個階為素數p的循環乘法群的生成元為整數h;
2)選擇簽名算法ECDSA作為簽名方法Sig,哈希算法SHA-256作為哈希方法sba256,選擇哈希函數H1:{0,1}*→<g>和哈希函數H2,H3:{0,1}*→{0,1}|q|;
3)選擇主私鑰表示1和q-1之間的整數集合,計算對應主公鑰
4)生成兩個門限(t1,n1),(t2,n2),其中(ti,ni),i∈{1,2},且整數ti小于整數ni,表示ni個參與者中,當有超過ti個參與者對一個事件形成統一觀點則認為這個事件為真或者為假;
5)選擇消息傳播距離l米,消息回復時間間隔t秒;
6)公開系統參數:(q,g,p,h,Sig,sha256,H1,H2,H3,pkCA,t1,n1,t2,n2,l,t);
所述步驟2具體包括:
1)每個省有一個假名憑證簽名組織,在該假名憑證簽名組織第一次加入系統時向TMA注冊成為假名憑證簽名組織,具體如下:
①假名憑證簽名組織選擇私鑰計算xj的承諾計算哈希值zj=H1(p,q,g,h,yj),公鑰為pkj=(yj,zj);
②TMA記錄假名憑證簽名組織身份信息和公鑰pkj的對應關系;
③TMA生成假名憑證簽名組織的公鑰pkj的簽名:生成認證的公鑰消息
2)追蹤組織在第一次加入系統時向TMA注冊申請成為追蹤組織,具體如下:
①追蹤組織選擇私鑰計算對應公鑰
②TMA記錄該追蹤組織的身份信息和公鑰的對應關系;
③TMA生成追蹤組織的公鑰的簽名:生成認證的公鑰消息
④每個追蹤組織選擇一個門限加密的私鑰分片所有門限加密的私鑰分片滿足門限(t1,n1),每個追蹤組織計算承諾:
每個追蹤組織將承諾合并,計算對應的門限加密的公鑰:
其中是拉格朗日系數;
⑤追蹤組織在TMA處登記公鑰pkT;
⑥TMA生成追蹤組織的公鑰pkT的簽名:生成認證的公鑰消息
3)車輛在第一次加入系統時向TMA注冊,具體如下:
①車輛選擇私鑰計算對應公鑰
②TMA記錄車輛的車牌號,駕駛員證件號碼和公鑰的對應關系;
③TMA生成車輛的公鑰的簽名:生成認證的公鑰消息
4)普通組織在第一次加入系統時向TMA注冊,具體如下:
①普通組織選擇私鑰計算對應的公鑰
②TMA記錄普通組織的身份信息和公鑰的對應關系;
③TMA生成普通組織的公鑰的簽名:生成認證的公鑰消息
所述步驟3中,車輛選擇短期私鑰計算對應的短期公鑰在公平盲簽名中將追蹤組織的門限加密的公鑰pkT作為一個輸入,實現單個追蹤組織不能獲取車輛的隱私信息,多個追蹤組織通過門限解密的方式獲取車輛的真實信息;公平盲簽名過程中假名憑證簽名組織生成車輛的短期公鑰的簽名生成車輛和假名憑證簽名組織之間的會話標識的承諾ξv,假名憑證簽名組織為會話標識與車輛真實公鑰的對應關系生成會話消息其中,為簽名標識,ρ,σ1,σ2,δ均為承諾;
所述步驟4具體包括:
1)周圍車輛較多時,多個車輛直接合作生成認證的公告消息,具體如下:
①車輛vc生成一個請求組成認證組的請求消息Messreq:
Messreq={事件類型,位置lc,時間戳tc}
車輛vc使用假名對應的私鑰對消息簽名得到簽名:
車輛vc將Messreq,和廣播給周圍的車輛;
②周圍車輛vr接受到請求消息,檢查是否發生請求消息中事件類型對應的事件,當發生時則驗證簽名的公鑰是否合法和簽名的正確性,當公鑰和簽名都合法則車輛vr獲取請求消息中的位置lc和時間戳tc,車輛vr獲取自己的位置lr和當前時間戳tr,計算時間差:
tint=|tr-tc|
計算距離:
ldis=|lr-lc|
時間差tint小于t秒并且距離ldis小于l米則發送確認在這個組的消息,消息包含位置lr和時間戳tr,車輛vr對消息和請求消息簽名:
(位置lr,時間戳tr,Messreq)
車輛vr將位置lr、時間戳tr、和廣播給周圍車輛;
③周圍車輛接受到確認消息時,確定該認證組中包含的車輛,當接收到的消息超過t秒時則丟棄請求消息;
④確認在③中確定認證組中的車輛后,車輛vr發送事件確認消息,消息包含車輛對請求消息的簽名:
車輛將簽名和廣播給組中其它車輛;
⑤車輛vc接收其它車輛發送的事件確認消息,當事件確認消息的數量大于認證組中車輛數量的三分之一時,認為請求消息由多數車輛認證,并將事件確認消息中的簽名聚合生成簽名signanno,車輛vc生成認證的公告消息:
Messanno={事件類型,位置lc,時間戳tc,signanno,簽名者短期公鑰,短期公鑰的簽名},
將Messanno廣播給其它車輛和RSU;
⑥當vc發送錯誤消息時,其它車輛重新執行步驟4的1)中的①-⑤;
2)周圍車輛少時,當車輛行駛到周圍車輛多或者附近有RSU的地區時,車輛將消息發送給其它車輛和RSU,車輛和RSU統計消息的正確性,具體如下:
①車輛vi收集道路消息,消息包含事件類型、位置和時間戳,車輛vi對消息簽名生成簽名:
(事件類型,位置時間戳)
當車輛行駛到周圍車輛比較多或者附近有RSU的地區時,將公告消息、簽名和廣播給其它車輛和RSU;
②車輛或RSU收集其它車輛發送的事件公告消息,當假名和簽名合法時,將這些消息保存在本地;車輛和RSU統計收集到的消息,當相同的公告消息數量超過t2時,則認為這個事件合法,將消息中的簽名聚合生成簽名signanno,生成認證的公告消息Messanno:
Messanno={事件類型,位置lc,時間戳tc,signanno,簽名者短期公鑰,短期公鑰的簽名}
將Messanno廣播給其它車輛或者RSU;
當車輛接收到1)或2)中生成的認證的公告消息時,車輛根據消息選擇是否避開擁堵路段或者損壞的道路;
所述步驟5具體包括:
1)每個智能合約接收所在省的消息,將十分鐘內收集到公告消息Messanno、認證的公鑰消息Messpk和車輛與假名憑證簽名組織之間的會話消息Messsession生成默克爾樹;為每個公告消息生成獎勵消息,獎勵每個為消息簽名的車輛,并且將這些獎勵消息和十分鐘內收集到的獎勵消息生成對應的默克爾樹,獎勵消息Messreward格式如下:
Messreward={獎勵標識,車輛的身份,獎勵額度,獎勵消息的簽名}
將十分鐘內收集到的處罰消息生成默克爾樹,處罰消息格式如下:
Messpunish={原消息,原消息哈希值,當前時間戳,處罰消息的簽名}
每個省的智能合約將公告消息Messanno、會話消息Messsession及獎勵消息Messreward存入本省的次鏈中,將主鏈中最新區塊的哈希值作為次鏈中的隨機數;每個智能合約根據主鏈中之前的區塊頭中的難度值dold計算當前的難度值具體如下:
智能合約j將公告消息的默克爾樹的根哈希值和獎勵消息的默克爾樹的根哈希值廣播給系統中所有合約、車輛和組織,將處罰消息的默克爾樹的根哈希值和當前的難度值廣播給本地的所有車輛和組織;
2)車輛vi向所在省的智能合約申請一個范圍的整數計算當前難度值對應的哈希值
計算哈希值
計算獎勵該智能合約的消息的哈希值計算所有公告消息的默克爾樹的根哈希值
計算所有獎勵消息的默克爾樹的根哈希值
將中的每個整數nonce代入計算哈希值hashtemp:
當hashtemp小于時,將對應的nonce保存在集合中,當車輛遍歷完中的所有的整數時,將集合中的所有整數發送給所在省的智能合約;
3)智能合約檢查車輛提交的整數是否在之前申請的范圍內,集合中的整數是否使hashtemp小于當車輛提交的nonce使得hashtemp小于智能合約廣播所有公告消息的默克爾樹的根哈希值、所有獎勵消息的默克爾樹的根哈希值、公告消息的默克爾樹、獎勵消息的默克爾樹、處罰消息的默克爾樹、獎勵智能本合約的消息、前一個區塊的哈希值、時間戳和nonce給所有的智能合約;
4)每個省的智能合約接收到其它省的智能合約廣播的生成新區塊的消息時,檢驗nonce是否使hashtemp小于成立時將本地次鏈中的公告消息的默克爾樹和獎勵消息的默克爾樹廣播給其它省的智能合約;當智能合約收到所有的公告消息的默克爾樹和獎勵消息的默克爾樹時,檢驗這些樹的哈希根是否和之前公布的哈希值一致,當哈希值一致時則將這些消息合并到區塊中;然后智能合約廣播給本地所有車輛停止尋找當前區塊的nonce,重新執行步驟5中的1)3)尋找下一個區塊的nonce;
所述步驟6具體包括:
1)根據步驟5中生成新區塊時,每個省的智能合約為每個公告消息生成對應的獎勵消息Messreward,獎勵生成這些公告消息的車輛;車輛參與生成一個區塊或者轉發公告消息時獲得獎勵,具體如下:
①智能合約計算從生成上一個區塊到生成當前區塊期間接收到的消息的總數量messall,計算車輛vi發送給智能合約的公告消息的數量計算車輛vi發送的消息所占的比例:
②計算生成一個區塊的期間所有車輛貢獻的計算力powerall,計算車輛vi貢獻的計算力計算車輛vi所占計算力的比例:
③計算每個車輛vi應獲得獎勵:
智能合約將對每個車輛的獎勵消息Messreward記錄到下一個區塊中;
2)整個系統有一個處罰合約用于處理車輛和組織發送虛假消息,處罰消息只能由處罰合約生成,具體如下:
①當車輛或者組織發送虛假消息時,其它車輛檢測到虛假消息時生成一個預處罰消息
多個車輛或者組織對這個預處罰消息簽名生成聚合簽名并將這個預處罰消息簽名簽名者短期公鑰和短期公鑰的簽名發送給處罰合約;
②處罰合約檢查聚合簽名和短期公鑰簽名是否合法,簽名合法時則對該處罰消息簽名生成簽名:
生成處罰消息:
Messpunish={原公告消息Messanno,當前時間戳,signpun}
將Messpunish發送給所有省的智能合約;
所述步驟7具體包括:
1)TMA根據一個消息追蹤發送該消息的真實車輛,具體如下:
①TMA將需要追蹤的消息發送給追蹤組織;
②每個追蹤組織使用自己的私鑰分片對消息的簽名中的計算承諾:
③TMA將多個追蹤組織的承諾合并,計算出會話標識:
其中是拉格朗日系數,TMA根據會話標識ξv查出對應的車輛真實公鑰和真實身份信息;
2)TMA根據車輛的真實公鑰查詢車輛發送的歷史消息,具體如下:
①TMA根據車輛的信息查詢車輛的真實公鑰將公鑰發送給追蹤組織;
②追蹤組織在區塊鏈中查詢與真實公鑰對應的會話標識ξv,每個追蹤組織使用自己的私鑰分片計算承諾:
③TMA將多個追蹤組織的承諾合并,計算出簽名標識:
其中,TMA根據簽名標識在區塊鏈中查出對應的簽名與消息。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華東師范大學,未經華東師范大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810501301.0/1.html,轉載請聲明來源鉆瓜專利網。





