Authn vs. authz : Quelle est la différence ?

Authn est l'abréviation d'authentification, et authz est l'abréviation d'autorisation. Il s'agit de deux concepts distincts mais étroitement liés dans le monde de la gestion des identités et des accès (IAM).

Objectifs d’apprentissage

Cet article s'articule autour des points suivants :

  • Contraste entre authn et authz
  • Décrire les méthodes d'authn courantes
  • Expliquez plusieurs approches d'authentification

Copier le lien de l'article

Autorisation (authz) vs. authentification (authn)

En sécurité de l'information, l'authentification (abrégée en authn) et l'autorisation (authz) sont des concepts liés mais distincts. Tous deux constituent une partie importante de la gestion des identités et des accès (IAM) .

En quoi authn et authz sont-ils différents ? Pour simplifier, authn concerne l'identité , c'est-à-dire ce que l'on est, tandis que authz concerne les permissions , c'est-à-dire ce que l'on est autorisé à faire.

Qu'est-ce que l'authentification (authn) ?

L'authentification consiste à s'assurer qu'une personne ou un dispositif est bien celui (ou celle) qu'il prétend être. Une personne qui prend des billets pour un événement peut être invitée à montrer sa carte d'identité pour vérifier son identité ; de même, une application ou une base de données peut vouloir s'assurer qu'un utilisateur est légitime en vérifiant son identité. L'authentification garantit que les données ne sont pas exposées à la mauvaise personne.

Quelles sont les méthodes d'authn les plus courantes ?

Combinaison du nom d'utilisateur et du mot de passe

L'une des méthodes d'authentification les plus courantes consiste à demander à l'utilisateur de saisir son nom d'utilisateur et son mot de passe. Lorsque Jessica charge son compte de messagerie dans son navigateur, le service de messagerie ne sait pas encore qui elle est, mais dès qu'elle saisit son nom d'utilisateur et son mot de passe dans le formulaire de connexion, le service est en mesure de vérifier ces informations d'identification, de l'authentifier en tant que Jessica et de la connecter à son compte.

Bien que la plupart des gens soient familiers avec ce type d'authentification, les noms d'utilisateur et les mots de passe peuvent être utilisés pour autre chose que l'authentification des utilisateurs. Les points de terminaison de l'API peuvent être authentifiés de cette manière, par exemple.

Authentification multifactorielle (MFA)

Le problème de l'authentification par nom d'utilisateur et mot de passe est que les mots de passe peuvent souvent être devinés ou volés par des personnes malveillantes. Le fait d'exiger des facteurs d'authentification supplémentaires accroît la sécurité des utilisateurs ; ce concept est appelé authentification multifactorielle (AMF). Lorsque l'AMF est utilisée, un attaquant a besoin de plus qu'un mot de passe pour s'authentifier faussement comme un utilisateur légitime.

L'AMF est le plus souvent mise en œuvre sous la forme d'une authentification à deux facteurs (2FA) . Aujourd'hui, de nombreux services mettent en œuvre l'authentification à deux facteurs en demandant aux utilisateurs de prouver qu'ils possèdent un jeton qui leur a été remis. Il existe deux types de jetons : les jetons souples "" , comme un code envoyé à un utilisateur par SMS ou via une application mobile, et les jetons rigides "" , comme les clés USB. 2FA et MFA peuvent également utiliser des facteurs d'authentification biométriques (décrits ci-dessous).

Certificat de clé publique

L'authentification par clé publique est légèrement plus complexe que ces autres formes d'authentification, mais lorsqu'elle est mise en œuvre correctement, elle peut être plus sûre. Elle utilise le chiffrement à clé publique pour vérifier si la partie authentifiée possède ou non la bonne clé privée.

(Voir Comment fonctionne le cryptage par clé publique ? pour savoir comment fonctionnent les clés publiques et les clés privées).

L'utilisation la plus courante de l'authentification par clé publique est celle de Transport Layer Security (TLS), dans laquelle elle est utilisée pour authentifier un serveur web. Les appareils des utilisateurs effectuent ce type d'authentification chaque fois qu'ils chargent un site web qui utilise HTTPS.

