平台安全机制

文档序号:49351 发布日期:2021-09-28 浏览:18次 >En<

阅读说明:本技术 平台安全机制 (Platform security mechanism ) 是由 B·帕特尔 P·德万 于 2020-12-07 设计创作,主要内容包括:本申请涉及平台安全机制。公开了一种促进计算系统内的安全性的设备。该设备包括存储驱动器、控制器和加密引擎,该控制器包括具有一个或多个密钥槽的受信任端口以对一个或多个密码密钥进行编程,该加密引擎经由一个或多个密钥槽接收密码密钥,使用密码密钥对写入存储驱动器的数据进行加密,并使用密码密钥对从存储驱动器读取的数据进行解密。(The application relates to a platform security mechanism. An apparatus to facilitate security within a computing system is disclosed. The apparatus includes a storage drive, a controller including a trusted port with one or more key slots to program one or more cryptographic keys, and an encryption engine to receive the cryptographic keys via the one or more key slots, encrypt data written to the storage drive using the cryptographic keys, and decrypt data read from the storage drive using the cryptographic keys.)

平台安全机制

技术领域

本申请涉及片上系统的安全性,特别是涉及保护写入非易失性存储器的数据的安全性的机制。

背景技术

片上系统(SOC)是集成计算机或其他电子系统的所有部件的集成电路。这些部件包括中央处理单元(CPU)、存储器、输入/输出(IO)端口和辅助存储装置,所有这些都包括在单个基板或微芯片上。此外,SOC经由标准化的管芯上互连协议实现了第三方部件的集成。然而,添加此类部件可能导致安全漏洞。

发明内容

鉴于上述问题,本申请提供一种平台安全机制,能够保护写入非易失性存储器的数据的安全性。

本申请的第一方面提供一种促进计算系统内的安全性的设备,包括:非易失性存储器,非易失性存储器包括:存储驱动器;控制器,包括具有一个或多个密钥槽的受信任端口以对一个或多个密码密钥进行编程;以及加密引擎,经由一个或多个密钥槽接收密码密钥,使用密码密钥对写入存储驱动器的数据进行加密,并使用密码密钥对从存储驱动器读取的数据进行解密。

本申请的第二方面提供一种促进非易失性存储器的安全性的方法,包括:接收将数据写入非易失性存储器的写入请求;在包括在非易失性存储器中的加密引擎处利用一个或多个密码密钥对写入数据进行加密;以及将加密的写入数据存储在非易失性存储器内的存储驱动器处。

本申请的第三方面提供一种计算装置,包括:处理器;存储器装置;耦合在处理器和存储器装置之间的架构接口;以及耦合到架构接口的非易失性存储器,非易失性存储器包括:存储驱动器;控制器,包括具有一个或多个密钥槽的受信任端口以对一个或多个密码密钥进行编程;以及加密引擎,经由一个或多个密钥槽接收密码密钥,使用密码密钥对写入存储驱动器的数据进行加密,并使用密码密钥对从存储驱动器读取的数据进行解密。

附图说明

为了其中可以详细地理解上述特征的方式,可以通过参考实施例来进行上面简要概述的更具体的描述,该实施例中的一些在附图中示出。然而,应当注意,附图仅示出了典型的实施例,并因此不应被认为是对其范围的限制,因为本发明可以允许其他等效的实施例。

图1示出了计算装置的一个实施例。

图2示出了平台的一个实施例。

图3示出了耦合到安全控制器的非易失性存储器装置的一个实施例。

图4是示出用于在非易失性存储器装置处对密钥进行编程的过程的一个实施例的流程图。

图5是示出用于在非易失性存储器装置处执行读取操作的过程的一个实施例的流程图。

图6A是示出用于在非易失性存储器装置处执行写入操作的过程的一个实施例的流程图。

图6B是示出用于在非易失性存储器装置处对密钥进行编程并且执行读取和写入操作的过程的另一个实施例的序列图。

图7A是示出用于供应操作系统映像的过程的一个实施例的流程图。

图7B是示出用于供应操作系统映像的过程的另一个实施例的序列图。

图8A和图8B示出了操作系统映像供应的实施例。

图9是例示性电子计算装置的示意图。

具体实施方式

在下面的描述中,阐述了许多具体细节以提供更透彻的理解。然而,对于本领域技术人员显而易见的是,可以在没有这些具体细节中的一个或多个的情况下实践实施例。在其他情况下,未描述公知的特征,以避免模糊实施例。

在实施例中,提供一种机制以保护写入非易失性存储器的数据的安全性。在此实施例中,加密引擎对写入非易失性存储器的所有数据进行加密,并对从非易失性存储器读取的所有数据进行解密。在另外的实施例中,控制器包括具有一个或多个槽的受信任端口,以将加密密钥编程到加密引擎中。

对“一个实施例”、“实施例”、“示例实施例”、“各种实施例”等的引用指示如此描述的(多个)实施例可以包括特别的特征、结构或特性,但是并非每个实施例都必须包括特别的特征、结构或特性。此外,一些实施例可以具有针对其他实施例所描述的特征中的一些、全部或没有该特征。

在下面的描述和所附权利要求中,可以将术语“耦合”与其派生词一起使用。“耦合”用于指示两个或更多个元件彼此协作或相互作用,但是它们之间可以具有或可以不具有介入的物理或电气部件。

如在权利要求中所使用的,除非另有说明,否则使用序数形容词“第一”、“第二”、“第三”等以描述共同元件,仅指示相似元件的不同实例被引用,并且不旨在意味着如此描述的元件必须在时间上、在空间上、以等级或以任何其他方式处于给定的序列。

图1示出了计算装置100的一个实施例。根据一个实施例,计算装置100包括承载集成电路(“IC”)的计算机平台,诸如片上系统(“SoC”或“SOC”),其将计算装置100的各种硬件和/或软件部件集成在单个芯片上。如图所示,在一个实施例中,计算装置100可以包括任何数量和类型的硬件和/或软件部件,诸如(但不限于)图形处理单元114(“GPU”或简称为“图形处理器”)、图形驱动程序116(也称为“GPU驱动程序”、“图形驱动程序逻辑”、“驱动程序逻辑”、用户模式驱动程序(UMD)、UMD、用户模式驱动程序框架(UMDF)、UMDF或简称为“驱动程序”)、中央处理单元112(“CPU”或简称为“应用处理器”)、存储器108、网络装置、驱动程序等,以及输入/输出(I/O)源104,诸如触摸屏、触摸面板、触摸板、虚拟或常规键盘、虚拟或常规鼠标、端口、连接器等。计算装置100可以包括用作计算装置100的硬件和/或物理资源与用户之间的接口的操作系统(OS)106。

应当理解,对于某些实施方式,比上述示例更少或更多配备的系统可能是优选的。因此,计算装置100的配置可以根据实施方式的不同而变化,这取决于许多因素,诸如价格约束、性能要求、技术改进或其他情况。

实施例可以被实现为以下中的任一种或组合:使用母板互连的一个或多个微芯片或集成电路、硬连线逻辑、由存储器装置存储并由微处理器执行的软件、固件、专用集成电路(ASIC)和/或现场可编程门阵列(FPGA)。术语“逻辑”、“模块”、“部件”、“引擎”和“机制”例如可以包括软件或硬件和/或其组合,诸如固件。

可以使用一个或多个存储器芯片、控制器、CPU(中央处理单元)、使用主板互连的微芯片或集成电路、专用集成电路(ASIC)和/或现场可编程门阵列(FPGA)来实现实施例。术语“逻辑”例如可以包括软件或硬件和/或软件和硬件的组合。

图2示出了平台200的一个实施例,该平台200包括类似于上述计算装置100的SOC210。如图2所示,平台200包括经由CPU 112通信耦合到一个或多个软件部件280的SOC 210。此外,SOC 210包括经由系统架构205耦合的其他计算装置部件(例如,存储器108)。在一个实施例中,系统架构205包括集成的片上系统架构(IOSF),以提供标准化的管芯上互连协议以用于耦合SOC 210内的互连协议(IP)代理230(例如,IP块230A和230B)。在此实施例中,互连协议提供了标准化的接口,以使第三方能够设计要并入SOC 210中的逻辑,诸如IP代理130。

根据实施例,IP代理230可以包括通用处理器(例如,顺序或乱序核)、固定功能单元、图形处理器、I/O控制器、显示控制器等。在此实施例中,每个IP代理230包括硬件接口235以提供标准化以使IP代理230能够与SOC 210部件通信。例如,在其中IPA代理230是第三方视觉处理单元(VPU)的实施例中,接口235提供标准化以使VPU能够经由架构205访问存储器108。

SOC 210还包括安全控制器240,其作为安全引擎操作以对SOC 210执行各种安全操作(例如,安全处理、密码功能等)。在一个实施例中,安全控制器240包括IPA代理230,其被实现以执行安全操作。此外,SOC 210包括非易失性存储器250。非易失性存储器250可以被实现为外围部件互连快速(PCIe)存储驱动器,诸如固态驱动器(SSD)或非易失性存储器快速(NVMe)驱动器。

许多可用的PCIe驱动器可能易受攻击(或是恶意的),这可能导致损害存储在驱动器上的用户数据。当前,销售了具有易受攻击的固件的许多此类驱动器。结果,驱动器不能被信任。许多自加密驱动器在驱动器本身中执行加密用户数据(有时使用固件,并且有时以硬件加密)。此外,恶意PCIe驱动器可能会执行进入存储器108的直接存储器访问(DMA)操作以窃取数据。

根据一个实施例,非易失性存储器250包括加密引擎,以对写入非易失性存储器250的所有数据进行加密,以及对所有读取请求进行解密。在另一个实施例中,非易失性存储器250内的PCIe控制器包括受信任端口和密钥槽,其被配置为使得密码密钥(或多个密钥)在供应时被编程到加密引擎中。在该实施例中,每个密钥都保留在加密引擎中。在又一个实施例中,在密钥槽处仅允许写入事务,而阻止读取事务。

图3示出了耦合到安全控制器230的非易失性存储器装置250的一个实施例。如图3所示,非易失性存储器装置250包括存储驱动器310、主机PCIe控制器320,以及被实现为在上电启动(或引导过程)期间执行硬件初始化的基本输入/输出系统(BIOS)固件330。在一个实施例中,存储驱动器310包括闪存装置。然而,其他实施例可以实现不同类型的驱动器。

密码密钥包括字符串,其用于锁定或解锁密码功能,包括验证、认证和加密。因此,密钥是确定密码算法的功能输出的一条信息(参数)。对于加密算法,密钥指定从明文到密文的变换,并且对于解密算法,反之亦然。

控制器320包括加密引擎322和受信任端口325。根据一个实施例,加密引擎322利用密文窃取(XTS)来实现高级加密标准(AES)和/或基于XEX的经调整的码本模式,以对在非易失性存储器装置250处接收到的所有数据进行加密。因此,由于对接收到的数据进行了加密,因此试图执行到系统存储器中的恶意DMA的任何装置都无法读取明文。受信任端口325被实现为经由安全控制器230对密钥进行编程,并经由一个或多个密钥槽将密钥提供给加密引擎322。

根据一个实施例,使用制造密钥来将密钥编程。在此实施例中,密钥在非易失性存储器装置250的制造期间生成。结果,在后期制作中不可访问受信任端口325。在另一个实施例中,安全控制器230被实现为生成密钥。在另一个实施例中,安全控制器230可以从物理不可克隆功能(PUF)引擎接收密钥。在此实施例中,控制器320可以从PUF引擎拉出密码密钥,并且将该密钥写入受信任端口325中的密钥槽。随后,使用密钥槽中的密钥来执行所有加密操作。在此实施例中,可以设置带外机制(例如,条带(strap)或可编程熔断器)以迫使控制器320对其自身进行重新设置密钥。

在又一个实施例中,安全控制器230可以从熔断器控制器接收密钥,该熔断器控制器将密钥推入受信任端口325中。可替代地,受信任端口325可以从熔断器控制器拉出密钥并将密钥写入存储驱动器310。在该实施例中,一次操作可以使用带外机制重新发起。在又一个实施例中,安全控制器230可以是可管理性引擎,其可用于在平台初始化时写入密钥。

图4是示出用于在非易失性存储器装置220处对密码密钥进行编程的过程的一个实施例的流程图。在处理块410处,执行引导过程。在处理块420处,安全控制器230接收密钥(例如,经由PUF、熔断器、调试端口或带外)。在处理块430处,在安全控制器230处生成密码密钥。在处理块440处,将该密钥经由受信任端口325编程到PCIe控制器320中。

图5是示出用于在非易失性存储器装置220处执行读取操作的过程的一个实施例的流程图。在处理块510处,在加密引擎322处接收到读取请求。在处理块520处,加密引擎322从存储驱动器310检索加密(或密码)数据。在处理块530处,加密引擎322对密码数据进行解密。在处理块540处,加密引擎322将解密数据作为读取数据传输到请求实体。

图6A是示出用于在非易失性存储器装置220处执行写入操作的过程的一个实施例的流程图。在处理块610处,在加密引擎322处接收到写入请求。在处理块620处,加密引擎322对写入数据进行加密。在处理块630处,加密引擎322将加密的文本存储到存储驱动器310。图6B是示出用于对密钥执行编程并在非易失性存储装置处执行读取和写入操作的过程的另一个实施例的序列图。

在另外的实施例中,非易失性存储器装置220还可以接收和存储加密的数据。在此类实施例中,数据可以在经由系统架构205在非易失性存储器装置220处被接收之前被加密。在另一个实施例中,所有SOC数据(例如,在SOC 210内生成的数据)在被存储在非易失性存储器装置220之前在SOC 210内被加密。

根据一个实施例,在供应站处利用安全报头离线生成OS映像。在此类实施例中,OS映像在报头中提供的存储块的开始和结束块地址处被写入存储驱动器310。在另一个实施例中,程序员将明文映像写在存储驱动器310上。随后,将非易失性存储器装置220连接到平台(例如,平台200)中并运送(例如,并未引导)。一旦引导,就在非易失性存储器装置220处供应OS映像。

图7A是示出在引导过程期间用于供应OS映像的过程的一个实施例的流程图。在处理块710处,一旦非易失性存储器装置220被引导,BIOS 330就读取映像中的安全报头。在处理块720处,BIOS 330配置PCIe控制器320,由于数据作为明文被存储,因此安全报头中指示的存储装置中的块(例如,在起始地址和结束地址之间)将不被解密。在处理块730处,BIOS330从存储装置310读取每个块作为明文。在处理块740处,由PCIe控制器320使用密钥槽中的密钥对块进行加密。在处理块750处,将加密的块写回到存储装置310。图7B是示出用于供应操作系统映像的过程的另一个实施例的序列图。

图8A和图8B示出了操作系统映像供应的实施例。图8A示出了在存储块中供应之前的OS映像。如图8A所示,OS映像包括报头,其指示起始块、结束块、状态位。图8B示出了已在存储装置中供应之后的OS映像。如图8B所示,报头示出了实际的起始块和结束块。

上述机制在不涉及用户或软件(例如,OS)的情况下保护了非易失性存储装置上的用户数据。因此,用户数据在被盗、丢弃或翻新的驱动器中受到保护。此外,闪存编程人员可以使用该机制在制造过程中在驱动器上供应OS。

