安全芯片国密标准GMT0008-2012
安全芯片是一种重要的基础安全功能单元,在计算机、信息与通信系统中应用非常广泛。特别地, 多数安全芯片都具有一种或多种密码功能。
安全芯片在实现的密码算法的基础上,根据设计和应用的不同须具有一种或多种安全能力。本标 准将安全能力划分为密码算法、安全芯片接口、密钥管理、敏感信息保护、安全芯片固件安全、自检、审 计、攻击的削弱与防护和生命周期保证九个部分,对每个部分的安全能力划分为安全性依次递增的三个安全等级,并对每个安全等级提出了安全性要求。安全芯片的安全等级定为该安全芯片所具有的各部分的安全能力的最低安全等级。
芯片安全等级划分和描述
| 安全等级1 | 安全等级1规定了安全芯片的安全能力须满足的最低安全等级要求。安全等级1要求安全芯片对密钥和敏感信息提供基本的保护措施。 达到安全等级1的安全芯片可应用于安全芯片所部署的外部运行环境能够保障安全芯片自身物理安全和输入输出信息安全的应用场合。 |
| 安全等级2 | 安全等级2规定了安全芯片的安全能力所能达到的中等安全等级要求。在安全等级1的基础上, 安全等级2规定了安全芯片须具有的逻辑和/或物理保护措施。安全等级2要求安全芯片能够对密钥和敏感信息进行保护,具有对抗攻击的逻辑和/或物理的防御措施,并要求送检单位能够对相应防御措施的有效性进行说明,安全芯片应具有较全面的生命周期保障。 达到安全等级2的安全芯片可应用于安全芯片所部署的外部运行环境不能保障安全芯片自身物理 安全和输入输出信息安全的应用场合,在该环境下安全芯片对各种安全风险具有基本的防护能力。 |
| 安全等级3 | 安全等级3规定了安全芯片的安全能力所能达到的高安全等级要求。在安全等级2的基础上,安全等级3规定了安全芯片须具有的逻辑和/或物理保护措施。安全等级3要求安全芯片能够对密钥和敏感信息提供高级保护,要求安全芯片具有的逻辑和/或物理安全机制能够对密钥和敏感信息提供完整的保护,要求安全芯片能够防御本标准指定的各种攻击,要求送检单位能够证明相关防御措施的有效性,并要求安全芯片应具有完整的生命周期保障。 达到安全等级3的安全芯片可应用于安全芯片所部署的外部运行环境不能保障安全芯片自身物理 安全和输入输出信息安全的应用场合,在该环境下安全芯片对各种安全风险具有全面的防护能力。 |
不同安全等级9部分对比(高等级均包含低等级能力基础)
| 领域 | 安全等级1 | 安全等级2 | 安全等级3 |
| 1.密码算法 | |||
| 随机数生成 | 至少2个相互独立的物理随机源直接生成随机数或生成随机数扩展算法的初始输入。 | 至少4个相互独立的物理随机源直接生成随机数或生成随机数扩展算法的初始输入。 | 至少8个相互独立且分散布局的物理随机源直接生成随机数或生成随机数 扩展算法的初始输入。物理随机源应基于至少采用两种以上的设计原理实现。 |
| 分组密码算法 | 安全芯片支持的分组密码算法在各种工作模式下实现正确 | 安全芯片支持的分组密码算法的核心运算环节须采用专用硬件电路实现 | 安全芯片支持的分组密码算法须采用专用硬件电路实现 安全芯片自身可以验证支持的分组密码算法在各种工作模式下的正确性 |
| 公钥密码算法 | 若安全芯片支持的公钥密码算法需要由安全芯片生成素数,则生成的素数须通过素性检测 | 支持的公钥密码算法的核心运算环节须采用专用硬件电路实现 | 支持的公钥密码算法须采用专用硬件电路实现 安全芯片自身可以验证支持的公钥密码算法在各种应用模式下的正确性 |
| 杂凑密码算法 | 杂凑密码算法实现正确 | 支持的杂凑密码算法的核心运算环节须采用专用硬件电路实现 | 支持的杂凑密码算法须采用专用硬件电路实现 自身可以验证支持的杂凑密码算法的正确性 |
| 序列密码算法 | 支持的各种序列密码算法实现正确 | 能够正确处理序列密码算法的非规范的种子密钥 序列密码算法的核心运算环节须采用专用硬件电路实现 | 序列密码算法须采用专用硬件电路实现 自身可以验证支持的序列密码算法的正确性 |
| 2.安全芯片接口 | |||
| 物理接口 | 物理接口中不得含有隐式通道 | 不得含有除声明的物理接口之外的物理接口 | 支持关闭非工作状态的物理接口 不得含有可能旁路安全芯片定义的安全机制的物理接口 |
| 逻辑接口 | 逻辑接口中不得含有隐式通道 | 不得含有除声明的逻辑接口之外的逻辑接口 | 不得含有逻辑调试接口或其他可能旁路安全芯片定义的安全机制的逻辑接口 |
| 3.密钥管理 | |||
| 生成 | 生成的密钥不可预测、不可逆推。 需使用非确定性数据,则须使用随机数;若安全芯片能够生成随机数,则须使用安全芯片自身生成的随机数。 | 不得通过物理接口和逻辑接口泄露密钥的相关信息。 在密钥生成后立即清除密钥生成过程中使用过且不再需要使用的相关数据和临时信息。 | 同安全等级2 |
| 存储 | 能够正确、有效地存储密钥 | 支持带校验的密钥存储 须存放在可控且专用的存储区域,具有防止通过安全芯片的物理接口和逻辑接口对密钥进行非法访问的安全机制。 | 须支持以密文形式存储密钥 |
| 使用 | 能够根据密钥的类型和使用场合等情况正确、有效地使用密钥 | 存放密钥及密钥相关信息的存储区域可控且专用 安全芯片的物理接口和逻辑接口不得泄露密钥及密钥相关信息 | 在每次使用完密钥后,除密钥的固定存储区域外,须将密钥及密钥相关信息在使用过程中涉及的存储区域立即自行清零 |
| 更新 | 能够正确、有效地更新密钥 | 密钥更新需要相应的权限 完成密钥更新后须立即将原密钥安全清除 支持安全的密钥协商 | 同安全等级2 |
| 导入 | 能够正确、有效地导入密钥 | 密钥导入需要相应的权限 安全芯片须支持以密文形式导入密钥 | 同安全等级2 |
| 导出 | 能够正确、有效地导出密钥 | 密钥导出需要相应的权限 安全芯片须支持以密文形式导出密钥 | 同安全等级2 |
| 清除 | 能够根据需要正确、有效地清除所存储的密钥 | 密钥清除需要相应的权限 密钥清除不得泄露密钥及密钥相关信息 | 支持反复擦写等手段实现安全的密钥清除机制 |
| 4.敏感信息保护 | |||
| 存储 | 能够正确 、 有效地存储敏感信息 | 支持敏感信息以密文形式存储 具有对敏感信息的访问控制机制 | 具有以硬件实现的对敏感信息的访问控制机制 不再转移的敏感信息不能从安全芯片读出 |
| 清除 | 能够根据需要正确 、 有效地清除敏感信息 | 清除需要有相应的权限 清除不得泄露敏感信息本身 | 须支持反复擦写等手段实现安全的敏感信息清除机制 |
| 运算 | 能够正确 、 有效地对敏感信息进行运算 过程中不得输出敏感信息 | 使用的数据存储区需要相应的权限 过程使用的数据存储区在运算结束时须立即自行清零 | 算须在可控且专用的安全存储区域内进行 |
| 传输 | 能够根据需要正确 、 有效地输入或输出允许传输的敏感信息 | 传输需要相应的权限 允许传输的敏感信息须以密文形式传输 对不允许传输的敏感信息 , 安全芯片须具有相应安全机制保证敏感信息只在安全芯片内部进 行处理 | 同安全等级2 |
| 5.固件安全 | |||
| 存储 | 固件不得通过接口读出 | 除固件本身外 , 其他代码不得读写固件的代码 除固件本身外 , 其他代码读写固件中的数据需要相应的权限 | 固件须以密文形式存储 |
| 执行 | 固件不得实现未声明的功能 | 须采用异常处理机制等措施保证固件自身的健壮性和完整性 | 须具有硬件实现的存储访问控制等系统级保护机制 充分使用安全芯片硬件提供的保护机制 , 保证固件的安全可靠执行 |
| 导入 | 能够正确 、 有效地执行固件的导入 | 固件不可再次导入 | 固件的初次导入须授权 |
| 6. 自检 | 上电和复位时能够对支持的各种密码算法进行主动自检并生成自检状态 | 支持在固件导入后对支持的密码算法进行主动自检并返回自检报告 在外部指令要求下 , 安全芯片能够对支持的各种密码算法进行自检并返回自检报告 | 支持在检测到安全芯片面临风险时对支持的密码算法进行主动自检并返回自检 报告 |
| 7.审计 | |||
| 安全芯片标识 | 须具有唯一标识 | 须具有可校验的唯一标识 须具有逻辑或物理的安全机制保证标识不被更改 | 同安全等级2 |
| 生命周期标识 | 无要求 | 须定义安全芯片的生命周期模型 , 并对生命周期各阶段进行标识 | 须具有相应的文档跟踪记录安全芯片所处的生命周期阶段 具有相应的管理机制维护安全芯片的生命周期 , 并根据生命周期阶段的变化进行 相应的处理 |
| 8.攻击的削弱与防护 | |||
| 版图保护 | 无要求 | 版图上各逻辑模块间不得有明显的通信链路具有屏蔽层 | 具有主动保护的屏蔽层 片版图上所有自行设计的逻辑电路整体均须采用混合布线 |
| 密钥及敏感信息的自毁 | 无要求 | 片在接到外部合法自毁指令时 , 能够有效 、 可靠地完成密钥和敏感信息的自毁 | 具有主动完成密钥和敏感信息自毁的能力 |
| 计时攻击的防护 | 无要求 | 支持的各种密码算法在运算时 , 运算时间与 密钥和敏感信息之间没有明显的相关性 | 送检单位须通过文档或其他方式对相应的防护措施及其有效性进行证明 |
| 能量分析攻击的防护 | 无要求 | 支持的各种密码算法在运算时 , 能量消耗特征与密钥和敏感信息之间没有明显的相关性 | 送检单位须通过文档或其他方式对相应的防护措施及其有效性进行证明 |
| 电磁分析攻击的防护 | 无要求 | 支持的各种密码算法在运算时 , 电磁辐射特 征与密钥和敏感信息之间没有明显的相关性 | 送检单位须通过文档或其他方式对相应的防护措施及其有效性进行证明 |
| 故障攻击的防护 | 无要求 | 安全芯片应能够发现这些工作条件的改变 , 并采取相应的防护措施保护密钥和 敏感信息不泄露 | 具有对光攻击的抵抗能力 , 并能够采取相应的防护措施保护密钥和敏感信息不泄露 |
| 9.生命周期保证 | |||
| 单位资质 | 具有国家密码管理局认定的资质 | 同安全等级1 | 同安全等级1 |
| 文档 | a ) 安全芯片的配置管理 、 交付运行 、 开发安全和工具技术等各类文档齐全 , 并定期更新 。 b ) 提交给检测机构的所有文档必须用符合相关规范的中文编写 ; 如使用英文编写 , 应同时具备对 应的中文版本。 | a ) 安全芯片的各类文档分级管理 , 分开存放 , 访问不同级别的文档须具有相应权限 。 b ) 安全芯片在生命周期的各个阶段须具有追踪记录文档 。 c ) 检测机构对安全芯片在生命周期内的各阶段文档进行现场核查 ; 如现场核查未通过 , 送检单位 应根据现场核查结果对文档进行整改, 并且 3 个月内不得再次申请现场核查 。 | a ) 对不同文档的访问须具有相应的访问许可及访问记录 。 |
| 开发环境安全 | 安全芯片的开发环境须具有相应的规章制度及安全配置 | a ) 对安全芯片开发环境的访问须具有严格的人员控制 。 b ) 安全芯片的开发环境须与外网物理隔离 。 | a ) 对安全芯片开发环境的访问须具有严格的记录 。 b ) 对安全芯片开发环境的访问须具有严格的权限控制 。 |
| 人员 | 安全芯片的生命周期的各个阶段所涉及的工作人员须具有明确的职能划分 | a ) 工作人员仅能接触与本人工作相关的信息 。 b ) 接触敏感信息的工作人员须签署相关的保密协议 。 | a ) 送检单位应严格控制工作人员接触的文档的传播范围 。 b ) 检测机构可根据需要 , 不定期对安全芯片的研发 、 生产 、 销售各环节事宜进行质询 , 送检单位应 予配合并提交相关资料。 |
| 开发流程 | a ) 安全芯片的开发流程的各个阶段须明确界定 。 b ) 对安全芯片开发过程中各阶段完成的任务及相应的输出须具有明确要求 。 | 同安全等级1 | 同安全等级1 |
| 源文件 | 安全芯片的源文件须安全存放 | a ) 安全芯片的源文件的设计须具有规范的格式 。 b ) 安全芯片的源文件须具有详细的设计文档 , 源文件应有详细的注释 。 c ) 送检单位须将安全芯片有关密码部分的源文件提交检测机构进行审查或提供合适的审查环境 供检测机构进行审查。 | a ) 安全芯片源文件的设计须使用形式化的规则检查工具保证源文件的规范性 。 b ) 安全芯片源文件及相关设计文档的变更应可追溯 。 c ) 在保密协议的约束下 , 送检单位应按检测机构的要求提供安全芯片的各种技术资料 。 |
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
