it-swarm-id.com

Adakah yang menggunakan sertifikat browser klien?

Sertifikat browser klien tampaknya merupakan cara yang bagus untuk melindungi situs dari penyusup - tidak mungkin untuk menebak dan harus lebih sulit untuk dicuri. Tentu saja, mereka tidak menyelesaikan semua masalah, tetapi mereka menambah keamanan.

Namun, saya tidak menemukan situs publik yang menggunakannya. Apakah ada situs yang menggunakannya? Apakah ada beberapa kelemahan di dalamnya yang menghalangi penggunaan bahkan ketika keamanan penting atau alasan lain mengapa penggunaannya sangat sedikit?

43
StasM

Sertifikat pihak klien belum memiliki tradeoff biaya/manfaat yang cukup baik. Mereka sangat membingungkan bagi pengguna sehingga biaya dukungan naik. Dan mereka masih bit dan dengan demikian "sesuatu yang Anda tahu" dan rentan terhadap berbagai serangan perangkat lunak pada browser, skema distribusi, phishing dll.

Skema token perangkat keras (authn dua faktor) lebih baik untuk authn yang baik. Skema sistem masuk tunggal (SSO), berpotensi disatukan, dan berpotensi didukung oleh token perangkat keras, menyelesaikan lebih banyak masalah dan lebih mudah untuk diterapkan.

Mengelola banyak sertifikat akan jauh lebih rumit bagi pengguna daripada masalah multi-kata sandi saat ini, dan browser tidak menawarkan dukungan yang baik untuk memilih sertifikat yang tepat. Dan jika pengguna menggunakan sertifikat tunggal untuk banyak situs, maka ada masalah privasi karena penggunaan sertifikat mengidentifikasi pengguna.

Selama beberapa dekade, banyak dari kita berpikir bahwa usia pengguna akhir PK-crypto sudah dekat, terutama mereka seperti saya yang terpikat pada keindahan RSA. Ternyata cara evolusi, meja bantuan dan biaya pengembangan serta kerumitan dan kerumitan serta keterkaitan hukum PKI dunia nyata terus menggerogoti manfaatnya.

Peralatan tampaknya lebih mahal daripada bit, tetapi tidak jika bit tidak melakukan pekerjaan, atau penggunaannya yang efektif memakan produktivitas.

20
nealmcb

Saya menggunakan sertifikat browser untuk beberapa situs, tetapi seperti yang Anda katakan sebagian besar bukan situs publik.

Kesulitan utama dalam Sertifikat Sisi Klien adalah mendistribusikan mereka. Yaitu, bagaimana saya bisa dengan aman memberi Anda sertifikat "sangat kuat" yang akan memberi Anda akses ke sistem saya, jika saya tidak mengenal Anda?
Sistem perusahaan lebih mudah, tentu saja, seperti halnya sistem terbuka untuk lingkaran kecil mitra. Tetapi distribusi kunci selalu merupakan teka-teki yang sulit untuk dipecahkan. Ini jauh lebih sulit daripada hanya berbagi kata sandi antara dua pihak, mengingat aspek kunci pribadi, dan perlindungan sertifikat, ....

Sebenarnya ada solusi untuk ini, tentu saja, dan saya bahkan menggunakan satu untuk situs web "publik". (Kebetulan berada di bisnis identitas, jadi itu layak untuk mereka ...). Solusi itu didasarkan pada otentikasi utama melalui kata sandi, dan setelah saya sepenuhnya dikonfirmasi saya memiliki opsi untuk mengunduh sertifikat saya - dengan asumsi saya tahu apa yang harus dilakukan dengan itu.
Tidak banyak lebih baik, karena saluran kata sandi masih terbuka ... tapi itu setidaknya memberi saya kemungkinan mengubah kata sandi ke sesuatu yang mustahil dan tidak dapat digunakan, dan hanya memiliki CSC ....

Tapi ini tidak sepele, dan agak rumit untuk diimplementasikan dengan benar. Distribusi masih akan mengganggu sebagian besar pengguna.

18
AviD

Seperti yang saya pahami, ada banyak masalah dengan menggunakan sertifikat klien dalam praktiknya. Berikut adalah beberapa masalah yang saya dengar:

  1. Mendapatkan sertifikat klien. Ini adalah rasa sakit bagi pengguna untuk awalnya mendapatkan sertifikat klien di tempat pertama. Jelas, situs tidak ingin membuat rintangan yang tidak perlu yang harus dilewati pengguna sebelum mereka bahkan dapat mulai menggunakan situs mereka. (Bahkan memiliki situs menghasilkan sertifikat klien dan memberikannya kepada klien bukanlah operasi yang akrab bagi pengguna - belum lagi bahwa ia memiliki masalah keamanan, karena idealnya, hanya klien yang harus mengetahui kunci pribadi klien.) Browser modern menyediakan cara untuk membuat atau mengimpor kunci pribadi dan sertifikat klien, tetapi pengalaman pengguna mengerikan.

  2. Saya pernah mendengar bahwa beberapa server tampaknya tidak mendukung sertifikat klien dengan baik (mis., http://osdir.com/ml/encryption.cryptlib/2005-09/msg00000.html).

  3. Mobilitas adalah masalah. Terlepas dari semua masalah mereka, kata sandi sangat portabel; sertifikat klien tidak. Bahkan jika klien berhasil membuat kunci pribadi dan mendapatkan sertifikat klien untuk itu, jika mereka ingin mulai menggunakan komputer kedua, mereka harus melakukan tarian yang rumit dan membingungkan untuk mentransfer kunci pribadi dan cert ke yang kedua. komputer. Jika komputer pertama mereka mati (atau mengalami kegagalan hard disk) dan mereka harus menginstal ulang OS mereka atau membeli komputer baru, dan jika klien belum membuat cadangan kunci privat mereka, mereka tidak akan memiliki cara untuk menjadikan privasinya kunci dan cert ke komputer baru mereka; mereka cukup kacau. Situs dapat membuat metode cadangan otentikasi sehingga pengguna yang kehilangan kunci privat mereka dapat membuat dan mengirimkan kunci pribadi baru, tetapi metode cadangan otentikasi ini dapat dengan mudah menjadi tautan terlemah dalam rantai. Tidak masalah seberapa kuat metode autentikasi utama Anda, jika metode cadangan Anda mudah dikalahkan.

  4. Tidak jelas apakah ada dukungan yang cukup dari browser untuk sertifikat klien. Saya tidak tahu apakah semua berbagai browser di luar sana (termasuk browser seluler) cukup mendukung sertifikat klien.

  5. Model PKI juga cukup rusak. Asumsinya adalah CA akan memverifikasi identitas pengguna (mis., Nama asli mereka) sebelum memberi mereka sertifikat klien, dan protokol dirancang berdasarkan asumsi ini. Namun CA hari ini tidak benar-benar memverifikasi identitas. Ini menciptakan ketidakcocokan antara asumsi desain dan kenyataan.

  6. Sertifikat klien membuat risiko privasi untuk pengguna. Di beberapa browser, mereka memungkinkan pelacakan pengguna di seluruh domain. (Semua browser memastikan bahwa cookie secara hati-hati bertahan terhadap ancaman ini: hanya domain yang mengatur cookie yang dapat membacanya. Namun, browser tidak memasukkan perlindungan serupa untuk sertifikat klien SSL.) Saya tidak tahu apakah browser modern telah secara efektif mengatasi ini masalah, tapi ini adalah area di mana sertifikat klien relatif belum matang, sejauh yang saya tahu.

  7. Ada masalah teknis yang menjengkelkan, jika klien menghasilkan dan menandatangani sertifikat klien sendiri. Menurut protokol TLS, server seharusnya terlebih dahulu meminta daftar CA yang bersedia diterima; klien kemudian merespons dengan sertifikat klien yang dikeluarkan oleh CA itu, jika ada. (Perhatikan bahwa ini terjadi sebelum klien mengirim permintaan HTTP, cookie HTTP, nama pengguna, atau informasi identitas lainnya.) Ini berarti bahwa, jika Anda ingin menggunakan sertifikat klien yang diterbitkan sendiri (ditandatangani sendiri), maka server harus mengetahui nama CA yang digunakan klien sebelum klien bahkan mengautentikasi atau mengidentifikasi dirinya. Itu rumit.

  8. Akhirnya, cherry on the pie: sertifikat klien tidak menyelesaikan masalah phishing. Mereka mencegah pencurian kunci pribadi klien, tetapi bukan informasi pribadi lainnya. Orang jahat masih dapat membuat situs bank palsu (yang membuang sertifikat klien yang dikirim ke sana). Situs phishing tidak akan mempelajari kunci pribadi pengguna, tetapi jika pengguna berpikir mereka telah terhubung ke situs bank nyata, mereka dapat mengetikkan nomor rekening bank mereka, SSN, PIN, dll., Mengungkapkan informasi itu kepada penyerang.

Semua ini menerjemahkan kegunaan yang buruk dan meningkatkan biaya dukungan (mis., Panggilan helpdesk). Singkatnya, Anda dapat menggunakan sertifikat klien, setidaknya pada prinsipnya; hanya saja, dalam praktiknya, melakukannya tidak nyaman untuk semua orang dan kegunaan menyebalkan.

Lebih mendasar lagi, ada masalah ayam-dan-telur: sampai banyak situs mulai menggunakan sertifikat klien, produsen browser tidak akan menempatkan prioritas tinggi untuk membuat sertifikat klien dapat digunakan; dan sampai browser membuat sertifikat klien dapat digunakan, situs tidak akan mengadopsi mereka. Dengan kata lain, jika kita ingin menggunakan sertifikat klien untuk menyelesaikan masalah otentikasi umum, kita harus keduanya meyakinkan semua produsen browser untuk membuat perubahan besar ke browser, dan meyakinkan situs untuk mengadopsi teknologi baru. Tidak ada manfaat yang diperoleh siapa pun sampai semua pihak melakukan perubahan terkoordinasi. Itu merupakan rintangan besar untuk adopsi.

Ada solusi yang lebih baik untuk otentikasi aman di web, yang melibatkan HTTPS, cookie persisten yang aman, dan pemulihan berbasis email. Namun itu melampaui ruang lingkup pertanyaan Anda.

Komentar terakhir: Tantangan mendasar dalam otentikasi web aman adalah kegunaan, kegunaan, kegunaan. Membuat sistem yang berfungsi baik bagi pengguna - dan aman, bila digunakan sebagai pengguna biasa cenderung menggunakannya - sangat menantang, dan hanya itu yang penting. Crypto hanyalah sebagian kecil dari masalah ini.

15
D.W.

Saya pikir sebagian besar mereka tidak digunakan karena rata-rata orang (yaitu, bukan Anda karena Anda mengajukan pertanyaan ini) tidak dapat memahami penggunaannya. Ada beberapa situs komersial yang menggunakannya tetapi biasanya tujuan mereka sangat khusus atau untuk otomatisasi. Misalnya, Oracle menggunakan sertifikat klien untuk memvalidasi pengguna akhir dengan kontrak dukungan yang valid untuk pembaruan paket. Tetapi bahkan dengan pengguna yang sangat teknis mendapatkan pertukaran kunci yang tepat dapat menjadi tantangan.

Semua itu dikatakan, saya menggunakan sertifikat klien untuk melindungi bagian dari situs web saya yang saya biarkan terbuka untuk umum, dan saya pikir itu fantastis.

7
bahamat

The Kartu Identitas Nasional Estonia adalah kartu pintar yang berisi sertifikat klien yang disematkan padanya. Anda dapat memperoleh pembaca kartu pintar untuk menggunakannya dan menggunakannya di rumah untuk mengajukan permohonan layanan pemerintah atau mengautentikasi ke bank-bank utama Estonia. Semua yang dilihat pengguna adalah kartu/pin Prompt dan selanjutnya mereka tahu mereka diautentikasi.

6
blowdart

Salah satu klien kami menggunakan sertifikat klien untuk mengotentikasi sistem kios layar sentuh. Sistem didistribusikan ke dealer, dan masing-masing memasang sertifikat root CA mereka serta sertifikat klien yang unik.

Sertifikat klien digunakan untuk mengotentikasi sistem kios ke server web, tanpa mengharuskan dealer untuk melakukan otentikasi manual saat memulai perangkat. Jika suatu sistem individual perlu ditutup, mudah bagi klien kami untuk mencabut sertifikat.

5
Martijn Heemels

Menteri Ekonomi Prancis menerbitkan situs web publik untuk manajemen pajak (pembayaran pajak online, informasi tentang tenggat waktu, formulir pengunduhan ...) yang menggunakan sertifikat SSL untuk otentikasi pengguna. Registrasi pengguna (peran ini dikaitkan dengan Otoritas Registrasi di PKI) yang telah ditunjuk oleh AviD ♦ menjadi kesulitan utama dalam proyek semacam itu, telah diselesaikan karena administrasi ini sudah memiliki informasi yang cukup untuk mengidentifikasi wajib pajak.

4
Jcs

Variasi sertifikat browser digunakan dalam protokol ActiveSync berbasis HTTP/S.

Beberapa administrator email menggunakan sertifikat untuk mengautentikasi perangkat seluler sehingga email seluler tidak tiba-tiba berhenti berfungsi saat pengguna mengubah kata sandi mereka.

1

Sertifikat klien memiliki semua kualitas terbaik untuk otentikasi. Tetapi karena masalah ayam dan telur, pengguna tidak memiliki alasan untuk memperoleh sertifikat serius (membutuhkan biaya dan waktu karena pengiriman harus merupakan operasi tatap muka) karena hanya sedikit situs yang menggunakannya, dan administrator situs tidak memiliki alasan untuk secara aktif mendukung mereka karena penggunanya umumnya tidak memiliki sertifikat.

Sistem korporat berbeda karena jika persyaratan keamanan cukup tinggi, biaya global infrastruktur PKI sangat dapat diterima.

Tetapi ketika Anda ingat berapa biaya total sebenarnya dan prosedur untuk kartu identitas nasional (tidak berbicara tentang paspor), menambahkan sertifikat yang dibuat oleh administrasi nasional tidak akan menambah banyak dan dengan baik akan menyelesaikan semua pertanyaan otentikasi dengan situs institusional seperti administrasi, bank, ... Tentu saja saya tidak akan menggunakannya untuk situs pedagang atau forum kecil yang dikendalikan

1
Serge Ballesta

Saya bekerja mengembangkan situs yang menawarkan otentikasi kartu pintar. Pengguna menghubungkan pembaca kartu USB, pergi ke situs, dan ketika ia ingin masuk, ia memasukkan kartu dan memasok PIN. Masalahnya adalah bahwa sistem menggunakan Java Applet, dan applet ini tidak lagi didukung oleh Chrome atau oleh MS Edge. Middleware baru sedang dikembangkan yang tidak tidak menggunakan Java Applet, dan ini berpacu dengan waktu karena kita dapat melihat semua browser utama berhenti Java Applet dari berinteraksi dengan perangkat keras pada PC Anda di masa depan).

0
Totoro53

Jika kami memperluas lingkup OP untuk melewati browser. Sertifikat klien juga dapat digunakan dalam konteks non-browser. Misalnya Docker menggunakan TLS dan sertifikat klien untuk mengamankan koneksi mereka antara klien docker jarak jauh ke daemon mereka.

Ini masih perlu dikelola, tetapi tidak harus melalui CA penuh, itu bisa menjadi perusahaan internal CA untuk mengelola semua sertifikat yang digunakan oleh mesin.

0