亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

如何解析HTTPS與SSL原理

發布時間:2021-11-12 17:38:47 來源:億速云 閱讀:158 作者:柒染 欄目:云計算

如何解析HTTPS與SSL原理,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

HTTPS是指結合HTTP和SSL來實現網絡瀏覽器和服務器之間的安全通信。HTTPS被融合到當今網絡操作系統和網絡瀏覽器中,他依賴于網絡服務器是否支持HTTPS協議。本文重點是闡述HTTPS和SSL證書的原理,不涉及具體實現。在開始敘述原理之前,先明確幾個網絡安全方面的基礎概念。

一.基礎概念

1. 對稱加密算法

一個對稱加密算法由五個部分組成:

  • 明文:原始消息或數據

  • 加密算法

  • 密鑰

  • 密文:使用密鑰通過加密算法對明文計算后的結果

  • 解密算法:使用密文和相同密鑰通過解密算法產生原文

2. 非對稱加密算法

與對稱加密算法不同的是,非對稱加密算法使用的加密密鑰和解密密鑰是不同的。

3. 公鑰密碼與RSA

公鑰密碼屬于對稱加密算法中的一種,公鑰密碼體系中有一個公鑰和一個密鑰,公鑰是公開給所有人使用的,密鑰只有自己知道,通常公鑰根據一個密鑰進行加密,根據另一個密鑰進行解密。

RSA公鑰密碼算法是公鑰密碼算法中的一種,RSA中的加密和解密都可以使用公鑰或者私鑰,但是用公鑰加密的密文只能使用私鑰解密,用私鑰加密的密文智能使用公鑰解密。

二.SSL證書的原理

這里只敘述SSL證書的原理,至于如何申請證書,如何生成證書,如何部署證書可以Google得到。在介紹SSL證書前,需要先知道證書的指紋和指紋算法。

指紋是在證書信息(證書機構,公司名,證書有效期等)后面加上一段內容,保證信息沒有被修改過。具體操作是將將原來的信息通過指紋算法算法(一個hash算法)計算得到指紋與原信息一起發出去。用戶收到這份數據后,首先將原信息用同樣的指紋算法計算結果,將得到的結果與指紋對比,如果一致,則說明信息沒有被修改過。當然這個過程是有危險的,黑客完全可以修改內容并重新通過指紋算法生成指紋。這里需要使用加密算法來解決這個隱患。

假設一個公司B company向證書機構xxx CA申請SSL證書,他會得到一張類似下面這張圖的證書

B company得到這張證書后,會在與用戶通信的過程中將證書發送給用戶,用戶首先會檢測辦法證書的機構,如果是大家都公認的證書機構,操作系統在出廠時會內置這個機構的機構信息和公鑰,例如xxx CA,如果是一個不受信任的證書機構,應用程序(比如瀏覽器)會發出警告,如果是受信任的證書機構,應用程序會使用預置的xxx CA的公鑰去解密最后的指紋內容和指紋算法,然后再把前面的證書內容用指紋算法計算后與指紋內容比對,由于指紋內容是由證書機構唯一的私鑰加密的,因此只要比對成功說明證書是沒有人被人修改過的。接下來用戶就可以放心使用該公司的公鑰了。

三.HTTPS的原理

HTTPS的出現是為了解決網絡通信中數據傳輸不安全的問題,下面我們以登陸為例,先看一個網絡通信最簡單的過程,再一步步分析這個過程中不安全的因素以及解決辦法。

1.最簡單的通信過程

這個通信過程槽點太多,這樣一個網絡通信過程屬于小學生水準,首先最明顯一個錯誤是作為客戶端如何知道給予回應一定是目標服務器,黑客可以有一百種辦法來偽裝這個服務器,輕輕松松就拿到用戶的用戶名和密碼,所以圖中也只能無奈的使用“某個地址”來標識服務器。為了解決這個問題,首先需要讓瀏覽器確認對方的身份,于是有了下面的通信過程。

2.確認服務器身份

確認服務器身份就需要用到前面說過的RSA算法了,由于RSA算法有下面這幾個特性,所以是可以用來唯一確認服務器身份的:

  • 私鑰的唯一性

  • 私鑰的保密性(只有服務器知道這個私鑰)

  • 只能用公鑰解密用私鑰加密過的密文(對稱加密算法的特點)

其中“()”里的內容是服務器用私鑰加密后的內容,一般服務器會將明文加密,瀏覽器在收到消息后首先會用公鑰解密密文,由前面特性3可以知道,公鑰和解密算法是可以解出明文的,如果解不出來說明對方不是目標服務器,瀏覽器解密后會與明文做比對,如果比對成功,由私鑰的唯一性和保密性就可以確認對方是目標服務器。然而確認服務器身份后,在向服務器發送數據的過程中,如果數據被黑客截獲,我們的用戶名和密碼也會落入黑客之手,于是下一步我們需要對發送的數據進行加密。

3.通信內容加密

瀏覽器對用戶名和密碼用公鑰進行加密,由于

  • 只能用私鑰解密用公鑰加密過的密文

于是密文只能由服務器用私鑰解密,黑客即使拿到密文,也是無法解密的。但是在服務器向客戶返回信息的過程中就出現問題了,由于公鑰是公有的,任何人都可以拿到這份數據并使用公鑰解密,所以這里還是存在不安全因素。于是客戶和瀏覽器的通信過程多了一個步驟。

4.使用用戶定義的對稱加密算法對信息加密

為了使瀏覽器和服務器發出的信息都無法被別人解密,這里使用了一個對稱加密算法,而算法和密鑰的加密是在瀏覽器用公鑰來加密的,這樣可以保證只有服務器才能用私鑰來解密這個內容,也就是保證對稱加密算法和密鑰只能被服務器拿到。當服務器拿到對稱加密算法和密鑰后,后面的通信都能使用這個對稱加密算法來完成,由于對稱加密算法和密鑰只有客戶和服務器知道,后面的通信加密過程都是無法被破解的。

到這里,基本就是HTTPS通信的整個過程了,似乎整個過程都很難被黑客破解,但是注意到前面的所有過程都默認了一個前提,那就是客戶手里已經擁有公鑰。公鑰的獲取如果只是在客戶和服務器之間進行的話,是存在很大的安全隱患的,最直接的問題就是用戶怎么確定拿到的公鑰就是目標服務器的公鑰,類似“證明‘能證明你身份’的憑證是你的”這樣的命題,最好的解決辦法是引入一個大家都信任的第三方來“證明這個憑證”是服務器的,于是這里就使用了SSL證書。前面提到,通過發送SSL證書服務器可以將公鑰安全的交給用戶,而這里的第三方就是證書機構。于是我們得到了一個完整的HTTPS通信過程。

到這里已經基本講完了SSL證書與HTTPS的原理,當然實際通信過程中還有很多細節沒有說到,但是不妨礙理解原理。實際開發和生產過程中很多信息敏感的操作都可以參照這種思想來實現,文中有不合理的和錯誤的地方歡迎指正。

看完上述內容,你們掌握如何解析HTTPS與SSL原理的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

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

AI

玛多县| 宁河县| 格尔木市| 缙云县| 大宁县| 顺平县| 柳林县| 申扎县| 弥勒县| 孝感市| 印江| 黄梅县| 临洮县| 杨浦区| 岑溪市| 庆阳市| 敖汉旗| 新昌县| 平远县| 黎平县| 思茅市| 绿春县| 松潘县| 禄丰县| 丹江口市| 遵义县| 南江县| 雅江县| 定安县| 景宁| 石河子市| 城固县| 西峡县| 同江市| 疏附县| 惠来县| 夏津县| 喀喇| 靖江市| 三都| 沾化县|