数据处理方法及装置、DHCP服务器及存储介质与流程

文档序号:19750035发布日期:2020-01-21 19:16阅读:155来源:国知局
数据处理方法及装置、DHCP服务器及存储介质与流程

本公开涉及网络技术领域但不限于网络技术领域,尤其涉及一种数据处理方法及装置、动态主机配置协议(dynamichostconfigurationprotocol,dhcp)服务器及存储介质。



背景技术:

dhcp服务器可以向客户端提供dhcp服务,例如,该dhcp服务可包括:为客户端接入到网络动态分配ip地址等。但是在相关技术中,dhcp服务器容易遭受到攻击,从而导致dhcp服务器异常或者dhcp服务器提供的dhcp服务异常。若dhcp服务器异常或者dhcp服务异常,都会导致客户端无法正常获得dhcp服务,从而导致客户使用满意度差、厂商遭受客户投诉、dhcp服务器的设备需要返厂维修,从而导致dhcp服务器的维护费用开销高等问题。



技术实现要素:

本公开实施例期望提供一种数据处理方法及装置、dhcp服务器及存储介质。

本公开的技术方案是这样实现的:

第一方面,本发明实施例提供一种数据处理方法,应用于动态主机配置协议dhcp服务器中,包括:

对存储dhcp进程文件的第一存储分区加锁。

第二方面,本发明实施例提供一种数据处理装置,应用于动态主机配置协议dhcp服务器中,包括:

加锁解锁模块,用于对存储dhcp进程文件的第一存储分区加锁。

第三方面,本发明实施例提供一种动态主机配置协议dhcp服务器,包括:

收发器,

存储器,

处理器,分别与所述收发器及所述存储器连接,用于通过执行位于所述存储器上的计算机可执行指令,控制所述收发器的信息收发及所述存储器的信息存储,并实现第一方面提供的数据处理方法。

第四方面,本发明实施例提供一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令;所述计算机可执行指令被执行后,实现第一方面提供的数据处理方法。

本公开实施例提供的技术方案,会对dhcp服务器中存储有dhcp进程文件的存储分区进行加锁,如此,即便dhcp服务器的内部遭受到了攻击,也会因为存储分区进行加锁,植入到dhcp服务器内部的非法代码也没有办法直接修改dhcp进程文件,从而减少dhcp服务器的dhcp进程文件被篡改导致的dhcp服务器的异常,dhcp服务器无法正常提供dhcp服务的问题,从而减少了dhcp服务无法正常的现象,并进一步减少了因为dhcp服务器无法正常提供导致的客户投诉及dhcp服务器的返厂维修的现象,从而具有客户满意度高、dhcp服务器的返厂率低及维护费用低的特点。

附图说明

图1a为本发明实施例提供的第一种网络系统的结构示意图;

图1b为本发明实施例提供的第二种网络系统的结构示意图;

图2为本发明实施例提供的第一种数据处理方法的流程示意图;

图3为本发明实施例提供的第二种数据处理方法的流程示意图;

图4为本发明实施例提供的第三种数据处理方法的流程示意图;

图5为本发明实施例提供的一种数据处理装置的结构示意图;

图6为本发明实施例提供的一种数据处理装置的结构示意图;

图7为本发明实施例提供的一种应用环境的示意图;

图8为本发明实施例提供的一种dhcp服务器的结构示意图;

图9为本发明实施例提供的第四种数据处理方法的流程示意图;

图10为本发明实施例提供的另一种dhcp服务器的结构示意图。

具体实施方式

以下结合说明书附图及具体实施例对本公开的技术方案做进一步的详细阐述。

如图1a及图1b所示,本实施例提供一种网络系统,包括:

客户端,该客户端可运行在各种终端设备,所述终端设备包括:用户使用的手机、平板电脑、可穿戴式设备或者固定设备等;

dhcp服务器,该dhcp服务器可为独立的物理设备,通过网络与所述客户端建立连接,通过该连接,dhcp服务器可以基于该连接向所述客户端提供dhcp服务。例如,dhcp服务器可以接收为客户端分配网络协议(internetprotocol,ip)地址的请求,dhcp服务器基于该请求向所述客户端返回动态分配的ip地址。

如图1a所示,所述客户端可以直接通过网络与独立的dhcp服务器连接。在另一些实施例中,所述dhcp服务器可为运行在路由设备或网关等其他设备中的功能模块或装置。如此,所述客户端通过连接到路由设备或网关等就与所述dhcp服务器建立了连接,可以从dhcp服务器获得dhcp服务。

在本实施例中,所述dhcp服务器可为能够提供dhcp服务的物理设备,也可以是运行在其他设备中可以提供所述dhcp服务的虚拟装置;例如,所述dhcp服务器可为运行在任意网络设备中可以提供dhcp服务的功能模块等,此处的网络设备不局限于路由设备。

所述dhcp服务器可包括:ip地址分配和/或域名服务器的ip地址提供等业务内容的执行。

如图2所示,本实施例提供一种数据处理方法,应用于动态主机配置协议dhcp服务器中,包括:

步骤s100:对存储dhcp进程文件的第一存储分区加锁。

在本实施例中提供的数据处理方法可为能够应用于dhcp服务器中的方法。

所述dhcp进程文件可为:所述dhcp服务器在提供dhcp服务所需要使用的dhcp进程的代码文件等数据。

所述dhcp服务可包括:向客户端分配网络协议(internetprotocol,ip)地址,对于dhcp地址池进行管理、使得主机动态获得网关地址、域名服务系统(domainnamesystem,dns)地址等信息。

在本实施例中为了避免所述dhcp服务器的内部被攻击之后,对存储dhcp进程文件的进行篡改导致的dhcp服务器的异常,进而因为dhcp服务器异常无法向客户端提供dhcp服务,例如,无法为客户端成功分配ip地址,或者,确保客户端分配的ip地址的合法性等。

在本实施例中会对第一存储分区进行加锁,第一存储分区被加锁之后,就只能从第一存储分区读取所述dhcp进程文件,若第一存储分区所加的锁未被解除,即便是dhcp服务器自身也没有办法修改位于第一存储分区的dhcp进程文件的。如此,即便,非法设备攻击了dhcp服务内部,例如,向dhcp服务器写入了病毒或木马,只要所述第一存储分区所加的锁未被解除开,存储在第一存储分区上的dhcp进程文件就不会被篡改。如此,确保了存储在dhcp服务器上的dhcp进程文件的安全性,减少了dhcp进程文件被篡改导致的dhcp异常的问题。

在一些实施例中,所述第一存储分区可为只读分区,所述只读分区的分区属性对于外设而言是只读的,如此,可以避免外设的读写。可能在一些情况下,只读分区是允许dhcp服务器的操作系统等进行读写的,如此,攻击者可能就利用这种特性通过攻击dhcp服务器的内部进行dhcp进程文件的改写;而本申请中通过对第一存储分区加锁可以避免dhcp服务器遭受到内部攻击之后改写dhcp进程文件导致的dhcp服务器的异常,提升了所述dhcp服务器的安全性。

在另一些实施例中,所述第一存储分区也可以为可读可写分区,所述可读可写分区的分区属性为可读取和可写入,在本申请实施例中通过对该分区的加锁,实质上只要该分区被加锁则所述第一存储分区就只能被读取不能被写入,从而减少了dhcp服务器被改写导致的dhcp服务器的异常。

在一些实施例中,所述接收授权设备的开锁指令,包括:

接收所述授权设备发送的携带有开锁密钥的开锁指令,其中,所述开锁密钥为:根据所述dhcp服务器所在设备的国际移动设备标识码生成的。

所述授权设备可为dhcp进程文件的下载工具所在的设备,所述授权设备是能够获取到开锁密钥的。该授权设备可为个人电脑(personalcomputer,pc),但是不限于pc。

若所述开锁密钥通过验证之后,表示发送所述开锁指令的设备为授权设备,才执行所述开锁指令。

所述开锁指令是所述dhcp服务器所在设备的imei。例如,在一个路由设备上设置有所述dhcp服务器,该imei可为该路由器的imei。由于不同的路由设备的imei不同,因此位于不同路由设备上的dhcp服务器的开锁密钥是不同的。

所述开锁密钥可为:所述dhcp服务器上报该所述授权设备的,也可以是授权设备和dhcp服务器仅交互所述imei和密钥生成算法,由所述dhcp服务器和授权设备分别基于相同的密钥生成算法,以所述imei为输入生成所述开锁密钥,如此,减少开锁密钥直接交互导致的开锁密钥的泄露问题,以进一步提升安全性。

在一些实施例中,若所述授权设备还会在完成更新后,向所述dhcp服务器发送完成指令;所述dhcp服务器接收到所述完成指令之后就立即对所述第一存储分区进行加锁,以减少第一存储分区未加锁的时间。后续,若再有向所述第一存储分区写入数据的写请求,由于第一存储分区加锁了,则都会被屏蔽或拒绝,实现对所述第一存储分区的写保护,避免所述第一存储分区内存储的dhcp进程文件和/或第一配置参数被篡改的问题。

如图3所示,所述方法还包括:

步骤s101:在所述第一存储分区上存储第一配置参数;

步骤s102:在第二存储分区上存储第二配置参数;

步骤s103:若所述第二配置参数异常,根据所述dhcp进程文件以所述第一配置参数启动dhcp进程。

所述第二存储分区可为可读可写分区,即该存储分区内的内容可以被读写,也可以被写入。在一些实施例中,所述第二存储分区还可以用于写入过程文件。

在所述第二存储分区上存储有第二配置参数,所述第一存储分区上还存储有第一配置参数,若所述第一配置参数与所述第二配置参数均是启动dhcp进程所需的参数和/或提供dhcp服务所需的参数。

所述第一配置参数和所述第二配置参数的功能相同,但是所述第一配置参数与所述第二配置参数的参数内容可以相同也可以不同。

在本实施例中,若所述第二配置参数异常,例如,所述第二配置参数中的ip地址被攻击者篡改成了非法ip地址,为了确保dhcp服务的正常进行,则会以第一配置参数取代所述第二配置参数启动所述dhcp进程和/或提供dhcp服务,从而确保dhcp服务的正常进行,如此,即便存储在第二存储分区上的第二配置参数遭受到攻击,也可以基于第一配置参数正常启动dhcp进程并提供对应的dhcp服务。

