Terminologi Keamanan yang Penting

Dua kendala yang dihadapi developer saat bermigrasi ke HTTPS adalah konsep dan terminologi. Panduan ini memberikan ringkasan singkat tentang keduanya.

Chris Palmer
Chris Palmer

Ringkasan

  • Menggunakan kunci publik/pribadi untuk menandatangani dan mendekripsi pesan antara browser dan server.
  • Certificate Authority (CA) adalah organisasi yang menjamin pemetaan antara kunci publik dan nama DNS publik (seperti "www.foobar.com").
  • Permintaan penandatanganan sertifikat (CSR) adalah format data yang menggabungkan kunci publik dengan beberapa metadata tentang entitas yang memiliki kunci tersebut

Apa yang dimaksud dengan pasangan kunci publik dan pribadi?

Pasangan kunci publik/pribadi adalah sepasang angka yang sangat besar yang digunakan sebagai kunci enkripsi dan dekripsi, dan memiliki hubungan matematika khusus. Sistem umum untuk pasangan kunci adalah kriptosistem RSA. Kunci publik digunakan untuk mengenkripsi pesan, dan pesan hanya dapat didekripsi dengan kunci pribadi yang sesuai. Server web Anda mengiklankan kunci publiknya ke seluruh dunia, dan klien (seperti browser web) menggunakannya untuk mem-bootstrap saluran aman ke server Anda.

Apa yang dimaksud dengan certificate authority?

Certificate Authority (CA) adalah organisasi yang menjamin pemetaan antara kunci publik dan nama DNS publik (seperti "www.foobar.com"). Misalnya, bagaimana klien mengetahui apakah kunci publik tertentu adalah kunci publik yang sebenarnya untuk www.foobar.com? Secara apriori, tidak ada cara untuk mengetahuinya. CA menjamin kunci tertentu sebagai kunci yang benar untuk situs tertentu dengan menggunakan kunci pribadinya sendiri untuk menandatangani secara kriptografis kunci publik situs. Tanda tangan ini secara komputasi tidak dapat dipalsukan. Browser (dan klien lainnya) mengelola trust anchor store yang berisi kunci publik yang dimiliki oleh CA terkenal, dan browser menggunakan kunci publik tersebut untuk memverifikasi secara kriptografis tanda tangan CA.

Sertifikat X.509 adalah format data yang menggabungkan kunci publik bersama dengan beberapa metadata tentang entitas yang memiliki kunci tersebut. Dalam kasus web, pemilik kunci adalah operator situs, dan metadata yang penting adalah nama DNS server web. Saat klien terhubung ke server web HTTPS, server web akan menampilkan sertifikatnya untuk diverifikasi klien. Klien memverifikasi bahwa sertifikat belum habis masa berlakunya, bahwa nama DNS cocok dengan nama server yang coba dihubungkan oleh klien, dan bahwa CA anchor kepercayaan yang dikenal telah menandatangani sertifikat. Pada umumnya, CA tidak menandatangani sertifikat server web secara langsung; biasanya, ada rantai sertifikat yang menautkan anchor kepercayaan ke penanda tangan perantara, dan akhirnya ke sertifikat server web itu sendiri (entitas akhir).

Apa yang dimaksud dengan permintaan penandatanganan sertifikat?

Permintaan penandatanganan sertifikat (CSR) adalah format data yang, seperti sertifikat, memaketkan kunci publik bersama dengan beberapa metadata tentang entitas yang memiliki kunci tersebut. Namun, klien tidak menafsirkan CSR; CA melakukannya. Saat Anda ingin mendapatkan jaminan CA untuk kunci publik server web, Anda akan mengirimkan CSR ke CA. CA memvalidasi informasi dalam CSR dan menggunakannya untuk membuat sertifikat. CA kemudian akan mengirimkan sertifikat akhir kepada Anda, dan Anda akan menginstal sertifikat tersebut (atau, lebih mungkin, rantai sertifikat) dan kunci pribadi Anda di server web.