发明内容
有鉴于此,本发明提出一种信息加密、解密方法及信息加密、解密设备,通过利用路径信息中的跳数及目标节点的公钥进行动态加密;解密时获取跳数信息,然后利用目标节点的私钥进行解密,因此能够解决紫外光无线网络中存在非安全用户时,如何在安全用户之间做到信息通信的加解密问题。
首先,为实现上述目的,本发明提出一种信息加密方法,该方法包括步骤:
将路径信息发送至服务器请求加密公钥;接收所述服务器根据所述路径信息中的跳数及目标节点标识信息生成的公钥;利用所述公钥对待发送的信息帧的信息区进行加密。
可选地,所述信息帧中包括第一中继节点信息,所述第一中继节点信息为所述路径信息所包括的中继节点的标识信息。
可选地,所述信息帧中包括跳数计数器,所述跳数计数器在所述信息帧转发一次之后自动加1。
可选地,所述所述服务器根据所述路径信息中的跳数及目标节点标识信息生成的公钥的过程可以是根据预设的跳数-公钥对应表生成公钥,其中,所述跳数-公钥对应表包含网络中每个节点的每一跳数与一个公钥的对应关系。
可选地,所述方法还包括步骤:将加密后的所述信息帧发送出去;在预设的第一时间阈值内没有接收到对应于所述信息帧的确认消息时,将所述信息帧进行重发。
可选地,所述方法还包括步骤:在预设的重发次数阈值内没有接收到对应于所述信息帧的确认消息时,进行传输路径的重新规划,然后重复所述发送请求、接收公钥、进行加密及发送信息帧的步骤。
此外,为实现上述目的,本发明还提供一种信息加密,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的信息加密程序,所述信息加密程序被所述处理器执行时实现如上述的信息加密方法的步骤。
本发明还提供与所述信息加密方法对应的一种信息解密方法,该方法包括步骤:
接收加密的信息帧,获取所述信息帧的第一中继节点信息;将自身节点标识与所述第一中继节点信息中的节点标识信息进行比对;当自身节点标识包含在所述第一中继节点信息中时,获取所述信息帧的跳数计数器的跳数;根据所述跳数在自身节点存储的预设的跳数-私钥对应表中查找对应的私钥;利用所述私钥解密所述信息帧的信息区。
可选地,所述方法还包括步骤:当自身节点标识并未包含在所述第一中继节点信息中时,将所述信息帧转发。
可选地,所述利用所述私钥解密所述信息帧的信息区具体包括:当成功解密时,回复确认信息给源节点,不再对所述信息帧进行转发;当未能成功解密时,将所述信息帧进行转发。
此外,为实现上述目的,本发明还提供一种信息解密设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的信息解密程序,所述信息解密程序被所述处理器执行时实现如上述的信息解密方法的步骤。
相较于现有技术,本发明所提出的信息加密、解密方法及信息加密、解密设备,通过利用路径信息中的跳数及目标节点的公钥进行动态加密;解密时获取跳数信息,然后利用目标节点的私钥进行解密,因此能够解决紫外光无线网络中存在非安全用户时,如何在安全用户之间做到信息通信的加解密问题。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
参阅图1所示,是本发明各个实施例一可选的应用环境示意图。
本发明可应用于包括,但不仅限于紫外光无线通信网络。在本实施例中,应用的环境为包括紫外光无线网络,该紫外光无线网络包括多个节点设备,每个节点设备都同时是加密设备和解密设备,也可以用于作为服务器。所述节点设备可以是移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、导航装置、车载装置或者移动基站等等的可移动设备,以及诸如服务器和基站台等等的固定终端。在本实施例中,以加密设备5,解密设备6,服务器M为例进行说明。所述服务器M存储有该网络中对应于所有节点的跳数-公钥对应表。
参阅图2所示,是图1中所述加密设备5一可选的硬件架构的示意图。本实施例中,所述加密设备5可包括,但不仅限于,可通过有线方式或者无线方式相互通信连接第一存储器11、第一处理器12、第一发射端13和第一接收端14。需要指出的是,图2仅示出了具有组件11-14的加密设备5,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
其中,所述第一存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述第一存储器11可以是所述加密设备5的内部存储单元,例如所述加密设备5的硬盘或内存。在另一些实施例中,所述第一存储器11也可以是所述加密设备5的外部存储设备,例如所述加密设备5上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述第一存储器11还可以既包括所述加密设备5的内部存储单元也包括其外部存储设备。本实施例中,所述第一存储器11通常用于存储安装于所述加密设备5的操作***和各类应用软件,例如信息加密程序200的程序代码等。此外,所述第一存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述第一处理器12在一些实施例中可以是中央处理器(CentralProcessingUnit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该第一处理器12通常用于控制所述加密设备5的总体操作,例如执行与所述移动终端进行数据交互或者通信相关的控制和处理等。本实施例中,所述第一处理器12用于运行所述第一存储器11中存储的程序代码或者处理数据,例如运行所述信息加密程序200等。
所述第一发送端13包括但不限于包括:将电信号调制成光信号的调制单元,加密单元,信号增益或者放大单元。所述第一发送端13通常用于将所述加密设备5需要发送的信息进行编码调制,并以光信号的形式发射出去。
所述第一接收端14包括但不限于包括:信号增益或者放大单元,将光信号调制成电信号的解调单元,解密单元。所述第一接收端14通常用于将其他的节点设备发送的光信号进行解调和解码从而获得原始信息。
本实施例中,当所述加密设备5内安装并运行有信息加密程序200时,当所述信息加密程序200运行时,所述加密设备5可以通过将路径信息发送至服务器M,获取由该路径信息包含的跳数及目标节点标识信息所对应的公钥,然后用来加密信息帧。这样,实现动态加密的目的,保证网络通信的安全性。
参阅图3所示,是图1中所述解密设备6一可选的硬件架构的示意图。本实施例中,所述解密设备6可包括,但不仅限于,可通过有线方式或者无线方式相互通信连接第二存储器21、第二处理器22、第二发射端23和第二接收端24。需要指出的是,图3仅示出了具有组件21-24的解密设备6,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。解密设备6与加密设备5硬件架构相似,因此,所述第二存储器21、第二处理器22、第二发射端23和第二接收端24对应地与所述加密设备5的第一存储器11、第一处理器12、第一发射端13和第一接收端14能够实现相似的功能。
本实施例中,当所述解密设备6内安装并运行有信息解密程序300时,当所述信息解密程序300运行时,所述解密设备6可以在接收到加密的信息帧后,获取该信息帧中的跳数计数器中的跳数,然后根据所述跳数及自身存储的跳数-私钥表中查找对应的私钥,再利用私钥进行解密。这样,实现将所述加密设备5利用跳数进行动态加密过的信息帧进行解密。
至此,己经详细介绍了本发明实施例的应用环境和相关设备的硬件结构和功能。下面,将基于上述应用环境和相关设备,提出本发明的各个实施例。
首先,本发明提出一种信息加密程序200。
参阅图4所示,是本发明信息加密程序200一实施例的程序模块图。
本实施例中,所述信息加密程序200包括一系列的存储于第一存储器11上的计算机程序指令,当该计算机程序指令被第一处理器12执行时,可以实现本发明各实施例的信息加密的操作。在一些实施例中,基于该计算机程序指令各部分所实现的特定的操作,所述信息加密程序200可以被划分为一个或多个模块。例如,在图4中,所述信息加密程序200可以被分割成第一发送模块201、第一接收模块202和加密模块203。其中:
所述第一发送模块201,用于将路径信息发送至服务器请求加密公钥。
具体地,在加密设备5规划好传输的路径之后,所述第一发送模块201将所述路径信息发送至服务器M以请求对应的加密公钥。在本实施例中,所述路径信息包括目标节点的标识信息以及从源节点到目标节点所经过的中继节点的信息。
所述第一接收模块202,用于接收所述服务器根据所述路径信息中的跳数及目标节点标识信息生成的公钥。
具体地,在所述第一发送模块201将所述路径信息发送到服务器M之后,服务器M首先将路径信息中的目标节点的标识信息和所有中继节点数(即跳数)提取出来,然后将根据预设的跳数-公钥对应表查找对应于所述目标节点的标识信息和所述跳数的公钥,其中,所述跳数-公钥对应表包含网络中每个节点的每一跳数对应一个公钥的关系表。在本实施例中,直接预设跳数-公钥的对应表是为了节省服务器生成公钥的时间。在其他实施例中,也可以根据不同的目标节点标识信息和跳数,通过预设的一个公钥生成函数生成一个公钥,当然,接下来描述的解密过程也可以通过预设一个私钥生成函数生成一个私钥。然后服务器M将所述公钥回复至加密设备5。加密设备5的所述第一接收模块202则接收该公钥。
所述加密模块203,用于利用所述公钥对待发送的信息帧的信息区进行加密。
所述第一发送模块201,还用于将所述加密模块203加密后的信息帧发送出去。在本实施例中,所述信息帧中包括有第一中继节点信息和跳数计数器,所述第一中继节点信息为所述路径信息所包括的中继节点的标识信息,所述跳数计数器在所述信息帧转发一次之后自动加1。当所述第一发送模块201在预设的第一时间阈值内没有接收到对应于所述信息帧的确认消息时,将所述信息帧进行重发。并且在预设的重发次数阈值内没有接收到对应于所述信息帧的确认消息时,所述加密设备5还会重新进行传输路径的规划,然后重复上述的各模块的发送请求、接收公钥、进行加密及发送信息帧的步骤。
通过上述程序模块201-203,本发明所提出的信息加密程序200可以通过将路径信息发送至服务器M,获取由该路径信息包含的跳数及目标节点标识信息所对应的公钥,然后用来加密信息帧。这样,实现动态加密的目的,保证网络通信的安全性。
参阅图5所示,是本发明信息解密程序300一实施例的程序模块图。
本实施例中,所述信息解密程序300包括一系列的存储于第二存储器21上的计算机程序指令,当该计算机程序指令被第二处理器22执行时,可以实现本发明各实施例的信息加密的操作。在一些实施例中,基于该计算机程序指令各部分所实现的特定的操作,所述信息解密程序300可以被划分为一个或多个模块。例如,在图5中,所述信息解密程序300可以被分割成第二接收模块301、判断模块302、解密模块303和第二发送模块304。其中:
所述第二接收模块301,用于接收加密的信息帧,获取所述信息帧的第一中继节点信息。
具体地,加密设备5将加密后的信息帧以无线方式发送到覆盖范围内的空间。然后,所述解密设备6的第二接收模块301将接收到所述加密后的信息帧,然后获取所述信息帧中的第一中继节点信息。
所述判断模块302,用于将自身节点标识与所述第一中继节点信息中的节点标识信息进行比对,从而判断出自身节点标识信息是否包含在所述信息帧的所述第一中继节点信息中。
具体地,所述信息帧的所述第一中继节点信息中包含了所述路径信息所经过的所有节点的标识信息。在第二接收模块301接收到所述信息帧并获取了所述第一中继节点信息后,所述判断模块302将所述解密设备6自身的节点信息与所述第一中继节点信息中的所有节点标识信息进行比对,从而判断出自身节点标识信息是包含在所述第一中继节点信息中。当所述自身节点信息包含在所述第一中继节点信息中时,则所述解密设备6为所述路径信息上的节点,且有可能是目标节点,因此所述判断模块302还会继续获取所述信息帧中跳数计数器的跳数。
所述解密模块303,用于根据所述跳数在自身节点存储的预设的跳数-私钥对应表中查找对应的私钥,然后利用所述私钥解密所述信息帧的信息区。
具体地,当所述判断模块302判断出所述所述信息帧的自身节点标识信息包含在所述第一中继节点信息中时继续获取所述信息帧中跳数计数器的跳数。所述解密模块303则会根据所述跳数在预设的跳数-私钥对应表中查找对应的私钥,所述跳数-私钥对应表为所述解密设备6自身节点特有的关于该节点的每一跳数对应于一个私钥的对应表。所述解密模块303查找到所述私钥后,利用该私钥对所述信息帧的信息区进行解密。当然,如果所述解密设备6为所述路径信息上的中继节点时,该私钥解密不能成功;当所述解密设备6为目标节点时,解密能够成功。
所述第二发送模块304,用于在所述解密模块303未成功解密时将所述信息帧进行转发。
具体地,当所述解密设备6为所述路径信息上的中继节点时,并非目标节点,因此,所述解密设备6的所述解密模块303利用跳数及自身节点的私钥对所述信息帧的信息区进行解密时不能成功的。此时,所述解密设备6的第二发送模块304将会对所述信息帧进行转发。
另外,当所述判断模块302判断出所述解密设备6的自身节点标识并未包含在所述信息帧的所述第一中继节点信息中时,所述第二发送模块304也会将所述信息帧转发。
通过上述程序模块301-304,本发明所提出的信息解密程序300可以可以在接收到加密的信息帧后,获取该信息帧中的跳数计数器中的跳数,然后根据所述跳数及自身存储的跳数-私钥表中查找对应的私钥,再利用私钥进行解密。这样,实现将所述加密设备5利用跳数进行动态加密过的信息帧进行解密。
此外,本发明还提出一种信息加密方法。
参阅图6所示,是本发明信息加密方法一实施例的流程示意图。在本实施例中,根据不同的需求,图6所示的流程图中的步骤的执行顺序可以改变,某些步骤可以省略。
步骤S500,将路径信息发送至服务器请求加密公钥。
在加密设备5规划好传输的路径之后,然后将所述路径信息发送至服务器M以请求对应的加密公钥。在本实施例中,所述路径信息包括目标节点的标识信息以及从源节点到目标节点所经过的中继节点的信息。
步骤S502,接收所述服务器根据所述路径信息中的跳数及目标节点标识信息生成的公钥。
具体地,将所述路径信息发送到服务器M之后,服务器M首先将路径信息中的目标节点的标识信息和所有中继节点数(即跳数)提取出来,然后将根据预设的跳数-公钥对应表查找对应于所述路径信息的目标节点的标识信息和所述跳数的公钥,其中,所述跳数-公钥对应表包含网络中每个节点的每一跳数对应一个公钥的关系表。在本实施例中,直接预设跳数-公钥的对应表是为了节省服务器生成公钥的时间。在其他实施例中,也可以根据不同的目标节点标识信息和跳数,通过预设的一个公钥生成函数生成一个公钥,当然,接下来描述的解密过程也可以通过预设一个私钥生成函数生成一个私钥。然后再将所述公钥回复至加密设备5,加密设备5则接收该公钥。
步骤S504,利用所述公钥对待发送的信息帧的信息区进行加密,然后将加密后的信息帧发送出去。
具体地,所述加密设备5将加密后的信息帧发送出去。在本实施例中,所述信息帧中包括有第一中继节点信息和跳数计数器,所述中继节点信息为所述路径信息所包括的中继节点的标识信息,所述跳数计数器在所述信息帧转发一次之后自动加1。当在预设的第一时间阈值内没有接收到对应于所述信息帧的确认消息时,将所述信息帧进行重发。并且在预设的重发次数阈值内没有接收到对应于所述信息帧的确认消息时,所述加密设备5还会重新进行传输路径的规划,然后重复上述的发送请求、接收公钥、进行加密及发送信息帧的步骤。
通过上述步骤S500-S504,本发明所提出的信息加密方法可以通过将路径信息发送至服务器M,获取由该路径信息包含的跳数及目标节点标识信息所对应的公钥,然后用来加密信息帧。这样,实现动态加密的目的,保证网络通信的安全性。
此外,对应于所述信息加密方法,本发明还提出一种信息解密方法。
参阅图7所示,是本发明信息解密方法一实施例的流程示意图。在本实施例中,根据不同的需求,图7所示的流程图中的步骤的执行顺序可以改变,某些步骤可以省略。该解密方法用于解密应用上述加密方法加密过的信息帧。
步骤S600,接收加密的信息帧,获取所述信息帧的第一中继节点信息。
具体地,加密设备5将加密后的信息帧以无线方式发送到覆盖范围内的空间,然后,所述解密设备6将接收到所述加密后的信息帧,然后获取所述信息帧中的第一中继节点信息。
步骤S602,将自身节点标识与所述第一中继节点信息中的节点标识信息进行比对,判断出自身节点标识信息是否包含在所述信息帧的所述第一中继节点信息中。当自身节点标识信息是否包含在所述信息帧的所述第一中继节点信息中时,进行步骤S604;否则进行步骤S608。
具体地,所述信息帧的所述第一中继节点信息中包含了所述路径信息所经过的所有节点的标识信息。在接收到所述信息帧并获取了所述第一中继节点信息后,然后将所述解密设备6自身的节点信息与所述第一中继节点信息中的所有节点标识信息进行比对,从而判断出自身节点标识信息是否包含在所述第一中继节点信息中。
步骤S604,获取所述信息帧的跳数计数器中的跳数。
具体地,当所述自身节点信息包含在所述第一中继节点信息中时,则所述解密设备6为所述路径信息上的节点,且有可能是目标节点,因此还会继续获取所述信息帧中跳数计数器的跳数。
步骤S606,根据所述跳数在自身节点存储的预设的跳数-私钥对应表中查找对应的私钥,然后利用所述私钥解密所述信息帧的信息区。当解密成功时,流程结束;否则进行步骤S608。
具体地,当判断出所述所述信息帧的自身节点标识信息包含在所述第一中继节点信息中时继续获取所述信息帧中跳数计数器的跳数。则进一步根据所述跳数在预设的跳数-私钥对应表中查找对应的私钥,所述跳数-私钥对应表为所述解密设备6自身节点特有的关于该节点的每一跳数对应于一个私钥的对应表。然后利用查找到的私钥对所述信息帧的信息区进行解密。当然,如果所述解密设备6为所述路径信息上的中继节点时,该私钥解密不能成功;当所述解密设备6为目标节点时,解密能够成功。
步骤S608,将所述信息帧进行转发。
通过上述步骤S600-S608,本发明所提出的信息解密方法可以可以在接收到加密的信息帧后,获取该信息帧中的跳数计数器中的跳数,然后根据所述跳数及自身存储的跳数-私钥表中查找对应的私钥,再利用私钥进行解密。这样,实现将所述加密设备5利用跳数进行动态加密过的信息帧进行解密。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。