首页 / 专利库 / 电脑零配件 / 计算机系统 / 软件 / 系统软件 / 操作系统 / 固态盘数据安全存储的密钥管理方法

固态盘数据安全存储的密钥管理方法

阅读:35发布:2022-10-01

专利汇可以提供固态盘数据安全存储的密钥管理方法专利检索,专利查询,专利分析的服务。并且本 发明 提供了一种固态盘数据安全存储的密钥管理方法,具体如下:为存储服务提供者颁发属性证书步骤中的密钥管理;存储服务提供者给用户颁发属性证书步骤中的密钥管理;用户与固态盘 控制器 之间的双向认证步骤中的密钥管理;数据读写步骤中的秘钥管理。本发明涉及各种功能的密钥,在密钥的产生、传输、使用过程中都对密钥进行了加密保护,并采用 硬件 设计的密钥生成 算法 ,使得即使密钥的合法使用者也不能获取密钥,提高了密钥的安全性,增强了数据保护的安全性。,下面是固态盘数据安全存储的密钥管理方法专利的具体信息内容。

1.一种固态盘数据安全存储的密钥管理方法,其特征在于,具体步骤如下:
1)为存储服务提供者颁发属性证书:
为存储服务提供者颁发属性证书步骤中的密钥管理方法如下:
1.1)存储服务提供者在USBKEY中生成公私钥对,将包括公钥、服务提供者名称、证书用途在内的参数合并生成证书请求
1.2)以PIN码为密钥参数,调用KGEN算法生成密钥KP,并用KP加密私钥保存在服务提供者的USBKEY中;所述服务提供者的USBKEY仅用做固态盘公私钥的导入,不提供公私钥的加解密和签名功能;
1.3)存储服务提供者将证书请求发送给CA中心,CA中心为存储服务提供者生成数字签名证书,即为属性证书;
1.4)存储服务提供者将自己的属性证书导入到固态盘控制器的密钥缓冲区,同时输入PIN码,将USBKEY中加密存储的私钥,直接导入到FPGA中,在FPGA内部,以PIN码为密钥参数,调用KGEN算法生成密钥KP,并用KP作为私有数据加密私钥,作为FPGA内部密钥之一;
2)为存储服务提供者和用户颁发属性证书,
存储服务提供者给用户颁发属性证书步骤中的密钥管理方法如下:
2.1)用户在用户的USBKEY中生成公私钥对,将包括公钥、用户名称、证书用途在内的参数合并成证书请求,私钥用PIN码加密后保存在用户的USBKEY中;
2.2)用户将证书请求发送给存储服务提供者,存储服务提供者在证书请求中附加上为用户分配的固态盘访问范围及其他权限信息,生成新的证书请求;
2.3)存储服务提供者将新的证书请求发送给固态盘控制器,固态盘控制器为证书生成签名,形成属性证书;
2.4)存储服务提供者将属性证书返回给用户。
3)用户与固态盘控制器之间的双向认证;
用户与固态盘控制器之间的双向认证步骤中的密钥管理方法如下:
3.1)用户将用户属性证书和随机挑战r1发送给固态盘控制器;
3.2)固态盘控制器验证用户属性证书;
3.3)验证完成后,固态盘控制器将服务提供者属性证书,对r1和随机挑战r2使用用户公钥加密后的加密数据,附上服务提供者的签名,发送给用户;
3.4)用户验证服务提供者属性证书和签名的正确性;
3.5)验证完成后,用户将经过服务提供者公钥加密的会话秘钥KS、经过服务提供者公钥加密的KD、经过服务提供者公钥加密的r2,附上用户签名,发送给固态盘控制器;
3.6)固态盘控制器验证用户属性证书和签名的正确性,解密KS、KD;
3.7)将r1⊕r2作为流密码的向量,对“OK”字符串先用存储秘钥KD加密,传输过程中再用会话秘钥KS加密;
3.8)用户通过对字符串的解密,验证KS、KD的正确性,完成双向认证过程;
4)数据读写;
数据读写步骤中的秘钥管理主要是:数据在用户操作系统和固态盘控制器之间使用流密码进行传输加密,然后用存储密钥KD加密后保存在FLASH之中;具体如下:
4.1)写数据
用户端以r1⊕r2,KS作为通信加密的种子和密钥,可以预计算流密钥保存在操作系统的内存中,当有数据需要写入固态盘的时候,直接用流密钥异或数据发送给固态盘的SATA接口,保证数据通信的高效性;
用户端数据到达固态盘控制器后,送入固态盘控制器的FPGA加密装置,FPGA首先用通信密钥解密,然后用存储密钥KD加密后写入FLASH;
4.2)读数据
读数据是写数据的逆过程,FLASH中的数据首先通过FPGA的KD解密,然后用会话密钥加密后传给用户,用户操作系统从流密钥缓冲区中获取流密钥与密文异或即可得到明文。
2.根据权利要求1所述的密钥管理方法,其特征在于,所述KGEN算法为保密的密钥生成算法,并以硬件的方式固化在USBKEY和固态盘控制器中。
3.根据权利要求1所述的密钥管理方法,其特征在于,所述密钥KD由用户产生,并保存在用户的USBKEY中,固态盘控制器解密KD后,将其动态注入固态盘控制器的FPGA中。
4.根据权利要求1所述的密钥管理方法,其特征在于,所述步骤1)中属性证书采用当前的PKI体系架构通用的X.509数字证书结构,其扩展部分填入当前存储服务提供者的权限属性,并由CA中心签名。
5.根据权利要求1所述的密钥管理方法,其特征在于,所述步骤1)中属性证书采用当前的PKI体系架构通用的X.509数字证书结构,其扩展部分填入当前用户的权限属性,并由存储服务提供者签名。
6.根据权利要求1所述的密钥管理方法,其特征在于,所述步骤4.1)中FPGA解密通信数据后,明文数据不返回给固态盘控制器,直接在FPGA内部传递给存储加密算法。

说明书全文

固态盘数据安全存储的密钥管理方法

技术领域

[0001] 本发明涉及信息安全技术,尤其涉及一种固态盘数据安全存储的密钥管理方法。

背景技术

[0002] 目前主要有如下几种密钥管理方式:
[0003] 1.可信平台模(TPM)是由可信计算组织(Truesed Computing Group,TCG)定义的。TPM安全芯片嵌入到主机主板,通过TPM安全芯片将计算机的硬盘与计算机进行绑定,并且可以设置访问密码,防止非法用户访问硬盘。TPM安全芯片本身具有强大的计算功能,能够产生随机数、执行非对称加密算法、对称加密算法以及单向散列算法等,并分配了一定的安全存储区域,用于存储加解密算法使用的密钥,和用户设置的密钥,对于存储的加解密算法密钥的空间,访问需要一定身份认证;存储在TPM安全芯片上的密钥,即使掉电其密钥信息也不会丢失。
[0004] 2.软件加密,使用主机的资源通过加解密算法对数据进行运算操作。使用基于软件加密产品的计算机系统,性能不是主要考虑的因素,主要考虑对私有数据的保护。软件加密提供的是基于文件和文件夹级加密。软件加密的特点:实施成本低,无需额外的硬件设备支持;软件加密灵活,可以支持多种加密算法,可以提供用户自主选择合适的加密算法。软件加密的缺点:加解密操作使用系统资源,加解密速度受系统的影响;密钥在内存中使用,密钥使用安全性低;软件加密相对硬件加密速度慢。
[0005] 3.硬件加密,数据的加解密操作独立于系统资源,通过硬件的方式实施加解密引擎。对于传统的硬盘硬件加密有两种实施方式:非硬盘生产商研发的硬盘加密卡、硬盘生产厂商的加密硬盘。
[0006] 硬盘加密卡,是在主机与存储设备的数据传输路径之间串接数据加解密的设备,如Enova公司生产的X-WALL安全芯片。硬盘加密卡截取传输的数据并判断是否需要进行加解密操作,无需加密的数据直接通过加密卡,若需要执行加解密操作,硬盘加密卡内的加解密引擎实施加解密操作。整个加解密操作对于用户是透明的,无需使用系统资源。
[0007] 加密硬盘,希捷公司使用FDE(Full Disk Encryption)技术在传统硬盘的基础上加入3D Crypto芯片和DriverTrust固件,并分配安全区域,存储加密使用的密钥和用户使用的密码。加密硬盘通过加密芯片对读写数据流进行加解密处理,加密操作对用户透明。
[0008] 4.固态硬盘控制器加密引擎。在现有存储设备的数据保护技术中,TPM安全芯片主要防止非法用户访问存储设备中的数据,而存储在设备中数据是明文;软件加密依靠系统资源,加解密速度有限;加密卡、加密芯片透明的对数据进行加解密操作,需要独立的硬件实施,导致成本急剧上升。在固态硬盘控制器中通过FPGA方式实施加密引擎,加密引擎的操作不占用系统资源,无需独立的硬件资源,数据以密文的方式存储在设备中。因此,研究固态硬盘控制器加密引擎的实施,提出一种高效低开销的设计具有重要的意义。控制器是固态盘的核心技术,为了有效的保障信息安全的建设,我们只有自主掌握核心控制器技术,才能有效的在控制器内部完成数据的加密,真正透明的完成密钥和数据分离的数据存储机理研究,并形成系统级的解决方案。

发明内容

[0009] 本发明要解决的技术问题在于针对现有技术中的缺陷,提供一种固态盘数据安全存储的密钥管理方法。
[0010] 本发明解决其技术问题所采用的技术方案是:一种固态盘数据安全存储的密钥管理方法,具体如下:
[0011] 1)为存储服务提供者颁发属性证书:
[0012] 给存储服务提供者颁发属性证书的密钥管理方法如下:
[0013] 1.1)存储服务提供者在USBKEY中生成公私钥对,将包括公钥、服务提供者名称、证书用途在内的参数合并生成证书请求
[0014] 1.2)以PIN码为密钥参数,调用KGEN算法生成密钥KP,并用KP加密私钥保存在服务提供者的USBKEY中;所述服务提供者的USBKEY仅用做固态盘公私钥的导入,不提供公私钥的加解密和签名功能;
[0015] 1.3)存储服务提供者将证书请求发送给CA中心,CA中心为存储服务提供者生成数字签名证书,即为属性证书;
[0016] 1.4)存储服务提供者将自己的属性证书导入到固态盘控制器的密钥缓冲区,同时输入PIN码,将USBKEY中加密存储的私钥,直接导入到FPGA中,在FPGA内部,以PIN码为密钥参数,调用KGEN算法生成密钥KP,并用KP作为私有数据加密私钥,作为FPGA内部密钥之一;
[0017] 2)为存储服务提供者和用户颁发属性证书,
[0018] 存储服务提供者给用户颁发属性证书中的密钥管理方法如下:
[0019] 2.1)用户在用户的USBKEY中生成公私钥对,将包括公钥、用户名称、证书用途在内的参数合并成证书请求,私钥用PIN码加密后保存在用户的USBKEY中;
[0020] 2.2)用户将证书请求发送给存储服务提供者,存储服务提供者在证书请求中附加上为用户分配的固态盘访问范围及其他权限信息,生成新的证书请求;
[0021] 2.3)存储服务提供者将新的证书请求发送给固态盘控制器,固态盘控制器为证书生成签名,形成属性证书;
[0022] 2.4)存储服务提供者将属性证书返回给用户。
[0023] 3)用户与固态盘控制器之间的双向认证;
[0024] 用户与固态盘控制器之间的双向认证中的密钥管理方法如下:
[0025] 3.1)用户将用户属性证书和随机挑战r1发送给固态盘控制器;
[0026] 3.2)固态盘控制器验证用户属性证书;
[0027] 3.3)验证完成后,固态盘控制器将服务提供者属性证书,对r1和随机挑战r2使用用户公钥加密后的加密数据,附上服务提供者的签名,发送给用户;
[0028] 3.4)用户验证服务提供者属性证书和签名的正确性;
[0029] 3.5)验证完成后,用户将经过服务提供者公钥加密的会话秘钥KS、经过服务提供者公钥加密的KD、经过服务提供者公钥加密的r2,附上用户签名,发送给固态盘控制器;
[0030] 3.6)固态盘控制器验证用户属性证书和签名的正确性,解密KS、KD;
[0031] 3.7)将r1⊕r2作为流密码的向量,对“OK”字符串先用存储秘钥KD加密,传输过程中再用会话秘钥KS加密;
[0032] 3.8)用户通过对字符串的解密,验证KS、KD的正确性,完成双向认证过程。
[0033] 双向认证结束后,彼此确认对方身份,用户方将KD加密保存在USBKEY中,并保留r1⊕r2,KS作为通信加密的种子和密钥,硬盘控制器保留r1⊕r2,KS,KD,将他们直接置入FPGA中;
[0034] 4)数据读写;
[0035] 数据读写的秘钥管理主要是:数据在用户操作系统和固态盘控制器之间使用流密码进行传输加密,然后用存储密钥KD加密后保存在FLASH之中;具体如下:
[0036] 4.1)写数据
[0037] 用户端以r1⊕r2,KS作为通信加密的种子和密钥,可以预计算流密钥保存在操作系统的内存中,当有数据需要写入固态盘的时候,直接用流密钥异或数据发送给固态盘的SATA接口,保证数据通信的高效性;
[0038] 用户端数据到达固态盘控制器后,送入固态盘控制器的FPGA加密装置,FPGA首先用通信密钥解密,然后用存储密钥KD加密后写入FLASH。为了防止恶意攻击者拆卸硬盘控制器组建实施攻击,FPGA解密通信数据后,明文数据不返回给固态盘控制器,直接在FPGA内部传递给存储加密算法;
[0039] 4.2)读数据
[0040] 读数据是写数据的逆过程,FLASH中的数据首先通过FPGA的KD解密,然后用会话密钥加密后传给用户,用户操作系统从流密钥缓冲区中获取流密钥与密文异或即可得到明文。
[0041] 按上述方案,所述KGEN算法为保密的密钥生成算法,并以硬件的方式固化在USBKEY和固态盘控制器中。
[0042] 按上述方案,所述密钥KD由用户产生,并保存在用户的USBKEY中,固态盘控制器解密KD后,将其动态注入固态盘控制器的FPGA中。
[0043] 按上述方案,所述步骤1)中属性证书采用当前的PKI体系架构通用的X.509数字证书结构,其扩展部分填入当前存储服务提供者的权限属性,并由CA中心签名。
[0044] 按上述方案,所述步骤1)中属性证书采用当前的PKI体系架构通用的X.509数字证书结构,其扩展部分填入当前用户的权限属性,并由存储服务提供者签名。
[0045] 本发明产生的有益效果是:本发明涉及各种功能的密钥,在密钥的产生、传输、使用过程中都对密钥进行了加密保护,并采用硬件设计的密钥生成算法,使得即使密钥的合法使用者也不能获取密钥,提高了密钥的安全性,增强了数据保护的安全性。附图说明
[0046] 下面将结合附图及实施例对本发明作进一步说明,附图中:
[0047] 图1是本发明实施例的为存储服务提供者和用户颁发属性证书流程示意图;
[0048] 图2是本发明实施例的用户与固态盘控制器的双向认证流程图
[0049] 图3是本发明实施例的固态盘控制器结构框图

具体实施方式

[0050] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0051] 一种固态盘数据安全存储的密钥管理方法,具体如下:
[0052] 1)为存储服务提供者和用户颁发属性证书中涉及的密钥管理:
[0053] 所述属性证书采用当前的PKI体系架构通用的X.509数字证书结构,其扩展部分填入当前存储服务提供者的权限属性,并由CA中心签名。其流程如图1所示。
[0054] 给存储服务提供者颁发属性证书的方法如下:
[0055] 1.1)存储服务提供者在USBKEY中生成公私钥对,将包括公钥、服务提供者名称、证书用途在内的参数合并生成证书请求;
[0056] 1.2)以PIN码为密钥参数,调用KGEN算法生成密钥KP,并用KP加密私钥保存在服务提供者的USBKEY中;所述服务提供者的USBKEY仅用做固态盘公私钥的导入,不提供公私钥的加解密和签名功能;
[0057] 1.3)存储服务提供者将证书请求发送给CA中心,CA中心为存储服务提供者生成数字签名证书,即为属性证书;
[0058] 1.4)存储服务提供者将自己的属性证书导入到固态盘控制器的密钥缓冲区,同时输入PIN码,将USBKEY中加密存储的私钥,直接导入到FPGA中,在FPGA内部,以PIN码为密钥参数,调用KGEN算法生成密钥KP,KP为私有数据加密私钥,作为FPGA内部密钥之一。
[0059] 存储服务提供者给用户颁发属性证书的方法如下:
[0060] 2.1)用户在用户的USBKEY中生成公私钥对,将包括公钥、用户名称、证书用途在内的参数合并成证书请求,私钥用PIN码加密后保存在用户的USBKEY中;
[0061] 2.2)用户将证书请求发送给存储服务提供者,存储服务提供者在证书请求中附加上为用户分配的固态盘访问范围及其他权限信息,生成新的证书请求;
[0062] 2.3)存储服务提供者将新的证书请求发送给固态盘控制器,固态盘控制器为证书生成签名,形成属性证书;
[0063] 2.4)存储服务提供者将属性证书返回给用户。
[0064] 3)用户与固态盘控制器之间的双向认证中涉及的密钥管理
[0065] 用户与固态盘控制器之间的双向认证可以防止任何一方假冒,同时协商会话密钥参数,该密钥用于对数据实施传输加密。
[0066] 双向认证的流程如图2所示。
[0067] 3.1)用户将用户属性证书和随机挑战r1发送给固态盘控制器;
[0068] 3.2)固态盘控制器验证用户属性证书;
[0069] 3.3)验证完成后,固态盘控制器将服务提供者属性证书,对r1和随机挑战r2使用用户公钥加密后的加密数据,附上服务提供者的签名,发送给用户;
[0070] 3.4)用户验证服务提供者属性证书和签名的正确性;
[0071] 3.5)验证完成后,用户将经过服务提供者公钥加密的会话秘钥KS、经过服务提供者公钥加密的KD、经过服务提供者公钥加密的r2,附上用户签名,发送给固态盘控制器;
[0072] 3.6)固态盘控制器验证用户属性证书和签名的正确性,解密KS、KD;
[0073] 3.7)将r1⊕r2作为流密码的向量,对“OK”字符串先用存储秘钥KD加密,传输过程中再用会话秘钥KS加密;
[0074] 3.8)用户通过对字符串的解密,验证KS、KD的正确性,完成双向认证过程。
[0075] 双向认证结束后,彼此确认对方身份,用户方将KD加密保存在USBKEY中,并保留r1⊕r2,KS作为通信加密的种子和密钥,硬盘控制器保留r1⊕r2,KS,KD,将他们直接置入FPGA中;
[0076] 4)数据读写中涉及的密钥管理
[0077] 如图3,数据在用户操作系统和固态盘控制器之间使用流密码进行传输加密,然后用存储密钥KD加密后保存在FLASH之中;
[0078] 4.1)写数据
[0079] 用户端以r1⊕r2,KS作为通信加密的种子和密钥,可以预计算流密钥保存在操作系统的内存中,当有数据需要写入固态盘的时候,直接用流密钥异或数据发送给固态盘的SATA接口,保证数据通信的高效性;
[0080] 用户端数据到达固态盘控制器后,送入固态盘控制器的FPGA加密装置,FPGA首先用通信密钥解密,然后用存储密钥KD加密后写入FLASH。为了防止恶意攻击者拆卸硬盘控制器组建实施攻击,FPGA解密通信数据后,明文数据不返回给固态盘控制器,直接在FPGA内部传递给存储加密算法。
[0081] 4.2)读数据
[0082] 读数据是写数据的逆过程,FLASH中的数据首先通过FPGA的KD解密,然后用会话密钥加密后传给用户,用户操作系统从流密钥缓冲区中获取流密钥与密文异或即可得到明文。
[0083] 本发明涉及各种功能的密钥,系统在密钥的产生、传输、使用过程中都对密钥进行了加密保护,并采用硬件设计的密钥生成算法,使得即使密钥的合法使用者也不能获取密钥,提高了密钥的安全性,增强了数据保护的安全性。
[0084] 为了保证固态盘加密系统的安全性,系统设计了各种不同种类的密钥,密钥功能及分类如表1所示。
[0085] 表1系统密钥一览表
[0086]
[0087]
[0088]
[0089] 按照本发明所设计的密钥,可以有效地抵御盗取密钥的攻击行为。用户和服务提供者均采用USBKEY(u盘)保护其公私钥,USBKEY具有片内生成公私钥的功能,用户的私钥自生成之时起,便加密保存在USBKEY中,不能读取,服务提供者的私钥生成时加密保存在USBKEY中,导入固态盘的时候采用秘密的KGEN算法,并直接存入FPGA,因此攻击者无法获取。此外,由于服务提供者的USBKEY仅用作密钥数据的导入,即使攻击者获取了服务提供者的USBKEY也无法冒充其进行解密和数字签名。
[0090] 应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