Gestion de clés PUF pour IoT sécurisé
Gestion de clés PUF pour IoT sécurisé
Université A/MIRA-Bejaia
Faculté des Sciences Exactes
Département d’Informatique
Théme :
2023/2024
Remerciement
Nous remercions en premier lieu DIEU tout puissant de nous avoir donné la patience, la santé
et la volonté pour achever ce travail.
Nos sincères remerciements vont à nos parents, ainsi qu’à nos frères et sœurs, pour leur soutien
moral et leurs encouragements constants.
Nous souhaitons exprimer notre profonde gratitude et nos sincères remerciements à notre
encadrant, M. SADI Mustapha, pour la qualité exceptionnelle de son encadrement, son suivi
attentif, sa disponibilité et ses précieux conseils. Sans votre aide, la réalisation de ce mémoire
n’aurait pas été possible.
Merci infiniment.
Nous tenons à remercier les membres du jury d’avoir accepté d’évaluer, examiner et apporter
leurs précieuses contributions à notre modeste travail.
Nous adressons nos sincères remerciements à tous les professeurs du département informatique,
ainsi qu’à toutes les personnes qui, par leurs conseils et leurs critiques, ont guidé nos réflexions
et ont accepté de nous rencontrer et de répondre à nos questions durant nos recherches.
Enfin nous remercions tous ceux qui ont contribué de loin ou de près à la réalisation de ce
travail.
Dédicace
À mon père
Dans le silence laissé par ton départ, chaque succès que j’atteins est empreint de tristesse, car je
ne peux le partager avec toi. Aujourd’hui, plus que jamais, je sens ta présence à mes côtés. Ce
projet, qui marque la fin de mes études, est un hommage à toi, pour toutes les leçons de
courage et de persévérance que tu m’as inculquées. Chaque battement de cœur me rappelle tes
enseignements, que j’applique avec détermination. Je dédie cette réussite à ta mémoire éternelle,
espérant que, où que tu sois, tu ressentes toute la fierté et l’amour que je porte pour toi.
À ma mère
Chère maman, symbole de courage, de patience et de tendresse. Je ne saurais te rendre le
centième de ce que tu m’as donné. Que Dieu te garde de tout malheur et te
donne une longue vie pour te voir fière de ta fille.
À mes sœurs
Chahrazade, Karima, Ouassila, Souhila, Ouarda, Lynda, Sabrina, Je ne saurais jamais
assez-vous remercier, mes chères sœurs, pour la joie que vous me procurez, pour votre
énergie et votre humour. Merci d’être toujours présentes pour moi.
Sara
Dédicace
Nous exprimons notre reconnaissance et nos louanges à Dieu pour nous avoir donné la capacité
de mener à bien ce travail simple.
Je dédie ce modeste travail en premier lieu à mes parents, dont le soutien constant et les
encouragements ont été essentiels tout au long de mes études.
À toutes les personnes qui ont apporté leur contribution, directe ou indirecte, à la réalisation de
ce projet, je vous adresse mes sincères remerciements.
Yanis
Table des matières
i
3.2 Travaux connexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.3 Contexte de notre travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.4 Criteres de comparaison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.5 Authentification légère et communication sécurisée Adaptées aux appareils IoT . 22
3.5.1 Phase d’inscription . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.5.2 Premier protocole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.5.3 Deuxieme protocole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.5.4 Troisieme protocole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.5.5 Discussion et critique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.6 Protocole d’authentification légère et d’échange de clés basé sur PUF pour IoT . 26
3.7 Protocole d’authentification légère basé sur PUF utilisant la reconnaissance de
motifs secrets pour les dispositifs IoT contraints . . . . . . . . . . . . . . . . . . 27
3.8 Tableau de comparaison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.9 Amélioration du troisiéme protocole de l’article [?] . . . . . . . . . . . . . . . . . 30
3.10 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Chapitre 4. Analyse des performances des protocoles . . . . . . . . . . . . 32
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.2 Définition de l’outil Avispa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.3 Architecture de Avispa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.4 Définition de HLPSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.5 Structuration du HLPSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.6 Vérification du protocole 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.6.1 Scénario du protocole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.6.2 Notations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.6.3 Execution du protocole . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.6.4 Simulation du protocole . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.7 Vérification du protocole amélioré . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.7.1 Code du protocole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.7.2 Notations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.7.3 Execution du protocole . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.7.4 Simulation du protocole . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.8 Vérification du protocole 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.8.1 Scénario du protocole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.8.2 Notations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.8.3 Execution du protocole . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.9 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Conclusion générale . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
ii
Table des figures
iii
Listes des abréviations
iv
OC Objet Connecté
OFMC On-the-fly Model-Checker
PUF Physically Unclonable Function
RFID Radio-Frequency Identification
ROM Read-Only Memory
SATMC The SAT-based Model-Checker
SIEM Security Information and Event Management
SIM Simple Interactive Model
SoC System on a Chip
SPAN Software for Practical Analysis of Networks
SRAM Static Random Access Memory
TIC Technologies de l’Information et de la Communication
T2T Things to things
Wi Fi Wireless Fidelity
XOR EXclusive OR
v
Introduction générale
L’Internet des objets (IoT) est l’un des sujets les plus brûlants et les plus clivants dans le
domaine des technologies de l’information et de la communication (TIC). Cette technologie
offre de nouvelles possibilités d’interaction et de communication entre appareils, systèmes et
utilisateurs en reliant des objets physiques à Internet. Cette connectivité a le potentiel de
transformer notre quotidien en rendant nos environnements plus intelligents et réactifs.
Grâce à l’intégration de capteurs et de capacités de traitement avancées, les objets connectés
peuvent collecter, analyser et partager des données en temps réel, favorisant ainsi le développement
d’applications innovantes qui améliorent la qualité de vie, optimisent les processus industriels et
permettent une gestion plus efficace des ressources. Malgré les défis liés à la confidentialité et à
la sécurité des données, les avantages en termes d’efficacité, de durabilité et de confort font de
l’IoT un moteur clé de la transformation numérique actuelle.
Les PUFs apparaissent comme une solution prometteuse et novatrice pour la sécurité des
appareils IoT. En intégrant ces fonctions dans les dispositifs, chaque appareil devient unique et
authentique, réduisant les risques de fraude et de cyberattaques. L’authentification des dispositifs
est essentielle pour assurer la sécurité et l’intégrité des réseaux IoT.
Notre objectif dans ce travail est la vérification automatique de certains protocoles
d’authentification basés sur ces fonctions pour les appareils IoT en utilisant l’outil de vérification
AVISPA, afin de mettre en évidence leur robustesse ou leurs failles potentielles. Par la suite,
nous proposons une amélioration pour l’un de ces protocoles lorsque la vérification révèle des
faiblesses détectées dans le protocole d’origine.
Notre mémoire est structuré comme suit : Dans le premier chapitre, nous présentons une
vue d’ensemble de l’IoT et l’impact qu’il aura sur notre mode de vie.
Le chapitre suivant est consacré aux fonctions physiquement non clonables et à leur rôle dans la
sécurité de l’Internet des Objets.
Dans le troisième chapitre, nous offrons un aperçu général de divers travaux proposant des
protocoles d’authentification basés sur les PUFs pour les appareils IoT.
Enfin, dans le dernier chapitre, nous introduisons l’outil SPAN/AVISPA et procédons à la
vérification de la sécurité de plusieurs protocoles et nous términons une colclusion générale.
1
Chapitre 1
1.1 Introduction
L’IoT a évolué au-delà de l’engouement initial pour devenir un catalyseur majeur de l’innovation.
Avec des exemples concrets démontrant son impact positif, l’IoT connaît une croissance
significative dans divers marchés. Les entreprises qui ont correctement implémenté l’IoT
ont observé des résultats qui dépassent leurs attentes, avec 88% rapportant un retour sur
investissement positif. Cette tendance souligne l’importance croissante de l’IoT dans notre
société moderne, transformant des objets ordinaires en entités intelligentes à travers une
architecture diversifiée
2
Figure 1.1 – Interaction des objets connectés en utilisant l’internet
[2]
3
Figure 1.2 – Evolution des objets connectés
[5]
4
contrôle des flux d’informations, protégeant les applications des couches supérieures contre
le traitement de données inutiles et préservant la confidentialité des sources de données.
• Couche d’application : La couche d’application de l’IoT s’adresse à divers
domaines, tels que les transports, les bâtiments, les villes intelligentes, l’agriculture,
les chaînes d’approvisionnement, les soins de santé, et le commerce de détail. Elle
permet l’implémentation de solutions intelligentes pour optimiser l’efficacité, la sécurité,
la durabilité et la qualité de vie dans ces secteurs.
• La puce RFID : est une technologie à courte portée largement utilisée pour l’identification
et la géolocalisation grâce à un petit dispositif appelé étiquette ou transpondeur qui peut
être attaché à un objet. Cette dernière est composée d’une puce électronique, d’une antenne
et d’un substrat ou matériau d’encapsulation. La puce électronique stocke les données
tandis que l’antenne transmet et reçoit les données. L’alimentation et la communication
avec une étiquette se fait à travers d’un dispositif qui est appelé lecteur d’étiquette. Sa
portée courte est idéale pour des applications nécessitant une localisation précise et une
récupération rapide d’informations, tout en minimisant les interférences avec d’autres
dispositifs. Ainsi, la puce RFID offre une solution polyvalente et efficace pour diverses
applications.
• Le Bluetooth : technologie à courte portée qui facilite la vie moderne en permettant la
connexion sans fil d’équipements électroniques. Utilisé pour la communication dans les
dispositifs à faible consommation d’énergie et à faible débit de données. Des enceintes
aux montres connectées, il crée des liaisons rapides et fiables, éliminant les contraintes
des câbles. Cette technologie discrète offre une expérience utilisateur fluide, faisant du
Bluetooth un acteur incontournable de notre quotidien numérique.
• Le Wifi : technologie à moyenne portée, sans fil qui permet la transmission de données
5
entre des appareils électroniques via des ondes radio, il permet aux appareils de se connecter
à Internet et de partager des données sans avoir besoin de câbles physiques. Il utilise des
protocoles de communication standardisés, tels que les normes IEEE 802.11, pour assurer
une compatibilité entre les différents équipements.
• Le réseau Low-Power Wide-Area Network (LPWAN) : conçus pour des distances
moyennes à longues, sont des acteurs clés dans des applications comme les compteurs
intelligents et les bornes de recharge pour véhicules électriques. Leur portée étendue et
leur faible consommation d’énergie en font des choix idéaux pour la transmission fiable
d’informations sur de grandes distances. Que ce soit pour surveiller la consommation
d’énergie ou faciliter la recharge des véhicules électriques, les réseaux LPWAN contribuent
à l’efficacité et à la durabilité de nos infrastructures modernes.
• Message Queuing Telemetry Transpor (MQTT) : Le protocole MQTT repose
sur une architecture client-serveur où les capteurs se comportent comme des clients et se
connectent à un serveur appelé broker. Ce protocole est léger et simple à déployer. Il est
couramment utilisé pour la connectivité entre les appareils IoT et les communications M2M.
MQTT facilite la publication de nouvelles données en temps réel sans nécessiter de solliciter
un serveur, offrant ainsi une meilleure réactivité et une optimisation de l’utilisation de la
bande passante.
6
• La santé : Dans le domaine de la santé, l’utilisation de capteurs portables connectés
aux patients permet aux professionnels de santé de surveiller l’état d’un patient en temps
réel ou lorsqu’il est en dehors de l’établissement de soins. Grâce à un suivi progressif de
différents indicateurs et à des alertes automatiques sur leurs signes vitaux, l’IoT contribue
à améliorer les soins aux patients et à éviter les situations dangereuses chez les patients à
risque élevé. De plus, l’intégration de l’IoT dans les lits d’hôpital représente une application
importante de cette technologie dans le secteur de la santé. Cela a conduit à la création
de lits intelligents dotés de capteurs pour surveiller les signes vitaux des patients, tels que
la pression artérielle et la température corporelle [9].
• Ville intelligente : L’IoT facilite la gestion précise et continue des réseaux urbains
essentiels, tels que l’eau, l’électricité et le gaz. Les capteurs intelligents améliorent l’économie
d’eau, la gestion des parkings et la fluidité du trafic, réduisant les embouteillages et les
émissions de CO2 [11].Les technologies IoT optimisent également l’efficacité énergétique,
la gestion des déchets et l’éclairage public, contribuant ainsi à l’amélioration de la qualité
de vie des citoyens.
• Domotique : L’IoT est fréquemment intégré dans les domiciles intelligents afin
d’automatiser et superviser divers équipements à partir d’une interface centralisée, telle que
le téléphone ou le panneau de contrôle. Son objectif principal est d’offrir des fonctionnalités
axées sur le confort, comprenant la possibilité de commander à distance, la gestion
énergétique (optimisation de l’éclairage et du chauffage, entre autres), la sécurité (systèmes
d’alarme), et les aspects liés à la communication (interaction avec des individus externes
via contacts et discussions) [12].
• Agriculture intelligente : La gestion et le contrôle à distance de paramètres agricoles
7
tels que la température, l’humidité, l’irrigation et les microclimats sont facilités par
les technologies de l’IoT. Cela assure une production de qualité et prévient les pertes
financières. Dans les systèmes agricoles intelligents, des capteurs sur les animaux permettent
de surveiller leur comportement et leur santé, optimisant la gestion des cultures et de
l’élevage [12].
• Le Transport : L’IoT, par le biais des véhicules connectés ou autonomes ainsi que des
systèmes de transport et de logistique intelligents, contribue à sauver des vies, à fluidifier
la circulation et à atténuer les impacts environnementaux liés aux véhicules [11].
• Industrie : La technologie IoT permet un suivi intégral des produits, de la production à
la distribution, optimisant ainsi l’efficacité, la production et la sécurité dans les usines.
Elle sert également à surveiller et contrôler les conditions agricoles, améliorant la gestion
des exploitations [13].
8
1.8 Principes fondamentaux de la sécurité des dispositifs
IoT
La sécurité de l’IoT vise à garantir la protection des dispositifs connectés à Internet ainsi
que des réseaux auxquels ils sont liés contre les menaces et les vulnérabilités en détectant et
en surveillant les risques, et en corrigeant les failles de sécurité des appareils susceptibles de
compromettre la sécurité de votre entreprise. En fin d’année 2020, une machine à laver connectée,
par défaut non sécurisée, a été compromise par des pirates informatiques afin d’accéder au
système informatique d’un établissement de santé, exposant ainsi toutes les données des patients.
Les principes fondamentaux de la sécurité des dispositifs IoT incluent [15] [16] :
• Surveillance continue : Mettre en place des systèmes de surveillance pour détecter les
activités suspectes ou les comportements anormaux sur les dispositifs IoT et les réseaux
associés. Cela peut inclure l’utilisation de solutions de détection d’intrusion et de gestion
des événements de sécurité (SIEM).
• Correction des vulnérabilités : Appliquer régulièrement des correctifs de sécurité et
des mises à jour logicielles pour remédier aux vulnérabilités connues. Les fabricants et
les fournisseurs de services IoT doivent également être vigilants dans la fourniture de
correctifs pour leurs dispositifs et logiciels
• Authentification et autorisation : Mettre en œuvre des mécanismes d’authentification
robustes pour garantir que seuls les utilisateurs autorisés peuvent accéder aux dispositifs
IoT et aux données qu’ils collectent. De plus, limiter les privilèges d’accès pour réduire les
risques d’exploitation.
• Chiffrement des données : Utiliser le chiffrement pour protéger les données sensibles
transitant entre les dispositifs IoT et les serveurs, ainsi que pour stocker les données sur les
dispositifs eux-mêmes. Cela garantit que si les données sont interceptées, elles ne peuvent
pas être facilement lues.
• Gestion des accès : Mettre en place des politiques de gestion des accès pour contrôler
qui peut accéder aux dispositifs IoT et aux données qu’ils génèrent. Cela implique la
gestion des identités, l’attribution de rôles et la révocation des droits d’accès lorsque cela
est nécessaire.
9
et la capacité de recevoir et de transmettre des données grâce à des logiciels intégrés et des
capteurs embarqués. La communication entre les objets s’effectue par le biais d’identifications
mutuellement reconnues. Ainsi, un objet doit disposer d’un ou plusieurs identifiants pour être
reconnu par un autre objet et établir une connexion [1].
• Acquisition de données : Les données sont recueillies par le biais de capteurs et/ou
de la technologie RFID12, permettant de suivre et d’identifier les données générées
par l’objet connecté.
• Stockage de données : les données sont généralement stockées dans des centres de
données, mais il est également possible de les stocker localement.
• Analyse des données : Les données stockées dans les centres de données sont
soumises à une analyse.
• Transmission des données : les données captées par les capteurs, les SoC13 (system
on a Chip) ou les dispositifs RFID (identification par radiofréquence) sont transmises
aux centres de données. Après analyse, les données sont acheminées des centres de
données vers les unités de traitement, puis vers les processeurs, les contrôleurs, les
appareils ou les utilisateurs.
• Distribution des résultats : les résultats sont transmis sans altération.
1.10 Conclusion
Ce premier chapitre nous a permis d’explorer en détail le domaine passionnant de lIoT. Nous
avons commencé par définir l’IoT et examiner son évolution, depuis ses débuts modestes jusqu’à
son rôle central dans notre société moderne. Nous avons également examiné les composants
techniques de l’IoT, y compris les capteurs, les réseaux de capteurs, les actionneurs et les
technologies de connectivité.
Ensuite, nous avons exploré les divers domaines d’application de l’IoT, allant de la santé à
l’industrie en passant par les villes intelligentes et la domotique. Nous avons vu comment l’IoT
transforme ces secteurs en offrant des solutions innovantes et connectées pour relever les défis
contemporains.
Enfin, nous avons souligné l’importance de l’IoT dans notre société, tout en reconnaissant
les défis qu’il pose en termes de sécurité, de confidentialité des données et de gestion des volumes
massifs de données.
10
Chapitre 2
2.1 Introduction
Les fonctions physiquement unclonables (PUFs) sont devenues une solution prometteuse pour
garantir la sécurité et l’authentification dans les systèmes IoT en exploitant les caractéristiques
uniques des dispositifs physiques. Leur nature intrinsèquement difficile à cloner ou à reproduire
offre un niveau de sécurité élevé, ce qui les rend essentielles dans la sécurisation des systèmes
embarqués. Parallèlement, l’attrait croissant de la communauté de recherche et de l’industrie
pour les PUFs témoigne de leur adoption généralisée en tant que technologie de sécurité
physique de premier plan. Des entreprises leaders telles que NXP(Next eXPerience), Microsemi,
Intel(Integrated Electronics) et Xilinx ont déjà mis en œuvre cette technologie pour développer
des circuits intégrés sécurisés. Les chercheurs se sont également penchés sur les PUFs pour
développer des protocoles d’authentification légers et sécurisés adaptés aux besoins des
applications IoT.
11
exacte, même en recréant le circuit avec la même technologie, la réponse sera différente [20].
• Les appareils à ressources limitées nécessitent des solutions de sécurité efficaces tout
en maintenant des coûts matériels bas. Dans ce cas, les PUFs ont un coût matériel
nettement inférieur. Cette économie de ressources les rend parfois parfaitement adaptées
aux appareils à ressources limitées, garantissant le bon fonctionnement des systèmes
numériques. Contrairement aux algorithmes cryptographiques traditionnels qui exigent
une grande quantité de portes logiques pour les opérations de base.
• De nombreux dispositifs à ressources limitées sont peu coûteux et dépourvus de sécurité
physique, les rendant ainsi vulnérables aux attaques d’intrusion. Intégrer une sécurité
physique à ces appareils augmenterait leurs coûts. Les PUFs offrent une solution en
permettant d’instaurer une sécurité physique en exploitant le circuit existant de l’appareil,
sans nécessiter l’ajout de nouveaux composants.
• De manière traditionnelle, les clés cryptographiques sont enregistrées dans la mémoire
non volatile des appareils (comme la ROM(Read-Only Memory), le fusible ou
l’EEPROM(Electrically Erasable Programmable Read-Only Memory)). Ces clés sont
principalement utilisées pour l’authentification, ce qui engendre un coût substantiel pour
sécuriser cette mémoire non volatile. Grâce aux PUFs, les clés d’authentification ne sont
plus stockées sur l’appareil, mais sont plutôt créées et extraites dynamiquement à partir
du circuit de l’appareil.
• Les PUFs permettent de créer des circuits uniques, rendant ainsi les appareils
correspondants non clonables. En outre, comme les clés cryptographiques ne sont pas
conservées sur les appareils, ces derniers sont considérés comme incapable d’être violé,
altéré ou compromis d’une manière quelconque.
12
2.4 Conception d’une PUF
La conception d’une PUF est un processus complexe et méthodique. Chaque étape de ce
processus est importante pour garantir que la PUF est unique, fiable et sécurisée. Voici une
explication détaillée des principales étapes impliquées dans la conception d’une PUF [18] :
1. Identification du Désordre Physique
L’objectif est de trouver un désordre physique propre à chaque objet. Lors du processus
de fabrication, des variations inévitables surviennent en raison de facteurs tels que les
tolérances de fabrication, les impuretés des matériaux et les conditions environnementales.
Ces variations, qui sont souvent aléatoires et imprévisibles, créent des différences minimes
dans les dimensions des composants, des irrégularités dans la structure du silicium ou des
variations dans les propriétés électriques des transistors. Ce désordre physique est la base
sur laquelle la PUF sera construite.
2. Mesure et Quantification du Désordre Physique
Après avoir identifié le désordre physique, il est essentiel de le mesurer précisément et de
le quantifier. Cette étape implique l’utilisation de techniques de mesure de haute précision
pour capturer les variations physiques identifiées. Par exemple, des capteurs électroniques
peuvent être utilisés pour mesurer les variations de résistance, de capacité ou de fréquence.
Ces mesures physiques doivent ensuite être transformées en données numériques, comme
convertir les variations de tension en un code binaire. Cette quantification permet de
manipuler et de traiter le désordre physique de manière efficace pour les étapes suivantes.
3. Développement de Modèles Mathématiques et Algorithmiques
L’objectif ici est de créer des modèles robustes pour stocker et utiliser le désordre physique
de manière sécurisée. Les algorithmes développés doivent être capables de générer une
réponse unique à partir des caractéristiques physiques mesurées, tout en étant suffisamment
sensibles pour distinguer les petites différences afin de garantir l’unicité de chaque PUF.
De plus, ces modèles doivent être conçus pour résister aux attaques et ne pas pouvoir être
facilement clonés ou reproduits, assurant ainsi la sécurité de la PUF
4. Évaluation des Performances
Cette évaluation comprend plusieurs aspects. Premièrement, l’unicité : chaque PUF doit
générer une réponse unique ; cela peut être testé en fabriquant plusieurs PUFs et en
comparant leurs réponses. Deuxièmement, la fiabilité : la PUF doit produire la même
réponse à une même question (challenge) à chaque fois que le test est effectué. Enfin, la
résistance aux attaques : il est crucial de tester la PUF contre diverses attaques physiques
et logiques pour s’assurer qu’elle ne peut pas être copiée ou contournée
5. Implémentation Matérielle
C’est la dernière étape dans la conception d’une PUF. Cette étape consiste à implémenter
la PUF de manière effective dans le matériel en exploitant les variations inévitables lors
13
de la fabrication. Par exemple, les différences de fréquence dans les oscillateurs en anneau
ou les variations dans la SRAM(Static Random-Access Memory) peuvent être utilisées
pour générer des réponses uniques.
• Unicité : cette caractéristique mesure la capacité d’une PUF à produire des identifiants
distincts et uniques. Elle est évaluée en comparant les réponses de différents PUFs soumis
au même défi. Idéalement, chaque réponse devrait être unique, ce qui correspondrait à
une valeur de 50% pour cette mesure.
• Fiabilité : la fiabilité d’une PUF se réfère à sa capacité à produire de manière cohérente
la même réponse pour un défi donné, indépendamment des variations environnementales.
Cette propriété est évaluée en mesurant la cohérence des réponses d’un même PUF face
au même défi dans différentes conditions.
• Uniformité : mesure l’imprévisibilité des réponses d’une PUF. Elle est définie comme la
proportion de 0 et de 1 dans les bits de réponse d’une PUF. Dans une réponse véritablement
aléatoire, cette proportion est de 50%.
• Résistance aux manipulations : : mesure la capacité d’une PUF à résister aux tentatives
de falsification. Idéalement, le comportement du PUF devrait changer complètement si sa
conception ou sa structure est modifiée ou "manipulée" de quelque manière que ce soit
par des adversaires.
14
comme les appareils IoT, qui ne peuvent pas supporter les solutions de sécurité
conventionnelles.
• Jetons matériels sécurisés : les PUF peuvent également être intégrés dans des
protocoles cryptographiques assistés par matériel en raison de leurs comportements de
défi/réponse complexes, ce qui les rend naturellement plus résistants aux falsifications que
d’autres jetons reposant sur des informations numériques stockées (comme les cartes à
puce et les dispositifs de mémoire sécurisés).
• Télédétection sécurisée : les circuits PUF réagissent aux fluctuations des paramètres
environnementaux comme la température et la tension d’alimentation, ce qui implique
que leur réponse dépend à la fois des défis reçus et des conditions ambiantes. Cela permet
d’utiliser les PUF comme des capteurs pour détecter les changements dans l’environnement.
15
• PUFs optiques : ces PUFs utilisent les propriétés optiques uniques de matériaux pour
générer des réponses. Par exemple, une lumière laser passant à travers un matériau aléatoire
produit un motif de diffraction unique, utilisé comme réponse. Ils sont particulièrement
adaptés aux applications nécessitant une très haute sécurité [22].
• PUF de Revêtement : ces PUFs utilisent un revêtement aléatoire appliqué sur un circuit
intégré. Ce revêtement contient des particules dispersées de manière aléatoire, créant
une structure unique. Ils sont souvent utilisés pour la protection contre le clonage et la
contrefaçon des dispositifs électroniques [22].
• PUFs de magnétiques : ces PUFs exploitent les variations naturelles dans les propriétés
magnétiques des matériaux. Ils génèrent des réponses en fonction de l’interaction unique
entre un champ magnétique et les imperfections microscopiques du matériau magnétique
[21].
16
qui sont bien maîtrisées et largement disponibles. Les coûts de production peuvent ainsi être plus
faibles, rendant les PUF électriques plus économiques pour des applications à grande échelle. La
standardisation et l’efficacité des procédés de fabrication réduisent les coûts unitaires.
• PUFs arbitres : ces PUFs exploitent les variations intrinsèques de retard dans les
dispositifs pour générer des identités uniques en utilisant les délais de propagation des
signaux dans les circuits logiques. Premier PUF en silicium, il est idéal pour la sécurité
matérielle légère et est couramment utilisé pour l’authentification des dispositifs grâce à
sa capacité à produire des réponses uniques [22] [25].
• PUFs SRAM : ces PUFs tirent parti de l’état de démarrage aléatoire des cellules de
mémoire SRAM pour générer une signature unique à chaque mise sous tension, basée sur
les valeurs aléatoires des cellules. Les SRAM émettent de l’énergie lorsqu’elles changent
d’état, ce qui peut être détecté en analysant la longueur d’onde du laser à l’aide d’un
analyseur de signaux [21] [26].
• Attaque d’usurpation d’identité PUF : un individu malveillant ayant accès à tous les
CRP (réponses physiquement non clonables) d’un appareil peut se faire passer pour cet
appareil légitime et réussir à s’authentifier auprès d’autres appareils utilisant les mêmes
CRP pour l’authentification. Ce type d’attaque pourrait également être réalisé dans une
architecture de type "Thing-to-Thing" (T2T), où les appareils stockent mutuellement les
CRP à des fins d’authentification.
17
l’attaquant se fait passer pour l’appareil légitime et répond correctement au vérificateur.
Cette attaque réussit généralement en raison de deux hypothèses : premièrement, le
nombre de réponses physiquement non clonables (CRP) possibles est trop restreint, et
deuxièmement, le même défi est réutilisé.
18
ou les fuites électromagnétiques. Cette connaissance leur permet de mener des attaques
plus sophistiquées et potentiellement plus destructrices.
2.10 Conclusion
Dans ce chapitre, nous avons présenté les approfondie des PUFs et de leur rôle important
dans la sécurité des systèmes IoT. Nous avons débuté par une introduction aux PUFs, soulignant
leur importance croissante dans l’industrie et la recherche en raison de leurs propriétés uniques
et difficiles à cloner. Après avoir défini les PUFs et exploré les motivations derrière leur adoption,
nous avons détaillé les différentes approches de conception des PUFs ainsi que les métriques
d’évaluation utilisées pour mesurer leur performance et leur fiabilité. Nous avons également
examiné les diverses applications des PUFs dans le domaine de la sécurité, en particulier pour
l’authentification à faible coût, et distingué les différents types de PUFs, en mettant en évidence
ceux nécessitant des processus de fabrication spéciaux et ceux basés sur le silicium. Enfin, nous
avons abordé les vulnérabilités potentielles des PUFs et les types d’attaques auxquelles elles
peuvent être exposés, en identifiant les adversaires potentiels.
19
Chapitre 3
3.1 Introduction
Un protocole cryptographique est essentiellement un programme utilisant des primitives
comme le chiffrement pour garantir des propriétés telles que le secret et l’authentification. Malgré
sa simplicité apparente, la conception de tels protocoles est intrinsèquement complexe et sujette
à de nombreuses erreurs [27]. Dans ce chapitre , nous explorons plusieurs protocoles innovants
d’authentification pour les appareils IoT, basés sur les PUFs. Ces solutions sont conçues pour
renforcer la sécurité et répondre à des critères exigeants tels que l’efficacité énergétique et la
résistance aux attaques physiques, tout en exploitant les caractéristiques physiques uniques des
PUF pour assurer la robustesse des systèmes IoT.
20
à décalage à rétroaction linéaire (LFSR) et l’opérateur XOR pour garantir une communication
sécurisée et protéger contre les tentatives de manipulation. Les auteurs ont analysé la sécurité
du protocole et l’ont vérifiée en utilisant l’outil Proverif.
Les auteurs de cet article [30] ont proposé un protocole d’authentification léger pour les
appareils IoT. Le protocole repose sur un circuit PUF robuste du côté de l’appareil contraint et
un modèle PUF logiciel du côté de l’appareil non contraint. Les points d’accès sont définitivement
désactivés après la création du modèle logiciel afin d’empêcher les attaques ciblant les points
de mesure pour collecter les données défi-réponse. Le protocole n’utilise pas d’opérations
cryptographiques pour éviter d’augmenter la taille d’implémentation matérielle, ce qui pourrait
ne pas convenir aux petits appareils. Malgré cela, le protocole assure une protection contre
les attaques de modélisation. Il garantit également l’échange de messages secrets authentifiés
entre les parties de confiance. Au lieu d’utiliser des fonctions cryptographiques ou de hachage,
le protocole utilise des fonctions de transformation non corrélées pour garantir l’intégrité des
messages et maintenir une faible taille d’implémentation matérielle. La sécurité du protocole
proposé a été testée contre les attaques de modélisation, démontrant ainsi sa résilience.
21
ce qui peut la rendre plus efficace et plus facile à gérer [32].
• L’autorité AA sélectionne une paire clé défi-réponse (C, R) et transmet le défi C accompagné
d’un "nonce" fraîchement généré N à l’appareil D1.
• À réception du message, l’appareil D1 génère une réponse R’=PUF(C), puis l’associe au
nonce N. Ensuite, D1 chiffre l’ensemble R’||N avec la clé publique de l’autorité PKAA
(Public Key Authentication autorité), créant ainsi CR = EPKAA(R’||N), qu’il envoie
ensuite à AA.
• AA décrypte le message, vérifie si la réponse R’ reçue correspond à la réponse R stockée
dans sa base de données, et s’assure que le nonce reçu est identique à celui envoyé.
22
Figure 3.1 – Diagramme du premier protocole
23
Figure 3.2 – Diagramme du deuxiéme protocole
24
• Chaque appareil calcule le hash du composant aléatoire de l’autre appareil en utilisant un
XOR de r avec le hash de son propre composant aléatoire : Hash(rD2) = Hash(rD1) xor r.
• Enfin, chaque appareil calcule la clé partagée K à l’aide de la fonction de dérivation de clé
(KDF) sur les hash de rD1 et rD2 combinés : K = KDF(Hash(rD1) || Hash(rD2)).
25
3.6 Protocole d’authentification légère et d’échange de clés
basé sur PUF pour IoT
Les auteurs de cet article ont présenté un protocole léger d’authentification que nous
appellerons protocole 4 pour les dispositifs IoT utilisant les PUF. Dans la phase d’inscription,
le serveur génère un défi Ci qu’il envoie au nœud. Ensuite, ce nœud crée une réponse Ri qu’il
renvoie au serveur. Le serveur stocke la paire de clés Ci-Ri avec l’ID du nœud, ce qui signifie
qu’une seule paire de clés est stockée auprès du serveur.
Dans la phase d’authentification de ce protocole, le nœud envoie son ID au serveur, qui
recherche dans sa base de données la paire Ci-Ri précédemment stockée. Ensuite, il génère un
nonce et le masque en le concaténant avec Ri à l’aide de l’opérateur XOR :
Mnode ← Ri XOR nonce. Ensuite, il calcule le hachage du défi Ci concaténé avec Ri et le nonce :
Hnode ← hash(Ci|| Ri||nonce), Ensuite, il génère une séquence de bits pseudo-aléatoires en
utilisant le registre à décalage LFSR, qui prend en entrée le nonce. Il envoie alors le défi Ci, le
hachage Hnode et le message Mnode au nœud.
Le nœud, après avoir reçu le défi Ci, utilise sa fonction PUF pour générer la réponse Ri :
Ri = PUF(Ci). Ensuite, il calcule le nonce en effectuant un XOR entre la réponse générée et le
message Mnode reçu : nonce ← Ri XOR Mnode, et vérifie le Hnode. Ensuite, il met à jour son
défi en le remplaçant par le nonce collecté et calcule une réponse à ce nouveau défi :
Ri+1 ← PUF(Ci+1). Le nœud IoT améliore le nonce en nonce’ en le passant dans un registre à
décalage à rétroaction linéaire (LFSR), puis il calcule le message Mserver en effectuant un XOR
entre la réponse calculée et nonce’, et calcule le hachage du défi Ci+1 concaténé avec la réponse
Ri+1 et nonce’, et envoie au serveur le Mserver et le Hserver.
À la réception du message par le serveur, il calcule Ri+1 en effectuant un XOR entre le
Mserver reçu et nonce’ précédemment calculé, puis vérifie le Hserver. Ensuite, il met à jour le
défi stocké dans la base de données en le remplaçant par nonce’ et stocke cette nouvelle paire
de clés (Ci+1,Ri+1). De cette manière, il garantit une authentification mutuelle entre les deux
entités.
26
Figure 3.4 – Diagramme du protocole
[29]
Discussion et critique
Les auteurs ont proposé un protocole qui assure une authentification mutuelle
entre un nœud et un serveur, renforçant ainsi la sécurité contre les attaques de
l’homme du milieu. L’utilisation de "nonces"et l’utilisation de fonctions de hachage
contribuent à la robustesse du protocole. Dans ce protocole, le serveur stocke une
seule paire de défis-réponses pour chaque nœud, et lors de la mise à jour des paires,
l’ancienne paire est remplacée par la nouvelle. Cela réduit la charge du serveur,
même avec l’augmentation du nombre d’appareils, car il n’a à stocker qu’une seule
paire par nœud, ce qui permet des recherches et des temps de réponse rapides.
Toutefois, les diverses fonctions utilisées dans ce protocole, ainsi que les opérations
et communications qu’il implique, peuvent entraîner une consommation d’énergie
élevée, ce qui peut poser des problèmes pour les appareils disposant de ressources
énergétiques limitées.
27
appareil est associé à un ensemble de schémas secrets de "g". Au début de chaque
session d’authentification, un schéma de "g" est sélectionné au hasard parmi cet
ensemble et reste confidentiel pour toutes les parties. Chaque appareil doit utiliser
au moins deux schémas secrets, sinon la sélection aléatoire de "g" n’aurait pas de
sens. Les schémas "g" sont complémentaires entre eux, de sorte que chaque entité
ne stocke qu’une moitié du schéma tandis que l’autre moitié est générée lors de
l’exécution.
Les deux entités collaborent pour créer un pseudo-défi aléatoire en générant
chacune une moitié, puis les échangent. Le vérificateur reçoit la moitié générée
par le prouveur, crée sa propre moitié et les concatène avant de renvoyer la partie
qu’il a générée au prouveur. Le prouveur concatène ensuite la moitié reçue avec la
sienne.
Le pseudo-défi du vérificateur est transformé en trois défis indépendants,
donnant chacun une réponse unique. Cela produit une réponse de 3 bits RV,
qui constitue le pseudo-défi du vérificateur. Ainsi, les pseudo-défis ne sont jamais
utilisés comme entrées directes pour le circuit PUF.
Le protocole débute par un message d’initialisation et un échange d’un numéro
d’identification PUF. Le schéma g pour la session est choisi parmi un ensemble de
schémas secrets assignés à l’appareil. Après l’échange de défis transformés effectué
m fois pour obtenir les réponses RV, où le pseudo-défi du vérificateur est transformé
en trois défis indépendants, produisant chacun une réponse unique, le prouveur
génère deux pseudo-défis aléatoires, C2 et C3, de manière à ce que PUF(Ti(C2))
xor PUF(Tj(C3)) = g, où Ti et Tj sont des fonctions de transformation de défis
en un défi d’entrée unique, puis envoie C2 et C3 au vérificateur.
Comme le vérificateur n’a pas accès à la valeur de "g", il conserve la trace de
PUF(Ti(C1)) xor PUF(Tj(C3)) = "g’". Le vérificateur vérifie si le schéma "g’"
correspond à l’un des schémas assignés à l’appareil. Si le schéma "g’" ne correspond
à aucun des schémas assignés, le vérificateur refuse d’authentifier l’autre partie.
Discussion et critique
Ce protocole repose sur une authentification mutuelle robuste, où le pseudo-défi
est généré conjointement par les deux entités. La moitié de ce défi est échangée
entre les entités, ce qui rend difficile pour un tiers de l’identifier. Chaque session
28
d’authentification est unique grâce à la sélection aléatoire d’un schéma secret "g".
Le protocole est protégé contre les attaques tolérantes en utilisant des fonctions de
transformation de défis, permettant aux PUF de travailler avec les défis transformés
plutôt qu’avec les pseudo-défis eux-mêmes.
Le protocole se base sur des opérations simples au niveau des bits et des
calculs basiques, évitant ainsi le recours à des fonctions cryptographiques ou de
hachage qui consomment davantage de ressources énergétiques. Chaque appareil
doit stocker au moins deux schémas secrets. Si l’appareil est un serveur et que le
nombre d’appareils souhaitant s’authentifier auprès de lui augmente, cela entraînera
une augmentation des schémas secrets nécessaires, ce qui pourrait provoquer une
surcharge du serveur.
29
Nous tenons à préciser que :
— ⋆⋆ signifie faible
— ⋆⋆⋆ signifie moyen
— ⋆⋆⋆⋆ signifie élevé
30
Figure 3.5 – Diagramme du protocole amélioré
3.10 Conclusion
L’authentification des appareils IoT est essentielle pour assurer la sécurité et
l’intégrité des réseaux connectés. Avec la croissance exponentielle des appareils IoT,
les risques de cyberattaques augmentent, rendant indispensable l’implémentation
de protocoles d’authentification robustes.
Dans ce chapitre, nous avons examiné trois articles proposant des protocoles
d’authentification basés sur des PUFs pour les appareils IoT. Chaque protocole
présente des avantages et des inconvénients. Nous avons utilisé trois critères de
comparaison : la robustesse, la scalabilité et la complexité. En nous basant sur ces
critères, nous avons discuté en détail de ces protocoles et proposé une amélioration
pour le dernier protocole de l’article [28].
Dans le chapitre suivant, nous vérifierons la sécurité du dernier protocole
du premier article, ainsi que celle du protocole proposé dans l’article [29] et du
protocole amélioré que nous avons proposé, en utilisant l’outil de vérification
AVISPA.
31
Chapitre 4
4.1 Introduction
La vérification formelle des protocoles de sécurité revêt une importance
dans l’assurance de leur robustesse contre les attaques potentielles. Elle permet
d’identifier et de corriger les vulnérabilités avant leur déploiement opérationnel,
garantissant ainsi une protection adéquate des systèmes et des données sensibles.
Dans ce domaine, plusieurs outils d’analyse sont disponibles, parmi lesquels la
plateforme AVISPA se distingue comme l’outil le plus réputé [34].
Ce chapitre se focalise sur la vérification des protocoles d’authentification
basés sur les PUFs en employant l’outil SPAN/AVISPA et le langage HLPSL.
L’intégration de cet outil permet une analyse et une validation formelles des
propriétés de sécurité de ces protocoles, assurant ainsi leur robustesse et leur
fiabilité.
32
une vulnérabilité est détectée dans un protocole, AVISPA peut l’illustrer à l’aide
d’un diagramme de séquence de messages, facilitant ainsi la compréhension de la
faille et la manière dont elle peut être exploitée [36].Quatre outils principaux au
sein d’AVISPA se chargent de cette vérification automatisée, chacun appliquant
des méthodologies différentes pour assurer une analyse complète et efficace des
protocoles de sécurité.
33
de spécification HLPSL, conçu pour une description modulaire et abstraite des
protocoles et de leurs propriétés de sécurité.
Le processus commence par la conversion des spécifications HLPSL en un
format intermédiaire (IF) à l’aide d’un traducteur appelé hlpsl2if. Le format IF
est un langage de niveau inférieur, optimisé pour être interprété directement par
les différents back-ends d’AVISPA. Ce format intermédiaire est essentiel car il sert
de pont entre le langage de spécification haut-niveau et les mécanismes d’analyse
bas-niveau, facilitant ainsi l’intégration de nouveaux outils d’analyse qui peuvent
utiliser IF comme leur langage d’entrée.
Une fois la spécification d’un protocole traduite en IF, elle est analysée par les
back-ends d’AVISPA pour déterminer si les objectifs de sécurité sont atteints ou
violés. AVISPA intègre quatre back-ends, chacun offre une méthode unique de
vérification [37] :
34
bornés basé sur la SAT qui analyse les systèmes critiques de sécurité [41]. Il crée
une formule propositionnelle pour représenter un déploiement borné du système
de transition IF, l’état initial, et les états de violation des propriétés de sûreté en
IF (et donc en HLPSL). La formule est résolue par un solveur SAT choisi parmi
zCHAFF, mCHAFF, SIM, ou SATO. Tout modèle satisfaisant la formule est
renvoyé sous forme d’attaque. En recherchant des violations potentielles dans
un protocole, il génère une formule représentant la violation et la transforme en
attaque [38].
35
4.4 Définition de HLPSL
HLPSL est un langage formel destiné à spécifier des protocoles de sécurité
informatique de manière modulaire et expressive. Il se base sur des descriptions
de rôles, ce qui lui permet de représenter les différentes entités participant à un
protocole et leurs interactions de manière claire et structurée. Ce langage supporte
un ensemble de primitives cryptographiques, telles que les clés symétriques et
asymétriques ainsi que les fonctions de hachage, en intégrant leurs propriétés
algébriques telles que l’opération XOR ou l’exponentiation. L’objectif principal
des spécifications HLPSL est de vérifier les propriétés de sécurité des protocoles,
notamment l’authentification et la confidentialité. Pour ce faire, HLPSL permet
de représenter les protocoles sous forme de systèmes d’états et de transitions,
ce qui facilite l’analyse formelle à l’aide de logiques temporelles linéaires (LTL).
Les spécifications HLPSL sont généralement divisées en deux catégories de rôles
distinctes : les rôles de base, qui représentent les agents participant directement
aux protocoles, et les rôles de composition, qui décrivent les scénarios impliquant
plusieurs rôles de base [34].
Played_by a Played_by b
transitions transitions
36
role session(Arguments)
les déclarations
role d’environnement
les déclarations
Composisition
end role
goal
propriétés à vérifie
end role
role environnement()
37
4.6 Vérification du protocole 3
Dans notre travail, la fonction PUF est considérée comme une fonction de
hachage, car dans le langage HLPSL, nous ne pouvons pas définir de fonction.
Dans ce cas, nous utilisons les fonctions prédéfinies dans HLPSL qui sont similaires
à notre fonction. Comme la fonction de hachage prend une entrée et génère une
sortie, elle correspond exactement à ce que nous recherchions.
4.6.2 Notations
Notations Signification
a,c appareils
b autorité
call message d’initiation du protocole
h fonction de hashage
puf exprime la fonction puf
Une fois le code terminé, on clique sur "File" puis sur "Open HLPSL file".
Ensuite, on choisit un outil de vérification parmi les quatre disponibles pour notre
cas, nous avons choisi OFMC, puis on clique sur "Exécuter" :
38
Figure 4.4 – Résultat d’execution du protocole 3
Ce résultat montre que le protocole n’est pas sur comme mentionné dans
l’articlesous quelles conditions le protocole est déclaré sur ou non, sous quelles
conditions une attaque est trouvée et finalement pourquoi l’analyse n’a pas été
concluante
39
4.6.4 Simulation du protocole
— Role de l’appareil D1
40
— Role de l’autorité
— Role de l’appareil D2
— Role de session
41
— Scénario du protocole
4.7.2 Notations
Ce sont les mêmes notations que dans le tableau précédent, sauf que nous avons
ajouté KDF, qui signifie fonction de dérivation de clé.
Après avoir finalisé le code, nous avons l’exécuter de la même manière que
précédemment pour vérifier la sécurité du protocole. Les résultats présentés
ci-dessus ont été générés par l’outil OFMC.
42
Figure 4.11 – Résultat du protocole amélioré
D’aprés la section SUMMURY on voit bien que que le protocole que nous avons
proposé est sûr.
Après avoir exécuté le protocole, nous lançons la simulation pour observer les
messages échangés entre les différentes entités, qui sont visualisés graphiquement
comme illustré dans la figure suivante.
43
4.8 Vérification du protocole 4
4.8.2 Notations
Notations Signification
a Le serveur
b le noeud
id L’identifiant de la paire de défi
ci le défis qui est stocké auprés du seveur
ri la reponse au défis qui est stocké auprés du seveur
h la fonction de hachage
puf la fonction PUF
lsfr la fonction LSFR
Une fois le code finalisé, nous l’avons exécuté de la même manière que
précédemment pour valider la sécurité du protocole. Les résultats affichés ci-dessus :
44
Figure 4.14 – Résultat d’éxecution du deuxieme protocole
4.9 Conclusion
La vérification formelle est une méthode permettant de décrire
mathématiquement un protocole afin de s’assurer de la fiabilité des protocoles
cryptographiques. Dans ce chapitre, nous avons présenté quelques notions de base
sur les outils de vérification SPAN et AVISPA, ainsi que sur le langage HLPSL.
Nous avons également vérifié la sécurité des protocoles décrits dans le troisième
chapitre ainsi que celle du protocole amélioré. Nos analyses ont confirmé que les
protocoles proposés dans l’article [?] sont vulnérables, tandis que l’amélioration
proposée est sécurisée. À l’avenir, nous envisageons d’étudier des protocoles
d’authentification plus complexes pour les appareils IoT et de tenter de découvrir
des vulnérabilités dans ces protocoles. Cela nous permettra de les améliorer par
la suite. De plus, nous souhaitons approfondir notre utilisation de l’outil de
45
vérification AVISPA pour une évaluation plus rigoureuse de la sécurité de ces
protocoles.
46
Conclusion générale
Dans le cadre de ce mémoire sur les PUFs dans l’IoT, plusieurs constats
essentiels se dégagent. La sécurisation et la gestion des clés des dispositifs IoT
représentent un défi majeur dans un environnement de connectivité croissante,
exposant ces dispositifs à des risques accrus. Les PUFs émergent comme une
solution innovante et efficace pour répondre à ces défis, grâce à leur capacité à
générer des identifiants uniques et à renforcer les protocoles d’authentification.
Cette étude a permis d’atteindre plusieurs objectifs clés. Tout d’abord, une
analyse approfondie des différents types de PUFs a été menée, mettant en
lumière leurs caractéristiques distinctives et leurs applications potentielles dans le
domaine de l’IoT. Les PUFs en silicium, notamment, ont démontré des promesses
significatives en termes de robustesse et de coût de production.
Ensuite, l’élaboration et la vérification de protocoles d’authentification basés
sur les PUFs ont constitué une autre contribution majeure de cette recherche. Les
protocoles proposés ont été rigoureusement évalués à l’aide de l’outil Avispa pour
garantir leur sécurité et leur efficacité contre diverses attaques. Les simulations
réalisées ont confirmé leur applicabilité pratique et leurs performances dans des
scénarios réels.
Les PUFs fournissent une solution de sécurité intrinsèque, pratiquement
impossible à contourner par des méthodes de clonage ou de falsification. De plus,
les protocoles d’authentification développés démontrent une capacité à protéger
efficacement les communications et les données des dispositifs connectés.
Ce projet a été d’une valeur pédagogique immense, car il nous a permis
d’approfondir notre compréhension du domaine des PUFs, en particulier en ce
qui concerne la sécurité. De plus, il nous a donné l’occasion de nous familiariser
avec des environnements de travail tels que SPAN/AVISPA et HLPSL, que nous
découvrions pour la première fois.
47
Cependant, malgré les avancées significatives réalisées, ce domaine de recherche
demeure en évolution. De plus, les protocoles d’authentification développés
démontrent une capacité à protéger efficacement les communications et les données
des dispositifs connectés. Des améliorations continues sont nécessaires pour rendre
les PUFs encore plus résistants aux attaques sophistiquées et pour surmonter
les défis techniques et logistiques de leur intégration à grande échelle dans des
systèmes IoT complexes.
48
Bibliographie
[1] I. Saleh, “Les enjeux et les défis de l’Internet des Objets (IdO),” Internet des
objets, Apr. 2017. [Online]. Available : [Link]
x-et-les-defis-de-l-Internet-des-Objets-IdO
[2] B. O. TRIDI, HAMOUDI, “Surveillance médicale a distance basée sur l’IoT,”
UNIVERSITÉ AKLI MOHAND OULHADJ DE BOUIRA, mémoire, 2018.
[3] R. Langmann, “Automatisierungssysteme mit web-technologien,” atp edition -
Automatisierungstechnische Praxis, vol. 56, 09 2014.
[4] M. Martin, “Comment l’évolution de l’internet des objets impacte-t-elle le
marketing et le mode de consommation ?” UNIVERSITE CATHOLIQUE DE
LOUVAIN, mémoire, 2022.
[5] O. A. TALEB, MANKOURI, “Programmation de la sécurité Internet des Objet,
Etude de cas module WIFI Electric imp,” UNIVERSITÉ DE TLEMCEN,
mémoire, May 2016.
[6] K. K. Patel, S. M. Patel, and P. Scholar, “Internet of things-iot : Definition,
characteristics, architecture, enabling technologies, application & future
challenges,” 2016. [Online]. Available : [Link]
usID:189924732
[7] H. TAKROUNI, “Dévelopemment d’une plateforme internet des objets À
connéctivité hybrdide,” UNIVERSITÉ DU QUÉBEC EN OUTAOUAIS,
mémoire, Oct. 2020.
[8] S. Elhadi, A. Marzak, N. Sael, and S. Merzouk, “Comparative Study of
IoT Protocols,” SSRN Electronic Journal, May 2018. [Online]. Available :
[Link]
[9] F. Masmali, S. Miah, and N. Noman, Different Applications and Technologies
of Internet of Things (IoT), 01 2023, pp. 41–54.
49
[10] “Sécurisation des objets connectés de santé | Veyan,” consulté le 2024-05-20.
[Online]. Available : [Link]
s-le-domaine-de-la-sante/
[11] A. MIMI, “Suivi médicale à distance dans l’internet des objets. mémoire,”
UNIVERSITÉ MOHAMED KHIDER – BISKRA, mémoire, 2021.
[12] Y. HARBI, “Security in Internet of Things.” FERHAT ABBAS UNIVERSITY
SETIF 1, thèse de doctorat, 2021.
[13] L. CHALAL and S. SIROUAKNE, “Gestion des cl´es dans l’internet des
objets,” Universit´e A/Mira de B´ejaia, mémoire, 2016.
[14] “Comment l’industrie fait sa révolution avec l’Internet des Objets ? | E-media,
the Econocom blog.” [Online]. Available : [Link]
omment-lindustrie-fait-sa-revolution-avec-linternet-des-objets/
[15] “Sécurité internet des objets | IoT Journey,” 2024. [Online]. Available :
[Link]
ernet-des-objets
[16] “Qu’est-ce que la sécurité des IoT ? | Fortinet,” 2024. [Online]. Available :
[Link]
[17] I. SAFFRAY, “Massification des objets connectés : vers un renforcement de
l’autdit hadrware ?” 2020.
[18] B. Halak, Physically Unclonable Functions. Cham : Springer International
Publishing, 2018. [Online]. Available : [Link]
-319-76804-5
[19] Y. Cao and al, “Advances in Physical Unclonable Functions Based on New
Technologies : A Comprehensive Review,” Dec. 2023. [Online]. Available :
[Link]
[20] H. Balagopal, “A NOVEL PHYSICAL UNCLONABLE FUNCTION (PUF)
FEATURING 0.113 FJ/B FOR IOT DEVICES.”
[21] K. Lounis and M. Zulkernine, “Lessons Learned : Analysis of PUF-based
Authentication Protocols for IoT,” Jun. 2023. [Online]. Available :
[Link]
50
[22] S. Eiroa, I. Baturone, A. J. Acosta, and J. Dávila, “Using Physical Unclonable
Functions for Hardware Authentication : A Survey.”
[23] C. Mesaritakis and al, “Physical Unclonable Function based on
a Multi-Mode Optical Waveguide,” Jun. 2018. [Online]. Available :
[Link]
[24] “Revêtement pcb 5 minutes, laissez-vous savoir comment choisir la fonction,”
consulté le 2024-05-20. [Online]. Available : [Link]
[Link]
[25] S. Hemavathy and V. S. K. Bhaaskaran, “Arbiter PUF—A Review of
Design, Composition, and Security Aspects,” 2023. [Online]. Available :
[Link]
[26] A. Shamsoshoara and al, “A survey on physical unclonable function
(PUF)-based security solutions for Internet of Things,” Dec. 2020. [Online].
Available : [Link]
[27] B. Vincent, “Théories de l’intrus pour la vérification des protocoles
cryptographiques,” ’ÉCOLE NORMALE SUPERIEUR DE CACHAN, thése,
2006.
[28] S. Buchovecká and al, “Lightweight Authentication and Secure Communication
Suitable for IoT Devices :.” Valletta, Malta : SCITEPRESS - Science and
Technology Publications, 2020, pp. 75–83. [Online]. Available : [Link]
[Link]/DigitalLibrary/[Link]?doi=10.5220/0008959600750083
[29] S. Roy and al, “PUF based Lightweight Authentication and Key Exchange
Protocol for IoT :,” 2021. [Online]. Available : [Link]
igitalLibrary/[Link]?doi=10.5220/0010550906980703
[30] T. A. Idriss and al, “A Lightweight PUF-Based Authentication Protocol Using
Secret Pattern Recognition for Constrained IoT Devices,” 2021. [Online].
Available : [Link]
[31] A. Fayad, “Secure authentication protocol for Internet of Things,” Ph.D.
dissertation, Feb. 2021.
[32] G. Abdourahime and M. O. Ndiaye, “Proposition d’une architecture
d’authentification mutuelle pour la gestion de la mobilité et de la disponibilité
51
dans les IoT-Fog : Cas d’un bracelet électronique,” 2023. [Online]. Available :
[Link]
[33] T. Rabas, “Verification of PUF-based IoT Protocols with AVISPA and
Scyther :,” Lisbon, Portugal, 2022. [Online]. Available : [Link]
[Link]/DigitalLibrary/[Link]?doi=10.5220/0011299000003283
[34] N. Chikouche, U. de M’sila, and M. Benmohammed, “Vérification automatique
des protocoles d’authentification des systèmes RFID.”
[35] “AVISPA v1.1 User Manual,” Jun. 2006. [Online]. Available : https:
//[Link]/package/user-manual
[36] A. Armando and al, “The AVISPA Tool for the Automated Validation
of Internet Security Protocols and Applications,” in Computer Aided
Verification, 2005, series Title : Lecture Notes in Computer Science. [Online].
Available : [Link]
[37] “HLPSL Tutorial,” Jun. 2006. [Online]. Available : [Link]
[Link]/package/[Link]
[38] S. M. MOHAMEDI, IKERBANE, “Vérification automatique d’un protocole
de sécurité dans les systèmes RFIDs à base d’outils AVISPA & SPAN.”
UNIVERSITE MOULOUD MAMMERI DE TIZI-OUZOU, mémoire, 2016.
[39] a. Aouamri, “Conception d’un schéma d’authentification sécurisé pour
l’internet des drones,” UNIVERSITE DE 8 MAI 1945 – GUELMA -, mémoire,
Sep. 2021.
[40] K. S. BELLIL Amine, “Réalisation d’une application android de navigation
par gps en utilisant des cartes osm,” UNIVERSITE MOULOUD MAMMERI
de TIZI-OUZOU, mémoire, 2013.
[41] A. Armando, R. Carbone, and L. Compagna, “Satmc : A sat-based model
checker for security-critical systems,” in Tools and Algorithms for the
Construction and Analysis of Systems, E. Ábrahám and K. Havelund, Eds.
Berlin, Heidelberg : Springer Berlin Heidelberg, 2014, pp. 31–45.
52
Résumé
L’impact croissant de l’Internet des objets (IoT) réside dans la connectivité entre
objets physiques et virtuels, ouvrant de nouvelles perspectives dans des domaines
comme la domotique, la santé et les infrastructures intelligentes. Nous examinons
ensuite les Physically Unclonable Functions (PUFs), des technologies clés
permettant de garantir l’authenticité des dispositifs IoT grâce à leurs propriétés
uniques et difficilement reproduisibles. En se concentrant sur l’authentification,
nous analysons divers protocoles basés sur les PUFs, et nous améliorons l’un d’eux
pour renforcer sa sécurité et son efficacité. Enfin, nous évaluons rigoureusement
ces protocoles améliorés pour assurer leur robustesse et leur conformité aux
exigences de sécurité des réseaux IoT modernes.
Abstract
The increasing impact of the Internet of Things (IoT) lies in the connectivity
between physical and virtual objects, opening new perspectives in domains such
as home automation, healthcare, and smart infrastructure. We then examine
Physically Unclonable Functions (PUFs), key technologies ensuring the
authenticity of IoT devices due to their unique and difficult-to-replicate
properties. Focusing on authentication, we analyze various protocols based on
PUFs and enhance one of them to bolster its security and efficiency. Finally, we
rigorously evaluate these enhanced protocols to ensure their robustness and
compliance with the security requirements of modern IoT networks.
53