http 和https 區(qū)別

HTTP

http,超文本傳輸協(xié)議,它是基于 TCP 實現(xiàn)的應用層協(xié)議,它開始工作的前提是 TCP 連接已經建立,HTTP 協(xié)議與 IP 協(xié)議共同組成 Internet,這就是我們常說的 TCP/IP 協(xié)議,我們也可以把 Internet 稱作是 TCP/IP 網絡。因為 HTTP 是比 TCP 更高層次的應用層協(xié)議,根據規(guī)則,只有低層協(xié)議建立之后才能,才能進行更層協(xié)議的連接。

HTTP 傳輸?shù)臄?shù)據類型為 HTML 文件、圖片文件、 其他結果等,它由請求和響應構成,是一個標準的客戶端服務器模型(B/S),因為它不需要建立一個持久的連接,所以它一直都是由客戶端發(fā)起請求,服務器進行響應。

HTTP 的請求過程中,客戶端和服務器之間沒有確認身份的過程,數(shù)據全部明文傳輸,直接暴露在互聯(lián)網上的,所以這就很容易遭到黑客的攻擊。黑客會劫持客戶端發(fā)給服務器的信息,然后冒充服務器發(fā)給用戶任意信息;所以就造成了諸如消息監(jiān)聽、消息篡改、冒充身份等一些安全問題。

HTTP2


HTTPS

HTTPS:安全的超文本傳輸協(xié)議。在HTTP下加入SSL層,HTTPS的安全基礎是SSL,因此加密的詳細內容就需要SSL。

HTTPS協(xié)議的主要作用可以分為兩種:一種是建立一個信息安全通道,來保證數(shù)據傳輸?shù)陌踩?;另一種就是確認網站的真實性。

HTPPS 并不是新的協(xié)議,只是引入了安全層 SSL/TSL,進化為 HTTP 首先和 SSL/TSL 進行通信,再由 SSL/TSL 和 TCP 通信,所以 HTTPS 就是身穿 SSL/TSL 協(xié)議的 HTTP。

SSL 提供加密處理,并且使用數(shù)字證書的手段,用于確定通信方。證書由第三方機構頒發(fā),通過第三機構的私鑰進行加密,難以偽造。我們通過證書就可以確認服務器和客戶端的是否真實存在。

TLS 主要保證兩個通信應用程序之間提供保密性和數(shù)據完整性,在瀏覽器、郵箱、即時通信、網絡傳真等應用程序中,廣泛支持這個協(xié)議。如 Google、Facebook 等也以此協(xié)議建立連接。

SSL/TLS 是通過哪些算法實現(xiàn)的?

1、對稱加密

如果 J 通過互聯(lián)網向 D 發(fā)送數(shù)據,如果不對數(shù)據進行加密,數(shù)據就可能被惡意的第三者 P 看到, 所以保密的數(shù)據需要進行加密再發(fā)送。這個方法的缺點也很明顯,就是需要使用相同的密鑰進行加密和解密,因為這個鑰匙也要通過網絡傳輸,所以也很可能會被 P 攔截。


2、非對稱加密

因為對稱加密用單個密匙加解密存在很大的風險,如果將密匙分為 2 個,保存在服務端的是私有密匙,發(fā)送給客戶端的是公有密匙。私有密匙保存在服務端是相對安全的,公有密匙是所有客戶端或者劫持者都可以得到?,F(xiàn)在通信就是使用公鑰加密,私鑰解密,這個時候因為劫持者沒有私鑰,就無法修改客戶端傳輸?shù)臄?shù)據,也無法解密數(shù)據。但是這樣是保證了安全,代價就是加密解密的時間過長。


3、混合加密

因為對稱加密效率高,非對稱加密安全性強,這種方式采用的就是二合一的加密方式。道理很簡單就是通過公開密鑰加密客戶端的密鑰傳給服務端,再通過對稱密鑰方法傳遞數(shù)據。HTTPS 目前就是采用的這種方式加密。



其實這樣的加密手段依舊不是安全的,傳輸過程中我們是無法保證服務器返回的公鑰不被截獲。如果黑客把服務器返回的公鑰轉換成自己的公鑰,然后他就可以對客戶端的的所有消息使用自己的私鑰解密。這個問題的根本所在就是我們無法分辨出返回的數(shù)據是否是真正的來自服務器。針對這個問題的解決方法就是:使用數(shù)字證書來證明信息發(fā)送方的身份。

4、數(shù)字證書

數(shù)字證書,顧名思義,它是一個用于驗證身份的數(shù)字認證,由公認的證書機構頒發(fā)給服務器的。它的基本架構是利用一對秘鑰實施加密和解密。其中密鑰包括私鑰和公鑰,私鑰主要用于簽名和解密,由用戶自定義,只有用戶自己知道;公鑰用于簽名驗證和加密,可被多個用戶共享。

數(shù)字證書認證機構(Certificate Authority)簡稱 CA


https 的詳細工作流程


希望關于 HTTPS 的這些介紹能幫助大家更好的理解和回顧,有理解偏差的地方,希望大家多多指正。那么我們可以思考一個問題就是:既然 HTTPS 這么安全,為什么我們利用抓包工具還能捕捉到數(shù)據哪?這里其實我們扮演了一個中間人的身份,也就是中間人攻擊,HTTPS 的主要作用是防止在不知情的情況下通信被監(jiān)聽,如果我們主動信任某個證書,就會構成 “中間人攻擊” ,代理軟件就是這個道理,這樣就可以對傳輸內容進行解密。其中的詳細實現(xiàn)過程,大家可以自己更深入的了解一下。

HTTPS和HTTP的區(qū)別主要如下:

  1、https協(xié)議需要到ca申請證書,一般免費證書較少,因而需要一定費用。

  2、http是超文本傳輸協(xié)議,信息是明文傳輸,https則是具有安全性的ssl加密傳輸協(xié)議。

  3、http和https使用的是完全不同的連接方式,用的端口也不一樣,前者是80,后者是443。

  4、http的連接很簡單,是無狀態(tài)的;HTTPS協(xié)議是由SSL+HTTP協(xié)議構建的可進行加密傳輸、身份認證的網絡協(xié)議,比http協(xié)議安全。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容