CN117807639A - 检测和响应环境条件引起的对半导体封装件的安全攻击 - Google Patents
检测和响应环境条件引起的对半导体封装件的安全攻击 Download PDFInfo
- Publication number
- CN117807639A CN117807639A CN202310838718.7A CN202310838718A CN117807639A CN 117807639 A CN117807639 A CN 117807639A CN 202310838718 A CN202310838718 A CN 202310838718A CN 117807639 A CN117807639 A CN 117807639A
- Authority
- CN
- China
- Prior art keywords
- reset
- secure
- canary
- response
- logic gates
- 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
- 239000004065 semiconductor Substances 0.000 title claims abstract description 114
- 230000007613 environmental effect Effects 0.000 title claims abstract description 66
- 241000287219 Serinus canaria Species 0.000 claims abstract description 142
- 230000004044 response Effects 0.000 claims abstract description 87
- 238000000034 method Methods 0.000 claims abstract description 32
- 238000012545 processing Methods 0.000 claims description 92
- 230000009471 action Effects 0.000 claims description 19
- 239000013598 vector Substances 0.000 claims description 14
- 230000009466 transformation Effects 0.000 claims description 7
- 230000008859 change Effects 0.000 claims description 6
- 230000000694 effects Effects 0.000 description 63
- 238000001514 detection method Methods 0.000 description 34
- 230000015654 memory Effects 0.000 description 27
- 230000006870 function Effects 0.000 description 24
- 230000008569 process Effects 0.000 description 15
- 230000008901 benefit Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 238000012544 monitoring process Methods 0.000 description 9
- 238000004519 manufacturing process Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000002093 peripheral effect Effects 0.000 description 6
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 5
- 229910052710 silicon Inorganic materials 0.000 description 5
- 239000010703 silicon Substances 0.000 description 5
- 230000002123 temporal effect Effects 0.000 description 5
- 238000012795 verification Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 238000001914 filtration Methods 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 230000035945 sensitivity Effects 0.000 description 4
- 230000001276 controlling effect Effects 0.000 description 3
- 239000004744 fabric Substances 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000001351 cycling effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010348 incorporation Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000001105 regulatory effect Effects 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 238000007789 sealing Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000001154 acute effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000005672 electromagnetic field Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
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/72—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 cryptographic circuits
-
- 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/24—Resetting means
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Storage Device Security (AREA)
Abstract
本公开涉及检测和响应环境条件引起的对半导体封装件的安全攻击。一种方法包括由半导体封装件的金丝雀电路生成输出值。所述半导体封装件包括用于电子***的硬件信任根引擎。所述方法包括由所述金丝雀电路将所述输出值与预期值进行比较。所述方法包括响应于比较的结果由所述半导体封装件调节所述电子***对复位请求的响应。
Description
技术领域
本公开涉及计算机领域,尤其涉及检测和响应环境条件引起的对半导体封装件的安全攻击。具体而言,本公开涉及一种检测和响应环境条件引起的对半导体封装件的安全攻击的方法、基板管理控制器和计算机平台。
背景技术
计算机平台可能会受到以试图访问存储在计算机平台上的信息或损害计算机平台的部件等为目的的安全攻击。为了防止安全攻击或至少抑制安全攻击造成的潜在危害的程度,计算机平台可以具有不同级别的安全保护。例如,计算机平台可以具有各种机制来限制访问,如防火墙、密码和密钥。作为另一示例,计算机平台可以具有安全处理器。安全处理器可以提供许多安全相关功能,以加固计算机平台抵御安全攻击。作为示例,安全相关功能可以是平台秘密的安全存储。作为另一示例,安全相关功能可以是固件的验证。作为另一示例,安全相关功能可以是保护固件更新。作为其他示例,安全相关功能可以包括加密密钥(cryptographic key)生成、密封加密密钥和解封加密密钥。
发明内容
根据本公开的一方面,提供了一种方法,包括:由半导体封装件的金丝雀电路生成输出值,其中,半导体封装件包括用于电子***的硬件信任根引擎;由金丝雀电路将输出值与预期值进行比较;以及响应于比较的结果,由半导体封装件调节电子***对复位请求的响应。
根据本公开的另一方面,提供了一种基板管理控制器,包括:管理处理器;以及安全包围区,安全包围区与管理处理器分开,其中,安全包围区具有相关联的加密边界并且包括:安全处理核;信任根引擎,信任根引擎用于验证要由安全处理核执行的机器可读指令,其中,信任根引擎包括第一多个逻辑门;金丝雀电路,金丝雀电路包括与第一多个逻辑门在空间上混合的第二多个逻辑门,其中,金丝雀电路用于生成输出值并将输出值与预期值进行比较以提供篡改指示;以及控制器,控制器用于响应于篡改指示而执行响应动作。
根据本公开的另一方面,提供了一种计算机平台,包括:主处理核;以及安全处理器,安全处理器包括:安全处理核;信任根引擎,其中,信任根引擎包括第一多个逻辑门,以用于验证要由安全处理核执行的第一固件指令部分,第一固件指令部分是信任链的一部分,并且信任链包括要由主处理核执行的第二固件指令部分;以及金丝雀电路,金丝雀电路包括第二多个逻辑门,以用于生成输出值并将输出值与预期值进行比较以提供篡改指示,其中,第二多个逻辑门中的逻辑门与第一多个逻辑门中的逻辑门在空间上混合;以及复位管控器,复位管控器用于响应于篡改指示而调节安全处理器的复位保持时间。
还提供了其他方面。
附图说明
图1是根据示例实施方式的计算机平台的示意图,所述计算机平台具有用于保护计算机平台的安全处理器免受环境条件引起的安全攻击的数字金丝雀(canary)电路和复位管控器(reset governor)。
图2是根据示例实施方式的安全处理器的安全包围区(secure enclave)的示意图。
图3是根据示例实施方式的复位管控器的框图。
图4是描绘根据示例实施方式的由安全处理器执行以调节安全处理器对复位请求的响应的过程的流程图。
图5描绘了根据示例实施方式的安全处理器的硅信任根(silicon root-of-trust)引擎(SRoT)引擎,图示了SRoT引擎中数字金丝雀电路的并入。
图6是根据示例实施方式的信任根引擎逻辑门和金丝雀电路逻辑门的空间混合(spatial commingling)的图示。
图7描绘了根据示例实施方式的安全处理器的处理核,图示了处理核中数字金丝雀电路的并入。
图8是根据示例实施方式的处理核逻辑门和金丝雀电路逻辑门的空间混合的图示。
图9是根据示例实施方式的数字金丝雀电路的框图。
图10是根据示例实施方式的用于检测和响应篡改活动的过程的流程图。
图11是根据示例实施方式的基板管理控制器(BMC)的框图,所述BMC具有用于检测篡改的金丝雀电路和用于响应于检测到的篡改而执行响应动作的控制器。
图12是根据示例实施方式的计算机平台的框图,所述计算机平台具有用于检测篡改的金丝雀电路和用于响应于检测到的篡改而调节复位保持时间的复位管控器。
具体实施方式
计算机平台可以包括安全处理器,所述安全处理器可以为计算机平台执行一个或多个安全相关服务。例如,安全处理器可以验证固件指令作为计算机平台的安全引导的一部分。作为更具体的示例,安全处理器可以包括信任根引擎,所述信任根引擎用于响应于计算机平台的复位或加电而验证与加密信任链相关联的固件指令。作为其他示例,安全处理器可以执行以下各项中的一项或多项:存储测量哈希、加载参考测量哈希、存储加密密钥、取得加密密钥、生成加密密钥、取得加密平台标识、创建证书、存储证书、添加证书、删除证书、密封加密密钥和解封加密密钥。
攻击计算机平台的潜在方法是操纵平台的安全处理器的环境条件,使得环境条件远远超出安全处理器对所述条件的规范范围。在这种情况下,安全处理器的“环境条件”是指安全处理器的操作状态的参数或特性,所述参数或特性具有预期的操作范围并且可能受到安全处理器外部的刺激的影响。作为示例,安全处理器的环境条件可以是提供给安全处理器的电源电压的大小、由安全处理器接收的时钟信号的速率、安全处理器的核心温度、安全处理器的辐射水平或安全处理器所暴露的电磁场的强度。有目的地操纵安全处理器的环境条件,使得所述环境条件在对应的预期范围之外,这在本文中被称为“环境条件引起的”安全攻击。
作为环境条件引起的安全攻击的示例,可以向安全处理器提供在所述安全处理器的指定电源电压范围之外的电源电压。作为另一示例,提供给安全处理器的时钟信号的速率可以大于为所述安全处理器指定的最大时钟频率。作为另一示例,可以操纵安全处理器的环境温度(例如,可以关闭风扇,可以移除散热器,可以向周围环境施加热能,或者可以使用另一机制来提升环境温度),以使安全处理器的核心温度超过为安全处理器指定的最大核心温度。
环境条件引起的对安全处理器的安全攻击的目标是导致安全处理器发生故障,或引发一个或多个小故障,目的是创造机会使攻击者进入安全处理器原本关闭的***。发生故障可能以多种不同的方式表现出来。作为示例,安全处理器发生故障可能导致位状态翻转;程序指令遭到破坏;程序执行行为偏离预期行为;执行不应执行的受保护指令;绕过不应绕过的指令的执行;绕过固件验证;或者通常导致安全处理器的行为异常。换句话说,环境条件引起的安全攻击可以提供攻击路径,所述攻击路径会避开在安全处理器正常工作时原本就绪的安全处理器防护措施。由于环境条件引起的安全攻击的性质是导致安全处理器在其设计规范之外运行,因此故障的(多个)确切根本原因可能是未知的并且可能无法预测。
根据示例实施方式,安全处理器具有一个或多个数字金丝雀电路,以用于检测环境条件引起的对安全处理器的安全攻击。如本文所使用的,“金丝雀电路”是指由于环境条件引起的安全攻击而发生故障的电路,并且在故障发生时提供可观察的指示,使得所述指示也可以用作环境条件引起的安全攻击的指示符。根据一些实施方式,金丝雀电路执行一个或多个加密密码变换,所述加密密码变换基于已知输入产生输出,并且所述输出可以用作指示符。以这种方式,金丝雀电路的输出与预期输出的偏差指示故障,并指示环境条件引起的安全攻击。
金丝雀电路可以具有相对复杂的逻辑(例如,串联耦接的高级加密术标准(AES)密码变换的链),其被设计成在安全处理器的受保护部件(例如,信任根引擎或安全处理核)由于环境条件引起的攻击而发生故障之前、同时或几乎同时发生故障。根据示例实施方式,数字金丝雀电路响应于由其复杂逻辑产生的输出值与预期值不匹配而提供篡改指示。如本文描述的,为了确保数字金丝雀电路经历与要保护的部件类似的环境,金丝雀电路的逻辑门与要保护的部件的逻辑门在空间上混合。如本文进一步描述的,金丝雀电路对环境条件引起的安全攻击的敏锐敏感性使得能够及时采取对篡改的响应动作。
使安全处理器受到环境条件引起的安全攻击,再加上反复使安全处理器复位,可能会提高安全攻击成功的可能性。例如,安全处理器可以是具有安全引导的计算机平台的一部分,所述安全引导用于确保在计算机平台上执行的固件和软件是经过认证的。安全引导涉及计算机平台为由计算机平台执行的机器可读指令(例如,固件和软件)建立加密信任链。信任链可以从初始链路或信任锚开始,所述信任锚是信任链的初始链路或开始。通常,安全引导涉及与信任链的每个链路相对应的每组机器可读指令被认为是可信任的,并且然后被加载和执行,以在允许加载和执行下一组机器可读指令之前验证与下一后继链路相对应的下一组机器可读指令是可信任的。
因为当安全处理器的(多个)部件被从复位释放时,安全处理器可以在为计算机平台建立信任链方面发挥作用,所以安全处理器的每次复位都是安全处理器的诱发故障有利地使攻击者受益的另一个机会。例如,安全处理器可以包含一个或多个部件,所述一个或多个部件建立加密信任链的一个或多个链路,并且一个或多个这样的部件的故障可能存在攻击路径。
作为更具体的示例,安全处理器可以包含信任根引擎,所述信任根引擎在信任根引擎被从复位释放时为计算机平台的信任链建立信任锚。通过使安全处理器在信任根引擎被从复位释放的时间或接近所述时间发生故障,所述故障例如可能导致一组恶意初始固件指令被错误地认证(即,被错误地认为是可信任的)。作为另一示例,由安全处理器的处理核执行的固件可以是可信任的,但是处理核在被从复位释放之后可能错误地认证与信任链的下一个链路相对应的一组恶意固件指令。作为另一示例,初始的一组固件可以是可信任的,但是处理核在被从复位释放之后可能无法正确地执行初始故障和/或安全检查,或者通常可能表现出意想不到的执行行为。
根据本文描述的示例实施方式,半导体封装件具有用于控制或调节***的复位响应的复位管控器。在此,调节***的复位响应可以指调节整个***的复位响应或调节整个***的特定部件或子***的复位响应。作为示例,根据一些实施方式,调节***的复位响应可以包括调节包含复位管控器的半导体封装件的复位响应。作为另一示例,根据示例实施方式,调节***的复位响应可以包括调节包含复位管控器(例如,包含含有复位管控器的半导体封装件)的子***(例如,管理子***)或部件(例如,管理控制器)的复位响应。作为另一示例,根据一些实施方式,调节***的复位响应可以包括调节包含复位管控器(例如,包含包括复位管控器的半导体封装件)的计算机平台的复位响应(例如,对计算机平台进行功率循环)。根据示例实施方式,控制或调节***的“复位响应”是指复位管控器控制或调节部件子***或***在被置于复位后保持复位的时间。换句话说,根据示例实施方式,复位管控器控制或调节“复位保持时间”,即复位开始的时间与复位结束(也称为复位释放)的时间之间的连续时间。尽管本文描述了用于控制或调节包含复位管控器的半导体封装件的复位响应的具体示例,但是应当理解,根据进一步的示例实施方式,调节复位响应可以扩展到根据进一步实施方式的包含复位管控器的半导体封装件之外。
复位管控器对复位保持时间的控制可以用于有效地扼制或限制半导体封装件可以被复位的时间速率。当检测到对半导体封装件的篡改时,可以施加和/或增加这种扼制。
通常,复位管控器控制半导体封装件对“复位请求”的响应。在这种情况下,“复位请求”是指为了使半导体封装件的一个或多个部件复位而提供或生成的指示。作为示例,可以通过断言电复位信号来提供复位请求。半导体封装件内部和半导体封装件外部的许多不同部件都可能导致复位信号的断言。作为示例,半导体封装件外部的功率监测电路可以断言复位信号。作为另一示例,半导体封装件的内部看门狗定时器可以响应于定时器超时而断言复位信号。作为另一示例,内部电路可以响应于控制寄存器中的特定位正在被写入来断言复位信号。
复位信号可以具有用于将半导体封装件置于复位(或请求发起复位)的第一状态(例如,断言状态,如逻辑零状态)和用于将半导体封装件从复位释放的第二状态(例如,去断言状态,如逻辑一状态)。根据示例实施方式,复位管控器接收输入复位信号(例如,被断言以提供复位请求的复位信号),并将输出复位信号提供给半导体封装件的一个或多个部件的(多个)复位端子。复位管控器调节复位保持时间,即复位管控器断言输出复位信号(开始复位)的时间与输出复位信号去断言输出复位信号(释放复位)的时间之间的延迟。
根据示例实施方式,复位管控器可以独立于可以由输入复位信号指示的复位保持时间来调节复位保持时间。换句话说,根据示例实施方式,尽管复位管控器可以响应于输入复位信号的断言而开始复位,但是复位管控器对复位的释放可以与输入复位信号被去断言的时间无关。
根据示例实施方式,复位管控器基于半导体封装件的金丝雀电路中的任何金丝雀电路是否已经检测到篡改活动来调节复位保持时间(即,调节所述半导体封装件的复位响应时间)。例如,根据示例实施方式,复位管控器可以最初施加第一较小复位保持时间(例如,施加与输入复位信号的复位保持时间相称的复位保持时间,或者施加预定义的最小复位保持时间),并且复位管控器可以响应于金丝雀电路指示检测到篡改活动而增加复位保持时间。
根据示例实施方式,复位管控器可以响应于检测到篡改活动而不是由金丝雀电路检测到环境条件引起的安全攻击而调节复位保持时间。在这种情况下,检测到“篡改活动”是指检测到或识别出一个或多个事件的标志,其中,该标志与安全攻击的标志(事件的时间模式、事件的属性、特定的事件序列)一致。
作为除环境条件引起的安全攻击之外的篡改活动的示例,篡改活动可以由于开关传感器指示计算机平台(例如,刀片服务器)已经从外壳(例如,机架)移除或者开关传感器指示计算机平台的机箱盖已被打开而被检测到。作为其他示例,可以响应于检测到电源电压的幅度偏离指定范围、输入时钟速率偏离指定范围或核心温度偏离指定范围而检测到篡改活动。
半导体封装件可以响应于检测到篡改活动而发起和/或执行一个或多个动作,所述动作可以扩展到改变封装件的复位响应之外,以用于对抗、上报和/或减轻检测到的篡改活动。作为示例,可以响应于检测到篡改活动而发起半导体封装件的断电。作为另一示例,半导体封装件可以记录检测到篡改活动。作为另一示例,半导体封装件可以响应于检测到的篡改活动而发送或发起警报的发送(例如,向***管理员发送消息或其他通知)。作为另一示例,半导体封装件可以响应于检测到篡改活动而擦除存储在安全存储器中的秘密。
参考图1,作为更具体的示例,根据一些实施方式,计算机平台100包括半导体封装件153,所述半导体封装件包括一个或多个数字金丝雀电路134(本文称为“金丝雀电路134”)以及复位管控器135。如本文描述的,根据示例实施方式,金丝雀电路134可以被放置在安全处理器130的要被保护以防止环境条件引起的安全攻击的部件附近或与所述部件集成。作为示例,这些部件可以包括安全处理器130的硅信任根SRoT引擎143、安全处理核142和/或任何其他部件。复位管控器135控制或调节安全处理器130的复位响应,并且根据示例实施方式,复位管控器135响应于检测到篡改活动(如由金丝雀电路134检测到篡改活动)而修改复位响应。根据示例实施方式,复位管控器135响应于是否已经检测到对半导体封装件153的篡改活动而调节半导体封装件153的复位保持时间。
半导体封装件153可以是多种不同的半导体封装件中的任一种,如表面安装封装件、通孔封装件、球栅阵列封装件、小外形封装件、芯片级封装件或半导体管芯的任何其他容器。根据一些实施方式,半导体封装件153可以具有单个半导体管芯157,并且根据进一步的示例实施方式,半导体封装件153可以具有多个半导体管芯157。
根据一些实施方式,除了由金丝雀电路134检测篡改活动之外,还可以由半导体封装件的专用篡改检测电路(例如,下面结合图2进行描述的篡改检测电路234)来检测篡改活动。此外,根据一些实施方式,可以由复位管控器135来检测篡改活动。例如,根据示例实施方式,复位管控器135监测半导体封装件153的复位请求的时间模式,以用于确定请求复位的时间速率是否超过预定义阈值(其指示检测到篡改活动)。根据示例实施方式,半导体封装件153可以响应于检测到篡改活动而发起和/或执行一个或多个响应动作,以对抗篡改活动、上报篡改活动和/或减轻由篡改活动造成的影响。
取决于特定的实施方式,复位管控器135和(多个)金丝雀电路134可以是多种不同的半导体封装件中的任一种的一部分。作为一个示例,如图1所描绘的,半导体封装件153可以包含安全处理器130,并且复位管控器135和一个或多个金丝雀电路134可以是安全处理器130的一部分。作为示例,安全处理器130可以在半导体封装件153的一个或多个半导体管芯157上制造。在本文使用的上下文中,“安全处理器”是指电子设备(如计算机平台100)的硬件部件,所述硬件部件为电子设备执行一个或多个安全相关服务。
根据进一步实施方式,半导体封装件可以包含复位管控器135和一个或多个金丝雀电路134;但是半导体封装件可以不包括安全处理器。例如,根据一些实施方式,中央处理单元(CPU)半导体封装件(或“插座”)可以包括复位管控器135、一个或多个金丝雀电路134和一个或多个处理核(例如,CPU核,如本文进一步描述的基板管理控制器(BMC)129的核154),并且CPU半导体封装件可以不包括安全处理器。作为另一示例,根据进一步实施方式,半导体封装件可以包括复位管控器135和一个或多个金丝雀电路134,并且半导体封装件不包括任何处理核或任何安全处理器。
取决于特定的实施方式,安全处理器130可以具有多种不同形式中的任一种。例如,根据一些实施方式,安全处理器130可以对应于独立的安全专用半导体封装件,所述安全专用半导体封装件包含硬件信任根,验证计算机平台的固件图像,并基于该验证的结果控制计算机平台的引导。作为另一示例,根据一些实施方式,安全处理器130可以是可信平台模块(TPM)。作为另一示例,根据一些实施方式,安全处理器130可以是具有多CPU核、CPU半导体封装件(或“插座”)的协处理器。
对于图1所描绘的示例实施方式,安全处理器130是管理控制器(如BMC 129)的一部分。根据一些实施方式,安全处理器130和BMC 129可以在同一半导体管芯157上制造。根据进一步的示例实施方式,安全处理器130和BMC 129可以在相应的半导体管芯157上制造。
在本文所使用的上下文中,“BMC”或“基板管理控制器”是专用服务处理器,其使用传感器来监测服务器或其他硬件的物理状态并通过管理网络与管理***进行通信。基板管理控制器还可以通过以下各项与在操作***级别执行的应用程序进行通信:输入/输出控制器(IOCTL)接口驱动程序、表示性状态转移(REST)应用程序接口(API)、或促进基板管理控制器与应用程序之间的通信的某种***软件代理。基板管理控制器可以对位于包括***存储器的服务器机箱中的硬件设备进行硬件级别访问。基板管理控制器可以能够直接修改硬件设备。基板管理控制器可以独立于其中设置有基板管理控制器的***的操作***进行操作。基板管理控制器可以位于服务器或要监测的其他设备的母板或主电路板上。
基板管理控制器安装在受管服务器/硬件的母板上或以其他方式连接或附接到受管服务器/硬件的事实并不妨碍基板管理控制器被认为与服务器/硬件是“分离”的。如本文所使用的,基板管理控制器具有对计算设备的子***的管理能力,并且与执行计算设备的操作***的处理资源分离。基板管理控制器与在***上执行高级操作***或管理程序的处理器(如中央处理单元)分离。
根据示例实施方式,计算机平台100是包括框架或机箱的模块化单元。此外,该模块化单元可以包括安装在机箱上并且能够执行机器可读指令的硬件。根据一些实施方式,刀片服务器是计算机平台100的示例。根据进一步实施方式,计算机平台100可以具有多种不同的其他形式,如机架式服务器、独立服务器、客户端、台式机、智能电话、可穿戴计算机、网络部件、网关、网络交换机、存储阵列、便携式电子设备、便携式计算机、平板计算机、瘦客户端、膝上型计算机、电视、模块化交换机、消费电子设备、电器、边缘处理***、传感器***、手表、可移除***设备卡、或通常任何其他基于处理器的平台。
根据示例实施方式,计算机平台100可以连接到网络结构161。网络结构161可以与一种或多种类型的通信网络(如(作为示例)光纤信道网络、计算快速链路(CXL)结构、专用管理网络、局域网(LAN)、广域网(WAN)、全球网络(例如,因特网)、无线网络或其任何组合)相关联。
根据示例实施方式,BMC 129可以执行一组固件指令,称为“固件管理堆栈”,以用于执行计算机平台100的主机101的各种管理相关功能。作为示例,BMC 129可以提供如以下这样的管理相关功能:操作***运行时服务;资源检测和初始化;以及预操作***服务。管理相关功能还可以包括远程管理功能。作为示例,远程管理功能可以包括:键盘视频鼠标(KVM)功能;虚拟电力功能(例如,用于远程设置电力状态(如节能状态、通电、复位状态或关机状态)的远程激活的功能);虚拟媒体管理功能;以及主机101的一个或多个其他管理相关功能。
“主机”(或“主机实例”)与操作***113实例(例如,Linux或Windows操作***实例)相关联,并且由计算机平台100的对应资源组提供。对于图1所描绘的示例实施方式,主机101的资源可以包括一个或多个主CPU核102(例如,CPU处理核、包含CPU处理器核的半导体),以及连接到(多个)CPU核102以形成***存储器104的存储器设备。(多个)CPU核102可以耦接到一个或多个输入/输出(I/O)桥106,所述一个或多个输入/输出桥允许(多个)CPU核102与BMC 129之间的通信,以及与各种I/O设备的通信,如存储驱动器122;一个或多个网络接口控制器(NIC)124;一个或多个通用串行总线(USB)设备126;I/O设备;视频控制器;等等。此外,同样如图1所描绘的,计算机平台100可以包括可以通过对应的(多个)单独PCIe总线108耦接到(多个)CPU核102的一个或多个快速***部件互连(PCIe)设备110(例如,PCIe扩展卡)。根据进一步的示例实施方式,(多个)PCIe设备110可以耦接到(多个)I/O桥106,而不是耦接到(多个)CPU核102。根据更进一步的实施方式,(多个)I/O桥106和PCIe接口可以是(多个)CPU核102的一部分。
根据一些实施方式,计算机平台100可以包含多个主机101(例如,每个主机101可以对应于相关联的CPU多核封装件(或“插座”))。BMC 129可以为每个主机101提供管理相关服务和安全相关服务。
通常,形成***存储器104的存储器设备以及本文中描述的其他存储器或存储介质可以由非暂态存储器设备形成,如半导体存储设备、闪速存储器设备、忆阻器、相变存储器设备、上述存储技术中的一种或多种的组合等等。此外,除非本文另有说明,否则存储器设备可以是易失性存储器设备(例如,动态随机存取存储器(DRAM)设备、静态随机存取(SRAM)设备等)或非易失性存储器设备(例如,闪速存储器设备、只读存储器(ROM)设备等)。
根据一些实施方式,一个或多个NIC 124可以是智能输入/输出外设,或“智能I/O外设”,所述智能I/O外设可以为在计算机平台100上执行的一个或多个应用115(或应用实例)提供后端I/O服务。根据一些实施方式,一个或多个PCIe设备110可以是智能I/O***设备。
根据示例实施方式,BMC 129包括一个或多个主管理处理核154(本文称为“主处理核154”),所述一个或多个主管理处理核作为BMC的管理平面的一部分执行机器可读指令以执行主机101的管理功能。这些指令可以对应于BMC 129的固件管理堆栈。(多个)主处理核154执行固件管理堆栈,以允许BMC 129为主机101执行各种管理角色,如监测传感器;监测操作***状态;监测电源状态;记录计算机***事件;提供远程控制台;提供远程控制功能和其他虚拟存在技术;以及其他管理活动。根据示例实施方式,BMC 129可以经由BMC 129的NIC 158与远程管理服务器190通信。
根据进一步实施方式,BMC 129可以经由NIC 124与远程管理服务器190通信。例如,根据一些实施方式,BMC 129可以经由总线通信接口156通过边带总线125(例如,与分布式管理任务组(DMTF)定义的网络控制器边带接口(NC-SI)电接口和协议相对应的总线)与NIC 124通信。如附图标记127处描绘的,NIC 124可以耦接到网络结构161。
除了为(多个)主机101提供管理功能之外,BMC 129可以提供保护(多个)主机101免受安全攻击的安全相关特征。更具体地,根据示例实施方式,BMC的安全平面包括安全包围区140。在这种情况下,“安全包围区”是指BMC 129的子***,进出所述子***的访问受到严格控制。如本文进一步描述的,根据示例实施方式,在其其他特征中,安全包围区140可以包括:复位管控器135;一个或多个金丝雀电路134;安全存储器144;以及安全处理核142。
根据示例实施方式,安全包围区140为(多个)主机101执行加密功能,并且被完全设置在加密边界内。在这种情况下,“加密边界”指连续的边界或周界,所述加密边界包含加密子***的逻辑和物理部件,如形成安全包围区140的BMC部件。
根据示例实施方式,BMC 129的安全包围区140与BMC的管理平面(以及BMC129的在安全包围区140外部的其他非***件)隔离。根据示例实施方式,安全包围区140包括硬件或硅RoT(本文称为“SRoT”),其可以经由SRoT引擎143提供。
更具体地,根据示例实施方式,安全包围区140存储不可变指纹,所述不可变指纹由SRoT引擎143用于在固件170的初始部分被执行之前验证该固件170的初始部分(即,验证初始部分的可信度)。根据示例实施方式,SRoT引擎143将安全处理核142、管理处理核154和主CPU核102保持在复位,直到SRoT引擎143验证固件170的初始部分。响应于通电/复位,SRoT引擎143验证固件170的初始部分,然后将所述固件的初始部分加载到安全包围区140的存储器151中,使得该固件部分现在是可信的。SRoT引擎143然后将安全处理核142从复位释放,以允许安全处理核142引导并执行加载的固件指令。
通过执行固件指令,安全处理核142然后可以对固件170的与BMC管理固件堆栈的一部分相对应的另一部分进行验证,并且在验证之后将固件堆栈的该部分加载到BMC129的存储器155中。管理固件堆栈的所述部分然后可以由BMC的(多个)主处理核154执行(当从复位释放时),这使得(多个)主处理核154加载固件170的附加部分并将加载的部分放入存储器164中。对存储器164的访问可以涉及附加的训练和初始化步骤(例如,由DDR4规范提出的训练和初始化步骤)。这些指令可以从存储器155中的BMC固件管理堆栈的已确认部分执行。根据示例实施方式,安全包围区140可以锁定存储器155,以防止对存储在存储器155中的(多个)已验证的固件部分的修改或篡改。
因此,根据示例实施方式,由BMC的SRoT锚定的加密信任链可以从SRoT扩展到由BMC的主处理核154执行的固件管理堆栈。此外,根据示例实施方式,由(多个)主处理核154执行的固件管理堆栈可以验证主机***固件,如统一可扩展固件接口(UEFI)111固件,从而将信任链扩展到主机***固件。根据示例实施方式,UEFI固件111通过来自固件170的总线结构来提供服务。
根据示例实施方式,BMC 129被构造用于防止BMC 129的给定域或实体加电或退出复位,直到安全包围区140验证了所述域/实体为止。此外,根据示例实施方式,BMC129可以防止BMC 129的部件访问BMC 129的资源和计算机平台100的资源,直到安全包围区140批准/验证了这些资源为止。BMC 129可以执行总线过滤和监测(例如,对串行***接口(SPI)总线、***管理总线(SMB)、内部集成部件(I2C)总线、改进的I2C(I3C)总线等的总线过滤和监测),以防止对总线设备的不希望的访问。例如,BMC129可以对耦接到存储固件170的非易失性存储器168的总线167(例如,SPI总线)执行总线过滤和监测。
根据示例实施方式,复位管控器135可以在与安全包围区140相同的半导体管芯157上制造。如本文描述的,根据示例实施方式,尽管安全处理器130因为安全处理核142和SRoT引擎143被同时置于复位而具有分级复位,但是安全处理核142和SRoT引擎143在不同时间被从复位释放。以这种方式,根据示例实施方式,SRoT引擎143首先被从复位释放(而安全处理核142保持复位),以验证固件170的初始部分。根据示例实施方式,在SRoT引擎验证之后,SRoT引擎143将安全处理核142从复位释放,并且然后将固件170的初始部分加载到存储器151中以用于处理核的执行。根据示例实施方式,复位保持时间(由复位管控器135调节)控制SRoT引擎143保持复位的时间。通过对复位状态施加可控的复位保持时间,复位管控器135可以扼制或限制复位请求,以对安全处理器130可以被复位的速率施加限制。根据示例实施方式,计算机平台100的所有部件(即,BMC 129、安全处理核142和SRoT引擎143)可以同时被置于复位。
根据一些实施方式,复位管控器135基于是否已经检测到篡改活动来调节复位保持时间的持续时间。例如,根据示例实施方式,当篡改检测历史(例如,由(多个)非易失性存储器位表示的历史)指示没有先前的篡改检测时,复位管控器135可以施加第一较小复位保持时间,并且复位管控器135可以响应于检测到篡改活动而增加复位保持时间。根据一些实施方式,对篡改活动的指示可以是安全处理器130的篡改检测电路的传感器检测到环境条件(例如,超过定义电源电压、时钟速率或核心温度的阈值的速率)变化超过环境条件的指定范围的结果。根据示例实施方式,安全处理器130的金丝雀电路134可以检测环境条件引起的安全攻击,并提供对应的篡改检测指示。
根据一些实施方式,复位管控器135可以基于提供给安全处理器130的复位请求的时间模式来检测篡改活动。例如,根据一些实施方式,复位管控器135可以响应于复位请求的速率超过预定义速率阈值(例如,超过定义T时间段内复位请求的最大次数N的阈值的速率)而检测篡改活动。
参考图2,根据示例实施方式,BMC 129可以是完整的片上***(SOC),并且安全包围区140可以被包含在严格控制的加密边界204内。通常,安全包围区140的部件可以使用总线基础设施205进行通信。根据示例实施方式,总线基础设施205可以包括比如数据总线、控制总线、地址总线、***总线、一条或多条总线、一个或多个桥等特征。
易失性存储器151可以是例如静态随机存取存储器(SRAM),并且可以存储表示可信计算基(TCB)测量的数据,比如一个或多个PCR库。安全存储器144可以是例如非易失性RAM(NVRAM)。安全包围区140可以包括寄存器240。取决于特定的实施方式,寄存器240可以是软件寄存器、硬件寄存器、或硬件寄存器和软件寄存器的组合。例如,根据一些实施方式,寄存器240包括如软件PCR等加密安全寄存器。此外,根据示例实施方式,寄存器240可以包括操作寄存器,如为安全包围区140提供控制、状态和配置功能的硬件寄存器。
根据示例实施方式,安全包围区140包括安全桥214,所述安全桥经由安全互连218控制对安全包围区140的访问(即,为安全包围区140建立防火墙)。作为示例,互连218可以包括总线或内部互连结构,如高级微控制器总线架构(AMBA)结构或高级可扩展接口(AXI)结构。作为示例,根据一些实施方式,互连218可以包括用于将一个或多个SPI设备耦接到安全包围区140的SPI总线控制器。安全桥214可以提供附加的上游接口,以允许安全包围区140“联系(reach out)”到互连218。安全包围区140可以使用上游接口来获得其固件,并且通常,验证固件170(图1)。安全桥214可以在互连218上采用过滤和监测来防止对存储器151的未授权访问。根据示例实施方式,BMC 129的管理平面可以经由执行一个或多个安全服务应用编程接口(API)与安全包围区140通信。
同样如图2所描绘的,根据示例实施方式,安全包围区140可以包括篡改检测电路234。根据示例实施方式,篡改检测电路234接收一个或多个环境信号236(例如,表示核心温度、时钟速率、电源电压大小、外壳打开状态、移除状态等的传感器信号),篡改检测电路234可以使用所述一个或多个环境信号来检测篡改。例如,篡改检测电路234可以将由特定环境信号236表示的值(例如,电源电压)与阈值(例如,定义预定义的电源电压范围的电源电压上限阈值或电源电压下限阈值)进行比较,以确定是否检测到篡改活动。作为另一示例,篡改检测电路234可以确定特定环境信号236(例如,表示机箱盖是否已经打开的开关状态)是否具有表示计算机平台100的盖已经打开的状态。
根据示例实施方式,篡改检测电路234可以监测由安全包围区140的金丝雀电路134提供的篡改指示信号237,以用于确定环境条件引起的篡改活动是否已经被金丝雀电路134中的任一个检测到。此外,根据一些实施方式,篡改检测电路234可以经由一条或多条通信线路274从复位管控器135接收对检测到的篡改活动的指示(例如,复位管控器135检测到复位请求的时间速率超过预定义速率阈值的指示)。
根据一些实施方式,篡改检测电路234可以监测与实时时钟(RTC)设备280相关联的复位指示器283(例如,存储在非易失性存储器中的位),以用于检测与RTC设备280相关联的篡改活动。根据示例实施方式,复位管控器135可以包括控制器,所述控制器被耦接到篡改检测电路234,并且复位指示器283被耦接到复位管控器135内部的控制器。以这种方式,如本文进一步描述的,根据示例实施方式,RTC设备280可以由复位管控器135用来测量复位保持时间。RTC设备280可以耦接到备用电池285(例如,“硬币”电池),并且如果备用电池285被移除,则RTC设备280的易失性存储器可以被擦除,从而使RTC设备280复位。
因为发出重复复位的主要方式可以是对安全包围区140(以及可能的BMC和/或计算机平台)进行功率循环,并且因为安全包围区140的逻辑(如复位管控器135)可能是易失性的,所以功率循环可以在其他方面是潜在地避开管控器135的复位保持调节的方式。根据示例实施方式,为了防止这样绕过复位管控器的复位保持调节,可以使用由RTC设备280在***功率循环之间提供的非易失性时间基准。以这种方式,如果到RTC设备280的电池断开,则“电池损失”指示通知复位管控器135将第一次复位保持预定时间段,所述预定时间段可以是由复位管控器135施加的最大保持时间间隔。例如,根据一些实施方式,复位管控器135可以使用RTC设备280的报警定时器,使得当定时器达到复位管控器135写入RTC设备280的寄存器的时间时,RTC设备280生成指示(例如,断言中断信号)。复位管控器135可以使用由RTC设备280提供的指示来触发复位的释放(即,设置复位保持时间的持续时间)。然而,当RTC设备280被复位时,复位保持时间也可以被有效地复位,从而阻止施加更长的复位保持时间,这可能有利于攻击者。
根据示例实施方式,可以检测到备用电池285的移除,并且响应于该检测,可以将复位指示器283的状态设置为表示RTC设备280已经被复位的值。更具体地,根据一些实施方式,备用电池285使RTC设备280具有非易失性。电池移除条件是由易失性“时间正常且有效”指示器的丢失造成的。根据一些实施方式,RTC设备280可以检测其复位,并设置复位指示器283以指示复位。根据进一步实施方式,篡改检测电路234可以控制复位指示器283的设置。应注意,尽管图2描绘了安全包围区140外部的RTC设备280,但根据进一步实施方式,RTC设备280可以是安全包围区140的一部分。根据一些实施方式,RTC设备280可以是安全包围区140的一组定时器254中的一个或BMC 129的一部分。
根据示例实施方式,当篡改检测电路234检测到篡改时,篡改检测电路234可以发起和/或执行一个或多个动作以响应检测到的篡改活动。例如,篡改检测电路234可以经由通信线路290与总线基础设施205通信,以用于发起一个或多个响应动作来对抗篡改活动、上报篡改活动和/或减轻篡改活动的影响。作为另一示例,篡改检测电路234可以经由一条或多条通信线路274与复位管控器135通信,以用于使复位管控器135增加复位保持时间。作为另一示例,篡改检测电路234可以使安全包围区140移除敏感信息(例如,擦除存储在安全存储器144中的某些秘密);断言信号或消息以警告外部部件(例如,主处理核154、操作***113(图1)、远程管理服务器190(图1)、或其他实体)以免篡改活动;使(多个)主处理核154复位;或执行一个或多个其他响应动作来对抗篡改活动、上报篡改活动和/或减轻篡改活动的影响。
根据一些实施方式,复位管控器135可以耦接到复位控制电路282,所述复位控制电路响应于由复位管控器135接收的输入复位信号向计算机平台的一个或多个对应电路产生一个或多个复位信号(以发起对应的复位)。输出282可以耦接到SRoT引擎143的复位端子203,使得复位管控器135可以断言输出复位信号以将SRoT引擎143置于复位,并且去断言输出复位信号以将SRoT引擎143从复位释放。
如图2所描绘的,根据示例实施方式,复位管控器135包括接收输入复位信号的输入207,所述输入复位信号可以指示复位请求201。例如,可以通过断言(例如,驱动到逻辑零级别)输入复位信号来生成特定的复位请求201。根据示例实施方式,复位管控器135可以响应于输入复位信号的断言使复位控制电路282分别在复位线292、294和203上为BMC、安全包围区和SRoT引擎143产生对应的复位信号。在不存在复位管控器135的情况下(即,如果输入复位信号和输出复位信号相同),输入复位信号的去断言(例如,允许输入复位信号返回到逻辑一级别)将SRoT引擎143从复位释放。根据示例实施方式,SRoT引擎143可以提供指示固件(例如,图1的固件170)的成功验证的信号,以允许安全包围区140和潜在的其他部件退出复位。
根据一些实施方式,如果没有检测到篡改活动,则复位管控器135释放复位(例如,释放SRoT引擎143、BMC和/或计算机平台的复位),如通过在输入复位信号被去断言时或者在其后相对短的时间内对输出复位信号进行去断言。然而,根据示例实施方式,如果已经检测到篡改活动,则复位管控器135在将SRoT引擎143从复位释放时施加相对较长的延迟(例如,复位管控器135施加较长的复位保持时间)。
在其其他特征中,根据一些实施方式,如图2所描绘的,安全包围区140可以包括加密处理引擎270,所述加密处理引擎加密写入安全存储器144的数据并解密从安全存储器144读取的数据。取决于特定的实施方式,加密和解密可以使用具有密文窃取的基于高级加密标准-XOR-加密-XOR的调整码本模式(或“AES-XTS”)块密码或另一种块密码。根据进一步实施方式,加密和/或解密可以由安全处理核142执行。
根据示例实施方式,安全包围区140可以包括加密加速器244(如对称加密加速器和非对称加密加速器),所述加密加速器辅助安全处理核142进行如密钥生成、签名验证、加密、解密等操作。此外,加密加速器244可以包括真随机数发生器,以用于提供用于加密操作的可信熵源。
根据示例实施方式,安全包围区140可以包括一次性可编程(OTP)熔丝258,所述熔丝存储表示真正不可变属性的数据。例如,根据一些实施方式,熔丝258可以存储表示主秘密的数据,从所述主秘密可以得到其他私钥和秘密。作为另一示例,根据一些实施方式,熔丝258可以存储硅信任根安全哈希算法2(SHA-2)签名(例如,SRoT引擎143使用的不可变指纹)。作为另一示例,根据一些实施方式,熔丝258可以存储唯一标识符(例如,用于为平台身份证书选定的标识符)。根据进一步的示例实施方式,熔丝258可以存储表示安全启用指纹的数据。本领域的普通技术人员可以理解,安全包围区140可以具有可以存在于基于处理器的架构中的其他部件,如定时器254、中断控制器250(所述中断控制器从定时器254和其他源接收中断触发刺激)等等。
此外,安全包围区140可以包含用于辅助对安全包围区140进行初始开发和调试(在安全包围区140的预生产模式下)的接口,但是在特定的熔丝(例如,某些OTP熔丝258)被烧断时所述接口可能被完全禁用或者功能可能已经发生改变(针对安全包围区140的生产模式)。例如,这些接口可以包括通用异步接收器/发送器(UART)262,所述UART可以用于对安全包围区140进行调试和开发,并且然后针对安全包围区140的生产模式被固定到仅发送配置。作为示例,根据一些实施方式,UART 262可以由OTP熔丝258配置为在安全包围区140的生产模式下从安全包围区140提供单向状态健康信息。作为另一示例,根据进一步实施方式,OTP熔丝258可以针对生产模式禁用UART 262,从而禁用与UART 262的所有通信,以防止跨加密边界204的所有通信。作为可以辅助对安全包围区140进行初始开发和调试、但是可以针对生产模式被修改/禁用的接口的另一示例,安全包围区140可以包括用于安全处理器的联合测试行动组(JTAG)接口(未示出);并且针对安全包围区140的生产模式可以禁用该JTAG接口。
图3描绘了根据示例实施方式的安全包围区140的子***300,所述子***管控安全包围区140对复位请求201的响应。参考图3,根据示例实施方式,子***300包括复位管控器135和RTC设备280。根据示例实施方式,复位管控器135从一个或多个复位请求源350接收复位请求201。给定复位请求源350可以在安全处理器130的外部或内部(图1)。根据一些实施方式,复位请求源350可以对应于计算机平台的电源循环。
作为示例,复位请求源350可以是功率监测电路。作为另一示例,根据一些实施方式,复位请求源350可以是响应于安全处理核142(图2)写入控制寄存器的复位位而生成复位请求201的电路。作为另一示例,根据一些实施方式,复位请求源350可以是看门狗定时器。复位请求源350可能潜在地与恶意实体有关联,以用于生成复位请求201作为安全攻击的一部分。复位请求源350可以是安全处理器130(图1)、BMC 129(图1)或计算机平台100(图1)的电路,但可能被恶意实体操纵,以用于生成复位请求201作为安全攻击的一部分。
如图3所描绘的,根据一些实施方式,复位管控器135包括复位释放延迟电路310和控制器304。根据示例实施方式,复位释放延迟电路310通过(在输入207处接收的)输入复位信号的断言传递到(在输出282处提供的)输出复位信号。换句话说,根据示例实施方式,复位释放延迟电路310在输入复位信号被断言之后在断言输出复位信号时施加小到没有的延迟。根据示例实施方式,与断言相关联的输入复位信号的边缘(例如,正向边缘)触发复位管控器135测量复位保持时间,即,测量在复位管控器135去断言输出复位信号以释放复位之前经过的时间。
更具体地,根据一些实施方式,响应于输入复位信号的断言,控制器304将表示时间值的数据写入RTC设备280的报警定时器寄存器360。时间值表示从当前RTC时间偏移复位保持时间的未来RTC时间。以这种方式,RTC设备280测量复位保持时间,并生成表示复位保持时间已经过去的指示(例如,断言中断信号)。根据示例实施方式,复位释放延迟电路310等待RTC设备280生成表示复位保持时间的测量结果的指示。响应于RTC设备280生成指示,复位释放延迟电路310在输出282上断言输出复位信号以释放复位。
根据示例实施方式,控制器304可以基于是否已经检测到篡改活动来调节复位保持时间(并因此相应地将适当的值写入报警时间寄存器)。例如,当没有检测到篡改活动时,控制器304可以将数据写入RTC设备280的报警寄存器,这表示与最小复位保持时间相对应的时间偏移。当已经检测到篡改活动时,控制器304可以将数据写入RTC设备280的报警寄存器,这表示从当前时间偏移的预定义的更长的复位保持时间。
根据一些实施方式,控制器304可以基于检测到的篡改的类型来调节复位保持时间。例如,控制器304可以响应于环境条件引起的安全攻击而施加比针对其他类型的篡改活动施加的复位保持时间更长的复位保持时间。此外,根据一些实施方式,控制器304可以向上调整某种(某些)类型的篡改(例如,环境条件引起的安全攻击)的复位保持时间,但不调整其他(多种)类型的篡改(例如,检测到盖打开)的复位保持时间。
根据一些实施方式,控制器304可以施加多于两种复位保持时间。此外,控制器304可以基于篡改活动检测历史来调节复位保持时间。例如,控制器304可以响应于对篡改活动的初始检测而施加第一复位保持时间,并且控制器可以响应于对篡改活动的后续检测而施加大于第一复位保持时间的第二复位保持时间。
根据一些实施方式,从复位管控器135的角度来看,控制器304可以使篡改历史复位。例如,控制器304可以将复位管控器135的篡改活动检测历史存储在非易失性存储器中,基于该历史来调节复位保持时间,并且在经过预定时间而没有检测到任何篡改活动(与复位管控器135相关)之后,清除篡改活动检测历史。根据进一步实施方式,控制器304清除篡改活动检测历史,而不管自上次检测到篡改以来经过了多长时间。
根据示例实施方式,控制器304可以由一个或多个硬件处理核形成,所述一个或多个硬件处理核执行机器可执行指令,以用于执行复位管控器135的功能,如本文描述。根据进一步实施方式,复位管控器135的全部或部分可以由专用硬件(例如,逻辑门)执行,所述专用硬件执行复位管控器135的一个或多个功能,而不执行机器可执行指令。以这种方式,取决于特定的实施方式,该硬件可以是专用集成电路(ASIC)、现场可编程门阵列(FPGA)、复杂可编程逻辑设备(CPLD)等等。
根据一些实施方式,复位释放延迟电路310可以是逻辑,如组合逻辑门和触发器。根据进一步实施方式,复位释放延迟电路310的操作可以不依赖于RTC设备。例如,根据一些实施方式,复位释放延迟电路310可以使用串联耦接的延迟元件的链来测量复位保持时间,并且控制器304可以控制所述链的延迟元件的数量以调节复位保持时间。作为另一示例,根据进一步实施方式,复位释放延迟元件可以包括定时器电路或其他延迟元件以测量复位保持时间。
图4描绘了根据示例实施方式的可以由安全处理器130(图1)执行以控制安全处理器的复位响应的示例过程400。过程400可以涉及采取行动的安全处理器130的多个部件,如复位管控器135(图2和图3)、篡改检测电路234(图2)、(多个)金丝雀电路134(图2)和RTC设备280(图2),如本文描述。
参考图4,根据示例实施方式,过程400从加电开始,并且包括确定(根据决策框408)篡改检测电路是否检测到新的篡改活动,如果检测到,则对篡改活动执行一个或多个响应动作(如412处所描绘)。更具体地,根据示例实施方式,执行响应动作412可以包括根据框416增加复位保持时间,以及根据框420记录篡改活动检测。此外,同样如图4所描绘的,根据一些实施方式,执行响应动作412可以包括发起(框424)警报通知(例如,通知BMC 129的管理处理核154或通知远程管理服务器190(图1)篡改活动检测)。
过程400进一步包括根据决策框430确定最近复位指示的时间模式是否指示篡改活动。如果是,则根据示例实施方式,控制进行到框412,以用于执行响应动作。否则,根据过程400,如果没有检测到新的篡改活动,则过程400包括确定(决策框438)是否已经满足恢复初始复位保持时间(例如,预定义的最小复位保持时间)的一个或多个预定义标准。作为示例,根据一些实施方式,在经过预定时间段之后,过程400可以包括复位管控器恢复(框439)初始复位保持时间。
根据示例实施方式,一个或多个金丝雀电路可以设置在要保护的安全处理器的相应部件附近。例如,根据一些实施方式,金丝雀电路可以被设置在SRoT引擎附近,并且另一金丝雀电路可以被设置在安全处理器的安全处理核附近。
根据进一步实施方式,要保护的部件的子部件可以与相关联的金丝雀电路的部件在空间上混合。例如,根据一些实施方式,金丝雀电路的部件可以与SRoT引擎的部件在空间上混合。参考图5,作为更具体的示例,根据一些实施方式,SRoT引擎143可以包括SRoT逻辑元件508。在本文所使用的上下文中,“逻辑元件”是指由一组逻辑门形成的电路。如图5所描绘的,逻辑元件508可以包括一个或多个逻辑门520(本文称为“SRoT逻辑门520”)。作为示例,SRoT逻辑门520可以是组合逻辑门,如AND门、OR门、NAND门、NOT门、NOR门、XOR门,或者通常是将布尔代数表达式应用于一个或多个布尔输入以根据布尔代数表达式提供布尔输出的设备。作为示例,SRoT逻辑元件508可以是触发器、寄存器、计数器、定时器、延迟电路、比较电路、用于实现状态机的状态的电路,或者通常是执行SRoT引擎143的功能的一组逻辑门。
SRoT引擎143可以进一步包括金丝雀电路的金丝雀逻辑元件512。每个金丝雀逻辑元件512可以包括一个或多个逻辑门516(本文称为“金丝雀逻辑门516”),其可以是组合逻辑门。作为示例,金丝雀逻辑元件512可以是触发器、寄存器、计数器、定时器、延迟电路、比较电路、用于实现状态机的状态的电路、用于执行加密密码的电路(例如,AES密码块),或者通常是执行金丝雀电路的功能的一组逻辑门。
如图5的附图标记514处描绘的,根据示例实施方式,金丝雀逻辑门516可以与SRoT逻辑门520在空间上混合。在这种情况下,逻辑门516和520的“空间混合”是指在半导体管芯的区域中配置逻辑门516和520,使得在所述区域中,逻辑门516和520沿着平行于第一维度轴线的第一路径被混合或混杂,并且逻辑门516和520还沿着平行于与第一维度轴线正交的第二维度轴线的第二路径被混合或混杂。由于金丝雀逻辑门516与SRoT逻辑门520的空间混合,因此金丝雀逻辑门516经历与SRoT门520相同的所有或多个环境条件。因此,由金丝雀逻辑门516形成的金丝雀电路可以准确地感测SRoT引擎143的环境条件,并且快速地提供对影响SRoT引擎143的环境条件引起的安全攻击的指示。
图6描绘了根据示例实施方式的示例半导体管芯区域600。根据一些实施方式,半导体管芯区域600对应于半导体管芯157的区域(图1),SRoT引擎143在所述区域中进行部分或完全制造。应注意,SRoT引擎143可以进一步在半导体管芯157的一个或多个其他区域中制造。
参考图6,半导体管芯区域600沿着分别对应于X轴602和Y轴601的X维度和Y维度在半导体管芯上横向延伸。半导体管芯具有与Z轴603相对应的厚度Z尺寸。Z轴603沿着与从中产生管芯的晶圆的表面法线对准的方向延伸。
对于图6所描绘的特定示例实施方式,空间混合是沿着X维度和Y维度进行的。更具体地,在区域600中,SRoT逻辑门520(例如,SRoT逻辑门520-1、520-2、520-3和520-4)和金丝雀逻辑门516(例如,金丝雀逻辑门516-1、516-3和516-3)沿着平行于Y轴601的第一路径650混合。同样在区域600中,SRoT逻辑门520(例如,SRoT逻辑门520-3、520-5和520-6)和金丝雀逻辑门516(例如,金丝雀逻辑门516-1、516-2、516-4和516-5)沿着平行于X轴602(其垂直于Y轴601)的第二路径654混合。
对于该示例实施方式,金丝雀逻辑门516和SRoT逻辑门520可以通过使用布局设计工具在空间上混合,所述布局设计工具用于放置半导体管芯的晶体管、金属互连和其他特征。例如,布局设计工具的用户输入可以指定金丝雀逻辑门516的第一X-Y窗口的边界,并且进一步指定SRoT逻辑门520的第二X-Y窗口(其至少部分地与第一X-Y窗重叠)的边界。例如,可以为对应于金丝雀电路的小区指定第一X-Y窗口,并且可以为对应于SRoT引擎的小区指定第二X-Y窗口。布局设计工具可以根据放置规则将金丝雀电路和SRoT引擎的晶体管、互连和其他特征放置在与第一和第二X-Y窗口相对应的半导体管芯中,并生成包含描述布局的数据的文件。
作为另一示例,根据一些实施方式,可以向布局设计工具提供用户输入以指定金丝雀逻辑门516和SRoT逻辑门520的具***置,其方式是沿着半导体管芯的一个或多个维度在空间上混合门516和520。作为另一示例,根据一些实施方式,可以向布局设计工具提供用户输入以指定金丝雀逻辑门516和SRoT逻辑门520的晶体管的具***置,其方式是沿着半导体管芯的一个或多个维度在空间上混合晶体管(并因此在空间上混合门516和520)。
根据进一步实施方式,金丝雀逻辑门516和SRoT门520的空间混合可以沿着Z轴603延伸。
作为另一示例,根据一些实施方式,金丝雀电路的部件可以与安全处理核的部件在空间上混合。参考图7,根据一些实施方式,安全处理核142可以包括处理核逻辑元件724,并且如图7所描绘的,逻辑单元724可以包括一个或多个逻辑门740(本文称为“处理核门740”),其可以是组合逻辑门。作为示例,处理核逻辑元件724可以是触发器、寄存器、计数器、定时器、延迟电路、比较电路、用于实现状态机的状态的电路,或者通常是执行安全处理核142的功能的一组逻辑门。根据示例实施方式,给定处理核逻辑元件724可以形成算术逻辑单元、控制单元、缓存、寄存器、执行单元、指令获取单元、存储器管理单元或安全处理单元142的其他部件的全部或部分。
如图7所描绘的,安全处理核142可以进一步包括金丝雀逻辑元件512,并且每个金丝雀逻辑元件512可以包括一个或多个金丝雀逻辑门516。如图7的附图标记714处描绘的,根据示例实施方式,金丝雀逻辑门516可以与处理核逻辑门740在空间上混合。由于金丝雀逻辑门516与处理核逻辑门740的空间混合,因此金丝雀逻辑门516经历与处理核逻辑门740相同的所有或多个环境条件。因此,由金丝雀逻辑门516形成的金丝雀电路可以准确地感测安全处理核142的环境条件,并且快速地提供对影响安全处理核142的环境条件引起的安全攻击的指示。
图8描绘了根据示例实施方式的示例半导体管芯区域800。根据一些实施方式,半导体管芯区域800对应于半导体管芯157的区域(图1),安全处理核142在所述区域中进行部分或完全制造。应注意,安全处理核142可以进一步在半导体管芯157的一个或多个其他区域中制造。
参考图8,半导体管芯区域800沿着分别对应于X轴802和Y轴801的X维度和Y维度在半导体管芯上横向延伸。半导体管芯具有沿着Z轴803延伸的厚度Z尺寸。根据示例实施方式,金丝雀逻辑门516和安全处理核逻辑门740的空间混合可以沿着X维度和Y维度发生。根据一些实施方式,空间混合可以沿着Z维度延伸。可以使用如本文在讨论金丝雀逻辑门和SRoT逻辑门的空间混合时描述的布局设计工具来建立空间混合。
参考图9,根据一些实施方式,金丝雀电路134可以包括加密处理级912的链908。根据示例实施方式,每个级912可以对应于加密密码块或变换的实例。例如,如图9所描绘的,根据一些实施方式,级912可以对应于高级加密术***(AES)密码或变换,并且可以对应于特定的AES迭代。根据示例实施方式,特定级912可以由一组组合逻辑或逻辑锥来实施。通常,根据示例实施方式,逻辑锥被构造为使得金丝雀电路134刚好满足给定时钟周期内的定时(例如,如果发生环境条件引起的安全攻击,则金丝雀电路134不满足时钟周期内的定时)。
根据示例实施方式,金丝雀电路134在时钟信号921的单个周期中(经由对应的级912)执行多个AES变换迭代。更具体地,根据一些实施方式,时钟信号921可以是对安全处理核142(图2)和/或SRoT引擎143(图2)的操作进行计时的相同时钟信号。根据示例实施方式,金丝雀电路134为时钟信号921的每个周期生成输出916。换句话说,根据示例实施方式,在单个时钟周期中,链908接收输入或输入向量904,并(经由相应的级912)执行多个AES变换迭代以产生输出916。
根据示例实施方式,如果金丝雀电路134正确操作并且没有发生故障(例如,由于环境引起的条件而发生故障),则链908产生与预期输出920相对应的输出916。否则,输出916与预期输出920不匹配,并且这种不匹配使金丝雀电路134提供对检测到的篡改活动的指示(例如,指示检测到对环境条件引起的安全攻击)。
如图9所描绘的,根据一些实施方式,金丝雀电路134的控制逻辑940包括比较器924,所述比较器将链908的输出916与预期输出920进行比较。如果这些输出不匹配,则根据示例实施方式,比较器924向金丝雀电路134的输出237提供篡改指示(例如,比较器924断言篡改指示信号,以提醒篡改检测电路234(图2)检测篡改活动)。
由于AES变换的性质,与变换相对应的单个逻辑值改变可能导致变换的输出的多位改变。因此,使用AES变换(特别是使用多个级联AES变换)放大了故障指示符(输出916与预期输出920之间的差),并相应地导致金丝雀电路134对环境条件引起的安全攻击高度敏感。
根据一些实施方式,由于金丝雀电路134的逻辑(例如,AES级912)的复杂性质,输入向量904通过所有变换(例如,AES变换)的传播消耗了时钟周期的很大一部分(例如,80%至90%或更高百分比)。例如,根据示例实施方式,可以调整链908的AES级912的数量,使得链908在单个时钟周期期间几乎不满足定时规范。例如,考虑到制造变化,可以选择预期最慢硅的AES级912的数量,以在时钟周期结束时提供输出916。根据示例实施方式,金丝雀电路134通过设计被有目的地调整为在环境条件引起的安全攻击的情况下是安全处理器130的第一个(如果不是第一个电路的话)发生故障(例如,输出916与预期输出920不匹配)的电路。
根据示例实施方式,控制逻辑940被构造为对时钟信号921的每个周期的输出916进行采样。例如,根据示例实施方式,控制逻辑940可以响应于时钟信号921的特定边缘(例如,正向或上升边缘)向链908提供输入向量904,并且比较器924可以在时钟信号921的特定边缘(例如,上升边缘)上对输出916进行采样。因此,根据一些实施方式,变换在时钟周期开始时开始,并且变换的结果在时钟周期结束时被采样。
为了针对每个时钟周期刷新金丝雀电路134的逻辑门以使得逻辑门将在时钟周期期间转变(而不是保持静态),控制逻辑940在交替的时钟周期上向链908提供不同的输入向量904。以这种方式,如图9所描绘的,根据一些实施方式,控制逻辑940可以选择特定的候选输入向量946作为时钟周期A的输入向量904。候选输入向量946具有对应的预期输出948,控制逻辑940将所述预期输出与时钟周期A结束时的输出916进行比较。对于下一个连续的时钟周期B,控制逻辑940可以选择另一候选输入向量946作为时钟周期B的输入向量904。该其他候选输入向量946具有对应的输出948,控制逻辑940将所述输出与时钟周期B结束时的输出916进行比较。
根据一些实施方式,控制逻辑940可以在针对相应的交替时钟周期向链908提供两个不同的输入向量之间交替。根据进一步实施方式,控制逻辑940可以在多于两个输入向量之间交替。根据进一步实施方式,可以针对每个时钟周期向链908提供相同的输入向量。
参考图10,根据示例实施方式,过程1000包括由半导体封装件的金丝雀电路生成(框1004)输出值。所述半导体封装件包括用于电子***的硬件信任根引擎。根据示例实施方式,半导体封装件可以与管理控制器(如BMC 129(图1))相关联。根据一些实施方式,半导体封装件可以包括安全处理器130(图1和图2),并且电子***可以是计算机平台100(图1)。金丝雀电路可以包括逻辑,如对应于AES加密密码变换的级链,并且级的数量可以被调整以赋予金丝雀电路对环境条件引起的安全攻击的高敏感性。过程1000包括由金丝雀电路将输出值与预期值进行比较(框1008)。根据示例实施方式,可以在每个时钟周期执行所述比较。此外,根据示例实施方式,可以在交替的时钟周期上向金丝雀电路的逻辑提供不同的输入值,以针对每个时钟周期刷新逻辑门。过程1000包括响应于比较的结果由半导体封装件调节(框1012)电子***对复位请求的响应。根据一些实施方式,调节电子***对复位请求的响应包括调节半导体封装件的复位响应。根据一些实施方式,调节电子***对复位请求的响应包括调节电子***的子***(例如,管理子***)的复位响应。根据一些实施方式,调节电子***对复位请求的响应包括调节电子***的部件(例如,电子***的管理控制器或基板管理控制器)的复位响应,所述部件可以包括或可以不包括半导体封装件。
根据示例实施方式,复位请求可以是电信号的状态(例如,对应于逻辑零的状态)。复位请求可以在半导体封装件外部生成,可以在半导体封装件内部生成,可以由电路生成,并且可以响应于机器可读指令的执行而生成。根据示例实施方式,调节半导体封装件对复位请求的响应包括调节复位保持时间。
参考图11,根据示例实施方式,基板管理控制器1100包括管理处理器1104和安全包围区1108。根据一些实施方式,基板管理控制器1100可以为主机提供管理服务和安全服务。根据示例实施方式,管理处理器1104可以是执行管理堆栈固件以为主机提供管理服务的处理核154(图1)。安全包围区1108具有相关联的加密边界,并且包括安全处理核1112;信任根引擎1116;金丝雀电路1118;以及控制器1120。金丝雀电路1118可以包括逻辑,如对应于加密密码变换(例如,AES变换)的级链,并且级的数量可以被调整以赋予金丝雀电路1118对环境条件引起的安全攻击的高敏感性。信任根引擎1116验证要由安全处理核1112执行的机器可读指令。信任根引擎1116包括逻辑门1150,并且金丝雀电路1118包括与逻辑门1150在空间上混合的逻辑门1154。金丝雀电路118生成输出值并将所述输出值与预期值进行比较以提供篡改指示。控制器1120响应于篡改指示而执行响应动作。根据一些实施方式,执行响应动作可以包括调节复位保持时间。
参考图12,根据示例实施方式,计算机平台1200包括主处理核1204和安全处理器1202。根据一些实施方式,主CPU处理核102(图1)和安全包围区140(图1)是主处理核1204和安全处理器1202的示例。安全处理器1202包括安全处理核1208;信任根引擎1216;金丝雀电路1218;以及复位管控器1212。第一固件指令部分是信任链的一部分,并且信任链包括要由主处理核1204执行的第二固件指令部分。根据示例实施方式,安全处理器1202可以是管理控制器,如BMC 129(图1),其为主机101提供管理服务和安全服务。金丝雀电路1218可以包括逻辑,如对应于加密密码变换(例如,AES变换)的级链,并且级的数量可以被调整以赋予金丝雀电路1218对环境条件引起的安全攻击的高敏感性。信任根引擎1216包括第一多个逻辑门1250,以用于验证要由安全处理核1208执行的第一固件指令部分。金丝雀电路1218包括第二多个逻辑门1254,以用于生成输出值并将所述输出值与预期值进行比较以提供篡改指示。逻辑门1254与逻辑门1250在空间上混合。复位管控器1212响应于篡改指示而调节安全处理器1202的复位保持时间。
根据示例实施方式,生成输出值包括向串联耦接的级的链提供输入以使所述链提供输出值。所述链的每个级都与加密变换相关联。特别的优点是金丝雀电路准确地感测要保护的部件的环境条件,以便快速检测和响应环境条件引起的安全攻击。
根据实施方式,生成输出包括向串联耦接的高级加密术标准(AES)块密码变换级的链或串联耦接的标准哈希算法-3(SHA-3)块密码变换级的链提供输入,以使所述链提供所述输出值。特别的优点是金丝雀电路准确地感测要保护的部件的环境条件,以便快速检测和响应环境条件引起的安全攻击。
根据示例实施方式,所述过程包括向半导体封装件的处理核提供时钟信号。时钟信号具有时钟,并且生成输出值包括在小于所述时钟的时间内执行生成。特别的优点是金丝雀电路准确地感测要保护的部件的环境条件,以便快速检测和响应环境条件引起的安全攻击。
根据示例实施方式,生成输出包括向金丝雀电路的逻辑提供输入;以及使用所述逻辑为时钟信号的多个周期中的每个周期生成输出。生成输出包括在多个周期内改变输入,以及在与输入的改变相对应的多个周期内改变预期值。特别的优点是金丝雀电路准确地感测要保护的部件的环境条件,以便快速检测和响应环境条件引起的安全攻击。
根据示例实施方式,所述过程进一步包括响应于复位请求而将硬件信任根引擎置于复位。调节半导体封装件对复位信号的响应包括调节硬件信任根引擎被置于复位的第一时间与硬件信任根引擎被从复位释放的第二时间之间的延迟。特别的优点是金丝雀电路准确地感测要保护的部件的环境条件,以便快速检测和响应环境条件引起的安全攻击。
根据示例实施方式,生成输出值包括向金丝雀电路的逻辑门提供输入。金丝雀电路的逻辑门与硬件信任根引擎的逻辑门在空间上混合。金丝雀电路的逻辑门用于生成输出。特别的优点是金丝雀电路准确地感测要保护的部件的环境条件,以便快速检测和响应环境条件引起的安全攻击。
根据示例实施方式,生成输出值包括向金丝雀电路的逻辑门提供输入。金丝雀电路的逻辑门与半导体封装件的安全处理核的逻辑门在空间上混合。金丝雀电路的逻辑门用于生成输出。特别的优点是金丝雀电路准确地感测要保护的部件的环境条件,以便快速检测和响应环境条件引起的安全攻击。
根据示例实施方式,所述过程包括半导体封装件的安全处理器的处理核执行机器可读指令以为电子***提供安全服务。金丝雀电路由于环境条件引起的对半导体封装件的安全攻击而发生故障。所述故障包括所述比较提供了表示输出值与预期值不对应的结果。调节半导体封装件对复位信号的响应包括响应于所述比较的结果而增加半导体封装件的复位保持时间。特别的优点是金丝雀电路准确地感测要保护的部件的环境条件,以便快速检测和响应环境条件引起的安全攻击。
尽管已经关于有限数量的实施方式描述了本公开,但受益于本公开的本领域技术人员将了解本公开的许多修改和变化。所附权利要求旨在覆盖所有这种修改和变化。
Claims (20)
1.一种方法,包括:
由半导体封装件的金丝雀电路生成输出值,其中,所述半导体封装件包括用于电子***的硬件信任根引擎;
由所述金丝雀电路将所述输出值与预期值进行比较;以及
响应于比较的结果,由所述半导体封装件调节所述电子***对复位请求的响应。
2.如权利要求1所述的方法,其中,生成所述输出值包括:
向串联耦接的级的链提供输入,以使所述链提供所述输出值,其中,所述链的每个级与加密变换相关联。
3.如权利要求1所述的方法,其中,生成所述输出包括:
向串联耦接的高级加密术标准(AES)块密码变换级的链或串联耦接的安全哈希算法-3(SHA-3)块密码变换级的链提供输入,以使所述链提供所述输出值。
4.如权利要求1所述的方法,进一步包括向所述半导体封装件的处理核提供时钟信号,
其中:
所述时钟信号具有时钟周期;并且
生成所述输出值包括在小于所述时钟周期的时间内执行所述生成。
5.如权利要求1所述的方法,其中,生成所述输出包括:
向所述金丝雀电路的逻辑提供输入;
使用所述逻辑为时钟信号的多个周期中的每个周期生成所述输出;
在所述多个周期内改变所述输入;以及
在与所述输入的改变相对应的所述多个周期内改变所述预期值。
6.如权利要求1所述的方法,进一步包括:
响应于所述复位请求而将所述硬件信任根引擎置于复位,
其中,调节所述半导体封装件对所述复位信号的所述响应包括调节所述硬件信任根引擎被置于所述复位的第一时间与所述硬件信任根引擎被从所述复位释放的第二时间之间的延迟。
7.如权利要求1所述的方法,其中,生成所述输出值包括:
向所述金丝雀电路的逻辑门提供输入,其中,所述金丝雀电路的所述逻辑门与所述硬件信任根引擎的逻辑门在空间上混合;以及
使用所述金丝雀电路的所述逻辑门生成所述输出。
8.如权利要求1所述的方法,其中,生成所述输出值包括:
向所述金丝雀电路的逻辑门提供输入,其中,所述金丝雀电路的所述逻辑门与所述半导体封装件的安全处理核的逻辑门在空间上混合;以及
使用所述金丝雀电路的所述逻辑门生成所述输出。
9.如权利要求1所述的方法,进一步包括:
所述半导体封装件的安全处理器的处理核执行机器可读指令以为所述电子***提供安全服务;以及
所述金丝雀电路归因于对所述半导体封装件的基于环境条件的安全攻击而故障,其中,所述故障包括所述比较提供表示所述输出值与所述预期值不对应的结果,
其中,调节所述半导体封装件对所述复位信号的所述响应包括响应于所述结果而增加所述半导体封装件的复位保持时间。
10.一种基板管理控制器,包括:
管理处理器;以及
安全包围区,所述安全包围区与所述管理处理器分开,其中,所述安全包围区具有相关联的加密边界并且包括:
安全处理核;
信任根引擎,所述信任根引擎用于验证要由所述安全处理核执行的机器可读指令,其中,所述信任根引擎包括第一多个逻辑门;
金丝雀电路,所述金丝雀电路包括与所述第一多个逻辑门在空间上混合的第二多个逻辑门,其中,所述金丝雀电路用于生成输出值并将所述输出值与预期值进行比较以提供篡改指示;以及
控制器,所述控制器用于响应于篡改指示而执行响应动作。
11.如权利要求10所述的基板管理控制器,其中,所述控制器包括复位管控器,并且所述复位管控器用于响应于所述篡改指示而调节所述安全包围区的复位保持时间。
12.如权利要求10所述的基板管理控制器,其中,所述安全处理核包括第三多个逻辑门,所述基板管理进一步包括:
附加金丝雀电路,所述附加金丝雀电路包括第四多个逻辑门,其中,所述第四多个逻辑门与所述第三多个逻辑门在空间上混合,并且所述第四多个逻辑门用于生成附加输出值并将所述附加输出值与另一预期值进行比较以提供篡改指示,
其中,所述控制器用于响应于由所述附加金丝雀电路提供的所述篡改指示而执行校正动作。
13.如权利要求10所述的基板管理控制器,其中:
所述安全处理器包括半导体管芯,所述半导体管芯具有与第一轴线相对应的相关联的第一维度和与第二轴线相对应的相关联的第二维度,其中,所述第二轴线与所述第一轴线正交;
所述第一多个逻辑门沿着平行于所述第一轴线的第一路径被混合;并且
所述第二多个逻辑门沿着平行于所述第二轴线的第二路径被混合。
14.如权利要求13所述的基板管理控制器,其中,所述半导体管芯与第三轴线相关联,所述第三轴线与所述第一轴线正交,所述第三轴线与所述第二轴线正交,并且所述第三轴线对应于所述半导体管芯的厚度维度。
15.一种计算机平台,包括:
主处理核;以及
安全处理器,所述安全处理器包括:
安全处理核;
信任根引擎,其中,所述信任根引擎包括第一多个逻辑门,以用于验证要由所述安全处理核执行的第一固件指令部分,所述第一固件指令部分是信任链的一部分,并且所述信任链包括要由所述主处理核执行的第二固件指令部分;以及
金丝雀电路,所述金丝雀电路包括第二多个逻辑门,以用于生成输出值并将所述输出值与预期值进行比较以提供篡改指示,其中,所述第二多个逻辑门中的逻辑门与所述第一多个逻辑门中的逻辑门在空间上混合;以及
复位管控器,所述复位管控器用于响应于所述篡改指示而调节所述安全处理器的复位保持时间。
16.如权利要求15所述的计算机平台,其中,所述信任根引擎包括复位输入,并且所述复位管控器进一步用于:
接收复位请求;
响应于所述复位请求而向所述复位输入提供信号以将所述信任根引擎置于复位;以及
响应于所述篡改指示而相对于所述复位保持时间来调节所述信任根引擎在被从所述复位释放之前被保持在所述复位中的时间。
17.如权利要求15所述的计算机平台,其中,所述金丝雀电路包括:
串联耦接的加密处理级的链,其中,所述链用于接收输入并响应于所述输入向量而提供所述输出值。
18.如权利要求17所述的计算机平台,其中,所述金丝雀电路用于为时钟信号的每个周期生成所述输出,并且所述金丝雀电路进一步包括:
控制器,所述控制器用于在所述时钟信号的交替周期内改变所述输入。
19.如权利要求17所述的计算机平台,其中,每个级包括逻辑,所述逻辑用于执行高级加密术标准(AES)密码块变换或执行安全哈希算法-3(SHA-3)块密码变换。
20.如权利要求16所述的计算机平台,其中,所述主处理核用于提供主机实例,并且所述计算机平台进一步包括管理控制器,所述管理控制器用于为所述主机实例提供管理服务,其中,所述基板管理控制器包括所述安全处理器。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US63/412,005 | 2022-09-30 | ||
US18/166,706 | 2023-02-09 | ||
US18/166,706 US20240111862A1 (en) | 2022-09-30 | 2023-02-09 | Detecting and responding to environmental condition-induced security attacks on semiconductor packages |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117807639A true CN117807639A (zh) | 2024-04-02 |
Family
ID=90419118
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310838718.7A Pending CN117807639A (zh) | 2022-09-30 | 2023-07-10 | 检测和响应环境条件引起的对半导体封装件的安全攻击 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117807639A (zh) |
-
2023
- 2023-07-10 CN CN202310838718.7A patent/CN117807639A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11843705B2 (en) | Dynamic certificate management as part of a distributed authentication system | |
US11809544B2 (en) | Remote attestation for multi-core processor | |
US9990255B2 (en) | Repairing compromised system data in a non-volatile memory | |
US11354417B2 (en) | Enhanced secure boot | |
EP3646224B1 (en) | Secure key storage for multi-core processor | |
US20230134324A1 (en) | Managing storage of secrets in memories of baseboard management controllers | |
US20210342169A1 (en) | Emulating physical security devices | |
EP3757838B1 (en) | Warm boot attack mitigations for non-volatile memory modules | |
US20230246827A1 (en) | Managing use of management controller secrets based on firmware ownership history | |
US20240111862A1 (en) | Detecting and responding to environmental condition-induced security attacks on semiconductor packages | |
CN116956267A (zh) | 平台证书的基于管理控制器的验证 | |
US20240111909A1 (en) | Governing responses to resets responsive to tampering activity detection | |
US20230034526A1 (en) | Trust verification system and method for a baseboard management controller (bmc) | |
CN117807639A (zh) | 检测和响应环境条件引起的对半导体封装件的安全攻击 | |
CN117807644A (zh) | 响应于篡改活动检测而管控对复位的响应 | |
Noubir et al. | Towards malicious exploitation of energy management mechanisms | |
US11734457B2 (en) | Technology for controlling access to processor debug features | |
US11593490B2 (en) | System and method for maintaining trusted execution in an untrusted computing environment using a secure communication channel | |
DE102023110485A1 (de) | Erkennen von und reagieren auf umweltbedingte sicherheitsangriffe auf halbleitergehäuse | |
DE102023110486A1 (de) | Reaktionen auf rücksetzungen regeln als reaktion auf die erkennung von manipulationsaktivitäten |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |