1.簡介
萬維網(wǎng)服務(wù)器使用SSL默認(rèn)服務(wù)端口443來取代普通萬維網(wǎng)服務(wù)的80端口,且該安全網(wǎng)頁URL中的協(xié)議標(biāo)識用https代替http,在與服務(wù)器建立TCP連接后,先進行瀏覽器和服務(wù)器之間的握手協(xié)議,完成加密算法的協(xié)商和會話秘鑰的傳遞,然后進行安全數(shù)據(jù)傳輸。
- 公開秘鑰加密
即為非對稱加密,發(fā)送方使用對方的公開秘鑰加密,對方收到加密信息后,再使用自己的私有秘鑰進行解密 - 共享秘鑰加密
即為對稱加密,加密和解密使用同一個秘鑰的方式稱為共享秘鑰加密
2.CA證書
CA是負(fù)責(zé)管理和簽發(fā)證書的第三方權(quán)威機構(gòu),是所有行業(yè)和公眾都信任的,認(rèn)可的。
CA證書,是用于驗證網(wǎng)站是否可信,一般里面包含有公開秘鑰。
3.實現(xiàn)過程
- 協(xié)商加密算法
瀏覽器向服務(wù)器發(fā)送瀏覽器SSL版本號和一些可選的加密算法,服務(wù)器選定后再告訴瀏覽器 - 服務(wù)器鑒別
服務(wù)器向瀏覽器發(fā)送一個包含其公開秘鑰的數(shù)字證書,瀏覽器使用該證書認(rèn)證機構(gòu)的公鑰對該證書進行驗證,公開秘鑰加密 - 共享秘鑰計算
瀏覽器產(chǎn)生一個隨機數(shù),用服務(wù)器公鑰加密后發(fā)送給服務(wù)器,雙方根據(jù)協(xié)商的算法產(chǎn)生一個共享秘鑰加密 - 安全數(shù)據(jù)傳輸
雙方使用共享秘鑰加密他們之間的數(shù)據(jù)并驗證其完整性
為什么要先采用公開密鑰加密,之后再采用共享秘鑰加密?
因為公開密鑰加密處理速度慢,而共享秘鑰加密,首先必須告知對方自己的私鑰,而這個私鑰的傳輸過程的安全性沒有保障,所以要采用先公開密鑰加載,之后用公開密鑰來保證私鑰傳輸?shù)陌踩浴?/p>
4.SSL的處理速度變慢
- 通信慢,因為要通過SSL通信,獲取包含其公開秘鑰的數(shù)字證書
- 消耗CPU和內(nèi)存資源,進行加密計算,因此只有包含個人信息等敏感數(shù)據(jù)時,才利用HTTPS加密通信,節(jié)約購買證書的開銷
5.加密的過程
https加密是在傳輸層
https報文在被包裝成tcp報文時完成加密過程,無論是頭部還是內(nèi)容主體部分都是會被加密
6.https和http的區(qū)別
- https協(xié)議需要用到CA申請的證書
- http信息是明文傳輸,https則是具有安全性的ssl加密
- http是直接與TCP進行數(shù)據(jù)傳輸,而https是通過一層SSL(表示層),http默認(rèn)使用80端口,https默認(rèn)使用443端口