Slide Template - Lab

publicité
Contribution au domaine de la conception des
Systèmes Embarqués Reconfigurables
Guy GOGNIAT
Université de Bretagne Sud
Laboratoire LESTER
CNRS FRE 2734
Habilitation à Diriger des Recherches
Lorient, Vendredi 26 octobre 2007
Source: Xcell Journal Issue 58
Agenda
• Quelques faits marquants…
• Domaines de recherche et contributions
 Systèmes embarqués (HW/SW codesign)
 Architectures reconfigurables
 Sécurité des systèmes embarqués
• Et demain…
• Enseignement et recherche…
2
Quelques faits marquants…
Architecture
MPSoC
SystemC
Langage
Reconfigurable
Cryptoprocesseur
IP Based
design
Saut en
complexité des
FPGA
UML
MPEG2
MPSoC Adaptatif
RTOS
TLM
Profil MARTE
Architectures
Cœur de processeur
reconfigurables
Blocs DSP
Gros grain
Mémoire
Radio Logicielle
Application
NoC
2,5G (100kbit/s)
Reconfiguration
dynamique
3G (2Mbit/s)
MPEG4
4G (1Gbit/s)
H264
ECC
AES
Platform Architect PICO Express
Catapult C
(CoWare)
(Synfora)
(Mentor Graphics)
Outils
industriels
1998
1999
2000
2001
2002
2003
2004
2005
2006
EASI Tools Suite
(Beach Solutions)
2007
2008
2009
2010
3
Quelques faits marquants…
Saut en
complexité des
FPGA
Intégration grain fin/gros grain
Hiérarchie de bus
Conception à base d’IP
Circuit multistandard WLAN
(802.11a et MCCDMA)/ST
Architectures Microelectronics
Cryptoprocesseur
2003
reconfigurables
Gros grain
MPSoC
Multiprocesseur
Processeurs dédiées
Cryptographie
2D/3D
Traitement image/signal
Circuit MP211 pour les applications
téléphone cellulaire/NEC
2005
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
4
Quelques faits marquants…
SoC pour la HDTV
Laurent Ducousso/STMicroelectronics
Colloque national 2007/GDR SoC-SiP
 60-62 millions de lignes de code embarqué
 4-5 millions de lignes de code RTL (700 bibliothèques RTL)
 16 processeurs embarqués
 115 domaines d’horloge
 Chiffrement de toutes les communications avec les mémoires externes
 Architecture de communication-5Goctet/s
Saut majeur en
complexité
Limite des solutions
à base de bus
MPSoC Adaptatif
Intégration massive
Migration vers le tout processeur
Processeurs dédiés
Réseau de communication
Circuit Tera-scale/Intel
2007
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
5
Axes de recherche…
ECC
Cryptoprocesseur
3DES
Sécurité des systèmes embarqués
AES
3G
UMTS (2Mbit/s)
Saut en
complexité des
FPGA
Cœur de processeur
Blocs DSP
Mémoire
Exploration et estimation de
performance (FPGA)
Impact consommation
Exploration multigrain
Auto reconfiguration partielle
Architectures reconfigurables
Architectures
reconfigurables
Gros grain
Reconfiguration
dynamique
Profil MARTE
RTOS
MPSoC
IP Based
design
Systèmes embarqués (HW/SW codesign)
ESL design
MDA
MPSoC
Adaptatif
Maître de conférences
à l’Université de Bretagne Sud
1998
1999
2000
2001
2002
2003
Protection FPGA (bitstream)
Protection des données
Monitoring pour la sécurité
Système sécurisé
Élévation du niveau
d’abstraction
Architecture PACM/multiPACM
Pré-partitionnement
Conception MDA/UML
Séjour
USA
2004
2005
2006
2007
2008
2009
2010
6
Axes de recherche…
• Dénominateur commun
 Système sur silicium (SoC)
• Interaction entre les axes de recherche
 Outils de conception
2 Doctorants
[Bilavarn 2002/T], [Bossuet 2004/T]
 Architecture des systèmes
4 DEA/Masters
[Bossuet 2001/D], [Rouxel 2002/D],
[Piriou 2003/D], [Delahaye 2003/D]
Outils
Axe 1
Axe 2
Systèmes embarqués
HW/SW codesign
Architectures
reconfigurables
SoC
4 projets de recherche (France, USA, Europe)
[DARSoC 2003], [EPICURE 2003],
[POMARD 2004], [AETHER 2008]
Architectures
4 Doctorants
[Rouxel 2006/T], [Maalej 2007/T],
[Aoudni 200X/T], [Vidal 20XX/T]
4 DEA/Master
[Chaboun 1999/D], [Maalej 2002/D],
[Naoufel 2002/D], [Loukil 2005/D]
4 Projets de recherche (France, Tunisie)
[MACGTT 2002], [A3S 2005],
[PROSYR 2006], [MOPCOM 2009]
Axe 3
Sécurité des
systèmes embarqués
1 Doctorant
[Vaslin 200X/T]
1 Post-doc
[Wanderley 2007/P]
4 DEA/Masters
[Guillot 2004/D], [Dumérat 2005/D],
[Zui 2007/D], [Ducloyer 2007/D]
4 projets de recherche (France, USA)
[SecureFPGA 2004], [SANES 2005],
[SecureNIOS 2007], [ICTeR 2008]
7
Agenda
• Quelques faits marquants…
• Domaines de recherche et contributions
 Systèmes embarqués (HW/SW codesign)
 Architectures reconfigurables
 Sécurité des systèmes embarqués
• Et demain…
• Enseignement et recherche…
8
Systèmes embarqués (HW/SW codesign)
• Besoin d’abstraction
Complexité des applications/plateformes d’exécution
Haut niveau d’efficacité temporelle/énergétique
Réduction du cycle de vie/coût de conception
Conception multidisciplinaire
Plate-forme
Application
Battery
Secure Embedded System
Processor
Memory
Power
monitor
Système
Thermal
monitor
Application
Bus
monitor
FPGA
Security
Executive
Processor
Primitive
monitor
I/O
Clock
Security
primitive




Clock
monitor
Channel
monitor
Transfert
de registres
Besoin
d’abstraction
for (j = 0; j < K; j++)
{
aiB[j] = (A[i] * B[j] + c1) % Beta;
c1 = (A[i] * B[j] + c1) / Beta;
qM[j] = ((q * M[j] + c2)) % Beta;
c2 = ((q * M[j] + c2) / Beta);
}
A
Algorithme
B
+
Logique
Opération
C
9
Positionnement des travaux
•
Approche de conception MDA/UML
Samuel Rouxel [2006]

UML
MDA/UML/SystemC pour
systèmes
reconfigurables
Spécification
SystemC
Partitionnement fonctionnel
Partitionnement
Issam
Maalej [2007]
logiciel/matériel
PROSYR CMCU
•
Jorgiano
Vidal [2010]
Fonctionnelle
+ contraintes
Accélérateur
coprocesseur
Collaborations scientifiques
associées
Performance RTOS
Samuel Rouxel [2006]
RTOS

A3S RNRT
•

Synthèse des
communications
2003 – 2005
MOPCOM ANR/RNTL – Pôle
de compétitivité Images et
Réseaux
•
Synthèse du
matériel
2003 – 2006
2007 – 2009
Compilation du
logiciel
VHDL
C
Intégration
système
Prototypage rapide
Yassine Aoudni [2007]
Mem
cop
cop
Proc
Mem
Mem
Bridge
Bridge
Proc
IP
Proc
IP
IP
IP
10
Partitionnement fonctionnel
•
t1
Application
Analyse de
l’application par
le concepteur
t3
t5
t2
Analyse des
tâches
t4
Pré-partitionnement de
l’application sur une
architecture multiprocesseur
[Maalej 2007]

de
EtapeEtape
d’exploration
Pré-exploration
(e.g. codesign)
Optimisation
multiobjectif
Modèle d’architecture
PACM multiprocesseur

t1
Partitions
Architecture
t2
t1
Proc
t2
Mem
t3
Mem
t5
•
t4
Bridge
Proc
PACM1
PACM1
PACM2
t4
IP
t3
t5
Basé sur une architecture
générique multi-PACM

PACM2
•
Permet d’appréhender la
complexité des futures
architectures composées de
centaines de processeurs
Étape d’exploration qui permet
de réduire l’espace des
solutions
Processeur, accélérateur,
coprocesseur, mémoire
Six métriques guident
l’exploration




Analyse d’identité (IA)
Distribution mémoire (MEM)
Distribution des communications
(EDE, DEIC, CIC)
Contraintes de débit (Tc)
11
[Maalej 2007] I. Maalej, « Exploration haut niveau des architectures multiprocesseurs : analyse et métriques », Thèse de doctorat, Université de Bretagne Sud, 16 octobre 2007
Exploration de l’application UMTS
• Analyse de l’espace des métriques
x4
SRC 292
1
CRC 300
2
transport block
EDE
x1
1200
SEG
3 1200
COD
4 1200
EQU
5 1200
INT1
6 1200
INT2
7
1200
Tc
DEIC
frame/frame
Données
échangées dans le
cluster1
x1
CT/SCR
8
2560
IA
2560
PSH
14
2560
SCR
13
2560
SUM
SPR/data
12 2560 9
80
x 15
transport block
SEG
3 1200
COD
4 1200
EQU
5 1200
INT1
6 1200
INT2
7
Tc
2560
SCR
2560 13
CT/SCR
8
Données
échangées dans le
cluster1
DEIC
x1
IA
SUM
SPR/data
2560 12 2560 9
80
2560
SPR/ctrl 10 DPCCH
11
10
x 15
Données
échangées entre
les clusters
EDE
1200
frame/frame
PSH
2560 14
Distribution des échanges de
données pour a solution 1
Espace des métriques
pour la solution 1
x1
1200
Données
échangées dans le
cluster2
slot/slot
x4
CRC 300
2
CIC
MEM
2560
SPR/ctrl 10 DPCCH
11
10
SRC 292
1
Données
échangées entre
les clusters
slot/slot
CIC
MEM
Espace des métriques
pour la solution 2
Données
échangées dans le
cluster2
Distribution des échanges de
données pour a solution 2
12
Exploration de l’application AC3
• Combinaison pré-exploration et exploration
Mantissa (16 bits)
Center
256
7 bits
Left
256
7 bits
Right
256
7 bits
Coupling
channel
256
7 bits
C0
1
L0
2
R0
3
256
5 bits
256
5 bits
256
5 bits
256
CC0 5 bits
4
256
256 4 bits
C1 4 bits
C2
256
5
9
18 bits
256
256 4 bits
256
18 bits
L1 4 bits
L2
6
10
DC
256
256 4 bits
13
4
bits
R1
R2
7
11
256
256
256 4 bits 18 bits
256
CC1 4 bits
CC2
18 bits
8
12
•
Exploration par CODEF [Auguin 2001]

256
18 bits
RX
14
512
18 bits
C2
15
256
18 bits
256
18 bits
•
L2
16
Espace d’exploration composé de 37
solutions
Exploration par GAMA2 et CODEF

R2
17
Espace d’exploration réduit à 21
solutions
Temps (ms)
1500
•
1400
Pareto


1300
1 architecture CODEF
3 architectures GAMA² et CODEF
1200
•
1100
1000
Exploration guidée de l’espace de
conception
900
800
15
20
25
30
35
40
45
Surface
(mm2)
[Auguin 2001] M. Auguin, L. Capella, F. Cuesta, et E. Gresset. ”CODEF: a System Level Design Space Exploration Tool” ICASSP, pages 1031-1034, Salt Lake City, USA, Mai 2001
13
Model Driven Architecture pour la radio logicielle
•
•
Approche de conception dirigée
par les modèles [Rouxel 2006]
Définition d’un flot de conception
unifié autour du langage UML


Conception au niveau système
Basé sur une approche MDA
•

Vérification non fonctionnelle afin de
garantir
•
•
•
•
Définition du profil A3S
La définition correcte du système
L’ordonnançabilité de la solution
Lien entre le modeleur UML
(Objecteering) et l’outil XAPAT
Modélisation et Caractérisation
d’une Plateforme SoC Hétérogène

Application à la Radio Logicielle
14
[Rouxel 2006] S. Rouxel, «Modélisation et Caractérisation d’une Plate-Forme SoC Hétérogène : Application à la Radio Logicielle », Thèse de doctorat, Université de Bretagne Sud, 5 décembre 2006
Modélisations, Vérifications et Analyses
•
Spécification et analyse

Modélisation
(PIM/PDM/PSM)
Vérification

Objecteering
Objecteering

XMI file
•
XAPATool
XAPATool
.gtg
.arch
•
XML files
RTDT
RTDT
Visualisation des résultats
Analyse
Partitionnement logiciel – matériel

.res
Modélisation de l’application
(diagramme d’activité)
Modélisation de la plateforme
d’exécution (diagramme de
déploiement)
Vérification de la conception
Vérification du déploiement
Analyse de l’ordonnançabilité du
système et des taux d’utilisation
des ressources

Passerelle entre les outils
Objecteering et RTDT via XAPAT
• Génération du graphe de tâches de
l’application
• Prise en compte du partitionnement
15
Système Radio Logiciel UMTS
Exploration des solutions pour la configuration 1
•
Débit (117 kbits/s)
Exploration de différents
scénarios d’exécution
Temps
d’exécution
DSP1
DSP2
FPGA
Émetteur
96,6%
2,4%
-
10 ms
Récepteur
185,5%
4,6%
-
19,27 ms
Émetteur
11,4%
3,4%
66%
7,96 ms
Récepteur
17,1%
4,6%
71,2%
9,44 ms
Plateforme DSP
•
Évaluation de plusieurs
partitionnements


•
Reconfiguration du système
pour plusieurs débits


•
Uniquement à base de DSP
Combinaison DSP et FPGA
Configuration 1 : 117 kbits/s
Configuration 2 : 950 kbits/s
Plateforme DSP et FPGA
permet de respecter les
contraintes
Plateforme DSP et FPGA
Exploration des solutions pour la configuration 2
Débit (950 kbits/s)
Temps
d’exécution
DSP1
DSP2
FPGA
Émetteur
96,6%
5,1%
-
10,33 ms
Récepteur
185,5%
5%
-
19,33 ms
Émetteur
11,4%
5,1%
66%
8,29 ms
Récepteur
17,2%
5%
71,2%
9,49 ms
Plateforme DSP
Plateforme DSP et FPGA
16
Agenda
• Quelques faits marquants…
• Domaines de recherche et contributions
 Systèmes embarqués (HW/SW codesign)
 Architectures reconfigurables
 Sécurité des systèmes embarqués
• Et demain…
• Enseignement et recherche…
17
Architectures reconfigurables
• Intégration croissante des composants reconfigurables
dans les systèmes embarqués
 Besoin d’évaluation de l’apport de ces solutions dès les
premières étapes de conception
 Exploration de l’espace de conception et estimation de
performance
• Caractère dynamique des applications plus fortement
marqué
 Besoin de reconfiguration dynamique au niveau applicatif mais
également au niveau architectural
 Les architectures reconfigurables correspondent à une cible
privilégiée
 Comment et quand reconfigurer un système devient un enjeu
majeur
18
Positionnement des travaux
Systèmes adaptatifs
Spécification
fonctionnelle
« système »
Milad El Khodary [2009]
Partitionnement
•
Collaborations scientifiques
associées

MACGTT CNRS
•

Spécification
fonctionnelle
(C pour le matériel)
Exploration architectures
Compilation
reconfigurables hétérogènes
reconfigurable
Lilian Bossuet [2004]
gros grain
EPICURE RNTL
•

Exploration
espace
Synthèse
de conception/FPGA
comportementale
Compilation du
logiciel
Sébastien Bilavarn [2002]
2001 – 2003
POMARD CNRS
•

2000 – 2002
2003 – 2004
AETHER IST-FET
•
2006 – 2008
Spécification RTL
(VHDL)
Synthèse logique
Mapping
technologique
Place&Routage
Reconfiguration
dynamique
Configuration
Jean Philippe
Delahaye [2003]
(FPGA)
Auto reconfiguration dynamique
Processeur
Pierre Bomel [2007]
Accélérateur
coprocesseur
19
Exploration des architectures reconfigurables
•
Définition d’une architecture multi grain pour un ensemble
d’applications [Bossuet 2004]



Spécification de l’application/de l’architecture
Exploration de l’espace de conception
Évaluation des performances
20
[Bossuet 2004] L. Bossuet, «Exploration de l’espace de conception des architectures reconfigurables», Thèse de doctorat, Université de Bretagne Sud, 10 septembre 2004
Estimation des performances
•
L’application est caractérisée sous l’angle des communications
Paramètre impactant très fortement la consommation de l’architecture

•
Projection de l’application sur l’architecture
3 stratégies utilisées afin d’anticiper l’impact des outils de synthèse

•
•
•
Estimation du taux d’utilisation des ressources
Estimation de la hiérarchie des communications
Guide le processus d’exploration par raffinements successifs
Spécification
de l’architecture
Spécification de l’application
(graphe ACG)
(4)
Elément hiérarchique de niveau 3
Elément hiérarchique de niveau 2
Cluster 3
20
8
14
×
(4)
3
Outil de projection
architecturale
(3)
3
5
c[0 •• 7]
+
Elément
hiérarchique
de niveau 2
y[0 •• 7]
Elément
hiérarchique
de niveau 2
8
8
Elément
hiérarchique
de niveau 2
Cluster 3
Cluster 3
Cluster 3
Cluster 3
Elément
hiérarchique
de niveau 2
ALU
LUT
MULT
COMP
RAM
x[0 •• 7]
niveau 1
100% 100%
93.8%
niveau 3
21%
24%
niveau 3
25%
niveau 3
68.8%
35%
niveau 2
10%
Add
Sub
Mul
Div
Comp
niveau 1
69%
Logic
niveau 2
58%
17%
41%
Minimum
Estimation du
taux d’utilisation des
ressources
niveau 1
niveau 2
Intermédiaire
Maximum
Estimations de la distribution hiérarchique des
communications
21
De la projection à l’exploration architecturale
Application
Nombre d’éléments
fonctionnels
Point
d’arrivée
Point
de départ
Taille
des clusters
Taille des
mémoires
•
Exploration des paramètres de
l’architecture


•
Caractéristiques des niveaux
hiérarchiques
Évaluation des performances
Approche interactive

• Fonctions critiques
• Caractérisation des communications
Concepteur de
L’architecture
Définition des éléments fonctionnels
• Granularité (fine, épaisse)
• Type (opérateur, mémoire)
Caractéristiques des éléments
hiérarchiques de bas niveau
Processus
itératif basé
sur les
résultats
d’estimation
• Opérateurs (nombre d’opérateurs, mémoires)
• Clusters H2 (nombre de clusters)
Outil de projection architecturale
• Taux d’utilisation
• Distribution des communications
Exploration des clusters
de bas niveau
Analyse ACG
Pour les fonctions
critiques de
l’application
Exploration des niveaux supérieurs de
la hiérarchie
Processus
itératif basé
sur les
résultats
d’estimation
• Middle level H1 (nombre de clusters)
• High level H0 (nombre de clusters)
Outil de projection architecturale
• Taux d’utilisation finaux
• Distribution des communications finale
Pour toutes les
fonctions de
l’application
Concepteur/outil de projection
Définition de l’architecture
22
Exploration pour MPEG2 et AES
•
Architecture obtenue suite au
processus d’exploration pour MPEG2
Élément hiérarchique de niveau 3
Élément hiérarchique de niveau 2
Cluster 1
Cluster 1
Élément
hiérarchique
de niveau 2
Cluster 2
ALU
ALU
ALU
ALU
LUT
MULT
MULT
MULT
MULT
COMP
LUT
Cluster 2
RAM
RAM
Exploration de l’architecture pour l’application MPEG2
Taux d’utilisation
Application
MPEG2
•
ADD/SUB
MUL
COMP
LUT
Niveau 3
Niveau 2
Niveau 1
67,0%
70,0%
13,0%
2,0%
29%
8%
63%
Adéquation de l’architecture « MPEG2 » pour
Architecture obtenue suite au
processus d’exploration pour AES
Application
Taux d’utilisation
Élément hiérarchique
de niveau 3
Élément
hiérarchique
de niveau 2
Élément hiérarchique
de niveau 2
Cluster 3
ADD/SUB
Cluster 3
AES*
ALU
LUT
Distribution des communications
MUL
COMP
l’application AES
Distribution des communications
LUT
Niveau 3
Exploration
pour
l’application
AES
- de l’architecture
36%
Taux d’utilisation
Application
MULT
ADD/SUB
MUL
Taux d’utilisation
Application
AES
ADD/SUB
RAM
AES
63,8%
63,8%
MUL
100%
COMP
100%
100%
COMP
100%
LUT
93,8%
Niveau 1
14%
50%
Distribution des communications
Exploration de l’architecture pour l’application AES
COMP
Niveau 2
LUT
Niveau 3
Niveau 2
Distribution des communications
93,8%
Niveau 3
21%
Niveau 2
10%
Niveau 1
21%
10%
69%
Niveau 1
23
69%
Reconfiguration dynamique
• Adaptation dynamique des systèmes
• La reconfiguration dynamique ouvre de nouvelles
perspectives
 Accélérer l'exécution de primitives de calculs comparé à une
exécution logicielle
 Favoriser la flexibilité dynamique comparé à une solution dédiée
 Autoriser différents compromis dynamiquement en termes de
débit, surface, latence, fiabilité, consommation afin de respecter
les contraintes dynamiques d'un système
• Ce paradigme d’exécution s’installe progressivement
mais durablement dans les systèmes embarqués
 Maturité encore insuffisante notamment de part des
méthodologies de conception et des outils associés
24
Système Radio Dynamiquement Reconfigurable
•
Changement dynamique d’une
chaîne de modulation
[Delahaye 2003]


Modules fixes (changement de
fréquence – sélection de PLL )
Module dynamique (changement
de mapping – 8PSK/QPSK)
FPGA Virtex 1000 E
Data transfer
CP0
DSP
C62
Partial
Module
CP4
CP2
Bus Macro
Configuration
transfer
(bitstream)
SDRAM
DSP Code
Control
CPLD
Full Bitstream
8PSK mapping
Partial Bitstream
Partial Bitstream
Bits to
symbol
coding
Fixed
Module
Data
50
MHz
CP3
810 KHz
Source
coding
simulation
Reconfiguration
Oversampling
Filtering
IF Transposition
QPSK mapping
270 KHz
Bits to
symbol
coding
1.08 MHz
1.08 MHz
8PSK/QPSK modulation chain
Légende :
Fixed part
Reconfigurable part
540 KHz
[Delahaye 2003] J-P. Delahaye, «Systèmes Radio Dynamiquement Reconfigurables sur Architecture Hétérogène», Mémoire de DEA, Université de Paris Sud Orsay, 10 septembre 2003
25
Vers l’endo reconfiguration…
•
Auto-reconfiguration partielle du
système
[Le Cunff 2006]


•
Le PowerPC reconfigure la matrice
via le module IP_ICAP
Stockage des bitstreams en
mémoire externe
Reconfiguration 2D

Modular + Difference Based
Design
Système reconfigurable
FPGA
PowerPC
B
U
S
PLB
PLB
to
OPB
bridge
BRAM
Controller
M
A
C
R
O
Reconfigurable
Area
OPB
OPB_GPIO
(I, II, III)
On-board
memory
Controller :
OPB_SysAce
On-Board
MEMORY
IP_ICAP
26
[Le Cunff 2006] B. Le Cunff, «Reconfiguration dynamique et auto-reconfiguration Xilinx Virtex II Pro», Mémoire de projet MASTER, Université de Bretagne Sud, Mars 2006
Vers l’auto adaptation…
•
•
Connexion systématique des
systèmes au réseau
Déporter le stockage des
bitstreams vers un serveur
externe [Bomel 2007]


•
Évolution dynamique des systèmes
Réduction significative du problème
de stockage
Définition d’une couche
d’abstraction « ultra légère »
DPR
[Bomel 2007]
Xilinx
[2006]
Lagger
[2006]
Williams
[2004]
Vitesse
bits/s@MHz
375 – 400 K
40 K
17 K
32 K
Mémoire
(octets)
 100K
 1M
 1M
 1M
27
[Bomel 2007] P. Bomel, «A Networked, Lightweight and Partially Reconfigurable Platform», Rapport interne LESTER, Université de Bretagne Sud, septembre 2007
Agenda
• Quelques faits marquants…
• Domaines de recherche et contributions
 Systèmes embarqués (HW/SW codesign)
 Architectures reconfigurables
 Sécurité des systèmes embarqués
• Et demain…
• Enseignement et recherche…
28
Sécurité des systèmes embarqués
29
Courtesy Lilian Bossuet
Attaques d’un système embarqué communicant
Attaque logicielle à distance
Vers, virus, cheval de Troie
Attaques matérielles
passives
Analyses des canaux cachés
Attaques matérielles
actives réversibles
Injection de fautes
turbo code
AES
KEY
RAM
µP
RSA
RAM
Attaques matérielles
Actives irréversible
Découpage du circuit
30
Plusieurs niveaux de sécurité
Vulnérabilité
Entrées/sorties
Protection des Entrées/Sorties, de la
configuration
Protection du Bus, de la mémoire, du
processeur
Configuration
Accélérateur matériel

Vulnérabilité
Accélérateur matériel
La matrice reconfigurable est
sécurisée

Processeur
Mémoire
Matrice reconfigurable
L’ accélérateur matériel est sécurisé

Protection des Entrées/Sorties, de la
configuration
Protection du Bus, de la mémoire, du
processeur
Vulnérabilité
Vulnérabilité
Zone sécurisée
Entrées/sorties
Zone sécurisée
Vulnérabilité
Vulnérabilité
NoC
Accélérateur matériel
Accélérateur matériel
Configuration
Accélérateur matériel
Zone sécurisée
Vulnérabilité
Vulnérabilité
Configuration
Vulnérabilité
Processeur
Mémoire
Matrice reconfigurable
Processeur
Mémoire
Vulnérabilité
Matrice reconfigurable
Vulnérabilité
Vulnérabilité
Vulnérabilité
Entrées/sorties
Accélérateur matériel

Système
Accélérateur matériel
•
Protection des Entrées/Sorties, de la
configuration
Accélérateur matériel

•
Zone sécurisée
Le système est sécurisé
Accélérateur matériel
•
Système
Système
31
Défense en profondeur
Au niveau système

