CN1124533C - 智能集成电路 - Google Patents

智能集成电路 Download PDF

Info

Publication number
CN1124533C
CN1124533C CN99803338A CN99803338A CN1124533C CN 1124533 C CN1124533 C CN 1124533C CN 99803338 A CN99803338 A CN 99803338A CN 99803338 A CN99803338 A CN 99803338A CN 1124533 C CN1124533 C CN 1124533C
Authority
CN
China
Prior art keywords
processor
integrated circuit
auxiliary
intelligent integrated
primary processor
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.)
Expired - Lifetime
Application number
CN99803338A
Other languages
English (en)
Other versions
CN1292109A (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.)
CP & Technologies
Original Assignee
Bull CP8 SA
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 Bull CP8 SA filed Critical Bull CP8 SA
Publication of CN1292109A publication Critical patent/CN1292109A/zh
Application granted granted Critical
Publication of CN1124533C publication Critical patent/CN1124533C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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/75Protecting 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 by inhibiting the analysis of circuitry or operation
    • G06F21/755Protecting 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 by inhibiting the analysis of circuitry or operation with measures against power attack
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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/77Protecting 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 smart cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/81Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer by operating on the power supply, e.g. enabling or disabling power-on, sleep or resume operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • G06F9/3879Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/0806Details of the card
    • G07F7/0813Specific details related to card security
    • G07F7/082Features insuring the integrity of the data on or in the card
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Multi Processors (AREA)
  • Microcomputers (AREA)
  • Storage Device Security (AREA)
  • Input Circuits Of Receivers And Coupling Of Receivers And Audio Equipment (AREA)
  • Power Sources (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Electronic Switches (AREA)

Abstract

本发明在于一个智能集成电路。这个智能集成电路的特征在于它具有一个主处理器(1)和一个应用系统、至少一个辅助处理器(2)以及各处理器与一些装置共用的供电电路。主处理器(1)及应用系统执行主程序(P1),构成实现任务的主处理;辅助处理器能协同地执行至少一个辅助程序(P2),构成至少一个实现任务的辅助处理;共用的供电电路(6)保证一个或多个有类似能量但运行特征标记不同的辅助处理与主处理协同,用连续或间歇的方式将能量干扰引入供电电路,这个干扰叠加在主处理的能量上,以实现连续的或间歇的干扰。

Description

智能集成电路
已经知道,各种微处理器或各种微型计算机或智能集成电路是通过在微处理器、微型计算机或智能电路的内部或外部所提供的多个有节律的信号与时钟信号的同步来顺序地执行记录在存储器中的一个程序的指令。智能集成电路是一个包含有特别电路且限于执行有限个指令或功能的集成电路,而使得这些集成电路获得特别的进步。
已经证明,能够根据时间将执行程序的各个阶段描绘下来,因为指令的执行按照这个程序所予定的过程顺序进行的,一般说来,是和使处理器有节律的时钟信号是同步的。事实上,要将整个程序翻译成一个应按予先知道的顺序逐个执行的指令序列,每个指令的开始时间和结束时间都是完全已知的,因为每个指令的执行都是按照一个予定的处理。对于那些复杂的分析装置而言,这个过程具有人们称为可知的“标记”。已经知道,可以用指令或指令列通过测量不同的电子线路消耗能量的信号来得到这个处理的特征标记。因此,原则上说,可以在知道在处理单元中在给定的时刻所执行的指令序列的性质,因为正进行的程序是由这些特征标记已知的指令的予定序列所构成的。
可以通过这样的装置来确定要执行的是什么特用的指令以及这个指令所用的数据。
当将一个微处理机或微型计算机用于高度机密的应用中时,能够观测到这个微处理机或微型计算机中一个程序运行的细节是非常不利的。实际上,某个有不良意图的人可以知道处理器的相继状态,并提取部分信息以知道内部处理的某些敏感的结果。
例如,可以想象,根据给定的保密操作的结果,在不同的时刻进行给定的活动,例如检测内部的保密信息,或对消息解密、或进一步控制某些信息的完整性。可根据所考察的时刻,例如去影响处理器、或用物理探查获得某些寄存器的值,以能得到秘密信息的结果或内容,这甚至能在使用编有密钥的加密计算的情况下使用。
已经知道一些装置,它在保密的微型计算机上装上随机时钟脉冲发生线路,给这些保密微型计算机带来了初步的改善。采用这种方法,使得各种侦探方法都很难观测到各个事件,因为它们之间的同步变得快速的不可能实施,而且事件的发生变得难以预料。
然而这种方法有很多缺陷。
首先是这样的线路的观念就是非常艰难和非常令人讨厌的,因为不可能在与微型计算机具有同样复杂性的整体中模拟随机运行,而在其制造结束时在混乱的行为中对这些线路的测试就更为困难。事实上,一个时钟脉冲的随机序列对于线路的调整就是非常难于模拟的,而更为困难的则是控制处理器的逻辑线路整体的各种性能,特别是在内部的总线上和在各寄存器中的信号交换的周期内。
还知道另一种装置,它引入一种新的结构,它是建立在微处理机是否使用一种虚设存储器的基础上,使用这种虚设存储器使得与外界的同步完全去掉,使用这种方法就使对事件和特征标记观测变得非常困难。
然而,随机时钟或者虚设存储器的使用,甚至即使这些使用带来了有意义的改善,也不能改变微处理机的基本性能,它的基本性能总是序列的,即使相继的各条指令来自不同的程序。因而在理论上存在着“滤去”坏的指令而仅保留好的指令,因而还可抽取来自微处理机的那些信息部分。
事实上还有另外一个缺陷:必须保护那些被虚设序列所中断的程序执行的上下文,并将之恢复,这对于保护那些不可忽视的存储器资源是必要的。
本发明的目的之一就是装备智能集成电路以禁止上面所述的勘查,更普遍地是阻止所有的对来自处理器或主处理单元的信号的翻译,这种电路称为“多种不可追踪微计算机”(“MUMIC”Multi UntraceableMicrocomputer)。
这个目的是用下面的方法达到的:所说的智能集成电路具有一个执行主程序的主处理器和一个应用系统用来构成一个主处理,这个智能集成电路还有至少一个辅助处理器,它能够协同执行至少一个辅助程序以构成至少一个辅助处理;集成电路还有与各处理器相连接的共用电源电路和一些装置,这些装置用来保证单个或多个类似能量的及有各种不同运行的特征标记的辅助处理与主处理协同进行,用连续的方式或用间歇的方式将能量干扰引入供电电路中,将能量干扰叠加在主处理能量上,以此实现连续的或间歇的干扰。
根据另一个特征,每个主处理器和辅助处理器都是一个保密的微处理机或微型计算机。
根据另一个特征,是由智能集成电路的主处理器(1)的应用系统去启动激活这些装置的,使得由上述这些装置所建立起来的附加安全仅是由处在从外部的可访问的集成电路的某个地方的应用系统的主处理器所执行的结果来决定的。
根据另一个特征,述及的智能集成电路具有一个供主处理器使用的主存储器,其中的至少一个部分处有述及的应用系统,是不能从外部访问的,然而能由两个处理器中的至少一个和供这个辅助处理器使用的一个相应的辅助存储器去访问。
根据另一个特性,智能集成电路在各处理器、各处理器的相应的存储器以及输入输出电路之间至少有一条通信总线。
根据另一个特性,智能集成电路是借助于在一个或多个基底上散布的逻辑电路来实现的,使得两个处理器的物理植入不是用易于重复的功能块来实现的,例如是用物理结合但具有分开的逻辑结构。
根据另一个特性,辅助处理器执行辅助处理任务,即将主处理功能的特征标记最小化或取消。
根据另一个特性,辅助处理器执行辅助处理的任务是与主处理器所执行的主处理器的任务相关的,以使处理的中间结果从来不出现在处理过程中。
根据另一特性,辅助程序使用的工作空间小于主程序的工作空间。
本发明的第二个目的是使得只能在辅助处理运行时主处理才能运行。
这第二个目的是用智能集成电路在主处理器与辅助处理器之间具有通信装置来实现的。
根据另一个特性,两个处理器之间的通讯装置能使主处理器知道辅助处理器是否在运行。
根据另一个特性,两个处理器之间的通信装置能使主处理器去鉴别辅助处理器。
根据另一个特性,辅助处理器的证实或运行的检验是由主处理器在处理过程中实现的。
根据另一个特性,辅助处理器的激活装置或是由主处理器及其主程序,或是由一个中断系统,或是由一个时间计数器,亦或是由三者的结合来控制的。
本发明的第三个目的是使辅助处理器实施的一个程序完全不同于主程序。
达到这第三个目的的方法是使辅助处理器所执行的辅助处理的任务与主处理器所执行的主处理的任务无关。
根据另一个特性,辅助处理器所执行的辅助处理的任务是将主处理器的运行特征标记最小化或抹去。
本发明的第四个目的是辅助程序使用的程序的特征标记的作用和主处理器所引导的特征标记的作用相反。
达到第四个目的是用辅助程序实施一个与主处理相关的处理,使得这两个过程的结合所提供的一个辅助处理器的运行特征标记能将主处理器运行的特征标记掩盖起来。
根据另一个特性,使处理器执行的任务是和主处理器的任务相关的,以使处理中间的结果绝不出现在处理的过程中。
本发明的第五个目的是使用已经有效的电路来实现一个新颖结构,而不需建立一个新的半导体技术或新的制造方法。
用辅助处理器可替代主处理器或者反之亦然来达到第五个目的。
根据另一个特性,辅助处理器执行的任务是通过将主、辅助处理器分别执行各自的程序的处理同步和将所得的两个数据值进行比较来和主处理器执行的任务相关的。
根据另一个特性,辅助处理器所执行的任务是通过从主程序中逻辑地推断辅助程序来使和主处理器所执行的任务相关的。
根据另一个特性,述及的智能集成电路至少有两个处理器,且每个处理器都有各自的总线与每个处理器的随机存取存储器、只读存储器相连,并使和主处理器的非易失存储器相连。
根据另一个特性,述及的智能集成电路具有多个处理器,每个处理器在和一条共同的通信总线相连,这条总线在连接在这条总线上的各处理器及随机存取、只读及非易失(non volatile)存储器组间多工操作,由仲裁电路管理访问此共同总线的冲突。
根据另一个特性,辅助处理器按照不管什么样的顺序相继执行或与主处理器执行的程序相关的程序,或与主处理器执行的程序不相关的程序。
在后面的描述中,将会更清楚看到本发明的别的特性和优越性。后面的描述要参照下列附图:
-图1示出本发明的集成电路一个实施方式的逻辑示意图,这个集成电路中有两个处理器,每个处理器有它的总线。
-图2a是上述集成电路的两个处理器间的通信电路的一个实施例;
-图2b是该电路的两个处理器间的通信中所使用的一个帧的结构。
-图3是根据本发明的集成电路的一个实施方式的示意图,其中有两个处理器及唯一的一条总线。
-图4是用同步和对来自两个处理器的数据的两个值进行比较而实施保护的实施方式的示意图。
-图5是智能集成电路的双存取通道存储器的一个实施例,在每个通道上用一个处理器存取。
-图6示意性地示出根据本发明的电路的元件的物理植入方式。
-图7示出一个具有两个处理器的电路的各元件的传统的植入方式。
本发明的目的在于智能集成电路,称为MUMIC(MultiUntraceable Microcomputer),下面结合图1说明其逻辑结构的第一个变形。如后面所看到的,这个逻辑结构并非是其物理结构或拓扑学分布的表示。这个智能集成电路是由一个主处理器(1)和一个辅助处理器(2)构成的。每个处理器是通过它们各自的通信(地址、数据和控制)总线(3、4)与各自的存储器(12、13、22)和如易失存储器RAM(11、12)那样的工作寄存器连接,这些存储器(12、13、22)中每个装有主处理器(1)和辅助处理器(2)所要执行的主程序(P1)和辅助程序(P2)。与辅助处理器相连的存储器都是“虚设”随机存取存储器(DumRAM21)和“虚设”的只读存储器(DumROM),这些存储器可使辅助存储器可执行的任务是迭加在主处理器(1)所执行的任务之上的。主处理器的应用系统例如是只读存储器(12)的一个从外部不能存取的部分,但却至少可为两个处理器中的一个存取。每个处理器(1、2)都有各自的专门的定序器(分别为19、20)。本发明的集成电路还有一个输入输出总线(14),这条总线一方面仅和单一的总线相连,或当按照一种变形,集成电路是和多个总线相连时而与主处理器的总线相连,另一方面例如通过接触,或者通过一个无接触的连接装置与外界连接,用来接收来自一个终端的信号。可以在上述的处理器中增加一个寄存器组(R1、R2、R3)和一个中断电路(15)来实现与后面所描述的一个变形相适应的一些运行的变形。三个寄存器单元(R1、R2、R3)都和一个中断发生电路(15)相连,而后者则接在处理器(现为主处理器)的中断输入处。
在主处理器(1)控制从动辅助处理器的情况下,主处理器(1)的应用系统是唯一的,且位于主处理器可存取的只读存储器(12)中,对于一些变形,各处理器之间可有相互交换角色时,则需要有第二个应用系统,或者同一个应用系统可以使辅助处理器进行访问,例如通过交换访问权的筹码(jeton),并在处理器在转手访问权之前对这个访问权进行控制。同样,可以在每个处理器中增加一个中断电路,这对于处理器所要扮演的角色是需要的,特别是在交换角色的情况下或在图2a所示的实施变形中。
主程序(P1)是装在非易失存储器(13)中,且使用与申请号为FR 2 765 361公布的法国专利申请中所描述的存储器相应的虚设存储器,同时要考虑到智能集成电路中至少有两个处理间的执行的同时性。在这样的情况下,在同一个周期中会使用两种类型的存储器(虚设的或别的),即使总线在实际上是多工的也是这样。
述及的集成电路还有一个输入输出接口,与这个集成电路的至少一条总线相接,这个接口可以是并联/并联型的,亦可是并联/串联型的。在一个实施变形中,主处理器(1)的随机存取存储器RAM(11)可以是由辅助处理器(2)的虚设随机存取存储器(21DumRAM)提供的,以能够成一个如图5所示的单一且同一的双通道存储器。这些双通道随机存取存储器(11-21)使用一对地址寄存器(110、210),用来接收地址信号(ADD0、ADD1),亦可分别由主处理器(1)和辅助处理器(2)所访问。这些双通道随机存取存储器(11-21)还使用第一对数据寄存器(111、211)来分别为主处理器(1)和辅助处理器(2)所访问,读取数据。数据读取寄存器的输出是和发送数据信号(D0、D1)的放大器(113、213)相连接。最后,这些双通道随机存取存储器(11-21)还使用第二对数据寄存器(112、212),用来分别为主处理器(1)和辅助处理器(2)所访问,写入数据。这类双通道存储器的结构为如Motorola或Texas仪器公司供应商所使用。同步的或不同步的双通道存储器可通过两个不同的信道去访问存储地址区,读取或写入。特别是将这些存储器用于调整不同系统间的同步化处理。将双通道存储器用于处理间的同步是建立在下面的事实上:各处理器可以用同步或非同步的方法,通过两条独立的信道(地址和数据)来访问存储器,并分享可以同时使用的数据。
两个处理器(1、2)及它们的总线(3、4)和它们的存储器(11、21;12、13、22)都是用同一的一个供电电路(6)供电的,使得一个与另一个处理器间的能量需求间的区别为最大。实际上,由于半导体技术的成果,今天可以将两个处理器做在同一个小片上,只有几个平方毫米,因此得到的方案在经济上是可行的,第二个处理器的增加的面积很少,特别是要和随机存取存储器(RAM)和可编程非易失存储器(NVM)相比的话。建议使用布局工具和路径工具,这可将所有的处理器融在唯一的单个概念(设计)块中。通常,如果一个技术人员将两个处理器及随机存取、只读及可编程非易失存储器都植于同一个基底上,他便寻求将各种功能的重新组合以及优化的路径、定时限制的规则(le respect des comtrainter de timing),这便使他采用的结构和定位非常接近于图7所示的结构和定位。在图7中,两个处理器(CPU1、CPU2)的位置是一个接近于另一个,时钟电路(H)邻近两个处理器,构成输入输出的回路(14)也邻近两个处理器,以及那个在技术上称为逻辑“粘胶”的G1也是集成电路运行中所需要的一个逻辑元件组。构成随机存取存储器RAM(11和12)、只读存储器ROM(12和22)以及非易失存储器NVM(13)都放在周围。本发明的特性在于:所有的逻辑算符、算术算符以及所有的控制功能都是通道或基本单元上一个与另一个相混杂的,以致不能原始地确定属于某一个功能的单元的物理布局。这样,每个处理器都分成如在图6用正方块,矩形块所示出的一定数目的单元。还可将这些单元放在所示的别的形状的块中,构成时钟电路的单元放在圆中,构成逻辑“粘胶”单元放在六角形中,构成环路的单元放在梯形中,最后是这些单元的组合,正如图6所示。使用通用的拓扑学方法而不要物理的功能块,两个处理器电路的这种物理植入是非常易于实现的,易于修复,像在通常的情况下。将这样的拓扑方法用于Gate Arrays电路,其中的每个矩阵单元都可对任何一种功能的实现做出贡献。使用这种方法,可以将两个处理器(1、2)物理地结合在一起,尽管逻辑机制是分开的。根据这一点,两个相邻的半导体或者属于这一个处理器,亦可属于另一个,还可属于它们的附属电路。这是可能的,这是因为微处理机的芯片的定址区域的电路类别并不限制在时钟的循环期的提升,电路的这种植入方式对保证整体的安全就特别有利。当然,这种电路的实现是需要计算机帮助的自动追踪,以保证信号路径的正确和运行得到控制。由此得出,每个功能块的消耗是完全交错的,结合在一起的。
另外,两个处理器之间可以通信,或是通过一个专门的连接,或是通过连接在总线(3、4)上的一个通信寄存器组(图2a中的50、51),亦或是通过别的处理器的总线上的周期挪用(vol de cycle),还可以像在图3中所示的那样,在两个处理器分享一条总线的情况下使用一个仲裁逻辑。
图2a所示的连接例如是借助于检测电路(B1、B2)使用以中断方式运行的两个寄存器(50、51)的连接。但是也可使用一个双存取寄存器(5),其所用的协议接近于在智能卡中所用的协议,就是说,在协议中,主处理器(1)是主控的。在图2a所示的实施例中,第一个寄存器(50)保证主处理器(1)的总线(3)和辅助处理器(2)的总线(4)之间的连接,与此同时,第二个寄存器(51)保证了在另一个方面上的连接。第一寄存器(50)和第二寄存器(51)中的每一个都分别装有第一存储触发电路(B1)和第二存储触发电路(B2),当将一个信息送给一个寄存器时,相应的存储触发电路便过渡到激活状态。第一个触发电路(B1)的输出连接在辅助处理器(2)的中断系统上,与此同时,第二个触发电路(B2)连接在主处理器(1)的中断系统上。各寄存器的大小足以容纳每个处理器的请求和应答。图2b示出一个帧的结构,其中有一个标题,一个数据场和一个用来检测误码的场。每个帧可以构成一个信息块(bloc I),亦可构成一个确认块(blocA),两个块中的每一个都可以在两个方向上传输。标题可以是由两个八位字节构成的,第一个八位字节给出块的号码,而第二个八位字节给出了块的长度。当将一个块传送给第一寄存器(50),则相应的触发电路就产生一个信号,这个信号经辅助处理器(2)译成一个中断IT1,并使它能预计到有一个信息在要到达的第一寄存器(51)。辅助处理器(2)就可以读取第一寄存器(50)的内容,获得这个块,然后确认由第二寄存器(51)中确认块接收该块,到达具有相同号码的主处理器(1)。这种方法是已知的,特别是对于块链,尽管在本发明的范围内,这种方法并非是必须的。在每个信息块中,信息场可以由自己分成两部分:一个指令场和一个数据场。指令场还可以使主处理器将一些指令发送给辅助处理器。例如,此表格是没有限制的,则可看到指令如下:读取、写入、校验数据、鉴别。当辅助处理器(2)接收到一个指令时,它便通过送到第二寄存器(51)的确认块(bloc A)去确认这个指令的接收,并在发出应答之前,以信息块(bloc I)的形式处理在第二寄存器中的操作。这个块的接收则是由主处理器(1)通过第一寄存器(50)的确认块来确认的,后面仍是这样。块的编号能使错误传输或错误接收到的数据块重复。当然用来在主处理器和辅助处理器之间交换信息的协议是可以用在相反方向的。
两个程序(P1、P2)分别是在主处理器(1)和辅助处理器(2)中执行的,以使两个指令的执行是同时进行的,同样也可以将指示辅助处理器(2)的时钟错开一些相位,以使在每个处理器中指令周期并不完全对应。该错开还可以是变化的,亦可是随机的。这可以由同样变化的指令周期的迭加来表示。这错开可以用辅助处理器(2)的定序器(20)来生成。
一个有利且经济的办法是用一个非常小的“虚设”随机存取存储器来用作辅助处理器(2)的“虚设”存储器。实际上这个存储器并不扮演实际运行方面的角色,可以限制它的地址空间,使它仅在芯片上占据最小的地方。这个空间例如可以是对应于在随机存取存储器的矩阵中简单增加一个或几个RAM存储器的行,这空间具有它专有的地址寄存器和数据寄存器。
可以让辅助处理器(2)永久运行,但最好在两个处理器间安置一个通信信道,非常容易将这条信道用来激活辅助处理器(2)和/或为主处理器(1)指明辅助处理器(2)正在运行和/或在实际执行任务。各处理器至少有两个状态:活动状态或非活动状态。例如,活动状态对应于执行一个各种操作的序列,而非活动状态则是用一个不含有任何操作的等待周期来实现的。从一个状态过渡到另一个状态是用两个处理器间的一个通信机制来实现的。例如主处理器可以用向辅助处理器发送一个中断来将非活动状态的辅助处理器激活。在利用激活机制的实施变形中,各处理器或将一串中断行发送给至少另一个处理器,或是将一个复位串发送给它,用这种办法来支配每一个处理器。实际上,另一个并非理想的实现从活动状态过渡到非活动状态的方法可以是在处理器的目的地保持重新初始化信号(复位),而当处理器过渡到活动状态时,则将这个信号去激活并废除。因此,激活机构就是这样的机构,它能使一个处理器让另一个处理器从活动状态过渡到退活动状态,或者相反。
可以通过在两个处理器之间的一个鉴别机制,或是通过活动寄存器的检验机制,来实现这一点。鉴别机制的启动或是应主处理器(1)的要求的,或是周期性地,又或是随机的。当主处理器在鉴别过程中检验到一个畸变时,它可以停止整个处理,或进入等待状态。
为此,可以使用中断方式的运行。例如,当由在主处理器(1)处检测到的畸变而生成中断时,便在两个处理器之间产生一个对话来实现由主处理器(1)所引导的鉴别。这个鉴别例如在于由主处理器(1)来使对基于一个密钥的一个数据进行编码,这个密钥是存储在与主存储器(1)的总线(3)连接的一个可编程非易失存储器(13,NVM)的一个秘密区域。将编码的数据经通信信道传输给辅助处理器(2),辅助处理器(2)又将它解码,然后将结果发送回主处理器(1),主处理器(1)将解码结果和数据进行比较。如果解码结果是正确的,则主处理器(1)可以继续工作,否则它便进入等待期,等待下一个鉴别。这些机制对技术人员来说是已知的,没有什么特殊的问题。
主处理器(1)亦可以检验辅助处理器(2)的“虚设”随机存取存储器(DumRAM,22)中一个活动的寄存器,并验证出这个寄存器在每次检验中都有改变。如这个寄存器没有改变则主处理器便可以用类似于前面的方法废止其活动性。
在一个变形中,辅助程序(P2)可以使用主程序(P1)中某一部分的拷贝,在起始指向一个地址且/或者用和主程序不同的数据运行,还可以用这个程序执行一些合乎情理的但对于运行方案是无用的指令以得到保证。
还可以使得在辅助处理器(2)中执行一个程序是与在主处理器中执行的程序相关的,以使处理的中间结果始终不出现在执行的过程中。例如,假定希望掩盖运算F的结果,则使每个处理器分别执行两个不同于F的函数f1和f2,而这两个函数的选择使得F的结果可以用将这两个不同函数的结合起来的g函数来得到,即F=g(f1,f2)。
为了避免将错误引入卡的编码和/或数据中,也避免侵蚀智能卡(微分故障分析(DFA))便建议插入“排斥错误”程序。这种错误的引入特别是通过对供电和/或时钟(电源/时钟假信号脉冲)的瞬间改变而实现的。在下面的例子中(一个假设的通信程序),攻击者都企图改变条件支路(线3)或衰减(线6)的行为,以能获得通常予置在存储区之外的数据(应答_地址+应答_长度):
1    b=应答_地址
2    a=应答_长度
3    若(a==0)转到8
4    transmit(*b)
5    b=b+1
6    a=a-1
7    转到3
8    …
这些用于智能卡《排斥错误》的(即可以检测错误的)程序具有定义的一些冗余任务,这些冗余任务是在多处理器卡的处理器(CPU)中执行的。
在一些由硬件的或软件的“闩”所实现的同步点,如衰减的物理计数器和逻辑计数器,以及转移型的原子指令(由现有技术知道的“swap”、“read_modify_write”),程序执行中的冗余任务的调准是由一个或多个主处理器来验证的。
一个不一致(désaccord)被一个具有验证方法的处理器看成是侵袭标记(signe d′une attaque)。由欺诈者所在卡的码中引入的错误使这些鉴别变得非常复杂,在上面的例子中,攻击者变成用同样的方法修改两个(或多个)任务的行为,这在实际上是不可能的(不实际的)。
在实践中,要力图保护程序“关键”数据的完整性。对于所有变量的保护可以用存储器的复制来实现。每个处理器(CPU)就具有其自己所用的变量的拷贝,这些拷贝是存储在实际运行的存储器中,而不是在“虚设”型的存储器中。在我们假定的例子中,变量a的衰减(循环计数器compteur de boucle)可以用下面的指令序列得到保护,这个序列由每个处理器去执行:
            6          a=a-1
       6′    处理器同步
6′    if(a′!=a)转到attack
此处“a′”是变量“a”的一个拷贝,用在第二个处理器中,在“a′”和“a”不同的情况下,程序转到称为“attack”的处理分支上去,这个处理会采取必要的措施来保护卡。
例如,在对一个攻击进行检测之后,就转移到标识(label)为“attack”的分支上,“attack”处理例程中执行适当的操作,如微处理器复位(Reset)和/或取消在非易失的可编程存储器(例如E2PROM型的)的密钥。
这里指出,同样可以直接保护流量的控制,即程序的进程。保护的关键数据就是处理器的顺序计数器(或与顺序计数器相关的其它信息,如果各处理器不执行同一种码的话)。在希望保护的每条分支(有条件的或无条件的)之后,必须将冗余任务与各分支所分别取的方向上的信息进行比较。在上面给出的假定的例子中,在线3中的条件分支就可以是用在线4和8中的顺序计数器或相应的信息的交换和比较来保护的。
交换和比较的操作可以是用软件的方法来实现(如和上面所描述的6-6″指令序列的方法类似),亦可用硬件的方法实现,例如用如图4所示的一个比较器(8),这个比较器是用同步运行的结果的信号来启动的,并将这个信号送到比较器的有效输入。比较器(8)还在其它输入端(81、82)接收到分别代表每个主处理器(1)和辅助处理器(2)的顺序计数器(PC、PC′)的数值的信号。
在遭到攻击的情况下,比较器硬件(8)通过发送到其输出(83)处的信号(攻击中断)而启动,一个中断处理于是就通过微处理机的中断机构进行适当的操作(例如:重置中断)。
可以试图地说,这些机构类似于在一个具有两个处理器的系统中程序的传统执行,而本发明的机构是非常不一样的。
*两个处理器都是用同一个电路供电的,以使将这两个处理器及其辅助电路的瞬间的不同电耗混淆起来,这两个处理器及其辅助电路可以是处在同一片硅的基片上。
*在辅助处理器中所使用的指令的特征标记具有掩盖在主处理器中执行的指令的特征标记的作用的性质。
*辅助程序的目的在于执行与主程序不同的功能,然而它掩盖了主程序的功能。可以考察一个辅助处理,它所执行的任务与主程序没有相关性,例如,不相干的、或且相反,为了掩盖使得它所实现的任务是与主处理并行的,与主处理相关。
*“虚设”随机存取存储器的大小经常较程序正常运行所需要的存储器的大小要小得多。
*仅当辅助处理器得到鉴别或处在活动状态时,主存储器才执行与安全意义敏感的程序。
*“虚设”随机存取存储器的内容并没有运行上的重要性,因为这个存储器只是用来干扰在存储器组中能量消耗的行迹。
*没有必要拯救和恢复辅助程序中的上下文联系。
在另一种实施方式中,主处理器(1)激活一个时间计数器(timer)(R3),这个时间计数器或是借助于一个随机信号发生器(R1)或是由可编程非易失存储器(13)(NVM)的内容来初始化的。这个可编程非易失存储器(13)在实际上装有可在每个使用中修改的单一的一个数,当时间计数器(R3)达到一个在外部无法知道的时间的限期,便启动由主处理器(1)去鉴别辅助处理器(2)。
在另一种实施变形中,寄存器(R2)可以在通过特殊的信息(如来自一个存储器或来自随机信号发生器(R1))得到改变之后,便被用来启动一个中断。
在另一种实施变形中,一个随机信号发生器(R1)和主处理器(1)的中断系统(15)相连接,以使生成不规则的且和在主处理器(1)中执行的程序之间是完全不同步的中断。当然,这个中断系统根据考察的处理可以是有掩蔽的,也可以是无掩蔽的。在这种情况下,如果中断是得到掩蔽的则整体的运行仍是传统的单处理器。然而,自从正在工作的主处理器(1)要进行自我保护防止可能的观测起,它便授权这个中断去启动鉴别并激活辅助处理器(2)。
在另一个实施变形中,有在至少两个处理器间,例如n个处理器间分配的共同的总线,每个处理器(1a、1b、…1n,图3)是通过共同总线的下述三种类型的线和集中的仲裁逻辑(8)相连:第一个为总线请求(31)(Bus Request),第二为总线占线(32)(Bus Busy),而第三个是总线轮询(33)(Bus Polling)。前两种类型:请求(31)和占线(32),都是分别由所有的处理器单一的公共线构成的,而后一种类型:探询(33),则是由n个处理器中的每一个的单个一条线(33a、33b、…33n)构成的。整个处理器组通过单一的总线(3)分享随机存取存储器(RAM)、只读存储器(ROM)、可编程非易失存储器(NVM)以及输入输出电路(I/O)。
一个希望请求总线(3)的处理器(例如1a)在总线请求线(31)中指出这个请求,仲裁器(arbitre)(8)在一个确定的算法(例如:循环询问,总线探询)在对应于探询的处理器的探询型线(33b、…33n)上询问其它处理器(1b,…,1n)。第一个被询问的已经提出过请求的处理器得到这条总线,并激活总线占用线(32)(Bus Busy),仅当总线占用线(32)上传输的信号从活动态过渡到非活动态而使总线(3)空闲时,仲裁器(8)才重新询问。这样就懂得了全部处理器是连在唯一的同一条总线上,它们用分时多路存取来分享总线的存取。
当然,可以将前面讲的各种实施方式的作用结合,也不需要用连续的方式实施干扰。
这样,当主程序(1)执行的功能对于安全并不敏感时,本发明所实施的干扰可以是间歇的,同时用间歇的方式求助于微处理机的运行,例如在检验之后向外界放出结果,或将时间计数器(R3)的中断掩蔽,或将随机信号发生器的中断虚设。当实施一个保护功能时,主程序(P1)就授权辅助处理器(2)运行,以“干扰”运行。
实际上,安全保护不再是像在现有技术中那样使处理器的节律是随机的,而是用由同一个能源供电的两个处理器(1、2)同时执行两个特征标记不同的程序(P1、P2)。
由主处理器(1)所执行的程序结构可以用下面的方法来实现:主处理器的运行可以是由一个可验证的安全应用系统来导引,这个安全应用系统根据机器执行程序的类型来决定实施的干扰类型。在这种情况下,主处理器(1)的应用系统便管理控制辅助处理器(2)的各种信号,如同其自己的指令信号。还可以明白,可以将辅助处理器(2)用来实施对主处理器(1)有利的功能,特别是实施可以加快总处理时间的处理。这些处理的构成例如可以是由辅助程序实现一些计算的准备,而这些计算是主程序(P1)在后面要用到的。当然,当处理器用多个程序运行时,则可以容易地扩展本发明的机理,各个应用程序就都可以视作是主程序。
在前面所看到的随机信号发生器和时间计数器都是技术人员所熟的,当将它们分别地用于和本发明无关的别的应用时也没有什么特别的实施问题。
在另一个变形中,可以实现本发明,使得两个处理器交替起主处理器和辅助处理器的作用。这假定优先权的筹码在两个处理器之间交换,符合两个中的那一个就在给定的时间内成了主控的角色。
别的修改也可构成本发明的思想的一部分。以限制在两个处理器的实施方式描述的各种变形也都可以应用到有多个处理器的实施方式中,构成本发明的一部分。这样,在任何时候,只读存储器的术语中应理解做为一个ROM,而亦可以用一个PROM、EPROM、EEPROM来代替,甚至可以用任何别的存储器来代替:可编程非易失的、只读的、或随机存取的。

Claims (24)

1.一种智能集成电路,其特征在于它具有一个主处理器(1)和一个应用系统、至少一个辅助处理器(2),主处理器(1)及应用系统执行主程序(P1)以构成一个主处理,辅助处理器能够协同地执行至少一个辅助程序(P2)以用来构成至少一个辅助处理,各处理器和共用的供电电路(6)和一些装置相连接,这些装置用于保证一个或多个有类似能量而有不同运行的特征标记的辅助处理协同主处理在供电电路中用连续的方式或间歇的方式引入能量干扰,迭加在主处理的能量之上,以实现一个连续的或间歇的干扰。
2.根据权利要求1的智能集成电路,其特征在于主处理器或辅助处理器中的每一个都是一个安全的微处理机或微型计算机。
3.根据权利要求1的智能集成电路,其特征在于这些装置的激活是由智能集成电路的主处理器(1)的应用系统启动的,这使得由上面装置所建立的附加的安全保障仅仅决定于一个由位于从外部不可存取的集成电路处的应用系统的主处理器的执行结果的决定。
4.根据权利要求1的智能集成电路,其特征在于它具有一个供主处理器(1)使用的主存储器(12、13),在这个存储器的至少一个不能从外部存取的部分中装有一个应用系统,这部分却至少能被二个处理器(1,2)中的一个来存取,还有一个用于辅助处理器(2)的辅助存储器(21、22)。
5.根据权利要求4的智能集成电路,其特征在于它在各处理器与各处理器的存储器以及一个输入输出电路之间至少有一条通信总线(3、4)。
6.根据权利要求5的智能集成电路,其特征在于它是借助于分散的逻辑电路在一个或多个基底上实现的,以使这两个处理器的物理植入的实现不需要易于定位的功能模块,而是例如通过物理结合而逻辑上相互分离的机构实现。
7.根据权利要求5的智能集成电路,其特征在于辅助处理器(2)执行辅助处理的任务,是将主处理器(1)运行的特征标记最小化或抹去。
8.根据权利要求5的智能集成电路,其特征在于辅助处理器(2)执行辅助处理的任务是和主处理器(1)所执行的主处理的任务相关的,以使处理的中间结果从来都不出现在处理过程中。
9.根据权利要求5的智能集成电路,其特征在于辅助程序(P2)所使用的工作空间较主程序(P1)的工作空间要小。
10.根据权利要求1的智能集成电路,其特征在于它在主处理器(1)和辅助处理器(2)之间有通信装置。
11.根据权利要求10的智能集成电路,其特征在于在两个处理器间的通信装置(50、51、B1、B2)能使主处理器(1)知道辅助处理器(2)是否在运行。
12.根据权利要求10的智能集成电路,其特征在于在两个处理器间的通信装置能够使得主处理器(1)实现对辅助处理器(2)的鉴别。
13.根据权利要求12的智能集成电路,其特征在于辅助处理器(2)的鉴别或运行的检验是在主处理器(1)的处理过程中实现的。
14.根据权利要求10的智能集成电路,其特征在于辅助处理器(2)的激活装置或是由主处理器(1)及其主程序(P1)、或是由一个中断系统(15),或是由一个时间计数器(R3),亦或是三者的结合来控制的。
15.根据权利要求10的智能集成电路,其特征在于辅助处理器(2)所执行的辅助处理的任务是和主处理器(1)所执行的主处理的任务不相关的。
16.根据权利要求10的智能集成电路,其特征在于辅助处理器(2)执行的辅助处理的任务是将主处理器(1)的运行的特征标记最小化或抹去。
17.根据权利要求10的智能集成电路,其特征在于辅助程序(P2)实施的处理是和主处理相关的,以使这两个处理的结合给出辅助处理器(2)的运行的特征标记,这个特征标记掩盖了主处理器(1)的运行的特征标记。
18.根据权利要求10的智能集成电路,其特征在于辅助处理器(2)所执行的任务是和主处理器(1)的任务相关的,以使处理的中间结果从不出现在处理的过程中。
19.根据权利要求10的智能集成电路,其特征在于辅助处理器(2)可以代替主处理器(1),反之亦然。
20.根据权利要求10的智能集成电路,其特征在于辅助处理器(2)执行的任务与主处理器(1)执行的任务的相关是通过处理的同步和对每个处理器执行其各自的程序得来的两个数据的值进行比较而进行的。
21.根据权利要求10的智能集成电路,其特征在于辅助处理器(2)执行的任务与主处理器(1)执行的任务的相关是通过辅助程序(P2)从主程序(P1)的逻辑推理得到的。
22.根据权利要求1的智能集成电路,其特征在于它具有至少两个处理器,且这些处理器(1、2)的每一个都有各自的总线(3、4),将随机存取存储器、只读存储器与每个处理器相连,将非易失存储器与主处理器相连。
23.根据权利要求1的智能集成电路,其特征在于它具有多个处理器,每个处理器都和一个共用的通讯总线相连,这个共用总线在所有的处理器与连于这条总线上的随机存取存储器、只读存储器和非易失存储器所构成的存储器组间多工运行,在此公共总线上的存取冲突是由一个仲裁电路(8)来管理的。
24.根据权利要求8、15、18、20和21中任一项的智能集成电路,其特征在于辅助处理器(2)按顺序相继执行一些程序,该顺序或与主处理器(1)执行的程序相关,或与主处理器(1)执行的程序不相关。
CN99803338A 1998-12-28 1999-12-23 智能集成电路 Expired - Lifetime CN1124533C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR9816485A FR2787900B1 (fr) 1998-12-28 1998-12-28 Circuit integre intelligent
FR98/16485 1998-12-28

Publications (2)

Publication Number Publication Date
CN1292109A CN1292109A (zh) 2001-04-18
CN1124533C true CN1124533C (zh) 2003-10-15

Family

ID=9534542

Family Applications (1)

Application Number Title Priority Date Filing Date
CN99803338A Expired - Lifetime CN1124533C (zh) 1998-12-28 1999-12-23 智能集成电路

Country Status (12)

Country Link
US (1) US6839849B1 (zh)
EP (2) EP1477884A3 (zh)
JP (1) JP4030719B2 (zh)
KR (1) KR100730351B1 (zh)
CN (1) CN1124533C (zh)
AT (1) ATE278981T1 (zh)
BR (1) BR9908268A (zh)
DE (1) DE69920880T2 (zh)
FR (1) FR2787900B1 (zh)
HK (1) HK1035238A1 (zh)
TW (1) TW463101B (zh)
WO (1) WO2000039660A1 (zh)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10000503A1 (de) * 2000-01-08 2001-07-12 Philips Corp Intellectual Pty Datenverarbeitungseinrichtung und Verfahren zu dessen Betrieb
DE10061997A1 (de) 2000-12-13 2002-07-18 Infineon Technologies Ag Kryptographieprozessor
DE10061998A1 (de) * 2000-12-13 2002-07-18 Infineon Technologies Ag Kryptographieprozessor
FR2819070B1 (fr) * 2000-12-28 2003-03-21 St Microelectronics Sa Procede et dispositif de protection conte le piratage de circuits integres
JP3977592B2 (ja) 2000-12-28 2007-09-19 株式会社東芝 データ処理装置
US20020116633A1 (en) * 2001-01-19 2002-08-22 Takuya Kobayashi Data processor
DE10136335B4 (de) 2001-07-26 2007-03-22 Infineon Technologies Ag Prozessor mit mehreren Rechenwerken
US8438392B2 (en) 2002-06-20 2013-05-07 Krimmeni Technologies, Inc. Method and system for control of code execution on a general purpose computing device and control of code execution in a recursive security protocol
US7203844B1 (en) * 2002-06-20 2007-04-10 Oxford William V Method and system for a recursive security protocol for digital copyright control
KR100456599B1 (ko) * 2002-11-12 2004-11-09 삼성전자주식회사 병렬 디이에스 구조를 갖는 암호 장치
GB2403572B (en) * 2002-12-12 2005-11-09 Advanced Risc Mach Ltd Instruction timing control within a data processing system
FR2849226B1 (fr) * 2002-12-20 2005-12-02 Oberthur Card Syst Sa Procede et dispositif de securisation de l'execution d'un programme informatique.
US7240228B2 (en) * 2003-05-05 2007-07-03 Microsoft Corporation Method and system for standby auxiliary processing of information for a computing device
US7783892B2 (en) * 2003-05-30 2010-08-24 Privaris, Inc. System and methods for assignation and use of media content subscription service privileges
US7363547B2 (en) * 2003-07-09 2008-04-22 Stmicroeletronics S.A. Error-detection cell for an integrated processor
JP2005056413A (ja) * 2003-08-01 2005-03-03 Stmicroelectronics Sa 複数の同じ計算の保護
JP3933647B2 (ja) 2004-05-10 2007-06-20 シャープ株式会社 消費電力解析防止機能つき半導体装置
EP1603088A1 (fr) * 2004-06-03 2005-12-07 Nagracard S.A. Composant pour module de sécurité
KR20060067584A (ko) * 2004-12-15 2006-06-20 삼성전자주식회사 해킹 방지 기능이 있는 스마트 카드
FR2886027A1 (fr) * 2005-05-20 2006-11-24 Proton World Internatinal Nv Detection d'erreur de sequencement dans l'execution d'un programme
US8214296B2 (en) * 2006-02-14 2012-07-03 Microsoft Corporation Disaggregated secure execution environment
DE602007008313D1 (de) * 2006-05-10 2010-09-23 Inside Contactless Verfahren zur Weiterleitung von aus- und eingehenden Daten in ein NFC-Chipset
TW200745873A (en) * 2006-06-05 2007-12-16 Dmp Electronics Inc Dual computers for backup and being fault-tolerant system architecture
US20070288761A1 (en) * 2006-06-09 2007-12-13 Dale Jason N System and method for booting a multiprocessor device based on selection of encryption keys to be provided to processors
US20070288740A1 (en) * 2006-06-09 2007-12-13 Dale Jason N System and method for secure boot across a plurality of processors
US20070288739A1 (en) * 2006-06-09 2007-12-13 Dale Jason N System and method for masking a boot sequence by running different code on each processor
US7774616B2 (en) * 2006-06-09 2010-08-10 International Business Machines Corporation Masking a boot sequence by providing a dummy processor
US20070288738A1 (en) * 2006-06-09 2007-12-13 Dale Jason N System and method for selecting a random processor to boot on a multiprocessor system
US7594104B2 (en) * 2006-06-09 2009-09-22 International Business Machines Corporation System and method for masking a hardware boot sequence
FR2903549B1 (fr) * 2006-07-10 2008-09-26 Inside Contactless Sa Procede de controle d'application dans un chipset nfc comprenant plusieurs processeurs hotes
JP5136416B2 (ja) * 2006-07-25 2013-02-06 日本電気株式会社 擬似乱数生成装置、ストリーム暗号処理装置及びプログラム
FR2909471A1 (fr) * 2006-12-05 2008-06-06 Logiways France Sa Dispositif semi-conducteur de securite et application a un systeme d'acces a un reseau de diffusion multimedias
JP4644720B2 (ja) * 2008-03-10 2011-03-02 富士通株式会社 制御方法、情報処理装置及びストレージシステム
EP2290575A1 (en) * 2009-08-31 2011-03-02 Incard SA IC Card comprising an improved processor
EP2367129A1 (en) * 2010-03-19 2011-09-21 Nagravision S.A. Method for checking data consistency in a system on chip
CN102654112B (zh) * 2011-03-01 2014-10-08 哈尔滨工大金涛科技股份有限公司 太阳发电站
KR20150011802A (ko) 2012-03-20 2015-02-02 크림메니 테크놀로지스, 인크. 프로세스 작업 세트 격리를 위한 방법 및 시스템
CN102999780B (zh) * 2012-12-04 2015-09-23 北京安捷融创信息技术服务有限公司 一种具有多cpu核的单sim卡
WO2015185071A1 (en) * 2014-06-04 2015-12-10 Giesecke & Devrient Gmbh Method for enhanced security of computational device with multiple cores
CN111526513B (zh) * 2020-04-14 2022-02-11 北京交通大学 基于wlan协议的间歇性协作干扰方法、装置及存储介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2638869B1 (fr) * 1988-11-10 1990-12-21 Sgs Thomson Microelectronics Dispositif de securite contre la detection non autorisee de donnees protegees
CA2037857C (en) * 1990-03-20 2001-01-16 Roy Allen Griffin, Iii Prevention of determination of time of execution of predetermined data processing routine in relation to occurrence of prior observable external event
FR2673295B1 (fr) * 1991-02-21 1994-10-28 Sgs Thomson Microelectronics Sa Dispositif de detection de l'etat logique d'un composant dont l'impedance varie suivant cet etat.
KR940004434A (ko) * 1992-08-25 1994-03-15 윌리엄 이. 힐러 스마트 다이나믹 랜덤 억세스 메모리 및 그 처리방법
US5544246A (en) * 1993-09-17 1996-08-06 At&T Corp. Smartcard adapted for a plurality of service providers and for remote installation of same
US5594493A (en) * 1994-01-19 1997-01-14 Nemirofsky; Frank R. Television signal activated interactive smart card system
US5815577A (en) * 1994-03-18 1998-09-29 Innovonics, Inc. Methods and apparatus for securely encrypting data in conjunction with a personal computer
MY125706A (en) * 1994-08-19 2006-08-30 Thomson Consumer Electronics High speed signal processing smart card
EP0839344A1 (en) * 1995-07-20 1998-05-06 Dallas Semiconductor Corporation Microcircuit with memory that is protected by both hardware and software
GB9525519D0 (en) * 1995-12-14 1996-02-14 At & T Global Inf Solution A card reader system
FR2745924B1 (fr) * 1996-03-07 1998-12-11 Bull Cp8 Circuit integre perfectionne et procede d'utilisation d'un tel circuit integre
FR2765361B1 (fr) * 1997-06-26 2001-09-21 Bull Cp8 Microprocesseur ou microcalculateur imprevisible

Also Published As

Publication number Publication date
JP4030719B2 (ja) 2008-01-09
TW463101B (en) 2001-11-11
HK1035238A1 (en) 2001-11-16
KR20010041415A (ko) 2001-05-15
US6839849B1 (en) 2005-01-04
DE69920880D1 (de) 2004-11-11
KR100730351B1 (ko) 2007-06-20
EP1477884A2 (fr) 2004-11-17
CN1292109A (zh) 2001-04-18
WO2000039660A1 (fr) 2000-07-06
DE69920880T2 (de) 2005-10-27
EP1057094B1 (fr) 2004-10-06
ATE278981T1 (de) 2004-10-15
BR9908268A (pt) 2000-10-24
FR2787900B1 (fr) 2001-02-09
EP1477884A3 (fr) 2006-04-12
FR2787900A1 (fr) 2000-06-30
JP2002533825A (ja) 2002-10-08
EP1057094A1 (fr) 2000-12-06

Similar Documents

Publication Publication Date Title
CN1124533C (zh) 智能集成电路
CN100371906C (zh) 用于确定访问许可的方法和设备
CN1082215C (zh) 采用程控安全性访问控制的一种安全存储器卡
CN1127692C (zh) 电子数据处理电路
EP1777535A2 (en) System and method for glitch detection in a secure microcontroller
US20030101440A1 (en) Multiple virtual machine environment management system
CN1196524A (zh) 存储器存取控制电路
US20160026811A1 (en) Protection of memory areas
EP0432359A2 (en) Method and apparatus for performing memory protection operations in a parallel processor system
CN101573687A (zh) 重新配置安全系统
CN1239973C (zh) 不可预测的集成电路
US20180232479A1 (en) System, method and computer-accessible medium providing secure integrated circuit camouflaging for minterm protection
CN101546275A (zh) 具有硬件信号量模块的多处理器系统及其实现方法
DE102006035610B4 (de) Speicherzugriffssteuerung und Verfahren zur Speicherzugriffssteuerung
JPH07234801A (ja) 誤り検出機能付き論理回路及びそれを用いたフォールトトレラントシステム
CN109564555A (zh) 基于上下文的保护系统
US6993766B2 (en) Integrated circuits for multi-tasking support in single or multiple processor networks
CN201489524U (zh) 代码完整性校验电路
JP2002341956A (ja) 情報処理半導体装置、デバッグ許可鍵装置および情報処理半導体システム
Keren et al. Duplication based one-to-many coding for Trojan HW detection
AU2006235782B2 (en) Integrated circuits for multi-tasking support in single or multiple processor networks
CN104054063A (zh) 锁定芯片组的系统管理中断(smi)使能寄存器
Lin Towards Understanding and Reducing Exploitability of Linux Kernel Bugs
CN103745140A (zh) 微控制器及其他嵌入式系统程序代码保护方法和装置
Avresky et al. Software-based fault injection tool(SOFIT)

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
ASS Succession or assignment of patent right

Owner name: CP8 TECHNOLOGY CO.,LTD.

Free format text: FORMER OWNER: BULL CP8

Effective date: 20050819

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20050819

Address after: French Rowan F Nass

Patentee after: CP & Technologies

Address before: French Rowan F Nass

Patentee before: Bull CP8

CX01 Expiry of patent term

Granted publication date: 20031015

CX01 Expiry of patent term