合规安全大考核:移动应用安全策略全盘点( 二 )


优势:通过无线保镖机制 , 保证了内置在客户端内的appSecret的安全性 。
合规安全大考核:移动应用安全策略全盘点
文章图片

文章图片
整体流程:通过openssl生成非对称秘钥 , 客户端保存公钥 , 服务端报错私钥;客户端每次请求RPC都会生成一个新的对称秘钥 , 通过第一步生成的非对称秘钥进行加密 , 生成SecKey;客户端使用对称密钥同时对原始数据进行加密 , 得到加密的数据SecData;移动网关通过保存的私钥对SecKey进行解密得到对称密钥;通过上一步得到的对称秘钥 , 对加密数据SecData进行解密 , 得到原始数据 。
优势:RPC的加密采用了混合加密的模式 , 使用了非对称加密和对称加密的组合 。如果单纯使用对称秘钥 , 虽然性能较好 , 但是保证不了足够的安全性 。如果单独使用非对称加密 , 虽然保证了安全性 , 但是会导致性能变差 , 不适合RPC这种大量通信的场景 。
所以RPC采取的这种混合加密模式 , 很好的结合了两者的优点 。
在客户端端为了防止数据被抓包软件抓到 , 客户端进行了防止抓包的设置 , 通过设置网络库禁止代理的方式 , 解决了被抓包的风险 。代码如下:
合规安全大考核:移动应用安全策略全盘点
文章图片

文章图片
作为业务使用很多的离线模块 , 为了保证下发到本地的离线包模块没有被篡改 , 离线包提供了签名校验机制 。
整体流程:提前通过openssl生成公钥和私钥 , 公钥内置在客户端内 , 私钥存储到服务端;离线包打包的时候 , 服务端对当前离线包的文件做MD5计算 , 然后将计算后的值通过非对称秘钥进行加密生成加密后的签名数据 , 随离线包下发到客户端;客户端每次打开离线包的时候 , 通过客户端内的公钥获取下发的MD5和本地的离线包文件做MD5对比 , 如果一致 , 则校验通过 , 如果不一致 , 则删除离线包 , 直接访问fallback资源 。
优势:由于是每次打开离线包都做校验 , 保证了离线包的来源正确和不被篡改;校验失败后直接降级到fallback地址 , 减少对客户使用的影响
MDS实时发布服务提供了apk的发布功能 , 同时为了保证下载的apk文件不被篡改 , 提供了基于MD5的完整性校验 。
在上传apk的时候 , 会基于当前的apk生成MD5下发 , 本地安装的时候本地下载文件的MD5和会和服务端下发的MD5做匹配 , 如果匹配成功才会继续安装 。
服务端下发的MD5字段如下图所示:
合规安全大考核:移动应用安全策略全盘点
文章图片

文章图片
移动同步服务Sync是基于TCP进行通信的 , 为了保证安全 , Sync可以配置为TCP+SSL模式进行通信 。
当指定Sync的端口号为433端口后 , 客户端就会开始基于TCP+SSL实现长连接 , 长连接请求到服务端后 , 需要通过F5或者其他类似负载装置完成SSL卸载 , 最后到MSS实现长连接 。
整体流程如下图所示:
合规安全大考核:移动应用安全策略全盘点
文章图片

文章图片
随着移动应用的迅猛发展 , 用户对于移动应用涉及到的隐私问题、安全问题日益关注 。
【合规安全大考核:移动应用安全策略全盘点】移动应用涵盖用户大量个人数据 , 一旦发生泄漏可能对个人、社会造成重大影响 , 同时对移动应用产业长远的发展来说也是毁灭性打击 。