Cours 8 : Crypto 3 Flashcards
Definir l’echange de Diff-Hellman.
Ø Protocole qui permet à 2 étrangers qui ne se sont jamais rencontrés en personne a créer une clé symétrique partagée.
Ø La sécurité du protocole est basée sur le problème du log discret.
Ø DH est utilisé par SSH, IPSec, TLS, Tor
Ø Protocole utilisant Zp:
§ Alice et Bob choisissent un nombre premier p et un élément générateur g groupe Zp. p et g deviennent paramètres publiques.
§ Alice choisit un grand nombre a et calcule A = ga mod p. Elle envoie A a Bob
§ Bob choisit un grand nombre b et calcule B = gb mod p. Il envoie B a Alice.
Quels sont les objectifs de la signature digitale?
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
Quelles sont les etapes qui permettent de faire une signature digitale.
Pour signer un x :
- Calculer le hachage h(x) du message avec une fonction de hachage cryptographique
- Utiliser la clé privé Kpriv pour chiffrer h(x) t.q. sig=Ekpriv(h(x))
- Le document signé contient : (x, sig)
Quelles sont les etapes qui permettent de verifier une signature digitale.
§ Pour vérifier un document (y, sig)
- Calculer le hachage h(y) de y
- Obtenir la clé publique Kpub du signataire, et calculer la valeur h’ en déchiffrant la signature sig avec la clé publique Kpub, h’ = Dkpub(s)
- Accepter la signature si h’ = h(y)
Definir le code d’authentification de message.
Ø Utilise hachage cryptographique
Ø Donne intégrité et authentification, mais pas nonrépudiabilité
§ On utilise une clé symétrique, donc 2 personne ont la même clé
Ø Défini par RFC 2104
HMAC(K,m) = H(K’ || H(K’’ || m))
HMAC(K,m) = H(K XOR opad || H(K XOR ipad || m)
K – clé symétrique
K ’ – K XOR 0x5C (1011100) B fois
K’’ – K XOR 0x36 (110110) B fois
m – message
H – fonction d’hachage (SHA-1, SHA-256, etc.)
§ B depends de la taille de bloc de la fonction d’hachage.
Généralement B=6
Qu’est-ce que l’infrastructure a cle 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
• Concept d’autorité de certification
§ Modèle de confiance a première utilisation (« Trust On First Use » TOFU)
• Stocker la clé publique après la première connexion et ne pas permettre de connexions futures si la clé publique a changé
• L’attaquant doit être absent durant la première connexion pour stocker la clé publique correcte.
Quelles sont les diverses attaques cryptographiques?
Ø Plusieurs attaques possibles : Attaque contre l’algorithme, Attaque contre l’implémentation, Attaque contre l’opération
Ø En pratique, on voit plus souvent les attaques contre les implémentations et les opérations
Ø Une mauvais utilisation de la cryptographie peut
introduire la possibilité d’un attaque contre l’algorithme
Quelles sont les differents types d’attaque en fonction des donnes disponibles?
- Texte chiffré seulement : uniquement accès au texte chiffré sans pouvoir chiffrer des messages (p.ex. document chiffré intercepté sur le réseau)
- Texte connu (known plaintext) : accès au texte en clair en plus du texte chiffré (p.ex. : interception d’un document chiffré qui sera diffusé publiquement plus tard comme un discours). On vise a trouver la clé pour déchiffrer les futurs messages
-Texte choisi (chosen plaintext) : capacité de choisir le texte en clair, et accès à une boite noire qui chiffre chaque message avec la clé q’on cherche. L’algorithme est mauvais si nous pouvons améliorer la probabilité de trouver la clé en essayant plus de textes en clair. (p. ex. Vigenere) - Texte chiffré choisi (chosen ciphertext) : Accès à plusieurs textes chiffrés, et à une boite noire qui déchiffre chaque message avec la clé publique correspondant a la clé privée q’on cherche. (p.ex.
accès a plusieurs messages signés avec une clé privée)
Qu’est-ce qu’une attaque de type dictionnaire?
Attaque dictionnaire
§ Attaque de type « texte clair choisi »
§ On construit un dictionnaire de symboles qui sont susceptibles d’être
émis par la source
§ On essaie chacun des mots du dictionnaire jusqu’à ce qu’on trouve (ou
non) une correspondance avec le mot chiffré
§ Selon Turing, on peut échanger de l’espace mémoire pour du temps et
bâtir des tables de correspondance
§ Le calcul des tailles de tables de correspondance similaires au calcul de
force brute
§ Efficace contre les chiffrement par bloc
§ Divers mécanismes pour diminuer la vulnérabilité aux dictionnaires
• Grand espace de possibilité de message « uniformément couvert »
• Codage avec compression et bourrage aléatoire
• Utilisation de sel (salt)
PRINCIPES DE GESTION DES CLES : Quels sont les principes de gestion des cles?
§ 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.
PRINCIPES DE GESTION DES CLES :
§ 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