Vous êtes sur la page 1sur 69

Sécurité & cryptographie

« Le moyen d'être sauf, c'est de ne pas se croire en sécurité »

Thomas Fuller

Objectifs :

1. Enoncer les principes fondamentaux de la sécurité

2. Présenter quelques éléments de sécurité réseau

3. Présenter les bases de la cryptographie

Sébastien JEAN
Principes généraux de la sécurité 1/4
1. Identification

• But :
– connaître l’identité d’un interlocuteur
• Machine, utilisateur, …
• Moyens : B? A?
– Nommage

2. Authentification
A B
• But :
– Obtenir la garantie de l’authenticité d’une information
• Identité, message
• Moyens :
– Caractéristique physique = biométrie
– Secret = mot de passe, clé, …

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 2


Principes généraux de la sécurité 2/4
3. Confidentialité

• But :
– S’assurer de la non diffusion
d’informations secrètes
• Moyens :
– Chiffrement

4. Intégrité

• But :
– S’assurer de la conservation des informations durant leur transport, leur
traitement ou leur stockage
• Moyens :
– Redondance d’information
– Certification

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 3


Principes généraux de la sécurité 3/4
5. Disponibilité

• But :
– Assurer un niveau de service minimum
(condition de délais et de performances)
• Moyens :
– Sauvegardes, reprise sur incident, maintenance
– Veille, filtrage

6. Audit

• But :
– Assurer la détection et l’analyse de brèches dans la sécurité
– Assurer la facturation pour l’usage de services
• Moyens :
– Journaux de bord (logs)

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 4


Principes généraux de la sécurité 4/4
7. Non répudiation

• But :
– Fournir la preuve de l’envoi ou de la réception
d’un message pour un correspondant
• Moyens :
– Signature électronique
– Tiers de Confiance (Trusted Third Party)

8. Contrôle d’accès

• But :
– Assurer que tous les accès aux ressources sont autorisés
• Moyens
– Identification / authentification
– Contrôle des flux d’informations
– matrice d’accès, liste

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 5


Méthodes utilisées pour les attaques
• Action physique
– Se brancher illégalement

• Intrusion
– Exploitation des bugs, vulnérabilité des systèmes

• Abus de droits légitimes


– Saturer un serveur (DoS)

• Usurpation d’identité
– Social Engineering
– IP spoofing

• Injection de code
– Virus, bombes logique, cheval de troie, …

• Ecoute (Sniffing)

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 6


Les parades 1/5
1. L’antivirus

• 2/3 des attaques sont dues aux virus

2. Une politique de sécurité minimum

• Authentification des utilisateurs par login et mot de passe.

• Suppression des informations confidentielles des machines reliées au réseau si


elles n'ont pas besoin d'y être.

• Protection physique des machines contenant des informations sensibles (locaux


fermés à clef).

• Contrôle pour l'accès aux informations sensibles, avec un login délivré


uniquement pour ceux qui en ont besoin.

• Sensibilisation des utilisateurs aux problèmes de sécurité.

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 7


Les parades 2/5
3. Firewalls

• Contrôler l’accès entre deux réseaux

– Tout le traffic passe par un nœud unique Source : CCM


(routeur ou machine dédiée)

Filtres de paquets (niveau transport)

– Tout fermer puis autoriser


– Tout ouvrir puis interdire
– Listes d’accès

N° accepté/refusé protocole source destination état


1 Accepté TCP interne * *
1 Accepté TCP * interne ACK

• Une entité effectuant un filtrage de niveau application est appelée


« passerelle applicative »
© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 8
Les parades 3/5
4. Proxies

• Machine qui sert de « relais » (proxy = mandataire)


– Masque les machines vis-à-vis du réseau
– Masque le réseau vis-à-vis des machines

• Exemple: un proxy HTTP


– Toutes les requêtes sont envoyées au proxy
– Le proxy effectue lui-même les requêtes et envoie le résultat
– Possibilité de mettre en cache des données.

5. SSL : Secure Socket Layer

• Authentification, confidentialité
• Niveau transport

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 9


Les parades 4/5
6. VPN : Virtual Private Network

• Créer un chemin virtuel sécurisé entre une source et une destination

– Interconnecter deux LANs distants, connexion PPP distante.

• Principe de tunnel (tunnelling)

– Chaque extrémité est identifiée, les données transitent chiffrées.

– Le protocole utilisé pour transmettre les données peut être <> d’IP.
• Le protocole de tunnelling encapsule les données en rajoutant une entête. Permettant
le routage des trames dans le tunnel.

– Tunneling = ensemble des processus d’encapsulation, de transmission et de


désencapsulation.

• Repose sur des protocoles gérant le tunneling et la sécurisation


– IPSec, PPTP, L2F, L2TP

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 10


Cryptographie ?
Dès que les hommes apprirent à communiquer, ils durent trouver des
moyens d'assurer la confidentialité d'une partie de leurs conversations …

• Cryptographie
= écriture cachée
= science des communications sécurisées

• Cryptanalyse
• étude de la sécurité des procédés de chiffrement utilisés en cryptographie

• Cryptosystème
• Ensemble constitué d'un algorithme cryptographique ainsi que toutes les
clés possibles et tous les protocoles qui le font fonctionner

• Cryptographe
• Personne ayant pour principale tâche de fournir des outils de cryptographie

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 11


Cryptographie ? (suite)
BOB

Blah blah blah


Niark, niark !!
Blah blah blah

Canal CHARLIE
non sûr

Blah blah blah


ALICE

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 12


Cryptographie ? (fin)
Algorithme de déchiffrement

#_djsk3 »p
Blah blah blah
Partage de secret

Canal
#_djsk3 »p non sûr
Damned !!

Message clair
Cryptogramme
Blah blah blah
#_djsk3 »p

Paramètre (clé) Algorithme de chiffrement

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 13


Historique de la cryptographie 1/4
• Cryptographie antique

– 1900 av. J-C


• Un scribe égyptien utilise des hiéroglyphes non standards.

– 500 av. J-C


• Des scribes hébreux emploient ATBASH, un simple algorithme
de chiffrement de substitution utilisant l'alphabet renversé,
pour la transcription du livre de Jeremiah.

– 487 av. J-C


• Des grecs utilisent « skytale », un grand bâton de chiffrage auquel on
enroulait une longue et mince bande de cuir sur laquelle se trouvaient des
informations.

– 50 av. J-C
• Julius Caesar utilise une simple substitution dans l'alphabet
pour les communications gouvernementales.
© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 14
Historique de la cryptographie 2/4
• Cryptographie « Mécanique »

– 1918
• Gilbert Vernam, mathématicien américain, invente le one-time cipher (one-time pad),
encore aujourd'hui l'algorithme de chiffrement le plus sécuritaire, mais impratiquable.

– 1923
• Dr Arthur Scherbius, hollandais résidant en Allemagne, met au point une machine
nommée Enigma qui sert à encoder des messages. Le prix très élevé de la machine en
fait un échec.

– 1937
• Enigma M3 est adopté par la Wehrmacht, l'armée allemande.

– 1939
• Début de la seconde guerre mondiale, où 12 000 scientifiques et
mathématiciens anglais, polonais et français travaillent à casser
Enigma et les milliers de messages chiffrés.

L'équipe d'Alan Turing réussit finalement à le résoudre.

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 15


Historique de la cryptographie 3/4
• Cryptographie moderne

– 1970
• IBM développe Lucifer
– 1976
• IBM publie un algorithme basé sur Lucifer. Il devient le DES (Data Encryption
Standard).
• Whitfield Diffie et Martin Hellman introduisent l'idée d'un système à clé publique.
– 1978
• L'algorithme de chiffrement à clé publique RSA est publié par Ronald L. Rivest, Adi
Shamir et Leonard M. Adleman.
– 1984
• L'algorithme ROT13 est utilisé dans le USENET et devient le premier exemple de
l'utilisation des clés publiques.
– 1987
• Le RC4 est développé par Ronald L. Rivest pour la RSA Security et sera gardé secret
jusqu'en 1994, où l'algorithme est rendu public anonymement dans une liste de
distribution de Cypherpunks.
– 1990
• Première publication des résultats expérimentaux de la cryptographie quantique par
Charles H. Bennett et Gilles Brassard.

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 16


