鸿蒙应用安全编码专题系列之网络通信安全
头像 鸿蒙小助手 2026-05-25 14:42:29    发布
30 浏览 2 点赞 1 收藏

本原创文章帖发布在华为开发者联盟社区,欢迎开发者前往访问评论交流,更多与该内容相关讨论,请点击原帖查看:

鸿蒙应用安全编码专题文章汇总 | 华为开发者联盟


一、背景介绍

绝大多数鸿蒙应用均需与后端服务器开展数据交互,HTTPS作为当前主流的远程通信协议,其安全性核心依托于客户端对服务端证书链的校验机制、安全的TLS协议版本、密钥协商算法及加密套件选型,是保障数据传输机密性、完整性与真实性的核心基础。

当应用发起HTTPS请求时,在TLS握手协商阶段,客户端会调用系统预置的知名CA厂商根证书,对服务端返回的证书链进行完整性、合法性校验;校验通过后,双方完成密钥协商,后续所有通信内容均通过协商密钥进行加密传输。该校验与加密过程由鸿蒙系统提供的网络库(如

cke_495404.png

二、不安全配置及风险分析

不安全配置的风险与应用所使用的网络库直接相关,以下针对两种主流网络库的典型不安全配置及衍生风险展开详细说明,同时补充相关安全防护方案。

2.1 Remote Communication Kit 不安全配置

对于Remote Communication Kit,核心不安全配置为证书校验配置项设为“skip”(跳过证书校验),该配置会直接绕过服务端证书链的完整性与合法性校验,完全丧失HTTPS通信的身份认证基础,直接引入中间人攻击风险

cke_1542.png

参考:

cke_21069.png

2.3 衍生安全风险:用户导入CA证书带来的隐患

需明确的是,即便未配置上述“skip”不安全项,通信过程也并非绝对安全。鸿蒙官方提供的Remote Communication Kit与Network Kit,默认会同时信任系统自带的CA根证书及用户手动导入的根证书。基于此,用户可自行导入自签发根证书至系统,导致应用访问服务器时,默认信任该自签发证书。

该场景的安全风险相较于直接配置“skip”略低,因攻击者无法直接对受害者实施攻击(需诱导受害者安装攻击者控制的CA证书),但攻击者可在自身设备上安装恶意CA证书,窥探应用与服务器之间的全部通信过程,同时可对请求和响应数据进行篡改,进而实现薅羊毛、权限提升等恶意目的。

针对该隐患,鸿蒙系统提供了明确的解决方案,可通过配置禁止信任用户安装的CA证书,从根源上规避此类风险。

Network Kit和Remote Communication Kit配置不信任用户安装的CA证书:在src/main/resources/base/profile/network_config.json配置文件中进行配置。


{
  "network-security-config": {
    ... ...
  },
  "trust-global-user-ca": false,  //Configure whether to trust the CA certificate manually installed by the enterprise MDM system or device administrator. The default value is true
  "trust-current-user-ca": false  // Configure whether to trust the CA certificate installed by the current user. The default value is true
}

参考:网络连接安全配置-应用安全 - 华为HarmonyOS开发者

三、不安全的协议及加密套件风险

除证书校验环节外,TLS协议版本及加密套件的选型同样直接影响HTTPS通信安全。鸿蒙官方提供的Remote Communication Kit与Network Kit均支持对TLS协议版本及加密套件进行自定义配置,建议仅配置符合安全标准的协议及套件,杜绝使用不安全配置。

NetWork Kit配置方式参考:

@ohos.net.http (数据请求)-ArkTS API-Network Kit(网络服务)-网络-系统 - 华为HarmonyOS开发者

Remote Communication Kit 配置方式参考:

rcp-ArkTS API-Remote Communication Kit(远场通信服务)-网络-系统 - 华为HarmonyOS开发者

3.1 安全的TLS协议版本

推荐仅使用以下安全TLS协议版本:TLS 1.2、TLS 1.3,禁止使用TLS 1.1、TLS 1.0等存在已知安全漏洞的旧版本。

3.2 安全的加密套件

推荐使用的安全加密套件如下:

  • TLS_AES_128_GCM_SHA256
  • TLS_AES_256_GCM_SHA384
  • TLS_CHACHA20_POLY1305_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
  • TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256

注意:以TLS_RSA开头的加密套件采用静态RSA密钥交换,不支持前向保密(PFS),属于不安全套件;采用CBC模式的加密套件易遭受Lucky13、BEAST等攻击,同样禁止使用。

四、核心安全风险总结

1. 若配置“skip”证书校验:当用户连接至攻击者控制的WIFI或不安全网络时,攻击者可通过中间人攻击劫持HTTPS请求明文,对请求和响应内容进行任意篡改,导致数据泄露、财产损失等危害。

2. 若未配置“不信任用户安装的CA证书”:攻击者可通过在自身设备导入恶意CA证书,劫持应用与服务器的通信数据,篡改请求及响应内容,实现薅羊毛、权限提升、0元购等恶意目的。

五、安全建议

1. 严格禁止配置“skip”证书校验项,杜绝绕过服务端证书链校验的不安全配置,确保HTTPS通信的身份认证基础。

2. 生产环境版本必须配置“不信任用户安装的CA证书”,具体配置参考:网络连接安全配置-应用安全 - 华为HarmonyOS开发者

3. 规范配置TLS协议版本及加密套件,仅选用TLS 1.2、TLS 1.3及推荐的安全加密套件,禁止使用存在安全漏洞的协议及套件。

4. 对于安全性要求极高的场景(如金融、支付、核心数据传输等),需额外配置SSL Pinning(证书锁定),进一步强化通信安全,具体配置参考:网络连接安全配置-应用安全 - 华为HarmonyOS开发者

其他鸿蒙应用安全编码专题文章请参考:

https://developer.huawei.com/consumer/cn/blog//topic/03207416677214221?ha_source=zxqy-IT&ha_sourceId=89000468


©本站发布的所有内容,包括但不限于文字、图片、音频、视频、图表、标志、标识、广告、商标、商号、域名、软件、程序等,除特别标明外,均来源于网络或用户投稿,版权归原作者或原出处所有。我们致力于保护原作者版权,若涉及版权问题,请及时联系我们进行处理。
分类
HarmonyOS
头像

鸿蒙小助手

致力于为鸿蒙开发者谋福利

1059

帖子

7

提问

13569

粉丝

关注
最新发布
热门推荐
地址:北京市朝阳区北三环东路三元桥曙光西里甲1号第三置业A座1508室 商务内容合作QQ:2291221 电话:13391790444或(010)62178877
版权所有:电脑商情信息服务集团 北京赢邦策略咨询有限责任公司
声明:本媒体部分图片、文章来源于网络,版权归原作者所有,我司致力于保护作者版权,如有侵权,请与我司联系删除

京ICP备:2022009079号-2

京公网安备:11010502051901号

ICP证:京B2-20230255