本發(fā)明屬于汽車技術領域,具體來說涉及一種汽車的無鑰匙進入與啟動系統(tǒng)密鑰導出方法。
背景技術:
汽車無鑰匙開門和無鑰匙啟動系統(tǒng)(簡稱:peps系統(tǒng))的功能由無鑰匙進入和無鑰匙啟動兩部分組成。車載端動作執(zhí)行與否需要通過鑰匙端進行判斷:①當車主要進入車內(nèi)時,只要車外有1把合法鑰匙,則執(zhí)行解鎖命令。②當車主離開時,若車內(nèi)有合法鑰匙存在,則執(zhí)行報警命令;若車內(nèi)無合法鑰匙且車外有1把合法鑰匙,則執(zhí)行閉鎖命令。③車主啟動車輛時,只要車內(nèi)有1把合法鑰匙,則執(zhí)行相應的檔位切換命令。此外,鑰匙端是否在合法區(qū)域需要通過定義智能鑰匙的查找順序加以確定??梢?,智能鑰匙是peps系統(tǒng)工作啟動的關鍵。采用了滾動碼加解密技術(keeloq)的peps系統(tǒng)具有安全實用性且很大程度上降低了成本。
在keeloq安全模式下,設備密鑰通過廠商代碼和安全種子碼導出。其中,廠商代碼是確保產(chǎn)品安全性的關鍵,被存儲在接收器的一個讀保護存儲器內(nèi)。另外,需要種子碼才能獲得解碼密碼,解密過程可分為下面三個步驟:
步驟1啟動接收器使接收方處于安全學習模式,同時按下4個鍵,發(fā)送種子碼和序列號。
步驟2由種子碼獲得32位的最低有效位(lsb)。
步驟3用0+序列號的方法產(chǎn)生32位的最高有效位(msb)。
現(xiàn)有的密鑰導出方案可歸納如下:①設備密鑰由28位序列號和32位種子碼通過2個滾動碼加解密技術(keeloq)的解密方法輸出后組合得到,其中f1和f2函數(shù)應用于發(fā)送32位的序列號和安全種子碼1。②設備密鑰由序列號和種子碼通過簡單函數(shù)組合后再與廠商代碼異或生成。③設備密鑰由來自發(fā)送端種子碼的簡單函數(shù)輸出與廠商代碼異或生成。
原keeloq密碼發(fā)布于20世紀80年代,至今已有多種針對keeloq密碼的攻擊方法。2007年,bogdanov首次使用猜測-決定和滑動技術對keeloq進行攻擊。2008年,courtois等人提出了能破解keeloq密碼的4種滑動-代數(shù)攻擊方法。2010年,游建雄等人提出3不同采用面向字節(jié)的差分故障攻擊方法有效提高了攻擊效率。到了2012年,nicolast等人又提出了對keeloq密碼的自相似攻擊方法,指出只需選擇兩個明文,就可直接破解keeloq密碼。所以使用原密碼技術(keeloq)的peps系統(tǒng)存在一定的安全性隱患。
技術實現(xiàn)要素:
本發(fā)明的目的在于克服上述缺點而提供的一種能提高密鑰管理安全性的汽車的無鑰匙進入與啟動系統(tǒng)的密鑰導出方法。
本發(fā)明目的及解決其主要技術問題是采用以下技術方案來實現(xiàn)的:
本發(fā)明的一種汽車的無鑰匙進入與啟動系統(tǒng)的密鑰導出方法,包括以下步驟:
(1)密鑰協(xié)商過程:
①車載端利用單片機的計數(shù)器功能產(chǎn)生x,當單次操作完畢后,單片機的計數(shù)器一直不停地計數(shù),當外界對其再次操作或者發(fā)送數(shù)據(jù)時停止;
②車載端向鑰匙端發(fā)送兩個用車載端私鑰(pk_s)簽名的大隨機數(shù)
③鑰匙端接收到信息后,用車載端公鑰驗證信息的合法性,若合法,則進行步驟④,否則,身份認證不予通過,重復步驟②;
④鑰匙端產(chǎn)生兩個大隨機數(shù)
(2)鑰匙端使用密鑰協(xié)商過程所獲得的原廠商代碼(manufacturer_key)、臨時密鑰(tempkey)、序列號(sn)以及種子碼(seed)的值計算出本輪通信雙方的設備密鑰(devkey),然后生成經(jīng)過keeloq加密后的32位跳碼數(shù)據(jù)hop;
(3)鑰匙端將由固定碼(fix)和跳碼(hop)組成的66位編碼字連同用鑰匙端私鑰(pk_c)簽名的大數(shù)
(4)車載系統(tǒng)使用鑰匙端私鑰驗證接收到的響應數(shù)據(jù)是否合法,若合法,則做出相應的動作響應,否則識別錯誤,重復步驟(3)。
上述的汽車的無鑰匙進入與啟動系統(tǒng)的密鑰導出方法,其中設備密鑰生成過程為:
鑰匙端與車載端通過上述的密鑰協(xié)商過程獲得當前這一次的64位臨時密鑰以及32位臨時安全種子碼;然后64位設備密鑰則由32位臨時安全種子碼和28位序列號加前導碼,分別通過一次keeloq解密輸出的32位最高有效位和32位最低有效位組合而成,而keeloq解密輸出所用的密鑰則是由原保密的64位廠商代碼與64位臨時密鑰相異或生成的64位臨時廠商代碼。
本發(fā)明同現(xiàn)有技術相比,具有明顯的優(yōu)點和有益效果,由以上技術方案可知,鑰匙端與車載端通過密鑰協(xié)商過程獲得當前這一次的64位臨時密鑰以及32位臨時安全種子碼。然后64位設備密鑰則由32位臨時安全種子碼和28位序列號加前導碼,分別通過一次keeloq解密輸出的32位最高有效位和32位最低有效位組合而成,這使得安全種子碼和廠商代碼可以隨機生成,這樣即使本輪的安全種子碼和設備密鑰因被破解而泄露也無法推導出廠商代碼的真實值,從而能提高了汽車無鑰匙開門和無鑰匙啟動密鑰管理安全性。
附圖說明
圖1為本發(fā)明的設備密鑰生成過程圖。
具體實施方式
(1)密鑰協(xié)商過程:
①車載端利用單片機的計數(shù)器功能產(chǎn)生x,當單次操作完畢后,單片機的計數(shù)器一直不停地計數(shù),當外界對其再次操作或者發(fā)送數(shù)據(jù)時停止;
②車載端向鑰匙端發(fā)送兩個用車載端私鑰(pk_s)簽名的大隨機數(shù)
③鑰匙端接收到信息后,用車載端公鑰驗證信息的合法性,若合法,則進行步驟④,否則,身份認證不予通過,重復步驟②;
④鑰匙端產(chǎn)生兩個大隨機數(shù)
(2)鑰匙端使用密鑰協(xié)商過程所獲得的原廠商代碼(manufacturer_key)、臨時密鑰(tempkey)、序列號(sn)以及種子碼(seed)的值計算出本輪通信雙方的設備密鑰(devkey),然后生成經(jīng)過keeloq加密后的32位跳碼數(shù)據(jù)hop;
(3)鑰匙端將由固定碼(fix)和跳碼(hop)組成的66位編碼字連同用鑰匙端私鑰(pk_c)簽名的大數(shù)
(4)車載系統(tǒng)使用鑰匙端私鑰驗證接收到的響應數(shù)據(jù)是否合法,若合法,則做出相應的動作響應,否則識別錯誤,重復步驟(3)。
上述的汽車的無鑰匙進入與啟動系統(tǒng)的密鑰導出方法,其中設備密鑰生成過程為:
鑰匙端與車載端通過上述的密鑰協(xié)商過程獲得當前這一次的64位臨時密鑰以及32位臨時安全種子碼;然后64位設備密鑰則由32位臨時安全種子碼和28位序列號加前導碼,分別通過一次keeloq解密輸出的32位最高有效位和32位最低有效位組合而成,而keeloq解密輸出所用的密鑰則是由原保密的64位廠商代碼與64位臨時密鑰相異或生成的64位臨時廠商代碼。
本發(fā)明同現(xiàn)有技術相比,具有明顯的優(yōu)點和有益效果,由以上技術方案可知,鑰匙端與車載端通過上述的密鑰協(xié)商過程獲得當前這一次的64位臨時密鑰以及32位臨時安全種子碼。然后64位設備密鑰則由32位臨時安全種子碼和28位序列號加前導碼,分別通過一次keeloq解密輸出的32位最高有效位和32位最低有效位組合而成,這使得安全種子碼和廠商代碼可以隨機生成,這樣即使本輪的安全種子碼和設備密鑰因被破解而泄露也無法推導出廠商代碼的真實值,從而能提高了汽車無鑰匙開門和無鑰匙啟動系統(tǒng)安全性。
以上所述,僅是本發(fā)明的較佳實施例而已,并非對本發(fā)明作任何形式上的限制,任何未脫離本發(fā)明技術方案內(nèi)容,依據(jù)本發(fā)明的技術實質(zhì)對以上實施例所作的任何簡單修改、等同變化與修飾,均仍屬于本發(fā)明技術方案的范圍內(nèi)。