用于隐藏相关联处理电路的功率消耗特性的隔离电路及方法

文档序号:7434645阅读:244来源:国知局
专利名称:用于隐藏相关联处理电路的功率消耗特性的隔离电路及方法
技术领域
本发明涉及一种用于耦合于电源与处理电路之间以将功率提供至处理电路,同时隐藏该处理电路的功率消耗特性的隔离电路及方法。
背景技术
已知的是,提供处理电路,其使用需要被保护以免于未经授权的访问的秘密数据 来执行数据处理操作。举例而言,已知提供使用利用秘密数据(诸如密钥)的特定加密及 解密算法来执行加密及解密的处理电路。作为特定实例,高级加密标准(AES)所规定的算 法利用密钥来执行加密及解密操作。可使用密钥对未加密的输入数据(称作明文)加密以 产生加密数据(称作密文),或替代地可输入加密密文,且然后使用密钥对其解密,以产生 相应的未加密明文。通常将用以执行这类加密和解密操作的处理电路提供为集成电路的部分,此集成 电路的一个特定实例为智能卡。对于这类集成电路,已开发各种技术以设法避免经由非侵袭性攻击访问集成电路 内的安全数据的非法尝试。设法访问此秘密数据的一种已知技术为差分功率分析(DPA)。该 DPA技术设法针对各种不同输入数据,从对处理电路的功率消耗特性的观察中提取秘密数 据(诸如较早提及的密钥)。可观察到的一种常见功率消耗特性是电流特征(signature), 可通过将电路耦合至集成电路的功率输入端子来检测该电流特征,然后攻击者观察电流特 征如何针对各种不同输入数据加以变化。由于普遍已知集成电路执行什么算法,因此可能制作集成电路的操作的模型,并 藉此产生用于密钥的各种不同猜测的仿真电流特征。接着,可尝试让用于密钥的各种猜测 的仿真电流特征与电路中观察到的实际电流特征相关,以藉此设法确定密钥。具体而言,若 一个特定的猜测的密钥的相关系数高于针对密钥的任何其它猜测所获得的相关系数,则这 表示该特定的猜测的密钥为实际密钥。US 2007/0176670(其全部内容以引用的方式结合到本文中)论述了在软件级 与硬件级上提出的多种技术,以设法使得差分功率分析技术无效。该专利然后描述了智 能卡的电荷泵技术,其包括电容器,其循环连接至功率源以对该电容器充电、连接至处理 装置以对该处理装置供电,且然后接地以对该电容器放电。该电荷泵系统可包括三个这 类电容器,以使得在其中一个电容器正在充电时,另一个电容器对处理装置供电,且第三 个电容器正放电。所述电荷泵系统设法通过从处理装置的内部操作将功率消耗去相关 (de-correlating)而阻挡暴露处理装置中的密钥的尝试。根据US 2007/0176670中所描述的电荷泵技术,应了解当电容器耦合至处理装置 以对该处理装置供电时,电容器在该供电操作期间的放电程度将视处理装置的活动而定, 且因此在将电容器接着连接至地时的启动电压电平将不同。然后,接地的电容器的放电将 遵循指数式衰变,且因此将永不会实际达到接地电位。因此在放电过程结束时,所达到的最终电压电平将视启动放电操作时的初始电压而定,且因此在将电容器重连接至功率源以对电容器再充电时,启动电压将视放电过程开始时初始电压是什么样子而不同。此外,在将电容器连接至功率源时,该电压电平可被使用DPA执行非侵袭性攻击的某人观察到,且因此可观察到在放电期间结束时所达到的该最终电压的任何细微差异。 因此,若有足够数量的数据样本输入至智能卡,则仍有可能通过DPA技术来提取密钥。在US 2007/0176670中,用以对电容器充电、使用电容器对处理装置供电及将电 容器接地的时段皆相等,且因此这限制了对电容器放电可消耗的时间量。因此,采用US 2007/0176670中所描述的技术,如果要增加放电时段的长度以设法减少在放电时段结束时 所达到的最终电压的变化,则将必须增加充电时段与供电时段二者,这将是不期望的。具体 而言,若规定较长的供电时段,则将必须提供较大的电容器,这将增加面积开销。此外,较大 的电容器放电耗时较长,藉此需要较大的放电晶体管来对电容器放电,从而进一步增加面 积开销。若不使用较大的放电晶体管,则由于要对较大的电容器放电,所以这将使放电时间 的增加的长度降低效率。或者,为了支持一个以上的放电阶段,将需要提供额外的电容器及相关联的开关 元件。举例而言,若提供六个电容器及相关联的开关元件,则每一电容器可能经过一个充电 阶段、一个供电阶段及四个放电阶段。然而,此方法将在尺寸及功率消耗(由于提供额外组 件)两方面显著增加电荷泵电路的成本。此外,应注意,即使通过以上技术中的任一者延长了放电时段,但仍将存在在放电 阶段结束时所达到的最终电压的差异(其依赖于在启动放电阶段时跨越电容器的初始电 压),且因此该方法并未消除提供给攻击者仍使用DPA技术来设法探知密钥的可能性的先 前提及的问题。因此,将期待提供一种设法隐藏处理电路的功率消耗特性以使DPA技术无效的改 良技术。

发明内容
从第一方面来看,本发明提供用于耦合于电源与处理电路之间以将功率提供至处 理电路、同时隐藏该处理电路的功率消耗特性的隔离电路,该隔离电路包含多个子电路, 每一子电路包含电容器;第一开关,其被配置为在所述电容器与所述电源之间提供第一 连接;第二开关,其被配置为在所述电容器与所述处理电路的输出之间提供第二连接;第 三开关,其被配置为跨越(across)所述电容器提供第三连接以对所述电容器部分放电;及 控制电路,其被配置为控制所述多个子电路,以使得在每一子电路中,所述第一开关、所述 第二开关及所述第三开关被按重复序列O^peating sequence)置于活动状态;所述多个 子电路中的每一个进一步包含比较器,其被配置为在第三开关的活动状态期间达到跨越 所述电容器的预定非零电压差时,将所述第三开关置于打开状态。根据本发明,所述多个子电路中的每一个包括与第三开关相关联的比较器。所述 比较器不允许第三开关在第三开关的整个活动状态期间对电容器放电,而是通过一旦已达 到预定非零电压,就将第三开关置于打开状态,从而在跨越电容器的电压差达到预定非零 电压时停止放电过程。因此,在第三开关的活动状态期间对电容器放电所用的时间长度将 根据在启动第三开关的活动状态时跨越电容器的初始电压而改变。然而,在第三开关的活动状态结束时跨越电容器的最终电压将在所有情况下皆相等,即为预定非零电压差。因此,对于每一重复序列,通过接入隔离电路与电源之间的连接可观察到的功率消耗特性将相同,而不考虑处理电路所消耗的功率。因此,这避免了通过DPA技术探知处理 电路所使用的任何秘密数据。此外,当与US 2007/0176670中所描述的技术相比时,应了解本发明的隔离电 路消耗的功率显著小于该专利中所描述的电荷泵子系统所消耗的功率。具体而言,在US 2007/0176670中的电荷泵的每次充电、使用及放电循环中,跨越电容器的电压达到电源电 压,并且接着经放电至接近地的电压。然而,在电容器用于对处理装置供电的使用阶段期 间,电压将下降相对小的量。举例而言(仅出于说明的目的),若将电容器充电至约1.1伏 特的电源电压电平,则可预期在使用阶段期间,电容器上的电压将降至约1伏特,该准确电 压降依赖于处理装置所执行的操作。因此,在随后的放电阶段期间,发生电容器上的显著的 电压降,之后,随后的充电过程将不必要地消耗大量功率。然而,根据本发明,考虑到在使用阶段结束时的最低预期电压,并允许比较器有足 够时间操作,可将所述预定非零电压差选为处于尽可能高的电压电平。在实践中已发现,可 将之后在放电阶段期间发生的电压降保持得相对小,藉此显著地降低随后需要将电容器充 电恢复到电源电压电平时的功率消耗。作为特定实例,若电源电压为1. 1伏特,且在使用阶段期间该电压降至约1伏特, 则可足以将预定非零电压差设定为0. 95伏特。因此可看出,当与驱动处理电路所消耗的功 率相比时,与放电过程相关联的功率开销仅为50%。相比之下,鉴于使用US 2007/0176670 的技术时的类似电源电压,假定在放电阶段之后所达到的最终电压接近0伏特,则可看出 等效功率开销约为1000%。因此,应了解本发明的隔离电路在保护处理电路不受DPA技术影响的方面更有 效,同时也比已知现有技术的技术消耗显著降低的功率。在一个实施例中,该隔离电路进一步包含与跨越所述电容器的所述第三开关串联 置放的放电调谐电路,该放电调谐电路响应于来自控制电路的控制信号,以使在第三开关 的活动状态期间电容器的放电速率能够变化。此方法提供显著的灵活性,因为其可使相同 的隔离电路能够供多种不同处理电路使用,这些电路可(例如)以不同速度操作。根据处 理电路的操作速度,放电调谐电路使得能够根据需要加快或减慢电容器的放电速率,而无 需改变第三开关的活动状态的持续时间。比较器可采取多种形式。然而,在一个实施例中,比较器包含运算放大器 (op-amp),其在第一输入处接收跨越所述电容器的电压差的指示,且在第二输入处接收所 述预定非零电压的指示。可以多种方式将比较器所使用的预定非零电压的指示提供至比较器。举例而言, 此指示可以是作为比较器的输入的硬连线指示。然而,在一个实施例中,隔离电路进一步包 含参考电压产生元件,该元件可编程以提供所述预定非零电压的指示。此举通过允许相同 的隔离电路供多种不同的处理电路使用,并使得能够考虑到使用隔离电路的处理电路而在 适当情况下对预定非零电压进行编程,而再次提供了显著的灵活性。该控制电路可以多种方式控制每一子电路的重复序列。在一实施例中,对于每一 子电路,控制电路控制重复序列以确保在所述子电路中每次仅提供所述第一连接、所述第二连接及所述第三连接中的一个。此外,在一实施例中,控制电路控制所述多个子电路,以使得子电路的重复序列彼此成相位关系。在一实施例中,该相位关系确保在任何时间点上隔离电路至多提供一个第 一连接、一个第二连接及一个第三连接。然而,并非必需以该方式安排相位关系,且在替代实施例中,该相位关系确保第一开关、第二开关及第三开关中的至少一个的活动状态在多个子电路之间重迭。在一个特定实施例中,至少第二开关的活动状态在多个子电路之间重迭,以使得处理电路从所述多个子电路中的至少两个接收其功率历经至少某些时段。此方法的益处在 于,在隔离电路对处理电路供电的时间期间,该处理电路的功率消耗特性在多个电容器上 散布,藉此进一步使该功率消耗特性模糊。然而,活动状态的该重迭不需要限制于第二开关 的活动状态,且替代地亦可在必要时重迭充电操作及放电操作。在一实施例中,该多个子电路包含至少三个子电路。然而,尽管提供至少三个子电路就控制电路如何控制操作的各个充电、使用及放电阶段而言改良了灵活性,但并非必需 提供至少三个子电路。举例而言,在一个实施例中,所述第一开关、第二开关及第三开关的 活动状态并不都具有相同的持续时间,且所述多个子电路包含至少两个子电路。在一个特 定实施例中,在一个子电路具有处于活动状态的第二开关时,第二子电路经过第三开关的 活动状态与第一开关的活动状态二者(亦即,第一开关及第三开关的活动状态的累积时段 与第二开关的活动状态的时段相同)。通过该方法,可实现本发明的益处,但不需要提供三 个或三个以上的子电路,藉此降低隔离电路的尺寸及成本。从第二方面来看,本发明提供一种集成电路,其包含处理电路及根据本发明的第一方面的隔离电路。通过以此方式构造集成电路,则通过将跨越功率输入的电路耦合至集 成电路来执行DPA分析的任何尝试均将失败,因为隔离电路防止观察到处理电路的功率消 耗特性。在一实施例中,处理电路使用至少一个密钥来执行加密及解密操作。通过使用本 发明实施例的集成电路,隔离电路防止使用DPA技术推导出密钥。尽管在一实施例中,集成电路内的整个处理电路经由隔离电路耦合至电源,但这 并非在所有实施例中均是必需的。举例而言,在一实施例中,集成电路可包含直接耦合至电 源的附加处理电路。在该附加处理电路不对任何秘密数据执行操作的情况下这可能(例 如)是适当的,且因此不需要防止观察该附加处理电路的功率消耗特性。 该集成电路可采取多种形式,但在一实施例中,该集成电路为智能卡。
从第三方面来看,本发明提供用于耦合在电源装置与处理装置之间以将功率提供 至处理装置、同时隐藏该处理装置的功率消耗特性的隔离电路,该隔离电路包含多个子电 路装置,每一子电路装置包含电容器装置;第一开关装置,其用于在所述电容器装置与所 述电源装置之间提供第一连接;第二开关装置,其用于在所述电容器装置与所述处理装置 的输出之间提供第二连接;第三开关装置,其用于跨越所述电容器装置提供第三连接以对 所述电容器装置进行部分放电;及控制装置,其用于控制所述多个子电路装置,以使得在每 一子电路装置中,所述第一开关装置、所述第二开关装置及所述第三开关装置被按重复序 列置于活动状态;所述多个子电路装置中的每一个进一步包含比较器装置,其用于在第 三开关装置的活动状态期间达到跨越所述电容器装置的预定非零电压差时,将所述第三开关装置置于打开状态。从第四方面来看,本发明提供一种采用多个子电路来使电源与处理电路互连以将 功率提供至处理电路、同时隐藏该处理电路的功率消耗特性的方法,该方法包含在多个子 电路中的每一个中执行重复序列,其包含以下步骤将电源连接至电容器以对所述电容器 充电;从电容器断开电源;将所述电容器连接至所述处理电路的输出;从所述输出断开所 述电容器;使所述电容器短路以对所述电容器进行部分放电;以及在达到跨越所述电容器 的预定非零电压差时停止所述电容器的短路。


仅以举例的方式,参考在附图中所图示的本发明的实施例来进一步描述本发明, 在各附图中图1为根据本发明的一个实施例的集成电路的方块图;图2为更详细地图示根据本发明的一个实施例的图1的隔离电路结构的方块图;图3更详细地图示了根据本发明的第一实施例的图2中的每一子电路的结构;图4更详细地图示了根据本发明的第二实施例的图2中的每一子电路的结构;图5图示了根据本发明的一个实施例,在不同充电、供电及分流阶段期间跨越每 一子电路的电容器的电压如何变化,且进一步图示了将在集成电路与电源之间的接口处观 察到的相应电流特征;图6A及图6B将根据现有技术的技术执行的分流操作与根据本发明实施例执行的 分流操作进行比较;图7A及图7B图示了根据本发明实施例的、可由图2的控制电路产生的两个开关 序列以驱动图2中所图示的三个子电路中的每一个;图8图示了根据本发明的替代实施例的、在仅利用隔离电路内的两个子电路时, 可由控制电路产生的开关序列;图9图示了在对不结合用于隐藏芯片内的处理电路的功率消耗特性的机构的芯 片执行DPA分析时,可获得的相关系数;及图10图示了在对包括根据本发明实施例的隔离电路的芯片执行DPA分析时,可产 生的相关系数。
具体实施例方式图1为图示根据本发明的实施例的集成电路的方块图。在此实例中,集成电路采 取芯片10的形式,在一特定实施例中其可为智能卡。芯片10包括电路15,该电路15的电 流特征将被隐藏,以使得无法在芯片10与电源40之间的观察点45处观察到电流特征。具 体而言,电路15使用某秘密数据来执行数据处理操作,攻击者可使用DPA技术设法确定该 秘密数据,这类技术通常涉及在位置45处在电源线路之间放置包括电阻元件的分析电路, 以根据芯片10从电源汲取的功率获得电流特征信息。分析电路使用电路15的模型,该模型已由关于电路正在执行的操作的可用信息 (例如,加密/解密标准所执行的基本加密及解密操作通常是公知的)及关于电路的基本 结构的任何已知信息(例如,在将第一操作的结果转发给第二操作之前将对第一操作的结果进行锁存的知识等)导出。通过使用该模型,则对于提供给芯片10的每一输入数据项而言,可由多个猜测的秘密数据中的每一个的模型产生经模型化的电流特征(通常将秘密数 据分解为8位数据块(chunk)以使此过程可管理),且之后分析电路可设法使在观察点45 处观察到的实际电流特征与那些各种经模型化的电流特征相关。若对许多不同的输入数据 项重复此过程,则已发现可能识别秘密数据,因为该秘密数据将是显现为与在观察点45处 所观察到的实际电流特征具有最高相关系数的猜测的秘密数据。在图1的实例中,秘密数据采取在电路15所执行的加密及解密操作期间使用的密 钥20的形式。在一特定实例中,电路15根据高级加密标准(AES)执行加密及解密操作,其 中在编码操作期间,密钥用以对明文编码以产生输出密文;且在译码操作期间,密钥用以从 经编码的密文获得明文。为了防止DPA技术有效,需要将可在观察点45处观察到的功率消耗特性与电路15 的操作所产生的实际功率消耗特性解耦。具体而言,如在点45处观察到的功率消耗特性理 想地应是数据独立的。根据本发明的实施例,通过使用隔离电路25来达到这一点,下文将 更详细地描述隔离电路25的操作。应注意,隔离电路25可与芯片10内的所有电路结合使 用,或替代地可仅与芯片10内的电路的子集一起使用,亦即,利用诸如密钥20之类的秘密 数据的该电路。因此,如图1中的虚线框30所示,在一些实施例中可存在不需要隐藏其电 流特征的电路,且因此其可直接耦合至电源40,而非经由隔离电路25耦合。图2为更详细地图示根据一个实施例的隔离电路25的结构的方块图。在此实例 中,电源40被示为在图的左手侧,且处理电路15被示为在右手侧。提供三个子电路100、 105、110 (本文中亦称作开关盖模块),且以相同方式构造每一个子电路。具体而言,每一开 关盖模块具有跨越电源线连接的电容器150,且该电容器150用以将操作电压提供至处理 电路15。此外,提供充电电路120、逻辑供电电路130及分流电路140。这三个电路中的每 一个均按重复序列相继地被置于活动状态。因此,充电电路120首先被置于活动状态,此时逻辑供电电路130及分流电路140 处于不活动状态。充电电路120包括开关,其在活动状态开始时闭合,且在活动状态结束时 打开。因此,在充电电路的活动状态期间,从电源40对电容器150充电。在充电电路的活 动状态结束时,由在充电电路中被置于打开状态的开关将电容器从电源40断开。然后,逻辑供电电路130进入活动状态,且包括开关,该开关在逻辑供电电路的活 动状态开始时闭合,且在逻辑供电电路的活动状态结束时打开。因此,在逻辑供电电路的活 动状态期间,电容器150对处理电路15供电,且在此过程期间,电容器150上的电压将略微 下降,其中下降量取决于在该时段期间处理电路15所执行的实际操作。在逻辑供电电路130的活动状态之后,分流电路140进入活动状态。分流电路140 也包括开关,该开关在分流电路140的活动状态开始时闭合,藉此使电容器150开始放电。 然而,此外,分流电路140包括比较器,其将电容器上的电压与参考电压145进行比较。当 电容器上的电压大于参考电压145时,开关保持闭合且电容器持续放电。然而,一旦电容器 150上的电压差达到参考电压145,则比较器发出输出信号,该信号使分流电路内的开关进 入打开状态,藉此停止电容器的进一步放电。因此,当分流电路140的开关在分流电路的活动状态开始时闭合时,该开关将在 活动时段结束之前再次打开,开关打开的准确时间取决于在启动分流电路的活动状态时电容器150上存在的初始电压。因此,在分流电路的活动状态结束时,电容器150上的电压差将是同样的(即为参考电压145),而不管在启动分流电路的活动状态时电容器150上的电 压如何。因此,当该过程接着返回到充电电路120的活动状态时,此时将在电源40与芯片10之间的观察点45处存在的电压将始终相同,且因此在观察点处获得的任何电流特征对 于充电电路、逻辑供电电路及分流电路的每一重复序列而言将完全等同。此举藉此阻止了 由DPA技术获得任何有用信息,且具体而言保护了处理电路15所使用的密钥不会由这类 DPA技术推导出来。提供控制电路160以用于向各种子电路100、105、110发出开关序列控制信号。在一实施例中,充电电路120、逻辑供电电路130及分流电路140中的每一个的活动状态具有 相同的持续时间,且控制电路160以相位关系向三个子电路发出控制信号,以使得在任何 时间点处子电路之一中的充电电路是活动的,子电路中的另一个中的逻辑供电电路130是 活动的,且子电路中的第三个中的分流电路是活动的。因此,在此实施例中,在任何时间点 上,对一个电容器充电,将一个电容器用于将电源电压提供给处理电路15,且对一个电容器 放电。然而,并非必需使控制电路160以上述方式操作各种子电路,且如稍后将更详细地论述的那样,相位关系可允许各种子电路的活动状态之间的某重迭,且充电电路、逻辑供 电电路及分流电路的活动状态的持续时间实际上不需要等同。提供参考电压产生器145以产生将输入至分流电路140的参考电压。在一实施例中,此参考电压产生器是可编程的,以使得所产生的参考电压的准确值可变化,例如,考虑 到将使用隔离电路的处理电路。举例而言,若第一处理电路平均比第二处理电路消耗更多 功率,则在隔离电路供第一处理电路使用的情况下,在分流阶段开始时电容器上存在的电 压将平均低于隔离电路供第二处理电路使用的情况下的状况。通过提供可编程的参考电压 产生器,若隔离电路供第一处理电路使用,则可设定较低的参考电压,而若隔离电路供第二 处理电路使用,则可设定较高的参考电压。图3更详细地图示了根据本发明的一个实施例的提供在充电电路120、逻辑供电 电路130及分流电路140内的组件。在此实例中,由PMOS晶体管200提供充电电路120内 的开关,该PMOS晶体管200在其闸极输入202处接收充电触发信号Si。当充电触发信号转 至低电压电平时,晶体管200接通以提供开关的闭合状态,且相反,当充电触发信号转至高 电压电平时,晶体管断开以提供开关的打开状态。如可从图3看出的那样,逻辑供电电路130亦包括PMOS晶体管205,其以相同方式 操作,但由逻辑供电触发信号S2在其间极输入207处对其进行驱动。在分流电路140内提供开关210,其在示例性实施例中由并联的多个NMOS晶体管 提供。这些NMOS晶体管的闸极从与门215接收其输入,与门215又从比较器220接收其第 一输入,且从分流触发信号S3接收其第二输入217。电容器220在一个输入处接收电容器 150上的电压,且在第二输入222处接收参考电压产生器145所产生的参考电压。在分流电路140的活动状态的持续时间内将分流触发信号S3设定为逻辑1 (高) 电平。当电容器150的电压高于参考电压时,比较器220亦输出逻辑1信号,从而使得与门 215输出逻辑1值,藉此接通NMOS晶体管以形成开关210的闭合状态。因此,电容器150在此时间期间放电。然而,一旦电容器150的电压达到参考电压,来自比较器220的输出即转至逻辑零 电平,从而使得与门215输出逻辑零信号,藉此断开NMOS晶体管以使得开关210进入其打 开状态。接着,对于分流电路140的其余活动状态将不再发生电容器150的进一步放电。图4图示出开关盖(switching cap)模块的替代实施例。如可从图3与图4的比 较可见,唯一差别是提供与跨越电容器150的开关210串联提供的放电调谐电路230。如同 开关210 —样,放电调谐电路230由多个NMOS晶体管形成。在此实例中,提供四个NMOS晶 体管,且每一 NMOS晶体管的闸极(gate)由控制电路所产生的四位分流强度信号的位之一 驱动。因此,若该四位分流强度信号为1111,则将接通放电调谐电路230中的所有晶体管, 且因此开关210中的所有NMOS晶体管用以对电容器放电,藉此允许电容器的强放电。然 而,通过适当选择分流强度信号,可断开放电调谐电路中的晶体管中的一个或多个,藉此减 少在分流电路的活动状态期间执行任何有效放电操作的开关210中的晶体管的数目。
通过提供此放电调谐电路,相同隔离电路可供以不同速度操作的多种不同处理电 路使用。具体而言,通过考虑处理电路的操作速度适当选择分流强度信号可增加或减少放 电操作的速度。图5为图示出电容器上的电压在充电电路、逻辑供电电路及分流电路的活动状态 的重复序列期间如何变化的图。如线300所示,在充电电路的活动状态期间,电容器上的电 压增加至电源电压电平,在此实例中,该电源电压电平为1. 1伏特。接着,在逻辑供电电路 130的活动状态期间,电容器用以对处理电路供电。因此,由于处理电路执行其操作所消耗 的功率导致电压将缓慢降低,电压藉此会沿线305变化。然而,应注意,电压降低的准确量 将取决于处理电路正执行的实际处理操作,且具体而言取决于正被操纵的数据值。因此,即 使处理电路在逻辑供电电路的每一活动状态期间执行相同的加密或解密操作,实际消耗功 率将取决于正被处理的值,且这可导致跨越电容器的电压降变化,如线305的任一侧虚线 所示。因此,在逻辑供电电路130的活动状态结束时,电容器150上的最终电压将略微改变, 但在图5中所示的实例中其预期为约1伏特。在分流电路140的活动状态期间,对电容器150上的电压进行放电,直至其达到参 考电压电平为止,在图5的实例中,该参考电压电平为0. 95伏特。如可在图5中清楚地看 出的那样,不管在分流循环开始时电压如何,所达到的最终电压将始终为0.95伏特。因此, 在下一充电阶段期间,路径315将等同于路径300,从而使得将电容器上的电压从参考电压 电平充电直至电源电压电平。其后,在随后的逻辑供电电路及分流电路活动状态期间,电压 遵循路径320、325。如可看出的那样,尽管路径315将等同于路径300,但由于处理电路所 消耗的功率的差异,路径320及325与路径305及310可略有差别。在图5的顶部部分中,提供可在观察点45处观察到的电流特征的指示。仅当充电 电路120活动时,才能完全获得任何电流特征(因为在其它时间充电电路使观察点与处理 电路隔离),且应注意,由于充电路径300、315的相同性质,所以电流特征350与360完全相 同。因此,完全隐藏了处理电路的功率消耗信息,且因此使用DPA技术无法获得有用的电流 特征信息。具体而言,应了解,在观察点处获得的电流特征为完全地数据独立的,且因此阻 止进行有效的差分功率分析。图6A图示了在US 2007/0176670的先前论述的现有技术的分流操作期间,在对电容器放电时发生的电压降的指数性质,其中电容器在放电操作期间耦合至地以设法将电压 放电至零。然而,如从图6A明显看出的那样,电压从未实际上达到零,且此外在任何实际系 统中,仅存在执行分流操作所允许的有限时间量。事实上,在US 2007/0176670中,分流操 作的时段与充电操作的时段相同,并与当由电容器驱动处理装置时随后的供电操作的时段 相同。因此,应了解的是,在分流阶段结束时,所达到的最终电压将有变化,该变化将取决于 在分流操作开始时的启动电压。图6B图示了根据本发明实施例的分流电路所执行的放电操作。具体而言,如先前所论述的,电压将被放电至预定参考电压(在此实例中为0. 95伏特),且尽管达到该电压电 平所需时间可根据启动电压而变化,但在所有状况下都会在分流时段结束(由图6B中的时 间X指示)之前达到该电压。相比之下,当在图6A的图解中考虑时间X时,可看出根据在分流操作开始时的初 始电压,所达到的最终电压仍有显著变化。由于一旦再进入充电阶段,使用DPA技术的攻 击者即可获得此信息,所以这使得能够获得数据依赖的特定电流特征信息。因此,在使用 US2007/0176670的现有技术时,仍有可能使用DPA技术成功获得密钥。相比之下,如先前参考图5所论述的,在使用根据本发明实施例的技术时,不可能 获得密钥,因为在充电阶段期间所观察到的电流特征始终相同。图7A为表格,其示出了控制电路160对图2中所示的各种子电路100、105、110发 出的充电序列控制信号。在此实例中,充电电路、逻辑供电电路及分流电路的活动状态的持 续时间皆等同,且控制电路160管理相位关系,以使得在任何时间点上一个子电路使其充 电电路处于活动状态,一个子电路使其逻辑供电电路处于活动状态,且一个子电路使其分 流电路处于活动状态。图7B图示了根据替代实施例的控制电路160可产生的开关序列。此外,提供三个 开关盖模块,且此外在为那些模块中的每一个提供的开关序列之间存在相位关系。然而,在 此实例中,充电电路、逻辑供电电路及分流电路的活动状态的持续时间不同,且因此存在一 个子电路中的逻辑供电电路的活动状态与另一子电路中的逻辑供电电路的活动状态重迭 的时段。按这样的方式在不同子电路之间重迭阶段(Phase)的一个益处在于,存在由开关 盖模块中的两个中的电容器对处理电路进行供电的时段,藉此在多个电容器上散布关于该 处理电路的功率消耗的任何信息。这进一步模糊了关于处理电路正消耗的功率的任何信 肩、ο尽管在图7B中,只有重迭的逻辑供电电路的活动状态,但应了解,原则上可在必 要时重迭任何电路的活动状态。在先前所描述的实施例中,假定在隔离电路中存在至少三个子电路。然而,图8图 示了在只提供两个子电路的情形下,控制电路可使用的开关方案。具体而言,如从图8可 见,选择充电操作及分流操作的时段以使得在逻辑供电电路活动的时段期间可容纳两个操 作。因此,当一个子电路中的电容器用于对处理电路供电时,由分流电路对另一子电路中的 电容器放电,且由充电电路对其再充电。此方法使得能够通过减少实现隔离电路所必需的 组件的数目来减少隔离电路的尺寸及成本。图9为示意性地示出了对不提供隔离电路的芯片使用DPA技术所获得的相关系数 如何随输入数据样本的数目而变化的图解。在此实例中,假定电路使用密钥来执行解密,且因此提供密文作为输入,且产生明文作为输出。由于低数目的输入密文,所以存在大量的 噪声,且因此在最大相关系数与最小相关系数之间存在广泛分布。然而,随着输入密文的 数目增加,最大相关系数与最小相关系数之间的间隙减小。更重要的是,可看出到输入密 文的数目达到4000时,正确密钥开始显现为具有最大相关系数(此点称作“泄露平均时间 (MTD),,),且小于IO4个输入密文时可明显观察到正确密钥。图10图示了在芯片结合有根据本发明实施例的隔离电路时,使用DPA技术可获得 的相关系数。可看出,即便在已使用IO7个输入密文之后,正确密钥仍未显现为具有最高相 关系数的猜测密钥,而无法被检测出。因此,应了解,本发明实施例的技术提供了用于防止 经由DPA技术获得秘密数据的特别有效的机制。尽管已在本文中描述了本发明的特定实施例,但显而易见,本发明并不限于此,且可在本发明的范畴内进行许多修改及添加。举例而言,在不脱离本发明的范畴的情况下,以 下从属权利要求的特征可与独立权利要求的特征进行各种组合。
权利要求
隔离电路,其用于耦合在电源与处理电路之间,以将功率提供给处理电路,同时隐藏该处理电路的功率消耗特性,隔离电路包含多个子电路,每一子电路包含电容器;第一开关,其被配置为在所述电容器与所述电源之间提供第一连接;第二开关,其被配置为在所述电容器与所述处理电路的输出之间提供第二连接;第三开关,其被配置为跨越所述电容器提供第三连接以对所述电容器进行部分地放电;及控制电路,其被配置为控制所述多个子电路,从而使得在每一子电路中,所述第一开关、所述第二开关及所述第三开关被按照重复序列置于活动状态;所述多个子电路中的每一个进一步包含比较器,其被配置为当在第三开关的活动状态期间达到跨越所述电容器的预定非零电压差时,将所述第三开关置于打开状态。
2.如权利要求1中所述的隔离电路,进一步包含与跨越所述电容器的所述第三开关串 联置放的放电调谐电路,该放电调谐电路响应于来自控制电路的控制信号,以使得在第三 开关的活动状态期间电容器的放电速率能够变化。
3.如权利要求1中所述的隔离电路,其中比较器包含运算放大器,其在第一输入处接 收跨越所述电容器的电压差的指示,且在第二输入处接收所述预定非零电压的指示。
4.如权利要求1中所述的隔离电路,进一步包含参考电压产生元件,其可编程以提供 所述预定非零电压的指示。
5.如权利要求1中所述的隔离电路,其中对于每一子电路,控制电路控制重复序列以 确保在该子电路中每次仅提供所述第一连接、所述第二连接及所述第三连接中的一个。
6.如权利要求1中所述的隔离电路,其中所述控制电路控制所述多个子电路,从而使 得子电路的重复序列彼此成相位关系。
7.如权利要求6中所述的隔离电路,其中相位关系确保在任何时间点上,隔离电路至 多提供一个第一连接、一个第二连接及一个第三连接。
8.如权利要求6中所述的隔离电路,其中相位关系确保第一开关、第二开关及第三开 关中的至少一个的活动状态在多个子电路之间重迭。
9.如权利要求8中所述的隔离电路,其中至少第二开关的活动状态在多个子电路之间 重迭,从而使得在至少一些时段内,处理电路从所述多个子电路中的至少两个接收其功率。
10.如权利要求1中所述的隔离电路,其中所述多个子电路包含至少三个子电路。
11.如权利要求6中所述的隔离电路,其中所述第一开关、所述第二开关及所述第三开 关的活动状态不都具有相同的持续时间,且所述多个子电路包含至少两个子电路。
12.—种集成电路,其包含处理电路;及如权利要求1中所述的隔离电路。
13.如权利要求12中所述的集成电路,其中所述处理电路使用至少一个密钥来执行加 密及解密操作。
14.如权利要求12中所述的集成电路,进一步包含直接耦合至所述电源的附加处理电路。
15.如权利要求12中所述的集成电路,其中所述集成电路是智能卡,且所述处理电路 使用至少一个密钥来执行加密及解密操作。
16.隔离电路,其用于耦合在电源装置与处理装置之间,以将功率提供给处理装置,同 时隐藏该处理装置的功率消耗特性,隔离电路包含多个子电路装置,每一子电路装置包含 电容器装置;第一开关装置,其用于在所述电容器装置与所述电源装置之间提供第一连接; 第二开关装置,其用于在所述电容器装置与所述处理装置的输出之间提供第二连接; 第三开关装置,其用于跨越所述电容器装置提供第三连接,以对所述电容器装置进行 部分地放电;及控制装置,其用于控制所述多个子电路装置,从而使得在每一子电路装置中,所述第一 开关装置、所述第二开关装置及所述第三开关装置被按照重复序列置于活动状态; 所述多个子电路装置中的每一个进一步包含比较器装置,其用于当在第三开关装置的活动状态期间达到跨越所述电容器装置的预 定非零电压差时,将所述第三开关装置置于打开状态。
17.一种采用多个子电路使电源与处理电路互连以将功率提供给处理电路、同时隐藏 该处理电路的功率消耗特性的方法,所述方法包含在多个子电路中的每一个中执行重复序 列,其包含以下步骤将电源连接至电容器以对所述电容器充电; 从电容器断开电源;将所述电容器连接至所述处理电路的输出; 从所述输出断开所述电容器;使所述电容器短路以对所述电容器进行部分地放电;及 当达到跨越所述电容器的预定非零电压差时,停止所述电容器的短路。
全文摘要
本发明提供一种用于隐藏相关联处理电路的功率消耗特性的隔离电路及方法。该隔离电路包含多个子电路及控制电路。每一子电路包含电容器,被配置为在所述电容器与所述电源之间提供第一连接的第一开关,被配置为在所述电容器与所述处理电路的输出之间提供第二连接的第二开关,被配置为跨越所述电容器提供第三连接以对所述电容器进行部分地放电的第三开关;控制电路被配置为控制多个子电路,以使在每一子电路中,第一开关、第二开关及第三开关被按照重复序列置于活动状态;所述多个子电路中的每一个进一步包含比较器,其被配置为当在第三开关的活动状态期间达到跨越所述电容器的预定非零电压差时,将第三开关置于打开状态。
文档编号H02M3/07GK101800471SQ201010113359
公开日2010年8月11日 申请日期2010年2月3日 优先权日2009年2月3日
发明者C·A·托库纳加, D·T·布劳夫 申请人:密执安大学评议会
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1