Mengapa saya perlu membeli sertifikat SSL ketika saya bisa membuatnya secara lokal?


57

Saya mengalami kesulitan memahami mengapa kami perlu membeli sertifikat SSL ketika kami dapat membuatnya secara lokal menggunakan openSSL. Apa perbedaan antara sertifikat yang saya beli dan sertifikat uji yang saya hasilkan secara lokal? Apakah ini hanya penipuan besar?


17
Dalam hal trias CIA untuk keamanan informasi, sertifikat yang ditandatangani sendiri memberikan kerahasiaan dan integritas (yaitu, mereka mengizinkan pesan terenkripsi antara dua pihak), tetapi hanya sertifikat yang ditandatangani oleh sumber tepercaya yang memberikan keaslian (yaitu, pihak lain dalam percakapan terenkripsi Anda. sebenarnya adalah yang Anda pikirkan).
apsillers

10
Semoga, ketika DNSSEC mulai dimainkan, orang-orang dapat membuat sertifikat mereka sendiri dan menyimpannya dalam catatan DNS. Rantai kepercayaan DNSSEC kemudian akan cukup untuk membuktikan bahwa sertifikat tersebut adalah milik pemilik domain. (Saya tidak berpikir ini adalah spesifikasi yang diformalkan (belum), tetapi akan menyenangkan)
jackweirdy

2
Untuk penggunaan internal, Anda dapat menggunakan sertifikat sebagai tepercaya menggunakan Kebijakan Grup (di windows).
Ben

4
Saya sering bertanya-tanya mengapa orang tidak menerima uang cetakan saya juga;)
tgkprog

1
Catatan: Ada penyedia sertifikat dasar gratis . 90% dari kebutuhan orang dapat dipenuhi oleh ini. Dan beberapa CA memiliki sertifikat biaya sangat rendah, tidak ada alasan untuk menghancurkan bank apa pun yang Anda butuhkan. (singkat dari delegasi tentu saja)
Chris S

Jawaban:


72

Satu kata - kepercayaan. Sertifikat SSL dari penyedia yang dipercayai oleh peramban Anda berarti mereka setidaknya telah melakukan verifikasi dasar untuk mengatakan bahwa Anda adalah siapa Anda.

Kalau tidak, saya bisa membuat sertifikat sendiri untuk google.com atau yourbank.com dan berpura-pura menjadi mereka.

Sertifikat berbayar tidak memberikan tingkat enkripsi ekstra apa pun yang ditandatangani sendiri (biasanya). Tetapi sertifikat yang ditandatangani sendiri akan menyebabkan browser melakukan kesalahan.

Ya, bagian SSL adalah scam (sertifikat verisign vs geotrust di mana verisign hingga 100x lebih mahal) tetapi tidak semuanya.

Jika ini semua hal internal, maka tidak perlu untuk sertifikat berbayar karena Anda dapat menggunakan metode kepercayaan Anda sendiri (misalnya, Jangan melakukan apa-apa, atau mungkin hanya memeriksa sidik jari).


8
Jika semuanya internal, Anda dapat menggunakan sertifikat sebagai tepercaya menggunakan kebijakan grup.
Ben

2
Di sisi lain, penandatanganan pengemudi sedikit penipuan. Untuk apa itu, ya itu ripoff yang sangat besar, tapi kami tidak punya pilihan. successsoftware.net/2008/02/27/…
Matt

2
@ Matt - Saya sudah membaca artikel itu sebelumnya; ketika kami sedang melihat melakukan penandatanganan kode di tempat kerja. Kami memutuskan untuk menandatangani sendiri dan menyarankan orang untuk memeriksa tanda tangan. Untungnya kami memiliki pengguna teknologi sangat tinggi (kebanyakan).
Mark Henderson

Dan sertifikat yang ditandatangani sendiri menghasilkan peringatan di semua browser. Sementara sertifikat dari penyedia dapat diverifikasi oleh semua browser utama karena mereka memiliki kunci publik dari penyedia tersebut dan dapat memverifikasi sertifikat Anda dan mengonfirmasi bahwa mereka memang ditandatangani oleh penyedia.
Matt

