因为小程序端业务的特殊性,最接经常被黄牛党薅羊毛,导致正常消费者的权益受到影响,我想在小程序端对请求的数据进行RSA签名和AES加密后再发起请求,问题是在签名使用的私钥与加密使用的key与iv以什么样的方式存放到客户端比较好呢,目的是为了私钥与key完全不透明,通过抓包与反编译小程序均无法看到这两个东西,目前有两种思路:
1、通过授权登录接口下发私钥与key;
2、通过提审小程序时的第三方ext_json文件储存
第一种方式明显对于黑客而言私钥与key是暴露的,不知道微信的第三方ext_json文件是什么样的机制,通过这种方式下发私钥能否被黑客获取到。另外除此之外,是否还有其他更安全的方式下发私钥呢。
有没有知道第三方ext_json文件原理的同学呢,通过这个文件下发的密钥能否通过反编译手段看到呢
思考过一些方式,个人认为,最好是在发起请求时由小程序框架本身在header中增加一个token,该token可通过小程序的appsecret在后台解密校验,从而防止请求伪造
补充:token本身可含有有效期,可以在一定程度上防止重放攻击