無源汽車防盜系統(tǒng)設(shè)計與安全性的考慮事項
系統(tǒng)安全性考慮事項 – 攻擊及防范對策
目前有一個普遍的誤解,即誤以為汽車防盜系統(tǒng)的安全性取決于加密算法的強度。雖然加密算法的強度是很重要,但其本身并不能決定整個系統(tǒng)的抗攻擊能力。防盜系統(tǒng)中的每一個接口、算法、協(xié)議、邏輯和物理特性,均影響著系統(tǒng)的總體安全性,都應(yīng)該予以研究與增強,以提高系統(tǒng)的抗攻擊性。
算法安全性及防范對策
如前所述,加密算法必須擁有唯一及不可預(yù)測的特性。以AES為例,算法的詳細工作原理對公眾是完全公開的,因此,它已經(jīng)過了研究領(lǐng)域的嚴格評測。這是迄今最好的防范對策。到目前為止,科學(xué)研究已確認該算法的強度,而且經(jīng)得起超過10年的時間考驗。然而,在私密算法的情況下,研究領(lǐng)域不可能進行科學(xué)分析,這些算法的強度究竟如何是不可知的。事實上,其中許多算法都無法經(jīng)受得起時間的考驗,而且近年來它們的缺點也暴露了出來。
協(xié)議安全性及防范對策
在使用單向驗證的系統(tǒng)中,對協(xié)議層的攻擊一般是采用“掃描式”或“字典式”方法。在“掃描式”攻擊中,攻擊者從汽車端接收到一個“詢問”(challenge),再返回一個隨機值作為應(yīng)答。如果協(xié)議包含56位應(yīng)答,則比特位安全性為256,即獲得一個正確的“詢問-應(yīng)答”配對需要256次嘗試。為了防止這類攻擊,可以考慮采用以下措施:
提高應(yīng)答的位長度 (bit length),以增加復(fù)雜性
讓汽車嵌入的連續(xù)性失敗嘗試之間的時限指數(shù)級增長
在一定次數(shù)的連續(xù)性嘗試失敗之后,讓汽車拒絕嘗試
在“字典式”攻擊中,攻擊者通過與收發(fā)器直接通信來收集正確的詢問 (從攻擊者) 應(yīng)答 (從密鑰卡) 配對。這些“詢問-應(yīng)答”配對被放在查找表或“字典”中,供以后參考。配備了這種字典后,攻擊者就觸發(fā)汽車發(fā)出詢問,然后在字典中搜索相應(yīng)的正確應(yīng)答。若協(xié)議包含100位應(yīng)答,則需要251次嘗試即獲得一個正確的詢問-應(yīng)答對。“生日悖論” (Birthday paradox) 表明在2n/2 個記錄的“詢問-應(yīng)答”配對和2n/2 次嘗試之后,獲得正確結(jié)果的概率為0.5。由此可知,這種攻擊的總體復(fù)雜性為2n/2+1 = 251。這種情況下應(yīng)該考慮的防范對策為:
提高詢問的位長度,以增加復(fù)雜性
采用雙向驗證協(xié)議
物理/邏輯安全性及防范對策
近年來,攻擊手段日趨復(fù)雜先進。“邊信道”攻擊,比如簡單功耗分析 (SPA) 和差分功耗分析 (DPA) 及其它“入侵式”攻擊,已被成功用來提取密鑰卡的密鑰。這些所謂的邊信道攻擊測量和評估加密設(shè)備的耗電量,再結(jié)合純文本密碼文本方面的知識,即可提取出一個其它的密鑰。這些方法的基本理論相當復(fù)雜,超出了本文的范圍。防御上述邊信道攻擊的最強有力措施包括:
時鐘頻率和運行隨機化
數(shù)字控制和加密工作交錯進行
“入侵式”攻擊著眼于硅芯片上與加密相關(guān)的電路的物理實現(xiàn)方案。只要在設(shè)計流程初期即考慮到防范對策,最佳防御手段的實現(xiàn)相當簡單。下面是可以考慮使用的一些步驟實例:
存儲塊的金屬屏蔽
采用非標準綜合庫
加密期間搶奪所用關(guān)鍵數(shù)字元素的位置
若發(fā)生嘗試入侵情況,限制存儲器訪問和自動芯片擦除功能
系統(tǒng)性能的考慮事項
耗電量
系統(tǒng)性能涉及不同的方面。其一是密鑰卡的功耗,這個參數(shù)直接關(guān)系到可獲得的密鑰卡與車載基站之間的通信距離。汽車制造商和領(lǐng)先供應(yīng)商往往強調(diào)耦合因子的重要性,將之視為一項關(guān)鍵參數(shù)。然而,它描述的主要是密鑰卡天線和車載基站天線之間的機械尺寸的關(guān)系。該參數(shù)只對給定系統(tǒng)配置有效,并取決于天線的電感、Q因子、驅(qū)動電流、讀取器靈敏度,以及點火鎖芯材料。有鑒于此,單獨用該參數(shù)來比較不同系統(tǒng)的性能是不夠的。其實,除耦合因子之外,同樣重要的還有耗電量,尤其是考慮到密鑰卡在無源無電池的環(huán)境中工作,能量需從磁場采集,并存儲在很小的電容中,因此耗電量十分受限。通過選擇超低功耗的系統(tǒng)組件,與能夠利用均衡軟件進行編程的微控制器 (盡可能讓微控制器進入睡眠模式),工程師就能夠克服前面提到的需要高耦合因子來補償密鑰卡的大電流這一系統(tǒng)缺陷。
驗證響應(yīng)時間
防盜系統(tǒng)中的另一個重要因子是從轉(zhuǎn)動插入門鎖的密鑰卡到引擎啟動所需的時間。這個時間應(yīng)該足夠短到讓駕駛員感覺不到延時。根據(jù)系統(tǒng)的機械和電氣設(shè)計,以及一個人插入和轉(zhuǎn)動鑰匙的速度情況,該時間預(yù)算一般應(yīng)該在300ms 到 500ms之間。這個預(yù)算中相當大一部分被消耗在機械和車身控制模塊的開銷上;而剩下的100ms到 200ms則用于驗證過程。在速度和安全性方面,一個不錯的折衷方法是采用詢問位長度為100位,應(yīng)答長度為56位的雙向驗證。在大多數(shù)系統(tǒng)中,這會把應(yīng)答時間降至100ms以下。
錯誤處理
為防止驗證因任何原因失敗,現(xiàn)在的系統(tǒng)需要完整的驗證周期才能重新從頭啟動,且在一定時間內(nèi)最多只允許3次重試。愛特梅爾的重試策略稍有不同,它可以使系統(tǒng)從通信錯誤中更快地恢復(fù)過來。所有命令和可選數(shù)據(jù)都采用循環(huán)冗余碼校驗 (CRC) 來保護。密鑰卡和基站都利用CRC來檢測錯誤,并把這些狀態(tài)信令給各自的通信伙伴,這就使基站可以選擇重復(fù)信息的數(shù)量、最后行為、最后應(yīng)答或最后命令。這種特性可實現(xiàn)更快的通信恢復(fù),而且在相同的時間內(nèi)允許更多次的通信恢復(fù)嘗試 (5-7次重試,而不只是3次)
總結(jié)
通過選擇能夠滿足汽車市場的安全性和性能目標,并且支持高度可配置的開源防盜器軟件堆棧的系統(tǒng)組件,可以大大簡化開發(fā)一個穩(wěn)健汽車防盜系統(tǒng)的任務(wù)。作為汽車準入解決方案的領(lǐng)導(dǎo)廠商,愛特梅爾擁有一個包含硬件和軟件的完善系統(tǒng)解決方案。
密鑰卡設(shè)計可采用 ATA5580 及 ATA5795 來實現(xiàn)。這兩個器件都包含有一個LF前端、一個執(zhí)行快速高效加密計算的AES硬件模塊,以及一個針對超低耗電量進行了優(yōu)化的AVR微控制器。它們還均包含可編程閃存,可用于運行愛特梅爾的開放式防盜器協(xié)議或其它客戶專用軟件,并能夠使防盜器完全無源工作。
車載基站可采用愛特梅爾 ATA5272 實現(xiàn)。該器件集成了 LF 基站功能和一個帶 8K 可編程閃存的 AVR 微控制器。
除了這些器件之外,愛特梅爾還向用戶免費提供開放式防盜器協(xié)議軟件,能夠提供前所未有最高的用戶可配置性 (包括許多可實現(xiàn)系統(tǒng)參數(shù)權(quán)衡的動態(tài)評估的用戶可選功能),并加速開發(fā)和優(yōu)化進程:
帶上行鏈路和下行鏈路波特率、位編碼和調(diào)制深度的邏輯層
帶詢問和應(yīng)答位長度、單向或雙向驗證、數(shù)據(jù)字段CRC、兩個密鑰、私密或公開Key Learn的協(xié)議層
AES加密時鐘速度 “在線” 從125 kHz 到 4 MHz 的加密層
評論