圖解HTTP之HTTPS詳解
背景:隨著越來越多的主流網站已經使用了HTTPS,作為伺服器端開發者,就必須瞭解HTTPS的優勢與劣勢。
在HTTP協議中有可能存在資訊竊聽或身份偽裝等問題,而使用HTTPS通訊機制可以有效地防止這些問題。
一、HTTP缺點:
1.通訊使用明文不對資料進行加密(內容容易被竊聽)
2.不驗證通訊方身份(容易偽裝)
3.無法確定報文完整性(內容易被篡改)
二、HTTPS介紹:
什麼是HTTPS:與SSL(安全套接層)組合使用的HTTP被稱為HTTPS(HTTP Secure,超文字傳輸安全協議)
加密處理防止竊聽:通訊加密。HTTP協議與SSL組合使用,加密HTTP的通訊內容。用SSL建立安全通訊線路之後,就可以在這條線路通訊了
HTTP + 加密 + 認證 + 完整性保護 = HTTPS
使用https後網址:
在使用http協議時,HTTP直接與TCP通訊,當使用SSL時,則需要先與SSL通訊,然後再由SSL和TCP通訊。
三、SSL介紹:
在對SSL介紹之前先了解加密方法
主要的加密方法分為兩種:一種是共享金鑰加密(對稱金鑰加密),一種是公開金鑰加密(非對稱金鑰加密)
1、共享金鑰加密:加密與解密使用同一個金鑰
也就是說在加密的同時,也會把金鑰傳送給對方。在傳送金鑰過程中可能會造成金鑰被竊取,那麼如何解決這一問題呢?這個問題解決方案,往後看
2、公開金鑰(非對稱金鑰)
公開金鑰使用一對非對稱金鑰。一把叫私有金鑰,另一把叫公開金鑰私有金鑰不讓任何人知道,公有金鑰隨意傳送。
也就是說,傳送密文方使用對方的公開金鑰進行加密,對方接受到資訊後,使用私有金鑰進行解密。再不使用私有金鑰情況下很難還原資訊。
三、混合加密機制
HTTPS採用共享金鑰加密和公開金鑰加密兩者混合加密,兩者都有各自的優點。共享金鑰加密處理速度快,但金鑰無法安全傳送給對方;公開金鑰加密處理速度慢,但金鑰能夠安全交換。
但如果我們將兩種加密方式一起使用,則兩種加密方式就能互補。也就是說,利用公開金鑰加密方式安全地交換在共享金鑰加密中要使用的金鑰,在確保金鑰安全前提下,使用共享金鑰加密方式進行通訊
四、使用證書證明公開金鑰的正確性
如何證明收到的公開金鑰是原本預想那臺伺服器發行的金鑰。或許在傳輸途中,真正的公開金鑰已經被替換掉了。
為了解決這歌問題可以有數字證書認證機構和相關機構頒發的公開金鑰證書,這樣就可以確定公開金鑰是否正確了。
以上就是我對HTTPS的瞭解,圖片擷取自圖解HTTP一書。
作者:碼頭工人
連結:https://www.cnblogs.com/boycelee/p/6425325.html