Codeofchina.com is in charge of this English translation. In case of any doubt about the English translation, the Chinese original shall be considered authoritative.
This standard is developed in accordance with the rules given in GB/T 1.1-2009.
Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. The issuing body of this document shall not be held responsible for identifying any or all such patent rights.
This standard was proposed by and is under the jurisdiction of the Cryptography Standardization Technical Committee.
Introduction
Random numbers play an extremely important role in cryptographic application. For example, the keys in cryptographic algorithms shall be random numbers, and random numbers are also required in intermediate processes of many cryptographic protocols.
A random number generator refers to a dedicated integrated device that generates a random number or a random number generation part in a device.
When a random number generator is used to generate a random number, the quality of the random number plays a key role in ensuring the security of the entire system. For the purpose of this standard, the cryptographic modules are classified into Categories A, B, C, D and E for the random number test. The random number test for each category includes four different application phases, i.e., sample test, delivery test, power on test and running test, and random number test requirements are put forward for all application phases of each category.
Random number test requirements for cryptographic modules
1 Scope
This standard specifies test indexes and requirements for the randomness of generating a random number using a random number generator through hardware in application of cryptographic modules.
This standard is applicable to the test of the random number generator, and can also provide guidance for the development of the random number generator.
2 Normative references
The following referenced documents are indispensable for the application of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.
GB/T 32915 Information security technology - Randomness test methods for binary sequence
3 Terms, definitions and symbols
3.1 Terms and definitions
For the purposes of this document, the terms and definitions established in GB/T 32915 and the following apply.
3.1.1
sample test
randomness test for the cryptographic modules that the manufacturer's sample is submitted to a third-party testing organization for test
3.1.2
delivery test
random number function and quality test for the cryptographic modules, which is performed by the manufacturer before their delivery
3.1.3
power on test
random number function test for the cryptographic modules that is automatically performed at power-on
3.1.4
running test
random number function test for the cryptographic modules that is automatically performed during their operation, which is classified into cyclical test and single test
3.1.5
cyclical test
random number function test for the cryptographic modules that is automatically performed at a certain time interval during their operation
3.1.6
single test
random number function test for the cryptographic modules that is automatically performed before use of the random number each time during their operation
3.2 Symbols
For the purposes of this document, the following symbols apply.
α—significance level
m—block length of poker test
4 Description of random number test
4.1 Classification of cryptographic modules
For the purpose of this standard, the cryptographic modules are classified into Categories A, B, C, D and E for the random number test, with respective main features and typical forms.
For Category A cryptographic modules, they cannot be used independently as functional products; their typical forms include random number generator chip, etc.
For Category B cryptographic modules, they are powered on when used, and they have limited processing capacity in the random number test and have strict requirements for power on response speed; their typical forms include IC card, etc.
For Category C cryptographic modules, they are powered on when used, and they have limited processing capacity in the random number test and have no strict requirements for power on response speed; their typical forms include USBKey, etc.
For Category D cryptographic modules, they are powered on for a long term, and they have limited processing capacity in the random number test and have no strict requirements for power on response speed; their typical forms include POS machine, etc.
For Category E cryptographic modules, they are powered on for a long term, and they have relatively strong processing capacity in the random number test, and have no requirements for power on response speed; their typical forms include server, etc.
In addition, this standard put forwards random number test requirements for each category.
4.2 Division of application stages
For the purpose of this standard, four different application stages are divided for the random number test, i.e., sample test, delivery test, power on test, and running test.
For the above four application stages, this standard specifies corresponding random number test methods.
4.3 Data format
To-be-tested data shall be tested in the form of binary sequence.
4.4 Test items
For the purpose of this standard, the randomness test items involve 15 items specified in GB/T 32915, i.e., monobit frequency test, frequency test within a block, poker test, serial test, runs test, runs distribution test, test for the longest run of ones in a block, binary derivative test, autocorrelation test, binary matrix rank test, cumulative test, approximate entropy test, linear complexity test, universal test, and discrete fourier transform test.
Foreword i
Introduction ii
1 Scope
2 Normative references
3 Terms, definitions and symbols
3.1 Terms and definitions
3.2 Symbols
4 Description of random number test
4.1 Classification of cryptographic modules
4.2 Division of application stages
4.3 Data format
4.4 Test items
4.5 Significance level
4.6 Setting of parameters
5 Random number test for Category A cryptographic modules
5.1 Sample test
5.2 Delivery test
5.3 Power on test
5.4 Running test
6 Random number test for Category B cryptographic modules
6.1 Sample test
6.2 Delivery test
6.3 Power on test
6.4 Running test
7 Random number test for Category C cryptographic modules
7.1 Sample test
7.2 Delivery test
7.3 Power on test
7.4 Running test
8 Random number test for Category D cryptographic modules
8.1 Sample test
8.2 Delivery test
8.3 Power on test
8.4 Running test
9 Random number test for Category E cryptographic modules
9.1 Sample test
9.2 Delivery test
9.3 Power on test
9.4 Running test
ICS 35.040
L 80
备案号:62997—2018
GM
中华人民共和国密码行业标准
GM/T 0062—2018
密码产品随机数检测要求
Random number test requirements for cryptographic modules
2018-05-02发布 2018-05-02实施
国家密码管理局 发布
前言
本标准按照GB/T 1.1—2009给出的规则起草。
请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别这些专利的责任。
本标准由密码行业标准化技术委员会提出并归口。
引言
随机数在密码应用中发挥着极其重要的作用,例如密码算法里的密钥要求是随机数,另外许多密码协议的中间过程也需要随机数。
随机数发生器是指产生随机数的专用集成器件或者器件中的随机数生成部件。
使用随机数发生器产生随机数时,随机数的好坏对于保障整个系统的安全性举足轻重。本标准将随机数检测划分为A类、B类、C类、D类和E类五个不同产品形态,对每个产品形态的随机数检测划分为送样检测、出厂检测、上电检测、使用检测四个不同应用阶段,并对每种产品形态的各应用阶段提出了随机数检测要求。
密码产品随机数检测要求
1 范围
本标准规定了密码产品应用中,硬件实现随机数发生器产生随机数的随机性检测指标和检测要求。
本标准适用于随机数发生器的检测,亦可指导随机数发生器的研制。
2 规范性引用文件
下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
GB/T 32915 信息安全技术 二元序列随机性检测方法
3 术语、定义和符号
3.1 术语和定义
GB/T 32915界定的以及下列术语和定义适用于本文件。
3.1.1
送样检测 sample test
厂商产品样本交由第三方检测机构进行的产品随机性检测。
3.1.2
出厂检测 delivery test
由厂家在产品出厂前进行的产品随机数功能和质量检测。
3.1.3
上电检测 power on test
产品加电时自动进行的随机数功能检测。
3.1.4
使用检测 running test
产品工作过程中自动进行的随机数功能检测,使用检测分为周期检测和单次检测。
3.1.5
周期检测 cyclical test
产品工作过程中按照一定的时间间隔自动进行的随机数功能检测。
3.1.6
单次检测 single test
产品工作过程中随机数每次使用前自动进行的随机数功能检测。
3.2 符号
下列符号适用于本文件。
α 显著性水平
m 扑克检测的分组长度
4 随机数检测说明
4.1 产品形态划分
本标准将随机数检测划分为A类、B类、C类、D类和E类五个不同产品形态类别。
A类产品的主要特征为不能独立作为功能产品使用;典型产品形态为随机数发生器芯片等。
B类产品的主要特征为用时上电,随机数检测处理能力有限,对上电响应速度有严格要求;典型产品形态为IC卡等。
C类产品的主要特征为用时上电,随机数检测处理能力有限,对上电响应速度没有严格要求;典型产品形态为USBKey等。
D类产品的主要特征为长期加电,随机数检测处理能力有限,对上电响应速度没有严格要求;典型产品形态为POS机等。
E类产品的主要特征为长期加电,具有较强的随机数检测处理能力,对上电响应速度没有要求;典型产品形态为服务器等。
本标准对每种产品形态提出了随机数检测要求。
4.2 应用阶段划分
本标准将随机数检测划分为送样检测、出厂检测、上电检测、使用检测四个不同应用阶段。
对上述四个应用阶段,本标准规范了相应的随机数检测方法。
4.3 数据格式
待检的数据以二元序列的形式接受检测。
4.4 检测项目
本标准采用的随机性检测项目涉及GB/T 32915规定的15项,分别为单比特频数检测、块内频数检测、扑克检测、重叠子序列检测、游程总数检测、游程分布检测、块内最大游程检测、二元推导检测、自相关检测、矩阵秩检测、累加和检测、近似熵检测、线性复杂度检测、通用统计检测、离散傅立叶检测。
4.5 显著性水平
本标准采用的显著性水平为α=0.01。
4.6 参数设置
本标准针对不同产品形态的不同应用阶段,接受检测的二元序列的长度不同。
5 A类产品随机数检测
5.1 送样检测
依据GB/T 32915进行随机数检测。
5.2 出厂检测
随机数出厂检测包括以下要求:
a) 检测量:采集1 000×106比特随机数,分成1 000组,每组106比特。
b) 检测项目:依据GB/T 32915中规定的检测项进行检测。
c) 检测判断标准:单项检测如果20组或者20组以上不通过检测标准,则告警检测不合格。允许重复1次随机数采集与检测,如果重复检测仍不合格,则判定为产品的随机数发生器失效。
5.3 上电检测
本标准不做要求。
5.4 使用检测
5.4.1 周期检测
本标准不做要求。
5.4.2 单次检测
本标准不做要求。
6 B类产品随机数检测
6.1 送样检测
依据GB/T 32915进行随机数检测。
6.2 出厂检测
随机数出厂检测包括以下要求:
a) 检测量:样本长度不应低于128比特。
b) 检测项目:单比特频数检测或者扑克检测。扑克检测参数m=2。
c) 检测判断标准:被测序列如果不通过检测标准,则告警检测不合格。允许重复1次随机数采集与检测,如果重复检测仍不合格,则判定为产品的随机数发生器失效。
6.3 上电检测
本标准不做要求。
6.4 使用检测
6.4.1 周期检测
本标准不做要求。
6.4.2 单次检测
随机数使用单次检测包括以下要求:
a) 检测量:根据实际应用时每次所采随机数大小确定,但长度不应低于128比特,且已通过检测的未用序列可继续用。
b) 检测项目:扑克检测,参数m=2。
c) 检测判断标准:被测序列如果不通过检测标准,则告警检测不合格。允许重复1次随机数采集与检测,如果重复检测仍不合格,则判定为产品的随机数发生器失效。
7 C类产品随机数检测
7.1 送样检测
依据GB/T 32915进行随机数检测。
7.2 出厂检测
随机数出厂检测包括以下要求:
a) 检测量:样本长度不应低于256比特。
b)检测项目:单比特频数检测或者扑克检测。扑克检测参数m=2。
c) 检测判断标准:被测序列如果不通过检测标准,则告警检测不合格。允许重复1次随机数采集与检测,如果重复检测仍不合格,则判定为产品的随机数发生器失效。
7.3 上电检测
随机数上电检测包括以下要求:
a) 检测量:样本长度不应低于256比特。
b) 检测项目:扑克检测,参数m=2。
c) 检测判断标准:被测序列如果不通过检测标准,则告警检测不合格。允许重复1次随机数采集与检测,如果重复检测仍不合格,则判定为产品的随机数发生器失效。
7.4 使用检测
7.4.1 周期检测
本标准不做要求。
7.4.2 单次检测
随机数使用单次检测包括以下要求:
a) 检测量:根据实际应用时每次所采随机数大小确定,但长度不应低于256比特,且已通过检测的未用序列继续使用。
b) 检测项目:扑克检测,参数m=2。
c) 检测判断标准:被测序列如果不通过检测标准,则告警检测不合格。允许重复1次随机数采集与检测,如果重复检测仍不合格,则判定为产品的随机数发生器失效。
8 D类产品随机数检测
8.1 送样检测
依据GB/T 32915进行随机数检测。
8.2 出厂检测
随机数出厂检测包括以下要求:
a) 检测量:样本长度不应低于256比特。
b) 检测项目:单比特频数检测或者扑克检测。扑克检测参数m=2。
c) 检测判断标准:被测序列如果不通过检测标准,则告警检测不合格。允许重复1次随机数采集与检测,如果重复检测仍不合格,则判定为产品的随机数发生器失效。
8.3 上电检测
随机数上电检测包括以下要求:
a) 检测量:采集20×104比特随机数,分成20组,每组104比特。
b) 检测项目:扑克检测,参数m=2。
c) 检测判断标准:被测序列如果2组或者2组以上不通过检测标准,则告警检测不合格。允许重复1次随机数采集与检测,如果重复检测仍不合格,则判定为产品的随机数发生器失效。
8.4 使用检测
8.4.1 周期检测
随机数使用周期检测包括以下要求:
a) 检测量:采集5×104比特随机数,分成5组,每组104比特。
b) 检测项目:扑克检测,参数m=2。
c) 检测判断标准:被测序列如果1组或者1组以上不通过检测标准,则告警检测不合格。允许重复1次随机数采集与检测,如果重复检测仍不合格,则判定为产品的随机数发生器失效。
d) 检测周期:可配置,建议检测间隔最长不超过24 h。
8.4.2 单次检测
随机数使用单次检测包括以下要求:
a) 检测量:根据实际应用时每次所采随机数大小确定,但长度不应低于256比特,且已通过检测的未用序列可继续用。
b) 检测项目:扑克检测,参数m=2。
c) 检测判断标准:被测序列如果不通过检测标准,则告警检测不合格。允许重复1次随机数采集与检测,如果重复检测仍不合格,则判定为产品的随机数发生器失效。
9 E类产品随机数检测
9.1 送样检测
依据GB/T 32915进行随机数检测。
9.2 出厂检测
随机数出厂检测包括以下要求:
a) 检测量:采集50×106比特随机数,分成50组,每组106比特。
b) 检测项目:依据GB/T 32915中规定的检测项进行检测。
c) 检测判断标准:单项检测如果3组或者3组以上不通过检测标准,则告警检测不合格。允许重复1次随机数采集与检测,如果重复检测仍不合格,则判定为产品的随机数发生器失效。
9.3 上电检测
随机数上电检测包括以下要求:
a) 检测量:采集20×106比特随机数,分成20组,每组106比特。
b) 检测项目:依据GB/T 32915中规定的检测项进行检测。
c) 检测判断标准:单项检测如果2组或者2组以上不通过检测标准,则告警检测不合格。允许重复1次随机数采集与检测,如果重复检测仍不合格,则判定为产品的随机数发生器失效。
9.4 使用检测
9.4.1 周期检测
随机数使用周期检测包括以下要求:
a) 检测量:采集4×105比特随机数,分成20组,每组2×104比特。
b) 检测项目:对采集随机数按照GB/T 32915中除离散傅立叶检测、线性复杂度检测、通用统计检测外的12项项目检测。
c) 检测判断标准:单项检测如果2组或者2组以上不通过检测标准,则告警检测不合格。允许重复1次随机数采集与检测,如果重复检测仍不合格,则判定为产品的随机数发生器失效。
d) 检测周期:可配置,检测间隔最长不超过12 h。
9.4.2 单次检测
随机数使用单次检测包括以下要求:
a) 检测量:根据实际应用时每次所采随机数大小确定,但长度不应低于256比特,且已通过检测的未用序列可继续用。
b) 检测项目:扑克检测,参数m=2。
c) 检测判断标准:被测序列如果不通过检测标准,则告警检测不合格。允许重复1次随机数采集与检测,如果重复检测仍不合格,则判定为产品的随机数发生器失效。