0% ont trouvé ce document utile (0 vote)
416 vues28 pages

Securite Logiciel

Transféré par

lesangearnaud
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
416 vues28 pages

Securite Logiciel

Transféré par

lesangearnaud
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

EXPOSE DE CRYPTOGRAPHIE

SECURITE LOGICIEL

LISTE DES MEMBRES :

NOMS ET PRENOMS MATRICULES


CHIENGOUE TCHOKOUNTE ARNAUD L CM-UDS-20SCI0831

TSOBGNY TEMGOUA PATRICIA C

FILIERE : INFORMATIQUE

NIVEAU : MASTER 1

OPTION : RESEAU ET SERVICES DISTRIBUES

SOUS LA SUPERVISION DE : Pr. Clémentin Tayou Djamegni

ANNEE ACADEMIQUE
2023/2024
SECURITE LOGICIEL

TABLE DES MATIERES


LISTES DES FIGURES............................................................................................................. 3
INTRODUCTION ...................................................................................................................... 4
I. FONDEMENT DE LA CRYPTOGRAPHIE .................................................................... 5
A. Généralités sur la cryptographie .................................................................................. 5
1. Historique ................................................................................................................. 5
2. Principe de base de la cryptographie ....................................................................... 6
B. Types d’algorithmes et de protocoles cryptographiques ............................................. 6
II. SECURITE LOGICIEL ..................................................................................................... 8
A. Vulnérabilités logiciel courants ................................................................................... 8
1. Définition ................................................................................................................. 8
2. Types de vulnérabilités logiciel ............................................................................... 9
B. Méthodes de protection des logiciels ......................................................................... 12
C. Importance de la sécurité dans le développement logiciel ........................................ 13
III. NORMES ET REGLEMENTATION EN MATIERE DE SECURITE DES LOGICIELS
14
A. Normes internationales et certifications .................................................................... 14
B. Exigences règlementaires pour les logiciels sécurisés .............................................. 15
C. Sécurité quantique ..................................................................................................... 15
1. Définition ............................................................................................................... 15
2. Fonctionnement ...................................................................................................... 16
IV. APPLICATIONS PRATIQUES ................................................................................... 17
A. Utilisation de la cryptographie dans le monde réel ................................................... 17
B. Exemples de logiciels sécurisés grâce à la cryptographie ......................................... 18
C. Cas pratique avec la solution BitLocker .................................................................... 19
CONCLUSION ........................................................................................................................ 27
Bibliographie ............................................................................................................................ 28

2|Page
SECURITE LOGICIEL

LISTES DES FIGURES

Figure 1: algorithme symétrique ................................................................................................ 7


Figure 2:algorithme asymétrique................................................................................................ 7
Figure 3:statistique des différentes attaques ............................................................................. 12
Figure 4:illustrations ................................................................................................................ 18
Figure 5:icones des logiciels de cryptage ................................................................................. 19
Figure 6:activation du BitLocker ............................................................................................. 20
Figure 7:choix de la méthode (mot de passe ) .......................................................................... 21
Figure 8:execution .................................................................................................................... 21
Figure 9:ajout d'options ............................................................................................................ 22
Figure 10: insertion du disque amovible .................................................................................. 22
Figure 11:fin du chiffrement .................................................................................................... 23
Figure 12:presentation .............................................................................................................. 23
Figure 13:autre méthode ........................................................................................................... 24
Figure 14:verification ............................................................................................................... 25
Figure 15:test après redémarrage ............................................................................................. 25
Figure 16: message d'erreur lors de la copie d'un documents sans s'être authentifier.............. 26

3|Page
SECURITE LOGICIEL

INTRODUCTION

La CRYPTOGRAPHIE, ou l’art de protéger les informations sensibles par le biais de


techniques de chiffrement, est un domaine fondamental de la sécurité informatique. De nos
jours, avec la prolifération des échanges électroniques et des données numériques, la sécurités
logiciel est devenue un enjeu majeur pour les entreprises, les gouvernements et les particuliers.
C’est dans cette logique que notre présentation sera axé sur la sécurité logicielle.

Cependant quels sont les principes fondamentaux de la cryptographie, son évolution et son
impact sur la sécurité logicielle et un cas d’application ? pour répondre a cette question, Nous
commencerons par une exploration des origines de la cryptographie et des principes de base,
nous examinerons ensuite les vulnérabilités courantes des logiciels et les méthodes utilisées
pour protéger les systèmes d’information contre les attaques malveillantes.

Toutefois nous aborderons également les avancées récentes en matière de cryptographie, y


compris la sécurité quantique. Enfin, nous discuterons des applications de la cryptographie dans
le monde réel, un cas pratique et des défis futurs auxquels nous devrons faire face pour garantir
la sécurité des données dans un environnement numérique en constante évolution.

4|Page
SECURITE LOGICIEL

I. FONDEMENT DE LA CRYPTOGRAPHIE
A. Généralités sur la cryptographie
1. Historique

La cryptographie est l’étude des messages secrets. Le terme « cryptographie » viens des mots
grecs anciens : kruptos qu’on peut traduire comme « secret » ou « caché » ; et graphein pour
« écriture ». Plus précisément, la cryptographie est l’étude des codes secrets, et non celle des
messages simplement voilés. Les origines de la cryptographie semblent remonter de 4000 ans.
On a trouvé sur une tombe égyptienne de cette époque, des inscriptions contenant des
hiéroglyphes modifiés, et il semblerait qu’on ait cherché par ces modifications à obscurcir le
sens des inscriptions. Quoi qu’il en soit, plusieurs indications archéologiques tendent à montrer
que les « écritures secrètes » sont en fait aussi anciennes que l’invention de l’écriture elle-
même.

Le premier exemple indéniable de la cryptographie remonte au moins au ᴠᵉ siècle avant notre


ère. En effet, les spartiates(Grèce) du temps avaient développé une méthode originale pour
l’échange de message secret. Celle-ci est basée sur le fait que deux copies identiques d’un
bâtonnet, appelé scytale, soit en possession de l’envoyeur et du récepteur du message. Pour
préparer un message, on enroule en spirale autour de la scytale une bandelette de parchemin,
pour ensuite écrire le message le long de la scytale. Une fois dérouler la bandelette ne contient
plus qu’une suite apparemment incompréhensible de lettre. Cependant, pour décoder le
message il suffit simplement d’enrouler la bandelette sur la scytale jumelle. Comme la méthode
est assez simple, il leur fallait bien entendu la scytale conserver secrète.

5|Page
SECURITE LOGICIEL

2. Principe de base de la cryptographie

Les principes de base de la cryptographie comprennent la confidentialité, l’intégrité,


l’authentification, la non répudiation et la gestion des clés.

 La confidentialité : garantit que les informations ne sont accessibles qu’aux personnes


autorisées à les consulter.
 L’intégrité : vérifie que les informations n’ont pas été altérées en cours de transmission.
 L’authentification : confirme l’identité des parties impliquées dans la communication.
 La non-répudiation : empêche un expéditeur de nier sa participation à la
communication.
 La gestion des clés : implique la manipulation sécurisée des clés cryptographique.

B. Types d’algorithmes et de protocoles cryptographiques

Il existe plusieurs types d’algorithme et de protocole cryptographiques utilisées dans les


systèmes de sécurité nous avons entre autre :

 Algorithmes symétriques : ces algorithmes utilisent la même clé pour le chiffrement et


le déchiffrement à l’instar de Triple DES, AES (Advanced Encryptions Standard) et
Blowfish.

6|Page
SECURITE LOGICIEL

Figure 1: algorithme symétrique

 Algorithmes asymétriques : elles utilisent une paire de clés publique et privée pour le
chiffrement et le déchiffrement. Comme exemple nous avons : RSA (Rivest Shamir
Adleman), DSA et ECC.

Figure 2:algorithme asymétrique

7|Page
SECURITE LOGICIEL

 Fonction de hachage : elles sont utilisées pour assurer l’intégrité des données et
comprennent des algorithmes comme SHA-256 et MD5.

II. SECURITE LOGICIEL

La sécurité logicielle est le domaine qui vise à protéger les logiciels contre les attaques
malveillantes, comme les virus, les vers, les trojans, les spywares, etc. La sécurité logicielle
implique des bonnes pratiques de développement, de test, de mise à jour et de maintenance des
logiciels, ainsi que l'utilisation de techniques de cryptographie pour chiffrer et authentifier les
données et les communications. La sécurité logicielle est importante pour assurer la
confidentialité, l'intégrité et la disponibilité des informations et des systèmes informatiques.
Elle permet aussi de prévenir les dommages financiers, juridiques ou réputationnels causés par
les cyberattaques.

A. Vulnérabilités logiciel courants

1. Définition

Les vulnérabilités logicielles sont des faiblesses ou des erreurs dans les programmes ou les
systèmes informatiques qui permettent aux attaquants de porter atteinte à la sécurité, au
fonctionnement ou aux données de ces systèmes. Les vulnérabilités logicielles peuvent être
causées par des défauts de conception, de mise en œuvre ou d'utilisation des logiciels, et sont
souvent liées à des erreurs de programmation ou à de mauvaises pratiques. La gestion des
vulnérabilités logicielles consiste à identifier, évaluer, traiter et rapporter les failles de sécurité
dans les logiciels, et à appliquer les correctifs ou les mises à jour nécessaires pour les résoudre.
La gestion des vulnérabilités logicielles est importante pour protéger les informations et les
systèmes informatiques contre les cyberattaques, et pour prévenir les dommages financiers,
juridiques ou réputationnels qui peuvent en résulter.

