发布日期:2023-03-26 17:41 浏览次数:
GB/T 36629的本部分规定了公民网络电子身份标识验证服务与应用服务提供方间传递的消息及其编码处理规则。
本部分适用于公民网络电子身份标识验证服务及使用该服务的应用与系统的设计和开发。
下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
GB/T 13000-2010 信息技术 通用多八位编码字符集(UCS)
GB/T 20518 信息安全技术 公钥基础设施 数字证书格式
GB/T 25069-2010 信息安全技术 术语
GB/T 26231-2017 信息技术 开放系统互连 对象标识符(OID)的国家编号体系和操作规程
GB/T 36632-2018 信息安全技术 公民网络电子身份标识格式规范
IETF RFC 4648-2006 Base16、Base32及 Base64数据编码(The Base16,Base32, and Base64 Data Encodings)
GB/T 25069-2010、GB/T 36632-2018界定的以及下列术语和定义适用于本文件。
3.1
eID服务平台 eID service platform
提供eID的生成、存储、使用及维护等全生命周期业务处理相关服务的平台。
3.2
eID身份验证 eID verification
通过将所提交的eID身份断言与事先注册的信息进行比较来确认声明的eID身份是否正确的过程。
3.3
eID身份注册 eID registration
通过为实体的身份赋予唯一的eID标识码,提供一组作为声明的身份和/或权利的证据的数据,并签发 eID载体,保证其真实性。
3.4
eID移动应用 eID mobile application
在移动客户端上运行的eID应用。
3.5
eID验证服务
eID verification service
由eID服务平台提供给各应用的进行身份识别及验证的服务。
3.6
elD桌面应用 eID desktop application
通过桌面客户端运行的eID应用。
下列缩略语适用于本文件。
eID:公民网络电子身份标识(Citizen Cyber Electronic Identity)
HTTPS:安全超文本传输协议(Hypertext Transfer Protocol over Secure Socket Layer)
OID:对象标识符(Object Identifier)
PIN:个人识别码(Personal Identification Number)
SDK:软件开发工具包(Software Development Kit)
本部分规定eID身份验证过程中eID服务平台和应用服务提供方间交互流程中传递的消息及其处理规则。当应用服务提供方需要使用eID验证服务来验证网络用户的访问请求时,应用服务提供方完成相应的eID加密或签名运算,将结果按照本部分所述封装成符合eID验证服务接口技术要求的消息,再传输给eID服务平台。eID服务平台在完成eID身份验证后,将验证结果按照eID验证服务接口技术要求的形式返回给应用服务提供方。上述流程的具体步骤如图1所示。
图1 eID身份验证消息传递步骤
本部分所规定的接口应采用HTTPS信道进行传输,且其中使用的涉及保密性、完整性、真实性、不可否认性的相关技术应遵循密码相关国家标准和行业标准。
在接入eID验证服务前,应用服务提供商首先在eID服务平台中进行注册,并获得对应的应用标识与共享密钥以保证后续流程的执行,注册时发送参数的定义见7.1,eID服务平台对注册请求的返回结果参数定义见7.2。此过程仅在应用服务提供方首次接入eID验证服务前进行。
注:为了完成注册,应用服务提供方可能需要通过线下方式向eID服务平台递送审核材料,例如:提交ICP备案号、营业执照副本、税务登记证、组织机构代码证等。
之后,当应用服务提供方需要使用eID验证服务时,执行以下操作:
a)应用服务提供商根据需要向eID服务平台发送服务请求。服务请求消息的参数定义见8.2。
b)eID服务平台返回一个随机数作为本次验证服务的挑战。响应消息的参数定义见8.3。
c)当应用服务提供方向eID服务平台发送服务请求后,应用服务提供方完成相应的eID运算,将验证请求数据发送给eID服务平台。验证请求消息的参数定义见8.4。
d)eID服务平台在本地执行相关的验证服务后,将验证结果返回给应用服务提供方。验证结果消息的参数定义见8.5。
6.1 消息编码
6.1.1 参数类型
本部分使用如下参数类型:
Char:表示GB/T 13000-2010中所规定的字符集中的一个字符,本部分中所使用的字符类型参数仅包含可见字符,此外,本部分使用逗号字符(‘,’,编码:U+002C)作为分隔符,因此参数的值不能包含该字符。
Byte:表示8比特长的单个字节。
Char/Byte(X)表示长度固定为X个Char/Byte类型字符的参数。
Char/Byte(A..B)表示长度为A至B个Char Byte类型字符的参数。
Char/Byte(0..A)表示可为空且长度至多为A个Chahar/Byt 类型字节的参数。
6.1.2 参数编码规则
消息发送方(应用服务提供方和eID平台)应遵循以下规则生成并发送注册请求、注册返回结果、eID验证服务请求、eID验证请求和eID验证服务返回结果等消息:
a)消息发送方应将消息中所有参数类型为1 的参数的值按照IETF RFC 4648-2006中所述Base64编码规则进行编码,将其转化为Char()类型。
b)消息发送方应将转化后的所有参数按照如下格式组装成 Char()类型的字符串:
{
“参数标识1”:“参数值1”,
“参数标识2”:“参数值2”,
“参数标识 N”:“参数值N”,
}
其中名称/值对的名称应与本部分所规定的参数标识一致,各参数标识间无顺序。在组装时,应忽略所有的不可见字符。若某参数值为空,则在生成的字符串中,该参数的参数标识保留,参数值设为空(长度为0的字符串)。具体的请求参数示例参见附录A。
c)消息发送方将组装好的数据放入http body域中,并新增下列内容以用来描述本协议内容的版本号。
HEAD:AD:"idsp-protocol-version=2.0.0”
d)消息发送方使用G 13000-2010中规定的 UTF-8编码格式数据字符串进行编码,然后用POST方式将消息发送到请求地址,进行接口调用。接口调用示例参见A.3。
以上为标准部分内容,如需看标准全文,请到相关授权网站购买标准正版。