又拍云之苹果 ATS 功能实现与支持
简介
ATS (App Transport Security)即应用传输安全,它是一项可以提高 APP 与源服务器之间数据传输安全的功能项;由 Apple 公司在 2015 年的 WWDC15(开发者大会) 上提出,并在去年的 WWDC16 大会中强调,从 2017年1月1日起 Apple 公司将全面启动 ATS 限制策略。
但是由于多数 APP 未能如期在 2017年 1 月1 日 达到 ATS 的标准,为了给相关研发人员更多的准备时间,Apple 公司决定延期执行强制启用 ATS 的策略。详情
随着近几年来,HTTPS 安全协议得到大力推广,Google 调整了搜索引擎算法,让采用 HTTPS 的网站在搜索中排名更靠前,Chrome 浏览器已把采用 HTTP 协议的网站标记为不安全网站,Google、Baidu、Facebook 等互联网巨头都已全站启用 HTTPS 协议,所以长远来看,Apple 公司肯定也会继续推动 HTTPS 协议的发展,那么 ATS 限制策略也将会在不久后重新启用,因此,作为 APP 的开发者还是早作准备为上策,避免到时手忙脚乱出现问题,影响业务的正常运行。
配置要求
既然 Apple 公司已提出要求强制使用 ATS 策略,那咱们接下来看看,如何才能达到此标准。
1、ATS 的设计之初就是为了保障用户数据的传输安全,因此在启用 ATS 策略以后,会强制所有 APP 中的访问链接都必须使用 HTTPS 协议,HTTP 协议的访问将不再被允许。
2、源站服务器使用的传输层安全协议必须支持 TLS 1.2 或 其以上版本。
3、源站部署的 SSL 证书所采用的必须是 SHA-256 或更高级哈希签名算法,并且采用的 RSA 加密算法的加密强度为 2048 位或更高,亦或者采用 256位或者更高位的的椭圆曲线加密(ECC)算法,无效的证书将导致建连失败并断开。
4、加密套件要求必须支持 PFS(perfect forward secrecy)完全前向保密功能,套件列表如下:
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
更多 ATS 相关配置可参见详情。
又拍云解决方案
一、针对上述 Apple 公司提出的配置要求,又拍云 CDN 已经做了全面改进与优化:
1、又拍云节点服务器已支持传输层安全协议 TLS 1.2,TLS 1.3协议已经在规划支持中。
2、又拍云提供了 SSL 证书的申购服务,所有申购的证书都完全符合上述 ATS 所要求的标准。立即申购
3、又拍云节点服务器部署的加密套件均支持 PFS(perfect forward secrecy)完全前向保密功能。
4、又拍云已完美支持 HTTPS,并对 HTTPS 访问做了各项优化,详情可参见这里。
因此,如果您嫌升级 APP 的源站服务器比较麻烦,改动较大,而又想达到 Apple 公司所要求的 ATS 标准,可以来又拍云,使用 CDN 服务,完美支持 ATS 标准。
二、使用又拍云支持 ATS 的配置步骤:
1) 为 APP 中的域名申请 SSL 证书。又拍云提供了价格不一,适合各类企业的证书类型,您可以根据自身的需求选择相关证书,任何一款证书都能达到 ATS 标准要求哦。更多详情可参见博客。
2)SSL 证书申购完成以后,可以选择一键部署,直接部署到又拍云 CDN 平台,无缝对接,保证证书安全。
如果您已经申请了 SSL 证书,又拍云也提供了 SSL 证书自主上传,实现方式更加快捷方便。
3)将域名绑定 CDN 服务,绑定之后,即可开启 HTTPS 加速服务。
完成上述三步以后,此时域名已经完美支持 ATS 的所有标准要求,看起来是不是很简单方便,那还不赶快行动起来。
三、另述
域名在又拍云 CDN 开启 HTTPS 服务后,除了满足 ATS (又拍云优化中的一小步),又拍云 CDN 平台还默认支持 HTTP/2(不用支付其他费用哦),并且域名的的安全等级也已悄然提升为 A。
如果还想进一步提升域名的安全级别,以达到 A+,则可再开启又拍云提供的 HSTS 功能,详情参见这里哦。
ATS 检测方式
1、在 Apple 电脑中,开启终端命令框,输入以下指令即可检测域名是否支持 ATS:
nscurl --ats-diagnostics --verbose https://www.upyun.com
检测结果如下:
2、使用在线检测 ATS 工具
检测结果如下: