APP下载

双钥模式加密U盘研究与设计

2019-10-11江钇帜

软件导刊 2019年7期
关键词:身份认证指纹识别

摘 要:随着科学技术的发展,U盘作为一种大容量存储设备,已成为人们移动存储的首选。然而在U盘发挥着越来越重要作用的同时,其数据安全问题也日益突出。为了提高U盘安全性,防止重要数据被他人窃取或篡改,设计并实现了一种双钥模式加密U盘。采用双钥模式,可以支持指纹和PIN码解锁U盘中存储的数据。使用INIC3861主控芯片对存储芯片中的数据进行硬件加密,结合指纹管理软件,可实现对用户身份的唯一认证以及数据安全性管理。同时设计了身份绑定认证机制,以保障各模块之间的通信安全,从而实现了对数据加密密钥的保护。

关键词:双钥模式;安全存储;硬件加密;身份认证;指纹识别

DOI:10. 11907/rjdk. 182752 开放科学(资源服务)标识码(OSID):

中图分类号:TP309 文献标识码:A 文章编号:1672-7800(2019)007-0186-04

An Double Secret Key Mode Security USB Disk Design

JIANG Yi-zhi

(Institute of Communication Engineering,Hangzhou Dianzi University, Hangzhou 310018,China)

Abstract: With the development of science and technology, U disk as a mass storage device has become the first choice of people's mobile storage devices. However, as it plays an increasingly important role, the impact of its data security issues are also increasing. In order to improve the security performance of USB disk and prevent someone from stealing or tampering important data, an double secret key mode security USB disk is proposed and implemented in this paper. The fingerprint and PIN code are used as double key to unlock the data stored in the USB disk. The data of memory chip is encrypted with hardware security engine from INIC3861 controller. The unique authentication of the user identity and the security management of the data are achieved by combining fingerprint management software and INIC3861 controller. And the identity binding authentication mechanism is designed to ensure the communication security between the modules and achieve the protection of the data encryption key.

Key Words: double key mode; secure storage; hardware encryption; authentication; fingerprint recognition

作者简介:江钇帜(1994-),男,杭州电子科技大学通信工程学院硕士研究生,研究方向为安全移动存储。

0 引言

如今移动存储设备已成为信息交流中不可或缺的介质,数据的存储与交换日益频繁,人们对数据安全的重视程度不断提高。近几年商业机密被窃、个人资料泄露事件时有发生,给人们带来了惨痛教训,也同时给人们敲响了警钟。因此,数据存储安全,尤其是移动数据存储安全是至关重要的。近年来随着指纹识别技术的快速发展,指纹传感器的体积越来越小,使得在移动存储设备上使用指纹认证用户身份成为可能。同时其成本也越来越低,低廉的成本也为指纹认证移动存储设备的市场推广奠定了良好基础。目前市场上流行的指纹U盘大致分为两种:第一种指纹U盘虽然实现了通过指纹解锁U盘使用权限的功能,但并未对指纹模组设计管理软件进行高效管理,用户体验不佳[1];第二种指纹U盘实现了对指纹模组的管理,但并未对存储区域进行分区设置,用户使用U盘时必须进行解锁操作,在日常应用中不够便捷[2]。且上述两种设计方案采用的加密算法[3-5]均为国际通用算法而不是国密算法,国际通用算法由于为国外研发,且发布时间较早,可能存在一定危险。

基于上述背景,本文提出一种双钥模式加密U盘[6-8]设计方案。本設计使用INIC3861主控芯片对存储芯片中的数据通过SM4国密算法进行硬件加密[9-10],并结合指纹识别技术设计了一个由PIN码解锁的指纹管理系统软件。双钥模式加密U盘采用双钥模式对数据进行管理,从而极大地提升了移动数据存储的安全性。

1 总体设计

双钥模式加密指纹U盘主要由USB3.0主控芯片INIC3861、存储芯片、指纹识别模组组成,其系统框架如图1所示。

图1 双钥模式加密指纹U盘系统框架

其中,INIC3861主控芯片是加密U盘的核心控制芯片,可支持USB协议,包括USB设备描述、USB端口配置及各种SCSI命令处理,同时还负责数据的加解密读写,以及加密传输上位机与指纹模组间的通信指令。

指纹识别模组由指纹传感器和指纹算法芯片构成,用于指纹录入、指纹存储与指纹比对。本设计采用按压式指纹传感器,用户只需将手指放置到指纹识别区域,即可完成对指纹的录入。指纹算法芯片负责用户注册指纹模板的生成、保存与加解密,并对录入指纹进行图像处理,与已注册指纹模板进行对比后,将对比结果传输至主控芯片。为了保证存储数据的安全性,还在指纹算法芯片中存放了用于数据硬件加密的数据密钥和加密算法。

本设计将存储芯片划分为3个区域:光盘区、公开区与安全区。光盘区用于存储指纹管理软件,该分区对用户保持可见,用户可在分区中打开指纹管理软件对指纹信息或PIN码信息进行管理,但用户只能读不能写;公开区是普通用户可以进行正常读写操作的区域,主控芯片不会对该区域数据进行加解密,用户可在该分区中存放不重要与不私密的文件;安全区需要待用户身份认证成功后才能正常使用,该存储区对于未经过身份认证的用户是不可见的,读写该分区中的数据需要利用主控芯片进行加解密。加密多分区设备应用流程如图2所示。

图2 加密多分区设备应用流程

2 通信安全

2.1 身份绑定认证

产品在出厂前第一次上电时,主控芯片通过量产工具将授权序列号传输给未授权的指纹芯片,该指纹芯片接收并保存序列號之后,应答成功指令。如果指纹芯片已经授权,则应答失败指令,也即是说指纹芯片在出厂之后只能接受一次授权序列号。用该唯一的授权序列号与随机数进行运算操作,得到的根密钥用于主控芯片与指纹算法芯片之间的身份绑定认证。

出厂后的每次系统上电,主控芯片与指纹算法芯片首先需要进行互相身份绑定认证,只有当身份绑定认证成功后才能进入下一步。身份绑定认证过程是将主控芯片与指纹算法芯片中根密钥生成的认证数据进行对比,对比成功才能完成认证。该设计可使指纹算法芯片与主控芯片相互进行唯一的身份绑定认证,从而排除了非法用户通过置换指纹算法芯片获取主控芯片数据的可能性。目前市面上大部分指纹U盘在主控芯片与指纹识别模组之间采用明文方式进行通信,非法用户可模拟主控芯片与指纹算法模块进行通信。为保证数据安全,需要添加安全通信机制对两者之间的通信进行加密。

图3 指纹模组与主控芯片安全通信框架

主控芯片与指纹算法芯片间的身份绑定认证过程如下:

(1)发送随机数。主控芯片发送16Byte随机数RN1到指纹算法芯片,指纹算法芯片发送16Byte随机数RN2到主控芯片。

(2)获取认证数据。指纹算法芯片将随机数RN1与根密钥进行异或运算操作得到的数值作为密钥,对根密钥进行SM4[11-12]加密运算得到认证数据,之后指纹算法芯片将认证数据发送到主控芯片进行校验对比;主控芯片将随机数RN2与根密钥进行异或运算操作得到的数值作为密钥,对根密钥进行SM4加密运算[13]得到认证数据,之后主控芯片将认证数据发送到指纹算法芯片进行校验对比。

(3)对比认证数据。主控芯片和指纹算法芯片均对自身计算出的认证数据与收到的认证数据进行对比。相同则认证通过,不同则认证失败,认证通过后开始生成会话密钥用于主控芯片与指纹算法芯片间的通信。

(4)会话密钥生成。指纹算法芯片与主控芯片都将随机数RN1与随机数RN2进行异或运算操作得到的数值作为密钥,对随机数RN2再进行SM4加密运算得到会话密钥。

主控芯片与指纹算法芯片间的指令都要使用会话密钥并经过SM4加密传输,因每次上电后的会话密钥均由不同随机数运算生成。会话密钥存储在RAM中,当指纹芯片掉电时,会话密钥随之丢失,故在最大程度上降低了通信指令被非法用户截取并破解的可能性,增强了加密通信的可靠性与抗攻击能力,提升了通信安全性。

2.2 硬件加密密钥获取

为了防止非法用户采用特殊手段对存储芯片中安全区的数据进行盗取,安全区中的数据均通过主控芯片,使用数据密钥进行AES加密后再存储。硬件加密使用的数据密钥是出厂量产时由主控芯片发送命令、指纹算法芯片产生的随机数。该数据密钥存储在指纹算法芯片中,只有当用户指纹或PIN码比对成功后,主控芯片才能发送命令获取数据密钥,并以该数据密钥对安全区数据进行加解密。

3 管理软件设计

3.1 功能模块介绍

为了让用户方便、安全地管理指纹信息,本文还设计了一个指纹管理软件。该软件保存在存储芯片光盘区中,并具有以下功能:①指纹录入功能:控制指纹模组,录入新的指纹模板;②指纹比对功能:检阅指纹库中是否已存储指纹模板;③密码管理功能:修改PIN码;④解锁磁盘功能:通过PIN码直接解锁安全区;⑤恢复出厂设置功能:清除安全盘内所有数据,恢复出厂设置。以上所有功能都需要输入正确的PIN码后才能执行,且PIN码加密保存在存储芯片中,即使非法用户通过某些手段强行获取了数据,也无法得到明文,因此可很大程度上保护存储数据的安全性。

3.2 指纹注册与对比

在完成主控芯片与指纹算法芯片[14]间的身份绑定认证后,用户通过指纹管理软件透传加密并发送注册命令到指纹模组,对传感器循环进行N次按压以采集完整的指纹信息,完成指纹注册。单次指纹注册具体流程为:指纹管理软件发送采集命令给指纹算法芯片,指纹算法芯片发送指纹采集命令给指纹传感器,指纹传感器采集指纹图像,并传输给指纹算法芯片;指纹算法芯片对采集到的指纹图像进行处理,提取指纹模板,对指纹模板进行加密并保存在指纹算法芯片内。软件界面在指纹采集过程中不断给予用户指纹图像采集进度的提示,在用户采集成功或失败时也会给予提示。

图5 指纹管理软件功能框架

在身份绑定认证通过且指纹注册成功后,指纹U盘的指纹比对[15]过程为:上电后主控芯片对指纹模组发送比对命令,指纹传感器开始采集指纹图像并传输给指纹算法芯片;指纹算法芯片对加密的指纹模板进行解密,并对采集的指纹图像进行处理;将处理后的指纹图像数据与解密后的指纹模板进行比对,最后指纹算法芯片通过密文[16-18]将比对结果传输给主控芯片。

3.3 透传数据加密传输

指纹管理软件命令包的执行速度将在一定程度上影响用户体验。故对指纹管理软件发送至指纹算法芯片的命令包,采用透传数据加密传输方式进行传输。此后在通信过程中,主控芯片将不再对指纹管理软件下发的命令包进行解析,只需进行加解密操作即可。其中每次加解密所用密钥正是前文介绍的会话密钥,每次上电后的通信均通过不同密钥进行加密,从而极大提升了非法用户破解信息的难度。透传数据加密传输在提升传输速度的同时,还提高了传输安全性。

4 安全性分析

本文设计的双钥模式加密U盘从以下几个方面提升了加密U盘的安全性:

(1)采用指纹识别技术对安全区的访问权限加以控制,并设计了指纹管理软件,通过PIN码对指纹模板进行管理。

(2)在指纹算法芯片与主控芯片之间设计了身份绑定认证机制,从而排除了非法用户通过置换指纹算法芯片获取主控芯片数据的可能[19],并设计了通信安全机制对U盘内各模块间的通信进行加密处理。

(3)将安全区中的数据以硬件加密方式保存在存储芯片中,而主控芯片只能在芯片间的身份绑定认证及用户身份认证通过后,才能获取用于硬件加密的数据密钥。

5 结语

本文概述了双钥模式U盘工作原理以及各模塊设计方案[20]。该U盘以INIC3861芯片作为主控芯片,并在主控芯片与指纹算法芯片之间添加通信安全机制,通过指纹识别验证完成对数据密钥的解锁,并以该密钥实现对U盘硬件的加解密,同时设计了指纹管理软件以对指纹模组和PIN码进行方便、有效的管理。该设计可对用户信息进行更有效的保护与更高效的管理[21],但本设计中的生物特征并未与数据加密密钥绑定,如果能将与真实生物特征及数据加密密钥绑定的生物密钥技术应用到U盘中,U盘安全等级将会进一步提高。

参考文献:

[1] 孙贺. 一种指纹识别移动硬盘的设计与实现[D]. 苏州:苏州大学,2009.

[2] 张忠国. 安全加密指纹U盘的设计与实现[D]. 济南:山东大学,2016.

[3] 张文锦,周荣,高燕,等. 基于AES算法的文件加密[J]. 软件导刊,2017,16(6):180-182.

[4] 平伟,贾文丽,孙月驰,等. 基于DES算法与RSA算法的数据加密技术在电子商务中的应用[J]. 软件导刊,2018,17(5):198-200.

[5] 王剑,宋阳,韩绍程. 基于国密SM4算法的ACARS数据链信息加密[J]. 中国民航大学学报,2018,36(1):6-10.

[6] 郝光烨. 浅析专网安全U盘技术和应用管理[J]. 信息安全与通信保密,2012(6):50-52.

[7] 朱征宇,周发贵,于春雷.  一种基于计算机指纹的U盘文档监控与保护方法[J]. 重庆理工大学学报:自然科学版,2011,25(3):62-68.

[8] 石晓磊. 基于FAT32的保护加密U盘的软件设计[D]. 大连:大连理工大学,2013.

[9] 胡伟,慕德俊,刘航,等. 移动硬盘硬件加密的设计与实现[J].  计算机工程与应用,2010,46(22):62-64.

[10] 黄卡尔. AES加密算法的FPGA实现[D]. 太原:中北大学,2011.

[11] 伍娟. 基于国密SM4和SM2的混合密码算法研究与实现[J].  软件导刊,2013,12(8):127-130.

[12] 张建,吴文玲. 基于SM4轮函数设计的认证加密算法[J]. 电子学报,2018,46(6):1294-1299.

[13] 赵廷彬,丁岳伟. 云存储安全交叉加密算法研究[J]. 软件导刊,2018,17(10):204-208.

[14] 毕雪芹,苏艳娟,王琪. 嵌入式指纹识别系统的设计及试验研究[J]. 国外电子测量技术,2015,34(2):50-53,81.

[15] 赵啟鹏. 基于NAND闪存的安全U盘FTL算法研究[J]. 软件导刊,2017,16(4):38-41.

[16] 占杨林. 基于FPGA的USB3.0HUB的设计与实现[D]. 北京:北方工业大学,2011.

[17] 陈永府,周峰,王启富,等. 基于虚拟卷的U盘安全技术研究[J]. 计算机工程与科学,2014,36(1):68-72.

[18] DESHPANDE S. Symmetric key management: a new approach[J].  International Journal of Engineering & Computer Science, 2012.

[19] USHMAEV O S,NOVIKOV S O. Effectiveness of consideration of deformations in problems of fingerprint identification[J].  Pattern Recognition and Image Analysis, 2008, 18(1):151-155.

[20] WANG A,LI Z,YANG X,et al. New attacks and security model of the secure flash disk[J]. Mathematical and Computer Modelling, 2013,57:2605-2612.

[21] HUACHUN X,ZHENGSHENG L,ZENGHONG W. Study on hardware protection technique of flash disk[C]. International Conference on Electronic Measurement & Instruments. IEEE, 2007.

(责任编辑:黄 健)

猜你喜欢

身份认证指纹识别
基于单片机指纹识别电子寄存柜设计
指纹识别
云电子身份管理与认证系统中的关键技术优化改进
指纹识别技术综述
指纹挂锁
基于大容量指纹识别的实时身份认证系统
基于线阵CCD的指纹识别实验