tls過程中,為何不用證書提供的公鑰加密資料或者加密私鑰,而要設計金鑰交換流程呢?

時間 2021-06-01 12:37:25

1樓:

非對稱加密和對稱加密的效率確實不在乙個量級。

可另外乙個原因:服務端用私鑰加密了,豈不是任何人都能用公鑰解密?毫無隱私可言

2樓:Menooker

公鑰密碼較慢,比如rsa演算法需要冪模運算,cpu並不適合這樣的運算,相反對稱加密演算法在設計時已經考慮到使用現有cpu支援的運算,比如shift,xor等cpu已有的指令,針對32位64位機器而設計,所以對稱密碼時間效能較好,intel cpu sse (2?)指令集還有專門用來做aes的指令。

綜上,公鑰密碼時間效能差,所以用於數字簽名和秘鑰交換等資料量較小的任務,加密交換會話金鑰後使用效能好的對稱密碼加密使用者資料

3樓:

專業人士車小胖的答案很詳實,我補充另外乙個考慮就是正向安全設計設計需要。

試想攻擊者記錄下了全部的傳輸資料,雖然短時間內無法得知加密的內容,但是只要時間足夠長,他總能夠發現密文對應的明文。比如alice加密後的密文是bob,那麼在足夠長的時間之後,攻擊者就能夠根據捕獲到的密文bob就能推算出明文alice。

另乙個風險就是攻擊者記錄下了全部的傳輸資料。之後在某個特殊的時刻,攻擊者也獲得了傳輸的金鑰,那麼他就有能力破解加密內容。

在協商出隨機的加密金鑰之後按照對稱金鑰加密進行傳輸,在傳輸結束之後就丟棄加密的金鑰,那麼除非攻擊者在傳輸過程中就截獲了金鑰,不然攻擊者就只能儲存下來等計算機技術發達之後暴力破解了。

4樓:

現在的cpu, 2048位RSA私鑰解謎操作只能做到每秒幾百次,用來傳輸資料只能做到幾百KB/s,對稱加密演算法AES之類可以達到1GB/s

5樓:車小胖

證書裡的公鑰歸類於非對稱加密(Asymetric Cryptograghy),乙個公鑰(Public Key)唯一對應乙個私鑰(Private Key),公鑰加密的資料,私鑰可以解密,反之亦然。但這種非對稱加解密演算法耗費計算資源非常多,所以不適合資料流量的加密/解密,更適合用於認證對方的合法性(一次性的,所以耗費CPU就讓它耗費去吧),所以一般用於數字簽名,比如CA生成明文數字證書,然後將數字證書執行Hash演算法,生成Message Digest,用CA的私鑰加密Message Digest 即生成數字簽名(Digital Signature),這樣明文數字證書+數字簽名就是使用者拿到的數字證書(Certificate),任何擁有CA公鑰的個體,都可以解開數字簽名,意味著是CA私鑰加密無疑,因為公鑰與私鑰一一對應。

上文得到明文的數字證書+Message Digest,然後將明文數字證書執行相同的Hash演算法,得到本地的Message Digest,如果相同,表示數字證書沒有被篡改,安全可信,認證通過。

目前基於TLS的HTTPS通訊,只是瀏覽器單向認證伺服器端的合法性,伺服器端提供自己的證書,瀏覽器認證伺服器合法就可以了,瀏覽器擁有伺服器的公鑰,而伺服器並沒有瀏覽器的公鑰,換句話說,如果採用證書公鑰加密,也只能是瀏覽器單向加密資料,伺服器用私鑰解密;而反向卻不可以。如果雙向認證,則瀏覽器都需要擁有自己的證書,目前這不現實。

目前的做法是:瀏覽器認證完伺服器,會協商Key Exchange方法,通常有兩種方法:

1 RSA演算法瀏覽器生成乙個Pre_Master_Key(隨機數)用伺服器的公鑰加密,傳輸給伺服器,然後雙方計算出Master_Key,以此推導出session key,MAC secret,這個session key 用於雙方加密/解密。

2 DH演算法先生成Pre_Master_Key,再生成Master_Key,以此推導出session key,MAC secret,這個session key 用於雙方加密/解密。

採用對稱加密演算法如AES,相比非對稱加密演算法,計算資源消耗少,更適於大量的資料流量。

iOS公升級系統過程中,為何一定要螢幕最大亮度?這樣的設計又有何用意?

柴健翌 明明不是最大亮度,你這不是說瞎話麼?iOS裝置開機至少分兩個階段,由兩組模組分別管理的,載入OS之前機器永遠是50 亮度的,包括正常啟動 充電亮屏 公升級第一次進度條介面 刷磚恢復介面等。這個類似於安全模式,為了避免作死,任何無關緊要的設定都採用靜態預設值,保證運作正常 第二階段,OS核心接...

如何看待復旦招生組在招生過程中無所不用其極?

南粵野夫 還記得當年高考的時候 上交給廣東省理科前一千名的同學的發了簡訊 但位於665名的我 根本連上交的邊都沾不到 除非核工業 狗頭保命 顧聞 本人正好是今年復旦山東招生的學生志願者 就我所知 我們並沒有 無所不用其極 招生組老師一遍又一遍的和我們這些志願者說不要下保證,任何人都不可能百分百保證一...

復仇者聯盟3中,這樣為何不可 博士利用玄戒提前告知雷神 直接砍滅霸的頭!這樣滅霸不就完了嗎?

WUU 事後來看,有無數方法砍了滅霸,但也會有無數變數,可能奇異博士發現無論如果計畫,都會產生新的變數,導致失敗。也許對著頭砍,滅霸突然就想著不用無線手套硬剛,直接躲開了。還有很多方法,比如可以告訴星爵不要發神經,搶下手套立刻回地球,湊齊寶石乙個響指直接結束滅霸。比如可以安排婦聯4最後大戰時,女巫控...