GM/T 0036-2014 门禁系统密码应用技术规范:国密在智能卡门禁场景的落地标准
1 标准背景与定位
1.1 为什么需要 GM/T 0036
门禁系统作为企事业单位、住宅小区、政府机关的基础安全设施,承担着人员身份认证与访问控制的核心职能。传统门禁系统多采用密码学强度不足的算法(如 DES、MD5),存在被破解、克隆、重放攻击的风险。
GM/T 0036-2014《采用非接触卡的门禁系统密码应用技术规范》填补了门禁专用密码标准的空白。该标准规定采用非接触式 IC 卡的门禁系统的密码应用技术要求,是门禁产品设计与密评合规的重要依据。
1.2 标准体系定位
GM/T 0036 与 GM/T 0035 形成"通用要求—专用场景"的层次关系:
| 标准 | 定位 | 关系 |
|---|---|---|
| GM/T 0035-2014 | 射频识别系统密码应用技术要求 | 通用框架,适用于所有 RFID 场景 |
| GM/T 0036-2014 | 门禁系统密码应用技术规范 | 专用场景,将 GM/T 0035 要求具体化到门禁场景 |
- 读写器与卡片之间的认证协议
- 门禁控制器的密钥管理流程
- 通行记录的安全存储要求
2 系统架构与组件
2.1 基本组件
GM/T 0036 将门禁系统划分为以下核心组件:
- 非接触式 IC 卡(Smart Card):存储持卡人身份信息与密钥,响应读卡器指令
- 门禁读卡器(Reader):负责与卡片无线通信,执行认证、加密操作
- 门禁控制器(Controller):接收读卡器结果,控制门锁开关,管理通行权限
- 管理服务器(Server):发卡、授权、密钥分发、通行记录管理
2.2 密码模块要求
GM/T 0036 要求门禁系统中的密码模块应符合以下原则:
- 卡片内需具备安全芯片,支持 SM1 或 SM2 算法
- 读卡器需通过 GM/T 0028 密码模块安全技术要求认证
- 密钥生成、存储、使用应符合 GM/T 0028 要求
- 具备防篡改能力,确保密钥不被提取
2.3 系统拓扑
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ 管理服务器 │ ←→ │ 门禁控制器 │ ←→ │ 门禁读卡器 │
│ (发卡/授权) │ │ (权限管理) │ │ (无线通信) │
└─────────────┘ └─────────────┘ └──────┬──────┘
│ RF
↓
┌─────────────┐
│ 非接触IC卡 │
│ (身份+密钥) │
└─────────────┘3 认证协议流程
3.1 双向认证协议
GM/T 0036 规定读写器与卡片之间采用双向认证协议,防止伪卡、伪读卡器攻击:
步骤 1:读卡器 → 卡片
读卡器发送随机数 R1
卡片验证读卡器证书有效性
卡片计算响应值 = SM1-MAC(R1, 密钥)
卡片返回响应值步骤 2:卡片 → 读卡器
卡片发送随机数 R2
读卡器验证卡片证书有效性
读卡器计算响应值 = SM1-MAC(R2, 密钥)
读卡器返回响应值步骤 3:会话密钥协商
双方基于 R1、R2 派生会话密钥 Ks
后续通信使用 Ks 加密,保护通行记录3.2 抗重放攻击设计
GM/T 0036 要求协议具备抗重放攻击能力:
| 攻击类型 | 防护机制 |
|---|---|
| 重放旧响应 | 每次认证使用新随机数,旧响应失效 |
| 克隆卡片 | 卡片密钥唯一且不可导出,无法克隆 |
| 中间人攻击 | 双向证书验证,握手过程防窃听 |
| 碰撞攻击 | 使用 SM1 算法,128 位密钥空间 |
3.3 通行记录安全存储
GM/T 0036 规定通行记录应安全存储在卡片或控制器中:
- 通行记录加密存储,密钥独立于卡片密钥
- 记录包含时间戳、持卡人 ID、门号、通行方向
- 记录不可篡改,可通过 SM3 哈希校验完整性
4 密钥管理要求
4.1 密钥分层体系
GM/T 0036 规定门禁系统采用三层密钥体系:
| 层级 | 密钥类型 | 用途 | 存储位置 |
|---|---|---|---|
| 根密钥 | MK(Master Key) | 派生下层密钥 | 管理服务器安全模块 |
| 卡片密钥 | CK(Card Key) | 卡片认证、数据加密 | 卡片安全芯片 |
| 会话密钥 | SK(Session Key) | 单次通信加密 | 读卡器内存(临时) |
4.2 密钥生命周期管理
GM/T 0036 要求密钥全生命周期管理应符合以下要求:
- 生成:使用符合 GM/T 0005 的随机数生成器
- 分发:通过安全通道传输,防止中间人攻击
- 存储:密码模块内安全存储,防物理攻击
- 使用:限制密钥使用范围和次数
- 更新:定期轮换,旧密钥安全归档
- 销毁:密钥失效后彻底清除,防止恢复
4.3 卡片密钥初始化
GM/T 0036 规定卡片密钥初始化流程:
1. 管理服务器生成卡片唯一标识 CID
2. 使用根密钥派生卡片密钥 CK
3. 通过安全写卡设备将 CK 写入卡片
4. 验证写入结果,记录初始化日志
5. 卡片进入待发行状态5 合规要点与实施建议
5.1 密评关注点
GM/T 0036 是门禁系统密评的重要依据。密评重点关注:
| 检查项 | 合规要求 |
|---|---|
| 算法合规 | 使用 SM1/SM2/SM3/SM4,禁止使用非国密算法 |
| 密钥安全 | 密钥存储在密码模块内,不明文存储于外部 |
| 认证协议 | 读写器与卡片双向认证,防止伪卡/伪读卡器 |
| 随机数质量 | 符合 GM/T 0005 随机性检测要求 |
| 日志审计 | 通行记录、密钥操作记录完整可追溯 |
5.2 常见实施问题
问题 1:卡片密钥硬编码
部分产品将卡片密钥硬编码在固件中,导致密钥泄露风险。应通过安全写卡设备动态写入密钥。
问题 2:单向认证缺陷
仅验证卡片合法性,不验证读卡器合法性,攻击者可伪造读卡器窃取卡片信息。必须实现双向认证。
问题 3:会话密钥重用
多次通信使用相同会话密钥,增加碰撞攻击风险。应每次认证生成新的会话密钥。
问题 4:密钥更新不及时
长期不轮换密钥,增加密钥泄露后的损失范围。应建立密钥定期更新机制。
5.3 与相关标准的协同
GM/T 0036 需与以下标准配合实施:
| 标准 | 作用 |
|---|---|
| GM/T 0028-2014 | 密码模块安全技术要求——读卡器、控制器需通过此认证 |
| GM/T 0005-2012 | 随机性检测规范——密钥生成需符合此标准 |
| GM/T 0035-2014 | 射频识别系统密码应用技术要求——门禁是 RFID 的子场景 |
| GB/T 39786-2021 | 信息系统密码应用基本要求——密评依据 |
6 总结
GM/T 0036-2014 是我国门禁系统密码应用的第一个专用标准,具有以下特点:
- 场景专用:将通用 RFID 密码要求(GM/T 0035)具体化到门禁场景
- 协议明确:规定双向认证流程,防止伪卡、伪读卡器攻击
- 密钥分层:建立三层密钥体系,隔离根密钥、卡片密钥、会话密钥
- 合规导向:为门禁产品密评提供明确的技术要求
相关实践文章:GM/T 0035-2014 RFID 密码应用技术要求 | GM/T 0028-2014 密码模块安全技术要求
参考资料: