91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java中用HTTPS的原因及優點是什么

發布時間:2022-07-18 13:58:00 來源:億速云 閱讀:160 作者:iii 欄目:開發技術

本篇內容介紹了“Java中用HTTPS的原因及優點是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

    1.HTTP

    在說 HTTPS 之前,我們先要了解 HTTP,因為 HTTP 是 HTTPS 通訊的基礎。 HTTP(HyperText Transport Protocol)超文本傳輸協議,它用于傳輸客戶端和服務器端的數據。

     HTTP 使用很簡單也很方便,但卻存在以下 3 個致命問題:

    • 使用明文通訊,內容可以被竊聽。

    • 不驗證通訊方的真實身份,可能會遭到偽裝。

    • 無法證明報文的完整性,很容易被篡改。

    鑒于以上問題,所以現在的系統會使用 HTTPS 來替代 HTTP。

    2.HTTPS

    首先來說,HTTPS 并不是一種新的協議,而是在 HTTP 協議的基礎上添加了加密機制 SSL(Secure Socket Layer)或 TLS(Transport Layer Security)。 HTTPS = HTTP + 加密 + 認證 + 完整性保護。

    SSL 和 TLS:

    SSL(Secure Socket Layer)最早是由瀏覽器開發廠商網景公司開發的,此公司開發了 SSL 3.0 及 3.0 之前的版本,之后便將 SSL 交給了 IETF(Internet Engineering Task Force)Internet 工程任務組的手中,IETF 以 SSL 3.0 為基礎開發了 TLS 1.0,所以可以認為 TLS 是 SSL 的“新版本”。

    2.1 解決信任問題

    作為 HTTPS 來說,首先要解決的就是信任問題,也就是身份效驗的問題,如果不解決信任問題就會存在服務器偽裝,也就是“中間人攻擊”的問題。 所謂的中間人攻擊指的是,正常情況下本該是客戶端和服務端直接進行交互的,但此處沖出來一個“壞人”(中間人),它包含在客戶端和服務器端之間,用于盜取和篡改雙方通訊的內容,

    如下圖所示: 

    Java中用HTTPS的原因及優點是什么

     HTTPS 解決信任問題采用的是數字證書的解決方案,也就是服務器在創建之初,會先向一個大家都認可的第三方平臺申請一個可靠的數字證書,然后在客戶端訪問(服務器端)時,服務器端會先給客戶端一個數字證書,以證明自己是一個可靠的服務器端,而非“中間人”。 此時瀏覽器會負責效驗和核對數字證書的有效性,如果數字證書有問題,那么客戶端會立即停止通訊,如果沒問題才會執行后續的流程,

    如下圖所示: 

    Java中用HTTPS的原因及優點是什么

     有了數字證書之后,就可以驗證服務器端的真實身份了,這樣就解決了“中間人攻擊”的問題,也解決了偽裝的問題。

    2.2 解決明文傳輸和完整性問題

    雖然上面我們已經解決了信任問題,然而因為通訊雙方是明文通訊的,所以在通訊時依然存在通訊內容被竊聽的風險,此時應該怎么辦呢? 于是我們想到,使用加密來解決信息暴露的問題。

    加密的分類

    加密主要分為兩大類:對稱加密和非對稱加密。

    • 在對稱加密中,有一個共享秘鑰,通過這把共享秘鑰可以實現信息的加密和信息的解密,它的特點是加密和解密的速度很快,但因為共享秘鑰的問題,一旦共享秘鑰被截獲,那么所謂的加密和解碼也就是一紙空談了。

    • 在非對稱加密中,有一對秘鑰:公鑰和私鑰,使用公鑰可以加密信息,但不能解密信息,使用私鑰可以解密信息。它的特點是服務器端保存私鑰,不對外暴露,只將公鑰發送給客戶端,而其他人即使拿到公鑰,也解密不了加密的信息,所以此方式更安全,但非對稱加密的執行速度比較慢。

    那在 HTTPS 中要使用對稱加密還是非對稱加密呢? 使用對稱加密,速度快,但不安全;使用非對稱加密安全,但速度慢。 只有小孩做選擇,成年人都要,所以 HTTPS 中既使用了非對稱加密也使用了對稱加密,它的整個交互流程是這樣的: 

    Java中用HTTPS的原因及優點是什么

    Java中用HTTPS的原因及優點是什么

     HTTPS 執行流程如下:

    • 客戶端使用 HTTPS 訪問服務器端。

    • 服務器端返回數字證書,以及使用非對稱加密,生成一個公鑰給客戶端(私鑰服務器端自己保留)。

    • 客戶端驗證數字證書是否有效,如果無效,終止訪問,如果有效:

      • 使用對稱加密生成一個共享秘鑰;

      • 使用對稱加密的共享秘鑰加密數據;

      • 使用非對稱加密的公鑰加密(對稱加密生成的)共享秘鑰。

      • 發送加密后的秘鑰和數據給服務器端。

    • 服務器端使用私鑰解密出客戶端(使用對稱加密生成的)共享秘鑰,再使用共享秘鑰解密出數據的具體內容。

    • 之后客戶端和服務器端就使用共享秘鑰加密的內容內容進行交互了。

    這樣,HTTPS 既保證了安全性,同時又保證了高效性,可謂魚和熊掌兼得。

    使用加密的方式也間接的保證了數據的完整性問題,如果是不完整的數據或有多余的數據,那么在解密時會報錯,這樣就能間接的保證數據的完整性了。

    “Java中用HTTPS的原因及優點是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    东莞市| 太湖县| 东乡| 治县。| 罗甸县| 轮台县| 革吉县| 剑河县| 临安市| 平塘县| 万载县| 潼关县| 通许县| 连山| 萍乡市| 阿克| 涡阳县| 常德市| 石渠县| 莫力| 黎城县| 梧州市| 锦屏县| 类乌齐县| 阿拉尔市| 松江区| 绩溪县| 广德县| 徐州市| 定州市| 灯塔市| 泗阳县| 武安市| 台南市| 罗江县| 贵阳市| 当涂县| 峨眉山市| 耒阳市| 抚宁县| 瑞昌市|