Rumah  >  Artikel  >  Temu bual dengan kilang besar: HTTPS ditanya tiga kali berturut-turut, dan soalan terakhir ialah sama ada terdapat ramai orang

Temu bual dengan kilang besar: HTTPS ditanya tiga kali berturut-turut, dan soalan terakhir ialah sama ada terdapat ramai orang

Java后端技术全栈
Java后端技术全栈ke hadapan
2023-08-28 16:43:231372semak imbas

Hello semua, saya Lao Tian yang pakar dalam berkongsi maklumat berguna dengan anda. Di samping itu, rakan-rakan yang memerlukan bahan temuduga, ingat untuk membalas di belakang pentas面试

Kata Pengantar

Semua orang tahu bahawa HTTPS dan lebih selamat daripada HTTPS, konsep HTTPS. protokol termasuk SSL, penyulitan bukan simetri, sijil CA, dsb.

Tetapi anda mungkin tidak dapat menjawab tiga soalan penyeksaan jiwa berikut:

  • Mengapa HTTPS selamat?
  • Bagaimana untuk melaksanakan prinsip asas HTTPS?
  • Adakah penggunaan HTTPS semestinya selamat?

Artikel ini akan menerangkan secara mendalam dan menerangkan keselamatan HTTPS secara prinsip.

Prinsip pelaksanaan HTTPS

Anda mungkin pernah mendengar bahawa sebab protokol HTTPS selamat adalah kerana protokol HTTPS menyulitkan data yang dihantar, dan proses penyulitan menggunakan penyulitan asimetrik.

Tetapi sebenarnya, HTTPS menggunakan penyulitan simetri untuk menyulitkan penghantaran kandungan, dan penyulitan asimetri hanya berfungsi dalam fasa pengesahan sijil.

Proses keseluruhan HTTPS dibahagikan kepada peringkat pengesahan sijil dan penghantaran data Proses interaksi khusus adalah seperti berikut:

Temu bual dengan kilang besar: HTTPS ditanya tiga kali berturut-turut, dan soalan terakhir ialah sama ada terdapat ramai orang
img

Peringkat pengesahan sijil:

  • Permintaan pelayar HTTP.
  • Pelayan mengembalikan sijil HTTPS.
  • Pelanggan mengesahkan sama ada sijil itu sah dan menggesa penggera jika ia tidak sah.

Peringkat penghantaran data:

  • Apabila sijil disahkan sah, nombor rawak dijana secara tempatan.
  • Sulitkan nombor rawak melalui kunci awam dan hantarkan nombor rawak yang disulitkan ke pelayan.
  • Pelayan menyahsulit nombor rawak melalui kunci persendirian.
  • Pelayan membina algoritma penyulitan simetri melalui nombor rawak yang dihantar oleh pelanggan dan menyulitkan kandungan hasil yang dikembalikan sebelum menghantarnya.

Mengapa penyulitan simetri digunakan untuk penghantaran data?

Pertama sekali, kecekapan penyulitan dan penyahsulitan penyulitan asimetri adalah sangat rendah, dan dalam senario aplikasi HTTP biasanya terdapat banyak interaksi antara hujung ke hujung, jadi kecekapan penyulitan asimetri tidak boleh diterima.

Selain itu, dalam senario HTTPS, hanya pelayan yang menyimpan kunci persendirian, dan sepasang kunci awam dan persendirian hanya boleh mencapai penyulitan dan penyahsulitan sehala Oleh itu, penyulitan penghantaran kandungan dalam HTTPS menggunakan penyulitan simetri dan bukannya tidak simetri penyulitan.

Mengapa anda memerlukan pihak berkuasa pensijilan CA untuk mengeluarkan sijil?

Protokol HTTP dianggap tidak selamat kerana proses penghantaran dengan mudah boleh disambungkan oleh pendengar untuk memantau dan memalsukan pelayan, manakala protokol HTTPS terutamanya menyelesaikan masalah keselamatan penghantaran rangkaian.

Pertama sekali, kami menganggap bahawa tiada pihak berkuasa pensijilan dan sesiapa sahaja boleh membuat sijil Risiko keselamatan yang dibawa oleh ini ialah masalah klasik "serangan lelaki di tengah".

Proses khusus "man-in-the-middle attack" adalah seperti berikut:

Temu bual dengan kilang besar: HTTPS ditanya tiga kali berturut-turut, dan soalan terakhir ialah sama ada terdapat ramai orang

Prinsip proses adalah seperti berikut:

  • Permintaan tempatan dirampas (seperti rampasan DNS, dll. ), dan semua permintaan dihantar ke pelayan orang tengah.
  • Pelayan orang tengah memulangkan sijil orang tengah sendiri.
  • Pelanggan mencipta nombor rawak, menyulitkan nombor rawak melalui kunci awam sijil orang tengah dan menghantarnya kepada orang tengah, dan kemudian menggunakan nombor rawak untuk membina penyulitan simetri untuk menyulitkan kandungan penghantaran.
  • Oleh kerana orang tengah mempunyai nombor rawak pelanggan, ia boleh menyahsulit kandungan melalui algoritma penyulitan simetri.
  • Orang tengah menggunakan kandungan permintaan pelanggan untuk memulakan permintaan ke laman web biasa.
  • Oleh kerana proses komunikasi antara orang tengah dan pelayan adalah sah, laman web biasa mengembalikan data yang disulitkan melalui saluran selamat yang telah ditetapkan.
  • Orang tengah menyahsulit kandungan dengan bantuan algoritma penyulitan simetri yang ditubuhkan dengan tapak web yang sah.
  • Orang tengah menyulitkan dan menghantar data yang dikembalikan oleh kandungan biasa melalui algoritma penyulitan simetri yang ditubuhkan dengan pelanggan.
  • Pelanggan menyahsulit data hasil yang dikembalikan melalui algoritma penyulitan simetri yang ditubuhkan dengan orang tengah.

Disebabkan kekurangan pengesahan sijil, walaupun pelanggan memulakan permintaan HTTPS, pelanggan tidak tahu bahawa rangkaiannya telah dipintas dan semua kandungan penghantaran telah dicuri oleh orang tengah.

Bagaimanakah pelayar memastikan kesahihan sijil CA?

Apakah maklumat yang terkandung dalam sijil?

Sijil mengandungi maklumat berikut:

  • Maklumat pihak berkuasa
  • Kunci awam
  • Maklumat syarikat
  • Nama domain
  • Tempoh sah
Sijil Apakah asasnya untuk kesahan?

Pertama sekali, organisasi yang berwibawa mesti diperakui Bukan mana-mana organisasi yang layak untuk mengeluarkan sijil, jika tidak, ia tidak akan dipanggil organisasi yang berwibawa.

Selain itu, kredibiliti sijil adalah berdasarkan sistem amanah Organisasi yang berwibawa perlu mengesahkan sijil yang dikeluarkan olehnya Selagi ia adalah sijil yang dihasilkan oleh organisasi yang berwibawa, kami menganggapnya sebagai sah.

Jadi organisasi yang berwibawa akan menyemak maklumat pemohon di peringkat yang berbeza mempunyai keperluan semakan yang berbeza, jadi sijil juga dibahagikan kepada percuma, murah dan mahal.

Bagaimanakah penyemak imbas mengesahkan kesahihan sijil?

Apabila penyemak imbas memulakan permintaan HTTPS, pelayan akan mengembalikan sijil SSL tapak web.

Pelayar perlu melakukan pengesahan berikut pada sijil:

