基于FPGA的物联网络信息加密系统的实现方法技术方案

技术编号:19827829 阅读:22 留言:0更新日期:2018-12-19 16:50
本发明专利技术公开了一种基于FPGA的物联网络信息加密系统的实现方法,包括如下步骤:编代码分别实现AES密码算法模块、RSA加密算法模块、TCP/IP协议栈模块和物理不可克隆模块;分别对AES密码算法模块、RSA加密算法模块、TCP/IP协议栈模块和物理不可克隆模块进行逻辑功能的仿真验证;采用SoC FPGA器件,编写相应约束脚本,把AES密码算法模块、RSA加密算法模块、TCP/IP协议栈模块、物理不可克隆模块和约束文件导入软件开发工具,进行综合布局布线和时序分析,把配置数据文件下载到SoC FPGA器件。本发明专利技术能保证物联网信息的安全、具有更高的安全性和抗攻击能力。

【技术实现步骤摘要】
基于FPGA的物联网络信息加密系统的实现方法
本专利技术涉及信息加密领域,特别涉及一种基于FPGA的物联网络信息加密系统的实现方法。
技术介绍
物联网信息保密系统在与云端数据交互的过程中,数据的加解密都是在TCP/IP模型中的应用层进行的,都是采用软件的实现方式;网络协议栈的封装也都是通过内核软件的方式实现的,加密数据通过总线发送到PHY接口芯片,然后传送到云端控制端,云端控制端返回的数据也是加密的,在传送到物联网终端后利用软件实现的方式对数据进行解密,应用层拿到明文后再进行控制信息的响应,依次运行下去。如图1所示,在TCP/IP模型中,网络信息的数据封装是从应用层开始的,首先由应用层加密网络数据,然后依次传送到传输层、网络层、数据链路层和物理层,经过协议层的层层封装最后转换为二进制比特流信号,在传输介质中传送到目的主机,协议层的封装都是采用的软件方式实现的。由于物联网终端的资源有限,采用处理器软件串行实现的方式,网络信息数据交互较慢,会占用较多的处理器资源,造成信息处理的拥堵;技术难点在于在资源有限的物联网终端中如何提高信息数据处理的吞吐量和并行加密速度;由于软件本身的特点,采用软件实现的方式很容易被黑客攻击、跟踪、调试和反编译等,成为保密系统的安全瓶颈;技术难点在于如何提高系统的抗攻击能力和安全性。
技术实现思路
本专利技术要解决的技术问题在于,针对现有技术的上述缺陷,提供一种能保证物联网信息的安全、具有更高的安全性和抗攻击能力的基于FPGA的物联网络信息加密系统的实现方法。本专利技术解决其技术问题所采用的技术方案是:构造一种基于FPGA的物联网络信息加密系统的实现方法,包括如下步骤:A)根据AES对称密码算法ECB模式的数学理论描述,结合硬件描述语言和系统总线AMBA从模块的时序,采用二级流水线的方式,按照每轮的运算流程实现AES密码算法模块;B)根据RSA的数学原理,采用蒙哥马利模乘算法和5级流水线的设计实现2048比特的RSA加密算法模块,并实现AMBA从模块的时序;C)根据以太网络帧的封装格式,用VerilogHDL实现用于对传输层、网络层和数据链路层的封包与解包的TCP/IP协议栈模块,通过硬件实现PHY驱动模块;所述PHY驱动模块封装在所述TCP/IP协议栈模块的内部;D)采用二路选择器实现64级仲裁器PUF电路,将所述64级仲裁器PUF电路和表决器电路进行结合,实现物理不可克隆模块;E)编写实现底层接口函数;F)编写相应的testbench测试激励文件,分别对所述AES密码算法模块、RSA加密算法模块、TCP/IP协议栈模块和物理不可克隆模块进行逻辑功能的仿真验证,检验其设计的功能是否正确;G)分别对所述AES密码算法模块、RSA加密算法模块、TCP/IP协议栈模块和物理不可克隆模块的顶层模块进行逻辑功能的仿真验证,检验整体设计的功能是否正确;H)在时序验证通过以后,编写ARM应用层C语言测试程序,对所述底层接口函数的正确性进行调试和测试,同时分别针对所述AES密码算法模块、RSA加密算法模块、TCP/IP协议栈模块和物理不可克隆模块编写测试用例,校验模板整体的正确性;I)采用SoCFPGA器件,编写相应的AMBA从模块的工作时钟、输入输出延时和运行环境的约束脚本,把AES密码算法模块、RSA加密算法模块、TCP/IP协议栈模块、物理不可克隆模块和约束文件导入软件开发工具,进行综合布局布线和时序分析,把生成的配置数据文件下载到SoCFPGA器件,结合ARM硬核和软件进行硬件验证,检验模块设计是否达到时序要求。在本专利技术所述的基于FPGA的物联网络信息加密系统的实现方法中,所述底层接口函数包括set_config(address,value)、get_config(address)、read(address)、write(address,value)、chip_check()和ctl_mode(address,value)。在本专利技术所述的基于FPGA的物联网络信息加密系统的实现方法中,在对所述AES密码算法模块的电子密码本模式的编写中,支持128比特、192比特和256比特的分组,在每轮变换中仿射变换过程采用ROM查表模式,所述AES密码算法模块的秘钥的存储采用FLASH,通过配置接口配置所述AES密码算法模块的秘钥,在所述AES密码算法模块的顶层封装AMBA的从模块协议,所述AES密码算法模块直接挂在到系统总线上,所述AES密码算法模块的输出直接通过AMBA控制器传送到所述TCP/IP协议栈模块的缓存区。在本专利技术所述的基于FPGA的物联网络信息加密系统的实现方法中,所述RSA加密算法模块的实现最高支持2048比特的密钥,采用Montgomery算法实现大数模乘,基于5级流水线实现,所述RSA加密算法模块的顶层的接口封装AMBA协议,所述RSA加密算法模块直接挂载到所述系统总线上,所述RSA加密算法模块的运算密钥存储在其内部的寄存器区,通过内核接口函数对所述RSA加密算法模块的内部寄存器进行配置。在本专利技术所述的基于FPGA的物联网络信息加密系统的实现方法中,所述TCP/IP协议栈模块的输出和输入缓存区的大小均是400KB,所述TCP/IP协议栈模块的顶层模块的接口封装AMBA协议,所述传输层支持TCP和UDP协议,所述网络层支持的协议IP和ICMP协议,所述数据链路层支持ARP协议;所述TCP/IP协议栈模块把封装好的以太网帧发送到所述PHY驱动模块,接收时在读取到LAN口接入网线时启动接收状态机并检测数据的有效状态,接收数据时边接收边开始CRC校验和CHECKSUM校验计算,在校验通过后将所述数据写入到接收缓存区,然后产生中断,告知内核已接收到数据,然后通过应用层读取数据。在本专利技术所述的基于FPGA的物联网络信息加密系统的实现方法中,所述物理不可克隆模块采用二输入多路选择器结构,内部保留64个64比特的向量表,通过AMBA总线对寄存器区域进行配置,所述物理不可克隆模块的整体输出是一个64比特的指纹数据。在本专利技术所述的基于FPGA的物联网络信息加密系统的实现方法中,所述步骤F)中仿真验证的实现过程为:分别对所述AES密码算法模块、RSA加密算法模块、TCP/IP协议栈模块和物理不可克隆模块编写相应的时钟和数据激励文件,启动VCS仿真工具,在波形窗口中观察数据输出结果,借助计算机AES和RSA算法工具和网络协议分析工具,验证数据波形输出的正确性;ARM驱动层和应用层软件调试与验证通过结合gdb调试工具进行操作。在本专利技术所述的基于FPGA的物联网络信息加密系统的实现方法中,分别将所述AES密码算法模块、RSA加密算法模块、TCP/IP协议栈模块和物理不可克隆模块例化,结合VivadoDesignSuite中提供的先入先出IP核和SoCFPGA器件的ARM硬核,连接成实际的工作门级电路,数据发送时应用层的软件调用底层驱动接口分别对所述AES密码算法模块、RSA加密算法模块、TCP/IP协议栈模块和物理不可克隆模块进行回路测试,先把数据发送到所述AES密码算法模块中的加密模块,数据传回来后再发送到所述AES密码算法模块中的解密模块;在调试所述TCP/IP协议栈模块时采用回路测试的方法,把以太网络接本文档来自技高网...