8|Page
SECURITE LOGICIEL

2. Types de vulnérabilités logiciel

 Contrôle d’accès défaillant : Il s’agit d’une faiblesse qui permet aux attaquants d’accéder
à des ressources ou à des fonctionnalités qui ne leur sont pas autorisées, comme des
données sensibles, des comptes d’autres utilisateurs, des opérations administratives, etc.
Cette vulnérabilité peut être causée par une mauvaise conception ou une mauvaise
implémentation des mécanismes d’authentification, d’autorisation et de vérification des
droits d’accès. Pour la prévenir, il faut appliquer le principe du moindre privilège, utiliser
des jetons d’accès cryptés, vérifier les droits d’accès à chaque requête, etc.
 Injection : Il s’agit d’une faiblesse qui permet aux attaquants d’injecter du code
malveillant dans une application web, en exploitant des entrées non validées ou non
filtrées. Le code injecté peut alors être exécuté par l’application web ou par un système
tiers, comme une base de données, un serveur web, un navigateur, etc. Cette vulnérabilité
peut entraîner la compromission, la corruption ou la fuite de données, le détournement
de sessions, la prise de contrôle de l’application ou du système, etc. Pour la prévenir, il
faut utiliser des requêtes paramétrées, des API sécurisées, des listes blanches d’entrées,
des fonctions d’échappement, etc.
 Exposition de données sensibles : Il s’agit d’une vulnérabilité qui permet aux attaquants
d’accéder à des données sensibles stockées ou transmises par une application web,
comme des mots de passe, des numéros de carte de crédit, des informations personnelles,
etc. Cette vulnérabilité peut être causée par une mauvaise configuration de la sécurité,
un chiffrement insuffisant ou inexistant, un stockage inapproprié des données, une
suppression incomplète des données, etc. Pour la prévenir, il faut chiffrer les données au
repos et en transit, utiliser des algorithmes et des protocoles de chiffrement robustes, ne
pas stocker les données sensibles inutilement, supprimer les données sensibles de
manière sécurisée, etc.
 Sécurité des API défaillante : Il s’agit d’une vulnérabilité qui permet aux attaquants
d’exploiter les faiblesses des interfaces de programmation d’applications (API) exposées
par une application web, comme les API REST, SOAP, GraphQL, etc. Ces API peuvent
être utilisées pour accéder aux données ou aux fonctionnalités de l’application web, mais
aussi pour interagir avec d’autres systèmes ou services. Cette vulnérabilité peut être
causée par une mauvaise conception ou une mauvaise implémentation des mécanismes
de sécurité des API, comme l’authentification, l’autorisation, la validation des entrées,
la gestion des erreurs, etc. Pour la prévenir, il faut utiliser des standards et des Framework

9|Page
SECURITE LOGICIEL

de sécurité des API, documenter et tester les API, appliquer le principe du moindre
privilège, limiter le nombre de requêtes, etc.
 Mauvaise configuration de la sécurité : Il s’agit d’une vulnérabilité qui permet aux
attaquants d’exploiter les erreurs ou les omissions dans la configuration de la sécurité
d’une application web ou de ses composants, comme les serveurs, les bases de données,
les Framework, les bibliothèques, etc. Cette vulnérabilité peut être causée par des
paramètres de sécurité par défaut, des mots de passe faibles ou codés en dur, des services
ou des ports inutiles, des mises à jour ou des correctifs manquants, etc. Pour la prévenir,
il faut suivre les guides et les recommandations de sécurité, utiliser des outils d’analyse
de la configuration, appliquer les mises à jour et les correctifs, désactiver ou supprimer
les services ou les ports inutiles, etc.
 Cross-Site Scripting (XSS) : Il s’agit d’une vulnérabilité qui permet aux attaquants
d’injecter du code JavaScript malveillant dans une page web, en exploitant des entrées
non validées ou non filtrées. Le code injecté peut alors être exécuté par le navigateur du
visiteur de la page web, ce qui peut entraîner le vol de cookies, de jetons ou de
données, le détournement de sessions, la redirection vers des sites malveillants,
l’affichage de contenu frauduleux, etc. Pour la prévenir, il faut utiliser des fonctions
d’échappement, des listes blanches d’entrées, des en-têtes de sécurité, des politiques de
sécurité du contenu, etc.
 Utilisation de composants vulnérables : Il s’agit d’une vulnérabilité qui permet aux
