DIY编程器网

标题: 高可靠FPGA通信系统 [打印本页]

作者: liyf    时间: 2012-1-17 14:56
标题: 高可靠FPGA通信系统
代数计算攻击的基本思想是用足够多的明密文对利用拉格朗日插值公式得到密码算法的一个近似多项式逼近,因此要想对Rijndael算法进行代数计算攻击等价于将式(1-1)用多项式来展开,而在式(1-1)中要想消去一层子结构,就涉及到构造S - 盒的所有运算,由S - 盒表达式的复杂性可知,想通过对式(1-1)的多项式展开后进行攻击是不可行的。  1.3 支撑硬件选择  鉴于AES加密算法的特点以及算法的抗攻击性能,因此,本文选用其作为加密应用技术。加密算法可以通过软硬件实现,由于算法本身的灵活性,效率高,用软件实现比较简单、方便,但同时也带来一些问题,使算法的速度、安全性等都在某种程度上受到了影响。AES算法的硬件实现不仅具有快的速度而且占用的资源也将减少。因此,AES加密算法硬件实现能够提供更快的速度和安全性。  XILINX作为全球领先的FPGA提供商,其生产的Spartan系列FPGA具有高性价比,能够实现低成本的嵌入式处理平台,支持商用串行(SPI)和并行(BPI)Flash 存储器与平台 Flash,每秒高达 91 亿次的乘累加(MAC)运算,因此采用Spartan系列FPGA作为AES加密算法实现的硬件载体。因此,基于Spartan-3e平台能够很好的构建一个SOC系统。  1.4 支撑硬件选择  本系统主要的目标在于“针对ZigBee无线传感器网络中,端到端控制过程中存在的安全隐患和信息邪路问题,自主设计了一套基于FPGA平台的高可靠通信系统”。该系统主要由三部分组成:ZigBee无线传感器网络,服务器端,客户端。如图1.1所示。  服务器端采用XILINX公司的Spartan-3e开发平台,在该平台上构建基于MicrBlaze处理器和Xilkernel操作系统的嵌入式系统。当服务器端收到经过AES加密的请求IP数据包时,在服务器端,信息需要经过AES解密处理,根据解密后信息分析并提取请求方的ID信息和IP信息,客户端的ID信息是唯一的授权证号。  客户端同样采用XILINX公司的Spartan-3e开发平台,但该系统中只需要定制AES加解密IP、键盘IP、LCD IP并添加EDK中自带的网络控制器IP。客户端作为整个系统的控制中心,当需要采集信息时,客户端通过键盘把自己的授权ID信息经md5加密后形成自己的加密ID,指令信息和加密ID信息经过AES加密后发送至服务器端,当服务器端响应其请求后,视其身份权限做出相应处理。
                          
                       
                          
                                2 系统实现  2.1 ZigBee无线传感器网络的实现  ZigBee无线传感器基于IEEE802.15.4技术标准和ZigBee网络协议而设计的无线数据传输网路,该网络由若干个ZigBee终端节点和一个中心节点构成一个星型网络,终端节点主要负责各个传感器模块的信息采集和传送,ZigBee终端节点采用CC2430模块,传感器模块采用51单片机控制,通过扩展串口与采集模块相连,其主要负责接收和处理采集数据。中心节点主要用于接收各个终端节点的上传数据,并对其进行压缩处理后通过扩展接口传送至服务器端。  2.2 系统服务器端、客户端的实现  AES加解密算法通过硬件描述语言来实现,在该系统中采用VHDL语言编写代码。根据AES加解密算法的相似性,很多电路模块可以共用。根据系统的需要,采用对字符加密,因此,每一个字符都将对应其ASCII值输入。AES实现框图如图2.2图所示。????????????????????? 图2.2 AES加解密实现框图  2.2.2 监测及报警实现  服务器端通过添加EDK中网络控制器IP核,移植LwIP网络协议栈,实现基于SOCKET的网络通信。服务器端收到客户端请求时,对接收到的IP数据包进行解密,对请求的IP数据包进行分析,提取对应的ID信息和IP信息,由于该ID信息是经过md5加密算法加密的,因此该ID作为授权客户的唯一ID,根据ID信息与授权的ID列表进行比较,若为授权ID,则根据客户请求把相应的信息加密处理后发送至客户端;若为非授权ID,则说明该网络已存在非授权ID用户,此网络已经存在不安全性,则把提取的IP信息通过GSM网络发送至指定接收端手机,达到网络的实时检测和报警功能。  2.2.3 应用软件的实现  服务器端的应用程序的设计主要包括系统的初始化、系统对客户端请求的处理、网络安全监测及报警等。整个服务器端的软件设计流程图如图2.3图所示。客户端的应用程序的设计也包括系统的初始化,客户请求的处理及解密处理,服务器端返回的信息处理。客户端软件流程图如图2.4图所示。  3 系统测试及分析  系统整体测试,根据系统的可能应用领域进行综合测试。系统初始化后,根据LCD显示的提示信息,输入加解密钥16个字符,在密钥确认信息提示后再次输入加解密密钥,在本次通信过程中将采用该密钥对信息进行加解密处理。当客户端需要采集信息时,发送采集指令,服务器端响应请求把传感器网络采集的信息加密后发送至客服端,客户端把信息解密后显示在LCD液晶显示屏上,这一次的采集任务正确完成,当需要再次采集时,客户端只要发送指令就可以再次采集了。  系统分别在实验室和户外进行测试,每隔1分钟采集一次数据,表4.1记录了10次数据采集的处理情况。经过多次测试和接收数据表明:该系统具有良好的稳定性和高可靠性。
                          
                       
                          
                               




欢迎光临 DIY编程器网 (http://diybcq.com/) Powered by Discuz! X3.2