Primitives cryptographiques: Chiffrement, Signature...

49
Rappels Confidentialité Authenticité Integrité Primitives cryptographiques: Chiffrement, Signature électronique et Hachage Anca Nitulescu [email protected] Université Paris 13 Villetaneuse Cours 3 18/01/2016 1/41 Anca Nitulescu [email protected] Introduction à la cryptographie

Transcript of Primitives cryptographiques: Chiffrement, Signature...

  • RappelsConfidentialitéAuthenticité

    Integrité

    Primitives cryptographiques:Chiffrement, Signature électronique et Hachage

    Anca [email protected]

    Université Paris 13 Villetaneuse

    Cours 318/01/2016

    1/41 Anca Nitulescu [email protected] Introduction à la cryptographie

  • RappelsConfidentialitéAuthenticité

    Integrité

    • Definitions• Propriétés• Confidentialité• Authenticité• Intégrité• Non-répudiation

    Rappel Cours 1 et 2

    CryptoCryptologie = science du secretCryptographie : l’art de rendreinintelligible, de crypter, de coder, unmessage pour ceux qui ne sont pashabilités à en prendre connaissance.Cryptosystèmes : mécanismesassurant le chiffrement des messagesCryptanalyse : art de "casser" descryptosystèmes

    2/41 Anca Nitulescu [email protected] Introduction à la cryptographie

  • RappelsConfidentialitéAuthenticité

    Integrité

    • Definitions• Propriétés• Confidentialité• Authenticité• Intégrité• Non-répudiation

    Rappel Cours 1 et 2

    ContexteDonnées informatiques

    distribuées (réparties)reliées en réseauaccessibles de partout

    Utilisateurs / servicesnombreux utilisateurs, besoins variésservices plus ou moins critiquesutilisateurs plus ou moins sensibilisés

    Environnement hostilemenace diffuserisques multiples

    3/41 Anca Nitulescu [email protected] Introduction à la cryptographie

  • RappelsConfidentialitéAuthenticité

    Integrité

    • Definitions• Propriétés• Confidentialité• Authenticité• Intégrité• Non-répudiation

    Propriétés

    CryptographieConfidentialité

    Authenticité Intégrité

    Non-répudiation

    4/41 Anca Nitulescu [email protected] Introduction à la cryptographie

  • RappelsConfidentialitéAuthenticité

    Integrité

    • Definitions• Propriétés• Confidentialité• Authenticité• Intégrité• Non-répudiation

    Propriétés

    ConfidentialitéLe fait de s’assurer que l’information n’est seulement accessiblequ’à ceux dont l’accès est autorisé

    AuthenticitéLe fait de s’assurer que l’expéditeur est bien celui qu’il prétend être

    IntégritéLe fait de s’assurer que l’information ne subisse aucune altération oudestruction volontaire ou accidentelle, et conserve le format initial

    5/41 Anca Nitulescu [email protected] Introduction à la cryptographie

  • RappelsConfidentialitéAuthenticité

    Integrité

    • Definitions• Propriétés• Confidentialité• Authenticité• Intégrité• Non-répudiation

    Propriétés

    ConfidentialitéLe fait de s’assurer que l’information n’est seulement accessiblequ’à ceux dont l’accès est autorisé

    AuthenticitéLe fait de s’assurer que l’expéditeur est bien celui qu’il prétend être

    IntégritéLe fait de s’assurer que l’information ne subisse aucune altération oudestruction volontaire ou accidentelle, et conserve le format initial

    5/41 Anca Nitulescu [email protected] Introduction à la cryptographie

  • RappelsConfidentialitéAuthenticité

    Integrité

    • Definitions• Propriétés• Confidentialité• Authenticité• Intégrité• Non-répudiation

    Propriétés

    ConfidentialitéLe fait de s’assurer que l’information n’est seulement accessiblequ’à ceux dont l’accès est autorisé

    AuthenticitéLe fait de s’assurer que l’expéditeur est bien celui qu’il prétend être

    IntégritéLe fait de s’assurer que l’information ne subisse aucune altération oudestruction volontaire ou accidentelle, et conserve le format initial

    5/41 Anca Nitulescu [email protected] Introduction à la cryptographie

  • RappelsConfidentialitéAuthenticité

    Integrité

    • Definitions• Propriétés• Confidentialité• Authenticité• Intégrité• Non-répudiation

    Confidentialité

    ContexteS’assurer du caractère secret de l’information

    Echange de messages en présence d’unespionStockage de données sécurisé

    6/41 Anca Nitulescu [email protected] Introduction à la cryptographie

  • RappelsConfidentialitéAuthenticité

    Integrité

    • Definitions• Propriétés• Confidentialité• Authenticité• Intégrité• Non-répudiation

    Authenticité

    ContexteS’assurer de la provenance d’un message et de l’authenticité de sonémetteur

    7/41 Anca Nitulescu [email protected] Introduction à la cryptographie

  • RappelsConfidentialitéAuthenticité

    Integrité

    • Definitions• Propriétés• Confidentialité• Authenticité• Intégrité• Non-répudiation

    Intégrité

    ContexteS’assurer de la non-modification d’un message

    8/41 Anca Nitulescu [email protected] Introduction à la cryptographie

  • RappelsConfidentialitéAuthenticité

    Integrité

    • Definitions• Propriétés• Confidentialité• Authenticité• Intégrité• Non-répudiation

    Non-répudiation

    d’originL’émetteur ne peut nier avoir écrit le message et il peut prouverqu’il ne l’a pas fait si c’est le cas

    de réceptionLe receveur ne peut nier avoir reçu le message et il peut prouverqu’il ne l’a pas reçu si c’est effectivement le cas

    de transmissionL’émetteur du message ne peut nier avoir envoyé le message et ilpeut prouver qu’il ne l’a pas fait si c’est le cas

    9/41 Anca Nitulescu [email protected] Introduction à la cryptographie

  • RappelsConfidentialitéAuthenticité

    Integrité

    • Definitions• Propriétés• Confidentialité• Authenticité• Intégrité• Non-répudiation

    Non-répudiation

    d’originL’émetteur ne peut nier avoir écrit le message et il peut prouverqu’il ne l’a pas fait si c’est le cas

    de réceptionLe receveur ne peut nier avoir reçu le message et il peut prouverqu’il ne l’a pas reçu si c’est effectivement le cas

    de transmissionL’émetteur du message ne peut nier avoir envoyé le message et ilpeut prouver qu’il ne l’a pas fait si c’est le cas

    9/41 Anca Nitulescu [email protected] Introduction à la cryptographie

  • RappelsConfidentialitéAuthenticité

    Integrité

    • Definitions• Propriétés• Confidentialité• Authenticité• Intégrité• Non-répudiation

    Non-répudiation

    d’originL’émetteur ne peut nier avoir écrit le message et il peut prouverqu’il ne l’a pas fait si c’est le cas

    de réceptionLe receveur ne peut nier avoir reçu le message et il peut prouverqu’il ne l’a pas reçu si c’est effectivement le cas

    de transmissionL’émetteur du message ne peut nier avoir envoyé le message et ilpeut prouver qu’il ne l’a pas fait si c’est le cas

    9/41 Anca Nitulescu [email protected] Introduction à la cryptographie

  • RappelsConfidentialitéAuthenticité

    Integrité

    • Cryptosystèmes• Formalisation• Chiffrement symétrique• Chiffrement asymétrique

    Cryptosystème

    DéfinitionUn cryptosystème est un dictionnaire entre les messages en clair etles messages chiffrées.

    10/41 Anca Nitulescu [email protected] Introduction à la cryptographie

  • RappelsConfidentialitéAuthenticité

    Integrité

    • Cryptosystèmes• Formalisation• Chiffrement symétrique• Chiffrement asymétrique

    Cryptosystème

    DéfinitionUn cryptosystème est un dictionnaire entre les messages en clair etles messages chiffrées.

    10/41 Anca Nitulescu [email protected] Introduction à la cryptographie

  • RappelsConfidentialitéAuthenticité

    Integrité

    • Cryptosystèmes• Formalisation• Chiffrement symétrique• Chiffrement asymétrique

    Cryptosystème

    FormalisationDes ensembles finis• P les mots en clair• C les mots codés• K les clefsDes algorithmes• KG : 1→ K générateur de clés• E : K × P → C chiffrement• D : K × C → P dechiffrement

    11/41 Anca Nitulescu [email protected] Introduction à la cryptographie

  • RappelsConfidentialitéAuthenticité

    Integrité

    • Cryptosystèmes• Formalisation• Chiffrement symétrique• Chiffrement asymétrique

    Cryptosystème

    ExempleLe chiffrement de Caesar peut être représenté enutilisant les congruences sur les entiers.

    A = 0,B = 1,C = 2, ...,Y = 24,Z = 25

    12/41 Anca Nitulescu [email protected] Introduction à la cryptographie

  • RappelsConfidentialitéAuthenticité

    Integrité

    • Cryptosystèmes• Formalisation• Chiffrement symétrique• Chiffrement asymétrique

    Chiffre de Caesar

    • P = {0, 1, . . . 25}• C = {0, 1, . . . 25}• K = {0, 1, . . . 25}• Générer la clé = le décalageKG(1) = 3• Le chiffrement = la fonction quiajoute 3 à chaque lettre du messageE(Y ) = 24+ 3 = 1 = B mod 26E(B) = 1+ 3 = 4 = E mod 26• Le déchiffrement = la fonction quisoustrait 3D(Z ) = 25− 3 = 22 = W mod 26

    13/41 Anca Nitulescu [email protected] Introduction à la cryptographie

  • RappelsConfidentialitéAuthenticité

    Integrité

    • Cryptosystèmes• Formalisation• Chiffrement symétrique• Chiffrement asymétrique

    Cryptanalyse de chiffre de Caesar

    Cryptanalyse

    Recherche exhaustive :Nombre faible de clés possibles (26), on les essaye toutes jusqu’àtomber sur la bonne

    FaiblesseChaque lettre est remplacée par une autre, toujours la memeL’ordre des lettres est conservé

    Analyse des fréquences :L’exploitation des caractéristiques linguistiques (redondances,fréquences ) permet de cryptanalyser facilement ce type de schéma

    14/41 Anca Nitulescu [email protected] Introduction à la cryptographie

  • RappelsConfidentialitéAuthenticité

    Integrité

    • Cryptosystèmes• Formalisation• Chiffrement symétrique• Chiffrement asymétrique

    Chiffrement à clé secrète

    Déscription

    • La clé de chiffrement est la meme que la clé de déchiffrement (oudérivée).• Alice et Bob doit utiliser une clé secrète pour chiffrer et déchiffrerles messages.• L’ échange d’une clé secrète entre Alice et Bob est nécessaire.

    15/41 Anca Nitulescu [email protected] Introduction à la cryptographie

  • RappelsConfidentialitéAuthenticité

    Integrité

    • Cryptosystèmes• Formalisation• Chiffrement symétrique• Chiffrement asymétrique

    Chiffrement à clé secrète

    16/41 Anca Nitulescu [email protected] Introduction à la cryptographie

  • RappelsConfidentialitéAuthenticité

    Integrité

    • Cryptosystèmes• Formalisation• Chiffrement symétrique• Chiffrement asymétrique

    Chiffrement à clé secrète

    Avantages

    Systémes rapides (implantation matérielle)Clés relativement courtes (128 ou 256 bits)

    Inconvénients

    Gestion des clés diffcile (nombreuses clés)Point faible = échange d’un secret

    17/41 Anca Nitulescu [email protected] Introduction à la cryptographie

  • RappelsConfidentialitéAuthenticité

    Integrité

    • Cryptosystèmes• Formalisation• Chiffrement symétrique• Chiffrement asymétrique

    Chiffrement à clé secrète

    ExemplesChiffrement par blocs :Les messages sont découpés en blocs

    DES : blocs de 64 bits, clés de 56 bitsIDEA : blocs de 64 bits, clés de 128 bitsAES : blocs de 128 bits, clés de 128, 256 bits

    Chiffrement par flots :Les données sont traitées en flux

    Pseudo-Vernam : on XOR un pseudo-aléa au fluxRC4 : chiffrement octet par octet

    18/41 Anca Nitulescu [email protected] Introduction à la cryptographie

  • RappelsConfidentialitéAuthenticité

    Integrité

    • Cryptosystèmes• Formalisation• Chiffrement symétrique• Chiffrement asymétrique

    Chiffrement sans échange des clés ?

    19/41 Anca Nitulescu [email protected] Introduction à la cryptographie

  • RappelsConfidentialitéAuthenticité

    Integrité

    • Cryptosystèmes• Formalisation• Chiffrement symétrique• Chiffrement asymétrique

    Difficulté

    Construction impossible

    Les deux clés (cadenas)NE commutent PAS !

    (On doit respecter l’ordre duchiffrement)

    20/41 Anca Nitulescu [email protected] Introduction à la cryptographie

  • RappelsConfidentialitéAuthenticité

    Integrité

    • Cryptosystèmes• Formalisation• Chiffrement symétrique• Chiffrement asymétrique

    Chiffrement à clé publique

    21/41 Anca Nitulescu [email protected] Introduction à la cryptographie

  • RappelsConfidentialitéAuthenticité

    Integrité

    • Cryptosystèmes• Formalisation• Chiffrement symétrique• Chiffrement asymétrique

    Chiffrement à clé publique

    Principe d’asymétrieUn système cryptographie à clé publique est en fait basé sur deuxclés :• Une clé publique :La clé de chiffrement peut être distribuée librement(comme un cadenas ouvert)• Une clé privée :La clé de déchiffrement est connue uniquement du receveur,(la clé sécrete qui ouvre le cadenas fermé)

    22/41 Anca Nitulescu [email protected] Introduction à la cryptographie

  • RappelsConfidentialitéAuthenticité

    Integrité

    • Cryptosystèmes• Formalisation• Chiffrement symétrique• Chiffrement asymétrique

    Chiffrement à clé publique

    FormalisationTrois algorithmes• Algorithme de génération des clés KG(`) = (pk, sk)à partir d’un paramètre de sécurité, il produit une paire de clés

    • Algorithme de chiffrement E(pk,m) = cproduit le chiffré d’un message m, par la clé publique

    • Algorithme de déchiffrement D(sk, c) = mutilise la clé sécrete/privée sk pour retrouver m à partir de c

    23/41 Anca Nitulescu [email protected] Introduction à la cryptographie

  • RappelsConfidentialitéAuthenticité

    Integrité

    • Cryptosystèmes• Formalisation• Chiffrement symétrique• Chiffrement asymétrique

    Chiffrement à clé publique

    Rémarques

    La clé publique ne permet pas de déchiffrer (en particulier, ellene permet pas de retrouver la clé privée).N’importe qui peut chiffrer un message pour Bob, sans besoinde communication antérieure.

    24/41 Anca Nitulescu [email protected] Introduction à la cryptographie

  • RappelsConfidentialitéAuthenticité

    Integrité

    • Cryptosystèmes• Formalisation• Chiffrement symétrique• Chiffrement asymétrique

    Chiffrement à clé publique

    AvantagesLa clé privée ne quitte pas son propriétaire :

    Gestion des secrets facilitéePas de secret à transmettre

    InconvénientsLa relation clé publique/clé privée impose :

    Des clés plus longues (1024 à 4096 bits)Des cryptosystèmes beaucoup plus lents qu’en symétriqueGestion de certiffcats de clés publiques

    25/41 Anca Nitulescu [email protected] Introduction à la cryptographie

  • RappelsConfidentialitéAuthenticité

    Integrité

    • Cryptosystèmes• Formalisation• Chiffrement symétrique• Chiffrement asymétrique

    Chiffrement à clé publique

    Exemples

    RSA (Rivest-Shamir-Adleman, 1978) :basé sur les racines modulaires et la decomposition en facteursprémiersElGamal (1984) :basé sur le logarithme discretMcEliece (1978) :basé sur les codes correcteursMerkle-Hellman (1978) :basé sur des problèmes combinatoires (sac-à-dos)Hidden Field Equation (Patarin, 1996) :basé sur les systèmes multivariables

    26/41 Anca Nitulescu [email protected] Introduction à la cryptographie

  • RappelsConfidentialitéAuthenticité

    Integrité

    • Signatures électroniques• Déscription• Formalisation

    Signature électronique

    27/41 Anca Nitulescu [email protected] Introduction à la cryptographie

  • RappelsConfidentialitéAuthenticité

    Integrité

    • Signatures électroniques• Déscription• Formalisation

    Signature électronique : idée générale

    PropriétésReproduire les caractéristiques d’une signature manuscrite :

    Lier un document à son autheurRendre la signature difficilement imitableResponsabilité de l’auteur (juridique)

    28/41 Anca Nitulescu [email protected] Introduction à la cryptographie

  • RappelsConfidentialitéAuthenticité

    Integrité

    • Signatures électroniques• Déscription• Formalisation

    Les différents acteurs

    Le SignataireDoit pouvoir facilement émettre des signatures en son nom

    Le vérifieurDoit pouvoir vérifier la signature sans avoir d’informationconfidentiellePotentiellement tout le monde doit pouvoir vérifier.

    L’ennemiIl cherche à générer une fausse signature

    29/41 Anca Nitulescu [email protected] Introduction à la cryptographie

  • RappelsConfidentialitéAuthenticité

    Integrité

    • Signatures électroniques• Déscription• Formalisation

    Les différents acteurs

    Le SignataireDoit pouvoir facilement émettre des signatures en son nom

    Le vérifieurDoit pouvoir vérifier la signature sans avoir d’informationconfidentiellePotentiellement tout le monde doit pouvoir vérifier.

    L’ennemiIl cherche à générer une fausse signature

    29/41 Anca Nitulescu [email protected] Introduction à la cryptographie

  • RappelsConfidentialitéAuthenticité

    Integrité

    • Signatures électroniques• Déscription• Formalisation

    Les différents acteurs

    Le SignataireDoit pouvoir facilement émettre des signatures en son nom

    Le vérifieurDoit pouvoir vérifier la signature sans avoir d’informationconfidentiellePotentiellement tout le monde doit pouvoir vérifier.

    L’ennemiIl cherche à générer une fausse signature

    29/41 Anca Nitulescu [email protected] Introduction à la cryptographie

  • RappelsConfidentialitéAuthenticité

    Integrité

    • Signatures électroniques• Déscription• Formalisation

    Fonctionnement

    Le SignataireEmet une signature et l’envoie avec le message

    30/41 Anca Nitulescu [email protected] Introduction à la cryptographie

  • RappelsConfidentialitéAuthenticité

    Integrité

    • Signatures électroniques• Déscription• Formalisation

    Fonctionnement

    L’adversaireCherche à fabriquer de fausses signatures

    31/41 Anca Nitulescu [email protected] Introduction à la cryptographie

  • RappelsConfidentialitéAuthenticité

    Integrité

    • Signatures électroniques• Déscription• Formalisation

    Fonctionnement

    AlgorithmesAlgorithmes de signature et de vérification

    32/41 Anca Nitulescu [email protected] Introduction à la cryptographie

  • RappelsConfidentialitéAuthenticité

    Integrité

    • Signatures électroniques• Déscription• Formalisation

    Fonctionnement

    Le vérifieurTout le monde peut vérifier : Mécanisme à clé publique !

    33/41 Anca Nitulescu [email protected] Introduction à la cryptographie

  • RappelsConfidentialitéAuthenticité

    Integrité

    • Signatures électroniques• Déscription• Formalisation

    Fonctionnement

    La clé privée est utilisée pour signer.

    34/41 Anca Nitulescu [email protected] Introduction à la cryptographie

  • RappelsConfidentialitéAuthenticité

    Integrité

    • Signatures électroniques• Déscription• Formalisation

    Signatures électroniques

    FormalisationTrois algorithmes• Algorithme de génération des clés KG(`) = (pk, sk)à partir d’un paramètre de sécurité, il produit un couple de clés : clépublique, clé sécrete

    • Algorithme de signature S(sk,m) = σutilise la clé sécrete sk pour signer le message

    • Algorithme de vérification V(pk,m, σ) = yes/noutilise la clé publique seulement

    35/41 Anca Nitulescu [email protected] Introduction à la cryptographie

  • RappelsConfidentialitéAuthenticité

    Integrité

    • Fonctions de hachage• Définition• Propriétés• Exemples

    Idée générale

    36/41 Anca Nitulescu [email protected] Introduction à la cryptographie

  • RappelsConfidentialitéAuthenticité

    Integrité

    • Fonctions de hachage• Définition• Propriétés• Exemples

    But

    L’intégrité des donnéesVérifier que les infos

    transmises n’ont pas subid’altérations.

    Produire une empreintecondensée qui soitfacilement vérifiable.

    37/41 Anca Nitulescu [email protected] Introduction à la cryptographie

  • RappelsConfidentialitéAuthenticité

    Integrité

    • Fonctions de hachage• Définition• Propriétés• Exemples

    Définition

    Fonction de hachageUne fonction qui, à partird’une donnée arbitraire,calcule une empreinteservant à condenser etidentifier rapidement ladonnée initiale

    38/41 Anca Nitulescu [email protected] Introduction à la cryptographie

  • RappelsConfidentialitéAuthenticité

    Integrité

    • Fonctions de hachage• Définition• Propriétés• Exemples

    Fonctions de hachage

    PropriétésCompression et facilité de calcul.Résistance à la préimage :étant donné y , il est difficile de trouver x tel que y = H(x)Résistance à la seconde préimage :étant donné x, il est difficile de trouver x ′ 6= x tel queH(x) = H(x ′)

    Résistance à la collision :il est difficile de trouver x et x ′ tels que H(x) = H(x ′)

    39/41 Anca Nitulescu [email protected] Introduction à la cryptographie

  • RappelsConfidentialitéAuthenticité

    Integrité

    • Fonctions de hachage• Définition• Propriétés• Exemples

    Fonctions de hachage

    Types des fonctionsFonction de Hachage à Sens Uniquerésistance à la préimage et à la seconde préimageFonction de Hachage résistante aux collisionsrésistance à la seconde préimage et à la collision

    Fonctions de hachage résistante aux collisionsAbsence de collisions : permet à garantir qu’une altération desdonnées produira une modification de l’empreinte

    40/41 Anca Nitulescu [email protected] Introduction à la cryptographie

  • RappelsConfidentialitéAuthenticité

    Integrité

    • Fonctions de hachage• Définition• Propriétés• Exemples

    Fonctions de hachage

    Types des fonctionsFonction de Hachage à Sens Uniquerésistance à la préimage et à la seconde préimageFonction de Hachage résistante aux collisionsrésistance à la seconde préimage et à la collision

    Fonctions de hachage résistante aux collisionsAbsence de collisions : permet à garantir qu’une altération desdonnées produira une modification de l’empreinte

    40/41 Anca Nitulescu [email protected] Introduction à la cryptographie

  • RappelsConfidentialitéAuthenticité

    Integrité

    • Fonctions de hachage• Définition• Propriétés• Exemples

    Fonctions de hachage

    ExemplesMD5 (Message Digest 5) :Empreinte de 128 bitsSHA (Secure Hash Algorithm) :

    Norme NISTEmpreinte de 160 bits

    SHA-1 (révision publiée en 1994 )Considéré comme plus sûr que MD5SHA-2 (octobre 2000)Agrandit la taille de l’empreinte

    41/41 Anca Nitulescu [email protected] Introduction à la cryptographie

    Rappels• Definitions• Propriétés• Confidentialité• Authenticité• Intégrité• Non-répudiation

    Confidentialité• Cryptosystèmes• Formalisation• Chiffrement symétrique• Chiffrement asymétrique

    Authenticité• Signatures électroniques• Déscription• Formalisation

    Integrité• Fonctions de hachage• Définition• Propriétés• Exemples