蘋果安全工程&架構部門主管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按鈕,這時系統提醒您重啓,點擊重啓,配置才能生效。