Qu’est-ce que l’authentification (Authentication) ?
En bref : L’authentification (Authentication) répond à la question “Quelle identité possédez-vous?”
Voici quelques exemples typiques d’authentification :
- Connexion avec nom d’utilisateur et mot de passe
- Connexion sociale (par exemple, Se connecter avec Google)
- Authentification (Authentication) par Machine-to-machine (par exemple, clés API)
Nous n’avons pas utilisé la phrase “Qui es-tu ?” parce que :
- Dans le domaine de l’ Gestion des identités et des accès (Identity and access management, IAM) , l’authentification (Authentication) concerne la vérification de la propriété d’une identité, et non l’identification de la personne ou de l’entité. Par exemple, lorsqu’un membre de votre famille utilise vos identifiants pour se connecter à votre compte, il n’est pas vous, mais l’identité pour le système est la même.
- L’identité peut être un utilisateur, un service ou un appareil. Par exemple, un service peut s’authentifier (authenticate) auprès d’un autre service en utilisant des clés API.
Différence entre authentification (Authentication) et autorisation (Authorization)
Ces deux termes sont souvent confondus, mais ils sont fondamentalement différents : l’ Autorisation (Authorization) répond à la question “Que pouvez-vous faire ?”. De plus, l’authentification (Authentication) est une condition préalable à l’autorisation (Authorization) car le système doit connaître l’identité avant de décider quelles actions peuvent être effectuées.
Facteurs d’authentification (Authentication)
L’authentification (Authentication) peut être effectuée en utilisant un ou plusieurs facteurs. Voici quelques facteurs courants :
- Facteur de connaissance : Quelque chose que vous savez (par exemple, mot de passe, code PIN)
- Facteur de possession : Quelque chose que vous avez (par exemple, smartphone, jeton de sécurité)
- Facteur d’hérédité : Quelque chose que vous êtes (par exemple, empreinte digitale, reconnaissance faciale)
L’utilisation de Authentification multi-facteurs (Multi-factor authentication, MFA) est une pratique courante qui combine plusieurs facteurs pour augmenter la sécurité. Par exemple, lorsque vous vous connectez à votre compte bancaire, vous pouvez avoir besoin de fournir un mot de passe (facteur de connaissance) et un code à usage unique provenant d’une application d’authentification (facteur de possession).
Passkey (Passkey) est un facteur d’authentification (Authentication) moderne qui peut combiner plusieurs facteurs et qui est résistant aux attaques de phishing.
Cadres (protocoles) d’authentification (Authentication)
Au lieu de construire un système d’authentification (Authentication) artisanal, il est recommandé d’utiliser des cadres et protocoles établis car ils ont été éprouvés et examinés par des experts en sécurité. Il existe divers cadres et protocoles d’authentification (Authentication) qui définissent comment l’authentification (Authentication) doit être réalisée. Deux exemples courants sont :
- OpenID Connect (OIDC) : Une couche d’identité construite sur OAuth 2.0 qui ajoute des capacités d’authentification (Authentication). Il est relativement moderne et largement utilisé pour les nouvelles applications.
- Langage de balisage pour les assertions de sécurité (Security Assertion Markup Language, SAML) : Un protocole pour échanger des données d’authentification (Authentication) et d’autorisation (Authorization) entre parties. Il est couramment utilisé dans les environnements d’entreprise.
Le choix du cadre dépend de votre cas d’utilisation et de vos exigences. Pour les nouvelles applications, OIDC est recommandé en raison de sa conception moderne et de son support pour JSON Web Token (JWT) .
Cependant, travailler directement avec ces protocoles peut encore être complexe et chronophage. Les deux protocoles ont des courbes d’apprentissage abruptes et nécessitent une mise en œuvre minutieuse pour assurer la sécurité. Au lieu de cela, utiliser un Fournisseur d'identité (Identity provider, IdP) qui supporte ou est construit sur ces protocoles peut grandement simplifier le processus d’authentification (Authentication). Un bon fournisseur d’identité offrira également des fonctionnalités supplémentaires telles que Authentification multi-facteurs (Multi-factor authentication, MFA) et Authentification unique (Single sign-on, SSO) pour vos besoins futurs.