Ketika mengunjungi website menggunakan HTTPS, browser dan server perlu membangun koneksi yang aman sebelum bertukar data. Proses ini menggunakan protokol TLS (Transport Layer Security), yaitu teknologi yang membantu melindungi komunikasi dari penyadapan dan manipulasi data.
Seiring perkembangan teknologi dan kebutuhan keamanan internet, TLS terus mengalami pembaruan. Salah satu perubahan penting adalah hadirnya TLS 1.3, yang membawa sejumlah peningkatan dibandingkan pendahulunya, TLS 1.2.
Kedua versi ini masih sering dijumpai dalam infrastruktur website. Namun, TLS 1.3 dirancang dengan mekanisme yang lebih sederhana, pilihan algoritma kriptografi yang lebih modern, serta proses pembentukan koneksi yang lebih efisien.
Lalu, apa sebenarnya perbedaan TLS 1.2 dan TLS 1.3? Apakah TLS 1.3 selalu lebih cepat? Apakah website yang masih menggunakan TLS 1.2 sudah tidak aman?
Mari kita bahas satu per satu.
Apa Itu TLS 1.2?
TLS 1.2 merupakan salah satu versi protokol Transport Layer Security yang diperkenalkan melalui RFC 5246 pada tahun 2008.
Protokol ini dikembangkan untuk melindungi komunikasi antara dua pihak, misalnya browser pengunjung dan server website.
TLS 1.2 menyediakan beberapa perlindungan utama:
- Kerahasiaan: data komunikasi dienkripsi agar tidak mudah dibaca pihak lain.
- Integritas: membantu mendeteksi perubahan data selama komunikasi berlangsung.
- Autentikasi: membantu memastikan identitas server melalui mekanisme sertifikat dan tanda tangan digital.
TLS 1.2 mendukung berbagai pilihan algoritma kriptografi. Beberapa konfigurasi dapat menggunakan algoritma modern seperti AES-GCM dan pertukaran kunci ECDHE, sementara konfigurasi lama dapat menggunakan mekanisme yang saat ini sudah tidak direkomendasikan.
Karena itu, keamanan TLS 1.2 sangat bergantung pada konfigurasi yang diterapkan oleh server.
TLS 1.2 masih digunakan oleh sejumlah website dan sistem karena memiliki dukungan kompatibilitas yang luas. Namun, pengelola server perlu memastikan bahwa konfigurasi yang digunakan mengikuti rekomendasi keamanan terbaru.
Apa Itu TLS 1.3?
TLS 1.3 merupakan versi protokol Transport Layer Security yang diperkenalkan melalui RFC 8446 pada tahun 2018.
Pada Juli 2026, spesifikasi TLS 1.3 diperbarui melalui RFC 9846. Pembaruan ini mempertahankan versi protokol TLS 1.3, tetapi memperjelas dan memperketat sejumlah persyaratan teknis.
TLS 1.3 dirancang untuk menyederhanakan proses koneksi dan menghilangkan sejumlah mekanisme kriptografi lama yang tidak lagi dianggap sesuai untuk penggunaan modern.
Beberapa peningkatan pentingnya meliputi:
- Proses handshake yang lebih ringkas.
- Penggunaan algoritma enkripsi yang lebih modern.
- Penghapusan mekanisme pertukaran kunci RSA statis.
- Dukungan forward secrecy untuk pertukaran kunci berbasis public key.
- Perlindungan enkripsi yang lebih luas terhadap pesan handshake.
- Dukungan 0-RTT untuk kondisi tertentu melalui mekanisme session resumption.
Dengan perubahan tersebut, TLS 1.3 memberikan fondasi yang lebih sederhana dan modern untuk membangun koneksi HTTPS.
Perbedaan TLS 1.2 dan TLS 1.3
Walaupun memiliki tujuan yang sama, TLS 1.2 dan TLS 1.3 mempunyai sejumlah perbedaan dalam proses koneksi, algoritma kriptografi, dan mekanisme keamanannya.
Berikut perbandingan keduanya.
| Aspek | TLS 1.2 | TLS 1.3 |
|---|---|---|
| Tahun spesifikasi awal | 2008 | 2018 |
| Proses handshake penuh | Umumnya 2 round trip | Umumnya 1 round trip |
| Pilihan algoritma | Lebih beragam, termasuk sejumlah algoritma lama | Lebih disederhanakan dan modern |
| Pertukaran kunci RSA statis | Masih didukung dalam spesifikasi lama | Dihapus |
| Forward secrecy | Bergantung pada mekanisme pertukaran kunci | Didukung untuk pertukaran kunci berbasis public key |
| Enkripsi pesan handshake | Sebagian pesan awal masih terlihat dalam bentuk tidak terenkripsi | Pesan setelah ServerHello dilindungi enkripsi |
| Cipher suite | Mencakup pilihan algoritma yang lebih luas | Hanya menggunakan algoritma AEAD untuk perlindungan record |
| Session resumption | Menggunakan mekanisme seperti session ID dan session ticket | Menggunakan mekanisme berbasis PSK |
| 0-RTT | Tidak tersedia dalam bentuk TLS 1.3 | Tersedia dengan batasan keamanan |
| Kompatibilitas | Luas pada sistem lama maupun modern | Membutuhkan dukungan TLS 1.3 pada client dan server |
Perbedaan tersebut menunjukkan bahwa TLS 1.3 bukan hanya perubahan nomor versi. Ada sejumlah perubahan mendasar pada cara koneksi aman dibangun dan bagaimana data dilindungi.
1. Proses Handshake TLS 1.3 Lebih Ringkas
Salah satu perubahan yang paling terasa antara TLS 1.2 dan TLS 1.3 adalah proses handshake.
TLS Handshake merupakan tahapan ketika browser dan server menyepakati parameter keamanan, melakukan autentikasi sesuai mekanisme yang digunakan, serta membentuk kunci untuk melindungi komunikasi.
Pada TLS 1.2, full handshake umumnya membutuhkan dua kali perjalanan bolak-balik pesan (round trip time atau RTT) sebelum komunikasi aplikasi dapat dimulai.
Sementara itu, TLS 1.3 dirancang agar full handshake umumnya dapat diselesaikan dalam satu RTT.
Perbedaan ini dapat membantu mengurangi waktu tunggu ketika browser pertama kali membuat koneksi dengan server.
Gambaran handshake TLS 1.2
Secara sederhana, prosesnya melibatkan beberapa tahapan:
- Browser mengirim ClientHello berisi versi TLS dan pilihan algoritma yang didukung.
- Server membalas dengan ServerHello dan informasi sertifikat.
- Browser memeriksa sertifikat server.
- Kedua pihak menyelesaikan proses pertukaran kunci sesuai mekanisme yang dipilih.
- Kedua pihak mengirim pesan konfirmasi bahwa parameter keamanan telah disepakati.
- Komunikasi data aplikasi dapat dimulai.
Gambaran handshake TLS 1.3
Pada TLS 1.3, prosesnya disederhanakan:
- Browser mengirim ClientHello beserta informasi versi dan key share yang didukung.
- Server membalas dengan ServerHello dan key share miliknya.
- Kedua pihak membentuk rahasia bersama dan menurunkan kunci handshake.
- Server mengirim informasi tambahan, sertifikat, tanda tangan digital, dan pesan Finished yang telah dilindungi enkripsi.
- Browser memvalidasi informasi server dan menyelesaikan proses handshake.
- Komunikasi data aplikasi dapat berlangsung.
Perlu dipahami bahwa urutan ini merupakan gambaran umum full handshake berbasis sertifikat. Ada variasi sesuai mekanisme autentikasi, pertukaran kunci, dan konfigurasi koneksi.
2. TLS 1.3 Menghilangkan Sejumlah Algoritma Lama
TLS 1.2 mendukung berbagai pilihan cipher suite, termasuk beberapa algoritma dan mekanisme yang kemudian dianggap sudah tidak sesuai untuk konfigurasi keamanan modern.
TLS 1.3 menyederhanakan pilihan tersebut dengan menghapus sejumlah mekanisme lama.
Contohnya:
- Pertukaran kunci RSA statis.
- Static Diffie-Hellman.
- Algoritma berbasis CBC untuk perlindungan record TLS.
- Kompresi TLS.
- Sejumlah algoritma tanda tangan dan hash lama yang tidak lagi direkomendasikan.
TLS 1.3 menggunakan algoritma AEAD (Authenticated Encryption with Associated Data) untuk perlindungan data pada record layer.
Contoh algoritma yang digunakan antara lain:
- AES-GCM.
- ChaCha20-Poly1305.
Kedua algoritma tersebut memberikan perlindungan kerahasiaan sekaligus integritas data.
Penyederhanaan ini membantu mengurangi pilihan konfigurasi yang berisiko dan membuat implementasi TLS modern lebih mudah dikelola.
3. TLS 1.3 Memberikan Perlindungan Forward Secrecy
Forward secrecy merupakan konsep keamanan yang membantu melindungi komunikasi lama meskipun private key jangka panjang server diketahui pihak lain di kemudian hari.
Pada TLS 1.2, forward secrecy dapat diperoleh jika server menggunakan mekanisme pertukaran kunci sementara seperti ECDHE.
Namun, tidak semua mekanisme pertukaran kunci pada TLS 1.2 memberikan perlindungan tersebut.
TLS 1.3 menghapus pertukaran kunci RSA statis dan static Diffie-Hellman. Dengan demikian, seluruh mekanisme pertukaran kunci berbasis public key yang didefinisikan dalam protokol ini memberikan forward secrecy.
Hal ini merupakan peningkatan penting dalam perlindungan komunikasi.
Perlu diingat bahwa penggunaan PSK tanpa pertukaran kunci tambahan memiliki karakteristik keamanan yang berbeda. Untuk session resumption, kombinasi PSK dan pertukaran kunci sementara dapat memberikan forward secrecy pada sesi baru.
4. Pesan Handshake TLS 1.3 Lebih Banyak Dilindungi Enkripsi
Dalam proses handshake, browser dan server bertukar beberapa pesan untuk membangun koneksi.
Pada TLS 1.2, sejumlah pesan handshake masih dikirim sebelum enkripsi sesi aktif.
TLS 1.3 mengubah mekanisme tersebut. Setelah ServerHello, pesan handshake berikutnya umumnya sudah dilindungi menggunakan kunci handshake.
Salah satu pesan baru yang digunakan adalah EncryptedExtensions.
Perubahan ini membantu mengurangi informasi handshake yang dapat terlihat oleh pihak yang mengamati lalu lintas jaringan.
Namun, bukan berarti seluruh informasi koneksi menjadi tersembunyi. Informasi seperti alamat IP server dan sebagian metadata jaringan masih dapat terlihat, tergantung pada kondisi koneksi dan teknologi tambahan yang digunakan.
5. TLS 1.3 Mendukung 0-RTT
TLS 1.3 memperkenalkan fitur bernama 0-RTT (Zero Round Trip Time).
Fitur ini memungkinkan browser mengirim sebagian data aplikasi sejak pesan awal ketika menggunakan session resumption berbasis PSK.
Tujuannya adalah mempercepat pembentukan koneksi pada kunjungan atau sesi berikutnya.
Namun, 0-RTT memiliki keterbatasan keamanan yang perlu diperhatikan.
Data 0-RTT dapat memiliki risiko replay, yaitu kemungkinan pesan yang sama dikirimkan kembali oleh pihak yang tidak berwenang dalam kondisi tertentu.
Karena itu, data 0-RTT tidak memiliki seluruh jaminan keamanan yang sama dengan data aplikasi setelah handshake selesai.
Pengelola website dan pengembang aplikasi harus berhati-hati dalam menentukan jenis permintaan yang boleh menggunakan 0-RTT.
Permintaan yang mengubah keadaan sistem, seperti transaksi atau perubahan data akun, tidak boleh sembarangan diproses menggunakan mekanisme yang rentan terhadap replay.
Fitur ini juga tidak wajib diaktifkan hanya karena server sudah mendukung TLS 1.3.
6. Perbedaan Cipher Suite pada TLS 1.2 dan TLS 1.3
Cipher suite merupakan kumpulan algoritma kriptografi yang digunakan untuk mengamankan komunikasi TLS.
Dalam TLS 1.2, cipher suite mencakup informasi mengenai mekanisme pertukaran kunci, autentikasi, enkripsi, dan fungsi hash.
Contoh nama cipher suite TLS 1.2:
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
Pada TLS 1.3, susunan cipher suite disederhanakan. Mekanisme pertukaran kunci dan autentikasi dinegosiasikan secara terpisah dari algoritma perlindungan record.
Contoh cipher suite TLS 1.3:
TLS_AES_128_GCM_SHA256
Artinya, pada TLS 1.3, nama cipher suite tidak lagi memuat informasi mekanisme pertukaran kunci dan autentikasi seperti pada TLS 1.2.
Perubahan ini membuat struktur negosiasi algoritma lebih sederhana dan membantu mengurangi kompleksitas konfigurasi.
Apakah TLS 1.3 Selalu Lebih Cepat daripada TLS 1.2?
TLS 1.3 memang dirancang untuk membuat proses pembentukan koneksi lebih efisien.
Full handshake TLS 1.3 umumnya membutuhkan satu RTT, sedangkan full handshake TLS 1.2 umumnya membutuhkan dua RTT.
Dalam kondisi jaringan dengan latensi tinggi, pengurangan satu perjalanan bolak-balik pesan dapat membantu mempercepat waktu pembentukan koneksi.
Namun, bukan berarti setiap website yang menggunakan TLS 1.3 otomatis memiliki waktu muat halaman yang jauh lebih cepat.
Kecepatan website juga dipengaruhi oleh berbagai faktor, seperti:
- Jarak antara pengunjung dan server.
- Kualitas jaringan internet.
- Performa server dan hosting.
- Ukuran file halaman website.
- Penggunaan cache.
- Optimasi gambar dan script.
- Penggunaan CDN.
- Konfigurasi HTTP/2 atau HTTP/3.
Dengan demikian, TLS 1.3 memberikan keuntungan pada proses koneksi, tetapi performa website secara keseluruhan tetap membutuhkan optimasi dari sisi infrastruktur dan aplikasi.
Apakah TLS 1.2 Masih Aman Digunakan?
Ya, TLS 1.2 masih dapat digunakan dengan aman selama dikonfigurasi sesuai rekomendasi keamanan modern.
Hal yang perlu diperhatikan adalah tidak semua konfigurasi TLS 1.2 memiliki tingkat keamanan yang sama.
Server sebaiknya menggunakan algoritma yang masih direkomendasikan, menghindari cipher suite lama, dan memastikan dukungan terhadap mekanisme pertukaran kunci yang memberikan forward secrecy.
TLS 1.0 dan TLS 1.1 sudah tidak direkomendasikan untuk penggunaan modern.
Sementara itu, TLS 1.2 masih menjadi pilihan kompatibilitas bagi sistem yang belum mendukung TLS 1.3.
Karena itu, pengelola website tidak perlu langsung menganggap TLS 1.2 sebagai protokol yang tidak aman. Yang lebih penting adalah memastikan konfigurasi server mengikuti standar keamanan yang berlaku.
Apakah Website Harus Segera Beralih ke TLS 1.3?
Jika server, hosting, dan aplikasi sudah mendukung TLS 1.3, mengaktifkan dukungannya merupakan langkah yang baik.
TLS 1.3 menawarkan proses handshake yang lebih efisien dan sejumlah peningkatan keamanan.
Namun, sebelum mengubah konfigurasi, ada beberapa hal yang perlu diperiksa.
1. Periksa dukungan server
Pastikan web server dan library TLS yang digunakan mendukung TLS 1.3.
Beberapa perangkat lunak server modern sudah mendukungnya, tetapi kemampuan aktual tetap bergantung pada versi perangkat lunak dan konfigurasi sistem.
2. Periksa kompatibilitas aplikasi
Pastikan aplikasi, API, layanan pihak ketiga, dan perangkat yang digunakan pengunjung dapat berkomunikasi dengan konfigurasi TLS yang diterapkan.
Jika masih ada sistem lama yang membutuhkan TLS 1.2, server dapat dikonfigurasi untuk mendukung TLS 1.3 sekaligus TLS 1.2.
3. Gunakan konfigurasi cipher suite yang sesuai
Hindari penggunaan algoritma lama yang sudah tidak direkomendasikan.
Pastikan konfigurasi TLS mengikuti pedoman keamanan terbaru dan sesuai dengan kemampuan perangkat lunak server.
4. Lakukan pengujian setelah perubahan
Setelah konfigurasi diperbarui, periksa kembali koneksi HTTPS menggunakan browser atau alat pemeriksaan TLS.
Pastikan sertifikat tetap valid, koneksi berhasil dibuat, dan layanan website tetap berjalan normal.
5. Pantau kompatibilitas dan log server
Periksa apakah ada kegagalan koneksi dari pengguna atau aplikasi tertentu setelah perubahan dilakukan.
Jika ditemukan masalah, identifikasi penyebabnya sebelum mengubah kembali konfigurasi keamanan.
Bagaimana Cara Mengetahui Website Menggunakan TLS 1.2 atau TLS 1.3?
Pemilik website dapat memeriksa versi TLS yang digunakan melalui beberapa cara.
1. Menggunakan browser
Pada browser desktop seperti Google Chrome:
- Buka website yang ingin diperiksa.
- Klik ikon informasi atau pengaturan situs di sebelah alamat website.
- Buka informasi koneksi atau keamanan, jika tersedia.
- Periksa detail keamanan koneksi melalui bagian Security pada Developer Tools.
Tampilan dan lokasi informasi dapat berbeda tergantung versi browser.
2. Menggunakan OpenSSL
Administrator server atau pengguna yang memiliki akses terminal dapat menggunakan OpenSSL untuk menguji koneksi ke domain.
Untuk menguji TLS 1.3:
openssl s_client -connect namadomain.com:443 -tls1_3
Untuk menguji TLS 1.2:
openssl s_client -connect namadomain.com:443 -tls1_2
Ganti namadomain.com dengan nama domain yang ingin diperiksa.
Jika koneksi berhasil, hasil pengujian biasanya menampilkan informasi protokol dan cipher yang digunakan.
Perlu diperhatikan bahwa hasil pengujian ini menunjukkan apakah koneksi dapat dibuat menggunakan versi TLS yang diminta dari lingkungan pengujian tersebut. Hasilnya tidak otomatis menggambarkan seluruh kemungkinan koneksi dari berbagai browser dan jaringan.
3. Menggunakan SSL Labs
Pemilik website juga dapat menggunakan layanan SSL Server Test dari Qualys untuk memperoleh gambaran konfigurasi SSL/TLS pada server.
Hasil pemeriksaan dapat membantu mengetahui versi TLS yang didukung, cipher suite, sertifikat, dan sejumlah aspek konfigurasi keamanan lainnya.
Rekomendasi Konfigurasi TLS untuk Pemilik Website
Untuk website modern, pendekatan yang dapat dipertimbangkan adalah:
- Mengaktifkan TLS 1.3 jika didukung server.
- Mempertahankan TLS 1.2 apabila masih dibutuhkan untuk kompatibilitas.
- Menonaktifkan TLS 1.0 dan TLS 1.1.
- Menghindari cipher suite dan algoritma kriptografi yang sudah tidak direkomendasikan.
- Menggunakan konfigurasi yang mendukung forward secrecy.
- Memastikan sertifikat SSL/TLS valid dan rantai sertifikat terpasang dengan benar.
- Melakukan pemeriksaan konfigurasi secara berkala.
Konfigurasi akhir sebaiknya mengikuti rekomendasi keamanan dari penyedia web server, library TLS, dan pedoman IETF yang berlaku.
Kesimpulan
TLS 1.2 dan TLS 1.3 sama-sama dirancang untuk melindungi komunikasi antara browser dan server. Namun, TLS 1.3 membawa sejumlah perubahan penting dalam proses handshake, algoritma kriptografi, pertukaran kunci, dan perlindungan pesan komunikasi.
Dibandingkan TLS 1.2, TLS 1.3 memiliki proses full handshake yang lebih ringkas, menghapus sejumlah mekanisme kriptografi lama, serta memberikan perlindungan forward secrecy untuk mekanisme pertukaran kunci berbasis public key.
Bagi pemilik website, mendukung TLS 1.3 merupakan langkah yang baik untuk mengikuti perkembangan standar keamanan internet.
Meski demikian, TLS 1.2 masih dapat digunakan apabila dikonfigurasi dengan benar dan tetap diperlukan untuk kompatibilitas.
Kesimpulannya, TLS 1.3 merupakan pilihan yang lebih modern dan direkomendasikan, sementara TLS 1.2 masih dapat menjadi bagian dari konfigurasi HTTPS yang aman.
FAQ (Pertanyaan yang Sering Diajukan)
1. Apa perbedaan utama TLS 1.2 dan TLS 1.3?
Perbedaan utamanya terletak pada proses handshake, pilihan algoritma kriptografi, pertukaran kunci, dan perlindungan pesan handshake. TLS 1.3 memiliki proses full handshake yang lebih ringkas serta menghapus sejumlah mekanisme lama.
2. Apakah TLS 1.3 lebih aman daripada TLS 1.2?
TLS 1.3 dirancang dengan sejumlah peningkatan keamanan, termasuk penghapusan mekanisme kriptografi lama dan penyederhanaan pilihan algoritma. Namun, TLS 1.2 juga masih dapat memberikan keamanan yang baik jika dikonfigurasi sesuai rekomendasi modern.
3. Apakah TLS 1.2 sudah tidak digunakan?
Belum. TLS 1.2 masih digunakan untuk mendukung kompatibilitas dengan berbagai sistem dan perangkat. Namun, TLS 1.3 merupakan pilihan yang lebih modern apabila didukung oleh server dan client.
4. Apakah TLS 1.3 membuat website lebih cepat?
TLS 1.3 dapat mempercepat proses pembentukan koneksi karena full handshake umumnya membutuhkan satu RTT, dibandingkan dua RTT pada full handshake TLS 1.2. Namun, kecepatan website secara keseluruhan tetap dipengaruhi server, jaringan, aplikasi, dan optimasi halaman.
5. Apakah sertifikat SSL harus diganti untuk menggunakan TLS 1.3?
Tidak. TLS 1.3 tidak mengharuskan pemilik website mengganti sertifikat hanya karena ingin mengaktifkan versi protokol tersebut. Dukungan TLS 1.3 terutama bergantung pada server dan library TLS yang digunakan. Jenis serta algoritma sertifikat tetap harus sesuai dengan kebutuhan autentikasi dan konfigurasi server.
6. Apakah TLS 1.3 kompatibel dengan TLS 1.2?
Keduanya tidak menggunakan mekanisme internal yang identik. Namun, browser dan server dapat menegosiasikan versi protokol yang sama-sama didukung. Server dapat mendukung TLS 1.3 dan TLS 1.2 sekaligus agar kompatibilitas tetap terjaga.
7. Apakah TLS 1.3 sama dengan HTTPS?
Tidak. HTTPS adalah HTTP yang dilindungi menggunakan TLS. TLS 1.3 merupakan salah satu versi protokol yang dapat digunakan untuk mengamankan komunikasi HTTPS.
8. Apakah TLS 1.3 wajib diaktifkan pada semua website?
Tidak selalu wajib dalam setiap kondisi. Namun, mengaktifkan TLS 1.3 sangat disarankan jika infrastruktur mendukungnya. TLS 1.2 dapat tetap diaktifkan untuk kebutuhan kompatibilitas dengan sistem yang belum mendukung TLS 1.3.
Butuh bantuan memilih SSL untuk website Anda?
Kunjungi sslkita.com atau hubungi tim SSLKita melalui email sales@sslkita.com untuk mendiskusikan kebutuhan sertifikat SSL Anda.
