亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種實(shí)現(xiàn)電動(dòng)汽車信息安全的方法與流程

文檔序號(hào):11437023閱讀:419來源:國知局
一種實(shí)現(xiàn)電動(dòng)汽車信息安全的方法與流程

本發(fā)明涉及一種實(shí)現(xiàn)電動(dòng)汽車信息安全的方法,屬于新能源汽車技術(shù)領(lǐng)域。



背景技術(shù):

新能源汽車以及車聯(lián)網(wǎng)技術(shù)的普及應(yīng)用是汽車行業(yè)發(fā)展的趨勢。而電動(dòng)汽車是新能源汽車的代表,占據(jù)新能源汽車銷量的60%以上。目前車聯(lián)網(wǎng)技術(shù)的普及應(yīng)用主要體現(xiàn)在車載信息系統(tǒng)上,例如寶馬的idrvie、福特的sync、奧迪的mmi系統(tǒng)、雪鐵龍的dsconnect系統(tǒng)等。這些系統(tǒng)在車聯(lián)網(wǎng)的情況下,就很有可能成為外界攻擊車輛或者監(jiān)聽車輛信息的中間設(shè)備。一旦黑客能夠在車載信息系統(tǒng)中安裝了惡意app或者取得了車載操作系統(tǒng)的root權(quán)限,那么很有可能就能夠成功劫持汽車,造成很大的危害。而在車聯(lián)網(wǎng)的情況下,汽車作為和pc機(jī)類似的網(wǎng)絡(luò)終端,想要通過軟件或者硬件的手段完成避免攻擊的成本很高,而且?guī)缀醪豢赡軐?shí)現(xiàn),那么保障車載信息系統(tǒng)和車內(nèi)ecu通信的信息安全就變得尤為重要。

目前包括寶馬、克萊斯勒、奧迪等知名車廠生產(chǎn)的高配汽車中都安裝了較為先進(jìn)的車載信息系統(tǒng),支持通過車載信息系統(tǒng)對車窗、車門進(jìn)行控制,支持自動(dòng)泊車,但并沒有很好的保障汽車信息安全的方法,并且大部分車廠沒有意識(shí)到車聯(lián)網(wǎng)情況下汽車信息安全的重要性,很少做安全措施來保障汽車的信息安全。國內(nèi)的相關(guān)科研機(jī)構(gòu),企業(yè)也沒有行之有效的技術(shù)來保障汽車的信息安全。

汽車產(chǎn)商和科研機(jī)構(gòu)大致提供了7類技術(shù)來改善車聯(lián)網(wǎng)的信息安全,但是其中安全性最高的是聯(lián)網(wǎng)時(shí)通過ssl標(biāo)準(zhǔn)保護(hù)數(shù)據(jù)安全,通過證書來實(shí)現(xiàn)身份認(rèn)證。但是ssl源碼比較大,而且對每一輛車通過證書來驗(yàn)證目前不具備可行性。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明目的在于解決現(xiàn)有技術(shù)中的上述問題,提供一種實(shí)現(xiàn)電動(dòng)汽車信息安全的方法,在嵌入式平臺(tái)上實(shí)現(xiàn)通信雙方的身份認(rèn)證以及數(shù)據(jù)加密,資源需求小,安全性好,能夠很好的解決目前車聯(lián)網(wǎng)情況下電動(dòng)汽車的信息安全問題。

本發(fā)明為達(dá)到上述目的,所采用的技術(shù)手段是:一種實(shí)現(xiàn)電動(dòng)汽車信息安全的方法,通過電動(dòng)汽車信息安全網(wǎng)關(guān)將車載信息系統(tǒng)和車內(nèi)ecu進(jìn)行隔離,車內(nèi)ecu通過can總線和信息安全網(wǎng)關(guān)進(jìn)行通信,信息安全網(wǎng)關(guān)和車載信息系統(tǒng)通過以太網(wǎng)通信;信息安全網(wǎng)關(guān)與車載信息系統(tǒng)通信開始時(shí)要進(jìn)行身份認(rèn)證,身份認(rèn)證之后動(dòng)態(tài)協(xié)商密鑰,通信過程中利用協(xié)商到的密鑰對交互的數(shù)據(jù)進(jìn)行加/解密處理以及數(shù)據(jù)完整性校驗(yàn)。

進(jìn)一步的,所述的通過電動(dòng)汽車信息安全網(wǎng)關(guān)將車載信息系統(tǒng)與車內(nèi)ecu進(jìn)行物理上的隔離,當(dāng)車載信息系統(tǒng)與車內(nèi)ecu通信時(shí),先要對雙方進(jìn)行身份認(rèn)證,車載信息系統(tǒng)負(fù)責(zé)與車內(nèi)ecu通信,將自己的公鑰和公鑰的簽名發(fā)給信息安全網(wǎng)關(guān),信息安全網(wǎng)關(guān)對簽名進(jìn)行解密,驗(yàn)證解密后的公鑰與接收到的原公鑰是否一致,如果一致,則通過身份認(rèn)證,同樣,車載信息系統(tǒng)會(huì)對信息安全網(wǎng)關(guān)進(jìn)行身份認(rèn)證;身份認(rèn)證均通過之后,通信雙方通過已經(jīng)認(rèn)證通過的非對稱密鑰協(xié)商雙方數(shù)據(jù)通信的加密密鑰和完整性校驗(yàn)密鑰,在身份認(rèn)證過程中,會(huì)有一個(gè)會(huì)話id號(hào)的傳遞,將密鑰需與會(huì)話id號(hào)綁定;當(dāng)車內(nèi)ecu向外發(fā)送數(shù)據(jù)時(shí),信息安全網(wǎng)關(guān)通過can總線接收數(shù)據(jù),對數(shù)據(jù)進(jìn)行完整性認(rèn)證,然后通過協(xié)商好的密鑰對數(shù)據(jù)進(jìn)行加密,最后通過以太網(wǎng)接口傳給車載信息系統(tǒng);當(dāng)信息安全網(wǎng)關(guān)通過以太網(wǎng)接口接收到數(shù)據(jù)時(shí),先要對數(shù)據(jù)進(jìn)行解密,解密之后對數(shù)據(jù)進(jìn)行完整性驗(yàn)證,如果校驗(yàn)通過,那么將數(shù)據(jù)通過can總線發(fā)出去;否則丟棄數(shù)據(jù)。

進(jìn)一步的,所述的身份認(rèn)證采用帶簽名的非對稱密鑰實(shí)現(xiàn)。

更進(jìn)一步的,所述的簽名由一對非對稱密鑰來實(shí)現(xiàn),這對非對稱密鑰同時(shí)被信息安全網(wǎng)關(guān)和車載信息系統(tǒng)信任,其中私鑰用于對通信雙方的身份進(jìn)行簽名,公鑰用來驗(yàn)證通信雙方的身份被簽名過。

更進(jìn)一步的,所述身份認(rèn)證是通信雙方均需要通過一對非對稱密鑰來認(rèn)證自己身份,車載信息系統(tǒng)中負(fù)責(zé)與電動(dòng)汽車信息安全網(wǎng)關(guān)通信的任務(wù)由唯一的一對非對稱密鑰標(biāo)識(shí)。

進(jìn)一步的,所述的動(dòng)態(tài)協(xié)商的密鑰采用rsa加密算法加密。協(xié)商的密鑰包括數(shù)據(jù)加密密鑰以及數(shù)據(jù)完整性校驗(yàn)密鑰。

更進(jìn)一步的,所述的數(shù)據(jù)加密方法是3des加密算法。所述的完整性校驗(yàn)算法是hmac-md5-128算法。當(dāng)數(shù)據(jù)輸出時(shí),先對數(shù)據(jù)進(jìn)行完整性校驗(yàn)計(jì)算,將計(jì)算出的mac值添加值數(shù)據(jù)報(bào)文的頭部,然后對數(shù)據(jù)(包括頭部的mac)使用3des算法加密,加密之后添加安全層的頭部信息,然后將數(shù)據(jù)發(fā)往下一層處理。

更進(jìn)一步,所述下一層是指tcp/ip模型中的傳輸層。

進(jìn)一步的,當(dāng)接收方發(fā)現(xiàn)身份認(rèn)證錯(cuò)誤以及mac/解密錯(cuò)誤時(shí),需要向發(fā)送方發(fā)送致命錯(cuò)誤信息,并關(guān)閉連接。

本發(fā)明有益效果在于:通過通信雙方通信開始時(shí)的身份認(rèn)證以及通信過程中的數(shù)據(jù)加密以及數(shù)據(jù)完整性認(rèn)證,可以保障車載信息系統(tǒng)和車內(nèi)ecu通信的安全、可靠與保密。該方法特別適用于資源少,沒有連接pki系統(tǒng)的嵌入式平臺(tái),可以通過保障車載信息系統(tǒng)與車內(nèi)ecu通信的安全、可靠來保證電動(dòng)汽車在車聯(lián)網(wǎng)的情況下不會(huì)因?yàn)楹诳凸舳管囍鞒霈F(xiàn)生命財(cái)產(chǎn)的安全問題。

附圖說明

下面結(jié)合附圖和實(shí)施例對本發(fā)明進(jìn)一步說明。

圖1為本發(fā)明實(shí)施例提供的電動(dòng)汽車信息安全的架構(gòu)示意圖;

圖2為本發(fā)現(xiàn)實(shí)施例提供的安全層與通信協(xié)議之間的關(guān)系示意圖;

圖3為本發(fā)明實(shí)施例提供的通信雙方建立連接時(shí)的握手流程圖;

圖4為本發(fā)明實(shí)施例提供的通信過程中數(shù)據(jù)報(bào)文輸出處理流程圖;

圖5為本發(fā)明實(shí)施例提供的安全層與傳輸層之間的報(bào)文封裝結(jié)構(gòu)圖;

圖6為本發(fā)明實(shí)施例提供的通信過程中數(shù)據(jù)報(bào)文輸入處理流程圖。

具體實(shí)施方式

本發(fā)明的實(shí)現(xiàn)需要集成在一個(gè)嵌入式硬件平臺(tái),命名為電動(dòng)汽車信息安全網(wǎng)關(guān),其與車載信息系統(tǒng)和車內(nèi)ecu的關(guān)系如圖1所示。電動(dòng)汽車信息安全網(wǎng)關(guān)在軟件上移植了嵌入式操作系統(tǒng)以tcp-ip協(xié)議棧,編寫了can驅(qū)動(dòng)代碼,使得電動(dòng)汽車信息安全網(wǎng)關(guān)能夠?qū)崿F(xiàn)can通信以及以太網(wǎng)通信的功能。

如圖2所示,在應(yīng)用層和傳輸層之間實(shí)現(xiàn)安全層。安全層主要包括通信建立時(shí)的握手過程以及通信過程中的數(shù)據(jù)報(bào)傳輸過程。應(yīng)用層數(shù)據(jù)(步驟21)從應(yīng)用層發(fā)向安全層(22),在安全層處理之后發(fā)向傳輸層(23)。

如圖3所示,通信發(fā)起方(以下稱為客戶端)與通信響應(yīng)方(以下稱為服務(wù)器)通信開始時(shí),要實(shí)行握手協(xié)議。握手協(xié)議主要完成身份認(rèn)證和密鑰協(xié)商的功能。通信雙方的身份由各自的一對非對稱密鑰來標(biāo)識(shí),即客戶端由公鑰(client_pubkey)和私鑰(client_prikey)來標(biāo)識(shí),服務(wù)器由公鑰(server_pubkey)和私鑰(server_prikey)來標(biāo)識(shí)。整個(gè)通過過程存在一個(gè)雙方均信任的一對第三方非對稱密鑰(trust_public_key和trust_private_key),任何由trust_private_key簽名的其他非對稱密鑰均值得信任,通信系統(tǒng)中所有節(jié)點(diǎn)均擁有trust_public_key。

首先客戶端向服務(wù)器發(fā)送client_hello(步驟31),包含的主要報(bào)文內(nèi)容是一個(gè)隨機(jī)數(shù)random_c、一個(gè)會(huì)話id、用客戶端私鑰作用于隨機(jī)數(shù)產(chǎn)生的簽名(client_prikey(random_c))、用第三方私鑰作用于客戶端公鑰產(chǎn)生的簽名(trust_private_key(client_pubkey)。服務(wù)器接受到客戶端發(fā)送的報(bào)文之后,用trust_public_key對trust_private_key(client_pubkey)進(jìn)行簽名認(rèn)證,得到client_pubkey,然后用client_pubkey對(client_prikey(random_c))進(jìn)行簽名認(rèn)證,得到random_c,如果計(jì)算得到的random_c與接收到的random_c一致,說明客戶端的身份值得信任,服務(wù)器將客戶端公鑰、隨機(jī)數(shù)以及id號(hào)緩存下來;否則發(fā)送身份認(rèn)證致命錯(cuò)誤報(bào)文,并斷開連接。

步驟32,服務(wù)器向客戶端發(fā)送server_hello,包含的主要報(bào)文內(nèi)容是一個(gè)隨機(jī)數(shù)random_s、從客戶端接收的id、用服務(wù)器私鑰作用于隨機(jī)數(shù)產(chǎn)生的簽名(server_prikey(random_s))、用第三方私鑰作用于客戶端公鑰產(chǎn)生的簽名(trust_private_key(server_pubkey)。服務(wù)器接受到客戶端發(fā)送的報(bào)文之后,用trust_public_key對trust_private_key(server_pubkey)進(jìn)行簽名認(rèn)證,得到server_pubkey,然后用server_pubkey對(server_prikey(random_s))進(jìn)行簽名認(rèn)證,得到random_s,如果計(jì)算得到的random_s與接收到的random_s一致,說明服務(wù)器的身份值得信任,客戶端將服務(wù)器公鑰、隨機(jī)數(shù)緩存下來;否則發(fā)送身份認(rèn)證致命錯(cuò)誤報(bào)文,并斷開連接。

步驟33,服務(wù)器向客戶端發(fā)送server_prekey_exchange。服務(wù)器產(chǎn)生一個(gè)預(yù)密鑰prekey,然后用客戶端公鑰加密prekey,將client_pubkey(prekey)發(fā)送給客戶端,同時(shí)服務(wù)器由random_c、random_s、prekey作為因子計(jì)算出主密鑰master_key。

步驟34,客戶端向服務(wù)器發(fā)送client_maskey_verify??蛻舳私邮盏絪erver_prekey_exchange報(bào)文之后,用客戶端的私鑰對報(bào)文進(jìn)行解密得到prekey,客戶端由random_c、random_s、prekey作為因子計(jì)算出主密鑰master_key,然后通過md5哈希算法作用于master_key,計(jì)算出mac,然后用服務(wù)器的公鑰對mac進(jìn)行加密,將server_pubkey(mac)發(fā)送給服務(wù)器。

步驟35,服務(wù)器向客戶端發(fā)送handshake_done。服務(wù)器接收到client_maskey_verify報(bào)文之后,用服務(wù)器的私鑰對報(bào)文進(jìn)行解密解密得到mac值,然后對服務(wù)器的master_key通過md5算法計(jì)算mac值,如果2個(gè)mac值相同,說明客戶端與服務(wù)器的master_key相同。然后將client_pubkey(mac)作為handshake_done的報(bào)文發(fā)送給客戶端;否則發(fā)送密鑰錯(cuò)誤報(bào)文,斷開連接。客戶端接收到handshake_done報(bào)文之后,用客戶端私鑰解密報(bào)文,得到mac,如果和客戶端發(fā)出去的mac一致,說明雙方的主密鑰相同。至此,通信雙方完成身份認(rèn)證以及密鑰協(xié)商的工作。

所述主密鑰的計(jì)算方法是指md5算法。master_key由master_key1、master_key2、master_key3三部分組成,每一部分均為128位。計(jì)算公式為:

master_key1=md5(random_c+random_s+prekey);

master_key2=md5(random_c+random_s+master_key1);

master_key3=md5(random_c+random_s+master_key2);

數(shù)據(jù)傳輸過程中用的對稱加密算法為3des算法,完整性校驗(yàn)算法為md5算法。3des加密算法的初始化向量iv為master_key1的前64位,3des加密算法的密鑰3deskey為master_key1的后64位加上master_key2,共192位;md5算法的mac密鑰為master_key3,共128位。

輸出報(bào)文處理方式:如圖4所示在通信雙方完成握手之后(步驟41),一方等待數(shù)據(jù)從應(yīng)用層傳下來的數(shù)據(jù)。當(dāng)有數(shù)據(jù)發(fā)送時(shí)(步驟42),發(fā)送方根據(jù)握手過程中的id號(hào)查詢md5算法的mac密鑰、3des算法的iv以及密鑰3deskey。根據(jù)mac密鑰和md5算法計(jì)算出mac值,并將mac值添加到報(bào)文頭部(步驟43)。然后對添加過mac之后的報(bào)文利用3des算法進(jìn)行加密(步驟44),然后添加安全層報(bào)文頭部,包括類型域、長度域、id域(步驟45)。類型域存放此報(bào)文的類型,包括握手類型、致命錯(cuò)誤類型、數(shù)據(jù)類型,其中致命類型錯(cuò)誤分為身份認(rèn)證錯(cuò)誤、mac/解密錯(cuò)誤、會(huì)話id錯(cuò)誤、關(guān)閉連接。長度域是指安全層報(bào)文頭和報(bào)文數(shù)據(jù)的總長度。id域是發(fā)送方和接收方此次通信的id號(hào),是在握手階段產(chǎn)生的id號(hào),與此次通信的密鑰綁定。最后,將安全層報(bào)文發(fā)送到傳輸層(步驟46)。

從安全層進(jìn)入傳輸層或者從傳輸層進(jìn)入安全層的數(shù)據(jù)報(bào)文結(jié)構(gòu)如圖5所示。

輸入報(bào)文的處理方式如圖6所示:接收方等待數(shù)據(jù)到來(步驟600),當(dāng)從傳輸層接收到數(shù)據(jù)時(shí),接收方首先做類型檢查(步驟601),如果是握手類型的數(shù)據(jù),那么進(jìn)入握手流程處理(步驟603);如果是錯(cuò)誤類型的數(shù)據(jù),那么接收方記錄錯(cuò)誤原因(步驟602),其中關(guān)閉連接是屬于正常關(guān)閉,身份認(rèn)證錯(cuò)誤、mac/解密錯(cuò)誤、會(huì)話id錯(cuò)誤是雙方通信發(fā)生錯(cuò)誤,然后關(guān)閉此次通信連接(步驟604),釋放會(huì)話id號(hào),密鑰等資源;如果是數(shù)據(jù)類型,就進(jìn)入應(yīng)用數(shù)據(jù)接收處理過程。進(jìn)入應(yīng)用數(shù)據(jù)接收處理過程之后,首先檢查會(huì)話id(步驟605),如果會(huì)話id號(hào)不存在,那么接收方向發(fā)送方發(fā)送會(huì)話id錯(cuò)誤信息(步驟610),接收方關(guān)閉連接(步驟604);如果會(huì)話id號(hào)存在,那么根據(jù)會(huì)話id號(hào)查詢對應(yīng)的密鑰(步驟606)。利用查詢得到的3des算法的iv以及3deskey對接收到的數(shù)據(jù)報(bào)文進(jìn)行解密(步驟607),得到數(shù)據(jù)報(bào)明文以及mac值,利用md5算法以及mac密鑰對明文進(jìn)行完整性校驗(yàn),計(jì)算出mac值(步驟608)。將接收到的mac值與計(jì)算出的mac值進(jìn)行比對(步驟609),如果兩個(gè)mac值不相同,那么接收方向發(fā)送方發(fā)送mac/解密錯(cuò)誤信息(步驟610),然后關(guān)閉連接(步驟604);如果兩個(gè)mac值相同,那么將安全層的數(shù)據(jù)報(bào)文傳給應(yīng)用層處理(步驟611)。

通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到上述實(shí)施例可以直接通過硬件算法模塊實(shí)現(xiàn),也可以在硬件平臺(tái)上借助必要的軟件來實(shí)現(xiàn)?;谶@樣的理解,上述實(shí)施例的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品可以存儲(chǔ)在一個(gè)非易失性存儲(chǔ)介質(zhì)(可以是cd-rom,u盤,移動(dòng)硬盤等)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。

以上所述,僅為本發(fā)明的具體實(shí)施方式,并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1