CN113557516A - 警报处置 - Google Patents
警报处置 Download PDFInfo
- Publication number
- CN113557516A CN113557516A CN202080020058.6A CN202080020058A CN113557516A CN 113557516 A CN113557516 A CN 113557516A CN 202080020058 A CN202080020058 A CN 202080020058A CN 113557516 A CN113557516 A CN 113557516A
- Authority
- CN
- China
- Prior art keywords
- upgrade
- alarm
- handler
- timer
- alert
- 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.)
- Pending
Links
Images
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/71—Protecting 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
- G06F21/76—Protecting 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 in application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- 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/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- 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
Abstract
IC芯片可以提供硅信任根(RoT)功能。在所描述的实施方式中,IC芯片包括处理器、警报处置器(110)和多个外围设备(250),外围设备生成警报指示(352)。警报处置器处理警报指示,警报指示具有安全影响。警报处置器包括多个警报接收器模块(312),以与多个外围设备进行通信。警报处置器还包括控制器(310)、多个累积单元(306)、多个升级计时器(308)和多个升级发送器模块(314)。这些组件可以被组织成升级严重性增加的层级。在操作中,控制器对警报进行分类,并且灵活地实施可适应的警报处置器路径,警报处置器路径是响应于分类和基于警报的来源通过升级组件建立的。路径可以以升级发送器模块结束,升级发送器模块命令升级处置器(350)实施安全对策。因此,灵活的路径可以处理不同类型的警报。
Description
背景技术
电子设备在制造业、通信、运输、医疗保健、商业、社会互动和娱乐中扮演着不可或缺的角色。例如,电子设备为服务器群提供动力,这些服务器群为商业和通信提供基于云的分布式计算功能。电子设备也嵌入许多不同类型的现代设备,从医疗设备到电器以及从车辆到工业工具。个人电子设备使能便携式视频观看和访问智能数字助理。附加地,一种多功能电子设备——智能手机——实际上已经成为触手可及的必需品。随着电子设备对现代生活的许多方面变得普遍至关重要,设备安全已经变得势在必行。
许多人都熟悉恶意软件,它有时被统称为“计算机病毒”。一些恶意软件被设计为获得对存储在电子设备上的信息的未经授权的访问或以其他方式危及电子设备。几种策略可以通过对抗许多类型的恶意软件来帮助保持用户的信息和设备安全,免受安全威胁。这些策略包括采用和定期更新弹性操作系统,参与安全计算实践和安装反恶意软件程序。不幸的是,这些策略并不能使电子设备不受恶意软件攻击。
进一步地,除了基于软件的恶意软件所执行的攻击,电子设备也可能容易受到其他类型的攻击。对硬件的物理攻击和对无线通信的射频攻击可能危及电子设备的安全和可靠操作以及这种设备所存储的信息的安全。换言之,一些形式的攻击可以规避或破坏上述策略,使不良行为者能够危及电子设备,并且可能获得对与该设备一起使用的任何账户的访问。
通常,电子设备包括至少一个集成电路(IC),该集成电路提供智能以使能一些所需的功能。该功能对于促进商业、提供医疗保健服务或实现上面标识的其他服务之一可能至关重要。这种电子设备也可以存储或以其他方式利用需要保护的信息。为了支持这些功能和促进安全操作,一些电子设备包括安全电路系统形式的基于硬件的保护。不幸的是,现有的安全电路系统无法对抗目前在电子设备上发动的各种软件、硬件和无线攻击。
发明内容
某些电子设备,如服务器计算机和智能手机,负责向用户提供服务。用户依赖这些电子设备提供使用一个或多个账户访问的关键服务,如银行业务或航空旅行。由于电子设备和账户之间的链接,被危及的电子设备可能允许对与账户链接的服务或直接对账户本身的不需要的访问。进一步地,为了提供与账户相关联的服务,这些电子设备可以存储需要保护的账户信息,诸如财务数据、用户名、密码和用于加密的密钥。不幸的是,反恶意软件程序不能阻止对电子设备的所有攻击途径。例如,反恶意软件程序可能无法对使用微型探头检测集成电路(IC)芯片上的电压电平的直接物理攻击提供保护。因此,将基于硬件的措施并入电子设备中是有益的,这些措施可以识别、阻止、击退或以其他方式阻碍对电子设备的攻击,包括物理攻击。
因此,电子设备可以包括安全电路系统,以对抗来自不良行为者的攻击。在一些情况下,安全电路系统检测不适当或可疑的活动,并且采取保护措施。安全电路系统可以用不同的方式实施。例如,计算机工程师可以实现安全电路系统作为独立的IC芯片或作为另一芯片的部分,诸如片上系统(SoC)。在任何一种情况下,安全电路系统可以是受保护的飞地、受信任的芯片平台、基于硬件的信任根(RoT)(例如,硅RoT)等的部分。不管安全电路系统是如何或在哪里并入电子设备中,计算机工程师都可以设计安全电路系统来对抗许多不同类型的攻击。
对电子设备的攻击可以采取以下的形式:观察重复行为以推断信息的程序(诸如恶意软件)、试图从存储器的保护区读取数据,以对硬件电路系统进行直接物理探测的程序等。安全电路系统执行多种功能来对抗这些攻击。例如,安全电路系统可以在采用和传输过程中保护加密密钥。为此,可以使用专用存储器和私有数据总线。安全电路系统还可以在与可以作为恶意软件运行的应用分开的区域中生成高质量伪随机数或操作加密引擎。进一步地,安全电路系统可以确保硬件使用正确的、未经篡改的启动基本输入/输出系统(BIOS)启动。因此,安全电路系统可以负责实施一系列多样化的功能,以对抗各种各样的对电子设备的攻击。然而,现有的安全电路系统方法采用相对刚性和不灵活的硬件架构。
相反,本文描述了提供可适应的且灵活的平台或框架的方法,该平台或框架可以产生弹性的且可编程的安全硬件,以对抗对电子设备的各种形式的攻击。在安全电路系统的一些实施方式中,不同类型的电路使用扩展协议进行通信,该协议使提供不同功能的电路能够按照设计框架进行无缝交互。设计框架和协议产生合适的组件,这样即使是彼此分开设计的电路组件,也适合与稳定的、可预测的交互一致部署在一起。例如,通信和其他形式的交互(例如,共享资源,诸如总线、接口或存储器)可以至少部分标准化,以提供可预测性和互操作性的度量。如本文中所使用的,“合适的组件”包括一致设计的组件,以便组件适合一起使用。
在安全电路系统的一些实施方式中,警报处置器与外围设备和/或升级处置器交互,以产生、共享、处理和/或响应安全警报。警报处置器可以被构建为合适的组件。安全警报可以包括在芯片上作为外围设备实现的不同电路组件之间进行通信的警报。警报处置器可以作为硅信任根(RoT)芯片的部分、作为片上系统(SoC)的部分或两者实施。在示例操作中,警报处置器接收来自外围设备的警报指示,该警报指示可以是响应于所感测到的可疑活动而生成的。控制器和警报处置器的其他部分使用灵活的方案处理警报指示,该方案可以基于外围设备的来源或安全威胁的可能严重性进行定制。
通常,警报被认为比单纯的中断更重要或更值得关注。换句话说,在RoT或其他安全硅环境中不应忽略的安全风险可能被指定为警报,而不仅仅是默认处理器中断。尽管如此,系统仍然可以尝试利用处理器的智能和资源来解决潜在的安全事件。为此,响应于接收到来自外围设备的警报指示,警报处置器可以将中断(例如,非可屏蔽中断(NMI))发送给处理器,以给处理器一个解决安全事件的机会。如果处理器不能解决中断,则警报处置器采取补救行动,包括可能指示安全对策的激活。
在示例实施方式中,警报处置器包括一个或多个警报接收器模块,这些模块耦合到外围设备的至少一个警报发送器模块。如果警报接收器模块接收到来自警报发送器模块的警报指示,则警报接收器模块向警报处置器的控制器提供触发警报。控制器基于警报接收器模块将触发警报分类为多个类中的一种,该类警报与外围设备或检测到的潜在安全威胁对应。基于分类,控制器可以如上所述将中断传输给处理器。控制器还基于触发警报的性质的分类启动升级计时器。在升级计时器到期时,如果处理器还没有清除中断,则警报处置器可以启动另一升级计时器,以沿升级计时器的层级升级计时进程,这些升级计时器按照潜在安全威胁的日益严重程度进行排序。
警报处置器还包括一个或多个升级发送器模块,这些模块耦合到升级处置器的至少一个升级接收器模块。升级处置器可以实施安全对策,包括擦除数据、重置数字电路系统或将设备转换为无效的生命周期状态。在一个或多个升级计时器到期后,警报处置器指示升级发送器模块将升级命令发送给升级处置器,以实施安全对策。灵活的方案使警报处置器能够以各种方式定制警报处理和升级响应。例如,这些方式包括每个升级计时器的长度、遍历升级计时器的层级的至少一部分的顺序或长度、哪个升级发送器模块首先被激活的确定,等等。定制可以使用一个或多个寄存器而被至少部分地建立。
安全电路系统可以包括其他组件和特征。例如,警报处置器可以包括ping监测器,该监测器使用功能类似于双向心跳信令的ping消息来监测外围设备和/或升级处置器的健康。警报处置器中的模块与外围设备和/或升级处置器中的模块之间的信令通路可以通过不同的路径实施,以提高弹性。进一步地,警报处置器可以包括完整性故障电路系统,该电路系统检查正确差分功能的信令通路。为了使警报指示的传输更稳健,相同的导线可以用于警报指示和ping消息传递。警报处置器还可以包括累积单元。警报处置器基于使用累积单元跟踪的一些数量的触发警报来升级响应进程。
以这些方式,安全电路系统可以并入硅RoT芯片和/或SoC中。安全电路系统可以包括警报处置器,该警报处置器与其他组件兼容,以确保预期的兼容性和一致的通信。警报处置器可以提供灵活的方案来解决由多样化的组件生成的潜在安全警报,这些组件在这里被称为外围设备,作为由于各种感测到的刺激而产生的警报指示。警报处置器至少部分地依赖于警报指示的来源或原因以多种方式升级警报指示。补救响应可以作为升级进程的部分进行定制,以最终包括至少一个安全对策。因此,适应安全响应可以以受信任的方式实施,以提供安全功能。
下述方面包括用于警报处置的集成电路。该集成电路包括多个外围设备和警报处置器。该警报处置器包括多个警报接收器模块和多个升级计时器。每个警报接收器被耦合到多个外围设备中的外围设备。每个相应升级计时器都与多种升级严重性中的相应升级严重性对应。警报处置器还包括控制器,该控制器耦合到多个警报接收器模块和多个升级计时器。控制器被配置为基于警报接收器模块将来自多个警报接收器模块中的警报接收器模块的触发警报分类为多种警报分类中的警报分类。控制器还被配置为基于警报分类来启动多个升级计时器中的升级计时器。
下述方面包括一种警报处置方法,该方法可以由集成电路的至少部分执行。方法包括用多个警报接收器模块监测多个外围设备。方法还包括基于多个外围设备中的外围设备接收来自多个警报接收器模块中的警报接收器模块的触发警报。方法还包括基于警报接收器模块将触发警报分类为多个警报分类中的警报分类。方法进一步包括基于警报分类启动多个升级计时器中的升级计时器,其中,每个相应升级计时器都与多种升级严重性中的相应升级严重性对应。
下述方面包括用于警报处理的集成电路。该集成电路包括多个升级处置器和警报处置器。每个升级处置器被配置为实施至少一个安全对策。警报处置器包括多个升级发送器模块和多个升级计时器。每个升级发送器模块都耦合到多个升级处置器中的升级处置器。每个相应升级计时器都与多种升级严重性中的相应升级严重性对应,其中,每个升级计时器被耦合到多个升级发送器模块中的至少一个升级发送器模块。警报处置器还包括耦合到多个升级计时器的控制器。控制器被配置为响应于触发警报启动多个升级计时器中的升级计时器。响应于启动的升级计时器到期并且基于触发警报,警报处置器被配置为选择性地启动多个升级计时器中的另一升级计时器或将来自多个升级发送器模块中的升级发送器模块的升级命令传输给多个升级处置器中的升级处置器。
附图说明
参照以下图描述用于警报处置的装置和技术。贯穿附图中使用相同的数字来引用相同的特征和组件。
图1图示了具有集成电路(IC)的示例装置,该集成电路包括本文中所描述的用于实施警报处置的安全电路系统。
图2图示了包括多个电路组件的示例安全电路系统,这些电路组件包括警报处置器和多个外围设备。
图3图示了耦合到多个外围设备和多个升级处置器的示例警报处置器。
图4-1图示了警报处置器的附加示例方面,该警报处置器耦合到多个外围设备和多个升级处置器。
图4-2图示了与升级严重性的层次级别相关的警报处置器的附加示例方面。
图5-1至图5-3图示了警报处置器内的示例警报处置路径。
图6图示了警报处置器的警报接收器模块与外围设备的警报发送器模块之间的示例通信关系。
图7图示了警报处置器的升级发送器模块与升级处置器的升级接收器模块之间的示例通信关系。
图8图示了用于实施警报处置的装置的示例方法。
具体实施方式
概述
电子设备对现代社会做出了至关重要的贡献,诸如针对通信、安全和制造的贡献。每个电子设备都依赖于具有处理能力的集成电路(IC)来提供一些功能。由于很多这样的功能的关键性质,电子设备可以包括具有用于提供保护措施的安全电路系统的IC。安全电路系统减少了信息无意中暴露或一些功能以有害的或其他未经授权的方式使用的机会。安全电路系统可以以多种形式实现,其中一种形式涉及信任根(RoT)范式。
用RoT硅,基于硬件的机制在防止对信息的不适当访问、阻止对设备的未经授权的使用等方面保持计算安全。硅RoT原则可以帮助确保硬件基础设施和在其上执行的软件都保持其预期的、可信任的状态。为此,硅RoT可以使用授权且可验证的代码验证关键系统组件。硅RoT可以提供附加的或可替代的安全优势。例如,它可以确保服务器或其他电子设备使用正确的固件启动,并且固件还未被低级恶意软件感染。硅RoT还可以提供密码唯一的机器身份;这种唯一身份使操作人员能够验证电子设备是合法的。进一步地,它可以将加密密钥和其他信息保持在防篡改的孤岛中,这样即使是有物理访问权限的人也无法获得信息。锚定在硬件中的RoT服务还可以提供权威的、防篡改的审计记录和其他运行时安全服务。
芯片设计人员可以将硅RoT技术并入分开的IC芯片中,这些芯片专注于提供安全功能。可替代地,RoT硅可以与其他电路系统集成,包括在中央处理单元(CPU)芯片或封装中、在图形处理单元(GPU)芯片或卡中、在片上系统(SoC)中、在存储器存储设备中,等等。通常,安全电路系统可以在服务器主板、网卡、客户端设备(例如,膝上型计算机和智能手机)、消费者路由器和物联网(IoT)设备中操作,仅举几个示例。无论是应用还是电子设备,通过将RoT锚定在硅中,跨硬件、固件和软件级别增强安全性。硅RoT还增强了不同设备上的安全性,这些设备彼此直接通信或使用网络进行通信。尽管在本文中使用硅或硬件RoT环境描述了一些安全电路系统和电路设计原则,但这只是通过示例来完成的,因为所描述的原则通常适用于安全电路系统,包括支持专门电路——如图形或人工智能(AI)处理器——的安全电路系统、并入通用处理器或SoC的安全电路系统以及离散安全电路系统。
在当今的计算环境中,不良行为者可以使用多种攻击向量在无数个级别上攻击电子设备。例如,攻击可以使用恶意软件来进行,该恶意软件通过互联网传输,以试图获得存储在膝上型计算机中但用户希望得到安全保护的信息。此外,攻击可能涉及在设备的运输期间或在未被观察到的位置操作时,将恶意软件注入用于启动电子设备——诸如路由器或IoT设备——的固件中。作为另一示例,不良行为者可能偷电子设备,并且有足够的时间对该设备进行直接物理攻击。这种直接物理攻击可以包括切断导线、探测电压、反复运行代码以观察趋势和推断信息,等等。
因此,对电子设备的攻击的类型和途径可以很多且多种多样的。尽管如此,一些现有的RoT方法依赖于相对简单或直观的处理范式。例如,这些范式可能缺乏清晰且灵活的协议,以使安全电路系统的不同电路组件能够相互通信。这种通信可以促进检测安全威胁,并且有效地阻碍实际的安全攻击。由于组件间通信不佳,为潜在的不良行为者有效地创建了另一种攻击途径。这些不充分的范式还可能涉及固定且不灵活的处理流程,该处理流程用于处理由于已经检测到的潜在攻击或其他可疑活动而生成的警报。如果固定的处理流程太有攻击性,则安全电路系统可能因为实际上很小的安全威胁或甚至假警报而终止电路组件、芯片甚至整个设备的操作。另一方面,如果固定的处理流程攻击性不够,则在实际的安全威胁已经造成损坏(诸如对账户的未经授权的访问或有价值的信息的盗窃)之前,安全电路系统可能不启动芯片或其电路组件的关闭。
相反,本文描述了灵活且自适应的安全电路系统方法。例如,关于处理流程或警报处置路径,警报处置器可以建立不同长度和攻击性的处理流程。可以响应于警报的可能严重性来选择每个警报处置路径。对于与可能的小威胁或可能的误报对应的警报,警报处置器建立处理流程,该处理流程包括较长的或更多的升级计时器,或以攻击性较低或持久性较低的安全对策响应开始。另一方面,对于被认为可能严重的警报,警报处置器建立相对快速升级的处理流程。对于严重的安全威胁,可以在更短的持续时间内使用更少或甚至一个或零个升级计时器。附加地或可替代地,警报处置器可以触发具有相对更严重的反响的对策响应,诸如擦除信息或重置IC芯片。通过定制对所检测到的安全警报的响应,所描述的警报处置器实施方式可以对抗各种类型和途径的攻击,同时减少响应太有攻击性或太慢而无法反击攻击的机会。
本文还描述了用于警报处置的其他方面和实施方式。这些方面和实施方式中的每个方面和实施方式都可以单独使用,也可以以任何组合使用。对于给定的安全电路系统架构,安全问题可能被认为比其他问题更具威胁性或具有更高的优先级。这些其他问题可以作为中断在架构之间传递。与可能频繁发生或关于各种事件的中断相比,与安全相关的事件以及宣布这些事件的警报预计不会频繁发生。在一些情况下,警报处置器响应于警报指示,根据所选的警报处置路径将中断发送给处理器。处理器预计适当地响应中断,并且将此传递给警报处置器。如果处理器在一些时间周期内不能清除中断,或如果警报指示继续生成,则警报处置器使用一个或多个升级计时器或通过采取一些行动来升级警报处理。
在一些实施方式中,警报处置器包括至少一个控制器、多个升级计时器和多个升级发送器模块。控制器使用与安全警报相关联的至少一个寄存器确定用于处理给定安全警报的警报处置路径。控制器可以使用例如包括多个类的分类系统来确定警报处置路径。为了使能对不同严重性的安全警报的灵活响应,沿处理流程所使用的大量的升级计时器或大量的升级发送器模块(包括大量的两者)可以根据与经过分类的安全警报相关联的一个或多个寄存器而变化。在给定的处理流程中将中断发送给处理器也可以依赖于安全警报。例如,在一个处理流程中可以使用一个升级计时器和一个升级发送器模块,而在另一处理流程中可以使用三个升级计时器和两个升级发送器模块。
寄存器库最初可以被配置为设置一个或多个变量,这些变量为不同的警报建立警报处置路径。例如,也可以根据安全警报对每个升级计时器的长度进行编程。进一步地,可以调整通过升级计时器或升级发送器模块的层级的路径。例如,在一个处理流程中可以沿计时器层级以特定的顺序遍历三个升级计时器,但是在另一个处理流程中可以跳过“中间”升级计时器。一旦激活,警报处置器的升级发送器模块便将升级命令发送给对相应升级处置器,该升级处置器可以实施安全对策。因此,提供用于遍历升级计时器或升级发送器模块的灵活的警报处置路径,使警报处置器能够适当地定制对可感知的威胁的响应。
在其他实施方式中,警报处置器可以可靠地与一个或多个其他电路组件进行通信,这些组件在本文中被称为外围设备。为此,警报处置器包括多个警报接收器模块,这些模块用于与相应外围设备中的对应警报发送器模块进行通信。为了支持稳健的通信,每个警报接收器模块可以经由信令通路被耦合到警报发送器模块,该信令通路包括至少两条导线以使能差分信令。差分信令使对通信通路的攻击能够更容易被检测到。在操作中,如果外围设备检测到可疑活动,则外围设备的警报发送器模块通过信令通路发送警报指示。警报接收器模块可以向警报发送器模块提供警报确认。
警报处置器还可以包括ping监测器。该ping监测器使用伪随机值来选择外围设备或确定发送下一个ping请求信号的时间持续时间。该ping监测器指示警报接收器模块使用耦合在它们之间的信令通路将ping请求信号发送给外围设备处的对应警报发送器模块。作为响应,警报发送器模块将ping响应传输回到警报处置器处的警报接收器模块。如果在某个时间周期(其可以是可编程的)内没有接收到ping响应,则ping监测器向警报处置器的控制器发出警报ping故障。通过使用与ping协议所使用的通信通路相同的通信通路来进行警报传输和确认,提高了通信通路的可靠性。例如,如果已经切断用于传输警报指示的信令通路,则ping协议检测到该通路的故障。Ping协议还可以在多个升级处置器的多个升级接收器模块与多个升级发送器模块之间应用。
在进一步的实施方式中,警报可以以不同的方式生成。首先,警报可以由外围设备“在外部”生成。在这种情况下,外围设备使用外围设备处的警报发送器模块和耦合到警报处置器处的警报接收器模块的信令通路将安全警报传递给警报处置器。其次,警报可以由警报处置器“在内部”生成,诸如由于关于外围设备或升级处置器的ping协议故障。在每种情况下,警报处置器都可以实施可编程警报处置路径,以使用分类系统基于威胁的可能级别处理安全警报。在警报处置路径的末尾或在警报处置路径期间,警报处置器可以使升级发送器模块基于沿警报处置路径的当前升级严重性级别触发升级活动,如安全对策。在操作中,升级发送器模块将升级命令传输给升级处置器处的升级接收器模块。响应于升级命令,升级处置器实施至少一个保护行动。这种保护行动的示例包括削弱外围设备、删除信息、终止进程、重置IP芯片或其部分,等等。
在这些方式中,安全电路系统可以并入硅RoT芯片和/或SoC中。安全电路系统可以包括警报处置器,该警报处置器与其他组件兼容,以确保预期的兼容性和一致的通信。警报处置器提供灵活的方案,该方案用于解决由多样化的组件生成的潜在安全警报,这些警报作为由于各种感测到的刺激而产生的警报指示。多样化的组件或外围设备使用信令通路来提供警报指示,该信令通路可以传播稳健的差分信令。警报处置器至少部分地依赖于警报指示的来源或原因以多种方式升级警报指示。用于升级警报处理的警报处置路径可以是基于警报的分类。补救响应或保护行动可以作为升级进程的部分进行定制,以最终包括至少一个安全对策。因此,适应安全响应可以以受信任的方式实施,以在硬件级别的灵活且安全的环境中提供功能。
下面将参照相关联的图讨论各个细节级别的示例实施方式。下面的讨论首先阐述示例操作环境,然后描述示例硬件、方案和技术。之后参照流程图或示意图描述示例方法。
用于警报处置的示例操作环境
图1通常在100处图示了具有集成电路104(IC 104)的示例装置102,该集成电路(IC 104)包括本文中所描述的用于实施警报处置的安全电路系统106。在该示例中,装置102被描绘为智能手机。然而,装置102可以被实施为任何合适的计算或电子设备。
装置102的示例包括移动电子设备、移动通信设备、调制解调器、蜂窝或移动电话、移动站、游戏设备、导航设备、媒体或娱乐设备(例如,流媒体播放器或游戏控制器)、膝上型计算机、台式计算机、平板计算机、智能家电、基于车辆的电子系统、可穿戴计算设备(例如,衣服、手表或现实改变眼镜)、物联网(IoT)设备、传感器、库存管理设备、机器或设备(例如,车辆或机器人)的电子部分、存储器存储设备(例如,固态驱动器(SSD))、服务器计算机或其部分(例如,服务器刀片或机架或数据中心的其他部分)等。装置102的所示的示例包括平板设备102-1、智能电视102-2、台式计算机102-3、服务器计算机102-4、智能手表102-5、智能手机(或文件阅读器)102-6和智能眼镜102-7。
在示例实施方式中,装置102包括至少一个集成电路104。该集成电路104可以被安装在模块、卡或印刷电路板(PCB)(未示出)上。PCB的示例包括柔性PCB、刚性PCB、单层或多层PCB、表面安装或通孔PCB、其组合,等等。每个集成电路104可以被实现为通用处理器、片上系统(SoC)、面向安全的IC(例如,RoT IC芯片)、存储器芯片、通信IC(例如,调制解调器或射频IC)、图形处理器、人工智能(AI)处理器、其组合,等等。IC 104可以单独封装或与其他IC芯片一起封装。
如图所示,集成电路104包括安全电路系统106。该安全电路系统106可以包括多种组件,包括多个电路组件108-1......108-C,其中,C表示正整数。电路组件108的示例是警报处置器110。尽管在图1中没有明确示出,但是集成电路104可以包括安全电路系统106之外的其他部分。虽然多个电路组件108-1......108-C和警报处置器110可以如图所示一起集成在单个IC上,但是组件可以可替代地分布在两个或两个以上的IC上。例如,安全电路系统106可以被实现为受保护的飞地、受信任的芯片平台、基于硬件的信任根(RoT)(例如,硅RoT)等。不管安全电路系统是如何或在哪里并入电子设备中,安全电路系统可以对抗许多不同类型的攻击。
在示例操作中,一旦检测到攻击——或潜在攻击,某个组件生成警报112。例如,电路组件108可以从警报处置器110外部生成警报112,并且将警报112传输给警报处置器110。附加地或可替代地,警报处置器110可以在内部生成警报112。响应于警报112的来源的性质,警报处置器110选择性地实施灵活的处理流程来解决警报112。本文描述了这些灵活的处理流程以及警报处置器110和安全电路系统106的其他方面。下面参照图5-1至图5-3描述了示例处理流程或警报处置路径。然而,接下来参照图2描述安全电路系统106的示例架构。
图2图示了包括多个电路组件的示例安全电路系统106,这些组件包括警报处置器110。如图所示,安全电路系统106包括耦合到互连204的处理器。互连204可以使用总线、交换结构或总线网络来实现,该总线网络使各种电路组件能够进行通信。除了警报处置器110外,(图1的)多个电路组件108-1......108-C可以包括多个存储器和多个外围设备。警报处置器110、多个存储器和多个其他外围设备250中的每一个都直接或间接地耦合到互连204。
在示例实施方式中,多个存储器可以包括只读存储器206(ROM 206)、静态随机存取存储器208(SRAM 208)和闪速存储器210。多个外围设备250可以包括高级加密标准(AES)引擎212(AES引擎212)、基于哈希的消息认证码(HMAC)引擎214(HMAC引擎214)、串行外围接口(SPI)设备230(SPI设备230)和闪存控制器216。多个外围设备250还可以包括通用异步接收器/发送器(UART)单元218(UART单元218)、通用输入/输出(GPIO)接口220(GPIO接口220)、引脚多路复用器222(pin mux 222)和板控制器224。多个外围设备250可以进一步包括随机数发生器232(RNG 232)和计时器234。附加地,外围设备250可以包括任何存储器,如图2所示。尽管在图2中描绘了或在本文中描述了存储器和其他外围设备250的某些示例,但是安全电路系统106的给定实施方式可以包括处理器、控制器、存储器、模块或外围设备的更多、更少和/或不同的实例,包括其副本。
所示的电路组件可以基于一个或多个时钟信号进行同步操作。虽然图2中未示出,但是安全电路系统106可以包括用于生成时钟信号的至少一个时钟发生器或可以包括用于彼此分开重置一个或多个独立组件,联合重置多个组件或重置整个IC芯片的重置电路系统。可替代地,安全电路系统106可以接收来自安全电路系统106外部的来源的至少一个时钟信号或重置信号,该来源可以在或可以不在单独的芯片上。一个或多个单独的外围设备250可以在相应独立时钟域中操作。例如,输入/输出(I/O)外围设备可以同步到时钟,该时钟对于相应I/O设备或信道是本地的。不同的时钟域中的外围设备可以彼此异步操作或通信。
下面描述了所示的组件的示例实施方式。处理器202可以被实现为安全电路系统106的“主”、“中央”或“核心”处理器。仅举个示例,处理器202可以用有多流水线级的32位、按顺序精简指令集计算(RISC)核心来实施。用例如RISC-V指令集,处理器可以实施M(机器)和U(用户)模式。激活重置引脚(未示出)(例如,通过解除低电平有效重置引脚的断言)导致处理器202退出重置并且开始在其重置向量处执行代码。重置向量可以在ROM 206中开始,这在跳到模拟嵌入式闪存(e-flash)之前验证其中的代码。换言之,在重置被释放之前,代码应当已经实例化为e-flash。在一些情况下,根据兼容性规范,贯穿安全电路系统106的重置可以被设为异步低电平有效,以支持各种电路组件之间的互操作性。重置可以经由警报处置器110在内部生成,如下所述;通过看门狗计时器;等等。重置信号也可以被发送给其他电路组件,诸如存储器之一或外围设备250之一。
耦合到处理器202的是调试模块226(DM 226)和中断控制器228(ItC 228)。调试模块226提供对处理器202的调试访问。通过与IC的某些引脚对接,调试模块226中的逻辑允许处理器202进入调试模式,并且提供将代码注入设备(例如,通过模拟指令)或存储器的能力。中断核心228可以设置为接近处理器202。中断核心228可以接受来自安全电路系统106内的中断源向量。在将中断转发给处理器202处理之前,中断核心228还可以为中断分配等级和优先级。
处理器202可以提供任何所需级别的性能或包括任何内部电路组件。例如,处理器202可以包括至少一个算术逻辑单元(ALU)(例如,包括“附加的”ALU来计算分支目标,以消除所采取的条件分支上的延迟周期)和多个流水线级。利用多个流水线级,流水线可以执行寄存器回写,以减少来自加载和存储的延迟周期,并且防止在请求后的周期内对加载或存储的响应可用的流水线级停滞。处理器202可以实施单周期乘法器或在对存储的错误响应上产生不精确的异常,这允许处理器在经过存储后继续执行,而不需要等待响应。虽然没有描绘,但是处理器202具体地或安全电路系统106通常可以包括指令缓存,用于为指令提供单周期访问时间。
在所示的示例中,安全电路系统106包括用于指令和数据的三个存储器地址空间。ROM 206是处理器202在重置释放后的目标。ROM 206包含硬编码指令,用于在检查下一级的代码之前执行平台检查的子集。下一级的代码(例如,存储在嵌入式闪速存储器中的引导加载程序)可以是没有被硬编码到设备的硅中的第一段代码。因此,这种下一级的代码是对完整性进行签名检查,以提高安全性。ROM 206可以通过对引导加载程序的全部内容实施RSA检查算法来执行这种签名检查。
闪速存储器210可以被实施为用于代码存储的e-flash存储器。这种e-flash可以装载上述引导加载程序以及位于顶层的操作系统和应用。SPI设备230可以用于批量加载e-flash存储器。调试模块226也可以用于代码加载。SRAM 208可以作为便签式SRAM操作,该便签式SRAM可用于处理器202的数据存储(例如,用于堆栈和堆积信息)。SRAM 208还可以存储代码。
安全电路系统106可以包括一系列“外设”或“外围设备”。这些外围设备250可以是经由互连204耦合到处理器202的从属执行单元。这些外围设备250中的每个外围设备可以遵循接口方案,该方案确保彼此之间以及与处理器202的兼容性。兼容性协议可以指定处理器202如何与给定外围设备进行通信(例如,使用互连204),外围设备如何与芯片I/O进行通信(例如,经由固定或可多路复用的I/O),外围设备如何与处理器202进行通信(例如,使用中断)以及外围设备如何将安全事件传递(例如,使用警报指示)给其他电路组件,诸如警报处置器110。虽然在图2中没有描绘,但是警报处置器110还可以包括外围设备250,至少相对于处理器202。所描绘的外围设备250可以包括相对于警报处置器110所提供的警报相关功能的外围设备。在这些上下文中,存储器还可以包括相对于警报处置器110所提供的警报相关功能的外围设备250。
电路或芯片I/O外设包括引脚多路复用器222和板控制器224。引脚多路复用器222在外围设备250与安全电路系统106的可用的、可多路复用的I/O节点(例如,其中集成有各种组件的芯片的引脚)之间提供信令路由。板控制器224管理控制或板属性,如电路(例如,芯片)的外部I/O的驱动强度、技术、上拉对下拉等。引脚多路复用器222和板控制器224本身是互连204上的外围设备。每个都可以具有或都以其他方式与提供软件可配置性的至少一个寄存器集合相关联。
UART单元218可以实施UART特征,诸如单通道双工UART功能。其输出和输入可以备配置为经由引脚多路复用器222连接到任何电路I/O。GPIO接口220通过引脚多路复用器222创建到外部电路系统的G位双向通信,其中,G是正整数,如16、32或64。SPI设备230可以实施固件模式。在这里,固件模式可以使能以下特征,其为外部驱动器提供将固件升级代码发送到闪速存储器210的库中进行现场固件更新的能力。固件模式可以包括使用SPI事务进行存储器的寻址。虽然没有描绘,但是安全电路系统106可以包括集成电路间(I2C)主机,使得能够命令I2C设备。I2C设备的这种命令可以包括标准、完整和快速模式。
还描绘了几种以安全为中心的外设,包括加密引擎和警报处置器110。AES引擎212可以使用一个或多个协议和不同的密钥大小——如128b、192b或256b——提供对称加密和解密。组件可以选择加密或解密到达的数据,例如,使用不同的分组密码操作模式解密或加密的16字节的数量。AES引擎212可以支持电子码本(ECB)模式、密码分组链接(CBC)模式、密码反馈(CFB)模式、输出反馈(OFB)模式、计数器(CTR)模式等。数据传送可以是处理器可用的,例如,密钥和数据材料可以通过寄存器写入传递到组件中。可替代地,可以包括用于传送密钥和数据材料的私有信道,以减少潜在的不受信任的处理器活动的暴露。
例如,HMAC引擎214可以利用安全哈希算法(SHA)SHA-256作为哈希算法。SHA-256是SHA-2系列哈希算法的成员,其中,摘要(或哈希输出)具有265b的长度,不管要被哈希的输入的数据大小。在声明哈希请求开始后,数据被发送给HMAC外围设备。这将内部状态归零到初始状态,每次32b。一旦数据已被组件客户端发送,客户端便可以指示哈希请求的完成(用可选的部分字最终写入)。HMAC引擎214产生哈希结果,并且使其可用于请求客户端读取的寄存器。数据传送可以是处理器可用的,也可以是私有的,以减少潜在的不受信任的处理器活动的暴露。
HMAC是在哈希函数(例如,SHA-256)的顶部分层的消息认证协议,并且HMAC为了加密的目混合在密钥在。HMAC是在消息的哈希(通过SHA-256)周围以规定的方式附加密钥(诸如两次)的特定应用。为了提供这种功能,在消息哈希开始之前,可以将256b密钥编程到电路组件中。认证完成的计时可以变化,并且延迟可能比使用本地SHA-256的延迟更长。此外,在这里,为了方便或处理效率,可以使哈希信息或密钥是处理器可用的,或可以以某种方式呈现私有,以提高安全性。
警报处置器110负责处理和响应警报,包括由其他外围设备250提供的警报。警报可以被视为安全敏感中断,这些中断以及时的方式进行处置以响应感知到的安全威胁。与“标准”中断不同,警报不是由处理器202上执行的软件单独处理的。警报可以触发第一阶段请求作为要被软件处置的“常规”中断。然而,如果软件不能响应并补救警报触发的中断,则警报处置器110触发第二阶段响应。这确保了即使处理器202繁忙、被插入或也受到攻击,也能解决底层问题——感知到的安全威胁。
每个外围设备250都可以呈现单独警报的列表,这些单独警报表示要被处理的单独的潜在威胁。这些警报可以使用特定的编码机制传输给警报处置器110作为警报指示。下面将从图3开始进一步描述警报处置器110。如上所述,警报处置器110还可以是互连204上的外围设备250,至少相对于处理器202。
安全电路系统106还可以包括RNG 232。通过提供可以防止攻击者预测发起攻击的最佳时间的执行变化,随机性可能有助于安全功能。随机数可以提供用于身份和加密目的的秘密材料。RNG 232可以被嵌入到算法计算中以模糊敏感数据值。通常,RNG 232可以执行得更好,因为它的数字生成变得越来越真实随机,并且在一定程度上,它还可以变强以抵御攻击。RNG 232可以被实施为“真”RNG(TRNG),这可能涉及具有模拟部分的设计,以利用一些不确定的物理事件或进程。示例TRNG设计依赖于亚稳性、电子噪声、计时变化、热噪声、量子变化等。TRNG过滤结果变量,并且将它们发送到熵池中,设备可以在给定时间为当前的随机函数采样该熵池。在一些情况下,熵池的接口可以包括可用随机位的读取请求。TRNG接口指示有多少位可用,并且在位可用的程度上,请求外围设备或软件可以从这个池中读取。尝试读取不可用的熵位可以触发中断或警报。
两个其他外围设备250包括计时器234和闪存控制器216。例如,计时器234可以支持处理器202的准确性能。计时器234由多个位(例如,64位)形成,并且在一定百分比内,以保证频率作为自由运行的计时器操作。另一计时器(没有明确示出)可以充当看门狗计时器,以在处理器变得无响应时支持处理器202。无响应可能是由于插入的开发代码、安全攻击等而造成的。
闪存控制器216控制闪速存储器210,该闪速存储器可用于代码和数据存储。该数据的主要读取路径可以在标准存储器地址空间中。然而,写入该地址空间可以被忽略,因为闪存不是以标准方式写入的。相反,为了写入闪速存储器210,软件与闪存控制器216交互。闪存功能可以包括三个主要命令:读取、擦除和编程。读取可以被标准化并且使用芯片存储器地址空间。擦除是在页面级别执行的,其中,页面大小可以由闪存控制器216参数化。在接收到擦除请求时,闪存控制器216擦去目标页面的所有内容,这会将数据呈现为“1”状态(例如,每个单词0xFFFFFFFF)。之后,软件可以将独立的单词编程为任何值。在没有另一个擦除的情况下,闪存位返回到“1”状态,因此未来的内容实际上是用当前内容和写入值的AND来有效改变的。擦除和编程命令相对较慢。典型的擦除时间是以毫秒测量的,并且编程时间在微秒范围内。安全也是令人担忧的,因为秘密数据可以存储在闪速存储器210中。因此,一些存储器保护可以由闪存控制器216提供。例如,存储器(例如,e-flash或SRAM)可以用加密保护。在一些情况下,为了降低处理负担,从而使不太复杂的硬件能够执行加密和解密,可以使用强度降低的密码实施相对轻量级的加密或存储器置乱技术。
在图2中描绘了具有一组特定的电路组件的安全电路系统106。然而,给定的安全电路系统106可以具有更多、更少或不同的电路组件。电路组件还可以以不同的方式互连或以除上述示例方式之外的方式操作。进一步地,一些电路组件可以省略,而其他电路组件在多个实例中实施。例如,警报处置器110可以被复制,或多个AES加密引擎212可以作为一些安全电路系统106的部分出现。进一步地,GPIO接口220可以从与IC芯片的警报处置器110交互的外围设备250中省略,其中,安全电路系统106形成几十个核心中的一个核心。
用于警报处置的示例方案、技术和硬件
(例如,图2的)安全电路系统106可以至少部分地使用警报处置器110处理警报。本文描述了警报处置机制的示例功能。警报处置器110可以被实施为作为互连204上的外围设备250操作的组件。因此,警报处置器110可以遵守安全电路系统106的兼容性规范。(图1的)警报112可以被实施为中断类型信号或警报指示,该中断类型信号或该警报指示是从其他外围设备接收到的并且指示潜在安全威胁。在操作中,警报处置器110可以从设备的其他电路组件收集警报,并且将它们转换为处理器202可以解决的中断。然而,如果处理器202不清除中断,则警报处置器110提供硬件响应来解决潜在安全威胁。
某些示例实施方式可以提供以下特征中的一个或多个。首先,警报处置器110接收来自外围设备源的以不同的方式发出、同步或异步的警报指示。外围设备250可以基于外围设备250的功能、知识或感测到的参数生成警报。其次,警报处置器110执行警报源的ping测试。ping监测器从每个警报源请求定期警报响应,以确保与警报源的通信信道正在运行。第三,寄存器锁定可以在配置寄存器上实施。一旦锁定,寄存器便不能被软件修改,直到下一个系统重置。
第四,警报处置器110实施分配机制,以使用例如基于寄存器的技术将独立的警报分配给特定警报类。系统可以实施任何数量的警报类,如3个或4个,并且任何类都可以被单独禁用。警报处置器110生成与分配的警报类对应的中断,以传输给处理器202。第五,警报处置器110存储消歧历史,以使软件能够确定哪个警报引起给定的类中断。尽管禁用命令可以允许忽略警报,但禁用用于警报出错的情况。通过在初始配置被创建后锁定寄存器状态,可以防止不需要的访问。
第六,在采取升级步骤之前,每个警报类具有可配置的响应时间或警报数量。警报处置器110可以实施基于寄存器的升级控制。在一些情况下,升级计时器的持续时间可以用寄存器建立。在其他情况下,可以建立大量警报以控制升级。为此,寄存器中的值表示在实施升级步骤之前在给定类中发生的警报的数量。响应于警报发送的未解决中断请求(IRQ)的超时也可以触发升级。第七,警报处置器110的可配置升级机制使多个升级命令信号(例如,4个)能够按顺序或响应于某个事件生成。作为升级机制的部分,警报处置器110可以将给定的升级警报映射到非可屏蔽中断(NMI)、擦除秘密信号、另一组件的特权降低、芯片重置等等。升级命令信号可以通过不同的方式发出,并且到升级处置器的信令通路可以使用心跳验证技术来得到保护。心跳验证的故障可以检测升级处置器是否存在问题。警报处置器110还可以为每个升级级别之间的步进实施可配置的时间。
第八,警报处置器110产生两个本地来源的硬件警报。如果与警报源或升级处置器的差分传信故障——例如,如果信号完整性检查故障,则生成第一本地来源的警报。如果警报源或升级处置器不能响应ping请求,则警报处置器110生成第二个这样的警报。通常,警报处置器110可以接收来自整个系统的传入警报,对警报进行分类,基于分类的警报发出中断,并且如果处理器202没有清除发出的中断,则将中断升级为基于硬件的响应。因此,如果处理器不能或不处置安全警报,则警报处置器110可以起作用,例如,充当安全响应的替身。
在一些所描述的架构中,安全警报旨在成为罕见事件,至少相对于“标准”中断。因此,在设计阶段,在预计事件不频繁发生的程度上和如果事件具有潜在的安全后果,则可能的事件可以被指定为警报事件。这种事件的示例是奇偶校验错误(其可能指示攻击)、对加密或安全相关组件的未经授权的行动、从物理传感器感测到的指示环境改变的值(例如,电压或温度)等等。除了电压传感器或温度传感器,物理传感器的示例包括用于检测通过物理屏蔽的穿刺或其他入侵的破裂传感器、用于检测激光脉冲的光传感器和用于检测暂态波动或故障的故障传感器,仅举几个例子。系统通过警报处置器110路由警报,这将警报转换为处理器202潜在解决的中断。对于一些实施方式,潜在的期望是安全操作系统有一个协议来在软件中处置任何这样的警报衍生中断。如果是这样,则安全操作系统通常应解决中断,然后用警报处置器110清除中断。
尽管如此,如果处理器202变得不可信,则警报处置器110可以使安全电路系统106能够响应安全威胁,从而使IC芯片的至少一部分能够响应安全威胁。处理器202可能变得不可信,如果它受到攻击,如果它没有响应,等等。为了帮助对抗安全问题,警报处置器110将警报升级为超过处理器中断。警报处置器110可以提供多个升级信号,这些信号被路由到不同的芯片功能以响应攻击。这些功能可以包括这样的功能,诸如擦去芯片上的秘密、使芯片的至少一部分断电、重置芯片的至少部分,等等。
为了简化警报的软件管理,警报处置器110可以提供警报分类机制,其中,每个警报被分类为多个类中的一种。分类可以使用可配置处理流程以许多可能的方式中的任何一种方式进行,以提供灵活的警报处置机制。具有相似配置文件的警报可以一起分类。配置文件可以与发生的风险、安全关注的程度、错误触发的频率等相关。对于每个警报类,警报的计数器可以被保持在累加器中。如果计数器满足对应类的可编程最大值,则启动该类的升级协议。计数器可以由警报处置器110、软件等清除。这些特征、功能和技术可以由图3所示的组件提供。
图3通常以300图示了示例警报处置器110,该警报处置器被耦合到多个外围设备250-1......250-P和多个升级处置器350-1......350-E。变量P和E表示可以彼此相同或不同的正整数。在示例实施方式中,警报处置器110被耦合到多个外围设备250-1......250-P和多个升级处置器350-1......350-E。警报处置器110包括多个警报器接收模块312-1......312-M、多个升级发送器模块314-1......314-N、至少一个控制器310、至少一个ping监测器302、至少一个寄存器库316和完整性故障电路系统318。变量M和N表示可以彼此相同或不同的正整数以及本文中所使用的其他变量。警报处置器110还包括多个IRQ单元304-1......304-N、多个累积单元306-1......306-N和多个升级计时器308-1......308-N。
虽然某些电路组件集合被表示为具有N的数量,但是每个集合都可能具有不同数量的这种组件,这取决于场境或实施方式。因此,变量P、E、M和N可以是彼此相同或不同。例如,给定的外围设备250可以具有两个或两个以上的警报发送器模块322。在这种情况下,变量M可以大于变量P。如果例如外围设备250正在监测多个不同的潜在安全威胁,则发生这种情况。作为另一示例,每个升级处置器350都可以包括一个升级接收器模块324。如果是这样,则变量N和E可以是相等的。
多个警报接收器模块312-1......312-M中的每个警报接收器模块312被耦合到多个外围设备250-1......250-P中的至少一个外围设备250。多个升级发送器模块314-1......314-N中的每个升级发送器模块314被耦合到多个升级处置器350-1......350-E中的至少一个升级处置器350。多个升级计时器308-1......308-N耦合到多个升级发送器模块314-1......314-N。每个相应升级计时器308可以与多种升级严重性中的相应升级严重性对应。相似地,多个升级处置器350-1......350-E中的每个相应升级处置器350都可以与多种升级严重性中的相应升级严重性对应。下面参照图4描述了可以跨升级电路组件配置的示例升级严重性层级。
在示例操作中,控制器310被耦合到多个警报接收器模块312-1......312-M和多个升级计时器308-1......308-N。控制器310将从警报接收器模块312接收到的触发警报分类为多种分类中的分类或多个警报类中的警报分类。分类可以是基于警报接收器模块312、对应的外围设备250、其警报发送器模块322等。控制器310基于分类启动多个升级计时器308-1......308-N中的升级计时器308。下面参照图4-1进一步描述了分类。
多个外围设备250-1......250-P中的每个外围设备250都包括多个警报发送器模块322-1......322-M中的至少一个警报发送器模块322。多个警报接收器模块312-1......312-M中的每个相应警报接收器模块312都经由多个信令通路332-1......332-M中的相应信令通路332被耦合到多个警报发送器模块322-1......322-M中的相应警报发送器模块322。多个升级处置器350-1......350-E中的每个升级处置器350都包括多个升级接收器模块324-1......324-N中的至少一个升级接收器模块324。多个升级发送器模块314-1......314-N中的每个相应升级发送器模块314都经由多个信令通路334-1......334-N中的相应信令通路334被耦合到多个升级接收器模块324-1......324-N中的相应升级接收器模块32。每个信令通路332和334都包括至少一个差分路径。
在示例操作中,控制器310可以处理来自内部和外部源的警报。外部源包括多个外围设备250。警报接收器模块312接收来自对应警报发送器模块322的警报指示352。警报接收器模块312将警报指示352转发给控制器310作为触发警报362。此时,触发警报362与未分类的触发警报对应。警报指示352反映对应的外围设备250已经检测到潜在安全威胁。为了清晰起见,某些信号是关于一个电路组件进行描述的,即使这种信号可能适用于同一类型的电路组件的其他实例。例如,尽管警报指示352被描绘为从外围设备250-1的警报发送器模块322-1传输给警报处置器110的警报接收器模块312-1,但是外围设备250-P的警报发送器模块322-M也可以将警报指示352传输给警报处置器110的警报接收器模块312-M。
控制器310也可以处理的警报的内部或本地源包括ping监测器302和完整性故障电路系统318。因为警报处置器110与外围设备250和升级处置器350进行通信,而且因为故障可能与信号完整性或各种信令通路332和334的ping机制相关,所以这些内部源可以产生四种不同的警报(例如,两种类型的安全问题,每一种都可以与两种类型的组件对应,相当于四个不同的警报)。这些内部来源的警报包括警报ping故障364、升级ping故障366、警报完整性故障368和升级完整性故障370。这些警报中的每个警报都可以使用对应的信号进行传递。
每个信令通路332或334都可以使用一根或多根导线来实现。如果差分信令协议在通路上实施,则两根或两根以上的导线可以实现信令通路332或334。与单端信令相比,用差分信令,可以出于安全目的进行额外的完整性检查,以确保信令通路还没有受损。完整性故障电路系统318可以进行一次或多次这样的检查。例如,完整性故障电路系统318可以监测用于差分信令的导线对,以确保至少在信令时间内,对值电压施加到两根导线。如果耦合到外围设备250的信令通路332受损,则完整性故障电路系统318将警报完整性故障信号368发送给控制器310。如果耦合到升级处置器350的信令通路334受损,则完整性故障电路系统318将升级完整性故障信号370发送给控制器310。下面描述了控制器310处理这些路径完整性故障信号368和370的示例方法。
警报处置器110还使用示例ping机制来确保外围设备250和升级处置器350正在运行并且通信是可能的。ping监测器302与通信模块共同实施ping机制。ping监测器302发出ping指令358。警报接收器模块312-M接收ping指令358。响应于ping指令358,警报接收器模块312-M将ping请求354传输给外围设备250-P的警报发送器模块322-M。为了确认外围设备250-P正在运行,并且信令通路332-M正在工作,警报发送器模块322-M将ping响应356返回到警报接收器模块312-M。
基于确认ping响应信号356,警报接收器模块312-M向ping监测器302提供pingokay消息360。如果ping监测器302在发出ping指令358后的ping持续时间周期内接收到ping ok消息360,则ping监测器302将外围设备250-P识别为在这一轮中运行。另一方面,如果在ping持续时间周期内没有返回ping okay消息360,则ping监测器302向控制器310发出警报ping故障信号364。ping持续时间可以是可配置的,包括通过编程寄存器库316的寄存器。下面描述了控制器310处理这种故障信号364的示例方法。
ping机制还负责确保升级处置器350与警报处置器110进行通信,并且使用一个或多个ping请求运行。ping监测器302向升级发送器模块314-N发出ping指令358,并且升级发送器模块314-N接收ping指令358。响应于ping指令358,升级发送器模块314-N将ping请求380传输给升级处置器350-E的升级接收器模块324-N。为了确认升级处置器350-E正在运行并且信令通路334-N正在工作,升级接收器模块324-N将ping响应382返回到升级发送器模块314-N。
基于确认ping响应信号382,升级发送器模块314-N向ping监测器302提供pingokay消息360。如果ping监测器302在发出ping指令358后的ping持续时间周期内接收到ping ok消息360,则ping监测器302将升级处置器350-E识别为在这轮ping中运行。另一方面,如果在ping持续时间周期内没有返回ping okay消息360,ping监测器302向控制器310发出升级ping故障信号366。下面描述了控制器310处理该信号366的示例方法。
ping监测器302可以确定ping交换和ping指令358的目标的命令之间的等待周期。每个等待周期都可以随机确定,以提高ping机制所提供的安全性。因此,ping监测器302可以使用随机数发生器(RNG)(例如,伪RNG(PRNG)或真RNG(TRNG))在向同一个模块或下一个模块连续发出ping指令358之间建立每个等待周期(例如,随机化时间持续时间)。附加地或可替代地,ping消息交换的下一个目标(例如,外围设备250或升级处置器350)也可以是随机确定的。随机化使得通过在正确的时间人工传输来自正确组件的ping响应信号356或382来欺骗正确的ping ok消息360变得更加困难。
在收到警报信号后,控制器310处理警报信号。如上所述,警报信号可以包括从警报接收器模块312接收到但是“源自”外围设备250的触发警报362、警报ping故障信号364、升级ping故障信号366、警报完整性故障信号368、升级完整性故障信号370等。控制器310至少部分地基于警报信号的来源、警报信号的原因或警报信号的含义为警报信号分配分类。源或原因可以包括外围设备250或对应的警报接收器或发送器模块、升级处置器350或对应的升级发送器或接收器模块、完整性故障电路系统318、ping监测器302等。含义可以与由于完整性或ping故障而导致的通信故障、由于警报事件而从外围设备发出的肯定警报、警报事件的性质、其组合等相关。警报事件的性质可以与在暴露的信息、受损的账户访问、设备损坏等方面的攻击——如果攻击发生——严重的可能性有多大相关。
基于确定的分类,控制器310启动至少一个警报处置路径。每个警报处置路径都与至少一个分类级别对应。警报处置路径可以通过多个IRQ单元304-1......304-N中的一个或多个、多个累加器单元360-1......360-N中的一个或多个、一个或多个升级计时器308-1......308-N、一个或多个升级发送器模块314-1......314-N和一个或多个升级接收器模块324-1......324-N前进或流动,以潜在地到达多个升级处置器350-1......350-E中的至少一个升级处置器350。可以选择各种可配置的警报处置路径来灵活地解决可能用于攻击IC芯片的大量潜在向量。下面参照图5-1至图5-3描述了示例警报处置路径。在一些情况下,确定的警报分类与以第一分类级别开始的警报处置路径对应。如果这样,则控制器310使IRQ单元304-1向处理器202或相关联的中断控制器228(ItC 228)(图2中的两者)发出中断384。控制器310也启动升级计时器,诸如升级计时器308-1,并且将等待计时器到期。同时,控制器310可以跟踪或保持使用累积单元306-1在第一分类级别或从同一警报接收器模块312接收到的警报的总数量。通常,每个相应累积单元306都可以累积例如与相应警报分类对应的警报的相应计数。如果处理器202在计时器到期之前没有解决和清除中断,或者响应于控制器310没有接收到处理器202对中断的响应,控制器310可以沿相应警报处置路径升级进程。因此,如果计时器到期或如果累积数量达到阈值,则控制器310沿警报处置路径进行响应。例如,路径可以从累积单元306-1前进到升级计时器308-1或从升级计时器308-1前进到升级发送器模块314-1(或两者)。
然而,在该示例中,控制器310将警报处置路径从第一分类级别前进到第X分类级别,这些分类级别对应于所示的第N个电路组件——即第N个累积单元306-N、升级计时器308-N和升级发送器模块314-N。为此,控制器310向以下中的任何一个或多个发出触发类警报372:IRQ单元304-N、累积单元306-N或升级计时器308-N。作为响应,IRQ单元304-N可以发出中断384以供处理器处置。累积单元306-N还可以增加累积值,该累积值指示已经触发的第X分类级别警报的数量或代表来自给定警报接收器模块312的警报的数量。进一步地,升级计时器308-N可以启动第X分类级别的升级计时器。
当升级计时器正在流逝并且触发警报正在累积时,控制器310将触发警报的数量与警报数量阈值进行比较。如果累积单元306-N的累积计数达到警报数量阈值(例如,对于第X分类级别),则累积单元306产生第X分离级别的类累积指示374。累积单元306向升级计时器308-N提供类累积指示374。作为响应,升级计时器308-N可以启动新的或未启动的计时器,将启动的计时器提前一些数量,忽略指示或发出升级指令376。进一步地,升级计时器308-N可以基于升级计时器308-N的计时器到期发出第X分类升级指令376。升级计时器308-N向多个升级发送器模块314-1......314-N中的一个或多个提供升级指令376。
在该示例警报处置路径中,升级计时器308-N向升级发送器模块314-1发出升级指令376。更一般的,控制器310可以负责指示升级发送器模块314将升级命令378发送给升级处置器350。作为响应,升级发送器模块314-1经由信令通路334-1将升级命令378传输给升级处置器350-1的升级接收器模块324-1。响应于接收到升级命令378,升级处置器350-1执行至少一个安全对策。例如,安全对策可以包括擦除存储的数据、断开多个外围设备中的可疑外围设备与至少一个互连的连接、使包括可疑外围设备的电源域崩溃(collapse)、重置集成电路的至少一部分,等等。下面参照图7描述了警报处置器110和升级处置器350之间的示例通信。接下来参照图4-1描述示例电源域。
图4-1以400-1图示了警报处置器110的额外示例方面,该警报处置器110耦合到多个外围设备250-1......250-P和多个升级处置器350-1......350-P。如图所示,第一警报接收器模块312-1通过第一信令通路332-1耦合到第一外围设备250-1的第一警报发送器模块322-1,并且第二警报接收器模块312-2通过第二信令通路332-2耦合到第一外围设备250-1的第二警报发送器模块322-2。因此,单个外围设备250可以包括多个警报发送器模块,并且警报处置器110可以包括用于每个警报发送器模块的相应警报接收器模块。第三警报接收器模块312-3通过第三信令通路332-3耦合到第二外围设备250-2的第三警报发送器模块322-3。同样,第一升级发送器模块314-1通过第一信令通路334-1耦合到第一升级处置器350-1的第一升级接收器模块324-1。
在一些实施方式中,(例如,图1和图2的)信任根(ROT)芯片或其他安全电路系统106包括多个时钟域410,以使不同的组件能够在不同的时间以不同的时钟频率操作,或使某些组件的时钟抖动能够达到安全目的。在图4-1中,电路系统包括第一时钟域410-1和第二时钟域410-2。第一外围设备250-1被设置在第二时钟域410-2中,但是其他所示的组件在第一时钟域410-1中操作。因此,跨第一信令通路332-1和第二信令通路322-2在第一警报接收器模块312-1和第二警报接收器模块312-2以及第一警报发送器模块322-1和第二警报发送器模块322-2之间的通信分别可以异步执行,以适应潜在的不同时钟频率。由于共同的时钟域,跨第三(警报)信令通路332-3和第一(升级)信令通路334-1的通信可以同步执行。
在示例实施方式中,控制器310对从警报接收器模块312——如第二警报接收器模块312-2——接收的触发警报362进行分类。分类404或分类操作404是响应于触发警报362和基于提供了触发警报的第二警报接收器模块312-2执行的。基于原始外围设备——在该示例中为第一外围设备250-1——的身份,知道该第二警报接收器模块312-2与给定的外围设备250或其警报事件对应。因此,分类404也是基于外围设备250或由此检测到的警报事件。虽然在图4-1中没有示出,但是分类404也可以是响应于警报处置器110的“内部警报”执行的。内部警报包括警报ping故障、升级ping故障、警报完整性故障和升级完整性故障,如上面参照图3所描述的。
分类操作404使用例如一个或多个寄存器将警报分类为多个警报分类406-1......406-N中的警报分类406。在一些情况下,多个警报级别的变量N可以与多个累积单元306、升级计时器308等的变量N对应。在其他情况下,这两个变量可能有不同的值。下面参照图4-2描述了具有四个级别的警报分类406和四个级别的分类严重性的示例系统。
ping监测器302可以包括ping计时器402。该ping计时器402使ping监测器302能够基于时间间隔或时间持续时间执行ping操作。由ping计时器402跟踪的持续时间或超时可以使用线性反馈移位寄存器(LFSR)伪随机确定。下面描述了随机数生成的示例方法。
在一些实施方式中,在警报处置器110内的多个警报接收器模块312和多个升级发送器模块314处的ping指令信号358的输入被耦合到ping监测器302。这在上面参照图3进行了描述。ping监测器302确定连续ping请求之间的等待周期的随机数。进一步地,ping监测器302还随机选择要进行ping的特定差分路径、外围设备250或升级处置器350。这使得基于过去的观察预测下一次ping发生变得更加困难。
(图4-1的)ping计时器402可以使用Galois或Fibonacci类型的基于LFSR的PRNG来实施。为了增加伪随机序列的熵,每次绘制新的随机数时(例如,每个10k周期就会发生一次),来自TRNG的一个随机位或多个随机位被异或为LFSR状态。LFSR为m位宽。用于随机计时器计数的位包括n位,其中,m>n。剩余(m-n)位用于随机选择接下来要进行ping的外围设备250。
在选择外围设备250之一来进行ping后,ping监测器302等待,直到断言对应的ping okay消息或直到达到可编程ping超时值。在两种情况下,ping监测器302继续执行下一个ping。然而,在第二种情况下,ping监测器302附加地针对警报路径或升级路径产生“ping故障”警报364或366。超时值可以是警报处置器时钟与多时钟域系统中出现的任何外围时钟之间的比率的函数。超时值可以在启动时间经由(例如,图4-2的)寄存器424进行编程。当初始配置阶段完成并且寄存器库316的寄存器424已经被锁定时,ping定时器402就可以启动。在一些情况下,如果没有被请求的可疑“ping ok”消息到达,则ping监测器302可以直接标记“ping故障”警报。
图4-2图示了与警报处置器110的升级严重性相关的额外示例方面。如图所示,寄存器库316包括多个寄存器424-1、424-2......424-R,其中,R表示正整数。多个寄存器424-1......424-R可以在设计/制造或运行期间通过软件或固件进行配置。每个寄存器424都存储至少一个值,该值建立了使用至少一个警报处置器路径处理警报的一些可编程方面。例如,寄存器424可以为至少一个累积单元306、至少一个升级计时器308的时间持续时间、用于适应警报处置路径的路由信息等建立计数阈值。
在示例实施方式中,每个升级计时器308可以被耦合到一个以上的升级发送器模块314。例如,每个升级计时器308可以选择性地向多个升级发送器模块314中的任何一个发出升级指令376。如图所示,多个升级计时器308经由至少一个开关矩阵422被耦合到多个升级发送器模块314。例如,开关矩阵422可以包括多路复用器集合(未明确示出),这些多路复用器可以选择性地将任何升级计时器308所发送的升级指令376耦合到任何升级发送器模块314。
在图4-2所示的示例中,有四个级别的组件。因此,IRQ单元304、累积单元306、升级计时器308、升级发送器模块314、警报分类406等的变量N相当于下面描述的图4-2和图5-1至图5-3中的四个的示例。每个组件级别与多种升级严重性426-1、426-2、426-3......426-S中的升级严重性426对应,其中,S与正整数对应。虽然在图4-2中描绘了并且在本文中描述了四个级别的升级严重性426(例如,S=4),但是安全电路系统可以提供或实施不同数量的级别。
随着警报分类和升级严重性级别的增加,所示的组件形成升级严重性增加的逻辑层级。相对于升级计时器308的组432中的多个升级计时器308-1......308-4,指示升级重要性426增加的层级434。虽然没有明确示出,但是每组组件,诸如多个累积单元306-1至306-4或多个升级发送器模块314-1至314-4,也可以表示升级严重性增加的层级。当处理警报时,警报处置路径可以沿层级434步进到下一个组件(例如,下一个升级计时器308)。可替代地,警报处置路径可以沿层级434跳过下一个组件,以沿一组组件的层级434到达另一个组件(例如,另一个升级计时器308)。通过沿层级434跳过组件,警报处置器110可以沿层级434更快速地前进到较高的升级严重性426,或绕过不适用于抵消给定警报的安全对策。下面参照图5-1至图5-3描述了示例警报处置路径。
关于警报分类和中断信令,在一些实施方式中,每个传入和本地警报信号一般都可以被分类为N类中的一类或在没有分类的情况下被禁用。利用四类示例(例如,N=4),四个警报分类406-1至406-4可以被指定为类A、B、C和D。每个警报分类都可以在硬件、固件和/或软件中定义。需要考虑的因素包括:一些警报类型与其他警报类型相似,一些警报类型比其他警报类型“噪音更大”(例如,当触发时,它们保持更长的时间周期),一些警报类型比其他警报类型更关键,等等。
对于每个警报类(A-D),可以发送中断。像从“标准”外围设备发送的中断一样,对于警报处置器110所发送的中断,可以有三个寄存器,例如,使能、状态和测试。因此,与其他中断一样,在处理器上执行的软件可能能够处理中断的来源(例如,在这种情况下由外围设备250检测到的原始警报事件),然后清除寄存器状态。因为中断类与原始警报解除了关联(由于分类404进程),所以软件可以被授权访问,以使寄存器确定自上次清除以来哪些警报已经发出。
四个基于类的中断中的每个中断的发出可以可选地触发超时计时器(例如,其可能在物理上与用于相应升级计时器308的计数器相同),如果在一定时间帧内中断没有被处置和清除,则该超时计时器触发进一步的升级,如本文所述。在一些情况下,中断可以配置为一旦在对应的警报分类中已经注册了警报便发出。换言之,中断可以独立于升级机制,如本文所述的警报累积计数器或升级计时器。
关于升级机制,在一些实施方式中,每个类有至少两种机制可以触发对应的升级协议——例如,实施每个升级严重性级别的对应安全对策。第一种机制涉及具有计数器的累积单元306,该计数器对特定警报分类内的警报发生的数量进行计数。分类为类A的警报意味着在每个接收到的触发警报362上,类A的累积计数器都增加。为了简化硬件,因为预计警报很稀有或永远不发生,所以警报处置器110不需要尝试对每个时钟周期的每个警报都进行计数。相反,在一些情况下,每个类的警报触发器在将进行了OR操作的结果作为累积单元306处的增量信号发送给累积计数器之前一起进行OR操作。一旦已经达到对应的警报数量阈值,下一次发生便触发给定类的升级协议。计数器可以用例如饱和计数器来实现,这样一旦它达到最大可表示的计数,它便不会折回。
警报计数累积机制可以与每个分类的两个控制与状态寄存器(CSR)相关联。第一寄存器是针对累积最大值。这表示进入升级阶段需要达到的触发警报的总数(例如,在对应组中进行分类的警报的总和)。这个值在这里也称为警报数量阈值。第二寄存器是当前累积寄存器。这个可清除的寄存器指示到目前为止已经累积了多少警报。如果要避免升级,则希望软件在达到最大累积阈值设置之前清除该寄存器。
第二种升级机制涉及升级计时器电路系统(例如,在升级计时器308中),该升级计时器电路系统带有中断超时计数器或计时器,如果警报中断没有在可编程超时窗口内被处置,则该计时器触发升级。一旦超时计数器达到超时阈值(例如,上升到特定的正值或倒数到零),便触发升级协议。中断超时升级机制还可以与每个分类的两个CSR相关联。第一寄存器是用于设置中断超时值,该值可以有时钟周期的单位。如果这个寄存器被设置为零,则可以禁用中断超时。第二寄存器是针对当前中断超时值,该值向下或向上计数。这个计时器寄存器可以是可读的。如果要避免升级,则希望软件在超时之前为给定的分类清除对应的中断状态位。在一些情况下,对于中断超时特征和升级阶段计时器,可以使用每个分类的单个物理计数器。如果中断超时周期和升级阶段不重叠(例如,在触发升级时优先执行升级),则可以实施这种电路系统减少策略。
关于可编程升级协议,在一些实施方式中,对于四个示例级别的升级严重性426-1至426-4,有四个输出升级信号——0、1、2和3。升级信号或由这种升级信号引发的安全对策的示例包括但不限于处理器非可屏蔽中断(NMI)、特权降低、秘密擦去、芯片重置等。在一些情况下,跨升级严重性的层级顺序的范围可以从作为第一触发的升级级别0到升级级别1、2和3。系统操作可以模拟“导火线”,因为在没有积极干预的情况下,一旦第一升级级别被触发,警报处置路径便继续——例如,通过处理器清除中断,重置寄存器中的位,等等。
每个相应类都可以用相应升级协议进行编程。如果触发上述两种机制中的一种(例如,计数器累积机制或升级计时器机制),则启动对应类的另一计时器。计时器可以使用一个或多个寄存器被编程有多达X个延迟。X个延迟中的每个延迟表示不同的升级阶段(0-3)(例如,其中,X=4)。四个升级严重性输出(0-3)中的每个输出都“默认”配置为在对应的阶段断言。换言之,严重性输出0在阶段0中断言,输出严重性1在阶段1中断言,等等。然而,通过使用一个或多个寄存器424修改对应的使能/阶段映射,这种映射可以远离默认值重新分配。在建立初始配置之后,这种映射可以与警报使能设置一起锁定。
通过例如清除对应的升级计数器,软件可以停止触发的升级协议。此清除操作的保护可能是在软件中授予的。即使特定阶段的周期计数已经被设置为零,升级阶段中的每个有至少一个时钟周期的持续时间。
下面的示例与直到升级协议最终生效时警报的累积相关。第一警报将中断触发到类A。假定处理器被插入或被接管,在这种情况下,处理器不处置中断。一旦已经收集了足够的警报(例如,16),便进入第一升级阶段。第一升级阶段之后是另外三个升级阶段,其中,每个相应升级阶段有自己的使用至少一个相应寄存器的可编程长度。在这里,累加器警报数量阈值被设置为15,以在第16个警报发生时触发。如果要在警报分类中第一次发生时触发升级,则警报数量阈值被设置为零。同样,电路系统可能需要一个时钟周期来触发下一个升级机制并且进入阶段0。
在另一示例中,中断仍然没有被处理器处置。因此,当中断处置计时器到期时,中断超时计数器触发升级。假设警报没有清除,可以在每个相应计时器到期后进入四个升级严重性阶段中的每个阶段。对于每个升级阶段,升级发送器模块与升级处置器的升级接收器模块进行通信。如下面参照图7所描述的,适用的差分升级信令协议可以通过将升级命令编码为K+1个周期长的脉冲——其中,K是正整数——来区分“真”升级条件和纯粹的ping信令。
图5-1至图5-3图示了在警报处置器110内扩展的示例警报处置路径502-1至502-6。警报处置路径出现在示例警报处置器架构中,该架构具有四个级别的警报分类406和升级严重性426。然而,原则与其他架构相关。各种示例警报处置路径502都可以使用寄存器库316的寄存器424来建立。同样,虽然图中未示出,但是如果较低级别(例如,初始分类级别)没有导致警报被清除,则每个警报处置路径502可以前进到较高级别的升级严重性。
通常在图5-1中的500-1处,第一警报处置路径502-1与被分类为第一警报分类级别的警报相关。因此,第一IRQ单元304-1将中断传输给处理器。控制器310还增加第一累积单元306-1的计数,并且可以启动第一升级计时器308-1的计时器。响应于计数达到第一分类级别的警报数量阈值或启动的计时器到期(例如,在中断计时器也已经到期之后),第一升级计时器308-1向第一升级发送器模块314-1发出升级指令376。
第二警报处置路径502-2与被分类为第三警报分类级别的警报相关。在这种情况下,沿升级严重性增加的层级跳过与第一分类级别和第二分类级别对应的组件。因此,第三IRQ单元304-3将中断传输给处理器。控制器310也增加第三累积单元306-3的计数,并且可以启动第三升级计时器308-3的计时器(例如,在中断计时器到期之后)。如果处理器清除中断,则可以终止警报处置。否则,响应于计数达到第三分类级别的警报数量阈值或启动的计时器到期,警报处置器110(例如,第三升级计时器308-3)向第三升级发送器模块314-3发出升级指令376。
对于第一警报处置路径502-1和第二警报处置路径502-2,每个路径都“局限”于与给定升级严重性426对应的组件。然而,其他警报处置路径可以遍历多种升级严重性426的组件。通常在图5-2中的500-2处,第三警报处置路径502-3和第四警报处置路径502-4都遍历两个不同分类级别的组件,因为路径是沿着升级严重性增加的层级路由的。
第三警报处置路径502-3与被分类为第一警报分类级别的警报相关,如第一警报处置路径502-1。第一警报处置路径502-1和第三警报处置路径502-3之间的差异是在发出升级指令376时产生的。对于第三警报处置路径502-3,第一升级计时器308-1使用开关矩阵422向第二升级发送器模块314-2发出升级指令376,而不是向第一升级发送器模块314-1发出。因此,第三警报处置路径502-3使用(例如,图4-1的)第一升级严重性426-1的电路系统的中断、计数阈值和计时器持续时间来处理(例如,图3和图4-1的)给定触发警报362。然而,为第三警报处置路径502-3实施的安全对策与第二升级严重性426-2的安全对策对应。
因此,对都被分类为第一警报分类级别的两个警报的处理可能彼此不同。两个警报处置路径502之间的偏差可以由至少一个寄存器424基于触发警报的起源——例如,外围设备250的警报接收器模块312或警报发送器模块322——控制。第四警报处置路径502-4与被分类为第二警报分类级别的警报相关。在第二升级计时器308-2的时间周期到期时,升级指令376还未发出。相反,第四警报处置路径502-4被路由到第三升级计时器308-3。在第三升级计时器308-3的时间周期到期时,第三升级计时器308-3向第三升级发送器模块314-3发出升级指令376。第三升级发送器模块314-3然后根据第三升级严重性426-3传输升级命令378。
通常在图5-3中的500-3处,示出了额外的自适应特征,以描述如何可以灵活地实施警报处置路径502。在第五警报处置路径502-5,路径分支。两个条件中的每个条件都可以触发向升级发送器模块314发出升级指令376。计数值由第一累积单元306-1跟踪。计时器也由第一升级计时器308-1监测。两个条件——顺序地或部分地重叠——都不需要满足以触发升级指令。相反,如果计数满足第一升级严重性426-1的警报数量阈值(如第一累积单元306-1所确定的)或如果第一升级严重性426-1的计时器到期(如第一升级计时器308-1所确定的),则警报处置器110(例如,第一升级计时器308-1)通过开关矩阵422向第一升级发送器模块314-1发出升级指令376。
第六警报处置路径502-6描绘了升级严重性426的级别之间的示例条件分支。触发警报362被分类为第三级别。第三IRQ单元304-3发出中断,并且第三升级计时器308-3立即或在中断超时到期后启动计时器。第三累积单元306-3也继续或开始累积被分类为第三级别的警报。如果升级计时器首先到期,则第三升级计时器308-3以第三级别的升级严重性426-3发出升级指令。然而,如果警报以在升级计时器到期之前满足第三级别的警报数量阈值的这种速度传入,则第六警报处置路径502-6被路由到较高的升级严重性级别,即该示例中的第四升级严重性426-4。因此,第四升级计时器308-4启动第四级别的计时器持续时间,该计时器持续时间可能明显比第三级别的计时器持续时间短。如果第四级别的升级计时器首先到期,则第四升级计时器308-4向第四升级发送器模块314-4发出升级指令376,如图所示。另一方面,如果第三升级计时器308-3的计时器首先到期,则第三升级计时器308-3可以向第三升级发送器模块314-3发出升级指令(没有明显示出)。换言之,警报处置器110被配置为如果大量警报非常快速地到达,则将明显的第三级类警报升级到第四级安全对策。否则,第三级分类可以导致对第六警报处置路径502-6执行第三级安全对策。
图6图示了警报处置器110的警报接收器模块312和外围设备250的警报发送器模块322之间的示例通信关系600。如图所示,信令通路332包括多对导线(例如,三对),以使能跨三个差分路径的差分信令。每对导线包括正导线和负导线。模块可以跨信令通路332进行同步或异步通信。
在示例实施方式中,外围设备250检测警报事件602。警报事件602可以与传感器输入(例如,传感器感知到的参数)、观察到的活动模式、从另一组件接收到的指示等对应。响应于警报事件信号602,警报发送器模块322在第一对导线(例如,所描绘的上对)上将警报指示352传输给警报接收器模块312。响应于接收到警报指示352,警报接收器模块312向控制器310提供触发警报362。警报接收器模块312还在第二对导线(例如,所描绘的中间对)上将警报确认信号604传输回到警报发送器模块322,以确认收到警报指示信号352。
对于pinging协议,警报接收器模块312接收来自(例如,图3和图4-1的)ping监测器302的ping指令358。在ping指令358的提示下,警报接收器模块312在第三对导线(例如,所描绘的下对)上将ping请求354传输给警报发送器模块322。为了指示与外围设备250的连接是有效且功能的,警报发送器模块322——例如,在第一对导线上——将ping响应356传输回到警报接收器模块312。为了弹性,警报发送器模块322可以在同一对导线上传输警报指示352和ping响应356。这确保了不良行为者还未切断警报指示352的导线,同时保持ping响应356的导线完好无损。警报接收器模块312接收来自警报发送器模块322的ping响应356。为了完成ping协议循环,警报接收器模块312响应于收到ping响应356将ping okay消息360转发给ping监测器302。
在一些情况下,完整性故障电路系统318的至少一部分被耦合到或并入警报接收器模块312。这个完整性故障电路系统318监测至少一对导线,以确定差分路径上是否存在适当的差分信令,以及预期信令模式是否与实际信令模式匹配。如果没有,则完整性故障电路系统318生成警报完整性故障信号368,并且向控制器310提供该信号作为警报处置器110的内部警报(例如,如图3所示)。
在一些实施方式中,在正/负警报指示导线(例如,第一对导线)和正/负警报确认导线(例如,第二对导线)上使用“完全”握手对警报进行差分编码和信号发出。采用完全握手协议允许警报信令机制与异步时钟策略一起使用,其中,一些外围设备可以驻留在与警报处置器110不同的时钟域410中。完全握手协议确保警报消息被正确地反压,并且不因为大于或小于1.0的(可能是可变的)时钟比而在异步边界“丢失”警报。如果警报事件602在外围设备250内仍然为真,则本地警报指示可以在差分警报指示导线上重复。因此,当警报为真时,握手模式可以重复。警报发送器模块322可以等待握手之间的两个周期。
在异步环境中,一旦警报指示导线上的初始电平变化已经被接收,并且与警报接收器模块312处的本地时钟同步,警报指示352便可以被“立即”传播到触发警报信号362。这确保了警报指示352的第一次出现被传播,即使握手线已被操纵以模拟反压。在有模拟反压的场景中,随后的警报指示可能被被压;然而,本文中所描述的ping测试机制最终检测到不良行为者已经篡改了导线。
在一些实施方式中,为了确保警报发送器模块322还未受损,警报接收器模块312用ping或心跳消息对发送器进行周期性的(例如,每几微秒)“ping”或线测试。Ping计时可以被随机化,因此ping请求354消息的出现不能被预测。Ping计时由警报处置器110内的基于LFSR的中央计时器生成(例如,使用ping监测器302的ping计时器402),该计时器随机断言特定警报接收器模块312的ping指令信号358。
一旦ping指令信号358被断言,则警报接收器模块312将ping请求消息354编码为ping请求差分路径(例如,第三对导线)上的电平变化。警报接收器模块312等待,直到警报发送器模块322对正/负警报指示导线(例如,第一对导线)和正/负警报确认导线(例如,第二对导线)上的完全握手作出响应。一旦握手完成,警报接收器模块312便断言ping okay消息360。基于LFSR的计时器可以具有可编程ping超时。在没有完全握手出现的情况下可编程ping计时器到期之后,ping监测器302使用警报ping故障信号364断言“ping故障”内部警报。该超时可以是系统中存在的时钟比的函数,并且可以在系统启动时进行相应编程。
在ping请求354与警报发送器模块322处的本地警报指示352发生冲突的相对不太可能的情况下,警报指示352被阻挡,直到ping握手协议完成。虽然这种方法稍微延迟了警报指示352的传输,但是警报指示352最终用信号通知。进一步地,如果在ping请求354到达警报发送器模块322之前,警报指示352从警报发送器模块322发出,则警报接收器模块312将警报指示352视为ping响应。“真”ping响应仍然在警报握手完成后返回,因此警报只以轻微的延迟发出,并且警报接收器模块312对其进行这样的解释。在两种冲突情况下,信令延迟大约是握手长度加上握手之间恒定数量的暂停周期(例如,两个发送器周期)。
在一些实施方式中,差分对由完整性故障电路系统318监测信号完整性问题。如果检测到编码故障,警报接收器模块312断言警报完整性故障信号368。至少在以下故障情况下会出现这种情况:第一,警报指示差分路径(例如,第一对导线)可能在警报接收器模块312上没有被正确编码。这可以在接收器侧被直接标记为完整性故障。第二,确认差分路径(例如,第二对导线)或ping请求差分路径(例如,第三对导线)在警报发送器模块322处可能没有被正确编码。通过使警报发送器模块322将正负警报指示导线设置为相同的值,可以向警报接收器模块312发出后两种故障中的任何一种。进一步地,警报发送器模块322可以连续切换该值。这隐式地触发警报接收器模块312处的信号完整性警报。有几种信令模式可以表示故障。例如,如果差分对的正负线都有低电压或同时都有高电压,则观察到故障。
图7图示了警报处置器110的升级发送器模块314和升级处置器350的升级接收器模块324之间的示例通信关系700。如图所示,信令通路334包括多对导线(例如,两对),以使能跨两个差分路径的差分信令。每对导线都包括正导线和负导线。模块可以跨信令通路334至少同步地进行通信。在示例实施方式中,升级处置器350基于激活对策指令702执行或至少启动安全对策。
作为(例如,图5-1至图5-3的)警报处置路径502的部分,(例如,也是图8的)升级计时器308向升级发送器模块314提供升级指令376。响应于接收到升级指令376,升级发送器模块314在第二对导线(例如,所描绘的下对)上将升级命令378传输给升级接收器模块324。响应于接收到升级命令378,升级接收器模块324生成激活对策指示702。因此,响应于传输的升级命令378,升级处置器350至少启动安全对策的执行。
对于pinging协议,升级发送器模块314接收来自(例如,图3和图4-1的)ping监测器302的ping指令358。在ping指令358的提示下,升级发送器模块314在第二对导线上将ping请求380传输给升级接收器模块324。为了表明与升级处置器350的连接是有效且功能的,升级接收器模块324在第一对导线(例如,所描绘的上对)上将ping响应382传输回到升级发送器模块314。升级发送器模块314接收来自升级接收器模块324的ping响应382。为了完成ping协议循环,升级发送器模块314响应于收到ping响应382将ping okay消息360转发给ping监测器302。
在一些情况下,完整性故障电路系统318的至少一部分耦合到或并入升级发送器模块314。这个完整性故障电路系统318监测至少一对导线,以确定差分路径上是否存在适当的差分信令,以及预期信令模式是否与实际信令模式匹配。如果没有,则完整性故障电路系统318生成升级完整性故障信号370,并且向控制器310提供该信号作为警报处置器110的内部警报。
有可能不良行为者直接攻击警报处置器110。如果警报处置器110在篡改尝试期间被插入或受损,则升级发送器模块314可以周期性地停止发送ping请求380。作为另一防御机制,升级处置器350,诸如其升级接收器模块324,可以包括ping验证电路系统(未示出),以监测传入ping请求380并且在ping停止时使用对策做出响应。例如,ping验证电路系统可以包括超时计数器。在这种情况下,每次升级接收器模块324接收到ping请求380时,ping验证电路系统就重置超时计数器。因此,如果在超过超时计数器的长度的时间周期内缺乏一个或多个ping,则有可能在警报处置器110上发生攻击。为了对抗检测到的攻击或推断出的潜在攻击,ping验证电路系统响应于计时器到期发出激活对策指示702来触发对应的对策,从而导致升级。
在一些实施方式中,对于S种升级严重性426中的每种升级严重性(其中,S表示正整数,如4个),警报处置器110实例化升级发送器模块314。S个升级处置器350各自实例化对应的升级接收器模块324。升级信令机制与警报信令机制类似。然而,如果升级处置器350与警报处置器110位于同一时钟域中,则升级信令机制可以是完全同步的协议。为了促进同步通信,升级发送器模块314和升级接收器模块324可以使用相同的时钟和重置信号。
如图7所示,每个发送器-接收器对都与两个差分线对联连接。一对从发送器延伸到接收器,并且另一对从接收器延伸到发送器。当接收到有K>0的脉冲宽度的升级指令信号376时,升级发送器模块314在ping请求380的差分路径上(例如,在第二对导线上)将该信号编码为有宽度(K+1)的差分脉冲。升级接收器模块324解码该消息,并且在一个延迟周期后断言激活对策702输出。进一步地,只要升级命令378被断言,升级接收器模块324便通过在第一对导线上连续切换正/负信号来确认收到了该消息。升级接收器模块324不能正确响应,会触发来自完整性故障电路系统318的升级完整性故障信号370。
进一步地,任何一对导线上的差分信令不匹配也触发升级完整性故障370的警报。针对ping响应和确认的第一对导线上的不匹配可以在升级发送器模块314处被直接检测到。针对升级命令和ping请求的第二对导线上的不匹配被升级接收器模块324用信号通知回升级发送器模块314。为此,升级接收器模块324将第一对导线的正负响应导线都设置为相同的值,并且在每个时钟周期切换该值。这隐式地触发发送器侧的升级信号完整性警报。这种反向信令机制可以用于快速跟踪升级,并且如果警报处置器110检测到特定升级信令路径已经被篡改,则使用另一种对策。
在一些实施方式中,升级处置器的ping测试与警报信令方案的ping测试类似。可以对升级信令线进行ping和/或线路测试,以确定升级接收器模块324是否已经被篡改。这可以通过断言升级发送器模块314处的ping指令358的输入来实现。ping请求380被编码为第二对导线上的单个周期脉冲,这也用于传输升级命令378。然而,用ping请求380的单周期脉冲,升级接收器模块324不将该信令解码为升级命令。代替地,升级接收器模块324在第一对导线上对“1010”模式做出响应,以传递ping响应382。
作为响应,如果在一个延迟周期后正确地接收到该模式,则升级发送器模块314断言ping okay消息360。否则,升级发送器模块314首先断言升级完整性故障信号370,以通知控制器310。稍后,在达到可编程ping超时后,ping监测器302使用升级ping故障信号366产生“ping故障”警报。在这种情况下,升级发送器模块314触发升级完整性故障信号370,因为在此场境中“没有ping响应”和“错误ping响应”是模糊的。
进一步地,在该升级和对策场境中,升级信号优先于ping消息传递。因此,如果升级指令376已经被断言,则ping指令358用ping okay消息360来确认。如果升级指令376变为被断言,则正在进行的ping序列也将被中止。在一些情况下,在ping请求或升级命令已被发出后,预计ping和升级响应序列启动一个周期。否则,升级发送器模块314断言升级完整性故障信号370。
已经一般性地描述了用于警报处理的方案、技术和硬件,该讨论现在转向示例方法。
用于警报处理的示例方法
下面参照图8的流程图描述了示例方法。图8用流程图800图示了装置实施警报处理的示例方法。流程图800包括四个框802至810。在框802中,用多个警报接收器模块来监测多个外围设备。例如,警报处置器110可以用多个警报接收器模块312-1......312-M来监测多个外围设备250-1......250-P。作为监测的部分,通过实施pinging消息协议或通过检查导线和信令完整性,警报接收器模块312可以监测信令通路332以接收警报指示352。
在框804中,基于多个外围设备中的外围设备接收来自多个警报接收器模块中的警报接收器模块的触发警报。例如,警报处置器110可以基于多个外围设备250-1......250-P中的外围设备250接收来自多个警报接收器模块312-1......312-M中的警报接收器模块312的触发警报362。例如,警报触发程序110的控制器310可以接收来自警报接收器模块312的触发警报362。控制器310可以至少隐式地识别警报起源警报发送器模块322,以基于传输警报接收器模块312确定警报的性质。
在框806中,基于警报接收器模块,将触发警报分类为多个警报分类中的警报分类。例如,警报处置器110可以基于提供了触发警报362的警报接收器模块312将触发警报362分类为多个警报分类406-1......406-N中的警报分类406。在一些情况下,控制器310可以使用寄存器库316的至少一个寄存器424执行分类404。寄存器424中所存储的值可以将外围设备250或其警报事件602与对应的警报分类406链接。所确定的警报分类406的级别可以建立初始升级严重性426。
在框808中,基于警报分类启动多个升级计时器中的升级计时器,其中,每个相应升级计时器都与多种升级严重性中的相应升级严重性对应。例如,警报处置器110可以基于警报分类406来启动多个升级计时器308-1......308-N中的升级计时器308,其中,每个相应升级计时器308都与多种升级严重性426-1......426-S中的相应升级严重性426对应。启动的计时器的计时器持续时间的长度可以由对应警报分类406的至少一个寄存器424建立。当收到触发警报362时、在与IRQ单元304对应的中断计时器到期后、响应于累积单元306的累积计数器达到警报数量阈值、其一些组合,等等,可以启动升级计时器308。
这些方法的方面可以在例如硬件(例如,固定逻辑电路系统或与存储器结合的处理器)、固件或其一些组合中实施。方法可以使用图1至图7所示的一个或多个装置或组件来实现,这些组件可以被进一步分割、组合,等等。这些图的设备和组件通常表示硬件(诸如电子设备、PCB、封装模块、IC芯片、组件或电路)、固件或其组合。因此,这些图图示了能够实施所描述的方法的许多可能的系统或装置中的一些。
对于本文中所描述的方法和相关联的流程图,示出和/或描述操作的顺序并不旨在被解释为限制。相反,所描述的方法操作的任何数量或组合都可以以任何顺序组合,以实施给定方法或替代方法。操作也可以从所描述的方法省略或添加到该方法。进一步地,所描述的操作可以以完全或部分重叠的方式实施。
附加示例
在下文中,描述了一些示例。
示例1:一种集成电路,包括:多个外围设备;以及警报处置器,该警报处置器包括:多个警报接收器模块,每个警报接收器模块被耦合到多个外围设备中的外围设备;多个升级计时器,每个相应升级计时器都与多个升级严重性中的相应升级严重性对应;以及控制器,该控制器被耦合到多个警报接收器模块和多个升级计时器,该控制器被配置为:基于警报接收器模块或触发警报中的至少一项将从多个警报接收器模块中的警报接收器模块接收到的触发警报分类为多个警报分类中的警报分类;以及基于警报分类启动多个升级计时器中的升级计时器。
示例2:根据示例1所述的集成电路,进一步包括:互连;以及处理器,该处理器经由互连被耦合到警报处置器,其中,警报处置器的控制器被配置为:基于触发警报生成中断;向处理器发出中断;等待升级计时器到期;以及响应于不能从处理器接收到对中断的响应,将触发警报升级为超过升级计时器。
示例3:根据示例1或2所述的集成电路,其中,警报处置器的控制器被配置为通过以下至少一项将触发警报升级为超过升级计时器:向处理器发出另一中断,该另一中断与高于该中断的中断级别的中断级别对应;启动多个升级计时器中的另一升级计时器,该另一升级计时器与多个升级严重性中高于该升级计时器的升级严重性的升级严重性对应;或指示升级发送器模块将升级命令发送给升级处置器。
示例4:根据前述示例中任一项所述的集成电路,其中,响应于升级计时器到期,警报处置器被配置为通过以下中的至少一项选择性地升级触发警报:沿升级严重性增加的层级步进到多个升级计时器中的下个升级计时器;或沿升级严重性增加的层级跳过下一升级计时器,到达多个升级计时器中的另一升级计时器。
示例5:根据前述示例中任一项所述的集成电路,进一步包括:多个升级处置器,每个升级处置器被配置为实施至少一个安全对策,其中:警报处置器包括多个升级发送器模块,每个升级发送器模块被耦合到多个升级处置器中的升级处置器;以及多个升级计时器耦合到多个升级发送器模块。
示例6:根据前述示例中任一项所述的集成电路,其中:警报处置器包括开关矩阵或多路复用器集合中的至少一个;以及多个升级计时器的至少一部分经由开关矩阵或多路复用器集合被选择性地耦合到多个升级发送器模块中的多个。
示例7:根据前述示例中任一项所述的集成电路,其中,响应于升级计时器到期,警报处置器被配置为通过以下至少一项选择性地升级触发警报:指示多个升级发送器模块中的升级发送器模块将升级命令传输给多个升级处置器中的升级处置器,升级发送器模块具有与升级计时器的升级严重性对应的升级严重性;或指示多个升级发送器模块中的另一升级发送器模块将升级命令发送给多个升级处置器中的另一升级处置器,该另一升级发送器模块具有高于升级发送器模块的升级严重性的升级严重性。
示例8:根据前述示例中任一项所述的集成电路,其中:响应于接收到来自警报处置器的升级命令,多个升级处置器中的至少一个升级处置器被配置为实施至少一个安全对策;以及至少一个安全对策包括:擦除所存储的数据;将多个外围设备中的可疑外围设备与至少一个互连断开连接;使包括多个外围设备中的可疑外围设备的电源域崩溃;重置集成电路的至少一部分;或将集成电路的至少部分转换为无效的生命周期状态。
示例9:根据前述示例中任一项所述的集成电路,其中,警报处置器进一步包括:耦合到多个警报接收器模块和控制器的ping监测器,该ping监测器被配置为:指示多个警报接收器模块将一个或多个ping请求传输给多个外围设备;并且将警报ping故障通知给控制器。
示例10:根据前述示例中任一项所述的集成电路,其中,ping监测器被配置为指示多个警报接收器模块基于随机化时间持续时间将一个或多个ping请求传输给多个外围设备。
示例11:根据前述示例中任一项所述的集成电路,其中:警报处置器进一步包括至少一个累积单元,该累积单元被耦合到控制器和多个升级计时器中的至少一个升级计时器;至少一个累积单元被配置为累积计数,该计数指示从多个外围设备中的外围设备接收到的警报的数量;以及控制器被配置为基于计数和响应于外围设备升级警报。
示例12:根据前述示例中任一项所述的集成电路,其中:多个外围设备中的每个外围设备包括多个警报发送器模块中的至少一个警报发送器模块;集成电路进一步包括多个信令通路,每个相应信令通路被耦合在多个警报接收器模块中的相应警报接收器模块与多个警报发送器模块中的对应警报发送器模块之间;以及多个信令通路中的每个信令通路包括至少一个差分路径。
示例13:根据前述示例中任一项所述的集成电路,其中:警报处置器进一步包括完整性故障电路系统,该完整性故障电路系统被耦合到控制器和多个警报接收器模块;以及完整性故障电路系统被配置为响应于检测到多个信令通路中的信令通路的差分路径的完整性故障生成警报完整性故障信号。
示例14:根据前述示例中任一项所述的集成电路,其中,集成电路包括以下至少一项:片上系统(SoC)或信任根(RoT)芯片。
示例15:一种警报处置方法,该方法包括:用多个警报接收器模块监测多个外围设备;基于多个外围设备中的外围设备接收来自多个警报接收器模块中的警报接收器模块的触发警报;基于警报接收器模块或触发警报中的至少一项将触发警报分类为多个警报分类中的警报分类;以及基于警报分类启动多个升级计时器中的升级计时器,每个对应的升级计时器都与多个升级严重性中的对应升级严重性对应。
示例16:根据示例15所述的方法,进一步包括:至少部分地基于外围设备的身份适应警报处置路径,该警报处置路径前进通过多个升级计时器的至少一部分和至少一个升级发送器模块。
示例17:根据示例15或16所述的方法,进一步包括:将来自警报接收器模块的ping请求传输给外围设备的警报发送器模块;以及响应于不能接收到来自警报发送器模块的ping请求,触发警报ping故障信号,该信号启动多个升级计时器中的另一升级计时器。
示例18:根据示例15至17中任一项所述的方法,进一步包括:累积从警报接收器模块接收到的触发警报数量,警报接收器模块被耦合到外围设备;将触发警报数量与警报数量阈值进行比较;以及基于该比较,指示升级发送器模块将升级命令传输给多个升级处置器中的升级处置器。
示例19:一种集成电路,该集成电路包括:多个升级处置器,每个升级处置器被配置为实施至少一个安全对策;以及警报处置器、该警报处置器包括:多个升级发送器模块,每个升级发送器模块被耦合到多个升级处置器中的升级处置器;多个升级计时器,每个相应升级计时器都与多个升级严重性中的相应升级严重性对应,每个升级计时器被耦合到多个升级发送器模块中的至少一个升级发送器模块;以及控制器,该控制器被耦合到多个升级计时器,该控制器被配置为响应于触发警报启动多个升级计时器中的升级计时器,警报处置器响应于启动的升级计时器到期和基于触发警报而被配置为选择性地:启动多个升级计时器中的另一升级计时器;或将来自多个升级发送器模块中的升级发送器模块的升级指令传输给多个升级处置器中的升级处置器。
示例20:根据示例19所述的集成电路,其中:警报处置器包括耦合到控制器的至少一个寄存器;以及启动其他升级计时器或传输升级命令之间的选择可由软件使用至少一个寄存器来编程。
除非上下文另有规定,否则在本文中使用单词“或”可以被视为使用“包含或”或允许包含或应用由单词“或”连接的一个或多个项的术语(例如,短语“A或B”可以被解释为只允许“A”、只允许“B”或允许“A”和“B”)。同样,如本文中所使用的,涉及一系列项“中的至少一个”的短语是指这些项的任意组合,包括单个成员。例如,“a、b或c中的至少一个”可以涵盖a、b、c、a-b、a-c、b-c和a-b-c以及具有同一元件的倍数的任意组合(例如,a-a、a-a-a、a-a-b、a-a-c、a-b-b、a-c-c、b-b、b-b-b、b-b-c、c-c和c-c-c或a、b和c的任何其他排序)。进一步地,附图中所示的项和本文中所讨论的术语可以指示一个或多个项或术语,因此在该书面描述中,项和术语的单数或复数形式可以互换引用。虽然已经用特定于某些特征和/或方法的语言描述了用于警报处理的实施方式,但是所附权利要求的主题不一定受限于所描述的特定特征或方法。确切地说,特定特征和方法是作为用于警报处理的示例实施方式被公开的。
Claims (15)
1.一种集成电路,包括:
多个外围设备(250);以及
警报处置器(110),包括:
多个警报接收器模块(312),每个警报接收器模块被耦合到所述多个外围设备中的外围设备;
多个升级计时器(308),每个相应升级计时器与多个升级严重性中的相应升级严重性对应;以及
控制器(310),所述控制器(310)耦合到所述多个警报接收器模块和所述多个升级计时器,所述控制器被配置为:
基于以下中的至少一个来将从所述多个警报接收器模块中的警报接收器模块接收到的触发警报(362)分类为多个警报分类中的警报分类:所述警报接收器模块或所述触发警报;以及
基于所述警报分类启动所述多个升级计时器中的升级计时器。
2.根据权利要求1所述的集成电路,进一步包括:
互连;以及
处理器,所述处理器经由所述互连被耦合到所述警报处置器,
其中,所述警报处置器的所述控制器被配置为:
基于所述触发警报生成中断;
向所述处理器发出所述中断;
等待所述升级计时器到期;以及
响应于不能从所述处理器接收到对所述中断的响应,将所述触发警报升级为超过所述升级计时器。
3.根据权利要求2所述的集成电路,其中,所述警报处置器的所述控制器被配置为通过以下中的至少一项将所述触发警报升级为超过所述升级计时器:
向所述处理器发出另一中断,所述另一中断与比所述中断的中断级别高的中断级别对应;
启动所述多个升级计时器中的另一升级计时器,所述另一升级计时器与所述多种升级严重性中比所述升级计时器的升级严重性高的升级严重性对应;或者
指示升级发送器模块将升级命令发送给升级处置器。
4.根据前述权利要求中任一项所述的集成电路,其中,响应于所述升级计时器到期,所述警报处置器被配置为通过以下中的至少一项选择性地升级所述触发警报:
沿升级严重性增加的层级步进到所述多个升级计时器中的下一升级计时器;或者
沿所述升级严重性增加的所述层级跳过所述下一升级计时器,到达所述多个升级计时器中的另一升级计时器。
5.根据前述权利要求中任一项所述的集成电路,进一步包括:
多个升级处置器,每个升级处置器被配置为实施至少一个安全对策,其中:
所述警报处置器包括多个升级发送器模块,每个升级发送器模块被耦合到所述多个升级处置器中的升级处置器;以及
所述多个升级计时器被耦合到所述多个升级发送器模块。
6.根据权利要求5所述的集成电路,其中:
所述警报处置器包括以下中的至少一个:开关矩阵或多路复用器集合;以及
所述多个升级计时器的至少一部分经由所述开关矩阵或所述多路复用器集合被选择性地耦合到所述多个升级发送器模块中的多个。
7.根据权利要求5或6所述的集成电路,其中,响应于所述升级计时器到期,所述警报处置器被配置为通过以下中的至少一项选择性地升级所述触发警报:
指示所述多个升级发送器模块中的升级发送器模块将升级命令传输给所述多个升级处置器中的升级处置器,所述升级发送器模块具有与所述升级计时器的升级严重性对应的升级严重性;或者
指示所述多个升级发送器模块中的另一升级发送器模块将升级命令发送给所述多个升级处置器中的另一升级处置器,所述另一升级发送器模块具有高于所述升级发送器模块的升级严重性的升级严重性。
8.根据权利要求5至7中任一项所述的集成电路,其中:
响应于接收到来自所述警报处置器的升级命令,所述多个升级处置器中的至少一个升级处置器被配置为实施所述至少一个安全对策;以及
所述至少一个安全对策包括:
擦除所存储的数据;
将所述多个外围设备中的可疑外围设备与至少一个互连断开连接;
使包括所述多个外围设备中的所述可疑外围设备的电源域崩溃;
重置所述集成电路的至少一部分;或者
将所述集成电路的至少部分转换为无效生命周期状态。
9.根据前述权利要求中任一项所述的集成电路,其中,所述警报处置器进一步包括:
耦合到所述多个警报接收器模块和所述控制器的ping监测器,所述ping监测器被配置为:
指示所述多个警报接收器模块将一个或多个ping请求传输给所述多个外围设备;以及
将警报ping故障通知给所述控制器。
10.根据权利要求9所述的集成电路,其中,所述ping监测器被配置为指示所述多个警报接收器模块基于随机化时间持续时间将所述一个或多个ping请求传输给所述多个外围设备。
11.根据前述权利要求中任一项所述的集成电路,其中:
所述警报处置器进一步包括至少一个累积单元,所述累积单元被耦合到所述控制器和所述多个升级计时器中的至少一个升级计时器;
所述至少一个累积单元被配置为累积计数,所述计数指示从所述多个外围设备中的外围设备接收到的警报数量;以及
所述控制器被配置为基于所述计数和响应于所述外围设备来升级所述警报。
12.根据前述权利要求中任一项所述的集成电路,其中:
所述多个外围设备中的每个外围设备包括多个警报发送器模块中的至少一个警报发送器模块;
所述集成电路进一步包括多个信令通路,每个相应信令通路被耦合在所述多个警报接收器模块中的相应警报接收器模块和所述多个警报发送器模块中的相应警报发送器模块之间;以及
所述多个信令通路中的每个信令通路包括至少一个差分路径。
13.根据权利要求12所述的集成电路,其中:
所述警报处置器进一步包括完整性故障电路系统,所述完整性故障电路系统被耦合到所述控制器和所述多个警报接收器模块;以及
所述完整性故障电路系统被配置为响应于检测到所述多个信令通路中的信令通路的差分路径的完整性故障来生成警报完整性故障信号。
14.根据前述权利要求中任一项所述的集成电路,其中,所述集成电路包括以下中的至少一项:
片上系统(SoC);或者
信任根(RoT)芯片。
15.一种警报处置方法,所述方法包括:
用多个警报接收器模块监测(802)多个外围设备;
基于所述多个外围设备中的外围设备接收(804)来自所述多个警报接收器模块中的警报接收器模块的触发警报;
基于所述警报接收器模块或所述触发警报中的至少一个将所述触发警报分类(806)为多个警报分类中的警报分类;以及
基于所述警报分类启动(808)多个升级计时器中的升级计时器,每个相应升级计时器与多个升级严重性中的相应升级严重性对应。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962929514P | 2019-11-01 | 2019-11-01 | |
US62/929,514 | 2019-11-01 | ||
PCT/US2020/058444 WO2021087417A1 (en) | 2019-11-01 | 2020-10-31 | Alert handling |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113557516A true CN113557516A (zh) | 2021-10-26 |
Family
ID=73544397
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080020060.3A Pending CN113557515A (zh) | 2019-11-01 | 2020-10-31 | 外围设备与安全电路系统的兼容性 |
CN202080020058.6A Pending CN113557516A (zh) | 2019-11-01 | 2020-10-31 | 警报处置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080020060.3A Pending CN113557515A (zh) | 2019-11-01 | 2020-10-31 | 外围设备与安全电路系统的兼容性 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11972033B2 (zh) |
EP (2) | EP3915037A1 (zh) |
CN (2) | CN113557515A (zh) |
WO (2) | WO2021087417A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11972033B2 (en) * | 2019-11-01 | 2024-04-30 | Google Llc | Alert handling |
US20230124622A1 (en) * | 2021-10-14 | 2023-04-20 | Arm Limited | Alarm Systems and Circuits |
WO2023140703A1 (en) * | 2022-01-20 | 2023-07-27 | Samsung Electronics Co., Ltd. | Method and electronic device for communication on single wire interface |
CN117950472A (zh) * | 2022-10-21 | 2024-04-30 | 荣耀终端有限公司 | 复位方法和电子设备 |
CN117407922B (zh) * | 2023-12-11 | 2024-03-22 | 成都信息工程大学 | 一种基于量子噪声的联邦学习隐私保护系统及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170126472A1 (en) * | 2015-11-02 | 2017-05-04 | Servicenow, Inc. | System and Method for Processing Alerts Indicative of Conditions of a Computing Infrastructure |
US20180034793A1 (en) * | 2016-08-01 | 2018-02-01 | The Aerospace Corporation | High assurance configuration security processor (hacsp) for computing devices |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2151292C (en) * | 1994-06-10 | 2007-03-20 | Steven P. Weir | Integrated network switch with variable functions |
US5867717A (en) * | 1994-12-22 | 1999-02-02 | Texas Instruments Incorporated | Dynamic system clocking and address decode circuits, methods and systems |
US5737748A (en) * | 1995-03-15 | 1998-04-07 | Texas Instruments Incorporated | Microprocessor unit having a first level write-through cache memory and a smaller second-level write-back cache memory |
US6070214A (en) * | 1998-08-06 | 2000-05-30 | Mobility Electronics, Inc. | Serially linked bus bridge for expanding access over a first bus to a second bus |
US6286066B1 (en) | 1998-12-15 | 2001-09-04 | Dell U.S.A., L.P. | Hot-plug interface for detecting adapter card insertion and removal |
US20030115503A1 (en) | 2001-12-14 | 2003-06-19 | Koninklijke Philips Electronics N.V. | System for enhancing fault tolerance and security of a computing system |
CN1331017C (zh) * | 2005-03-23 | 2007-08-08 | 联想(北京)有限公司 | 安全芯片 |
US7457974B2 (en) * | 2005-09-08 | 2008-11-25 | International Business Machines Corporation | Dynamically changing PCI clocks |
FR2906623B1 (fr) * | 2006-10-02 | 2009-01-16 | Sagem Monetel Soc Par Actions | Dispositif de protection pour carte electronique |
US7856498B2 (en) | 2008-06-26 | 2010-12-21 | Sybase, Inc. | Collaborative alert management and monitoring |
US8478812B2 (en) * | 2009-09-29 | 2013-07-02 | Core Wireless S.A.R.L. | Method and apparatus for providing device compatibility information |
US8621644B2 (en) * | 2011-12-29 | 2013-12-31 | Elwha Llc | System and method for protecting data stored on a removable data storage device |
US20140229644A1 (en) * | 2013-02-12 | 2014-08-14 | Haran Thanigasalam | Method, apparatus, system for including interrupt functionality in sensor interconnects |
WO2016043962A1 (en) | 2014-09-17 | 2016-03-24 | Cryptography Research, Inc. | Managing privileges of different entities for an integrated circuit |
US10937289B2 (en) * | 2014-09-18 | 2021-03-02 | Indyme Solutions, Llc | Merchandise activity sensor system and methods of using same |
US10083306B2 (en) * | 2015-06-26 | 2018-09-25 | Intel Corporation | Establishing hardware roots of trust for internet-of-things devices |
CN107181725A (zh) | 2016-03-11 | 2017-09-19 | 比亚迪股份有限公司 | 车辆安全通信方法、装置、车辆多媒体系统及车辆 |
BR112018073991A2 (pt) | 2016-08-09 | 2019-02-26 | Huawei Technologies Co., Ltd. | sistema em chip e dispositivo de processamento |
US11087610B2 (en) * | 2016-10-04 | 2021-08-10 | Avigilon Corporation | Presence detection and uses thereof |
US9946899B1 (en) * | 2016-10-14 | 2018-04-17 | Google Llc | Active ASIC intrusion shield |
US20180173665A1 (en) * | 2016-12-16 | 2018-06-21 | Qualcomm Incorporated | Hard reset over i3c bus |
WO2018174990A1 (en) * | 2017-03-21 | 2018-09-27 | Mcafee, Llc | Automatic detection of software that performs unauthorized privilege escalation |
US10747908B2 (en) * | 2017-06-02 | 2020-08-18 | Apple Inc. | Secure circuit control to disable circuitry |
US10521600B2 (en) | 2017-12-13 | 2019-12-31 | University Of Florida Research Foundation, Inc. | Reconfigurable system-on-chip security architecture |
US11606373B2 (en) * | 2018-02-20 | 2023-03-14 | Darktrace Holdings Limited | Cyber threat defense system protecting email networks with machine learning models |
US11288405B2 (en) | 2018-10-25 | 2022-03-29 | Hewlett-Packard Development Company, L.P. | Integrated circuit(s) with anti-glitch canary circuit(s) |
US11475169B2 (en) * | 2019-03-04 | 2022-10-18 | Hewlett Packard Enterprise Development Lp | Security and anomaly detection for Internet-of-Things devices |
US11513698B2 (en) * | 2019-04-01 | 2022-11-29 | Raytheon Company | Root of trust assisted access control of secure encrypted drives |
US11166041B2 (en) * | 2019-06-28 | 2021-11-02 | Intel Corporation | Hybrid pixel-domain and compressed-domain video analytics framework |
US11580057B2 (en) * | 2019-10-28 | 2023-02-14 | Xilinx, Inc. | Subsystem for configuration, security, and management of an adaptive system |
US11972033B2 (en) | 2019-11-01 | 2024-04-30 | Google Llc | Alert handling |
TWI743692B (zh) * | 2020-02-27 | 2021-10-21 | 威鋒電子股份有限公司 | 硬體木馬抑制裝置及其操作方法 |
-
2020
- 2020-10-31 US US17/633,530 patent/US11972033B2/en active Active
- 2020-10-31 EP EP20811918.0A patent/EP3915037A1/en active Pending
- 2020-10-31 CN CN202080020060.3A patent/CN113557515A/zh active Pending
- 2020-10-31 WO PCT/US2020/058444 patent/WO2021087417A1/en unknown
- 2020-10-31 CN CN202080020058.6A patent/CN113557516A/zh active Pending
- 2020-10-31 US US17/633,541 patent/US20220292226A1/en active Pending
- 2020-10-31 EP EP20812180.6A patent/EP3915034A1/en active Pending
- 2020-10-31 WO PCT/US2020/058445 patent/WO2021087418A1/en unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170126472A1 (en) * | 2015-11-02 | 2017-05-04 | Servicenow, Inc. | System and Method for Processing Alerts Indicative of Conditions of a Computing Infrastructure |
US20180034793A1 (en) * | 2016-08-01 | 2018-02-01 | The Aerospace Corporation | High assurance configuration security processor (hacsp) for computing devices |
Also Published As
Publication number | Publication date |
---|---|
CN113557515A (zh) | 2021-10-26 |
WO2021087418A9 (en) | 2021-09-10 |
US20220292228A1 (en) | 2022-09-15 |
WO2021087418A1 (en) | 2021-05-06 |
US20220292226A1 (en) | 2022-09-15 |
US11972033B2 (en) | 2024-04-30 |
WO2021087417A1 (en) | 2021-05-06 |
EP3915034A1 (en) | 2021-12-01 |
EP3915037A1 (en) | 2021-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Qiu et al. | Voltjockey: Breaching trustzone by software-controlled voltage manipulation over multi-core frequencies | |
US11972033B2 (en) | Alert handling | |
TWI395138B (zh) | 提供安全執行環境之裝置、微處理器裝置、以及在安全執行環境中執行安全編碼之方法 | |
TWI405123B (zh) | 提供安全執行環境之裝置、微處理器裝置、以及在安全執行環境中執行安全編碼之方法 | |
CN107533607B (zh) | 通过信号延迟监测来进行攻击检测 | |
Nisarga et al. | System-level tamper protection using MSP MCUs | |
TWI821971B (zh) | 安全加密協同處理器 | |
US20230177154A1 (en) | Sparse Encodings for Control Signals | |
TWI807766B (zh) | 安全之全晶片通信 | |
TW202240406A (zh) | 唯讀記憶體(rom)安全性 | |
US20220391540A1 (en) | Register File Protection | |
TW202240591A (zh) | 唯讀記憶體(rom)安全性 | |
WO2023115022A2 (en) | Efficient and secure data handling using domain-oriented masking | |
WO2023158500A1 (en) | Secure pseudo-random number generator (prng) reseeding |
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 |