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