SSL协议、HTTP和HTTPS和区别
SSL協(xié)議
SLL協(xié)議的握手過程
開始加密通信之前,客戶端和服務(wù)器首先必須建立連接和交換參數(shù),這個過程叫做握手(handshake)。
第一步,客戶端給出協(xié)議版本號、一個客戶端生成的隨機(jī)數(shù)(Client random),以及客戶端支持的加密方法。
?
第二步,服務(wù)器確認(rèn)雙方使用的加密方法,并給出數(shù)字證書、以及一個服務(wù)器生成的隨機(jī)數(shù)(Server random)。
?
第三步,客戶端確認(rèn)數(shù)字證書有效,然后生成一個新的隨機(jī)數(shù)(Premaster secret),并使用數(shù)字證書中的公鑰,加密這個隨機(jī)數(shù),發(fā)給服務(wù)器。
?
第四步,服務(wù)器使用自己的私鑰,獲取客戶端絲發(fā)來的隨機(jī)數(shù)(即Premaster secret)。
?
第五步,客戶端和服務(wù)器根據(jù)約定的加密方法,使用前面的三個隨機(jī)數(shù),生成"對話密鑰"(session key),用來加密接下來的整個對話過程。
私鑰的作用
?
1)生成對話密鑰一共需要三個隨機(jī)數(shù)。
?
(2)握手之后的對話使用"對話密鑰"加密(對稱加密),服務(wù)器的公鑰和私鑰只用于加密和解密"對話密鑰"(非對稱加密),無其他作用。
?
(3)服務(wù)器公鑰放在服務(wù)器的數(shù)字證書之中。
DH算法的握手階段
?
整個握手階段都不加密(也沒法加密),都是明文的。因此,如果有人竊聽通信,他可以知道雙方選擇的加密方法,以及三個隨機(jī)數(shù)中的兩個。整個通話的安全,只取決于第三個隨機(jī)數(shù)(Premaster secret)能不能被破解。
?
雖然理論上,只要服務(wù)器的公鑰足夠長(比如2048位),那么Premaster secret可以保證不被破解。但是為了足夠安全,我們可以考慮把握手階段的算法從默認(rèn)的RSA算法,改為?Diffie-Hellman算法(簡稱DH算法)。
?
采用DH算法后,Premaster secret不需要傳遞,雙方只要交換各自的參數(shù),就可以算出這個隨機(jī)數(shù)。
session的恢復(fù)
握手階段用來建立SSL連接。如果出于某種原因,對話中斷,就需要重新握手。
這時有兩種方法可以恢復(fù)原來的session:一種叫做session ID,另一種叫做session ticket。
session ID的思想很簡單,就是每一次對話都有一個編號(session ID)。如果對話中斷,下次重連的時候,只要客戶端給出這個編號,且服務(wù)器有這個編號的記錄,雙方就可以重新使用已有的"對話密鑰",而不必重新生成一把。
session ID是目前所有瀏覽器都支持的方法,但是它的缺點(diǎn)在于session ID往往只保留在一臺服務(wù)器上。所以,如果客戶端的請求發(fā)到另一臺服務(wù)器,就無法恢復(fù)對話。session ticket就是為了解決這個問題而誕生的,目前只有Firefox和Chrome瀏覽器支持。
HTTPS和HTTP的區(qū)別 超文本傳輸協(xié)議HTTP協(xié)議被用于在Web瀏覽器和網(wǎng)站服務(wù)器之間傳遞信息。HTTP協(xié)議以明文方式發(fā)送內(nèi)容,不提供任何方式的數(shù)據(jù)加密,如果攻擊者截取了Web瀏覽器和網(wǎng)站服務(wù)器之間的傳輸報(bào)文,就可以直接讀懂其中的信息,因此HTTP協(xié)議不適合傳輸一些敏感信息,比如信用卡號、密碼等。 為了解決HTTP協(xié)議的這一缺陷,需要使用另一種協(xié)議:安全套接字層超文本傳輸協(xié)議HTTPS。為了數(shù)據(jù)傳輸?shù)陌踩?#xff0c;HTTPS在HTTP的基礎(chǔ)上加入了SSL協(xié)議,SSL依靠證書來驗(yàn)證服務(wù)器的身份,并為瀏覽器和服務(wù)器之間的通信加密。 HTTPS和HTTP的區(qū)別主要為以下四點(diǎn): 一、https協(xié)議需要到ca申請證書,一般免費(fèi)證書很少,需要交費(fèi)。 二、http是超文本傳輸協(xié)議,信息是明文傳輸,https 則是具有安全性的ssl加密傳輸協(xié)議。 三、http和https使用的是完全不同的連接方式,用的端口也不一樣,前者是80,后者是443。 四、http的連接很簡單,是無狀態(tài)的;HTTPS協(xié)議是由SSL+HTTP協(xié)議構(gòu)建的可進(jìn)行加密傳輸、身份認(rèn)證的網(wǎng)絡(luò)協(xié)議,比http協(xié)議安全。
?
轉(zhuǎn)載于:https://www.cnblogs.com/liucaodan/p/7384184.html
總結(jié)
以上是生活随笔為你收集整理的SSL协议、HTTP和HTTPS和区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于UC、火狐、谷歌浏览器屏蔽布局中广告
- 下一篇: http://offlineinstal