當前位置:首頁 » 密碼管理 » ssl加密過程

ssl加密過程

發布時間: 2023-01-02 12:06:51

A. SSL工作原理,SSL加密原理,SSL證書怎麼加密

SSL是用於驗證和加密網路通信的加密協議的原始名稱。正式地,SSL在前一段時間被稱為TLS的更新協議所取代。
當您收到SSL證書時,您將其安裝在您的伺服器上。您可以安裝一個中間證書,通過將它鏈接到CA的根證書來建立您的SSL證書的可信度。
根證書是自簽名的,構成了基於X.509的公鑰基礎設施(PKI)的基礎。支持用於安全Web瀏覽和電子簽名方案的HTTPS的PKI依賴於根證書。在X.509證書的其他應用程序中,證書的層次結構證明了證書的頒發有效性。該層次結構稱為證書「信任鏈」。

B. TLS加密過程

## SSL 證書類型

**certbot**

域名驗證(domain validated, DV證書)

組織驗證(organization validated,OV 證書):驗證組織是否正確

擴展驗證(extended validation EV證書):顯示友好

根證書-》二級證書-》主站點

## TLS加密過程

1. 驗證身份

2. 達成安全套件共識

3. 傳遞密鑰

4. 加密通訊

HTTPS採用混合加密演算法,即共享秘鑰加密(對稱加密)和公開秘鑰加密(非對稱加密)。

通信前准備工作:

A、數字證書認證機構的公開秘鑰(CA公鑰)已事先植入到瀏覽器里;

B、數字證書認證機構用自己的私有密鑰對伺服器的公開秘鑰做數字簽名,生成公鑰證書,並頒發給伺服器。

1、client hello

握手第一步是客戶端向服務端發送 Client Hello 消息,這個消息里包含了一個客戶端生成的隨機數 Random1、客戶端支持的加密套件(Support Ciphers)和 SSL Version 等信息。

2、server hello

服務端向客戶端發送 Server Hello 消息,這個消息會從 Client Hello 傳過來的 Support Ciphers 里確定一份加密套件,這個套件決定了後續加密和生成摘要時具體使用哪些演算法,另外還會生成一份隨機數 Random2。注意,至此客戶端和服務端都擁有了兩個隨機數(Random1+ Random2),這兩個隨機數會在後續生成對稱秘鑰時用到。

3、Certificate

這一步是服務端將自己的公鑰證書下發給客戶端。

4、Server Hello Done

Server Hello Done 通知客戶端 Server Hello 過程結束。

5、Certificate Verify

客戶端收到服務端傳來的公鑰證書後,先從 CA 驗證該證書的合法性(CA公鑰去解密公鑰證書),驗證通過後取出證書中的服務端公鑰,再生成一個隨機數 Random3,再用服務端公鑰非對稱加密 Random3生成 PreMaster Key。

6、Client Key Exchange

上面客戶端根據伺服器傳來的公鑰生成了 PreMaster Key,Client Key Exchange 就是將這個 key 傳給服務端,服務端再用自己的私鑰解出這個 PreMaster Key 得到客戶端生成的 Random3。至此,客戶端和服務端都擁有 Random1 + Random2 + Random3,兩邊再根據同樣的演算法就可以生成一份秘鑰,握手結束後的應用層數據都是使用這個秘鑰進行對稱加密。

為什麼要使用三個隨機數呢?這是因為 SSL/TLS 握手過程的數據都是明文傳輸的,並且多個隨機數種子來生成秘鑰不容易被破解出來。

C. ssl協議流程中使用加密的活動有哪些

對稱加密,公鑰加密,單向加秘,密鑰加密,PKl。

SSL加密的過程之前有些過,此處不再贅述。SSL加密,在過程中實際使用了對稱加密和非對稱加密 的結合。主要的考慮是先使用非對稱加密 進行連接,這樣做是為了避免中間人攻擊密鑰被劫持,但是非對稱加密 的效率比較低。所以一旦建立了安全的連接之後,就可以使用輕量的對稱加密。

從SSL 協議所提供的服務及其工作流程可以看出,SSL協議運行的基礎是商家對消費者信息保密的承諾,這就有利於商家而不利於消費者。在電子商務初級階段,由於運作電子商務的企業大多是信譽較高的大公在司,因此這問題還沒有充分暴露出來。但隨著電子商務的發展,各中小型公司也參與進來,這樣在電子支付過程中的單一認證問題就越來越突出。

D. HTTPS 加密演算法過程

1、HTTP 協議(HyperText Transfer Protocol,超文本傳輸協議):是客戶端瀏覽器或其他程序與Web伺服器之間的應用層通信協議 。

2、HTTPS 協議(HyperText Transfer Protocol over Secure Socket Layer):可以理解為HTTP+SSL/TLS, 即 HTTP 下加入 SSL 層,HTTPS 的安全基礎是 SSL,因此加密的詳細內容就需要 SSL,用於安全的 HTTP 數據傳輸。

3、SSL(Secure Socket Layer,安全套接字層):1994年為 Netscape 所研發,SSL 協議位於 TCP/IP 協議與各種應用層協議之間,為數據通訊提供安全支持。

4、TLS(Transport Layer Security,傳輸層安全):其前身是 SSL,它最初的幾個版本(SSL 1.0、SSL 2.0、SSL 3.0)。

如上圖所示 HTTPS 相比 HTTP 多了一層 SSL/TLS。

1、對稱加密

有流式、分組兩種,加密和解密都是使用的同一個密鑰。

例如:DES、AES-GCM、ChaCha20-Poly1305等

2、非對稱加密

加密使用的密鑰和解密使用的密鑰是不相同的,分別稱為:公鑰、私鑰,公鑰和演算法都是公開的,私鑰是保密的。非對稱加密演算法性能較低,但是安全性超強,由於其加密特性,非對稱加密演算法能加密的數據長度也是有限的。

例如:RSA、DSA、ECDSA、 DH、ECDHE

3、哈希演算法

將任意長度的信息轉換為較短的固定長度的值,通常其長度要比信息小得多,且演算法不可逆。

例如:MD5、SHA-1、SHA-2、SHA-256 等

4、數字簽名

簽名就是在信息的後面再加上一段內容(信息經過hash後的值),可以證明信息沒有被修改過。hash值一般都會加密後(也就是簽名)再和信息一起發送,以保證這個hash值不被修改。

C++音視頻開發學習資料 :點擊 音視頻開發(資料文檔+視頻教程+面試題)(FFmpeg+WebRTC+RTMP+RTSP+HLS+RTP)

HTTP協議在瀏覽器/伺服器間進行數據的傳輸是明文的,不做任何的加密,通俗來說,就是「裸奔」,這樣會產生什麼樣的問題那,我們來舉一個例子:

在這里插入圖片描述

上述我們通過兩個人物模仿了伺服器和客戶端的交互,我們可以看出,小明和小花之間進行數據通信的時候採用的是明文傳輸的、那麼此時很有可能被中間人獲取信息、並進行數據篡改,這種行為就叫 中間人攻擊。

所以 HTTP 傳輸面臨的風險有:

(1) 竊聽風險:黑客可以獲知通信內容。

(2) 篡改風險:黑客可以修改通信內容。

(3) 冒充風險:黑客可以冒充他人身份參與通信。

哈哈、此時你是不是不能很愉快的上網沖浪了呀,別擔心,我們此時可以對明文進行加密:

這樣是不是比原來安全多了呀!但是這樣就足夠安全了嗎?顯然不是的,如果小明和小花在第一次聊天的時候,信息被中間人截取到了,那麼中間人是不是也就有密鑰了,同樣可以對數據進行加解密和修改了那

