本發(fā)明新能源汽車技術(shù)領(lǐng)域,尤其涉及一種純電動(dòng)汽車防盜認(rèn)證方法及系統(tǒng)。
背景技術(shù):
隨著環(huán)保理念的不斷深入人心,純電動(dòng)汽車越來越受歡迎。純電動(dòng)汽車因?yàn)闆]有發(fā)動(dòng)機(jī),就無法沿用傳統(tǒng)車的發(fā)動(dòng)機(jī)防盜系統(tǒng),如何實(shí)現(xiàn)整車防盜,是很重要的一環(huán)。純電動(dòng)車型通常會(huì)采用新技術(shù)新配置,搭載無匙啟動(dòng)/智能進(jìn)入系統(tǒng)(簡稱PEPS),所以整車防盜需要通過無匙啟動(dòng)/智能進(jìn)入系統(tǒng)和整車控制器(VCU)之間的交互來實(shí)現(xiàn)。
現(xiàn)有關(guān)于純電動(dòng)汽車防盜的相關(guān)技術(shù)方案里,大都只是簡單的介紹防盜系統(tǒng)的架構(gòu)、流程和基本功能,或者針對的是防盜器和電機(jī)電池系統(tǒng)的防盜交互,并未具體針對無匙啟動(dòng)/智能進(jìn)入系統(tǒng)和整車控制器(VCU)之間的交互來實(shí)現(xiàn)防盜認(rèn)證。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題在于,提供一種純電動(dòng)汽車防盜認(rèn)證方法及系統(tǒng),以有效提高純電動(dòng)汽車防盜的安全性和可靠性。
為了解決上述技術(shù)問題,本發(fā)明提供一種純電動(dòng)汽車防盜認(rèn)證方法,包括:
步驟S1,整車控制器VCU產(chǎn)生一組隨機(jī)數(shù),通過網(wǎng)關(guān)模塊GWM轉(zhuǎn)發(fā)給無匙啟動(dòng)/智能進(jìn)入系統(tǒng)PEPS,同時(shí)所述VCU根據(jù)自身預(yù)存的固定碼、防盜密鑰和所述隨機(jī)數(shù)進(jìn)行加密計(jì)算生成第一數(shù)據(jù);
步驟S2,PEPS根據(jù)自身預(yù)存的固定碼、防盜密鑰和接收到的所述隨機(jī)數(shù)進(jìn)行加密計(jì)算,生成第二數(shù)據(jù),并通過所述GWM轉(zhuǎn)發(fā)給所述VCU;
步驟S3,所述VCU將所述第一數(shù)據(jù)與返回的所述第二數(shù)據(jù)進(jìn)行校驗(yàn)比對,若匹配則判定防盜認(rèn)證成功,否則判定防盜認(rèn)證失敗。
其中,所述VCU通過所述GWM轉(zhuǎn)發(fā)所述隨機(jī)數(shù)給所述PEPS之后,如果等待第一時(shí)間后沒有收到所述PEPS的響應(yīng),則等待第二時(shí)間后將所述隨機(jī)數(shù)再次通過所述GWM轉(zhuǎn)發(fā)給所述PEPS,重復(fù)前述過程,如果直至達(dá)到上限重試次數(shù)都沒有收到所述PEPS的響應(yīng),則判定防盜認(rèn)證失敗。
其中,所述步驟S2中,所述PEPS如果處于查找鑰匙或計(jì)算所述第二數(shù)據(jù)過程中,則通過所述GWM向所述VCU返回認(rèn)證狀態(tài)忙,所述VCU等待第二時(shí)間后將所述隨機(jī)數(shù)再次通過所述GWM轉(zhuǎn)發(fā)給所述PEPS,重復(fù)前述過程,如果直至達(dá)到上限重試次數(shù)收到所述PEPS的響應(yīng)均為認(rèn)證狀態(tài)忙,則判定防盜認(rèn)證失敗。
其中,所述步驟S3中,如果所述VCU自身預(yù)存的防盜密鑰和所述第一數(shù)據(jù)與返回的所述第二數(shù)據(jù)的校驗(yàn)比對不匹配,進(jìn)一步包括:
所述VCU等待第二時(shí)間后,重新產(chǎn)生一組新的隨機(jī)數(shù),通過所述GWM轉(zhuǎn)發(fā)給所述PEPS,同時(shí)所述VCU根據(jù)自身預(yù)存的固定碼、防盜密鑰和所述新的隨機(jī)數(shù)進(jìn)行加密計(jì)算生成新的第一數(shù)據(jù);
所述PEPS根據(jù)自身預(yù)存的固定碼、防盜密鑰和接收到的所述新的隨機(jī)數(shù)進(jìn)行加密計(jì)算,將計(jì)算結(jié)果中的部分位數(shù)用鑰匙認(rèn)證結(jié)果替換后生成新的第二數(shù)據(jù),通過所述GWM將所述新的第二數(shù)據(jù)轉(zhuǎn)發(fā)給所述VCU;
所述VCU將所述新的第一數(shù)據(jù)與所述PEPS返回的所述新的第二數(shù)據(jù)進(jìn)行校驗(yàn)比對,如果相匹配則判定防盜認(rèn)證成功,如果不匹配則重復(fù)前述流程,如果直到達(dá)到上限重試次數(shù)仍不匹配,則判定防盜認(rèn)證失敗。
其中,所述步驟S2中,如果所述PEPS發(fā)現(xiàn)鑰匙不匹配,則通過所述GWM向所述VCU返回鑰匙不匹配的響應(yīng),所述VCU判定防盜認(rèn)證失敗。
其中,所述步驟S3中,如果所述VCU讀取到所述PEPS返回的認(rèn)證狀態(tài)為空時(shí),進(jìn)一步包括:
所述VCU等待第二時(shí)間后,重新產(chǎn)生一組新的隨機(jī)數(shù),通過所述GWM轉(zhuǎn)發(fā)給所述PEPS,同時(shí)所述VCU根據(jù)自身預(yù)存的固定碼、防盜密鑰和所述新的隨機(jī)數(shù)進(jìn)行加密計(jì)算生成新的第一數(shù)據(jù);
所述PEPS根據(jù)自身預(yù)存的固定碼、防盜密鑰和接收到的所述新的隨機(jī)數(shù)進(jìn)行加密計(jì)算,將計(jì)算結(jié)果中的部分位數(shù)用鑰匙認(rèn)證結(jié)果替換后生成新的第二數(shù)據(jù),通過所述GWM將所述新的第二數(shù)據(jù)轉(zhuǎn)發(fā)給所述VCU;
所述VCU將所述新的第一數(shù)據(jù)與所述PEPS返回的所述新的第二數(shù)據(jù)進(jìn)行校驗(yàn)比對,如果相匹配則判定防盜認(rèn)證成功,如果不匹配則重復(fù)前述流程,如果直到達(dá)到上限重試次數(shù)仍不匹配,則判定防盜認(rèn)證失敗。
其中,在所述步驟S1之前還包括:
當(dāng)所述PEPS電源狀態(tài)處于IGN(相當(dāng)于ON,處于該狀態(tài)時(shí)可以給發(fā)動(dòng)機(jī)電路上電)時(shí),如果所述VCU已接收到鑰匙上電信號(hào),則執(zhí)行所述步驟S1。
其中,如果鑰匙認(rèn)證超時(shí),當(dāng)所述PEPS電源狀態(tài)處于START時(shí),所述VCU判斷在接收到鑰匙啟動(dòng)信號(hào)時(shí)執(zhí)行所述步驟S1。
其中,所述VCU根據(jù)自身預(yù)存的固定碼、防盜密鑰和所述隨機(jī)數(shù)通過擴(kuò)展的微型加密算法XTEA進(jìn)行加密計(jì)算,生成所述第一數(shù)據(jù),所述PEPS根據(jù)自身預(yù)存的固定碼、防盜密鑰和接收到的所述隨機(jī)數(shù)也通過擴(kuò)展的微型加密算法XTEA進(jìn)行加密計(jì)算,生成所述第二數(shù)據(jù)。
其中,所述VCU自身預(yù)存的固定碼和防盜密鑰分別與所述PEPS自身預(yù)存的固定碼和防盜密鑰相一致。
本發(fā)明還提供一種純電動(dòng)汽車防盜認(rèn)證系統(tǒng),包括:
整車控制器VCU、網(wǎng)關(guān)模塊GWM以及無匙啟動(dòng)/智能進(jìn)入系統(tǒng)PEPS,其中,
所述VCU用于產(chǎn)生一組隨機(jī)數(shù),通過所述GWM轉(zhuǎn)發(fā)給所述PEPS,同時(shí)根據(jù)自身預(yù)存的固定碼、防盜密鑰和所述隨機(jī)數(shù)進(jìn)行加密計(jì)算生成第一數(shù)據(jù);
所述PEPS用于根據(jù)自身預(yù)存的固定碼、防盜密鑰和接收到的所述隨機(jī)數(shù)進(jìn)行加密計(jì)算,生成第二數(shù)據(jù),并通過所述GWM轉(zhuǎn)發(fā)給所述VCU;
所述VCU還用于將自身預(yù)存的防盜密鑰和所述第一數(shù)據(jù)與返回的所述第二數(shù)據(jù)進(jìn)行校驗(yàn)比對,若匹配則判定防盜認(rèn)證成功,否則判定防盜認(rèn)證失敗。
其中,所述VCU通過所述GWM轉(zhuǎn)發(fā)所述隨機(jī)數(shù)給所述PEPS之后,如果等待第一時(shí)間后沒有收到所述PEPS的響應(yīng),則等待第二時(shí)間后將所述隨機(jī)數(shù)再次通過所述GWM轉(zhuǎn)發(fā)給所述PEPS,重復(fù)前述過程,如果直至達(dá)到上限重試次數(shù)都沒有收到所述PEPS的響應(yīng),則判定防盜認(rèn)證失敗。
其中,所述PEPS如果處于查找鑰匙或計(jì)算所述第二數(shù)據(jù)過程中,則通過所述GWM向所述VCU返回認(rèn)證狀態(tài)忙,所述VCU等待第二時(shí)間后將所述隨機(jī)數(shù)再次通過所述GWM轉(zhuǎn)發(fā)給所述PEPS,重復(fù)前述過程,如果直至達(dá)到上限重試次數(shù)收到所述PEPS的響應(yīng)均為認(rèn)證狀態(tài)忙,則判定防盜認(rèn)證失敗。
其中,如果所述第一數(shù)據(jù)與返回的所述第二數(shù)據(jù)的校驗(yàn)比對不匹配,則所述VCU用于等待第二時(shí)間后,重新產(chǎn)生一組新的隨機(jī)數(shù),通過所述GWM轉(zhuǎn)發(fā)給所述PEPS,同時(shí)根據(jù)自身預(yù)存的固定碼、防盜密鑰和所述新的隨機(jī)數(shù)進(jìn)行加密計(jì)算生成新的第一數(shù)據(jù);
所述PEPS用于根據(jù)自身預(yù)存的固定碼、防盜密鑰和接收到的所述新的隨機(jī)數(shù)進(jìn)行加密計(jì)算,將計(jì)算結(jié)果中的部分位數(shù)用鑰匙認(rèn)證結(jié)果替換后生成新的第二數(shù)據(jù),通過所述GWM將所述新的第二數(shù)據(jù)轉(zhuǎn)發(fā)給所述VCU;
所述VCU還用于將所述新的第一數(shù)據(jù)與所述PEPS返回的所述新的第二數(shù)據(jù)進(jìn)行校驗(yàn)比對,如果相匹配則判定防盜認(rèn)證成功,如果不匹配則重復(fù)前述流程,如果直到達(dá)到上限重試次數(shù)仍不匹配,則判定防盜認(rèn)證失敗。
其中,如果所述PEPS發(fā)現(xiàn)鑰匙不匹配,則通過所述GWM向所述VCU返回鑰匙不匹配的響應(yīng),所述VCU判定防盜認(rèn)證失敗。
其中,如果所述VCU讀取到所述PEPS返回的認(rèn)證狀態(tài)為空時(shí),則所述VCU用于等待第二時(shí)間后,重新產(chǎn)生一組新的隨機(jī)數(shù),通過所述GWM轉(zhuǎn)發(fā)給所述PEPS,同時(shí)根據(jù)自身預(yù)存的固定碼、防盜密鑰和所述新的隨機(jī)數(shù)進(jìn)行加密計(jì)算生成新的第一數(shù)據(jù);
所述PEPS用于根據(jù)自身預(yù)存的固定碼、防盜密鑰和接收到的所述新的隨機(jī)數(shù)進(jìn)行加密計(jì)算,將計(jì)算結(jié)果中的部分位數(shù)用鑰匙認(rèn)證結(jié)果替換后生成新的第二數(shù)據(jù),通過所述GWM將所述新的第二數(shù)據(jù)轉(zhuǎn)發(fā)給所述VCU;
所述VCU還用于將所述新的第一數(shù)據(jù)與所述PEPS返回的所述新的第二數(shù)據(jù)進(jìn)行校驗(yàn)比對,如果相匹配則判定防盜認(rèn)證成功,如果不匹配則重復(fù)前述流程,如果直到達(dá)到上限重試次數(shù)仍不匹配,則判定防盜認(rèn)證失敗。
其中,當(dāng)所述PEPS電源狀態(tài)處于IGN時(shí),所述VCU還用于在已接收到鑰匙上電信號(hào)時(shí)產(chǎn)生一組隨機(jī)數(shù),通過所述GWM轉(zhuǎn)發(fā)給所述PEPS,同時(shí)根據(jù)自身預(yù)存的固定碼、防盜密鑰和所述隨機(jī)數(shù)進(jìn)行加密計(jì)算生成第一數(shù)據(jù)。
其中,如果鑰匙認(rèn)證超時(shí),當(dāng)所述PEPS電源狀態(tài)處于START時(shí),所述VCU還用于在接收到鑰匙啟動(dòng)信號(hào)時(shí)產(chǎn)生一組隨機(jī)數(shù),通過所述GWM轉(zhuǎn)發(fā)給所述PEPS,同時(shí)根據(jù)自身預(yù)存的固定碼、防盜密鑰和所述隨機(jī)數(shù)進(jìn)行加密計(jì)算生成第一數(shù)據(jù)。
其中,所述VCU用于根據(jù)自身預(yù)存的固定碼、防盜密鑰和所述隨機(jī)數(shù)通過擴(kuò)展的微型加密算法XTEA進(jìn)行加密計(jì)算,生成所述第一數(shù)據(jù),所述PEPS用于根據(jù)自身預(yù)存的固定碼、防盜密鑰和接收到的所述隨機(jī)數(shù)也通過擴(kuò)展的微型加密算法XTEA進(jìn)行加密計(jì)算,生成所述第二數(shù)據(jù)。
其中,所述VCU自身預(yù)存的固定碼和防盜密鑰分別與所述PEPS自身預(yù)存的固定碼和防盜密鑰相一致。
本發(fā)明實(shí)施例的有益效果在于:通過在純電動(dòng)車型 VCU和PEPS之間設(shè)計(jì)防盜認(rèn)證的交互流程,完善了純電動(dòng)車型的防盜認(rèn)證方法,可有效地提高純電動(dòng)汽車防盜系統(tǒng)安全性和可靠性。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實(shí)施例一一種純電動(dòng)汽車防盜認(rèn)證方法的流程示意圖。
圖2是本發(fā)明實(shí)施例一中認(rèn)證成功的防盜認(rèn)證流程示意圖。
圖3是本發(fā)明實(shí)施例一中PEPS無響應(yīng)時(shí)的防盜認(rèn)證流程示意圖。
圖4是本發(fā)明實(shí)施例一中PEPS響應(yīng)忙時(shí)的防盜認(rèn)證流程示意圖。
圖5是本發(fā)明實(shí)施例一中通信失敗時(shí)防盜認(rèn)證的流程示意圖。
圖6是本發(fā)明實(shí)施例一中鑰匙不匹配時(shí)的防盜認(rèn)證流程示意圖。
圖7是本發(fā)明實(shí)施例一中認(rèn)證狀態(tài)為空時(shí)的防盜認(rèn)證流程示意圖。
圖8是本發(fā)明實(shí)施例二一種純電動(dòng)汽車防盜認(rèn)證系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
以下各實(shí)施例的說明是參考附圖,用以示例本發(fā)明可以用以實(shí)施的特定實(shí)施例。
由于在純電動(dòng)汽車中,發(fā)動(dòng)機(jī)并非充分且必要?jiǎng)恿碓矗杭冸妱?dòng)車型未配置發(fā)動(dòng)機(jī)、混合動(dòng)力車型在發(fā)動(dòng)機(jī)不工作的情況下仍能進(jìn)行純電行駛。因此原先由發(fā)動(dòng)機(jī)管理系統(tǒng)EMS、網(wǎng)關(guān)模塊GWM、無匙啟動(dòng)/智能進(jìn)入系統(tǒng)PEPS構(gòu)成的一個(gè)發(fā)動(dòng)機(jī)防盜鎖止系統(tǒng)IMMO防盜認(rèn)證環(huán),需要更改為VCU、GWM、PEPS三者構(gòu)成,即整車控制器VCU需要替代原先EMS在IMMO防盜認(rèn)證方面的職責(zé),實(shí)現(xiàn)對應(yīng)的防盜認(rèn)證流程。
請參照圖2所示,本發(fā)明實(shí)施例一提供一種純電動(dòng)汽車防盜認(rèn)證方法,包括:
步驟S1,整車控制器VCU產(chǎn)生一組隨機(jī)數(shù),通過網(wǎng)關(guān)模塊GWM轉(zhuǎn)發(fā)給無匙啟動(dòng)/智能進(jìn)入系統(tǒng)PEPS,同時(shí)所述VCU根據(jù)自身預(yù)存的固定碼、防盜密鑰和所述隨機(jī)數(shù)進(jìn)行加密計(jì)算生成第一數(shù)據(jù);
步驟S2,PEPS根據(jù)自身預(yù)存的固定碼、防盜密鑰和接收到的所述隨機(jī)數(shù)進(jìn)行加密計(jì)算,生成第二數(shù)據(jù),并通過所述GWM轉(zhuǎn)發(fā)給所述VCU;
步驟S3,所述VCU將所述第一數(shù)據(jù)與返回的所述第二數(shù)據(jù)進(jìn)行校驗(yàn)比對,若匹配則判定防盜認(rèn)證成功,否則判定防盜認(rèn)證失敗。
由于本實(shí)施例中VCU與PEPS之間通過CAN信號(hào)交互,因此對防盜認(rèn)證過程中CAN信號(hào)進(jìn)行以下定義:
VCU端:
防盜認(rèn)證模式信號(hào)(Challenge Code):VCU->GWM-PEPS
消息名稱(Message Name):VCU_IMMO
消息長度(Message Length):8 bytes
ID:0x31
信號(hào)名稱(Signal Name):VCU_ChallengeCode
其中,本實(shí)施例中VCU發(fā)出的隨機(jī)數(shù)為8字節(jié),所有8字節(jié)全為0x00或0xFF為無效的隨機(jī)數(shù),在正常防盜認(rèn)證時(shí)VCU不應(yīng)發(fā)送無效的隨機(jī)數(shù)。但當(dāng)VCU中防盜密鑰未經(jīng)過鑰匙配對時(shí),VCU_ChallengeCode 8個(gè)字節(jié)應(yīng)全置為0xFF。
防盜認(rèn)證結(jié)果信號(hào)(VCU released status): VCU->GWM-PEPS
消息名稱(Message Name):VCU_10_P
消息長度(Message Length):8 bytes
ID: 0x38B
信號(hào)名稱(Signal Name):VCU_Released
PEPS端:
PEPS響應(yīng)信號(hào)(Response): PEPS->GWM->VCU
消息名稱(Message Name): GW_IMMO_P
消息長度(Message Length): 8 bytes
ID:0x38
信號(hào)名稱(Signal Name): GW_IMMO_P
其中認(rèn)證狀態(tài)(Authentication Status)的含義如下:
根據(jù)PEPS反饋的第二數(shù)據(jù)與VCU的校驗(yàn)結(jié)果,本實(shí)施例的防盜認(rèn)證可能會(huì)出現(xiàn)6種不同情況:認(rèn)證成功(Successful release)、PEPS無響應(yīng)(PEPS no response)、PEPS響應(yīng)忙(PEPS response busy)、通信失?。–ommunication failure)、鑰匙不匹配(PEPS failure)以及認(rèn)證狀態(tài)為空(PEPS authentication state error),這6種不同情況可能會(huì)在一次校驗(yàn)過程中交替出現(xiàn)。以下分別進(jìn)行說明。
如圖2所示,是一個(gè)防盜認(rèn)證成功的流程,具體說明如下:
(1)VCU產(chǎn)生一組8個(gè)字節(jié)的隨機(jī)數(shù),發(fā)送CAN信號(hào)VCU_ChallengeCode = 8 Bytes Random Numbers;
(2)GWM轉(zhuǎn)發(fā)GWM_ImmoCode = VCU_ChallengeCode到PEPS;
(3)PEPS根據(jù)自身預(yù)存的固定碼、防盜密鑰和接收到的這組隨機(jī)數(shù),通過擴(kuò)展的微型加密算法XTEA(Extend Tiny Encryption Algorithm)進(jìn)行加密計(jì)算,生成第二數(shù)據(jù),發(fā)送PEPS_ImmoCode = authentication status + 6 bytes response;
(4)GWM轉(zhuǎn)發(fā)GW_IMMO_P = PEPS_ImmoCode到VCU;
(5)VCU讀取到認(rèn)證狀態(tài)authentication status為valid key,則調(diào)用內(nèi)部的pepsKeyCal函數(shù),將由自身預(yù)存的固定碼、防盜密鑰ESK和隨機(jī)數(shù)同樣通過XTEA算法生成的第一數(shù)據(jù),與PEPS返回的第二數(shù)據(jù)進(jìn)行比較,并且通過了校驗(yàn)比對;
(6)VCU發(fā)送CAN信號(hào)VCU_Released = 'VCU released', 表示最終通過防盜認(rèn)證。
再如圖3所示,是VCU發(fā)送出隨機(jī)數(shù)后,一直收不到PEPS響應(yīng)的情況,具體說明如下:
(1)VCU產(chǎn)生一組8個(gè)字節(jié)的隨機(jī)數(shù),發(fā)送CAN信號(hào)VCU_ChallengeCode = 8 Bytes Random Numbers;
(2)GWM轉(zhuǎn)發(fā)GWM_ImmoCode = VCU_ChallengeCode到PEPS;
(3)VCU等待第一時(shí)間(時(shí)序參數(shù)tKeyStatusRx)后,仍沒有收到PEPS的反饋,則VCU認(rèn)為PEPS無響應(yīng);
(4) VCU再次等待第二時(shí)間(時(shí)序參數(shù)tECMAuthDelayRetry)后,采用上次生成的那一組8個(gè)字節(jié)的隨機(jī)數(shù)不變,再次發(fā)送CAN信號(hào)VCU_ChallengeCode = 8 Bytes Random Numbers;
(5)GWM轉(zhuǎn)發(fā)GWM_ImmoCode = VCU_ChallengeCode到PEPS;
(6)VCU等待第一時(shí)間(時(shí)序參數(shù)tKeyStatusRx)后,依然沒有收到PEPS的反饋,則重復(fù)第(4)至(6)步,直到達(dá)到上限重試次數(shù);
(7)VCU發(fā)送CAN信號(hào)VCU_Released = 'VCU locked',表示防盜認(rèn)證最終沒有通過。
如圖4所示,是VCU發(fā)送出隨機(jī)數(shù)后,一直收到PEPS的響應(yīng)是認(rèn)證狀態(tài)忙(busy)的情況,具體說明如下:
(1)VCU產(chǎn)生一組8個(gè)字節(jié)的隨機(jī)數(shù),發(fā)送CAN信號(hào)VCU_ChallengeCode = 8 Bytes Random Numbers;
(2)GWM轉(zhuǎn)發(fā)GWM_ImmoCode = VCU_ChallengeCode到PEPS;
(3)PEPS由于還在查找鑰匙或者正在計(jì)算第二數(shù)據(jù)中,因此發(fā)送PEPS_ImmoCode = authentication status(: busy) + 6 bytes response;
(4)GWM轉(zhuǎn)發(fā)GW_IMMO_P = PEPS_ImmoCode到VCU;
(5)VCU讀取到認(rèn)證狀態(tài)(authentication status)為忙(busy),則等待第二時(shí)間(時(shí)序參數(shù)tECMAuthDelayRetry)后,采用上次生成的那一組8個(gè)字節(jié)的隨機(jī)數(shù)不變,發(fā)送CAN信號(hào)VCU_ChallengeCode = 8 Bytes Random Numbers;
(6)GWM轉(zhuǎn)發(fā)GWM_ImmoCode = VCU_ChallengeCode到PEPS;
(7)PEPS依然處于查找鑰匙或者正在計(jì)算第二數(shù)據(jù)中,再次發(fā)送PEPS_ImmoCode = authentication status(: busy) + 6 bytes response;
(8)GWM轉(zhuǎn)發(fā)GW_IMMO_P = PEPS_ImmoCode到VCU;
(9)VCU收到PEPS的認(rèn)證狀態(tài)(authentication status)為忙(busy),則VCU重復(fù)第(5)至(9)步,直到達(dá)到上限重試次數(shù);
(10)VCU發(fā)送CAN信號(hào)VCU_Released = 'VCU locked',表示防盜認(rèn)證最終沒有通過。
如圖5所示,是VCU接收到PEPS的認(rèn)證狀態(tài)(Authentication status)為Valid Key,但校驗(yàn)比對時(shí)出現(xiàn)沒有通過的情況,即通信失敗,具體說明如下:
(1)VCU產(chǎn)生一組8個(gè)字節(jié)的隨機(jī)數(shù),發(fā)送CAN信號(hào)VCU_ChallengeCode = 8 Bytes Random Numbers;
(2)GWM轉(zhuǎn)發(fā)GWM_ImmoCode = VCU_ChallengeCode到PEPS;
(3)PEPS根據(jù)自身預(yù)存的固定碼、防盜密鑰和接收到的這組隨機(jī)數(shù),通過XTEA算法進(jìn)行加密計(jì)算,生成第二數(shù)據(jù),發(fā)送PEPS_ImmoCode = authentication status + 6 bytes response;
(4)GWM轉(zhuǎn)發(fā)GW_IMMO_P = PEPS_ImmoCode到VCU;
(5)VCU讀取到認(rèn)證狀態(tài)(authentication status)為鑰匙認(rèn)證通過(valid key),則調(diào)用內(nèi)部的pepsKeyCal函數(shù),將由自身預(yù)存的固定碼、防盜密鑰和隨機(jī)數(shù)同樣通過XTEA算法生成的第一數(shù)據(jù),與PEPS返回的第二數(shù)據(jù)進(jìn)行比較,但是沒有通過校驗(yàn)比對;
(6)VCU等待第二時(shí)間(時(shí)序參數(shù)tECMAuthDelayRetry)后,重新生成一組新的8個(gè)字節(jié)的隨機(jī)數(shù),發(fā)送CAN信號(hào)VCU_ChallengeCode = New 8 Bytes Random Numbers;
(7)GWM轉(zhuǎn)發(fā)GWM_ImmoCode = VCU_ChallengeCode到PEPS;
(8)PEPS根據(jù)自身預(yù)存的固定碼、防盜密鑰和接收到的這組隨機(jī)數(shù),通過XTEA算法進(jìn)行加密計(jì)算,將計(jì)算結(jié)果中的部分位數(shù)用鑰匙認(rèn)證結(jié)果替換后生成第二數(shù)據(jù),發(fā)送PEPS_ImmoCode = authentication status + 6 bytes response;
(9)GWM轉(zhuǎn)發(fā)GW_IMMO_P = PEPS_ImmoCode到VCU;
(10)VCU讀取到authentication status為valid key,則調(diào)用pepsKeyCal函數(shù),將由自身預(yù)存的固定碼、防盜密鑰和新的隨機(jī)數(shù)同樣通過XTEA算法生成的第一數(shù)據(jù),與PEPS返回的第二數(shù)據(jù)進(jìn)行比較,如果通過了校驗(yàn)比對,則調(diào)到第(11)步,如果未通過校驗(yàn)比對,則重復(fù)第(6)至(10)步,直到達(dá)到上限重試次數(shù),則VCU發(fā)送CAN信號(hào)VCU_Released = 'VCU locked,表示防盜系統(tǒng)最終未通過防盜認(rèn)證,流程結(jié)束;
(11) VCU發(fā)送CAN信號(hào)VCU_Released = 'VCU released',表示防盜系統(tǒng)最終通過防盜認(rèn)證。
如圖6所示,是VCU接收到PEPS的認(rèn)證狀態(tài)(authentication status)為鑰匙不匹配(no valid KEY)的情況,具體說明如下:
(1)VCU產(chǎn)生一組8個(gè)字節(jié)的隨機(jī)數(shù),發(fā)送CAN信號(hào)VCU_ChallengeCode = 8 Bytes Random Numbers;
(2)GWM轉(zhuǎn)發(fā)GWM_ImmoCode = VCU_ChallengeCode到PEPS;
(3)PEPS發(fā)現(xiàn)鑰匙不匹配,發(fā)送PEPS_ImmoCode = authentication status(: no valid KEY) + 6 bytes response;
(4)GWM轉(zhuǎn)發(fā)GW_IMMO_P = PEPS_ImmoCode到VCU;
(5)VCU讀取到認(rèn)證狀態(tài)(authentication status)為鑰匙不匹配(no valid KEY),則發(fā)送CAN信號(hào)VCU_Released = 'VCU locked',表示防盜認(rèn)證最終沒有通過。
需要說明的是,本實(shí)施例的防盜認(rèn)證發(fā)生在鑰匙認(rèn)證之后,通過鑰匙認(rèn)證之后才進(jìn)行防盜認(rèn)證。圖6所示的例子是在進(jìn)入防盜認(rèn)證流程后,如果發(fā)生鑰匙被丟出車外的狀況,則需附帶進(jìn)行鑰匙認(rèn)證。
如圖7所示,是VCU接收到PEPS的認(rèn)證狀態(tài)(authentication status)為空(not defined)的情況,具體說明如下:
(1)VCU產(chǎn)生一組8個(gè)字節(jié)的隨機(jī)數(shù),發(fā)送CAN信號(hào)VCU_ChallengeCode = 8 Bytes Random Numbers;
(2)GWM轉(zhuǎn)發(fā)GWM_ImmoCode = VCU_ChallengeCode到PEPS;
(3)PEPS根據(jù)自身預(yù)存的固定碼、防盜密鑰和接收到的這組隨機(jī)數(shù),通過XTEA算法進(jìn)行加密計(jì)算,生成第二數(shù)據(jù),發(fā)送PEPS_ImmoCode = authentication status + 6 bytes response;
(4)GWM轉(zhuǎn)發(fā)GW_IMMO_P = PEPS_ImmoCode到VCU;
(5)VCU讀取到認(rèn)證狀態(tài)(authentication status)為空(not defined);
(6)VCU等待第二時(shí)間(時(shí)序參數(shù)tECMAuthDelayRetry)后,重新生成一組新的8個(gè)字節(jié)的隨機(jī)數(shù),發(fā)送CAN信號(hào)VCU_ChallengeCode = New 8 Bytes Random Numbers;
(7)GWM轉(zhuǎn)發(fā)GWM_ImmoCode = VCU_ChallengeCode到PEPS;
(8)PEPS根據(jù)自身預(yù)存的固定碼、防盜密鑰和接收到的這組隨機(jī)數(shù),通過XTEA算法進(jìn)行加密計(jì)算,將計(jì)算結(jié)果中的部分位數(shù)用鑰匙認(rèn)證結(jié)果替換后生成第二數(shù)據(jù),發(fā)送PEPS_ImmoCode = authentication status + 6 bytes response;
(9)GWM轉(zhuǎn)發(fā)GW_IMMO_P = PEPS_ImmoCode到VCU;
(10)VCU讀取到認(rèn)證狀態(tài)(authentication status)為空(not defined),則調(diào)用pepsKeyCal函數(shù),將由自身預(yù)存的固定碼、防盜密鑰ESK和新的隨機(jī)數(shù)同樣通過XTEA算法生成的第一數(shù)據(jù),與PEPS返回的第二數(shù)據(jù)進(jìn)行比較,如果通過了校驗(yàn)比對,則調(diào)到第(11)步,如果未通過校驗(yàn)比對,則重復(fù)第(6)至(10)步,直到達(dá)到上限重試次數(shù),則VCU發(fā)送CAN信號(hào)VCU_Released = 'VCU locked,表示防盜系統(tǒng)最終未通過防盜認(rèn)證,流程結(jié)束;
(11) VCU發(fā)送CAN信號(hào)VCU_Released = 'VCU released',表示防盜系統(tǒng)最終通過防盜認(rèn)證。
可以理解的是,VCU自身預(yù)存的固定碼和防盜密鑰分別與PEPS自身預(yù)存的固定碼和防盜密鑰相一致,均通過線下寫入。
如前所述,上述6種情況況可能會(huì)在一次校驗(yàn)過程中交替出現(xiàn),當(dāng)交替出現(xiàn)時(shí),一旦達(dá)到認(rèn)證成功(Successful release)或鑰匙不匹配(PEPS failure)條件,直接將VCU_Released置位為'VCU released'或'VCU locked';而在另外四種條件下不斷交替時(shí),需要不斷重復(fù)發(fā)起校驗(yàn),因?yàn)檫@四種情況的重復(fù)發(fā)起上限次數(shù)并非完全相同,故有著相同的重復(fù)發(fā)起上限次數(shù)的情況復(fù)用一個(gè)相同的重復(fù)發(fā)起計(jì)數(shù),任意一個(gè)重復(fù)發(fā)起計(jì)數(shù)達(dá)到了其上限次數(shù)時(shí)均應(yīng)將VCU_Released置位為'VCU locked'。
還需說明的是,在步驟S1之前,用戶操作啟動(dòng)開關(guān),PEPS置位IGN ON繼電器,處于IGN ON狀態(tài),VCU檢測 KeyOn引腳電壓,電壓達(dá)到一定值,則啟動(dòng)認(rèn)證流程。如果認(rèn)證未通過或鑰匙認(rèn)證超時(shí),在IGN ON狀態(tài),用戶操作啟動(dòng)開關(guān),PEPS置位Start Relay時(shí),VCU檢測Key start引腳電壓,電壓達(dá)到一定值,VCU應(yīng)該再次發(fā)起與PEPS的認(rèn)證流程。
由此,本實(shí)施例在步驟S1之前還包括:
當(dāng)所述PEPS電源狀態(tài)處于IGN時(shí),如果所述VCU已接收到鑰匙上電信號(hào),則執(zhí)行步驟S1。
如果鑰匙認(rèn)證超時(shí),當(dāng)所述PEPS電源狀態(tài)處于START時(shí),所述VCU在接收到鑰匙啟動(dòng)信號(hào)時(shí)執(zhí)行步驟S1。
請?jiān)賲⒄請D8所示,基于本發(fā)明實(shí)施例一,本發(fā)明實(shí)施例二提供本發(fā)明還提供一種純電動(dòng)汽車防盜認(rèn)證系統(tǒng),包括:
整車控制器VCU、網(wǎng)關(guān)模塊GWM以及無匙啟動(dòng)/智能進(jìn)入系統(tǒng)PEPS,其中,
所述VCU用于產(chǎn)生一組隨機(jī)數(shù),通過所述GWM轉(zhuǎn)發(fā)給所述PEPS,同時(shí)根據(jù)自身預(yù)存的固定碼、防盜密鑰和所述隨機(jī)數(shù)進(jìn)行加密計(jì)算生成第一數(shù)據(jù);
所述PEPS用于根據(jù)自身預(yù)存的固定碼、防盜密鑰和接收到的所述隨機(jī)數(shù)進(jìn)行加密計(jì)算,生成第二數(shù)據(jù),并通過所述GWM轉(zhuǎn)發(fā)給所述VCU;
所述VCU還用于將所述第一數(shù)據(jù)與返回的所述第二數(shù)據(jù)進(jìn)行校驗(yàn)比對,若匹配則判定防盜認(rèn)證成功,否則判定防盜認(rèn)證失敗。
其中,所述VCU通過所述GWM轉(zhuǎn)發(fā)所述隨機(jī)數(shù)給所述PEPS之后,如果等待第一時(shí)間后沒有收到所述PEPS的響應(yīng),則等待第二時(shí)間后將所述隨機(jī)數(shù)再次通過所述GWM轉(zhuǎn)發(fā)給所述PEPS,重復(fù)前述過程,如果直至達(dá)到上限重試次數(shù)都沒有收到所述PEPS的響應(yīng),則判定防盜認(rèn)證失敗。
其中,所述PEPS如果處于查找鑰匙或計(jì)算所述第二數(shù)據(jù)過程中,則通過所述GWM向所述VCU返回認(rèn)證狀態(tài)忙,所述VCU等待第二時(shí)間后將所述隨機(jī)數(shù)再次通過所述GWM轉(zhuǎn)發(fā)給所述PEPS,重復(fù)前述過程,如果直至達(dá)到上限重試次數(shù)收到所述PEPS的響應(yīng)均為認(rèn)證狀態(tài)忙,則判定防盜認(rèn)證失敗。
其中,如果所述第一數(shù)據(jù)與返回的所述第二數(shù)據(jù)的校驗(yàn)比對不匹配,則所述VCU用于等待第二時(shí)間后,重新產(chǎn)生一組新的隨機(jī)數(shù),通過所述GWM轉(zhuǎn)發(fā)給所述PEPS,同時(shí)根據(jù)自身預(yù)存的固定碼、防盜密鑰和所述新的隨機(jī)數(shù)進(jìn)行加密計(jì)算生成新的第一數(shù)據(jù);
所述PEPS用于根據(jù)自身預(yù)存的固定碼、防盜密鑰和接收到的所述新的隨機(jī)數(shù)進(jìn)行加密計(jì)算,將計(jì)算結(jié)果中的部分位數(shù)用鑰匙認(rèn)證結(jié)果替換后生成新的第二數(shù)據(jù),通過所述GWM將所述新的第二數(shù)據(jù)轉(zhuǎn)發(fā)給所述VCU;
所述VCU還用于將所述新的第一數(shù)據(jù)與所述PEPS返回的所述新的第二數(shù)據(jù)進(jìn)行校驗(yàn)比對,如果相匹配則判定防盜認(rèn)證成功,如果不匹配則重復(fù)前述流程,如果直到達(dá)到上限重試次數(shù)仍不匹配,則判定防盜認(rèn)證失敗。
其中,如果所述PEPS發(fā)現(xiàn)鑰匙不匹配,則通過所述GWM向所述VCU返回鑰匙不匹配的響應(yīng),所述VCU判定防盜認(rèn)證失敗。
其中,如果所述VCU讀取到所述PEPS返回的認(rèn)證狀態(tài)為空時(shí),則所述VCU用于等待第二時(shí)間后,重新產(chǎn)生一組新的隨機(jī)數(shù),通過所述GWM轉(zhuǎn)發(fā)給所述PEPS,同時(shí)根據(jù)自身預(yù)存的固定碼、防盜密鑰和所述新的隨機(jī)數(shù)進(jìn)行加密計(jì)算生成新的第一數(shù)據(jù);
所述PEPS用于根據(jù)自身預(yù)存的固定碼、防盜密鑰和接收到的所述新的隨機(jī)數(shù)進(jìn)行加密計(jì)算,將計(jì)算結(jié)果中的部分位數(shù)用鑰匙認(rèn)證結(jié)果替換后生成新的第二數(shù)據(jù),通過所述GWM將所述新的第二數(shù)據(jù)轉(zhuǎn)發(fā)給所述VCU;
所述VCU還用于將所述新的第一數(shù)據(jù)與所述PEPS返回的所述新的第二數(shù)據(jù)進(jìn)行校驗(yàn)比對,如果相匹配則判定防盜認(rèn)證成功,如果不匹配則重復(fù)前述流程,如果直到達(dá)到上限重試次數(shù)仍不匹配,則判定防盜認(rèn)證失敗。
其中,當(dāng)所述PEPS電源狀態(tài)處于IGN時(shí),所述VCU還用于在已接收到鑰匙上電信號(hào)時(shí)產(chǎn)生一組隨機(jī)數(shù),通過所述GWM轉(zhuǎn)發(fā)給所述PEPS,同時(shí)對所述隨機(jī)數(shù)進(jìn)行加密計(jì)算生成第一數(shù)據(jù)。
其中,如果鑰匙認(rèn)證超時(shí),當(dāng)所述PEPS電源狀態(tài)處于START時(shí),所述VCU還用于在接收到鑰匙啟動(dòng)信號(hào)時(shí)產(chǎn)生一組隨機(jī)數(shù),通過所述GWM轉(zhuǎn)發(fā)給所述PEPS,同時(shí)對所述隨機(jī)數(shù)進(jìn)行加密計(jì)算生成第一數(shù)據(jù)。
其中,所述VCU用于根據(jù)自身預(yù)存的固定碼、防盜密鑰和所述隨機(jī)數(shù)通過擴(kuò)展的微型加密算法XTEA進(jìn)行加密計(jì)算,生成所述第一數(shù)據(jù),所述PEPS用于根據(jù)自身預(yù)存的固定碼、防盜密鑰和接收到的所述隨機(jī)數(shù)也通過擴(kuò)展的微型加密算法XTEA進(jìn)行加密計(jì)算,生成所述第二數(shù)據(jù)。
其中,VCU自身預(yù)存的固定碼和防盜密鑰分別與PEPS自身預(yù)存的固定碼和防盜密鑰相一致。
有關(guān)本實(shí)施例的工作原理以及所帶來的有益效果請參照本發(fā)明實(shí)施例一的說明,此處不再贅述。
通過上述說明可知,本發(fā)明所帶來的有益效果在于:通過在純電動(dòng)車型 VCU和PEPS之間設(shè)計(jì)防盜認(rèn)證的交互流程,完善了純電動(dòng)車型的防盜認(rèn)證方法,可有效地提高純電動(dòng)汽車防盜系統(tǒng)安全性和可靠性。
以上所揭露的僅為本發(fā)明較佳實(shí)施例而已,當(dāng)然不能以此來限定本發(fā)明之權(quán)利范圍,因此依本發(fā)明權(quán)利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。