一种加密u盘的数据处理方法

文档序号:1505119 发布日期:2020-02-07 浏览:46次 >En<

阅读说明:本技术 一种加密u盘的数据处理方法 (Data processing method of encrypted USB flash disk ) 是由 虞加考 于 2018-07-28 设计创作,主要内容包括:本发明公开了一种加密U盘的数据处理方法,包括以下步骤:步骤S1:将U盘接入外部主机;步骤S2:主机向U盘发送指令;步骤S3:U盘获取主机发送的指令进行解析后执行相应操作;步骤S4:在操作完成后向主机反馈消息。采用本发明的技术方案,在存储模块中开辟加密卡存储区并采用标准的存储接口和协议实现对外接主机中普通硬盘的加解密功能,同时完全将加解密操作功能封装在存储协议之中。(The invention discloses a data processing method of an encrypted USB flash disk, which comprises the following steps: step S1: the USB flash disk is accessed to an external host; step S2: the host sends an instruction to the USB flash disk; step S3: the USB flash disk acquires and analyzes the instruction sent by the host computer and then executes corresponding operation; step S4: and feeding back a message to the host after the operation is completed. By adopting the technical scheme of the invention, an encryption card storage area is opened up in the storage module, the encryption and decryption functions of a common hard disk in an external host are realized by adopting a standard storage interface and a standard protocol, and the encryption and decryption operation functions are completely encapsulated in the storage protocol.)

一种加密U盘的数据处理方法

技术领域

本发明涉及数据安全技术领域,尤其涉及一种加密U盘的数据处理方法。

背景技术

一直以来,计算机的数据安全备受关注,市场上也陆续推出了各种具有加密功能的存储盘,比如加密存储卡、加密U盘、加密硬盘等。但现有技术的加密U盘接入外部主机时,仅其自身作为加密存储设备,不能为主机中普通存储硬盘提供加密存储或数据解密功能,导致用户在普通计算机(非加密硬盘)中混合使用加密存储盘时不方便。

故,针对现有技术的缺陷,实有必要提出一种技术方案以解决现有技术存在的技术问题。

发明内容

有鉴于此,确有必要提供一种加密U盘的数据处理方法,在存储模块中开辟加密卡存储区并采用标准的存储接口和协议实现接入外部主机时对普通存储硬盘的加解密功能,同时加密U盘对主机中普通存储硬盘的加解密功能完全封装在存储协议之中,通过存储指令就能实现加解密任务分配和获取,满足用户在普通计算机上混合使用加密存储盘的需求。

为了克服现有技术的缺陷,本发明的技术方案如下:

一种加密U盘的数据处理方法,包括以下步骤:

步骤S1:将U盘接入外部主机;

步骤S2:主机向U盘发送指令;

步骤S3:U盘获取主机发送的指令进行解析后执行相应操作;

步骤S4:在操作完成后向主机反馈消息;

所述U盘至少包括USB接口、控制器、数据加解密单元和存储模块,其中,所述数据加解密单元至少包括加密处理单元、解密处理单元和密钥存储单元,所述加密处理单元用于执行数据加密操作;所述解密处理单元用于执行数据解密操作;所述密钥存储单元用于存储密钥;

所述存储模块包括数据存储区和加密卡存储区,所述数据存储区用于U盘正常数据存储;

所述加密卡存储区进一步设置加密存储单元和解密存储单元,所述加密存储单元和解密存储单元均设置多个存储单元,分别用于存储执行加密操作或解密操作后的数据;

所述控制器与所述数据加解密单元和USB接口相连接,用于获取主机发送的指令并进行解析后执行相应处理;

在所述步骤S3中,当获取的指令为写指令且写入地址为数据存储区时,所述控制器将待处理任务发送至所述数据加解密单元,经加密处理单元加密操作后存储在数据存储区中;

当获取的指令为写指令且写入地址为加密存储单元时,所述控制器将待处理任务发送至所述数据加解密单元,经加密处理单元加密操作后直接存储在相应的存储单元中;当获取的指令为写指令且写入地址为解密存储单元时,所述控制器将待处理任务发送至所述数据加解密单元,经解密处理单元解密操作后直接存储在相应的存储单元中;

在所述步骤S4中,执行写指令后且地址为加密卡存储区,所述控制器向主机反馈任务完成消息,该反馈任务完成消息至少包括该任务对应存储单元的地址信息;

当获取的指令为读指令且地址为数据存储区时,所述控制器读取该地址对应的数据信息并发送至所述数据加解密单元,经解密处理单元解密操作后发送给主机;

当获取的指令为读指令且地址为加密卡存储区时,所述控制器直接读取该地址对应存储单元的数据信息并发送给主机。

作为优选的技术方案,所述U盘还包括随机数发生器和算法存储单元,所述随机数发生器用于在控制器的控制下产生随机数作为数据加解密操作的密钥;

所述算法存储单元与所述控制器和数据加解密单元相连接,用于存储数据加解密的算法。

作为优选的技术方案,还包括获取主机发送的配置指令的步骤,所述配置指令用于配置所述加解密引擎的加解密参数;所述数据加解密单元根据配置参数选择相应的加解密算法。

作为优选的技术方案,所述加解密引擎还包括算法存储单元,所述算法存储单元中数据加解密的算法至少为AES-128/256,SM2,SM3,SM4,RSA,3DES或SHA中的任一种。

作为优选的技术方案,还包括数据缓冲器,所述数据缓冲器与所述控制器、USB接口、数据加解密单元和存储模块相连接,用于缓存数据。

作为优选的技术方案,所述加密卡存储区采用多片eMMC芯片,通过总线级联多片eMMC芯片。

作为优选的技术方案,所述控制器执行写操作且地址为加密卡存储区时,选择一空闲存储单元并将其地址信息和待处理任务一起发送给所述数据加解密单元;所述数据加解密单元执行加解密操作后直接将处理后任务存储至该存储单元。

作为优选的技术方案,所述控制器设置数据存储映射表,所述数据存储映射表用于记录所存储信息、其采用的算法及其对应的地址。

作为优选的技术方案,所述控制器设置加密卡存储映射表,所述加密卡存储映射表用于记录每个任务及其对应存储单元的地址。

作为优选的技术方案,所述加密卡存储映射表还设置存储标志位,所述存储标志位用于标识存储单元中数据的读写状态,所述存储单元中数据被读出后释放该存储空间以用于后续写入操作。

作为优选的技术方案,该U盘设置多个数据加解密单元,每个数据加解密单元具有唯一标识的ID。

与现有技术相比较,本发明的U盘在存储模块中开辟加密卡存储区并采用标准的存储接口和协议实现对外接主机中普通硬盘的数据加解密功能,同时将加解密操作功能完全封装在存储协议之中,通过存储指令实现加解密任务分配和获取,极大满足了在普通计算机(非加密硬盘)中混合使用加密存储盘的需求。

附图说明

图1为本发明中加U盘的原理框图。

图2为本发明中加密卡存储区的示意图。

图3为本发明中另一种实施方式U盘的原理框图。

图4为本发明U盘的数据加解密方法的流程框图。

如下具体实施例将结合上述附图进一步说明本发明。

具体实施方式

以下将结合附图对本发明提供的技术方案作进一步说明。

参见图4,所示为本发明加密U盘的数据处理方法的流程框图,包括以下步骤:

步骤S1:将U盘接入外部主机;

步骤S2:主机向U盘发送指令;

步骤S3:U盘获取主机发送的指令进行解析后执行相应操作;

步骤S4:在操作完成后向主机反馈消息;

所述U盘至少包括USB接口、控制器、数据加解密单元和存储模块,其中,所述数据加解密单元至少包括加密处理单元、解密处理单元和密钥存储单元,所述加密处理单元用于执行数据加密操作;所述解密处理单元用于执行数据解密操作;所述密钥存储单元用于存储密钥;

所述存储模块包括数据存储区和加密卡存储区,所述数据存储区用于U盘正常数据存储;

所述加密卡存储区进一步设置加密存储单元和解密存储单元,所述加密存储单元和解密存储单元均设置多个存储单元,分别用于存储执行加密操作或解密操作后的数据;

所述控制器与所述数据加解密单元和USB接口相连接,用于获取主机发送的指令并进行解析后执行相应处理;

在所述步骤S3中,当获取的指令为写指令且写入地址为数据存储区时,所述控制器将待处理任务发送至所述数据加解密单元,经加密处理单元加密操作后存储在数据存储区中;

当获取的指令为写指令且写入地址为加密存储单元时,所述控制器将待处理任务发送至所述数据加解密单元,经加密处理单元加密操作后直接存储在相应的存储单元中;当获取的指令为写指令且写入地址为解密存储单元时,所述控制器将待处理任务发送至所述数据加解密单元,经解密处理单元解密操作后直接存储在相应的存储单元中;

