商用密码产品认证中的随机数(二)

这篇具有很好参考价值的文章主要介绍了商用密码产品认证中的随机数(二)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1 随机数相关规范概述

现行密码标准体系中包括三类随机数相关标准:框架类标准、设计类标准和检测类标准。

  1. 框架类标准为GM/T 0103《随机数发生器总体框架》
  2. 设计类标准为用于指导随机数发生器的技术设计,包括GM/T 0078《密码随机数生成模块设计指南》、《物理混沌随机数发生器设计指南》和GM/T 0105《软件随机数发生器设计指南》。
  3. 检测类标准包括随机性检测类标准和产品应用检测类标准。

随机性检测标准是对随机数进行统计检测类标准GB/T 32915《信息安全技术 二元序列随机数检测方法》。该标准由GM/T 0005《随机性检测规范》升级而来。

产品应用检测类标准是密码产品中随机数检测的标准,规定了密码应用中随机性检测指标和要求。目前已经发布的标准为GM/T 0062《密码产品随机数检测要求》。

后面的文章我们以上述标准为基础依次展开描述随机数发生器的设计和测试方式。
如果商用密码产品认证中遇到任何问题,欢迎加微信symmrz沟通。

2 随机数生成

2.1 随机数发生概述

上一篇文章中提到了在产品设计时需要频繁使用随机数。根据产品需求和应用场景不同,获取随机数的方式也不尽相同。
A、 对于普通的商用产品,不涉及社会秩序、公共利益和国家安全的,其随机数仅满足统计学的伪随机性即可。例如,某公司开发的卡牌游戏需随机从卡包中选择一张卡牌,此时对随机数发生器无特殊要求。
B、 对于涉及社会秩序和公共利益的产品,其使用的随机数应至少为密码学安全的伪随机数。例如,某银行开发的网上银行软件系统,其保证交易安全的签名密钥应至少同时满足伪随机性和密码学安全。
C、 对于涉及威胁GJ安全的产品,随机数应由硬件随机数发生器实现的真随机数。

随机数的选择和实现方式对应关系如下表所示。“核准”代表的是需符合国家密码主管部门的认可,通常指的是通过商用密码产品认证。

产品安全等级 随机数应满足要求 随机数实现方式 说明
被破坏后不危害国家安全、社会秩序和公共利益的产品 统计学的伪随机性 标准库、操作系统提供的随机数API、第三方库等方式 推荐使用openssl提供的随机数接口
被破坏后严重危害社会秩序和公共利益的产品 统计学的伪随机性、密码学安全 “核准”的随机数发生器 可以使用软件随机数发生器,但需通过商用密码产品认证
被破坏后严重危害国家安全的产品 统计学的伪随机性、密码学安全、真随机数 “核准”的硬件随机数发生器 仅能使用通过商用密码产品认证的硬件随机数发生器

2.2 编程语言自带的标准库

通常编程语言都具备常用的随机数相关的标准库。例如C语言<stdlib.h> 头文件中定义了int rand(void)接口。Python自带的random库中也提供random.random()和random.uniform()等方法供获取随机数。

这些随机数获取方式简单易用,且具备极高的生成速度,但缺点是难以达到密码学的安全要求

2.3 操作系统提供的随机数

现代操作系统考虑到应用获取高质量随机数的需求,提供了基于运行环境的传感器作为随机熵源的随机数接口。例如,在CentOS和Ubuntu操作系统中,可以访问 /dev/random 和 /dev/urandom两个文件获取随机数。其中:
1) /dev/random 是阻塞的随机数发生器,读取有时需要等待。存储着系统当前运行环境的实时数据,如 CPU、内存、电压、物理信号等
2) /dev/urandom 是非阻塞随机数发生器,读取操作不会产生阻塞。
操作系统提供的随机数质量一般比标准库高,但同样无法证明其满足密码学的安全要求。同时,因为随机数文件是公开的,无法确保随机数的保密性。

2.4 第三方库

几乎所有接触密码产品的研发人员都绕不开OpenSSL,无论是实际应用或代码框架都值得我们深入学习。使用OpenSSL等第三方密码学支持库是实践中最推荐的生成随机数的方式。OpenSSL在rand.h文件中定义了随机数相关接口:
int RAND_bytes(unsigned char *buf,int num);
void seed(const void *buf, int num);
int status(void);
void RAND_screen();

实际应用中,OpenSSL提供的随机数已经足够满足伪随机性的要求。但遗憾的是,该方案未满足主管部门对随机数发生器的要求,即不是“核准”的。如需使用密码学安全的随机数,可以按照GM/T 0078或GM/T 0105自行设计随机数发生器,也可以使用”已核准”的随机数发生器。

2.5 使用符合密码行业要求的随机数发生器

多数情况下,已经获取商用密码产品认证证书的产品都具备随机数功能。例如:
1) 符合GM/T 0018规范的密码机提供了SDF_GenerateRandom接口供应用程序使用;
2) 符合GM/T 0016接口的智能密码钥匙提供了SKF_GenRandom接口供应用程序使用;
3) 安全芯片一般提供真随机数发生器供固件使用,固件可以直接调用芯片供应商提供的库;
4) 硬件产品设计时也可以直接使用专用的随机数安全芯片产生随机数;

