Conception et intégration d`un IP de sécurité pour les architectures

SETIT 2011
6
th
International Conference: Sciences of Electronic,
Technologies of Information and Telecommunications
March 23-26, 2011 – TUNISIA
- 1 -
Conception et intégration dun IP de sécurité pour les
architectures de communication dans un SoC
Yahia SALAH, Medien ZEGHID
and Rached TOURKI
Laboratoire EµE, Faculté des Sciences de Monastir, Université de Monastir
Avenue de l’Environnement, 5019 – Monastir, Tunisie
medienzeghid@gmail.com
rached.tourki@fsm.rnu.tn
Résumé:
Ce papier présente l’étude, la conception et l’intégration d’un IP AES de sécurité dans un medium de
communication (bus et réseau sur puce "NoC") visant à protéger les applications s’exécutant dans un système embarqué
sur puce (System-on-Chip "SoC") contre les attaques. L’IP AES, le bus Wishbone et le NoC décrits en VHDL au niveau
RTL, ont été simulé par l’intermédiaire de l’outil de simulation VHDL Simili 3.1. Le module de sécurité est évalué dans
deux types d’architectures de communication différentes: un bus Wishbone et un NoC de topologie maillée NxN basée
sur un routeur générique. La synthèse de l’architecture entière du SoC a été réalisée par l’outil Synplify Pro 9.6.1 et
l’implémentation hardware a été effectuée en utilisant les circuits reconfigurables FPGA. Nous montrerons les
performances obtenues par ce module de sécurité, notamment en terme de surface, vitesse et fréquence de
fonctionnement.
Mots clés: SoC, sécurité, communication, IP AES, bus, NoC, VHDL, implémentation matérielle, synthèse, simulation.
I
NTRODUCTION
Durant cette dernière cennie, l’évolution
technologique conduit à l’augmentation de la densité
d’intégration et de la fréquence de fonctionnement des
circuits intégrés [ITRS 05, Nano 08]. Ceci permet
aujourd’hui d’assembler sur une même puce un
système numérique complet, appelé système sur puce
ou SoC (System-on-Chip). Ces systèmes font de plus
en plus partie de notre quotidien et se retrouvent dans
des domaines comme la télécommunication,
l'avionique, l’automobile, la télévision numérique,
etc. ; et par conséquent ils sont aussi de plus en plus
susceptibles à être agressés par différentes formes
d'attaques. C'est pourquoi la notion de sécurité des
données dans les SoCs est de plus en plus
préoccupante pour les concepteurs des circuits
intégrés, et également fait l'objet de nombreux thèmes
de recherches. Afin de préserver la confidentialité des
données lors d’une transmission, on implante dans
certains circuits intégrés des algorithmes
cryptographiques [NivS 91]. Plusieurs de ceux ci ont
été développés, et ils sont bien robustes
mathématiquement. L’algorithme de chiffrement AES
(Advanced Encryption Standard) a été choisi pour sa
puissance de calcul, sa rapidité de traitement, sa
simplicité et sa flexibilité d’implémentation aussi bien
sous forme logicielle que matérielle. Ces
caractéristiques lui permettant d’offrir une sécurité
suffisante en pratique pour les applications
embarquées. Toute la sécurité du système repose en
fait sur le secret de la clé de chiffrement. Cependant,
l'un des points les plus critiques d’un système
embarqué est son support de communication. Celui-ci
doit acheminer les données à la propre destination
sans perte et sans modifications. Pour que les
ressources, dans un SoC, puissent bien communiquer
entre elles, les techniques: communication point à
point et le modèle simple du bus ne sont plus
adéquates. Ces deux topologies manquent de
flexibilité et ont une faible scalabilité. Elles trouvent
ses limites en termes de bande passante à mesure que
le nombre de blocs préconçus IP (Intellectual
Property) utilisés dans le SoC augmente [Ben 02].
Afin de répondre à ces nouvelles difficultés de
conception, de nombreuses recherches ont fait
émerger le concept de réseau intégré sur silicium NoC
(Network-on-Chip).
L’objectif de ce papier est double. En premier lieu,
il s’agit d’étudier, concevoir et implémenter sur FPGA
un IP de sécurité pour la protection des données
sensibles pour les systèmes embarqués. En second
lieu, il s’agit de valider ce module de sécurité dans
deux types d’architectures de communication qui sont
le bus Wishbone [Bus 02] et le NoC [YS 07]. Afin de
SETIT2011
- 2 -
faciliter l’intégration de composants ayant des
protocoles incompatibles, nous avons développé des
adaptateurs (wrappers) entre les différents IPs et le
système de communication sur puce.
Dans la section suivante, nous introduisons
brièvement la notion et le principe de la cryptographie,
puis, nous parlons des techniques d’algorithmes
cryptographiques qui ont été proposées dans la
littérature en s’intéressant plus particulièrement sur
l’algorithme de chiffrement AES, et ensuite, nous
introduisons l’aspect de sécurité pour les architectures
de communication dans les systèmes embarqués. Nous
présenterons dans la section 2 l’architecture proposée
de l’IP AES et son implémentation matérielle sur
FPGA. La section 3 présente l’intégration de cet IP
dans un bus Wishbone et dans un NoC. La validation
concrète du fonctionnement de module de sécurité
sera donnée par les résultats de simulation et de
synthèse.
1. Sécurité cryptographique des SoCs
1.1. Notion et Principe de cryptographie
A coté de la fonction de cryptage, qui permet de
chiffrer le contenu d’un message dans le but de le
rendre indescriptible et seuls ceux qui ont la clé de
décryptage puissent le lire, la cryptologie moderne a
développée de nouveaux buts à atteindre et qu’on peut
énumérer essentiellement: l’identification,
l’authentification, la confidentialité, l’intégrité des
données, la non répudiation, le contrôle d’accès et la
gestion des clés [Cryp 00, Cryp 09
]
. La cryptologie
doit satisfaire ces principales fonctions de sécurité.
Elle est essentiellement basée sur l'arithmétique, et se
partage en deux sous-disciplines, également
importantes : la cryptographie, qui consiste à protéger
des informations, et la cryptoanalyse, qui est l’art de
les retrouver.
Ce travail discute de la cryptographie, qui s’insère
très bien dans les systèmes embarqués. Cette science a
connu un plus large essor encore avec l’apparition des
systèmes et infrastructures de communications
modernes il y a une nécessité absolue de protéger
les données sensibles stockées ou échangées pour
respecter les individus (les destinataires)
[
Cryp 00
]
.
Les applications de cryptographie sont nombreuses.
Parmi eux la téléphonie mobile, la télévision à péage
et les cartes bancaires.
1.2. Techniques de cryptographie
La sécurité des données cryptées repose
entièrement sur deux éléments : l’invulnérabilité de
l'algorithme de cryptographie et la confidentialité de la
clé. La notion de clé cryptographique, qui est une suite
de caractères hexa-numériques, permet de définir deux
schémas de base de crypto-systèmes ou algorithmes
cryptographiques: la cryptographie symétrique et la
cryptographie asymétrique.
1.2.1. Cryptographie symétrique ou "à clé privée"
Dans ce système, la clé qui sert au chiffrement des
informations sert également à leur déchiffrement.
Ainsi, l’algorithme symétrique, appelé aussi clé
privée" ou "à clé secrète", repose sur le fait que
l'expéditeur comme le destinataire disposent d'une
seule et même clé secrète.
Cette technique est très utilisée et se caractérise par
une grande rapidité. Elle est implémentée aussi bien
en software qu’en hardware. Ce type de cryptographie
fonctionne suivant deux catégories différentes, le
cryptage par bloc et le cryptage par flot ("de stream"
ou "en continu"). Le cryptage par bloc est une
méthode qui prend un bloc et qui le transforme en un
bloc chiffré et le cryptage par flot est une méthode
générant un flux chiffré en temps réel (exemple les
vidéos au format RealVideo sur internet).
Le chiffrement à flot est effectué bit-à-bit sans
attendre la ception complète des données à crypter.
Il arrive à traiter les données de longueurs
quelconques et n'a pas besoin de les découper. Une
autre méthode consiste à appliquer un OU exclusif
(XOR) au message à chiffrer avec un autre message
prédéfini. Il existe plusieurs algorithmes dans cette
catégorie tels que le RC4 [RC4 92] ou le GSM-A5/1
[GSM 00].
Le chiffrement en blocs (block-cipher) est
beaucoup plus utilisé et permet une meilleure sécurité.
Il s'applique à des blocs de données et non à des flux
de bits (stream-ciphers). Quatre modes de chiffrement
par bloc sont utilisés: Electronic CodeBook (ECB),
Cipher Block Chaining (CBC), Cipher FeedBack
(CFB) ou Output FeedBack (OFB). Pour cette
méthode, la taille de la clé (mesurée en nombre des
bits) varie suivant l'algorithme et suivant le niveau de
sécurité requis. Plus la longueur de la clé est
importante, plus il est difficile de la briser par une
attaque exhaustive. Les algorithmes les plus connus de
cette catégorie sont le DES et l’AES. Le DES (Data
Encryption Standard) [DES 94] a été développé aux
Etats-Unis, en 1975, par une équipe d'IBM pour le
NBS (National Bureau of Standards), et adopté
comme standard (FIPS 46-3) en 1977 [DES 99].
Devant l’augmentation de la puissance des
ordinateurs, la taille des clés (2
56
clés possibles) et la
taille des blocs (64 bits) du DES sont devenues courtes
et présentent des risques d’attaques en distinguabilité
(2
32
). C’est pourquoi, en 1999, le NIST (National
Institute of Standards and Technology) recommande
l’utilisation du Triple DES [DES 01, AES 03]. Cet
algorithme offre une sécurité convenable, mais devant
les progrès vertigineux des technologies de la
communication et de l'informatique, il est devenu trop
faible au regard des attaques actuelles et ne représente
plus une barrière infranchissable. En 2001, il a été
remplacé par le standard officiel AES (Advanced
Encryption Standard) même s’il est encore très utilisé
aujourd’hui [DES 01]. L’algorithme Rijndael AES
[AES 01], crée par Johan Daemen et Vincent Rijmen,
peut opérer sur des blocs de message de 128 ou 256
bits et est disponible pour trois tailles des clés
différentes : 128, 198 et 256 bits. Les spécifications de
ces trois versions ainsi que plusieurs implémentations
SETIT2011
- 3 -
sont disponibles sur la page Web du NIST. Un
cryptage de 128 bits, valeur standard utilisée par le
Rijndael AES (1997), est plutôt fort à l'heure actuelle.
Rijndael a été conçu de telle manière à rendre des
méthodes classiques comme la cryptanalyse linéaire
ou différentielle très difficiles. La NSA a donc
annoncé que l’AES était apte à protéger des
informations de classe "Secret" et même "Top Secret"
si on utilise des clés de 256 bits [AES 04]. Cet
algorithme n'est pas cassé à la date d'aujourd'hui [Cryp
09]. Il est l’aboutissement de recherches récentes
notamment dans le domaine de la cryptoanalyse, et il
est utilisé dans plusieurs protocoles et applications
pour l’embarqué [AES 10]. Des nouvelles instructions
Intel® AES dédiées au cryptage AES sont disponibles
dans la famille 2010 des processeurs Intel® Core™
(i5 et i7) basés sur l’architecture codename Westmere
et gravés en une technologie de 32nm. Ces nouvelles
instructions visant à accélérer le traitement des
algorithmes de chiffrage AES et une optimisation de la
virtualisation, permettent donc un cryptage/décryptage
des données rapide et sécurisé [AES 10]. Le logiciel
de chiffrement TrueCrypt utilise notamment ces
instructions.
Nous avons préféré nous concentrer sur
l’algorithme de chiffrement AES sur lequel nous
allons travailler tout au long de ce travail. Les
caractéristiques et les spécifications techniques de cet
algorithme seront décrites dans la section 1.3.
1.2.2. Cryptographie asymétrique ou "à double clé"
Dans ce système, la clé qui sert à chiffrer le
message n'est pas la même que celle qui est utilisée
pour son déchiffrement. Avec ce procédé, chaque
utilisateur a sa propre paire de clés : une clé publique
et une clé privée. La première est disponible pour tous
les utilisateurs alors que la seconde reste secrète et
stockée sur un support protégé. Ainsi, cette technique,
inventée en 1975 par les deux ingénieurs en
électronique Whitfield Diffie et Martin Hellman [NivS
91], permet de garantir un encryptage facile et rapide
et un décryptage difficile. L'application de ce crypto-
système asymétrique permet aussi de prouver l’origine
de données et d'expéditeurs (fonction
d'authentification) et de vérifier si les données ont été
altérées (fonction d’intégrité). L'authentification de
données consiste à générer une signature digitale à
partir de la donnée originale et de la clé privée de
l'expéditeur.
Parmi les algorithmes les plus répandus de la
cryptographie asymétrique, on trouve le RSA [RSA
06]. Inventé en 1978 par trois chercheurs du MIT
(Massachusetts Institute of Technology), cet
algorithme de chiffrement à clef publique est toujours
considéré comme efficace pour des clés suffisamment
longues (1024, 2048 et 4096 bits). Ainsi, il est difficile
de le casser en un temps ou avec des moyens
raisonnables. Le RSA est aujourd’hui le crypto-
système le plus employé. Il est utilisé dans une large
variété d’appareils (téléphones, réseaux Ethernet, etc.),
de logiciels (Microsoft, Apple, Sun, etc.), et dans des
industries [RSA 06, Cryp 09]. Son problème majeur
réside dans le choix des deux nombres premiers p et q,
de 100 chiffres au moins, permettant de calculer le
produit n [Cryp 00]. Il existe d’autres algorithmes à
clés publiques, l’exemple de Digital Signature
Algorithm, ECDSA, XTR et ELGamel. Le principal
inconvénient de ces algorithmes (incluant le RSA) est
leur grande lenteur par rapport aux algorithmes à clés
secrètes.
Avec le déchiffrement asymétrique le problème de
la distribution de la clef est résolu. Cependant cette
technique est moins rapide et demande beaucoup de
calcul lors des opérations de chiffrement et de
déchiffrement, ce qui peut causer des problèmes de
performance lorsque de nombreuses machines doivent
s'exécuter simultanément [RSA 06]. Il est plus facile
d’attaquer ces algorithmes en utilisant les propriétés
mathématiques des clés, comme une factorisation dans
le cas du RSA. Au contraire, la cryptographie
symétrique est caractérisé par une grande rapidité et
des implémentations aisés aussi bien software que
hardware, ce qui accélère nettement les débits et
autorise son utilisation massive [Cryp 00].
1.3. Caractéristiques et spécifications techniques de
l’AES
Le choix de l’algorithme AES répond à de
nombreux critères dont nous pouvons citer les
suivants: sa résistance face à toutes les attaques
connues, sa facilité de calcul, ses besoins faibles en
ressources et mémoire, sa flexibilité d’implémentation
en termes de tailles de clés et de blocs, sa simplicité
dans le design et la possibilité de son implémentation
aussi bien sous forme logicielle (l’exemple de Krypto
Zone, firewalls logiciels, etc.) que matérielle (cartes
dédiées, processeurs cryptos 8 à 32 bits, algorithmes
câblés, etc.).
L’AES utilise une des trois longueurs de clé de
codage suivantes : 128, 192 ou 256 bits. Les tailles de
clé les plus élevées offrent un plus grand nombre de
bits de brouillage des données mais également une
complexité accrue de l’algorithme [AES 03]. Pour une
clé de 128 bits, il y a environ 3,4 x 10
38
clés de 128
bits possibles. Ce qui rend impossible de casser l’AES
et la recherche exhaustive demeure la seule solution
[AES 03]. Cet algorithme offre toujours un niveau de
sécurité suffisant pour tout type d’applications. Il
s’insère très bien dans les systèmes embarqués. En
effet, il ne demande que peu de mémoire. C’est
pourquoi il a été utilisé dans les microcontrôleurs, les
microprocesseurs, les On-Chip Memories, les
MicroChips, et les cartes à puce [NoCC 03, SoCL 07,
NoCS 08, AES 10].
Comme la plupart des chiffrements par blocs
modernes, le processus de cryptage est basé sur une
procédure d'expansion E, des boites de substitutions S,
appelées au niveau de la diversification de clé K. Ce
processus conserve le principe des étages au moment
de l’étape d’expansion. Le déchiffrement est l'inverse
du chiffrement.
Chaque fonction de chiffrement (A) ou de
SETIT2011
- 4 -
déchiffrement (B) se divise en trois blocs comme
indiqué sur la figure 1:
Une transformation initiale avec la clé. C’est
l’étape de Round Initiale. Elle ne compte
qu’une seule opération "AddRoundKey".
Une série de rounds réguliers. C’est l’étape de
N Rounds, avec N est le nombre d’itérations.
Puis une transformation finale. C’est l’étape de
Round Finale. Elle est quasiment identique à
l’une des N Rounds. La seule différence est que
l’opération MixColumns n’est pas effectuée lors
de la dernière tour.
Le nombre de rounds s'établit en fonction de la
taille des données traitées en entrée et de la clé
utilisée. 128 bits pour N=9, 192 bits pour N=11, et 256
bits pour N=13 [AES 01]. Dans un tour, quatre
transformations sont appliquées au bloc à chiffrer:
SubBytes, ShiftRows, MixColumns, et AddRoundKey.
Chaque tour requière sa propre clé RoundKey. Ces
clés sont générées en avance ou calculées au début de
chaque tour. L’unité de base sur laquelle s’appliquent
les calculs est une matrice de 4 lignes et 4 colonnes
(dans le cas d’une clé de 128 bits) dont les éléments
sont des octets.
Round Finale
9 Rounds
de Cryptage
AddMask
AddRoundKey
(CipherKey)
SubBytes
ShiftRows
MixColumns
AddRoundKey
SubBytes
ShiftRows
AddRoundKey
AddMask
Round Finale
9 Rounds
de Decryptage
AddMask
InvMixColumns
AddRoundKey
InvSubBytes
InvShiftRows
AddRoundKey
InvSubBytes
InvShiftRows
AddRoundKey
(RoundKey10)
Cryptage
(A) (B)
Round Initiale
Round Initiale
Décryptage
Figure 1. Opérations de l’algorithme AES – (A) :
Cryptage, (B) : Décryptage
Dans notre cas, nous considérons la version AES
128 bits. Le texte clair (Plaintext) est découpé en des
blocs de messages de 128 bits. Ensuite, chaque bloc
ainsi que la clé de cryptage seront placés dans une
matrice carrée comportant 16 éléments (16 octets),
codés sous forme hexadécimale. Cette matrice subit
ensuite les quatre opérations mentionnées
précédemment, et qui définissent un tour:
AddRoundKey : c’est l’opération XOR de la
matrice courante avec la sous-clé
correspondante (matrice Key) à l’étape
courante.
SubByte : c’est une opération non linéaire (S-
Box) conçu pour résister à la cryptanalyse
linéaire et différentielle. En cas de
déchiffrement, la fonction inverse de SubByte
est appelée InvSubByte, qui consiste à appliquer
la même opération.
ShiftRows : c’est une opération de permutation
des bytes introduisant des décalages variables
sur les lignes des données. En cas de
déchiffrement, la fonction inverse de ShiftRows
est appelée InvShiftRows, qui consiste à
remplacer le décalage à gauche par un calage
à droite.
MixColumns: c’est une opération de
multiplication des matrices. Chaque colonne est
remplacée par des combinaisons linéaires des
autres colonnes. La fonction inverse de cette
opération, InvMixColumns, consiste à
multiplier la matrice de données résultant de
l’opération InvShiftRows par l’inverse de la
matrice constante.
1.4. Sécurité de la structure d’interconnexion dans
un SoC
De nos jours, et grâce à l’évolution des densités
d’intégration, la complexité des systèmes mono-puces
ne cesse pas de s’arrêter. Ainsi, ils se trouvent soumis
à des fortes contraintes de performances, de coût de
production et de temps de mise sur le marché [IP 00].
Pour respecter ces contraintes, les méthodologies de
conception récentes imposent à ces systèmes d’être
construits par un assemblage de composants
préconçus. Le concept de la réutilisation de blocs
virtuels préexistants IP (Intellectual Property) est très
répandu et permet de maîtriser la complexité
croissante des SoCs [IP 00]. Ces cœurs d’IP peuvent
être des éléments de traitement (ou de calcul) ou des
éléments de stockage des données (ou de
mémorisation). Plusieurs classes caractérisent les IPs,
mais on peut tout de même dégager trois grandes
catégories : les Hard cores (ou IPs matériels), les Soft
cores (ou IPs logiciels), et les Firm cores (ou IPs
firmware). La première catégorie permet d’optimiser
la puissance, les performances et le plan pour une
technologie spécifique (ASIC ou FPGA). Dans cette
famille, les composants peuvent être des processeurs,
des périphériques d’entrée/sortie, des convertisseurs,
de la mémoire, des structures d’interconnexion, etc.
Pour la seconde catégorie, les cœurs sont livrés sous la
forme d’un code (HDL
1
, logiciel, ou orienté objet)
synthétisable ou pas. Son principal avantage est qu’il
est simple d’utilisation, c'est-à-dire flexible. Dans
cette famille, un cœur permet de réaliser un traitement
donné (ex. FFT, DCT, décodeur MPEG, etc.). La
troisième catégorie d'IP est une catégorie intermédiaire
entre les catégories Hard et Soft.
1
Hardware Description Language
SETIT2011
- 5 -
Dans un SoC, les données sont généralement
échangées en clair entre les différents IPs, notamment
entre un élément de traitement (ex. processeur) et un
élément de stockage des données (ex. mémoire) dans
lequel elles sont stockées. Un attaquant peut observer
le medium de communication et récupérer le contenu
de l’élément de mémorisation, ou bien peut insérer du
code afin d’altérer le fonctionnement d’une
application s’exécutant sur le SoC. C’est le cas avec le
scénario d’attaque illustré dans la figure 2. Les
objectifs des attaques menées sur ce type de systèmes
sont à récupérer des informations éventuellement
privé ou de prendre le contrôle. On peut dire alors que
l'un des points les plus faibles d’un système embarqué
sur puce est son structure d’interconnexion qui relie
les blocs de calcul par les blocs de mémorisation
contenant des données sensibles. Afin de prévenir tout
type d’attaque de l’architecture de communication du
SoC, des mécanismes de sécurité doivent être mis en
place pour assurer la confidentialité et l’intégrité des
données. Il devient donc nécessaire de chiffrer les
données échangées entre les différents IPs du système.
Pour le chiffrage, une architecture matérielle de
sécurité basée sur l’algorithme AES sera utilisée. Ceci
permettra d’augmenter le niveau de sûreté et de
sécurité dans le système entier.
IP
1
IP
n-1
External
Attacker
WrapperWrapper
WrapperWrapper
IP
m
IP
n+1
Wrapper
IP
0
Wrapper
IP
n
Computational ElementStorage Element
SoC Interconnexion Structure
Figure 2. Un exemple des attaques externes dans un
SoC
Les performances sécurité d’une telle architecture
de SoC sont limitées par la capacité de son medium de
communication. Dans la littérature, on trouve trois
techniques majeurs d’interconnexion, et qui sont : la
communication point-à-point, le bus, et les réseaux sur
puce. La première technique permet un parallélisme
contrôlé et d’établir des connexions à fort débit, mais
elle soufre d’une faible possibilité de réutilisation et
une manque de scalabilité. La deuxième, est un
ensemble de connexion autour duquel communiquent
des cœurs d’IPs. Il est réutilisable et souple
d’utilisation. Il existe trois types de bus: les bus
backplane, les bus processeur-mémoire et les bus
entrée/sortie. Les problèmes majeurs de cette
technique sont une limite en termes de bande passante
et de scalabilité à mesure que le nombre de urs
devient important. La troisième technique apparait
comme une solution pour interconnecter les cœurs à la
place des bus. Cette solution représente une version
allégée du modèle OSI (Open System Interconnection)
intégrant 3 couches au lieu de sept [NoC 03]. Dans ce
contexte, la communication par paquet s’impose de
plus en plus au dépend de la technique de
communication par bus. Par ailleurs, les concepteurs
des SoCs se forcent pour définir un standard
d’interface afin de réduire la partie adaptation et de
tirer profit de cette nouvelle approche [NoC 03, Ben
02]. Actuellement, il y a pas mal de travaux autour des
réseaux sur puce. Il s’agit alors de connecter les
différents composants du SoC à travers un réseau avec
des diverses variantes intégrant: les topologies, les
protocoles de communication, les techniques de
routage et de contrôle de flux. Lavenir s’oriente vers
une interaction croissante entre le système
d’exploitation et le NoC, avec des adaptations
mutuelles du NoC et de la qualité-de-service (QoS) de
l’application. Ceci suppose des aspects sécurité,
surveillance et reconfiguration du système [NoC 06].
Plusieurs travaux ont intégrés des cœurs de
sécurité dans des bus processeur-mémoire ou des
cartes à puce [Sec 09]. Ils ont utilisés des crypto-
systèmes tels que l’AES, le SHA-1, ou le 3-DES. Des
études et implémentations des processeurs DSP pour
le cryptage des applications nécessitant un haut niveau
de sécurité ont également présentés en références [Ben
02] et [DSP 02]. Récemment, des nouvelles
instructions Intel® AES dédiées au cryptage AES sont
disponibles dans la famille 2010 des processeurs
Intel® Core™ i5 et i7 [AES 10] pour accélérer les
opérations de chiffrement des données. Néanmoins,
les mécanismes et les protocoles de sécurité n’ont été
encore ni étudiés ni implémentés dans le domaine de
NoC. Apriori, peu des travaux émergeant l’aspect de
sécurité dans le NoC, et qui sont : [NoCC 03] et
[NoCS 08].
2. Implémentation matérielle de l’IP AES
2.1. Méthodologie de Conception
La méthodologie de conception est basée sur
VHDL comme langage de description, l’outil VHDL
Simili 3.1 pour la simulation, et Synplify Pro 9.6.1 de
Synopsys pour la synthèse au niveau RTL
2
. Cette
méthodologie est suivie pour tester et valider le
fonctionnement d’un circuit logique, et pour extraire
les résultats de l’implémentation matérielle sur FPGA
VIRTEX 5. Elle doit répondre à la fois aux objectifs
de la description architecturale utilisée comme
spécification et aux contraintes de réalisation (les
performances).
2.2. Eléments de l’IP AES
L’architecture de notre IP de sécurité a pour
objectif la sécurisation des données transmises entre
les différentes IPs dans un système mono-puce. Le
schéma de cette architecture est donpar la figure 3.
Elle est constituée de quatre modules : un module
principal de sécurité (AES), une FIFO, une interface
d’entrée avec l’IP source (InterfaceInAES), et une
2
Register Transfert Level
1 / 12 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !