authentification et identification 8 e cours louis salvail2014

40
Authentification Authentification et identification et identification 8 e cours Louis Salvail—2014

Upload: cyprien-tison

Post on 04-Apr-2015

105 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Authentification et identification 8 e cours Louis Salvail2014

Authentification et Authentification et identificationidentification

8e coursLouis Salvail—2014

Page 2: Authentification et identification 8 e cours Louis Salvail2014

DéfinitionsDéfinitionsIdentification : Permet de connaître l’identité d’une entité. Le vérificateur vérifie l’information révélée par l’entité par rapport à celles de toutes les entités connues. L’identification doit être unique.

Authentification : Permet de vérifier l’identité d’une entité ayant émise une information. Un utilisateur montre qu’il c’est bien Obélix à l’origine d’une information. L’authentification n’a pas à être unique. L’authenticité d’un utilisateur faisant partie d’un groupe n’est pas unique, car plusieurs identités sont du même groupe. Un utilisateur peut s’authentifier comme membre du groupe.

Les deux termes sont souvent utilisés abusivement et sans les distinguer.

Une signature permet d’identifier le propriétaire d’une clé publique.

Kerberos (AS) identifie un utilisateur (avant de lui donner son premier ticket (ticket d’accord de ticket).

Kerberos (TGS) vérifie l’authenticité de l’utilisateur avec l’identité identifiée par l’AS.

Page 3: Authentification et identification 8 e cours Louis Salvail2014

Autrement dit:Autrement dit:

Identification: L’entité E est présente et active.

Intégrité: Les données reçues ont été transmises par E et n’ont pas été modifiées.

Authenticité: Identification et intégrité en même temps.

Page 4: Authentification et identification 8 e cours Louis Salvail2014
Page 5: Authentification et identification 8 e cours Louis Salvail2014

L’IdentificationL’Identification

L’identification est le premier mécanisme de défense contre l’accès aux ressources d’un système informatique par une entité non autorisée.

Un protocole d’identification se déroule entre deux parties, le mandant («principal») P et le vérificateur V :

P veut montrer à V qu’il/elle est bien celui/celle qu’il/elle prétend être.

Un tel protocole a habituellement des imperfections :

pfa est la probabilité pour V d’accepter un mauvais P,

pfr est la probabilité que V rejette P.

Nous voulons Nous voulons ppfafa et et ppfrfr petits!!!petits!!!

Page 6: Authentification et identification 8 e cours Louis Salvail2014

Comment IdentifierComment IdentifierL’identification d’une entité (personne, hôte, terminal intelligent, programme,...) peut être établie par la vérification de ce que l’entité :

est: car un environnement informatique n’a pas vraiment de caractéristiques uniques et non transférables. Nous verrons des méthodes pour y parvenir (biométrie).

a : établit l’identité en vérifiant que l’entité possède un jeton confirmant celle-ci. Une carte à puce avec de l’information secrète peut jouer ce rôle. L’hypothèse étant qu’une entité ne perd jamais son jeton, autrement son identité peut être subtilisée.

connaît : établit l’identité à partir d’une information secrète (NIP). La perte de cette information ne permet pas de subtiliser une identité. Cependant, le secret doit demeurer secret!

Commençons par ici! Commençons par ici!

Page 7: Authentification et identification 8 e cours Louis Salvail2014

Indentification par mots de passe ou Indentification par mots de passe ou NIPNIPCes méthodes sont essentielles à la sécurité de plusieurs

systèmes, et dans bien des cas le seul mécanisme de sécurité.

Ils sont souvent le maillon faible, car ils doivent être retenus par les humains :

Les utilisateurs choisissent des mots de passe qui sont faciles à retenir ou qu’ils écrivent sur des documents accessibles...

Il y au moins 4 points importants pour la sécurité des mots de passe :

Comment sont-ils choisis?

Comment les mots de passe sont-ils transmis entre l’utilisateur et le vérificateur?

Comment l’utilisateur range-t-il son mot de passe?

Comment le vérificateur range-t-il les mots de passe?

Page 8: Authentification et identification 8 e cours Louis Salvail2014

À propos des mots de À propos des mots de passepasse

Le nombre de NIP possibles à la banque est moindre que 104=10000.

Les mots de passe UNIX sont quelques milliards de fois plus nombreux : 252.

Les mots de passe ne peuvent être trop longs. Ils doivent être mémorisés.

Des études ont montré que 12 chiffres est le maximum que nous pouvons espérer entrer correctement....

Page 9: Authentification et identification 8 e cours Louis Salvail2014

À propos des mots de passe (II)À propos des mots de passe (II)Le nombre de mots de passe possibles n’est pas une mesure de qualité. Nous devons nous préoccuper de la façon dont ils sont choisis :

Les mots de passe qui peuvent être mémorisés sont beaucoup plus faciles à deviner que leur longueur le laisse croire.

Une bonne idée est de retenir une «phrase de passe» au lieu d’un mot et de n’en retenir que quelques lettres.

Exemple : «Ce mot de passe c’est le mien»->«cmdpc’elm».

Des études ont montré que cette façon de procéder est presque aussi sûre que si le mot de passe était aléatoire, mais tout aussi facile à mémoriser que s’ils étaient choisis pour leur contenu.

Page 10: Authentification et identification 8 e cours Louis Salvail2014

À propos des mots de passe (III)À propos des mots de passe (III)Même si les phrases de passe ne sont pas utilisées, il est possible d’aider l’utilisateur à rendre le système plus sûr :

La plupart des systèmes demandent un changement fréquent des mots de passe (par le principe vu précédemment).

Certains systèmes vérifient que le mot de passe n’est pas sur une liste de «mauvais» mots de passe. S’il est mauvais, les systèmes refusent la modification.

Ceci peut être amélioré en vérifiant que le nouveau mot de passe n’a pas été utilisé récemment et qu’il n’est pas trop similaire au précédent.

D’autres systèmes analysent et informent l’utilisateur de la qualité de son mot de passe.

Peut être une arme à double Peut être une arme à double tranchant! Pour les mémoriser, tranchant! Pour les mémoriser,

nous les écrivons.nous les écrivons.

Le résultat étant aussi Le résultat étant aussi de les rendre plus de les rendre plus

difficiles à mémoriser!difficiles à mémoriser!

Page 11: Authentification et identification 8 e cours Louis Salvail2014

Faiblesses des guichetsFaiblesses des guichets(cartes à bande magnétique)

Comment le mot de passe/NIP est-il fourni au guichet?

À l’abri des yeux indiscrets?

Le compte est verrouillé après plus de trois échecs, mais les NIP sont courts.

Sous quelle forme le mot de passe/NIP est-il acheminé à la banque?

Chiffré

Est-ce que la banque protège bien les mots de passe/NIP?

Probablement?

Beaucoup plus Beaucoup plus grave, jamais le grave, jamais le

guichet ne guichet ne s’authentifie à ce s’authentifie à ce pauvre Obélix...pauvre Obélix...

Page 12: Authentification et identification 8 e cours Louis Salvail2014

Différentes attaquesDifférentes attaquesMême si un guichet verrouille un compte après 3 essais, ceci ne garantit pas l’impossibilité d’une attaque qui succède souvent:

Supposons que César puisse créer des fausses cartes pour des clients réels. Il peut espérer entrer dans un compte de banque après avoir contrefait environ 3000 cartes :

Pour chacune d'entre elles, 3 essais aléatoires sont effectués.

Puisque les guichets ne s’authentifient pas, un faux guichet peut aussi voler les mots de passe et l’information sur la bande magnétique des cartes. Ce sont des attaques par mascarade.

D’autres attaques peuvent, au lieu de donner accès à un compte, attaquer la disponibilité du service. Le verrouillage de comptes laisse place à ce type d’attaques. La qualité du mécanisme qui verrouille les comptes dépend du modèle adopté pour les menaces de sécurité.

Page 13: Authentification et identification 8 e cours Louis Salvail2014

Accès à des ressources Accès à des ressources informatiquesinformatiques

Le nombre de mots de passe doit être beaucoup plus grand que pour les guichets.

Les attaques peuvent avoir beaucoup plus d’envergure.

Le stockage sûr des mots de passe sur le serveur est très important.

Il est préférable de faire en sorte que même un super-utilisateur ne puisse connaître les mots de passe des utilisateurs.

Il est possible de rendre l’identification plus sûre en ralentissant le processus au lieu de verrouiller la ressource.

L’accès au serveur est plus L’accès au serveur est plus facile qu’au guichet et les facile qu’au guichet et les

attaques peuvent être attaques peuvent être automatisées.automatisées.

Il est possible, depuis son salon, Il est possible, depuis son salon, d’attaquer des milliers de d’attaquer des milliers de

machines.machines.

Les façons d’accéder au serveur Les façons d’accéder au serveur sont multiples à partir sont multiples à partir

d’Internet. d’Internet.

Même les administrateurs Même les administrateurs système peuvent être à risque.système peuvent être à risque.

Les attaques automatisées Les attaques automatisées seront donc beaucoup moins seront donc beaucoup moins

performantes.performantes.

Page 14: Authentification et identification 8 e cours Louis Salvail2014

Piratage Piratage psychologiquepsychologique

Le vol de mots de passe à partir du disque de l’utilisateur peut être facile s’il y apparaît en clair.

D’autres méthodes peuvent être utilisées pour voler des mots de passe (piratage psychologique, «social engineering») :

À l’université de Sydney, 336 étudiants ont reçu un courriel leur demandant de fournir leur mot de passe prétextant une validation de la base de données après une attaque soupçonnée. Beaucoup ont changé leur mot de passe, mais personne ne s’est plaint.

Hameçonnage («phishing») : Le pirate se fait passer pour un tiers de confiance dans le but de voler de l’information confidentielle.

Ce type d’attaque est très efficace. Les mécanismes de défense sont difficiles à trouver, il semble qu’informer l’utilisateur et la combinaison de mots de passe avec biométrie ou composantes matérielles soient les seules approches possibles.

Page 15: Authentification et identification 8 e cours Louis Salvail2014

Stockage des mots de Stockage des mots de passepasseDe mauvais systèmes peuvent même stocker les mots de passe en clair.

UNIX (et bien d’autres) fait mieux : le fichier de mots de passe ne contient pas les mots de passe mais plutôt des entrées du type :

<utilisateur u> :<f(mpu)>

la fonction f ici est une fonction à sens unique. Celles-ci sont faciles à évaluer mais difficiles à inverser.

Le système peut vérifier un mot de passe, mais le vol du fichier des mots de passe ne donne pas ceux-ci.

Cependant, un adversaire qui croit avoir le mot de passe d’un utilisateur peut le vérifier s’il obtient une copie du fichier (ce qui n’est pas trop difficile en UNIX).

Cette attaque est réelle sur UNIX. Des programmes utilisent des dictionnaires pour former des mots de passe et vérifient s’ils apparaissent dans le fichier.

25% des mots de passe peuvent être devinés de cette façon si l’utilisateur n’est pas guidé.

D’où la nécessité D’où la nécessité d’orienter d’orienter

l’utilisateur dans son l’utilisateur dans son choix!choix!

Page 16: Authentification et identification 8 e cours Louis Salvail2014

Faiblesses de Faiblesses de l’identification par mot de l’identification par mot de

passepasseLa vérification d’un mot de passe nécessite que celui-ci soit présenté. Le vérificateur V peut aussi imiter P.

Puisque V ne prouve pas son identité à P, un V* frauduleux peut apprendre le mot de passe de P pour ensuite l’imiter.

Le mot de passe communiqué par P à V ne dépend pas du temps actuel. Ceci permet une attaque par redite...

Nous verrons des méthodes qui permettent de régler certains de ces problèmes...

Page 17: Authentification et identification 8 e cours Louis Salvail2014

Sommaire sur les mots Sommaire sur les mots de passede passe

Aider/forcer l’utilisateur à choisir un bon mot de passe l’aidant à le mémoriser comme les phrases de passe.

Informer les utilisateurs au sujet du piratage psychologique.

Le système de vérification devrait limiter la possibilité de vérifier un mot de passe deviné.

S’assurer que le système de vérification stocke les mots de passe d’une façon sûre en utilisant le chiffrement ou la sécurité matérielle.

Page 18: Authentification et identification 8 e cours Louis Salvail2014

Sécurité matérielleSécurité matérielleDes dispositifs matériels peuvent aider à assurer la sécurité de bien des systèmes. Ils ne permettent pas seulement d’empêcher le vol de clés, mais aussi de s’assurer que certains paramètres de sécurité existent en une seule copie.

Des systèmes bancaires en ligne s’assurent que les clés secrètes pour les signatures du client sont stockées sur le disque de l’utilisateur chiffrées avec un mot de passe.

L’adversaire peut quand même réussir à subtiliser le fichier des clés secrètes chiffrées sans que le propriétaire le constate. Il a maintenant beaucoup de temps pour tenter de déchiffrer les clés en essayant des mots de passe et en testant leur validité à l’aide du fichier.

Les cartes bancaires ont un problème similaire. La bande magnétique est très facile à copier. La bande magnétique ne contient pas d’information sur le NIP. Mais l’adversaire peut essayer de le deviner une fois qu’il a une carte.

voler-copier-voler-copier-retourner!retourner!

Page 19: Authentification et identification 8 e cours Louis Salvail2014

Sécurité matérielle (II)Sécurité matérielle (II)Si la carte était à l’intérieur d’une unité matérielle à l’épreuve des escrocs, alors l’attaquant pourrait voler l’unité, mais du temps et de l’argent seront nécessaires pour que l’attaque réussisse. Pendant ce temps, le compte a de bonnes chances d’être verrouillé.

Il est donc intéressant de se doter d’unités matérielles qui sont difficiles d’accès. Il est probablement trop optimiste de croire qu’un système peut empêcher toutes les attaques, mais celles-ci peuvent être longues et coûteuses. La sécurité des systèmes n’en serait qu’améliorée.

Les cartes à puce sont de ce type...

Page 20: Authentification et identification 8 e cours Louis Salvail2014

Cartes à puceCartes à puceCes cartes ont leur propre processeur à bord, complet avec stockage, système d’exploitation et logiciels inclus par le manufacturier.

Elles viennent souvent avec un coprocesseur pour le chiffrement et même du matériel dédié implémentant RSA.

Le stockage est protégé, nécessitant l’utilisation du processeur pour accéder aux clés :

Pour les utiliser, il est nécessaire d’avoir le NIP pour «ouvrir la carte» et passer par les protocoles de communication prévus.

Les meilleures cartes ont des couches de protection sur le processeur et des unités de stockage qui rendent les attaques difficiles sans détruire les données de la carte.

Sans être impossibles, les attaques demandent de l’expertise, du temps et des ressources.

Page 21: Authentification et identification 8 e cours Louis Salvail2014

L’intérieur d’une carteL’intérieur d’une carte

EEPROM : Electrically Erasable

Programmable Read-Only Memory

EEPROM : Electrically Erasable

Programmable Read-Only Memory

Flash en est Flash en est un typeun type

Flash en est Flash en est un typeun type

Page 22: Authentification et identification 8 e cours Louis Salvail2014

Cependant!Cependant!L’attaque la plus directe contre une carte à puce consiste à l’attaquer physiquement dans le but d’appendre la/les clés secrètes qu’elle contient.

Boneh, DeMillo et Lipton (Bellcore) ont montré comment un adversaire qui pourrait introduire des erreurs de calcul dans une carte pourrait aussi apprendre les clés qui y sont rangées.

L’adversaire peut y parvenir sans savoir exactement les erreurs produites, sans avoir le contrôle complet sur la nature des erreurs.

En comparant le déchiffrement sans erreur avec le déchiffrement avec erreur, l’adversaire apprend des choses sur la clé.

Comment produire des erreurs?

Fluctuations de température, du voltage, de l’horloge interne,

bombarder la carte de radiation, frapper dessus avec un marteau en caoutchouc.

Généralisé par Généralisé par Biham et Biham et Shamir :Shamir :

Differential Differential Fault AnalysisFault Analysis

Généralisé par Généralisé par Biham et Biham et Shamir :Shamir :

Differential Differential Fault AnalysisFault Analysis

On the Importance of Checking Cryptographic Protocols for FaultsOn the Importance of Checking Cryptographic Protocols for Faults

Page 23: Authentification et identification 8 e cours Louis Salvail2014

Attaques par analyse de Attaques par analyse de puissancepuissance

Les cartes à puce ont besoin d’une source de courant externe pour fonctionner.

L’analyse du courant requis pour exécuter une tâche peut dévoiler de l’information secrète.

Considérons l’algorithme standard/naïf pour le déchiffrement RSA. Il visite chacun des bits de d (secret) :

Il exécute une opération si le bit courant de d est 0. Une multiplication, une division.

Il exécute une autre opération s’il est 1. Deux multiplications, une division et une soustraction.

À chaque cycle, le courant requis pour un bit de d égal à 0 n’est pas le même que pour un bit égal à 1. Cette différence peut être mesurée et les bits de d déterminés.

Page 24: Authentification et identification 8 e cours Louis Salvail2014

Autres composantes Autres composantes matériellesmatérielles

D’autres unités sont beaucoup plus difficiles à attaquer. Elles ne sont pas des cartes à puce, sont beaucoup plus coûteuses et sont encombrantes.

Par exemple, le IBM 4758 a été certifié par l’administration américaine au niveau le plus élevé de sécurité.

Ses mécanismes de protection sont à l’oeuvre à tout instant et vont détruire l’information aussitôt une attaque détectée. Il a son processeur, sa batterie et exécute les tâches cryptographiques.

Utilisées par les banques (stockage de NIP), CA (stockage de ses clés secrètes) pour les certificats.

Personne n’est parvenu à l’attaquer avec succès.pas tout à pas tout à

fait vrai!!!!! fait vrai!!!!! nous nous

verrons...verrons...

pas tout à pas tout à fait vrai!!!!! fait vrai!!!!!

nous nous verrons...verrons...

Page 25: Authentification et identification 8 e cours Louis Salvail2014

AttentionAttentionLa formule qui dit que la force d’une chaîne n’excède pas celle de son maillon le plus faible est utile ici :

Le meilleur matériel est bien inutile si le système qui l’utilise peut être trompé.

Supposons que mon PC soit équipé d’un lecteur de cartes à puce pour les signatures avec clé secrète sur la carte.

Même s’il est très difficile d’obtenir la clé à partir de la carte seule, est-ce que le logiciel que j’utilise est intègre?

Un message frauduleux me demandant de fournir mon NIP, pour ensuite utiliser la carte à sa guise.

Par exemple, lui demandant de signer n’importe quoi!!!!!

Page 26: Authentification et identification 8 e cours Louis Salvail2014

BiométrieBiométrieIl s’agit de systèmes qui identifient une personne en fonction de ses caractéristiques biologiques.

Ces systèmes balayent les empreintes digitales et/ou les yeux et/ou le visage et/ou la voix. Ils fonctionnent tous selon les mêmes principes.

Les caractéristiques physiques sont mesurées et sont ensuite converties sous forme numérique.

Un ordinateur a de la difficulté à reconnaître les patrons et les mesures sont sujettes au bruit.

Il faut donc trouver une façon de les convertir pour que les bonnes personnes soient acceptées la plupart du temps et les mauvaises soient rejetées presque toujours.

Des systèmes fiables sont sur le marché pour les empreintes digitales et l’iris.

Las Vegas repère les joueurs non autorisés de cette façon. C’est de l’identification malgré nous! (la figure est analysée dans ce cas)

Page 27: Authentification et identification 8 e cours Louis Salvail2014

Biométrie (II)Biométrie (II)

Quel avantage l’iris offre

par rapport aux

empruntes digitales?

Page 28: Authentification et identification 8 e cours Louis Salvail2014

Biométrie (III)Biométrie (III)L’avantage de la biométrie est qu’elle ne demande pas à l’utilisateur de mémoriser un mot de passe, car celui-ci transporte son «mot de passe».

Le problème, c’est que ceci peut mener à des problèmes de respect de la vie privée :

Nous pouvons demeurer anonymes en fournissant un mot de passe; c’est impossible avec les méthodes biométriques.

On entend souvent dire que la biométrie peut remplacer les CAM.

Ceci est certainement faux, car il n’existe aucun lien entre une empreinte et un message. La réception d’une empreinte et d’un message ne prouve absolument rien.

Ce que la biométrie permet, en plus de l’identification, c’est un meilleur contrôle d’accès à votre clé privée.

La base de données biométriques doit être protégée contre les modifications. Si elles sont à un autre endroit que l’unité, la communication doit être authentifiée (et probablement aussi chiffrée)...

Page 29: Authentification et identification 8 e cours Louis Salvail2014

Impossible à court-Impossible à court-circuiter?circuiter?

Pour que les mécanismes de protection permettant d’accéder aux ressources soient utiles, encore faut-il que l’adversaire ne puisse les court-circuiter.

Si la ressource est une clé et le mécanisme est une boîte sûre, alors il suffit d’y déposer la clé et de s’assurer qu’elle ne puisse ressortir!

Une boîte qui range les clés de façon sûre ne doit jamais retourner la clé à moins qu’elle n’y soit forcée.

La situation est beaucoup plus délicate si une telle boîte n’est pas disponible.

C’est la situation lorsque la sécurité est demandée à partir d’un PC ordinaire...

Page 30: Authentification et identification 8 e cours Louis Salvail2014

Un cas fréquentUn cas fréquentSupposons que votre clé privée RSA n’est accessible que si le bon mot de passe est fourni.

Puisque cette clé ne peut être protégée par une unité matérielle, il faut la ranger chiffrée avec le mot de passe comme clé.

Un problème est qu’un mot de passe n’est pas une chaîne de 128 bits aléatoires comme les clés AES (par exemple).

Le hachage peut aider ici, si le mot de passe est mp et h est une fonction de hachage standard, alors la clé SK est chiffrée par Eh(mp)(SK).

Le problème c’est que le nombre de mots de passe possibles est bien moindre que 2128!!

Page 31: Authentification et identification 8 e cours Louis Salvail2014

Briser le chiffrement de Briser le chiffrement de clés sans briser AESclés sans briser AES

Fichier ClésFichier Clés : :

Eh(mp)(SK)

essayer un nouveau mot de passe

possible

h(mp*)

déchiffreur déchiffreur AESAES

(S*,PK) une paire RSA?

S*

Un truc contre ce type Un truc contre ce type d’attaques :d’attaques :

Ralentir l’évaluation de Ralentir l’évaluation de hh() :() :hh((mpmp)=)=SHASHA((SHASHA((SHASHA((SHASHA(...(...SHASHA((mpmp).).

..))))..))))

où le nombre d’itérations de où le nombre d’itérations de SHA peut aller jusqu’à SHA peut aller jusqu’à quelques milliers.quelques milliers.

PKPK est la clé publique est la clé publique de l’utilisateurde l’utilisateur

clé secrète RSA

Page 32: Authentification et identification 8 e cours Louis Salvail2014

Identification par défisIdentification par défisCe type de protocoles d’identification vérifie que P connaît une information secrète sans que celle-ci soit communiquée à V.

L’interaction est nécessaire pour empêcher les attaques par redites.

Ces protocoles peuvent être utilisés pour vérifier qu’un protocole d’échange de clés secrètes a fonctionné comme prévu.

Ces protocoles peuvent être construits à partir :

d’une clé secrète pour un système de chiffrement symétrique,

d’une clé privée correspondant à une certaine clé publique pour un système de chiffrement asymétrique,

d’une clé privée correspondant à une certaine clé publique pour un système de signature.

Page 33: Authentification et identification 8 e cours Louis Salvail2014

Authentification de clés Authentification de clés secrètessecrètes

L’identification mutuelle entre P et V qui partagent une clé secrète K pour un système de chiffrement symétrique EK(.).

KKKK

tire au hasard un rO aléatoire

pige rA aléatoire

<Obelix,rO>CA=EK(<Obélix,rO,rA>)CB=EK(<Astérix,rA>)

accepte si DK(CA) contient Obélix et rO.

accepte si DK(CB) contient Astérix et rA.Notez qu’un tel système ne Notez qu’un tel système ne

permet pas de distinguer permet pas de distinguer Astérix d’Obélix!!!Astérix d’Obélix!!!

appelé appelé «nonce»«nonce»appelé appelé

«nonce»«nonce»

Page 34: Authentification et identification 8 e cours Louis Salvail2014

<Obelix>

Authentification de clés Authentification de clés publiques (par chiffrement)publiques (par chiffrement)V identifie P en vérifiant qu’il possède la clé secrète SK associée à la clé publique PK.

Le chiffrement à clé publique EPK(.) et le déchiffrement associé DSK(.) sont utilisés.

SKSKPKPK

CA=EPK(<Astérix,rA>)rA

tire au hasard un rA aléatoiredéchiffre DSK(CA) et

extrait rO=rA pour autant qu’Astérix y figure.

accepte si rA est reçu.

noncenonce

P : :V

•L’homme du milieu ne L’homme du milieu ne peut que retransmettrepeut que retransmettre•Les nonces empêchent Les nonces empêchent les redites.les redites.

•L’homme du milieu ne L’homme du milieu ne peut que retransmettrepeut que retransmettre•Les nonces empêchent Les nonces empêchent les redites.les redites.

Page 35: Authentification et identification 8 e cours Louis Salvail2014

Authentification de clés Authentification de clés publiques (par signature)publiques (par signature)

V identifie P en vérifiant qu’il possède la clé secrète SK associée à la clé publique PK.

La signature à clé publique SSK(.) et la vérification associée VPK(.) sont utilisées.

SKSKPKPK

P : :VrA

<Obélix, s=SSK(<rA>)>

tire au hasard un rA aléatoire

accepte si VPK(s) est

une signature de rA.

noncenoncenoncenonce

Louis Salvail
Ne peut pas être utilisé avec RSA naïf.Cesar joue Obelix. Il reçoit rA. Il calcul r1 et r2 avec r2=rA/r1 mod N. Il exécute le protocole deux fois avec Obelix en jouant Asterix (V): Il donne r1 la première fois et reçoit s1, il donne r2 la deuxième fois pour obtenir s2. Il répond à Astérix s1*s2. Astérix accepte César…
Page 36: Authentification et identification 8 e cours Louis Salvail2014

Pour et contre de Pour et contre de l’identification par défisl’identification par défisL’avantage premier de ces méthodes est que le secret n’est jamais donné en clair au vérificateur.

Les attaques par mascarade sont éliminées.

Les défis permettent de se prémunir contre les redites.

Cependant, ils demandent de l’interaction entre les parties.

Ces systèmes demandent aussi une puissance de calcul au mandant («principal»). Ils doivent donc résider sur ordinateurs ou cartes à puce.

Dans les deux cas, un système d’identification par mots de passe doit permettre un contrôle d’accès au matériel.

Page 37: Authentification et identification 8 e cours Louis Salvail2014

Petits problèmes (I)Petits problèmes (I)Considérez les deux approches suivantes pour l’identification :

uu11,PK,PK11

uu22,PK,PK22

uu33,PK,PK33

::..

uunn,PK,PKnn

SIGNE

uu11,f(mp,f(mp11))uu22,f(mp,f(mp22))uu33,f(mp,f(mp33))

::..

uunn,f(mp,f(mpnn))

UNIX r

ObélixSsk(<Obélix,r>)

Obélix,

mp

Q1 : Considérez un adversaire passif qui écoute les communications et tente de le personnifier. Comparez la sécurité des deux approches si les transmissions ne sont pas chiffrées. Si elles sont chiffrées?

Q2 : Considérez un adversaire qui peut s’introduire sur les serveurs et lire l’information des fichiers. Comparez la sécurité des deux approches si l’adversaire peut seulement lire. S’il peut modifier les fichiers?

Q3 : Quelle solution favoriseriez-vous en général (en incluant les attaques qui permettent à l’adversaire de s’introduire sur les serveurs)?

Louis Salvail
Q3: Dépend si de la puissance de calcul est accessible a Obelix.Il faudrait signer/authentifier le fichier dans les deux cas.
Page 38: Authentification et identification 8 e cours Louis Salvail2014

Petits problèmes (II)Petits problèmes (II)

La fonction à sens unique d’Unix pour chiffrer les mots de passe est une version modifiée de DES sans clé secrète. Une caractéristique est que la fonction est beaucoup beaucoup plus lente que DES. Pourquoi?

Dans bien des cas, le fichier de mots de passe ne range pas simplement (u,f(mpu)) mais plutôt (u,ru,f(mpu||ru)). Pourquoi? Cette technique est appelée «random salt» ou «salage aléatoire».

Page 39: Authentification et identification 8 e cours Louis Salvail2014

Salage UnixSalage UnixLe mot de passe est «chiffré» par une modification de DESk : DES’k.

Par le passé, le salage était formé de deux caractères : (S1,S2), il y a au total 4096=64*64 possibilités pour S1 et S2. Aujourd’hui, le salage est de 24 bits sur bien des plates-formes UNIX.

Le fichier ressemble à ceci :

•login, login, DES’DES’S1||S2||S1||S2||mpmp(0), no. utilisateur, no. groupe, maison, programme (0), no. utilisateur, no. groupe, maison, programme initial initial

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Page 40: Authentification et identification 8 e cours Louis Salvail2014

Petits problèmes (III)Petits problèmes (III)Pour les systèmes de banque à domicile («home banking»), la clé privée de l’utilisateur peut être rangée sur une carte à puce.

La carte doit être insérée dans un lecteur connecté au PC. Elle est activée après avoir entré un NIP. Quand une signature numérique doit être générée, le PC hache le message et la valeur hachée est transmise à la carte. La carte retourne ensuite la signature au PC.

Certaines cartes ont un clavier pour entrer le NIP. D’autres n’en ont pas. L’utilisateur entre le NIP sur le PC et celui-ci le transmet à la carte. Qu’est-ce que l’adversaire doit faire pour attaquer la sécurité de la carte dans les deux cas?

Quels problèmes peuvent survenir si le logiciel qui calcule le hachage est attaqué par un virus par exemple?

Des systèmes demandent le NIP pour chaque message signé, l’utilisateur doit explicitement confirmer la signature d’un nouveau message. Est-ce que ceci règle le problème précédent?

Supposons que les clés privées soient rangées sur une unité matérielle connectée à un serveur. L’utilisateur doit s’authentifier auprès de l’unité pour qu’elle utilise ses clés pour signer. Comparez la sécurité de ce système au précédent.