這可怎麼辦那? 加密的數據還是不安全的啊? 別急,上面我們採用的是對稱加密(換句話說就是我們發送的密鑰技能加密、也能解密,那麼中間人只要拿到密鑰消息對他而言就是透明的了),我們還可以採用非對稱加密方式進行加密數據(非對稱加密一般都會有一個私鑰和公鑰組成。可以通過公鑰加密,私鑰解密,也可以通過私鑰加密,公鑰解密兩種方式) ,對密鑰的傳送在格外加一層保護,當小明和小花在建立通信的時候,小花會把公鑰KEY發送給小明,當小明拿到公鑰KEY 後,會自己生成一個 密鑰 KEY2 , 並用 KEY 對KEY2 進行加密(此時小明用的是公鑰加密)

在通信過程中,即使中間人一開始就獲取到了公鑰KEY ,但是他不知道私鑰,就對數據無法進行解密,仍舊是沒辦法獲取KEY2。這樣加密後,數據是不是就安全多了呀。這種情況下就可以和妹子愉快的進行聊天了嗎?別急、所謂道高一尺魔高一丈,常言道:流氓不可怕,就怕流氓有文化。這種狀態下我們的數據,相當來說是比較安全的,但是如果此時中間人獲取公鑰後,發送給小明一個偽公鑰,又會產生什麼問題那?

好吧,說到這里,大家是不是快恨死這個中間人了啊,哈哈~~~還有據俗話別忘記了,魔高一尺道高一丈,對於這種情況。我們可以藉助與第三方證書平台,證書平台具備產生證書的功能,伺服器(小花)可以去證書機構申請證書,證書機構通過小花提供的信息(網址、機構、法人等、公鑰),生成公鑰和私鑰(證書機構的),通過私鑰進行數據的非對稱加密生成證書、將證書頒發給小花。那麼此時小花就可以在進行數據交互的時候,傳遞證書了。

小明只需要知道證書的發證機構、就可以很方便的獲取到證書的公鑰、從而對證書進行校驗並獲取公鑰、然後進行後續的操作。

那麼此時小夥伴是不是又有疑問了,如果 中間人 獲取到證書、並偽造證書給小明、怎麼破???

不錯不錯、如果大家有這個想法的話,說明大家都在認真思考了。那麼我們假設中間人獲取到了證書、中間人也可以在證書機構獲取公鑰,並通過證書機構公鑰獲取 伺服器發送的公鑰,中間人此時也可以自己生成公鑰,並向證書機構申請證書、並發送偽證書給小明,但是因為證書是經過簽名認證的,包含(網址、機構、法人等、公鑰)等信息,小明在拿到偽證書後,通過證書公鑰很容易就發現證書是不合法的(網址、法人的信息可定不符,否則申請不到證書的)。

上述我們分享的內容就是HTTPS的主體思想,HTTPS增加了SSL安全層,上述介紹的所有認證流程都是在SSL安全層完成驗證的。今天我就分享HTTPS的實現原理就說這么多了。 ﹏

HTTPS 缺點:

(1)SSL 證書費用很高,以及其在伺服器上的部署、更新維護非常繁瑣。

(2)HTTPS 降低用戶訪問速度(多次握手)。

(3)網站改用HTTPS 以後,由HTTP 跳轉到 HTTPS 的方式增加了用戶訪問耗時(多數網站採用302跳轉)。

(4)HTTPS 涉及到的安全演算法會消耗 CPU 資源,需要增加大量機器(https訪問過程需要加解密)。

E. 什麼是SSL加密,什麼是TLS加密

SSL加密是Netscape公司所提出的安全保密協議,在瀏覽器和Web伺服器之間構造安全通道來進行數據傳輸,SSL運行在TCP/IP層之上、應用層之下,為應用程序提供加密數據通道,它採用了RC4、MD5以及RSA等加密演算法,使用40 位的密鑰,適用於商業信息的加密。

TLS是安全傳輸層協議。安全傳輸層協議(TLS)用於在兩個通信應用程序之間提供保密性和數據完整性。該協議由兩層組成: TLS 記錄協議(TLS Record)和 TLS 握手協議(TLS Handshake)。較低的層為 TLS 記錄協議,位於某個可靠的傳輸協議上面。

(5)ssl加密過程擴展閱讀:

SSL加密並不保護數據中心本身,而是確保了SSL加密設備的數據中心安全,可以監控企業中來往於數據中心的最終用戶流量。

從某個角度來看,數據中心管理員可以放心將加密裝置放在某個地方,需要使用時再進行應用,數據中心應該會有更合理的方法來應對利用SSL的惡意攻擊,需要找到SSL加密應用的最佳實踐。

TLS協議是可選的,必須配置客戶端和伺服器才能使用。主要有兩種方式實現這一目標:一個是使用統一的TLS協議通信埠(例如:用於HTTPS的埠443)。另一個是客戶端請求伺服器連接到TLS時使用特定的協議機制(例如:郵件、新聞協議和STARTTLS)。

一旦客戶端和伺服器都同意使用TLS協議,他們通過使用一個握手過程協商出一個有狀態的連接以傳輸數據。通過握手,客戶端和伺服器協商各種參數用於創建安全連接。

參考資料來源:網路-SSL加密技術

參考資料來源:網路-TLS

F. 基於國密演算法SM2 SSL證書的https加密, 如何實現

SSL握手協議的過程
國密SSL握手協議過程如下:
(1)交換Hello消息來協商密碼套件,交換隨機數,決定是否會話重用;
(2)交換必要的參數,協商預主密鑰
(3)交換證書信息,用於驗證對方
(4)使用預主密鑰和交換的隨機數生成主密鑰
(5)向記錄層提供安全參數
(6)驗證雙方計算的安全參數的一致性、握手過程的真實性和完整性

G. SSL工作原理,SSL加密原理,SSL證書怎麼加密

TLS/SSL的功能實現主要依賴於三類基本演算法:散列函數 Hash、對稱加密和非對稱加密,其利用非對稱加密實現身份認證和密鑰協商,對稱加密演算法採用協商的密鑰對數據加密,基於散列函數驗證信息的完整性。

H. SSL加密技術的工作方式

Web伺服器向瀏覽器/伺服器發送其SSL證書的副本。瀏覽器/伺服器檢查它是否信任SSL證書。如果是,它會向Web伺服器發送一條消息。Web伺服器發回經過數字簽名的確認以啟動SSL加密會話。

I. SSL常見加密演算法

一、加密演算法常見分類

根據密鑰類型不同將現代密碼技術分為兩類:對稱加密演算法(秘密鑰匙加密)和非對稱加密演算法(公開密鑰加密)。

對稱鑰匙加密系統是加密和解密均採用同一把秘密鑰匙,而且通信雙方都必須獲得這把鑰匙,並保持鑰匙的秘密。

非對稱密鑰加密系統採用的加密鑰匙(公鑰)和解密鑰匙(私鑰)是不同的。

1)對稱加密演算法

DES(Data Encryption Standard):數據加密標准,速度較快,適用於加密大量數據的場合。

3DES(Triple DES):是基於DES,對一塊數據用三個不同的密鑰進行三次加密,強度更高。

AES(Advanced Encryption Standard):高級加密標准,是下一代的加密演算法標准,速度快,安全級別高;

2)非對稱加密演算法

RSA:由 RSA 公司發明,是一個支持變長密鑰的公共密鑰演算法,需要加密的文件塊的長度也是可變的;

DSA(Digital Signature Algorithm):數字簽名演算法,是一種標準的 DSS(數字簽名標准);

ECC(Elliptic Curves Cryptography):橢圓曲線密碼編碼學。

3)單向加密演算法

BASE64 嚴格地說,屬於編碼格式,而非加密演算法

MD5(Message Digest algorithm 5,信息摘要演算法)

SHA(Secure Hash Algorithm,安全散列演算法)

HMAC(Hash Message Authentication Code,散列消息鑒別碼)

二 .特點

DES,3DES,AES 加密數據,只有一個密碼,密鑰長度不同。

PBE Password-based encryption 對稱加密中基於密碼加密,口令用戶掌管不藉助任何物理媒介,採用隨機數雜湊多重加密保證數據安全。

RSA 即能用戶數據加密也能用於數字簽名,同時有公鑰和私鑰。數字簽名的意義在於,對傳輸過來的數據進行校驗確保傳輸過程中不被修改。

單向加密中MD5,SHA,HMAC為非可逆加密,單向散列一般用於產生信息摘要。通常作為加密的基礎。單向加密主要用途為校驗傳輸過程中是否被修改過。

三.演算法比較

在管理方面:公鑰密碼演算法只需要較少的資源就可以實現目的,在密鑰的分配上,兩者之間相差一個指數級別(一個是n一個是n2)。所以私鑰密碼演算法不適應廣域網的使用,而且更重要的一點是它不支持數字簽名。

在安全方面:由於公鑰密碼演算法基於未解決的數學難題,在破解上幾乎不可能。對於私鑰密碼演算法,到了AES雖說從理論來說是不可能破解的,但從計算機的發展角度來看。公鑰更具有優越性。

-從速度上:AES的軟體實現速度已經達到了每秒數兆或數十兆比特。是公鑰的100倍,如果用硬體來實現的話這個比值將擴大到1000倍。

四、參考

http://www.willrey.com/support/ssl_DES.html

J. ssl會話建立的過程(原理)是什麼

ssl會話建立過程主要就是加密和解密的過程。主要是利用了非對稱加密來保證密碼的安全,利用簽名來保證證書和信息沒有被修改。
首先是客戶端和伺服器端加密技術的溝通,統一後面通信適用的加密技術。
第二步是伺服器將自己的身份以證書的方式發送給客戶端。同時非對稱加密的公鑰則是附帶在證書的信息中。證書本身也附帶一個證書電子簽名,這個簽名用來驗證證書的完整性和真實性,可以防止證書被串改。另外,證書還有個有效期。
第三部客戶端發送自己的證書給伺服器端。
到這里雙方完成了非對稱加密的key交換。
第四部是證書的驗證工作,雙方對對方的證書完成驗證的工作。同時客戶端會使用之前協商好的加密套件和session secret加密一段Finish的數據傳送給服務端,此數據是為了在正式傳輸應用數據之前對剛剛握手建立起來的加解密通道進行驗證。
第五部是最後一步,服務端在接收到客戶端傳過來的PreMaster加密數據之後,使用私鑰對這段加密數據進行解密,並對數據進行驗證,也會使用跟客戶端同樣的方式生成session secret,一切准備好之後,會給客戶端發送一個ChangeCipherSpec,告知客戶端已經切換到協商過的加密套件狀態,准備使用加密套件和session secret加密數據了。之後,服務端也會使用session secret加密後一段Finish消息發送給客戶端,以驗證之前通過握手建立起來的加解密通道是否成功。

熱點內容
javafor循環嵌套if 發布:2025-08-18 23:28:21 瀏覽:299
西裝配領演算法 發布:2025-08-18 23:26:38 瀏覽:501
ecshopsql漏洞 發布:2025-08-18 23:17:01 瀏覽:799
mac臨時文件夾 發布:2025-08-18 23:14:55 瀏覽:766
阿里雲搭建傳奇伺服器 發布:2025-08-18 23:14:06 瀏覽:454
硬體加密卡 發布:2025-08-18 23:08:17 瀏覽:988
農信交易密碼指的是什麼密碼 發布:2025-08-18 23:03:20 瀏覽:586
數組存儲空間 發布:2025-08-18 23:01:50 瀏覽:748
如解壓游戲 發布:2025-08-18 22:57:02 瀏覽:577
如何復制頁游密碼 發布:2025-08-18 22:49:13 瀏覽:387