在所述步骤S4中,执行写指令后且地址为加密卡存储区,所述控制器向主机反馈任务完成消息,该反馈任务完成消息至少包括该任务对应存储单元的地址信息;

当获取的指令为读指令且地址为数据存储区时,所述控制器读取该地址对应的数据信息并发送至所述数据加解密单元,经解密处理单元解密操作后发送给主机;

当获取的指令为读指令且地址为加密卡存储区时,所述控制器直接读取该地址对应存储单元的数据信息并发送给主机。

参见图1,所示为本发明中加密U盘的原理框图,至少包括USB接口、控制器、随机数发生器、算法存储单元、数据加解密单元和存储模块,其中,所述USB接口用于接入外部主机。

随机数发生器用于在控制器的控制下产生随机数作为数据加解密操作的密钥;

数据加解密单元至少包括加密处理单元、解密处理单元和密钥存储单元,所述加密处理单元用于执行数据加密操作;所述解密处理单元用于执行数据解密操作;所述密钥存储单元用于存储密钥;

存储模块包括数据存储区和加密卡存储区,所述数据存储区用于U盘正常数据存储;

参见图2,所示为本发明中加密卡存储区的原理示意图,加密卡存储区设置加密存储单元和解密存储单元,所述加密存储单元和解密存储单元均设置多个存储单元,分别用于存储执行加密操作或解密操作后的数据;

控制器与所述数据加解密单元和加密卡存储区相连接,用于获取主机发送的指令并进行解析后执行相应处理;

当获取的指令为写指令且写入地址为数据存储区时,所述控制器将待处理任务发送至所述数据加解密单元,经加密处理单元加密操作后存储在数据存储区中;

当获取的指令为写指令且写入地址为加密存储单元时,所述控制器将待处理任务发送至所述数据加解密单元,经加密处理单元加密操作后直接存储在相应的存储单元中;当获取的指令为写指令且写入地址为解密存储单元时,所述控制器将待处理任务发送至所述数据加解密单元,经解密处理单元解密操作后直接存储在相应的存储单元中;同时所述控制器向主机反馈任务完成消息,该反馈任务完成消息至少包括该任务对应存储单元的地址信息;

当获取的指令为读指令且地址为数据存储区时,所述控制器读取该地址对应的数据信息并发送至所述数据加解密单元,经解密处理单元解密操作后发送给主机;

当获取的指令为读指令且地址为加密卡存储区时,所述控制器直接读取该地址对应存储单元的数据信息并发送给主机。

采用上述技术方案,在存储模块中设置加密卡存储区并采用标准的存储接口和协议实现对主机中普通硬盘的加解密功能,同时将加解密功能封装在存储协议之中,采用读写指令就能实现加解密操作。对主机来说,本发明U盘和现有技术外接普通存储设备完全一样,比如普通存储U盘、移动硬盘等。与现有技术不同的是,本发明具有正常的数据存储功能,同时还具备了对主机中普通硬盘的数据加解密功能。本发明架构下,对数据加密操作相当于将待加密数据写入加密卡存储区,主机发送写指令后即可处理其他操作,无需等待;加解密操作完成,U盘发送通知指令告知主机相应任务的加密操作完成,主机再通过读指令获取存储在相应地址的数据信息,将数据存储在外接普通存储盘中,完成一次对外加密/解密操作流程。

在上述技术方案中,将数据存储和加/解密操作和地址空间进行绑定,通过识别地址空间便能解析出是数据存储还是对外加解密操作,同时还能够通过解析地址得到具体加/解密操作类型,从而大大简化了协议的复杂度。

另外,加密卡存储区中设置多个存储单元;每个存储单元用于存储一个任务,每个数据加解密单元相应分配多个存储单元,从而数据加解密单元能够缓存多个任务;同时,数据加解密单元完成加密/解密操作后直接将任务存储于对应的存储单元;控制器与加密卡存储区相连接,能够直接读取加密卡存储区中的数据信息。采用该架构,通过两个独立通道完成加密卡存储区的写入和读出,数据加解密单元能够专注与数据加解密,从而极大提高了数据加解密的效率。

在本发明一种优选实施方式中,控制器执行写操作且地址为加密卡存储区时,选择一空闲存储单元并将其地址信息和待处理任务一起发送给所述数据加解密单元;所述数据加解密单元执行加解密操作后直接将处理后任务存储至该存储单元。也即控制器在分配任务的同时分配空闲的存储模块存储该任务,从而方便的建立映射关系。采用上述技术方案,数据加解密单元在加解密操作完成之后能够直接存储至相应的存储单元,同时控制器直接对存储单元进行读写,向主机反馈数据与数据加解密过程完全独立,从而极大提高了处理效率。

进一步的,控制器设置数据存储映射表,所述数据存储映射表用于记录所存储信息、其采用的算法及其对应的地址。

进一步的,控制器设置加密卡存储映射表,加密卡存储映射表用于记录每个任务及其对应存储单元的地址。同时在加密卡存储映射表中还设置存储标志位,所述存储标志位用于标识存储单元中数据的读写状态,存储单元中数据被读出后释放该存储空间以用于后续写入操作。采用上述技术方案,通过设置存储标志位标识存储单元中数据读写的状态,至少包括ready和done两种状态,当状态置为ready表示加密/解密后任务已经存储至相应的存储单元;状态置为done表示已经从存储单元中读取了相应的数据,则该存储空间可以被释放,从而存储单元能够循环存储,极大提高了存储空间利用率。

进一步的,该U盘设置多个数据加解密单元,每个数据加解密单元具有唯一标识的ID。控制器设置引擎ID状态表,用于记录每个数据加解密单元的状态并动态更新以用于所述控制器分配待处理任务。控制器根据引擎状态表合理调控加解密引擎的工作,任务存储之后,该数据加解密单元就可以处理下一个加解密任务。

加密卡存储映射表至少包括任务编号、引擎编号、引擎状态信息和存储地址信息,任务编号为每个接收到的任务设置的唯一标识号;引擎编号为对该任务进行加密/解密操作的数据加解密单元的标识号;引擎状态信息为数据加解密过程的工作状态;存储地址信息为存储该任务进行加密/解密操作后所存储的存储单元的地址信息。具体的,在数据加解密操作过程中,控制器接收主机发送的任务后,建立一个IO任务并确定相应的任务编号,在IO任务完成指定操作后,才会对主机进行相应的反馈;建立IO任务后,控制器分配一个空闲的加解密引擎处理该任务,其中,状态信息至少包括busy、idle,状态置为busy表示数据加解密单元正在进行数据处理;状态置为idle表示数据加解密单元处理完成任务,从而该数据加解密单元能够承担新的任务。采用上述技术方案,通过存储映射表可以清楚的知道任一个任务的进程状态、加解密引擎的工作状态以及加密卡存储区的地址空间状态,从而方便进行任务的加解密处理。

在一种优选实施方式中,数据加解密单元根据所述控制器的控制指令选择相应的加密算法。进一步的,控制器还接收主机的配置指令,该配置指令用于配置数据加解密单元的加解密加密算法类型,加密算法至少为AES-128/256,SM2,SM3,SM4,RSA,3DES或SHA中的任一种。同时,配置指令还包括待处理任务的数据长度,控制器根据配置指令为数据加解密单元重新分配存储单元的地址空间。比如,当前加密任务大小为2K,采用SM2加密算法处理之后的长度为4K,则以4K空间作为基础存储单元对存储空间进行重新分配。采用上述技术方案,实现动态分配存储单元,从而可以根据用户要求设置加密算法并根据实际需求设置最优的存储单元。

在上述技术方案中,采用控制指令选择相应的加密算法,这在一定程度上增加了算法的复杂度。在一种优选实施方式中,加密卡中设置多种加解密加密算法并将算法类型直接和具体的存储地址空间绑定。也即,在存储器中设置多个加密存储单元和解密存储单元,每个加密存储单元或解密存储单元和具体加密算法的类型相绑定,对一个指定地址的加密存储单元的数据写操作,控制器解析为相应加解密算法的加密命令,同样,对一个指定地址的解密存储单元的数据写操作控制器解析为相应加解密算法的解密命令,数据加解密单元选择相应的加解密算法执行加解密操作,在加解密处理完毕后,将加/解密处理后的数据保存至该加/解密存储单元,控制器通知主机对此地址进行的读操作,读出的数据便是加解密处理完毕后的数据。采用上述技术方案,将算法类型直接和具体的存储地址空间绑定,从而大大简化了数据通信协议。

在一种优选实施方式中,参见图3,所示为本发明中另一种优选实施方式的示意图,还包括数据缓冲器,数据缓冲器与所述控制器、USB接口、数据加解密单元和存储模块相连接,用于缓存数据。

在一种优选实施方式中,所述加密卡存储区采用多片eMMC芯片,通过总线级联多片eMMC芯片。

以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

11页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种加密固态硬盘的数据处理方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类