本發(fā)明涉及汽車相關(guān)技術(shù)領(lǐng)域,特別是一種用于車內(nèi)局域網(wǎng)的安全診斷通信方法及系統(tǒng)。
背景技術(shù):
物聯(lián)網(wǎng)大時(shí)代的沖擊及全球車聯(lián)網(wǎng)技術(shù)的高速發(fā)展,使得人們對(duì)行車需求不再僅僅滿足于速度與激情,對(duì)車機(jī)端互聯(lián)娛樂等多功能化的需求也日益增加,汽車電子化網(wǎng)絡(luò)化成為了主流發(fā)展趨勢(shì)。越來越多的電子控制單元(Electronic Control Uni t,ECU)被應(yīng)用到了汽車上,車載網(wǎng)絡(luò)變得前所未有的復(fù)雜,汽車故障診斷測(cè)試相應(yīng)也變得愈加重要。近年尤其2015年汽車信息安全元年以來,汽車車端黑客攻擊動(dòng)作層出不窮,行車安全概念被重定義,使其不再局限于主動(dòng)安全,信息安全也逐漸得到主機(jī)廠、IT公司的重視,為保障汽車網(wǎng)絡(luò)信息安全性,應(yīng)用于車內(nèi)局域網(wǎng)的安全診斷的通信協(xié)議被提出。
現(xiàn)有的汽車診斷系統(tǒng)物理上被分為汽車診斷儀和電子控制單元兩端,目前作為車輛故障檢測(cè)的主要手段而被廣泛應(yīng)用于各種類型汽車的診斷工作中。主流汽車診斷系統(tǒng)安全訪問機(jī)制設(shè)計(jì)參考各自主機(jī)廠診斷協(xié)議,但原理大同小異。首先,診斷儀會(huì)發(fā)送種子請(qǐng)求消息給汽車電子控制單元。電子控制單元收到請(qǐng)求后生成一串隨機(jī)數(shù)并將其作為響應(yīng)發(fā)還給診斷儀,診斷儀繼而根據(jù)內(nèi)部已有的加密算法得到密鑰并發(fā)送回給電子控制單元,電子控制單元將此密鑰與由本地算法計(jì)算得到的密鑰進(jìn)行比較,若兩者相同,則身份認(rèn)證通過,可進(jìn)行安全訪問,否則即退出。但診斷儀與電子控制單元加密算法必須一致的局限性導(dǎo)致其存在很大安全隱患,任意一方的加密算法若遭泄漏,身份認(rèn)證系統(tǒng)也就可被攻破,信息保密性即遭到破壞。
技術(shù)實(shí)現(xiàn)要素:
基于此,有必要針對(duì)現(xiàn)有技術(shù)容易因加密算法泄漏導(dǎo)致信息保密性遭到破壞的技術(shù)問題,提供一種用于車內(nèi)局域網(wǎng)的安全診斷通信方法及系統(tǒng)。
本發(fā)明提供一種用于車內(nèi)局域網(wǎng)的安全診斷通信方法,包括:
種子請(qǐng)求步驟,包括:汽車診斷儀向汽車上的電子控制單元發(fā)送種子請(qǐng)求消息;
種子反饋步驟,包括:所述電子控制單元將生產(chǎn)環(huán)節(jié)信息和密鑰種子作為種子消息回復(fù)給所述汽車診斷儀;
種子加密步驟,包括:所述汽車診斷儀對(duì)所述種子消息進(jìn)行加密運(yùn)算得到密鑰,將所述密鑰發(fā)送給所述電子控制單元;
密鑰判斷步驟,包括:所述電子控制單元判斷當(dāng)前狀態(tài),如果當(dāng)前狀態(tài)為未鎖定狀態(tài),則保存所述密鑰,并與所述汽車診斷儀進(jìn)行后續(xù)通信,如果當(dāng)前狀態(tài)為鎖定狀態(tài),則對(duì)所述密鑰進(jìn)行驗(yàn)證,并根據(jù)驗(yàn)證結(jié)果確定是否與所述汽車診斷儀進(jìn)行后續(xù)通信。
本發(fā)明提供一種用于車內(nèi)局域網(wǎng)的安全診斷通信系統(tǒng),包括:
種子請(qǐng)求模塊,用于:汽車診斷儀向汽車上的電子控制單元發(fā)送種子請(qǐng)求消息;
種子反饋模塊,用于:所述電子控制單元將生產(chǎn)環(huán)節(jié)信息和密鑰種子作為種子消息回復(fù)給所述汽車診斷儀;
種子加密模塊,用于:所述汽車診斷儀對(duì)所述種子消息進(jìn)行加密運(yùn)算得到密鑰,將所述密鑰發(fā)送給所述電子控制單元;
密鑰判斷模塊,用于:所述電子控制單元判斷當(dāng)前狀態(tài),如果當(dāng)前狀態(tài)為未鎖定狀態(tài),則保存所述密鑰,并與所述汽車診斷儀進(jìn)行后續(xù)通信,如果當(dāng)前狀態(tài)為鎖定狀態(tài),則對(duì)所述密鑰進(jìn)行驗(yàn)證,并根據(jù)驗(yàn)證結(jié)果確定是否與所述汽車診斷儀進(jìn)行后續(xù)通信。
本發(fā)明由于將密鑰直接保存在電子控制單元,因此在電子控制單元內(nèi)部不需要存儲(chǔ)密鑰算法,減小了密鑰算法泄露的風(fēng)險(xiǎn),同時(shí),通過增加對(duì)電子控制單元的狀態(tài)判斷,提高了通信的安全性和可靠性。
附圖說明
圖1為本發(fā)明一種用于車內(nèi)局域網(wǎng)的安全診斷通信方法的工作流程圖;
圖2為本發(fā)明最佳實(shí)施例的工作流程圖;
圖3為本發(fā)明一種用于車內(nèi)局域網(wǎng)的安全診斷通信系統(tǒng)的結(jié)構(gòu)模塊圖。
具體實(shí)施方式
下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明做進(jìn)一步詳細(xì)的說明。
如圖1所示為本發(fā)明一種用于車內(nèi)局域網(wǎng)的安全診斷通信方法的工作流程圖,包括:
步驟S101,包括:汽車診斷儀向汽車上的電子控制單元發(fā)送種子請(qǐng)求消息;
步驟S102,包括:所述電子控制單元將生產(chǎn)環(huán)節(jié)信息和密鑰種子作為種子消息回復(fù)給所述汽車診斷儀;
步驟S103,包括:所述汽車診斷儀對(duì)所述種子消息進(jìn)行加密運(yùn)算得到密鑰,將所述密鑰發(fā)送給所述電子控制單元;
步驟S104,包括:所述電子控制單元判斷當(dāng)前狀態(tài),如果當(dāng)前狀態(tài)為未鎖定狀態(tài),則保存所述密鑰,并與所述汽車診斷儀進(jìn)行后續(xù)通信,如果當(dāng)前狀態(tài)為鎖定狀態(tài),則對(duì)所述密鑰進(jìn)行驗(yàn)證,并根據(jù)驗(yàn)證結(jié)果確定是否與所述汽車診斷儀進(jìn)行后續(xù)通信。
在汽車診斷儀需要與電子控制單元進(jìn)行通信前,觸發(fā)步驟S101。在步驟S101由汽車診斷儀向汽車上的電子控制單元發(fā)送種子請(qǐng)求消息,電子控制單元在步驟S102中向汽車診斷儀返回種子消息。步驟S103由汽車診斷儀對(duì)種子消息進(jìn)行加密得到密鑰,其加密算法可以采用現(xiàn)有的加密算法。密鑰在步驟S104中進(jìn)行驗(yàn)證或者保存。因此,電子控制單元無需保存加密算法,從而減少了密鑰算法泄露的風(fēng)險(xiǎn)。同時(shí),在步驟S102中,通過增加生產(chǎn)環(huán)節(jié)信息,可有效增強(qiáng)加密的魯棒性。而在步驟S104中,通過增加對(duì)電子控制單元的狀態(tài)判斷,提高了通信的安全性和可靠性。
在其中一個(gè)實(shí)施例中:
所述步驟S102,具體包括:所述電子控制單元判斷當(dāng)前狀態(tài),如果當(dāng)前狀態(tài)為未鎖定狀態(tài),則將生產(chǎn)環(huán)節(jié)信息和隨機(jī)生成的密鑰種子作為種子消息回復(fù)給所述汽車診斷儀,如果當(dāng)前狀態(tài)為鎖定狀態(tài),則獲取預(yù)先保存的種子消息回復(fù)給所述汽車診斷儀;
所述步驟S104,具體包括:所述電子控制單元判斷當(dāng)前狀態(tài),如果當(dāng)前狀態(tài)為未鎖定狀態(tài),則將所述密鑰與所述種子消息關(guān)聯(lián)保存,并與所述汽車診斷儀進(jìn)行后續(xù)通信,如果當(dāng)前狀態(tài)為鎖定狀態(tài),則對(duì)從汽車診斷儀獲取的密鑰和與所述種子消息關(guān)聯(lián)保存的密鑰進(jìn)行驗(yàn)證,并根據(jù)驗(yàn)證結(jié)果確定是否與所述汽車診斷儀進(jìn)行后續(xù)通信。
電子控制單元一般會(huì)有三種狀態(tài):開發(fā)狀態(tài)、主機(jī)廠狀態(tài)及售后狀態(tài),當(dāng)電子控制單元處于開發(fā)狀態(tài)和主機(jī)廠狀態(tài)時(shí),設(shè)定為未鎖定狀態(tài),當(dāng)電子控制單元處于售后狀態(tài)時(shí),設(shè)定為鎖定狀態(tài)。在未鎖定狀態(tài)下,允許對(duì)電子控制單元寫入密鑰和種子消息,而在鎖定狀態(tài)下,則禁止更改電子控制單元的密鑰和種子消息,在鎖定狀態(tài)下,電子控制單元的密鑰和種子消息僅用于驗(yàn)證。
本實(shí)施例通過對(duì)電子控制單元的狀態(tài)進(jìn)行判斷,從而使得在電子控制單元出廠后,禁止寫入密鑰和種子消息,提高安全性和可靠性。
在其中一個(gè)實(shí)施例中,所述步驟S104中,所述根據(jù)驗(yàn)證結(jié)果確定是否與所述汽車診斷儀進(jìn)行后續(xù)通信,具體包括:如果從汽車診斷儀獲取的密鑰和與所述種子消息關(guān)聯(lián)保存的密鑰一致,則與所述汽車診斷儀進(jìn)行后續(xù)通信,否則結(jié)束與所述汽車診斷儀的通信。
在其中一個(gè)實(shí)施例中,所述密鑰和所述種子消息存儲(chǔ)在所述電子控制單元的生產(chǎn)過程中的永久性內(nèi)存。
本實(shí)施例采用永久性內(nèi)存保存密鑰和種子消息,使得種子消息在出廠后不會(huì)被刪除。
優(yōu)選地,所述永久性內(nèi)存僅用于保存密鑰和種子,避免其他非法數(shù)據(jù)的破壞。
在其中一個(gè)實(shí)施例中,所述生產(chǎn)環(huán)節(jié)信息包括所述電子控制單元的工廠產(chǎn)線號(hào)、生產(chǎn)時(shí)間或生產(chǎn)班次。
本實(shí)施例通過工廠產(chǎn)線號(hào)、生產(chǎn)時(shí)間或生產(chǎn)班次,使得種子消息帶有獨(dú)一無二且不可復(fù)現(xiàn)的生產(chǎn)信息,進(jìn)一步提高了種子消息的唯一性。
如圖2所示為本發(fā)明最佳實(shí)施例的工作流程圖,包括:
步驟S201,汽車診斷系統(tǒng)的汽車診斷儀向汽車上電子控制單元發(fā)送診斷請(qǐng)求,即種子請(qǐng)求消息;
步驟S202,所述電子控制單元通過自身狀態(tài)標(biāo)識(shí)符Status值判斷當(dāng)前狀態(tài)判斷當(dāng)前狀態(tài),如果當(dāng)前狀態(tài)為未鎖定狀態(tài)(Status!=0),則將生產(chǎn)環(huán)節(jié)信息和隨機(jī)生成的密鑰種子作為種子消息回復(fù)給所述汽車診斷儀,如果當(dāng)前狀態(tài)為鎖定狀態(tài)(Status==0),則獲取預(yù)先保存的種子消息回復(fù)給所述汽車診斷儀;
步驟S203,汽車診斷儀將對(duì)種子消息通過加密運(yùn)算之后的密鑰發(fā)回給電子控制單元;
步驟S204,所述電子控制單元接收到密鑰之后,會(huì)判斷自身狀態(tài)標(biāo)識(shí)符Status值,Status表示了電子控制單元當(dāng)前是否處于鎖定狀態(tài)。如果正處于未鎖定狀態(tài)(Status?。?),電子控制單元會(huì)將接收到的密鑰和種子消息存于內(nèi)存并回復(fù)正反饋給汽車診斷儀,雙方即可進(jìn)行安全通信。否則(Status==0),電子控制單元將接收到的密鑰與自身內(nèi)存中已有密鑰進(jìn)行對(duì)比,若一致,電子控制單元解鎖并回復(fù)正反饋給汽車診斷儀,雙方亦可進(jìn)行安全通信;但若不一致,便回復(fù)負(fù)反饋給汽車診斷儀,雙方終止此次通信過程。
如圖3所示為本發(fā)明一種用于車內(nèi)局域網(wǎng)的安全診斷通信系統(tǒng)的結(jié)構(gòu)模塊圖,包括:
種子請(qǐng)求模塊301,用于:汽車診斷儀向汽車上的電子控制單元發(fā)送種子請(qǐng)求消息;
種子反饋模塊302,用于:所述電子控制單元將生產(chǎn)環(huán)節(jié)信息和密鑰種子作為種子消息回復(fù)給所述汽車診斷儀;
種子加密模塊303,用于:所述汽車診斷儀對(duì)所述種子消息進(jìn)行加密運(yùn)算得到密鑰,將所述密鑰發(fā)送給所述電子控制單元;
密鑰判斷模塊304,用于:所述電子控制單元判斷當(dāng)前狀態(tài),如果當(dāng)前狀態(tài)為未鎖定狀態(tài),則保存所述密鑰,并與所述汽車診斷儀進(jìn)行后續(xù)通信,如果當(dāng)前狀態(tài)為鎖定狀態(tài),則對(duì)所述密鑰進(jìn)行驗(yàn)證,并根據(jù)驗(yàn)證結(jié)果確定是否與所述汽車診斷儀進(jìn)行后續(xù)通信。
在其中一個(gè)實(shí)施例中:
所述種子反饋模塊,具體用于:所述電子控制單元判斷當(dāng)前狀態(tài),如果當(dāng)前狀態(tài)為未鎖定狀態(tài),則將生產(chǎn)環(huán)節(jié)信息和隨機(jī)生成的密鑰種子作為種子消息回復(fù)給所述汽車診斷儀,如果當(dāng)前狀態(tài)為鎖定狀態(tài),則獲取預(yù)先保存的種子消息回復(fù)給所述汽車診斷儀;
所述密鑰判斷模塊,具體用于:所述電子控制單元判斷當(dāng)前狀態(tài),如果當(dāng)前狀態(tài)為未鎖定狀態(tài),則將所述密鑰與所述種子消息關(guān)聯(lián)保存,并與所述汽車診斷儀進(jìn)行后續(xù)通信,如果當(dāng)前狀態(tài)為鎖定狀態(tài),則對(duì)從汽車診斷儀獲取的密鑰和與所述種子消息關(guān)聯(lián)保存的密鑰進(jìn)行驗(yàn)證,并根據(jù)驗(yàn)證結(jié)果確定是否與所述汽車診斷儀進(jìn)行后續(xù)通信。
在其中一個(gè)實(shí)施例中,所述密鑰判斷模塊中,所述根據(jù)驗(yàn)證結(jié)果確定是否與所述汽車診斷儀進(jìn)行后續(xù)通信,具體包括:如果從汽車診斷儀獲取的密鑰和與所述種子消息關(guān)聯(lián)保存的密鑰一致,則與所述汽車診斷儀進(jìn)行后續(xù)通信,否則結(jié)束與所述汽車診斷儀的通信。
在其中一個(gè)實(shí)施例中,所述密鑰和所述種子消息存儲(chǔ)在所述電子控制單元的生產(chǎn)過程中的永久性內(nèi)存。
在其中一個(gè)實(shí)施例中,所述生產(chǎn)環(huán)節(jié)信息包括所述電子控制單元的工廠產(chǎn)線號(hào)、生產(chǎn)時(shí)間或生產(chǎn)班次。
以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。