滚动码是一种基于动态加密的身份验证技术,主要用于无线遥控系统(如汽车无钥匙进入RKE系统)的安全认证。该技术通过同步计数器与设备序列号结合
DES加密算法生成唯一验证码,每次触发时递增计数器并更新密文,接收端利用相同密钥解密验证,有效防止信号重放攻击。其同步窗口机制可允许合理范围内的计数偏差,支持高达42亿组设备标识和6万余次独立操作周期,满足长期安全需求。
编码器检测到按键输入, 把系统从省电状态中唤醒, 同步记数加1 , 与序列号一起经密匙加密后形成密文数据, 并同键值等数据发送出去。由于同步计数值每次发送都不同, 即使是同一按键多次按下也不例外。同步计数自动向前滚动, 发送的码字不会再发生。因此被称为滚动码。同步计数跟编码器序号一个64位一起经过DES加密,DES
密钥为厂家独有,必须保密。加密之后的密文则通过射频系统发射出去。
接收端接收到密文之后,通过厂家的DES
密钥进行解密,解密之后得到同步计数和编码器序号。首先检测编码器序号是否与接收器的序号相对应,如果对应,就检测同步计数是否在同步窗口内,也就是说是否大于本机保存的同步计数,但是又不大得太多,如果大得太多,本机就再作一次同步。如果在同步窗口中,通知执行机构执行用户命令,比如说打开门锁或者关闭门锁之类的。
由于
加密算法能够把明文打散,因此,码的滚动会使得发射的码变化差异很大而难以破解,由于同步计数的存在,重复发送也没有效果,因此要攻破该类系统就要攻破DES算法。同步计数为16 位, 可达2的16次方 =65536 , 若每天用10 次, 则有18年的使用周期。32位的序列号, 容量为232 = 42 亿, 可以完全满足生产要求。