Sahkan sama ada nama domain, tempoh sah dan maklumat lain adalah betul. Sijil mengandungi maklumat ini, menjadikannya lebih mudah untuk melengkapkan pengesahan.
  • Tentukan sama ada sumber sijil itu sah. Setiap sijil yang dikeluarkan boleh mencari sijil akar yang sepadan mengikut rantaian pengesahan Sistem pengendalian dan penyemak imbas akan menyimpan sijil akar organisasi berwibawa secara setempat boleh digunakan untuk melengkapkan pengesahan sumber sijil yang dikeluarkan oleh yang sepadan organisasi.
Temu bual dengan kilang besar: HTTPS ditanya tiga kali berturut-turut, dan soalan terakhir ialah sama ada terdapat ramai orang
    ** Tentukan sama ada sijil telah diusik. **Memerlukan pengesahan dengan pelayan CA.
  • ** Tentukan sama ada sijil telah dibatalkan. **Dicapai melalui CRL (Senarai Pembatalan Sijil) dan OCSP (Protokol Status Sijil Dalam Talian).
  • OCSP boleh digunakan dalam langkah 3 untuk mengurangkan interaksi dengan pelayan CA dan meningkatkan kecekapan pengesahan.

Hanya apabila mana-mana langkah di atas dipenuhi, pelayar akan menganggap sijil itu sah.

**Berikut adalah soalan yang telah lama saya fikirkan tetapi jawapannya sebenarnya sangat mudah: **Memandangkan sijil itu terbuka kepada umum, jika saya ingin melancarkan serangan man-in-the-middle, saya muat turun sijil dari laman web rasmi sebagai sijil pelayan saya, maka pelanggan Pelanggan pasti akan bersetuju bahawa sijil ini adalah sah Bagaimana untuk mengelakkan penggunaan sijil secara penipuan?

Malah, ini adalah penggunaan kunci awam dan persendirian simetri yang tidak disulitkan Walaupun orang tengah boleh mendapatkan sijil, kunci persendirian tidak boleh diperolehi.

Adalah mustahil untuk menyimpulkan kunci persendirian yang sepadan daripada kunci awam Walaupun orang tengah memperoleh sijil, ia tidak boleh berpura-pura sebagai pelayan yang sah kerana ia tidak boleh menyahsulit data yang disulitkan yang dihantar oleh pelanggan.

Bolehkah hanya pihak berkuasa pensijilan menjana sijil?

Jika anda memerlukan penyemak imbas untuk tidak meminta risiko keselamatan, anda hanya boleh menggunakan sijil yang dikeluarkan oleh pihak berkuasa pensijilan.

Tetapi penyemak imbas biasanya hanya meminta risiko keselamatan dan tidak menyekat tapak web daripada boleh diakses, jadi secara teknikal sesiapa sahaja boleh menjana sijil, dan selagi ada sijil, penghantaran HTTPS tapak web boleh diselesaikan.

Sebagai contoh, awal 12306 menggunakan pemasangan manual sijil persendirian untuk mencapai akses HTTPS.

Temu bual dengan kilang besar: HTTPS ditanya tiga kali berturut-turut, dan soalan terakhir ialah sama ada terdapat ramai orang

Apakah yang perlu saya lakukan jika nombor rawak tempatan dicuri?

Pengesahan sijil dilaksanakan menggunakan penyulitan asimetrik, tetapi proses penghantaran menggunakan penyulitan simetri, dan nombor rawak penting dalam algoritma penyulitan simetri dijana dan disimpan secara setempat. Bagaimanakah HTTPS memastikan nombor rawak tidak akan dicuri?

Sebenarnya, HTTPS tidak termasuk jaminan keselamatan untuk nombor rawak HTTPS hanya menjamin keselamatan proses penghantaran, dan nombor rawak disimpan secara setempat termasuk dalam kategori keselamatan yang lain. kuda anti-Trojan, dan menyemak imbas peningkatan pelayan untuk membetulkan pepijat, dsb.

Adakah paket saya akan ditangkap jika saya menggunakan HTTPS?

Data HTTPS disulitkan Dalam keadaan biasa, kandungan paket yang ditangkap oleh alat penangkapan paket selepas permintaan proksi disulitkan dan tidak boleh dilihat secara langsung.

Walau bagaimanapun, seperti yang dinyatakan di atas, penyemak imbas hanya akan menggesa risiko keselamatan Jika pengguna membenarkannya, dia masih boleh terus mengakses tapak web dan melengkapkan permintaan.

Oleh itu, selagi pelanggan adalah terminal kami sendiri dan kami membenarkannya, kami boleh menyediakan rangkaian orang tengah, dan alat penangkapan paket berfungsi sebagai ejen orang tengah.

Biasanya, alat tangkapan paket HTTPS digunakan untuk menjana sijil Pengguna perlu memasang sijil secara manual ke dalam klien, dan kemudian semua permintaan yang dimulakan oleh terminal melengkapkan interaksi dengan alat tangkapan paket melalui sijil ini.

Kemudian alat tangkap paket memajukan permintaan ke pelayan, dan akhirnya mengeluarkan hasil yang dikembalikan oleh pelayan ke konsol dan kemudian mengembalikannya ke terminal, sekali gus melengkapkan keseluruhan gelung tertutup permintaan.

Memandangkan HTTPS tidak dapat menghalang penangkapan paket, apakah gunanya HTTPS? HTTPS boleh menghalang pengguna daripada dipantau pada pautan komunikasi tanpa pengetahuan mereka. Ia tidak memberikan perlindungan untuk operasi penangkapan paket pemberian kredit yang aktif kerana pengguna dalam senario ini sudah mengetahui risikonya.

Untuk mengelakkan penangkapan paket, perlindungan keselamatan peringkat aplikasi perlu diguna pakai, seperti penyulitan simetri peribadi dan peneguhan anti-penyahkompilasi pada terminal mudah alih untuk mengelakkan algoritma tempatan daripada dipecahkan.

Ringkasan

Berikut ialah ringkasan Soal Jawab ringkas bagi teks penuh:

S: Mengapa HTTPS selamat?

J: Kerana HTTPS memastikan keselamatan penghantaran, menghalang proses penghantaran daripada dipantau, menghalang data daripada dicuri dan boleh mengesahkan ketulenan tapak web.

S: Apakah proses penghantaran HTTPS?

J: Pelanggan memulakan permintaan HTTPS, pelayan memulangkan sijil, pelanggan mengesahkan sijil dan selepas lulus pengesahan, ia secara setempat menjana nombor rawak yang digunakan untuk mengubah algoritma penyulitan simetri.

Nombor rawak disulitkan dan dihantar ke pelayan melalui kunci awam dalam sijil Selepas menerimanya, pelayan menyahsulit nombor rawak melalui kunci persendirian, dan interaksi data seterusnya disulitkan dan dinyahsulit melalui algoritma penyulitan simetri.

S: Mengapa saya memerlukan sijil?

J: Cegah serangan "man-in-the-middle" dan sediakan bukti identiti untuk tapak web.

S: Adakah paket akan ditangkap apabila menggunakan HTTPS?

J: Paket akan ditangkap HTTPS hanya menghalang pengguna daripada dipantau tanpa pengetahuan mereka Jika pengguna secara aktif memberikan kredit, rangkaian "orang tengah" boleh dibina dan perisian proksi boleh menyahsulit kandungan penghantaran.

Kongsi gambarajah proses pembelajaran HTTPS:

Temu bual dengan kilang besar: HTTPS ditanya tiga kali berturut-turut, dan soalan terakhir ialah sama ada terdapat ramai orang

Atas ialah kandungan terperinci Temu bual dengan kilang besar: HTTPS ditanya tiga kali berturut-turut, dan soalan terakhir ialah sama ada terdapat ramai orang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:Java后端技术全栈. Jika ada pelanggaran, sila hubungi admin@php.cn Padam