[發明專利]一個基于開源DNS軟件的自證根實現方法有效
| 申請號: | 201910342826.9 | 申請日: | 2019-04-25 |
| 公開(公告)號: | CN110071810B | 公開(公告)日: | 2021-10-01 |
| 發明(設計)人: | 張宇;張文佳;方濱興;張宏莉;劉文峰 | 申請(專利權)人: | 哈爾濱工業大學 |
| 主分類號: | H04L9/32 | 分類號: | H04L9/32;H04L9/08;H04L29/06;H04L29/12 |
| 代理公司: | 哈爾濱市松花江專利商標事務所 23109 | 代理人: | 楊立超 |
| 地址: | 150001 黑龍*** | 國省代碼: | 黑龍江;23 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一個 基于 dns 軟件 實現 方法 | ||
1.一個基于開源DNS軟件的自證根實現方法,所述自證根為一個根區數據本身可自證來源真實性的安全DNS加密方案,自證根主要包含三個設計目標:
一、膠水簽名:對膠水記錄添加來自頂級域權威的數字簽名,令根區膠水記錄來源可公開驗證;自證根在開源DNS軟件bind中實現服務器端膠水簽名;
二、公鑰釘:解析器采用公鑰白名單或首用信任的方法來獲得頂級域公鑰;
三、雙重簽名:當頂級域密鑰滾動時,新的頂級域公鑰證書需要來自根權威和頂級域權威的兩個簽名;
水簽名、公鑰釘以及雙重簽名在開源DNS軟件bind中實現的;
于,自證根在開源DNS軟件bind中實現服務器端膠水簽名的過程包括:
(1)服務器配置:
(1.1)先進行頂級域服務器的配置,包含配置系統環境、配置頂級域區文件、配置named服務器中的選項;其中,配置頂級域區文件的步驟如下:
(1.1.1)建立區文件,添加TTL記錄、頂級域SOA記錄、頂級域NS記錄和對應的A記錄;
(1.1.2)使用dnssec-keygen工具生成頂級域DNSKEY記錄(DNSKEY記錄包含KSK和ZSK密鑰),將生成的密鑰添加到所述頂級域區文件中;
(1.1.3)使用dnssec-signzone工具生成對頂級域區文件進行簽名,生成相關記錄的RRSIG和NSEC記錄,所述的相關記錄包含根區的膠水記錄;
(1.2)再進行根服務器的配置,因為根服務器的區文件中的頂級域DS記錄需要在完成頂級域服務器配置后才能獲得;
根服務器的配置包含配置系統環境、配置區文件、配置named服務器中的options;其中,區文件內容除包含根區本身的TTL記錄、SOA記錄、NS記錄和名稱服務器對應的A記錄外,還需要加入頂級域NS記錄和頂級域名稱服務器對應的A記錄,以及頂級域區文件簽名成功后生成的DS記錄;
(2)信任鏈合成,其過程為:
(2.1)建立根服務器的區文件時添加頂級域密鑰;
(2.2)對根區文件進行簽名后,生成頂級域NSEC記錄;
(2.3)在簽名后的根區文件中,添加頂級域DNSKEY記錄的簽名和NS記錄的簽名,生成一條由根到頂級域的信任鏈;
(3)查詢驗證,
在遞歸解析器上向根服務器查詢頂級域NS記錄,并進行DNSSEC驗證,驗證成功即得到一條由根到頂級域的完整信任鏈,其過程具體包括:
(3.1)配置遞歸解析器,開啟遞歸選項,配置信任錨為根服務器的KSK;
(3.2)在遞歸解析器中,使用dig工具向根服務器查詢頂級域NS記錄,并使用sigchase選項進行DNSSEC驗證。
2.根據權利要求1所述的一個基于開源DNS軟件的自證根實現方法,其特征在于,自證根在開源DNS軟件bind中通過修改服務器端源碼的方式實現解析器端的查詢驗證。
3.根據權利要求2所述的一個基于開源DNS軟件的自證根實現方法,其特征在于,在查詢驗證前,所述步驟(3)中根服務器并不能返回目標的膠水記錄簽名及其信任鏈的數據,因此對基于bind根服務器的源碼進行修改:bind源碼的數據存儲形式呈現為層級式,具體為每個區文件以一個樹的形式存儲于bind數據庫中;在每個樹下,不同域的數據存儲在不同節點中;其中,第一個節點代表該區的權威節點,即對這部分數據具有權威性;在查詢過程中,如果目標數據存儲在非權威節點中,并且目標數據不是DS記錄,表明該區文件對目標數據不具有權威性,服務器不會返回目標數據;為實現對服務器中目標記錄的獲取,修改在遍歷樹形數據庫下的節點進行匹配的過程的源碼,將修改后的bind重新編譯,在遞歸解析器中使用dig+sigchase查詢測試,修改后的根服務器對頂級域數據給出的完整的應答,形成了一條由根到頂級域的信任鏈。
4.根據權利要求1、2或3所述的一個基于開源DNS軟件的自證根實現方法,其特征在于,自證根在開源DNS軟件bind中實現解析器端公鑰釘和雙重簽名驗證的過程如下:
(1)解析器向服務器查詢頂級域公鑰,與本地公鑰白名單進行匹配;若本地不存在該頂級域公鑰,轉至步驟(2);若本地存在該頂級域的公鑰,但與當前公鑰不同,轉至步驟(3);否則不作處理;
(2)對于本地白名單中新頂級域的公鑰,采用首用信任的方式,將其加入本地公鑰白名單;
(3)對于本地白名單中已存在的頂級域的新公鑰,視為密鑰更新,使用本地舊公鑰對新公鑰進行驗證,驗證成功則更新當前白名單,否則返回驗證失敗信息。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于哈爾濱工業大學,未經哈爾濱工業大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910342826.9/1.html,轉載請聲明來源鉆瓜專利網。