attaquants d’exploiter les faiblesses des composants tiers utilisés par une application
web, comme les bibliothèques, les Framework, les modules, les plugins, etc. Ces
composants peuvent contenir des vulnérabilités connues ou inconnues, qui peuvent
affecter la sécurité ou le fonctionnement de l’application web. Cette vulnérabilité peut
être causée par un manque de contrôle ou de suivi des composants utilisés, des versions
obsolètes ou non mises à jour, des dépendances inutiles ou non sécurisées, etc. Pour la
prévenir, il faut utiliser des outils d’analyse des dépendances, appliquer les mises à jour
et les correctifs, supprimer les composants inutiles ou non sécurisés, vérifier la fiabilité
des sources, etc.
 Violation de la gestion des sessions : Il s’agit d’une vulnérabilité qui permet aux
attaquants d’accéder à des sessions actives ou inactives d’autres utilisateurs, en
exploitant les faiblesses des mécanismes de gestion des sessions d’une application web.
Les sessions sont des moyens de maintenir l’état et l’identité des utilisateurs lorsqu’ils

10 | P a g e
SECURITE LOGICIEL

interagissent avec une application web. Cette vulnérabilité peut être causée par une
génération, un stockage, un transport ou une invalidation inappropriés des identifiants
de session, comme les cookies, les jetons, les URL, etc. Pour la prévenir, il faut utiliser
des identifiants de session aléatoires, uniques, cryptés et à durée de vie limitée, utiliser
des canaux sécurisés pour transmettre les identifiants de session, invalider les
identifiants de session après la déconnexion ou l’expiration, etc.
 Sécurité insuffisante du chiffrement : Il s’agit d’une vulnérabilité qui permet aux
attaquants de compromettre le chiffrement utilisé par une application web pour
protéger les données ou les communications, en exploitant les faiblesses des
algorithmes, des protocoles, des clés ou des certificats de chiffrement. Le chiffrement
est une technique qui consiste à transformer les données en un format illisible, sauf
pour ceux qui possèdent la clé ou le certificat approprié. Cette vulnérabilité peut être
causée par l’utilisation d’algorithmes ou de protocoles de chiffrement obsolètes, faibles
ou non standardisés, l’utilisation de clés ou de certificats de chiffrement faibles, codés
en dur, compromis ou expirés, l’absence de chiffrement pour certaines données ou
communications, etc. Pour la prévenir, il faut utiliser des algorithmes et des protocoles
de chiffrement robustes, standardisés et à jour, utiliser des clés ou des certificats de
chiffrement forts, aléatoires, cryptés et à durée de vie limitée, chiffrer toutes les
données sensibles au repos et en transit, vérifier la validité et la fiabilité des clés ou des
certificats de chiffrement, etc.
 Journalisation et surveillance insuffisantes : Il s’agit d’une vulnérabilité qui permet aux
attaquants de mener des attaques contre une application web sans être détectés, en
exploitant le manque ou la faiblesse des mécanismes de journalisation et de
surveillance des activités ou des événements de l’application web. La journalisation et
la surveillance sont des techniques qui consistent à enregistrer, stocker, analyser et
alerter sur les informations relatives au fonctionnement, à la performance ou à la
sécurité d’une application web. Cette vulnérabilité peut être causée par l’absence ou
l’insuffisance de journaux ou de systèmes de surveillance, le manque de détails ou de
cohérence dans les journaux, le stockage ou la protection.

11 | P a g e
SECURITE LOGICIEL

Figure 3:statistique des différentes attaques

B. Méthodes de protection des logiciels

La protection des logiciels est le processus qui consiste à sécuriser les logiciels contre les
attaques malveillantes, les erreurs, les failles ou les détournements. Il existe différentes
méthodes de protection des logiciels, selon le type de logiciel, le niveau de sécurité souhaité et
les menaces potentielles. Voici quelques exemples de méthodes de protection des logiciels :

 La protection par le droit d'auteur : elle permet de protéger le contenu du logiciel, c'est-
à-dire le code source, les images, les sons, les textes, etc. Elle donne au créateur du
logiciel le droit exclusif d'autoriser ou d'interdire l'utilisation, la reproduction, la
modification ou la distribution de son œuvre. Elle est automatique et ne nécessite pas
de formalité particulière.
 La protection par le brevet : elle permet de protéger l'invention technique découlant du
logiciel, c'est-à-dire la fonctionnalité, le principe ou le procédé mis en œuvre par le
logiciel. Elle donne au titulaire du brevet le droit exclusif d'exploiter son invention ou
d'autoriser des tiers à le faire. Elle nécessite de déposer une demande de brevet auprès
d'un office compétent et de respecter des critères de brevetabilité, tels que la nouveauté,
l'activité inventive et l'application industrielle.
 La protection par la signature numérique : elle permet de garantir l'authenticité,
l'intégrité et la non-répudiation du logiciel. Elle consiste à apposer sur le logiciel une
empreinte cryptographique, générée à partir d'une clé privée, qui peut être vérifiée à

12 | P a g e
SECURITE LOGICIEL

l'aide d'une clé publique. Elle permet de s'assurer que le logiciel provient bien de son
éditeur et qu'il n'a pas été altéré ou falsifié.
 La protection par l'obfuscation : elle permet de rendre le code source du logiciel difficile
à lire, à comprendre et à modifier. Elle consiste à appliquer des techniques de
transformation, de brouillage ou de masquage du code, telles que le changement de
noms de variables, l'ajout de code inutile, la modification de la structure du code, etc.
Elle vise à dissuader ou à ralentir les tentatives de reverse engineering, de piratage ou
de copie du logiciel.
 La protection par le chiffrement : elle permet de rendre le contenu du logiciel illisible
sans une clé de déchiffrement. Elle consiste à appliquer un algorithme de chiffrement,
qui transforme le contenu du logiciel en une suite de caractères aléatoires, qui ne peut
être restaurée qu'avec la clé correspondante. Elle vise à empêcher l'accès non autorisé,
la divulgation ou la modification du logiciel.
 La protection par la licence : elle permet de définir les conditions d'utilisation, de
distribution et de modification du logiciel. Elle consiste à établir un contrat entre
l'éditeur du logiciel et l'utilisateur ou le distributeur, qui précise les droits et les
obligations de chacun. Elle peut être de différents types, tels que la licence propriétaire,
la licence libre, la licence open source, etc.

C. Importance de la sécurité dans le développement logiciel

La sécurité dans le développement logiciel est très importante, car elle permet de protéger les
logiciels contre les attaques malveillantes, les erreurs, les failles ou les détournements. Un
logiciel non sécurisé peut compromettre la confidentialité, l'intégrité et la disponibilité des
données, ainsi que la réputation et la performance de l'organisation qui le développe ou qui
l'utilise. La sécurité dans le développement logiciel peut également réduire les coûts et les délais
liés à la correction des vulnérabilités, qui sont plus difficiles et plus chères à résoudre si elles
sont découvertes tardivement. Pour intégrer la sécurité dans le développement logiciel, il existe
plusieurs méthodes et bonnes pratiques, tels que :

 Le cycle de développement logiciel sécurisé (SSDLC) : consiste à intégrer la sécurité à


chaque étape du processus de développement, de la planification au déploiement et à la
maintenance.

13 | P a g e
SECURITE LOGICIEL

 La signature numérique : consiste à apposer sur le logiciel une empreinte


cryptographique, qui permet de garantir son authenticité, son intégrité et sa non-
répudiation.
 L'obfuscation : consiste à rendre le code source du logiciel difficile à lire, à comprendre
et à modifier, afin de dissuader ou de ralentir les tentatives de reverse engineering, de
piratage ou de copie.
 Le chiffrement : consiste à rendre le contenu du logiciel illisible sans une clé de
déchiffrement, afin d'empêcher l'accès non autorisé, la divulgation ou la modification
du logiciel.
 La licence : consiste à définir les conditions d'utilisation, de distribution et de
modification du logiciel, en établissant un contrat entre l'éditeur du logiciel et
l'utilisateur ou le distributeur.

III. NORMES ET REGLEMENTATION EN MATIERE


DE SECURITE DES LOGICIELS

A. Normes internationales et certifications


Ils existent plusieurs normes et certifications internationales dans le domaine de la sécurité
logicielle. Nous pouvons citer entre autre :

 ISO 27001 : il s’agit d’une norme internationale de sécurité de l’information qui fournit
un cadre pour la gestion des informations sensibles au sein d’une entreprise.
 NIST SP 800-53 et NIST SP 800-171 : ce sont des normes publiées par l’institut national
des normes et de la technologie(NIST) aux Etats-Unis, fournissant des lignes directrices
pour sécuriser les systèmes d’informations.
 NIST CSF : un autre cadre publier par le NIST, le cadre de cyber sécurité (CSF) fournit
des conseils sur la manière dont les organisations peuvent évoluer et améliorer leur
capacité à prévenir, détecter et répondre aux cyberattaques
 Série ISO 27000 : cette série comprend diverses normes relatives aux systèmes de
gestion de la sécurité de l’information, ISO 27001 étant la plus importante.
 ISO 27002 : cette norme fournit des lignes directives et des meilleurs pratiques pour la
gestion de la sécurité de l’information au sein d’une organisation

14 | P a g e
SECURITE LOGICIEL

Ces normes et certifications jouent un rôle crucial dans le développement et la maintenance des
systèmes logiciels avec une forte orientation vers la sécurité.

