V2X消息簽名和驗籤流程——應用層安全

1.簡介
爲了保證V2X消息的來源可靠性(authenticity)和完整性(integrity),發送方在發送V2X消息時需要對消息進行簽名,當然用於對消息簽名的證書是合法的,這也是前提,具體涉及到PKI(Public key infrastructure)系統,這裏不做詳談。接收方接收到V2X消息後首先需要對證書進行驗證,進一步利用證書上的公鑰對V2X消息的簽名進行驗證,以保證V2X消息的可靠性和完整性。

2.V2X消息簽名流程
發送方在發送V2X消息時需要對消息進行簽名,簽名流程如下圖。在 ITS_SignData 接口函數中,V2X消息(Tbs Data)、簽名者信息和簽名算法(SM2, ECDSA等)傳遞給數據處理實體,首先對簽名者消息進行編碼,然後對編碼值進行哈希計算,得到簽名者信息的摘要,然後需要把V2X信息和headerInfo進行整合,headerInfo 主要包括PSID, 消息生成時間、地點等,具體的細節可在上一篇中國C-V2X SPDU格式解讀文章查看。對整合後的消息tbs data進行編碼、摘要計算,對tbs data的摘要和證書的摘要進行整合,利用簽名者私鑰(secure storage 安全儲存)對整合值進行簽名計算,得到簽名值。對tbs data、簽名者信息和簽名進行整合、得到Secured Message, 經過編碼以及序列化後通過OBU/RSU發送。

V2X消息簽名流程圖
3.V2X消息驗籤流程
OBU/RSU 接收到V2X消息後需要對消息進行簽名驗證,簽名驗證流程如下圖。在 ITS_VerifySignedData 接口函數中,首先對接收到的Secured Message 進行解碼,獲取簽名者信息、tbs data以及簽名,然後驗證證書是否有效,消息是否爲自籤、證書是否包含簽名者公鑰以及V2X消息是否有效,任何一項fail,都會丟棄此消息。如果此前項都驗證通過,下一步開始對簽名者消息進行編碼摘要計算(圖中摘要未寫出),得到簽名者摘要,進一步進行tbs data摘要值計算,對兩個摘要值進行整合,利用證書上的公鑰和摘要值對簽名進行驗籤,返回簽名驗證結果。

V2X消息驗籤流程圖
4.總結
本文對V2X應用層安全進行了簡單的解讀,主要參考了GB/T 37374-2019 智能交通 數字證書應用接口規範文檔。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章