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