Sejak 1 Januari 2017, Apple mewajibkan semua aplikasi iOS untuk menggunakan App Transport Security (ATS), yang mengharuskan penggunaan HTTPS dalam seluruh komunikasi jaringan. Agar lulus validasi ATS, sertifikat dan server web Anda harus memenuhi persyaratan kriptografi tertentu.
Alibaba Cloud CDN dan Server Load Balancer (SLB) telah dikonfigurasi untuk memenuhi persyaratan ATS.
Persyaratan sertifikat
Tabel berikut merangkum persyaratan ATS terhadap sertifikat dan konfigurasi server Anda.
| Requirement | Details |
|---|---|
| Certificate authority (CA) | Gunakan sertifikat organization validated (OV) atau extended validation (EV) dari GlobalSign. Kami menyarankan Anda menggunakan sertifikat digital OV atau EV dari GlobalSign. |
| Hash algorithm | SHA-256 atau lebih kuat. Sertifikat GlobalSign dan Entrust memenuhi persyaratan ini. |
| Key length | RSA 2048-bit atau lebih kuat. Jika Anda memilih Automatic untuk pembuatan CSR, sistem akan secara otomatis menghasilkan kunci RSA 2048-bit. Jika Anda memilih Manual, gunakan 2048-bit atau lebih kuat. |
| TLS protocol | TLS 1.2 harus diaktifkan pada server web Anda. Lihat Persyaratan TLS 1.2 server. |
| Cipher suites | Setidaknya satu cipher suite yang diterima ATS harus diaktifkan. Lihat Cipher suite yang diterima. |
Persyaratan TLS 1.2 server
Dukungan TLS 1.2 bergantung pada perangkat lunak dan versi server web Anda. Tabel berikut mencantumkan versi minimum yang diperlukan untuk setiap jenis server.
| Server | Minimum version for TLS 1.2 | Notes |
|---|---|---|
| Apache HTTP Server / NGINX | OpenSSL 1.0 | Disarankan OpenSSL 1.0.1 atau versi lebih baru. |
| Tomcat | Tomcat 7 + JDK 7.0 | |
| JRE-based servers | JDK 1.7 | |
| OpenSSL (standalone) | OpenSSL 1.0 | Disarankan OpenSSL 1.0.1 atau versi lebih baru. |
| IIS 7.5 | Semua versi | TLS 1.2 tidak diaktifkan secara default. Lihat Aktifkan TLS 1.2 pada IIS 7.5. |
| IBM Domino Server | 9.0.1 FP3 | Disarankan IBM Domino 9.0.1 FP5 atau versi lebih baru. |
| IBM HTTP Server | 8.0 | Disarankan IBM HTTP Server 8.5 atau versi lebih baru. |
| WebLogic | 10.3.6 (memerlukan Java 7+) | WebLogic 10.3.6 memiliki masalah kompatibilitas SHA-256 yang diketahui. Disarankan WebLogic 12 atau versi lebih baru. Jika Anda harus menggunakan 10.3.6, tambahkan proxy HTTPS Apache atau NGINX di frontend, atau gunakan load balancer di frontend. |
| WebSphere | V7.0.0.23, V8.0.0.3, atau V8.5.0.0 | Lihat Konfigurasi WebSphere untuk menggunakan TLS 1.2. |
Untuk server web selain IIS 7.5 dan WebLogic 10.3.6, TLS 1.2 diaktifkan secara default jika versi server Anda memenuhi persyaratan minimum yang tercantum di atas.
Aktifkan TLS 1.2 pada IIS 7.5
TLS 1.2 dinonaktifkan secara default pada IIS 7.5. Untuk mengaktifkannya:
Unduh dan impor skrip registri ATS.
Mulai ulang atau keluar dari server web Anda untuk menerapkan perubahan tersebut.
Untuk panduan langkah demi langkah, lihat Enabling TLS 1.2 on IIS 7.5 for 256-bit cipher strength. Atau, gunakan alat visual IIS Crypto untuk mengonfigurasi cipher suite dan protokol tanpa mengedit registri secara manual.
Cipher suite yang diterima
ATS mensyaratkan bahwa semua cipher suite yang diterima harus mendukung forward secrecy, yang mencegah lalu lintas yang terekam dari didekripsi jika kunci privat server dikompromikan di kemudian hari. Semua cipher suite yang diterima menggunakan pertukaran kunci ECDHE untuk alasan ini.
Aktifkan setidaknya salah satu cipher suite berikut pada server web Anda:
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
Contoh konfigurasi
Contoh berikut menunjukkan atribut yang relevan dengan ATS untuk NGINX dan Tomcat. Di lingkungan produksi, konfigurasikan semua atribut sesuai kebutuhan server Anda—bukan hanya yang ditampilkan di sini.
NGINX
Direktif ssl_ciphers dan ssl_protocols mengontrol cipher suite dan versi TLS yang diterima.
server {
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
}Tomcat
Atribut ciphers, SSLProtocol, dan SSLCipherSuite dalam elemen <Connector> mengontrol cipher suite dan protokol.
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
scheme="https" secure="true"
ciphers="TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"
SSLProtocol="TLSv1.1+TLSv1.2+TLSv1.3"
SSLCipherSuite="ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4" />Verifikasi kepatuhan ATS
Setelah mengonfigurasi server Anda, jalankan perintah berikut di macOS untuk memeriksa apakah titik akhir Anda lolos validasi ATS:
nscurl --ats-diagnostics --verbose <URL>