Kriptografi Terapan dan Keamanan Password: PGP, DNSSEC, TLS/SSL, serangan autentikasi
Kriptografi di tempat kerja sehari-hari: PGP untuk email, DNSSEC untuk DNS, TLS untuk web, dan bagaimana sistem autentikasi diserang.
Tujuan pembelajaran
Sesuai RPS TL455 pertemuan 10, setelah mempelajari materi ini kamu mampu menjelaskan PGP, DNSSEC, TLS/SSL, dan kerentanan sistem password. Empat hal itulah yang diuji di akhir modul, dan tiga yang pertama kamu praktikkan pada pertemuan 11.
Bahan rujukan modul ini: Bab 6 (Applied Cryptography, bagian PGP, DNSSEC, TLS) dan Bab 15 (Types of Attacks, bagian Password Attacks) buku *Principles of Computer Security: CompTIA Security+ and Beyond* (2021), ditambah bagian autentikasi pada Bab 11.
PGP: kriptografi hibrid di dunia nyata
Bab 6 memperkenalkan PGP (Pretty Good Privacy) sebagai *protocol suite* yang berguna dan bersejarah, dengan satu fitur unik: memakai sekaligus enkripsi simetris dan asimetris, mengambil kekuatan masing-masing dan menghindari kelemahannya. Pola persisnya dari buku:
- Kunci simetris dipakai untuk bulk encryption: isi pesan yang panjang dienkripsi dengan cepat dan efisien.
- Kunci simetris itu dikirim memakai metode asimetris: fleksibel, tanpa masalah distribusi kunci.
Inilah pola hibrid yang diteorikan di pertemuan 7, bekerja di dunia nyata. PGP kini dijual sebagai aplikasi komersial (versi rumahan dan korporasi), dan implementasi terbukanya kamu praktikkan di pertemuan 11. Titik kritisnya tidak berubah: private key adalah segalanya; hilang berarti isi tak terbaca lagi, bocor berarti penyadap berperan sebagai kamu.
DNSSEC: jawaban DNS yang ditandatangani
Bab 6 merumuskan masalahnya: DNS menerjemahkan nama menjadi alamat IP (kueri standar lewat UDP port 53), bersifat hierarkis dari server lokal hingga root, dan kueri serta jawabannya dikirim dalam plaintext sehingga rentan spoofing.
DNSSEC adalah kumpulan ekstensi DNS yang, lewat kriptografi, menyediakan tiga jaminan sesuai buku: origin authentication (asal jawaban bisa diverifikasi), authenticated denial of existence (ketidakhadiran rekaman juga bisa dibuktikan), dan data integrity. Catatan penting yang sering salah dipahami: buku menegaskan DNSSEC tidak mencakup availability atau confidentiality. Ia menandatangani jawaban, bukan mengenkripsinya. Verifikasi praktisnya dengan dig kamu lakukan di pertemuan 11.
TLS dan SSL: satu pengganti yang sah
Bab 6 membedakannya dengan tegas: SSL (Secure Sockets Layer) adalah protokol transport layer asli, telah jatuh ke berbagai kerentanan, dan tidak boleh dipakai lagi; TLS adalah protokol kriptografi terkini yang menyediakan integritas dan keamanan data lewat enkripsi. Meski TLS berbasis SSL dan kadang disebut "SSL", keduanya tidak interoperable, dan mekanisme penurunan versi (back down to SSL 3.0) justru celah yang harus ditutup.
TLS tersusun dari dua bagian:
- TLS Record Protocol: menyediakan keamanan koneksi dengan metode enkripsi yang didukung (bisa juga tanpa enkripsi).
- TLS Handshake Protocol: server dan klien saling mengautentikasi dan menegosiasikan algoritma enkripsi sesi serta kunci sebelum data dipertukarkan. Langkahnya: klien mengirim *hello* berisi opsi TLS yang didukung; server membalas *hello* memilih opsi lalu mengirim sertifikat-nya; negosiasi kunci berlanjut hingga sesi terenkripsi terbentuk.
Komposisi algoritma yang disepakati disebut cipher suite, dengan empat komponen menurut buku: key agreement, authentication, symmetric cipher dan ukuran kuncinya, serta hash algorithm untuk message authentication. Bab 6 juga mengingatkan soal algoritma lemah/usang: bila server menawarkan SSL v3 dan TLS, pilih TLS saja; untuk sertifikat gunakan SHA-256, bukan MD5 atau SHA-1; dan perjalanan teknologi berlanjut ke AEAD dan TLS 1.3.
Kerentanan sistem password: serangan autentikasi
Bab 15 (bagian Password Attacks) membuka dengan penilaian jujur: kombinasi user ID dan password bukan mekanisme yang buruk; kegagalannya biasanya bukan karena skemanya, melainkan karena pengguna tidak mengikuti prosedur sandi yang baik. Bentuk-bentuk serangannya:
- Password guessing: manusia memilih sandi yang mudah diingat dan memakai ulang; penyerang tinggal menebak pola itu.
- Dictionary attack: program cracking mencoba daftar kata kamus, menggabungkan beberapa kata, dengan aturan (rules) seperti penggantian huruf menjadi angka.
- Brute force: mencoba semua kombinasi; waktu bertumbuh eksponensial terhadap panjang sandi.
- Rainbow tables: tabel pra-hitung yang mengubah pencarian sandi dari *masalah komputasi* menjadi *masalah lookup*. Pertahanan terbaiknya menurut buku: salted hashes; salt (deretan karakter acak) membuat proses prahitung tidak bisa direplikasi antar sistem karena tabelnya jadi terlalu besar untuk dihitung.
- Plaintext/unencrypted passwords: buku menegaskan, kapan pun sebuah sistem bisa mengirimkan salinan sandimu, itu masalah keamanan.
Pelengkap dari Bab 11: protokol autentikasi jaringan (PAP meneruskan username/password tanpa enkripsi; CHAP memakai challenge), kebijakan kata sandi (sandi harus cukup kuat menahan serangan tapi masih masuk akal bagi pengguna), autentikasi terpusat (RADIUS dan TACACS+), serta HOTP/TOTP (kode sekali pakai yang kedaluwarsa setelah dipakai atau setelah interval waktu; contoh perangkat kerasnya YubiKey). Semuanya menyambung ke praktik cracking pada pertemuan 11 di mesin milikmu sendiri.
Rangkuman
- PGP memakai kriptografi hibrid: simetris untuk bulk encryption, asimetris untuk mengantar kunci.
- DNSSEC menyediakan origin authentication, authenticated denial of existence, dan data integrity; tidak menyediakan availability atau confidentiality.
- SSL telah jatuh ke kerentanan dan tidak boleh dipakai; TLS tersusun dari Record Protocol dan Handshake Protocol.
- Cipher suite memuat empat komponen: key agreement, authentication, symmetric cipher + ukuran kunci, hash untuk message authentication.
- Serangan autentikasi: password guessing, dictionary, brute force, rainbow tables; jawabannya: sandi kuat-unik, salted hashes, kebijakan sandi, dan OTP.
Glosarium mini
- PGP (Pretty Good Privacy): protocol suite kriptografi hibrid untuk email dan berkas.
- DNSSEC: ekstensi DNS bertanda tangan kriptografis untuk asal jawaban dan integritasnya.
- TLS / SSL: protokol kriptografi transport modern / pendahulunya yang telah usang.
- Cipher suite: paket algoritma yang disepakati dalam koneksi TLS.
- Handshake Protocol: bagian TLS untuk saling autentikasi dan negosiasi kunci.
- Rainbow table: tabel pra-hitung hash yang membalik sandi tanpa salt.
- Salt: karakter acak tambahan sebelum hashing, mematikan rainbow table.
- TOTP / HOTP: kata sandi sekali pakai berbasis waktu / penghitung.