Ecole Nationale des Sciences de l’Informatique
Cours: Sécurité informatique
Outils de cryptographie et d’authentification
Préparé par: Laabidi Mounira
02/10/2014
II3-ING(ILSI, IF,IM)
LAABIDI Mounira
1
Chapitre 2: Cryptographie Plan du Chapitre
Outils de cryptographie et d’authentification
Techniques d’authentification Cryptage symétrique Cryptage asymétrique Intégrité d’un message PKI
02/10/2014
LAABIDI Mounira
2
Chapitre 2: Cryptographie Authentification ???
S'authentifier, c'est apporter la preuve de son identité. Mais sur quels
principes se base cette notion d'identification ?
L'authentification vient après une phase d'identification qui consiste à
établir l'identité annoncée par l'utilisateur.
On parle souvent de la phase d'identification – authentification ou I/A.
02/10/2014
LAABIDI Mounira
3
Chapitre 2: Cryptographie
Phases d’authentification
Identification : Identité numérique Personne
– Chaque personne ayant accès au système d’information doit se voir
attribuer un IDENTIFIANT UNIQUE
= 1 identifiant
L’authentification = Challenge
– L’authentification repose toujours sur un challenge lancé par le système
de destination à l’intention du client afin que celui-ci prouve sont identité
Dupond
Mot de passe, clef privée, empreinte digitale, …
Qui êtes vous ? Prouvez le.
La réussite du challenge valide l’association client Identifiant
Mon mot de passe est toto
OK, c'est DUPOND
02/10/2014
LAABIDI Mounira
4
Chapitre 2: Cryptographie
Bases de l’authentification
Il existe plusieurs moyens pour s’authentifier :
Le secret (ex : mot de passe) L’objet (ex : jeton) Le caractère (ex : biométrie) Le savoir faire (ex : signature manuscrite)
La combinaison de plusieurs méthodes d’authentification permet de mettre en place des solutions d’authentification forte.
02/10/2014
LAABIDI Mounira
5
Chapitre 2: Cryptographie
Mots de passe(1/2)
Le mot de passe reste le mécanisme de déverrouillage le plus répandu car
il ne nécessite pas d'ajout de dispositif technique.
Les risques principaux liés à l'utilisation du mot de passe sont :
La divulgation La faiblesse.
Quelques bonne pratiques:
– il faut que son domaine d'utilisation soit le plus restreint possible pour limiter le risque de divulgation (associer à chaque usage un mot de passe différent).
– un bon mot de passe doit être créé de manière à résister aux techniques de craquage connues (1 heure pour craquer un mot de passe de 8 caractères alphabétiques [A-Z] Vs 1 mois pour craquer un mot de passe de 10 caractères alphabétiques ou un mot de passe de 8 caractères alphanumériques [A-Za-z0- ) 9].
02/10/2014
LAABIDI Mounira
6
Chapitre 2: Cryptographie Mots de passe(2/2)
Il existe des moyens techniques pour fabriquer et retenir
des mots de passe forts.
La méthode phonétique : utiliser les sons de chaque syllabe pour fabriquer une phrase facile à retenir. Par exemple, la phrase « j'ai acheté huit cd pour cent euros cet après-midi » deviendra : ght8CD%E7am
La méthode des premières lettres : Cette méthode consiste à garder les premières lettres d'une phrase (citation, paroles de chanson, ...) en veillant à ne pas utiliser que des minuscules. Par exemple, la citation « un tiens vaut mieux que deux tu l'auras » deviendra 1TvmQ2tl'@
02/10/2014
LAABIDI Mounira
7
Chapitre 2: Cryptographie
Problèmes liés aux mots de passe(1/3)
L’utilisation de mots de passe requiert leurs gestion (création, Modification,
Déblocage, Suppression ) – Problème : stockage, transfert sur le réseau, rejeu (réutilisation frauduleuse),
mémorisation difficile pour les utilisateurs, gestion pour l’administrateur
La plupart des systèmes sont configurés de manière à bloquer temporairement le compte d'un utilisateur après un certain nombre de tentatives de connexion infructueuses.
– Un pirate peut difficilement s'infiltrer sur un système de cette façon. – En contrepartie, un pirate peut se servir de ce mécanisme d'auto défense pour bloquer l'ensemble des comptes utilisateurs afin de provoquer un déni de service.
La plupart mots de passe des systèmes sont stockés de manière chiffrée («
cryptée ») dans un fichier ou une base de données. – Lorsqu'un pirate obtient un accès au système et obtient ce fichier, il lui est possible de tenter de casser le mot de passe du l'utilisateur.
02/10/2014
LAABIDI Mounira
8
Chapitre 2: Cryptographie Problèmes liés aux mots de passe(2/3)
Craquage du mot de passe
Craquage par force brute
Il consiste à tester tous les mots de passe. Plus il existe de combinaisons possibles pour former un mot de
passe, plus le temps moyen nécessaire pour retrouver ce mot de passe sera long.
Rajouter un caractère à un mot de passe alphanumérique double le
temps nécessaire pour le retrouver.
Craquage par dictionnaire
L'attaque par dictionnaire consiste à tester une série de mots issus
d'un dictionnaire. (dictionnaire des noms/marques, …)
Craquage hybride : combinant force brute et dictionnaire Attaque par rejeu : réutilisation du mot de passe.
02/10/2014
LAABIDI Mounira
9
Chapitre 2: Cryptographie Problèmes liés aux mots de passe(3/3)
Moyens de craquages des mots de passe
Les moyens permettant au pirate d'obtenir les mots de passe des utilisateurs :
Les key loggers : Ce sont des logiciels qui sont installés sur le poste de l'utilisateur , permettent d'enregistrer les frappes de claviers saisies par l'utilisateur.
L'ingénierie sociale: consiste à exploiter la naïveté des individus pour obtenir des informations. Un pirate peut obtenir le mot de passe d'un individu en se faisant passer par un administrateur du réseau ou bien à l'inverse appeler l'équipe de support en demandant de réinitialiser le mot de passe en prétextant un caractère d'urgence.
L'espionnage: observation de l’utilisateur.
02/10/2014
LAABIDI Mounira
10
Chapitre 2: Cryptographie
Mot de passe unique
OTP (One Time Password) :le mot de passe est utilisable
une seule fois – Protection contre l’oubli du mot de passe – Protection contre le rejeu – Non prédictible si l’algorithme est gardé secret
L’OTP peut être basé sur l’utilisation des jetons/authentifieurs/ Token
02/10/2014
LAABIDI Mounira
11
Chapitre 2: Cryptographie
Techniques de l’OTP
Asynchrone (challenge/réponse):
Envoi d’un challenge par le serveur, l’utilisateur possède une calculatrice qui transforme le challenge en un mot de passe qu’il saisit. Le serveur fait la même opération et compare.
Synchrone dépendant du temps :
Le mot de passe est fonction du temps et est
généré à intervalle régulier. Le challenge (utilisé dans le mode asynchrone) est en fait la date et l’heure.
Synchrone indépendant du temps :
Utilisation d’un compteur interne à la
calculatrice incrémenté à chaque utilisation. Le serveur est synchronisé sur ce compteur et n’accepte pas de code antérieur au compteur
02/10/2014
LAABIDI Mounira
12
Chapitre 2: Cryptographie
Exemples d’OTP /authentification par objet
La liste à biffer ou TAN (Transaction Authentification Number). Il s'agit de rentrer un OTP provenant d'une liste de codes fournie (banque).
Matrix card authentication ou authentification à carte matricielle. Il s'agit de rentrer un OTP provenant d'une carte matricielle fournie.
Utilisation des SMS: l'utilisateur reçoit un OTP directement sur son
téléphone portable.
02/10/2014
LAABIDI Mounira
13
Chapitre 2: Cryptographie
Exemples d’OTP /authentification par objet
Cartes d’identité (sans mot de passe)
– Code barre, Carte magnétique, puce, clé électronique – Problèmes : Copie, vol, liaison lecteur Serveur, rejet
Cartes d’identité + mot de passe – Authentification double facteur – Problèmes :
• Liaison lecteur Serveur, rejet • En cas copie ou de vol le pirate doit « simplement » résoudre un problème de
mot de passe
02/10/2014
LAABIDI Mounira
14
Chapitre 2: Cryptographie L’authentification par caractère : la biométrie(1/3)
La biométrie est la technologie qui mesure les caractéristiques
physiques d'un individu, que ce soit ses empreintes digitales, la forme de son visage ou encore son ADN. Les attributs biométriques doivent posséder les caractéristiques suivantes :
L'unicité: chaque attribut biométrique doit varier énormément d'une
personne à l'autre au point que l'ensemble des variations rend cet attribut unique.
La robustesse: un attribut biométrique devrait être permanent tout au long
de la vie d'une personne.
La quantifiabilité : cet attribut doit être mesurable et quantifiable. L'acceptabilité par la population (les empreintes digitales sont souvent
associées à la criminalité).
L'universalité : quelle proportion de la population a cet attribut (certaines
personnes n'ont pas d'empreintes digitales).
02/10/2014
LAABIDI Mounira
15
Chapitre 2: Cryptographie
L’authentification par caractère : la biométrie(2/3)
Toutes caractéristiques
humaines Reconnaissance Iris Empreintes digitales ou de la
mains
Reconnaissance des lèvres Cartographie des veines Reconnaissance de visages Reconnaissance d’oreille (et échos du conduit auditif) Spectre d’absorption de la
peau Voie ADN
02/10/2014
LAABIDI Mounira
16
Chapitre 2: Cryptographie
L’authentification par caractère : la biométrie(3/3)
Sources: International Biometry Group, New York, NY; 1.212.809.9491 2010.
02/10/2014
LAABIDI Mounira
17
Chapitre 2: Cryptographie
Authentification par savoir faire
Il s’agit du reconnaissance de ce que l’utilisateur sait faire. Par exemple
authentification par signature ou par geste
02/10/2014
LAABIDI Mounira
18
Chapitre 2: Cryptographie
Cryptographie
Outils de cryptographie et d’authentification
Techniques d’authentification Cryptage symétrique Cryptage asymétrique Intégrité d’un message PKI
02/10/2014
LAABIDI Mounira
19
Chapitre 2: Cryptographie
Terminologie
Chiffrement : transformation à l'aide d'une clé de chiffrement d'un message en clair en un message incompréhensible si on ne dispose pas d'une clé de déchiffrement (en anglais encryption) ;
Chiffre : anciennement code secret, par extension l'algorithme utilisé pour le
Publicité
chiffrement ;
Cryptogramme : message chiffré ; Décrypter : retrouver le message clair correspondant à un message chiffré sans posséder la clé de déchiffrement (terme que ne possèdent pas les anglophones, qui eux « cassent » des codes secrets) ;
Cryptographie : étymologiquement « écriture secrète », devenue par
extension l'étude de cet art (donc aujourd'hui la science visant à créer des cryptogrammes, c'est-à-dire à chiffrer) ;
Cryptanalyse : science analysant les cryptogrammes en vue de les décrypter ; Cryptologie : science regroupant la cryptographie et la cryptanalyse.
02/10/2014
LAABIDI Mounira
20
Chapitre 2: Cryptographie
Classification
Cryptologie
cryptographie
cryptanalyse
À clé symétrique
À clé publique
Protocoles
Cryptage par bloc
Cryptage par flux
02/10/2014
LAABIDI Mounira
21
Chapitre 2: Cryptographie
Définition de la cryptographie
Science mathématique permettant d’effectuer des opérations sur un texte intelligible afin d’assurer une ou plusieurs propriétés de la sécurité de l’information.
Intégrité
Authentification
Non Répudiation
Confidentialité
02/10/2014
LAABIDI Mounira
22
Chapitre 2: Cryptographie
Définition d’un crypto-système
Un crypto-système est décrit par cinq uplets (P,C,K,E,D) :
«P» est un ensemble fini de textes clairs (Plain text)
«C» est un ensemble fini de textes cryptés (Cypher text)
« K » est l’espace de clés (key space); c’est un ensemble
fini de clés possibles.
Pour chaque k K, il existe une fonction cryptage ek E, et une fonction de décryptage correspondante dk D
Les fonctions ek : P C et dk : C P doivent
satisfaire : dk(ek(x))=x pour chaque x P
02/10/2014
LAABIDI Mounira
23
Chapitre 2: Cryptographie
Définition de la cryptanalyse
• Principes et méthodes permettant de trouver un message clair à partir d’un message crypté sans connaissance de la clé.
• Attaques classifiées selon le type de connaissance disponible
pour l’intrus (cryptanalyst).
• Connaissant C=E(P,K) mais pas K, l’objectif est de trouver P ou
K.
• Types d’attaques de cryptanalyse:
– Texte chiffré uniquement: uniquement C et E sont connus par l’intrus – Texte clair connu: Uniquement E, C, et quelques paires de messages
clairs/cryptés avec K, sont connus par l’intrus
– Texte clair choisi: E, C, sont connus, et P a été choisi par l’intrus. – …
02/10/2014
LAABIDI Mounira
24
Chapitre 2: Cryptographie
Les principes de Kerckhoffs
Le linguiste hollandais Auguste Kerckhoffs Van Nieuwenhof dans son
traité La cryptographie militaire a énoncé les principes suivant qui sont les axiomes de la cryptographie
Le système doit être matériellement, sinon mathématiquement, indéchiffrable;
La clé 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;
Il faut qu'il soit applicable à la correspondance télégraphique;
Il faut qu'il soit portatif, et que son maniement ou son fonctionnement n'exige
pas le recours à plusieurs personnes;
Enfin, il est nécessaire, vu les circonstances qui en commandent l'application, que le système soit d'un usage facile, ne demandant ni tension d'esprit, ni la connaissance d'une longue série de règles à observer.
02/10/2014
LAABIDI Mounira
25
Référence : Kerckhoffs Auguste, La cryptographie militaire, Journal des sciences militaires, vol. IX, pp. 538, Janvier 1883, pp161-191
Chapitre 2: Cryptographie
Un peu d’histoire
•
•
Le premier « document » chiffré connu remonte à l'Antiquité. Il s'agit d'une tablette d'argile, retrouvée en Irak, et datant du XVIe siècle av. J.-C. Un potier y avait gravé sa recette secrète en supprimant des consonnes et en modifiant l'orthographe des mots.
La technique grecque: Entre le Xe et VIIe siècle av. J.-C. Technique de chiffrement par transposition, c'est-à-dire reposant sur le changement de position des lettres dans le message, en utilisant un bâton de diamètre déterminé appelée scytale. On enroulait en hélice une bande de cuir autour de la scytale avant d'y inscrire un message. Une fois déroulé, le message était envoyé au destinataire qui possédait un bâton identique, nécessaire au déchiffrement.
02/10/2014
LAABIDI Mounira
26
Chapitre 2: Cryptographie
Un peu d’histoire
•
La technique des Hébreux: À partir du Ve siècle av. J.-C., l'une des premières techniques de chiffrement est utilisée dans les textes religieux par les Hébreux qui connaissent plusieurs procédés. Le plus connu appelé Atbash est une méthode de substitution alphabétique inversée. Elle consiste à remplacer chaque lettre du texte en clair par une autre lettre de l'alphabet choisie de la manière suivante : A devient Z, B devient Y, etc.
• Nabuchodonosor: Aux alentours de -600, Nabuchodonosor, roi de
Babylone, employait une méthode originale : il écrivait sur le crâne rasé de ses esclaves, attendait que leurs cheveux aient repoussé, et il les envoyait à ses généraux. Il suffisait ensuite de raser à nouveau le messager pour lire le texte. Il s'agit toutefois de stéganographie à proprement parler et non pas de cryptographie : l'information est cachée et non pas codée.
On remarque dans ce procédé une certaine fiabilité : en effet l'interception
du message par un tiers est tout de suite remarquée.
02/10/2014
LAABIDI Mounira
27
Chapitre 2: Cryptographie
Un peu d’histoire
•
Les premiers « vrais » systèmes de cryptographie: Il faut attendre -200 pour voir apparaître les premiers « vrais » systèmes de cryptographie. Ce sont essentiellement des chiffrements par substitution. Il existe différents types de substitutions : – mono-alphabétique : remplace chaque lettre du message par une
autre lettre de l'alphabet
– poly-alphabétique : utilise une suite de chiffres mono-alphabétiques (la
clé) réutilisée périodiquement
– polygrammes : substitue un groupe de caractères dans le message par
un autre groupe de caractères
02/10/2014
LAABIDI Mounira
28
Chapitre 2: Cryptographie
Un peu d’histoire
•
•
Le code de César: Le code de César est la méthode cryptographique, par substitution mono-alphabétique, la plus ancienne (Ier siècle av. J.-C.). Cette méthode est utilisée par l'armée romaine et bien qu'elle soit beaucoup moins robuste que la technique Atbash, la faible alphabétisation de la population la rend suffisamment efficace.
• Méthode de chiffrement Son système est simple, il consiste à décaler les lettres de l'alphabet d'un nombre n. Par exemple, si on remplace A par D (n=3), on remplace B par E, C par F... Le texte que nous souhaitons coder étant le suivant : « décaler les lettres de l'alphabet » Le texte codé est alors : « ghfdohu ohv ohwwuhv gh o'doskdehw »
•
•
02/10/2014
LAABIDI Mounira
29
Chapitre 2: Cryptographie
Un peu d’histoire
Le code de César:
• • Malheureusement, on comprendra que ce système est très peu sûr,
puisqu'il n'y a que 26 lettres dans l'alphabet donc seulement 25 façons de chiffrer un message avec le code de César(on ne peut substituer une lettre par elle-meme). Pourtant sa simplicité conduisit les officiers sudistes à le réemployer durant la guerre de Sécession. L'armée russe en fit de même en 1915.
• Un système connu et pourtant Le code de César a été utilisé sur des forums
internet sous le nom de ROT13 (rot-ation de 13 lettres ou A→N...). Le ROT13 n'a pas pour but de rendre du texte confidentiel, mais plutôt d'empêcher la lecture involontaire (d'une réponse à une devinette, ou de l'intrigue d'un film, etc.). Son utilisation est simple : il suffit de re-chiffrer un texte, codé en ROT13, une deuxième fois pour obtenir le texte en clair.
02/10/2014
LAABIDI Mounira
30
Chapitre 2: Cryptographie
Un peu d’histoire
•
•
•
Le chiffre de Vigenère est un système de chiffrement, élaboré par Blaise de Vigenère (1523-1596), diplomate français du XVIe siècle. C'est un système de substitution poly-alphabétique ou de chiffrement polyalphabétique. Cela signifie qu'il permet de remplacer une lettre par une autre qui n'est pas toujours la même, contrairement au chiffre de César ou à ROT13 qui se contentaient d'utiliser la même lettre de substitution. C'est donc un système relativement plus « solide » que ces deux systèmes. Principe: Ce chiffrement introduit la notion de clé. Une clé se présente généralement sous la forme d'un mot ou d'une phrase. Pour pouvoir chiffrer notre texte, à chaque caractère nous utilisons une lettre de la clé pour effectuer la substitution. Évidemment, plus la clé sera longue et variée et mieux le texte sera chiffré. Il faut savoir qu'il y a eu une période où des passages entiers d'œuvres littéraires étaient utilisés pour chiffrer les plus grands secrets. Les deux correspondants n'avaient plus qu'à avoir en leurs mains un exemplaire du même livre pour s'assurer de la bonne compréhension des messages.
02/10/2014
LAABIDI Mounira
31
Chapitre 2: Cryptographie
Un peu d’histoire
• Table de Vigenère:
02/10/2014
LAABIDI Mounira
32
Chapitre 2: Cryptographie
Un peu d’histoire
•
Le chiffre de Vigenère: Pour chaque lettre en clair, on sélectionne la colonne correspondante et pour une lettre de la clé on sélectionne la ligne adéquate, puis au croisement de la ligne et de la colonne on trouve la lettre chiffrée. La lettre de la clé est à prendre dans l'ordre dans laquelle elle se présente et on répète la clé en boucle autant que nécessaire. – clé : MUSIQUE – texte : j'adore ecouter la radio toute la journee
– j'adore ecouter la radio toute la journee – M USIQU EMUSIQU EM USIQU EMUSI QU EMUSIQU
| ||| | || Colonne O, ligne I : on obtient la lettre W. | | Colonne D, ligne S : on obtient la lettre V. | Colonne A, ligne U : on obtient la lettre U.
Colonne J, ligne M : on obtient la lettre V.
02/10/2014
LAABIDI Mounira
33
Chapitre 2: Cryptographie
Un peu d’histoire
•
•
Le texte chiffré est alors :
V'UVWHY IOIMBUL PM LSLYI XAOLM BU NAOJVUY.
Si on veut déchiffrer ce texte, on regarde pour chaque lettre de la clé répétée la ligne correspondante, et on y cherche la lettre chiffrée. La première lettre de la colonne que l'on trouve ainsi est la lettre déchiffrée. – V'UVWHY IOIMBUL PM LSLYI XAOLM BU NAOJVUY – M USIQU EMUSIQU EM USIQU EMUSI QU EMUSIQU | |||
| || Ligne I, on cherche W: on trouve la colonne O. | | Ligne S, on cherche V: on trouve la colonne D. | Ligne U, on cherche U: on trouve la colonne A. Ligne M, on cherche V: on trouve la colonne J.
02/10/2014
LAABIDI Mounira
34
Chapitre 2: Cryptographie
Un peu d’histoire
•
•
Enigma est une machine électromécanique portable d'origine allemande, faisant appel à des rotors montés sur cylindres pour le chiffrement et le déchiffrement de l'information. Plus précisément, Enigma est une famille de machines, car il en a existé de nombreuses et subtiles variantes. Enigma fut commercialisée en Europe et dans le reste du monde dès le début des années 1920. Elle fut aussi adaptée pour une utilisation par les services militaires et diplomatiques de nombreuses nations. Son utilisation la plus fameuse fut celle de l'Allemagne nazie et de ses alliés, avant et pendant la Seconde Guerre mondiale.
02/10/2014
LAABIDI Mounira
35
Chapitre 2: Cryptographie
Un peu d’histoire
• Bien qu'elle fût considérée avant la Seconde Guerre mondiale comme sûre
par ses utilisateurs, les cryptologues britanniques furent, à plusieurs reprises et sur de longues durées, capables de décrypter les messages protégés par ces machines. Les informations obtenues grâce à cette source leur donnèrent un net avantage dans la poursuite de la guerre. Enigma chiffre les informations en réalisant le passage d'un courant électrique à travers une série de composants. Le courant est transmis en pressant une lettre sur le clavier. Après sa traversée dans un réseau complexe de fils, une lampe indique la lettre chiffrée.
•
02/10/2014
LAABIDI Mounira
36
Chapitre 2: Cryptographie
Les Critères de sécurité
•
•
Alice
Bob
Confidentialité (confidentiality): garantie que seules les personnes autorisées ont accès aux éléments considérés.
Intégrité des données (data integrity): garantie que les éléments considérés sont exacts et complets.
• Authentification (authentication): possibilité de vérifier l'identité d'une entité
(personne, ordinateur...), afin d'autoriser l'accès de cette entité à des ressources (systèmes, réseaux, applications...).
• Non-répudiation (non-repudiation): la possibilité de vérifier que l'envoyeur et le
destinataire sont bien les parties qui disent avoir respectivement envoyé ou reçu le message.
02/10/2014
LAABIDI Mounira
Publicité
37
Chapitre 2: Cryptographie
Les Critères de sécurité
• Autres aspects importants
– Disponibilité (availability): garantie que ces éléments considérés sont
accessibles au moment voulu par les personnes autorisées.
– Anonymat (privacy): garantie que l’identité et/ou la localisation de l’entité
reste(nt) confidentielle(s).
Un outil fondamental pour assurer la sécurité est la cryptographie
•
La cryptographie et la cryptanalyse sont des outils importants pour assurer la confidentialité d'une information (stockée ou transitée), son intégrité (toute modification est détectable), et l'identification de son origine (l'émetteur peut être identifié).
02/10/2014
LAABIDI Mounira
38
Chapitre 2: Cryptographie
Types d’attaques
e v i s s a P
e v i t c A
Alice
Bob
Ecoute
Eve
Alice
Bob
Modification
Trudy
Alice
Bob
Fabrication
Trudy
Alice
Bob
Re-jeux
Trudy
02/10/2014
LAABIDI Mounira
39
Chapitre 2: Cryptographie
Primitives Cryptographiques
Primitives sans clés
Primitives de sécurité
Primitives à clé symétrique
Primitives à clé publique
02/10/2014
Arbitrary length hash functions
One-way permutations
Séquences aléatoires
Chiffrement à clé symétrique
Arbitrary length hash functions (MACs)
Signatures
Séquences Pseudo- aléatoires
Primitives d’identification
Chiffrement à clé publique
Signatures
Primitives d’identification
LAABIDI Mounira
Stream ciphers
Block ciphers
40
Chapitre 1: Introduction
Principe du chiffrement symétrique
chiffrement symétrique
Aussi nommé cryptage à clé secrète, le cryptage symétrique utilise la même clé, tenue secrète, pour le chiffrement et le déchiffrement. – Le chiffrement s’effectue en additionnant (fonction XOR) la clé au message coupé en blocs et en effectuant plusieurs permutations, tout en itérant plusieurs fois.
Le cryptage symétrique utilise des canaux sécurisés pour échanger la
clé secrète (IPSec).
Algorithmes
– DES (Data Encryption Standard), Triple-DES, AES (Advanced Encryption
Standard),
– IDEA (Internationale Data Encryption Algorithm), Blowfish
Simples à mettre en œuvre, l’exécution peut être très rapide
02/10/2014
LAABIDI Mounira
41
Chapitre 2: Cryptographie
Principe du chiffrement symétrique
Clé 01010000111
Transmission par canal sécurisé Transmission par canal sécurisé
Clé 01010000111
Texte clair
Cryptage
Voici le numéro de ma carte de crédit 111111,
Emetteur
Cryptanalyst
Internet
☺☼♀☻ ♠♣▼╫◊ ♫◙◘€£ ¥₪Ω٭ Texte crypté
Décryptage
Texte clair
Voici le numéro de ma carte de crédit 111111,
Récepteur
02/10/2014
LAABIDI Mounira
42
Chapitre 2: Cryptographie Principe du chiffrement symétrique
Deux catégories de chiffrement symétrique
Chiffrement par flux
Principe: Traite les éléments d’entrée de façon continue,
produisant à la fois un élément de sortie (crypté). La clé est aussi longue que le Stream de données. Mode adapté pour la communication en temps réel: Pas besoin
d’attendre l’arrivé du block entier.
Implémenté en général sur des supports hardware
02/10/2014
LAABIDI Mounira
43
Chapitre 2: Cryptographie
Chiffrement par flux
•
•
Le texte en clair est combiné avec un keystream (un flot de clés de chiffrement pseudo-aléatoire), généralement en utilisant l’opération exclusive-or (xor). 1 time pad:
02/10/2014
LAABIDI Mounira
44
Chapitre 2: Cryptographie
Chiffrement par flux
• Un synchronous stream cipher est un schéma de chiffrement dans lequel le keystream est généré indépendament du text en clair (plaintext) et du texte chiffré (ciphertext). – 0 : état initial (initial state) – f : Next-state function – G : The function which produces the keystream zi – H : Output function.
02/10/2014
LAABIDI Mounira
45
Chapitre 2: Cryptographie
Chiffrement par flux
•
La plupart des schémas de chiffrement à flot proposés dans la littérature sont additifs
• Definition: Un binary additive stream cipher est un synchronous stream
cipher dans lequel le keystream, le texte en clair et le texte chiffré sont des données binaires, et le résultat de la fonction h est une fonction XOR.
02/10/2014
LAABIDI Mounira
46
Chapitre 2: Cryptographie Principe du chiffrement symétrique
Chiffrement par bloc
Principe: Le texte est divisé en différents blocks de taille fixe. Un
block est traité à la fois, produisant un block de données cryptées.
le block doit être entièrement disponible avant le traitement La même fonction et la même clé sont utilisées pour crypter les
blocks successifs.
Implémentation d’une manière logicielle en générale.
02/10/2014
LAABIDI Mounira
47
Chapitre 2: Cryptographie
Chiffrement par bloc
•
•
•
•
Le chiffrement par bloc (en anglais block cipher) est une méthode de chiffrements symétrique qui découpe le texte à chiffrer en blocs de taille généralement fixe. La taille de bloc est comprise entre 32 et 512 bits – Dans le milieu des années 1990 le standard était de 64 bits – Depuis 2000 le standard est de 128 bits Les blocs sont ensuite chiffrés les uns après les autres.
Il est possible de transformer un chiffrement de bloc en un chiffrement par flot en utilisant un mode d'opération – ECB (chaque bloc chiffré indépendamment des autres) – CFB (on chaîne le chiffrement en effectuant un XOR entre les résultats
successifs).
02/10/2014
LAABIDI Mounira
48
Chapitre 2: Cryptographie
Chiffrement par bloc
Electronic Code Book mode (ECB):
+ : implementation simple - : un attaquant peut aisément remplacer un block
x1
eK
y1
x2
x3
eK
y2
eK
y3
Cipher FeedBack mode (CFB):
IV
eK
x1
y1
eK
x2
y2
...
IV: Initial Vector IV: Initial Vector • But: chaque message codé devient unique • But: chaque message codé devient unique • Génération: timestamp ou nombre aléatoire (random number) • Génération: timestamp ou nombre aléatoire (random number)
02/10/2014
LAABIDI Mounira
49
Chapitre 2: Cryptographie
Chiffrement par bloc
Cipher Block Chaining mode (CBC):
x1
x2
IV= y0
...
eK
y1
eK
y2
Output FeedBack mode (OFB):
IV= z0
eK
x1
z1
y1
eK
z2
Publicité
...
x2
y2
02/10/2014
LAABIDI Mounira
50
Chapitre 2: Cryptographie
Problème de distribution de la clé
• Pour N utilisateurs, il faut clés. Soit alors
Utilisateurs
100
1000
Clés
5,000
500,000
02/10/2014
LAABIDI Mounira
51
(1)2NN
Chapitre 2: Cryptographie
Diffie-Hellman: Principe
02/10/2014
LAABIDI Mounira
52
Chapitre 2: Cryptographie
Diffie-Hellman: Exemple
• • • • • • •
Alice et Bob choisissent un nombre premier p=23 et une base g=3 Alice choisit un nombre secret a=6 Elle envoie à Bob la valeur ga [mod p] = 36 [23] = 16 Bob choisit à son tour un nombre secret b=15 Bob envoie à Alice la valeur gb [mod p] = 315 [23] = 12 Alice calcule la clé secrète : (gb [mod p])a [mod p] = 126 [23] = 9 Bob obtient la même clé qu'Alice : (ga [mod p])b [mod p] = 1615 [23] = 9
02/10/2014
LAABIDI Mounira
53
Chapitre 2: Cryptographie
Histoire du DES
Jusqu’aux années 1970, seuls les militaires possédaient des algorithmes à
clé secrète fiables.
Devant l'émergence de besoins civils, le NBS (National Bureau of Standards) lança le 15 mai 1973 un appel d'offres dans le Federal Register (l'équivalent du Journal Officiel américain) pour la création d'un système cryptographique dont : l'algorithme repose sur une clé relativement petite, qui sert à la fois au
chiffrement et au déchiffrement ;
l'algorithme doit être facile à implémenter, en logiciel et en matériel, et doit être
très rapide ;
le chiffrement doit avoir un haut niveau de sûreté, uniquement lié à la clé, et
non à la confidentialité de l'algorithme .
Les efforts conjoints d'IBM, qui propose Lucifer fin 1974, et de la NSA (National Security Agency) conduisent à l'élaboration du DES (Data Encryption Standard) en 1975, l'algorithme de chiffrement le plus utilisé au monde durant le dernier quart du XXième siècle.
02/10/2014
LAABIDI Mounira
54
Chapitre 2: Cryptographie
Histoire du DES
DES (Data Encryption Standard) IBM 1977
L’algorithme de cryptage (Block cipher) à clés symétriques le plus utilisé.
Crypte des blocks de 64 bits en utilisant des clés relativement courtes
(taille effective 56-bit).
Produit de transpositions et de substitutions.
Implémentation facile en matériel. Boites transposition P-Box Boites de substitution S-Box
02/10/2014
LAABIDI Mounira
55
Chapitre 2: Cryptographie
Data Encryption Standard (DES)
C’est LE schéma de chiffrement symétrique par bloc
• • Developpé dans les années 70 par IBM, standard ANSI en 1981 (ANSI
X3.92) • Largement utilisé dans les transactions bancaires • N’est plus considéré comme suffisament robuste •
Principe:
Plaintext: 64 bits
Key: 56 bits
DES
Ciphertext: 64 bits
02/10/2014
LAABIDI Mounira
56
Chapitre 2: Cryptographie
Histoire du DES
Les étapes des cette élaboration sont restés secrets, (la conception des S Boxes).
Les S Boxes sont des tables qui définissent des permutation.
Le message est découpé en blocs de 64 bits.
Initialisation : permutation de tous les bits formant ce bloc.
On le coupe en deux parties : L0 et R0.
02/10/2014
LAABIDI Mounira
57
Chapitre 2: Cryptographie
Principe du DES
Les grandes lignes de l'algorithme sont :
Phase 1 : Préparation - Diversification de la clé
Le texte est découpé en blocs de 64 bits. On diversifie aussi la clé K, c'est- à-dire qu'on fabrique à partir de K, 16 sous-clés K1,...,K16 à 48 bits. Les Ki sont composés de 48 bits de K, pris dans un certain ordre
Phase 2 : Permutation initiale Pour chaque bloc de 64 bits x du texte, on calcule une permutation finie
y=P(x). y est représenté sous la forme y=G0D0, G0 étant les 32 bits à gauche de y, D0 les 32 bits à droite.
Phase 3 : Itération On applique 16 itération d'une même fonction. A partir de Gi-1Di-1 (pour i
de 1 à 16), on calcule GiDi en posant :
Gi=Di-1. Di-1=Gi-1 XOR f(Di-1,Ki). Phase 4 : Permutation finale. On applique à G16 D16 l'inverse de la permutation initiale. Z=P-1(G16D16) est
le bloc de 64 bits chiffré à partir de x.
02/10/2014
LAABIDI Mounira
58
Chapitre 2: Cryptographie
Histoire du DES
48 bits
2
1
3
4
02/10/2014
LAABIDI Mounira
59
Chapitre 2: Cryptographie
DES (étape 1):Permutation initiale
Permutation initiale Permutation finale
Le bit numéro 1 deviendra à la position 58 Implémentation simple en matériel
02/10/2014
LAABIDI Mounira
60
Chapitre 2: Cryptographie
DES (étape 2)
Les sous-clés (Round keys) sont générées à partir de la clé principale de 56
bits: Division de la clé de 56 bits en deux segments. Rotation de chaque segment par un ou deux bits à gauche. Sélection de 24 bits de chaque segment.
02/10/2014
LAABIDI Mounira
61
Chapitre 2: Cryptographie
DES (étape 2)
La clé secrète est transformée en 16 parties Ki de 48 bits.
Puis, on permute les deux parties en introduisant une fonction de la clé.
L1 = R0. R1 = L0 + f (K1, R0). Cette opération se répète 16 fois. A chaque étape i, on a : Li = Ri-1. Ri = Li-1 + f (Ki, Ri-1).
02/10/2014
LAABIDI Mounira
62
Chapitre 2: Cryptographie
DES (étape 2)
Ki représente la sous clé numéro i obtenu à partir de la clé secrète.
Le calcul de f se fait de la manière suivante :
les 32 bits de la partie R sont étendue à 48 bits grâce à une table
appelée E (Expansion).
Ce nouveau R, E(R) pour être plus précis, est additionné à Ki.
Le résultat est découpé en huit suites Bi de six bits : Grâce à la table S-Box, les données de ces huit suites donne un résultat de 32bits.
02/10/2014
LAABIDI Mounira
63
Chapitre 2: Cryptographie
DES (étape 3) Un tour DES (One DES round)
Cryptage
Décryptage
Block de 64 bits en entrée Block de 64 bits en entrée
Block de 64 bits en entrée Block de 64 bits en entrée
32 bits Li 32 bits Li
32 bits Ri 32 bits Ri
Sous-clé Sous-clé de 48 bits de 48 bits
Sous-clé Sous-clé de 48 bits de 48 bits
32 bits Li+1 32 bits Li+1
32 bits Ri+1 32 bits Ri+1
Fonction de cryptage Fonction de cryptage
Fonction de cryptage Fonction de cryptage
+ +
+ +
32 bits Li+1 32 bits Li+1
32 bits Ri+1 32 bits Ri+1
32 bits Li 32 bits Li
32 bits Ri 32 bits Ri
Block de 64 bits en sortie Block de 64 bits en sortie
Block de 64 bits en sortie Block de 64 bits en sortie
02/10/2014
LAABIDI Mounira
64
Chapitre 2: Cryptographie
La fonction de cryptage
02/10/2014
LAABIDI Mounira
65
Chapitre 2: Cryptographie
La fonction d’expansion
Etendre les blocks d’entré Ri de 32 bits à un block Ri’ de 48 bits.
Diviser les 32 bits en des segments de 4 bits
Élargir chaque segment de 4 bits avec les bits de ses voisins pour
attendre 6 bits.
XOR des 48 bits en sortie avec la clé.
1 2 3 4 5 6 7 8 9 …
32 1 2 3 4 5
4 5 6 7 8 9
02/10/2014
LAABIDI Mounira
66
Chapitre 2: Cryptographie
Fonction de substitution
Il y a 8 S-Box, une pour chacun Bi.
Chaque S-Box à 16 colonnes et 4 lignes.
Bi = b1b2b3b4b5b6. On calcule
r = b1b6 c = b2b3b4b5.
On regarde le nombre qui figure à la ligne r et à la colonne c. Il est
codé sur 4 bits est correspond à la sortie Si(Bi).
Publicité
Ensuite on effectue une permutation représentée par une table appelée P et le résultat de cette permutation est retourné par la fo