|
|
|
联系客服020-83701501

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

联系在线客服,可以获得免费在线咨询服务。 QQ咨询 我要预约

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

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

  Android 9.0默认阻止HTTP流量

  安卓9.0将通过网络安全配置(Network Security Configuration)中的默认设置阻止应用程序中的HTTP流量。网络安全配置(Network Security Configuration)是安卓N版本中引入的一项安全功能,它允许安卓开发者在不修改应用程序代码的情况下自定义网络安全设置,并且可以允许或禁止特定域名或整个应用程序的HTTP流量。

  当应用程序包含不安全的NSC配置时(如允许所有域名存在未加密的连接或在调试模式之外接受用户提供的证书),最新版本的Android Studio和Google Play将在其预发布报告中警告开发人员,以确保开发人员了解其安全配置,并在整个安卓生态系统中鼓励采用HTTPS加密。

  苹果iOS ATS强制HTTPS加密

  苹果iOS和macOS也有类似的功能,叫做App Transport Security(ATS)。当ATS启用时,它将屏蔽明文HTTP资源加载,强制应用程序通过HTTPS连接到网络服务,并通过传输加密保护用户数据安全。尽管苹果延长了最后期限,给开发者更多时间准备,但使用HTTPS加密移动APP的连接是一个必然趋势。

  HTTPS如何保护APP?

  对于安卓9和更高版本的应用程序,默认情况下传输的所有网络流量都是加密的,只有安卓CA标准列表里的机构签发的证书是可信的。只有提供精心设置的例外声明文件,APP才能提供HTTP明文传输。

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

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

  建议所有安卓开发人员升级应用程序的https加密,以避免应用程序连接不可用,因为默认情况下会阻止HTTP流量。

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

  当用户通过浏览器访问网站时,使用HTTPS的网页将显示安全锁标识,以让用户知道正在访问的网页的连接是安全的。然而,在移动应用中,网络连接的安全性并不那么透明,用户很难知道APP在连接到网络时使用的是HTTP还是HTTPS。

数安新闻+更多

证书相关+更多