一种具备硬件加解密功能的路由器及其加解密方法

文档序号:9600862阅读:1341来源:国知局
一种具备硬件加解密功能的路由器及其加解密方法
【技术领域】
[0001]本发明涉及网络安全技术领域,尤其涉及一种路由器及该路由器对数据进行加密/解密的方法。
【背景技术】
[0002]在网络安全方面,路由器是保证数据安全的重要设备,而加密技术是保证数据安全的核心技术和有效手段,可保证数据从一个路由器发送到另一个路由器的安全性。所以在发送一些重要的绝密数据时,加密是必不可少的。如果不加密,能够分析数据流的不法分子会轻而易举的读取传输的数据甚至改变别人发送的数据,极容易造成数据的泄露,给用户带来巨大的损失。故,使用加密手段来保证传输数据的安全性受到了广泛的关注和应用。
[0003]路由器作为终端设备和英特网互连设备,位于不可信任网络和可信任网络之间,是数据转发的必经环节,在重要的场所或者转送重要信息时必须考虑对数据的加密保护。虽然一般的路由器都含有嵌入式微处理单元,但其运算能力极低,不能满足高速率对数据流进行加解密处理的要求。
[0004]另外,目前,较为常用的加密方式为软件方式,虽然其能够满足个人使用,但若用于政府部门、金融机构等高安全性、大数据量的情况下,软件加密的缺点就暴露出来,包括:软件加密要占用较多主机资源、软件实现速度慢、程序的运行容易被跟踪、密钥口令不易管理、病毒软件特别是木马程序后门程序带来威胁等等。

【发明内容】

