匿名访问方法、装置、网络设备及可读存储介质
技术领域
本发明涉及通信技术领域,具体而言,涉及一种匿名访问方法、装置、网络设备及可读存储介质。
背景技术
目前,用户一般通过在终端设备(例如,电脑、手机等)上运行Tor(The OnionRouter)客户端,实现匿名上网,但是安装和配置Tor对专业水平要求较高,大部分普通用户难以成功运行Tor。此外,一些协议可能会泄露真实IP,例如用户常用的BT协议下载与上传等,但是由于Tor本身没有对各种协议进行屏蔽,所以依然存在隐私泄露的风险。
发明内容
为了克服现有技术中的上述不足,本发明的目的在于提供一种匿名访问方法、装置、网络设备及可读存储介质,能够降低普通用户使用Tor进行匿名上网的难度,同时对在使用Tor的过程中出现的可能泄露真实IP的数据包进行过滤,提高匿名上网的安全性。
为了实现上述目的,本发明较佳实施例采用的技术方案如下:
本发明较佳实施例提供一种匿名访问方法,应用于网络设备,所述网络设备中配置有需要匿名服务的地址清单信息,所述方法包括:
接收终端设备发送的数据包,并从所述数据包中解析出该数据包访问的目的地址;
检测所述目的地址是否为所述地址清单信息中的地址;
在为是时,生成所述数据包发送到所述目的地址的过程中需要经过的Tor节点组成的Tor节点路径;
判断所述Tor节点路径是否满足预设安全规则;
在为是时,基于所述Tor节点路径将所述数据包发送给所述目的地址,以访问所述目的地址所在服务器。
在本发明较佳实施例中,在接收终端设备发送的数据包,并从所述数据包中解析出该数据包访问的目的地址之前,所述方法还包括:
向目标服务器发送更新所述地址清单信息的请求;
接收并存储所述目标服务器根据所述请求更新的地址清单信息。
在本发明较佳实施例中,所述检测所述目的地址是否为所述地址清单信息中的地址之后,所述方法还包括:
在为否时,将所述数据包转发给所述目的地址,以访问所述目的地址所在服务器。
在本发明较佳实施例中,所述生成所述数据包发送到所述目的地址的过程中需要经过的Tor节点组成的Tor节点路径,包括:
从目标服务器中下载Tor软件并对所述Tor软件进行配置;
基于配置好的所述Tor软件生成所述数据包发送到所述目的地址的过程中需要经过的Tor节点组成的Tor节点路径。
在本发明较佳实施例中,所述预设安全规则包括地址清单信息中的每个地址对应的Tor节点数量阈值,所述判断所述Tor节点路径是否满足预设安全规则,包括:
判断所述Tor节点路径中包括的Tor节点数量是否大于与所述目的地址对应的Tor节点数量阈值;
若大于,则判定所述Tor节点路径满足所述预设安全规则;以及
若不大于,则判定所述Tor节点路径不满足所述预设安全规则。
在本发明较佳实施例中,所述基于所述Tor节点路径将所述数据包发送给所述目的地址,包括:
所述Tor节点路径的入口节点接收所述数据包,并对所述数据包进行点对点密钥加密后传输给下一个节点;
所述下一个节点接收所述加密后的数据包,并进行点对点密钥加密后继续传输给下一个节点,直到传输到出口节点后,由所述出口节点将所述数据包发送给所述目的地址。
本发明较佳实施例还提供一种匿名访问装置,应用于网络设备,所述网络设备中配置有需要匿名服务的地址清单信息,所述装置包括:
接收模块,用于接收终端设备发送的数据包,并从所述数据包中解析出该数据包访问的目的地址;
检测模块,用于检测所述目的地址是否为所述地址清单信息中的地址;
生成模块,用于在为是时,生成所述数据包发送到所述目的地址的过程中需要经过的Tor节点组成的Tor节点路径;
判断模块,用于判断所述Tor节点路径是否满足预设安全规则;
发送模块,用于在为是时,基于所述Tor节点路径将所述数据包发送给所述目的地址,以访问所述目的地址所在服务器。
本发明较佳实施例还提供一种网络设备,所述网络设备包括:
存储介质;
处理器;以及
匿名访问装置,所述装置安装于所述存储介质中并包括一个或者多个由所述处理器执行的软件功能模块,所述装置包括:
接收模块,用于接收终端设备发送的数据包,并从所述数据包中解析出该数据包访问的目的地址;
检测模块,用于检测所述目的地址是否为地址清单信息中的地址;
生成模块,用于在为是时,生成所述数据包发送到所述目的地址的过程中需要经过的Tor节点组成的Tor节点路径;
判断模块,用于判断所述Tor节点路径是否满足预设安全规则;
发送模块,用于在为是时,基于所述Tor节点路径将所述数据包发送给所述目的地址,以访问所述目的地址所在服务器。
本发明较佳实施例还提供一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序运行时控制所述可读存储介质所在网络设备执行上述的匿名访问方法。
相对于现有技术而言,本发明具有以下有益效果:
本发明实施例提供一种匿名访问方法、装置、网络设备及可读存储介质,通过解析终端设备发送的数据包访问的目的地址,并在该目的地址为地址清单信息中的地址时,生成所述数据包发送到所述目的地址的过程中需要经过的Tor节点组成的Tor节点路径,并在所述Tor节点路径满足预设安全规则时,基于所述Tor节点路径将所述数据包发送给所述目的地址,以访问所述目的地址所在服务器。由此,能够降低普通用户使用Tor进行匿名上网的难度,同时对在使用Tor的过程中出现的可能泄露真实IP的数据包进行过滤,提高了匿名上网的安全性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它相关的附图。
图1为本发明较佳实施例提供的匿名访问方法的一种流程示意图;
图2本发明较佳实施例提供的匿名访问方法的另一种流程示意图;
图3为本发明较佳实施例提供的匿名访问装置的一种功能模块图;
图4为本发明较佳实施例提供的网络设备的一种结构示意框图。
图标:100-网络设备;110-总线;120-处理器;130-存储介质;140-总线接口;150-网络适配器;160-用户接口;200-匿名访问装置;210-接收模块;220-检测模块;230-生成模块;240-判断模块;250-发送模块。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
请参阅图1,为本发明较佳实施例提供的匿名访问方法的一种流程示意图。所应说明的是,本发明实施例提供的匿名访问方法不以图1及以下所述的具体顺序为限制。所述方法的具体流程如下:
步骤S210,接收终端设备发送的数据包,并从所述数据包中解析出该数据包访问的目的地址。
具体地,在本实施例中,所述终端设备可以通过诸如有线或无线网络等方式发送或接收数据包,或可以在诸如存储器中将信号处理或存储为物理存储状态。每个终端设备可以是包括硬体、软体或内嵌逻辑元件或者两个或多个此类元件的组合的电子装置,并能够执行由终端设备实施或支援的合适的功能。所述终端设备可以是一种具有无线收发功能的设备,包括室内或室外、手持、穿戴或车载设备。例如,所述终端设备可以是手机(mobilephone)、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(Virtual Reality,VR)终端设备、增强现实(Augmented Reality,AR)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程医疗(remote medical)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等等。本申请的实施例对应用场景不做限定。
当所述终端设备需要匿名访问目标地址所在服务器时,首先接收所述终端设备发送的数据包,然后从所述数据包中解析出该数据包需要访问的目的地址,可选地,所述目的地址可以是目的服务器的IP地址或者MAC等,在此不作具体限定。
步骤S220,检测所述目的地址是否为所述地址清单信息中的地址。
本实施例中,所述网络设备100中配置有需要匿名服务的地址清单信息,在解析出该数据包需要访问的目的地址后,将所述目的地址与所述地址清单信息中的地址进行匹配。
可选地,为了保证所述地址清单信息的实时更新,所述网络设备100还可以实时或者每隔一预设时间段,向负责所述地址清单信息更新的目标服务器发送更新所述地址清单信息的请求,所述目标服务器根据所述请求将更新的地址清单信息发送给所述网络设备100,所述网络设备100接收并存储所述目标服务器根据所述请求更新的地址清单信息。
步骤S230,在为是时,生成所述数据包发送到所述目的地址的过程中需要经过的Tor节点组成的Tor节点路径。
本实施例中,在检测到所述目的地址为所述地址清单信息中的地址时,所述网络设备100可以从目标服务器中下载Tor软件并对所述Tor软件进行配置,然后基于配置好的所述Tor软件生成所述数据包发送到所述目的地址的过程中需要经过的Tor节点组成的Tor节点路径。
具体地,Tor(The Onion Router,洋葱路由器)是实现匿名通信的自由软件,Tor是第二代洋葱路由的一种实现,用户可以通过Tor可以在因特网上进行匿名交流。Tor用户可以在本机运行一个洋葱代理服务器(onion proxy),这个代理周期性地与其他Tor交流,从而在Tor网络中构成虚电路(virtual circuit)。Tor是在5层协议栈中的应用层进行加密。每个路由器间的传输都经过点对点密钥(symmetric key)来加密,这样在洋葱路由器之间可以保持通讯安全。同时对于客户端,洋葱代理服务器又作为SOCKS接口。一些应用程序就可以将Tor作为代理服务器,网络通讯就可以通过Tor的虚拟环路来进行。
可选地,请参阅图2,所述步骤S220之后,所述方法还可以包括:
步骤S225,在为否时,将所述数据包转发给所述目的地址,以访问所述目的地址所在服务器。
本实施例中,在为否时,也即在检测到所述目的地址不为所述地址清单信息中的地址时,表示该访问请求不需要匿名服务,此时所述网络设备100直接将所述数据包转发给所述目的地址,以访问所述目的地址所在服务器。
请再次参阅图1,步骤S240,判断所述Tor节点路径是否满足预设安全规则。
本实施例中,所述Tor节点路径可包括多层Tor节点,由于目前一些协议可能会泄露真实IP,例如用户常用的BT协议下载与上传等,但是由于Tor本身没有对各种协议进行屏蔽,所以依然存在隐私泄露的风险。
为了降低隐私泄露的风险,可选地,所述预设安全规则包括地址清单信息中的每个地址对应的Tor节点数量阈值,所述网络设备100首先判断所述Tor节点路径中包括的Tor节点数量是否大于与所述目的地址对应的Tor节点数量阈值,若大于,则判定所述Tor节点路径满足所述预设安全规则;若不大于,则判定所述Tor节点路径不满足所述预设安全规则。例如,用户需要访问A服务器,所述网络设备100生成的Tor节点路径中包括三个Tor节点路,但是所述A服务器对应的Tor节点数量阈值为五,此时所述网络设备100判定所述Tor节点路径不满足所述预设安全规则,容易泄露隐私,则丢弃所述数据包。由此,通过对在使用Tor的过程中出现的可能泄露真实IP的数据包进行过滤,提高了匿名上网的安全性。
此外,若所述A服务器对应的Tor节点数量阈值为三,那么所述网络设备100则判定所述Tor节点路径满足所述预设安全规则,于是执行步骤S250,在为是时,基于所述Tor节点路径将所述数据包发送给所述目的地址,以访问所述目的地址所在服务器。
具体地,在本实施例中,所述Tor节点路径可包括入口Tor节点、至少一个中间Tor节点以及出口Tor节点,其中,所述入口Tor节点与所述网络设备100进行通信,并与下一个中间Tor节点进行通信,所述出口Tor节点与上一个中间Tor节点进行通信,并与目的地址所在服务器进行通信,在通信过程中,每个Tor节点只知晓上一个Tor节点的信息以及下一个Tor节点的信息,并不知晓所述数据包发送到所述目的地址的过程中需要经过的Tor节点组成的Tor节点路径。Tor依赖于层层加密,如果截获了出口节点才能知晓访问的服务器,但是无法得知需要访问该服务器的用户,而截获了入口节点虽然知晓用户信息,但是无法得知最终访问的服务器,只能看见中间节点,从而实现了隐私保护。
在所述数据包进入Tor网络后,加密信息在路由器间层层传递,最后到达“出口节点”(exit node),明文数据从这个节点直接发往原来的目的地。对于目的地址对应的服务器而言,是从“出口节点”发来的数据包。具体地,所述Tor节点路径的入口节点首先接收所述数据包,并对所述数据包进行点对点密钥加密后传输给下一个节点,所述下一个节点接收所述加密后的数据包,并进行点对点密钥加密后继续传输给下一个节点,然后下一个节点继续进行点对点密钥加密后再传输给下一个节点,直到所述数据包传输到出口节点后,由所述出口节点将所述数据包发送给所述目的地址。
基于上述设计,通过解析终端设备发送的数据包访问的目的地址,并在该目的地址为地址清单信息中的地址时,生成所述数据包发送到所述目的地址的过程中需要经过的Tor节点组成的Tor节点路径,并在所述Tor节点路径满足预设安全规则时,基于所述Tor节点路径将所述数据包发送给所述目的地址,以访问所述目的地址所在服务器。由此,能够降低普通用户使用Tor进行匿名上网的难度,同时对在使用Tor的过程中出现的可能泄露真实IP的数据包进行过滤,提高了匿名上网的安全性。
进一步地,请参阅图3,本发明较佳实施例还提供一种匿名访问装置200,所述装置包括:
接收模块210,用于接收终端设备发送的数据包,并从所述数据包中解析出该数据包访问的目的地址。
检测模块220,用于检测所述目的地址是否为所述地址清单信息中的地址。
生成模块230,用于在为是时,生成所述数据包发送到所述目的地址的过程中需要经过的Tor节点组成的Tor节点路径。
判断模块240,用于判断所述Tor节点路径是否满足预设安全规则。
发送模块250,用于在为是时,基于所述Tor节点路径将所述数据包发送给所述目的地址,以访问所述目的地址所在服务器。
可选地,所述预设安全规则包括地址清单信息中的每个地址对应的Tor节点数量阈值。所述判断模块240,还用于判断所述Tor节点路径中包括的Tor节点数量是否大于与所述目的地址对应的Tor节点数量阈值,若大于,则判定所述Tor节点路径满足所述预设安全规则;以及若不大于,则判定所述Tor节点路径不满足所述预设安全规则。
本实施例中的各功能模块的具体操作方法可参照上述方法实施例中相应步骤的详细描述,在此不再重复赘述。
进一步地,请参阅图4,为本发明较佳实施例提供的网络设备100的一种结构示意框图。本实施例中,所述网络设备100可以是但不限于交换机、网桥、路由器、网关、网络接口卡(NIC)、无线接入点(WAP)、打印机和调制解调器、光纤收发器、光缆等。作为一种实施方式,所述网络设备100可以采用家用路由器。
如图4所示,所述网络设备100可以由总线110作一般性的总线体系结构来实现。根据网络设备100的具体应用和整体设计约束条件,总线110可以包括任意数量的互连总线和桥接。总线110将各种电路连接在一起,这些电路包括处理器120、存储介质130和总线接口140。可选地,网络设备100可以使用总线接口140将网络适配器150等经由总线110连接。网络适配器150可用于实现无线通信网络中物理层的信号处理功能,并通过天线实现射频信号的发送和接收。用户接口160可以连接外部设备,例如:键盘、显示器、鼠标或者操纵杆等。总线110还可以连接各种其它电路,如定时源、***设备、电压调节器或者功率管理电路等,这些电路是本领域所熟知的,因此不再详述。
可以替换的,网络设备100也可配置成通用处理***,例如通称为芯片,该通用处理***包括:提供处理功能的一个或多个微处理器,以及提供存储介质130的至少一部分的外部存储介质,所有这些都通过外部总线体系结构与其它支持电路连接在一起。
可替换的,网络设备100可以使用下述来实现:具有处理器120、总线接口140、用户接口160的ASIC(专用集成电路);以及集成在单个芯片中的存储介质130的至少一部分,或者,网络设备100可以使用下述来实现:一个或多个FPGA(现场可编程门阵列)、PLD(可编程逻辑器件)、控制器、状态机、门逻辑、分立硬件部件、任何其它适合的电路、或者能够执行本发明通篇所描述的各种功能的电路的任意组合。
其中,处理器120负责管理总线110和一般处理(包括执行存储在存储介质130上的软件)。处理器120可以使用一个或多个通用处理器和/或专用处理器来实现。处理器120的例子包括微处理器、微控制器、DSP处理器和能够执行软件的其它电路。应当将软件广义地解释为表示指令、数据或其任意组合,而不论是将其称作为软件、固件、中间件、微代码、硬件描述语言还是其它。
在图4中存储介质130被示为与处理器120分离,然而,本领域技术人员很容易明白,存储介质130或其任意部分可位于网络设备100之外。举例来说,存储介质130可以包括传输线、用数据调制的载波波形、和/或与无线节点分离开的计算机制品,这些介质均可以由处理器120通过总线接口140来访问。可替换地,存储介质130或其任意部分可以集成到处理器120中,例如,可以是高速缓存和/或通用寄存器。
所述处理器120可执行上述实施例,具体地,所述存储介质130中可以存储有所述匿名访问装置200,所述处理器120可以用于执行所述匿名访问装置200。
综上所述,本发明实施例提供一种匿名访问方法、装置、网络设备100及可读存储介质,通过解析终端设备发送的数据包访问的目的地址,并在该目的地址为地址清单信息中的地址时,生成所述数据包发送到所述目的地址的过程中需要经过的Tor节点组成的Tor节点路径,并在所述Tor节点路径满足预设安全规则时,基于所述Tor节点路径将所述数据包发送给所述目的地址,以访问所述目的地址所在服务器。由此,能够降低普通用户使用Tor进行匿名上网的难度,同时对在使用Tor的过程中出现的可能泄露真实IP的数据包进行过滤,提高了匿名上网的安全性。
在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
可以替换的,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等
需要说明的是,在本文中,术语"包括"、"包含"或者其任何其它变体意在涵盖非排它性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句"包括一个……"限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其它的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。