1、YD/T XXXXXXXX I ICS 33.040 M 21 YD YD/T 2018 中 华 人 民 共 和 国 通 信 行 业 标 准 互联网基础资源支撑系统监管信息交换接口 规范 第 2 部分:域名权威解析服务 Technical specifications for supervise information exchange interface of Internet basic resource monitor management system - Part 2:Domain name authoritative resolution (报批稿) -发布 -实施 中 华 人 民
2、 共 和 国 工 业 和 信 息 化 部 发 布 YD/T XXXXXXXX I 目 次 前言 .II 1 范围 .1 2 术语和定义 .1 3 缩略语 .1 4 系统概述 .1 5 接口功能要求 .2 5.1 监管指令 下发 与执行结果反馈 .2 5.2 监管指令 恢复 .2 6 接口流程 .3 6.1 通信方式 .3 6.2 管理指令处理流程 .3 7 接口安全 .5 7.1 概述 .5 7.2 指令下发 .5 7.3 指令结果反馈 .5 8 接口方法定义 .5 8.1 command()方法 .5 8.2 command_reply()方法 .7 9 数据代码表 .8 9.1 处置对象类
3、型代码 表 .8 9.2 处置要求代码 表 .8 9.3 处置指令类型代码 表 .9 10 数据交换内容描述 .9 10.1 数据格式及匹配 要求 .9 10.2 监管指令 内容 .9 10.3 监管恢复指令 内容 .11 10.4 指令执行情况上报 内容 .11 10.5 接口返回文件 内容 .12 II 前 言 “互联网基础资源支撑系统 ”系列标准包括 互联网基础资源支撑系统信息交换接口规范 、 互 联网基础资源支撑系统监管信息交换接口规范 和 互联网基础资源支撑系统接口测试规范 , 本部分 是互联网基础资源支撑系统监管信息交换接口规范的第 2部分,该标准的预计结构和名称如下: 第 1部分
4、:域名注册与管理服务 第 2部分:域名权威解析服务 第 3部分:域名递归解析服务 第 4部分: ICP网站 第 5部分:内容分发网络( CDN) 本部分按照 GB/T 1.12009给出的规则起草。 请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别这些专利的责任。 本部分由中国通信标准化协会提出并归口。 本部分 起草单位 : 国家计算机网络应急技术处理协调中心 , 天津市国瑞数码安全系统股份有限公司 , 中国互联网络信息中心。 本部分主要起草人:云晓春、陈悦、舒敏、刘博元、蒋凌云、曹华平、杨云龙、张牙、窦禹。 YD/T XXXXX2017 1 互联网基础资源支撑系统监管信息交换接
5、口规范 第 2 部分: 域名权威解析服务 1 范围 本部分规定了互联网基础资源支撑系统与提供域名权威解析服务机构之间的监管指令 数据交换接口规范。 本部分适用于提供域名权威解析服务的互联网服务提供商所建设的互联网基础资源支 撑系统。 2 术语和定义 下列术语和定义适用于本文件。 2.1 部级系统 management system of MIIT 工业和信息化部建设的互联网基础资源支撑系统的部级部分。 2.2 省局系统 management system of CA 工业和信息化部建设的互联网基础资源支撑系统的省局部分。 2.3 企业 侧系统 management system of ente
6、rprises 域名权威解析机构建设的互联网基础资源支撑系统的企业部分。 2.4 权威域名解析 authoritative domain name system 经过上一级 域名系统 授权对域名进行解析 。 3 缩略语 下列缩略语适用于本文件。 WSDL 网络服务描述语言 Web Services Description Language XML 可扩展标识语言 eXtensible Markup Language 4 系统概述 YD/T XXXXX2017 2 互联网基础资源支撑系统是由部级系统或省局 系统 (以下 简称 “部省系统 ”) 下发违法违 规域名的处置指令到各相关的域名权威解析服
7、务机构的企业系统中,企业系统处理完成后, 将处理结果进行反馈。 5 接口功能 要求 5.1 监管指令 下发 与执行结果反馈 部省系统将监管指令下发至相关域名权威解析机构企业侧系统 , 企业侧系统接收指令按 照要求进行处置后 , 将处理结果反馈至对应部省系统 , 有关监管 指令数据格式见 10.2, 指令 执行结果上报消息格式见 10.4。 监管指令下发流程见图 1。 图 1 监管指令下发流程 5.2 监管指令 恢复 部省系统将监管恢复指令下发至相关企业侧系统 , 企业侧系统接收指令按照要求进行恢 复相关监管对象服务,有关监管指令恢复 数据格式见 10.3。 监管恢复指令下发流程见图 2。 企
8、业 侧 系 统部 省 系 统 下 发 监 管 指 令 上 报 指 令 执 行 结 果 YD/T XXXXX2017 3 图 2 监管指令恢复下发流程 6 接口 流程 6.1 通信方式 接口采用 WebService 方式通信,部省系统通过调用接口方法将指令下发给对应企业侧 系统,接口方法见 第 8 章。 6.2 管理指令处理流程 部省系统通过管理指令完成对相应企业系统的进行互联网基础资源监管操作 。 部省系统将管理指 令发送到企业系统后,等待接收企业系统反馈的指令生效反馈信息。 管理指令处理流程如下( 如图 3、 图 4 所示): a) 部省系统 调用 command()方法 , 将指令下发至
9、企业侧系统 。 指令以 XML 文件的格式封 装。 b) 企业侧系统接收部省系统下发指令,进行认证和信息校验,完成信息校验后保存指令, 并在同一连接内及时反馈指令接收是否成功的信息( 见 10.5) ; 如果企业侧系统没有成 功收到下发命令,部省系统则需要重新下发指令。 c) 企业侧系统在约定时间内执行指令,将指令执行 的结果信息通过调用 command_reply() 方法返回给部省系统, 返回的内容是以 XML 文件的格式封装的结果( 见 10.4)。 企 业 侧 系 统部 省 系 统 下 发 监 管 恢 复 指 令 反 馈 指 令 接 收 结 果 YD/T XXXXX2017 4 d)
10、部省系统接收企业侧系统的指令执行结果信息 , 完成信息校验后进行保存 , 并在同一连 接内及时反馈接收情况( 见 10.5) ; 如部省系统没有成功收到指令执行信息,企业侧系 统需要重新上报指令执行结果信息。 图 3 监管指令和恢复指令下发流程 图 4 指令处置结果上报流程 企 业 侧 系 统部 省 系 统 command command返 回 企 业 侧 系 统 部 省 系 统 command_reply command_reply返 回 YD/T XXXXX2017 5 7 接口安全 7.1 概述 部省系统为企业颁发数字证书和部省系统公钥 , 使用非对称算法对对称算法密钥进行加 密,使用对
11、称算法对指令相关数据进行加密,数据加密解密和验证描述如下。 7.1 指令下发 部省系统为企业颁发数字证书和部省系统的公钥。下发的指令采用是用 AES加密算法加 密 , 解密密码由颁发给企业侧的数字证书的公钥进行加密 , 企业使用自己的私钥解密后得到 指令的 AES解密密码,然后使用该密码对指令进行解密。 指令解密完成后需要使用私钥解密指令的签名 , 然后对指令明文进行哈希计算 , 然后使 用公钥进行签名验证,如果验证通过则指令接收正确。 7.2 指令结果反馈 企业侧对指令执行结果使用企业私钥进行签名,签名完成后生成一个随机 AES密码并使 用 AES算法对指令执行结果进行加密,然后使用部省系统
12、的公钥将随机密码进行加密。将上 述加密后的数据通过接口传输给部省系统。 部省系统接收到返回结果数据后,使用私钥将随机密码解密,得到反馈结果加密密码, 然后使用该密码对反馈结果进行解密 , 对解密后的结果进行签名验证 , 验证通过后则结果接 收正确。 7.2 网络安全 为保证接口网络访问安全性 , 企业侧需要支持 IP地址访问白名单机制 , 需要将部省系统 的 IP地址加入到白名单中,只允许白名单中的 IP地址进行接口访问。 7.3 性能要求 企业侧系统提供的指令接收接口 , 应支持并发处理请求 , 且性能必须满足每秒钟至少能 同时接收不少于 50个指令并发下发请求,并且平均接收响应时间不超过
13、1秒钟,最大接收响 应时间不超过 5秒钟,同时须保证接口的高可用性达到 99.9%。 8 接口方法定义 8.1 command()方法 YD/T XXXXX2017 6 8.1.1 方法原型 String command (String enterpriseId, String randVal, String pwdHash , String command , String commandSign , int commandType , String commandPassword , int encryptAlgorithm, int hashAlgorithm, String comma
14、ndVersion) 8.1.2 服务请求地址 https:/企业侧系统域名 /cmd-service/command?wsdl 8.1.3 参数描述 本方法共使用 10 个参数, 各项参数的描述如表 1 所示。 表 1 command ()方法参数 参数名称 参数类型 参数描述 enterpriseId 字符串 填写对应的企业 ID,该 Id由部省系统生成。 randVal 字符串 部省系统调用该方法时生成的随机字符串,长度为 20字节。 pwdHash 字符串 使用指定的哈希算法对认证密码 和随机字符串转换为 UTF-8编码二进制数组进行哈希运算 , 然后将哈希值转换为 16进制字符串得到
15、的结果,认证密码由部省系统产生。 command 字符串 Base64编码字符串 , 进行 Base64解码后使用 encryptAlgorithm参数指定的算法进行解密 , 解 密秘钥为解密 后的 commandPassword。 解密后转 为 UTF-8编码格式的字符串 , 得到 指令 XML 字符串。企业可以按照 XML格式进行解析。 commandSign 字符串 Base64字符串 , command参数的数字签名 , 用于验证 command的来源和完整性 。 企业需要 将 command明文字符串按照 UTF-8编码转换成二进制数组,然后使用部省系统的公钥对 command明文二
16、进制数组进行签名验证 , 签名算法请见部省系统数字证书中 的 “签名算法 ” 字段。例如: SHA256withRSA commandType 整型 指令类型如下。 0:监管指令; 1:监管恢复指令。 commandPassword 字符串 指令 command参数解密密码 , 该参数为部省系统使用企业的公钥对 command解密密码进行 加密后的 Base64字符串。 企业需要对该参数进行 Base64解码成二进制数组,然后使用自己的私钥进行解密得到 command参数的解密密码,解密用的 AES向量为 16个以 0填充的字节数组。 encryptAlgorithm 整型 command的加
17、密算法。 YD/T XXXXX2017 7 0: AES( 128bit)加密算法。 企业侧系统应根据部省系统的要求完成加密算法的具体实现 。 企业侧系统应支持采用 CBC 模式、 PKCS5Padding补码方式实现 AES加密算法。 hashAlgorithm 整型 哈希算法如下 0: SHA-256; commandVersion 字符串 接口方法版本。符合本部分所规定要求的接口方法为 “1.0”。 8.1.4 方法描述 该方法由企业侧系统实现 , 用于接收部省系统下发的监管指令 , 企业侧接收指令后应对 指令内容进行解密和哈希值校验,校验通过后可以对指令进行 XML解析,得到指令内容。
18、 8.1.5 方法返回值 该方法返回一个 XML数据流,数据格式详见 10.5,其描述了本次操作的结果代码、结果 描述等信息。 8.2 command_reply()方法 8.2.1 方法原型 String command_reply(String enterpriseId, String randVal, String pwdHash , String result, String resultSign, String resultPassword,int encryptAlgorithm, int hashAlgorithm, String commandVersion) 8.2.2 服务
19、请求地址 https:/ 部省系统服务器 IP地址 /cmd-service/command?wsdl 8.2.3 参数描述 本方法共使用 9个参数,各项参数的描述如表 2所示。 表 2 command_reply()方法参数说明 参数名称 参数类型 参数描述 enterpriseId 字符串 填写对应的企业 ID,该 Id由部省系统生成。 randVal 字符串 企业侧系统调用该方法时生成的随机字符串,长度为 20字节。 pwdHash 字符串 使用指定的哈希算法对认证密码和随机字符串转换为 UTF-8编码二进制数组进行哈希 运算,然后将哈希值转换为 16进制字符串得到的结果,认证密码由部省
20、系统产生。 result 字符串 Base64编码字符串,将反馈结果 XML字符串按照 UTF-8编码转换成二进制数组,然后 使用 encryptAlgorithm参数指定的算法进行加密 , 加密密码由企业自己生成密码 , 将加 YD/T XXXXX2017 8 密后的数据进行 Base64编码。 resultSign 字符串 Base64字符串 , result参数的数字签名 , 用于 验证 result的来源和完整性 。 企业需要 将 result 字符串按照 UTF-8编码转换成二进制数组,然后使用企业自己的私钥对二进制数组进 行签名,将签名后的二进制数组进行 Base64编码。 res
21、ultPassword 字符串 反馈结果 result参数解密密码 , 该参数由企业使用部省系统的公钥对 result解密密码进行 加密(加密向量为 16个字节长度的以 0填充的二进制数组)后的 Base64字符串。 部省系统使用私钥进行解密得到 result参数的解密密码。 encryptAlgorithm 整型 result的加密算法。 0: AES( 128bit)加密算法。 部省系统应支持采用 CBC模式、 PKCS5Padding补码方式实现 AES加密算法。 hashAlgorithm 整型 哈希算法如下 0: SHA-256; commandVersion 字符串 接口方法版本。
22、符合本部分所规定要求的接口方法为 “1.0” 8.2.4 方法描述 该方法由部省系统实现 , 企业侧系统接收到部省系统下发的监管指令 , 并将监管指令执 行完成后,调用本方法,将监管指令的处理结果信息发送给部省系统。 8.2.5 返回值 该方法返回一个 XML数据流,数据格式详见 10.5,其描述了本次操作的结果代码、结果 描述等信息。 9 数据代码表 9.1 处置对象类型代码 表 处置对象类型 代码见表 3。 表 3 处置对象类型代码 代码 对象 名称 1 域名 999 其他 9.2 处置要求代码 表 YD/T XXXXX2017 9 处置要求 代码见表 4。 表 4 处置要求代码 代码 处
23、置要求 备注 1 停止域名解析 需要企业执行停止域名解析操作。例 如 : 企业需要根据指令要求将其 所进行权威解析服务的网站域名: 进行停止解析服务操作。 999 其他 其它处置要求,详细处理办法请见 10.2处理指令的“处置要求说明” 字段。 9.3 处置指令类型代码 表 处置指令类型 代码见表 5。 表 5 处置指令类型 代码 指令类型 处置时效 备注 1 常规指令 24小时内 需要企业 24小时内完成处置要求。 2 应急指令 30分钟内 需要企业 30分钟内完成处置要求。 10 数据交换内容 描述 10.1 数据格式及匹配 要求 所有指令文件、 消息的数据内容均采用 UTF-8 编码格式
24、。 没有数据类型说明的数据节点 /子节点均为字符串类型,其长度属性表示最大长度,实际数据不 足最大长度的不应进行补位处理。各节点 /子节点长度单位为字节。 所有时间字段 节点描述的时间均采用 yyyy-MM-ddHH:mm:ss 格式。 符合本部分所规定要求的接口指令文件、上报记录、消息等均标记为第一版,即 “version”节点 (名称为 “版本标记 ”,类型为字符串, 长度 4 字节)内容均为 “v1.0”。 YD/T XXXXX2017 10 部省系统和企业侧系统对数据内容采用精确匹配的方式进行校验。 10.2 监管指令 内容 部省系统生成的互联网基础资源监管 指令数据内容如表 6 所示
25、。 表 6 互联网基础资源监管指令格式及描述 编号 节点 节点名称 必填 数据类型 长度(字节) 描述 1. sn 业务流水号 必填 字符串 128 由部省系统生成,生成规则: enterpriseId+Unix 时间戳(秒) + 自增序列 例如 : enterpriseId 为 10001 时间 戳 为 : 7654321098 自增序列当前 为 1, 则 sn 为 : 1000176543210981 2. type 管理指令 类型 必填 整型 / 管理指令的类型: 1常规指令( 24 小时内处理 完成); 2应急指令( 30 分钟内处理 完成) 3. objectType 处置对象 类型
26、 必填 整型 / 处置对象类型代码表, 见 9.1 4. object 处置对象 必填 字符串 128 具体的处置域名 5. rule 处置要求 必填 整型 / 处置要求代码, 见 9.2。 6. ruleRemark 处置要求说明 必填 字符串 512 处置要求的相关说明。当处置要 求代码为“其他( 999) ”时,处 理的要求请见此字段的详细内容 。 7. reason 处置 原因 必填 字符串 128 用于说明处置的原因 8. attachment 相关附件 选填 数据结构 / 处置相关批文,可包含多个,见 表 7 9. effectiveDate 生效时间 必填 字符串 19 指令开始
27、生效时间, 采用 yyyy- MM-ddHH:mm:ss 格式 10. contacts 联系人 /联系电话 必填 字符串 256 指令下发相关联系人和联系电话 YD/T XXXXX2017 11 11. generateTime 生成时间 必填 字符串 19 生成该指令的时间 12. remark 备注 选填 字符串 512 备注说明 表 7 处置相关附件 编号 节点 节点名称 子节点 子节点名称 必填 数据类型 长度(字节) 描述 1 fileType 文件类型 / / 必填 字符串 16 处置文件的类型: 1- doc 2- docx 3- jpg 4- png 5- bmp 2 fil
28、e 文件内容 / / 必填 字符串 4096 处置文件 的 Base64 编码内容 企业进行 Base64 解码后得到 二进制数据 , 按照 “文件类型 ” 保存为对应文件后缀即可查 看。 3 remark 备注 / / 必填 字符串 256 备注信息 10.3 监管恢复指令 内容 部省系统生成的互联网基础资源监管指令恢复 数据内容如表 8 所示。 表 8 监管指令恢复格式及描述 编号 节点 节点名称 必填 数据类型 长度(字节) 描述 1. commandSn 监管指令流水号 必填 字符串 128 由 command方法接收的监管指令 流水号, 对应为表 6 中的指令流 水号字段 2. ob
29、ject 处置对象 必填 字符串 128 具体的处置域名 3. contacts 联系人 /联系电话 必填 字符串 256 恢复指令下发相关联系人和联系 电话 YD/T XXXXX2017 12 4. generateTime 生成时间 必填 字符串 19 生成该指令的时间 5. remark 备注 选填 字符串 512 备注说明 10.4 指令执行情况上报 内容 企业侧系统生成的指令处理情况上报数据内容如表 9 所示。 表 9 指令处理情况上报文件格式描述 编号 节点 节点名称 必填 数据类型 长度(字节) 描述 1. commandSn 监管指令流水号 必填 字符串 128 由 comma
30、nd方法接收的监管指令 流水号, 对应为表 6 中的指令流 水号字段 2. resultCode 处理 结果 代码 必填 整型 / 处理结果代码 1已处理; 2未处理; 3. generateTime 生成时间 必填 字符串 19 生成该指令的时间 4. remark 备注 选填 字符串 512 备注说明 10.5 接口返回文件 内容 command 方法返回数据结构, 如表 10 所示。 表 10 command 方法调用返回文件 数据格式 编号 节点 字段 必填 数据类型 长度(字节) 描述 1 code 错误代码 必填 整型 / 200 接收成功 500 接收失败 2 message 返
31、回信息 必填 字符串 128 描述错误原因 command_reply 方法返回数据结构, 如表 11 所示。 表 11 command 方法调用返回文件 数据格式 编号 节点 字段 必填 数据类型 长度(字节) 描述 YD/T XXXXX2017 13 1 code 错误代码 必填 整型 / 200 成功 501 参数错误 502 身份认证失败 503 无效的企业 504 没找到企业证书 505 部省系统证书错误 506 企业证书解密失败 507 验证签名异常 508 结果 xml 格式错误 509 随机数已经被使用过 510 系统内部错误 511 解密失败 512AES 密码格式错误 2 message 返回信息 必填 字符串 128 代码中文解释 3 remark 备注 选填 字符串 128 对错误信息的描述 _