解决方案之APP互相唤起办理业务并保证数据安全交互机制

手机APP/开发
314
0
0
2022-04-05
场景:A系统的业务流转到B系统,去B系统进行办理业务。

APP唤起交互已经是APP应用变多以后的必经之路,两个APP为了避免用户来回手动切换操作,就会用APP内自动唤起另一个APP。


解决方案之APP互相唤起办理业务并保证数据安全交互机制

APP唤起方案

安卓与IOS平台通过URL schema进行唤起

android与IOS中的schema是一种APP内跳转协议,是一种非常好的实现机制,通过定义注册的scheme地址,可以非常方便跳转app中的各个页面;通过scheme协议,服务器可以定制化告诉App跳转那个页面,可以通过通知栏消息定制化跳转页面,可以通过H5页面跳转页面等,同时也能实现APP间互相唤起的调用。

被唤起方后台数据校验

被唤起方作为功能提供方,需要实现一套安全机制,防止被盗用。

  • 系统表:唤起方系统标识、校验地址、token、回调地址、有效开始时间、有效结束时间
  • 功能表:功能标识、功能地址、是否需要登录
  • 系统功能表:系统标识、功能标识、有效开始时间、有效结束时间
  • 流程:APP接收到唤起参数后,发送请求数据到后台,后台通过token以及系统ID对应的校验地址,去请求唤起端的后台,进行校验,校验通过后把需要的参数返回,返回后判断是否需要登录,如需登录,做无密码登录并返回对应的登录信息和功能连接,待任务结束后,做回调到唤起端。

唤起方后台数据提供

  • 系统表:唤起方系统标识、token
  • 请求表:token、返回数据
  • 流程:唤起方在需要唤起时,生成请求唯一token,并存入数据库,待对端请求过来验证时,把token对应的返回数据进行加密发送给对端;对端生产完后,把对应的token和订单信息进行回调。

总结,由于是C/S模式,所以服务端之间采用了对称的AES加密模式,这种机制在保证业务办理顺利的同时,更好的保证了APP间的安全性。

为什么使用AES?

对称加密推荐使用AES,AES作为高级加密标准是美国联邦政府区块加密的标准,初期AES效率比3DES慢,但是自从2010年后intel CPU已经支持AES-NI指令,这个指令的支持大幅度提升了AES的加密速度,官方宣称提速2到3倍,实际测试过程中关闭指令和打开指令速度会相差6倍左右