CN114036589A - 加密u盘和数据读取方法及装置 - Google Patents

加密u盘和数据读取方法及装置 Download PDF

Info

Publication number
CN114036589A
CN114036589A CN202011596086.0A CN202011596086A CN114036589A CN 114036589 A CN114036589 A CN 114036589A CN 202011596086 A CN202011596086 A CN 202011596086A CN 114036589 A CN114036589 A CN 114036589A
Authority
CN
China
Prior art keywords
encryption
encryption key
module
pin code
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202011596086.0A
Other languages
English (en)
Inventor
李彤
陆星栋
郑再闯
郑冬梅
刘娜娜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Changhe Jiahong Software Co ltd
Original Assignee
Beijing Changhe Jiahong Software Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Changhe Jiahong Software Co ltd filed Critical Beijing Changhe Jiahong Software Co ltd
Priority to CN202011596086.0A priority Critical patent/CN114036589A/zh
Publication of CN114036589A publication Critical patent/CN114036589A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

本申请公开了一种加密U盘,该加密U盘包括密钥生成模块,被配置为生成加密密钥,数据加密模块,被配置为使用加密密钥加密U盘内的数据并将数据存入加密分区,PIN码模块,被配置为加密加密密钥。这样使用软件加密的安装方式,免除了硬件加密的高成本难升级维护的问题,并通过加密密钥转化存储编码的方式,从逻辑层面上杜绝了被暴力破解的可能性。

Description

