CN110462624B - 用于安全地隔离系统特征的系统和方法 - Google Patents

用于安全地隔离系统特征的系统和方法 Download PDF

Info

Publication number
CN110462624B
CN110462624B CN201780088688.5A CN201780088688A CN110462624B CN 110462624 B CN110462624 B CN 110462624B CN 201780088688 A CN201780088688 A CN 201780088688A CN 110462624 B CN110462624 B CN 110462624B
Authority
CN
China
Prior art keywords
hardware logic
signal
programmable hardware
state
features
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.)
Active
Application number
CN201780088688.5A
Other languages
English (en)
Other versions
CN110462624A (zh
Inventor
R·P·瓦兰迪诺
J·A·埃克
D·W·哈特韦尔
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.)
Oracle International Corp
Original Assignee
Oracle International Corp
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 Oracle International Corp filed Critical Oracle International Corp
Publication of CN110462624A publication Critical patent/CN110462624A/zh
Application granted granted Critical
Publication of CN110462624B publication Critical patent/CN110462624B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • 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/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1433Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a module or a part of a module
    • 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/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)
  • Microcomputers (AREA)
  • Logic Circuits (AREA)

Abstract

操作包括隔离一个或多个系统特征。该系统存储包括用于每一个系统特征的信号状态的信号状态的集合。该系统的硬件能配置成锁定状态,在锁定状态中,信号状态的集合不能被修改。该系统的硬件也能配置成非锁定状态,在非锁定状态中,信号状态的集合可以被修改。硬件逻辑基于信号状态配置系统特征的集合的功能性。

Description

用于安全地隔离系统特征的系统和方法
技术领域
本公开涉及计算机安全。具体而言,本公开涉及一个或多个系统特征的选择性隔离。
权益要求
该申请要求于2017年3月22日提交的美国非临时申请号15/466,484的权益和优先权,该美国非临时申请通过引用并入本文。
背景技术
计算机系统包括很多组件和特征。组件包括诸如通用串行总线(USB)之类的接口,诸如非易失性存储器之类的硬件,以及诸如用于远程服务器管理的管理控制器之类的集成设备。特征包括组件的一部分或状态,诸如组件是打开的还是关闭的,组件是否保持复位,或者组件是否可以访问时钟之类。
这些组件和特征中的每一个可以被看作是攻击的潜在载体(vector),未经授权的主体可以从载体远程进入系统并且修改系统。这些组件中的一些对于一个用户而言可能是非常期望的,而被另一个用户由于安全考虑而具体地禁用。例如,一个用户可能要求USB接口,而另一个用户由于安全原因不能在她的系统上拥有USB接口。
基于软件的解决方案包括卸载或禁用外围接口的软件。例如,可以卸载或禁用网络堆栈或驱动器。然而,软件修改可能被远程破坏或被由未经授权的一方在系统上运行的隐藏软件破坏。不管应用何种层级的保护(诸如加密、密码和驱动器签名之类),基于软件的解决方案容易被远程破坏。在最好的情况下,软件修改使得成功渗透系统变得更困难和耗时。
该部分描述的方法是可能追求的方法,但是不一定是之前构思或追求的方法。因此,除非另有指示,否则不应该认为该部分中描述的任何方法仅仅由于包含在该部分而具有作为现有技术的资格。
附图说明
通过示例而不是作为限制来通过附图的图示出实施例。应该注意的是本公开中提及的“一”或“一个”实施例不一定是指同一实施例,并且它们意味着至少一个。在图中:
图1A示出根据一个或多个实施例的锁定状态中的系统;
图1B示出根据一个或多个实施例的非锁定状态中的系统;
图2示出根据一个或多个实施例的用于修改信号状态的集合的操作的一组示例;
图3示出根据一个或多个实施例的系统的框图。
具体实施方式
在下面的描述中,为了解释的目的,阐述大量的具体细节以便提供深入的理解。可以在没有这些具体细节的情况下实行一个或多个实施例。可以将一个实施例中描述的特征与不同的实施例中描述的特征结合。在一些示例中,参考框图形式描述已知的结构和设备以便避免不必要地模糊本发明。
1、总体概述
2、锁定配置中的系统
3、非锁定配置中的系统
4、隔离系统特征
5、远程重新配置
6、杂项;扩展
7、硬件概述
1、总体概述
一个或多个实施例包括有选择地和安全地隔离系统特征。系统包括一个或多个特征。这些特征的一个或多个可以是处于禁用状态或处于启用状态。系统可以被配置成锁定状态,其中,不能更改特定的系统特征的禁用或启用状态。
在实施例中,系统包括存储信号状态的集合的非易失性存储器,信号状态的集合包含用于每一个系统特征的信号状态。在锁定状态中,信号状态的集合不能被修改。系统也可以被配置成非锁定状态,在非锁定状态中,信号状态的集合能被修改。硬件逻辑基于信号状态配置系统特征的功能性。
在本说明书和/或在权利要求中记载的一个或多个实施例可以不包括在该总体概述部分中。
2、锁定配置中的系统
图1A示出根据一个或多个实施例的处于锁定配置中的系统。可编程硬件逻辑110基于存储在非易失性存储设备116中的信号状态118实现功能性。系统还包括编程接口102、锁定跳线104、基板管理控制器(BMC)112和特征120a-120n。系统还包括主板(未画出)。在一个或多个实施例中,系统可以包括比图1A所示的组件更多的或较少的组件。图1A所示的组件可以彼此是本地的或彼此是远程的。可以在软件和/或硬件中实现图1A所示的组件。每个组件可以分布在多个应用和/或机器上。可以将多个组件结合到一个应用和/或机器上。关于一个组件描述的操作可以由另一个组件代替执行。
在一个或多个实施例中,特征(例如特征120a-120b)指的是设备、设备的一部分或两个或多个设备的结合。示例性设备包括网络堆栈、驱动器、管理控制器和扩充槽。设备的特征包括设备的电源,设备是否处于复位状态,设备的时钟,以及设备的输入或输出。
在一个或多个实施例中,可编程硬件逻辑110与集成电路(IC)对应。可编程硬件逻辑可以是现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)或任何其它类型的可编程逻辑器件(PLD)。
可编程硬件逻辑110可以经由直接连接或经由网络通信耦接到特征120a-120n、编程接口102、缓冲器122、数据接口114和非易失性存储设备116。此外,可以在与BMC 112、非易失性存储设备116和特征120a-120n相同的计算系统上实现或执行可编程硬件逻辑110。可替代地或另外,可以在与BMC 112、非易失性存储设备116和特征120a-120n分离的计算系统上实现或执行可编程硬件逻辑110。可编程只读存储器(PROM)还可以执行可编程硬件逻辑的功能。
在另一实施例中,可以使用不可编程的硬件逻辑代替可编程硬件逻辑。硬件逻辑可以包括硬逻辑。不管系统是处于锁定状态还是非锁定状态,硬逻辑都不能被重新编程。
在实施例中,可编程硬件逻辑110包括用于控制特征120a-120n的功能性。可编程硬件逻辑可以包括用于将信号发送到特征以启用或禁用该特征的功能性。可编程硬件逻辑可以逻辑地指定0(即,低的或假的)或1(即,高的或真的)。可编程硬件逻辑可以包括用于将0或1映射到启用信号或禁用信号的功能性。可编程硬件逻辑的配置可以是至少部分地由存储在非易失性存储设备116中的信号状态118定义。可编程硬件逻辑可以存储信号状态118和特征120a-120n的各自特征的启用之间的映射。另外,可编程硬件逻辑可以包括用于修改非易失性存储设备中的信号状态的功能性。
在图1A中,如由图1A中指向特征120a-120n的箭头所指示的,特征120a-120n被禁用。响应于从可编程硬件逻辑接收的特定信号,特征被禁用。例如,特征可以是硬盘驱动器的电源。可编程硬件逻辑可以发送信号以禁用硬盘驱动器的电源。致使硬盘驱动器的电源和硬盘驱动器本身不可操作。在锁定模式或其他模式中,不需要禁用所有特征。取决于期望的安全模型,可以有选择地禁用或启用每个设备。例如,可以启用特征a和b,并且可以禁用特征n。作为另一示例,可以启用所有特征。
在实施例中,编程接口102包括被配置成发送指令以用于配置可编程硬件逻辑110的硬件和/或软件。编程接口可以包括用于将指令发送到可编程硬件逻辑以修改可编程硬件逻辑的硬件逻辑的功能性。编程接口可以是任何类型的接口,包括但不限于串行总线(例如,联合测试行动组(JTAG)总线)、并行接口或通用输入输出(GPIO)。
编程接口可以连接到包含的代码的处理单元,代码包括用于配置可编程硬件逻辑的指令。另外或可替代地,编程接口可以被通信地耦接以接收用户输入。可以从例如用于接收代码的命令行或应用程序接口(API)接收用户输入。
在实施例中,非易失性存储设备116包括用于存储信号状态的集合的功能性。非易失性存储设备是静态随机存取存储器,其中,当系统电源关闭时内容被保存。因此,即使开关系统电源,存储在非易失性存储设备中的设定也将被保存。非易失性存储设备可以是例如只读存储器(ROM)、可编程只读存储器(PROM)、闪存、硬盘驱动器或磁带。非易失性存储设备116只直接连接到可编程硬件逻辑110,否则与系统隔离。非易失性存储设备只能由可编程硬件逻辑修改。
在实施例中,信号状态118被存储到非易失性存储设备116中。信号状态是给定信号可能的离散值。信号状态可以被存储为启用/禁用表。启用/禁用表存储被用于确定是否启用或禁用特定特征的设定。信号状态可以是例如1(高)或0(低)。可编程硬件逻辑可以修改信号状态。由于保持信号状态的非易失性存储设备只耦接到可编程硬件逻辑,否则与系统隔离,因此在没有来自可编程硬件逻辑的指令的情况下,不能修改信号状态。
在实施例中,BMC 112是包括用于通过可编程硬件逻辑110对非易失性存储设备116编程的功能性的控制器。BMC包括用于通过执行诸如电源控制、检测故障并且发送警报之类的功能来监测并管理系统的功能性。BMC可以检测系统特征中的故障,并且因此对信号状态重新编程以禁用该特征。BMC经由数据接口114耦接到可编程硬件逻辑110。可以使用外部控制器或主机来代替BMC对非易失性存储设备编程。
在实施例中,数据接口114是允许BMC 112改变可编程硬件逻辑110中的数据的通信接口。数据接口可以将指令发送到可编程硬件逻辑以修改存储在非易失性存储设备116中的一个或多个信号状态118。数据接口可以是任何类型的接口,包括但不限于串行总线(例如,内部集成电路(I2C))、并行接口或通用输入输出(GPIO)。
在实施例中,锁定跳线104是可以被插入以连接主板上的两个引脚的短长度的导体。可以将锁定跳线插入主板或从主板移除来关闭或打开电路。在图1A中,锁定跳线到位。当锁定跳线被插入时,系统处于锁定模式。在锁定跳线到位的情况下,发送0(低)信号。可替代地,系统可以被配置成当锁定跳线到位时以使得发送1(高)信号。无论在锁定跳线到位的情况下哪个信号被配置成发送,该信号都被编程为表示禁用。禁用信号不能由系统上运行的任何软件修改。只能通过物理移除锁定跳线来修改禁用信号。当锁定跳线到位时,发送禁用信号106、124。
禁用信号106控制隔离缓冲器108。编程接口102通过隔离缓冲器108连接到可编程硬件逻辑110。禁用信号防止编程接口修改可编程硬件逻辑的内容。只能通过锁定跳线控制禁用106。锁定跳线物理上破坏编程接口,从而隔离可编程硬件逻辑。当锁定跳线到位时,存在编程接口的电隔离。
禁用信号106是经由缓冲器108从锁定跳线发送到编程接口102的信号。禁用信号106禁止编程接口与可编程硬件逻辑通信和/或配置可编程硬件逻辑。禁用信号可以通过停用必要的电源和/或连接来防止通信。当锁定跳线存在时,编程接口不能修改可编程硬件逻辑。
禁用124是经由缓冲器122从锁定跳线发送到可编程硬件逻辑110的信号。禁用124被发送到数据接口114的可编程硬件逻辑110的输入。当禁用信号激活时,逻辑上隔离数据接口以防止修改信号状态118。禁用124通过阻挡发送到可以访问信号状态118的可编程硬件逻辑110的部分的通信来防止BMC修改非易失性存储设备。结果,非易失性存储设备是写入保护的。禁用信号可以只禁止数据接口写入,而不禁止读取。在这种情况下,BMC仍然可以读取存储在非易失性存储设备中的值,但不能修改其中的任何值。
缓冲器122是包括用于防止可编程硬件逻辑110的反向驱动的功能性的单向缓冲器。缓冲器122防止来自可编程硬件逻辑的信号改变来自锁定跳线的信号。缓冲器122还可以包括用于当数据被发送到可编程硬件逻辑时临时存储数据的功能性。
另一个缓冲器即缓冲器126被安置在可编程硬件逻辑110内。缓冲器126担当逻辑缓冲器。缓冲器126可以是单向缓冲器,并且防止反向驱动。缓冲器126包括用于防止可编程硬件逻辑修改禁用信号的功能性。缓冲器126还可以包括用于当数据被发送到可编程硬件逻辑和/或从可编程硬件逻辑发送数据时临时存储数据的功能性。
3、非锁定配置中的系统
图1B示出根据一个或多个实施例的非锁定配置中的系统。参考图1A在上面部分2中描述了编程接口102;BMC 112;数据接口114;缓冲器108、122、126;可编程硬件逻辑110;非易失性存储设备116;信号状态118;以及特征120a-120n,然而,可以如下所述不同地实现或不同地操作上述组件。在图1B中,系统处于非锁定状态。在非锁定状态中,锁定跳线没有被插入。图1B所示的组件可以彼此是本地的或彼此是远程的。图1B所示的组件可以在软件和/或硬件中实现。每个组件可以分布在多个应用和/或机器上。可以将多个组件结合到一个应用和/或机器上。关于一个组件描述的操作可以由另一个组件代替执行。
当锁定跳线没有被插入时,系统处于非锁定模式。在锁定跳线缺失的情况下,系统发送1(高)信号。可替代地,当锁定跳线不到位时,系统可以发送0(低)信号。在任一情况下,各自的0或1与启用信号对应。在锁定跳线没有到位的情况下,系统生成启用信号130、132。
启用信号130是经由缓冲器108从锁定跳线发送到编程接口102的信号。启用信号130使得编程接口能与可编程硬件逻辑通信和/或配置可编程硬件逻辑。启用信号可以通过激活必要的电源和/或连接来许可通信。当锁定跳线缺失时,编程接口可以修改可编程硬件逻辑。
启用132是经由缓冲器122从锁定跳线发送到可编程硬件逻辑110的信号。启用信号132使得数据接口114被启用。启用信号可以通过激活必要的电源和/或连接启用数据接口。经由数据接口114,BMC可以经由可编程硬件逻辑110既读取又写入到非易失性存储设备。当锁定跳线没有被插入时,可编程硬件逻辑可以修改非易失性存储设备中的信号状态。
4、隔离系统特征
图2示出根据一个或多个实施例的用于隔离系统特征的示例性操作的集合。图2中所示的一个或多个操作可以被修改、重新排列或完全省略。因此,图2所示的操作的特定顺序不应该被解释为限制一个或多个实施例的范围。
在实施例中,系统存储用于系统特征的集合的信号状态(操作202)。通过修改与给定设备对应的位,可以将信号状态存储在非易失性存储设备中。可编程硬件逻辑可以接收来自BMC的指令以存储特定信号状态。响应于接收来自BMC的指令,可编程硬件逻辑可以修改存储在可编程硬件逻辑中的信号状态。
例如,BMC可以确定给定的特征应该被禁用以使系统变坚固从而免受攻击。BMC可以经由数据接口发送指令以禁用该特征。响应于该请求,可编程硬件逻辑指示非易失性存储设备在与该设备对应的表条目中存储1或0的信号状态。
可编程硬件逻辑基于信号状态配置系统特征的功能性(操作204)。可编程硬件逻辑可以使用映射将信号状态转化成指令以启用或禁用系统特征。硬件逻辑将对应的指令发送到系统特征。如果该特征被禁用,那么该特征与系统的其余部分断开,并且/或者防止该特征运行。如果该特征被启用,那么该特征可以运行,并且/或者与系统的其余部分通信。
如果系统处于锁定配置或非锁定配置,那么系统表现地不同(206)。系统是否处于锁定配置是硬件逻辑的问题,这由锁定跳线是否被插入主板确定。可替代地或另外,如下面部分5所述,可以远程地使系统进入锁定或非锁定配置。
如果系统处于锁定配置,那么系统不允许信号状态被修改(操作201)。在锁定配置中,锁定跳线被插入,这生成禁用信号,从而有效地创建硬件锁。禁用信号阻塞编程接口连接到可编程硬件逻辑。硬件锁防止可编程硬件逻辑的更新。软件不能破坏信号状态。禁用信号也阻塞从BMC到可编程硬件逻辑的数据接口。禁用数据接口防止可编程硬件逻辑允许软件修改存储在非易失性存储设备中的信号状态。禁用信号还阻止可编程逻辑修改其内部的硬件逻辑。防止可编程硬件逻辑内的硬件逻辑的重新布置防止可编程硬件逻辑直接地修改信号状态。
如果系统不处于锁定配置(系统处于非锁定状态),那么系统允许信号状态被修改(操作220)。在非锁定配置中,锁定跳线没有被插入,这使得启用信号被发送到可编程硬件逻辑。该启用信号允许可编程硬件逻辑允许软件修改存储在非易失性存储设备中的信号状态。启用信号也被发送到编程接口。该启用信号允许软件修改可编程硬件逻辑。
例如,系统包括用于一个特征(驱动器)的信号状态。非易失性存储设备存储用于该驱动器的1的信号状态。可编程硬件逻辑检索与该驱动器对应的该1的信号状态。响应于检索到的信号状态,可编程硬件逻辑将1映射到启用信号。可编程硬件逻辑将启用信号发送到驱动器。
锁定跳线没有被插入。系统处于非锁定状态。在该状态中,启用信号被发送到连接到可编程硬件逻辑的编程接口。启用信号使得软件能修改硬件逻辑。例如,来自编程接口的指令可以直接地指示可编程硬件逻辑重新配置其内部逻辑以禁用驱动器。
在非锁定模式中,启用信号也被发送到连接到BMC的数据接口。该启用信号使得BMC能通过经由数据接口将指令发送到可编程硬件逻辑来修改非易失性存储设备中的信号状态。
例如,BMC可以确定驱动器容易受到攻击,并且将其信号状态设定为0。当可编程硬件逻辑查找用于驱动器的信号状态时,看到信号状态是0。可编程硬件逻辑重新配置其硬件以将禁用信号发送到驱动器。现在,驱动器被禁用。
为确保驱动器保持禁用,需要与系统进行物理交互。管理员将锁定跳线插入系统的主板上的两个引脚之间。锁定跳线的插入使系统进入锁定模式。
在锁定状态中,系统将禁用信号发送到可编程硬件逻辑。该禁用信号防止可编程硬件逻辑的修改。软件不能指示可编程硬件逻辑重新配置其硬件逻辑以启用驱动器。
系统还将禁用信号发送到可编程硬件逻辑内,连到连接到BMC的数据接口。该禁用信号通过改变可编程硬件逻辑110的功能来防止BMC调整存储在非易失性存储设备中的信号状态。BMC不能指示可编程硬件逻辑将用于驱动器的信号状态变为1(这将启用驱动器)。非易失性存储设备是写入保护的并且不能被修改。
现在,没有软件可以重新配置可编程硬件逻辑或非易失性存储设备中的信号状态。除非锁定跳线被物理移除并且信号状态被重新配置,否则驱动器将保持禁用。
5、远程重新配置
在实施例中,可以远程地将系统重新配置为锁定状态以及从锁定状态重新配置系统。锁定不需要用跳线来认定(assert)。在这种情况下,使用系统中的可信实体来认定锁定,这允许系统的远程管理。
为防止未经授权的远程重新配置,系统包括可信实体。可信实体可以是例如具有其自己私有的接口的插入卡。可信卡与系统的其余部分隔离,并且保持仅由可信用户或可信设备控制。可信卡可以在简单的微控制器上运行以使得容易验证其处于可信状态。可信实体独立于系统的安全模型操纵系统中的信号。例如,可信实体可以操纵启用信号或禁用信号,或者可信实体可以操纵系统的电源。
可信实体代替安全跳线连接到系统逻辑。可信实体可以接收来自外部源的指令。如上所述,可信实体然后可以控制启用信号或禁用信号的发送。
在实施例中,可信实体经由可信远程连接通信耦接到远程接口。可信远程连接对于连接到系统的任何其它接口都是私有的。可信远程连接可以是串行接口和/或只连接到专用网络的网络连接。通过使用远程接口,授权用户可以将硬件配置改变为安全模式或从安全模式改变硬件配置。
6、杂项;扩展
实施例涉及具有一个或多个设备的系统,该设备包括硬件处理器,并且被配置成执行本文描述的和/或在下面任一权利要求中记载的任一操作。
在实施例中,非暂时性计算机可读存储介质包含指令,该指令当由一个或多个硬件处理器执行时,使得本文描述的和/或在任一权利要求中记载的任一操作被执行。
根据一个或多个实施例可以使用本文中描述的特征和功能性的任一组合。在上述说明书中,参考大量具体细节描述了实施例,而这些细节可以因实现的不同而不同。因此,说明书和附图被看作是说明性的而不是限制性的。发明范围的唯一和独有的指标以及由申请人意指作为发明范围的内容是由该申请公布的一套权利要求的字面和等同的范围,这样的权利要求以具体形式发布,包括任何后续的校正。
7、硬件概述
根据一个实施例,由一个或多个专用计算设备实现本文中描述的技术。专用计算设备可以是硬接线的以执行技术,或者可以包括被持续编程以执行技术的数字电子设备,诸如一个或多个专用集成电路(ASIC)、现场可编程门阵列(FPGA)或网络处理单元(NPU)之类,或者可以包括一个或多个通用硬件处理器,其被编程以根据固件、存储器、其它存储或组合中的程序指令来执行技术。这样的专用计算设备还可以将定制的硬接线逻辑、ASIC、FPGA或NPU与定制的编程结合以完成技术。专用计算设备可以是包含硬接线和/或程序逻辑以实现技术的台式计算机设备、便携式计算机系统、手持式设备、网络设备或任何其它设备。
例如,图3是示出可以在其上实现发明的实施例的计算机系统300的框图。计算机系统300包括用于传达信息的总线302或其它通信机制,以及与总线302耦接的用于处理信息的硬件处理器304。硬件处理器304可以是例如通用微处理器。计算机系统300还包括耦接到总线302用于存储信息和由处理器304执行的指令的主存储器306,诸如随机存取存储器(RAM)或其它动态存储设备之类。在由处理器304执行的指令的执行期间,主存储器306还可以被用于存储临时变量或其它中间信息。这样的指令当被存储在处理器304可访问的非暂时性存储介质中时,会将计算机系统300转化成被定制执行指令中指定的操作的专用机器。
计算机系统300还包括耦接到总线302用于存储静态信息和用于处理器304的指令的只读存储器(ROM)308或其它静态存储设备。提供诸如磁盘或光盘之类的存储设备310,并且将其耦接到总线302用于存储信息和指令。
计算机系统300可以经由总线302耦接到诸如阴极射线管(CRT)之类的显示器312,以用于向计算机用户显示信息。包括字母数字和其它键的输入设备314耦接到总线302,以用于将信息和命令选择传达到处理器304。另一种类型的用户输入设备是诸如鼠标、跟踪球或光标方向键之类的光标控制316,用于将方向信息和指令选择传达到处理器304并且用于控制显示器312上的光标移动。该输入设备通常在两个轴(第一个轴(例如,x)和第二个轴(例如,y))上具有两个自由度,这允许设备在平面中指定位置。
计算机系统300可以使用与计算机系统结合使得或编程计算机系统300成为专用机器的定制的硬接线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑来实现本文中描述的技术。根据一个实施例,响应于处理器304执行包含在主存储器306中的一个或多个指令的一个或多个序列,本文中的技术由计算机系统300执行。这样的指令可以从诸如存储设备310之类的另一个存储介质被读入到主存储器306。包含在主存储器306中的指令的序列的执行使得处理器304执行本文中描述的处理步骤。在可替代的实施例中,硬接线电路可以被用于代替软件指令或与软件指令结合。
本文中使用的术语“存储介质”指的是存储数据和/或使得机器以特定的方式运行的指令的任何非暂时性介质。这样的存储介质可以包含非易失性介质和/或易失性介质。非易失性介质包括例如光盘或磁盘,比如存储设备310。易失性介质包括动态存储器,比如主存储器306。存储介质的常见形式包括例如软盘、柔性盘、硬盘、固态硬盘、磁带或任何其它磁数据存储介质、CD-ROM、任何其它光学数据存储介质、任何有孔洞的图案的物理介质、RAM、PROM、和EPROM、FLASH-EPROM、NVRAM、任何其它存储器片或盒、按内容寻址存储器(CAM)、和三态内容寻址存储器(TCAM)。
存储介质与传输介质有区别,但是可以与传输介质结合使用。传输介质参与在存储介质之间传播信息。例如,传输介质包括包含构成总线302的线在内的同轴电缆、铜线和光纤。传输介质还可以表现为声波或光波的形式,比如在无线电波和红外线数据通信期间生成的声波或光波。
各种形式的介质可以参与将一个或多个指令的一个或多个序列携带到处理器304用于执行。例如,指令最初可以被携带到远程计算机的磁盘或固态硬盘上。远程计算机可以将指令加载到其动态存储器中,并且使用调制解调器通过电话线发送指令。计算机系统300本地的调制解调器可以在电话线上接收数据,并且使用红外发射器将数据转换成红外信号。红外探测器可以接收携带在红外信号中的数据,并且适当的电路可以将数据放置在总线302上。总线302将数据携带到处理器304从其检索并且执行指令的主存储器306。由主存储器306接收的指令可以选择在处理器304执行之前或之后存储在存储设备310上。
计算机系统300还包括耦接到总线302的通信接口318。通信接口318提供耦接到连接到本地网络322的网络链接320的双向数据通信。例如,通信接口318可以是综合业务数字网(ISDN)卡、电缆调制解调器、卫星调制解调器或调制解调器,以提供到对应的类型的电话线的数据通信连接。作为另一个示例,通信接口318可以是局域网(LAN)卡,以提供到兼容LAN的数据通信连接。还可以实现无线链接。在任何这样的实现中,通信接口318发送并且接收携带表示各种类型的信息的数字数据流的电信号、电磁信号或光信号。
网络链接320通常提供通过一个或多个网络到其它数据设备的数据通信。例如,网络链接320可以提供通过本地网络322到主机324或到由网络服务提供者(ISP)326操作的数据装备的连接。ISP 326反过来通过现在通常被称为“互联网”328的全球分组数据通信网络提供数据通信服务。本地网络322和互联网328两者都使用携带数字数据流的电信号、电磁信号或光信号。通过各种网络的信号以及在网络链接320上并且通过通信接口318的信号是传输介质的示例性形式,这些信号将数字数据携带到计算机系统300并且从计算机系统300携带出数字数据。
计算机系统300可以通过网络、网络链接320和通信接口318发送消息并且接收包括程序代码在内的数据。在互联网示例中,服务器330可以通过互联网328、ISP 326、本地网络322和通信接口318发送用于应用程序的要求的代码。
当接收的代码被接收时,该接收的代码可以由处理器304执行,并且/或存储在存储设备310中或其它非易失性存储设备中以用于稍后的执行。
在上述说明书中,参考大量具体细节描述发明的实施例,而这些细节可以因实现的不同而不同。因此,说明书和附图被看作是说明性的而不是限制性的。发明范围的唯一和独有的指标以及由申请人意指作为发明范围的内容是由该申请发布的一套权利要求的字面和等同的范围,这样的权利要求以具体形式发布,包括任何后续的校正。

Claims (8)

1.一种用于安全地隔离系统特征的系统,包括:
非易失性存储器,所述非易失性存储器存储用于启用或者禁用一个或多个系统特征的集合中的每一个系统特征的功能性的信号的信号状态的集合;
硬件,所述硬件能配置成:
(a)锁定状态,在所述锁定状态中,存储在所述非易失性存储器中的信号状态的集合不能被连接到所述非易失性存储器的基板管理控制器BMC修改;以及
(b)非锁定状态,在所述非锁定状态中,存储在所述非易失性存储器中的信号状态的集合能被BMC修改;
其中,在不对所述系统进行物理操纵的情况下,所述锁定状态和所述非锁定状态之间的变化不能产生;
其中,所述系统的物理操纵包括:(a)添加跳线以连接包括在所述系统中的主板上的两个引脚或(b)移除跳线以断开包括在所述系统中的主板上的两个引脚;并且
其中,所述BMC经由数据接口连接单独连接到所述非易失性存储器;以及
硬件逻辑,所述硬件逻辑:
(a)将所述信号状态的集合映射到所述信号以启用或者禁用功能性;以及
(b)发送所述信号,以基于信号状态来启用或者禁用所述一个或多个系统特征的集合中的每一个系统特征的功能性。
2.如权利要求1所述的系统,其中,在所述非锁定状态期间,所述硬件逻辑能被重新编程,并且其中在所述锁定状态期间,所述硬件逻辑不能被重新编程。
3.如权利要求1所述的系统,其中,所述硬件逻辑包括在不管是所述锁定状态还是所述非锁定状态期间都不能被重新编程的硬逻辑。
4.如权利要求1所述的系统,其中,所述BMC包括用于当所述硬件处于所述锁定状态时读取存储在所述非易失性存储器中的信号状态的集合的功能性。
5.如权利要求1所述的系统,其中,锁定状态和非锁定状态之间的变化能利用经由包括在所述系统中的可信实体对所述系统的远程操纵而产生。
6.如权利要求1所述的系统,其中,非易失性存储器只能经由硬件逻辑访问。
7.一种用于安全地隔离系统特征的方法,包括:
如权利要求1-6中任一项所述的系统中记载的操作;
其中,所述方法由包括硬件处理器的至少一个设备执行。
8.一种包括指令的非暂时性可读介质,所述指令在被一个或多个硬件处理器执行时,使得如权利要求1-6中任一项所述的系统中记载的操作被执行。
CN201780088688.5A 2017-03-22 2017-12-06 用于安全地隔离系统特征的系统和方法 Active CN110462624B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/466,484 US10585608B2 (en) 2017-03-22 2017-03-22 System and method for securely isolating a system feature
US15/466,484 2017-03-22
PCT/US2017/064824 WO2018174971A1 (en) 2017-03-22 2017-12-06 System and method for securely isolating a system feature

Publications (2)

Publication Number Publication Date
CN110462624A CN110462624A (zh) 2019-11-15
CN110462624B true CN110462624B (zh) 2023-08-29

Family

ID=60782386

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780088688.5A Active CN110462624B (zh) 2017-03-22 2017-12-06 用于安全地隔离系统特征的系统和方法

Country Status (5)

Country Link
US (1) US10585608B2 (zh)
EP (1) EP3602390B1 (zh)
JP (2) JP7159190B2 (zh)
CN (1) CN110462624B (zh)
WO (1) WO2018174971A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11099922B2 (en) * 2019-08-12 2021-08-24 Dell Products L.P. System and method for isolating a failed card

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5524008A (en) * 1995-03-21 1996-06-04 National Semiconductor Corporation Generating real-time events in a TDMA digital wireless communications system
CN1524206A (zh) * 2001-05-10 2004-08-25 �Ƚ�΢װ�ù�˾ 用于个人计算机存储器区域的外部锁固机构
CN101126995A (zh) * 2006-08-14 2008-02-20 国际商业机器公司 处理严重硬件错误的方法及设备
CN101479707A (zh) * 2006-06-30 2009-07-08 莫塞德技术公司 为混合磁盘驱动器配置非易失性存储器的方法
CN105164635A (zh) * 2013-05-31 2015-12-16 英特尔公司 针对固态存储设备在运行中的性能调整
WO2016043962A1 (en) * 2014-09-17 2016-03-24 Cryptography Research, Inc. Managing privileges of different entities for an integrated circuit
CN106227636A (zh) * 2016-07-20 2016-12-14 国网安徽省电力公司信息通信分公司 一种基于ipmi的数据中心带外管理系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000267847A (ja) * 1999-03-18 2000-09-29 Miyazaki Oki Electric Co Ltd セキュリティシステム
JP4256859B2 (ja) * 2005-04-21 2009-04-22 シャープ株式会社 半導体記憶装置
KR100833189B1 (ko) * 2006-11-03 2008-05-28 삼성전자주식회사 불휘발성 메모리 장치 및 불휘발성 메모리 장치의환경설정정보 설정 방법
US7574576B2 (en) * 2006-12-22 2009-08-11 Spansion Llc Semiconductor device and method of controlling the same
US7902964B2 (en) * 2007-06-05 2011-03-08 Xerox Corporation Hybrid system option key
US8392683B1 (en) * 2009-11-30 2013-03-05 Micron Technology, Inc. Dynamic range unlock or lock memory device and method to operate the same
US10771448B2 (en) * 2012-08-10 2020-09-08 Cryptography Research, Inc. Secure feature and key management in integrated circuits
US9521032B1 (en) * 2013-03-14 2016-12-13 Amazon Technologies, Inc. Server for authentication, authorization, and accounting
US9658787B2 (en) * 2014-02-26 2017-05-23 Macronix International Co., Ltd. Nonvolatile memory data protection using nonvolatile protection codes and volatile mask codes
US20150381368A1 (en) * 2014-06-27 2015-12-31 William A. Stevens, Jr. Technologies for secure offline activation of hardware features
US9747739B2 (en) * 2014-08-18 2017-08-29 Noke, Inc. Wireless locking device
JP6492835B2 (ja) * 2015-03-23 2019-04-03 富士通クライアントコンピューティング株式会社 ポータブル機器、及び情報処理装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5524008A (en) * 1995-03-21 1996-06-04 National Semiconductor Corporation Generating real-time events in a TDMA digital wireless communications system
CN1524206A (zh) * 2001-05-10 2004-08-25 �Ƚ�΢װ�ù�˾ 用于个人计算机存储器区域的外部锁固机构
CN101479707A (zh) * 2006-06-30 2009-07-08 莫塞德技术公司 为混合磁盘驱动器配置非易失性存储器的方法
CN101126995A (zh) * 2006-08-14 2008-02-20 国际商业机器公司 处理严重硬件错误的方法及设备
CN105164635A (zh) * 2013-05-31 2015-12-16 英特尔公司 针对固态存储设备在运行中的性能调整
WO2016043962A1 (en) * 2014-09-17 2016-03-24 Cryptography Research, Inc. Managing privileges of different entities for an integrated circuit
CN106227636A (zh) * 2016-07-20 2016-12-14 国网安徽省电力公司信息通信分公司 一种基于ipmi的数据中心带外管理系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Information Hiding Based on Block Match Coding for Vector Quantization-Compressed Images;Jiann-Der Lee等;《网页在线公开:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6407687》;20130109;第1-12页 *

