基于无证书签名的抗DNS中间人攻击方案
2022-01-18胡杨韩增杰叶帼华姚志强
胡杨,韩增杰,叶帼华,姚志强,3
(1. 福建师范大学计算机与网络空间安全学院,福建 福州 350117;2. 福建省公共服务大数据挖掘与应用工程技术研究中心,福建 福州 350108;3. 非遗数字化与多源信息融合福建省高校工程研究中心,福建 福清 350300)
1 引言
域名系统(DNS,domain name system)作为互联网基础设施,能够将域名和IP地址互相映射,从而保证其他网络应用的正常运行。DNS协议在设计之初对安全问题考虑不够充分:由于缺乏必要的认证机制,用户无法确认信息自身的正确性以及来源的真实性[1]。随着互联网的快速发展,DNS需要设计与其相匹配的安全协议来保障数据传输,其中抵御中间人攻击成为DNS安全保障体系中最重要的问题。中间人攻击是一种恶意第三方秘密控制两个或多个端点之间的通信通道攻击[2],攻击者利用欺骗、冒充等手段拦截或篡改通信双方的交互信息,破坏数据的机密性、完整性以及可用性。在域名解析过程中,DNS协议使用缓存机制提高解析效率,但这也为中间人攻击提供了可能性。在DNS缓存中毒攻击中,攻击者利用恶意数据覆盖本地DNS的缓存条目,导致流量定向到恶意服务器。为解决上述问题,许多学者提出了解决方案。Herzberg等[3]对DNS中间人的防御机制进行研究并分类:DNS伪造检测、熵增加机制、基于密码学的解决方案以及DNS体系结构变化。在DNS伪造检测中,一类是使用机器学习进行流量鉴别,如Thomas等[4]使用机器学习技术进行实时检测恶意软件域并将其准确聚类到特定变体,无须获取恶意软件样本,但该类方案的效果依赖于机器学习的方法以及样本的选取;另一类方案是询问对等节点统计得出结果,如Zhao等[5]提出的DCG系统可以将同一份查询复制到多个DNS服务器,使用投票机制将出现次数最多的查询作为最后结果,但投票机制存在开销处理问题,所以此类方案解析效率低。在熵增加机制中,文献[6]增加了DNS数据包的随机性以增加敌手的攻击难度,然而不能抵御对短域名的攻击。在基于密码学的解决方案中,IETF提出DNS安全扩展(DNSSEC,DNS security extensions)确保数据的完整性以及对源身份的认证,但该方案部署困难、引入额外的开销、增加服务响应时间[7];Herrmann等[8]在DNSCurve[9]的基础上提出EncDNS,该方案对DNS查询内容进行加密,但需要修改原有DNS的协议规范,广泛部署较为困难。在体系结构变化中,一类方案是更换DNS传输协议,如Zhu等[10]提出的T-DNS使用TCP和TLS代替UDP传输DNS消息,但TCP在建立连接时会增加时间开销且与现有的DNS基础设施不兼容;另一类方案是利用区块链的特性设计去中心化的DNS,如Blockstack建立分散的网络基础设施,提供不被劫持和篡改的域名服务,但存在域名注册较慢、与现有的DNS基础设施不兼容以及51%攻击问题[11]。
近年来,无证书技术签名引起学术界极大的关注,为了更好地应对DNS解析过程出现的中间人攻击以及恶意密钥生成中心(KGC,key generate center)攻击,本文在DNSSEC的基础上引入无证书签名技术提出一种轻量化解决方案。该方案可以有效抵抗常见的中间人攻击类型,能够在原有基础设施上部署和运行,并在安全性的前提下优化协议的运行效率,以达到轻量化的目的。
2 相关工作
DNSSEC作为IETF提出的首个完善的DNS安全机制,其体系结构如图1所示。该方案虽然在一定限度上解决了DNS中间人攻击问题,但是通信双方都必须使用DNSSEC协议才能维护数据来源的真实性和完整性;DNSSEC没有针对恶意KGC攻击、缓冲区溢出,拒绝服务攻击提供保护,也不能提供机密性;DNSSEC在短时间内不可能全部部署。Bernstein等[9]提出DNSCurve作为DNSSEC的替代方案,该方案采用椭圆曲线加密体制简化了密钥管理问题,并为所有DNS查询实现逐个数据包加密。但是DNSCurve只改进了DNSSEC签名算法,并没有解决DNSSEC固有的问题(恶意KGC攻击等)。Chetioui等[12]提出E-DNSSEC加强DNSSEC的安全性,该方案是在DNSEEC的基础上对DNS中传输的数据使用对称密钥进行加密与哈希处理再发送出去。该方案使用对称加密有效地解决了DNSSEC本身不能提供机密性的问题,但依然无法抵御恶意KGC攻击。
图1 DNSSEC安全体系结构Figure 1 DNSSEC security architecture
数字签名作为公钥密码体制的重要组成部分,能够确保消息在传送过程中的完整性以及消息源身份的真实性。基于公钥基础设施(PKI,public key infrastructure)[13]的数字签名是一种常用的签名方式,如在电子政务[14]等领域均会使用该密码体制。这种密码体制需要证书管理机构验证用户身份、分发证书、存储和更新证书等,因此会产生额外的开销。为了解决基于传统公钥签名体制所存在证书管理问题,Shamir[15]提出了基于身份密码机制的数字签名,该签名体制将用户公开且唯一确定的身份信息作为公钥,私钥是由系统主密钥生成的。由于私钥生成中心知道任何用户的私钥,故存在密钥托管问题。为了解决基于身份密码机制数字签名中的密钥托管问题,Al-Riyami和Paterson[16]共同提出基于无证书密码体制的数字签名概念。在无证书密码体制中,用户的私钥由KGC产生的部分私钥和用户的秘密值共同计算得出,解决了基于身份的数字签名体制中的密钥托管问题。Liu等[17]基于文献[18]提出了首个在标准模型下的无证书签名方案,并给出了详细的安全性证明过程。Xiong等[19]指出文献[17]中的无证书签名方案无法抵抗第二类攻击者。由于双线性配对的计算开销比乘法运算和指数运算要高,因此,为了提高计算效率,He等[20]首次提出不使用双线性配对的无证书签名方案,并证明了该方案可以同时抵抗两类攻击者。随后Tsai等[21]指出文献[20]无法抵抗第二类攻击者。
与此同时,Islam等[22]设计出一种不使用双线性配对的无证书签名方案并证明了该方案的安全性,后来Tiwari等[23]发现并证明文献[22]不能抵抗第二类攻击者。Yeh等[24]提出了一种适用于物联网环境下移动设备的无证书签名方案,其方案的安全性依赖于椭圆曲线离散对数问题的不可解,并证明了该方案可以同时抵御上述两类攻击者。文献[25]提出一种适用于在无线传感网下多方通信的无证书签名方案,该方案通过形式化的安全模型证明其安全性。Wang等[26]分析指出Wu等和其他签名方案的不足之处并提出了一系列的评价标准。Saeed等[27]提出了一种新型的无证书签名,该方案利用轻量级签名使得无线体域网用户能够基于物联网匿名享受医疗服务。
综上所述,由于DNSSEC部署困难、运行效率较低,并且只能抵抗部分中间人攻击,本文拟在 DNSSEC的基础上引入无证书签名技术并结合文献[28]中的3个基本原则提出一种安全且轻量的抗DNS中间人解决方案。主要贡献如下。
1)提出一种抗DNS中间人攻击的解决方案,相较于之前的DNSSEC去掉了原有的信任链、DS记录并引入了无证书签名技术,使得方案在确保安全性的前提下具有良好的前向保密性,更易于部署。
2)在签名算法和验证签名算法中,本方案在保证安全性的前提下未使用双线性配对运算。经过安全分析,该签名方案具有不可伪造性,并有更高的运行效率。
3 无证书签名方案的安全性模型
密码学方案的安全性通常规约为数学困难问题,利用困难问题的不可解来证明方案的安全性,本文所涉及的数学困难问题是椭圆曲线下的离散对数问题(ECDLP,elliptic curve discrete logarithm problem)。
无证书签名的安全模型中有两类攻击者:第一类攻击者AⅠ充当恶意用户替换其他用户的公钥但不能获取系统主密钥;第二类攻击者AⅡ充当恶意KGC获取系统主密钥但不能替换用户的公钥[29]。无证书签名方案的安全模型用以下两个游戏进行刻画。
(1)游戏一(适用于第一类攻击者)
阶段一:系统参数设置。挑战者B运行系统参数生成算法,输入参数λ,输出系统主密钥以及安全参数params。挑战者将参数发送给AⅠ并保存主密钥。
阶段二:自适应询问。攻击者AⅠ在多项式时间内自适应性地向挑战者B进行公钥询问、部分私钥询问、公钥替换询问、秘密值询问以及签名询问,利用返回信息来伪造签名。挑战者B按照签名方案模拟并回答。
阶段三:签名伪造。AⅠ输出一个(M*,σ*, ID*,P*),AⅠ在游戏中获胜,当且仅当:
1)伪造签名σ*验证有效;
2)AⅠ在询问过程中没有询问过ID*对应的部分私钥;
3)AⅠ在询问过程中没有询问过ID*对应公钥P*对消息M*的签名。
AⅠ在此游戏获胜的概率为succcⅠ(k)。
(2)游戏二(适用于第二类攻击者)
阶段一:系统参数设置。系统参数生成过程同游戏一一致,挑战者将主密钥和params发送给AⅡ。
阶段二:自适应询问。同游戏一一致,但攻击者不能进行公钥替换询问。
阶段三:签名伪造。AⅡ输出(M*,σ*,ID*,P*),AⅡ在游戏中获胜条件与游戏一一致,但攻击者不能替换ID*的公钥。
AⅡ在此游戏获胜的概率为succcⅡ(k)。
4 方案提出
由于IETF所提出的DNSSEC易受到恶意KGC等其他中间人攻击,本文在DNSSEC的基础上引入无证书签名与对称加密技术提出新的签名认证方案抵抗DNS中间人攻击。
4.1 方案安全体系结构
DNS无证书的抗中间人攻击安全体系结构如图2所示。本文提出的无证书签名方案主要由3部分组成:KGC、服务器(根域名服务器、顶级域名服务器、权威域名服务器)和递归解析器。方案的主要步骤如下。
图2 DNS无证书的抗中间人攻击安全体系结构Figure 2 DNS certificateless security architecture against man-in-the-middle attack
1)可信中心初始化系统参数,服务器与递归解析器向可信中心进行注册,获取部分公私钥及参数。
2)服务器与递归解析器获取部分公私钥后,结合秘密值生成完整的公私钥以及对应的会话密钥,并将公钥公开。
3)递归解析器收到查询内容后,使用自身与根域名解析器之间的会话密钥将查询内容加密后,将密文发给根域名解析器。
4)根域名解析器收到密文后,使用会话密钥解密后进行域名解析。
5)递归解析器与顶级域名服务器、权威域名服务器之间的交互过程同上述过程一致。
6)解析后的结果,使用私钥进行签名,发回给递归解析器;递归解析器使用对应的公钥进行验证,若验证成功,则接受该消息并发回给本地用户,否则丢弃。
4.2 方案的具体设计
本文所提出的方案主要分为4个阶段:系统初始化阶段、实体注册及密钥生成阶段、消息签名阶段、认证阶段。本文所使用的重要符号以及相关含义如表1所示。4.2.1系统初始化阶段
表1 符号说明Table 1 Notions and their meanings
本阶段,KGC生成系统参数并公开公共参数,然后根服务器、顶级域名服务器以及权威域名服务器向KGC注册获取部分公私钥。
首先,系统给定安全参数λ。KGC选择两个素数p、q,并生成在有限域Fp上阶数为q的椭圆曲线群G。P是群G的生成元,KGC随机选择作为主密钥然后计算系统公钥Ppub=sP。
最后,KGC公开系统参数params={p,q,G,并将主密钥秘密保管。
4.2.2实体注册及密钥生成阶段
(1)服务器
KGC验证IPi的正确性。验证通过后,计算。然后KGC随机选取秘密值计算通过安全信道发回给服务器。
服务器将(xi,yi)作为私钥秘密保存。(Xi,Yi)则作为公钥并与Ji公开。
根域名服务器、顶级域名服务器以及权威域名服务器根据上述方法注册后分别得到自己的公私钥对(xR,yR),(XR,YR);(xT,yT),(XT,YT);(xA,yA),(XA,YA)。
(2)递归解析器
递归解析器将私钥zr秘密保存,将公钥Zr公开。
4.2.3消息签名阶段
所有实体在注册完成后,用户通过递归解析器进行交互。交互过程如下。
1) 用户使用浏览器访问某个网站,按域名解析过程将查询消息发送给递归解析器。
2) 递归解析器计算与根域名服务器之间的会话密钥KR=z r(JR+H0(IPR)Ppub)。该解析器使用会话密钥对查询的内容进行加密,得出查询密文β。递归解析器将密文β发送给根域名服务器。
3) 根域名服务器收到密文β并计算对称密钥:
4) 根域名服务器使用KR对β进行解密之后,通过查询获取所要查询网站对应的顶级域名服务器的IPT,该查询结果定义为MR。根服务器计算签 名σR=xR+yR+dR∙μRmodq,μR=H3(MR,将发给递归解析器。
4.2.4认证阶段
递归解析器收到根域名解析器的消息后,首先验证tR是否在规定时间范围内。假如超出规定范围,直接丢弃;否则计算αR=H1(AR,XR),μR=H3(M R,C R,J R,tR)。接着递归解析器验证等式σRP=X R+YR+αRPpub+J R μR是否成立,如果等式不成立,直接丢弃该响应;否则,接收该消息。通过计算可以得出以上等式均成立。
按照DNS解析的顺序,递归解析器继续向顶级域名服务器、权威域名服务器进行递归查询,最后将得到的IP地址发回给本地用户。
5 安全性与效率分析
5.1 会话密钥安全性
本方案提出递归解析器发送的内容是使用对称密钥Ki对查询内容进行加密得出的βi,会话密钥为:攻击者要计算出会话密钥Ki就要计算而攻击者仅知道Ji=d iP,Zr=z rP以及Ppub=sP,所以攻击者必须要解决ECDLP才能计算出会话密钥Ki。由于ECDLP是困难的,因此本方案通过会话密钥确保查询内容不会在传输过程中被恶意篡改。
5.2 互相认证
一方面,根据5.1分析可以得知,只有通信双方才能计算出会话密钥Ki;另一方面,递归解析器通过签名来验证消息的来源。攻击者在计算具 体 消 息 的 签 名σi=xi+yi+di∙μimodq,μi=H3(M i,Ci,J i,ti)过程中,需要知道xi、yi以及di具体数值。而(xi,yi)是服务器的私钥,di则是服务器在注册阶段KGC随机选择的数值,因此攻击者无法伪造正确的签名。
5.3 前向保密性
递归解析器与服务器之间的会话密钥具有前向保密性。根据公式看出,即便在查询过程中某个阶段会话密钥被攻击者获取,由于包含Ji与IPi会随着查询过程发生变化,其他阶段的会话密钥也会随之更换。
5.4 抵抗攻击
本文提出的方案可以抵抗恶意KGC攻击、重放攻击以及中间人攻击。
恶意KGC攻击:本文提出的方案基于无证书签名方案,根域名服务器、顶级域名服务器以及权威域名服务器的公私钥是由服务器与KGC共同生成的,因此可以有效抵抗密钥托管造成的恶意KGC攻击。
重放攻击:如果攻击者截获从服务器发回的信息{MR,σR,CR,tR}并重新发给递归解析器。根据上述过程可知,递归解析器在收到来自服务器的消息后首先检验消息中的时间戳ti是否在规定的时间范围内,如果不在,递归解析器会直接丢弃该消息。因此递归解析器能够判断并抵抗来自攻击者的重放攻击。
中间人攻击:根据以上对互相认证安全的分析可知该方案可以抵抗中间人攻击。
5.5 安全性证明
本文在随机预言机模型下证明了所提方案的安全性。具体过程如下。
5.5.1 第一类攻击者的安全性分析
定理1 假设游戏一中的哈希函数H0、H1、H2、H3均为随机预言机,若攻击者AⅠ能够在多项式时间内获胜的优势为ε(假设进行qi次Hi询问,i=0, 1, 2, 3),则挑战者B能够以的优势解决ECDLP。
证明 假设挑战者B能解决ECDLP,其困难问题嵌入循环群(G,p,g)上的问题实例(P,sP),攻击成功的条件是求出挑战者B进行如下模拟。
阶段一:初始化
挑战者B按照方案要求进行系统初始化。挑战者随机选择一个数作为系统主密钥,则系统公钥为Ppub=sP。挑战者B将该公钥以及系统参数发送给攻击者AⅠ,将主密钥秘密保存。
阶段二:自适应性询问
H0询问:攻击者对H0进行哈希询问。挑战者B需要准备一张空白的哈希表L0用来记录攻击者的询问以及对应的回答。攻击者AⅠ输入IPi,IPi∊ { 0, 1}*,哈希表L0中数组格式为(IPi,h0i),挑战者会按照如下返回结果:如果攻击者查询的IPi已在列表的数组(IPi,h0i)中,则直接返回对应的h0i;否则挑战者随机选择一个数将这个数返回给攻击者,并将新的数组(IPi,h0i)写入哈希表L0中。
H1询问:攻击者对H1进行哈希询问。挑战者B需要准备一张空白的哈希表L1用来记录攻击者的询问以及对应的回答。攻击者AⅠ输入(Ai,Xi),哈希表L1中数组格式为(Ai,Xi,h1i),挑战者会按照如下返回结果:如果攻击者查询的内容已在列表的数组(Ai,Xi,h1i)中,则直接返回对应的h1i;否则挑战者随机选择一个数将这个数返回给攻击者,并将新的数组(Ai,Xi,h1i)写入表L1中。
H2询问:攻击者对H2进行哈希询问。挑战者B需要准备一张空白的哈希表L2用来记录攻击者的询问以及对应的回答。攻击者AⅠ输入(Di,哈希表L2中数组格式为挑战者会按照如下返回结果:如果攻击者查询的内容已在列表的数组(Di,Ti,h2i)中,则直接返回对应的h2i;否则挑战者随机选择一个数将这个数返回给攻击者,并将新的数组(Di,Ti,h2i)写入哈希表L2中。
H3询问:攻击者对H3进行哈希询问。挑战者B需要准备一张空白的哈希表L3用来记录攻击者的询问以及对应的回答。攻击者AⅠ输入(Mi,Ci,,哈希表L3中数组格式为挑战者会按照如下返回结果:如果攻击者查询的内容已在列表的数组(Mi,Ci,Ji,ti)中,则直接返回对应的h3i;否则挑战者随机选择一个数,将这个数返回给攻击者,并将新的数组(Mi,Ci,Ji,ti)写入哈希表L3中。
用户秘密值询问:挑战者B创建一张空哈希表L4记录攻击者查询用户IPi所对应的秘密值与部分公钥。如果攻击者要查询的IPi在列表中存在,直接返回该IPi所对应的秘密值xi与部分公钥Xi;否则挑战者随机选择计算Xi=xiP,将xi,Xi作为用户部分公私钥,并记录到哈希表L4中。
部分私钥查询:挑战者B在哈希表L4中记录查询用户IPi所对应的部分公私钥。如果攻击者要查询的IPi在列表中存在,直接返回该IPi所对应的部分私钥yi与部分公钥Yi;否则挑战者随机选择计 算将yi,Yi作为用户部分公私钥输出,并按照对应用户IPi记录到哈希表L4中。
公钥查询:挑战者B在哈希表L4中记录查询用户IPi所对应的公钥。如果攻击者要查询的IPi在列表中存在,直接返回该IPi所对应的公钥(Xi,Yi);如果挑战者发现存在Xi,则继续筛选对应的Yi,否则返回至用户秘密值查询生成IPi对应的Xi;如果挑战者发现存在Xi,但其对应的Yi不存在,那么返回至部分私钥查询生成Xi对应的Yi。最后将(Xi,Yi)作为用户公钥输出,并按照对应用户IPi记录到哈希表L4中。
公钥替换:攻击者可以替换用户公钥中的某个部分公钥或全部公钥。如果在询问之前,攻击者试图替换部分公钥或全部公钥,则模拟中止;否则,攻击者将数组(IPi,xi,Xi)或(IPi,yi,Yi)发送给挑战者。挑战者运行部分密钥检查,如果测试成功,更新哈希表L4。
签名查询:攻击者AⅠ向挑战者发送(IPi,Mi)进行签名询问。挑战者B接收到询问之后会对上述所创建的4个哈希表进行综合查询,并且随机选取一个数计算Ji=d iP以及签名输出(IPi,Ji,σi)给攻击者AⅠ。
阶段三:攻击者挑战
攻击者AⅠ停止询问,输出任意消息m*,身份为IP*的签名σ′。根据分叉引理可知,攻击者可以获得消息m*的另一个有效签名σ′′,由此可得:
因此,若挑战者模拟成功,并且攻击者AⅠ以不可忽略的概率ε破坏该签名方案的不可伪造性。那么,挑战者能够在多项式时间内以优势解决ECDLP。
5.5.2第二类攻击者的安全性分析
定理2假设游戏二中哈希函数H0,H1,H2,H3均为随机预言机,若攻击者AⅡ能够在多项式时间内获胜的优势为ε(假设进行qi次Hi询问,i=0,1, 2, 3),则挑战者B能够以的优势解决ECDLP。
证明假设挑战者B能解决ECDLP,其困难问题嵌入循环群(G,p,g)上的问题实例(P,sP),攻击成功的条件是求出攻击者AⅡ能够获取系统主密钥但是不能更换用户公钥。挑战者B进行如下模拟:
阶段一:初始化
挑战者B进行系统初始化,将系统参数和系统密钥发送给攻击者AⅡ。
阶段二:自适应性询问
攻击者AⅡ在多项式时间内自适应性地向挑战者B进行有限次询问,步骤与定理1中的证明一致。
阶段三:攻击者挑战
攻击者AⅡ停止询问,输出身份为IP*,任意消息m*的有效签名σ',根据分叉引理可知,攻击者可以获得消息m*的另一个有效签名σ'',由此可得:
因此,若挑战者模拟成功,并且攻击者AⅡ以不可忽略的概率ε破坏该签名方案的不可伪造性。那么,挑战者能够在多项式时间内以优势解决ECDLP。
5.6 效率与安全性分析
下面计算效率和安全性这两方面分别对文献[30-32]提出的方案以及文献[7, 9, 12]提出的方案与本文方案进行分析比较,对比结果如表2与表3所示。
(1)计算效率
文献[30]的签名算法和验证算法由模的取逆运算、椭圆曲线的标量乘法运算构成,算法开销为Tsm+Tinv和6Tsm。文献[31]的签名算法和验证算法由取逆运算、椭圆曲线的标量乘法运算构成,算法开销分别为Tsm+Tinv和6Tsm。文献[32]的签名算法和验证算法由模的取逆运算、椭圆曲线的标量乘法运算以及双线性配对运算构成,算法开销为Tsm+Tinv和 2Tsm+Tpar。经综合得到表2,其中本方案的签名算法和验证算法由模的取逆运算、哈希运算以及椭圆曲线的标量乘法运算构成,开销分别为Tsm+Th和2Tsm+Th。
仿真实验中采用密码库MIRACL做加密操作,模的取逆运算等操作在I7-4700处理器、4 GB内存和Windows7操作系统下的执行时间分 别 是:Tinv≈ 11.62T m,Tsm≈ 29.00T m,Th≈ 29.00T m,Tpar≈ 87.00T m(Tm表示循环群G上的模乘运算所需的计算开销)。由此得出的总开销如表2所示,可以看出文献[30-31]中的无证书签名方案所使用到的椭圆曲线标量乘运算次数较多,计算开销较本文方案高;文献[32]使用的椭圆曲线标量乘运算次数较少,所以这种方案的效率较本文方案高。
表2 无证书方案计算效率比较Table 2 Comparison of computing efficiency of certificate less schemes
由表2看出,相较文献[30-31]而言,本文方案的计算效率更高。另外,因为文献[30-32]的签名方案可以被轻松绕过部分私钥或秘密值从而构造一个任意消息的有效签名,故均不能同时抵抗两类攻击者。
(2)安全性
本文通过虚拟机对文献[7,9,12]方案进行实验分析,然后利用本地服务器充当恶意KGC发送恶意消息进行仿真攻击;而本文方案用Python语言实现无证书签名算法,其中引入对称加密算法增加了保密性,并通过手动生成恶意的签名进行仿真攻击。由表3可知,在源身份认证方面,各个方案均能够都对消息的源身份进行签名认证。在传输过程的保密性方面,DNSSEC没有提供保密性;DNSCurve为每个DNS数据包计算不同的密钥流并对其进行加密,可以保护消息的内容免受中间人攻击;E-DNSSEC和本文方案使用对称加密的方法对传输消息进行加密。在抵抗恶意KGC攻击方面,除了本文方案的其他方案,均不能抵抗恶意KGC攻击,因为其他方案均是基于传统公钥体制进行签名的。在效率方面,其他方案在DNSSEC的基础上进行签名算法改进,并没有对其结构改动,而本文方案去掉了其难以部署的信任链以及DS记录等,计算效率相比于其他方案更高。
表3 不同DNSSEC方案的安全性比较Table 3 Safety comparison of different DNSSEC schemes
6 结束语
为了解决现有DNSSEC存在的恶意KGC以及难部署等问题,本文在DNSSEC基础上引入无证书技术,对原有方案签名过程进行改进与精简,进而提出一种更高效、更易于部署的签名认证方案。与此同时,该方案具有前向保密性,能够抵抗密钥冒充泄露与抵抗中间人攻击,并在随机预言模型下证明了方案的安全性。下一步的工作是研究对DNS缓冲区投毒攻击的群认证,进一步提高域名解析过程的安全性。