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

聊一聊 TLS/SSL

安全 應用安全
聰明的小伙伴肯定會想到:只要能證明對方有私鑰就行了!也就是說瀏覽器用證書(即公鑰)加密一個數據,然后發送給對方;如果對方有私鑰,那就能解密這個數據并返回給瀏覽器,那瀏覽器就知道對方身份了。

哈嘍大家好,我是咸魚

當我們在上網沖浪的時候,會在瀏覽器界面頂部看到一個小鎖標志,或者網址以 "https://" 開頭

圖片圖片

這意味著我們正在使用 TLS/SSL 協議進行安全通信。雖然它可能看起來只是一個小小的鎖圖標和一個 “https” ,但實際上,這個協議在保護我們的在線隱私和安全方面扮演著至關重要的角色

那今天咸魚就跟大家聊一聊 TLS/SSL 相關的一些知識

閱讀文章之前,需要知道:

TLS(Transport Layer Security)和 SSL(Secure Sockets Layer)都是用于加密通信的協議

TLS 是 SSL 的升級版本,它修復了 SSL 中存在的一些安全漏洞,并提供了更高級的安全性

中間人攻擊

一天中午,咸魚在星巴克里打算上網沖浪一下,這時候有一個很壞很壞的人走進了星巴克

壞人建了一個跟星巴克 WI-FI 同名的接入點,當咸魚上網的時候,稍微不注意連接到了壞人偽造的那個假的星巴克 WI-FI,這就導致咸魚任何流量請求都在壞人的監控之下

又或者壞人跟咸魚都連上了星巴克 WI-FI ,然后他通過偽造 DHCP 服務來告訴咸魚的設備:【我就是網關,要上網的話,讓我幫你轉發就可以了】

當咸魚要登陸銀行進行轉賬開始訪問銀行網站的時候,壞人截獲了咸魚這個請求,并向銀行的網站發送一個偽裝請求,假裝是咸魚在請求

銀行以為這個請求來自于咸魚,于是返回響應;壞人把這個響應截獲了,然后轉發到咸魚的設備上

咸魚的設備認為這個響應來自于銀行,于是咸魚看到的是一個正常的銀行網站登陸界面,便乖乖地輸入了登錄信息(用戶名密碼等)

壞人再次截獲這些信息,然后將其發送給真正的銀行網站,這時候壞人已經拿到了咸魚的登錄信息

同時,他也繼續截獲所有咸魚與銀行之間的通信,以便訪問咸魚的銀行賬戶或者進行其他惡意活動

圖片圖片

這便是中間人攻擊(Man-in-the-Middle Attack,簡稱 MITM 攻擊)

中間人攻擊是一種計算機安全威脅,攻擊者插入自己在通信的兩端,竊取或篡改信息

這種攻擊可以在不被察覺的情況下進行,因為通信的兩方認為他們正在直接相互通信,而實際上信息經過了攻擊者的處理

如何避免遭受中間人攻擊呢?聰明的小伙伴很快就想到了——通過 HTTPS 來進行加密通信!這樣即使信息被截獲,壞人也無法輕易解密

TLS/SSL

非對稱加密

HTTPS 通過 TLS/SSL 來實現加密傳輸數據,保證數據在傳輸的過程中中間人無法解密,這樣就保證了數據的安全性

加密數據不是什么難題,通信的時候雙方用密鑰對數據加密就行了

但如果大家跟銀行進行加密通信的時候用的密鑰都是一樣的,中間人依舊能夠使用這個密鑰去偽造網站然后截獲你的加密數據。這樣的話要不要密鑰都沒啥區別,甚至不還如不要密鑰呢

所以最好的情況就是:我跟銀行通信的時候協商好用什么密鑰——用 A 密鑰對數據加密(公鑰),然后用 B 密鑰對數據解密(私鑰),而且:

  1. A 密鑰加密的數據只能 B 密鑰解密
  2. 這個 B 密鑰只能我一個人擁有,別人是拿不到的

B 密鑰的唯一性,既保證了數據的安全(A 密鑰加密的數據只能 B 密鑰解密),又能證明我是我(即 B 密鑰只能我一個人擁有)

這便是非對稱加密技術

非對稱加密有兩個秘鑰,一個是公鑰,一個是私鑰:

  • 公鑰會放在互聯網上公開;私鑰被自己保存,不能對外泄露
  • 公鑰加密的數據,只有對應的私鑰才可以解密
  • 只有你有私鑰,我才相信你是你

舉個例子,首先咸魚和銀行把自己的公鑰互相給對方,在通信的時候,咸魚用銀行給的公鑰去加密數據并發送給銀行,銀行拿到之后用自己的私鑰解密數據

同理,銀行用咸魚提供的公鑰進行數據加密,然后咸魚拿到加密數據之后用自己的私鑰進行解密

圖片

TLS/SSL 握手

我們在與銀行通信的時候使用 TLS/SSL 加密傳輸數據,會有經過兩個階段:

  1. TLS/SSL 握手階段:用于建立安全的連接通道(非對稱加密)
  2. 數據傳輸階段:通道建立好之后,開始傳輸數據(對稱加密)

即在 TLS/SSL 握手階段使用的是非對稱加密技術,數據傳輸階段用的是對稱加密技術

首先網站會公開自己的公鑰(也就是大家常說的“證書”,網站的公鑰是通過數字證書公開的)

當瀏覽器連接到網站時,會先去下載網站的證書

那這里會有一個問題:既然網站的證書是公開的,阿貓阿狗也能下載。那瀏覽器如何知道這個證書的擁有者即對方就是該網站呢?

聰明的小伙伴肯定會想到:只要能證明對方有私鑰就行了!也就是說瀏覽器用證書(即公鑰)加密一個數據,然后發送給對方;如果對方有私鑰,那就能解密這個數據并返回給瀏覽器,那瀏覽器就知道對方身份了

瀏覽器會驗證證書的有效性(包括驗證服務器的身份,檢查證書是否過期,是否由受信任的證書頒發機構(CA)簽發)

以此來確保正在與合法的網站通信

所以瀏覽器會生成一個隨機數(client random),并使用服務器的公鑰對其進行加密,然后將其發送回服務器

服務器使用自己的私鑰解密此數據,并使用瀏覽器的公鑰對另一個隨機數(server random)進行加密并發送回客戶端

這兩個隨機數將用于生成會話密鑰,用于之后的對稱加密通信

具體TLS/SSL 握手階段請看:TLS 詳解握手流程 - 掘金 (juejin.cn)

證書頒發機構 CA

前面我們提到:瀏覽器會去驗證證書的有效性,其中包括驗證證書是否由受信任的證書頒發機構(CA)簽發

這個證書頒發機構(CA,Certification Authority)是一個權威的第三方機構,它的存在是為了告訴瀏覽器:有我做擔保,你們只管信我;只有網站的擁有者,才能擁有網站的證書

即 CA 在這個過程中充當了一個【擔保人】的角色,當瀏覽器拿到網站的證書的時候,會去問 CA :“這個證書是否合法?”

然后 CA 說:“這個證書是合法的!”,瀏覽器才會信任這個網站

網站需要向 CA 申請證書,CA 要對自己頒發的證書負責

最后

以上就是關于中間人攻擊、TLS/SSL、CA 大致的原理和內容。

責任編輯:武曉燕 來源: 咸魚運維雜談
相關推薦

2020-05-22 08:16:07

PONGPONXG-PON

2021-01-28 22:31:33

分組密碼算法

2018-06-07 13:17:12

契約測試單元測試API測試

2024-01-02 13:26:39

TLSC#線程

2021-08-04 09:32:05

Typescript 技巧Partial

2021-01-29 08:32:21

數據結構數組

2021-02-06 08:34:49

函數memoize文檔

2022-08-08 08:25:21

Javajar 文件

2023-07-06 13:56:14

微軟Skype

2023-05-15 08:38:58

模板方法模式

2022-11-01 08:46:20

責任鏈模式對象

2018-11-29 09:13:47

CPU中斷控制器

2019-02-13 14:15:59

Linux版本Fedora

2020-10-15 06:56:51

MySQL排序

2020-08-12 08:34:16

開發安全We

2022-11-26 00:00:06

裝飾者模式Component

2022-10-08 11:33:56

邊緣計算云計算

2018-01-10 14:13:04

測試矩陣API測試

2022-03-08 16:10:38

Redis事務機制

2019-12-17 10:06:18

CDMA高通4G
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: www.99热这里只有精品 | 久草热在线 | 国产午夜亚洲精品不卡 | 国产成人精品久久 | 日韩久久久久 | 国产亚洲一区二区三区在线观看 | 日韩欧美国产精品一区二区 | 日本视频免费 | 久久99精品久久久久久狂牛 | 欧美日韩久久 | 久久九精品 | 久久久久久久久久久高潮一区二区 | 噜噜噜色网 | 久久精品色欧美aⅴ一区二区 | 国产东北一级毛片 | 99re视频| 男女国产视频 | 精品国产一区二区 | 日韩精品在线播放 | 久久久一二三区 | 国产一区二区三区免费 | 91色啪 | 欧洲成人免费视频 | 久久久xxx| www.久久99| 免费一区二区 | 欧洲亚洲精品久久久久 | 亚洲欧美日韩久久久 | 人人擦人人干 | 四虎午夜剧场 | 91麻豆精品国产91久久久久久久久 | 亚洲天堂久久 | 高清久久| 免费观看日韩精品 | 亚洲欧美精品在线 | 人人做人人澡人人爽欧美 | 亚洲精品视频免费观看 | 91精品一区二区三区久久久久 | 狠狠干天天干 | 视频1区 | 成人免费毛片在线观看 |