一种固态盘加密方法和系统的制作方法

文档序号:6552206阅读:195来源:国知局
一种固态盘加密方法和系统的制作方法
【专利摘要】本发明公开了一种固态盘加密方法,包括:将固态盘的物理地址空间划分为一个只读的公开区和若干个加密区,公开区中存放认证系统,用来建立用户、密钥和固态盘之间的安全连接,并将密钥导入固态盘。固态盘获得密钥后根据密钥前缀查找密钥逻辑地址映射表完成一次硬盘隐藏分区切换,显示该密钥对应的数据区,并对逻辑块地址进行重新设定。本发明利用固态盘内在的“异地更新”产生的“被覆盖”历史数据遗留在固态盘中的特征实现将固态盘回滚恢复至之前的历史时间点状态,从而实现基于SSD的连续数据保护的功能。本发明利用固态盘内在固有的映射机制实现加密分区的隐藏和切换以及认证系统的植入,从而实现灵活的密钥导入功能,并支持多用户的分别加密。
【专利说明】一种固态盘加密方法和系统

【技术领域】
[0001] 本发明属于计算机数据存储和安全领域,更具体地,涉及一种固态盘加密方法和 系统。

【背景技术】
[0002] 随着技术的发展,基于闪存的设备已经有了很大的技术进步,这巩固了固态硬盘 (Solid State Drive,简称SSD)代替传统机械硬盘作为首选存储媒体的领导地位,并且将 固态硬盘部署在企业级存储系统的研究方向上也打开了新的视野。近年来由于固态硬盘存 在数据窃取的问题,且在某些特殊领域如军事领域对数据安全的要求很高,因此对固态硬 盘的加密处理显得尤为重要。
[0003] 传统硬盘加密系统如图1所示,包括BI0S101和一块固态硬盘102。该固态硬盘 上包含一个控制器103用于控制存储介质和支持接口协议,和若干存储介质104用于存储 用户数据。其中,控制器上有加解密模块105和其他控制模块106 ;存储介质中存放了安全 密钥107。用户通过输入口令来获得安全密钥的访问权,再通过安全密钥对数据进行加密/ 解密。
[0004] 传统硬盘加密方法如图2所示,包括以下步骤:
[0005] (1)用户通过BIOS输入口令来获得密钥的访问权;
[0006] (2)控制模块将存放在固态盘内的密钥加载至加解密模块;
[0007] (3)加解密模块为固态盘输入/输出的数据加密/解密。
[0008] 然而,传统的硬盘加密方法都是基于BIOS实现的,因此具有如下缺陷:
[0009] 1、整块固态硬盘使用同一个安全密钥,因此,不支持多用户数据区的分别加密,从 而大大降低了安全性,也局限了系统的适用范围。
[0010] 2、密钥存放在固态硬盘上,即和用户数据放在一起,通过窃取固态硬盘可同时得 到密钥和密文,因此大大降低了安全性;
[0011] 3、传统固态硬盘加密方法的密钥存放在存储介质上,即由生产硬盘的厂商负责保 管方法的实施,因此有可能造成密钥泄漏,降低了系统安全性。
[0012] 4、传统固态硬盘加密方法中的只能通过BIOS 口令认证的方式获取密钥使用权, 且该口令遵循ΑΤΑ协议,导致复杂性不高,容易被破解。


【发明内容】

