Cours Sécurité Informatique Séance 6

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 85

Sécurité informatique

- Séance 6 -

Interv. SERNANE SOUFIANE


Chapitre 4 :

DÉCOUVRIR LA
CRYPTOGRAPHIE ET LES
SOLUTIONS DE GESTION
ET DE PARTAGE DE CLÉS
DÉCOUVRIR LA CRYPTOGRAPHIE ET LES
CERTIFICATS NUMÉRIQUES
PARTIE 1 :
PLAN :

1. Objectifs de la cryptographie
2. Cryptographie symétrique et
Cryptographie asymétrique
3. Fonction de hachage
4. Certificats X.509
Chiffrement symétrique :
Chiffrement symétrique :

Une même clé permet de chiffrer et de déchiffrer.

Clé Clé

Message Chiffré Message

Avantage : simple (rapide)


Inconvénient : comment partager la clé avec son
correspondant de façon sûre ?
Chiffrement asymétrique :
Chiffrement asymétrique :

Deux clés : une privée (Cpr), une publique (Cpu).


Clé Clé
privée pub.

Message Chiffré Message

Clé Clé
pub. privée

Message Chiffré Message


Les étapes du chiffrement asymétrique :

1. Un utilisateur génère une paire de clés (clé publique et clé


privé) ;
Les étapes du chiffrement asymétrique :

2. Bob publie sa clé publique, tandis que la clé associée reste


privée. Bob envoie sa clé publique à Alice ;
Les étapes du chiffrement asymétrique :

3. À la réception, Alice conserve la clé publique de Bob. En


effet, chaque utilisateur doit conserver tous les clés publiques
obtenues des autres ;
Les étapes du chiffrement asymétrique :

4. Lorsque Alice souhaite envoyer un message confidentiel à


Bob, elle crypte le message à l'aide de la clé publique de Bob ;
Les étapes du chiffrement asymétrique :

5. Lorsque Bob reçoit le message, il le déchiffre à l'aide de sa


clé privée. Par conséquent, aucun autre destinataire ne peut
déchiffrer le message car seule Alice connaît la clé privée
d'Alice.
Propriétés du chiffrement asymétrique :

Un message chiffré par clé privée :



Ne peut être déchiffré que via la Cpu

Assure qu’il a été émis par la Cpr corresp.
Un message chiffré par clé publique :

Ne peut être déchiffré que via la clé privée
Mais :

Tout le monde peut déchiffrer ce qui vient de Cpr

Rien n’indique qui a envoyé ce qui vient de Cpu
Conclusion :

Symétrique : efficace, mais comment partager une


clé secrète (unique pour chaque paire de
correspondants) dans un contexte mondial ?
Asymétrique : clé publique (partage plus simple)
mais :

Assurance qu’on a la bonne clé publique ?

Tout le monde peut déchiffrer ce qui vient de Cpr

Rien ne dit qui a chiffré avec Cpu
→ il faut un mécanisme de preuve des identités
Problématique:

• Client-serveur : est-ce le bon serveur ?


– (man-in-the-middle…)
• Serveur-client : est-ce le bon client ?
– (mot de passe ; IP…)
• Échanges : interception des contenus ?
– (mots de passe ; données sensibles…)
• Documents (mails, textes) : origine et intégrité ?
– (faux mail ; document falsifié…)
Besoins :

Il faut pouvoir :
● Prouver son identité / vérifier une identité
● Permettre l’échange sécurisé de données
● Permettre la signature de données :
– Non modification
– Non répudiation
– Non réutilisation
– (+ identification / non falsifiable)
Identité :

Comme pour une carte d’identité : une autorité


valide un ensemble d’informations permettant de
définir une identité.
Dans le cadre du chiffrement asymétrique : une
autorité valide une association identité ↔ Cpu
Cas des serveurs : seul le serveur doit prouver son
identité (la plupart du temps) → certificat serveur

Comment faire ?
Certificat numérique X509 :

Un certificat X.509 est un certificat numérique qui


établit la confiance en vérifiant l’authenticité d’une
entité, telle qu’un site web, un serveur ou une
personne, dans un environnement en ligne.
Définis par l’Union internationale des
télécommunications (UIT-T) et normalisés pour être
utilisés dans l’infrastructure à clé publique (ICP),
Certificat numérique X509 :

les certificats X.509 agissent comme des passeports

numériques, liant une clé publique cryptographique à

l’identité de l’entité qui présente le certificat.


Certificat numérique X509 :

Les certificats de clé publique sont signés


numériquement et contiennent généralement les
informations suivantes :
• Clé publique : Utilisée pour le cryptage des
données et la vérification des signatures
numériques.
• Informations sur l’identité : Détails sur le détenteur
du certificat, tels qu’un nom de domaine, une
organisation ou le nom d’une personne.
• Informations sur l’émetteur : Identifie l’autorité de
certification (CA) responsable de l’émission du
certificat.
Certificat numérique X509 : 2

Les certificats de clé publique sont signés


numériquement et contiennent généralement les
informations suivantes :
• Période de validité : Spécifie la période pendant
laquelle le certificat est valide.
• Signature numérique : Une signature
cryptographique de l’autorité de certification
émettrice qui garantit l’intégrité et l’authenticité du
certificat.
Champs d’un certificat numérique X509 :

Il existe trois versions incrémentielles de la norme de


certificat X.509, et chaque version ultérieure a ajouté
des champs de certificat à la norme :
• La version 1 (v1), publiée en 1988, suit la norme
X.509 initiale pour les certificats.
• La version 2 (v2), publiée en 1993, ajoute deux
champs aux champs inclus dans la version 1.
• La version 3 (v3), publiée en 2008, représente la
version actuelle de la norme X.509. Cette version
ajoute la prise en charge des extensions de
certificat.
Structure d’un certificat X.509:

a- Version : spécifie la
version du format de
certificat. La valeur par
défaut est la version 1
• Version 2 : l'identifiant
unique de l'émetteur et/ou
l'identifiant unique de
l’utilisateur sont présents
• Version 3 : les extensions
sont présentes
Structure d’un certificat X.509:

b- Numéro de série : valeur


unique au sein de l'autorité
de certification associée sans
ambiguïté à ce certificat.
c-Algorithme de signature:
l'algorithme utilisé pour signer
le certificat avec tous les
paramètres associés.
Structure d’un certificat X.509:

d- Nom de l’émetteur:
le nom de l'autorité de
certification qui a créé et
signé ce certificat.
e- Validité :
se compose de deux dates :
la première et la dernière à
laquelle le certificat est
valide.
Structure d’un certificat X.509:

f- Nom de l’utilisateur:
le nom de l'utilisateur auquel
ce certificat fait référence
g- Informations sur la clé
publique :
la clé publique de
l’utilisateur, plus un
identifiant de l'algorithme
pour lequel cette clé doit
être utilisée, ainsi que tous
les paramètres associés.
Structure d’un certificat X.509:

h- Identifiant unique de
l’émetteur:
chaîne de bits facultatif pour
identifier de manière unique
l'autorité de certification
émettrice.
i- Identifiant unique de
l’utilisateur :
chaîne de bits facultatif pour
identifier de manière unique
l’utilisateur
Structure d’un certificat X.509:

J- les extensions :
un ou plusieurs champs
d'extension facultatifs.
k- Signature du certificat:
couvre tous les autres
champs du certificat ; il
contient le hash ode des
autres champs chiffrés avec
la clé privée du CA.
Signature :

Utilise le principe clé publique / privée :



L’ensemble des données est résumé (via MD5,
SHA, ou autre méthode fiable)

Le résumé est chiffré avec la clé privée du CA

Le résultat est ajouté aux informations

Le certificat du CA est ajouté aux informations

→ l’ensemble constitue un certificat


Utiliser un certificat :
lorsque Alice désire envoyer un message crypté à
Bob en utilisant la cryptographie asymétrique, elle
procède comme suit :
Utiliser un certificat :
1- Pour récupérer la clé publique de Bob, Alice
demande son certificat en envoyant une requête à
l’autorité de certification (CA) ;
Utiliser un certificat :
2. À la réception de la requête d’Alice, le CA lui
envoie le certificat signé de Bob ;
Utiliser un certificat :
3. Alice vérifie la signature du CA. Si c’est bien
vérifié, alors elle extrait la clé publique de Bob ;
Utiliser un certificat :
4. Alice utilisé la clé publique de Bob incluse
dans le certificat pour chiffrer le message et
l’envoie ensuite à Bob.
Vérifier un certificat :

Les étapes sont :



Récupérer le certificat du serveur

Vérifier l’identité fournie (est-ce le bon serveur)

Faire un résumé des infos présentes (MD5…)

Déchiffrer la signature avec la clé publique du CA

Comparer le résumé déchiffré avec celui calculé
Si les résumés sont identiques on a l’assurance que
les informations sont telles que signées par le CA.
Fonctionnement des certificats x.509 :

Au cœur des certificats X.509 se trouve le concept de


cryptographie à clé publique, un système qui garantit
une communication sécurisée en s’appuyant sur une
paire de clés : une clé publique et une clé privée. clé
privée. Cette paire de clés permet l’échange de
données cryptées, la vérification de la signature
numérique et une authentification solide de l’identité.
Fonctionnement des certificats x.509 :

Le rôle de l’infrastructure à clé publique (ICP)


Les certificats X.509 font partie intégrante de
l’infrastructure à clé publique (PKI), qui fournit le cadre
de gestion des certificats numériques. L’ICP établit la
confiance par le biais d’un système hiérarchique
d’autorités de certification (AC), responsables de
l’émission, de la validation et de la révocation des
certificats.
Étapes du processus de production d’un
certificat X.509:

1- Délivrance du certificat :

Le processus commence par une demande de


signature de certificat (CSR), dans laquelle l’entité
génère une paire de clés publique-privée et soumet la
clé publique à une autorité de certification de
confiance. L’autorité de certification valide l’identité de
l’entité et signe le certificat avec sa clé privée, en
intégrant la clé publique et d’autres informations
relatives à l’identité.
Étapes du processus de production d’un
certificat X.509:

2- Vérification et établissement de la confiance :

Lorsqu’un client, tel qu’un navigateur web, reçoit un


certificat X.509, il vérifie la signature numérique du
certificat à l’aide de la clé publique de l’autorité de
certification.
Une chaîne de confiance est validée, depuis le
certificat de l’entité finale jusqu’aux autorités de
certification intermédiaires et, enfin, jusqu’à l’autorité
de certification racine de confiance.
Étapes du processus de production d’un
certificat X.509:

3- Cryptage et communication sécurisée :

La clé publique du certificat permet d’envoyer des


données cryptées en toute sécurité au détenteur du
certificat, qui peut les décrypter à l’aide de sa clé
privée. De même, le détenteur du certificat peut signer
numériquement des données avec sa clé privée, et le
destinataire peut vérifier la signature à l’aide de la clé
publique.
Étapes du processus de production d’un
certificat X.509:

4- Validation continue:

La validité des certificats est contrôlée en permanence.


Des mécanismes tels que les listes de révocation de
certificats (CRL) et le Online Certificate Status Protocol
(OCSP) garantissent que les certificats compromis ou
expirés sont rapidement invalidés.
Création d’un certificat :

Alice génère ses clés Kpublic et Kprivé


Création d’un certificat :

Elle émet une requête au CA pour un certificat de


Kpublic
Création d’un certificat :

CA valide la clé, authentifie Alice et génère un certificat

- Le certificat est signé par le CA


- Cette signature certifie l’origine
du certificat & son intégrité.
Création d’un certificat :

Le certificat est publié dans un annuaire publique


Applications des certificats x.509 :

1. SSL/TLS et navigation web sécurisée


Les certificats X.509 sont fondamentaux pour les
protocoles protocoles SSL/TLS qui permettent de
sécuriser les connexions web. En activant le protocole
HTTPS, ils garantissent une communication cryptée
entre les navigateurs web et les serveurs, protégeant
ainsi les utilisateurs contre les violations de données,
les écoutes clandestines et les attaques de type “man-
in-the-middle”. Sans certificat X.509, les navigateurs
affichent des avertissements, signalant qu’un site n’est
peut-être pas digne de confiance.
Applications des certificats x.509 :

2. Communication par courrier électronique


sécurisée (S/MIME)
Les certificats X.509 sont essentiels pour sécuriser les
communications par courrier électronique via le
protocole S/MIME (Secure/Multipurpose Internet Mail
Extensions). Ils fournissent :
- Cryptage : Garantir la confidentialité du contenu des
courriels.
- Signatures numériques : Vérifier l’identité de
l’expéditeur et assurer l’intégrité du message.
Applications des certificats x.509 :

3-Signature de codes et de documents


Les développeurs de logiciels et les émetteurs de
documents s’appuient sur les certificats X.509 pour
authentifier leur travail :
- Signature du code: Vérifie que le logiciel n’a pas été
modifié après sa création, ce qui renforce la confiance
de l’utilisateur.
- Signature de documents: Garantit l’authenticité et
l’intégrité des documents numériques, ce qui est
particulièrement important dans les contextes
juridiques et financiers.
Applications des certificats x.509 :

4. Authentification de l’identité
Les certificats X.509 sont largement utilisés dans les
solutions d’identité numérique, telles que :

- Authentification des utilisateurs sur les plateformes


