GM/T 0057-2018 基于IBC技术的身份鉴别规范
GM/T 0057-2018 Identity authentication specifications based on IBC technology
基本信息
本标准适用于使用基于标识的密码技术的身份鉴别领域。
发布历史
-
2018年05月
研制信息
- 起草单位:
- 上海信息安全工程技术研究中心、北京国脉信安科技有限公司、西安工业大学、无锡江南信息安全工程技术研究中心、中油瑞飞信息技术有限责任公司
- 起草人:
- 袁峰、药乐、容晓峰、杜志强、王一曲、蒋楠、王建、崔广印、金一、万进
- 出版信息:
- 页数:21页 | 字数:36 千字 | 开本: 大16开
内容描述
犐犆犛35.040
犔80
GM/T0057—2018
基于IBC技术的身份鉴别规范
IdentityauthenticationspecificationsbasedonIBCtechnology
2018-05-02发布2018-05-02实施
GM/T0057-2018
目次
前言II
引言III
1范围1
2规范性引用文件1
3术语和定义1
4符号和缩略语1
5标识结构2
6用户身份鉴别规范2
6.1描述2
6.2单向用户身份鉴别3
6.2.1接收者鉴别发起者身份3
6.2.2发起者鉴别接收者身份5
6.3三次传递鉴别错误!未定义书签。
附录A(规范性附录)公共参数查询协议10
A.1描述10
A.2获取PPS服务信息10
A.3获取PPS服务信息应答10
A.4公开参数信息查询11
A.5公开参数信息查询应答11
A.6用户标识查询12
A.7用户标识查询应答12
A.8IBC公共参数结构13
附录B(规范性附录)密钥与签名格式15
B.1密钥数据结构15
B.2签名加密数据结构15
参考文献17
I
GM/T0057-2018
前言
本标准依据GB/T1.1-2009给出的规则起草。
请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别这些专利的责任。
本标准由密码行业标准化技术委员会提出并归口。
本标准起草单位:上海信息安全工程技术研究中心、北京国脉信安科技有限公司、西安工业大学、
无锡江南信息安全工程技术研究中心、中油瑞飞信息技术有限责任公司。
本标准起草人:袁峰、药乐、容晓峰、杜志强、王一曲、蒋楠、王建、崔广印、金一、万进。
本标准凡涉及密码算法的相关内容,按国家有关法规实施;凡涉及到采用密码技术解决保密性、完
整性、真实性、不可否认性需求的须遵循密码相关国家标准和行业标准。
II
GM/T0057-2018
引言
本标准是IBC(Identity-BasedCryptography)基于标识的密码技术系列标准之一,本标准依托于
GM/T0044SM9标识密码算法标准,面向应用系统中基于IBC技术和SM9算法进行的身份鉴别时涉及到的
鉴别需求。
鉴于标识密码技术的特点,规定了两种单向身份鉴别要求和一个双向身份鉴别要求。本标准还在附
录中给出了利用IBC技术进行鉴别时需要访问公开参数服务(PPS)的基本流程和相关密码数据结构,
用于公开参数和标识状态查询。
III
GM/T0057-2018
基于IBC技术的身份鉴别规范
1范围
本标准规定了使用基于标识的密码技术的身份鉴别要求。
本标准适用于使用基于标识的密码技术的身份鉴别领域。
2规范性引用文件
下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅所注日期的版本适用于本文
件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
GM/T0044SM9标识密码算法
3术语和定义
下列术语和定义适用于本文件。
3.1
标识identity
可确定一个对象身份的唯一信息,例如电子邮箱地址、手机号码、指纹数据等。
3.2
SM9密码算法SM9algorithm
由GM/T0044定义的一种算法。
3.3
公开参数服务publicparameterservice
用于发布基于标识的密码技术中公开参数、私钥生成策略、用户标识信息和状态等数据的应用服
务。
4符号和缩略语
下列缩略语适用于本文件。
ASN.1:抽象语法标记(AbstractSyntaxNotationOne)
IBC:基于标识的密码技术(Identity-BasedCryptography)
IRI:国际化资源标识符(InternationalizedResourceIdentifiers)
OID:对象标识符(Objectidentifier)
PKG:私钥生成(PrivateKeyGeneration)
PPS:公开参数服务(PublicParameterService)
URI:统一资源标识符(UniformResourceIdentifier)
1
GM/T0057-2018
5标识结构
标识的ASN.1数据格式定义为:标识数据格式的ASN.1定义为:
Identifier::=SEQUENCE{
ibcTypeOBJECTIDENTIFIER,
identityDataOCTETSTRING,
validStartUTCTIME,
validEnd[0]UTCTIMEOPTIONAL,
idExtensions[1]ExtensionsOPTION
}
其中:
identityType身份类别是一个对象标识符号OID,定义所应用算法或数据域的编码。
identityData身份数据是八位串,身份的具体描述。
validStart有效期的起始日期。
validEnd有效期的终止日期,可选项,如果该项不存在表示标识长期有效。
idExtensions扩展项是Extensions类型,标识信息扩展项。
Extensions::=SEQUENCESIZE(1..MAX)OFExtension
Extension::=SEQUENCE{
extnIDOBJECTIDENTIFIER,
criticalBOOLEANDEFAULTFALSE,
extnValueOCTETSTRING
}
其中:
extnID表示一个扩展元素的OID。
critical表示这个扩展元素是否极重要。
extnValue表示这个扩展元素的值,字符串类型。
6用户身份鉴别规范
6.1描述
用户身份鉴别过程包含了鉴别双方的流程和具体协议,在进行身份鉴别时各方都可以通过访问公开
参数服务PPS获取相关鉴别体系的关键参数,例如IBC的公开参数;还可以通过访问PPS获取对方标识的
相关信息,例如标识信息的状态,完整的标识数据等,如图1所示。
2
GM/T0057-2018
PPS
获取系统公开参数
查询用户标识信息
AB认证
AB
图1身份鉴别结构
对PPS的查询协议见附录A.4。
6.2单向用户身份鉴别
6.2.1接收者鉴别发起者身份
a)一次传递鉴别
在接收者环境基本可信的情况下适用于一次传递鉴别。其特点是接收者B直接验证发起者A的身份,
见图2。
A发起鉴别
B鉴别A的身份
AB
图2一次传递鉴别关系
发起者A发起鉴别过程,由接收者B对其身份进行鉴别。提交的用于验证的数据记作令牌Token,其
唯一性/时效性通过产生并验证时间戳或者随机数进行控制。
具体内容如下:
A:A向B发送TokenAB,
AtoB:ID‖TokenAB,也可表示为{ID,TokenAB}。
AA
发起者A发送给验证者B的令牌记作TokenAB。
TokenAB=ID‖r‖Text1‖sign(ID‖r‖Text1),也可表示为,
BAABA
TokenAB={ID,r,Text1,sign(ID,r,Text1)}。
BAABA
其中:
ID为验证者B的唯一性标识。
B
r为表示唯一性的时间或者由发起者产生的随机数。
A
sign为发起者A的签名,格式为SM9Signature。
A
Text1为可选项,其他需要传递的信息。如果有信息需要加密传输,则应以数字信封方式进行封
装。
3
GM/T0057-2018
请求被鉴别的格式如下:
RequestAuthenticated::=SEQUENCE{
userIDAIdentifier,
authTokenAuthToken
}
AuthToken::=SEQUENCE{
userIDBIdentifier,
verifierVerifier,
text1[0]OCTETSTRINGOption,
userSignatureSM9Signature
}
Verifier::=CHOICE{
generalTimeGeneralizedTime,
serialNumberINTEGER
}
userSignature令牌签名SM9Signature类型,参加附录B。
B:验证A的鉴别信息
B接收A发来的含有TokenAB的消息后,进行身份鉴别,见图2。
具体内容如下:
1)B根据A的标识生成A的公钥,如果B没有生成A公钥的公共参数,应从公开参数服务系统PPS中获
取;
2)检验包含在令牌中的A的签名信息
•检验TokenAB中ID标识段的值,是否等于实体B的标识符;
B
•验证数字签名的正确性;
•检验唯一性/时效性;
•解析Text1。
若任一验证结果不正确,则停止通联,且反馈:鉴别失败信息。
若验证正确,则完成身份鉴别。
b)两次传递鉴别
A
在接收者环境基本可信的情况下适用于两次传递鉴别。当采用两次传递鉴别方式时r代表一个随机
数,具体内容如图3:
A发起鉴别
B鉴别A的身份
Hello,随机数
A
随机数B
鉴别
图3两次传递鉴别关系
A
A:A向B发送请求,附带随机数r。
A发送给B:ID‖r
AA
请求被鉴别的格式如下:
4
GM/T0057-2018
RequestHello::=SEQUENCE{
userIDAIdentifier,
randeomINTGER
}
B:回复A随机数r。
B
B发送给A:rB
请求被鉴别的格式如下:
ResponseHello::=SEQUENCE{
randeomBINTGER
}
A:A向B发送TokenAB。
A发送给B:ID‖TokenAB,也可表示为{ID,TokenAB}
AA
TokenAB=ID‖Text1‖sign(ID‖r‖Text1)
BAB
r=r‖r。
推荐标准
- DB45/T 1075.2-2014 自走式农业机械 第2部分:准用证证件 2014-09-01
- DB52/T 867-2014 酱香型白酒酿酒用高粱 2014-01-02
- DB52/T 866-2014 酱香型白酒工业用术语 2014-01-02
- DB52/T 868-2014 酱香型白酒酿酒用小麦 2014-01-02
- DB52/T 918-2014 鹅掌楸两段育苗技术规程 2014-08-13
- DB52/T 869-2014 酱香型白酒酿酒用谷壳 2014-01-02
- DB45/T 1075.1-2014 自走式农业机械 第1部分:号牌 2014-09-01
- DB45/T 1068-2014 桂林毛尖茶加工技术规程 2014-08-20
- DB52/ 893-2014 贵州省水泥工业大气污染物排放标准 2014-06-12
- DB45/T 1075.3-2014 自走式农业机械 第3部分:操作证证件 2014-09-01