CN101689233A - 安全敏感系统中的微处理器 - Google Patents

安全敏感系统中的微处理器 Download PDF

Info

Publication number
CN101689233A
CN101689233A CN200880023337A CN200880023337A CN101689233A CN 101689233 A CN101689233 A CN 101689233A CN 200880023337 A CN200880023337 A CN 200880023337A CN 200880023337 A CN200880023337 A CN 200880023337A CN 101689233 A CN101689233 A CN 101689233A
Authority
CN
China
Prior art keywords
microprocessor
hardware
inspection
unit
mould
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200880023337A
Other languages
English (en)
Other versions
CN101689233B (zh
Inventor
拉尔夫·马尔察恩
里·陶
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN101689233A publication Critical patent/CN101689233A/zh
Application granted granted Critical
Publication of CN101689233B publication Critical patent/CN101689233B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1637Error detection by comparing the output of redundant processing systems using additional compare functionality in one or some but not all of the redundant processing components
    • 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/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1497Details of time redundant execution on a single processing unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Hardware Redundancy (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Storage Device Security (AREA)
  • Advance Control (AREA)

Abstract

本发明提供了一种安全敏感计算系统中的微处理器(1),用于根据指令来处理操作数,以通过基于模的检查硬件(2)来与所述微处理器(1)并行地执行运算并比较两个结果的同余性,从而增强其安全性。

Description

安全敏感系统中的微处理器
技术领域
本发明涉及安全敏感系统中的微处理器,用于根据指令来处理操作数。
背景技术
在很多不同的学科(如密码和计算机科学)中,模算术是一种强大的工具。由于模算术,在根据特定指令来执行特定步骤的乘法、加法、除法和/或减法的微处理器的帮助下,可以对消息等进行编码和解码。
因此,对于两个整数a和a’,如果n是正整数并且a-a’是n的整数倍,则将a和a’称作模n同余,并且表达为a≡a′(mod n)。
如果a≡a′(mod n)并且b≡b′(mod n),则对于整数a、a’、b和b’,下列规则成立:
·(a+b)≡(a′+b′)(mod n)
·(a-b)≡(a′-b′)(mod n)
·(a*b)≡(a′*b′)(mod n)。
特别在安全敏感的计算系统(例如智能卡控制器)中,微处理器执行的算术运算可能被干扰或者甚至被称为黑客的未授权人员的攻击所操纵。由于敏感数据可能被盗,特别是如果由软件来计算密码算法(如RSA)时,这可能是危险的。
为了克服该问题,两种众所周知的解决方案是常见的。在第一种解决方案中,将微处理器计算硬件加倍。但是这大部分消耗了过多的芯片面积。在第二种解决方案中,执行加倍的计算,但是因此降低了系统性能。
发明内容
相应地,本发明的目的是提供一种微处理器,能够执行安全敏感的计算,并且在不实质性降低其性能的情况下抵御攻击。
为了实现该目标,该微处理器具有基于模的检查硬件,以与该微处理器并行地执行运算,并且用于比较两个结果的同余性。
本发明的核心在于以下事实,对普通微处理器附加配备基于模的检查硬件以增强系统安全性。该冗余硬件可以与主计算单元或者微处理器并行地执行加法、减法、乘法、MAD(乘和加)以及MSUB(乘和减)运算,并且比较两个结果的同余性。在不匹配的情况下,将向系统报告攻击。
由于在模运算之后减少了操作数向量的宽度,检查单元中的计算逻辑将不如主计算单元中的计算逻辑那样复杂。因此,基于模的检查代表了一种经济的、不需要较大芯片面积的解决方案。
显而易见,本领域技术人员根据要计算的数据的要求和数量,可以选择微处理器和检查硬件的精确硬件架构。
为了尽可能少地影响原始计算功能,建议在相同层级中将检查单元构建在主计算单元之外。两个单元共享所有相关输入信号,包括指令和两个操作数。附加地,检查单元获得计算单元的结果输出作为输入。
如果检查硬件已经检测到同余性不匹配,则向系统报告攻击。这意味着,显示任意错误消息并且执行例如软件异常和/或系统复位。
必须对主计算单元的溢出场景加以特别注意。在该情况中,两个单元的结果将典型地不匹配。如果来自计算单元的溢出状态信号可用,则检查单元可以使用它来抑制模错误状态,否则必须针对导致溢出的软件代码部分禁用模检查。
附图说明
下面描述本发明的实施例。附图示出了:
图1示出了具有检查硬件的示意微处理器。
具体实施方式
图1示出了用于对微处理器1内的加法、减法和乘法运算进行基于模的检查的总体硬件架构,微处理器1的详细实现方式可以根据不同的微处理器类型而变化。为了尽可能少地影响原始计算功能,建议在相同层级中在主计算单元或者微处理器1之外构建检查单元2。单元1、2共享所有相关输入信号,包括指令和两个操作数A、B。附加地,如箭头所示,检查单元2获得计算单元的结果输出作为输入。
每一次当微处理器1接收到指令时,检查单元2将首先确定是否应当对其进行基于模的检查。如果是,则对两个操作数A、B进行模运算,而通常用其它更简单的运算来代替实数除法运算,并且之后根据指令类型对其进行加、减或者乘。最终,如果需要,将对结果再一次进行模运算。在微处理器1的结果变为可用之后,也对其进行模运算并且与检查单元2的结果进行比较。如果微处理器1用于特定指令的循环数量是固定的,则检查单元2仅必须等待相同数量的循环。否则检查单元2可以使用指示运算完成的微处理器1的状态信号。在结果不匹配的情况中,检查单元2将使错误状态输出有效,以对攻击进行信号指示。
一些微处理器2支持更复杂的指令MAD和MSUB。在检查它们之前,将首先对计算单元结果寄存器的内容进行模运算并且进行缓冲。在经过模运算的操作数A、B的乘法完成之后,将缓冲的值与乘法结果相加或者从乘法结果中减去,以得到最终的参考模运算结果。
对于模数n,错误检测等于(n-1)/n。模数越大,错误检测就越大,但是检查硬件2的复杂度也越高。因此,设计者必须选择恰当的权衡。
参考标记列表:
1微处理器
2检查硬件
A、B操作数

Claims (4)

1、一种安全敏感计算系统中的微处理器(1),用于根据指令来处理操作数,其特征在于,提供基于模的检查硬件(2),以与所述微处理器(1)并行地执行运算,并比较两个结果的同余性。
2、根据权利要求1所述的微处理器,其中,在相同层级中,与所述微处理器(1)分离地构建所述检查硬件(2)。
3、根据权利要求1或2所述的微处理器,其中,能够显示错误消息。
4、根据权利要求1至3中任意一项所述的微处理器,其中,所述检查硬件(2)能够考虑溢出状态信号。
CN2008800233377A 2007-07-05 2008-05-09 安全敏感系统中的微处理器 Active CN101689233B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP07111867.3 2007-07-05
EP07111867 2007-07-05
PCT/IB2008/051849 WO2009004505A1 (en) 2007-07-05 2008-05-09 Microprocessor in a security-sensitive system

Publications (2)

Publication Number Publication Date
CN101689233A true CN101689233A (zh) 2010-03-31
CN101689233B CN101689233B (zh) 2013-01-02

Family

ID=39753127

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008800233377A Active CN101689233B (zh) 2007-07-05 2008-05-09 安全敏感系统中的微处理器

Country Status (4)

Country Link
US (1) US8205097B2 (zh)
EP (1) EP2186037B1 (zh)
CN (1) CN101689233B (zh)
WO (1) WO2009004505A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102591763A (zh) * 2011-12-31 2012-07-18 龙芯中科技术有限公司 一种基于确定性重放的处理器整体故障检测系统与方法
CN106484365A (zh) * 2015-08-27 2017-03-08 意法半导体(鲁塞)公司 验证执行模幂计算的电子电路的敏感度
US10229264B2 (en) 2015-08-27 2019-03-12 Stmicroelectronics (Rousset) Sas Protection of a modular exponentiation calculation

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9018930B2 (en) 2010-12-23 2015-04-28 Stmicroelectronics S.R.L. Current generator for temperature compensation
ITMI20111594A1 (it) * 2011-09-05 2013-03-06 St Microelectronics Srl Regolatore di tensione a commutazione
WO2021093931A1 (en) * 2019-11-11 2021-05-20 Huawei Technologies Co., Ltd. Fault detection system

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1561482A (en) * 1976-11-18 1980-02-20 Ibm Protection of data processing system against unauthorised programmes
US5458404A (en) 1991-11-12 1995-10-17 Itt Automotive Europe Gmbh Redundant wheel sensor signal processing in both controller and monitoring circuits
DE19631309A1 (de) 1996-08-02 1998-02-05 Teves Gmbh Alfred Mikroprozessoranordnung für ein Fahrzeug-Regelungssystem
US6028939A (en) * 1997-01-03 2000-02-22 Redcreek Communications, Inc. Data security system and method
US6357024B1 (en) * 1998-08-12 2002-03-12 Advanced Micro Devices, Inc. Electronic system and method for implementing functional redundancy checking by comparing signatures having relatively small numbers of signals
CA2252078C (en) * 1998-10-28 2009-02-17 Certicom Corp. Power signature attack resistant cryptographic system
WO2000049764A1 (en) * 1999-02-18 2000-08-24 Sun Microsystems, Inc. Data authentication system employing encrypted integrity blocks
FR2790844B1 (fr) * 1999-03-09 2001-05-25 Gemplus Card Int Procede et dispositif de surveillance du deroulement d'un programme, dispositif programme permettant la surveillance de son programme
US6978372B1 (en) * 1999-05-20 2005-12-20 Lucent Technologies Inc. Verification of correct exponentiation or other operations in cryptographic applications
US6832316B1 (en) * 1999-12-22 2004-12-14 Intertrust Technologies, Corp. Systems and methods for protecting data secrecy and integrity
JP2003131569A (ja) * 2001-10-24 2003-05-09 Matsushita Electric Ind Co Ltd 二乗剰余演算回路、二乗剰余演算方法及びプログラム
EP1333350A1 (en) * 2002-01-30 2003-08-06 STMicroelectronics Limited Memory security device
FR2838210B1 (fr) * 2002-04-03 2005-11-04 Gemplus Card Int Procede cryptographique protege contre les attaques de type a canal cache
EP1465038B1 (en) * 2003-04-03 2013-03-27 STMicroelectronics (Research & Development) Limited Memory security device for flexible software environment
US7502943B2 (en) * 2003-04-18 2009-03-10 Via Technologies, Inc. Microprocessor apparatus and method for providing configurable cryptographic block cipher round results
US20040230813A1 (en) * 2003-05-12 2004-11-18 International Business Machines Corporation Cryptographic coprocessor on a general purpose microprocessor
DE102004008901A1 (de) * 2004-02-24 2005-09-15 Giesecke & Devrient Gmbh Sichere Ergebniswertberechnung
DE102004014435A1 (de) * 2004-03-24 2005-11-17 Siemens Ag Anordnung mit einem integrierten Schaltkreis
JP4447977B2 (ja) * 2004-06-30 2010-04-07 富士通マイクロエレクトロニクス株式会社 セキュアプロセッサ、およびセキュアプロセッサ用プログラム。
US7802110B2 (en) * 2004-08-25 2010-09-21 Microsoft Corporation System and method for secure execution of program code
FR2883998A1 (fr) * 2005-04-05 2006-10-06 St Microelectronics Sa Coprocesseur securise comprenant un circuit de detection d'un evenement
US7404089B1 (en) * 2005-06-03 2008-07-22 Pitney Bowes Inc. Method and system for protecting against side channel attacks when performing cryptographic operations
US7953980B2 (en) * 2005-06-30 2011-05-31 Intel Corporation Signed manifest for run-time verification of software program identity and integrity
US8135958B2 (en) * 2005-11-22 2012-03-13 International Business Machines Corporation Method, system, and apparatus for dynamically validating a data encryption operation
US8065531B2 (en) * 2006-04-06 2011-11-22 Nxp B.V. Decryption method

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102591763A (zh) * 2011-12-31 2012-07-18 龙芯中科技术有限公司 一种基于确定性重放的处理器整体故障检测系统与方法
CN102591763B (zh) * 2011-12-31 2015-03-04 龙芯中科技术有限公司 一种基于确定性重放的处理器整体故障检测系统与方法
CN106484365A (zh) * 2015-08-27 2017-03-08 意法半导体(鲁塞)公司 验证执行模幂计算的电子电路的敏感度
US10229264B2 (en) 2015-08-27 2019-03-12 Stmicroelectronics (Rousset) Sas Protection of a modular exponentiation calculation
CN106484365B (zh) * 2015-08-27 2019-03-19 意法半导体(鲁塞)公司 验证执行模幂计算的电子电路的敏感度

Also Published As

Publication number Publication date
WO2009004505A1 (en) 2009-01-08
CN101689233B (zh) 2013-01-02
EP2186037A1 (en) 2010-05-19
EP2186037B1 (en) 2018-10-03
US20100191980A1 (en) 2010-07-29
US8205097B2 (en) 2012-06-19

Similar Documents

Publication Publication Date Title
EP3719639B1 (en) Systems and methods to perform floating-point addition with selected rounding
CN101689233B (zh) 安全敏感系统中的微处理器
US10515218B2 (en) Systems, apparatuses, and methods for platform security
US9218490B2 (en) Using a trusted platform module for boot policy and secure firmware
Vassiliadis et al. Interlock collapsing ALU's
US7801298B2 (en) Apparatus and method for detecting a potential attack on a cryptographic calculation
CN110168493B (zh) 在128位宽的操作数上的融合乘加浮点运算
US10491381B2 (en) In-field system test security
US20160180095A1 (en) Measured boot capability
US11226791B2 (en) Arithmetic processing device and method of controlling arithmetic processing device that enables suppression of size of device
Arnold et al. IBM 4765 cryptographic coprocessor
CN103049710B (zh) 用于sm2数字签名验证算法的fpga芯片
WO2010051298A2 (en) Instruction and logic for performing range detection
US20230169173A1 (en) Standardized Interface for Intellectual Property Blocks
JP4766285B2 (ja) 永久データハードウェアインテグリティ
Medwed et al. Arithmetic logic units with high error detection rates to counteract fault attacks
CN111752745A (zh) 对码字中相邻两位错误的检测
US10859627B2 (en) In-field system testing
US8626816B2 (en) Method, system and computer program product for detecting errors in fixed point division operation results
US20180067722A1 (en) Apparatus for Calculating and Retaining a Bound on Error during Floating Point Operations and Methods Thereof
CN114692139A (zh) 针对推测脆弱性来强化加载硬件
JP4382128B2 (ja) 情報処理装置、および、その誤演算検出方法
US11797300B1 (en) Apparatus for calculating and retaining a bound on error during floating-point operations and methods thereof
US20220060315A1 (en) Sign-based partial reduction of modular operations in arithmetic logic units
JP3555881B2 (ja) 演算回路とそのエラー検出方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant