一种加密U盘数据交换的方法与流程
未命名
09-17
阅读:183
评论:0
一种加密u盘数据交换的方法
技术领域
1.本发明属于数据安全交换领域,尤其涉及一种加密u盘数据交换的方法。
背景技术:
2.随着信息技术的快速发展,数据交换的安全性和保密性变得尤为重要。使用u盘交换数据,是当前最常用的数据交换手段,但是传统的u盘及其数据交换方式通常没有考虑数据安全问题,存在数据泄露和未经授权访问的风险。为了保证u盘数据的安全性,现有技术中已经出现了对数据进行加密保护的u盘,但是现有的加密u盘通常只是简单地基于用户密码对数据进行加密存储,安全等级不高;或者需要通过联网验证的方式来保护数据,依赖于互联网服务。如何在恶劣环境下以及互联网服务停用时,保证u盘数据交换的安全性是需要解决的一个技术问题。
技术实现要素:
3.因此,为了解决现有技术中的上述问题,本发明提供了一种加密u盘数据交换的方法。
4.本发明采用的技术方案具体如下:一种加密u盘数据交换的方法,所述加密u盘包括普通存储区、密钥存储区、加密存储区、基础密钥开关和控制器,所述普通存储区用于存储无需加密的文件,所述加密存储区用于存储加密后的文件,所述密钥存储区用于存储u盘的基础密钥,且所述密钥存储区只能由所述控制器读取,连接u盘的外部设备无法读取所述密钥存储区;所述基础密钥开关用于控制所述外部设备写所述密钥存储区的权限,当所述基础密钥开关关闭时,所述外部设备无法写所述密钥存储区,当所述基础密钥开关被打开时,所述外部设备才能写所述密钥存储区;所述方法的具体步骤包括:步骤100:随机生成基础密钥k0,在用户打开基础密钥开关后,将所述基础密钥k0写入所述密钥存储区;步骤200:在数据发送设备与数据接收设备交换数据之前,所述数据接收设备根据其设备配置信息,生成设备的唯一标识符uid;步骤300:所述数据发送设备获取数据接收设备的设备唯一标识符uid,并请求用户输入加密密码k1;步骤400:所述数据发送设备将uid和 k1发送给所述控制器,所述控制器根据三元组《k0,k1,uid》生成加密密钥key;步骤500:所述数据发送设备将数据文件发送给所述加密u盘,所述控制器根据所述加密密钥key对所述数据文件进行加密,将加密后的数据文件存储在所述加密存储区;步骤600:当数据接收设备插入所述加密u盘后,所述数据接收设备实时计算其设备唯一标识符uid;
步骤700:当数据接收设备的用户需要解密所述加密存储区的加密文件时,数据接收设备请求用户输入加密密码k1;步骤800:所述数据接收设备将uid和 k1发送给所述加密u盘,所述控制器从所述密钥存储区读取基础密钥k0,根据三元组《k0,k1,uid》生成加密密钥key,并使用所述加密密钥key对用户选择的加密文件进行解密。
5.进一步地,所述基础密钥开关是一个物理开关,例如一个硬件按钮或者一个拨动开关。
6.进一步地,所述数据发送设备和所述数据接收设备安装相应的应用软件,以实现所述方法。
7.进一步地,所述步骤100包括:所述控制器检测所述密钥存储区内是否已存储了基础密钥k0,如果没有,所述控制器通知所述应用软件;或者,所述应用软件向所述控制器发送查询消息,以确定密钥存储区内是否具有基础密钥。
8.所述步骤100还可以进一步包括:如果密钥存储区内没有存储基础密钥,则所述应用软件请求用户打开所述基础密钥开关;在完成步骤100后,所述应用软件通知用户,关闭所述基础密钥开关。
9.进一步地,所述设备配置信息包括数据接收设备的cpu信息、主板信息、硬盘信息、网卡的mac地址。
10.进一步地,在离线环境下,由数据接收设备的用户将所述uid告知数据发送设备的用户,由数据发送设备的用户将所述uid输入数据发送设备的应用软件;或者,在在线环境下,通过线上的加密通道,数据接收设备将所述uid发送给所述数据发送设备。
11.进一步地,所述控制器计算所述三元组的哈希值,将计算获得的哈希值作为加密密钥key。
12.进一步地,所述数据接收设备的应用软件监控u盘插入情况,当发现所述加密u盘插入数据接收设备,所述应用软件实时计算当前的数据接收设备的设备唯一标识符uid。
13.本发明的有益效果是:通过加密数据进行数据交换,为了正确解密,加密文件只能存储在加密时使用的u盘里,u盘只能插在指定的数据接收设备上,并由用户输入正确的加密密码,才能解密,大大提高了数据交换的安全性。
附图说明
14.此处所说明的附图是用来提供对本发明的进一步理解,构成本发明的一部分,但并不构成对本发明的不当限定,在附图中:图1是本发明u盘的基本结构图。
具体实施方式
15.下面将结合附图以及具体实施例来详细说明本发明,其中的示意性实施例以及说明仅用来解释本发明,但并不作为对本发明的限定。
16.参见附图1,其示出了本发明所涉及的u盘的基本结构,本发明的u盘包括三个存储
区域:普通存储区1、密钥存储区2和加密存储区3。需要说明的是,这是对u盘存储区域逻辑上的划分,在具体实现上,每个存储区可以采用一个单独的物理存储器来实现,也可以将一个物理存储器划分为不同的存储区域,本发明对此不作限制。
17.其中,所述普通存储区1与正常的u盘存储区相同,用于存储无需加密的文件。因此本发明的u盘也可以作为一个普通u盘使用,可以通过读写普通存储区来实现普通u盘的功能。
18.所述加密存储区3用于存储加密后的文件,当需要使用本发明u盘的安全加密功能来进行数据交换时,加密后的文件都存储于所述加密存储区。相应的,当需要解密文件时,需要解密的文件也从所述加密存储区读取。
19.所述密钥存储区2用于存储u盘的基础密钥,所述基础密钥在加解密文件时使用,其具体的使用方式在后文说明。优选的,密钥存储区采用一个单独的物理存储器实现。并且,所述u盘具有一个基础密钥开关,所述开关是一个物理硬件开关(例如一个硬件按钮,或者一个拨动的硬件开关),其设置于u盘表面。用户可以直接操作该开关,当所述开关被关闭时,所述密钥存储区内存储的数据无法被外界读写,只能由u盘自身的控制器读取;当所述开关被打开时,连接该u盘的计算机才可以写所述密钥存储区,但也不能读所述密钥存储区。也就是说,所述密钥存储区内的基础密钥,只能由所述控制器读取;外部计算机无法读取所述密钥存储区内的基础密钥,且只能在基础密钥开关打开时,写入或修改所述基础密钥。
20.基于上述u盘结构,本发明提供了相应的应用软件(例如u盘驱动程序)来实现本发明的安全数据交换的功能。当然,如果不安装本发明的软件,基于所述u盘的普通存储区,所述u盘也可以作为一个普通u盘使用。下面对通过所述应用软件实现的加密u盘数据交换方法的各个步骤进行详细说明。
21.步骤100:随机生成基础密钥k0并写入u盘的所述密钥存储区。
22.在进行加密u盘的数据交换之前,需要首先生成一个基础密钥k0;具体的,所述u盘的控制器可以检测密钥存储区内是否已存储了基础密钥k0,如果没有,所述控制器可以通知所述应用软件,当然,所述应用软件也可以主动向所述控制器发送查询消息,以确定密钥存储区内是否具有基础密钥。
23.如果密钥存储区内没有基础密钥,则应用软件会通知用户需要生成基础密钥(例如弹出通知窗口),要求用户打开所述u盘的基础密钥开关。在所述基础密钥开关被打开后,所述应用软件随机生成一个基础密钥k0,并将其写入所述密钥存储区。
24.在完成步骤100后,所述应用软件通知用户,关闭所述基础密钥开关。
25.加密u盘的用户也可以根据需要,在任意时候主动操作应用软件更新密钥存储区内的基础密钥。
26.步骤200:在数据发送设备与数据接收设备交换数据之前,所述数据接收设备根据其设备的配置信息,生成设备的唯一标识符uid。
27.具体的,本发明的数据发送设备指的是发送数据文件的设备,而数据接收设备指的是接收数据文件的设备。也就是说,通过本发明的方法,数据发送设备将数据文件存入本发明的加密u盘,然后数据接收设备可以从所述加密u盘读取该数据文件,并且只能由指定的数据接收设备读取并解密该数据文件。而指定数据接收设备的方法是通过数据接收设备
的唯一标识符uid。
28.所述uid是由本发明的应用软件基于设备的配置信息生成的,例如,所述设备配置信息可以包括数据接收设备的cpu型号信息(例如cpu id)、主板的型号信息(例如主板序列号)、硬盘序列号、网卡的mac地址等等。应用软件读取上述设备配置信息,根据预定的编码方法,对设备配置信息进行编码,生成设备的唯一标识符uid。优选的,生成的uid是一个字符串,例如uideab19x6kg30h,这样的形式。
29.步骤300:所述数据发送设备获取数据接收设备的设备唯一标识符uid,并要求用户输入加密密码k1。
30.所述数据发送设备的应用软件在加密数据文件之前,需要获取两个数据:数据接收设备的设备唯一标识符uid,和用户输入的加密密码。例如,在离线环境下,数据接收设备的用户可以将所述uid告知数据发送设备的用户,由数据发送设备的用户将所述uid输入所述应用软件;或者,在在线环境下,可以通过线上的加密通道,数据接收设备将所述uid发送给所述数据发送设备。
31.所述加密密码k1是由所述用户自己设置并输入所述应用软件的密码,属于用户个人的加密密码。
32.步骤400:所述数据发送设备将uid和 k1发送给所述u盘的控制器,所述控制器根据三元组《k0,k1,uid》生成加密密钥key。
33.具体的,在所述u盘插入所述数据发送设备后,数据发送设备可以与u盘建立通信,并将其获取的uid和 k1发送给所述u盘的控制器。所述u盘控制器从其密钥存储区读取基础密钥k0,构成用于生成加密密钥的三元组《k0,k1,uid》。
34.基于上述三元组,所述u盘控制器生成相应的加密密钥,优选的,所述u盘控制器计算上述三元组的哈希值,将计算获得的哈希值作为加密密钥key。由于基础密钥k0只能由u盘的控制器读取,因此实际上只有该u盘的控制器才能生成正确的加密密钥key,保证密钥的安全性。
35.步骤500:所述数据发送设备将数据文件发送给所述u盘,所述u盘控制器根据所述加密密钥key对所述数据文件进行加密,将加密后的数据文件存储在所述u盘的加密存储区。
36.具体的,本发明采用对称的分组加密算法,数据发送设备将所述数据文件分组成多个块,逐块发送给所述u盘。所述u盘控制器使用所述加密密钥key和所述分组加密算法,逐块加密并存入加密存储区,所有块加密完成后,即得到加密后的数据文件。
37.通过上述加密过程可以看出,数据文件的加密需要用户的加密密码k1、u盘的基础密钥k0和数据接收设备的uid。与此相对应的,文件的解密也必须要求相同的加密密码k1,相同的u盘基础密钥k0,相同的uid;也就是说,加密文件只能存储在加密时使用的u盘里、u盘只能插在与uid相对应的数据接收设备上,由用户输入相同的加密密码,才能进行解密;三者缺一不可,大大加强了数据交换的安全性。
38.另外,不同的用户可以使用不同的加密密码,这样,使用同一个u盘,不同的用户可以使用其各自的加密密码,也可以指定不同的数据接收设备进行接收。
39.至此,数据发送方已完成数据交换操作,将用于数据交换的加密后的数据文件存入本发明的加密u盘。然后数据发送方可以将所述u盘交给数据接收方,数据接收方通过下
面的步骤读取并解密所述数据文件。
40.步骤600:当数据接收设备插入所述u盘后,所述数据接收设备实时计算其设备唯一标识符uid。
41.具体的,所述数据接收设备的应用软件监控u盘插入情况,当发现本发明的u盘插入数据接收设备,所述应用软件实时计算当前的数据接收设备的设备唯一标识符uid。具体的计算uid的方法应当与步骤200相同,从而保证只有与步骤200相同的数据接收设备,才能解密步骤500生成的加密文件。
42.步骤700:当数据接收设备的用户需要解密所述u盘加密存储区的加密文件时,请求用户输入加密密码k1。
43.具体的,数据接收设备的用户选择所述u盘的某个加密文件,并指示所述应用软件读取并解密该文件。此时所述应用软件会请求用户输入加密密码k1,此处输入的加密密码k1应当与步骤300中输入的加密密码相同,否则就无法解密。数据发送方的用户和数据接收方的用户可以提前协商好所述加密密码。
44.在用户输入加密密码k1后,数据接收设备可以进行文件解密。
45.步骤800:所述数据接收设备将uid和 k1发送给所述u盘的控制器,所述控制器读取基础密钥k0,根据三元组《k0,k1,uid》生成加密密钥key,并使用所述加密密钥key对用户选择的加密文件进行解密。
46.步骤800的过程实际上与步骤400-500的过程相对应。只要uid和k1是正确的,则所述u盘控制器就可以正确解密该文件。如果u盘没有插入正确的数据接收设备,则获取的uid与加密的uid不符,就无法解密。另外,如果用户只是简单的拷贝了加密文件,该加密文件没有存储在正确的u盘里,则无法获取正确的基础密钥k0,也无法正确解密该文件。总之,正确的u盘、正确的数据接收设备和正确的用户密码,三者缺一不可,使得本技术的数据交换方法具有很高的安全性。
47.以上所述仅是本发明的较佳实施方式,故凡依本发明专利申请范围所述的构造、特征及原理所做的等效变化或修饰,均包括于本发明专利申请范围内。
技术特征:
1.一种加密u盘数据交换的方法,其特征在于,所述加密u盘包括普通存储区、密钥存储区、加密存储区、基础密钥开关和控制器,所述普通存储区用于存储无需加密的文件,所述加密存储区用于存储加密后的文件,所述密钥存储区用于存储u盘的基础密钥,且所述密钥存储区只能由所述控制器读取,连接u盘的外部设备无法读取所述密钥存储区;所述基础密钥开关用于控制所述外部设备写所述密钥存储区的权限,当所述基础密钥开关关闭时,所述外部设备无法写所述密钥存储区,当所述基础密钥开关被打开时,所述外部设备才能写所述密钥存储区;所述方法的具体步骤包括:步骤100:随机生成基础密钥k0,在用户打开基础密钥开关后,将所述基础密钥k0写入所述密钥存储区;步骤200:在数据发送设备与数据接收设备交换数据之前,所述数据接收设备根据其设备配置信息,生成设备的唯一标识符uid;步骤300:所述数据发送设备获取数据接收设备的设备唯一标识符uid,并请求用户输入加密密码k1;步骤400:所述数据发送设备将uid和 k1发送给所述控制器,所述控制器根据三元组<k0,k1,uid>生成加密密钥key;步骤500:所述数据发送设备将数据文件发送给所述加密u盘,所述控制器根据所述加密密钥key对所述数据文件进行加密,将加密后的数据文件存储在所述加密存储区;步骤600:当数据接收设备插入所述加密u盘后,所述数据接收设备实时计算其设备唯一标识符uid;步骤700:当数据接收设备的用户需要解密所述加密存储区的加密文件时,数据接收设备请求用户输入加密密码k1;步骤800:所述数据接收设备将uid和 k1发送给所述加密u盘,所述控制器从所述密钥存储区读取基础密钥k0,根据三元组<k0,k1,uid>生成加密密钥key,并使用所述加密密钥key对用户选择的加密文件进行解密。2.根据权利要求1所述的方法,其特征在于,所述基础密钥开关是一个物理开关。3.根据权利要求2所述的方法,其特征在于,所述基础密钥开关是一个硬件按钮或者一个拨动开关。4.根据权利要求1所述的方法,其特征在于,所述数据发送设备和所述数据接收设备安装相应的应用软件,以实现所述方法。5.根据权利要求4所述的方法,其特征在于,所述步骤100包括:所述控制器检测所述密钥存储区内是否已存储了基础密钥k0,如果没有,所述控制器通知所述应用软件;或者,所述应用软件向所述控制器发送查询消息,以确定密钥存储区内是否具有基础密钥。6.根据权利要求5所述的方法,其特征在于,所述步骤100进一步包括:如果密钥存储区内没有存储基础密钥,则所述应用软件请求用户打开所述基础密钥开关;在完成步骤100后,所述应用软件通知用户,关闭所述基础密钥开关。7.根据权利要求1所述的方法,其特征在于,所述设备配置信息包括数据接收设备的
cpu信息、主板信息、硬盘信息、网卡的mac地址。8.根据权利要求1所述的方法,其特征在于,在离线环境下,由数据接收设备的用户将所述uid告知数据发送设备的用户,由数据发送设备的用户将所述uid输入数据发送设备的应用软件;或者,在在线环境下,通过线上的加密通道,数据接收设备将所述uid发送给所述数据发送设备。9.根据权利要求1所述的方法,其特征在于,所述控制器计算所述三元组的哈希值,将计算获得的哈希值作为加密密钥key。10.根据权利要求1所述的方法,其特征在于,所述数据接收设备的应用软件监控u盘插入情况,当发现所述加密u盘插入数据接收设备,所述应用软件实时计算当前的数据接收设备的设备唯一标识符uid。
技术总结
本发明涉及一种加密U盘数据交换的方法,该方法将U盘划分为三个存储区域:普通存储区、加密存储区和密钥存储区,U盘控制器使用密钥存储区的基础密钥、数据接收设备的唯一标识符和用户密码生成加密密钥,使用该加密密钥对数据文件进行加密后存储在加密存储区。数据接收设备同样需要上述信息才能解密文件,提高了数据交换的安全性。据交换的安全性。据交换的安全性。
技术研发人员:朱凯 陆大伟 夏彬彬 杨豪放 王晓东 魏群
受保护的技术使用者:江苏盖睿健康科技有限公司
技术研发日:2023.08.11
技术公布日:2023/9/14
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
