Terminologi Keamanan yang Penting

Dua dari sekian banyak kendala yang dihadapi developer saat bermigrasi ke HTTPS adalah konsep dan terminologi. Panduan ini memberikan ringkasan singkat tentang kedua hal tersebut.

Chris Palmer
Chris Palmer

Ringkasan

  • Menggunakan kunci publik/pribadi untuk menandatangani dan mendekripsi pesan antara browser dan server.
  • Otoritas sertifikat (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 membundel kunci publik bersama beberapa metadata tentang entitas yang memiliki kunci

Apa yang dimaksud dengan pasangan kunci publik dan pribadi?

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

Apa yang dimaksud dengan certificate authority?

Otoritas sertifikasi (CA) adalah organisasi yang menjamin pemetaan antara kunci publik dan nama DNS publik (seperti "www.foobar.com"). Misalnya, bagaimana klien mengetahui jika kunci publik tertentu adalah kunci publik true untuk www.foobar.com? Sebelum diteliti, 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 tersebut. Tanda tangan ini secara komputasi tidak layak untuk dipalsukan. Browser (dan klien lainnya) mempertahankan penyimpanan trust anchor yang berisi kunci publik yang dimiliki oleh CA terkenal, dan menggunakan kunci publik tersebut untuk memverifikasi secara kriptografis tanda tangan CA.

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

Apa yang dimaksud dengan permintaan penandatanganan sertifikat?

Permintaan penandatanganan sertifikat (CSR) adalah format data yang, seperti sertifikat, memaketkan kunci publik bersama beberapa metadata tentang entity yang memiliki kunci tersebut. Namun, klien tidak menafsirkan CSR; sedangkan CA melakukannya. Jika Anda mencari untuk mendapatkan jaminan CA untuk kunci publik server web, Anda mengirimkan CSR ke CA. CA memvalidasi informasi dalam CSR dan menggunakannya untuk membuat sertifikat. CA kemudian mengirimkan sertifikat akhir, dan Anda menginstal sertifikat tersebut (atau, kemungkinan besar, rantai sertifikat) dan kunci pribadi Anda di server web.