參考資料
https://jaq.alibaba.com/community/art/show?articleid=545
一、什么是Https
Https是安全的超文本傳輸協(xié)議
Http使用的端口是80,默認(rèn)情況下傳輸?shù)臄?shù)據(jù)是明文的,可以被抓包工具抓取到數(shù)據(jù)。
Https使用端口443,傳輸?shù)臄?shù)據(jù)是進(jìn)行過加密的
Https是分為兩部分Http+SSL/TCP,使用這種協(xié)議傳輸數(shù)據(jù)可以對(duì)數(shù)據(jù)進(jìn)行加密,保證了數(shù)據(jù)的安全性。相當(dāng)于是Http的安全版。在數(shù)據(jù)傳輸前需要和服務(wù)器進(jìn)行一次握手(機(jī)密協(xié)議的確認(rèn)和驗(yàn)證)

二、Https的傳輸分為以下幾個(gè)步驟:
1.客戶端將自己所支持的加密算法發(fā)送個(gè)服務(wù)端。
2.服務(wù)從中選擇一套加密算法,把自己的地址,證書頒發(fā)機(jī)構(gòu),公鑰等信息加密成證書。
3.客戶端拿到證書后,開始進(jìn)行解密驗(yàn)證,如果驗(yàn)證通過(證書是否過期,信息是否屬實(shí)等)則生成一個(gè)隨機(jī)數(shù),這個(gè)隨機(jī)數(shù)會(huì)被公鑰進(jìn)行一次加密,發(fā)送給服務(wù)端。(這部分是在客戶端的TLS層進(jìn)行的)
4.服務(wù)端拿到信息后用進(jìn)行解密(因?yàn)檫@段隨機(jī)值是由服務(wù)端頒發(fā)的證書進(jìn)行加密的),校驗(yàn)一致后,把里面的隨機(jī)值(私鑰)解析出來,然后將要傳輸?shù)臄?shù)據(jù)用這個(gè)私鑰進(jìn)行對(duì)稱加密,發(fā)送給客戶端
5.客戶端因?yàn)橹浪借€,所以可以解密,如果解密成功,則握手結(jié)束,以后客戶端和服務(wù)端進(jìn)行校驗(yàn)都會(huì)用這個(gè)私鑰加密進(jìn)行數(shù)據(jù)的傳輸
什么是SSL加密協(xié)議
它是利用加密技術(shù)的
SSL協(xié)議位于TCP/IP協(xié)議與各種應(yīng)用層協(xié)議之間,為數(shù)據(jù)通訊提供安全支持。SSL協(xié)議可分為兩層: SSL記錄協(xié)議(SSL Record Protocol):它建立在可靠的傳輸協(xié)議(如TCP)之上,為高層協(xié)議提供數(shù)據(jù)封裝、壓縮、加密等基本功能的支持。 SSL握手協(xié)議(SSL Handshake Protocol):它建立在SSL記錄協(xié)議之上,用于在實(shí)際的數(shù)據(jù)傳輸開始前,通訊雙方進(jìn)行身份認(rèn)證、協(xié)商加密算法、交換加密密鑰等。
以上的內(nèi)容來自百度。
