0Pricing
Cloud & IT Cert Prep · Pelajaran

Jabat Tangan TLS 1.3 dan Penyambungan Kembali 0-RTT

Telusuri jabat tangan TLS 1.3 langkah demi langkah, pahami cara protokol ini mencapai kerahasiaan terus-menerus secara bawaan, dan evaluasi kompromi keamanan penyambungan kembali sesi 0-RTT.

Jabat Tangan TLS 1.3 dan Penyambungan Kembali 0-RTT adalah pelajaran Cloud & IT Cert Prep gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Cloud & IT Cert Prep, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cloud & IT Cert Prep mencakup 4 pelajaran total.

Mengapa TLS 1.3 Diperlukan

TLS 1.3, yang dirilis pada 2018 (RFC 8446), dirancang untuk memperbaiki kelemahan yang terakumulasi dalam TLS 1.2 selama satu dekade serangan di dunia nyata. Versi sebelumnya memungkinkan negosiasi rangkaian sandi yang lemah, mendukung kriptografi tingkat ekspor, dan memerlukan beberapa perjalanan bolak-balik sebelum Data dapat mengalir. TLS 1.3 menghapus semua algoritme yang tidak digunakan lagi dan menyederhanakan jabat tangan menjadi satu perjalanan bolak-balik dalam kondisi normal, sehingga meningkatkan keamanan dan performa secara signifikan.

Gambaran Umum Jabat Tangan: Satu Perjalanan Bolak-Balik

Dalam TLS 1.3, klien dan server menyelesaikan jabat tangan dalam 1-RTT (satu perjalanan bolak-balik). Klien mengirim ClientHello yang mencakup rangkaian sandi yang didukung dan pembagian kunci (menggunakan Diffie-Hellman). Server merespons dengan ServerHello, pembagian kuncinya sendiri, sertifikat, dan Data aplikasi terenkripsi pertama — semuanya dalam satu pengiriman. Klien kemudian memverifikasi sertifikat dan mengirim pesan Finished sebelum bertukar Data aplikasi.

# Trace TLS 1.3 handshake with openssl
openssl s_client -connect example.com:443 -tls1_3 -msg 2>&1 | grep -E 'ClientHello|ServerHello|Finished'

Pertukaran Kunci: Hanya Diffie-Hellman Ephemeral

TLS 1.3 mewajibkan pertukaran kunci ephemeral — pertukaran kunci RSA dihapus sepenuhnya. Semua pertukaran kunci harus menggunakan ECDHE (Elliptic Curve Diffie-Hellman Ephemeral) atau DHE (Diffie-Hellman Ephemeral). Kata 'ephemeral' berarti pasangan kunci baru dibuat untuk setiap sesi. Ini merupakan dasar dari kerahasiaan penerusan sempurna: penyusupan terhadap kunci privat jangka panjang server tidak dapat mendekripsi sesi sebelumnya karena setiap sesi menggunakan kunci sementara yang unik.

Penjelasan Kerahasiaan Penerusan Sempurna

Perfect Forward Secrecy (PFS) memastikan bahwa meskipun penyerang merekam semua lalu lintas terenkripsi hari ini dan memperoleh kunci privat server di masa mendatang, mereka tetap tidak dapat mendekripsi sesi lama. Dalam TLS 1.2 dengan pertukaran kunci RSA, kunci privat server dapat mendekripsi rahasia pramaster pada sesi sebelumnya — kegagalan yang sangat parah. Kunci DH ephemeral milik TLS 1.3 berarti setiap sesi menghasilkan kuncinya sendiri, dan kunci ephemeral tersebut dibuang setelah digunakan.

Penyederhanaan Rangkaian Sandi

TLS 1.2 mendukung lebih dari 300 rangkaian sandi, dan banyak di antaranya lemah atau rusak. TLS 1.3 menguranginya menjadi hanya lima rangkaian sandi, yang semuanya menggunakan AEAD (Authenticated Encryption with Associated Data): TLS_AES_128_GCM_SHA256, TLS_AES_256_GCM_SHA384, TLS_CHACHA20_POLY1305_SHA256, TLS_AES_128_CCM_SHA256, dan TLS_AES_128_CCM_8_SHA256. Hal ini menghapus seluruh kategori serangan seperti BEAST, POODLE, dan FREAK yang mengeksploitasi negosiasi sandi yang lemah.

# Check supported TLS 1.3 cipher suites on a server
nmap --script ssl-enum-ciphers -p 443 example.com

Penyambungan 0-RTT: Kecepatan vs Keamanan

Penyambungan 0-RTT (Zero Round Trip Time) adalah fitur opsional TLS 1.3 yang memungkinkan klien mengirim Data aplikasi dalam pesan pertama, sebelum jabat tangan selesai. Fitur ini bekerja dengan menggunakan Pre-Shared Key (PSK) dari sesi sebelumnya. Meskipun 0-RTT secara drastis mengurangi latensi — hal yang penting untuk API dengan lalu lintas tinggi — fitur ini memiliki kompromi penting: Data awal tidak terlindungi dari serangan pemutaran ulang.

Risiko Serangan Pemutaran Ulang pada 0-RTT

Dalam serangan pemutaran ulang terhadap Data 0-RTT, penyerang yang mencegat pesan awal dapat mengirimkannya kembali ke server dan berpotensi memicu tindakan yang sama dua kali (misalnya pembayaran atau perubahan status). Spesifikasi TLS 1.3 secara eksplisit memperingatkan bahwa Data awal 0-RTT hanya boleh membawa operasi idempoten — operasi yang menghasilkan hasil sama terlepas dari berapa kali dijalankan, seperti permintaan GET. Operasi yang tidak idempoten (POST, DELETE) tidak boleh menggunakan 0-RTT.

