INF4420: S - PowerPoint PPT Presentation

1 / 25
About This Presentation
Title:

INF4420: S

Description:

... (C, +) forme un groupe, si a et b sont bien choisis Exemples de courbes elliptiques sur 2 Cryptographie courbe elliptique ... – PowerPoint PPT presentation

Number of Views:46
Avg rating:3.0/5.0
Slides: 26
Provided by: JosM173
Category:

less

Transcript and Presenter's Notes

Title: INF4420: S


1
INF4420 Sécurité Informatique
  • Cryptographie III

2
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)

3
RSA Problématique dimplantation
  • Génération de clés
  • Comment générer N pq
  • Combien de premiers de taille n/2 existent-ils?
  • (Théorème des nombres premiers) O(2n/2 / (n/2))
    O(2n/2-1/n)
  • P.ex. pour n 1024, nombre de premiers 21012
    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 dEuclides (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(2n)
    entier moins que N valable (presque tous!)
  • Comment trouver d t.q. ed 1 mod ?(N)
  • Algorithme dEuclide é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 quon veut efficacement

4
RSA Problématique dimplantation (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 gt m, regrouper n/m symboles dans un seul mot
    de code
  • Si n lt m, diviser en m/n blocs de n bits
  • ? Mais attention à lentropie
  • 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 (pq)/ N (pq)/pq 1 sur 2
    n/2 (négligeable)

5
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èse
    s
  • Il nexiste pas dalgorithme efficace pour
    factoriser
  • Il ny pas moyen de casser RSA sans connaître
    ?(N)

6
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
  • an 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

7
Problème du log discret
  • Propriétés mathématiques de Zp
  • Tous les éléments de Zp ont des inverses
    multiplicatifs, sauf 0
  • Donc, Zp Zp - 0
  • Il existe des éléments g dit générateur ou racine
    primitive tel que ltggt g0, g1, , gp-1
    Zp
  • 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 Zp
  • Définition Le logarithme discret en base g de a
    ? Zp est l'entier x tel que a gx 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.

8
Chiffre de El-Gamal
  • Génération de clé
  • Trouver un grand entier premier p tel que p-1 a
    au moins un grand facteur premier (donc difficile
    à trouver).
  • Choisir au hasard un générateur g de Zp et un
    entier d
  • Calculer la valeur e gd mod p
  • Clé publique (p, g, e), Clé privé d
  • Chiffrement/Déchiffrement Pour un message x ?
    Zp
  • Choisir un entier k ? 0..p-1 au hasard
  • E(k,x) (y1, y2) (gk mod p, xek mod p)
  • D(y1, y2) y2 / y1d mod p
  • Intuition
  • Le message x est "masqué" dans y2 en le
    multipliant par ek par
  • La partie y1 fourni à qui connaît d,
    l'information nécessaire pour reconstruire x, en
    "divisant" par y1d (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.

9
Variantes de El-Gamal
  • Corps de Galois
  • GF(2n)
  • Il sagit dun groupe avec 2n é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(pk)
  • Il sagit dun groupe avec pk é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)

10
Courbe elliptique - Définition
  • Courbe elliptique
  • Définition
  • Une courbe elliptique C est lensemble de points
    (x,y) dans un espace vectoriel de dimension 2,
    obéissant une équation cubique sur ses
    coordonnées.
  • Exemple
  • Dans ?2, lensemble C(a,b) des points P (x,y)
    tel que y2 x3 ax b où a, b ? ? sont
    fixes
  • Dans Zp2, lensemble C(a,b) des points P (x,y),
    x, y ? Zp tel y2 x3 ax b mod p où a, b
    ? ? sont fixes

11
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 à lopposé de laxe x
  • Soit deux points P et Q, PQ -R, où R est le
    point sur la courbe à lintersection de la ligne
    PQ
  • Doublage si P Q, alors P Q P P 2P R,
    où R est lintersection de la droite tangente à
    la courbe au point P
  • Interprétation algébrique
  • Pour ?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 Zp2
  • ? Dans les deux cas (C, ) forme un groupe, si a
    et b sont bien choisis

12
Exemples de courbes elliptiques sur ?2
13
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
    lalgorithme de El-Gamal sur le groupe (C,) où C
    est une courbe elliptique sur Zp ? Zp

14
Avantage des ECC
  • Permet un niveau équivalent de sécurité avec des
    tailles de clés entre 6-10 fois plus petites gt
    meilleur performance de chiffrement et
    déchiffrement

RSA
ECC
Taille de clés (bits) Cryptanalyse (MIPS.année)
512 3x104
768 2x108
1024 3x1011
1280 3x1014
1536 3x1016
2048 3x1020
Taille de clés (bits) Cryptanalyse (MIPS.année)
150 3.8x1010
205 7.1x1018
234 1.6x1028
15
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),
  • (absence de collision faible) il est très
    difficile de trouver un x' à partir de h(x) tel
    que h(x) h(x').
  • (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')
  • (à 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.

16
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)

17
Stéganographie
18
Signature Digitale
  • Objectifs
  • Authenticité
  • Pouvoir prouver qu'un document électronique a bel
    et bien composé et "signé" par son prétendu
    auteur.
  • gt 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.
  • gt 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é
  • gt Il ne doit pas être possible de "répudier" une
    signature faite par soi-même

19
Signature digitale par chiffrement à clé publique
  • Signature
  • Pour signer un x
  • 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
  • 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
  • Utiliser l'algorithme de chiffrement avec la clé
    publique e du présumé auteur pour obtenir x'
    E(y,e)
  • 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
    ?

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

21
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

22
É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

23
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

24
Standards cryptographiques
  • PKICS (RSA)
  • X.509

25
Risques résiduels à lutilisation de cryptographie
  • Erreur de codage
  • Erreur dimplémentation
  • Erreur de design cryptographiques
  • Hypothèses calculatoires
  • Gestion de clés
Write a Comment
User Comments (0)
About PowerShow.com