电路装置及产生双轨信号之方法 切换网络通常被微电子化设计,使被处理信息之各位可实际被一,且仅一电子节点来表示。如此配置亦被称为”单轨(single rail)”电路技术。然而,当尝试存取秘密信息时,如这些之切换网络系具有未被授权第三者所使用之所谓差分电流轮廓分析相对不确定性。例如,亦被称为差分功率分析(DPA)之差分电流轮廓分析系为因安全理由攻击智能卡之最重要方法之一。此涉及蓄意攻击机密信息(密码或密码金钥)。针对被给定程序或算法,藉由统计方法量测及/或其电荷集成被计算于一个或更多时脉周期之智能卡电流轮廓系被评估用于大量程序操作,该例中,可做出不受系统数据变异及各电荷集成间之相关影响之信息之结论。
相对于数据路径或单路径内各位实际被一,且仅一电子节点k表示之传统单轨电路技术,使用双轨电路技术之实施系各位藉由两节点k及kq表示,当k对应此位之真实逻辑值b而kq对应相反值bn=非(b)时,此位具有有效逻辑值。
因此,当值b=1被预期传送时,此系藉由节点k中之”1”来完成。然而此时,值”0”被传送于节点kq,所以”1”及”0”均被传送。当值b=0被预期传送时,值”1”同时被传送于节点kq。因此,”1”及”0”均被传送于两例中。假设节点k及kq实际相同,现在不再可使用差分电流轮廓分析来辨识”1”或”0”是否被传送为数据项。然而,此仅当各被传送数据项之信号实际改变时,也就是说当信息”1”及信息”0”交替时为真。假设若干相同数据项被连续传送,则藉由差分电流轮廓分析攻击能力之特性变差。
预期电荷集成不变性现在藉由插入所谓预充状态,亦被称为预充来达成,各例中具有效逻辑值(b,bn)=(1,0)或(0,1)之两状态间,其k及kq均被充电至相同电位,也就是说其假设为逻辑无效值(1,1)或(0,0)。因此,预充状态(1,1)可被表示如下
(1,1)→(0,1)→(1,1)→(1,0)→(1,1)→(1,0)→(1,1)→(0,1)...
针对任何该字符序列中,无论尚待解决之状态位逻辑有效值b为何,一且仅一节点上之电荷系针对从(1,1)→(b,bn)之各转变从”1”改变至”0”,一且仅一节点上之电荷系针对从(b,bn)→(1,1)之各转变从”0”改变至”1”。类似情况系应用至具有预充状态(0,0)之状态序列。
根据此,假设考虑确保节点k及kq具有相同电容,对应这些状态序列之电荷集成系独立于逻辑有效值序列(b,bn)。因此,以此法被实施之数据路径电流轮廓系独立于被处理数据中之时间变异而抗拒差分电流轮廓分析。
例如,制造双轨信号之电路装置系被用于如第1图所示之数据处理装置。此显示具有一算术及逻辑单元2(ALU)之数据处理装置3。如此算术及逻辑单元系被提供藉由例如执行加法处理来彼此链接两输入值。因此,两输入值a及b被链接形成输出值c减法处理可藉由提供被反向链接至算术及逻辑单元之两值之一,及藉由同时设定运载位于算术及逻辑单元加载输入处来执行。第1图例中,非(a)信号被用来取代信号a。为达成此,数据处理装置3系具有适用于制造非(a)函数之预处理输入电路1。
输入电路1可制造被传送至算术及逻辑单元之输出信号z。其它情况中,值”0”或值”1”系需被当作算术及逻辑单元之输入值,因此输入电路1亦必须具有提供这两值之能力。输入电路1之所需输出函数z因此为:
z=f(a),
z=非(f(a)),
z=0及
z=1
此例中之函数f系表示输入数据a可被进一步处理,例如若数据a被扰乱且预期首先被恢复来促成算术及逻辑单元中之进一步处理时。被提供至输入电路1之控制信号S0,S1系可决定这四个函数何者应被执行。
除了第1图粗线所示之用于信号a,b,z及c之信号路径,用于信号aq,bq,zq及cq之信号路径系藉由细线显示。这些信号路径或信号系出现于此为适用于处理双轨信号之数据处理装置3时。除了实际信号路径之外,若互补信号为有效数据项,则其仍会一直出现。上述预充状态中,相同信号系被运载于两信号线上,也就是说a=aq,b=bq,z=zq及c=cq。
藉由输入电路1提供之函数及两控制信号S0,S1因而为:
z=非(S1.非(f(a<n:1>)=S0.(f(a<n:1>))。
依据先前技术,如此函数系藉由如第2图所示之电路装置来实施。具有n位长度之数据字a<n:1>系被提供至形成函数f(a)之第一电路单元4。此信号被额外反向,所以进一步处理可获得f(a)及非f(a)。接着f(a)被链接至与门(AND)电路中之控制位S0。非f(a)同样被链接至与门电路中之控制位S1。来自这两与门之输出值系被链接于或门(OR)电路来形成输出值z。
若干串联传统闸系被使用。当双轨信号而非单轨信号预期被使用时,遵循逻辑系统之该电路装置从需被使用之若干晶体管看来显得相当复杂。再者,以可汲取大量电流之如此电路装置中之处理时间系相当长。
如第1图显示之应用,如此电路不只出现一次,而必须被单独提供被单独提供给被并联处理之各位。因此,该电路必须被以32位总线宽度操作之处理器包含2×32=64倍。
因此,本发明之一目的系详述较简单设计且可使用较少晶体管实施之可制造双轨输出信号之电路装置。进一步目的系详述一对应方法。
此目的系藉由可制造双轨输出信号之电路装置来达成,其具有包含可接收双轨输入信号之至少两接点之一第一输入,可接收控制信号之一第二输入,包含各被驱动为输入信号函数之第一开关器及第二开关器之一信号处理装置,及两输出,其中第一输出可藉由开关器之一被连接至位于控制装置第一电位之足点,第二输出可藉由其它开关器被连接至位于控制装置之该足点,具有一切换装置包含被连接至该信号处理装置之输出之两输入,及包含两输出,其被连接至该电路装置之两输出以输出双轨输出信号,其中该输出可被彼此相连或被连接至两输入作为控制信号之函数,及具有当该电路装置之输出处电位不经由该切换装置及该信号处理装置被连接至该信号处理装置之足点时,可界定其之一电位监控装置。
该目的亦藉由如权利要求第一项之方法来达成。
依据本发明电路装置之优点系输出不仅可假设值f(a)及fq非(f(a)),且亦可假设两值”0”及”1”。此例中,电路实际上非常简单且不具有大量晶体管。除了负责执行信号处理装置中之函数f(a,aq)及fq(a,aq)之晶体管,该切换装置仅需四个晶体管,及用于该电位监控装置之晶体管。一较佳改进中,该电位监控装置仅需两晶体管。
特别具有优点系实际上整个电路可被设计仅使用一晶体管类型。因为此例中电荷反向处理被汲取较少电流,所以此具有被该电路汲取电流之正效应。
有了E1及E2做为该切换装置之输出,D1及D2做为该切换装置之输入,该电路装置之一改进特别具有优点促成以下操作情况:
E1被连接至D1而E2被连接至D2:z=非(f(a)),
E1被连接至D2而E2被连接至D1:z=f(a),
E1被连接至D1及D2,E2开启:z=0,
E2被连接至D1及D2,E1开启:z=1。
此例中,该电路装置精确地具有使用如第1图之数据处理装置例中之输入电路所需之功能性。
进一步具有优点提供一种附带预充装置,其可在各被传送数据项之前产生预定相同电位于运载数据之所有输出接点处。此提供对差分电流轮廓分析特别良好保全。
该信号处理装置之一具有优点实施例中,该信号处理装置系包含一互斥或功能(XOR)函数。
本发明使用实施例被更详细解释于下文。图中:
第1图显示依据本发明之电路装置可被使用之数据处理装置,
第2图显示依据先前技术之电路装置,
第3图简略显示依据本发明之电路装置,
第4图显示第2图所示电路装置之一特定实施,
第5图显示具有用于第4图所示电路装置之信号之时点图,
第6图显示信号处理装置之第一实施例,
第7图显示信号处理装置之第二实施例及
第8图显示如第3图所示依据本发明之具有p-信道晶体管之电路装置实施例。
第1图显示已被说明于介绍中且依据本发明之电路装置可被使用之数据处理装置。
第2图显示同样已被说明于介绍中且依据先前技术之电路装置。
第3图简略显示依据本发明之电路装置。电路装置11具有双轨信号被馈送至之一输入A1及A2。此例中该输入A1可接收数据信号a,而该输入A2可接收互补数据信号aq。两信号均被供应至信号处理装置12。信号处理装置12可表示两Boolean开关函数之电路实施,系为f之”双轨”表示:
sq=f^q(a<n:1>,aq<n:1>),]]>
且其中:
若aq<j>=非(a<j>)j 則f^(a,aq)=f(a)]]>及
若aq<j>=非(a<j>)j 則sq=非(s)
此例中,s=0而sq=0意指各开关器系开启,且信号处理装置12之足点v及信号处理装置12之输出x及xq之间并无传导连接。相对地,s=1而sq=1意指足点v被传导连接至各输出x及xq。
信号处理装置12之输出x及xq系被连接至切换装置13之D1及D2。输出E1及E2系被连接至整个电路装置之输出F1及F2,使双轨之输出信号z及zq被产生于此。因此,若数据有效,zq系为z之互补信号。
再者,控制信号z被馈入且可被传送至切换装置13之控制输入G系被提供。控制信号7可决定输入D1及D2如何被连接至切换装置13之输出E1及E2。
为了解释操作方法,首先假设两输出F1及F2藉由电位监控装置14而位于第二电位VDD处。关闭信号处理装置12及切换装置13中之适当开关器可连接各输出F1及F2至第3图所示位于第一电位V0处之信号处理装置之足点v。
现在假设有效数据信号a,aq出现。此意指x及v或xq及vq间之连接被关闭,而另一连接被开启。此系因若数据如上述般有效,则双轨信号a及aq为互补所致。此亦可应用至开关函数s及sq。现在可使用控制信号7来确保切换装置13之输入D1及D2及输出E1及E2可如所需被彼此相连。若首先假设信号处理装置12之足点v被开关函数s至xq连接且D1被连接至E1,因为输出F1被传达连接至V,则F1被汲取至第一电位V0。输出信号z于是为”0”。
依据双轨系统逻辑,此意指其它输出必须位于互补电压位准,亦即位于VDD。刚才被说明例中,对应方式中电位监控装置14可连接输出F2至第二电位VDD。
若D2亦被连接至E2,则信号z,zq现在仅视信号处理装置12之开关位置而定。因此,此提供函数z=非(f(a))。
若函数z=f(a)被预期提供,则此可藉由连接D1至E2及D2至E1来达成。
被提供之第三函数系为z=0。此系藉由连接E1至D1及D2,而连接至E2保持开启来提供。信号处理装置12之输出x或xq之一恒被连接至足点v。因此,无论被施加数据a,aq及产生自该数据之开关位置s,sq为何,E1至D1及D2之连接系意指切换装置13之输出E1恒经由信号处理装置12之开关函数s或开关函数sq被连接至第一电位0。
函数z=1可藉由保持开启之切换装置13之输出E1来提供。无任何附带驱动,输出F1处之电位保持于第二电位VDD。为了制造有效双轨信号所需为汲取输出F2至第一电位0以输出信号zq。为达成此输出E2系被连接至切换装置13之输入D1及输入D2。因此如上述,此确保无论数据a,aq为何,输出F2均可被连接至足点v。
电位监控装置之一简单实施例中,此装置系包含输出F1及F2可藉此被连接至第二电位VDD之两拉升(pull-up)电阻器。如此解之缺点系为当一输出被连接至第一电位0时,并联电流系流经该电阻器而导致非预期电流被汲取。此非预期并联电流亦发生于被连接当作电阻器之晶体管被使用时。
因此,较具优点实施例中,两电阻器系被提供,其中一电阻器系经由其汲极-源极路径连接一输出至第二电位VDD。各例中闸极连接系被其它输出驱动。若具有p-信道晶体管,则只要被连接至该闸极之输出处之电位为0,晶体管会被自动开关。此避免并联电流发生。
第4图显示依据本发明之电路装置更详细实施例。控制信号7系藉由四个别信号s<3>,s<2>,s<1>及s<0>来形成。除了上述电位监控装置14中之晶体管装置之外,亦显示两预充晶体管15。这些可连接第二电位VDD至两输出F1及F2。晶体管15系被共享预充信号q驱动。当pq=0时,晶体管系被开启,而两输出F1及F2系被连接至第二电位VDD。
然而,当切换装置13同时被开启而信号处理装置12产生对足点v之连接,且此直接被连接至第一电位0时可能产生问题。此例中,会有VDD及电位0间之短路。有两种可能方法来避免此。一选择系经由附加晶体管16连接足点v至电位0,此晶体管16同样地被预充信号pq驱动。足点晶体管16开启而同时预充晶体管15关闭,所以甚至当切换装置13及信号处理装置12被开启时,VDD及电位0间之电流路径均会被岔断。另一选择系将控制信号7及预充信号彼此匹配,以确保切换装置13中之开关晶体管于预充晶体管15关闭时得以开启。
再者,当切换装置13中之开关之一被关闭而同时pq=0时,当然可提供被施加数据a,aq使s=sq=0。为了有助了解,第5图显示描绘发生于第4图所示电路中之信号之时间序列之信号图。例如,此显示时间区隔Z1。Z1开始时,pq=0,所以第4图中之预充晶体管15具有低阻抗。然而同时,对应控制信号s<3:0>=(0110)之晶体管T1及T2同样具有低阻抗。然而,因为a=aq=0而s=sq=0,所以VDD及电位0间之短路系被避免,直到pq再次变成1且预充晶体管15具有高阻抗为止。例如,两适当电路系被显示于第六及七图且将被更详细说明于下文。
此外,第5图显示已参考第三及四图中之电路做说明之其它信号序列,所以该图标亦可被用来协助理解这些电路。
第三及四图中之切换装置13可提供具有四个控制位之预期输出响应。因为提供四个晶体管,所以虽然仅四个不同操作状态可被选择,仍具有优点可使用四个控制位。可替代是,可藉由两个控制位来提供驱动,其可能需藉由附加电路来分割以驱动该四个晶体管。此产生以下相关: pq s<3:0> Z zq 1 0011 0 1 1 1100 1 0 1 0110 F 非(f) 1 1001 非(f) f
除了预充状态之外,如上述仅四个s值可被假设。然而,此可藉由上述数据路径外之电路来确保。
信号处理装置12可提供任何预期函数。最简单例子可为f(a)=a及fq(a)=aq。视被接收数据是否被扰乱或其它函数是否被预期提供而定,任何预期电路均可被用于信号处理装置12中。两例系被描述第六及七图。此例中,第6图之电路系代表一多任务器,而第7图之电路系提供一互斥或功能。进一步电路可被熟练技术人士了解,且可在专业文献中找到。
第6图所示电路可藉由函数
f^=a<1>·a<2>+aq<1>·a<3>]]>及
f^q=a<1>·aq<2>+aq<1>·aq<3>]]>
提供函数
f(a<3:1>)=a<1>·a<2>· a<1>·a<3>
第7图所示电路可藉由函数
f^=a<1>·aq<2>+aq<1>·a<2>]]>及
f^q=a<1>·a<2>+aq<1>·aq<2>]]>
提供函数
f(a<2:1>)=a<1>a<2>
第8图显示第4图所示之电路装置修改。当第4图之电路本质上被形成自n-信道晶体管时,第8图所示之电路装置配置主要系使用p-信道晶体管来形成。其余设计系对 第4图所示之电路配置。然而,应注意n-信道晶体管系被用于预充晶体管25,且藉由预充信号p取代pq来驱动。被提供为驱动函数之足点晶体管16同样地可藉由预充信号p来驱动。
参考符号表
a,aq 数据输入信号
z,zq 数据输出信号
s,sq 开关(函数)
p,pq 预充信号
A1,A2 电路装置之输入
F1,F2 电路装置之输出
D1,D2 切换装置之输入
E1,E2 切换装置之输出
x,xq 信号处理装置之输出
G 控制输入
V0 第一电位
VDD 第二电位
1 输入电路
2 演算及逻辑单元
3 数据处理装置
4 电路单元
5 与门
6 或门
7 控制信号
11 电路装置
12 信号处理装置
13 切换装置
14 电位监控装置
15 预充晶体管
16 足点晶体管