吳一銘,王偉,延志偉,汪洋
1.中國(guó)科學(xué)院計(jì)算機(jī)網(wǎng)絡(luò)信息中心,北京 100190
2.中國(guó)科學(xué)院大學(xué),北京 100049
3.中國(guó)互聯(lián)網(wǎng)絡(luò)信息中心,北京 100190
作為互聯(lián)網(wǎng)重要的基礎(chǔ)架構(gòu),域名系統(tǒng)(DNS)承擔(dān)了地址映射的重任,DNS解析這一過程完成域名到IP地址的轉(zhuǎn)換[1],是幾乎一切互聯(lián)網(wǎng)行為的必要前置步驟,隨著物聯(lián)網(wǎng)的發(fā)展,DNS還將被用來進(jìn)行物聯(lián)網(wǎng)標(biāo)識(shí)解析[2]。但在1983年DNS誕生之初,其協(xié)議設(shè)計(jì)[3]并未考慮數(shù)據(jù)完整性保護(hù)和隱私保護(hù),在鏈路上明文傳輸?shù)腄NS報(bào)文內(nèi)容可以被中間人輕易地竊聽和篡改。
隨著DNS的安全性和隱私性問題越發(fā)迫切,互聯(lián)網(wǎng)工程任務(wù)組(IETF)已經(jīng)推動(dòng)了多項(xiàng)DNS隱私保護(hù)協(xié)議的標(biāo)準(zhǔn)化工作,例如DTLS上的DNS,TLS上的DNS(DoT)[4]和HTTPS上的DNS(DoH)[5]。這些方案采用的基本技術(shù)原理是一致的,就是通過加密協(xié)議傳輸原本的DNS報(bào)文。雖然這些加密方案都妥善地解決了DNS在傳輸鏈路上面臨的安全和隱私威脅,但它們的實(shí)現(xiàn)和部署方式將為傳統(tǒng)DNS的解析模型帶來重大變化[6]。
本文研究的主要內(nèi)容為DNS多解析器機(jī)制中的解析器選擇策略。多解析器機(jī)制是一種實(shí)現(xiàn)于客戶端的輕量級(jí)DNS隱私保護(hù)方案,通過DNS請(qǐng)求分散進(jìn)行集中化避免和DNS服務(wù)端用戶隱私保護(hù)。解析器選擇策略是多解析器機(jī)制的核心問題。本文首先對(duì)DNS的隱私問題和集中化趨勢(shì)等背景知識(shí)進(jìn)行介紹,并對(duì)DNS隱私保護(hù)方案和相關(guān)研究工作進(jìn)行梳理。之后對(duì)多解析器機(jī)制中的解析器選擇策略進(jìn)行了深入研究,通過解析記錄表和基于ping延遲的權(quán)重計(jì)算對(duì)輪詢方法進(jìn)行改進(jìn),并設(shè)計(jì)實(shí)驗(yàn)將本文的方法與之前的傳統(tǒng)輪詢方法和哈希方法進(jìn)行橫向?qū)Ρ?。?shí)驗(yàn)結(jié)果表明,本文設(shè)計(jì)的輪詢方法可以有效地將DNS請(qǐng)求均勻分散在多個(gè)解析器之間,加權(quán)輪詢法則取得了顯著的性能優(yōu)化,相比簡(jiǎn)單的輪詢方法和哈希方法有著明顯的改進(jìn)。
DNS的主要功能是將人類可讀的域名轉(zhuǎn)換為對(duì)應(yīng)的IP地址。DNS服務(wù)主要由三個(gè)部分組成:域名空間和資源記錄、權(quán)威服務(wù)器、遞歸服務(wù)器。用戶與遞歸服務(wù)器直接溝通,由遞歸服務(wù)器完成后續(xù)的解析工作并返回解析結(jié)果。
本文以查詢www.example.com為例,介紹傳統(tǒng)DNS在查詢A記錄時(shí)的解析過程,如圖1所示。
圖1 DNS解析過程Fig.1 DNS resolution process
(1)客戶端向遞歸解析器發(fā)送查詢請(qǐng)求;
(2)遞歸解析器檢查緩存中是否有對(duì)應(yīng)記錄,如存在則直接返回結(jié)果,如不存在則向根域名服務(wù)器發(fā)送查詢請(qǐng)求;
(3)根域名服務(wù)器向遞歸解析器返回.com頂級(jí)域名服務(wù)器的地址;
(4)遞歸解析器向.com頂級(jí)域名服務(wù)器發(fā)送查詢請(qǐng)求;
(5).com頂級(jí)域名服務(wù)器向遞歸解析器返回example.com權(quán)威域名服務(wù)器的地址;
(6)遞歸解析器向example.com權(quán)威域名服務(wù)器發(fā)起請(qǐng)求;
(7)example.com權(quán)威域名服務(wù)器向遞歸解析器返回www.example.com對(duì)應(yīng)的IPv4地址;
(8)遞歸解析器向客戶端返回結(jié)果。
如前所述,這些傳統(tǒng)的DNS解析并沒有進(jìn)行加密,所有的查詢和響應(yīng)都以明文的形式暴露在鏈路上,因此導(dǎo)致了許多安全和隱私問題[7]。以上述流程為例,在用戶和遞歸解析器的通信過程中,用戶的IP和請(qǐng)求的域名www.example.com會(huì)同時(shí)暴露在鏈路上,同一網(wǎng)絡(luò)下的攻擊者可以輕易地獲取用戶的隱私數(shù)據(jù),甚至對(duì)請(qǐng)求和響應(yīng)內(nèi)容進(jìn)行篡改。除鏈路上的隱私泄露以外,在解析器方面也存在著隱私風(fēng)險(xiǎn),域名解析請(qǐng)求中包含的用戶隱私信息對(duì)解析器是可見的,解析器可以在向用戶提供DNS服務(wù)的同時(shí)對(duì)用戶隱私進(jìn)行收集和濫用。
針對(duì)鏈路上的隱私泄露問題,已經(jīng)出現(xiàn)了很多基于加密的DNS傳輸方法并已推出了相關(guān)標(biāo)準(zhǔn),例如DoT和DoH,可以有效避免DNS攜帶的用戶隱私在鏈路上明文暴露。
對(duì)DNS消息進(jìn)行加密以避免傳輸鏈路上的信息暴露能使得所有有隱私意識(shí)的互聯(lián)網(wǎng)用戶受益,但是對(duì)DNS報(bào)文進(jìn)行加密不能阻止解析器看到用戶的網(wǎng)站域名訪問記錄,用戶的隱私依然面臨著來自解析器方的威脅。另一方面,DNS加密傳輸?shù)玫綇V泛部署的一種可能后果是導(dǎo)致DNS流量集中涌向少部分加密解析服務(wù)提供商。
傳統(tǒng)DNS中遞歸解析器通常由用戶各自的網(wǎng)絡(luò)服務(wù)提供者進(jìn)行分配,在用戶切換網(wǎng)絡(luò)接入點(diǎn)時(shí)(例如在公司、住處,以及移動(dòng)網(wǎng)絡(luò)之間切換),用戶使用的遞歸解析器也可能改變,而DNS加密的出現(xiàn)和實(shí)現(xiàn)方式改變了這一情況。2020年2月Mozilla與Cloudflare合作為美國(guó)的所有Firefox用戶默認(rèn)啟用了DoH[8],這一舉措引發(fā)了業(yè)界的爭(zhēng)議和擔(dān)憂。在目前的與瀏覽器結(jié)合的實(shí)現(xiàn)方式中,開啟DoH的瀏覽器用戶在切換網(wǎng)絡(luò)接入點(diǎn)時(shí)遞歸解析器依然保持不變,用戶的全部域名解析歷史都會(huì)被DoH解析器收集。雖然用戶可以自主選擇該解析器的提供者,但無論如何選擇,用戶最終總是要將自己的全部網(wǎng)頁瀏覽歷史記錄對(duì)其選擇的解析器呈現(xiàn)。如果該解析器惡意地將收集到的DNS查詢記錄用于非法目的,就會(huì)對(duì)用戶的隱私造成嚴(yán)重威脅,而一般用戶很難判斷某個(gè)解析器是否值得信任。惡意的解析器不僅會(huì)威脅個(gè)人隱私安全,而且當(dāng)其獲取足夠大的用戶流量后,可以對(duì)一片區(qū)域、一個(gè)國(guó)家甚至全球范圍的用戶進(jìn)行分析和侵害。除了隱私威脅問題以外,集中化的解析模型下解析服務(wù)單點(diǎn)失效[9]也將造成大范圍的嚴(yán)重影響。
RFC 3833[10]將DNS面臨的安全威脅分為3個(gè)部分,包括:DNS傳輸鏈路上的安全通信威脅,拒絕服務(wù)攻擊(DoS/DDoS),以及利用DNS服務(wù)器軟件的漏洞對(duì)DNS服務(wù)器進(jìn)行攻擊。ROSSEBO J等人對(duì)DNS隱私被利用的方式進(jìn)行了分析,發(fā)現(xiàn)一些組織和公司通過收集用戶DNS數(shù)據(jù)來建立用戶畫像,設(shè)計(jì)商業(yè)行為[11]。KONINGS B等人通過在校園網(wǎng)進(jìn)行實(shí)驗(yàn),發(fā)現(xiàn)用戶真實(shí)姓名、用戶設(shè)備名稱等敏感信息也會(huì)伴隨DNS隱私一同泄露[12]。BANSE C等人對(duì)基于流量的行為跟蹤技術(shù)做出了研究,使用貝葉斯模型和DNS數(shù)據(jù)對(duì)用戶進(jìn)行跟蹤,實(shí)驗(yàn)結(jié)果表明,通過DNS數(shù)據(jù)可以準(zhǔn)確的分析用戶行為[13]。
為了解決鏈路上的DNS隱私問題IETF推動(dòng)了多項(xiàng)DNS加密協(xié)議的研究與標(biāo)準(zhǔn)化工作,其中主要的成果就是DoT和DoH。這些加密傳輸方案為DNS提供傳輸過程中的數(shù)據(jù)完整性保護(hù)和隱私保護(hù)。
DoT基于TLS來對(duì)DNS請(qǐng)求交互報(bào)文進(jìn)行加密,可以保證DNS查詢結(jié)果不會(huì)被竊聽和篡改。但是由于 DoT 會(huì)占用一個(gè)單獨(dú)的853端口,網(wǎng)關(guān)可以通過限制這個(gè)端口流量來限制 DoT 的查詢。這一弱點(diǎn)使得推廣過程中ISP方面的阻力變得不可忽視。
DoH是目前廣受歡迎且具有代表性的域名解析安全增強(qiáng)方案[14],其使用加密的HTTPS協(xié)議進(jìn)行DNS解析請(qǐng)求,如圖2所示,保護(hù)了用戶的域名解析請(qǐng)求和接收到的響應(yīng),最終達(dá)到保護(hù)DNS數(shù)據(jù)完整性和隱私性的目的。雖然HTTPS帶來了額外的鏈接成本和傳輸開銷,但通過鏈接復(fù)用等手段可以有效地提高DoH的性能表現(xiàn),其相比傳統(tǒng)DNS的額外延遲是可以接受的。
圖2 DoH通過安全的HTTPS傳輸DNS報(bào)文Fig.2 DoH transmits DNS messages over secure HTTPS
DNS加密傳輸方案作為目前解決DNS隱私問題最為可行的辦法,成為了近期DNS隱私保護(hù)方向的研究熱點(diǎn),國(guó)內(nèi)外已經(jīng)針對(duì)DoT和DoH開展了很多研究工作。B?TTGER等人對(duì)DoH的性能表現(xiàn)和額外開銷進(jìn)行了測(cè)量,并評(píng)估了DoH對(duì)網(wǎng)頁加載時(shí)間的影響[15]。LU等人對(duì)DoT和DoH的部署情況和傳輸性能進(jìn)行了廣泛測(cè)量,并對(duì)DNS加密傳輸?shù)幕ゲ僮餍赃M(jìn)行了研究[16]。SHULMAN等人討論了DNS加密傳輸方案在部署時(shí)可能面臨的困難,對(duì)DNS加密傳輸?shù)碾[私保護(hù)效益、互操作性和額外開銷進(jìn)行了分析[17]。
在防止DNS解析服務(wù)提供者對(duì)用戶隱私進(jìn)行收集的研究中主要有兩種思路:通過代理的方式防止DNS服務(wù)端得到用戶的IP,通過改變用戶的請(qǐng)求方式來避免服務(wù)端收集用戶的真實(shí)完整行為歷史。
其中基于代理的方式有ODNS和ODoH, P SCHMITT等人提出了ODNS(Oblivious DNS)[18],使用ODNS名稱空間的權(quán)威服務(wù)器作為用戶的遞歸解析器,通過額外的模糊層避免這些解析器獲得用戶的IP地址。SINGANAMALLA等人提出了ODoH(Oblivious DNS over HTTPS)[19],通過代理的方式增強(qiáng)了DoH,DoH服務(wù)器僅能獲取代理服務(wù)器的IP而無法獲得用戶的IP,同時(shí)加密的DoH可以確保代理服務(wù)器僅能獲取用戶的IP而無法觀察到用戶請(qǐng)求的內(nèi)容。因此這一機(jī)制有效保護(hù)用戶隱私的前提是代理服務(wù)提供者和DoH服務(wù)提供者不能相同。
通過改變用戶請(qǐng)求方式來實(shí)現(xiàn)用戶隱私保護(hù)的方案均實(shí)現(xiàn)于DNS客戶端內(nèi),可以保證與現(xiàn)有DNS體系的兼容,屬于輕量級(jí)隱私保護(hù)方案。ZHAO等人對(duì)傳統(tǒng)DNS 解析的整個(gè)流程進(jìn)行了分析,對(duì)每個(gè)步驟存在的DNS隱私泄露風(fēng)險(xiǎn)進(jìn)行了總結(jié),并提出了范圍查詢(Range Query)[20],使用冗余的查詢來隱藏用戶真正的查詢意圖。NP HOANG等人提出了K-resolver[21],通過基于哈希法的請(qǐng)求分散策略避免單個(gè)解析器對(duì)用戶請(qǐng)求歷史的完整收集。AUSTIN HOUNSEL等人分析了與DNS加密和集中化相關(guān)的爭(zhēng)議和隱私問題,并對(duì)請(qǐng)求分散策略中遞歸解析器的選擇方法進(jìn)行了對(duì)比研究[22]。
使用多解析器機(jī)制對(duì)用戶的DNS請(qǐng)求進(jìn)行分散的過程中,解析器的選擇方法是機(jī)制的核心問題。不同的選擇方法直接決定了請(qǐng)求分散的效果和用戶感知到的域名解析體驗(yàn)。
常用的解析器選擇方法有哈希法、輪詢法和隨機(jī)法。其中哈希法將域名映射到候選解析器上,可以保證域名和解析器的固定對(duì)應(yīng)關(guān)系。輪詢法在每次用戶發(fā)起域名解析請(qǐng)求時(shí)在候選解析器列表中進(jìn)行輪詢。隨機(jī)法即每次選擇解析器時(shí)進(jìn)行隨機(jī)選擇。如文獻(xiàn)[22]中所述,在目前的選擇方法中,僅有哈希法可以實(shí)現(xiàn)域名與解析器的固定化,即多次對(duì)同一個(gè)域名發(fā)起請(qǐng)求,每次選擇的解析器都為同一個(gè)。而缺少固定化的選擇方法在足夠多的解析次數(shù)后,每個(gè)候選解析器最終都能觀察到用戶的全部域名訪問記錄。
本文提出一種改進(jìn)的解析器輪詢選擇方法。改進(jìn)的輪詢方法通過增加一個(gè)解析記錄表來實(shí)現(xiàn)域名和解析器的固定對(duì)應(yīng),記錄表保存用戶的所有域名解析歷史。當(dāng)一個(gè)新的解析請(qǐng)求到來時(shí),檢查其中包含的域名是否被某個(gè)解析器處理過。如存在處理記錄,則為了保持該域名與其相關(guān)解析器的固定關(guān)系,繼續(xù)使用之前的解析器處理本次請(qǐng)求。如不存在相應(yīng)的記錄,則由輪詢算法選擇處理該域名請(qǐng)求的解析器,完成解析后增加新的記錄。
相比哈希法,輪詢法可以實(shí)現(xiàn)更高的請(qǐng)求分散效果。此外,輪詢法可以通過選擇合適的指標(biāo),引入權(quán)重系數(shù)后優(yōu)化為加權(quán)輪詢法,提高多解析器機(jī)制的整體域名解析速度。
本文實(shí)現(xiàn)的機(jī)制沒有改變DNS層次結(jié)構(gòu)的任何其他組件或DoH協(xié)議本身,僅研究在客戶端實(shí)現(xiàn)多解析器查詢方案來達(dá)成分散用戶隱私的設(shè)計(jì)目標(biāo)。在大多數(shù)現(xiàn)有的DoH實(shí)現(xiàn)中,DoH客戶端被集成在了瀏覽器內(nèi)。而本文為了實(shí)現(xiàn)更通用的設(shè)計(jì)且便于代碼實(shí)現(xiàn),對(duì)多解析器機(jī)制進(jìn)行獨(dú)立實(shí)現(xiàn),與瀏覽器解藕。通過修改操作系統(tǒng)的DNS遞歸解析器地址配置,所有DNS解析請(qǐng)求會(huì)被發(fā)送至一個(gè)本地的DNS-DoH翻譯器,由翻譯器向遞歸解析器發(fā)起DoH請(qǐng)求并向請(qǐng)求者返回DNS結(jié)果。DNS和DoH報(bào)文的轉(zhuǎn)換過程發(fā)生在本地,所以不會(huì)出現(xiàn)明文暴露在鏈路上的問題。
本文的多解析器方法在進(jìn)行解析器選擇時(shí)主要考慮的因素是候選解析器的選擇方式以及域名和遞歸解析器的固定化,固定化通過對(duì)域名-解析器查詢記錄表的檢查和更新實(shí)現(xiàn),最終設(shè)計(jì)如圖3所示。
圖3 多解析器機(jī)制設(shè)計(jì)Fig.3 Multi-resolver mechanism design
在候選解析器選擇方式上,采用樸素的輪詢方式可以使用戶的域名查詢隱私在各解析器之間均勻分布。采用基于ping值的加權(quán)輪詢方式可以使用戶獲得更好的域名解析服務(wù)體驗(yàn)。權(quán)重計(jì)算公式如下:
以一個(gè)實(shí)際場(chǎng)景為例對(duì)整個(gè)流程進(jìn)行詳細(xì)介紹?,F(xiàn)有用戶使用瀏覽器多次訪問了兩個(gè)域名a.com和b.com,考慮用戶訪問順序、訪問時(shí)間間隔和用戶側(cè)緩存過期等因素,設(shè)最終瀏覽器發(fā)起的域名解析請(qǐng)求順序如下[a.com, b.com, a.com],則本文實(shí)現(xiàn)的多解析器機(jī)制工作情況如下:
(1)瀏覽器發(fā)起DNS解析系統(tǒng)調(diào)用,操作系統(tǒng)根據(jù)配置的DNS解析器地址(翻譯器)將a.com發(fā)送至翻譯器請(qǐng)求解析;
(2)翻譯器查找域名-解析器查詢記錄表,不存在a.com的查詢記錄,根據(jù)輪詢方式選擇解析器1作為本次解析的服務(wù)器;
(3)翻譯器根據(jù)RFC8484將原始的DNS請(qǐng)求轉(zhuǎn)為DoH請(qǐng)求,向解析器1發(fā)送;
(4)解析器1完成后續(xù)的域名解析工作并向翻譯器返回DoH的解析結(jié)果;
(5)翻譯器將DoH轉(zhuǎn)換為原始DNS報(bào)文并返回;
(6)翻譯器記錄本次查詢的域名a.com和處理本次查詢的解析器1;
(7)當(dāng)b.com的解析請(qǐng)求到來時(shí),機(jī)制工作過程與(1)-(6)相同,翻譯器最終記錄b.com和通過輪詢得到的處理該域名的解析器2;
(8)第二次處理a.com時(shí),翻譯器查找記錄表找到a.com和上次處理該域名的解析器1,因此不進(jìn)行輪詢選擇,直接向解析器1再次發(fā)送DoH解析請(qǐng)求。
以上所述的多解析器機(jī)制通過引入域名解析記錄表,可以在多個(gè)候選解析器之間分散用戶的域名解析請(qǐng)求并保證域名和解析器的固定化?;谟涗洷淼妮喸冞x擇方法相比哈希方法更加靈活,能通過定義權(quán)重進(jìn)行性能優(yōu)化。雖然記錄表帶來了額外的存儲(chǔ)空間消耗和維護(hù)成本,但對(duì)于一般的互聯(lián)網(wǎng)用戶所請(qǐng)求解析的域名總量而言,該成本可以忽略不計(jì)。
本節(jié)中將討論如何設(shè)置和進(jìn)行實(shí)驗(yàn),以分析多解析器機(jī)制在不同選擇方法下的隱私保護(hù)效果及整體解析性能。
本文選取了Tranco提供的域名列表的前100個(gè)來模擬用戶的域名訪問列表[23]。在解析器列表的制定上,根據(jù)解析器所處的地理位置在Curl提供的公共DoH服務(wù)器項(xiàng)目[24]中進(jìn)行選擇。具體的解析器選擇和編號(hào)結(jié)果見表1。
表1 候選DNS解析器Table 1 Candidate DNS resolver
哈希方法中,域名字符串被哈希函數(shù)映射到0-5的整數(shù),對(duì)應(yīng)序號(hào)的候選解析器將被選中負(fù)責(zé)完成該域名的解析。
改進(jìn)的輪詢方法中,通過維護(hù)一個(gè)全局變量在每次解析請(qǐng)求后自增一并候選解析器個(gè)數(shù)取模,與解析器編號(hào)進(jìn)行對(duì)應(yīng),完成解析器的輪詢。
基于ping值的加權(quán)輪詢算法中,首先對(duì)候選解析器進(jìn)行ping延遲測(cè)量,根據(jù)解析器的ping時(shí)間進(jìn)行排序并計(jì)算權(quán)重,生成加權(quán)輪詢隊(duì)列以進(jìn)行解析器的選擇。
本文在運(yùn)行Ubuntu 18.04.3 LTS的機(jī)器上進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)機(jī)的網(wǎng)絡(luò)環(huán)境為中國(guó)科學(xué)院教育網(wǎng)。
(1)記錄表輪詢的固定化驗(yàn)證
首先對(duì)引入記錄表而獲得的域名-解析器固定化進(jìn)行驗(yàn)證。實(shí)驗(yàn)中對(duì)多選擇器機(jī)制進(jìn)行多次解析測(cè)試,每完成一輪測(cè)試后將域名列表進(jìn)行打亂重排再進(jìn)行下一次測(cè)試。在完成有記錄表機(jī)制的輪詢的多次解析測(cè)試后,通過修改代碼實(shí)現(xiàn)中的記錄表部分,屏蔽向記錄表中添加域名請(qǐng)求記錄的功能,實(shí)現(xiàn)無記錄表機(jī)制的傳統(tǒng)輪詢選擇方法,再次進(jìn)行多次解析測(cè)試,將域名請(qǐng)求的分布結(jié)果進(jìn)行對(duì)比,如圖4所示。
圖4 解析器獲得的獨(dú)立域名個(gè)數(shù)與解析輪次關(guān)系Fig.4 Relationship between the number of independent domain names obtained by the resolver and the number of resolution rounds
由實(shí)驗(yàn)結(jié)果可見,無記錄表的傳統(tǒng)輪詢方法由于缺少域名和解析器的綁定,隨著解析次數(shù)的增加,候選的解析器能觀察到更多的用戶域名請(qǐng)求歷史,無法實(shí)現(xiàn)請(qǐng)求分散的設(shè)計(jì)初衷。而本文提出的引入記錄表的輪詢實(shí)現(xiàn)可以實(shí)現(xiàn)域名和解析器的固定化,經(jīng)過多輪解析測(cè)試后每個(gè)解析器依然只能觀察到整個(gè)用戶請(qǐng)求歷史的一小部分。
(2)橫向?qū)Ρ葘?shí)驗(yàn)
為了獲得加權(quán)輪詢算法計(jì)算權(quán)重所需的ping延遲排序,開始對(duì)比實(shí)驗(yàn)前先對(duì)用戶到所有候選解析器的ping值進(jìn)行測(cè)量,為了避免解析器拒絕返回ICMP報(bào)文,測(cè)量使用了基于TCP的ping方式。測(cè)量結(jié)果、排序和權(quán)重計(jì)算結(jié)果如表2所示。
表2 候選解析器的ping測(cè)量和權(quán)重計(jì)算Table 2 Ping measurement and weight calculation for candidate resolvers
在對(duì)比實(shí)驗(yàn)中,本文對(duì)哈希,通過查詢記錄表保持固定化的樸素輪詢,通過查詢記錄表保持固定化的加權(quán)輪詢分別進(jìn)行實(shí)驗(yàn)測(cè)試。每個(gè)獨(dú)立的域名會(huì)被隨機(jī)解析1到5次,以模擬現(xiàn)實(shí)場(chǎng)景中用戶對(duì)相同網(wǎng)頁的重復(fù)訪問。
根據(jù)實(shí)驗(yàn)結(jié)果可見,各類解析器選擇策略表現(xiàn)出了不同的請(qǐng)求分散程度,引入了記錄表的輪詢方法分布最為均勻。為了量化實(shí)驗(yàn)結(jié)果,通過標(biāo)準(zhǔn)差對(duì)各選擇策略的分散程度進(jìn)行衡量,標(biāo)準(zhǔn)差計(jì)算結(jié)果如表3所示。
表3 解析器上分布的域名數(shù)量的標(biāo)準(zhǔn)差Table 3 Standard deviation of the number of domains distributed on the resolvers
由不同選擇策略的解析器選擇結(jié)果標(biāo)準(zhǔn)差可見,改進(jìn)的輪詢法可以實(shí)現(xiàn)最好的請(qǐng)求分散效果,將用戶在DNS服務(wù)端的隱私進(jìn)行最大程度的分散,而加權(quán)輪詢算法在分散效果上表現(xiàn)較差。在下一步實(shí)驗(yàn)中將對(duì)三種策略的性能表現(xiàn)進(jìn)行進(jìn)一步研究。
為了將傳統(tǒng)集中式方法和多解析器方法的性能表現(xiàn)進(jìn)行對(duì)比,在測(cè)試三種選擇方法的同時(shí)對(duì)列表中每個(gè)解析器都單獨(dú)進(jìn)行一輪域名解析測(cè)試并記錄解析延遲。
對(duì)比實(shí)驗(yàn)結(jié)果顯示,加權(quán)輪詢的平均解析延遲明顯低于哈希法和輪詢法,這是因?yàn)榇蟛糠值慕馕稣?qǐng)求被發(fā)送到了響應(yīng)較快的解析器上。此外,可以觀察到輪詢法的整體解析延遲略低于哈希法,通過結(jié)合圖5的域名分布情況進(jìn)行分析可知,這是由于哈希法將較多的域名映射到了響應(yīng)最慢的解析器1上,而輪詢法的延遲表現(xiàn)與各解析器的整體平均表現(xiàn)相當(dāng)。
圖5 不同選擇策略的域名解析分布Fig.5 Distribution of domain name resolution with different selection strategies
圖6 域名解析延遲對(duì)比Fig.6 Domain name resolution latency comparison
綜合全部實(shí)驗(yàn)結(jié)果可得出三種選擇策略的特點(diǎn)。其中,哈希方法將請(qǐng)求以接近正態(tài)分布的方式分散在候選解析器列表中。由于哈希結(jié)果的隨機(jī)性,可能會(huì)導(dǎo)致較多的流量流向部分響應(yīng)很慢的解析器,導(dǎo)致整體性能不佳,也可能反之,因此基于哈希法的多解析器機(jī)制最終性能表現(xiàn)有一定的不確定性。樸素輪詢法可以以均勻分布的形式分散用戶的請(qǐng)求,因此其最終性能表現(xiàn)將為候選解析器列表的整體平均性能。加權(quán)輪詢法相比樸素輪詢犧牲了一部分請(qǐng)求分散效果,以換取更好的性能表現(xiàn),其分散程度和性能水平由權(quán)重計(jì)算的具體實(shí)現(xiàn)方法決定。本文提出的權(quán)重計(jì)算方法僅作為一種參考。
在當(dāng)前DNS隱私保護(hù)逐漸受到重視的趨勢(shì)下,DNS加密傳輸帶來的集中化問題也需要更多的關(guān)注和研究。多解析器機(jī)制作為一種實(shí)現(xiàn)于域名解析客戶端上的輕量級(jí)解決方案,可以有效緩解集中化問題,在遞歸解析服務(wù)端保護(hù)用戶隱私。多解析器機(jī)制相比基于代理的ODNS和ODoH方法,沒有改變DNS層次結(jié)構(gòu)的其他組件,無需部署額外的基礎(chǔ)設(shè)施,在應(yīng)用和推廣上有著很大的優(yōu)勢(shì),值得深入研究。本文通過對(duì)多解析器機(jī)制中的請(qǐng)求分散策略進(jìn)行研究分析,提出了一種引入域名解析記錄表的輪詢策略,并進(jìn)一步提出使用基于ping延遲的加權(quán)輪詢方法改進(jìn)多解析器機(jī)制的整體性能。相比此前研究主要采用的哈希方法,本文提出的改進(jìn)輪詢方法在請(qǐng)求分散的效果上可以實(shí)現(xiàn)均勻分布的最佳分散效果,在性能優(yōu)化方面,加權(quán)輪詢方法提升了多解析器機(jī)制的整體解析速度,代價(jià)是降低了請(qǐng)求分散的能力。用戶可以根據(jù)其對(duì)隱私保護(hù)效果和性能的偏好在兩種方案中進(jìn)行選擇。
多解析器機(jī)制的請(qǐng)求分散策略中還有一個(gè)問題未得到解決,就是分散程度與用戶隱私保護(hù)效果的具體關(guān)系。以本文的加權(quán)輪詢方法為例,當(dāng)某個(gè)候選解析器權(quán)重過高時(shí),它將能收集到足夠用來構(gòu)建用戶畫像的隱私數(shù)據(jù)。在該方向的下一步的研究中,應(yīng)當(dāng)在信息熵等角度對(duì)分散程度和用戶隱私保護(hù)效益的關(guān)系進(jìn)行更深入的探討。
利益沖突聲明
所有作者聲明不存在利益沖突關(guān)系。