图9是根据一些实施例的实现针对对抗攻击的增强保护的例示性电子计算装置的示意图。在一些实施例中,计算装置900包括一个或多个处理器910,其包括一个或多个处理器核918和TEE 964,该TEE包括机器学习服务飞地(MLSE)980。在一些实施例中,计算装置900包括硬件加速器968,该硬件加速器包括密码引擎982和机器学习模型984。在一些实施例中,计算装置将提供针对ML对抗攻击的增强保护,如图1至图8所提供的。

计算装置900可以另外包括以下中的一个或多个:高速缓存962、图形处理单元(GPU)912(其在一些实施方式中可以是硬件加速器)、无线输入/输出(I/O)接口920、有线I/O接口930、存储器电路系统940、电源管理电路系统950、非暂时性存储装置960和用于连接到网络972的网络接口970。以下讨论提供了对形成例示性计算装置900的部件的简要一般描述。示例的非限制性计算装置900可以包括台式计算装置、刀片服务器装置、工作站或类似装置或系统。

在实施例中,处理器核918能够执行机器可读指令集914,从一个或多个存储装置960读取数据和/或指令集914,并将数据写入一个或多个存储装置960。相关领域技术人员将理解,可以利用其他基于处理器的装置配置来实践所示出的实施例以及其他实施例,该装置配置包括便携式电子或手持式电子装置,例如智能电话、便携式计算机、可穿戴计算机、消费电子产品、个人计算机(“PC”)、网络PC、小型计算机、刀片式服务器、大型计算机等。

处理器核918可以包括任何数量的硬连线或可配置电路,其中一些或全部可以包括部分或全部设置在PC、服务器或能够执行处理器可读指令的其他计算系统中的电子部件、半导体装置和/或逻辑元件的可编程和/或可配置组合。

计算装置900包括总线或类似的通信链路916,其可通信地耦合并促进包括处理器核918、高速缓存962、图形处理器电路系统912、一个或多个无线I/O接口920、一个或多个有线I/O接口930、一个或多个存储装置960和/或一个或多个网络接口970的各种系统部件之间的信息和/或数据的交换。计算装置900在本文中可以以单数形式指代,但这并不旨在将实施例限制为单个计算装置900,因为在某些实施例中,可能有不止一个计算装置900,其结合、包括或包含任何数量的可通信地耦合、并置或远程联网的电路或装置。

处理器核918可以包括能够执行机器可读指令集的任何数量、类型的当前可用或将来开发的装置或该装置的组合。

处理器核918可以包括(或耦合到)但不限于任何当前或将来开发的单核或多核处理器或微处理器,诸如:一个或多个片上系统(SOC);中央处理单元(CPU);数字信号处理器(DSP);图形处理单元(GPU);专用集成电路(ASIC)、可编程逻辑单元、现场可编程门阵列(FPGA)等。除非另有描述,否则图9所示的各种块的构造和操作都具有常规设计。因此,如相关领域技术人员将理解的,本文中不需要进一步详细描述此类块。将计算装置900的部件中的至少一些互连的总线916可以采用任何当前可用或将来开发的串行或并行总线结构或体系结构。

系统存储器940可以包括只读存储器(“ROM”)942和随机访问存储器(“RAM”)946。ROM 942的一部分可以用于存储或以其他方式保留基本输入/输出系统(“BIOS”)944。BIOS944例如通过使处理器核918加载和/或执行一个或多个机器可读指令集914来向计算装置900提供基本功能。在实施例中,一个或多个机器可读指令集914中的至少一些使处理器核918中的至少一部分提供、创建、产生、转换和/或用作专用、特定和特别的机器,例如文字处理机、数字映像采集机、媒体播放机、游戏系统、通信装置、智能电话等。

计算装置900可以包括至少一个无线输入/输出(I/O)接口920。至少一个无线I/O接口920可以可通信地耦合到一个或多个物理输出装置922(触觉装置、视频显示器、音频输出装置、硬拷贝输出装置等)。至少一个无线I/O接口920可以可通信地耦合到一个或多个物理输入装置924(指示装置、触摸屏、键盘、触觉装置等)。至少一个无线I/O接口920可以包括任何当前可用或将来开发的无线I/O接口。示例无线I/O接口包括但不限于:(蓝牙)、近场通信(NFC)等。

计算装置900可以包括一个或多个有线输入/输出(I/O)接口930。至少一个有线I/O接口930可以可通信地耦合到一个或多个物理输出装置922(触觉装置、视频显示器、音频输出装置、硬拷贝输出装置等)。至少一个有线I/O接口930可以可通信地耦合到一个或多个物理输入装置924(指示装置、触摸屏、键盘、触觉装置等)。有线I/O接口930可以包括任何当前可用或将来开发的I/O接口。示例有线I/O接口包括但不限于:通用串行总线(USB)、IEEE1394(“火线”)等。

计算装置900可包括一个或多个可通信地耦合的非暂时性数据存储装置960。数据存储装置960可包括一个或多个硬盘驱动器(HDD)和/或一个或多个固态存储装置(SSD)。一个或多个数据存储装置960可以包括任何当前或将来开发的存储设备、网络存储装置和/或系统。此类数据存储装置960的非限制性示例可以包括但不限于任何当前或将来开发的非暂时性存储设备或装置,诸如一个或多个磁存储装置、一个或多个光存储装置、一个或多个电阻存储装置、一个或多个分子存储装置、一个或多个量子存储装置或其各种组合。在一些实施方式中,一个或多个数据存储装置960可包括一个或多个可移除存储装置,诸如一个或多个闪存驱动器、闪存、闪存存储单元或能够通信耦合到计算装置900或从该计算装置900解耦的类似设备或装置。

一个或多个数据存储装置960可以包括将相应存储装置或系统通信地耦合到总线916的接口或控制器(未示出)。一个或多个数据存储装置960可以存储、保留或以其他方式包含对处理器核918和/或图形处理器电路系统912,和/或在处理器核918和/或图形处理器电路系统912上执行或由它们执行的一个或多个应用程序有用的机器可读指令集、数据结构、程序模块、数据存储、数据库、逻辑结构和/或其他数据。在一些情况下,一个或多个数据存储装置960可以可通信地耦合到处理器核918,例如经由总线916或经由一个或多个有线通信接口930(例如,通用串行总线或USB);一个或多个无线通信接口920(例如,蓝牙、近场通信或NFC);和/或一个或多个网络接口970(IEEE 802.3或以太网、IEEE 802.11或等)。

处理器可读指令集914和其他程序、应用程序、逻辑集和/或模块可以全部或部分存储在系统存储器940中。此类指令集914可以全部或部分地从一个或多个数据存储装置960转移。指令集914可在由处理器核918和/或图形处理器电路系统912执行期间全部或部分地加载、存储或以其他方式保留在系统存储器940中。

计算装置900可以包括控制储能装置952的一个或多个操作方面的功率管理电路系统950。在实施例中,储能装置952可包括一个或多个初级(即,不可充电)或次级(即,可充电)电池或类似的储能装置。在实施例中,储能装置952可包括一个或多个超级电容器或超电容器。在实施例中,电源管理电路950可以更改、调整或控制从外部电源954到储能装置952和/或到计算装置900的能量流。电源954可以包括但不包括限于太阳能系统、商业电网、便携式发电机、外部储能装置或其任何组合。

为了方便起见,处理器核918、图形处理器电路系统912、无线I/O接口920、有线I/O接口930、存储装置960和网络接口970被示为经由总线916彼此通信地耦合,从而提供上述部件之间的连接。在可替代实施例中,上述部件可以以不同于图9所示的方式可通信地耦合。例如,上述部件中的一个或多个可以直接耦合到其他部件,或可以经由一个或多个中间部件(未示出)彼此耦合。在另一示例中,上述部件中的一个或多个可以被集成到处理器核918和/或图形处理器电路系统912中。在一些实施例中,可以省略总线916的全部或一部分,并且这些部件使用合适的有线或无线连接彼此直接耦合。

例如,可提供实施例作为计算机程序产品,该计算机程序产品可以包括其上存储有机器可执行指令的一个或多个机器可读介质,该机器可执行指令当由一个或多个机器诸如计算机、计算机网络或其他电子装置执行时,可引起该一个或多个机器执行根据本文中所描述实施例的操作。机器可读介质可以包括但不限于软盘、光盘、CD-ROM(紧凑光盘只读存储器)和磁光盘、ROM、RAM、EPROM(可擦可编程只读存储器)、EEPROM(电可擦可编程只读存储器)、磁卡或光卡、闪存或适用于存储机器可执行指令的其他类型的介质/机器可读介质。

此外,可以将实施例下载为计算机程序产品,其中可以经由通信链路(例如,调制解调器和/或网络连接),通过体现在载波或其他传播介质中和/或由载波或其他传播介质调制的一个或多个数据信号,将程序从远程计算机(例如,服务器)传输到请求计算机(例如,客户端)。

在整个文档中,术语“用户”可以可互换地称为“查看者”、“观察者”、“发言人”、“人”、“个人”、“最终用户”等。应当注意,在整个本文档中,术语如“图形域”可以与“图形处理单元”、“图形处理器”或简称“GPU”可互换地引用,并且类似地,“CPU域”或“主机域”可以与“计算机处理单元”、“应用处理器”或简称“CPU”可互换地引用。

应当注意,术语如“节点”、“计算节点”、“服务器”、“服务器装置”、“云计算机”、“云服务器”、“云服务器计算机”、“机器”、“主机器”、“装置”、“计算装置”、“计算机”、“计算系统”等在整个本文档中可以可互换地使用。还应当注意,术语如“应用程序”、“软件应用程序”、“程序”、“软件程序”、“程序包”、“软件程序包”等在整个本文档中可以可互换地使用。而且,术语如“作业”、“输入”、“请求”、“消息”等在整个本文档中可以可互换地使用。

在各种实施方式中,计算装置可以是膝上型计算机、上网本、笔记本计算机、超极本、智能电话、平板计算机、个人数字助理(PDA)、超移动PC、移动电话、台式计算机、服务器、机顶盒、娱乐控制单元、数码相机、便携式音乐播放器或数字录像机。该计算装置可以是固定的、便携式的或可穿戴的。在进一步的实施方式中,计算装置可以是处理数据或记录数据以用于在其他地方处理的任何其他电子装置。

附图和前述描述给出了实施例的示例。本领域技术人员将理解,所描述的元件中的一个或多个可以很好地组合成单个功能元件。可替代地,某些元件可以被分成多个功能元件。来自一个实施例的元件可以被添加到另一个实施例。例如,本文中描述的过程的顺序可以改变,并且不限于本文中描述的方式。此外,任何流程图的动作不需要按照所示的顺序执行;也不必需要执行所有动作。而且,不依赖于其他动作的那些动作可以与其他动作并行地执行。实施例的范围绝不受这些具体示例的限制。无论说明书中是否明确给出,众多变化,诸如结构、尺寸和材料使用中的差异都是可能的。实施例的范围至少与所附权利要求所给的范围一样广泛。

例如,可以提供实施例作为计算机程序产品,该计算机程序产品可以包括其上存储有机器可执行指令的一种或多种暂时性或非暂时性机器可读存储介质,该机器可执行指令当由一个或多个机器诸如计算机、计算机网络或其他电子装置执行时,可引起该一个或多个机器执行根据本文中所描述实施例的操作。机器可读介质可以包括但不限于软盘、光盘、CD-ROM(紧凑光盘只读存储器)和磁光盘、ROM、RAM、EPROM(可擦可编程只读存储器)、EEPROM(电可擦可编程只读存储器)、磁卡或光卡、闪存或适用于存储机器可执行指令的其他类型的介质/机器可读介质。

