Mengapa saya harus membayar untuk sertifikat SSL?
Untuk sebagian besar kegunaan, tidak ada alasan bagus untuk membayarnya.
Lihat bagian paling bawah untuk ringkasan pengecualian.
Mari selangkah mundur dan jelaskan apa yang sertifikat lakukan dan kira-kira caranya.
Apa yang biasa disebut "sertifikat" terdiri dari dua bagian yang terhubung:
- The sertifikat yang tepat , yang berisi kunci publik dan beberapa identifikasi (seperti nama domain).
- The kunci pribadi , yang memungkinkan pemegang (dan hanya pemegang) untuk menandatangani secara digital pesan sedemikian rupa sehingga mereka dapat diverifikasi menggunakan sertifikat atas.
Jika Anda menginginkan sertifikat yourdomain.com
, Anda:
- Buat keypair pribadi / publik, dan pertahankan bagian pribadi, yah, pribadi.
- Minta pihak ketiga yang dapat dipercaya ("CrediCorp") untuk membuat sertifikat
yourdomain.com
dengan kunci publik Anda.
- Buktikan dalam beberapa cara ke CrediCorp yang Anda kontrol
yourdomain.com
.
- Letakkan kunci pribadi dan sertifikat yang diperoleh di server Anda, dan konfigurasikan server web untuk menggunakannya.
Kemudian, jika Alice mengunjungi yourdomain.com
, browsernya mendapatkan sertifikat dari server web Anda, bersama dengan pesan yang ditandatangani oleh kunci pribadi Anda. Kemudian browsernya memeriksa tiga hal:
- Bahwa pesan yang ditandatangani dapat diverifikasi oleh sertifikat Anda (membuktikannya telah ditandatangani oleh kunci pribadi terkait yang hanya
yourdomain.com
boleh dimiliki).
- Bahwa domain sertifikat adalah domain yang coba dikunjungi oleh browser (
yourdomain.com
).
- Itu sertifikat dari CrediCorp.
Kombinasi dari ketiga hal ini menjamin Alice bahwa ia sebenarnya sedang berbicara yourdomain.com
, dan bukan dengan penipu ... Asalkan Alice mempercayai CrediCorp .
(Ada juga mengikuti beberapa tarian crypto voodoo untuk mengubah keaslian ini menjadi kerahasiaan.)
Bagaimana tidak Alice percaya CrediCorp?
Itulah inti sesungguhnya di sini. Singkatnya, di beberapa titik CrediCorp berkata, "Hei, kita akan membuat sertifikat". Setelah berusaha keras mengikuti banyak aturan , mereka berhasil meyakinkan beberapa orang bahwa CrediCorp memang dapat dipercaya, dan mereka hanya akan mengeluarkan sertifikat dengan benar.
Secara khusus, mereka berhasil meyakinkan pembuat, katakanlah, Firefox. Akibatnya, CrediCorp masuk dalam daftar-A Firefox, dan sertifikat mereka dipercaya oleh Firefox secara default. Jadi sungguh, Alice mempercayai Firefox, Firefox mempercayai CrediCorp, dan CrediCorp mempercayai Anda (setelah memverifikasi) Anda ketika Anda mengklaim telah dikendalikan yourdomain.com
. Ini hampir seperti rantai .
Tetapi, Firefox tidak hanya mempercayai CrediCorp untuk menerbitkan sertifikat yourdomain.com
, tetapi juga mempercayai sertifikat CrediCorp untuk domain apa pun . Dan Firefox juga mempercayai ShabbyCorp, untuk domain apa pun.
Ini memiliki konsekuensi. Jika seseorang berhasil meyakinkan ShabbyCorp bahwa mereka mengontrol yourdomain.com
(karena ShabbyCorp tidak terlalu teliti), maka mereka dapat memperoleh sertifikat ShabbyCorp untuk yourdomain.com
dengan kunci pribadi yang sesuai. Dan dengan sertifikat itu mereka dapat meniru server web Anda. Lagi pula, mereka memiliki sertifikat (kunci plus) untuk yourdomain.com
yang dipercaya oleh Firefox!
CrediCorp dan ShabbyCorp adalah apa yang disebut Certificate Authorities , CA. Di dunia nyata, ComodoSSL dan Let's Encrypt adalah contoh CA. Tetapi ada lebih banyak dari mereka; seperti tulisan ini, Firefox percaya 154 CA .
Wah Tetapi bagaimana itu menjawab pertanyaan saya?
Aku ehm, sampai ke sana ...
Ini masalahnya. Mekanika yang saya uraikan di atas berlaku untuk semua sertifikat. Jika Anda memiliki sertifikat yang benar dan tepercaya untuk situs web Anda, itu akan berfungsi. Tidak ada yang istimewa tentang sertifikat Merek A dibandingkan sertifikat Merek B; mereka semua tunduk pada persyaratan CA yang sama, dan matematika kripto yang sama.
Dan bahkan jika Anda lebih menyukai CrediCorp - karena Anda tahu, mereka terdengar sangat jauh lebih dapat dipercaya - menggunakannya tidak akan membantu Anda. Jika penyerang dapat meyakinkan ShabbyCorp untuk memberi mereka sertifikat untuk situs Anda, penyerang dapat menggunakan sertifikat itu untuk menyamar sebagai situs Anda, terlepas dari mana Anda mendapatkan milik Anda.
Selama Firefox mempercayai ShabbyCorp, pengunjung tidak akan melihat perbedaannya. (Ya, pengunjung dapat menarik sertifikat, dan menggali di sana, melihat siapa yang mengeluarkannya. Tapi siapa yang melakukan itu?) Sejauh memalsukan sertifikat, ini membuat seluruh sistem selemah yang terlemah dari 150+ CA. Kenapa ya, itu adalah menakutkan, dan itu mungkin orang-orang kritik terbesar memiliki seluruh skema ini. Tetap saja, itu yang membuat kita terjebak.
Intinya adalah, jika Anda tidak percaya CA untuk memberikan sertifikat "baik", mendapatkan sertifikat Anda di tempat lain tidak banyak membantu Anda.
Gotcha, semuanya sama-sama hancur. Tidak ada peringatan?
Weeeelllll ...
Mari kita mulai dengan membunuh poin yang saya buat di bagian terakhir. Saat ini dimungkinkan untuk mengunci domain Anda hanya CA yang Anda pilih menggunakan DNS-CAA . Misalkan Anda benar-benar mempercayai Comodo, dan tidak mempercayai CA lain, dimungkinkan untuk meminta semua CA selain Comodo untuk tidak menerbitkan sertifikat untuk domain Anda. Dalam teori. (Karena DNS-CAA tidak diperiksa oleh browser, hanya dengan mengeluarkan CA. Jadi CA yang disusupi dapat mengabaikan perlindungan ini.)
Jika Anda bersedia melewati masalah itu, pertanyaannya menjadi: apakah Let's Encrypt sebenarnya kurang dapat dipercaya? Atau kurang aman? Kepercayaan adalah hal yang sulit, bagaimana Anda mengukurnya? Yang bisa saya katakan adalah bahwa dalam persepsi saya, Let's Encrypt tidak kalah dapat dipercaya dari CA lainnya. Adapun keamanan validasinya, mereka sangat mirip dengan apa yang CA komersial lakukan (untuk sertifikat DV). Lihat juga pertanyaan ini .
Untuk apa nilainya: jaringan StackExchange, yang menjadi bagian dari situs ini, saat ini menggunakan sertifikat Mari Enkripsi. Kebanyakan orang tidak akan pernah memperhatikan hal ini, dan jika mereka melakukannya saya dengan tulus ragu apakah itu akan berarti banyak bagi mereka.
Agar sertifikat menjadi bermakna, CA yang menerbitkan harus dipercaya oleh vendor perangkat lunak , jika tidak sertifikat itu tidak berguna. Saya menggunakan Firefox sebagai contoh, tetapi Anda benar-benar ingin agar CA dipercaya oleh setidaknya Firefox versi terbaru, agak lama, Chrome, Windows, Mac OS X, iOS, dan Android. Dan puluhan pemain kecil. CA yang layak dipertimbangkan (yang mencakup ComodoSSL dan Let's Encrypt) dipercaya oleh semua entitas ini.
Jika CA berkelakuan buruk, atau dinyatakan tidak dapat dipercaya, CA akan dikeluarkan dari berbagai toko kepercayaan dengan cukup cepat untuk merusak hari pemilik sertifikat. Dua contoh penting yang saya tahu adalah DigiNotar dan StartCom / WoSign (lihat artikel-artikelnya, mereka memberikan wawasan yang menarik dalam dinamika kepercayaan!). Jadi, jika Anda berpikir Let's Encrypt akan mengacaukan, atau akan dibatalkan karena alasan lain, tidak menggunakannya akan mencegah Anda terperangkap dalam kejatuhan khusus itu.
Sertifikat menggunakan beberapa sihir matematika crypto ; pertanyaannya adalah yang kripto matematika sihir ? Bagaimana jika itu sihir yang lemah? Ini sebenarnya masalah nyata, dan CA telah menunjukkan untuk menarik kaki mereka pada peningkatan ini juga. Untungnya, vendor peramban menerima kelonggaran dengan menetapkan minimum di sini agar sertifikat dapat diterima. Misalnya, sertifikat yang menggunakan RSA-1024 atau SHA-1 sekarang ditolak oleh sebagian besar peramban, jadi sertifikat apa pun yang bekerja dalam praktiknya tidak menggunakan primitif kripto yang sudah usang ini. Hasilnya adalah, cukup sulit untuk CA (termasuk Mari Enkripsi) untuk mengecewakan bagian ini lagi.
Sebelumnya, saya kurang lebih mengatakan bahwa semua sertifikat dibuat sama. Saya berbohong, mereka tidak. Secara khusus, apa yang saya bahas hingga saat ini adalah " Sertifikat Domain Validated (DV)", yang digunakan sebagian besar situs web. Mereka memberikan ukuran kepastian bahwa browser Anda benar-benar berbicara dengan domain yang ditampilkan di bilah URL. Ada juga sertifikat "Validasi Organisasi (OV)" dan " Validasi Diperpanjang (EV)", yang membutuhkan pemeriksaan yang jauh lebih rumit dari CA. Khususnya, Anda hanya bisa mendapatkan sertifikat EV untuk somebank.com
/ SomeBank Inc., jika Anda benar-benar dapat membuktikan bahwa Anda adalah SomeBank, Inc.
Sertifikat EV jauh lebih mahal untuk diperoleh (rata-rata: EUR / USD per tahun), dan sertifikat tersebut mungkin dihargai dengan bilah URL hijau atau gembok di peramban, mungkin menampilkan "SomeBank, Inc." demikian juga. Berlawanan dengan sertifikat DV, mereka juga menawarkan beberapa gagasan tentang siapa sebenarnya situs web tersebut. Sisi baiknya adalah, mereka mungkin terlihat lebih sah. Kekecewaannya adalah, pengguna jarang memperhatikan mereka, sehingga efektivitasnya terbatas.
Penyerang dengan sertifikat DV yang dipalsukan masih dapat menyamar sebagai situs, hanya tanpa petunjuk visual tambahan yang mungkin ditawarkan oleh sertifikat EV, dan pengguna umumnya tidak melihat perbedaannya. Sebaliknya, dimungkinkan untuk mendapatkan sertifikat EV yang menyesatkan untuk membuat phishing lebih mudah. Akibatnya, baik Chrome dan Firefox akan menjatuhkan anggukan visual mereka ke sertifikat EV, dan beberapa orang percaya mereka akan hilang sama sekali.
Jika Anda seorang bank, Anda mungkin masih menginginkan sertifikat EV untuk saat ini. Kalau tidak, tidak banyak. Tetapi jika Anda memang membutuhkan EV, Let's Encrypt bukan untuk Anda karena mereka tidak menawarkan sertifikat EV.
Sertifikat hanya berlaku untuk waktu yang terbatas . Sertifikat dari CA komersial biasanya cenderung berlaku selama satu tahun, tetapi saya telah melihat apa pun dari tiga bulan hingga tiga tahun. Mari Enkripsi sertifikat berlaku selama 90 hari , yang berada di sisi pendek rentang itu, jadi Anda harus sering memperbaruinya. Untuk pengguna Let's Encrypt, ini biasanya otomatis sehingga sertifikat diganti setiap 60 hari.
Mampu mengotomatiskan pembaruan dengan perangkat lunak yang tersedia secara luas sebenarnya lebih menyenangkan daripada omong kosong tahunan sertifikat saya kedaluwarsa? Apa login saya di CA? Bagaimana cara kerjanya lagi? ritual yang tampaknya sebagian besar situs kecil berakhir di CA komersial.
Sebelumnya, saya menyebutnya menakutkan bahwa ada begitu banyak CA yang harus kita percayai. Memiliki banyak CA juga merupakan keuntungan, dalam arti menghapus satu CA dari toko kepercayaan kami memiliki dampak terbatas pada pengguna. Secara khusus, mengeluarkan satu CA hanya akan mempengaruhi sertifikat yang dikeluarkan oleh satu CA tersebut. Jika semua orang akhirnya menggunakan satu CA tunggal (yang beberapa orang khawatirkan mungkin terjadi dengan Let's Encrypt ), kami memusatkan semua kepercayaan kami di sana, dan kehilangan keuntungan dari fragmentasi itu.
Dan akhirnya, ada manfaat lain yang mungkin ditawarkan CA berbayar, seperti dukungan komersial, atau garansi SSL jutaan dolar . Saya kurang percaya pada kedua aspek ini, tetapi itu adalah hal-hal yang tidak ditawarkan Let's Encrypt.
Kepalaku sakit ... Saya punya pertanyaan, saya pikir?
Gunakan apa yang Anda rasa nyaman! Untuk sertifikat DV, ada sedikit yang benar-benar membedakan berbagai CA. Saya menggunakan Let's Encrypt baik secara profesional maupun pribadi, dan saya senang dengannya.
Hanya ada empat alasan potensial yang saya lihat untuk menghindari Let's Encrypt:
- Jika Anda membutuhkan sertifikat EV (atau OV).
- Jika Anda tidak dapat atau tidak ingin mengotomatiskan pembaruan sertifikat dan validitas sertifikat tiga bulan terlalu pendek untuk Anda.
- Jika Anda tidak mempercayai Let's Encrypt (tetapi pastikan untuk mempertimbangkan langkah-langkah lain seperti DNS-CAA juga, dan Anda mungkin harus memasukkan blacklist Let's Encrypt di browser Anda juga).
- Jika Anda yakin Let's Encrypt akan dihentikan atau dihapus dari browser karena suatu alasan.
Jika tidak ada yang berlaku untuk Anda, jangan ragu untuk membayar sertifikat Anda.