0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

車內(nèi)外通信中采用TLS/DTLS加密通信

Vector維克多 ? 來源:Vector維克多 ? 作者:Vector維克多 ? 2022-11-08 15:37 ? 次閱讀

應(yīng)用層數(shù)據(jù)可以通過傳輸控制協(xié)議(TCP)在基于IP的網(wǎng)絡(luò)上進(jìn)行可靠交換,但是TCP無法保證數(shù)據(jù)傳輸?shù)目煽啃?,?yīng)用數(shù)據(jù)的機密性及完整性。因此,實際應(yīng)用中可以在TCP之上使用TLS(Transport Layer Security)建立服務(wù)器和客戶端之間的安全通信(圖1),從而保證數(shù)據(jù)的安全傳輸。

車內(nèi)外通信中的下列應(yīng)用層協(xié)議在安全通信時會采用TLS/DTLS加密通信:

>

DoIP (Diagnostic communication over Internet Protocol)

>

SOME/IP (Scalable service-Oriented MiddlewarE over IP)

>

MQTT (Message Queuing Telemetry Transport)

>

HTTPS (Hypertext Transfer Protocol Secure)

>

SCC (Smart Charging Communication)

73e495e6-5e79-11ed-a3b6-dac502259ad0.png

圖1:OSI參考模型

隨著TLS在載數(shù)據(jù)通信過程中的廣泛應(yīng)用,給OEM和零部件供應(yīng)商的開發(fā)測試工程師在開發(fā)測試分析過程中需要面臨TLS服務(wù)器和客戶端之間加密通信的考驗。毫無疑問,作為車載產(chǎn)品開發(fā)驗證平臺的核心工具CANoe需要支撐從單板調(diào)試到實車驗證中涉及TLS安全通信應(yīng)用的仿真與回放分析工作:

>

模擬TLS服務(wù)器通信;

>

模擬客戶端參與TLS通信;

>

在線解密正在監(jiān)聽的真實服務(wù)器和客戶端之間的TLS通信(圖2.1);

>

離線回放過程中解密記錄文件中存儲的TLS數(shù)據(jù)(圖2.2)。

73ff181c-5e79-11ed-a3b6-dac502259ad0.png

圖2.1:CANoe解密TLS通信場景(離線)

742b1c0a-5e79-11ed-a3b6-dac502259ad0.png

圖2.2:CANoe解密TLS通信場景(在線)

CANoe在線監(jiān)聽或離線回放TLS通信的過程中,接收的是加密的TLS應(yīng)用數(shù)據(jù),需要經(jīng)過解密才能得到原始消息,圖3為TLS一組相同數(shù)據(jù)在Trace窗口中解密前后的對比。解密前Trace窗口只有密文信息,解密后Trace窗口才能以系統(tǒng)變量的形式顯示原始消息。如果Observer支持原始消息所屬的應(yīng)用層協(xié)議(如DoIP協(xié)議),Trace窗口中還會包含原始消息基于DoIP層面的解析。要完成解密的過程,需要在CANoe中進(jìn)行一系列配置,本文圍繞TLS Observer中最常用的解密方式“基于主密碼解密”就具體配置做說明。首先概述CANoe基于主密碼解密TLS通信的機制,其次介紹解密工程的環(huán)境設(shè)置,最后分別對不同的主密碼配置方式進(jìn)行說明。

744ebaa2-5e79-11ed-a3b6-dac502259ad0.png

圖3:TLS數(shù)據(jù)解密前后對比

01/

CANoe基于主密碼解密TLS通信的機制概述

CANoe.Ethernet工程會自動生成名為“_Security::TLSMasterSecret”的系統(tǒng)變量,用于存儲TLS會話的客戶端隨機數(shù)(Client Random,32Bytes)和主密碼(Master Secret,48Bytes)。待解密的TLS數(shù)據(jù)可能包含多個TLS會話,每個TLS會話都有唯一的主密碼。當(dāng)解密時,CANoe首先根據(jù)客戶端隨機數(shù)識別正確的TLS會話,然后基于主密碼生成的密鑰素材解密TLS應(yīng)用數(shù)據(jù),因此正確配置主密碼和客戶端隨機數(shù)是解密TLS通信的關(guān)鍵。

02/

解密工程環(huán)境設(shè)置

CANoe支持多種配置主密碼的方式,如通過CAPL/Security Manager/UDP報文配置主密碼或從CANoe參與通信的TLS記錄文件中讀取主密碼。無論采用何種方式,都需要首先完成工程環(huán)境設(shè)置。

1.

激活TLS應(yīng)用數(shù)據(jù)的觀測變量(圖4)

點擊CANoe->Options->General->File Locations->Location of application data的Open按鈕,打開文件夾中的can.ini文件,配置can.ini文件中的參數(shù)EnableTlsAppDataSv=1。

74775eee-5e79-11ed-a3b6-dac502259ad0.png

圖4:激活TLS應(yīng)用數(shù)據(jù)的觀測變量

>

配置TLS/DTLS通信的端口號(圖5)

檢查CANoe Option->Bus System->Protocol Identification是否對用于TLS/DTLS通信的Port進(jìn)行正確定義,避免Trace中可能出現(xiàn)無法解析TLS協(xié)議的情況,影響解密TLS通信的功能。

74a7807e-5e79-11ed-a3b6-dac502259ad0.png

圖5:TLS/DTLS通信端口設(shè)置

03/

基于CAPL配置主密碼解密TLS通信

基于CAPL配置主密碼具有較高的靈活性,支持離線回放或在線監(jiān)聽TLS數(shù)據(jù)時解密通信。當(dāng)離線回放TLS通信時,一般主密碼是用戶提供的靜態(tài)數(shù)值,該值可以直接通過CAPL編程賦值給系統(tǒng)變量“_Security::TLSMasterSecret”,賦值代碼如圖6。當(dāng)在線監(jiān)聽TLS數(shù)據(jù)時,主密碼是由真實服務(wù)器或客戶端提供的動態(tài)數(shù)值,首先通過診斷、CAN報文或者其他接口傳給CANoe,然后基于CAPL編程賦值給系統(tǒng)變量“_Security::TLSMasterSecret”。

74e67af4-5e79-11ed-a3b6-dac502259ad0.png

圖6:CAPL代碼示例

04/

基于Security Manager配置主密碼解密TLS通信

為了實現(xiàn)在離線回放過程中解密TLS通信,除了可通過CAPL編程配置主密碼之外,還可以在CANoe->Tools->Security Manager中手動輸入主密碼。具體流程如下:

1.新建Security Profile(圖7)

選中File based PKI,點擊Add添加Security Profile,可按照需求自定義Profile名稱,如TLS Observer Profile。

750fe682-5e79-11ed-a3b6-dac502259ad0.png

圖7:新建Security Profile

2.設(shè)置參數(shù)(圖8)

在新建的TLS Observer Profile主配置界面上選中TLS Observer,點擊Add打開參數(shù)設(shè)置對話框,選擇參數(shù)類型為Master Secret并填寫Random Bytes和Master Secret。

756e4d62-5e79-11ed-a3b6-dac502259ad0.png

圖8:Master Secret|參數(shù)設(shè)置

3.Security Configuration配置

打開CANoe->Simulation->Security Configuration,在TLS Observer選項卡處關(guān)聯(lián)新建的Profile,如圖9。

75916dd8-5e79-11ed-a3b6-dac502259ad0.png

圖9:Security Configuration配置

05/

通過UDP報文傳輸主密碼解密TLS通信

為了實現(xiàn)在線監(jiān)聽TLS數(shù)據(jù)過程中解密通信,除了基于CAPL配置主密碼外,還可由通信參與者通過UDP報文傳入主密碼。如果真實服務(wù)器或客戶端在完成TLS握手之后,支持從加密堆棧中讀取主密碼,并通過UDP報文發(fā)送出來,就可以配置CANoe接收該UDP報文,獲取主密碼數(shù)值,解密正在監(jiān)聽的TLS通信。與手動輸入主密碼配置過程類似,通過UDP報文傳輸主密碼也需要基于Security Manager配置,區(qū)別在于參數(shù)設(shè)置部分,參數(shù)類型需選擇Master Secret Source并配置UDP通信雙方的IP和Port(圖10)。

