Cryptographie. Master de cryptographie Fonctions de hachage et applications. 14 et 21 mars Université Rennes 1

Documents pareils
Fonction de hachage et signatures électroniques

Les fonctions de hachage, un domaine à la mode

Cryptographie. Master de cryptographie Architectures PKI. 23 mars Université Rennes 1

ÉPREUVE COMMUNE DE TIPE Partie D

CRYPTOGRAPHIE. Signature électronique. E. Bresson. SGDN/DCSSI Laboratoire de cryptographie

Authentification de messages et mots de passe

INF 4420: Sécurité Informatique Cryptographie II

Sécurité de l'information

Cryptologie. Algorithmes à clé publique. Jean-Marc Robert. Génie logiciel et des TI

Problèmes arithmétiques issus de la cryptographie reposant sur les réseaux

Cryptographie. Cours 3/8 - Chiffrement asymétrique

Cryptographie et fonctions à sens unique

La sécurité dans les grilles

Chapitre 7. Sécurité des réseaux. Services, attaques et mécanismes cryptographiques. Hdhili M.H. Cours Administration et sécurité des réseaux

Cours 14. Crypto. 2004, Marc-André Léger

Le format OpenPGP. Traduit par : Sébastien Person. personseb@yahoo.fr. Matthieu Hautreux. matthieu.hautreux@insa-rouen.fr.

Sommaire Introduction Les bases de la cryptographie Introduction aux concepts d infrastructure à clés publiques Conclusions Références

I.1. Chiffrement I.1.1 Chiffrement symétrique I.1.2 Chiffrement asymétrique I.2 La signature numérique I.2.1 Les fonctions de hachage I.2.

Signatures électroniques dans les applications INTERNET

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

CRYPTOGRAPHIE. Chiffrement par flot. E. Bresson. SGDN/DCSSI Laboratoire de cryptographie

TP 2 : Chiffrement par blocs


Les réseaux ad hoc : problèmes de sécurité et solutions potentielles

Le protocole SSH (Secure Shell)

Cryptographie Quantique

Gestion des Clés. Pr Belkhir Abdelkader. 10/04/2013 Pr BELKHIR Abdelkader

TIW4 : SÉCURITÉ DES SYSTÈMES D INFORMATION

Architectures PKI. Sébastien VARRETTE

Gestion des Clés Publiques (PKI)

TECHNIQUES DE CRYPTOGRAPHIE

Nouveaux résultats en cryptographie basée sur les codes correcteurs d erreurs

Rapport de certification ANSSI-CSPN-2010/07. KeePass Version 2.10 Portable

Sécurité des réseaux IPSec

Calculateur quantique: factorisation des entiers

Journées MATHRICE "Dijon-Besançon" DIJON mars Projet MySafeKey Authentification par clé USB

Université d Aix-Marseille Master Réseaux & Télécoms Cryptographie

Aristote Groupe PIN. Utilisations pratiques de la cryptographie. Frédéric Pailler (CNES) 13 janvier 2009

Étudiant : Nicolas Favre-Félix IFIPS Info 3. Les One Time Passwords, Mots de passe à usage unique

FORMATION SUR «CRYPTOGRAPHIE APPLIQUEE

TER Master Informatique : Etude du Single Sign-On (SSO) Sujet proposé par Francine HERRMANN. Etudiants LELOUP Julien & VAYEUR Guillaume

Analyse de PRESENT avec peu de données

Skype (v2.5) Protocol Data Structures (French) Author : Ouanilo MEDEGAN

Le protocole sécurisé SSL

Action Spécifique Sécurité du CNRS 15 mai 2002

Du 03 au 07 Février 2014 Tunis (Tunisie)

Windows Server 2008 Sécurité ADMINISTRATION ET CONFIGURATION DE LA SECURITE OLIVIER D.

Cryptologie à clé publique

Livre blanc. Sécuriser les échanges

Cryptographie RSA. Introduction Opérations Attaques. Cryptographie RSA NGUYEN Tuong Lan - LIU Yi 1

Les protocoles cryptographiques

INSTALLATION D'OPENVPN:

Signature électronique. Romain Kolb 31/10/2008

Mécanismes de configuration automatique d une interface réseau, aspects sécurité

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : hivert

Théorie et Pratique de la Cryptanalyse à Clef Publique

Audit des risques informatiques

Politique d utilisation par AC. Certification et protocoles. Contenu d un certificat (X.509)

Pascal Gachet Travail de diplôme Déploiement de solutions VPN : PKI Etude de cas

NOTATIONS PRÉLIMINAIRES

Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé

L authentification de NTX Research au service des Banques

La sécurité des réseaux. 9e cours 2014 Louis Salvail

Définitions. Numéro à préciser. (Durée : )

Algorithmes d'apprentissage

Petite introduction aux protocoles cryptographiques. Master d informatique M2

IPSEC : PRÉSENTATION TECHNIQUE

Protocoles d authentification

Modes opératoires pour le chiffrement symétrique

6. Hachage. Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses

Certificats X509 & Infrastructure de Gestion de Clés. Claude Gross CNRS/UREC

I3, Probabilités 2014 Travaux Dirigés F BM F BM F BM F BM F B M F B M F B M F B M

Développements limités. Notion de développement limité

Cryptographie appliquée

Manuel des logiciels de transferts de fichiers File Delivery Services

SSL/TLS: état des lieux et recommandations

SSL/TLS: Secure Socket Layer/Transport Layer Secure Quelques éléments d analyse. GRES 2006 Bordeaux 12 Mai Ahmed Serhrouchni ENST-PARIS CNRS

«La Sécurité des Transactions et des Echanges Electroniques»

Devoir Surveillé de Sécurité des Réseaux

La Technologie Carte à Puce EAP TLS v2.0

Ludovic Mé http ://rennes.supelec.fr/rennes/si/equipe/lme/ Campus de Rennes Equipe SSIR

Couples de variables aléatoires discrètes

Protocoles d`authentification. Refik Molva et Yves Roudier. Institut EURECOM, BP 193 Sophia Antipolis Cedex - France

HASH LOGIC. Web Key Server. Solution de déploiement des certificats à grande échelle. A quoi sert le Web Key Server? A propos de HASHLOGIC

OPAL un système d'authentification par mots de passe non réutilisables

LOGICIEL KIPICAM : Manuel d installation et d utilisation

Les certificats numériques

SSL ET IPSEC. Licence Pro ATC Amel Guetat

LES SECURITES DE LA CARTE BANCAIRE

Travail d intérêt personnel encadré : La cryptographie

Les Protocoles de sécurité dans les réseaux WiFi. Ihsane MOUTAIB & Lamia ELOFIR FM05

Les Réseaux sans fils : IEEE F. Nolot

TP2 - Conguration réseau et commandes utiles. 1 Généralités. 2 Conguration de la machine. 2.1 Commande hostname

(51) Int Cl.: H04L 29/06 ( ) G06F 21/55 ( )

Les risques liés à la signature numérique. Pascal Seeger Expert en cybercriminalité

Chapitre 3 : Crytographie «Cryptography»

Cryptographie à clé publique : Constructions et preuves de sécurité

Transcription:

Cryptographie Master de cryptographie Fonctions de hachage et applications 14 et 21 mars 2017 Université Rennes 1 Master Crypto (2016-2017) Cryptographie 14 et 21 mars 2017 1 / 29

Utilisation 2 types d'utilisation MDC ou code detecteur de modication Assure l'intégrité des données sur une taille réduite MAC ou code authenticateur de message (utilise une clé) Prouve que l'expéditeur possède la clé Empreinte numérique Exemples d'utilisation téléchargement stockage des mots de passe recherche dans une table signature numérique Master Crypto (2016-2017) Cryptographie 14 et 21 mars 2017 2 / 29

Stockage des mots de passe On stocke le haché d'un mot de passe sur le serveur. L'utilisateur rentre son login et son mot de passe en clair. Le mot de passe est haché. Le serveur vérie si le login correspond au haché du mot de passe stocké. un espion peut récupérer les haché mais pas les clairs. Attaque par dictionnaire Principe : utilisation d'un dictionnaire des mots de passe les plus courants et de leurs hachés. Exemple : John the ripper. Détection : imposer un temps entre 2 tentatives, limiter les tentatives. Protection : salage, ie rajouter une donnée claire avant de hacher nouveau dictionnaire nécessaire à chaque fois. Master Crypto (2016-2017) Cryptographie 14 et 21 mars 2017 3 / 29

Dénition Une fonction de hachage est une fonction h de l'espace des clairs dans le sous-ensemble des chirés d'une certaine taille. Typiquement Propriétés requises h : {0, 1} {0, 1} n Résistance à la préimage (fonction à sens unique). Étant donné y, il est dicile de trouver x tq y = h(x). Résistance à la seconde préimage. Etant donné x, il est dicile de trouver x x tq h(x ) = h(x). Résistance à la collision. Il est dicile de trouver x x tq h(x) = h(x ) Eet d'avalanche (sauf cas particuliers). Résistance à la collision seconde préimage préimage. Attaque des anniversaires collision en 2 n/2 hachages. Master Crypto (2016-2017) Cryptographie 14 et 21 mars 2017 4 / 29

Fonctions de hachage itérées On suppose connue une fonction de compression c : {0, 1} m+t {0, 1} m 0n veut en déduire un haché de longueur m d'une chaîne x. Prétraitement : déduire de x une chaîne y = y 1 y 2... y r avec y i de longueur t (padding). Traitement : Soit IV publique de longueur m. On calcule z 0 = IV, z 1 = c(z 0 y 1 ), z 2 = c(z 1 y 2 ),, z r = c(z r 1 y r ). Transformation de sortie (facultatif) : h(x) = g(z r ) Remarques La fonction de prétraitement doit être injective. A la base de la plupart des fonctions de hachage. Master Crypto (2016-2017) Cryptographie 14 et 21 mars 2017 5 / 29

Modèle de Merkle-Damgard Prétraitement On coupe x en r 1 blocs de t 1 bits On rajoute d 0 à x r 1 pour que x r 1 = t 1 On rajoute un bloc de t 1 bits codant d y 1 = 0 x 1,, y k = 1 x k,, y r 1 = 1 x r 1, y r = 1 (d) 2 Traitement classique avec z 0 = 0. Theorem Si la fonction de compression résiste aux collisions, alors la fonction de hachage construite sur le modèle de Merkle-Damgard aussi. Remarque : Il existe une variante si t = 1. Master Crypto (2016-2017) Cryptographie 14 et 21 mars 2017 6 / 29

Utilisation des chirements par blocs Motivation : Les chirements par blocs existent déjà et sont "éprouvés". Inconvénient : Ils ne possèdent pas de bonnes propriétés statistiques. Master Crypto (2016-2017) Cryptographie 14 et 21 mars 2017 7 / 29

Construction de MAC Idée : concaténer la clé avec le message à authentier. HMAC (standard) Paramètres K clé jusqu'à 512 bits. ipad = 0x3636 36 et opad = 0x5C 5C 5C constantes de 512 bits. h fonction de hachage. x message à authentier. HMAC(K, x) = h((k opad) h(k ipad x)) On peut aussi utiliser le mode CBC et ne garder que le dernier bloc chiré (CBC-MAC) Master Crypto (2016-2017) Cryptographie 14 et 21 mars 2017 8 / 29

Exemples de fonction de compression MD5 Proposé par Rivest en 1991. Produit une emprunte de 128 bits pour des blocs de 512 bits. Faille trouvée en 1996. Collision trouvée en quelques heures en 2004. Encore très utilisé en pratique. A éviter SHA-1 Standard ociel actuel depuis 1995. Produit une emprunte de 160 bits pour des blocs de 512 bits. Fonctionnement très similaire à MD5. Collision en 2 63 en 2005. Master Crypto (2016-2017) Cryptographie 14 et 21 mars 2017 9 / 29

Description de SHA-1 Prétraitement Ajouter 1 à la n du message. Bourrer avec des 0 jusqu'à ce que la taille vaille 448 mod 512. Ajouter la taille du message codé sur 64 bits. Traitement : Master Crypto (2016-2017) Cryptographie 14 et 21 mars 2017 10 / 29

Description de SHA-1 Traitement 80 tours avec K i et les valeurs initiales de A, B, C, D, E sont des constantes de 32 bits. les W 0 W 15 sont les sous-blocs de 32 bits du bloc de 512 bits à comprimer. W 16 W 79 en sont déduites. B C (( B) D) si i [0, 19] B C D si i [20, 39] F (B, C, D) = (B C) (B D) (C D) si i [40, 59] B C D si i [60, 79] Master Crypto (2016-2017) Cryptographie 14 et 21 mars 2017 11 / 29

Fonctions de compression cryptographiquement sûres SHA-256 (et SHA-224) Produit une emprunte de 256 bits pour des blocs de 512 bits. Même principe que SHA-1 (8 variables, 64 rondes). SHA-512 (et SHA-384) Produit une emprunte de 512 bits pour des blocs de 1024 bits. Même principe que SHA-1 (8 variables de 64 bits, 80 rondes). Whirlpool Produit une emprunte de 512 bits pour des blocs de 1024 bits. Même principe que AES (8 variables de 64 bits, 10 rondes). SHA-3 Standard depuis 2013 suite à un concours. Master Crypto (2016-2017) Cryptographie 14 et 21 mars 2017 12 / 29

Les fonctions éponges Principe Phase de préparation Phase d'absorption Phase de restitution Utilise 2 paramètres r, le débit binaire c, la capacité et une fonction travaillant sur des blocs de r + c bits Sécurité Assurée par c qui doit être le double de la taille de l'emprunte Une attaque sur ce modèle implique que la fonction peut être distinguée d'une permutation aléatoire Pas de nécessité d'avoir une fonction de compression sûre Master Crypto (2016-2017) Cryptographie 14 et 21 mars 2017 13 / 29

Fonctionnement des fonctions éponges Préparation : padding + découpage en blocs de r bits (A, B) = (0, 0) Absorption : répéter (A, B) = f (A m i, B) Restitution : renvoyer A et répéter (A, B) = f (A, B) Master Crypto (2016-2017) Cryptographie 14 et 21 mars 2017 14 / 29

Propriétés des fonctions éponges Prouvées sûres si la fonction sous-jacente ne peut pas être distinguée d'une permutation aléatoire hachage et ot longueur arbitraire en entrée longueur au choix en sortie Facile à paramétrer Niveau de sécurité est simplement xé grâce à c Choix du compromis performance sécurité Modes hachage, hachage en arbre, hachage avec clé, chirement par ot, générateur pseudo-aléatoire Attention une collision se trouve en la racine de la taille de l'emprunte (anniv) une préimage se trouve en la taille de l'emprunte et en 2 c/2 Master Crypto (2016-2017) Cryptographie 14 et 21 mars 2017 15 / 29

Keccak et SHA-3 Keccak utilise des blocs de 25,50,100,200,400,800,1600 bits utilise seulement, not, and et rot particulièrement ecace en matériel pas mieux que SHA-2 en logiciel SHA-3 utilise seulement des blocs de 1600 bits pas tous les modes c vaut 2 fois la taille de l'emprunte et r = 25w c avec w = 64 r > n aucune étape de restitution Master Crypto (2016-2017) Cryptographie 14 et 21 mars 2017 16 / 29

La transformation f de SHA-3 24 tours de ronde 5 étapes : θ, ρ, π, χ, ι état a où a[i, j, k] est le (5i + j)64 + k-ème bit du bloc à traiter étape θ a[i, j, k] = a[i, j, k] par(a[., j + 1, k 1]) par(a[., j 1, k]) but : diusion Master Crypto (2016-2017) Cryptographie 14 et 21 mars 2017 17 / 29

Les étapes ρ et π étape ρ : décalage circulaire des mots. Pour t=0..24, soit ( i j ) = ( 3 2 1 0 ) t ( 0 1 ). Le mot a[i, j,.] est décalé circulairement de (t +1)(t +2)/2 vers la droite (a[0, 0,.] n'est pas décalé) but : dispersion à travers les couches étape π : permutation des mots a[3i + 2j, i,.] = a[i, j,.] but : peturber les alignements horizontaux/verticaux Master Crypto (2016-2017) Cryptographie 14 et 21 mars 2017 18 / 29

Les étapes χ et ι étape χ sur les lignes a[i, j, k] = a[i][j][k] (( a[i, j+1, k]) a[i, j+2, k]) but : non linéarité étape ι : xor du premier mot avec une constante dépendante du tour. Au tour n, a[0, 0, 2 m 1] est xoré avec le m + 7n ième bit de sortie du LFSR déni par le polynôme x 8 + x 6 + x 5 + x 4 + 1 et initialisé à 00000001 but : casser les dernières symétries Master Crypto (2016-2017) Cryptographie 14 et 21 mars 2017 19 / 29

Signatures numériques Même valeur juridique qu'une signature manuscrite. Doit être gardée très longtemps haut niveau de sécurité recquis. Très utilisées autrement que pour la non-répudiation (identication, transaction bancaire,...). Propriétés recquises Authenticité : elle convainc le destinataire que c'est le prétendu signataire qui a eectivement signé un document. Infalsiable. Non réutilisable : ne doit pas pouvoir être utilisée sur un autre document. Inaltérable. Non répudiable. Conséquence : une signature dépend du message et de l'expéditeur. Exemple : HMAC Master Crypto (2016-2017) Cryptographie 14 et 21 mars 2017 20 / 29

Principe général des signatures à clé publique On suppose que A a une clé publique K A, et une clé privée k A et veut signer un message m que B va vérier. Signature A hache d'abord le message m : h(m) A "déchire" h(m) en utilisant k A : s A envoie à B m et s Vérication B calcule h(m) B chire s en utilisant K A : r B vérie que r = h(m) Ainsi, A prouve à B qu'il connaît le secret k A et prouve ainsi son identité. Master Crypto (2016-2017) Cryptographie 14 et 21 mars 2017 21 / 29

Signatures numériques Remarques On utilise une fonction de hachage parce qu'il est trop long de chirer le message en entier. Le message n'est pas protégé. Ne prouve pas que (k A, K A ) sont les clés d'alice. Autorité de conance nécessaire. Alice peut dire s'être fait voler sa clé privée pour révoquer sa signature. Utilisation de la signature pour l'authentication Le système dé-réponse (B veut identier A) B envoie un dé à A. A signe ce dé et le renvoie à B. B vérie la signature qui prouve l'identité de A. Master Crypto (2016-2017) Cryptographie 14 et 21 mars 2017 22 / 29

Signature ElGamal Soit p premier et g une racine primitive de F p. La clé privée d'alice est un entier aléatoire k A < p 1 et sa clé publique K A = g k A. On suppose que h est une fonction de hachage à valeurs dans {1,, p 2}. Génération de signature d'un document m Alice choisit un nombre aléatoire k < p 1. Alice calcule r = g k mod p et s = k 1 (h(m) k A r) mod p 1. Alice envoie m, r et s. Vérication de la signature B teste si K r A r s = g h(m) mod p Signature très rapide (si g k précalculé) mais vérication longue (3 exponentiations). Master Crypto (2016-2017) Cryptographie 14 et 21 mars 2017 23 / 29

Digital Signature Agreement (DSA) Standard du NIST basé sur ElGamal Fabrication de la clé A choisit un nombre premier l de 160 bits et un nombre premier p tel que l p 1. Soit g un élément d'ordre l dans F p. Clé privée : k A < l. Clé publique K A = g k A. h fonction de hachage à valeurs dans {1,, l 1}. Signature : r = (g k mod p) mod l et s = k 1 (h(m) + k A r) mod l. Vérication : r = ((g s 1 h(m) mod l K rs 1 mod l A mod p) mod l) Commentaires Signature très rapide (si g k précalculé). Vérication moins longue (2 exponentiations). exposants de longueur 160 au lieu de 1024. Master Crypto (2016-2017) Cryptographie 14 et 21 mars 2017 24 / 29

Signature de Schnorr g G d'ordre l premier. Clé privée k A, clé publique K A = g k A (idem DSA) Signature Choisir un élément k < l au hasard. Calculer la clé publique temporaire r = g k. Calculer e = h(m r) et s = k k A e mod l Vérication Calculer r = g s K e A Accepter si e = h(m r) Signature encore plus simple. Prouvé sûr (si le log discret est dur). Authentication à base de coupon simple à réaliser. Master Crypto (2016-2017) Cryptographie 14 et 21 mars 2017 25 / 29

Message recovery signature But : récuperer le message signé en même temps que la vérication. Problématique : on ne peut plus vérier. Principe Rajouter de la redondance au message pour pouvoir s'assurer qu'il est valide via une forme spécique imposée au clair (padding) permettant de vérier la validité de la signature en s'assurant que le message récupéré est valide. via une fonction de redondance R du type m m RSA (sans hachage) marche naturellement Master Crypto (2016-2017) Cryptographie 14 et 21 mars 2017 26 / 29

Protocole de Nyber-Rueppel Paramètres publics G = F p, l p 1 premier et g générateur. Paire de clés : x (privée) et y = g x (publique). Génération de signature. forger une paire de clés temporaires k, g k calculer e = R(m)r et s = xe + k mod l envoyer (e, s) vérication Calculer u 1 = g s y e et u 2 = e/u 1 Vérier que u 2 est dans l'image de R (vérication de la signature) Prendre un antécédent de u 2 par R (message recovery) Master Crypto (2016-2017) Cryptographie 14 et 21 mars 2017 27 / 29

Signature indéniable Problématique : Vérication impossible sans le consentement du signataire. Protocole Paramètres publics G groupe et g d'ordre l dans G. h : {0, 1} G. Le signataire (S) choisit une clé privée k A et une publique K A = g k A. Signature : s = h(m) k A. Vérication Le désaveu Le vérieur (V) lance un dé z = s u KA v à S, avec u et v aléatoires. S répond en calculant w = z k 1 A mod l. V calcule h(m) u g v et compare à w. S peut faire échouer la vérication pour prétendre ne pas avoir signé. Solution : V envoie un dé z et S doit répondre w V teste si (wg v ) u = (w g v ) u Master Crypto (2016-2017) Cryptographie 14 et 21 mars 2017 28 / 29

Signature en aveugle Problématique : signer sans connaître le contenu d'un message m choisit par A Protocole S choisit une clé privée RSA p, q, d et une publique e, n. Masquage : A choisit un masque k et calcule m = mk e mod n. Signature : S signe m : s = m d mod n Démasquage : A calcule s = k 1 s mod n la signature de m. Vérication : V teste si s e = m mod n Il existe plein d'autres protocoles de signature (signature de groupe, k parmi n, multisignature,...) Master Crypto (2016-2017) Cryptographie 14 et 21 mars 2017 29 / 29