Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Khaled SAMMOUD
Sommaire
Domaine de la scurit. Services de scurit. Algorithmes de chiffrement symtrique. Chiffrement symtrique DES.
Signature.
Certificat. Quelques standards
Services de la scurit
Problmatique
Toute information circulant sur Internet peut tre capture et enregistre et/ou modifie
Problme de confidentialit et dintgrit
Toute personne peut falsifier son adresse IP (spoofing) ce qui engendre une fausse identification
Problme dauthentification
Aucune preuve nest fournie par Internet quant la participation dans un change lectronique
Problme dabsence de traabilit
Cryptographie
Science mathmatique permettant deffectuer des oprations sur un texte intelligible afin dassurer une ou plusieurs proprits de la scurit de linformation.
Intgrit Authentification
P est un ensemble fini de textes clairs (Plain text) C est un ensemble fini de textes crypts (Cypher text) K est lespace de cls (key space), reprsente un ensemble fini de cls possibles. Pour chaque k K, il existe une fonction cryptage ek E, et une fonction de dcryptage correspondante dk D
Les fonctions ek : P C
et
dk : C P doivent satisfaire:
Principaux objectifs
Le texte clair ne doit pas tre facilement obtenu partir dun texte crypt.
Les cls ne doivent pas tre facilement obtenues partir dun texte crypt. Lespace des cls doit tre assez large pour rsister aux attaques brute-force.
Cryptanalyse
Principes et mthodes permettant de trouver un message clair partir dun message crypt sans connaissance de la cl. Attaques classifies selon le type de connaissance disponible pour lintrus (cryptanalyst). Connaissant C=E(P,K) mais pas K, lobjectif est de trouver P ou K. Types dattaques de cryptanalyse:
Cryptage symtrique
Exigences:
Y = EK(X) X = DK(Y)
Suppose que lalgorithme de cryptage est connu lavance. Les cls sont distribues travers des canaux scuriss. Exemples :
Cl 01010000111
Cryptanalyst
Texte clair
Voici le numro de ma carte de crdit 111111,
Cryptage
Internet
Dcryptage
Texte clair
Voici le numro de ma carte de crdit 111111,
Algorithme Symtrique
Message clair Message Message clair
chiffrement
Cl
chiffr
dchiffrement
Cl
Alice
Bob
Une seule cl: cl secrte Transformation et permutation. Traitement relativement rapide. Problme dchange et de gestion des cls. Usage : service de confidentialit
Principe: Traite les lments dentre de faon continue, produisant la fois un lment de sortie (crypt). La cl est aussi longue que le stream de donnes. Mode adapt pour la communication en temps rel: Pas besoin
dattendre larriv du block entier
La mme fonction et la mme cl est utilise pour crypter les blocks successifs. Implmentation dune manire logicielle en gnrale.
Algorithme Symtrique
Deux modes:
Mi-1 Mi
ECB Mode
Substitution
Remplacement de chaque lment (bit, lettre, groupe de bits ou de lettres) dans le texte clair par un autre lment. Rarrangement des lments du texte clair
Transposition
Etapes:
Cl = 3 Remplacer chaque lettre par celle qui la succde de trois (3). a devient d, b devient e, , y devient b, z devient c Lalgorithme peut tre dcrit comme suit:
Algorithme de cryptage et de dcryptage connu. Seulement 25 cls essayer. Le langage du message clair est connu et facilement identifiable.
Principe: Le texte clair est rcrit comme une squence de lignes, puis rordonne comme une squence de colonnes
Key: 4 3 1 2 5 6 7 o s t p o n e d u n t i l t w o a m x y z Ciphertext: TTNA APTM TSUO AODW COIX KNLY PETZ Plaintext: a t t a c k p
Cryptanalyse possible vue que lalgorithme prserve la frquence de distribution des lettres du texte original.
Chiffrement par blocs de texte clair: 64 bits (DES), 128 bits (AES). DES (cl 56 bits), 3DES (cl de 168 bits ou 112 bits).
RC2 (cl 128 bits), Blowfish (cl 128bits, jusqu' 448 bits), AES (cl 128, 192, 256 bits).
Algorithme Symtrique
Algorithme Nom et commentaires Type de chiffrement Longueur de Normalis la cl
DES
en bloc de 64 bits
56 bits
FIPS Pub 81,1981 ANSI X3.92, X3.105, X3.106 ISO 8372 ISO/IEC 10116
IDEA RC2
International Algorithm,
Data
RC4
enfil
variable Non, mais divulg sur 40/ 128 lInternet en 1994 bits Non et propritaire
RC5
SKIPJACK
Confidentiel dvelopp aux tats en bloc de 64 bits Unis par la NSA (National Security Agency - Agence de scurit nationale des tats Unis) pour des applications sur la carte PCMCIA Fortezza. en bloc de 64 bits
Triple DES
112 bits
ANSI X9.52
Cryptage symtrique
Avantages
Confidentialit des donnes. Rapidit, et facilit de mise en uvre sur des circuits. Problmatique de l'change de la cl de chiffrement tablissement pralable d'un canal sr pour la transmission de la cl Une tierce partie ne peut pas sassurer de lauthenticit des messages. Problme de la distribution des cls de cryptage Ncessit dtablir un canal scuris pour la transmission de la cl
Limitations
DES (Data Encryption Standard) IBM 1977 Lalgorithme de cryptage (Block cipher) cls symtriques le plus utilis. Crypte des blocks de 64 bits en utilisant des cls relativement courtes (taille effective 56-bit). Produit de transpositions et de substitutions. Implmentation facile en matriel.
Les tapes des cette laboration sont rests secrets, (la conception des S Boxes). Les S Boxes sont des tables qui dfinissent des permutation. Le message est dcoup en blocs de 64 bits. Initialisation : permutation de tous les bits formant ce bloc. On le coupe en deux parties : L0 et R0.
Algorithme DES
1 48 bits 3
Permutation initiale
Permutation finale
DES (tape 2)
Dcryptage
Block de 64 bits en entre
32 bits Li
32 bits Ri
32 bits Li+1
32 bits Ri+1
Fonction de cryptage
Fonction de cryptage
+ 32 bits Li 32 bits Ri
Fonction de cryptage
A
A- Fonction dexpansion
Division des 32 bits en des segments de 4 bits largir chaque segment de 4 bits avec les bits de ses voisins pour attendre 6 bits. XOR des 48 bits en sortie avec la cl.
1 2 3 4 5 6 7 8 9
32
1 2 3 4 5
4 5 6 7 8 9
B- Fonction de substitution
0 0 1 0 0 1
1110
01=1 0100=4
14
C Fonction de permutation
Chiffrement symtrique
La cl secrte est transforme en 16 parties Ki de 48 bits. Puis, on permute les deux parties en introduisant une fonction de la cl.
Ki reprsente la sous cl numro i obtenu partir de la cl secrte. Le calcul de f se fait de la manire suivante :
les 32 bits de la partie R sont tendue 48 bits grce une table appele E (Expansion). Ce nouveau R, E(R) pour tre plus prcis, est additionn Ki. Le rsultat est dcoup en huit suites Bi de six bits : Grce la table S-Box, les donnes de ces huit suites donne un rsultat de 32bits.
Il y a 8 S-Box, une pour chacun Bi. Chaque S-Box 16 colonnes et 4 lignes. Bi = b1b2b3b4b5b6. On calcule
r = b1b6
c = b2b3b4b5.
On regarde le nombre qui figure la ligne r et la colonne c. Il est cod sur 4 bits est correspond la sortie Si(Bi).
Ensuite on effectue une permutation reprsente par une table appele P et le rsultat de cette permutation est retourn par la fonction f.
Pour le dchiffrement, il suffit de faire lopration inverse.
Limites de DES
Les progrs en cryptanalyse et en lectronique a fait que la longueur 56 des cls est devenu un problme pour DES La taille de lensemble : {0,1}56 permet de retrouver la cl partir dun texte clair connu en faisant du brute force.
Utilise 2 ou 3 cls. Niveau de scurit satisfaisant. Permet de continuer lutilisation des boites S-Box et P-Box matriel et logiciel, en attendant la migration vers AES.
K3
Cryptage dcryptage Cryptage Cryptage
DES
Cryptage Cryptage
/ asymtrique
Cl publique: Connue par tout le monde, et peut tre utilise pour crypter des messages ou pour vrifier la signature. Cl prive: Connue par le rcepteur uniquement, utilise pour dcrypter les messages, ou pour crer la signature.
Si on crypte avec lune de ces cls le dcryptage se fait uniquement avec lautre. Impossible de trouver la cl prive partir de la cl publique.
Kpr: cl prive, Kpu: cl publique Y=fKpr(X) facile calculer si Kpr et X sont connus.
X=fKpu-1(Y) facile si Kpu et Y sont connus, mais impossible si Y est connu et Kpu non connue. Utilis gnralement pour Cryptage / dcryptage: assurer la confidentialit. Signature numrique: assurer lauthentification et la non rpudiation. Distribution de cls: se mettre daccord sur une cl de session.
Algorithme Asymtrique
Message clair Message Message clair
chiffrement
Cl 1
chiffr
dchiffrement
Cl 2
Deux cls : cl publique / cl priv. Traitement relativement lent. Exemple : RSA (Rivest Shamir Adleman). Usage: authentification, signature, change de cls.
Cl prive du rcepteur
Cryptage
Internet
Dcryptage
Texte clair
Voici le numro de ma carte de crdit 111111,
Texte crypt
Emetteur Rcepteur
Cryptographie asymtrique: scnarios dutilisation Scnario: authenticit de lmetteur et non rpudiation denvoi
Cryptage
Internet
Dcryptage
Chiffrement mixte
Texte Chiffr
Texte Clair
Cryptographie asymtrique: scnarios dutilisation Scnario: Distribution des cls de session (cls symtriques)
RSA
Dvelopp par Rivest, Shamir & Adleman MIT en 1977, publi en 1978. Le plus connu et le plus utilis comme algorithme de cryptage asymtrique : utilis pour le cryptage et la signature lectronique. Utilise des entiers trs larges 1024+ bits La scurit repose sur le cot de factorisation des entiers larges.
Diffie-Hellman
RSA: Algorithme
Etapes
1. 2. 3. 4. 5. 6. 7. Slectionner deux entiers premiers entre eux p et q Calculer n = p x q Calculer (n)=(p-1)(q-1) Slectionner e tel que: pgcd((n),e)=1 ; 1<e<(n)
Calculer d=e-1 mod (n) En dautre terme: d.e = 1 mod ((n)) Cl publique: Kpu={e,n} Cl prive Kpr = {d,n} Obtient une cl publique du rcepteur et calcule C= Me mod n
Pour crypter un message M < n, lmetteur: Pour dcrypter un message crypt C le rcepteur
RSA: Exemple
Cryptage Texte clair Texte crypt Dcryptage Texte clair
p = 17,
q = 11,
n = p x q= 187
Pour percer RSA, il suffit de pouvoir factoriser n. En effet, n est connu et si on le factorise, on obtient p et q puis j et connaissant j et d, on obtient e. Mais, la factorisation de n nest pas une chose facile. La factorisation de grands nombres suffit , elle seule, dissuader de nombreuses tentatives. En pratique, il y a deux difficults pour implmenter RSA. La premire est la gnration de grands nombres premiers (p et q) et la seconde est llvation de nombre des puissances trs grandes. Un standard de RSA est PKCS 1.
Exemples:
Thorme d'Euler:
Preuve de RSA
D(E(M)) = (Me mod n)d mod n = Me.d mod n On a: e.d = 1 (mod (n) ) = z x (n) + 1 Me.d = M
z x (n) + 1
= (Mz)(n) x M
= 1 x M (mod n)
Par hypothse RSA crypte des blocks de donnes de taille infrieure n (dcomposition en blocks) D(E(M)) = M
Avantages
Pas besoin dtablir un canal sr pour la transmission de la cl. Plusieurs fonctions de scurit: confidentialit, authentification, et non-rpudiation Gnralement dix fois plus lent que le cryptage symtrique. Problme dimplmentation sur les quipements disposants de faible puissance de calcul (ex: cartes bancaire, stations mobiles, etc.)
Inconvnient
Cls longues Complexit algorithmique de la mthode (ex: ralisation des oprations modulo n)
Solution: Utilisation du cryptage asymtrique pour lchange des cls secrtes de session d'un algorithme symtrique cls prives.
Fonction de hashage
Entre: message M avec contenu et taille arbitraire. Sortie: message de taille fixe h=H(M). La fonction de hachage permet dextraire une empreinte qui caractrise les donnes.
Une empreinte a toujours une taille fixe indpendamment de la taille des donnes. Etant donne h, il est difficile de trouver x tel que: h = H(x) Complexit de lordre de 2n, n est le nombre de bits du digest.
Irrversible:
Fonction de hashage
H (M) = C
Fonction de hashage
Texte clair
=?
Empreinte recalcule
Hachage
1)
Empreinte reue
=
Empreinte recalcule
2)
Empreinte reue
Empreinte recalcule
Irrversible
Soit y le rsultat de hachage, il est pratiquement infaisable de trouver x tel que h(x)=y. Soit x et y=h(x) , il est pratiquement infaisable de trouver xx tel que h(x)=h(x). Il est pratiquement infaisable de trouver deux valeurs distinctes x et x tel que h(x)=h(x).
Dvelopp en 1991
Gnre une empreinte de taille 128 bits en traitant les donnes dentre par blocs de 512 bits. Gnre une empreinte de taille 160 bits.
Plus fort que MD5.
Signature numrique
Principe de fonctionnement
Le Hash (rsultat de la fonction de hachage) dun message est crypt avec la cl prive de lmetteur. La cl publique est utilise pour la vrification de la signature M: message signer, H: fonction de hachage
Soit:
Signature
Message
Cl Prive de L'Expditeur
Condenst
Signature
Signature
Condenst
?
Cl publique du signataire
Signature
Condenst
Signature
Intgrit du message
Authentification
Non-rpudiation
Texte clair
Fonction de Hachage
Cryptage Asymtrique
Empreinte
Processus de Gnration de la Signature numrique
Hachage
Cl publique de lmetteur
Empreinte recalcule
=?
Signature numrique
Dcryptage
Empreinte reue
1)
Empreinte reue
=
Empreinte recalcule
2)
Empreinte reue
Empreinte recalcule
Emetteur
Transmission du message, du rsultat de hachage crypt, et des informations relatives aux algorithmes utiliss
Rcepteur
Signature incorrecte
Rsultats diffrent
Rsultats gaux
Emetteur du message authentifi, message intgre, et lmetteur ne peut pas rpudier lenvoi
Intgrit
Certificat (1/2)
Certificat (2/2)
texte en clair condenst Algorithme de hachage cl prive de l'metteur signature numri que (sceau)
cl DES gnre alatoirement pour chaque message certi fi cat de l'metteur message envoy
Message OAEP
Benchmarks
Dure du traitement
RSA : dchiffrement
2,87 Koctet/s
36 250 Koctet/s
Standards PKCS
PKCS#1 : RSA Encryption Standard PKCS#3 : Diffie-Helman Key Agreement Standard PKCS#5 : Password-Based Encryption Standard PKCS#6 : Extended-Certificate Syntax Standard PKCS#7 : Cryptographic Message Syntax Standard PKCS#8 : Private-Key Information Syntax Standard PKCS#9 : Selected Attribute Types