HTTPS
HTTPS并不是一個單獨的協(xié)議他爸,而是對工作在一加密連接(SSL / TLS)上的常規(guī)HTTP協(xié)議。通過在TCP和HTTP之間加入TLS(Transport Layer Security)來加密
HTTPS可以說就是HTTP的協(xié)議加上了加密和認證以及對數(shù)據(jù)的完整性保護
SSL / TLS協(xié)議
SSL協(xié)議判耕,是一種安全傳輸協(xié)議,TLS是SSL v3.0的升級版也是現(xiàn)實應用版缠俺。它是加載TCP和HTTP之間的協(xié)議
HTTPS整體架構(gòu)圖
https協(xié)議的層次圖.png
https架構(gòu)圖.png
HTTPS傳輸速度
- 通信慢 因為要多處理SSL / TLS
- SSL必須進行加密處理
TLS / SSL 握手
密碼學原理
算法加密鑰
- 對稱加密
加密數(shù)據(jù)用的密鑰和節(jié)目數(shù)據(jù)用的密鑰是一樣的在刺。就是說雙發(fā)要確保密鑰是一樣的才能加密解密并且不能泄露給其他人。維護成本較高 - 不對稱加密
私有密鑰:一方保管
公有密鑰:雙方公有
發(fā)送密文的一方先獲得對方的公有密鑰牍氛,然后通過算法進行加密晨继,對方收到加密后的密文后使用自己的私有密鑰進行解密烟阐。RSA算法就是
數(shù)字證書
- 數(shù)字證書就是互聯(lián)網(wǎng)通訊中標志通訊各方身份信息的一串數(shù)字同時也是個文件搬俊,是驗證對方身份的一種方式
對請求方來說要確定所得到的公鑰確實是從他想要得到的正確的目標主機發(fā)出來的而沒有經(jīng)過第三方把數(shù)據(jù)篡改。這時候就需要一個權(quán)威的第三方機構(gòu)來發(fā)放他所需要的密鑰蜒茄,只有這種請求機構(gòu)獲得的密鑰才能解決我們數(shù)字證書的安全問題 - 數(shù)字證書的辦法過程
用戶首先產(chǎn)生自己的密鑰唉擂,然后將公共密鑰和個人的私有密鑰交給認證中心,認證中心核實了身份之后檀葛,就會將確認信息發(fā)送給用戶玩祟,然后認證中心就會給用戶一個證書,這個證書就包含了用戶的個人信息和公鑰信息
SSL與TLS握手的整個過程
https整個過程.png
總結(jié):https實際就是在TCP層與http層之間加入了SSL / TLS 來為上層的安全保駕護航屿聋,主要用到對稱加密空扎、非對稱加密藏鹊、證書,等技術(shù)進行客戶端與服務(wù)器的數(shù)據(jù)加密傳輸转锈,最終達到保證整個通信的安全性盘寡。