【技术保护点】
1.一种基于FPGA的物联网络信息加密系统的实现方法,其特征在于,包括如下步骤:A)根据AES对称密码算法ECB模式的数学理论描述,结合硬件描述语言和系统总线AMBA从模块的时序,采用二级流水线的方式,按照每轮的运算流程实现AES密码算法模块;B)根据RSA的数学原理,采用蒙哥马利模乘算法和5级流水线的设计实现2048比特的RSA加密算法模块,并实现AMBA从模块的时序;C)根据以太网络帧的封装格式,用Verilog HDL实现用于对传输层、网络层和数据链路层的封包与解包的TCP/IP协议栈模块,通过硬件实现PHY驱动模块;所述PHY驱动模块封装在所述TCP/IP协议栈模块的内部;D)采用二路选择器实现64级仲裁器PUF电路,将所述64级仲裁器PUF电路和表决器电路进行结合,实现物理不可克隆模块;E)编写实现底层接口函数;F)编写相应的testbench测试激励文件,分别对所述AES密码算法模块、RSA加密算法模块、TCP/IP协议栈模块和物理不可克隆模块进行逻辑功能的仿真验证,检验其设计的功能是否正确;G)分别对所述AES密码算法模块、RSA加密算法模块、TCP/IP协议栈模块和物理不可克隆模块的顶层模块进行逻辑功能的仿真验证,检验整体设计的功能是否正确;H)在时序验证通过以后,编写ARM应用层C语言测试程序,对所述底层接口函数的正确性进行调试和测试,同时分别针对所述AES密码算法模块、RSA加密算法模块、TCP/IP协议栈模块和物理不可克隆模块编写测试用例,校验模板整体的正确性;I)采用SoC FPGA器件,编写相应的AMBA从模块的工作时钟、输入输出延时和运行环境的约束脚本,把AES密码算法模块、RSA加密算法模块、TCP/IP协议栈模块、物理不可克隆模块和约束文件导入软件开发工具,进行综合布局布线和时序分析,把生成的配置数据文件下载到SoC FPGA器件,结合ARM硬核和软件进行硬件验证,检验模块设计是否达到时序要求。...

