成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

字節(jié)校招一面:聊聊Https 原理

開發(fā) 前端 應(yīng)用安全
如果HTTP請求被某個不懷好意的中間人竊聽截取,并且,消息包含銀行密碼等敏感信息的話,造成的后果不堪設(shè)想吧。

前言

大家好,我是田螺。

有位朋友校招面試了字節(jié)的后端崗位,問到這道面試題:https 原理。

這道題其實比較簡單,我們?nèi)绾胃玫鼗卮鹉??我來跟大家聊聊。可以從這幾個維度逐層擴展來講

  • http為什么不安全?
  • 對稱算法加密+HTTP
  • 非對稱加密+HTTP
  • 非對稱加密+對稱加密+HTTP
  • 數(shù)字簽名,給你的公鑰蓋個章
  • 完整的HTTPS運行流程圖

1. http為什么不安全?

我們先來看看HTTP傳輸:

圖片圖片

  • 客戶端,把一條消息,以明文的方式,發(fā)送到服務(wù)器。
  • 服務(wù)的響應(yīng)報文,也是以明文的方式,發(fā)回給客戶端。

Http 明文傳輸,主要有這些缺點:竊聽風險、篡改風險、冒充風險

請君試想,如果HTTP請求被某個不懷好意的中間人竊聽截取,并且,消息包含銀行密碼等敏感信息的話,造成的后果不堪設(shè)想吧。

2. 對稱算法加密+HTTP

既然,明文傳輸不安全,那我們加密是不是就可以了。比如用對稱加密算法加密。

  • 對稱加密算法:需要對加密和解密使用相同密鑰的加密算法。由于其速度快,對稱性加密通常在消息發(fā)送方需要加密大量數(shù)據(jù)時使用。對稱性加密也稱為密鑰加密。
  • 常見的對稱加密算法有:DES、3DES、AES

看看用對稱算法加密后,HTTP流程又是怎樣的:

圖片圖片

  • 客戶端把要發(fā)送的消息,用密鑰加密成密文。
  • 客戶端把密文發(fā)送到服務(wù)器。
  • 服務(wù)器收到密文消息,用同一把密鑰把密文解密成明文。
  • 同理,服務(wù)端把消息報文返回給客戶端,處理過程類似。

這種方式還是有問題:

一開始客戶端怎么把密鑰發(fā)過去呢?如果不懷好意的中間人截取到了密鑰,發(fā)送的消息還是會被盜取和利用呢。

3. 非對稱加密+HTTP

既然對稱算法加密+HTTP 還是不夠安全,那我們用非對稱加密+HTTP。

什么是非對稱加密算法?

  • 非對稱加密算法需要兩個密鑰:公開密鑰和私有密鑰。公開密鑰與私有密鑰是一對,如果用公開密鑰對數(shù)據(jù)進行加密,只有用對應(yīng)的私有密鑰才能解密;如果用私有密鑰對數(shù)據(jù)進行加密,那么只有用對應(yīng)的公開密鑰才能解密。因為加密和解密使用的是兩個不同的密鑰,所以這種算法叫作非對稱加密算法。
  • 常用非對稱加密算法:RSA、ECC

使用非對稱加密算法之后,HTTP流程又是怎樣的,如下圖:

圖片圖片

  • 客戶端向服務(wù)器發(fā)起HTTP請求
  • 服務(wù)端將自己的公鑰返回到客戶端。
  • 客戶端使用返回的公鑰,給要發(fā)送的消息加密。
  • 客戶端將加密之后的消息密文發(fā)送給服務(wù)器。
  • 服務(wù)器接收到客戶端發(fā)來的密文之后,會用自己的私鑰對其進行非對稱解密,解密之后得到消息數(shù)據(jù)。

這種方式依然有問題:

非對稱算法(如:RSA)有個弊端,它很慢。試想一下,如果你用瀏覽器請求,它很久才響應(yīng),你能接受嗎?

4. 非對稱加密+對稱加密+HTTP

既然非對稱加密慢。對稱加密會快好多。我們可以使用非對稱加密+對稱加密雙劍合璧的流程圖如下:

圖片圖片

  • 客戶端向服務(wù)器發(fā)起HTTP請求
  • 服務(wù)端將自己的公鑰返回到客戶端。
  • 客戶端產(chǎn)生對稱加密密鑰,并用服務(wù)端返回的公鑰對它加密
  • 客戶端會發(fā)起第二個HTTP請求,將加密之后的客戶端密鑰發(fā)送給服務(wù)器。
  • 服務(wù)器接收到客戶端發(fā)來的密文之后,會用自己的私鑰對其進行非對稱解密,解密之后得到客戶端密鑰,然后用客戶端密鑰對返回數(shù)據(jù)進行對稱加密,這樣數(shù)據(jù)就變成了密文。
  • 服務(wù)器將加密后的密文返回給客戶端。
  • 客戶端收到服務(wù)器發(fā)返回的密文,用自己的密鑰(客戶端密鑰)對其進行對稱解密,得到服務(wù)器返回的數(shù)據(jù)。

這種方式還是有問題,沒完沒了了。。。

