售前咨询
技术支持
渠道合作

安卓系统默认阻止HTTP流量,HTTPS如何保护APP?

安卓系统2019年11月1日起,要求所有APP都必须默认阻止所有域名的HTTP流量,包括程序更新和所有Google Play上的新应用程序,确保通过TLS协议保护进入或离开Android设备的所有网络流量。这将适用于所有面向Android 9.0的应用程序,任何需要HTTP连接的内容必须提交特殊声明。

Android 9.0默认阻止HTTP流量

Android 9.0将通过网络安全配置(Network Security Configuration)中的默认设置阻止APP中HTTP流量。网络安全配置(Network Security Configuration)是安卓N版本开始引入的一种安全功能,可以允许安卓开发者们在无需修改App代码的情况下自定义网络安全设置,可以允许或禁止特定域名或整个APP的HTTP流量。当APP包含不安全的NSC配置时(比如允许所有域名存在未加密连接,或在调试模式之外接受用户提供的证书),最新版本的Android Studio和Google Play会在发布前的报告中警告开发人员,确保开发人员了解其安全配置,鼓励整个安卓生态系统采用HTTPS加密。

苹果iOS ATS强制HTTPS加密

苹果iOS和macOS上也有类似功能,称为App Transport Security(ATS)。启用ATS后,它会屏蔽明文HTTP资源加载,强制App通过HTTPS连接网络服务,通过传输加密保障用户数据安全。虽然苹果延长了最后期限,给开发者更多时间做好准备,但在移动APP中使用HTTPS加密连接是必然趋势。

HTTPS如何保护APP?

对于针对安卓9及更高版本的APP,默认对所有传输中的网络流量进行加密,并且仅信任安卓CA标准列表里的机构签发的证书。只有提供精心设置的例外声明文件,APP才能提供HTTP明文传输。

如果APP需要允许流量指向特定域名,可以通过添加一个NSC文件来做到这一点,该文件在默认安全策略中仅包含这些例外情况。请记住 你应该对不安全连接接收的数据保持警惕,他极有可能在传输过程中遭遇篡改。

如果app出于测试目的需要接受用户安装的证书(例如,在测试期间连接到本地服务器),请通过代码设置仅在调试模式下允许,确保APP生产版本中的连接是安全的。

建议,所有安卓开发者为APP升级HTTPS加密,避免因默认阻止http流量导致应用程序连接不可用。

相比于通信方身份和数据完整性无法验证的HTTP协议,HTTPS是一个基于HTTP的安全通信通道,它运用安全套接字层(SSL)进行信息交换,具有身份验证、信息加密和完整性校验的功能,可以保证传输数据的机密性和完整性,乃至服务器身份的真实性,进而有效避免HTTP被劫持的问题。

用户通过浏览器访问网站时,使用HTTPS的网页会显示醒目的安全锁标识,让用户知道正在访问的网页连接安全。但是在移动应用上,网络连接的安全性就没有那么透明了,用户很难知道APP连接网络时使用的是HTTP还是HTTPS。

声明:本网站发布的图片均以转载为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。本站原创内容未经允许不得转载,或转载时需注明出处:GDCA数安时代

上一篇:

下一篇:

相关新闻