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?
ssl
ssl-certificate
https
SK '
sumber
sumber
Jawaban:
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).
sumber
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:
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.
sumber
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.
sumber
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.
sumber
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.
sumber
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?
sumber
Baru-baru ini, LetsEncrypt telah mengumumkan ketersediaan alat baris perintah mereka untuk menghasilkan sertifikat yang valid.
Bagi mereka yang bertanya-tanya apakah sertifikat itu valid di browser utama, jawabannya adalah Ya:
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.
sumber
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 !".
sumber
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.
sumber
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.)
sumber
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.
sumber