Otentikasi kunci publik atau serupa melalui HTTP / HTTPS?

31

Apakah mungkin untuk mengkonfigurasi Apache, atau server web lain, untuk menggunakan semacam otentikasi kunci publik?

Yang saya inginkan, idealnya, adalah untuk dapat memberikan pengguna akses ke situs tanpa perlu nama pengguna / kata sandi, asalkan mereka telah menginstal keyfile (atau yang serupa) di browser mereka, dan bahwa kunci itu 'resmi' di sisi server.

ezzatron
sumber

Jawaban:

17

Apa yang Anda cari umumnya disebut sebagai otentikasi timbal balik. Biasanya sertifikat server ada untuk "otentikasi server", yang berarti sertifikat ini memvalidasi identitas server ke klien.

Perhatikan bahwa saat mengejar skema ini, Anda memiliki tantangan tambahan untuk perpanjangan sertifikat untuk klien.

Berikut adalah contoh bagaimana hal itu dilakukan untuk satu produk:

Saling Primer Otentikasi

Mengkonfigurasi Apache untuk SSL

Greg Askew
sumber
8

SSL adalah otentikasi kunci publik. Paling umum digunakan untuk mengautentikasi pengidentifikasian server jauh ... server menyajikan sertifikat, ditandatangani oleh kunci pribadi otoritas sertifikat, dan browser Anda memverifikasinya terhadap kunci publik otoritas.

Dimungkinkan juga untuk menggunakan SSL untuk mengautentikasi identifikasi klien. Dalam hal ini, Anda mengonfigurasikan browser Anda untuk menyajikan sertifikat klien ketika terhubung ke server jarak jauh, dan server jarak jauh akan mengotentikasi sertifikat terhadap beberapa otoritas.

Ini semua relatif mudah dan didukung dengan baik oleh sebagian besar server web. Dokumen ini membahas pengaturan dengan Apache. The SSLRequire Pernyataan melakukan sebagian besar angkat berat untuk semacam ini konfigurasi.

larsks
sumber