Vous êtes sur la page 1sur 64

IT Security

L’authentification

Oussama SAOUDI, Eng M.eng (ECP 2001) 1


L’authentification

Définition
L'authentification est la procédure qui consiste, pour un système informatique, à vérifier l'identité d'une
personne ou d'un ordinateur afin d'autoriser l'accès de cette entité à des ressources
(systèmes, réseaux, applications…).

L'authentification désigne le processus visant à confirmer qu'un commettant est bien celui qu'il prétend être.
Il existe quatre facteurs d'authentification classiques qui peuvent être utilisés pour confirmer l'identité d'un
commettant :

1. utiliser une information que seul le commettant connaît ;


2. utiliser une information unique que seul le commettant possède ;
3. utiliser une information qui caractérise le commettant dans un contexte donné ;
4. utiliser une information que seul le commettant peut produire.

D'autres facteurs d'authentification peuvent parfois être utilisés comme les contraintes temporelles ou les
capacités de localisation

Oussama SAOUDI, Eng M.eng (ECP 2001) 2


L’authentification
Enjeu
Le contrôle permanent de l'intégrité et de l'accès (usage, identité du destinataire, émetteur, propriétaire) à
un contenu ou à un service constitue le fondement de la traçabilité des transactions. Ce contrôle permet :

la protection des intérêts supérieurs de l'État et du patrimoine informatique des entreprises, donc de leurs
intérêts commerciaux ; pour les entreprises, il s'agit de réduire le coût qui résulte d'attaques, de la perte de
temps, de la perte d'informations, de l'espionnage ou des fuites involontaires d'informations ;

le développement du commerce et des échanges électroniques. L'authentification contribue à


la facturation des services et contribue à la confiance dans l'économie numérique, condition indispensable
du développement économique ;

la protection de la vie privée. Les données personnelles véhiculées dans les systèmes d'information sont
des données sensibles à protéger.

Les techniques d'authentification font partie des technologies clés.

Les efforts entrepris par les constructeurs et fournisseurs de services Internet (eBay, Yahoo, PayPal, etc.)
pour mettre en œuvre des systèmes d'authentification , notamment d'authentification forte, nous montrent
clairement que l'authentification est un des enjeux majeurs pour le futur.

Oussama SAOUDI, Eng M.eng (ECP 2001) 3


L’authentification

Preuves
Dans le cas d'un individu, l'authentification consiste, en général, à vérifier que celui-ci possède
une preuve de son identité ou de son statut, sous l'une des formes (éventuellement combinées)
suivantes :

ce qu'il sait (mot de passe, numéro d'identification personnel) ;

ce qu'il possède (acte de naissance, certificat d'immatriculation, carte d'identité, carte à
puce, droit de propriété, certificat électronique, diplôme, passeport, carte Vitale, Token OTP
( One Time Password ), Carte OTP, Téléphone portable, PDA (Personal Digital Assistant), etc.) ;

ce qu'il est (photo, caractéristique physique, voire biométrie) ;

ce qu'il sait faire (geste, signature).

Oussama SAOUDI, Eng M.eng (ECP 2001) 4


L’authentification

Méthodes de vérification
La phase de vérification fait intervenir un protocole d'authentification. On en distingue trois
sortes « familles » :

I. l'authentification simple : l'authentification ne repose que sur un seul élément ou


« facteur » (exemple : l'utilisateur indique son mot de passe) ;

II. l'authentification forte : l'authentification repose sur deux facteurs ou plus ;

III. l'Authentification unique : (ou identification unique ; en anglais Single Sign-On ou SSO) est
une méthode permettant à un utilisateur de ne procéder qu'à une seule authentification
pour accéder à plusieurs applications informatiques (ou sites internet sécurisés).

Par ailleurs, l'authentification à transfert nul de connaissance ne considère que l'information de


la véracité d'une proposition : C’ est un concept utilisé en cryptologie dans le cadre de l'authentification et de l'identification.
Cette expression désigne un protocole sécurisé dans lequel une entité nommée « fournisseur de preuve », prouve mathématiquement à une
autre entité, le « vérificateur », qu'une proposition est vraie sans toutefois révéler une autre information que la véracité de la proposition.
En pratique, ce schéma se présente souvent sous la forme d'un protocole de type « stimulation/réponse » (challenge-response). Le vérificateur
et le fournisseur de preuve s'échangent des informations et le vérificateur contrôle si la réponse finale est positive ou négative.
Oussama SAOUDI, Eng M.eng (ECP 2001) 5
L’authentification
Authentification simple
L'authentification simple la plus courante est le mot de passe.

La qualité et la longueur du mot de passe sont des éléments cruciaux pour la sécurité. Un mot de passe trop
court ou provenant d'un dictionnaire est susceptible d'être attaqué via une recherche dans une
table contenant une liste de mots de passe.

D'une manière plus systématique, une attaque par force brute tente toutes les possibilités et, avec
suffisamment de temps, il est théoriquement possible de retrouver le mot de passe. Un compromis est
la table arc-en-ciel, une amélioration du principe du compromis temps-mémoire.

→ Quel que soit le facteur d'authentification, une authentification simple peut être effectuée.

Oussama SAOUDI, Eng M.eng (ECP 2001) 6


L’authentification
Mot de passe / Password

Cassage de mot de passe

Il existe différentes techniques pour obtenir un mot de passe, par exemple :

en utilisant des techniques traditionnelles d'espionnage : ingénierie sociale, écoute


téléphonique, hameçonnage, fouille de poubelle ;

en utilisant des techniques de cryptanalyse : attaque temporelle, cryptanalyse acoustique ;

par l'utilisation d'un logiciel malveillant : enregistreur de frappe, virus, cheval de Troie ;

par l'utilisation de failles dans la protection logicielle : contournement de la demande de mot de passe
au démarrage de l'ordinateur.

Cependant, le cassage d'un mot de passe s'effectue aussi en tentant de le deviner


Oussama SAOUDI, Eng M.eng (ECP 2001) 7
L’authentification
Mot de passe / Password : Cassage de mot de passe

Capture d'un mot de passe « en clair »

Un mot de passe est « en clair » lorsqu'il n'a pas été transformé via une fonction de hachage. Il existe
plusieurs situation où le mot de passe peut être trouvé en clair :

Espionnage direct du clavier de la personne qui saisit son mot de passe.

Mise en place d'un enregistreur de frappes (keylogger), qui saisit tout texte tapé par un utilisateur à son
insu.

Écoute du réseau. Si un attaquant arrive à écouter une communication non chiffrée où la cible doit
s'identifier par un mot de passe, ce mot de passe apparaîtra en clair à l'attaquant.

Vol d'un mot de passe écrit sur un post-it.


Oussama SAOUDI, Eng M.eng (ECP 2001) 8
L’authentification
Mot de passe / Password : Cassage de mot de passe

Capture d'un mot de passe chiffré

Dans le cas où un mot de passe chiffré est capturé, il n'est pas directement utilisable : la personne
malintentionnée (l'attaquant) doit découvrir le clair correspondant, en le déchiffrant si c'est possible, ou
avec d'autres techniques. On dit que l'attaquant casse ou « craque » le mot de passe. On distingue deux
principaux cas de figure : le mot de passe fait partie d'une communication, ou c'est seulement le mot de
passe chiffré qui est capturé.

I. Toute la communication est chiffrée

Dans ce cas, il faut trouver un moyen de déchiffrer toute la communication pour trouver le mot de passe.
Il faut donc trouver une faille dans l'algorithme de chiffrement ou dans une de ses implémentations.
Si le chiffrement est cassé, peu importe la taille du mot de passe il sera trouvé dans le texte déchiffré

Oussama SAOUDI, Eng M.eng (ECP 2001) 9


L’authentification
Mot de passe / Password : Cassage de mot de passe

Capture d'un mot de passe chiffré

II. Seul le mot de passe chiffré est capturé

C'est généralement un condensat (ou hash/empreinte) du mot de passe qui est capturé, c'est-à-dire le
résultat d'un algorithme non réversible.
C'est une bonne pratique, utilisée dans de nombreux cas : sites web, comptes d'utilisateur de système
d'exploitation, etc.
Dans le cas où cet algorithme n'est pas vraiment irréversible (à cause d'erreurs de conception ou
d'implémentation), il peut être possible de retrouver le clair correspondant à un condensat. Par exemple, la
gestion des mots de passe pour protéger les fichiers Excel et Word d'Office 97 comporte des failles qui font
qu'il est facile de trouver les mots de passe utilisés.

Mais en général pour casser un condensat, on utilise d'autres techniques. En connaissant la fonction de
hachage, on peut imaginer différentes attaques :

Oussama SAOUDI, Eng M.eng (ECP 2001) 10


L’authentification
Mot de passe / Password

 L'attaque par force brute est une méthode utilisée en cryptanalyse pour trouver un mot de
passe ou une clé. Il s'agit de tester, une à une, toutes les combinaisons possibles

Complexité théorique de l'attaque

Si le mot de passe contient N caractères, indépendants (la présence d'un caractère ne va pas influencer un
autre) et uniformément distribués (aucun caractère n'est privilégié), le nombre maximum d'essais
nécessaires se monte alors à :
26N si le mot de passe ne contient que des lettres de l'alphabet totalement en minuscules ou en
majuscules ;
52N si le mot de passe ne contient que des lettres de l'alphabet, avec un mélange de minuscules et de
majuscules ;
62N si le mot de passe mélange les majuscules et les minuscules ainsi que les chiffres.

Il suffit en fait d'élever la taille de « l'alphabet » utilisé à la puissance N. Il s'agit ici d'une borne supérieure et
en moyenne, il faut deux fois moins d'essais pour trouver le mot de passe (si celui-ci est aléatoire). En
réalité, bien peu de mots de passe sont totalement aléatoires et le nombre d'essais est bien inférieur aux
limites données ci-dessus (grâce à la possibilité d'une attaque par dictionnaire).
Oussama SAOUDI, Eng M.eng (ECP 2001) 11
L’authentification
Mot de passe / Password
L'attaque par force brute

le nombre maximum d'essais nécessaires pour trouver des mots de passe de longueurs variables :

Un ordinateur personnel est capable de tester plusieurs centaines de milliers voire quelques millions de
mots de passe par seconde. Cela dépend de l'algorithme utilisé pour la protection mais on voit qu'un mot de
passe de seulement 6 caractères, eux-mêmes provenant d'un ensemble de 62 symboles (minuscules ou
majuscules accompagnés de chiffres), ne tiendrait pas très longtemps face à une telle attaque.

Dans le cas des clés utilisées pour le chiffrement, la longueur est souvent en bits. Dans ce cas, le nombre de
possibilités (si la clé est aléatoire) à explorer est de l'ordre de 2N où N est la longueur de la clé en bits.

Une clé de 128 bits représente déjà une limite impossible à atteindre avec la technologie actuelle et
l'attaquant doit envisager d'autres solutions cryptanalytiques si celles-ci existent. Il faut cependant prendre
en compte que la puissance du matériel informatique évolue sans-cesse (voir Loi de Moore) et un message
indéchiffrable à un moment donné peut l'être par le même type d'attaque une dizaine d'années plus tard.
Oussama SAOUDI, Eng M.eng (ECP 2001) 12
L’authentification
Mot de passe / Password
L'attaque par force brute / Optimisation de l'attaque par force brute

Le principe général de l'attaque par force brute reste toujours de tester l'ensemble des mots de passe
possible, cependant l'ordre de test peut être optimisé afin d'obtenir de meilleurs rendements qu'une
attaque par ordre alphabétique.

ordre aléatoire : certains systèmes de mots de passe sont capables de reconnaître les tentatives d'attaque
par force brute suivant les algorithmes les plus courants et de les bloquer, l'introduction d'éléments
aléatoires peut masquer l'attaque

Attaque par dictionnaire

Plutôt que d'utiliser des chaînes de caractère aléatoires comme mot de passe, les utilisateurs ont tendance à
utiliser des mots courant plus faciles à retenir or, s'il existe un nombre important de combinaisons aléatoires
pour une chaîne de longueur donnée, le nombre de mots présents dans un ou plusieurs langages est
beaucoup plus faible (à titre d'exemple l'Académie française estime que les dictionnaires encyclopédiques
comptent environ 200 000 mots).
Connaissant ce phénomène culturel, il peut être judicieux de tester ces mots courants et leurs dérivés (y
compris argot, dialectes, mots avec fautes d'orthographe courante…) en priorité
Oussama SAOUDI, Eng M.eng (ECP 2001) 13
L’authentification
Mot de passe / Password
L'attaque par force brute / Optimisation de l'attaque par force brute

Optimisation par observations statistiques


De manière générale, pour développer le principe de l'attaque par dictionnaire, l'attaquant peut tirer parti
du fait qu'en l'état actuel des connaissance il n'existe pas de générateur aléatoire parfait et que de ce fait le
générateur étant toujours pseudo-aléatoire (qu'il soit un processus informatique ou la saisie par une
personne) il est toujours possible en observant de grands échantillons de mots de passe produits par un
générateur donné d'identifier des tendances permettant un résultat généralement meilleur qu'une
recherche alphabétique ou aléatoire

Optimisation par canal auxiliaire


Outre ces attaques théoriques, il existe des attaques tirant parti de l'implémentation des systèmes pour
augmenter le rendement de l'attaque par force brute, notamment la transmission des mots de passe sous la
forme de hash autorise l'usage de tables arc en ciel, du fait des collisions liées aux fonctions de hachage il est
possible de casser une protection sans connaitre le mot de passe réel.

Accroissement de la puissance de calcul


Outre ces améliorations algorithmiques, l'attaque peut également être accélérée en augmentant la
puissance de calcul matérielle consacrée à celle-ci par exemple en utilisant des superordinateurs ou de
l'informatique distribuée (parfois sous la forme d'un botnet).
Oussama SAOUDI, Eng M.eng (ECP 2001) 14
L’authentification
Mot de passe / Password
L'attaque par force brute / Défense contre l'attaque par force brute

Utilisation de mots de passe robustes


La première défense consiste à renforcer le mot de passe en évitant les écueils qu'exploitent les attaques par
force brute optimisée. Renforcer la force brute du mot de passe consiste à :
allonger le mot de passe ou la clé si cela est possible ;
utiliser la plus grande gamme de symboles possibles (minuscules, majuscules, ponctuations, chiffres) ;
l'introduction de caractères nationaux (Â, ÿ…) rend plus difficile le travail des pirates (mais parfois aussi
l'entrée de son mot de passe quand on se trouve à l'étranger) ;

Randomisation des mots de passe

Éviter toutes les formes ou habitudes (patterns) identifiées ou identifiables par les attaquants
éviter l'emploi de mot du langage commun pour empêcher les attaques par dictionnaire
éviter les répétitions de formes de mot de passe (par exemple les mots de passe constitués de caractères
en majuscules, caractères en minuscule puis terminés par des symboles sont une famille identifiée et testée
en priorité par les logiciels d'attaque par force brute)
en poussant le raisonnement précédent jusqu'au bout il apparaît que la seule méthode de choix de mot de
passe qui échappe à toute optimisation est la génération aléatoire(ou en pratique une génération pseudo-
aléatoire de qualité suffisante);

Oussama SAOUDI, Eng M.eng (ECP 2001) 15


L’authentification
Mot de passe / Password
L'attaque par force brute / Défense contre l'attaque par force brute

Limitation temporelle des connexions

Les mots de passes sont censés rendre l'attaque virtuellement impossible par des temps de cassage
extrêmement long, or les temps de cassage sont souvent une fonction linéaire de la capacité de la ou des
machine(s) attaquante. Certains attaquants (services secrets, laboratoires…) peuvent disposer de machines
très puissantes et les capacités des machines disponibles au grand public sont en constante progression que
ce soit par leur puissance brute ou par l'introduction de nouveaux paradigmes (calcul parallèle par exemple).
Il en résulte qu'une protection qui paraissait suffisante à un instant donné peut se trouver dépassée par les
capacités disponibles à l'attaquant.

La principale méthode pour neutraliser la puissance de calcul d'un attaquant consiste à limiter les tentatives
possibles dans le temps. La méthode la plus restrictive et la plus sûre (qu'on retrouve sur les cartes
bancaires) consiste à n'autoriser qu'un nombre limité d'erreurs avant verrouillage du système. Des méthodes
moins contraignantes peuvent être de limiter le nombre de tentatives par unité de temps. Ces méthodes
présentent cependant des contraintes d'exploitation et peuvent être détournées par un attaquant pour
créer des attaques par déni de service.

Oussama SAOUDI, Eng M.eng (ECP 2001) 16


L’authentification
Mot de passe / Password
L'attaque par force brute / Défense contre l'attaque par force brute

Limitation temporelle des connexions


2 brevets principaux existent à ce sujet :
Un des Laboratoires Bell consistant à doubler le temps d'attente après chaque essai infructueux, pour le
faire redescendre ensuite en vol plané après un certain temps sans attaques ;
Un de la compagnie IBM consistant à répondre « Mot de passe invalide » après N essais infructueux en un
temps T, y compris si le mot de passe est valide : le pirate a alors toutes les chances de rayer de façon
erronée le mot de passe valide en le considérant invalide. De plus, cette méthode empêche toute attaque
visant à un déni de service pour l'utilisateur.

Augmentation du coût par tentative


Une variante de l'attaque de la limitation temporelle du nombre de tentatives consiste à augmenter les
ressources nécessaires pour réaliser chaque tentative.
Une première méthode consiste à utiliser une fonction de hachage cryptographique de complexité
relativement élevée. Ainsi le coût de chaque tentative se trouve augmenté.

Comparé à la simple temporisation, l'intérêt de l'augmentation du coût du hachage est qu'il ne peut être
contourné (l'opération de hachage est strictement nécessaire pour effectuer une tentative).

Oussama SAOUDI, Eng M.eng (ECP 2001) 17


L’authentification
Mot de passe / Password
L'attaque par force brute / Défense contre l'attaque par force brute

Augmentation du coût par tentative


Les inconvénients est que le temps de l'opération baisse avec la puissance de la machine attaquante, là où la
temporisation reste constante et peut être choisie de façon arbitraire, et que l'augmentation de coût
s'applique également aux opérations légitimes.
Un autre exemple de système de limitation des tentatives de connexion est l'utilisation de CAPTCHA. Ces
dispositifs peuvent poser des difficultés significatives pour une machine tout en restant acceptables pour un
utilisateur humain.
Mais la protection contre les attaques par force brute est souvent apportée par des solutions pragmatiques,
en adéquation avec les besoins propres à l’utilisateur, comme la restriction d’accès à une, plusieurs, ou à une
plage entière d’adresses IP, ce qui correspond à la grande majorité des cas et se présente comme une
alternative fiable à la limitation de durée de validité des mots de passe

Renouvellement des mots de passe


Une solution peut constituer à limiter la durée de validité des mots de passe à une durée inférieure à celle
estimée pour leur cassage en les renouvelant à intervalles réguliers. Ceci peut passer soit par une politique
de sécurité informatique appliquée avec rigueur pour des périodes de renouvellement jusqu'à quelques
jours ou par des dispositifs physiques token pour des fréquences de renouvellement très élevées.

Oussama SAOUDI, Eng M.eng (ECP 2001) 18


L’authentification
Mot de passe / Password
L'attaque par force brute / Défense contre l'attaque par force brute

Salage

Les systèmes de mots de passe comme celui d'Unix utilisent une version modifiée du chiffrement DES.
Chaque mot de passe est accompagné d'une composante aléatoire appelée sel dont le but est de modifier la
structure interne de DES et éviter ainsi une recherche exhaustive en utilisant du matériel spécialement
conçu pour DES. Ce système peut cependant créer une faille de sécurité en facilitant les attaques par déni de
service: le temps d'attente peut être utilisé pour gêner la connexion d'utilisateurs légitimes.

En théorie et avec suffisamment de temps, l'attaquant peut toujours trouver le mot de passe, mais lorsque
ce temps dépasse la décennie, il ne pourra pas en escompter un grand profit, et le mot de passe aura de
toute façon changé. Il change même à chaque fois si l'on emploie le principe du masque jetable.

Le problème est tout autre si l'attaquant récupère directement le fichier des hashs des mots de passe ; plus
rien ne l'empêche alors de tester chez lui des mots de passe à la vitesse de son(es) ordinateur(s). C'est
pourquoi dans tous les UNIX modernes ces hashs sont généralement situés dans le fichier /etc/shadow,
lisible uniquement par l'utilisateur root. Une compromission de cet utilisateur permet par conséquent de
récupérer ce fichier, et ainsi de lancer une attaque par force brute sur son contenu.

Oussama SAOUDI, Eng M.eng (ECP 2001) 19


L’authentification
Mot de passe / Password

Les compromis temps-mémoire sont utilisés en cryptanalyse pour récupérer des clés à partir de leur trace
chiffrée, en s'appuyant sur des tables précalculées. Cette méthode a été formalisée par Martin Hellman dans
son article A cryptanalytic time-memory trade-off publié en 1980.

Comme son nom le suggère, cette méthode probabiliste se trouve à mi-chemin entre une recherche
exhaustive à la demande (demandant un temps excessif) et un stockage complet préalable de toutes les
solutions possibles en mémoire par un annuaire inverse (demandant une capacité de stockage irréaliste).

La méthode utilise des tables précalculées (souvent plusieurs jours de calcul) pour accélérer
considérablement un cassage de clé "à la demande" en fonction des caractéristiques de la clé brouillée.

Oussama SAOUDI, Eng M.eng (ECP 2001) 20


L’authentification
Mot de passe / Password

Une rainbow table (littéralement table arc-en-ciel) est, en cryptanalyse, une structure de données créée
en 2003 par Philippe Oechslin de l'EPFL pour retrouver un mot de passe à partir de son empreinte
numerique.
Il s'agit d'une amélioration des compromis temps-mémoire proposés par Martin Hellman dans les années
1980

Ces points seront traités dans le module consacré à la science de Cryptologie


(cryptographie + cryptanalyse) avec les notions de la Fonctions de hachage, cryptographie
symétrique, cryptographie asymétrique….

Mais ça n’empêche de traiter d’une façon générale, dans les


slides suivant, la notion de fonction de hachage afin de
comprendre la notion de l’empreinte numérique du mot
de passe et d’autre notions traitées.

Oussama SAOUDI, Eng M.eng (ECP 2001) 21


L’authentification
Mot de passe / Password : Stocker et casser un mot de passe
Fonction de Hachage

À la base, une fonction de hachage est une fonction qui transforme une donnée d’entrée, de taille
quelconque, en une donnée de sortie, nommée empreinte, de taille connue, et fixe. Une fonction de
hachage triviale, par exemple, est de faire la somme de tous les octets d’un message un par un. Une fonction
de hachage cryptographique (du grec kruptos (« caché ») et graphein (« écrire ») — autrement dit,
permettant de cacher ce qui est écrit) a, idéalement, les propriétés suivantes:

1. il est relativement simple de calculer la valeur de l’empreinte à partir des données initiales,
2. il est infaisable de générer des données dont l’empreinte correspondra à une empreinte pré-
déterminée,
3. il est infaisable de modifier un message sans faire changer son empreinte,
4. il est infaisable de trouver deux messages différents qui ont la même empreinte.

ici, « infaisable » signifie « impossible dans un temps raisonnable (disons, moins d’un siècle) par les
ordinateurs les plus puissants qui existent »

Puisque nous parlons ici de cryptographie, il faut également rappeler une base essentielle de la
cryptographie: ne jamais tenter d’inventer soi-même son algorithme (à moins d’être un expert international
en cryptographie – et encore)
Oussama SAOUDI, Eng M.eng (ECP 2001) 22
L’authentification
Mot de passe / Password : Stocker et casser un mot de passe
Fonction de Hachage
La cryptographie est une discipline complexe, de nombreux algorithmes de chiffrement et de hachage, y
compris des algorithmes développés par des experts, se sont avérés vulnérables à des attaques, et les seuls
algorithmes qui peuvent être considérés comme incassables sont ceux que personne n’a jamais réussi à
casser (ça semble évident)

Prenons donc, ici, l’algorithme SHA-1. C’est, dans l’état actuel des connaissances, un bon algorithme de
hachage cryptographique, utilisé par les banques et les services secrets ; publié en 1995 par la NSA
américaine, personne n’a jamais réussi à mettre en défaut les points 2, 3 et 4 cités précédemment, et
personne n’a jamais réussi à trouver des méthodes qui faciliteraient la recherche de solutions au points 2, 3
et 4. Bref, c’est un algorithme qui peut être utilisé sans crainte pour votre site web.

Voilà ce que donnerait l’algorithme SHA-1 si on l’appliquait à plusieurs messages :

Oussama SAOUDI, Eng M.eng (ECP 2001) 23


L’authentification
Mot de passe / Password : Stocker et casser un mot de passe
Fonction de Hachage/ Empreinte

Oussama SAOUDI, Eng M.eng (ECP 2001) 24


L’authentification
Mot de passe / Password : Stocker et casser un mot de passe
Fonction de Hachage/ Empreinte

On voit ici que :


la taille de l’empreinte est toujours la même, indépendamment de la taille du message,
changer un seul caractère change complètement l’empreinte.

Pour répondre à notre problème, la manière de procéder est alors la suivante:

Stocker, sur le serveur, le SHA-1 du mot de passe.


Lorsqu’un utilisateur veut se connecter, il fournit un mot de passe.
Prendre le SHA-1 du mot de passe fourni.
Le comparer au SHA-1 du mot de passe stocké.
Si les empreintes SHA-1 sont comparables, le mot de passe est correct. Sinon, il ne l’est pas.

Il est toujours possible d’authentifier les utilisateurs, mais aucun mot de passe n’est stocké en clair. Un
attaquant qui pénètrerait sur votre serveur, ou qui volerait une sauvegarde de votre base de données, n’a
donc plus aucun moyen de connaître les mots de passe de vos utilisateurs.

Non ?
Eh bien si, justement, ça ne suffit pas!
Oussama SAOUDI, Eng M.eng (ECP 2001) 25
L’authentification
Mot de passe / Password : Stocker et casser un mot de passe
Fonction de Hachage/ casser le mot de passe
L’attaquant dispose des empreintes SHA-1 de tous les mots de passe de tous vos utilisateurs. Il n’y a aucun
moyen, à partir d’une empreinte SHA-1, de revenir au mot de passe correspondant. Mais que se passe-t-il si
l’attaquant dispose des hash SHA-1 de tous les mots de passe possibles ?

Des listes d’empreintes SHA-1 de tous les mots de passe possibles (c’est-à-dire, de tous les mots de passe
d’une taille déterminée, avec un jeu de caractère déterminé) existent, jusqu’à 8, 9, 10 caractères. Ces listes
ont été pré-calculées par des réseaux distribués de CPU, parfois en utilisant les capacités de calcul
supérieures des processeurs graphiques (GPU). En utilisant la techniques des “tables arc-en-ciel” (rainbow
tables), il est possible de réduire d’un facteur de plusieurs millions la taille que peut prendre ce genre de
listes, de sorte à ce qu’elles puissent tenir, selon leur taille, sur un DVD, ou sur un (gros) disque dur.
(on ne traitera pas en détail ici le principe derrière les tables arc-en-ciel qui est un peu complexe à expliquer
pour le moment. L’article sur Wikipédia contient une bonne explication – surtout celui sur la Wikipedia
anglophone, plus complet que l’article francophone).
Et grâce à celles-ci, l’attaquant pourra obtenir quasiment instantanément les mots de passe de tous vos
utilisateurs. Du moins de ceux qui ont un mot de passe de mois de 11 caractères.

La solution à ce problème est également bien connue : il suffit de “saler” les empreintes.

Oussama SAOUDI, Eng M.eng (ECP 2001) 26


L’authentification
Mot de passe / Password : Stocker et casser un mot de passe
Fonction de Hachage / Le principe du salage
Le principe du salage est le suivant : si l’empreinte d’un mot de passe suffisamment commun se retrouvera
forcément dans les base de données pré-calculées d’empreintes de mots de passe, la concaténation du mot
de passe, et d’une chaîne de caractères suffisamment longue et complètement aléatoire n’y sera pas. On
nomme cette chaîne de caractères aléatoire le “sel” (salt).

Oussama SAOUDI, Eng M.eng (ECP 2001) 27


L’authentification
Mot de passe / Password : Stocker et casser un mot de passe
Fonction de Hachage / Le principe du salage
On procède alors de la manière suivante :

i. Avant de stocker le mot de passe de


l’utilisateur, on génère un sel aléatoire.
ii. On stocke, sur le serveur, à la fois
l’empreinte de (sel + motdepasse), et le
sel lui-même.
iii. Lorsque l’utilisateur fournit un mot de
passe pour tenter de s’authentifier, on
concatène le sel (stocké sur le serveur), et
le mot de passe (fourni par l’utilisateur)
iv. Puis on calcule l’empreinte du tout
v. Enfin, on compare l’empreinte à celle
stockée sur le serveur. Le mot de passe
est correct si et seulement si les deux
correspondent.

Cette fois, les empreintes stockées sur notre serveur ne peuvent plus se retrouver dans une base de
données d’empreintes de mots de passe connus. Celles-ci sont donc en sécurité... non ?
……………………………………………………………………………………………………………..Non, toujours pas!
Oussama SAOUDI, Eng M.eng (ECP 2001) 28
L’authentification
Mot de passe / Password : Stocker et casser un mot de passe
Fonction de Hachage/casser encore une fois le mot de passe
L’utilisateur qui a compromis le serveur, ou volé une sauvegarde, aura accès à la fois au sel et à l’empreinte du mot de passe.
Il ne pourra pas utiliser de base de données d’empreintes précalculées pour déterminer les mots de passe correspondant à
une empreinte donnée, mais rien ne l’empêche de tenter de calculer l’empreinte de tous les mots de passe possibles, un par
un. D’ailleurs, combien y a-t-il de mots de passe possibles ? Faisons le calcul :

Oussama SAOUDI, Eng M.eng (ECP 2001) 29


L’authentification
Mot de passe / Password : Stocker et casser un mot de passe
Fonction de Hachage/casser encore une fois le mot de passe
Bien. SHA-1 est un algorithme de hachage très sûr, Incassable et l’un des plus sûrs du monde.

Mais il a un gros défaut: Il est rapide.

L'algorithme SHA-1 n'a pas été spécialement prévu pour hacher des mots de passe, mais plutôt comme
algorithme générique de génération d'empreintes cryptographiques, et, à ce titre, a été prévu pour être peu
coûteux à calculer.
La performance, en informatique, est généralement un avantage, mais elle est là notre ennemie : elle
simplifie grandement la vie à un attaquant potentiel.

En 2011, en utilisant les capacités prodigieuses qu’ont les cartes graphiques grand public (ATI, NVidia) à
effectuer à une cadence très élevée certains calculs très spécifiques, des logiciels tournant sur un PC grand
public peuvent calculer 2300 millions d’empreintes SHA-1 par seconde, nous pouvons donc déduire du
tableau précédent les temps de calcul suivants pour casser les mots de passe de nos utilisateurs :

Oussama SAOUDI, Eng M.eng (ECP 2001) 30


L’authentification
Mot de passe / Password : Stocker et casser un mot de passe
Fonction de Hachage/casser encore une fois le mot de passe

Ce que nous venons de montrer là, c’est que tout mot de passe qui ne ressemble pas à 1Sju;{9e:Q!D peut, de
toutes façons, être cassé dans un temps très raisonnable.

Il n’y a plus qu’une seule solution : il faut trouver un algorithme qui soit beaucoup plus long à calculer. Par
exemple, si nous avions un algorithme qui était 50000 fois plus long à calculer que SHA-1, il pourrait toujours
se calculer en 21 microsecondes sur notre logiciel de craquage de mots de passe bassé sur le GPU, mais nous
aurions alors le tableau suivant:

Oussama SAOUDI, Eng M.eng (ECP 2001) 31


L’authentification
Mot de passe / Password : Stocker et casser un mot de passe
Fonction de Hachage/ Key stretching

Ce qui serait, pour ce qui nous concerne, bien plus satisfaisant.

Ce n’est pas très compliqué d’avoir un algorithme 50000 fois plus long à calculer que SHA-1 : SHA1(sel,
SHA1(sel, motdepasse)) est 2 fois plus long à calculer, SHA1(sel, SHA1(sel, SHA1(sel, motdepasse))) est 3 fois
plus long, etc.
Il suffit juste de réitérer, de manière récursive, l’opération le nombre de fois souhaitées. On appelle ça de
l’étirement de clé (key stretching). Il est également possible d'utiliser des algorithmes dédiés dont le
comportement est similaire, comme bcrypt.

Oussama SAOUDI, Eng M.eng (ECP 2001) 32


L’authentification
Mot de passe / Password : Stocker et casser un mot de passe
Fonction de Hachage/ Key stretching

Considérant que, comme souvent lorsqu'il s'agit de sécurité, il vaut mieux utiliser des bibliothèques qui ont
fait leurs preuves plutôt que de mettre au point son propre algorithme,

les systèmes UNIX, ainsi que les versions récentes de PHP, fournissent une fonction « crypt » permettant
d’obtenir des empreintes pour lesquelles le temps de calcul sera arbitrairement long, en utilisant un
procédé similaire à celui décrit précédemment. Les versions modernes de crypt gèrent plusieurs
algorithmes de hachage spécialisé: bcrypt, SHA-2 avec étirement de clé

mais aussi, pour des raisons de compatibilité, des algorithmes basés sur DES et MD5 (à éviter d'utiliser sur
de nouveaux systèmes car ils ont des faiblesses reconnues).

Il existe des bibliothèques permettant de simplifier l’utilisation de la fonction crypt, ainsi que de la simuler
sur les systèmes trop anciens ne la supportant pas.
Par exemple, en PHP, la bibliothèque phpass (http://www.openwall.com/phpass/) fait exactement cela.

Oussama SAOUDI, Eng M.eng (ECP 2001) 33


L’authentification
Mot de passe / Password : Stocker et casser un mot de passe
Fonction de Hachage/ Key stretching
Le code ci-dessous illustre un exemple d’utilisation de phpass :

Oussama SAOUDI, Eng M.eng (ECP 2001) 34


L’authentification
Mot de passe / Password
Fausse faille
Certains logiciels (ex : Mozilla Firefox) permettent de rendre visibles les mots de passe des formulaires. Les
caractères « cachés » (ex. : rond, astérisque) sont là simplement pour éviter qu'une personne derrière soi ne
lise ce que l'on saisit. Dans le programme, à ce moment-là, le mot de passe est bien présent et encore non
chiffré, le rendre visible consiste simplement à changer une option d'affichage

Sur Internet
Par abus de langage, on assimile authentifications « faibles » à une authentification par identifiant et mot de
passe car historiquement, sur Internet les identifiants et mot de passe étaient transmis en clair (non chiffré)
vers les serveurs.
L'absence de chiffrement était due au fait que les protocoles de communication (HTTP, FTP...) et Internet
dans sa globalité n'ont pas été conçus dans une optique de sécurité. De plus, la puissance requise pour
chiffrer des données pouvait à l'époque être rédhibitoire.

En 2009, l'activation du protocole SSL/TLS (généralement symbolisé par un cadenas dans les navigateurs)
permet de chiffrer la communication, et plus particulièrement l'identifiant et le mot de passe. La capture
d'une communication (contenant login et mot de passe) est toujours possible. Mais cette communication
est, en théorie, inintelligible pour une tierce personne.

Oussama SAOUDI, Eng M.eng (ECP 2001) 35


L’authentification
Mot de passe / Password

Sur Internet
SSL permet l'authentification du serveur et du client. Mais généralement seul le serveur s'authentifie, avec
une clé publique et un certificat.
L'utilisateur s'identifie avec son identifiant et son mot de passe, mais ne présente en général pas de
certificat au serveur. C'est pourquoi on parle toujours d'authentification faible.

Une authentification plus forte mettrait en œuvre des mécanismes plus élaborés du côté du client :

1. l'utilisation d'une clé au lieu d'un mot de passe,


2. et un certificat de sa clé publique.

SSL ne renforce donc pas l'authentification du client, mais assure la confidentialité des échanges à l'aide de
chiffrement.
Le mot de passe joue ici encore un rôle : la clé que possède le client est généralement conservée sous forme
chiffrée, sur un support physique spécifique. Le mot de passe sert alors à chiffrer/déchiffrer la clé.
Ceci assure sa protection, car la compromission de la clé signifie la compromission de toute communication
chiffrée à l'aide de cette clé. C'est pourquoi on chiffre la clé elle-même pour la conserver.

Oussama SAOUDI, Eng M.eng (ECP 2001) 36


L’authentification
Authentification simple
Radio-identification
La radio-identification, le plus souvent désignée par le sigle RFID (de l’anglais radio frequency identification),
est une méthode pour mémoriser et récupérer des données à distance en utilisant des marqueurs appelés
« radio-étiquettes » (« RFID tag » ou « RFID transponder » en anglais).

Les radio-étiquettes sont de petits objets, tels que des étiquettes autoadhésives, qui peuvent être collés ou
incorporés dans des objets ou produits et même implantés dans des organismes vivants (animaux, corps
humain). Les radio-étiquettes comprennent une antenneassociée à une puce électronique qui leur permet
de recevoir et de répondre aux requêtes radio émises depuis l’émetteur-récepteur.

Ces puces électroniques contiennent un identifiant et éventuellement des données complémentaires.(RAD)


Cette technologie d’identification peut être utilisée pour identifier :

1. les objets, comme avec un code-barres (on parle alors d’étiquette électronique) ;
2. les personnes, en étant intégrée dans les passeports, carte de transport, carte de paiement (on parle
alors de carte sans contact) ;
3. les carnivores domestiques (chats, chiens et furets) dont l'identification RFID est obligatoire dans de
nombreux pays, en étant implantée sous la peau. C'est également le cas de manière non obligatoire
pour d'autres animaux de compagnie ou d'élevage (on parle alors de puce sous-cutanée).
Oussama SAOUDI, Eng M.eng (ECP 2001) 37
L’authentification
Authentification simple

Radio-identification

Oussama SAOUDI, Eng M.eng (ECP 2001) 38


L’authentification
Authentification Forte

L'authentification forte est, en sécurité des systèmes d'information, une procédure d'identification qui
requiert la concaténation d'au moins deux facteurs d'authentification.

La Norme FIDO fixe la référence en la matière. D'ailleurs Windows 10 intégrera dans sa version définitive un
mécanisme d'authentification FIDO compatible.

Oussama SAOUDI, Eng M.eng (ECP 2001) 39


L’authentification
Authentification Forte
Les facteurs de l'authentification forte
La notion d'authentification s'oppose à celle de l'identification d'une personne physique ou morale
(dirigeant et toute personne autorisée). Cette distinction est importante puisque par abus de langage, on
parle d'authentification alors qu'il s'agit d'identification.
EXPLICATIONS
Lorsqu'une personne présente sa pièce d'identité lors d'un contrôle, elle est identifiée grâce à un document
officiel, mais n'est pas authentifiée, car le lien entre la pièce d'identité et la personne n'est pas établie de
façon indiscutable, irrévocable et reconnue par les tribunaux en cas de litige.
Par opposition, Lorsqu'une personne est authentifiée, cette authentification doit-être apportée par un tiers
de confiance et par une preuve au sens juridique reconnue devant les tribunaux (ex: la signature
électronique de la carte bancaire).

Ainsi, pour le eCommerce, un achat réalisé en confirmant le mot de passe ou le SMS reçu sur son téléphone
portable, indique seulement que ce message affiché au propriétaire de la ligne de téléphone a été recopié
sur une page Web marchand (même si l'ouverture de session du téléphone se fait par biométrie). Mais ne
suppose aucunement de l'engagement du propriétaire de la ligne car ce dernier n'a pas été authentifié (cas
du vol d'un portable et utilisation par un tiers).
Autrement dit, aucune preuve matérielle ne permet de s'assurer de son engagement dans la transaction.
En synthèse, la charge de la preuve émanant d'un tiers de confiance distingue l'identification de
l'authentification en cas de litige ou de contestation.
Oussama SAOUDI, Eng M.eng (ECP 2001) 40
L’authentification
Authentification Forte
Les facteurs de l'authentification forte
LES DIFFERENTS MODES : Les systèmes d'authentification courants utilisent un seul facteur (en général un
mot de passe). Le principe de l'authentification forte est d'utiliser plusieurs facteurs de nature distincte afin
de rendre la tâche plus compliquée à un éventuel attaquant.
Les facteurs d'authentification sont classiquement présentés comme suit :

1) Ce que l'entité connaît (un mot de passe, un code NIP, une phrase secrète, etc.)
2) Ce que l'entité détient (une carte magnétique, RFID, une clé USB, un PDA, une carte à puce, un
smartphone, etc.). Soit un élément physique appelé jeton d'authentification, authentifieur ou token.
3) Ce que l'entité est, soit une personne physique (empreinte digitale, empreinte rétinienne, structure de
la main, structure osseuse du visage ou tout autre élément biométrique)
4) Ce que l'entité sait faire ou fait, soit une personne physique (biométrie comportementale tel que
signature manuscrite, reconnaissance de la voix, un type de calcul connu de lui seul, un comportement,
etc.)
5) Où l'entité est, soit un endroit d'où, suite à une identification et authentification réussie, elle est
autorisée (accéder à un système logique d'un endroit prescrit)

Dans la majorité des cas, l'entité est une personne physique - individu - personne morale, mais elle peut être
un objet comme, par exemple, une application web utilisant le protocole SSL, un serveur SSH, un objet de
luxe, une marchandise, un animal, ...
Oussama SAOUDI, Eng M.eng (ECP 2001) 41
L’authentification
Authentification Forte
Les facteurs de l'authentification forte
On peut considérer que l'authentification forte si elle garantie les fondations essentielles suivantes :

I. L'autorisation ou contrôle d'accès (qui peut y avoir accès)


II. La confidentialité (qui peut le voir)
III. L'intégrité (qui peut le modifier)
IV. La traçabilité (qui l'a fait)
V. L'irrévocabilité (qui peut le prouver)

Cette approche est toutefois modulée


par l'ANSSI dans son référentiel général de sécurité

L'ANSSI : L'Agence nationale de la sécurité des systèmes


d'information (ANSSI) est un service français créé par décret
le7 juillet 2009. Ce service à compétence nationale est
rattaché au Secrétaire général de la défense et de la sécurité
nationale(SGDSN)

Oussama SAOUDI, Eng M.eng (ECP 2001) 42


L’authentification
Authentification Forte
Pourquoi l'authentification forte et l'authentification à deux-facteurs ?

Le mot de passe est actuellement le système le plus couramment utilisé pour authentifier un utilisateur. Il
n’offre plus le niveau de sécurité requis pour assurer la protection de biens informatiques sensibles, car
différentes techniques d’attaque permettent de le trouver facilement.

On recense plusieurs catégories d’attaques informatiques pour obtenir un mot de passe :


Attaque par force brute
Attaque par dictionnaire
Écoute du clavier informatique (keylogger), par voie logicielle (cheval de troie...), ou par écoute distante
(champ électrique des claviers filaires, ou ondes radio faiblement chiffrées pour les claviers sans fils)
Écoute du réseau (password sniffer) : plus facilement avec les protocoles réseau sans chiffrement,
comme HTTP, Telnet, FTP, LDAP, etc.
Hameçonnage (ou filoutage), appelé en anglais phishing
Attaque de l'homme du milieu ou man in the middle attack (MITM) : par exemple avec les
protocoles SSL ou SSH
Ingénierie sociale
Extorsion d'informations par torture, chantage ou menaces
L'attaque par force brute, comme on a vu, n'est pas vraiment une méthode de cassage puisque le principe est applicable à
toutes les méthodes. Elle est toutefois intéressante car elle permet de définir le temps maximum que doit prendre une
attaque sur une méthode cryptographique.
Oussama SAOUDI, Eng M.eng (ECP 2001) 43
L’authentification
Authentification Forte
Pourquoi l'authentification forte et l'authentification à deux-facteurs ?

Le but de la cryptographie est de rendre impraticable l'usage de la force brute en augmentant les délais de
résistance à cette méthode.
En théorie, il suffit que le délai de résistance soit supérieur à la durée de vie utile de l'information à protéger.
Cette durée varie selon l'importance de l'information à protéger.

Pour lutter contre la fraude en ligne, des organismes spécialisés (CNIL en France, APACS
au Royaume Uni, FFIEC aux Etats-Unis) encouragent lublisabon de l’authenbficabon forte,
dans laquelle deux facteurs indépendants sont contrôlés pour donner accès à un service :

d’une part un couple identifiant/mot de passe, d’autre part un élément matériel (token)

Mobilegov a développé une technologie brevetée pour authentifier n’importe quel élément
matériel numérique.
Cette technologie est intégrée dans un produit d’authenbficabon forte, Secured Access Web Service (SAWS). Il est plus
simple à mettre en œuvre que ce qui existait jusqu’ici, tant pour le prestataire de service que pour lublisateur, puisque c’est
ce dernier qui choisit l’élément matériel de l’authenbficabon forte parmi son propre équipement. SAWS est engagé dans
une procédure de qualification Critères Communs EAL3+.
Oussama SAOUDI, Eng M.eng (ECP 2001) 44
L’authentification
Authentification Forte
Pourquoi l'authentification forte et l'authentification à deux-facteurs ?

La notion du Token
L'authentifieur contient le secret (Token). Le serveur d'authentification contient le même secret (Token).
Grâce au partage de ce dénominateur commun il est alors possible de générer des mots de passe à usage
unique (One-Time-Password).

Le token peut être électronique, connecté ou non à l’ordinateur utilisé dans la transaction. Ildélivre alors soit
un certificat (PKI) soit un mot de passe à usage unique. Ce mot de passe peut être fonction de lheure, de la
carte bancaire de lublisateur, ou dun compteur.

Le token peut être également un document qui contient des listes de chiffres : liste à biffer ou Bingo Card, et
il fournit la réponse à une question posée par le serveur au moment du contrôle daccès (challenge-
response).

Enfin, le token peut être le téléphone portable de lublisateur. Le serveur lui envoie un SMS au moment du
contrôle daccès, lublisateur doit saisir une information de ce SMS.

Oussama SAOUDI, Eng M.eng (ECP 2001) 45


L’authentification
Authentification Forte
Pourquoi l'authentification forte et l'authentification à deux-facteurs ?

La notion du Token
Tokens électroniques connectés à lordinateur

Les tokens connectés à l’ordinateur communiquent avec le serveur afin dêtre reconnus à distance. Ils
consistent en une carte à puce (qui nécessite alors un lecteur de carte, les ordinateurs en étant le plus
souvent dépourvu) ou un token USB plus ou moins « intelligent » (mémoire flash ou microprocesseur).

Le token peut intégrer la reconnaissance de « ce que l’on sait » (en exigeant la saisie du code NIP) ou même
de « ce que l’on est » (en étant équipé dun lecteur dempreintes digitales et exploitant la technologie «
match on card », respectueuse de la protection des données personnelles).

L’authenbficabon du token par le serveur met en jeu une technologie de type PKI (Public Key Infrastructure)
particulièrement sûre.

Les tokens connectés à l’ordinateur constituent une solution très robuste, la seule résistante aux key loggers
et autres screen loggers, pouvant même garantir la non répudiation des transactions.

Oussama SAOUDI, Eng M.eng (ECP 2001) 46


L’authentification
Authentification Forte
Pourquoi l'authentification forte et l'authentification à deux-facteurs ?

Familles technologiques pour l'authentification forte

On dénombre actuellement quatre familles :

A. One Time Password (OTP) / Mot de passe à usage unique.

B. Certificat numérique

C. Biométrie

D. QR Code

Oussama SAOUDI, Eng M.eng (ECP 2001) 47


L’authentification
Authentification Forte
One Time Password (OTP) / Mot de passe à usage unique
Comment les OTP sont générés et distribués
Les algorithmes de génération d'OTP se servent généralement du hasard afin de rendre complexe leur
prédiction même en étudiant les OTP précédents. Concrètement les algorithmes ont différentes approches
afin d'y parvenir, soit ils:
Se basent sur le temps de synchronisation entre le serveur d'authentification et le client fournit le mot de
passe (les OTP ne sont valables que pour une courte période de temps)
Utilisent un algorithme mathématique pour générer un nouveau mot de passe basé sur le mot de passe
précédent (les OTP forment une chaîne et doivent être utilisées dans un ordre prédéfini).
Utilisent un algorithme mathématique où le nouveau mot de passe est basé sur un défi (par exemple, un
nombre aléatoire choisi par le serveur d'authentification ou les détails d'une opération) et/ou un compteur.

Il existe également différentes manières d'intégrer l'utilisateur dans le prochain OTP à utiliser :
Certains systèmes utilisent des jetons d'authentification électroniques qui génèrent des OTP en utilisant
un petit écran ;
D'autres se composent d'un logiciel qui s'exécute sur le téléphone mobile de l'utilisateur ;
Il y a aussi des OTP générés du côté du serveur et envoyés à l'utilisateur en utilisant un canal de
télécommunication ( un message SMS la plupart du temps) ;
Enfin, dans certains systèmes, les OTP sont imprimés sur du papier que l'utilisateur est tenu de garder avec
lui. Oussama SAOUDI, Eng M.eng (ECP 2001) 48
L’authentification
Authentification Forte / One Time Password (OTP)
OTP combine le facteur matériel avec le facteur mémoriel (mot de passe et/ou code PIN de
déverrouillage du token) pour générer un code OTP.
Les tokens qui nécessitent le déverrouillage disposent d’un clavier permettant de saisir le code PIN.

 Cette technologie permet de s'authentifier


avec un mot de passe à usage unique.
Elle est fondée sur l'utilisation d'un secret
partagé (Token) ou l'utilisation d'une carte
matricielle d'authentification (Token) :
on est dans la cryptographie symétrique

 Il existe deux modes de fonctionnement OTP


Synchrone et Asynchrone

 ce type de technologie utilise un secret


partagé: il n'est pas donc possible d'assurer
la non-répudiation. La technologie du certificat
numérique permet a contrario de garantir la
non-répudiation.
Oussama SAOUDI, Eng M.eng (ECP 2001) 49
L’authentification
Authentification Forte
One Time Password (OTP)

1. OTP Asynchrone
Un exemple d’OTP asynchrone est l’authentification par challenge/Response. Le processus d’authentification
ne requiert aucune synchronisation entre le serveur et le client. Tout repose sur un challenge échangé entre
les deux parties.

Outre le challenge, le
serveur et le client doivent
utiliser le même algorithme
de chiffrement (principe de
la clé symétrique); c’est ici
l’information personnalisée.
Cependant, il suffit de
s’approprier de sa clé
symétrique et d’intercepter
le challenge pour pouvoir
s’authentifier à la place du
client légitime.

Oussama SAOUDI, Eng M.eng (ECP 2001) 50


L’authentification
Authentification Forte / One Time Password (OTP)
OTP/Asynchrone

Par asynchrone on entend le fait que le serveur va commencer par envoyer à l’utilisateur un « challenge ».
L’utilisateur va communiquer ce challenge à son générateur d’OTP (un logiciel ou un matériel)
A partir de ce challenge, l’objet va calculer une réponse : l’OTP

Les authentifieurs 'défi-réponse' utilisent, en plus


du secret partagé, un nombre aléatoire généré par le
serveur d'authentification. Le client reçoit ce défi ou nonce
et répond à celui-ci au serveur.
On utilise alors un Code NIP comme deuxième facteur
d'authentification.
Le code NIP peut être entré sur un mini clavier. Comme
cette technologie utilise un secret partagé, ces
authentifieurs ne sont pas capables d'offrir la non-
répudiation.
Ces authentifieurs sont définis comme une technologie
dite asynchrone OCRA normalisée par l'«Initiative for Open
Authentification» OATH

Oussama SAOUDI, Eng M.eng (ECP 2001) 51


L’authentification
Authentification Forte / One Time Password (OTP)
Exemple de solution de type OTP/Asynchrone

 Matrix card authentication ou authentification à carte matricielle


Il s'agit de rentrer un OTP provenant d'une carte matricielle fournie. Ce système utilise les coordonnées en Y
et X. La carte matricielle est considérée comme un authentifieur

Oussama SAOUDI, Eng M.eng (ECP 2001) 52


L’authentification
Authentification Forte / One Time Password (OTP)
Exemple de solution de type OTP/Asynchrone
 La liste à biffer ou TAN (Transaction Authentication Number)
Il s'agit de rentrer un OTP (One-Time Password) provenant d'une liste de codes fournie par exemple par la
banque (Token) . Cette liste est considérée comme un authentifieur.

Oussama SAOUDI, Eng M.eng (ECP 2001) 53


L’authentification
Authentification Forte / One Time Password (OTP)
Exemple de solution de type OTP/Asynchrone
 OTP SMS
Utilisation des SMS. Ce système utilise la technologie des SMS. L'utilisateur reçoit un OTP directement sur
son téléphone portable. Le téléphone portable est considéré comme un authentifieur

Oussama SAOUDI, Eng M.eng (ECP 2001) 54


L’authentification
Authentification Forte
One Time Password (OTP)
2. OTP synchrone

Par opposition à l’OTP asynchrone, le client et le serveur doivent rester synchronisés. L’élément de
synchronisation peut être soit le temps, soit un compteur d’évenement, soit les deux à la fois. En plus,
comme dans OTP sychrone, les deux parties partage la même clé symétrique. Par conséquent l’attaque
devient plus complexe puisque l’information personnalisée est double.

L’inconvénient de cette technique est les problèmes liés à la synchronisation entre le client et le serveur.

désynchronisation temporelle : différence d’horloge.

désynchronisation événementielle: suite à une génération de code OTP non soumise au serveur, le
compteur du client se désynchronise de celui du serveur. Pour résoudre ce problème, on introduit de
l’information dans le code OTP généré afin de resynchroniser le compteur du serveur.

Oussama SAOUDI, Eng M.eng (ECP 2001) 55


L’authentification
Authentification Forte
One Time Password (OTP)
2. OTP Synchrone

Contrairement à l’OTP asynchrone, l’OTP


synchrone ne nécessite pas de challenge.
Il suffit de générer un OTP synchrone et de
et de le fournir directement à l’application
pour vérification .
L’OTP généré est toujours différent et peut
être synchronisé selon différentes
techniques :

Basées sur le temps


Basée sur un compteur
Basée sur les 2 / temps & compteur

Oussama SAOUDI, Eng M.eng (ECP 2001) 56


L’authentification
Authentification Forte / One Time Password (OTP)
Exemple de solution de type OTP/synchrone
Authentifieur fondé sur le temps
Ces authentifieurs utilisent, en plus du secret partagé, un dénominateur commun qui est le temps. Chaque
partie est synchronisée sur le temps universel (UTC). On utilise alors un Code NIP comme deuxième facteur
d'authentification. Ces authentifieurs sont définis comme une technologie dite synchrone. Chaque minute,
par exemple, ces authentifieurs affichent un nouveau « Token Code », le One Time Password.
L'exemple le plus connu est SecurID de la société RSA Security.

Oussama SAOUDI, Eng M.eng (ECP 2001) 57


L’authentification
Authentification Forte / One Time Password (OTP)
Exemple de solution de type OTP/synchrone
Authentifieur fondé sur un compteur
Ces authentifieurs utilisent, en plus du secret partagé, un dénominateur commun qui est un compteur.
Chaque partie se synchronise sur le compteur. On utilise alors un Code NIP comme deuxième facteur
d'authentification. Le code NIP peut être entré sur un mini clavier. Comme la technologie fondée sur le
temps, ces authentifieurs ne sont pas capables d'offrir la non-répudiation. Ces authentifieurs sont définis
comme une technologie dite synchrone.

Oussama SAOUDI, Eng M.eng (ECP 2001) 58


L’authentification
Authentification Forte
Certificat Numérique
Cette technologie est fondée sur l'utilisation de la cryptographie asymétrique et l'utilisation
d'un challenge. Il est possible de garantir la non-répudiation car uniquement l'identité possède la clé privée.

Une organisation de confiance certifie les identités (c’est à dire qu’elle garantit la correspondance entre les
clés et les identités). L’information certifiée est transportée dans un certificat électronique qui est lui-même
délivré et signé par cette organisation.
C’est bien la combinaison de clé et de l’organisation qui est la source d’un certificat électronique de
confiance.
Un certificat est un lien de confiance entre :
Une identité;
Une clé publique;
Une période de validité;
Un usage.

Le certificat numérique est généralement basé sur un standard (beaucoup de solutions utilisent X.509).

Oussama SAOUDI, Eng M.eng (ECP 2001) 59


L’authentification
Authentification Forte
Certificat Numérique/Nature et composition
Un certificat électronique est une donnée publique. Suivant la technique des clés asymétriques, à chaque
certificat électronique correspond une clé privée, qui doit être soigneusement protégée.

Un certificat numérique porte les caractéristiques de son titulaire :

sisi le porteur est un être humain, cela peut être son nom et son prénom, le nom de sa structure (par
exemple, son entreprise ou son... État !) et de son entité d'appartenance.
Si c'est un équipement informatique (comme une passerelle d'accès ou un serveur d'application sécurisé),
le nom est remplacé par l'URI du service (Uniform Resource Identifier).
À ces informations d'identification s'ajoute la partie publique du bi-clé.

L'ensemble de ces informations (comprenant la clé publique) est signé par l'autorité de certification de
l'organisation émettrice. Cette autorité a la charge de :

1. s'assurer que les informations portées par le certificat numérique sont correctes ;
2. s'assurer qu'il n'existe, pour une personne et pour une même fonction, qu'un et un seul certificat
valide à un moment donné.

Oussama SAOUDI, Eng M.eng (ECP 2001) 60


L’authentification
Authentification Forte
Certificat Numérique/Nature et composition
Le certificat numérique est donc, à l'échelle d'une organisation, un outil pour témoigner, de façon
électroniquement sûre, d'une identité.

L'usage conjoint des clés cryptographiques publiques (contenue dans le certificat) et privée (protégée par
l'utilisateur, par exemple au sein d'une carte à puce), permet de disposer de fonctions de sécurité
importante

Oussama SAOUDI, Eng M.eng (ECP 2001) 61


L’authentification
Authentification Forte
Certificat Numérique/Familles
Usuellement, on distingue deux familles de certificats numériques :

I. les certificats de signature, utilisés pour signer des documents ou s'authentifier sur un site web, et
II. les certificats de chiffrement (les gens qui vous envoient des courriels utilisent la partie publique de
votre certificat pour chiffrer le contenu que vous serez seul à pouvoir déchiffrer)

Mais cette typologie n'est pas exhaustive ; un découpage plus orienté applicatif pourrait être envisagé.

L'intérêt de la séparation des usages découle notamment des problématiques de séquestre de clés et de
recouvrement. En effet, lorsqu'il y a chiffrement, il peut y avoir nécessité de recouvrer les informations
chiffrées. Alors que lorsqu'il y a signature, il est indispensable de s'assurer que la clé privée n'est possédée
que par une seule partie

Oussama SAOUDI, Eng M.eng (ECP 2001) 62


L’authentification
Authentification Forte
Certificat Numérique/les plus courant

Infrastructure à clés publiques (PKI)

RSA : Rivest Shamir Adleman


le chiffrement RSA (nommé par les initiales de ses trois inventeurs) est un algorithme de cryptographie
asymétrique, très utilisé dans le commerce électronique, et plus généralement pour échanger des données
confidentielles sur Internet. Cet algorithme a été décrit en 1977 par Ronald Rivest, Adi Shamir et Leonard
Adleman. RSA a été breveté par le Massachusetts Institute of Technology (MIT) en 1983 aux États-Unis. Le
brevet a expiré le 21 septembre 2000.

PKINIT

Oussama SAOUDI, Eng M.eng (ECP 2001) 63


L’Espionnage

Références
Wikipedia …

Oussama SAOUDI, Eng M.eng (ECP 2001) 64

Vous aimerez peut-être aussi