Peramban dan Validasi Sertifikat

Pengantar

HTTPS (melalui SSL /TLS) menggunakan enkripsi kunci publik untuk melindungi komunikasi browser agar tidak dibaca atau diubah saat transit melalui Internet. Server memberikan kunci publik kepada browser yang digunakan untuk membuat koneksi terenkripsi untuk semua pertukaran data selanjutnya.

Namun, hanya menerima a kerja kunci publik saja tidak menjamin bahwa itu (dan dengan ekstensi server) memang dimiliki oleh remote yang benar subyek (yaitu orang, perusahaan atau organisasi). Man-in-the-middle penyerang dapat memanipulasi jaringan untuk melayani kunci mereka sendiri, sehingga membahayakan komunikasi apa pun.

Browser mencegah hal ini dengan mengautentikasi Server HTTPS menggunakan sertifikat, yang merupakan dokumen digital itu mengikat kunci publik untuk subjek individu. Pengikatan ditegaskan dengan memiliki tepercaya Otoritas Sertifikasi (CA) seperti SSL.com memverifikasi identitas calon pemilik sertifikat, melalui pemeriksaan otomatis dan manual terhadap database yang memenuhi syarat.

Hubungan kepercayaan ini berarti bahwa keamanan pengguna web tidak mutlak; sebaliknya, pengguna harus memercayai browser dan CA untuk melindungi keamanan mereka. Oleh karena itu, menurut kami, merupakan kepentingan setiap pengguna untuk memiliki pemahaman dasar tentang cara kerja validasi sertifikat.

Perhatikan bahwa proses validasi sertifikat (dijelaskan secara terperinci dalam dokumen standar RFC 5280) cukup berbelit-belit. Pada artikel ini kami akan mencoba memandu Anda di sepanjang satu jalur (browser yang memvalidasi SSL /TLS sertifikat) dan menavigasi rincian rumit masa lalu yang tidak penting bagi sebagian besar pengguna.

Butuh sertifikat? SSL.com siap membantu Anda. Bandingkan opsi di sini untuk menemukan pilihan yang tepat untuk Anda, dari S/MIME dan kode sertifikat penandatanganan dan banyak lagi.

PESAN SEKARANG

Sertifikat dan format X.509

Sertifikat adalah file digital dalam segala hal, yang berarti bahwa mereka harus mengikuti format file untuk menyimpan informasi (misalnya tanda tangan, kunci, penerbit, dll.). Sementara pribadi PKI konfigurasi dapat menerapkan format apa pun untuk sertifikat mereka, dipercaya secara publik PKIs (yaitu yang dipercaya oleh browser) harus sesuai dengan RFC 5280, yang mengharuskan penggunaan X.509 v3 Format.

X.509 v3 memungkinkan sertifikat untuk memasukkan data tambahan, seperti batasan penggunaan atau informasi kebijakan, seperti ekstensi, dengan masing-masing ekstensi kritis or tidak kritis. Browser dapat mengabaikan ekstensi non-kritis yang tidak valid atau tidak dikenal, tetapi mereka diminta untuk memproses dan memvalidasi semua yang penting.

Jalur Sertifikasi dan Pemrosesan Jalur

CA menggunakan kunci pribadi untuk secara kriptografis menandatangani semua sertifikat yang dikeluarkan. Tanda tangan tersebut dapat membuktikan bahwa sertifikat diterbitkan oleh CA tertentu dan tidak dapat diubah lagi setelah ditandatangani.

CA menetapkan kepemilikan kunci penandatanganan mereka dengan memegang sertifikat yang diterbitkan sendiri (disebut akar) untuk kunci publik yang sesuai. CA harus mematuhi prosedur yang dikontrol dan diaudit dengan ketat untuk membuat, mengelola, dan memanfaatkan root, dan untuk meminimalkan paparan biasanya akan menggunakan root untuk mengeluarkan menengah sertifikat. Perantara ini kemudian dapat digunakan untuk menerbitkan sertifikat pelanggan mereka.Peramban dikirimkan dengan daftar akar tepercaya bawaan. (Ini adalah akar dari CA yang telah melewati kriteria ketat browser untuk penyertaan.) Untuk memverifikasi sertifikat, browser akan mendapatkan urutan sertifikat, masing-masing telah menandatangani sertifikat berikutnya secara berurutan, menghubungkan akar CA yang menandatangani ke server sertifikat.

Urutan sertifikat ini disebut a jalur sertifikasi. Akar jalan ini disebut a percaya pada jangkar dan sertifikat server disebut daun or entitas akhir sertifikat.

Konstruksi Jalur

Seringkali browser harus mempertimbangkan beberapa jalur sertifikasi hingga mereka dapat menemukan jalur yang valid untuk sertifikat tertentu. Meskipun jalur mungkin berisi sertifikat yang "menyatukan" dengan benar ke jangkar yang diketahui, jalur itu sendiri mungkin ditolak karena pembatasan pada panjang jalur, nama domain, penggunaan sertifikat, atau kebijakan.

Membangun dan mengevaluasi semua jalur yang mungkin adalah proses mahal yang dilakukan untuk setiap sertifikat baru yang ditemukan browser. Peramban telah menerapkan berbagai optimisasi untuk meminimalkan jumlah jalur kandidat yang ditolak, tetapi menyelidiki detail seperti itu jauh di luar cakupan artikel ini.

Validasi Jalur

Setelah jalur sertifikasi kandidat dibuat, browser memvalidasinya menggunakan informasi yang terdapat dalam sertifikat. Sebuah jalur valid jika browser dapat secara kriptografis membuktikan bahwa, mulai dari sertifikat yang secara langsung ditandatangani oleh jangkar kepercayaan, setiap kunci privat yang sesuai dari sertifikat digunakan untuk menerbitkan kunci berikutnya dalam jalur tersebut, hingga sertifikat daun.

Algoritma Validasi Jalur Sertifikasi

RFC 5280 menjelaskan a algoritma standar browser ikuti untuk memvalidasi jalur sertifikasi sertifikat X.509.

Pada dasarnya, browser melakukan iterasi melalui semua sertifikat di jalur yang dimulai dengan jangkar kepercayaan (yaitu sertifikat akar), memvalidasi informasi dasar dan ekstensi penting setiap sertifikat.

Jika prosedur diakhiri dengan sertifikat terakhir di jalur tanpa kesalahan, maka jalur diterima sebagai valid. Jika kesalahan dihasilkan, jalur ditandai sebagai tidak valid.

Pemrosesan sertifikat dasar

Terlepas dari ekstensi apa pun, browser harus selalu memverifikasi informasi sertifikat dasar seperti tanda tangan atau penerbit. Bagian berikut menunjukkan urutan pemeriksaan yang dilakukan browser.

1. Browser memverifikasi integritas sertifikat

Grafik tanda tangan pada sertifikat dapat diverifikasi menggunakan kriptografi kunci publik normal. Jika tanda tangan tidak valid, maka sertifikat dianggap dimodifikasi setelah diterbitkan dan karenanya ditolak.

2. Browser memverifikasi validitas sertifikat

Sertifikat masa berlaku adalah interval waktu selama CA penandatanganan menjamin bahwa ia akan mempertahankan informasi tentang statusnya. Peramban menolak semua sertifikat dengan masa berlaku yang berakhir sebelum atau mulai setelah tanggal dan waktu pemeriksaan validasi.

3. Browser memeriksa status pencabutan sertifikat

Ketika sertifikat dikeluarkan, diharapkan akan digunakan untuk seluruh periode validitasnya. Tentu saja, berbagai keadaan dapat menyebabkan sertifikat menjadi tidak valid sebelum berakhir secara alami.

