GM/T 0021-2012 动态口令密码应用技术规范
GM/T 0021-2012 One time password application of cryptography algorithm
基本信息
本标准适用于动态口令相关产品的研制、生产,也可用于指导相关产品的检测。
发布历史
-
2012年11月
-
2023年12月
研制信息
- 起草单位:
- 上海众人网络安全技术有限公司、上海复旦微电子股份有限公司、飞天诚信科技股份有限公司、北京集联网络技术有限公司、上海华虹集成电路有限责任公司、深圳同方电子设备有限公司、上海林果实业有限公司、上海格尔软件股份有限公司
- 起草人:
- 詹榜华、谈剑锋、尤磊、柳逊、陈达、郭思建、张志茂、李阗、牛毅
- 出版信息:
- 页数:45页 | 字数:83 千字 | 开本: 大16开
内容描述
ICs35.040
L80
备案号:38319—⒛13
中华人民共和国密码行业标准
GˇΙ-2012
/T002⒈
乏
动态口令密码应用
技术规范
onetiInepasswordappⅡ
cationof
cryptographyalgorithm
⒛12-1卜22发布2012-11-22实施
国家密码管理局发布
GˇΙ2012
/T0021-ˉ
目次
·………………………¨
目刂苜Ⅲ
·……·………∷·…·…………………
1范围1
·…………………·……………………·
2规范性引用文件1
3术语和定义·…¨…………………………1
4符号………………………3
5动态口令系统·………………·………·…………………4
………
5.1概述……·……4
5.2总体框架¨………·…………………4
5.3基本认证原理简述……氏,,…………5
·…………
6动态口令生成方式……¨……………………6
6.1概述……·……………6
6.2算法使用说明…·……………………6
6,3截位算法……………·………………7
·
7动态令牌特性……………8
7.1令牌硬件要求………………………8
7.2令牌安全特性·………………………9
8认证系统…………………10
8.1系统说明……………10
8.2认证系统服务………………………11
8,3认证系统管理功能…………………13
……………
8.4安全要求13
……………
9密钥管理系统1迮
9.1概述…………………14
…¨………………………
9.2系统架构14
9,3功能要求……………16
9.4系统安全性设计……………………17
9.5硬件密码设各接口说明……………21
附录A(资料性附录)动态口令生成算法C语言实现用例……………22
A。1采用SM3的动态口令生成算法用例………·……………………22
A。2采用SM4的动态口令生成算法用例……·………27
…………·
附录B(资料性附录)动态口令生成算法计算输人输出用例34
B。1采用SM3的动态口令生成算法输人输出用例………………·…………………34
B。2采用SM4的动态口令生成算法输人输出用例…………·………34
………·
附录C(资料性附录)运算参数与数据说明用例36
·……………¨……………
¨……
附录D(资料性附录)认证系统接口37
I
GM/T0021-ˉ2012
D.1服务报文格式…………¨………
D。2服务标识·…………¨¨¨¨¨¨¨¨¨¨
…¨
3g
D.3数据标识…………………………39
D,4返回码…………¨………………40
D,5应用接口·…………¨¨¨¨¨…¨¨¨¨¨¨¨¨¨
41
GV〃T002⒈-2012
亠
刚曰
本标准依据GB/T1,1—⒛09给出的规则起草。
请注意本标准的某些内容可能涉及专利。本文件的发布机构不承担识别这些专利的责任。
本标准的附录A、附录B、附录C、附录D为资料性附录。
本标准由国家密码管理局提出并归口。
本标准起草单位:上海众人网络安全技术有限公司,上海复旦微电子股份有限公司,飞天诚信科技
股份有限公司,北京集联网络技术有限公司,上海华虹集成电路有限责任公司,深圳同方电子设各有限
公司,上海林果实业有限公司,上海格尔软件股份有限公司。
主要起人:詹、、、、、、、、
本标准草榜华谈剑锋尤磊柳逊陈达郭思建张志茂李阗牛毅。
本标准凡涉及密码算法相内容,按照国家有关法规实施。、
霭
GM/T0021—⒛12
动态口令密码应用
技术规范
1范围
口、口、态、证、理
本标准规定了动态令系统动态令生成方式动令牌特性认系统密钥管系统等的相关
内容。
口、,也
本标准适用于动态令相关产制生产可用于指导品的检测。
2规范性引用文件
下列文件对于用是必不可少的。凡是注日期的引用文件,仅本适用于本文
,凡不日件,其最新版本(包括所有的修改单)适用于本文件。
件是注期
GB/T2423
GB/T242
GB/T24
GB/T24定湿热
GB/T24弦)
GB/T24
GB/T24
GB/T24摩擦造成
标记和印刷文
GB/T4208
GB/T17626.电抗扰度试验
GB/T18336.1息技术安全技术信息技术安全性评估准分:简介和一般
模型
GB/T18336.2-20安全技术信息技术安全第2部分:安全功能
要求
GB/T18336.⒊-2008信息全技术信息技术安准则第3部分:安全保证
要求
GB/T21079.1—2007全(零)1部、
银行业务安加密设各售第分概念要求和评估方法
GM/TO002—⒛12SM4分组密码算法
GM/T0004—⒛12SM3密码杂凑算法
GM/T0005-2012随机数检测规范
3术语和定义
下列术语和定义适用于本文件。
3.1
wordtoken
动态令牌dynamkpasswordtoken;onetimepa“
生成并显示动态口令的载体。
GM/T0021-⒛12
3.2
动态口令dynamicpassword;onetimepassword
由种子密钥与其他数据,通过特定算法,运算生成的一次性口令。
3.3
静态口令staticpassword
用户设置的,除非用户主动修改,否则不会发生变化的口令。
3,4
占石
+J‘戈马cha11engeCode
即挑战因子,可参与到动态口令生成过程中的一种数据。
3.5
UTC时TimeCoordinated
间Universa】
(UniversdTimeCoordillated)英
协调世界时文缩写,是由国际无线电咨询委员会规定和推荐,并
由国际时间局(BIH)负责保持的以秒为基础的时间标度,是距1970年1月1日00:00时(格林尼治标
准时间)的秒数。芪
3.6
种子密钥⒃edkey
即令牌种子密钥,计算动态口令的密钥。
3,7
endian
t立斋bigˉ
丿
数据在内存中的一种表示格式,规定左边为高有效位,右边为低有效位。数的高阶字节放在存储器
的低地址,数的低阶字节放在存储器的高地址。
3,8
认证系统authenticationWstem
能够为应用系统提供动态口令身份认证服务的系统。
3.9
ted
未激活notacti昀
本状态为出厂时状态,成功激活后进人就绪状态
3,10
就绪ready
令牌为正常工作状态。
3,11
云
伺贞
=be1ocked
、因后态。
令牌因连续错误重放攻击等原被锁定处于锁定状
3.12
旦hungup
挂庚
令牌被人为挂起后,处于挂起状态。
3,13
date
作另芟invaⅡ
令牌执行作废操作后,进人作废状态。
3,14
自动解锁automaticallyunIock
令牌被锁定以后,经过一定时间,系统会将令牌的锁定状态解除。
2
GM/T0021-⒛12
3.15
密钥管理keymanagement、
根据安全策略,对、
密钥的产生登记、证、、
认注销、、
分发安装、、、
存储归档撤销衍生和销毁等操作制
定并实施一组确定的规则。
3.16
硬件密码设备hardwareencryptiondevice
一种用于密理、运
钥管加解密算等功能的硬件载体。
3.17
密钥key
控制密码变换操作的关键信息或参数。
3.18
服Ⅱst
务报表service
系统提供的,对于令牌和系统不同时间段对应的状态和结果的统计报表。
3.19
擂
接口hterface
两个不同系统(或子程序)交接并通过它彼此作用的部分。
3.20
ndow
大窗口Iarge耐
用于令牌时间与系统时间同步的窗口,窗口大小不应超过±10。
3.21
ndow
中窗口middle耐
用于令牌时间与系统时间同步的窗口,窗口大小不应超过±5。
3.22
小窗口smalIwindow
用于令牌时间与系统时间同步的窗口,窗口大小不应超过±2。
3.23
种子密钥加密密钥encryptionkeyforseedkey
用于对种子密钥进行加密的密钥。
3.24
厂商生产主密钥mainkeyFormanuhcturerproduction
生成令牌生产时所需的种子密钥加密密钥。
3.25
主密钥mainkey
系统的根密钥,可用于生成种子、
密钥种子密、
钥加密密钥厂商生产主密钥等。
3.26
厂商代码manuhcturercode
用于标识厂商代码,可以是、、
数字英文母
字数字与英文母。
的字的混合
3.27
内部挑战认证hternaIchallengeauthentication
一种由用户主动解除令牌异常状态时采用的挑战认证方式。
4符号
IP44防护等级第一特性4(防尘),防护等级第二特性4(防水)
GM/T0021-⒛12
bitN指一个字节当中的第N+1个比特位(从低位计起)
PIN指用于使令牌工作并显示动态口令的一种口令,是一个至少6位长度的十进制数
T。是以UTC时间为标准的一个长度为8字节的整数
T参与运算的时间因子
Tc以秒为单位的口令变化周期
ID杂凑及分组算法的输人信息
C参与运算的事件因子
Q认证双方通过协商输人的挑战因子
K长度不少于128比特的种子密钥
S算法函数输
F()算法
OD
Truncate()
N
Km
Kt
Kp
Ks
%
<
|
田
5动态口令
5,1概述
动态口令系统包动态口令认证服务。动态
令牌认证系统由认证系统
5,2总体框架
动态令牌负责生成动态口令,认证系统负责验证动态口令的正确性,密钥管理系统负责动态令牌的
密钥管理,应用系统负责将动态口令按照指定的协议(报文)发送至认证系统进行认证。动态口令系统
架构图如图1所示。
GM/T0021-⒛12
密钥管理系统传输种子密钥
认证接口认证通讯协议
令牌生产
图1系统架构
5.2,1动态令
动态令生成动
5,2.2认
认证系执行动和令服务集合。
认证系统通讯协统进,用以口令的认
证、
同步等
5.2.3密
密钥管理登录认证模
、理模块(可选)、令
块用户管模
牌生产配置模块、口模块和动态令牌读写接口等模块。
5.2.4应用系统
应用系统是指集成了证通讯协议(系统交互完成动态口令认
,应口。
证的应用程序集合用系统件系统田Π属割田牛设备是软件和硬件相结合的形式
5,2.5认证接口
认证接口是认证系统提供的用于连接应用系统与认证服务器的接口集合。开发语言包括但不限于
php、
C/C++、Ja叼、ASP、ASP.NET、C#等。应用通过调用接口,可以成动态口认证、
系统完令同步等
功能。i
5.2.6认证通讯协议
认证通讯协议是认证服务通过标准的通讯协议和应用系统进行通讯的依据。应用系统通过发送报
口证、功。
文的形式完成动态令的认同步等能
5.3基本认证原理简述
动态口令的基本认证原理,是通过用户端与认证服务提供端,以相同的运算因子,采用相同的运算
5
GM/T0021—⒛12
方法,生成相同的口令,并进行比对,来完成整个认证过程。通常,口令的比对是由认证服务提供端完
成。具体如图2所示。
用户端认证服务提供端
ˉˉ—ˉˉˉˉˉˉ
-ˉˉˉˉ-ˉ-ˉˉˉˉˉ—ˉ-ˉ-ˉ—
相同的运算因f-ˉ
一
I
l
图2基本认证原理图
6动态口令生成方式
6,1概述
本标准的动态口令生成方式概述如下:
T=T。/Tc
ID=(T|C|Q)
S=F(K,ID)
OD=='Γruncate(S)
P=oD%(10^N)
T是参与运算的时间因子,是个8字节整数,T。是以UTC时间或用户选择的时间标准为计量标
一
60s;ID是及组算法的输入
准的一个8字节整数,Tc是以秒为单位的口令变化周期,最大长度为杂凑分
信息;C是参与运算的事件因子,是一个4字节整数;Q是认证双方通过协商输入的挑战因子或其他类
型需要参与运算的因子,使用ASCII码表示,最小长度为4字节。ID最小长度为128比特,至少需要包
TC|Q的组装。未包含的参数位置,由
含T、C的其中一个参数,Q为可选参数,并按照顺序进行数据
下一个参数进行补充。如ID由T、Q组成,则数据组装方式为T|Q。如ID由C、Q组成,则数据组装方
式为C|Q。如组成ID的数据不足128比特,ID的数据末端填0至128比特。
K是长度不少于128比特的种子密钥,只有认证双方持有;FO是算法函数,即SM4或SM3,见
GM/T0002—⒛12和GM/T0004—2012。
S是算法函数输出结果,SM4算法的输出结果长度为128比特,SM3算法的输出结果(即杂凑值)
长度为256比特。
TruncateO是,OD是出结果,长度为32比特。
截位函数其输
N是令牌或其他终端显示口令的位数,N不小于6。P是最终显示的动态口令。
6.2算法使用说明
6.2,1使用要求
本标准涉及动态口令生成方式的分组算法,应选用SM4分组算法,应满足GM/T0002—⒛12的
要求。分组长度为128比特,密钥长度为128比特,运算方式选用加密方式,加密结果长度为128比特。
6
GM/T0021-⒛12
本标准涉及动态口令生成方式的杂凑算法,应选用SM3杂凑算法,应满足GM/T0004—⒛12的
要求。本标准选用的杂凑值长度为256比特。
本标准涉及随机数生成的算法,应满足GM/T0005—2012的要求。
6.2.2sM3杂
凑算法使用说明
在S=F(K,ID)环节,当使用SM3算法时,K|ID为人。
输参数
6,2,3sM4分
组算法使用说明
在S=F(K,ID)环节,当使用SM4算法时,K为运算密钥,ID为输人参数,K或ID大于128比特
时,运算过程如下:
K大于128比特时,只取其中从高位计起的前128比特数据,作为K参与运算。
ID大于128比特时,在ID末端填0至128比特的整数倍长度。再将ID以128比特长度进行分
…
组,高位在前,分别为ID1、ID2、ID3…IDm。
运算过程如图3所示。《
图3sM4运程
算过图
IDl和K作为第一个分组运算的输入,通过SM4运算生成S1。将S1与ID2进行算术加运算(高位
溢出去),其K一二SM4运S2。
舍结果与起用于第个分组的输人,通过算生成之后的运算以此类推。
如图3中所示,S=Sm。
6,2.4数据格式
(bi陟
运,均endian)格C。
数据算与存储采用大端式。可参考附录
6,3截位算法
TruncateO是
动态口令生成过程中,使用的截位函数。其实现分为杂凑结果截位和分组结果截位。
杂凑结果截位实现方式如下:
定义S1,⒏,",⒊,“,S6,叩,SS,表示8个4宇节整数,通过如下方法赋值:
S1=SE0]<<24|SE1彐(<16|SE2彐((8|SE3彐
⒏=SE矧5]((16|SE6彐7彐
<<24|S匚<<8|S匚
S3=SE8]<(24|S[9彐(<16|SE10彐((8{S[11]
⒐=SE12彐(<24|SE13彐(<16|sE1矧((8|SE15彐
=SE16彐
“<<24|SE17彐<<16|SE18]((8|SE19彐
S6=SE20彐((24|SE21彐((16|SE22](<8|SE23彐
叩=SE2硐(<24|SE25彐
<(16|SE26]<<8|SE27彐
GM/T0021-2012
睨=SE28](<24|SE29](<16|SE30彐<(8|SE31彐
OD=(S1+S2+S3+S4+S5+S6+S7+S8)MOD2^32
分组结果截位实现方式如下:
定义S1,Ⅱ,“,泓,表示4个4字节整数,通过如下方法赋值:
S1=SE0]<(24|SE1]<<16|SE钊
<<8|SE3]
⒏=SE矧5]((16|SE6]((8|SE7]
<(24|S匚
出=SE8]((24|SE9](<16|SE10]((8|SE11]
⒐=SE12]((24|SE13]((16|S[1钅
](<8|S[15]
oD=(S1+S2+S3+S4)MOD2^32
7动态令牌特性
7.l令牌硬件要求
令牌硬件产要符合以下严酷条件要求,产品提高严酷等级要遵守国家标准
规定和本标准
7.1.1高温
使用G鼾
7.1.2低鼾
髁
使用
7.1.3高
使用G露试验时间:
10min,转
换时
7,1.4湿度
使用GB/T2423,等级选择温度:30℃±2℃,±3%,试验时间:2h。
7,1.5工作海拔
使用GB/T2423.21—1991,严酷等级,持续时间:2h。
7.1.6跌落
使用GB/T2423.8—1995中方法一,严酷等级选择跌落高度:1000mm。
7.1,7防尘防水
遵守GB/T4208—⒛08中IP44的要求。
7.1.8标记和印刷
GB/T2423,53—⒛05,试:人工0,2N;循
使用验液体合成汗液;力的大小dN±环次数:1000次。
”“”
产品必须具备标记文字为:“序列号和有效期。
8
GM/T0021-⒛12
7.1.9振动
⒛08,严:3.5mm;持时
:10Hz~300Hz;振续
使用GB/T2423.10—酷等级选择频率范围动幅值
间:60min。
7.1,10静电放电
06中3的口±6kV,空放电
不低于GB/T17626,2—⒛试验等级标准,即满足外壳端接触放电气
±8kV。
7.1,ll试验过程中试验样品是否处于工作状
样品带电运行,目视检查,提个一组为参与试验样品,6个
一组为不参与试验样品,参态口令与不毵为合格。
7.2令牌安全特性
7,2.1种子密钥
种子密钥为为单向导人
令牌(或在令牌
令牌必须全区域内
实现。
7,2,2令牌
本标准涉
7.2.3令牌物
令牌具有低
令牌完成种子后,通讯VO端口应失效,不能再输人或输出信息,于内部参与
口令生成运算的K、
开盖、
令牌应防范通过物段获取设备内的敏感信息,物理攻但不限于搭
、制等。
线复
令牌芯片必须具各令牌掉
:调口、的。
令牌芯片应保证种子密钥无法通亘不限于试接改编程序
令牌芯片可防范通过物理攻击的手段获取芯片内的感信息,确保种子密钥和算法程序的安全性。
令牌芯片应具各抵抗旁路攻击的能力,包括但不限于:抗SPA/DPA攻击能力,抗SEMA/DEMA
攻击能力。
在外部环境发生变化时,令牌芯片不应泄漏敏感信息或影响安全功能。外部环境的变化包含但不
、干。
、、干扰静电扰
、磁干紫外线
:高压、温强光干扰电扰
限于低电高低
7.2.4使用安全
具有数字和功能按键的令牌必须具有PIN保护功能,PIN长度不少于6位,并具有PIN防暴力穷
举功能。令牌可具有PIN找回功能,即令牌用户如果忘记令牌PIN,可通过安全有效的环境与机制找
回令牌PIN,或对令牌PIN进行重新设置(如远程解PIN)。
1h才。
PIN输人错误的次数不可超过5次,若超过,应至少等待可继续尝试
9
GⅣΙ-2012
/T002⒈
PIN输人超过最大尝试次数的情况不可超过5次,否则令牌应永久锁定,不可再使用。
令牌基本使用寿命为3年,令牌产品最长使用不超过5年。
2min/年
室温环境下,令牌时间偏差小于。
7,2,5安全评估
动态令牌产品安全评估遵守以下国家标准规定:
GB/T18336.⒈-2008
GB/T18336.2-2008
GB/T18336.⒊-2008
GB/T21079,⒈-2007
8认证系统
8,1系统说明
芪
8,1.1系统构成
认证系统是为应用系统提供动态令牌认证及管理的服务系统,由两个部分构成:认证服务子系统、
管理子系统:
1)认证服务子系统对应用提供认证和管理服务。
2)管理子系统对认证系统的运行进行管理。
8,1,2令牌的系统状态
令牌的系统状态为认证系统内保存的令牌工作状态,如表1所示。
表1令牌工作状态表
状态描述说明
令牌出厂时的状态,须激活后令牌才能进人就绪
未激活未激活令牌不能提供正常的口令认证
状态
就绪令牌正常工作状态
推荐标准
- DB50/T 566-2014 渝菜 菠饺鱼肚烹饪技术规范 2014-08-15
- DB12/ 523-2014 反恐怖防范管理规范 第2部分:城市轨道交通 2014-05-22
- DB12/ 522-2014 反恐怖防范管理规范 第1部分:通则 2014-05-22
- DB12/T 519-2014 食用菌菌糠处理技术规范 2014-04-22
- DB12/T 518-2014 水稻良种生产技术操作规程 2014-04-22
- DB54/T 0080-2014 藏香 2014-08-15
- DB12/T 513-2014 电梯安装、改造、修理和维护保养自检规则 2014-04-22
- DB21/T 1799.10-2014 信息服务管理规范 第10部分:其他专业类服务管理 网格化社会管理系统 2014-07-15
- DB12/T 520-2014 猴头菇工厂化栽培技术规范 2014-04-22
- DB12/T 517-2014 小麦良种繁育技术规范 2014-04-22