服務器配置ssl證書支持蘋果ATS方法
發布日期:2016-12-14蘋果安全工程&架構部門主管Ivan Kristic表示ATS將在今年底成為App Sotre app的必要條件,這將大幅提高App在網絡上的通訊安全,帶給用戶真正的安全保障。
其實在iOS 9中ATS是默認開啟的,但開發者仍然能關閉ATS,但從2017年1月1日起,App開發者們也明確了必須強制開啟ATS的期限。
蘋果提出的ATS有哪些強制標准呢:
部署服務器SSL證書,啟用HTTPS加密連接。但需滿足以下ATS默認的安全要求:
1、 ATS要求服務器必須支持傳輸層安全(TLS)協議1.2以上版本;
2、通訊中的加密套件配置要求支持列出的正向保密;(以下Apple官方文檔列表)
3、 數字證書必須使用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_SHA384
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標准:
1、購買蘋果信任CA所頒發的證書;
2、部署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按鈕,這時系統提醒您重啟,點擊重啟,配置才能生效。