Aller au contenu principal

5. Considérations de sécurité (Security Considerations)

Cette section décrit les menaces de sécurité pertinentes concernant la gestion des jetons lors de l'utilisation de jetons porteur et décrit comment atténuer ces menaces.

5.1. Menaces de sécurité

Fabrication/modification de jetons : Un attaquant peut générer un faux jeton ou modifier le contenu du jeton d'un jeton existant.

Divulgation de jetons : Les jetons peuvent contenir des déclarations d'authentification et d'attributs qui incluent des informations sensibles.

Redirection de jetons : Un attaquant utilise un jeton généré pour la consommation par un serveur de ressources pour accéder à un serveur de ressources différent.

Rejeu de jetons : Un attaquant tente d'utiliser un jeton qui a déjà été utilisé avec ce serveur de ressources dans le passé.

5.2. Atténuation des menaces

Une large gamme de menaces peut être atténuée en protégeant le contenu du jeton en utilisant une signature numérique ou un code d'authentification de message (MAC). Le serveur d'autorisation doit implémenter TLS.

Pour protéger contre la divulgation de jetons, la protection de confidentialité doit être appliquée en utilisant TLS [RFC5246] avec une suite de chiffrement qui fournit une protection de confidentialité et d'intégrité.

5.3. Résumé des recommandations

  • Protéger les jetons porteur : Les implémentations client doivent s'assurer que les jetons porteur ne sont pas divulgués à des parties non intentionnelles.
  • Valider les chaînes de certificats TLS : Le client doit valider la chaîne de certificats TLS lors des requêtes vers les ressources protégées.
  • Toujours utiliser TLS (https) : Les clients doivent toujours utiliser TLS lors de requêtes avec des jetons porteur.
  • Ne pas stocker les jetons porteur dans les cookies : Les implémentations ne doivent pas stocker les jetons porteur dans des cookies pouvant être envoyés en clair.
  • Émettre des jetons porteur de courte durée : Les serveurs de jetons devraient émettre des jetons porteur de courte durée (une heure ou moins).
  • Ne pas passer les jetons porteur dans les URL de page : Les jetons porteur ne devraient pas être passés dans les URL de page.