Historique de la cryptographie 4/4
– 1991
• Phil Zimmermann rend disponible sa première version de PGP (Pretty Good Privacy).
– 1992
• L'IDEA est inventé en Suisse par Xuejia Lai et James Massey.

• MD5 est développé par Ronald L. Rivest.


– 1993
• Bruce Schneier conçoit Blowfish.
• Don Coppersmith crée SEAL.
– 1994
• Ron Rivest, déjà auteur de RC2 et RC4, publie RC5.
• Un standard régissant les signatures numériques voit le jour : le DSA (DSS).
– 1995
• Le NIST développe le Secure Hash Algorithm (SHA)
– 1998
• L'algorithme Rijndael est soumis au NIST pour devenir le nouveau standard du
chiffrement avancé : l'AES. Quinze autres algorithmes font partie du groupe donc
MARS, RC6, Serpent et Twofish.
– 2000
• Rijndael devient l'AES, le standard du chiffrement avancé.

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 17


A quoi sert la cryptographie ?
• Techniques cryptographiques Vs Propriétés de sécurité

Confidentialité

Chiffrement Authentification

Signature Intégrité

Non répudiation

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 18


Familles de systèmes cryptographiques
• Systèmes modernes
– Algorithme de chiffrement = algorithme de déchiffrement
• Fonction réversible paramétrée par une clé (suite de bits)

– Systèmes à clé secrète


• Clé unique K partagée par les deux interlocuteurs

– Systèmes à clé publique


• Clé publique Kpu transmissible à tous les émetteurs
• Clé privée Kpr gardée secrète par le récepteur

• Les algorithmes sont publics !

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 19


Systèmes à clé secrète (symétriques)
• Chiffrement : M’ = FK(M)

• Déchiffrement : FK(M’) = FK(FK(M)) = M

K K
F F

émetteur récepteur

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 20


Systèmes symétriques : scénario (1)
(Re) Chapitre 1 :
Alice veut envoyer un message
(super) confidentiel à Bob

Message clair
Boréal vient de sortir une toute
nouvelle crème démaquillante
15 en 1 à 300 Euros les 20 ml*,
tu peux me rappeler ton code
de carte bleue ?

* Toute ressemblance avec une remarque misogyne serait purement fortuite


© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 21
Systèmes symétriques : scénario (2)
(Re) Chapitre 1 :
Alice veut envoyer un message
(super) confidentiel à Bob
mail from : alice@wonderland.com
Rcpt to : bob@builderland.com
Subject : envoi de clé secrete

Bob, Le prochain message est un message confidentiel.


Utilise la clé secrète que nous avons précédemment décidée de partager.

Alice

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 22


Systèmes symétriques : scénario (3)

! (Re) Chapitre 1 :
Alice veut envoyer un message
(super) confidentiel à Bob

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 23


Systèmes symétriques : scénario (4)
(Re) Chapitre 1 :
Alice veut envoyer un message
(super) confidentiel à Bob

cryptogramme
Algorithme

Message clair
© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 24
Systèmes symétriques : scénario (5)
(Re) Chapitre 1 :
Alice veut envoyer un message
(super) confidentiel à Bob
mail from : alice@wonderland.com
Rcpt to : bob@builderland.com
Subject : message confidentiel

*********************************************************
Iur’purpiu’p »zoupiàfv,’ »v,)ora »oairezr^àci^’ircàirc
Rekrieàpri ‘àçt=ér)=é »çç »v’_taé_)(_ »)t_) »t_’t_ »
***************************************************

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 25


Systèmes symétriques : scénario (6)
Chapitre 1 :
Alice veut envoyer un message
(super) confidentiel à Bob
cryptogramme

Message clair

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 26


Systèmes symétriques : scénario (7)
(Re) Chapitre 1 :
Alice veut envoyer un message
(super) confidentiel à Bob

(Re) Hors de question !

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 27


Debriefing
• Confidentialité bidirectionnelle
– Alice et Bob utilisent une seule et même clé

• Partage d’un secret (la clé privée)

• Hypothèses
– Les algorithmes de chiff/déchiffrement peuvent être connus
– Retrouver le message clair à partir du cryptogramme
• Très (très) dur sans clé (i.e. temps infiniment long)
• Très facile avec la clé secrête (i.e. temps très court)

• Echange de clé
– Doit se faire obligatoirement via un canal de transmission sûr

Bob (80 km)

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 28


Sécurité globale 1/2
Clé secrètes de Fred

Bob Peter Alice


Fred Peter

Bob
Alice
© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 29
Sécurité globale 2/2
Clé secrètes de Fred

Bob Peter Alice


Fred
X Peter

X X
Bob
Alice
© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 30
AES 1/4
• En 1998, l’algorithme DES, standard du chiffrement à clé secrète depuis
1977 est « cassé » en une semaine grâce à une machine dédiée d’un coût
de fabrication de 200 000 Euros environ (une broutille).

Source : cryptography research inc.

DES

Le NIST relance alors un concours « ouvert » pour lui trouver un


successeur, plus rapide et plus sûr.

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 31


AES 2/4
• En octobre 2000, l’algorithme Rijndael devient AES

(Advanced Encryption Standard)

– © Vincent Rijmen, Joan Daemen

Nouveau !
Super Rijndael
chiffre deux fois plus blanc
que votre ancien DES

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 32


AES 3/4
• Chiffrement par blocs
– Blocs de 128, 192 ou 256 bits
– Clés de 128, 192 ou 256 bits
• La taille de clé est indépendante de la taille du bloc

• Algorithme à itérations
– Un bloc subit un ensemble de transformations répété X fois
• X dépend de la taille de la clé
– Un bloc est vu comme un état, i.e. un tableau de 4 lignes de Y octets
• Y dépend de la taille du bloc
– A chaque tour intervient une clé différente, appelée clé de tour, dérivée de la clé
initiale (le secret) par l’opération d’expansion.

• Transformations
– ByteSub : transformation non linéaire d’octets
– ShiftRow : décalage de lignes
– MixColumn : mixage des colonnes
– AddRoundKey : ajout de la clé de tour

• Avant de débuter l’ensemble des tours, le bloc de départ est additionné avec la clé
secrète (ce qui se ramène dans le cas d’AES à un simple XOR)

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 33


AES 4/4
Performances

• Très faible empreinte mémoire (code de l’algorithme, taille des tables de


pré-calculs, mémoire de travail)

• Très facile à manipuler (basé sur des opérations binaires et/ou des pré-
calculs)

– Au niveau logiciel
• Pour les « grands »
– 120 Mo/s, implémentation C-optimisé Linux/x86 sur un AMD Athlon64 1.8 GHz
• Et pour les « petits »
– 300 ko/s sur une carte à puce
– 1000 octets de code, 256 octets de tables, 100 octets de mémoire de travail

– Au niveau matériel
• Coprocesseur/accélérateur 3 Go/s pour l’embarqué !

• Débits adaptés à des transmissions temps-réel de gros volumes de


données
– Télévision numérique par exemple

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 34


Systèmes à clé publique (asymétriques)
• Systèmes à clé publique
– Clé publique Kpu transmissible à tous les émetteurs
– Clé privée Kpr gardée secrète par le récepteur

– Chiffrement : M’ = FKpu(M)
– Déchiffrement : FKpr(M’) = FKpr(FKpu(M)) = M

– Signature : S = FKpr(résumé(M)) ; M’’ = M+S


