滚动码技术及其在加密键盘中的应用

2017-10-20 07:14梁纯
数码设计 2017年9期

梁纯

摘要:编码的无线传输的手段很多,但大多以明码透明传送。虽然方便,但安全可靠性无从谈起,容易被类似装置截获和复制,并用于非法用途。本文介 绍了微芯公司(Microchip)内嵌先进的 Keeloq 技术的滚动编解码芯片 HCS301 的原理及加密、解密方法,提出了一种基于滚动编解码技术的新型加密键盘的方案,并给出了电路原理图。这一方案可广泛应用于汽车、电动车、公共自行车、银行自动存取款机和高档楼宇门禁系统等高端安防系统。

关键词:滚动编解码,HCS301,加密键盘

中图分类号:TP393 文献标识码: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 等已被广泛地应用于各种系统中,给我们的生活带来了方便。然而这些芯片不能保证系统的安全性。例如:使用空中截获设备,一旦用户信号出现, 便可瞬间取得合法的身份识别码,即地址码;或者使用编码扫描设备,尝试所有可能编码,主动攻击解码芯片,像 PT2262/2272 芯片组破解时间不会超过 2 小时,因此保证系统的安全性是一个很现实的问题。

美国 Microchip 公司的 Keeloq 技术是一种复杂的非线性加密算法,经过加密得到的就是所谓的滚动码。由于算法生成的动态编码仅一次性有效,编码间无相关性,无法预测、跟踪、截取、破译,从而有效克服传统固定

编码缺点,提供强大、可靠的加密、认证性能,保密性极高,可应用于各种

其中,64-bit编码密码由非线性加密算法根据保密的芯片制造商代码

(Manufacture's code)和序列号计算生成,与具体芯片一一对应,是加密、解密不可缺少的重要依据。

3 加密原理

HCS301 的编码加密过程如图 2 所示。当检测到有按键按下时,编码器立即读取按键的状态,同时刷新同步计数器,使同步码的值加 1。然后, 16-bit 同步计数码和 64-bit 编码密码被输入 Keeloq 加密算法,经运算,生成 32-bit 加密信息,即滚动码。这 32-bit 数据是传输码的滚动部分,其值随着按键状态的改变而变化。由于加密算法极其复杂,因此滚动码重复的机率极小。32-bit 滚动码、28-bit 芯片序列号和 6-bit 信息码合并,形成

66- bit 传输编码(Transmittedcode)传送给接收解码器。

保密系统,具有较高安防价值的场所等,有着很好的市场推广价值。

2HCS301 简介

HCS301 是 Microchip 公司基于 Keeloq 技术开发的滚动码系列芯片之一,广泛应用于遥控或命令辨别的应用场合。图 1 所示为芯片原理框图。

HCS301芯片内部有一块192-bi(t12×16-bit)的EEPROM,用于存储 64-bit 编码密码 (Crypt Key)、16-bit 同步计数码 (Synchronization Value)、32-bit 芯片序列号(Serial Number)、32-bit 密钥种子(Seed Value)和 16-bit 配

EEPROM

4 解密原理

Keeloq 加密算法

66-bit传输码

图 2 加密原理框图

置字(Config Word) 。表 1 给出了EEPROM 存储单元映射表。

解密方法包括硬件解密和软件解密两种。硬件解密使用专用解码芯

片(例如 HCS512 等),编程简单,但成本较高;软件解密使用带有解码固件的微控制器。解码固件程序,必须由开发者与 Microchip 公司签定保密协议,由 Microchip 公司授权使用。

无论使用何种方法,解码器必须经过“学习”才能使用。学习的过程实质上是解码器获取芯片序列号、解码密码和同步计数码的过程。典型的学 习步骤如图 3 所示。

5 在密码输入键盘中的应用

密码键盘广泛应用于各种无人值守场合的门禁系统,系统安全性尤为重要。借鉴矩阵键盘的结构,考虑到解码时间对按键响应的影响,我们设计了下面的方案:两片 HCS301 构成 4×4 矩阵键盘,负责对按键进行加密编码传输;由通用阵列逻辑 GAL 实现 16 输入、8 输出的组合逻辑,输入对应于 16 个按键,输出则对应于两片 HCS301 的 8 个输入端。当有键按下时,两片 HCS301 都只有一个输入端同时有效,并输出两路滚动码

raw 和 line。硬件电路图如图 5(a)所示。

图 3 学习过程示意图

6 结论

图 5 密码键盘原理图

滚动码技术编码位数多,且相邻两次编码均不重复,因此扫描和截获

均无法破译,系统安全性能极高。改进后的加密键盘可满足不同场合的使 用要求,稍作修改还可应用于电子门锁、软件保护、秘密通讯等领域。

图 4 解密原理框图

解码电路采用带解密固件程序的 PIC16F72 微控制器,制造商代码和序号放在 I?C 接口 EEPROM AT24C01 中供解密程序查用。接收电路收到行码(raw)和列码(line)后,经解密确认被按下键的键值,输出执行请求的

Inc.

参考文献:

[1] Keeloq?CodeHoppingEncoderHCS301.?2001MicrochipTechnology

[2] GAL26V12Datasheet

[3] PIC 系列单片机的原理与实践.杨圣编著. 合肥:中国科学技术大学操作。硬件电路图如图 5(b)所示。

[4] KEELOQ 加密算法在硬件加密中的应用[J]. 李罗,卢建刚. 电子技术应用. 2006(09)

[5]基于 KEELOQ 跳码技术的密码系统设计[J]. 高锋淋,黄世震,林伟. 现代电子技术. 2006(15)

[6]基于 CPLD 防盗报警系统设计[J]. 张曦,李文元,丁润涛. 电子测量技术. 2004 (03) [7]HCS3XX 编码芯片及其应用 [J]. 黄智伟. 集成电路应用.(a)编码电路 (b)解码电路2000(05)