Réseau de transistors connectés en série
Un réseau de transistors en série est utilisé dans la construction d’une porte logique afin de réaliser une fonction et de conduction entre les signaux commandant leurs grilles. Il s’agit d’une interprétation de la logique des entrées qui correspond à une technologie hybride transformant des tensions en entrée en une conduction en sortie. Les réseaux série sont composés soit de transistors de type NMOS pour une fonction pull-down, soit de transistors de type PMOS pour une fonction pull-up. Le plus petit réseau série n’est composé que de deux transistors (Figure 1.2). Un réseau de deux transistors en série passe par un ensemble de combinaisons de modes de fonctionnement des transistors lors des transitions des entrées. La valeur de la capacité grille-source du transistor d’une entrée paramètre la consommation du circuit générant ladite entrée (Figure 1.3).
Exemple d’observation de la dispersion instantanée des caractéristiques électriques
La dispersion instantanée des caractéristiques électriques d’un réseau série de deux transistors est observable à travers, par exemple, sa consommation en courant. Les évènements 3 et 14 sont pris en exemple afin de démontrer qu’un front montant sur le signal a n’est pas équivalent, sur le plan électrique et donc de la consommation instantanée, à un front montant du signal b pour un réseau série de transistors. Les états initiaux des évènements 3 et 14 sont identiques et correspondent à l’état électrique 11S. Dans l’état initial ils présentent tous deux des caractéristiques électriques identiques puisque les deux entrées a et b sont égales à 1 dans les deux cas (Équation 1.17) Dans l’état transitoire de l’évènement 3, le transistor NMOSb passe dans l’état non saturé lors du front descendant du signal b. Le transistor NMOSa reste saturé. La source du transistor NMOSa commence à ne plus être plus connectée à la masse via le transistor NMOSb. Il est soumis à l’effet de substrat qui entraîne une différence de potentiel source-substrat Vn2−sub non nulle d transistor NMOSa. Or le substrat étant connecté à la masse tout comme le nœud n1 du transistor NMOSb, il apparaît une différence de potentiel drain-source Vn2n1 non nulle pour le transistor NMOSb. La tension de seuil VTHNa du transistor NMOSa devient de fait différente de la tension de seuil VTHNb du transistor NMOSb.
Observation de la dispersion instantanée des caractéristiques électriques d’un réseau série
L’étude précédente du réseau série de deux transistors a défini les variations des capacités grille-source et des résistances des transistors pour chacune des 16 combinaisons d’évènements possibles sur les deux entrées. Elle a aussi défini les variations des tensions des nœuds d’interconnexion du réseau série de deux transistors. Les variations des capacités grille-source entraînent des variations de consommation en courant des circuits générant les entrées. Les variations des résistances des transistors entraînent une variation de consommation en courant du réseau série de transistors. Ces résultats expliquent théoriquement la différence instantanée de la consommation entre deux évènements. L’analyse complète de tous les évènements deux à deux avec ce modèle démontre théoriquement que tous les évènements présentent une consommation instantanée toujours différente, soit à cause d’une différence de capacité grille-source, soit à cause d’une différence de résistance drain-source, soit à cause d’une différence de tension des nœuds internes. Cela permet de conclure que deux évènements différents sur un réseau série de transistors ont toujours une consommation différente. Le tableau 1.1 résume ce résultat de façon qualitative où les indices a, b, c, d et e représentent un ordre de grandeur croissant de la différence de consommation. Par exemple, les évènements 3, 10, 14, etc provoquent les plus faibles différences de consommation entre eux (supérieure au micro ampère) et les évènements 4, 14, 15, etc provoquent les plus grandes différences de consommation entre eux. L’étude de la différence de consommation instantanée entre deux transistors connectés en série est généralisable. Il est tout à fait possible de remplacer chacun des transistors par un réseau de transistors. Ces réseaux sont alors connectés en série. L’effet de substrat s’applique au nœud d’interconnexion qui provoque une dispersion instantanée des caractéristiques électriques entre les deux réseaux y compris s’ils sont identiques. Le tableau 1.1 est aussi applicable à des réseaux connectés en série qu’ils soient composés de transistors NMOS (Figure 1.17-a) ou de transistors PMOS (Figure 1.17-b).
Réseau de transistors connectés en parallèle
Un réseau de transistors en parallèle est aussi utilisé dans la construction d’une porte logique et permet de réaliser une fonction ou entre les signaux commandant leurs grilles. Ils sont aussi composés de transistors de type NMOS pour une fonction pull-down ou de transistors de type PMOS pour une fonction pull-up. Le plus petit réseau parallèle n’est composé que de deux transistors (Figure 1.18). Un réseau de deux transistors en parallèle passe par un ensemble de combinaisons de modes de fonctionnement des transistors lors des transitions des entrées. La valeur de la capacité grille-source d’une entrée paramètre la consommation du circuit générant ladite entrée. L’état initial des signaux définit le mode de fonctionnement des transistors dans l’état initial. Lors d’un évènement sur les signaux d’entrée, les transistors changent d’état de fonctionnement et les capacités grille-source sont modifiées de manière précise qui dépend de l’état initial et du mode de fonctionnement transitoire des transistors. De même, l’évènement sur les signaux d’entrée détermine l’état final des transistors ainsi que la façon dont sont modifiées les capacités grille-source qui dépend de l’état transitoire et du mode de fonctionnement final du transistor. L’influence de la variation des capacités grille-source sur la consommation des circuits générant les entrées est illustrée en utilisant le circuit de la figure 1.19. Il consiste à placer un source sur la consommation des circuits d’entrée inverseur comme circuit d’entrée pour les signaux a et b, chacun ayant sa propre alimentation. Les simulations qui suivent illustrent à chaque fois les variation des capacités drain-source qui modifient les capacités grille-source et donc la consommation des circuits inverseurs sur les deux entrées. La différence de consommation entre les deux circuits inverseurs générant les entrée a et b est illustrée en parallèle avec les variations des capacités drain-source. Les transistors connectés en parallèle ont en permanence leurs sources respectives connectées soit à la masse, pour les transistors NMOS, soit à la tension d’alimentation pour les transistors PMOS. L’effet de substrat ne s’applique pas et les deux transistors conservent leurs caractéristiques électriques identiques avec l’égalité de leurs tensions de seuil VTHNa et VTHNb, notée VTHN , quel que soit l’évènement.
La porte N and2
La porte N and2 est composée d’un réseau série de deux transistors NMOS et d’un réseau parallèle de deux transistors PMOS (Figure A.4 en annexe A). La différence de comportement analogique du réseau série de transistors NMOS lors des évènements sur les entrées a et b est définie par le tableau 1.1. La différence de comportement analogique du réseau parallèle de transistors PMOS lors des évènements sur les entrées a et b est définie par le tableau 1.2. La superposition des deux tableaux traduit la différence instantanée de comportement analogique de la porte N and2 lorsque les deux réseaux sont simultanément soumis au même évènement. Les évènements, qui n’entraînaient pas de dispersion instantanée des caractéristiques électriques d’un circuit parallèle de transistors, la provoquent tout de même à cause du réseau série de transistors de la porte. Tous les évènements entraînent une consommation instantanée différente de la porte N and2.
Fonction f de l’algorithme AES
Dans le cas de l’algorithme AES, la fonction f a cette fois-ci pour paramètres 8 bits de message intermédiaire et 8 bits de sous-clé. Les détails de construction de cette relation sont donnés au chapitre 5. Ici aussi, elle inclut la fonction de substitution définie par le standard. La fonction de substitution prend en entrée 1 octet du message clair intermédiaire. Le résultat de la fonction de substitution est combiné bit à bit par un » ou exclusif » avec 1 octet de la sous-clé correspondante du tour en cours. Il est donc possible d’avoir une relation entre un bit de message chiffré avec 1 octet de message intermédiaire et 1 octet de sous-clé comme indiqué par la relation 3.45. Ceci permet à nouveau le calcul de l’ensemble des solutions. chiffré1(t) = f(clair8(t), clé8(t)) (3.45) Comme pour l’algorithme DES, il est possible d’inverser le relation 3.45 et de trouver une équation entre un bit de message intermédiaire clair1(t), un octet de chiffré chiffré8(t) et un octet de clé clé8(t) à un instant t de l’algorithme (Équation 3.46). Ce bit dépend toujours de la fonction de substitution de l’algorithme AES. clair1(t) = g(chiffré8(t), clé8(t)) (3.46) A nouveau, il faut analyser l’influence de la modification d’un bit de clé sur la valeur calculée chiffré1(t). Cette analyse commence par la séparation en ensembles E0 et E1 réalisée pour chaque bit Mi (i , 0 : 7) de l’octet du message intermédiaire. Pour chaque bit Mi, l’octet de clé de chiffrement est tout d’abord fixé à la valeur 0 et les octets de chiffrés sont parcourus de x00 à xFF. Les bits de chiffrés sont combinés bit à bit par un » xor » avec les bits de l’octet de clé afin de retrouver la sortie de la fonction de substitution SubBytes. L’image de la sortie de SubBytes est inversée pour retrouver l’entrée. Selon la valeur du bit Mi, le chiffré est placé soit dans E0 si celui-ci est égal à 0 soit dans E1 s’il est égal à 1. Cette séparation est réitérée pour tous les octets possibles de chiffrement de x00 à xFF afin de prendre en compte toutes les distances en bit entre les octets de clé. ceci définit alors alors toutes les séparations possibles sur la fonction de substitution SubBytes. La figure 3.7 illustre les séparations. Il est maintenant possible d’analyser l’impact de l’octet de clé considéré lorsqu’il n’est pas l’octet de chiffrement. Par exemple, il est intéressant de compter le nombre de chiffrés communs entre un fichier E0 défini par un bit Mi et une valeur d’octet de chiffrement Kj et tous les autres fichiers E0 définis par le même bit Mi et par toutes les autres valeurs d’octet de chiffrement.
|
Table des matières
Introduction générale
Partie I Différence instantanée de la variation de la consommation des portes logiques
Chapitre 1 Dispersion instantanée des caractéristiques électriques des réseaux de transistors
1.1 Introduction
1.2 Capacité de grille d’un transistor en mode saturé
1.3 Capacité de grille d’un transistor en mode non saturé
1.4 Capacité de grille d’un transistor en mode ouvert
1.5 Résistance drain-source d’un transistor en mode saturé
1.6 Résistance drain-source d’un transistor en mode non saturé
1.7 Résistance drain-source d’un transistor en mode ouvert
1.8 Évènements sur une porte à deux entrées a et b
1.9 Réseau de transistors connectés en série
1.10 États électriques initiaux et finaux d’un réseau série de deux transistors
1.11 Dispersion instantanée des caractéristiques électriques d’un réseau de deux transistors en série
1.12 Exemple d’observation de la dispersion instantanée des caractéristiques électriques
1.13 Observation de la dispersion instantanée des caractéristiques électriques d’un réseau série
1.14 Réseau de transistors connectés en parallèle
1.15 États électriques initiaux et finaux d’un réseau parallèle de deux transistors
1.16 Dispersion instantanée des caractéristiques électriques d’un réseau de deux transistors en parallèle
1.17 Observation de la dispersion instantanée des caractéristiques électriques d’un réseau parallèle
Chapitre 2 Dispersion instantanée des caractéristiques électriques des portes logiques
2.1 La porte N and2
2.2 La porte Nor2
2.3 La porte Xor2
2.4 La porte N and2 cvsl
2.5 La porte And − N and2 SABL
2.6 La porte And2 asynchrone
2.7 Conclusion
Partie II DPA
Chapitre 3 Fonctions de sélection DPA
3.1 Introduction
3.2 Définitions
3.2.1 Fonctions f
3.2.2 Propriétés des bits des fonctions f
3.2.3 Méthodes d’évaluation des fonctions f
3.3 Décomposition itérative des algorithmes DES et AES
3.3.1 Approche globale d’algorithme cryptographique
3.3.2 Décomposition itérative d’un algorithme cryptographique
3.3.3 1977-DES
3.3.4 2001-AES
3.4 Fonction de sélection DPA
3.4.1 Fonction f de l’algorithme DES
3.4.2 Fonction f de l’algorithme AES
3.4.3 Définition de la fonction de sélection DPA
Chapitre 4 Mise en œuvre de la DPA du DES
4.1 Mesures des consommations
4.2 Construction d’une fonction de sélection DPA pour l’algorithme DES
4.3 Les regroupements
4.4 Conclusion
Chapitre 5 Mise en œuvre de la DPA de l’AES
5.1 Mesures des consommations
5.2 Analyse de l’algorithme AES : création d’une fonction de sélection DPA
5.3 Les regroupements
5.4 Conclusion
Chapitre 6 Variante de la DPA
6.1 Mesures des consommations
6.2 Analyse des algorithmes DES et AES
6.3 Le regroupement
6.4 Conclusion
Partie III Sources microélectroniques de la DPA
Chapitre 7 Porte logique, réseau de transistors et effet mémoire
7.1 Source architecturale
7.1.1 Architecture matérielle de coprocesseur
7.1.2 Architecture matérielle de microprocesseur avec ressource dédiée
7.1.3 Architecture matérielle de microprocesseur seul
7.1.4 Source matérielle élémentaire de la DPA dans une architecture de coprocesseur
7.1.5 Source matérielle élémentaire de la DPA dans une architecture de microprocesseur avec ressource dédiée
7.1.6 Source matérielle élémentaire de la DPA dans une architecture de microprocesseur seul
7.1.7 Source architecturale élémentaire de la DPA
7.2 Les réseaux série de transistors
7.3 L’effet mémoire
7.4 Les outils de conception
7.4.1 La synthèse
7.4.2 Le placement routage
7.5 Conclusion
Chapitre 8 Application à la DPA
8.1 Application à la DPA du DES
8.1.1 Séparation des chiffrés et des évènements microélectroniques associés
8.1.2 Schémas possibles de la fonction ⊕ du DES
8.1.3 Simulation de la DPA sur la porte Xor2 du DES
8.2 Application à la DPA de l’AES
8.2.1 Séparation des chiffrés et des évènements microélectroniques associés
8.2.2 Schéma de la fonction N and2
8.2.3 Simulation de la DPA sur la porte N and2
8.3 Application à la variante de la DPA du DES et de l’AES
8.3.1 Séparation des chiffrés et des évènements microélectroniques associés
8.3.2 Schéma de la porte Xor2
8.3.3 Simulation de la variante de la DPA sur la porte Xor2
8.4 Application à la DPA de l’AES en technologie asynchrone
8.4.1 Introduction
8.4.2 Séparation des chiffrés et des évènements microélectroniques associés
8.4.3 Simulation de la DPA sur la porte And asynchrone
8.5 Application à la DPA en technologie SABL
Partie IV Une solution au problème
Chapitre 9 Solution technique versus sources microélectroniques de la DPA
9.1 Introduction
9.2 Propriété d’isolation du transistor MOS dans l’état d’accumulation
9.3 Propriété de déséquilibre des portes CMOS
9.4 La nécessité d’un nouveau codage de données
9.4.1 Équilibrage par extension des réseaux de transistors
9.4.2 Équilibrage par extension des ensembles DPA
9.5 La nécessité d’un nouveau protocole de données
9.5.1 Nécessité d’un état électrique initial connu par extension des réseaux de transistors
9.5.2 Nécessité d’un état électrique initial connu par suppression de l’effet mémoire
9.6 Propriétés de la solution
9.6.1 Propriétés électriques
9.6.2 Effets parasites
9.6.3 Conception de la solution
9.6.4 Optimisation de la solution
9.7 Conception d’autres fonctions logiques
9.7.1 La fonction logique And2
9.7.2 La fonction logique Nor2
9.7.3 La fonction logique Or2
9.7.4 La fonction logique Xnor2
9.7.5 La fonction logique Xor2
9.8 Testabilité de la solution
9.8.1 Modèle de faute avec collage à 0 et collage à 1
9.8.2 Modèle de faute avec court-circuit et circuit ouvert
9.8.3 Vecteurs de test
9.9 Dérive technologique
Chapitre 10 Application de la solution
10.1 Application asynchrone
10.1.1 Conception de la porte And2 asynchrone
10.1.2 Conception d’autres portes logiques asynchrones
10.1.3 Résultats de simulations électriques
10.1.4 Conception de fonctions logiques asynchrones
10.1.5 Testabilité
10.2 Application synchronisée
10.2.1 Conception de la porte N and2 synchrone
10.2.2 Conception d’autres portes logiques synchrones
10.2.3 Résultats de simulations électriques
10.2.4 Conception de fonctions logiques synchrones
10.2.5 Testabilité
10.3 Application cryptographique
Conclusion
Partie V Annexe
Annexe A Théorie du transistor MOS
A.1 Le transistor MOS logique
A.2 La logique CMOS
A.2.1 L’inverseur
A.2.2 Combinaison de transistors
A.2.3 La porte NAND
A.2.4 La porte NOR
A.2.5 Les portes complexes
A.3 Le transistor MOS analogique
A.3.1 Capacités du transistors NMOS
A.3.2 Fonctionnement du transistor NMOS en mode non saturé
A.3.3 Fonctionnement du transistor NMOS en mode saturé
A.4 1 faible, 1 fort, 0 faible et 0 fort
A.5 L’effet de substrat
Annexe B Caractérisation de la technologie
B.1 Processus de fabrication des transistors NMOS et PMOS et modèles spice
B.2 Caractérisation de l’inverseur
Annexe C Notions de cryptologie
C.1 Terminologie
C.2 Historique et fonctions fréquentes en cryptographie
C.3 L’algorithme DES
C.3.1 Introduction
C.3.2 Description de l’algorithme de chiffrement
C.3.3 Description de la fonction f
C.3.4 Description de la fonction KS
C.3.5 Description de l’algorithme de déchiffrement
C.4 L’algorithme AES
C.4.1 Introduction
C.4.2 Description de l’algorithme de chiffrement
C.4.3 Description de la fonction SubBytes
C.4.4 Description de la fonction ShiftRows
C.4.5 Description de la fonction MixColumns
C.4.6 Description de la fonction AddRoundKey
C.4.7 Description de la fonction Key Expansion
C.4.8 Description de l’algorithme de déchiffrement
Télécharger le rapport complet