集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 962|回复: 1

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

[复制链接]
辉煌 发表于 2017-7-3 10:40:41 | 显示全部楼层 |阅读模式
拿来即用,指纹识别保密系统完整解决方案(4)

解决方案, 保密, 程序, 加密, 空间
3.5   密钥生成
作品中密钥生成算法采用 ANSI X9.17 标准。之所以选择 ANSI 9.17 算法来将指纹特征数据转换为密钥,主要有两点原因:1)作品中已经实现了 AES 加密模块使得该算法实现非常方便;2)相对研究过程中我们曾使用过的  SHA512  算法而言,该算法有效地减少了代码量和执行代价,节省了空间。因为 FPGA 片内允许的最大代码量为 32K,若超过 32K,就得将代码放至片外 DDR 中执行。这样的缺点是程序执行速度相对片内将大大变慢,此外,FPGA 配置、程序自动加载到 DDR 中执行也将是个问题,一是 需编写 Bootloader 程序,二是 DDR 消耗资源较多,大概占  20%片内资源(在本作品开发平台上),在本作品现有架构上加上  DDR 之后根本没有资源再加挂一个 Flash,故 Bootloader 程序也无法编写和使用 。


3.6   加解密模块
加解密模块采用 AES 算法,通过 VHDL 设计的数字电路实现。该模块从 MCU 系统获得密钥和明(密)文,处 理后返回密(明)文。由于采用硬件电路实现,因此 可以获得很高的工作速度,同时也使 FPGA 中剩余的逻辑资源得到了充分的利用。


在设计该模块电路及其 通信协议时,还充分考虑了其移植性,密钥扩展和加 解密模块是可以分离的,因此 在某些逻辑资源受限情形下,可以将密钥扩展部分放到微 处理器系统中以软件方式实现,而不影响整个模块的工作速度。

在设计该模块时亦反复 权衡了工作速度与资源消耗两个指标,在资源许可的 情况下尽量
提高工作速度。


3.7   USB 协议解析及磁盘加密

图 3-2 描述的是整个系统对 USB 数据的处理过程。USB 接口芯片 MAX3421E 通过连接PC  的  USB  接 口 获 得 底 层 的 差 分 数 据 信 号 , 对其 进 行 转 化 , 利 用  SPI  总 线 接 口 向MicroBlaze 系统提交解析后的数据包。然后 MicroBlaze 进行后续向上的进一步解析。在 SCSI层解析出的数据包是要写入到 Flash 中的数据块、地址及其数据长度等信息。调用 AES 模块,对 数 据 加 密 , 之 后 把 它 按 照 加 密 前 的 方 式 转 发 , 在 物 理层 再 次 通 过 工 作 在 主 机 模 式 的MAX3421E 发送给 U 盘。


解决方案, 保密, 程序, 加密, 空间
3.5   密钥生成
作品中密钥生成算法采用 ANSI X9.17 标准。之所以选择 ANSI 9.17 算法来将指纹特征数据转换为密钥,主要有两点原因:1)作品中已经实现了 AES 加密模块使得该算法实现非常方便;2)相对研究过程中我们曾使用过的  SHA512  算法而言,该算法有效地减少了代码量和执行代价,节省了空间。因为 FPGA 片内允许的最大代码量为 32K,若超过 32K,就得将代码放至片外 DDR 中执行。这样的缺点是程序执行速度相对片内将大大变慢,此外,FPGA 配置、程序自动加载到 DDR 中执行也将是个问题,一是 需编写 Bootloader 程序,二是 DDR 消耗资源较多,大概占  20%片内资源(在本作品开发平台上),在本作品现有架构上加上  DDR 之后根本没有资源再加挂一个 Flash,故 Bootloader 程序也无法编写和使用 。


3.6   加解密模块
加解密模块采用 AES 算法,通过 VHDL 设计的数字电路实现。该模块从 MCU 系统获得密钥和明(密)文,处 理后返回密(明)文。由于采用硬件电路实现,因此 可以获得很高的工作速度,同时也使 FPGA 中剩余的逻辑资源得到了充分的利用。


在设计该模块电路及其 通信协议时,还充分考虑了其移植性,密钥扩展和加 解密模块是可以分离的,因此 在某些逻辑资源受限情形下,可以将密钥扩展部分放到微 处理器系统中以软件方式实现,而不影响整个模块的工作速度。

在设计该模块时亦反复 权衡了工作速度与资源消耗两个指标,在资源许可的 情况下尽量
提高工作速度。


3.7   USB 协议解析及磁盘加密

图 3-2 描述的是整个系统对 USB 数据的处理过程。USB 接口芯片 MAX3421E 通过连接PC  的  USB  接 口 获 得 底 层 的 差 分 数 据 信 号 , 对其 进 行 转 化 , 利 用  SPI  总 线 接 口 向MicroBlaze 系统提交解析后的数据包。然后 MicroBlaze 进行后续向上的进一步解析。在 SCSI层解析出的数据包是要写入到 Flash 中的数据块、地址及其数据长度等信息。调用 AES 模块,对 数 据 加 密 , 之 后 把 它 按 照 加 密 前 的 方 式 转 发 , 在 物 理层 再 次 通 过 工 作 在 主 机 模 式 的MAX3421E 发送给 U 盘。
d643189658 发表于 2017-8-11 18:54:54 | 显示全部楼层
谢谢楼主的分享
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-4-20 12:44 , Processed in 0.057609 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表