CN110337653A - 保护无保护硬件总线 - Google Patents
保护无保护硬件总线 Download PDFInfo
- Publication number
- CN110337653A CN110337653A CN201880013490.5A CN201880013490A CN110337653A CN 110337653 A CN110337653 A CN 110337653A CN 201880013490 A CN201880013490 A CN 201880013490A CN 110337653 A CN110337653 A CN 110337653A
- Authority
- CN
- China
- Prior art keywords
- hardware bus
- computing device
- host computing
- bus
- data grouping
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
- G06F21/85—Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/81—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer by operating on the power supply, e.g. enabling or disabling power-on, sleep or resume operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/442—Shutdown
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Bus Control (AREA)
- Debugging And Monitoring (AREA)
- Small-Scale Networks (AREA)
Abstract
公开了用于保护来自无保护硬件总线的通信的技术。描述的技术可以通过将安全硬件总线放置在无保护硬件总线和主机计算设备之间而被实现。安全硬件总线充当用以防止不安全数据分组向主机计算设备的递送的过滤器。过滤可以特别地有用于防止将触发主机计算设备的重新引导的数据分组的递送。
Description
背景技术
硬件总线在计算环境中被普遍地用于在计算部件之间内部地传达数据以及在计算设备之间外部地传达数据。许多硬件总线协议是无保护的,然而,这在主机计算设备被外部地用于与不可信计算设备通信时将造成对主机计算设备的安全风险。例如,无保护硬件总线可以被用于从不可信计算设备向主机设备传达不安全数据分组,从而导致针对不可信计算设备的权限提升、对主机设备上的信息的未授权访问,或者系统故障通知由主机设备接收,这可以导致主机设备的重新引导。
无保护硬件总线当在虚拟机环境中被使用时造成特别的危险。一般而言,虚拟机环境允许多个操作系统实例或者应用实例同时存在于同一主机计算设备上并且相互隔离。虚拟化还支持多个操作系统实例共享主机计算设备的资源,诸如共享存储设备、处理设备(例如,图形处理单元(GPU))、联网设备等。这些进步已经导致许多计算资源的集中化,从而支持各种计算任务“在云上”被执行。因此,利用计算资源的集中化,如果不安全数据分组被传达给主机计算设备,则不仅该主机计算设备处于风险中,而且多个操作系统实例中的每个操作系统实例也处于风险中。
本背景技术提供了针对公开的上下文。除非另有指示,否则在这一部分中被描述的材料并不是针对本公开中的权利要求的现有技术,并且并未通过包括在这一部分中而被承认为现有技术。
发明内容
公开了用于针对主机设备和不可信计算设备之间的通信保护保护来自无保护硬件总线的通信的技术。所描述的技术通过将安全硬件总线置于主机设备和无保护硬件总线之间来将主机设备从经由无保护硬件总线而被传达的数据分组隔离。安全硬件总线可以包括具有通信路径的通信信道以用于向主机计算设备递送数据分组。通信信道与网桥电子通信,网桥转而与无保护硬件总线电子通信。安全硬件总线包括总线计算设备,总线计算设备用以执行指令以允许安全数据分组向主机计算设备的递送,但是拒绝不安全数据分组的递送。通过利用在此描述的技术,来自无保护硬件总线的通信由无保护硬件总线和主机计算设备之间的安全硬件总线保护。这允许外部不可信计算设备在包括主机计算设备和安全硬件总线的可信环境外部的不可信环境中高效地操作无保护硬件总线。
提供本发明内容是为了以简化的形式介绍一些概念,这些概念将在下面的具体实施方式中被进一步描述。本发明内容并不旨在标识所要求保护的主题的关键特征或必要特征,也并不旨在被用作确定所要求保护的主题的范围时的帮助。
附图说明
具体实施方式参考附图而被描述。在附图中,附图标记的(多个)最左边的数字标识首次出现附图标记的图。在说明书和附图中的不同实例中对相同附图标记的使用指示相似或相同的项目。
图1是根据一个或者多个实现的示例环境的图示。
图2是根据一个或者多个实现的示例总线计算设备的图示。
图3是根据一个或者多个实现的主机计算设备的图示。
图4是描述根据一个或者多个实现的方法中的操作的流程图。
图5图示了示例系统,示例系统包括示例总线计算设备的各种部件,示例总线计算设备可以被实现为如参考图1至图4而被描述和/或利用的任何类型的总线技术设备,以实现在此描述的技术的方面。
具体实施方式
概述
传统硬件总线连接是无保护的。例如,被普遍地用于连接外围计算设备的外围部件互连硬件总线(PCI总线)和外围部件互连高速硬件总线(PCIe总线)通常是无保护的。因此,主机计算设备易受从外围计算设备递送的不安全数据分组的攻击。例如,不安全数据分组可以包括系统故障的通知,这导致主机计算设备重新引导,从而结束由主机计算设备操作的任何进程或者应用。当主机计算设备是主控虚拟机环境的服务器时,每个操作系统实例和应用实例在重新引导期间被拒绝服务。
本文档公开了如下技术和装置,这些技术和装置用以保护无保护硬件总线并且因此保护主机计算设备免遭经由无保护硬件总线而被传达的不安全数据分组。这可以通过将安全硬件总线放置在无保护硬件总线和主机计算设备之间而被实现。安全硬件总线可以充当用以拒绝不安全数据分组的递送并且允许安全数据分组的递送的过滤器。因此,安全硬件总线可以被实现以防止主机计算设备响应于不安全数据分组的递送的系统停机或者重新引导。
在示例实现中,安全硬件总线(诸如ThunderboltTM硬件总线)的一端被电子地连接到主机计算设备。安全硬件总线的另一端包括网桥或者适配器(或者“网桥”)以用于将安全硬件总线连接到无保护硬件总线的一端。无保护硬件总线的另一端被电子地连接到不可信计算设备,诸如图形处理单元。图形处理单元被配置以使得如果图形处理单元具有系统错误,则其将向主机计算设备发送系统错误的通知。因此,通知作为数据分组经由无保护硬件总线被递送给安全硬件总线。当由安全硬件总结接收到时,数据分组经由总线计算设备被处理以确定数据分组是安全的还是不安全的。由于系统错误将引起主机计算设备重新引导,所以数据分组被确定为不安全并且因此被拒绝向主机计算设备的递送。安全硬件总线然后可以通知主机计算设备对递送的拒绝。主机计算设备可以响应于通知而递送指令或者命令。例如,主机计算设备可以指令安全硬件总线重新引导、向不可信计算设备递送重新引导命令或者拒绝来自不可信计算设备的所有数据分组。
在接下来的讨论中,可以采用在此描述的技术的示例环境首先被描述。可以在示例环境以及其他环境中被执行的示例过程然后被描述。因此,示例过程的执行并不限于示例环境,并且示例环境并不限于示例过程的执行。最后,可以被采用以执行在此描述的各种技术的示例系统和设备被描述。
示例环境
图1图示了示例实现中的环境100,环境100可操作以采用如在此描述的技术以保护无保护硬件总线。所图示的环境100包括用于访问一个或者多个计算资源的主机计算设备102。通过示例而非限制,主机计算设备102可以是个人计算机或者想多个用户提供虚拟机环境的服务器。主机计算设备102被电子地连接到安全硬件总线104以促进数据分组向主机计算设备102的受保护递送。安全硬件总线104包括网桥106,网桥106充当安全硬件总线104的通信信道和无保护硬件总线108-1、108-2和108-3之间的连接器。无保护硬件总线108-1提供去往存储设备110-1通信信道,无保护硬件总线108-2提供去往图形处理单元110-2的通信信道,并且无保护硬件总线108-3提供去往联网设备110-3的通信信道。无保护硬件总线108-2例如可以由主机计算设备102使用以向图形处理单元110-2传达命令或者用以访问图形处理单元110-2的资源的请求。附加地,图形处理单元110-2可以经由无保护硬件总线108-2响应于命令或者用以访问资源的请求。附加的或者备选的不可信计算设备(诸如显示器、打印机和可移除存储器)被预期与环境100一起使用。
网桥106可以被实现为以下一项或者多项:硬件总线连接器、硬件总线网桥或者用于在不同的硬件总线协议之间转变的硬件总线转变器。网桥106可以包括用于确定数据分组是否安全的总线计算设备。备选地,总线计算设备可以被定位为接近主机计算设备102。因此,网桥106被配置为中间人设备以保护主机计算设备102免遭不安全数据分组。特别地,网桥106可以执行对外围计算设备110-1、110-2和110-3而不是对主机计算设备102的机器检查。这防止主机计算设备102的模块(诸如输入/输出存储器映射单位)执行机器检查并且重新引导主机计算设备102。
主机计算设备102可以代表多个不同设备(诸如被利用以“在云上”执行操作的一个或者多个服务器)中的一个设备。例如,主机计算设备102可以向访问主机计算设备102内部和主机计算设备102外部的资源(诸如存储设备110-1、图形处理单元110-2和联网设备110-3)的多个用户提供虚拟机环境。
示例系统
图2图示了图1的安全硬件总线104的网桥106的示例实现。网桥106被图示为具有用于接纳无保护硬件总线108-1、108-2和108-3的多个端口。网桥106包括总线计算设备220,总线计算设备202转而包括(多个)处理器204、功率管理集成电路(PMIC)206、通信模块208、存储器210和数据分组过滤器模块212。如所示,存储器210包括指令214,指令214包括用于确定数据分组是否不安全的计算机代码。
数据分组过滤器模块212被配置用于执行来自图1的主机计算设备102的指令214以标识经由安全硬件总线104指向主机计算设备102的多个数据分组内的不安全数据分组。数据分组过滤器模块212还被配置用于执行接收到的指令214以拒绝的不安全数据分组向主机计算设备102的递送并且允许安全数据分组向主机计算设备102的递送。指令214可以包括例如不安全数据分组或者不安全数据分组的组成部分的库。附加地或者备选地,指令214可以包括用于确定数据分组是否不安全的公式。
(多个)处理器204可以被实现为现场可编程门阵列(FPGA),FPGA包括用于执行被编程在FPGA的内部存储器210内的指令214的数据分组过滤器模块212。备选地,指令可以被存储在外部易失性存储器中,或者被存储在外部非易失性存储器中。如果被存储在易失性存储器中,则无论是在(多个)处理器204的内部还是外部,指令都将响应于去往网桥106的功率的丢失而丢失。如果指令丢失,则总线计算设备202可以从主机计算设备102请求新的指令214或者在重新引导之后等待新的指令214的接收。因此,破坏的指令214被移除,并且新的指令214从主机计算设备102被接收。
总线计算设备202还可以被配置用于将数据分组从第一硬件总线协议转变为第二硬件总线协议。例如,(多个)处理器204可以被配置用于执行安全硬件总线104的ThunderboltTM硬件总线协议和无保护硬件总线108-1的外围部件互连高速(PCI-E)协议之间的转变。
通信模块208被配置用于通知主机计算设备102对不安全数据分组的递送的拒绝。通信模块208还可以被配置用于从主机计算设备102接收通信,诸如用于确定不安全数据分组的指令214、用以重新引导总线计算设备202的命令、用于拒绝来自不可信计算设备的所有数据分组的命令或者用以重新引导不可信计算设备的命令。PMIC 206可操作以向总线计算设备202递送功率或者拒绝去往总线计算设备202的功率。响应于来自主机计算设备102的命令,例如,PMIC 206可以执行停机指令以暂时地拒绝去往总线计算设备202的功率以导致重新引导。
图3更详细地图示了图1的主机计算设备102的示例实现。主机计算设备102出于视觉简洁被示出为单个实体,虽然多个设备可以作为替代而被使用。主机计算设备102包括(多个)服务器处理器302、计算机可读存储介质(介质)304、用于经由安全硬件总线104接收数据分组的安全硬件总线端口306和通信模块308,或者具有对它们的访问权。介质304包括用于安全硬件总线104的指令310和虚拟机环境312,或者具有对它们的访问权。
指令310包括用于经由通信模块308向图1和图2的安全硬件总线104递送并且由其使用的安全数据分组的定义314和不安全数据分组的定义316。指令310可以包括基于数据分组的一个或者多个元素(诸如报头、有效载荷或者尾部)的定义。例如,不安全数据分组的定义316可以将在数据分组的报头中包括被标识为不安全的项的数据分组定义为不安全。在示例实现中,不安全数据分组的定义316将在报头中包括“故障”的所有数据分组定义为不安全数据分组。安全数据分组的定义314可以基于数据分组的一个或者多个元素而被定义,或者备选地可以被定义为所有未被标识为不安全的。在一些实现中,安全数据分组的定义314或者不安全数据分组的定义316中的仅一个定义被递送给总线计算设备202。
指令310还可以包括用于响应于对递送的拒绝的通知的指令和命令。如以上讨论的,指令310可以包括用以重新引导安全硬件总线的命令、用以拒绝来自不可信计算设备的所有数据分组的命令或者用以重新引导不可信计算设备的命令。
虚拟机环境312包括用户(1)环境318和用户(n)环境320。如所示,主机计算设备102允许多个虚拟机环境(操作系统实例或者应用实例)同时存储并且共享主机计算设备102的资源,诸如存储设备110-1、图形处理单元110-2、联网设备110-3等。多个虚拟机环境经由安全硬件总线端口306、安全硬件总线104和一个或者多个无保护硬件总线访问共享的资源中的一个或者多个资源。
示例方法
以下讨论描述了用于通过将安全硬件总线放置在无保护硬件总线和主机计算设备之间来保护来自无保护硬件总线的通信的示例实现中的方法400。方法400的方面可以在硬件、固件、软件或者它们的组合中被实现。方法400被示出为一组块,该一组块指定由一个或者多个设备执行的操作并且不必限于针对由相应的块执行操作而被示出的顺序。在以下讨论的部分中,将对图1至图3进行参考。
在操作402,指向主机计算设备的多个数据分组经由无保护硬件总线从不可信计算设备被接收。例如,安全硬件总线104经由无保护硬件总线108-1从存储设备110-1接收指向主机计算设备102的多个数据分组。数据分组可以在不可信计算设备的使用期间有主机计算设备直接接收,或者可以由主机计算设备的虚拟机环境的用户接收。用户(1)环境318例如请求酱油图形处理单元110-2处理的数据,从而导致多个数据分组经由无保护硬件总线108-2指向主机计算设备102。
多个数据分组中的至少一个数据分组的递送在操作402基于不安全数据分组的定义而被拒绝。这一操作可以由总线计算设备(诸如执行指令214的总线计算设备202)执行以确定多个数据分组中的至少一个数据分组不安全。例如,处理器204可以执行指令214以执行多个数据分组与不安全数据分组的定义316的一系列比较。与不安全数据分组的定义匹配的数据分组被标识为不安全。附加地或者备选地,处理器204可以执行指令214以通过分析多个数据分组的元素以标识被定义为不安全的项来将数据分组标识为不安全。总线计算设备202然后拒绝不安全数据分组的递送并且允许安全数据分组的递送。不安全数据分组可以被存储在总线计算设备的存储其中,或者响应于对递送的拒绝而被删除。不安全数据分组可以包括如果被递送给主机计算设备102而将引起主机计算设备102重新引导的不可信计算设备的系统故障的通知。因此,拒绝对不安全数据分组的递送可以防止将导致针对主机计算设备102上的虚拟机环境312的用户对服务的拒绝的重新引导。
在可选操作408,主机计算设备被通知对递送的拒绝。例如,通信模块208向主机计算设备102递送对递送的拒绝的通知。附加的信息(诸如针对拒绝的原因或者不安全数据分组的类型)也可以被递送给主机计算设备102以创建不安全数据分组的记录和/或引起来自主机计算设备102的响应。
指令在操作410响应于对递送的拒绝的通知而从主机计算设备被接收。主机计算设备102例如经由通信模块208向安全硬件总线104提供指令310。指令310可以包括用以重新引导总线计算设备202的命令、用以拒绝来自不可信计算设备的所述数据分组的命令或者用以重新引导不可信计算设备的命令。用以重新引导总线计算设备202的命令例如由(多个)处理器202执行并且可以包括在PMIC 206关停去往总线计算设备202的功率。用以拒绝来自不可信计算设备的所有数据分组的命令可以由总线计算设备202执行并且可以在网桥106关闭与不可信色何必的通信信道。
在操作412,至少一个安全数据分组基于安全数据分组的定义被递送给主机计算设备。例如,安全硬件总线104的通信信道向主机计算设备102递送来自无保护硬件总线108-1的安全数据分组,安全数据分组可以包括由不可信计算设备对一个或者多个命令的响应,或者由主机计算设备102对访问资源的请求。附加地或者备选地,安全数据分组包括如针对操作408而被讨论的对递送的拒绝的通知。
因此,在此描述的用于保护来自无保护硬件总线的通信的技术针对从无保护硬件总线向主机计算设备递送不安全数据分组进行保护。如在此讨论的,这些技术可以特别地有用于防止不安全数据分组引起计算机(诸如主控多个虚拟机环境的服务器)的系统重新引导。
示例系统和设备
图5总体上在500处图示了包括示例总线计算设备502的示例系统,示例总线计算设备502代表可以实现在此描述的各种技术的一个或者多个计算系统和/或设备。这通过对数据分组过滤器模块212的包括而被图示,数据分组过滤器模块212可以被配置用于实现由总线计算设备202执行的一个或者多个操作,从而与总线计算设备202如在此讨论的过滤指向主机计算设备102的数据分组有关。例如,数据分组过滤器模块212可以经由计算机可读介质506访问指令以用于在确定指向主机计算设备102的数据分组内的不安全数据分组时使用。
总线计算设备502可以包括例如FPGA芯片,FPGA芯片包括总线计算设备502的所图示的元件中的一个或者多个元件。附加地或者备选地,总线计算设备502可以包括多个不同的组成部分设备。总线计算设备502可以被添加到硬件总线以例如作为网桥或者适配器,或者可以例如在硬件总线内部作为ThunderboltTM硬件总线或者LightningTM硬件总线。
如被图示的总线计算设备502包括被通信地相互耦合的处理系统504、一个或者多个计算机可读介质506和通信模块508。虽然未被示出,但是总线计算设备502还可以包括相互耦合各种部件的系统硬件总线或者其他数据和命令传送系统。系统硬件总线可以包括不同硬件总线结构(诸如存储器硬件总线或者存储器控制器、外围硬件总线、通用串行硬件总线和/或利用各种硬件总线架构中的任何硬件总线架构的处理器或者本地硬件总线)中的任何硬件总线结构或者组合。
处理系统504代表用以使用硬件执行一个或者多个操作的功能。因此,处理系统504被图示为包括硬件元件510,硬件元件可以被配置为处理器、功能块、一个或者多个FPGA等。这可以包括在硬件中作为专用集成电路或者使用一个或者多个半导体而被形成的其他逻辑器件的实现。硬件元件510并未被形成它们的材料或者在此采用的处理机制的限制。例如,处理器可以包括(多个)半导体和/或晶体管(例如,电子集成电路(IC))。在这样的上下文中,处理器可执行指令可以是电子可执行的指令。
计算机可读介质506被图示为包括指令512,指令512由数据分组过滤器模块可执行以标识不安全数据分组。指令512被存储在于一个或者多个计算机可读介质相关联的存储器/存储装置。存储器/存储装置可以包括易失性介质(诸如随机访问存储器(RAM))和/或非易失性介质(诸如只读存储器(ROM)、快闪存储器、光盘、磁盘等)。存储器/存储装置可以包括固定介质(例如,RAM、ROM、固定硬件驱动等)以及可移除介质(例如,快闪存储器、可移除硬件驱动、光盘等)。计算机可读介质506可以按照如以下进一步描述的各种其他方式被配置。
通信模块508代表用以允许总线计算设备502从主机计算设备102接收命令和信息并且还向主机计算设备102和外围计算设备递送数据分组的功能。例如,通信模块508可以从主机计算设备102接收指令512并且可以向主机计算设备102递送对不安全数据分组的递送的拒绝的通知。通信模块508还可以向外围计算设备递送重新引导命令。
各种技术在此可以在软件、硬件元件或者程序模块的一半上下文中被描述。一般而言,这样的模块包括执行特定任务或者实现特定抽象数据类型的历程、程序、对象、元件、部件、数据结构等。在此描述的实体(例如,数据分组过滤器模块212)总体上代表软件、固件、硬件或者它们的组合。在此描述的技术的特征是独立于平台的,从而以为和技术可以在具有各种处理器的各种商用计算平台上被实现。
所描述的实体和技术的实现可以被存储在一些形式的计算机可读介质上或者跨它们而被传输。计算机可读介质可以包括可以由总线计算设备502访问的各种介质。通过示例而非限制,计算机可读介质可以包括“计算机可读存储介质”和“计算机可读信号介质”。
“计算机可读存储介质”可以指代与仅仅信号传输、载波或信号本身相比支持信息的持久存储的介质和/或设备。计算机可读存储介质本身不包括信号。计算机可读存储介质包括诸如以适于诸如计算机可读指令、数据结构、程序模块、逻辑元件/电路或其他数据的信息的存储的方法或技术而被实施的易失性和非易失性、可除移除和不可移除介质和/或存储设备的硬件。计算机可读存储介质的示例可包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字万用盘(DVD)或其他光学存储装置、硬盘、磁盒、磁带、磁盘存储装置或其他磁存储设备,或适于存储期望的信息并且可由计算机访问的其他存储设备、有形介质或制品。
“计算机可读信号介质”可以指代被配置成诸如经由网络将指令传输给计算设备502的硬件的信号承载介质。信号介质通常可以体现计算机可读指令、数据结构、程序模块或调制的数据信号中的其他数据(诸如载波、数据信号),或其他传输机制。信号介质还包括任何信息递送介质。术语“调制的数据信号”意味着以对信号中的信息编码这样的方式设置或改变它的特性中的一个或多个特性的信号。通过示例而非限制,通信介质包括诸如有线网络或直接有线连接的有线介质,以及诸如声学、RF、红外和其他无线介质的无线介质。
如先前描述的,硬件元件510和计算机可读介质506代表模块、可编程设备逻辑和/或固定设备逻辑,它们在硬件形式中被实现,该硬件形式可以在一些实现中被采用以实现在此描述的技术的至少一些方面,诸如执行一个或者多个指令。硬件可以包括集成电路或者片上系统的部件、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)和硅或者其他硬件中的其他实现。在本上下文中,硬件可以作为执行由指令定义的程序任务和/或由硬件体现的逻辑的处理设备以及被利用以存储用于执行的指令的硬件(例如,先前描述的计算机可读存储介质)操作。
前述的组合也可以被采用以实现在此描述的各种技术。因此,软件、硬件或者可执行模块可以被实现为一个或者多个指令和/或被体现在一些形式的计算机可读存储介质上和/或由一个或者多个硬件元件510体现的逻辑。总线计算设备502可以被配置用于实现对应于软件和/或硬件模块的特定指令和/或功能。因此,由总线计算设备502作为软件可执行的模块的实现可以至少部分地在硬件中(例如,通过对计算机可读存储介质和/或处理系统504的硬件元件510的使用)被实现。指令和/或功能可以由一个或者多个制造品(例如,一个或者多个总线计算设备502和/或处理系统504)可执行/可操作以实现在此描述的技术、模块和示例。
在此描述的技术可以由总线计算设备502的各种配置支持,并且不限于在此描述的技术的具体示例。
示例实现
在本文的讨论中,各种不同的实施例被描述。将领会到和理解,在此描述的每个实施例可以单独地被使用,或者与在此描述的一个或多个其他实施例结合地被使用。在此讨论的技术的另外的方面与以下实施例中的一个或多个实施例有关。
示例1.一种用于针对与主机计算设备的通信保护来自无保护硬件总线的通信的安全硬件总线,所述安全硬件总线包括:具有至少一个通信路径的通信信道,所述通信路径与所述主机计算设备电子通信;以及网桥,所述网桥与所述通信信道电子通信并且可操作以允许所述通信信道和所述无保护硬件总线之间的电子通信,所述网桥包括总线计算设备,所述总线计算设备可操作以执行计算机可读指令,以允许安全数据分组经由所述通信信道通过去往所述主机计算设备,并且拒绝不安全数据分组向所述主机计算设备的递送。
示例2.根据示例1所述的安全硬件总线,其中所述网桥被配置用于响应于功率的丢失而拒绝所有数据分组经由所述通信信道向所述主机计算设备的递送。
示例3.根据示例2所述的安全硬件总线,其中所述网桥还包括功率管理设备,所述功率管理设备被配置用于从所述主机计算设备接收停机指令以拒绝去往所述总线计算设备的功率。
示例4.根据示例1所述的安全硬件总线,其中所述总线计算设备从所述主机计算设备接收所述计算机可读指令。
示例5.根据示例1所述的安全硬件总线,其中所述计算机可读指令被存储在易失性存储器中,从而使得所述计算机可读指令的至少一部分响应于功率的丢失而丢失。
示例6.根据示例5所述的安全硬件总线,其中所述总线计算设备被配置用于响应于恢复功率而从所述主机计算设备取回所述计算机可读指令。
示例7.根据示例1所述的安全硬件总线,其中所述安全硬件总线被配置用于经由通信模块通知所述主机计算设备不安全数据分组被拒绝向所述主机计算设备的递送。
示例8.根据示例1所述的安全硬件总线,其中所述安全硬件总线遵循第一硬件总线协议并且所述无保护硬件总线遵循第二硬件总线协议,并且其中所述网桥被配置用于在所述第二硬件总线协议和所述第一硬件总线协议之间转变。
示例9.根据示例1所述的安全硬件总线,其中所述无保护硬件总线包括外围部件互连硬件总线或者外围部件互连高速硬件总线。
示例10.一种用于针对与主机计算设备的通信保护来自无保护硬件总线的通信的方法,所述方法包括:由与所述主机计算设备通信并且在所述主机计算设备外部的安全硬件总线经由所述无保护硬件总线从不可信计算设备接收数据分组,所述数据分组指向所述主机计算设备;由所述安全硬件总线的计算设备标识所述数据分组中的不安全数据分组;以及由所述安全硬件总线基于标识所述不安全数据分组来拒绝所述不安全数据分组向所述主机计算设备的递送。
示例11.根据示例10所述的方法,其中所述安全硬件总线的所述计算设备被定位在所述安全硬件总线的网桥上,并且其中所述网桥包括用以从所述无保护硬件总线接收所述数据分组的端口。
示例12.根据示例10所述的方法,其中所述标识将所述不安全数据分组匹配到从所述主机计算设备接收的不安全数据分组的定义。
示例13.根据示例12所述的方法,其中不安全数据分组的所述定义包括系统故障通知的定义。
示例14.根据示例10所述的方法,还包括通知所述主机计算设备对所述不安全数据分组的所述拒绝。
示例15.根据示例14所述的方法,还包括向所述不可信计算设备传达重新引导命令,所述命令响应于所述通知。
示例16.根据示例14所述的方法,还包括基于来自所述主机计算设备的命令来拒绝来自所述不可信计算设备的所述数据分组,所述命令响应于所述通知。
示例17.一种系统,包括:安全硬件总线,所述安全硬件总线与主机计算设备电子通信以向所述主机计算设备传达数据分组,所述安全硬件总线包括处理器,所述处理器可操作以执行指令,以从所述数据分组标识不安全数据分组并且拒绝所述不安全数据分组向所述主机计算设备的递送;以及外围部件互连硬件总线,所述外围部件互连硬件总线经由所述安全硬件总线的网桥被电子地耦合到所述安全硬件总线,所述外围部件互连硬件总线可操作以从不可信计算设备向所述安全硬件总线传达所述数据分组以用于所述不安全数据分组的标识。
示例18.根据示例17所述的系统,其中所述网桥包括通信信道,所述通信信道包括多个通信路径以促进所述数据分组从多个不可信计算设备向所述主机计算设备的传达。
示例19.根据示例17所述的系统,其中所述指令还使得外部硬件总线通知所述主机计算设备对递送的拒绝。
示例20.根据示例19所述的系统,其中所述安全硬件总线从所述主机设备接收用以拒绝所有数据分组从所述不可信计算设备的递送的命令,所述命令响应于通知所述主机计算设备对递送的所述拒绝而被接收。
结论
尽管实现已经在结构特征和/或方法动作专有的语言中被描述,但是将理解,在所附权利要求书中被定义的实现不必限于描述的具体特征或者动作。相反,具体特征和动作被公开为实现所要求的保护的实现的示例形式。
Claims (15)
1.一种用于针对与主机计算设备的通信保护来自无保护硬件总线的通信的安全硬件总线,所述安全硬件总线包括:
具有至少一个通信路径的通信信道,所述通信路径与所述主机计算设备电子通信;以及
网桥,所述网桥与所述通信信道电子通信并且可操作以允许所述通信信道和所述无保护硬件总线之间的电子通信,所述网桥包括总线计算设备,所述总线计算设备可操作以执行计算机可读指令,以允许安全数据分组经由所述通信信道通过去往所述主机计算设备,并且拒绝不安全数据分组向所述主机计算设备的递送。
2.根据权利要求1所述的安全硬件总线,其中所述网桥被配置用于响应于去往所述总线计算设备的功率的丢失而拒绝所有数据分组经由所述通信信道向所述主机计算设备的递送。
3.根据权利要求2所述的安全硬件总线,其中所述网桥还包括功率管理设备,所述功率管理设备被配置用于从所述主机计算设备接收停机指令以拒绝去往所述总线计算设备的功率。
4.根据权利要求1所述的安全硬件总线,其中所述总线计算设备从所述主机计算设备接收所述计算机可读指令。
5.根据权利要求1所述的安全硬件总线,其中所述计算机可读指令被存储在易失性存储器中,从而使得所述计算机可读指令的至少一部分响应于功率的丢失而丢失。
6.根据权利要求5所述的安全硬件总线,其中所述总线计算设备被配置用于响应于恢复功率而从所述主机计算设备取回所述计算机可读指令。
7.根据权利要求1所述的安全硬件总线,其中所述安全硬件总线被配置用于经由通信模块通知所述主机计算设备不安全数据分组被拒绝向所述主机计算设备的递送。
8.根据权利要求1所述的安全硬件总线,其中所述安全硬件总线遵循第一硬件总线协议并且所述无保护硬件总线遵循第二硬件总线协议,并且其中所述网桥被配置用于在所述第二硬件总线协议和所述第一硬件总线协议之间转变。
9.根据权利要求1所述的安全硬件总线,其中所述无保护硬件总线包括外围部件互连硬件总线或者外围部件互连高速硬件总线。
10.一种用于针对与主机计算设备的通信保护来自无保护硬件总线的通信的方法,所述方法包括:
由与所述主机计算设备通信并且在所述主机计算设备外部的安全硬件总线经由所述无保护硬件总线从不可信计算设备接收数据分组,所述数据分组指向所述主机计算设备;
由所述安全硬件总线的计算设备标识所述数据分组中的不安全数据分组;以及
由所述安全硬件总线基于标识所述不安全数据分组来拒绝所述不安全数据分组向所述主机计算设备的递送。
11.根据权利要求10所述的方法,其中所述安全硬件总线的所述计算设备被定位在所述安全硬件总线的网桥上,并且其中所述网桥包括用以从所述无保护硬件总线接收所述数据分组的端口。
12.根据权利要求10所述的方法,其中所述标识将所述不安全数据分组匹配到从所述主机计算设备接收的不安全数据分组的定义。
13.根据权利要求12所述的方法,其中不安全数据分组的所述定义包括系统故障通知的定义。
14.根据权利要求10所述的方法,还包括通知所述主机计算设备对所述不安全数据分组的所述拒绝。
15.根据权利要求14所述的方法,还包括向所述不可信计算设备传达重新引导命令,所述命令响应于所述通知。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/441,516 | 2017-02-24 | ||
US15/441,516 US10417458B2 (en) | 2017-02-24 | 2017-02-24 | Securing an unprotected hardware bus |
PCT/US2018/018574 WO2018156438A1 (en) | 2017-02-24 | 2018-02-19 | Securing an unprotected hardware bus |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110337653A true CN110337653A (zh) | 2019-10-15 |
CN110337653B CN110337653B (zh) | 2023-06-20 |
Family
ID=61527553
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880013490.5A Active CN110337653B (zh) | 2017-02-24 | 2018-02-19 | 保护无保护硬件总线 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10417458B2 (zh) |
EP (1) | EP3566170B1 (zh) |
CN (1) | CN110337653B (zh) |
ES (1) | ES2837490T3 (zh) |
WO (1) | WO2018156438A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11847254B2 (en) * | 2022-01-21 | 2023-12-19 | Shift5, Inc. | Voltage override device for physical intrusion prevention on a data bus |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1639666A (zh) * | 2002-03-08 | 2005-07-13 | 飞思卡尔半导体公司 | 具有外围设备访问保护的数据处理系统及其方法 |
CN1781069A (zh) * | 2003-05-02 | 2006-05-31 | 先进微装置公司 | 包含用于连接安全服务处理器的总线桥的计算机系统 |
US20070067826A1 (en) * | 2005-09-19 | 2007-03-22 | Texas Instruments Incorporated | Method and system for preventing unsecure memory accesses |
CN101084504A (zh) * | 2004-12-21 | 2007-12-05 | 皇家飞利浦电子股份有限公司 | 具有改进的器件安全性的集成电路 |
US20080310440A1 (en) * | 2007-06-13 | 2008-12-18 | Jyshyang Chen | Network interface system with filtering function |
CN102271153A (zh) * | 2010-06-03 | 2011-12-07 | 英特尔公司 | 用于虚拟化tpm访问的系统、方法以及装置 |
US20120311285A1 (en) * | 2011-06-03 | 2012-12-06 | Ronald Dean Smith | Method and System for Context Specific Hardware Memory Access Protection |
EP2657879A2 (en) * | 2012-04-27 | 2013-10-30 | Broadcom Corporation | Security controlled multi-processor system |
CN103875214A (zh) * | 2011-08-10 | 2014-06-18 | 马维尔国际贸易有限公司 | 用于以太网网络的具有安全检测的智能phy |
CN104160407A (zh) * | 2012-02-29 | 2014-11-19 | 苹果公司 | 利用存储控制器总线接口以确保存储设备和主机之间的数据传输安全 |
CN104541281A (zh) * | 2012-08-10 | 2015-04-22 | 高通股份有限公司 | 用于选择性ram加扰的方法和设备 |
US20150169493A1 (en) * | 2012-12-24 | 2015-06-18 | Festo Ag & Co. Kg | Field Unit and a Method for Operating an Automation System |
GB201604417D0 (en) * | 2016-03-15 | 2016-04-27 | Tindell Kenneth W | Firewall for securing access to vehicle networks |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5568619A (en) | 1995-01-05 | 1996-10-22 | International Business Machines Corporation | Method and apparatus for configuring a bus-to-bus bridge |
US5632021A (en) | 1995-10-25 | 1997-05-20 | Cisco Systems Inc. | Computer system with cascaded peripheral component interconnect (PCI) buses |
US6557121B1 (en) | 1997-03-31 | 2003-04-29 | International Business Machines Corporation | Method and system for fault isolation for PCI bus errors |
US6134613A (en) | 1997-06-16 | 2000-10-17 | Iomega Corporation | Combined video processing and peripheral interface card for connection to a computer bus |
KR19990011955A (ko) | 1997-07-25 | 1999-02-18 | 윤종용 | Pci 브리지 |
US6157976A (en) | 1998-05-06 | 2000-12-05 | Ess Technology | PCI-PCI bridge and PCI-bus audio accelerator integrated circuit |
US6574752B1 (en) | 1999-07-15 | 2003-06-03 | International Business Machines Corporation | Method and system for error isolation during PCI bus configuration cycles |
BR0109231A (pt) * | 2000-03-13 | 2003-06-03 | Pittway Corp | Sistema integrado de segurança e comunicações com enlace de comunicações seguro |
US6691257B1 (en) | 2000-04-13 | 2004-02-10 | Stratus Technologies Bermuda Ltd. | Fault-tolerant maintenance bus protocol and method for using the same |
US7028149B2 (en) | 2002-03-29 | 2006-04-11 | Intel Corporation | System and method for resetting a platform configuration register |
US20050216791A1 (en) | 2004-03-12 | 2005-09-29 | Win-Harn Liu | System and method for accessing to PCI bus data via a debug card |
US9177176B2 (en) * | 2006-02-27 | 2015-11-03 | Broadcom Corporation | Method and system for secure system-on-a-chip architecture for multimedia data processing |
US7877760B2 (en) | 2006-09-29 | 2011-01-25 | Microsoft Corporation | Distributed hardware state management in virtual machines |
JP4513852B2 (ja) | 2007-11-07 | 2010-07-28 | 日本電気株式会社 | Pciバス障害リカバリ方法及びプログラム |
EP3002683B1 (en) | 2009-12-14 | 2017-07-12 | Citrix Systems Inc. | Methods and systems for communicating between trusted and non-trusted virtual machines |
US8930609B2 (en) | 2010-08-18 | 2015-01-06 | Intel Corporation | Method, apparatus, and system for manageability and secure routing and endpoint access |
US8984190B2 (en) | 2013-05-23 | 2015-03-17 | Western Digital Technologies, Inc. | Methods and devices for booting a network attached storage with two logical units |
US9231921B2 (en) | 2013-08-20 | 2016-01-05 | Janus Technologies, Inc. | System and architecture for secure computer devices |
US10318765B2 (en) | 2014-05-02 | 2019-06-11 | Avago Technologies International Sales Pte. Limited | Protecting critical data structures in an embedded hypervisor system |
-
2017
- 2017-02-24 US US15/441,516 patent/US10417458B2/en active Active
-
2018
- 2018-02-19 ES ES18708295T patent/ES2837490T3/es active Active
- 2018-02-19 EP EP18708295.3A patent/EP3566170B1/en active Active
- 2018-02-19 WO PCT/US2018/018574 patent/WO2018156438A1/en unknown
- 2018-02-19 CN CN201880013490.5A patent/CN110337653B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1639666A (zh) * | 2002-03-08 | 2005-07-13 | 飞思卡尔半导体公司 | 具有外围设备访问保护的数据处理系统及其方法 |
CN1781069A (zh) * | 2003-05-02 | 2006-05-31 | 先进微装置公司 | 包含用于连接安全服务处理器的总线桥的计算机系统 |
CN101084504A (zh) * | 2004-12-21 | 2007-12-05 | 皇家飞利浦电子股份有限公司 | 具有改进的器件安全性的集成电路 |
US20070067826A1 (en) * | 2005-09-19 | 2007-03-22 | Texas Instruments Incorporated | Method and system for preventing unsecure memory accesses |
US20080310440A1 (en) * | 2007-06-13 | 2008-12-18 | Jyshyang Chen | Network interface system with filtering function |
CN102271153A (zh) * | 2010-06-03 | 2011-12-07 | 英特尔公司 | 用于虚拟化tpm访问的系统、方法以及装置 |
US20120311285A1 (en) * | 2011-06-03 | 2012-12-06 | Ronald Dean Smith | Method and System for Context Specific Hardware Memory Access Protection |
CN103875214A (zh) * | 2011-08-10 | 2014-06-18 | 马维尔国际贸易有限公司 | 用于以太网网络的具有安全检测的智能phy |
CN104160407A (zh) * | 2012-02-29 | 2014-11-19 | 苹果公司 | 利用存储控制器总线接口以确保存储设备和主机之间的数据传输安全 |
EP2657879A2 (en) * | 2012-04-27 | 2013-10-30 | Broadcom Corporation | Security controlled multi-processor system |
CN104541281A (zh) * | 2012-08-10 | 2015-04-22 | 高通股份有限公司 | 用于选择性ram加扰的方法和设备 |
US20150169493A1 (en) * | 2012-12-24 | 2015-06-18 | Festo Ag & Co. Kg | Field Unit and a Method for Operating an Automation System |
GB201604417D0 (en) * | 2016-03-15 | 2016-04-27 | Tindell Kenneth W | Firewall for securing access to vehicle networks |
Non-Patent Citations (1)
Title |
---|
黄霄;李清宝;曾光裕;: "基于PCI总线安全隔离卡的硬件设计" * |
Also Published As
Publication number | Publication date |
---|---|
US10417458B2 (en) | 2019-09-17 |
WO2018156438A1 (en) | 2018-08-30 |
EP3566170A1 (en) | 2019-11-13 |
EP3566170B1 (en) | 2020-11-18 |
ES2837490T3 (es) | 2021-06-30 |
CN110337653B (zh) | 2023-06-20 |
US20180247087A1 (en) | 2018-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6928189B2 (ja) | 多重モードで動作するストレージ装置及びそれを含むシステム | |
US6922774B2 (en) | Device for and method of secure computing using virtual machines | |
US11283763B2 (en) | On-device dynamic safe browsing | |
US9544275B2 (en) | Communication tunneling in application container environments | |
US8037532B2 (en) | Application protection from malicious network traffic | |
JP7327883B2 (ja) | コンピューティング装置、コンピュータプログラム、及び、コンピュータ可読記憶媒体 | |
EP2645294B1 (en) | System and method for trusted platform attestation | |
US20150379287A1 (en) | Containerized applications with security layers | |
US11184373B2 (en) | Cryptojacking detection | |
KR101445436B1 (ko) | 공유 i/o 시스템에서의 리셋 변환 방법, 컴퓨터 판독 가능한 매체 및 컴퓨터 시스템 | |
US20120017079A1 (en) | Secure Acknowledgment Device For One-Way Data Transfer System | |
EP3476101B1 (en) | Method, device and system for network security | |
CN102763112B (zh) | 从外部管理的安全和验证处理设备 | |
US10678721B1 (en) | Communication link testing | |
US9938019B2 (en) | Systems and methods for detecting a security breach in an aircraft network | |
US10838780B2 (en) | Portable hosted content | |
US20160156526A1 (en) | Server for selectively switching management network | |
CN110785757B (zh) | 边缘设备和用于运行边缘设备的方法 | |
CN110337653A (zh) | 保护无保护硬件总线 | |
WO2015182873A1 (ko) | Dns 서버 선별 차단 및 proxy를 이용한 dns 주소 변경 방법 | |
CN114244891B (zh) | 一种容器间的通信方法、装置、电子设备及存储介质 | |
EP3408781B1 (en) | Securing internal services in a distributed environment | |
KR20190119785A (ko) | 서버와 서버간에 서비스 제공을 위한 망내 운영방법 및 시스템 | |
CN111886573A (zh) | 存储资源的安全共享 | |
WO2015127980A1 (en) | Device and method for automatic virtulization of networks to the cloud |
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 |