monitoring des traitements du
systèmes pour détecter les attaques
(bus, accélérateur, cœur de
processeur, mémoire), augmenter la
flexibilité et gestion des mises à jour
Battery
Secure Embedded System
Processor
Memory
Power
monitor
Thermal
monitor
Système
Bus
monitor
FPGA
Security
Executive
Processor
Primitive
monitor
I/O
Clock
Security
primitive
•
Clock
monitor
Channel
monitor
•
Au niveau architecturale

•
Au niveau logique

•
implémentation efficace de cœur de
cryptographie, détection de fautes,
augmenter la flexibilité
Logique
protection contre les attaques sur
canaux cachés
Au niveau circuit

Architecture
Physique
résistance au sabotage (package),
capteur, etc.
32
Positionnement des travaux
•
Battery
Secure Embedded System
Processor
Memory
Power
monitor
Thermal
monitor
Système
Bus
monitor
FPGA
Security
Executive
Processor
I/O
Approche
Système/Architecture
Primitive
monitor
Security
primitive
Clock
Clock
monitor
Channel
monitor
Collaborations scientifiques
associées

SecureFPGA – UMASS
•
Architecture

SANES ERE DGA
•

Logique

Entrées/sorties
Physique
Zone sécurisée
Architecture système
sécurisée
Jean Philippe Diguet [2007]
Compression et protection du code
Accélérateur matériel
Accélérateur matériel
Accélérateur matériel
Zone sécurisée
Accélérateur hachage
Sylvain Ducloyer [2007]
Configuration
2006 – 2008
Sécurité et NoC
NoC
Guy Gogniat [2004]
Vulnérabilité
2006 – 2008
SecureNIOS – UMASS
•
Vulnérabilité
2004 – 2005
ICTER ANR
•
Vulnérabilité
2003 – 2004
Protection du bitstream
Lilian Bossuet [2003]
Matrice reconfigurable
Eduardo Wanderley [2007]
Vulnérabilité
Intégrité et confidentialité
Processeur
Romain Vaslin [2008]
Mémoire
Monitoring pour processeur
Tilman Wolf [2006]
Vulnérabilité
Vulnérabilité
Système
33
Intégrité et confidentialité des données
• Les systèmes embarqués utilisent généralement de la mémoire
externe
 Les données et les instructions sont échangées de façon non protégée
sur le bus entre le processeur et la mémoire
•
Menaces



•
Lecture non autorisée des
données
Injection de code ou altération
des données
Piratage de la mémoire
Zone sécurisée
Bus d’adresses
SoC
Bus de données
Mémoire
externe
Objectif

Garantir la confidentialité et l’intégrité des données stockées dans la mémoire
externe et transférées dans la mémoire cache du processeur embarqué
34
Courtesy Reouven Elbaz
Intégrité et confidentialité des données
Zone sécurisée
Zone non sécurisée
Bus d’adresses
•
Mémoire
externe
SoC
Bus de données
Protection des données
en mémoire externe
[Vaslin 2007]


Zone protégée
Zone non protégée
Mémoire
CRC 32
Bloc AES
Sortie AES
Calcul des
Time Stamp
Entrée
AES
Mémoire
Time
Stamp
•
Clef AES
Valeur
aléatoire
Protection contre les
attaques du type

XOR
Mémoire
externe

Solution OTP
étendue
Injection d’une donnée
malveillante
« Splicing »
•

Solution OTP
d’origine
« Spoofing »
•
Générateur
CRC
Ligne de cache chiffrée
Cache de données
Cœur
de processeur
@ ligne
de cache
Ligne de cache en clair
Cache d’instructions
Bloc OTP : requête d’écriture d’une ligne de cache en mémoire
Basé sur l’utilisation d’un
mécanisme de chiffrement
du type OTP
Intégration d’une solution
d’intégrité basée sur un
CRC « chiffré »
Permutation spatiale des
données en mémoire
« Replay »
•
Permutation temporelle
des données sur le bus
35
[Vaslin 2007] R. Vaslin, G. Gogniat, J-P. Diguet, R. Tessier, W. Burleson, High Efficiency Protection Solution for Off-Chip Memory in Embedded Systems, ERSA’07, June 25-28, 2007, Las Vegas, Nevada, USA
Scénario d’exécution
Temps
Requête de lecture d’une
ligne
de cache
en mémoire
Requête
de lecture
d’une
 32 bits
ligne de 8cache
en mémoire
Données présentes à l’entrée
du bloc de déchiffrement
8  32 bits
Déchiffrement
AES 256 bits
(taille d’une ligne de chache)
Données présentes en clair
dans la mémoire cache
•
Temps d’accès à la mémoire
a. Approche classiquement utilisée (AES dans le chemin critique)
6b
its
XOR
25
Temps d’accès à la mémoire
CRC
6b
its
Données présentes à l’entrée
du bloc OTP
8  32 bits
25
Requête de lecture d’une
ligne
de cache
en mémoire
Requête
de lecture
d’une
 32 bits
ligne de 8cache
en mémoire
Déchiffrement
AES 256 bits
(taille d’une ligne de chache)
Plusieurs niveaux de
compromis sécurité vs.
Performance en fonction
de l’environnement

Données présentes en clair
dans la mémoire cache

•
OTP + CRC32

b. Approche OTP étendue (version 256 bits)
s
s
bit
bit
32
Temps d’accès à la mémoire
Déchiffrement
AES 256 bits
(taille d’une ligne de chache)