– Vérification : FKpu(S) = résumé(M) ?

Kpu Kpr
F F
chiffrement
émetteur récepteur

récepteur signature émetteur

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 35


Systèmes asymétriques : scénario (1)
Chapitre 1 :
Alice veut envoyer un message
(super) confidentiel à Bob

Message clair
J’ai vu une nouvelle robe,
tu peux me rappeler ton
code de carte bleue ?

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 36


Systèmes asymétriques : scénario (2)
Chapitre 1 :
Alice veut envoyer un message
(super) confidentiel à Bob
mail from : alice@wonderland.com
Rcpt to : bob@builderland.com
Subject : demande de clé publique

Bob, peux tu m’envoyer ta clé publique,


J’ai besoin de t’envoyer un message confidentiel ?

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 37


Systèmes asymétriques : scénario (3)
Chapitre 1 :
Alice veut envoyer un message
(super) confidentiel à Bob

Une clé publique ?


Diantre ! Je n’en ai pas !

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 38


Systèmes asymétriques : scénario (4)
Chapitre 1 :
Alice veut envoyer un message
(super) confidentiel à Bob

Privée Publique

Générateur de paire de clés

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 39


Systèmes asymétriques : scénario (5)
Chapitre 1 :
Alice veut envoyer un message
(super) confidentiel à Bob
mail from : bob@builderland.com
Rcpt to : alice@wonderland.com
Subject : Re : demande de clé publique

No problemo Alice, la voilà :

*********************************************************
Jiez »èçu’ »r »’çà,vuàç’,uà) »c,icf) »’ic,ià)ic,i
Crçuçàur’nutàç(‘àt’)étT’ »éejir »i’(otv;t’=« c‘ »
***************************************************

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 40


Systèmes asymétriques : scénario (6)
Chapitre 1 :
Alice veut envoyer un message
(super) confidentiel à Bob

cryptogramme
Algorithme

Message clair
© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 41
Systèmes asymétriques : scénario (7)
Chapitre 1 :
Alice veut envoyer un message
(super) confidentiel à Bob
mail from : alice@wonderland.com
Rcpt to : bob@builderland.com
Subject : message confidentiel

*********************************************************
Iur’purpiu’p »zoupiàfv,’ »v,)ora »oairezr^àci^’ircàirc
Rekrieàpri ‘àçt=ér)=é »çç »v’_taé_)(_ »)t_) »t_’t_ »
***************************************************

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 42


Systèmes asymétriques : scénario (8)
Chapitre 1 :
Alice veut envoyer un message
(super) confidentiel à Bob
cryptogramme

Message clair

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 43


Systèmes asymétriques : scénario (9)
Chapitre 1 :
Alice veut envoyer un message
(super) confidentiel à Bob

Hors de question !

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 44


Debriefing
• Confidentialité unidirectionnelle

• Pas de partage de secret


– La clé publique peut être connue de tous

• Hypothèses

– Les algorithmes de chiffrement/déchiffrement peuvent être connus


– Retrouver le message clair à partir du cryptogramme doit être :
• Très (très) dur sans clé (i.e. temps infiniment long)
• Idem avec uniquement la clé publique
• Très facile avec la clé privée (i.e. temps très court)

• Echange de clé
– Peut se faire sur le canal non sûr (… ???)

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 45


Sécurité globale 1/2
Clés publiques de Clés de Fred
Bob, Peter et Alice

Fred Peter

Bob
Alice
© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 46
Sécurité globale 2/2
Clés publiques de Clés de Fred
Bob, Peter et Alice

Fred
X Peter

X X
Bob
Alice
© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 47
Debriefing (2)
• Clé « cassée » ?

– Plus personne ne peut envoyer de message confidentiel à la victime


– Aucun autre secret n’est dévoilé
• La victime peut toujours envoyer des messages confidentiels aux
interlocuteurs dont elle possède les clés publiques

• Passage à l’échelle

– Si il existe N interlocuteurs, alors pour que chacun puisse envoyer un message


