偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

一文帶你了解 SSL 協(xié)議

網(wǎng)絡 通信技術
SSL,全稱Secure Sockets Layer 安全套接字協(xié)議,一般我們在學習 SSL 的時候,都會和 TLS一起來學習的,為什么呢?

什么是SSL

簡稱是SSL,全稱Secure Sockets Layer 安全套接字協(xié)議,一般我們在學習 SSL 的時候,都會和 TLS一起來學習的,為什么呢?因為 SSL 和 TLS 都是為網(wǎng)絡通信提供安全及數(shù)據(jù)完整性的一種安全協(xié)議。TLS與SSL在傳輸層與應用層之間對網(wǎng)絡連接進行加密。

我們先看 SSL協(xié)議,然后在看 TLS協(xié)議。

SSL協(xié)議位于 TCP/IP 協(xié)議與各種應用層協(xié)議之間,為數(shù)據(jù)通訊提供安全支持。SSL 協(xié)議可分為兩層:

  • SSL記錄協(xié)議(SSL Record Protocol):

它建立在可靠的傳輸協(xié)議(如TCP)之上,為高層協(xié)議提供數(shù)據(jù)封裝、壓縮、加密等基本功能的支持。

  • SSL握手協(xié)議(SSL Handshake Protocol):

它建立在SSL記錄協(xié)議之上,用于在實際的數(shù)據(jù)傳輸開始前,通訊雙方進行身份認證、協(xié)商加密算法、交換加密密鑰等。

要說 SSL 協(xié)議我們先來看看結構,

SSL的體系結構中包含兩個協(xié)議子層,其中底層是

  • SSL記錄協(xié)議層(SSL Record Protocol Layer);
  • 高層是SSL握手協(xié)議層(SSL HandShake Protocol Layer)

SSL記錄協(xié)議層的作用是為高層協(xié)議提供基本的安全服務的,而SSL握手協(xié)議層是用于SSL管理信息的交換,允許應用協(xié)議傳送數(shù)據(jù)之間相互驗證,協(xié)商加密算法和生成密鑰的。

SSL的工作過程

SSL 的工作過程實際上是分為了兩個部分,一個是發(fā)送,而另一個就是接收,每個部分所處理的事情也是不一樣的,畢竟一個是發(fā)送一個是接收。

發(fā)送過程:

(1)從上層接受要發(fā)送的數(shù)據(jù)(包括各種消息和數(shù)據(jù));

(2)對信息進行分段,分成若干記錄;

(3)使用指定的壓縮算法進行數(shù)據(jù)壓縮;

(4)使用指定的MAC算法生成MAC;

(5)使用指定的加密算法進行數(shù)據(jù)加密;

(6)添加SSL記錄協(xié)議的頭,發(fā)送數(shù)據(jù)。

到了這個位置,發(fā)送過程就已經(jīng)結束,接下來就是接收的過程了。

接收過程:

(1)接收數(shù)據(jù),從SSL記錄協(xié)議的頭中獲取相關信息;

(2)使用指定的解密算法解密數(shù)據(jù);

(3)使用指定的MAC算法校驗MAC;

(4)使用壓縮算法對數(shù)據(jù)解壓縮(在需要進行);

(5)將記錄進行數(shù)據(jù)重組;

(6)將數(shù)據(jù)發(fā)送給高層。

(7)SSL記錄協(xié)議處理的最后一個步驟是附加一個SSL記錄協(xié)議的頭,以便構成一個SSL記錄。SSL記錄協(xié)議頭中包含了SSL記錄協(xié)議的若干控制信息。

如果面試官問你,簡述SSL的工作流程?

如果你這么說,感覺就不是那么的給力,你這時候就可以給他區(qū)分一下了,就是服務器認證階段,和用戶認證的階段了。

服務器認證階段:

(1)客戶端向服務器發(fā)送一個開始信息“Hello”以便開始一個新的會話連接;

(2)服務器根據(jù)客戶的信息確定是否需要生成新的主密鑰,如需要則服務器在響應客戶的“Hello”信息時將包含生成主密鑰所需的信息;

(3)客戶根據(jù)收到的服務器響應信息,產(chǎn)生一個主密鑰,并用服務器的公開密鑰加密后傳給服務器;

(4)服務器恢復該主密鑰,并返回給客戶一個用主密鑰認證的信息,以此讓客戶認證服務器。

用戶認證階段:

在此之前,服務器已經(jīng)通過了客戶認證,這一階段主要完成對客戶的認證。經(jīng)認證的 服務器發(fā)送一個提問給客戶,客戶則返回(數(shù)字)簽名后的提問和其公開密鑰,從而向服務器提供認證。

把這玩意給面試官一說,沒啥毛病吧。

SSL 的加密方式

說到加密,這就有點深入了,加密算法主要分為了兩大類。

第一類:

對稱加密

第二類:

非對稱加密

什么事對稱加密呢?

對稱式加密實際上就是加密和解密使用同一個密鑰,通常稱之為“Session Key ”這種加密技術在當今被廣泛采用,如美國政府所采用的DES加密標準就是一種典型的“對稱式”加密法,它的Session Key長度為56bits。

而非對稱加密就稍微復雜了,

非對稱式加密就是加密和解密所使用的不是同一個密鑰,通常有兩個密鑰,稱為“公鑰”和“私鑰”,它們兩個必需配對使用,否則不能打開加密文件。這里的“公鑰”是指可以對外公布的,“私鑰”則不能,只能由持有人一個人知道。它的優(yōu)越性就在這里,因為對稱式的加密方法如果是在網(wǎng)絡上傳輸加密文件就很難不把密鑰告訴對方,不管用什么方法都有可能被別人竊聽到。而非對稱式的加密方法有兩個密鑰,且其中的“公鑰”是可以公開的,也就不怕別人知道,收件人解密時只要用自己的私鑰即可以,這樣就很好地避免了密鑰的傳輸安全性問題。

如果使用的話,各位想怎么是用呢?

根據(jù)剛才阿粉說的服務器認證和用戶認證了,那么就繼續(xù)來分析一下這個過程中 SSL 是如何加密的。

簡單說:(1)認證服務器 (2)協(xié)商會話秘鑰 (3)加密傳輸

但是如果你敢這么說,你會被錘死。

強制在分解一下:

第一步:客戶端給出支持SSL協(xié)議版本號,一個客戶端隨機數(shù)(Client random,請注意這是第一個隨機數(shù)),客戶端支持的加密方法等信息;

第二步:服務端收到信息后,確認雙方使用的加密方法,并返回數(shù)字證書,一個服務器生成的隨機數(shù)(Server random,注意這是第二個隨機數(shù))等信息;

第三步:客戶端確認數(shù)字證書的有效性,然后生成一個新的隨機數(shù)(Premaster secret),然后使用數(shù)字證書中的公鑰,加密這個隨機數(shù),發(fā)給服務端。

第四步:服務端使用自己的私鑰,獲取客戶端發(fā)來的隨機數(shù)(即Premaster secret);(第三、四步就是非對稱加密的過程了)

第五步:客戶端和服務端通過約定的加密方法(通常是AES算法),使用前面三個隨機數(shù),生成對話密鑰,用來加密接下來的通信內容;

這是不是就完成了呢?你學會了么?


責任編輯:武曉燕 來源: Java極客技術
相關推薦

2023-12-06 16:28:56

2023-11-06 08:16:19

APM系統(tǒng)運維

2022-11-11 19:09:13

架構

2023-11-20 08:18:49

Netty服務器

2022-02-25 07:34:36

MQTT協(xié)議RabbitMQ

2023-11-08 08:15:48

服務監(jiān)控Zipkin

2023-10-27 08:15:45

2022-05-16 10:49:28

網(wǎng)絡協(xié)議數(shù)據(jù)

2022-04-28 09:22:46

Vue灰度發(fā)布代碼

2025-09-12 16:31:04

TiDBMCP ServerAI工具

2020-10-08 14:32:57

大數(shù)據(jù)工具技術

2022-09-29 13:09:38

DataClassPython代碼

2025-01-15 09:06:57

servlet服務器Java

2023-08-26 20:56:02

滑動窗口協(xié)議

2020-02-02 15:14:24

HTTP黑科技前端

2019-07-09 08:29:51

TCPIP協(xié)議

2021-07-08 12:32:58

2019-08-06 09:00:00

JavaScript函數(shù)式編程前端

2024-05-07 08:49:36

Hadoop數(shù)據(jù)存儲-分布式存儲

2024-05-27 00:00:00

.NET游戲引擎C#
點贊
收藏

51CTO技術棧公眾號