为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

移动硬盘数据加解密系统

2010-12-29 5页 pdf 188KB 36阅读

用户头像

is_559637

暂无简介

举报
移动硬盘数据加解密系统 基于 MEMS 强链和 FPGA 的 USB 移动硬盘数据加解密系统 张晶,陈文元,张卫平 (上海交通大学微纳科学技术研究院 薄膜与微细技术教育部重点实验室 微米/纳米加工技 术国家级重点实验室,上海 200030) 摘 要:随着信息量的急剧增长,信息安全日益受到人们重视。一个完整的数据加解密系统应该 具备安全可靠的密码认证机制和加解密算法。本文基于 MEMS 强链、USB 控制器和 FPGA 设 计了一种 USB 接口的高效数据加解密系统,采用 AES 加密算法。普通 IDE 硬盘挂接该系统后 成为安全性极高的加密...
移动硬盘数据加解密系统
基于 MEMS 强链和 FPGA 的 USB 移动硬盘数据加解密系统 张晶,陈文元,张卫平 (上海交通大学微纳科学技术研究院 薄膜与微细技术教育部重点实验室 微米/纳米加工技 术国家级重点实验室,上海 200030) 摘 要:随着信息量的急剧增长,信息安全日益受到人们重视。一个完整的数据加解密系统应该 具备安全可靠的密码认证机制和加解密算法。本文基于 MEMS 强链、USB 控制器和 FPGA 设 计了一种 USB 接口的高效数据加解密系统,采用 AES 加密算法。普通 IDE 硬盘挂接该系统后 成为安全性极高的加密 USB 移动硬盘,其平均数据吞吐率接近普通 U 盘,达到 10MB/s。 关键词:MEMS AES USB FPGA IDE 中图分类号:TP309 文献标识码:A Data Encryption System for USB Mobile HardDisk Based on MEMS Stronglink and FPGA ZHANG 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 IDE 1. 系统结构布局 该系统由 Cypress CY7C68013 USB2.0 控制器、Altera EP2C35 FPGA 和 MEMS 强链构成, 图 1 描述了整个系统的硬件布局。 图 1 系统结构框架图 Fig1 General layout diagram of system MEMS 强链负责对用户输入的密码进行验证。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 Stronglink 3. 物理密钥与密码认证 物理密钥是相对于逻辑密钥而言的,逻辑密钥通常以二进制形式存在于芯片内部 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 所示。 DMA写数 据发送端 USB控制器 GPIF接口 16位宽 FIFO AES加密 模块 16位转 128位 DMA写数 据接收端 DMA读数 据接收端 DMA读数 据发送端 16位宽 FIFO AES解密 模块 16位转 128位 IDE硬盘 接口 128位转 16位 128位转 16位 FPGA顶层模块 加密流水线 解密流水线 PIO写入命令 译码逻辑 总线切换 控制逻辑 全局控制状态机 状态切换 控制逻辑 图 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 传输带宽,两者的有机协作使得一种高 效的硬件加解密流水线得以实现。 本文作者创新点:把 MEMS 强链应用到计算机信息安全领域,成为一种可以电机驱动的机 械密码锁,实现了系统的物理认证;开发 Cypress CY7C68013 USB 控制器固件,实现 USB-IDE 桥,并使用它的通用 IO 控制强链电机;硬盘扇区读写全部采用 Ultra DMA 方式,大大提高数 据吞吐率,基于 FPGA 的 ATA 协议控制器能够正确识别 Ultra DMA 传输的启动,并同时与主从 设备建立握手连接;采用双 CRC 校验机制,同时对主从设备进行 CRC 确认,保证数据在加解 密处理前被正确的接受,在加解密处理后被正确的发送。 参考文献: [1] Daemen J, Rijnmen V.AES Proposal:Rijndael[M].1999-09. [2] 武玉华,李艳俊,周玉坤,欧海文.基于 FPGA 的 AES-128 密码算法实现研究[J].微计算机信 息,2007,2-3 [3] 陈灯川,马维,张有成.基于FPGA的IDE硬盘数据AES加解密研究与实现[J].电子技术应用, 2006,12 [4] 崔国华,唐国富,洪帆.AES 算法的实现研究[J].计算机应用研究,2004,21(8): 99-101 作者简介: 张晶(1983-),男,上海人,硕士研究生,研究方向为 FPGA 数字设计。陈文元(1944-),男,教 授,博士生导师,研究方向为微机电系统(MEMS)及其集成技术。 Biography: ZHANG Jing (1983-),Male,Shanghai,graduate of Res Inst of Micro/Nano Sci and Tech, Shanghai Jiaotong University,Major: Microelectronics and Solid State Electronics, Research area: digital design with FPGA.
/
本文档为【移动硬盘数据加解密系统】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索