TLS, sertifikat, dan tanda tangan digital
| English | Bahasa Indonesia |
|---|---|
| TLS/ˌtiː el ˈes/ | TLS |
| digital certificate/ˈdɪdʒɪtl səˈtɪfɪkət/ | sertifikat digital |
| digital signature/ˈdɪdʒɪtl ˈsɪɡnɪtʃə/ | tanda tangan digital |
| authenticity/ɔːθənˈtɪsɪti/ | otentisitas |
| integrity/ɪnˈteɡrɪti/ | integritas |
| Certificate Authority/səˈtɪfɪkət əˈθɒrɪti/ | Otoritas Sertifikat |
Enkripsi saja tidak akan membantu
- Misalkan koneksi Anda ke bank sangat aman terenkripsi, dan misalkan seorang penyerang berada di antara Anda dan bank, memegang koneksi terenkripsi ke kedua sisi.
- Setiap byte dienkripsi. Setiap byte juga dibaca, dan diubah, oleh penyerang. Enkripsi melakukan persis apa yang dijanjikannya dan tidak melindungi apa pun yang penting.
- Yang hilang bukanlah kerahasiaan melainkan identitas: bukti bahwa kunci publik yang Anda gunakan untuk mengenkripsi milik bank dan bukan milik siapa pun yang menjawab.
- Pelajaran ini adalah tiga hal yang menutup celah tersebut: TLS untuk koneksi, sertifikat digital untuk identitas, dan tanda tangan digital untuk autentisitas dan integritas.
Apa yang diberikan TLS
- TLS, Transport Layer Security, penerus SSL, adalah protokol yang mengamankan data saat transit. Ini menyediakan tiga hal sekaligus, dan ujian meminta ketiganya disebutkan.
- Enkripsi, agar penyadap hanya membaca ciphertext. Autentikasi, agar klien tahu server mana yang sedang ia bicarakan. Integritas, agar setiap penyuntingan selama transit terdeteksi.
- Inilah makna gembok di bilah browser, dan digunakan oleh HTTPS, email aman, VPN, dan perbankan online.
TLS menyediakan kombinasi perlindungan apa untuk data saat transit?
TLS mengenkripsi lalu lintas, mengautentikasi server (melalui sertifikat), dan mendeteksi pemalsuan (integritas).
Perlindungan apa yang disediakan TLS untuk data saat transit? Pilih semua yang berlaku.
Pengiriman adalah tugas TCP. TLS menambahkan kerahasiaan, identitas, dan deteksi pemalsuan di atasnya.
Jabat tangan
- Klien mengusulkan pasangan cipher yang didukungnya. Server membalas dengan pilihannya dan sertifikat digital-nya, yang berisi kunci publik-nya.
- Klien memeriksa sertifikat. Jika puas, kedua sisi menggunakan enkripsi asimetris untuk menyepakati kunci sesi baru.
- Semua lalu lintas selanjutnya dienkripsi secara simetris dengan kunci sesi tersebut: cepat, dan berkunci segar untuk percakapan ini saja.
- Pengecekan sertifikat adalah langkah yang menggagalkan serangan dalam kaitan. Tanpa hal itu, klien akan dengan senang hati sepakat kunci sesi dengan penyerang.

Asimetris untuk menyepakati kunci, simetris untuk segalanya setelahnya
Handshake TLS
Ikuti alur kejadian sebelum gembok muncul. Kriptografi publik yang lambat hanya digunakan untuk menyepakati kunci bersama; halaman sebenarnya kemudian ditransmisikan di bawah enkripsi simetris yang cepat.
Susun langkah-langkah handshake TLS secara berurutan.
Pengecekan sertifikat dilakukan sebelum kesepakatan kunci, inilah yang mencegah orang di tengah menyepakati kunci dengan klien.
Sertifikat digital
- Sertifikat digital mengikat identitas, domain atau organisasi, ke kunci publik, dan ditandatangani oleh Otoritas Sertifikat (CA) tepercaya.
- Berisi subjek identitasnya yang disahkan, kunci publik subjek, penerbit, masa berlaku, dan tanda tangan digital CA atas semuanya.
- Tanda tangannyalah yang membuatnya dapat dipercaya: siapa pun bisa membuat dokumen yang mengklaim sebagai bank, tetapi hanya CA yang dapat menghasilkan tanda tangan yang diverifikasi dengan kunci publik CA.

Pihak ketiga tepercaya menjamin bahwa kunci ini milik nama ini
Pasangkan setiap mekanisme keamanan dengan fungsinya.
Sertifikat menjamin kunci publik; tanda tangan menggunakan kunci pribadi untuk membuktikan pengirim dan bahwa tidak ada yang berubah.
Contoh soal: bagaimana klien memverifikasi sertifikat
- Jelaskan pengecekan yang dilakukan browser terhadap sertifikat digital sebuah situs web. [4]
- Memeriksa apakah sertifikat berada dalam masa berlakunya, tidak kadaluwarsa dan belum tidak valid.
- Memeriksa nama subjek cocok dengan domain yang diminta pengguna, yaitu pengecekan yang menangkap penyerang yang menyajikan sertifikat asli untuk situs berbeda.
- Memverifikasi tanda tangan CA pada sertifikat menggunakan kunci publik CA, membuktikan bahwa sertifikat tidak telah diubah.
- Mengikuti rantai menuju CA akar yang sudah dipercaya browser. Jika ada pengecekan yang gagal, browser menampilkan peringatan "koneksi tidak pribadi".
Saat memverifikasi sertifikat, klien memeriksa bahwa sertifikat tersebut:
Browser memeriksa tanggal validitas, bahwa nama subjek sesuai dengan situs, dan tanda tangan CA hingga ke akar tepercaya.
Apa yang membuat sertifikat digital dapat dipercaya?
Siapa pun bisa menulis dokumen yang mengklaim menjadi bank dan memasukkan kunci di dalamnya. Hanya CA yang dapat menghasilkan tanda tangan yang diverifikasi dengan kunci publik CA.
Tanda tangan digital
- Tanda tangan digital membuktikan autentisitas, siapa yang mengirim pesan, dan integritas, bahwa pesan tersebut tidak diubah. Hal ini tidak mengenkripsi pesan atau menjadikannya rahasia.
- Untuk menandatangani: pengirim memasukkan pesan melalui fungsi hash untuk menghasilkan digest, lalu mengenkripsi digest tersebut dengan kunci privatnya sendiri. Digest yang dienkripsi adalah tandatangan, dan ikut serta bersama pesan.
- Untuk memverifikasi: penerima mendekripsi tanda tangan dengan kunci publik pengirim untuk mengembalikan digest, menghash pesan yang diterima sendiri, dan membandingkan keduanya.
- Jika cocok, hanya pemegang kunci privat yang dapat membuat tanda tangan (autentisitas) dan pesan tidak mungkin berubah (integritas), karena perubahan apa pun akan menghasilkan hash yang berbeda.

