国产不卡在线观看视频_日本高清久久_天天操天天干天天摸_一区二区三区视频在线

歡迎來到通信人在線![用戶登錄] [免費(fèi)注冊(cè)]

安全套接字層(SSL)技術(shù)介紹

瀏覽:5391  來源:通信人在線  日期:2009-03-24
 

Web在當(dāng)今已經(jīng)是十分流行的工具,伴隨著Internet的流行,Web的安全性已經(jīng)變得十分重要。目前在Web方面的安全性有不少解決方案,最常用的是安全套接字層協(xié)議。

SSLSecure Sockets Layer,SSL)協(xié)議是由Netscape公司提出的1個(gè)安全協(xié)議,它是在套接字端口上工作,可以用在任何建立在套接字端口上的協(xié)議,包括telnet、ftp、http等等。很多SSL的功能也是IPv6的一部分。SSL提供了對(duì)一個(gè)對(duì)話(session)進(jìn)行加密、對(duì)1個(gè)服務(wù)器(有時(shí)一個(gè)客戶機(jī))甚至一個(gè)信息進(jìn)行鑒別的功能,SSL握手協(xié)議和應(yīng)用協(xié)議都在SSL記錄協(xié)議上操作。SSL記錄層運(yùn)行在TCP上。對(duì)話建立需要58個(gè)信息來完成,對(duì)于服務(wù)器的鑒別,SSL建筑在密鑰認(rèn)證機(jī)制的基礎(chǔ)上,但是,在1個(gè)對(duì)話內(nèi)SSL不提供密鑰重新協(xié)商功能。

所有SSL協(xié)議可以傳送最高達(dá)32 767 B的數(shù)據(jù),每一個(gè)數(shù)據(jù)有一個(gè)23B的協(xié)議頭,這個(gè)協(xié)議頭包含了1個(gè)安全轉(zhuǎn)義功能、一個(gè)指明是否有填充信息的標(biāo)志、信息的長(zhǎng)度等信息,2B的頭表示沒有填充而3B則表示有填充的信息。協(xié)議頭數(shù)據(jù)結(jié)構(gòu)如下:

#S長(zhǎng)度

長(zhǎng)度

填充長(zhǎng)度

這里,#位為0表示3B頭部,最大長(zhǎng)度32767B;為1表示2B頭部,最大長(zhǎng)度16383B。S位表示安全轉(zhuǎn)義功能是否存在。在SSL記錄協(xié)議頭部,沒有協(xié)議版本信息。

在一個(gè)記錄內(nèi),有三種部件:MAC-DATA、實(shí)際數(shù)據(jù)(Actual-Data)和填充數(shù)據(jù)(Padding-Data)。MAC代表信息鑒別碼(Message Authentication Code),實(shí)際數(shù)據(jù)是需要發(fā)送的實(shí)際數(shù)據(jù),填充數(shù)據(jù)就是在數(shù)據(jù)不到有關(guān)長(zhǎng)度時(shí)用作填充的無用數(shù)據(jù)。MAC-DATA是一個(gè)密鑰、數(shù)據(jù)、填充以及序號(hào)的哈?。?/SPAN>hash)函數(shù),這個(gè)密鑰是(發(fā)送者)寫密鑰,它和(接受者)讀密鑰是相同的。對(duì)于基于塊的加密方法,可能數(shù)據(jù)不是正好加密所需的塊長(zhǎng)度(或塊長(zhǎng)度的倍數(shù)),這時(shí)就需要填充數(shù)據(jù)。

序號(hào)是一個(gè)32位無符號(hào)的整數(shù),每發(fā)送一個(gè)數(shù)據(jù),就調(diào)整這個(gè)序號(hào),當(dāng)數(shù)字大于0xFFFFFFFF時(shí),重新設(shè)置為0。如果發(fā)送錯(cuò)誤,如鑒別失敗、解密失敗、或其他問題,會(huì)產(chǎn)生I/O差錯(cuò),同時(shí)關(guān)閉連接。

當(dāng)一臺(tái)計(jì)算機(jī)企圖使用SSL建立連接時(shí)發(fā)生握手操作,在SSL中,有3類基本握手,第一類是最近(比如100s)沒有連接存在,第二類是有一系列的連接存在時(shí)的握手,第三類是當(dāng)需要客戶機(jī)鑒別時(shí)的握手。

第一類握手的基本過程如圖1所示。當(dāng)一個(gè)客戶機(jī)希望建立安全連接,它發(fā)送CLIENT-HELLO消息,包括一個(gè)質(zhì)疑以及希望或能夠支持的加密體系;服務(wù)器以SERVER-HELLO消息作為回答,包括連接標(biāo)識(shí)、密鑰證書以及服務(wù)器可以支持的加密體系,加密體系的選擇由客戶機(jī)負(fù)責(zé);然后,客戶機(jī)檢驗(yàn)服務(wù)器的公開密鑰,并且向服務(wù)器發(fā)送CLIENT-MASTER-KEY消息,這是一個(gè)隨機(jī)產(chǎn)生的主密鑰,這個(gè)密鑰在發(fā)送時(shí)由服務(wù)器的公開密鑰加密;發(fā)送CLIENT-MASTER-KEY后,客戶機(jī)發(fā)送CLIENT-FINISHED消息,包括被客戶寫密鑰加密的連接標(biāo)識(shí);服務(wù)器發(fā)送SERVER-VERIFY消息,包括一個(gè)被服務(wù)器寫密鑰加密的對(duì)客戶機(jī)的質(zhì)疑;最后,服務(wù)器發(fā)送SERVER-FINISHED消息,包含了一個(gè)被服務(wù)器寫密鑰加密的新的對(duì)話標(biāo)識(shí)。服務(wù)器寫密鑰從CLIENT-MASTER-KEY消息中的主密鑰中產(chǎn)生。

1SSL第一類握手協(xié)議

對(duì)于第二類握手,整個(gè)過程基本相似,如圖2所示。如果已經(jīng)存在一個(gè)對(duì)話,那么,客戶機(jī)發(fā)送CLIENT-HELLO消息,包括一個(gè)質(zhì)疑、對(duì)話標(biāo)識(shí)以及希望或能夠支持的加密體系;服務(wù)器以SERVER-HELLO消息作為回答,包括連接標(biāo)識(shí)、密鑰證書以及服務(wù)器可以支持的加密體系,這時(shí)設(shè)置“對(duì)話標(biāo)識(shí)命中”位;客戶機(jī)發(fā)送CLIENT-FINISHED消息,包括被客戶寫密鑰加密的連接標(biāo)識(shí);服務(wù)器發(fā)送SERVER-VERIFY消息,包括一個(gè)被服務(wù)器寫密鑰加密的對(duì)客戶機(jī)的質(zhì)疑;最后,服務(wù)器發(fā)送SERVER-FINISHED消息,包含了一個(gè)被服務(wù)器寫密鑰加密的對(duì)話標(biāo)識(shí)。

2SSL第二類握手協(xié)議

對(duì)于第三類握手方式,需要使用客戶機(jī)鑒別,那么,服務(wù)器必須在適當(dāng)?shù)臅r(shí)間發(fā)送REQUEST-CERTIFICATE消息,包括一個(gè)質(zhì)疑和期望的鑒別方法,客戶機(jī)以CLIENT-CERTIFICATE消息作為回答,這個(gè)消息包括客戶機(jī)的證書類型、證書本身以及其他回答數(shù)據(jù),最后服務(wù)器才發(fā)送SERVER-FINISH消息,如圖3所示。

3SSL第三類握手協(xié)議

整個(gè)過程中使用了好幾個(gè)密鑰:服務(wù)器公開密鑰、主密鑰、客戶機(jī)讀密鑰、客戶機(jī)寫密鑰等等??蛻魴C(jī)寫密鑰和客戶機(jī)讀密鑰從主密鑰、順序字、質(zhì)疑、連接標(biāo)識(shí)等的安全哈?。?/SPAN>Secure Hash)算法得到。常用的哈稀算法是MD5算法。

如前所述,SSL實(shí)際上是應(yīng)用層(如HTTP協(xié)議,瀏覽器使用)和運(yùn)輸層(TCP,Internet的傳輸控制協(xié)議)之間的協(xié)議,它的兩個(gè)主要目標(biāo)是為私有信息的安全交換提供加密方法以及提供認(rèn)證服務(wù),這樣用戶可以知道服務(wù)器是它所聲稱的。它加密應(yīng)用層產(chǎn)生的信息M,然后把結(jié)果傳給運(yùn)輸層,再傳送給服務(wù)器端的運(yùn)輸層。那個(gè)運(yùn)輸層再傳給它的SSL實(shí)體,這里它被解密為M,最后傳給服務(wù)器應(yīng)用層。

SSL已經(jīng)開發(fā)出很多版本,每一種都比前一種安全有提高,且有更多的選項(xiàng)。

最后,我們?cè)俸?jiǎn)單提一下TLSTransport Layer Security)。TLSIETF為最終替代SSL的目的而基于SSL 3.0開發(fā)的。TLSSSL間有一些差異,比如,怎樣定義填充字符以產(chǎn)生正確長(zhǎng)度的塊和TLS支持附加的報(bào)警碼(當(dāng)有不正確情況時(shí)報(bào)警給用戶的碼字)等。盡管TLSSSL一般不互通信,不過TLS有能力恢復(fù)為SSL 3.0。

百度云服務(wù)器
© 2004-2025 通信人在線 版權(quán)所有 備案號(hào):粵ICP備06113876號(hào) 網(wǎng)站技術(shù):做網(wǎng)站