Attaques sur les protocoles cryptographiques. Chamseddine Talhi École de technologie supérieure (ÉTS) Dép. Génie logiciel et des TI



Documents pareils
Protocoles cryptographiques

Petite introduction aux protocoles cryptographiques. Master d informatique M2

Protocoles d authentification

Les protocoles cryptographiques

Cours 14. Crypto. 2004, Marc-André Léger

Protocoles d`authentification. Refik Molva et Yves Roudier. Institut EURECOM, BP 193 Sophia Antipolis Cedex - France

Certificats (électroniques) : Pourquoi? Comment? CA CNRS-Test et CNRS

Informatique. Les réponses doivent être données en cochant les cases sur la dernière feuille du sujet, intitulée feuille de réponse

Des codes secrets dans la carte bleue. François Dubois 1

Gestion des certificats digitaux et méthodes alternatives de chiffrement

Cryptologie. Algorithmes à clé publique. Jean-Marc Robert. Génie logiciel et des TI

Introduction à la sécurité Cours 8 Infrastructure de clés publiques. Catalin Dima

Cryptographie et fonctions à sens unique

I.1. Chiffrement I.1.1 Chiffrement symétrique I.1.2 Chiffrement asymétrique I.2 La signature numérique I.2.1 Les fonctions de hachage I.2.

La sécurité des réseaux. 9e cours 2014 Louis Salvail

SSH, le shell sécurisé

Terminal Server RemoteAPP pour Windows Server 2008

Richard MONTBEYRE Master 2 Professionnel Droit de l Internet Administration Entreprises. La banque en ligne et le protocole TLS : exemple

Les Protocoles de sécurité dans les réseaux WiFi. Ihsane MOUTAIB & Lamia ELOFIR FM05

Contents Backup et réinstallation... 2

Gestionnaire des services Internet (IIS)

Gestion des Clés. Pr Belkhir Abdelkader. 10/04/2013 Pr BELKHIR Abdelkader

Guide de connexion pour les sites sécurisés youroffice & yourassets

Mise en œuvre et sécurisation d une plateforme monétique pédagogique

Exécution de PCCOMPTA à distance sous Terminal Server 2003.

Certificats X509 & Infrastructure de Gestion de Clés. Claude Gross CNRS/UREC

FOIRE AUX QUESTIONS - WebDEPOT

L authentification de NTX Research au service des Banques

RTE Technologies. RTE Geoloc. Configuration avec Proxy ou Firewall

Tutorial Terminal Server sous

Cryptologie à clé publique

DNSSEC. Introduction. les extensions de sécurité du DNS. Les dossiers thématiques de l AFNIC. 1 - Organisation et fonctionnement du DNS

SSL. Secure Socket Layer. R. Kobylanski janvier version 1.1 FC INPG. Protocole SSL Application avec stunnel

(Third-Man Attack) PASCAL BONHEUR PASCAL 4/07/2001. Introduction. 1 Domain Name Server. 2 Commandes DNS. 3 Hacking des serveurs DNS

Table des matières Hakim Benameurlaine 1

Sécuriser le e-commerce avec la technologie XCA. «Une sécurité qui inspire la confiance»

Charte d installation des réseaux sans-fils à l INSA de Lyon

Rapport de Projet. La sécurité du protocole : l exploitation des failles et étude des méthodes de protection. Réalisé par :

Sécurité des réseaux wifi. CREIX Kevin GIOVARESCO Julien

Les algorithmes de cryptographie dans les réseaux Wi-Fi

SSL ET IPSEC. Licence Pro ATC Amel Guetat

La sécurité dans les grilles

M1101a Cours 4. Réseaux IP, Travail à distance. Département Informatique IUT2, UPMF 2014/2015

Cryptographie. Master de cryptographie Architectures PKI. 23 mars Université Rennes 1

Utiliser le portail d accès distant Pour les personnels de l université LYON1

7.1.2 Normes des réseaux locaux sans fil

Accès aux ressources informatiques de l ENSEEIHT à distance

Routeur Chiffrant Navista Version Et le protocole de chiffrement du Réseau Privé Virtuel Navista Tunneling System - NTS Version 3.1.


Livre blanc. Sécuriser les échanges

Mise en route d'une infrastructure Microsoft VDI

PFE. Gestion de portefeuille électronique par carte à puce. Equipe N 16 Projet N 98. «Sujet non industriel proposé par les élèves»

Présentation BAI -CITC

Configuration de tous les systèmes d exploitations

Sécurité des réseaux wi fi

D31: Protocoles Cryptographiques

Sécurité. Tendance technologique

Authentification Unique (Single Sign-On)

Sécurité des réseaux Les attaques

Sécurité des réseaux IPSec

Vulnérabilités et sécurisation des applications Web

Comité sectoriel de la sécurité sociale et de la santé Section «Sécurité sociale»

Le protocole SSH (Secure Shell)

Sécurité de l'information

SSH et compagnie : sftp, scp et ssh-agent

HCE & Authentification de seconde génération

Mieux comprendre les certificats SSL THAWTE EST L UN DES PRINCIPAUX FOURNISSEURS DE CERTIFICATS SSL DANS LE MONDE

DÉCLARATION ET DEMANDE D'AUTORISATION D OPÉRATIONS RELATIVES A UN MOYEN DE CRYPTOLOGIE

Supplément de renseignements : Examens d applications et pare-feux d applications web clarifiés Normes : Normes en matière de sécurité des données de

Logiciel de connexion sécurisée. M2Me_Secure. NOTICE D'UTILISATION Document référence :

1 Identités pour l enregistrement IMS

Sécurité des réseaux sans fil

d authentification SSO et Shibboleth

Cryptographie RSA. Introduction Opérations Attaques. Cryptographie RSA NGUYEN Tuong Lan - LIU Yi 1

Kerberos mis en scène

Configuration pour la connexion au réseau eduroam sous l environnement Windows XP (SP3) et Windows 7&8 au personnel de l IN2P3

1. Aménagements technologiques 2. Installation de Microsoft SQL Server Microsoft SQL Server 2008 Service Pack 3

Sécurisez votre serveur Web Internet Information Services de Microsoft (MS IIS) avec un certificat numérique de thawte thawte thawte thawte thawte

Tutorial Kerberos. Comprendre et mettre en place une architecture Kerberos. Version : 0.2 Avril 2004

SIP. Sommaire. Internet Multimédia

MONNIER Marie /2009 WPA

OWASP Open Web Application Security Project. Jean-Marc Robert Génie logiciel et des TI

Accéder à ZeCoffre via FTP

Utilisation des ressources informatiques de l N7 à distance

Sécurité des applications Retour d'expérience

Note Technique Sécurité. Système d'authentification. Authentification hors APN LuxGSM Authentification 3G/APN. Système de notification

Club Utilisateurs 2 ème Réunion, 8 Octobre 2014 International RFID Congress, Marseille. Diffusion Restreinte

L authentification distribuée à l aide de Shibboleth

EMV, S.E.T et 3D Secure

Services bancaires par Internet aux entreprises. Guide pratique pour : Rapports de solde Version

La cryptographie dans le système bancaire

Authentification automatique sur La Plateforme collaborative LeadeR y-content

laissez le service en démarrage automatique. Carte de performance WMI Manuel Désactivé Vous pouvez désactiver ce service.

Sécurité logicielle. École de technologie supérieure (ÉTS) MGR850 Automne 2012 Automne Yosr Jarraya. Chamseddine Talhi.

Sécurité par compression! ReSIST Gilles RICHARD IRIT

Devoir Surveillé de Sécurité des Réseaux

Un exemple d'authentification sécurisée utilisant les outils du Web : CAS. P-F. Bonnefoi

Transcription:

Attaques sur les protocoles cryptographiques Chamseddine Talhi École de technologie supérieure (ÉTS) Dép. Génie logiciel et des TI Automne 2012 1

Plan Motivations & contexte Notations Protocoles cryptographiques & attaques Cas d étude: Payements cartes bancaires Conclusion 2

Motivation & Contexte Je veux sécuriser mes Communications. Ma solution est la cryptographie Mais quelle combinaison adopter? Clés secrètes, clés publiques, J ai besoin de suivre un protocole 3

Motivation & Contexte Un protocole cryptographique est un protocole de communication qui utilise des outils de la cryptographie afin d atteindre un objectif de sécurité (Faire respecter/assurer une politique de sécurité) Il décrit les détails d utilisation et d implémentation des algorithmes utilisés e.g., structures de données et leurs représentations 4

Motivation & Contexte Propriétés assurées: Entente sur les clés à utiliser Authentification d'entités Chiffrement symétrique/asymétrique Authentification de messages Transport sécurisé de données au niveau applicatif 5

Notations A, B, C, : Parties impliquées dans la communication I(A) : Attaquant jouant le rôle de A Pub_K(A) : Clé publique de A Priv_K(A) : Clé privée de A K-AB : Clé secrète partagée entre A et B K-A : Clé secrète universelle de A M : Message en clair A B: M : Message M envoyé à B par A <M 1, M 2,..., M N > : Concaténation de N messages {M} Pub_K(A) : Message M chiffré par la clé publique de A {M} Priv_K(A) : Message signé par la clé privée de A N A : Nombre aléatoire (nonce) généré par A 6

Notations Exemple: principes de base du protocole Needham-Schroeder (1978) 1. A B : {<A, N A >} pub_k(b) 2. B A : {< N A, N B >} pub_k(a) 3. A B : {< N B >} pub_k(b) Authentification mutuelle de deux parties A et B A et B utilisent un canal de communication non sécurisé 7

Protocoles & attaques 1. Needham-Schroeder version symétrique 1. A S : <A, B, N A > 2. S A : {< N A, K-AB, B, {K-AB, A} K-BS>} K-AS 3. A B : {K-AB, A} K-BS 4. B A : {N B } K-AB 5. A B : {N B -1} K-AB Objectifs: Authentification mutuelle basée sur des clés secrètes. Échange de clés secrètes de sessions. 8

Protocoles & attaques 1. Needham-Schroeder version symétrique Attaque «Reply»: On suppose que l attaquant a réussi à avoir une ancienne clé de session en exploitant une vulnérabilité de la machine de A. On suppose aussi qu il a intercepté et enregistré tous les messages échangés entre A et B. Avec une ancienne clé K-AB et le message A B : {K-AB, A} K-BS correspondant, l attaquant peut faire: 3. I(A) B : {K-AB, A} K-BS 4. B I(A) : {N B } K-AB 5. I(A) B : {N B -1} K-AB Pb: Aucune information sur le temps 9

Protocoles & attaques 1. Needham-Schroeder version symétrique Contrer l attaque «Reply»: 1. A B : A 2. B A : {A, N B } K-BS 3. A S : <A, B, N A, {A, N B } K-BS > 4. S A : {N A, K-AB, B, {K-AB, A, N B } K-BS} K-AS 5. A B : {K-AB, A, N B } K-BS 6. B A : {N B } K-AB 7. A B : {N B -1} K-AB 10

Protocoles & attaques 2. Needham-Schroeder version asymétrique 1. A S : <A, B> 2. S A : {pub_k(b), B} priv_k(s) 3. A B : {N A, A} pub_k(b) 4. B S : <B, A> 5. S B : {pub_k(a), A} priv_k(s) 6. B A : {N A, N B } pub_k(a) 7. A B : {N B } pub_k(b) Objectif: authentification mutuelle basée sur des clés publiques. 11

Protocoles & attaques 2. Needham-Schroeder version asymétrique Attaque «Man in the Middle»: 3. A I : {N A, A} pub_k(i) 3. I(A) B : {N A, A} pub_k(b) 6. B I(A) : {N A, N B } pub_k(a) 6. I A : {N A, N B } pub_k(a) 7. A I : {N B } pub_k(i) 7. I(A) B : {N B } pub_k(b) L attaquant I a personnifié A? 12

Protocoles & attaques 2. Needham-Schroeder version asymétrique Contrer l attaque: 1. A S : <A, B> 2. S A : {pub_k(b), B} priv_k(s) 3. A B : {N A, A} pub_k(b) 4. B S : <B, A> 5. S B : {pub_k(a), A} priv_k(s) 6. B A : {N A, N B, B} pub_k(a) 7. A B : {N B } pub_k(b) 13

Protocoles & attaques 2. Needham-Schroeder version asymétrique Contrer l attaque: 3. A I : {N A, A} pub_k(i) 3. I(A) B : {N A, A} pub_k(b) 6. B I(A) : {N A, N B, B} pub_k(a) 6. I A : {N A, N B, B} pub_k(a) Mais je suis supposé communiquer avec I,pas B!!! 14

Protocoles & attaques 3. Protocole de Rivest, Shamir, et Adelman. 1. A B : {M} K-A 2. B A : {{M} K-A } K-B 3. A B : {M} K-B Objectif: authentification mutuelle sans l aide d un serveur de confiance!!! Juste des clés secrètes universelles Hypothèses: {{M} K-A } K-B = {M} K-B } K-A {{M} K-A } K-A = M {{M} K-B } K-B = M 15

Protocoles & attaques 3. Protocole de Rivest, Shamir, et Adelman. 1. A B : {M} K-A 2. B A : {{M} K-A } K-B 3. A B : {M} K-B Hypothèses: {{M} K-A } K-B = {{M} K-B } K-A {{M} K-A } K-A = M 1. A B : {M} K-A 2. B A : {{M} K-A } K-B => A: {{{M} K-A } K-B } K-A = {{{M} K-A } K-A } K-B = {M} K-B 3. A B : {M} K-B 16

Protocoles & attaques 3. Protocole de Rivest, Shamir, et Adelman Attaquant :jouant un seul rôle dans toutes ses participations aux sessions du protocoles 1. A I(B) : {M} K-A 2. I(B) A : {M} K-A 3. A I(B) : M Très facile, non? {{M} K-A } K-A = M Attaque Oracle Rôle unique - 17

Protocoles & attaques 4. Protocole de Andrew Secure RPC 1. A B : {N A } K-AB 2. B A : {N A +1, N B } K-AB 3. A B : {N B +1} K-AB 4. B A : {K -AB, N B } K-AB K-AB : ancienne clé secrète entre A et B K -AB : nouvelle clé secrète entre A et B N B : nonce qui sera utilisé lors de la prochaine session du protocole. Objectif: Échange de clés plus fraiches 18

Protocoles & attaques 4. Protocole de Andrew Secure RPC Attaque: 1. A B : {N A } K-AB 2. B A : {N A +1, N B } K-AB 3. A B : {N B +1} K-AB 4. I(B) A : {N A +1, N B } K-AB 4. B A : {K -AB, N B } K-AB Hypothèse: les nonces et les clés ont les même types N A +1 est la nouvelle clé «Secrète» entre I(B) et A 19

Payement Carte Bancaire Acheteur / commerçant : Introduire la carte dans le lecteur Commerçant : saisir le montant M de la transaction sur le terminal. Terminal : authentifier la carte. Client: s authentifier auprès de la carte (NIP) Cas particulier: si M > Seuil : o o o Terminal : authentifier la carte auprès de la banque Banque : autoriser la transaction. Adapté de: http://interstices.info/jcms/c_33835/le-protocole-cryptographique-de-paiement-par-carte-bancaire 20

Payement Carte Bancaire Banque (B) Clé privée : Priv_K(B). Pour signer Clé publique: Pub_K(B). Pour vérifier une signature Clé secrète entre B et chaque carte C: K-BC Carte (C) Données : nom, prénom, numéro de carte, validité, etc. Signature des données : {hash(données)} Priv_K(B) Clé secrète entre B et chaque carte C: K-BC NIP : choisi par l utilisateur. Authentifier l utilisateur Terminal (T) Clé publique: Pub_K(B). Vérifier la signature Personne (P) NIP : choisi par l utilisateur. S authentifier auprès de la carte C 21

Payement Carte Bancaire Protocole Authentifier la carte auprès du terminal : 1. C T : Données, {hash(données)} Priv_K(B) Authentifier la personne auprès de la carte : 2. T P : Entrez le NIP 3. P C : 7432 4. C T : NIP OK 22

Payement Carte Bancaire Protocole (suite) Authentifier la carte auprès de la banque (cas particuliers): 5. T B : Nonce? 6. B T : 830937256514 7. T C : 830937256514 8. C T :{830937256514} K-BC 9. T B :{830937256514} K-BC 10. B T : OK 23

Payement Carte Bancaire Failles du protocole Clés cryptographiques bubliques (320 bits) faibles depuis 1988: o Serge Humpich a déduit Priv_K(B) à partir de Pub_K(B) Les cartes YesCard : Serge Humpich (1998): o Fausse signature sur une fausse carte! http://fr.wikipedia.org/wiki/serge_humpich 24

Payement Carte Bancaire Failles du protocole Faille logique: Indépendance entre l authentification Personne/Carte et l authentification Carte/Banque 1. C T : Données, {hash(données)} Priv_K(B) 2. T P : Entrez le NIP 3. P C : 7432 4. C T : NIP OK Intervertir les cartes en cours de transaction 1. C T : Données, {hash(données)} Priv_K(B) 2. T P : Entrez le NIP 3. P C : 8590 4. C T : NIP OK 25

Payement Carte Bancaire Failles du protocole Faille cryptographique: Fausses signatures sur fausses cartes 1. C T : Données, {hash(données)} Priv_K(B) 2. T P : Entrez le NIP 3. P C : 7432 4. C T : NIP OK 1. C T : BlaBla, {hash(blabla)} Priv_K(B) 2. T P : Entrez le NIP 3. P C : 8679 4. C T : NIP OK 26

27

Conclusion Différents objectifs de sécurité. Les vulnérabilités d un protocole cryptographique ne sont pas faciles à identifier -17 ans pour que le protocole Needham-Schroeder soit attaqué avec succès!!! Règles d or: Filtrer les messages échangés par les entités en communication Plus de complexité n est pas toujours synonyme de plus de sécurité! 28

Payement Carte Bancaire Correction de la faille? 29