Cryptographie Master de cryptographie Architectures PKI 23 mars 2015 Université Rennes 1 Master Crypto (2014-2015) Cryptographie 23 mars 2015 1 / 17
Cadre Principe de Kercho : "La sécurité d'un système de chirement ne doit pas dépendre du secret de l'algorithme mais seulement du secret de la clé" La gestion des clés est un problème central Couplage cryptographie à clé publique/cryptographie à clé secrète La cryptographie à clé publique est utilisée pour s'échanger une clé de session. La cryptographie à clé secrète utilise cette clé de session pour chirer les communications. Ne protège pas de toutes les attaques (homme du milieu) Master Crypto (2014-2015) Cryptographie 23 mars 2015 2 / 17
Cycle de vie des clés Génération (aléatoire, éviter les clés faibles) Activation Distribution Désactivation (expiration, révocation, clé compromise) Réactivation Destruction On utilise pour cela Chirement Hachage et Signature (intégrité) Certication (authentication) Master Crypto (2014-2015) Cryptographie 23 mars 2015 3 / 17
Distribution des clés Trois types de distribution Physique (ancestrale, mais...) Basé sur la cryptographie symétrique Basé sur la cryptographie asymétrique Principe de la distribution des clés avec système symétrique But : limiter le nombre de clés nécessaires en cryptographie symétrique. Chaque utilisateur partage un secret avec un tiers de conance (ou autorité de conance) notée S. Lorsque 2 utilisateurs veulent communiquer entre eux, le tiers de conance leur fournit une clé de session Master Crypto (2014-2015) Cryptographie 23 mars 2015 4 / 17
Le protocole de Needham-Schroeder (1978) Cadre : A et B veulent communiquer. A (resp. B) partage avec S la clé secrète K AS (resp. K BS ) 1 A demande à S une clé de session K AB pour communiquer avec B. Il utilise pour cela un jeton J A. En résumé A S : A, B, J A 2 S renvoie à A la clé de session chirée et un certicat pour B. S A : K AS (J A, B, K AB, K BS (K AB, A)) 3 A envoie le certicat à B 4 B chire avec K AB un jeton J B et l'envoie à A. 5 A chire avec K AB une modication simple de J B, par ex J B 1 et l'envoie à B. 6 A et B peuvent communiquer avec la clé de session K AB. Master Crypto (2014-2015) Cryptographie 23 mars 2015 5 / 17
introduction de "timestamps" (Kerberos) Master Crypto (2014-2015) Cryptographie 23 mars 2015 6 / 17 Avantages et inconvénients Avantages Résous le problème du nombre de clés dans un système symétrique. Si les couples (A,K AS ) et (B,K BS ) sont dignes de conance, A et B sont authentiés. Aucune des 2 parties n'a besoin d'avoir conance en l'autre pour générer de bonnes clés. Grâce au jeton J B, on évite les attaques par rejeu. Inconvénients Il faut avoir conance en S, y compris en ses capacités et en sa résistance aux attaques. B ne sait pas si la clé est récente : un attaquant peut rejouer les données si il connaît une ancienne clé compromise (contraire au principe des clés de session).
Distribution des clés basée sur la cryptographie asymétrique Les plus grosses applications de la cryptographie à clé publique sont l'échange de clés la signature La clé privée doit être bien protégée Environnement personnel de sécurité (PSE) Un tiers de conance est tout de même nécessaire pour sécuriser l'association sujet/clé publique. Infrastructure à clé publique (PKI) Master Crypto (2014-2015) Cryptographie 23 mars 2015 7 / 17
Environnement personnel de sécurité (PSE) La clé privée d'alice est privée doit être stockée de manière sûre dans le dispositif d'alice. Moins cher en logiciel Mieux en matériel (plus facile à protéger) La clé privée doit rester dans le PSE opérations cryptographiques faite dans le PSE. Encore mieux si même Alice n'a pas accès à sa clé privée (pour éviter la révocation de signature) Générer une clé privée peut être coûteux peut être fait par un tiers de conance Finalement, un autorité de conance est nécessaire pour calculer les clés privées et pour sécuriser le lien sujet/clé publique. Master Crypto (2014-2015) Cryptographie 23 mars 2015 8 / 17
Infrastructure à clé publique (PKI) Rappel du problème Le lien sujet/clé publique doit être sécurisée : un attaquant peut générer une paire de clés et prétendre être Alice. Une autorité de certication (CA) associe à chaque utilisateur un certicat sécurisant ce lien. Etape 1 : Enregistrement Alice donne à l'autorité de certication ses informations personnelles et les prouve (carte d'identité, biométrie, registre,...) CA vérie les informations CA crée un nom d'utilisateur pour Alice Master Crypto (2014-2015) Cryptographie 23 mars 2015 9 / 17
Public key infrastructure (PKI) Étape 2 : Génération de clé CA (ou Alice) engendre une paire clé publique/clé privée La clé privée est stockée sur le PSE d'alice et par l'autorité de séquestre (key escrow). La clé publique est stockée par CA. Rappel : Les clés pour signer, chirer et s'authentier doivent être diérentes. Exemple d'attaque si la clé de chirement est la même que la clé servant à l'authentication Alice veut être authentiée par Eve et utilise un système de dé/réponse. Eve choisit le haché de "Je dois 1000 euros à Eve" comme dé. Alice pense que le dé est aléatoire et le signe pour s'authentier auprès d'eve. Master Crypto (2014-2015) Cryptographie 23 mars 2015 10 / 17
Étape 3 : Certication CA crée un certicat pour Alice qu'il stocke. Il y a des normes pour les certicats (X.509 par exemple) Le certicat est une chaîne de caractères, signé par le CA et contenant L'identité d'alice. La (ou les) clé publique d'alice. L'algorithme de clé publique utilisé. Un numéro de série. Une période de validité. Des informations sur le CA. Etape 4 : Utilisation (Bob veut utiliser la clé publique d'alice). Bob obtient le certicat d'alice via le CA ou en utilise un récent. Bob vérie le certicat et qu'il n'est pas révoqué grâce à une liste (CRL) maintenue par le CA. Bob peut utiliser la clé publique d'alice. Master Crypto (2014-2015) Cryptographie 23 mars 2015 11 / 17
Diagramme PKI Une infrastructure à clé publique simpliée (pas d'autorité de sequestre, les utilisateurs génèrent eux même leurs clés) Master Crypto (2014-2015) Cryptographie 23 mars 2015 12 / 17
Exemple de certicat Le meilleur moyen de voir un certicat est d'aller sur un site securisé (banque, site marchand,... commençant par https) et de cliquer sur le cadenas. Exemple : certicat d'amazon Master Crypto (2014-2015) Cryptographie 23 mars 2015 13 / 17
Cryptographie basée sur l'identité Principe Utiliser l'identité d'un utilisateur comme clé publique. Le récepteur n'a pas besoin d'être déjà utilisateur. Plus besoin de certicats. Utilisable seulement depuis 2001. Fonctionnement L'autorité de conance (TA) possède une clé maître privée et publie la clé maître publique correspondante. Alice combine l'identité de Bob et la clé maître publique pour construire la clé publique de Bob et chirer son message. Bob demande à TA une clé privée attachée à son identité et joint une clé de session chirée avec la clé maître publique. TA construit la clé privée de Bob en combinant l'identité de Bob et la clé maître privée et l'envoie grâce à la clé de session. Bob peut déchirer le message envoyé par Alice. Master Crypto (2014-2015) Cryptographie 23 mars 2015 14 / 17
Le partage de secret Problématique : Un utilisateur perd son PSE et veut retrouver sa clé privée. Solution : Utiliser un secret partagé pour plusieurs personnes toutes d'accord puissent régénérer la clé. Type de partage de secret On veut qu'un secret soit gardé par n utilisateurs et puisse être retrouvé si ils sont tous d'accord. On veut qu'un secret soit gardé par n utilisateurs et puisse être retrouvé par t < n d'entre eux. protocole de Shamir On veut que seuls certains sous ensembles prédéterminés puissent retrouver la clé. protocoles généraux mais très peu ecaces. Master Crypto (2014-2015) Cryptographie 23 mars 2015 15 / 17
Certication RSA partagée Problématique : La clé privée du CA est très sensible, on veut donc la partager entre 3 serveurs distants. Cadre : clé publique (e, n) et clé privée d Fonctionnement On choisit d 1, d 2 et d 3 tels que d = d 1 + d 2 + d 3 mod ϕ(n) On distribue d 1, d 2 et d 3 sur les 3 serveurs. Un utilisateur veut un certicat, cad un message m signé par le CA, cad m d. Il demande donc aux 3 serveurs et recoit Il en déduit m d = s 1 s 2 s 3 s 1 = m d 1, s 2 = m d 2, s 3 = m d 3 On préfererait n'avoir besoin que de 2 serveurs (panne, maintenance,...) Master Crypto (2014-2015) Cryptographie 23 mars 2015 16 / 17
Le protocole de Shamir 1 Initialisation : le distributeur choisit et publie un nombre premier p n + 1 et n éléments non nuls distincts x i de F p. 2 Partage du secret s Le distributeur choisit t 1 éléments a j de F p et construit le polynôme t 1 a(x ) = s + a j X j Il construit y i = a(x i ) et les envoie aux "gardiens". 3 Reconstitution du secret : t gardiens peuvent reconstituer le polynôme a par interpolation a(x ) = Le secret est a(0). t t j=1 x j X y i x j x i i=1 j=1,j i 4 Sécurité : On peut montrer que si m < t gardiens coopèrent il y a p t m polynômes interpolant les y i. Master Crypto (2014-2015) Cryptographie 23 mars 2015 17 / 17