Annexe A. Concepts d'authentification et d'autorisation
La présente annexe n'a pas de caractère normatif.
La présente annexe définit les termes, concepts et interrelations de base concernant l'authentification, l'autorisation, les informations d'authentification et l'identité. Ces concepts servent à décrire la manière dont diverses approches de sécurité sont utilisées dans l'authentification et l'autorisation des clients.
A.1. Politique de contrôle d'accès
Une politique de contrôle d'accès est un ensemble de règles définissant la protection des ressources, généralement en termes de capacités des personnes ou autres entités accédant à ces ressources. Les objets et mécanismes de sécurité, tels que ceux décrits ici, permettent l'expression des politiques de contrôle d'accès et leur application.
A.2. Facteurs de contrôle d'accès
Une demande, lorsqu'elle est traitée par un serveur, peut être associée à une grande variété de facteurs liés à la sécurité. Le serveur utilise ces facteurs pour déterminer si et comment traiter la demande. On les appelle facteurs de contrôle d'accès (ACF, access control factors). Ils peuvent inclure l'adresse IP source, la force du chiffrement, le type d'opération demandée, l'heure, etc. Certains facteurs peuvent être propres à la demande elle-même ; d'autres peuvent être associés à la connexion de transport par laquelle la demande est transmise ; et d'autres encore (par exemple l'heure) peuvent être « environnementaux ».
Les politiques de contrôle d'accès sont exprimées en termes de facteurs de contrôle d'accès ; par exemple, « une demande possédant les ACF i,j,k peut effectuer l'opération Y sur la ressource Z ». L'ensemble des ACF qu'un serveur met à disposition pour de telles expressions est propre à l'implémentation.
A.3. Authentification, informations d'authentification, identité
Les informations d'authentification (authentication credentials) sont les preuves fournies par une partie à une autre, attestant l'identité de la partie qui les fournit (par exemple un utilisateur) et qui tente d'établir un nouvel état d'autorisation avec l'autre partie (généralement un serveur). L'authentification est le processus de génération, de transmission et de vérification de ces informations, et donc de l'identité qu'elles attestent. Une identité d'authentification (authentication identity) est le nom présenté dans une information d'authentification.
Il existe de nombreuses formes d'informations d'authentification. La forme utilisée dépend du mécanisme d'authentification particulier négocié par les parties. Les certificats X.509, les tickets Kerberos et les simples couples identité/mot de passe sont tous des exemples de formes d'informations d'authentification. Notons qu'un mécanisme d'authentification peut restreindre la forme des identités d'authentification utilisées avec lui.
A.4. Identité d'autorisation
Une identité d'autorisation (authorization identity) est une sorte de facteur de contrôle d'accès. C'est le nom de l'utilisateur ou de l'autre entité qui demande que des opérations soient effectuées. Les politiques de contrôle d'accès sont souvent exprimées en termes d'identités d'autorisation ; par exemple, « l'entité X peut effectuer l'opération Y sur la ressource Z ».
L'identité d'autorisation d'une session LDAP est souvent sémantiquement identique à l'identité d'authentification présentée par le client, mais elle peut être différente. SASL permet aux clients de spécifier une identité d'autorisation distincte de l'identité d'authentification attestée par les informations d'authentification du client. Cela permet à des agents tels que les serveurs mandataires (proxies) de s'authentifier avec leurs propres informations d'authentification tout en demandant les privilèges d'accès de l'identité pour laquelle ils agissent en tant que mandataire [RFC4422]. De plus, la forme d'identité d'authentification fournie par un service tel que TLS peut ne pas correspondre aux identités d'autorisation utilisées pour exprimer la politique de contrôle d'accès d'un serveur, ce qui nécessite une mise en correspondance propre au serveur. La méthode par laquelle un serveur compose et valide une identité d'autorisation à partir des informations d'authentification fournies par un client est propre à l'implémentation.