文/單康康 江肖強(qiáng)
混合加密機(jī)制降低計(jì)算復(fù)雜度
文/單康康 江肖強(qiáng)
DNS是一個(gè)分布式的域名解析系統(tǒng),它通過緩存技術(shù)、樹狀分層授權(quán)結(jié)構(gòu)實(shí)現(xiàn)域名與IP地址及郵件服務(wù)等的相互轉(zhuǎn)換,但DNS服務(wù)與域名解析服務(wù)器之間采用無連接的UDP協(xié)議,無法確認(rèn)數(shù)據(jù)來源及是否被篡改,存在較大的安全隱患,使得DNS服務(wù)器經(jīng)常遭受各種攻擊。
目前DNS主要存在數(shù)據(jù)包截取、ID猜測、緩存中毒、DDoS分布式拒絕服務(wù)攻擊、緩存區(qū)漏洞溢出攻擊、域名無效攻擊、不安全的動(dòng)態(tài)更新和信息泄漏等多種安全威脅。
目前有一些非DNSSEC安全措施能緩解部分DNS安全問題:
1)限制ZONE區(qū)域數(shù)據(jù)傳送;
2)服務(wù)地址限制;
3)關(guān)閉域名服務(wù)器遞歸查詢功能;
4)Split DNS;
5)TSIG機(jī)制。
但這些安全措施僅從局部緩解DNS部分安全問題,沒有對DNS報(bào)文數(shù)據(jù)進(jìn)行源身份認(rèn)證和數(shù)據(jù)完整性檢查,沒有從DNS內(nèi)部根本解決安全問題。
公鑰機(jī)制
公鑰機(jī)制(非對稱加密算法)是一種強(qiáng)安全性的加密技術(shù),其優(yōu)點(diǎn)是密鑰管理方便,可實(shí)現(xiàn)數(shù)字簽名和身份認(rèn)證等功能。
公鑰機(jī)制首先生成一個(gè)公鑰/私鑰對,公鑰公開,私鑰自己保留。如典型的RSA公鑰技術(shù)是一種基于大質(zhì)數(shù)的因式分解的分組密碼系統(tǒng),其中的明文和密文都是對于某個(gè)n的從0到n-l之間的整數(shù),主要是求模運(yùn)算。
圖1為公鑰加密主要流程,其中發(fā)送方使用私鑰對明文進(jìn)行加密,接收方利用公鑰對密文進(jìn)行解密得到明文,經(jīng)公鑰加密技術(shù)加密的明文能且只能通過其對應(yīng)的另一密鑰進(jìn)行解密。
基于公鑰技術(shù)的DNSSEC
DNSSEC采用公鑰技術(shù)對DNS信息進(jìn)行數(shù)字簽名,DNSSEC提供兩方面的驗(yàn)證:DNS源發(fā)送方身份認(rèn)證;DNS數(shù)據(jù)包完整性驗(yàn)證。
圖1 公鑰加密流程
圖2 發(fā)送方對DNS數(shù)據(jù)進(jìn)行數(shù)字簽名
圖3 接收方對簽名后的DNS數(shù)據(jù)進(jìn)行解密
DNS數(shù)據(jù)認(rèn)證需要用請求者接收的公鑰對接收的DNS數(shù)據(jù)進(jìn)行解密比對以保證數(shù)據(jù)完整性與正確性,DNSSEC采用委托信任鏈機(jī)制實(shí)現(xiàn)公鑰的分發(fā)與認(rèn)證,DNSSEC建立一個(gè)信任鏈表,使得ZONE父區(qū)對子區(qū)的公鑰進(jìn)行認(rèn)證,保證解析請求者本地DNS獲得正確的公鑰。
DNSSEC在原有的DNS域名解析體系上加入公鑰技術(shù)為ZONE區(qū)域產(chǎn)生一個(gè)公鑰/私鑰對并存放于權(quán)威域名服務(wù)器中,權(quán)威DNS服務(wù)器利用私鑰對DNS數(shù)據(jù)進(jìn)行數(shù)字簽名,域名解析請求者本地DNS服務(wù)器利用得到的公鑰對接收到的加密DNS數(shù)據(jù)進(jìn)行解密,如果驗(yàn)證通過則確定DNS數(shù)據(jù)是由正確的權(quán)威DNS發(fā)送,同時(shí)保證了DNS數(shù)據(jù)傳輸中沒有被篡改。
圖2為DNS消息發(fā)送方先使用Hash函數(shù)對要發(fā)送的DNS信息進(jìn)行Hasn計(jì)算得到相應(yīng)的的Hash信息摘要,然后發(fā)送方利用非對稱私鑰對其數(shù)字簽名,最后將經(jīng)簽名后的摘要數(shù)據(jù)和DNS原數(shù)據(jù)一起發(fā)送至接收方。
圖3為接收方利用先前接收到的非對稱公鑰對接收到的DNS數(shù)據(jù)包中加密過的數(shù)據(jù)進(jìn)行解密得到Hash摘要,然后利用與發(fā)送方相同的Hash函數(shù)對接收到的DNS原始數(shù)據(jù)進(jìn)行Hash計(jì)算,得到Hash摘要,將此Hash摘要與解密后得到的Hash摘要進(jìn)行比對,如果兩者相同則接收發(fā)送方的身份,同時(shí)確認(rèn)接收到的DNS信沒有被篡改。
在以上通信過程中,DNS數(shù)據(jù)包發(fā)送前經(jīng)過了一次Hash計(jì)算和一次非對稱加密計(jì)算,DNS數(shù)據(jù)包在接收后再次進(jìn)行了一次Hash計(jì)算和一次非對稱加密計(jì)算,兩次對DNS信息的非對稱密鑰計(jì)算在一定程度上加大了雙方CPU計(jì)算時(shí)間和負(fù)載。
對稱加密算法
對稱加密算法在加密和解密中共享同一密鑰,也稱為單密鑰算法。它要求發(fā)送方和接收方在安全通信之前共同商定一個(gè)密鑰。對稱加密算法的安全性依賴于共享密鑰,對稱加密算法的優(yōu)點(diǎn)是算法公開、計(jì)算量小、加密速度快、加密效率高。
圖4是典型的對稱加密算法,其中發(fā)送方和接收方使用相同的密鑰K對信息進(jìn)行加密和解密。
混合加密機(jī)制及其在DNSSEC中的應(yīng)用
在數(shù)據(jù)加密/解密的處理效率方面,對稱加密算法優(yōu)于非對稱加密算法,例如DES對稱加密算法,其密鑰長度只有56bit,可以用軟硬件實(shí)現(xiàn)高速處理,在軟件實(shí)現(xiàn)時(shí)其加密效率可以達(dá)到幾兆字節(jié)/秒,適合于大量信息的快速加密解密。如RSA算法由于需要進(jìn)行大數(shù)計(jì)算,其加密解密速度比DES慢的多。
在密鑰管理方面,非對稱加密算法優(yōu)于對稱加密算法,例如RSA算法可以將公鑰公開,只需將自己的私鑰保密,DES算法的密鑰更新較困難。
混合加密機(jī)制利用非對稱加密算法加密對稱加密算法的密鑰,然后利用對稱密鑰對DNS數(shù)據(jù)進(jìn)行加解密處理,該混合加密機(jī)制結(jié)合了非對稱加密算法密鑰管理的快捷與對稱加密算法加解密效率高、安全性好的優(yōu)點(diǎn),提高了DNSSEC協(xié)議整體執(zhí)行效率。
圖5為混合加密機(jī)制在DNSSEC中的主要流程示意,用戶發(fā)起對某個(gè)域名的解析請求后,用戶本地DNS利用信任鏈得到域名權(quán)威服務(wù)器的公鑰,ZONE所屬權(quán)威DNS利用私鑰加密對稱密鑰后發(fā)送給本地DNS,本地DNS利用之前獲得的非對稱公鑰解密數(shù)據(jù)得到對稱密鑰,然后權(quán)威DNS利用對稱密鑰加密欲傳送的DNS數(shù)據(jù)并發(fā)送給本地DNS,本地DNS利用與發(fā)送方權(quán)威DNS共享的對稱密鑰將接收到的數(shù)據(jù)進(jìn)行解密并將解密后的DNS數(shù)據(jù)返回給請求用戶,用戶最終得到完整的正確的域名解析結(jié)果。此后本地DNS與權(quán)威DNS之間的域名解析通信就可以利用對稱密鑰快速處理。
圖4 對稱加密算法流程
圖5 混合加密機(jī)制在DNSSEC的應(yīng)用流程
性能分析
在安全性方面,目前來講對稱加密算法使用長密鑰時(shí)破解困難,而非對稱加密算法如RSA里的公鑰和私鑰是一對大素?cái)?shù)函數(shù),從一個(gè)公鑰和密文中破解出明文的難度等價(jià)于分解兩個(gè)大素?cái)?shù)之積,而分解兩個(gè)大素?cái)?shù)之積到目前為止仍然無解。所以就目前來說,基于非對稱加密算法與對稱加密算法的混合加密機(jī)制是比較安全的。
在執(zhí)行效率方面,對稱加密算法時(shí)間復(fù)雜度為0(n),空間復(fù)雜度為0(n)。非對稱加密算法要加密對稱加密算法的密鑰,比如DES算法密鑰采用一個(gè)64bit的偽隨機(jī)數(shù),其時(shí)間復(fù)雜度與空間復(fù)雜度為O(1),因此混合加密算法的時(shí)間復(fù)雜度和空間復(fù)雜度都不超過O(n)。
因此,基于對稱加密算法與非對稱加密算法的混合加密機(jī)制可以在保證安全性的基礎(chǔ)上提高DNSSEC協(xié)議的整體運(yùn)行效率。
DNSSEC已推出多年,但由于其基于公鑰技術(shù)的技術(shù)方案實(shí)施復(fù)雜度大和對硬件要求高仍未被廣泛采用,我們將一種結(jié)合對稱加密算法加解密效率高與非對稱加密算法密鑰管理優(yōu)勢的混合加密機(jī)制引入DNSSEC并進(jìn)行相關(guān)研究,該方案可以在保證安全性的基礎(chǔ)上減小DNSSEC的整體計(jì)算復(fù)雜度,由于對稱加密算法在破解難度上仍低于非對稱加密算法,對稱密鑰一旦被破解則整個(gè)DNSSEC體系將面臨威脅,雙方通信內(nèi)容將被竊聽并可能遭篡改,因此在今后的研究工作中可以引入對稱密鑰生存周期概念,雙方使用的對稱密鑰超過一定期限將被強(qiáng)制更新以保證DNSSEC安全。
(作者單位為浙江大學(xué)信息中心)