上一篇我們介紹了智能汽車的電子電氣架構(gòu)和網(wǎng)絡(luò)拓?fù)洌酒饕墙榻B汽車電電子電氣架構(gòu)的信息安全問題。數(shù)字通信的安全不是一個新話題了。在消費電子網(wǎng)絡(luò)和互聯(lián)網(wǎng)上,安全問題一直以來都非常重要。為了解決安全問題,相關(guān)人員已經(jīng)開發(fā)、使用和改進(jìn)許多標(biāo)準(zhǔn)。讓我們一起來看下這些安全機(jī)制的基本原則。 信息安全具體表現(xiàn)為三個基本屬性或目標(biāo):保密性(Confidentiality)、完整性(Integrity)和可用性(Availability),(見圖1.2)。有些研究者還認(rèn)為應(yīng)加上責(zé)任和匿名性,但這些在汽車領(lǐng)域并不需要,因此在此不作討論。 圖1.2 為了能夠?qū)崿F(xiàn)上文提到的信息安全三個目標(biāo)(CIA),我們需要采取不同的過程。下文將對這些過程進(jìn)行解釋。 密碼算法通常分為對稱密鑰算法和公鑰密碼算法。下文將對這兩類算法進(jìn)行解釋,并在圖1.3中加以說明。 圖1.3 在了解了加密法和安全的基礎(chǔ)知識后,本小節(jié)對實現(xiàn)和確保這些概念的現(xiàn)有算法進(jìn)行概述。下文中對算法的優(yōu)缺點進(jìn)行了概述。從古至今,已經(jīng)開發(fā)了無數(shù)的算法。由于算法的種類太多,本文無法一一列舉。因此,只對使用最廣泛的算法簡要概述。 —數(shù)據(jù)保護(hù)標(biāo)準(zhǔn)(DES) DES是20世紀(jì)70年代為美國(USA)情報機(jī)構(gòu)開發(fā)的一種對稱密鑰算法。目前,該標(biāo)準(zhǔn)已廣泛存在于密碼軟件庫和密碼加速器的硬件中。DES使用的密鑰長度為56 Bits。這個密鑰大小存在不安全因素。因為,攻擊者可像對待現(xiàn)代計算機(jī)系統(tǒng)密碼一樣,通過蠻力分析(即測試每一個可能的密鑰)來確定一個密鑰。 —三重DES(3DES) 1998年開發(fā)的三重DES重用了DES的組成部分。是以DES為基礎(chǔ),在其主要運行方式上,是將DES算法的三個運行鏈起來,每個運行鏈都有一個獨立的56 Bits的密鑰,從而將密鑰大小增加到了168 Bits。目前認(rèn)為它是安全的。由于DES是為支持硬件而設(shè)計的,因此DES和三層DES(3DES)的軟件實現(xiàn)通常比同類算法要慢。 —高級加密標(biāo)準(zhǔn)(AES) 高級加密標(biāo)準(zhǔn)(AES)是美國國家標(biāo)準(zhǔn)與技術(shù)研究所(NIST)的標(biāo)準(zhǔn),來源于NIST舉辦的密碼算法競賽,并于2001年發(fā)布。這種加密方法是一種對稱密鑰算法,可謂是DES的繼承者。AES可以使用大小為128 Bits、192 Bits和256 Bits的密鑰。雖然除了蠻力之外,對這種加密方法的攻擊已經(jīng)出現(xiàn),但這些攻擊無法在合理的時間內(nèi)完成,以目前的計算機(jī)的運算能力來看,該算法還算是安全的。當(dāng)前,AES在許多軟件庫中都有,使用非常普遍,它還能作為專用和集成的硬件加速器使用。 —RSA RSA是一種在世界范圍內(nèi)的許多領(lǐng)域廣泛使用的公鑰算法。最早于1977年提出。這種技術(shù)是利用將一個大數(shù)分解成兩個質(zhì)數(shù)時的多種可能性來實現(xiàn)公鑰和私鑰之間的安全關(guān)系。RSA通常用于2048-4096 Bits之間的密鑰。低于1024 Bits的密鑰,一般認(rèn)為是不安全的。雖然在實際使用中,1024 Bits的密鑰還沒有被破解,但我們也不鼓勵使用這種密匙。RSA的計算復(fù)雜度較高,這也導(dǎo)致了其加密和解密時間較長(見第四章)??墒褂糜布铀倨?,但加速器與微控制器的集成不如AES的應(yīng)用范圍那么廣。 —橢圓曲線加密法(ECC) 隨著安全算法和相關(guān)協(xié)議的不斷推出,解決協(xié)議之間的可比性問題迫在眉睫。想要對算法和協(xié)議的安全性進(jìn)行評估,使其具有可比性,并非易事。在下文中,我們將對算法和全性評估進(jìn)行簡要概述。 —對稱算法 安全算法的特點是元素繁多且內(nèi)部結(jié)構(gòu)也有很大的不同,這個在比較對稱算法和公鑰算法時尤其明顯。這些算法的共同點是都需要一個秘密參數(shù),即加密密鑰。然而,密匙的結(jié)構(gòu)和功能也會有很大的不同。因此,通常僅將相同類型的算法進(jìn)行比較(例如,對稱算法與公鑰算法)。對于對稱算法,密鑰長度是算法強(qiáng)度的一個指標(biāo)。此外,在對稱算法中,由于輸入通常是以分塊方式處理的,所以塊長度是可以比較的元素。接下來,我們基于參數(shù)密匙長度和塊大小的可比性進(jìn)行簡要討論。 1)加密長度 在比較(已建立的)密碼算法時,一般假設(shè)算法本身是安全的。因此,加密消息的安全性取決于給定的參數(shù),這些參數(shù)可以是密鑰(及其長度),也可以是要加密的明文。因此,對于安全性來說比較的重點是密鑰,特別是其長度。以DES算法為例,56位的密鑰長度在系統(tǒng)安全中是最為脆弱的,因此加密消息就容易受到暴力攻擊。雖然56位的密鑰長度在進(jìn)行算法開發(fā)時仍然足夠,但現(xiàn)在的計算機(jī)處理數(shù)據(jù)的速度更快,因此只需要通過對各種組合的反復(fù)試驗(暴力)就可以找到密鑰。為了減輕這種攻擊并重新使用已開發(fā)的算法,開發(fā)了3DES,分別在三個階段使用DES和三個不同的密鑰,從而增加安全性。雖然這簡化了過程,但3DES實際上并沒有提高三倍的安全性,僅僅提高了安全性。對密鑰長度的討論也清楚地表明了安全性的變化性質(zhì)。按照摩爾定律,隨著計算能力的提高,需要更大的密鑰或新的算法來維持安全性。在計算機(jī)技術(shù)不斷提高的當(dāng)下,曾經(jīng)被認(rèn)為是安全的EDS,現(xiàn)在也不那么安全了,計算機(jī)能夠做到在短時間內(nèi)暴力破解相對較短的密鑰。 2)塊大小 比較算法時的另一個問題是底層塊大小和對塊的處理。塊是算法運行的輸入。較長的明文輸入需要剪切到塊大小,較短的輸入需要進(jìn)行填充。需要注意的是,塊大小決定了唯一密碼塊的數(shù)量。我們需要注意避免塊的重復(fù),因為它們可能使攻擊者對密鑰進(jìn)行反向工程。因此,塊大小決定了可以進(jìn)行安全加密的最大數(shù)據(jù)量。3DES使用64位的塊大小,將具有相同密鑰的可安全加密數(shù)據(jù)量限制在32 GB左右。AES則使用128位,將可安全加密的數(shù)據(jù)量提高了232。 當(dāng)使用這種基于塊的密碼加密數(shù)據(jù)時,需要注意的是,當(dāng)簡單地將明文分為塊時,相同的明文會產(chǎn)生相同的密文。這種操作模式被稱為電子代碼塊(ECB),極其不提倡此操作模式,因為它會使輸入中的模式易于識別。為避免這種情況,應(yīng)將塊進(jìn)行組合或添加隨機(jī)因素。其他模式,例如密碼塊鏈(CBC)或密碼反饋(CFB)執(zhí)行這種級聯(lián),并且需要一個安全的初始化向量(IV)作為附加輸入?;谶@些因素,在本操作中,僅使用CBC模式中的AES。 —非對稱算法 由于算法本身的工作原理,在比較非對稱算法時,單獨比較密鑰大小是不合理的。例如,RSA算法利用大數(shù)分解的困難作為安全性的基礎(chǔ)。ECC則以橢圓曲線離散對數(shù)問題(ECDLP)為基礎(chǔ)。由于這些數(shù)學(xué)問題在本質(zhì)上不同,所以比較參數(shù)(如鍵長)不成立。在加密長度相同的情況下,ECC比RSA更安全。然而,需要注意的是,這種更高的安全性在很大程度上取決于為ECC選擇的曲線,因為ECDLP可以有效地求解一些曲線。 —協(xié)議 在安全領(lǐng)域,可以用協(xié)議來完成不同的任務(wù)。這些任務(wù)包括密鑰交換、身份驗證和授權(quán)。與算法類似,協(xié)議安全性的比較也不簡單。雖然可以證明一個協(xié)議可以執(zhí)行所設(shè)想的標(biāo)準(zhǔn),但協(xié)議的安全性是基于協(xié)議核心的算法的,所以協(xié)議和非對稱算法面臨著相同的挑戰(zhàn)。除此之外,協(xié)議的概念,就像算法一樣,可以檢查缺陷。當(dāng)然,有工具可以自動進(jìn)行此類分析,例如 Scyther 。 —執(zhí)行 雖然算法和協(xié)議的比較并非易事,但是可以評估它們總體上是否提供了項目所需的安全級別,并選擇了合適的候選者。然而,每周全世界的新聞都在報道安全問題。這是因為概念可能是安全的,但它們的實現(xiàn)可能并不安全。雖然具有正確密鑰長度的AES是一種優(yōu)秀的加密算法,但執(zhí)行AES的庫可能存在后門,將密鑰發(fā)送給庫的開發(fā)人員。在這種情況下,雖然AES是安全的,但是庫本身并不安全。除了配置問題,這也是互聯(lián)網(wǎng)最常見的安全漏洞。 如果您有建議或希望發(fā)表您的文章,歡迎聯(lián)系:conni.luo@i-newcar.com。 1. 引言 1.1汽車電子/電氣(E/E)架構(gòu) 1.1.1要求 1.1.2 計算 1.1.3 當(dāng)前和未來的網(wǎng)絡(luò) 1.2 網(wǎng)絡(luò)安全 1.2.1 原理 1.2.2 過程 1.2.3 密碼學(xué)的類型 1.2.4 算法 1.2.5 安全性評估 1.3 汽車網(wǎng)絡(luò)安全 1.3.1 外部網(wǎng)絡(luò)安全 1.3.2 內(nèi)部網(wǎng)絡(luò)安全 1.3.3 設(shè)備網(wǎng)絡(luò)安全 1.3.4 標(biāo)準(zhǔn)化 1.3.5 法律情況 1.3.6 攻擊案例 1.3.7 概述 1.4 面臨的挑戰(zhàn) 1.4.1 設(shè)計時間 1.4.2 運行時間 1.5 貢獻(xiàn) 1.6 相關(guān)工作 1.6.1 汽車的威脅 1.6.2 入侵檢測、網(wǎng)絡(luò)分析與驗證 1.6.3 加密和硬件支持 1.6.4 網(wǎng)絡(luò)安全集成 1.6.5 其他領(lǐng)域 1.6.6 概述 1.7 組織架構(gòu)和書目說明 2 設(shè)計體驗 2.1 引言和概述 2.1.1概述 2.2 架構(gòu) 2.3 實施 2.3.1 中央服務(wù)器 2.3.2 中央信息屏(CIS) 2.3.3 儀表盤(IC) 2.3.4 智能電話 2.4 評估 2.4.1 性能 2.4.2 網(wǎng)絡(luò)安全 2.5 結(jié)束語 3 汽車架構(gòu)的概率安全分析 3.1 問題描述和概述 3.2 相關(guān)工作 3.3 框架 3.3.1 問題描述 3.3.2 分析流程 3.4 問題解決方法 3.4.1 模型轉(zhuǎn)換 3.4.2 部件評估 3.4.3 屬性定義 3.5 模型合成 3.6 屬性定義 3.7 模型檢查 3.8 實驗結(jié)果 3.8.1 架構(gòu)評估 3.8.2 參數(shù)探究 3.8.3 可擴(kuò)展性 3.9 結(jié)束語和今后的工作 4 輕量級認(rèn)證框架 4.1 問題描述和概述 4.1.1 挑戰(zhàn)和機(jī)遇 4.1.2 貢獻(xiàn) 4.2 相關(guān)工作 4.3 認(rèn)證和授權(quán) 4.3.1 專業(yè)術(shù)語 4.3.2 電子控制單元(ECU)認(rèn)證 4.3.3 流授權(quán) 4.4 集成 4.4.1 證書驗證 4.4.2 系統(tǒng)生命周期場景 4.4.3 系統(tǒng)設(shè)置 4.4.4 車輛服務(wù) 4.4.5 固件更新 4.5 驗證 4.6 模擬 4.6.1模型 4.6.2 實施方案 4.7評估 4.7.1 模擬器 4.7.2 LASAN 4.7.3 安全性比較 4.7.4 延時比較 4.8 結(jié)束語和今后的工作 5 FlexRay中靈活耐用的消息調(diào)度功能 5.1 問題描述和概述 5.2相關(guān)工作 5.3架構(gòu) 5.3.1 運行時間調(diào)度算法 5.3.2 多模式應(yīng)用 5.3.3 封裝式PDU 5.4 設(shè)計時間調(diào)度 5.4.1 啟發(fā)式方法 5.4.2 整數(shù)線性程序(ILP) 5.5 實驗結(jié)果 5.5.1 尺寸變化 5.5.2 延時 5.5.3 周期變化 5.5.4 計算性能 5.6 結(jié)束語和今后的工作 6. 結(jié)束語 6.1今后的工作 |
|