摘 要
随着社会信息技术的高速发展数据存储与交换变得越来越频繁人们对数据存储安全也越来越重视。普通U盘具有便于携带、价格实惠等优点但是存储在它上面的信息数据没有身份认证和加密算法保护一旦遗失或者被窃后果十分严重。针对普通U盘数据易泄漏以及国外加密算法可能存在的后门风险设计了一款基于国密算法SM4的按键加密U盘本文设计的加密U盘采用杭州华澜微科技有限公司自主研发的USB2.0安全控制器芯片S261作为主控采用按键身份认证电路 以嵌入式多媒体卡eMMC作为储存介质实现了存储在U盘中的信息数据的全硬件加密保护。介绍了USB系统结构、通信流模型及数据的控制传输和批量传输。根据主控S261芯片的硬件资源完成了加密U盘的整体架构包括eMMC存储模块、USB通信模块、 电源模块和采用PIC 16F688单片机实现的按键身份认证模块。 S261通过内置加密引擎调用国密算法SM4对数据进行加密后存储在eMMC上 eMMC上的密文通过S261解密后经过USB接口传递给主机。
在研究USB协议和eMMC协议的基础上完成了加密U盘的固件设计加密U盘的固件主要包括三个部分 SUP固件、CHP固件和PIC 16F688固件。 SUP固件负责和主机USB接口的通信调用国密算法SM4实现对数据的加解密和控制CHP CHP固件负责控制eMMC和接受SUP的命令完成eMMC的初始化及对eMMC的读写操作 CHP和eMMC之间的数据传递采用P ing-Pong传输提高了读写速度 PIC16F688固件实现用户的身份认证和用户密码的修改允许连续有限次的密码错误输入防止暴力破解和密码猜测。最后对按键加密U盘各个模块和整个系统进行了功能和性能上的测试测试结果表明该加密U盘的读写速度较普通U盘有很大的提高达到设计目标。
关键词加密U盘、 国密、嵌入式多媒体卡、按键身份认证、高速
AB STRAC T
With the rapid development o f information technology,data storage is becomingmore and more frequently.People are more and more attention to data storage security.Common U disk has some advantages, such as portable, affordable, but it has notauthentication and encryption algorithm to protect information data. If common Udisk is lost or stolen, it will result in very serious consequences.Data storing in thecommon U disk leaks easily and foreign encryption algorithm may exist backdoor risk.The key encryption U disk based on SM4 algorithm is developed to solve theseproblems. It adopts domestic self-developed USB2.0 encryption chip S261 as U diskmaster. The encryption U disk adopts key authentication circuit and embeddedmultimedia card (eMMC) as storage medium. It achieves information data fullhardware encryption protection. This paper introduces USB system structure,communication flow model,control transfer and bulk transfer.According to S261 chiphardware resources,we de s ign the overall architecture o f encryption U disk, inc ludingeMMC memory module,USB communication module, power module and keyauthentication module. S261 call encryption algorithm SM4 to encrypts data. Theciphertext is stored on the eMMC.The data is transferred to the computer through theUSB interface.
Studying USB protocol and eMMC protocol, we design the firmware ofencryption U disk.The firmware mainly includes three parts: SUP firmware,CHPfirmware and PIC 16F688 firmware. SUP firmware is responsible for communicationwith host USB interface, calling SM4 to encrypt and decrypt data.CHP firmware isresponsible for controlling eMMC and receiving SUP commands. CHP manageseMMC initialization and reading and writing operations. The Ping-Pong transferstrategy is used between S261 and eMMC to improve reading and writingperformance. PIC 16F688 firmware can implement user authentication and modifyuser password. It allows some times consecutive wrong password input, to preventbrute force and password guessing. Finally, encryption U disk is tested forfunctionality and performance.The experimentation results show that the reading andwriting speed of the U disk has been greatly improved compared with common U disk.This paper achieves the design goal.
Keywords:encryption U disk;SM4;embedded Multi-Media Card;high-speed;
目 录
摘 要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ABSTRACT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .I
目 录. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .II
第一章绪论. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .0
1.1选题背景及意义. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .0
1.2国内外研究状况. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2
1.3本文主要研究内容及章节安排. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
第二章加密U盘相关协议的研究. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
2.1 USB数据流模型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
2.1.1 USB系统结构. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
2.1.2 USB物理总线拓扑. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
2.1.3 USB逻辑总线拓扑. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
2.1.4 USB通信流模型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
2.2 USB数据传输类型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
2.2.1包及设备请求. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
2.2.2控制传输. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
2.2.3批量传输. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
2.2.4 Bus Hound捕捉命令解读. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
2.3本章小结. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15
第三章加密U盘的硬件设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16
3.1硬件设计框架. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16
3.2主控S261介绍. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17
3.2.1 S261构造及资源. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17
3.2.2加密算法单元. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18
3.2.3 SUP和CHP结构. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19
3.2.4存储设备空间分布. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22
3.3按键身份认证设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23
3.4电源模块设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24
3.4安全性设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25
3.4.1全硬件按键身份认证设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25
3.4.2固件安全设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25
3.4.3数据安全存储设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25
3.5本章小结. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26
第四章固件设计及实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27
4.1 SUP固件设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27
4.1.1 SUP主程序设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28
4.1.2控制传输处理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29
4.1.3批量传输处理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30
4.2 CHP固件设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32
4.2.1寄存器规划. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32
4.2.2主程序设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33
4.2.3 eMMC初始化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36
4.2.4读写数据设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37
4.2.5 SUP和CHP通信协议. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42
4.3按键身份认证设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44
4.3.1按键管理系统的功能. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44
4.3.2按键管理系统设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45
4.4本章小结. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47
第五章系统测试与分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48
5.1功能测试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48
5.2性能测试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50
5.2.1可靠性测试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50
5.2.2超稳定测试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50
5.2.3读写速度测试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51
5.3本章小结. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52
第六章总结与展望. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53
6.1工作总结. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53
6.2工作展望. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53
参考文献. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55
第一章绪论
1.1选题背景及意义
随着社会信息技术的高速发展数据存储与交换变得越来越频繁移动存储设备已经成为人们生活中必不可少的一部分。移动存储设备的发展也经历了几次革新从最初的纸质存储到后来的盒式磁带然后又出现了软盘和光盘[1] 。 自1999年深圳朗科科技公司生产出全球第一颗U盘以来[2] U盘就凭借着其巨大的优点在市场上流行起来。U盘采用US B接口支持热插拔传输速度很快USB2.0的最大传输带宽为60MB/s[3] 使用简便体积小容量大便于携带[4] 已经得到广泛使用成为移动存储和信息交换的重要数码存储产品。 目前市面上的U盘几乎全部采用NAND Flash作为存储介质[5] 但是NAND Flash芯片目前没有统一的标准不同厂商、不同制程的NAND Flash技术特性差别很大更为困难的是随着NAND Flash的制造工艺的不断升级需要更为强大的纠错硬件和复杂的Flash管理算法[6]进行支持这对U盘产品的稳定性、可靠性提出更高的要求不可避免地推迟了产品投放市场的周期。NAND Flash在存储介质领域一度非常流行发展也很迅速从最初的S LC(单层单元)到M LC(两层单元)到现在的TLC(三层单元) S LC、M LC和TLC每个单元分别可以存储1 b it、 2b it和3 b it存储密度越来越高成本也越来越低[7] 但是MLC和TLC存储单元的结构更加复杂存储数据更容易出错存储寿命变得更短。 目前Flash供应厂家开发了从高层向低层穿孔以连接电极的蚀刻技术以及将存储单元垂直围绕在各层板面上的门极结构技术等一系列独特并有突破性的工艺技术[8] 生产3D垂直堆叠型接口Flash3D V-NAND。将多至32片Flash和嵌入式多媒体卡eMMC控制器芯片直接封装成BGA形式大大提高了存储密度实现了高存储容量和高速接口。 目前单颗eMMC容量已经可以达到256GB并有不断增大的趋势[9] 。eMMC是在NAND Flash的基础上发展而来而且克服了Flash的某些缺点eMMC 内置控制器芯片具有统一的MMC接口协议。它采用焊球阵列封装
BGA 尺寸更小节省主板上的空间 内部由NAND Flash和微控制器单元
MCU组成 eMMC内部包含Flash存储管理算法比如建立映射表、坏块管理技术、磨损均衡技术、错误检测与纠正技术等[10] 。嵌入式工程师不必考虑Flash的技术特性和制程工艺无需处理复杂的Flash存储管理算法降低了嵌入式产品开发的复杂度缩短产品的上市周期。eMMC遵循eMMC协议eMMC协议是MMC协会制定的存储器标准规范
主要针对内嵌入式电子产品 比如手机、数码相机、智能手表等。 1998年1月十四家公司宣布成立MMC协会如今已经成为一个国际性组织所制定的协议规范已经成为行业的标准[11] 。 eMMC协议标准从eMMC 4.3发展到eMMC5.02013年7月三星发布收款eMMC 5.0存储产品其总线带宽已经提升至400MB/s。eMMC标准主要为了解决Flash制程技术升级带来的可靠性、质量降低的问题满足用户对高速、大容量存储的需求。 eMMC具有低功耗高读写速度尺寸小等优点 目前在读写性能和容量方面较NAND Flash有较大的优势同时有利于产品迅速进入市场和更新换代。 目前少数U盘厂商也开始采用单张eMMC作为存储介质[12] 。
近年来各种信息泄露事件不断涌现比如“棱镜门”事件好莱坞艳照门事件等。个人信息泄露给人们带来严重的伤害因此人们更加注重对自己信息数据的保护。普通U盘由于其中存储的信息数据没有身份认证和安全保护一旦遗失或者被窃后果十分严重。常见的加密U盘大都采用国外加密算法AES 3DES来对数据进行加密这种加密算法安全性很高但是国外的加密算法可能存在后门风险[13] 。本文设计的加密U盘采用国密SM4分组密码算法 SM4算法是我国自主研制的分组对称密码算法 2006年由国家密码管理局公布不存在后门风险 由于该算法是我国自主研发而且公布时间比较晚相对于AES算法社会上的科研机构对SM4算法的研究还比较少所以该算法具有很高的安全性。SM4算法将会广泛应用在政府部门、 国企和学校等机构[14] 。
为了实现U盘的数据安全和大容量存储本文设计的加密U盘采用国产自主设计的主控芯片S261以eMMC为存储介质通过系统硬件设计和固件设计完成整个加密U盘的设计。 S 261创新的采用双核架构设计S UP和C HP S UP负责US B接口的通信和控制CHP CHP负责管理eMMC S 261内置支持国密SM4算法的加密引擎加密U盘采用硬件加密的方式数据以密文的形式存储在eMMC上本文设计的加密U盘采用PIC 16F688单片机管理按键完成硬件方式的身份认证这种方式的最大优点是将身份认证工作由硬件完成无需主机端安装任何驱动或软件杜绝了恶意软件对身份认证信息的破解风险具有更高的安全性[15] 。按键MCU在设计上设定密码失败尝试次数最高值为10次 当达到此设定值的时候通知S261芯片进行数据擦除和销毁动作防止资料泄密和保证加密U盘上存储的信息数据的安全性。 目前加密U盘主要应用在政府的保密部门、企业的重要部门以及高端消费者但随着eMMC价格的不断下降以及人们生活水平的提高该加密U盘凭借着安全、大容量及高速的优点将会有广阔的市场前景。
1.2国内外研究状况
国内对于加密U盘的研究起步比较晚近几年随着企业及科研机构对安全存储设备研究的投入加大已经取得了很多成果。但同国外的安全产品比较国内的安全移动存储产品在可靠性读写速度及安全性方面还有一定的差距[16] 。
常见的加密U盘可分为三种假加密软件加密以及硬件加密[17] 。假加密只有一个口令验证以明文存储在闪存介质上数据容易恢复安全性差。软件加密是指通过安装加密软件对存储的数据进行加密一般采用AES或3 DES算法以密文的形式储存在闪存上但是由于加密过程在电脑端完成仍然存在被截获的安全隐患。硬件加密是通过主控芯片对存储设备里的数据进行加密芯片一般内置支持AES 3 DES或国密算法的加密引擎这种加密方式的U盘能够防止数据恢复、暴力破解等功能[18] 。主控芯片通过加载加密算法固件实现加解密功能加密算法的密钥是随机生成的数据加密过程在芯片内部完成以密文的形式储存在设备介质中所以几乎不会被破解硬件加密安全级别最高而且硬件加密几乎不影响读写速度。 国内的加密U盘主要采用软件加密的方案[19] 如忆捷科技、台电科技、联想等厂商生产的U盘采用软件加密的方式这些U盘自带加密软件运行加密软件后可以设置加密分区和公共分区设置修改密码口令用户可以直接访问加密U盘的公共分区如果要访问加密分区则需要运行加密软件而且输入正确的密码口令后才能访问 国际上加密U盘多采用软件加密的手段比如Check Point公司的Check Point Media Encryption Smart Line公司的Device Lock等安全存储产品[20] 软件加密的方案在一定程度保护着用户数据的安全但是还存在着被电脑病毒截取的风险而且需要借助加密软件配合用户使用不方便。
目前常见的加密U盘在身份认证和信息数据存储两个重要环节均存在一定的风险。具体表现为在身份认证上多采用软件身份认证 即应用程序弹出窗口提示输入口令完成身份认证软件身份认证存在着应用程序被黑客或恶意程序监控破解的风险[21] 。信息数据的存储主要存在三种形式一种是明文或者扰码存储容易被破解和恢复一种是加解密操作需要借助应用程序或者驱动程序完成这种方式会使存储性能下降、应用环境受限即使这样信息数据还是存在被截获和分析的风险一种是采用内置国外加密算法例如DES AES等的控制器数据在芯片内部完成加解密操作以密文形式存储其风险相对较低但是国外安全算法可能存在安全后门的隐患[22] 。
目前对于硬件加密U盘的研究主要专注于按键加密U盘和指纹加密U盘这两方面它们都采用Flash作为存储介质而且主控芯片采用AES或3DES加密算法[23] 这种加密U盘安全性最高价格也比较昂贵。 国外对安全移动存储产
品的研究领先于国内加密U盘采用AES256加密算法。海盗船公司的航海家加密U盘金士顿公司的D TLP G3系列加密U盘和朗科科技的U618加密U盘都是采用硬件加密的方式[24] 安全性最高但是这些加密U盘都是采用NANDFlash作为存储介质而且采用AES加密算法对存储数据进行加解密。
1.3本文主要研究内容及章节安排
本文针对用户的实际需求设计一款大容量按键加密U盘采用芯片S261作为主控为了防止国外加密算法可能存在的后门风险本文采用国密SM4算法 以eMMC作为存储介质 eMMC具有低功耗高读写速度尺寸小等优点为了更大的扩展容量本文研究的加密U盘采用两张eMMC作为存储介质 以RAID0方式进行操作读写操作被两张eMMC并行执行更大地提高了加密U盘的性能和容量。通过PIC16F688单片机实现按键身份认证通过硬件设计和固件设计完成整个加密U盘的设计。实现U盘的数据安全和大容量存储为采用eMMC存储介质的安全移动存储设备提供了一个完整的解决方案。
第一章绪论。介绍了本课题研究的背景和意义对加密U盘的研究现状进行了分析 比较了不同加密方式的优缺点。然后介绍了eMMC的发展状况研究了加密U盘采用eMMC作为存储介质的优势。
第二章加密U盘相关协议的研究。加密U盘采用USB接口与主机通信遵循USB协议研究了USB系统结构、数据流模型、标准命令请求及SCSI命令集通过Bus Hound捕捉U盘通信时发送的命令与数据包解读其具体含义研究U盘的工具原理。重点研究了US B协议的控制传输和批量传输。
第三章加密U盘的硬件设计。介绍了主控S261构造和硬件资源设计出加密U盘的硬件框架然后分别完成各个硬件模块的设计包括按键身份模块、电源模块、USB电压转换电路和其他外围电路设计。
第四章固件设计及实现。根据S261硬件资源和USB协议完成SUP固件设计实现U盘的控制传输和批量传输。根据eMMC协议完成eMMC的初始化读写数据程序设计读写函数采用P ing-Pong设计提高了CHP的F IFO利用率进而提高了U盘的读写速度。完成了PIC16F688的程序设计实现了加密U盘的按键身份认证。
第五章系统测试与分析。对本文设计的加密U盘从功能和性能两方面进行测试通过可靠性测试、超稳定测试和读写速度测试分析测试结果。
第六章总结与展望。对本课题的研究工作进行了总结并对其今后的研究方向进行了展望。
第二章加密U盘相关协议的研究
2.1 USB数据流模型
2.1.1 USB系统结构
一个US B系统由主机、接口和设备三个部分组成。主机通过接口来控制设备设备根据从主机收到的命令来执行相应的操作 USB系统中命令和数据的传输都是通过接口来完成。主机一般是电脑和O TG设备一个US B系统中只能有一个主机但是一个主机可以连接多个设备。US B系统按逻辑可分为三层功能层、USB设备层和USB总线接口层[25] USB的系统结构如图2.1所示。
主机 接口 设备
图2.1 USB系统结构
2.1.2 USB物理总线拓扑
USB设备和主机的物理连接是通过分层的星型拓扑结构[26] 如图2.2所示。USB连接点由一类特殊的被称为集线器Hub的设备提供 由集线器提供的额外的连接点被称为端口。主机包含一个根集线器主机通过根集线器提供一个或
spinservers是Majestic Hosting Solutions LLC旗下站点,主营国外服务器租用和Hybrid Dedicated等,数据中心在美国达拉斯和圣何塞机房。目前,商家针对圣何塞部分独立服务器进行促销优惠,使用优惠码后Dual Intel Xeon E5-2650L V3(24核48线程)+64GB内存服务器每月仅109美元起,提供10Gbps端口带宽,可以升级至1Gbp...
inlicloud怎么样?inlicloud(引力主机)主要产品为国内NAT系列VPS,目前主要有:上海联通NAT(200Mbps带宽)、宿州联通NAT(200Mbps带宽)、广州移动NAT(200Mbps带宽)。根据官方的说法国内的NAT系列VPS不要求备案、不要求实名、对中转要求也不严格,但是,禁止任何形式的回国!安徽nat/上海联通/广州移动/江门移动nat云主机,2核1G/200Mbps仅...
LOCVPS发布了7月份促销信息,全场VPS主机8折优惠码,续费同价,同时香港云地/邦联机房带宽免费升级不加价,原来3M升级至6M,2GB内存套餐优惠后每月44元起。这是成立较久的一家国人VPS服务商,提供美国洛杉矶(MC/C3)、和中国香港(邦联、沙田电信、大埔)、日本(东京、大阪)、新加坡、德国和荷兰等机房VPS主机,基于XEN或者KVM虚拟架构,均选择国内访问线路不错的机房,适合建站和远程办...