一种兼容BitLocker加密磁盘的跨平台数据安全保护方法技术

技术编号:27060010 阅读:16 留言:0更新日期:2021-01-15 14:40
本发明专利技术提供一种兼容BitLocker加密磁盘的跨平台数据安全保护方法,包括如下步骤:S1.创建开启加密请求;S2.判断文件系统是否支持加密;若支持,则判断剩余空间是否大于或等于预设值;S3.若小于预设值,则不能完成加密;若大于或等于预设值,则生成元数据;S4.将FS1的DBR和相关数据从偏移Offset1拷贝到偏移Offset2;S5.访问的FS2的DBR并建立相关的FAT表;S6.写入跨平台解密程序;S7.将未使用的扇区标记为已使用;标记FS2实际使用的扇区为已使用;S8.将生成的元数据写入偏移Offset3位置;写入BitLocker磁盘兼容标记;S9.读取扇区数据后将扇区明文数据加密并写回对应每个扇区,即完成加密。本发明专利技术解决了目前基于FUSE框架实现的方案效率并不高,无法高度集成于Mac和Linux系统中的问题。

【技术实现步骤摘要】
一种兼容BitLocker加密磁盘的跨平台数据安全保护方法
本专利技术涉及计算机
、数据安全保护
、解密加密
,更具体地涉及一种兼容BitLocker加密磁盘的跨平台数据安全保护方法。
技术介绍
业界跨平台数据安全保护方案中最著名的是TrueCrypt。TrueCrypt是一款开源的跨平台(Windows、Mac、Linux等)数据安全保护方案,已支持多种加密算法和模式,但在2014年5月时宣布停止维护和更新,因为安全问题,TrueCrypt已建议用户将重要加密数据迁移至WindowsBitLocker进行存储和使用。微软在WindowsVista系统中引入并高度集成了BitLocker,BitLocker已是一套成熟稳定安全的磁盘加密方案。BitLocker通过加密整个驱动器卷,来保护用户在此卷上的所有文件,并可以通过密码或者恢复密钥来进行解密访问。当前微软尚未提供BitLocker加密磁盘的跨平台解决方案,即用户无法在Mac、Linux等其他非Windows操作系统中访问BitLocker加密数据的磁盘。第三方开源项目Dislocker等已通过FUSE(用户空间文件系统)框架实现了在Mac、Linux上访问BitLocker加密磁盘。现有的第三方解决BitLocker跨平台访问的方案是依赖FUSE(用户空间文件系统)框架实现的文件系统级别的加密解密方案。但基于FUSE框架实现的方案效率并不高,无法高度集成于Mac和Linux系统中。因此,有必要提供一种兼容BitLocker加密磁盘的跨平台数据安全保护方法,以克服上述问题。
技术实现思路
本专利技术提供了一种兼容BitLocker加密磁盘的跨平台数据安全保护方法,以解决目前基于FUSE框架实现的方案效率并不高,无法高度集成于Mac和Linux系统中的问题,本专利技术在Mac系统中通过过滤驱动实时实现磁盘数据的加密解密,解决了现有技术中缺乏该技术的问题。为解决上述技术问题,本专利技术所采用的技术方案是:一种兼容BitLocker加密磁盘的跨平台数据安全保护方法,包括如下步骤:步骤S1.创建开启加密请求;步骤S2.判断文件系统是否支持加密;若文件系统不支持加密,则确定该文件系统为不支持加密的文件系统;若文件系统支持加密,则继续判断剩余空间是否大于或等于预设值;预设值为总容量的30%;步骤S3.若剩余空间小于预设值,则可用空间不足,不能完成加密;若剩余空间大于或等于预设值,则生成元数据;步骤S4.将FS1的DBR和相关数据从偏移Offset1拷贝到偏移Offset2;步骤S5.在Offset1生成跨平台访问的FS2的DBR,并建立相关的FAT表;步骤S6.往FS2中写入跨平台解密程序;步骤S7.将FS2的FAT表中所有未使用的扇区标记为已使用;在FS1对应的扇区使用位图表中标记FS2实际使用的扇区为已使用;步骤S8.将生成的元数据写入偏移Offset3位置;写入BitLocker磁盘兼容标记;步骤S9.读取每个FS1使用的扇区数据后将扇区明文数据加密,加密后将扇区密文数据写回对应每个扇区,即完成加密。进一步地,步骤S3包括生成元数据的步骤,步骤如下:步骤S31.由Pwd生成key2,由RecoveryKey生成Key4;步骤S32.随机生成256Bit的VMK,随机生成256Bit的FVEK;步骤S33.运用AES算法,将Key2作为参数加密VMK生成Key5;步骤S34.运用AES算法,将Key4作为参数加密VMK生成Key6;步骤S35.将VMK作为AES算法参数加密FVEK后获得Key7;步骤S36.生成元数据。进一步地,步骤S9包括扇区明文数据加密的步骤,步骤如下:步骤S91.获取FVEK;步骤S92.获取读取到的每个FS1使用的扇区数据,该扇区数据为扇区明文数据;步骤S93.运用AES256算法,将FVEK作为参数,加密扇区明文数据;步骤S94.加密后即得到扇区密文数据。进一步地,步骤S9中加密完成后即能跨平台使用,使用前需要解锁和装载加密磁盘,解锁和装载加密磁盘的步骤,步骤如下:步骤a1.系统检测用户插入磁盘;步骤a2.发布以USBPortDriver为栈底的设备栈;步骤a3.发布lOUSBMassStorageDriver服务并压入设备栈;步骤a4.发布lOBlockStorageDriver服务并压入设备栈;步骤a5.判断磁盘是否加密;若磁盘没有加密,则匹配对应文件系统,发布对应IOBSDMediaClient服务并压入设备栈,即装载磁盘成功;步骤a6.若磁盘有加密,则发布iBoysoftlOStorageFilter服务并压入设备栈;提示用户发现新的加密磁盘插入;步骤a7.用户输入Pwd或者RecoveryKey解锁磁盘;从偏移Offset3位置读取元数据并解析元数据;获取FVEK并记录于iBoysoftlOStorageFilter服务中;步骤a8.进行扇区密文数据解密;步骤a9.获取真实文件系统FS1的类型,实现数据映射访问;匹配对应文件系统,发布对应IOBSDMediaClient服务并压入设备栈,即装载磁盘成功。进一步地,步骤a5中判断磁盘是否加密的步骤如下:步骤a51.判断是否加密请求;步骤a52.读取Offset3处扇区数据;步骤a53.检查是否已有加密、UUID等标记;步骤a54.若有,则磁盘已加密;若没有,则磁盘未加密。进一步地,步骤a7中解析元数据的步骤如下:步骤a71.由Pwd生成key2;步骤a72.由RecoveryKey生成Key4;步骤a73.读取元数据,解析出:Salt1、Key5、Salt2、Key6、Key7;步骤a74.运用AES算法,将Key2作为参数解密Key5;判断是否解密成功,若解密成功则获得VMK;若解密不成功则Pwd不匹配;步骤a75.运用AES算法,将Key4作为参数解密Key5;判断是否解密成功,若解密成功则获得VMK;若解密不成功则RecoveryKey不匹配;步骤a76.运用AES算法,将VMK作为参数解密Key7;步骤a77.判断是否解密成功,若解密成功则获得FVEK;若解密不成功则元数据损坏。进一步地,步骤a8中进行扇区密文数据解密的步骤如下:步骤a81.获取步骤a77获得的FVEK;步骤a82.获取扇区密文数据;步骤a83.运用AES256算法,将FVEK作为参数,解密扇区密文数据;步骤a84.解密成功则得到扇区明文数据;解密失败则扇区数据损坏。进一步地,由Pwd生成Key2的步骤如下:步骤b1.获取Pwd;步骤b2.检查密码复杂性;步骤b3.对Pwd进本文档来自技高网
...

