學習筆記 確保Web安全的HTTPS

2021-10-04 23:16:38 字數 2656 閱讀 2278

7.1 http的缺點

7.1.1 通訊使用明文可能會被竊聽

7.1.2 不驗證通訊方的身份就可能遭遇偽裝

7.1.3 無法證明報文完整性,可能已遭篡改

7.2 http+加密+認證+完整性保護 = https

7.2.1 http加上加密處理和認證以及完整性保護後即是https

7.2.3 https是身披ssl外殼的http

7.2.4 證明公開秘鑰正確性的證書

7.2.5 https的安全通訊機制

7.1.1 通訊使用明文(不加密)可能會被竊聽

tcp/ip是可能被竊聽的網路

加密處理防止被竊聽

通訊的加密

內容的加密

7.1.2 不驗證通訊方的身份就可能遭遇偽裝

任何人都可發起請求

因此不確認通訊方,會存在以下各種隱患。

● 無法確定請求傳送至目標的web伺服器是否是按真實意圖返回響應的那台伺服器。有可能是已偽裝的web伺服器。

● 無法確定響應返回到的客戶端是否是按真實意圖接收響應的那個客戶端。有可能是已偽裝的客戶端。

● 無法確定正在通訊的對方是否具備訪問許可權。因為某些web伺服器上儲存著重要的資訊,只想發給特定使用者通訊的許可權。

● 無法判定請求是來自何方、出自誰手。

● 即使是無意義的請求也會照單全收。無法阻止海量請求下的dos攻擊(denial of service,拒絕服務攻擊)。

查明對手的證書

7.1.3 無法證明報文完整性,可能已遭篡改

接收到的內容可能有誤

如何防止篡改

7.2.1 http加上加密處理和認證以及完整性保護後即是https

7.2.3 https是身披ssl外殼的http

7.2.4 證明公開秘鑰正確性的證書

7.2.5 https的安全通訊機制

證書的指紋和簽名

在解析數字證書的驗證之前,先來解析一下什麼是指紋和數字簽名?

簽名是在資訊後面加上的一段數字串,可以證明該資訊有沒有被修改過。數字證書在發布的時候,ca機構將證書的指紋和指紋演算法通過自己的私鑰加密得到的就是證書的簽名了。

先簡單闡述一下證書的指紋和簽名的作用,我們在驗證證書的時候,首先通過機構的根公鑰去解密證書的簽名,解密成功的話會得到證書的指紋和指紋演算法,指紋是乙個hash值,它代表著證書的原始內容,此時再通過指紋演算法計算證書內容得到另外乙個hash值,如果這兩個hash值相同,則代表證書沒有被篡改過,否則就是被篡改了。

證書的驗證

二:瀏覽器接收到證書以後,就要開始進行驗證工作了。首先從證書中得知證書的頒發機構,然後從瀏覽器系統中去尋找此頒發機構的根證書。上面我們也看到,世界上權威ca機構的根證書都是預先嵌入到瀏覽器中的,如果在瀏覽器系中沒有找到對應的根證書,就代表此機構不是受信任的,那麼就會警告無法確認證書的真假。

如果我們找到了證書頒發機構的根證書,那麼就從根證書中取得那個根公鑰,用根公鑰去解密此證書的數字簽名,成功解密的話就得到證書的指紋和指紋演算法,指紋是證書內容通過指紋演算法計算得到的乙個hash值,這裡我們稱之為h1,h1代表證書的原始內容;然後用指紋演算法對當前接收到的證書內容再進行一次hash計算得到另乙個值h2,h2則代表當前證書的內容,如果此時h1和h2是相等的,就代表證書沒有被修改過。如果證書被篡改過,h2和h1是不可能相同的,因為hash值具有唯一性,不同內容通過hash計算得到的值是不可能相同的。

到這裡我們認證了三點資訊:

證書是否為受信任的權威機構頒發的證書是否被篡改證書是否為伺服器發過來的,而不是第三方發的

四:通過了上面的步驟以後,此時客戶端和服務端都持有了對稱加密演算法的同乙個秘鑰,然後兄弟倆就可以愉快地安全通訊了。

總結數字證書的驗證有兩個重要的步驟:

確保Web安全的HTTPS

http主要又如下幾點不足 http 加密 認證 完整性保護 https https並非是應用層的一種新協議,只是http通訊介面部分用ssl secure socket layer 和tls transport layer security 協議代替而已。https其實就是身披ssl協議這層外殼的...

確保Web安全的HTTPS

證明身份 無法證明報文的完整性 證明公開金鑰正確性地證書 按tcp ip協議族的工作機制,通訊內容在所有的通訊線路上都有可能遭到窺視.為防止竊聽並保護資訊,有如下幾種加密方式 通訊加密 http協議沒有加密機制,但可以通過ssl或tls的組合使用,加密http通訊內容.與ssl組合使用的http被稱...

確保Web安全的HTTPS

1 通訊使用明文 不加密 內容有可能會被竊聽。1 通訊的加密 http協議中沒有加密機制,但可以通過和ssl 安全套接層 或tls 安全傳輸層協議 的組合使用,加密http的通訊內容。與ssl組合使用的http被稱為https 超文字傳輸安全協議 2 內容的加密 把http報文裡含有的內容進行加密處...