首页 > 其他分享 >APP调用微信接口安全方案设计

APP调用微信接口安全方案设计

时间:2022-10-24 13:34:06浏览次数:50  
标签:方案设计 Java 微信 APP 信息 AppSecret AppID App 客户端

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

一、安全隐患起因

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

主要分享低代码、微服务、容器化、SAAS‬、系统架构方面的的‬内容‬‬,希望‬大家‬点赞‬,评论,关注‬。

二、安全方案设计

  • 客户端跟后端交互流程

APP调用微信接口安全方案设计_数据库

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

主要分享低代码、微服务、容器化、SAAS‬、系统架构方面的的‬内容‬‬,希望‬大家‬点赞‬,评论,关注‬。

喜欢的朋友欢迎转发、关注~

标签:方案设计,Java,微信,APP,信息,AppSecret,AppID,App,客户端
From: https://blog.51cto.com/sharepointchina/5789506

相关文章