confidentiel à n’importe quel autre (1) et recevoir un message confidentiel de
n’importe quel autre (2), il faut que :
• chacun génère un couple de clés
• chacun envoie sa clé publique à tous les autres (2)
• chacun ait reçu la clé publique de tous les autres (1)
– Chacun possède donc :
• Une clé privée (le secret)
• N clés publiques

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 48


Transmission des clés 1/2

Clés d’Alice Clés de Bob

Demande de clé

Bob
Alice
© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 49
Transmission des clés 2/2
Clés de Charlie
Charlie « man in the middle »
Ecoute les communications
et dispose de moyen pour
dérouter les échanges

Charlie
Clés d’Alice Bob Clés de Bob

Demande de clé

Bob
Alice
© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 50
Signature : scénario (1)
Message clair Chapitre 2 :
Bob veut envoyer un message
authentique à Alice

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 51


Signature : scénario (2)
Message clair Chapitre 2 :
Bob veut envoyer un message
authentique à Alice

Résumé

Algorithme de Hachage

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 52


Signature : scénario (3)

Résumé Chapitre 2 :
Bob veut envoyer un message
authentique à Alice

Résumé
chiffré

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 53


Signature : scénario (4)
Chapitre 2 :
Bob veut envoyer un message
authentique à Alice

Message clair
+

Résumé
chiffré

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 54


Certification 1/2
• Problèmes
– Transmission de clé publique
– Clé privée « cassée »

• Solution : PKI (Public Key Infrastructure)

Autorité de certification

Création de certificats
Révocation

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 55


Certification 2/2
• Certificat

– Clé publique
– Date de création
– Date de péremption
– Autorité émettrice
– …
Signé par l’AC

• Autorité de certification

– Digne de confiance
– Génération de paire de clés et de certificats
– Stockage protégé
– Gestion de liste de révocation

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 56


RSA 1/3
• © Rivest, Shamir et Adleman (MIT), 1978

• Basé sur la difficulté de factoriser de grand nombres premiers

– P*Q = 10613341589
– P=?,Q=?
• P= 101341
• Q= 104729

Plus grand nombre premier connu à ce jour : 213466917-1

• 4 053 946 chiffres décimaux


• 13 466 917 bits

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 57


RSA 2/3
• Soit P et Q deux grands nombres premiers
• Soit N = PQ
• Soit Φ(N)=(P-1)(Q-1)
• On calcule D et E tels que
– E premier avec Φ(N) dans l’intervalle [max(P,Q)+1, N-1]
– D inverse de E modulo Φ(N)

• Clé publique = {E,N}


• Clé privée = {D, P, Q}

• Chiffrement : C = ME mod N

• Déchiffrement : M = CD mod N

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 58


RSA 3/3
Sécurité

• 1024 bits est la taille actuellement recommandée pour les clés


– Une attaque « force brute » réussira en temps raisonnable vers 2030

Performances

• Basé sur des mathématiques « gourmandes »


– Difficile à « câbler »
– Difficile à gérer pour une machine

• Débits non adaptés à des transmissions temps-réel de gros volumes de


données (télévision numérique par exemple)
– Quelques kb/s pour RSA 1024

• Mais confortable pour le chiffrement « hors ligne » ou pour les transactions


informatiques courtes

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 59


Cryptanalyse et systèmes modernes
• Stratégie « brute de décoffrage »

– Force brute : on essaie simplement toutes les possibilités

– Exemple :
• Les bombes rapides (1943)
– Machines (mécaniques), rotors tournant à 1725 tours/mn
– Capables d’effectuer 20280 essais/secondes
– Capables de déchiffrer un message Enigma M4 en 20 minutes

– Une constante clé aujourd’hui : l’année MIPS

• Un MIPS = 1 million d’instructions par seconde

• Une année MIPS


= un an de calcul sur une machine à un MIPS
= 245 instructions

• La machine la plus puissante au monde :