Also Published As

Publication number Publication date
EP3602390B1 (en) 2021-11-17
JP7441896B2 (ja) 2024-03-01
JP2022141880A (ja) 2022-09-29
EP3602390A1 (en) 2020-02-05
JP7159190B2 (ja) 2022-10-24
US10585608B2 (en) 2020-03-10
WO2018174971A1 (en) 2018-09-27
JP2020514927A (ja) 2020-05-21
CN110462624A (zh) 2019-11-15
US20180275904A1 (en) 2018-09-27

Similar Documents

Publication Publication Date Title
CN110494855B (zh) 用于恢复可信系统固件状态的系统和方法
US8892837B2 (en) Integrated circuit with tamper-detection and self-erase mechanisms
US11334510B1 (en) Systems and methods for combination write blocking with connection interface control devices
US8566603B2 (en) Managing security operating modes
US20100005531A1 (en) Isolated multiplexed multi-dimensional processing in a virtual processing space having virus, spyware, and hacker protection features
EP3876121B1 (en) Data forwarding control method and system based on hardware control logic
US10387646B2 (en) Input/output parameter selection
US20200183691A1 (en) Enhanced protection of processors from a buffer overflow attack
US20170201373A1 (en) Systems and methods for management controller management of key encryption key
US11003801B2 (en) Functional device and control apparatus
AU2005248713A1 (en) Isolated multiplexed multi-dimensional processing in a virtual processing space having virus, spyware, and hacker protection features
JP7441896B2 (ja) システム特徴をセキュアに分離するためのシステムおよび方法
CN105404829A (zh) 用于选择性地释放调试接口的设备
CN111856257A (zh) 一种cpld固件检测及保护的方法、系统、设备及介质
CN110334501A (zh) 一种基于u盘的数据保护方法和装置以及设备
US20220100860A1 (en) Secure collection and communication of computing device working data
US8365006B2 (en) Preventing circumvention of function disablement in an information handling system
JP2022059521A (ja) 半導体装置
CN104978513A (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