首页 > 国家标准(GB) > GB/T 38556-2020 信息安全技术 动态口令密码应用技术规范
GB/T 38556-2020

基本信息

标准号: GB/T 38556-2020

中文名称:信息安全技术 动态口令密码应用技术规范

标准类别:国家标准(GB)

标准状态:现行

出版语种:简体中文

下载格式:.zip .pdf

相关标签: 信息安全 技术 动态 密码 应用 技术规范

标准分类号

关联标准

出版信息

相关单位信息

标准简介

GB/T 38556-2020.Information security technology-Technical specifications for one-time-password cryptographic application.
1范围
GB/T 38556规定了动态口令技术框架,动态口令生成算法、鉴别和密钥管理等的相关内容。
GB/T 38556适用于动态口令相关产品的研制、生产、应用,也可用于指导相关产品的检测。
2规范性引用文件
下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件,凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
GB/T 2423.1-2008电工电子产 品环境试验第2 部分:试验方法试验 A:低温
GB/T 2423.2-2008电工电子产品环境试验第 2部分:试验方法试验 B:高温
GB/T 2423.3-2016环境试验第2部分:试验方法试验Cab:恒定湿热试验
GB/T 2423.7-2018环境试验第2 部分:试验方法试验 Ec:粗率操作造成的冲击(主要用于设备型样品)
GB/T 2423.10-2019环境试验第2 部分:试验方法试验 Fc:振动(正弦)
GB/T 2423.21-2008电 工电子产品环境试验第 2部分:试验方法试验 M:低气压
GB/T 2423.22-2012环境试验第 2部分:试验方法试验 N:温度变化
GB/T 2423.53-2005电 工电子产品环境试验第 2部分:试验方法试验 Xb:由手的摩擦造成标记和印刷文字的磨损
GB/T 4208-2017外壳 防护等级(IP代码)
GB/T 17626.2-2018电 磁兼容试验和测量技术 静电 放电抗扰度试验
GB/T 18336.1信息技术安全技术信息技术安 全性评估准则第1部分:简介和一般模型
GB/T 18336.2 信息技术安全技术信息技术安全性评估准则第2部分:安全功能组件

标准图片预览






标准内容

ICS35.040
中华人民共和国国家标准
GB/T38556—2020
信息安全技术
动态口令密码应用技术规范
Information security technology-Technical specifications forone-time-passwordcryptographicapplication2020-03-06发布
国家市场监督管理总局
国家标准化管理委员会
2020-10-01实施
规范性引用文件
术语和定义
5技术框架wwW.bzxz.Net
总体框架
系统组成
6动态口令生成
口令生成方式
算法使用说明
鉴别模块说明
鉴别模块服务
鉴别模块管理功能
安全要求
密钥管理
模块架构·
功能要求
系统安全性设计
硬件密码设备接口说明
附录A(规范性附录)
附录B(资料性附录)
附录C(资料性附录)
附录D(规范性附录)
附录E(资料性附录)
附录F(规范性附录)
硬件动态令牌要求
动态口令鉴别原理
鉴别模块接口
运算参数与数据说明用例
动态口令生成算法C语言实现用例动态口令生成算法计算输入输出用例GB/T38556—2020
本标准按照GB/T1.1—2009给出的规则起草。GB/T38556—2020
请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别这些专利的责任。本标准由全国信息安全标准化技术委员会(SAC/TC260)提出并归口。本标准起草单位:上海众人网络安全技术有限公司、上海复旦微电子股份有限公司、飞天诚信科技股份有限公司、国家密码管理局商用密码检测中心、北京集联网络技术有限公司、上海华虹集成电路有限责任公司、紫光同芯微电子有限公司、上海林果实业股份有限公司北京科技分公司、格尔软件股份有限公司。
本标准主要起草人:谈剑锋、尤磊、李坤、柳逊、郑强、朱鹏飞、田敏求、吕春梅、郭思健、陈岩、李阅、周学庆、王凤珍。
1范围
信息安全技术
动态口令密码应用技术规范
GB/T38556-—2020
本标准规定了动态口令技术框架,动态口令生成算法、鉴别和密钥管理等的相关内容。本标准适用于动态口令相关产品的研制、生产、应用,也可用于指导相关产品的检测。规范性引用文件
下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件,凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。GB/T2423.1一2008电工电子产品环境试验第2部分:试验方法试验A:低温GB/T2423.22008
电工电子产品环境试验第2部分:试验方法试验B:高温环境试验第2部分:试验方法试验Cab:恒定湿热试验GB/T2423.3—2016
GB/T2423.7—2018
环境试验第2部分:试验方法试验Ec:粗率操作造成的冲击(主要用于设备型样品)
GB/T2423.102019环境试验第2部分:试验方法试验Fc:振动(正弦)GB/T2423.21一2008电工电子产品环境试验第2部分:试验方法试验M:低气压GB/T2423.22—2012
环境试验第2部分:试验方法试验N:温度变化GB/T2423.53—2005
电工电子产品环境试验第2部分:试验方法试验Xb:由手的摩擦造成标记和印刷文字的磨损
GB/T4208—2017
外壳防护等级(IP代码)
GB/T17626.2—2018电磁兼容试验和测量技术静电放电抗扰度试验GB/T 18336.1
GB/T18336.2
GB/T18336.3
GB/T32905
GB/T32907
GB/T32915
术语和定义
信息技术安全技术信息技术安全性评估准则第1部分:简介和一般模型信息技术安全技术信息技术安全性评估准则第2部分:安全功能组件信息技术安全技术信息技术安全性评估准则第3部分:安全保障组件信息安全技术SM3密码杂凑算法
信息安全技术
SM4分组密码算法
信息安全技术
二元序列随机性检测方法
下列术语和定义适用于本文件。3.1
动态口令
one-time-password;dynamicpassword由种子密钥与其他数据,通过特定算法,运算生成的一次性口令。GB/T38556—2020
动态令牌
one-time-password token;dynamic token生成并显示动态口令的载体。
种子密钥
seed key
计算动态口令的密钥。
注:种子密钥即令牌种子密钥。3.4
静态口令
static password
用户设置的,除非用户主动修改,否则不会发生变化的口令。3.5
挑战码
challenge code
可参与到动态口令生成过程中的一种数据。注:挑战码即挑战因子。
big-endian
数据在内存中的一种表示格式,规定左边为高有效位,右边为低有效位。注:数的高阶字节放在存储器的低地址,数的低阶字节放在存储器的高地址,3.7
鉴别模块
authentication system
能够为应用系统提供动态口令身份鉴别服务的系统。3.8
服务报表
servicelist
系统提供的,对于令牌和系统不同时间段对应的状态和结果的统计报表3.9
主密钥
masterkey
用于生成种子密钥、种子密钥加密密钥、厂商生产主密钥等的系统根密钥。3.10
种子密钥加密密钥
encryptionkeyforseedkey
用于对种子密钥进行加密的密钥。3.11
厂商生产主密钥
main key for manufacturer production生成令牌生产时所需的种子密钥加密密钥。3.12
厂商代码
manufacturer code
用于标识厂商的代码,可以是数字、英文字母、数字与英文字母的混合。3.13
内部挑战鉴别
internal challengeauthentication-种由用户主动解除令牌异常状态时采用的挑战鉴别方式4符号
下列符号适用于本文件
bitN:一个字节当中的第N十1个比特位(从低位计起)。C:参与运算的事件因子。
F:算法函数。
ID:杂凑及分组算法的输入信息
IP44:防护等级第特性4(防尘),防护等级第二特性4(防水)。K:长度不少于128比特的运算密钥。Km:主密钥。
K.:传输密钥。
K,:厂商生产主密钥。
K:种子密钥加密密钥。
N:令牌或其他终端显示口令的位数。OD:输出结果。
GB/T38556-—2020
PIN:用于使令牌工作并显示动态口令的一种口令,是一个至少6位长度的十进制数、Q:鉴别双方通过协商输入的挑战因子。S:算法函数输出结果。
T:参与运算的时间因子。
T。:以UTC时间为标准的一个长度为8字节的整数,T。:以秒为单位的口令变化周期。TruncateO:截位函数。
UTC:距1970年1月1日0000时(格林尼治标准时间)的秒数。*:幂运算符,即2n代表2的n次方%:求余运算,即5%3=2
11:连接符,将两组数据根据左右顺序拼接田:算术加符号,且不进位。
技术框架
5.1总体框架
动态口令系统为应用系统提供动态口令鉴别服务。由动态令牌、鉴别模块和密钥管理模块组成。动态令牌生成动态口令,鉴别模块验证动态口令的正确性,密钥管理模块负责动态口令的密钥管理,应用系统将动态口令按照指定的协议(报文)发送至鉴别模块进行鉴别。动态口令系统架构如图1所示。
GB/T38556—2020
客产端
5.2系统组成
5.2.1动态令牌
种子密钙
动态令
种丁密
服务器端
图1动态口令系统架构
应用系统
鉴别锁块
讯协议
动态令牌产生动态口令,作为用户身份鉴别依据。硬件动态令牌产品的要求见附录A5.2.2鉴别模块
鉴别模块用于执行动态口令鉴别和令牌同步,以及令牌相关状态的管理及配置等功能。鉴别模块通过鉴别通讯协议与应用系统进行通讯,或支持调用鉴别接口的方式,用以完成动态口令的鉴别、同步等功能。动态口令鉴别原理参见附录B。5.2.3密钥管理模块
密钥管理模块用于动态令牌种子密钥的生成、传输和存储进行安全管理,包括系统登录鉴别子模块、用户管理子模块、保护密钥生成子模块、种子密钥生成子模块、令牌序号生成子模块、时间同步子模块(可选)、令牌生产配置子模块、密码机接口模块和动态令牌读写接口等。5.2.4应用系统
应用系统是指集成了将动态口令按照鉴别通讯协议(或鉴别接口)与鉴别模块交互完成动态口令鉴别的应用程序集合,应用系统可以是软件系统,可以是硬件设备,也可以是软件和硬件相结合的形式5.2.5鉴别接口
鉴别接口是鉴别模块提供的用于连接应用系统与鉴别模块的接口集合。应用系统通过调用接口,可以完成动态口令鉴别、同步等功能。鉴别模块的接口参见附录C。5.2.6鉴别通讯协议
鉴别通讯协议是鉴别服务通过标准的通讯协议和应用系统进行通讯的依据。应用系统通过发送报4
文的形式完成动态口令的鉴别、同步等功能。动态口令生成
6.1口令生成方式
6.1.1计算时间因子
T=To/ T
GB/T38556-—2020
T是参与运算的时间因子,是一个8字节整数。T。是以UTC时间或用户选择的时间标准为计量标准的一个8字节整数。T。是以秒为单位的口令变化周期,最大值为60。6.1.2组装输入序列
ID=(TICIQ)
ID是杂凑或分组算法的输入序列。T是6.1.1的计算结果。C是参与运算的事件因子,是一个4学节整数。Q是鉴别双方通过协商输人的挑战因子或其他类型需要参与运算的因子,使用ASCII码表示,最小长度为4字节。
ID最小长度为128比特,至少需要包含T、C的其中一个参数,Q为可选参数.并按照T11C11Q的顺序进行数据组装。未包含的参数位置,由下一个参数进行补充。如ID由T、Q组成,则数据组装方式为TIQ。如ID由C、Q组成,则数据组装方式为C1Q。如组成ID的数据不足128比特,ID的数据末端填零至128比特
6.1.3计算一次性中间值
S = F(K,ID)
K是长度不小于128比特的种子密钥,只有鉴别双方持有:F)是算法函数,使用分组算法SM4或者杂凑算法SM3,其中使用SM4时S的输出长度为128比特,使用SM3时S的输出长度为256比特6.1.4截位计算
OD = Truncate(S)
输入为6.l.3的输出。Truncate()是截位函数,OD是其输出结果,长度为32比特选用SM3作为F运算时定义S1、S2、S3、S4、S5、S6、S7、S8为8个4字节整数,通过如下方法赋值:
S=S1S2S3S4S5S6S7S8
OD=(S1+S2+S3+S4+S5+S6+S7+S8)%(232)使用SM4作为F运算时,定义S1、S2、S3、S4为4个4字节整数,通过如下方法赋值:S = S1 I S2 II S3 H S4
OD=(S1+S2+S3+S4)%(2-32)
6.1.5计算动态口令
P= OD % (10~N)
N是令牌或其他终端显示口令的位数,N不小于6。P是最终显示的动态口令。GB/T38556—2020
6.2算法使用说明
使用要求
算法使用应满足以下要求:
分组密码算法应采用SM4算法,应满足GB/T32907的要求。分组长度为128比特,密钥长度为128比特,运算方式选用ECB加密的工作模式,加密结果长度为128比特。密码杂凑算法应采用SM3算法,应满足GB/T32905的要求。涉及随机数生成的算法,应满足GB/T32915的要求。6.2.2杂凑算法使用说明
在S=F(K,ID)环节,当使用SM3算法时,KID为输入参数,6.2.3分组算法使用说明
在S=F(K,ID)环节,当使用SM4算法时,K为运算密钥,ID为输入参数,K或ID大于128比特时,运算过程如下:
K大于128比特时,记K的长度为Li比特。n为不小于L/128的最小整数,在K末端填充128*n-L,个比特0。再将K以128比特长度进行分组,高位在前,分别为K、K2、K,K,。ID大于128比特时,记ID的长度为L2比特。m为不小于L2/128的最小整数,在ID末端填充128*m一L个比特0。再将ID以128比特长度进行分组.高位在前,分别为IDI、IDz、IDIDms运算过程如图2所示。
图2SM4运算过程图
ID,和K,作为第一个分组运算的输人,通过SM4运算生成St。将S分别与ID,和K,进行算术加运算(高位溢出舍去),获得ID,和K,.用于第二个分组的输人,通过SM4运算生成S2。之后的运算以此类推。
如K,和ID中,n>m,则m次运算以后,使用ID与S,(m一1如K,和ID.中,n如图2中所示,S-Sxm。
6.2.4数据格式和输入输出用例
数据运算与存储,应采用大端(big-endian)格式。见附录D。6
GB/T38556-—2020
动态口令生成算法的C语言实现用例参见附录E,输人输出的用例数据见附录F7鉴别
鉴别模块说明
7.1.1鉴别模块构成
鉴别模块是为应用系统提供动态令牌鉴别及管理的服务系统,由两个部分构成:a)鉴别服务子模块对应用提供鉴别和管理服务。b)管理子模块对鉴别模块的运行进行管理7.1.2令牌的状态
令牌的状态为鉴别模块内保存的令牌工作状态见表1。表1令牌工作状态表
未激活
令牌出厂时的状态,应激活后令牌才能进入就绪状态
令牌正常工作状态
令牌因连续错误、重放攻击、人工方式等原因被锁定后处于锁定状态
令牌被人为挂起后,处于挂起状态令牌执行作废操作后·进人作废状态7.1.3令牌的数据
未激活令牌不能提供正常的口令鉴别就绪状态下令牌可用于口令鉴别锁定状态的令牌不能提供正常的口令鉴别挂起状态的令牌不能提供正常的口令鉴别作废的令牌不能提供正常的口令鉴别令牌的数据应包括:令牌序列号、密钥数据、令牌状态、上次使用时间、连续错误次数、令牌偏移量、其他配置参数等、其中:
a)密钥数据应加密存放。
b)其他数据应采用校验机制保证完整性。7.1.4令牌的同步
鉴别模块应提供对令牌的内部计数器与系统的令牌计数器之间的同步处理。对于时间型令牌,使用双向时间窗口;对于事件型令牌,使用单向事件窗口。窗口指用于令牌时间与系统时间同步的窗口。时间型令牌根据不同的令牌同步需求,分别采用大窗口、中窗口、小窗口进行同步。使用各种窗口时,要求如下:
a)大窗口,窗口大小不应超过士10min。使用大窗口同步时,要求下一个连续的动态口令匹配,同时调整系统的令牌偏移量。大窗口要求使用受限的同步服务,即进一步身份鉴别或需要更高权限才能执行大窗口的同步服务。大窗口可由鉴别模块的授权运维人员使用,并应与应用系统的验证码机制同时使用。
b)中窗口,窗口大小不应超过士5min。使用中窗口同步时,要求下一个连续的动态口令匹配,同7
GB/T38556—2020
时调整系统的令牌偏移量。中窗口可由令牌用户或鉴别模块的运维人员使用,并应与应用系统的验证码机制同时使用。
小窗口,窗口大小不应超过士2min。使用小窗口同步时,鉴别模块通过动态口令鉴别,同时调整系统的令牌偏移量。小窗口可由鉴别模块自动调用,在令牌用户使用动态口令进行身份鉴别时使用。
d)事件型令牌的大窗口、中窗口、小窗口的大小,可由用户与厂商协商制定,但应保证其鉴别的安全性和有效性。
7.1.5自动锁定和自动解锁
令牌在使用过程中若连续多次验证错误超过最大次数后,鉴别模块会自动将该令牌状态修改为“锁定”。在超过设定的自动解锁时间后,鉴别模块会自动解除该令牌的锁定状态。自动解锁只能解除被自动锁定的令牌。2鉴别模块服务
7.2.1安全服务
7.2.1.1动态口令鉴别
对提交的动态口令进行鉴别的服务,鉴别方式包括:静态口令十动态口令、动态口令。其中静态口令为与该动态令牌绑定的静态口令7.2.1.2挑战应答鉴别
对提交的挑战应答码进行鉴别的服务,鉴别方式包括:挑战鉴别、内部挑战鉴别。挑战鉴别是用户采用向令牌输人应用服务提供的挑战码的方式,获取相应的动态口令,完成鉴别内部挑战鉴别是用户通过向令牌输人PIN、静态口令等用户私有数据,获取相应的动态口令,完成鉴别。
7.2.1.3产生挑战码
根据应用的请求产生挑战码,生成的挑战码格式包括:数字型、字符型、数字十字符型。其中数字为阿拉伯数字0~9,字符为英文字符或符号字符,区分大小写。挑战码的最小长度和最大长度可由鉴别模块进行设置
7.2.2管理服务
7.2.2.1激活
将未激活的令牌设为可用状态。激活动态口令令牌的方法如下:激活时验证动态口令的窗口使用大窗口;a)
令牌成功激活后,状态设置为就绪;激活不成功,记录激活错误次数,但不锁定令牌。7.2.2.2锁定
令牌在连续错误、重放攻击等操作下将就绪状态的令牌设置为锁定状态。令牌被锁定后解决方法如下:
a)令牌被锁定后,应通过解锁服务回到就绪状态;b)令牌被锁定后,应通过废止服务设置为废止状态7.2.2.3解锁
GB/T38556-—2020
通过静态口令、静态口令十动态口令将锁定状态的令牌解锁,设置为就绪状态。令牌解锁方法如下:
a)解锁时,要求当前的动态口令;b)
若设置了静态口令,要求验证静态口令;若静态口令的验证方式是内部挑战方式,使用内部挑战鉴别;d)若静态口令的验证方式是静动态混合方式,使用静态口令十动态口令鉴别。7.2.2.4挂起
将动态令牌设置为挂起状态方法如下:a)只有就绪或锁定状态的令牌应被设置为挂起状态;b)令牌被挂起后,应通过废止服务设置为废止状态。7.2.2.5解挂
解除令牌的挂起状态步骤如下:a
解挂成功后令牌的状态设置为就绪状态;b)
要求验证当前的动态口令;
若设置了静态口令,要求验证静态口令;若静态口令的验证方式是内部挑战方式,使用内部挑战鉴别;d)
若静态口令的验证方式是普通方式,使用静态口令十动态口令鉴别。e)
设置静态口令
设置动态令牌绑定的静态口令步骤如下:a)要求验证原有的静态口令;
b)若静态口令的验证方式是内部挑战方式,使用内部挑战鉴别;c)若静态口令的验证方式是静动态混合方式,使用静态口令十动态口令鉴别。7.2.2.7远程解PIN
鉴别模块可提供远程解PIN的功能(针对具有PIN保护的令牌)。根据应用请求,鉴别模块生成当前的远程解PIN密码,应从以下几个方法来设置:a)解PIN的密码为0~9的数字串,长度最少为6位;b)解PIN的操作最大尝试次数不可超过5次,若超过最大尝试次数,应至少等待1h才可继续尝试;
超过最大尝试次数的情况不可超过5次,否则令牌应永久锁定,不可再使用。c)
同步与窗口要求
鉴别模块提供令牌的同步服务有以下几种:a)在大窗口、中窗口内验证令牌的连续2个动态口令,若成功,调整令牌的系统偏移量b)在小窗口内验证令牌的当前动态口令,若成功,调整令牌的系统偏移量;9
小提示:此标准内容仅展示完整标准里的部分截取内容,若需要完整标准请到上方自行免费下载完整标准文档。