安全通信系统的FPGA实现

来源 :电子产品世界 | 被引量 : 0次 | 上传用户:a285074984
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:本文针对网络通信过程中存在信息泄露、信息篡改、非法用户入侵等安全威胁而设计的一套基于FPGA平台的的网络通信安全传输系统。
  关键词:网络通信;FPGA;加密
  
  绪论
  
  信息安全的解决方案目前主要集中于采取单一的措施来保证信c息的安全性,针对各种攻击手段,防范措施主要集中于信息加密技术、安全交换机技术、防火墙技术、认证技术,入侵检测技术等,这些技术从不同的方面对安全性提供了较好的保障,但各有缺点和不足,这将成为网络防护的软肋,因此,本文也尝试性地提出了一种集数据加密技术和访问控制策略于一体的信息安全解决方案。
  加密算法的硬件实现具有高速率、高可靠性、高安全等特点,因此,加密算法在FPGA平台中实现是一种很好的硬件实现方案。本文在Xilinx公司的spartan-3e平台中构建一个嵌入式系统来实现安全网络通信。
  
  系统设计
  
  该系统主要针对信息传输过程中存在信息泄露、信息篡改、非法用户入侵等安全威胁而设计的一套基于FPGA平台的网络信息安全传输系统。该系统采用客户机/服务器模式,因此,系统主要包括两个部分:客户端和服务器端。
  
  系统服务器端设计
  


  服务器端采用Xilinx公司的Spartan-3e开发平台,在该平台上构建基于MicrBlaze处理器和Xilkemel操作系统的嵌入式系统,在该系统中通过定制AES加密IP、键盘IP、LCDTP、通用扩展接口控制IP并添加EDK中自带的网络控制器IP、串口IP等,服务器端的系统结构框图如图1所示。当服务器端收到经过AES~H密的请求IP数据包时,在服务器端,信息需要经过AES解密处理,根据解密后信息分析并提取请求方的ID信息和IT信息,客户端的ID信息是唯一的授权证号,根据客户端的ID信息,作出相应的处理。
  客户端同样采用Xilinx公司的Spartan-3e开发平台,但该系统中只需要定制AES加解密IP、键盘IP、LCD IP并添加EDK中自带的网络控制器IP,客户端的系统结构框图如图2图所示。客户端作为整个系统的控制中心,当需要采集信息时,客户端经md5算法形成自己的唯一授权ID,指令信息和ID信息经过AES加密后发送至服务器端,当服务器端响应其请求后,视其身份权限做出相应处理。
  


  
  系统具体实现
  
  系统服务器端实现
  ·AES算法的硬件实现
  AES算法是一种迭代分组密码,采用的是代替/置换网络(SP)。AES加密算法的实现包括密钥扩展过程和加密过程。AES解密算法的实现包括密钥扩展过程和解密过程。解密过程与加密过程类似,是加密过程的逆运算,AES加解密过程如图3所示。
  AES加解密算法通过硬件描述语言来实现,在该系统中采用VHDL语言编写代码。根据AES加解密算法的相似性,很多电路模块可以共用,其占用资源可以尽可能的少。在该系统中采用密钥长度和分组数据块长度都为128bits,输入信息都为字符型的数据,采用对字符加解密,因此,每一个字符都将对应其ASCII值输入。AES加解密实现主要有4个模块:控制模块、AES加解密运算实现模、SBOX模块、密钥操作模块,实现的框图如图4所示。
  


  ·接口模块的实现
  服务器端采用Spartan-3e平台扩展了PS2接口、16×2的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键盘初始化:初始化键盘函数i nit—kb d(),允许中断函数enable_interrupt(),系统调用xilkernel_main()进入xilkernel,创建socket_thread。初始化1wip,并创建socket_app_thread。该线程主要是针对网络参数设定,通过IP4_ADDR()函数设定ip、网关、子网掩码。
  当系统运行时,液晶显示相关信息,当出现等待键盘输入密钥时,输入16个字符密钥,同时对密钥进行密钥确认。系统调用socket()函数创建socket,调用listen()函数开始监听。
  一旦接收到用户请求时就创建socket—process—thread线程。在socket_process_thread线程中,提取IP数据包的相关信息,首先检查客户端发送的ID是否在授权ID列表之内,如果ID无误,将从无线模块接收到的数据进行AES加密,发送加密过后的数据给客户端。如果ID有错误,提取其收到IP数据包中的IP,并启用GSM模块,将提得的IP通过短信发送给指定接收端。
  
  系统客户端实现
  客户端的系统构建与服务器端相似,系统的原理可以参考服务器端的系统设计。应用程序的设计也包括系统的初始化,客户请求的处理及解密处理,服务器端返回的信息处理。初始化外设,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上显示数据,并等待用户再次提出所要数据申请。
  
  结论
  
  该系统采用FPGA平台构建基于Microblaze软核和Xilkernel操作系统的嵌入式系统。本文主要对下述内容进行了论述和自主开发:
  1 AES加解密算法的原理介绍及基于FPGA的硬件自主实现。
  2 构建基于Microblaze软核和Xilkernel操作系统的嵌入式系统,自定制外设接口IP。
  3 网络安全检测的实现及通过GSM网络报警机制的设计与实现。
  经过单元测试和整体评测,各模块独立运行功能良好,均达到系统设计要求。系统整体测试运行平稳,可靠性强。完全可以达到实际应用的性能及技术要求。
其他文献
如今,多内核处理器正日益成为解决蜂窝基站功率与性能难题的常用有效工具。  虽然无线领域中最受青睐的应用仍然是语音,但是数据正紧随其后,迅速成为热门的3G应用,而且随着运营商对诸如移动WiMAX(IEEE 802.16e)和长期演进(LTE)等4G技术的部署,数据的这种发展势头还将持续下去。在电子邮件、Web浏览、音乐下载以及机器对机器(M2M)的应用中,所有数据流量都会增加每个收发器基站(BTS)
期刊
近年来,中国嵌入式系统市场发展十分迅猛。在这种背景下,北京航空航天大学计算机学院于2003年初开设了《嵌入式系统设计》课程,在课程建设过程中得到了英特尔的大力支持。更进一步地,嵌入式系统设计竞赛往往需要结合多种硬件、软件、工具和设计方法来完成设计,对于学生能力的全面考察更具意义。以2008年春季课程本科生课程设计实验为例,共60名本科三年级学生参加并完成试验,试验中分为12组,每组5人,其中11组
期刊
对于半导体行业来说,节能降耗的方法很多,就像我们吃食物,可以从采集新能源(新食物),也可以改良制造工艺(消耗少),还可以进行电源管理(合理进食)角度开展。    从自然界采集能源    人们正在研制能从光、振动乃至体温中采集能源,并创建无需电池就能永续运行的产品。如果部分微处理器/微控制器能够靠环境能源来为其供电的话,这将对我们的环境有重要而深远的影响。TI等公司研发的MCU已将消费类电子与工业应
期刊
今年Cadence公司成立20周年。20年前,Cadence由两家公司一ECAD和SDA合并而成,如今其已成长为规模最大的EDA(电子设计自动化)工具供应商。公司在中国有四个目标:节能、创新、和谐、共赢。  在7月15日的CDNLive!(Cadence Designer Network,Cadence的全球性会议)北京站,Cadence全球副总裁兼亚太区总裁居龙先生向本刊介绍了如何与中国IC企业
期刊
摘要:根据脉冲氙灯的工作原理提出了一种脉冲氙灯驱动系统的设计方案,并详细描述了以dsPIC30F4011数字信号控制器为核心的系统硬件和软件设计。  关键词:dsPIC30F;脉冲氙灯;驱动系统    引言    随着计算机、机械、电子技术的发展,道路检测车使得大规模、快速、准确地获取道路使用信息成为可能。检测车上的摄像系统按摄像速度分为普通摄像机、高速摄像机和数码摄像机,其中高速摄像机主要用于对
期刊
在北京Power Architecture会议期间(10月27日),Power.org发起成员飞思卡尔公司的市场营销、网络和多媒体总监兼Power.org市场营销委员会主席FawziB ehmann,以及IBM项目主管兼Power.org技术委员会主席KavehMassoudian介绍了Power Architecture发展战略及成功案例。从巨大的超级计算机到微型的汽车控制系统,从家用录像机到太
期刊
摘要:为了简化测试过程,本文给出了一个电池仿真电路,可加快测试速度,在不带实际电池的情况下实现对锂离子电池充电器的测试。  关键词:Li+;恒流-恒压;电池;充电器;MAX1737    锂离子(Li+)电池比其它化学类型的电池更脆弱,对于违规操作具有非常小的容限。因此,锂电池充电电路比较复杂,要求高精度电流、电压设置。如果无法满足这些精度要求,充电器可能无法将电池完全充满,进而降低电池寿命,或影
期刊
这个系列的深度报道文章统计了失败的处理器种群。这些文章探索了造成每一种处理器种群死亡的主要设计错误。每一种主要的设计错误也以一或两个例子进行了阐述。前两部分讨论了支持特殊语言的高级计算机指令集架构的发展;允许简单机器仿效其先者的中间ISA的使用等。除此之外,还有堆栈机、极端CISC和RISC处理器、VLIW机以及过度地迅速成长的流水线操作等,以及本文讨论的不平衡的处理器设计。    错误3:不平衡
期刊
摘要:介绍一种基于DSP和IPM的变频调速系统的硬件设计。该系统采用“自举”电路,采用DSP直接驱动IPM,结构紧凑。该系统已投入批量生产,并经过数年连续运行。  关键词:DSP;IPM;变频调速;硬件    引言    变频调速技术广泛应用于工业领域。随着电力电子控制技术及元器件的不断发展,变频调速系统的集成度、智能化程度越来越高,硬件构成也越来越紧凑、简单。DSP+IPM(智能功率模块)就是变
期刊
摘要:给出电子巡查系统移动智能终端设计及硬件连接方案。  关键词:电子巡查系统;GPS;单片机;无线传输    引言    现在以GPS(全球卫星定位系统)为核心的GIS(地理信息系统)设备正进入普及应用阶段。随着技术的发展,各种移动定位终端已经深入我们的生活,而同时人们需要更多基于位置的安全保障,于是也向GPS提出了新的要求,能否提供一种嵌入式GPS,提供安防联防诸如巡查过程中保安移动信息服务,
期刊