Techniques de base
• Hachage
• Chiffrement
• Signature numérique
Hachage
Permettent la vérification de l’intégrité du message
C’est une chaîne de données qui associe un message (dans sa forme numérique) à l'entité dont il est
originaire.
Les fonctions de hashage sont largement utilisées dans la sécurité informatique, dans l'intégrité des
données
Fonctions à sens unique calculant une empreinte du message
Facilité de calcul du hachage d’un message
Impossibilité de retrouver le message à partir du hachage
Impossibilité de construire deux messages ayant le même hachage
Impossibilité de modifier un message sans mise à jour du hachage
● Exemples
– echo “bonjour” | sha1 sum 1F71E0F4AC9B47CD93BF269E4017ABAAB9D3BD63
– echo “Attaquons à l’aube!!!” | sha1 sum 8073B9D9B2EB74F31F9AE87359AF440883380D7E
Hachage
Exemples de fonctions de Hachage
MD5 : Message Digest 5, il génère une empreinte de 128 bits.
SHA-1 : Sécure Hash Algorithm, il génère une empreinte de 160 bits..
Cryptographie
Historique et introduction
Lorsque Jules César envoyait des messages à ses généraux, il ne faisait pas
confiance à ses messagers.
Il remplaçait donc tous les A contenus dans ses messages par des D, les B par des E, et
ainsi de suite pour tout l'alphabet.
Seule la personne connaissant la règle du « décalage par trois » pouvait déchiffrer ses
messages.
Historique et introduction
Pour protéger une information :
Stéganographie
Cryptographie
Transposition
Substitution
Historique et introduction
La stéganographie : écriture couverte
L'information est dissimulée au sein d'une autre information afin de la rendre
invisible.
Durant l'antiquité, certains généraux rasaient le crâne de leurs esclaves, leur
tatouaient un message et attendaient que les cheveux repoussent pour faire passer des
informations importantes.
Historique et introduction
La cryptographie :
L'information est modifiée selon une méthode préétablie afin de la rendre
incompréhensible.
Il existe deux grandes catégories :
Par transposition : l'ordre des éléments d'une information est modifiée
(caractères d'une phrase, pixels d'une image, ...)
Par substitution : les éléments d'une information sont remplacés par d'autres
(remplacer tous les A par B, B par C, etc...)
Cryptographie
Définitions
Protagonistes traditionnels
Alice et Bob souhaitent se transmettre des Informations
Oscar, un opposant qui souhaite espionner Alice et Bob.
Objectif fondamental de la cryptographie :
Permettre à Alice et Bob de communiquer sur un canal peu sûr
(Réseau informatique/ téléphonique)
Oscar ne doit pas comprendre ce qui est échangé.
Définitions
Message clair: Cette expression désigne le message original n'ayant subi aucune
modification
Clé: La clé désigne l'information permettant de chiffrer et de déchiffrer un message
Chiffrement:
Processus de transformation d'un message M de telle manière à le rendre
incompréhensible :
Basé sur une fonction de chiffrement E
On génère ainsi un message chiffré C = E(M)
Définitions
Déchiffrement:
Processus de reconstruction du message clair à partir du message chiffré :
Basé sur une fonction de déchiffrement D
On a donc D(C) = D(E(M)) = M
En pratique : E et D sont généralement paramétrées par des clefs Ke et Kd :
Eke(M) = C
Dkd(C)=M
Définitions
Cryptage et décryptage
La méthode permettant de dissimuler du texte en clair en masquant son contenu est
appelée le cryptage.
Le cryptage (verbe Chiffrer ou chiffrer) consiste à transformer un texte normal en
charabia inintelligible appelé texte chiffré
Le décryptement est l'action consistant à retrouver, le message non codé sans
connaître la clé de déchiffrement.
Définitions
Cryptage Décryptage
Texte en clair
Texte chiffré Texte en clair
Définitions
La cryptographie est la science qui utilise les mathématiques pour le cryptage et le
décryptage de données.
La cryptanalyse est l'étude des informations cryptées, afin d'en découvrir le secret.
La cryptologie englobe la cryptographie et la cryptanalyse
Exemple: Chiffrement de César
Chiffrement de César
Consiste à décaler l'alphabet clair. Le décalage est la clé du chiffrement
Exemple :
On veut chiffrer le mot CRYPTOGRAPHIE avec un décalage de 3.
Pour cela on écrit les alphabets clair et chiffré comme suit :
ABCDEFGHIJKLMNOPQRSTUVWXYZ
DEFGHIJKLMNOPQRSTUVWXYZABC
Et on remplace:
CRYPTOGRAPHIE ---> FUBSWRJUDSKLHj
Chiffrement de César
Faiblesse du chiffre de César:
Il n'y a que 26 clés possibles !
Donc étant donnée un message chiffré, il suffit de tester les 26 clés possibles pour
retrouver le message clair.
Cela se fait en quelques minutes !!
Cryptographie moderne
Cryptographie symétrique
On utilise la même clé pour chiffrer et déchiffrer un message (ke = kd = k).
Les deux communicants doivent être en possession de cette clé.
La norme de cryptage de données (DES) est un exemple de ce type de système
largement utilisé.
Cryptographie symétrique
Cryptographie symétrique
Avantage:
Il est très rapide
Inconvénient:
La distribution des clés reste le problème majeur du cryptage conventionnel surtout
lorsque Le nombre de communicants devient grand.
Autrement dit, comment faire parvenir la clé à son destinataire sans qu'aucune personne ne
l'intercepte ?
Cryptographie symétrique
Comment partager un secret ?
Exemple du facteur :
Supposons qu'Alice souhaite expédier un colis confidentiel à Bob par la poste, cependant, le
facteur chargé de la livraison ne peut résister à l'envie de lire les messages
Solution:
Alice met son colis dans une boite qu'elle ferme avec un cadenas et l'envoie à Bob.
Bob reçoit le colis, rajoute un cadenas à la boite et renvoie le tout à Alice
Alice retire son cadenas avec sa clé et renvoie la boite à Bob.
Bob peut maintenant ouvrir la boite avec sa clé et profiter du colis.
Cryptographie asymétrique
Chaque entité possède une paire de clés :
Une clé publique, connue par toutes les autres entités et utilisée pour chiffrer un
message donné,
Une clé privée qui ne doit être connue que par l’entité qui possède la paire en question,
et qui est utilisée pour déchiffrer un message
Un message chiffré avec une clé publique ne peut être déchiffré qu’avec la clé privée
correspondante.
Cryptographie asymétrique
Principe:
Bob laisse ses cadenas en libre accès à la poste
Alice peut à tout moment venir à la poste prendre un cadenas et envoyer un message
à Bob
Bob peut facilement ouvrir son cadenas avec sa clé et récupérer le message.
Cryptographie asymétrique
Cryptographie asymétrique
Cryptographie asymétrique
Difficulté : Il faut disposer d'un système de cryptage ayant des clés de chiffrement et des
clés de déchiffrement différentes.
But:
Trouver des fonctions mathématiques:
Faciles à utiliser dans un sens
Très difficile à inverser, à moins de connaître un paramètre secret
Le chiffrement asymétrique est utilisé, par exemple, dans la distribution des clés qui
seront utilisées, par la suite, pour le chiffrage symétrique.
Cryptographie asymétrique
RSA: le premier protocole a clef publique
1977 : Rivest, Shamir et Adleman
(RSA)
Cryptographie asymétrique
RSA: le premier protocole a clef publique
Cryptographie asymétrique
RSA: le premier protocole a clef publique
Générer deux grands nombres premiers p et q
– Soit n = pq
– Soit m = (p-1)(q-1)
Choisir un nombre e premier avec m (choix fréquent : e = 3)
Trouver d tel que de mod m = 1
Clés obtenues –
Clé publique : (e,n)
Clé privée : (d,n)
Cryptage et décryptage
Cryptage : y
= xe mod n
Décryptage : x = yd mod n
Cryptographie asymétrique
RSA: Exemple
• p = 7 et q = 19
• n = 7 * 19 = 133 m = (p-1) * (q-1) = 6 * 18 = 108
• Choix de e premier avec m
PGCD(2,108) = 2 ; PGCD(3,108) = 3 ; PGCD(4,108) = 4 ; PGCD(5,108) = 1 → e = 5
• Détermination de d tel que de mod m = 1
il existe k tel que d = (1+km) / e k = 0
→ d = 1/5 ; k = 1 → d = 109/5 ; k = 2 → d = 217/5 ; k = 3 → d = 325/5 = 65
• Clé publique : (n = 133 ; e = 5)
• Clé privée : (n = 133 ; d = 65)
Cryptographie asymétrique
RSA: Exemple
Cryptographie asymétrique
RSA: Exemple
Exemple:
p=5, q=7
p=7, q=13
e?
d?
X =6
Y?
Cryptographie asymétrique
RSA: Exemple
● Pour « casser » le code, il faut trouver d (exposant privé) à partir de n et e (clé publique)
● Eve sait que de mod m = 1
● Pour résoudre cette équation, il faut connaître m.
déterminer les nombres premiers p et q tels que pq = n (puisque m = (p-1)(q-1))
● Donc trouver la factorisation de n en deux nombres premiers p et q
● La factorisation d'un entier (de très grande taille) en facteurs premiers est extrêmement difficile, cette
opération nécessitant une capacité de calcul très importante.
● Il est régulièrement recommandé d'utiliser des tailles de clés de plus en plus grandes (actuellement de 2048
bits)
Nom Année de cassage Par qui ?
RSA-100 1991 Inconnu
RSA-110 1992 Inconnu
RSA-120 1993 Inconnu
RSA-129 1994 Inconnu. 100$ ont été donnés par RSA Labs à ceux qui ont découvert le moyen de factoriser ce nombre de 129 chiffres.
RSA-130 1996 Inconnu
RSA-140 1999 Une équipe internationale de chercheurs et la puissance de calcul du SARA Amsterdam Academic Computer Center
RSA-155 1999 Une équipe internationale de chercheurs
RSA-160 2002 Une équipe internationale de chercheurs du BSI
Une équipe internationale de chercheurs (J. Franke, F. Bahr, M. Boehm, T. Kleinjung). 10000$ ont été donnés par
RSA-576 2003
RSA Labs à ceux qui ont découvert le moyen de factoriser ce nombre de 576 chiffres.
Une équipe allemande du "Federal Agency for Information Technology Security" (BSI). 20000$ ont été donnés par
RSA-640 2005
RSA Labs à ceux qui ont découvert le moyen de factoriser ce nombre de 640 chiffres.
RSA-768 2010 Une équipe composée de 13 personnes
RSA-704 2012 Une équipe de l'Inria
Cryptographie asymétrique
Un nouveau chalenge est lancé
Récompense 200 000$ !!!
Liste des Algorithme les plus connus
Cryptographie symétrique
– DES
– 3DES
– AES
– RC4
– RC5
– MISTY1
Cryptographie asymétrique
– RSA
– Elliptic Curve Cryptography
– ElGamal
Signature numérique
Permet de vérifier l’authenticité du message
Générer le hachage H du message
Chiffrer H avec la clé privée et envoyer le résultat avec le message
Signature numérique
Exemples de fonctions de Hashage
•Imaginons que Alice souhaite envoyer un document signé à Bob.
Tout d'abord, elle génère l'empreinte du document au moyen d'une fonction de hachage.
•Puis, elle crypte cette empreinte avec sa clé privée.
Elle obtient ainsi la signature de son document. Elle envoie donc ces deux éléments à Bob
Signature numérique
Exemples de fonctions de Hashage
Pour vérifier la validité du document, Bob doit tout d'abord déchiffrer la signature en utilisant la clé publique
d'Alice. Si cela ne fonctionne pas, c'est que le document n'a pas été envoyé par Alice.
Ensuite, Bob génère l'empreinte du document qu'il a reçu, en utilisant la même fonction de hachage qu'Alice
Puis, il compare l'empreinte générée et celle issue de la signature.
Si les deux empreintes sont identiques, la signature est validée. Nous sommes donc sûr que :
C'est Alice qui a envoyé le document,
Le document n'a pas été modifié depuis qu'Alice l'a signé.
Dans le cas contraire, cela peut signifier que :
Le document a été modifié depuis sa signature par Alice,
Ce n'est pas ce document qu'Alice a signé
Signature numérique
Problème avec la Cryptographie asymétrique
Une personne peut placer une fausse clé (celle du pirate par exemple) comportant le nom et
l'ID utilisateur du destinataire.
Les données cryptées (et interceptées) vers le détenteur réel de cette clé erronée sont
dorénavant entre de mauvaises mains.
Donc les utilisateurs doivent constamment vérifier qu'ils cryptent vers la clé du bon
utilisateur.
Solution: l’utilisation des Certificats numériques
Certificats numériques
Les certificats numériques simplifient la tâche qui consiste à déterminer si une clé
publique appartient réellement à son détenteur supposé.
Un certificat correspond à une référence. Il peut s'agir par exemple de votre permis de
conduire, de votre carte de sécurité sociale ou de votre certificat de naissance.
Chacun de ces éléments contient des informations vous identifiant et déclarant qu'une
autre personne a confirmé votre identité.
Certificats numériques
Un certificat numérique contient des données similaires à celles d'un certificat physique.
Un certificat numérique se compose de:
Une clé publique.
Des informations sur le certificat. (nom, ID utilisateur, etc.)
Une ou plusieurs signatures numériques.
La signature numérique d'un certificat permet de déclarer que ses informations ont été
attestées par une autre personne ou entité.
Certificats numériques
Les certificats sont émis par une autorité de certification (Certificate Authority – CA)
Certificats numériques
Principe
Alice fait une requête de certification d'une clé publique auprès d'une autorité
de certification.
Cette dernière vérifie la véracité des infos contenues dans ce certificat
(authentifications des infos) puis le certificat est émis dans un annuaire
Bob récupère la clé publique d'Alice via l'annuaire, récupère aussi un
certificat auto-signé via l'autorité de certification et vérifie son intégrité grâce à
la signature de la CA.
Certificats numériques
Un certificat électronique est un ensemble de données contenant :
au moins une clé publique ;
des informations d'identification, par exemple : nom, localisation, adresse électronique ;
au moins une signature (construite à partir de la clé privée) ; de fait quand il n'y en a qu'une, l'entité signataire est la
seule autorité permettant de prêter confiance (ou non) à l'exactitude des informations du certificat.
Les deux formats les plus utilisés aujourd'hui sont :
X.509, défini dans la RFC 5280
OpenPGP, défini dans la RFC 4880.
• infalsifiable : il est chiffré pour empêcher toute modification.
• nominatif : il est délivré à une entité (comme la carte d’identité est délivrée à une personne et une seule).
• certifié : il y a le « tampon » de l’autorité qui l’a délivré
Certificats numériques
Un tiers de confiance est un organisme habilité à mettre en œuvre des signatures électroniques reposant sur des
architectures d'infrastructure à clés publiques ou PKI (Public Key Infrastructure).
Dans le monde de la sécurité, on considère qu'il existe trois types de tiers de confiance :
•Autorité de certification :
Elle définit une politique de certification et la fait appliquer. Elle est porteuse de la confiance des utilisateurs.
•Autorité d'enregistrement :
Elle vérifie que le demandeur de signature électronique est bien la personne qu'il prétend être, et ce conformément aux
règles définies dans la politique de certification. Elle garantit la validité des informations contenues dans
le certificat électronique. L'autorité d'enregistrement a un rôle essentiel d'identification.
•Opérateur de certification :
L'opérateur de certification (OC) assure la fourniture et la gestion des certificats électroniques. Son rôle consiste à mettre
en œuvre une plate-forme technique sécurisée, et ce dans le respect des exigences énoncées dans la politique de
certification. Les opérateurs de certification sont en nombre limité sur le marché.
Les autorités de certification
Les autorités de certification sont des organismes enregistrés et certifiés auprès d'autorités publiques et/ou
de gouvernance de l'Internet qui établissent leur viabilité comme intermédiaire fiable.
Ces organismes diffusent leurs propres clés publiques.
Étant certifiées fiables, ces autorités sont en contact direct avec les principaux producteurs de systèmes
d'exploitation et de navigateurs web qui incluent nativement les listes de clés des autorités de certification.
C'est cette relation qui est à la base de la chaîne de confiance.
Ces clés sont appelées clés publiques racines ou certificats racines et sont utilisées pour identifier les clés
publiques d'autres organismes.
Les Communications
sécurisées
SSL/TLS
SSL(Secure Socket Layer):
Se situe entre la couche application et la couche transport.
Garantit l'authentification, l'intégrité et la confidentialité.
Développer par netscape et largement utilisé pour la
sécurisation des sites www (https).
SSL/TLS