Rumah  >  Artikel  >  Java  >  Apakah sebab dan kelebihan menggunakan HTTPS dalam Java?

Apakah sebab dan kelebihan menggunakan HTTPS dalam Java?

WBOY
WBOYke hadapan
2023-04-17 22:19:011291semak imbas

    1.HTTP

    Sebelum bercakap tentang HTTPS, kita mesti terlebih dahulu memahami HTTP, kerana HTTP adalah asas komunikasi HTTPS. HTTP (HyperText Transport Protocol) Hypertext Transfer Protocol, yang digunakan untuk menghantar data sisi klien dan pelayan.

    HTTP sangat mudah dan mudah digunakan, tetapi ia mempunyai tiga masalah maut berikut:

    • Menggunakan komunikasi teks yang jelas, kandungan boleh didengari.

    • Jika anda tidak mengesahkan identiti sebenar pihak yang berkomunikasi, anda mungkin menyamar.

    • Keutuhan mesej tidak dapat dibuktikan dan ia mudah diusik.

    Memandangkan masalah di atas, sistem semasa akan menggunakan HTTPS dan bukannya HTTP.

    2.HTTPS

    Pertama sekali, HTTPS bukanlah protokol baharu, tetapi menambah mekanisme penyulitan SSL (Lapisan Soket Selamat) atau TLS (Pengangkutan) berdasarkan protokol Lapisan HTTP ). HTTPS = HTTP + penyulitan + pengesahan + perlindungan integriti.

    SSL dan TLS:

    SSL (Secure Socket Layer) mula-mula dibangunkan oleh pembangun penyemak imbas Netscape, yang membangunkan SSL 3.0 dan versi sebelum 3.0, dan kemudian SSL telah diserahkan kepada Pasukan Petugas Kejuruteraan Internet (IETF) IETF membangunkan TLS 1.0 berdasarkan SSL 3.0, jadi TLS boleh dianggap sebagai "versi baharu" SSL.

    2.1 Selesaikan masalah amanah

    Bagi HTTPS, perkara pertama yang perlu diselesaikan adalah masalah amanah iaitu masalah pengesahan identiti Jika masalah amanah tidak selesai, akan ada penyamaran pelayan, iaitu masalah "Serangan Man-in-the-middle". Serangan yang dipanggil man-in-the-middle bermaksud bahawa dalam keadaan biasa, pelanggan dan pelayan harus berinteraksi secara langsung, tetapi di sini "lelaki jahat" (man-in-the-middle) muncul, yang termasuk antara klien dan pelayan untuk Mencuri dan mengganggu kandungan komunikasi antara kedua-dua pihak,

    seperti yang ditunjukkan di bawah:

    Apakah sebab dan kelebihan menggunakan HTTPS dalam Java?

    Penggunaan HTTPS sijil digital untuk menyelesaikan masalah amanah Penyelesaiannya ialah apabila pelayan pertama kali dibuat, ia akan terlebih dahulu memohon sijil digital yang boleh dipercayai daripada platform pihak ketiga yang diiktiraf oleh semua orang, dan kemudian apabila pelanggan mengakses (pelayan), pelayan akan mula-mula berikan pelanggan nombor Sijil untuk membuktikan bahawa anda adalah pelayan yang boleh dipercayai dan bukan "orang tengah". Pada masa ini, penyemak imbas akan bertanggungjawab untuk mengesahkan dan menyemak kesahihan sijil digital Jika terdapat masalah dengan sijil digital, pelanggan akan menghentikan komunikasi serta-merta.

    Seperti yang ditunjukkan di bawah Ditunjukkan:

    Apakah sebab dan kelebihan menggunakan HTTPS dalam Java?

    Dengan sijil digital, anda boleh mengesahkan identiti sebenar pelayan ini masalah “man-in-the-middle attack” dan juga menyelesaikan masalah penyamaran.

    2.2 Selesaikan masalah penghantaran teks yang jelas dan integriti

    Walaupun kami telah menyelesaikan masalah amanah di atas, kerana kedua-dua pihak berkomunikasi dalam teks yang jelas, masih terdapat risiko kandungan komunikasi menjadi didengari semasa komunikasi, apakah yang perlu kita lakukan pada masa ini? Jadi kami terfikir untuk menggunakan penyulitan untuk menyelesaikan masalah pendedahan maklumat.

    Klasifikasi Penyulitan

    Penyulitan terbahagi kepada dua kategori: Penyulitan simetri dan penyulitan asimetrik.

    • Dalam penyulitan simetri, terdapat kunci rahsia yang dikongsi ini, penyulitan maklumat dan penyahsulitan maklumat boleh dicapai. tetapi kerana masalah kunci rahsia yang dikongsi, apabila kunci rahsia yang dikongsi dipintas, apa yang dipanggil penyulitan dan penyahkodan akan menjadi perbualan kosong.

    • Dalam penyulitan asimetri, terdapat sepasang kunci rahsia: kunci awam dan kunci peribadi boleh digunakan untuk menyulitkan maklumat, tetapi ia tidak boleh dinyahsulitkan kunci boleh digunakan untuk menyahsulit maklumat. Cirinya ialah pelayan menyimpan kunci persendirian dan tidak mendedahkannya kepada dunia luar Ia hanya menghantar kunci awam kepada pelanggan Walaupun orang lain mendapat kunci awam, mereka tidak boleh menyahsulit maklumat yang disulitkan lebih selamat, tetapi penyulitan tidak simetri Kelajuan pelaksanaan agak perlahan.

    Jadi patutkah kita menggunakan penyulitan simetri atau penyulitan asimetri dalam HTTPS? Gunakan penyulitan simetri, yang pantas tetapi tidak selamat; Hanya kanak-kanak yang membuat pilihan, orang dewasa melakukannya, jadi HTTPS menggunakan kedua-dua penyulitan asimetri dan penyulitan simetri keseluruhan proses interaksinya adalah seperti ini:

    Apakah sebab dan kelebihan menggunakan HTTPS dalam Java?

    Apakah sebab dan kelebihan menggunakan HTTPS dalam Java?.

    Proses pelaksanaan HTTPS adalah seperti berikut:

    • Pelanggan menggunakan HTTPS untuk mengakses pelayan.

    • Pelayan mengembalikan sijil digital dan menggunakan penyulitan asimetri untuk menjana kunci awam kepada klien (pelayan menyimpan kunci peribadi itu sendiri).

    • Pelanggan mengesahkan sama ada sijil digital itu sah Jika ia tidak sah, aksesnya akan ditamatkan Jika sah:

      • Gunakan penyulitan simetri untuk menjana kunci rahsia kongsi;

      • Gunakan penyulitan asimetri penyulitan kunci awam (dijana oleh penyulitan simetri) kunci rahsia kongsi.
      • Hantar kunci rahsia dan data yang disulitkan ke pelayan.
      • Pelayan menggunakan kunci peribadi untuk menyahsulit kunci rahsia kongsi pelanggan (dijana menggunakan penyulitan simetri), dan kemudian menggunakan kunci rahsia dikongsi untuk menyahsulit kandungan data tertentu .

      Kemudian klien dan pelayan berinteraksi antara satu sama lain menggunakan kandungan yang disulitkan oleh kunci rahsia yang dikongsi.
    • Dengan cara ini, HTTPS bukan sahaja memastikan keselamatan tetapi juga memastikan kecekapan, yang boleh dikatakan mempunyai yang terbaik daripada kedua-dua dunia.
    • Menggunakan penyulitan juga secara tidak langsung memastikan integriti data Jika terdapat data yang tidak lengkap atau data yang berlebihan, ralat akan dilaporkan semasa penyahsulitan, dengan itu secara tidak langsung memastikan data tersebut lengkap.

    Atas ialah kandungan terperinci Apakah sebab dan kelebihan menggunakan HTTPS dalam Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Kenyataan:
    Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam