热更新机制

JSPatch安全问题

JSPatch通过下发JS脚本文件对app进行修复或更新,经过刚才的分析,JS脚本的权限是很大的,如果在下发传输过程中文件被第三方截获,修改了脚本内容,那么对app以及用户数据可能会造成致命的伤害。因此,必须制定一个安全可靠的方案保证JSPatch热修复的脚本文件传输的安全。

毫无疑问,要对脚本文件进行加密,大致有3套方案:

  1. 对称加密。服务器端和客户端保存一把相同的私钥,下发脚本文件前先对文件进行加密,客户端拿到脚本文件后用相同的私钥解密。这种方案弊端很明显,密钥保存在客户端,一旦客户端被破解,密钥就泄露了。
  2. https传输。这种方案安全可靠,但是成本较大,需要部署服务器,购买证书,对于一个小型的app来说门槛较高,当然如果不介意成本那么这种方案是非常安全的。
  3. RSA签名验证。借助于RSA非对称加密,这种方案在保证安全性的同时,门槛低,成本小,通用性强,对客户端和服务端都没什么特殊要求。

RSA签名验证整体流程如下:


服务器端:

  1. 对要下发的脚本文件计算MD5值
  2. 用服务器私钥对MD5值进行加密
  3. 将脚本文件和加密后的MD5值下发给客户端

客户端:

  1. 用服务器端公钥解密加密过的MD5值
  2. 对接收的脚本文件计算MD5值
  3. 将解密出来的MD5与新计算出来的MD5进行比对校验,若校验通过,则表明脚本在传输过程中没有被篡改。

作者针对RSA这套安全方案,制作了相关组件JPLoader,客户端可以直接集成。同时也开放了一个管理下发脚本文件的平台JSPatch平台,可以直接使用这个平台进行脚本下发及版本的管理,但是该平台提供的服务是按照请求量收费的。

参考链接: http://blog.csdn.net/Lotheve/article/details/53495073
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值