Les méthodes d’authentification

Les méthodes d’authentification

Une application peut demander des informations à une personne ou une machine pour lui donner des droits d’accès à ses ressources (web, services, fichiers…). L’authentification est le processus qui valide ces informations reçues avec l’aide d’un facteur comme la saisie d’un mot de passe qu’on est le seul à connaître. En utilisant plusieurs catégories de facteurs, l’authentification est multifactorielle (MFA).

Une authentification peut être développée sur n’importe quelle machine (appareils ou serveur). Elle est distante si elle est faite dans une application backend, car les données à vérifier devront transiter sur le réseau. Dans le cas contraire, elle est locale. Windows Hello en est un exemple.

Il existe des serveurs indépendants qui gèrent l’authentification dans un réseau privé ou public, et ils peuvent stocker les données du nom d’utilisateur et mot de passe dans leur système. On retrouvera le serveur LDAP dans les entreprises. L’OpenID Connect ou SAML pour s’authentifier à partir d’un compte Google, Microsoft, et d’autres. Ces derniers peuvent offrir une authentification unique (ou SSO), évitant aux utilisateurs de retaper les mots de passe.

Les ressources sont protégées en ajoutant des conditions à plusieurs endroits dans une application. On vérifiera que l’utilisateur est authentifié, mais d’autres critères peuvent s’ajouter. Le contrôle basé sur les rôles (RBAC) accorde des droits en fonction des rôles de l’utilisateur (employé, manageur, administrateur…). Il y a également le contrôle d’accès basé sur les attributs (ABAC) qui est plus flexible.

Les serveurs ou les objets, pour s’authentifier à une application, ont moins de facteurs qu’un humain. Les objets auront tendance à obtenir des clés asymétriques (clés privées et publiques) ou des certificats numériques. Les serveurs peuvent utiliser des clés d’API, ou alors une authentification de type Client Credentials Grant dans OAuth 2.0 qui est plus sécurisée. Celle-ci peut être implémentée dans Spring Boot avec Spring Authorization Server.

Laisser un commentaire