如果中間人又來搞事情呢?要是中間人截取公鑰,把公鑰進行篡改呢? 打個比喻,把公鑰比喻你自己的手機號,它是公開的,誰都可以給你打電話。假設(shè)你發(fā)消息給你朋友,告訴他你的手機號,然后消息被中間人截取修改了,改為110,然后你朋友不知情的情況下,撥通110,打電話給你。。。

5. 數(shù)字簽名,給你的公鑰蓋個章

為了避免公鑰被篡改,引入了數(shù)字證書,如圖所下:

圖片圖片

  • 公鑰和個人信息,經(jīng)過Hash算法加密,形成消息摘要;將消息摘要拿到擁有公信力的認證中心(CA),用它的私鑰對消息摘要加密,形成數(shù)字簽名.
  • 公鑰和個人信息、數(shù)字簽名共同構(gòu)成數(shù)字證書。

 證書驗證

圖片圖片

  • 拿到數(shù)字證書之后,用同樣的Hash算法, 先再次生成消息摘要;
  • 然后用CA的公鑰對數(shù)字簽名解密, 得到CA創(chuàng)建的消息摘要, 兩者對比,就知道有沒有人篡改了。

6. 完整的HTTPS運行流程圖

圖片圖片

  1. 用戶在瀏覽器里輸入一個https網(wǎng)址,然后連接到server的443端口。
  2. 服務(wù)器必須要有一套數(shù)字證書,可以自己制作,也可以向組織申請,區(qū)別就是自己頒發(fā)的證書需要客戶端驗證通過。這套證書其實就是一對公鑰和私鑰。
  3. 服務(wù)器將自己的數(shù)字證書(含有公鑰)發(fā)送給客戶端。
  4. 客戶端收到服務(wù)器端的數(shù)字證書之后,會對其進行檢查,如果不通過,則彈出警告框。如果證書沒問題,則生成一個密鑰(對稱加密),用證書的公鑰對它加密。
  5. 客戶端會發(fā)起HTTPS中的第二個HTTP請求,將加密之后的客戶端密鑰發(fā)送給服務(wù)器。
  6. 服務(wù)器接收到客戶端發(fā)來的密文之后,會用自己的私鑰對其進行非對稱解密,解密之后得到客戶端密鑰,然后用客戶端密鑰對返回數(shù)據(jù)進行對稱加密,這樣數(shù)據(jù)就變成了密文。
  7. 服務(wù)器將加密后的密文返回給客戶端。
  8. 客戶端收到服務(wù)器發(fā)返回的密文,用自己的密鑰(客戶端密鑰)對其進行對稱解密,得到服務(wù)器返回的數(shù)據(jù)。
責任編輯:武曉燕 來源: 撿田螺的小男孩
相關(guān)推薦

2022-03-30 10:10:17

字節(jié)碼棧空間

2022-08-13 12:07:14

URLHTTP加密

2022-08-18 17:44:25

HTTPS協(xié)議漏洞

2024-10-15 10:59:18

Spring MVCJava開發(fā)

2025-03-19 08:00:00

@CacheableSpring注解

2024-11-26 08:52:34

SQL優(yōu)化Kafka

2022-10-10 08:13:16

遞歸通用代碼

2024-10-31 08:50:14

2022-05-10 22:00:41

UDPTCP協(xié)議

2022-01-05 21:54:51

網(wǎng)絡(luò)分層系統(tǒng)

2024-04-24 09:02:58

線程池面試鎖升級

2022-06-01 11:52:42

網(wǎng)站客戶端網(wǎng)絡(luò)

2024-11-11 10:34:55

2022-11-30 17:13:05

MySQLDynamic存儲

2022-05-11 22:15:51

云計算云平臺

2022-10-19 14:08:42

SYNTCP報文

2024-05-15 16:41:57

進程IO文件

2024-09-26 06:48:36

2024-09-04 15:17:23

2022-12-02 13:49:41

點贊
收藏

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

主站蜘蛛池模板: 免费一区二区三区 | 一二三四在线视频观看社区 | 男人午夜视频 | 精品久久久久久亚洲综合网站 | 免费黄色大片 | 成人久久久 | 在线国产中文字幕 | www.天天操| 亚洲一二三在线 | 男女羞羞免费网站 | 免费能直接在线观看黄的视频 | 毛片一区二区三区 | 成人av片在线观看 | 亚洲欧美视频 | 日韩在线播放av | 青青草网站在线观看 | 国产精品夜夜夜一区二区三区尤 | 日韩一二区 | 在线视频 亚洲 | 久久九九99 | 午夜视频在线播放 | 精品亚洲二区 | 成人av一区 | 欧美一区二区三区精品免费 | 久草欧美视频 | 国产二区精品视频 | 婷婷色成人 | 伊人伊成久久人综合网站 | 久草新在线| 福利社午夜影院 | 欧美高清一区 | 久久久精彩视频 | 91精品久久久久久久久久入口 | 国产网站久久 | 国产一区在线免费观看 | 一区二区精品视频 | 成人片免费看 | 久久99精品久久久久久青青日本 | 天天搞夜夜操 | 国产亚洲www | 中文字幕亚洲视频 |