信安标委最近对大量的信息安全行业规范进行征集意见,3月份的时候安智客介绍过行业标准密码模块安全安全要求,不过这个标准现在上升到了国家标准,说明很重要!安智客今天来学习密码模块安全要求。具体规范内容大家可以自行查询,这里不列举,只说几个关键点。
一,标准间的关系
国家标准《信息安全技术 密码模块安全要求》,来源于密码行业标准《GM/T 0028-2014 密码模块安全技术要求》。
国家标准《信息安全技术 密码模块安全检测要求》,来源于密码行业标准《GM/T 0039-2015 密码模块安全检测要求》。
以上两项标准适用于除密码芯片和系统软件外的各种密码产品类型。比如说安全芯片有《GM/T 0008-2012 安全芯片密码检测准则》。
二,标准的内容概要
密码模块安全要求:针对密码模块的11个安全域,分别给出了四个安全等级的对应要求。
密码模块安全检测要求:规定了密码模块对应的11个安全域的一系列检测规程、检测方法和对应的送检文档要求。
11个安全域分别是:通用要求,密码模块规格,密码模块接口,角色、服务和鉴别,软件/固件安全,运行环境,物理安全,非入侵式安全,敏感安全参数管理,自测试,生命周期保障,以及对其他攻击的缓解。
熟悉安智客的朋友们可能知道,安智客下面要提TEE了,是的,那这些标准规范与TEE有什么关系呢?
四,TEE是不是属于密码模块?
首先明确TEE是属于密码模块的固件模块。标准中定义,密码模块是指实现密码运算、密钥管理等功能的硬件、软件、固件或者其组合,分为硬件、软件、固件模块。标准中7.6运行环境通用要求中将密码运行环境分为运行环境可以是不可修改的、受限制的或可修改的。
不可修改运行环境指不可编程的固件模块或者硬件模块;受限运行环境指允许受控更改的软件或者固件模块,如 Java 卡中的Java 虚拟机、可信执行环境技术中的TEE操作系统;可变运行环境指能够对系统功能进行增加、删除和修改等操作的可配置运行环境,如Windows/ Linux/MAC/ Android/iOS等通用操作系统。
对于使用了TEE和SE的产品,对于驱动、SE芯片及其运行库可以定义为一个硬件模块、其中的TEE OS及其相关软件可以定义为一个固件模块,运行在可信操作环境上的可信应用TA也可以作为一个固件模块。另外,对于软件来说,二级应该是软件密码模块能够达到的最高等级了!
五,密码产品与密码模块的关系
密码产品比密码模块包含的范围更广,密码产品既要符合《密码模块安全技术要求》定义的密码模块,还需满足包含安全芯片及密码服务系统(如CA系统、电子签章系统、动态口令认证系统)等的相关标准规范。
规范规定:对于密码模块的供应商,在进行产品送检测评过程中,如果密码模块内部采用了其他子密码模块,且该子密码模块已作为独立的密码模块产品通过了检测认证,则测评机构在认证该密码模块时,对于子模块部分的安全评估和检测可以从简。反之,则需对该子密码模块进行详细的安全评估和检测,并且在此情况下,该子密码模块仅可以与送测的密码模块配套销售和使用,不可以作为独立的密码模块产品进入市场销售。也就是说未来使用了TEE的产品需要满足这些国标要求。比如说手机盾产品中既要满足相关产品规范,事实上行业中有企业将将TEE+SE作为一个密码模块通过密码模块安全二级认证。
六,基于TEE的产品该满足什么等级?
在《关于密码模块若干问题的说明》文档中,针对TEE+SE技术的产品在电子银行应用场景中需要满足的安全等级有如下建议:
个人大额转账:可视按键型智能密码钥匙(安全二级及以上)、挑战应答型动态令牌(安全二级及以上)、基于TEE+SE技术的固件密码模块(安全二级及以上) | 企业转账:可视按键型智能密码钥匙(安全二级及以上)、基于TEE+SE技术的固件密码模块(安全二级及以上) |
---|