Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 16849|Jawab: 0

Rantai sertifikat SSL yang tidak lengkap: Sertifikat perantara memang lubang

[Salin tautan]
Diposting pada 15/08/2017 21.08.39 | | |
Saya pernah menginjak lubang ini sebelumnya. Saya lupa bagaimana berlatih, tetapi saya masih ingat prinsip ini. Jelaskan secara kasar:


Paket instalasi browser menyimpan beberapa sertifikat akar (kunci publik) yang dipercaya.

Untuk keamanan, penerbit sertifikat biasanya menyimpan kunci privat yang sesuai dengan sertifikat akar ini di brankas yang benar-benar terputus. Kunci pribadi akar ini digunakan di brankas untuk menerbitkan beberapa sertifikat "menengah", dan kunci privat dari sertifikat perantara ini memiliki wewenang untuk menerbitkan sertifikat tingkat berikutnya. Kunci pribadi perantara ini diinstal di server online untuk mendapatkan uang dengan menerbitkan sertifikat situs web. Setelah server ini diretas, penerbit dapat mengeluarkan perintah pencabutan menggunakan kunci pribadi sertifikat akar yang terisolasi secara fisik di brankas untuk menghilangkan kepercayaan sertifikat perantara ini tanpa harus sepenuhnya tidak mempercayai sertifikat akar penayang. Tandatangani sertifikat penerbitan menengah baru, dan Anda akan menjadi orang baik yang dapat menghasilkan uang.

Inilah pertanyaannya.

Browser hanya mengenali sertifikat root. Untuk sertifikasi sertifikat perantara, Anda (situs web) harus menerbitkan sertifikat Anda sendiri.

Situs web HTTPS yang dikonfigurasi dengan benar harus menyertakan rantai sertifikat lengkap dalam sertifikat.
Misalnya, gunakan perintah openssl s_client -connect www.wosign.com:443 untuk melihat konfigurasi situs web Wosign sendiri.
Konten lainnya dapat diabaikan, lihat saja paragraf Rantai sertifikat:
---
Rantai sertifikat
0 dtk:/1.3.6.1.4.1.311.60.2.1.3=CN/1.3.6.1.4.1.311.60.2.1.2=Guangdong/1.3.6.1.4.1.311.60.2.1.1=Shenzhen/businessCategory=Swasta Organisasi/serialNumber=440301103308619/C=CN/ST=\xE5\xB9\xBF\xE4\xB8\x9C\xE7\x9C\x81/L=\xE6\xB7\xB1\xE5\x9C\xB3\xE5\xB8\x82/poscode=518067/street=\xE6\xB7\xB1\ xE5\x9C\xB3\xE5\xB8\x82\xE5\x8D\x97\xE5\xB1\xB1\xB1\xE5\x8C\xBA\xE5\x8D\x97\xE6\xB5\xB7\xE5\xA4\xA7\xE9\x81\x931057\xE5\x8F\xB7\xE7\xA7\x91\xE6\x8A\x80\xE5\xA4\xA7\xE5\ x8E\xA6\xE4\xBA\x8C\xE6\x9C\x9FA\xE6\xA0\x8B502#/O=WoSign\xE6\xB2\x83\xE9\x80\x9A\xE7\x94\xB5\xE5\xAD\x90\xE8\xAE\xA4\xE8\xAF\x81\xE6\x9C\x8D\xE5\x8A\xA1\xE6\x9C\x89\ xE9\x99\x90\xE5\x85\xAC\xE5\x8F\xB8/CN=www.wosign.com
   i:/C=CN/O=WoSign CA Terbatas/CN=WoSign Kelas 4 EV Server CA
1 dtk:/C=CN/O=WoSign CA Terbatas/CN=WoSign Kelas 4 EV Server CA
   i:/C=CN/O=WoSign CA Limited/CN=Otoritas Sertifikasi WoSign
2 dtk:/C=CN/O=WoSign CA Limited/CN=Otoritas Sertifikasi WoSign
   i:/C=IL/O=StartCom Ltd./OU=Penandatanganan Sertifikat Digital Aman/CN=Otoritas Sertifikasi StartCom
