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

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

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

網(wǎng)絡(luò)安全開(kāi)發(fā)測(cè)試 | CANoe解密車載TLS通信

北匯信息POLELINK ? 2022-11-22 10:20 ? 次閱讀

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

車內(nèi)外通信中的下列應(yīng)用層協(xié)議在安全通信時(shí)會(huì)采用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)

9dfed3a4-6857-11ed-b116-dac502259ad0.png

圖1:OSI參考模型

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

>

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

>

模擬客戶端參與TLS通信;

>

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

>

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

9e0c5e7a-6857-11ed-b116-dac502259ad0.png

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

9e34ade4-6857-11ed-b116-dac502259ad0.png

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

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

9e3e9aac-6857-11ed-b116-dac502259ad0.png

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

01/

CANoe基于主密碼解密TLS通信的機(jī)制概述

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

02/

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

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

1.

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

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

9e73a71a-6857-11ed-b116-dac502259ad0.png

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

>

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

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

9e984778-6857-11ed-b116-dac502259ad0.png

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

03/

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

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

9ee316cc-6857-11ed-b116-dac502259ad0.png

圖6:CAPL代碼示例

04/

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

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

1.

新建Security Profile(圖7)

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

9f00ecf6-6857-11ed-b116-dac502259ad0.png

圖7:新建Security Profile

2.

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

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

9f1f8f30-6857-11ed-b116-dac502259ad0.png

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

3.

Security Configuration配置

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

9f34196e-6857-11ed-b116-dac502259ad0.png

圖9:Security Configuration配置

05/

通過(guò)UDP報(bào)文傳輸主密碼解密TLS通信

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

9fb72502-6857-11ed-b116-dac502259ad0.png

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

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

9fd6f5f8-6857-11ed-b116-dac502259ad0.png

表1:NSSKeyLogMasterSecret格式示例

06/

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

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

1.

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

2.

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

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

