TLS dan Saluran Aman
Transport Layer Security (TLS) adalah protokol yang mengamankan sebagian besar komunikasi internet, menggabungkan pertukaran kunci terautentikasi dan enkripsi terautentikasi untuk menciptakan saluran rahasia yang terlindungi integritasnya antara dua titik akhir.
Definition
Protokol saluran aman seperti TLS membangun, antara dua pihak, sebuah sesi yang menjamin kerahasiaan, integritas, dan autentikasi semua data yang dipertukarkan, dengan melakukan pertukaran kunci terautentikasi diikuti oleh enkripsi terautentikasi dari lalu lintas data.
Scope
Topik ini mencakup protokol saluran aman, dengan TLS sebagai contoh utama: jabat tangan (handshake) yang mengautentikasi server (dan secara opsional klien) serta menetapkan kunci sesi, lapisan rekaman (record layer) yang menyediakan enkripsi terautentikasi, kerahasiaan ke depan (forward secrecy) dan perlindungan penurunan versi (downgrade protection), serta pelajaran dari serangan historis. Ini membahas bagaimana blok bangunan kriptografi dirangkai menjadi protokol yang diterapkan. Ini tidak termasuk infrastruktur sertifikat (PKI) dan primitif individual, yang dibahas dalam topik terkait.
Core questions
- Bagaimana jabat tangan TLS mengautentikasi server dan menyepakati kunci sesi?
- Bagaimana lapisan rekaman melindungi setiap pesan dengan enkripsi terautentikasi?
- Bagaimana kerahasiaan ke depan dicapai, dan mengapa itu penting untuk lalu lintas yang direkam?
- Bagaimana serangan penurunan versi dan renegosiasi dicegah?
- Apa yang diajarkan oleh serangan historis (BEAST, POODLE, Heartbleed) tentang desain protokol dan implementasi?
Key concepts
- Jabat tangan TLS
- lapisan rekaman
- enkripsi terautentikasi (AEAD)
- pertukaran kunci efemeral (ECDHE)
- kerahasiaan ke depan
- autentikasi server dan klien
- serangan penurunan versi dan renegosiasi
- pemulihan sesi
- negosiasi cipher suite
Key theories
- Jabat tangan ditambah protokol rekaman
- TLS memisahkan jabat tangan pertukaran kunci terautentikasi — yang memverifikasi identitas melalui sertifikat dan memperoleh kunci sesi — dari lapisan rekaman yang mengenkripsi dan mengautentikasi data aplikasi dengan kunci-kunci tersebut, secara bersih menggabungkan autentikasi, kesepakatan kunci, dan perlindungan massal.
- Kerahasiaan ke depan dan perlindungan penurunan versi
- TLS 1.3 mewajibkan Diffie-Hellman efemeral (kurva elips) untuk kerahasiaan ke depan dan mengikat transkrip jabat tangan ke dalam jadwal kunci sehingga penyerang aktif tidak dapat memaksa penurunan versi ke parameter yang lebih lemah tanpa terdeteksi.
Mechanisms
Dalam TLS 1.3, klien mengirimkan bagian pertukaran kuncinya dan parameter yang didukung; server merespons dengan bagian Diffie-Hellman efemeralnya sendiri, sertifikat, dan tanda tangan atas transkrip jabat tangan, dan keduanya memperoleh kunci sesi melalui fungsi derivasi kunci (HKDF). Lapisan rekaman kemudian melindungi semua data dengan cipher AEAD (seperti AES-GCM atau ChaCha20-Poly1305). Transkrip diautentikasi untuk mencegah perusakan atau penurunan versi, dan jabat tangan selesai dalam satu perjalanan pulang-pergi (round trip), dengan opsi melanjutkan sesi tanpa perjalanan pulang-pergi (zero-round-trip resumption).
Clinical relevance
TLS mengamankan sebagian besar lalu lintas internet: HTTPS untuk web, transportasi email aman, API, VPN, dan pesan semuanya berjalan di atasnya. Keakuratannya secara langsung menentukan apakah kata sandi, pembayaran, dan data pribadi terlindungi dari penyerang jaringan. Migrasi dari SSL/TLS awal yang cacat ke TLS 1.3 — dan analisis yang menyertainya — adalah model untuk evolusi protokol di bawah tekanan dunia nyata.
Evidence & guidelines
TLS 1.3 distandardisasi dalam RFC 8446 dan direkomendasikan; SSL 3.0, TLS 1.0, dan TLS 1.1 sudah usang (RFC 8996). NIST SP 800-52 memberikan panduan konfigurasi. TLS 1.3 dikembangkan dengan analisis formal ekstensif, menghilangkan kelemahan lama (pertukaran kunci RSA statis, mode CBC, renegosiasi) yang memungkinkan serangan sebelumnya seperti BEAST, POODLE, dan cacat implementasi Heartbleed.
History
Netscape menciptakan SSL pada tahun 1994-1995; SSL 3.0 didesain ulang oleh IETF sebagai TLS 1.0 (1999) dan disempurnakan hingga TLS 1.2 (2008). Satu dekade serangan — BEAST, CRIME, POODLE, bug implementasi Heartbleed, Logjam, dan FREAK — mengungkap kelemahan dalam mode lama dan penanganan penurunan versi. TLS 1.3 (RFC 8446, 2018) adalah desain ulang besar dengan kerahasiaan ke depan wajib, jabat tangan yang lebih cepat, dan analisis keamanan formal.
Key figures
- Eric Rescorla
- Hugo Krawczyk
- Kenny Paterson
- Taher ElGamal
Related topics
Seminal works
- rfc8446
- stallings2017
- katz2020
Frequently asked questions
- Apa perbedaan antara SSL dan TLS?
- TLS adalah penerus SSL. SSL (versi 2.0 dan 3.0) sudah usang dan tidak aman; 'SSL' tetap digunakan sebagai istilah sehari-hari, tetapi semua koneksi web aman saat ini menggunakan TLS, dengan TLS 1.3 sebagai versi modern.
- Apakah TLS melindungi saya dari situs web berbahaya?
- TLS hanya menjamin bahwa Anda memiliki saluran rahasia dan terautentikasi ke server yang disebutkan dalam sertifikat — ini mengonfirmasi bahwa Anda berbicara dengan domain tersebut, bukan bahwa domain tersebut dapat dipercaya. Situs phishing dapat menyajikan sertifikat yang valid untuk domainnya sendiri (yang mirip), jadi TLS tidak menjamin kejujuran situs tersebut.