HTTPS工作原理
HTTPS 默認(rèn)工作在 TCP 協(xié)議443端口铺罢,它的工作流程一般如以下方式:
- 1茫叭、TCP 三次同步握手
- 2、客戶端驗(yàn)證服務(wù)器數(shù)字證書
- 3耀里、DH 算法協(xié)商對(duì)稱加密算法的密鑰蜈缤、hash 算法的密鑰
- 4、SSL 安全加密隧道協(xié)商完成
- 5冯挎、網(wǎng)頁(yè)以加密的方式傳輸底哥,用協(xié)商的對(duì)稱加密算法和密鑰加密,保證數(shù)據(jù)機(jī)密性房官;用協(xié)商的hash算法進(jìn)行數(shù)據(jù)完整性保護(hù)趾徽,保證數(shù)據(jù)不被篡改。
SSL證書
SSL證書類似身份證易阳,用于支持HTTPS網(wǎng)站的身份證明附较,SSL證書包含了網(wǎng)站的域名、證書有效期潦俺、證書的頒發(fā)機(jī)構(gòu)拒课、以及用于加密傳輸密碼的公鑰
SSL證書可以向CA機(jī)構(gòu)通過付費(fèi)方式申請(qǐng),也可以自己制作事示,但是個(gè)人制作的證書不受瀏覽器信任早像。一個(gè)證書只能綁定一個(gè)域名,使用通配符域名可以綁定主域名下面的所有域名肖爵,不過價(jià)格更加高昂卢鹦。
證書驗(yàn)證
證書以證書鏈
的形式組織,在頒發(fā)證書的時(shí)候首先要有根CA機(jī)構(gòu)頒發(fā)的根證書劝堪,再由根CA機(jī)構(gòu)頒發(fā)一個(gè)中級(jí)CA機(jī)構(gòu)的證書冀自,最后由中級(jí)CA機(jī)構(gòu)頒發(fā)具體的SSL證書。
在驗(yàn)證證書的時(shí)候秒啦,瀏覽器會(huì)調(diào)用系統(tǒng)的證書管理器接口
對(duì)證書路徑中的所有證書一級(jí)一級(jí)
的進(jìn)行驗(yàn)證
熬粗,只有路徑中所有的證書都是受信的,整個(gè)驗(yàn)證的結(jié)果才是受信余境。
操作系統(tǒng)內(nèi)置CA根證書
瀏覽器對(duì)SSL證書驗(yàn)證失敗可能的原因
- SSL證書不是由受信任的CA機(jī)構(gòu)頒發(fā)的
- 證書過期
- 訪問的網(wǎng)站與證書綁定的網(wǎng)站不一致
HTTPS常見的攻擊手段
- SSL證書欺騙
- SSL劫持
優(yōu)缺點(diǎn)
- 優(yōu)點(diǎn):
安全
驻呐、有利于SEO
、提高用戶信任
- 缺點(diǎn):
成本高
芳来、訪問速度慢
含末、加密解密等過程消耗CPU資源
、一個(gè)IP只能綁定一個(gè)域名
擴(kuò)展
- HTTPS中
會(huì)話密鑰
是在SSL證書驗(yàn)證通過后隨機(jī)生成的