9fe47a16-6857-11ed-b116-dac502259ad0.png

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

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

    關(guān)注

    18

    文章

    5929

    瀏覽量

    135718
  • 網(wǎng)絡(luò)安全
    +關(guān)注

    關(guān)注

    10

    文章

    3088

    瀏覽量

    59476
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    恒訊科技分析:IPSec與SSL/TLS相比,安全性如何?

    IPSec和SSL/TLS都是用于保護(hù)網(wǎng)絡(luò)通信安全的協(xié)議,但它們?cè)趯?shí)現(xiàn)方式、安全性側(cè)重點(diǎn)、兼容性以及使用場(chǎng)景上存在一些顯著的區(qū)別。1、安全
    的頭像 發(fā)表于 10-23 15:08 ?117次閱讀
    恒訊科技分析:IPSec與SSL/<b class='flag-5'>TLS</b>相比,<b class='flag-5'>安全</b>性如何?

    網(wǎng)絡(luò)安全技術(shù)商CrowdStrike與英偉達(dá)合作

    Falcon網(wǎng)絡(luò)安全平臺(tái)幫助開(kāi)發(fā)人員安全地利用開(kāi)源基礎(chǔ)模型,加速人工智能的創(chuàng)新。同時(shí)雙方還將開(kāi)發(fā)針對(duì)特定行業(yè)的定制化網(wǎng)絡(luò)安全解決方案。 業(yè)
    的頭像 發(fā)表于 08-28 16:30 ?1143次閱讀

    格陸博科技榮獲ISO/SAE 21434《道路車輛-網(wǎng)絡(luò)安全開(kāi)發(fā)流程認(rèn)證》

    近日,格陸博科技正式獲得國(guó)際知名第三方認(rèn)證機(jī)構(gòu)TüV NORD(杭州漢德質(zhì)量認(rèn)證服務(wù)有限公司)授予ISO/SAE 21434《道路車輛-網(wǎng)絡(luò)安全開(kāi)發(fā)流程認(rèn)證》,標(biāo)志著格陸博科技現(xiàn)有
    的頭像 發(fā)表于 08-15 11:25 ?483次閱讀

    AUTOSAR平臺(tái)中的信息安全標(biāo)準(zhǔn)模塊

    目前,經(jīng)緯恒潤(rùn)已為國(guó)內(nèi)多家客戶提供汽車網(wǎng)絡(luò)安全開(kāi)發(fā)測(cè)試服務(wù),打造車聯(lián)網(wǎng)可信安全平臺(tái),為智能網(wǎng)聯(lián)汽車安行之路保駕護(hù)航!
    的頭像 發(fā)表于 06-17 10:59 ?390次閱讀
    AUTOSAR平臺(tái)中的信息<b class='flag-5'>安全</b>標(biāo)準(zhǔn)模塊

    經(jīng)緯恒潤(rùn)助力微宏動(dòng)力榮獲ISO/SAE 21434網(wǎng)絡(luò)安全流程認(rèn)證證書(shū)

    近日,經(jīng)緯恒潤(rùn)與微宏動(dòng)力合作的網(wǎng)絡(luò)安全開(kāi)發(fā)及認(rèn)證項(xiàng)目順利完成了階段性里程碑。作為一家全球化的新能源及儲(chǔ)電技術(shù)產(chǎn)品及解決方案供應(yīng)商,微宏動(dòng)力成功獲得了由國(guó)際獨(dú)立第三方檢測(cè)、檢驗(yàn)和認(rèn)證機(jī)構(gòu)
    的頭像 發(fā)表于 06-14 08:00 ?301次閱讀
    經(jīng)緯恒潤(rùn)助力微宏動(dòng)力榮獲ISO/SAE 21434<b class='flag-5'>網(wǎng)絡(luò)安全</b>流程認(rèn)證證書(shū)

    是德科技與ETAS攜手提升車載網(wǎng)絡(luò)安全

    近日,全球領(lǐng)先的測(cè)試與測(cè)量解決方案提供商是德科技與汽車軟件專家ETAS達(dá)成戰(zhàn)略合作,共同為汽車制造商和供應(yīng)商打造了一款綜合的車載網(wǎng)絡(luò)安全解決方案。這一合作旨在確保汽車在行駛過(guò)程中的安全
    的頭像 發(fā)表于 05-15 10:59 ?592次閱讀

    是德科技與ETAS攜手提供了一個(gè)綜合車載網(wǎng)絡(luò)安全解決方案

    ETAS 模糊測(cè)試軟件“ESCRYPT CycurFUZZ”嵌入是德科技車載網(wǎng)絡(luò)安全測(cè)試平臺(tái)
    的頭像 發(fā)表于 05-14 16:27 ?419次閱讀

    揭秘!家用路由器如何保障你的網(wǎng)絡(luò)安全

    家用路由器保障網(wǎng)絡(luò)安全需選知名品牌和型號(hào),設(shè)置復(fù)雜密碼并開(kāi)啟防火墻,定期更新固件,使用安全協(xié)議,合理規(guī)劃網(wǎng)絡(luò)布局,及時(shí)發(fā)現(xiàn)并處理異常。提高家庭成員網(wǎng)絡(luò)安全意識(shí)共同維護(hù)
    的頭像 發(fā)表于 05-10 10:50 ?478次閱讀

    車載網(wǎng)絡(luò)協(xié)議與串?dāng)_問(wèn)題

    通信解決方案。車載通信網(wǎng)絡(luò)中使用了很多成束的電纜,易產(chǎn)生串?dāng)_。自動(dòng)駕駛汽車是汽車行業(yè)的未來(lái)。為了實(shí)現(xiàn)網(wǎng)絡(luò)安全連接,汽車行業(yè)使用以太網(wǎng)網(wǎng)絡(luò)
    的頭像 發(fā)表于 03-05 08:14 ?1167次閱讀
    <b class='flag-5'>車載</b><b class='flag-5'>網(wǎng)絡(luò)</b>協(xié)議與串?dāng)_問(wèn)題

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

    傳輸層安全協(xié)議(TLS)是一種加密通信協(xié)議,用于確保在網(wǎng)絡(luò)上的數(shù)據(jù)傳輸過(guò)程中的安全性和隱私保護(hù)。TLS
    發(fā)表于 02-28 10:26 ?1885次閱讀
    <b class='flag-5'>TLS</b>協(xié)議基本原理與Wireshark分析

    Microchip通過(guò)ISO/SAE 21434汽車網(wǎng)絡(luò)安全標(biāo)準(zhǔn)

    隨著汽車行業(yè)日益依賴無(wú)線和車載網(wǎng)絡(luò)連接,網(wǎng)絡(luò)安全問(wèn)題日益凸顯。為確保道路車輛網(wǎng)絡(luò)安全風(fēng)險(xiǎn)得到有效管理,國(guó)際標(biāo)準(zhǔn)化組織(ISO)與國(guó)際汽車工程師學(xué)會(huì)(SAE)聯(lián)合制定了ISO/SAE 2
    的頭像 發(fā)表于 02-19 17:29 ?878次閱讀

    CanoE和TC3x7應(yīng)用套件之間建立通信,如何實(shí)現(xiàn)通過(guò)串行通信CanoE收到的數(shù)據(jù)幀?

    我想在 CanoE 和 TC3x7 應(yīng)用套件之間建立通信。 我希望開(kāi)發(fā)板打印它通過(guò)串行通信CanoE 收到的數(shù)據(jù)幀。 我該怎么做? 我是
    發(fā)表于 01-31 06:36

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

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

    網(wǎng)絡(luò)安全測(cè)試工具有哪些類型

    網(wǎng)絡(luò)安全測(cè)試工具是指用于評(píng)估和檢測(cè)系統(tǒng)、網(wǎng)絡(luò)和應(yīng)用程序的安全性的一類軟件工具。這些工具可以幫助組織和企業(yè)發(fā)現(xiàn)潛在的安全漏洞和威脅,以便及時(shí)采
    的頭像 發(fā)表于 12-25 15:00 ?1106次閱讀

    Python與CANoe/CANoe4SW

    Python作為功能強(qiáng)大的編程語(yǔ)言,在智能汽車研發(fā)和測(cè)試中應(yīng)用廣泛,如數(shù)據(jù)處理、測(cè)試自動(dòng)化、測(cè)試腳本開(kāi)發(fā),甚至直接將Python應(yīng)用運(yùn)行在車輛上。C
    的頭像 發(fā)表于 11-16 08:25 ?1816次閱讀
    Python與<b class='flag-5'>CANoe</b>/<b class='flag-5'>CANoe</b>4SW