HarmonyOS 应用安全管理

应用开发准备阶段

  1. 依据国家《移动互联网应用程序信息服务管理规定》,同时为了促进生态健康有序发展,保护应用开发者和用户的合法权益,需要每一位HarmonyOS开发者注册账号,并建议同步进行实名认证。实名认证包括个人开发者实名认证和企业开发者实名认证,没有完成实名认证的开发者,无法进行应用上架发布。

  2. 建议使用官方渠道下载的开发工具。

  3. 在发布HarmonyOS应用前,可以在本地进行应用调试。HarmonyOS通过数字证书和Profile文件对应用进行管控,只有经过签名的HAP才允许安装到设备上运行。具体请参考配置应用签名信息

应用开发调试阶段

编码安全

  • 避免在配置文件中开启应用备份和恢复开关。

  • 避免将敏感数据存放到剪贴板中。

  • 避免将敏感数据写入公共数据库、存储区中。

  • 对跨信任边界传入的Intent须进行合法性判断,防止应用异常崩溃。

  • 避免通过隐式方式进行调用组件,防止组件劫持。

  • 避免使用Socket方式进行本地通信,如需使用,localhost端口号随机生成,并对端口连接对象进行身份认证和鉴权。

  • 应用作为服务提供方需要校验服务使用方的身份和访问权限,防止非授权服务使用方进行身份仿冒或者权限绕过。

  • 避免通过隐式方式发送公共事件,防止公共事件携带的数据被劫持。

  • 建议使用Https代替Http进行通信,并对Https证书进行严格校验。

  • 对于涉及支付及高保密数据的应用,建议进行手机root环境监测。

  • 禁止应用执行热更新操作,应用更新可以通过应用市场上架来完成。

  • 涉及外部开源代码或代码漏洞的情况,须关注代码的安全动态和版本更新情况并及时修复。

  • 建议开启安全编译选项,增加应用分析逆向难度。

  • 建议应用在开发阶段进行自测试,具体请参考应用安全测试

权限使用

  • 应用申请的权限,都必须有明确、合理的使用场景和功能说明,确保用户能够清晰明了地知道申请权限的目的、场景、用途;禁止诱导、误导用户授权;应用使用权限必须与申请所述一致。

  • 应用权限申请遵循最小化原则,只申请业务功能所必要的权限,禁止申请不必要的权限。

  • 应用在首次启动时,避免频繁弹窗申请多个敏感权限;敏感权限须在用户使用对应业务功能时动态申请。

  • 用户拒绝授予某个权限时,与此权限无关的其他业务功能应能正常使用,不能影响应用的正常注册或登录。

  • 业务功能所需要的权限被用户拒绝且禁止后不再提示,当用户主动触发使用此业务功能或为实现业务功能所必须时,应用程序可通过界面内文字引导,让用户主动到“系统设置”中授权。

  • 非系统应用自定义权限名,禁止使用系统权限名前缀(如: 以ohos开头为系统权限),建议以应用包名或公司反域名为前缀,防止与系统或其他应用定义的权限重名。

有关于应用动态申请敏感权限的详细信息,请参阅动态申请权限

应用发布分发阶段

应用发布

应用调试完毕后,可以进行打包HarmonyOS应用,在AGC提交上架申请。为了确保HarmonyOS应用的完整性,确保提交应用的开发者身份合法,HarmonyOS通过数字证书和Profile文件对应用进行管控。上架到华为应用市场的APP必须通过签名才允许上架。因此,为了保证应用能够顺利发布,需要提前申请相应的发布证书与发布Profile

提交发布申请后,应用市场将对应用进行安全审核,包括权限、隐私、安全等,如果审核不通过则不能上架;应用发布成功后,华为应用市场会对上架应用进行重签名,原有的应用签名将被替换为新签名。


  • 使用社交账号登录,本站支持
全部评论(0)