App Transport Security(ATS)
来源:互联网 发布:mac 十六进制编辑器 编辑:程序博客网 时间:2024/05/01 12:34
App Transport Security
App Transport Security is a feature that improves the security of connections between an app and web services. The feature consists of default connection requirements that conform to best practices for secure connections.
App Transport Security(ATS)是Apple为提高系统及应用安全性而在iOS 9和OS X EI Capitan中引入的新特性,必然,出于安全性的考虑,在新发布的watchOS 2系统中也会适用。
一旦开启ATS后,应用所有的网络请求将会自动转换为HTPPS传输,且采用一系列配置要求来保证数据传输的安全性,包括:
- Transport Layer Security协议版本要求TLS1.2以上
- 服务的Ciphers配置要求支持Forward Secrecy等
- 证书签名算法符合ATS要求等
- 这些配置项在升级服务器支持HTTPS过程中都需要严格遵守的,否则就会导致你的HTTPS服务在iOS 9系统中连接仍是失效的。
如果你的App的服务也在升级以适配ATS要求,可以使用如下的方式进行校验:
“在OS X EI Capitan系统的终端中通过nscurl命令来诊断检查你的HTTPS服务配置是否满足Apple的ATS要求:$ nscurl –verbose –ats-diagnostics https://(your_server_domain)”
当然,你也可以参考Apple提供官方指南App Transport Security Technote进行服务的升级配置以满足ATS的要求。
Apple虽然希望开发者可以积极的参与并为系统及应用安全共同努力,但官方仍提供了一些参考配置去禁用ATS功能或降低ATS的安全性要求。
开发者可以在App的Info.plist中添加NSAppTransportSecurity的相关配置,用以禁用ATS或者添加白名单,可用的配置参数如下:
- NSAllowsArbitraryLoads - 设置true即支持所有HTTP请求
- NSExceptionDomains - 添加白名单
- NSExceptionMinimumTLSVersion - 白名单指定域名支持的TLS版本
- NSExceptionRequiresForwardSecrecy - 白名单指定域名是否支持Forward Secrecy
- NSExceptionAllowsInsecureHTTPLoads - 白名单指定域名禁用ATS
- NSThirdPartyExceptionMinimumTLSVersion - 白名单指定第三方服务域名最* 低支持的TLS版本
- NSThirdPartyExceptionRequiresForwardSecrecy - 白名单指定第三方服务域名是否支持Forward Secrecy
- NSThirdPartyExceptionAllowsInsecureHTTPLoads - 白名单指定第三方域名禁用ATS
举个例子:
- 禁用所有连接使用ATS
在Info.plist中配置禁用ATS:
<key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitrary</key> <true/> </dict>
- 指定域名禁用ATS
在Info.plist中配置App的服务域名mine.test.com支持HTTP:
<key>NSAppTransportSecurity</key> <dict> <key>NSExceptionDomains</key> <dict> <key>mine.test.com</key> <dict> <key>NSExceptionAllowsInsecureHTTPLoads</key> <false/> </dict> </dict> </dict>
- 指定域名修改ATS安全要求
在Info.plist中配置第三方服务third.test.com的TLS1.1及禁用Forward Secrecy:
<key>NSAppTransportSecurity</key> <dict> <key>NSExceptionDomains</key> <dict> <key>mime.test.com</key> <dict> <key>NSExceptionAllowsInsecureHTTPLoads</key> <false/> </dict> <key>third.test.com</key> <dict> <key>NSThirdPartyExceptionMinimumTLSVersion</key> <string>1.1<string/> <key>NSThirdPartyExceptionRequiresForwardSecrecy</key> <false/> </dict> </dict> </dict>
- App Transport Security (ATS)
- App Transport Security(ATS)
- App Transport Security(ATS)
- App Transport Security(ATS)
- App Transport Security(ATS)
- App Transport Security(ATS)
- iOS ATS (App Transport Security)
- Xcode新特性App Transport Security (ATS)
- iOS9的ATS(App Transport Security)
- App Transport Security(ATS)学习笔记
- iOS9中新增App Transport Security(简称ATS)特性,
- 关于iOS9中的App Transport Security(ATS)相关说明及适配
- 如何应对IOS(苹果)强制启用 App Transport Security(ATS)安全功能
- App Transport Security
- App Transport Security
- iOS: App Transport Security
- App Transport Security
- App Transport Security
- Ioc中装配bean的几种方式
- 他只掌握了这3点,却在现货投资市场中挣走千万!
- 安卓学习心得,学习步骤 入门书籍推荐
- 第三周 项目1-顺序表的基本运算
- JavaEE项目实战(OA系统)之十四_员工管理之三
- App Transport Security(ATS)
- windows 连接到VM linux 通过FTP协议传输文件
- 基于NGUI的unity界面管理的讨论
- 2016年移动广告聚合平台浅析
- MethodHandles
- 【第2周 项目2 - 程序的多文件组织】
- 视频直播
- express command not found
- 勾股定理一日一证连载106