APP调用微信接口针对AppID、AppSecret泄露的安全方案设计

针对AppID、AppSecret账号信息泄露的情况,设计的安全方案。其实前后端交互都可以做参考,尤其是有App客户端的情况下,如果是直接把重要的账号信息直接放到使用者设备上,是非常危险的。

一、安全隐患起因
AppID、AppSecret是什么
AppID:开发者ID是公众号开发识别码,配合开发者密码可调用公众号的接口能力。
AppSecret:开发者密码是校验公众号开发者身份的密码,具有极高的安全性。
AppSecret就像门的一把钥匙,如果钥匙丢失或者让其他人获取到,哪是极度不安全的,所以AppSecret的安全性在微信对接的过程中非常重要,避免直接在客户端存储及显示。
二、安全方案设计
客户端跟后端交互流程

APP调用微信接口针对AppID、AppSecret泄露的安全方案设计

流程描述
App客户端是安装在使用者设备上,所以Android、iPhone安装包中不能包含敏感信息,比如AppID、AppSecret账号信息,安全性需要提高,主要是设计思路是敏感信息保存到服务端,并且存储的时候采用加密后存储,这样即使数据库泄露,敏感信息还是安全的,同时在Java后端服务中处理加密解密过程
具体业务使用流程,App客户端需要用到AppID、AppSecret跟微信交互的时候,通过Api跟Java后端服务交互,获取AppID、AppSecret信息,Java后端服务收到App客户端的请求后,从数据库获取加密后的AppID、AppSecret等敏感信息,同时进行解密过程,最后把解密后的敏感信息返回给App客户端,App客户端收到AppID、AppSecret后再结合其它业务数据,形成跟微信交互的数据包,然后通过API跟微信开放服务平台交互,进行业务处理。
App客户端跟Java后端服务API对接建议采用HTTPS协议
主要节点说明
Android客户端、iPhone客户端:是安装到使用者终端的程序包,只需要实现业务功能就好,不要存放敏感信息
是否需要AppID、AppSecret:客户端在进行业务处理时,是否需要AppID、AppSecret等敏感信息,如果需要则需要通过API与Java后端服务对接,如果不需要则自己处理即可
Java后端服务:负责处理客户端的请求,及从数据库中获取信息,其中涉及到敏感信息时,需要进行对称加密,存储时进行加密处理,返回时进行解密处理
后端加密存储:主要是数据库存储系统数据,但敏感信息需要存储加密后的数据
其它
终端程序跟Java后端服务建议采用HTTPS协议
修改或者关闭服务器端所在的服务器常用开放端口
数据库修改默认端口号
如果有中间件,则修改默认端口及增加认证机制

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至22018681@qq.com 举报,一经查实,本站将立刻删除。

Like (0)
Donate 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
森林服务号的头像森林服务号
Previous 2022年4月9日 下午11:04
Next 2022年4月10日 上午7:58

相关推荐

发表回复

Please Login to Comment