L’IETF approuve de nouvelles normes Internet pour sécuriser les jetons d’authentification

L’Internet Engineering Task Force (IETF) – l’organisation qui développe et promeut les normes Internet – a approuvé cette semaine trois nouvelles normes destinées à améliorer la sécurité des jetons d’authentification contre les « attaques par rejeu » (replay attacks).

Les jetons d’authentification, ou token, sont utilisés sur tous les services en ligne. Lorsqu’une personne se connecte à son compte Google ou Facebook, un jeton d’authentification est généré et stocké dans un fichier cookie du navigateur de l’utilisateur. Lorsque l’utilisateur accède à nouveau au site Google ou Facebook, au lieu de lui demander d’entrer à nouveau ses identifiants, le navigateur de l’utilisateur donne au site le jeton d’authentification de l’utilisateur.

Mais les jetons d’authentification ne sont pas seulement utilisés avec des cookies de navigateur et des sites Web. Ils sont également utilisés dans le cadre du protocole OAuth, de la norme JSON Web Token (JWT) et d’un grand nombre de bibliothèques publiques ou privées implémentant l’authentification par jeton, souvent utilisée avec des API et des solutions logicielles d’entreprise.

Les pirates informatiques ont compris depuis longtemps qu’ils pouvaient voler ces jetons au lieu des login et mots de passe des utilisateurs. Cela permet de se connecter au service sans avoir besoin de connaître un mot de passe. De telles attaques sont connues sous le nom d' »attaques de rejeu », ou replay attack en anglais.

Protéger les systèmes d’authentification par jeton

Cette semaine, grâce aux contributions des ingénieurs de Google, Microsoft et Kings Mountain Systems, l’IETF a officiellement approuvé trois nouvelles normes destinées à protéger les systèmes d’authentification par jeton :

  • RFC 4871 – The Token Binding Protocol Version 1.0
  • RFC 4872 – Transport Layer Security (TLS) Extension for Token Binding Protocol Negotiation
  • RFC 4873 – Liaison par jeton sur HTTP (Token Binding over HTTP)

Ces trois normes visent à ajouter une couche supplémentaire de sécurité pour le processus de génération et de négociation d’un nouveau jeton d’accès/authentification.

L’idée générale est de créer une connexion entre le dispositif de l’utilisateur et le jeton, donc même si un attaquant parvient à enregistrer un jeton, il ne sera pas en mesure d’exécuter une attaque de rejeu à moins d’utiliser le même appareil ou la configuration de la machine sur lequel le jeton a été créé.

Au niveau technique, selon la norme RFC 4871, cela peut être fait via l’appareil du client qui génère une paire de clés privées et publiques. Le scénario optimal serait que les deux clés soient générées à l’intérieur d’un module matériel sécurisé, tel que le TPM (Trusted Platform Module) d’un PC, reliant intrinsèquement la clé privée au matériel.

Ces deux clés (la clé privée stockée sur le PC de l’utilisateur et une clé publique pour un serveur distant) sont ensuite utilisées pour signer et chiffrer des parties des étapes de négociation exécutées avant de générer le jeton d’authentification réel, ce qui donne une valeur de jeton qui dépend du hardxware sur lequel il a été créé.

En théorie, ça a l’air génial.

Comme la grande majorité du trafic Web est aujourd’hui chiffré, le nouveau protocole Token Binding a été spécialement conçu autour du processus de de connexion TLS qui précède l’établissement d’une session chiffré TLS. Les auteurs du protocole disent qu’ils ont conçu le processus de liaison par jeton pour éviter d’ajouter des allers-retours supplémentaires au processus initial de TLS, ce qui signifie qu’il n’y aura pas de travail supplémentaire sur les serveurs existants.

Des mises à jour des navigateurs et des serveurs seront nécessaires pour soutenir les trois nouvelles normes RFC, a déclaré à ZDNet Tal Be’ery, cofondateur et directeur de la recherche sur la sécurité chez KZen Networks.

Le chercheur a également souligné que le nouveau protocole de liaison des jetons ne se limite pas nécessairement à la liaison des jetons au seul niveau matériel, mais qu’il peut également fonctionner et lier de manière sécurisée les jetons au niveau logiciel, ce qui signifie qu’il peut être mis en œuvre presque partout.

« Il peut être utilisé par tout ce qui communique et a besoin de maintenir une session  » a dit Tal Be’ery. « Cela inclut aussi les dispositifs d’IdO (Internet des Objets). » Actuellement, le protocole Token Binding a été conçu autour de TLS 1.2, mais il sera également modifié pour fonctionner avec le nouveau TLS 1.3.

Article « IETF approves new internet standards to secure authentication tokens » traduit et adapté par ZDNet.fr

Go to Source


bouton-devis