Note: Descriptions are shown in the official language in which they were submitted.
CA 02607553 2007-11-01
WO 2006/117391 PCT/EP2006/062037
DISPOSITIF FORMANT PORTE LOGIQUE ADAPTEE POUR MINIMISER LES
DIFFERENCES DE COMPORTEMENT ELECTRIQUE OU ELECTROMAGNETIQUE
DANS ÜN CIRCUIT INTEGRE MANIPULANT UN SECRET
La présente invention concerne le domaine des circuits élretriques logiques.
Elle se rapporte plus particulièrement à la lutte contre la fuite
d'information
vélliculée par les différences de comportement électrique ou électromagnétique
d'un dispositif du type à circuit(s) logique(s).
Elle trouve avantageusement, mais non limitativement, application aux
dispositifs manipulant un secret du type à circuit(s) logique(s), ou encore
aux
dispositifs cryptographiques du type à circuit(s) logique(s).
Un but général de l'invention est de proposer un dispositif forniant porte
logique dont la consommation, le rayonneinent ou toute autre grandeur physique
externe nlesurable de façon non intrusive, sont indépendants de l'opération
effectuée ; c'est-à-dire sont indépendants des données d'entrée de la porte,
des
entrées passées ou futures de la porte, de son état logique passé, préserit ou
futur et
des résultats logiques correspondants.
On sait que les circuits électroniques classiques ont généralement une
consoinmation qui diffère en fonction des états logiques et des transitions de
leurs
données d'entrées. En particulier, un inverseur logique consommera
différemment
si son unique entrée passe de l'état logique Cl à l'état logique 1. ou si elle
passe de
I'ütat logique 1 à l'état logique 0. 11 consommera encore différemmetit si
l'état
logique reste incllasgé, c'est-à-dire s'il passe de l'état logique
0(respectïvernent 1)
à I'état logique 0(respectivc.ment 1). Il en est de même pour toute autre
porte
logique.
Par la suite on appellera transiti.on le fait de changer d'état logique ou
de
rester dans Ie même état logique.
Pour chaque transition possible de la donnée d'entrée, toute porte a donc un
compot-tement électrique ou électromagnétique a priori différent. On appellera
signature caractéristique d'une transition le comportement électrique ou
électronlagnétique occasionné par une transition en entrée de la porte
considérée.
Pour une porte logique domrée, chaque transition possible des variables
d'entrée
CA 02607553 2007-11-01
WO 2006/117391 PCT/EP2006/062037
2
possède donc une si-nature différente a priori. Ce constat reste valable que
la
teclinolo-ie eniployée soit de type s_ynchrone ou asyiaclu=one. On rappelle
qu'en
mode synchrone, tous les élénzents partagent une notion de teinps discrète
conimune, comme un si-nal d'horloge global. En mode asynchrone, au contraire
il
n'existe pas de notion de tenips discrète coinmune entre les élétnents. Celle-
ci est
renlplacée par un mécanisme dit de poignée de niains opérant une
synchronisation locale, et assurant la conimunication et le séqucncernent des
opératlons.
Les attaques par analyse différentielle de courant, puissance ou
I D consonlnlation, utilisent ces considérations pour identifier une
information secrëte
utilisée par des circuits électriques classiques, par exen7ple lors d'un
calcul
cryptographique par un cryptosystème ou lors d'une vérification de la
connaissance
d'un élément secret.
On connaît déjà plusieurs dispositifs à circuit logique présentés comme
permettant de dinlinuer les diffërences entre si ;natures. Cependant, pour de
tels
dispositifs, la dinlinution est bien insuffisante en rebard de nombreuses
applications
oii la sécurité est primordiale. En particulier, les dispositifs purement
matériels
antérieurs à la préseilte invention ne parviennent pas à résoizdre de façon
efficace le
problèn7e de l'adaptation d'in7pédance .nécessaire ari but <~ênéral.
Lorsqu'une réduction de si.~nature est néces4aire, les concepienrs de circuits
cryptograpl7iques ont tendance z1 avoir recours à des tec.hniqucs dites de
niascluage
utilisant un. aléa pour décorréler les valeurs d'entré.es du inodiile
calculatoire, du
calcLrl qui est effèetué. Ces solutions sont e~trénrer~ncntptna.lisaffles en
terixae de.
performarlces puisilu'elles nécessitent d'obtenir de très nombreux bits d'aléa
dans
un laps de tenips très court. .11 e.n résultc rule chute de.s perforrnances du
dispositif.
Un autre but cic: l'invention est de proposer une solution apte à être
réalisée
sans l'utilisation d'aléa permettant de lutter efficacerztent contre l'attaque
par
arlalyse différentielle de coural7t, puissance ou coilsomination, en
fournisssLnt une
sécurité supérieure auxautres dispositifs à circuit(s) logique(s) connus.
Un autre but de l'invention est de preridre en conlpte et de neutraliser la
si~nature coi-respondant au passage lo~ique des entrées. d'un état logique à
ce
CA 02607553 2007-11-01
WO 2006/117391 PCT/EP2006/062037
tnème état logique (par exemple le cas d'un inverseur dont l'entrée passe de
l'état
lo~~ique 0 au mênle état logique 0). En effet le fait de rester daais le même
état
lopque occasionne dans tous les dispositifs à circuit(s) logique(s) connus une
signature différente de celle occasionnée par n'importe quelle autre
transition. Ceci
peut être exploité dans certaines attaques. L'invention a donc pour but, en
éqciilibrant de la même manière les signatures drtes à un cllangenlent ou non
d'état
logique, de proposer une contreniesure efficace contre ce type d'attaques.
Les buts précités sont atteints dans le cadre de la présente invention. grâce
à
un dispositif forrnant circuit électrique, caractérisé par le fait qu'il
comprend des
io tnoyens logiques formant interrupteurs, inelus dans une fonction logique et
adaptés
pour décorréler les données d'entrée de ladite fonction logique, de toute
grandeur
externe nlesurable.
Dans le cadre de la présente invention, on entend par interrupteur, tout
dispositif placé scir un cheniin loVique de données qui pernlet, dans certains
états, de
décorréler les caractéristiques électriques de certaines entrées de celles de
cei-taines
sorties du dispositif, et dans certains états de transmettre certaines valeurs
looiques
de certaines entrées sur certaines sorties. Les interi-upteurs CMOS ou les
multiplexeurs sont des exeniples donnés à tit-e non limitatif de dispositifs
répondant
à cette définition,
L'invention tire parti de certaines structures looiquc.s et de considérations
protocolaires. Elle conduit à la réalisation de portes élémentaires logiques,
dont la
diffërence de signature entre deux quelconques transitions des entrées de la
porte
lo~ique est laroennent din~inuée et fo.rtetilent non niesurable.
17c: telles pot-tes peuvent être a5senihlées pour fbrincr un circuit logiclue
fonc.t:ionnel.
Selon d'autres caractéristiques avanta(~cuscs, rnais non ]iinitatives de
l'invention - La porte comporie des tnoyens logiques à semi-conducteur(s).
- La porte réalise une fonction logique choisie dans le groupe coniprenan.t
une
-,o fot7ction logique N1hND entre deux bits d'entrée, une fonction logique
NOR, une
fonction lo-iqtte XOR, une fonction logique OR et une fonction logique AND.
CA 02607553 2007-11-01
WO 2006/117391 PCT/EP2006/062037
4
- La porte effectue l'opération de NAND logique entre deux bits Ioo-iques
véhiculés par des canaux portant valeur de chacun de ces bits.
- Les moyens fori-iiant interrupteurs sont utilisés pour réaliser l'adaptation
d'inipédance de nceuds internes à la porte.
- Ces intenupteurs sont des movens Iobiclues à semi-conducteur(s).
- le dispositif comprend utle porte logique réalisant une fonction logique et
qui incotpore les moyens lo;iques forniant inierrupteurs, et la porte lo~ique
conrprend une interface d'entrée sur laquelle i1 reçoit les quantités sur
lesquelles
ledit dispositif calcule ladite fonc#ion logique, une interface qui reçoit une
alinaentation, un circuit électronique à état transitoire coa-tnecté à
l'interface d'cntrée
calculant ladite fonction logique sur lesdites quantités, de façon à ce que la
consonlniation dudit circuit lors dudit calcul sur lesdites quantités soit non
coi-réiable auxdites quantités, et une interface de sortie permettant de
communiqtser
le résultat de ladite fonction lobique à l'environnement dudit dispositif.
- toutes les coinposantes du circuit participent au inoins à certains
instants,
selon la valeur des données d'entrée, au calcul de la fonction lo,,ique.
le dispositif comporte des nioyens de charge ou de décharge respectivement
activables par un no/ud interne à la porte.
- le (Iispositii est {iirectemeiit insér~ entt-e deux portes logiques
asvnclirones
générant Icur propre signal d'acqui:ttcmexlt, lequel assure le proiacole-
- il est adapté de sorte qu'il ne subsiste aucun n tld dont la valcur dépend
des
calculs prÃ;.céde.nts lors ciu passage dans l'état non-valide du protocole.
- il véhicufe des états électroitiques dits ~O'. ' I', 0' faible, '1' faible.
- il contient des cellules mérnorisantes,
?5 - il constitue t.out oLi. partie d'un dispositif réalisaz)t rine opération
cryptographique et utilisant tui L1érYicnt secret, tc.l.le que par exen-iple
une opération
cryptographique con7pre ant une: opération cryptographique symétrique par
bloc,
uiie opération cryptographique comprenant une opération de crypto~raphie
asymétrique.
- ladite opération cryptographique compreiid un nnultiplie~.ir.
CA 02607553 2007-11-01
WO 2006/117391 PCT/EP2006/062037
- il comporte des nzovens formant interrupteurs dc;tinés à réduire la
consommation ~lobale de la porte, par exeniple en réduisant le temps de
conduction
de transistors connectés entre l'alimeiitatioi-t et la masse.
- lesdits inoyens formant interrupteurs destinés à réduire la eonsommation de
la porte limitent les courants de fuite dyna]niques.
- il comporte des moyens uniquement destinés à augmenter le teinps de
propalgation de certaines variables intermédiaires de manière à réduire la
consommation absolue de la porte en limitant les courants de fuite
dynantiques.
- les inoyens formant interrupteur peuvent être constitués chacun d'un unique
trailsistor MOS, ou chactul de plusieurs transistors MOS, par exemple d'un
transistor NMOS et d'un transistor PMOS.
- lesdits moveiis formant interrupteurs peuvent être réalisés par exemple en
logique de conduction, sous forme de transistor(s) de passage ou autres
inoyens
équivalents.
35 - i] repose sur une architecture syrniétrique dans laquelle au moins
certains des
composants ont un symétrique présentant un changement de transition opposée.
Le dispositif conforme à la présente invention utilise avantagetisenlent uai
ps-otocole comprenant un état doniaéc.s non valide. . Plus préciséaii.ent,
dans un tel
protocole, le codage des doiinées peranet de distiiIbtier des états où la
donnée est
présente-, oïa. donc elle po.ssëde. une certai.ne valeur Ic~~idtte, et un état
où la donnée
est en attente, qui n'est donc assUcié à aucune valeur logique. Uri tel itat
est dit. non
valide. Notamment clans uii mode de, rézilisation préféré de 1a présente
inventîou, le
dispositif utilise un protocole dit asynchrone double rail 4 pliases connu
par
1"état cle l'art depuis plus d'unc cinquantaine d'années. Avantageusement
encorc
dans un iel mode de ré<tlisaiion. la porte est auto-s~=nchronisée. de telle
sorte ciu'elle
ne néces.site- aucun sit;nal de contri7le autre que ceux véhicuiés par le
protocole
asynclirotte classique (données et acquittement).
Dans un second mode de réalisation possible de l'invention, le dispositif
utilise un protocole sviiciZ rone utilisant plusieurs moyens formant commandes
~énéré.es extérieurement au dispositif.
CA 02607553 2007-11-01
WO 2006/117391 PCT/EP2006/062037
6
Le dispositif conforme à la présente invention comporte avantageusement,
naais non lirnitativement, des moyens à semi-coiiducteurs pernlettant de
supprimer
tout effet de mémorisation au sein de la porte dès passage par l'état non
valide
prévu par le protocole. En particulier dans un nlode de réalisation préféré,
dès que la
por-te passe dans l'état non valide, l'état de tous les jI uds de ladite porte
est
rafraîchi à un état connu prédéterininé. Ce passage de chaque il ud vers un
état
connu garantit qu'aucune n7éjnoire de l'état passé, donc de la valeur logique
depuis
laqueIle s'effectue une transition, i:ae subsiste dans le circuit.
Avanta(jeusenient, niais non limitativenient, certairis nioyens formant
interrupteurs sotat utilisés porir perniettre une remise à zéro des n uds
considérés
par connexion à la iiaasse à travers lesdits moyens formant interrupteurs.
Avanta~7euseznent, mais non liznitativenrent, encore certains moyens formant
interrupteurs sont utilisés pour une mise à un des noeuds considPrés par
connexion à
1'alinientation à travcrs lesdits moyens forniant interrupteurs.
Le dispositii' comporte avantabeusen7ent, inais non limitativernent, des
nioyens à semi-conducteurs perniettant de réaliser la fonction logique pour
laquelle
la porte a été conçue en conservant une correspondance entre certains naeuds
du
circuit, cie telle sorte que pour cllaque croupe de n uds en correspondance.
le poids
de HGtiriming soit constant quelles que soient [es entrées valides de la
porte, comnle
c'est le cas d~1s la maJeure paa-tie des dispositifs conforine.5 à l'état de
l'ax-t depuis
une cinquantaine d'années en te.chiiologie double rail asynclrrone, et de
Eelle sorte
que, mêaiie avec connexion de capacités additionnelie-s à la porie, identiques
sur les
dcux rails, la cllarbe vue par chacun des n , i,idç de chaque ensembfe soit en
pratique
identicrue.
Dans un mode de réalisation préfëré, le dispositif comporte 4 portes dites de
rende.z-vous (éléments Ccle Muller) permettant une synchronisation des
données, chacune de ces portes étant connectées à un nombre étal de grilles de
transistors. Il convient néannioins de soulioner que la finalité des 4
éléments C de
Muller, et du protocole double rail est uniquenlent protocolaire. Le but de
1'invention est atteint à l'aide des interrupteurs conformes à la pi-ésente
inventioil
qui sont associés en aval à ces élén7ents.
CA 02607553 2007-11-01
WO 2006/117391 PCT/EP2006/062037
7
L'invention est avaniaueusement, mais non limitativenient, utilisée dans les
sta-1.2etures à circuits cryptowraplliques. Lesdites structures à circuits
cryptographiques contiennent avantabeusen-rent une ou plusieurs porte(s)
logique(s)
différentes niettant en uvre l'invention.
Le dispositif est avantatieusement, mais non limitativen-ient, intéccTré dans
un
circutit intébré, tel qu'un ASIC ou un FPGA.
Dans un ASIC, ces portes pourront avantageusement être utilisées en
conibinaison avec des portes d'une librairie standards ou d'une librairie
dédiée.
D'autres caractéristiques, buts et avantalles de l'invention ressortiront
encore
l o de la description qui suit, laquelle est purement illustrative et non
limitative, et doit
être lue en reGard des dessins annexés sur lesquels
- La fi,ure 1 est ttn sebéma de principe d'un circuit logique conforme à
un mode de réalisation possible de l'invention réalisant une fonction
logique AND en niode asynchrone.
- Les fiaures 2, 3 et 4 détaillent la structure de sous ensembles possibles
du mode de réalisation présenté sur la figure 1.
- La f7igure 5 est un scliérna de principe d'un circuit lo(lique conl-orme à
un autre mode de réalisation possible de l'invention réalisant une
fonction logique NAND cn mode synchrone.
- Les figures 6 et 7 détaillent la structure de sous en5e.mbles possibles du
mode de réalisation présÃ~~nté sur la fi-ure ;.
- La f.-igure 8 est un chronogramme descriptif d'un protocole pouvant être
utilisé pour piloter la réalisation de l'invention préscntée e:n fig ure 5.
- La figure 9 i-eprésente une auti-e variantc, de réalisation conforme à la
présente inveniion destinée à la mise en r,nuvre d'une fionction lo(lique
de type bascule assurant unc fonction de rnémorisatiOli.
La figure 1 illustre un exemple de réalisation possible d'un dispositif
conforme à la présente invention réalisant une fonction logique AND utilisée
dans
le cadre d'un protocole asyncbrone 4-phase double rail classique qui sera
rappelé
plus bas. La pol-ie réalise une opération dc AND binaire cntre deux enti-ées
logiques
a et b. Ci-dessous la table de vérité d'une telle poiie AND
CA 02607553 2007-11-01
WO 2006/117391 PCT/EP2006/062037
8
a
1 b AND(a,b)
faux faux faux
faux vrai faux
vrai faux faux
vrai vrai vrai
Le dispositif illustré sur la fi-gure 1 comprend un éta~,e d'entrée 100
composé
d'éléments de rendez-vous 110, tui étage intermédiaire 200 composé de chaînes
210, 250 constituées de l'association alternée de moyens formant inteiTupteurs
220
et de dispositifs de charore/décharge 230 comportant é~alement des dispositifs
foi-niant interrupteurs, un éta4e de sortie 300 et un module formant porte NOR
400
destiné à la génération d'utie comziiande de contrGle des nloyens intégrés
dans les
éta-es précités 200 et 300.
Les données d'entrées a, b sont codées respectiveinent sur deux bits selon le
protocole asynchrone double rail 4-phase. Ainsi un 0 logique est codé par le
couple
'01' et tui 1 logique est codé par le couple 10'. Le protocole camprend en
oirtre un
état dit non valide codé par le couple '00'. L'état '11' est interdit et est
ignoré par !e
protocole. Les données (le sortie utilisetit le nïénie codage.
~â Le protocole est le suivaiit : si les de.ux entrées sont Li l'état non
valicle,
transniettre l'état inva.iidc. Si 1'une des et7trées se.ulennent est valide
:attendre que la
seconde entrée, soit va.l.ide. Dès duc les deux entrées sont valides, calculer
la vaicur
AND entre les deux entrécs. Lc rctout, à l'étai non valide est nécessaire
avatlt tout
notiiveau calcul. Une te:Ml1G des données d'entrée7 est assurée par
l'environiiement de la porte, dui utilise le signal d"acquitten)ent asynchrune
(généré
soit ït 1'aide d'un (:)lZ log;ique e.aitre les siy.:naux disponibles sur les
sortics 312.<l,
31?b, soit par l'environnemexlt de la por-te).
La table de vérité de la porte AND devient alors
~ a b al a0 bl bU .1NDfa,b) A~~B(a,b)1 AI~'D(a,13)0
non vaÃide r~o~ vali~Ãe {~ ' 0 Cl 0 i~on valide (~ 0
faux raux U i 0 I fatix {) 1
CA 02607553 2007-11-01
WO 2006/117391 PCT/EP2006/062037
9
vrai taa:x 1 0 {} ï faut 0 ]
faux vrai U i 1 0 fa~s o i
vrai vrai 1 0 l i3 vrai
Les autres situations correspondent soit à une situation d'attente de rendez-
vous des dom-iées d'entrées (l'une des données est valide et l'autre non) soit
à un
état illicite (l'une au moins des entrées est à l'état ' I 1'),
Les circuits de type 110 de l'étage d'entrée 100 sont destinés à la
-5 synehronisation des données d'entrée a, b(indispensable en protocole
asvnchrone).
Il est ainsi prévu quatre circuits 110a, 1 10b, 11 Oc et 110d de même
siructure, à deux
entrées 1 1 1 a, 113a, 1 1 1 b, 113b, 1 1 1 c, 113c et 1 I 1 d, 113d et une
sortie I 12a, 112b,
112e et 112d. Les entrées 111, 113 des circuits 110 sont reliées à des paires
respectivement différentes des entrées ai, a0, bl et b0. Les sorties 112 des
circuits
110 ch.anoent d'état lorsque deux états de même type, valides ou invalides,
sont
appliqués sur les entrées 111 et 113 associées.
On a représenté sur la figure 2 annexée un exemple non Iiniitatif de
réalisation
d'un tel circuit 110. Le mode de réalisation ainsi représenté est connu de
l'homme
de l'art. 11 ne sera donc pas décrit dans le détail par la suite. L'homme de
l'art
comprendra à l'examen des fguz-es 1 et 2 qu'une seule des sorties 112 des 4
circuits
110 est à 1 à la fois.
Les sorties 112a, 112b, 112c et 112d de ces étages 110 so[zt connectées aux
entrées correspondantes 211, 251 des claaînes d"interrupteurs 210, 250, ainsi
qU'à
l'entrée du inodule 400.
Les chaines 210, 250 sont constituées d'une série d'interrupte.urs 220 et de
dispositifs de c.hargeldécharge 230, alternés. Eale-s sont pilotées par
lesipnal de
cadencement issu de la sortie 402 du module 400. L,es moyens qui commandent
les
circuits 210 sont tels que : si l'entrée 211, 25 1 vaut '0" et le sil;nal 402
vaut ' 1', tous
les n uds internes ati circuit 210, 250 sont forc~.~s à 0. Si l'entrée 21 l,
251 vaut '1'
et le signal 402 vaut '0', tous les interrupteurs 220 sont passants et la
valeur de
l'alimentation 213, 253 (c'est à dire la masse pour les circuits 210 et la
valeur de
l'alimentation positive pour les circuits 250) est copiée sur I~- sortie 212,
252. Si
l'entrée 211, 251 vaut '0' et le signal 402 vaut '0'. tous les moyens formant
interrupteurs 220 sont bloquants, de même que les moyens de charge/déchar~e
CA 02607553 2007-11-01
WO 2006/117391 PCT/EP2006/062037
incorporant des interrupteurs 230. Les n uds internes sont à l'état haute
impédance,
de mënie que la sortie 212, 252. L'état daiis lequel l'entrée 211, 251 vaut '
l' et le
signal 402 vaut ' 1' ne peut être atteint que de maniére traiisitoire.
Plus précisément pour X circuits 110, il est prévu n ensembles de X circuits
s 210 et n eaisembles de X circLiits 25 0, les entrées 211, 25 1 de l'un des
circuits 210
et de l'un des circuits 250 de cliacun des n ensembles étant reliées en
parallèle à la
sortie 112 d'un circuit 110. Ces n ensembles de X circuits 210, 250 sont
répartis en
n groupes comprenant ehacun X circuits, chacun des n groupes coinprenant Y
cireuit(s) de type 210 ou 250 et (X-Y) circuits de type 250 ou 210. Les
sorties des
]0 circuits 210 et 25 0 de chacun des ncroupes sont reliées en commun au
niveau d'un
nnrud respectif 205a, 205b. Selon le mode de réalisatioi7 de la fîgure 1 il
est ainsi
prévu deux groupes de 4 circuits 210. 250. L'un des groupes comprend (X-1),
soit
3, circuits de type 210 aya.nt son alinientation 213 reliée à la masse et 1
circuit de
type 250 ayant son alimentaiion 2533 reliée à I'aliaiientation positive,
tandis que
l'autre groupe con3prend (X-1), soit 3, circuits de type 250 ayant son
alimentation
3 reliée à l'alimeniation positive et 1 circuit de type 210 ayant son
alinientation
213 reliée à la masse.
Selon le mode de réalisation non limitatif illust~,é stir la figure 1 annexée,
les
circuits interrupteurs 220 comprennent deux transistors MOS 224, 225 de type
20 opposë p et n, d nt les grilles sent reliées à rine entrée 221,
respe,ctivenlent
directcinent et par l'intermédia.ire d'un inverseur 72E_ Les tr~~,ets drain-
source des
transistors 22~. 225 sont quai~7t à c:tix reliés, en parallèle, entre uiie
entrée 223 et une
sortie 2~72 du circuit 2?0.
On liréci.se ici que dans lc c.~idrc de la préscnte description, on entend par
trajet
25 drain source. ur1 trajet bidirEctionrieI, c,'est-i3-dire aussi bien du
drain vers la source
quc:: de la Suurce vers le draHi.
Le4 circtiits de cliargeldécharge 2-1{) illustrés sur la 'gfure 1 annexée
compre.iu-ient un transistor MOS type n 234 dont la grille est reliée à la
sortie 402 du
niodr.ile 400, tandis que son trajet drain-source est relié entre la masse et
un n ud
235 qui est lui méme relié à l'entrée. 231 et à la sortie 232 du circuit 230.
CA 02607553 2007-11-01
WO 2006/117391 PCT/EP2006/062037
11
Tous les circuits 220 ont leur entrée 221 reliée à l'entrée 211 ou 251. Le
premier circuit 220 de cbaclue chaîne 210 ou 250 a son cnt.I-e 223 reliée à
une
alin7entation (respectivenlent une i1iasse pour les circtiit de type 210 et
une
alimentation positive pour les circuits de type 250). Sa sortie 222 est reliée
à
l'entrée 231 d'un circuit de décharge 230. La sortie 232 de ce circuit 230 est
elle
mënie reliée à l'entrée 223 du circuit 220 suivant et ainsi de suite, jusqu'au
dernier
circuit 220 de la chaîne dont la sortie 222 constitue la sortie 212 ou 252
d'une
cliaine 210 ou 250.
Selon la représentation donnée sur la figure 1, chaque chaîne 210, 250
lo comprend 4 interrupteurs 220 et 3 circuits de décharge 230 intercalés.
L'invention
n'est cependant pas liinitée à ce nombre ni à cette structure de cellules
disposées en
série entre la borne d'alimentation 213, 253 en entrée et la sortie 212. 252.
En
pai-ticulier on peut en-visagcr de réduire oti d'augmenter ee nombre de
cellules
220/230 si les Ãecllnologies de fabrication des interrupteurs ou la structure
des
interrupteurs permettent d'adapter l'impédance de ceux-ci par rapport aux
technologies actuellement disponibles.
Les circuits de sortie 310a et 31.0b sont constitués d'un moven formant
interrupteur à fonction de décharge dorit la commande est le signal 402. lis
sont de
préférence identiques aux circuits 230. On retrotive en effet sur la figure 1
azvicxée
?o des circuits 310 compa-e.Gis?.r.lt un transist.or N7OS type n 31 4 dorlt la
grille est reliée à
la sortie 402 du module 400, tandis que son trajet drain-source est relié
ent.re, la
masse et un riix.ud 31 5 qLri est lui méme relié à l'entrée 311 et à 1a sortie
312 du
circuit 3I0.
Le.s sorties "? 1?a, 212h.. ? 12c et 252d sont coni7ectées entre elles. Ce
na;ud
2; coniinuii de; sortie ?()5a est conncctt. à l'eiitrée du dispositil' 310a.
De niên-ie_ les
sorties ?52a, 2i217, 2152c et 212d sont connecté,cs entrc elles. Ce n ud
coninlun de
sortie 20,5b est connecté à l'entrée du dispositif 31f)b.
Les sorties 3I2a et 312b constituent les sorties du n-iontage. La sortie 312a
correspond à la fonction logique AND(a,b)l, tandis que la sortie 312b
correspond à
30 la fonction log
ique AND(a.b)0.
11
CA 02607553 2007-11-01
WO 2006/117391 PCT/EP2006/062037
12
On a représenté sur les figures 1) et 4 aiulexées un exemple de réalisation du
module 400 des#iné à générer le signal de comnaande 402. Selon le mode de
réalisation illustré siLu- les fi-ures 3 et 4, le nlodule 400 est composé de
trois circuits
410a, 410b, 410c de constitution identique et de deux inversEurs 420a, 420b.
Les
; entrées 411 a, 413a : 411 b, 413b des deux circuits 41 Oa. 410b sont reliées
à une
paire respective des sorties 11 2a, 112b, 112c et 11 2d de l'étage d'entrée
100. Leur
sortie 412a et 412b attaque respectivement l'entrée 421 a, 421 b d'un
iiaverseur 420a,
420b. Les sorties 422a, 422b de ces derniers sont reliées aux entrées 411 c.
413c du
circuit 410c. Enfin la soriie 412c du circuit 410c constitue la sortie 402 du
module
io 400.
Un mode de réalisation particulier des circuits 410 est ilIustré sur la figure
4.
On aperçoit sur cette fivure un circuit comprenant deux premières branches
parallèles de deux transistors MOS 414 (p), 415 (p) d'une part et 417 (p), 418
(p)
d'autre part. Le circuit comporte en outre deux deukièmes branches parallèles
d'un
15 transistor MOS 416 (n) d'une part et 419 (n) d'autre part. Les trajets de
conduction
drain-source des traalsistors 414, 415, 416 d'une part et 417, 418, 419
d'autre part
sont connectés en série entre la borxie d'alirnentation positive et la masse.
A partir de l'alimentation positi.ve, la grille du transistor 414 est reliée à
une
entrée 411 , tandis que les orilies des deux transistors suivants 41 D_ et 416
sont
20 reliées à la seconde entrée 413. De fiiç oii syn7éiriquc, à partii- de
l'alimentation
positive, la grille du transistor 417 est reliée à la seconde entrée 413,
tandis que les
I;rilles des deux transistors suivants 418 et 419 sont reliécs à la pretnièrc
entrée 411.
La sortie 412 est prélevée sur le n ud corrunun aux drains et sources des
quatre
transistors 41 ~, 416 et 4187 419 situés côté nla,sse.
25 L'h.amine de l'art comprendra que le module 400 est concu pour oénérer les
sionaux de séquencement 402 à partir des signaux de protocole double rail. Ce
module est doiac autononie. Par ailletirs cle par sa structure. svniétrique,
exploitant
les signaux valides disponibles en sortie du preniier étage 100, il s'affi-
anchit de
toute sibnature.
30 L'une des particularités du circuit i.llustré sur la fiC7'tue 1 est que
lorsque 1'une
au moins des données est dans l'état invalide, l'état de cllacun des noruds du
circuit
CA 02607553 2007-11-01
WO 2006/117391 PCT/EP2006/062037
13
peut être déterminé uniquement à partir de l'état courant des bits d'entrée du
circuit.
Ceci perinet de faire disparaître d'éventuels effets de méinorisations des
calculs
précédents qui peuvent être induits par des états internes à la poi-te (liaute
inipëdance).
Une autre des particularités d'un tel circuit est la symétrie de sa structure.
Quelle que soit la donnée d'entrée de la porte, sa structure lui permet de
regrouper
les différents ntr-uds de la porte. de teïle façon que, pour chacun des
groupes, d'une
part, le poids de Hanlming total soit indépendant de la valeur des entrées a
et b et,
d'autre part, la charge équivalente de cliacun des n uds d'un niême ensemble
(vue
du point de vue de l'entrée ou de la sortie) soit identique. Il en résulte que
la
consomination ne va pas dépendre de la valeur des données à un instant donné.
Conrrne, par ailleurs, la structure des nioyens de type 110 et 400 et les
moyens de
type 310 et 230 permettcnt de mettre tous les nnruds du réseau dans un état
connu
(toujours le niême) dès passage dans l'état non valide, il n'y a d'autre part
auctin
t~ effet de mémorisation parasite dans la porte_ Il n'y a en effet aucun noeud
(même
interne à un sous-circuit) à l'état haute iinpédance au passage d,.ns l'état
tampon.
L'intérêt des interrupteurs 2?0 est double : d'une part, ces interrupteurs
permettent de faire une sélection à la nianièrc d'un multiplexetu= de la
sortie correcte
de la poi-te parmi les quatre possibles (seul l'un des signaux 112a, 112b,
112c et
112d prend la v<tlÃ;:ur 'l' à la fois) et, d'autre part, il permet d'isoler
les capac.ïtés du
réseau. Toutes le.s capacités d'un côté d'un interrttpteur ouvert sont
invisibles depuis
l'autre côté_ ce qui permct l'ëquilibragc des capacitës.
Le circuit illustré sur la fieui=e 1 peut faire l'objet de différente4
variantes de
réalisation. A titre d'ex:e.inple, les movens de décharge 310 placés dans
l'étage de
sortie. 300, clui sont coaxirnuns aux sorties 205a. 205b de quatre claaines
210, 250,
pourraient être dupliqués en sortie de cllaeune, de Ges chaînes.
011 va maintenant décrire en regtrrd de la figure 5, une autre variante de
réalisation confori3le à la présente invention destinée à réaliser une
fonctioii lolgidue
NAND.
36 La figure 5 illustre un eteniple de réalisation possible de l'invention
dans le
cas oü elle réalise uale fonction logique NAND utilisée dans le cadre d'un
protocole
CA 02607553 2007-11-01
WO 2006/117391 PCT/EP2006/062037
14
synchrone. La porte réalise une opération de NAND binaire entre deux entrées
lobiqnes a et b. Ci-dessous la table de vérité d'une telle porte NAND
b NAND(a,b)
faux faux vrai
vrai faux vrai
faux vrai vrai
vrai vrai faux
Les enti-ées a et b sont codées sur 2 bits. Ainsi l'entrée a sera-t-elle
représentée par deux bits a] et aO et 1.'entréc b par deux bits bl et b0.
Lorsque a vaut
IaI ='1' et a0 ='0'. Si a vaut '0', al vaut '0' et aO vaut ' ï'. L'état al = '
I' et aO
=' code un état doniiée non valide encore appelé état tampon. Le protocole
pernlet dianposer qu'au traitement de toute donnée valide succède un
traitement de
l'état tanipon. avant pour but la réinitialisation de tous les nceuds internes
du
systènie, ce qui supprinie un éventuel effet de nléÃnorisation dans la porte
considérée. L'état al ='0' et aO -'0' est inutilisé.
Outre ces entrées a et b codées sur deux bits, la porte nécessite plusieurs
si~natirx protocolaires, ici au nornbre de 8, ~-éfé:re~~cés 450 à 457. Ces
si~;naux 450 à
457 sont. gé.nérés de façon déterininiste et indépendante des données, à
l'extérieur
de la porte, par une circuiterie dtzeicolique (par exemple une machine -à
état) clui est
liors du périmètre de l invention. Ces si(jnaiIx protocolaires sont codés
classiquelncnt par un unique bit.
La table de vér-ité dc la portt, NAND devicnt alors
C)r i b} N1\IJ(ti 1,~3N i [)( h)[) ~ ~i - f~~ux (ï 1 0 I I 4rai ~ I o
~-----r-,-'_W - _ i
vrai (f,us ] O G ~ i ~ vraf ~~ I ~{l
~~vrai irai 1' l) 1~{i faux 0 ]
?0
CA 02607553 2007-11-01
WO 2006/117391 PCT/EP2006/062037
Notons que les autres combinaisons sont interdites par le protocole et la
conception du circaiit qui comprend la présente porte. Il est nécessaire que
le calcul
ne s'effectue qu'entre deux données valides ou entre deux états tampons. Ce
problème purement physique de synthése et placement routage est un problème
5 classique en conception de circuits intégrés.
Le circuit représenté sur la fïgLu-e 5 comprend tm étage d'entrée 500, un
étage
de codage 600 et un étage d'interrupteurs 700.
L'étage d'entrée 500 comprend 4 (Z) circuits 510 à deux entrées 511, 5I3,
reliées respectivement à des paires différentes de données d'er..trée al, aO,
bl et b0
10 et une sortie 512. Les circuits 510 réalisent une fonction NAND bit à bit
classique
entre leurs deux entrées 511, 513. La sortie du dispositif 51 Oa (sibnal 512a)
coi-respond toujours à la valeur du calcul NAND(al,bl), donc NAND(a,b) dans un
codage classique.
Un exemple de réalisation de circuit 510 est illustré sur la figure 6. Un tel
15 circuit comprend quatre transistors 514, 515, 516 et 517. Les deux
transistors MOS
514 et 515 de type p ont leurs trajets de conduction drain-source connectés en
parallèle entre la borne d'alimentation positive et un nc-.ud qui coirespond à
la sortie
512 du circuit 510. Leurs grilles sont sollicitées respectivement par un
signal
d'entrée al, a0, bl et b0, via une entrée 511 ou 51 J. Les deux ~iutres
transistors 516
et 517 de type n ont feur trajet de conduction drain-source connecté en série
entre le
n a.id 512 et la nzasse:. Leurs grilles sont sollicitées respec-tiven7ent par
les entrées
513 et511_
L'étage 600 qui suit 1'étage d'ciltrée 500, coi-nprend 4 (Z) c.i.rcrlits 610 à
une
entrée 611 et deux sorties 612, 611 Les circuits 610 sont reliés
respectivement, c.n
eiEréc, aux sorties d'un e-ircuit 5I0_ Ils réalisent une fonction de codage.
Ces circuits
sont constitués uniquenieilt de deux i.nverseurs 614, 615. Ils calcuient
respectivement les valeurs prévues par le protocole de chacun des bits ctans
le cas
d'une donnée valide. A titre d'exemple, les signaux 612a et 613a disponibles
sur les
sorties des circuits 610a correspondent respectivement à NAND(a,b)1 et
NAND(a,b)0 dans le cas où les doiuiées a et b sont toutes deux valides, c'est-
à-dire
ciu'elles ne sont ni l'une ni l'autre dans un état tan7pon.
CA 02607553 2007-11-01
WO 2006/117391 PCT/EP2006/062037
16
Plus précisément les circuits 610 compreilnent les deux inverseurs 614, 615
en série entre l'entrée 611 et une première sortie 612, La seconde soitie 613
est
prélevée sur le point intermédiaire comniun aux deux inverseurs 614, 615.
Les circuits de typc internipteurs 700 réalisent l'opération cruciale que
constitue l'adaptation d'impédance. En effet, pour une telle porte logique, il
est
nécessaire que les capacités vues par chacun des n uds 612a, 613a, 612b, 613b,
612c, 613c, 61 2d, 6I3d soient identiques.
L'étage interrupteur 700 conlprend 2.Z, soit ici 8, modules interrupteurs 710
connectés respectivement sur les sorties des circuits de codaue 610.
Les circuits interrupteurs 710 comportent notamment des dispositifs faisant
interrupteurs destinés à isoler certaines capacités du réseau. Ils comportent
en outre
des éléments permettant de respecter le protocole et de forcer dans un état
connu les
difféi-ents nccuds du cireuit daiis le cas d'un calcul sur l'état tampon.
A cette fin c3iaque circuit 710 coiiiprend selon le mode de réalisation
représenté sur la figure 5. iui étage intermédiaire assurani une fonctioll de
multiplexeuw- 730 intercalé entre deux interrupteurs 720, 7-50.
Le dispositif 730 est un multiplexeur permettani de clioisir entre la donnée
qui
a été transxn.ise par l'intcn-upteur aniont 720 et la valeur '1' correspondant
à l'e-nvoi
de l'étïlt tajnpon vers une éventuelle porte suivante. Ce dispositif comporte
en outre
des structures de décharge vers la masse lui permettant dc nc conse:rver
au.cunc
n:iEmoire, des calculs et:f'êctués auparavant.
Les ciret.tits interruptetirs 720 conlpretinent de préfércnce dcux transistors
interrupteurs 724. 72-5. Les deux transistors 7:?4 et 727 de type opposé n et
p ont
Ieur trïïje.t de conduciion drain-sourcz e.n. parallèle entre l'entrée. 72 1
et la sortie 7212.
Lerirs rrilles sont sollicitées respectivement par un si.gnal dc
cEiden.ceme.nt eYterne
4~(}, -4-5 I. {'es interrupteurs 724, 7?5 tiont brié~-enlent o.lve.rts par les
si?naiix 450,
451 pour é.c-haltillonner le résultat du calcul dans le cadre rie données
valides et
restent eii position lèrinées pour un calcul sur l'état tampon puisclue les
inultip]exeurs 730 se chargent ensuite de transmettre I'état tampon aux
éventuelles
portes loviques suivantes.
CA 02607553 2007-11-01
WO 2006/117391 PCT/EP2006/062037
17
011 a représenté sur la figure 7 un exeniple non limitatif de réalisation d'un
circuit à fonction de iiiultipiexeur 730. Ce cireuit 730 comprer, J 8
transistors 733 à
740 et un inverseur 741. L'entrée 731 est reliée la grille de T 733 type n
dont le
trajet de conduction drain-source est en série de celui de T 734 type n entre
la masse
et tin na;ud interne 742. Le transistor T 735 type n a son trajet drain source
entre le
n ttd 742 et la masse. Sa grille est sollicitée par le signal 452. Le trajet
drain-source
de T 736 type n est placé entre la niasse et le point commun à T 733 et T 734.
Sa
grille est sollicitée par le signal 454. Les grilles de T 734 et T 735 sani
sollicitées
respectivement par les signaux 453 et 452. Les trajets drain-source des
transistors T
i0 737 et T 738 type p sont placés en série entre le noeud 742 et la bonie
d'alimen.tation posilive. Leurs t,~rilles sont sollicitées respectivement par
le signal
452 et l'entrée 73I . Le trajet drain-sotu=ce de T 740 type n est placé entre
la masse et
l'entrée 731. Sa grille est sollicitées par le signal 454. Enfin l'inverseur
741 est
placé entre le na:ud 742 et la sortie 7_312.
Les interrupteurs aval 750 sont structurelleinerit identiques aux
interrupteurs
720, mais sont commandés par une conin-iande différente (456, 457) permettant
de
laisser passer alternativement le résultat du calcul sur des données valides
et le
résultat du calcul sur des données tanipons. Les interrupteurs 750
comprenneiit clcux
transistors 754 et 755 de type opposé n et p dont les trajets de conduciioz-i
drain-
sourcc sont placés en parallélc, entre t e-ntrée 751 et la sortie 752. Leurs
grilles sont
sollicitées respectivünnent par iiri yiLpial de cadcncement externe 457, 456.
l-e c~as échéant Ics ir7terrupt(~urs de sortie 750 peuvent étre omis si les
circuits
730 f(,)rmant nrtiltiplexetu= présentc une, impéclance interne suffisante.
Le cas échéant le; interrupteurs peuvent être forinés non pas de deux
traIZSist rs de type, opposé nlontés en paralMe pour véhiculer
respccti~,en7ent des
signaux liaut et des signaux bas de nianière: optii-riale, mais d'un
transistor uni(Iue
pernieatant de véhicLiler des sig3laux dits états électroniques 60' faible et
' I' faible.
Les sorties 702, 704 accessibles du circuit global sont prélevées sur les
sorties
des circuits 710a1 et 710a2. Les sorties des autres circuits 7I0b1, 710b2,
710c1,
3Q 710c2, 710d1 et 710d2 restent non accessibles au sein du circuit.
CA 02607553 2007-11-01
WO 2006/117391 PCT/EP2006/062037
18
La sortie 702 correspond à la fonction logique NAND(a,b)0, tandis que la
sortie 704 correspond à la fonction logique NAND(a,b)1.
Un tel dispositif joue très schématiquement le rôle d'une écluse. Il permet de
masquer les calcÃ.ils effectués dal-is une partie du circuit par rappoi-t au
reste du
circuit, Tout ce qtii est d'tn-i côté d'un interrupteur ouvert est invisible
du point de
vue des dispositifs placés de l'autre côté.
La présence d'un dispositif 710 en aval de claacune des sorties des cia=cuits
610
permet de réaliser une adaptation d'impédance de telle sorte que les capacités
sont
équilibrées à chaque instant du protocole, quelle que soit la charge sur les
sorties
702 et 704 du dispositif, niénle dans le cas où les charges sont infinies sur
les sorties
des circuits 710b1, 710b2, 710c1, 7I0c2, 710dl et 710d2 (éventuellement non
connectées).
En efi.'et si i'on branchait une charge quelconque sur les sorties 61.2a et
612b
sans connecter les 6 autres sorties 612 et 613 du dispositif., il en
résulterait une
dissyniétrie capacitive qui se reflèterait trés foi-tement en terme de
signature. Une
porte louique basée sur le schéma illustré sur la figure 6, mais qui ne
comporterait
pas les dispositifs 710 ne donnerait donc pas satisfaction en termes de
protection.
Notons qu'à chaque instant, le poids de Hamnzing des donÃiées interinédiaires
déjà établies est indépendant des données a et b qui sont traitées. Ceci est
2o nécessaire, nlais nullcment suffisant. Dans le cas d'un calcul sur l'état
tatnpon,
l'état cle tou.s le.s n uds du circuit doit être connu et adapté par les
Ãxzécanisnles
formant interrupteur.
Lc, protocole cornplet correspondant à un calcul sur deux données
quelconques est présenté sur la fl~ure 8. Scril l'ordre de transition des
comniandea
est important. L'écart entre les diftërentes traiisitions cloit étre cependant
suftisant
pour laisser le tenips au circuit d'attei.ndre un état stable avant de
recevoir une
nouvelle cotnnlandc.
On a illustré sur la fl-ure 9 un exen.aple de réalisation d'une bascule 800
conforme à la présente invention. Ce circuit 800 est conçu pour opérer en
protocole
asynchrone double rail 4 phases. II utilise deux bits al et aO tels que potu=
a=0, a1-0
et a1=1, tandis que pour a=1, a1-] et a0=0. Le circuit 800 coinpoi-te deux
circuits
CA 02607553 2007-11-01
WO 2006/117391 PCT/EP2006/062037
19
d'entrée S 1 Oa et 810b de structure sinzilaire aux circuits 110 précités. Ces
circuits
810 reçoivent sur leurs deux entrées d'une part un signal respectif al et a0,
et
d'autre part un signal d'acquittemen# 804. Les sorties des circuits 810 sont
reliées
aux entrées respectives de deux chaînes d'interrupteurs 820a et 820b de
structures
similaires aux circuits 210 précités. Les soi-ties de ces deux chaînes 820a et
820b
fournissent les sorties 802 et 803 du niontage. Ces sorties sont chargées par
des
cellules de décharges 830a, 830b similaires aux circuits 230, comprenant un
transistor 832 dont la grille est sollicitée par la sortie d'une porte 840
assurant la
fonction logique OU à partir de la sortie des circuits 810. Enfin un inverseur
850
dont I'entrée est reliée à la sortie de la porte 840, génère à sa sortie, un
signal
d'acquittement.
Les portes conformes à la présente invention précédemment décrites peuvent
être avantageuseiiient combinées pour former quelque fonction logique que ce
soit.
Cependant, les signaux protocolaires de chaque porte doivent être coordonnés
aux
entrées de la porte.
Par ailleurs le placement-routage et le processus de fabrieation de l'ensemble
des composants du circuit doivent être adaptés de sorte que, au seiii de #oute
paire
de composants ayant des fonctions analogues, ces composants présentent le même
conlportement électrique, en terme de courant, tension, temps et phase, pour
évitex
toute sicynature.
Bien entendu la présente invention n'est pas limitée aux modes de réalisation
particuliers qui viennent d'être décrits, mais s'étend à toute variantes
conformes à
son esprit.
En particulier on peut réaliser un circuit opérant la fonction logique OR à
partir d'unc structure sii-rrilaire à celle illustrée sur la figure 1,
uniquement en
inwrsant les connexions des entrées 2I3b, 213c et 253b, 253c, c'est à dire en
reliait
les eritrées 213b et 213e non pas à la nlasse, mais à l'alimentation positive
e# en
reliant les entrées 253b et 253c non pas à l'alim.entation positive, iuais à
la Inasse.
De même on peut réaliser un circuit opérant la fonction logique XOR à partir
d'une structure similaire à celle illustrée sur la figure 1, unicluement en
conilectant
CA 02607553 2007-11-01
WO 2006/117391 PCT/EP2006/062037
les entrées ?13a, 253d. 253b et 253c à l'alimentation positive et les entrée
2I3b,
213c, 253a et 2I3d à la masse.
La présente invention conduit à rule porte logique dont la consomniatioli est
indépendante de ses données d'entrée et de son état logique. Elle peut trouver
de
5 noinbreuses applications. A titre d'exemple non limitatif, on peut citer la
protection
de cartes à puces (avantageusement confornies aux iIormes ISO 7816, 14443 ou
15693) et autres cryptosystënles contre les attaques par canaux auxiliaires
telles que
les attaques par collision et les attaques par analyse différentielle de
courant, de
puissance ou consomniation.
10 Selon d'autres caractéristiques avantaaeuses de l'invention
- les si~~naux de contrôle du protocole svnçhroi7e soiit partiellement ou en
totalité
(jénérés à l'extérieur de la porte.
le dispositif coristittie totit ou partie d'un dispositif réalisant une
opération
crvptograpltique et utilisant un élément secret.
15 - le dispositif possède des moyens 400, 610. periiiettant de synchroniser
deux
signaux distincts devant être établis quasiinent simtiltanément.
- ces moyens de svncl-ironisation utiliseilt des inverseurs 614, 615.
- les moyens de synclironisation 400 utiliscnt des portes OR 410.