共计 2358 个字符,预计需要花费 6 分钟才能阅读完成。
简介:mPaas 上线利用检测
1. 背景
随着越来越多的金融行业基于 mPaas[1] 搭建并上线新的 App,App 的上线品质也成为各个客户关注的重点。上线前检测哪些项目,如何检测,检测数据指标包含哪些成为咱们思考的次要方向。借着上次去 XX 农信客户去做线上性能检测,加上之前多个 mPaas 历史我的项目踩过的坑,将 App 上线前 mPaas 相干检测内容整顿积淀如下。
2. 检测方向
2.1 安全性
2.1.1 RPC 是否开启国密加密
对应金融性质的 App 来说,数据通信平安至关重要,mPaas 曾经反对 ECC、RSA 和国密(SM2)三种形式,
在金融行业 App 内倡议开启加密配置为 SM2 国密加密,满足行业监管要求。配置能够参考文档 [2]。
2.1.2 离线包是否开启验签
图 1
为了保障下发到本地离线包的安全性,mPaas 提供了离线包验签机制,保障了离线包的安全性。整体示意图如上所示,用户设置流程如下:
- 开发者配置好一对公私钥,私钥放在服务端用于对离线包签名,公钥放在客户端,用于对签名对验证。
- 在离线包公布平台,如果配置了签名私钥,平台下发的 amr 文件就会带上签名信息(通过私钥对离线包的 hash 值加密后失去的密文)。
- 客户端在拿到 amr 包并解压后,客户端会应用在我的项目中预置的公钥进行签名的验证(解密上一步的密文失去一个 hash 值,同时本地计算离线包的 hash 值,判断两者是否雷同),如果雷同则通过验证。
- 如果签名校验失败,则删除离线包走 fallback 地址。
通过离线包的验签机制,能够达到以下的目标:
- 保障了离线包的内容残缺,解决解压异样,读取异样下的失常显示。
- 保障了离线包的起源正确,不被本地歹意篡改。
2.1.3 userId 信息是否设置正确
因为 userId 会被后续用到很多中央,比方推送,白名单。所以个别倡议抉择服务端的 userId 字段作为存储字段,不便后续和服务端做 userId 字段同步,不倡议存储集体手机号或者身份证等个人信息作为 userId。
2.1.4 埋点信息是否蕴含敏感信息,比方交易单号
思考到埋点的量级很大,所以 mPaas 的埋点默认本地是没有做数据加密的,所以埋点信息不倡议蕴含敏感字段,避免因为埋点导致信息透露。敏感字段倡议走 RPC 的数据通道上报,保障数据安全。如果有埋点埋敏感字段的诉求,须要被动开启埋点的本地加密配置。
2.1.5 隐衷权限配置
因为当初监管机构对隐衷权限管控比拟严格,mPaas 针对权限管控做了对应的接入计划。须要须要确保上线前隐衷权限相干配置曾经失常接入。
2.2 稳定性
2.2.1 验证在 Android4.X 版本的是否能够失常应用
mPaas 最低反对 Android4.3 版本以上,所以公布前须要验证下低版本 Android 设施的可用性,遇到比拟多的是在 Android4.X 设施上因为多 dex 加载导致的类找不到导致的装置闪退问题。
2.2.2 iOS 符号表是否失常上传
公布前须要确保 iOS 的符号表曾经上传到 mPaas 后盾,不便后盾反解闪退信息。
2.2.3 热修复模块是否接入并且验证通过
公布前须要确保热修复模块的失常接入以及验证通过,保障上线有针对 Native 模块的热修复能力,保障异样场景下的修复能力。
2.2.4 离线包 Fallback 域名确认
确认 Fallback 域名是否是外网可拜访的地址,遇到过公布后下发的还是内网地址的 case。
2.2.5 离线包模块接入 CDN
上线前做好容量评估,默认 mPaas 的离线包是存储在 OSS 内的,然而个别倡议针对离线包模块接入 CDN,通过 CDN 的缓存性能解决因为离线包下载导致带宽打满的危险,同时绝对于 OSS 存储来说,CDN 的费用更低。接入示意图如下:
图 2
2.2.6 RPC 外围链路接口压测
上线前须要对 App 外围链路的 RPC 接口做性能压测,获取接口性能瓶颈,能够用做后续的限流值的设定参考。同时须要针对 RPC 限流场景做演练,避免上线限流后客户端呈现各种异样。
2.2.7 公布更新性能可用
上线前须要验证公布 apk 性能可用,包含公布更新的强制更新性能,保障在极其场景下,须要强制降级应用。
2.3 性能体验
2.3.1 离线包离线性能是否失常失效
确保离线包的离线性能失常应用,避免因为离线包各种配置问题导致离线性能不失效。
2.3.2 UC 内核是否失常接入
确保 UC 内核正确配置接入,次要解决零碎 Webview 下的各种兼容性问题。同时 UC 提供了很好的稳定性,比零碎 webview 更稳固。
2.3.3 外围链路离线包是否预制
在公布前,须要预制外围链路离线包,保障外围链路在极其异样场景下依然能够关上。
参考文档
[1] 挪动开发平台 mPaaS:https://www.aliyun.com/product/mobilepaas/mpaas
[2] 数据加密:https://help.aliyun.com/document\_detail/72752.html?spm=a2c4g.11186623.6.732.6bb85ed3LyuYtO
咱们是阿里云智能寰球技术服务 -SRE 团队,咱们致力成为一个以技术为根底、面向服务、保障业务零碎高可用的工程师团队;提供业余、体系化的 SRE 服务,帮忙广大客户更好地应用云、基于云构建更加稳固牢靠的业务零碎,晋升业务稳定性。咱们冀望可能分享更多帮忙企业客户上云、用好云,让客户云上业务运行更加稳固牢靠的技术,您可用钉钉扫描下方二维码,退出阿里云 SRE 技术学院钉钉圈子,和更多云上人交换对于云平台的那些事。
版权申明: 本文内容由阿里云实名注册用户自发奉献,版权归原作者所有,阿里云开发者社区不领有其著作权,亦不承当相应法律责任。具体规定请查看《阿里云开发者社区用户服务协定》和《阿里云开发者社区知识产权爱护指引》。如果您发现本社区中有涉嫌剽窃的内容,填写侵权投诉表单进行举报,一经查实,本社区将立即删除涉嫌侵权内容。