国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

支持AES加密的LIN協議Bootloader參考設計

發布時間:2017-1-16 11:32    發布者:看門狗
關鍵詞: AES加密 , Bootloader , LIN
作者:孫濤,曹學余,王鈺博

面對日益嚴峻的安全挑戰,為了確保數據在傳輸和存儲過程中的安全性,汽車生產廠商以及模塊供應商需要能夠將應用程序加密和解密從而提升傳輸過程中的安全性。本文著重討論一種將SREC文件進行加密和解密并且能過通過LIN總線下載到目標ECU的方案,該方案同時支持從應用程序進行跳轉的握手協議的定制。

現如今,汽車上集成了越來越多的電子控制單元(ECU),一輛高端轎車上可能就集成有多達300個電子控制單元,它們分別完成空調、車燈以及引擎等模塊的控制。

這些電子控制單元通過以太網、CAN或者LIN等總線進行連接,汽車生產廠商在研發、生產以及售后維護等階段都需要將新的應用程序下載到ECU中,相比通過調試端口進行下載,CAN、LIN等總線提供了這樣一種比較容易接入的通訊接口,使得下載更新應用程序更為便捷。

面對日益嚴峻的安全挑戰,為了確保數據在傳輸和存儲過程中的安全性,汽車生產廠商以及模塊供應商需要能夠將應用程序加密和解密從而提升傳輸過程中的安全性。本文著重討論一種將SREC文件進行加密和解密并且能過通過LIN總線下載到目標ECU的方案,該方案同時支持從應用程序進行跳轉的握手協議的定制。

AES 加密解密算法

AES算法也被稱為Rijndael算法,是由NIST(美國國家標準技術研究所)于2001年發布的電子數據加密規范。

AES算法采用128位的明文分組,密鑰長度支持128,192和256位。AES算法目前被世界范圍內廣泛使用以代替在1977年發布DES算法,AES算法是對稱算法,也就是說加密和解密數據的過程使用同樣的密鑰。

AES算法加密過程可以劃分為以下四個步驟:

        密鑰擴展(Key Expansions)。
        初始輪(Initial Round),其中包含了AddRoundKey步驟。
        重復輪(Rounds),其中每一輪包括SubBytes, ShiftRows, MixColumns和AddRoundKey步驟。

SubBytes步驟


如圖1所示,該步驟根據原矩陣中的字節,將查找表(S-box)中對應的字節替換原字節。


ShiftRows步驟

如圖2所示,該步驟將原矩陣的第二、第三以及第四行字節分別向左平移一個、兩個和三個字節,得到新的矩陣。

MixColumns步驟


如圖3所示,該步驟將固定矩陣與原矩陣相乘,得到新的矩陣。


AddRoundKey步驟

如圖4所示,該步驟將原矩陣與輪密鑰進行位異或操作,得到新的矩陣。

最終輪(Final Round),其中包含了SubBytes, ShiftRows以及AddRoundKey步驟,但不包含MixColumns步驟。

AES算法解密過程可以理解為將上述加密過程逆向進行,其中SubBytes, ShiftRows, MixColumns和AddRoundKey步驟都替換為其逆變換。

LIN Bootloader參考設計

SREC文件的加密


根據用戶輸入的的密鑰或者選擇使用系統密鑰,AES加密引擎使用用戶密鑰將輸入的SREC進行加密生成加密的SREC文件,與此同時加密引擎使用系統密鑰將用戶密鑰進行加密生成加密的密鑰文件。在此過程中,系統密鑰對于用戶來說是不可見的,如圖5灰色部分所示。也就是說,如果SREC文件是用系統密鑰加密的,用戶無法解密該文件得到原始的SREC文件。3


圖5:SREC文件加密流程。

SREC文件的解密

如果希望解密SREC文件,用戶必須要知道用于加密的密鑰,也就是說該SREC文件不能是用系統密鑰加密的,否則就無法解密得到原始的SREC文件。AES解密引擎使用用戶密鑰將SREC解密生成解密的SREC文件。在Bootloader下載過程中,AES解密引擎會使用系統密鑰對密鑰文件進行解密得到實際的密鑰,這一密鑰將會被用于解密SREC文件。在此過程中,系統密鑰和解密的密鑰對于用戶來說是不可見的,如圖6所示。


圖6:SREC文件的解密流程。

Bootloader流程

初始化過程包括通道、波特率、模式等配置。根據是否配置了自定義通訊協議,如果沒有配置自定義通訊協議,默認ECU已經處于Bootloader模式因而無需從應用程序跳轉,直接進入應用程序下載部分。如果配置了自定義通訊協議,上位機則會依次發送最多三個自定義數據幀,握手成功后ECU從應用程序跳轉到Bootloader進入應用程序下載部分。

在ECU進入Bootloader模式之后,上位機如果檢測到SREC文件沒有被加密則開始建立跟ECU的Bootloader握手連接。如果檢測到SREC文件被加密,上位機首先解密密鑰文件得到原始密鑰,然后使用該原始密鑰解密SREC文件得到原始SREC文件,之后開始建立跟ECU的Bootloader握手連接。握手成功之后,上位機會依次發送SREC文件的一行,直到整個SREC文件發送結束。

Bootloader下載完成之后,ECU跳轉到應用程序執行,整個流程如圖7所示。


圖7:Bootloader流程圖。

上位機界面

加密過程需要輸入原始的SREC文件,在圖8所示界面輸入密鑰或者使用默認的系統密鑰,加密之后用戶會得到加密的SREC文件以及加密的密鑰文件。



如果希望解密SREC文件,用戶需要在圖9所示界面輸入SREC文件以及密鑰,解密之后用戶會得到原始的SREC文件。

應用程序跳轉協議定制

如圖10所示,用戶可以根據需要定制應用程序跳轉協議,通過使能三條LIN數據幀,用戶可以對數據幀的ID段、數據段等部分進行配置。



圖11所示為應用程序主界面,在該界面上用戶可以完成LIN的基本配置,包括通道的初始化,全局幀列表的配置,接收幀濾波的配置,當前發送幀的ID、方向、長度等配置等。以及LIN Bootloader相關配置,包括密鑰文件輸入,SREC文件輸入等。在完成LIN的基本配置以及Bootloader相關配置之后,用戶就可以啟動Bootloader了。
總結

本文介紹了一種支持AES加密的LIN協議Bootloader參考設計,其中包含了AES加密引擎將SREC文件以及密鑰加密,AES解密引擎將SREC文件已經密鑰解密,Bootloader上位機升級ECU的流程設計,以及Bootloader界面設計。通過采用支持AES加密的LIN協議Bootloader,汽車生產廠商以及模塊供應商可以使得整個SREC文件的傳輸過程更為安全,從而更好的保護相關的知識產權。
本文地址:http://m.qingdxww.cn/thread-184553-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲欧美精品一中文字幕| 伊人久久精品AV一区二区| 久久无码人妻中文国产| 青柠在线观看视频在线高清| 午夜DJ国产精华日本无码| 欧美一级鲁丝片免费看| 亚洲天天综合网| 日本大学生免费一级一片| 性欧美极品xxxx欧美一区二区| 天堂网免费| 深夜福利网站| 亚洲视频在线a视频| 宝贝好紧好爽再搔一点试視頻 | 午夜免费视频| 亚洲精品乱码蜜桃久久久| 99热免费精品店| 久久久精品成人免费看 | 亚洲天堂图片| 久久久久亚洲日日精品| 欧美一区二区三区大片| 网红毛片| 五月婷婷丁香综合| 五月色婷婷网在线观看| 中文字幕在线观看亚洲视频| 精品九九视频| 亚洲乱码AV久久久久久久| 一本久道久久综合婷婷| 日本免费色| 中文在线最新版天堂bt| 一个人的bd高清在线观看视频| 国产AV电影区二区三区曰曰骚网| 欧美最新色p图| 欧美激情精品久久久久久大尺度 | 日日干干| 四虎影院最新网站| 最新怡红院全部视频在线| 老师的丝袜脚| 最新色导航| 五月天丁香久久| 中文字幕一二三四区| 在线精品小视频|