学位论文 > 优秀研究生学位论文题录展示

Linux下算法加密卡的PCIe接口的驱动研究

作 者: 徐开洁
导 师: 张亚君
学 校: 杭州电子科技大学
专 业: 电路与系统
关键词: 驱动 加密 服务层 物理层
分类号: TP309.7
类 型: 硕士论文
年 份: 2013年
下 载: 7次
引 用: 0次
阅 读: 论文下载
 

内容摘要


目前,数据的安全性越来越重要了。数据的加密在数据通信和存储中的地位显得越发重要,数据加密技术是保护数据安全的核心,尤其是在当今的电子商务、数字货币、网络银行和其他网络业务的兴起时代。使得如何保护数据安全而不被盗取、不被篡改或破坏等问题越来越受到人们的重视。很多企业的服务器每天都承载着大量的数据,例如淘宝,百度,网易等。在这些大型服务器上,数据的保密是及其重要的,如何保护服务器上的数据是要考虑的情况。在现在社会上,对于数据加密的硬件设计一直是发展的关键,而对于服务器的数据进行保护也极为重要。现在服务器的系统大多数是Linux系统,Linux操作系统由于其功能逐渐完善,Linux操作系统越来越广泛地应用在各个领域。本文讲述了一块算法加密卡在Linux下的驱动设计,这块板卡是插在电脑的PCIe插槽上。板卡的硬件已经存在。算法由硬件实现,所以具体有哪些算法也是固定的。程序可通过驱动设计的API对自己的数据进行加密。板卡可对数据进行多种加密,从而保护到重要的数据。在加密的类别上有压缩,哈希等破解难度高的算法,实现了数据的安全加密。本文要做的驱动就是将用户程序的数据进行多层的封装,进而对硬件进行相应的设置,再而将数据传递给硬件进行加密。驱动程序将操作硬件的具体细节处理好,提供给用户的就是尽可能的简单明了的API了。本文从PCIe总线和算法的简单介绍入手,再介绍了硬件的基本框架以及驱动软件的设计流程。最后介绍板卡在加密速率上的测试结果。由于硬件和算法已经存在,所以算法的安全性和复杂率是固定好的,所以驱动API要测试的就是数据的吞吐速度。这个测试结果将作为驱动设计成功与否的衡量标准。驱动设计总体分为2层(服务层物理层):1、服务层为整个驱动的第一层,即应用程序调用驱动API后直接进入到这一层,这一层要完成的工作主要包括包的一些处理和封装,和硬件无直接联系,处理完成的包传递给下一层进行处理。2、物理层为服务层的下面一层,主要是和硬件打交道,这层将上一层传下来的包通过DMA将数据包下载到板卡中去。系统以Linux为开发环境,设计基于加密算法卡的驱动。使得应用程序可以通过驱动API接口将数据下载到板卡中进行加密。算法加密卡本身的加密速率可达到800MB/s。本文对整体软件和已经进行详细的测试,测试结果表明系统设计的驱动软件可以使得整体的加密速率达到600MB/s~700MB/s。达到最初的设计要求。

全文目录


摘要  5-6
ABSTRACT  6-10
第1章 绪论  10-15
  1.1 研究背景及意义  10
  1.2 国内外研究现状  10-12
  1.3 本文主要研究内容  12-15
第2章 硬件特点及相关原理概述  15-27
  2.1 MSI-X 中断介绍  15-17
  2.2 相关算法介绍  17-18
  2.3 PCI-E 总线  18-22
  2.4 PF/VF 通信  22-26
  2.5 LINUX 下设备驱动开发基本知识介绍  26
  2.6 本章小结  26-27
第3章 算法加密卡的硬件设计  27-39
  3.1 硬件系统框架  27-31
    3.1.1 PCI-e 芯片  27-28
    3.1.2 CPLD 控制模块  28
    3.1.3 密钥产生模块  28-29
    3.1.4 FPGA 模块  29
    3.1.5 DMA 模块  29-31
  3.2 驱动软件下载数据到板卡的通信协议  31-32
  3.3 COMMAND 结构体  32-34
  3.4 板卡将数据回传给驱动软件的通信协议  34-35
  3.5 源数据的封装格式  35-38
  3.6 本章小结  38-39
第4章 LINUX 下系统驱动软件设计  39-62
  4.1 软件设计的思路和指标  39-40
  4.2 软件框架的设计  40-43
  4.3 服务层的模块设计  43-50
    4.3.1 异步执行模块的设计和指标  43-46
    4.3.2 包处理模块的设计和指标  46-48
    4.3.3 结果接收模块设计和指标  48-50
  4.4 物理层的模块设计  50-53
    4.4.1 驱动框架模块的设计  50-51
    4.4.2 包传输模块设计  51-53
  4.5 辅助模块的设计  53-61
    4.5.1 事件处理模块的设计  53-54
    4.5.2 日志库模块的设计  54-55
    4.5.3 密钥管理模块  55-58
    4.5.4 对话管理模块  58-61
  4.6 本章小结  61-62
第5章 系统测试  62-68
  5.1 测试的主要内容  62
  5.2 影响性能的几个因素  62
  5.3 测试环境和配置  62
  5.4 系统的 API 测试和性能测试  62-63
  5.5 测试结果  63-67
  5.6 本章小结  67-68
第6章 总结和展望  68-69
  6.1 研究工作总结  68
  6.2 研究工作展望  68-69
致谢  69-70
参考文献  70-73
附录  73

相似论文

  1. 基于ARM9机车信号系统检测装置的设计与优化,U284.91
  2. 远程多轴步进电机控制驱动系统的研制,TM383.6
  3. 测井油泵无刷直流电动机稳速驱动系统,TM33
  4. 交流永磁电机的驱动策略对损耗影响的研究,TM351
  5. Windows内核态密码服务接口设计与实现,TP309.7
  6. JPEG图像的透明安全性研究,TP391.41
  7. 面向文景转换的角色动画生成技术研究,TP391.41
  8. 一类欠驱动Lagrangian系统的最优同步控制,TP13
  9. 四旋翼垂直起降机控制问题的研究,TP273
  10. 基于距离映射码的安全指纹认证研究,TP391.4
  11. 网位仪信号采集与处理平台的设计与实现,S951.2
  12. 情绪对视觉工作记忆表征稳定性的影响,B842.3
  13. 基于ANDROID的H.264视频编解码技术的研究与实现,TN919.81
  14. 安塞油田开发中后期井网调整优化技术研究,TE324
  15. 掺铒光纤放大器中泵浦激光器驱动源的研究应用,TN248
  16. 深水软管滚筒驱动装置结构及液压系统的研究,TE973
  17. 旋飞切割毁伤元高压驱动形成机理研究,TJ811
  18. 基于WINDOWS平台文件安全机制的研究,TP309
  19. IPsec VPN嵌入式硬件防火墙加密卡的应用研究,TP393.08
  20. 基于线阵CCD的非接触式直径测量系统研究,TH711
  21. 车辆四轮驱动系统研究及仿真分析,U464

中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 一般性问题 > 安全保密 > 加密与解密
© 2012 www.xueweilunwen.com