一种支持加密卡功能的可信存储硬盘

文档序号:1889615 发布日期:2021-11-26 浏览:20次 >En<

阅读说明:本技术 一种支持加密卡功能的可信存储硬盘 (Trusted storage hard disk supporting encryption card function ) 是由 邓威 万星 左瑞 马建鹏 郭慧波 任艳慧 于 2021-08-20 设计创作,主要内容包括:本发明涉及一种支持加密卡功能的可信存储硬盘,属于计算机领域。本发明通过在一个PCIe接口上实现两个物理功能,分别为NVMe存储功能和PCIe密码卡功能,同时在可信存储硬盘内部实现内部可信,在上电时PF-0通道先工作,主动度量PF-1通道的NVMe主控固件,符合可信3.0思想中的主动度量要求,同时与宿主机进行可信认证,从而实现主机和硬盘之间可信链的传递确认。本发明实现了硬盘内部的可信,达到可信存储的目标,符合可信3.0的思想,并且,在一个硬盘中实现了PCIe密码卡功能和NVMe存储功能,不仅仅节约了一个设备,降低构建可信计算机的成本,同时所要保护的数据与高安全的可信密码模块处于同一个设备内,大大提高安全程度。(The invention relates to a trusted storage hard disk supporting an encryption card function, and belongs to the field of computers. According to the invention, two physical functions, namely an NVMe storage function and a PCIe password card function, are realized on one PCIe interface, internal credibility is realized in the credible storage hard disk, the PF _0 channel works first when the system is powered on, NVMe master control firmware of the PF _1 channel is actively measured, the requirement of active measurement in a credible 3.0 idea is met, and credible authentication is carried out with a host computer, so that transfer confirmation of a credible link between the host computer and the hard disk is realized. The invention realizes the internal credibility of the hard disk, achieves the aim of credible storage, accords with the idea of credibility of 3.0, realizes the PCIe password card function and the NVMe storage function in one hard disk, saves one device, reduces the cost for constructing a credible computer, and simultaneously, the data to be protected and a high-safety credible password module are positioned in the same device, thereby greatly improving the safety degree.)

一种支持加密卡功能的可信存储硬盘

技术领域

本发明属于计算机领域,具体涉及一种支持加密卡功能的可信存储硬盘。

背景技术

本发明所述的“一种支持加密卡功能的可信存储硬盘”主要是将可信计算机的思想延申到硬盘中,实现了一种具有存储数据加解密、盘内固件可信启动、并能够为宿主机提供可信密码服务的高安全可信存储固态硬盘。

传统的可信计算技术以TCG组织(Truesed Computing Group)所定义的可信赖平台模块(Trusted Platform Module,TPM)为核心。对于可信计算机,最主要的一个特点在于其启动过程中,当BIOS最初阶段启动后,会调用TPM芯片对剩余BIOS和操作系统进行基于杂凑算法的完整性度量,当度量通过时,计算机才会启动,这一过程称之为可信启动。

我国也提出了自己的可信技术,主要包括TCM(Trusted Cryptography Module)和TPCM(Trusted PlatformControl Module)技术。TCM技术体制和TPM基本一致,主要是将其中的算法替换为我国自主密码算法。TPCM核心是沈昌祥院士所提出的可信计算3.0思想,TPCM在TCM的基础上改进了可信软件栈架构。基于TPCM的可信计算机的可信启动过程主要不同在于:TPCM是计算机中首先上电的部件,是最终可信根,可以实现主动度量和主动控制。

TPM/TCM或TPCM本身就是一块标准密码运算部件,如果基于PCIe接口实现,可称为PCIe密码卡或PCIe可信卡,实现丰富的密码功能,包括密码算法、密钥管理、证书管理、密码协议等内容,可以被宿主机按照符合相关标准的软件接口进行调用,从而实现各种密码服务。

传统计算机固态硬盘方案主要是由主控芯片和NandFlash闪存阵列组成,目前最先进的固态存储协议标准是NVMe协议,传输接口为PCIe。在计算机上电时,BIOS会扫描枚举PCIe设备,从而找到NVMe硬盘,并从中启动操作系统。对NVMe固态硬盘实现数据安全增强的方法主要是在NVMe主控中增加数据加密算法,从而实现数据加解密。

目前的可信计算机技术体制中,无论TPM/TCM技术还是TPCM技术中,都主要关注BIOS、操作系统和上层应用软件的可信。而实际上,硬盘中也包含有固件,存在被篡改或入侵的风险。硬盘作为直接存储操作系统和数据的载体,尚未被实现自身的可信启动,不能充分保证自身安全。同时,标准的NVMe硬盘中,其PCIe接口只支持一个物理功能,只能单独作为一个存储设备使用,无法同时实现作为一个PCIe密码卡设备使用。

发明内容

(一)要解决的技术问题

本发明要解决的技术问题是如何提供一种支持加密卡功能的可信存储硬盘,以解决硬盘中也包含有固件,存在被篡改或入侵的风险的问题。

(二)技术方案

为了解决上述技术问题,本发明提出一种支持加密卡功能的可信存储硬盘,该硬盘包括PCIe接口模块、密码模块、NVMe主控模块、内部可信控制模块、NandFlash阵列和非易失存储,

所述PCIe接口模块负责与宿主机进行通信,所述PCIe接口模块实现了两个物理功能PF(Physical Function),每个PF通道PF_0和PF_1都支持全功能的PCIe;

密码模块:在PF_0通道上,实现一个TCM密码模块;

NVMe主控模块:在PF_1通道上,实现一个NVMe主控模块;

内部可信控制模块:在可信存储硬盘内部,将PF_0通道和PF_1通道连接起来;电路上,连通密码模块与NVMe主控模块,功能上,将密码模块的可信服务功能应用于内部的NVMe主控固件的安全保障;

NandFlash阵列:NandFlash阵列由多颗NandFlash芯片组成,是数据存储介质,连接到NVMe主控模块的NandFlash接口控制模块;NVMe主控固件存储于NandFlash阵列的一段逻辑地址空间中;

非易失存储:存储PF_0通道密码模块固件程序。

进一步地,所述密码模块在电路模块上包括对称加密算法、公钥算法、杂凑算法、随机数引擎和执行引擎;在控制上,密码固件程序控制PF_0通道所有密码工作过程,存储于专门的非易失性存储器中,上电时首先由执行引擎加载密码固件启动;在应用上,PF_0通道可以被宿主机识别为一个PCIe接口的TCM密码卡设备,直接接受宿主机符合要求的密码调用,提供可信密码服务。

进一步地,所述NVMe主控模块在电路模块上包括NVMe协议解析逻辑、NandFlash接口控制、对称加密算法和存储主控引擎,该NVMe主控模块的对称密码算法用于实现对PF_1通道存储数据的门卫式加解密;在控制上,NVMe主控固件控制存储命令执行,完成NandFlash阵列物理地址到硬盘逻辑地址的映射管理,上电时,PF_1通道主控引擎自动读取固件程序;在应用上,PF_1通道完成启动后,被宿主机识别为一个PCIe接口的NVMe固态硬盘。

进一步地,所述NandFlash接口控制支持符合ONFI接口标准和Toggle接口标准的NandFlash颗粒,包括各类SLC、MLC、TLC及QLC闪存颗粒。

进一步地,所述NVMe主控固件以全部密文或部分密文形式存储。

进一步地,所述内部可信控制模块用于确认宿主机可信:获取PF_0通道与宿主机相互可信认证的结果,确认宿主机可信;用于控制NVMe主控固件可信度量与解密:可信存储硬盘上电时,内部可信控制模块会通过PF_1通道读取NVMe主控固件的密文,并调用PF_0通道中的杂凑算法进行度量,检查NVMe固件是否安全,然后,调用PF_0通道中的对称加密算法对主控固件进行解密;用于存储数据加解密密钥释放:将PF_0通道中运算后的存储数据加解密密钥释放给NVMe主控模块中的对称加密算法,从而使得PF_1通道可以开始正式启动工作。

进一步地,所述宿主机通过PCIe3.0 x4通道连接PCIe接口模块,宿主机的BIOS包含用于了可信认证启动的交互命令、NVMe驱动功能和PCIe密码卡驱动功能,NVMe驱动功能完成宿主机文件系统的读写操作,PCIe密码卡驱动功能完成用户应用的密码调用。

本发明还提供一种可信密码服务方法,该方法包括如下步骤:

S11、密码模块执行引擎从非易失存储器加载密码固件启动;

S12、密码模块执行引擎收取到接口命令,并解析命令内容;接口命令有两种来源:PCIe接口PF_0通道和内部可信控制模块,其中内部可信控制模块仅会在设备上电过程中,发出有限特定的密码服务指令;

S13、密码模块执行引擎调用相关的密码功能电路,完成命令执行;

S14、执行引擎返回命令执行结果。

本发明还提供一种可信认证方法,该方法包括如下步骤:

S21、宿主机上电,密码模块执行引擎加载密码固件启动;

S22、宿主机与该可信存储硬盘完成PCIe链路连接;

S23、在BIOS启动初始阶段宿主机用户输入用户密钥,送入PF_0通道,调用公钥算法进行验证;

S24、宿主机BIOS将其部件送入PF_0通道,调用杂凑算法进行完整性度量;

S25、完整性度量通过,宿主机进入BIOS启动的下一阶段,同时证明了信任关系。

本发明还提供一种可信读写方法,该方法包括如下步骤:

S31、完成宿主机BIOS阶段的可信认证,基于输入密钥和密码模块内部密钥,完成相关密钥解锁,包括NVMe主控固件完整性校验密钥、解密密钥、以及存储数据加解密密钥;

S32、内部可信控制模块确认PF_0通道与宿主机相互可信认证的结果;

S33、内部可信控制模块通过PF_1通道从一段特定的硬盘逻辑地址空间中读取NVMe主控固件密文,送入PF_0通道密码模块,调用杂凑算法进行完整性度量,其密钥是经由步骤S31解锁的;

S34、内部可信控制模块确认完整性度量通过,调用PF_0通道密码模块对NVMe主控固件密文解密,其密钥是经由步骤S31解锁的,并将NVMe主控固件明文传回PF_1通道NVMe主控模块;

S35、主控引擎获取全部NVMe主控固件,完成固件启动;同时内部可信控制模块将存储数据加解密密钥释放到NVMe主控模块的对称密码算法中;

S36、宿主机BIOS一段时间内保持对存储设备的扫描识别,该可信存储硬盘完成上述步骤S32到步骤S35,启动PF_1通道NVMe主控固件后,宿主机BIOS识别到标准的NVMe存储设备;

S37、在宿主机工作过程中,基于NVMe硬盘驱动,向PF_1通道写入和读出数据,NVMe主控模块的对称密码算法自动进行门卫式加密、解密;其密钥是经由步骤S31解锁的,并在步骤S35配置到算法中的;

S38、下电关机时,NVMe主控模块的对称密码算法自动丢失存储数据加解密密钥。

(三)有益效果

本发明提出一种支持加密卡功能的可信存储硬盘,本发明通过在一个PCIe接口上实现两个物理功能,分别为NVMe存储功能和PCIe密码卡功能,具有多功能特点。同时在可信存储硬盘内部实现内部可信,在上电时PF_0通道先工作,主动度量PF_1通道的NVMe主控固件,符合可信3.0思想中的主动度量要求,同时与宿主机进行可信认证,从而实现主机和硬盘之间可信链的传递确认。

与现有普通硬盘相比,本发明提出的技术方案中实现了硬盘内部的可信,达到可信存储的目标,符合可信3.0的思想。并且,在一个硬盘中实现了PCIe密码卡功能和NVMe存储功能,对于主机而言,不仅仅节约了一个设备,降低构建可信计算机的成本,同时所要保护的数据与高安全的可信密码模块处于同一个设备内,大大提高安全程度。

附图说明

图1为本发明可信存储硬盘架构示意图;

图2为本发明的密码模块提供密码服务的工作过程示意图;

图3为本发明的用户、宿主机、PF_0密码模块可信认证示意图;

图4为本发明的PF_1通道NVMe存储功能完成可信启动和读写工作示意图。

具体实施方式

为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。

本发明的目的主要是将可信计算机的思想延申到硬盘中,并在一个PCIe接口上支持多个物理功能,使得该设备可以被宿主机同时识别为NVMe存储设备和PCIe密码卡设备,同时具备两种设备的功能,实现了一种具有存储数据加解密、盘内固件可信启动、并能够为宿主机提供可信密码服务的高安全可信存储固态硬盘。

图1是本发明技术方案的主要技术框架示意图。如图1所示,本发明提出的一种支持加密卡功能的可信存储硬盘主要包括下列组成部分:

(1)PCIe接口模块:PCIe接口模块主要负责与宿主机进行通信。此处实现的PCIe接口模块支持SR-IOV(Single Root I/O Virtualization)规范,实现了两个物理功能PF(Physical Function),每个PF通道(PF_0和PF_1)都支持全功能的PCIe,可以像其他任何设备一样被发现、管理和处理,意即每个PF通道都可以被视为一个PCIe设备。

(2)密码模块:在PF_0通道上,实现一个标准的TCM密码模块(也可以实现为标准TPM/TPCM密码模块,具体密码模块的类型和参数不应视为对本发明专利的限制)。

在电路模块上,包括对称加密算法、公钥算法、杂凑算法、随机数引擎等多种密码功能电路,以及执行引擎(嵌入式CPU)。

在控制上,密码固件程序控制PF_0通道所有密码工作过程,存储于专门的非易失性存储器中,上电时首先由执行引擎加载密码固件启动。

在应用上,PF_0通道可以被宿主机识别为一个PCIe接口的TCM密码卡设备,直接接受宿主机符合要求的密码调用,提供可信密码服务。密码模块中可以保存管理多种密钥。特别地,宿主机可以在开机时,与PF_0通道进行相互可信认证,具体认证方法包括但不限于完整性认证方法、消息认证码认证方法等,图3展示了一种认证流程。

(3)NVMe主控模块:在PF_1通道上,实现一个标准NVMe主控模块(具体NVMe主控的相关性能参数不应视为对本发明专利的限制)。

在电路模块上包括NVMe协议解析逻辑、NandFlash接口控制、对称加密算法、存储主控引擎(嵌入式CPU)等电路。其中NandFlash接口控制支持符合ONFI接口标准和Toggle接口标准的NandFlash颗粒,包括各类SLC、MLC、TLC及QLC闪存颗粒。对称密码算法,专门用于实现对PF_1通道存储数据的门卫式加解密。

在控制上,NVMe主控固件控制存储命令执行,支持NVMe 1.3标准,完成NandFlash阵列物理地址到硬盘逻辑地址的映射管理,具备的磨损均衡、坏块管理等固态存储能力。主控固件存储于一段特定的硬盘逻辑地址空间中,上电时,PF_1通道主控引擎自动从该段逻辑地址读取固件程序,在本发明中,该固件程序以密文形式存储(出于效率因素,也可以是部分密文)。

在应用上,PF_1通道完成启动后,可以被宿主机识别为一个PCIe接口的标准NVMe固态硬盘,通常的计算机驱动程序可以直接进行读写操作。

(4)内部可信控制模块:在可信存储硬盘内部,将PF_0通道和PF_1通道连接起来。电路上,连通密码模块与NVMe主控模块。功能上,将密码模块的可信服务功能应用于内部的NVMe主控固件的安全保障,从而保障NVMe存储设备数据内容安全,其主要的功能包括:

确认宿主机可信:获取PF_0通道与宿主机相互可信认证的结果,确认宿主机可信。

控制NVMe主控固件可信度量与解密:可信存储硬盘上电时,内部可信控制模块会通过PF_1通道读取NVMe主控固件的密文,并调用PF_0通道中的杂凑算法进行度量,检查NVMe固件是否安全。然后,调用PF_0通道中的对称加密算法对主控固件进行解密。

存储数据加解密密钥释放:将PF_0通道中运算后的存储数据加解密密钥释放给NVMe主控模块中的对称加密算法,从而使得PF_1通道可以开始正式启动工作。

(5)NandFlash阵列:NandFlash阵列由多颗NandFlash芯片组成,是数据存储介质,连接到NVMe主控模块的NandFlash接口控制模块。特别地,NVMe主控固件存储于NandFlash阵列的一段逻辑地址空间中。

(6)非易失存储(密码固件):存储PF_0通道密码模块固件程序。

(7)宿主机:通过PCIe3.0 x4通道连接PCIe接口模块,宿主机的BIOS包含用于了可信认证启动的交互命令,具有识别本发明所述的可行存储硬盘的能力,宿主机驱动包含标准的NVMe驱动功能和PCIe密码卡驱动功能,NVMe驱动功能完成宿主机文件系统的读写操作,PCIe密码卡驱动功能完成用户应用的密码调用。通过此种设计,高安全可信存储固态硬盘具有充分的兼容性,可以适应各种主机的各种功能裁剪或扩充需求。

图2是本发明实现的可信密码服务示意图。

S11、密码模块执行引擎从非易失存储器加载密码固件启动;

S12、密码模块执行引擎收取到接口命令,并解析命令内容。接口命令有两种来源:PCIe接口PF_0通道和内部可信控制模块。其中内部可信控制模块仅会在设备上电过程中,发出有限特定的密码服务指令,用以完成本节(4)所描述的功能内容。

S13、密码模块执行引擎调用相关的密码功能电路,完成命令执行。

S14、根据标准,执行引擎返回命令执行结果。

图3是本发明实现的一种用户、宿主机与PF_0通道密码模块完成可信认证流程示意图,主要是通过验证宿主机BIOS的完整性,来证明从PF_0通道密码模块、BIOS以及用户的信任链条。

S21、宿主机上电;本发明设备的密码模块执行引擎加载密码固件启动;

S22、宿主机与本发明设备完成PCIe链路连接;

S23、在BIOS启动初始阶段宿主机用户输入用户密钥,送入PF_0通道,调用公钥算法进行验证(参照图2);

S24、宿主机BIOS将其部件送入PF_0通道,调用杂凑算法进行完整性度量(参照图2);

S25、完整性度量通过,宿主机进入BIOS启动的下一阶段,同时证明了信任关系。

图4是本发明技术方案实现可信存储功能的流程示意图。

S31、完成宿主机BIOS阶段的可信认证。基于输入密钥和密码模块内部密钥,完成相关密钥解锁,包括NVMe主控固件完整性校验密钥、解密密钥、以及存储数据加解密密钥;

S32、内部可信控制模块确认PF_0通道与宿主机相互可信认证的结果;

S33、内部可信控制模块通过PF_1通道从一段特定的硬盘逻辑地址空间中读取NVMe主控固件密文(从效率考虑,可以是部分密文),送入PF_0通道密码模块,调用杂凑算法进行完整性度量(参照图2),其密钥是经由步骤S31解锁的;

S34、内部可信控制模块确认完整性度量通过,调用PF_0通道密码模块对NVMe主控固件密文解密,其密钥是经由步骤S31解锁的。并将NVMe主控固件明文传回PF_1通道NVMe主控模块;

S35、主控引擎获取全部NVMe主控固件,完成固件启动;同时内部可信控制模块将存储数据加解密密钥释放到NVMe主控模块的对称密码算法中;

S36、宿主机BIOS一段时间内保持对存储设备的扫描识别。在这段时间内,本发明的可信存储硬盘完成上述步骤步骤S32到步骤S35,启动PF_1通道NVMe主控固件后,宿主机BIOS识别到标准的NVMe存储设备。则本发明所述存储硬盘完成启动和被识别过程。宿主机进一步进行完全启动。

S37、在宿主机工作过程中,基于NVMe硬盘驱动,向PF_1通道写入和读出数据,NVMe主控模块的对称密码算法自动进行门卫式加密、解密。其密钥是经由步骤S31解锁的,并在步骤S35才配置到算法中的。

S38、下电关机时,NVMe主控模块的对称密码算法自动丢失存储数据加解密密钥。

本发明通过在一个PCIe接口上实现两个物理功能,分别为NVMe存储功能和PCIe密码卡功能,具有多功能特点。同时在可信存储硬盘内部实现内部可信,在上电时PF_0通道先工作,主动度量PF_1通道的NVMe主控固件,符合可信3.0思想中的主动度量要求,同时与宿主机进行可信认证,从而实现主机和硬盘之间可信链的传递确认。

与现有普通硬盘相比,本发明提出的技术方案中实现了硬盘内部的可信,达到可信存储的目标,符合可信3.0的思想。并且,在一个硬盘中实现了PCIe密码卡功能和NVMe存储功能,对于主机而言,不仅仅节约了一个设备,降低构建可信计算机的成本,同时所要保护的数据与高安全的可信密码模块处于同一个设备内,大大提高安全程度。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于龙芯处理器的智能销毁方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类