移动解析 HTTPDNS 加密指引

使用 DES、AES 加密算法可以对请求参数进行加密,并对其响应数据解密,防止明文请求在传输过程中被恶意篡改。这篇将指导你如何使用 DES、AES 加密算法。

相关产品
移动解析 HTTPDNS 产品页,含版本规格、价格与购买入口。

一、操作场景

注意:说明:

注意:使用 HTTPS 请求方式查询,传输的数据会因为 TLS 通道而被加密保护,因此不需要主动对传入的数据额外加密。

二、前提条件

·已开通移动解析 HTTPDNS 并已获取授权 ID 和加密密钥及 HTTPS Token 等配置信息。详情可参见 配置信息说明。

·已在移动解析 HTTPDNS 控制台添加需要查询的域名。详情可参见 添加域名。

三、操作流程

步骤1:确定加密方式。

目前移动解析 HTTPDNS,HTTP 请求查询方式支持 DES、AES 两种加密方式。

注意:说明:

步骤2:发送加密的请求。

步骤3:接收加密的应答。

步骤4:将结果解密,即可获得所查询的域名对应的解析结果。

四、DES 算法

注意:说明:

注意:使用 DES 进行加密与解密,密码长度为8个字符,分组加密模式为 ECB,Padding 算法是 PKCS5Padding 。

加密后数据使用 Hex(Base16) 编码,将二进制数据转换为可见十六进制字符标识,Hex 编码后的数据长度将会加倍。具体流程如下:


解密响应数据,先使用 Hex 解码为二进制数据,再使用 DES 算法解密为明文数据。具体流程如下:


例如:你的域名为 www.dnspod.cn、加密密钥为:dnspodpa。流程如下:

1. 在 HTTPDNS 控制台 添加域名。

2. 使用 DES-ECB-PKCS5 加密算法与 DES 加密密钥dnspodpa 加密域名将得到加密字符串 87ae992c1321f299da3c0210a9900ae7。

3. 使用接口 curl "http://119.29.29.98/d?dn=87ae992c1321f299da3c0210a9900ae7&id={授权ID}" 请求 A 记录将得到数据长度加倍的加密字符串,如:fb37fabc98a2f71fca87f9cb259f74a03cc2254f80219f520a6fd36d0ad3eb4380be921f7a491fa4e4d84824286fec3df7d615b5e337b2ecf789bbb6db97e9df5533cefd5c41fb7503c0e8fa99cf0c20

4. 得到加倍的加密字符串后,使用 DES-ECB-PKCS5 加密算法与 DES 加密密钥dnspodpa 进行解密后将得到明文的信息 :117.148.128.189;36.150.211.79;111.48.99.206;112.30.175.208;117.163.48.119。

注意:说明:

注意:以上字符串仅做示例使用,用于正常请求将无法使用。

五、AES 算法

注意:说明:

注意:使用 AES 进行加密与解密,密钥长度为16个字符,分组加密模式为 CBC,Padding 算法是PKCS7Padding 。

CBC 模式要求使用随机化 IV 作为初始加密与解密输入,因此该 IV 也会被带入到请求和响应中。加密后的数据,连同 IV 一起使用 Hex 编码,转换为可见十六进制标识。具体流程如下:

解密时,使用 Hex 解码为二进制数据,前16字节为 IV 值,IV 后面为待使用 AES 算法解密的数据。使用 AES 算法解密后即为明文数据。具体流程如下:

例如:你的域名为 www.dnspod.cn、加密密钥为:dnspodaespasswrd。流程如下:

1. 在 HTTPDNS 控制台 添加域名。

2. 使用 AES-CBC-PKCS7 加密算法与 AES 加密密钥dnspodaespasswrd 、初始化的IV值:68058d1967c6c8c9aa734dfc8a18ead9加密域名将得到加密字符串 。

3. 使用接口 curl "http://119.29.29.98/d?dn=68058d1967c6c8c9aa734dfc8a18ead97a23bf3e8f011f6509a37ed2b25a1192&id={授权ID}&alg=aes" 请求 A 记录将得到加密字符串,如:f689db945693bde440729ec30fb3824c739838a72a30777b123dd1b8e0bb89de4c57d546e74f96ceab2664c3bb68485024339ad198675ac59e2cb5b60e726eb234609ac1c7c0925449f3f505f22104e48de7b2ee19aede451b09691c6826bea3

4. 提取前16字节的 IV 值得到f689db945693bde440729ec30fb3824c,剩下的加密字符串为739838a72a30777b123dd1b8e0bb89de4c57d546e74f96ceab2664c3bb68485024339ad198675ac59e2cb5b60e726eb234609ac1c7c0925449f3f505f22104e48de7b2ee19aede451b09691c6826bea3,使用 AES-CBC-PKCS7 加密算法与 AES 加密密钥dnspodaespasswrd 、IV值:f689db945693bde440729ec30fb3824c进行解密后将得到明文的信息 112.30.175.208;117.148.128.189;117.163.48.119;36.150.211.79;111.48.99.206。

赞 (0)
上一篇 4天前
下一篇 4天前