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

HTTPS 是如何進(jìn)行安全傳輸?shù)??

網(wǎng)絡(luò) 網(wǎng)絡(luò)管理
通過四次握手,一個 TLS 安全連接建立??蛻舳撕头?wù)端通過握手協(xié)商出許多信息,例如:只有雙方才知道的隨機(jī)密鑰,傳輸過程采用的對稱加密算法(例如 AES 128 等)、壓縮算法等。

概述

現(xiàn)代密碼學(xué)對信息的處理主要離不開以下的三種形式:

  1. 摘要:主要用于數(shù)據(jù)校驗,例如存儲密碼等,摘要是對信息進(jìn)行單向的哈希,改變信息的原有形態(tài),因為哈希函數(shù)的特點是易變性(即使微小的變化也會產(chǎn)生完全不同的哈希值),而且無法被反向推導(dǎo)出來,例如上文提到常見的哈希加密方式有:MD2/4/5/6、SHA0/1/256/512 算法等方式。
  2. 加密:主要用于保證信息的安全傳輸,確保真實的信息只能被授權(quán)的人訪問(擁有密鑰),通常使用密鑰對信息進(jìn)行加密,和摘要不同的是,加密是可以解密為明文信息的。密鑰的類型又分為:對稱型密鑰,非對稱型密鑰(公鑰、私鑰)等,常見的有 DES、AES、RC4、IDEA 等方式。
  3. 簽名:主要是用來保證明文信息的完整性、真實性和檢查是否被篡改的一種方式(使用哈希函數(shù)),例如 jwt 令牌 中就是有一段簽名,用于保證負(fù)載信息的真實性,簽名并不保證信息的私密性。

總體來說,它們的分工是:

  • 摘要:用于確保數(shù)據(jù)的完整性和快速比較,無法被解密。
  • 加密:用于保護(hù)數(shù)據(jù)的機(jī)密性,它和摘要的區(qū)別是加密可以逆向破解,也就是解密。
  • 簽名:則提供了一種驗證消息來源和完整性的方法。但信息是公開的。

這三者共同構(gòu)成了現(xiàn)代密碼學(xué)的基石,廣泛應(yīng)用于數(shù)據(jù)保護(hù)、身份驗證和網(wǎng)絡(luò)安全等領(lǐng)域。

密鑰

對稱型密鑰

圖片圖片

對稱型密鑰加密的基本原理是將明文數(shù)據(jù)通過一個加密算法和一個密鑰轉(zhuǎn)換成密文,然后接收方使用相同的密鑰和解密算法將密文還原成原始的明文。由于加密和解密都使用同一個密鑰,因此被稱為對稱加密。對稱型密鑰加密算法的特點是算法簡單、速度快,適合于大量數(shù)據(jù)的加密。常見的對稱型密鑰加密算法包括:AES (Advanced Encryption Standard)、DES (Data Encryption Standard)、3DES (Triple DES)。

對稱型密鑰在密鑰的保管和分發(fā)上面存在困難,因為密鑰必須安全地分發(fā)給所有需要它的用戶,并且每次通信都需要一個新的密鑰,這在大規(guī)模通信中可能會變得復(fù)雜。關(guān)于對稱型密鑰總結(jié)如下:

  • 優(yōu)點:加解密速度快,適合大量數(shù)據(jù)、算法簡單,資源消耗低,適合大量數(shù)據(jù)的加解密的場景。
  • 缺點:密鑰的保存和分發(fā)困難:無法在不可信的網(wǎng)絡(luò)上進(jìn)行分發(fā),存在 “先有雞,還是先有蛋” 的問題。

非對稱型密鑰

圖片圖片

非對稱型密鑰加密,也稱為公鑰加密或雙密鑰加密,是一種使用兩個不同密鑰的加密方法:一個用于加密(稱為公鑰),另一個用于解密(稱為私鑰)。公鑰可以公開分享,而私鑰則必須保密。

非對稱加密的基本原理是:

  1. 密鑰生成:首先生成一對密鑰,包括一個公鑰和一個私鑰。這兩個密鑰是數(shù)學(xué)上相關(guān)的,但即使知道了公鑰,也無法輕易推導(dǎo)出私鑰。
  2. 加密:當(dāng) A 想要向 B 發(fā)送加密信息時,A 會使用 B 的公鑰來加密信息。這樣,只有擁有相應(yīng)私鑰的 B 才能解密這條信息。
  3. 解密:B 收到加密信息后,使用自己的私鑰來解密,恢復(fù)原始信息。

非對稱加密的關(guān)鍵特性是公鑰可以公開,而私鑰必須保密。這使得非對稱加密在某些應(yīng)用場景中非常有用,但非對稱加密的主要缺點是計算復(fù)雜,消耗資源,速度慢等,因此它通常與對稱加密結(jié)合使用:非對稱加密用于安全地交換對稱密鑰,然后使用對稱密鑰進(jìn)行實際的數(shù)據(jù)加密,以提高效率。使用非對稱型密鑰主要解決兩個不信任個體在不安全通信環(huán)境下的信息傳輸問題,解決信息在公開網(wǎng)絡(luò)中傳輸?shù)膯栴},既然被截獲也不會受到影響。關(guān)于非對稱型密鑰總結(jié)如下:

  • 優(yōu)點:使用密鑰對解決密鑰分發(fā)的問題,可以在公開網(wǎng)絡(luò)中安全傳輸信息
  • 缺點:速度慢,不適合對大量數(shù)據(jù)進(jìn)行加密,計算資源消耗高,擁有長度的限制多長的密鑰只能加密多長的明文。

因此,對稱密鑰和非對稱密鑰的區(qū)分是為了滿足不同的安全需求、提高效率、簡化密鑰管理,并適應(yīng)不同的通信場景。單獨依靠某一種算法(對稱加密、非對稱加密)既做不了加密,也做不了簽名。在實際應(yīng)用中,對稱加密和非對稱加密往往是結(jié)合使用的。已混合加密方式來保護(hù)信道安全。

具體做法:

  1. 使用非對稱加密方式,協(xié)商一個密鑰(少量信息)給通信的另一方
  2. 雙方基于共同的密鑰進(jìn)行對稱加密傳輸大量的信息

混合使用對稱和非對稱加密方法來傳輸信息,這樣可以同時利用兩種加密方式的優(yōu)勢,也稱為現(xiàn)代密碼學(xué)套件。信息傳輸?shù)慕K極解決方案 HTTPS 就是基于該方式實現(xiàn)的。

證書

在現(xiàn)實生活中,我們要和一個未曾謀面的人建立信任,通常有兩種方式:

  1. 基于共同的私密信息:對方打電話來說是我的小學(xué)同學(xué),他能說出我們小學(xué)還有同學(xué)的名字,做過的一些糗事,那么我就會信任他
  2. 基于權(quán)限的公證人:對方說他是警察,需要我配合辦案,如果他能提供證件和警員編號,那么我們也會信任他,并且進(jìn)行配合

在網(wǎng)絡(luò)世界里面,我們不能認(rèn)為兩臺計算機(jī)是相互認(rèn)識并且存在共同的私密信息的,所以解決信任問題只有基于第二種 基于權(quán)限的公證人 的方式。

CA 認(rèn)證中心

CA 認(rèn)證中心是負(fù)責(zé)給計算機(jī)的服務(wù)端頒發(fā)數(shù)字證書(Certificate)的機(jī)構(gòu),類似于上面例子中給警察頒發(fā)證件的權(quán)威機(jī)構(gòu)類似。當(dāng)客戶端訪問服務(wù)端時,會檢查服務(wù)端的證書是有效,確認(rèn)無誤后才會建立安全鏈接。

圖片圖片

服務(wù)端的 PKI 證書是遵循 X.509 標(biāo)準(zhǔn),證書包含了用于 SSL/TLS 通信的信息,具體如下:

圖片圖片

  1. 版本:指出該證書使用了哪種版本的 X.509 標(biāo)準(zhǔn)(版本 1、版本 2 或是版本 3)
  2. 序列號:由 CA 分配的證書唯一的標(biāo)識符。
  3. 證書簽名算法:說明數(shù)字證書所使用的簽名算法。
  4. 發(fā)行者:證書頒發(fā)機(jī)構(gòu)可識別名稱
  5. 有效期:證書的有效期,包括開始和結(jié)束日期。
  6. 主題:證書持有者的名稱,通常是域名,全網(wǎng)唯一。
  7. 使用者公鑰信息:由 CA 中心頒發(fā)給證書持有人的公鑰和公鑰算法信息。
  8. 擴(kuò)展屬性:一些后期用于擴(kuò)展的其他屬性。

安全傳輸協(xié)議

前面介紹的繁瑣的密鑰和證書等機(jī)制,最終都是為了安全傳輸所準(zhǔn)備的。如何將復(fù)雜的技術(shù)無感知的應(yīng)用在所有人都使用的網(wǎng)絡(luò)通信中,成為工程師要面對的挑戰(zhàn)之一,SSL/TLS 技術(shù)也經(jīng)歷的漫長時間和摸索,早在 1994 年就開始嘗試。以下是 SSL/TLS 技術(shù)的簡要發(fā)展歷:

  1. 1994年:SSL 的引入 - 安全套接字層(SSL)是由網(wǎng)景公司(Netscape)開發(fā)的,目的是為了提供一種安全的網(wǎng)絡(luò)傳輸機(jī)制來保護(hù)網(wǎng)上交易的隱私和完整性。
  2. 1999年:TLS 的誕生 - 傳輸層安全協(xié)議(TLS)1.0 被作為 SSL 的后續(xù)標(biāo)準(zhǔn)正式發(fā)布,由互聯(lián)網(wǎng)工程任務(wù)組(IETF)進(jìn)行標(biāo)準(zhǔn)化。TLS 在設(shè)計上與SSL 3.0相似,但增強(qiáng)了安全性并修復(fù)了 SSL 的一些缺陷。
  3. 2006年:TLS 1.1發(fā)布 - 作為對 TLS 1.0 的改進(jìn),TLS 1.1 在安全機(jī)制上做了進(jìn)一步的增強(qiáng),如引入了顯式 IV 以防止密碼本重放攻擊。
  4. 2008年:TLS 1.2 發(fā)布 - TLS 1.2 進(jìn)一步增強(qiáng)了協(xié)議的安全性,引入了更多的加密算法和安全特性,比如支持 SHA-256 散列函數(shù)。
  5. 2018年:TLS 1.3發(fā) 布 - TLS 1.3 簡化了握手過程,提高了連接的速度和安全性。它移除了一些過時的算法和特性,使得協(xié)議更加健壯和難以被攻擊。

TLS 在傳輸之前的握手過程一共需要進(jìn)行上下兩輪、共計四次通信,通過混合使用非對稱加密交換密鑰,使用對稱加密傳輸信息的方式保障通信安全。如圖:

圖片圖片

  1. 客戶端發(fā)送 ClientHello 消息:客戶端以明文的方式向服務(wù)器發(fā)送一個 ClientHello 消息,該消息包括客戶端支持的 TLS 版本、加密算法列表(密碼套件)、會話ID(用于會話恢復(fù))和客戶端生成的隨機(jī)數(shù)。
  2. 服務(wù)器回應(yīng) ServerHello 消息:服務(wù)器選擇一個共同的 TLS 版本和密碼套件,并向客戶端發(fā)送 ServerHello 消息。此消息包括服務(wù)器生成的隨機(jī)數(shù)和會話ID,
  3. 客戶端確認(rèn) Client Handshake Finished:客戶端首先會驗證證書的有效性,如果沒有問題,客戶端會根據(jù)特定算法計算出 MasterSecret 作為后續(xù)對稱加密的私鑰,32 位隨機(jī)數(shù),編碼改變通知,此消息使用新的加密參數(shù)發(fā)送,驗證握手的完整性等。
  4. 服務(wù)端確認(rèn) Server Handshake Finished:服務(wù)端向客戶端回應(yīng)最后的確認(rèn)通知,包括:編碼改變通知,服務(wù)器握手結(jié)束通知等

通過四次握手,一個 TLS 安全連接建立??蛻舳撕头?wù)端通過握手協(xié)商出許多信息,例如:只有雙方才知道的隨機(jī)密鑰,傳輸過程采用的對稱加密算法(例如 AES 128 等)、壓縮算法等。TLS 安全連接的建立,最終實現(xiàn)了以下的效果:

  • 保障所有信息都是第三方無法竊聽(加密傳輸)
  • 無法篡改(一旦篡改通信算法會立刻發(fā)現(xiàn))
  • 無法冒充(證書驗證身份)的

這種處理方式對上層的用戶,雖然在傳輸性能上會有下降,但在功能上完全不會感知到有 TLS 的存在。建立在這層安全傳輸層之上的 HTTP 協(xié)議,就被稱為 “HTTP over SSL/TLS”,也即是大家所熟知的 HTTPS 了。

責(zé)任編輯:武曉燕 來源: 肖衛(wèi)衛(wèi)講編程
相關(guān)推薦

2021-01-29 08:19:50

HTTPS安全傳輸

2016-10-10 23:00:18

2011-08-01 10:36:01

2013-04-15 17:55:12

Windows認(rèn)證安全認(rèn)證

2013-04-16 10:33:58

Windows 安全認(rèn)微軟

2013-03-21 09:32:31

文件傳輸安全文件傳輸

2010-01-05 14:32:01

JSON 數(shù)據(jù)

2021-01-07 14:17:31

Springboot數(shù)據(jù)安全加密

2021-08-26 10:05:31

APP安全加密網(wǎng)絡(luò)攻擊

2016-11-29 15:22:47

協(xié)議應(yīng)用層安全層

2015-05-18 09:54:39

2020-08-06 00:14:16

Spring IoC依賴注入開發(fā)

2016-10-10 22:48:16

2009-11-26 13:12:01

2017-08-14 15:14:33

2019-12-13 10:42:03

LinuxSCP命令

2019-08-16 09:46:51

2022-10-28 18:36:18

2020-09-26 22:04:32

數(shù)據(jù)安全傳輸HTTPSHTTP 協(xié)議

2022-02-16 11:56:28

HTTPHTTPS數(shù)據(jù)傳輸
點贊
收藏

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