Pertukaran Kunci dan Enkripsi Hibrida
Pelajari cara pertukaran kunci Diffie-Hellman dan TLS menggabungkan metode simetris dan asimetris untuk mencapai kinerja sekaligus keamanan.
Pertukaran Kunci dan Enkripsi Hibrida adalah pelajaran Cloud & IT Cert Prep gratis di CoddyKit. Ini adalah pelajaran 4 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.
Masalah Pertukaran Kunci
Enkripsi simetris mengharuskan kedua pihak berbagi kunci rahasia yang sama sebelum dapat berkomunikasi dengan aman. Namun, bagaimana cara membagikan kunci tersebut dengan aman jika Anda belum memiliki saluran yang aman? Masalah distribusi kunci ini dianggap tidak dapat diselesaikan hingga 1976, ketika Whitfield Diffie dan Martin Hellman menerbitkan makalah yang revolusioner. Solusi mereka—pertukaran kunci Diffie-Hellman—memungkinkan dua pihak membuat kunci rahasia bersama melalui saluran yang tidak aman tanpa pernah mengirimkan kunci itu sendiri sehingga dapat dilihat oleh penyadap.
Konsep Pertukaran Kunci Diffie-Hellman
Diffie-Hellman (DH) menggunakan trik matematis cerdas yang didasarkan pada masalah logaritma diskret. Kedua pihak menyepakati dua nilai publik (bilangan prima besar p dan generator g). Masing-masing pihak menghasilkan bilangan acak privat, menghitung nilai publik darinya, lalu menukarkan nilai publik tersebut. Setelah itu, masing-masing pihak dapat menghitung rahasia bersama yang sama dari bilangan privatnya sendiri dan nilai publik pihak lain. Namun, penyadap yang hanya melihat nilai publik tidak dapat menghitung rahasia bersama tanpa menyelesaikan masalah logaritma diskret, yang secara komputasional sangat sulit untuk bilangan besar.
# Diffie-Hellman conceptual flow:
# 1. Agree on public parameters: prime p=23, generator g=5
# 2. Alice picks private a=6: computes A = g^a mod p = 5^6 mod 23 = 8
# 3. Bob picks private b=15: computes B = g^b mod p = 5^15 mod 23 = 19
# 4. Alice sends A=8 to Bob; Bob sends B=19 to Alice
# 5. Alice: s = B^a mod p = 19^6 mod 23 = 2
# 6. Bob: s = A^b mod p = 8^15 mod 23 = 2
# Shared secret = 2 (without either party transmitting it!)ECDH: Elliptic Curve Diffie-Hellman
Elliptic Curve Diffie-Hellman (ECDH) adalah varian modern yang lebih efisien dari pertukaran kunci Diffie-Hellman. ECDH menggunakan matematika kurva eliptik, bukan eksponensiasi modular, sehingga mencapai tingkat keamanan yang sama dengan parameter yang jauh lebih kecil. Kunci ECDH 256-bit memberikan keamanan yang setara dengan kunci DH 3072-bit. ECDHE (huruf “E” berarti Ephemeral) menghasilkan pasangan kunci baru untuk setiap sesi, sehingga memberikan perfect forward secrecy. TLS 1.3 mewajibkan ECDHE untuk pertukaran kunci, menjadikannya mekanisme pertukaran kunci yang dominan dalam keamanan web modern.
Perfect Forward Secrecy (PFS)
Perfect Forward Secrecy (PFS) memastikan bahwa kunci sesi tidak terekspos meskipun kunci privat jangka panjang server dicuri di kemudian hari. PFS dicapai dengan menggunakan pasangan kunci ephemeral untuk pertukaran kunci setiap sesi—kunci sesi diturunkan dari pasangan kunci sementara yang dibuang setelah sesi berakhir. Tanpa PFS (dengan menggunakan pertukaran kunci RSA), penyerang yang merekam lalu lintas terenkripsi hari ini dan kemudian mencuri kunci privat dapat mendekripsi semua lalu lintas sebelumnya secara retroaktif. Dengan PFS, sesi-sesi sebelumnya tetap aman bahkan setelah kunci disusupi.
# Check if a website uses Perfect Forward Secrecy
openssl s_client -connect google.com:443 2>/dev/null | grep 'Cipher'
# Cipher : TLS_AES_256_GCM_SHA384 (TLS 1.3 - always has PFS)
# Or look for ECDHE in cipher name:
# Cipher : ECDHE-RSA-AES256-GCM-SHA384 (TLS 1.2 with PFS)
# DHE-RSA-AES256-GCM-SHA384 (DHE = also PFS)
# RSA-AES256-SHA (NO PFS - static RSA key exchange)Enkripsi Hibrida: Keunggulan Keduanya
Enkripsi hibrida menggabungkan kriptografi asimetris dan simetris untuk memperoleh manfaat pengelolaan key dari enkripsi asimetris serta kinerja enkripsi simetris. Prosesnya: (1) menghasilkan key sesi simetris acak, (2) mengenkripsi data utama dengan key simetris ini (cepat), (3) mengenkripsi key simetris dengan key publik penerima (transmisi key yang aman), (4) mengirim data terenkripsi dan key terenkripsi secara bersamaan. Penerima mendekripsi key simetris dengan key privatnya, lalu mendekripsi data menggunakan key simetris yang telah dipulihkan.
# Hybrid encryption example with OpenSSL
# 1. Generate a random AES-256 session key
openssl rand -out session.key 32
# 2. Encrypt the large file with the symmetric session key
openssl enc -aes-256-cbc -pbkdf2 -in largefile.tar -out largefile.enc -pass file:session.key
# 3. Encrypt the session key with recipient's RSA public key
openssl rsautl -encrypt -inkey recipient_public.pem -pubin -in session.key -out session.key.enc
# Send: largefile.enc + session.key.encTLS Handshake: Enkripsi Hibrida dalam Praktik
TLS handshake adalah penerapan enkripsi hibrida di dunia nyata yang paling umum. Dalam TLS 1.3: (1) Klien mengirim cipher suite yang didukung dan pembagian key (nilai publik ECDHE). (2) Server merespons dengan pembagian key-nya, certificate (yang berisi key publiknya), dan tanda tangan. (3) Kedua pihak menghitung shared secret yang sama melalui ECDH. (4) Semua lalu lintas berikutnya dienkripsi dengan key simetris yang diturunkan dari shared secret (AES-256-GCM). Seluruh proses ini membangun saluran terenkripsi dalam satu perjalanan pulang-pergi tanpa pernah mengirimkan key simetris secara langsung.
# Observe the TLS 1.3 handshake
openssl s_client -connect example.com:443 -tls1_3
# You'll see:
# TLSv1.3, Handshake [length 0002], ServerHello
# Cipher : TLS_AES_256_GCM_SHA384
# Session-ID: (no session ID in TLS 1.3, uses PSK)
# Verify return code: 0 (ok)Mekanisme Enkapsulasi Key (KEM)
Kriptografi modern menggunakan Key Encapsulation Mechanisms (KEM) sebagai pendekatan yang lebih formal dan aman untuk pertukaran key dibandingkan enkripsi asimetris langsung atas key sesi. KEM memungkinkan satu pihak menghasilkan key simetris dan “mengenkapsulasinya” menggunakan key publik penerima, sedemikian rupa sehingga hanya penerima yang dapat mendekapsulasi (memulihkan) key tersebut. Standar pascakuantum NIST, CRYSTALS-Kyber, adalah KEM yang didasarkan pada masalah kisi, bukan faktorisasi bilangan bulat atau kurva eliptik, sehingga tahan terhadap serangan komputer kuantum.
Pertukaran Key RSA vs ECDHE
Sebelum TLS 1.3, pertukaran key RSA umum digunakan: klien menghasilkan rahasia pramaster, mengenkripsinya dengan key publik RSA server, lalu mengirimkannya ke server. Masalahnya: metode ini memberikan tidak ada kerahasiaan penerusan. Jika key privat server kemudian dibobol, semua sesi terdahulu yang dienkripsi dengan cara ini dapat didekripsi. TLS 1.3 sepenuhnya menghapus pertukaran key RSA (hanya mengizinkan ECDHE) secara khusus untuk memastikan kerahasiaan penerusan pada semua koneksi. Inilah alasan menonaktifkan TLS 1.0 dan 1.2 (yang masih mengizinkan RSA statis) serta mewajibkan TLS 1.3 merupakan peningkatan keamanan.
Penurunan Key Sesi
Shared secret yang dihasilkan oleh pertukaran Diffie-Hellman tidak digunakan langsung sebagai key enkripsi. Sebagai gantinya, shared secret tersebut dimasukkan ke dalam Key Derivation Function (KDF) untuk menghasilkan key enkripsi dan vektor inisialisasi yang sebenarnya. TLS 1.3 menggunakan HKDF (HMAC-based Key Derivation Function) untuk menurunkan key terpisah bagi enkripsi di setiap arah. KDF menambah biaya komputasi (sehingga brute-force menjadi lebih sulit), memperluas secret yang pendek menjadi jumlah byte key yang diperlukan, dan memastikan key hasil penurunan memiliki sifat statistik yang baik untuk digunakan sebagai key simetris.
Enkripsi Email PGP: Hibrida dalam Email
Pretty Good Privacy (PGP) dan padanan sumber terbukanya, OpenPGP, menggunakan enkripsi hibrida untuk email. Saat Alice mengirim email terenkripsi kepada Bob: PGP menghasilkan key sesi simetris acak, mengenkripsi isi email dengan key tersebut (AES), mengenkripsi key sesi dengan key publik RSA atau ECC milik Bob, lalu mengirim keduanya secara bersamaan. Untuk email bertanda tangan, PGP melakukan hash pada pesan dan menandatangani hash tersebut dengan key privat Alice—sehingga memberikan nirpenyangkalan. Model web of trust PGP (pengguna saling menandatangani key) merupakan alternatif bagi PKI berbasis otoritas sertifikat.
# Encrypt and sign an email file with GPG (OpenPGP)
# Encrypt to Bob using his public key, sign with Alice's private key
gpg --encrypt --sign --recipient bob@example.com --armor message.txt
# Decrypt (Bob uses his private key)
gpg --decrypt message.txt.asc
# List available keys
gpg --list-keys
gpg --list-secret-keysRisiko Man-in-the-Middle dalam Pertukaran Key
Pertukaran key Diffie-Hellman aman terhadap penyadap pasif, tetapi rentan terhadap serangan man-in-the-middle (MITM) aktif jika kedua pihak tidak saling mengautentikasi. Penyerang dapat mencegat nilai publik Alice, menggantinya dengan nilai miliknya, lalu membangun sesi DH terpisah dengan Alice dan Bob—masing-masing mengira sedang berkomunikasi dengan pihak lainnya. Inilah alasan TLS menggabungkan pertukaran key DH dengan autentikasi certificate: certificate server (yang ditandatangani oleh CA tepercaya) membuktikan identitas server dan mencegah penggantian key publik oleh MITM selama handshake.
Pemeriksaan Singkat
Uji pemahaman Anda tentang konsep CompTIA Security+ (SY0-701) dari pelajaran ini.
Ringkasan Pelajaran
Dalam pelajaran ini Anda mempelajari bahwa: Diffie-Hellman memecahkan masalah pertukaran key dengan memungkinkan berbagai pihak menurunkan shared secret melalui saluran yang tidak aman; ECDHE (efemeral) memberikan Perfect Forward Secrecy; enkripsi hibrida menggabungkan pertukaran key asimetris dengan enkripsi massal simetris demi efisiensi; dan TLS 1.3 mewajibkan ECDHE untuk semua koneksi. Selanjutnya kita akan membahas Authorities Sertifikat dan Rantai Trust.
Belajar Cloud & IT Cert Prep 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
- 150
- Pelajaran
- 600
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Pertukaran Kunci dan Enkripsi Hibrida” gratis?
Ya — teks lengkap “Pertukaran Kunci dan Enkripsi Hibrida” 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 “Pertukaran Kunci dan Enkripsi Hibrida”?
Pelajari cara pertukaran kunci Diffie-Hellman dan TLS menggabungkan metode simetris dan asimetris untuk mencapai kinerja sekaligus keamanan. 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 4 dari 4.
Berapa lama pelajaran “Pertukaran Kunci dan Enkripsi Hibrida” 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
- Algoritma Enkripsi Simetris
- Enkripsi Asimetris dan Pasangan Kunci
- Hashing dan Integritas Data
- Pertukaran Kunci dan Enkripsi Hibrida