CN110861600B - 保障x模块冗余 - Google Patents

保障x模块冗余 Download PDF

Info

Publication number
CN110861600B
CN110861600B CN201910789464.8A CN201910789464A CN110861600B CN 110861600 B CN110861600 B CN 110861600B CN 201910789464 A CN201910789464 A CN 201910789464A CN 110861600 B CN110861600 B CN 110861600B
Authority
CN
China
Prior art keywords
output
random
delay
input
computing device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910789464.8A
Other languages
English (en)
Other versions
CN110861600A (zh
Inventor
A·策
A·比尔德海雅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Infineon Technologies AG filed Critical Infineon Technologies AG
Publication of CN110861600A publication Critical patent/CN110861600A/zh
Application granted granted Critical
Publication of CN110861600B publication Critical patent/CN110861600B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/556Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
    • B60R16/0231Circuits relating to the driving or the functioning of the vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/004Countermeasures against attacks on cryptographic mechanisms for fault attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Automation & Control Theory (AREA)
  • Mechanical Engineering (AREA)
  • Hardware Redundancy (AREA)
  • Storage Device Security (AREA)

Abstract

本公开涉及保障X模块冗余,例如,一种冗余系统,包括:第一计算设备和第二计算设备,均被配置为接收至少一个输入并且基于至少一个输入分别生成第一输出和第二输出;随机序列发生器,被配置为生成随机位序列;随机延迟选择器,被配置为基于随机位序列确定随机延迟;第一随机延迟电路,被配置为基于随机延迟向第一计算设备延迟输出至少一个输入;第二随机延迟电路,被配置为基于随机延迟而延迟输出第二输出;以及故障检测电路,被配置为接收第一输出和延迟的第二输出,并且基于第一输入与延迟的第二输出的比较生成比较结果。

Description

保障X模块冗余
技术领域
本公开总体上涉及保障冗余系统及其操作方法。
背景技术
随着现代汽车的自动化和半导体内容的增加,汽车乘用车中的电子系统的功能安全是重要课题。对于系统中部署的安全关键部件,期望具有可靠和安全的功能。
通常存在于这种安全关键应用的一项要求是,传感器设备的故障必须可由系统检测,例如由接收来自传感器设备的信号的实体检测。换句话说,根据这种要求,如果传感器设备发送错误值(例如,由于传感器设备的故障),则必须能够进行检测。确保这一点的方法是提供冗余,例如提供两个单独的传感器用于测量相同的物理量。两个传感器设备的测量之间超过阈值的偏差可指示所提供的两个传感器中的至少一个发生故障。
除功能安全外,网络安全已成为汽车电子系统中的重要方面。从电子产品设计开始,就不可避免地要同时包括功能安全和汽车网络安全。功能安全已达到成熟水平,但网络安全相对较新。安全部件可能很快就会被要求既安全又可靠。目前,存在建立安全保障的方法。然而,在硬件级别上存在安全性的差距。攻击者很容易经由物理访问或者甚至经由软件远程地提取信息。因此,有潜力来以有效方式解决这一差距。
因此,可以期望一种改进的设备,其对于冗余系统中的潜在攻击具有增加的安全性。
发明内容
实施例涉及保障冗余系统及其操作方法。
根据一个或多个实施例,提供了一种安全保障系统(safety-security system)。该安全保障系统包括:第一计算设备,被配置为接收至少一个输入并基于至少一个输入生成第一输出;第二计算设备,被配置为接收至少一个输入并基于至少一个输入生成第二输出;随机序列发生器,被配置为生成随机位序列;随机延迟选择器,被配置为基于随机位序列确定随机延迟;第一随机延迟电路,耦合至第一计算设备的输入,并且被配置为接收至少一个输入和随机延迟,并且基于随机延迟向第一计算设备延迟输出至少一个输入;第二随机延迟电路,耦合至第二计算设备的输出,并且被配置为接收第二输出和随机延迟,并且基于随机延迟而延迟输出第二输出;以及故障检测电路,被配置为接收第一输出和延迟的第二输出,并且基于第一输入与延迟的第二输出的比较生成比较结果。
根据一个或多个实施例,提供了另一种安全保障系统。该安全保障系统包括:第一计算设备,被配置为接收至少一个输入并基于至少一个输入生成第一输出;第二计算设备,被配置为接收至少一个输入并基于至少一个输入生成第二输出;随机序列发生器,被配置为生成随机位序列;第一延迟电路,耦合至第一计算设备的输入,并且被配置为接收至少一个输入,并且基于延迟向第一计算设备延迟输出至少一个输入;第二随机延迟电路,耦合至第二计算设备的输出,并且被配置为接收第二输出,并且基于延迟而延迟输出第二输出;以及随机输出选择器,被配置为接收第一输出、延迟的第二输出和随机位序列,并且进一步被配置为基于随机位序列从第一输出和延迟的第二输出中选择随机输出,并输出随机输出。
根据一个或多个实施例,提供了一种方法。该方法包括:通过第一计算设备,基于至少一个输入生成第一输出;通过第二计算设备,基于至少一个输入生成第二输出;生成随机位序列;基于随机位序列选择随机延迟;基于选择的随机延迟来延迟至少一个输入在第一计算设备处被接收;基于选择的随机延迟来延迟第二输出;以及基于第一输入与延迟的第二输出的比较生成比较结果。
附图说明
本文参考附图对实施例进行描述。
图1是根据一个或多个实施例的具有安全(safe)和保障(secure)配置的DMR系统的示意性框图;
图2是根据一个或多个实施例的设置为仅安全模式的图1所示DMR系统的示意性框图;
图3是根据一个或多个实施例的设置为仅保障模式的图1所示DMR系统的示意性框图;
图4是根据一个或多个实施例的设置为安全和保障模式的图1所示DMR系统的示意性框图;以及
图5是根据一个或多个实施例的具有安全和保障配置的DMR系统的示意性框图。
具体实施方式
以下,将参考附图详细描述各种实施例。应该注意,这些实施例仅用于说明的目的而不应解释为限制。例如,虽然实施例可描述为包括多个特征或元素,但这不应构造为指示实施实施例需要所有这些特征或元素。相反,在其他实施例中,一些特征或元素可以省略,或者可以替换为替代特征或元素。此外,除明确示出和描述的特征或元素外,还可提供其他特征或元素,例如传感器设备的常规部件。
除非另有特别说明,否则可将来自不同实施例的特征组合以形成进一步的实施例。相对于一个实施例描述的变化或修改也可适用于其他实施例。
除非另有说明,否则附图所示或本文所述的元件之间的连接或耦合可以是基于电线的连接或无线连接。此外,只要连接或耦合的一般目的(例如,传输特定种类的信号或传输特定类型的信息)被基本保持,这种连接或耦合可以是不具有附加的中间元件的直接连接或耦合或者具有一个或多个附加的中间元件的间接连接或耦合。
应理解,术语“微处理器”、“处理器”、“处理器核心”、“处理单元”和“处理电路”可在本公开中互换使用。逻辑块可包括被配置为接收和处理一个或多个输入以生成输出的一个或多个处理器和/或其他逻辑电路。具体地,逻辑块可以是任何计算设备,诸如处理器、中央处理单元(CPU)、加密引擎、计算系统等。
将进一步理解,本文所述的概念不限于安全功能,而是可以在使用故障/错误检测的任何设备或系统中实施。
本文所述的实施例提供保障功能安全性,并且更具体地,提供保障x模块冗余,其中x是大于1的整数。保障X模块冗余提供了被实施以抑制对系统的成功攻击(例如,故障注入攻击)的功能安全性(例如,以冗余的形式)和网络安全。
故障注入攻击是指恶意地在计算设备中引入错误以改变软件执行的过程。故障注入主要想要两种效果:避免指令的执行以及损坏处理器正在处理的数据。它们通常用于通过绕过安全检查或泄漏私有加密密钥来威胁嵌入式设备的安全性。例如,故障注入攻击可允许攻击者基于通过加密/解密算法传播错误来猜测加密密钥。
在一种类型的攻击中,攻击者可以向系统中注入输入并查看输出,以推断关于系统行为的一些信息。此外,攻击者可以在已知密码算法的特定选定阶段引入错误。因此,故障注入的重点是研究注入故障对密码算法的影响,并推导出关于秘密的加密密钥值的一些信息。
本文所述的保障x模块冗余可应用于汽车通信外围设备,诸如控制器局域网(CAN)、FlexRay、以太网、雷达接口、其他串行通信线(例如,SPI、LIN、SENT和PSI5)、光学通信协议或存储系统(例如,嵌入式闪存)。如本文所述,保障x模块冗余可将双模块冗余(DMR)与附加安全特征集成到一起。虽然本文所述的实施例可专用于使用DMR概念,但相同的原理可扩展到具有更高冗余度的系统(三重模块冗余(TMR)等)。因此,不应将实施例视为仅限于特定冗余级别。
图1是根据一个或多个实施例的具有安全和保障配置的DMR系统100的示意性框图。X模块冗余(XMR)是用于检测具有高故障覆盖率的系统中的故障的技术。其被用于功能安全相关应用和网络安全相关应用的电子产品中。例如,本文所述的实施例使用DMR进行错误检测,以防应该给出相同(相等)结果的仪器或逻辑块给出不同的结果。
在汽车环境中,用于功能安全的DMR用作安全机制,其能够对随机硬件故障实现高故障覆盖。其比针对复杂模块的每种情况实施单独安全机制更加有效。例如,CPU可经由锁步安全机制来实施以在功能安全中实现ASIL D水平,这要求99.9%的诊断覆盖率。
在汽车网络安全环境中,硬件层级的基本故障模型保持不变。这里对安全性的差别在于这些故障不再是随机的。通过在算法的硬件实施中恶意地引入故障,可以破译密码算法并且可以得到密钥。因此,锁步机制帮助检测密码算法中任何恶意引入的故障。
图1所示的DMR系统100包括两个处理核心,主逻辑块1和检查器逻辑块2在硬件、固件代码和/或算法方面可以彼此相同,并且以锁步配置来布置。备选地,固件代码和/或算法可以不同,但可以提供相同的标称功能,使得两个逻辑块的预期输出相同。因此,在这种情况下,固件代码/算法在数学上等效,但以不同的各种方式来实施,使得每次计算的结果或每个逻辑块的功能可相互比较,并且结果用于检测故障。
在系统启动期间,两个逻辑块1、2被初始化为相同的状态,并且它们接收相同的输入(例如,代码、总线操作和异步事件),因此在正常操作期间,两个逻辑块1、2的状态从时钟到时钟是相同的。可以说它们以锁步进行操作。锁步技术假定逻辑块1、2中任一个的错误将引起两个逻辑块1、2的状态之间的差异,这将最终显示为输出中的差异,因此锁步系统例如经由比较器3监控两个逻辑块1、2的输出并且在不符的情况下指示错误。
因此,锁步故障容忍系统使用并行地运行相同的操作集合的复制元件。在任何时候,每个元件的所有副本都应该处于相同状态。为每个副本提供相同的输入,并且预期相同的输出。使用投票电路或故障检测电路(例如,比较器电路)来比较副本的输出。每个元件具有两个副本的系统被称为DMR。然后,投票电路或故障检测电路(例如,比较器3)可检测失配。每个元件具有三个副本的系统被称为TMR。当观察到二对一投票时,投票电路可确定哪个副本出错。
为了以锁步来运行,每个逻辑块1、2被布置在不同的处理线程上,并且被设置为从一个良好定义的状态发展到下一个良好定义的状态。当新的输入集合到达系统100时,每个逻辑块1、2对它们进行处理,生成新的输出并更新其状态。该变化的集合(新输入、新输出、新状态)被认为限定该步骤,并且必须被处理为原子事务。换句话说,要么所有都发生了,要么都没有发生,但不是介于二者之间。因此,逻辑块的计算系统是复制的,但二者都积极地处理每个步骤。
此外,在每个处理线程中使用时移(延迟),这增加了由外部影响(例如,电压尖峰、电离辐射或原位反向工程)引起的错误的检测概率。因此,DMR系统100包括两个延迟单元4和5。延迟单元4、5以交错配置分别耦合至逻辑块1、2中的对应一个。即,延迟单元4耦合至检查器逻辑块2的输入,而延迟单元5耦合至主逻辑块1的输出。这种布置也可以颠倒,使得延迟单元5耦合至主逻辑块1的输入,而延迟单元4耦合至检查器逻辑块2的输出。交错延迟有助于确保独立于影响两个逻辑块1、2的相同错误或故障。因此,可以使用交错延迟来避免逻辑块之间的共因故障。
延迟单元4、5可以是任何延迟电路,其被配置为在输出(即,转发)输入之前在预定数量的时钟周期内接收并保持输入。如下文将要更加详细描述的,每个延迟单元4和5分别包括随机延迟电路4a和5a以及固定延迟电路4b和5b。随机延迟电路4a、5a或固定延迟电路4b、5b的使用通过配置输入来配置(即,选择),并且通过由延迟计数器实施的时钟周期的数量来限定延迟。由固定延迟电路4b和5b生成的延迟是硬配置的,并且在整个设备寿命期间不会改变。由随机延迟电路4a和5a实施的延迟对每个输入集合随机变化。然而,由延迟单元4和5生成的延迟对于每个处理步骤(即,对于每个输入集合)都是相同的。
DMR系统100接收来自整个系统的输入或输入集合,其中DMR系统100是整个系统的子系统。例如,整个系统可以是微控制器(例如,汽车微控制器),并且子系统是微控制器的一部分。从微控制器接收输入。例如,可以从微控制器内的一个或多个存储器或通信接口接收输入。输入被主逻辑块1用于基于存储在主逻辑块1中的指令执行计算。检查器逻辑块2在由延迟单元4设置延迟之后接收相同的输入,并且执行与主逻辑块相同的计算。
在主逻辑块1的输出通过并被延迟单元5延迟之后,两个逻辑块的输出应该相同。比较器3比较这些输出,以确定接收到的输出是相同还是不同。如果逻辑块的输出失败(即,彼此不同),则比较器3可输出逻辑高信号(即,逻辑“1”)。该“失败”信号可以被称为安全警报。另一方面,如果逻辑块的输出通过(即,相同),则比较器3可输出逻辑低信号(即,逻辑“0”)。用于指示通过或失败的比较器3的逻辑输出也可以根据设计实施而交换。
备选地,检查器逻辑块2可相对于由主逻辑块1执行的计算实施反向计算,并且比较器3可在逻辑块的输出不同时生成通过信号,并且在逻辑块的输出相同时生成失败信号(即,安全警报)。
除了从实施的冗余和比较器3得到的安全特征外,DMR系统100还实施了一个或多个附加的安全特征:随机延迟、随机输出选择器和配置模式选择器。
当使用随机延迟时,随机延迟电路4a、5a均基于随机信号实施相同的随机延迟。因此,在任何给定点处,延迟单元4、5使用的延迟是相同的。实施随机延迟可要求攻击者付出更大的努力来破坏加密算法(例如,高级加密标准(AES)),其是“锁步的”。这为加密提供了安全和保障,而不需要附加的复杂机制。
随机输出选择器6还会增加攻击者的工作量,但不会影响安全问题。具体地,随机输出选择器6被配置为基于随机信号选择性地输出从逻辑块1、2接收的输出之一。通过随机化DMR系统100的输出,攻击者不能够确定从哪个逻辑块1或2接收输出,增加了黑客攻击子系统的难度并且防止成功的攻击。
经由配置输入进行配置模式选择能够灵活地在“仅安全”、“仅保障”和“安全和保障”配置(即,操作模式)之间进行选择。这里,用户在操作模式的选择上获得完全的灵活性。由DMR系统100接收的配置输入被用作控制信号,以在安全和保障配置之间进行选择。
DMR系统100还包括真随机数发生器(TRNG)7、伪随机数发生器(PRNG)PRNG8、随机延迟选择器9和输出开关10。主逻辑块1、检查器逻辑块2和比较器3均可以包括它们各自对应的安全机制SM1、SM2和SM3。DMR系统100还可以包括保障警报输出电路14,其被配置为接收来自安全机制SM1、SM2和SM3以及比较器3的一个或多个保障警报,并且如果从“上游”源接收到任何保障警报,则输出保障警报。
TRNG 7和PRNG 8可一起被称为随机序列发生器。TRNG 7被配置为生成用于初始化PRNG 8的随机数(例如,32位种子值)。PRNG 8接收来自TRNG 7的种子值(即,随机数)(例如,32位值),PRNG 8产生随机位的序列并输出随机位的序列作为随机信号。在一个示例中,PRNG 8可以是线性反馈移位寄存器(LFSR)。然而,可以使用任何类型的PRNG。随机延迟选择器9和随机输出选择器6接收来自PRNG 8的随机信号。
随机延迟选择器9可以是多路复用器,其为将由随机延迟电路4a、5a实施的延迟限定2到n个时钟周期的范围,其中n是大于或等于2的整数。具体地,随机延迟选择器9被配置为解码随机信号,并且基于一些功能选择一个时钟周期(2到n)以输出至随机延迟电路4a、5a。
该功能用于确定预期延迟(即,从2到n个时钟周期中选择的时钟周期的数量)。该功能被编程到随机延迟选择器9中,并且用于基于LSFR输出确定预期延迟。然后,随机延迟电路4a、5a被配置为经由延迟计数器实施由随机延迟选择器9提供的周期延迟(2到n)。
因此,随机延迟选择器9基于随机位的序列选择周期延迟。由于随机信号的值是随机的,所以实施的延迟也是随机的。此外,由于每个输入集合的序列发生变化,因此针对每个输入集合的随机延迟也发生变化。此外,由于用于确定所选延迟的功能在DMR设备外部(例如,对攻击者)未知,因此该功能进一步防止成功的攻击。
随机延迟选择器9也可以冗余方式结合到每个延迟单元4、5中,其中每个随机延迟选择器9都具有相同数量的可选择延迟周期(2到n),并且实施用于解码随机位序列和选择延迟的相同功能。
随机输出选择器6还包括解码器,并且还可以包括多路复用器。解码器可以接收LSFR的输出,并且基于一些功能对LSFR输出进行解码以确定预期输出。该功能被编程到解码器中,并且用于基于LSFR输出确定预期输出。然后,解码器可以向多路复用器提供与预期输出相对应的选择信号。然后,多路复用器可基于选择信号的值(即,基于逻辑“0”或“1”)输出(即,转发)从逻辑块接收的一个输出。因此,随机输出选择器6可基于随机位的序列选择来自主逻辑块1的输出或来自检查器逻辑块2的输出中的任一个。由于随机信号的值是随机的,所以输出选择是随机的。此外,由于该功能在DMR设备外部未知(例如,对于攻击者未知),因此该功能进一步防止成功的攻击。
n的值越大,攻击者越难成功。根据所要求的安全级别,这可以配置为达到所要求的安全级别。然而,延迟越大,系统将变得越慢。
随机序列发生器可被配置为针对每个输入集合生成一个或多个(例如,两个)随机位序列。上述示例对每个输入集合使用一个随机位序列,但随机输出选择器6可接收与由随机延迟电路4a、5a接收的随机位序列不同的随机位序列。
例如,当生成两个随机位序列时,TRNG 7可生成两个随机数,PRNG 8可据此生成两个随机位序列。这两个随机位序列可以从PRNG 8输出至接收两个随机位序列的随机位序列开关15,并且将第一随机位序列输出至随机延迟选择器9(或直接输出至延迟单元4、5),并且将另一随机位序列输出至随机输出选择器6。随机位序列开关15可以是多路复用器。然后,随机延迟选择器9和随机输出选择器6以上述类似方式应用它们各自的随机位序列。此外,对于每个输入集合,通过随机位序列开关15选择发送哪个随机位序列到哪个下游设备也可以是随机的。
输出开关10可基于配置输入进行配置,以选择性地输出安全输出或保障输出中的任一个。安全输出是从主逻辑块1接收的输出。保障输出是从随机输出选择器6接收的输出。因此,保障输出要么是来自主逻辑块1的输出,要么是来自检查器逻辑块2的输出,这基于随机信号进行选择。当DMR系统100被设置为“仅安全”模式时,可以使用安全输出,而当DMR系统100被设置为“仅保障”模式或“安全和保障”模式时,可以使用保障输出。
如上所述,主逻辑块1、检查器逻辑块2和比较器3均可以包括它们各自对应的安全机制SM1、SM2和SM3。DMR系统100还可以包括保障警报输出电路14,其被配置为接收来自安全机制SM1、SM2和SM3以及比较器3的一个或多个保障标志,并且如果从“上游”源接收到任何保障标志,则输出保障警报。例如,保障警报输出电路14可以是接收上述四个输入中的每一个的OR门。然而,保障警报输出电路14可由能够从系统部件接收保障标志并由此生成安全警报的任何逻辑组成。
当DMR系统100被设置为“仅安全”模式或“安全和保障”模式时,DMR系统100可以从保障警报输出电路14输出保障警报。
每个安全机制SM1、SM2和SM3都被配置为检测对应系统部件(即,主逻辑块1、检查器逻辑块2或比较器3)中的保障事件,诸如攻击或故障。一旦检测到保障事件,安全机制将生成保障标志,诸如高输出信号。
安全机制SM1和SM2均可以包括用于检测保障事件的冗余寄存器、安全触发器和/或纠错代码(例如,用于奇偶性预测)的集合。一旦检测到保障事件,安全机制可生成保障标志,并将保障标志传输至保障警报输出电路14。
安全机制SM3可包括冗余寄存器的集合和/或可以使用其中实施固件代码/算法的两个集合的不同比较。用于执行比较器3的比较的这两个固件代码/算法的集合在数学上是等效的,但以不同的各种方式来实施,使得每个比较的结果可以相互比较,并且结果用于检测保障事件。例如,如果执行两个不同的比较,则比较结果应该相同。否则,不同的比较结果指示可能存在保障事件。在这种情况下,通过安全机制SM3生成并输出保障标志。
如将由图2至图4所表示的,经由配置输入基于配置模式选择,可以使用或激活不同的部件。具体地,根据一个或多个实施例,图2示出了“仅安全”模式的实施方式,图3示出了“仅保障”模式的实施方式,以及图4示出了“安全和保障”模式的实施方式。
图2是根据一个或多个实施例的设置为仅安全模式的图1所示DMR系统100的示意性框图。这里,不使用随机延迟电路4a、5b、随机输出选择器6、TRNG 7和LSFR 8。相反,基于编程延迟计数器,固定延迟电路4b、5b生成固定延迟。具体地,在该模式中不使用由虚线表示的部件和信号路径。此外,保障警报输出电路14将发出无保障警报的信号。如果比较器3处的比较失败,则生成安全警报并输出。此外,输出开关10被配置为接收从主逻辑块1输出的安全输出(即,(延迟)输出),并将该输出转发至DMR系统100的输出。
图3是根据一个或多个实施例的被设置为仅保障模式的图1所示DMR系统100的示意性框图。在该模式中不使用如图所示由虚线表示的部件和信号路径。这里,主逻辑块和检查器逻辑块的延迟是随机选择的,并且来自保障警报输出电路14的保障警报由DMR系统100输出。因此,在该模式中,DMR系统100不发出安全警报的信号。此外,输出开关10被配置为接收安全输出(即,来自随机输出选择器6的输出),并将该输出转发至DMR系统100的输出。
图4是根据一个或多个实施例的设置为安全和保障模式的图1所示DMR系统100的示意性框图。在该模式中不使用如图所示由虚线表示的部件和信号路径。如果比较器3处的比较失败,则输出除来自保障警报输出电路14的保障警报之外的安全警报。此外,输出开关10被配置为接收安全输出(即,来自随机输出选择器6的输出),并将该输出转发至DMR系统100的输出。
图5是根据一个或多个实施例的具有安全和保障配置的DMR系统500的示意性框图。DMR系统500类似于DMR系统100,除了PRNG 8可包括两个独立的输出到随机输出选择器6和随机延迟选择器9(或随机延迟电路4a、5a),使得随机输出选择器6和随机延迟选择器9可以从PRNG 8接收相同或不同的随机位序列。因此,随机序列发生器被配置为针对每个输入集合生成一个或多个(例如,两个)随机位序列。
如果随机输出选择器6和随机延迟选择器9将要接收相同的随机位序列,则PRNG 8通过由TRNG 7提供的种子值进行初始化,并且如上文参照图1所述生成单个随机位序列。
如果随机序列发生器生成不同的输出(即,不同的随机位序列),则几个选项可用。
在一个示例中,PRNG 8可以用由TRNG 7提供的一个种子值进行初始化,并且可以经由它们对应的电路路径生成不同的输出到随机输出选择器6和随机延迟选择器9(或到随机延迟电路4a、5a)。然后,随机输出选择器6和随机延迟选择器9可接收它们对应的随机位序列,并如上文参照图1所述进行。这也适用于随机延迟电路4a、5a,例如它们直接从PRNG 8接收随机位序列的情况。
在另一示例中,可以设置第二PRNG(未示出),使得第一PRNG和第二PRNG分别耦合至随机输出选择器6和随机延迟选择器9。这里,每个PRNG都可以从TRNG 7接收不同的种子值(即,不同的随机数),并且独立于其他随机位序列生成它们自己的随机位序列。然后,随机输出选择器6和随机延迟选择器9可接收它们相应的随机位序列,并且如上文参照图1所述进行。这也适用于随机延迟电路4a、5a,例如它们直接从第一或第二PRNG接收随机位序列的情况。
还应理解,DMR系统500可类似地结合有参照图2所述的不同配置模式,其中PRNG 8或PRNG与参照这些附图所述相似的作用。
鉴于上述内容,实施例经由冗余/多样性提供安全性,并且经由随机延迟和随机输出开关增强了对故障/故障攻击的安全性。此外,配置模式选择能够灵活地在“仅安全”、“仅保障”和“安全和保障”配置(即,操作模式)之间进行选择。
尽管已经在装置的上下文中描述了一些方面,但明显地,这些方面也表示对应方法的描述,其中块或设备对应于方法步骤或方法步骤的特征。类似地,在方法步骤的上下文中描述的方面也表示对对应的块、项或对应装置的特征的描述。一些或全部方法步骤可通过(或使用)硬件装置来执行,例如,微处理器、可编程计算机或电子电路。在一些实施例中,这种装置可执行方法步骤中的一个或多个。
关于由上述部件或结构(组件、设备、电路、系统等)执行的各种功能,除非另有说明,否则用于描述这种部件的术语(包括“方式”)用于与执行所述部件的指定功能的任何部件或结构相对应(即,功能等效),即使在结构上不等效于执行本文所示发明的示例性实施中的功能的公开结构。
上述示例性实施例仅仅是说明性的。应理解,本领域技术人员将明白对本文所述布置和细节的修改和变化。因此,仅通过权利要求限制专利申请的范围,而不通过本文实施例的描述和解释呈现的具体细节来限制。

Claims (20)

1.一种安全保障系统,包括:
第一计算设备,被配置为接收至少一个输入并基于所述至少一个输入生成第一输出,其中所述第一计算设备被配置为通过执行将所述至少一个输入转换为所述第一输出的第一计算来生成所述第一输出,其中所述第一计算基于由存储在所述第一计算设备上的第一指令集;
第二计算设备,被配置为接收所述至少一个输入并基于所述至少一个输入生成第二输出,其中所述第二计算设备被配置为通过执行将所述至少一个输入转换为所述第二输出的第二计算来生成所述第二输出,其中所述第二计算基于由存储在所述第二计算设备上的第二指令集;
随机序列发生器,被配置为生成随机位序列;
随机延迟选择器,被配置为基于所述随机位序列确定随机延迟;
第一随机延迟电路,耦合至所述第一计算设备的输入,并且被配置为接收所述至少一个输入和所述随机延迟,并且基于所述随机延迟向所述第一计算设备延迟输出所述至少一个输入;
第二随机延迟电路,耦合至所述第二计算设备的输出,并且被配置为接收所述第二输出和所述随机延迟,并且基于所述随机延迟而延迟输出所述第二输出;以及
故障检测电路,被配置为接收所述第一输出和延迟的所述第二输出,并且基于所述第一输出和延迟的所述第二输出的比较来生成比较结果。
2.根据权利要求1所述的安全保障系统,还包括:
随机输出选择器,被配置为接收所述第一输出、延迟的所述第二输出和所述随机位序列,并且进一步被配置为基于所述随机位序列从所述第一输出和延迟的所述第二输出中选择随机输出,并输出所述随机输出。
3.根据权利要求2所述的安全保障系统,其中所述第一输出和所述第二输出中的一个输出是主输出,并且所述安全保障系统还包括:
输出开关,被配置为接收配置信号,并且基于所述配置信号选择性地输出来自所述随机输出选择器的所述随机输出或者所述主输出作为系统输出。
4.根据权利要求2所述的安全保障系统,其中:
所述随机序列发生器被配置为生成又一随机位序列,并且
所述随机输出选择器被配置为接收所述第一输出、延迟的所述第二输出和所述又一随机位序列,并且进一步被配置为基于所述又一随机位序列从所述第一输出和延迟的所述第二输出中选择随机输出,并且输出所述随机输出。
5.根据权利要求1所述的安全保障系统,还包括:
第一固定延迟电路,耦合至所述第一计算设备的输入,并且预配置有固定延迟,所述第一固定延迟电路被配置为接收所述至少一个输入,并且基于所述固定延迟向所述第一计算设备延迟输出所述至少一个输入;
第二固定延迟电路,耦合至所述第二计算设备的输出,并且预配置有所述固定延迟,所述第二固定延迟电路被配置为接收所述第二输出,并且基于所述固定延迟而延迟输出所述第二输出。
6.根据权利要求5所述的安全保障系统,还包括:
第一延迟电路,包括所述第一随机延迟电路和所述第一固定延迟电路,并且被配置为接收配置信号,并且基于所述配置信号激活所述第一随机延迟电路和所述第一固定延迟电路中的第一个以及去激活所述第一随机延迟电路和所述第一固定延迟电路中的第二个;以及
第二延迟电路,包括所述第二随机延迟电路和所述第二固定延迟电路,并且被配置为接收所述配置信号,并且基于所述配置信号激活所述第二随机延迟电路和所述第二固定延迟电路中的第一个以及去激活所述第二随机延迟电路和所述第二固定延迟电路中的第二个。
7.根据权利要求1所述的安全保障系统,其中所述随机序列发生器包括:
真随机数发生器(TRNG),被配置为生成随机数;以及
伪随机数发生器(PRNG),被配置为接收来自所述真随机数发生器(TRNG)的所述随机数并生成所述随机位序列。
8.根据权利要求1所述的安全保障系统,其中所述随机延迟选择器被配置为基于所述随机位序列从多个延迟周期中选择所述随机延迟。
9.根据权利要求1所述的安全保障系统,其中:
所述故障检测电路被配置为在第一输入和延迟的所述第二输出不相同的情况下输出所述比较结果作为保障警报。
10.根据权利要求1所述的安全保障系统,其中所述安全保障系统被配置为接收配置信号,并且基于所述配置信号选择性地输出所述比较结果。
11.根据权利要求1所述的安全保障系统,其中:
所述第一计算设备包括第一安全保障机制,所述第一安全保障机制被配置为检测所述第一计算设备处的第一保障事件,并且基于检测到所述第一保障事件生成第一保障标志;
所述第二计算设备包括第二安全保障机制,所述第二安全保障机制被配置为检测所述第二计算设备处的第二保障事件,并且基于检测到所述第二保障事件生成第二保障标志;以及
所述故障检测电路包括第三安全保障机制,所述第三安全保障机制被配置为检测所述故障检测电路处的第三保障事件,并且基于检测到所述第三保障事件生成第三保障标志。
12.根据权利要求11所述的安全保障系统,还包括:
保障警报输出电路,耦合至所述第一安全保障机制、所述第二安全保障机制和所述第三安全保障机制,并且被配置为在接收到所述第一保障标志、所述第二保障标志和所述第三保障标志中的至少一个保障标志的条件下生成保障警报。
13.根据权利要求12所述的安全保障系统,其中所述保障警报输出电路被配置为基于配置信号而选择性地使能或禁用。
14.一种安全保障系统,包括:
第一计算设备,被配置为接收至少一个输入并基于所述至少一个输入生成第一输出,其中所述第一计算设备被配置为通过执行将所述至少一个输入转换为所述第一输出的第一计算来生成所述第一输出,其中所述第一计算基于由存储在所述第一计算设备上的第一指令集;
第二计算设备,被配置为接收所述至少一个输入并基于所述至少一个输入生成第二输出,其中所述第二计算设备被配置为通过执行将所述至少一个输入转换为所述第二输出的第二计算来生成所述第二输出,其中所述第二计算基于由存储在所述第二计算设备上的第二指令集;
随机序列发生器,被配置为生成随机位序列;
第一延迟电路,耦合至所述第一计算设备的输入,并且被配置为接收所述至少一个输入,并且基于延迟向所述第一计算设备延迟输出所述至少一个输入;
第二延迟电路,耦合至所述第二计算设备的输出,并且被配置为接收所述第二输出,并且基于所述延迟而延迟输出所述第二输出;
随机输出选择器,被配置为接收所述第一输出、延迟的所述第二输出和所述随机位序列,并且进一步被配置为基于所述随机位序列从所述第一输出和延迟的所述第二输出中选择随机输出,并输出所述随机输出;以及
故障检测电路,被配置为接收所述第一输出和延迟的所述第二输出,并且基于所述第一输出和延迟的所述第二输出的比较来生成比较结果。
15.根据权利要求14所述的安全保障系统,还包括:
随机延迟选择器,被配置为基于所述随机位序列确定随机延迟,
其中所述第一延迟电路包括第一随机延迟电路,所述第一随机延迟电路被配置为接收所述至少一个输入,并且基于被用作所述延迟的所述随机延迟向所述第一计算设备延迟输出所述至少一个输入,以及
其中所述第二延迟电路包括第二随机延迟电路,所述第二随机延迟电路被配置为接收所述第二输出,并且基于被用作所述延迟的所述随机延迟向所述随机输出选择器延迟输出所述第二输出。
16.根据权利要求14所述的安全保障系统,其中:
所述随机序列发生器被配置为生成又一随机位序列,并且所述安全保障系统还包括:
随机延迟选择器,被配置为基于所述又一随机位序列确定随机延迟,
其中所述第一延迟电路包括第一随机延迟电路,所述第一随机延迟电路被配置为接收所述至少一个输入,并且基于被用作所述延迟的所述随机延迟向所述第一计算设备延迟输出所述至少一个输入,以及
其中所述第二延迟电路包括第二随机延迟电路,所述第二随机延迟电路被配置为接收所述第二输出,并且基于被用作所述延迟的所述随机延迟向所述随机输出选择器延迟输出所述第二输出。
17.根据权利要求14所述的安全保障系统,其中:
所述第一延迟电路包括第一随机延迟电路,所述第一随机延迟电路被配置为基于所述随机位序列确定随机延迟,接收所述至少一个输入,并且基于被用作所述延迟的所述随机延迟向所述第一计算设备延迟输出所述至少一个输入;以及
所述第二延迟电路包括第二随机延迟电路,所述第二随机延迟电路被配置为基于所述随机位序列确定所述随机延迟,接收所述第二输出,并且基于被用作所述延迟的所述随机延迟向所述随机输出选择器延迟输出所述第二输出。
18.根据权利要求14所述的安全保障系统,其中所述第一输出和所述第二输出中的一个输出是主输出,并且所述安全保障系统还包括:
输出开关,被配置为接收配置信号,并且基于所述配置信号选择性地输出来自所述随机输出选择器的所述随机输出或者所述主输出作为系统输出。
19.一种方法,包括:
通过第一计算设备,执行将至少一个输入转换为第一输出的第一计算来基于所述至少一个输入生成所述第一输出,其中所述第一计算基于由存储在所述第一计算设备上的第一指令集;
通过第二计算设备,执行将所述至少一个输入转换为第二输出的第二计算来基于所述至少一个输入生成所述第二输出,其中所述第二计算基于由存储在所述第二计算设备上的第二指令集;
通过随机序列发生器,生成随机位序列;
通过随机延迟选择器,基于所述随机位序列选择随机延迟;
通过第一随机延迟电路,基于选择的所述随机延迟来延迟所述至少一个输入在所述第一计算设备处被接收;
通过第二随机延迟电路,基于选择的所述随机延迟来延迟所述第二输出;以及
通过故障检测电路,基于第一输入和延迟的所述第二输出的比较,生成比较结果。
20.根据权利要求19所述的方法,还包括:
基于所述随机位序列从所述第一输出和延迟的所述第二输出中选择随机输出,以及
输出所述随机输出。
CN201910789464.8A 2018-08-27 2019-08-26 保障x模块冗余 Active CN110861600B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/113,158 2018-08-27
US16/113,158 US11263322B2 (en) 2018-08-27 2018-08-27 Secure x-modular redundancy

Publications (2)

Publication Number Publication Date
CN110861600A CN110861600A (zh) 2020-03-06
CN110861600B true CN110861600B (zh) 2023-12-01

Family

ID=69412354

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910789464.8A Active CN110861600B (zh) 2018-08-27 2019-08-26 保障x模块冗余

Country Status (3)

Country Link
US (2) US11263322B2 (zh)
CN (1) CN110861600B (zh)
DE (1) DE102019122145A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11244046B2 (en) 2019-09-16 2022-02-08 Nuvoton Technology Corporation Data-sampling integrity check using gated clock
US11321457B2 (en) * 2019-09-16 2022-05-03 Nuvoton Technology Corporation Data-sampling integrity check by sampling using flip-flops with relative delay
CN112291128B (zh) * 2020-10-29 2022-10-21 黑芝麻智能科技(上海)有限公司 基于总线的通信系统、片上系统和用于其的方法
US11636227B2 (en) 2020-11-16 2023-04-25 Nxp B.V. Protection against fault attacks by duplication
EP4002089A1 (en) * 2021-11-01 2022-05-25 Nxp B.V. Protection against fault attacks by duplication

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104460647A (zh) * 2013-09-25 2015-03-25 福特全球技术公司 用于识别受损模块的系统和方法
WO2017037725A1 (en) * 2015-09-06 2017-03-09 Bar-Ilan University Randomized logic against side channel attacks
CN106663078A (zh) * 2014-09-04 2017-05-10 高通股份有限公司 延迟电路以及相关的系统和方法
CN107776510A (zh) * 2016-08-29 2018-03-09 法乐第(北京)网络科技有限公司 一种信号传输方法及装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4336029B2 (ja) * 2000-06-19 2009-09-30 株式会社アドバンテスト 半導体集積回路の故障シミュレーション方法および故障シミュレータ
US20050210179A1 (en) * 2002-12-02 2005-09-22 Walmsley Simon R Integrated circuit having random clock or random delay
WO2018013921A2 (en) * 2016-07-15 2018-01-18 Chippewa Data Control LLC Method and architecture for critical systems utilizing multi-centric orthogonal topology and pervasive rules-driven data and control encoding
US11087205B2 (en) * 2017-01-23 2021-08-10 Dsp Group Ltd. Neural cell and a neural network
US10802932B2 (en) * 2017-12-04 2020-10-13 Nxp Usa, Inc. Data processing system having lockstep operation
US10691471B2 (en) * 2018-05-29 2020-06-23 Red Hat, Inc. Conflict resolution for strong symbols
US11349913B2 (en) * 2018-07-17 2022-05-31 At&T Intellectual Property I, L.P. Peer-to-peer network for telecommunication network traffic rerouting
US11963727B2 (en) * 2021-03-30 2024-04-23 Cilag Gmbh International Method for system architecture for modular energy system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104460647A (zh) * 2013-09-25 2015-03-25 福特全球技术公司 用于识别受损模块的系统和方法
CN106663078A (zh) * 2014-09-04 2017-05-10 高通股份有限公司 延迟电路以及相关的系统和方法
WO2017037725A1 (en) * 2015-09-06 2017-03-09 Bar-Ilan University Randomized logic against side channel attacks
CN107776510A (zh) * 2016-08-29 2018-03-09 法乐第(北京)网络科技有限公司 一种信号传输方法及装置

Also Published As

Publication number Publication date
CN110861600A (zh) 2020-03-06
US11914708B2 (en) 2024-02-27
DE102019122145A1 (de) 2020-02-27
US20200065486A1 (en) 2020-02-27
US20220164443A1 (en) 2022-05-26
US11263322B2 (en) 2022-03-01

Similar Documents

Publication Publication Date Title
CN110861600B (zh) 保障x模块冗余
US7774616B2 (en) Masking a boot sequence by providing a dummy processor
US7779273B2 (en) Booting a multiprocessor device based on selection of encryption keys to be provided to processors
US8046574B2 (en) Secure boot across a plurality of processors
US7594104B2 (en) System and method for masking a hardware boot sequence
US20140230055A1 (en) Method for checking an m out of n code
US8918679B2 (en) Apparatus and method for checking an error detection functionality of a data processor
US20070288738A1 (en) System and method for selecting a random processor to boot on a multiprocessor system
US20070288739A1 (en) System and method for masking a boot sequence by running different code on each processor
Michail et al. Design and implementation of totally-self checking SHA-1 and SHA-256 hash functions’ architectures
US20150185268A1 (en) Monitoring Device for Monitoring a Circuit
US20230119255A1 (en) Integrated circuit
JP7038185B2 (ja) レジスタ内容のインテグリティを検証するシステム、および、その方法
US11636227B2 (en) Protection against fault attacks by duplication
US10972268B2 (en) Cryptographic diversity
US20140223568A1 (en) Method for securely checking a code
Moratelli et al. A cryptography core tolerant to DFA fault attacks
JP4435593B2 (ja) 耐タンパー情報処理装置
US20090172489A1 (en) Circuit arrangement and method for checking the function of a logic circuit in a circuit arrangement
US9983926B2 (en) Apparatus, system and method for protecting data
US20240078345A1 (en) Cipher accelerator and method for tamper protection in cryptographic operations
Di Natale et al. A Reliable Architecture for Substitution Boxes in Integrated Cryptographic Devices
JPH1011308A (ja) 情報処理装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant