Sommaire - projetsynthesecoffrefort

Report
Etude du protocole, de la sécurité
et création d’une
application ZigBee
Projet de Synthèse
M2 SSIC
2010 – 2011
AMBROGI Anthony
THIMONT Jérémy
2
Sommaire
• Les spécifications ZigBee
• La sécurité ZigBee
• Le développement du projet
• Conclusion
3
• Généralités
• Architecture
4
Qu’est-ce que ZigBee ?
Sommaire
• Technologie sans-fil (LP-WPAN)
•
•
•
•
•
•
•
•
•
•
Courte portée
Faible débit
Faible consommation
Faible besoin en mémoire
Grand nombre de noeuds
Protocole standardisé
Fonctionnement sûr
Fonctionnement autonome
Fonctionnement sécurisé
…
Spécifications
> Généralités
Sécurité
Développement
Conclusion
Pendant des
années ET
sans
intervention
5
Qu’est-ce que ZigBee ?
Sommaire
• Comparaisons
Spécifications
> Généralités
Sécurité
Développement
Conclusion
6
Qu’est-ce que ZigBee ?
• Particularités :
Sommaire
• Basé sur la norme IEEE 802.15.4
• Topologie en étoile et point à point
• Deux types d’objets dans un réseau
FFD
RFD
(Full Function Device)
(Reduce Function Device)
Entités complètes
Entités allégées
(pas de mécanisme de routage)
3 rôles possibles : Coordinateurs,
Routeurs, Dispositifs finaux
1 seul rôle possible :
Dispositifs finaux
Communications avec les FFD et
les RFD
Communications avec seulement
les RFD
Alimenté par source non contrainte
énergiquement
Moindre consommation
énergétique et utilisation mémoire
Spécifications
> Généralités
Sécurité
Développement
Conclusion
7
La ZigBee Alliance
Sommaire
• But : standardiser le protocole
Spécifications
> Généralités
Sécurité
Développement
• Créée par 8 entreprises en 1997
• Comprend plus de 200 entreprises
• Membre requis dans un but lucratif
Conclusion
8
La ZigBee Alliance
Sommaire
• De nombreux domaines d’application
Spécifications
> Généralités
Sécurité
Développement
Conclusion
9
Un modèle en couches
Sommaire
• Utilise 4 couches sur les 7 du modèle
OSI : PHY, MAC, NWK et APL.
• Communication grâce aux points
d’accès.
• 2 types de points d’accès:
▫ Un pour les données
▫ Un pour le management
• 2 configurations:
▫ Spécifications IEEE 802.15.4
▫ Directement par la norme
Spécifications
> Architecture
Sécurité
Développement
Conclusion
10
Sommaire
Spécifications
> Architecture
Sécurité
Développement
Conclusion
11
La couche physique (PHY)
• Traduit les trames en bits
• Envoi et réception par transmission
radio
• 3 bandes de fréquences différentes
• 2 couches PHY différentes
• Principales fonctions :
▫ l’activation et la désactivation de la
transmission radio
▫ la communication des canaux
▫ l’évaluation de la qualité du canal
Sommaire
Spécifications
> Architecture
Sécurité
Développement
Conclusion
12
La couche liaison (MAC)
• Utilise le concept de réseau délivrant des
services pour la formation ou la
découverte des réseaux et la possibilité
de le rejoindre
• 2 topologies différentes:
▫ Topologie étoile:
▫ La communication est établie via un
commutateur central qui peut initier, terminer
ou router les communications.
▫ Topologie point à point:
▫ La communication se fait entre tous les nœuds
à portée sans hiérarchie.
Sommaire
Spécifications
> Architecture
Sécurité
Développement
Conclusion
13
La couche liaison (MAC)
Sommaire
• Principales fonctions:
▫ l’accès au canal physique pour les
transferts (CMSA-CA)
▫ l’ordonnancement des données
▫ la délivrance de trames d’acquittement
(ACK)
▫ la garantie de l’intégrité des données
Spécifications
> Architecture
Sécurité
Développement
Conclusion
14
La couche réseau (NWK)
Sommaire
• Transmet les paquets de façon sûre
• Prend en charge le routage et la
topologie
 Topologie maillée (mesh networking)
Spécifications
> Architecture
Sécurité
Développement
Conclusion
15
La couche application (APL)
Sommaire
• Composée de 2 sous-couches :
APS
ZDO
Application Support Sublayer
ZigBee Device Object
Filtre les doublons
Gestion du réseau en local et
vial le médium d’accès
Comprend la signification des
données reçues
Service de découverte d’autres
noeuds
Vérifie si la source est reliée à
l’application
Définit l’état courant de l’objet
Maintient une table de
correspondance
Définit le rôle de l’objet
Spécifications
> Architecture
Sécurité
Développement
Conclusion
16
• Généralités
• Sécurité de la norme 802.15.4
• Sécurité des couches supérieures
17
Principes de sécurité
Sommaire
• Les services de sécurité se chargent
▫ de l’établissement et du transport des
clés,
▫ de la protection des paquets
▫ du management des équipements
Spécifications
Sécurité
> Généralités
Développement
• Chaque couche prend en charge le
mécanisme de sécurité.
Conclusion
18
Principes de sécurité
Sommaire
• Basés sur un modèle, où chaque
couche de la pile de protocoles se fait
mutuellement confiance
• La sécurité des couches PHY et MAC
est aussi assurée par la norme
802.15.4
Spécifications
Sécurité
> Généralités
Développement
Conclusion
19
La sécurité des trames
• 802.15.4 utilise l’algorithme de
cryptage AES avec une clé de 128bits.
▫ préinstallée sur les nœuds,
▫ partagée hors bande (via un autre
canal que celui d’envoi ou de réception
de message),
▫ ou grâce à cette voie.
• Le cryptage permet de cacher le
message mais aussi de valider les
données transmises
Sommaire
Spécifications
Sécurité
> 802.15.4
Développement
Conclusion
20
La sécurité des trames
Sommaire
Spécifications
• 3 champs sont relatifs à la sécurité.
• Différents types de protection
possibles en mettant en place
différents paramètres de contrôle.
Sécurité
> 802.15.4
Développement
Conclusion
21
La sécurité des trames
Sommaire
Spécifications
Sécurité
> 802.15.4
Développement
• Utilisé uniquement dans le cas où l’on
active le bit "Security Enabled" du
champ "Frame Control"
Conclusion
22
La sécurité des trames
Sommaire
Spécifications
Valeur
Signification
(0x00)
Pas de sécurité Pas de cryptage ni d’authentification des
données
(0x01-2-3)
AES-CBC-MAC-32-64-128 mais l’authentification des
données est garantie
(0x04)
AES-CTR Cryptage mais pas d’authentification des
données
(0x05-6-7)
AES-CCM-32-64-128 Cryptage et authentification des
données
Sécurité
> 802.15.4
Développement
Conclusion
23
La sécurité des trames
Sommaire
Spécifications
Sécurité
> 802.15.4
• Permet de mettre en place le genre de
clé qui doit être utilisé
Développement
Conclusion
24
La sécurité des trames
Sommaire
Spécifications
Sécurité
> 802.15.4
Développement
• AES-CCM
▫ "Frame Counter": éviter les attaques par réplications
▫ "Key Control": utilisé par la couche application si la
valeur maximale de "Frame Counter" est atteinte
▫ Authentification pour le MAC sur 4,6 ou 8 octets
Conclusion
25
La sécurité des noeuds
Sommaire
• Chaque émetteur-récepteur possède une
liste de contrôle d’accès
Champ
Utilité
"Address"
Adresse du nœud voisin en
communication
"Security Suite"
Niveau de sécurité associé
pour l’échange des messages
"Key"
Clé de 128 bits utilisé pour
l’algorithme AES
"Last Initial Vector (IV) and
Replay Counter"
Identification de message
Spécifications
Sécurité
> 802.15.4
Développement
Conclusion
26
Les clés de sécurité
Sommaire
• Chiffrement symétrique avec AES
• 3 types de clés
• Link Key
• Partagés par 2 équipements
• Protègent les communications entre les 2
• Network Key
• Partagés par tous les équipements du réseau
• Protègent les communications broadcast
• Master Key
• Partagées par 2 entitées
• Utilisées pour la génération des clés (SKKE)
Spécifications
Sécurité
> Couches
supérieures
Développement
Conclusion
27
Les clés de sécurité
• 3 méthodes de distribution des clés
Sommaire
 La préinstallation
Spécifications
 Le transport
 L’établissement
▫ SKKE (Symmetric-Key Key Establishment)
▫…
Sécurité
> Couches
supérieures
Développement
Conclusion
28
Le protocole d’établissement des
clés symétriques (SKKE)
Sommaire
Mkey
U
Challenge
V
U||QEU
U||V||QEU||QEV
MACData =
U||V || QEU|| QEV
Z=
MAC(Mkey,MACData)
KKeyData =
kdf(Z, 256) = MacKey ||KeyData
KeyData= H(Z||0x02)
MacKey = H(Z||0x01)
Partage d’une clé commune
Spécifications
Challenge
Sécurité
> Couches
supérieures
Développement
Conclusion
29
Le protocole d’établissement des
clés symétriques (SKKE)
Sommaire
V
U
MACData1 =
0x02||V ||U||QEU||QEV
MACData2 =
0x03||V||U||QEU||QEV
MacT ag1 =
MAC(MacKey,MacData1)
MacT ag2 =
MAC(MacKey,MacData2)
MacTag1
ACK + MacTag2
ACK
Confirmation de la clé
Spécifications
Sécurité
> Couches
supérieures
Développement
Conclusion
30
Le Centre de Confiance
Sommaire
• Distribue les clés et contrôle les accès
• 1 par réseau
Spécifications
Fonctions
Identifier et authentifier des équipements qui rejoignent le
réseau
Garder et distribuer les clés réseaux aux équipements qu’il gère
Relier deux nœuds et activer la sécurité entre les équipements
qu’il gère du début à la fin
Sécurité
> Couches
supérieures
Développement
Conclusion
31
Le Centre de Confiance
Sommaire
2 modes de fonctionnement
Commercial: niveau élevé de sécurité
• tous les équipements sont listés avec leurs clés.
• Etablit et maintient les clés et compteurs avec tous les éléments.
• Applique les politiques pour la mise à jour des clés et du contrôle
d’accès
Résidentiel: niveau bas de sécurité.
• Maintien possible de la liste de tous les équipements et partage
seulement la network key qui peut être préconfigurée ou envoyée
par transport non sécurisé.
Spécifications
Sécurité
> Couches
supérieures
Développement
Conclusion
32
La sécurité des messages
Sommaire
• La couche NWK
▫ Donner des fonctionnalités pour assurer les
opérations de la couche MAC et de donner un
service correct pour la couche APL
▫ Utilise la cryptographie AES comme la couche
MAC
▫ utilise le Message Integrity Code pour déterminer
le niveau de sécurité
▫ Les couches supérieures s’occupent d’installer les
clés de sécurité, les compteurs de paquets et les
niveaux de sécurité
Spécifications
Sécurité
> Couches
supérieures
Développement
Conclusion
33
La sécurité des messages
Sommaire
Spécifications
• Frame Counter: n° de trame pour éviter les duplications
• Chaque nœud va garder un compteur de paquets reçus
avec chaque autre nœud dans la Network Information
Base
• Lors de la réception, si le Frame Counter reçu est
inférieur au Frame Count alors on abandonne. Sinon on
met à jour le Frame Count avec "Frame Counter
reçu+1"
Sécurité
> Couches
supérieures
Développement
Conclusion
34
La sécurité des messages
Sommaire
• La sous-couche APS
▫ Donne l’interface entre la couche NWK et APL
▫ Traite les paquets entrants et sortants pour les
envoyer et les recevoir de façon sécurisée
▫ Etablit et gère les clés
▫ Utilise les fonctions de sécurité basées sur la "link
key " ou la "network key" pour sécuriser les trames
émises par la couche APL
▫ Utilise aussi le MIC pour déterminer le niveau de
sécurité
Spécifications
Sécurité
> Couches
supérieures
Développement
Conclusion
35
La sécurité des messages
Services fournis
Sommaire
Etablissement des clés: 2 équipements partagent une "master key" qui
sera utilisée pour la génération de la "link key"
Transport des clés: échange (un minimum sécurisé ou non) des clés
Mise à jour des équipements: un premier équipement prévient un
deuxième qu’un troisième change de statut
Suppression d’équipement: un équipement informe un autre équipement
pour supprimer un équipement connecté au réseau qui ne respecte pas
les principes de sécurité du réseau
Changement de clé: un équipement informe un autre équipement qu’il
devrait passer à un autre réseau actif
Demande de clé: demande la "clé réseau" courante ou la "clé maître" à un
autre équipement
Table de configuration des permissions: stockage des autorisations de
chaque équipement pour réaliser certaines commandes
Spécifications
Sécurité
> Couches
supérieures
Développement
Conclusion
36
Rejoindre un réseau ZigBee
Sommaire
Joint mais non authentifié
Spécifications
Réseau A
Ra
Rb
Réseau B
• La jointure
non sécurisée
via un
routeur
Sécurité
> Couches
supérieures
Développement
Conclusion
37
Rejoindre un réseau ZigBee
Sommaire
Authentifié
Spécifications
Réseau A
Sécurité
> Couches
supérieures
C
Développement
Ra
• L’authentification via le
Centre de Confiance
Conclusion
38
• Contexte
• Vision globale
39
La domotique
Sommaire
• L’ensemble des techniques visant à
intégrer à l’habitat tous les
automatismes en matière de sécurité,
de gestion de l’énergie, de
communication...
• Fonctions permettant d’automatiser
sa maison selon ses besoins et ses
envies
Spécifications
Sécurité
Développement
> Contexte
Conclusion
40
La domotique
Sommaire
Spécifications
Sécurité
Développement
> Contexte
Conclusion
41
L’économie d’énergie
• Enjeu actuel
• Augmentation de la consommation
• Audio-visuel
• Informatique
Sommaire
Spécifications
Sécurité
Développement
> Contexte
Conclusion
• Systèmes en veille :
• 10% de la consommation
• ~ 1 à 2 tranches nucléaires
42
Présentation de ZigBeecolo
Sommaire
• Pas encore un réel un succès,
considéré comme un luxe
• Investissement
▫ Système complet, peu cher, facile
d’utilisation, utile et auquel l’utilisateur peut
avoir confiance
• Automatiser les tâches quotidiennes
▫ Equipements sans fil, sécurisés,
standardisés, à faible coût…
Spécifications
Sécurité
Développement
> Vision
Globale
Conclusion
43
Démarches effectuées
Sommaire
Spécifications
Sécurité
Développement
> Vision
Globale
Conclusion
44
Démarches effectuées
• Première recherche: Choix de l’API
API
Fonctionnalités
Texas Instruments
Connexion via USB. 2 types
d’interfaces
Ember
Connexion via Ethernet.
Améliorations des fonctionnalités
existantes. Prix généralement plus
élevés
Integration Associates
Freescale
Connexion via USB. MAC placé
directement dans le matériel.
Outil de configuration pour construire
facilement un réseau. Gamme de
protocoles ZigBee ainsi que d’autres
Sommaire
Spécifications
Sécurité
Développement
> Vision
Globale
Conclusion
45
Démarches effectuées
• Deuxième recherche: Choix des
composants logiciels et matériels
• Produits Texas Instruments
• CC_DEBUGGER 2530 et IAR EW805
• Produits Cleosys
• Kit de développement: Un coodinateur
central + une télécommande + une prise +
logiciel de programmation
Sommaire
Spécifications
Sécurité
Développement
> Vision
Globale
Conclusion
46
Démarches effectuées
Sommaire
Spécifications
Sécurité
Développement
> Vision
Globale
Conclusion
47
Design réseau
Clé USB
Sommaire
Coordinateur
= FFD
Centre de confiance
Prise
Interrupteur
= Routeur
FFD
= Disp. Terminal
RFD
Réseau de type maillé
▫ Coordinateur portatif
▫ Connections dynamiques entre les
routeurs (prises et clés)
▫ Capacités des connections étendues dans
tout le bâtiment
Spécifications
Sécurité
Développement
> Vision
Globale
Conclusion
48
Design réseau
Sommaire
• Sécurité forte requise
• La domotique ne doit pas être
vulnérable
• Mode commercial
• Réseau surveillé, Jointures contrôlées,
Authentifications mutuelles, Mise à jour
des clés réseaux
• Messages sécurisés à plusieurs couches
Spécifications
Sécurité
Développement
> Vision
Globale
Conclusion
49
Design applicatif
Sommaire
• Application intéragissant avec la clé
• Menu
• Consulter le plan
• Changer les modes
• Sommeil, Absence, Désactivation, …
• Afficher les rapports de consommation
• Changer les paramètres
• Date/Heure, Accès, Luminosité, Alarmes, …
• Gérer le réseau
• Ajouter/Supprimer équipement, …
Spécifications
Sécurité
Développement
> Vision
Globale
Conclusion
50
Design applicatif
• L’interface : point faible du réseau
Sommaire
• Ne doit pas être compromise
• Mot de passe administrateur
• Dès la première configuration
• Pas de mot de passe par défaut
• Restrictions sur les utilisateurs
• Ne disposer que certains accès
• Ne modifier que certains
équipements
• Désignées par
l’administrateur
Spécifications
Sécurité
Développement
> Vision
Globale
Conclusion
51
• Une technologie d’avenir
• Bilan personnel
• Perspectives futures
52
Une technologie complète
Sommaire
•
•
•
•
•
Technologie modulable
Très faible consommation d’énergie
Parfaitement adaptée à la domotique
Confort pour l’utilisateur
Sécurité complète pour chaque couche
Spécifications
Sécurité
Développement
Conclusion
> Technologie
d’avenir
53
Un bilan mitigé
Sommaire
• Travail théorique enrichissant
•
•
•
•
Etude de document et technologie
Développement de l’oeil critique
Naissance et étude d’un projet
Domaines vastes et intéressants
• Pas de mise en place possible
• Pas de réception des
équipements ZigBee
• Aucune pratique
Spécifications
Sécurité
Développement
Conclusion
> Bilan
personnel
54
Des ouvertures possibles
Sommaire
• Esquisse
• Etude assez riche
Spécifications
Sécurité
• Conception de l’application, de la
phase de tests, de l’extensibilité à faire
Développement
Conclusion
> Perspectives
futures
55
Questions

similar documents