Les identifiants de session liés à l'appareil renforcent l'authentification en ajoutant une sécurité de session basée sur le matériel.
Introduction
De nombreux sites Web s'appuient sur des cookies de longue durée pour authentifier les utilisateurs, mais ceux-ci sont susceptibles d'être détournés. Les identifiants de session liés à l'appareil (DBSC) ajoutent une couche de sécurité matérielle pour atténuer ce risque, en veillant à ce que les sessions soient liées à des appareils spécifiques.
Ce guide est destiné aux développeurs qui gèrent les flux d'authentification dans les applications Web. Il explique comment fonctionne DBSC et comment l'intégrer à votre site.
Fonctionnement de DBSC
De manière générale, DBSC introduit une paire de clés cryptographiques associée à l'appareil de l'utilisateur. Chrome génère cette paire de clés lors de la connexion et stocke la clé privée dans un matériel sécurisé, tel qu'un Trusted Platform Module (TPM), lorsqu'il est disponible. Les sessions utilisent des cookies de courte durée. Lorsqu'un de ces cookies expire, Chrome prouve qu'il possède la clé privée avant de les actualiser. Ce processus associe la continuité de session à l'appareil d'origine.
Si l'appareil d'un utilisateur n'est pas compatible avec le stockage sécurisé des clés, DBSC revient au comportement standard sans interrompre le flux d'authentification.
Présentation de l'implémentation
Pour intégrer DBSC à votre application, vous devez apporter les modifications suivantes :
- Modifiez votre flux de connexion pour inclure un en-tête
Secure-Session-Registration. - Ajoutez un point de terminaison d'enregistrement de session qui :
- Associe une clé publique à la session de l'utilisateur.
- Diffuser la configuration de la session.
- Transition vers des cookies de courte durée.
- Ajoutez un point de terminaison d'actualisation pour gérer le renouvellement des cookies et la validation de la possession des clés.
La plupart de vos points de terminaison existants ne nécessitent aucune modification. Le DBSC est conçu pour être additif et non perturbateur.
Lorsqu'un cookie éphémère requis est manquant ou a expiré, Chrome met la requête en pause et tente d'actualiser le cookie. Cela permet à votre application de continuer à utiliser ses vérifications habituelles des cookies de session pour confirmer que l'utilisateur est connecté. Comme cela correspond aux flux d'authentification classiques, DBSC fonctionne avec des modifications minimes de votre logique de connexion.
Étapes de mise en œuvre
Cette section décrit les modifications nécessaires à apporter à votre système d'authentification, y compris comment modifier votre parcours de connexion, gérer l'enregistrement des sessions et gérer les actualisations des cookies de courte durée. Chaque étape est conçue pour s'intégrer facilement à votre infrastructure existante.
Les étapes d'implémentation suivent le flux commun qu'un utilisateur connecté rencontre lorsque DBSC est actif : l'enregistrement à la connexion, suivi d'actualisations régulières de cookies de courte durée. Vous pouvez tester et implémenter chaque étape indépendamment, en fonction du niveau de sensibilité aux sessions de votre application.