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

SSL協(xié)議詳解——SSL真的安全嗎?

安全
最近在看《密碼學與網(wǎng)絡安全》相關的書籍,這篇文章主要詳細介紹一下著名的網(wǎng)絡安全協(xié)議SSL。在開始SSl介紹之前,先給大家介紹幾個密碼學的概念和相關的知識。

 背景介紹

最近在看《密碼學與網(wǎng)絡安全》相關的書籍,這篇文章主要詳細介紹一下著名的網(wǎng)絡安全協(xié)議SSL。

在開始SSl介紹之前,先給大家介紹幾個密碼學的概念和相關的知識。

[[274508]]

1、密碼學的相關概念

  • 密碼學(cryptography):目的是通過將信息編碼使其不可讀,從而達到安全性。
  • 明文(plain text):發(fā)送人、接受人和任何訪問消息的人都能理解的消息。
  • 密文(cipher text):明文消息經(jīng)過某種編碼后,得到密文消息。
  • 加密(encryption):將明文消息變成密文消息。
  • 解密(decryption):將密文消息變成明文消息。
  • 算法:取一個輸入文本,產(chǎn)生一個輸出文本。
  • 加密算法:發(fā)送方進行加密的算法。
  • 解密算法:接收方進行解密的算法。
  • 密鑰(key):只有發(fā)送方和接收方理解的消息
  • 對稱密鑰加密(Symmetric Key Cryptography):加密與解密使用相同密鑰。
  • 非對稱密鑰加密(Asymmetric Key Cryptography):加密與解密使用不同密鑰。

2、相關的加密算法介紹

DES算法即數(shù)據(jù)加密標準,也稱為數(shù)據(jù)加密算法。加密過程如下:

SSL協(xié)議詳解——SSL真的安全嗎?

在SSL中會用到分組DES、三重DES算法等加密算法對數(shù)據(jù)進行加密。當然可以選用其他非DES加密算法,視情況而定,后面會詳細介紹。

3、密鑰交換算法

使用對稱加密算法時,密鑰交換是個大難題,所以Diffie和Hellman提出了著名的Diffie-Hellman密鑰交換算法。

Diffie-Hellman密鑰交換算法原理:

(1)Alice與Bob確定兩個大素數(shù)n和g,這兩個數(shù)不用保密

(2)Alice選擇另一個大隨機數(shù)x,并計算A如下:A=gx mod n

(3)Alice將A發(fā)給Bob

(4)Bob選擇另一個大隨機數(shù)y,并計算B如下:B=gy mod n

(5)Bob將B發(fā)給Alice

(6)計算秘密密鑰K1如下:K1=Bx mod n

(7)計算秘密密鑰K2如下:K2=Ay mod nK1=K2,因此Alice和Bob可以用其進行加解密

RSA加密算法是基于這樣的數(shù)學事實:兩個大素數(shù)相乘容易,而對得到的乘積求因子則很難。加密過程如下:

(1)選擇兩個大素數(shù)P、Q

(2)計算N=P*Q

(3)選擇一個公鑰(加密密鑰)E,使其不是(P-1)與(Q-1)的因子

(4)選擇私鑰(解密密鑰)D,滿足如下條件: (D*E) mod (P-1)(Q-1)=1

(5)加密時,明文PT計算密文CT如下: CT=PTE mod N

(6)解密時,從密文CT計算明文PT如下: PT=CTDmodN 這也是SSL中會用一種密鑰交換算法。

3、散列算法:

主要用于驗證數(shù)據(jù)的完整性,即保證時消息在發(fā)送之后和接收之前沒有被篡改對于SSL中使用到的散列算法有MD5、SHA-1。

4、數(shù)字證書:

數(shù)字證書其實就是一個小的計算機文件,其作用類似于我們的身份證、護照,用于證明身份,在SSL中,使用數(shù)字證書來證明自己的身份,而不是偽造的。

5、簡單的總結(jié):

在SSL中會使用密鑰交換算法交換密鑰;使用密鑰對數(shù)據(jù)進行加密;使用散列算法對數(shù)據(jù)的完整性進行驗證,使用數(shù)字證書證明自己的身份。好了,下面開始介紹SSL協(xié)議。

SSL介紹:

安全套接字(Secure Socket Layer,SSL)協(xié)議是Web瀏覽器與Web服務器之間安全交換信息的協(xié)議,提供兩個基本的安全服務:鑒別與保密。

SSL是Netscape于1994年開發(fā)的,后來成為了世界上最著名的web安全機制,所有主要的瀏覽器都支持SSL協(xié)議。

目前有三個版本:2、3、3.1,最常用的是第3版,是1995年發(fā)布的。

SSL協(xié)議的三個特性

① 保密:在握手協(xié)議中定義了會話密鑰后,所有的消息都被加密。

② 鑒別:可選的客戶端認證,和強制的服務器端認證。

③ 完整性:傳送的消息包括消息完整性檢查(使用MAC)。

SSL的位置

SSL介于應用層和TCP層之間。應用層數(shù)據(jù)不再直接傳遞給傳輸層,而是傳遞給SSL層,SSL層對從應用層收到的數(shù)據(jù)進行加密,并增加自己的SSL頭。

SSL協(xié)議詳解——SSL真的安全嗎?

SSL的工作原理

握手協(xié)議(Handshake protocol)

記錄協(xié)議(Record protocol)

警報協(xié)議(Alert protocol)

1、握手協(xié)議

握手協(xié)議是客戶機和服務器用SSL連接通信時使用的第一個子協(xié)議,握手協(xié)議包括客戶機與服務器之間的一系列消息。SSL中最復雜的協(xié)議就是握手協(xié)議。該協(xié)議允許服務器和客戶機相互驗證,協(xié)商加密和MAC算法以及保密密鑰,用來保護在SSL記錄中發(fā)送的數(shù)據(jù)。握手協(xié)議是在應用程序的數(shù)據(jù)傳輸之前使用的。

每個握手協(xié)議包含以下3個字段

(1)Type:表示10種消息類型之一

(2)Length:表示消息長度字節(jié)數(shù)

(3)Content:與消息相關的參數(shù)

 

SSL協(xié)議詳解——SSL真的安全嗎?

 

握手協(xié)議的4個階段

SSL協(xié)議詳解——SSL真的安全嗎?

1.1 建立安全能力

SSL握手的第一階段啟動邏輯連接,建立這個連接的安全能力。首先客戶機向服務器發(fā)出client hello消息并等待服務器響應,隨后服務器向客戶機返回server hello消息,對client hello消息中的信息進行確認。

Client hello消息包括Version,Random,Session id,Cipher suite,Compression method等信息。

 SSL協(xié)議詳解——SSL真的安全嗎?

 

ClientHello 客戶發(fā)送CilentHello信息,包含如下內(nèi)容:

(1)客戶端可以支持的SSL最高版本號

(2)一個用于生成主秘密的32字節(jié)的隨機數(shù)。(等會介紹主秘密是什么)

(3)一個確定會話的會話ID。

(4)一個客戶端可以支持的密碼套件列表。

密碼套件格式:每個套件都以“SSL”開頭,緊跟著的是密鑰交換算法。用“With”這個詞把密鑰交換算法、加密算法、散列算法分開,例如:SSL_DHE_RSA_WITH_DES_CBC_SHA, 表示把DHE_RSA(帶有RSA數(shù)字簽名的暫時Diffie-HellMan)定義為密鑰交換算法;把DES_CBC定義為加密算法;把SHA定義為散列算法。

(5)一個客戶端可以支持的壓縮算法列表。

ServerHello服務器用ServerHello信息應答客戶,包括下列內(nèi)容

(1)一個SSL版本號。取客戶端支持的最高版本號和服務端支持的最高版本號中的較低者。

(2)一個用于生成主秘密的32字節(jié)的隨機數(shù)。(客戶端一個、服務端一個)

(3)會話ID

(4)從客戶端的密碼套件列表中選擇的一個密碼套件

(5)從客戶端的壓縮方法的列表中選擇的壓縮方法

這個階段之后,客戶端服務端知道了下列內(nèi)容:

(1)SSL版本

(2)密鑰交換、信息驗證和加密算法

(3)壓縮方法

(4)有關密鑰生成的兩個隨機數(shù)。

1.2 服務器鑒別與密鑰交換

服務器啟動SSL握手第2階段,是本階段所有消息的唯一發(fā)送方,客戶機是所有消息的唯一接收方。該階段分為4步:

(a)證書:服務器將數(shù)字證書和到根CA整個鏈發(fā)給客戶端,使客戶端能用服務器證書中的服務器公鑰認證服務器。

(b)服務器密鑰交換(可選):這里視密鑰交換算法而定

(c)證書請求:服務端可能會要求客戶自身進行驗證。

(d)服務器握手完成:第二階段的結(jié)束,第三階段開始的信號

SSL協(xié)議詳解——SSL真的安全嗎?

這里重點介紹一下服務端的驗證和密鑰交換。這個階段的前面的(a)證書 和(b)服務器密鑰交換是基于密鑰交換方法的。而在SSL中密鑰交換算法有6種:無效(沒有密鑰交換)、RSA、匿名Diffie-Hellman、暫時Diffie-Hellman、固定Diffie-Hellman、Fortezza。

在階段1過程客戶端與服務端協(xié)商的過程中已經(jīng)確定使哪種密鑰交換算法。

如果協(xié)商過程中確定使用RSA交換密鑰,那么過程如下圖:

SSL協(xié)議詳解——SSL真的安全嗎?

這個方法中,服務器在它的第一個信息中,發(fā)送了RSA加密/解密公鑰證書。不過,因為預備主秘密是由客戶端在下一個階段生成并發(fā)送的,所以第二個信息是空的。注意,公鑰證書會進行從服務器到客戶端的驗證。當服務器收到預備主秘密時,它使用私鑰進行解密。服務端擁有私鑰是一個證據(jù),可以證明服務器是一個它在第一個信息發(fā)送的公鑰證書中要求的實體。

其他的幾種密鑰交換算法這里就不介紹了。可以參考Behrouz A.Forouzan著的《密碼學與網(wǎng)絡安全》。

1.3 客戶機鑒別與密鑰交換:

SSL協(xié)議詳解——SSL真的安全嗎?

客戶機啟動SSL握手第3階段,是本階段所有消息的唯一發(fā)送方,服務器是所有消息的唯一接收方。該階段分為3步:

(a)證書(可選):為了對服務器證明自身,客戶要發(fā)送一個證書信息,這是可選的,在IIS中可以配置強制客戶端證書認證。

(b)客戶機密鑰交換(Pre-master-secret):這里客戶端將預備主密鑰發(fā)送給服務端,注意這里會使用服務端的公鑰進行加密。

(c)證書驗證(可選),對預備秘密和隨機數(shù)進行簽名,證明擁有(a)證書的公鑰。

下面也重點介紹一下RSA方式的客戶端驗證和密鑰交換。

SSL協(xié)議詳解——SSL真的安全嗎?

這種情況,除非服務器在階段II明確請求,否則沒有證書信息。客戶端密鑰交換方法包括階段II收到的由RSA公鑰加密的預備主密鑰。

階段III之后,客戶要有服務器進行驗證,客戶和服務器都知道預備主密鑰。

1.4 完成

 

SSL協(xié)議詳解——SSL真的安全嗎?

客戶機啟動SSL握手第4階段,使服務器結(jié)束。該階段分為4步,前2個消息來自客戶機,后2個消息來自服務器。

1.5 密鑰生成的過程

這樣握手協(xié)議完成,下面看下什么是預備主密鑰,主密鑰是怎么生成的。為了保證信息的完整性和機密性,SSL需要有六個加密秘密:四個密鑰和兩個IV。為了信息的可信性,客戶端需要一個密鑰(HMAC),為了加密要有一個密鑰,為了分組加密要一個IV,服務也是如此。SSL需要的密鑰是單向的,不同于那些在其他方向的密鑰。如果在一個方向上有攻擊,這種攻擊在其他方向是沒影響的。生成過程如下:

SSL協(xié)議詳解——SSL真的安全嗎?

 

SSL協(xié)議詳解——SSL真的安全嗎?
SSL協(xié)議詳解——SSL真的安全嗎?

2、記錄協(xié)議

記錄協(xié)議在客戶機和服務器握手成功后使用,即客戶機和服務器鑒別對方和確定安全信息交換使用的算法后,進入SSL記錄協(xié)議,記錄協(xié)議向SSL連接提供兩個服務:

(1)保密性:使用握手協(xié)議定義的秘密密鑰實現(xiàn)

(2)完整性:握手協(xié)議定義了MAC,用于保證消息完整性

記錄協(xié)議的過程:

SSL協(xié)議詳解——SSL真的安全嗎?

3、警報協(xié)議

客戶機和服務器發(fā)現(xiàn)錯誤時,向?qū)Ψ桨l(fā)送一個警報消息。如果是致命錯誤,則算法立即關閉SSL連接,雙方還會先刪除相關的會話號,秘密和密鑰。每個警報消息共2個字節(jié),第1個字節(jié)表示錯誤類型,如果是警報,則值為1,如果是致命錯誤,則值為2;第2個字節(jié)制定實際錯誤類型。

總結(jié)

SSL中,使用握手協(xié)議協(xié)商加密和MAC算法以及保密密鑰 ,使用握手協(xié)議對交換的數(shù)據(jù)進行加密和簽名,使用警報協(xié)議定義數(shù)據(jù)傳輸過程中,出現(xiàn)問題如何去解決。

整個過程比較復雜,如果大家有不理解和我敘述不周的地方,歡迎大家指正出來!

 

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2010-06-21 15:26:04

2010-07-02 11:59:00

2010-11-23 09:26:57

2010-07-30 16:02:56

2022-05-25 09:52:36

車聯(lián)網(wǎng)通信安全SSL/TLS

2010-06-10 14:25:20

2021-05-23 12:18:06

私鑰SSL數(shù)據(jù)安全

2009-11-06 13:34:53

2012-05-28 09:39:38

2024-03-26 12:08:20

加密NginxHTTP

2009-07-02 09:15:06

apachefreebsdssl

2015-05-13 09:45:13

2012-03-01 11:20:45

2015-05-20 16:53:49

網(wǎng)絡·安全技術周刊

2009-08-14 13:27:43

2011-08-29 09:45:09

2022-02-24 07:34:10

SSL協(xié)議加密

2009-11-13 15:08:11

2009-08-27 17:23:57

SSL證書網(wǎng)站安全

2011-12-22 15:51:06

SSLVPN
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美一区二区三区四区视频 | 久久久久亚洲 | 日日操夜夜操天天操 | 天天操网 | 国产精品久久久久久久久久 | 中文字幕亚洲一区 | 久草青青草 | 日本视频中文字幕 | 在线资源视频 | 综合五月 | 亚洲欧洲中文日韩 | 中文在线一区二区 | av大全在线 | 亚洲电影一区二区三区 | 欧美日韩亚洲一区 | 精品在线一区 | 亚洲男人天堂 | 国产精品一卡二卡三卡 | av天空| 蜜桃久久| 欧美视频精品 | 中文精品视频 | 91国产精品 | 成人福利视频 | 黄色一级片在线播放 | 亚洲三级在线观看 | 国产激情自拍视频 | 欧美国产日韩精品 | 免费av在线网站 | 欧美成人一区二免费视频软件 | av手机在线免费观看 | 视频一二三区 | 久草在线高清 | 精品国产乱码久久久久久1区2区 | 天啪| 成人免费在线视频 | 国产精品日日摸夜夜添夜夜av | 久久99精品久久久久婷婷 | 欧美日韩在线精品 | 91精品国产91久久久久久最新 | 综合色播 |