本發(fā)明涉及插電混動車輛領(lǐng)域,尤其涉及一種車輛防盜啟動控制方法。
背景技術(shù):
在傳統(tǒng)燃油動力中,普遍使用通過車身控制器和發(fā)動機控制器進行加密認證的方式,以保證發(fā)動機控制器只有在接收到正確的信息后啟動發(fā)動機,并允許驅(qū)動車輛?,F(xiàn)在出現(xiàn)的插電混動系統(tǒng)中,例如以P2結(jié)構(gòu)為基礎(chǔ)的插電混合動力車輛,由于發(fā)動機和電機都有使車輛驅(qū)動的可能性,只要把點火開關(guān)下面的電線拉出來,然后把線接起來,當汽車發(fā)動后就拿開,這時就可以把汽車開動了,現(xiàn)有防盜方式無法對應(yīng)這種暴力拆解的盜車行為。
技術(shù)實現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題是提供一種三控制器交叉認證的插電混動車輛防盜方法,該方法通過發(fā)動機控制器生成原始數(shù)據(jù)并加密后逐層發(fā)送給電機控制器和車身控制器進行認證,即便使用外設(shè)或暴力拆解單獨破解電機控制器或發(fā)動機控制器都無法啟動車輛,從而實現(xiàn)三控制器防盜認證,保證了車輛安全。
本發(fā)明是這樣實現(xiàn)的:一種三控制器交叉認證的插電混動車輛防盜方法,包括發(fā)動機控制器、電機控制器和車身控制器,包括以下步驟:設(shè)定秘鑰、加密數(shù)據(jù)位、加密算法和校驗算法;
S1. 所述發(fā)動機控制器被賦予一個加密數(shù)據(jù)位的原始數(shù)據(jù);
S2.用加密算法對原始數(shù)據(jù)進行處理得到加密數(shù)據(jù);
S3. 用加密數(shù)據(jù)和密鑰進行比較計算得到驗證數(shù)據(jù);
S4.為驗證數(shù)據(jù)添加數(shù)據(jù)報文和校驗碼得到校驗數(shù)據(jù)后,將校驗數(shù)據(jù)發(fā)送到電機控制器,電機控制器根據(jù)秘鑰、原始數(shù)據(jù)和加密算法采用校驗算法對校驗數(shù)據(jù)進行校驗,校驗通過則進入步驟S5;校驗不通過則車輛禁止啟動;
S5.電機控制器將校驗數(shù)據(jù)轉(zhuǎn)發(fā)到發(fā)送到車身控制器,車身控制器根據(jù)秘鑰、原始數(shù)據(jù)和加密算法采用校驗算法對校驗數(shù)據(jù)進行校驗,校驗通過則進入步驟S6;校驗不通過則車輛禁止啟動;
S6.車身控制器向發(fā)動機控制器和電機控制器發(fā)送確認信息,發(fā)動機控制器和電機控制器收到確認信息后分別允許啟動。
所述加密數(shù)據(jù)位為64位或128位。
所述加密算法為將原始數(shù)據(jù)在加密數(shù)據(jù)位中整體向左或右移動3~5位,移動后出現(xiàn)的空位補0。
所述校驗算法為CRC16校驗。
所述步驟S3中,所述比較計算為同或計算或異或計算。
本發(fā)明三控制器交叉認證的插電混動車輛防盜方法通過發(fā)動機控制器生成原始數(shù)據(jù)并加密后逐層發(fā)送給電機控制器和車身控制器進行認證,認證通過后車身控制器再回復(fù)確認信息給發(fā)動機控制器和電機控制器,此時才會允許電機控制器和發(fā)動機控制器分別啟動,即便使用外設(shè)或暴力拆解單獨破解電機控制器或發(fā)動機控制器都無法啟動車輛,從而實現(xiàn)三控制器防盜認證,保證了車輛安全。
附圖說明
圖1為本發(fā)明三控制器交叉認證的插電混動車輛防盜方法的控制邏輯框圖。
具體實施方式
下面結(jié)合具體實施例,進一步闡述本發(fā)明。應(yīng)理解,這些實施例僅用于說明本發(fā)明而不用于限制本發(fā)明的范圍。此外應(yīng)理解,在閱讀了本發(fā)明表述的內(nèi)容之后,本領(lǐng)域技術(shù)人員可以對本發(fā)明作各種改動或修改,這些等價形式同樣落于本申請所附權(quán)利要求書所限定的范圍。
實施例1
如圖1,一種三控制器交叉認證的插電混動車輛防盜方法,包括發(fā)動機控制器EMS、電機控制器PCU和車身控制器BCM,包括以下步驟:設(shè)定秘鑰、加密數(shù)據(jù)位、加密算法和校驗算法;
S1.所述發(fā)動機控制器被賦予一個加密數(shù)據(jù)位的原始數(shù)據(jù);該原始數(shù)據(jù)在生產(chǎn)制造時隨機賦予后記錄作為固定值;在本發(fā)明中,所述加密數(shù)據(jù)位為64位或128位。
S2.用加密算法對原始數(shù)據(jù)進行處理得到加密數(shù)據(jù);
S3. 用加密數(shù)據(jù)和密鑰進行比較計算得到驗證數(shù)據(jù);在本實施例中,作為有優(yōu)選,所述比較計算為同或計算或異或計算;
S4.為驗證數(shù)據(jù)添加數(shù)據(jù)報文和校驗碼得到校驗數(shù)據(jù)后,將校驗數(shù)據(jù)發(fā)送到電機控制器,電機控制器根據(jù)秘鑰、原始數(shù)據(jù)和加密算法采用校驗算法對校驗數(shù)據(jù)進行校驗,校驗通過則進入步驟S5;校驗不通過則車輛禁止啟動;所述校驗算法為CRC16校驗;
S5.電機控制器將校驗數(shù)據(jù)轉(zhuǎn)發(fā)到發(fā)送到車身控制器,車身控制器根據(jù)秘鑰、原始數(shù)據(jù)和加密算法采用校驗算法對校驗數(shù)據(jù)進行校驗,校驗通過則進入步驟S6;校驗不通過則車輛禁止啟動;所述校驗算法為CRC16校驗;
S6.車身控制器向發(fā)動機控制器和電機控制器發(fā)送確認信息,發(fā)動機控制器和電機控制器收到確認信息后分別允許啟動。
在本實施例中,所述加密算法為將原始數(shù)據(jù)在加密數(shù)據(jù)位中整體向左或右移動3~5位,移動后出現(xiàn)的空位補0。
具體實施時,所述加密算法選用右移3位,比較計算采用異或計算;原始數(shù)據(jù)為8個字節(jié)全為1;8個字節(jié)的原始字節(jié)為全1即255,255,255,255,255,255,255,255。8個字節(jié)右移3位并將空位補0后變成31,255,255,255,255,255,255,255。本實施例中,選用的秘鑰為8個字節(jié)的密鑰為255,255,255,255,255,255,255,255。異或計算后得到驗證數(shù)據(jù)為224,0,0,0,0,0,0,0。然后為驗證數(shù)據(jù)頭部添加兩個字節(jié)的數(shù)據(jù)報文,尾部添加兩個字節(jié)的校驗碼,數(shù)據(jù)報文為28,96,添加數(shù)據(jù)報文后的10個字節(jié)的CRC16校驗碼為140,81。這樣需要發(fā)送的12個字節(jié)為28,96,224,0,0,0,0,0,0,0,140,81。接收端接收到數(shù)據(jù)后通過CRC16校驗無誤后。對224,0,0,0,0,0,0,0這8個字節(jié)的數(shù)據(jù)使用密鑰255,255,255,255,255,255,255,255還原得到31,255,255,255,255,255,255,255。然后右移3位??瘴谎a1。這樣得到255,255,255,255,255,255,255,255這8個原始數(shù)據(jù),與原始數(shù)據(jù)比較匹配成功,車身控制器向發(fā)動機控制器和電機控制器發(fā)送確認信息,發(fā)動機控制器和電機控制器收到確認信息后分別允許啟動。