中文摘要 | 第3-5页 |
英文摘要 | 第5-6页 |
1 绪论 | 第10-18页 |
1.1 研究背景 | 第10-12页 |
1.2 国内外研究现状 | 第12-15页 |
1.3 论文主要研究内容 | 第15-18页 |
1.3.1 论文所做工作 | 第15页 |
1.3.2 论文结构 | 第15-18页 |
2 相关技术与原理 | 第18-38页 |
2.1 SSL/TLS | 第18-23页 |
2.1.1 握手协议(Handshake Protocol) | 第18-21页 |
2.1.2 改变密码规格协议(ChangeCipherSpec Protocol) | 第21页 |
2.1.3 告警协议(Alert Protocol) | 第21-22页 |
2.1.4 记录协议(Record Protocol) | 第22-23页 |
2.2 加密算法 | 第23-31页 |
2.2.1 AES-CBC | 第23-25页 |
2.2.2 AES-GCM | 第25-29页 |
2.2.3 3DES | 第29-31页 |
2.3 信息摘要算法 | 第31-34页 |
2.4 QAT(QuickAssist Technology)技术 | 第34-36页 |
2.4.1 QAT概述 | 第34页 |
2.4.2 QAT硬件加密编程模型 | 第34-35页 |
2.4.3 QAT应用场景 | 第35-36页 |
2.5 本章小结 | 第36-38页 |
3 ARM加解密硬件加速系统整体设计方案 | 第38-52页 |
3.1 系统概述 | 第38页 |
3.2 系统设计原则和目标 | 第38-39页 |
3.2.1 系统设计原则 | 第38页 |
3.2.2 系统设计目标 | 第38-39页 |
3.3 系统技术架构设计 | 第39页 |
3.4 系统整体框架设计 | 第39-41页 |
3.4.1 OpenSSL子系统描述 | 第40-41页 |
3.4.2 CryptoDev子系统描述 | 第41页 |
3.4.3 驱动程序子系统描述 | 第41页 |
3.5 子系统接口设计 | 第41-50页 |
3.5.1 WebServer与OpenSSL交互接口设计 | 第41-43页 |
3.5.2 OpenSSL与CryptoDev交互接口设计 | 第43-46页 |
3.5.3 CryptoDev与硬件加密引擎驱动交互接口设计 | 第46-50页 |
3.6 本章小结 | 第50-52页 |
4 ARM加解密硬件加速原型系统的设计与实现 | 第52-70页 |
4.1 硬件加密引擎驱动的实现 | 第52-64页 |
4.1.1 设备对象和驱动对象的创建 | 第52-54页 |
4.1.2 初始化设备驱动程序 | 第54-56页 |
4.1.3 加密算法实现 | 第56-61页 |
4.1.4 Hash算法实现 | 第61-63页 |
4.1.5 中断实现 | 第63-64页 |
4.1.6 注销设备驱动程序 | 第64页 |
4.2 OpenSSL与CryptoDev交互接口的实现 | 第64-68页 |
4.2.1 OpenSSL层调用硬件实现算法的初始化 | 第65页 |
4.2.2 OpenSSL层非AEAD加密硬件接口实现 | 第65-66页 |
4.2.3 OpenSSL层认证加密(AEAD)硬件接口实现 | 第66-68页 |
4.2.4 OpenSSL层信息摘要算法硬件接口实现 | 第68页 |
4.3 本章小结 | 第68-70页 |
5 ARM加解密硬件加速原型系统的测试与分析 | 第70-84页 |
5.1 测试概述 | 第70页 |
5.2 测试环境和测试方案 | 第70-73页 |
5.2.1 硬件环境 | 第70-71页 |
5.2.2 软件环境 | 第71页 |
5.2.3 OpenSSL层测试方案 | 第71-72页 |
5.2.4 端到端测试方案 | 第72-73页 |
5.3 测试结果 | 第73-83页 |
5.3.1 OpenSSL层测试结果 | 第73-79页 |
5.3.2 端到端测试结果 | 第79-83页 |
5.4 本章小结 | 第83-84页 |
6 总结与展望 | 第84-86页 |
6.1 工作总结 | 第84页 |
6.2 工作展望 | 第84-86页 |
致谢 | 第86-88页 |
参考文献 | 第88-92页 |
附录 | 第92页 |
A. 作者攻读学位期间发表论文情况 | 第92页 |