搭建开放平台的核心是开放平台的业务能力,能够让第三方接入平台中。开放平台的设计一般涉及到交互协议、数据安全、平台测和商户测的平台开放的核心业务流程、平台接口设计四个主要环节。
1、交互协议安全设计规则:
商户测调用平台安全保障:
1.1 商户测调用平台时平台控制商户的调用,会通过IP限定的方式,商户提前将服务器IP地址加入平台的白名单中。
1.2 商户测根据平台测提供的账户ID和账户密钥获取调用的token进行接口调用
平台测调用商户测安全保障:
2.1一般而言都是平台主导安全机制,因此平台测调用商户测的时候是直接调用商户测的接口,通过接口内容加密【比如采用AES对称加密算法】的方式传输内容给商户。商户使用密钥对报文进行解密。
通讯协议安全保障:
在常规网络环境下http协议存在dns劫持、数据被窃取、数据被篡改、运营商广告插入等安全风险,因此如果我们系统的业务场景是涉及敏感重要数据的时候应当采取https协议。
2、数据安全设计:
数据加密一般用于对数据安全有一定要求的场景,特别像支付、特别重要信息才需要采取加密。最终提交的参数内容一般包含最后的签名sign和签名方式signType。
商户测和平台交互内容加密:将参数通过算法进行加密防止商户测提交的参数是伪造的,具体加密算法
比如:微信选择是先将参数按照key=value的格式进行ASCII字典序排序,然后在后面加上在平台设置的密钥。然后进行MD5加密。再将MD5加密结果采用HMAC-SHA256算法和使用在平台设置的密钥将进行签名。最终提交的参数是原始参数和签名数据进行提交。提交给平台后平台再进行解析。
商户测和平台交互内容解密:拿到请求参数时,解析出签名方式,