【技术保护点】
1.一种兼容BitLocker加密磁盘的跨平台数据安全保护方法,其特征在于,包括如下步骤:/n步骤S1.创建开启加密请求;/n步骤S2.判断文件系统是否支持加密;若文件系统不支持加密,则确定该文件系统为不支持加密的文件系统;若文件系统支持加密,则继续判断剩余空间是否大于或等于预设值;/n步骤S3.若剩余空间小于预设值,则可用空间不足,不能完成加密;若剩余空间大于或等于预设值,则生成元数据;/n步骤S4.将FS1的DBR和相关数据从偏移Offset1拷贝到偏移Offset2;/n步骤S5.在Offset1生成跨平台访问的FS2的DBR,并建立相关的FAT表;/n步骤S6.往FS2中写入跨平台解密程序;/n步骤S7.将FS2的FAT表中所有未使用的扇区标记为已使用;在FS1对应的扇区使用位图表中标记FS2实际使用的扇区为已使用;/n步骤S8.将生成的元数据写入偏移Offset3位置;写入BitLocker磁盘兼容标记;/n步骤S9.读取每个FS1使用的扇区数据后将扇区明文数据加密,加密后将扇区密文数据写回对应每个扇区,即完成加密。/n

【技术特征摘要】
1.一种兼容BitLocker加密磁盘的跨平台数据安全保护方法,其特征在于,包括如下步骤:
步骤S1.创建开启加密请求;
步骤S2.判断文件系统是否支持加密;若文件系统不支持加密,则确定该文件系统为不支持加密的文件系统;若文件系统支持加密,则继续判断剩余空间是否大于或等于预设值;
步骤S3.若剩余空间小于预设值,则可用空间不足,不能完成加密;若剩余空间大于或等于预设值,则生成元数据;
步骤S4.将FS1的DBR和相关数据从偏移Offset1拷贝到偏移Offset2;
步骤S5.在Offset1生成跨平台访问的FS2的DBR,并建立相关的FAT表;
步骤S6.往FS2中写入跨平台解密程序;
步骤S7.将FS2的FAT表中所有未使用的扇区标记为已使用;在FS1对应的扇区使用位图表中标记FS2实际使用的扇区为已使用;
步骤S8.将生成的元数据写入偏移Offset3位置;写入BitLocker磁盘兼容标记;
步骤S9.读取每个FS1使用的扇区数据后将扇区明文数据加密,加密后将扇区密文数据写回对应每个扇区,即完成加密。