【技术特征摘要】
1.一种基于FPGA的物联网络信息加密系统的实现方法,其特征在于,包括如下步骤:A)根据AES对称密码算法ECB模式的数学理论描述,结合硬件描述语言和系统总线AMBA从模块的时序,采用二级流水线的方式,按照每轮的运算流程实现AES密码算法模块;B)根据RSA的数学原理,采用蒙哥马利模乘算法和5级流水线的设计实现2048比特的RSA加密算法模块,并实现AMBA从模块的时序;C)根据以太网络帧的封装格式,用VerilogHDL实现用于对传输层、网络层和数据链路层的封包与解包的TCP/IP协议栈模块,通过硬件实现PHY驱动模块;所述PHY驱动模块封装在所述TCP/IP协议栈模块的内部;D)采用二路选择器实现64级仲裁器PUF电路,将所述64级仲裁器PUF电路和表决器电路进行结合,实现物理不可克隆模块;E)编写实现底层接口函数;F)编写相应的testbench测试激励文件,分别对所述AES密码算法模块、RSA加密算法模块、TCP/IP协议栈模块和物理不可克隆模块进行逻辑功能的仿真验证,检验其设计的功能是否正确;G)分别对所述AES密码算法模块、RSA加密算法模块、TCP/IP协议栈模块和物理不可克隆模块的顶层模块进行逻辑功能的仿真验证,检验整体设计的功能是否正确;H)在时序验证通过以后,编写ARM应用层C语言测试程序,对所述底层接口函数的正确性进行调试和测试,同时分别针对所述AES密码算法模块、RSA加密算法模块、TCP/IP协议栈模块和物理不可克隆模块编写测试用例,校验模板整体的正确性;I)采用SoCFPGA器件,编写相应的AMBA从模块的工作时钟、输入输出延时和运行环境的约束脚本,把AES密码算法模块、RSA加密算法模块、TCP/IP协议栈模块、物理不可克隆模块和约束文件导入软件开发工具,进行综合布局布线和时序分析,把生成的配置数据文件下载到SoCFPGA器件,结合ARM硬核和软件进行硬件验证,检验模块设计是否达到时序要求。2.根据权利要求1所述的基于FPGA的物联网络信息加密系统的实现方法,其特征在于,所述底层接口函数包括set_config(address,value)、get_config(address)、read(address)、write(address,value)、chip_check()和ctl_mode(address,value)。3.根据权利要求1或2所述的基于FPGA的物联网络信息加密系统的实现方法,其特征在于,在对所述AES密码算法模块的电子密码本模式的编写中,支持128比特、192比特和256比特的分组,在每轮变换中仿射变换过程采用ROM查表模式,所述AES密码算法模块的秘钥的存储采用FLASH,通过配置接口配置所述AES密码算法模块的秘钥,在所述AES密码算法模块的顶层封装AMBA的从模块协议,所述AES密码算法模块直接挂在到系统总线上,所述AES密码算法模块的输出直接通过AMBA控制器传送到所述TCP/IP协议栈模块的缓存区。4.根据权利要求1或...

【专利技术属性】
技术研发人员:郭凯乐熊晓明詹瑞典
申请(专利权)人:佛山芯珠微电子有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1