75ae286a-5e79-11ed-a3b6-dac502259ad0.png

圖10:Master Secret Source|參數(shù)配置

注:此種方式要求Master Secret以NSS Key Log的格式封裝到UDP報文中。NSS Key Log的格式以及示例見表1。

76046b6c-5e79-11ed-a3b6-dac502259ad0.png

表1:NSSKeyLogMasterSecret格式示例

06/

離線回放CANoe參與通信的TLS記錄文件

CANoe參與TLS通信時,經(jīng)過TLS握手階段,可以自動計算出主密碼并將該值存儲到系統(tǒng)變量“_Security::TLSMasterSecret”中。TLS數(shù)據(jù)可通過CANoe Logging功能進(jìn)行記錄,需將記錄文件格式設(shè)置為BLF/ASC/MF4。這些格式的文件不僅可以保存通信數(shù)據(jù),還可以保存系統(tǒng)變量(包括_Security::TLSMasterSecret)。后期離線回放時,CANoe可以從記錄文件中讀取主密碼來解密TLS應(yīng)用數(shù)據(jù)。

1.在CANoe 15/16中回放,只需將工程切換為Offline模式,添加記錄文件,點擊回放按鈕,CANoe即可在回放過程中解密TLS應(yīng)用數(shù)據(jù);

2.在CANoe 14中回放,還需在Security Configuration配置中關(guān)聯(lián)Security Profile。

上述就CANoe基于主密碼解密TLS通信的過程及多種主密碼的配置方式:如CAPL、Security Manager、UDP報文以及記錄文件等。不同主密碼配置方式的總結(jié)描述以及對CANoe版本要求見圖11。CANoe為各種網(wǎng)絡(luò)安全通信提供基礎(chǔ)平臺技術(shù),使得開發(fā)和測試各階段更好驗證系統(tǒng)通信和功能,點擊原文了解更多CANoe對Security的支持。

76234d98-5e79-11ed-a3b6-dac502259ad0.png

圖11:主密碼配置方式及版本要求

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    8869

    瀏覽量

    84966
  • TCP
    TCP
    +關(guān)注

    關(guān)注

    8

    文章

    1337

    瀏覽量

    78871

原文標(biāo)題:網(wǎng)絡(luò)安全開發(fā)測試 | CANoe解密車載TLS通信

文章出處:【微信號:VectorChina,微信公眾號:Vector維克多】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    模擬無線通信中采用的信號調(diào)制方法

    無線通信是現(xiàn)代通信技術(shù)的重要組成部分,它通過無線電波將信息從發(fā)送端傳輸?shù)浇邮斩?。在無線通信中,信號調(diào)制是將信息信號轉(zhuǎn)換為適合在無線信道中傳輸?shù)男问降倪^程。信號調(diào)制方法的選擇對于通信系統(tǒng)
    的頭像 發(fā)表于 08-25 15:56 ?364次閱讀

    光放大器在光通信中的應(yīng)用

    光放大器在光通信中的應(yīng)用極為廣泛且重要,它作為光纖通信系統(tǒng)中的關(guān)鍵組件,對光信號進(jìn)行放大,從而延長了光信號的傳輸距離,提高了傳輸質(zhì)量,為現(xiàn)代通信網(wǎng)絡(luò)的構(gòu)建提供了強有力的支持。以下將詳細(xì)探討光放大器在光
    的頭像 發(fā)表于 08-09 11:30 ?482次閱讀

    低軌星地移動通信中的相控陣技術(shù)

    低軌星地移動通信中的相控陣技術(shù)
    發(fā)表于 07-23 12:33 ?0次下載

    在各種異步通信中什么速度最快

    在各種異步通信中,速度最快的是光纖通信。光纖通信是一種利用光纖傳輸光信號的通信方式,具有傳輸速度快、帶寬大、抗干擾性強等優(yōu)點。 一、光纖通信
    的頭像 發(fā)表于 07-23 09:24 ?425次閱讀

    差分信號在串口通信中的應(yīng)用

    差分信號和串口通信之間存在著密切的關(guān)系,它們都是現(xiàn)代通信系統(tǒng)中不可或缺的重要組成部分。以下將從差分信號的定義、特性及其在串口通信中的應(yīng)用等方面進(jìn)行詳細(xì)闡述。
    的頭像 發(fā)表于 07-22 18:06 ?992次閱讀

    什么是TLS加密?TLS加密的功能特點

    TLS(Transport Layer Security)是一種用于在網(wǎng)絡(luò)通信中提供安全性的標(biāo)準(zhǔn)協(xié)議,旨在保障客戶端(如web瀏覽器、移動應(yīng)用程序等)與服務(wù)器(如web服務(wù)器、API服務(wù)器等)之間
    的頭像 發(fā)表于 04-03 13:49 ?538次閱讀

    無線通信中如何排查電磁波干擾?

    無線通信中如何排查電磁波干擾?
    發(fā)表于 03-07 07:18

    串行通信中的異步、同步與并行通信機制解析

    串行通信,這是一種數(shù)據(jù)傳輸方式,其中數(shù)據(jù)是按一位一位的順序傳送的。在串行通信中,只需要少數(shù)幾條線就可以在系統(tǒng)間交換信息,因此它特別適用于計算機與計算機、計算機與外設(shè)之間的遠(yuǎn)距離通信。
    的頭像 發(fā)表于 03-05 16:44 ?2066次閱讀
    串行<b class='flag-5'>通信中</b>的異步、同步與并行<b class='flag-5'>通信</b>機制解析

    TLS協(xié)議基本原理與Wireshark分析

    傳輸層安全協(xié)議(TLS)是一種加密通信協(xié)議,用于確保在網(wǎng)絡(luò)上的數(shù)據(jù)傳輸過程中的安全性和隱私保護(hù)。TLS的前身是安全套接層協(xié)議(SSL),后來在標(biāo)準(zhǔn)化過程中發(fā)展成為
    發(fā)表于 02-28 10:26 ?1882次閱讀
    <b class='flag-5'>TLS</b>協(xié)議基本原理與Wireshark分析

    請問如何在CAN通信中接收RTR請求?

    如何在 CAN 通信中接收 RTR 請求?
    發(fā)表于 01-18 07:40

    5g通信中天線設(shè)計及電波傳播特性

    5G通信中的天線設(shè)計和電波傳播特性是一個廣泛而復(fù)雜的話題。在本文中,我們將詳細(xì)討論5G通信中的天線設(shè)計和電波傳播特性,探討其在提高通信性能和擴展網(wǎng)絡(luò)覆蓋范圍方面的作用。 一、5G通信中
    的頭像 發(fā)表于 01-09 16:37 ?930次閱讀

    雅特力AT32 MCU基于mbed TLS的HTTPS服務(wù)器

    HTTPS概述HTTPS的安全性是基于TransportLayerSecurity(TLS),TLS是一種網(wǎng)絡(luò)加密通信的方式,作為SecureSocketsLayer(SSL)的接續(xù)協(xié)
    的頭像 發(fā)表于 01-06 08:14 ?485次閱讀
    雅特力AT32 MCU基于mbed <b class='flag-5'>TLS</b>的HTTPS服務(wù)器

    無線通信中物理層包含哪些內(nèi)容

    本文梳理在無線通信中,物理層通常會包含哪些內(nèi)容,以及如何落地實現(xiàn)。
    的頭像 發(fā)表于 11-20 10:08 ?1619次閱讀
    無線<b class='flag-5'>通信中</b>物理層包含哪些內(nèi)容

    LORA通信中怎么區(qū)分多個設(shè)備?

    LORA通信中怎么區(qū)分多個設(shè)備
    發(fā)表于 11-02 07:07

    SPI口同步串行通信中的“同步”指的是什么?

    SPI口,同步串行通信中的“同步”指的是什么?
    發(fā)表于 10-28 08:12