Keadaan seperti itu mungkin termasuk subjek yang mengubah nama mereka atau dugaan penyusupan kunci pribadi mereka. Dalam kasus seperti ini, CA perlu mencabut sertifikat yang sesuai, dan pengguna juga memercayai CA untuk memberi tahu browser tentang status pencabutan sertifikat mereka.

RFC 5280 merekomendasikan agar CA menggunakan daftar pencabutan untuk tujuan ini.

Daftar Pencabutan Sertifikat (CRL)

CA secara berkala mengeluarkan daftar sertifikat yang dicabut yang bertanda waktu yang disebut a daftar pencabutan sertifikat (CRL). CRL didistribusikan di repositori yang tersedia untuk umum, dan browser dapat memperoleh dan berkonsultasi dengan CRL terbaru CA saat memvalidasi sertifikat.

Salah satu kelemahan dari metode ini adalah perincian waktu pencabutan terbatas pada periode penerbitan CRL. Browser akan diberitahu tentang pembatalan hanya setelah semua CRL yang diterbitkan saat ini dijadwalkan untuk diperbarui. Bergantung pada kebijakan CA penandatanganan, ini mungkin memakan waktu satu jam, hari atau bahkan hingga seminggu.

Protokol Status Sertifikat Online (OCSP)

Ada metode alternatif lain untuk memperoleh informasi status pencabutan, dengan yang paling populer adalah Protokol Status Sertifikat Online (OCSP).

Dijelaskan dalam dokumen standar RFC6960, OCSP memungkinkan browser meminta status pencabutan sertifikat tertentu dari server OCSP online (juga disebut file membalas). Ketika dikonfigurasi dengan benar, OCSP jauh lebih langsung dan menghindari masalah latensi pembaruan CRL yang disebutkan di atas. Sebagai tambahan, Stapel OCSP meningkatkan kinerja dan kecepatan.

4. Browser memverifikasi penerbit

Sertifikat biasanya dikaitkan dengan dua entitas:

  1. Grafik penerbit, yang merupakan entitas yang memiliki kunci penandatanganan dan
  2. Grafik subyek, yang merujuk pada pemilik kunci publik yang diautentikasi sertifikat.

Browser memeriksa bahwa sertifikat itu penerbit bidangnya sama dengan subyek bidang sertifikat sebelumnya di jalur. Untuk keamanan tambahan, sebagian besar PKI implementasi juga memverifikasi bahwa kunci penerbit sama dengan kunci yang menandatangani sertifikat saat ini. (Perhatikan bahwa ini tidak berlaku untuk jangkar kepercayaan, karena akar diterbitkan sendiri - yaitu mereka memiliki penerbit dan subjek yang sama.)

Pemrosesan kendala

Format X.509 v3 memungkinkan CA untuk mendefinisikan batasan atau batasan tentang bagaimana setiap sertifikat divalidasi dan digunakan sebagai ekstensi kritis. Setiap sertifikat di jalur dapat mengenakan batasan tambahan yang harus dipatuhi semua sertifikat berikutnya.

Kendala sertifikat jarang mempengaruhi pengguna Internet rata-rata, meskipun mereka cukup umum dalam solusi SSL perusahaan. Kendala fungsional dapat melayani beberapa tujuan operasional, tetapi penggunaannya yang paling signifikan adalah untuk mengurangi masalah keamanan yang diketahui.

5. Browser memeriksa batasan nama

CA perantara milik pribadi (tapi dipercaya publik) dengan yang sesuai batasan nama dapat memberi organisasi kontrol yang sangat ketat atas manajemen dan penerbitan sertifikat. Sertifikat dapat dibatasi pada domain atau pohon domain tertentu (yaitu termasuk subdomain) untuk nama domain perusahaan atau organisasi. Batasan nama sering digunakan untuk sertifikat CA perantara yang dibeli dari CA terpercaya publik untuk mencegah CA perantara menerbitkan sertifikat yang benar-benar valid untuk domain pihak ketiga (mis. google.com).

6. Browser memeriksa batasan kebijakan

