自加密固态硬盘的密钥协商方法、安全引导方法及系统转让专利
申请号 : CN202010201232.9
文献号 : CN111460455B
文献日 : 2022-01-28
发明人 : 杨震 , 唐晓柯 , 胡毅 , 甘杰 , 涂因子 , 刘梦 , 巩永平 , 于艳艳
申请人 : 北京智芯微电子科技有限公司 , 国网信息通信产业集团有限公司
摘要 :
权利要求 :
1.一种自加密固态硬盘的基于密码钥匙的密钥协商方法,其特征在于,所述方法包括:密码钥匙产生随机数并发送到自加密固态硬盘;
所述自加密固态硬盘对接收到的所述随机数进行加密,生成密文,并将所述密文返回至所述密码钥匙;
所述密码钥匙对接收到的所述密文进行解密,判断所述密文的解密结果是否与所述随机数一致,若一致,则发送获取会话密钥因子信封的指令到所述自加密固态硬盘;
所述自加密固态硬盘根据所述指令产生会话密钥因子,对所述会话密钥因子加密生成所述会话密钥因子信封,并将所述会话密钥因子信封返回至所述密码钥匙;
所述密码钥匙解开所述会话密钥因子信封得到所述会话密钥因子,利用所述随机数与所述会话密钥因子生成第一会话密钥,并产生测试因子,将所述测试因子发送到所述自加密固态硬盘;
所述自加密固态硬盘利用所述密文与所述会话密钥因子生成第二会话密钥,利用所述第二会话密钥与所述密码钥匙进行密钥协商。
2.根据权利要求1所述的自加密固态硬盘的基于密码钥匙的密钥协商方法,其特征在于,所述自加密固态硬盘利用所述第二会话密钥与所述密码钥匙进行密钥协商,包括:所述自加密固态硬盘利用所述第二会话密钥对接收到的测试因子进行加密生成测试密文,将所述测试密文发送到所述密码钥匙;
所述密码钥匙利用所述第一会话密钥对接收到的测试密文进行解密,将所述测试密文的解密结果与所述测试因子进行对比,若所述测试密文的解密结果与所述测试因子一致,所述自加密固态硬盘与所述密码钥匙的密钥协商成功。
3.一种自加密固态硬盘的安全引导方法,基于权利要求1或2所述的自加密固态硬盘的基于密码钥匙的密钥协商方法,其特征在于,所述方法包括:对用户口令及密码钥匙进行认证;
与所述密码钥匙进行密钥协商,生成第二会话密钥;
利用所述第二会话密钥对导入的加密后的密钥加密密钥进行解密,得到密钥加密密钥;所述密钥加密密钥由所述密码钥匙产生,所述加密后的密钥加密密钥由所述密码钥匙利用第一会话密钥对产生的密钥加密密钥进行加密后得到;
利用所述密钥加密密钥对自加密固态硬盘自带的加密密钥进行解密得到明文密钥,利用所述明文密钥解密所述自加密固态硬盘;
引导所述自加密固态硬盘中的操作系统。
4.根据权利要求3所述的自加密固态硬盘的安全引导方法,其特征在于,所述对用户口令及密码钥匙进行认证,包括:
密码钥匙接收用户口令;
所述密码钥匙对所述用户口令进行摘要运算,得到摘要结果;
将所述摘要结果与密码钥匙内置的结果进行对比;
若所述摘要结果与密码钥匙内置的结果一致,则用户口令认证成功;
若所述摘要结果与密码钥匙内置的结果不一致,则扣减密码钥匙内置的错误口令计数器,若扣减后的错误口令计数器不为零,则重新接收用户口令;若扣减后的错误口令计数器为零,则锁定密码钥匙,用户口令认证失败。
5.根据权利要求3所述的自加密固态硬盘的安全引导方法,其特征在于,所述密码钥匙产生密钥加密密钥的方法包括:
扣减密码钥匙的内部计数器,判断扣减后的内部计数器是否为零;
若扣减后的内部计数器不为零,则读取密码钥匙的内部随机数;
根据密钥加密密钥生成算法对内部随机数、密码钥匙ID及用户口令进行运算,得到密钥加密密钥。
6.根据权利要求5所述的自加密固态硬盘的安全引导方法,其特征在于,所述扣减密码钥匙的内部计数器,判断扣减后的内部计数器是否为零,包括:若扣减后的内部计数器为零,则复位内部计数器,并重新产生内部随机数。
7.根据权利要求5所述的自加密固态硬盘的安全引导方法,其特征在于,所述密钥加密密钥生成算法为:
KEK=Left(SM3(R||ID||P),16);
其中,KEK为密钥加密密钥,R为所述内部随机数、ID为所述密码钥匙ID、P为所述用户口令。
8.根据权利要求3所述的自加密固态硬盘的安全引导方法,其特征在于,所述自加密固态硬盘在与所述密码钥匙进行密钥协商之前,识别自加密固态硬盘的安全状态。
9.根据权利要求8所述的自加密固态硬盘的安全引导方法,其特征在于,所述识别自加密固态硬盘的安全状态,包括:
读取自加密固态硬盘的基于NVME协议定义的安全状态指令,以确定自加密固态硬盘已设置加密密钥。
10.一种自加密固态硬盘的安全引导系统,基于权利要求1或2所述的自加密固态硬盘的基于密码钥匙的密钥协商方法,其特征在于,所述系统包括:用户口令验证模块,用于接收用户口令并对用户口令和密码钥匙进行认证;
密钥协商模块,用于自加密固态硬盘与密码钥匙进行密钥协商,以生成会话密钥;
密钥导入模块,用于将所述密码钥匙产生的密钥加密密钥导入所述自加密固态硬盘;
密钥解密模块,用于利用所述密钥加密密钥解密所述自加密固态硬盘的加密密钥得到明文密钥,通过所述明文密钥解密所述自加密固态硬盘;
引导模块,用于引导所述自加密固态硬盘中的操作系统。
11.根据权利要求10所述的自加密固态硬盘的安全引导系统,其特征在于,所述系统还包括:
识别模块,用于识别自加密固态硬盘,并读取所述自加密固态硬盘的安全状态指令,以确定自加密固态硬盘已设置加密密钥。
12.一种自加密固态硬盘,其特征在于,采用权利要求3‑9中任一项所述的自加密固态硬盘的安全引导方法,或包括权利要求10‑11中任一项所述的自加密固态硬盘的安全引导系统。
说明书 :
自加密固态硬盘的密钥协商方法、安全引导方法及系统
技术领域
引导系统、以及一种自加密固态硬盘。
背景技术
数据的用户空间,保留空间用于存储关键参数、数据结构。为避免硬盘被盗或丢失而造成硬
盘数据泄露,通过在硬盘控制器中内嵌高速密码算法模块,使得硬盘数据的加解密可在硬
盘内部进行,对外部完全透明不可见,同时保障硬盘数据读写的性能。自加密硬盘的关键是
数据加密密钥(Data Encrypt Key,以下简称DEK),用于在读写硬盘时,加密和解密存储在
硬盘的数据。
户口令摘要,通过SM3、SHA、MD5等计算得到,存储在固件空间。在自加密硬盘安装到计算机
并开机启动后,BIOS选择自加密硬盘作为启动设备(BIOS需支持),自加密硬盘通过响应
BIOS读盘指令,将存储在硬盘保留空间的口令验证程序加载到计算机内存并获得CPU。该程
序接收用户输入的口令传送给硬盘控制器,硬盘固件计算口令摘要并验证口令,如果口令
验证多次失败,则需用户关机下电后再开机重试。通过口令衍生密钥、DEK恢复算法,解密固
件空间的DEK密文得到DEK用于解密自加密硬盘的密文数据。口令验证程序重启计算机,
BIOS再次选择自加密硬盘作为启动设备。硬盘控制器通过高速密码算法模块和DEK解密用
户空间的操作系统密文,通过响应BIOS读盘指令加载操作系统到计算机内存,操作系统引
导完成。
可引导设备,兼容性较低;口令认证程序需占用自加密硬盘的存储介质空间,减少用户最终
可用空间;口令认证程序无法对口令使用灵活的限制策略,例如试错过多无法永久锁定、试
错次数限制只能在硬盘出厂时确定、无法由用户灵活配置。
LiveOS,实现自加密硬盘对安全U盘及用户的认证。用户与安全U盘通过口令方式认证,安全
U盘与自加密硬盘的认证可通过基于共享对称密钥或非对称密钥的方式认证。认证通过后,
LiveOS从安全U盘读取DEK并传递给自加密硬盘。导入硬盘DEK后,LiveOS重启计算机,用户
手动干预BIOS选项,选择自加密硬盘作为启动设备,硬盘使用DEK解密密文操作系统并加载
到计算机内存,实现操作系统的引导。
做到强相关,是否导入密钥仅依赖于认证的结果,易被攻击,例如攻击认证结果的状态导致
状态翻转,进而窃取DEK密钥的明文;自加密硬盘引导过程需要用户手动干预,通过修改
BIOS选项分别选择安全U盘、自加密硬盘作为启动设备,操作复杂易出错,加大安全引导的
时间开销;无法快速更新安全U盘的密钥,更新密钥时,需要全盘读出硬盘的数据,设置新的
密钥,再写入硬盘数据,过程复杂易出错且时间开销巨大,缩短存储介质的使用寿命;无法
快速擦除全盘数据,清除全盘时,需要对全盘写入随机数或单一无效数据,时间开销大,缩
短存储介质的使用寿命。
发明内容
问题。
钥因子生成所述会话密钥,完成与所述密码钥匙的密钥协商。
所述会话密钥因子生成所述会话密钥,完成与所述密码钥匙的密钥协商,包括:
发送到所述自加密固态硬盘;
发送到所述密码钥匙;
述密码钥匙与所述自加密固态硬盘的密钥协商成功。
数器为零,则锁定密码钥匙,用户口令认证失败。
协商方法通过密钥钥匙与自加密固态硬盘协商产生会话密钥,密钥钥匙通过会话密钥加密
密钥加密密钥KEK,自加密固态硬盘通过会话密钥解密密钥加密密钥KEK,再通过密钥加密
密钥KEK来解密自加密固态硬盘的加密密钥DEK,形成密钥加密密钥KEK和加密密钥DEK的多
重加密保护,大大提升密钥加密密钥KEK和加密密钥DEK的抗攻击性。
钥的时间和存储介质寿命开销。由于自加密固态硬盘内部只存储KEK加密DEK后的密文,擦
除DEK密文便无法解密自加密固态硬盘,因此,可实现快速擦除全盘数据,减少时间开销、延
长存储介质使用寿命。上述的基于密钥协商的安全引导方法,所需的用户口令、密码钥匙中
的内部随机数和自加密固态硬盘的DEK密文数据分布式存储在用户、密码钥匙和自加密固
态硬盘三个实体中,而不对KEK、DEK直接进行存储。存储实体中的密码钥匙与用户之间通过
口令认证,自加密固态硬盘与密钥钥匙之间通过密钥协商相互认证;敏感数据KEK在密钥钥
匙与自加密固态硬盘之间传输时通过密钥协商产生临时的会话密钥进行保护;自加密固态
硬盘密钥恢复涉及的关键数据分布式存储,且存储实体之间严格认证,敏感数据传输经过
严密保护的机制,大大提升自加密固态硬盘加密密钥DEK的安全性。
强度,增强抗键盘监听、屏幕摄录、内存木马攻击等风险。通过密码钥匙的口令认证限制出
错次数、锁定解锁机制,提升用户与密码钥匙口令认证的安全性和灵活性;基于密码钥匙的
密钥协商安全引导程序存放于密码钥匙只读区,无需占用自加密硬盘存储介质空间,减少
自加密硬盘的空间开销。
附图说明
制。在附图中:
具体实施方式
Encrypt Key,数据加密密钥,以下简称DEK)用于对硬盘内存储的用户文件、软件、操作系统
等用户空间的所有数据进行写入时的加密操作,读取时的解密操作。DEK是自加密固态硬盘
安全防护最为重要的数据,在自加密固态硬盘与密码钥匙初始化配对时,在自加密固态硬
盘内部通过真随机数发生器产生。本实施方式中,自加密固态硬盘内部只存储DEK密文,通
过从密码钥匙导入密钥加密密钥(DEKEncrypt Key,DEK密钥加密密钥,以下简称KEK),对
DEK进行解密,解密后的DEK明文只存在于自加密固态硬盘内部的只写寄存器,不能被固件
读出,在硬盘掉电时丢失。
称密钥K,导入自加密固态硬盘的真随机数作为认证用SM4算法对称密钥K’,以上对称密钥K
和K’不能被读出。由密码钥匙产生认证用SM2算法密钥对,将私钥(private key)保存到密
码钥匙内部(不能被读出),将公钥(Public Key)导出保存到自加密固态硬盘。
钥协商过程示意图。如图1和图3所示,本发明实施方式提供一种自加密固态硬盘的基于密
码钥匙的密钥协商方法,所述方法包括:
解密结果与所述随机数不一致,则协商失败,该协商过程终止。
会话密钥因子生成所述会话密钥,完成与所述密码钥匙的密钥协商。
算生成会话密钥N;自加密固态硬盘利用所述密文与所述会话密钥因子进行异或运算生成
会话密钥N’(会话密钥采用对称加密方式生成,密钥钥匙的会话密钥N与自加密固态硬盘的
会话密钥N’相同),密码钥匙与自加密固态硬盘共同使用该会话密钥来加密或解密数据。
将所述测试因子发送到自加密固态硬盘。
所述测试密文发送到密码钥匙。
一致,则密码钥匙与自加密固态硬盘的密钥协商成功。
文,得到DEK明文,并将DEK明文写入只写寄存器,销毁KEK和DEK的中间数据,通过DEK明文解
密自加密固态硬盘。上述利用会话密钥加密、解密KEK,再通过KEK解密DEK的过程可看作是
自加密固态硬盘的加密密钥恢复过程。
新自加密固态硬盘内的DEK密文。上述的密钥协商方法通过密钥钥匙与自加密固态硬盘协
商产生会话密钥,密钥钥匙通过会话密钥加密密钥加密密钥KEK,自加密固态硬盘通过会话
密钥解密密钥加密密钥KEK,再通过密钥加密密钥KEK来解密自加密固态硬盘的加密密钥
DEK,形成密钥加密密钥KEK和加密密钥DEK的多重加密保护,大大提升密钥加密密钥KEK和
加密密钥DEK的抗攻击性。
示,在本发明一种可选实施方式中,自加密固态硬盘的安全引导方法包括:
数器为零,则锁定密码钥匙,用户口令认证失败。
得到KEK。
运算。
匙ID三者参与,且KEK每次都是动态产生,不在密码钥匙内部保存。通过密码钥匙的内部计
数器,可定期更新KEK,显著的增加KEK的抗攻击性;在KEK更新时,自加密硬盘内部的DEK密
文也会同周期更新,增加了DEK抗攻击的特性,实现对DEK的保护。
丢失,则自加密硬盘为解密状态。
写,降低更新密钥的时间和存储介质寿命开销。由于自加密固态硬盘内部只存储KEK加密
DEK后的密文,擦除DEK密文便无法解密自加密固态硬盘,因此,可实现快速擦除全盘数据,
减少时间开销、延长存储介质使用寿命。本发明实施方式中,安全引导所需的用户口令、密
码钥匙中的内部随机数和自加密固态硬盘的DEK密文数据分布式存储在用户、密码钥匙和
自加密固态硬盘三个实体中,而不对KEK、DEK直接进行存储。存储实体中的密码钥匙与用户
之间通过口令认证,自加密固态硬盘与密钥钥匙之间通过密钥协商相互认证;敏感数据KEK
在密钥钥匙与自加密固态硬盘之间传输时通过密钥协商产生临时的会话密钥进行保护;自
加密固态硬盘密钥恢复涉及的关键数据分布式存储,且存储实体之间严格认证,敏感数据
传输经过严密保护的机制,大大提升了自加密固态硬盘加密密钥DEK的安全性。
全强度,增强抗键盘监听、屏幕摄录、内存木马攻击等风险。通过密码钥匙的口令认证限制
出错次数、锁定解锁机制,提升用户与密码钥匙口令认证的安全性和灵活性;基于密码钥匙
的密钥协商安全引导程序存放于密码钥匙只读区,无需占用自加密硬盘存储介质空间,减
少自加密硬盘的空间开销。
密钥协商模块、密钥导入模块、密钥解密模块及引导模块。
自加密固态硬盘。自加密固态硬盘通过所述会话密钥解密所述加密后的KEK,得到KEK。
(即DEK明文)保存到自加密固态硬盘的只写寄存器,DEK明文掉电丢失,则自加密硬盘为解
密状态。
到计算机中,插入与其配对的密码钥匙,加电开启计算机。模式加载器根据计算机的BIOS模
式加载密钥钥匙作为启动设备,自加密固态硬盘解密后,引导模块根据启动前的BIOS模式
(Legacy或UEFI),读取自加密固态硬盘,引导其中的操作系统,完成安全引导流程。具有上
述安全引导系统的自加密固态硬盘能够满足现有的Legacy和UEFI两种模式的BIOS使用场
景的安全引导;而且,无需BIOS支持PCIe接口的自加密固态硬盘作为启动设备,启动过程不
需要人工干预,在满足高安全性的前提下,减少时间开销,降低操作复杂性。
方式的技术方案进行多种简单变型,这些简单变型均属于本发明实施方式的保护范围。
对各种可能的组合方式不再另行说明。