一种针对可移动存储介质的加解密方法及系统与流程

文档序号:19311808发布日期:2019-12-03 23:35阅读:342来源:国知局
一种针对可移动存储介质的加解密方法及系统与流程

本发明涉及数据存储安全技术,具体涉及一种针对可移动存储介质的加解密方法及系统。



背景技术:

数据作为存储系统中最核心的资产,其安全性至关重要。可移动存储介质是一类体积小、携带方便的存储类电子设备,现阶段大部分普遍用于数据的转移和临时存放,是当前最主流的移动存储设备。体积小巧和携带方便是该类设备的优点,同时也带来了这类设备容易丢失的缺点,如果这类设备所存储的文件没有使用加密手段进行加密,那么很容易造成泄密,并在还存在使用过程中由于中了病毒等原因导致可移动存储介质中数据丢失的情况。



技术实现要素:

本发明要解决的技术问题:针对上述背景,提供一种针对可移动存储介质的加解密方法及系统,本发明采用密钥跟随设备,通过分离加解密和文件系统的方式、采用多级加密的方式,提升设备的灵活性和通用性,具有高可靠,安全性强的优点,同时也能够在保证数据的安全的前提下尽可能的不降低设备的读写性能;本发明能够适配不同文件系统、具有低耦合、高性能、高可靠、通用性好的优点,能够最大限度降低加解密数据时延、提高可移动存储介质的灵活性。

为了解决上述技术问题,本发明采用的技术方案为:

一种针对可移动存储介质的加解密方法,包括对可移动存储介质进行加密注册的步骤,详细步骤包括:

a1)获取输入的用户口令以及指定的加解密算法、哈希算法信息;

a2)随机生成加密块设备的密钥,使用用户口令以及指定的加密算法对该密钥进行加密得到密钥密文,使用指定的哈希算法对该密钥进行哈希计算密钥哈希值;

a3)将指定的加解密算法、哈希算法、加密块设备偏移、密钥哈希值、密钥密文位置写入可移动存储介质的指定位置形成加密信息头,所述加密块设备偏移位置为可移动存储介质中用于存储加密数据的加密块存储空间的起始位置;

a4)对加密块设备偏移位置后的加密块存储空间进行格式化,挂载可移动存储介质的加密块存储空间。

可选地,步骤a1)中还包括获取哈希参数,步骤a2)中使用指定的哈希算法对该密钥进行哈希计算密钥哈希值具体是指指定的哈希算法结合该哈希参数进行哈希计算密钥哈希值,且步骤a3)中写入可移动存储介质的指定位置形成加密信息头时还包括写入哈希参数。

可选地,步骤a3)中写入可移动存储介质的指定位置时按照扇区对齐的方式写入可移动存储介质的指定位置,如果加密信息头的长度不满足扇区的整数则进行补0处理。

可选地,步骤a3)中写入可移动存储介质的指定位置具体是指写入0号扇区开始的位置。

可选地,本发明还包括对插入计算机设备的可移动存储介质进行可移动存储介质认证的步骤,详细步骤包括:

b1)接收用户输入的用户口令;

b2)读取存储在可移动存储介质指定位置的加密信息头,如果没有读取到加密信息头,则判定可移动存储介质不是加密设备,结束并退出;否则跳转执行下一步;

b3)使用用户输入的用户口令以及加密信息头中的解密算法对加密信息头中的密钥密文进行解密,如果解密出错则判定可移动存储介质认证失败并退出;否则跳转执行下一步;

b4)使用加密信息头中的哈希算法对解密还原出的密钥明文进行哈希计算密钥哈希值,将计算得到的密钥哈希值、加密信息头中的密钥哈希值进行比较,如果两者相同,则判定可移动存储介质认证成功并挂载可移动存储介质的加密块存储空间,否则判定可移动存储介质认证失败。

可选地,所述挂载可移动存储介质的加密块存储空间包括响应用户的访问操作的步骤,具体步骤包括:等待用户对挂载可移动存储介质的加密块存储空间得到的挂载分区的访问操作,如果检测到用户的写操作,则将写入数据根据加密信息头中的密钥进行加密后存储到挂载分区中;如果检测到用户的读操作,则将从挂载分区中读取的数据根据加密信息头中的密钥进行解密后输出。

此外,本发明还提供一种针对可移动存储介质的加解密系统,包括用于对可移动存储介质进行加密注册的存储介质注册程序模块,所述存储介质注册程序模块包括:

输入程序单元,用于获取输入的用户口令以及指定的加解密算法、哈希算法信息;

密钥生成程序单元,用于随机生成加密块设备的密钥,使用用户口令以及指定的加密算法对该密钥进行加密得到密钥密文,使用指定的哈希算法对该密钥进行哈希计算密钥哈希值;

加密信息头写入程序单元,用于将指定的加解密算法、哈希算法、加密块设备偏移、密钥哈希值、密钥密文位置写入可移动存储介质的指定位置形成加密信息头,所述加密块设备偏移位置为可移动存储介质中用于存储加密数据的加密块存储空间的起始位置;

加密块存储空间初始化程序单元,用于对加密块设备偏移位置后的加密块存储空间进行格式化,挂载可移动存储介质的加密块存储空间。

可选地,本发明针对可移动存储介质的加解密系统还包括对插入计算机设备的可移动存储介质进行可移动存储介质认证的介质认证程序模块,该介质认证程序模块包括:

用户口令接收程序单元,用于接收用户输入的用户口令;

加密信息头读取程序单元,用于读取存储在可移动存储介质指定位置的加密信息头,如果没有读取到加密信息头,则判定可移动存储介质不是加密设备,结束并退出;否则跳转执行下一步;

密钥解密程序单元,用于使用用户输入的用户口令以及加密信息头中的解密算法对加密信息头中的密钥密文进行解密,如果解密出错则判定可移动存储介质认证失败并退出;否则跳转执行下一步;

哈希比较程序单元,用于使用加密信息头中的哈希算法对解密还原出的密钥明文进行哈希计算密钥哈希值,将计算得到的密钥哈希值、加密信息头中的密钥哈希值进行比较,如果两者相同,则判定可移动存储介质认证成功并挂载可移动存储介质的加密块存储空间,否则判定可移动存储介质认证失败。

本发明还提供一种针对可移动存储介质的加解密系统,包括计算机设备,该计算机设备被编程以执行所述针对可移动存储设备的加解密方法的步骤,或者该计算机设备上存储有被编程或者配置以执行所述针对可移动存储设备的加解密方法的计算机程序。

本发明还提供一种计算机可读存储介质,该计算机可读存储介质上存储有被编程或者配置以执行所述针对可移动存储设备的加解密方法的计算机程序。

和现有技术相比,本发明具有下述优点:

1、本发明方法通过使用多级加密机制:用户口令对密钥对进行加密,密钥对块设备数据进行加密,从而能够加强数据的安全性,保证了存储介质数据的安全性。

2、本发明方法采用密钥跟随设备,当在不同的计算机设备中,只需要部署加解密客户端便可使用,从而保证了数据的可用性和用户使用的便利性。同时也满足了可移动存储介质的移动属性。

3、本发明方法能够指定不同的加密算法,用户能够根据自己的需求选择,从而保证了设计的灵活性;

4、本发明方法具有低耦合特性,即加密算法、文件系统、加解密客户端之间的依赖关系弱,模块之间的接口关系简单,从而使得用户能够通过对读写和安全性能的权衡选择合适的加密算法和文件系统。

附图说明

图1为本发明实施例中的注册流程。

图2为本发明实施例中的口令验证流程。

图3为本发明实施例中的可移动存储介质加密结构示意图。

图4为本发明实施例方法的加密信息头示意图。

具体实施方式

下文将u盘作为可移动存储介质的实例,对本发明针对可移动存储介质的加解密方法及系统进行进一步的详细说明。毫无疑问,除了u盘以外,本发明针对可移动存储介质的加解密方法及系统也可以适用于其它各种类型的可移动存储介质,在此不再赘述。本发明针对可移动存储介质的加解密方法及系统预先在计算机设备上部署数据加解密客户端,下述相关功能均为通过数据加解密客户端实现。需要说明的是,数据加解密客户端仅仅是一种在计算机设备上部署的功能性程序,其具体实现可以有多种方式,例如采用应用程序的方式、采用后台服务的方式、采用驱动程序的方式等。

如图1所示,本实施例针对可移动存储介质的加解密方法包括对可移动存储介质进行加密注册的步骤,详细步骤包括:

