Cryptographie. TD 3 Fonctions de hachage

Documents pareils
ÉPREUVE COMMUNE DE TIPE Partie D

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

Les fonctions de hachage, un domaine à la mode

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

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

Fonction de hachage et signatures électroniques

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

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

Authentification de messages et mots de passe

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

Web : Stockage de mot de passe LOG619 Automne 2011 Olivier Bilodeau

SSL ET IPSEC. Licence Pro ATC Amel Guetat

Protocoles cryptographiques

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

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

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

Cryptographie. Cours 3/8 - Chiffrement asymétrique

TP 2 : Chiffrement par blocs

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.

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

HERVÉ SCHAUER CONSULTANTS Cabinet de Consultants en Sécurité Informatique depuis 1989 Spécialisé sur Unix, Windows, TCP/IP et Internet.

FORMATION SUR «CRYPTOGRAPHIE APPLIQUEE

Chapitre 1 : Introduction aux bases de données

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

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

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

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

Vers l'ordinateur quantique

Le protocole sécurisé SSL

TRUECRYPT SUR CLEF USB ( Par Sébastien Maisse 09/12/2007 )

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

Audit des risques informatiques

Protocoles réseaux. Abréviation de Binary Digit. C'est la plus petite unité d'information (0, 1).

Les Réseaux sans fils : IEEE F. Nolot

Projet UNIX. Générateur de dictionnaire d empreintes multitâche par brute-force

INF 4420: Sécurité Informatique Cryptographie II

1. Systèmes d entrée/sortie 2. Systèmes de fichiers 3. Structure de mémoire de masse (disques)

Le service FTP. M.BOUABID, Page 1 sur 5

1 Présentation de la solution client/serveur Mobilegov Digital DNA ID BOX

Chap. I : Introduction à la sécurité informatique

Ebauche Rapport finale

Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes.

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

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

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

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

I. Introduction aux fonctions : les fonctions standards

INSTALLATION D'OPENVPN:

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

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

TECHNIQUES DE CRYPTOGRAPHIE

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

posé de 3 ème année Sébastien DESTABEAU IR3

Sécurité des réseaux IPSec

Les protocoles cryptographiques

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

Recherche dans un tableau

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

Sécurité. Objectifs Gestion de PKI Signature Cryptage Web Service Security

Attaques Wi-Fi WPA. Séparer le bon grain de l ivraie dans le buzz ambiant. Cédric Blancher. sid@rstack.org Rstack Team

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/ Présentation. 1.2 Ressources

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

Protocoles d authentification

Le protocole SSH (Secure Shell)

Définition des Webservices Ordre de paiement par . Version 1.0

Les certificats numériques

Cours admin 200x serveur : DNS et Netbios

CH.6 Propriétés des langages non contextuels

Application 1- VBA : Test de comportements d'investissements

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

Cryptographie et fonctions à sens unique

Série TD 3. Exercice 4.1. Exercice 4.2 Cet algorithme est destiné à prédire l'avenir, et il doit être infaillible! Exercice 4.3. Exercice 4.

Processus 2D-Doc. Version : 1.1 Date : 16/11/2012 Pôle Convergence AGENCE NATIONALE DES TITRES SECURISÉS. Processus 2D-Doc.

Cryptographie Quantique

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

Le protocole RADIUS Remote Authentication Dial-In User Service

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

FinImportExport Documentation Utilisateur Gestion d'environnement dans Fininfo Market

IPSEC : PRÉSENTATION TECHNIQUE

Algorithmique avec Algobox

Le Protocole DHCP. Définition. Références. Fonctionnement. Les baux

Authentification avec CAS sous PRONOTE.net Version du lundi 19 septembre 2011

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

Gestion des Clés Publiques (PKI)

Systemes d'exploitation des ordinateurs

La face cachée de la signature électronique

Evolutions du guichet de la fédération et gestion des métadonnées SAML

Guide d'initiation aux. certificats SSL. Faire le bon choix parmi les options qui s'offrent à vous en matière de sécurité en ligne. Document technique

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

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Convention Beobank Online et Beobank Mobile

Gilles GUETTE IRISA Campus de Beaulieu, Rennes Cedex, France

Livre blanc. Sécuriser les échanges

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

Transcription:

Cryptographie TD 3 Fonctions de hachage Questions générales : 1) Comment un message est-il modifié par une fonction de hachage? Une fonction de hachage prend en entrée un message de taille arbitraire, et produit une empreinte de taille réduite. L'objectif est qu'une modification même infime du message modifie grandement l'empreinte obtenue. 2) Quels sont les propriétés principales des fonctions de hachage? - Fonction à sens unique : impossible (très difficile) de partir d'une empreinte et d'obtenir un message correspondant - Résistance faible aux collisions : à partir d'un message donné, impossible de trouver un autre message ayant la même empreinte. - Résistance forte aux collisions : impossible de trouver deux messages arbitraires ayant la même empreinte. - De plus : grande propagation de toute modification sur l'entrée. 3) Citer quelques algorithmes. Lesquels sont encore considéré comme surs? Qui choisit les algorithmes à utiliser? - MD2,4,5,6. RIPEMD. SHA-0, SHA-1, SHA-2 - Bientôt, SHA-3. Candidats : BLAKE, Grostl, JH, Keccak, Skein - Concours du NIST - SHA-1 encore sur, SHA-2 pareil. Choix d'un successeur par mesure de sécurité. 4) Y a-t-il une limite à l'entrée d'une fonction de hachage? Si oui, laquelle? En théorie, aucune limite. En pratique, certains algorithmes peuvent exhiber des comportements particuliers quand on dépasse une certaine longueure, en particulier quand cette longueur est utilisée dans le calcul de l'empreinte. Pour information, SHA-512 utilise la longueur sur 128bits, MD5 sur 64. 5) Pourquoi la taille de l'empreinte est importante? À cause du paradoxe des anniversaires, on peut montrer que trouver une collision ne nécessite pas autant de tentatives qu'on peut le penser intuitivement. Pour un haché de 64 bits, il faut 2^(64/2+1) calculs de haché pour en trouver une. Dans ces conditions, avoir un haché de 512 bits apporte plus de sécurité sur la résistance aux collisions. Fonctionnement : 1) Quel est le schéma permettant à une fonction de hachage de traiter un long message? Revoir le cours. En résumé : découpage du message en n blocs de

longueur fixée par l'algorithme. Eventuellement du padding à la fin. On injecte ces blocs dans une fonction de compression. 2) Comment est initialisé une fonction de hachage? On utilise un IV comme première valeur dans le schéma précédent. Cet IV est généralement fixé par l'algorithme (par exemple pour MD5 on utilise des constantes basées sur des sinus d'entiers). 3) Qu'est-ce qu'une fonction de compression? Une fonction de compression prend en entrée généralement deux messages de taille fixé, et produit un message de taille fixé. Une telle fonction est enchainée sur les différents blocs composants un message pour produire l'empreinte. Ces fonctions sont constituées de différents algorithmes propageant toute modification de l'entrée sur l'ensemble de la sortie. 4) On dispose d'une fonction de hachage résistante aux collisions, dont la taille des sortie est fixée. Est-ce que pour tout messages distincts M et M', on a deux haché distinct h=h(m) et h'=h(m')? Si la taille de l'empreinte est fixée pour tout les message, il y aura nécessairement des collisions (une fonction de hachage n'est jamais injective). L'important est que trouver une telle collision est irréalisable pour assurer la sécurité de la fonction de hachage. 5) Si on calcule deux fois d'affilé l'empreinte d'un même message, qu'obtient-on? En quoi est-ce important? La même empreinte. C'est un aspect important des fonctions de hachage. Cela permet de traiter l'empreinte comme si on traitait le message initial, par exemple dans les problèmes d'authenticité (signature). Utilisation pratique : I) Gestion des mots de passe II) Chiffrement

I) Gestion de mots de passes On utilise un système d'authentification basé sur des couples nom d'utilisateurmot de passe. On conserve quelque part une liste avec l'ensemble des noms d'utilisateurs et le mot de passe associé. Pour assurer un minimum de sécurité, on ne conserve pas tels quels les mots de passe, mais on conserve leur empreinte, obtenue avec une fonction de hachage. ==Q1== Dans le cas d'un client cherchant à s'identifier auprès du système, quels informations doit-il envoyer pour cela? Décrire le protocole entre les deux. Le client doit envoyer son nom et son mot de passe. Il est possible d'envoyer soit le mot de passe, soit directement son haché dans le protocole d'échange. Cela dit, l'envoi du haché évite la divulgation du mot de passe, et est préférable. ==Q2== Pourquoi conserver l'empreinte du mot de passe au lieu de son original? Un mot de passe ne devrait jamais être conservé, car en cas de corruption de la sécurité du système, cela dévoilerait le mot de passe. ==Q3== Quels problèmes peuvent se poser, si deux utilisateurs utilisent le même mot de passe? Et en cas de compromission de la liste des utilisateurs? En utilisant le même mot de passe dans ce système, on obtient le même haché. Cela peut poser un problème de sécurité en cas d'accès à la liste. En effet si cette liste est compromise, on peut découvrir si plusieurs utilisateurs utilisent le même mot de passe. Cette information seule peut amener à trouver le mot de passe d'un utilisateur en connaissant celui d'un autre utilisateur moins prudent. Par ailleurs, ce genre de système est vulnérable aux «tables arc-en-ciels» (rainbow tables). Ce sont des tables contenant les haché pré-calculés pour un grand nombre de valeurs (par exemple, les mots les plus courants d'un dictionnaire). À partir de ces tables, on peut retrouver très rapidement un mot de passe caché derrière une empreinte. On cherche à améliorer le système en utilisant un «sel». Cela consiste à hacher non pas le mot de passe, mais la concaténation du mot de passe et d'un élément aléatoire, appelé le sel. Ce dernier est stocké avec la liste des utilisateurs, et est différent pour chaque utilisateur. ==Q4== Pourquoi cela améliore la sécurité du système? L'utilisation d'un «sel» de taille raisonnable fait qu'utiliser les rainbow tables n'est plus envisageables : par exemple, il faudrait conserver l'empreinte d'un mot, et de toutes les variations du sel. Pour un sel de 32 bits, ça voudrait dire 2^32=+ de 4 milliards. Par ailleurs, un sel différent par utilisateur signifie que deux utilisateurs utilisant le même sel n'ont plus la même empreinte dans la liste. Cela «casse» ce lien. Par ailleurs, si un utilisateur utilise le même mot de passe sur plusieurs systèmes séparés, il n'est pas possible de savoir que c'est le cas juste en observant les empreintes. ==Q5== Le protocole précédent est-il toujours utilisable? Si non, comment

doit-il être modifié? Si on envoie l'empreinte du mot de passe, il n'est plus possible de calculer son empreinte «salée» à partir de ça. En effet, on reçoit H(M). Il faudrait calculer H(M S) (S étant le sel), mais on ne dispose pas de M. Il faut alors envoyer le sel à l'utilisateur, qui calculera lui même H(M S). ==Q6== Comment détermine-t-on le sel? Le sel peut être entièrement aléatoire. Dans ce cas, il faut utiliser un générateur aléatoire sur. Dans certaines applications on utilise une information de l'utilisateur (par exemple son nom) comme base pour ce sel. Cependant cela réduit son efficacité ; en effet, on se retrouve alors non plus avec (par exemple) 2^32 possibilités, puisque le sel doit avoir un sens.

II) Chiffrement Deux personnes veulent s'échanger un fichier de 50 gigaoctets. Pour cela, elles se mettent d'accord sur un mot de passe, et décident d'envoyer ce fichier par internet. Cependant, son contenu est sensible et ne doit pas pouvoir être intercepté. ==Q1== Comment peut-on assurer que le fichier ne sera pas lu par des tiers non autorisé? On utilise du chiffrement symétrique. Le chiffrement asymétrique n'est pas envisageable sur une telle taille. ==Q2== Si on décide d'utiliser du chiffrement symétrique, comment peut-on utiliser le mot de passe? Pourquoi? On utilise une PBKDF, qui permet de dériver une clé symétrique de taille fixe adaptée à l'algorithme choisi. Il existe aussi des KDF, moins adaptés à un mot de passe provenant d'un utilisateur. On doit passer par cette fonction, car le mot de passe seul n'a que rarement la bonne taille, et un mot de passe «humain» n'apporte pas une répartition apparemment aléatoire, car ce dernier n'utilise pas l'ensemble des possibilités de l'alphabet «numérique» (8bits par octets) ==Q3== Décrire l'ensemble du protocole permettant l'échange de ce fichier, à partir du mot de passe. Après l'échange du mot de passe «à la main» : A génère une clé secrète à partir du mot de passe et d'un sel aléatoire. Il chiffre le fichier, et envoi le chiffré avec le sel. B génère aussi la clé, à partir du mot de passe et du sel reçu. Il peut alors déchiffrer le fichier. Supposons maintenant qu'on envois deux autres fichiers, avec le même mot de passe. L'un des fichiers échangé se trouve compromis, et la clé de chiffrement est retrouvée. ==Q4== Quel problème cette compromission pose pour les deux autres fichiers? Comment éviter cela? Si on utilise le même sel à chaque fois, on obtient la même clé secrète. La compromission de la clé d'un fichier permet donc de retrouver le contenu de tout les fichiers. Si on utilise un sel différent, à partir du même mot de passe, on génère des clés secrètes différentes. Dans ces conditions, la compromission d'une des clés ne compromet pas les autres, malgré l'utilisation d'un unique mot de passe pour les trois fichiers.