天天看點

和我一起學《HTTP權威指南》——安全HTTP與HTTPS

https是最流行的http安全形式。

https方案的url以<code>https://</code>開頭

和我一起學《HTTP權威指南》——安全HTTP與HTTPS

使用https時,所有的http請求和響應資料在發送到網絡之前,都要進行加密。https在http傳輸層下面提供了一個傳輸級的密碼安全層(可使用ssl或tls)

和我一起學《HTTP權威指南》——安全HTTP與HTTPS

編碼和解碼使用的密鑰值一樣(密鑰k)

發送端和接收端共享相同的密鑰k才能進行通信。

和我一起學《HTTP權威指南》——安全HTTP與HTTPS

缺點:發送者和接收者在互相對話前,一定要有一個共享的保密密鑰。

使用兩個非對稱密鑰:一個對主機封包編碼,另一個對主機封包解碼。

編碼密鑰是公開的(是以叫公開密鑰加密),解碼密鑰是保密的,隻有接收端才能對封包進行解碼。

公開密鑰非對稱加密系統的關鍵:

確定有人擁有下面所有的線索,也無法計算出保密的私有密鑰

公開密鑰(公開的,所有人都可獲得)

一小片攔截下來的密文

一條封包和與之相關的密文

rsa算法就是一個滿足所有這些條件的流行的公開密鑰加密系統。

數字簽名(digital signing):用加密系統對封包進行簽名,說明是誰編寫的封包,以證明封包未被篡改過。

數字簽名是附加在封包上的特殊加密校驗碼。

好處:

證明是作者編寫了這條封包

防止封包被篡改

通過非對稱公開密鑰技術産生。隻有所有者知道其私有密鑰,可将私有密鑰作為指紋使用。

和我一起學《HTTP權威指南》——安全HTTP與HTTPS

數字證書(certs)中包含由某個受信任組織擔保的使用者或公司的相關資訊。

和我一起學《HTTP權威指南》——安全HTTP與HTTPS
上圖就是由digicert組織簽發給github的數字證書
和我一起學《HTTP權威指南》——安全HTTP與HTTPS
上圖是12306在chrome浏覽器上浏覽,可看出雖然使用了https,但是是由不受信任的簽發者簽名的數字證書

通過https建立一個安全web事務之後,浏覽器自動擷取所連接配接伺服器的數字證書。

和我一起學《HTTP權威指南》——安全HTTP與HTTPS

https就是安全的傳輸層上發送的http。在安全層對封包進行加密。

http安全層是通過<code>ssl或tls</code>實作的。

和我一起學《HTTP權威指南》——安全HTTP與HTTPS
http的url由<code>http://</code>起始,預設端口80,https的預設端口是443。
和我一起學《HTTP權威指南》——安全HTTP與HTTPS
和我一起學《HTTP權威指南》——安全HTTP與HTTPS

http:用戶端建立到伺服器80端口的tcp連接配接,發送一條請求封包,接收一條響應封包,關閉連接配接。

https:用戶端打開一條道伺服器443端口的連接配接,建立tcp連接配接,用戶端和伺服器初始化ssl層,溝通加密參數,交換密鑰。ssl初始化完成後,用戶端就可将請求封包加密後發送給安全層。

發送加密的http封包之前,用戶端和伺服器要進行一次ssl握手。

和我一起學《HTTP權威指南》——安全HTTP與HTTPS

運作結果:

和我一起學《HTTP權威指南》——安全HTTP與HTTPS

原文位址:http://www.cnblogs.com/johntsai/p/5209953.html

繼續閱讀