IC侵入检测
技术领域
本发明涉及用于加密处理的电子设备,其包括至少两个通过连接装置耦合的电子电路,其中所述连接装置被安排用于在两个电子电路之间传送数据信号。
本发明还涉及用于加密处理的方法,其使用包括至少两个通过连接装置耦合的电子电路的电子设备,该方法包括通过所述连接装置在两个电子电路之间传送数据信号的步骤。
背景技术
加密设备用于保护信息在存储、处理或传输中不被未授权访问或者修改,以及不对授权用户拒绝服务。加密设备的例子有智能卡、安全身份令牌、移动电话安全系统、电子钱包、电视解扰设备等。差分能量分析(DPA)是一种用于从加密系统获取信息的已知技术。差分能量分析的原理是测量加密设备的功率消耗,并且将该信息与该加密设备上运行的逻辑门和软件的行为相关联。为了根据功率消耗简档导出信息,必须使用某种形式的探测器监视加密设备所生成的信号。通过在大组功率消耗简档上使用合适的统计技术,可以导出秘密参数,比如用户的私有密钥。简单能量分析(SPA)是更简单的攻击形式,不需要统计分析。除了加密设备的功率消耗之外,还可以测量其电磁辐射,用来导出秘密参数。使用这种秘密参数的例子有加密或解密任意数据、验证命令或请求等。
通过随机化或者最小化加密设备的功率消耗,可以增加该设备对抗诸如能量分析攻击等技术的保护级别。例如,在Benini等在2003年6月2号到6号的Proceedings Design Automation Conference(设计自动化会议)论文集的第36-41页发表的“Energy-Aware DesignTechniques for Differential Power Analysis Protection(针对差分能量分析保护的能量已知设计技术)”,描述了一种加密设备,其具有实现所有需求功能性的第一执行单元和只实现第一执行单元的一部分功能性的第二执行单元。输入数据由第一执行单元或第二执行单元处理。由于第二执行单元减少的功能性,对于给定的输入值,其功率消耗小于第一执行单元的功率消耗。选择器基于对输入值的观察,确定在给定周期中激活哪个执行单元,以便改变加密设备在一段时间上的功率消耗。
Irwin,J.等在2002年的Proceedings of the IEEE InternationalConference on Application-Specific Systems,Architectures,andProcessors(IEEE关于特殊应用的系统、结构和处理器的国际会议)的会议集的第286-295页的“Instruction stream Mutation for Non-Deterministic Processors(用于非确定处理器的指令流转变)”中描绘了一种具有所谓的转变单元的非确定处理器,转变单元在处理器的管线之中紧邻于执行单元之前。因此,该单元可以使用专用表中所存储的关于物理寄存器中的值的活性状态的信息,在将每个指令发送到所述执行单元之前检查和操作该指令。使用该信息,所述转变单元能够检验哪些寄存器包含有用的值,以及哪些寄存器包含可被重写的值。转变单元执行的一个操作是,通过使用一致性指令的概念,改变所述指令使得它们的意义相同但是对寄存器的使用和映射不相同。在这种思想下,将一条指令增加到原始指令,以使该指令序列与原始指令具有相同意义,但是产生不同的功率消耗简档。只要给定指令的一致性是有效的,处理器可以随机决定将一致性序列或是原始指令转发到执行单元。
当前技术的电子设备的缺点在于它们只是使得从用于加密处理的电子设备获得秘密信息更困难。通过增加功率消耗简档的测量数目,这通过自动化该过程可以很容易地实现,仍然有可能从所述电子设备获取秘密信息。
发明内容
本发明的目的是提供用于加密处理的电子设备,该设备检测用于从该电子设备中获取秘密信息的某种形式的探测器的存在。
该目的是利用根据本发明的电子设备实现的,该设备的特征在于监测电路,监测电路用于监测连接装置的电容中的偏差并且在偏差超过预定值的时候产生警告信号。为了从用于加密处理的电子设备导出秘密信息,必须测量该电子设备上的一些信号,例如测量该设备的两个电子电路之间的连接装置的电流或电压信号。在电子电路的连接装置上使用某种形式的探测器将改变该连接装置的电容。通过直接或间接地监测连接装置的电容中的变化,能够检测到探测器的存在和生成警告信号。
本发明的一个实施例的特征在于,监测电路被用来监测通过所述连接装置传送的数据信号并且将所监测的信号与参考信号做比较。作为电容中的变化的结果,将由于探测器的存在而改变信号在相应连接装置上的过渡。通过监视特定连接装置上的信号传输,以及将该信号与参考信号做比较,可以确定被监测的信号是否与参考信号不同。如果确实不同,则推断出该电子设备受到意在获取秘密信号的攻击。
本发明的一个实施例的特征在于所述电子电路包括逻辑电路和存储元件,所述存储元件用于存储逻辑电路输出的数据,并且在电子电路的接口上提供稳定信号。
本发明的一个实施例的特征在于所述监测电路是传播延迟检测电路。由于电容的变化,将影响该信号的传播延迟并且可以对其进行测量。
本发明的一个实施例的特征在于所述监测电路是转换速率(slew-rate)偏差检测电路。由于电容中的变化,该信号的转换速率将被影响并且这将被测量。
本发明的一个实施例的特征在于所述监测电路用于监测连接装置的电容的值并且比较监测到的值和参考值。直接监测连接装置的电容的缺点是电容不受所述电子设备工作的电压的变化影响。
本发明的一个实施例的特征在于从在所述电子设备上执行的Monte-Carlo分析导出所述参考信号。通过从模拟导出参考信号,不需要额外的电路来生成参考信号。
本发明的一个实施例的特征在于所述电子设备还包括伪电子电路,其具有电容可以与连接装置的电容相比较的伪连接装置,其中监测电路还被安排用于通过监测伪连接装置来确定参考信号,此时伪连接装置传送与通过连接装置传送的相同的数据信号。这个实施例的优点是外部影响,例如来自其它电子设备的外部影响,将影响被监测信号和参考信号两者。因此,这样的影响将不会导致监测到被监测信号和参考信号之间偏差的错误检测,这增加了该设备的可靠性。
本发明的一个实施例的特征在于所述电子设备还被安排使用警告信号来对该电子设备的至少一部分下电。通过对该电子设备的至少一部分下电,阻止了从该设备获取秘密信息。
依照本发明,用于加密处理的方法的特征在于该方法还包括监测连接装置的电容中的偏差并且如果偏差超过预定值生成警告信号的步骤。在电子电路的节点上使用某种形式的探测器将改变连接装置的电容。通过监测连接装置的电容中的改变,可以检测到探测器的存在并且生成警告信号。
附图说明
图1示出了用于加密处理的电子设备的一个实施例。
图2示意性示出了高速缓冲存储器控制器和指令高速缓冲存储器之间的接口。
图3示出了探测器对于在连接两个电子电路的节点上的信号传输的影响。
图4示出了高速缓冲存储器控制器的一部分,其包括传播延迟检测电路。
图5示出了传播延迟检测电路的一个实施例。
图6示出了互斥元件的一个实施例。
具体实施方式
图1示出了用于加密处理的电子设备的一个实施例,例如智能卡的一部分。该电子设备包括多个单元,即总线接口单元BIU、高速缓冲存储器控制器CC、数据高速缓冲存储器DC、指令高速缓冲存储器IC、存储器管理单元MMU、转换后备缓冲器TLB、核心管线CP、协同处理器COP和乘法/除法单元MDU。电子设备的所述各种单元,即电子电路,通过箭头指示的连接装置耦合。例如,协同处理器COP与核心管线CP耦合,以便从核心管线CP接收数据以及指令,和向核心管线输出数据。总线接口单元BIU与数据总线耦合(图1未示出),以便接收输入数据和发送输出数据。例如,总线接口单元BIU所接收的数据是必须由电子设备加密的数据,并且随后加密过的数据被通过总线接口单元BIU发送到数据总线。在运行中,加密算法所需的指令被存储在指令高速缓冲存储器IC中和/或主存储器(图1未示出)中。核心管线CP通过向存储器管理单元MMU发送虚拟存储器地址请求指令。该虚拟存储器地址由存储器管理单元MMU使用转换后备缓冲器TLB译码成物理存储器地址。通过转换后备缓冲器TLB,存储器管理单元MMU确定在指令高速缓冲存储器IC中是否可以获得该指令。如果指令高速缓冲存储器IC中的该指令可用,则从指令高速缓冲存储器IC获取该指令并且将其发送到核心管线CP。否则,必须通过总线接口单元BIU从主存储器取出该指令。将所需的指令和要处理的数据发送到核心管线CP进行处理。核心管线CP确定在处理中是否要调用乘法/除法单元MDU或协同处理器COP。所得到的数据被发送到数据高速缓冲存储器DC,或者通过总线接口单元BIU发送到主存储器。在不同实施例中,所述电子设备可以包括不同数目的单元和/或具有不同功能性的单元。例如,可以存在更多协同处理器来执行专用指令,或者可以不存在转换后备缓冲器。
图2示意性示出了高速缓冲存储器控制器CC和指令高速缓冲存储器IC之间的接口。高速缓冲存储器控制器CC分别包括存储元件201和203,而指令高速缓冲存储器分别包括存储元件205和207。存储元件201和205通过地址和数据总线209耦合,而存储元件207和203通过数据总线211耦合。数据总线209和211是例如32比特宽数据总线。在替代实施例中,可以存在不同的连接装置来耦合电子电路,例如一条或多条直接线或者是组合总线209和211的一个总线。存储单元201-207可以是锁存器,也就是说当时钟信号(图2未示出)具有第一值时从它们的输入端到输出端传送数据元素并且当时钟信号具有第二值时挂起输出数据的已知电路。可替代地,可以使用不同电路,例如触发器,其在时钟信号的边缘挂起数据。在一个时钟信号,存储在高速缓冲存储器控制器CC的存储元件201中的数据和地址被锁存在地址和数据总线209上。在时钟的下一个上升沿,所述数据和地址被读入指令高速缓冲存储器IC的存储元件205之中。如果任何人想要从所述电子设备导出秘密信息,则其将探测器放置在地址和数据总线209上,来监测数据信号,即在高速缓冲存储器控制器CC和指令高速缓冲存储器IC之间的信号的电流和/或电压。但是,在地址和数据总线209上增加探测器将改变地址和数据总线209的电容,并且将因此改变信号在该地址和数据总线上的传输。参照图3,示出了通过连接装置305互连的两个电子电路301和303。在图3的上面部分,示出了在没有探测器附加在连接装置305的情况下,典型的信号传输,这是通过电压和时间的关系示出的。在图3的下面部分,在连接装置305上附加了用于监测电子电路301和303之间的信号流动的探测器307,并且在电压针对时间的图中示出了该探测器的存在对信号传输的典型影响。预期这样的效果是由于增加了组合节点305和探测器307的电容,产生较慢的转换速率并且增加了信号的延迟时间。如果由探测器307引起的电容的增长充分高,以至引起信号传输中可测量的变化,则能够检测到信号传输中的该变化。
图4示出了高速缓冲存储器控制器CC的一部分,其包括传播延迟检测电路401。高速缓冲存储器控制器还包括存储元件403和伪存储元件405。存储元件403和405用来存储要发送给指令高速缓冲存储器(图4中未示出)的第一地址比特。应注意到,地址比特也被认为是当通过连接装置传送时导致数据信号的数据比特。地址和数据总线407耦合到存储元件403,并且通过该总线将第一地址比特发送到高速缓冲存储器控制器。地址和数据总线407和伪存储元件405都被耦合到传播延迟检测电路401。为了每一个要通过总线407(例如32比特宽总线)发送的每个地址和数据比特,重复包括存储元件403和405以及传播延迟检测电路401的电路。在替代实施例中,不为要通过总线407发送的每个地址和数据比特重复伪存储元件405和检测电路401,也就是说不是数据总线407的所有连接都被监测。在运行中,在同步时钟发生器(图4未示出)生成的一个时钟信号413,由高速缓冲存储器控制器CC经由存储元件403和伪存储元件405两者中的连接415存储地址的第一比特。在下一个时钟信号413,将存储在存储元件403中的所述地址的第一比特锁存在地址和数据总线407的相应连接上,同时将伪存储元件405中存储的地址的相同第一比特锁存在连接装置409上。传播延迟检测电路401对总线407的所述相应连接上的信号传输采样,形式为表示信号在两个时间点的电压电平的一对值(V1,V2)。延迟传播检测电路401对连接装置409上的信号传输采样,形式为表示信号在相同的两个时间点的电压电平的一对值(E1,E2)。将所述值对(V1,V2)和值对(E1,E2)相比较,并且如果两对不匹配,那么通过延迟传播检测电路401生成警告信号411。值对(E1,E2)是用于同实际信号(V1,V2)相比较的参考信号,因此连接装置409的电容应该与地址和数据总线407的连接的电容可比,地址比特通过地址和数据总线407发送到指令高速缓冲存储器IC。相似的,对应于地址和数据比特的另一个比特的每个延迟传播检测电路将其测试到的值对(V1,V2)和(E1,E2)相比较,并且如果它们不匹配则生成警告信号。可以通过使用OR门的树组合传播延迟检测电路的警告信号输出,以便在一个或多个独立的传播延迟检测电路生成警告信号的情况下,生成一个警告信号。该警告信号用于对核心管线CP(参见图1)下电,并且从而中止电子设备执行的所有运行过程。下电包括完全关断以及将单元置于某种形式的休眠模式。在将探测器附加到地址和数据总线407的情况下,在该总线的相应连接上的信号传输受到影响,如图3所示。由传播延迟检测电路采样的时间点可以选择为,使得对于信号传输的延迟超过信号传输延迟中的自然变化所述对(V1,V2)等于逻辑的(0,1),同时对(E1,E2)等于逻辑的(1,1),然后这激活了警告信号411。否则,如果对(V1,V2)和(E1,E2)都等于(1,1),则不生成警告信号。
图5示出了传播延迟检测电路401的一个实施例,传播延迟检测电路对地址和数据总线407的连接的数据传输和连接装置409的数据传输采样。传播延迟检测电路包括微调延迟匹配器501和互斥元件503,并且其在两个接收到的信号,即对应于连接装置409的参考信号和对应于数据总线407的实际信号,之间进行裁定。如果存在探测器监测数据总线407,当与参考信号对比时实际信号被延迟,并且作为结果互斥元件503允许参考信号传播,设置警告信号411。如果不存在探测器,则应允许实际信号传播,在这种情况下不设置警告信号411。为了考虑实际信号的传输中的自然变化,通过微调延迟匹配器501延迟伪信号。微调延匹配器501延迟伪信号,以使对于实际信号的延迟中的自然变化不生成警告信号,而在其它情况下生成警告信号。
图6示出了互斥元件503的一个实施例,其包括NAND门601和603以及逻辑反相器605和607。在两次信号传输之间,分别位于NAND门601和603的第一输入端口上的参考信号609和实际信号611都为低。结果,在NAND门601和603的第二输入端口上的信号为高。如果实际信号611在参考信号609之前变为高,则NAND门601的第二输入端口上的信号变为低,结果参考信号被NAND门601阻塞。警告信号613保持为低。如果伪信号609在实际信号611之前变为高,则实际信号611被NAND门603阻塞,并且警告信号被设置为高。
在一个替代实施例中,通过使用Monte-Carlo分析在地址和数据总线407上的信号传输,而从模拟中获得表示参考信号的对(E1,E2)。可以将计算出的参考信号存储在传播延迟电路的存储器中,并用于同地址和数据总线407上的信号传输的样本进行比较。
在另一个替代实施例中,传播延迟电路可以耦合到该电子设备的不同单元之间的连接装置,以便阻止从该设备获取秘密信息。例如,参看图1,传播延迟电路耦合到高速缓冲存储器控制器CC和数据高速缓冲存储器DC之间的连接装置。可替代的,传播延迟电路可以耦合到多于一对单元之间的连接装置,例如耦合到高速缓冲存储器控制器CC和指令高速缓冲存储器IC之间的连接装置的传播延迟电路,以及耦合到核心管线CP和协同处理器COP之间的连接装置的传播延迟电路。
在另一个替代实施例中,通过转换速率检测电路监测信号的传输。转换速率检测电路测量信号传输的斜率,其表示转换速率。参看图2,探测器的存在将也会影响信号的转换速率,并且通过比较实际信号和参考信号(作为伪信号获得的或者从Monte-Carlo模拟获得的)的转换速率,可以检测到实际信号和参考信号的转换速率之间的偏差是否大于从信号传输中的自然变化预期的偏差。如果所述偏差大于预期偏差,则生成警告信号。在I.Rayane等的“A Digital BIST for OperationalAmplifiers Embedded in Mixed-Signal Circuits(用于嵌入在混合信号电路的运算放大器的数字BIST)”(1999年的Proceedings of theIEEE VLSI Test Symposium的论文集的第304-310页)中给出了转换速率偏差电路的电路实现,以及传播延迟电路的替代电路实现。
在另一个替代实施例中,用于地址和/或数据传输的连接的电容被监测。由于探测器的存在,连接装置的电容将增加,并且如果监测到的电容值增加到选定的阈值之上,则生成警告信号。或者,将监测到的电容值与存储器中存储的电容参考值相比较,并且如果监测值和参考值之间的偏差大于选定的阈值,则生成警告信号。连接装置的电容可以被连续监测,或者在特定时间点监测。用于芯片上电容测量的电路在以下文章中被描述,Laquai B等的“A new method and test structure foreasy determination of femto-farad on-chip capacitances in a MOSprocess(用于简单测量MOS工艺中的毫微微-法拉芯片上电容的新方法和测试结构)”(1992年的Proceedings of the InternationalConference on Microelectronic Test Stfucture的论文集的第62-66页);Khalkhal A.,Girard P.和Nouet P.等的论文“On-chipmeasurement of interconnect capacitances in a CMOS process(对CMOS工艺中的互连电容的芯片上测量)”(Proceedings of the IEEE1994 Int.Conference on Microelectronic Test Structure的论文集,1994,第7卷,第130-134);Nair P.A.等的论文“An on-chipcoupling capacitance measurement technique(芯片上耦合电容测量技术)(Proceedings of the International Conference on VLSIDesign的论文集,2001,第495-499页)。
或者,电子设备的监测电路监测涉及连接装置的电容的两个或多个属性,例如转换速率以及信号的传播延迟。
本发明可以应用于同步和异步电子设备中。在同步设备中,在每个时钟信号将新数据的时速记录在存储元件中,引起大电流峰值,例如,大电流峰值借助于差分能量分析相当容易检测到。在异步系统中,如果相应的电子电路已经结束处理,则将数据存储在存储元件中。结果,与同步系统相比,电流峰值减小,并且在时间跨度更宽。但是,对于异步设备,仍然能够使用诸如差分能量分析之类的技术导出秘密信息。
应注意到,上述实施例用于说明而不是限制本发明,并且本领域技术人员在不偏离所附权利要求范围的情况下将能够设计各种替代实施例。在权利要求中,括号之间的任何参考符号不应理解为限制权利要求。单词“包括”不排除存在权利要求中所列出的之外的元件或步骤。元件之前的词“一”或“一个”不排除存在多个这种元件。在列举了若干装置的设备权利要求中,这些装置中的一些可以由同一硬件项实现。在相互不同的从属权利要求中描述了特定措施的事实并不意味着不能够使用这些措施的组合获益。