Tandatangani digest dengan kunci privat, periksa dengan kunci publik
Untuk membuat tanda tangan digital, pengirim:
Tanda tangan = hash pesan, lalu enkripsi digest dengan kunci pribadi; penerima memverifikasi dengan kunci publik.
Tanda tangan digital membuktikan keaslian dan integritas (siapa yang menandatanganinya, dan bahwa tidak ada yang berubah) tetapi TIDAK menyembunyikan pesan — Anda harus mengenkripsinya juga untuk kerahasiaan.
Penandatanganan dan enkripsi adalah tujuan terpisah: tanda tangan membuktikan asal/integritas; enkripsi menjaga kerahasiaan isi.
Untuk menandatangani pesan, pengirim mengenkripsi digestnya dengan kunci ____ miliknya sendiri.
Penerima kemudian mendekripsinya dengan kunci publik pengirim. Hanya pemegang kunci pribadi yang dapat menghasilkan tanda tangan yang dapat dibuka seperti itu.
Contoh soal: mengapa urutan kuncinya terbalik
- Dalam pesan rahasia pengirim menggunakan kunci publik penerima. Dalam penandatanganan, pengirim menggunakan kunci privatnya sendiri. Jelaskan mengapa.
- Untuk kerahasiaan Anda menginginkan hanya satu orang yang mampu membacanya, jadi Anda mengunci dengan kunci yang dimiliki semua orang dan membuka hanya dengan satu kunci yang tidak dimiliki orang lain.
- Untuk sebuah tanda tangan yang ingin semua orang dapat memeriksanya dan hanya Anda yang dapat membuatnya, maka Anda menguncinya dengan kunci yang hanya Anda miliki dan membukanya dengan kunci yang dimiliki semua orang.
- Arah pasangan kunci mengikuti dari apa yang ingin Anda buktikan. Ini adalah ide paling sering diujikan dalam topik ini.
Mengenkripsi koneksi saja sudah cukup untuk menghentikan serangan orang di tengah.
Enkripsi melindungi saluran bagi siapa pun yang berada di ujung lainnya. Sertifikat membuktikan siapa itu, itulah sebabnya verifikasi merupakan langkah penopang beban.
Memperoleh sertifikat
- Pemilik server membuat pasangan kunci dan mengirimkan kunci publik serta detail identitas ke Otoritas Sertifikat. Kunci pribadi tetap pada pemilik. Otoritas Sertifikat memeriksa kendali atas domain atau identitas yang diperlukan oleh jenis sertifikat.
- Otoritas Sertifikat menandatangani ikatan sertifikat yang mengaitkan identitas tersebut dengan kunci publik, menggunakan kunci pribadi Otoritas Sertifikat, dan mengembalikannya untuk instalasi. Sertifikat adalah bukti publik tentang sebuah kunci, bukan wadah untuk kunci rahasia pemilik.
Item manakah yang termasuk dalam permintaan sertifikat ke CA? Pilih semua yang berlaku.
CA memeriksa identitas yang diklaim dan mengikatnya dengan kunci publik. Kunci privat pemohon tetap dirahasiakan.
Urutkan langkah-langkah untuk mendapatkan sertifikat digital.
Identitas diperiksa sebelum CA menandatangani pengikatan tersebut. Server menyajikan sertifikat kepada klien.
Contoh terpadu: kunci siapa yang menandatangani apa?
- Penerbit perangkat lunak menandatangani unduhan dengan kunci pribadi penerbit. Penerima memperoleh kunci publik penerbit dari sertifikat yang valid dan menggunakannya untuk memverifikasi tanda tangan unduhan.
- Kunci pribadi Otoritas Sertifikat menandatangani sertifikat; kunci pribadi penerbit menandatangani unduhan. Sertifikat yang valid menetapkan kunci publik mana yang harus dipercaya. Hal itu sendiri tidak menandatangani program atau membuktikan bahwa program tersebut tidak berbahaya.
Pasangkan setiap operasi dengan kunci yang tepat.
CA menjamin pengikatan identitas ke kunci. Penerbit menandatangani kontennya sendiri; penerima memeriksanya dengan kunci publik yang sesuai.
⟦⟧ Nilai yang sering terlewat
- TLS menyediakan enkripsi, autentikasi, dan integritas. Menyebutkan hanya enkripsi akan kehilangan dua pertiga dari jawaban.
- Tanda tangan mengenkripsi hash pesan dengan kunci pribadi pengirim, bukan pesannya sendiri, dan hal itu tidak membuat pesan menjadi rahasia.
- Memverifikasi sertifikat berarti memeriksa tanggal, nama yang cocok dengan domain, tanda tangan CA, dan rantai menuju akar kepercayaan. Pengecekan nama adalah bagian yang sering dilupakan oleh calon peserta ujian.
- Sertifikatlah yang mencegah serangan man-in-the-middle. Enkripsi saja tidak cukup: enkripsi melindungi saluran komunikasi ke siapa pun yang berada di ujung lainnya.
Anda telah memahaminya
- TLS memberikan enkripsi, autentikasi, dan integritas; proses handshake-nya menampilkan sertifikat, kemudian menyepakati kunci sesi untuk enkripsi simetris yang cepat.
- Sebuah sertifikat digital mengikat identitas ke kunci publik dan ditandatangani oleh Otoritas Sertifikat; sertifikat ini memuat subjek, kunci publiknya, penerbit, periode berlaku, dan tanda tangan CA.
- Verifikasi sertifikat melalui tanggal, nama yang cocok dengan domain, tanda tangan CA, dan rantai menuju akar kepercayaan.
- Tanda tangan digital adalah hash pesan yang dienkripsi dengan kunci pribadi pengirim, diverifikasi menggunakan kunci publik pengirim: ini membuktikan otentisitas dan integritas, bukan kerahasiaan.