梁純



摘要:編碼的無線傳輸?shù)氖侄魏芏啵蠖嘁悦鞔a透明傳送。雖然方便,但安全可靠性無從談起,容易被類似裝置截獲和復(fù)制,并用于非法用途。本文介 紹了微芯公司(Microchip)內(nèi)嵌先進(jìn)的 Keeloq 技術(shù)的滾動(dòng)編解碼芯片 HCS301 的原理及加密、解密方法,提出了一種基于滾動(dòng)編解碼技術(shù)的新型加密鍵盤的方案,并給出了電路原理圖。這一方案可廣泛應(yīng)用于汽車、電動(dòng)車、公共自行車、銀行自動(dòng)存取款機(jī)和高檔樓宇門禁系統(tǒng)等高端安防系統(tǒng)。
關(guān)鍵詞:滾動(dòng)編解碼,HCS301,加密鍵盤
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-9129(2017)09-080-02
Abstract:Therearemanymethodsforwirelesstransmissionofcodingdata,butmostofthemaretransparenttransmission.Thoughit'sexpedient,butit'salsoin- tercepted by some similar devices, and used for illegal purpose. Thepaper shows the principle and advanced encrypting and decryption technique of the Keeloq CodeHoppingEncoderHCS301fromMicrochip.Andtheschemeandcircuitdiagramofanewtypeofcryptkeyarrgiven.Thisschemewillbebroadlyusedfor high-endsecurities,forexamplecars,electricbicycles,publicbicycles,banks'ATMandhigh-gradebuildingaccesssystem.
Key Words: Rolling coding, HCS301, Encryption keyboard
1 引言
常用的固定編解碼芯片如 LM1871/1872、PT2262/2272、EQ5026/5027 等已被廣泛地應(yīng)用于各種系統(tǒng)中,給我們的生活帶來了方便。然而這些芯片不能保證系統(tǒng)的安全性。例如:使用空中截獲設(shè)備,一旦用戶信號(hào)出現(xiàn), 便可瞬間取得合法的身份識(shí)別碼,即地址碼;或者使用編碼掃描設(shè)備,嘗試所有可能編碼,主動(dòng)攻擊解碼芯片,像 PT2262/2272 芯片組破解時(shí)間不會(huì)超過 2 小時(shí),因此保證系統(tǒng)的安全性是一個(gè)很現(xiàn)實(shí)的問題。
美國(guó) Microchip 公司的 Keeloq 技術(shù)是一種復(fù)雜的非線性加密算法,經(jīng)過加密得到的就是所謂的滾動(dòng)碼。由于算法生成的動(dòng)態(tài)編碼僅一次性有效,編碼間無相關(guān)性,無法預(yù)測(cè)、跟蹤、截取、破譯,從而有效克服傳統(tǒng)固定
編碼缺點(diǎn),提供強(qiáng)大、可靠的加密、認(rèn)證性能,保密性極高,可應(yīng)用于各種
其中,64-bit編碼密碼由非線性加密算法根據(jù)保密的芯片制造商代碼
(Manufacture's code)和序列號(hào)計(jì)算生成,與具體芯片一一對(duì)應(yīng),是加密、解密不可缺少的重要依據(jù)。
3 加密原理
HCS301 的編碼加密過程如圖 2 所示。當(dāng)檢測(cè)到有按鍵按下時(shí),編碼器立即讀取按鍵的狀態(tài),同時(shí)刷新同步計(jì)數(shù)器,使同步碼的值加 1。然后, 16-bit 同步計(jì)數(shù)碼和 64-bit 編碼密碼被輸入 Keeloq 加密算法,經(jīng)運(yùn)算,生成 32-bit 加密信息,即滾動(dòng)碼。這 32-bit 數(shù)據(jù)是傳輸碼的滾動(dòng)部分,其值隨著按鍵狀態(tài)的改變而變化。由于加密算法極其復(fù)雜,因此滾動(dòng)碼重復(fù)的機(jī)率極小。32-bit 滾動(dòng)碼、28-bit 芯片序列號(hào)和 6-bit 信息碼合并,形成
66- bit 傳輸編碼(Transmittedcode)傳送給接收解碼器。
保密系統(tǒng),具有較高安防價(jià)值的場(chǎng)所等,有著很好的市場(chǎng)推廣價(jià)值。
2HCS301 簡(jiǎn)介
HCS301 是 Microchip 公司基于 Keeloq 技術(shù)開發(fā)的滾動(dòng)碼系列芯片之一,廣泛應(yīng)用于遙控或命令辨別的應(yīng)用場(chǎng)合。圖 1 所示為芯片原理框圖。
HCS301芯片內(nèi)部有一塊192-bi(t12×16-bit)的EEPROM,用于存儲(chǔ) 64-bit 編碼密碼 (Crypt Key)、16-bit 同步計(jì)數(shù)碼 (Synchronization Value)、32-bit 芯片序列號(hào)(Serial Number)、32-bit 密鑰種子(Seed Value)和 16-bit 配
EEPROM
4 解密原理
Keeloq 加密算法
66-bit傳輸碼
圖 2 加密原理框圖
置字(Config Word) 。表 1 給出了EEPROM 存儲(chǔ)單元映射表。
解密方法包括硬件解密和軟件解密兩種。硬件解密使用專用解碼芯
片(例如 HCS512 等),編程簡(jiǎn)單,但成本較高;軟件解密使用帶有解碼固件的微控制器。解碼固件程序,必須由開發(fā)者與 Microchip 公司簽定保密協(xié)議,由 Microchip 公司授權(quán)使用。
無論使用何種方法,解碼器必須經(jīng)過“學(xué)習(xí)”才能使用。學(xué)習(xí)的過程實(shí)質(zhì)上是解碼器獲取芯片序列號(hào)、解碼密碼和同步計(jì)數(shù)碼的過程。典型的學(xué) 習(xí)步驟如圖 3 所示。
5 在密碼輸入鍵盤中的應(yīng)用
密碼鍵盤廣泛應(yīng)用于各種無人值守場(chǎng)合的門禁系統(tǒng),系統(tǒng)安全性尤為重要。借鑒矩陣鍵盤的結(jié)構(gòu),考慮到解碼時(shí)間對(duì)按鍵響應(yīng)的影響,我們?cè)O(shè)計(jì)了下面的方案:兩片 HCS301 構(gòu)成 4×4 矩陣鍵盤,負(fù)責(zé)對(duì)按鍵進(jìn)行加密編碼傳輸;由通用陣列邏輯 GAL 實(shí)現(xiàn) 16 輸入、8 輸出的組合邏輯,輸入對(duì)應(yīng)于 16 個(gè)按鍵,輸出則對(duì)應(yīng)于兩片 HCS301 的 8 個(gè)輸入端。當(dāng)有鍵按下時(shí),兩片 HCS301 都只有一個(gè)輸入端同時(shí)有效,并輸出兩路滾動(dòng)碼
raw 和 line。硬件電路圖如圖 5(a)所示。
圖 3 學(xué)習(xí)過程示意圖
6 結(jié)論
圖 5 密碼鍵盤原理圖
滾動(dòng)碼技術(shù)編碼位數(shù)多,且相鄰兩次編碼均不重復(fù),因此掃描和截獲
均無法破譯,系統(tǒng)安全性能極高。改進(jìn)后的加密鍵盤可滿足不同場(chǎng)合的使 用要求,稍作修改還可應(yīng)用于電子門鎖、軟件保護(hù)、秘密通訊等領(lǐng)域。
圖 4 解密原理框圖
解碼電路采用帶解密固件程序的 PIC16F72 微控制器,制造商代碼和序號(hào)放在 I?C 接口 EEPROM AT24C01 中供解密程序查用。接收電路收到行碼(raw)和列碼(line)后,經(jīng)解密確認(rèn)被按下鍵的鍵值,輸出執(zhí)行請(qǐng)求的
Inc.
參考文獻(xiàn):
[1] Keeloq?CodeHoppingEncoderHCS301.?2001MicrochipTechnology
[2] GAL26V12Datasheet
[3] PIC 系列單片機(jī)的原理與實(shí)踐.楊圣編著. 合肥:中國(guó)科學(xué)技術(shù)大學(xué)操作。硬件電路圖如圖 5(b)所示。
[4] KEELOQ 加密算法在硬件加密中的應(yīng)用[J]. 李羅,盧建剛. 電子技術(shù)應(yīng)用. 2006(09)
[5]基于 KEELOQ 跳碼技術(shù)的密碼系統(tǒng)設(shè)計(jì)[J]. 高鋒淋,黃世震,林偉. 現(xiàn)代電子技術(shù). 2006(15)
[6]基于 CPLD 防盜報(bào)警系統(tǒng)設(shè)計(jì)[J]. 張曦,李文元,丁潤(rùn)濤. 電子測(cè)量技術(shù). 2004 (03) [7]HCS3XX 編碼芯片及其應(yīng)用 [J]. 黃智偉. 集成電路應(yīng)用.(a)編碼電路 (b)解碼電路2000(05)