[發明專利]基于無證書聚合簽名的車聯網認證與密鑰協商方法有效
| 申請號: | 201810676184.1 | 申請日: | 2018-06-27 |
| 公開(公告)號: | CN108471351B | 公開(公告)日: | 2020-11-03 |
| 發明(設計)人: | 張文芳;雷麗婷;王小敏 | 申請(專利權)人: | 西南交通大學 |
| 主分類號: | H04L9/06 | 分類號: | H04L9/06;H04L9/08;H04L9/30;H04L9/32;H04L29/08 |
| 代理公司: | 成都博通專利事務所 51208 | 代理人: | 陳樹明 |
| 地址: | 610031 四*** | 國省代碼: | 四川;51 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 證書 聚合 簽名 聯網 認證 密鑰 協商 方法 | ||
1.一種基于無證書聚合簽名的車聯網認證與密鑰協商方法,其步驟是:
A、建立密鑰
A1、部分私鑰的生成
密鑰生成中心為車輛的車載單元選取車輛隨機數xO,并與橢圓曲線的生成元P進行基于橢圓曲線的倍點運算,得到車輛隨機數承諾XO;再將車輛隨機數承諾XO與車輛身份IDO進行哈希運算,得到的哈希值再與系統主密鑰x進行乘法運算,再將乘積值與車輛隨機數xO相加得到車輛部分私鑰sO;然后,將車輛部分私鑰sO和車輛隨機數承諾XO通過安全信道發送給車載單元;
密鑰生成中心為云服務器選取云隨機數xC、并與橢圓曲線的生成元P進行基于橢圓曲線的倍點運算,得到云隨機數承諾XC;再將云隨機數承諾XC與云服務器身份IDC進行哈希運算,得到的哈希值再與系統主密鑰x進行乘法運算,再將乘積值與云隨機數xC相加得到云服務器部分私鑰sC;然后,將云服務器部分私鑰sC和云隨機數承諾XC通過安全信道發送給云服務器;
密鑰生成中心為注冊追蹤中心選取追蹤隨機數xT,并與橢圓曲線的生成元P進行基于橢圓曲線的倍點運算,得到追蹤隨機數承諾XT;再將追蹤隨機數承諾XT與注冊追蹤中心身份IDT進行哈希運算,得到的哈希值再與系統主密鑰x進行乘法運算,再將乘積值與追蹤隨機數xC相加得到注冊追蹤中心部分私鑰sT;然后,將注冊追蹤中心部分私鑰sT和追蹤隨機數承諾XT通過安全信道發送給注冊追蹤中心;
A2、部分公鑰的生成
密鑰生成中心將車輛部分私鑰sO、云服務器部分私鑰sC和注冊追蹤中心部分私鑰sT分別與橢圓曲線的生成元P進行橢圓曲線的倍點運算,得到車輛部分公鑰PO、云服務器部分公鑰PC和注冊追蹤中心部分公鑰PT;
A3、生成完整私鑰和公鑰
車載單元將車輛隨機數承諾XO與車輛身份IDO進行哈希運算,得到的哈希值再與系統公鑰Ppub進行基于橢圓曲線的倍點運算,再將倍點值與車輛隨機數承諾XO相加得到車載單元算出的車輛部分公鑰然后車載單元將車輛部分私鑰sO與橢圓曲線的生成元P進行基于橢圓曲線的倍點運算,將倍點值與車載單元算出的車輛部分公鑰進行比較;如果不一致,進行F步操作;否則,
車載單元選取一隨機數作為車載秘密值x′O,再將車載秘密值x′O與橢圓曲線的生成元P進行基于橢圓曲線的倍點運算,生成車載秘密值承諾X′O;然后用車輛部分私鑰sO與車載秘密值x′O構建出車輛完整私鑰s′O;隨后,用車載單元算出的車輛部分公鑰與車載秘密值承諾X′O構建出車輛完整公鑰P′O;
所述的用車輛部分私鑰sO與車載秘密值x′O構建出車輛完整私鑰s′O的具體方法是:將車載秘密值承諾X′O與車輛身份IDO進行哈希運算,得到的哈希值再與車輛部分私鑰sO進行乘法運算,再將乘積值與車載秘密值x′O相加得到車輛完整私鑰s′O;
所述的用車載單元算出的車輛部分公鑰與車載秘密值承諾X′O構建出車輛完整公鑰P′O的具體方法是:將車載秘密值承諾X′O與車輛身份IDO進行哈希運算,得到的哈希值再與車載單元算出的車輛部分公鑰進行基于橢圓曲線的倍點運算,再將倍點值與車載秘密值承諾X′O相加得到車輛完整公鑰P′O;
云服務器將云隨機數承諾XC與云服務器身份IDC進行哈希運算,得到的哈希值再與系統公鑰Ppub進行基于橢圓曲線的倍點運算,再將倍點值與云隨機數承諾XC相加得到云服務器算出的云服務器部分公鑰然后云服務器將云服務器部分私鑰sC與橢圓曲線的生成元P進行基于橢圓曲線的倍點運算,將倍點值與云服務器算出的云服務器部分公鑰進行比較;如果不一致,進行F步操作;否則,
云服務器選取一隨機數作為云秘密值x′C,再將云秘密值x′C與橢圓曲線的生成元P進行基于橢圓曲線的倍點運算,生成云秘密值承諾X′C;然后用云服務器部分私鑰sC與云秘密值x′C構建出云服務器完整私鑰s′C;隨后,用云服務器算出的云服務器部分公鑰與云秘密值承諾X′C構建出云服務器完整公鑰P′C;
所述的用云服務器部分私鑰sC與云秘密值x′C構建出云服務器完整私鑰s′C的具體方法是:將云秘密值承諾X′C與云服務器身份IDC進行哈希運算,得到的哈希值再與云服務器部分私鑰sC進行乘法運算,再將乘積值與云秘密值x′C相加得到云服務器完整私鑰s′C;
所述的用云服務器算出的云服務器部分公鑰與云秘密值承諾X′C構建出云服務器完整公鑰P′C的具體方法是:將云秘密值承諾X′C與云服務器身份IDC進行哈希運算,得到的哈希值再與云服務器算出的云服務器部分公鑰進行基于橢圓曲線的倍點運算,再將倍點值與云秘密值承諾X′C相加得到云服務器完整公鑰P′C;
注冊追蹤中心將追蹤隨機數承諾XT與注冊追蹤中心身份IDT進行哈希運算,得到的哈希值再與系統公鑰Ppub進行基于橢圓曲線的倍點運算,再將倍點值與追蹤隨機數承諾XT相加得到注冊追蹤中心算出的注冊追蹤中心部分公鑰然后,注冊追蹤中心將注冊追蹤中心部分私鑰sT與橢圓曲線的生成元P進行基于橢圓曲線的倍點運算,將倍點值與注冊追蹤中心算出的注冊追蹤中心部分公鑰進行比較;如果不一致,進行F步操作;否則,
注冊追蹤中心選取一隨機數作為追蹤秘密值x′T,再將追蹤秘密值x′T與橢圓曲線的生成元P進行基于橢圓曲線的倍點運算,生成追蹤秘密值承諾X′T;然后用注冊追蹤中心部分私鑰sT與追蹤秘密值x′T構建出注冊追蹤中心完整私鑰s′T;隨后,用注冊追蹤中心算出的注冊追蹤中心部分公鑰與追蹤秘密值承諾X′T構建出注冊追蹤中心完整公鑰P′T;
所述的用注冊追蹤中心部分私鑰sT與追蹤秘密值x′T構建出注冊追蹤中心完整私鑰s′T的具體方法是:將追蹤秘密值承諾X′T與注冊追蹤中心身份IDT進行哈希運算,得到的哈希值再與注冊追蹤中心部分私鑰sT進行乘法運算,再將乘積值與追蹤秘密值x′T相加得到注冊追蹤中心完整私鑰s′T;
所述的用注冊追蹤中心算出的注冊追蹤中心部分公鑰與追蹤秘密值承諾X′T構建出注冊追蹤中心完整公鑰P′T的具體方法是:將追蹤秘密值承諾X′T與注冊追蹤中心身份IDT進行哈希運算,得到的哈希值再與注冊追蹤中心算出的注冊追蹤中心部分公鑰進行基于橢圓曲線的倍點運算,再將倍點值與追蹤秘密值承諾X′T相加得到注冊追蹤中心完整公鑰P′T;
B、注冊與授權
B1、注冊臨時身份
由車載單元隨機選取的車輛申請用隨機數rOT與車輛完整公鑰P′O進行基于橢圓曲線的倍點運算得到車輛臨時身份TID;
車載單元將車輛申請用隨機數rOT、車輛完整私鑰s′O以及注冊追蹤中心完整公鑰P′T,進行基于橢圓曲線的倍點運算,再進行哈希運算得到的二進制哈希值,作為車輛與注冊追蹤中心共享的加密密鑰KOT;隨后,車載單元用加密密鑰KOT,對由車輛真實身份IDO、車輛申請用隨機數rOT、車輛時間戳一TO1組成的消息進行加密,得到密文信息eOT;
車載單元將密文信息eOT和車輛臨時身份TID組成車輛臨時身份的注冊申請,并將該注冊申請通過路邊設施發送給注冊追蹤中心;
B2、授權頒發
注冊追蹤中心收到車載單元發送的注冊申請,找出注冊申請中的車輛臨時身份TID,再利用車輛臨時身份TID和注冊追蹤中心完整私鑰s′T,進行基于橢圓曲線的倍點運算,再進行哈希運算得到二進制哈希值,得到車輛與注冊追蹤中心共享的解密密鑰KTO;再用所述的解密密鑰KTO對注冊申請中的密文信息eOT進行解密,得到車輛真實身份IDO、車輛申請用隨機數rOT、車輛時間戳一TO1;再對車輛臨時身份TID以及車輛時間戳一TO1進行驗證,如果驗證未通過,則進行F步操作;否則,注冊追蹤中心將車輛申請用隨機數rOT和車輛的真實身份IDO,保存至臨時身份索引數據庫列表LO中;
注冊追蹤中心選取追蹤簽名隨機數rTO,并與橢圓曲線的生成元P進行基于橢圓曲線的倍點運算,得到追蹤簽名承諾RTO;再利用注冊追蹤中心完整私鑰s′O以及追蹤簽名隨機數rTO,對車輛臨時身份TID、追蹤簽名承諾RTO組成的消息,進行簽名得到車輛的簽名消息VTO;再利用加密密鑰KOT對車輛的簽名消息VTO、追蹤簽名承諾RTO、注冊追蹤中心時間戳TT組成的消息,進行加密得到授權密文信息,并將授權密文信息通過路邊設施發給車載單元;
B3、驗證授權
車載單元收到路邊設施轉發的授權密文信息,利用解密密鑰KTO,解密授權密文信息,得到車輛的簽名消息VTO、追蹤簽名承諾RTO以及注冊追蹤中心時間戳TT;車載單元對車輛的簽名消息VTO和注冊追蹤中心時間戳TT進行驗證,如果驗證未通過,則進行F步操作;
C、認證與密鑰協商
C1、申請服務
當車載單元需要云服務器提供服務時,車載單元選取一隨機數作為車輛臨時私鑰rOC,再將車輛臨時私鑰rOC、車輛完整私鑰s′O與橢圓曲線的生成元P,進行基于橢圓曲線的倍點運算得到車輛服務承諾ROC;之后,車載單元生成車輛時間戳二TO2,并由車輛臨時身份TID、追蹤簽名承諾RTO、車輛服務承諾ROC以及車輛時間戳二TO2組成車輛服務明文消息;最后,車載單元利用車輛的簽名消息VTO、車輛臨時私鑰rOC以及車輛完整私鑰s′O對車輛服務明文消息進行簽名,得到車輛服務簽名VOC;最后,將含有車輛臨時身份TID、追蹤簽名承諾RTO、車輛服務承諾ROC、車輛時間戳二TO2和車輛服務簽名VOC的認證請求信息發送給路邊設施;
C2、聚合簽名信息
路邊設施將設定時間內所有收到的認證請求信息中的車輛服務簽名VOC,進行累加運算得到聚合簽名V;然后,路邊設施將所有收到的車輛臨時身份TID、追蹤簽名承諾RTO、車輛服務承諾ROC、車輛時間戳二TO2以及聚合簽名V發送給云服務器;
C3、認證車輛身份和計算會話密鑰
云服務器對收到的車輛時間戳二TO2進行驗證,如果驗證未通過,則進行F步的操作;否則,將所有驗證通過的追蹤簽名承諾RTO進行累加運算得到累加承諾R;利用累加承諾R、注冊追蹤中心完整公鑰P′T以及所有的車輛服務承諾ROC對聚合簽名V進行驗證;如果驗證未通過,則進行F步的操作;否則,驗證通過:
云服務器選取一隨機數作為云服務器臨時私鑰rCO,將云服務器臨時私鑰rCO、云服務器完整私鑰s′C與橢圓曲線的生成元P,進行基于橢圓曲線的倍點運算得到云服務器承諾RCO;然后,利用云服務器臨時私鑰rCO、云服務器完整私鑰s′C以及車輛服務承諾ROC,進行基于橢圓曲線的倍點運算,生成云服務器算出的會話密鑰KCO;最后,利用云服務器臨時私鑰rCO、云服務器完整私鑰s′C,對車輛臨時身份TID、云服務器承諾RCO、當前生成的云服務器時間戳TC組成的消息,進行簽名得到云服務器簽名VCO;隨后將車輛臨時身份TID、云服務器承諾RCO、云服務器時間戳TC以及云服務器簽名VCO組成的云服務器認證信息,通過路邊設施發送給車載單元;
C4、驗證云服務器身份和計算會話密鑰
車載單元對收到的云服務器認證信息中的云服務器時間戳TC進行驗證,如果驗證未通過,則進行F步的操作;否則,車載單元利用云服務器完整公鑰P′C和收到的云服務器認證信息,對云服務器認證信息中的云服務器簽名VCO進行驗證,若驗證未通過,則進行F步的操作;否則,利用車輛臨時私鑰rOC、車輛完整私鑰s′O以及云服務器承諾RCO,進行基于橢圓曲線的倍點運算得到車載單元算出的會話密鑰KOC;
D、車輛獲得服務
云服務器利用云服務器算出的會話密鑰KCO對服務進行加密得到加密的私有服務消息,再將私有服務消息發送給車載單元;車載單元利用車載單元算出的會話密鑰KOC對私有服務消息進行解密,獲得私有服務;直至車輛臨時身份過期,重復B、C、D步的操作;
F、認證未通過,終止認證。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于西南交通大學,未經西南交通大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810676184.1/1.html,轉載請聲明來源鉆瓜專利網。