[0005]针对上述问题,本发明提供了一种具备硬件加解密功能的路由器及其加解密方法,其通过在将基于现场可编程门阵列(Field — Programmable Gate Array,以下简称FPGA)的硬件算法集成在传统的路由器上,实现对传输数据的加解密和高速转发。
[0006]本发明提供的技术方案如下:
[0007]—种具备硬件加解密功能的路由器,包括相互连接的路由功能模块和基于FPGA的硬件加解密模块,所述硬件加解密模块对所述路由功能模块从外界接收的明文进行加密或对路由功能模块从外界接收的密文进行解密,且所述路由功能模块将所述硬件加解密模块加密生成的加密数据或解密生成的解密数据经由无线信道发送出去。
[0008]在本技术方案中,在现有的路由器中内置硬件加解密模块,这样,在工作过程中使用该硬件加解密模块对路由器接收到的明文或者密文进行加密或者解密,不但具备通过软件的方式实现加密或解密的灵活性,同时具备高效、快速、强物理安全性、成本低和开发周期短等众多优点。
[0009]进一步优选地,所述硬件加解密模块中包括:FPGA处理器、第一数据接收单元、密钥生成器、内置于所述FPGA处理器的第一寄存器、内置于所述FPGA处理器的第一配置单元、加解密单元以及第一数据发送单元,其中,
[0010]所述第一数据接收单元,与所述路由功能模块连接,所述第一数据接收单元用于接收所述路由功能模块发送的需要进行加密的明文或需要进行解密的密文、用于接收所述路由功能模块发送的寄存器配置指令以及用于接收所述路由功能模块发送的控制所述密钥生成器产生密钥的控制指令;
[0011]所述第一配置单元,用于根据所述寄存器配置指令配置所述第一寄存器的工作模式;
[0012]所述密钥生成器,与所述FPGA处理器连接,所述密钥生成器在所述FPGA处理器的控制下根据所述控制指令生成加密密钥或解密密钥;
[0013]所述加解密单元,分别与所述FPGA处理器和所述密钥生成器连接,所述加解密单元在所述FPGA处理器的控制下使用所述加密密钥对所述明文进行加密或使用所述解密密钥对所述密文进行解密,并将生成的加密数据或解密数据缓存在所述第一寄存器中;
[0014]所述第一数据发送单元,与所述FPGA处理器连接,所述第一数据发送单元在所述FPGA处理器的控制下将所述第一寄存器中缓存的所述加密数据或所述解密数据发送至所述路由功能模块。
[0015]在本技术方案中,硬件加解密模块在FPGA处理器的控制下实现明文/密文的接收、加密/解密以及加密数据/解密数据的发送等操作,实现本发明的目的。
[0016]进一步优选地,所述密钥生成器中包括:随机数发生单元、密钥扩展单元以及存储单元,其中,
[0017]所述随机数发生单元,与所述FPGA处理器连接,所述随机数发生单元在所述FPGA处理器的控制下产生随机密钥,并将所述随机密钥发送至所述第一寄存器中进行缓存;
[0018]所述密钥扩展单元,分别与所述FPGA处理器和所述存储单元连接,所述密钥扩展单元在所述FPGA处理器的控制下对所述第一寄存器中缓存的所述随机密钥进行扩展生成加解密密钥,并将所述加解密密钥发送至所述存储单元中进行存储。
[0019]进一步优选地,所述第一数据接收单元为一串并转换接口,所述第一数据发送单元为一并串转换接口 ;所述第一寄存器的工作模式为先进先出模式。
[0020]进一步优选地,所述硬件加解密模块中还包括一认证单元,所述认证单元分别与现场可编程门阵列处理器和所述加解密单元连接;
[0021]当所述硬件加解密模块接收到所述路由功能模块发送的需要进行解密的密文时,所述加解密单元使用加密该密文过程中缓存在所述第一寄存器中的随机密钥对所述密文的报头进行加密生成第一报头加密信息;同时所述加解密单元使用加密该密文过程中缓存在所述第一寄存器中的随机密钥对缓存在所述第一寄存器中的该密文的报头进行加密生成第二报头加密信息;所述认证单元将所述第一报头加密信息和所述第二报头加密信息进行比对,实现接收的所述密文的认证。
[0022]在本技术方案中,在硬件加解密模块中,在对密文进行解密之前,首先要对该密文的报头进行身份认证,只有当身份认证成功了,才会进入后续的解密程序;当身份认证不成功,会将该密文进行丢弃处理。
[0023]进一步优选地,所述硬件加解密模块为基于FPGA的高级加密标准(AdvancedEncrypt1n Standard,以下简称AES)硬件加解密模块。
[0024]AES是对数据按128位,也就是16个字节进行分组进行加解密的,每次对一组数据加解密需要运行多轮。而输入密钥的长度可以为128、192和256位,也就是16个字节、24个字节和32个字节,如果用户输入的密钥长度不是这几种长度,则会自动补成这几种长度。无论输入密钥是多少字节,在加解密的过程中还是以16字节的数据一组来进行的,密钥长度的不同影响加密运行的轮数。
[0025]进一步优选地,所述路由功能模块中包括:路由微处理单元、内置于所述路由微处理器中的第二配置单元、内置在所述路由微处理单元中的第二寄存器、第二数据接收单元以及第二数据发送单元,所述第二数据接收单元、所述第二数据发送单元和所述第二配置单元分别与所述路由微处理单元连接;
[0026]在接收明文或密文的过程中:所述路由功能模块通过所述第二数据接收单元接收外界发送的明文或密文,并将其发送至所述路由微处理单元;所述路由微处理单元对接收到的所述明文或密文进行报文解析,并将经过报文解析后的明文或密文缓存在所述第二寄存器中,最后将缓存在所述第二寄存器中的经过报文解析后的明文或密文通过所述第二数据发送单元发送至所述硬件加解密模块;
[0027]在发送经过加解密生成的加密数据或解密数据的过程中:所述路由功能模块通过所述第二数据接收单元接收所述硬件加解密模块生成的加密数据或解密数据并进行封装,并将经过封装的加密数据或解密数据缓存在所述第二寄存器中,最后将缓存在所述第二寄存器中的封装后的加密数据或解密数据经由无线信道发送出去;
[0028]所述第二配置单元,用于配置所述路由微处理单元中内置第二寄存器的工作模式。
[0029]在本技术方案中可以看出,在对明文或密文进行加密或解密的过程中,路由功能模块实际上用于数据的转发,而不进行加解密的操作。且硬件加解密模块在工作过程中可以看作一个处于电脑端以太网数据和路由器中微处理单元之间可以独自工作的一个小系统,物理隔绝性非常好,不易受到外界的影响。
[0030]进一步优选地,所述第二数据接收单元包括以太网数据接口和/或无线收发接口 ;所述第二寄存器的工作模式为先进先出模式。
[0031]本发明还提供了一种路由器加密方法,应用于上述具备硬件加解密功能的路由器,所述路由器加密方法包括以下步骤:
[0032]SlOO路由功能模块从外界接收需要进行加密的明文,并将所述明文发送至所述硬件加解密模块;
[0033]SllO所述硬件加解密模块对所述明文进行加密,并将加密生成的加密数据发送至所述路由功能模块;
[0034]S120所述路由功能模块将所述加密数据经由无线信道发送出去。
[0035]进一步优选地,在步骤SlOO中,具体包括:
[0036]SlOl所述路由功能模块从外界接收需要进行加密的明文;
[0037]S102所述路由功能模块对接收到的所述明文进行报文解析;
[0038]S103所述路由功能模块对其内置的第二寄存器的工作模式进行配置;
[0039]S104所述路由功能模块将经过报文解析后的明文、寄存器配置指令以及控制指令发送至所述硬件加解密模块。
[0040]进一步优选地,在步骤SllO中,具体包括以下步骤:
[0041 ] Slll所述硬件加解密模块接收所述经过报文解析后的明文、寄存器配置指令以及控制指令;
[0042]SI 12缓存所述经过报文解析后的明文;
[0043]S113所述硬件加解密模块根据所述寄存器配置指令配置其内置的第一寄存器的工作模式;
[0044]S114所述硬件加解密模块根据所述控制指令生成随机密钥,并将所述随机密钥缓存在所述第一寄存器中;
[0045]S115所述硬件加解密模块对所述随机密钥进行扩展生成加密密钥,并将所述加密密钥进行存储;
[0046]S1
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1