Kunci yang Dibagikan Sebelumnya dan Penyambungan Sesi

Setelah jabat tangan penuh TLS 1.3 berhasil, server mengeluarkan pesan NewSessionTicket yang berisi PSK (Pre-Shared Key) dan disimpan oleh klien. Saat tersambung kembali, klien menyertakan PSK ini dalam ClientHello menggunakan ekstensi pre_shared_key. Server mengenalinya lalu menyetujui Data 0-RTT atau beralih ke penyambungan 1-RTT. Tiket PSK memiliki batas waktu dan sebaiknya sering dirotasi untuk membatasi jangka waktu paparannya.

Jabat Tangan Terenkripsi: Menyembunyikan Metadata

Salah satu Improvement utama dalam TLS 1.3 adalah bahwa sebagian besar jabat tangan dienkripsi, termasuk sertifikat server. Dalam TLS 1.2, sertifikat server dikirim dalam teks biasa sehingga pengamat jaringan dapat mengidentifikasi domain yang sedang dihubungi klien. TLS 1.3 mengenkripsi sertifikat dan sebagian besar pesan jabat tangan berikutnya, sehingga mengurangi metadata yang tersedia bagi pengamat pasif. Encrypted Client Hello (ECH) adalah ekstensi yang sedang berkembang dan bahkan menyembunyikan bidang SNI (Server Name Indication).

Fitur yang Dihapus: Hal yang Dihilangkan TLS 1.3

TLS 1.3 menghapus banyak fitur lama yang telah menjadi sumber risiko: pertukaran kunci RSA (tidak menyediakan kerahasiaan penerusan), rangkaian sandi mode CBC (rentan terhadap serangan padding oracle), RC4 (sandi aliran yang sepenuhnya rusak), kriptografi tingkat ekspor (penyebab FREAK dan Logjam), MD5 dan SHA-1 dalam tanda tangan digital, kompresi (penyebab CRIME), serta negosiasi ulang (penyebab berbagai serangan). Dengan menghapus semua itu, TLS 1.3 memiliki permukaan serangan yang jauh lebih kecil.

Mengonfigurasi Server untuk TLS 1.3

Penerapan TLS 1.3 yang benar mengharuskan Anda mengonfigurasi server web agar memprioritaskannya sekaligus menonaktifkan TLS 1.0 dan 1.1. Sebagian besar server web modern (Nginx, Apache, IIS) mendukung TLS 1.3 secara bawaan. Anda juga harus memastikan bahwa OCSP Stapling diaktifkan untuk menyediakan status pencabutan sertifikat tanpa klien menghubungi CA, dan bahwa header HSTS mencegah serangan penurunan versi ke HTTP. Gunakan alat seperti SSL Labs untuk memverifikasi bahwa konfigurasi Anda memperoleh peringkat A+.

# Nginx TLS 1.3 configuration
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:ECDHE-RSA-AES256-GCM-SHA384';
ssl_prefer_server_ciphers off;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:10m;
add_header Strict-Transport-Security 'max-age=63072000' always;

Pemeriksaan Singkat

Uji pemahaman Anda tentang konsep CompTIA Security+ (SY0-701) dari pelajaran ini.

Ringkasan Pelajaran

Dalam pelajaran ini Anda mempelajari bahwa: TLS 1.3 menyelesaikan jabat tangan dalam 1-RTT hanya dengan pertukaran kunci DH ephemeral untuk menyediakan kerahasiaan penerusan sempurna, penyambungan 0-RTT memungkinkan penyambungan kembali yang lebih cepat menggunakan PSK tetapi rentan terhadap serangan pemutaran ulang dan hanya boleh membawa operasi idempoten, serta TLS 1.3 menghapus semua fitur lama yang lemah — pertukaran kunci RSA, sandi CBC, RC4, kriptografi ekspor, dan kompresi — sehingga secara drastis mengurangi permukaan serangan. Selanjutnya kita akan membahas algoritme enkripsi terautentikasi seperti AES-GCM.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Jabat Tangan TLS 1.3 dan Penyambungan Kembali 0-RTT” gratis?

Ya — teks lengkap “Jabat Tangan TLS 1.3 dan Penyambungan Kembali 0-RTT” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cloud & IT Cert Prep, upgrade ke CoddyKit PRO. Kursus Cloud & IT Cert Prep mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Jabat Tangan TLS 1.3 dan Penyambungan Kembali 0-RTT”?

Telusuri jabat tangan TLS 1.3 langkah demi langkah, pahami cara protokol ini mencapai kerahasiaan terus-menerus secara bawaan, dan evaluasi kompromi keamanan penyambungan kembali sesi 0-RTT. Kamu berlatih Cloud & IT Cert Prep dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Cloud & IT Cert Prep?

Tidak diperlukan pengalaman sebelumnya. Cloud & IT Cert Prep di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.

Berapa lama pelajaran “Jabat Tangan TLS 1.3 dan Penyambungan Kembali 0-RTT” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Cloud & IT Cert Prep ini?

Ya. Setiap pelajaran Cloud & IT Cert Prep menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Jabat Tangan TLS 1.3 dan Penyambungan Kembali 0-RTT
  2. Enkripsi Terautentikasi: AES-GCM dan ChaCha20-Poly1305
  3. Fungsi Derivasi Kunci: PBKDF2, bcrypt, dan Argon2
  4. Kriptografi Pascakuantum: CRYSTALS-Kyber dan Dilithium
← Kembali ke Cloud & IT Cert Prep