新聞中心

EEPW首頁 > 汽車電子 > 新品快遞 > 以最小的系統(tǒng)影響高效率地實施CAN的安全通信

以最小的系統(tǒng)影響高效率地實施CAN的安全通信

作者:恩智浦 時間:2018-03-19 來源:電子產(chǎn)品世界 收藏

  有效地實施通信安全是一個挑戰(zhàn),目前,基于數(shù)據(jù)有效負載的認證有各種不同方案,例如AUTOSAR?SecOC[1]。這些解決方案采用了加密的方式,這意味著需要更高的帶寬、更長的傳輸延遲和更高的處理能力,與此同時還需要管理加密密鑰本身。

本文引用地址:http://2s4d.com/article/201803/377087.htm

  新推出的安全型收發(fā)器系列提供一種非常高效的無縫解決方案,無需加密即可保障通信安全。這樣可以降低其他解決方案會面臨的系統(tǒng)影響。

  認為,只要收發(fā)器具備分布式入侵檢測和遏制方法,無需加密即可有效保障CAN通信安全[2]。另外,在發(fā)送和接收路徑中采用CAN報文標識符(ID)過濾機制,將有助于防止和遏制諸如欺騙、遠程幀篡改和泛洪拒絕服務(wù)等網(wǎng)絡(luò)攻擊。通過監(jiān)視和過濾總線上的網(wǎng)絡(luò)流量,安全型CAN收發(fā)器能夠有效遏制電子控制單元(ECU)試圖發(fā)送未授權(quán)的惡意報文的行為,從而為CAN總線提供安全保護。

  從安全角度出發(fā),人們往往會選擇使用尖端技術(shù)解決方案來防范安全威脅,比如基于加密和相關(guān)安全密鑰管理的加密報文認證碼(MAC)。各種安全微控制器也采用加密加速器來為這類最先進的解決方案提供硬件支持。但即便如此,這種解決方案對于保障CAN通信安全而言也并非始終是最有效率的。安全微控制器可用于保護多個CAN網(wǎng)絡(luò)或其他網(wǎng)絡(luò)(如以太網(wǎng)或LTE)上的端對端通信,實現(xiàn)安全啟動、認證診斷和認證固件更新。

  不過,本文將要展示的是一種更高效率的CAN總線保護解決方案,那就是安全型CAN收發(fā)器。這種解決方案無帶寬開銷,而且對于配置和生命周期管理的需求極低。通過執(zhí)行密碼檢查來驗證報文真實性,勢必會造成報文延遲、總線負載和計算能耗的增加。因此,這類解決方案可能會遭到抑制,或者造成如下折衷的結(jié)果:

  1.?只將報文認證碼(MAC)應(yīng)用于網(wǎng)絡(luò)中的一小部分CAN報文

  2.?將超出合理限制范圍的MAC和/或新鮮度值截短

  3.?可能存在無保護的寬限期[3]。

  當所選微控制器系列沒有足夠的計算能力來加解密CAN報文時,將會導(dǎo)致現(xiàn)有的電子控制單元設(shè)計無法升級。此外,整個車輛生命周期的密鑰管理也會是一個復(fù)雜的挑戰(zhàn)。最終,可能需要對整個系統(tǒng)進行從經(jīng)典CAN到CAN?FD的重新設(shè)計,以此補償引入安全處理芯片SecOC所導(dǎo)致的總線負載增加,因此這種方案并非總是切實可行的。

  提供的方案能夠在系統(tǒng)影響最低的前提下保護CAN總線,既可以為基于加密的安全解決方案增加一層保護以實現(xiàn)深度防御(DiD[1]),也可以作為獨立的解決方案使用。無論是哪種情況下,安全型CAN收發(fā)器都能夠有效提供強有力的保護并遏制黑客攻擊。

  安全型CAN收發(fā)器的安全功能

  防范發(fā)送端欺騙

  安全型CAN收發(fā)器在發(fā)送路徑中提供了一種方法來保護總線不受被破壞的電子控制單元的侵害,即根據(jù)CAN報文ID對報文進行過濾。如果電子控制單元試圖用原來未分配給它的ID發(fā)送報文,安全型CAN收發(fā)器可以拒絕向總線發(fā)送該報文,使該報文失效,并拒絕執(zhí)行后續(xù)發(fā)送。CAN報文ID的過濾對策可通過制造商可以配置的ID白名單來實現(xiàn)。例如,可以從白名單中排除ISO?14229標準針對非車載測試儀規(guī)定的統(tǒng)一診斷服務(wù)(UDS)ID。這樣做可以防止被破壞的電子控制單元通過用另一個車載電子控制單元啟動診斷會話來操縱校準值。

  防范接收端欺騙

  當接收到分配給用于發(fā)送的CAN報文ID時,一種補救保護措施就是使總線上的報文失效。這種方法意味著每個電子控制單元都可以在不法電子控制單元使用相同ID發(fā)送報文時保護自己的ID;比如,不屬于汽車OEM制造商控制范圍并因此沒有配有發(fā)送白名單的安全型CAN收發(fā)器的售后器件。任何電子控制單元在總線上發(fā)送報文時,合法電子控制單元的安全型CAN收發(fā)器都可以通過向總線寫入激活錯誤幀,主動使該報文失效。被破壞的發(fā)送方重復(fù)被騙報文16次后,暫停發(fā)送行為介入,限制被騙報文加重總線負載;然后,再重復(fù)16次以后,攻擊電子控制單元會進入總線關(guān)閉狀態(tài)。這一短暫的總線負載高峰可視為對策的負面影響。不過,只有當系統(tǒng)受到攻擊時才會采取這種措施,因此不必過于擔心。

  防篡改保護

  使CAN總線上報文失效的方法也可以用來預(yù)防篡改攻擊。安全型CAN收發(fā)器可以檢查總線上是否存在電子控制單元已經(jīng)贏得其仲裁但已經(jīng)停止在數(shù)據(jù)域中發(fā)送(因為在發(fā)送隱性位時收到顯性位)的有效報文,以及該報文是否由篡改電子控制單元完成。這是有被破壞電子控制單元介入發(fā)送的明顯標志。在電子控制單元的CAN控制器沒有報告錯誤時的被動錯誤狀態(tài)期間,這特別有價值。請注意,報文篡改將是繞過接收端欺騙防范的一種方法。

  防范泛洪攻擊

  在發(fā)送端實施時,限制電子控制單元在單位時間內(nèi)對整體總線負載,有助于防止總線遭到泛洪攻擊。為防止泛洪攻擊,可以使用漏桶機制。漏桶在報文發(fā)送時填充,并不斷清空。一旦漏桶溢出,便停止后續(xù)發(fā)送。因此,泛洪攻擊保護提高了總線的可用性,從而阻止混串音。為了使一個電子控制單元的報文猝發(fā)持續(xù)一定的時間,可以適當?shù)卦O(shè)置漏桶容量。填充漏桶時可以將低優(yōu)先級的報文排除,因為它們必將失去仲裁,不利于防止泛洪攻擊。這樣一來,診斷服務(wù)(如SW上傳/下載)等便能以高速率交換低優(yōu)先級的報文,而且不會觸發(fā)泛洪保護。

  使用這些對策防止欺騙和篡改,無需克服密碼協(xié)議和相關(guān)資產(chǎn)管理方法方面的障礙即可使發(fā)送方合法化。與最先進的解決方案相比,這種方案的破壞性比較低。此外,它還支持深度防御概念,可以使向不法電子控制單元發(fā)送被盜加密密鑰的行為失效,因為該電子控制單元無法發(fā)送它可能用被盜密鑰驗證的報文的CAN報文ID。

  最先進解決方案對系統(tǒng)的影響以及安全型CAN收發(fā)器的價值

  為了通過最先進的解決方案使報文合法化,需使用基于加密的有效載荷認證,例如使用AUTOSAR?SecOC。在原始未受保護的有效載荷中補充報文認證碼(MAC)和參數(shù),以標識報文的新鮮度。報文認證碼基于加密算法和共享密鑰進行計算。報文的新鮮度用于重播保護,它可以確保重復(fù)的有效載荷擁有不同的新報文認證碼。

  注:?經(jīng)認證的有效載荷采用普通或加密格式,但會以相同的方式處理以達到驗證目的。推薦的安全實踐要求將加密和認證分開,例如對每個操作使用不同的共享密鑰。因此,在下面的討論中,我們將有效載荷加密視為不相關(guān)的。

  對CAN網(wǎng)絡(luò)應(yīng)用基于加密的有效載荷認證解決方案時,產(chǎn)生的值可能會受到下面將討論的幾個因素影響。相關(guān)程度取決于安全設(shè)計和體系架構(gòu)——因此下述因素并非全都適用于每一位讀者的情況。

  安全通信啟動延遲

  在系統(tǒng)上電(或點火)之后,需要一定的時間來協(xié)調(diào)和調(diào)整即將到來的經(jīng)認證報文的新鮮度屬性。這段時間會造成對第一批重要報文的認證準備發(fā)生延遲。盡管有不同的方法可供使用,但通常都會涉及到相關(guān)電子控制單元之間的少量或大量有效載荷交換的協(xié)議。例如,可以就安全的時間分配或安全的單調(diào)計數(shù)器同步達成一致。另一種方法是在每次啟動時刷新共享密鑰,并使用重置的新鮮度值。但是,考慮到點火后電子控制單元的重啟周期數(shù)可能會出現(xiàn)不可預(yù)測、異步和不相等的情況,因此協(xié)議將是復(fù)雜的,比較耗費時間。不可預(yù)測性可能來自發(fā)動機啟動時潛在的功率損失,而不相等則是由于功率損失不同所導(dǎo)致。AUTOSAR定義了一個寬限期[3]來應(yīng)對這個問題,但是當關(guān)鍵報文沒有受到保護時,將導(dǎo)致點火后出現(xiàn)一段延遲(或者由于攻擊而強制重啟)。

  在稍后的穩(wěn)定時期刷新密鑰不失為一種替代方案。這樣可將復(fù)雜性轉(zhuǎn)移到單調(diào)計數(shù)器的管理上,但也可能導(dǎo)致其他問題,比如非易失性存儲器磨損或者計數(shù)器在混亂的上電狀態(tài)下失去同步。

  恩智浦的安全型CAN收發(fā)器可確??偩€上任何受保護的報文(包括最開始的報文)都是合法的。

  增加總線負載和帶寬

  如果通過增加總線負載來傳輸附加參數(shù)(如MAC和新鮮度值),則帶寬需求也會隨之增大。附加參數(shù)的大小會影響安全級別,或另一總線負載的消耗速率。NIST[4]?建議MAC至少為64位(即:8字節(jié)),這對于經(jīng)典CAN而言損失相當大。新鮮度計數(shù)器的大小決定了密鑰的刷新速率,或一些其他安全型基本計數(shù)器/新鮮度同步的速率。

   此圖顯示了帶寬開銷。它對500?kbps條件下的經(jīng)典CAN報文與11位CAN報文ID的傳輸時間進行了比較。最初的普通有效載荷在灰色區(qū)域,相應(yīng)的值對應(yīng)不同的認證參數(shù)[計數(shù)器?+?MAC](括號中的值以字節(jié)為單位)。

  以圈紅處為例:假設(shè)一個普通的經(jīng)典CAN報文的無保護報文有效載荷為16位,那么2字節(jié)的計數(shù)器和5字節(jié)的MAC用于可接受的保護,總線負載增大2.5倍。

  圖1?認證帶寬開銷

  圖中的數(shù)字僅指報文認證開銷,不包括運行管理協(xié)議刷新密鑰或新鮮度值時可能增加的總線負載。

  恩智浦的安全型CAN收發(fā)器無需傳輸任何附加位即可在經(jīng)典CAN和CAN?FD協(xié)議下正常工作。

  增加處理器負載和功能延遲

  額外的功能延遲可能來自額外的緩沖區(qū)或中斷處理以及與硬件加速器之間的通信,而不是在生成和認證期間計算MAC所導(dǎo)致。額外的處理負載會降低應(yīng)用的性能。附加位在總線上的傳輸時間也會以圖1中總線開銷的數(shù)量級增加。如圖1所示,16位無保護報文有效載荷需要172?μs,而有效載荷受保護的同一報文需要436?μs。分布式車輛功能的功能延遲和實時行為取決于當前的架構(gòu)和車輛設(shè)計。

  恩智浦的安全型CAN收發(fā)器可獨立于微控制器保護CAN通信,不會增加任何延遲。

  增加軟件復(fù)雜性

  CAN控制器負責管理TX緩沖區(qū)或TX隊列,從而使應(yīng)用從復(fù)雜的管理和中斷處理任務(wù)中脫身。在汽車應(yīng)用中,處理不同優(yōu)先級的報文是很常見的。不同的部分(如軟件線程)彼此之間并行運行。它們在CAN驅(qū)動器或CAN控制器中使用不同的TX緩沖區(qū)或TX隊列。應(yīng)用部分或線程將報文傳遞給CAN驅(qū)動程序或控制器的順序不一定對應(yīng)于報文在總線上出現(xiàn)的順序。對于使用全局新鮮度值(例如全局同步時間)的已認證報文,總線上的順序必須遵循用于計算報文認證碼的新鮮度值的順序。否則,它將被視為舊報文或者被接收器重播。等待贏得仲裁的待處理CAN報文有效載荷中已經(jīng)包含報文認證碼和新鮮度值。因此,應(yīng)用提供的任何更高優(yōu)先級的報文都將使所有待處理報文的新鮮度和相關(guān)認證失效。這意味著CAN控制器的TX緩沖區(qū)和TX隊列已經(jīng)耗盡,應(yīng)用不能再簡單地向CAN控制器發(fā)送任何報文。此外,它需要設(shè)計為重新計算在等待傳輸?shù)臒o效報文的認證,這為應(yīng)用增加了額外的處理任務(wù)并且增加了系統(tǒng)延遲。

  恩智浦的安全型CAN收發(fā)器屬于純硬件解決方案。

  需要密鑰管理

  任何基于加密的解決方案都依賴于密鑰的使用,或?qū)ΨQ或不對稱。適當?shù)拿荑€管理通常比較復(fù)雜,需要付出極大的努力,而這一點往往會被低估??紤]到用于實時通信的有效載荷認證與高性能要求,通常會采用對稱加密,即共享密鑰。系統(tǒng)的安全級別在一定程度上取決于共享密鑰的保護和特權(quán)。通過設(shè)計,密鑰應(yīng)當具備有限的專用特權(quán),以便降低密鑰本身(密鑰被盜)或使用過程中(雖以安全方式存儲但為被破壞的應(yīng)用所利用)的安全漏洞影響。在這兩種情況下,應(yīng)用都將獲得密鑰特權(quán),亦即未經(jīng)授權(quán)的訪問特權(quán)。

  每個車輛的密鑰都應(yīng)該是獨特或多樣化的,這樣即便車輛A的密鑰被盜也不能授予對任何其他類似車輛的等同功能的訪問權(quán)——這就是所謂的車隊攻擊應(yīng)變力。在制造和車輛生命周期中,需要特別考慮密鑰特權(quán)的分配以及密鑰的創(chuàng)建與分配??梢圆渴鹈總€車輛和功能的靜態(tài)多樣化密鑰,并在更換模塊期間維護用于密鑰注入的中央數(shù)據(jù)庫?;蛘?,也可以選擇為每個電子控制單元的角色分配密鑰使用擴展證書和非對稱加密證書,讓車輛動態(tài)分配或重新分配密鑰。Diffie-Hellman?(DH)協(xié)議有時會被理解為分配密鑰的標準方式,但這是不夠的。該協(xié)議可保證密鑰在兩個實體之間秘密交換,但并未指出交換密鑰的具體實體。這意味著,攻擊者也可以加入DH會話并獲取有價值的相關(guān)密鑰。后者需要通過額外的流程來驗證另一方,如不對稱證書方案。因此,用于有效載荷認證的對稱密鑰管理可以轉(zhuǎn)化為車輛內(nèi)的證書管理和動態(tài)使用。

  整個汽車生命周期的密鑰管理策略選擇是多種多樣的,但需要具體的想法和部署工作。而且,傳統(tǒng)的密鑰管理解決方案可能無法直接應(yīng)用于汽車行業(yè)。密鑰管理策略可能取決于上述其他方面的設(shè)計選擇,例如上電后的新鮮度管理。

  恩智浦的安全型CAN收發(fā)器無需加密即可高效運行——因此無需任何復(fù)雜的密鑰管理。

  結(jié)論

  基于加密的最先進解決方案

  -?需要某種形式的密鑰管理

  -?需要一種方法在啟動時處理新鮮度值以實現(xiàn)重播保護

  -?可能會造成認證準備發(fā)生延遲,即存在一個寬限期

  -?會引入傳輸延遲,用以計算報文認證碼

  -?增加總線負載以傳輸附加參數(shù)(即:MAC和新鮮度值)

  -?占用發(fā)送方和接收方應(yīng)用的處理周期,并最終

  -?可能會增加發(fā)送方應(yīng)用架構(gòu)的復(fù)雜性,以根據(jù)報文優(yōu)先級和新鮮度值對待處理的發(fā)送操作進行排序,即:新的較高優(yōu)先級報文可能由于新鮮度值重新排序而使得待處理的低優(yōu)先級報文的認證碼失效

  恩智浦提出的概念僅僅依靠安全型CAN收發(fā)器即可實現(xiàn)。該器件完全獨立于微控制器(μC)單獨運行。這意味著它具備固有的安全級別,并且是專門以將系統(tǒng)影響降至最低為前提而設(shè)計的,因此能夠克服CAN協(xié)議規(guī)范中缺少發(fā)送方身份的問題。該器件可以逐步(逐個電子控制單元)引入網(wǎng)絡(luò),不會影響其他電子控制單元,也不會影響報文延遲、總線負載或增加處理器負載。實施的欺騙保護機制可確保目標電子控制單元(即:報文接收器)接收到的受保護報文都是由預(yù)期的發(fā)送方發(fā)送。另外,總線會在點火之后立即受到保護——我們的對策不需要任何初始化(各個電子控制單元)或同步(總線上的多個電子控制單元)操作。

  這種安全型CAN收發(fā)器可以作為當今標準CAN收發(fā)器的硬件替代產(chǎn)品,無需更換電子控制單元上的主要硬件和軟件,并且不會影響其他電子控制單元的運行。因此,本文所述方案提供了一種快速、省力、非破壞性且具有高成本效益的方式來向CAN總線中引入安全性—既可以作為獨立的保護機制,也可以為其他安全解決方案增加第二道安全防線。

  參考文獻

  [1]?AUTOSAR?SecOC——模塊安全板載通信規(guī)范

  https://www.autosar.org/fileadmin/user_upload/standards/classic/4-3/AUTOSAR_SWS_SecureOnboardCommunication.pdf

  [2]?iCC?2017——網(wǎng)絡(luò)安全增強型CAN收發(fā)器(恩智浦)

  https://www.can-cia.org/fileadmin/resources/documents/conferences/2017_elend.pdf

  [3]?[ECUC_SecOC_00051]?SecOCEnableForcedPassOverride

  https://www.autosar.org/fileadmin/user_upload/standards/classic/4-3/AUTOSAR_SWS_SecureOnboardCommunication.pdf

  [4]?SP?800-38B:推薦的分組密碼操作模式:CMAC認證模式

  https://csrc.nist.gov/publications/detail/sp/800-38b/final

  [1]?DiD是一種在整個系統(tǒng)中實施多層安全對策的概念。這樣,可以在其中一種安全對策失敗或漏洞被成功利用的情況下發(fā)揮冗余的作用。通過DiD,可以為攻擊者設(shè)置多重障礙防止其攻破,從而提升整個系統(tǒng)的保護強度。



關(guān)鍵詞: CAN 恩智浦

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