ZHCAEP3 November 2024 F29H850TU , F29H859TU-Q1
除了加密和解密外,安全系統(tǒng)還必須能夠確認(rèn)器件上存儲的代碼和數(shù)據(jù)資產(chǎn)的完整性。哈希算法支持這一目標(biāo),將任意長度的代碼或數(shù)據(jù)塊簡化為獨(dú)特的固定長度摘要。如果不使用密鑰,加密哈希函數(shù)始終會為同一輸入生成相同的輸出摘要,并具有幾個(gè)可確保其安全的重要屬性:
通過計(jì)算要引導(dǎo)的身份驗(yàn)證證書或存儲代碼上的哈希摘要,并將其與已知參考進(jìn)行比較,系統(tǒng)可以確認(rèn)代碼或數(shù)據(jù)自創(chuàng)建以來未被修改。安全哈希算法 (SHA) 和消息摘要 5 (MD5) 是常用哈希函數(shù)的示例。不建議使用 SHA-1 和 MD5 算法,因?yàn)橐厌槍@些函數(shù)證明了成功的沖突攻擊??梢愿挠?SHA-2 和 SHA-3 算法來提供強(qiáng)大的哈希函數(shù)。哈希摘要的長度與函數(shù)的加密強(qiáng)度有關(guān)。所有內(nèi)容都相等,較長的摘要更安全,但代價(jià)是計(jì)算時(shí)間增加。
非對稱算法可用于使用私鑰從消息創(chuàng)建數(shù)字簽名。數(shù)字簽名可用于確認(rèn)已簽名消息的完整性和真實(shí)性。但是,非對稱算法比哈希函數(shù)慢得多。因此,通過解決大量數(shù)據(jù)的計(jì)算時(shí)間問題,哈希算法與非對稱算法結(jié)合使用時(shí)效果很好。首先可以計(jì)算塊的安全散列,而不是對整個(gè)塊簽名。然后使用發(fā)送方的私鑰對生成的輸出哈希摘要進(jìn)行簽名。接收方使用發(fā)送方的公鑰反轉(zhuǎn)此過程,計(jì)算接收到的數(shù)據(jù)塊的哈希值,并根據(jù)原始哈希值對其進(jìn)行身份驗(yàn)證。此過程可確定數(shù)據(jù)的完整性和真實(shí)性,同時(shí)節(jié)省計(jì)算時(shí)間,通常稱為數(shù)字簽名。這些項(xiàng)目通常與其他重要元數(shù)據(jù)一起存儲在數(shù)字證書中,使用業(yè)界通用格式(如 X.509)。此過程對于出廠配置和固件更新至關(guān)重要,后續(xù)章節(jié)將對此進(jìn)行討論。
加密身份驗(yàn)證方案還可用于應(yīng)用本身,以實(shí)現(xiàn)運(yùn)行時(shí)安全,驗(yàn)證在器件之間傳輸?shù)臄?shù)據(jù)的完整性和真實(shí)性。使用密鑰、消息身份驗(yàn)證代碼或 MAC 通過加密算法進(jìn)行計(jì)算,然后附加到發(fā)送給接收器的消息中。然后,接收方可以使用相同的密鑰和算法根據(jù)接收的消息計(jì)算 MAC,并將其與發(fā)送方發(fā)送的消息進(jìn)行比較。如果兩個(gè)代碼匹配,則驗(yàn)證消息為真實(shí)且未更改。
兩種最常用的加密身份驗(yàn)證方案是 CMAC 和 HMAC。CMAC 表示基于密碼的消息身份驗(yàn)證代碼,基于對稱算法(如 AES)。HMAC 表示帶密鑰的哈希消息驗(yàn)證碼,使用 SHA-256 等哈希函數(shù)。在為電子控制單元(即 ECU)之間傳輸?shù)臄?shù)據(jù)采用 AUTOSAR 安全車載通信 (SecOC) 架構(gòu)的現(xiàn)代汽車系統(tǒng)中,可以找到加密消息身份驗(yàn)證的示例。SecOC 使用 CMAC 對通過車輛網(wǎng)絡(luò)(如 CAN、FlexRay 或以太網(wǎng))傳輸?shù)木W(wǎng)絡(luò)消息提供端到端保護(hù)。在 SecOC 架構(gòu)中,每個(gè)消息幀都包含一個(gè)安全標(biāo)頭和標(biāo)尾,其中包含 MAC 和其他安全元數(shù)據(jù)。每個(gè) ECU 都可以使用 MAC 來驗(yàn)證接收到的每個(gè)消息,共享密鑰可以由中央主機(jī)管理和定期分發(fā)以保持新鮮度。此類方案可用于防范汽車竊賊經(jīng)常使用的 CAN 注入等攻擊方法。