当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]安全通信系统的FPGA实现的方法

绪论

  信息安全的解决方案目前主要集中于采取单一的措施来保证信息的安全性,针对各种攻击手段,防范措施主要集中于信息加密技术、安全交换机技术、防火墙技术、认证技术,入侵检测技术等,这些技术从不同的方面对安全性提供了较好的保障,但各有缺点和不足,这将成为网络防护的软肋,因此,本文也尝试性地提出了一种集数据加密技术和访问控制策略于一体的信息安全解决方案。

  加密算法的硬件实现具有高速率、高可靠性、高安全等特点,因此,加密算法在FPGA平台中实现是一种很好的硬件实现方案。本文在xilinx公司的spartan-3e平台中构建一个嵌入式系统来实现安全网络通信。

系统设计

  该系统主要针对信息传输过程中存在信息泄露、信息篡改、非法用户入侵等安全威胁而设计的一套基于FPGA平台的网络信息安全传输系统。该系统采用客户机/服务器模式,因此,系统主要包括两个部分:客户端和服务器端。客户端作为整个系统的控制中心,根据实际需要,向服务器端发送请求,并显示接收到的信息。服务器端响应客户端的请求,发送相应信息。服务器端和客户端之间的信息都是经过加密后进行传输的,保证信息的安全可靠性。

系统服务器端设计

  服务器端采用XILINX公司的Spartan-3e开发平台,在该平台上构建基于MicrBlaze处理器和Xilkernel操作系统的嵌入式系统,在该系统中通过定制AES加密IP、键盘IP、LCD IP、通用扩展接口控制IP并添加EDK中自带的网络控制器IP、串口IP等,服务器端的系统结构框图如图1所示。当服务器端收到经过AES加密的请求IP数据包时,在服务器端,信息需要经过AES解密处理,根据解密后信息分析并提取请求方的ID信息和IP信息,客户端的ID信息是唯一的授权证号,根据客户端的ID信息,作出相应的处理。


图1 服务器端的系统结构框图

系统服务器端设计

  客户端同样采用XILINX公司的Spartan-3e开发平台,但该系统中只需要定制AES加解密IP、键盘IP、LCD IP并添加EDK中自带的网络控制器IP,客户端的系统结构框图如图2-2图所示。客户端作为整个系统的控制中心,当需要采集信息时,客户端经md5算法形成自己的唯一授权ID,指令信息和ID信息经过AES加密后发送至服务器端,当服务器端响应其请求后,视其身份权限做出相应处理。


图2 客户端的系统结构框图

系统具体实现

  该系统采用模块化设计实现,系统包括客户端和服务器端。系统客户端和服务器端的实现都是基于xilinx公司的spartan-3e平台来实现的。
系统服务器端实现

  ·AES算法的硬件实现

  AES算法是一种迭代分组密码,采用的是代替/置换网络(SP)。AES加密算法的实现包括密钥扩展过程和加密过程。AES解密算法的实现包括密钥扩展过程和解密过程。解密过程与加密过程类似,是加密过程的逆运算,AES加解密过程如图3所示。


图3 AES加解密过程 [!--empirenews.page--]

  AES加解密算法通过硬件描述语言来实现,在该系统中采用VHDL语言编写代码。根据AES加解密算法的相似性,很多电路模块可以共用,其占用资源可以尽可能的少。在该系统中采用密钥长度和分组数据块长度都为128bits,输入信息都为字符型的数据,采用对字符加解密,因此,每一个字符都将对应其ASCII值输入。AES加解密实现主要有4个模块:控制模块、AES加解密运算实现模、SBOX模块、密钥操作模块,实现的框图如图3-2图所示。
AES加解密模块的实现经过ISE 综合后占用资源利用情况如表1所示。

表1 AES加解密资源利用表



图4 AES加解密实现框图

  ·接口模块的实现

  服务器端采用Spartan-3e平台扩展了PS2接口、16X2的LCD液晶显示,3个6针的通用扩展接口,这些接口方便了外设的连接和扩展。键盘在该系统中实现了单向通信,扩展接口模块通过平台通用扩展接口J1、J2、J3与外接设备进行信息交互。Spartan-3e平台通过串口DTE和GSM模块进行通信,将相应的信息通过短信的方式发送到指定手机中。

  各个接口模块通过EDK添加自定义IP的方式添加到OPB总线中,其中键盘、LCD、串口DTE使用中断。驱动程序在自动生成的驱动程序模板基础上完成各个模块的驱动程序。

  ·网络安全检测及报警实现

  服务器端通过添加EDK中网络控制器IP核,移植LwIP网络协议栈,实现基于SOCKET的网络通信。服务器端收到客户端请求时,对接收到的IP数据包进行解密,对请求的IP数据包进行分析,提取对应的ID信息和IP信息,由于该ID信息是经过md5算法产生的,因此该ID作为授权客户的唯一ID,根据ID信息与授权的ID列表进行比较,若为授权ID,则根据客户请求把相应的信息加密处理后发送至客户端;若为非授权ID,则说明该网络已存在非授权ID用户,此网络已经存在不安全性,则把提取的IP信息通过GSM网络发送至指定接收端手机,达到网络的实时检测和报警功能。

  ·服务器端软件实现

  服务器端构建基于MicroBlaze处理器和Xilkernel操作系统的嵌入式系统,通过扩展PS2键盘,LCD液晶显示屏等设备,实现具有良好的人机交互接口的系统。Xilkernel操作系统支持多线程操作,通过配置一些参数就可以灵活应用。虽然其没有网络系统,但可以通过移植LwIP协议栈就可以实现基于SOCKET的网络通信。

  应用程序的设计主要包括系统的初始化、系统对客户端请求的处理、网络安全监测及报警等。系统的初始化主要针对外设的初始化,LCD初始化工作:允许中断函数microblaze_enable_interrupts(),初始化函数LCD INIT_LCD(),PS2 键盘初始化:初始化键盘函数init_kbd(),允许中断函数enable_interrupt(),系统调用xilkernel_main()进入xilkernel,创建socket_thread。初始化lwip,并创建socket_app_thread。该线程主要是针对网络参数设定,通过IP4_ADDR()函数设定ip、网关、子网掩码。

  当系统运行时,液晶显示相关信息,当出现等待键盘输入密钥时,输入16个字符密钥,同时对密钥进行密钥确认。系统调用socket()函数创建socket,调用listen()函数开始监听。[!--empirenews.page--]

  一旦接收到用户请求时就创建socket_process_thread线程。在socket_process_thread线程中,提取IP数据包的相关信息,首先检查客户端发送的ID是否在授权ID列表之内,如果ID无误,将从无线模块接收到的数据进行AES加密,发送加密过后的数据给客户端。如果ID有错误,提取其收到IP数据包中的IP,并启用GSM模块,将提得的IP通过短信发送给指定接收端。 

  整个服务器端的软件设计流程图如图5图所示。


图5 服务器端软件流程图

系统客户端实现

  客户端的系统构建与服务器端相似,系统的原理可以参考服务器端的系统设计。应用程序的设计也包括系统的初始化,客户请求的处理及解密处理,服务器端返回的信息处理。初始化外设,LCD初始化:允许中断函数microblaze_enable_interrupts(),初始化LCD函数INIT_LCD(),PS2 键盘初始化:初始化键盘函数init_kbd(),允许中断函数enable_interrupt()。系统调用xilkernel_main()进入xilkernel,创建socket_thread。液晶显示等待键盘输入密钥,输入密钥后需再次确认密钥,确认成功后启动客户端。初始化LwIP,并创建socket_app_thread。配置网络参数,通过IP4_ADDR()函数设定ip、网关、子网掩码。等待用户按键,提出所要数据申请。调用socket()函数创建socket,连接server,发送经过md5加密后的授权ID,等待server响应。.当接收到server返回的数据时,调用AES解密模块进行解密。在LCD上显示数据,并等待用户再次提出所要数据申请。客户端软件流程图如图3-4图所示。

结论

  该系统采用FPGA平台构建基于Microblaze软核和Xilkernel操作系统的嵌入式系统。本文主要对下述内容进行了论述和自主开发:

  1.AES加解密算法的原理介绍及基于FPGA的硬件自主实现。

  2.构建基于Microblaze软核和Xilkernel操作系统的嵌入式系统,自定制外设接口IP。

  3.网络安全检测的实现及通过GSM网络报警机制的设计与实现。

  经过单元测试和整体评测,各模块独立运行功能良好,均达到系统设计要求。系统整体测试运行平稳,可靠性强。完全可以达到实际应用的性能及技术要求。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