
123.jpg
技術(shù)出現(xiàn)的背景
因為普遍使用的http有以下缺點:
- 通訊使用明文(不加密),內(nèi)容可能遭到竊聽。
- 不驗證通訊方身份,因此可能遭到偽裝。
- 無法驗證報文的完整性,所以有可能招到篡改。
為了解決以上問題,需要在http的基礎(chǔ)上加上加密處理和認證等機制而出現(xiàn)了HTTPS。
什么是HTTPS
https是身披SSL外殼的HTTP,在通訊過程中先用SSL協(xié)議,再用TCP/IP協(xié)議。
http + 加密 + 認證 + 完整性保護 = https
那什么是SSL協(xié)議呢?在講解SSL協(xié)議之前,先來了解加密方法。SSL采用的是一種叫做公開加密的方法。
加密
-
(對稱加密)共享加密:加密和解密都是用同一個密鑰。
共享加密 - (非對稱加密)使用兩把鑰匙的公開密鑰加密
公開秘鑰加密使用一對非對稱的密鑰,一把私鑰密鑰,一把公開密鑰。
使用方式:發(fā)送密文的一方使用對方的公開密鑰進行加密處理, 對方收到被加密的信息后, 再使用自己的私有密鑰進行解密。

公開加密
-
https采用混合加密機制
即使用共享加密(對稱加密)和公開加密(非對稱加密)這兩種機制并用。因為公開加密與共享加密相比,處理速度較慢。
混合加密
認證
-
證明公開密鑰是正確性的證書
因為公開密鑰加密還存在一些問題,無法驗證公開密鑰本身是貨真價實的公開密鑰。
為了解決這個問題,可以使用由數(shù)組證書機構(gòu)(CA)和其相關(guān)機構(gòu)頒發(fā)的公開密鑰證書。
1.第三方機構(gòu)會對公開密鑰進行數(shù)字簽名,并將這個已簽名的公開密鑰放入到公鑰證書(可以叫數(shù)字證書或證書)中綁定在一起。
2.服務(wù)器會將這份公鑰證書發(fā)送到客戶端。
3.客戶端對公鑰證書進行校驗。
校驗通過,客戶端就會明白兩件事:1.認證服務(wù)器的公開密鑰是真實有效的數(shù)字證書認證機構(gòu)。2.服務(wù)器的公開密鑰是值得信賴的。
認證
HTTPS的整個通信過程
屏幕快照 2018-10-08 上午11.51.59.png

屏幕快照 2018-10-08 上午11.51.59.png


