CN108476246A - 计算机网络中的安全域名解析 - Google Patents
计算机网络中的安全域名解析 Download PDFInfo
- Publication number
- CN108476246A CN108476246A CN201680055802.XA CN201680055802A CN108476246A CN 108476246 A CN108476246 A CN 108476246A CN 201680055802 A CN201680055802 A CN 201680055802A CN 108476246 A CN108476246 A CN 108476246A
- Authority
- CN
- China
- Prior art keywords
- domain name
- dns
- cache server
- dns query
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/604—Address structures or formats
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本文公开了用于改进域名系统的隐私和安全性的各种技术。在一个实施例中,一种方法包括从客户端设备向高速缓存服务器发送包含域名的DNS查询以解析域名。域名包括具有加密请求的第一部分和具有未加密网络资源标识符的第二部分。该方法还包括在客户端设备处从高速缓存服务器接收响应于发送的DNS查询的DNS响应。收到的DNS响应包含对与DNS查询相关联的域名第一部分中的加密请求的加密答复。
Description
背景技术
在诸如因特网的计算机网络中,用户可以通过字母数字域名来标识web服务器、电子邮件服务器或其他资源。然而,路由器、交换机和其他网络服务设备或多个其他网络服务设备通过数字IP地址来识别这些资源。域名系统通过在字母数字域名和对应的数字IP地址之间提供转换服务来促进这种计算机网络的操作。例如,域名服务器可以将域名“www.example.com”转换成IP地址“192.168.0.1”。然后,路由器、交换机或其他计算机服务或设备可以基于转换的IP访问地址来访问与该域名相关联的资源。
发明内容
提供本发明内容是为了以简化的形式介绍将在以下具体实施方式中进一步描述的一些概念。本发明内容并非旨在标识所要求保护的主题的关键特征或必要特征,也并非旨在用于限制所要求保护的主题的范围。
域名系统(“DNS”)通常包括多个授权服务器和高速缓存服务器。授权服务器被配置为响应DNS查询来返回特定的域名转换。高速缓存服务器被配置为从授权服务器取回转换并将取回的转换存储或“高速缓存”一段时间。为了从客户端设备解析域名(例如,“www.example.com”),高速缓存服务器可以确定对应的转换是否已经被高速缓存。如果一个是可用的,则高速缓存服务器可以将诸如IP地址的对应的转换返回给客户端设备。如果一个不可用的,则高速缓存服务器可递归查询授权服务器以取回请求的IP地址并将请求的IP地址返回给客户端设备。
不幸的是,上述名称解析处理对于隐私侵犯和/或安全攻击是脆弱的。例如,当客户端设备在餐厅、酒店、咖啡厅、医院、机场或WIFI热点处登录到WIFI网络时,与WIFI网络相关联的DHCP服务器可以自动地将高速缓存服务器指派给客户端设备。当用户将域名输入到例如客户端设备上的浏览器中时,客户端设备会将DNS查询发送到指派的高速缓存服务器,用于与输入的域名相关联的DNS记录。
然而,所指派的高速缓存服务器可以不可靠和/或不可信。例如,指派的高速缓存服务器可以通过跟踪请求的DNS记录,在客户端设备和授权服务器之间引入网络监视。因此,高速缓存服务器可以通过窃取用户的浏览历史来侵犯用户的隐私。在另一示例中,指派的高速缓存服务器可以向客户端设备提供不正确的DNS记录以导致诸如到假冒合法网站的钓鱼网站的非预期的连接。
所公开的技术的若干实施例可以经由与WIFI网络或其他合适类型的本地计算机网络相关联的不可信高速缓存服务器来提供对一个或多个可信高速缓存服务器的访问。在示例实现中,当用户在客户端设备的浏览器中输入域名时,客户端设备对用于解析输入的域名的DNS查询进行加密。客户端设备然后可以将可信高速缓存服务器的域名(例如,“trustedserver.com”)附加到加密的DNS查询以创建复合域名。客户端设备然后可以生成包含复合域名的安全DNS查询并将包含复合域名的安全DNS查询发送到不可信高速缓存服务器。
在接收到安全DNS查询后,不可信高速缓存服务器可以查询一个或多个授权服务器以解析复合域名。授权服务器可以被配置为向不可信服务器提供与可信高速缓存服务器关联的资源记录。不可信服务器然后可以将安全DNS查询转发给可信高速缓存服务器。一旦收到,可信高速缓存服务器就可以提取和解密加密的DNS查询。然后可信高速缓存服务器可以通过例如执行授权服务器的递归查询来向解密的DNS查询供应DNS响应。一旦供应,可信高速缓存服务器就可以通过加密供应的DNS响应来生成安全DNS响应。可信高速缓存服务器然后将安全DNS响应发送给不可信高速缓存服务器,不可信高速缓存服务器进而将安全DNS响应转发给客户端设备。在接收时,客户端设备可以解密安全DNS响应并将解密的DNS响应提供给例如客户端设备上的浏览器以访问预期的网络资源。
在某些示例实现中,前述加密/解密操作可以利用与客户端设备和可信高速缓存服务器中的每一个相关联的两个公共密码密钥和私有密码密钥集合。这样,安全DNS查询和安全DNS响应可以包括基于客户端设备和可信高速缓存服务器的私钥的电子签名。如本文所使用的“电子签名”通常是指与个人、设备、系统或其他合适类型的实体相关联的风格化脚本。因此,客户端设备可以验证加密的DNS响应,以提高所接收的资源记录来自可信源的置信度。在其他示例实现中,前述加密/解密操作也可以使用对称密钥和/或其它合适类型的密码密钥和/或密码技术。
所公开的技术的若干实施例可以通过允许客户端设备经由不可信高速缓存服务器访问可信高速缓存服务器来提高DNS系统的隐私和安全性。例如,在上面的示例实现中,不可信高速缓存服务器可能不会窃取用户的浏览历史,因为实际的用户请求的域名在向不可信高速缓存服务器发送的DNS查询中被加密。因此,不可信高速缓存服务器可能无法标识用户请求的实际域名,因此无法提供诸如钓鱼网站的非预期资源的虚假IP地址。
附图说明
图1是图示了根据所公开技术的实施例的具有可信高速缓存服务器的计算框架的示意图。
图2A和图2B是示出了根据所公开的技术的实施例的适用于图1的客户端设备用于分别处理DNS查询和DNS响应的软件组件的框图。
图3是示出了根据所公开的技术的实施例的适用于图1的可信高速缓存服务器的软件组件的框图。
图4A是根据所公开技术的实施例的适用于图2A的DNS查询的示例数据结构的示意图。
图4B是根据所公开技术的实施例的适用于图4A的问题字段的示例数据结构的示意图。
图4C是根据所公开技术的实施例的适用于图2B的DNS响应的示例数据结构的示意图。
图5A-5C是图示了根据所公开的技术的实施例的客户端设备处的安全名称解析处理的实施例的流程图。
图6A-6C是图示了根据所公开的技术的实施例的高速缓存服务器处的安全名称解析处理的实施例的流程图。
图7A-7B分别是根据所公开的技术的实施例的具有安全或不安全DNS解析的客户端设备的示例用户界面。
图8是适用于图1中的计算框架的某些组件的计算设备。
具体实施方式
下面描述用于改善域名系统的隐私和安全性的系统、设备、组件、模块、例程和过程的某些实施例。在以下描述中,包括组件的具体细节以提供对所公开的技术的某些实施例的透彻理解。相关领域的技术人员也将理解,所公开的技术可以具有附加实施例或者可以在没有以下参考图1-8描述的实施例的几个细节的情况下被实施。
如本文所使用的,术语“域名系统”或“DNS”通常指代被配置为将字母数字域名转换为数字IP地址以实现计算机网络中的通信的计算机系统。在以下描述中,这样的转换可以被称为“名称解析”或“解析域名”。域名系统可以包括包含域名转换的数据库的一个或多个可操作地耦合的DNS服务器。示例DNS服务器可以包括组织成层次结构的授权服务器和高速缓存服务器。下面参照图1描述一个示例DNS计算框架。
“授权服务器”通常是指被配置为响应于DNS查询来返回特定域名的授权域名转换的DNS服务器。例如,授权服务器可以包含域名的URL到由域管理员或其他授权实体定义的IP地址的映射。在另一示例中,授权服务器还可以包含电子邮件地址的主机部分(例如,“@hotmail.com”)到IP地址的映射。在另一示例中,授权服务器还可以包含其他名称服务器的名称服务器(“NS”)记录,解析授权被委托到其他名称服务器。域或主机的授权服务器可以由诸如例如Amazon、GoDaddy或Verisign的DNS托管公司或网络注册商进行配置。
“高速缓存服务器”通常是指被配置为通过例如递归地查询授权服务器来解析目标域的域名的DNS服务器。例如,URL“www.example.com”的每个部分都有具有授权的特定DNS服务器(或服务器组)。根服务器可以包含顶级域的授权服务器的网络地址,诸如“.com”、“.net”或“.org”。在一个示例解析操作中,高速缓存服务器针对“.com”域的授权服务器的网络地址可以首先查询根服务器。然后,高速缓存服务器针对“example.com”域的授权服务器的网络地址查询“.com”授权服务器。然后,高速缓存服务器针对与域名“www.example.com”相关联的IP地址“example.com”域的查询授权服务器。
本文还使用的术语“DNS查询”通常是指电子数据包,该电子数据包表示从例如客户端设备到高速缓存服务器或高速缓存服务器到授权服务器的用于取回各种类型的DNS记录的请求。例如,A型DNS查询是用于取回目标域名的32位IPv4地址的请求。AAAA类型的DNS查询是用于取回目标域名的128位IPv6地址的请求。名称服务器(“NS”)类型查询可以是用于取回可以包括目标域名的名称服务器的URL的NS记录的请求。下面参照图4A和4B更详细地描述适用于DNS查询的示例数据结构。术语“DNS响应”通常是指表示对DNS查询的回答的电子数据包。下面参考图4C更详细地描述适用于DNS响应的示例数据结构。
如本文所使用的“可信高速缓存服务器”通常是指已经验证了与客户机设备有关的安全证书的高速缓存服务器。可信高速缓存服务器可能是公共或私有的。例如,组织(例如公司)可以具有一个或多个企业高速缓存服务器用于组织的用户。在另一示例中,可信实体(例如,微软公司)也可以在互联网上向公众提供一个或多个可信高速缓存服务器。相反,“不可信高速缓存服务器”是指没有经过验证的安全证书的高速缓存服务器。
在公共场所自动指派的高速缓存服务器可以是不可依赖的和/或不可信的。在访问网络资源时,访问此类高速缓存服务器可以危及用户的隐私和/或安全性。例如,指派的高速缓存服务器可以引入网络监视和/或向用户提供不正确的资源记录。所公开的技术的若干实施例可以通过经由不可信高速缓存服务器提供对一个或多个可信高速缓存服务器的访问来提高DNS系统的隐私和/或安全性,如下面参考图1-8更详细描述。
图1是图示了根据所公开技术的实施例的具有可信高速缓存服务器的DNS计算框架100的示意图。如图1所示,计算框架100可以包括由计算机网络107互连的客户端设备102、不可信高速缓存服务器112、可信高速缓存服务器122、以及一个或多个授权服务器130。计算机网络107可以包括因特网、局域网、城域网、广域网和/或其它合适类型的网络。
客户端设备102、不可信高速缓存服务器112、可信高速缓存服务器122和授权服务器130均可以各自包括处理器和存储器(未示出),该存储器包含用于由处理器执行指令以提供下面更详细讨论的某些软件组件。尽管图1中示出了计算框架100的特定组件,但是在其他实施例中,计算框架100还可以包括附加的和/或不同的组件。例如,如图1所示,计算框架100可以包括附加的高速缓存服务器112'、附加的客户端设备102'和102″、和/或其他合适的组件。
客户端设备102可以包括台式计算机、膝上型计算机、平板计算机、智能手机和/或其他合适类型的计算设备。例如,客户端设备102可以是由加利福尼亚州库比蒂诺的Apple公司提供的iPhone或iPad、Android设备、Chromebook设备、Windows设备或任意其他合适的设备。在图1所示的实施例中,客户端设备102可以包括名称解析器104、本地DNS高速缓存106以及具有一个或多个密码密钥111的DNS安全组件109。在其他实施例中,客户端设备102还可以包括其他合适的硬件和/或软件组件。
名称解析器104可以被配置为确定与域名(例如,“www.example.com”)、电子邮件地址(例如,example@example.com)或其他网络资源相关联的网络地址(例如,IP地址)。名称解析器104可以是操作系统或在客户端设备102上执行的应用程序的一部分。本地DNS高速缓存106可以被配置为存储先前解析的域名的资源记录。名称解析器104可以通过访问在本地DNS高速缓存106中存储的资源记录116来确定IP地址。当资源记录116在本地DNS高速缓存106中不存在时,名称解析器104可以针对期望的资源记录116查询不可信高速缓存服务器112。例如,名称解析器104可以向不可信高速缓存服务器112发送安全DNS查询108并且从不可信高速缓存服务器112接收安全DNS响应110。
DNS安全组件109可以被配置为促进生成安全DNS查询108并处理安全DNS响应110。在某些实施例中,DNS安全组件109可以被配置为加密由用户101输入的域名的DNS查询并且使用密码密钥111来解密安全DNS响应110以获得资源记录116或其他合适类型的答复。在其他实施例中,DNS安全组件109还可以被配置为生成电子签名并将电子签名附加到安全DNS查询108和/或通过检查附加的电子签名来验证安全DNS响应110。以下参考图2A-2B更详细地描述DNS安全组件109的组件和相关联的操作。
密码密钥111可以各自包括变量值,该变量值可应用于未加密文本的字符串或块以根据密码算法来产生加密文本,或者来解密加密文本。密码密钥111也可以用于数字签名方案、消息认证码或其他合适的密码操作。密码密钥111可以包括各种类型的密钥。例如,密码密钥111可以包括私有签名密钥、公共签名验证密钥、对称认证密钥、私有认证密钥、公开认证密钥、对称数据加密密钥、对称密钥包装密钥、对称主密钥、私钥传输密钥、公钥传输密钥、对称密钥协商密钥、私有静态密钥协商密钥、公共静态密钥协商密钥、私有短暂密钥协商密钥、公共短暂密钥协商密钥、对称授权密钥、私有授权密钥、公共授权密钥、或其他合适类型的加密密钥。
授权服务器130可以包括以层次结构布置的多个DNS服务器。例如,如图1所示,授权服务器130可以包括根名称服务器134、从属于根名称服务器134的一级名称服务器136、以及从属于一级名称服务器136的二级名称服务器138。虽然在图1中示出了DNS服务器130的三级层次结构,但是在其他实施例中,授权服务器130可以包括一个、两个、四个或任意其他合适数目的级别和/或服务器。例如,授权服务器130还可以包括从属于二级名称服务器138的三级名称服务器(未示出)。
如图1所示,在授权服务器130的层次结构中,根名称服务器134可以包含资源记录(未示出),该资源记录包含对应于例如诸如“.com”的顶级域的一级名称服务器136的网络地址。一级名称服务器136可以包括NS记录115,NS记录115包含对应于例如“example.com”的域名的二级名称服务器138的URL。二级名称服务器138然后可以包括资源记录116,资源记录116包含对应于与域名“www.example.com”相关联的服务器的IP地址(例如,192.168.0.1)。
还如图1所示,不可信高速缓存服务器112可以包括DNS递归器113,DNS递归器113可操作地耦合到DNS高速缓存114。DNS递归器113可以被配置为通过向一个或多个授权服务器130发送一个或多个查询120到一个或多个授权服务器130并从其接收NS记录115或资源记录116来递归地解析目标域的域名。DNS高速缓存114可被配置为存储针对例如如由生存时间值所指定的一段时间由DNS递归器113先前解析的任意资源记录116。在某些实施例中,生存时间段的值可以由授权服务器130中的一个或多个来设置。在其他实施例中,生存时间值可以由管理员、应用程序或其他合适的实体设置。
可信高速缓存服务器122可以包括大体上类似于不可信高速缓存服务器112的那些组件的某些组件。由于这样的类似组件由类似的参考标识。例如,可信高速缓存服务器122可以包括DNS递归器113和包含先前取回的资源记录116的DNS高速缓存114。如图1所示,可信高速缓存服务器122还可以包括具有另一加密密钥集合111的安全解析器125。安全解析器125可以被配置为从安全DNS查询108提取加密的DNS查询并且使用密码密钥111解密提取的DNS查询。安全解析器125然后可以通过取回在DNS高速缓存114中的资源记录116或者调用DNS递归器113以从授权服务器130取回资源记录116来供应DNS响应。安全解析器125还可以被配置为加密对解密的DNS查询的DNS响应以生成要被转发到不可信高速缓存服务器112的安全DNS响应110。安全解析器125的组件和相关联的操作在下面参考图3进行更详细地描述。
在操作中,用户101可以使用客户端设备102来请求对域名(例如,“www.example.com”)的访问。客户端设备102处的名称解析器104可以首先确定对于所请求的域名的资源记录116是否已经存在或高速缓存在本地DNS高速缓存106中。如果一个已经存在,则客户端设备102可以基于高速缓存的资源记录116来向与该域名相关联的服务器发起网络操作。如果一个不存在,则客户端设备102可以调用DNS安全组件109以针对对应的资源记录116来生成将被发送到不可信高速缓存服务器112的安全DNS查询108。
一旦被调用,DNS安全组件109可以使用加密密钥111中的一个来加密包含输入的域名的DNS查询。例如,用于域名“www.example.com”的DNS查询可以被加密成包含诸如“mJhPDnK5lw”的多个随机字符的字符串。DNS安全组件109然后可以将至少一个部分域名或其他合适的网络资源标识符附加到加密的字符串。例如,DNS安全组件109可以将“trustedserver.com”附加到加密的字符串以生成复合域名,如下所示:
mJhPDnK5lw.trustedserver.com
DNS安全组件109然后可以将所生成的复合域名提供给名称解析器104,名称解析器104进而针对复合域名生成安全的DNS查询108。然后,名称解析器104可以将安全DNS查询108发送到不可信高速缓存服务器112用于解析复合域名,例如“mJhPDnK5lw.trustedserver.com”。
响应于所接收的安全的DNS查询108,不可信高速缓存服务器112可首先确定在DNS高速缓存114的资源记录116中是否可用于复合域名。如果有一个可用,则高速缓存服务器112可以将资源记录116作为DNS响应110返回。然而,因为复合域名是最近在客户端设备102处生成,所以不可信高速缓存服务器112将不可能包含对应的资源记录116。这样,不可信高速缓存服务器112可以调用DNS递归器113来递归地查询授权服务器130用于解析复合域名。例如,高速缓存服务器112可以首先针对包含一级名称服务器136的网络地址(例如,198.41.0.4)的资源记录查询根名称服务器134。然后,高速缓存服务器112可以针对包含二级名称服务器138的网络地址的NS记录115查询一级名称服务器136。
在某些实施例中,授权服务器130可以被配置为基于例如附加域名(例如“trustedserver.com”)来提供标识可信高速缓存服务器122的资源记录116。例如,具有附加域名的任意域名可以与例如二级名称服务器138中的资源记录116相关联,所述资源记录116各自包含可信高速缓存服务器122的IP地址。在其他实施例中,具有附加的域名的任意域名可以通过例如将加密的字符串(例如,“mJhPDnK5lw”)视为通配符来与单个资源记录116相关联。
这样,当不可信高速缓存服务器112查询对应于复合域名的资源记录116时,二级名称服务器138可以向不可信高速缓存服务器112提供可信高速缓存服务器122的网络地址(例如,192.168.0.1)。然后,不可信高速缓存服务器112可以基于从二级名称服务器138获得的网络地址来将安全DNS查询108转发到可信高速缓存服务器122。
在接收时,可信高速缓存服务器122的安全解析器125可以从复合域名中提取加密的字符串。在上述示例中,安全解析器125从复合域名“mJhPDnK5lw.trustedserver.com”中提取“mJhPDnK5lw”。安全解析器125然后可以使用密码密钥111之一来对加密的字符串进行解密以获得针对由用户101输入的域名(例如,“www.example.com”)的解密的DNS查询。
可信高速缓存服务器122然后可以基于解密的DNS查询通过取回DNS高速缓存114中的资源记录116或调用DNS递归器113以从授权服务器取回资源记录116的副本来生成DNS响应。然后,安全解析器125可以使用密码密钥111之一来加密生成的DNS响应以生成安全DNS响应110。在一个实施例中,整个DNS响应可以被加密。这样,安全DNS响应110可以包含加密的字符串。在其他实施例中,至少资源记录116(例如,对应于“www.example.com”的IP地址)在安全DNS响应110中被加密。
然后,可信高速缓存服务器122可以将安全DNS响应110转发给不可信高速缓存服务器112作为对安全DNS查询108的响应。不可信高速缓存服务器112进而可以向客户端设备102转发所接收的安全DNS查询108。在接收时,客户端设备102的DNS安全组件109可以解密安全DNS响应110以获得解密形式的资源记录116。客户端设备102然后可以基于所获得的资源记录116来访问计算机网络107上的网络资源。
在某些实施例中,客户端设备102和可信高速缓存服务器122可以利用对称加密密钥。这样,客户端设备102和可信高速缓存服务器122可以包含相同的密钥111并且可以利用密钥111来加密、解密和认证安全DNS查询108和安全DNS响应110。在其他实施例中,客户端设备102和可信高速缓存服务器122可以在两个设备处利用公钥和私钥。例如,客户端设备102可以包含与客户端设备102相关联的私钥以及与可信高速缓存服务器122相关联的公钥。可信高速缓存服务器122可以包含与可信高速缓存服务器122相关联的私钥以及客户端设备102的公钥。在操作中,客户端设备102可以使用与可信高速缓存服务器122相关联的公钥对用户请求的域名进行加密,并附加使用与客户端设备相关联的私钥生成的电子签名。可信高速缓存服务器122然后可使用与客户端设备102相关联的公钥来认证电子签名,并使用与可信高速缓存服务器122相关联的私钥来解密用户请求的域名。
可信高速缓存服务器122然后可以使用客户端设备102的公钥来加密DNS响应,并附加使用与可信高速缓存服务器122相关联的私钥生成的另一电子签名。一旦客户端设备102接收到安全DNS响应110,客户端设备102可以使用与可信高速缓存服务器122相关联的公钥来验证电子签名,并且使用客户端设备102的私钥对加密的DNS响应进行解密。通过验证电子签名,客户端设备102可以有确信所接收的安全DNS响应110确实来自可信高速缓存服务器122。因此,连接到非预期网络资源的风险可能低于传统技术。在某些实施例中,这种验证的结果可以在客户端设备102上的用户界面上被表示。下面参考图5A和5B更详细地描述这种用户界面的示例。在其他实施例中,这种验证的结果可以被表示为弹出显示、气球或其他合适的消息。
在任意前述实施例中,客户端设备102和可信高速缓存服务器122可被配置为实现任意合适的密码算法。示例密码算法可以包括但不限于Rivest Cipher 4、微小加密算法(“TEA”)、扩展TEA、校正块TEA和Treyfer。
所公开的技术的若干实施例可以通过允许客户端设备102经由不可信高速缓存服务器112访问可信高速缓存服务器122来提高DNS系统的隐私和安全性。不可信高速缓存服务器112不能窃取用户101的浏览历史,因为实际的用户请求的域名在向不可信高速缓存服务器112发送的安全DNS查询108中被加密。这样,不可信高速缓存服务器112可以不标识由用户101请求的实际域名,或者提供不希望资源的虚假IP地址,诸如钓鱼网站。
尽管上面在DNS系统中的名称解析的上下文中讨论了所公开的技术,但是在其他实施例中,所公开的技术的各方面也可以用于获得其他合适类型的信息。例如,在安全DNS查询108中包含的示例加密字符串“mJhPDnK5lw”也可以是对时间表、电话号码、电子邮件地址、天气预报或其他合适信息而不是与域名相关联的IP地址的请求。响应于接收到加密的字符串,可信高速缓存服务器122可以供应对该请求的答复并且在向不可信高速缓存服务器112发送之前对该答复进行加密,该不可信高速缓存服务器112进而向客户端设备102转发加密答复。通过与上述类似的操作,客户端设备102然后可以通过用密码密钥111对加密答复进行解密来获得所请求的信息。
图2A和图2B是示出了根据所公开的技术的实施例的分别适用于图1的客户端设备102的用于处理DNS查询和DNS响应的软件组件的框图。具体地,图2A图示了与生成安全DNS查询108有关的操作。图2B图示了与处理安全DNS响应110有关的操作。为了清楚起见,图2A和2B中省略了图1的计算框架100的某些组件。
在图2A和2B以及下文的其他附图中,单独的软件组件、对象、类、模块和例程可以是以C、C++、Java和/或其他合适的编程语言编写的作为源代码的计算机程序、过程或处理。组件可以包括但不限于一个或多个模块、对象、类、例程、属性、进程、线程、可执行文件、库或其他组件。组件可以是源代码或二进制形式。组件可以包括在编译之前的源代码(例如,类、属性、过程、例程)、编译的二进制单元(例如,库、可执行文件)或在运行时实例化和使用的制品(例如对象、进程、线程)的多个方面。系统内的组件可以在系统内采用不同的形式。作为一个示例,包括第一组件、第二组件和第三组件的系统可以但不限于涵盖具有第一组件是源代码中的属性、第二组件是二进制编译的库、第三组件组件是在运行时创建的线程的系统。
计算机程序、过程或处理可被编译成对象、中间物或机器代码,并被呈现以由个人计算机、网络服务器、膝上型计算机、智能电话、和/或其他合适的计算设备的一个或多个处理器执行。同样,组件可能包括硬件电路。本领域的普通技术人员将认识到,硬件可以被认为是固化的软件,并且软件可以被认为是液化的硬件。仅举一个示例,组件中的软件指令可以烧录到可编程逻辑阵列电路、或者可以被设计为具有适当集成电路的硬件电路。同样,硬件可以通过软件来模拟。源代码、中间代码和/或目标代码和相关联数据的各种实现可以被存储在包括只读存储器、随机存取存储器、磁盘存储介质、光存储介质、闪存设备和/或除传播信号之外的其它适合的计算机可读存储介质的计算机存储器中。
如图2A所示,客户端设备102可以包括耦合到存储器132的处理器131。处理器131可以包括微处理器、现场可编程门阵列和/或其他合适的逻辑器件。存储器132可以包括易失性和/或非易失性介质(例如,ROM;RAM、磁盘存储介质;光存储介质;闪存设备、和/或其他合适的存储介质)和/或其他类型的计算机可读存储介质,其被配置为存储从处理器131接收的数据以及处理器131的指令(例如,用于执行下面参考图5A-5B讨论的方法的指令)。如图2A所示,存储器132还可以包含含有资源记录116(图1)的本地DNS高速缓存106、密码密钥111和/或其他合适的数据。
处理器131可以执行用于提供被配置为提供安全DNS名称解析的多个软件组件的指令。如图2A所示,软件组件可以包括可操作地耦合到DNS安全组件109的名称解析器104。在一个实施例中,所有软件组件可以驻留在单个计算设备(例如,DNS服务器)上。在其他实施例中,软件组件141也可以驻留在多个不同的计算设备上。在其他实施例中,软件组件还可以包括网络接口组件和/或其他合适的组件(未示出)。
如图2A所示,名称解析器104可以被配置为从用户101接收域名140(例如,“www.example.com”),并与DNS安全性组件109协作地解析所接收的域名140。在接收到域名140时,名称解析器104可以被配置为确定对应的资源记录116是否已经存在于本地DNS高速缓存106中。如果一个已经存在,则名称解析器104返回对应的资源记录116。如果一个不存在,则名称解析器104可以被配置为生成用于解析域名140的原始DNS查询142。名称解析器104然后可以被配置为将原始DNS查询142转发给DNS安全性组件109以用于进一步处理。
在接收到原始DNS查询142时,DNS安全组件109可以被配置为利用来自存储器132的密码密钥111中的一个或多个来加密原始DNS查询142以生成加密的DNS查询144。加密的DNS查询144可以包括字符串(例如,“mJhPDnK5lw”)或其他合适类型的数据。在某些实施例中,DNS安全组件109还可以被配置为例如通过使用与用户101或客户端设备102相关联的私钥来将电子签名附加到加密的DNS查询144。DNS安全组件109可以然后被配置将加密的DNS查询144返回给名称解析器104。
名称解析器104可以将与可信高速缓存服务器122(图1)相关联的至少一个局部域名附加到加密DNS查询144以生成复合域名。这样,复合域名至少包括包含加密DNS查询144的第一部分和包含与可信高速缓存服务器122相关联的至少部分域名的第二部分。名称解析器104然后可以被配置为生成用于解析复合域名的安全DNS查询108,并且将安全DNS查询108发送给不可信高速缓存服务器112。
在操作中,名称解析器104可以从用户101接收域名140。如果对应资源记录116尚未存在于本地DNS高速缓存106中,则名称解析器104可以生成用于解析域名140的原始DNS查询142并将用于解析域名140的原始DNS查询142发送到DNS安全组件109。然后,DNS安全组件109可以使用存储器132中的一个或多个密码密钥111来对原始DNS查询142进行加密并对经加密的DNS查询144进行电子签名。名称解析器104然后可通过将与可信高速缓存服务器122相关联的至少一部分域名附加到所接收的经加密DNS查询144来生成复合域名(例如,“mJhPDnK5lw.trustedserver.com”)。名称解析器104然后可生成用于解析复合域名的安全DNS查询108,并将用于解析复合域名的安全DNS查询108发送到不可信高速缓存服务器112。
如图2B所示,DNS安全组件109还可以被配置为利用来自存储器132的一个或多个密码密钥111对从不可信高速缓存服务器112所接收的安全DNS响应110进行解密,以生成解密的DNS响应146。在某些实施例中,解密的DNS响应146可以包括对应于域名140(图2A)的资源记录116(图1)。在其他实施例中,解密的DNS响应110还可以包括时间表、电话号码、电子邮件地址、天气预报和/或其他合适的信息。DNS安全组件109然后可以被配置为向名称解析器104或客户端设备102的其他合适的组件提供解密的DNS响应146。
即使在图2A和图2B中名称解析器104和DNS安全组件109被示出为单独的组件,但是在某些实施例中,DNS安全组件109可以是名称解析器104的一部分。在其他实施例中,不是在DNS安全组件109处对原始DNS查询142进行加密,而是DNS安全组件109还可以被配置为仅对在原始DNS查询142中包括的域名140进行加密。在其他实施例中,DNS安全组件109可以被配置还对在原始DSN查询142中包括的其他合适的信息进行加密。
图3是示出了根据所公开的技术的实施例的适用于图1的可信高速缓存服务器122的软件组件的框图。如图3所示,可信高速缓存服务器122可以包括耦合到存储器152的处理器151。处理器151可以包括微处理器、现场可编程门阵列和/或其它合适的逻辑器件。存储器152可以包括易失性和/或非易失性介质(例如,ROM;RAM,磁盘存储介质;光存储介质;闪存设备,和/或其它合适的存储介质)和/或其他类型的计算机可读存储介质,其被配置为存储从处理器151所接收的数据以及处理器151的指令(例如,用于执行下面参照图6A-6E讨论的方法的指令)。如图3所示,存储器152还可以包含表示加密密钥111、资源记录116和/或其他合适数据的数据。
处理器151可以执行用于提供DNS递归器113和安全解析器115的多个软件组件161的指令。如图3所示,软件组件161可以包括可操作地彼此耦合的接口组件162、查询组件164、和密码组件166。在一个实施例中,所有软件组件161可以驻留在单个计算设备(例如,DNS服务器)上。在其他实施例中,软件组件161也可以驻留在多个不同的计算设备上。在其他实施例中,软件组件161还可以包括网络接口组件和/或其他合适的模块或组件(未示出)。
如图3所示,接口组件162可以被配置为从例如图1的不可信高速缓存服务器112接收安全DNS查询108。接口组件162还可以被配置为响应于所接收的安全DNS查询108来将安全DNS响应110提供给不可信高速缓存服务器112。在某些实施例中,接口组件162可以包括具有用于执行前述操作的合适固件或软件的网络接口模块。在其他实施例中,接口组件162可以包括其他合适类型的通信模块。
密码组件166可以被配置为从所接收的安全DNS查询108中提取加密的DNS查询144(图2A)。例如,在某些实施例中,加密的DNS查询144可以通过将复合域名的第一部分与第二部分分离来提取。在其他示例中,可以基于多个字符、字符模式和/或其它合适的准则来提取加密的DNS查询144。
密码组件166可以被配置为使用存储器152中的一个或多个密码密钥111来对加密的DNS查询144进行解密。密码组件166可以使用与客户端设备102(图1)共享的对称加密密钥、与可信高速缓存服务器122相关联的私钥和/或其他合适的解密技术来对加密的DNS查询144进行解密以获得原始DNS查询142(图2A)。密码组件166然后将原始DNS查询142提供给查询组件164。
查询组件144可以被配置为基于从密码组件166所接收的原始DNS查询142来供应资源记录116。在一个实施例中,查询组件164可以取回存储器152中的高速缓存的资源记录116并且据此构建DNS响应。如果高速缓存资源记录116不存在于存储器152中,则查询组件164可被配置为调用DNS递归器113以将一个或多个查询120发送给授权名称服务器130用于取回与在原始DNS查询142中的域名140(图2A)相对应的资源记录116。
在某些实施例中,密码组件166可以被配置为使用对称密钥、客户端设备102的公钥和/或其他合适的密钥来加密从存储器152或从授权服务器130取回的资源记录116。然后,查询组件164可以被配置为生成包含经加密的资源记录116的安全DNS响应110,并且经由接口组件162将安全DNS响应110转发给不可信高速缓存服务器112。在其他实施例中,查询组件164可以基于取回到的资源记录116生成DNS响应。然后,密码组件166可以被配置为加密所生成的DNS响应,以导出加密的DNS响应作为安全DNS响应110的至少一部分。
图4A是图示了根据所公开技术的实施例的适用于查询120、图2A的DNS查询142或图1的安全DNS查询108的示例数据结构200的示意图。如图4A所示,数据结构200可以包括头部字段202和问题字段204。头部字段202可以包括描述查询的类型和哪些字段被包含在查询中的参数。例如,头部字段202可以包含查询标识符、指定数据结构200是查询还是响应的一比特字段、或者其他合适的参数。
问题字段204可以包含针对DNS服务器(例如,图1的不可信高速缓存服务器112)的问题。图4B是根据所公开技术的实施例的适用于图4A的问题字段204的示例数据结构的示意图。如图4B所示,问题字段204可以包括名称字段212、类型字段214和类别字段216。名称字段212可以包含表示为标签序列的域名。在参照图1讨论的示例中,名称字段212可以包括复合域名,即“mJhPDnK5lw.trustedserver.com”。类型字段214可以包含指定查询类型的数据,例如指示A类型查询的数据。类别字段216可以包含指定查询的类别的数据(例如,指示因特网的“IN”)。在其他实施例中,问题字段204还可以包括其他合适的字段。
图4C是根据所公开技术的实施例的适用于图1-3的资源记录116的示例数据结构230的示意图。如图4C所示,数据结构230可以包括总体上类似于图4B的字段的某些字段。例如,数据结构230可以包括名称字段212、类型字段214和类别字段216。数据结构230还可以包括响应数据字段218,响应数据字段218包含例如图1和3的可信高速缓存服务器122的IP地址或URL。在其他实施例中,响应数据字段218还可以包含来自可信高速缓存服务器122的加密响应。在其他实施例中,数据结构230还可以包括生存时间字段、响应数据字段的长度或其他合适的字段。
图5A是图示了根据所公开的技术的实施例的客户端设备处的安全名称解析的过程300的实施例的流程图。尽管以下参考图1的计算框架100和图2A和2B的软件组件描述了过程300的各种实施例,但是在其他实施例中,过程300可以用其他合适类型的计算框架、系统、组件或模块执行。
如图5A所示,过程300可以包括在阶段302生成安全DNS查询并将安全DNS查询发送给高速缓存服务器(例如,图1的不可信高速缓存服务器112)。安全DNS查询包含复合域名,复合域名包括具有加密的请求的第一部分和具有未加密的网络资源标识符(例如,域名)的第二部分。下面参照图5B更详细地描述生成安全DNS请求的示例。
然后,过程300可以包括在阶段304处接收并处理从高速缓存服务器所接收的安全DNS响应。所接收的安全DNS响应包含对在与该安全DNS查询相关联的复合域名的第一部分中加密请求的加密答复。下面参考图5B更详细地描述处理安全DNS响应的示例。
过程30还可以包括可选的决定阶段306,用于确定所接收的DNS响应是否是安全的,例如来自可信源。响应于确定所接收的DNS响应是安全的,过程300可以包括在阶段308处例如在图7A中的用户界面401上指示安全DNS解析。响应于确定所接收的DNS响应是不安全的,处理300可以包括在阶段310处例如在图7B中的用户界面401上指示不安全DNS解析。
图5B是图示了根据所公开技术的实施例的生成安全DNS查询的过程302的实施例的流程图。如图5B所示,过程302可以包括在阶段312处接收域名。域名可以与网站、电子邮件服务器或其他合适的网络资源相关。处理302还可以包括在阶段314为接收的域名生成DNS查询。在图4A和4B中示出了所生成的DNS查询的示例数据结构。
过程302然后可以包括在阶段316对生成的DNS查询进行加密,并且可选地在阶段317附加电子签名,如以上参照图1-3更详细描述的。过程302还可以包括在阶段316处生成复合域名。基于复合域名,过程302然后可以包括在阶段318处生成用于解析复合域名的安全DNS查询。
图5C是示出了根据所公开技术的实施例的处理安全DNS响应的过程304的实施例的流程图。如图5C所示,处理304可以包括在阶段320处从高速缓存服务器(例如,图1的不可信高速缓存服务器112)接收安全DNS响应。然后过程304可以包括在阶段322提取加密答复。在某些实施例中,整个安全DNS响应被加密。因此,提取加密答复可以包括使用图1中的一个或多个密码密钥111来对整个DNS响应进行解密。在其他实施例中,安全DNS响应包括响应数据字段218(图4C)中的加密数据。因此,提取加密答复可以包括从响应数据字段218提取数据并且对所提取的数据进行解密。可选地,过程304还可以包括在阶段324处验证附加到加密答复的电子签名。然后过程304可以包括在阶段326处输出解密答复(例如,图1中的资源记录116)。
图6A是图示了根据所公开的技术的实施例的在高速缓存服务器处的安全名称解析的过程330的实施例的流程图。如图6A所示,过程330可以包括在阶段332处接收安全DNS查询。安全DNS查询可以包括具有加密的请求的第一部分和具有未加密的网络资源标识符的第二部分。过程330然后可以包括在阶段334处从所接收的安全DNS查询中导出原始DNS查询。下面参考图6B更详细地描述适合于导出原始DNS查询的示例处理。
过程330然后可以包括在阶段336处响应于所接收的安全DNS查询来供应安全DNS响应。安全DNS包含对与安全DNS查询相关联的域名的第一部分中的加密的请求的加密答复。下面参考图6C更详细地描述适于导出原始DNS查询的示例过程。过程330然后可以包括在阶段338处将安全DNS响应发送给例如图1中的不可信高速缓存服务器112。
图6B是图示了用于从安全DNS查询中导出原始DNS查询的示例过程334的流程图。如图6B所示,过程334可以包括从在安全DNS查询中包含的域名提取加密的字符串。加密的字符串可以由分隔符、字符长度、字符模式和/或其他合适的准则来标识。过程334然后可以包括在阶段344处使用例如图1中的一个或多个密码密钥111对加密的字符串进行解密。可选地,过程334还可以包括验证附加到加密字符串的电子签名以确定或验证DNS查询源自例如图1中的客户端设备102。
图6C是图示用于供应安全DNS响应的示例过程336的流程图。如图6C所示,处理336可以包括从例如图1的DNS高速缓存114或授权名称服务器130取回资源记录116(图1)。过程336然后可以包括在阶段354处使用例如图1的密码密钥111中的一个对取回的资源记录进行加密。可选地,过程336还可以包括在阶段356处生成电子签名并将电子签名附加到加密的资源记录。过程336然后可以包括在阶段358处例如基于图4C所示的数据结构来生成安全DNS响应。
图7A-7B根据所公开的技术的实施例的分别具有安全或不安全DNS解析的客户端设备102的示例用户界面401。如图7A所示,用户界面401可以包括标题栏403、地址栏405和内容显示区域407。标题栏403可以被配置为识别当前正在执行的应用程序(例如,浏览器)。地址栏405可以被配置为显示网站的URL(例如,“www.example.com/html”)。并且内容显示区域407可以被配置为显示文本411、照片413、视频415和/或与网站相关联的其他合适类型的内容。
如图7A所示,用户界面401还可以包括指示DNS解析当前是否安全的指示符显示409。例如,在图6A所图示的实施例中,指示符显示409包括指示网站的DNS解析是安全的复选标记。在图7B所示的实施例中,警告标志被显示以指示网站的DNS解析当前是不安全的。
图8是适用于图1-3中的计算框架100的某些组件的计算设备400。例如,计算装置400可适用于图1的一级名称服务器136、二级名称服务器138、客户端装置102、不可信高速缓存服务器112或可信高速缓存服务器122。在非常基本的配置402中,计算设备400通常包括一个或多个处理器404和系统存储器406。存储器总线408可以被用于在处理器404和系统存储器406之间进行通信。
取决于期望的配置,处理器404可以是任意类型的、包括但不限于微处理器(μP)、微控制器(μC)、数字信号处理器(DSP)或其任意组合。处理器404可以包括一个或多个级别的高速缓存,诸如一级高速缓存410和二级高速缓存412、处理器核心414和寄存器416。示例处理器核心414可以包括算术逻辑单元(ALU)、浮点单元(FPU)、数字信号处理核心(DSPCore)或其任意组合。示例存储器控制器418还可以与处理器404一起被使用,或者在一些实现中,存储器控制器418可以是处理器404的内部部分。
取决于期望的配置,系统存储器406可以是任意类型的、包括但不限于易失性存储器(诸如RAM)、非易失性存储器(诸如ROM,闪存等)或其任意组合。系统存储器406可以包括操作系统420、一个或多个应用程序422和程序数据424。如图8所示,在某些实施例中,应用程序422可以包括例如接口组件162、查询组件164、密码组件166,如以上参照图3更详细描述的。在其他实施例中,应用程序422还可以包括其他合适的组件。程序数据424可以包括例如资源记录116和密码密钥111。在图9中所描述的基本配置402由内部虚线内的那些组件示出。
计算设备400可以具有用于促进基本配置402与任意其他设备和接口之间的通信的附加的特征或功能以及附加接口。例如,总线/接口控制器430可以用于促进基本配置402和一个或多个数据存储设备432之间经由存储接口总线434的通信。数据存储设备432可以是可移除存储设备436、不可移除存储设备438或其组合。可移除存储设备和不可移除存储设备的示例包括诸如软盘驱动器和硬盘驱动器(HDD)的磁盘设备、诸如光盘(CD)驱动器或数字多功能盘(DVD)驱动器的光盘驱动器、固态驱动器(SSD)和磁带驱动器等等。示例计算机存储介质可以包括以用于诸如计算机可读指令、数据结构、程序模块或其他数据的信息的存储的任意方法或技术实现的易失性介质和非易失性介质、可移除介质和不可移除介质。
系统存储器406、可移除存储设备436和不可移除存储设备438是计算机可读存储介质的示例。计算机可读存储介质包括存储硬件或设备,其示例包括但不限于RAM、ROM、EEPROM、闪存或其它存储技术、CD-ROM、数字多功能盘(DVD)或其他光存储、磁带盒、磁带、磁盘存储器或其他磁存储设备、或可用于存储所需信息并可由计算设备400访问的任意其他介质。任意这样的计算机可读存储介质可以是计算设备400的一部分。术语“计算机可读存储介质”排除了传播的信号和通信介质。
计算设备400还可以包括接口总线440,接口总线440用于促进经由总线/接口控制器430从各种接口设备(例如,输出设备442、外围接口444和通信设备446)到基本配置402的通信。示例输出设备442包括图形处理单元448和音频处理单元450,其可以被配置为经由一个或多个A/V端口452与诸如显示器或扬声器的各种外部设备通信。示例外围接口444包括串行接口控制器454或并行接口控制器456,其可以被配置为经由一个或多个I/O端口458与诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备等)的外围设备或其他外围设备(例如,打印机、扫描仪等)进行通信。示例通信设备446包括网络控制器460,网络控制器460可以被布置为促进经由一个或多个通信端口464通过网络通信链路与一个或多个其他计算设备462的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以通过计算机可读指令、数据结构、程序模块或诸如载波或其他传输机制的调制数据信号中的其他数据来体现,并且可以包括任意信息传递介质。“调制数据信号”可以是具有以诸如将信息编码到信号中的方式设置或改变的其特征中的一个或多个的信号。作为示例而非限制,通信介质可以包括诸如有线网络或直接有线连接的有线介质以及诸如声学、射频(RF)、微波、红外(IR)和其他无线介质的无线介质。如本文使用的术语计算机可读介质可以包括存储介质和通信介质。
计算设备400可以被实现为诸如蜂窝电话、个人数据助理(PDA)、个人媒体播放器设备、无线web观看设备、个人头戴式耳机设备、专用设备、或包括上述功能中的任何一种的混合设备的小型便携式(或者移动)电子设备的一部分。计算设备400也可以被实现为包括膝上型计算机和非膝上型计算机配置两者的个人计算机。
为了说明的目的,上面已经描述了该技术的具体实施例。然而,在不偏离前述公开的情况下可以进行各种修改。另外,除了或代替其他实施例的元件,一个实施例的许多元件可以与其他实施例相结合。因此,该技术不受除了所附权利要求之外的限制。
Claims (10)
1.一种用于域名系统(“DNS”)中的名称解析的方法,所述方法包括:
从客户端设备向高速缓存服务器发送包含域名的DNS查询以用于解析所述域名,其中所述域名包括具有加密请求的第一部分和具有未加密网络资源标识符的第二部分;以及
在所述客户端设备处从所述高速缓存服务器接收响应于发送的所述DNS查询的DNS响应,接收的所述DNS响应包含对与所述DNS查询相关联的所述域名的所述第一部分中的所述加密请求的加密答复,从而向所述DNS查询中的所述请求提供保护以免于隐私侵犯或安全攻击。
2.根据权利要求1所述的方法,其中:
发送所述DNS查询包括:从所述客户端设备向第一高速缓存服务器发送所述DNS查询;以及
所述域名的所述第二部分包含与所述第一高速缓存服务器不同的第二高速缓存服务器的未加密网络资源标识符。
3.根据权利要求1所述的方法,其中:
所述DNS查询是第一DNS查询;
所述域名是第一域名;以及
所述加密请求包括加密的第二DNS查询,所述加密的第二DNS查询包含与所述第一域名不同的第二域名。
4.根据权利要求1所述的方法,其中:
所述DNS查询是第一DNS查询;
所述域名是第一域名;
所述加密请求包括加密的第二DNS查询,所述加密的第二DNS查询包含与所述第一域名不同的第二域名;以及
所述加密答复包括与所述加密请求中的所述第二域名相对应的加密资源记录。
5.根据权利要求1所述的方法,其中:
所述DNS查询是第一DNS查询;
所述域名是第一域名;
所述高速缓存服务器是第一高速缓存服务器;以及
所述方法还包括:
生成第二DNS查询,所述第二DNS查询包含与所述第一域名不同的第二域名;以及
使用第二高速缓存服务器的公钥来对所生成的所述第二DNS查询进行加密,以生成所述第一DNS查询的所述第一部分,所述第二高速缓存服务器不同于所述第一高速缓存服务器。
6.根据权利要求1所述的方法,其中:
所述DNS查询是第一DNS查询;
所述域名是第一域名;
所述高速缓存服务器是第一高速缓存服务器;以及
所述方法还包括:
生成第二DNS查询,所述第二DNS查询包含与所述第一域名不同的第二域名;
使用第二高速缓存服务器的公钥对生成的所述第二DNS查询进行加密,以生成所述第一域名的所述第一部分,所述第二高速缓存服务器不同于所述第一高速缓存服务器;以及
使用所述客户端设备的私钥,来对生成的所述第一域名的所述第一部分进行电子地签名。
7.根据权利要求1所述的方法,其中:
所述DNS查询是第一DNS查询;
所述域名是第一域名;
所述高速缓存服务器是第一高速缓存服务器;以及
所述方法还包括:
生成包含与所述第一域名不同的第二域名的第二DNS查询;以及
使用加密密钥对生成的所述第二DNS查询进行加密,以生成所述第一域名的所述第一部分,所述加密密钥在所述客户端设备和与所述第一高速缓存服务器不同的第二高速缓存服务器之间被共享。
8.根据权利要求1所述的方法,其中:
所述高速缓存服务器是第一高速缓存服务器;以及
所述方法还包括:
使用所述客户端设备的私钥,来对所述DNS响应中的所述加密答复进行解密;以及
使用与所述第一高速缓存服务器不同的第二高速缓存服务器的公钥,来验证所述加密答复。
9.根据权利要求1所述的方法,其中:
所述DNS查询是第一DNS查询;
所述域名是第一域名;
所述高速缓存服务器是第一高速缓存服务器;以及
所述方法还包括:
生成第二DNS查询,所述第二DNS查询包含与所述第一域名不同的第二域名;
使用加密密钥对生成的所述第二DNS查询进行加密,以生成所述第一域名的所述第一部分,所述加密密钥在所述客户端设备和与所述第一高速缓存服务器不同的第二高速缓存服务器之间被共享;以及
使用在所述客户端设备和所述第二高速缓存服务器之间被共享的所述加密密钥,来对所述DNS响应中的所述加密答复进行解密。
10.一种用于域名系统(“DNS”)中的名称解析的方法,所述方法包括:
在客户端设备处从不可信高速缓存服务器接收响应于来自所述客户端设备的DNS查询的DNS响应,接收的所述DNS响应包含具有电子签名的加密答复;
使用可信高速缓存服务器的公钥,基于被包括在所述加密答复中的电子签名来确定所述加密答复是否来自所述可信高速缓存服务器;
响应于确定所述加密答复是来自所述可信高速缓存服务器,指示所述DNS响应是有效的;以及
响应于确定所述加密答复不是来自所述可信高速缓存服务器,指示所述DNS响应不是有效的。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/865,381 | 2015-09-25 | ||
US14/865,381 US9894041B2 (en) | 2015-09-25 | 2015-09-25 | Secure domain name resolution in computer networks |
PCT/US2016/052366 WO2017053211A1 (en) | 2015-09-25 | 2016-09-17 | Secure domain name resolution in computer networks |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108476246A true CN108476246A (zh) | 2018-08-31 |
CN108476246B CN108476246B (zh) | 2021-04-13 |
Family
ID=57003616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680055802.XA Active CN108476246B (zh) | 2015-09-25 | 2016-09-17 | 计算机网络中的安全域名解析 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9894041B2 (zh) |
EP (1) | EP3354001B1 (zh) |
CN (1) | CN108476246B (zh) |
WO (1) | WO2017053211A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110266832A (zh) * | 2019-07-08 | 2019-09-20 | 新华三信息安全技术有限公司 | 一种域名解析方法及装置 |
CN117201454A (zh) * | 2023-11-01 | 2023-12-08 | 紫光同芯微电子有限公司 | 用于dns查询的方法及装置 |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9973337B2 (en) * | 2015-11-18 | 2018-05-15 | International Business Machines Corporation | Domain-server public-key reference |
US10778429B1 (en) | 2015-12-03 | 2020-09-15 | Amazon Technologies, Inc. | Storage of cryptographic information |
US9660970B1 (en) * | 2015-12-03 | 2017-05-23 | Amazon Technologies, Inc. | Cryptographic key distribution |
WO2017106779A1 (en) * | 2015-12-18 | 2017-06-22 | F5 Networks, Inc. | Methods of collaborative hardware and software dns acceleration and ddos protection |
US10791093B2 (en) * | 2016-04-29 | 2020-09-29 | Avago Technologies International Sales Pte. Limited | Home network traffic isolation |
US10367825B2 (en) * | 2016-12-28 | 2019-07-30 | Verisign, Inc. | Method and system for parallel validation of domain name system security extension records |
US9762612B1 (en) * | 2017-05-17 | 2017-09-12 | Farsight Security, Inc. | System and method for near real time detection of domain name impersonation |
US10701046B1 (en) * | 2017-10-24 | 2020-06-30 | Verisign, Inc. | Symmetric-key infrastructure |
US10680806B1 (en) | 2017-10-24 | 2020-06-09 | Verisign, Inc. | DNS-based symmetric-key infrastructure |
US10785192B2 (en) * | 2018-02-28 | 2020-09-22 | Sling Media Pvt. Ltd. | Methods and systems for secure DNS routing |
EP3797533A1 (en) * | 2018-05-21 | 2021-03-31 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods for processing encrypted domain name server, dns, queries received from user equipment in a telecommunication network |
US11106807B2 (en) * | 2018-09-05 | 2021-08-31 | Comcast Cable Communications, Llc | Domain name obfuscation and metadata storage via encryption |
EP3888337A1 (en) * | 2018-11-26 | 2021-10-06 | Telefonaktiebolaget Lm Ericsson (Publ) | Domain name system queries |
US11398899B2 (en) * | 2019-05-28 | 2022-07-26 | Shanghai Zhaoxin Semiconductor Co., Ltd. | Data processing device and data processing method |
US11438763B2 (en) * | 2019-09-25 | 2022-09-06 | Hughes Network Systems, Llc | System and method for improving network performance when using secure DNS access schemes |
FR3104865A1 (fr) * | 2019-12-13 | 2021-06-18 | Orange | Procédé de traitement de requêtes de résolution de nom de domaine. |
JP7463095B2 (ja) * | 2019-12-25 | 2024-04-08 | キヤノン株式会社 | 通信装置、通信装置の制御方法及びプログラム |
US11711342B2 (en) * | 2020-01-17 | 2023-07-25 | Cisco Technology, Inc. | Endpoint-assisted access control for network security devices |
US11444944B2 (en) * | 2020-02-11 | 2022-09-13 | Mcafee, Llc | Privacy and security enabled domain name system with optional zero-touch provisioning |
US11575646B2 (en) * | 2020-03-12 | 2023-02-07 | Vmware, Inc. | Domain name service (DNS) server cache table validation |
US11750363B2 (en) | 2020-11-04 | 2023-09-05 | Bitdefender IPR Management Ltd. | Privacy-preserving domain name service (DNS) |
US11271894B1 (en) * | 2021-03-10 | 2022-03-08 | Accenture Global Solutions Limited | Systems, devices, and methods for private query and exchange of domain information |
US20220385474A1 (en) * | 2021-05-28 | 2022-12-01 | Comcast Cable Communications, Llc | Systems and methods for secure communication |
US11843635B2 (en) * | 2021-10-13 | 2023-12-12 | Hughes Network Systems Llc | Provisioning encrypted domain name service and secure value-added service with certificates at a customer premise equipment in a broadband satellite system |
US20230319069A1 (en) * | 2022-04-05 | 2023-10-05 | Bank Of America Corporation | System and method for network address anomaly detection using machine learning |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1479984A (zh) * | 2000-10-10 | 2004-03-03 | ��˹��ŵ�� | 用于隐藏网络单元名称和地址的技术 |
CN1578230A (zh) * | 2003-07-21 | 2005-02-09 | 微软公司 | 对等网络中的安全分层名字空间 |
US20060059337A1 (en) * | 2004-09-16 | 2006-03-16 | Nokia Corporation | Systems and methods for secured domain name system use based on pre-existing trust |
CN101277306A (zh) * | 2008-05-14 | 2008-10-01 | 华为技术有限公司 | 一种处理dns业务的方法、系统及设备 |
CN101277257A (zh) * | 2007-03-26 | 2008-10-01 | 华为技术有限公司 | 一种dns动态更新的方法、装置和系统 |
CN101815105A (zh) * | 2010-03-25 | 2010-08-25 | 上海交通大学 | 带智能缓存的域名解析服务系统及其服务方法 |
CN103929435A (zh) * | 2014-05-05 | 2014-07-16 | 中国科学院计算机网络信息中心 | 一种基于dnssec及dane协议的可信验证方法 |
CN105141612A (zh) * | 2015-09-01 | 2015-12-09 | 中国互联网络信息中心 | 一种dns数据包隐私保护方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6961783B1 (en) * | 2001-12-21 | 2005-11-01 | Networks Associates Technology, Inc. | DNS server access control system and method |
US7280519B1 (en) * | 2002-01-08 | 2007-10-09 | Darrell Harvey Shane | Dynamic metropolitan area mobile network |
US20080022392A1 (en) | 2006-07-05 | 2008-01-24 | Cisco Technology, Inc. | Resolution of attribute overlap on authentication, authorization, and accounting servers |
US8028090B2 (en) * | 2008-11-17 | 2011-09-27 | Amazon Technologies, Inc. | Request routing utilizing client location information |
US20090083413A1 (en) | 2007-09-24 | 2009-03-26 | Levow Zachary S | Distributed frequency data collection via DNS |
US7917616B2 (en) * | 2008-08-08 | 2011-03-29 | Microsoft Corporation | Secure resource name resolution |
CA2767368C (en) | 2009-08-14 | 2013-10-08 | Azuki Systems, Inc. | Method and system for unified mobile content protection |
US10270755B2 (en) * | 2011-10-03 | 2019-04-23 | Verisign, Inc. | Authenticated name resolution |
US8990356B2 (en) * | 2011-10-03 | 2015-03-24 | Verisign, Inc. | Adaptive name resolution |
US9197487B2 (en) * | 2013-03-15 | 2015-11-24 | Verisign, Inc. | High performance DNS traffic management |
-
2015
- 2015-09-25 US US14/865,381 patent/US9894041B2/en active Active
-
2016
- 2016-09-17 EP EP16771075.5A patent/EP3354001B1/en active Active
- 2016-09-17 CN CN201680055802.XA patent/CN108476246B/zh active Active
- 2016-09-17 WO PCT/US2016/052366 patent/WO2017053211A1/en active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1479984A (zh) * | 2000-10-10 | 2004-03-03 | ��˹��ŵ�� | 用于隐藏网络单元名称和地址的技术 |
CN1578230A (zh) * | 2003-07-21 | 2005-02-09 | 微软公司 | 对等网络中的安全分层名字空间 |
US20060059337A1 (en) * | 2004-09-16 | 2006-03-16 | Nokia Corporation | Systems and methods for secured domain name system use based on pre-existing trust |
CN101277257A (zh) * | 2007-03-26 | 2008-10-01 | 华为技术有限公司 | 一种dns动态更新的方法、装置和系统 |
CN101277306A (zh) * | 2008-05-14 | 2008-10-01 | 华为技术有限公司 | 一种处理dns业务的方法、系统及设备 |
CN101815105A (zh) * | 2010-03-25 | 2010-08-25 | 上海交通大学 | 带智能缓存的域名解析服务系统及其服务方法 |
CN103929435A (zh) * | 2014-05-05 | 2014-07-16 | 中国科学院计算机网络信息中心 | 一种基于dnssec及dane协议的可信验证方法 |
CN105141612A (zh) * | 2015-09-01 | 2015-12-09 | 中国互联网络信息中心 | 一种dns数据包隐私保护方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110266832A (zh) * | 2019-07-08 | 2019-09-20 | 新华三信息安全技术有限公司 | 一种域名解析方法及装置 |
CN117201454A (zh) * | 2023-11-01 | 2023-12-08 | 紫光同芯微电子有限公司 | 用于dns查询的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US9894041B2 (en) | 2018-02-13 |
CN108476246B (zh) | 2021-04-13 |
US20170093802A1 (en) | 2017-03-30 |
EP3354001A1 (en) | 2018-08-01 |
WO2017053211A1 (en) | 2017-03-30 |
EP3354001B1 (en) | 2019-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108476246A (zh) | 计算机网络中的安全域名解析 | |
US11706036B2 (en) | Systems and methods for preserving privacy of a registrant in a domain name system (“DNS”) | |
US10904218B2 (en) | Secure proxy to protect private data | |
US9002018B2 (en) | Encryption key exchange system and method | |
US8429734B2 (en) | Method for detecting DNS redirects or fraudulent local certificates for SSL sites in pharming/phishing schemes by remote validation and using a credential manager and recorded certificate attributes | |
CN110048848B (zh) | 通过被动客户端发送会话令牌的方法、系统和存储介质 | |
CN106170964B (zh) | 基于不同身份服务的用户虚拟身份 | |
US20120036565A1 (en) | Personal data protection suite | |
US20120233664A1 (en) | Securing asynchronous client server transactions | |
CN107534691A (zh) | Dns高速缓存的远程清除 | |
US20200382455A1 (en) | Systems and methods of an anonymous email relay | |
US11329997B2 (en) | Signed message header storing sender account authentication method | |
US8892647B1 (en) | System and method for associating a cookie with a device identifier | |
Sinha et al. | CookieArmor: Safeguarding against cross‐site request forgery and session hijacking | |
CN110875903B (zh) | 一种安全防御方法及设备 | |
EP3311555B1 (en) | Security for domain name system | |
Jeyakumar et al. | Distributed lightweight trust infrastructure with automatic validation for electronic transactions | |
Johnson Jeyakumar | Distributed lightweight trust infrastructure with automatic validation for electronic transactions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |