首页> 中国专利> 用于安全系统的电荷分配控制

用于安全系统的电荷分配控制

摘要

用于安全系统的电荷分配控制。本发明使用相同的方法提供了优选的模拟和/或数字逻辑单元和方法,用于为电路块供电。一个数字逻辑单元可包括一电荷存储器件(12),一逻辑块(10),以及至一电源(14)的连接。电荷存储器件可以是一电容(12)。电容或其它电荷存储器件(12)可从逻辑块(10)或电源(14)中断开,以为电容(12)放电,并且随后通过电源连接(18,20)连接至电源(14),以为电容(12)充电。电容(12)可从电源的接地连接中断开,而电容仍在放电。在通过电源(14)充电后,电容(12)也可以从电源(14)中断开,并连接逻辑块(10),以为逻辑块供电,其中,所述电源包括接地电源。

著录项

  • 公开/公告号CN112165251A

    专利类型发明专利

  • 公开/公告日2021-01-01

    原文格式PDF

  • 申请/专利权人 科欧罗基克斯有限公司;

    申请/专利号CN202011140986.4

  • 申请日2014-02-20

  • 分类号H02M3/07(20060101);

  • 代理机构31272 上海申新律师事务所;

  • 代理人董科

  • 地址 美国佛罗里达州

  • 入库时间 2023-06-19 09:23:00

说明书

技术领域

本发明涉及一种用于安全系统的电荷分配控制。

背景技术

如今有许多安全应用,其中保护电子存储和/或处理数据是十分重要的。现今的安全应用可在许多领域进行,包括ATM卡,身份证,储值卡,信用卡,移动电话(例如,SIM卡),计算机访问控制,付费电视,以及医学信息存储。这些卡和应用的安全经常依赖于嵌入卡的存储器(或其它电路)的密钥的密码计算。攻击者试图从卡中抽取这些密钥,以便修改卡的内容,创建一复制的卡,或产生一未授权的交易。主动攻击会留下清晰可见的干涉的标记,而被动攻击通常不会留下标记。

在一个被动攻击中,在信息与阅读器交互时,信息从卡中收集。被动攻击可以是旁路攻击的形式。旁路攻击包括基于卡或电路的物理实现中破译密钥,这是通过注意时间信息,功率消耗,电磁场,甚至声音来实现的。例如,在逻辑门的切换期间的电流改变(以及导致的功率信号)可以通过供电线路监视,并用于解码密钥,其中逻辑门是智能卡的组成部分。此类型的攻击,也被称为差分功率分析(DPA),对智能卡的持有者具有许多负面影响(例如,一ATM卡可被侵入,并用于从卡拥有者的账户,未经卡拥有者的授权,提取现金)。保持数据安全,并保护它免于旁路攻击,包括DPA攻击,持续成为一个重要的设计考量。

发明内容

本发明公开了一种安全电路、系统和方法。逻辑单元可保护不同应用的安全,包括提供运行加密算法的加密块。

本文介绍了一种电荷分配控制,可以通过抑制信号和功能的方式来隔离电路系统,

该信号和功能是通过电源或者接地线检测到的电路或者逻辑块产生的。在一些实施例中,电荷分配控制可以是一个时钟充电机制。时钟充电机制的计时可以是周期或随机的(或包含随意的周期)。在一些其它的实施例中,电荷分配控制可以包括一个自计时电路,例如,可以使用异步的,基于延迟的网络。根据本发明,提供了一时钟充电机制,它从电源中隔离了逻辑单元,并以一种可以使逻辑单元的状态不被破译的方式,不漏电的为逻辑单元充电。逻辑单元的时钟充电机制抑制了逻辑单元的功率信号被读出,这是通过从外部包括电源电压和接地连接中,同时隔离逻辑单元的高和低电源电线来实现的。

本发明的实施例提供电容式的充电,用于运行一逻辑单元(和其他电路模块)。电容式的充电通过至少一个逻辑转换或切换周期,以一种充足的方式建立,以运行逻辑块的设备。充电控制机制涉及一个或多个时钟和/或自计时电路。在一个特定的时钟例子中,提供至少两个时钟,一个时钟用于以某一速度执行单元的逻辑,而另一个时钟用于在逻辑运算之间为一电荷存储器件充放电。在一个非计时的实施例中,自定时电路可用于控制一个电荷存储设备的充电和放电。

本发明的实施例的一个数字逻辑单元可包括一电容,电容可受控的充电和放电,以便在数字逻辑单元的逻辑块和电源间提供一个“隔离”或“去耦”。

虽然数字逻辑单元和电路的电荷分配控制在本文中详细描述,但实施例不限于数字逻辑单元和块。各种实施例包括在同电源电压和地面连接隔离时运行的模拟电路。

控制电容充放电的方法可通过切换操作进行,包括如下步骤:当电容从逻辑块和电源中断开时,连接电容的两端,以便短路电容,并允许电容放电;在电容放电完成后,连接电容至电源,以为电容充电;在电源为电容充电完成后,把电容从电源中断开;以及在电源为电容充电完成后,连接电容至逻辑块,以为逻辑块提供电力。在实施例中,在隔离的逻辑块的导轨中,可能还包括附加组件,来支持电容没有连接到逻辑块的操作(或者如果电容没有承载足够的电量)。

此说明以一种简化的方式有选择的介绍了一些概念,这些概念会在下面进一步的详细描述。此说明并未试图标出本主题的关键特征或本质特征,也未试图用于限制本主题的范围。

附图说明

根据本发明,图1是一个时钟充电域逻辑(CCDL)单元的示意图。

图2A-2C显示了本发明的某些实施例的使用金属氧化物半导体场效应晶体管(MOSFET)放电开关的例子。

根据本发明,图3A-3D说明了一个时钟充电域逻辑单元操作方法。

根据本发明,图4是一个时钟充电域逻辑单元例子的示意图。

根据本发明,图5是逻辑单元的时钟序列。

根据本发明,图6是逻辑单元的结构仿真图。

图7一个电容放电图。

根据本发明,图8是一个电路图。

根据本发明,图9A-9D组合起来是一个2bit加密块实施的电路图。

图10是图11的加密块操作的信号图。

根据本发明,图11是在一个CCDL单元内内部逻辑电线的输出信号图。

根据本发明,图12是组成CCDL单元的一个AES加密核心电源信号图。

图13所示为一个可用于电荷分配控制的同步电荷分布时钟发生器的例图。

图14所示为一个可用于电荷分配控制的不相关的电荷分布时钟发生器的例图。

图15所示为一个可用于电荷分配控制的确定性电荷分布时钟发生器的例图。

图16所示为一个可用于电荷分配控制的异步电荷分布时钟发生器的例图。

具体实施方式

本发明公开了一种安全电路、系统和技术。电荷分配控制用于实现芯片电路的隔离功能。在一些实施例中,电荷分配控制可以是一种时钟充电机制。时钟充电机制的计时可以是周期或随机的(或包含随机的周期)。在一些其它的实施例中,电荷分配控制可以包括一个自计时电路,例如,可以使用异步的基于延迟的网络。逻辑单元和其它电路块可以用于各种应用,包括涉及“加密”或“密码”的块的密码应用,例如加密块,认证引擎,硬件算术加速器,和协处理器。除了改善电路操作的安全性,如本文所述的电荷分布的各种实施和控制的实施可以减少含有安全信息的电流成分,减少或隐藏电路操作有关的从设备电流泄漏中获得的信息,提高侧通道抑制并降低功耗。

某些实施例也可以用来防止安全信息被侧信道分析攻击所检测。旁路攻击涉及一种攻击方法,该方法基于密码系统的物理实施获取敏感信息,而不是通过加密算法或暴力的数学分析获取敏感信息。各种类型的旁路攻击可能被此中描述的系统和方法所抑制,它们包含但不仅限于,至少如下分析之一,分析包括:差分功率分析,简单功率分析,漏电流分析,差分电磁场分析,时序分析,热,声学分析,故障注入和差分故障分析。

所描述的电荷分配控制和安全逻辑/电路块的某些实施,能够防止这类通过从其它组件(通过电荷分配控制)隔离逻辑/电路模块的旁路攻击,并从而抑制声学,电磁,热和/或功耗分析,故障注射,甚至物理侵入(只是一些例子)。

本发明的实施例提供一种电容充电,用于运行一个逻辑单元。这种电容充电是建立在一种通过,在某些情况下至少一个逻辑转换或者切换循环,以足够运行逻辑块设备的方式运行。电荷控制机制可以包括一个或多个时钟和/或自定时电路。在一个时钟实施中,至少需要两个时钟,一个时钟用于以某一速度执行单元的逻辑,而另一个时钟用于在逻辑运算之间为一电荷存储器件充放电。在非时钟实施中,一个自定时电路可用于控制一个电荷存储器件的充电和放电。

根据一个实施例,提供了一种充电机制,它从电源中隔离了一逻辑单元,并且以一种可以使逻辑单元的状态不被破译的方式,不显示漏电的为逻辑电源充电。逻辑单元的充电控制机制抑制了逻辑单元的功率信号被读出,这是通过从外部包括电源电压和接地连接中,同时隔离逻辑单元的高和低电源电线来实现的。

硬件中的加密块,诸如智能卡、近距离无线通讯(NFC)控制器(以及其它无线通信控制器和处理器),现场可编程门阵列(FPGA),和专用集成电路(ASIC)通常由进行加密或其它密码算法的逻辑块构成。

在带有标准静态逻辑电路的密码块内,这些电路内的逻辑状态的转换可由为密码块供电的电源(和接地)线而检测到。此外,逻辑块从低至高的逻辑状态的转换具有不同于由高至低转换的功率信号。因此,通过监视为密码块供电的供电线,密码块的操作可被解码。此方法可称为差分功率分析(DPA)。类似的,逻辑转换期间的电磁泄漏可被密码块内的解码操作所监视。使用这种旁路攻击,加密块中的加密密钥可内破译,这产生了加密块中数据处理的一个安全缺口。

本发明的实施例可提供在保护逻辑块免于揭露逻辑状态的转换时,最小的区域经费。此外,不仅是实施例隔离了逻辑单元的操作,以至于在逻辑单元的操作期间阻止了从输电线中感知功率消耗,而且本发明的系统和方法也保护了充电免于从地线中被读取。也可以保护I/O总线和其它信号线免于旁路攻击探测器的威胁,这是通过阻止破译信号线上的转换信号来实现的。

在一个实施例中,电荷存储器件用于为一逻辑单元提供一运行电压,并被设置为在电源和逻辑块中的媒介。在某些实施例中,每个逻辑单元块可包括它自身的电荷存储器件,用于独立的抬升或降低电压。在一个实施例中,电荷存储器件是一个电容;然而,实施例并不仅限于此。因此,描述的“电容器”可以理解为,任何合适的电荷存储器件都可以在电容器内。此外,可以理解的是,一个电容器可以以各种方式来实现,包括但不限于金属氧化物半导体,金属氧化物的金属,金属-绝缘体-金属,以及其它片上电容器的配置。此外,在一些实施例中,虽然“电荷存储器件”和“电容器”也被称为单数的每个单元块,但是多个装置或部件也可以在一些实施中将电力提供给单元块。

因为在电荷存储器件,例如电容上的每套逻辑运算之后,剩下的电荷包含由逻辑块在每套逻辑运算期间的完整的电力消耗信息,只从电源上的逻辑块(或者使用时,一个充电电容)断开的系统容易通过地线受到被动攻击(例如DPA)。本发明的实施例通过同时从地线部分去耦逻辑块和充电电容,免于遭受这样一种易受攻击的危险。

根据本发明的不同的实施例,伴随着逻辑块的每个逻辑转换(或伴随着一个预设数量的逻辑转换,其它时间周期,或以一种随机的方式),电荷存储器件通过让它的终端短路而进行放电至某一电势。

在一个实施例中,可提供一个或多个数字逻辑单元。每个数字逻辑单元可包括一电荷存储器件,电源连接器,以及一逻辑块。每个逻辑块可设置用于连接相同的电源。所述一个或多个数字逻辑单元的电荷分配控制,可过实施,以从电源中隔离数字逻辑单元的运行。有利的是,通过把电荷存储器件分布在一个集成电路芯片上,电荷存储器件所提供的电荷是充足的,而无需定制电荷分配控制和电容。

一个数字逻辑单元可如此设置,以至于它的电荷存储器件可从电源和逻辑块中断开,以为电荷存储器件放电。电荷存储器件可从两个电线中断开(例如,电源线和地线)。电荷存储器件可随后连接至电源,而仍然从逻辑块中断开,以为电荷存储器件充电。接着,电荷存储器件可从电源中断开,并连接至逻辑块,以作为逻辑块的电源。随后,逻辑块的输入可允许进行转换,并转换需要的电力可由电荷存储器件提供。此过程可在任何点开始和/或可在一个周期内持续。

每当电荷存储器件从电源中断开时,电荷存储器件从电源的接地连接中断开。电荷存储器件可使用任何已知的合适的方式同电源连接和断开,包括一个或多个开关。并且,电荷存储器件可使用任何已知的合适的方式同逻辑块连接和断开,包括一个或多个开关。

在某些实施例中,可使用晶体管作为开关,以连接电荷存储器件,并把电荷存储器件从电源和/或逻辑块中断开。可使用任何已知的合适的晶体管,例如,一个双极面结型晶体管,一个金属氧化物半导体场效应晶体管(MOSFET),或是它们的一个组合。每个使用的MOSFET可以即是一个p型MOSFET(PMOS),或是一个n型MOSFET(NMOS)。在一个实施例中,可使用一个传输门配置。在另一个实施例中,可使用二极管作为一个或多个开关。在另一个实施例中,可使用基于微电子机械系统的开关。

在某些实施例中,可使用一个MOSFET晶体管作为一个电荷存储器件。在一个实施例中,电荷存储器件是MOSFET晶体管,当从电源和逻辑块中断开电容,以为电容放电时,MOSFET的栅极可连接至MOSFET的源极,漏极和/或基极,以允许电容完全放电。电容MOSFET的栅极可使用已知的任何合适的方式连接至MOSFET的源极,漏极和(中某些情况下)基极,包括一个或多个开关,开关可以是此中描述的晶体管。随后,当电容连接电源,而仍保持从逻辑块中断开,以为电容充电时,电容的栅极可从作为电容使用的MOSFET的源极,漏极和基极中断开。

在另一个实施例中,电荷存储器件可以是一个离散的电容。在另一个实施例中,电荷存储器件可以是电荷耦合器件,或其它的主动的电荷存储器件。

每个逻辑块可以是任何已知的合适的逻辑块,并可包括一个或多个输入端,一个或多个输出端,一个或多个电线端,和/或一个或多个接地端。

逻辑块可以是任何已知的合适的逻辑门配置。例如,逻辑块可使用一个NAND逻辑门,一个AND逻辑门,一个NOR逻辑门,一个OR逻辑门,一个XOR逻辑门,一个XNOR逻辑门,一个NOT逻辑门,一个ONE逻辑门,一个ZERO逻辑门,或它们的一个组合。此至少一个的逻辑块可使用任何和是的逻辑器件,包括晶体管进行装配。晶体管可以为场效应晶体管,具有源极,漏极,基极和栅极。

在一个实施例中,逻辑块可如此配置,以至于每个晶体管的基极可耦合至电容,而输入连接到至少一个逻辑块转换,并且基极耦合至电容(例如漂浮),而电容可进行放电和充电。

在另一个实施例中,这样的一个晶体管不在普通的大块CMOS处理中装配,至少一个晶体管可在隔离阱中形成。例如,N沟道器件的p阱可从一n阱层的基底中隔离。

其它的电路块可以以类似的方式配置在数字逻辑块中。例如,物理层防克隆功能(PFU),随机数发生器,熵源,模拟电路(例如,运算放大器,比较器),查找表,存储器,以及复合信号电路,可以在所述电荷分配控制设置的控制下运行。因而,在“逻辑块”附图处,可以理解为,数字的,模拟的,以及混合电路的集成电路单元可能位于逻辑块内。

根据本发明,图1是一个时钟充电域逻辑(CCDL)单元的示意图。参考图1,在一个实施例中,一个数字逻辑单元可包括:一逻辑块10和一电荷存储器件(在此实施例中以电容12表示),电荷存储器件用于为逻辑块10供电,而完全的从电源14中去耦逻辑块10。电容12通过使用放电开关16从电源14中去耦逻辑块10;一开关18,连接电容12至一个电源连接(例如,高电压电线);一开关20,连接电容12至另一个电源连接(例如,低电压电线或接地);以及两个开关22,24,连接电容12于逻辑块10的电源线和接地线。

为了给电容12放电,放电开关16可以关闭,而其它开关18,20,22,24可以打开,以至于电容12从逻辑块10和电源14中断开,包括从电源14的接地连接中断开。为了给电容12充电,放电开关16可以连同开关22,24一起打开,并且开关18和20可以关闭,以至于电容12连接至电源14,而仍然从逻辑块10中断开。随后,开关18和20可以打开,以从电源14中断开电容12,而开关22和24可以关闭,以连接电容12至逻辑块10。在开关22和26关闭前,开关18和20可以打开,因而确保了逻辑块10没有直接的连接电源14或逻辑单元的电源连接。

接着,逻辑块10的输入可允许进行转换,并转换需要的电力可由电容12提供。此过程可在任意点开始,和/或在一个周期内持续。

开关16,18,20,22和24是可控制的,例如,通过一个包括信号发生器的电荷配电控制器,提供开关信号给开关。控制信号可以由电荷配电控制器根据各种控制方式来提供。

在一些实施例中,可以使用一个时钟方案。图13和14举了一个例子表明,时钟信号发生器可以用于电荷分配控制。一时钟计划可包含三个时钟信号—一个控制开关16,一个控制开关18和20,以及一个控制开关22和24。

在另一些实施例中,包括一个自定时电路的电荷分配控制器可用于控制开关16,18,20,22,和24。图15示出了电荷分配控制电路的示例。自定时电路包括,但不限于延迟元件(模拟或数字),例如,基于逆变器的延迟线,压控延迟线,数控延时线,双循环延迟锁定环,差分放大器延迟单元,模拟延迟锁定环,它们的组合和类似物。因此,虽然图1所示的示意图被称为“时钟”的充电域逻辑单元,但是,到达和流经单元的电量可以通过非及时方法来控制。

虽然电荷存储器件被描述为电容12,应当理解电荷存储器件可以为任何合适的电荷存储器件,包括主动或被动的元件。

每个开关16,18,20,22,26可以是任何已知的合适的开关。在某些实施例中,晶体管,二级管,基于MEMS的开关,等可以用于一个或所有的开关。对于使用晶体管作为开关的实施例,可使用任何已知的合适的晶体管,例如,双极面结型晶体管,MOSFET,或它们的一个组合。根据本发明不同的实施例,图2A-2C显示了放电开关(16)的实例。参考图2A-2C,放电开关16可以是,例如,一个PMOS(图2A),NMOS(图2B),或一个使用PMOS和NMOS晶体管的传输门(图2C)。

根据本发明的一种实施例,图3A是在第一阶段期间的CCDL单元的示意图。参考图3A,电容C1(或其它电荷存储器件)可从电源V1和逻辑块中断开,以为电容C1充电。电容C1的两端可互相连接,以帮助电容C1放电。这可以通过使用,例如,开关,比如晶体管来完成。电容C1可以使用任何已知的合适的方式从电源V1中断开,包括一个或多个开关。并且,电容C1可以使用任何已知的合适的方式从逻辑块中断开,包括一个或多个开关。

电容C1可从电源V1和逻辑块中断开一段时间,以足够使电容C1放电至一已知或潜在的电荷水平,它可以为0伏(V)或非常接近0V。根据某个实施例,电容被放电至一低于最大放电水平的电压,以用于逻辑转换,并可放电至大约0V。并且,当电容C1从电源V1中断开时,电容C1从电源V1的接地连接中断开。

电容可以从电源和逻辑块中断开以允许电容放电的时间可以是,例如任何下述的值,任何大约下述的值,至少任何下述的值,至多任何下述的值,或把任何下述的值作为临界点的任何范围内,虽然实施例并不仅限于此(所有值都以纳米为单位):0。0001,0。001,0。01,0。1,1,2,3,4,5,6,7,8,9,10,15,20,25,30,40,50,100,150,200,250,300,350,400,410,420,430,440,450,460,470,480,490,500,550,600,650,700,750,800,850,900,950,1000,1500,2000,3000,4000,5000,6000,7000,8000,9000,10

根据本发明的实施例,图3B是在一第二相期间的CCDL单元的示意图。参考图3B,电容C1可以连接电源V1,而仍然保持从逻辑块中断开,以为电容C1充电。电容C1可使用任何已知的合适的方式连接电源V1,包括一个或多个开关。在一个实施例中,电容C1可同连接电源V1并联。电容C1可连接电源V1足够长的时间,以为电容C1充电,使之能为逻辑块充电。

电容可以连接电源以允许为电容充电的时间可以是,例如任何下述的值,任何大约下述的值,至少任何下述的值,至多任何下述的值,或把任何下述的值作为临界点的任何范围内,虽然实施例并不仅限于此(所有值都以纳米为单位):0。0001,0。001,0。01,0。1,1,2,3,4,5,6,7,8,9,10,15,20,25,30,40,50,100,150,200,250,300,350,400,410,420,430,440,450,460,470,480,490,500,550,600,650,700,750,800,850,900,950,1000,1500,2000,3000,4000,5000,6000,7000,8000,9000,10

在一个实施例中,一个MOSFET可作为电容C1,并且当电容C1从电源V1和逻辑块中断开,以为电容C1放电时,电容C1的栅极可连接至MOSFET的源极,漏极和基极,MOSFET可用作电容C1,以允许电容完全放电。电容C1的栅极可使用已知的任何合适的方式连接至MOSFET的源极,漏极和基极,包括一个或多个开关,开关可以是此中描述的晶体管。随后,当电容C1连接电源V1,而仍保持从逻辑块中断开,以为电容C1充电时,电容C1的栅极可从作为电容C1使用的MOSFET的源极,漏极和基极中断开。在另一个实施例中,MOSFET作为电容使用的基极连接至逻辑单元的接地连接(例如,图4的CP_GD)。随后,作为电容C1使用的MOSFET的栅极连接至它的源极和漏极,它的基极仍保持同逻辑单元的接地连接相连接。

根据本发明的实施例,图3C是在一第三相期间的CCDL单元的示意图。参考图3C,电容C1可从电源V1中断开,并连接逻辑块,以充当逻辑块的电源。电容C1可以使用任何已知的合适的方式连接逻辑块,包括一个或多个开关。在一个实施例中,电容C1可同逻辑块并联。并且,当电容C1从电源V1中断开时,电容C1也从电源V1的接地连接中断开。

根据本发明的实施例,图3D是在一第四相期间的电路示意图。参考图3D,逻辑块的输入可允许被转换(例如,可提供信号输入),并且需要进行转换的电力可由电容C1提供。

在某些实施例中,例如大块CMOS应用中,在逻辑转换期间,逻辑块内每个晶体管的基极可以被连接至电容,因而抑制了从电源中流入或流出的基底的电流(对于NMOS晶体管)或N阱电流(对于PMOS晶体管)。否则这些电流可能用于辨别逻辑块内的逻辑转换。在另一个实施例中,孤立的阱,其中至少焊接了一个晶体管,可用于抑制基底的电流。

电容可以连接逻辑块以允许逻辑块的输入进行转换的时间可以是,例如任何下述的值,任何大约下述的值,至少任何下述的值,至多任何下述的值,或把任何下述的值作为临界点的任何范围内,虽然实施例并不仅限于此(所有值都以纳米为单位):10

参考图3A-3D,本发明的实施例的CCDL逻辑单元的基本操作已经被描述了。在第一阶段中,时间=T1,电源V1和逻辑块可从电容C1中断开。电容C1的两端可以互相连接,并且电容C1可以放电。此步骤在CCDL逻辑电路操作的每个周期内,把电容C1放电至一个已知的电量水平。

在第二阶段中,时间=T2,逻辑块保持从CCDL的剩余电路中断开。电容C1的两端可以互相断开,并同电源V1并联。电容C1保持并联电源V1足够长的时间,以允许电容C1充电至一需要的电势,例如同电源V1的电压相等或接近的电势。

在第三阶段中,时间=T3,电容C1可从电源V1中断开并连接至逻辑块。以此方式,电容C1可作为逻辑块的电源。

在第四阶段中,时间=T4,逻辑块的输入可允许被转换,并且转换所需要的电力可由电容C1提供。逻辑块内每个晶体管的基极可以被连接至电容,因而抑制了从电源中流入或流出的基底的电流(对于NMOS晶体管)或N阱电流(对于PMOS晶体管)。否则这些电流可能用于辨别逻辑块内的逻辑转换。操作周期可随后返回至第一阶段,此过程可重复。此过程可在任何阶段开始和/或可在一个周期内持续。

通过在第一阶段内为电容C1放电,由于在第四阶段后剩余在电容C1中的电荷被从在第一阶段(其中电容在接回电源前已经放电)期间的电容C1中移除,在一个逻辑转换期间从电容C1中移除的电荷水平被从电源中隔离,以防止被感觉到。本发明的实施例提供的这个配置可解决电容中的不同电量的问题,因为在第一阶段期间电容C1中被逻辑块每次消耗的电量可随逻辑块内转换的发生而改变,而逻辑块内的转换根据逻辑块内的输入而改变,这导致了从电容C1中移除了不同数量的电量,由此可提供一些信息,这些信息可能揭露逻辑块内进行的操作类型。

此外,使用CCDL方法,至电源的正极和回路都可从逻辑电路中断开,因而有助于移除逻辑块内来自电源的充电或放电节点电流的任何路径。所有被逻辑块使用的逻辑操作的电量都源于或归于电容。

在图3A-3D所示的四个阶段可在电荷分配控制器的控制下进行。电荷分配控制器通过计时或者非计时的方式给开关发送控制信号。对于四个阶段的任一个特定的时间,都是基于任何数量的因素。例如,在某些情况下,电荷存储器件可被监测,放电和充电可基于电荷存储设备上的电压是否低于某一特定电压阈值水平被控制。

此外,在一些实施例中,开关连接和断开的其它阶段可以被实施,并且(或者)某些阶段可以重复进行。举一个例子,电荷分配控制器以某种方式提供信号来控制开关,此方式中,电容与电源连接,并在没有连接到逻辑块的情况下与电源断开,或者在没有连接逻辑块的情况下充放电多次(例如,重复阶段1和2)。作为另一个示例,可能存在一种情况:由于随机的电荷分配控制,电容与电源和逻辑块同时连接。

在一个实施例中,一个非重叠时钟电路产生五个非重叠时钟信号来驱动一个CCDL逻辑单元多次重复充电。当然,不同的实施例可结合更多或更少的时钟信号。例如,至少两个信号都可以用,一个时钟以执行逻辑单元的速度运行,另一个时钟用来连接和断开在电源和逻辑块之间的充电装置设备。在某些实施例中,时钟并非对每个单独的逻辑块所必须。这可以允许基本的静态逻辑单元与CCDL电源开关单元核心搭配使用。

进一步地实施例可以利用时钟周期,时钟周期基于一个逻辑转换,多重变换,甚至随机时钟。

在一些实施例中,用于形成安全的电路和系统的单元包括电荷保持组件(参见图4的晶体管M9),它可以用来在导轨上保持电荷,即使电路同电源隔离。保持电池中存储的电荷可以让逻辑单元运行,即使在导轨上没有施加功率,噪声,或可变功率。因此,何时连接隔离单元的时间,以便它可以连接至一个电源并不是必须在电荷分配控制电路和逻辑块之间进行调节的。本发明的实施例可在一个AES加密块中进行。图4和图6是类似的图表,显示了逻辑单元的实例结构,其中基本静态逻辑单元(例子中的AND)可与一个CCDL电源切换单元核心配对。参考图6,左圈显示了单元的CCDL电源切换核心。一个单个NMOS晶体管(图4)可由电力电容提供,以为它放电,因而限定了电容放电至NMOS器件的门限电压(Vth)的数量,NMOS器件用于短路电力电容的两端。附加的PMOS器件,因而作为一个传输门(图6),可允许电压施加在电力电容上,以在每个放电周期内,完全的放电至0V(或非常接近至0V)。

图7是一个电容放电图。参考图7,其中显示了电容放电水平的改善。中心区域(指出为“电容放电”)显示了在CCDL单元的再充电周期的放电部分期间,由于电容被短路而在电力电容上的每侧电压。在在放电周期内,电力电容的每侧达到了相同的电压电势(例如,没有或几乎没有电量在电力电容中剩余)。这确保了在CCDL单元的每个周期内,需要相同的电量,以为电力电容充电。

图6右侧的环绕区域显示了CCDL单元的逻辑部分。在此情况下,逻辑电路作为一个基本双输入的AND门使用。在CCDL单元内同静态逻辑运行逻辑的能力允许了一个已存的,低功率的,低区域消耗的逻辑系列的使用。因此,一个唯一的逻辑电路,用于执行AES核心需要的基本逻辑功能,不是必需的。

在一个实施例中,可使用保护环,围绕在一个AES核心周围,以提供一些水平的结绝缘,以进一步减少基底电流抵达电源的能力。在一个进一步的实施例中,在非大块处理中,在CCDL单元的部分之下的N阱澡盆(一个在p型基底内的相对深的n型作用区)可提供进一步的从逻辑运算的电源的隔离,逻辑运算从CCDL单元的基底电流中产生。

在一个实施例中,可在CCDL电路接口,同标准CMOS静态逻辑块(例如,那些在一个测试集成电路中使用的静态逻辑块)使用具有内部迟滞作用的一个Schmitt触发器。迟滞作用产生的抗干扰性可抑制CCDL输出信号免于错误的触发一个具有接口标准的CMOS逻辑单元。

出现在一块数字逻辑单元内的数字逻辑单元的数目可以是,例如任何下述的值,任何大约下述的值,至少任何下述的值,至多任何下述的值,或把任何下述的值作为临界点的任何范围内,虽然实施例并不仅限于此:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,150,200,250,300,350,400,450,500,550,600,650,700,750,800,850,900,950,1000,1500,2000,3000,4000,5000,6000,7000,8000,9000,或10000。例如,一块数字逻辑单元内可包含20个如此中描述的数字逻辑单元。

数字逻辑单元内的时钟频率可以是,例如任何下述的值,任何大约下述的值,至少任何下述的值,至多任何下述的值,或把任何下述的值作为临界点的任何范围内,虽然实施例并不仅限于此(所有数值都以兆赫表示):10

在一些实施例中,电荷存储器件在每个时钟周期内更新(例如,充电)一次,并且再充电周期从系统时钟的下降沿开始。因此,在数字逻辑单元的时钟周期为10MHz的情况下,所有AES单元内的逻辑转换都在小于50ns内完成。假设时钟缘的触发器在AES加密核心中使用,在此条件下,在一个AES加密块内的每个传输的逻辑转换必需在25ns内完成。在其它的实施例中,电荷存储器件在预设数量的时钟周期后更新,以便可以在电荷存储器件一单个充电中进行多个逻辑转换。在一个这样的实施例中,时钟周期的数字可随机的或按一种式样转变。例如,在充电期间的时钟周期的数字可通过一随机数字发生器控制(因此充电以随机的间隔发生)。

在本发明的一个实施例中,一种数字逻辑单元的方法可包括一电荷存储器件的形成,一电源的连接,以及如此中描述的一逻辑块。此方法可进一步包括在一电线(或金属互连)上形成一开关,用于互相连接电荷存储器件两端,也包括在电荷存储器件的终端和电源间的开关,以及电荷存储器件的终端和逻辑电路间的开关。每个开关可以是,例如一个MOSFET。在一个特别的实施例中,通过形成一MOS电容(或以某种方式连接以提供电容),一个MOSFET可被用作电荷存储器件,并且在电线(或金属互连)上连接电容终端的开关可由连接MOSFET的栅极至MOSFET的源极,漏极和(可选的)基极的电线来提供。此方法也可包括形成一电源,以连接电源连接。可形成多个这样的数字逻辑单元。在一个实施例中,可形成一单个电源,以连接所有的逻辑单元。在另一个实施例中,一个或多个逻辑单元可共享相同的电源(例如,所有的逻辑单元可共享相同的电源)。

根据本发明的实施例,可配置数字逻辑单元的一个系列,以便在单元的每个逻辑转换期间,每个单元由一个电容(或其它电荷存储器件)供电。伴随每个逻辑转换(或一个预设数量的逻辑转换或者随机数的逻辑转换或一个随机量的时间),电容的两端互相连接,而电容从逻辑单元和任何电源中断开,因而允许了电容放电至一个已知的水平(例如,0V或非常接近0V)。电容可随后连接至一电源,以再次为电容充电。在逻辑单元的所有逻辑转换期间,此过程从电源中断开每个逻辑单元,因而在电压为逻辑单元提供电力时避免了功率消耗被感觉到,并且极大的抑制了在逻辑单元上的旁路攻击,例如DPA。

根据本发明的实施例,逻辑单元被完全从电源上解耦,并只连接至一电荷存储器件。在逻辑块内的逻辑转换进行后,电荷存储器件的放电是一种掩饰在每个CCDL逻辑操作周期内电量消耗的优选的方式。在逻辑转换期间,逻辑块内每个晶体管的基极可连接电荷存储器件,因而抑制了从电源中流入或流出的基底的电流(对于NMOS晶体管)或N阱电流(对于PMOS晶体管)。否则这些电流可能用于辨别逻辑块内的逻辑转换。

除了保护安全的信息防止被从电流中读取(是否在截止电流泄漏的操作过程中),所描述的电荷分布控制和电路的设置可以用于保护信息安全,防止来自于声学,电磁,热,和/或功率消耗的信息被检测到。事实上,实施例可以防止任何数量的旁路攻击。

下列的实施例用于列举可在本发明中使用的一些配置。下列实施例的举例不可解释为穷尽的,并且几乎不用户说明一些典型配置。其它配置也可包含在本发明的范围和精神内。

在第一实施例中,提供了一个安全数字逻辑单元,包括一逻辑单元;以及一电荷存储器件,用于在逻辑操作期间,为逻辑单元提供电力,电荷存储器件可控制的在一充电操作期间连接至一电源,并在一逻辑操作期间连接逻辑单元,其中在逻辑操作期间,电荷存储器件未连接电源以及电源的接地连接。电荷存储器件可以是一离散的电容,一MOS电容,一MOS晶体管,一电荷耦合器件,等。类似的配置可用于模拟,数字或模拟和数字元件组合的其它的电路和系统。

在第二实施例中,第一实施例的安全数字逻辑单元进一步包括一第一开关,用于为电荷存储器件放电。第一开关可以是,例如一个晶体管或一个传输门。

在第三实施例中,第一或第二实施例的电荷存储器件在逻辑单元的每个逻辑操作之间,或在逻辑单元的预设数量的逻辑操作期间,被周期性的完全的放电。

在第四实施例中,第一至第三实施例中任意一个的安全数字逻辑单元进一步包括一第二开关,用于连接或断开电荷存储器件与电源的电源连接;一第三开关,用于连接或断开电荷存储器件与电源的接地连接;一第四开关,用于连接或断开电荷存储器件与逻辑单元的电源连接;以及一第五开关,用于连接或断开电荷存储器件与逻辑单元的接地连接。此第一,第二,第三,第四和第五开关每个可包含一晶体管。

在第五实施例中,第一至第四实施例中任意一个的安全数字逻辑单元进一步包括额外的隔离开关,位于供电线路和电源之间,以及接地电线,连接安全数字逻辑单元。隔离开关可为至少一个第六串联开关,连接电源连接和第二开关,以及至少一个第七串联开关,连接接地连接和第三开关。

在第六实施例中,第一至第五实施例中任意一个的逻辑单元可包括多个晶体管,每个具有一个基极,以及其中在每个逻辑单元内的每个晶体管的所述基极至少连接逻辑单元的电源连接和逻辑单元的接地连接中的其中之一。

在第七实施例中,提供了一种为一个数字逻辑单元的一个逻辑块供电的方法,其中数字逻辑单元包含逻辑块,以及一电荷存储器件,此方法包括如下步骤:

(a)从逻辑块和电源以及电源的接地连接中断开电荷存储器件;

(b)连接电荷存储器件与电源;

(c)从电源中断开电荷存储器件,包括从电源的接地连接中断开电荷存储器件;以及

(d)连接电荷存储器件与逻辑块,用于为逻辑块提供电源。电荷存储器件可以是一离散的电容,一MOS电容,一MOS晶体管,一电荷耦合器件,等。

在第八实施例中,第七实施例的方法可进一步包括一个步骤(e),以允许当电荷存储器件连接逻辑块时,逻辑块的输入可以转换。

在第九实施例中,第八实施例中使用的逻辑块包括多个晶体管,每个具有一基极,并且其中在步骤(e)期间,在逻辑块内的每个晶体管的基极连接电荷存储器件。

在第十实施例中,第八实施例中使用的逻辑块是如此制造,以便至少一个晶体管位于一隔离阱中。例如,可使用一个PN结,以从基底中隔离一个阱,以便一个n阱被一个p形层从基底中隔离,和/或一个p阱被一个n形层从基底中隔离。

在第十一实施例中,第七至第十实施例中任意一个的方法进一步包含一步骤(f),用于在允许逻辑块的输入转换后从逻辑块中断开电荷存储器件。在断开之前,电荷存储器件可连接逻辑块进行预设数量的转换。

在第十二实施例中,第七至第十一实施例中任意一个的方法可进一步包含重复所有的步骤(例如步骤(a)至(f)),只要逻辑块被供电。

在第十三实施例中,第七至第十二实施例中任意一个的方法中,步骤(a)可包含断开电荷存储器件,而电荷存储器件从逻辑块和电源以及电源的接地连接中断开。

在第十四实施例中,第七至第十三实施例中任意一个的方法中,步骤(b)用于在电荷存储器件被放电后,为电荷存储器件充电;以及在电荷存储器件被电源充电后,步骤(c)被执行了。

在第十五实施例中,第七至第十四实施例中任意一个的方法中,电荷存储器件可包括至少两个端点,并且其中电荷存储器件的放电包含互相连接电荷存储器件的两个端点,而电荷存储器件仍保持从逻辑块和电源的断开。电荷存储器件的两个端点可以互相连接,而电荷存储器件仍保持从逻辑块和电源的断开一段足够长的时间,以基本上,完整的或有效的为电荷存储器件放电。

在第十六实施例中,第十二至第十五实施例中任意一个的方法中,互相连接电荷存储器件两个端点包括闭合一第一开关,第一开关连接电荷存储器件的两个端点,并且其中互相断开电荷存储器件两个端点包括打开一第一开关。第一开关可以是一晶体管,传输门,等。

在第十七实施例中,第七至第十六实施例中任意一个的方法中,连接电荷存储器件至电源包括闭合一第二开关和一第三开关,第二和第三开关连接电荷存储器件与电源,其中断开电荷存储器件与电源包括打开一第二开关和一第三开关,并且其中连接电荷存储器件与逻辑块包括闭合一第四开关和一第五开关,第四和第五开关连接电荷存储器件与逻辑块。第二,第三,第四和第五开关每个可包括一晶体管,二极管,MEMS开关装置,等。

在第十八实施例中,第八至第十七实施例中任意一个的方法中,步骤(e)可进一步包括从电源的电源连接中隔离数字逻辑单元,这是通过打开所有位于电源的电源连接和第二开关之间的至少一个第六串联开关达到的;并从电源的接地连接中隔离数字逻辑单元,这是通过打开所有位于电源的接地连接和第三开关之间的至少一个第七串联开关达到的。

在第十九实施例中,电荷分配控制可以适用于第一至第十八实施例中任何一个,用于控制单元的电荷分布。电荷分配控制涉及计时的和/或非计时方法以及同步或异步方法。作为非限制性实例,电荷分配控制可包括使用系统时钟产生控制信号的同步电荷分布时钟发生器,一个不相关的电荷分布时钟发生器,电荷分布时钟发生器使用一个芯片上的和/或独立的振荡器来产生控制信号,一个设有反馈电路的确定性电荷分布时钟发生器,以及一个异步电荷分布时钟发生器,该发生器把振荡器或者系统时钟并入一个随机数发生器,以产生控制信号。

本发明的实施例可用于安全应用。

在本发明的某些实施例中,可在一个智能卡或类似设备之上或之内,提供如此中描述的一个或多个电路。如此一个智能卡或类似设备可用于,例如ATM卡,身份证,储值卡,信用卡,移动电话,计算机访问控制,付费电视,和/或医学信息存储。

为了更好的理解本发明以及它可能具有的许多优点,下述例子被举出。下述例子用于说明本发明的一些方法,应用,实施例及其改变。它们因而不被认为是本发明的任何限制。对于本发明,可进行的改变和修改不胜枚举。

根据本发明的实施例,图4是CCDL电路的实施的示意图。参考图4,使用了MOSFETM1,M2,M11,M12和M13以作为如图1和图3A-3D中所示的开关。MOSFET M5用于作为电容C1。MOSFET M3,M4,M6,M7,M8和M10作为一静态逻辑“AND门”。

在第一阶段内,MOSFET M1,M2,M11和M12不能(被关闭)从电容M5中去耦逻辑块和电源。紧接着,M13可以(被打开)连接M5的栅极至M5的源极和漏极,因而允许M5放电。

在第二阶段内,M2,M11和M13不能从逻辑块中去耦M5。MOSFET M11和M12随后可以连接M5至电源线VDD和VSS,因而允许M5充电。

在第三阶段内,MOSFET M1,M2和M13不能从电源线VDD和VSS中断开M5。紧接着,MOSFET M2和M11被启用,因而连接M5至逻辑块。

在第四阶段内,如果可以,输入A和B被允许转换,并且允许逻辑块内的逻辑状态的转换所需要的电量源于M5。应当注意,逻辑快内每个PMOS器件的基极连接内部接线端(CP_RL),并且逻辑快内每个PMOS器件的基极连接内部接地端(CP_GD)。每根供电线,例如CP_RL和CP_GD,位于每个CCDL逻辑单元内,并可连接至一个更大的CCDL块内的另一个CCDL逻辑单元内的相应的供电线。因此,在一个CCDL操作周期内,逻辑单元内的器件和它们的基极连接可交替的悬空,例如在第一和第二阶段,并随后连接供给电容M5,例如在第三和第四阶段。在逻辑转换期间基极的隔离移除了电流流入为一个CCDL单元供电的电源的重要路径,其中电流在逻辑快内发生转换时产生。

图中还未描述的是MOSFET M9。一个组件,例如M9可以在某些实施例中出现。这里,M9用于存储一些电量,以在逻辑块从电荷存储器件中断开时,帮助维持在CP_RL和CP_GD电压电势差。

图5显示了一个CCDL逻辑块的时钟序列。信号SL_CLK代表了至一个CCDL单元的输出,输出可引起逻辑转换。信号CLK1和CLK1B的转换从供给电容和电源中断开逻辑块。决定一个CCDL单元或一个基于CCDL的电路块的最大运行速度的限制因素是所有在CCDL块内的逻辑转换的必要性决定的,其中逻辑转换在CLK1和CLK1B信号从为逻辑块供电的供给电容中与CCDL单元内的逻辑块断开之前完成。

一旦CLK1和CLK1B信号从供给电容中去耦逻辑块,CLK3可转换并未供给电容放电。最后,CLK2和CLK2B信号转换,以允许供给电容被电源充电。应当注意,每个CLK信号的转换边缘不是重叠的。此非重叠的时钟抑制了,例如随时的耦合逻辑块的电源线或当电源盖的端点被短路时,连接电源线的电源盖。

图6中,检测了一个CCDL单元。此例子中,单元的放电开关利用了NMOS晶体管M13和PMOS晶体管M14的传输门。在一个更大电路内CCDL单元的检测演示了一个小而精致水平的电流,例如数十安培,在CCDL逻辑的切换期间,通过电路的基底流入电源。虽然很小,一些水平的信息可能从这些关于CCDL电路的逻辑操作的电流中提取出来。有两种方法可以减少这种影响。首先,在CCDL逻辑单元(右侧圆圈)内的每个器件的基极连接被束缚在CCDL单元的内部电源线上,例如CP_RL和CP_GND。这试图使尽可能多的在逻辑操作期间产生的基底的电流流入和/或流出电力电容。

第二种用于减少电源上和接地线上电流的方法在图8中显示。根据本发明的实施例,图8时一个电路示意图,显示了在逻辑切换期间的一系列开关,开关用于从为CCDL电路提供电力的外部电源中隔离CCDL单元的VDD和VSS电线,因而抑制了从两者之间流入的基底电源。虽然图8种显示的两个电容(开关)用于每根电线,实施例并不仅限于此,并且可包括更多或更少的开关。

产生了带有CCDL单元的两比特加密块,以检测在一个更大电路内的CCDL单元的功能。结合图9A-9D,它是一个两比特加密块的CCDL实施例的示意图。图10是关于加密块的运行的一些信号。

图10中上部的两个信号是传至为两比特加密块供电的电源的电流输出和接地返回电流。图10中下部的两个信号是加密块的两个输出比特。参考图10,有一个大量的波纹倚靠在数字输出信号的顶端。虽然波纹较大,假设CCDL单元有一个低噪音容限,这是由于涉及接地电源的两个输出信号导致的。由于在CCDL运行的再充电期间每个CCDL单元内的逻辑块是悬空的,单元内的逻辑块不再涉及电源。

图11显示了涉及CCDL单元内内部逻辑电线的相同的两比特输出信号。参考图11,当以此种方式观看时,噪声容限被极大的增加了。由于每个CCDL的内部电源线被一起连接在加密块内,图11中的信号更清楚的表示了CCDL电路内一个CCDL信号的噪声容限。

根据本发明的一个实施例,图12是一个AES加密核心的电源信号图,AES加密核心由CCDL单元制成。

电荷分配控制可通过任何数量的控制器,包括数字,模拟和混合信号为基础的控制器所实施。一些控制器可能是基于时钟的,一些包括自定时电路,其它控制器可包括基于安全电路或系统的逻辑状态或特定操作的反馈机制。图13-16示出了一些非限制性的例子。

图13示出了可以用于电荷分配控制的同步电荷分布时钟发生器例图。参照图13,一个时钟分配网络1300可以接收一个系统时钟1301,并通过一个延迟块1311,1312,1313和单次(脉冲宽度)发生器1321,1322,1323分发时钟,以输出三个控制信号(和一旦通过反相器1331,1332,1333时相应的逆信号)。通过单次发生器1321,1322,1323致使延迟块1311,1312,1313以及相应的脉冲宽度调整导致的每个并行控制信号线的延迟,可通过设计进行选择。

图14示出了可以用于电荷分布控制的不相关的电荷分布时钟发生器的图。参考图14,提出了一个带有同步电荷分布时钟发生器的类似设计,然而,代替使用系统时钟1301的是,一个独立的振荡器和时钟发生器1401提供了一个信号,信号随之被分发至延迟模块1411,1412,1413,以及提供控制信号(例如CLK1,CLK2,CLK3)的单次(脉冲宽度)发电机1421,1422,1423,以及一旦通过倒相器(1431,1432,1433)时相应的反信号。

图15示出了可以用于电荷分布控制的确定性的电荷分布时钟发生器的图。参见图15,CCDL逻辑块由一个CCDL电荷分布网络1510供电,也就是通过由控制块1530控制的时钟分配网络1520操作。控制块1530可以考虑在控制时钟分配网络1520和电荷分布网络1510开关时,穿过隔离电源线的电压。例如,一个差动放大器1540可以配置为一个缓冲区,来测量穿过给逻辑块1500供电的电源线的电压。差分放大器1540的输出可以作为输入到比较器1550的非反相输入,比较器比较电源线的电压与连接到比较器1550的反相输入端的参考电压1555。一些或全部电源轨可以以这种方式连接。比较器1550可以是一个滞后放大器。

图16示出了可以用于电荷分配控制异步电荷分布时钟发生器的图。参考图16,振荡器或系统时钟1610和一个随机数发生器1620可被输入到累加器1630,其被用来控制一个时钟分配网络1640。时钟分配网络1640可以提供信号,以控制电荷存储器件的电荷分布网络,以用于系统的各个块(逻辑或模拟)。

任何涉及本说明书的“一个实施例”,“举例实施例”等都意味着同实施例相关的一个特别的特征,结构或属性,此实施例至少包含在本发明的一个实施例中。本说明书中的不同位置的这些阶段的出现,对于所有相同的实施例不是必须的。此外,任何本发明或其中的实施例的任何元素或限制可同任何其它发明或其中的实施例的任何元素或限制(独立的或以任何方式结合)结合,并且所有的这些结合都不受限制的涵盖在本发明的范围内。

应当理解,此中描述的例子和实施例只是用于说明,并且对于本领域的技术人员,不同的修改和改变都应包含在本申请的精神和范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号