加密基于国密算法加密u盘的研究硕士学位论文

金士顿u盘真伪  时间:2021-01-23  阅读:()

摘 要

随着社会信息技术的高速发展数据存储与交换变得越来越频繁人们对数据存储安全也越来越重视。普通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垂直堆叠型接口Flash3D 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.02013年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:圣何塞10Gbps带宽服务器月付$109起,可升级1Gbps无限流量

spinservers是Majestic Hosting Solutions LLC旗下站点,主营国外服务器租用和Hybrid Dedicated等,数据中心在美国达拉斯和圣何塞机房。目前,商家针对圣何塞部分独立服务器进行促销优惠,使用优惠码后Dual Intel Xeon E5-2650L V3(24核48线程)+64GB内存服务器每月仅109美元起,提供10Gbps端口带宽,可以升级至1Gbp...

inlicloud48元/月,云主机,2核1G/200Mbps,可选安徽/上海联通/广州移动/江门移动NAT

inlicloud怎么样?inlicloud(引力主机)主要产品为国内NAT系列VPS,目前主要有:上海联通NAT(200Mbps带宽)、宿州联通NAT(200Mbps带宽)、广州移动NAT(200Mbps带宽)。根据官方的说法国内的NAT系列VPS不要求备案、不要求实名、对中转要求也不严格,但是,禁止任何形式的回国!安徽nat/上海联通/广州移动/江门移动nat云主机,2核1G/200Mbps仅...

LOCVPS全场8折,香港云地/邦联VPS带宽升级不加价

LOCVPS发布了7月份促销信息,全场VPS主机8折优惠码,续费同价,同时香港云地/邦联机房带宽免费升级不加价,原来3M升级至6M,2GB内存套餐优惠后每月44元起。这是成立较久的一家国人VPS服务商,提供美国洛杉矶(MC/C3)、和中国香港(邦联、沙田电信、大埔)、日本(东京、大阪)、新加坡、德国和荷兰等机房VPS主机,基于XEN或者KVM虚拟架构,均选择国内访问线路不错的机房,适合建站和远程办...

金士顿u盘真伪为你推荐
骁龙750g和765g哪个好骁龙730G和骁龙835、联发科Helio G90T哪个更好?麒麟990和骁龙865哪个好骁龙八65和麒麟990谁强一点?迈腾和帕萨特哪个好帕萨特和迈腾哪个车好?浮动利率和固定利率哪个好房贷须知:固定还是浮动利率好宝来和朗逸哪个好大众朗逸好还是宝来好三国游戏哪个好玩三国类的游戏哪些好玩点三国游戏哪个好玩三国游戏 什么最好玩?三国游戏哪个好玩三国类单机游戏哪个最好玩啊?网页传奇哪个好玩网页传奇哪个好玩 现在的传奇跟以前玩的都不一样了 总感觉没以前的有激情了无纺布和熔喷布口罩哪个好医用 口罩里面是无纺布好还是过滤纸好
个人虚拟主机 krypt 国内免备案主机 uk2 外国服务器 香港cdn godaddy优惠券 patcha win8.1企业版升级win10 全站静态化 admit的用法 服务器合租 1美金 七夕快乐英语 闪讯官网 阿里云官方网站 starry 智能dns解析 服务器论坛 镇江高防 更多