https的加密處理

2021-08-29 02:26:39 字數 1971 閱讀 8059

一、http資料傳輸的不安全

使用http協議進行網路資料傳輸的最大不足是:資料沒有安全性可言,所有的資料都是明文傳輸的,所以一旦被第三方截獲就造成了資料洩漏。

二、https資料傳輸的安全性

https協議可以看成是http協議的公升級版,https=http+ssl,下面以漸進的方式來說明https是如何保證資料傳輸的安全性的。

2.1使用對稱演算法

既然http的資料是以明文的方式進行傳輸的,那麼我們就使用加密演算法對資料進行加密處理。之所以沒有採用非對稱演算法對資料進行加密處理,是因為對稱演算法的處理速度要遠遠高於非對稱演算法的處理速度。

但是對稱演算法進行加密有乙個問題就是:當server和client準備使用對稱演算法進行加密通訊之前,需要將公鑰(之後為了和非對稱公私鑰中的公鑰進行區分,稱其為通訊公鑰)從某一方傳輸到另一方。如果第三方截獲了這個通訊公鑰,之後server和client的資料傳輸就失去了意義,第三方可以使用截獲的通訊公鑰獲取到通訊的資料。

2.2使用非對稱演算法解決對稱加密的公鑰洩漏問題

針對上面提到的問題,我們可以使用非對稱演算法來對通訊公鑰進行加密傳輸。這裡需要說明的一點是為什麼不使用對稱演算法進行通訊公鑰的加密傳輸,其實道理很簡單,可以參考2.1中的觀點。而使用非對稱演算法就沒有這個問題,假設server需要將通訊公鑰傳送給client,那麼server使用client的非對稱公私鑰中的公鑰(下面稱其為加密公鑰)對通訊公鑰進行加密。這裡有個需要思考的問題是:為什麼使用非對稱公私鑰對中的公鑰對通訊公鑰進行加密,而沒有使用私鑰對通訊公鑰進行加密。假想我們使用私鑰對通訊公鑰進行加密,由於加密公鑰是公開的,所以任何乙個擁有加密公鑰的人都可以對加密資訊進行解密,那麼就失去了對通訊公鑰加密的意義。其實這裡涉及到非對稱演算法的兩個應用領域:乙個是簽名,另乙個是資料加密,顯然這裡的應用是資料加密。筆者認為資料加密和簽名最大的區別就是資料加密的目的是只希望唯一的接受方獲取真實資料;而簽名的目的是身份驗證,試想如果簽名採用的是公鑰加密,那麼任何乙個擁有公鑰的人都可以這麼做,這樣還能達到驗證身份的目的麼?所以前者採用公鑰加密,後者採用私鑰加密。

上面解釋了為什麼使用非對稱演算法加密,以及為什麼使用非對稱公私鑰中的公鑰進行加密。下面介紹下非對稱演算法+對稱演算法試**決單純的對稱演算法進行資料傳輸的公鑰被截獲的思路。server試圖通過加密公鑰對通訊公鑰進行加密、然後client使用私鑰進行解密獲取通訊公鑰、client使用通訊公鑰進行資料加密及通訊。

這裡有個問題,就是第三方還是可以介入。第三方攔截加密資訊後,server使用公鑰對另乙個通訊公鑰(為了和前面的通訊公鑰進行區分,筆者定義為通訊公鑰2)進行加密、client使用私鑰進行解密得到通訊公鑰2、client使用通訊公鑰2進行加密資料、第三方攔截加密資料並用通訊公鑰2進行解密。還是會有資料傳輸不安全的問題存在(兩種過程的詳細情況見下圖)。至此分析下使用對稱加密進行資料傳輸和非對稱加密+對稱加密進行資料傳輸的異同點:都導致了通訊資料的洩漏,但是前者中第三方是攔截資訊然後獲取通訊資訊中的通訊公鑰,而後者中第三方是攔截資訊丟棄資訊然後傳送另乙個通訊公鑰2給client。前者的問題是公鑰傳輸的無加密性,後者的問題是公鑰**的不明確。

2.3使用證書解決對稱演算法+非對稱演算法的第三方介入問題

上面提到了非對稱加密+對稱加密公鑰**不明確的問題,為了解決這個問題,我們引入ca證書。既然client接收到的公鑰**不明確,我們可以使用簽名的思想來進行公鑰**的驗證:可以對通訊公鑰進行server的私鑰進行簽名,然後client拿到簽名之後使用server的公鑰進行解密驗籤,如果解密之後的資訊和傳過來的通訊公鑰一致,表明通訊公鑰中途沒有被篡改過,也就是通訊公鑰**不變。說明下為什麼使用server的私鑰進行簽名:首先簽名的作用就是身份驗證,在這裡如果第三方截獲了資訊,試圖修改通訊公鑰為通訊公鑰2並用該公鑰進行簽名,但是client在接收到資訊之後會查詢本地中該型別證書的公鑰,使用了不匹配的公鑰進行驗籤,驗籤得到的通訊公鑰肯定不是通訊公鑰2,表明過程中有人修改了通訊公鑰。

https 的加密原理

1.http 協議 hypertext transfer protocol,超文字傳輸協議 是客戶端瀏覽器或其他程式與web伺服器之間的應用層通訊協議 https 協議 hypertext transfer protocol over secure socket layer 可以理解為 http s...

https的加密流程

標籤 空格分隔 https 加密 我們常用的加密方式有對稱加密和非對稱加密兩種,而https則是採用兩者相結合的方式進行加密 對稱加密 用乙個秘鑰對目標物件進行一系列操作生成一段密文,這段密文也同時可以用這個秘鑰進行解密 優點 簡單高效 缺點 秘鑰在傳輸期間容易被破解,即不安全 非對稱加密 同時有兩...

Https的加密機制

對稱加密就是有乙個金鑰,他可以對一段內容進行加密,加密後只能用它才能解密看到內容 使用對稱加密可行嗎?如果通訊雙方各持有同乙個金鑰,且沒有別人知道,這兩方的通訊安全當然可以是被保證的。那麼最大的問題是這個金鑰怎麼傳輸只讓雙方知曉,同時不被別人知道。如果瀏覽器生成乙個金鑰並傳送給瀏覽器,這個傳輸過程種...