GM/T 0035.2 射频识别系统密码应用技术要求 第2部分:电子标签芯片密码应用技术要求
国密0035.2标准简直是一个宝藏标准,给出一个《XX应用系统密码应用技术要求》的范本,在正文中分析密钥安全要素,并根据分级分类对标密钥要求。在附录中,给出某一级别的实现案例。如果应用不分级,一刀切无法保证全部场景都满足标准要求。分级之后,具体应用可以对标分级标准,就高不就低。
此外,该标准还给出了采用对称密码实现双向认证和访问控制;给出一个密钥管理实例,包括密钥注入、密钥保存、密钥使用。
电子标签分类
1.标识类,安全等级一级
具有可读取的信息,并以此识别出该类标签唯一性的电子标签。该类电子标签不具备密码技术保护功能,可用于物流跟踪和物品识别应用。
2.防伪类,安全等级二级
具备标识类电子标签功能,并采用密码技术防止被复制和标签存储信息被篡改等防伪性的电子标签,可用于电子门票和物品防伪等应用。
3.证件、小额支付类,安全等级三级
具备防伪类电子标签基本安全功能,并具有存储信息的机密性和完整性、传输信息的机密性和完整性的电子标签,可用于电子证件和小额支付等应用。
4.其他类,安全等级四级
高于安全三级的标签应用。
电子标签安全密码应用要素
原文中因排版原因不方便查看,重绘了表格。根据安全级别,分析各密码要素要求。
电子标签芯片密码安全要素 | 射频识别系统密码安全级别 | |||||
1级 | 2级 | 3级 | 4级 | |||
机密性 | 存储信息的机密性 | √ | √ | |||
传输信息的机密性 | √ | √ | ||||
完整性 | 存储信息的完整性 | √ | √ | |||
传输信息的完整性 | √ | √ | ||||
抗抵赖 | 电子标签原发抗抵赖 | √ | √ | |||
抗电子标签抵赖 | √ | |||||
抗读写器抵赖 | √ | |||||
身份鉴别 | 唯一标识符鉴别 | √ | √ | |||
电子标签对读写器的挑战响应鉴别 | √ | √ | ||||
读写器对电子标签的挑战响应鉴别 | √ | √ | √ | |||
访问控制 | √ | √ | √ | |||
审计记录 | √ | |||||
密码配置 | 密码算法 | 对称算法 | √ | √ | √ | |
非对称算法 | √ | |||||
密码杂凑算法 | √ | |||||
密钥管理 | 密钥注入 | √ | √ | √ | ||
密钥存储 | √ | √ | √ | |||
密钥使用 | √ | √ | √ |
电子标签实例
满足二级密码安全要求,即电子门票(门禁)类应用
EEPROM存储容量:1024*8 bit
算法:SM7
唯一标识符UID
电子标签的设备制造商信息、唯一标识符UID在生产过程中编程写入之后,不可改写,信息存储在EEPROM0x00地址的数据块中。
EEPROM数据块
每个块16个字节。
电子标签的访问控制
访问控制信息保存在EEPROM的权限控制区,见下图。制造商块只有读取权限;Key0是主控密钥,只有通过Key0进行身份认证,才能对密钥区和权限区执行写权限。
对其他存储块的操作,设置两种权限:读权限、读写权限。控制字节定义如下:
密钥管理
密钥注入
电子标签的密钥在电子标签初始化过程中注入。以上述例子,key0必须在初始化的时候写入。我的理解:出厂时写入uid,在应用端初始化是写入key0密钥,根据根密钥和uid分散得到key0。那么key1~7如何得到的,根据其他信息分散得到,可以在初始化时写入,也可以用读写器写入,这个标准并没有强制要求。
密钥存储
密钥存储在芯片密钥去,密钥区信息任何时候都不能被读出。key0为主控密钥,通过key0认证后可以对密钥区执行写操作。
密钥使用
密钥用于身份鉴别与访问控制。使用任何一个密钥进行身份认证,都可以获得对应的存储块的相应权限。
二级系统,没有说明存储和通信的密钥。