Sécurité Solutions Après avoir vu différents types d’attaques, voyons les parades ! Améliorations: Cf [SERVIN’98a] pp146 : trame XID d’HDLC, pour montrer comment marchent les lecteurs de cartes à puces.
Plan Liste de concepts Illustration de quelques mécanismes Services Mécanismes, Techniques Solutions Illustration de quelques mécanismes Chiffrement DES, RSA Signature RSA, DSS Notarisation X509 Solution = mise en œuvre d’un ou plusieurs mécanismes Techniques :
Solutions du monde réel Cf [RESCORLA’01] pp4-5 Carte postale de Honfleur Enveloppe : http://www.officedepot.fr/ Service Carte postale Enveloppe Coffre bi-clés Authentification (expéditeur) NON OUI Intégrité Confidentialité Coffre-fort : http://www.ap-securite.fr/
Ajuster services / applications On n’a pas toujours besoin de tous les services : Téléchargement : le fichier n’est pas confidentiel ! Il n’a pas besoin d’être encrypté pour cela : par contre le besoin d’authentification serveur va nous obligé à encrypter le flux (peut être pas le contenu mais au moins les en-têtes !) Je n’ai pas besoin d’authentifier le client qui télécharge ! Télécharge qui veut.
Les services de la sécurité Intégrité : une information envoyée doit être identique à l’arrivée Confidentialité : l’information transmise demeure privée et n’est divulguée qu’au destinataire Authentification (exp, dest): pour être certain de l’identité des correspondants Non-répudiation : l’expéditeur d’un message ne peut pas en nier l’émission Contrôle d’accès : seules les personnes autorisées ont accès aux informations ou ressources Cf DROMARD p201 cf exemple [RESCORLA]p4 Les techniques que nous allons voir ensuite assure tout ou partie des fonctions listées ici : Exemple : Différence entre authentification et contrôle d’accès : Par exemple, les douanes dans un aéroport est un système d’authentification; le tampon qui est mis sur le passeport est un système de contrôle d’accès (qui va vous permettre de circuler ou non dans le pays) Le système de tickets pour gérer l’attente dans une administration (distributeur rouge et cadran) est un système de contrôle d’accès mais pas d’authentification (exemple en info: par exemple sous Windows 98, on peut mettre en œuvre un système de contrôle d’accès mais pas d’authentification : dans la mesure où il n’y a qu’un seul mdp pour la ressource, on sait que seules les personnes autorisées (celles à qui le mdp a été donné) travaille dessus mais on ne connaît pas l’identité. Un mécanisme de contrôle d’accès permet de donner des droits Contrôle d’accès : login. Intégrité : qd vous envoyez un message via SMTP, il n’existe aucun mécanisme qui vous assure que le message reçu par votre destinataire est celui que vous avez envoyé : Exemple de jedeclare.com : le site retourne la copie de ce qu’il a reçu. C’est bien mais dans le cas d’un MITM, ce dernier peut très bien s’arranger pour renvoyer à l’expéditeur initial => pour éviter cela on envoie un certificat. Ce n’est pas parce qu’on a fait un contrôle d’accès que la information est confi. Par exemple, on peut vous laisser entrer dans une boîte de nuit (contrôle d’accès), ce n’est pas pour cela que les conversations que vous aurez à l’intérieur ne seront pas entendues par d’autres personnes que celles auxquelles vous les destinez. Quand un client vous parle de sécurité informatique, il faut bien identifier la (les) fonctions qu’il attend de la solution que vous allez lui proposer.
Les mécanismes de sécurité Principaux Chiffrement: DES Signature: RSA (non réversible) Contrôle d’accès: Kerberos Autres Intégrité des données Echange d’authentification Bourrage de flux Contrôle de routage Notarisation (X509) [DROMARD’]pp196 Notarisation : Enregistrement des éléments essentiels d'une transaction entre deux parties chez un tiers de confiance, lequel peut ultérieurement en garantir l'exactitude (source : http://www.granddictionnaire.com/) Bourrage de flux : ajout de caractère de bourrage en cas de silence (pour noyer le flux signifiant et rendre plus lourd un décryptage Le chiffrement assure la confidentialité et éventuellement l’authentification La signature n’assure que l’authentification (puisque que le message circule en clair) et le message initial ne peut être retrouvé. Le mécanisme de contrôle d’accès ne réalise jamais le service d’authentification Chiffrement: génération d’un message qui ne peut être décrypté que par les personnes autorisée (DES) Signature: génération d’un message (de longueur ) qui ne peut être décrypté que par les personnes autorisée (RSA) Contrôle d’accès:
Synthèse Coment lire ce tableau? Un message signé n’est authentifié que si l’on est sûr de la signature => notarisation nécessaire Source : DROMARD p201 (source ISO7492-2) Y : le mécanisme apporte le service S : le mécanisme participe au service en complément d’autres mécanisme. Exemple Authentification de l’origine : ce n’est pas parce qu’un Source : ISO7492-2 dans [DROMARD’94]
Mécanisme de chiffrement Architectures Chiffrement en couche 2 Chiffrement en couche 6 Principes Algorithme secret obsolète Algorithme public avec élément secret (une clé) symétrique: à clé secrète asymétrique: à clé publique / clé privée Echange de la clé http://www.ifrance.com/maliks/faq-cle.html 1.2. Qu'est-ce qu'une clé en cryptographie ? La cryptographie concerne des opérations telles que le chiffrement ou la signature, qui ne doivent être possibles que pour certaines personnes, disposant d'un certain secret. Dans les siècles passés, ce secret était la méthode même de transformation des données. Il est apparu qu'il était plus rationnel, et plus efficace, de concentrer le secret sous la forme d'une suite de bits, et de rendre l'algorithme lui-même public. En effet, il est difficile de conserver un algorithme secret, et, par ailleurs, il est appréciable de pouvoir quantifier mathématiquement la sécurité. Par ailleurs, le fait de rendre un algorithme public permet d'obtenir "gratuitement" l'avis de la communauté cryptographique sur la solidité de cet algorithme. La clé est donc ce secret concentré, cette suite de bits qui est l'essence même de la confidentialité.
Chiffrement en couche 2 [DROMARD]p193
Chiffrement en couche 6 [DROMARD]p194 Si on n’a pas confiance en le réseau
Encryptage symétrique : DES http://www.zencod.com/Site_francais/why/cryptography.asp
Encryptage asymétrique : +/- Avantages Rapide Sûre Inconvénient Comment s’échanger la clé ?
Encryptage asymétrique : RSA [RESCORLA’01]p9 : you publish your encryption key but keep secret your decryption key (asymmetric cryptography).
Encryptage symétrique : +/- Avantages Pas besoin de distribuer les clés Inconvénient 100 à 1000 fois plus lent que l’encryptage symétrique ?
Faiblesses réel et utopique Réalité Man-In-The-Middle au cours de l’échange d’authentification Mythe Cassage de clés
Cassage des clés (et des mythes!) Hypothèse sur le contenu encrypté Astuce: image JPG, début message est l'entête standard JPG. Recherche exhaustive Générique et parallélisable Contre-exemple : Algorithme à clés structurées (RSA, …) Ordre de grandeur Machines classique : 1 millions de clé par secondes Soit 42 jours en parallélisant sur 10 000 machines pour une clé DES de 56 bits Machines spécialisées : Deep Crack (3 jrs) ; 250 k$. Mais attention à la loi de Moore quand même ! En matière de sécurité, la rumeur est très fréquente (et fait d’ailleurs partie des techniques de guerres de l’info !). Soyons donc vigilants. http://www.ifrance.com/maliks/faq-cle.html Qu'est-ce que la recherche exhaustive ? Casser un système cryptographique, c'est pouvoir réaliser certaines opérations nécessitant en théorie la connaissance du secret, mais sans avoir été informé préalablement de ce dernier. Le cassage le plus complet est celui où on obtient la connaissance de la clé elle-même, ce qui donne ensuite les mêmes pouvoirs que le légitime possesseur de cette dernière. La recherche exhaustive est la méthode la plus simple de ce point de vue : elle consiste à essayer toutes les clés l'une après l'autre jusqu'à trouver la bonne. Cette méthode a l'avantage d'être générique et parallélisable (on peut distribuer le calcul sur de nombreuses machines). Par ailleurs, elle est réaliste : si on envisage le cas d'un système de chiffrement symétrique (qui associe à un bloc constitué de quelques octets un autre bloc de même taille, mais illisible, la correspondance dépendant de la clé), il suffit d'intercepter un couple clair/chiffré, c'est-à-dire un bloc de quelques octets et le chiffré correspondant. Par exemple, si c'est une image de type JPG qui est transférée, le début du message est l'entête JPG standard, parfaitement connue de tout un chacun. Statistiquement, il faudra essayer la moitié des clés avant de trouver la bonne, Si on chiffre avec des clés de 56 bits, celà signifie qu'il faudra 2^55 essais, soit 36028797018963968 (en moyenne). [MANSFIELD’00]p150 : statistiquement, 50% est la probabilité de réussir à casser la clé au bout du test de la moité des clés. Par ailleurs, il existe des systèmes de chiffrement (notamment les systèmes asymétriques, dits "à clé publique") pour lesquels toutes les suites de bits ne forment pas des clés valide. L'exemple typique est RSA, où la clé représente un grand nombre, produit de deux grands nombres premiers. L'ensemble des suites de 1024 bits qui représentent en base 2 de tels nombres est beaucoup plus petit que 2^1024. La recherche exhaustive est absurde dans ce cas. Et avec un matériel spécialisé ? Un groupe de pression américain, l'EFF, a investi 250000$ dans une machine spécialisée, nommée "Deep crack", qui essaye toutes les clés de l'algorithme DES en environ 3 jours. Ceci utilise des processeurs spécialisés, construits pour l'occasion et absolument inutile pour quoi que ce soit d'autre que casser du DES (notamment, RC5, ils ne connaissent pas du tout). Toute autre machine du même genre est du domaine de la rumeur. DES est en usage depuis plus de 20 ans et il est généralement considéré comme probable que la machine de l'EFF a été précédée par d'autres prototypes construits par divers services secrets. En tous cas, cela fait bientôt 15 ans que le principe d'une telle machine est périodiquement évoqué. Qu'est-ce que la loi de Moore ? La loi de Moore est une estimation à l'emporte-pièce du progrès des micro-processeurs au cours du temps. D'un point de vue basique, elle stipule que pour un coût donné (au sens large, incluant la consommation électrique, la production du matériel, son usure, le coût du stockage, etc...) la puissance de calcul disponible est multipliée par 8 tous les 3 ans. Plus précisément, on peut dire qu'en trois ans, le progrès technologique permet de placer 4 fois plus de portes logiques sur une puce pour un coût donné, en cadençant le tout 2 fois plus vite. Cette loi est remarquablement vérifiée sur les 15 dernières années. On notera que les micro-processeurs centraux des ordinateurs génériques ne suivent pas complètement cette loi, parce qu'ils ne peuvent pas augmenter la taille des bus de données aussi vite que ça (pour des raisons de compatibilité ascendante du code, et aussi parce que les calculs que ces processeurs doivent effectuer ont d'habitude des contraintes supplémentaires rendant inutile l'usage de registres trop grands). Ceci concerne donc les systèmes s'exprimant en termes de portes logiques, spécialisés dans un algorithme particulier. Donc essentiellement les ASIC et les FPGA (Field Programmable Gate Arrays ; ce sont des circuits reprogrammables, qui remplissent les mêmes rôles que les ASIC, en étant deux fois plus chers pour une puissance donnée, mais aussi polyvalents).
MITM Le chiffrement ne suffit pas ! Cas d’un échange (Alice envoie à Bob et réciproquement) en chiffrement Asymétrique Alice envoie sa clé publique à Bob Bob envoie sa clé publique à Alice Alice envoie un msg crypté avec la clé publique de Bob Bob envoie un msg crypté avec la clé publique d’Alice
Echange clé Mécanismes complémentaires Rappel Risques Condensé (digest) Code d'authentification de message (MAC) Chiffrement asymétrique et certifcats Notarisation (certification) Rappel ASN.1, BER et DER Risques MITM Attention : RIEN A VOIR AVEC @ MAC d’Ethernet BER : Basic Encoding Rules DER : une seule manière d’encodage ( Condensé = Empreinte ???
Condensé (message digest) Principe Transforme un message d’une longueur quelconque en une chaîne de longueur fixe (ie 1024 octets, …) Propriétés Résistance aux collisions Irréversibilité Preuve de la possession d’un contenu sans le dévoiler Exemple: MD5, SHA-1
Code d'authentification de message (MAC) Principe Condensé (digest) prenant une clé pour paramètre ou Chiffrement (symétrique) donnant un résultat condensé Propriétés Résistance aux collisions encore plus grande Exemple HMAC (dans SSL et TLS) A ne pas confondre Pas de clé public / privé. Le destinataire peut vérifier l’intégrité d’un contenu en reproduisant le condensé avec la clé Chiffrement (symétrique)
Certificat Principe Exemple Fiche d’identité comprenant une partie en clair et une empreinte L’empreinte est générée en calculant un condensé sur la partie en clair et en encodant ce denier par chiffrement asymétrique avec la clé de l’AC Exemple X509 Chiffrement (symétrique)
S/MIME, PGP, PEM Processus envoi Processus réception
Processus Envoi
Processus Réception Cf le schéma in [RESCORLA’01]p16-17