GB-T 36629.3-2018 信息安全技术 公民网络电子身份标识安全技术要求 第3部分:验证服务消息及其处理规则.pdf
《GB-T 36629.3-2018 信息安全技术 公民网络电子身份标识安全技术要求 第3部分:验证服务消息及其处理规则.pdf》由会员分享,可在线阅读,更多相关《GB-T 36629.3-2018 信息安全技术 公民网络电子身份标识安全技术要求 第3部分:验证服务消息及其处理规则.pdf(20页珍藏版)》请在冰点文库上搜索。
书书书犐犆犛犔中华人民共和国国家标准犌犅犜信息安全技术公民网络电子身份标识安全技术要求第部分:
验证服务消息及其处理规则犐狀犳狅狉犿犪狋犻狅狀狊犲犮狌狉犻狋狔狋犲犮犺狀狅犾狅犵狔犛犲犮狌狉犻狋狔狋犲犮犺狀犻狇狌犲狉犲狇狌犻狉犲犿犲狀狋狊犳狅狉犮犻狋犻狕犲狀犮狔犫犲狉犲犾犲犮狋狉狅狀犻犮犻犱犲狀狋犻狋狔犘犪狉狋:
犞犲狉犻犳犻犮犪狋犻狅狀狊犲狉狏犻犮犲犿犲狊狊犪犵犲犪狀犱狆狉狅犮犲狊狊犻狀犵狉狌犾犲狊发布实施国家市场监督管理总局中国国家标准化管理委员会发布书书书目次前言范围规范性引用文件术语和定义缩略语概述验证服务参数编码规则消息编码签名参数生成规则注册接口参数输入参数返回参数验证服务消息参数概述应用服务提供方请求消息参数服务平台挑战消息参数应用服务提供方验证消息参数服务平台返回参数附录(资料性附录)请求与返回消息处理示例附录(资料性附录)签名参数生成示例参考文献犌犅犜前言信息安全技术公民网络电子身份标识安全技术要求分为个部分:
第部分:
读写机具安全技术要求;第部分:
载体安全技术要求;第部分:
验证服务消息及其处理规则。
本部分为的第部分。
本部分按照给出的规则起草。
请注意本文件的某些内容可能涉及专利。
本文件的发布机构不承担识别这些专利的责任。
本部分由全国信息安全标准化技术委员会()提出并归口。
本部分起草单位:
中国科学院软件研究所、公安部第三研究所、国防科学技术大学、金联汇通信息技术有限公司。
本部分主要起草人:
张立武、张严、杨明慧、邹翔、冯登国、胡传平、张振峰、陈兵、倪力舜、黄俊、高志刚、夏丽娟、余丹萍、贾焰、刘海龙。
犌犅犜信息安全技术公民网络电子身份标识安全技术要求第部分:
验证服务消息及其处理规则范围的本部分规定了公民网络电子身份标识验证服务与应用服务提供方间传递的消息及其编码处理规则。
本部分适用于公民网络电子身份标识验证服务及使用该服务的应用与系统的设计和开发。
规范性引用文件下列文件对于本文件的应用是必不可少的。
凡是注日期的引用文件,仅注日期的版本适用于本文件。
凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
信息技术通用多八位编码字符集()信息安全技术公钥基础设施数字证书格式信息安全技术术语信息技术开放系统互连对象标识符()的国家编号体系和操作规程信息安全技术公民网络电子身份标识格式规范、及数据编码(,)术语和定义、界定的以及下列术语和定义适用于本文件。
犲犐犇服务平台犲犐犇狊犲狉狏犻犮犲狆犾犪狋犳狅狉犿提供的生成、存储、使用及维护等全生命周期业务处理相关服务的平台。
犲犐犇身份验证犲犐犇狏犲狉犻犳犻犮犪狋犻狅狀通过将所提交的身份断言与事先注册的信息进行比较来确认声明的身份是否正确的过程。
犲犐犇身份注册犲犐犇狉犲犵犻狊狋狉犪狋犻狅狀通过为实体的身份赋予唯一的标识码,提供一组作为声明的身份和或权利的证据的数据,并签发载体,保证其真实性。
犲犐犇移动应用犲犐犇犿狅犫犻犾犲犪狆狆犾犻犮犪狋犻狅狀在移动客户端上运行的应用。
犌犅犜犲犐犇验证服务犲犐犇狏犲狉犻犳犻犮犪狋犻狅狀狊犲狉狏犻犮犲由服务平台提供给各应用的进行身份识别及验证的服务。
犲犐犇桌面应用犲犐犇犱犲狊犽狋狅狆犪狆狆犾犻犮犪狋犻狅狀通过桌面客户端运行的应用。
缩略语下列缩略语适用于本文件。
:
公民网络电子身份标识():
安全超文本传输协议():
对象标识符():
个人识别码():
软件开发工具包()概述本部分规定身份验证过程中服务平台和应用服务提供方间交互流程中传递的消息及其处理规则。
当应用服务提供方需要使用验证服务来验证网络用户的访问请求时,应用服务提供方完成相应的加密或签名运算,将结果按照本部分所述封装成符合验证服务接口技术要求的消息,再传输给服务平台。
服务平台在完成身份验证后,将验证结果按照验证服务接口技术要求的形式返回给应用服务提供方。
上述流程的具体步骤如图所示。
图犲犐犇身份验证消息传递步骤本部分所规定的接口应采用信道进行传输,且其中使用的涉及保密性、完整性、真实性、不可否认性的相关技术应遵循密码相关国家标准和行业标准。
在接入验证服务前,应用服务提供商首先在服务平台中进行注册,并获得对应的应用标识与共享密钥以保证后续流程的执行,注册时发送参数的定义见,服务平台对注册请求的返回结果参数定义见。
此过程仅在应用服务提供方首次接入验证服务前进行。
注:
为了完成注册,应用服务提供方可能需要通过线下方式向服务平台递送审核材料,例如:
提交备案号、犌犅犜营业执照副本、税务登记证、组织机构代码证等。
之后,当应用服务提供方需要使用验证服务时,执行以下操作:
)应用服务提供商根据需要向服务平台发送服务请求。
服务请求消息的参数定义见。
)服务平台返回一个随机数作为本次验证服务的挑战。
响应消息的参数定义见。
)当应用服务提供方向服务平台发送服务请求后,应用服务提供方完成相应的运算,将验证请求数据发送给服务平台。
验证请求消息的参数定义见。
)服务平台在本地执行相关的验证服务后,将验证结果返回给应用服务提供方。
验证结果消息的参数定义见。
犲犐犇验证服务参数编码规则消息编码参数类型本部分使用如下参数类型:
表示中所规定的字符集中的一个字符,本部分中所使用的字符类型参数仅包含可见字符,此外,本部分使用逗号字符(,编码:
)作为分隔符,因此参数的值不能包含该字符。
:
表示比特长的单个字节。
()表示长度固定为个类型字符的参数。
()表示长度为至个类型字符的参数。
()表示可为空且长度至多为个类型字节的参数。
参数编码规则消息发送方(应用服务提供方和平台)应遵循以下规则生成并发送注册请求、注册返回结果、验证服务请求、验证请求和验证服务返回结果等消息:
)消息发送方应将消息中所有参数类型为()的参数的值按照中所述编码规则进行编码,将其转化为()类型。
)消息发送方应将转化后的所有参数按照如下格式组装成()类型的字符串:
“参数标识”:
“参数值”,“参数标识”:
“参数值”,“参数标识”:
“参数值”,其中名称值对的名称应与本部分所规定的参数标识一致,各参数标识间无顺序。
在组装时,应忽略所有的不可见字符。
若某参数值为空,则在生成的字符串中,该参数的参数标识保留,参数值设为空(长度为的字符串)。
具体的请求参数示例参见附录。
)消息发送方将组装好的数据放入域中,并新增下列内容以用来描述本协议内容的版本号。
:
“”)消息发送方使用中规定的编码格式数据字符串进行编码,然后用方式将消息发送到请求地址,进行接口调用。
接口调用示例参见。
犌犅犜)收到消息后,消息接收方应按照本条的参数编码规则的对组装好的参数进行解析,获取各名称对应的参数值。
解析步骤示例参见。
签名参数生成规则当第三方应用与服务平台需要生成及定义的签名值()参数时,应遵循以下规则生成该参数的值,签名值参数生成示例参见附录:
)应使用及所述签名方式()中指定的签名算法对待签名字符串进行签名,以计算签名值参数的值,使用的签名算法应遵循密码相关国家标准和行业标准。
)待签名字符串应以“”和的值为结尾。
并包含消息中除去签名值和签名方式两个参数外的其他所有需要使用到的参数的名称和值。
)名称值对间应以字符进行连接。
名称值对中包含的字符应使用“”进行转义。
)名称值对按名称从到的顺序排序,若首字母相同,则依照第二个字母进行排序,以此类推。
注册接口参数输入参数应用服务提供方信息参数标识:
。
参数类型:
()。
参数说明:
必选项。
待注册的应用服务提供方信息。
应用服务提供方名称参数标识:
。
参数类型:
()。
参数说明:
必选项。
待注册的应用服务提供方名称。
机构名称参数标识:
。
参数类型:
()。
参数说明:
必选项。
待注册的应用服务提供方所属机构名称。
域名参数标识:
。
参数类型:
()。
参数说明:
必选项。
待注册的应用服务提供方的域名。
犐犘地址参数标识:
。
参数类型:
()。
参数说明:
必选项。
待注册的应用服务提供方的地址。
犌犅犜结果返回地址参数标识:
。
参数类型:
()。
参数说明:
必选项。
返回结果的地址。
保留项参数标识:
。
参数类型:
()。
参数说明:
可选项。
保留字段,为将来定义新的用途所保留。
返回参数应用服务提供方信息参数标识:
。
参数类型:
()。
参数说明:
必选项。
待注册的应用服务提供方信息。
应与请求中对应项的值相同。
应用服务提供方名称参数标识:
。
参数类型:
()。
参数说明:
必选项。
待注册的应用服务提供方名称。
应与请求中对应项的值相同。
机构名称参数标识:
。
参数类型:
()。
参数说明:
必选项。
待注册的应用服务提供方所属机构名称。
应与请求中对应项的值相同。
域名参数标识:
。
参数类型:
()。
参数说明:
必选项。
待注册的应用服务提供方的域名。
应与请求中对应项的值相同。
犐犘地址参数标识:
。
参数类型:
()。
参数说明:
必选项。
待注册的应用服务提供方的地址。
应与请求中对应项的值相同。
结果返回犝犚犔参数标识:
。
参数类型:
()。
参数说明:
必选项。
返回结果的地址。
应与请求中对应项的值相同。
犌犅犜应用服务提供方标识参数标识:
。
参数类型:
()。
参数说明:
必选项。
用来标识应用服务提供方的唯一应用号,由服务平台为应用服务提供方生成。
共享密钥参数标识:
。
参数类型:
()。
参数说明:
必选项。
由服务平台为应用服务提供方生成的共享对称密钥,用于在后续流程使用预共享密钥对数据进行加密保护,本部分不规定该共享密钥的使用方式。
服务器犝犚犔参数标识:
。
参数类型:
()。
参数说明:
必选项。
请求服务的。
服务器公钥证书参数标识:
。
参数类型:
()。
参数说明:
必选项。
应用服务提供方对返回结果验签所需的证书文件,证书文件的格式应符合。
在使用此证书对服务平台的签名进行验签之前,应用服务提供方应验证此证书的有效性,以确保其是受应用服务提供方信任的有效证书,例如:
验证证书的有效期、证书链的有效性等。
保留项参数标识:
。
参数类型:
()。
参数说明:
可选项。
保留字段,为将来定义新的用途所保留。
犲犐犇验证服务消息参数概述验证服务接口包含桌面验证服务接口和移动验证服务接口,分别为桌面应用和移动应用中的应用服务提供方与服务平台的交互提供交互协议与数据传输格式要求。
数据的传输包含应用服务提供方发往服务平台的请求参数与服务平台返回给应用服务提供方的返回参数。
在本部分中,所有签名算法参数的值应以算法对应的表示,的相关规定见。
例如,当使用数字签名算法和散列算法时,该参数的值应为“”。
应用服务提供方请求消息参数消息类型参数标识:
。
犌犅犜参数类型:
()。
参数说明:
必选项。
消息类型,对于请求消息,固定为字符“”。
应用服务提供方犐犇参数标识:
。
参数类型:
()。
参数说明:
必选项。
注册在服务平台的唯一的应用号,前两位为标识位。
应与应用服务提供方从注册接口返回参数中获得的值相一致。
业务流水号参数标识:
。
参数类型:
()。
参数说明:
必选项。
应用针对本次验证请求的唯一标识串码。
保留项参数标识:
。
参数类型:
()。
参数说明:
可选项。
保留字段,为将来定义新的用途所保留。
犲犐犇服务平台挑战消息参数消息类型参数标识:
。
参数类型:
()。
参数说明:
必选项。
消息类型,对于挑战消息,固定为字符“”。
应用服务提供方犐犇参数标识:
。
参数类型:
()。
参数说明:
必选项。
注册在服务平台的唯一的应用号,前两位为标识位。
应与应用服务提供方在请求消息中发送的值相同。
业务流水号参数标识:
。
参数类型:
()。
参数说明:
必选项。
应用针对本次请求的唯一标识串码。
应与应用服务提供方在请求消息中发送的值相同。
挑战随机数参数标识:
。
参数类型:
()。
参数说明:
必选项。
服务平台发送的挑战随机数,用来保证验证过程的新鲜性。
该挑战会在计算签名值()时使用。
犌犅犜消息扩展参数标识:
。
参数类型:
()。
参数说明:
可选项。
为后续应用提供一些扩展服务。
应用服务提供方验证消息参数消息类型参数标识:
。
参数类型:
()。
参数说明:
必选项。
消息类型,对于验证消息,固定为字符“”。
应用服务提供方犐犇参数标识:
。
参数类型:
()。
参数说明:
必选项。
注册在服务平台的唯一的应用号,前两位为标识位。
应与应用服务提供方从注册接口返回参数中获得的值相一致。
签名方式参数标识:
。
参数类型:
()。
参数说明:
必选项。
签名使用的算法对应的。
签名值参数标识:
。
参数类型:
()。
参数说明:
必选项。
使用中所规定的签名算法对需要参与签名的参数进行签名得到的值,签名的具体规则见。
结果返回犝犚犔参数标识:
。
参数类型:
()。
参数说明:
必选项。
结果返回应用服务提供方路径。
业务流水号参数标识:
。
参数类型:
()。
参数说明:
必选项。
应用针对本次请求的唯一标识串码。
请求时间参数标识:
。
参数类型:
()。
犌犅犜参数说明:
必选项。
时间,格式为:
。
业务类型参数标识:
。
参数类型:
()。
参数说明:
必选项。
具体值的含义如下:
“”:
桌面账号绑定;“”:
桌面账号找回;“”:
移动一键账号绑定;“”:
移动一键账号找回;“”:
桌面安全登录;“”:
移动一键安全登录;“”:
移动实名认证;“”:
后台实名认证。
犲犐犇用户信息参数标识:
。
参数类型:
()。
参数说明:
本参数仅在桌面应用类型的应用中使用。
当使用时为可选项。
在支付业务中,通过支付终端签名函数获得的用户信息。
犲犐犇签名值参数标识:
。
参数类型:
()。
参数说明:
本参数仅在桌面应用类型的应用中使用。
当使用时为必选项。
实名认证中,通过支付终端签名函数获得的签名结果。
签名算法犐犇参数标识:
。
参数类型:
()。
参数说明:
本参数仅在桌面应用类型的应用中使用。
当使用时为必选项。
用户使用设备签名使用的算法对应的。
待签信息原文参数标识:
。
参数类型:
()。
参数说明:
本参数仅在桌面应用类型的应用中使用。
当使用时为必选项。
用户发起的交易原文明文。
犲犐犇属性信息可选项。
保留字段。
消息扩展参数标识:
。
犌犅犜参数类型:
()。
参数说明:
可选项。
为后续应用提供一些扩展服务。
手机号码参数标识:
。
参数类型:
()。
参数说明:
本参数仅在移动应用中使用。
当使用时为必选项。
当前应用运行平台对应的手机号码。
保留项参数标识:
。
参数类型:
()。
参数说明:
可选项。
保留字段,为将来定义新的用途所保留。
犲犐犇服务平台返回参数消息类型参数标识:
。
参数类型:
()。
参数说明:
本参数仅在移动应用中使用。
当使用时为必选项。
消息类型,对于返回消息,固定为字符“”。
返回结果参数标识:
。
参数类型:
()。
参数说明:
必选项。
业务处理结果。
签名方式参数标识:
。
参数类型:
()。
参数说明:
必选项。
签名使用的算法对应的。
签名值参数标识:
。
参数类型:
()。
参数说明:
必选项。
使用中所规定的签名算法对需要参与签名的参数进行签名得到的值,具体格式见。
业务流水号参数标识:
。
参数类型:
()。
参数说明:
必选项。
针对本次请求及应答的唯一标识串码。
犌犅犜返回时间参数标识:
。
参数类型:
()。
参数说明:
必选项。
时间,格式为:
。
犲犐犇标识码参数标识:
。
参数类型:
()。
参数说明:
必选项。
用户登录的标识码。
其格式应符合的要求。
用户账户参数标识:
。
参数类型:
()。
参数说明:
本参数仅在桌面应用类型的应用中使用。
当使用时为必选项。
用户在应用服务提供方注册的账号。
消息扩展参数标识:
。
参数类型:
()。
参数说明:
可选项。
保留字段。
保留项参数标识:
。
参数类型:
()。
参数说明:
可选项。
保留字段,为将来定义新的用途所保留。
犌犅犜附录犃(资料性附录)请求与返回消息处理示例犃概述本附录描述了第章和第章所述各请求与返回消息的解析规则、接口调用方式及消息示例,供应用参考。
在应用时,应根据实际情况生成相应的参数内容。
为简便起见,示例中省略了证书信息的中间部分并以“”代替。
犃消息解析步骤示例对所述消息编码的解析步骤示例如下:
)消息接收方确定消息字符串的首字符与尾字符分别为与;)使用,作为分隔符将消息字符串分割成若干名称值对;)获取相应的名称值对后,搜索第一个:
作为分隔符,将名称值对解析为名称和值两部分;)确定名称和值均以“与”作为起始与结束;)将名称的内容与本部分第章和第章规定的各参数的参数标识相同的名称值对进行处理。
对名称未在本部分第章和第章参数标识中出现的名称值对,可忽略或根据业务需要进行处理;)如果存在多个名称相同的名称值对,且格式符合本部分的规定,可根据需要仅接收最后出现的名称值对中的值或报错处理;)确认收到的数据中值的长度符合本部分第章和第章所规定的消息长度;)确认收到的数据中包含所有必选的参数所对应的名称值对,且这些参数的值符合本部分定义的参数类型。
犃接口调用示例本部分规定的各接口的调用方式可采用异步调用或同步调用两种方式,相应的调用方式示例如下:
)当应用服务提供方通过异步调用方式调用接口时,在请求消息中通过参数发送一个供服务平台使用的结果返回地址。
服务平台会在收到应用服务提供方发送的消息后返回确认消息。
应用服务提供方可根据网络与应用实际情况制定超时时间,在超时时间内未收到服务平台的同步返回结果,则进行请求失败处理。
随后,服务平台会通过参数中中包含的结果返回将业务处理结果返回给应用服务提供方,应用服务提供方在接收到服务平台的处理结果之后,向服务平台返回确认消息,其内容为:
“”:
“”,表示已接收到结果。
如果服务平台在一定时间内未收到应用服务提供方的接收确认,会根据策略按一定间隔重复发送直到达到最大重试次数或收到应用服务提供方的接收确认,应用服务提供方采用重复消息判定机制对此进行处理。
)当应用服务提供方通过同步调用方式调用接口时,服务平台会保持会话,待处理完所有业务以后,按照第章和第章中的定义直接返回相关参数。
应用服务提供方可根据网络与应用实际情况制定超时时间,在超时时间内未收到服务平台的同步返回结果,则进行请求失犌犅犜败处理。
犃注册请求与返回消息示例犃注册请求消息示例如所示注册请求消息示例如下。
:
,:
,:
,:
,:
,:
犃注册返回消息示例如所示注册返回消息示例如下。
:
,:
,:
,:
,:
,:
,:
,:
,:
,:
犃桌面验证请求与返回消息示例犃桌面验证请求消息示例如所示桌面验证请求消息示例如下。
:
,:
,:
,:
,犌犅犜:
,:
,:
,:
,:
,:
,:
,:
,:
犃桌面验证返回消息示例如所示桌面验证请求消息示例如下。
:
,:
,:
,:
,:
,:
,:
,:
,:
犃移动验证请求与返回消息示例犃移动验证请求消息示例如所示移动验证请求消息示例如下,在应用时,应根据实际情况生成相应的参数内容。
:
,:
,:
,:
,:
,:
,:
,:
,:
,犌犅犜:
,:
犃移动验证返回消息示例如所示移动验证请求消息示例如下,在应用时,应根据实际情况生成相应的参数内容。
:
,:
,:
,:
,:
,:
,:
,:
犌犅犜附录犅(资料性附录)签名参数生成示例犅签名参数生成步骤示例所述签名参数的生成步骤示例如下:
)消息发送方将消息中除去和两个参数外的其他所有参数作为需签名参数。
)消息发送方对需签名参数数组里的每一个名称值对按的规则进行排序。
排序完成之后,将结果字符串中的所有字符改为“”进行转义,之后再把所有数组值以字符连接起来。
)在步骤)中得到的字符串后连接“”和的值后得到最终的待签名字符串。
)使用中规定的签名算法对步骤)中得到的待签名字符串进行签名。
待签名字符串的生成示例参见。
犅待签名字符串示例例如,对于如下的参数数组:
,:
,:
,:
,:
;则步骤)所生成的字符串如下:
之后,根据步骤)的描述,直接连接后得到最终的待签名字符串如下(设”):
此字符串便是最终的待签名字符串。
犌犅犜参考文献信息安全技术椭圆曲线公钥密码算法第部分:
数字签名算法犌犅犜