L'authentification par clé publique est également utilisée pour l'authentification mutuelle, c'est-à-dire lorsque les deux côtés d'une communication s'authentifient mutuellement, au lieu que ce soit un client qui authentifie un serveur ou un service web qui authentifie un utilisateur. Les dispositifs de l'Internet des objets (IoT) et les points de terminaison API utilisent parfois ce type d'authentification.

Authentification biométrique

Utilisable uniquement pour authentifier des humains, l'authentification biométrique consiste à vérifier l'identité d'une personne en comparant l'une de ses caractéristiques physiques à une base de données de ses caractéristiques physiques connues. Le scan du visage ou de la rétine sont des exemples de ce type d'authentification.

Qu'est-ce que l'autorisation (authz) ?

L'autorisation détermine ce qu'un utilisateur authentifié peut voir et faire. Pensez à ce qui se passe lorsqu'un client d'une banque se connecte à son compte en ligne. Comme son identité a été authentifiée, il peut voir le solde de son compte et l'historique de ses transactions, mais il n'est pas autorisé à voir celles des autres. À l'inverse, un responsable de la banque peut être autorisé à consulter les données financières de n'importe quel client.

De même, une personne peut être un employé légitime d'une entreprise, et son identité peut avoir été vérifiée, mais cela ne signifie pas qu'elle doit avoir accès à tous les fichiers et données de cette entreprise. Un employé extérieur aux services des ressources humaines ou de la comptabilité ne devrait pas être en mesure de voir la rémunération de chacun, par exemple.

Le niveau d'autorisation d'un utilisateur détermine ce qu'il est autorisé à faire ; par conséquent, un terme courant pour les actions autorisées est "permissions." Un autre terme pour ce concept est "privileges."

Comment fonctionne authz ?

Les organisations utilisent une sorte de solution d'autorisation pour autoriser ou bloquer les actions des utilisateurs. La solution sait généralement quelles actions autoriser ou bloquer en fonction de l'identité de l'utilisateur ; pour cette raison, l'authentification est étroitement liée à l'autorisation. Il existe plusieurs façons différentes de déterminer les autorisations des utilisateurs, notamment les suivantes :

Dans le contrôle d'accès basé sur les rôles (RBAC), chaque utilisateur se voit attribuer un ou plusieurs rôles prédéterminés, et chaque rôle s'accompagne d'un ensemble spécifique de permissions.

Dans le contrôle d'accès basé sur les attributs (ABAC) , les utilisateurs se voient attribuer des autorisations en fonction de leurs attributs ou des attributs de l'action qu'ils essaient d'exécuter.

Dans le contrôle d'accès basé sur des règles (également abrégé en RBAC), les actions sont autorisées ou refusées sur la base d'un ensemble de règles qui s'appliquent à tous les utilisateurs, quel que soit leur rôle.

Qu'est-ce que l'OAuth ?

OAuth est une norme technique permettant de transmettre une autorisation d'un service à un autre. Souvent utilisé pour les services en nuage et les applications Web, OAuth permet aux utilisateurs de s'authentifier sur un service, puis de transmettre leur autorisation à un autre service. Leur niveau d'autorisation est généralement déterminé par un fournisseur d'identité (IdP) , qui est un service distinct.

OAuth rend possible l'utilisation de services d'authentification unique (SSO) , avec lesquels un utilisateur peut se connecter une fois pour accéder à toutes ses applications en nuage. Sans l'utilisation d'OAuth, les autorisations d'un utilisateur devraient être configurées séparément dans chaque application.

Comment Cloudflare aide-t-il les entreprises à mettre en œuvre authn et authz ?

Cloudflare Access est une solution d'authentification qui autorise ou bloque les actions des utilisateurs dans les applications sur site, hébergées par eux-mêmes et SaaS. Elle s'intègre à tout IdP pour l'authentification. Cloudflare Access évalue également la posture de sécurité du dispositif avant d'accorder l'accès, une fonctionnalité importante pour la mise en œuvre d'un modèle de confiance zéro (en savoir plus sur la confiance zéro).

Service commercial