返回

App Transport Security (ATS):确保移动应用连接的安全性

IOS

移动应用无处不在,它们已成为我们日常生活不可或缺的一部分。随着越来越多的个人和敏感信息通过移动应用传输,确保这些连接的安全至关重要。这就是 App Transport Security (ATS) 的用武之地。

ATS 简介

ATS 是 Apple 在 iOS 9 中引入的一项安全功能,旨在强制实施移动应用与网络服务器之间的安全连接。在默认情况下,所有新应用都会启用 ATS,这意味着它们只能与使用安全协议(例如 HTTPS)的服务器进行通信。

ATS 如何运作

ATS 通过以下方式确保连接安全:

  • 强制使用 HTTPS: HTTPS(超文本传输协议安全)是一种加密协议,可保护数据在传输过程中免遭窃听或篡改。ATS 要求所有网络请求都使用 HTTPS,从而有效地阻止了不安全的 HTTP 连接。
  • 证书验证: ATS 还验证网络服务器的 SSL/TLS 证书以确保其有效且可信。如果证书无效或不受信任,ATS 将阻止连接。
  • 证书固定: 对于某些应用,ATS 可以强制实施证书固定,这意味着应用只能与具有特定已知证书的服务器建立连接。这提供了额外的安全层,防止中间人攻击。

为什么 ATS 很重要

ATS 是移动应用安全的关键组成部分,因为它提供了以下好处:

  • 保护用户数据: 通过强制使用 HTTPS,ATS 有助于保护用户数据(例如个人信息、财务信息和密码)免遭窃听或篡改。
  • 提高应用安全性: ATS 有助于防止中间人攻击,其中攻击者会拦截通信并冒充合法服务器。
  • 遵守法规: 许多行业法规,例如支付卡行业数据安全标准 (PCI DSS),要求企业使用安全协议(例如 HTTPS)来保护敏感数据。ATS 使应用更容易符合这些法规。

禁用 ATS

在某些情况下,您可能需要禁用 ATS。例如,如果您需要与不支持 HTTPS 的服务器通信。要禁用 ATS,您需要在应用的 Info.plist 文件中添加以下行:

<key>NSAppTransportSecurity</key>
<dict>
  <key>NSAllowsArbitraryLoads</key>
  <true/>
</dict>

最佳实践

要充分利用 ATS,请遵循以下最佳实践:

  • 始终使用 HTTPS: 确保您的所有网络请求都使用 HTTPS。
  • 使用有效的证书: 获取并安装来自受信任证书颁发机构的有效 SSL/TLS 证书。
  • 考虑证书固定: 对于高度敏感的应用,考虑实施证书固定以提供额外的安全层。
  • 遵循 ATS 文档: Apple 提供了全面的 ATS 文档,可帮助您正确配置您的应用。

ATS 和 Google AdMob

对于使用 Google AdMob 的应用,集成 ATS 时需要采取一些额外的步骤。具体来说,您需要在应用的 Info.plist 文件中添加以下行:

<key>NSAppTransportSecurity</key>
<dict>
  <key>NSExceptionDomains</key>
  <dict>
    <key>pubads.g.doubleclick.net</key>
    <dict>
      <key>NSExceptionRequiresForwardSecrecy</key>
      <false/>
      <key>NSIncludesSubdomains</key>
      <true/>
    </dict>
  </dict>
</dict>

这些设置可确保您的应用继续与 AdMob 服务器通信,同时仍符合 ATS 要求。

结论

App Transport Security (ATS) 是保护移动应用连接安全的重要安全功能。通过强制使用 HTTPS、验证证书并提供证书固定选项,ATS 有助于保护用户数据,提高应用安全性并遵守法规。通过遵循最佳实践和正确配置您的应用,您可以利用 ATS 的优势,确保您的移动应用安全可靠。