簡單了解一下HTTPS

HTTP有什么不足:

  • 通信使用明文,內容可能被竊聽

  • 不驗證通信雙方的身份,可能遭遇偽裝(任何人都可以發起請求)

  • 無法證明報文的完整性

SSL(Secure Scoket Layer 安全套接層)

怎么解決上面的問題呢?

  1. http沒有加密機制,但可以和SSL或TLS(安全傳輸層協議)組合使用,加密http通信線路。用SSL建立安全通信線路之后,就可以在線路上進行通信了,組合后就被稱為HTTPS(超文本安全傳輸協議)。另外內容加密會在后面介紹。

  2. SSL還提供了一種證書手段(值得信任的三方機構頒發),可以確定通信雙方。

  3. SSL提供認證和加密處理及摘要功能。

綜上:HTTP+加密+認證+完整性保護=HTTPS,HTTPS是身披SSL外殼的HTTP。

另外SSL也是有缺點的,HTTPS比HTTP慢2-100倍,包括通信慢和大量消耗CPU和內存資源導致的處理速度變慢。

加密
共享密鑰加

即加密和解密使用相同的密鑰。也叫做對稱密鑰加密。密鑰的交換是個問題。因為無法確保密鑰安全的轉交給對方。

公開密鑰加密

SSL采用的是公開密鑰加密處理方式。公鑰+私鑰。

發送密文的一方使用對方的公鑰進行加密,對方收到加密信息后再使用私鑰進行解密。但是處理速度沒有共享密鑰加密快

混合加密

HTTPS采用共享密鑰加密和公開密鑰加密并用的混合加密機制。發揮兩者的長處。在交換密鑰環節使用公開密鑰加密,之后的建立通信交換報文則使用共享密鑰加密。

數字證書認證機構CA

但是還是有問題,沒法證明公開密鑰本身就是貨真價實的公開密鑰。會不會在公開密鑰的傳輸過程中,真正的公開密鑰已經被攻擊者替換掉了。為了解決該問題,可以使用數字證書認證機構(CA)頒發的公開密鑰證書。這個公開密鑰一般在瀏覽器開發商發布版本時事先植入。

下面是使用CA的大致流程:

image.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容