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