Cryptology Academy · Pelajaran

Jabat Tangan TLS 1.3 Langkah demi Langkah

Pelajari ClientHello, ServerHello, derivasi kunci, dan Finished.

Pelajaran 1 dari 413 langkah

Jabat Tangan TLS 1.3 Langkah demi Langkah adalah pelajaran Cryptology Academy 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 Cryptology Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cryptology Academy mencakup 4 pelajaran total.

Mengapa TLS?

TLS (Keamanan Lapisan Transportasi) melindungi data saat transit melalui internet. Setiap koneksi HTTPS menggunakan TLS. TLS 1.3, yang distandardisasi dalam RFC 8446 (2018), menghapus algoritma lama dan mengurangi perjalanan bolak-balik jabat tangan dari 2 menjadi 1.

ClientHello

Klien mengirimkan: versi TLS (1.3), nonce acak sepanjang 32 byte, daftar rangkaian sandi yang didukung (misalnya, TLS_AES_256_GCM_SHA384), dan ekstensi berbagi kunci yang berisi kunci publik ECDH untuk grup yang didukung (X25519, P-256).

ServerHello

Server memilih rangkaian sandi dan grup berbagi kunci, membuat pasangan kunci sementara ECDH sendiri, lalu membalas dengan kunci publiknya. Pada tahap ini, kedua pihak dapat menghitung rahasia bersama melalui ECDH.

Derivasi Kunci melalui HKDF

TLS 1.3 menggunakan HKDF (Fungsi Derivasi Kunci berbasis HMAC) dalam sebuah jadwal: rahasia awal → rahasia jabat tangan → rahasia utama. Setiap tahap menurunkan kunci terpisah untuk lalu lintas jabat tangan klien/server dan data aplikasi.

Server Selesai

Server mengirimkan sertifikatnya, CertificateVerify (tanda tangan atas transkrip jabat tangan menggunakan kunci privatnya), dan pesan selesai (MAC atas transkrip). Semuanya dienkripsi menggunakan kunci lalu lintas jabat tangan.

Klien Selesai

Klien memverifikasi rantai sertifikat, memeriksa tanda tangan CertificateVerify, memverifikasi MAC pesan selesai, lalu mengirimkan pesan selesainya sendiri. Jabat tangan kini selesai dalam 1 perjalanan bolak-balik (1-RTT).

Penyambungan Kembali 0-RTT

TLS 1.3 mendukung penyambungan kembali 0-RTT (nol perjalanan bolak-balik) menggunakan kunci yang dibagikan sebelumnya (PSK) dari sesi sebelumnya. Klien dapat segera mengirimkan data aplikasi, tetapi data 0-RTT tidak memiliki perlindungan terhadap pemutaran ulang dan sebaiknya bersifat idempoten.

Rangkaian Sandi TLS 1.3

TLS 1.3 hanya mewajibkan sandi AEAD: AES-128-GCM-SHA256, AES-256-GCM-SHA384, ChaCha20-Poly1305-SHA256. Semuanya menggunakan ECDHE atau DHE untuk pertukaran kunci. Rangkaian lemah (RC4, 3DES, CBC) telah dihapus.

Lapisan Rekaman

Setelah jabat tangan, semua data dibungkus dalam rekaman TLS: header 5 byte (jenis konten, versi, panjang) + muatan yang dienkripsi dengan AEAD. Nomor urutan bersifat implisit dan digunakan sebagai bagian dari nonce AEAD untuk mencegah pemutaran ulang.

Kerahasiaan ke Depan

Karena TLS 1.3 selalu menggunakan pertukaran kunci sementara (ECDHE), penyusupan terhadap kunci privat jangka panjang server tidak dapat mendekripsi sesi sebelumnya. Setiap sesi memiliki pasangan kunci sementara unik yang dihancurkan setelah jabat tangan.

Tampilan Wireshark

Di Wireshark: ClientHello menampilkan random + key_share; ServerHello menampilkan grup yang dipilih; rekaman berikutnya ditampilkan sebagai "Application Data" (terenkripsi). Ekspor SSLKEYLOGFILE untuk mendekripsi menggunakan kunci sesi.

Pemeriksaan Singkat

Berapa banyak perjalanan bolak-balik yang diperlukan untuk jabat tangan lengkap TLS 1.3?

Ringkasan

TLS 1.3 menggabungkan ECDHE, HKDF, sandi AEAD, dan autentikasi berbasis sertifikat dalam jabat tangan 1-RTT dengan kerahasiaan ke depan yang diwajibkan. Selanjutnya: lapisan rekaman TLS dan rangkaian sandi secara mendalam.

Gratis untuk memulai

Belajar Cryptology Academy dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
67
Pelajaran
261

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Jabat Tangan TLS 1.3 Langkah demi Langkah” gratis?

Ya — teks lengkap “Jabat Tangan TLS 1.3 Langkah demi Langkah” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cryptology Academy, upgrade ke CoddyKit PRO. Kursus Cryptology Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Jabat Tangan TLS 1.3 Langkah demi Langkah”?

Pelajari ClientHello, ServerHello, derivasi kunci, dan Finished. Kamu berlatih Cryptology Academy 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 Cryptology Academy?

Tidak diperlukan pengalaman sebelumnya. Cryptology Academy 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 Langkah demi Langkah” 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 Cryptology Academy ini?

Ya. Setiap pelajaran Cryptology Academy 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 Langkah demi Langkah
  2. Lapisan Rekaman TLS & Rangkaian Sandi
  3. Validasi Sertifikat dalam TLS
  4. Serangan TLS: BEAST, POODLE & Penurunan Versi
← Kembali ke Cryptology Academy