亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 課堂 > 網絡協議 > 正文

圖解安全套接字SSL協議的工作原理

2020-10-24 11:54:28
字體:
來源:轉載
供稿:網友

  背景介紹   

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

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

  1、密碼學的相關概念

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

  2、相關的加密算法介紹

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

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

  3、密鑰交換算法

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

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

(1)Alice與Bob確定兩個大素數n和g,這兩個數不用保密(2)Alice選擇另一個大隨機數x,并計算A如下:A=gx mod n(3)Alice將A發給Bob(4)Bob選擇另一個大隨機數y,并計算B如下:B=gy mod n(5)Bob將B發給Alice(6)計算秘密密鑰K1如下:K1=Bx mod n(7)計算秘密密鑰K2如下:K2=Ay mod nK1=K2,因此Alice和Bob可以用其進行加解密 

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

(1)選擇兩個大素數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、散列算法: 

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

  4、數字證書:

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

  5、簡單的總結:

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

  SSL介紹:

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

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

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

  SSL協議的三個特性

 ?、?nbsp;保密:在握手協議中定義了會話密鑰后,所有的消息都被加密。

 ?、?nbsp;鑒別:可選的客戶端認證,和強制的服務器端認證。

 ?、?nbsp;完整性:傳送的消息包括消息完整性檢查(使用MAC)。

  SSL的位置

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

  SSL的工作原理

  握手協議(Handshake protocol)

  記錄協議(Record protocol)

  警報協議(Alert protocol)

  1、握手協議

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

  每個握手協議包含以下3個字段

 ?。?)Type:表示10種消息類型之一

 ?。?)Length:表示消息長度字節數

 ?。?)Content:與消息相關的參數

  握手協議的4個階段

  1.1 建立安全能力

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

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

  ClientHello 客戶發送CilentHello信息,包含如下內容:

 ?。?)客戶端可以支持的SSL最高版本號

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

 ?。?)一個確定會話的會話ID。

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

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

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

   ServerHello服務器用ServerHello信息應答客戶,包括下列內容

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

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

 ?。?)會話ID

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

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

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

 ?。?)SSL版本

 ?。?)密鑰交換、信息驗證和加密算法

 ?。?)壓縮方法

 ?。?)有關密鑰生成的兩個隨機數。

  1.2 服務器鑒別與密鑰交換

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

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

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

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

 ?。╠)服務器握手完成:第二階段的結束,第三階段開始的信號

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

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

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

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

  其他的幾種密鑰交換算法這里就不介紹了??梢詤⒖糂ehrouz A.Forouzan著的《密碼學與網絡安全》。

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

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

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

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

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

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

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

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

  1.4 完成

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

  1.5 密鑰生成的過程

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

  2、記錄協議 

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

 ?。?)保密性:使用握手協議定義的秘密密鑰實現

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

  記錄協議的過程:

  3、警報協議

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

  總結

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美性xxxxxxxxx| 国产第一区电影| 亚洲国产精品女人久久久| 91亚洲精品久久久| 久久综合国产精品台湾中文娱乐网| 色综合久久88色综合天天看泰| 欧洲成人在线视频| 亲爱的老师9免费观看全集电视剧| 亚洲国产精品成人va在线观看| 欧美一级视频免费在线观看| 久久人人爽人人爽人人片av高请| 欧美在线观看一区二区三区| 欧美丝袜一区二区| 欧美一区二区视频97| 欧美精品www| 亚洲成人黄色网址| 国产精品久久久久久av下载红粉| 久久久国产精品免费| 久久艳片www.17c.com| 国产精品久久久久久五月尺| 日韩精品黄色网| 久久久精品国产| 亚洲精品国产福利| 国产精品99久久久久久白浆小说| 欧美成人一区二区三区电影| 日韩成人中文字幕在线观看| 国产日韩欧美影视| 亚洲成人久久一区| 亚洲香蕉伊综合在人在线视看| 最近的2019中文字幕免费一页| 日韩精品高清视频| 国产精品成人av在线| 国产精品aaa| 欧美与黑人午夜性猛交久久久| 奇门遁甲1982国语版免费观看高清| 欧美精品videos| 国产精品老女人精品视频| 日本sm极度另类视频| 国产午夜精品久久久| 国产午夜精品全部视频在线播放| 国产香蕉一区二区三区在线视频| 日韩精品中文字幕在线播放| 久久久久久久国产精品| 成人av色在线观看| 久久久久久久香蕉网| 精品国产成人在线| 欧美精品激情视频| 国产精品视频网站| 国内精品久久影院| 91九色国产社区在线观看| 成人网欧美在线视频| 日韩欧美国产高清91| 亚洲国产日韩一区| 亚洲精品国产精品国自产观看浪潮| 欧美激情2020午夜免费观看| 欧美在线视频免费| 亚洲人成电影网| 亚洲加勒比久久88色综合| 欧美性xxxxxx| 在线观看国产精品淫| 欧美高清视频免费观看| 欧美在线一区二区三区四| 精品亚洲va在线va天堂资源站| 欧美性开放视频| 日韩欧美精品网站| 国产一区二区三区高清在线观看| 亚洲片在线观看| 欧美亚洲激情视频| 97久久精品国产| 欧美高跟鞋交xxxxxhd| 亚洲精品一二区| 欧美一区二区三区艳史| 欧美壮男野外gaytube| 久久精品91久久久久久再现| 亚洲另类图片色| 亚洲欧美日韩精品| 亚洲成人免费在线视频| 国产精品免费看久久久香蕉| 成人av色在线观看| 亚洲淫片在线视频| 成人av番号网| 亚洲国语精品自产拍在线观看| 欧美天堂在线观看| 91色琪琪电影亚洲精品久久| 亚洲开心激情网| 成人黄色av网| 欧美大码xxxx| 精品福利樱桃av导航| 欧美日韩精品在线观看| 欧美电影免费观看高清完整| 欧美精品在线观看91| 久久精品视频播放| 久久综合国产精品台湾中文娱乐网| 国产一区二区激情| 久久久噜噜噜久久| 亚洲欧美日韩视频一区| 国产精品香蕉在线观看| 国产精品色悠悠| 欧美人成在线视频| 国产精品91免费在线| 日韩性生活视频| 欧美大片va欧美在线播放| 欧美日本啪啪无遮挡网站| 麻豆国产va免费精品高清在线| 久久精品成人一区二区三区| 欧美黑人狂野猛交老妇| 欧美在线一级va免费观看| 欧美极品美女电影一区| 日韩精品一二三四区| 亚洲欧洲中文天堂| 国产suv精品一区二区| 欧美日韩日本国产| 日韩成人在线视频网站| 国产精品亚洲片夜色在线| 色哟哟亚洲精品一区二区| 91国内产香蕉| 欧美超级乱淫片喷水| 亚洲区bt下载| 在线成人一区二区| 亚洲视屏在线播放| 91情侣偷在线精品国产| 91福利视频网| 久久69精品久久久久久久电影好| 亚洲人午夜精品| 人人做人人澡人人爽欧美| 国产精品久久久久久搜索| 国产精品1区2区在线观看| 日韩视频精品在线| 91精品国产自产在线观看永久| 成人精品网站在线观看| 亚洲人成网站免费播放| 91视频8mav| 久久久成人的性感天堂| 精品久久久久久国产91| 久久国产精品久久久久久| 国产日韩精品视频| 国产精品成人一区二区三区吃奶| 国产日韩在线亚洲字幕中文| 日韩免费高清在线观看| 国内精品400部情侣激情| 91精品国产综合久久男男| 九九热这里只有精品免费看| 亚洲深夜福利在线| 91精品国产网站| 日韩av在线网址| 美日韩在线视频| 国产亚洲精品成人av久久ww| 国产精品久久久久久久天堂| 狠狠躁夜夜躁人人爽天天天天97| 亚洲国内高清视频| 日韩精品欧美激情| 午夜精品一区二区三区视频免费看| 日韩精品999| 欧美在线免费视频| 久久网福利资源网站| 欧美性生活大片免费观看网址| 成人免费观看49www在线观看| 日本a级片电影一区二区| 亚洲3p在线观看| 欧美日韩中文字幕在线视频| 日本中文字幕不卡免费| 国产精品久久91| 国产精品高清免费在线观看| 98精品在线视频|