INF4420: Sécurité Informatique



Documents pareils
Fonction de hachage et signatures électroniques

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

Cryptographie et fonctions à sens unique

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

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

ÉPREUVE COMMUNE DE TIPE Partie D

Cryptographie. Cours 3/8 - Chiffrement asymétrique

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

Panorama de la cryptographie des courbes elliptiques

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

INF 4420: Sécurité Informatique Cryptographie II

Les fonctions de hachage, un domaine à la mode

Quelques tests de primalité

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

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

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

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

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.

Calculateur quantique: factorisation des entiers

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

Gestion des Clés Publiques (PKI)

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

TECHNIQUES DE CRYPTOGRAPHIE

Authentification de messages et mots de passe

La cryptographie du futur

Gestion des clés. Génération des clés. Espaces de clés réduits. Mauvais choix de clés. Clefs aléatoires. Phrases mots de passe

Signatures électroniques dans les applications INTERNET

Petite introduction aux protocoles cryptographiques. Master d informatique M2

Tests de primalité et cryptographie

Audit des risques informatiques

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

MATHÉMATIQUES DISCRÈTES (4) CRYPTOGRAPHIE CLASSIQUE

Cryptologie à clé publique

Introduction à l étude des Corps Finis

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

Cryptographie appliquée

Architectures PKI. Sébastien VARRETTE

Audit des risques informatiques. Introduction à la Cryptographie Pierre-François Bonnefoi

Sécurité des réseaux IPSec

C f tracée ci- contre est la représentation graphique d une

La sécurité dans les grilles

INF4420: Éléments de Sécurité Informatique

FORMATION SUR «CRYPTOGRAPHIE APPLIQUEE

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

Le protocole sécurisé SSL

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

Le partage de clés cryptographiques : Théorie et Pratique

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

Sécurité informatique Examen final - SOLUTIONS 24 avril 2008 Professeur : José M. Fernandez

D31: Protocoles Cryptographiques

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

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

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

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

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

Exercices - Polynômes : corrigé. Opérations sur les polynômes

Table des matières. I Mise à niveau 11. Préface

SSL ET IPSEC. Licence Pro ATC Amel Guetat

Géométrie des nombres et cryptanalyse de NTRU

Sécurité de l'information

Richard MONTBEYRE Master 2 Professionnel Droit de l Internet Administration Entreprises. La banque en ligne et le protocole TLS : exemple

BlackBerry Business Cloud Services. Guide de référence sur les stratégies

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

Déploiement d'une Infrastructure de Gestion de Clés publiques libre

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

Objets Combinatoires élementaires

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

Fiche de l'awt Signature électronique

Transmission d informations sur le réseau électrique

Une introduction aux codes correcteurs quantiques

Cryptographie Quantique

Théorie et Codage de l Information (IF01) exercices Paul Honeine Université de technologie de Troyes France

Perso. SmartCard. Mail distribution. Annuaire LDAP. SmartCard Distribution OCSP. Codes mobiles ActivX Applet. CRLs

Résolution d équations non linéaires

IPSEC : PRÉSENTATION TECHNIQUE

Calcul de développements de Puiseux et application au calcul du groupe de monodromie d'une courbe algébrique plane

Chapitre 3 : Crytographie «Cryptography»

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

Trouver un vecteur le plus court dans un réseau euclidien

Mot de passe sécurisé, systèmes d'authentification S/Key et par jeton de contrôle, protocoles d'authentification pour PPP : PAP, CHAP et EAP

Annexe 8. Documents et URL de référence

Livre blanc. Sécuriser les échanges

INSTALLATION D'OPENVPN:

Accélérateurs logiciels et matériels pour l algèbre linéaire creuse sur les corps finis

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

Tunnels et VPN. 22/01/2009 Formation Permanente Paris6 86

La technologie GQ2 : Un complément essentiel à RSA. Une solution d'authentification dynamique aussi sûre et plus rapide que le RSA

Le protocole SSH (Secure Shell)

Le Passeport Biométrique. Benoit LEGER CISSP ISO LD

INFO006 (ex INFO913) - Cryptologie et Sécurité Informatique

Chapitre VI - Méthodes de factorisation

réseau Tableaux de bord de la sécurité 2 e édition Cédric Llorens Laurent Levier Denis Valois Avec la contribution de Olivier Salvatori

SESSION 2014 ÉPREUVE À OPTION. (durée : 4 heures coefficient : 6 note éliminatoire 4 sur 20)

SÉCURITÉ RÉSEAUX/INTERNET, SYNTHÈSE

Informatique. Les réponses doivent être données en cochant les cases sur la dernière feuille du sujet, intitulée feuille de réponse

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,

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

Transcription:

: Cryptographie III José M. Fernandez M-3109 340-4711 poste 5433

Aperçu Crypto III Cryptographie à clé publique (suite) RSA (suite) Problème du log discret Chiffre de El-Gamal Chiffrement à courbe elliptique Autres primitives cryptographiques Hachage cryptographique Signatures digitales Stéganographie Principes d'utilisation de la crypto Gestion de clés privés et publiques Standards cryptographiques Risques résiduels liés à l'utilisation de la crypto (récapitulation) 2

RSA Problématique d implantation Génération de clés Comment générer N = p*q Combien de premiers de taille n/2 existent-ils? (Théorème des nombres premiers) ~ O(2 n/2 / (n/2)) = O(2 n/2-1 /n) P.ex. pour n = 1024, nombre de premiers = 2 1012 choix de clés Comment vérifier si un entier aléatoire est premier? Algorithme temps polynomial (probabiliste et déterministe) Comment générer clé publique e t.q. pgcd(e, N) = 1 Algorithme d Euclides (temps polynomial) permet de calculer e mod N, donc de vérifier si pgcd(e, N) = 1 Il existe ϕ(n) = (p-1)(q-1) = N p q = O(2 n ) entier moins que N valable (presque tous!) Comment trouver d t.q. e*d = 1 mod ϕ(n) Algorithme d Euclide étendu (aussi temps polynomial) permet de trouver inverse multiplicatif, donc d, SEULEMENT SI ON CONNAÎT ϕ(n) Il est facile de générer autant de paire de clés qu on veut efficacement 3

RSA Problématique d implantation (suite) Comment coder? Alphabet de source Σ, Σ = M, log M = m recoder les symboles de sources en bits P.ex. sans compression : chaque σ Σ m bits construire des blocs de n bits Si n > m, regrouper n/m symboles dans un seul mot de code Si n < m, diviser en m/n blocs de n bits Mais attention à l entropie Et si le mode code construit x est t.q. pgcd(x,n)? Alors on est «fait» : le chiffreur (Alice) a découvert un facteur de N, donc p ou q Elle peut calculer la clé privée de Bob Quelles en sont les probabilités? Prob = N- ϕ(n)/n = (p+q)/ N = (p+q)/pq ~ 1 sur 2 n/2 (négligeable) 4

RSA Niveau de sécurité La seule méthode connue pour retrouver la clé privé d et cassé RSA est de connaître ϕ(n) On peut calculer ϕ(n) si on peut factoriser N Si on connaît ϕ(n) on peut calculer les facteurs Casser RSA par cette méthode est aussi difficile que factoriser Sécurité de RSA basée sur deux principes/hypothèses 1. Il n existe pas d algorithme efficace pour factoriser 2. Il n y pas moyen de casser RSA sans connaître ϕ(n) 5

Notion de groupe Notion de groupe (G, ) Un ensemble abstrait G sur lequel on a défini une opération abstraite " " avec certaines propriétés : élément identité : 1 G, t.q. a G, a 1 = a Associativité : a, b, c G, a (b c) = (a b) c, Tout éléments à un inverse : a G, a -1 t.q. a a -1 = 1 (Commutativité): a, b G, a b = b a on dit alors que le groupe est "abélien" ou "commutatif" Exponentiation: a n = a a a, n fois où n est un entier et (G, ) est un groupe abélien Note: On peut définir le problème de log discret sur n'importe quel groupe abélien! Exemples : Corps fini (corps de Galois) Courbe elliptique 6

Problème du log discret Propriétés mathématiques de Z p Tous les éléments de Z p ont des inverses multiplicatifs, sauf 0 Donc, Z p* = Z p - {0} Il existe des éléments g dit générateur ou racine primitive tel que : <g> = {g 0, g 1,, g p-1 } = Z p * Notes : Il est possible de vérifier en temps polynomial si un élément g est un générateur. Il existe un très grand nombre de générateurs dans Z p * Définition : Le logarithme discret en base g de a Z p est l'entier x tel que a = g x mod p Hypothèse calculatoire : Il n'est pas possible de calculer le log discret en temps polynomial sans connaître la factorisation de p-1. 7

Chiffre de El-Gamal Génération de clé 1. Trouver un grand entier premier p tel que p-1 a au moins un grand facteur premier (donc difficile à trouver). 2. Choisir au hasard un générateur g de Z p* et un entier d 3. Calculer la valeur e = g d mod p 4. Clé publique = (p, g, e), Clé privé = d Chiffrement/Déchiffrement : Pour un message x Z * p Choisir un entier k [0..p-1] au hasard E(k,x) = (y 1, y 2 ) = (g k mod p, xe k mod p) D(y 1, y 2 ) = y 2 / y 1d mod p Intuition: Le message x est "masqué" dans y 2 en le multipliant par e k par La partie y 1 fourni à qui connaît d, l'information nécessaire pour reconstruire x, en "divisant" par y d 1 (en réalité, calculer son inverse et multiplier) Notes importantes Il s'agit d'une méthode de chiffrement dite "probabiliste" car il n'existe pas de chiffrement unique pour un même x. Il n'est pas nécessaire de connaître k pour déchiffrer, mais il est très important de choisir un k différent à chaque fois. 8

Variantes de El-Gamal Corps de Galois GF(2 n ) Il s agit d un groupe avec 2 n éléments Se base sur l'arithmétique modulaire avec des polynômes Toutes les coefficients des polynômes sont binaires, et donc toute l'arithmétique est binaire Chiffrement et déchiffrement très efficaces Très utilisée sur des plateforme matériel GF(p k ) Il s agit d un groupe avec p k éléments Également basé sur l'arithmétique modulaire avec des polynômes Les coefficients sont modulo p, donc les opérations sont plus complexes (moins utilisés) 9

Courbe elliptique - Définition Courbe elliptique Définition : Une courbe elliptique C est l ensemble de points (x,y) dans un espace vectoriel de dimension 2, obéissant une équation cubique sur ses coordonnées. Exemple : Dans R 2, l ensemble C(a,b) des points P = (x,y) tel que y 2 = x 3 + ax + b où a, b R sont fixes Dans Z p2, l ensemble C(a,b) des points P = (x,y), x, y Z p tel y 2 = x 3 + ax + b mod p où a, b R sont fixes 10

Opérations sur une courbe elliptique Somme sur une courbe elliptique C Interprétation géométrique Soit un point P, alors P est le point sur la courbe à l opposé de l axe x Soit deux points P et Q, P+Q = -R, où R est le point sur la courbe à l intersection de la ligne PQ Doublage si P = Q, alors P + Q = P + P = 2P = R, où R est l intersection de la droite tangente à la courbe au point P Interprétation algébrique Pour R 2, on peut déduire des formules explicites en fonction des coordonnées x et y des points de P et Q ainsi que des paramètres de la courbe C (c.à.d. a et b) Ces formules sont directement généralisables dans le cas Z p 2 Dans les deux cas (C, +) forme un groupe, si a et b sont bien choisis 11

Exemples de courbes elliptiques sur R 2 12

Cryptographie à courbe elliptique - ECC Si on rebaptise la somme comme «produit» on peut alors définir le problème de «log discret» sur C La cryptographie à courbe elliptique (ECC en anglais) consiste tout simplement à utiliser l algorithme de El- Gamal sur le groupe (C,+) où C est une courbe elliptique sur Z p Z p 13

Avantage des ECC Permet un niveau équivalent de sécurité avec des tailles de clés entre 6-10 fois plus petites => meilleur performance de chiffrement et déchiffrement ECC RSA Taille de clés (bits) 150 205 234 Cryptanalyse (MIPS.année) 3.8x10 10 7.1x10 18 1.6x10 28 Taille de clés (bits) 512 768 1024 1280 Cryptanalyse (MIPS.année) 3x10 4 2x10 8 3x10 11 3x10 14 1536 3x10 16 2048 3x10 20 14

Hachage cryptographique Objectif : Intégrité S'assurer qu'un message n'a pas été modifier de façon non autorisé une fois qu'il a été terminé par son auteur légitime Fonctions de hachage cryptographique h Une fonction h( ) est dite de hachage cryptographique si à partir d'un message x elle produit un "hachage" h(x), 1. (absence de collision faible) : il est très difficile de trouver un x' à partir de h(x) tel que h(x) = h(x'). 2. (absence de collision forte) : il est très difficile de trouver un deux message de notre choix x et x', tel que h(x) = h(x') 3. (à sens unique) : il est très difficile de trouver x à partir de h(x) = h(x') Notes : 2 implique 1 (trivial), 2 implique 3 (pas trivial) En anglais, h(x) est appelé "hash", MAC (pour Message Authentication Digest), "message digest" ou simplement "digest" Ne pas confondre avec les fonctions de hachage "universelles", utilisées par exemple dans la construction de compilateur, les structures de données et algorithmes aléatoires, etc. 15

Exemples de fonctions de hachage cryptographique MD4 Conçu par Rivest (de RSA) Ressemble un peu à DES Plusieurs rondes de coupage, transposition, permutation, et autre opérations binaires. Produit un hachage de 128 bits MD5 Version amélioré de MD4 Produit également un hachage de 128 Usage très répandu Utilisé par le programme linux md5sum SHA-1 Conçu par la NSA Produit un hachage de 160 bits Compatible avec le Digital Signature Standard (DSS) 16

Stéganographie 17

Signature Digitale Objectifs Authenticité : Pouvoir prouver qu'un document électronique a bel et bien composé et "signé" par son prétendu auteur. => Il ne doit pas être possible pour personne de falsifier la signature d'autrui. Intégrité : Pouvoir prouver que le document n'as pas été modifié depuis qu'il a été signé par son auteur légitime. => Il ne doit pas être possible pour une autre personne que l'auteur de changer le document après sa signature sans violer la condition d'authenticité. (Non-répudiabilité) Empêcher qu'un auteur légitime puisse a posteriori nier qu'il est l'auteur et signataire d'un document qu'il a bel et bien signé => Il ne doit pas être possible de "répudier" une signature faite par soi-même 18

Signature digitale par chiffrement à clé publique Signature Pour signer un x : 1. Ajouter au message un préambule T, p.ex. "Le document qui suit a été signé par José M. Fernandez, en date du " x' = T x 2. Utiliser la clé privé d pour produire la version signé y du document en utilisant la clé privé et l'algorithme de déchiffrement: y = D(x',d) p.ex. y = (x') d mod n avec RSA Vérification Pour vérifier un document y : 1. Utiliser l'algorithme de chiffrement avec la clé publique e du présumé auteur pour obtenir x' = E(y,e) 2. Vérifier si x' est bel et bien un message "légitime" (bien formaté, a un préambule, qui a du sens, etc.). Si oui, accepter la signature. Notes Pourquoi un préambule? Parce qu'il est possible pour un malfaiteur de falsifié une signature sur un message aléatoire ("garbage"), mais il ne lui est pas possible de le faire sur un message déterminé de son choix (p.ex. ayant un préambule raisonnable en français) Authenticité de la clé publique? Comment s'assurer que le vérificateur à la bonne clé publique e qui correspond vraiment à l'auteur? 19

Signature digitale avec hachage cryptographique Signature Pour signer un x : 1. Calculer le hachage h(x) du message avec une fonction de hachage cryptographique 2. Utiliser la clé privé d pour h(x) comme avant 3. Le document signé contient : (x, D(h(x),d) ) Vérification Pour vérifier un document (y, s) 1. Calculer le hachage h(y) de y 2. Obtenir la valeur h' en chiffrant la signature s avec la clé publique e, h' = E(s,e) 3. Accepter la signature si h' = h(y) Avantages Plus rapide La "signature" est indépendante du message lui-même 20

Principe de gestion de clés Générations de clés Nécessité de source de bit parfaitement aléatoire Méthode matériel vs. logiciel vs. "manuel" "Souveraineté" et contrôle sur la génération des clés Difficulté technique pour certains algorithmes RSA : p et q premier, etc. El-Gamal : p t.q. p-1a un grand facteur, etc. Gestion des clés et réduction de risque Possibilité de révocation Distribution au préalable Contrôle positif (détection de perte ou vol) Mécanisme de protection Contrôle d'accès Chiffrement des clés par mot de passe ou phrase de passe Principe de segmentation Clés de réseaux vs. clés point-à-point Durée de vie limitée des clés Distribution de clés Nécessite de canaux privés dédiés Distribution physique Utilisation de KEK (key-encryption keys) ou équivalent 21

Échange de clés Diffie-Hellman Objectifs Alice et Bob n'ayant pas échanger de clés auparavant désirent établir un canal privé Conditions et préalable Ils ont accès à un canal "public" (non sécurisé) Ils peuvent s'authentifier mutuellement Protocole de Diffie-Hellman Se base sur la difficulté du log discret Permet à Alice et Bob de générer une clé dans [0..p-1] connue de personne d'autre Vulnérable aux attaques "man-in-the-middle" en l'absence d'authentification 22

Gestion des clés publiques et ICP Infrastructure à clé publique Modèle décentralisé Web of trust Inventé par Phil Zimmerman, créateur de PGP Les réseaux sociaux Pas de politiques fermes d'authentification Modèle hiérarchique et certificats Chaîne de confiance Utilise les certificats de clé publique Date d'expiration Politique d'utilisation Format standard X.509 Concept d'autorité de certification Infrastructure matérielle et logicielle: LDAP et autres technologies 23

Standards cryptographiques PKICS (RSA) X.509 24

Risques résiduels à l utilisation de cryptographie Erreur de codage Erreur d implémentation Erreur de design cryptographiques Hypothèses calculatoires Gestion de clés 25