– IBM’s Blue Gene : 140 000 000 MIPS
– 65536 PPC à 700 MHZ

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 60


Force brute et clé secrète 1/2
• Clé DES

– 56 bits : 256 clés possibles

– Supposons qu’il faille 1 000 000 d’années MIPS


pour essayer toutes les clés

– Cela équivaut à 2 jours de calcul sur Blue Gene

– Loi de Moore (la puissance double tous les 18 mois)

• Dans 18 mois, une machine fera la même chose en 1 journée


• Dans 3 ans, il faudra 12 heures
• Dans 6 ans, il faudra 3 heures
• Dans 12 ans, il faudra 10 minutes !

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 61


Force brute et clé secrète 2/2
• Clé AES

– 128 bits : 2128 clés possibles

– Temps de calcul estimé : 1027 années MIPS

– Cela équivaut à environ 7 000 000 000 000 d’années de calcul sur Blue Gene

• une machine fera la même chose en douze heures dans 58 ans !

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 62


Par où le secret peut-il transpirer ?

clé Environnement
d’exécution

algorithme

Transmission
Transmissionrépétée
répétée

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 63


Par où le secret peut-il transpirer ?
• Algorithme

– Existence de trappes

• Astuces introduites délibérément dans les algorithmes par leurs concepteurs


pour déchiffrer certains messages
• Choix de paramètres apparemment anondins
– DES ?

– Bugs

• Failles dans l’implémentation qui engendrent des « fuites de secrets »


– Exemple de PGP (Attaque ADK)

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 64


Par où le secret peut-il transpirer ?
• Clé

– Mauvais générateur de nombres aléatoires

• Si un RNG produit plus probablement des 0 que des 1 et que l’attaquant s’en aperçoit,
il pourra effectuer une recherche exhaustive plus efficace en commençant par les clés
les plus probables (i.e. celles qui maximisent les nombres de 0)

– Existence de « clés asymétriques faibles »

• Dans le cas de RSA, 512 bits n’implique pas 2512 clés, car il n’existe pas une « infinité »
de grands nombres premiers
• De plus, certaines clés sont dites faibles
– Par exemple choisir n grand mais p ou q petit
– Certaines clés ont également une structure facilitant certaines attaques

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 65


Par où le secret peut-il transpirer ?
• Manœuvres répétées

– Chiffrement asymétrique

• Chiffrer le même message avec des clés asymétriques différentes peut compromettre
la sécurité
– Théorème des restes chinois

• Attaques en mode signature


– Certaines propriétés permettent, en l’absence de précautions, de faire chiffrer un
message par quelqu’un à son insu

– Chiffrement symétrique

• Il est possible de mettre à jour des failles de l’algorithme en choisissant les messages à
chiffrer en tentant de déceler des invariants.

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 66


Par où le secret peut-il transpirer ?
• Environnement d’exécution

– Par « environnement d’exécution », il faut entendre l’ensemble des ressources


matérielles et logicielles supportant l’algorithme

– Il est possible en mettant en défaut l’environnement d’exécution d’obtenir des


informations sur l’algorithme et ses paramètres

– On parle alors d’attaques physiques

• Timing attack
– mesure des temps d’exécutions

• Differential power analysis (DPA)


– mesure de la consommation electrique

• Electromagnetical Analysis (EMA)


– mesure des rayonnements electromagnétiques

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 67


Conclusion
• La cryptanalyse est aussi avancée (voire plus !) que la cryptographie

• Le cryptologue doit sans cesse être à l’affût des techniques de cryptanalyse et mettre
en œuvre aussi rapidement que possible des contre-mesures efficaces

• Un bon cryptologue ne peut pas se réfugier derrière le confort d’un système qu’il
pense bon
– Car aussi longtemps que les hommes chercheront à dissimuler de l’information,
d’autres hommes chercheront des moyens pour la découvrir

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 68


FIN !

© S.JEAN, septembre 2005, v2.0 Sécurité & cryptographie 69

Vous aimerez peut-être aussi