23

Inti dari sertifikat SSL adalah agar browser memiliki tingkat kepercayaan yang wajar terhadap kunci publik server untuk transaksi HTTPS.

Pertama, mari kita telusuri apa yang akan terjadi jika kita tidak menggunakan sertifikat. Sebaliknya, server akan mengirim kunci publik dalam plaintext dan browser akan memulai komunikasi terenkripsi menggunakannya (hal pertama yang akan dilakukan adalah mengenkripsi kunci publik sendiri dan mengirimkannya dengan aman). Bagaimana jika saya, dan penyerang, terjepit di tengah? Saya dapat mengganti kunci publik Anda dengan cepat dengan saya, memiliki koneksi terenkripsi dengan browser, mendekripsi semua hal yang saya terima, mengenkripsinya dengan kunci publik Anda, dan mengirimkannya (dan sebaliknya untuk lalu lintas jenis respons). Tidak ada pihak yang akan melihat perbedaannya, karena tidak ada yang tahu kunci publik sebelumnya.

OK, jadi kami telah menetapkan bahwa kami memerlukan beberapa cara agar browser dapat mempercayai kunci publik saya. Salah satu cara untuk melakukan ini adalah dengan menyimpan semua kunci publik yang terdaftar di browser. Tentu saja, ini akan membutuhkan pembaruan setiap kali seseorang mendaftarkan kunci publik, dan ini akan menyebabkan mengasapi. Orang juga bisa menyimpan kunci publik di tangan server DNS 1 , tetapi server DNS dapat dipalsukan juga dan DNS bukan protokol yang aman.

Jadi satu-satunya pilihan yang tersisa adalah "rantai" kepercayaan melalui mekanisme penandatanganan. Peramban menyimpan detail beberapa CA, dan sertifikat Anda akan dikirim bersama rantai sertifikat lainnya, masing-masing menandatangani yang berikutnya dan naik ke root / tepercaya / dalam CA yang dibangun. Adalah tugas CA untuk memastikan bahwa domain itu milik Anda sebelum menandatangani sertifikat untuk Anda.

Karena menjadi CA adalah bisnis, mereka mengenakan biaya untuk ini. Beberapa lebih dari yang lain.


Jika Anda membuat sertifikat sendiri, Anda akan mendapatkan kesalahan yang mirip dengan:

masukkan deskripsi tautan di sini

Tidak ada nilai untuk sertifikat yang tidak ditandatangani. Ini seperti mengambil pensil dan buku kecil, gambar paspor yang mengklaim bahwa Anda adalah Barack Obama. Tidak ada yang akan mempercayainya.

1. Setelah semua, entri DNS Anda dibuat saat Anda mendaftarkan domain. Menggunakan protokol yang lebih kuat yang memungkinkan Anda secara bersamaan mendaftarkan kunci publik akan menjadi konsep yang menarik.


Anda juga dapat menggunakan stapel DNSSEC untuk sertifikat SSL Anda, sehingga sertifikat tersebut berasal (akhirnya) dari ICANN sebagai CA, bukan dari otoritas sertifikasi lain. Tidak satu pun dari browser saat ini mendukung ini, meskipun Chrome dulu.
Richard Gadsden

Dan saat ini Anda memiliki DANE dan catatan DNS TLSA-nya yang memungkinkan Anda membatasi layanan tertentu untuk kunci tertentu atau CA tertentu.
Patrick Mevzek

5

Jawaban untuk pertanyaan Anda tergantung pada audiens Anda: Karena seluruh sistem sertifikat didasarkan pada "kepercayaan", pengguna Anda harus memiliki ketersediaan untuk membuktikan sendiri sertifikat Anda atau mempercayai pihak ke-3 yang telah melakukan pemeriksaan ini dan menunjukkan keberhasilan dengan menandatangani sertifikat Anda. Istilah "untuk membuktikan sertifikat Anda" yang saya gunakan agak tidak akurat: versi panjangnya harus: "untuk membuktikan bahwa Anda adalah pemilik sertifikat dan diizinkan untuk menggunakannya".

Jika semua pengguna Anda mengenal Anda secara pribadi dan memiliki kemampuan teknis untuk membuktikan bahwa sertifikat Anda telah dikeluarkan sendiri, tidak ada kebutuhan teknis untuk menggunakan sertifikat dari penyedia "bersertifikat". Dalam hal ini, sertifikat yang ditandatangani sendiri bahkan mungkin lebih baik daripada sertifikat dari salah satu penyedia yang ada.

Tetapi dalam kebanyakan kasus, tidak ada kemungkinan bagi pengguna untuk melakukan proses ini sendiri. Di sini, penyedia SSL itu datang ke pasar. Mereka menawarkan layanan untuk melakukan pemeriksaan ini dan menyatakan hasil pemeriksaan dengan menandatangani sertifikat. Tetapi satu fakta penting yang perlu diingat adalah: Dengan menandatangani sertifikat, penyedia SSL menyatakan bahwa ia telah memeriksa identitas penerbit sertifikat sesuai dengan kebijakan penandatanganannya sendiri. Jadi pengguna harus memutuskan apakah kebijakan ini cukup tepat dan apakah ia dapat mempercayai penyedia.


4

Poin utamanya adalah, jika sertifikat itu dihasilkan sendiri, pengguna umum tidak memiliki cara untuk memverifikasi kebenarannya. Untuk sertifikat yang dibeli, mereka mengira setidaknya memverifikasi apa yang dicetak di dalam sertifikat itu benar. Ide: jika Anda memasukkan ponsel dan alamat Anda ke dalam sertifikat, CA harus memverifikasinya, tetapi jarang.

Selain itu, sertifikat pembelian dapat dilacak, artinya pengguna dapat selalu melacak dari mana sertifikat berasal, sedangkan sertifikat yang ditandatangani sendiri hanya merupakan identitas acak.

Untuk banyak sistem, "penandatanganan kode" diperlukan dari CA resmi di masa lalu, yang didorong oleh kebijakan, tetapi karena sertifikat yang ditandatangani sendiri sangat banyak, maka tidak lagi berlaku 100% sekarang.


4

Tidak ada perbedaan teknis (yang Anda miliki tidak kalah aman) hanya satu organisasi: sertifikat CA Anda bukan bagian dari pemasangan standar browser. Ini membuatnya tidak nyaman bagi kebanyakan orang untuk terhubung ke sertifikat Anda. Tetapi tidak masuk akal untuk membeli sertifikat untuk jaringan internal.


3

Itu datang ke kepercayaan. Penyedia SSL "bersertifikat" seharusnya memiliki reputasi (meskipun ini dapat dimanipulasi) versus sertifikat yang ditandatangani sendiri dari server itu sendiri.

Jika organisasi Anda memiliki penandatanganan sertifikat sendiri maka ini dapat diterima dan tidak boleh menyebabkan peringatan bagi pengguna (asalkan mereka menggunakan gantungan kunci sertifikasi Anda sebagai sumber tepercaya) tetapi masih akan membuat peringatan jika Anda mencoba menggunakannya secara eksternal.

Bottom-line: untuk penggunaan internal itu baik-baik saja, jika Anda memberikannya secara eksternal kepada pelanggan yang membayar, tidak memiliki peringatan adalah ketenangan pikiran. Apakah Anda merasa lebih aman memiliki transaksi keuangan Anda melalui sumber yang terakreditasi, atau seseorang yang berdiri di jalan yang tidak Anda kenal?


3

Baru-baru ini, LetsEncrypt telah mengumumkan ketersediaan alat baris perintah mereka untuk menghasilkan sertifikat yang valid.

Tidak ada email validasi, tidak ada pengeditan konfigurasi yang rumit, tidak ada sertifikat kadaluarsa yang merusak situs web Anda. Dan tentu saja, karena Let's Encrypt menyediakan sertifikat gratis, tidak perlu mengatur pembayaran.

Bagi mereka yang bertanya-tanya apakah sertifikat itu valid di browser utama, jawabannya adalah Ya:

Pada 19 Oktober 2015, sertifikat perantara ditandatangani secara silang oleh IdenTrust, menyebabkan semua sertifikat yang dikeluarkan oleh Let's Encrypt dipercaya oleh semua browser utama. [20]

..... Pada 8 Maret 2016, Let's Encrypt mengeluarkan sertifikat juta setelah tujuh bulan keberadaannya. [39]

Pada 12 April 2016, Let's Encrypt left Beta.

Tautan untuk admin dan pengembang sistem: https://letsencrypt.org/getting-started/

Di era teknologi blockchain dan penghapusan sistem kepercayaan pihak ketiga, sudah waktunya penerbitan sertifikat mahal oleh beberapa otoritas terpilih mulai dipertanyakan.

Meskipun Letsencrypt tidak ada hubungannya dengan teknologi blockchain, ini awal yang tepat. Kebutuhan untuk membayar biaya tinggi setiap tahun ke Otoritas Sertifikat yang mahal diharapkan akan berakhir secara logis.


2

Sederhananya, sertifikat SSL yang ditandatangani sendiri tidak berarti apa-apa. Tidak ada nilainya bagi dunia luar. Ini seperti mengatakan "Saya memiliki Spanyol". Anda mungkin secara jujur ​​berpikir Anda tahu, tetapi tidak ada yang akan mengenali klaim Anda.

Analogi serupa akan menciptakan sesuatu dan kemudian mengklaim Anda memiliki hak atas penemuan, tetapi kecuali jika Anda mendaftarkan paten di kantor, akan sulit untuk mengambil kata Anda untuk itu, sekarang bukan?


Inti dari sebuah sertifikat adalah bahwa sertifikat tersebut ditandatangani oleh otoritas yang dipercaya orang. Jika beberapa situs web memiliki sertifikat SSL yang valid, itu berarti pemiliknya mengalami kesulitan untuk mendaftarkan situs webnya, membayar sertifikat SSL, dan mendapatkan sertifikasi resmi dari beberapa otoritas sertifikat dunia nyata, sehingga kemungkinan bukan situs web phishing yang murah. Di sisi lain, jika Anda mempercayai sertifikat yang ditandatangani sendiri, maka kata situs web phishing dapat dengan mudah menghasilkan sertifikat palsu sendiri (yang akan Anda terima dengan senang hati) dan voila.

Tentu saja, jika ini adalah jaringan internal pada intranet pribadi, maka Anda mungkin sudah saling percaya satu sama lain sehingga dalam hal ini sertifikat otoritatif tidak benar-benar menambahkan apa pun, sehingga Anda dapat dengan aman mengabaikan lampu merah terang yang akan dilemparkan browser Anda kepada Anda . Sama untuk situs web kecil di mana Anda masih ingin lalu lintas klien-server dienkripsi tetapi model ancaman Anda tidak menjamin untuk otentikasi yang kuat, dalam hal ini Anda dapat bertahan dengan sertifikat yang ditandatangani sendiri dan menerima (dapat diabaikan oleh model ancaman Anda) risiko MITM.

Yang mungkin memuaskan mengingat betapa mahalnya sertifikat SSL tepercaya.


Dengan kata lain, sertifikat yang ditandatangani sendiri sama dengan mengatakan "Saya menyatakan saya adalah siapa saya - percayalah !".


2
Ini benar, tetapi masih perlu dicatat bahwa sertifikat berbayar hanya bukti bahwa seseorang mengalami kesulitan membayar uang kepada otoritas sertifikat. Tenaga penjualan di sisi lain Verisign / Namecheap / Apapun-CA tidak akan melakukan apa pun selain mengirim sertifikat ke hostmaster@example.org (misalnya mereka akan mengirim satu ke situs potensial phishing exqmple.org) .
89c3b1b8-b1ae-11e6-b842-48d705

1
@ Tristan Benar sekali, mereka bisa menggunakan prosedur formal yang lebih baik untuk hal semacam ini, tetapi saya rasa persyaratan logistiknya tidak masuk akal.
Thomas

1
@tristan - ini adalah sistem yang tidak sempurna, tetapi otoritas sertifikat memiliki beberapa insentif untuk dapat dipercaya. Misalnya, jika mereka memberi sertifikat acak kepada orang secara acak, mereka akan dihapus dari semua peramban dalam waktu singkat. Mereka juga menawarkan sertifikat "perpanjangan validasi" yang, secara teori, berarti mereka melakukan lebih banyak pengecekan. Salah satu dari mereka dapat memutuskan bahwa ini membutuhkan tes DNA secara langsung jika mereka pikir itu akan meningkatkan reputasi mereka dan menghasilkan bisnis.
Nathan Long

1
@NathanLong Ini bukan tentang memberikan 'sertifikat Google' untuk beberapa orang yang tidak bermoral, tetapi bahkan sertifikat EV masih hanya berupa "seseorang dapat menanggapi email dari domain ini". Bagaimanapun, kami mengitari poin yang sama: a) pengguna masih perlu tahu untuk tidak memberikan uang kepada payqal.com, b) hambatan biaya untuk SSL tidak sepadan untuk beberapa scammers, c) sertifikat berbayar berarti lebih banyak kemungkinan bahwa suatu situs cenderung menjadi pencarian DNS yang diinginkan, dan d) ini merupakan pendekatan yang masuk akal untuk memberikan nilai seed dalam skenario "server ini dimiliki oleh orang yang sama / berbeda dengan yang terakhir kali Anda periksa"
89c3b1b8- b1ae-11e6-b842-48d705

Tristan, itu adalah bagian dari biaya. Sertifikat sangat murah melakukan validasi yang sangat murah. Sertifikat yang sangat mahal (tingkat perusahaan) dapat melakukan validasi yang sangat mahal. (Meskipun harga sama sekali bukan indikator langsung dari seberapa baik pekerjaan validasi dilakukan). Beberapa sertifikat memberikan jaminan mutlak tentang siapa Anda, tetapi kebanyakan hanya menjamin bahwa Anda memiliki semacam kontrol atas domain yang diberikan kepada mereka. .

1

Untuk membuatnya singkat dan sederhana ... dan bongkar sedikit apa yang dikatakan ...

Ini bukan masalah Enkripsi, dengan alat yang tepat Anda dapat membuat sertifikat secara lokal dengan jenis enkripsi yang Anda inginkan ... dan mendapatkan sertifikat yang valid.

Keuntungan utama yang Anda miliki ketika membeli sertifikat dari entitas sertifikasi adalah bahwa selama periode tersebut sertifikat itu valid, mereka memiliki mekanisme di dalam server mereka untuk memvalidasi apa pun yang Anda tandatangani dengan sertifikasi online ...

PC Anda tidak perlu terhubung agar produk digital Anda diverifikasi dan divalidasi dengan sertifikat Anda ... Anda harus mengalihkan validasi ke entitas sertifikasi.


1

Maaf untuk datang pada diskusi ini sangat terlambat - saya pikir perlu menunjukkan bahwa menggunakan openssl, dimungkinkan untuk membuat CA pribadi, dengan sertifikat root sendiri, dan kemudian membuat sertifikat server yang ditandatangani oleh CA ini. Asalkan sertifikat root CA diimpor ke browser, dan browser diminta untuk menerimanya, sertifikat server akan diterima tanpa komentar. (Jelas ini hanya opsi yang layak jika komunitas pengguna kecil, dan semua pengguna saling kenal secara pribadi.)


-2

Apakah Anda akan mempercayai seseorang yang mengatakan "Percaya padaku"? Keyakinan dalam keaslian hanya dapat diberikan oleh "Otoritas Tepercaya", yang dipercaya semua orang. Inilah sebabnya kami harus mencari banyak uang untuk sertifikat.


2
Menurut logika itu, tidak akan ada penyedia sertifikat gratis. Tapi ada.
Chris S
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.