CN106357839B - 一种dns查询方法及装置 - Google Patents
一种dns查询方法及装置 Download PDFInfo
- Publication number
- CN106357839B CN106357839B CN201610862454.9A CN201610862454A CN106357839B CN 106357839 B CN106357839 B CN 106357839B CN 201610862454 A CN201610862454 A CN 201610862454A CN 106357839 B CN106357839 B CN 106357839B
- Authority
- CN
- China
- Prior art keywords
- query
- mark
- server
- inquiry
- query result
- 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.)
- Active
Links
Classifications
-
- 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例提供的DNS查询方法,在用户进行DNS查询时,终端设备获取用户想要查询的待查询标识,同时,随机产生多个噪音查询标识。然后,将待查询标识和所述多个噪音查询标识汇集成一个查询集合,进而根据该查询集合生成查询请求并发送给服务器。服务器响应该查询请求得到查询集合中全部查询标识对应的查询结果集合并返回给终端设备。终端设备从查询结果集合中找到待查询标识对应的查询结果。该方法随机生成具有迷惑性的噪音查询标识,将噪音查询标识和真实的待查询标识以批量查询方式提交给服务器,服务器只能得到一系列的查询标识,无法确定用户真正要查询的标识,从而实现服务器端的用户隐私保护,极大地提高用户隐私的保护能力。
Description
技术领域
本发明属于计算机技术领域,尤其涉及一种DNS(Domain Name System,域名系统)查询方法及装置。
背景技术
DNS查询可以查询域名的IP地址、A(Address,地址)记录、CNAME(Canonical Name,别名)记录、MX(Mail Exchange,邮件路由)记录、NS(Name Server,域名服务器)记录等。例如,当客户端程序要通过一个主机名称来访问网络中的一台主机时,首先要得到这个主机名称所对应的IP地址,因为IP地址数据报中允许设置目的主机的IP地址,而不是主机名称可以从本机的hosts文件中得到主机名称所对应的IP地址,但如果hosts文件不能解析该主机名称时,只能通过向DNS服务器查询获得。
DNS查询通过UDP(User Datagram Protocol,用户数据协议)传输,并且全程透明,即,任何人通过某种手段就能够看到用户的DNS查询。这很可能泄露个人隐私,例如,QNAME(Qualified Name,限定名)和源IP(Internet Protocol,网络协议)地址;其中,QNAME包含了用户需要查询的网址的完整信息。QNAME可能会泄漏用户的行为信息,另外,QNAME也可能会嵌入一些软件信息,这些都可能泄露用户信息。
DNS查询需要通过网络传输用户所要查询的信息,在网络传输的过程中,会经过很多路由器和中间设备,如果攻击者在通信信道上采取被动监听策略,将会收集到很多重要的用户信息,例如,用户的IP地址和查询的域名信息。目前提出的保护用户隐私的方案主要是通过加密查询和响应报文实现,这些方案都是在中间通信信道上通过加密方式对用户查询信息及服务器的响应信息进行加密保护,但是,仍然无法避免在服务器上的用户隐私泄露现象。
发明内容
有鉴于此,本发明的目的在于提供一种DNS查询方法及装置,以解决现有技术中无法避免服务器端用户隐私泄露的技术问题。具体技术方案如下:
第一方面,本发明提供一种DNS查询方法,应用于终端设备中,包括:
获取用户欲要查询的待查询标识,以及,获取随机产生的预设数量个噪音查询标识,查询标识包括主机名称或域名;
利用所述待查询标识和所述预设数量个噪音查询标识生成查询集合;
根据所述查询集合生成查询请求并发送给服务器,所述查询请求用于使服务器查询获得所述查询集合所包含的全部查询标识对应的查询结果集合;
接收所述服务器返回的所述查询结果集合,并从所述查询结果集合中查找得到所述待查询标识对应的查询结果。
可选地,所述获取随机产生的预设数量个噪音查询标识,包括:
利用随机函数从标识数据库中选择预设数量个标识确定为所述噪音查询标识,所述标识数据库用于存储已知标识。
可选地,所述方法还包括:
按照预设时长更新所述随机函数的关键参数,所述关键参数决定所述随机函数的随机选择策略,所述预设时长根据大量用户的平均查询时间间隔设定,且大于服务器的拒绝服务攻击的时间间隔。
可选地,所述根据所述查询集合生成查询请求并发送给服务器,包括:
对所述查询集合进行加密,得到加密后的查询集合;
根据所述加密后的查询集合生成查询请求并发送给服务器,以使所述服务器响应所述查询请求获得对应的查询结果集合,以及,使所述服务器对所述查询结果集合进行加密;
所述接收所述服务器返回的所述查询结果集合,并从所述查询结果集合中查找得到所述待查询标识对应的查询结果包括:
接收所述服务器返回的加密后的查询结果集合;
对所述加密后的查询结果集合进行解密,得到解密后的查询结果集合;
从所述解密后的查询结果集合中查找得到所述待查询标识对应的查询结果。
可选地,所述查询结果包括:查询标识对应的IP地址、地址记录、别名记录、邮件指向记录和域名服务器记录中的至少一项。
第二方面,本发明提供一种DNS查询装置,应用于终端设备中,包括:
第一获取模块,用于获取用户欲要查询的待查询标识,所述待查询标识包括主机名称或域名;
第二获取模块,用于获取随机产生的预设数量个噪音查询标识;
查询集合生成模块,用于利用所述待查询标识和所述预设数量个噪音查询标识生成查询集合;
查询请求生成模块,用于根据所述查询集合生成查询请求并发送给服务器,所述查询请求用于使服务器查询获得所述查询集合所包含的全部查询标识对应的查询结果集合;
查找模块,用于接收所述服务器返回的所述查询结果集合,并从所述查询结果集合中查找得到所述待查询标识对应的查询结果。
可选地,所述第二获取模块具体用于:
利用随机函数从标识数据库中选择预设数量个标识确定为所述噪音查询标识,所述标识数据库用于存储已知标识。
可选地,所述装置还包括:
参数更新模块,用于按照预设时长更新所述随机函数的关键参数,所述关键参数决定所述随机函数的随机选择策略,所述预设时长根据大量用户的平均查询时间间隔设定,且大于服务器的拒绝服务攻击的时间间隔。
可选地,所述查询请求生成模块,包括:
加密子模块,用于对所述查询集合进行加密,得到加密后的查询集合;
查询请求生成子模块,用于根据所述加密后的查询集合生成查询请求并发送给服务器,以使所述服务器响应所述查询请求获得对应的查询结果集合,以及,使所述服务器对所述查询结果集合进行加密;
所述查找模块,包括:
接收子模块,用于接收所述服务器返回的加密后的查询结果集合;
解密子模块,用于对所述加密后的查询结果集合进行解密,得到解密后的查询结果集合;
查找子模块,用于从所述解密后的查询结果集合中查找得到所述待查询标识对应的查询结果。
可选地,所述查询结果包括:查询标识对应的IP地址、地址记录、别名记录、邮件指向记录和域名服务器记录中的至少一项。
本发明提供的上述技术方案具有如下优点:在用户进行DNS查询时,终端设备获取用户想要查询的待查询标识,同时,随机产生多个噪音查询标识。然后,将待查询标识和所述多个噪音查询标识汇集成一个查询集合,进而根据该查询集合生成查询请求并发送给服务器。服务器响应该查询请求得到查询集合中全部查询标识对应的查询结果集合并返回给终端设备。终端设备从查询结果集合中找到待查询标识对应的查询结果。该方法随机生成具有迷惑性的噪音查询标识,将噪音查询标识和真实的待查询标识以批量查询方式提交给服务器,服务器只能得到一系列的查询标识,无法确定用户真正要查询的标识,从而实现服务器端的用户隐私保护,极大地提高用户隐私的保护能力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一种DNS查询系统的示意图;
图2是本发明实施例一种DNS查询方法的流程示意图;
图3是本发明实施例另一种DNS查询方法的流程示意图;
图4是本发明实施例一种多次DNS查询过程的示意图;
图5是本发明实施例一种DNS查询装置的框图;
图6是本发明实施例另一种DNS查询装置的框图;
图7是本发明实施例再一种DNS查询装置的框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1,示出了本发明实施例一种DNS查询系统的示意图,如图1所示,DNS查询系统主要包括终端设备1和服务器2;其中,终端设备1可以是安装在终端设备(例如,PC机、智能手机等智能终端)上的客户端应用程序;服务器2可以是DNS查询服务器。用户通过终端设备输入要查询的标识,由终端设备通过互联网发送给服务器2。服务器2查询获得该标识对应的查询结果,并返回给终端设备1。
请参见图2,示出了本发明实施例一种DNS查询方法的流程示意图,该方法应用于图1所示的系统中,如图2所示,该方法可以包括以下步骤:
S110,终端设备获取用户想要查询的待查询标识。
待查询标识可以包括主机名称、域名,或者,物联网中的标识;例如,查询标识是百度网页域名“baidu.com”。
用户可以在终端设备的查询输入控件中输入要查询的标识。
S120,终端设备获取随机产生的预设数量个噪音查询标识。
终端设备可以利用随机函数,从标识数据库中随机选择多个标识作为噪音查询标识。标识数据库用于存储目前已知的标识,例如,已知网页的域名。
例如,标识数据库设置为网站排名1-500的网站,随机函数从随机产生一个1-500的整数,并获取该数字对应的网站的域名作为一个噪音查询标识。如果批量查询容量时5,则需要产生5个1-500之间的整数。
S130,终端设备根据待查询标识和预设数量个噪音查询标识,生成查询集合。
终端设备将用户输入的待查询标识和噪音查询标识构成查询集合。
例如,查询集合为Q={baidu.com,linkedin.com,weibo.com,hao123.com,espn.go.com}。
S140,终端设备根据该查询集合生成查询请求,并将该查询请求发送给服务器。
终端设备利用查询集合生成一个查询请求,该查询请求中包含查询集合中的全部查询标识,即,发送一次查询请求可以查询多个标识。
S150,服务器解析接收到的查询请求,获得所述查询集合。
S160,服务器获得查询集合内包含的全部查询标识所对应的查询结果集合,并返回给终端设备。
服务器获取查询集合中待查询标识和每个噪音查询标识所对应的查询结果,并将查询结合汇集得到一个查询结果集合。
用户在发起查询请求时可以指定查询结果的类型,其中,查询结果的类型包括IP地址、A记录、CNAME记录、MX记录、NS记录等。
例如,查询结果类型是IP地址,则S130中的查询集合实例对应的查询结果为R={123.125.114.144,108.174.10.10,180.149.134.141,123.125.114.224,199.181.133.61}
S170,终端设备从接收到的查询结果集合中查找待查询标识对应的查询结果。
终端设备从查询结果集合中查找到用户输入的待查询标识对应的查询结果,并展示给用户。
延用上述实例,终端设备从查询结果集合R中查找到用户想要查询的域名baidu.com对应的IP地址为123.125.114.144,并展示给用户。
本实施例提供的DNS查询方法,在用户进行DNS查询时,获取用户输入的待查询标识,同时,随机选择多个噪音查询标识。然后,将待查询标识和噪音查询标识汇集成一个查询集合,进而根据该查询集合生成查询请求并发送给服务器。服务器响应该查询请求得到查询集合中全部查询标识对应的查询结果集合并返回给终端设备,终端设备从查询结果集合中找到待查询标识对应的下旬结果。该方法随机生成具有迷惑性的噪音查询标识,将噪音查询标识和真实的待查询标识以批量查询方式提交给服务器,服务器只能得到一系列的查询标识,无法确定用户真正要查询的标识,从而实现服务器端的用户隐私保护,极大地提高用户隐私的保护能力。
请参见图3,示出了本发明实施例另一种DNS查询方法的流程示意图,该方法应用于图1所示的系统中,本实施例中,终端设备与服务器之间以密文方式传输请求和响应消息。如图3所示,该方法可以包括以下步骤:
S210,终端设备获取用户欲要查询的待查询标识。
S220,终端设备利用随机函数从标识数据库中随机选择预设数量个噪音查询标识。
S230,终端设备将待查询标识和预设数量个噪音查询标识汇集成一个查询集合。
例如,查询集合是其中,Hi是用户欲要查询的标识,H1……Hi-1和Hi+1……Hn是噪音查询标识。
S240,终端设备对查询集合进行加密,得到加密后的查询集合。
加密后的查询集合为
S250,终端设备利用加密后的查询集合生成查询请求,并发送给服务器。
S260,服务器解析查询请求获得加密后的查询集合。
S270,服务器利用密钥对加密后的查询集合进行解密,得到解密后的查询集合。
S280,服务器查询获得解密后的查询集合中各个查询标识对应的查询结果,得到查询结果集合。
本实施例中,查询结果集合可以记为
S290,服务器对查询结果集合进行加密,得到加密后的查询结果集合,并发送给终端设备。
本实施例中,加密后的查询结果集合可以记为
S2100,终端设备利用密钥对加密后的查询结果集合,得到解密后的查询结果集合。
本实施例中,解密后的查询结果集合可以记为
需要说明的是,服务器将加密后的查询结果集合携带于响应消息中发送给终端设备,终端设备解析响应消息得到加密后的查询结果集合,然后,再对加密后的查询结果集合进行解密,得到解密后的查询结果集合。
S2110,终端设备从解密后的查询结果集合中查找到待查询标识对应的查询结果,并展示给用户。
终端设备从明文查询结果集合中查找得到用户真正要查询的待查询标识对应的查询结果。
本实施例提供的DNS查询方法,在引入噪音查询标识的基础上,对终端设备与服务器之间传输的消息进行加密,进一步提高了用户隐私保护能力。
上述图2和图3所示的实施例中,在被动监听的应用场景下,当服务器接收到查询集合后,服务器端准确猜测用户真正想要查询的待查询标识的概率是
当被动监听变为主动攻击方式,例如,通过各种手段控制网络,让服务器不停地拒绝用户的批量查询,或者,丢弃查询报文。用户只能再次生成运行上述方法,产生新的查询集合,新的查询集合中的噪音查询标识也会随即改变,但是用户想要查询的待查询标识始终不变,这样服务器能准确猜测出待查询标识的概率显著提高。不同查询集合中的公共部分会降低用户隐私保护程度。
例如,当批量查询容量为3,即查询集合中包含3个查询标识,标识数据库DB={H1,H2,H3,H4,H5,H6},三次拒绝服务攻击后,服务器端猜测成功的概率变为1,过程如表1所示:
表1
步骤 | 查询集合 | 交集 | 猜测概率 |
1 | Q<sub>1</sub>={H<sub>1</sub>,H<sub>2</sub>,H<sub>3</sub>} | - | P<sub>1</sub>=1/3 |
2 | Q<sub>2</sub>={H<sub>1</sub>,H<sub>2</sub>,H<sub>5</sub>} | Q<sub>1</sub>∩Q<sub>2</sub>={H<sub>1</sub>,H<sub>2</sub>} | P<sub>2</sub>=1/2 |
3 | Q<sub>3</sub>={H<sub>1</sub>,H<sub>4</sub>,H<sub>6</sub>} | Q<sub>2</sub>∩Q<sub>3</sub>={H<sub>1</sub>} | P<sub>3</sub>=1 |
为了解决拒绝服务攻击的问题,本发明提出另一种DNS查询方法,本实施例中,采用定时更新随机函数中的关键参数seed的方式,使得随机函数生成的噪音查询标识在一定时间内保持不变,关键参数seed决定随机函数随机选择的策略,原则上seed相同、标识数据库相同,则随机函数选择的噪音查询标识相同。
普通用户发起DNS查询的时间间隔通常比较长(例如,3min),远远高于拒绝服务攻击的时间间隔(例如,5s)。因此,可以根据大量用户的平均查询时间间隔Δt设定seed的更新时间。例如,将seed的更新时间设定为Δt,在Δt时间内seed保持不变,超过Δt后,更新seed。这样,既能保证遭受拒绝服务请求攻击时,产生的噪音查询标识没有改变,同时,保证正常请求新的查询时,随机函数会重新选择一批噪音查询标识,从而使得服务器无法跟踪要查询的标识。
请参见图4,示出了多次DNS查询过程的示意图,如图4所示,该过程包括:
S310,终端设备向服务器发起批量查询请求Q(S1)。
本实施例中,本次查询集合为S1,用户真正想要查询的待查询标识是H1。
S320,服务器拒绝终端设备的查询请求,并向终端设备返回拒绝响应消息。
S330,终端设备判断当前时刻与上一次查询请求的时间间隔是否大于预设时长,如果小于或等于预设时长,则执行S340;如果大于,则执行S350。
本实施例中,预设时长可以设定为用户的平均查询时间间隔Δt。
S340,终端设备向服务器发起批量查询请求Q(S1)。
在Δt时间内,无论遭受多少次拒绝服务,查询集合始终不变。
S350,终端设备向服务器发起批量查询请求Q(S2),S2中必须包含用户要查询的标识H1。
当前使用的seed超过Δt后,产生新的噪音查询标识,新的噪音查询标识和用户要查询的标识一起组成新的查询集合。即使攻击者了解到噪音查询标识的产生方法,由于seed的更新机制,导致攻击者无法反向准确推测用户的原始查询的标识。此外,拒绝服务的特征很明显,攻击者在服务器端尝试数次拒绝服务攻击后,暴露的风向上升,可能会促使攻击者放弃此类攻击方式。
本实施例提供的DNS查询方法,噪音查询标识保留预设时长后再更新,且预设时长远远大于服务器拒绝服务攻击的时间间隔。当终端设备面临拒绝服务攻击时,在预设时长内都保持噪音查询标识不变,大大降低服务器端准确猜测用户想要查询的标识的概率,进一步提高了用户隐私保护的能力。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
相应于上述的DNS查询方法实施例,本发明还提供了DNS查询装置实施例。
请参见图5,示出了本发明实施例一种DNS查询装置的框图,该装置应用于终端设备中,如图5所示,该装置包括:第一获取模块110、第二获取模块120、查询集合生成模块130、查询请求生成模块140和查找模块150。
第一获取模块110,用于获取用户欲要查询的待查询标识;待查询标识包括主机名称或域名。
待查询标识可以包括主机名称、域名,或者,物联网中的标识;例如,查询标识是百度网页域名“baidu.com”。
第二获取模块120,用于获取随机产生的预设数量个噪音查询标识。
在本发明的一种可能的实现方式中,第二获取模块120利用随机函数从标识数据库中选择预设数量个标识确定为所述噪音查询标识,所述标识数据库用于存储已知标识。
例如,标识数据库设置为网站排名1-500的网站,随机函数从随机产生一个1-500的整数,并获取该数字对应的网站的域名作为一个噪音查询标识。
查询集合生成模块130,用于利用所述待查询标识和所述预设数量个噪音查询标识生成查询集合。
例如,查询集合为Q={baidu.com,linkedin.com,weibo.com,hao123.com,espn.go.com}。
查询请求生成模块140,用于根据所述查询集合生成查询请求并发送给服务器;
终端设备利用查询集合生成一个查询请求,该查询请求中包含查询集合中的全部查询标识,即,发送一次查询请求可以查询多个标识。
所述查询请求用于使服务器查询获得所述查询集合所包含的全部查询标识对应的查询结果集合。服务器获取查询集合中待查询标识和每个噪音查询标识所对应的查询结果,并将查询结合汇集得到一个查询结果集合。
用户在发起查询请求时可以指定查询结果的类型,其中,查询结果的类型包括IP地址、A记录、CNAME记录、MX记录、NS记录等。
例如,查询结果类型是IP地址,则S130中的查询集合实例对应的查询结果为R={123.125.114.144,108.174.10.10,180.149.134.141,123.125.114.224,199.181.133.61}
查找模块150,用于接收所述服务器返回的所述查询结果集合,并从所述查询结果集合中查找得到所述待查询标识对应的查询结果。
延用上述实例,终端设备从查询结果集合R中查找到用户想要查询的域名baidu.com对应的IP地址为123.125.114.144,并展示给用户。
本实施例提供的DNS查询装置,将用户欲要查询的待查询标识,以及随机产生的多个噪音查询标识汇集成一个查询集合,根据该查询集合生成查询请求,即将用户的单个查询演变成批量查询并将生成的批量查询集合提交给服务器,服务器只能得到一系列的查询标识,无法确定用户真正要查询的标识,从而实现服务器端的用户隐私保护,极大地提高用户隐私的保护能力。
请参见图6,示出了本发明实施例另一种DNS查询装置的框图,本实施例的DNS查询装置在图5所示实施例的基础上增加了参数更新模块。如图6所示,
参数更新模块210与第二获取模块120相连,用于按照预设时长更新随机函数的关键参数;
所述关键参数决定所述随机函数的随机选择策略,所述预设时长根据大量用户的平均查询时间间隔设定,且大于服务器的拒绝服务攻击的时间间隔。
普通用户发起DNS查询的时间间隔通常比较长(例如,3min),远远高于拒绝服务攻击的时间间隔(例如,5s)。因此,可以根据大量用户的平均查询时间间隔Δt设定seed的更新时间。例如,将seed的更新时间设定为Δt,在Δt时间内seed保持不变,超过Δt后,更新seed。这样,既能保证遭受拒绝服务请求攻击时,产生的噪音查询标识没有改变,同时,保证正常请求新的查询时,随机函数会重新选择一批噪音查询标识,从而使得服务器无法跟踪要查询的标识。
本实施例提供的DNS查询装置,噪音查询标识保留预设时长后再更新,且预设时长远远大于服务器拒绝服务攻击的时间间隔。当终端设备面临拒绝服务攻击时,在预设时长内都保持噪音查询标识不变,大大降低服务器端准确猜测用户想要查询的标识的概率,进一步提高了用户隐私保护的能力。
请参见图7,示出了本发明实施例再一种DNS查询装置的框图,本实施例中,终端设备与服务器之间以密文方式传输请求和响应消息。如图7所示,该装置包括:第一获取模块310、第二获取模块320、参数更新模块330、查询集合生成模块340、加密子模块350、查询请求生成子模块360、接收子模块370、解密子模块380和查找子模块390。
其中,第一获取模块310、第二获取模块320、参数更新模块330、查询集合生成模块340与上述装置实施例中的功能相同,本实施例中不再赘述。
加密子模块350,用于对所述查询集合进行加密,得到加密后的查询集合;
查询请求生成子模块360,用于根据所述加密后的查询集合生成查询请求并发送给服务器,以使所述服务器响应所述查询请求获得对应的查询结果集合,以及,使所述服务器对所述查询结果集合进行加密;
接收子模块370,用于接收所述服务器返回的加密后的查询结果集合;
解密子模块380,用于对所述加密后的查询结果集合进行解密,得到解密后的查询结果集合;
查找子模块390,用于从所述解密后的查询结果集合中查找得到所述待查询标识对应的查询结果。
本实施例提供的DNS查询装置,在引入噪音查询标识的基础上,对终端设备与服务器之间传输的消息进行加密,有效解决网络传输过程中被攻击者监听到用户的查询标识的问题,进一步提高了用户隐私保护能力。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (6)
1.一种DNS查询方法,应用于终端设备中,其特征在于,包括:
获取用户欲要查询的待查询标识;
利用随机函数从标识数据库中选择预设数量个标识确定为噪音查询标识,所述标识数据库用于存储已知标识;
利用所述待查询标识和所述预设数量个噪音查询标识生成查询集合;
根据所述查询集合生成查询请求并发送给服务器,所述查询请求用于使服务器查询获得所述查询集合所包含的全部查询标识对应的查询结果集合;
接收所述服务器返回的所述查询结果集合,并从所述查询结果集合中查找得到所述待查询标识对应的查询结果
其中,按照预设时长更新所述随机函数的关键参数,所述关键参数决定所述随机函数的随机选择策略,所述预设时长根据大量用户的平均查询时间间隔设定,且大于服务器的拒绝服务攻击的时间间隔。
2.根据权利要求1所述的方法,其特征在于,所述根据所述查询集合生成查询请求并发送给服务器,包括:
对所述查询集合进行加密,得到加密后的查询集合;
根据所述加密后的查询集合生成查询请求并发送给服务器,以使所述服务器响应所述查询请求获得对应的查询结果集合,以及,使所述服务器对所述查询结果集合进行加密;
所述接收所述服务器返回的所述查询结果集合,并从所述查询结果集合中查找得到所述待查询标识对应的查询结果包括:
接收所述服务器返回的加密后的查询结果集合;
对所述加密后的查询结果集合进行解密,得到解密后的查询结果集合;
从所述解密后的查询结果集合中查找得到所述待查询标识对应的查询结果。
3.根据权利要求1所述的方法,其特征在于,所述查询结果包括:查询标识对应的IP地址、地址记录、别名记录、邮件指向记录和域名服务器记录中的至少一项。
4.一种DNS查询装置,应用于终端设备中,其特征在于,包括:
第一获取模块,用于获取用户欲要查询的待查询标识,所述待查询标识包括主机名称或域名;
第二获取模块,用于利用随机函数从标识数据库中选择预设数量个标识确定为噪音查询标识,所述标识数据库用于存储已知标识;
查询集合生成模块,用于利用所述待查询标识和所述预设数量个噪音查询标识生成查询集合;
查询请求生成模块,用于根据所述查询集合生成查询请求并发送给服务器,所述查询请求用于使服务器查询获得所述查询集合所包含的全部查询标识对应的查询结果集合;
查找模块,用于接收所述服务器返回的所述查询结果集合,并从所述查询结果集合中查找得到所述待查询标识对应的查询结果
参数更新模块,用于按照预设时长更新所述随机函数的关键参数,所述关键参数决定所述随机函数的随机选择策略,所述预设时长根据大量用户的平均查询时间间隔设定,且大于服务器的拒绝服务攻击的时间间隔。
5.根据权利要求4所述的装置,其特征在于,所述查询请求生成模块,包括:
加密子模块,用于对所述查询集合进行加密,得到加密后的查询集合;
查询请求生成子模块,用于根据所述加密后的查询集合生成查询请求并发送给服务器,以使所述服务器响应所述查询请求获得对应的查询结果集合,以及,使所述服务器对所述查询结果集合进行加密;
所述查找模块,包括:
接收子模块,用于接收所述服务器返回的加密后的查询结果集合;
解密子模块,用于对所述加密后的查询结果集合进行解密,得到解密后的查询结果集合;
查找子模块,用于从所述解密后的查询结果集合中查找得到所述待查询标识对应的查询结果。
6.根据权利要求4所述的装置,其特征在于,所述查询结果包括:查询标识对应的IP地址、地址记录、别名记录、邮件指向记录和域名服务器记录中的至少一项。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610862454.9A CN106357839B (zh) | 2016-09-28 | 2016-09-28 | 一种dns查询方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610862454.9A CN106357839B (zh) | 2016-09-28 | 2016-09-28 | 一种dns查询方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106357839A CN106357839A (zh) | 2017-01-25 |
CN106357839B true CN106357839B (zh) | 2019-11-19 |
Family
ID=57865543
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610862454.9A Active CN106357839B (zh) | 2016-09-28 | 2016-09-28 | 一种dns查询方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106357839B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107040546B (zh) * | 2017-05-26 | 2020-03-03 | 浙江鹏信信息科技股份有限公司 | 一种域名劫持检测与联动处置方法及系统 |
CN110858251B (zh) * | 2018-08-22 | 2020-07-21 | 阿里巴巴集团控股有限公司 | 数据查询方法和装置 |
CN109299149B (zh) * | 2018-10-09 | 2020-07-14 | 北京腾云天下科技有限公司 | 数据查询方法、计算设备以及系统 |
CN112543215A (zh) * | 2019-09-23 | 2021-03-23 | 北京国双科技有限公司 | 访问请求的处理方法、系统、装置、存储介质和电子设备 |
CN112995205B (zh) * | 2021-04-13 | 2021-08-20 | 北京百度网讯科技有限公司 | 基于区块链的查询方法、装置、设备和存储介质 |
CN114357522A (zh) * | 2022-01-13 | 2022-04-15 | 厦门荷月信息科技有限公司 | 一种隐私计算分组查询方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102112979A (zh) * | 2008-08-08 | 2011-06-29 | 微软公司 | 安全资源名称解析 |
CN102577303A (zh) * | 2009-04-20 | 2012-07-11 | 思杰系统有限公司 | 用于生成dns查询以提高抗dns攻击性的系统和方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2424167C (en) * | 2000-10-10 | 2008-07-08 | Nokia Corporation | Techniques for hiding network element names and addresses |
JP2005101890A (ja) * | 2003-09-25 | 2005-04-14 | Toshiba Corp | 名前登録仲介装置、名前解決仲介装置、名前解決システム、名前解決方法、名前登録仲介プログラムおよび名前解決仲介プログラム |
US20100287246A1 (en) * | 2007-02-14 | 2010-11-11 | Thomas Klos | System for processing electronic mail messages with specially encoded addresses |
-
2016
- 2016-09-28 CN CN201610862454.9A patent/CN106357839B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102112979A (zh) * | 2008-08-08 | 2011-06-29 | 微软公司 | 安全资源名称解析 |
CN102577303A (zh) * | 2009-04-20 | 2012-07-11 | 思杰系统有限公司 | 用于生成dns查询以提高抗dns攻击性的系统和方法 |
Non-Patent Citations (2)
Title |
---|
"DNS原理入门";阮一峰;《阮一峰的网络日志》;20160616;第2-4页、第10页 * |
"噪声干扰技术在加密中的应用";关丽梅;《魅力中国》;20100907;第1页左栏第8段,右栏第5段 * |
Also Published As
Publication number | Publication date |
---|---|
CN106357839A (zh) | 2017-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106357839B (zh) | 一种dns查询方法及装置 | |
Afanasyev et al. | SNAMP: Secure namespace mapping to scale NDN forwarding | |
US8838670B2 (en) | Collaboration between internet service providers and content distribution systems | |
JP3848198B2 (ja) | ネームサーバ、ネットワーク・システム、逆引き要求処理方法、正引き要求処理方法及び通信制御方法 | |
Schomp et al. | On measuring the client-side DNS infrastructure | |
US8837483B2 (en) | Mapping private and public addresses | |
US11025584B2 (en) | Client subnet efficiency by equivalence class aggregation | |
US10372775B2 (en) | Anonymous identity in identity oriented networks and protocols | |
CN101141488B (zh) | 组播服务代理的实现方法及系统和节点发现方法 | |
US11750363B2 (en) | Privacy-preserving domain name service (DNS) | |
EP3248364A1 (en) | Network identification as a service | |
CN108632401B (zh) | 减少dns递归服务器上隐私泄漏的匿名查询方法及系统 | |
Kaiser et al. | Adding privacy to multicast DNS service discovery | |
JP3692107B2 (ja) | 名前解決装置及び名前解決方法 | |
Zhao et al. | Two-servers PIR based DNS query scheme with privacy-preserving | |
WO2013082791A1 (zh) | Dns客户端地址、rr ttl更新的方法、装置及系统 | |
US11070513B2 (en) | DNS-based method of transmitting data | |
Afanasyev et al. | Map-and-encap for scaling ndn routing | |
CN108768853B (zh) | 基于域名路由器的分布式混合域名系统及方法 | |
KR101326360B1 (ko) | Dns 서버 간의 보안 통신 방법 및 이를 위한 관할 dns 서버, 그리고 보안 통신 시스템 | |
US7664880B2 (en) | Lightweight address for widely-distributed ADHOC multicast groups | |
Hoffman et al. | A covert channel in ttl field of dns packets | |
Li et al. | Improving DNS cache to alleviate the impact of DNS DDoS attack | |
WO2016074150A1 (en) | Streamlining location-dependent dns configuration | |
Krishnan et al. | Privacy Considerations for DHCPv6 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |