Vous êtes sur la page 1sur 160

Moufida Hajjaj – Sécurité Hajjaj

Dr. Moufida des réseaux IoT 1


Moufida Hajjaj – Sécurité des réseaux IoT 2
Introduction
 L'Internet des objets (IoT) représente une révolution de l'Internet qui

peut connecter presque tous les périphériques d'environnement sur

Internet et partager leurs données pour créer de nouveaux services

et applications et améliorer la qualité de vie.

Moufida Hajjaj – Sécurité des réseaux IoT 3


Application de l’IoT

Systèmes - Industrie 4.0


industriels - Armement (drones, avions de chasse)
- Automatisation (centrales nucléaires et électriques)
Transports - Géolocalisation (navires connectés)
intelligents - Sécurité (voitures autonomes)
- Avions (optimisation du temps au sol)
Santé - Dispositifs médicaux dans les hôpitaux (lits, scanners,
connectée appareils de radiologie)
- Télémédecine
Domotique - Surveillance (baby phone, caméras connectées)
- Sécurité (serrures, alarmes)
- Capteurs intelligents
Services - Smart cities (transports publics intelligents)
publics - Bâtiments connectés

Moufida Hajjaj – Sécurité des réseaux IoT 4


Infrastructure d’une solution IoT

1. Envoi des données recueillies de l'objet (thing) à la


passerelle (gateway) à travers un réseau (Bluetooth, WiFi, LoRa,
Sigfox, GSM,...).
2. transmission de données de la passerelle vers le cloud.
3. Retransmission des données vers les applications (mobile, web,...).

Moufida Hajjaj – Sécurité des réseaux IoT 5


Architecture fonctionnelle d’une solution IoT

Moufida Hajjaj – Sécurité des réseaux IoT 6


Technologies clés génériques
 L‘IoT fonctionne avec le support de plusieurs technologies tels que:

 Les réseaux de capteurs sans fil (Wireless Sensor Network,


WSN): Un WSN se compose d‘un nombre de Noeuds-Capteurs
qui ont des fonctionnalités de capturer et traiter/transmettre les
données.

 Cloud Computing : fournit un espace de stockage de données


IoT et offre des services de visualisation, analyse et archivage
des données.

 Big Data : offre des outils d‘analyse avancées pour les données
massives collectées par les objets IoT selon leurs
caractéristiques : volume, vitesse, variabilité (forme de données :
texte, audio, video, image).
Moufida Hajjaj – Sécurité des réseaux IoT 7
Technologies clés génériques
 Les protocoles de communication : sont indispensables pour

assurer la connectivité entre objets et applications. Les

protocoles de communication définissent le format des données,

taille paquets, adressage, routage, etc.

 Les systèmes embarqués : Les objets connectés sont formés

essentiellement des cartes à microcontrôleur intégrant un

microprocesseur, une mémoire et des ports d‘ E/S pour la

connexion des capteurs.

Moufida Hajjaj – Sécurité des réseaux IoT 8


Problématique
 L’IoT apporte des avantages infinis; cependant, il crée plusieurs

défis, notamment en matière de sécurité et de confidentialité.

 Les utilisateurs doivent avoir confiance que les appareils IoT et les

services associés sont sécurisés.

 La sécurité et la vie privée sont les enjeux majeurs liés au

déploiement des objets connectés.

Moufida Hajjaj – Sécurité des réseaux IoT 9


Les récentes attaques IoT
Automobile
Une faille de sécurité révélée par des chercheurs de l’université de
Birmingham a démontré que plus de 100 millions de véhicules du
groupe Volkswagen vendus depuis une vingtaine d’années pouvaient
facilement êtres déverrouillés à distance en piratant la télécommande
de leur clé.
Domotique
Des chercheurs en sécurité ont trouvé dans un chauffage connecté une
faille de sécurité qui permet d’exécuter n’importe quel programme, y
compris des virus, trojans et autres attaques. Si l’utilisateur insère dans
le chauffage une carte SD (qui sert à charger des paramètres), des
pirates pourraient prendre le contrôle du chauffage et le bloquer
totalement à une température prédéfinie, en réclamant à l’utilisateur le
paiement d’une rançon pour débloquer l’appareil.
Moufida Hajjaj – Sécurité des réseaux IoT 10
Les récentes attaques IoT
Internet
• Botnet Mirai, logiciel malveillant capable de transformer des objets IoT
en robots contrôlés à distance.
• Botnet Mirai repose sur la recherche permanente sur Internet des
adresses IP qui correspondent à des objets connectés (IoT). Après
avoir identifié les objets connectés vulnérables, Mirai s’y connectait
pour y installer le logiciel malveillant.
• À l’automne 2016, on découvre en effet que plusieurs botnets Mirai
ont été utilisés pour lancer l’une des plus importantes attaques DDoS
(déni de service distribué). Cette dernière attaque a paralysé pendant
plus d’une dizaine d’heures de nombreux sites et services, tels que
Twitter, PayPal, Netflix, ….
• Mirai reste en 2021 le logiciel malveillant le plus courant dans les
attaques IoT.
Moufida Hajjaj – Sécurité des réseaux IoT 11
Moufida Hajjaj – Sécurité des réseaux IoT 12
Défis de la sécurité de l’IoT
1. L’économie favorise la sécurité faible

Les pressions concurrentielles pour des délais de


commercialisation plus courts et des produits moins
chers incitent de nombreux concepteurs et fabricants
de systèmes IoT à consacrer moins de temps et de
ressources à la sécurité.

Une sécurité forte est coûteuse et elle allonge le


temps nécessaire à la mise sur le marché d’un
produit.

Moufida Hajjaj – Sécurité des réseaux IoT 13


Défis de la sécurité de l’IoT
1. L’économie favorise la sécurité faible

Il n’ y a pas de moyens crédibles permettant aux


fournisseurs de signaler leur niveau de sécurité aux
consommateur, par exemple les labels de confiance,
certifications, …
• Difficile pour les consommateurs de comprendre facilement
la sécurité de différents systèmes IoT;
• Réduction des pressions exercés par les consommateurs
sur les fournisseurs.

La sécurité ne peut pas être un facteur de


différenciation concurrentielle.
Moufida Hajjaj – Sécurité des réseaux IoT 14
Défis de la sécurité de l’IoT
2. La sécurité est difficile, en particulier pour les
nouvelles entreprises

La mise en œuvre d’une sécurité renforcée dans les


systèmes IoT nécessite une expertise;

Les nouveaux acteurs de l’écosystème IoT peuvent


avoir peu d’expérience en matière de sécurité,
• Exemple : un fabricant peut savoir comment rendre un
réfrigérateur sûr pour son usage initial (câblage électrique,
produits chimiques), mais peut ne pas comprendre la
sécurité informatique.

Moufida Hajjaj – Sécurité des réseaux IoT 15


Défis de la sécurité de l’IoT
3. Les systèmes IoT sont complexes et chaque partie
doit être sécurisée

Les périphériques, applications et services IoT


nécessitent des correctifs de sécurité et des mises à
jour pour se protéger contre les vulnérabilités
connues;

La prise en charge des systèmes IoT est une tâche


coûteuse pour les fournisseurs de services IoT.

Moufida Hajjaj – Sécurité des réseaux IoT 16


Défis de la sécurité de l’IoT
4. La connaissance du consommateur de la
sécurité IoT faible

Généralement, les consommateurs ont une


connaissance limitée de la sécurité IoT, ce qui a un
impact sur leur capacité à intégrer dans leurs
habitudes d’achats ou à configurer et maintenir la
sécurité de leurs systèmes IoT.

Moufida Hajjaj – Sécurité des réseaux IoT 17


Défis de la sécurité de l’IoT
5. Les incidents de sécurité peuvent être difficiles
à détecter ou à résoudre pour les utilisateurs;

Dans de nombreux cas, les effets d’un produit ou d’un


service mal sécurisé ne seront pas évidents pour
l’utilisateur.
• Exemple, un réfrigérateur peut continuer à faire du bon
boulot même s’il a été compromis et fait partie d’un botnet
effectuant des attaques DDoS.

Moufida Hajjaj – Sécurité des réseaux IoT 18


Défis de la sécurité de l’IoT
5. Les incidents de sécurité peuvent être difficiles
à détecter ou à résoudre pour les utilisateurs;
Les consommateurs n’ont également pas la capacité
technique ou les interfaces utilisateur, d’implémenter
les correctifs.
Les utilisateurs sont empêchés contractuellement de
mettre à jour ou réparer les systèmes eux-mêmes ou
les faire réparer par des spécialistes indépendants.

Moufida Hajjaj – Sécurité des réseaux IoT 19


Hackers
L'essor de l'IoT a fait des heureux : les cybercriminels.

De plus en plus de hackers s'appuient sur les failles de


sécurité des objets connectés pour créer un botnet et
mener une attaque à grande échelle.

Ne pas transformer votre système IOT en passoire.

Moufida Hajjaj – Sécurité des réseaux IoT 20


Moufida Hajjaj – Sécurité des réseaux IoT 21
Sécurité de l’information
La sécurité de l’information regroupe l’ensemble des
moyens organisationnels, technologiques, humains et
juridiques permettant de gérer les risques et leurs
impacts à l’égard de la disponibilité de l’information, de
sa confidentialité et de son intégrité.

De nombreux défis de l’IoT pourrait s'inscrire dans le


cadre de la triade originale de la sécurité de
l'information.

Moufida Hajjaj – Sécurité des réseaux IoT 22


Services de sécurité

Est-ce que mes Est-ce que mon système


données sont intactes ? fonctionne ?

Cet utilisateur est-il


Qui l'a envoyé / vraiment celui qui
reçu? doit être ?

Confidentialité
Est-ce que mon
système est privé?

Moufida Hajjaj – Sécurité des réseaux IoT 23


Services de sécurité
La confidentialité : Maintien du secret
des informations, protection des données
Interception
contre une divulgation non autorisée. Est-ce privé?

Deux actions possibles :


 contrôler l'accès et le limiter aux seules personnes habilitées.

 Rendre les informations inintelligibles en les chiffrant pour que


des personnes qui les obtiendraient ne puissent pas les utiliser.

utilisation du chiffrement des données (cryptographie)


lors du transfert et du stockage.

Moufida Hajjaj – Sécurité des réseaux IoT 24


Services de sécurité
L’intégrité : les données doivent être
intactes, et ne doivent pas être altérées
Modification
de façon fortuite ou malveillante.
A-t-il été modifié?

 Effet : pendant le stockage, le traitement ou le transfert des


ressources.

 Transfert des données : pas d'altération par les protocoles de


communication.

 contrôles d'intégrité (pas de modification lors


d'écoutes actives).

Moufida Hajjaj – Sécurité des réseaux IoT 25


Services de sécurité
La disponibilité : un système doit
fonctionner sans faille durant les
périodes d’utilisation prévues et garantir Déni de service

l’accès aux services et ressources Vous souhaitez accéder !

installées avec le temps de réponse


attendu.
 Accessibilité : disponibilité + temps de réponse

acceptable.

Objectif : continuité de service.

Moufida Hajjaj – Sécurité des réseaux IoT 26


Services de sécurité
Identification-authentification-autorisation

 L'identification est la première étape dans la


séquence identifier-authentifier-autoriser.
Falsification
Elle lie une identité à un utilisateur. Qui suis-je avec?

 L'authentification, qui se produit juste après identification,


vérifie l'authenticité de l'identité déclarée au stade de
l'identification.
 Après avoir prouvé l'identité lors de l'authentification, les
utilisateurs se voient attribuer un ensemble d'autorisations
(également appelées droits ou privilèges) définissant ce qu'ils
peuvent faire sur le système.
Moufida Hajjaj – Sécurité des réseaux IoT 27
Services de sécurité
La non-répudiation est la capacité de
s'assurer que l'auteur d'un message est Pas
envoyé?
le véritable expéditeur en garantissant revendication

l'authenticité de sa signature numérique. Qui l'a envoyé / reçu?

 Les signatures numériques sont utilisées pour

• s'assurer qu'un message a été signé électroniquement par la

personne qui prétendait signer le document.

• s'assurer qu'une personne ne peut plus tard nier qu'il a fourni la

signature.

Moufida Hajjaj – Sécurité des réseaux IoT 28


Services de sécurité
La Signature numérique

Moufida Hajjaj – Sécurité des réseaux IoT 29


Moufida Hajjaj – Sécurité des réseaux IoT 30
Risque : Menaces et mesures de sécurité
 Vulnérabilité

 Faiblesse d’un système IoT (en termes de conception,


d'installation, de configuration ou d'utilisation du système IoT).
 Exemple: erreur de conception, mauvaise configuration, non
mise à jour des logiciels, erreur utilisateur, ...

Vulnérabilities

Moufida Hajjaj – Sécurité des réseaux IoT 31


Risque : Menaces et mesures de sécurité
 Menace

 Cause potentielle d'un incident, qui pourrait produire des


dommages si la menace est utilisée.
 Exemple: divulgation d'information confidentielle, coupure
d'électricité, ...
Personne malveillant

Menaces
Code malveillant

Moufida Hajjaj – Sécurité des réseaux IoT 32


Risque : Menaces et mesures de sécurité
 Attaque

 Action malveillante visant à porter atteinte à la sécurité. Une


attaque est la réalisation d'une menace, et elle permet
l'exploitation d'une vulnérabilité.

Attaques

Moufida Hajjaj – Sécurité des réseaux IoT 33


Risque : Menaces et mesures de sécurité
 Mesures de sécurité

 Des mesures de sécurité sont mises en œuvre pour contrer une


ou des menaces afin de contrôler ou éliminer les risques.
 Exemple: la mise en œuvre de mots de passe forts, des
mécanismes de contrôle d'accès au sein d'un système
d'exploitation, Anti-virus, Pare-feu, …

Moufida Hajjaj – Sécurité des réseaux IoT 34


Risque : Menaces et mesures de sécurité
 Impact et conséquence

 Si malgré les mesures de sécurité, la menace réussit à


atteindre un actif informationnel vulnérable, alors cette attaque
est réussie.
 Il aura un impact sur sa disponibilité et/ou intégrité et/ou
confidentialité de l’actif.

Cible Impact et
conséquence:
• Indisponibilité
Génère du service,
• perte de
marché ou
Vulnérabilité d'image,…

Moufida Hajjaj – Sécurité des réseaux IoT 35


Risque : Menaces et mesures de sécurité
 Lorsque l’attaque est réussie, le résultat sera:
 Données définitivement perdues ou altérées.
 divulgation non autorisée ou accidentelle
d'informations confidentielles.
 Interruption empêchant le bon fonctionnement du
système;
 Prise de contrôle non autorisé d'une partie du
système.

Moufida Hajjaj – Sécurité des réseaux IoT 36


Surfaces d’attaque d’un système IoT

Moufida Hajjaj – Sécurité des réseaux IoT 37


Les types d’attaques
 Attaque passive  Attaque active

 L'attaquant intercepte la  l’attaquant intercepte la


communication (violation de communication et modifie les
la confidentialité des informations (atteinte à la
échanges). confidentialité et à l'intégrité
des échanges).

Moufida Hajjaj – Sécurité des réseaux IoT 38


Menaces multiples
IP Spoofing (Usurpation d'adresse IP )
 La création de paquets IP en utilisant l'adresse IP d'une autre
personne comme adresse source d'un paquet IP.

195.20.100.254
Moufida Hajjaj – Sécurité des réseaux IoT 39
Menaces multiples
Déni de service (DoS) et DoS distribué (DDoS)
 Mise hors service du système ciblé.

 Cible incapable d'accéder au réseau.

 Utilisé contre un serveur en tant que client.

Une source simple : DoS Des sources multiples : DDoS

Moufida Hajjaj – Sécurité des réseaux IoT 40


Menaces multiples
Sniffing
 Analyse de réseau.

 Capturer les trames circulent en local et afficher les contenus


des entêtes des protocoles sur un réseau, id des users,…

 Simple à mettre en œuvre si l’attaquant a accès au réseau.

Moufida Hajjaj – Sécurité des réseaux IoT 41


Menaces multiples
Attaque de l’homme au milieu (man-in-the-middle, MitM)
 Un client se connecte à un serveur.
 L’ordinateur de l’attaquant prend le contrôle du client.
 L’ordinateur de l’attaquant déconnecte le client du serveur.
 L’ordinateur de l’attaquant poursuit le dialogue avec le serveur.
 Le serveur croit qu’il communique toujours avec le client.

Moufida Hajjaj – Sécurité des réseaux IoT 42


Menaces multiples
Attaque SYN flood
 En inondant un serveur de paquets SYN et en ne répondant pas
(ACK), un attaquant peut facilement saturer les ports disponibles
de la cible.
 Le serveur a du mal à gérer le trafic, ce qui conduit à
l'épuisement de ses ressources (unité centrale et mémoire vive).
 Le serveur ne sera plus en mesure de répondre aux demandes
légitimes des clients, ce qui conduira à un DoS.

Moufida Hajjaj – Sécurité des réseaux IoT 43


Menaces multiples
Attaques sur l'ensemble de l'écosystème IoT
 Capteurs / actionneurs

Moufida Hajjaj – Sécurité des réseaux IoT 44


Menaces multiples
Active
Nom de
But et résultat de l’attaque Menace ou
l’attaque
passive
Disponibilité
- Saturer un serveur ou bloquer le
DoS Intégrité Active
trafic
- Rendre un service non disponible Confidentialité

- Intercepter les communications Intégrité


Man-in-the
entre deux parties pour contrôler Confidentialité Active
Middle
la conversation
- Écouter, modifier ou supprimer des
données
- Vol d’identité
Confidentialité
L’usurpation - Réaliser des actions frauduleuses
Authentification Active
d’identité - Prendre délibérément l’identité d’une
autre personne.
Moufida Hajjaj – Sécurité des réseaux IoT 45
Menaces multiples
Active
Nom de
But et résultat de l’attaque Menace ou
l’attaque
passive
Intégrité
- Epuiser la mémoire et l’énergie des
Flooding Disponibilité Active
nœuds
- Saturer le réseau
- Capturer les trames circulent en local
et afficher les contenus des entêtes Confidentialité
Sniffing Active
des protocoles sur un réseau, id des
users, etc…
- Pouvoir accéder aux informations
Les attaques Physiques
et aux secrets contenus dans la Active
de Logicielles
carte ( code PIN, clé(s) secrète(s)
cartes à
cryptographique(s), etc…)
puces

Moufida Hajjaj – Sécurité des réseaux IoT 46


Menaces à différents niveaux
Attaques sur l'ensemble de l'écosystème IoT
 Capteurs / actionneurs
 Exemple: vider la batterie des stimulateurs cardiaques.
 Communications
 Exemple: intercepter la communication Bluetooth, WiFi,
LoRa,....
 Prise de décision (intégrité des données, etc.)
 Exemple: modification des messages pour modifier le
comportement de la voiture intelligente.
 Confidentialité des informations
 Exemple: jouets intelligents exploités pour écouter les
enfants.

Moufida Hajjaj – Sécurité des réseaux IoT 47


Moufida Hajjaj – Sécurité des réseaux IoT 48
Technique de sécurité: Cryptographie

Introduction

Objectifs de la cryptographie

Vocabulaires

Systèmes de chiffrement

Chiffrement symétrique

Chiffrement asymétrique

Fonctions de hachage

Signature numérique

Moufida Hajjaj – Sécurité des réseaux IoT 49


Introduction

Besoin de dissimuler (cacher) certaines informations


critiques.

Evolution du réseau internet qui est devenu un outil


essentiel de communication.

 Parmi les problèmes de sécurité : Les transactions


faites à travers le réseau peuvent être interceptées.

 Solution, un des mécanismes de la sécurité


réseau : la cryptographie.

Moufida Hajjaj – Sécurité des réseaux IoT 50


Objectifs de la cryptographie

La cryptographie est un outil de base pour mettre en


œuvre la sécurité de l'information

Objectifs de sécurité

Confidentialité

Authentification

Intégrité

Non-répudiation

Atteindre ces objectifs de sécurité en utilisant la


cryptographie.

Moufida Hajjaj – Sécurité des réseaux IoT 51


Vocabulaires

 Texte en clair (plaintext/cleartext) : un message texte, image,


audio, …

 Cryptogramme : message chiffré (texte chiffré).

 Chiffrement (Codage) : C’est la transformation, à l'aide d’un


algorithme et d'une clé de chiffrement, d’un message en clair (ou
texte en clair) en un message incompréhensible dit message
chiffré (texte chiffré).

 Déchiffrement (Décodage) : c’est le processus qui consiste à


retrouver le texte original (texte en clair) d'un message chiffré à
l’aide d’un algorithme et d’une clé de déchiffrement.

Moufida Hajjaj – Sécurité des réseaux IoT 52


Vocabulaires

 Cryptographie : C’est la science visant à créer des


cryptogrammes. Elle désigne l'ensemble des techniques
permettant de chiffrer des messages et donc de les rendre
incompréhensibles.

 Cryptanalyse : C’est la science analysant les cryptogrammes en


vue de les décrypter; Essayer de casser les messages chiffrés en
déployant un ensemble de techniques pour tenter de déchiffrer
les cryptogrammes.

Moufida Hajjaj – Sécurité des réseaux IoT 53


Terminologie

 Chiffrement, déchiffrement et décryptement

Clé de chiffrement Clé de déchiffrement


Texte Texte
en clair en clair
Texte chiffré ou
Chiffrement cryptogramme
Déchiffrement

Décryptement

Texte en clair
et/ou clé

Moufida Hajjaj – Sécurité des réseaux IoT 54


Systèmes de chiffrement

Chiffrement Symétrique (ou Chiffrement à clé

privée ou secrète)

Chiffrement asymétrique (ou Chiffrement à clé

publique)

Moufida Hajjaj – Sécurité des réseaux IoT 55


Moufida Hajjaj – Sécurité des réseaux IoT 56
Chiffrement Symétrique

 Un algorithme de chiffrement symétrique (aussi


appelé chiffrement à clé privée ou chiffrement à clé secrète)
transforme un message en clair P avec une clé secrète K. Le
résultat est un message chiffré C;

 la clé de chiffrement et de déchiffrement sont identiques;

 La clé secrète est connue seulement par les tiers communiquant;

Chiffrement Déchiffrement
Texte en Texte Texte en
clair chiffré clair

Clé Clé partagé Clé

Moufida Hajjaj – Sécurité des réseaux IoT 57


Chiffrement de César

 Le chiffrement de César, également connu sous le nom de


chiffre de substitution, est l'une des formes les plus simples de
chiffrement.

 Un chiffre de substitution où chaque lettre dans le message


original (appelé texte en clair) est remplacée par une lettre
correspondante à un certain nombre de lettres vers le la gauche
ou vers la droite dans l'alphabet.

 De cette façon, un message initialement lisible, se termine par


une forme qui ne peut être comprise d'un simple coup d'œil.

Moufida Hajjaj – Sécurité des réseaux IoT 58


Chiffrement de César : Exemple

 Voici le chiffrement de César d'un message, en utilisant un


décalage à droite de 3.

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

D E F G H I J K L M N O P Q R S T U V W X Y Z A B C

 Texte en clair :

SECRET

 Texte chiffré :

VHFUHW

Moufida Hajjaj – Sécurité des réseaux IoT 59


Chiffrement de César : Exemple

 Cependant Abu Yusuf Al-Kindi découvre aux alentours du

IXème siècle, une méthode très simple permettant de venir à bout du

chiffre de César : l’attaque par analyse des fréquences.

 Cette analyse des fréquences consiste à répertorier toutes les lettres

du texte chiffré et de comparer leur nombre avec le tableau des

fréquences des lettres de la langue correspondante.

Moufida Hajjaj – Sécurité des réseaux IoT 60


Chiffrement de César : Exemple
 Tableau des fréquences des lettres en français

 Ainsi, dans un texte chiffré en français, si une lettre apparaît aux environs des
16%, nous pourrons assimiler cette lettre à un E ; et ainsi de suite avec les
autres lettre du texte chiffré.
Moufida Hajjaj – Sécurité des réseaux IoT 61
Chiffrement de César : Exemple
 Tableau des fréquences des lettres en français
A B C D E F G H I J K L M
7,68 0,8 3,32 3,6 17,76 1,06 1,1 0,64 7,23 0,19 0 5,89 2,72

N O P Q R S T U V W X Y Z
7,61 5,34 3,24 1,34 6,81 8,23 7,3 6,05 1,27 0 0,54 0,21 0,07

 Ainsi, dans un texte chiffré en français, si une lettre apparaît aux


environs des 17%, nous pourrons assimiler cette lettre à un E ; et
ainsi de suite avec les autres lettre du texte chiffré.
 Exemple: considérons le message chiffré suivant :

Segelazew aop qj lnkfap z ajyuyhklazea cnwpqepa


aynepa ykklanwperaiajp

Moufida Hajjaj – Sécurité des réseaux IoT 62


Chiffrement de César : Exemple
 Exemple: considérons le message chiffré suivant :

Segelazew aop qj lnkfap z ajyuyhklazea cnwpqepa


aynepa ykklanwperaiajp
 Il faut donc calculer les fréquences d'apparition de chacune des
lettres du message chiffré afin de les comparer à la répartition
normale des fréquences des lettres en français. On obtient la
répartition des fréquences (en %) suivante pour ce message chiffré :
Lettres A B C D E F G H I J K L M
Occurrences 12 0 1 0 7 1 1 1 1 3 4 4 0
Fréquences 19,4 0 1,6 0 11,3 1,6 1,6 1,6 1,6 4,8 6,5 6,5 0

N O P Q R S T U V W X Y Z Total
4 1 7 2 1 1 0 1 0 3 0 4 3 62
6,5 1,6 11,3 3,2 1,6 1,6 0 1,6 0 4,8 0 6,5 4,8 100

Moufida Hajjaj – Sécurité des réseaux IoT 63


Chiffrement de César : Exemple
 Exemple: considérons le message chiffré suivant :

Segelazew aop qj lnkfap z ajyuyhklazea cnwpqepa


aynepa ykklanwperaiajp
 La lettre A qui est la plus fréquente dans le message chiffré →
représenter la lettre E dans le message clair, car c'est la lettre la plus
courante en français.
 un décalage de 4 lettres puisque l'on a supposé A=E.
 Muni de cette clé, nous pouvons décrypter le reste du message, ce qui
nous donne :

Wikipédia est un projet d'encyclopédie gratuite écrite


coopérativement

Moufida Hajjaj – Sécurité des réseaux IoT 64


Chiffre de Vigénère

 Le chiffre de Vigénère est un exemple de code de substitution


polyalphabétique.

 Un chiffre de substitution polyalphabétique est similaire à une


substitution monoalphabétique, sauf que l'alphabet chiffré est
changé périodiquement tout en chiffrant le message.

 Chiffrement moins vulnérable à la cryptanalyse en utilisant


des fréquences de lettres.

 Blaise Vigénère a développé ce que l'on appelle aujourd'hui le


chiffre Vigénère en 1585. Il a utilisé une table appelée le carré de
Vigénère pour chiffrer les messages.

Moufida Hajjaj – Sécurité des réseaux IoT 65


Chiffre de Vigénère

 Principe de chiffrement

 Pour le mot-clé donné "PREMIER", chiffrer chaque lettre du


message pris dans la colonne à la lettre dans la ligne de mot-clé.

 Les sept premières lettres du message utilisent les alphabets


correspondant aux lignes "P", "R", "E", "M", "I", "E" et "R".
 le code Vigénère avec ce mot-clé est vraiment sept substitutions
César utilisés de façon cyclique.

 La décryptage est effectuée en reculant des colonnes de mots-


clés à la colonne de gauche. Car nous utilisons vraiment sept
alphabets, le cryptage Vigénère est appelé un code
polyalphabétique (beaucoup + alphabets).

Moufida Hajjaj – Sécurité des réseaux IoT 66


Chiffre de Vigénère

Moufida Hajjaj – Sécurité des réseaux IoT 67


Chiffre de Vigénère: Exercice

 Enoncé

 Chiffrer le texte ci-dessous avec le mot clé : Vigénère

 texte : Principe de chiffrement

 Solution

Principe de chif f r e ment

Vigénère Vi génèr e V i gén

 Le texte chiffré est alors :

Kzorpmgi ym il vjw v z u k rg

Moufida Hajjaj – Sécurité des réseaux IoT 68


Chiffre de Vigénère: Exemple

 Pour déchiffrer un message, la ligne est sélectionnée à l'aide de la


première lettre du mot clé.

 Le récepteur localise la première lettre du texte chiffré dans la ligne


sélectionnée.

 La lettre en haut de la colonne qui contient la lettre de texte chiffré est


la première lettre du texte en clair.

 Ajoutez la première lettre du texte en clair à la clé et utilisez-la avec la


prochaine lettre de texte chiffré pour continuer le déchiffrement.

 Texte chiffré: K z o r p m g i y m i l v j w v z u k r g

mot clé: Vigénère Vi génèr e V i gén

Texte en clair: P r i n c i p e de chif f r e ment

Moufida Hajjaj – Sécurité des réseaux IoT 69


Chiffre de Vigénère

 Comparaison des fréquences des lettres d'une fable de la Fontaine


(Le chat, la belette et le petit lapin) chiffrée avec une substitution
monoalphabétique et celles de la même fable chiffrée avec le chiffre
de Vigenère (substitution polyalphabétique):

Substitution simple Chiffre de Vigenère

Moufida Hajjaj – Sécurité des réseaux IoT 70


Chiffrement AES
 AES (Advanced Encryption Standard) est un algorithme de chiffrement
par blocs
 les données sont traitées par blocs de 128 bits pour le texte en clair
et le chiffré.
 Chaque bloc subit une séquence de 4 transformations répétées Nr
fois.
 Suivant la version
 le nombre de tours Nr à effectuer est différent.
 Les clés secrètes ont de longueurs Nk différents.

Version AES 128 AES 192 AES 256


Nr 10 12 14
Nk 4 6 8

Moufida Hajjaj – Sécurité des réseaux IoT 71


Chiffrement AES

 Les données et les clés sont découpées en octets et sont placées


dans deux tables d’état :

 Table d’état du texte : ayant 4 lignes et 4colonnes.

 Table d’état de la clé : ayant 4 lignes et Nk colonnes.

128 bits
128 bits 192 bits
256 bits
𝑎0 𝑎4 𝑎8 𝑎12 𝑘0 𝑘4 𝑘8 𝑘12 𝑘16 𝑘20 𝑘24 𝑘28
𝑎1 𝑎5 𝑎9 𝑎13 𝑘1 𝑘5 𝑘9 𝑘13 𝑘17 𝑘21 𝑘25 𝑘29
𝑎2 𝑎6 𝑎10 𝑎14 𝑘2 𝑘6 𝑘10 𝑘14 𝑘18 𝑘22 𝑘26 𝑘30
𝑎3 𝑎7 𝑎11 𝑎15 𝑘3 𝑘7 𝑘11 𝑘15 𝑘19 𝑘23 𝑘27 𝑘31

Table d’état du texte


𝑊0 𝑊1 𝑊2 𝑊3 𝑊4 𝑊5 𝑊6 𝑊7
Table d’état de la clé

Moufida Hajjaj – Sécurité des réseaux IoT 72


Chiffrement AES

Fonction Génération des clés RoundKeys


 La clé secrète initiale K subit une extension (KeyExpansion) => clé
étendue être présentée sous forme de table ayant 4 lignes et 4(nr+1)
colonnes.
 La clé étendue sera par la suite découpée en sous-clés appelées clés
de rondes (RoundKey) ou clés de tours. La clé de la ième ronde est
(une table ayant 4 lignes et 4 colonnes) constituée des 4 colonnes
[4i,4i+1,4i+2,4i+3] de la table de la clé étendue.

𝑊0 𝑊1 𝑊2 𝑊3 𝑊4 𝑊5 𝑊6 𝑊7 𝑊8 𝑊9 𝑊10 𝑊11 𝑊12 𝑊13 𝑊14 𝑊15 …

Round key 0 Round key 1 Round key 2 Round key 3 …

Moufida Hajjaj – Sécurité des réseaux IoT 73


Chiffrement AES

Chiffrement
 AES chiffrement à clé secrète par blocs de 128 bits

Moufida Hajjaj – Sécurité des réseaux IoT 74


Chiffrement AES
 les blocs de 128 bits sont divisés en 16 sous-blocs de 1 octet (8 bits),
répartis dans des tableaux 4×4.
 Chaque bloc subit une séquence de 4 transformations répétées Nr
fois :
1. Transformation non linéaire d'octets (Subbytes): Chaque octet est
transformé par une fonction de substitution.
2. Décalage de lignes (ShiftRows) : les 3 dernières lignes sont décalées
cycliquement vers la gauche.
3. Brouillage des colonnes (MixColumns) : Chaque colonne est transformée
par combinaisons linéaires des différents éléments de la colonne.
4. Addition de la clé de tour (AddRoundKey) : A chaque tour, une clé de tour
est générée à partir de la clé secrète par un sous-algorithme (dit de
cadencement). Cette clé de tour est ajoutée par un ou exclusif au
dernier bloc obtenu.

Moufida Hajjaj – Sécurité des réseaux IoT 75


Chiffrement AES

Algorithme
Paramètres en entrée : Un tableau State (texte clair), une clé K.
Valeur en sortie : Un tableau State chiffré
KeyExpansion( K, RoundKeys )
AddRoundKey( State, RoundKeys[0] ) // Addition initiale

Pour r = 1 à Nr – 1 Faire
Subbytes(State)
ShiftRows(State)
MixColumns(State)
AddRoundKey( State, RoundKeys[r] )
Fin Pour
// Tour final
Subbytes(State)
ShiftRows(State)
AddRoundKey( State, RoundKeys[Nr] )

Moufida Hajjaj – Sécurité des réseaux IoT 76


Chiffrement AES
1. Fonction SubBytes
 Transformation non linéaire d'octets : Chaque octet est transformé par une
fonction de substitution.

𝑎0 𝑎4 𝑎8 𝑎12 𝑏0 𝑏4 𝑏8 𝑏12
𝑎1 𝑎5 𝑎9 𝑎13 𝑏1 𝑏5 𝑏9 𝑏13
𝑎2 𝑎6 𝑎10 𝑎14 𝑏2 𝑏6 𝑏10 𝑏14
𝑎3 𝑎7 𝑎11 𝑎15 𝑏3 𝑏7 𝑏11 𝑏15

Moufida Hajjaj – Sécurité des réseaux IoT 77


Chiffrement AES

2. Fonction ShiftRows

𝑏0 𝑏4 𝑏8 𝑏12 𝑏0 𝑏4 𝑏8 𝑏12
𝑏1 𝑏5 𝑏9 𝑏13 𝑏5 𝑏9 𝑏13 𝑏1
𝑏2 𝑏6 𝑏10 𝑏14 𝑏10 𝑏14 𝑏2 𝑏6
𝑏3 𝑏7 𝑏11 𝑏15 𝑏15 𝑏3 𝑏7 𝑏11

 On décale de i positions une case J, vers la gauche, i étant compris


entre 0 et 3.
 Ainsi, pour la première ligne il n’y aura pas de décalage (i = 0).
 A la seconde, il y aura un octet de décalage (i = 1).
 A la troisième passe, on décalera de 2 octets (i = 2), et ainsi de suite.

Moufida Hajjaj – Sécurité des réseaux IoT 78


Chiffrement AES

3. Fonction MixColumns
 Brouillage des colonnes : Chaque colonne est transformée par
combinaisons linéaires des différents éléments de la colonne (ce qui
revient à multiplier la matrice 4×4 par une autre matrice 4×4).

𝑏0 𝑏4 𝑏8 𝑏12 𝑐0 𝑐4 𝑐8 𝑐12
𝑏1 𝑏5 𝑏9 𝑏13 𝑐1 𝑐5 𝑐9 𝑐13
𝑏2 𝑏6 𝑏10 𝑏14 𝑐2 𝑐6 𝑐10 𝑐14
𝑏3 𝑏7 𝑏11 𝑏15 𝑐3 𝑐7 𝑐11 𝑐15
 c0   02 03 01 01   b0 
    b 
c 01 02 03 01
c( X )  a( X )  b( X ) mod ( X 4  1)   1     1 
 c2   01 01 02 03   b2 
     
 c3   03 01 01 02   b3 
Moufida Hajjaj – Sécurité des réseaux IoT 79
Chiffrement AES
4. Fonction AddRoundKey
 Addition de la clé secrète: consiste à faire un ou exclusif (XOR) entre les 128
bits des données à chiffrer et les 128 bits de la clé de tour.

𝑐0 𝑐4 𝑐8 𝑐12 𝑘0 𝑘4 𝑘8 𝑘12
𝑐1 𝑐5 𝑐9 𝑐13 𝑘1 𝑘5 𝑘9 𝑘13
𝑐2 𝑐6 𝑐10 𝑐14 𝑘2 𝑘6 𝑘10 𝑘14
𝑐3 𝑐7 𝑐11 𝑐15 𝑘3 𝑘7 𝑘11 𝑘15

𝑑0 𝑑4 𝑑8 𝑑12
𝑑1 𝑑5 𝑑9 𝑑13
𝑑2 𝑑6 𝑑10 𝑑14
𝑑3 𝑑7 𝑑11 𝑑15

Moufida Hajjaj – Sécurité des réseaux IoT 80


Chiffrement AES

Fonction Génération des clés RoundKeys


 La clé secrète initiale K subit une extension (KeyExpansion) => clé
étendue être présentée sous forme de table ayant 4 lignes et 4(nr+1)
colonnes.
 La clé étendue sera par la suite découpée en sous-clés appelées clés
de rondes (RoundKey) ou clés de tours. La clé de la ième ronde est
(une table ayant 4 lignes et 4 colonnes) constituée des 4 colonnes
[4i,4i+1,4i+2,4i+3] de la table de la clé étendue.

𝑊0 𝑊1 𝑊2 𝑊3 𝑊4 𝑊5 𝑊6 𝑊7 𝑊8 𝑊9 𝑊10 𝑊11 𝑊12 𝑊13 𝑊14 𝑊15 …

Round key 0 Round key 1 Round key 2 Round key 3 …

Moufida Hajjaj – Sécurité des réseaux IoT 81


Chiffrement AES

Fonction Génération des clés RoundKeys


 Extension de la clé
 Le calcul de l’expansion de la clé se fait de deux manières
distinctes selon le sous-bloc de la clé concernée.

Moufida Hajjaj – Sécurité des réseaux IoT 82


Chiffrement AES

Fonction Génération des clés RoundKeys


Algorithme de cadencement
Paramètres en entrée : Une clé K de 4 x Nk octets.
Valeur en sortie : Une clé étendue W de 4 x Nb x (Nr + 1) octets
Pour i = 0 à Nk – 1 Faire
W[i] = K[i]
Fin Pour
Pour i = Nk à Nb x (Nr + 1) – 1 Faire
Tmp = W[i - 1]
Si i modulo Nk = 0 Alors
Tmp = SubWord( RotWord( Tmp ) ) + Rcon[i/Nk]
Sinon, Si (Nk > 6) et (i modulo Nk = 4) Alors
Tmp = SubWord( Tmp )
Fin Si
W[i] = W[i - Nk] + Tmp
Fin Pour

Moufida Hajjaj – Sécurité des réseaux IoT 83


Chiffrement AES

Fonction Génération des clés RoundKeys


Algorithme de cadencement
Paramètres en entrée : Une clé K de 4 x Nk octets.
Valeur en sortie : Une clé étendue W de 4 x Nb x (Nr + 1) octets
Pour i = 0 à Nk – 1 Faire
W[i] = K[i]
Fin Pour
Pour i = Nk à Nb x (Nr + 1) – 1 Faire
Tmp = W[i - 1]
Si i modulo Nk = 0 Alors
Tmp = SubWord( RotWord( Tmp ) ) + Rcon[i/Nk]
Sinon, Si (Nk > 6) et (i modulo Nk = 4) Alors
Tmp = SubWord( Tmp )
Fin Si
W[i] = W[i - Nk] + Tmp
Fin Pour

Moufida Hajjaj – Sécurité des réseaux IoT 84


Le problème de l’échange de clés

 Le chiffrement utilisant des algorithmes de clé symétrique a le


problème d’échange de clés.

 Le problème se pose parce que dans la cryptographie à clé


symétrique, les clés doivent être échangées à l'aide d'un canal
sécurisé.

 Tous les moyens de communication électronique sont instables car il


est impossible de garantir que personne ne pourra utiliser les canaux
de communication.

 Le seul moyen sûr d'échanger des clés serait de les échanger


personnellement.

Moufida Hajjaj – Sécurité des réseaux IoT 85


Moufida Hajjaj – Sécurité des réseaux IoT 86
Partage de clés par une échange DH

 Diffie-Hellman (DH) est un protocole cryptographique pour échanger

des clés entre deux parties.

 DH est inventé en 1976 lors d'une collaboration entre Whitfield Diffie

et Martin Hellman

 DH a été la première méthode pratique pour établir un secret partagé

sur un canal de communication non protégé.

Moufida Hajjaj – Sécurité des réseaux IoT 87


Algorithme Diffie – Hellman

 Le protocole Diffie-Hellman peut être utilisé pour échanger des clés

pour un cryptosystème symétrique sur un canal non sécurisé.

 Etapes

 p est un grand nombre premier appelé clé publique.

 s est un nombre compris entre 2 et p-1, appelé base publique.

 Alice choisit un nombre a au hasard dans la plage de 2 à p-2, puis

calcule A = sa mod p et l'envoie à Bob.

 Bob choisit un nombre b au hasard dans la plage de 2 à p-2, puis calcule

B = sb mod p et l'envoie à Alice.

Moufida Hajjaj – Sécurité des réseaux IoT 88


Algorithme Diffie – Hellman

 Récupération des clés

 Alice calcule k = Ba mod p = (sb)a mod p = sba mod p

 Bob calcule k = Ab mod p = (sa)b mod p = sab mod p

A = ga mod p

B = gb mod p

Moufida Hajjaj – Sécurité des réseaux IoT 89


Algorithme Diffie – Hellman

 Récupération des clés

 Alice calcule k = Ba mod p = (sb)a mod p = sba mod p

 Bob calcule k = Ab mod p = (sa)b mod p = sab mod p

 Maintenant, Alice et Bob ont la même clé k et peuvent l’utiliser

dans un cryptosystème symétrique comme DES (Data Encryption

Standard) ou AES (Advanced Encryption Standard). Puisque Alice

connait a et B et Bob connait b et A, les deux peuvent calculer

sab. Mais quelqu'un avec la connaissance de p, s, A et B ne sera

pas capable de calculer la clé k.


Moufida Hajjaj – Sécurité des réseaux IoT 90
Algorithme Diffie – Hellman

 Exemple
 Clé publique p = 79
 Base publique s = 56
 Alice choisit a = 35
 Alice calcule A = sa mod p = (56) 35 mod 79 =
1536671176410377226593671913126918938977388947109059438942
6176 mod 79 = 24
 Bob choisit b = 12
 Bob calcule B = sb mod p = (56) 12 mod 79 = 951166013805414055936
mod 79 = 1
 Alice calcule la clé k = Ba mod p = (1) 35 mod 79 = 1 mod 79 = 1
 Bob calcule la clé k = Ab mod p = (24)12 mod 79 = 36520347436056576
mod 79 = 1

Moufida Hajjaj – Sécurité des réseaux IoT 91


Algorithme Diffie – Hellman
 Attaque « Man in the Middle » :
 Carole intercepte A et envoie à Bob la valeur C en faisant croire
qu’elle est Alice .
 de même, elle intercepte B et envoie à Alice C en faisant croire
qu’elle est Bob.
 elle peut alors intercepter tous les messages échangés entre
Alice et Bob.

A = ga mod p C = gc mod p

C = gc mod p B = gb mod p

Alice Carole Bob


gac mod p gbc mod p
Moufida Hajjaj – Sécurité des réseaux IoT 92
Moufida Hajjaj – Sécurité des réseaux IoT 93
Cryptographie à clé publique

 Les algorithmes de chiffrement asymétrique reposent sur deux clés

distinctes pour la mise en œuvre des phases de chiffrement /

déchiffrement:

 une clé publique qui peut être distribuée ou rendue publique sur

demande.

 une clé privée (secrète) qui correspond à une clé publique

particulière et qui n'est connue que par les entités autorisées.

 Bien que les algorithmes de clé asymétrique soient plus lents en

exécution, ils ont l'avantage d'éliminer le besoin d'échange de clé.


Moufida Hajjaj – Sécurité des réseaux IoT 94
Algorithme RSA

 RSA, Inventé en 1978 par Ron Rivest, Adi Shamir et Leonard

Adleman, est l'algorithme de chiffrement asymétrique le plus utilisé.

 Utilisé principalement pour les signatures numériques.

 Publié sous le titre R Rivest, S Shamir, A Adleman, “ On Digital

Signatures and Public Key Cryptosystems”, Communications of the

ACM, vol 21 n ° 2, pp.120-126, fév. 1978.

 La sécurité repose sur la difficulté de factorisation de grands nombres

composites.

Moufida Hajjaj – Sécurité des réseaux IoT 95


Algorithme RSA

 Méthode

 Alice prend deux nombres premiers très importants, généralement


d'ordre 100 chiffres décimaux. Ces nombres sont p et q.
 Calculer, M et N, tels que
a. M = p * q
b. N = (p-1) * (q-1)
 Alice sélectionne un autre nombre e, qui est relativement premier
à N (c.à.d. PGCD(e,N) =1) .
 Maintenant, elle calcule d telle que e * d mod N = 1.
 Une fois p, q, M, N, e et d sont obtenus, elle publie e et M. Les
autres sont gardés secrets
a. (e, M) est la clé publique
b. d est la clé privée

Moufida Hajjaj – Sécurité des réseaux IoT 96


Algorithme RSA

 Chiffrement et déchiffrement
 Supposons que Bob désire envoyer un message à Alice. Par exemple,
un nombre x dans la gamme de 0 à M-1.

 Bob calcule le texte chiffré comme

y = xe mod M

 Maintenant Alice peut le déchiffrer

x = yd mod M

 Puisque Alice publie e et M, quiconque veut envoyer des messages


cryptés à Alice peut le faire, mais ces messages ne peuvent pas être
déchiffrés sans la connaissance de d. d est gardé secret et seulement
Alice le sait et peut déchiffrer les messages.

Moufida Hajjaj – Sécurité des réseaux IoT 97


Algorithme RSA

 Exemple 1
 Choisissez p et q; p = 7 et q = 11
 Calculez M et N
M = p * q = 7 * 11 = 77
N = (p-1) * (q-1) = 6 * 10 = 60
 Sélectionnez e, e = 17
 Calculez d, d = (60*c+1)/17

Moufida Hajjaj – Sécurité des réseaux IoT 98


Algorithme RSA

 Exemple 1
 e = 17 , N = 60
 Calcule de d
 Algorithme d'Euclide : calcul du PGCD de N = 60 et e = 17
 60 = 3*17+9
 17 = 1*9+8
 9 = 1*8+1
 Formule de Bezout : On remonte les calculs qui ont servi a trouver le PGCD :
 1 = 1*9 + -1*8
 1 = -1*17 + 2*9
 1 = 2*60 + -7*17
 d = 60-7 = 53

Moufida Hajjaj – Sécurité des réseaux IoT 99


Algorithme RSA

 Exemple
 Bob veut envoyer à Alice “HELLO WORLD”
 Représente chaque lettre comme un nombre 00(A) à 25(Z)
 Calcule:
0717 mod 77 = 28,
0417 mod 77 = 16,
…,
0317 mod 77 = 75
 Envoie à Alice : 28 16 44 44 42 38 22 42 19 44 75
 Alice décrypte chaque nombre avec sa clé privée et obtient
"HELLO WORLD".

Moufida Hajjaj – Sécurité des réseaux IoT 100


Algorithme RSA

 Exemple 2
 Choisissez p et q; p = 5 et q = 11
 Calculez M et N
M = p * q = 5 * 11 = 55
N = (p-1) * (q-1) = 4 * 10 = 40
 Sélectionnez e, e = 7
 Calculez d, d = (40*c+1)/7

Moufida Hajjaj – Sécurité des réseaux IoT 101


Algorithme RSA

 Exemple 2
 e = 7 , N = 40
 Calcule de d
 Algorithme d'Euclide : calcul du PGCD de N = 40 et e = 7
 40 = 5*7+5
 7 = 1*5+2
 5 = 2*2+1
 Formule de Bezout : On remonte les calculs qui ont servi a trouver le PGCD :
 1 = 1*5 + -2*2
 1 = -2*17 + 3*5
 1 = 3*40 + -17*7
 d = 40-17 = 23

Moufida Hajjaj – Sécurité des réseaux IoT 102


Algorithme RSA

 Exemple 3
 Choisissez p et q; p = 47 et q = 91
 Calculez M et N
M = p * q = 5 * 11 = 3337
N = (p-1) * (q-1) = 4 * 10 = 3220
 Sélectionnez e, e = 79
 Calculez d, d = (3220*c+1)/79

Moufida Hajjaj – Sécurité des réseaux IoT 103


Algorithme RSA
 Exemple 3
 e = 79 , N = 3220
 Calcule de d
 Algorithme d'Euclide : calcul du PGCD de N = 3220 et e = 79
 3220 = 40*79+60
 79 = 1*60+19
 60 = 3*19+3
 19 = 6*3 + 1
 Formule de Bezout : On remonte les calculs qui ont servi a trouver le PGCD :
 1 = 1*19 + -6*3
 1 = -6*60 + 19*19
 1 = 19*79 + -25*60
 1 = -25*3220 + 1019 * 79
 d = 1019

Moufida Hajjaj – Sécurité des réseaux IoT 104


Moufida Hajjaj – Sécurité des réseaux IoT 105
Fonction de hachage

Une fonction de hachage transforme une donnée quelconque en une


donnée de taille fixée.
 peut être appelé le condensé, haché, somme de contrôle ou empreinte
digitale de message.
 Une fonction de hachage cryptographique a les propriétés suivantes :

 il est facile de calculer h=H(M).


M : Message de taille
 one-way: il est difficile de quelconque
calculer M tel que H(M)=h.
 résistance aux collisions: il H : Fonction de Hachage
est difficile de trouver un autre
message, M', tel que h=H(M) : haché de longueur
fixe
H(M)=H(M').

Moufida Hajjaj – Sécurité des réseaux IoT 106


Contrôle d’intégrité
 En expédiant un message accompagné de son empreinte, il est
possible de garantir l'intégrité de ce message : le destinataire peut
vérifier que le message n'a pas été altéré (intentionnellement ou de
manière accidentelle) durant la communication ou le stockage.

Transmission du document
Document Document

Algorithme de hachage à
Hachage sens unique, résistant aux Hachage
collisions

Empreinte Empreinte calculé

comparaison

Empreinte reçu
Moufida Hajjaj – Sécurité des réseaux IoT 107
Contrôle d’intégrité
 Comment utiliser une fonction de hachage pour vérifier l'intégrité d'un
document numérique ?
 Initialement le code de hachage du document numérique est calculé et
stocké dans un endroit sûre.
 Ultérieurement ce code est recalculé et comparé à celui qui a été stocké.
 Si les deux valeurs sont égales alors le document n'a pas été modifié.
Sinon, le document a subit une modification.

Moufida Hajjaj – Sécurité des réseaux IoT 108


Hachage cryptographique

 Il existe plusieurs fonctions de hachage cryptographique :

 Les fonctions message digest (MD) sont parmi les premières mais

ne sont plus considérées sécuritaires de nos jours car elles ne sont

pas suffisamment élaborées:

 Le fonction MD2 produit un nombre hexadécimal (base 16) à

32 caractères, ce qui équivaut à un nombre binaire (base 2) à

128 bits;

 La fonction MD5 produit aussi un nombre hexadécimal à 32

caractères, ce qui équivaut à un nombre binaire à 128 bits.

Moufida Hajjaj – Sécurité des réseaux IoT 109


Hachage cryptographique

 Il existe plusieurs fonctions de hachage cryptographique :

 Les fonctions secure hash algorithm (SHA) sont plus sécuritaires et

sont les plus utilisés:

 La fonction SHA-1 produit un nombre hexadécimal à 40

caractères (160 bits);

 La fonction SHA-2, comporte les fonctions SHA-256 et SHA-

512 qui produisent des nombres hexadécimal à 64 caractères

( 256 bits) et 64 caractères (512 bits), respectivement.

Moufida Hajjaj – Sécurité des réseaux IoT 110


Hachage cryptographique
Fonction de hachage SHA-2 Fonction de hachage SHA-1

Fonction de hachage MD5

Moufida Hajjaj – Sécurité des réseaux IoT 111


Hachage cryptographique

Le hachage se passe comme suit :


 on effectue un bourrage si nécessaire pour que le message initial
fasse un multiple de 512 bits.

Longueur
du message

Moufida Hajjaj – Sécurité des réseaux IoT 112


Hachage cryptographique

Fonction de hachage SHA-1


 Étape 1 : Ajout des bits de remplissage
[<<<]s est une rotation
pour que longueur soit un multiple de de s bits vers la gauche.
512 bits
 Le message est complété par un bit
à 1 et un certain nombres de bits à
0.
 Étape 2 : Ajout de 64 bits à la fin du
message paddé (rempli).
 Ces bits représentent la longueur du
message avant remplissage.

Moufida Hajjaj – Sécurité des réseaux IoT 113


Hachage cryptographique

Fonction de hachage SHA-1


 Étape 1 : Ajout des bits de remplissage pour que la longueur soit un
multiple de 512 bits
 Le message est complété par un bit à 1 et un certain nombres de
bits à 0.
 Étape 2 : Ajout de 64 bits à la fin du message paddé (rempli).
 Ces bits représentent la longueur du message avant remplissage.
 Étape 3 : Préparer les fonctions de traitement....
 SHA1 requiert 80 fonctions de traitement définies comme suit :
F(t;B,C,D) = (B AND C) OR ((NOT B) AND D) ( 0 <= t <= 19)
F(t;B,C,D) = B XOR C XOR D (20 <= t <= 39)
F(t;B,C,D) = (B ET C) OU (B ET D) OU (C ET D) (40 <= t <=59)
F(t;B,C,D) = B XOR C XOR D (60 <= t <= 79)

Moufida Hajjaj – Sécurité des réseaux IoT 114


Hachage cryptographique

Fonction de hachage SHA-1


 Étape 4 : Préparer les constantes de traitement....
 SHA1 nécessite 80 constantes fixées définis comme suit :
K(t) = 0x5A827999 ( 0 <= t <= 19)
K(t) = 0x6ED9EBA1 (20 <= t <= 39)
K(t) = 0x8F1BBCDC (40 <= t <= 59)
K(t) = 0xCA62C1D6 (60 <= t <= 79)
 Étape 5 : Initialiser les tampons....
 SHA1 nécessite 160 bits ou 5 tampons de mots (32 bits)
H0 = 0x67452301
H1 = 0xEFCDAB89
H2 = 0x98BADCFE
H3 = 0x10325476
H4 = 0xC3D2E1F0

Moufida Hajjaj – Sécurité des réseaux IoT 115


Hachage cryptographique

Fonction de hachage SHA-1


 Étape 6 : Traitement du message en blocs de 512 bits (L blocs
dans le message total)....
 Il s'agit de la tâche principale de l'algorithme SHA1 qui passe
en boucle le message paddé et annexé dans des blocs de 512
bits.
 Entrée et fonctions prédéfinies :
M[1, 2, ..., L] : Blocs du message complété et ajouté;
f(0;B,C,D), f(1,B,C,D), ..., f(79,B,C,D) : 80 Fonctions de traitement;
K(0), K(1), ..., K(79) : 80 constantes fixées de traitement;
H0, H1, H2, H3, H4, H5 : 5 tampons de mots avec valeurs initiales.

Moufida Hajjaj – Sécurité des réseaux IoT 116


Hachage cryptographique

Fonction de hachage SHA-1


 Étape 6 : Pseudo code....
For k from 1 to L do:
(W(0),W(1),...,W(15)) = M[k] /* Diviser M[k] en 16 mots */
For t = 16 to 79 do:
W(t) = (W(t-3) XOR W(t-8) XOR W(t-14) XOR W(t-16)) <<< 1
End For
A = H0, B = H1, C = H2, D = H3, E = H4
For t from 0 to 79 do:
TEMP = A<<<5 + F(t;B,C,D) + E + W(t) + K(t)
E = D, D = C, C = B<<<30, B = A, A = TEMP
End For
H0 = H0 + A, H1 = H1 + B, H2 = H2 + C, H3 = H3 + D, H4 = H4 + E
End For
Output:
H0, H1, H2, H3, H4, H5: Tampons de mots avec le haché final du message.

Moufida Hajjaj – Sécurité des réseaux IoT 117


Hachage cryptographique

 Une fonction de hachage cryptographique transforme un


texte en un nombre prédéterminé, généralement en format
hexadécimal.
 On commence par convertir d’abord chaque élément du
document à « hacher » dans son code ASCII.
 On écrit ensuite ces codes en base 2, avec lesquels on se
crée une matrice de nombres binaires que l’on manipule et
réduit jusqu’à ce qu’on obtienne la taille désirée.
 On réécrit alors les nombres binaires obtenus en format
hexadécimal, ce qui donne la conversion hash finale.

Moufida Hajjaj – Sécurité des réseaux IoT 118


Hachage cryptographique

 Dans ce qui suit, nous allons « hacher » un texte «Ceci est


un exemple de hachage.» à l’aide d’une fonction de
hachage simplifiée.
 Cette fonction aide à bien comprendre comment
fonctionnent les fonctions plus compliquées, par exemple,
SHA-2.

Moufida Hajjaj – Sécurité des réseaux IoT 119


Hachage cryptographique

 Si on aligne les codes ASCII de «Ceci est un exemple de


hachage.» en base 2, en mettant un maximum de 32 bits par
ligne, on obtient le tableau ci-dessous :
No de ligne Lettre et code ascii en base 2
C e c i
1
01000011 01100101 01100011 01101001
e s t
2
00100000 01100101 01110011 01110100
u n
3
00100000 01110101 01101110 00100000
e x e m
4
01100101 01111000 01100101 01101101
p l e
5
01110000 01101100 01100101 00100000
d e h
6
01100100 01100101 00100000 01101000
a c h a
7
01100001 01100011 01101000 01100001
g e .
8
01100111 01100101 00101110
Moufida Hajjaj – Sécurité des réseaux IoT 120
Hachage cryptographique

 Si on aligne les codes ASCII de «Ceci est un exemple de


hachage.» en base 2, en mettant un maximum de 32 bits par
ligne, on obtient le tableau ci-dessous :

01000011 01100101 01100011 01101001


00100000 01100101 01110011 01110100
00100000 01110101 01101110 00100000
01100101 01111000 01100101 01101101
01110000 01101100 01100101 00100000
01100100 01100101 00100000 01101000
01100001 01100011 01101000 01100001
01100111 01100101 00101110

Moufida Hajjaj – Sécurité des réseaux IoT 121


Hachage cryptographique

 Si on aligne les codes ASCII de «Ceci est un exemple de


hachage.» en base 2, en mettant un maximum de 32 bits par
ligne, on obtient le tableau ci-dessous :

01000011011001010110001101101001
00100000011001010111001101110100
00100000011101010110111000100000
01100101011110000110010101101101
01110000011011000110010100100000
01100100011001010010000001101000
01100001011000110110100001100001
011001110110010100101110

Moufida Hajjaj – Sécurité des réseaux IoT 122


Hachage cryptographique

 On ajoute ensuite le nombre 10000000 (un "1" et sept"0") :

01000011011001010110001101101001
00100000011001010111001101110100
00100000011101010110111000100000
01100101011110000110010101101101
01110000011011000110010100100000
01100100011001010010000001101000
01100001011000110110100001100001
01100111011001010010111010000000

Moufida Hajjaj – Sécurité des réseaux IoT 123


Hachage cryptographique

 On rajoute ensuite des zéros de façon à avoir 14 lignes


complètes de 32 bits :
01000011011001010110001101101001
00100000011001010111001101110100
00100000011101010110111000100000
01100101011110000110010101101101
01110000011011000110010100100000
01100100011001010010000001101000
01100001011000110110100001100001
01100111011001010010111010000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000

Moufida Hajjaj – Sécurité des réseaux IoT 124


Hachage cryptographique

 On doit appuyer sur 31 touches afin d'écrire Ceci est un


exemple de hachage., produisant ainsi 31 codes ASCII.
 Lorsqu’on le écrits en nombres binaires à 8 bits, cela
donne 31 X 8 = 248 bits.
 La représentation binaire de 248 est 11111000.
 En ajoutant suffisamment de zéros devant 11111000, on crée les
deux nouvelles lignes de 32 bits suivantes :

00000000000000000000000000000000
00000000000000000000000011111000

 On place ces deux lignes à la fin du bloc de 14 lignes de façon à


créer un bloc de 16 lignes et 32 bits, pour un total de 16 X 32 =
512 bits.

Moufida Hajjaj – Sécurité des réseaux IoT 125


Hachage cryptographique

 Notre bloc final est le suivant :


01000011011001010110001101101001
00100000011001010111001101110100
00100000011101010110111000100000
01100101011110000110010101101101
01110000011011000110010100100000
01100100011001010010000001101000
01100001011000110110100001100001
01100111011001010010111010000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000011111000

Moufida Hajjaj – Sécurité des réseaux IoT 126


Hachage cryptographique

 Afin de réduire notre matrice 16 X 32, on débute par jumeler les lignes
1, 5, 9, et 13 afin d'en extraire une seule ligne avec les fonctions OR,
AND, XOR et Rotation.
 Voici un tableau contenant uniquement les lignes concernées.

Ligne 1 01000011011001010110001101101001
Ligne 5 01110000011011000110010100100000
Ligne 9 00000000000000000000000000000000
Ligne 13 00000000000000000000000000000000

Moufida Hajjaj – Sécurité des réseaux IoT 127


Hachage cryptographique

 Dans le cas présent, nous n'allons utiliser que les fonctions XOR
et Rotation.

Ligne 1 : 01000011011001010110001101101001
Ligne 5 : 01110000011011000110010100100000
Ligne 1 XOR 5 : 00110011000010010000011001001001

a1 : 00110011000010010000011001001001
Ligne 9 : 00000000000000000000000000000000
Ligne 9 XOR a1 : 00110011000010010000011001001001

a2 : 00110011000010010000011001001001
Ligne 13 : 00000000000000000000000000000000
Ligne 13 XOR a2 : 00110011000010010000011001001001

Moufida Hajjaj – Sécurité des réseaux IoT 128


Hachage cryptographique

 Un indice de rotation de 11, nous donne :

aa: 00110011000010010000011001001001
aaa: 01001000001100100100100110011000

Moufida Hajjaj – Sécurité des réseaux IoT 129


Hachage cryptographique

 Ensuite, jumeler les lignes 2, 6, 10, et 14 afin d'en extraire une


seule ligne avec les fonctions OR, AND, XOR et Rotation.
 Voici un tableau contenant uniquement les lignes concernées.

Ligne 2 00100000011001010111001101110100
Ligne 6 01100100011001010010000001101000
Ligne 10 00000000000000000000000000000000
Ligne 14 00000000000000000000000000000000

Moufida Hajjaj – Sécurité des réseaux IoT 130


Hachage cryptographique

 Dans le cas présent, nous n'allons utiliser que les fonctions XOR
et Rotation.

Ligne 2 : 00100000011001010111001101110100
Ligne 6 : 01100100011001010010000001101000
Ligne 2 XOR 6 : 01000100000000000101001100011100

a1 : 01000100000000000101001100011100
Ligne 10 : 00000000000000000000000000000000
Ligne 10 XOR a1
01000100000000000101001100011100
:

a2 : 01000100000000000101001100011100
Ligne 14 : 00000000000000000000000000000000
Ligne 14 XOR a2
01000100000000000101001100011100
:

Moufida Hajjaj – Sécurité des réseaux IoT 131


Hachage cryptographique

 Un indice de rotation de 11, nous donne :

aa: 01000100000000000101001100011100
aaa: 00000010100110001110001000100000

 Même procédure va être fait pour les lignes « 3, 7, 11, et 15 » et


les lignes « 4, 8, et 12 et 16 ». Ce qui donnent:

Lignes 1, 5, 9, 13 : 01001000001100100100100110011000
Lignes 2, 6, 10, 14 : 00000010100110001110001000100000
Lignes 3, 7, 11, 15 : 10110000001100100000101000001000
Lignes 4, 8, 12, 16 : 11101010010110001010100000010000

Moufida Hajjaj – Sécurité des réseaux IoT 132


Hachage cryptographique

 Si on réécrit le résultat de chacune des quatre lignes plus haut en


nombre hexadécimal (base 16), on obtient :

Lignes Base 2 Base 16


Lignes 1, 5, 9, 13 : 01001000001100100100100110011000 48324998
Lignes 2, 6, 10, 14
00000010100110001110001000100000 0298e220
:
Lignes 3, 7, 11, 15 : 10110000001100100000101000001000 b0320a08
Lignes 4, 8, 12, 16 : 11101010010110001010100000010000 ea58a810

 La transformation hash de Ceci est un exemple de


hachage. obtenue à l’aide de notre fonction de hachage donne :

483249980298e220b0320a08ea58a810

Moufida Hajjaj – Sécurité des réseaux IoT 133


Contrôle d’intégrité

Alice Bob
Transmission du message
Message Message

Algorithme de hachage à
Hachage sens unique, résistant aux Hachage
collisions

Empreinte Empreinte calculé

comparaison

Empreinte reçu

Attention: résout l’intégrité… mais pas l’authenticité de


l’émetteur !

Moufida Hajjaj – Sécurité des réseaux IoT 134


Contrôle d’intégrité
 Peut-on simplement envoyer l’empreinte avec le message pour
servir à l'authentification du message ?
 Non, Eve peut modifier le message et recalculer l’empreinte.
Produire M' et
calcule h(M')

Eve

M M’

h (M) h (M)

Alice Bob

 L'utilisation du hachage nécessite une procédure plus appropriée


pour garantir l'intégrité et l’authenticité.
Moufida Hajjaj – Sécurité des réseaux IoT 135
Message Authentication Code
Code d’authentification du message (Message Authentication Code: MAC)

Alice Bob

Transmission du document
Document Document

Clé Clé
Hachage secrète K
Hachage
secrète K

MAC = HK(M) MAC calculé

comparaison

MAC reçu

Moufida Hajjaj – Sécurité des réseaux IoT 136


Message Authentication Code

 L'expéditeur utilise un algorithme MAC, comme HMAC (Hash based-


MAC), saisit le message M et la clé secrète K et produit une valeur
MAC = HK(M).
 Comme pour le hachage, la fonction MAC compresse également une
entrée de longueur arbitraire en une sortie de longueur fixe. La
principale différence entre le hachage et la fonction MAC est que
cette dernière utilise la clé secrète pendant la compression.
 L'expéditeur transmet le MAC avec le message M.
 A la réception du message M et du MAC, le récepteur introduit le
message reçu et la clé secrète partagée K dans l'algorithme MAC et
recalcule la valeur MAC.

Moufida Hajjaj – Sécurité des réseaux IoT 137


Message Authentication Code

 Le récepteur vérifie alors l'égalité du MAC calculé avec le MAC reçu


de l'expéditeur.
 S'ils correspondent, alors le récepteur accepte le message et
s'assure que le message a été envoyé par l'expéditeur prévu.
 Si le MAC calculé ne correspond pas au MAC envoyé par
l'expéditeur, le récepteur ne peut pas déterminer si c'est le
message qui a été altéré ou si c'est l'origine qui a été falsifiée.
Enfin de compte, le récepteur suppose en toute sécurité que le
message n'est pas authentique.

Moufida Hajjaj – Sécurité des réseaux IoT 138


HMAC

 Code d'authentification de message basé sur le hachage.


 Hash-based Message Authentication Code (HMAC).
 Développé par Mihir Bellare, Ran Canetti et Hugo Krawczyk en
1996. Spécifié comme norme Internet RFC2104.
 Utilise une fonction de hachage cryptographique en combinaison
avec une clé secrète.
 Toute fonction de hachage peut être utilisée
 MD5, SHA-1, SHA-2.
 HMAC-MD5, HMAC-SHA1, HMAC-SHA2.
 HMAC-SHA1 et HMAC-MD5 sont utilisés dans les protocoles
IPsec et TLS.

Moufida Hajjaj – Sécurité des réseaux IoT 139


HMAC
 Le schéma consiste en un
emboîtement de deux étapes : un
hachage intérieur et extérieur.
 K+ est la clé étendue K complétée
par des zéros à gauche de sorte que
le résultat ait une longueur de b bits.
 Le résultat intermédiaire du hachage
interne est complété pour augmenter
la complexité du hachage externe.
 Différentes «Clés» sont générées
pour chaque hachage
 Étape 1 : k1 = K+  ipad
 Étape 2 : k2 = K+  opad
 Ipad : une chaîne de 0x36 répétée
 00110110,00110110, . . .,00110110
 Opad : est une chaîne de 0x5C
répétée
 01011100,01011100, . . .,01011100

HMAC(K,M) = H( (K+⊕opad) | H( (K+ ⊕ ipad)| M) )


Moufida Hajjaj – Sécurité des réseaux IoT 140
HMAC
 Schéma simplifié

Moufida Hajjaj – Sécurité des réseaux IoT 141


HMAC

 Code Python
import hashlib;
import hmac;
key="bill"
Message = " Bonjour"
print("HMAC (MD5): "+hmac.new(key.encode(), Message.encode(),
hashlib.md5).hexdigest())
print("HMAC (SHA1): "+hmac.new(key.encode(), Message.encode(),
hashlib.sha1).hexdigest())
print("HMAC (SHA256): "+hmac.new(key.encode(), Message.encode(),
hashlib.sha256).hexdigest())
print("HMAC (SHA512): "+hmac.new(key.encode(), Message.encode(),
hashlib.sha512).hexdigest())
 Résultat
HMAC (MD5): da66a331e9a9d2a9d0a640e4bf9ccdc6
HMAC (SHA1): 47a5ef43ffa9f667a42cb42c7c2be4e68dd73d53
HMAC (SHA256): d003bb56ee27ed34aafea2952b60a3c8b089504cbba5cfb8f296a2777ac34f50
HMAC (SHA512):
3e46f918d888612b414cff03e0402103dc25cc1b8528beabd269b1f0c49413447081f783cc9200262
c0067a9e033b6a9deaa9a15284301e64818b78d072bc02c

Moufida Hajjaj – Sécurité des réseaux IoT 142


Résumé

 Un hachage est utilisé pour garantir l'intégrité des données,


un MAC garantit l'intégrité & l'authentification.
 Un hachage prend une seule entrée - un message - et produit
un condensé de message.
 Un algorithme MAC prend deux entrées - un message et une
clé secrète - et produit un MAC.
 Un algorithme HMAC est simplement un type spécifique
d'algorithme MAC qui utilise un algorithme de hachage en
interne pour générer le MAC.

Moufida Hajjaj – Sécurité des réseaux IoT 143


Signature numérique
Emetteur : Création d'une signature numérique
Message ou
document Empreinte Signature
numérique
Voici le (Généralement 128 bits)

document créé
par Charlotte Py75c%bn 3kJfgf*£$&
3kJfgf*£$&
RSA
SHA, MD5

Générer Chiffrement
le haché asymétrique

Calculer un condensé de
message à l'aide d'une fonction de
hachage.
priv
La clé
privée de
Document Charlotte
signé

Moufida Hajjaj – Sécurité des réseaux IoT 144


Signature numérique
Récepteur : Vérification d'une signature numérique

SHA, MD5
Voici le Message Digest
document Générer Py75c%bn
créé par le haché
Charlotte

3kJfgf*£$&
Document Egaux ??
signé Signature
numérique
RSA

pub déchiffrement Py75c%bn


asymétrique

Clé publique de
Charlotte

Moufida Hajjaj – Sécurité des réseaux IoT 145


Signature numérique

Alice Bob

Transmission du message M
Message M Message M
Fonction de Fonction de
Hachage Hachage
h = H(M) h = H(M)
Chiffrement
avec la Clé privée
d’Alice Empreinte calculé
SE = C(H(M))
comparaison

Empreinte déchiffré
Déchiffrement avec la
Clé publique d’Alice
(Authentification)
Transmission de SE
SE reçu
Moufida Hajjaj – Sécurité des réseaux IoT 146
Signature numérique
1. Alice utilise une fonction de hachage (MD5 ou SHA-1 par exemple)
pour calculer l’empreinte du message (un condensé du message),
2. Alice chiffre l’empreinte avec sa clé privée; l’empreinte chiffrée
constitue la signature numérique du message,
3. Alice envoi à Bob : le message, la signature numérique, le nom de
la fonction de hachage utilisée, sa clé publique.
4. Bob déchiffre la signature avec la clé publique de Alice:
Authentification de Alice,
5. Bob calcule l’empreinte du message provenant de Alice (avec la
même fonction de hachage que celle employée par Alice),
6. Bob compare les 2 empreintes : si elles sont identiques, cela
signifierait que le message est intègre.
La signature électronique permet aussi de garantir que Alice ne peut
pas nier avoir envoyé le message parce qu’il est, a priori, le seul qui
possède la clé privée : Non-Repudiation.

Moufida Hajjaj – Sécurité des réseaux IoT 147


Signature numérique

 Principes de Confidentialité, d’Intégrité, d’Authentification et de


non-répudiation par Chiffrement Asymétrique
 Objectif : Alice souhaite envoyer des données à Bob en
garantissant leurs confidentialités, leurs intégrités, qu'il en est
l'expéditeur (authentification) et il ne peut pas nier avoir envoyé
le message, de même pour Bob.

Moufida Hajjaj – Sécurité des réseaux IoT 148


Signature numérique

Solution :
1. Alice crée une paire de clés asymétriques : il conserve la clé privée et
envoie la clé publique à Bob,
2. Bob crée une paire de clés asymétriques : une clé privée qu'elle
conserve, et une clé publique qu'elle diffuse librement, notamment à
Alice,
3. Alice effectue un condensat de son message en clair puis chiffre ce
condensat avec sa propre clé privé : Signature numérique,
4. Alice chiffre son message avec la clé publique de Bob
(Confidentialité),
5. Alice envoie le message chiffré accompagné du condensat chiffré (la
signature numérique),

Moufida Hajjaj – Sécurité des réseaux IoT 149


Signature numérique

Solution :
6. Bob reçoit le message chiffré de Alice, accompagné de la signature
numérique,
7. Bob déchiffre le message avec sa propre clé privée. À ce stade le
message est lisible mais elle ne peut pas être sûre que Alice en est
l'expéditeur,
8. Bob déchiffre le condensat avec la clé publique de Alice
(Authentification),
9. Bob utilise la même fonction de hachage sur le texte en clair pour
calculer le haché et compare le résultat avec le condensat déchiffré de
Alice. Si les deux condensats correspondent, alors Bob peut avoir la
certitude que le message est intègre.

Moufida Hajjaj – Sécurité des réseaux IoT 150


Résumé

 La Confidentialité est assurée avec les deux systèmes de

chiffrement.

 Le chiffrement Asymétrique permet en plus d’assurer

l’Authentification et la Non-Répudiation.

 L’Intégrité est assurée grâce aux fonctions de hachage.

 La signature électronique permet de garantir

l’Authentification, l’Intégrité (Grâce aux Fonctions de

Hachages) ainsi que la Non-Répudiation.

Moufida Hajjaj – Sécurité des réseaux IoT 151


Moufida Hajjaj – Sécurité des réseaux IoT 152
Introduction

 6LoWPAN est une combinaison de deux protocoles: Internet

Protocol version 6 (IPv6) et Low power Wireless Personal Area

Networks (LoWPAN).

 Il s'agit d'un réseau sans fil simple à faible débit (250kbps).

 Les couches Physique et MAC sont conformes à la norme IEEE

802.15.4.

 Petite taille des paquets (127 octets).

 Faible consommation, fonctionne généralement sur batterie.

 Coût relativement faible.

Moufida Hajjaj – Sécurité des réseaux IoT 153


Sécurité 6LoWPAN

 La sécurité est assurée par une sous-couche, qui est insérée dans la

pile, entre les couches IEEE 802.15.4 et le traitement normal des

paquets.

Application

UDP/TCP

IPv6
6LoWPAN
IEEE 802.15.4 Security sublayer
IEEE 802.15.4 MAC
IEEE 802.15.4 PHY

Moufida Hajjaj – Sécurité des réseaux IoT 154


Sécurité 6LoWPAN

 La sécurité IEEE 802.15.4 est basée sur le chiffrement symétrique

avec AES.

 les clés sont pré-fournies et le cryptage/décryptage AES est effectué

dans le matériel (généralement beaucoup plus efficace que dans le

logiciel).

 Les données utiles (messages en clair) sont divisées en blocs de

taille fixe. Chaque bloc est chiffré/déchiffré via AES.

Moufida Hajjaj – Sécurité des réseaux IoT 155


Sécurité 6LoWPAN

 Différentes configurations sont possibles, qui spécifient les "modes"

de sécurité détaillant la manière dont AES doit être utilisé dans le

détail.

 Il existe trois modes de fonctionnement :

 mode compteur (Counter, CTR)

 mode de chiffrement de bloc chaîné (Cipher Block Chaining,

CBC)

 mode CTR avec CBC (CCM)

Moufida Hajjaj – Sécurité des réseaux IoT 156


Sécurité 6LoWPAN
En-queue
Entête de la trame Données utiles de la trame de la trame

@ Destination @ Source Données CRC

Données chiffrées AES-CTR

Données MAC AES-CBC-MAC

Données chiffrées MAC chiffré AES-CCM

Moufida Hajjaj – Sécurité des réseaux IoT 157


Sécurité 6LoWPAN
 mode compteur (CTR)
 Dans ce mode, pour chaque bloc, les valeurs successives d'un
compteur pré-convenu sont utilisées pour dériver cryptographiquement
un masque de bits spécifique à ce bloc.
 Ce résultat est d'abord chiffré avec la clé symétrique (AES 128), puis
XOR avec le bloc (texte en clair), afin d'obtenir un cryptogramme.
 Le récepteur peut déchiffrer et récupérer le texte en clair parce qu'il
connaît la clé et la valeur de compteur.

Chiffrement AES Chiffrement AES Chiffrement AES

Bloc en clair #0 Bloc en clair #1 Bloc en clair #2

Bloc chiffré #0 Bloc chiffré #1 Bloc chiffré #2

Moufida Hajjaj – Sécurité des réseaux IoT 158


Sécurité 6LoWPAN

 mode de chiffrement de bloc chaîné (CBC)


 Dans ce mode, le texte en clair de chaque bloc est d'abord XOR
avec le texte de chiffrement du bloc précédent, dont le résultat
est ensuite chiffré avec la clé symétrique (AES 128).
 Le cas spécial du premier bloc est XOR avec un vecteur
d'initialisation (IV), soit un vecteur de nombres aléatoires non
secrets.
Bloc en clair #0 Bloc en clair #1 Bloc en clair #2

Chiffrement AES Chiffrement AES Chiffrement AES

Bloc en chiffré #0 Bloc en chiffré #1 MAC

Moufida Hajjaj – Sécurité des réseaux IoT 159


Sécurité 6LoWPAN

 mode CTR avec CBC (CCM)


 Dans ce mode, CTR comme CBC sont utilisés. Pour chaque bloc, CBC
est d'abord calculé sur le message pour obtenir le MAC; le message et
le MAC sont ensuite chiffrés à l'aide de CTR.

IV
Clé CBC AES-CBC-MAC
(Autnetification)
Message
MAC Chiffré
AES-CTR
Message
Clé CTR (Chiffrement)
chiffré
CTR
Message

Moufida Hajjaj – Sécurité des réseaux IoT 160

Vous aimerez peut-être aussi