1. Les utilisateurs sont stupides
Un mot de passe est quelque chose qui tient dans la mémoire d'un utilisateur, et l'utilisateur le choisit. Étant donné que l'authentification consiste à vérifier l'identité physique de l'utilisateur à distance (du point de vue du vérificateur), le comportement de l'utilisateur est nécessairement impliqué dans le processus - cependant, les mots de passe dépendent de la partie de l'utilisateur qui est le plus notoirement médiocre dans la gestion de la sécurité, à savoir son cerveau. Les utilisateurs ne comprennent tout simplement pas ce qu'est l'entropie de mot de passe. Je ne leur blâme pas cela: il s’agit d’un sujet technique, d’une spécialisation, qui ne peut devenir de sitôt du «bon sens». D'un autre côté, la sécurité d'un jeton physique est beaucoup plus «tangible» et les utilisateurs moyens peuvent devenir assez bons dans ce domaine. Les évolutionnistes diraient que les humains ont été sélectionnés pour cela au cours du dernier million d'années, parce que ceux qui ne pouvaient pas conserver leurs outils en silex n'ont pas survécu suffisamment pour avoir une progéniture.
Les films hollywoodiens peuvent être utilisés comme modèle de la façon dont les utilisateurs pensent aux mots de passe - ne serait-ce que parce que ces utilisateurs vont également au cinéma Invariablement, l'Arch Enemy a un mot de passe court et adore s'en vanter et distribue des indices chaque fois qu'il le peut. Et, invariablement, un agent secret britannique devine le mot de passe à temps pour désactiver la bombe à fusion qui a été plantée sous le parterre de fleurs préféré de la reine. Les films projettent une réalité déformée et exagérée, mais ils représentent toujours la base mentale sur laquelle les utilisateurs moyens opèrent: ils envisagent les mots de passe comme assurant la sécurité en étant plus «spirituels» que l'attaquant. Et, invariablement, la plupart y échouent.
La "force du mot de passe" peut être quelque peu améliorée par des règles obligatoires (au moins huit caractères, au moins deux chiffres, au moins une majuscule et une lettre minuscule ...) mais ces règles sont perçues comme un fardeau par les utilisateurs, et parfois comme une contrainte insupportable sur leur liberté innée - de sorte que les utilisateurs deviennent à combattre les règles, avec une grande créativité, en commençant par l'écriture traditionnelle du mot de passe sur une note autocollante. Plus souvent qu'autrement, les règles de renforcement des mots de passe se retournent contre eux.
D'un autre côté, les certificats d'utilisateur impliquent un système de stockage, et si ce système est un appareil physique que l'utilisateur transporte avec ses clés de maison ou de voiture , alors la sécurité dépend (en partie) de la façon dont l'utilisateur moyen gère la sécurité d'un objet physique, et il fait généralement du bon travail. Au moins mieux que lorsqu'il s'agit de choisir un bon mot de passe. C'est donc un gros avantage des certificats.
2. Les certificats utilisent la cryptographie asymétrique
L '«asymétrie» concerne la séparation des rôles. Avec un mot de passe, quiconque vérifie le mot de passe connaît à un moment donné le mot de passe ou une donnée équivalente au mot de passe (enfin, ce n'est pas tout à fait vrai dans le cas des protocoles PAKE). Avec les certificats utilisateurs, le certificat est émis par une autorité de certification, qui garantit le lien entre une identité physique et une clé publique cryptographique. Le vérificateur peut être une entité distincte , et peut vérifier un tel lien et l'utiliser pour authentifier l'utilisateur, sans avoir la possibilité de se faire passer pour l'utilisateur.
En un mot, c'est le but des certificats: séparer ceux qui définissent l'identité numérique de l'utilisateur (c'est-à-dire l'entité qui fait le mappage de l'identité physique au monde informatique) de ceux qui authentifier les utilisateurs.
Cela ouvre la voie aux signatures numériques qui apportent la non-répudiation. Cela intéresse particulièrement les banques qui prennent les commandes financières des clients en ligne: elles doivent authentifier les clients (c'est de l'argent dont nous parlons, une affaire très sérieuse) mais elles aimeraient avoir une trace convaincante des commandes - dans le sens de: a le juge serait convaincu. Avec une simple authentification, la banque a l'assurance de parler au bon client, mais elle ne peut pas le prouver à des tiers; la banque pourrait créer une fausse transcription de connexion, elle est donc sans armes contre un client qui prétend être accusé par la banque elle-même. Les signatures numériques ne sont pas immédiatement disponibles même si l'utilisateur dispose d'un certificat; mais si l'utilisateur peut utiliser un certificat pour l'authentification, la plupart du travail acharné a été effectué.
De plus, les mots de passe sont intrinsèquement vulnérables aux attaques de phishing, contrairement aux certificats d'utilisateurs. Précisément à cause de l'asymétrie: l'utilisation du certificat n'implique jamais de révéler des données secrètes au pair, donc un attaquant qui se fait passer pour le serveur ne peut rien apprendre de valeur de cette façon.
3. Les certificats sont complexes
Le déploiement de certificats utilisateur est complexe, donc coûteux:
-
L'émission et la gestion des certificats est un véritable ver, comme toute PKI le vendeur peut vous le dire (et, en effet, je vous le dis). Surtout la gestion des révocations. PKI est d'environ 5% de cryptographie et 95% de procédures. Cela peut être fait, mais pas à moindre coût.
-
Les certificats utilisateur impliquent que les utilisateurs stockent leur clé privée d'une manière ou d'une autre, sous leur "accès exclusif". Cela se fait soit dans le logiciel (les systèmes d'exploitation existants et / ou les navigateurs Web peuvent le faire) soit en utilisant du matériel dédié, mais les deux solutions ont leur propre ensemble de problèmes d'utilisabilité. Les deux principaux problèmes qui se poseront sont 1) l'utilisateur perd sa clé, et 2) un attaquant obtient une copie de la clé. Le stockage logiciel fait de la perte de clé un problème plausible (à la merci d'un disque dur défaillant), et le partage de la clé entre plusieurs systèmes (par exemple, un ordinateur de bureau et un iPad) implique certaines opérations manuelles qui sont peu susceptibles d'être bien protégées contre les attaquants. Les jetons matériels impliquent toute l'activité compliquée des pilotes de périphériques, ce qui peut être encore pire.
-
Un certificat utilisateur implique des opérations mathématiques relativement complexes côté client; ce n'est pas un problème même pour un Pentium II anémique, mais vous ne pourrez pas utiliser les certificats de certains Javascript giflés dans un site Web générique. Le certificat nécessite une coopération active de la part du logiciel côté client, et ledit logiciel a tendance à être, disons, sous-optimal sur le plan ergonomique à cet égard. Les utilisateurs moyens peuvent normalement apprendre à utiliser des certificats clients pour une connexion HTTPS à un site Web, mais au prix d'apprendre à ignorer la fenêtre contextuelle d'avertissement occasionnelle, ce qui les rend beaucoup plus vulnérables à certaines attaques (par exemple, les attaques actives où l'attaquant tente de leur donner son propre faux certificat de serveur).
D'un autre côté, l'authentification par mot de passe est vraiment facile à intégrer à peu près partout. Il est tout aussi facile de gâcher, bien sûr; mais au moins cela n'entraîne pas nécessairement des coûts supplémentaires incompressibles.
Résumé
Les certificats utilisateur permettent une séparation des rôles que les mots de passe ne peuvent pas faire. Ils le font au détriment de l'ajout d'une horde de problèmes de mise en œuvre et de déploiement, ce qui les rend coûteux. Cependant, les mots de passe restent bon marché en s'inscrivant dans un esprit humain, ce qui implique intrinsèquement une faible sécurité. Les problèmes de sécurité avec les mots de passe peuvent être quelque peu atténués par certaines supercheries (jusqu'à un protocole PAKE inclus) et, surtout, en blâmant l'utilisateur en cas de problème (nous savons que l'utilisateur moyen ne peut pas choisir un mot de passe sécurisé, mais tout incident sera être toujours de sa faute - c'est ainsi que les banques le font).