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

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

Info

Publication number
CN113704835A
CN113704835A CN202110958851.7A CN202110958851A CN113704835A CN 113704835 A CN113704835 A CN 113704835A CN 202110958851 A CN202110958851 A CN 202110958851A CN 113704835 A CN113704835 A CN 113704835A
Authority
CN
China
Prior art keywords
nvme
channel
trusted
hard disk
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110958851.7A
Other languages
English (en)
Other versions
CN113704835B (zh
Inventor
邓威
万星
左瑞
马建鹏
郭慧波
任艳慧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Institute of Computer Technology and Applications
Original Assignee
Beijing Institute of Computer Technology and Applications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Institute of Computer Technology and Applications filed Critical Beijing Institute of Computer Technology and Applications
Priority to CN202110958851.7A priority Critical patent/CN113704835B/zh
Publication of CN113704835A publication Critical patent/CN113704835A/zh
Application granted granted Critical
Publication of CN113704835B publication Critical patent/CN113704835B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种支持加密卡功能的可信存储硬盘,属于计算机领域。本发明通过在一个PCIe接口上实现两个物理功能,分别为NVMe存储功能和PCIe密码卡功能,同时在可信存储硬盘内部实现内部可信,在上电时PF_0通道先工作,主动度量PF_1通道的NVMe主控固件,符合可信3.0思想中的主动度量要求,同时与宿主机进行可信认证,从而实现主机和硬盘之间可信链的传递确认。本发明实现了硬盘内部的可信,达到可信存储的目标,符合可信3.0的思想,并且,在一个硬盘中实现了PCIe密码卡功能和NVMe存储功能,不仅仅节约了一个设备,降低构建可信计算机的成本,同时所要保护的数据与高安全的可信密码模块处于同一个设备内,大大提高安全程度。

Description

一种支持加密卡功能的可信存储硬盘
技术领域
本发明属于计算机领域,具体涉及一种支持加密卡功能的可信存储硬盘。
背景技术
本发明所述的“一种支持加密卡功能的可信存储硬盘”主要是将可信计算机的思想延申到硬盘中,实现了一种具有存储数据加解密、盘内固件可信启动、并能够为宿主机提供可信密码服务的高安全可信存储固态硬盘。
传统的可信计算技术以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存储功能,对于主机而言,不仅仅节约了一个设备,降低构建可信计算机的成本,同时所要保护的数据与高安全的可信密码模块处于同一个设备内,大大提高安全程度。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (10)

1.一种支持加密卡功能的可信存储硬盘,其特征在于,该硬盘包括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通道密码模块固件程序。
2.如权利要求1所述的支持加密卡功能的可信存储硬盘,其特征在于,所述密码模块在电路模块上包括对称加密算法、公钥算法、杂凑算法、随机数引擎和执行引擎;在控制上,密码固件程序控制PF_0通道所有密码工作过程,存储于专门的非易失性存储器中,上电时首先由执行引擎加载密码固件启动;在应用上,PF_0通道可以被宿主机识别为一个PCIe接口的TCM密码卡设备,直接接受宿主机符合要求的密码调用,提供可信密码服务。
3.如权利要求2所述的支持加密卡功能的可信存储硬盘,其特征在于,所述NVMe主控模块在电路模块上包括NVMe协议解析逻辑、NandFlash接口控制、对称加密算法和存储主控引擎,该NVMe主控模块的对称密码算法用于实现对PF_1通道存储数据的门卫式加解密;在控制上,NVMe主控固件控制存储命令执行,完成NandFlash阵列物理地址到硬盘逻辑地址的映射管理,上电时,PF_1通道主控引擎自动读取固件程序;在应用上,PF_1通道完成启动后,被宿主机识别为一个PCIe接口的NVMe固态硬盘。
4.如权利要求3所述的支持加密卡功能的可信存储硬盘,其特征在于,所述NandFlash接口控制支持符合ONFI接口标准和Toggle接口标准的NandFlash颗粒,包括各类SLC、MLC、TLC及QLC闪存颗粒。
5.如权利要求3所述的支持加密卡功能的可信存储硬盘,其特征在于,所述NVMe主控固件以全部密文或部分密文形式存储。
6.如权利要求3所述的支持加密卡功能的可信存储硬盘,其特征在于,所述内部可信控制模块用于确认宿主机可信:获取PF_0通道与宿主机相互可信认证的结果,确认宿主机可信;用于控制NVMe主控固件可信度量与解密:可信存储硬盘上电时,内部可信控制模块会通过PF_1通道读取NVMe主控固件的密文,并调用PF_0通道中的杂凑算法进行度量,检查NVMe固件是否安全,然后,调用PF_0通道中的对称加密算法对主控固件进行解密;用于存储数据加解密密钥释放:将PF_0通道中运算后的存储数据加解密密钥释放给NVMe主控模块中的对称加密算法,从而使得PF_1通道可以开始正式启动工作。
7.如权利要求6所述的支持加密卡功能的可信存储硬盘,其特征在于,所述宿主机通过PCIe3.0 x4通道连接PCIe接口模块,宿主机的BIOS包含用于了可信认证启动的交互命令、NVMe驱动功能和PCIe密码卡驱动功能,NVMe驱动功能完成宿主机文件系统的读写操作,PCIe密码卡驱动功能完成用户应用的密码调用。
8.一种基于如权利要求1-7任一项所述的可信存储硬盘的可信密码服务方法,其特征在于,该方法包括如下步骤:
S11、密码模块执行引擎从非易失存储器加载密码固件启动;
S12、密码模块执行引擎收取到接口命令,并解析命令内容;接口命令有两种来源:PCIe接口PF_0通道和内部可信控制模块,其中内部可信控制模块仅会在设备上电过程中,发出有限特定的密码服务指令;
S13、密码模块执行引擎调用相关的密码功能电路,完成命令执行;
S14、执行引擎返回命令执行结果。
9.一种基于如权利要求1-7任一项所述的可信存储硬盘的可信认证方法,其特征在于,该方法包括如下步骤:
S21、宿主机上电,密码模块执行引擎加载密码固件启动;
S22、宿主机与该可信存储硬盘完成PCIe链路连接;
S23、在BIOS启动初始阶段宿主机用户输入用户密钥,送入PF_0通道,调用公钥算法进行验证;
S24、宿主机BIOS将其部件送入PF_0通道,调用杂凑算法进行完整性度量;
S25、完整性度量通过,宿主机进入BIOS启动的下一阶段,同时证明了信任关系。
10.一种基于如权利要求1-7任一项所述的可信存储硬盘的可信读写方法,其特征在于,该方法包括如下步骤:
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主控模块的对称密码算法自动丢失存储数据加解密密钥。
CN202110958851.7A 2021-08-20 2021-08-20 一种支持加密卡功能的可信存储硬盘 Active CN113704835B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110958851.7A CN113704835B (zh) 2021-08-20 2021-08-20 一种支持加密卡功能的可信存储硬盘

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110958851.7A CN113704835B (zh) 2021-08-20 2021-08-20 一种支持加密卡功能的可信存储硬盘

Publications (2)

Publication Number Publication Date
CN113704835A true CN113704835A (zh) 2021-11-26
CN113704835B CN113704835B (zh) 2023-11-10

Family

ID=78653601

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110958851.7A Active CN113704835B (zh) 2021-08-20 2021-08-20 一种支持加密卡功能的可信存储硬盘

Country Status (1)

Country Link
CN (1) CN113704835B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023133862A1 (zh) * 2022-01-14 2023-07-20 华为技术有限公司 数据处理方法及系统
CN117744118A (zh) * 2023-12-21 2024-03-22 北京星驰致远科技有限公司 一种基于fpga的高速加密存储装置和方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN202189354U (zh) * 2011-07-29 2012-04-11 苏州捷泰科信息技术有限公司 基于usb接口的安全固态硬盘系统
CN106776387A (zh) * 2016-11-24 2017-05-31 大唐高鸿信安(浙江)信息科技有限公司 硬盘通道扩展装置
CN106991061A (zh) * 2017-03-31 2017-07-28 山东超越数控电子有限公司 一种sata硬盘密码模块及其工作方法
CN110096885A (zh) * 2018-01-31 2019-08-06 北京可信华泰信息技术有限公司 一种可信计算的实现装置及方法
US20190251055A1 (en) * 2019-04-26 2019-08-15 Intel Corporation Dynamic lane access switching between pcie root spaces
CN110765450A (zh) * 2019-10-31 2020-02-07 江苏华存电子科技有限公司 非易失性内存主机控制器接口权限设置和非对称加密方法
CN111723030A (zh) * 2019-03-20 2020-09-29 东芝存储器株式会社 存储器系统及存储器系统的控制方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN202189354U (zh) * 2011-07-29 2012-04-11 苏州捷泰科信息技术有限公司 基于usb接口的安全固态硬盘系统
CN106776387A (zh) * 2016-11-24 2017-05-31 大唐高鸿信安(浙江)信息科技有限公司 硬盘通道扩展装置
CN106991061A (zh) * 2017-03-31 2017-07-28 山东超越数控电子有限公司 一种sata硬盘密码模块及其工作方法
CN110096885A (zh) * 2018-01-31 2019-08-06 北京可信华泰信息技术有限公司 一种可信计算的实现装置及方法
CN111723030A (zh) * 2019-03-20 2020-09-29 东芝存储器株式会社 存储器系统及存储器系统的控制方法
US20190251055A1 (en) * 2019-04-26 2019-08-15 Intel Corporation Dynamic lane access switching between pcie root spaces
CN110765450A (zh) * 2019-10-31 2020-02-07 江苏华存电子科技有限公司 非易失性内存主机控制器接口权限设置和非对称加密方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
CHRISTOPHER BLOCHWITZ等: "Continuous live-tracing as debugging approach on FPGAs", 《2017 INTERNATIONAL CONFERENCE ON RECONFIGURABLE COMPUTING AND FPGAS (RECONFIG)》, pages 1 - 8 *
冯志华等: "基于PUF的安全固态盘双向认证协议", 《计算机工程与设计》, vol. 41, no. 3, pages 627 - 627 *
王爱梅等: "NVMe SSD硬盘的弹出状态指示的方案", 《电子技术与软件工程》, no. 15, pages 116 - 117 *
钟晓珍: "基于PowerPC的网络存储系统", 《中国优秀硕士学位论文全文数据库》, pages 137 - 38 *
马建鹏等: "基于SATA接口的安全存储控制", 《计算机工程与设计》, vol. 35, no. 11, pages 3826 - 3830 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023133862A1 (zh) * 2022-01-14 2023-07-20 华为技术有限公司 数据处理方法及系统
CN117744118A (zh) * 2023-12-21 2024-03-22 北京星驰致远科技有限公司 一种基于fpga的高速加密存储装置和方法
CN117744118B (zh) * 2023-12-21 2024-05-28 北京星驰致远科技有限公司 一种基于fpga的高速加密存储装置和方法

Also Published As

Publication number Publication date
CN113704835B (zh) 2023-11-10

Similar Documents

Publication Publication Date Title
US8775784B2 (en) Secure boot up of a computer based on a hardware based root of trust
US9100187B2 (en) Authenticator
WO2020192406A1 (zh) 数据存储、验证方法及装置
US9064135B1 (en) Hardware implemented key management system and method
US20090300366A1 (en) System and Method for Providing a Secure Application Fragmentation Environment
CN113434853B (zh) 一种将固件烧录至存储设备的方法及控制器
US8996933B2 (en) Memory management method, controller, and storage system
CN101788959A (zh) 一种固态硬盘安全加密系统
KR20090007123A (ko) 보안 부팅 방법 및 그 방법을 사용하는 반도체 메모리시스템
CN101441601B (zh) 一种硬盘ata指令的加密传输的方法及系统
CN113704835B (zh) 一种支持加密卡功能的可信存储硬盘
CN103186479A (zh) 基于单操作系统的双硬盘隔离加密装置、方法及计算机
CN102163267A (zh) 固态硬盘安全访问控制方法、装置和固态硬盘
CN107315966B (zh) 固态硬盘数据加密方法及系统
US11783044B2 (en) Endpoint authentication based on boot-time binding of multiple components
CN112560058A (zh) 基于智能密码钥匙的ssd分区加密存储系统及其实现方法
JP4791250B2 (ja) マイクロコンピュータおよびそのソフトウェア改竄防止方法
US20140219445A1 (en) Processors Including Key Management Circuits and Methods of Operating Key Management Circuits
KR102068485B1 (ko) 불 휘발성 메모리 모듈 및 그것의 동작 방법
CN103823692B (zh) 一种计算机操作系统启动方法
EP4332810A1 (en) Method for realizing virtualized trusted platform module, and secure processor and storage medium
US11669643B2 (en) Block chain based validation of memory commands
US20240146525A1 (en) Batch Transfer of Control of Memory Devices over Computer Networks
CN103347017A (zh) 数据处理方法和片上系统
TWI789291B (zh) 用於認證在儲存裝置和主機裝置之間的資料傳輸之模組和方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant