Argon2 : pour une sécurité accrue.

Argon2 est la fonction de hachage la plus sûre pour protéger les mots de passe et les clés de cryptage.

2023-08-23
Nous sommes heureux de vous annoncer que nous avons mis à jour la fonction de hachage dans Tutanota avec Argon2 - l'algorithme le plus sûr. C'est la première étape sur notre chemin pour devenir un fournisseur de messagerie sécurisée post-quantique, car cette fonction de hachage peut générer des clés de cryptage beaucoup plus importantes utilisées pour sécuriser vos courriels, calendriers et contacts Tutanota.

Comme vous le savez, nous prévoyons de devenir le premier fournisseur de cloud et d'emails sécurisés post-quantique, et nous sommes très heureux d'annoncer que nous avons maintenant atteint la première étape de ce projet !

Avec cette mise à jour, votre mot de passe - qui est utilisé pour générer vos clés de cryptage qui cryptent toutes vos données dans Tutanota - ne sera plus protégé par bcrypt, mais par Argon2: un nouvel algorithme avancé qui conduira à une sécurité encore meilleure.

Pourquoi passer à Argon2 ?

Lorsque Tutanota a vu le jour, bcrypt était le meilleur moyen de transformer un mot de passe en clé cryptographique. Il transforme votre mot de passe en 192 bits aléatoires que nous pouvons utiliser à des fins cryptographiques. Cela représente bien plus d'entropie que les mots de passe de la plupart des gens n'en auront jamais, et c'est donc suffisant, n'est-ce pas ?

Dans le cadre de la sécurisation quantique, nous voulons passer toutes nos clés AES à 256 bits, car les clés de 128 bits ne seront plus sûres lorsqu'un ordinateur quantique capable d'exécuter l'algorithme de Grover verra le jour. Mais les plus matheux d'entre vous remarqueront que 256 est supérieur à 192.

** Que pouvons-nous faire alors ?

Nous pouvons étirer ces 192 bits en les hachant avec SHA-256, par exemple, et cela conviendrait dans la plupart des cas.

Mais pourquoi faire cela si nous pouvons faire mieux ?

Argon2

Argon2 a remporté le concours de hachage de mots de passe, et ce pour de bonnes raisons. Cet algorithme est actuellement recommandé par la plupart des directives modernes, y compris la Fondation OWASP.

Argon2 apporte un certain nombre d'améliorations par rapport à bcrypt, telles que la dureté de la mémoire et la résistance aux canaux latéraux.

Argon2 peut-il être utilisé par tous les clients ?

Une fois que nous avons choisi l'algorithme que nous voulions utiliser, il nous restait à résoudre le problème de l'utilisation de cet algorithme sur toutes les plateformes que nous supportons : Android, iOS, clients de bureau et web. Le principal problème est qu'il n'existe pas d'implémentation JavaScript, ou du moins aucune que nous pourrions envisager d'utiliser. Il existe cependant un certain nombre de liaisons JavaScript pour l'implémentation de référence en C, compilée en WebAssembly.

WebAssembly est une technologie qui permet au code écrit dans presque n'importe quel langage de programmation d'être exécuté sur un navigateur web.

C'est également ce que nous avons décidé d'utiliser, mais nous avons choisi d'écrire notre propre colle minimale pour obtenir les meilleurs temps de chargement avec le code le plus propre.

Pourquoi utilisons-nous WebAssembly ?

WebAssembly est supporté par tous les principaux navigateurs depuis longtemps. C'est pourquoi nous avons opté pour cette solution car elle offre les meilleurs résultats pour tous les utilisateurs de Tutanota en termes de sécurité et de vitesse.

Un petit problème est que, bien que WebAssembly soit supporté par tous les principaux navigateurs, il n'est toujours pas disponible dans certaines situations, par exemple, en mode verrouillage dans iOS.

Nous avons envisagé d'éviter complètement cette exigence en compilant le code C en JavaScript pur (asm.js), mais cela rendrait l'application trop lente pour être pratique.

Nous allons cependant utiliser des implémentations natives pour les applications mobiles, ce qui nous donne de meilleures performances et supprime la nécessité de ces clients.

Pour permettre à tout le monde d'utiliser notre nouvelle protection de mot de passe plus sûre avec Argon2, nous informons les personnes sur tous les environnements qui pourraient avoir un problème avec WebAssembly qu'ils auront besoin de cela pour améliorer leur niveau de sécurité.

Que font les autres fournisseurs ?

Contrairement à des fournisseurs comme Google ou Outlook, nous n'utilisons pas votre mot de passe uniquement pour l'authentification, nous l'utilisons également pour générer la clé qui déverrouille toutes vos données cryptées, donc nous avons vraiment besoin d'une fonction de dérivation de clé basée sur un mot de passe, plutôt qu'une fonction de hachage de mot de passe ou un protocole d'authentification basé sur un mot de passe.

Pour cette exigence - comme expliqué ci-dessus - Argon2 est bien en avance sur bcrypt et rendra vos données cryptées encore plus sûres.

À ce jour, aucun de nos concurrents n'utilise Argon2. En passant à Argon2, nous prouvons une fois de plus que nous sommes le fournisseur de services de messagerie électronique le plus sûr.

Que devez-vous faire ?

La plupart des utilisateurs n'auront rien à faire ; ils bénéficieront simplement de la sécurité accrue une fois qu'elle sera déployée.

Certaines personnes utilisant des systèmes qui ont un problème avec WebAssembly pourraient voir un avertissement.

Si vous recevez cet avertissement sur le navigateur Tor, vous pouvez soit :

  • Passer au niveau de sécurité Standard dans le navigateur Tor, ou
  • Lancer un autre navigateur, en utilisant l'instance Tor en cours d'exécution comme proxy.

Si vous êtes en mode verrouillage sur iOS, nous vous recommandons fortement d'utiliser l'application Tutanota et non le navigateur. Si vous utilisez le navigateur en mode verrouillage sur iOS, vous devrez ajouter une exception pour le client web Tutanota.

Si vous rencontrez des problèmes sur Android, mettez à jour votre WebView (ce qui n'est nécessaire que si vous utilisez le navigateur sur Android).

Veillez à utiliser l'un des navigateurs pris en charge ou le client de bureau Tutanota.

Nous sommes heureux de pouvoir augmenter votre niveau de sécurité en passant de bcrypt à Argon2 !