GM/T 0008-2012 安全芯片密码检测准则:金融 IC 卡密码安全的检测体系与合规实践
标准规范
· 2026-09-07
一、标准背景与定位
1.1 什么是安全芯片?
安全芯片(Security Chip)是一种内置密码运算能力的专用集成电路,具备物理抗攻击、安全存储、密钥管理等功能,广泛应用于金融 IC 卡、智能卡、物联网设备、车载电子等场景。
在中国,安全芯片主要用于:
- 金融 IC 卡:银行卡、社保卡、医保卡等
- 智能卡:SIM 卡、公交卡、门禁卡
- 物联网设备:智能电表、水表、车联网终端
- 身份认证:电子身份证、数字证书存储介质
1.2 GM/T 0008-2012 的标准定位
GM/T 0008-2012《安全芯片密码检测准则》于 2012 年 11 月发布,2013 年 5 月实施,由国家密码管理局发布,是针对安全芯片密码应用安全性的专项检测标准。
该标准与以下标准形成完整的检测体系:
| 标准编号 | 标准名称 | 定位 |
|---|
| GM/T 0001-2012 | SM4 分组密码算法 | 算法规范 |
| GM/T 0002-2012 | SM2 椭圆曲线公钥密码算法 | 算法规范 |
| GM/T 0003.1~0003.5-2012 | SM2 系列标准 | 算法规范 |
| GM/T 0005-2012 | 随机性检测规范 | 随机数检测 |
| GM/T 0008-2012 | 安全芯片密码检测准则 | 安全芯片专用检测 |
| GM/T 0028-2014 | 密码模块安全技术要求 | 通用密码模块安全要求 |
| GM/T 0039-2015 | 密码模块安全检测认证实施细则 | 检测认证流程 |
关键区别:GM/T 0028 适用于所有密码模块(硬件、软件、固件、混合),而 GM/T 0008 专门针对
安全芯片这一物理形态,检测要求更严格,包括物理安全、抗侧信道攻击等要求。
1.3 为什么需要专项检测标准?
安全芯片与传统密码模块存在本质差异:
| 维度 | 传统密码模块 | 安全芯片 |
|---|
| 物理形态 | 可外接、可拆卸 | 固化在卡片/设备中 |
| 访问方式 | API 调用 | 物理接口(I/O 引脚) |
| 攻击面 | 软件攻击为主 | 物理攻击 + 侧信道攻击 |
| 更换成本 | 低 | 高(需更换卡片/设备) |
| 安全要求 | 通用密码安全 | 额外物理安全要求 |
因此,GM/T 0008 在 GM/T 0028 基础上增加了:
- 物理安全检测:防拆解、防探针、防光注入
- 侧信道攻击防护检测:功耗分析、电磁分析、时序分析
- 故障注入攻击防护检测:电压毛刺、时钟毛刺、激光注入
二、检测对象与分类
2.1 检测对象
GM/T 0008-2012 适用于以下安全芯片:
- 金融 IC 卡芯片:符合 PBOC 标准的银行卡芯片
- 身份认证芯片:电子身份证、数字证书存储介质
- 物联网安全芯片:智能电表、车联网终端芯片
- 其他专用安全芯片:满足特定应用场景的安全芯片
2.2 安全等级划分
GM/T 0008-2012 将安全芯片的安全等级划分为三个等级:
| 安全等级 | 适用场景 | 安全要求 |
|---|
| 安全一级 | 低风险场景(如门禁卡、公交卡) | 基础密码功能正确性 |
| 安全二级 | 中等风险场景(如普通银行卡) | 基础密码 + 基本物理防护 |
| 安全三级 | 高风险场景(如大额支付卡、身份证) | 完整密码 + 完整物理防护 + 抗攻击能力 |
金融 IC 卡要求:根据中国人民银行规定,金融 IC 卡芯片
必须满足安全二级及以上要求。
2.3 检测项目分类
GM/T 0008-2012 将检测项目分为五大类:
| 检测类别 | 主要内容 |
|---|
| 密码功能检测 | SM2/SM3/SM4 算法实现正确性、密钥管理、随机数生成 |
| 物理安全检测 | 防拆解、防探针、防光注入、防腐蚀 |
| 侧信道攻击防护检测 | 功耗分析、电磁分析、时序分析防护 |
| 故障注入攻击防护检测 | 电压毛刺、时钟毛刺、激光注入防护 |
| 固件安全检测 | 固件完整性、固件防篡改、固件恢复机制 |
三、密码功能检测详解
3.1 算法实现检测
#### SM2 算法检测
| 检测项 | 检测内容 | 判定标准 |
|---|
| 密钥生成 | SM2 密钥对生成是否正确 | 符合 GM/T 0003.1-2012 |
| 数字签名 | SM2 签名生成与验证 | 符合 GM/T 0003.2-2012 |
| 密钥交换 | SM2 密钥交换协议 | 符合 GM/T 0003.3-2012 |
| 公钥加密 | SM2 公钥加密算法 | 符合 GM/T 0003.4-2012 |
| ZA 计算 | ZA 值计算是否正确 | 符合标准附录 |
| 测试向量 | 使用标准测试向量验证 | 输出与标准一致 |
关键要求:SM2 算法实现必须通过 GM/T 0003 系列标准的测试向量验证。
#### SM3 算法检测
| 检测项 | 检测内容 | 判定标准 |
|---|
| 杂凑计算 | SM3 杂凑算法实现 | 符合 GM/T 0004-2012 |
| HMAC-SM3 | HMAC-SM3 消息认证码 | 符合标准 |
| 测试向量 | 使用标准测试向量验证 | 输出与标准一致 |
#### SM4 算法检测
| 检测项 | 检测内容 | 判定标准 |
|---|
| 分组加密 | SM4 分组密码算法实现 | 符合 GM/T 0001-2012 |
| 工作模式 | SM4-CBC/SM4-CTR/SM4-GCM | 符合标准 |
| 测试向量 | 使用标准测试向量验证 | 输出与标准一致 |
3.2 密钥管理检测
| 检测项 | 检测内容 | 判定标准 |
|---|
| 密钥生成 | 密钥生成是否符合密码学安全要求 | 随机数符合 GM/T 0005 |
| 密钥存储 | 密钥存储是否安全(不可读取) | 密钥泄露检测 |
| 密钥导出 | 密钥导出是否受控 | 防止密钥明文导出 |
| 密钥销毁 | 密钥销毁是否彻底 | 销毁后不可恢复 |
| 密钥生命周期 | 密钥更新、归档、销毁流程 | 符合密钥管理规范 |
3.3 随机数生成检测
安全芯片的随机数生成器必须符合 GM/T 0005-2012《随机性检测规范》,包括:
- 统计测试:15 项统计测试(频数测试、块频测试、游程测试等)
- 连续性测试:确保随机数序列无周期性
- 熵源验证:验证熵源质量
四、物理安全检测详解
4.1 防拆解检测
| 检测项 | 检测方法 | 判定标准 |
|---|
| 封装材料 | 检查芯片封装是否使用防拆解材料 | 拆解后芯片损坏或数据丢失 |
| 金属屏蔽层 | 检查芯片内部是否有金属屏蔽层 | 屏蔽层完整无损 |
| 检测网格 | 检查芯片表面是否有检测网格 | 网格断裂即触发清零 |
| 光线传感器 | 检查是否集成光线传感器 | 检测到光线即触发清零 |
4.2 防探针检测
| 检测项 | 检测方法 | 判定标准 |
|---|
| 表层布线 | 检查芯片表层布线是否可接触 | 探针接触即触发清零 |
| 多层布线 | 检查芯片内部多层布线布局 | 探针插入检测层即触发清零 |
| 探针孔检测 | 检查是否集成探针孔检测电路 | 检测到探针孔即触发清零 |
4.3 防光注入检测
| 检测项 | 检测方法 | 判定标准 |
|---|
| 光屏蔽层 | 检查芯片是否有光屏蔽层 | 光照无法穿透屏蔽层 |
| 光线传感器 | 检查是否集成光线传感器 | 检测到光照即触发清零 |
| 封装材料透光性 | 测试封装材料透光性 | 透光率低于阈值 |
4.4 防腐蚀检测
| 检测项 | 检测方法 | 判定标准 |
|---|
| 表面处理 | 检查芯片表面处理工艺 | 表面处理完整无损 |
| 腐蚀检测 | 检查是否集成腐蚀检测电路 | 检测到腐蚀即触发清零 |
| 封装完整性 | 检查封装材料完整性 | 封装无裂纹、无破损 |
五、侧信道攻击防护检测
5.1 功耗分析防护检测
| 检测项 | 检测方法 | 判定标准 |
|---|
| 功耗均衡 | 测量芯片功耗波动 | 功耗波动低于阈值 |
| 掩码技术 | 检查是否使用掩码技术 | 掩码随机化有效 |
| 时间随机化 | 检查运算时间是否随机化 | 运算时间无规律 |
5.2 电磁分析防护检测
| 检测项 | 检测方法 | 判定标准 |
|---|
| 电磁辐射 | 测量芯片电磁辐射强度 | 辐射低于阈值 |
| 电磁屏蔽 | 检查芯片电磁屏蔽层 | 屏蔽层完整有效 |
| 电磁噪声注入 | 测试抗电磁噪声注入能力 | 正常工作不受影响 |
5.3 时序分析防护检测
| 检测项 | 检测方法 | 判定标准 |
|---|
| 运算时间一致性 | 测量相同操作的运算时间 | 时间差异低于阈值 |
| 分支预测防护 | 检查是否使用时间无关代码 | 无分支泄漏 |
| 缓存攻击防护 | 检查缓存访问模式 | 缓存访问无规律 |
六、故障注入攻击防护检测
6.1 电压毛刺防护
| 检测项 | 检测方法 | 判定标准 |
|---|
| 电压监测 | 检查芯片是否集成电压监测电路 | 检测到异常电压即触发清零 |
| 电压补偿 | 检查电压补偿机制 | 电压波动时正常工作 |
| 毛刺宽度检测 | 测试抗毛刺能力 | 特定宽度毛刺不影响安全 |
6.2 时钟毛刺防护
| 检测项 | 检测方法 | 判定标准 |
|---|
| 时钟监测 | 检查芯片是否集成时钟监测电路 | 检测到异常时钟即触发清零 |
| 时钟滤波 | 检查时钟滤波机制 | 时钟噪声被有效滤除 |
| 毛刺恢复 | 测试时钟毛刺后的恢复能力 | 毛刺消除后恢复正常 |
6.3 激光注入防护
| 检测项 | 检测方法 | 判定标准 |
|---|
| 激光屏蔽 | 检查芯片是否有激光屏蔽层 | 激光无法照射到核心区域 |
| 激光检测 | 检查是否集成激光检测电路 | 检测到激光即触发清零 |
| 封装材料抗激光性 | 测试封装材料抗激光能力 | 激光无法穿透封装 |
七、固件安全检测
7.1 固件完整性检测
| 检测项 | 检测方法 | 判定标准 |
|---|
| 固件签名验证 | 检查固件加载时是否验证签名 | 签名验证失败则拒绝加载 |
| 固件加密存储 | 检查固件是否加密存储 | 固件不可被读取 |
| 固件更新保护 | 检查固件更新过程是否安全 | 更新过程防篡改 |
7.2 固件防篡改检测
| 检测项 | 检测方法 | 判定标准 |
|---|
| 防篡改电路 | 检查是否集成防篡改电路 | 检测到篡改即触发清零 |
| 校验和检测 | 检查固件校验和是否验证 | 校验和不匹配则拒绝运行 |
| 运行时监控 | 检查是否运行时监控固件完整性 | 检测到异常即触发清零 |
7.3 固件恢复机制
| 检测项 | 检测方法 | 判定标准 |
|---|
| 恢复模式 | 检查是否支持安全恢复模式 | 可在安全环境下恢复固件 |
| 恢复过程保护 | 检查恢复过程是否受保护 | 恢复过程防中断、防篡改 |
| 恢复后验证 | 检查恢复后是否验证固件完整性 | 验证失败则拒绝启动 |
八、检测报告与合规实践
8.1 检测报告内容
一份完整的 GM/T 0008-2012 检测报告应包括:
- 基本信息:芯片型号、厂商、安全等级
- 检测项目清单:所有检测项的检测结果
- 检测结论:通过/不通过
- 不符合项说明:如有不符合项,详细说明原因
- 检测环境:检测机构、检测设备、检测时间
- 附件:测试向量、测试数据、截图等
8.2 合规实践要点
#### 芯片设计阶段
| 要点 | 说明 |
|---|
| 安全等级选择 | 根据应用场景选择合适的安全等级 |
| 密码算法实现 | 严格按照 GM/T 0001~0004 标准实现 |
| 物理防护设计 | 集成防拆解、防探针、防光注入等防护 |
| 侧信道防护设计 | 采用掩码、时间随机化等技术 |
| 故障注入防护设计 | 集成电压/时钟监测电路 |
#### 芯片测试阶段
| 要点 | 说明 |
|---|
| 测试向量验证 | 使用标准测试向量验证算法正确性 |
| 功耗分析测试 | 使用功耗分析仪检测功耗泄漏 |
| 电磁分析测试 | 使用电磁探头检测电磁泄漏 |
| 故障注入测试 | 使用电压/时钟毛刺注入仪测试 |
| 物理攻击测试 | 使用探针、激光等工具测试物理防护 |
#### 产品量产阶段
| 要点 | 说明 |
|---|
| 批次抽检 | 每批次芯片随机抽检检测 |
| 老化测试 | 检测芯片在老化过程中的安全性 |
| 环境测试 | 检测芯片在不同环境下的安全性 |
| 溯源管理 | 建立芯片生产、检测、出货全流程溯源 |
8.3 常见问题与整改建议
| 问题 | 原因 | 整改建议 |
|---|
| 功耗分析泄漏 | 算法实现未使用掩码技术 | 增加掩码防护 |
| 电磁辐射超标 | 芯片布局不合理 | 优化芯片布局,增加屏蔽层 |
| 防探针检测失效 | 探针孔检测电路设计缺陷 | 重新设计检测电路 |
| 固件完整性验证失败 | 固件签名算法不安全 | 更换为 SM2 签名算法 |
| 随机数质量不达标 | 熵源设计缺陷 | 增加熵源数量,优化熵提取 |
九、与相关标准的对比
9.1 GM/T 0008 vs GM/T 0028
| 维度 | GM/T 0008-2012 | GM/T 0028-2014 |
|---|
| 适用范围 | 安全芯片 | 所有密码模块 |
| 安全等级 | 三级(一、二、三级) | 四级(1-4 级) |
| 物理安全 | 重点检测 | 一般要求 |
| 侧信道防护 | 强制要求 | 可选要求 |
| 故障注入防护 | 强制要求 | 可选要求 |
| 典型产品 | 金融 IC 卡芯片 | 密码机、软件模块 |
9.2 GM/T 0008 vs 国际标准
| 维度 | GM/T 0008-2012 | FIPS 140-2/140-3 | Common Criteria |
|---|
| 发布机构 | 国家密码管理局 | NIST | ISO/IEC |
| 安全等级 | 三级 | 四级 | EAL1-EAL7 |
| 算法要求 | SM2/SM3/SM4 | RSA/AES/SHA | 灵活 |
| 物理安全 | 强制要求 | 可选要求 | 按评估目标定 |
| 侧信道防护 | 强制要求 | 可选要求 | 按评估目标定 |
| 适用场景 | 中国金融 IC 卡 | 美国政府系统 | 国际通用 |
十、未来展望
10.1 标准修订趋势
随着密码技术的不断发展,GM/T 0008 可能面临以下修订方向:
- 增加新算法支持:如 SM9 标识密码、后量子密码算法
- 提升安全等级要求:如增加安全四级,应对更高安全需求
- 扩展应用场景:如物联网安全芯片、车联网安全芯片
- 更新检测方法:如增加抗量子计算攻击的检测要求
10.2 行业应用趋势
| 领域 | 应用趋势 |
|---|
| 金融 IC 卡 | 全面采用安全二级及以上芯片 |
| 物联网 | 安全芯片需求量快速增长 |
| 车联网 | 车规级安全芯片需求上升 |
| 电子身份证 | 安全三级芯片成为标配 |
十一、总结
GM/T 0008-2012《安全芯片密码检测准则》是金融 IC 卡及各类安全芯片密码安全的核心检测标准,具有以下特点:
- 专项性强:针对安全芯片的物理形态设计,检测要求更严格
- 体系完整:覆盖密码功能、物理安全、侧信道防护、故障注入防护、固件安全五大检测类别
- 等级明确:划分三个安全等级,便于应用场景匹配
- 强制合规:金融 IC 卡必须满足安全二级及以上要求
对于安全芯片厂商和采购方,理解并遵循 GM/T 0008-2012 是确保产品安全合规的基础。建议在芯片设计阶段就考虑检测要求,避免后期整改的高昂成本。
十二、参考链接
*标准来源:GM/T 0008-2012《安全芯片密码检测准则》,国家密码管理局发布*