DNS安全扩展协议DNSSEC原理与应用 |
时间:2023-10-17 13:07:14 来源:互联网 作者: |
DNSSEC依靠数字签名来保证DNS应答报文的真实性和完整性。简单来说,权威服务器使用私钥对资源记录进行签名,递归服务器利用权威服务器的公钥对应答报文进行验证。如果验证失败,则说明这一报文可能是有问题的。
举个栗子: 一台支持dnssec的递归服务器向支持dnssec的权威服务器发起vhdns.com.的A记录请求,它除了得到A记录以外还得到了同名的RRSIG记录,其中包含了vhdns.com.这个ZONE的权威数字签名,它使用vhdns.com.的私钥来签名。为了验证这一签名是否正确,递归服务器再次向vhdns.com.权威查询其公钥,即请求vhdns.com.的dnskey类型的记录。递归服务器就可以使用公钥来验证收到的A记录是否是真实且完整的。但是注意:这种状态下,这台权威服务器可能是假冒的,递归服务器请求这台假冒的权威服务器,那么对于解析结果的正确性和完整性的验证上认为是正确的,但其实这个解析结果是假冒的,怎么发现?DNSSEC需要一条信任链,即必须要有一个或者多个相信的公钥,这些公钥被称为信任锚。理想情况下,假设dnssec已经实现了全部署,那每个递归服务器只需要保留根域名服务器的dnskey。
DNSSEC的资源记录 为了实现资源记录的签名和验证,DNSSEC增加了四种类型的资源记录:RRSIG(Resource Record Signature)、DNSKEY(DNS Public Key)、DS(Delegation Signer)、NSEC(Next Secure) |
|
|
|