《GM-T 0049-2016 密码键盘检测规范.pdf》由会员分享,可在线阅读,更多相关《GM-T 0049-2016 密码键盘检测规范.pdf(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、书 书 书犐 犆犛 犔 备案号:中华人民共和国密码行业标准犌犕犜 密码键盘密码检测规范犆 狉 狔 狆 狋 狅 犵 狉 犪 狆 犺 狔狋 犲 狊 狋狊 狆 犲 犮 犻 犳 犻 犮 犪 狋 犻 狅 狀犳 狅 狉犈犘犘 发布 实施国家密码管理局发 布目次前言范围规范性引用文件术语和定义缩略语密码键盘安全等级检测内容及检测方法 安全管理功能检测 密码算法检测 密钥素性检测(可选)随机数质量检测 环境失效保护检测 密码算法稳定性检测 算法性能检测 设备安全性检测 安全要求检测 送检技术文档要求 合格判定条件 附录(资料性附录)数据块填充格式 附录(资料性附录)计算方法 附录(资料性附录)蒙特卡洛检测方法
2、 犌犕犜 前言本标准按照 给出的规则起草。请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别这些专利的责任。本标准由密码行业标准化技术委员会提出并归口。本标准起草单位:深圳市证通电子股份有限公司、国家密码管理局商用密码检测中心、长城信息产业股份有限公司、上海爱信诺航芯电子科技有限公司、深圳市凯明杨科技有限公司。本标准主要起草人:秦云川、黄洪、余思洋、张卫军、张文、朱文楚、李大为、邓开勇、罗鹏、林春、曾立志、张衡、陈锦玲、刘红明、卢雪明。犌犕犜 密码键盘密码检测规范范围本标准规定了密码键盘产品的安全等级划分、检测内容及检测方法、合格判定规则。本标准适用于密码键盘产品的密码检测、检验及
3、分级。规范性引用文件下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。银行业务个人识别码的管理与安全第部分:和系统中联机 处理的基本原则和要求 信息安全技术二元序列随机性检测方法 信息安全技术椭圆曲线公钥密码算法第部分:密钥交换协议 密码术语 安全芯片密码检测准则 密码模块安全技术要求 密码模块安全检测要求 :信息技术安全技术素数生成()术语和定义 、和 界定的以及下列术语和定义适用于本文件。密码键盘犲 狀 犮 狉 狔 狆 狋 犻 狀 犵犘 犐 犖犘 犪 犱;犈犘犘用于保护 输入安全并对
4、进行加密的独立式密码模块。包括主机等设备的外接加密密码键盘和无人值守(自助)终端的加密 键盘。外部认证犲 狓 狋 犲 狉 狀 犪 犾犪 狌 狋 犺 犲 狀 狋 犻 犮 犪 狋 犻 狅 狀密码键盘的身份认证。认证方法可以为基于随机数的单向认证或基于随机数的公钥认证。基于随机数的单向认证方法采用对称算法,基于随机数的公钥认证采用非对称算法。上电自检检测狆 狅狑 犲 狉 狅 狀狊 犲 犾 犳 狋 犲 狊 狋在键盘上电时,由密码键盘自动执行的功能正确性检测。软件固件完整性检测狊 狅 犳 狋 狑犪 狉 犲犳 犻 狉犿狑犪 狉 犲犻 狀 狋 犲 犵 狉 犻 狋 狔狋 犲 狊 狋对密码键盘软件和固件的完整性
5、进行的检测。犌犕犜 运行前条件自检检测犮 狅 狀 犱 犻 狋 犻 狅 狀 犪 犾狊 犲 犾 犳 狋 犲 狊 狋在密码键盘运行之前,当规定的检测条件出现时,由密码键盘执行的功能正确性检测。注:改写 ,定义 。犘 犐 犖数据块检测犘 犐 犖犫 犾 狅 犮 犽狋 犲 狊 狋对密码键盘生成的 数据块正确性进行的检测。对称密码算法加密和解密检测狊 狔犿犿犲 狋 狉 犻 犮犮 狉 狔 狆 狋 狅 犵 狉 犪 狆 犺 犻 犮犪 犾 犵 狅 狉 犻 狋 犺犿犲 狀 犮 狉 狔 狆 狋 犻 狅 狀犪 狀 犱犱 犲 犮 狉 狔 狆 狋 犻 狅 狀狋 犲 狊 狋对密码键盘中对称密码算法加密和解密进行的功能正确性检测
6、。犕犃犆检测犕犃犆狋 犲 狊 狋对密码键盘中算法进行的功能正确性检测。非对称密码算法功能检测犪 狊 狔犿犿犲 狋 狉 犻 犮犮 狉 狔 狆 狋 狅 犵 狉 犪 狆 犺 犻 犮犪 犾 犵 狅 狉 犻 狋 犺犿狋 犲 狊 狋对密码键盘中非对称密码算法的加密、解密、签名和验签的功能正确性进行的检测。杂凑算法检测犺 犪 狊 犺犪 犾 犵 狅 狉 犻 狋 犺犿犮 狅犿狆 狉 犲 狊 狊 犻 狅 狀狋 犲 狊 狋对密码键盘中杂凑算法的功能正确性进行的检测。密钥管理检测犽 犲 狔犿犪 狀 犪 犵 犲犿犲 狀 狋狋 犲 狊 狋对密码键盘中密钥分散、密钥素性和密钥协商的功能正确性进行的检测。随机数质量检测狉 犪
7、 狀 犱 狅犿狇 狌 犪 犾 犻 狋 狔狋 犲 狊 狋对密码键盘生成的随机数质量是否合格进行的检测。环境失效保护检测犲 狀 狏 犻 狉 狅 狀犿犲 狀 狋 犪 犾犳 犪 犻 犾 狌 狉 犲狆 狉 狅 狋 犲 犮 狋 犻 狅 狀狋 犲 狊 狋对密码键盘环境失效方面的要求和特性进行的检测。注:改写 ,定义 。密码算法稳定性检测犮 狉 狔 狆 狋 狅 犵 狉 犪 狆 犺 犻 犮犪 犾 犵 狅 狉 犻 狋 犺犿狊 狋 犪 犫 犻 犾 犻 狋 狔狋 犲 狊 狋对密码键盘中对称密码算法、非对称密码算法和杂凑密码算法的功能稳定性进行的检测。蒙特卡洛检测犕狅 狀 狋 犲犆犪 狉 犾 狅狋 犲 狊 狋采用反复随
8、机抽样的原理对密码算法进行反复测试的方法。算法性能检测犪 犾 犵 狅 狉 犻 狋 犺犿狆 犲 狉 犳 狅 狉犿犪 狀 犮 犲狋 犲 狊 狋对密码键盘中对称密码算法、非对称密码算法和杂凑算法的性能进行的检测。安全功能检测狊 犲 犮 狌 狉 犻 狋 狔犳 狌 狀 犮 狋 犻 狅 狀狋 犲 狊 狋用于评判密码键盘在物理安全方面的等级的评判机制。密钥安全检测犽 犲 狔狊 犲 犮 狌 狉 犻 狋 狔狋 犲 狊 狋对密码键盘在密钥存储、密钥输入与输出和密钥置零方面的安全等级进行评判的检测。犌犕犜 错误注入犳 犪 狌 犾 狋犻 狀 犱 狌 犮 狋 犻 狅 狀通过应用短暂的电压、辐射、激光或时钟偏移技术,导致
9、硬件中的操作行为发生变化的技术。运行环境狅 狆 犲 狉 犪 狋 犻 狅 狀 犪 犾犲 狀 狏 犻 狉 狅 狀犿犲 狀 狋密码键盘安全运行所需要的所有软件、硬件和固件的集合。注:改写 ,定义 。软件固件安全检测狊 狅 犳 狋 狑犪 狉 犲犳 犻 狉犿狑犪 狉 犲狊 犲 犮 狌 狉 犻 狋 狔对密码键盘的软件固件的安全等级评判进行的检测。安全状态密码键盘软件固件、硬件及身份信息方面的安全状况。鉴别犪 狌 狋 犺 犲 狀 狋 犻 犮 犪 狋 犻 狅 狀评判密码键盘在身份鉴别方面的安全等级的评判机制。缩略语下列缩略语适用于本文件。密码分组链接 环境失效保护 环境失效检测 消息鉴别码密码键盘安全等级密码
10、键盘的安全等级代表了其所具有的安全能力的高低。本标准规定了密码键盘的依次递增的个安全等级。其中安全级最低,安全级最高。安全等级级的密码键盘均应通过基本检测项目(、),以及安全要求相应项目()的检测。检测内容及检测方法 安全管理功能检测 外部认证检测 正确情况检测检测步骤如下:)导入正确的认证密钥到密码键盘;)使用正确的认证密钥进行认证检测,密码键盘返回认证成功的响应;)在认证前执行和密钥相关的操作,密码键盘返回不满足安全状态;)如果以上步骤密码键盘均能正常响应,则正确情况检测通过。犌犕犜 异常情况检测检测步骤如下:)导入正确的认证密钥到密码键盘;)使用错误的认证密钥进行认证检测,密码键盘返回认
11、证失败的响应,并提示剩余认证次数,当剩余认证次数为零时,外部认证被锁定(删除密码键盘中所有密钥后自动解除锁定,或锁定 后自动解除锁定);)如果外部认证锁定,密码键盘进入错误状态,则异常情况检测通过。如果正确情况检测和异常情况检测通过,则外部认证检测通过。自检检测 上电自检检测 软件固件完整性检测检测内容如下:)如果采用进行软件固件的完整性测试,则检测步骤如下:)检测人员确认送检单位提交了的计算和验证过程的测试文档;)检测人员确认送检单位提交了软件固件完整性自检测试的源代码;)通过源代码和文档的审查,检测人员确认源代码实现的软件固件完整性测试和文档描叙是否一致;)如果一致,则软件固件完整性测试通
12、过。)如果采用核准的数字签名进行软件固件的完整性测试,则检测步骤如下:)检测人员应确认送检单位提交了数字签名的计算和验证过程的测试文档;)检测人员应确认送检单位提交了固件完整性自检测试的源代码;)通过源代码和文档的审查,检测人员确认源代码实现的软件固件完整性测试和文档描叙是否一致;)如果一致,则软件固件完整性测试通过。如果密码键盘采用以上两种方法之一测试通过,则软件固件完整性测试通过。随机数自检检测检测步骤如下:)检测人员确认送检单位提交了随机数自检的自检文档和随机数自检源代码;)通过文档和源代码的审查,检测人员确认源代码实现的随机数自检检测和文档描述是否一致;)如果一致且随机数检测方法为 中
13、规定的方法,则随机数自检检测通过。关键功能自检检测检测步骤如下:)检测人员应确认送检单位提交了所有关键功能描述文档和检测关键功能(包括密码算法引擎和安全状态)的自检测试文档;)检测人员应确认送检单位提交了关键功能自检测试的源代码;)通过文档和源代码的审查,检测人员确认源代码实现的关键功能自检测试和文档描述是否一致;)如果一致,则关键功能自检测试通过。犌犕犜 运行前条件自检检测 对称密码算法自检检测检测步骤如下:)检测人员确认送检单位提交了对称密码算法(包括对称算法加密和解密)自检的自测试文档及对称密码算法自检测源代码;)通过文档和源代码的审查,检测人员确认源代码实现的对称算法自检测试和文档描述
14、是否一致;)如果一致则对称算法自检测试通过。非对称密码算法自检检测(可选)非对称密码算法自检检测,根据产品对该类算法的支持情况作为可选检测项目。检测步骤如下:)检测人员确认送检单位提交了非对称算法(包括非对称加解密和非对称签名验签)自检的自测试文档及非对称密码算法自检测源代码;)通过文档和源代码的审查,检测人员确认源代码实现的非对称算法自检测试和文档描述是否一致;)如果一致则非对称算法自检测试通过。杂凑密码算法自检检测(可选)杂凑算法自检检测,根据产品对该类算法的支持情况作为可选检测项目。检测步骤如下:)检测人员确认送检单位提交了杂凑算法自检的自测试文档及杂凑算法自检测源代码;)通过文档和源代
15、码的审查,检测人员确认源代码实现的杂凑算法自检测试和文档描述是否一致;)如果一致则杂凑算法自检测试通过。犘 犐 犖数据块检测 犘 犐 犖数据块填充格式送检的密码键盘应能支持附录中描述的 数据块填充格式,如果密码键盘同时还支持其他 数据块填充格式,送检单位需提供 数据块填充格式说明文档。正确情况检测检测步骤如下:)导入预定的 数据块加密密钥到密码键盘;)从密码键盘输入预定的 码;)设置预定的主账号;)获取密文的 数据块,将密码键盘返回的密文 数据块和预期密文 数据块比对;)如果比对结果一致,则正确情况检测通过。异常情况检测检测步骤如下:)从检测平台上导入错误的 数据块加密密钥到密码键盘;)从密码
16、键盘输入正确的 码;犌犕犜 )在检测平台(能按本标准对密码键盘进行测试的上位机软件)上设定正确的主账号;)从密码键盘获取密文的 数据块,将密码键盘返回的密文 数据块和预期密文 数据块比对;)如果比对结果一致,则异常情况检测不通过;如果比对结果不一致,继续进行以下检测;)从检测平台上导入正确的 数据块加密密钥到密码键盘;)从密码键盘输入错误的 码;)重复步骤);)如果比对结果一致,则异常情况检测不通过;如果比对结果不一致,继续进行以下检测;)从检测平台上导入正确的 数据块加密密钥到密码键盘;)从密码键盘输入正确的 码;)设定错误的主账号;)重复)步骤;)如果比对结果不一致,则异常情况检测通过。如
17、果正确情况测试和异常情况测试通过,则 数据块测试通过。密码算法检测 对称密码算法加密和解密检测 加密检测检测步骤如下:)检测机构提供明文、密钥以及测试参数等测试数据,对密码算法支持的数据长度和工作模式进行检测(填充方式采用后补“”);)用指定的密钥对测试数据进行加密运算,密码键盘返回运算结果;)将密码键盘返回的运算结果与检测机构的结果进行比对;)如果结果一致,则加密检测通过。解密检测检测步骤如下:)检测机构提供密文、密钥以及测试参数等测试数据,对密码算法支持的数据长度和工作模式进行检测(填充方式采用后补“”);)用指定的密钥对测试数据进行解密运算,密码键盘返回运算结果;)将密码键盘返回的运算结
18、果与检测机构的结果进行比对;)如果结果一致,则解密检测通过。如果加密检测和解密检测都通过,则对称密码算法加密和解密检测通过。犕犃犆算法检测 犕犃犆计算方法送检的密码键盘要求至少支持 算法,计算方法参见附录。如果密码键盘同时还支持其他算法,送检单位需提供算法具体计算的说明文档。犕犃犆算法检测检测步骤如下:犌犕犜 )检测机构将测试数据发送给密码键盘;)密码键盘利用检测机构提供的参数对接收到的数据进行加密运算;)将密码键盘生成的与检测机构的进行比对;)如果一致,则算法检测通过。非对称密码算法功能检测(可选)总则非对称密码算法功能检测,根据产品对该类算法的支持情况来作为可选检测项目。非对称密钥对生成检
19、测检测步骤如下:)用密码键盘产生 组密钥对,然后把 组密钥对发送给检测机构;)由检测机构判断 组密钥的正确性;)如果密码键盘提供的 组密钥对都是正确的,则非对称密钥对生成检测通过。非对称密码算法加密和解密检测 加密检测检测步骤如下:)用检测机构提供的公钥对测试明文进行加密运算,密码键盘返回运算结果;)由检测机构判断密码键盘返回的运算结果是否正确;)如果结果正确,则加密检测通过。解密检测检测步骤如下:)用检测机构提供的私钥对加密结果进行解密运算,密码键盘返回运算结果;)由检测机构判断密码键盘返回的结果是否正确;)如果结果正确,则解密检测通过。如果加密检测和解密检测都通过,则非对称密码算法加密和解
20、密检测通过。非对称密码算法签名和验签检测 签名检测检测步骤如下:)由检测机构提供测试数据(签名者信息、待签名消息和密钥对)给密码键盘;)密码键盘利用非对称密码算法对测试数据进行签名操作,密码键盘返回运算结果;)检测机构用验签的方法判断已签名的结果是否正确;)如果结果正确,则签名检测通过。验签检测检测内容如下:)正确情况检测,检测步骤如下:)将检测正确的签名结果与测试数据(签名者信息、待签名消息和密钥对)输入密码键盘;犌犕犜 )密码键盘用非对称密码算法对接收的数据进行验签;)将验证结果应与预期结果相比对;)如果一致,则正确情况检测通过。)异常情况检测,检测步骤如下:)将检测错误的签名结果与测试数
21、据(签名者信息、待签名消息和密钥对)输入密码键盘;)密码键盘用非对称密码算法对接收的数据进行验签;)如果验证结果返回消息错误,验签失败,则异常情况检测通过。如果正确情况检测和异常情况检测都通过,则验签检测通过。密钥协商检测检测步骤如下:)检测平台与密码键盘进行密钥协商,用 规定的方法;)密码键盘加密一组已知的数据,把得到的密文送给检测平台;)检测平台用秘密密钥解密接收的密文,并把解密出的明文显示出来,检测机构判断解密的明文是否正确;)如果判断明文结果正确,检测通过。杂凑算法数据压缩检测(可选)杂凑算法的数据压缩检测,根据产品对该类算法的支持情况作为可选检测项目。检测步骤如下:)检测机构提供测试
22、数据给密码键盘;)密码键盘利用杂凑算法对测试数据进行运算,密码键盘返回运算结果;)将密码键盘返回的结果与检测机构的结果相比对;)如果结果一致,则杂凑算法数据压缩检测通过。密钥素性检测(可选)密钥素性检测是验证非对称密码算法的密码参数是否为素数,当产品中包含对密钥有素性要求的算法时才需进行。密钥素性检测方法按 :规定的方法进行。随机数质量检测检测步骤如下:)用密码键盘产生随机数,直至采集够 ;)用 规定的方法对随机数进行检测,并判定是否通过检测。环境失效保护检测 环境失效保护通用要求环境失效保护通用要求如下:)对于安全级、安全级的密码键盘,不要求具有环境失效保护()特性或者经过环境失效检测();
23、)安全级的密码键盘应具有特性或经过,安全级的密码键盘应具有特性;)如果温度或电压超出密码键盘的正常运行范围,则保护电路应关闭键盘,防止继续运行或立即置零所有敏感信息。犌犕犜 环境失效检测过程按 中 进行检测。密码算法稳定性检测 对称密码算法稳定性检测 已知结果检测检测步骤如下:)固定密钥和初始向量,检测机构提供指定的犖(犖 )组明文与密文的测试数据对;)输入测试数据(明文密文、密钥,以及模式所需的初始向量);)输出加密结果解密结果;)将加密结果解密结果与检测机构的参考数据进行比对;)加密解密运算循环犖次,若犖次加密结果解密结果都与检测机构提供的参考数据一致,则已知结果检测通过;)然后检测另一长
24、度的密钥或下一个工作模式,重复步骤);)如果所有的密钥长度和模式都检测通过,则已知结果检测通过。多数据块检测检测步骤如下:)由检测机构提供犖(犖 )组明文密文数据块以及某些工作模式所需的初始向量;)输入测试数据(明文密文、密钥,以及模式所需的初始向量);)输出加密结果解密结果;)将加密结果解密结果与检测机构的参考数据进行比对;)加密解密运算循环犖次,若犖次加密结果解密结果都与检测机构提供的参考数据一致,则检测通过;)然后检测另一长度的密钥或下一个工作模式,测试步骤循环);)如果所有密钥长度和工作模式的结果都与检测机构的参考数据相同,则多数据块检测通过。蒙特卡洛检测检测原理参见附录,检测步骤如下
25、:)固定密钥和初始向量,由检测机构提供组明文密文数据块;)输入测试数据(明文密文、密钥,以及模式所需的初始向量);)输出加密结果解密结果;)将每一轮的加密结果解密结果作为下一轮的明文密文输入,加密解密运算循环犖(犖 )次;)若犖次运算后的加密结果解密结果与检测机构提供的参考数据一致,则检测通过;)然后检测另一长度的密钥或下一个工作模式,测试步骤循环),直到所有的密钥长度和模式检测通过;)如果所有密钥长度和工作模式的结果都与检测机构的参考数据相同,则蒙特卡洛检测通过。非对称密码算法稳定性检测(可选)总则非对称密码算法稳定性检测,根据送检单位产品对该类算法的支持情况来作为可选检测项目。犌犕犜 密钥
26、生成检测检测步骤如下:)输入检测机构给定的参数;)输出公钥和私钥;)检测平台判断每组密钥对的正确性;)如果完成犖(犖 )组运算且结果都正确,则密钥生成检测通过。非对称密码算法公钥加密检测检测步骤如下:)由检测机构生成犖(犖 )组的测试明文;)输入检测机构提供的测试明文,以及公钥;)输出利用公钥加密之后的密文;)检测机构对结果进行反向检测;)如果完成犖组运算且结果都一致,则非对称密码算法公钥加密检测通过。非对称密码算法私钥解密检测检测步骤如下:)输入上一节公钥加密产生的犖(犖 )组密文,公钥对应的私钥;)输出私钥解密的明文;)将明文与检测机构的参考值进行比对;)如果完成犖组运算且结果都一致,则非
27、对称密码算法私钥解密检测通过。非对称密码算法签名检测检测步骤如下:)由检测机构提供犖(犖 )组待签名的数据的随机数;)输入待签名数据、签名者信息和密钥对,密码键盘对输入的数据进行签名;)检测机构用验签的方法判断已签名的结果是否正确;)如果完成犖组运算且结果都正确,则非对称密码算法签名检测通过。非对称密码算法验签检测 正确情况检测步骤如下:)由检测机构提供犖(犖 )组正确的测试数据(如:正确的签名结果、签名者信息、待签名消息和密钥对);)输入测试数据,密码键盘对输入的数据进行验签;)如果密码键盘返回犖组正确的验签结果,则正确情况检测通过。异常情况检测步骤如下:)由检测机构提供犖(犖 )组异常的测
28、试数据(如:异常的签名结果、签名者信息、待签名消息和密钥对);犌犕犜 )输入测试数据,密码键盘用输入的数据进行验签;)如果密码键盘返回犖组错误的验签结果,则异常情况检测通过。杂凑算法稳定性检测(可选)杂凑算法稳定性检测,根据送检单位产品对该类算法的支持情况作为可选检测项目。检测步骤如下:)由检测机构提供犖(犖 )组测试数据;)输入测试数据;)输出杂凑值;)将输出的杂凑值与检测机构的数据进行比对;)如果犖次运算的杂凑值都与检测机构的数据一致,则杂凑算法稳定性检测通过。算法性能检测 对称密码算法加密和解密性能检测检测步骤如下:)由检测机构确定测试数据的字节总数(字节总数 )和一组对称算法密钥;)将
29、字节总数平均分组(分组长度可以是 字节、字节或者送检单位建议的长度),每一组的字节数为犔,总组数为犖;)检测人员操作密码键盘用密钥对分好的每组数据依次进行加密运算,记录运算完成的总时间犜;)用式()求出运算速率犛,犛犛;犛犔犖犜()式中:犛 每秒的运算速率,单位为比特每秒();犔 测试数据的字节数;犖 测试次数;犜 测试所耗费的总时间,单位为秒()。)重复步骤)两次,求出犛、犛;)将犛、犛、犛求平均值得出犛;)解密性能检测步骤同步骤),在)步骤中进行解密运算;)如果犛符合产品规格说明书中厂商申明的参数,则对称密码算法加密和解密性能检测通过。犕犃犆计算性能检测检测步骤如下:)由检测机构确定测试数
30、据的字节总数(字节总数 ),一组初始化向量和一组对称算法密钥;)将字节总数平均分组(分组长度可以是 字节、字节或者送检单位建议的长度),每一组的字节数为犔,总组数为犖;)检测人员操作密码键盘用密钥对分好的每组数据依次进行运算,记录运算完成的总时间犜;犌犕犜 )用式()求出运算速率犛,犛犛;)重复步骤)两次,得出犛、犛;)将犛、犛、犛求平均值得出犛;)如果犛符合产品规格说明书中厂商申明的参数,则对称密码算法计算性能检测通过。非对称密码算法性能检测(可选)总则非对称密码算法性能检测,根据送检单位产品对该类算法的支持情况来作为可选检测项目。非对称密码算法加密和解密性能检测检测步骤如下:)由检测机构确
31、定测试数据的字节总数(字节总数 )和一组非对称算法密钥对;)将字节总数平均分组(分组长度可以是 字节、字节或者送检单位建议的长度),每一组的字节数为犔,总组数为犖;)检测人员操作密码键盘用公钥对分好的每组数据依次进行加密运算,记录运算完成的总时间犜;)用式()求出运算速率犛;)重复步骤)两次,得出犛、犛;)将犛、犛、犛求平均值得出犛,将犛与产品规格说明书中厂商申明的参数进行比对;)如果犛符合厂商申明,则非对称密码算法加密性能检测通过;)解密算法性能检测重复步骤);)检测人员操作密码键盘用私钥对分好的每组数据依次进行解密运算,记录运算完成的总时间犜;)用式()求出运算速率犛;)重复步骤);)将犛
32、、犛、犛求平均值得出犛,将犛与产品规格说明书中厂商申明的参数进行比对;)如果犛符合产品规格说明书中厂商申明的参数,则非对称密码算法解密性能检测通过。非对称密码算法签名和验签性能检测检测步骤如下:)由检测机构提供一组测试数据,如算法密钥对、签名者、犖组(犖 )待签名数据;)密码键盘用提供的数据进行犖次签名,记录完成总时间为犜;)用犖犜得出每秒签名次数狀;)重复步骤)两次,得出狀、狀;)将狀、狀、狀求平均值得出狀,将狀 与产品规格说明书中厂商申明的参数进行比对;)如果狀 与厂商申明的参数相符合,则非对称密码算法签名性能检测通过;)验签性能检测重复步骤);)用犖犜得出每秒验签次数狀;)重复步骤)两次
33、,得出狀、狀;)将狀、狀、狀求平均值得出狀,将狀与产品规格说明书中厂商申明的参数进行比对;)如果狀符合产品规格说明书中厂商申明的参数,则非对称密码算法验签性能检测通过。犌犕犜 非对称密钥生成性能检测检测步骤如下:)密码键盘产生犖(犖 )组密钥对,检测机构记录完成总时间犜;)用犖犜得出每秒密钥对生成次数狀;)重复步骤)两次,得出狀、狀;)将狀、狀、狀求平均值得出狀,将狀 与产品规格说明书中厂商申明的参数进行比对;)如果狀符合产品规格说明书中厂商申明的参数,则非对称密钥生成性能检测通过。非对称密码算法密钥协商性能检测检测步骤如下:)密码键盘和检测平台进行犖(犖 )次密钥协商,检测机构记录完成总时间
34、犜;)用犖犜得出每秒密钥协商次数狀;)重复步骤)两次,得出狀、狀;)将狀、狀、狀求平均值得出狀,将狀与产品规格说明书中厂商申明的参数进行比对;)如果狀符合产品规格说明书中厂商申明的参数,则非对称密钥的协商性能检测通过。杂凑算法性能检测(可选)杂凑算法性能检测,根据送检单位产品对该类算法的支持情况作为可选检测项目。检测步骤如下:)由检测机构确定测试数据的字节总数,字节总数 ;)将字节总数平均分组(分组长度可以是 字节、字节或者送检单位建议的长度),每一组的字节数为犔,总组数为犖;)密码键盘完成犖次杂凑运算,检测机构记录运算完成总时间犜;)用式()求出每个数据长度的速率犛;)重复步骤)两次,得出犛
35、、犛;)将犛、犛、犛求平均值得出犛,将犛 与产品规格说明书中厂商申明的参数进行比对;)如果犛符合产品规格说明书中厂商申明的参数,则杂凑算法性能检测通过。设备安全性检测密码键盘安全性测试遵照 的要求进行。安全要求检测 安全功能检测 安全级检测步骤如下:)检测密码键盘部件是否由产品级部件组成以及部件是否采用了标准钝化技术。如果是则继续以下检测,否则检测不通过。)检测密码键盘在运行维护功能运行时密码键盘是否能被操作员按规定程序置零,或由密码键盘自动置零。如果是则继续以下检测,否则检测不通过。)检测密码键盘的外壳是否为金属或硬质塑料的产品级外壳。如果是则检测通过。安全级除了通过安全级的检测,安全级的密
36、码键盘还需通过以下检测:犌犕犜 )检测密码键盘在封盖、外壳或封条上是否提供了显式的拆卸证据。如果是则继续以下检测,否则检测不通过。)检测密码键盘的外壳是否在可见光谱内无法对密码键盘关键区域的内部操作进行信息收集。如果是则继续以下检测,否则检测不通过。)检测密码键盘是否存在通风孔或缝,若不存在则继续以下检测。若存在通风孔或缝则检测该孔或缝是否具有特殊构造,保证无法直接观察密码键盘内部的构造或从部件进行信息收集。如果是则继续以下检测,否则检测不通过。)检测密码键盘在受到移除外壳的行为后,是否变成不可工作。如果是则继续以下检测,否则检测不通过。)检测密码键盘是否包含拆卸响应和置零电路,且一旦检测到拆
37、卸行为则置零所有敏感信息。如果是则检测通过。安全级除了通过安全级的检测,安全级的密码键盘还需通过以下检测:)检测密码键盘是否具有特性或经过。如果是则继续以下检测,否则检测不通过。)检测密码键盘在温度超出运行,存放和分发的预期温度范围时,外壳是否维持强度或硬度特征。如果是则继续以下检测,否则检测不通过。)检测密码键盘是否存在封盖或者访问接口,若不存在则继续以下检测。若存在则检测密码键盘在拆卸外壳或维护访问接口时,是否立即置零敏感信息。如果是则继续以下检测,否则检测不通过。)检测密码键盘是否存在通风孔或缝,若不存在则继续以下检测。若存在则检测通风孔或缝是否具有特殊的构造,保证键盘内部不被物理探测。
38、如果是则继续以下检测,否则检测不通过。)检测密码键盘是否存在封条,若不存在则检测完成。若存在则检测密码键盘的封条是否具有唯一性和可识别性。如果是则检测通过。安全级除了通过安全级的检测,安全级的密码键盘还需通过以下检测:)检测密码键盘是否具有抗移除的硬质不透明涂层或拆卸立即置零的能力。如果是则继续以下检测,否则检测不通过。)检测密码键盘是否具有特性。如果是则继续以下检测,否则检测不通过。)检测密码键盘是否能防止错误注入攻击。如果是则继续以下检测,否则检测不通过。)检测密码键盘是否封装在一种或多种拆卸检测机制的封套内且能对访问敏感信息做出响应。如果是则检测通过。密钥安全检测 密钥存储 安全级无要求
39、,无需检测,密码键盘默认达到安全级。安全级安全级的密码键盘需通过以下检测:)检测存储的密钥是否带有校验。如果是则继续以下检测,否则检测不通过。犌犕犜 )检测密钥是否存放在可控且专用的区域,是否不能进行非法访问。如果是则检测通过。安全级除了通过安全级的检测,安全级的密码键盘还需进行以下检测:工作密钥是否以对称密码算法加密的形式存储。如果是则检测通过。安全级同安全级。密钥输入与输出 安全级检测步骤如下:)检测密码键盘的密钥是否可手动输入或以其他方式导入。如果是则继续以下检测,否则检测不通过。)检测密码键盘的密钥是否可导出。如果是则检测不通过,否则检测通过。安全级检测步骤如下:)检测密码键盘的密钥是
40、否支持密钥分量或密文的形式导入,且通过可信信道传输。若是则检测通过,否则检测不通过。)检测密码键盘的密钥是否可导出。如果是则检测不通过,否则检测通过。安全级检测步骤如下:)密码键盘如果支持手工输入,检测手工输入的密钥是否采用知识拆分过程来产生,若是则进行步骤)的检测,否则检测不通过;如果密码键盘支持远程更新,检测密钥是否以数字签名远程加载的方式进行导入,若是则进行步骤)的检测,否则检测不通过;密码键盘如果支持密文导入,检测加密的密钥是否采用以上两种方式之一事先存放于密码键盘中,若是则进行步骤)的检测,否则检测不通过。)检测密码键盘除公钥外的其他所有密钥是否可导出,如果是则检测不通过,否则检通过
41、。安全级检测步骤如下:)密码键盘如果支持手工输入,检测手工输入的密钥是否采用知识拆分过程来产生,且每个分量的输入必须通过身份认证后方可进行;若是则进行步骤)的检测,否则检测不通过;密码键盘如果支持远程更新,检测密钥是否以安全证书远程加载的方式进行导入,若是则进行步骤)的检测,否则检测不通过;密码键盘如果支持密文导入,加密的密钥必须采用以上两种方式之一事先存放于密码键盘中,若是则进行步骤)的检测,否则检测不通过。)检测密码键盘除公钥外的其他所有密钥是否可导出,如果是则检测不通过,否则检通过。密钥置零 安全级无要求,无需检测,密码键盘默认达到安全级。犌犕犜 安全级安全级的密码键盘需通过以下检测:)
42、检测密码键盘未受保护的密钥和使用完毕的临时密钥是否置零,且输出完成状态指示。如果是则继续以下检测,否则检测不通过。)对密码键盘进行非法操作,检测密钥是否置零。如果是则检测通过。安全级除了通过安全级的检测,安全级的密码键盘还需通过以下检测:)检测密码键盘的置零操作是否可中断。如果是则检测不通过,否则继续以下检测。)检测密码键盘在置零操作过程中,是否可恢复已被置零数据。如果是则检测不通过,否则检测通过。安全级同安全级。安全状态检测 软件固件安全 安全级无要求,无需检测,密码键盘默认达到安全级。安全级安全级的密码键盘需通过以下检测:)通过检查键盘的产品规格说明书,确认检测密码键盘的固件是否能够导出。
43、如果不能导出则继续以下检测,否则检测不通过。)检测密码键盘的软件固件是否只包含可运行的形式代码。如果是则继续以下检测,否则检测不通过。)检测密码键盘的操作员是否能通过接口启动或执行调试技术。如果不能则检测通过,否则检测不通过。安全级除了通过安全级的检测,安全级的密码键盘还需通过以下检测:)检查生产厂家提供的产品规格说明书,确认固件是否以加密形式存储。如果是则继续以下检测,否则检测不通过。)检测密码键盘在软件固件更新时是否使用校验或验签。如果是则检测通过。安全级除了通过安全级的检测,安全级的密码键盘还需检测密码键盘在软件固件更新时是否使用了验签。如果是则检测通过。鉴别(可选)总则密码键盘可能需要
44、鉴别机制以鉴别访问密码键盘的操作员,根据送检单位产品对该类功能的支持 犌犕犜 情况来作为可选检测项目。安全级无要求,无需检测,密码键盘默认达到安全级。安全级安全级的密码键盘需检测密码键盘是否采用基于角色的鉴别以控制对密码键盘的访问。如果是则检测通过。安全级除了通过安全级的检测,安全级的密码键盘还需检测密码键盘是否采用基于身份的鉴别以控制对密码键盘的访问。如果是则检测过。安全级除了通过安全级的检测,安全级的密码键盘还需检测密码键盘是否采用基于身份的多因素鉴别以控制对密码键盘的访问。如果是则检测通过。密码算法检测 随机数生成 安全级按 中 的规定进行检测。如果符合该要求,则检测通过。安全级同安全级
45、。安全级按 中 的规定进行检测。如果符合该要求,则检测通过。安全级按 中 的规定进行检测。如果符合该要求,则检测通过。对称密码算法 安全级按 中 的规定进行检测。如果符合该要求,则检测通过。安全级同安全级。安全级按 中 的规定进行检测。如果符合该要求,则检测通过。犌犕犜 安全级按 中 的规定进行检测。如果符合该要求,则检测通过。非对称密码算法(可选)总则非对称密码算法的安全要求,根据送检单位产品对该类算法的支持情况来作为可选检测项目。安全级按 中 的规定进行检测。如果符合该要求,则检测通过。安全级同安全级。安全级按 中 的规定进行检测。如果符合该要求,则检测通过。安全级按 中 的规定进行检测。
46、如果符合该要求,则检测通过。杂凑密码算法(可选)总则杂凑密码算法的安全要求,根据送检单位产品对该类算法的支持情况来作为可选检测项目。安全级按 中 的规定进行检测。如果符合该要求,则检测通过。安全级同安全级。安全级按 中 的规定进行检测。如果符合该要求,则检测通过。安全级按 中 的规定进行检测。如果符合该要求,则检测通过。送检技术文档要求按照检测要求提交相关文档资料,作为检测依据。文档资料应包含但不限于以下内容:)密码键盘产品规格说明书;)密码键盘接口说明;)产品函数接口与接口示例代码(若送检单位不提供“产品函数接口与接口示例代码”,则必须提供产品通讯协议、测试工具及测试方法);犌犕犜 )系统框
47、架结构说明;)密码子系统框架结构及功能流程说明;)与密码实现和使用相关的硬件说明;)送检产品所采用的密码算法清单;)密码自检测或自评估报告;)产品技术手册及使用说明书;)生命周期保障说明;)产品总体设计说明;)产品安全性设计报告;)对其他攻击的缓解说明;)源代码及说明;)产品的清晰彩照(整体照片及前后面板照,照片上要清晰显示出生产厂商的标牌、设备型号及序列号)、与密码实现和使用相关的硬件部分彩色照片(能清晰识别芯片或部件的名称、型号等标注)。合格判定条件在产品进行完所有的检测项目后,进行合格判定。只有基本检测项目(基本检测项目见表)全部通过,才会进入安全等级判定检测。产品通过相应安全等级要求的
48、全部项目(见表)的检测,判定为该产品达到相应的安全等级。表基本检测项目序号 类别检测项目本标准章节单项要求总结论基本检测项目安全管理功能检测 密码算法检测 密钥素性检测 随机数质量检测 环境失效保护检测 密码算法稳定性检测 算法性能检测 设备安全性检测 送检技术文档审查 通过表安全等级要求检测结果及安全等级判定序号 类别检测项目本标准章节单项判定结果总结论安全要求检测项目安全功能检测 通过犖级密钥安全检测 通过犖级安全状态检测 通过犖级密码算法检测 通过犖级单项判定最低级为产品最终安全等级(如果在本标准 的基本测试中有某些可选项目未测,那么即使该产品的安全要求检测单项判定高于级,该产品最终的安
49、全等级也判定为安全级)犌犕犜 附录犃(资料性附录)犘 犐 犖数据块填充格式犃 犘 犐 犖数据块填充格式 数据块填充参考 格式,数据块格式由明文 字段和主账号字段异或组成,并由原 位长度扩展为 位,加密算法改为国家密码管理主管部门认可的对称算法。其格式如下所示。犃 明文犘 犐 犖字段前字节(第位到第 位):后字节(第 位到第 位):注:控制码,。注:的长度()。注:二进制 码。注:二进制 码填充码。注:(填充码)。犃 主账号字段前字节(第位到第 位):后字节(第 位到第 位):注:填充码,。注:主账号的右 位(不包括最右边的校验位),主账号不足 位左补(主账号默认全为)。犌犕犜 附录犅(资料性附录)犆犅犆 犕犃犆计算方法将待计算的数据按照 位一组进行分块,并在数据的最后一块添加最少的,使其长度等于 位。将数据按照模式进行加密运算(加密算法为国家密码管理主管部门认可的对称算法),取最后一块的前字节或前字节作为结果。犌犕犜 附录犆(资料性附录)蒙特卡洛检测方法蒙特卡洛()测试的原理是对犖(犖 )组伪随机数进行加密解密运算,输入的测试数据,密钥以及模式所需的向量在每次运算时都是一个伪随机数。在不需要向量的工作模式下,每一次运算的明文密文输入是上一次加密解密的结果,而每一次密钥的输入则是上一次密钥与加密解密结果的异或值。当密钥为 位时 。当密钥为 位时 ,。当密钥为 位时 ,。犌犕犜