TSIG
TSIG(Transaction SIGnature)是RFC 2845中定義的計(jì)算機(jī)網(wǎng)絡(luò)協(xié)議。主要是它使域名系統(tǒng)(DNS)能夠驗(yàn)證對(duì)DNS數(shù)據(jù)庫的更新。這是最常用的更新動(dòng)態(tài)DNS或輔助/從屬DNS服務(wù)器。TSIG使用共享密鑰和單向哈希來提供一種密碼安全的方式來認(rèn)證連接的每個(gè)端點(diǎn)被允許作出或響應(yīng)DNS更新。
盡管對(duì)DNS的查詢通常可能在沒有身份驗(yàn)證的情況下進(jìn)行,但對(duì)DNS的更新必須經(jīng)過身份驗(yàn)證,因?yàn)樗鼈儠?huì)對(duì)Internet命名系統(tǒng)的結(jié)構(gòu)進(jìn)行持久更改。由于更新請(qǐng)求可能通過不安全的渠道(互聯(lián)網(wǎng))到達(dá),因此必須采取措施確保請(qǐng)求的真實(shí)性和完整性。使用由客戶端進(jìn)行更新和DNS服務(wù)器共享的密鑰有助于確保更新請(qǐng)求的真實(shí)性和完整性。單向哈希函數(shù)用于防止惡意觀察者修改更新并轉(zhuǎn)發(fā)到目的地,從而確保消息從源到目的地的完整性。
TSIG協(xié)議中包含一個(gè)時(shí)間戳,用于防止記錄的響應(yīng)被重用,這將使攻擊者違反TSIG的安全性。這要求在動(dòng)態(tài)DNS服務(wù)器和TSIG客戶端包含一個(gè)準(zhǔn)確的時(shí)鐘。由于DNS服務(wù)器連接到網(wǎng)絡(luò),網(wǎng)絡(luò)時(shí)間協(xié)議可以提供準(zhǔn)確的時(shí)間源。
DNS更新(如查詢)通常通過UDP傳輸,因?yàn)樗蟊?/span>TCP更低的開銷。但是,DNS服務(wù)器同時(shí)支持UDP和TCP請(qǐng)求。
內(nèi)容
??[?隱藏?]?- 1實(shí)施
- 2TSIG的替代品
- 3另見
- 4參考
- 5外部鏈接
實(shí)現(xiàn)[?編輯]
RFC 2136中規(guī)定的更新是對(duì)DNS服務(wù)器的一組指令。其中包括標(biāo)題,要更新的區(qū)域,必須滿足的先決條件以及要更新的記錄。TSIG添加最終記錄,其中包括時(shí)間戳和請(qǐng)求的散列。它還包括用于簽署請(qǐng)求的密鑰的名稱。RFC 2535提供了關(guān)于名稱形式的建議。
對(duì)TSIG成功更新的回應(yīng)也將用TSIG記錄進(jìn)行簽名。故障沒有經(jīng)過簽名,以防止攻擊者使用特制的更新“探測(cè)器”了解有關(guān)TSIG密鑰的任何信息。
該的nsupdate程序可以使用TSIG做DNS更新。
TSIG記錄與更新請(qǐng)求中的其他記錄格式相同。這些字段的含義在RFC 1035中進(jìn)行了描述。
| 名稱 | 最大。256 | 密鑰名稱,在客戶端和服務(wù)器上必須是唯一的 |
| 類型 | 2 | TSIG(250) |
| 類 | 2 | 任何(255) |
| TTL | 4 | 0(因?yàn)門SIG記錄不能被緩存) |
| RDLENGTH | 2 | RDATA字段的長(zhǎng)度 |
| RDATA | 變量 | 包含時(shí)間戳,算法和散列數(shù)據(jù)的結(jié)構(gòu) |
TSIG的替代品[?編輯]
雖然TSIG被廣泛部署,但協(xié)議還有幾個(gè)問題:
- 它需要將密鑰分發(fā)給每個(gè)必須更新的主機(jī)。
- HMAC-MD5摘要不再被認(rèn)為是非常安全的。
- 沒有權(quán)威的層次。任何帶有密鑰的主機(jī)都可能更新任何記錄。
因此,已經(jīng)提出了一些備選方案和擴(kuò)展。
- RFC 2137指定使用公鑰?“SIG”DNS記錄的更新方法。持有相應(yīng)私鑰的客戶端可以簽署更新請(qǐng)求。此方法與用于安全查詢的DNSSEC方法相匹配。但是,此方法已由RFC 3007棄用。
- 在2003年,RFC 3645提出將TSIG擴(kuò)展為允許通用安全服務(wù)(GSS)安全密鑰交換方法,而不需要手動(dòng)向所有TSIG客戶端分配密鑰。將公鑰作為DNS資源記錄(RR)分發(fā)的方法在RFC 2930中進(jìn)行了規(guī)定,其中GSS作為此方法的一種模式。使用Windows?Kerberos服務(wù)器的修改后的GSS-TSIG由Microsoft Windows?Active Directory服務(wù)器和客戶端實(shí)現(xiàn),稱為安全動(dòng)態(tài)更新。結(jié)合使用RFC 1918的配置不當(dāng)?shù)腄NS(沒有反向查找區(qū)域)?尋址,使用這種身份驗(yàn)證方案的反向DNS更新將被全部轉(zhuǎn)發(fā)到根DNS服務(wù)器,并在此過程中增加到根DNS服務(wù)器的通信量[1]。有一個(gè)任播組處理這個(gè)流量,把它從根DNS服務(wù)器拿走[2]。
- 定義TSIG的RFC 2845只規(guī)定了一個(gè)允許的散列函數(shù),128位的HMAC-MD5不再被認(rèn)為是高度安全的。RFC 4635被散發(fā)以允許RFC 3174安全散列算法(SHA1)散列和FIPS?PUB 180-2?SHA-2散列來替代MD5。由SHA1和SHA-2生成的160位和256位摘要比由MD5生成的128位摘要更安全。
- RFC 2930定義了TKEY,它是一個(gè)DNS記錄,用于將密鑰從DNS服務(wù)器自動(dòng)分發(fā)到DNS客戶端
- RFC 3645,它定義了GSS-TSIG,它使用gss-api和TKEY以gss-api模式自動(dòng)分配密鑰
- 該DNSCurve提案有很多相似之處TSIG。
總結(jié)
- 上一篇: ftruncate函数的功能及使用
- 下一篇: 三线接入