2.如权利要求1所述的一种兼容BitLocker加密磁盘的跨平台数据安全保护方法,其特征在于,步骤S3包括生成元数据的步骤,步骤如下:
步骤S31.由Pwd生成key2,由RecoveryKey生成Key4;
步骤S32.随机生成256Bit的VMK,随机生成256Bit的FVEK;
步骤S33.运用AES算法,将Key2作为参数加密VMK生成Key5;
步骤S34.运用AES算法,将Key4作为参数加密VMK生成Key6;
步骤S35.将VMK作为AES算法参数加密FVEK后获得Key7;
步骤S36.生成元数据。


3.如权利要求2所述的一种兼容BitLocker加密磁盘的跨平台数据安全保护方法,其特征在于,步骤S9包括扇区明文数据加密的步骤,步骤如下:
步骤S91.获取FVEK;
步骤S92.获取读取到的每个FS1使用的扇区数据,该扇区数据为扇区明文数据;
步骤S93.运用AES256算法,将FVEK作为参数,加密扇区明文数据;
步骤S94.加密后即得到扇区密文数据。


4.如权利要求1所述的一种兼容BitLocker加密磁盘的跨平台数据安全保护方法,其特征在于,步骤S9中加密完成后即能跨平台使用,使用前需要解锁和装载加密磁盘,解锁和装载加密磁盘的步骤,步骤如下:
步骤a1.系统检测用户插入磁盘;
步骤a2.发布以USBPortDriver为栈底的设备栈;
步骤a3.发布lOUSBMassStorageDriver服务并压入设备栈;
步骤a4.发布lOBlockStorageDriver服务并压入设备栈;
步骤a5.判断磁盘是否加密;
若磁盘没有加密,则匹配对应文件系统,发布对应IOBSDMediaClient服务并压入设备栈,
即装载磁盘成功;
步骤a6.若磁盘有加密,则发布iBoysoftlOStorageFilter服务并压入设备栈;提示用户发现新的加密磁盘插入;
步骤a7.用户输入Pwd或者RecoveryKey解锁磁盘;从偏移Offset3位置读取元数据并解析元数据;获取FVEK并记录于iBoysoftlOStorageFilter服务中;

【专利技术属性】
技术研发人员:罗林何翔
申请(专利权)人:成都艾勃科技有限公司
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1