https從入門到免費
阿新 • • 發佈:2018-12-18
https簡介
網景公司(Netscape)為了加強http協議的安全性,發明了一種叫做SSL(Secure Sockets Layer 安全套接層)的協議,它將SSL加入到了http協議中,於是便有了https協議的誕生。
SSL
Secure Socket Layer,其協議中主要包括如下三個子協議:
握手協議(Handshake protocol)
記錄協議(Record protocol)
警報協議(Alert protocol)
TLS
由於ssl協議是由網景公司發明的,其維護也應由網景公司來負責,但1998年網景公司被收購了,那時的ssl版本發展到了3.0版本(ssl 3.0),儘管網景被收購不存在網景這個公司了,但總不能讓這麼好的ssl協議也不存在吧,總得要繼續維護起來,於是乎網際網路標準化組織 ISOC 便在1999年的時候接替了ssl協議,併發布了ssl的升級版,叫做TLS(安全傳輸層協議Transport Layer Security),也就是SSL3.0 ->TLS1.0。所以現在很多地方都有一個這樣的叫法:SSL/TLS。
https互動過程原理
https客戶端和服務端建立連線的過程稍微複雜一點, 下面這個連結有比較詳細的描述:
其主要的建立連線過程可通過抓包獲得
通過過濾ssl協議,來檢視建立連線的過程
在知道https伺服器IP的情況下,通過如下的表示式進行檢視:ip.addr==xxx.xxx.xxx.xxx and ssl
按照wireshare的抓包的結果,可將建立連線的過程簡短分為如下步驟:
- 客戶端向服務端傳送Client Hello(傳送支援的加密演算法以及生成一個用於加密的隨機數)
- 服務端向客戶端傳送Server Hello(確定加密演算法以及傳送服務端的加密隨機數)
- 服務端向客戶端傳送Certificate(證書,證書中包含有所頒發的域名以及證書的頒發機構)
- 服務端向客戶端傳送Server Key Exchange,Server Hello Done()
- 客戶端向服務端傳送Client Key Exchange,Change Clipher Spec,Encrtypted Handshake Message
- 服務端向客戶端傳送New Session Ticket,Change Cipher Spec,Encrypted Handshake Message
免費https搭建
免費https證書與收費證書的區別?
待完善
trustasia, Let's Encrypt
Certbot
待完善
https抓包初探
待完善