-
Sécurité des Systèmes d’InformationThéorie et Pratique
Michel Dubois
Dernière mise à jour: 10 janvier 2011
IntroductionBases mathématiques
HistoireEn pratique ...
Table des matières
1 Introduction
2 Bases mathématiques
3 Histoire
4 En pratique ...
2/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
-
IntroductionBases mathématiques
HistoireEn pratique ...
Qu’est-ce que la crypto ?Pourquoi la crypto ?Définitions
Introduction
1 Introduction
2 Bases mathématiques
3 Histoire
4 En pratique ...
3/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
IntroductionBases mathématiques
HistoireEn pratique ...
Qu’est-ce que la crypto ?Pourquoi la crypto ?Définitions
Qu’est-ce que la crypto ?
1 IntroductionQu’est-ce que la crypto ?Pourquoi la crypto ?Définitions
4/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
-
IntroductionBases mathématiques
HistoireEn pratique ...
Qu’est-ce que la crypto ?Pourquoi la crypto ?Définitions
Une énigme. . .
I Alice désire envoyer un cadeau à Bob
I Elle ne fait aucune confiance au convoyeurI Comment doit-elle s’y prendre pour être sûre que Bob reçoive son cadeau ?
I Sans qu’il soit modifiéI Sans qu’il soit ouvert
Alice Cadeau Bob
canal non sécurisé canal non sécurisé
5/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
IntroductionBases mathématiques
HistoireEn pratique ...
Qu’est-ce que la crypto ?Pourquoi la crypto ?Définitions
Une énigme . . .
Solution symétrique : une seule clé secrète partagée
I Alice et Bob choisissent ensemble un cadenas et une clé. Chacun possède undouble de la clé
I Alice ferme le paquet du cadeau avec le cadenas et l’envoie à Bob
I Bob reçoit le paquet, l’ouvre avec sa clé et récupère son cadeau
Alice
Cadeau
Bob
canal sécurisé
canal non sécurisé canal non sécurisé
6/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
-
IntroductionBases mathématiques
HistoireEn pratique ...
Qu’est-ce que la crypto ?Pourquoi la crypto ?Définitions
Une énigme . . .
Solution asymétrique : Une clé publique pour chiffrer, une clé privée pour déchiffrer
I Bob choisi un cadenas
I Il l’envoie ouvert à Alice, et en garde la clé
I Lorsque Alice veut envoyer son cadeau à Bob, elle ferme la paquet du cadeauavec le cadenas et l’envoie à Bob
I Bob reçoit le paquet, l’ouvre avec sa clé et récupère son cadeau
Alice
Cadeau
Bob
canal non sécurisé
canal non sécurisé canal non sécurisé
7/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
IntroductionBases mathématiques
HistoireEn pratique ...
Qu’est-ce que la crypto ?Pourquoi la crypto ?Définitions
Les fondements
Base
L’objectif fondamental de la cryptographie est de permettre à deux personnes decommuniquer au travers d’un canal non sécurisé de façon à ce qu’un inconnu nepuisse intercepter la communication.
Alice
Cadeau
Bob
Ève
canal non sécurisé canal non sécurisé
pira
te
8/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
-
IntroductionBases mathématiques
HistoireEn pratique ...
Qu’est-ce que la crypto ?Pourquoi la crypto ?Définitions
Pourquoi la crypto ?
1 IntroductionQu’est-ce que la crypto ?Pourquoi la crypto ?Définitions
9/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
IntroductionBases mathématiques
HistoireEn pratique ...
Qu’est-ce que la crypto ?Pourquoi la crypto ?Définitions
La cryptographie est utilisée pour. . .Garantir la confidentialité
Confidentialité
La confidentialité est la propriété qu’une information n’est ni disponible ni divulguéeaux personnes, entités ou processus non autorisés.
I Confidentialité
Garder l’information secrète pour tous ceux qui nesont pas autorisés à la consulter.
I Anonymat
Dissimuler l’identité d’une entité impliquée dans unprocessus.
10/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
-
IntroductionBases mathématiques
HistoireEn pratique ...
Qu’est-ce que la crypto ?Pourquoi la crypto ?Définitions
La cryptographie est utilisée pour. . .Garantir l’intégrité
Intégrité
L’intégrité est la prévention d’une modification non autorisée de l’information.
I Intégrité des données
S’assurer que l’information n’a pas été modifiée parune entité non autorisée.
I Validation
Un moyen de fournir l’autorisation d’utiliser ou demanipuler une information ou une ressource.
11/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
IntroductionBases mathématiques
HistoireEn pratique ...
Qu’est-ce que la crypto ?Pourquoi la crypto ?Définitions
La cryptographie est utilisée pour. . .Garantir l’intégrité
Intégrité
L’intégrité est la prévention d’une modification non autorisée de l’information.
I Witnessing
Vérifier la création ou l’existence d’une informationou d’une entité par quelqu’un d’autre que lecréateur.
I Autorisation
Transfert, à une autre entité, de l’approbation defaire ou d’être quelque chose.
12/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
-
IntroductionBases mathématiques
HistoireEn pratique ...
Qu’est-ce que la crypto ?Pourquoi la crypto ?Définitions
La cryptographie est utilisée pour. . .Assurer l’authentification
Authentification
Prouver son identité par ce que l’on connait, par ce que l’on est, par ce que l’on a, parce que l’on fait ou par l’endroit où l’on se trouve.
I Authentification desentités
Prouver de façon interactivel’identité d’une entité.
I Authentification desmessages
Confirmation de la source del’information.
I Timestamping
Enregistrement de la date et del’heure de la création ou del’existence d’une information.
13/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
IntroductionBases mathématiques
HistoireEn pratique ...
Qu’est-ce que la crypto ?Pourquoi la crypto ?Définitions
La cryptographie est utilisée pour. . .Garantir les transactions informatiques
Transaction informatique
Une transaction informatique consiste à effectuer une opération informatiquecohérente composée de plusieurs tâches unitaires. L’opération n’est valide que sitoutes les tâches unitaires sont effectuées correctement.
I Non répudiation
Prévenir le déni d’engagements ou d’actionsprécédentes.
I Signature
Une méthode pour lier une information à une entité.
14/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
-
IntroductionBases mathématiques
HistoireEn pratique ...
Qu’est-ce que la crypto ?Pourquoi la crypto ?Définitions
La cryptographie est utilisée pour. . .Garantir les transactions informatiques
Transaction informatique
Une transaction informatique consiste à effectuer une opération informatiquecohérente composée de plusieurs tâches unitaires. L’opération n’est valide que sitoutes les tâches unitaires sont effectuées correctement.
I Réception
S’assurer que l’information transmise a bien étéreçue.
I Confirmation
Accusé de réception que le service a bien été fourni.
15/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
IntroductionBases mathématiques
HistoireEn pratique ...
Qu’est-ce que la crypto ?Pourquoi la crypto ?Définitions
La cryptographie est utilisée pour. . .Garantir le contrôle d’accès
Contrôle d’accès
Le contrôle d’accès consiste à vérifier si une entité demandant d’accéder à uneressource a les droits nécessaires pour le faire. Le contrôle d’accès offre la possibilitéd’accéder à des ressources physiques ou logiques.
I Contrôle d’accès
Restreindre l’accès à desressources d’entitésconfidentielles.
I Certification
Approbation d’une informationpar une entité de confiance.
I Révocation
Retrait d’un certificat ou d’uneautorisation.
16/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
-
IntroductionBases mathématiques
HistoireEn pratique ...
Qu’est-ce que la crypto ?Pourquoi la crypto ?Définitions
La cryptographie est utilisée pour. . .Garantir la propriété
I Propriété
Méthode permettant de se procurer une entité avec l’autorisation légale de l’utiliserou de la transférer vers d’autres.
17/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
IntroductionBases mathématiques
HistoireEn pratique ...
Qu’est-ce que la crypto ?Pourquoi la crypto ?Définitions
Définitions
1 IntroductionQu’est-ce que la crypto ?Pourquoi la crypto ?Définitions
18/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
-
IntroductionBases mathématiques
HistoireEn pratique ...
Qu’est-ce que la crypto ?Pourquoi la crypto ?Définitions
Information et Cryptographie
Information
Dans le monde de la cryptographie, le concept d’information définit une quantitécompréhensible.
Cryptographie
I κρυπτός : caché, secret ou obscur
I γράφειν : action de dessiner
Ensemble des méthodes mathématiques mises en œuvre pour assurer la protectiond’un message.
19/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
IntroductionBases mathématiques
HistoireEn pratique ...
Qu’est-ce que la crypto ?Pourquoi la crypto ?Définitions
Chiffrement et déchiffrement
Chiffrement
Le chiffrement consiste, à l’aide d’une clé de chiffrement, à transformer un texte enclair en un texte chiffré.
Déchiffrement
Le déchiffrement est l’opération réciproque du chiffrement consistant à traduire untexte chiffré en clair, en connaissant la clé de chiffrement.
Cryptogramme
C’est le message chiffré.
20/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
-
IntroductionBases mathématiques
HistoireEn pratique ...
Qu’est-ce que la crypto ?Pourquoi la crypto ?Définitions
Décryptage et cryptanalyse
Décrypter
Décrypter consiste à traduire un texte chiffré en clair sans posséder la clé dedéchiffrement.
Cryptanalyse
La cryptanalyse est l’étude destechniques mathématiquespermettant de réaliser le décryptaged’un cryptogramme.
21/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
IntroductionBases mathématiques
HistoireEn pratique ...
Qu’est-ce que la crypto ?Pourquoi la crypto ?Définitions
Cryptologie
Cryptologie = Cryptographie + Cryptanalyse
22/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
-
IntroductionBases mathématiques
HistoireEn pratique ...
NotationThéorie de l’informationThéorie de la complexitéThéorie des nombres
Bases mathématiques
1 Introduction
2 Bases mathématiques
3 Histoire
4 En pratique ...
23/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
IntroductionBases mathématiques
HistoireEn pratique ...
NotationThéorie de l’informationThéorie de la complexitéThéorie des nombres
Notation
2 Bases mathématiquesNotationThéorie de l’informationThéorie de la complexitéThéorie des nombres
24/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
-
IntroductionBases mathématiques
HistoireEn pratique ...
NotationThéorie de l’informationThéorie de la complexitéThéorie des nombres
Notation
I A définit l’ensemble fini appelé alphabet de définitionI P définit l’ensemble fini appelé espace des textes clairs (plain text)I C définit l’ensemble fini appelé espace des textes chiffrés (cipher text)I K définit l’ensemble fini appelé espace des clefs (key space)I E et D définissent respectivement l’ensemble fini des fonctions de chiffrement
(encryption) et de déchiffrement (decryption).
I si, pour chaque e ∈ K, il existe une fonction Ee ∈ E de P→ C, alors Ee estappelée fonction de chiffrement
I si, pour chaque d ∈ K, il existe une fonction Dd ∈ D de C→ P, alors Dd estappelée fonction de déchiffrement
Un cryptosystème est le sextuplet S tel que S = {A,P,C,K,E,D}
25/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
IntroductionBases mathématiques
HistoireEn pratique ...
NotationThéorie de l’informationThéorie de la complexitéThéorie des nombres
Bases
I Un schéma cryptographique est l’ensemble des fonctions de chiffrement{Ee : e ∈ K} et des fonctions de déchiffrement correspondantes {Dd : d ∈ K}avec la propriété que ∀e ∈ K il existe une clé unique d ∈ K tel que Dd = E−1e .Soit Dd(Ee(p)) = p ∀p ∈ P.
I Dans ce cas (e,d) désigne la paire de clefs.
I Un schéma cryptographique est dit "cassable" si une partie tierce, sansconnaissance préalable de la paire de clefs (e,d), peut systématiquementretrouver le texte clair à partir du texte chiffré dans un laps de tempsraisonnable.
26/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
-
IntroductionBases mathématiques
HistoireEn pratique ...
NotationThéorie de l’informationThéorie de la complexitéThéorie des nombres
Processus de chiffrement
p ∈ PTexte en clair
Ee(p)Fonction de chiffrement
e ∈ K
p ∈ PTexte en clair
Dd(c)Fonction de déchiffrement
d ∈ K
c ∈ CTexte chiffré
Alice Bob
canal non sécurisé
Clé de chiffrement Clé de déchiffrement
27/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
IntroductionBases mathématiques
HistoireEn pratique ...
NotationThéorie de l’informationThéorie de la complexitéThéorie des nombres
Quelques définitions. . .
Fonction à sens unique (one way function) : une fonction f deX→ Y est une fonction à sens unique si :
I f(x) est "facile" à calculer ∀x ∈ X et,I pour la plupart des éléments y ∈ Im(f)
il est "quasiment impossible" de trouverx ∈ X tel que f(x) = y.
Fonction à sens unique avec trappe (trapdoor one wayfunction) : une fonction f de X→ Y est unefonction à sens unique avec trappe si,connaissant certains élémentssupplémentaires, il devient "facile", pour laplupart des éléments y ∈ Im(f), de trouverun x ∈ X tel que f(x) = y.
28/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
-
IntroductionBases mathématiques
HistoireEn pratique ...
NotationThéorie de l’informationThéorie de la complexitéThéorie des nombres
Théorie de l’information
2 Bases mathématiquesNotationThéorie de l’informationThéorie de la complexitéThéorie des nombres
29/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
IntroductionBases mathématiques
HistoireEn pratique ...
NotationThéorie de l’informationThéorie de la complexitéThéorie des nombres
Théorie de l’information
Théorie de l’information
La théorie de l’information est définie par Claude Elmwood Shannon dans son article“A Mathematical Theory of Communications” publié en 1948.
Système de communication
Source
Encodeur
Canal
Décodeur
DestinataireSource de bruit
message
signal signal
message
Un message est un ensemble de signes. Cela implique donc un codage parl’émetteur, et un décodage par le récepteur.
30/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
-
IntroductionBases mathématiques
HistoireEn pratique ...
NotationThéorie de l’informationThéorie de la complexitéThéorie des nombres
Théorie de l’information
La théorie de l’information permet de quantifier l’information en déterminantmathématiquement le taux d’information transmis dans la communication d’unmessage par un canal de communication en présence de parasites.
La théorie de l’information permet :
1 d’étudier l’efficience des communication : compressionet codes correcteurs
2 d’étudier la possibilité de communication secrète
Shannon généralise la notion de bit comme unité de mesure de l’information.
31/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
IntroductionBases mathématiques
HistoireEn pratique ...
NotationThéorie de l’informationThéorie de la complexitéThéorie des nombres
Théorie de l’informationL’entropie
Quelle est la quantité d’information nécessaire pour coder les données suivantes ?
I homme
I femme
I 1
I 0
I dimanche
I lundi
I mardi
I mercredi
I jeudi
I vendredi
I samedi
I 000
I 001
I 010
I 011
I 100
I 101
I 110
I a
I . . .
I z
I A
I . . .
I Z
I 0
I . . .
I 9
I 000001
I . . .
I 011010
I 011011
I . . .
I 110100
I 110101
I . . .
I 111110
Entropie d’un message
L’entropie du message M est le nombre minimal de bits nécessaires pour codertoutes les significations n possibles de ce message. Elle est calculée à l’aide de laformule : H(M) = log2n.
32/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
-
IntroductionBases mathématiques
HistoireEn pratique ...
NotationThéorie de l’informationThéorie de la complexitéThéorie des nombres
Théorie de l’informationL’incertitude
Incertitude d’un message
L’incertitude d’un message est le nombre de bits de texte en clair nécessaires pourretrouver le texte clair en entier à partir du texte chiffré.
Exemple
Si le message chiffré YHGTERSF a pour signification soit chien soit oiseau, alors sonincertitude vaut 1.En effet, il suffit de découvrir 1 bit pour retrouver le texte clair.
33/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
IntroductionBases mathématiques
HistoireEn pratique ...
NotationThéorie de l’informationThéorie de la complexitéThéorie des nombres
Théorie de l’information
Taux du langage et Redondance
I Le taux du langage : r = H(M)/N (N est la longueur des messages).Pour l’anglais, r = 1, 3 ;
I Le taux absolu d’un langage est le nombre maximal de bits qui peuvent êtrecodés par chaque caractère : R = log2L ou L est le nombre de caractères dulangage.Pour l’anglais, R = log226 = 4, 7 ;
I La redondance d’un langage est définie par D = R− r. Pour l’anglais, D = 4, 7− 1, 3 = 3, 4 ;Cela signifie que que chaque caractère apporte 3, 4 bits d’information redondante.
Confusion et Diffusion
I La confusion gomme les relations entre le message et le cryptogramme. Le moyenle plus simple pour y parvenir est la substitution
I La diffusion disperse la redondance du texte clair en la répartissant dans le textechiffré. Le moyen le plus simple pour y parvenir est la permutation
34/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
-
IntroductionBases mathématiques
HistoireEn pratique ...
NotationThéorie de l’informationThéorie de la complexitéThéorie des nombres
Théorie de la complexité
2 Bases mathématiquesNotationThéorie de l’informationThéorie de la complexitéThéorie des nombres
35/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
IntroductionBases mathématiques
HistoireEn pratique ...
NotationThéorie de l’informationThéorie de la complexitéThéorie des nombres
Théorie de la complexité
La complexité d’un algorithme est déterminée par lapuissance de calcul nécessaire pour l’exécuter. Elle estmesurée par :
I T pour la complexité en temps
I S pour la complexité en espace mémoire
I n correspondant à la taille de l’entrée
36/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
-
IntroductionBases mathématiques
HistoireEn pratique ...
NotationThéorie de l’informationThéorie de la complexitéThéorie des nombres
Théorie de la complexité
Si en analysant un algorithme, nous constatons que le temps nécessaire afin derésoudre un problème de taille n est donné par T(n) = 4n2 − 2n + 2 alors on peutdire que T(n) est de l’ordre de n2. Soit : T(n) = O(n2)
notation grand O
I O(n) définit l’ordre de grandeur de la complexitédu calcul
I Cette notation permet de voir la façon dont lesbesoins en temps et en espace évoluent avec lataille des entrées.
37/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
IntroductionBases mathématiques
HistoireEn pratique ...
NotationThéorie de l’informationThéorie de la complexitéThéorie des nombres
Théorie de la complexité
Temps de calcul pour différentes classes d’algorithmes
Classe Complexité Nombre d’opérations pour n =106
Temps pour 106 opérations par se-conde
Constants O(1) 1 1µs
Linéaires O(n) 106 1s
Quadratiques O(n2) 1012 11, 6j
Cubiques O(n3) 1018 32000 années
Exponentiels O(2n) 10301030 10301006 fois l’âge de l’univers
38/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
-
IntroductionBases mathématiques
HistoireEn pratique ...
NotationThéorie de l’informationThéorie de la complexitéThéorie des nombres
Théorie des nombres
2 Bases mathématiquesNotationThéorie de l’informationThéorie de la complexitéThéorie des nombres
39/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
IntroductionBases mathématiques
HistoireEn pratique ...
NotationThéorie de l’informationThéorie de la complexitéThéorie des nombres
Congruence
Cas pratique
Imaginons le cas, suivant : “Alice doit rencontrer Bernard, à 20h00,malheureusement ce dernier a 18h00 de retard. À quelle heure serencontreront ils ?”
Résultat
C’est de l’arithmétique modulo 24. La réponse est (20 + 18) mod 24 = 14, ils serencontreront donc le lendemain à 14h00. Dans le cas présent, nous pouvons direque 14 et 38 sont équivalents modulo 24, ce qui peut s’écrire :(20 + 18) ≡ 14 (mod 24).
Définition
La congruence est la relation symétrique, liant deux éléments a et b telle quea ≡ b (mod n) avec a = b + kn, k ∈ Z.
40/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
-
IntroductionBases mathématiques
HistoireEn pratique ...
NotationThéorie de l’informationThéorie de la complexitéThéorie des nombres
Application à la cryptographie
La cryptographie fait un usage intensif de l’arithmétique modulo n car elle permet derestreindre la tailles des résultats intermédiaires et finaux.
Exponentiation modulaire
I Calcul de c ≡ be (mod m)I Fonction à sens unique
I le calcul de c ≡ be (mod m) est facileI le calcul du logarithme discret (retrouver c, e et m à partir de b) est difficile
41/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
IntroductionBases mathématiques
HistoireEn pratique ...
NotationThéorie de l’informationThéorie de la complexitéThéorie des nombres
Exponentiation modulaire
Algorithme
1 l’exposant e est décomposé en binaire : e =n−1∑i=0
bi2i avec :
• n = longueur de e en bits• b = 0 ou 1
2 ae peut alors s’écrire : ae = a
(n−1∑i=0
bi2i
)=
n−1∏i=0
(a2
i)bi
3 le résultat de ae(m) est doncn−1∏i=0
(a2
i)bi
(m)
42/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
-
IntroductionBases mathématiques
HistoireEn pratique ...
NotationThéorie de l’informationThéorie de la complexitéThéorie des nombres
Exponentiation modulaire
Exemple
I Calcul de be mod m avec :
I b = 10200, e = 10100 et m = pq avec :I p = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000267I q = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000949
I resultat :52862119265573549113884106184518395486641361403717209157297528744058613976960892237244387252167641994401233419446389985938189423343416094198301967144242351185100373100473831963955273178200552330080000
I temps de calcul : 0.0139420032501s
Démonstration
def modexp(base , exposant , modulo) :result = 1while exposant : # Tant que exposant est dif ferent de 0
i f exposant%2: # Si l ’exposant est impairresult = ( result * base) % modulo #test
exposant >>= 1 # On divise l ’exposant par 2base = (base * base) % modulo
return result % modulo
43/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
IntroductionBases mathématiques
HistoireEn pratique ...
NotationThéorie de l’informationThéorie de la complexitéThéorie des nombres
Les nombres premiers
Définition
Un nombre premier est un nombre entier, strictement plus grand que 1, dont lesseuls facteurs sont 1 et lui-même.
I Un nombre non premier est un nombre composé
I 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83,89 et 97 sont les nombres premiers inférieur à 100
I le plus grand nombre premier connu est : 243112609 − 1, il a été découvert le 23août 2008, il s’appel M47 et contient 12 978 189 chiffres en base 10
44/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
-
IntroductionBases mathématiques
HistoireEn pratique ...
Première période : âge artisanalDeuxième période : âge techniqueTroisième période : âge paradoxal
Histoire
1 Introduction
2 Bases mathématiques
3 Histoire
4 En pratique ...
45/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
IntroductionBases mathématiques
HistoireEn pratique ...
Première période : âge artisanalDeuxième période : âge techniqueTroisième période : âge paradoxal
felix le chat
I taille = 200× 200 pixels soit une matrice carré d’ordre 200I longueur du message 40 000 caractères
I Image en niveau de grisI Alphabet = [0..255] Alphabet classique = [0..25]
I Opérations modulo 256 Opérations modulo 26
46/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
-
IntroductionBases mathématiques
HistoireEn pratique ...
Première période : âge artisanalDeuxième période : âge techniqueTroisième période : âge paradoxal
Première période : âge artisanal
3 HistoirePremière période : âge artisanalDeuxième période : âge techniqueTroisième période : âge paradoxal
47/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
IntroductionBases mathématiques
HistoireEn pratique ...
Première période : âge artisanalDeuxième période : âge techniqueTroisième période : âge paradoxal
des origines às 1918Le chiffre de César
Le chiffre de César
Le texte est chiffré en décalant les lettres du message de 3 rangs.
I Message : VENI VIDI VICI
I Cryptogramme : YHQL YLGL YLFL
Principes
I Il s’agit d’un algorithme de chiffrement par substitution monoalphabétique
I Chiffrement : Ck(x) = x + k mod 26
I Déchiffrement : Dk(y) = y− k mod 26I pour le chiffre de César, k = 3
48/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
-
IntroductionBases mathématiques
HistoireEn pratique ...
Première période : âge artisanalDeuxième période : âge techniqueTroisième période : âge paradoxal
des origines à 1918Le chiffre de César
Inconvénient
Le chiffre de César ne change pas l’entropie du message.Sa cryptanalyse est aisée si le cryptogramme est suffisamment long.
49/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
IntroductionBases mathématiques
HistoireEn pratique ...
Première période : âge artisanalDeuxième période : âge techniqueTroisième période : âge paradoxal
des origines à 1918Le chiffre de César
Chiffrement par substitution monoalphabétique : visualisation
Décalage de 32
Décalage de 64
Décalage de 96
Décalage de 128
Décalage de 160
Décalage de 192
Décalage de 224
Décalage de 256
50/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
-
IntroductionBases mathématiques
HistoireEn pratique ...
Première période : âge artisanalDeuxième période : âge techniqueTroisième période : âge paradoxal
des origines à 1918Le chiffrement affine
Le chiffrement affine
Le texte est chiffré en appliquant à chaque caractère une fonction affine : y = ax + b
I Message : VENI VIDI VICI
I Cryptogramme : RSTE REPE REME
Principes
I Il s’agit d’un algorithme de chiffrement par substitution monoalphabétique
I Chiffrement : C(a,b)(x) = (ax + b) mod 26
I Déchiffrement : D(a,b)(y) = a−1(y− b) mod 26
I pour notre exemple, a = 3, b = 6
51/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
IntroductionBases mathématiques
HistoireEn pratique ...
Première période : âge artisanalDeuxième période : âge techniqueTroisième période : âge paradoxal
des origines à 1918Le chiffrement affine
Chiffrement par substitution affine : visualisation
a=1, b=0
a=1, b=40
a=1, b=100
a=40, b=0
a=40, b=40
a=40, b=100
a=100, b=0
a=100, b=40
52/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
-
IntroductionBases mathématiques
HistoireEn pratique ...
Première période : âge artisanalDeuxième période : âge techniqueTroisième période : âge paradoxal
des origines à 1918La Scytale lacédémonienne
La Scytale lacédémonienne
Le texte est inscrit sur une bandelette enroulée, par la suite, sur un bâton dediamètre fixé (la clé). Le message est alors chiffré en lisant les caractères le long dubaton.
I Message : VENI VIDI VICI
I Cryptogramme : VNEIV IID IV Clef : [0, 2, 1]
I C’est un anagramme du message initial
Principes
I Il s’agit d’un algorithme de chiffrement par permutation
I Chiffrement : Ck(x1, . . . , xm) = (xk(1), xk(2), . . . , xk(m))
I Déchiffrement : Dk(y1, . . . , ym) = (y−1k(1), y
−1k(2), . . . , y
−1k(m))
53/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
IntroductionBases mathématiques
HistoireEn pratique ...
Première période : âge artisanalDeuxième période : âge techniqueTroisième période : âge paradoxal
des origines à 1918La Scytale lacédémonienne
Chiffrement par blocs
Ce mode de chiffrement introduit la notion de blocs : le message est divisé en blocsde la longueur de la clef de permutation. Chaque bloc est chiffré indépendamment.
54/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
-
IntroductionBases mathématiques
HistoireEn pratique ...
Première période : âge artisanalDeuxième période : âge techniqueTroisième période : âge paradoxal
des origines à 1918La Scytale lacédémonienne
Chiffrement par permutation : visualisation
Longueur de clef = 4
Longueur de clef = 10
Longueur de clef = 40
Longueur de clef = 100
Longueur de clef = 400
Longueur de clef = 4000
55/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
IntroductionBases mathématiques
HistoireEn pratique ...
Première période : âge artisanalDeuxième période : âge techniqueTroisième période : âge paradoxal
des origines à 1918Le chiffre de Vigenère
Le chiffre de Vigenère
Au XVIe siècle, Blaise de Vigenère, diplomate français, imagina une extension duchiffre de César en ajoutant la notion de clef. La clef définie un décalage variablepour chaque lettre du message.
I Message : VENI VIDI VICI
I Cryptogramme : QMTMMZZHDHBMPM Clef : vigenere
Principes
I Il s’agit d’un algorithme de chiffrement par substitution polyalphabétique
I Chiffrement : Ck(x1, . . . , xn) = (x1 + k1 mod 26), . . . , (xn + kn mod 26)
I Déchiffrement : Dk(y1, . . . , yn) = (y1 − k1 mod 26), . . . , (yn + kn mod 26)
56/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
-
IntroductionBases mathématiques
HistoireEn pratique ...
Première période : âge artisanalDeuxième période : âge techniqueTroisième période : âge paradoxal
des origines à 1918Le chiffre de Vigenère
Le carré de Vigenère
57/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
IntroductionBases mathématiques
HistoireEn pratique ...
Première période : âge artisanalDeuxième période : âge techniqueTroisième période : âge paradoxal
des origines à 1918Le chiffre de Vigenère
Chiffrement par substitution polyalphabétique : visualisation
Longueur de clef = 4
Longueur de clef = 10
Longueur de clef = 40
Longueur de clef = 100
Longueur de clef = 400
Longueur de clef = 4000
58/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
-
IntroductionBases mathématiques
HistoireEn pratique ...
Première période : âge artisanalDeuxième période : âge techniqueTroisième période : âge paradoxal
des origines à 1918Les principes de Kerckhoffs
Auguste Kerckhoffs
I né le 19 janvier 1835
I décédé le 9 août 1903
I hollandais
I docteur ès lettres
I professeur d’allemand à l’École des HautesÉtudes Commerciales
I linguiste et cryptographe
I défenseur de la langue volapük
59/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
IntroductionBases mathématiques
HistoireEn pratique ...
Première période : âge artisanalDeuxième période : âge techniqueTroisième période : âge paradoxal
des origines à 1918Les principes de Kerckhoffs
Auguste Kerckhoffs décrit les principes du chiffrement modernedans son essai “La Cryptographie militaire” publié en 1883
dans le "Journal des sciences militaires"
1 Le système doit être matériellement, sinon mathématiquement, indéchiffrable
2 Il faut qu’il n’exige pas le secret, et qu’il puisse sans inconvénient tomber entreles mains de l’ennemi
3 La clef doit pouvoir en être communiquée et retenue sans le secours de notes écrites,et être changée ou modifiée au gré des correspondants
4 Il faut qu’il soit applicable à la correspondance télégraphique
5 Il faut qu’il soit portatif, et que son maniement ou son fonctionnement n’exige pas leconcours de plusieurs personnes
6 Enfin, il est nécessaire, vu les circonstances qui en commandent l’application, que lesystème soit d’un usage facile, ne demandant ni tension d’esprit, ni la connaissanced’une longue série de règles à observer
60/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
-
IntroductionBases mathématiques
HistoireEn pratique ...
Première période : âge artisanalDeuxième période : âge techniqueTroisième période : âge paradoxal
des origines à 1918Les principes de Kerckhoffs
Commentaires sur les principes de Kerckhoffs
1 Le système doit être matériellement, sinon mathématiquement, indéchiffrable
2 Il faut qu’il n’exige pas le secret, et qu’il puisse sans inconvénient tomber entreles mains de l’ennemi
3 La clef doit pouvoir en être communiquée et retenue sans le secours de notes écrites,et être changée ou modifiée au gré des correspondants
Les points 2 et 3 sont les nouveaux axiomes fondamentaux de la cryptographie
I l’algorithme cryptographique est public
I le secret réside dans la clef de chiffrement
I un algorithme cryptographique basé uniquement sur le secret de l’algorithme est dangereux car le jouroù il est découvert son modèle de sécurité s’écroule
61/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
IntroductionBases mathématiques
HistoireEn pratique ...
Première période : âge artisanalDeuxième période : âge techniqueTroisième période : âge paradoxal
des origines à 1918Conclusion : l’âge artisanal
« Il n’y a pas de chiffre introuvable avec quarante page de dépêches chiffrées. »
Napoléon
1 Les cryptanalystes ont l’avantage
2 Moyens de chiffrement limités
3 Émergence de la notion de clef
Découverte fondamentale
Le secret ne réside pas dans le mécanisme de chiffrement mais dans les réglages dece mécanisme : la clef de chiffrement.
62/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
-
IntroductionBases mathématiques
HistoireEn pratique ...
Première période : âge artisanalDeuxième période : âge techniqueTroisième période : âge paradoxal
Deuxième période : âge technique
3 HistoirePremière période : âge artisanalDeuxième période : âge techniqueTroisième période : âge paradoxal
63/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
IntroductionBases mathématiques
HistoireEn pratique ...
Première période : âge artisanalDeuxième période : âge techniqueTroisième période : âge paradoxal
de 1919 à 1975Apparition des machines chiffrantes : Enigma
I 3 rotors pris parmi 5
I tableau de connexions àfiche
I 159× 1018 clefs possibles
64/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
-
IntroductionBases mathématiques
HistoireEn pratique ...
Première période : âge artisanalDeuxième période : âge techniqueTroisième période : âge paradoxal
de 1919 à 1975L’épopée des « code talker »
Durant la seconde guerre mondiale, les américains, profitant de la complexité de leur langue, a employé desindiens Navajos comme opérateur radio. L’opérateur Navajo traduisait le message en dialecte Navajo et letransmettait ensuite par radio. À la réception, un autre opérateur Navajo, traduisait le message en anglais
pour le transmettre à ses supérieurs.Les japonais n’ont jamais réussi à casser le « code ».
65/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
IntroductionBases mathématiques
HistoireEn pratique ...
Première période : âge artisanalDeuxième période : âge techniqueTroisième période : âge paradoxal
de 1919 à 1975Le Data Encryption Standard – DES
I méthode de chiffrement utilisant desclefs de 56 bits sur des blocs de 64bits
I le premier standard DES est publiépar FIPS le 15 janvier 1977 sous lenom FIPS PUB 46
I mis au point à partir de l’algorithmeLucifer de IBM
66/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
-
IntroductionBases mathématiques
HistoireEn pratique ...
Première période : âge artisanalDeuxième période : âge techniqueTroisième période : âge paradoxal
de 1919 à 1975Le XOR
XOR ou l’opération d’addition modulo 2 sur des bits (0,1)
XOR
⊕ 0 10 0 1
1 1 0
Longueur de clef = 4
Longueur de clef = 10
Longueur de clef = 40
Longueur de clef = 100
Longueur de clef = 400
Longueur de clef = 4000
67/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
IntroductionBases mathématiques
HistoireEn pratique ...
Première période : âge artisanalDeuxième période : âge techniqueTroisième période : âge paradoxal
de 1919 à 1975Le chifre parfait : Vernam
Le chiffre de Vernam, ou “One-Time-Pad” ou “masque jetable” a été proposé en 1917par Gilbert Vernam, ingénieur à l’American Telephone and Telegraph Company,chargé de la sécurité des téléscripteurs.
I Chiffrement C = M ⊕ kI Déchiffrement M = C ⊕ kI La clef et le message ont la même
longueur
I Ce mode de chiffrement a été utilisépour chiffrer les communications dutéléphone rouge
68/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
-
IntroductionBases mathématiques
HistoireEn pratique ...
Première période : âge artisanalDeuxième période : âge techniqueTroisième période : âge paradoxal
Troisième période : âge paradoxal
3 HistoirePremière période : âge artisanalDeuxième période : âge techniqueTroisième période : âge paradoxal
69/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
IntroductionBases mathématiques
HistoireEn pratique ...
Première période : âge artisanalDeuxième période : âge techniqueTroisième période : âge paradoxal
de 1976 à nos jours
Développement des algorithmes de chiffrement symétriques
Chiffrements par blocs – block cipher
I DES normal : clef de 56 bits, blocsde 64 bits
I DES renforcé : clef de 112 bits,blocs de 168 bits (triple DES)
I IDEA : clef de 128 bits, blocs de 64bits
I AES : clef de 128, 196 ou 256 bits,blocs de 128 bits utilisé par WPA2
I A5/1 : clef de 64 bits utilisé pour leGSM
Chiffrements par flot – stream cipher
I Vernam : générateurpseudo-aléatoire
I RC4 : chiffrement octet par octetutilisé par le WEP
I E0 : clef de 128 bits utilisé pour lebluetooth
70/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
-
IntroductionBases mathématiques
HistoireEn pratique ...
Première période : âge artisanalDeuxième période : âge techniqueTroisième période : âge paradoxal
de 1976 à nos joursLe produit de chiffrements
Produit par composition de deux systèmes cryptographiques : Ck(x) = C′k1(C
′′k2(x))
Permutation et Subsitution (4)
Permutation et Subsitution (10)
Permutation etSubsitution (40)
Subsitution et Permutation (4)
Subsitution et Permutation (10)
Subsitution et Permutation (40)
71/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
IntroductionBases mathématiques
HistoireEn pratique ...
Première période : âge artisanalDeuxième période : âge techniqueTroisième période : âge paradoxal
de 1976 à nos joursLe chiffrement asymétrique
I Cryptographie asymétrique ou cryptographie à clé publiqueI Fondée sur l’existence de fonctions à sens unique avec trappe (clef privée)
I Algorithme RSA (1978) – racines modulaires (factorisation)I Algorithme El Gamal (1985) – logarithme discret
Alice
clef publique Alice
clef privée Alice
Bob
génère
génère
transmet
72/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
-
IntroductionBases mathématiques
HistoireEn pratique ...
Première période : âge artisanalDeuxième période : âge techniqueTroisième période : âge paradoxal
de 1976 à nos joursLe chiffrement asymétrique
Signature électronique
Alice
clef privée Alice clef publique Alice
Bob
message
signe
message signé message
auth
entifi
e
73/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
IntroductionBases mathématiques
HistoireEn pratique ...
Première période : âge artisanalDeuxième période : âge techniqueTroisième période : âge paradoxal
de 1976 à nos joursLe chiffrement asymétrique
Chiffrement et signature électronique
Alice
clef privée Alice clef publique Bob clef privée Bob clef publique Alice
Bob
message
signe
message chiffré
chiffre
message chiffré signé
message chiffré
déch
iffre
message
auth
entifi
e
74/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
-
IntroductionBases mathématiques
HistoireEn pratique ...
Première période : âge artisanalDeuxième période : âge techniqueTroisième période : âge paradoxal
de 1976 à nos joursLe chiffrement asymétrique
Diffie – Hellman
Comment générer un secret partagé sans avoir aucune connaissance préalable l’un sur l’autre ?
Alice Bob
Alice et Bob choisissent un nombre premier p = 23 et une base g = 3
Alice choisit un nombre secret a = 6
Alice envoie ga mod p soit 36 mod 23 = 16 à Bob
Bob choisit un nombre secret b = 15
Bob envoie gb mod p soit 315 mod 23 = 12 à Alice
Alice calcule la clé secrète : (gb mod p)a mod p soit 126 mod 23 = 9
Bob calcule la clé secrète : (ga mod p)b mod p soit 1615 mod 23 = 9
75/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
IntroductionBases mathématiques
HistoireEn pratique ...
Première période : âge artisanalDeuxième période : âge techniqueTroisième période : âge paradoxal
de 1976 à nos joursTaxonomie des algorithmes de chiffrement
76/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
-
IntroductionBases mathématiques
HistoireEn pratique ...
Le WebLes emailsLes fonctions de hachageLes données
En pratique ...
1 Introduction
2 Bases mathématiques
3 Histoire
4 En pratique ...
77/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
IntroductionBases mathématiques
HistoireEn pratique ...
Le WebLes emailsLes fonctions de hachageLes données
Le Web
4 En pratique ...Le WebLes emailsLes fonctions de hachageLes données
78/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
-
IntroductionBases mathématiques
HistoireEn pratique ...
Le WebLes emailsLes fonctions de hachageLes données
Chiffrement de flux
Connection sur www.google.fr en clair
79/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
IntroductionBases mathématiques
HistoireEn pratique ...
Le WebLes emailsLes fonctions de hachageLes données
Chiffrement de flux
Connection sur www.google.fr avec le protocole SSL
80/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
-
IntroductionBases mathématiques
HistoireEn pratique ...
Le WebLes emailsLes fonctions de hachageLes données
Chiffrement de flux
Protocole proposé par www.google.fr
1 SSL handshake has read 1777 bytes and written 316 bytes2 ---3 New, TLSv1/SSLv3, Cipher is AES256-SHA4 Server public key is 1024 bit5 Compression: NONE6 Expansion: NONE7 SSL-Session:8 Protocol : TLSv19 Cipher : AES256-SHA
10 Session-ID: B40A7F0C631658D70DCFFF3F94B513598E430FAD56C77599A11 Session-ID-ctx:12 Master-Key: 83BABE8C038466DEC7301EFCC8D17B34D665F025950A0F22813 Key-Arg : None14 Start Time: 120639234815 Timeout : 300 (sec)16 Verify return code: 20 (unable to get local issuer certificate)17 ---18 read:errno=0
81/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
IntroductionBases mathématiques
HistoireEn pratique ...
Le WebLes emailsLes fonctions de hachageLes données
Les emails
4 En pratique ...Le WebLes emailsLes fonctions de hachageLes données
82/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
-
IntroductionBases mathématiques
HistoireEn pratique ...
Le WebLes emailsLes fonctions de hachageLes données
Chiffrement d’emails
Exemple d’email chiffré
—–BEGIN PGP MESSAGE—–Charset : ISO-8859-1Version : GnuPG v1.4.6 (GNU/Linux)hQEOA+6Lqc04sm0qEAP/d0yeNbAxiyPdsyuwe8zI8U4RH9TOzecsy7m3+Nu5MXLdQxH5yyl1wSopwLFEn+ZrH8E2xvf5V6G44z/WzSE+X8EYU8b3fWIBqTmALiTZI+/QB5Qn60NwXoyWeCdio75bt4KChYdxEUjYfQIsO9gyjg0jvvUpAKpiC5hMUFUne7YD/0Ippa2IqgcbqbGwfQsZgaRrt10hlcFkGw0pa3lqCT8ydoywnkDPt9K5lhCoHxo0+GJNhVCAMA7/+oXnLWZlJe+p/JJZSunk4YD0sQnR08hAUDf106ul3nKj8/D3OjgpZaoUHe/1y7t0LcBDfjhXcrZY3agNZbeDzTYgHWEeUa6qJXkZltdwRfbmtoqLYIj9zPeS/ecFutXtJImJvuwqecnWx3iLTVk15ApTfe+dJKPW9iPsg4XWoO+8gmcTnU3Mfuk7WcRsluNR8JW83H+oNZVxVmfRAOmNXyeDworVRYfvjOGCipEkgsHLAQ/6OURG98g7Av8uvRsN39k9wgi2Q4isIBGX5oK1e/XpS4EuXnfQ7NyxheXhiWBMkdgeZAp6h4jnd4OWxGJjnuJqTTkWkUfoqaThgxosio+MLAGb7BqUrqMBgr3OaUccNwZvoA86SAG3Ve0NdYsI2htwMEs4y2cNpIrcXME2/rgPR4vPliOq0q3pYwBeATTrfFlSPwgwXKCIuIlnWgZjZ2ggW1ip0219HGzOXg8mKVWEIYrPRwqKKRk6X5xwldo==yyg5—–END PGP MESSAGE—–
83/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
IntroductionBases mathématiques
HistoireEn pratique ...
Le WebLes emailsLes fonctions de hachageLes données
Les fonctions de hachage
4 En pratique ...Le WebLes emailsLes fonctions de hachageLes données
84/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
-
IntroductionBases mathématiques
HistoireEn pratique ...
Le WebLes emailsLes fonctions de hachageLes données
Les fonctions de hachageDéfinition
Une fonction de hachage est une fonction mathématique à sens unique qui, à partird’un texte d’origine, calcule une empreinte unique, de taille fixée et de manièreirréversible.
I TOTO =⇒ 04c1d7cd203ef496f200ee5a096b5764I ToTo =⇒ 3cca12013a4f82de305ba73b01a84509I Toto =⇒ 998db284485ec6c227f8dc34086128e1I toto =⇒ f71dbe52628a3f83a77ab494817525c6I Le ciel est rouge demain il fera beau. =⇒
caf7a1f03adc02afe3ef1dd51bd3e8b1
Les fonctions de hachage sont notamment utilisées pour stocker les mots de passe
85/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
IntroductionBases mathématiques
HistoireEn pratique ...
Le WebLes emailsLes fonctions de hachageLes données
Les mots de passeL’authentification – Processus d’authentification local sous Windows
86/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
-
IntroductionBases mathématiques
HistoireEn pratique ...
Le WebLes emailsLes fonctions de hachageLes données
Les mots de passeTrouver un mot de passe
Deviner le mot de passe
Par des techniques de social engineering (canulars téléphoniques, fouille despoubelles, recherche sur Internet. . . ).
Se faire passer pour le système
Par des techniques de spoofing un faux logiciel de connexion imitant le vraienregistre le mot de passe dans un fichier accessible par le pirate.
Espionner le système
Par des techniques de keylogging ou de sniffing des protocoles réseaux.
Attaquer le fichier de mot de passe
Par des techniques d’attaques par dictionnaire ou par force brute.
87/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
IntroductionBases mathématiques
HistoireEn pratique ...
Le WebLes emailsLes fonctions de hachageLes données
Les mots de passeTrouver un mot de passe
Attaque par dictionnaire
1 pour chaque mot d’un dictionnaire
2 calcul du hash
3 comparaison avec celui du système
88/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
-
IntroductionBases mathématiques
HistoireEn pratique ...
Le WebLes emailsLes fonctions de hachageLes données
Les mots de passeTrouver un mot de passe
Attaque par force brute
I parcours exhaustif de l’espace des mots de passe
I plus le mot de passe est long plus il est difficile à trouver
I plus l’espace des mots de passe est grand plus le temps nécessaire à la parcourir sera grand
Lettres minuscules (26) Caractèresalphanumériques (62)
Caractères ASCII (256)
4 caractères 264 = 460000 624 = 1, 5 · 107 2564 = 4, 3 · 109
5 caractères 265 = 1, 2 · 107 625 = 9, 2 · 108 2565 = 1, 1 · 1012
6 caractères 266 = 3, 1 · 108 626 = 5, 7 · 1010 2566 = 2, 8 · 1014
7 caractères 267 = 8, 0 · 109 627 = 3, 5 · 1012 2567 = 7, 2 · 1016
8 caractères 268 = 2, 1 · 1011 628 = 2, 2 · 1014 2568 = 1, 8 · 1019
89/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
IntroductionBases mathématiques
HistoireEn pratique ...
Le WebLes emailsLes fonctions de hachageLes données
Les données
4 En pratique ...Le WebLes emailsLes fonctions de hachageLes données
90/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
-
IntroductionBases mathématiques
HistoireEn pratique ...
Le WebLes emailsLes fonctions de hachageLes données
Chiffrement de fichier
Chiffrement de fichier avec AES
I Chiffrement
openssl enc −e −aes−256−cbc −k password −in hamlet . txt −out hamlet−cipher . txt
I Déchiffrement
openssl enc −d −aes−256−cbc −k password −in hamlet−cipher . txt
91/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
IntroductionBases mathématiques
HistoireEn pratique ...
Le WebLes emailsLes fonctions de hachageLes données
Questions ?
92/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
-
IntroductionBases mathématiques
HistoireEn pratique ...
Le WebLes emailsLes fonctions de hachageLes données
Licence
PaternitéVous devez citer le nom de l’auteur original de la manière indiquée par l’auteur de l’œuvre ou le titulairedes droits qui vous confère cette autorisation (mais pas d’une manière qui suggèrerait qu’ils voussoutiennent ou approuvent votre utilisation de l’œuvre).
Pas d’utilisation commerciale
Vous n’avez pas le droit d’utiliser cette création à des fins commerciales sans autorisation écrite de l’auteur.
Partage des conditions initiales à l’identique
Si vous modifiez, transformez ou adaptez cette création, vous n’avez le droit de distribuer la création qui enrésulte que sous un contrat identique à celui-ci.
93/93 Michel Dubois © 2008-2010 Sécurité des Systèmes d’Information
IntroductionQu'est-ce que la crypto ?Pourquoi la crypto ?Définitions
Bases mathématiquesNotationThéorie de l'informationThéorie de la complexitéThéorie des nombres
HistoirePremière période: âge artisanalDeuxième période: âge techniqueTroisième période: âge paradoxal
En pratique ...Le WebLes emailsLes fonctions de hachageLes données