a1)获取输入的用户口令以及指定的加解密算法、哈希算法信息;

a2)随机生成加密块设备的密钥,使用用户口令以及指定的加密算法对该密钥进行加密得到密钥密文,使用指定的哈希算法对该密钥进行哈希计算密钥哈希值;

a3)将指定的加解密算法、哈希算法、加密块设备偏移、密钥哈希值、密钥密文位置写入可移动存储介质的指定位置形成加密信息头,所述加密块设备偏移位置为可移动存储介质中用于存储加密数据的加密块存储空间的起始位置;

a4)对加密块设备偏移位置后的加密块存储空间进行格式化,挂载可移动存储介质的加密块存储空间(该位置上的数据都是以密文的形式存储,以明文的形式提供给用户)。

本实施例中,步骤a1)中还包括获取哈希参数,步骤a2)中使用指定的哈希算法对该密钥进行哈希计算密钥哈希值具体是指指定的哈希算法结合该哈希参数进行哈希计算密钥哈希值,且步骤a3)中写入可移动存储介质的指定位置形成加密信息头时还包括写入哈希参数,通过哈希参数的方式,能够进一步提高哈希运算的灵活性,进一步增强保证密钥的安全性。

如图3和图4所示,本实施例步骤a3)中写入可移动存储介质的指定位置时按照扇区对齐的方式写入可移动存储介质的指定位置,如果加密信息头的长度不满足扇区的整数则进行补0处理,使得加密信息头占据完整的n个扇区,跟随加密信息头后的是加密块存储空间(用于存储使用密钥进行加密的密文),该长度为存储介质空间长度减去加解密信息头对齐后的长度。按照扇区对齐的方式保存,既能提升机械磁盘设备的读写性能,又能提高u盘等可移动存储介质的闪存颗粒的速率,同时这种存储结构能够提高设计的冗余度,方便后续对加解密信息头的优化,从而提升加解密方法的通用性。

如图3和图4所示,本实施例步骤a3)中写入可移动存储介质的指定位置具体是指写入0号扇区开始的位置,使得加密信息头占据第0~n个扇区,结合前文的按照扇区对齐的方式写入加密信息头,使得跟随加密信息头后的是使用密钥进行加密的密文,该长度为存储介质空间长度减去加解密信息头对齐后的长度,这种存储结构能够提高设计的冗余度,方便后续对加解密信息头的优化,提升加解密方法的通用性。

如图2所示,本实施例还包括对插入计算机设备的可移动存储介质进行可移动存储介质认证的步骤,详细步骤包括:

b1)接收用户输入的用户口令;

b2)读取存储在可移动存储介质指定位置的加密信息头,如果没有读取到加密信息头,则判定可移动存储介质不是加密设备,结束并退出;否则跳转执行下一步;

b3)使用用户输入的用户口令以及加密信息头中的解密算法对加密信息头中的密钥密文进行解密,如果解密出错则判定可移动存储介质认证失败并退出;否则跳转执行下一步;

b4)使用加密信息头中的哈希算法对解密还原出的密钥明文进行哈希计算密钥哈希值,将计算得到的密钥哈希值、加密信息头中的密钥哈希值进行比较,如果两者相同,则判定可移动存储介质认证成功并挂载可移动存储介质的加密块存储空间,否则判定可移动存储介质认证失败。

本实施例中,挂载可移动存储介质的加密块存储空间包括响应用户的访问操作的步骤,具体步骤包括:等待用户对挂载可移动存储介质的加密块存储空间得到的挂载分区的访问操作,如果检测到用户的写操作,则将写入数据根据加密信息头中的密钥进行加密后存储到挂载分区中;如果检测到用户的读操作,则将从挂载分区中读取的数据根据加密信息头中的密钥进行解密后输出。

如图4所示,本实施例中加密信息头还存储有口令密文,口令密文采用密钥加密得到,为步骤a3)中写入可移动存储介质的指定位置时写入。步骤b3)之后、步骤b4)之前还可以根据密钥进行解密口令密文得到解密密文,从而可以进一步根据解密密文、用户输入的用户口令是否一致,如果一致则跳转执行步骤b4)进一步进行哈希值比较。

