Sébastien Gambs Introduction à la sécurité : cours 4 1 Authentification de messages et authentification par biométrie Sébastien Gambs sgambs@irisa.fr 12 octobre 2015
Sébastien Gambs Introduction à la sécurité : cours 4 2 Authentification de messages
Sébastien Gambs Introduction à la sécurité : cours 4 3 Authentification de messages
Sébastien Gambs Introduction à la sécurité : cours 4 4 Authentification de messages Question fondamentale : comment est ce que Bob peut s assurer que le message prétendument envoyé par Alice a bien été envoyé par Alice et non pas par Ève? Rappel : dans ce cours, on se focalise sur l authenticité du message, pas sur sa confidentialité bien que cela soit un besoin complémentaire. Confidentialité authenticité Hypothèse : Alice et Bob partagent en commun un secret non connu de Ève.
Sébastien Gambs Introduction à la sécurité : cours 4 5 ou CAM (Message Authentication Code ou MAC en anglais) : système d authentification de messages à partir d une clé secrète partagée. Objectif principal : empêcher qu Ève, qui ne connaît pas la clé secrète de Alice et Bob, puisse fabriquer de faux messages et emprunter l identité de l un auprès de l autre. Algorithme d authentification : génère un CAM s à partir d une clé k et d un message m : s = S k (m). Lorsqu Alice veut communiquer avec Bob, elle lui envoie la paire (m, s) sur un canal où Ève est potentiellement présente. Algorithme de vérification : vérifie si un CAM s correspond bien au message m en utilisant la clé secrète s : V k (s, m) = accept si s = S k (m) et reject sinon.
Sébastien Gambs Introduction à la sécurité : cours 4 6 Illustration du principe de CAM (Extrait de Wikipedia)
Sébastien Gambs Introduction à la sécurité : cours 4 7 Propriétés des CAMs Résistance à l imitation : sans connaissance de la clé secrète, un adversaire ne peut pas générer un message valide qui n a pas été préalablement authentifié par l envoyeur légitime. Résistance à la falsification : l adversaire ne peut pas modifier l intégrité d un message sans être détecté par le receveur. Rappel : intégrité confidentialité. Un message peut être confidentiel sans être intègre. Exemple : le masque jetable (one-time pad en anglais) qui est inconditionnellement sécuritaire pour la confidentialité mais dont un bit peut être changé facilement. Un message peut être intègre sans être confidentiel. Exemple : m est envoyé en clair sans aucun chiffrement préalable, en même temps que s le CAM de ce message.
Sébastien Gambs Introduction à la sécurité : cours 4 8 Problème de la fraîcheur du message L intégrité n implique pas que le message est récent attaque par rejeu possible Scénario : supposons par exemple qu Alice envoie lundi le message suivant à Bob avec son code s : ( rendez-vous au restaurant ce soir a 20h, s) Ève qui est jalouse d Alice et écoute ses communications voit passer ce message et l enregistre. Mardi, Ève peut renvoyer le même message à Bob sans que celui-ci puisse mettre son authenticité en doute.
Contre-mesures possibles pour éviter le rejeu Contre-mesure 1 : Inclure un index i dans chaque message en plus de son contenu. Bob enregistre tous les messages envoyés par Alice et refuse un message qu il a déjà reçu. Il peut aussi détecter si Ève a bloqué la transmission d un message s il reçoit les messages d indexes i et i + 2 mais pas le message i + 1. Contre-mesure 2 : Alice introduit une étiquette temporelle dans le message transmis à Bob. Exemple : message envoyé lundi 12 octobre à 10h45. Bob refuse un message dont l étiquette temporelle a dépassé un certain délai. Sébastien Gambs Introduction à la sécurité : cours 4 9
Intégrité inconditionnelle Il existe des mécanismes qui permettent d assurer une intégrité inconditionnelle mais qui sont plutôt inefficaces en pratique. Par exemple supposons qu Alice souhaite envoyer à Bob un message parmi n possibles : m {m 1,..., m n }. À chaque m i est associé une chaîne aléatoire s i de k bits. message CAM m 1 s 1 Exemple : m 2 s 2...... m n s n Lorsqu Alice veut envoyer le message m i à Bob, elle envoie aussi s i. Bob vérifie si le s i reçu est celui associé à m i. La probabilité qu un adversaire puisse authentifier un message m j non vu auparavant est égale à 2 k (c est-à-dire la probabilité de deviner s j aléatoirement). Sébastien Gambs Introduction à la sécurité : cours 4 10
Sébastien Gambs Introduction à la sécurité : cours 4 11 Limite pratique de l intégrité inconditionnelle La longueur des clés va dépendre du nombre de messages qu on souhaite authentifier. L intégrité inconditionnelle réclame des clés de longueur très importante dès que l espace possible des messages devient non-trivial. Exemple : si on considère tous les messages possibles sur 1000 bits, il faudrait qu Alice et Bob stockent un tableau de 2 1000 lignes, soit plus de lignes qu il n y a d atomes dans l univers. Problème fondamental en sécurité et cryptographie : comment régler le problème de la distribution de clés? Facile si Alice et Bob se sont rencontrés auparavant mais difficile sur un canal qu Ève espionne potentiellement. Desideratum pratique : avoir un système nécessitant des clés courtes et réutilisables.
Sébastien Gambs Introduction à la sécurité : cours 4 12 Attaque par fouille exhaustive Si la clé choisie est de longueur trop courte et l adversaire collecte quelques messages la clé est probablement uniquement déterminée l adversaire peut la trouver en pratiquant une fouille exhaustive sur l espace des clés l adversaire peut produire tous les messages valides qu il désire Solution : utiliser une clé de longueur suffisante pour éviter toute espoir de fouille exhaustive (par exemple au moins 128 bits).
Sébastien Gambs Introduction à la sécurité : cours 4 13 Fonction de hachage cryptographique Soit h une fonction de hachage qui accepte en entrée des messages de longueur arbitraire et produit en sortie des empreintes de taille constante (par exemple de k bits) : h : {0, 1} {0, 1} k. h est une fonction de hachage cryptographique si : 1. h peut être calculée efficacement, 2. il est difficile de générer un message correspondant à une empreinte particulière, 3. il est difficile de modifier un message sans changer son empreinte, 4. il est difficile de trouver une collision, càd une paire de messages x y tel que h(x) = h(y). k doit être choisi suffisamment grand pour qu une fouille exhaustive soit impossible.
Sébastien Gambs Introduction à la sécurité : cours 4 14 (Hash-based MAC) : pemet la génération d un CAM à partir d une fonction de hachage cryptographique h. Utilisé dans IpSec et SSL. S k (m) = h((k opad) h((k ipad) m)). V k (m, s) = accept si h((k opad) h((k ipad) m)) = s et reject sinon. opad = 0x5c5c5c... 5c5c et ipad = 0x363636... 3636, ils sont tous les deux de la taille de la clé k et ont été choisis afin d avoir une distance de Hamming importante. La taille utilisée pour la clé est habituellement de 128 ou 160 bits (avec par exemple MD5 ou SHA-1 comme fonction de hachage).
Sébastien Gambs Introduction à la sécurité : cours 4 15 MD5 et SHA-1 MD5 : fonction de hachage cryptographique avec une sortie de 128 bits créé par Ron Rivest en 1994. Utilisé couramment de nombreuses applications dont vérifier l intégrité de fichier ou pour les certificats de SSL. SHA-1 : fonction de hachage qui en pratique peut servir de fonction de hachage cryptographique. Produite des empreintes de 160 bits en sortie. A été choisi par le NIST pour remplacer SHA-0 qui était soupçonné d avoir des failles permettant de trouver des collisions mais SHA-1 semble lui-même avoir des faiblesses. Des familles de fonctions de hachage SHA-2 existent mais une compétition pour trouver qui sera le successeur pour SHA-3 s est terminé en octobre 2012 avec la victoire d un algorithme du nom de Keccak (Bertoni, Daemen, Peters et Van Assche).
Sébastien Gambs Introduction à la sécurité : cours 4 16 Annonce du résultat de la compétition sur SHA-3 Remarque : avec SHA-3, il est possible de construire un directement de la forme h(k m).
Sébastien Gambs Introduction à la sécurité : cours 4 17 Du résultat de la compétition à la standardisation de SHA-3
Sébastien Gambs Introduction à la sécurité : cours 4 18 Illustration du basé sur SHA-1
Sébastien Gambs Introduction à la sécurité : cours 4 19 Paradoxe de l anniversaire Expérience 1 : Quelle est la probabilité dans une classe de 23 étudiants qu ils y aient deux qui soient nés le même jour? Expérience 2 : Supposons qu il y ait n boules dans une urne avec des étiquettes différentes. Question : combien de fois est ce que je dois piocher au hasard en moyenne dans l urne pour espérer tomber deux fois sur la même boule si à chaque fois que je pioche une boule, je la remets ensuite dans l urne? Réponse : environ n de fois en moyenne pour avoir une probabilité de succès d au moins 1 2.
Comprendre le paradoxe de l anniversaire Soit une année qui compte 365 jours (on ne s occupe pas des années bissextiles). Parmi n individus (on suppose n < 365), on veut savoir s il existe au moins une paire d individus qui ont le même anniversaire, soit p(n) la probabilité de cet événement. Soit p(n), la probabilité que n individus aient des dates d anniversaire différentes. p(n) = 1 (1 1 365 ) (1 2 n 1 365 )... (1 365 ) = 365! 365 n (365 n)! p(n) = 1 p(n), dès que n 23 p(n) > 50% (et même 99% si n 57). Sébastien Gambs Introduction à la sécurité : cours 4 20
Sébastien Gambs Introduction à la sécurité : cours 4 21 Probabilité de succès du paradoxe de l anniversaire (Extrait de wikipedia)
Sébastien Gambs Introduction à la sécurité : cours 4 22 Utiliser l attaque de l anniversaire pour trouver une collision Algorithme : 1. Rencontre {} 2. x j choisi au hasard dans le domaine de h 3. Répéter tant que (x j, h(x j )) Rencontre ou h(x j ) n apparaît pas dans Rencontre Rencontre Rencontre + (x j, h(x j )) xj choisi au hasard dans le domaine de h 4. Retourner (x i, x j ) tel que x i x j et (x j, h(x i )) Rencontre Théorème : l algorithme ci-dessus peut générer une collision après 2 ( k 2 ) tours de boucle en moyenne pour k le nombre de bits de sortie de la fonction de hachage h.
Sébastien Gambs Introduction à la sécurité : cours 4 23 Problème de la longueur de la sortie pour les CAMs Pour un cryptosystème, on considère souvent que 64 bits de clé sont suffisants pour offrir une sécurité relativement bonne en pratique (bien qu on tende vers 128 bits minimum maintenant pour AES). Pour une fonction de hachage, une sortie sur 64 bits n est pas suffisante car un adversaire pourrait réussir à trouver une collision en 2 ( 64 2 ) = 2 32 = 4 294 967 296 étapes de calcul en moyenne. Solution : avoir une sortie de longueur au moins 128 bits pour que le travail demandé pour trouver une collision soit équivalent à celui requis pour faire une fouille exhaustive sur un espace de clés de 64 bits pour un cryptosystème.
Sébastien Gambs Introduction à la sécurité : cours 4 24 Types d attaque sur fonction de hachage Attaque par collision : chercher à générer deux messages x et y tel que x y mais h(x) = h(y). L attaque reposant sur le paradoxe de l anniversaire trouve toujours une collision en temps espéré 2 k/2 pour k la taille de la sortie de la fonction de hachage mais... il est parfois possible de trouver des attaques plus efficaces reposant sur la structure spécifique de la fonction de hachage. Attaque par pré-image : 1. étant donné un hash z cherche à générer un message x (une pré-image) tel que h(x) = z (attaque de pré-image de première ordre) ou 2. étant donné un message x, trouver un autre message y tel que h(x) = h(y) (attaque par pré-image de second ordre). Question : quelles sont les implications pratiques de ces types d attaque?
Sébastien Gambs Introduction à la sécurité : cours 4 25 État des lieux des fonctions de hachage Problème fondamental : existe t il réellement des familles de fonction de hachage cryptographiques qui sont à collision difficile? État des lieux des fonctions utilisées en pratique : (Extrait de wikipedia)
Fonctionnement d un CBC-MAC : le message m est découpé en blocs de taille constante, m = m 1,..., m l et le chiffrement du dernier bloc c l joue le rôle de CAM pour le message. Sébastien Gambs Introduction à la sécurité : cours 4 26 CAM à partir d un chiffrement par blocs (voir cours de Pierre-Alain) La méthode de chiffrements par blocs dans des cryptosystèmes symmétriques tel que DES ou AES peut être utilisé pour authentifier un message. Exemple : méthode d enchaînements de blocs (Cipher Block Chaining ou CBC en anglais).
Sébastien Gambs Introduction à la sécurité : cours 4 27 Quelques mots sur les signatures numériques Signature numérique : équivalent digital de la signature papier qui peut être utilisé pour authentifier un document numérique et garantir son authenticité. Basé sur le concept de cryptographie asymétrique où un utilisateur possède : une clé secrète de signature qu il peut utiliser pour signer un document et une clé de vérification publique qui peut être utilisé par n importe qui pour vérifier l authenticité d une signature. La signature numérique fournit aussi la propriété de non-répudiation, le fait qu un utilisateur ne puisse pas nier avoir signé un document (elle a valeur légale en France). Pour des raisons d efficacité, c est souvent la valeur hachée d un message qui est signée et non pas le message. Quel risque cela pose t-il si le hachage n est pas à collision difficile?
Sébastien Gambs Introduction à la sécurité : cours 4 28 Scénario : ouverture de porte de garage à distance Contexte : supposons que je souhaite créer un système qui me permet d ouvrir mon garage à distance sans sortir de ma voiture en utilisant une télécommande. Problème : je veux éviter qu un potentiel cambrioleur puisse utiliser ce système pour s introduire chez moi. Comment faire? Est ce que si je chiffre les communications entre ma télecommande et ma porte cela règle le problème? Est ce que l authentification suffirait? Aussi comment éviter les risques de rejeu?
Sébastien Gambs Introduction à la sécurité : cours 4 29 Authentification de messages
Sébastien Gambs Introduction à la sécurité : cours 4 30 Authentification de messages Biométrie Biométrie : analyse statistique des données biologiques d un individu. L authentification par biométrie consiste à utiliser un système de reconnaissance basé sur les caractéristiques physiques ou comportementales d un individu pour vérifier son identité. Exemples : empreinte digitale, iris, visage, voix. Deux phases importantes : 1. Capture des données biométriques : enregistrement de l utilisateur en capturant un modèle de ses caractéristiques biométriques (par exemple son empreinte digitale). 2. Vérification de son identité : le système capture des données et les compare au modèle. s il y a correspondance l utilisateur est authentifié Il est possible aussi de faire de la reconnaissance (identifier une personne parmi tous les enregistrements de la base).
Sébastien Gambs Introduction à la sécurité : cours 4 31 Authentification de messages Exemples d utilisation de l authentification par biométrie Contrôle d accès à des locaux ou bâtiment. Authentification pour utiliser un ordinateur.
Sébastien Gambs Introduction à la sécurité : cours 4 32 Authentification de messages Caractéristiques des données biométriques Les données biométriques peuvent naturellement varier légèrement d une fois à l autre. Exemple : empreinte de voix différente à cause d un mal de gorge ou iris dilaté différemment à cause de la prise de médicament. Il faut être capable de prendre en compte cette variabilité naturelle à l intérieur du système d authentification par biométrie.
Sébastien Gambs Introduction à la sécurité : cours 4 33 Authentification de messages Méthode d identification des données biométriques Capture (étape 1) : on acquiert b i le profil biométrique de l utilisateur d index i. La représentation de b i dépend de la méthode biométrique utilisée (cela peut aller d un vecteur de bits à une représentation beaucoup plus complexe). Identification (étape 2) : on mesure b, les données biométriques fraîches d un utilisateur qui souhaite s authentifier comme étant l utilisateur d index i. But : vérifier si b est suffisamment similaire de b i qu on a stocké en mémoire. Si c est le cas, on accepte l utilisateur, sinon on le rejette.
Sébastien Gambs Introduction à la sécurité : cours 4 34 Authentification de messages Fonctionnement de l authentification par biométrie
Sébastien Gambs Introduction à la sécurité : cours 4 35 Authentification de messages Distance entre profils biométriques Soit dist(b, b ) une mesure de distance entre deux profils biométriques b et b. Exemples de mesure de distance : distance de Hamming ou distance d édition. Si les deux profils correspondent parfaitement si dist(b, b ) = 0. En général on fixe un seuil θ tel que si dist(b, b ) < θ alors on considère que les profils sont suffisamment similaires, sinon on considère l authentification comme non-réussie. La valeur du seuil θ va dépendre de la méthode biométrique utilisée et de la variabilité naturelle à l intérieur de la population. Il est possible d utiliser une mesure de similarité au lieu d une mesure de distance.
Erreur d identification Deux types principaux d erreurs d identification : faux négatifs et faux positifs. Faux positifs : reconnaissance à tort d un individu qui n aurait pas du être reconnu. Mesuré par le taux de fausse acceptation (FAR pour False Acceptance Rate en anglais). Faux négatifs : non-reconnaissance d un individu qui aurait du être reconnu. Mesuré par le taux de faux rejet (FFR pour False Rejection Rate en anglais). Baisser un des deux taux augmente l autre. Exemple : on rejette toute identification où la correspondance n est pas parfaite (baisse le FAR mais augmente le FFR). Une bonne méthode d identification cherche à trouver un compromis efficace pour avoir deux taux bas. Sébastien Gambs Introduction à la sécurité : cours 4 36
Sébastien Gambs Introduction à la sécurité : cours 4 37 Authentification de messages Compromis entre FAR et FRR
Sébastien Gambs Introduction à la sécurité : cours 4 38 Authentification de messages Sécurité des données biométriques Système sécuritaire du moment qu il n est pas réaliste d acquérir les données biométriques d un individu. Exemple : facile pour les empreintes digitales, je prends un café avec vous et je récupère votre gobelet ensuite. Conseil : pour plus de sécurité, utiliser la biométrie en combinaison avec autre méthode d authentification (par exemple connaissance d un mot de passe ou jeton cryptographique).
Sébastien Gambs Introduction à la sécurité : cours 4 39 Authentification de messages Empreinte digitale Une des plus anciennes formes d authentification biométrique. Représente les caractéristiques d une empreinte digitale sous forme de points caractéristiques appelés minuties. La probabilité de trouver deux individus avec des empreintes similaires est de 1 sur 10 24. Remarque : les jumeaux ont des empreintes très proches mais non semblables. Avantages : facile à mettre en place et à utiliser et donne un bon taux de détection. Inconvénients : il est relativement facile de copier les empreintes digitales d une personne. Demande aussi à faire une nouvelle capture des données si l utilisateur se coupe ou se brûle.
Sébastien Gambs Introduction à la sécurité : cours 4 40 Authentification de messages Illustration des empreintes digitales
Sébastien Gambs Introduction à la sécurité : cours 4 41 Authentification de messages Système de reconnaissance faciale et vocale Prend une empreinte (fingerprint en anglais) du visage ou de la voix d un individu. Avantages : facile à utiliser tout comme les systèmes d empreintes digitales. Inconvénients : peut être trompé par la photographie d un visage ou l enregistrement d une voix.
Sébastien Gambs Introduction à la sécurité : cours 4 42 Authentification de messages Illustration de la reconnaissance faciale
Sébastien Gambs Introduction à la sécurité : cours 4 43 Authentification de messages Scan d iris et de rétine Fait une capture de l iris ou de la rétine. La probabilité de trouver deux individus avec des iris ayant des caractéristiques similaires est de 1 sur 10 72. L identification peut faire jouer la lumière pour changer en temps réel l image de l iris mesurée. Avantages : méthode qui offre un des meilleurs taux d identification et considéré comme étant un des plus sûrs du fait de la difficulté de faire une capture du comportement d une iris. Même deux jumeaux possèdent un scan d iris et de rétine différent. Inconvénient : procédure de capture plus contraignante.
Sébastien Gambs Introduction à la sécurité : cours 4 44 Authentification de messages Illustration du scan d iris
Sébastien Gambs Introduction à la sécurité : cours 4 45 Authentification de messages Autres méthodes d authentification biométriques Scan du réseau veineux : utiliser la structure du réseau veineux comme information biométrique. Pas encore tout à fait au point mais très prometteur comme technologie. L authentification par biométrie s intéresse aussi à identifier les individus par rapport à leur comportement. Dynamique des frappes au clavier : identification d un individu par rapport à sa dynamique de frappe au clavier (par exemple durée entre frappes, fréquence des erreurs ou durée globale nécessaire pour taper un texte. Dynamique de signature : utilisée lors de l acquisition de signatures par palette graphique en mesurant par exemple la vitesse ou encore la pression et les accélérations.
Sébastien Gambs Introduction à la sécurité : cours 4 46 Authentification de messages C est la fin! Merci pour votre attention. Si vous avez des questions, n hésitez pas à m écrire à sgambs@irisa.fr