1、ICS 35.240.15 A 90 GA 中 华 人 民 共 和 国 公 共 安 全 行 业 标 准 GA/T XXXX.3 XXXX 居民身份网络认证 认证服务 第 3 部分 : 信息获取控件接口要求 CTID online authentication Authentication services Part 3:Interface requirements for information acquirement control (报批稿) XXXX - XX - XX 发布 XXXX - XX - XX 实施 中华人民共和国公安部 发布 GA/T XXXX.3 XXXX I 目 次 前
2、言 . III 引言 . IV 1 范围 . 1 2 规范性引用文件 . 1 3 术语和定义 . 1 4 总则 . 1 4.1 概述 . 1 4.2 作用 . 2 5 接口数据内容 . 2 5.1 概述 . 2 5.2 数据结构 . 2 5.3 接口方法 . 3 5.4 结果码表 . 3 附录 A(资料性附录) Windows 版信息获取控件 . 4 A.1 数据结构 . 4 A.2 接口方法 . 4 附录 B(资料性附录) Android 版信息获取控件 . 6 B.1 数据结构 . 6 B.2 接口方法 . 6 附录 C(资料性附录) IOS 版信息获取控件 . 8 C.1 数据结构 .
3、8 C.2 接口方法 . 8 参考文献 . 10 图 1 居民身份网络认证系统整体技术框架 . 2 表 1 身份验证数据结构 . 3 表 2 结果数据结构 . 3 表 3 接口方法列表 . 3 表 4 结果码表定义 . 3 表 A.1 IdCardData 结构定义 . 4 表 A.2 获取版本号接口说明 . 5 表 A.3 获取身份验证数据接口说明 . 5 GA/T XXXX.3 XXXX II 表 A.4 获取网证口令数据接口说明 . 5 表 B.1 IdCardData 结构定义 . 6 表 B.2 Result结构定义 . 6 表 B.3 获取版本号接口说明 . 7 表 B.4 获取身
4、份验证数据接口说明 . 7 表 B.5 获取网证口令数据接口说明 . 7 表 C.1 IdCardData 结构定义 . 8 表 C.2 Result(NSDictionary)结构定义 . 8 表 C.3 获取版本号接口说明 . 9 表 C.4 获取身份验证数据接口说明 . 9 表 C.5 获取网证口令数据接口说明 . 9 GA/T XXXX.3 XXXX III 前 言 GA/T XXXX居民身份网络认证 认证服务分为五个部分: 第 1部分:认证分级; 第 2部分:服务接口要求; 第 3部分:信息获取控件接口要求; 第 4部分:人脸图像采集控件技术要求; 第 5部分:人脸比对引擎接口要求。
5、 本 部 分为 GA/T XXXX的第 3部分。 本部分按照 GB/T 1.1-2009给出的规则起草。 请注意本文件的某些内容可能涉及专利。本文 件 的发布机构不承担识别这些专利的责任。 本部分由公安部社会公共安全应用基础标准化技术委员会提出并归口。 本部分起草单位:公安部第一研究所、北京中盾安信科技发展有限公司、北京中盾安全技术开发公 司、兴唐通信科技有限公司、浙江蚂蚁小微金融服务集团有限公司、新大陆(福建)公共服务有限公司、 广州大白互联网科技有限公司、深圳市腾讯计算机系统有限公司、公安部 安全与警用电子产品质量检测 中心、北 京 盈信信息科技有限公司。 本部分主要起草人:颜挺、管毅、于
6、晓敏、吴国英、蔡子凡、王俊峰、谷晨、 林乐然 、滕杰、杨晓 光、张翔、赵明宇。 GA/T XXXX.3 XXXX IV 引 言 居民身份网络认证是国家实施网络可信身份战略实施的重要环节之一。由于互联网的虚拟性特点 , 传统的身份认证方式已无法适应网络用户应用的需求 ,而网络身份认证存在着认证方式多种多样、身份 信息真假难辨等弊端 ,并引发了数据泄露、身份冒用、隐私传播等新的安全问题 ,甚至威胁到了国家安全。 为此 , 亟需从标准化角度开展研究 ,构建安全、便捷 、统一的居民身份网络认证技术框架 ,为 在网络空间 标识居民 身份和认证提供安全 保障 ,为提高我国网络身份管理水平、实现网络社会治理
7、现代化提供技术 支持。 为了提高居民身份网络认证过程中个人信息采集的规范性 和 安全性,需要制定统一的信息采集控件 要求,并对信息采集控件的数据结构、接口方法等进行规范,特制定本部分。 GA/T XXXX.3 XXXX 1 居民身份网络认证 认证服务 第 3 部分:信息获取控件接口要求 1 范围 GA/T XXXX的本部分规定了居民身份网络认证系统的信息获取控件的数据结构、接口方法及结果码 表。 本部分适用于居民身份网络认证系统信息获 取控件接口的设计开发。 2 规范性引用 文 件 下列文件对于本 文件的应用是必 不可少的。凡是注日期的引用文件,仅 注日期的版本适用于本文件。 凡是不注日期的引
8、用文件,其最新版本(包括所有的修改单)适用于本文件。 GA/T XXXX 居民身份网络认证 通用术语 GA/T XXXX 居民身份网络认证 整体技术框架 GA/T XXXX.2 居民身份网络认证 认证服务 第 2部分:服务接口要求 3 术语和定义 GA/T XXXX居民身份网络认证 通用术语 界定的术语和定义适用于本文件。 4 总则 4.1 概述 在 GA/T XXXX居民身份网络认证 整体技术框架 给 出 的居民身份网络认 证系统整体技术框 架中, 本部分规范的对象处于图 1所示的“标准 6”位置。 GA/T XXXX.3 XXXX 2 标准 1 居民身份网络认证 通用术语 标准 2 居民身
9、份网络认证 整体技术框架 标准 3 居民身份网络认证 网络可信凭证和网络标识格式要求 标准 4 居民身份网络认证 认证服务 第 1 部分 : 认证分级 标准 5 居民身份网络认证 认证服务 第 2 部分 : 服务接口要求 标准 6 居民身份网络认证 认证服务 第 3 部分 : 信息获取控件接口要求 标准 7 居民身份网络认证 认证服务 第 4 部分 : 人脸图像采集控件技术要求 标准 8 居民身份网络认证 认证服务 第 5 部分 : 人脸比对引擎接口要求 标准 9 居民身份网络认证 信息采集设备 第 1 部分 : 居民身份证开通网证读卡器 标准 1 0 居民身份网络认证 信息采集设备 第 2
10、部分 : 自助开通网证设备 标准 1 1 居民身份网络认证 信息采集设备 第 3 部分 : 批量开通网证设备 标准 1 2 居民身份网络认证 信息采集设备 第 4 部分 : 移动终端安全技术要求 居民身份网络认证 服务系统 网证 应用 服务 接口 网证管理 数据存储 生物特征 验证 网证验证 网证 居民身份 网络标识 应用程序 居民 网证应用客户端 应用程序 人脸图像 采集控件 信息 获取控件 网证 网证应用服务端 签名验签 应用程序服务器 数据存储 居民身份 网络标识 签名验签 身份信息核验 业务服务 身份信息验证 标识管理 网证应用系统 居民 身份 证开 通网 证读 卡器 人脸图像 采集控
11、件 网证 管理 服务 接口 网证 开通 网证 冻结 网证 解冻 网证 注销 网证 口令重置 标准 6 人脸 验证 网证管理 客户端 图 1 居民身份网络认证系统整体技术框架 4.2 作用 网证应用客户端在网证下载、认证等业务中需要采集认证信息,并对数据进行加密等处理,信息获 取控件提供了认证信息采集 和 加密功能。网证应用客户端通过调用信息获取控件的接口获取居民身份网 络认证信息数据,并构造居民身份网络认证数据包,发送到网证应用服务端进行签名等处理。 5 接口数据内容 5.1 概述 接口数据内容包括 数据结构、接口方法和结果码表。 5.2 数据结构 5.2.1 身份验证 数据结构 身份验证数据
12、结构是获取身份验证数据接口的入参结构体,数据项见 表 1。数据结构示例参见 附录 A 中的表 A.1、 附录 B中的表 B.1和 附录 C中的表 C.1。 GA/T XXXX.3 XXXX 3 表 1 身份验证数据结构 中文名称 标识符 表示格式 约束条件 说明 业务类型 YWLX n1 必选 标识不同的业务 网证编码数据 WZBMSJ c296 可选 网证数据 的 Base64编码 机构编号 JGBH c8 必选 居民身份网络认证服务系统为网证应用系统的机构派发的唯一编号 应用编 号 YYBH c4 必选 居民身份网络认证服务系统为网证应 用系统的应用派发的唯一编号 5.2.2 结果数据结构
13、 结果数据结构是获取结果数据接口的入参结构体,数据项 见 表 2。数据结构示例参见 附录 B中的表 B.2 和 附录 C中的表 C.2。 表 2 结果数据结构 中文名称 标识符 表示格式 约 束 条件 说明 结果码 JGM n1 必选 接口返回结果码 结果码描述 JGMMS c.64 必选 接口返回结果描述 结果数据 JGSJ c.1320 可选 接口返回结果数据 5.3 接口方法 信息获取控件接口方法包括获取控件版本号、获取身份验证数 据、获取网证口令 数据等,见表 3。 接口方法示例参见 附录 A中的 A.2、 附录 B中的 B.2和附录 C中的 C.2。 表 3 接口方法列表 接口名称
14、接口说明 获取控件版本号 用于获取控件版本号 获取身份验证数据 用于获取身份验证数据,作为网证应用服务接口中身份认证和网证下载接口的输入参数 获取网证口令数据 用于获取网证口令数据,作为网证应用服务接口中身份认证和网证下载接口的输入参数 5.4 结果码表 结果码表定义见表 4。 表 4 结果码表定义 结果码 说明 0 接口调用成功,返回结果数据 1 接口调用失败 GA/T XXXX.3 XXXX 4 A A 附 录 A (资料性附录 ) Windows 版信息获取控件 A.1 数据结构 身份验证数据结 构 ( IdCardData数据结构 ) 定义见表 A.1。 表 A.1 IdCardDat
15、a 结构定义 数据项 标识符 字段名 数据类型 长度 (字节) 约束条件 说明 业务类型 YWLX type unsigned char 1 必选 0-无卡认证 1-读卡认证 2-读卡下载网证 3-无卡下载网证 网证编码 数据 WZBMSJ ctid unsigned char 296 可选 网证数据 的 Base64编码 网证编码 数据长度 WZBMSJCD ctidLen unsigned short 2 可选 网证编码 数据长度 机 构 编号 JGBH organizeId unsigned char 8 必选 居民身份网络认证服务系统 为网证应用系统的机构派发 的唯一编号 机构 编号
16、长度 JGBHCD organizeIdLen unsigned short 2 必选 机构编号长度 应用 编号 YYBH appId unsigned char 4 必选 居民身份网络认证服务系统 为网证应用系统的应用派发 的唯一编号 应用 编号 长度 YYBHCD appIdLen unsigned short 2 必选 应用编号长度 厂商编号 CSBH Vid unsigned short 2 可选 USB设备厂商编号 产品编号 CPBH Pid unsigned short 2 可选 USB设备产品编号 注: 数据结构遵循 C语言定义规范。 A.2 接口方法 A.2.1 获取控件版本号
17、 获取控件版本号接口说明见表 A.2。 GA/T XXXX.3 XXXX 5 表 A.2 获取版本号接口说明 接口定义 void getAuthIDCardDataVer (unsigned char *ver) 接口描述 获取 信息获取 控件版本号 输出 参数 verOUT: 控件版本 号 返回 值 无 注: 接口遵循 C语言定义规范。 A.2.2 获取身份验证数据 获取身份验证数据接口说明见表 A.3。 表 A.3 获取身份验证数据接口说明 接口定义 unsigned char getAuthIDCardData(unsignedchar *randomNumber, unsigned s
18、hort randomNumberLen, struct IdCardData *IdCard, unsigned char *idData, unsigned short *idDataLen) 接口描述 获 取 身份 验证数据 , 用于封装身份认证信息数据包 输入 参数 randomNumber:身份认证申请响应中的随机数数据 randomNumberLen: 随机数 数据 长度 IdCard: IdCardData 结构体 ,参见 A.1.1 数据结构 输出 参数 idData:身份 验证数据 idDataLen:身份 验证数据长度 返回 值 0 为成功, 1 为错误 注: 接口遵循 C
19、语言定义规范。 A.2.3 获取网证口令数据 获取网证口令数据接口说明见表 A.4。 表 A.4 获取网证口令数据接口说明 接口定义 unsigned char getAuthCodeData (unsigned char *randomNumber, unsigned short randomNumberLen, unsigned char *authCode, unsigned short *authCodeLen) 接口描述 获取网证口令数据,用于封装身份认证信息数据包 输入 参数 randomNumber:身份认证申请响应中的随机数数据 randomNumberLen: 随机数 数据
20、长度 输出 参数 authCode:网证口令 数据 authCodeLen:网证口令 数据长度 返 回 值 0 为成功, 1 为错误 注: 接口遵循 C语言定义规范。 GA/T XXXX.3 XXXX 6 B B 附 录 B (资 料性附录) Android 版信息获取控件 B.1 数据结构 B.1.1 身份验证数据结构( IdCardData) IdCardData数据结构定义见表 B.1。 表 B.1 IdCardData 结构定义 数据项 标识符 字段名 类型 长度 (字节) 约束条件 描述 业务 类型 YWLX type int 1 必选 0-无卡认证 1-读卡认证 2-读卡下载网证
21、3-无卡下载网证 标签 BQ tag Android.nfc.Tag 未知 可选 NFC读卡 Tag对象 网 证编码 数据 WZBMSJ ctid String 296 可选 网证数据 的 Base64编码 机构编号 JGBH organizeId String 8 必选 居民身份网络认证服务系统为网 证应用系统的机构派发的唯一编 号 应用编号 YYBH appId String 4 必选 居民身份网络认证服务系统为网 证应用系统的应用派发的唯一编 号 注: 数据结构遵循 Java语言定义规范。 B.1.2 结果数据结构( Result) Result数据结构定义见表 B.2。 表 B.2 R
22、esult结构定义 数据项 标识符 字段名 类型 长度(字 节) 约束条件 描述 结果码 JGM code int 4 必选 接口返回结果码 结果码描述 JGMMS msg String 64 必选 接口返回结果码描述 结果数据 JGSJ value T 1024 可选 接口返回结果数据 注: 数据结构遵循 Java语言定义规范。 B.2 接口方法 B.2.1 获取控件版本号 GA/T XXXX.3 XXXX 7 获取控件版本号接口说明见表 B.3。 表 B.3 获取版本号接口说明 接口定义 public static Result getAuthIDCardDataVer() 接口描述 获取
23、信息 获取控件版本号 返回值 Result: Result结构体, 参见 B.1.2数据结构 注: 接口遵循 Java语言定义规范。 B.2.2 获取身份验证数据 获取身份验证数据接口说明见表 B.4。 表 B.4 获取身份验证数据接口说明 接口定义 public Result getAuthIDCardData(String randomNumber, IdCardData data) 接口描述 获取身份验证数据,用于封装身份认证信息数据包 输入参数 randomNumber:身份认证申请响应中的随 机数 data: IdCardData结构体, 参见 B.1.1数据结构 返回值 Resul
24、t: Result结构体, 参见 B.1.2数据结构 注: 接口遵循 Java语言定义规范。 B.2.3 获取网证口令数据 获取网证口令数据接口说明见表 B.5。 表 B.5 获取网证口令数据接口说明 接口定义 Public Result getAuthCodeData(String randomNumber, int screenOrientation) 接口描述 获取网证口令数据,用于封装身份认证信息数据包 输入参数 randomNumber:身份认证申请响应中的随机数数据 screenOrientation:横竖屏开关, 0是横屏, 1是竖屏 返回值 Result: Result结构体,
25、 参见 B.1.2数据结构 注: 接口遵循 Java语言定义规范。 GA/T XXXX.3 XXXX 8 C C 附 录 C (资料性附录) IOS 版信息获取控件 C.1 数据结构 C.1.1 身份验证数据结构( IdCardData) IdCardData数据结构定义见表 C.1。 表 C.1 IdCardData 结构定义 数据项 标识符 字段名 类型 长度(字节) 约束条件 描述 业务 类 型 YWLX type NSInteger 1 必选 0-无卡认证 1-读卡认证 2-读卡下载 网证 3-无卡下载网证 随机数数据 SJSSJ randomNumber NSString 120 必
26、选 身份认证申请响应中的随机数数据 网证编码 数据 WZBMSJ ctid NSString 296 可选 网证数据 的 Base64编码 机构编号 JGBH organizeId NSString 8 必选 居民身份网络认证服务系统为网证应用系统的机构派发的唯一编号 应用编号 YYBH appId NSString 4 必选 居民身份网络认证服务系统为网证应用系统的应用派发的唯一编号 注: 数据结构遵循 Objective-C语言定义规范。 C.1.2 结果数据结构( Result(NSDictionary)) Result(NSDictionary)数据结构定义见表 C.2。 表 C.2
27、Result(NSDictionary)结构定义 数据项 标识符 字段名 类型 长度(字节) 约束条件 描述 结果码 JGM resultCode NSString 2 必 选 接口返回结果码 结果码描述 JGMMS msg NSString 64 必 选 接口返回结果 码描述 结果信息 JGXX resultInfo NSString 1024 可 选 接口返回结果数据 注: 数据结构遵循 Objective-C语言定义规范。 C.2 接口方法 C.2.1 获取控件版本号 获取控件版本号接口说明见表 C.3。 GA/T XXXX.3 XXXX 9 表 C.3 获取版本号接口说明 接口定义 +
28、(NSString *)getAuthIDCardDataVer 接口描述 获取信息获取控件版本号 返回值 控件版本号 注: 接口遵循 Objective-C语言定义规范。 C.2.2 获取身份验证数据 获取身份验证数据接口说明见表 C.4。 表 C.4 获取 身 份验证数据接口 说明 接口定义 -(void)getAuthIDCardData:(CTIDReq*)IdCardData 接口描述 获取身份验证数据,用于封装身份认证信息数据包 输入参数 IdCardData: CTIDReq类型的对象, 参见 C.1.1数据结构 返回值 Result(NSDictionary)结构体,参见 C.
29、1.2数据结构 注: 接口遵循 Objective-C语言定义规范。 C.2.3 获取网证口令数据 获取网证口令数据接口说明见表 C.5。 表 C.5 获取网证口令数据接口说明 接口定义 void(getAuthCodeData)(NSDictionary *resultDict) 接口描述 获取网证口令数据, 用于封装身份认证信息数据包 输入参数 randomNumber:身份认证申请响应中的随机数数据 返回值 resultDict: Result(NSDictionary)结构体 , 参见 C.1.2数据结构 注: 接口遵循 Objective-C语言定义规范。 GA/T XXXX.3 XXXX 10 参 考 文 献 1 GA/T 542-2011 公安数据元编写规则 2 GA/T 1293-2016 应用软件接口标准编写技 术 要素 _