蘋果ATS – 證書選擇及配置

2017年1月1日開(kāi)始,蘋果要求所有iOS應用必須使用ATS(App Transport Security),即APP内連接必須使用安全的HTTPS。并不簡單是一個HTTPS協議,而且要滿足iOS9中新增特性。

蘋果ATS - 證書選擇及配置
包括如下幾點:

1、證書頒發(fā)機構的要求

2、傳輸協議的要求

3、簽字算法的要求

4、證書的哈希算法和秘鑰長(cháng)度的要求

其中2和3屬于證書的安裝和配置問題,稍後(hòu)說一下。先說1和4的要求。

證書頒發(fā)機構:

推薦用Symantec/GeoTrust品牌的OV及以上證書,個人用戶可簽發(fā)DV證書。而CFCA品牌隻在最新的蘋果設備上才支持,不推薦CFCA品牌。不推薦使用免費證書;

證書的哈希算法:

在上面(miàn)推薦的證書品牌中是哈希算法都(dōu)是SHA256或者更高強度的算法;

秘鑰長(cháng)度: 如果選擇使用系統創建CSR方式,密鑰是2048位的RSA加密算法,完全符合要求;如果自己創建CSR,請使用2048位或以上的RSA加密算法;

傳輸協議:

必須滿足 TLS1.2

要在服務器上開(kāi)啓 TLSv1.2,通常要求基于 OpenSSL 環境的,使用 OpenSSL 1.0+ ,推薦 OpenSSL 1.0.1+。

要求基于 Java 環境的,使用 Jdk 1.7+ 。

其他 Web Server,除 IIS7.5 以及 Weblogic 10.3.6 較爲特殊外,隻需版本滿足,默認均開(kāi)啓 TLSv1.2。詳情如下:

Apache / Nginx 依賴 OpenSSL 1.0 + 以支持 TLSv1.2.

Tomcat 7 + Jdk 7.0 + 支持 TLSv1.2

IIS7.5 默認未開(kāi)啓 TLSv1.2 需修改注冊表以開(kāi)啓 TLSv1.2。導入附件的 ats.reg 注冊表腳本後(hòu),重啓(或注銷)服務器,以使 TLSv1.2 生效。

IBM Domino Server 9.0.1 FP3支持tls1.2 ATS建議9.0.1 FP5。
IBM Http Server 8.0+ 支持TLS1.2 ,适配ATS建議使用8.5+

weblogic10.3.6+ java7+ 支持tls1.2。Weblogic 10.3.6 存在多個 SHA256 兼容bug,建議應最低使用 Weblogic 12 版本,或爲 Weblogic 10.3.6 配置前端 Apache 或 Nginx 的 https 代理(或SSL前端負載)。

webspere V7.0.0.23+ V8.0.0.3+ V8.5.0.0+ 支持 TLsv1.2。
簽字算法: 必須滿足如下算法

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協議及加密套件如何配置(隻列舉了與ATS有關的屬性,請不要完全複制以下配置)
Nginx配置文件中的片段(ssl_ciphers/ssl_protocols屬性與ATS有關)
server {
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
}

Apache配置文件中的片段(SSLProtocol/SSLCipherSuite屬性與ATS有關)

SSLProtocol TLSv1 TLSv1.1 TLSv1.2
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4
Tomcat配置文件中的片段(SSLProtocol/SSLCipherSuite屬性與ATS有關)

IIS系列的配置最佳實踐正在整理中,先推薦兩(liǎng)篇文章供參考

Enabling TLS 1.2 on IIS 7.5 for 256-bit cipher strength

一個可視化界配置插件

https://www.nartac.com/Products/IISCrypto/Download

阿裡(lǐ)雲的CDN、SLB業務的HTTPS配置完全符合ATS的要求。

ATS檢測工具:

蘋果電腦可以用自帶的工具進(jìn)行檢測,命令如下:

nscurl –ats-diagnostics –verbose 網址

相關新聞