苹果安全工程&架构部门主管Ivan Kristic表示ATS将在今年末成为App Sotre app的必要条件,这将大幅提升App在网络上的通信安全,带给用户真正的安全保障。web
其实在iOS 9中ATS是默认开启的,但开发者仍然能关闭ATS,但从2017年1月1日起,App开发者们也明确了必须强制开启ATS的期限。算法
苹果提出的ATS有哪些强制标准呢:apache
部署服务器SSL证书,启用HTTPS加密链接。但需知足如下ATS默认的安全要求:windows
一、 ATS要求服务器必须支持传输层安全(TLS)协议1.2以上版本;tomcat
二、通信中的加密套件配置要求支持列出的正向保密;(如下Apple官方文档列表)安全
三、 数字证书必须使用SHA256或者更高级的签名哈希算法签名,而且保证密钥是2048位及以上的RSA密钥或者256位及以上的ECC算法。服务器
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384网络
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256架构
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384app
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
DSA算法要求使用如下加密套件:
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
如何支持ATS标准:
一、购买苹果信任CA所颁发的证书;
二、部署https网站的web服务器也有必定要求,以下:
Apache,Nginx要求关联的openssl版本在1.0.1+,这样网站才支持TLS1.2,同时您须要对证书相关参数作必定调整:
Apache:
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite ECDH:AESGCM:HIGH:!RC4:!DH:!MD5:!aNULL:!eNULL;
Nginx:
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDH:AESGCM:HIGH:!RC4:!DH:!MD5:!aNULL:!eNULL;
Tomcat要求环境 tomcat7+和JDK1.7+,配置参考以下:
<Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" keystoreFile="keystore/domain.jks" keystorePass="证书密码" clientAuth="false" sslProtocol="TLS" ciphers="TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, SSL_RSA_WITH_3DES_EDE_CBC_SHA, TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA" />
IIS要求环境 windows server 2008 R2/IIS 7+,调整方式以下:
下载调整加密套件的工具,下载地址:
下载完成后,运行程序,点击Best Practice按钮,而后点击Apply按钮,这时系统提醒您重启,点击重启,配置才能生效。