為什麼要使用https?
因為http協議下,資料都是明文傳輸的,容易被截獲、修改**。
https實現原理:
概要:通過非對稱加密進行互動協商獲得對稱加密演算法與金鑰,使用協商獲得的加密演算法與秘鑰對互動資料加密
4)伺服器接收瀏覽器發來的資料之後要做以下的操作:
5)瀏覽器解密並計算握手訊息的hash,如果與服務端發來的hash一致,此時握手過程結束,之後所有的通訊資料將由之前瀏覽器生成的隨機密碼並利用對稱加密演算法進行加密。
疑問:
為什麼最終使用對稱加密演算法加密資料?
因為非對稱加密演算法加密資料的消耗遠遠大於對稱加密演算法
為什麼需要ca證書與數字簽名?
因為對資料進行加密,客戶端與伺服器之間必須要乙個協商過程:
使用對稱加密則要協商加密演算法與金鑰,無法保證協商的過程的資料安全
使用非對稱加密無法保證公鑰傳遞安全
使用第三方證書為什麼可以避免這個問題?
因為使用第三方證書後,避免了公鑰的傳遞這個問題。公鑰內建在瀏覽器的ca證書列表裡。(瀏覽求通過伺服器傳送過來ca證書去匹配瀏覽器內建的ca上級證書獲得公鑰驗證簽名)
瀏覽器是如何驗證ca證書與數字簽名?
瀏覽器收到伺服器傳送的證書後,需要驗證其真實性。而證書的簽名是通過簽名演算法和上級ca的私鑰生成的,並非很多文章裡簡單說的靠ca私鑰生成。瀏覽器需要用上級ca的公鑰才能解密簽名,並與生成的指紋對比。(上級ca即頒發證書的第三方機構,上級ca證書是內置於瀏覽器或系統)
簡述 HTTPS 證書認證
在我們不論是對伺服器還是客戶端進行 https 進行配置時,首先需要準備好的肯定是相關證書檔案了,而證書檔案是什麼又從 可以獲取到相關證書,並且它們又是什麼關係,最後它們怎麼在通訊中起作用呢?可能很多人都不是很系統的清楚這一塊 趁現在有空整理出來給大家入門了解下。為了獲取證書前,我們需要生成自己的一...
HTTPS衍生過程簡述
https原理衍生過程 參考 明文訪問 資訊被擷取風險100 對稱加密演算法傳輸 金鑰傳輸風險 加密和解密通過乙個金鑰來計算,金鑰傳輸非安全 非對稱加密演算法 rsa 傳輸 加密解密速度極慢 非對稱加密演算法 生成一對金鑰,公鑰眾人皆知,私鑰只有自己知道 傳輸時用對方的公鑰進行加密 公鑰傳輸也可能被...
easyMock原理簡述
public inte ce calculator 以上是乙個計算器介面,用於計算加法,假設現在我們的合作夥伴還沒有開發好這個加法的實現類,但是我們約定了這個加法器如果開發好的時候,會有一些表現,這個時候,我們要測試,該怎麼做呢。乙個簡單的辦法是,自己實現乙個簡單的實現類,返回寫死的結果。如下 pu...