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