Kebijakan sertifikat adalah dokumen hukum yang diterbitkan oleh CA, yang secara resmi merinci prosedur yang mereka ikuti untuk mengeluarkan dan mengelola sertifikat mereka. CA dapat mengeluarkan sertifikat di bawah satu atau beberapa kebijakan, dan tautan ke ini disertakan dalam setiap sertifikat yang dikeluarkan sehingga pihak yang bersandar dapat mengevaluasi kebijakan ini sebelum memutuskan untuk mempercayai sertifikat itu.

Untuk alasan hukum dan operasional, sertifikat dapat memberlakukan batasan pada kebijakan mana mereka dapat dikenakan. Jika sertifikat ditemukan mengandung batasan kebijakan penting, browser harus memvalidasinya sebelum melanjutkan. (Namun, kendala kebijakan kritis jarang dijumpai di dunia nyata dan karenanya akan diabaikan selama sisa artikel ini.)

7. Browser memeriksa batasan dasar (alias panjang jalur)

Format X.509 v3 memungkinkan penerbit menentukan panjang jalur maksimum yang dapat didukung sertifikat. Ini memberikan kontrol atas seberapa jauh setiap sertifikat dapat ditempatkan di jalur sertifikasi. Ini sebenarnya penting - browser digunakan untuk mengabaikan panjang jalur sertifikasi sampai seorang peneliti mendemonstrasikannya, pada tahun 2009 presentasi, bagaimana dia menggunakan sertifikat daun situs webnya untuk memalsukan sertifikat yang valid untuk situs web e-niaga besar.

8. Browser memverifikasi penggunaan kunci

Ekstensi “penggunaan kunci” menyatakan tujuan dari kunci yang terdapat dalam sertifikat. Contoh tujuan tersebut termasuk penyandian, tanda tangan, penandatanganan sertifikat, dan sebagainya. Browser menolak sertifikat yang melanggar batasan penggunaan kuncinya, seperti mendapatkan sertifikat server dengan kunci yang dimaksudkan hanya untuk penandatanganan CRL.

9. Browser terus memproses semua ekstensi penting yang tersisa

Setelah memproses ekstensi yang disebutkan di atas, browser melanjutkan untuk memvalidasi semua ekstensi yang tersisa yang ditetapkan oleh sertifikat saat ini sebagai penting, sebelum melanjutkan ke ekstensi berikutnya. Jika browser mencapai sertifikat daun jalur tanpa kesalahan, maka jalur tersebut diterima sebagai valid. Jika ada kesalahan yang dihasilkan, jalur ditandai sebagai tidak valid dan koneksi aman tidak dibuat.

Kesimpulan

World Wide Web adalah sistem kompleks dari bagian-bagian bergerak yang saling berhubungan dan terus berkembang. Oleh karena itu, keamanan browser bukanlah masalah yang terpecahkan, dan kami berharap artikel ini memberikan beberapa wawasan tentang kerumitan bahkan satu komponen yang telah kita bahas di sini. Kepercayaan memainkan peran utama dalam menjaga Anda tetap aman saat online, dan oleh karena itu kami mendorong Anda untuk menanyakan lebih lanjut tentang kebijakan sertifikat CA Anda. (Jangan ragu untuk mengulas Kebijakan SSL.com di sini, faktanya.)

Terima kasih telah memilih SSL.com, di mana kami percaya a lebih aman Internet adalah lebih baik Internet.

Berlangganan Newsletter SSL.com

Jangan lewatkan artikel baru dan pembaruan dari SSL.com

Tetap Terinformasi dan Aman

SSL.com adalah pemimpin global dalam keamanan siber, PKI dan sertifikat digital. Daftar untuk menerima berita industri terkini, tips, dan pengumuman produk dari SSL.com.

Kami sangat menantikan tanggapan Anda

Ikuti survei kami dan beri tahu kami pendapat Anda tentang pembelian terakhir Anda.