一些实施例涉及示例1,其包括促进计算系统内的安全性的设备,该设备包括非易失性存储器,该非易失性存储器包括存储驱动器、控制器和加密引擎,该控制器包括具有一个或多个密钥槽的受信任端口以对一个或多个密码密钥进行编程,该加密引擎经由一个或多个密钥槽接收密码密钥,使用密码密钥对写入存储驱动器的数据进行加密,并使用密码密钥对从存储驱动器读取的数据进行解密。

示例2包括示例1的主题,其中在非易失性存储器的制造期间将一个或多个密码密钥编程到控制器中。

示例3包括示例1和2的主题,其中非易失性存储器还包括安全控制器以生成密码密钥。

示例4包括示例1至3的主题,其中安全控制器从物理不可克隆功能(PUF)引擎接收密码密钥。

示例5包括示例1至4的主题,其中安全控制器从熔断器控制器接收密码密钥。

示例6包括示例1至5的主题,其中非易失性存储器还包括基本输入/输出系统(BIOS)固件,以在引导过程期间将操作系统映像供应到非易失性存储器中。

示例7包括示例1至6的主题,其中BIOS固件读取操作系统映像中包括的安全报头。

示例8包括示例1至7的主题,其中安全报头提供了将操作系统映像作为明文存储的存储驱动器中的存储块的指示。

示例9包括示例1至8的主题,其中BIOS固件将控制器配置为不对安全报头中指示的存储装置中的存储块进行解密。

示例10包括示例1至9的主题,其中BIOS从存储块读取操作系统映像。

示例11包括示例1至10的主题,其中控制器利用密码密钥对操作系统映像进行加密,并将加密的操作系统映像存储到存储驱动器。

一些实施例涉及示例12,其包括促进非易失性存储器的安全性的方法,该方法包括接收将数据写入非易失性存储器的写入请求,在包括在非易失性存储器中的加密引擎处利用一个或多个密码密钥对写入数据进行加密,以及将加密的写入数据存储在非易失性存储器内的存储驱动器处。

示例13包括示例12的主题,还包括接收读取请求以从非易失性存储器读取数据,从非易失性存储器内的存储驱动器检索加密的数据,以及利用一个或多个密码密钥在加密引擎处对数据进行解密。

示例14包括示例12和13的主题,还包括传输数据。

一些实施例涉及示例15,其包括计算装置,该计算装置包括处理器、存储器装置、耦合在处理器和存储器装置之间的架构接口与耦合到该架构接口的非易失性存储器,该非易失性存储器包括存储驱动器,控制器、控制器和加密引擎,该控制器包括具有一个或多个密钥槽的受信任端口以对一个或多个密码密钥进行编程,该加密引擎经由一个或多个密钥槽接收密码密钥,使用密码密钥对写入存储驱动器的数据进行加密,并使用密码密钥对从存储驱动器读取的数据进行解密。

示例16包括示例15的主题,其中在非易失性存储器的制造期间将一个或多个密码密钥编程到控制器中。

示例17包括示例15和16的主题,还包括安全控制器,其耦合到架构接口以生成密码密钥。

示例18包括示例15至17的主题,其中安全控制器从物理不可克隆功能(PUF)引擎接收密码密钥。

示例19包括示例15至18的主题,其中安全控制器从熔断器控制器接收密码密钥。

示例20包括示例15至19的主题,其中非易失性存储器还包括基本输入/输出系统(BIOS)固件,以在引导过程期间将操作系统映像供应到非易失性存储器中。

上面已经参考特定实施例描述了示例的实施例。然而,本领域技术人员将理解,在不脱离如所附权利要求所阐述的更广泛的精神和范围的情况下,可以对实施例进行各种修改和改变。因此,前面的描述和附图应被认为是例示性的而不是限制性的。

23页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:USB外发敏感信息的管理方法、装置、设备及介质

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!

技术分类