周建壯
(渤海大學 工學院,遼寧 錦州 121000)
隨著汽車行業(yè)的不斷發(fā)展,繼RKE(遙控無鑰匙門禁)系統(tǒng)之后,PKE(無鑰匙被動門禁)系統(tǒng)進入汽車市場。PKE技術(shù)是當前汽車電子技術(shù)的研究熱點,已經(jīng)逐步成為絕大部分汽車標準配置。但相關(guān)的PKE系統(tǒng)設計技術(shù)均由國外掌握,使PKE產(chǎn)品性價比不高,使用不靈活。如美國微芯科技公司推出的被動無鑰匙門禁系統(tǒng)方案[1],該方案采用的是一款配備三通道低頻應答器模擬前端 AFE,并集成有KEELOQ加密外設的新型閃存 8位低功耗單片機PIC16F639,該集成芯片由微芯科技公司設計制造,采用納瓦技術(shù),可實現(xiàn)極低功耗、安全可靠的智能雙向通信。在一般工作狀態(tài)下,片內(nèi)單片機是休眠狀態(tài),芯片也可以通過配置寄存器禁止通道及控制每個輸入通道的靈敏度,方便控制能耗;方案采用專利KeeLoq滾動碼加密技術(shù)硬件加密,系統(tǒng)更新及升級不便,并且已有破解算法[2]-[4]。
本文參考Microchip公司基于PIC16F639的PKE解決方案,采用改進型ASE加密算法,提出了低成本、高可靠性的被動門禁系統(tǒng)設計方案。
本系統(tǒng)分為兩部分構(gòu)成,即車載基站和智能應答器。車載基站的低頻信號發(fā)射模塊發(fā)送125kHz激活命令,應答器如果接收到該信號,即激活處于休眠狀態(tài)的微控制器部分,通過高頻信號發(fā)射模塊發(fā)送433MHz應答信號,再由車載基站解調(diào)該應答信號,且由微控制器進行解密驗證,如認證成功則基站控制執(zhí)行機構(gòu)進行相應的開門操作。
車載基站由高頻信號接收解碼模塊、微控制器和低頻信號發(fā)射模塊構(gòu)成。采用微芯公司的 8位低功耗單片機PIC18F2680,在線實時檢測有效的觸發(fā)信號,通過低頻信號發(fā)射模塊發(fā)送125kHz激活命令,此命令用來激活應答器,是PKE系統(tǒng)的關(guān)鍵信號,并通過高頻信號接收模塊實時接收解碼應答器回應的433MHz應答信號,再通過中斷方式由微控制器讀取并解密該信號并進行認證。
應答器由低頻信號接收模塊、微控制器和高頻信號發(fā)射模塊構(gòu)成。采用集成有 KEELOQ加密外設的單片機PIC16F639,控制三通道低頻應答器模擬前端 AFE及按鍵等[5]。當AFE搜索到有效的LF輸入信號時,通過輸出使能濾波器喚醒單片機部分,以減少功耗。AFE可通過SDIO、SCLK和CS引腳(RC1、RC2和RC3共用)、SPI方式進行編程配置,可實現(xiàn)免持操作[6]。
車載基站中的接收模塊GW-R5C1配合應答器中的發(fā)射模塊TX-1G,可以實現(xiàn)300米通信,滿足系統(tǒng)要求。
系統(tǒng)采用軟件加密、解碼的數(shù)據(jù)報文。包括車載基站發(fā)送的用來激活應答器的低頻激活命令報文,以及應答器發(fā)送的基站操作命令報文。
低頻激活命令報文格式具體的時序由125kHz喚醒起始位、16位應答器識別碼數(shù)據(jù)位構(gòu)成。高頻基站操作命令報文格式具體的時序由用于數(shù)據(jù)同步接收的頭序列、136位基站操作功能碼數(shù)據(jù)位構(gòu)成。
安裝于門控系統(tǒng)的車載基站實時監(jiān)測車載總線的微動開關(guān)觸發(fā)信號,由信號被觸發(fā)時,低頻信號發(fā)射電路被激活,發(fā)送125kHz的低頻激活命令報文激活應答器,應答器被激活后對其中的識別碼數(shù)據(jù)進行解碼驗證,如驗證成功即向基站發(fā)送高頻操作指令報文,基站高頻接收電路接收此報文,對其進行解密驗證,如驗證成功即根據(jù)功能碼執(zhí)行相應的操作。
微芯公司推出的方案采用的是硬件加密、軟件解碼的KeeLoq算法,系統(tǒng)更新及升級不便,并且已有破解算法。本文結(jié)合單片機特性和算法特點,對數(shù)據(jù)加密算法提出了改進的AES加密算法。并通過發(fā)送兩組相同數(shù)據(jù)以提高報文長度,延長發(fā)射時間,方便比較檢查報文準確性。
發(fā)射滾碼報文過程中,先將識別碼、數(shù)據(jù)和命令及校驗碼裝到發(fā)射緩沖區(qū),然后加密數(shù)據(jù),并發(fā)射,同步計數(shù)值加1。
接收滾碼報文過程中,先接收報文并解密,對識別碼進行校驗,再通過對比兩組報文驗證正確性,如沒有錯誤即執(zhí)行命令并保存同步計數(shù)值。
AES加密算法是迭代分組加密算法,密鑰、明文長度可變,且彼此獨立。本系統(tǒng)采用128位密鑰和128位數(shù)據(jù)格式。算法加密的迭代輪數(shù)由數(shù)據(jù)塊中字的個數(shù)和密鑰中字的個數(shù)決定。AES加密過程中,數(shù)據(jù)每次迭代過程經(jīng)過字節(jié)代換、行移位、列混合和密鑰加法四個輪變換組成滾動碼編碼數(shù)據(jù)。AES的解密將此過程逆運行即可,且使用相同的軟件。
AES算法無論是在算法的執(zhí)行上還是在其安全上并具有非常出色的表現(xiàn)。至今還未發(fā)展出對AES加密算法行之有效的攻擊方法,因此AES加密的安全性可以得到保障,同時,其高效的運行效率,為AES加密算法在PKE系統(tǒng)中的應用奠定了基礎(chǔ)。
[1]Microchip.Passive keyless entry [EB/OL].Microchip Technology Inc.Available on the internet, http://wwl.microchiP.cohadownloads/ en/DeviceDoc/21986a_cn.pdf, 2006.
[2]A.Bogdanov.Linear slide attacks on the KeeLoq block cipher [J].Information Security and Cryptolog, 2008, (90).
[3]N.T.Courtois, G.V.Bard, D.Wagner.Algebraic and Slide Attacks on KeeLoq [J].Fast Software Encryption,2008,(86).
[4]S.Indesteege, N.Keller, O.Dunkelman,et al.A practical attack on KeeLoq [J].Advances in Cryptology-Eurocrypt 2008, 2008, (65).
[5]劉正瓊.智能PKE 系統(tǒng)設計[J].儀器儀表學報,2007,(4).
[6]昂志敏,孫述鵬,韋康.汽車智能無鑰門控系統(tǒng)的設計與應用[J].電子技術(shù)應用,2004,(8).