可信網站驗證 可信身份認證系統( 三 )


PS: 整個握手過程第三方即使監聽到了數據,也束手無策 。
總結
為什么HTTPS是安全的?
在HTTPS握手的第四步中,假如站點的證書是不受信任的,會顯示出現下面確認界面,確認了網站的真實性 。另外第六和八步,使用客戶端私鑰加密解密,保證了數據傳輸的安全 。
HTTPS和HTTP的區別
1. https協議需要到ca申請證書或自制證書 。
2. http的信息是明文傳輸,https則是具有安全性的ssl加密 。
3. http是直接與TCP進行數據傳輸,而https是經過一層SSL(OSI表示層),用的端口也不一樣,前者是80(需要海內備案),后者是443 。
4. http的連接很簡樸,是無狀態的;HTTPS協議是由SSL+HTTP協議構建的可進行加密傳輸、身份認證的網絡協議,比http協議安全 。
注重https加密是在傳輸層
https報文在被包裝成tcp報文的時候完成加密的過程,無論是https的header域也好,body域也罷都是會被加密的 。
當使用tcpdump或者wireshark之類的tcp層工具抓包,獲取是加密的內容,而假如用應用層抓包,使用Charels(Mac)、Fildder(Windows)抓包工具,那當然看到是明文的 。
PS:HTTPS本身就是為了網絡的傳輸安全 。
例子,使用wireshark抓包:
http,可以看到抓到是明文的:
https,可以看到抓到是密文的:
附錄
HTTPS一般使用的加密與HASH算法如下:
非對稱加密算法:RSA,DSA/DSS
對稱加密算法:AES,RC4,3DES
HASH算法:MD5,SHA1,SHA256
http三次握手:
現在這個社會,我們都離不開網絡,那么網絡的工作流程是怎么樣的呢?從http發起哀求到完成哀求,網絡到底給我們做了什么事情?今天我們主要來分析下http哀求的過程:在Http工作之前,Web瀏覽器通過網絡和Web服務器建立鏈連接,該連接是通過Tcp來完成的,該協議和Ip共同組成了Internet,即聞名的Tcp/Ip協議族,因此Internet也被稱為Tcp/Ip網絡,Http是比Tcp更高的應用層協議,一般Tcp接口的端口好是80 。
Web瀏覽器想Web服務器發送哀求命令,這個命令中包含:
Web服務器發送響應數據給Web瀏覽器,這個包含:
然后Web服務器關閉連接 。
以上就是基本的http哀求 。在這個過程中,http建立連接,Tcp經過了3次握手,下面我們來講講詳細的3次握手的過程,首先我們來看一張圖:
1:客戶端發送了一個帶有SYN的Tcp報文到服務器,這個三次握手中的開始 。表示客戶端想要和服務端建立連接 。2:服務端接收到客戶端的哀求,返回客戶端報文,這個報文帶有SYN和ACK標志,詢問客戶端是否預備好 。3:客戶端再次響應服務端一個ACK,表示我已經預備好 。
那么為什么要三次握手呢,有人說兩次握手就好了 。的確,為什么呢,這個可以從計算機網絡中得到答案,舉一個例子:已失效的連接哀求報文段,client發送了第一個連接的哀求報文,但是由于網絡不好,這個哀求沒有立即到達服務端,而是在某個網絡節點中滯留了,知道某個時間才到達server,本來這已經是一個失效的報文,但是server端接收到這個哀求報文后,還是會想client發出確認的報文,表示同意連接 。如果不采用三次握手,那么只要server發出確認,新的建立就連接了,但其實這個哀求是失效的哀求,client是不會理睬server的確認信息,也不會向服務端發送確認的哀求,但是server認為新的連接已經建立起來了,并一直等待client發來數據,這樣,server的很多資源就沒白白浪費掉了,采用三次握手就是為了防止這種情況的發生,server會因為收不到確認的報文,就知道client并沒有建立連接 。這就是三次握手的作用 。