Jeton d’accès : définition, architecture et utilisation
Jeton d’accès : définition, architecture et utilisation
Jeton d’accès : définition, architecture et utilisation
Un jeton d’accès est un petit élément de code qui contient un gros volume de données. Les informations concernant l’utilisateur, les autorisations, les groupes et les périodes sont incorporées dans un jeton transmis par un serveur au terminal d’un utilisateur.
De nombreux sites web utilisent des jetons d’accès. Si vous vous êtes déjà servi des identifiants que vous utilisez sur un site web (comme Facebook) pour accéder à un autre site (comme Salesforce), par exemple, vous avez en fait utilisé un jeton d’accès.
Quelles données inclut un jeton d’accès ?
Normalement, un jeton d’accès comporte trois parties distinctes, qui fonctionnent conjointement pour vérifier le droit d’un utilisateur à accéder à une ressource.
La plupart des jetons comportent trois sections clés.
- En-tête : les données sur le type de jeton et l’algorithme utilisé pour le générer sont inclus dans l’en-tête.
- Données utiles : les informations sur l’utilisateur, y compris ses autorisations et les dates d’expiration du jeton, sont incluses dans cette section.
- Signature : il s’agit des données de vérification, afin que le destinataire puisse avoir confirmation de l’authenticité du jeton. La signature est généralement hachée, ce qui la rend plus difficile à pirater et à répliquer.
Les données utiles, également désignées par le terme « revendications », sont essentielles au bon fonctionnement du jeton. Si vous souhaitez consulter une ressource spécifique sur le serveur sans avoir reçu les autorisations appropriées dans les données utiles, vous ne pourrez pas y avoir accès.
Les développeurs peuvent également insérer toute une série de données personnalisées dans les données utiles. Par exemple, un jeton d’accès Google peut donner accès à de nombreuses applications (API), et tous ces identifiants sont spécifiés avec un seul jeton.
Les types de jetons d’accès peuvent varier d’un site à l’autre. Facebook, par exemple, propose quatre types de jetons d’accès. D’autres sites en possèdent des dizaines d’autres.
Mais quelle que soit la quantité de données incluses, les jetons d’accès sont généralement assez courts. Un jeton JWT (JSON Web Token), par exemple, est composé de trois chaînes Base64URL. Il est plus court que ce paragraphe.
Comment fonctionnent les jetons d’accès ?
Les utilisateurs n’écrivent pas leurs propres codes d’accès. Les serveurs communiquent avec les terminaux, et toute l’opération se déroule en quelques minutes.
Vous devrez suivre une série d’étapes prévisibles.
- Connexion : utilisez un nom d’utilisateur et un mot de passe connus pour prouver votre identité.
- Vérification : le serveur authentifie les données et émet un jeton.
- Stockage : le jeton est envoyé à votre navigateur pour y être stocké.
- Communication : chaque fois que vous accédez à une nouvelle ressource sur le serveur, votre jeton est à nouveau vérifié.
- Suppression : au terme de votre session, le jeton est éliminé.
Vous pouvez également utiliser les jetons d’accès pour l’authentification unique (SSO). Les identifiants que vous utilisez pour un site deviennent votre « clé » pour accéder à un autre. Procédez comme suit :
- Autorisation : vous acceptez d’utiliser les identifiants que vous utilisez sur un site pour accéder à un autre.
- Connexion : le premier site se connecte au second et demande de l’aide. Le second site crée un jeton d’accès.
- Stockage : le jeton est stocké sur votre navigateur.
- Accès : le jeton d’accès du second site vous permet d’entrer sur le premier.
Les demandes SSO expirent rapidement. Comme nous l’avons expliqué dans un autre article, la plupart des demandes expirent généralement dans les 10 minutes, mais certaines arrêtent le processus après 60 secondes seulement.
Protection de la sécurité des jetons d’accès
Les jetons d’accès doivent être protégés lors de leur transit sur Internet. Lorsque les sociétés n’utilisent ni le chiffrement ni des canaux de communication sécurisés, des tiers peuvent intercepter les jetons et ainsi avoir accès, sans y être autorisés, à des données très sensibles. La prudence est donc de mise.
La plupart des jetons d’accès ont aussi un délai d’expiration défini. Cette simple étape permet aux sites web de vérifier que les utilisateurs sont toujours en ligne et actifs. Il est ainsi possible d’éviter une duplication ou suppression à grande échelle. Les dates d’expiration peuvent varier d’une société à l’autre.
Okta utilise des systèmes robustes pour protéger les données au repos et en transit. Nous pouvons vous aider à comprendre les mesures à prendre pour barrer la route aux pirates. Qui plus est, avec nos outils, vous pouvez chiffrer les données de façon simple et rapide. Contactez-nous pour en savoir plus.
Références
Utiliser OAuth 2.0 pour accéder aux API Google. Décembre 2020. Google Identity.
Tokens d’accès. Facebook for Developers.
What Is OAuth? How the Open Authorization Framework Works. Septembre 2019. CSO.