参见图4可知,本实施例的加密信息头极路由加解密算法、哈希算法、加密块设备偏移、密钥哈希值、密钥密文、口令密文,上述信息均为定长结构,其中:加密算法用于加密密钥得到密钥密文;解密算法用于解密密钥密文得到密钥;加密块设备偏移用于确定加密块存储空间的起始位置;密钥哈希值用于验证密钥的正确性;密钥密文用于存储加密后的密钥;口令密文用于存储加密后的用户口令。为了保证加密信息的安全性,用户口令和密钥信息不能直接存储在加密信息头中,因此使用加密后的口令密文保存,使得保存在加密信息头中的用户口令信息是安全的;而密钥一方面直接由随机函数生成,因此用户不需要关心密钥的复杂程度和记忆难度,由于不能直接在加密信息头中保存密钥,另一方面需要对密钥进行加密为密钥密文,以防止伪造密钥。同时,还通过对密钥进行哈希来验证其正确性。众所周知,哈希的结果是不可逆的,因此可以保证密钥的安全性。在本实施例中用户输入用户口令后,首先使用加密信息头中的加密算法信息对密文进行解密,获取到了密钥的明文,为了验证密钥是否匹配,将获取到的密钥明文使用加密信息头中的哈希参数进行哈希,将其结果与存储在加密信息头的密钥哈希结果进行对比,只有当用户口令输入正确才能确保其哈希结果一致。

综上所述,本实施例针对可移动存储介质的加解密方法和系统通过对可移动存储介质进行注册,将加解密算法、哈希算法、加密块设备偏移、密钥哈希值、密钥密文、用户口令等相关信息写入到可移动存储介质中,从而可以保证可移动存储介质的移动性,同时密钥和用户口令信息均是以加密的方式写入可移动存储介质,从而可以保证可移动存储介质的安全性和可靠性;并且本实施例针对可移动存储介质的加解密方法和系统将加解密、文件系统等模块进行分离,从而具有可拓展性、低耦合的优点。

本发明还提供一种针对可移动存储介质的加解密系统,包括用于对可移动存储介质进行加密注册的存储介质注册程序模块,存储介质注册程序模块包括:

输入程序单元,用于获取输入的用户口令以及指定的加解密算法、哈希算法信息;

密钥生成程序单元,用于随机生成加密块设备的密钥,使用用户口令以及指定的加密算法对该密钥进行加密得到密钥密文,使用指定的哈希算法对该密钥进行哈希计算密钥哈希值;

加密信息头写入程序单元,用于将指定的加解密算法、哈希算法、加密块设备偏移、密钥哈希值、密钥密文位置写入可移动存储介质的指定位置形成加密信息头,所述加密块设备偏移位置为可移动存储介质中用于存储加密数据的加密块存储空间的起始位置;

加密块存储空间初始化程序单元,用于对加密块设备偏移位置后的加密块存储空间进行格式化,挂载可移动存储介质的加密块存储空间。

此外,还包括对插入计算机设备的可移动存储介质进行可移动存储介质认证的介质认证程序模块,该介质认证程序模块包括:

用户口令接收程序单元,用于接收用户输入的用户口令;

加密信息头读取程序单元,用于读取存储在可移动存储介质指定位置的加密信息头,如果没有读取到加密信息头,则判定可移动存储介质不是加密设备,结束并退出;否则跳转执行下一步;

密钥解密程序单元,用于使用用户输入的用户口令以及加密信息头中的解密算法对加密信息头中的密钥密文进行解密,如果解密出错则判定可移动存储介质认证失败并退出;否则跳转执行下一步;

哈希比较程序单元,用于使用加密信息头中的哈希算法对解密还原出的密钥明文进行哈希计算密钥哈希值,将计算得到的密钥哈希值、加密信息头中的密钥哈希值进行比较,如果两者相同,则判定可移动存储介质认证成功并挂载可移动存储介质的加密块存储空间,否则判定可移动存储介质认证失败。

此外,本实施例还提供一种针对可移动存储介质的加解密系统,包括计算机设备,该计算机设备被编程以执行所述针对可移动存储设备的加解密方法的步骤,或者该计算机设备上存储有被编程或者配置以执行所述针对可移动存储设备的加解密方法的计算机程序。

此外,本实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有被编程或者配置以执行所述针对可移动存储设备的加解密方法的计算机程序。

以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1