文章分享

開(kāi)放、平等、協(xié)作、快速、分享

當(dāng)前位置:首頁(yè)>文章分享

SSL與TLS有什么區(qū)別(最全面的知識(shí)點(diǎn)都在這)

摘錄:HCTech 無(wú)錫和控電子   時(shí)間:2020-08-07   訪問(wèn)量:3282

SSL與TLS有什么區(qū)別(最全面的知識(shí)點(diǎn)都在這)

SSL:(Secure Socket Layer,安全套接字層),位于可靠的面向連接的網(wǎng)絡(luò)層協(xié)議和應(yīng)用層協(xié)議之間的一種協(xié)議層。SSL通過(guò)互相認(rèn)證、使用數(shù)字簽名確保完整性、使用加密確保私密性,以實(shí)現(xiàn)客戶端和服務(wù)器之間的安全通訊。該協(xié)議由兩層組成:SSL記錄協(xié)議和SSL握手協(xié)議。

TLS:(Transport LayerSecurity,傳輸層安全協(xié)議),用于兩個(gè)應(yīng)用程序之間提供保密性和數(shù)據(jù)完整性。該協(xié)議由兩層組成:TLS記錄協(xié)議和TLS握手協(xié)議。

SSL是Netscape開(kāi)發(fā)的專門(mén)用戶保護(hù)Web通訊的,目前版本為3.0。最新版本的TLS 1.0是IETF(工程任務(wù)組)制定的一種新的協(xié)議,它建立在SSL 3.0協(xié)議規(guī)范之上,是SSL 3.0的后續(xù)版本。兩者差別極小,可以理解為SSL 3.1,它是寫(xiě)入了RFC的。

SSL (SecureSocket Layer)

為Netscape所研發(fā),用以保障在Internet上數(shù)據(jù)傳輸之安全,利用數(shù)據(jù)加密(Encryption)技術(shù),可確保數(shù)據(jù)在網(wǎng)絡(luò)上之傳輸過(guò)程中不會(huì)被截取。目前一般通用之規(guī)格為40 bit之安全標(biāo)準(zhǔn),美國(guó)則已推出128 bit之更高安全標(biāo)準(zhǔn),但限制出境。只要3.0版本以上之I.E.或Netscape瀏覽器即可支持SSL。

當(dāng)前版本為3.0。它已被廣泛地用于Web瀏覽器與服務(wù)器之間的身份認(rèn)證和加密數(shù)據(jù)傳輸。

SSL協(xié)議位于TCP/IP協(xié)議與各種應(yīng)用層協(xié)議之間,為數(shù)據(jù)通訊提供安全支持。SSL協(xié)議可分為兩層: SSL記錄協(xié)議(SSL Record Protocol):它建立在可靠的傳輸協(xié)議(如TCP)之上,為高層協(xié)議提供數(shù)據(jù)封裝、壓縮、加密等基本功能的支持。 SSL握手協(xié)議(SSL HandshakeProtocol):它建立在SSL記錄協(xié)議之上,用于在實(shí)際的數(shù)據(jù)傳輸開(kāi)始前,通訊雙方進(jìn)行身份認(rèn)證、協(xié)商加密算法、交換加密密鑰等。

SSL協(xié)議提供的服務(wù)主要有:

1)認(rèn)證用戶和服務(wù)器,確保數(shù)據(jù)發(fā)送到正確的客戶機(jī)和服務(wù)器;

2)加密數(shù)據(jù)以防止數(shù)據(jù)中途被竊??;

3)維護(hù)數(shù)據(jù)的完整性,確保數(shù)據(jù)在傳輸過(guò)程中不被改變。

SSL協(xié)議的工作流程:

服務(wù)器認(rèn)證階段:

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

2)服務(wù)器根據(jù)客戶的信息確定是否需要生成新的主密鑰,如需要?jiǎng)t服務(wù)器在響應(yīng)客戶的“Hello”信息時(shí)將包含生成主密鑰所需的信息;

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

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

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

從SSL 協(xié)議所提供的服務(wù)及其工作流程可以看出,SSL協(xié)議運(yùn)行的基礎(chǔ)是商家對(duì)消費(fèi)者信息保密的承諾,這就有利于商家而不利于消費(fèi)者。在電子商務(wù)初級(jí)階段,由于運(yùn)作電子商務(wù)的企業(yè)大多是信譽(yù)較高的大公司,因此這問(wèn)題還沒(méi)有充分暴露出來(lái)。但隨著電子商務(wù)的發(fā)展,各中小型公司也參與進(jìn)來(lái),這樣在電子支付過(guò)程中的單一認(rèn)證問(wèn)題就越來(lái)越突出。雖然在SSL3.0中通過(guò)數(shù)字簽名和數(shù)字證書(shū)可實(shí)現(xiàn)瀏覽器和Web服務(wù)器雙方的身份驗(yàn)證,但是SSL協(xié)議仍存在一些問(wèn)題,比如,只能提供交易中客戶與服務(wù)器間的雙方認(rèn)證,在涉及多方的電子交易中,SSL協(xié)議并不能協(xié)調(diào)各方間的安全傳輸和信任關(guān)系。在這種情況下,Visa和MasterCard兩大信用卡公組織制定了SET協(xié)議,為網(wǎng)上信用卡支付提供了全球性的標(biāo)準(zhǔn)。

TLS(Transport Layer Security Protocol):安全傳輸層協(xié)議

安全傳輸層協(xié)議(TLS)用于在兩個(gè)通信應(yīng)用程序之間提供保密性和數(shù)據(jù)完整性。該協(xié)議由兩層組成: TLS 記錄協(xié)議(TLS Record)和 TLS 握手協(xié)議(TLS Handshake)。較低的層為 TLS 記錄協(xié)議,位于某個(gè)可靠的傳輸協(xié)議(例如 TCP)上面。

 

TLS 記錄協(xié)議提供的連接安全性具有兩個(gè)基本特性:

· 私有――對(duì)稱加密用以數(shù)據(jù)加密(DES 、RC4 等)。對(duì)稱加密所產(chǎn)生的密鑰對(duì)每個(gè)連接都是唯一的,且此密鑰基于另一個(gè)協(xié)議(如握手協(xié)議)協(xié)商。記錄協(xié)議也可以不加密使用。

· 可靠――信息傳輸包括使用密鑰的MAC進(jìn)行信息完整性檢查。安全哈希功能( SHA、MD5 等)用于 MAC 計(jì)算。記錄協(xié)議在沒(méi)有 MAC 的情況下也能操作,但一般只能用于這種模式,即有另一個(gè)協(xié)議正在使用記錄協(xié)議傳輸協(xié)商安全參數(shù)。

TLS記錄協(xié)議用于封裝各種高層協(xié)議。作為這種封裝協(xié)議之一的握手協(xié)議允許服務(wù)器與客戶機(jī)在應(yīng)用程序協(xié)議傳輸和接收其第一個(gè)數(shù)據(jù)字節(jié)前彼此之間相互認(rèn)證,協(xié)商加密算法和加密密鑰。 TLS 握手協(xié)議提供的連接安全具有三個(gè)基本屬性:

· 可以使用非對(duì)稱的,或公共密鑰的密碼術(shù)來(lái)認(rèn)證對(duì)等方的身份。該認(rèn)證是可選的,但至少需要一個(gè)結(jié)點(diǎn)方。

· 共享加密密鑰的協(xié)商是安全的。對(duì)偷竊者來(lái)說(shuō)協(xié)商加密是難以獲得的。此外經(jīng)過(guò)認(rèn)證過(guò)的連接不能獲得加密,即使是進(jìn)入連接中間的攻擊者也不能。

· 協(xié)商是可靠的。沒(méi)有經(jīng)過(guò)通信方成員的檢測(cè),任何攻擊者都不能修改通信協(xié)商。

TLS的最大優(yōu)勢(shì)就在于:TLS是獨(dú)立于應(yīng)用協(xié)議。高層協(xié)議可以透明地分布在TLS協(xié)議上面。然而, TLS 標(biāo)準(zhǔn)并沒(méi)有規(guī)定應(yīng)用程序如何在TLS上增加安全性;它把如何啟動(dòng) TLS 握手協(xié)議以及如何解釋交換的認(rèn)證證書(shū)的決定權(quán)留給協(xié)議的設(shè)計(jì)者和實(shí)施者來(lái)判斷。

協(xié)議結(jié)構(gòu)

TLS 協(xié)議包括兩個(gè)協(xié)議組――TLS記錄協(xié)議和TLS握手協(xié)議――每組具有很多不同格式的信息。在此文件中我們只列出協(xié)議摘要并不作具體解析。具體內(nèi)容可參照相關(guān)文檔。

TLS記錄協(xié)議是一種分層協(xié)議。每一層中的信息可能包含長(zhǎng)度、描述和內(nèi)容等字段。記錄協(xié)議支持信息傳輸、將數(shù)據(jù)分段到可處理塊、壓縮數(shù)據(jù)、應(yīng)用MAC 、加密以及傳輸結(jié)果等。對(duì)接收到的數(shù)據(jù)進(jìn)行解密、校驗(yàn)、解壓縮、重組等,然后將它們傳送到高層客戶機(jī)。

TLS連接狀態(tài)指的是TLS記錄協(xié)議的操作環(huán)境。它規(guī)定了壓縮算法、加密算法和MAC算法。

TLS記錄層從高層接收任意大小無(wú)空塊的連續(xù)數(shù)據(jù)。密鑰計(jì)算:記錄協(xié)議通過(guò)算法從握手協(xié)議提供的安全參數(shù)中產(chǎn)生密鑰、 IV 和MAC密鑰。

TLS 握手協(xié)議由三個(gè)子協(xié)議組構(gòu)成,允許對(duì)等雙方在記錄層的安全參數(shù)上達(dá)成一致、自我認(rèn)證、例示協(xié)商安全參數(shù)、互相報(bào)告出錯(cuò)條件。

關(guān)系就是。。。。并列關(guān)系

最新版本的TLS(Transport LayerSecurity,傳輸層安全協(xié)議)是IETF(Internet Engineering Task Force,Internet工程任務(wù)組)制定的一種新的協(xié)議,它建立在SSL 3.0協(xié)議規(guī)范之上,是SSL 3.0的后續(xù)版本。在TLS與SSL3.0之間存在著顯著的差別,主要是它們所支持的加密算法不同,所以TLS與SSL3.0不能互操作。

1.TLS與SSL的差異

1)版本號(hào):TLS記錄格式與SSL記錄格式相同,但版本號(hào)的值不同,TLS的版本1.0使用的版本號(hào)為SSLv3.1。

2)報(bào)文鑒別碼:SSLv3.0和TLS的MAC算法及MAC計(jì)算的范圍不同。TLS使用了RFC-2104定義的HMAC算法。SSLv3.0使用了相似的算法,兩者差別在于SSLv3.0中,填充字節(jié)與密鑰之間采用的是連接運(yùn)算,而HMAC算法采用的是異或運(yùn)算。但是兩者的安全程度是相同的。

3)偽隨機(jī)函數(shù):TLS使用了稱為PRF的偽隨機(jī)函數(shù)來(lái)將密鑰擴(kuò)展成數(shù)據(jù)塊,是更安全的方式。

4)報(bào)警代碼:TLS支持幾乎所有的SSLv3.0報(bào)警代碼,而且TLS還補(bǔ)充定義了很多報(bào)警代碼,如解密失?。╠ecryption_failed)、記錄溢出(record_overflow)、未知CA(unknown_ca)、拒絕訪問(wèn)(access_denied)等。

5)密文族和客戶證書(shū):SSLv3.0和TLS存在少量差別,即TLS不支持Fortezza密鑰交換、加密算法和客戶證書(shū)。

6)certificate_verify和finished消息:SSLv3.0和TLS在用certificate_verify和finished消息計(jì)算MD5和SHA-1散列碼時(shí),計(jì)算的輸入有少許差別,但安全性相當(dāng)。

7)加密計(jì)算:TLS與SSLv3.0在計(jì)算主密值(master secret)時(shí)采用的方式不同。

8)填充:用戶數(shù)據(jù)加密之前需要增加的填充字節(jié)。在SSL中,填充后的數(shù)據(jù)長(zhǎng)度要達(dá)到密文塊長(zhǎng)度的最小整數(shù)倍。而在TLS中,填充后的數(shù)據(jù)長(zhǎng)度可以是密文塊長(zhǎng)度的任意整數(shù)倍(但填充的最大長(zhǎng)度為255字節(jié)),這種方式可以防止基于對(duì)報(bào)文長(zhǎng)度進(jìn)行分析的攻擊。

2.TLS的主要增強(qiáng)內(nèi)容

TLS的主要目標(biāo)是使SSL更安全,并使協(xié)議的規(guī)范更精確和完善。TLS 在SSL v3.0 的基礎(chǔ)上,提供了以下增強(qiáng)內(nèi)容:

1)更安全的MAC算法

2)更嚴(yán)密的警報(bào)

3)“灰色區(qū)域”規(guī)范的更明確的定義

3.TLS對(duì)于安全性的改進(jìn)

1)對(duì)于消息認(rèn)證使用密鑰散列法:TLS 使用“消息認(rèn)證代碼的密鑰散列法”(HMAC),當(dāng)記錄在開(kāi)放的網(wǎng)絡(luò)(如因特網(wǎng))上傳送時(shí),該代碼確保記錄不會(huì)被變更。SSLv3.0還提供鍵控消息認(rèn)證,但HMAC比SSLv3.0使用的(消息認(rèn)證代碼)MAC 功能更安全。

2)增強(qiáng)的偽隨機(jī)功能(PRF):PRF生成密鑰數(shù)據(jù)。在TLS中,HMAC定義PRF。PRF使用兩種散列算法保證其安全性。如果任一算法暴露了,只要第二種算法未暴露,則數(shù)據(jù)仍然是安全的。

3)改進(jìn)的已完成消息驗(yàn)證:TLS和SSLv3.0都對(duì)兩個(gè)端點(diǎn)提供已完成的消息,該消息認(rèn)證交換的消息沒(méi)有被變更。然而,TLS將此已完成消息基于PRF和HMAC值之上,這也比SSLv3.0更安全。

4)一致證書(shū)處理:與SSLv3.0不同,TLS試圖指定必須在TLS之間實(shí)現(xiàn)交換的證書(shū)類型。

5)特定警報(bào)消息:TLS提供更多的特定和附加警報(bào),以指示任一會(huì)話端點(diǎn)檢測(cè)到的問(wèn)題。TLS還對(duì)何時(shí)應(yīng)該發(fā)送某些警報(bào)進(jìn)行記錄。

以上,是為大家分享的“SSL與TLS有什么區(qū)別”的全部?jī)?nèi)容,如果用戶遇到的問(wèn)題不能解決,可通過(guò)wosign官網(wǎng)客服尋求幫助,凡是選擇wosign ssl證書(shū)的網(wǎng)站用戶,wosign可提供免費(fèi)一對(duì)一的ssl證書(shū)技術(shù)部署支持,免除后顧之憂。

相關(guān)資訊

(Nginx,Apache,Tomcat,IIS)開(kāi)啟TLS1.2協(xié)議教程

TLS 是獨(dú)立于應(yīng)用協(xié)議。高層協(xié)議可以透明地分布在 TLS 協(xié)議上面。該協(xié)議由兩層組成: TLS 記錄協(xié)議(TLS Record)和 TLS 握手協(xié)議(TLS Handshake)。較低的層為 TLS 記錄協(xié)議,位于某個(gè)可靠的傳輸協(xié)議(例如 TCP)上面。下面要為大家介紹的是如何在各大配置服務(wù)器中開(kāi)啟TLS1.2協(xié)議。

詳解 HTTPS、TLS、SSL、HTTP區(qū)別和關(guān)系

HTTPS,也稱作HTTP over TLS。TLS的前身是SSL,TLS 1.0通常被標(biāo)示為SSL 3.1,TLS 1.1為SSL 3.2,TLS 1.2為SSL 3.3。下圖描述了在TCP/IP協(xié)議棧中TLS(各子協(xié)議)和HTTP的關(guān)系。


上一篇:SDK獲取及使用說(shuō)明

下一篇:TLS協(xié)議、PKI、CA

在線咨詢

點(diǎn)擊這里給我發(fā)消息 售前咨詢專員

點(diǎn)擊這里給我發(fā)消息 售后服務(wù)專員

在線咨詢

免費(fèi)通話

24小時(shí)免費(fèi)咨詢

請(qǐng)輸入您的聯(lián)系電話,座機(jī)請(qǐng)加區(qū)號(hào)

免費(fèi)通話

微信掃一掃

微信聯(lián)系
返回頂部