B. Exigences règlementaires pour les logiciels sécurisés

Les exigences réglementaires pour les logiciels sécurisés peuvent varier selon le domaine
d'application, le pays ou la région, et le niveau de risque associé au logiciel. En général, les
logiciels sécurisés doivent respecter les principes suivants :

- Intégrer la sécurité dès la conception, en tenant compte des menaces potentielles, des
besoins des utilisateurs et des bonnes pratiques du secteur.

- Effectuer des tests de sécurité réguliers et rigoureux tout au long du cycle de vie du logiciel,
en utilisant des méthodes et des outils appropriés.

- Fournir une assistance en matière de sécurité et des mises à jour logicielles aux utilisateurs
finaux, en les informant des vulnérabilités connues et des mesures correctives.

- Respecter les normes et les cadres de référence reconnus en matière de cyber sécurité, tels
que l'ISO/IEC 27001, qui définit les exigences pour la mise en place d'un système de
management de la sécurité de l'information (SMSI).

- Se conformer aux règles et aux réglementations spécifiques applicables au logiciel, telles


que le règlement général sur la protection des données (RGPD) dans l'UE, qui impose des
obligations en matière de protection des données personnelles.

C. Sécurité quantique
1. Définition
La sécurité quantique est un domaine qui étudie comment protéger les données et les
communications contre les menaces potentielles des ordinateurs quantiques, qui sont
capables de briser les méthodes de chiffrement classiques . La sécurité quantique utilise des
principes de la physique quantique, tels que la superposition, l’intrication et

15 | P a g e
SECURITE LOGICIEL

l’indéterminisme, pour concevoir des protocoles de chiffrement et de distribution de clés


qui sont résistants aux attaques quantiques .

2. Fonctionnement

La sécurité quantique repose sur l’utilisation des propriétés de la physique quantique pour
protéger les données et les communications contre les attaques des ordinateurs quantiques. Les
ordinateurs quantiques sont des machines capables d’effectuer des calculs beaucoup plus
rapides et plus puissants que les ordinateurs classiques, en exploitant des phénomènes comme
la superposition et l’intrication. Ces phénomènes permettent aux particules quantiques, comme
les photons ou les électrons, d’exister dans plusieurs états à la fois, et d’être liés entre eux même
à distance.

La sécurité quantique utilise ces propriétés pour créer des protocoles de cryptographie qui sont
résistants aux attaques quantiques, c’est-à-dire qu’ils ne peuvent pas être cassés par un
ordinateur quantique, même en théorie. Il existe deux types principaux de sécurité quantique :
la cryptographie post-quantique (PQC) et la distribution de clés quantiques (QKD).

La PQC est basée sur les mathématiques, et utilise des algorithmes qui sont difficiles à résoudre
même pour les ordinateurs quantiques. Par exemple, certains algorithmes PQC se basent sur
des problèmes de théorie des codes, de géométrie algébrique ou de théorie des nombres. La
PQC est compatible avec les systèmes de communication actuels, et peut être implémentée par
des logiciels ou des puces spéciales. La PQC est encore en cours de développement, et plusieurs
candidats sont en compétition pour devenir les standards de demain.

La QKD est basée sur la physique, et utilise des particules quantiques, comme des photons
polarisés, pour transmettre des clés secrètes entre deux parties. La QKD garantit que la
transmission des clés est sécurisée, car toute tentative d’interception ou de mesure des particules
quantiques entraîne une modification de leur état, qui peut être détectée par les parties légitimes.
La QKD nécessite des équipements spécifiques, comme des lasers, des détecteurs ou des fibres
optiques, et a des limites de distance et de débit. La QKD est déjà disponible commercialement,
et plusieurs projets pilotes ont été lancés dans le monde.

16 | P a g e
SECURITE LOGICIEL

IV. APPLICATIONS PRATIQUES

A. Utilisation de la cryptographie dans le monde réel

Voici quelques exemples de domaines où la cryptographie est utilisée pour assurer la sécurité
des données et des communications :

 Banque et finance : la cryptographie permet de protéger les transactions financières en


ligne, comme les paiements par carte bancaire ou les virements bancaires. Elle utilise
des algorithmes de chiffrement, comme l'AES⁴, pour rendre les données illisibles par
des tiers non autorisés. Elle utilise aussi des techniques d'authentification, comme les
signatures numériques, pour vérifier l'identité des parties impliquées dans une
transaction.
 Réseau : la cryptographie permet de sécuriser les échanges d'informations sur les
réseaux informatiques, comme l'Internet. Elle utilise des protocoles de chiffrement,
comme le SSL/TLS, pour établir des connexions sécurisées entre les serveurs et les
clients. Elle utilise aussi des techniques de cryptographie à clé publique, comme le RSA,
pour échanger des clés de chiffrement de manière confidentielle.
 Sécurité des données : la cryptographie permet de protéger les données stockées sur des
supports numériques, comme les disques durs ou les clés USB. Elle utilise des
algorithmes de chiffrement, comme le AES⁴, pour rendre les données inaccessibles sans
la clé de déchiffrement. Elle utilise aussi des techniques de hachage, comme le SHA-
256, pour vérifier l'intégrité des données et détecter toute modification malveillante.
 Propriété intellectuelle : la cryptographie permet de protéger les droits d'auteur et les
brevets sur les œuvres numériques, comme les logiciels ou les musiques. Elle utilise des
techniques de marquage numérique, comme le tatouage numérique, pour insérer des
informations invisibles dans les œuvres. Elle utilise aussi des techniques de gestion des
droits numériques, comme le DRM, pour contrôler l'accès et l'utilisation des œuvres.
 Sécurité des communications : la cryptographie permet de protéger la confidentialité et
la sécurité des communications électroniques, comme les emails ou les messages
instantanés. Elle utilise des algorithmes de chiffrement, comme le AES⁴, pour rendre
les messages illisibles par des tiers non autorisés. Elle utilise aussi des techniques

17 | P a g e
SECURITE LOGICIEL

d'authentification, comme les signatures numériques, pour vérifier l'identité de


l'expéditeur et du destinataire.

Figure 4:illustrations

B. Exemples de logiciels sécurisés grâce à la cryptographie

Il existe de nombreux logiciels qui utilisent la cryptographie pour sécuriser les données et les
communications. Voici quelques exemples :

 AxCrypt : un logiciel de cryptage de fichiers pour Windows qui permet de chiffrer et


déchiffrer les fichiers de façon rapide, avec un mot de passe ou une clé.
 BitLocker : une fonctionnalité de Windows qui permet de chiffrer le disque dur entier
ou une partition, avec un mot de passe, une clé USB ou un module TPM.
 VeraCrypt : un logiciel de cryptage qui permet de créer des conteneurs chiffrés, des
partitions chiffrées ou des disques chiffrés, avec différents algorithmes et modes de
chiffrement.
 7-Zip : un logiciel de compression et de décompression de fichiers qui permet de
chiffrer les archives avec l'algorithme AES-256.
 DiskCryptor : un logiciel de cryptage qui permet de chiffrer le disque dur entier ou une
partition, avec différents algorithmes et modes de chiffrement.

18 | P a g e
SECURITE LOGICIEL

Figure 5:icones des logiciels de cryptage

C. Cas pratique avec la solution BitLocker

BitLocker est un logiciel de chiffrement intégré à Windows.

Le chiffrement contribue à protéger les données sur votre appareil afin qu’il soit accessible
uniquement par des individus autorisés.

Si vous perdez par exemple votre ordinateur mais que vous l’avez auparavant protégé avec
BitLocker, vos données personnelles sont en sécurité : elles ne pourront pas être récupérées ni
utilisées par des personnes malveillantes. Sans le mot de passe de déverrouillage, impossible
pour quiconque d’accéder au contenu d’un disque chiffré avec BitLocker.

Nous allons voir comment activer et configurer BitLocker afin de chiffrer un disque sur
Windows. Cela peut être un disque système (celui sur lequel Windows est installé), un autre
disque physique (disque dur, SSD, clé USB…) ou bien un disque virtuel (VHD)

BitLocker permet de chiffrer :

19 | P a g e
SECURITE LOGICIEL

 Les disques système (disques sur lesquels Windows est installé)


 Les disques fixes (disques durs et SSD internes)
 Les disques amovibles (clé USB, disque dur externe).

La procédure pour chiffrer un disque avec BitLocker est la suivante :

 Activer BitLocker sur le disque à chiffrer

Figure 6:activation du BitLocker

 Choisir la méthode de déverrouillage (mot de passe, code PIN…)

20 | P a g e
SECURITE LOGICIEL

Figure 7:choix de la méthode (mot de passe )

 Définir quelques options

Figure 8:execution

21 | P a g e
SECURITE LOGICIEL

Figure 9:ajout d'options

Figure 10: insertion du disque amovible

22 | P a g e
SECURITE LOGICIEL

Figure 11:fin du chiffrement

Figure 12:presentation

 Le chiffrement de lecteur BitLocker : chiffre intégralement un lecteur. Lorsque


votre PC démarre, le chargeur de démarrage Windows (Windows Boot Loader) se
charge et vous invite à déverrouiller le lecteur selon la méthode de déverrouillage
choisie. BitLocker déchiffre ensuite le lecteur et charge Windows.
 BitLocker To Go : chiffre un lecteur externe comme une clé USB, une carte SD ou un
disque dur externe. Lorsque vous connectez le lecteur à votre ordinateur, vous êtes
invité à le déverrouiller selon la méthode de déverrouillage choisie. Sans
déverrouillage, personne ne peut accéder aux données du lecteur.

Plusieurs modes de déverrouillage sont disponibles avec BitLocker :

 TPM* sans authentification


 TPM + code PIN
 TPM + code PIN + clé de démarrage
 TPM + clé de démarrage
 Clé de démarrage
 Carte à puce
 Mot de passe
 Déverrouillage automatique
23 | P a g e
SECURITE LOGICIEL

Toutefois, Windows 10 v1511 introduit un nouveau mode de chiffrement : XTS-AES (mode


de chiffrement par blocs utilise par les clés USB/SSD ironkey). La protection offerte par le
mode XTS est supérieure aux autres modes de chiffrement par bloc (CBC, ECB…) mais il
n’est pas compatible avec les anciennes versions de Windows. Il permet d’éliminer les
vulnérabilités potentielles associées a certaines attaques par canal auxiliaire plus
sophistiquées, et capables d’utiliser les vulnérabilités des autres modes.

Si vous devez utiliser votre lecteur sur une ancienne version de Windows (c’est surtout le cas
avec les lecteurs amovibles), préférez l’ancien mode de chiffrement AES-CBC (mode de
chiffrement par blocs cipher block chaining).

Vous pouvez aussi faire un clic droit sur le lecteur à chiffrer dans l’Explorateur de fichiers et
sélectionner Activer BitLocker.

Figure 13:autre méthode

24 | P a g e
SECURITE LOGICIEL

Patientez pendant le chargement de BitLocker

Figure 14:verification

On choisir ensuite le mode de déverrouillage.

 Test

Figure 15:test après redémarrage

25 | P a g e
SECURITE LOGICIEL

Figure 16: message d'erreur lors de la copie d'un documents sans s'être authentifier

On doit de ce fait déverrouiller le lecteur avant d’y effectuer de quelconques opérations.

26 | P a g e
SECURITE LOGICIEL

CONCLUSION

La cryptographie est une science qui permet de protéger les données et les communications
contre les attaques malveillantes. Elle repose sur l'utilisation de clés, d'algorithmes et de
protocoles de chiffrement, d'authentification et de hachage. Elle est utilisée dans de nombreux
domaines, comme la banque, le réseau, la propriété intellectuelle ou la sécurité des
communications. Elle est indispensable pour garantir la confidentialité, l'intégrité, la
disponibilité et la non-répudiation des informations. La sécurité logicielle en cryptographie
consiste à concevoir, développer, tester et maintenir des logiciels qui utilisent la cryptographie
de manière correcte et efficace. Elle implique de respecter des principes, des normes et des
bonnes pratiques, comme le choix des algorithmes, la gestion des clés, la vérification des
sources, la protection contre les failles ou les attaques, ou encore la sensibilisation des
utilisateurs. La sécurité logicielle en cryptographie est un enjeu majeur pour la société
numérique, car elle conditionne la confiance et la sécurité des échanges d'informations.

Elle nécessite une collaboration entre les acteurs du domaine, comme les chercheurs, les
développeurs, les éditeurs, les autorités ou les utilisateurs. Elle doit aussi s'adapter aux
évolutions technologiques, comme le cloud, l'intelligence artificielle ou la blockchain, qui
offrent de nouvelles opportunités mais aussi de nouveaux défis pour la cryptographie.

La sécurité logicielle en cryptographie est un domaine passionnant et complexe, qui requiert


des compétences techniques, mais aussi une réflexion éthique et juridique. Elle est au cœur de
la cyber sécurité, qui est une nécessité vitale pour nos collectivités modernes¹. Elle est aussi un
vecteur d'innovation et de progrès, qui peut contribuer à résoudre des problèmes de la societé,
comme l'énergie, la santé ou la démocratie. Elle sera donc un défi permanent, qui demande une
vigilance et une remise en question constantes, face à la créativité et à la puissance des
adversaires.

27 | P a g e
SECURITE LOGICIEL

Bibliographie

Bibliographie

 La cryptographie de l’antiquité a l’internet « de François Bergeron et Alain goupil


28/04/2014 »
 Histoire de la cryptographie « Frederick haver 24/10/2010 »
 Sécurité des logiciels | Cours - Université Laval

Webographie

 Solutions de cryptographie | IBM


 Comment assurer la sécurité des logiciels | Secure-IC
 Logiciels de cryptographie — Wikipédia
 Meilleurs logiciels de cryptage gratuits pour 2020 (Mis à jour)
 [Link]
 [Link]
 [Link]
[Link].
 [Link]

28 | P a g e

Vous aimerez peut-être aussi