所述第一配置参数和第二配置参数均包括以下至少之一:

地址参数及ip地址的租期信息。所述地址参数包括以下至少之一:网关的ip地址、网关的子网掩码地址、dhcp地址池;域名服务器的ip地址。

所述地址参数可为各种ip地址或与ip地址相关的地址;网关的ip地址、网关的子网掩码地址。dns服务器的ip地址等。所述dhcp地址池为ip地址池,可以用于dhcp服务器进行ip地址的动态分配。

在一些实施例中,所述第一配置参数和所述第二配置参数均包括上述地址参数及所述ip地址的租期信息。例如,所述第一配置参数和所述第二配置参数均包括:网关的ip地址、网关的子网掩码地址、dhcp地址池;并同时包括dhcp地址池中ip地址的租期信息。

在一些实施例中,所述dhcp地址池可包括:连续的ip地址,所述dhcp地址池包括:开始ip地址和结束ip地址,所述结束ip地址大于或等于所述开始ip地址。例如,所述dhcp地址池的开始ip地址为192.168.0.1;所述结束ip地址可为大于或等于192.168.0.1任意ip地址,例如,192.168.0.100。

例如,若一个客户端请求dhcp服务器动态分配ip地址之后,所述dhcp服务器还会分配该客户端接入到网络的网关,并且将该网关的ip地址返回给所述客户端,方便该客户端通过该网关进行数据收发。

再例如,一个客户端在上网时可能是基于域名访问网页的,则此时客户端需要获取域名解析服务,而域名解析服务是需要由dns服务器提供的,如此,客户端还需要获得dns服务器的ip地址,以向dns服务器请求域名解析。

故在一些实施例中,所述地址参数可包括:网关的ip地址、网关的子网掩码地址、dns服务器的ip地址、dhcp服务器可分配的ip地址,而dhcp服务器可分配的ip地址可以以dhcp地址池的方式存在。

所述第一配置参数和所述第二配置参数除了所述地址参数外还可包括:ip地址的租期信息。此处,ip地址的租期信息指示的是dhcp服务器分配的ip地址的租期。所述ip地址的租期信息指示设置的初始租期为负值或者为字符串等信息,则表示该ip地址的租期信息可能被修改了。在另一些实施例中,一般一个ip地址动态分配给客户端后,还会设置租期,该租期指示了该客户端使用该ip地址的时间段,租期到期之后若客户端不续订,则dhcp服务器会收回该ip地址。故此,所述租期信息指示的租期不能太短,若租期太短,会导致ip地址的频繁分配和/或频繁续订,如此会导致dhcp服务器的过载等问题。故在一些实施例中,还可以根据ip地址的租期信息的信息格式及其指示的租期的长短来确定所述第一配置信息是否正常。

以上是对第一配置参数和第二配置参数的具体内容的举例,具体实现时不局限于上述举例。

在本公开实施例中所述方法还包括:在根据所述dhcp进程文件启动dhcp进程之前,验证存储在第二存储分区的第二配置参数;其中,若所述第二配置参数未通过验证,则所述第二配置参数异常。

例如,在从所述第一存储分区读取了所述dhcp进程文件,并根据所述dhcp进程文件启动所述dhcp进程时,可能需要进行进程初始化等操作,如此,需要读取所述第二配置参数。在本实施例中,所述dhcp服务器会确定所述第二配置参数是否异常,若第二配置参数正常,则可以直接以第二配置参数启动所述dhcp进程。若所述第一配置参数异常,为了确保dhcp进程的正常启动和dhcp服务的正常执行,会从第一存储分区读取所述第一配置参数启动dhcp进程并提供dhcp服务。

在本实施例中,由于第一配置参数是存储在加锁的第一存储分区上的,从而确保了第一配置参数的安全性,减少了第一配置参数遭受攻击被篡改的概率,如此,即便第二配置参数异常,也可以基于第一配置参数正常提供dhcp服务。

在一些实施例中,所述方法还包括:

若第二配置参数异常,根据所述第一配置参数修正第二配置参数,利用修正后的第二配置参数及dhcp进程文件,启动dhcp进程。

在启动所述dhcp进程之后由于之前发现了第二配置参数异常,则可能dhcp服务器遭受了攻击,为了提升安全性;所述dhcp服务器会请求重新更新dhcp进程文件和第二配置参数的更新。故在一些实施中,所述方法还包括:格式化所述第二存储分区,在所述第二存储分区格式化后,将重新下载的第二配置参数写入到所述第二存储分区上在一些实施例中,所述方法还包括:

若所述第一配置参数异常,对所述dhcp服务器启动攻击检测,以检测工资代码,实现dhcp服务器的攻击在线过滤。

在另一些实施例中,所述方法还包括:

若所述第一配置参数异常,所述dhcp服务器向预定设备(例如,运维管理设备)发送异常提醒;

接收所述预定设备基于所述异常提醒下发的响应,基于该响应可执行dhcp服务器的攻击过滤等操作,例如,重置所述dhcp服务器的操作系统,重启所述dhcp服务器。所述响应中可包括:攻击检测策略等,以协助所述dhcp服务器实现远程在线的攻击过滤,以提升所述dhcp服务器的安全性。

在一些实施例中,所述在根据所述dhcp进程文件启动dhcp进程之前,验证存储在第二存储分区的第二配置参数,包括以下至少之一:

验证所述第二配置参数的参数值是否为空,若所述第二配置参数的参数值为空则所述第二配置参数未通过验证;

验证所述ip地址的租期信息指示的租期时长是否位于第一预设期限范围内,若所述ip地址的租期位于所述第一预设期限范围外则所述第二配置参数未通过验证;

验证所述ip地址的租期信息是否为指定形式的信息,若所述ip地址的租期信息不是所述指定形式的信息,则所述第二配置信息未通过验证;

验证所述地址参数的合法性,若所述地址参数不合法则所述第二配置参数未通过验证。

如何判定当前第二配置参数是否出现异常,在本实施例中提供了几种验证所述第二配置参数的方法,若第二配置参数通过验证,则可认为第二配置参数正常,没有出现被篡改等异常。若第二配置参数不能通过验证,则可表示第二配置参数异常,若异常则需要以存储在第一存储分区的第一配置参数取代存储在第二存储分区的第二配置参数启动dhcp进程和/或提供dhcp服务;以确保dhcp服务的正常进行。

如第二存储分区内存储的第二配置参数直接被攻击者给删除了,显然第二配置参数出现了异常,此时可以不再进行后续验证,直接进入到基于第一配置参数启动dhcp进程和/或提供dhcp服务的流程。

若所述第二配置参数的参数值不为空,表明第二配置参数中还有内容,可能是正确的内容,也可能是异常的内容,故在本实施例中,验证所述第二配置参数是否正常,还可包括:验证所述ip地址的租期信息是否正常和/或验证所述地址参数是否正常。

例如,验证所述ip地址的租期信息指示的租期是否在第一预设期限范围内,例如,ip地址的租期信息指示的租期为30秒,显然会导致ip地址的频繁不必要分配。再例如,所述ip地址的租期信息指示租期为负值,显然该ip地址的租期信息也被篡改了。

在一些实施例中,所述第一预设期限范围可仅包括:下限值,该下限值指示了ip地址的租期的最小值;

在另一些实施例中,所述第一预设期限范围可仅包括:上限值,该上限值指示了ip地址的租期的最大值。由于dhcp服务器是用于ip地址的动态分配,若ip地址的期限信息指示的期限为无穷大,显然这也是第二配置信息出现了异常的一种表现。

在另一些实施例中,所述第一预设期限范围可同时包括:下限值和上限值。

所述第一预设期限范围可为预先设定的时长范围,所述第一预设期限范围的下限值可为正数,所述第一预设期限范围的上限值可为大于所述下限值的任意值。例如,所述上限值可为1天;所述下限值可为60秒。

总之,所述第一预设期限范围限定了ip地址的租期信息指示的租期的正常时长范围。

所述ip地址的租期信息的信息形式应该为数字,但是租期信息被修改为了字符串,该字符串可为“abc”,如此,该字符串无法限定ip地址的租期,如此,同样会导致dhcp服务器在进行ip地址动态分配时的异常,例如,无法正常的设置ip地址的租期,故若所述ip地址的租期信息的信息形式不是指定形式,若非指定形式dhcp服务器无法识别,从而可以确定该ip地址的租期信息被篡改了,第二配置参数出现了异常。

所述验证参数地址的合法性的方法有多种,以下提供几种可选方式,这些方式可以单独使用,也可以组合使用来验证地址参数的合法性。

验证所述地址参数中ip地址的形式合法性;

验证所述地址参数中的网关ip地址、dhcp地址池的开始ip地址和结束ip地址是否在同一个网段上;

验证所述dhcp地址池的结束ip地址是否大于或等于所述开始ip地址。

验证ip地址的形式合法性,例如,验证网关的ip地址的形式合法性,dns服务器的ip地址的合法性、dhcp地址池中的部分或全部地址的形式合法性。

所述ip地址可包括:ipv4地址和/或ipv6地址,不管是ipv4地址和ipv6地址都具有标准的规范形式(或称为格式)。例如,ipv6地址的地址长度为128位,ipv4地址的地址长度为32位;若当前dhcp地址池中的ip6地址或网关的ip6地址的地址长度不是标准的128位或32位,则表示第二配置参数中的ip地址可能被篡改了。

再例如,在ip地址池中有一些ip地址被挑选出来作为特定用途,例如,ipv4地址中的ip地址:0:0:0:0。若将网关的ip地址或dns服务器的ip地址,或者是dhcp地址池中的ip地址修改为了该特殊地址,则该ip地址被分配后会产生异常,故在验证ip地址的形式合法性时,可以将第二配置参数中的ip地址与特定用途的特定ip地址进行比对,若比对一致,可认为该ip地址的形式合法性验证不通过。

所述ip地址的形式合法性验证可为验证ip地址的形式不符合规范形式的各种验证,不限于上述所述地址长度、地址书写格式和/或特定ip地址的验证外。再例如,第二配置参数的某一个ip地址的地址值为:“abc”,这也是一种不符合规范形式的形式合法性验证不通过的现象。

在一些实施例中,针对dhcp地址池中的ip地址的形式合法性验证时,可以通过抽取该dhcp地址池的开始ip地址及结束ip地址为代表进行dhcp地址池的验证。若开始ip地址和结束ip地址均通过所述形式合法性验证,可认为所述hdcp地址池通过验证,相对于逐一验证dhcp地址池中的ip地址减少验证工作量。

基于抽取开始ip地址及结束ip地址为代表进行dhcp地址池的验证,为了确保验证的精确性,所述方法还可包括:检测dhcp地址池中相邻两个ip地址是否满足足够的相似条件,例如,相邻两个ip地址应该仅有一位或两位的数值不同,且这不同的一位或两位应该出现在32位地址或128位地址的最低的一位或两位。若不满足该相似条件,则可认为当前验证不通过。

在另一些实施例中,dhcp地址池中的ip地址的形式合法性验证还可包括:抽取所述开始ip地址、结束ip地址及所述开始ip地址和所述结束ip地址之间的一个或多个ip地址进行验证,若这些抽取的ip地址通过验证,则可认为dhcp地址池整个通过验证。

在一些实施例中,为了尽可能减少验证的处理量,可以进验证所述ip地址池中开始ip地址和结束ip地址。

在本实施例中,验证所述ip地址的合法性还可包括:

验证所述网关的ip地址、dhcp地址池中的ip地址是否在同一个网段上。若所述dhcp地址池包括一个地址段,则可以将网关的ip地址与网关的子网掩码进行按位与的逻辑操作,将dhcp地址池中的开始ip地址和结束ip地址分别与网关的子网掩码进行按位与的逻辑操作,则这三种分别与网关的子网掩码的按位与之后得到的操作结果是相同的,表示,ip地址、dhcp地址池中的ip地址位于同一个网段上,否则可认为是位于不同的网段上。若一个客户端分配的ip地址与其分配的网关的ip地址不在一个网段上,则可能导致该网关拒绝该客户端接入的现象。

在一些实施例中,验证所述地址参数的合法性还可包括:

所述dhcp地址池通常包括一个ip地址段,所述ip地址段的最小ip地址可为所述开始ip地址,最大ip地址可为所述结束ip地址。

一个可用的dhcp地址池中结束ip地址应该是大于或等于开始ip地址的,则验证通过,表示该dhcp地址池中的ip地址可供分配。若结束ip地址小于开始ip地址,表示该dhcp地址池异常,对应进行ip地址动态分配的dhcp服务器而言,可认为第二配置参数异常。第二配置参数就未通过验证,是异常的配置参数。

在一些实施例中,如图4所示,本实施例所述方法还包括:

步骤s201:对所述第一存储分区进行开锁;

步骤s202:在开锁后,更新存在所述第一存储分区的内容,所述第一存储分区的内容可包括:所述dhcp进程文件和/或第一配置参数;

步骤s203:在完成所述内容的更新后,对所述第一存储分区加锁。

所述第一存储分区的内容更新可包括:dhcp进程文件的更新和/或第一配置参数的更新。所述dhcp进程文件的更新,可包括:dhcp进程文件的版本更新、dhcp进程文件的补丁更新等各种操作。

所述第一配置参数的更新可包括:第一配置参数中写入的各种地址参数和/或ip地址的租期信息的更新等。

在本实施例中,在进行第一存储分区的内容更新之前,需要对加锁的第一存储分区的进行开锁,仅有在开锁之后才允许所述第一存储分区的内容写入。

为了确保第一存储分区内存储的内容的安全性,在完成第一存储分区的内容更新之后,就立即对所述第一存储分区进行加锁。

例如,在完成所述第一存储分区的最后一个比特写入或者完成最后一个比特的删除之后,就立即对所述第一存储分区进行加锁,避免攻击者有机可乘。

在一些实施例中,所述步骤s201可包括:

接收授权设备的开锁指令;

根据所述开锁指令,对所述第一存储分区进行开锁。

在本实施例中所述授权设备可为独立于所述dhcp服务器的设备,所述授权设备与所述dhcp服务器可为不同的物理设备。例如,所述授权设备可为独立于所述dhcp服务器的个人电脑(personalcomputer,pc)等。

为了确保所述第一存储分区的安全性,dhcp服务器只要在接收到开锁指令的时候,才会对第一存储分区进行开锁操作。在另一些实施例中,所述dhcp服务器只要在接收到授权设备的开锁指令时,才有能力对所述第一存储分区进行开锁。例如,所述开锁指令中携带了开锁的必要信息,该必要信息可包括:对所述第一存储分区进行开锁的密钥等。

在一些实施例中所述开锁指令必须是授权设备的,若非授权设备的开锁指令也是无法进行开锁的。例如,需要对开锁指令进行验证,确定所述开锁指令是否来自授权设备,例如,开锁指令中携带有发送设备的验证信息,该验证信息可为发送设备的ip地址等标识信息、或者账户信息等。仅有验证确定所述开始指令来自授权设备后,才执行所述开锁指令。

如图5所示,本实施例提供一种数据处理装置,应用于动态主机配置协议dhcp服务器中,包括:

加锁解锁模块100,用于对存储dhcp进程文件的第一存储分区加锁。

本实施例提供的该数据处理装置可为应用于dhcp服务器的信息处理装置。

该装置至少包括加锁解锁模块100,该加锁解锁模块100可以用于对存储有dhcp进程文件的第一存储分区进行加锁。所述第一存储分区至少用于存储dhcp进程文件,在另一些实施例中,所述第一存储分区还可用于存储第一配置参数。

在另一些实施例中,所述加锁解锁模块100还可用于对所述第一存储分区进行解锁。

如图6所示,在一些实施例中,所述装置还包括:

第一存储模块300,用于在所述第一存储分区上存储第一配置参数;

第二存储模块400,用于在第二存储分区上存储第二配置参数;

ip地址分配模块500,用于若所述第二配置参数异常,根据所述dhcp进程文件以所述第一配置参数启动dhcp进程。

所述第一存储模块300和第二存储模块400可分别用于向第一存储分区和第二存储分区读取内容和/或写入内容。

所述第一存储分区可为只读分区,也可以为可读可写分区。

所述第二存储分区可为可读可写分区。

所述ip地址分配模块500,用于在第二配置参数异常时,根据dhcp进程文件以第一配置参数启动dhcp进程文件,以进行ip地址的动态分配。

在一些实施例中,所述装置还包括:

参数检查模块600,用于在根据所述dhcp进程文件启动dhcp进程之前,验证存储在第二存储分区的第二配置参数;其中,若所述第二配置参数未通过验证,则所述第二配置参数异常。

参数检查模块600,可以用于检测第二配置参数是否异常,确定ip地址分配模块500是否需要以第一配置参数启动所述dhcp服务。

在还有一些实施例中,所述第一配置参数和第二配置参数均包括以下至少之一:地址参数,其中,所述地址参数包括以下至少之一:网关的ip地址、网关的子网掩码地址、dhcp地址池、域名服务器的ip地址;

ip地址的租期信息。

在一些实例中,所述参数检查模块600,用于执行以下至少之一:

验证所述第二配置参数的参数值是否为空,若所述第二配置参数的参数值为空则所述第二配置参数未通过验证;

验证所述ip地址的租期信息指示的租期时长是否位于第一预设期限范围内,若所述ip地址的租期位于所述第一预设期限范围外则所述第二配置参数未通过验证;

验证所述ip地址的租期信息是否为指定形式的信息,若所述ip地址的租期信息不是所述指定形式的信息,则所述第二配置信息未通过验证;

验证所述地址参数的合法性,若所述地址参数不合法则所述第二配置参数未通过验证。

在另一些实施例中,所述参数检查模块600,具体用于执行以下至少之一:

验证所述地址参数中ip地址的形式合法性;

验证所述地址参数中的网关ip地址、dhcp地址池的开始ip地址和结束ip地址是否在同一个网段上;

验证所述dhcp地址池的结束ip地址是否大于或等于所述开始ip地址。

在一些实施例中,所述加锁解锁模块100,还用于对所述第一存储分区进行开锁;所述装置还包括:更新模块200,用于在开锁后,更新存在所述第一存储分区的内容,所述第一存储分区的内容可包括:所述dhcp进程文件和/或第一配置参数;所述加锁解锁模块100,还用于在完成所述内容的更新后,对所述第一存储分区加锁。

所述更新模块200,可包括:下载版本模块,用于更新所述第一存储分区的dhcp文件的版本;所述更新模块200还可包括:参数更新模块200,用于更新所述第一存储分区的第一配置参数。

在一些实施例中,所述加锁解锁模块100,具体用于接收授权设备的开锁指令;

根据所述开锁指令,对所述第一存储分区进行开锁。

在本实施例中,所述加锁解锁模块100仅在接收到授权设备的开锁指令之后,才会对第一存储分区进行开锁;如此,即便dhcp服务器的内部遭受到攻击,由于缺乏开锁触发机制,也不会对第一存储分区进行开锁,也可以避免第一存储分区存储的内容的被改写,从而再次提升了dhcp服务器的安全性。

在一些实施例中,所述加锁解锁模块100,具体用于接收所述授权设备发送的携带有开锁密钥的开锁指令,其中,所述开锁密钥为:根据所述dhcp服务器所在设备的国际移动设备标识码生成的。

以下结合上述任意实施例提供几个具体示例:

示例1:

本示例首先提供本公开实施例提供的方法的应用环境,如图7所示,该应用环境所对应的通信系统包括:客户端和路由设备。在路由设备内设置有dhcp服务器。在图7中路由设备上的dhcp服务器为客户端分配的ip地址为:192.168.0.100,路由设备自身的ip地址为:192.168.0.1;当然此处仅是举例,具体实现时不局限于该举例。

为了保证路由设备内部的dhcp服务器工作正常并且可以为下游接入的客户端分配ip地址需要保证dhcp进程本身以及进程启动所需参数正常,因此需要做如下工作:保护只读分区中的数据不被篡改从而保证进程可以正常启动;保证可读可写分区中存放的dhcp进程启动所需参数正确,如果存放的数据被篡改需要能够识别出哪些数据遭到了篡改并且使用一组正常的参数启动dhcp进程保证可以向下游客户端分配ip地址。具体来说:

对只读分区(对应于前述第一存储分区)的保护:通过加锁的方式控制只读分区何时可写。具体而言,如果要向设备下载版本则通过下载工具打开只读分区的写功能向其中写入版本信息,下载完毕后下载工具对只读分区加锁使得任何程序不得向其中写入数据直到再次下载版本时通过命令开锁。此处的加锁解锁都是由我们自己开发的工具来控制,可以做到对只读分区的保护。

对可读可写分区(对应于前述第二存储分区)的保护:由于该分区本身就可写,因此无法通过禁止写入的方法对分区进行保护,但启动dhcp进程所需参数(对应于前述的第二配置参数)放在该分区,如果该分区的数据被篡改进程将无法正常工作导致无法向客户端分配正确ip地址。因此在启动dhcp进程前检查配置参数是否正确,如果正确则直接启动,如果参数错误则使用默认参数(对应于前述的第一配置参数)启动进程。其中,对配置参数的检查包括但不限于:网关、子网掩码、租期、dhcp地址池的开始ip地址、dhcp地址池结束ip,只有这几个参数全部正确才可以启动进程。对于租期来说需要保证租期时间为正整数且在合理范围(比如:需要大于60(单位:秒));另外四个参数都是ip地址,需要保证ip地址为合法ip,网关与开始ip结束ip在同一网段、结束ip大于或等于开始ip等。

例如,所述只读分区的加锁过程可包括:

下载版本完毕后下载工具向路由设备发送下载完毕命令,路由设备收到该命令后启动对只读分区的加锁过程。由于只读分区在物理上是一段连续的地址信息,因此加锁之后再收到写操作时判断是否是对受保护地址进行的写操作,如果是则不进行写操作从而完成对只读分区的保护。

所述只读分区的解锁过程可包括:

当下载工具需要向路由设备下载版本时首先需要进行解锁操作,解锁时下载工具发送下载命令同时发送解锁秘钥,该秘钥是根据imei计算得到的秘钥,由于每个路由设备的imei都不相同因此每个设备都有唯一的秘钥。路由设备收到命令后对秘钥进行鉴权,如果正确则进行解锁操作实现版本下载。

所述下载工具可为运行于独立于所述路由设备的设备中的工具。

所述路由设备上设置有dhcp服务器。

示例2:

客户端通过网线、无线保真(wirelessfidelity,wifi)、串行通用总线(universalserialbus,usb)线等方式连接到路由设备上后实现上网功能,上网的前提是客户端可以获取到正确的ip地址。客户端的ip地址可以由用户手动配置也可以通过dhcp方式向路由设备自动申请,手动配置ip地址需要用户手动完成,因此用户体验不好而且过于专业,普通用户使用较少,更多的时候客户端通过dhcp方式向路由设备自动申请ip地址。

如图8所示,参数检查模块:该模块负责对dhcp服务器进程启动时所需参数有效性进行检查,检查的参数包括但不限于:网关的ip地址、网关的子网掩码、租期、dhcp地址池的开始ip地址、dhcp地址池的结束ip地址,只有这几个地址参数全部正确才可以启动进程。对于租期来说需要保证租期对应的时长为正整数且在合理范围(比如:需要大于60(单位:秒));另外四个参数都是ip地址,需要保证ip地址为合法ip,网关的ip地址与开始ip地址及结束ip地址在同一网段、结束ip地址大于等于开始ip地址等。

ip地址分配模块:该模块负责为接入路由设备的客户端分配ip地址。分配过程是:客户端发送dhcp发现(discover)请求到dhcp服务器,dhcp服务器收到会回应dhcp提供(offer),客户端发送dhcp请求(request),dhcp服务器回应dhcp确认(ack),到此为止路由设备向客户端分配ip地址完毕。

加锁解锁模块:该模块负责对flash中的只读分区进行加锁解锁操作,当需要向设备下载版本时进行解锁操作保证可以向只读分区写数据从而将版本文件下载到只读分区;下载版本完毕后进行加锁操作保证后续所有程序无法向只读分区写入数据从而启动保护只读分区的目的。

版本下载模块:该模块负责下载工具向设备发送解锁指令打开对只读分区的写权限然后向设备只读分区写入数据完成版本下载工作。下载完成后下载工具再向设备发送加锁指令关闭向只读分区写入数据的权限从而保证后续所有进程都不能再向该分区写入数据直到再次下载版本时通过命令开锁。

示例3:

如图9所示,本示例提供一种dhcp服务器的dhcp服务提供方法,可包括:

步骤1:分配ip地址前首先要检查dhcp服务器进程启动时参数的有效性。首先检查参数是否为空,如果某个参数为空则认为当前参数组合存在问题,执行步骤6;

步骤2:在非空检查完毕后,检查租期合法性。dhcp分配ip后客户端会定期进行续租,续租的时机取决于租期长短,因此租期是一个时间概念,其数值是正整数。在需要满足正整数前提下,租期时间不可太短,如果太短会使得客户端续租频繁,对系统来说会出现大量dhcp报文,而且过短的租期对客户端来说也非必须。通常来说租期时间为一天,即:86400(单位:秒)。当然,该参数在实际中根据需要进行修改,此处我们要求最小租期时间必须大于等于60(单位:秒)。如果租期时间为负数或小于60的整数或其他字符(比如:字符串abc),则认为租期非法,执行步骤6;

步骤3:dhcp服务器进程启动除了需要租期参数以外还需要ip参数(包括:网关、子网掩码、dhcp地址池开始ip、dhcp地址池结束ip),因此需要检查ip参数的有效性。首先我们检查ip地址的合法性,即:ip地址必须合法,如果某个ip(比如:网关)为非法ip(比如:192.168..等非法形式),执行步骤6;

步骤4:同网段检查。dhcp服务器需要保证网关、dhcp地址池开始ip、dhcp地址池结束ip在同一网段,检查方法为:上述ip与子网掩码分别进行按位与操作,如果三个与操作的结果相同则说明在同一网段,否则说明某个ip地址与其他ip不在同一网段或子网掩码存在错误,执行步骤6;

步骤5:dhcp地址池有效性检查。dhcp服务器为客户端分配ip地址时,首先检查地址池内是否有空闲的ip地址待分配,该地址池是由开始ip、结束ip组成的ip段(比如:192.168.0.100~192.168.0.200),为了保证进程可以正常启动需要确保结束ip大于等于开始ip,如果不满足该条件则执行步骤6;

步骤6:如果以上5步检查全都通过则使用当前参数启动dhcp服务器进程;如果某一步骤检查失败则说明当前参数存在问题,此时使用预先设定好的一套参数启动dhcp服务器进程,该参数为:网关192.168.0.1,子网掩码255.255.255.0,租期86400(单位:秒),dhcp地址池开始ip192.168.0.100,dhcp地址池结束ip192.168.0.200。

步骤7:为客户端分配ip地址。此时客户端获取的ip地址与路由设备地址在同一个网段,则二者之间可以进行通信。该路由设备可包括:用户前段设备(customerpremiseequipment,cpe)或者数据卡等,但是不限于cpe或数据卡。

如果dhcp服务器进程启动所需的参数是配置文件中的参数则此时路由设备可以向客户端提供上网服务,流程图结束;如果dhcp服务器进程启动所需的参数非法,即:使用默认参数启动dhcp服务器进程,则说明可能是研发配置错误也可能是设备遭到外部攻击导致参数异常,判断后如果是后者则执行步骤8。

步骤8:在pc上运行下载工具来下载版本。在下载版本前下载工具需要向cpe设备发送解锁指令,设备收到解锁指令后开放只读分区的写权限从而可以向设备下载版本。例如,pc上的下载工具向路由设备发送解锁指令,该指令中包含了通过imei计算得到的秘钥,由于每台路由设备的imei都是唯一的,因此imei计算得到的秘钥也是唯一的。路由设备收到解锁指令后解锁,从而满足向只读分区写入数据的目的。

步骤9:下载完毕后,下载工具再向cpe设备(对应于前述路由设备)发送加锁指令从而关闭只读分区的写权限。进程文件以及一些不能被修改的数据存放在只读分区,关闭只读分区的写权限可以保证这些文件不被破坏。例如,下载版本完毕后下载工具向路由设备发送下载完毕命令,路由设备收到该命令后启动对只读分区的加锁过程。由于只读分区在物理上是一段连续的地址信息,因此加锁之后再收到写操作时判断是否是对受保护地址进行的写操作,如果是则不进行写操作从而完成对只读分区的保护。

能够在dhcp服务器进程启动所需配置参数异常的情况下(该异常情况包括但不限于:版本制作过程中造成异常、黑客攻击后设备异常),依然能够为下游客户端分配正确的ip地址,这样即使设备变砖,但依然可以在前方通过升级工具升级版本,从而减小损失。

如图10所示,本实施例提供一种动态主机配置协议dhcp服务器,包括:

收发器,

存储器,

处理器,分别与所述收发器及所述存储器连接,用于通过执行位于所述存储器上的计算机可执行指令,控制所述收发器的信息收发及所述存储器的信息存储,并实现一个或多个实施例提供的数据处理方法,例如,图2至图4及图9所示方法中的一个或多个。

该存储器可为各种类型的存储器,可为随机存储器、只读存储器、闪存等。所述存储器可用于信息存储,例如,存储计算机可执行指令等。所述计算机可执行指令可为各种程序指令,例如,目标程序指令和/或源程序指令等。

所述处理器可为各种类型的处理器,例如,中央处理器、微处理器、数字信号处理器、可编程阵列、数字信号处理器、专用集成电路或图像处理器等。所述处理器可以通过总线与所述存储器连接。所述总线可为集成电路总线等。

在一些实施例中,所述收发器可包括:通信接口,该通信接口可包括:网络接口、例如,局域网接口、收发天线等。所述通信接口同样与所述处理器连接,能够用于信息收发。

在一些实施例中,所述dhcp服务器还包括人机交互接口,例如,所述人机交互接口可包括各种输入输出设备,例如,键盘、触摸屏等。

本公开实施例还提供一种计算机存储介质,该计算机存储介质存储有计算机可执行代码,该计算机可执行代码被执行后,能够实现前述的一个或多个数据处理方法,例如,图2至图4及图9所示方法中的一个或多个。

本实施例提供的计算机存储介质包括:移动存储设备、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本公开各实施例中的各功能单元可以全部集成在一个处理模块中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1