加密U盘和数据读取方法及装置
技术领域
本公开涉及U盘技术领域,尤其涉及一种加密U盘和数据读取方法及装置。
背景技术
当前市场上常见的安全U盘加密的方法有软件加密和硬件加密两种。硬件加密有着自己的专用硬件加密电路,虽然有防暴力破解能力强,加密性能好,加密方式灵活的优点,但是需要每个闪存盘都有对应的加密硬件,在生产、初始化、安装上的成本相对较高,并且只适用于传统的一次性永久授权,难以进行后续的升级、维护和售后管理,影响了用户的使用体验。而常见的的U盘软件加密方式,一般基于主机端的软件进行加密。这种加密的实现方式完全依赖与主机本身,虽然有成本低廉、易于推广、方便售后升级的优点,但自身没有保护强度,容易遭到暴力破解。
发明内容
有鉴于此,本公开提出了一种加密U盘,包括密钥生成模块、PIN码模块和数据加密模块。
所述密钥生成模块,被配置为生成加密密钥;
所述数据加密模块,被配置为使用所述加密密钥加密U盘内的数据并将所述数据存入加密分区;
所述PIN码模块,被配置为加密所述加密密钥。
在一种可能的实现方式中,还包括自毁模块;
所述自毁模块,被配置为当所述PIN码超过预设次数错误时,将所述加密密钥自毁;
所述预设次数为10次。
在一种可能的实现方式中,使用所述加密密钥加密U盘内的数据时,使用分组密码算法进行加密;
所述分组密码为SM4算法。
在一种可能的实现方式中,所述PIN码存储在NOR FLASH中;
所述加密密钥加密U盘内的数据后,将所述数据存储在NAND FLASH中。
在一种可能的实现方式中,还包括初始化模块;
所述初始化模块,被配置为在第一次挂载U盘时强制修改PIN码。
在一种可能的实现方式中,所述加密密钥为多个;
多个所述加密密钥分别对应所述加密U盘的一个扇区;
所述加密密钥在所述加密U盘内部使用。
根据本公开的另一方面,提供了一种数据读取方法,其特征在于,包括:
获取PIN码;
校验所述PIN码,若所述PIN码正确则挂载加密分区并获取加密密钥;
使用所述加密密钥解密所述解密分区中的密文得到明文。
在一种可能的实现方式中,若所述PIN码不正确,则继续获取所述PIN码并记录获取次数;
所述获取次数小于等于10次。
在一种可能的实现方式中,在使用所述加密密钥解密所述解密分区中的密文得到明文时,使用SM4算法。
根据本公开的另一方面,提供了一种数据读取装置,其特征在于,包括PIN码获取模块、加密密钥获取模块和数据解密模块;
所述PIN码获取模块,被配置为获取PIN码;
所述加密密钥获取模块,被配置校验所述PIN码,若所述PIN码正确则挂载加密分区并获取加密密钥;
所述数据解密模块,被配置使用所述加密密钥解密所述解密分区中的密文得到明文。
通过密钥生成模块,被配置为生成加密密钥,数据加密模块,被配置为使用加密密钥加密U盘内的数据并将数据存入加密分区,PIN码模块,被配置为加密加密密钥。这样使用软件加密的安装方式,免除了硬件加密的高成本难升级维护的问题,并通过加密密钥转化存储编码的方式,从逻辑层面上杜绝了被暴力破解的可能性。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
图1示出本公开实施例的加密U盘的示意图;
图2示出本公开实施例的加密U盘的原理图;
图3示出本公开实施例的数据读取方法的流程图;
图4示出本公开实施例的数据读取方法解密原理图;
图5示出本公开实施例的数据读取装置的框图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
图1示出根据本公开一实施例的加密U盘的示意图。如图1所示,该加密U盘包括:密钥生成模块、PIN码模块和数据加密模块。
密钥生成模块,被配置为生成加密密钥,数据加密模块,被配置为使用加密密钥加密U盘内的数据并将数据存入加密分区,PIN码模块,被配置为加密加密密钥。
通过密钥生成模块,被配置为生成加密密钥,数据加密模块,被配置为使用加密密钥加密U盘内的数据并将数据存入加密分区,PIN码模块,被配置为加密加密密钥。这样使用软件加密的安装方式,免除了硬件加密的高成本难升级维护的问题,并通过加密密钥转化存储编码的方式,从逻辑层面上杜绝了被暴力破解的可能性。
具体的,参见图2,图2为本公开实施例的加密U盘的原理图。当在使用本公开的加密U盘时,本公开的加密U盘在没有对应的应用程序时,执行步骤S002,默认显示未加密的分区(第一分区),和常规的U盘没有区别,在有对应的应用程序的环境下,可进行步骤S004,可以输入PIN码进入加密分区(第二分区),从而进行加密数据的解密。
举例来说,在一种可能的实现方式中,在个人计算机上插入本公开实施例的加密U盘,个人计算机的系统为Windows系统,在该Windows系统中未安装对应的应用程序时,只显示未加密的分区,未加密的分区为FAT格式。
在另一种可能的实现方式中,在个人计算机上插入本公开实施例的加密U盘,加密U盘的接口为USB3.0,个人计算机的系统为Windows系统,在该Windows系统中已安装对应的应用程序时,可以输入PIN码进入加密分区。
需要说明的是,本公开的实施例不对加密U盘的加密分区与未加密分区的大小进行限制,根据具体情况进行设置。
进一步的,在一种可能的实现方式中,本公开的加密U盘还包括初始化模块,初始化模块被配置为在第一次挂载U盘时强制修改PIN码。举例来说,在个人计算机上插入本公开实施例的加密U盘,加密U盘的接口为USB3.0,个人计算机的系统为Windows系统,在该Windows系统中已安装对应的应用程序时,若初始化模块检测到未设置PIN码,则弹出修改PIN码对话框,强制用户修改PIN码。在用户修改完成PIN码后,才可以使用加密分区。
进一步的,在一种可能的实现方式中,还包括自毁模块,自毁模块被配置为当PIN码超过预设次数错误时,将加密密钥自毁。预设次数可以为10次。举例来说,在个人计算机上插入本公开实施例的加密U盘,加密U盘的接口为USB3.0,个人计算机的系统为Windows系统,在该Windows系统中已安装对应的应用程序时,初始化模块检测到已经设置过PIN码,则需要输入正确的PIN码进入加密分区,此时自毁模块监测到输入的状态,若监测到输入的PIN码错误次数超过10次,则自毁模块将加密密钥进行擦除,以保护数据的安全,防止暴力破解。
进一步的,在一种可能的实现方式中,使用加密密钥加密U盘内的数据时,使用分组密码算法进行加密。其中,分组密码为SM4算法。举例来说,在个人计算机上插入本公开实施例的加密U盘,加密U盘的接口为USB3.0,个人计算机的系统为Windows系统,在该Windows系统中已安装对应的应用程序时,初始化模块检测到已经设置过PIN码,则需要输入正确的PIN码进入加密分区,此时自毁模块监测到输入的状态,若PIN码输入正确,则可以挂载加密分区并获取到密钥生成模块生成的加密密钥,其中,加密密钥为真随机数,且为128bit。当向加密分区中传入数据时,首先使用SM4算法对数据进行加密,再将加密后的数据存入加密分区。
在一种可能的实现方式中,PIN码存储在NOR FLASH中。加密密钥加密U盘内的数据后,将数据存储在NAND FLASH中。本公开的加密U盘失窃后如果无法获知加密分区的PIN码,则无法在主机系统挂载加密分区(访问加密的NAND FLASH),也无法使用加密密钥进行数据的解密。另外,NAND FLASH的管理程序采用复杂的链表结构,通过物理地址直接访问NANDFLASH存储芯片中的数据,并不能直接得到加密后的FAT32文件结构,示例性的,包括BOOT、FAT表、ROOT区等,从而为破解U盘数据提供了更深层次的防护。
另外的,在输入正确的PIN码,挂载了加密分区后,仅可通过固件提供的接口进行文件写入和读取操作,无法进行文件执行操作,也就是说,可通过对应的应用程序进行文件传输至加密分区,无法使用系统命令对加密分区进行读写操作,可以有效防范病毒、木马等恶意代码的主动传播。
进一步的,在一种可能的实现方式中,加密密钥为多个,多个加密密钥分别对应加密U盘的一个扇区,加密密钥在加密U盘内部使用。举例来说,若加密分区的容量为1GB,扇区为262144个,则密钥生成模块为每一个扇区生成一个加密密钥,对应的,需要262144个加密密钥,在生成这些密钥的时候使用哈希算法,以降低加密密钥之间的冲突。即使通过暴力破解并获得明文数据,也需要以扇区为单位,逐个进行破解,大大增加了破解难度。
根据本公开的另一方面,提供了一种数据读取方法,其特征在于,包括:步骤S100,获取PIN码,步骤S200,校验PIN码,若PIN码正确则挂载加密分区并获取加密密钥,步骤S300,使用加密密钥解密解密分区中的密文得到明文。
具体的,参见图3,执行步骤S100,获取PIN码。
在一种可能的实现方式中,在工作人员的个人计算机上,参见图2,执行步骤S001,连接到加密U盘,则弹出PIN码输入框,待工作人员输入PIN码后,即获取PIN码。举例来说,计算机系统为Windows系统,加密U盘的接口为USB3.0,当计算机与加密U盘连接后,自动弹出PIN码输入框,PIN码为8位数,包括字母和数字,工作人员在输入框中输入PIN码,也就获取了PIN码。
进一步的,参见图3,执行步骤S200,校验PIN码,若PIN码正确则挂载加密分区并获取加密密钥。
在一种可能的实现方式中,若第一次使用加密U盘,则强制让工作人员修改PIN码,在工作人员修改PIN码后,保存修改的PIN码,如果不是第一次使用加密U盘,则当工作人员输入PIN码后,即获取PIN码,将获取到的PIN码与保存的PIN码进行校验,若正确,参见图2,则执行步骤S004,挂载加密U盘的加密分区,并且获取到加密密钥。
在另一种可能的实现方式中,若PIN码不正确,则继续获取PIN码并记录获取次数,获取次数小于等于10次。举例来说,当工作人员输入PIN码后,即获取PIN码,将获取到的PIN码与保存的PIN码进行校验,若不正确,执行步骤S003,无法访问加密分区,则重新弹出输入框,即重新获取PIN码,并记录当前的获取次数,若获取次数超过10次,则不再弹出对话框,触发加密密钥自毁程序。
进一步的,参见图3,执行步骤S300,使用加密密钥解密解密分区中的密文得到明文。
在一种可能的实现方式中,在使用加密密钥解密解密分区中的密文得到明文时,使用SM4算法。参见图4,SM4算法主要包括产生参数、轮函数、密钥扩展和加密/解密步骤。
具体的,加密密钥长度为128bit,表示为MK=(MK0,MK1,MK2,MK3),其中MKi(i=0,1,2,3)为字。轮密钥表示为rki(i=0,1,2.....,31)为字。FK=(FK0,FK1,FK2,FK3)为系统参数,CK=(CK0,CK1,.....,CK31)为固定参数,都为字。
进一步的,整体的加密函数为:
Figure BDA0002868242690000071
其中T为一个合成置换,由非线性变换和线性变换复合而成。非线性变换由4个平行的S盒构成,S盒的数据均采用16进制。
线性变换公式如下:
Figure BDA0002868242690000072
其中B为非线性变换得到的字。
进一步的,已知加密密钥MK=(MK0,MK1,MK2,MK3),系统参数FK=(FK0,FK1,FK2,FK3),固定参数CK=(CK0,CK1,.....,CK31).
rki为轮密钥,轮密钥由加密密钥生成。
首先,
Figure BDA0002868242690000081
然后对i=0,1,2,...,31:
Figure BDA0002868242690000082
改变换与加密中的T变换基本相同,只是将其中的线性变换改为:
Figure BDA0002868242690000083
由于系统参数个固定参数是已知的,轮密钥即可求得。
进一步的,加密最后一轮变换时,输出为:
(Y0,Y1,Y2,Y3)=R(X32,X33,X34,X35)=(X35,X34,X33,X32)
最后输出是加密的反序,解密时只是将轮密钥的使用顺序进行逆向进行。
进一步的,根据本公开的另一方面,还提供了一种数据读取装置100。由于本公开实施例的数据读取装置100的工作原理与本公开实施例的数据读取装置方法的原理相同或相似,因此重复之处不再赘述。参见图5,本公开实施例的数据读取装置100包括PIN码获取模块110、加密密钥获取模块120和数据解密模块130;
PIN码获取模块110,被配置为获取PIN码;
加密密钥获取模块120,被配置校验PIN码,若PIN码正确则挂载加密分区并获取加密密钥;
数据解密模块130,被配置使用加密密钥解密解密分区中的密文得到明文。
需要说明的是,尽管以上述各个实施例作为示例介绍了本公开的加密U盘如上,但本领域技术人员能够理解,本公开应不限于此。事实上,用户完全可根据个人喜好和/或实际应用场景灵活设定加密U盘,只要达到所需功能即可。
这样,通过密钥生成模块,被配置为生成加密密钥,数据加密模块,被配置为使用加密密钥加密U盘内的数据并将数据存入加密分区,PIN码模块,被配置为加密加密密钥。这样使用软件加密的安装方式,免除了硬件加密的高成本难升级维护的问题,并通过加密密钥转化存储编码的方式,从逻辑层面上杜绝了被暴力破解的可能性。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (10)

1.一种加密U盘,其特征在于,包括密钥生成模块、PIN码模块和数据加密模块。
所述密钥生成模块,被配置为生成加密密钥;
所述数据加密模块,被配置为使用所述加密密钥加密U盘内的数据并将所述数据存入加密分区;
所述PIN码模块,被配置为加密所述加密密钥。
2.根据权利要求1所述的加密U盘,其特征在于,还包括自毁模块;
所述自毁模块,被配置为当所述PIN码超过预设次数错误时,将所述加密密钥自毁;
所述预设次数为10次。
3.根据权利要求1所述的加密U盘,其特征在于,使用所述加密密钥加密U盘内的数据时,使用分组密码算法进行加密;
所述分组密码为SM4算法。
4.根据权利要求1所述的加密U盘,其特征在于,所述PIN码存储在NOR FLASH中;
所述加密密钥加密U盘内的数据后,将所述数据存储在NAND FLASH中。
5.根据权利要求1所述的加密U盘,其特征在于,还包括初始化模块;
所述初始化模块,被配置为在第一次挂载U盘时强制修改PIN码。
6.根据权利要求1所述的加密U盘,其特征在于,所述加密密钥为多个;
多个所述加密密钥分别对应所述加密U盘的一个扇区;
所述加密密钥在所述加密U盘内部使用。
7.一种数据读取方法,其特征在于,用于实现对权利要求1-6任一项所述的加密U盘进行数据读取,包括:
获取PIN码;
校验所述PIN码,若所述PIN码正确则挂载加密分区并获取加密密钥;
使用所述加密密钥解密所述解密分区中的密文得到明文。
8.根据权利要求7所述的方法,其特征在于,若所述PIN码不正确,则继续获取所述PIN码并记录获取次数;
所述获取次数小于等于10次。
9.根据权利要求7所述的方法,其特征在于,在使用所述加密密钥解密所述解密分区中的密文得到明文时,使用SM4算法。
10.一种数据读取装置,其特征在于,包括PIN码获取模块、加密密钥获取模块和数据解密模块;
所述PIN码获取模块,被配置为获取PIN码;
所述加密密钥获取模块,被配置校验所述PIN码,若所述PIN码正确则挂载加密分区并获取加密密钥;
所述数据解密模块,被配置使用所述加密密钥解密所述解密分区中的密文得到明文。
CN202011596086.0A 2020-12-29 2020-12-29 加密u盘和数据读取方法及装置 Pending CN114036589A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011596086.0A CN114036589A (zh) 2020-12-29 2020-12-29 加密u盘和数据读取方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011596086.0A CN114036589A (zh) 2020-12-29 2020-12-29 加密u盘和数据读取方法及装置

Publications (1)

Publication Number Publication Date
CN114036589A true CN114036589A (zh) 2022-02-11

Family

ID=80139457

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011596086.0A Pending CN114036589A (zh) 2020-12-29 2020-12-29 加密u盘和数据读取方法及装置

Country Status (1)

Country Link
CN (1) CN114036589A (zh)

Similar Documents

Publication Publication Date Title
US9258111B2 (en) Memory device which protects secure data, method of operating the memory device, and method of generating authentication information
US9135417B2 (en) Apparatus for generating secure key using device and user authentication information
US8949626B2 (en) Protection of security parameters in storage devices
US7631195B1 (en) System and method for providing security to a portable storage device
US20110087890A1 (en) Interlocking plain text passwords to data encryption keys
US20130117633A1 (en) Recording apparatus, writing apparatus, and reading apparatus
EP2161673A1 (en) Method and system for protecting data
TWI496161B (zh) 記憶體識別碼產生方法、管理方法、控制器與儲存系統
US8539250B2 (en) Secure, two-stage storage system
CN111131130B (zh) 密钥管理方法及系统
CN111460455B (zh) 自加密固态硬盘的密钥协商方法、安全引导方法及系统
CN112463805B (zh) 用于数据加解密的金钥管理装置及处理器芯片
KR101496975B1 (ko) 고체 상태 디스크 및 이에 대한 입출력방법
US9959216B2 (en) Generating and using an enhanced initialization vector
US20230336337A1 (en) Single-use password generation
CN114036589A (zh) 加密u盘和数据读取方法及装置
US11995223B2 (en) Data storage device encryption
CN112468300B (zh) 具有旁通通道的金钥管理装置及处理器芯片
US20220123932A1 (en) Data storage device encryption
CN107861892A (zh) 一种实现数据处理的方法及终端
CN117501271A (zh) 通过利用物理不可克隆函数puf进行数据加密/解密向主机认证存储设备
TW202036349A (zh) 電腦系統及其虛擬硬碟的加解密方法
CN115185879A (zh) 控制装置、数据处理的方法、存储系统、soc
CN115238302A (zh) 一种基于令牌实现固态硬盘身份认证的方法及系统
KR20130049542A (ko) 메모리 소자 및 이를 포함하는 메모리 시스템

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination