移动硬盘数据加解密系统
- 格式:pdf
- 大小:188.37 KB
- 文档页数:5
u盘加密解密最简单方法U盘加密解密是一种保护个人隐私和数据安全的重要手段。
在日常生活和工作中,我们经常需要在多个设备之间传输数据,而U盘作为一种便携式存储设备,被广泛应用于各个领域。
但是,由于其易丢失、易遭受病毒感染等特点,U盘中的数据往往会面临安全风险。
为了保护U盘中的数据安全,加密解密成为了必不可少的步骤之一。
在这篇文章中,我将介绍几种简单易行的U盘加密解密方法,帮助大家有效地保护个人隐私和数据安全。
一、BitLocker加密(适用于Windows系统)BitLocker是微软公司推出的一种全盘加密解决方案,适用于Windows Vista及以上版本。
它能够通过加密整个U盘上的数据来保护用户的隐私。
使用BitLocker加密U盘的步骤如下:1.连接U盘到计算机并打开资源管理器。
2.右键点击U盘并选择“加密”选项。
3.设置加密密码并按照向导完成加密过程。
二、VeraCrypt加密(适用于Mac、Linux和Windows系统)VeraCrypt是一个免费且开源的加密软件,支持多种操作系统。
它可以在U盘上创建一个加密的虚拟磁盘,并将文件和文件夹加密存储在其中。
使用VeraCrypt加密U盘的步骤如下:1.下载并安装VeraCrypt软件。
2.打开VeraCrypt,并选择“创建容器”选项。
3.选择一个位置和文件名,设置容器的大小。
4.设置容器的密码和加密算法。
5.完成虚拟磁盘的创建后,将其挂载到U盘上。
三、加密软件(适用于Windows系统)除了BitLocker和VeraCrypt,还有许多其他的加密软件可供选择,比如TrueCrypt、AxCrypt等。
这些软件通常都提供了用户友好的界面和易于使用的功能,可以方便地加密和解密U盘中的数据。
四、硬件加密U盘硬件加密U盘是一种具有内置加密芯片的U盘,它能够在不暴露用户密码的情况下自动加密和解密数据。
使用硬件加密U盘的步骤如下:1.连接硬件加密U盘到计算机。
移动硬盘加密软件大揭秘—各类评测、对比、内幕== 版权所有转载请注明出处==目录第一部分加密概述 (3)1. 加密的由来 (3)2. 加密的概念 (3)3. 加密技术 (3)4. 对称加密算法 (4)4.1 概述 (4)4.2 AES算法原理 (5)4.3 AES与3DES比较 (5)第二部分移动硬盘加密产品 (5)1. 产品分类 (5)1.1 微软操作系统自带的加密功能 (5)1.2 硬件厂商自带型 (6)1.3 基于文件夹型 (11)1.4 基于系统驱动型 (13)第三部分移动硬盘加密产品总结对比 (16)第一部分加密概述1. 加密的由来据记载,公元前400年,古希腊人发明了置换密码。
1881年世界上的第一个电话保密专利出现。
在第二次世界大战期间,德国军方启用“恩尼格玛”密码机,密码学在战争中起着非常重要的作用。
随着信息化和数字化社会的发展,人们对信息安全和保密的重要性认识不断提高,于是在1997年,美国国家标准局公布实施了“美国数据加密标准(DES)”,民间力量开始全面介入密码学的研究和应用中,采用的加密算法有DES、RSA、SHA等。
随着对加密强度需求的不断提高,近期又出现了AES、ECC等。
使用加密可以达到以下目的:●保密性:防止用户的标识或数据被读取。
●数据完整性:防止数据被更改。
●身份验证:确保数据发自特定的一方。
2. 加密的概念数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为“密文”,使其只能在输入相应的密钥之后才能显示出本来内容,通过这样的途径来达到保护数据不被非法人窃取、阅读的目的。
该过程的逆过程为解密,即将该编码信息转化为其原来数据的过程。
3. 加密技术加密技术包括两个元素:算法和密钥。
算法是将普通的文本(或者可以理解的信息)与一串数字(密钥)的结合,产生不可理解的密文的步骤,密钥是用来对数据进行编码和解码的一种算法。
在安全保密中,可通过适当的密钥加密技术和管理机制来保证网络的信息通讯安全。
移动硬盘解密最简单方法【导语】移动硬盘作为数据存储的重要工具,其安全性备受关注。
在使用过程中,我们可能会遇到硬盘加密导致数据访问受限的问题。
本文将为您介绍一种简单易行的移动硬盘解密方法,帮助您在确保数据安全的前提下,便捷地访问硬盘内容。
### 移动硬盘解密最简单方法#### 1.确定硬盘加密类型首先,需要确认您的移动硬盘使用的是哪种加密方式。
常见的加密类型有硬件加密和软件加密。
硬件加密通常需要特定的解密工具或密码,而软件加密则可以通过以下方法尝试解密。
#### 2.使用BitLocker解密(以Windows系统为例)如果您的移动硬盘使用的是Windows系统的BitLocker加密,可以按照以下步骤进行解密:1.将移动硬盘连接到电脑。
2.打开“此电脑”,找到已连接的移动硬盘。
3.右键点击移动硬盘,选择“管理BitLocker”。
4.输入加密时设置的密码,点击“解锁”。
5.解锁成功后,移动硬盘中的数据即可正常访问。
#### 3.使用第三方解密工具如果您的移动硬盘使用的是其他加密软件,可以尝试使用以下第三方解密工具:1.DiskGenius2.AOMEI Backupper3.TrueCrypt(仅适用于部分操作系统)使用第三方解密工具时,请确保下载正规渠道的软件,避免数据泄露风险。
#### 4.联系专业数据恢复公司如果以上方法都无法解密您的移动硬盘,建议联系专业的数据恢复公司进行处理。
他们拥有丰富的经验和专业的设备,可以帮您解决大部分数据恢复问题。
#### 注意事项:1.解密过程中,请确保数据安全,避免密码泄露。
2.使用第三方解密工具时,注意保护个人隐私和知识产权。
3.如遇重要数据,请谨慎操作,避免数据损坏。
通过以上方法,相信您已经可以轻松解密移动硬盘。
在使用移动硬盘时,请合理设置密码和加密方式,确保数据安全。
u盘加密解密最简单方法:
方法一:使用U盘加密工具
1.下载并安装U盘加密工具,如bitlocker或加密大师。
2.打开加密工具并选择需要加密的U盘。
3.根据工具提示输入密码并加密U盘。
4.使用加密的U盘时需要输入密码才能访问。
方法二:使用电脑自带加密功能
1.将U盘插入电脑并打开“我的电脑”或“计算机”。
2.右键点击需要加密的U盘并选择“启用BitLocker”。
3.在BitLocker驱动器加密窗口中,勾选“使用密码解锁驱动器”选项。
4.输入密码并点击“下一步”。
5.在恢复密钥保存窗口中,选择保存路径并点击“保存”。
6.点击“下一步”并在弹出的窗口中勾选“将更改应用于此驱动器”选项。
7.点击“启动加密”并等待加密完成。
方法三:使用命令提示符(CMD)加密U盘
1.将U盘插入电脑并在桌面点击“开始”按钮打开运行窗口。
2.在运行窗口中输入CMD并回车进入命令提示符界面。
3.在CMD界面输入命令“diskpart”并回车。
4.输入命令“list disk”并回车查看电脑中所有磁盘。
5.根据磁盘容量等标识找到需要加密的U盘所对应的磁盘,输入命令“select disk X”(X为U盘
所对应的磁盘编号)。
6.输入命令“attributes disk clear readonly”并回车,此时U盘已成功加密。
移动硬盘加密原理
移动硬盘加密技术基于数据加密原理,通过将移动硬盘上的数据进行加密处理,以确保只有授权用户能够访问和解密这些数据,提高数据的安全性。
具体来说,移动硬盘加密一般采用对称加密和非对称加密相结合的方式:
1. 对称加密:对称加密算法使用相同的密钥进行数据的加密和解密,加密和解密的速度较快。
在移动硬盘加密中,用户可以设置一个密钥作为加密的基础,使用对称加密算法对硬盘上的数据进行加密,只有使用相同密钥进行解密的用户才能够正确读取和修改数据。
2. 非对称加密:非对称加密算法使用一对公钥和私钥进行数据的加密和解密。
在移动硬盘加密中,移动硬盘会生成一对密钥,其中一个是公钥,另一个是私钥。
用户可以将自己的公钥上传给硬盘,用以加密数据。
而解密数据则需要使用与公钥匹配的私钥进行解密,只有持有正确私钥的用户才能够解密移动硬盘上的数据。
除了对称加密和非对称加密算法外,移动硬盘加密还可能涉及其他技术,如哈希算法用于验证数据的完整性,密钥管理的技术用于保护密钥的安全等。
总之,移动硬盘加密通过使用加密算法、密钥管理等技术,对
硬盘上的数据进行加密处理,以保证数据的机密性和完整性,防止未经授权的访问和篡改。
首先,在开始-运行里输入CMD打开命令提示符,进入你那个硬盘(如进入X盘,就输入X:再回车)。
然后输入CD Thumbs.dn回车,进入Thumbs.dn文件夹。
再输入命令attrib -s -r -h desktop.ini 回车,去除desktop.ini的只读、隐藏、系统属性(东西消失不见都是他搞的鬼!!)。
最后,输入DEL desktop.ini,删除这个文件,大功告成!!!你先在文件夹选项里去掉“不显示受保护的系统文件”前的勾,再选择“显示所有文件和文件夹”,进入你那个被加密的盘,进入Thumbs.dn 文件夹。
你会发现里面有许多诸如 1.{2227a280-3aea-1069-a2de-08002b30309d}、2.{2227a280-3aea-1069-a2de-08002b30309d}的文件,把这些文件后的尾巴(就是“.{2227a280-3aea-1069-a2de-08002b30309d}”)统统删掉。
至此,破解结束。
你打开这些文件夹看看,加密的文件又找回来了!另类方法破解移动加密近日闲来无事,顺手翻看了2006年4月份的《破解移动加密》一文,该文破解的加密软件与我用的极为相似,引起了我的极大兴趣。
看了一遍文章,又翻出光盘,将文中所涉及的两个软件全找出来,正是我所用的U盘移动硬盘加密工具绿色版。
该文给我的最大启发是使用Wi最近无聊,又翻看了《破解“移动加密”》一文,该文引起了我很大兴趣。
该文给我的最大启发是使用WinRAR打开Thumbs.db文件。
我先尝试破解高强度文件夹加密大师的移动加密,然后再破解U盘移动硬盘加密工具绿色版。
如作者TaShanEnjoy所言,高强度文件夹加密大师的加密密码规律非常简单,而U 盘移动硬盘加密工具绿色版的加密规律就不那么容易看出来。
先说说高强度文件夹加密大师吧。
使用它加密文件夹后,我们只要按照TaShanEnjoy所讲的去掉Thumbs.db的尾巴,再用WinRAR删除其中的desktop.ini文件。
移动硬盘也可以加密移动硬盘也可以加密笔者从事广告设计,经常需要在公司和家里的电脑上转存数据,于是买了一块40GB移动硬盘,并将很多私人数据保存在里面,但此时却带来了安全隐患。
如果移动硬盘丢失,或外出时遗忘在公司,难免会被他人窃取数据。
尽管闪存具有加密功能,但容量太小,加密型移动硬盘价格昂贵。
在借助加密软件后,笔者的移动硬盘也具备了加密功能。
“U 盘超级加密”是一款移动设备加密软件,可以对闪存、移动硬盘、读卡器甚至手机存储卡进行加密。
对移动设备进行加密后,可以在任何一台机器上使用,如果不进行解密,任何人都无法看到和使用移动设备里的数据。
在使用之前,强烈建议在FAT32格式下使用加密功能,以获得更好的加密强度,但在默认情况下,多数移动硬盘采用了NTFS 格式,需要进行分区格式的转换。
首先将移动硬盘连接到电脑上,确保供电正常的情况下,将移动硬盘里的数据备份到电脑硬盘上,然后对移动硬盘进行FAT32格式化,格式化之后,将数据再次拷贝到移动硬盘即可。
下载“U盘超级加密”软件后解压,并将文件目录下的“UDE.EX E文件放置到移动硬盘的根目录下,千万不要放到移动硬盘的文件夹下,否则无法使用加密功能。
必须注意,为了让加密功能有效,移动硬盘只允许一个分区存在,如果你的移动硬盘具有多个分区,此时系统会将移动硬盘视为多个“本地磁盘”(如图1),而不是显示为“可移动磁盘” 设备,为此建议使用“ PartionMagic ”分区软件,在Windows系统下对分区进行合并。
在移动硬盘里直接执行“UDE.EXE程序,此时会弹出一个登录界面,在输入框中输入默认密码(默认密码为888888),然后点“确定”按钮(如图2),此时登录了软件解密界面。
为了安全考虑,建议修改加密密码,如果要加密整个移动硬盘,只要点“全盘加密”即可。
如果只想对某些私人文件进行加密,可以选中需要加密的文件夹,然后点“单个加密” 图标,此时被加密的文件夹就会在右边窗口显示(如图3)。
思科认证:常见硬盘加密解密方法一、修改硬盘分区表信息硬盘分区表信息对硬盘的启动至关重要,如果找不到有效的分区表,将不能从硬盘启动或即使从软盘启动也找不到硬盘。
通常,第一个分区表项的第0子节为80H,表示C盘为活动DOS分区,硬盘能否自举就依*它。
若将该字节改为00H,则不能从硬盘启动,但从软盘启动后,硬盘仍然可以访问。
分区表的第4字节是分区类型标志,第一分区的此处通常为06H,表示C盘为活动DOS分区,若对第一分区的此处进行修改可对硬盘起到一定加密作用。
具体表现在:1.若将该字节改为0,则表示该分区未使用,当然不能再从C盘启动了。
从软盘启动后,原来的C盘不见了,你看到的C盘是原来的D盘,D盘是原来的E盘,依此类推。
2.若将此处字节改为05H,则不但不能从硬盘启动,即使从软盘启动,硬盘的每个逻辑盘都不可访问,这样等于整个硬盘被加密了。
另外,硬盘主引导记录的有效标志是该扇区的最后两字节为55AAH。
若将这两字节变为0,也可以实现对整个硬盘加锁而不能被访问。
硬盘分区表在物理0柱面0磁头1扇区,可以用Norton for Win95中的Diskedit直接将该扇区调出并修改后存盘。
或者在Debug下用INT 13H的02H子功能将0柱面0磁头1扇区读到内存,在相应位置进行修改,再用INT 13H的03H子功能写入0柱面0磁头1扇区就可以了。
上面的加密处理,对一般用户来讲已足够了。
但对有经验的用户,即使硬盘不可访问,也可以用INT 13H的02H子功能将0柱面0磁头1扇区读出,根据经验将相应位置数据进行修改,可以实现对硬盘解锁,因为这些位置的数据通常是固定的或有限的几种情形。
另外一种保险但显得笨拙的方法是将硬盘的分区表项备份起来,然后将其全部变为0,这样别人由于不知道分区信息,就无法对硬盘解锁和访问硬盘了。
二、对硬盘启动加口令我们知道,在CMOS中可以设置系统口令,使非法用户无法启动计算机,当然也就无法使用硬盘了。
Win7技巧 BitLocker给移动硬盘加密2篇Win7技巧:BitLocker给移动硬盘加密第一篇:BitLocker简介和用法BitLocker是Windows操作系统内置的一种加密工具,可以用于加密Windows系统的磁盘驱动器和移动存储设备,如移动硬盘。
通过使用BitLocker,用户可以更加安全地存储和传输数据,避免数据泄露和盗取的风险。
要在Win7上给移动硬盘加密,首先需要确保你的电脑系统是Windows 7企业版、Windows 7专业版或Windows 7旗舰版。
这些版本都支持BitLocker功能。
如果你的电脑系统是Windows 7家庭普通版或家庭高级版,那么就无法使用BitLocker进行加密。
在使用BitLocker前,你还需要准备一个可用的USB闪存驱动器,用于保存恢复密钥。
恢复密钥是在遗忘加密密码或发生其他无法正常启动操作系统的情况下,用于访问加密数据的重要凭证。
请确保将这个USB闪存驱动器妥善保存,并将它与移动硬盘分开存放,以免一旦丢失或损坏导致无法恢复数据。
接下来,我们来看一下具体的操作步骤。
第一步是插入移动硬盘到电脑。
确保移动硬盘已经正确连接到电脑的USB接口。
第二步,打开“计算机”或“我的电脑”,找到移动硬盘所在的驱动器。
第三步,右键点击该驱动器,选择“启用BitLocker”。
第四步,系统会提示你输入一个加密密码,这个密码将用于对移动硬盘进行加密和解密。
请尽量使用强壮的密码,并确保牢记。
输入密码后,点击“下一步”。
第五步,系统将提示你选择保存恢复密钥的位置。
请选择“保存到文件”,然后选择一个合适的位置保存恢复密钥文件,一般是保存到你的USB闪存驱动器。
不要勾选“打印恢复密钥”,以防泄露密钥。
第六步,系统会提示你选择加密模式。
如果你只是希望将移动硬盘连接到你的电脑上使用,那么请选择“使用硬件加密”。
如果你打算将移动硬盘连接到多台电脑上使用,那么请选择“新建加密启动器”,系统会自动创建一个可执行文件,你可以将它复制到其他电脑上运行来解密你的移动硬盘。
西数移动硬盘加密原理
西数(Western Digital)移动硬盘的加密原理主要是依靠硬件
加密芯片和软件加密技术相结合来实现数据加密保护的。
具体来说,西数移动硬盘采用了硬件加密芯片,这些加密芯片内置了加密算法
和密钥管理功能,能够对存储在硬盘上的数据进行加密和解密操作。
同时,西数还提供了软件加密工具,用户可以通过设置密码和访问
控制策略来对硬盘中的数据进行加密保护。
在硬件加密方面,西数移动硬盘采用了先进的加密算法,比如AES(高级加密标准)等,这些算法能够对数据进行强大的加密保护,保障数据的机密性和完整性。
硬件加密芯片还负责管理加密密钥,
确保只有授权用户才能够进行解密操作,有效防止未经授权的访问。
在软件加密方面,西数移动硬盘提供了易于使用的加密工具,
用户可以通过设置密码和访问控制策略来对硬盘中的数据进行加密
保护。
这些软件工具能够与硬件加密芯片进行配合,提供更加灵活
的加密管理和访问控制功能,满足用户对数据安全的个性化需求。
总的来说,西数移动硬盘的加密原理是通过硬件加密芯片和软
件加密技术相结合,采用先进的加密算法和密钥管理功能,来保护
存储在硬盘上的数据安全。
这种综合的加密保护机制能够有效防止
数据泄露和未经授权的访问,为用户的数据安全提供了可靠的保障。
基于MEMS强链和FPGA的USB移动硬盘数据加解密系统张晶,陈文元,张卫平(上海交通大学微纳科学技术研究院 薄膜与微细技术教育部重点实验室 微米/纳米加工技术国家级重点实验室,上海200030)摘要:随着信息量的急剧增长,信息安全日益受到人们重视。
一个完整的数据加解密系统应该具备安全可靠的密码认证机制和加解密算法。
本文基于MEMS强链、USB控制器和FPGA设计了一种USB接口的高效数据加解密系统,采用AES加密算法。
普通IDE硬盘挂接该系统后成为安全性极高的加密USB移动硬盘,其平均数据吞吐率接近普通U盘,达到10MB/s。
关键词:MEMS AES USB FPGA IDE中图分类号:TP309 文献标识码:AData Encryption System for USB Mobile HardDisk Based on MEMS Stronglink and FPGAZHANG Jing, CHEN Wen-yuan(Thin Films & Micro fabrication Lab, Key Lab of the Ministry of Education, National Key Lab of Nano/Micro Fabrication Tech, Res Inst of Micro/Nano Sci and Tech,Shanghai Jiaotong University, Shanghai, 200030, China)Abstract: With the explosion of information, information security increasingly becomes evident. A complete data encryption system must consists of a reliable authentication mechanism and an advanced encryption algorithm. In this paper, we will introduce a new fast encryption system based on MEMS stronglink, USB controller and FPGA and its crypto algorithm is AES. A common IDE harddisk attached on this system becomes a very safe USB mobile encrypted harddisk, and the data throughput rate of it achieves 10MB/s, closed to any common USB flash disk in the market.Key Words: MEMS AES USB FPGA IDE1.系统结构布局该系统由Cypress CY7C68013 USB2.0控制器、Altera EP2C35 FPGA和MEMS强链构成,图1描述了整个系统的硬件布局。
图1 系统结构框架图Fig1 General layout diagram of systemMEMS强链负责对用户输入的密码进行验证。
CY7C68013 USB控制器内含增强型51核,它不但能高效处理USB协议事务,而且是整个系统的控制中心。
EP2C35 FPGA一端连接USB控制芯片的GPIF接口,一端连接IDE硬盘,它负责从IDE总线中区分出控制信号、读写硬盘寄存器的数据信号和读写硬盘扇区的数据信号,然后仅对写入硬盘扇区的数据作加密处理,对读出硬盘扇区的数据作解密处理。
2.MEMS强链MEMS强链的棘爪能卡住棘轮,从而能精确定位到固定的位置,棘爪装有电磁驱动型电机,使其具有误码鉴别与自复位功能,因而可用于信息安全,实现密码锁的功能。
鉴码机构由两组电磁型微步进电机驱动反干涉齿轮集A和B,反干涉码轮集中机械固化了密码。
反干涉齿轮集在正确解码时,码齿之间互相没有接触;当出现错码时,码齿相互干涉,反干涉齿轮集卡死。
使用光电耦合机构,在正确接收到24位密码时光电能量耦合,系统开启。
图2是MSMS强链结构图。
图2 MEMS强链组织结构图Fig2 structure diagram of MEMS Stronglink3.物理密钥与密码认证物理密钥是相对于逻辑密钥而言的,逻辑密钥通常以二进制形式存在于芯片内部ROM区,容易被破解。
而物理密钥固化在机械结构内部。
本设计采用的反向啮合齿轮集鉴码机构所蕴含的密钥就属于物理密钥。
它的结构相当隐含,不是专业人士即使知道了鉴码机构,也很难推出其密码。
密码认证开始时,USB 控制器把接收到的来自PC的24位待验证二进制密码以脉冲的形式传递给强链。
强链的电机会根据脉冲驱动码轮。
若密码正确,反干涉齿轮集会无摩擦的走通一周回到原位;只要有一位密码错误,反干涉齿轮集会在该位卡死。
USB控制器根据强链的反馈信号作出判断,如果验证通过,则将该系统枚举成一个可移动磁盘,并把该正确密码传递给FPGA,作为AES加密算法的密钥;否则向PC机返回验证失败的信息。
4.ATA协议控制器的实现从密码认证通过,枚举开始的那一刻起,USB控制器得到了对硬盘的访问权。
根据ATA协议,对支持Ultra DMA传输方式的IDE硬盘而言,操作归结为两种,对硬盘接口寄存器读写以及对硬盘扇区进行Ultra DMA批量扇区。
为了对硬盘数据进行加解密,我们把FPGA插入连接GPIF接口和硬盘接口的IDE总线,这样所有控制信号和数据信号都要通过FPGA,受到FPGA的监视和控制。
FPGA必须实现有限状态机,能够对信号进行协议解析,区分出那些需要加解密的扇区数据,也就是在Ultra DMA传输过程中出现在数据总线上的数据。
在PIO状态时,FPGA让所有信号保持直通,因而读写硬盘接口寄存器的操作不受任何影响,但状态机监测对硬盘接口寄存器的写入操作。
一旦发现写入命令寄存器的命令代码为DMA读(0xC8或0x25)或DMA写(0xCA或0x35)命令,则有限状态机进入DMA状态。
因为考虑到数据经加解密模块会有200ns左右的延时,如果控制信号仍然直通一定不能满足DMA传输协议的时序要求,所以理想的办法是把控制信号也延时相应的时间。
延时多少的确定很困难,况且也没有必要,我们采取的方法是设计了三个主要模块:数据接收模块、数据处理模块和数据发送模块,连成一条处理流水线,这样既能对数据流进行完全时序化的控制,又能维持较高的数据吞吐。
如图3所示。
图3 FPGA顶层模块布局Fig3 Top module of FPGA design数据接收模块的任务是把硬盘发送过来的读扇区数据或者USB控制器发送来的写扇区数据正确的接收和缓存;数据处理模块的任务是对扇区数据进行加密或解密处理;数据发送模块的任务是把处理完的结果数据发送出去。
由于数据流是双向的,所以两个方向上各有一条数据收发流水线。
在一次DMA传输中,只有一条流水线是工作的,且它们暂时获得IDE总线的控制权。
不失一般性,我们讨论下执行DMA读命令的全过程。
首先,在PIO状态下将DMA读命令的代码0xC8(或0x25)写入硬盘的命令寄存器。
此后状态机进入DMA读状态,总线切换给DMA读数据接收模块和DMA读数据发送模块。
DMA读数据接收模块与硬盘进行握手确认,启动UDMA读传输,此后每当硬盘DMA strobe信号(DMA同步信号)发生跳变,就对16位硬盘数据总线进行采样,并更新CRC接收校验;每采样8次则整合成一个128位并行数据,提供给AES解密模块,该模块取走这128位数据开始新一轮AES解密迭代运算,同时输出前一轮处理完的128位解密数据,并拆分为8个16位并行数据,陆续存入一个16位宽的FIFO。
与此同时,DMA读数据发送模块查询到FIFO中出现了数据,就开始不断的从中读取,并放在16位数据总线上提供给USB控制器,每放一次数据,便翻转一次DMA strobe电平使得USB控制器的GPIF接口能够同步接收数据,同时更新CRC发送校验。
当硬盘把所有指定数量的加密数据都发送给FPGA后会收到FPGA的CRC接收校验反馈,若与硬盘内部的CRC校验一致,则硬盘认为这次DMA读命令被正确执行。
当FPGA把所有处理完的解密数据都发送给USB控制器后也会收到USB控制器的CRC校验反馈,若与FPGA内部的CRC发送校验一致,则可以认为一次完整的含解密的DMA读命令被正确执行。
图3中的全局控制状态机负责整个系统的控制和协调,它实时的监测PIO写入命令,并在恰当的时机把IDE总线控制权切换给加密流水线或解密流水线。
当加解密流水线执行完一次DMA传输命令后,总线控制权会重新交还给全局控制状态机。
5.AES加密模块的实现AES的设计原理可参考文献[1],下面只简单介绍算法过程。
AES是一个迭代的分组密码,每一轮迭代称为一个轮变换,包括一个混合和三个代换:(1)字节代换(SubBytes):利用S盒对状态的每一个字节进行非线性变换。
(2)行移位(ShiftRow):对状态的每一行,按不同的位移量进行行移位。
(3)列混合(MixColumn):对状态中的每一列并行应用列混合,在最后一轮省略该步。
(4)扩展密钥加(AddRoundKey):与扩展密钥异或。
加密算法的流程如图4所示。
图4 AES 加密流程Fig4 AES encryption相应的,解密算法使用逆序的扩展密钥,轮变换分别为InvSubByte,InvShiftRow,InvMixColumn,数据流程稍有不同。
我们设计的AES加密运算模块以128位为一个分组,完成一个分组的运算需要11个时钟周期。
第1个时钟周期,密钥扩展模块输出第1个扩展密码,也就是初始密码本身;同时初始变换模块用这个扩展密码对128位明文作AddRoundKey操作。
第2个到第11个时钟周期,密钥扩展模块依次生成10个扩展密码,同时,轮变换模块利用这些扩展密码对输入密文作10个轮次的轮变换,其中最后一轮缺少列混合操作,然后输出最终的密文,结束一个分组的运算。
6.数据吞吐率分析Ultra DMA 在模式2下的数据传输率为33.33MB/s。
由于FPGA全局时钟频率为100MHz,所以加解密一个128位分组需要110ns。
加上数据的输入和输出阶段各占用一个时钟周期,总共需要130ns。
所以加解密模块的数据处理速率约为61.54MB/s,完全能够达到实时处理的要求。
7.结束语本文提出了一种安全高效的USB移动硬盘数据加解密系统。
其中,MEMS强链的应用开辟了系统物理认证的新方向;Ultra DMA协议接口的FPGA实现大大提高了硬盘读写的吞吐率,同时AES加解模块的处理速率又能完全满足Ultra DMA传输带宽,两者的有机协作使得一种高效的硬件加解密流水线得以实现。