飛思卡爾汽車遠(yuǎn)程無(wú)鑰匙進(jìn)入系統(tǒng)(RKE)方案和VKSP安全協(xié)議
針對(duì)日益增長(zhǎng)的汽車遙控?zé)o鑰匙進(jìn)入系統(tǒng)(RKE)市場(chǎng),飛思卡爾半導(dǎo)體近期推出了包含硬件和軟件安全協(xié)議(VKSP)的整體解決方案。
本文引用地址:http://www.ex-cimer.com/article/91867.htm汽車遙控?zé)o鑰匙進(jìn)入系統(tǒng)(RKE)由發(fā)射端(遙控鑰匙)和集成于車身控制模塊中的接收端組成。發(fā)射端將用戶按鍵命令通過(guò)數(shù)據(jù)編碼、加密和組幀后通過(guò)射頻發(fā)射電路發(fā)射,而車內(nèi)接收端則將接收到的信號(hào)通過(guò)射頻解調(diào)、數(shù)據(jù)解碼和幀解密后完成相應(yīng)車門、車燈控制和報(bào)警等用戶指令,系統(tǒng)框圖如圖1。
圖1 飛思卡爾RKE系統(tǒng)簡(jiǎn)化框圖
發(fā)射端:使用Freescale低端8位MC9S08QG4/8(4k/8K flash)微控制器完成用戶按鍵的數(shù)據(jù)編碼、加密組幀,再通過(guò)SAW聲表諧振器電路發(fā)射至UHF頻段。
接收端:使用UHF射頻接收芯片MC33596完成信號(hào)解調(diào)和數(shù)據(jù)曼徹斯特解碼,再將數(shù)據(jù)傳送到車身主控芯片(本參考設(shè)計(jì)選用了8位MC9S08DZ系列)進(jìn)行數(shù)據(jù)解密和指令執(zhí)行。
加密協(xié)議:采用Freescale研發(fā)的可變密鑰安全協(xié)議(VKSP)。
可變密鑰安全協(xié)議(VKSP)是飛思卡爾專門為遙控類應(yīng)用市場(chǎng)開發(fā)的安全傳輸協(xié)議。VKSP的發(fā)送過(guò)程如圖2,其特點(diǎn)包括:
* 采用128位密鑰加密驗(yàn)證,增強(qiáng)了安全性;
* 密鑰中的32位可變密鑰(計(jì)數(shù)器)部分隨時(shí)間和按鍵而增加;
* 即使在遙控距離外被許多次按鍵操作之后,該鑰匙也可以繼續(xù)正常使用,不需要和接收端重新進(jìn)行該鑰匙的學(xué)習(xí)流程;
* 最大支持254個(gè)不同指令傳輸;
* 除了采用飛思卡爾提供的AES加密算法模塊外,用戶也可以根據(jù)需要(如縮小程序大小,減少解密時(shí)間)使用自己的加密算法模塊;
* 純軟件實(shí)現(xiàn),可以靈活的使用于各類微控制器;
* 軟件大?。翰话珹ES加密模塊約為1.5k字節(jié),如果含AES模塊接近3k字節(jié),軟件以庫(kù)函數(shù)的形式免費(fèi)授權(quán)給采用飛思卡爾方案的客戶使用。
圖2 VKSP發(fā)送幀產(chǎn)生
每次按下鑰匙,將會(huì)產(chǎn)生一個(gè)發(fā)送幀。發(fā)送幀有兩個(gè)部分:數(shù)據(jù)部分和消息驗(yàn)證碼(MAC)部分。數(shù)據(jù)部分不用加密,由三個(gè)部分共64位組成:鑰匙號(hào):3個(gè)字節(jié)。用戶命令:1個(gè)字節(jié)??勺兠荑€:4個(gè)字節(jié),每次發(fā)送隨時(shí)間和用戶按鍵而增加,以確保即使用戶命令相同,每次發(fā)送的消息幀內(nèi)容也不會(huì)重復(fù)。消息驗(yàn)證碼(MAC)部分則有8個(gè)字節(jié),由加密模塊產(chǎn)生。接收過(guò)程分為三步,如圖3。
圖3 VKSP接收幀的驗(yàn)證
* 步驟一:接收端檢查接收到的發(fā)送幀中的鑰匙號(hào)是否存在于接收端存儲(chǔ)的有效鑰匙號(hào)數(shù)據(jù)庫(kù)中,如果存在,則從接收端數(shù)據(jù)庫(kù)中同時(shí)取出該鑰匙對(duì)應(yīng)的本地密鑰(Local Key)和可變密鑰 (Variable Key),進(jìn)入下一步驟, 否則丟棄該幀。
* 步驟二:檢查發(fā)送幀中的可變密鑰是否大于步驟一中接收端數(shù)據(jù)庫(kù)中該鑰匙目前的可變密鑰,如是,進(jìn)入下一步驟,否則丟棄該幀。?這一步驟保證了任何再次重復(fù)發(fā)送的幀不會(huì)被認(rèn)為有效幀。
* 步驟三:進(jìn)行消息碼驗(yàn)證。由接收幀中的數(shù)據(jù)字段和從接收數(shù)據(jù)庫(kù)中取出的該鑰匙本地密鑰通過(guò)加密模塊生成消息驗(yàn)證碼,由于發(fā)送端和接收端使用相同的加密模塊,所以,如果發(fā)送端和接收端生成的兩個(gè)消息驗(yàn)證碼相同,則該幀被認(rèn)為有效,用戶命令被執(zhí)行。同時(shí),更新該鑰匙當(dāng)前的可變密鑰至接收端數(shù)據(jù)庫(kù)中。
由上述過(guò)程可知,每一把新鑰匙必須首先完成學(xué)習(xí)過(guò)程,即將該鑰匙的鑰匙號(hào)和本地密鑰存儲(chǔ)到接收端數(shù)據(jù)庫(kù)以后,該鑰匙才能被識(shí)別使用。為了系統(tǒng)安全性,接收系統(tǒng)必須在指定的安全環(huán)境被激活的狀態(tài)下才進(jìn)行學(xué)習(xí)幀的識(shí)別,例如用戶在接收端按下一個(gè)特定的按鍵或者開關(guān),圖4表示了學(xué)習(xí)過(guò)程和學(xué)習(xí)幀的結(jié)構(gòu)。
圖4 VKSP學(xué)習(xí)過(guò)程和學(xué)習(xí)幀
* 接收端首先檢查是否處于安全環(huán)境激活狀態(tài),從而決定是否進(jìn)行學(xué)習(xí)幀識(shí)別。
* 發(fā)送端利用一個(gè)偽隨機(jī)數(shù)發(fā)生器產(chǎn)生128位隨機(jī)數(shù),然后和廠商提供的128位OEM碼(發(fā)送端和接收端必須共享同樣的OEM碼)通過(guò)加密模塊產(chǎn)生128位輸出數(shù)據(jù),截取其中64位作為消息驗(yàn)證碼,截取特定位數(shù)存儲(chǔ)在發(fā)送端作為該鑰匙本地密鑰。同時(shí),將該128位隨機(jī)數(shù)和消息驗(yàn)證碼通過(guò)兩個(gè)連續(xù)的學(xué)習(xí)幀發(fā)送。兩個(gè)學(xué)習(xí)幀分別由數(shù)值0XFE和0XFF特征碼來(lái)識(shí)別。
* 接收端通過(guò)特征碼檢測(cè)到學(xué)習(xí)幀并提取其中的128位隨機(jī)數(shù),然后依靠和發(fā)送端同樣的廠商128位OEM碼和加密模塊完成消息驗(yàn)證碼比對(duì)驗(yàn)證,又按照和發(fā)送端同樣的輸出截取方式生成和發(fā)送端相同的該鑰匙本地密鑰,最后將該本地密鑰和鑰匙號(hào)存儲(chǔ)在接收端數(shù)據(jù)庫(kù)中,從而完成該鑰匙的學(xué)習(xí)過(guò)程。
綜上所述,飛思卡爾半導(dǎo)體的RKE整體方案主要特點(diǎn)及其優(yōu)勢(shì)如下所述。
* 系統(tǒng)選用通用MCU控制器,客戶可以根據(jù)需要添加應(yīng)用功能,增強(qiáng)了靈活性;。
* 接收端不需要單獨(dú)的解密芯片,解密算法集成在車身控制器中實(shí)現(xiàn),簡(jiǎn)化了方案,節(jié)約了成本。
* 鑰匙端系統(tǒng)當(dāng)沒(méi)有用戶按鍵時(shí)候,處于休眠狀態(tài),節(jié)省系統(tǒng)功耗。
* UHF接收芯片MC33596(或者雙向收發(fā)芯片MC33696)支持304MHz到915Mhz的OOK和FSK解調(diào);片內(nèi)支持?jǐn)?shù)據(jù)曼徹斯特解碼,節(jié)省了外部微控制器解碼軟件系統(tǒng)占用;具有片內(nèi)定時(shí)喚醒、片腳喚醒并可設(shè)置特定幀喚醒外部MCU功能,節(jié)省系統(tǒng)功耗;同時(shí)支持兩套系統(tǒng)參數(shù)配置。上述特性也使得該芯片還可以應(yīng)用于被動(dòng)無(wú)鑰匙門禁系統(tǒng)(PKE)和胎壓檢測(cè)(TPMS)系統(tǒng)中。
* VKSP數(shù)據(jù)協(xié)議:純軟件實(shí)現(xiàn),采用128位AES加密,增加了安全性;本地密鑰在鑰匙每次的學(xué)習(xí)過(guò)程中通過(guò)偽隨機(jī)數(shù)發(fā)生器產(chǎn)生,所以對(duì)每把鑰匙的每次學(xué)習(xí)過(guò)程將產(chǎn)生和存儲(chǔ)不同的鑰匙密鑰,增強(qiáng)了保密性。
該方案評(píng)估系統(tǒng)實(shí)物如圖5和圖6。
圖5 RKE評(píng)估系統(tǒng)鑰匙端照片
圖6 RKE評(píng)估系統(tǒng)接收端照片
*注明:本文中所提芯片均已量產(chǎn),數(shù)據(jù)資料可至飛思卡爾官方網(wǎng)站檢索,VKSP協(xié)議詳情也可參考:www.freescale.com/vksp 。
評(píng)論