拿来即用,指纹识别保密系统完整解决方案(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 盘。
|