DTLS協(xié)議的缺陷分析和解決方案
發(fā)布時間:2020-08-17 10:30
【摘要】:隨著互聯(lián)網(wǎng)應(yīng)用的高速普及和發(fā)展,應(yīng)用層安全加密協(xié)議成為保護應(yīng)用層通信隱私的重要手段。自從保護TCP通信的安全傳輸層協(xié)議(TLS)問世后,保護UDP通信的數(shù)據(jù)報傳輸層安全性協(xié)議(DTLS)也應(yīng)運而生。DTLS協(xié)議的1.0和1.2版分別基于TLS的1.1和1.2版,大部分規(guī)范與TLS相同。雙方其中一個不同點是DTLS采取了顯式的序列號,置于通信包的記錄層部分,由0遞增,用于抗重放攻擊。但DTLS該抗重放機制的設(shè)定存在缺陷,可以造成針對DTLS服務(wù)端的DoS攻擊。本文從DTLS協(xié)議出發(fā),分析其與TLS抗重放和抗DoS的異同,揭示DTLS抗重放機制的缺陷,并設(shè)計了兩種解決方案,提供在Windows上的實現(xiàn)樣例。論文的主要研究內(nèi)容與創(chuàng)新如下:1.發(fā)現(xiàn)了DTLS協(xié)議抗重放部分相關(guān)缺陷。本文通過描述TLS和DTLS在相關(guān)機制上的異同,指出DTLS抗重放部分存在DoS攻擊漏洞,并通過實驗進行演示。DTLS容忍接收方檢測到攜帶重放序列號的數(shù)據(jù)包后可以不斷開連接,由此產(chǎn)生DoS安全問題。2.設(shè)計了一種基于修改協(xié)議規(guī)范的解決方案。該方案在DTLS原來的協(xié)議規(guī)范基礎(chǔ)上,增加檢測機制,設(shè)定接收次數(shù)上限,規(guī)定服務(wù)端若連續(xù)接收重放序列號達到該上限次數(shù)后就斷開DTLS連接,能夠讓DTLS服務(wù)器不受該攻擊的影響。3.設(shè)計了一種基于監(jiān)控時間的解決方案。該方案通過監(jiān)控DTLS服務(wù)端在握手和正式通信時接收行為的運行時間,從而確定服務(wù)端是否受到了基于序列號重放攻擊的DoS攻擊。對于服務(wù)器,記錄接收前的時間,并在相應(yīng)時限之后進行檢查,用當(dāng)前時間與之前時間相減,得到的差即為判斷依據(jù)。該方案較之修改協(xié)議的方案更具有可移植性。
【學(xué)位授予單位】:重慶郵電大學(xué)
【學(xué)位級別】:碩士
【學(xué)位授予年份】:2018
【分類號】:TP393.08
【圖文】:
Datagram Transport Layer Security(DTLS)協(xié)議是數(shù)據(jù)報傳輸層安全性協(xié)議,是 Transport Layer Security(TLS)的 UDP 版本,用于對采用 UDP 方式的應(yīng)用層協(xié)議通信進行加密防護和身份認(rèn)證。由 1.3 節(jié)知 DTLS 1.0 版本和 1.2 版本分別基于 TLS 1.1 和 TLS 1.2,因此 DTLS 和 TLS 的規(guī)則大致相同。但由于 DTLS 是針對無連接的 UDP,因此規(guī)范和 TLS 相比依然存在不同。TLS 和 DTLS 都是先進行握手,再進行加密傳輸。加密傳輸是對稱加密。握手階段是為了協(xié)商出服務(wù)器和客戶端之間所需的對稱加密的密鑰,以及其他重要的密碼套件,并進行單身份或雙身份認(rèn)證。之后雙方便開始正式會話,使用協(xié)商好的加密套件在應(yīng)用層對 TCP 或 UDP 數(shù)據(jù)包進行加密傳輸。握手階段必須確保雙方之后的通信是安全可靠的,是 TLS 和 DTLS 中最重要也是最復(fù)雜的階段。和 TLS 一樣,DTLS 也是兩層協(xié)議,其協(xié)議棧如圖 2.1 所示。
重慶郵電大學(xué)碩士學(xué)位論文 第 2 章 相關(guān)基礎(chǔ)知識DTLS 記錄層處于下層,為上層協(xié)議提供服務(wù)。上層協(xié)議有三個,分別是 DTLS握手協(xié)議、DTLS Change Cipher Spec 協(xié)議(DTLS 修改加密規(guī)范協(xié)議)和 DTLS警告協(xié)議。其中,握手協(xié)議處理握手過程,是 TLS / DTLS 中最復(fù)雜的協(xié)議;而修改加密規(guī)范協(xié)議最簡單,用于在握手的末尾階段通知對方使用更新的密碼套件;警告協(xié)議則報告通信中出現(xiàn)的問題。DTLS 的握手流程如圖 2.2 所示。
圖 2.3 TLS 和 DTLS 的 MAC 生成因子握手中,客戶端和服務(wù)端要產(chǎn)生各自的隨機數(shù),用來協(xié)商會話密鑰、MAC和加密初始向量(IV)。由于每次握手時雙方的隨機數(shù)都是不同的,所以每手協(xié)商出的 IV 都是不同,可以抗重放,也有助于身份認(rèn)證。密鑰計算因子如主秘密數(shù),涉及預(yù)備主秘密數(shù)、串"master secret"、客戶端隨機數(shù)和服務(wù)端數(shù)。密鑰塊,涉及主秘密數(shù)、串"key expansion"、客戶端隨機數(shù)和服務(wù)端隨機如果密鑰協(xié)商采用 RSA,則客戶端會在 ClientKeyExchange 消息中包含用服公鑰加密的預(yù)主秘密數(shù)(也是隨機的),如圖 2.4 所示。
本文編號:2795205
【學(xué)位授予單位】:重慶郵電大學(xué)
【學(xué)位級別】:碩士
【學(xué)位授予年份】:2018
【分類號】:TP393.08
【圖文】:
Datagram Transport Layer Security(DTLS)協(xié)議是數(shù)據(jù)報傳輸層安全性協(xié)議,是 Transport Layer Security(TLS)的 UDP 版本,用于對采用 UDP 方式的應(yīng)用層協(xié)議通信進行加密防護和身份認(rèn)證。由 1.3 節(jié)知 DTLS 1.0 版本和 1.2 版本分別基于 TLS 1.1 和 TLS 1.2,因此 DTLS 和 TLS 的規(guī)則大致相同。但由于 DTLS 是針對無連接的 UDP,因此規(guī)范和 TLS 相比依然存在不同。TLS 和 DTLS 都是先進行握手,再進行加密傳輸。加密傳輸是對稱加密。握手階段是為了協(xié)商出服務(wù)器和客戶端之間所需的對稱加密的密鑰,以及其他重要的密碼套件,并進行單身份或雙身份認(rèn)證。之后雙方便開始正式會話,使用協(xié)商好的加密套件在應(yīng)用層對 TCP 或 UDP 數(shù)據(jù)包進行加密傳輸。握手階段必須確保雙方之后的通信是安全可靠的,是 TLS 和 DTLS 中最重要也是最復(fù)雜的階段。和 TLS 一樣,DTLS 也是兩層協(xié)議,其協(xié)議棧如圖 2.1 所示。
重慶郵電大學(xué)碩士學(xué)位論文 第 2 章 相關(guān)基礎(chǔ)知識DTLS 記錄層處于下層,為上層協(xié)議提供服務(wù)。上層協(xié)議有三個,分別是 DTLS握手協(xié)議、DTLS Change Cipher Spec 協(xié)議(DTLS 修改加密規(guī)范協(xié)議)和 DTLS警告協(xié)議。其中,握手協(xié)議處理握手過程,是 TLS / DTLS 中最復(fù)雜的協(xié)議;而修改加密規(guī)范協(xié)議最簡單,用于在握手的末尾階段通知對方使用更新的密碼套件;警告協(xié)議則報告通信中出現(xiàn)的問題。DTLS 的握手流程如圖 2.2 所示。
圖 2.3 TLS 和 DTLS 的 MAC 生成因子握手中,客戶端和服務(wù)端要產(chǎn)生各自的隨機數(shù),用來協(xié)商會話密鑰、MAC和加密初始向量(IV)。由于每次握手時雙方的隨機數(shù)都是不同的,所以每手協(xié)商出的 IV 都是不同,可以抗重放,也有助于身份認(rèn)證。密鑰計算因子如主秘密數(shù),涉及預(yù)備主秘密數(shù)、串"master secret"、客戶端隨機數(shù)和服務(wù)端數(shù)。密鑰塊,涉及主秘密數(shù)、串"key expansion"、客戶端隨機數(shù)和服務(wù)端隨機如果密鑰協(xié)商采用 RSA,則客戶端會在 ClientKeyExchange 消息中包含用服公鑰加密的預(yù)主秘密數(shù)(也是隨機的),如圖 2.4 所示。
【參考文獻】
相關(guān)期刊論文 前1條
1 于莉莉;杜蒙杉;張平;紀(jì)玲利;;Web安全性測試技術(shù)綜述[J];計算機應(yīng)用研究;2012年11期
本文編號:2795205
本文鏈接:http://sikaile.net/guanlilunwen/ydhl/2795205.html
最近更新
教材專著