Jabat Tangan TLS 1.3 dan Penyambungan Semula 0-RTT
Jejaki jabat tangan TLS 1.3 langkah demi langkah, fahami cara ia mencapai kerahsiaan hadapan secara lalai dan nilai pertukaran keselamatan penyambungan semula sesi 0-RTT.
Jabat Tangan TLS 1.3 dan Penyambungan Semula 0-RTT ialah pelajaran Security+ Academy percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Security+ Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Security+ Academy merangkumi sejumlah 4 pelajaran.
Mengapa TLS 1.3 Diperlukan
TLS 1.3, yang dikeluarkan pada tahun 2018 (RFC 8446), direka untuk membaiki kelemahan yang terkumpul dalam TLS 1.2 sepanjang sedekad serangan dunia sebenar. Versi terdahulu membenarkan perundingan suite sifir yang lemah, menyokong kriptografi gred eksport, dan memerlukan beberapa perjalanan pergi balik sebelum data boleh mengalir. TLS 1.3 membuang semua algoritma yang tidak lagi disyorkan dan mempermudah jabat tangan kepada satu perjalanan pergi balik dalam keadaan biasa, sekali gus meningkatkan keselamatan dan prestasi dengan ketara.
Gambaran Keseluruhan Jabat Tangan: Satu Perjalanan Pergi Balik
Dalam TLS 1.3, klien dan pelayan melengkapkan jabat tangan dalam 1-RTT (satu perjalanan pergi balik). Klien menghantar ClientHello yang merangkumi suite sifir yang disokong dan perkongsian kunci (menggunakan Diffie-Hellman). Pelayan membalas dengan ServerHello, perkongsian kuncinya sendiri, sijil dan data aplikasi pertama yang disulitkan — semuanya dalam satu penghantaran. Klien kemudian mengesahkan sijil dan menghantar mesej 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: Diffie-Hellman Ephemeral Sahaja
TLS 1.3 mewajibkan pertukaran kunci ephemeral — ia membuang pertukaran kunci RSA sepenuhnya. Semua pertukaran kunci mesti menggunakan ECDHE (Elliptic Curve Diffie-Hellman Ephemeral) atau DHE (Diffie-Hellman Ephemeral). Perkataan ‘ephemeral’ bermaksud pasangan kunci baharu dijana untuk setiap sesi. Inilah asas perfect forward secrecy: pencerobohan terhadap kunci peribadi jangka panjang pelayan tidak dapat menyahsulit sesi lalu kerana setiap sesi menggunakan kunci sementara yang unik.
Penerangan tentang Perfect Forward Secrecy
Perfect Forward Secrecy (PFS) memastikan bahawa walaupun penyerang merakam semua trafik yang disulitkan hari ini dan memperoleh kunci peribadi pelayan pada masa hadapan, mereka tetap tidak dapat menyahsulit sesi lama. Dalam TLS 1.2 dengan pertukaran kunci RSA, kunci peribadi pelayan boleh menyahsulit rahsia prabuat dalam mana-mana sesi lalu — suatu kegagalan yang amat dahsyat. Kunci DH ephemeral TLS 1.3 bermaksud setiap sesi memperoleh kuncinya sendiri, dan kunci ephemeral tersebut dibuang selepas digunakan.
Penyederhanaan Suite Sifir
TLS 1.2 menyokong lebih daripada 300 suite sifir, dan banyak daripadanya lemah atau telah dipecahkan. TLS 1.3 mengurangkannya kepada hanya lima suite sifir, 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. Ini menghapuskan seluruh kategori serangan seperti BEAST, POODLE dan FREAK yang mengeksploitasi perundingan sifir yang lemah.
# Check supported TLS 1.3 cipher suites on a server
nmap --script ssl-enum-ciphers -p 443 example.comPenyambungan Semula 0-RTT: Kelajuan berbanding Keselamatan
Penyambungan semula 0-RTT (Zero Round Trip Time) ialah ciri pilihan TLS 1.3 yang membolehkan klien menghantar data aplikasi dalam mesej pertama, sebelum jabat tangan selesai. Ciri ini berfungsi dengan menggunakan Pre-Shared Key (PSK) daripada sesi terdahulu. Walaupun 0-RTT mengurangkan kependaman dengan ketara — penting untuk API trafik tinggi — ciri ini memperkenalkan pertukaran penting: data awal tidak dilindungi daripada serangan ulang tayang.
Risiko Serangan Ulang Tayang dalam 0-RTT
Dalam serangan ulang tayang terhadap data 0-RTT, penyerang yang memintas mesej data awal boleh menghantarnya semula kepada pelayan, lalu berpotensi mencetuskan tindakan yang sama dua kali (contohnya pembayaran atau perubahan keadaan). Spesifikasi TLS 1.3 memberi amaran secara jelas bahawa data awal 0-RTT hanya boleh membawa operasi idempoten — operasi yang menghasilkan keputusan sama tanpa mengira berapa kali ia dilaksanakan, seperti permintaan GET. Operasi bukan idempoten (POST, DELETE) tidak boleh menggunakan 0-RTT.
Kunci Prakongsi dan Penyambungan Semula Sesi
Selepas jabat tangan penuh TLS 1.3 yang berjaya, pelayan mengeluarkan mesej NewSessionTicket yang mengandungi PSK (Pre-Shared Key) untuk disimpan oleh klien. Apabila menyambung semula, klien menyertakan PSK ini dalam ClientHello menggunakan sambungan pre_shared_key. Pelayan mengenalinya lalu sama ada meluluskan data 0-RTT atau beralih kepada penyambungan semula 1-RTT. Tiket PSK mempunyai tempoh sah yang terhad dan hendaklah ditukar secara kerap untuk mengehadkan tempoh pendedahannya.
Jabat Tangan Disulitkan: Menyembunyikan Metadata
Satu penambahbaikan utama dalam TLS 1.3 ialah sebahagian besar jabat tangan disulitkan, termasuk sijil pelayan. Dalam TLS 1.2, sijil pelayan dihantar dalam teks biasa, yang membolehkan pemerhati rangkaian mengenal pasti domain yang hendak disambungkan oleh klien. TLS 1.3 menyulitkan sijil dan kebanyakan mesej jabat tangan seterusnya, sekali gus mengurangkan metadata yang tersedia kepada pemerhati pasif. Encrypted Client Hello (ECH) ialah sambungan baharu yang turut menyembunyikan medan SNI (Server Name Indication).
Ciri yang Dibuang: Perkara yang Dihapuskan oleh TLS 1.3
TLS 1.3 membuang banyak ciri legasi yang telah menjadi liabiliti: pertukaran kunci RSA (tiada kerahsiaan hadapan), suite sifir mod CBC (terdedah kepada serangan oracle pelapisan), RC4 (sifir aliran yang telah dipecahkan sepenuhnya), kriptografi gred eksport (punca FREAK dan Logjam), MD5 dan SHA-1 dalam tandatangan digital, pemampatan (punca CRIME), serta rundingan semula (punca pelbagai serangan). Dengan membuang semua ini, TLS 1.3 mempunyai permukaan serangan yang jauh lebih kecil.
Mengkonfigurasi Pelayan untuk TLS 1.3
Penggunaan TLS 1.3 yang betul memerlukan anda mengkonfigurasi pelayan web supaya mengutamakannya sambil melumpuhkan TLS 1.0 dan 1.1. Kebanyakan pelayan web moden (Nginx, Apache, IIS) menyokong TLS 1.3 secara asli. Anda juga hendaklah memastikan OCSP Stapling diaktifkan untuk menyediakan status pembatalan sijil tanpa klien menghubungi CA, serta memastikan pengepala HSTS menghalang serangan penurunan taraf kepada HTTP. Gunakan alat seperti SSL Labs untuk mengesahkan bahawa konfigurasi anda mencapai penarafan 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;Semakan Pantas
Uji pemahaman anda tentang konsep CompTIA Security+ (SY0-701) daripada pelajaran ini.
Rumusan Pelajaran
Dalam pelajaran ini anda mempelajari bahawa: TLS 1.3 melengkapkan jabat tangan dalam 1-RTT dengan hanya menggunakan pertukaran kunci DH ephemeral untuk perfect forward secrecy, penyambungan semula 0-RTT membolehkan penyambungan semula yang lebih pantas menggunakan PSK tetapi terdedah kepada serangan ulang tayang dan hanya patut membawa operasi idempoten, serta TLS 1.3 membuang semua ciri lemah legasi — pertukaran kunci RSA, sifir CBC, RC4, kriptografi eksport dan pemampatan — lalu mengurangkan permukaan serangan dengan ketara. Seterusnya kita akan meneroka algoritma penyulitan terautentikasi seperti AES-GCM.
Pelajari Security+ Academy dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 30
- Pelajaran
- 120
Soalan Lazim
Adakah pelajaran “Jabat Tangan TLS 1.3 dan Penyambungan Semula 0-RTT” percuma?
Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Security+ Academy, termasuk “Jabat Tangan TLS 1.3 dan Penyambungan Semula 0-RTT”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Security+ Academy merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Jabat Tangan TLS 1.3 dan Penyambungan Semula 0-RTT”?
Jejaki jabat tangan TLS 1.3 langkah demi langkah, fahami cara ia mencapai kerahsiaan hadapan secara lalai dan nilai pertukaran keselamatan penyambungan semula sesi 0-RTT. Anda berlatih Security+ Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Security+ Academy?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Security+ Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.
Berapa lamakah pelajaran “Jabat Tangan TLS 1.3 dan Penyambungan Semula 0-RTT” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Security+ Academy ini?
Ya. Setiap pelajaran Security+ Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Jabat Tangan TLS 1.3 dan Penyambungan Semula 0-RTT
- Penyulitan Disahkan: AES-GCM dan ChaCha20-Poly1305
- Fungsi Terbitan Kunci: PBKDF2, bcrypt dan Argon2
- Kriptografi Pascakuantum: CRYSTALS-Kyber dan Dilithium