L'authentification multifacteur (Mémoriser mon ordinateur)
Parmi les techniques d'authentification les plus détestés par les utilisateurs figure la technique «authentification multifacteur» (Multi-factor authentication ou MFA en anglais), reconnue par les utilisateurs par la phrase «Mémoriser mon ordinateur», qu'utilisent les institutions financières en Amérique du Nord. La technique d'authentification d'authentification multifacteur est devenue obligatoire en 2006 pour les institutions financières au États-Unis par le FFIEC (Federal Financial Institutions Examination Council). Elle est généralement vécue par l'utilisateur avec l'obligation d'entrée des réponses à des questions secrètes. Elle aussi offerte par Apple ID d'Apple pour protéger plus efficacement ses clients.
Le principe
L'idée derrière cette mesure de protection, c'est que si le premier mot de passe est découvert par une attaque de force brute, le pirate informatique sera confronté à un deuxième mot de passe lequel sera différent d'un IP à l'autre. Par contre, aussi étrange que cela puisse paraitre, il faut que le programme du serveur envoi toujours la même question à l'IP faisant la demande d'authentification, car sinon le pirate informatique pourrait l'avoir mémoriser à partir du poste de travail de l'utilisateur (à l'aide d'un virus de mémorisation de touche de clavier) et tenter d'utiliser les mêmes informations fournit par l'utilisateur légitime par l'intrusion du virus auprès du système à authentification multifacteur. Ainsi, c'est la raison pour laquelle il faut un minimum de 3 questions secrètes, habituellement 5, par que cette technique soit efficace. L'utilisation d'une seule question par un système d'authentification multifacteur se révèlerait donc totalement inefficace, voire même inutile.
Pour «mémoriser mon ordinateur» on utilisera généralement les jetons/données du côté client ou du côté serveur afin de mémoriser les informations uniques de l'ordinateur pour un compte utilisateur.
Étapes à mettre en place
- Offre la possibilité à l'utilisateur de sélectionner leurs propres questions, toutes différentes les unes des autres, et d'offrir la possibilité de les modifier.
- Lorsque l'utilisateur entre une réponse, elle ne devrait pas être courte, il faudrait au moins 4 caractères de long.
- Vérifier que la réponse ne correspond pas à la question ou n'est pas incluse dans la question. Si la réponse est immédiatement donnée dans la question, comme par exemple «Quel est la couleur du cheval blanc de Napoléon ?», tout le monde va répondre «blanc».
- Il faut encrypter les réponses dans la base de données, avec un algorithme meilleur que la MD5, laquelle est trop facile à trouver de nos jours. Ainsi, si le contenu de la base de données est dérobé, il ne sera pas possible d'exploiter les réponses.
- Ne pas cocher automatiquement la case «Mémoriser l'ordinateur».
- Si des jetons/données du côté client ou du côté serveur sont utilisés, il faut s'assurer qu'il ne puisse pas être piraté facilement.
- Les jetons/données du côté client ou du côté serveur doivent fonctionner uniquement que pour un seul ordinateur. Ainsi, s'il est copié sur un autre ordinateur, il ne doit pas fonctionner. Cette mesure est appliquée afin d'éviter qu'un pirate informatique copierait simplement le cache du navigateur Web du client piraté sur son ordinateur personnel et qu'il s'authentifierait sans même avoir besoin d'utiliser l'authentification multifacteur.