de banque en ligne et de commerce électronique.
- Fournir un accès sécurisé aux systèmes de
l’entreprise, tels que les réseaux privés virtuels (VPN)
ou les portails des employés.
Applications des certificats x.509 :

5. Sécurité des dispositifs et de l’IdO

Dans l’écosystème de l’Internet des objets (IoT), les


certificats X.509 jouent un rôle clé :

- Garantir une communication sécurisée entre


appareils.
- Vérifier l’identité des appareils connectés afin
d’empêcher tout accès non autorisé.
Application : Transaction HTTPS

Un navigateur se connecte à un serveur HTTPS :



Le client demande une connexion sécurisée, en
indiquant :
– Le nom du serveur cible
– Les protocoles supportés

Le serveur répond en indiquant :
– Qu’il accepte la connexion
– Le protocole choisi dans la liste
– Son certificat (+ certificats intermédiaires)
Application : Transaction HTTPS 2


Le client valide le certificat

Le client génère une clé de chiffrement symétrique

Le client chiffre et envoie cette clé avec la clé
publique du serveur : seul le serveur pourra la
déchiffrer

Le serveur récupère la clé symétrique
À partir de là client et serveur vont communiquer en
chiffrement asymétrique (plus rapide)
Certificat personnel :

Même principe : une identité est certifiée par une


autorité (CA), en général en incluant des
vérifications directes et indirectes (présence dans
l’entreprise, confirmation directe de la demande…)
Un certificat personnel peut être utilisé pour :

Prouver son identité à un service (à la place de
login+password / clé / adresse IP / …)

Signer des données (document, mail, formulaire)

Chiffrer des données (document, mail…)
Certificat personnel 2 :

Note : pour s’identifier ou signer le certificat (joint


au document/mail) suffit.
Pour chiffrer un document il faut le certificat du
destinataire (sinon tout le monde peut déchiffrer
avec notre clé publique…)
→ nécessite un échange préalable de certificats
Note (2) : signer un mail nécessite la Cpr → difficile
si on utilise un webmail
Certificat personnel 3 :

Une fois la communication chiffrée établie :



Le client fait suivre son certificat

Le serveur vérifie la validité du certificat

Le client signe une information avec sa Cpr

Le serveur vérifie cette signature
→ le serveur est sûr qu’il parle avec celui qui
possède la clé privée du certificat client reçu
Inconvénients :


Le chiffrement consomme des ressources sur
les serveurs et les clients

Il nécessite d’obtenir des certificats,
généralement payants et à renouveler

Il empêche le fonctionnement des serveurs de
cache (proxy)

Il peut générer des incompréhensions des
utilisateurs (alertes sécurité…)
METTRE EN PLACE UNE PKI (PUBLIC
INFRASTRUCTURE)
PARTIE 2 :
PLAN :

1. Architecture PKI
2. Fonctions de gestion d’une
PKI
3. Protocoles PKI : CMP et CMS
Gestion des clés :

La gestion des clés concerne :


– La distribution de clés cryptographiques,
– Les mécanismes utilisés pour l'association
identité–clé
– La génération, la maintenance et la révocation de
clés.
– Le stockage sécurisé à long terme des clés de
déchiffrement
Problématique :

→ Comment associer une clé publique à une


(représentation d'une) identité ?

→ Comment représenter une identité (nommage)?

→ Comment sécuriser la création des identités?

→ Comment limiter les dégâts provoqués par la perte d'une


clé secrète?

→ Comment informer à temps tous les membres de la


communauté de cette perte ?
Architecture PKI :

• Selon RFC 2822 (Internet Security Glossary), une


infrastructure à clé publique (Public Key
Infrastructure, PKI, en anglais) est l'ensemble du
matériel, logiciels, personnes, politiques et
procédures permettant de créer, gérer,
stocker, distribuer et révoquer des certificats
numériques basés sur la cryptographie
asymétrique.
• L'infrastructure à clé publique conforme à la
norme X.509 est connue sous le nom de PKIX.
Services fournit par PKI :

La PKI permet de vérifier l'identité des différentes


entités communicantes et de créer les certificats
ainsi que de faire des tests d'appartenance de
certificats.
Elle permet également de gérer la révocation des
clés et le recouvrement des clés de déchiffrement.
Le renouvellement et la publication des certificats
est aussi géré par la PKI.
Services fournit par PKI :

Résumé :

⋆ Vérification d'identité et création de certificats

⋆ Révocation des clés

⋆ Test d'appartenance de certificats

⋆ Recouvrement des clés de déchiffrement


Les différents acteurs de PKI :

Composants d'une PKI :

– Authorité de certification (CA).

– Authorité d'enregistrement (RA).

– Authorité de dépot (Repository).

– Authorité de recouvrement.
Les différents acteurs de PKI :

Autorité de certification (CA) : signe les


demandes de certificat (Certificate Signing Request
=> CRS) et les révocations de ces derniers
(Certificate Revocation List => CRL).
C'est l'autorité décisionnelle et de confiance dans
le processus de certification faisant d'elle l'entité le
plus critique.
Les différents acteurs de PKI :

Autorité d’enregistrement (RA) :


cette entité vérifie l'identité du demandeur de
certificat et s'assure qu'il ne s'agit pas d'une
usurpation d'identité.
Elle constitue l'interface entre l'utilisateur et la CA.
Les différents acteurs de PKI :

Autorité de dépôt (Repository ):


stocke l'ensemble des certificats valides et
révoqués.
L'ensemble des certificats des clés publiques émis
par la CA est mis à disposition des utilisateurs
par l'autorité de dépôt.
Les différents acteurs de PKI :

Autorité de recouvrement ou autorité de


séquestre :
Cette entité s'occupe de protéger des clés privées
et assure une récupération de clé(s) ultérieure(s).
La perte d'une clé privée par son propriétaire ne
doit pas être définitive.
Émission d ’un certificat :
Émission d ’un certificat :
Émission d ’un certificat :
Émission d ’un certificat :
Émission d ’un certificat :
Émission d ’un certificat :
Normes PKI :
Deux types d’infrastructures :
1)- architectures hiérarchiques
reposent sur différents CA, qui sont distincts des
utilisateurs. Ex : PKIX (Public Key Infrastructure
X.509)
2)- architectures non-hiérarchiques
+ chaque utilisateur est son propre CA
+ initialement conçues pour la messagerie comme
PGP et le P2P sécurisées
+ confiance mutuelle entre les utilisateurs
Ex : SPKI, SDSII
Exemples d’utilisation de
certificats :

Serveur web (voir TLS et X.509) ;

Courrier électronique (voir OpenPGP) ;

Poste de travail (voir IEEE 802.1X) ;

Réseau privé virtuel (VPN, voir IPsec) ;

Secure Shell (SSH),;

Documents électroniques.
Cycle de vie d’un certificat :
CA en cascade :

Un CA peut être signé par un autre CA : chaîne de


certificats, jusqu’à une autorité racine
Ceci permet la délégation de signature (en général
pour un sous-ensemble des identités, par exemple
un sous-domaine, les personnes d’une société…)

Mais : au bout de la chaîne il faut faire


« confiance » à l’autorité. Comment ?
CA de confiance :

Il faut une liste des CA racine, de confiance :



Fournie par l’OS (liste acceptée par Windows,
Debian, Apple…) et mise à jour régulièrement

Fournie par l’outil (le navigateur par exemple)

Fournie par l’utilisateur (import d’un CA de
confiance, validé par l’utilisateur)
Failles possibles :


Brut-force (algorithmes trop faibles)

Failles de conception (des algo. ou du code)
→ retrouver une clé privée, déchiffrer sans avoir le
droit…

Modifier les CA sur une machine (piratage)

Modifier les CA chez le fournisseur (packages)
→ faire accepter un « faux » CA
Failles possibles 2 :


Voler un CA (signer des certificats soi-même)

Faire signer illégitimement un CA (fraude)
→ obtenir un « vrai » CA/certificat

Voler un certificat
→ se faire passer pour un serveur (par ex.)
Listes de révocation :

Chaque autorité doit fournir un service de listes de


révocations (CRL) pour indiquer les certificats qui
ne sont plus valides :

Certificat remplacé par un autre

Certificat déclaré volé

CA compromis
Problème : propagation fiable de ces informations !
OpenPGP:

X.509 est le plus répandu (grâce à HTTPS) mais il


existe aussi le format OpenPGP :

Utilise les mêmes principes (chiffrement
asymétrique + symétrique)

Peut contenir plusieurs identités

Chaque identité peut avoir plusieurs signatures
→ ce dernier point permet de créer une « toile de
confiance » : un modèle de confiance décentralisé
Obtenir un certificat :


Via un enregistreur de noms de domaines

Via une institution (liris.cnrs.fr, …)

Via Let’s Encrypt (gratuit)

Être son propre CA
Il faut créer une CSR, puis qu’elle soit signée par
un CA

Vous aimerez peut-être aussi

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy