網路協議 HTTP與HTTPS

2021-08-25 05:57:43 字數 1243 閱讀 6123

https的身份認證機制,如何證明我是我?

我知道某帶密碼門鎖房間的密碼,如何證明我有這個密碼呢?有以下兩種方式:

①:我把密碼告訴你,你用密碼開啟該房間的鎖。

②:我知道該房間內有某一物品,我用密碼開啟房間的們,然後把物品拿出來給你看。

方式①的結果是密碼洩露了,方式②是零知識證明,他指的是證明者能夠在不向驗證者提供任何有用資訊的情況下,使驗證者相信某個論斷是正確的。

什麼是https?

http(應用層)  --->  tcp(傳輸層)--->ip(網路層)--->網路介面(資料鏈路層)http協議

http(應用層)  --->ssl or tls--->tcp(傳輸層)--->ip(網路層)--->網路介面(資料鏈路層)https協議

https如何保證安全的?

一、加密---防竊聽

採用非對稱加密

對稱加密:加密和解密函式相同

非對稱加密:加密和解密金鑰不同, 張三 和 李四 進行資訊傳輸,張三 將自己的公鑰傳給 李四 ,李四在得知張三公鑰的前提下,對其進行資訊進行加密傳遞給張三,然後張三可以用自己的私鑰對其進行解密。

二、採用簽名---防篡改

eg:張三將自己的信經過加密後(hash)後並附上簽名,當李四收到信時,就會對簽名按照張三的公鑰去解密得到內容,和信再hash後的進行對比,防止篡改

三、證書---防冒充

比如王二去獲取了張三的公鑰,並將張三的公鑰給改為自己的公鑰,此時用自己的私鑰給李四寫信,但是李四以為拿到了張三的公鑰並且資訊未被篡改,但其實是王二冒充了張三,要改變此場景,就需要數字證書,張三去證書中心(ca)申請證書,而ca用自己的私鑰對張三的公鑰和相關資訊進行加密,生成數字證書,張三在寫信時附上自己的簽名和證書,李四收到信後用ca的公鑰解密證書,確信得到張三的公鑰。 

①伺服器把自己的公鑰登入至數字證書認證機構。

②數字證書機構把自己的私鑰向伺服器的公開密碼部署數字簽名並頒發公鑰證書。

③客戶端拿到伺服器的公鑰證書後,使用數字證書認證機構的公開金鑰,向數字證書認證機構驗證公鑰證書上的數字簽名。以確認伺服器公鑰的真實性。

④使用伺服器的公開金鑰對報文加密後傳送。

⑤伺服器用私有金鑰對報文解密。

https 與 http 協議 總結

https協議與http協議最大的不同在於安全性,https協議採用了ssl協議,保證通訊的安全性大致流程 ca 證書 電腦內有內建的ca公鑰,可以去解密服務端證書 雙方各自生成一樣的對稱金鑰,不存在金鑰在網路上傳輸的情況 服務端證書中包括 服務端公鑰,截止日期 頒發機構 簽名演算法 http 有四...

HTTP 與 HTTPS 協議分析

全球資訊網客戶程式與全球資訊網伺服器程式之間的互動遵守嚴格的協議,這就是超文字傳輸協議 http hypertext transfer protocol http 是乙個應用層協議,它使用 tcp 連線進行可靠的傳送。安全套接字層 ssl secure socket layer 和運輸層安全 tls...

HTTP協議 HTTPS協議

http協議是基於tcp協議的,當然是要先建立tcp連線了。目前使用的http協議大部分都是1.1.在1.1的協議裡面,預設是開啟了keep alive的,這樣建立的tcp連線,就可以在多次請求中復用。http的報文大概分成三大部分。第一部分是請求行,第二部分是請求的首部,第三部分才是請求的正文實體...