[0013] 针对现有技术的以上缺陷或改进需求,本发明提供了一种固态盘加密方法和系 统,其目的在于,解决现有方法中存在的安全性差、实现方式单一的技术问题,并结合固态 盘本身的特性,利用固态盘内在固有的映射机制,来实现加密分区的隐藏和切换以及认证 系统的植入,从而实现灵活的固态盘加密。
[0014] 为实现上述目的,按照本发明的一个方面,提供了一种固态盘加密方法,其应用在 包括固态盘的用户终端中,该方法包括以下步骤:
[0015] (1)在用户终端上电时隐藏固态盘的加密区,并对用户显示固态盘的公开区,并将 公开区设置为只读状态;其中,公开区是在固态盘初始化阶段设定的,其大小等于初始化阶 段写入其中的用户身份认证程序的大小,固态盘还包括在系统初始化阶段设置的至少一个 加密区,其具体数量等于使用固态盘的用户数量;
[0016] (2)将公开区中的用户身份认证程序加载到内存中,并运行该用户身份认证程序, 以建立该用户身份认证程序与密钥存储设备之间的连接;
[0017] (3)接收用户的身份认证和鉴权请求,并根据该身份认证和鉴权请求确定该用户 是否具有使用密钥存储设备中对应密钥的权限,如果有则进入步骤(4),否则过程结束;
[0018] (4)通过用户身份认证程序并采用AES加密方法建立密钥存储设备与固态盘之间 的安全链接;
[0019] (5)使用AES中的公钥将密钥存储设备中的对应密钥进行加密,并将加密后的密 钥传送到固态盘;
[0020] (6)使用AES中的私钥将加密后的密钥解密,以得到密钥明文;
[0021] (7)隐藏固态盘的公开区,并根据密钥明文前缀与前缀对应数据块的起始逻辑地 址、以及数据块大小的映射关系对用户显示与该用户对应的固态盘的加密区;
[0022] (8)重启用户终端,并使用密钥明文对用户存取固态盘的数据进行加/解密操作, 其中在用户终端掉电时,密钥明文会自动丢失。
[0023] 优选地,用户终端是个人电脑、笔记本、或服务器。
[0024] 优选地,密钥存储设备是USB Key、智能卡、或密钥服务器。
[0025] 优选地,身份认证和鉴权请求中携带有用户的指纹、口令、视网膜信息、用户ID信 肩、。
[0026] 按照本发明的另一方面,提供了一种固态盘加密系统,其应用在包括固态盘的用 户终端中,并包括:
[0027] 第一模块,用于在用户终端上电时隐藏固态盘的加密区,并对用户显示固态盘的 公开区,并将公开区设置为只读状态;其中,公开区是在固态盘初始化阶段设定的,其大小 等于初始化阶段写入其中的用户身份认证程序的大小,固态盘还包括在系统初始化阶段设 置的至少一个加密区,其具体数量等于使用固态盘的用户数量;
[0028] 第二模块,用于将公开区中的用户身份认证程序加载到内存中,并运行该用户身 份认证程序,以建立该用户身份认证程序与密钥存储设备之间的连接;
[0029] 第三模块,用于接收用户的身份认证和鉴权请求,并根据该身份认证和鉴权请求 确定该用户是否具有使用密钥存储设备中对应密钥的权限,如果有则进入第四模块,否则 过程结束;
[0030] 第四模块,用于通过用户身份认证程序并采用AES加密方法建立密钥存储设备与 固态盘之间的安全链接;
[0031] 第五模块,用于使用AES中的公钥将密钥存储设备中的对应密钥进行加密,并将 加密后的密钥传送到固态盘;
[0032] 第六模块,用于使用AES中的私钥将加密后的密钥解密,以得到密钥明文;
[0033] 第七模块,用于隐藏固态盘的公开区,并根据密钥明文前缀与前缀对应数据块的 起始逻辑地址,以及数据块大小的映射关系对用户显示与该用户对应的固态盘的加密区;
[0034] 第八模块,用于重启用户终端,并使用密钥明文对用户存取固态盘的数据进行加/ 解密操作。其中在用户终端掉电时,密钥明文会自动丢失。
[0035] 总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有 益效果:
[0036] 1、由于采用了步骤(1),系统运行在只读分区,且独占运行,不会遭到修改、破坏和 恶意监听,进一步提高了安全性。
[0037] 2、由于采用了步骤(2),密钥存放在U-key或其它第三方可信介质上,可以提高系 统安全性,同时支持多样化的认证方式,如视网膜认证、指纹认证和短信认证等等。
[0038] 3、由于采用了步骤(1)、步骤(3)和步骤(7),可以实现多密钥的加密,以及多分区 的切换,从而支持了多用户的安全使用。

【专利附图】

【附图说明】
[0039] 图1是传统硬盘加密系统的示意图。
[0040] 图2是传统硬盘加密方法的示意图。
[0041] 图3是本发明固态盘加密方法的流程图。

【具体实施方式】
[0042] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对 本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并 不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要 彼此之间未构成冲突就可以相互组合。
[0043] 本发明的总体思路在于,利用物理地址空间的公共区(只读)的特点来实现支持 多用户、多样化认证方式的密钥导入方法和系统。由于固态盘中不存放密钥,仅仅只在密钥 逻辑地址映射表中存放密钥前缀,因此,通过固态盘无法破解密文,大大提升了安全性。用 户成功导入密钥后,借助密钥逻辑地址映射表完成了固态盘切换。
[0044] 如图3所示,本发明固态盘加密方法,其应用在包括固态盘的用户终端中(该用户 终端可以是个人电脑、笔记本、服务器等),该方法包括以下步骤:
[0045] (1)在用户终端上电时隐藏固态盘的加密区,并对用户显示固态盘的公开区,并 将公开区设置为只读状态;其中,公开区是在固态盘初始化阶段设定的,其大小等于初始化 阶段写入其中的用户身份认证程序的大小,固态盘还包括在系统初始化阶段设置的至少一 个加密区,其具体数量等于使用固态盘的用户数量,大小是由用户根据其具体使用需求指 定;
[0046] 本步骤的优点在于,系统运行在只读分区,且独占运行,不会遭到修改、破坏和恶 意监听,进一步提高了安全性。
[0047] (2)将公开区中的用户身份认证程序加载到内存中,并运行该用户身份认证程序, 以建立该用户身份认证程序与密钥存储设备之间的连接;具体而言,密钥存储设备包括USB Key、智能卡、密钥服务器等;
[0048] 本步骤的优点在于,密钥存放在第三方可信介质上,可以提高系统安全性,同时支 持多样化的认证方式。
[0049] (3)接收用户的身份认证和鉴权请求,并根据该身份认证和鉴权请求确定该用户 是否具有使用密钥存储设备中对应密钥的权限,如果有则进入步骤(4),否则过程结束;具 体而言,该身份认证和鉴权请求中携带有用户相关信息,包括指纹、口令、视网膜信息、用户 ID等;
[0050] (4)通过用户身份认证程序并采用非对称加密系统(Asymmetric Encryption System,简称AES)加密方法建立密钥存储设备与固态盘之间的安全链接;
[0051] (5)使用AES中的公钥将密钥存储设备中的对应密钥进行加密,并将加密后的密 钥传送到固态盘;
[0052] (6)使用AES中的私钥将加密后的密钥解密,以得到密钥明文;
[0053] (7)隐藏固态盘的公开区,并根据密钥明文前缀与前缀对应数据块的起始逻辑地 址,以及数据块大小的映射关系对用户显示与该用户对应的固态盘的加密区;
[0054] (8)重启用户终端,并使用密钥明文对用户存取固态盘的数据进行加/解密操作。 其中在用户终端掉电时,密钥明文会自动丢失。
[0055] 以下结合一个实例描述本发明的方法:首先,在用户终端上电时隐藏固态盘的加 密区,并对用户显示固态盘的公开区,并将公开区设置为只读状态;其中,将公开区设置为 512MB,并设置2个加密区A、B,其大小分别为512MB和1024MB ;然后,将公开区中的用户身 份认证程序加载到内存中,并运行该用户身份认证程序,以建立该用户身份认证程序与USB Key之间的连接;其后,接收用户通过指纹输入的身份认证和鉴权请求,并确定该用户具有 使用USB Key中对应密钥的权限;随后,通过用户身份认证程序并采用AES加密方法建立 USB Key与固态盘之间的安全链接;其后,使用AES中的公钥将USB Key中的对应密钥进行 加密,并将加密后的密钥传送到固态盘,使用AES中的私钥将加密后的密钥解密,以得到密 钥明文;其后,隐藏固态盘的公开区,并根据密钥明文前缀与前缀对应数据块的起始逻辑地 址,以及数据块大小的映射关系对用户显示与该用户对应的固态盘的加密区;最后,重启用 户终端,并使用密钥明文对用户存取固态盘的数据进行加/解密操作,其中在用户终端掉 电时,密钥明文会自动丢失。
[0056] 本发明的固态盘加密系统,其应用在包括固态盘的用户终端中(该用户终端可以 是个人电脑、笔记本、服务器等),并包括:
[0057] 第一模块,用于在用户终端上电时隐藏固态盘的加密区,并对用户显示固态盘的 公开区,并将公开区设置为只读状态;其中,公开区是在固态盘初始化阶段设定的,其大小 等于初始化阶段写入其中的用户身份认证程序的大小,固态盘还包括在系统初始化阶段设 置的至少一个加密区,其具体数量等于使用固态盘的用户数量,大小是由用户根据其具体 使用需求指定;
[0058] 第二模块,用于将公开区中的用户身份认证程序加载到内存中,并运行该用户身 份认证程序,以建立该用户身份认证程序与密钥存储设备之间的连接;具体而言,密钥存储 设备包括USB Key、智能卡、密钥服务器等;
[0059] 第三模块,用于接收用户的身份认证和鉴权请求,并根据该身份认证和鉴权请求 确定该用户是否具有使用密钥存储设备中对应密钥的权限,如果有则进入第四模块,否则 过程结束;具体而言,该身份认证和鉴权请求中携带有用户相关信息,包括指纹、口令、视网 膜信息、用户ID等;
[0060] 第四模块,用于通过用户身份认证程序并采用非对称加密系统(Asymmetric Encryption System,简称AES)加密方法建立密钥存储设备与固态盘之间的安全链接;
[0061] 第五模块,用于使用AES中的公钥将密钥存储设备中的对应密钥进行加密,并将 加密后的密钥传送到固态盘;
[0062] 第六模块,用于使用AES中的私钥将加密后的密钥解密,以得到密钥明文;
[0063] 第七模块,用于隐藏固态盘的公开区,并根据密钥明文前缀与前缀对应数据块的 起始逻辑地址,以及数据块大小的映射关系对用户显示与该用户对应的固态盘的加密区; [0064] 第八模块,用于重启用户终端,并使用密钥明文对用户存取固态盘的数据进行加/ 解密操作。其中在用户终端掉电时,密钥明文会自动丢失。
[〇〇65] 本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以 限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含 在本发明的保护范围之内。
【权利要求】
1. 一种固态盘加密方法,其应用在包括固态盘的用户终端中,其特征在于,该方法包括 以下步骤: (1) 在用户终端上电时隐藏固态盘的加密区,并对用户显示固态盘的公开区,并将公开 区设置为只读状态;其中,公开区是在固态盘初始化阶段设定的,其大小等于初始化阶段写 入其中的用户身份认证程序的大小,固态盘还包括在系统初始化阶段设置的至少一个加密 区,其具体数量等于使用固态盘的用户数量; (2) 将公开区中的用户身份认证程序加载到内存中,并运行该用户身份认证程序,以建 立该用户身份认证程序与密钥存储设备之间的连接; (3) 接收用户的身份认证和鉴权请求,并根据该身份认证和鉴权请求确定该用户是否 具有使用密钥存储设备中对应密钥的权限,如果有则进入步骤(4),否则过程结束; (4) 通过用户身份认证程序并采用AES加密方法建立密钥存储设备与固态盘之间的安 全链接; (5) 使用AES中的公钥将密钥存储设备中的对应密钥进行加密,并将加密后的密钥传 送到固态盘; (6) 使用AES中的私钥将加密后的密钥解密,以得到密钥明文; (7) 隐藏固态盘的公开区,并根据密钥明文前缀与前缀对应数据块的起始逻辑地址、以 及数据块大小的映射关系对用户显示与该用户对应的固态盘的加密区; (8) 重启用户终端,并使用密钥明文对用户存取固态盘的数据进行加/解密操作,其中 在用户终端掉电时,密钥明文会自动丢失。
2. 根据权利要求1所述的固态盘加密方法,其特征在于,用户终端是个人电脑、笔记 本、或服务器。
3. 根据权利要求1所述的固态盘加密方法,其特征在于,密钥存储设备是USB Key、智 能卡、或密钥服务器。
4. 根据权利要求1所述的固态盘加密方法,其特征在于,身份认证和鉴权请求中携带 有用户的指纹、口令、视网膜信息、用户ID信息。
5. -种固态盘加密系统,其应用在包括固态盘的用户终端中,并包括: 第一模块,用于在用户终端上电时隐藏固态盘的加密区,并对用户显示固态盘的公开 区,并将公开区设置为只读状态;其中,公开区是在固态盘初始化阶段设定的,其大小等于 初始化阶段写入其中的用户身份认证程序的大小,固态盘还包括在系统初始化阶段设置的 至少一个加密区,其具体数量等于使用固态盘的用户数量; 第二模块,用于将公开区中的用户身份认证程序加载到内存中,并运行该用户身份认 证程序,以建立该用户身份认证程序与密钥存储设备之间的连接; 第三模块,用于接收用户的身份认证和鉴权请求,并根据该身份认证和鉴权请求确定 该用户是否具有使用密钥存储设备中对应密钥的权限,如果有则进入第四模块,否则过程 结束; 第四模块,用于通过用户身份认证程序并采用AES加密方法建立密钥存储设备与固态 盘之间的安全链接; 第五模块,用于使用AES中的公钥将密钥存储设备中的对应密钥进行加密,并将加密 后的密钥传送到固态盘; 第六模块,用于使用AES中的私钥将加密后的密钥解密,以得到密钥明文; 第七模块,用于隐藏固态盘的公开区,并根据密钥明文前缀与前缀对应数据块的起始 逻辑地址,以及数据块大小的映射关系对用户显示与该用户对应的固态盘的加密区; 第八模块,用于重启用户终端,并使用密钥明文对用户存取固态盘的数据进行加/解 密操作。其中在用户终端掉电时,密钥明文会自动丢失。
6. 根据权利要求5所述的固态盘加密系统,其特征在于,用户终端是个人电脑、笔记 本、或服务器。
7. 根据权利要求5所述的固态盘加密系统,其特征在于,密钥存储设备是USB Key、智 能卡、或密钥服务器。
8. 根据权利要求5所述的固态盘加密系统,其特征在于,身份认证和鉴权请求中携带 有用户的指纹、口令、视网膜信息、用户ID信息。
【文档编号】G06F12/14GK104090853SQ201410315521
【公开日】2014年10月8日 申请日期:2014年7月3日 优先权日:2014年7月3日
【发明者】吴非, 谢长生, 夏峰, 裴舒逸 申请人:武汉迅存科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1