Rumah Tutorial sistem LINUX Penjelasan terperinci tentang proses sambungan HTTPS dan serangan dan rampasan manusia di tengah

Penjelasan terperinci tentang proses sambungan HTTPS dan serangan dan rampasan manusia di tengah

Jun 16, 2024 am 10:52 AM
linux tutorial linux Topi Merah sistem linux arahan linux pensijilan linux linux topi merah video linux

1. Proses sambungan HTTPS dan prinsip serangan man-in-the-middle

Protokol https ialah protokol http+ssl Proses sambungan ditunjukkan dalam rajah di bawah:
Penjelasan terperinci tentang proses sambungan HTTPS dan serangan dan rampasan manusia di tengah

1.https permintaan

Pelanggan menghantar permintaan https ke pelayan;

2. Hasilkan kunci awam dan peribadi

Selepas menerima permintaan, pelayan menjana kunci awam dan kunci peribadi. Kunci awam adalah bersamaan dengan kunci, dan kunci persendirian adalah bersamaan dengan kunci persendirian sahaja yang boleh membuka kandungan yang dikunci oleh kunci awam

3. Kembalikan kunci awam

Pelayan mengembalikan kunci awam (sijil) kepada pelanggan Kunci awam mengandungi banyak maklumat, seperti pihak berkuasa mengeluarkan sijil, masa tamat tempoh, dsb.;

4. Kunci awam pengesahan pelanggan
Selepas pelanggan menerima kunci awam, ia akan mengesahkan terlebih dahulu sama ada ia sah, seperti pihak berkuasa yang mengeluarkan atau masa tamat tempoh, dsb. Jika sebarang masalah ditemui, pengecualian akan dilemparkan, menyebabkan terdapat masalah dengan sijil . Jika tiada masalah, jana nilai rawak sebagai kunci pelanggan, dan kemudian enkripsikan dengan kunci awam pelayan

5.Hantar kunci pelanggan
Pelanggan menyulitkan kunci dengan kunci awam pelayan dan kemudian menghantarnya ke pelayan.

6 Pelayan menerima kunci dan menyulitkan kandungan secara simetri .
Pelayan menerima kunci yang disulitkan dan kemudian menyahsulitnya dengan kunci persendirian untuk mendapatkan kunci pelanggan Kemudian pelayan menyulitkan kandungan yang hendak dihantar dan kunci pelanggan secara simetri, supaya melainkan kunci itu diketahui, ia tidak dapat Mengetahui apa yang sedang berlaku. dihantar.

7. Penghantaran disulitkan
Pelayan menghantar kandungan yang disulitkan kepada pelanggan.

8 Dapatkan kandungan yang disulitkan dan nyahsulitnya
Selepas pelanggan memperoleh kandungan yang disulitkan, ia menggunakan kunci yang dijana sebelum ini untuk menyahsulitnya dan mendapatkan kandungan tersebut.

Serangan rampasan lelaki-di-tengah
https tidak benar-benar selamat Seperti yang ditunjukkan dalam rajah di bawah, ia adalah serangan rampasan lelaki di tengah-tengah boleh mendapatkan semua kandungan komunikasi antara pelanggan dan pelayan.


Penjelasan terperinci tentang proses sambungan HTTPS dan serangan dan rampasan manusia di tengah

Orang tengah memintas permintaan yang dihantar oleh pelanggan kepada pelayan, dan kemudian berpura-pura menjadi pelanggan untuk berkomunikasi dengan pelayan menghantar kandungan yang dikembalikan oleh pelayan kepada pelanggan, berpura-pura menjadi pelayan untuk berkomunikasi dengan pelanggan.

Dengan cara ini, semua kandungan komunikasi antara klien dan pelayan boleh diperolehi.
Untuk menggunakan serangan man-in-the-middle, pelanggan mesti mempercayai sijil orang tengah Jika pelanggan tidak mempercayainya, kaedah serangan ini tidak akan berfungsi.

2. Pencegahan serangan man-in-the-middle

Sebab rampasan man-in-the-middle ialah sijil pelayan dan nama domain tidak disahkan atau pengesahan tidak lengkap Untuk kemudahan, kaedah pengesahan lalai rangka kerja sumber terbuka digunakan secara langsung untuk permintaan https

Seperti tampar

Penjelasan terperinci tentang proses sambungan HTTPS dan serangan dan rampasan manusia di tengah

Penjelasan terperinci tentang proses sambungan HTTPS dan serangan dan rampasan manusia di tengah

OKhttp3.0

Penjelasan terperinci tentang proses sambungan HTTPS dan serangan dan rampasan manusia di tengah

Kaedah pencegahan:

Terdapat dua kaedah pencegahan

1. Untuk apl yang mempunyai keperluan keselamatan yang agak tinggi, sijil boleh dikunci dengan pra-benamkan sijil pada sisi pelanggan Komunikasi hanya dibenarkan apabila sijil pelanggan dan sijil pelayan benar-benar konsisten, seperti beberapa apl perbankan , kaedah ini menghadapi masalah, masalah tamat tempoh sijil Oleh kerana sijil mempunyai tempoh sah tertentu, apabila sijil prabenam tamat, ia hanya boleh diselesaikan dengan memaksa kemas kini atau memerlukan pengguna memuat turun sijil.

Ambil tampar sebagai contoh: pengesahan dilaksanakan seperti berikut

Buat SSLSocketFactory melalui sijil pra-benam;

private static SSLSocketFactory buildSSLSocketFactory(Context context,
                                                      int certRawResId) {
    KeyStore keyStore = null;
    try {
        keyStore = buildKeyStore(context, certRawResId);
    } catch (KeyStoreException e) {
        e.printStackTrace();
    } catch (CertificateException e) {
        e.printStackTrace();
    } catch (NoSuchAlgorithmException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

    String tmfAlgorithm = TrustManagerFactory.getDefaultAlgorithm();
    TrustManagerFactory tmf = null;
    try {
        tmf = TrustManagerFactory.getInstance(tmfAlgorithm);
        tmf.init(keyStore);

    } catch (NoSuchAlgorithmException e) {
        e.printStackTrace();
    } catch (KeyStoreException e) {
        e.printStackTrace();
    }

    SSLContext sslContext = null;
    try {
        sslContext = SSLContext.getInstance("TLS");
    } catch (NoSuchAlgorithmException e) {
        e.printStackTrace();
    }
    try {
        sslContext.init(null, tmf.getTrustManagers(), null);
    } catch (KeyManagementException e) {
        e.printStackTrace();
    }

    return sslContext.getSocketFactory();
Salin selepas log masuk

Jana sambungan yang telah disahkan oleh SSL dan nama domain
Penjelasan terperinci tentang proses sambungan HTTPS dan serangan dan rampasan manusia di tengah

Penjelasan terperinci tentang proses sambungan HTTPS dan serangan dan rampasan manusia di tengah

2 Untuk apl dengan keperluan keselamatan am, anda boleh mengesahkan nama domain, kesahihan sijil, maklumat kunci sijil dan rantaian sijil

Ambil tampar sebagai contoh, tulis semula kaedah checkServerTrusted dalam HTTPSTrustManager, dan dayakan pengesahan nama domain yang kukuh

Tiga keselamatan HTTPS untuk Webview

Banyak aplikasi pada masa ini menggunakan webview untuk memuatkan halaman H5 Jika pelayan menggunakan sijil yang dikeluarkan oleh CA yang dipercayai, lebihkan beban WebViewClient's onReceivedSslError() apabila webView.setWebViewClient(webviewClient Jika ralat sijil berlaku, hubungi pengendali. teruskan). akan mengabaikan ralat dan terus memuatkan halaman dengan masalah sijil Jika handler.cancel() dipanggil, ia boleh menamatkan pemuatan halaman dengan masalah sijil Jika terdapat masalah dengan sijil, pengguna boleh digesa untuk risiko dan biarkan pengguna memilih sama ada untuk memuatkan atau tidak Jika keselamatan diperlukan Tahapnya agak tinggi dan pemuatan halaman boleh ditamatkan secara langsung, mendorong pengguna bahawa persekitaran rangkaian berisiko:

.

Penjelasan terperinci tentang proses sambungan HTTPS dan serangan dan rampasan manusia di tengah

Tidak disyorkan untuk menggunakan handler.proceed() secara terus. Jika paparan web perlu mengesahkan sijil pelayan dengan kuat semasa memuatkan https, anda boleh menggunakan HttpsURLConnection untuk mengesahkan sijil dengan kuat dalam onPageStarted() untuk mengesahkan sijil pelayan Jika pengesahan tidak lulus, hentikan memuatkan halaman web. Sudah tentu, ini akan memperlahankan kelajuan memuatkan halaman web dan memerlukan pengoptimuman lanjut Kaedah pengoptimuman khusus adalah di luar skop perbincangan ini dan tidak akan diterangkan secara terperinci di sini.

Atas ialah kandungan terperinci Penjelasan terperinci tentang proses sambungan HTTPS dan serangan dan rampasan manusia di tengah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Perbezaan antara centos dan ubuntu Perbezaan antara centos dan ubuntu Apr 14, 2025 pm 09:09 PM

Perbezaan utama antara CentOS dan Ubuntu adalah: asal (CentOS berasal dari Red Hat, untuk perusahaan; Ubuntu berasal dari Debian, untuk individu), pengurusan pakej (CentOS menggunakan yum, yang memberi tumpuan kepada kestabilan; Ubuntu menggunakan APT, untuk kekerapan yang tinggi) Pelbagai tutorial dan dokumen), kegunaan (CentOS berat sebelah ke arah pelayan, Ubuntu sesuai untuk pelayan dan desktop), perbezaan lain termasuk kesederhanaan pemasangan (CentOS adalah nipis)

Cara memasang centos Cara memasang centos Apr 14, 2025 pm 09:03 PM

Langkah Pemasangan CentOS: Muat turun Imej ISO dan Burn Bootable Media; boot dan pilih sumber pemasangan; Pilih susun atur bahasa dan papan kekunci; Konfigurasikan rangkaian; memisahkan cakera keras; Tetapkan jam sistem; Buat pengguna root; pilih pakej perisian; Mulakan pemasangan; Mulakan semula dan boot dari cakera keras selepas pemasangan selesai.

Pilihan Centos setelah menghentikan penyelenggaraan Pilihan Centos setelah menghentikan penyelenggaraan Apr 14, 2025 pm 08:51 PM

CentOS telah dihentikan, alternatif termasuk: 1. Rocky Linux (keserasian terbaik); 2. Almalinux (serasi dengan CentOS); 3. Ubuntu Server (Konfigurasi diperlukan); 4. Red Hat Enterprise Linux (versi komersial, lesen berbayar); 5. Oracle Linux (serasi dengan CentOS dan RHEL). Apabila berhijrah, pertimbangan adalah: keserasian, ketersediaan, sokongan, kos, dan sokongan komuniti.

Cara menggunakan desktop docker Cara menggunakan desktop docker Apr 15, 2025 am 11:45 AM

Bagaimana cara menggunakan desktop Docker? Docktop Docktop adalah alat untuk menjalankan bekas Docker pada mesin tempatan. Langkah -langkah untuk digunakan termasuk: 1. Pasang desktop Docker; 2. Mulakan desktop Docker; 3. Buat imej Docker (menggunakan Dockerfile); 4. Membina imej Docker (menggunakan Docker Build); 5. Jalankan bekas Docker (menggunakan Docker Run).

Penjelasan terperinci mengenai Prinsip Docker Penjelasan terperinci mengenai Prinsip Docker Apr 14, 2025 pm 11:57 PM

Docker menggunakan ciri -ciri kernel Linux untuk menyediakan persekitaran berjalan yang cekap dan terpencil. Prinsip kerjanya adalah seperti berikut: 1. Cermin digunakan sebagai templat baca sahaja, yang mengandungi semua yang anda perlukan untuk menjalankan aplikasi; 2. Sistem Fail Kesatuan (Unionfs) menyusun pelbagai sistem fail, hanya menyimpan perbezaan, menjimatkan ruang dan mempercepatkan; 3. Daemon menguruskan cermin dan bekas, dan pelanggan menggunakannya untuk interaksi; 4. Ruang nama dan cgroups melaksanakan pengasingan kontena dan batasan sumber; 5. Pelbagai mod rangkaian menyokong interkoneksi kontena. Hanya dengan memahami konsep -konsep teras ini, anda boleh menggunakan Docker dengan lebih baik.

Apa yang Harus Dilakukan Setelah CentOs Berhenti Penyelenggaraan Apa yang Harus Dilakukan Setelah CentOs Berhenti Penyelenggaraan Apr 14, 2025 pm 08:48 PM

Selepas CentOS dihentikan, pengguna boleh mengambil langkah -langkah berikut untuk menanganinya: Pilih pengedaran yang serasi: seperti Almalinux, Rocky Linux, dan CentOS Stream. Berhijrah ke pengagihan komersial: seperti Red Hat Enterprise Linux, Oracle Linux. Menaik taraf ke CentOS 9 Stream: Pengagihan Rolling, menyediakan teknologi terkini. Pilih pengagihan Linux yang lain: seperti Ubuntu, Debian. Menilai pilihan lain seperti bekas, mesin maya, atau platform awan.

Konfigurasi komputer apa yang diperlukan untuk vscode Konfigurasi komputer apa yang diperlukan untuk vscode Apr 15, 2025 pm 09:48 PM

Keperluan Sistem Kod Vs: Sistem Operasi: Windows 10 dan ke atas, MACOS 10.12 dan ke atas, pemproses pengedaran Linux: minimum 1.6 GHz, disyorkan 2.0 GHz dan ke atas memori: minimum 512 MB, disyorkan 4 GB dan ke atas ruang penyimpanan: minimum 250 mb, disyorkan 1 GB dan di atas keperluan lain:

Apakah teknologi asas yang digunakan oleh Docker? Apakah teknologi asas yang digunakan oleh Docker? Apr 15, 2025 am 07:09 AM

Docker menggunakan enjin kontena, format cermin, pemacu penyimpanan, model rangkaian, alat orkestrasi kontena, virtualisasi sistem operasi, dan pendaftaran kontena untuk menyokong keupayaan kontenanya, menyediakan penggunaan dan pengurusan aplikasi yang ringan, mudah alih dan automatik.

See all articles