Données présentes à l’entrée
du bloc OTP
8  32 bits
•
XORCRC D0
XORCRC D1

XORCRC D2
11 cycles pour traiter une
requête en lecture mémoire
Probabilité de collision 2-32
OTP + CRC8

32
Requête de lecture d’une
ligne
de cache
en mémoire
Requête
de lecture
d’une
 32 bits
ligne de 8cache
en mémoire
OTP + CRC32
OTP + CRC8
3 cycles pour traiter une
requête en lecture mémoire
Probabilité de collision 2-8
XORCRC D3
XORCRC D4
XORCRC D5
XORCRC D6
XORCRC D7
c. Approche OTP étendue (version pipelinée 32 bits)
36
Performances
Facteur
d’accélération
•
Référence : solution non protégée
0.92
0.9
0.82
0.71
0.69
+16%
0.55
PE-ICE
•
Inférieure à 10% pour OTP + CRC8
Entre 10% et 30% pour OTP + CRC32
Surcoût temporel inférieur par
rapport aux solutions actuelles
0.52
0.53
0.5
0.5
0.6

AES
0.69
+36%
0.7

OTP + CRC32
0.66
0.89
0.84
0.8
Dégradation des performances par
rapport à une solution non protégée
OTP + CRC8
0.85
0.9
0.92
0.97
1
0.4
0.3
0.2
0.1
0
DES
•
•
ADPCM
Chrystone
Object Tracking
Surcoût mémoire résultant du
stockage des Time Stamps et des
CRC
Proportionnel à la taille du code et
des données

768
776
AEGIS
600
Plus coûteux avec CRC8 que CRC32
car davantage de CRC à mémoriser
PE-ICE
OTP + CRC32
512
AES
0
100
200
300
400
500
600
700
Overhead mémoire
(Koctets)
800
37
Architecture sécurisée pour les systèmes embarqués
•
Battery
Secure Embedded System
Processor
Memory

Power
monitor

Bus
monitor
FPGA
Primitive
monitor
•
I/O
Clock
Security
primitive
Security
Executive
Processor
SAFES (SecurityArchitecture
For Embedded Systems)
[Gogniat 2007]
Clock
monitor
Politique de sécurité dynamique
que vise à adapter le niveau de
sécurité en fonction de la
menace

Channel
monitor
S’appuie sur les propriétés
intrinsèques des architectures
reconfigurables dynamiquement
afin de contrer les attaques
Basé sur l’utilisation de moniteur
qui détectent tout comportement
anormal
La sécurité est coûteuse,
essentiel de la mettre en oeuvre
au bon moment
38
[Gogniat 2007] G. Gogniat,T. Wolf, W. Burleson, J-P. Diguet, L. Bossuet, and R. Vaslin, « Reconfigurable hardware for high-security/high-performance embedded systems: The SAFES perspective », à paraître
dans IEEE TVLSI Special Section on Configurable Computing
Primitive de sécurité – Approche dynamique de la sécurité
•
Battery level
Communication
Channel Quality
Attacks
SSC
Securité
Performance
•
Adaptation en ligne
Accroissement de la
réactivité du système
face aux menaces

System_state
Req
SPC
•
•

Fault
Start
Reset
Done
ArP_Register
Input FSM
AlP_Register
Security
primitive
FPGA
Primitive de sécurité
Output FSM
Datapath

Coeur de la primitive
(fonction
cryptographique)
Contrôleur de
sécurité de la
primitive (SPC)
Contrôleur de
sécurité du système
(SSC)
Quatre implémentations sont considérées pour
l’algorithme AES

Non feedback mode without security (N_FB)
•

Feedback mode without security (FB)
•

Iterative
Feedback mode with fault detection (FB_FD)
•

Pipeline
Parity-based error detection
Feedback mode with fault tolerance (FB_FT)
•
Triple module redundancy technique
39
Surveillance – Moniteur de sécurité
•
Surveillance pour la primitive de sécurité AES

•
Le moniteur Surveille l’activité sur le bus (adresse mémoire)
Plusieurs scénarios peuvent être considérés pour détecter un
comportement anormal


« Counter-based »
« Cross-coupling »
Génération des sous clés
Chiffrement d’un bloc
40
Agenda
• Quelques faits marquants…
• Domaines de recherche et contributions
 Systèmes embarqués (HW/SW codesign)
 Architectures reconfigurables
 Sécurité des systèmes embarqués
• Et demain…
• Enseignement et recherche…
41
Et demain…
Architecture
Virtualisation Architecture « Tera-scale »
MPSoC Adaptatif
RTOS distribué
NoC adaptatif
Adoption SystemC++
Langage
Auto-adaptation
Mutation
Généralisation UML
Profil MARTE
Méta langage
Parallélisme explicite
RTOS distribué
sécurisé
Virtualisation
des plateformes
Auto
reconfiguration
Jeu d’instructions
FPGA orienté Endo reconfiguration
dynamiquement
sécurité
généralisée
reconfigurable
Reconfigurable
4G (1Gbit/s)
Application
Graphique 3D
Intelligence distribuée
Environnement virtuel
Parallelism
Exhibition tool
Security driven
design flow
Compilation en ligne
Auto exploration
Dynamic Computation Pattern Extraction
2007
2008
2009
Pervasive
computing
Bio inspirée
Sécurité
Outils
industriels
Dynamically…
1.
Self test & detect
2.
Isolate errors
3.
Confine
4.
Reconfigure, and
5.
Adapt
[Borkar 2007]
2010
2011
[Borkar 2007] S. Borkar « Thousand Core Chips A Technology Perspective » Intel Corp. June 7, 2007
2012
2013
2014
Synthèse en ligne
2015
2016
2017
2018
2019
42
RTOS sécurisé pour les systèmes embarqués
• Gestion dynamique de la
sécurité au niveau de l’OS
 Mise en place d’une politique
de sécurité afin d’optimiser les
performances
Attack
T1
T3
T5
T2
• Plusieurs niveaux de
sécurité associés aux tâches
T4
Attack
Crypto
Coprocessor
µCos OS
 Solution dédiée à l’embarqué
NIOS Processor
Crypto
Coprocessor
par rapport à AEGIS/XOM…
• Filtrage des zones mémoires
• Politique de sécurité
dynamique ?
Crypto
Coprocessor
Attack
Attack
Crypto
Accelerator
Crypto
Accelerator
Data
Memory
Program
Memory
43
Software Defined Radio
• Reconfiguration dynamique d’un NoC intégré
à une plate-forme radio logicielle compatible SCA
• Abstraction des ressources de communication


Reposer sur une structure de communication flexible et performante
Adapter dynamiquement en fonction des besoins
• Mise en évidence des possibilités d'un NoC afin d'adapter les
performances et les chemins de communications
dynamiquement



Allocation dynamique de « Time-Slot TDMA »
Allocation dynamique de liaisons séries pour des réseaux du type commutation
de paquets
Allocation dynamique de chemins de communication pour des réseaux du type
communication de circuits
• Déterminer le coût induit par la mise en œuvre de couches
d'abstraction

Essentiel afin de garantir la portabilité et l'extensibilité des applications
44
MDA pour systèmes adaptatifs
•
MDA – UML Design flow
Application
Abstract Platform
Functional Level
Architecture


Code generation
Allocation
UML2SystemC
Application
Execution Platform
Functional Level
Architecture
SystemC
(TLM PV)
•
Code generation
Allocation
SystemC
(TLM PV+T)
Application
Detailed
Functional Level
Execution Platform
•
Code generation
Allocation
UML2SystemC
SystemC
(TLM CC)
HW Execution
Platform
SW Execution
Platform
Level
Embedded C
SW
HW
API
wrapper
Level
Code generation
Code generation
UML2Embedded C
UML2VHDL
•
Depuis le niveau fonctionnel
jusqu’au niveau RTL /
« embedded C »
Prise en compte du
caractère dynamique de
l’application et des
supports d’exécution

HW RTL
Unification de l’exploration
Lien entre les mondes
UML/MARTE, TLM et
SystemC
Raffinement progressif de
la solution

UML2SystemC
SW embedded
Flot de conception
MOPCOM
Simulation SystemC multi
niveaux
Applications H264 et
récepteur radiofréquence
VHDL
45
Pervasive computing
•
#Computers
1 Computer / Thousands of citizens
1 Citizen / Thousands of computers
•
Environnement adaptif avec
découverte dynamique de
nouveaux services et
déploiement en ligne
Architecture auto-adaptative


•
Years
1970
1980
1990
2000
2010
2020
Besoin de validation de ce
nouveau paradigme de calcul

mission
statements
Off-line Programming of
Execution behaviour

program
sequence
On-line
behaviour
control
Execute
data in

Execute
data out
(a) a standard processor
data in
Optimisation consommation,
débit, ressources mémoire,
communication…
Efficacité énergétique
Définition d’un simulateur
SystemC permettant d’évaluer
des politiques de déploiement
dynamique
Basé sur des profils des
applications et des plateformes
d’exécution
Prise en compte du caractère
temps réel des systèmes
data out
(b) a self-adaptive processor
46
Agenda
• Quelques faits marquants…
• Domaines de recherche et contributions
 Systèmes embarqués (HW/SW codesign)
 Architectures reconfigurables
 Sécurité des systèmes embarqués
• Et demain…
• Enseignement et recherche…
47
Enseignement et recherche…
• Indissociable
 L’enseignement prépare les futurs chercheurs, ingénieurs, enseignants…
 La recherche source d’inspiration pour l’enseignement
• Besoin de mettre en place une démarche de qualité afin
d’anticiper les évolutions à venir
 Internationalisation, environnement numérique, « project based learning »,
valorisation…
• Mutation de l’enseignement
 Passer d’un mode d’enseignement linéaire où l’étudiant est spectateur à
un mode interactif ou l’étudiant devient acteur
 Favoriser la créativité, développer les forces de proposition, mettre en
place les mécanismes nécessaires à la prise d’autonomie
• Encourager et soutenir l’enseignant dans sa démarche
pédagogique
 Soutenir l’initiative et encourager l’audace
 Nécessité d’innovation et de remise en question
48
Enseignement et recherche…
• Le monde de l’enseignement
et de la recherche est en
pleine mutation
 Osons imaginer de nouvelles
pistes, favorisons les
dynamiques de créations et
encourageons la prise de
risque
49
Contribution au domaine de la conception des
Systèmes Embarqués Reconfigurables
Guy GOGNIAT
Université de Bretagne Sud
Laboratoire LESTER
CNRS FRE 2734
Habilitation à Diriger des Recherches
Lorient, Vendredi 26 octobre 2007
Source: Xcell Journal Issue 58
Téléchargement