40 0 2MB
Sécurité des réseaux informatiques A.Tragha Semestre3 : 2012-2013 Master Qualité du Logiciel
Plan du cours 1. 2. 3. 4. 5. 6.
Généralité Objectif et critères Aspects généraux Les techniques à utiliser (les méthodes de sécurité) Les protocoles de sécurité Mécanismes de défense 2
1. Généralités
Le système d’information est l’ensemble des éléments participant à la gestion, au stockage , au traitement, au transport et à la diffusion de l’information dans l’entreprise.
La sécurité des réseaux informatiques est un sujet essentiel pour favoriser le développement des échanges dans tous les domaines. La sécurité recouvre à la fois l'accès aux informations sur les postes de travail, sur les serveurs ainsi que le réseau de transport des données. 3
2. Objectif et critères
L’objectif de la sécurité est de protéger l’information contre l’accès, la diffusion, la destruction et la modification illégitimes tout en garantissant sa disponibilité et son intégrité
Les critères de sécurité sont: • • • • •
La disponibilité L’intégrité La confidentialité L’authentification La non répudiation (la traçabilité ou la preuve) 4
3. Aspects généraux de la sécurité informatique 3.1 3.2 3.3 3.4 3.5
Les menaces Objectifs des attaques Stratégies de sécurité Le risque La politique de sécurité
5
3.1 Les menaces
Une menace correspond à une méthode d’attaque résultant d’un élément menaçant.
L’élément menaçant peut être :
• Un humain • La nature • L’environnement (logiciel, matériel, …) La méthode d’attaque peut être d’origine: – Volontaire (malveillance); – Accidentelle – Involontaire c.à.d une erreur (une action ou une absence d’action : maladresse, négligence, inconscience) 6
3.1 Les menaces
(suite)
La méthode d’attaque peut être de nature – Technique: • Logiciel: virus, cheval de Troie, espiogiciel, vers … • Matériel: défaillance matérielle • Environnement: incendie, inondation, climatisation
– Humaine : • Ingénierie sociale • Espionnage
– Juridique, financière: • Législation relative à la cryptographie, à la vie privée, aux licences et à la gestion des documents d’archives 7
3.2 Objectifs des attaques
Désinformer Empêcher l’accès à une ressource Prendre le contrôle d’une ressource Récupérer de l’information présente sur le système Utiliser le système compromis pour rebondir Constituer un réseau de «botnet» (ou réseau de machines zombies)
8
Les botnets:
La notion de botnet date des réseaux IRC Internet Relay Chat (début 1990) Réseau de machines contrôlées par un "bot herder" ou "bot master" Estimation : une machine sur quatre fait partie d’un botnet (environ 154 millions –Vinton Cerf à Davos2007)
9
Un botnet peut être utilisé pour – Envoyer du spam – Vol d’informations sensibles (avec un keylogger par exemple) – Installer des spywares – Paralyser un réseau en déni de services – Installer un site web malicieux (phishing) – Truquer les statistiques de sites webs (sondage en lignes authentifiés par des des adresses IP, rémunération sur des clics de banières, …) –…
10
Quelques chiffres:
-Jeanson
James Ancheta, condamné en 2006 à 57 mois de prison ferme et trois ans de libertés surveillées, à la tête d’un botnet estimé à 400 000 machines . - Pirate connu sous le pseudo de "0x80"
Retour 11
3.3 Stratégies de sécurité
Il existe 2 principales stratégies: – La défense en profondeur consiste à sécuriser indépendamment chaque sous ensemble du système
– La protection périphérique
12
3.4 Le risque
Le risque est l’appréciation d’une menace en fonction de la probabilité et l’impact de sa réalisation.
L’impact peut être apprécié de manière qualitative ou quantitative (y compris monétaire)
Vulnérabilité + menace = risque 13
3.4 Le risque (Suite)
La vulnérabilité d’un système traduit son exposition au risque. Un système est d’autant plus vulnérable que la probabilité de réalisation et l’impact des menaces sont importants
La vulnérabilité global d’un système résulte de la somme des vulnérabilités marginales du système aux différents menaces 14
3.5 La politique de sécurité
La sécurité du SI doit traiter l’ensemble des éléments qui le compose: – La sécurité physique – La sécurité des zones d’hébergement – La sécurité des réseaux et de leur interconnections – La sécurité des systèmes d’exploitations – La sécurité des données – La sécurité des applications – La sécurité des utilisateurs 15
3.5 La politique de sécurité (Suite)
Une politique de sécurité est un ensemble d’orientation fixée en matière de sécurité. Elle est déclinée par les entités responsable de la sécurité. Ceci se traduit généralement sous la forme de : – règles et procédures à respecter – La mise en place d’outils techniques contribuant au respect de ces règles – Formations des utilisateurs sur les comportements à savoir – Actions à entreprendre et personnes à contacter en cas de détection d’un problème 16
Étapes types pour établir une politique de sécurité 1.
Identification des vulnérabilités – En mode fonctionnement normal (définir tous les points faibles) – En cas d’apparition de défaillances
2.
3. 4. 5. 6.
Évaluation des probabilités associées à chacune des menaces Évaluation du coût d’une intrusion réussie Choix des contre-mesures Évaluation des coûts des contre-mesures Décision 17
Complément à la politique de sécurité
Le plan de continuité: le but est de limiter les éventuelles conséquences d’une catastrophe et de définir les opérations à mener en cas de réalisation d’une menace
18
4. Moyens techniques Contrôle d’accès Protection des données Surveillance du réseau Protection applicative (séparation des privilèges) Audit
19
Pourcentages des différentes causes de pertes Actions malveillantes 23% Risques accidentels 40% Pannes et erreurs 37%
Parmi les causes des actions malveillantes: - Le développement de l’informatique - La complexité croissante plus grande vulnérabilité - L’ambiance de non sensibilisation aux problèmes de sécurité 20
Exemples de menaces malveillantes
Déguisement Pour entrer dans un système on essaye de piéger des usagers et de se faire prendre pour quelqu’un d’autres.
Par exemple: simulation d’interface de système sur écran, simulation de terminal à carte bancaire.
21
Exemples de menaces malveillantes
Répétition ("replay") Espionnage d’une interface, d’une voie de communication (téléphonique, réseau local) pour capter des opérations (même cryptées, peuvent être utilisables) Répétition de l’opération pour obtenir une fraude Comme le cas d’une même opération d’accréditement d’un compte bancaire. 22
Analyse
de trafic
On observe le trafic de messages échangés pour en déduire des informations sur les décisions de quelqu’un Exemple : Bourse: augmentation des transitions sur une place financière Militaire: le début de concentration entraine un accroissement de trafic important 23
Inférence
On obtient des informations confidentielles non divulguables à partir de questions autorisées (et d’un raisonnement visant à faire ressortir l’information) Exemple: Le fichier de l’hôpital (la divulgation est interdite par la loi) Mais autorise des opérations statistiques. 24
Répudiation (déni de service) Un usager d’un service (informatique) affirme n’avoir pas : émis ou reçu un ordre qui le gène posteriori (commande. Virement, …)
Modification de messages ou des données Une personne non autorisée, un usage ou même un agent autorisé s’attribuent des avantages illicites en modifiant un fichier ou un fichier
Modification de programmes – À caractères frauduleuses pour s’attribuer par programme des avantages (Par exemple: virement des centimes sur un compte) – À caractères sabotage Pour détruire avec plus ou moins de motivations des systèmes ou des données 25
Deux types de modifications – Infections informatiques à caractère unique Bombe logique ou cheval de Troie Dans un programme normal on introduit un comportement illicite Mis en action par une condition de déclenchement ou trappe (la condition, le moment ou l’on bascule d’un comportement normal à anormal) Par exemple licenciement de l’auteur du programme, date quelconque. – Infection auto reproductrices Infection informatique simple (du type précédent) qui contient de plus une partie de recopie d’elle-même afin d’en assurer la propagation
Virus: à action brutale. Ver: à action lente (détruisent progressivement les ressources d’un système) 26
Les méthodologies de sécurité Méthode d’Analyse de Risques Informatiques Optimisée par Niveau (MARION) La Méthode d'évaluation de la vulnérabilité résiduelle des systèmes d'information MELISA La méthode Harmonisée d'Analyse du Risque Informatique (MEHARI) Expressions des Besoins et Identification des Objectifs de Sécurité (EBIOS) la méthode Feros La
http://www.clusif.asso.fr/ 27
La méthode Marion C’est une méthode d'audit, proposée depuis 1983 par CLUSIF: le Club des Utilisateurs de La Sécurité Informatique Français, visant à évaluer le niveau de sécurité informatique d'une entreprise. L'objectif est double :
– Situer l'entreprise auditée par rapport à un niveau jugé correct, et par rapport au niveau atteint par les entreprises similaires – Identifier les menaces et vulnérabilités à contrer.
Il existe trois approches: Marion-AP Marion-PME Marion-RSX
28
La méthode Marion Les 6 étapes d’élaboration du Schéma Directeur de Sécurité du Système d’Information (SDSSI) 1. 2. 3.
4. 5.
6.
Analyse des risques Expression du risque maximum admissible Analyse des moyens de la sécurité existants Évaluation des contraintes techniques et financières Choix des moyens de sécurité Plan d’orientation 29
1. 2. 3.
4.
5.
6.
Établir de scénarios de risques courus par l’entreprise Calculer la perte maximale subie par l’entreprise face à des événements mettant sa suivie en péril. Identifier et qualifier les moyens de la sécurité (organisation générale, physique et logique). Recenser des contraintes générales, techniques, humaines et déterminer un budget pour la prévention et la protection. Choisir les moyens à mettre en œuvre ou à améliorer pour supprimer les risques en fonction des contraintes et du coût parade/risque. Définir le plan technique détaillé et rédiger la version finale du SDSSI.
30
La méthode Melisa Délégation générale à l’armement 1985 MELISA S : Confidentialité des données sensibles MELISA P : Pérennité de fonctionnement du système MELISA M : Sécurité micro min informatique MELISA R : Sécurité réseau
31
La méthode Mehari
Conçue pour être adaptable au contexte de l’entreprise Dérivée des méthodes Marion et Melisa Existe en Français et en anglais utilisée par plusieurs structures publiques et privées en France et en Canada.
32
La norme ISO 17799
33
5. Mécanismes de défense 5.1 Chiffrement 5.1.1 Cryptographie symétrique 5.1.2 5.1.3
Cryptographie asymétrique Cryptographie hybride
5.2 Hachage 5.2.1 Propriétés mathématiques 5.2.2 Principes 5.2.3 Exemples
5.3 Signature électronique 34
Bibliographie
Cours de cryptographiie – Gilles Zemor, Edition Cassini Introduction aux méthodes de la cryptographie – Brassart, Beckett Cryptographie applliiquée – Bruce Schneier HANDBOOK of. APPLIED. CRYPTOGRAPHY. – Alfred J. Menezes. Paul C. van Oorschot • http://cacr.uwaterloo.ca/hac Chryptographiie theoriie et pratiique – Douglas Stinson
35
Le chiffrement L’étude des méthodes permettant de transmettre ou stocker des données de manière confidentielle. Il s’agit d’appliquer une transformation à des données (afin de les protéger) qui les rend incompréhensible: c’est ce qu’on appelle le chiffrement, se fait généralement à l’aide d’un algorithme cryptographique à base de clefs. Inversement, le déchiffrement est l’action qui permet de reconstruire le texte en clair à partir du texte chiffré et d’une clef. 36
Clef de chiffrement
Texte en Clair
Texte chiffré (cryptogramme)
Chiffrement
Déchiffrement Cryptanalyse Clef de déchiffrement
Texte en clair ou la clef
Texte en Clair 37
La Cryptanalyse C’est l’étude des procédés cryptographiques dans le but de trouver des faiblesses afin de retrouver le texte en clair, c’est ce qu’on appelle cassage ou attaque du chiffrement C’est la science qui permet le recouvrement des données sans connaître la clé de chifrement. L’objectif est de casser les cryptosystèmes dans un temps inférieur à celui nécessaire pour une attaque brute force38
La Cryptanalyse
Quatre techniques principales de cryptanalyse : 1. 2. 3. 4.
Ciphertext-only attack Known-plaintext attack Chosen-plaintext attack Adaptative-plaintext attack
39
Propriétés importantes
Le chiffrement est équivalent à une fonction sur l’espace des textes (messages) Ek qui dépend d’un paramètre k (la clé) Ek M Ek(M)=C Le déchiffrement est aussi une fonction Dk’ C
Dk’
Dk’(C)=M
telle que: Dk’(Ek(M))=M càd: Dk’ est la fct inverse de Ek
On estime que la sécurité ne doit pas dépendre du secret des algorithmes E et D mais uniquement du secret des clés k et k’ 40
5.1.1 Cryptographie Symétrique : Principes Les deux parties communicantes utilisent un algorithme symétrique et une même clé pour chiffrer et déchiffrer les données Une clé symétrique appelée aussi clé de session est une séquence binaire aléatoire dont la longueur dépend de l’algorithme Un algorithme est une séquence de transformations sur les données et la clé
41
Cryptographie Symétrique : Principes Clé 01010000111
Clé 01010000111
Texte clair
Chiffrement
Voici le numéro de ma carte de crédit 111111,
Internet
Déchiffrement Texte clair Voici le numéro de ma carte de crédit 111111,
☺☼♀☻ ♠♣▼╫◊ ♫◙◘€£ ¥₪Ω٭
Texte chiffré Emetteur
Récepteur
42
Cryptographie Symétrique : Modes Opérationnels
Cryptage par flux – Opère sur un flux continu de données – Mode adapté pour la communication en temps réel – Implémenté en général sur des supports hardwares
Cryptage par bloc – Opère sur des blocs de données de taille fixe – Implémentation logicielle en générale 43
Cryptographie Symétrique :
Opérations de Base – Substitution – Transposition – Opérations algébriques simples
Caractéristiques – Rapide – Bien métrisée
44
Data Encryption Standard DES En 1973, le National Bureau of Standards des États-Unis lance un appel d’offre pour un système de cryptographie. En 1975 DES, développé par IBM est adopté. Cryptosystème le plus utilisé dans le monde. Chiffrement de blocs de 64 bits. Clef de 56 bits (72 057 594 037 927 936 clefs).
45
46
DES X est le texte clair de 64 bits. (G0, D0) = PI(X) Pour i =1 à 16 (Gi, Di) = (Di-1, Gi-1 ++ F(Di-1,Ki)) Y = PI-1(D16,G16) Y est le texte chiffré de 64 bits. Chaque ki est une chaîne de 48 bits provenant de K. Pour déchiffrer, on utilise le même algorithme avec les clefs Ki utilisées dans l’ordre inverse.
47
48
DES Seulement 56 bits de la clef de 64 bits sont utilisées. Les 8 autres sont des bits de vérification. K1 10 51 34 60 49 17 33 57 2 9 19 42 3 35 26 25 44 58 59 1 36 27 18 41 22 28 39 54 37 4 47 30 5 53 23 29 61 21 38 63 15 20 45 14 13 62 55 31
K2,…,K16 ont chacun leurs tableau spécifique.
49
DES IP 58 50 42 34 26 18 10 60 52 44 36 28 20 12 62 54 46 38 30 22 14 64 56 48 40 32 24 16 57 49 41 33 25 17 9 59 51 43 35 27 19 11 61 53 45 37 29 21 13 63 55 47 39 31 23 15
2 4 6 8 1 3 5 7
40 39 38 37 36 35 34 33
IP-1 8 48 16 56 24 64 32 7 47 15 55 23 63 31 6 46 14 54 22 62 30 5 45 13 53 21 61 29 4 44 12 52 20 60 28 3 43 11 51 19 59 27 2 42 10 50 18 58 26 1 41 9 49 17 57 25
50
DES Ri=F(Ri-1,Ki) Ri-1: 32 bits Ki: 48 bits Ri: 32 bits E: 32 bits dans 48 bits Si: 6 bits dans 4 bits B1B2B3B4B5B6B7B8 = E(Ri-1)+Ki
Ri=P(S1(B1)S2(B2)…S8(B8))
51
DES P 16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10 2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25
E 32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 1
52
DES Bj=b1b2b3b4b5b6
li=b1b6
ci=b2b3b4b5
S1
14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13
S2,…,S8 ont leurs tableaux respectifs 53
DES: Diversification des clefs
54
Briser DES De nos jours, une machine comportant 1024 processeurs de 1 GHz, spécialisée pour le problème peut explorer toutes les clefs en moins d’une journée. DES n’offre plus un niveau de sécurité acceptable mais est toujours utilisé. 3DES a remplacé DES, qui paraît plus sûr mais il est extrêmement lourd
55
Triple DES
56
Autres crypto-systèmes symétriques Plusieurs autres crypto-systèmes à clef secrète sont aussi utilisés: BLOWFISH IDEA SEAL AES RC4 ...
57
Advanced Encryption Standard (Rijndael): AES
Développé par Vincent Rijmen et Joan Daemen Standard cryptographique depuis l’année 2000 Sélectionné parmi une vingtaine d’algorithmes qui ont participés à un concours lancé par NIST Chiffrement par bloc de taille 128 bits à l’aide d’un réseau de substitutions et de permutations. Utilise des clés de tailles 128, 192 et 256 bits respectivement en 10, 12 et 14 rondes.
58
International Data Encryption Algorithm: IDEA
Chiffrement par bloc de 64 bits en 8 rondes avec une clé de 128 bits. Facilement réalisable en matériel ou en logiciel Les opérations utilisées sont des opérations arithmétiques: Ou exclusif Addition modulo 216 + Multiplication modulo 216+1 Les attaques semblent difficile mais le système est assez récent. 59
IDEA : Schéma (1 )
X1(1 ) (1 )
Z1
Un étage IDEA
Z2
Z5
X3 (1 )
X2 (1 ) (1 )
(1 )
Z3
X4
(1 )
(1 )
Z4
(1 )
(1 )
Z6
Clés générées à partir de la clé initiale par déc oupage et déc alage
7 autres étages 60
Les limites de la cryptographie symétrique
L’échange des clés Utilisateur A Utilisateur J
Utilisateur B
Utilisateur C
Utilisateur I
Utilisateur D
Utilisateur H
Utilisateur E Utilisateur F Utilisateur G
61
Problème de l’échange de clef Même avec un crypto-système très sécuritaire, un problème subsiste. Il faut distribuer les clefs secrètes qui seront utilisées sans qu’elles soient interceptées par des curieux. Ces clefs peuvent être échangées à l’aide d’un courrier diplomatique ou en temps de guerre, elles peuvent être distribuées aux unités avant leur départ. Qu’arrive-t-il si on manque de clefs? Pas très pratique sur Internet! Y a-t-il une solution? 62
Cryptographie Symétrique : Avantages et Inconvénients +
Assure la confidentialité des données
Souffre d’un problème de distribution de clés - Problème de Gestion des clés - Pas de garantie d’intégrité et de signature -
63
64
5.1.2 Cryptographie Asymétrique : Principes
Chaque personne dispose d’une paire de clé : – Clé privée
: connue uniquement par son propriétaire – Clé publique : publiée dans des annuaires publiques
Si on chiffre avec l’une de ces clés le déchiffrement se fait uniquement avec l’autre. 65
Cryptographie Asymétrique : Problèmes mathématiques Les
algorithmes asymétriques sont des fonctions mathématiques basées sur des problèmes mathématiques très compliqués.
Ces
fonctions sont appelées one way trap door functions.
La résolution de ces problèmes est pratiquement impossible sans connaître un paramètre (l’une des clés)
66
Cryptographie Asymétrique : Problèmes mathématiques
La factorisation des grands nombres – Trouver les facteurs premiers pour un nombre donné (n=p·q) – Opération qui consomme beaucoup de temps
Logarithme discret – Étant donnés deux nombres a et b inférieurs à un nombre premier n, trouver le nombre k tel que a = bk [mod n] par exemple: 3k=5 mod 7 – Certains problèmes de logarithmes discrets n’ont pas des solutions
67
Cryptographie Asymétrique: 1er Mode Clé privée du récepteur
Clé publique du récepteur
Texte clair
Chiffrement
Voici le numéro de ma carte de crédit 111111,
Internet
Déchiffrement Texte clair Voici le numéro de ma carte de crédit 111111,
☺☼♀☻ ♠♣▼╫◊ ♫◙◘€£ ¥₪Ω٭
Texte chiffré Emetteur
Récepteur
68
Cryptographie Asymétrique: 1er Mode
Ce mode assure la confidentialité des données Confidentialité
69
Cryptographie Asymétrique: 2ème Mode Clé publique de l’émetteur
Clé privée de l’émetteur
Texte clair
Chiffrement
Voici le numéro de ma carte de crédit 111111,
Internet
Déchiffrement Texte clair Voici le numéro de ma carte de crédit 111111,
☺☼♀☻ ♠♣▼╫◊ ♫◙◘€£ ¥₪Ω٭
Texte chiffré Emetteur
Récepteur
70
Cryptographie Asymétrique:2ème Mode
Ce mode assure l’authenticité de l’émetteur ainsi que la non-répudiation
Authentification
Non-Répudiation
71
Cryptographie Asymétrique: Exemples
RSA (Ron Rivest, Adi Shamir et leonard Adelman) : algorithme utilisé pour le cryptage et la signature électronique. Diffie-Hellman : algorithme utilisé pour l’échange et la distribution des clés asymétriques.
72
RSA: Chiffrement et déchiffrement
Chiffrement (publique) La clé publique est un couple d’entiers: k=(e,n) Le chiffrement se fait au moyen de l’élévation à la puissance e modulo n: Ek(M)=Me mod n Déchiffrement (secrète) La clé secrète est un couple d’entiers: k=(d,n) Le déchiffrement se fait au moyen de l’élévation à la puissance d modulo n: Dk(C)=Cd mod n 73
RSA :Détermination des clefs
Détermination de n: Trouver deux entiers premiers p et q très grands et calculer n=p.q p et q doivent rester secrets: la sécurité du système repose sur la difficulté de factoriser n Actuellement n doit avoir un longueur supérieure à 1024 bits. p et q doivent vérifier diverses autres conditions. Détermination de e : Calculer z = (p-1)(q-1) Choisir un entier e premier avec z. La clé publique est ( e , n ) Détermination de d: Choisir un entier d tel que : e d =1 mod z (d inverse de e dans l'arithmétique mod z) La clé privée est ( d , n ) 74
RSA: réversibilité
Fonction d'Euler Pour n entier z = f(n) est le nombre d'entiers premiers avec n - si n est premier f(n) = n-1 - si n = p.q avec p et q premiers f(n) = (p-1)(q-1) Théorème d'Euler Si a et n sont premiers entre eux af(n) mod n = 1 Pourquoi RSA marche DK(Ek (M)) = ((M)e mod n)d mod n = (Me)d mod n = Me.d mod n Mais on a choisi e.d = 1 mod z Donc il existe un entier j tel que e.d = j z + 1 Me.d = Mj.z M mod n = M mod n En effet d’après le théorème d’Euler: Mj.z mod n = (Mz)j mod n = (1)j = 1 75
Exemple 1) Soit deux entiers premiers p =47,q =71 n = p.q = 3337 2) z= (p-1)(q-1)= 46 . 70 = 3220 Choisissons e = 79 (premier avec z) 3) Calcul de l'inverse de e modulo z Une solution possible: le théorème d'Euler e (n) = e.e(n)-1 mod z =1 mod z Donc d = e-1 = e(n)-1 mod z Numériquement 7978 (mod 3220) = 1019 76
Exemple (suite) Pour chiffrer M = 6882326879666683 Décomposons M en blocs dont la valeur est inférieure à n= 3337 => Des blocs de 3 chiffres M= 688 232 687 966 668 3 Chiffrer 688: 68879 mod 3337 = 1570 E(M) = 1570 2756 2091 2276 2423 158 Déchiffrer 1570:15701019 mod 3337 = 688
77
RSA: Calcul des nombres premiers: Algorithmes probabilistes de Miller Rabin Tirer aléatoirement un nombre p impair; Soit m impair tel que p=2km+1, Soit a un nombre aléatoire tel que 1a p-1; b:=am mod m; Si b 1 mod p alors test :=faux fsi Sinon i:=1;test:=vrai; tant que i k-1 et test:=faux Si b -1 mod p alors test:=faux fsi Sinon b:=b2 mod p fsi ftq si test=vrai réponds p est premier sinon réponds p est décomposable fsi
Prob (p décomposable et réponds premier) 1/4 78
RSA calcul des puissances modulo n Calcul de z= Me mod n On note e(i) le ième bit dans la décomposition binaire de e t 1
e e(i ).2 i i 0
z:=1; Pour i=t-1 à 0 faire z:=z2 mod n; si e(i)=1 alors z:=z.M mod n fsi fpour
79
Exemple calcul de 15701019 mod 3220 La représentation binaire de 1019 est 1111111011 d‘où t=10
i e(i) z z2 mod n z2.Me(i) mod n 9 1 1 1 1570 8 1 1570 2194 796 7 1 796 2923 735 6 1 735 2968 1308 5 1 1308 2320 1733 4 1 1733 3326 2752 3 1 2752 1851 2880 2 0 2880 1955 1955 1 1 1955 1160 2535 0 1 2535 2500 688 80
RSA: performances L ’algorithme précédent est en O(3t) multiplications. Multiplications sur 512 Bits= 64 multiplications en moyenne sur 32 bits. 192 multiplications pour l’élévation à la puissance. Utiliser des longueurs de clés de plus en plus importantes Valeurs utilisées 512 bits, 640 bits, 1024 bits (considéré comme assez sûr pour plusieurs années) 2048 bits Utiliser des circuits intégrés de cryptage de plus en plus performants Actuellement une dizaine de circuits disponibles. Vitesse de cryptage de base pour 512 bits: de 10 à 100 Kb/s Évolution en cours de l'ordre de 1 Mb/s Remarque: Compte tenu de la complexité des traitements le DES est environ toujours 100 fois à 1000 fois plus rapide que le RSA. 81
RSA: faiblesses d’implantation Ne jamais utiliser une valeur de n trop petite,
Ne pas utiliser une clef secrète trop courte N'utiliser que des clefs fortes, c'est à dire telles que p-1 et q-1 ont un grand facteur premier Ne pas chiffrer des blocs trop courts(les compléter tjrs à n-1 bits) de façon à détruire toute structure syntaxique Ne pas utiliser un n commun à plusieurs clefs, si ces clefs peuvent être utilisées pour chiffrer un même message. Si une clef secrète (d , n) est compromise, ne plus utiliser les autres clefs utilisant n comme modulo Ne jamais chiffrer ou authentifier un message provenant d'un tiers sans le modifier (ajouter qlqs octets aléatoires par exple) 82
RSA: Cryptanalyse On montre que le calcul d’une des clefs à partir de l’autre est équivalent au problème de la factorisation de n
On n’a pas encore montré que la cryptanalyse du RSA est équivalente au problème de la factorisation Complexité temporelle du meilleur algorithme séquentiel de factorisation (crypte algébrique)
1,92 o (1)(log(n )1 / 3 (log log(n )) 2 / 3
O(e
) 83
RSA: Cryptanalyse Actuellement un calcul en parallèle utilisant quelques milliers d'ordinateurs pendant quelques mois permet de factoriser des nombres d'une centaine de chiffres (400 bits) Utiliser des n de taille 1024 ou 2048 bits selon la protection cherchée est de moins ou plus de cinq ans. Prévoir un moyen pour augmenter cette valeur par surchiffrement ou déchiffrement suivi d'un rechiffrement. 84
RSA cartes bancaires Limitation des calculs du fait de la puissance de calcul disponible. n sur 320 bits (de l'ordre de 95 chiffres)
clé publique de 3 chiffres pour tout le monde
85
RSA: Conclusions Solution assez générale. Utiliser le RSA brièvement au début d'un échange pour échanger des clés symétriques de session d'un algorithme efficace
Efficacité en sécurité La méthode est officiellement sûre si l'on respecte certaines contraintes de longueur de clés et d'usage. Depuis 2500 ans, personne n'a trouvé de solution rapide au problème de la factorisation ... 86
Cryptographie Asymétrique : Avantages et Inconvénients + +
-
Assure l’authentification et la nonrépudiation N’est pas limité par la distribution des clés Système très lent
87
5.1.3 La cryptographie
hybride le système PGP
Le PGP (Pretty Good Privacy) est un algorithme de chiffrement à destination des particuliers. Il est surtout utilisé pour chiffrer des messages envoyés par courrier électronique, même s'il peut aussi être utilisé pour chiffrer tous les fichiers. PGP a été mis au point en 1991 par l'informaticien américain Philip Zimmermann, et ceci lui valut divers problèmes avec la justice. PGP utilise le meilleur de la cryptographie symétrique (rapidité du chiffrement) et de la cryptographie asymétrique (sécurité de l'échange de clés). 88
Fonctionnement du PGP PGP fonctionne suivant le principe suivant : 1- Compression : le texte à envoyer est compressé. Pour réduire le temps de transmission des données, et améliorer également la sécurité en détruisant les modèles du texte (fréquences des lettres, mots répétés) qui sont souvent utilisés dans la cryptanalyse. 2- Chiffrement du message : une clé de session aléatoire est générée, et le message est chiffré par un algorithme symétrique à l'aide d'une clé de session. 3- Chiffrement de la clé de session : la clé de session est chiffrée en utilisant la clé publique du Destinataire (et l'algorithme RSA). 4- Envoi et réception du message : l'expéditeur envoie le couple message chiffré / clé de session chiffrée au Destinataire. 89
90
5.2 Fonctions de Hachage : Propriétés Mathématiques
Fonctions à sens unique : pour un entier x, il est simple de calculer H(x), mais étant donner H(x), il est pratiquement impossible de déterminer x
91
Fonctions de Hashage : Mathématiques
Propriétés
La fonction de hachage permet d’extraire une empreinte qui caractérise les données Une empreinte a toujours une taille fixe indépendamment de la taille des données Il est pratiquement impossible de trouver deux données ayant la même empreinte
92
Fonctions de Hachage : Principes Texte clair
Texte clair Internet =?
Hachage Empreinte
1)
=
Empreinte reçue
Hachage Empreinte recalculée
Le texte reçu est intègre
Empreinte Empreinte reçue recalculée
2)
≠ Empreinte Empreinte reçue recalculée
Le texte reçu est altéré 93
Fonctions de Hachage : Exemples
MD5 : Message Digest 5 – Développé par Ronald Rivest. – Génère une empreinte de taille 128 bits
SHA-1 : Secure Hash algorithm – Développé par NIST (National Institute for Standards and Technology) – Génère une empreinte de taille 160 bits
94
Fonctions de Hachage : Avantages
Introduction à la Cryptographie 5aa769e719f153611c3d0dbb4bb02e23 af575f3a9216b4158bdcd2c4201d6527
Introduction à la cryptographie
95
5.3 Signature Électronique Application de la Cryptographie :
C’est un processus similaire à, voir plus puissant que la signature manuscrite
Intégrité
Authentification
C’est un processus qui engage la signataire vis-àvis de la réglementation (loi 53-05 de Février 2007 et les textes d’applications y afférents)
Non Répudiation
96
Signature Électronique : Création Clé privée du signataire
Texte clair
Hachage
Chiffrement Empreinte
Signature Électronique
Processus de Création de la Signature Électronique 97
Signature Électronique : Vérification Texte clair
Hachage
Clé publique de l’émetteur
Signature Electronique
Empreinte recalculée
=?
Déchiffrement Empreinte reçue
1)
= Empreinte Empreinte reçue recalculée
La signature reçue est correcte
2)
≠ Empreinte Empreinte reçue recalculée
La signature reçue est incorrecte
98
Signature Électronique VS Signature Manuscrite Les deux signatures assurent l’authentification du signataire ainsi que la non-répudiation La signature électronique, seule, assure l’intégrité des données
99
Nouvelles Tendances en Cryptographie Cryptographie elliptique et hyper-elliptique:
Re-écriture de certains algorithmes à clé publique dans des structures algébriques spécifiques
Niveau de sécurité élevé avec des clés de tailles faibles
Intégration dans les plateformes à faibles ressources (smart card, javacard, GSM,… etc) 100
Nouvelles Tendances en Cryptographie Cryptographie quantique
Cette technologie est basée sur l’incertitude naturelle dans le domaine quantique
Les règles de physique sécurisent ces systèmes contre les attaques
Les données sont représentées sous forme de chaînes de photons
La clé de chiffrement et de déchiffrement est représentée par la polarisation de l’émetteur et du capteur 101
Conclusion
La cryptographie permet de satisfaire les besoins en sécurité.
Le crypto-système symétrique souffre d’un problème de distribution de clés, pour cela son utilisation doit être combinée avec le crypto-système asymétrique.
102
Conclusion
Les crypto-systèmes asymétriques souffrent d’une vulnérabilité dite : Man In The Middle Attack
ES EC
EH EH
Solution : Certificats électroniques 103
Algorithme de Diffie-Hellman
Jusqu'en septembre 2002, RSA était - aux Etats-Unis breveté, donc non utilisable librement. Les internautes ont donc rapidement adopté DiffieHellman en remplacement. Le but de l'algorithme Diffie-Hellman est de créer un secret commun aux personnes qui veulent communiquer et d'utiliser ce secret pour chiffrer les données échangées
104
Algorithme de Diffie-Hellman Chez Alice
Publique (internet)
Ax = nombre aléatoire p = nombre premier arbitraire (privé) g = nombre aléatoire < p Ay = gAx modulo p Ay By s = ByAx modulo p échange de données chiffrées avec s
Chez Bob
Bx = nombre aléatoire (privé) By = gBx modulo p Ay By s = AyBx modulo p
Exemple: On choisit un nombre premier arbitraire commun: p = 419 et un nombre aléatoire commun inférieur à p: g = 7 Alice choisit un nombre aléatoire secret : Ax = 178 Ay = 7178 modulo 419 = 208 envoyer à Bob Bob choisit un nombre aléatoire secret : Bx = 344 By = 7344 modulo 419 = 49 envoyer à Alice s = 49178 modulo 419 = 107 = 208344 modulo 419 105
Algorithme de Diffie-Hellman
Le pirate peut intercepter Ay et By mais il lui est très difficile d'en déduire Ax et Bx (c'est sur ce principe que repose la sécurité de l'algorithme). Ainsi il ne peut pas déduire le secret s.
Diffie-Hellman permet de crée un secret commun (et donc de chiffrer des communications) mais contrairement à RSA, il ne permet pas de signer des documents. C'est pour cette raison que Diffie-Hellman est souvent associé à DSS (Digital Signature Standard, un autre algorithme). DSS permet de signer les documents. On voit donc souvent le sigle DH associé à DSS: DH/DSS.
106
Algorithme de Diffie-Hellman Une fois dans son coin, • A calcule k=By^Ax mod n et • B calcule k'=Ax^By mod n. Remarquer que : k=k'=g^AxBy mod n. chose de très intéressant Ainsi, A et B ont réussi à créer un clef privée dont ils sont les seuls détenteurs et le pirate malgré la vision qu'il a eut de l'échange ne peut calculer la clef privée. L'échange des clefs ayant fonctionné A et B peuvent communiquer par un algorithme à clef privée.
107
Architecture PKI :
Comment récupérer et être sûr d’une clé publique ? En effet, Oscar peut se faire passer pour le destinataire ! Il faut un moyen de prouver la correspondance entre une clé publique et une personne ! Plus généralement : comment gérer des authentifiants dans un environnement distribué/réseau ?
108
Principe général
PKI = Public Key Infrastructure Ensemble d’infrastructures permettant de réaliser effectivement des échanges sécurisés. PKI ne distribue pas des clés mais des certificats ! – Un certificat contient une clé publique – Il contient aussi des données d’identité • Pour une personne : état civil, adresse, mail... • Pour un serveur : nom de domaine, adresse IP, mail de l’administrateur etc...
– Un certificat est validé par un tiers de confiance • On parle d’autorité de certification = CA
La PKI assure la gestion des certificats – création/distribution
109
Principe général
Un certificat : vise a effectuer un lien entre une personne et une bi--clé (prive//publique) – Il est délivré par une autorité de certification (CA) – Il est nominatif – Il est destiné à un usage unique (signature OU chiffrement) – Il a une durée de validité donnée – Il est certifié par la CA – Il est révocable
X.509 : norme proposée par l’ISO (et la plus répandue)
110
Création d’un certificat
Alice génère sa clé publique Ke et et sa clé privée Kd Elle émet une requête au CA pour un certificat de Ke CA valide la clé, authentifie Alice
et génère un certificat – le certificat est signé par le CA – Cette signature certifie l’origine du certificat & son intégrité.
Le certificat est publié dans un annuaire publique 111
Vérifier l’authenticité du tiers de confiance
Chaque CA possède lui-même un certificat – La clé privée associée permet de signer les certificats émis par le CA – Ce certificat est signé par un autre CA etc...
=> Chaîne de certificat Le dernier certificat de la chaîne est signé par lui-même – On parle de certificat auto-signé ou certificat racine
112
PKI: Définition et fonctions C’est un ensemble de technologies, organisations, procédure et pratiques qui supporte l’implémentation et l’exploitation de certificats basés sur la cryptographie à clé publique. Elle a pour fonction: émettre des certificats à des entités préalablement authentifiées ; révoquer des certificats, les maintenir ; établir, publier et respecter des pratiques de certification pour établir un espace de confiance ; rendre les certificats publics par le biais de services d’annuaires ; éventuellement, gérer les clés et fournir des services d’archivage. 113
Structure du certificat X.509v3 Version du certificat Numéro de série du certificat Algo.de signature de l’AC Nom de l’AC ayant délivré le certificat Période de validité
Nom du propriétaire du certificat Clé publique Algo. à utiliser avec la clé publique Identification de l’AC (opt) Identification du propriétaire (opt) Extensions (opt) Signature de l’AC 114
Les acteurs de la certification
Le porteur – Il est référencé par le certificat – Il est le seul à posséder la clé privée associée
L’utilisateur
– Il utilise le certificat – Il vérifie que : • l’identité indiquée par le certificat est bien son interlocuteur • le certificat n’est pas révoqué (en consultant les listes CRL) • l’utilisation qu’il veut faire du certificat est conforme a son usage (chiffrement, signature) – Il authentifie et vérifie l’intégrité du certificat à l’aide de la clé publique de l’AC 115
Les acteurs de la certification
L’autorité de certification (CA)
– Elle émet le certificat – Elle a la confiance des utilisateur • diffuse la valeur de sa clé publique auprès des structures qu’elle connaît et des annuaires (e.g., LDAP) ; – Elle peut optionnellement créer des clés
L’autorité d’enregistrement (RA)
–Elle dépend de la CA –Elle s’occupe des aspects administratifs : •réception utilisateurs •Vérification de l’identité du demandeur •Vérification que le demandeur est habilité à recevoir les droits indiqués dans le certificat •Transmission de la demande à la CA 116
Les acteurs de la certification
117