自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

SSL為什么不直接用公鑰加密數(shù)據(jù)?

安全 數(shù)據(jù)安全
為什么不直接使用公鑰加密數(shù)據(jù),而是先用公鑰加密會(huì)話密鑰,再通過會(huì)話密鑰加密數(shù)據(jù)呢?豈不是畫蛇添足,多此一舉。

[[404661]]

當(dāng)網(wǎng)站安裝SSL證書后,建立連接的過程會(huì)發(fā)生改變,安全性大幅提高,其原理就是利用非對(duì)稱加密傳輸會(huì)話密鑰,再通過會(huì)話密鑰加密客戶端與服務(wù)器之間傳輸?shù)臄?shù)據(jù)。

問題來了,為什么不直接使用公鑰加密數(shù)據(jù),而是先用公鑰加密會(huì)話密鑰,再通過會(huì)話密鑰加密數(shù)據(jù)呢?豈不是畫蛇添足,多此一舉。

我們先來看看網(wǎng)站安裝SSL證書后,客戶端與服務(wù)器建立連接的過程。

  1. 客戶端提交https請(qǐng)求
  2. 服務(wù)器響應(yīng)請(qǐng)求,把證書公鑰發(fā)給客戶端
  3. 客戶端驗(yàn)證證書公鑰的有效性
  4. 驗(yàn)證通過后,生成一個(gè)會(huì)話密鑰
  5. 使用SSL證書的公鑰,加密該會(huì)話密鑰,并發(fā)送給服務(wù)器
  6. 服務(wù)器收到加密數(shù)據(jù)后,使用私鑰解密,得到會(huì)話密鑰
  7. 客戶端與服務(wù)器利用該會(huì)話密鑰,加密要傳輸?shù)臄?shù)據(jù),進(jìn)行通信

當(dāng)客戶端成功驗(yàn)證了SSL證書公鑰的有效性后,便可以直接通過該公鑰加密數(shù)據(jù),與服務(wù)器傳輸數(shù)據(jù),為什么還需要多出很多步驟出來呢?

其實(shí)這主要是為了解決速率太慢的問題。

RSA公鑰算法的簽名算法、驗(yàn)證算法耗時(shí)以及每秒所能完成的計(jì)算量如下:

我們以RSA 2048為例,普通電腦完成一次簽名操作需要4.097毫秒,也就是說一秒鐘可以完成的加密了為244.1*2048=499916.8bit/second=499.917kbps。

如此慢的速率,用戶肯定無法接受。

非對(duì)稱加密雖然安全性很高,但速率太慢是它一個(gè)致命的缺點(diǎn)。

對(duì)稱加密恰恰相反,雖然安全性差,但速率很高。

SSL證書的智慧就體現(xiàn)在這里。首先利用非對(duì)稱加密的高安全性,傳輸AES對(duì)稱加密的密鑰,服務(wù)器解密后,通信雙方便有了會(huì)話密鑰,這個(gè)會(huì)話密鑰因?yàn)槭峭ㄟ^RSA這一非對(duì)稱算法進(jìn)行加密的,不會(huì)被第三人監(jiān)聽或者竊取很安全。

此后丟掉速率很難的非對(duì)稱加密,直接使用對(duì)稱加密算法通信即可。

我們可以舉一個(gè)更容易理解的例子。

A和B在不同的兩個(gè)地方,他們想互相運(yùn)送珍貴的貨物,運(yùn)送途中必須保證貨物的安全。

他們現(xiàn)在有兩種運(yùn)輸方式可以選擇,一種是飛機(jī),一種是貨車。

A和B所在的地方很奇怪,陸路運(yùn)輸公司會(huì)配備專門的安保人員,而航空運(yùn)輸沒有,所以經(jīng)常發(fā)生劫機(jī)事件,陸路運(yùn)輸則比較安全。

迫于無奈,A和B只能選擇陸路運(yùn)輸,但時(shí)間長了,它們發(fā)現(xiàn)這樣做效率太低。經(jīng)過調(diào)查發(fā)現(xiàn),只要按照特定的航線航行,就不會(huì)發(fā)生劫機(jī)事件。

于是,B想了一個(gè)好辦法,使用陸路運(yùn)輸將航線圖運(yùn)送到A的手中,A知道航線后,雙方再使用航空運(yùn)輸,既能保證速度,又能保證安全性,一舉兩得。

從另一方面說,不使用公鑰直接加密數(shù)據(jù),也是為了安全考慮。假如直接使用公鑰加密,一旦服務(wù)器私鑰被獲取,那么所有通信內(nèi)容都將被解密,極其不安全。

如果公鑰加密的是會(huì)話密鑰,即便私鑰被獲取,由于通信內(nèi)容是采用會(huì)話密鑰進(jìn)行加密的,第三人也無法解密數(shù)據(jù)。 

責(zé)任編輯:趙寧寧 來源: 今日頭條
相關(guān)推薦

2022-12-13 08:00:39

2019-06-04 05:00:27

公鑰加密工控安全網(wǎng)絡(luò)安全

2019-02-18 14:18:04

2021-01-26 21:00:24

SSL證書網(wǎng)絡(luò)安全加密

2023-03-15 10:38:55

2020-06-22 07:51:24

SSL證書數(shù)據(jù)安全數(shù)據(jù)泄露

2021-08-04 17:20:30

阿里巴巴AsyncJava

2022-02-06 10:58:37

Redis主從模式

2021-07-01 16:10:22

equals字符串Java

2023-03-21 15:27:00

RedisC語言字符串

2011-03-09 17:20:43

SSL VPNVPN

2023-07-13 07:35:19

2020-07-20 07:46:01

程序員加簽驗(yàn)簽

2022-02-22 20:35:22

公鑰私鑰數(shù)據(jù)

2022-05-17 14:16:54

區(qū)塊鏈加密貨幣私鑰

2021-11-05 07:18:15

分布式事務(wù)業(yè)務(wù)

2020-12-25 09:07:38

EclipseCode工具

2016-12-26 16:58:37

2024-03-15 09:06:48

HTTPSCA私鑰

2020-05-20 08:35:55

公鑰密碼學(xué)非對(duì)稱密碼密碼
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)