需要注意的是,上述密码机、智能密码钥匙、安全芯片应已经获得商用密码产品认证证书,否则会被视为“非核准的随机数发生器”。

2.6 自行设计的随机数发生器

在部分情况下,我们可能需要自行设计随机数发生器。例如,在设计符合GM/T 0028要求的软件密码模块时,产品可能需要使用SM2算法或使用随机数参与SSL通道建立,此时需要我们设计符合GM/T 0105《软件随机数发生器设计指南》的随机数发生器。

下一篇文章开始会详细讲解软件密码模块的随机数发生器设计方式。文章来源地址https://www.toymoban.com/news/detail-447614.html

到了这里,关于商用密码产品认证中的随机数(二)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • TEE GP(Global Platform)安全认证产品

    安全之安全(security²)博客目录导读  TEE之GP(Global Platform)认证汇总 目录 一、安全认证产品介绍 二、HUAWEI ITRUSTEE V3.0 ON KIRIN 980​编辑 三、SAMSUNG TEEGRIS V4.1          选择SECURITY和TEE SECURITY,然后SEARCH,可以看到TEE对应的安全认证产品。    参考: GlobalPlatform Certification - Glo

    2024年02月15日
    浏览(53)
  • NPDP认证含金量高吗?产品经理一定要了解!

    能力提升是每个职场人最关心的问题,产品经理当然也不例外。 相信不少朋友在走上产品的道路后都是边做边学边摸索。 特别是刚工作5年内的PM,对产品的整个知识框架并不成熟,1000个产品经理,就有1000个产品问题。 但所有问题的本质,都是因为缺少系统的产品管理知识

    2024年02月10日
    浏览(46)
  • 极视角与统信、海光、兆芯完成产品兼容互认证

    近日,极视角旗下算法推理平台「极星平台V6.3」、AI私有化平台「极栈平台V2.1」与统信服务器操作系统V20、海光5000/7000系列处理器、兆芯KH-30000/KH-20000/ZX-C系列处理器完成了产品兼容互认证。 极星平台是面向客户的算法推理平台,集算法配置、演示、管理于一体,内置视觉算

    2024年02月15日
    浏览(60)
  • 【产品兼容认证】WhaleStudio 成功兼容TiDB数据库软件

    北京,2023年12月27日 - 平凯星辰(北京)科技有限公司(以下简称平凯星辰)旗下的 TiDB 产品与白鲸开源的 WhaleStudio 已成功完成产品兼容性认证。这一重要合作旨在为全球客户提供更大的价值。 WhaleStudio 是一款由 Apache DolphinScheduler 和 SeaTunnel 核心团队打造的商业版高性能分布

    2024年01月24日
    浏览(43)
  • YMatrix 5.0 与天翼云完成产品兼容性认证

    近日,北京四维纵横数据技术有限公司与天翼云宣布完成产品兼容性认证。经过双方严格的测试验证,超融合数据库 YMatrix 5.0 与天翼云兼容性良好,可基于天翼云稳定运行。 数据库系统作为基础软件的核心,自主可控势在必行。在此背景下,国产创新型数据库迎来高速发展

    2024年02月09日
    浏览(39)
  • 腾讯云从业者认证考试考点——云网络产品

    负载均衡(Cloud Load Balancer) 是 对多台云服务器进行流量分发 的服务。负载均衡可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 私有网络(Virtual Private Cloud,VPC) 是一块您在腾讯云上自定义的 逻辑隔离网络空间 ,与您在数据中

    2024年02月14日
    浏览(51)
  • 腾讯云从业者认证考试考——CDN加速产品

    CDN(content delivery network) 就是在现有internet的基础上添加一层网络结构,由遍布全国各地的高性能加速节点构成。这些高性能的服务节点都会按照一定的缓存策略存储客户的业务内容,当客户的用户向某一业务内容发起请求时,请求会被调度至最接近用户的服务节点,直接由

    2024年02月14日
    浏览(47)
  • 关于公安部三所开展网络安全产品认证工作的公告

    各网络安全产品厂商: 2023年7月3日,国家互联网信息办公室、工业和信息化部、公安部、国家认证认可监督管理委员会发布了《关于调整网络关键设备和网络安全专用产品目录的公告》(2023年第2号),调整了网络安全专用产品的范围。《网络关键设备和网络安全专用产品目

    2024年02月12日
    浏览(58)
  • 玖章算术NineData通过阿里云PolarDB产品生态集成认证

    近日,玖章算术旗下NineData 云原生智能数据管理平台 (V1.0)正式通过了阿里云PolarDB PostgreSQL版 (V11)产品集成认证测试,并获得阿里云颁发的产品生态集成认证。 测试结果表明,玖章算术旗下NineData数据管理平台 (V1.0)与阿里云PolarDB PostgreSQL版(V11),完全满足产品生态集成认

    2024年01月16日
    浏览(44)
  • 2023年制造业产品经理NPDP认证报名入口及指南

    产品经理国际资格认证NPDP是新产品开发方面的认证,集理论、方法与实践为一体的全方位的知识体系,为公司组织层级进行规划、决策、执行提供良好的方法体系支撑。 【认证机构】 产品开发与管理协会(PDMA)成立于1979年,是全球范围内产品开发与管理专业人士最杰出的

    2023年04月27日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包