http:
? ? 超文本傳輸協(xié)議Http協(xié)議,是互聯(lián)網(wǎng)應(yīng)用最為廣泛的一種網(wǎng)絡(luò)協(xié)議,是一個客戶端和服務(wù)器請求和應(yīng)答的標準(TCP),用于從 www 服務(wù)器傳輸超文本到本地瀏覽器的傳輸協(xié)議,它可以使瀏覽器更加高效,使網(wǎng)絡(luò)傳輸減少。
http的缺點:
? ? 1、通信使用明文。所以內(nèi)容是可以被竊聽的。
? ? 2、它不會驗證雙方的身份,因此可能會遇到偽裝。
? ? 3、無法驗證報文的完整性,有可能被篡改。
https:
? ? 是以安全為目的的http通道,簡單說就是http的安全版,在http下加入SSL層,https的安全基礎(chǔ)是SSL,因此加密的詳細內(nèi)容就需要SSL進行加密。
? ? https協(xié)議主要作用可以分為兩種,一是建立一個信息安全通道,來保證數(shù)據(jù)傳輸?shù)陌踩僖环N就是確認網(wǎng)站的真實性。
兩者區(qū)別:
? ? https呢,需要到CA申請證書,一般免費證書較少,因此是需要一定的費用的。
? ? http 是超文本傳輸協(xié)議,信息是明文傳輸,而https是具有SSL加密傳輸協(xié)議 相比之下 https是安全的。
? ? http和https使用的連接方式是完全不同的,用的端口也不一樣的,http 是80,https是443.;http的連接很簡單是無狀態(tài)的,https是由SSL+http來構(gòu)建的可進行加密傳輸(身份認證的網(wǎng)絡(luò)協(xié)議)比http協(xié)議安全。
工作原理:
????https并非是應(yīng)用層的一種新協(xié)議,它只是在http通信接口部分用SSL(Secure Socket Layer)和TLS(Transport Layer Security)協(xié)議代替而已。
瀏覽器使用http時,直接同tcp通信;當瀏覽器使用https時,瀏覽器會先同TLS/SSL進行通信,然后TLS/SSL再同tcp進行通信。
在使用TLS/SSL后,http便擁有了加密功能。TLS/SSL是獨立于http的協(xié)議,所以其也可以同應(yīng)用層的其他協(xié)議配合使用。
????SSL類似于TCP的三次握手,在HTTP鏈接建立之前進行四次握手,從而客戶度和服務(wù)端溝通好HTTP傳輸時對稱加密的密鑰,SSL的四次握手其過程如下:
? ? 1、客戶端請求建立SSL連接,發(fā)送支持的加密方式以及一個隨機數(shù)client random給服務(wù)器;
? ? 2、服務(wù)器選擇其中的一種加密方式,并且再加上另外一個隨機數(shù)server random,和數(shù)字證書(其中有公鑰),發(fā)送給客戶端;
? ? 3、客戶端確認這個數(shù)字證書是有效的,并且再生成一個新的隨機數(shù),將這個隨機數(shù)用服務(wù)器發(fā)送給它的數(shù)字證書中的公鑰進行加密發(fā)送給服務(wù)器;
? ? 4、服務(wù)器收到客戶端的回復(fù),利用自己的私鑰進行解密,獲得這個隨機數(shù),然后通過將前面這三個隨機數(shù)以及他們協(xié)商的加密方式,計算生成一個對稱密鑰。
?? 至此握手階段完成,之后的會話他們就通過這個對稱密鑰進行加密傳輸。
????????HTTPS可以完成上述HTTP的缺陷:通過對通信內(nèi)容加密保證了內(nèi)容的安全性。并且通過數(shù)字證書可以驗證雙方的身份,因為數(shù)字證書是由權(quán)威機構(gòu)(CA)頒布的。并且因為報文中有發(fā)送方的數(shù)字簽名,所以接收方可以先驗證數(shù)字簽名,從而驗證了數(shù)據(jù)沒有被篡改,保證了完整性。
Https的缺點:
????????雖然說HTTPS有很大的優(yōu)勢,但其相對來說,還是存在不足之處的:
(1)HTTPS協(xié)議握手階段比較費時,會使頁面的加載時間延長近50%,增加10%到20%的耗電;
?。?)HTTPS連接緩存不如HTTP高效,會增加數(shù)據(jù)開銷和功耗,甚至已有的安全措施也會因此而受到影響;
? (3)SSL證書需要錢,功能越強大的證書費用越高,個人網(wǎng)站、小網(wǎng)站沒有必要一般不會用。
? (4)SSL證書通常需要綁定IP,不能在同一IP上綁定多個域名,IPv4資源不可能支撐這個消耗。
(5)HTTPS協(xié)議的加密范圍也比較有限,在黑客攻擊、拒絕服務(wù)攻擊、服務(wù)器劫持等方面幾乎起不到什么作用。最關(guān)鍵的,SSL證書的信用鏈體系并不安全,特別是在某些國家可以控制CA根證書的情況下,中間人攻擊一樣可行。
????