---

0, 1, dan 2 adalah nomor seri dari setiap tingkat sertifikat dalam rantai sertifikat. 0 adalah sertifikat yang digunakan oleh situs web untuk diverifikasi. CN-nya harus sesuai dengan nama domain situs web.
Setelah setiap nomor seri, baris yang dimulai dengan s mengacu pada sertifikat, dan baris yang dimulai dengan i mengacu pada siapa yang menerbitkan sertifikat.

Dapat dilihat bahwa CN dari 0 berisi nama domain Cina yang dicurigai dan www.wosign.com domain bahasa Inggris. Ini dikeluarkan oleh WoSign CA Limited/CN=WoSign Class 4 EV Server CA.

Sertifikat 1 adalah penerbit 0. 1 sendiri dikeluarkan oleh sertifikat lain, Otoritas Sertifikasi WoSign.
Mari kita lihat level berikutnya, 2. Dikatakan bahwa Otoritas Sertifikasi WoSign dikeluarkan oleh StartCom (haha, ternyata subkontraktor!). )

Jadi setelah melihatnya pada tingkat seperti itu, browser berkata, oh, saya tahu penerbit 2, dan itu disebutkan dalam paket instalasi, StartCom. Tanda tangan dan validasi yang benar, jadi percayalah 2. Maka Anda juga harus mempercayai 1 yang dikeluarkan oleh 2 dan 0 yang dikeluarkan oleh 1. Jadi website ini bisa dipercaya.

--

Namun, jika situs web dikonfigurasi untuk hanya berisi dirinya sendiri dalam file CRT dan bukan rantai sertifikat yang cukup lengkap untuk diverifikasi oleh data bawaan browser, situs web tersebut dapat ditolak oleh browser. Seperti apa
openssl s_client -connect touko.moe:443
---
Rantai sertifikat
0 dtk:/CN=touko.moe
   i:/C=CN/O=WoSign CA Limited/CN=Sertifikat SSL Gratis WoSign CA G2
---
Hanya ada 0 dalam satu grup. Deskripsi touko.moe di baris s dikeluarkan oleh Sertifikat SSL Gratis WoSign CA G2 di baris i. Itu hilang.

Ini adalah hal yang paling menakjubkan tentang jebakan ini: tidak selalu benar apakah browser gagal memverifikasi pada saat ini. Ada 2 situasi:
A. Saya belum pernah melihat ini i sejak browser diinstal. Kemudian validasi gagal.
B. Jika browser telah melihat dan memverifikasi i sebelumnya, maka verifikasi akan berhasil.

Biasanya administrator akan pergi ke situs web https penerbit sertifikat untuk membeli sertifikat, dan browser akan memverifikasinya, dan kemudian menyimpan semua sertifikat perantara yang berhasil diverifikasi, menghemat waktu di masa mendatang. Ketika administrator (salah) mengonfigurasi situs webnya dan pergi untuk menelusuri tes, dia tidak akan mengalami masalah sama sekali. Karena browsernya sudah mengenali sertifikat perantara ini.

Namun, banyak pengguna mungkin belum mengunjungi situs web lain yang dikonfigurasi dengan benar yang dikeluarkan oleh sertifikat perantara ini. Oleh karena itu, validasi gagal karena tidak dapat menemukan penerbit tepercaya.


Ini sebanding dengan kontrol emisi gas buang kendaraan diesel Volkswagen. Semuanya baik-baik saja saat diperiksa. Begitu mereka keluar, mereka menaruh racun.


EDIT:Cara memperbaiki ...... Mungkin untuk menambahkan pengaturan SSLCertificateChainFile saat mengonfigurasi server, dan menggunakan file bundel yang disediakan oleh situs web penerbit sertifikat (file berisi banyak sertifikat perantara untuk membuat koneksi antara sertifikat Anda dan sertifikat kepercayaan tinggi).




Mantan:OpenSSL mengonversi format PFX menjadi file .key dan .crt
Depan:Browser Android menunjukkan bahwa sertifikat tidak tepercaya
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com