首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

拿来即用,指纹识别保密系统完整解决方案

拿来即用,指纹识别保密系统完整解决方案

5.5   配置电路

作为一个完整的 FPGA 设计,配置方案是最后一步也是不可缺少的一步。本设计中采用是 Xilinx  Platform  Flash 作为我们设计的配置方案。在 Spartan3E  starter  kit 开发板上有一块 4Mbit  Xilinx  XCF04S  serial  Platform  Flash   PROM,通过 iMPACT 工具可以方便地生成FlashPROM 文件,然后采用主串行模式将 Platform Flash PROM 上的存储信息配置到 FPGA,实现FPGA 的上电自动加载功能。这是最简单也是最适合本开发环境的解决方案。


参考应用文档 XAPP482,还可应用该 Flash 实现更多功能,限于本设计的应用,不再做进一步探索,提出这一点只是为了说明,这个配置方案也支持对设计的进一步开发和改进。



6   软件流程


图 6-1软件 工作 流程 图



首先,当 USB 接口模块全部完成初始化之后就开始最初的 USB 枚举(enumeration)过程,涉及到各种描述的 获取,包括设备描述、地址设置、配置描述、字符串 描述、端点描述等等,而且随着描述请求的进行,部分描述还会不断的重复,直到计算机完全明白这个 USB设备究竟 具有什么功能 、该调用什么驱 动程序来对这个 设备操作。对于 市场上众多的  Flash闪盘,我们保证让每一条 PC 请求都能够到达 U 盘,U 盘的每一个回应都转发给 PC。这样保证了直接插到PC 端能够识别的 U 盘,使用本作品也能够被识别。



枚举完成之后 USB 进入数据传输阶段,当然这些数据都是对底层 USB 控制器而言的数据,对于要对 USB 数据进行解析的 FPGA 中的 MicroBlaze 程序而言,则仍然需要将其中的数 据 分 为 三 个 类 型 : CBW 、 数 据 、 CSW 。 这 三 种 类 型 数 据 的 详 情 请 参 考  4.3   节 。 当MicroBlaze 收到 CBW 之后就将它转发出去,在转发的同时判断该 CBW 是不是一个读写操作的命令,如果是则代表跟在 CBW 之后的数据是直接来自 Flash 或将要写到 Flash 中去的,那么在数据段的转发操作之前还需要将他们送到 AES 模块进行 CBC 模式的加解密。在数据传输完成之后,必须等待 USB 设备回应 CSW 表示整个会话过程完整无误之后才能进入到下一个请求回应的处理循环中去。


7   测试与总结

7.1   总述

系统测试采用先局部后整体的方案,首先将各个模块(USB 数据透传模块、指纹模块、AES 加密模块)在分离的情况下单独测试,通过对它的各种操作来尽可能多的暴露问题,并一一解决。最后再将三者组合起来进行总体测试。


对 于硬 件测 试, 依靠  SPATARN  开发 板上 的按 钮、 LCD、 LED  灯 来帮 助调 试。 同时RS232  串口能更加方便的将程序中产生的数据、变量实时的发送到计算机供,借助  PC 端的串口程序(Terminal v1.9b、AccessPort),硬件程序中的数据得以在 PC 上保存、分析。测试中用到的主要工具有:

1)   Bus  Hound  5.0。一款用于分析 PC 上 IO 数据软件,能够对多种协议的数据包进行截取、解析并保存。这些数据代表了在 PC 上看到的 USB 数据,与串 口发回的 USB 数据对比可以找到程序的漏洞,并作出相应的改进。


2)   USB- IF Test Suite。USB 开发者论坛提供的用于 USB 标准测试的软件,能够查看当前设备是否符合国际标准。

3)   HD  Tach  v3.0.4.0。用来对 USB 的传输速 率测试,它会对 U 盘提供大小不同的数据包,分别计算他们的传输速率。

4)   ATTO Disk Benchmark  v2.34。同样是 USB 测速软件,使用不同的两款软件可以提高测试数据的可信度。



WinHex  15.0  SR-2。用于观察 Flash 上每一个扇区的数据变化,有效地判断加密的正确性并评估效果。



7.2   指纹模块的测试

指纹模块由深圳艾菲尔公司设计生产,相关测试指标及结果均由艾菲尔公司提供。


表 7-1   指 纹模 块 各项 指标 性能( 深圳 艾菲 尔 公司 提供) 7.3
VHDL
实现的
AES
加密模块的测试

测试方案

National  Institute of Standards and Technology  (NIST) 发布 AES 标准的文档Announcing the ADVANCED ENCRYPTION STANDARD (AES) 中,以附录的形式给出了一组 128 位密钥的加解密数据。我 们选择 ISE  Simulator  为仿 真器,将这组数据的明文与密钥作为 输入,看加密后的结果是否正确。再将加密结果作为输入,看解密后是否为原文。


测试数据

数据来自于 NIST  发布的联邦信息处理标准(FIPS PUBS) 197  。

明文:00112233445566778899aabbccddeeff

密钥:000102030405060708090a0b0c0d0e0f

密文:69c4e0d86a7b0430d8cdb78070b4c55a


结果分析

在 ISE  Simulator 提供的可视化波形输入编辑平台 TBW(Test  Bench  Waveform)下,编辑仿真波形。其中密钥部分:



明文部分:


加密结果:





密文为



69c4e0d86a7b0430d8cdb78070b4c55a,与文档中给出的完全一样,说明加密电路正确。将密文 69c4e0d86a7b0430d8cdb78070b4c55a 作为输入,进行解密仿真,仿真结果为:









7.4   作品整合测试

将作品插到电脑  USB 端口,再将  U 盘连接到本作品。在正确输入指纹之前,电脑不显示 U 盘盘符。正确输入指纹后,开始显示盘符,电脑与 U 盘可以正常通信。传输速率测试结果如下表:




再将加密后的文件重新 拷贝到电脑上,打开后与原文件一样,作 品加解密运算正确。将加密后的 U 盘直接连到电脑上,电脑无法读写 U 盘中的数据。


通过以上测试,作品完全能够正确完成加解密运算,有效识别指纹,为 U 盘提供可靠的保护,完全实现了预期目标。



7.5   开发板资源资源利用情况

本 作 品 充 分 利 用 了 开 发 板 上 的 资 源 。 FPGA芯 片 、 Platform  Flash 、 LCD显 示 屏、push-button  switchesHirose  FX2  、expansion  connector 等资源得到了合理利用,并且开发了外扩电路板。其中,FPGA 芯片内部自用利用率见下表:





8   作品功能特色与应用前景

8.1   功能特色与创新


完全靠硬件实现,通用性好,无需为 PC 编写任何驱动或应用程序,同样也没有上传任何程序到 PC 执行,理论上对所有普通 U 盘和支持 USB 协议的操作系统均适用。采用磁盘分区加密技术,安全性高于普通的文件加密技术。采用 AES 加密标准。VHDL 逻辑模块实现 AES,加解密速度快。由指纹特征产生密钥,安全强度高,用户使用方便。作品可同时存储多个指纹,可同时服务于多个用户,节约成本。作品与 U 盘分离,安全管理更可靠。

8.2   技术难点

在作品的完成过程中,我们遇到并解决了以下难点:

1   USB 协议解析  

2   AES 的 VHDL 实现,权衡资源利用率和加解密速度

3   磁盘分区加密技术在本作品中的应用

4   设备对各种 U 盘的通用性


8.3   应用前景

作品拥有广阔的应用前景,能为私人、企业、政府等机构提供便捷、可靠的 U 盘安全解决方案。加密器与 U 盘相分离,减小指纹信息泄露的威胁,在需要保密的部门更便于安全上的管理,因此将大受欢迎。



技术指标名称

数值

探测皮层

真皮层

认假率 FAR(实际测试值)

0.00008%

拒真率 FRR(实际测试值)

0.005%

指纹容量

15 枚

图像分辨率

500dpi

平均匹配速度

1  秒

抗静电能力

IEC61000-4-2  标准  15KV

抗磨损强度高

1 百万次

峰值耗电

150mA

工作环境温度

-10°C  至 70°C

最大工作湿度

98%

工作电压

3.3V

尺寸

4.4 x 6.6 cm

返回列表