国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于預(yù)共享密鑰的車載CANFD總線通信系統(tǒng)及方法與流程

      文檔序號:12739395閱讀:402來源:國知局
      基于預(yù)共享密鑰的車載CAN FD總線通信系統(tǒng)及方法與流程

      本發(fā)明涉及一種基CAN FD總線通信系統(tǒng)及方法,尤其是涉及一種基于預(yù)共享密鑰的車載CAN FD總線通信系統(tǒng)及方法。



      背景技術(shù):

      隨著汽車電子化程度的不斷提高,許多和安全相關(guān)的功能需要借助電子單元來完成,比如主動剎車、自適應(yīng)巡航、遠程啟動等。兩位黑客在2013年黑客大會上介紹了如何攻擊豐田普銳斯和福特翼虎的控制系統(tǒng),以實現(xiàn)高速行駛時突然制動、使車輛剎車失靈、猛打方向盤等一系列操作過程,奇虎360公司于2014年7月稱發(fā)現(xiàn)特斯拉應(yīng)用程序存在安全漏洞,黑客可借此遠程控制車輛,操控開鎖、鳴笛、閃燈、開啟天窗等。2015年兩位信息安全研究員通過入侵克萊斯勒切諾基的車載娛樂系統(tǒng)取得了車輛的控制權(quán),威脅到了汽車的行駛安全。

      目前車內(nèi)ECU(電子控制單元)之間大多采用基于信號的總線通訊方式,一般并不對通訊信息進行加密,報文為明文傳輸。在無線網(wǎng)絡(luò)、3G、4G網(wǎng)絡(luò)引入汽車后,汽車有了對外的信息接口,這個接口一般通過車載娛樂系統(tǒng)作為網(wǎng)關(guān)完成。這就意味著,一旦車載網(wǎng)關(guān)被黑客攻破,汽車就非常危險,黑客可以通過汽車總線收發(fā)報文,從而操縱汽車或是修改汽車的配置。新型CAN FD總線相比傳統(tǒng)CAN網(wǎng)絡(luò)有著更高的速率和數(shù)據(jù)容量,為使用密碼技術(shù)提供了空間。



      技術(shù)實現(xiàn)要素:

      本發(fā)明的目的就是為了克服上述現(xiàn)有技術(shù)存在的缺陷而提供一種基于預(yù)共享密鑰的車載CAN FD總線通信系統(tǒng)及方法。

      本發(fā)明的目的可以通過以下技術(shù)方案來實現(xiàn):

      一種基于預(yù)共享密鑰的車載CAN FD總線通信系統(tǒng),該系統(tǒng)包括多個ECU和主管理節(jié)點控制器,所述的主管理節(jié)點控制器和ECU分別連接至CAN FD通信總線形成總線結(jié)構(gòu),所述的ECU內(nèi)分別存儲有彼此相互獨立的預(yù)共享密鑰,所述的主管理節(jié)點控制器中存儲所有ECU對應(yīng)的預(yù)共享密鑰;

      系統(tǒng)啟動時,主管理節(jié)點控制器和ECU分別采用對應(yīng)的預(yù)共享密鑰進行安全啟動檢查、時鐘同步和會話密鑰分配,進而后續(xù)ECU通過分配的會話密鑰進行會話。

      所述的預(yù)共享密鑰和會話密鑰均包括用于數(shù)據(jù)加密的加密密鑰和用于MAC認證的簽注密鑰。

      一種基于預(yù)共享密鑰的車載CAN FD總線通信方法,該方法包括如下步驟:

      (1)系統(tǒng)啟動,主管理節(jié)點控制器對每個ECU分別進行安全啟動檢查,若安全啟動完成則執(zhí)行步驟(2);

      (2)主管理節(jié)點控制器作將自身作為基準時鐘,通過多幀問答方式對各ECU進行時鐘同步,同步完成后執(zhí)行步驟(3);

      (3)主管理節(jié)點控制器對各ECU隨機分配會話密鑰,分配成功后執(zhí)行步驟(4);

      (4)各ECU通過分配的會話密鑰進行會話;

      在上述步驟(1)~(3)中主管理節(jié)點控制器和ECU之間分別通過對應(yīng)的預(yù)共享密鑰進行數(shù)據(jù)通信過程中的加密和MAC認證。

      步驟(1)~(4)中主管理節(jié)點控制器和ECU之間采用CAN FD安全報文,所述的CAN FD安全報文包括64個字節(jié)的數(shù)據(jù)場,所述的數(shù)據(jù)場第一字節(jié)設(shè)置為安全級別標識,進而根據(jù)不同的安全級別標識將CAN FD安全報文劃分為不同的安全等級。

      CAN FD安全報文包括3安全等級,分別為等級0、等級1和等級2;

      當CAN FD安全報文安全等級為等級0時,CAN FD安全報文64個字節(jié)的數(shù)據(jù)場依次配置為:1個字節(jié)的安全級別標識和63字節(jié)的明文數(shù)據(jù);

      當CAN FD安全報文安全等級為等級1時,CAN FD安全報文64個字節(jié)的數(shù)據(jù)場依次配置為:1個字節(jié)的安全級別標識、48字節(jié)的明文數(shù)據(jù)和15字節(jié)的MAC校驗場數(shù)據(jù);

      當CAN FD安全報文安全等級為等級2時,CAN FD安全報文64個字節(jié)的數(shù)據(jù)場依次配置為:1個字節(jié)的安全級別標識、48字節(jié)的密文數(shù)據(jù)和15字節(jié)的MAC校驗場數(shù)據(jù)。

      步驟(1)對于任一ECU進行安全啟動檢查具體為:

      (1a)主管理節(jié)點控制器生成隨機數(shù)r,主管理節(jié)點控制器將包括隨機數(shù)r的明文數(shù)據(jù)以及MAC校驗值的報文發(fā)送至ECU;

      (1b)ECU對接收的第一報文進行MAC驗證,驗證成功后向ECU將隨機數(shù)r的明文通過預(yù)共享密鑰進行加密和MAC認證,發(fā)回主管理節(jié)點控制器;

      (1c)主管理節(jié)點控制器對ECU發(fā)來的數(shù)據(jù)通過主管理節(jié)點控制器中存儲的對應(yīng)的預(yù)共享密鑰進行解密,如果隨機數(shù)解密值和步驟(1a)中主管理節(jié)點控制器最初發(fā)送的隨機數(shù)r一致且MAC有效,安全啟動完成。

      步驟(2)對任一ECU進行時鐘同步具體為:

      (2a)主管理節(jié)點控制器通過預(yù)共享密鑰向ECU發(fā)起時鐘同步請求,時鐘同步請求中包含主管理節(jié)點控制器生成的隨機數(shù)R1;

      (2b)ECU驗證時鐘同步請求,驗證通過后ECU生成隨機數(shù)R2附在R1后發(fā)給主管理節(jié)點控制器;

      (2c)主管理節(jié)點控制器進行消息驗證,驗證通過后,主管理節(jié)點控制器發(fā)送包含隨機數(shù)R1、隨機數(shù)R2和當前時間T1的報文給ECU;

      (2d)ECU接收到主管理節(jié)點控制器發(fā)送的報文,記錄主管理節(jié)點控制器發(fā)送的當前時間T1以及本地接收時間T2;

      (2e)ECU發(fā)送包含隨機數(shù)R1、隨機數(shù)R2和本地時間T3的報文給主管理節(jié)點控制器;

      (2f)主管理節(jié)點控制器接收ECU發(fā)送的報文并將本地接收時間T4并發(fā)回給ECU;

      (2g)ECU接收到主管理節(jié)點控制器發(fā)送的本地接收時間T4后根據(jù)T1、T2、T3和T4按照IEEE 1588時間同步原理進行時鐘同步更新,ECU將更新后的時間發(fā)送至主管理節(jié)點控制器,結(jié)束時鐘同步;

      上述過程中主管理節(jié)點控制器和ECU通信過程中報文采用第2安全等級的CAN FD安全報文,CAN FD安全報文64個字節(jié)的數(shù)據(jù)場依次配置為:1個字節(jié)的安全級別標識、48字節(jié)的密文數(shù)據(jù)和15字節(jié)的MAC校驗場數(shù)據(jù),所述的密文數(shù)據(jù)通過預(yù)共享密鑰中的加密秘鑰進行加密,MAC校驗場數(shù)據(jù)通過預(yù)共享密鑰中的簽注秘鑰對密文數(shù)據(jù)進行認證生成。

      步驟(3)對任一ECU進行分配會話密鑰具體為:

      (3a)主管理節(jié)點控制器生成會話密鑰和隨機數(shù)R1,所述的會話密鑰包括會話加密密鑰和會話簽注密鑰;

      (3b)主管理節(jié)點控制器向ECU發(fā)送會話密鑰更新請求,該請求包括生成的隨機數(shù)R1;

      (3c)ECU在接到請求后進行驗證,如果通過,ECU生成隨機數(shù)R2并和R1一并發(fā)送給主管理節(jié)點控制器;

      (3d)主管理節(jié)點控制器依次通過預(yù)共享密鑰發(fā)送會話加密密鑰和會話簽注密鑰給ECU,如果ECU接受對應(yīng)的會話加密密鑰和會話簽注密鑰并成功載入,則返回對應(yīng)的會話加密密鑰或會話簽注密鑰的MAC給主管理節(jié)點控制器;

      上述過程中主管理節(jié)點控制器和ECU通信過程中報文采用第2安全等級的CAN FD安全報文,CAN FD安全報文64個字節(jié)的數(shù)據(jù)場依次配置為:1個字節(jié)的安全級別標識、48字節(jié)的密文數(shù)據(jù)和15字節(jié)的MAC校驗場數(shù)據(jù),所述的密文數(shù)據(jù)通過預(yù)共享密鑰中的加密秘鑰進行加密,MAC校驗場數(shù)據(jù)通過預(yù)共享密鑰中的簽注秘鑰對密文數(shù)據(jù)進行認證生成。

      與現(xiàn)有技術(shù)相比,本發(fā)明具有如下優(yōu)點:

      (1)本發(fā)明設(shè)置主管理節(jié)點控制器和多個ECU,并在對應(yīng)的ECU內(nèi)設(shè)置獨立的預(yù)共享密鑰,同時在主管理節(jié)點控制器內(nèi)存儲每個ECU對應(yīng)的預(yù)共享密鑰,在汽車每次啟動時進行安全啟動檢查、時鐘同步和會話密鑰分配,最后ECU通過分配的會話密鑰進行安全會話,保證通信安全性;

      (2)本發(fā)明通信過程的報文采用CAN FD報文,通過設(shè)置安全級別標識,進而根據(jù)不同的安全級別標識將CAN FD安全報文劃分為不同的安全等級,能夠根據(jù)報文安全級別合理利用報文空間達到安全性和通信效率的平衡,可以針對不同安全應(yīng)用場景,實現(xiàn)最高效的利用總線帶寬;

      (3)本發(fā)明CAN FD報文使接入總線的攻擊者無法偽造報文,獲取加密前的明文信息,并可以檢測出攻擊者對報文的篡改;

      (4)本發(fā)明方法簡單,便于對現(xiàn)有的CAN通訊協(xié)議進行改造,使其具備抵抗信息安全攻擊的能力。

      附圖說明

      圖1為本發(fā)明基于預(yù)共享密鑰的車載CAN FD總線通信系統(tǒng)的結(jié)構(gòu)框圖;

      圖2為本發(fā)明基于預(yù)共享密鑰的車載CAN FD總線通信方法的流程框圖;

      圖3為本發(fā)明CAN FD安全報文的組成結(jié)構(gòu)圖;

      圖4為本發(fā)明安全啟動檢查的具體流程圖;

      圖5為本發(fā)明時鐘同步的具體流程圖;

      圖6為本發(fā)明分配會話密鑰的具體流程圖。

      圖中,1為主管理節(jié)點控制器,2為ECU,3為預(yù)共享密鑰。

      具體實施方式

      下面結(jié)合附圖和具體實施例對本發(fā)明進行詳細說明。

      實施例

      如圖1所示,一種基于預(yù)共享密鑰的車載CAN FD總線通信系統(tǒng),該系統(tǒng)包括主管理節(jié)點控制器1和多個ECU2,所述的主管理節(jié)點控制器1和ECU2分別連接至CAN FD通信總線形成總線結(jié)構(gòu),所述的ECU2內(nèi)分別存儲有彼此相互獨立的預(yù)共享密鑰3,所述的主管理節(jié)點控制器1中存儲所有ECU2對應(yīng)的預(yù)共享密鑰3,本實施例中,ECU2設(shè)置5個,進而對應(yīng)的預(yù)共享密鑰3為K1、K2……K5;系統(tǒng)啟動時,主管理節(jié)點控制器1和ECU2分別采用對應(yīng)的預(yù)共享密鑰3進行安全啟動檢查、時鐘同步和會話密鑰分配,進而后續(xù)ECU2通過分配的會話密鑰進行會話。所述的預(yù)共享密鑰3和會話密鑰均包括用于數(shù)據(jù)加密的加密密鑰和用于MAC認證的簽注密鑰。

      如圖2所示,一種基于預(yù)共享密鑰3的車載CAN FD總線通信方法,該方法包括如下步驟:

      S1:系統(tǒng)啟動,主管理節(jié)點控制器1對每個ECU2分別進行安全啟動檢查,若安全啟動完成則執(zhí)行步驟S2;

      S2:主管理節(jié)點控制器1作將自身作為基準時鐘,通過多幀問答方式對各ECU2進行時鐘同步,同步完成后執(zhí)行步驟S3;

      S3:主管理節(jié)點控制器1對各ECU2隨機分配會話密鑰,分配成功后執(zhí)行步驟(4);

      S4:各ECU2通過分配的會話密鑰進行會話;

      在上述步驟S1~S3中主管理節(jié)點控制器1和ECU2之間分別通過對應(yīng)的預(yù)共享密鑰3進行數(shù)據(jù)通信過程中的加密和MAC認證。

      步驟S1~S4中主管理節(jié)點控制器1和ECU2之間采用CAN FD安全報文,所述的CAN FD安全報文包括64個字節(jié)的數(shù)據(jù)場,所述的數(shù)據(jù)場第一字節(jié)設(shè)置為安全級別標識,進而根據(jù)不同的安全級別標識將CAN FD安全報文劃分為不同的安全等級。

      如圖3所示,CAN ID表示仲裁場,CONTROL表示控制長,后接數(shù)據(jù)場,數(shù)據(jù)場中DCC為安全級別標識,根據(jù)DCC的不同,CAN FD安全報文包括3安全等級,分別為等級0、等級1和等級2;

      當CAN FD安全報文安全等級為等級0時,DCC=0,CAN FD安全報文64個字節(jié)的數(shù)據(jù)場依次配置為:1個字節(jié)的安全級別標識和63字節(jié)的明文數(shù)據(jù);

      當CAN FD安全報文安全等級為等級1時,DCC=1,CAN FD安全報文64個字節(jié)的數(shù)據(jù)場依次配置為:1個字節(jié)的安全級別標識、48字節(jié)的明文數(shù)據(jù)和15字節(jié)的MAC校驗場數(shù)據(jù),MAC的保護范圍包括CAN ID、數(shù)據(jù)場中第1個字節(jié)和48字節(jié)的明文數(shù)據(jù);

      當CAN FD安全報文安全等級為等級2時,DCC=2,CAN FD安全報文64個字節(jié)的數(shù)據(jù)場依次配置為:1個字節(jié)的安全級別標識、48字節(jié)的密文數(shù)據(jù)和15字節(jié)的MAC校驗場數(shù)據(jù),MAC的保護范圍包括CAN ID、數(shù)據(jù)場中第1個字節(jié)和48字節(jié)的密文數(shù)據(jù)。

      數(shù)據(jù)場后接循環(huán)冗余檢查(CRC)和確認字符(ACK)。

      主流對稱加密算法如AES(FIPS 197)自標準化以來已經(jīng)被國際上廣為接受采用并經(jīng)過多年驗證,可以有效抵御針對明文的暴力破解?;贏ES的MAC算法(NIST SP800-38)可以有效檢測出對數(shù)據(jù)或MAC的篡改。

      如圖4所示,步驟S1對于任一ECU2進行安全啟動檢查具體為:

      (1a)主管理節(jié)點控制器1生成隨機數(shù)r,主管理節(jié)點控制器1將包括隨機數(shù)r的明文數(shù)據(jù)以及MAC校驗值的報文發(fā)送至ECU2;

      (1b)ECU2對接收的第一報文進行MAC驗證,驗證成功后向ECU2將隨機數(shù)r的明文通過預(yù)共享密鑰3進行加密和MAC認證,發(fā)回主管理節(jié)點控制器1;

      (1c)主管理節(jié)點控制器1對ECU2發(fā)來的數(shù)據(jù)通過主管理節(jié)點控制器1中存儲的對應(yīng)的預(yù)共享密鑰3進行解密,如果隨機數(shù)解密值和步驟(1a)中主管理節(jié)點控制器1最初發(fā)送的隨機數(shù)r一致且MAC有效,安全啟動完成。

      如圖5所示,步驟S2對任一ECU2進行時鐘同步具體為:

      (2a)主管理節(jié)點控制器1通過預(yù)共享密鑰3向ECU2發(fā)起時鐘同步請求,時鐘同步請求中包含主管理節(jié)點控制器1生成的隨機數(shù)R1;

      (2b)ECU2驗證時鐘同步請求,驗證通過后ECU2生成隨機數(shù)R2附在R1后發(fā)給主管理節(jié)點控制器1;

      (2c)主管理節(jié)點控制器1進行消息驗證,驗證通過后,主管理節(jié)點控制器1發(fā)送包含隨機數(shù)R1、隨機數(shù)R2和當前時間T1的報文給ECU2;

      (2d)ECU2接收到主管理節(jié)點控制器1發(fā)送的報文,記錄主管理節(jié)點控制器1發(fā)送的當前時間T1以及本地接收時間T2;

      (2e)ECU2發(fā)送包含隨機數(shù)R1、隨機數(shù)R2和本地時間T3的報文給主管理節(jié)點控制器1;

      (2f)主管理節(jié)點控制器1接收ECU2發(fā)送的報文并將本地接收時間T4并發(fā)回給ECU2;

      (2g)ECU2接收到主管理節(jié)點控制器1發(fā)送的本地接收時間T4后根據(jù)T1、T2、T3和T4按照IEEE 1588時間同步原理進行時鐘同步更新,ECU2將更新后的時間發(fā)送至主管理節(jié)點控制器1,結(jié)束時鐘同步;

      上述過程中主管理節(jié)點控制器1和ECU2通信過程中報文采用第2安全等級的CAN FD安全報文,CAN FD安全報文64個字節(jié)的數(shù)據(jù)場依次配置為:1個字節(jié)的安全級別標識、48字節(jié)的密文數(shù)據(jù)和15字節(jié)的MAC校驗場數(shù)據(jù),所述的密文數(shù)據(jù)通過預(yù)共享密鑰3中的加密秘鑰進行加密,MAC校驗場數(shù)據(jù)通過預(yù)共享密鑰3中的簽注秘鑰對密文數(shù)據(jù)進行認證生成。

      如圖6所示,步驟S3對任一ECU2進行分配會話密鑰具體為:

      (3a)主管理節(jié)點控制器1生成會話密鑰和隨機數(shù)R1,所述的會話密鑰包括會話加密密鑰和會話簽注密鑰;

      (3b)主管理節(jié)點控制器1向ECU2發(fā)送會話密鑰更新請求,該請求包括生成的隨機數(shù)R1;

      (3c)ECU2在接到請求后進行驗證,如果通過,ECU2生成隨機數(shù)R2并和R1一并發(fā)送給主管理節(jié)點控制器1;

      (3d)主管理節(jié)點控制器1依次通過預(yù)共享密鑰3發(fā)送會話加密密鑰和會話簽注密鑰給ECU2,如果ECU2接受對應(yīng)的會話加密密鑰和會話簽注密鑰并成功載入,則返回對應(yīng)的會話加密密鑰或會話簽注密鑰的MAC給主管理節(jié)點控制器1;

      同理,上述過程中主管理節(jié)點控制器1和ECU2通信過程中報文采用第2安全等級的CAN FD安全報文,CAN FD安全報文64個字節(jié)的數(shù)據(jù)場依次配置為:1個字節(jié)的安全級別標識、48字節(jié)的密文數(shù)據(jù)和15字節(jié)的MAC校驗場數(shù)據(jù),所述的密文數(shù)據(jù)通過預(yù)共享密鑰3中的加密秘鑰進行加密,MAC校驗場數(shù)據(jù)通過預(yù)共享密鑰3中的簽注秘鑰對密文數(shù)據(jù)進行認證生成。

      具體地,如圖6中序號1為第一條報文,其包含隨機數(shù)R1的密文數(shù)據(jù)以及MAC值,其中隨機數(shù)R1的密文數(shù)據(jù)通過通過預(yù)共享密鑰3中的加密秘鑰進行加密,MAC校驗場數(shù)據(jù)通過預(yù)共享密鑰3中的簽注秘鑰對密文數(shù)據(jù)進行認證生成,同理序號2的報文也如此。隨后,序號3的報文中包括隨機數(shù)R1、隨機數(shù)R2和應(yīng)答加密密鑰Ek的密文數(shù)據(jù),其后緊接為CAN ID、數(shù)據(jù)場中第1個字節(jié)和48密文數(shù)據(jù)的MAC值,序號4的報文為ECU2的應(yīng)答報文,其中包括隨機數(shù)R1、隨機數(shù)R2和加密密鑰Ek的MAC的密文數(shù)據(jù),隨機數(shù)R1、隨機數(shù)R2和加密密鑰Ek的MAC的密文數(shù)據(jù)組成數(shù)據(jù)場中的48字節(jié)的密文數(shù)據(jù),其后緊接為CAN ID、數(shù)據(jù)場中第1個字節(jié)和48密文數(shù)據(jù)的MAC值,同理序號5報文與序號3報文類似,序號6報文和序號4報文類似。

      系統(tǒng)上電后,主管理節(jié)點控制器1首先對子網(wǎng)內(nèi)所有ECU2進行安全啟動檢查,以確保每個ECU2都能正確使用預(yù)共享密鑰3。在所有ECU2通過檢查后,主管理節(jié)點控制器1通過時間更新協(xié)議對所有ECU2進行時間更新,實現(xiàn)時鐘同步,以保證安全通信中時間戳的準確性。在時鐘同步完成后,主管理節(jié)點控制器1對所有ECU2分配一個公共會話密鑰,該公共會話密鑰保證子網(wǎng)內(nèi)各個ECU2共享一個安全會話密鑰,可以進行安全通信。在安全啟動過程中,所有的協(xié)議都由密鑰管理員節(jié)點發(fā)起,這可以保證主管理節(jié)點控制器1對各ECU2狀態(tài)的掌控。當安全啟動流程結(jié)束后,ECU2節(jié)點仍可通過主管理節(jié)點控制器1發(fā)起時鐘同步和密鑰分配請求,以滿足安全會話的要求。

      當前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1