Catégorie

Cybersécurité

Catégorie

L’authentification unique (SSO) est une fonction d’identité numérique populaire auprès des organisations qui cherchent à simplifier et à sécuriser les processus d’inscription et de connexion de leurs services. Dans cet article, j’explique ce qu’est le SSO du point de vue des organisations, des utilisateurs finaux de leurs services et pour vous, le développeur qui implémente les API SSO.

Cet article fait suite à notre précédent article non technique intitulé « Qu’est-ce que le Single Sign-On (SSO) ? Comment utiliser le SSO pour améliorer la sécurité et l’expérience client » – qui fournit une bonne introduction de base pour les collègues du côté plus commercial de votre entreprise. Ici, je vais entrer un peu plus dans les détails techniques du SSO – l’architecture du SSO et comment le SSO fonctionne dans le contexte des applications web.

Qu’est-ce que le SSO ?
Le SSO permet aux utilisateurs de se connecter une seule fois pour avoir accès à toutes vos applications web auxquelles ils ont le droit d’accéder.

SSO dans le cloud IDaaS

Passons en revue les différentes perspectives du SSO, afin de bien comprendre ce que cela signifie en pratique pour toutes les personnes concernées.

Utilisateur final
Pour l’utilisateur final de votre application web, le SSO est invisible. C’est une fonctionnalité qui n’est remarquée que lorsqu’elle est absente de votre service, car les utilisateurs (en particulier les clients) attendent de tout service qu’ils utilisent une expérience transparente et une sécurité solide. Si les clients constatent des frictions dans l’interface utilisateur ou ont vent d’une data breach, ils iront voir ailleurs.

Le SSO offre une expérience positive à vos utilisateurs, notamment en réduisant la fréquence des invites de connexion. Cet aspect est de plus en plus important à mesure que l’authentification multifactorielle (AMF) se généralise, c’est-à-dire qu’il faut plus d’une méthode d’authentification pour se connecter. Avec l’AMF, le processus de connexion peut sembler plus complexe à l’utilisateur final, malgré ses avantages indéniables en matière de sécurité. Le fait de devoir se connecter moins souvent signifie que cet obstacle à la convivialité apparaît moins souvent.

De cette façon, un seul ensemble d’informations d’authentification fonctionne pour plusieurs applications. Il n’est pas toujours facile de se souvenir de mots de passe complexes ou de conserver les informations d’identification de l’AMF.

Les avantages du SSO en termes de facilité d’utilisation peuvent être bien équilibrés avec les avantages de l’AMF en termes de sécurité lorsqu’ils sont correctement réalisés, par exemple en demandant des méthodes d’authentification supplémentaires uniquement lorsque l’utilisateur accède à un service contenant des données plus sensibles (authentification renforcée). L’authentification basée sur le risque (RBA) est un excellent moyen d’évaluer automatiquement si une authentification renforcée est nécessaire, en analysant si l’adresse IP de l’utilisateur ou d’autres données comportementales sont suspectes ou conformes aux attentes (voir plus loin). Le risque de failles d’accès est ainsi éliminé avec moins de processus d’authentification pour les utilisateurs autorisés.

Développeur d’applications
Pour le développeur d’une application web, le SSO permet de se libérer de la responsabilité (souvent lourde) de l’authentification des utilisateurs, puisque la fonctionnalité d’authentification de l’utilisateur final est déplacée hors de l’application. Le SSO peut être intégré aux API et, comme il s’agit d’une fonction d’identité numérique standardisée, il peut être mis en œuvre rapidement et facilement avec IDaaS (Identity-as-a-Service).

Le développeur peut ainsi se concentrer sur les fonctions essentielles de l’application – la « sauce spéciale » de l’entreprise – au lieu de tenter de résoudre des problèmes complexes d’authentification, de gestion des informations d’identification et de politique, dont la maîtrise peut prendre plusieurs années.

Les exigences d’un système d’authentification moderne ne cessent de croître. Le système doit permettre des fonctions très basiques, comme la récupération du mot de passe en libre-service, mais aussi être capable de s’adapter aux besoins futurs du système (comme les flux de travail de délégation), tout en respectant les changements réglementaires et l’évolution des normes.

Responsable de la sécurité
Pour les responsables de la sécurité, le SSO est synonyme de gestion centralisée des identités et des accès (IAM). Le SSO donne aux équipes de sécurité informatique une meilleure visibilité et une réponse plus rapide aux menaces de sécurité, ce qui leur permet de mieux contrôler les exigences de sécurité et de conformité. Le SSO signifie que le provisionnement et le déprovisionnement des justificatifs d’identité s’effectuent en un seul endroit, ce qui réduit la menace de comptes expirés négligés et non sécurisés.

Bien que le risque de violation de l’accès à un ensemble d’informations d’identification soit apparemment plus élevé qu’avec une gestion décentralisée de l’accès aux informations, les utilisateurs sont plus susceptibles de maintenir des pratiques d’identification plus strictes (par exemple, des mots de passe sécurisés et une authentification automatique) s’ils n’ont qu’un seul ensemble d’informations à gérer, ce qui augmente encore les avantages du SSO en matière de sécurité.

Architecture du SSO
Le SSO est mis en œuvre par un fournisseur d’identité (IdP) – le cœur d’une solution centralisée de gestion des accès.

Les applications Web et mobiles s’intègrent à l’IdP à l’aide de protocoles basés sur des normes, tels que SAML et OpenID Connect. Le fait que ces protocoles soient basés sur des normes permet aux développeurs d’applications de choisir parmi de nombreux modules d’intégration et connecteurs prêts à l’emploi et faciles à utiliser. L’interopérabilité entre les IdP de différents fournisseurs permet au développeur d’applications de choisir l’IdP à utiliser. Dans certains cas, l’application peut utiliser plus d’un IdP, par exemple lorsqu’elle utilise des fournisseurs de connexion sociale courants tels que Google, Microsoft et Facebook.

(Pour en savoir plus sur les différents protocoles, consultez notre livre blanc gratuit : SAML vs OAuth 2.0 vs OpenID Connect)

Fournisseur d’identité Connect bleu

Comment fonctionne l’authentification unique (SSO) ?
Le fournisseur d’identité (IdP) est au cœur du système SSO. L’IdP existe à une origine unique (ou adresse réseau) pour être découvrable par les applications et pour mettre en œuvre le suivi de session.

Lorsqu’une application a besoin d’authentifier un utilisateur, elle envoie le navigateur Web de l’utilisateur à l’IdP. Pour cela, l’application compose un message de demande d’authentification basé sur des normes. L’IdP reçoit le message et identifie l’application qui demande l’authentification.

Sur la base de l’identité de l’application et des paramètres de la demande d’authentification, du suivi de session et du contexte de navigation, l’IdP choisit comment authentifier l’utilisateur.

Après avoir authentifié l’utilisateur, l’IdP compose un message de réponse d’authentification et renvoie le navigateur de l’utilisateur à l’application. L’application exécute alors un ensemble d’actions spécifiées par le protocole pour valider la réponse et reçoit finalement un ensemble de revendications qui décrivent l’identité de l’utilisateur.

Suivi des sessions
Le concept de « session » est assez ambigu. Ici, la session fait référence à la technologie que l’IdP utilise pour se souvenir des authentifications passées, c’est-à-dire pour mettre en œuvre la fonctionnalité d’authentification unique.

Toutes les technologies de suivi de session sont liées à l’origine ou à l’adresse réseau où l’IdP est hébergé. Pour que l’authentification unique fonctionne, le navigateur de l’utilisateur doit visiter la même origine que celle où l’authentification a eu lieu précédemment.

Les cookies Http sont la technologie la plus populaire pour mettre en œuvre le suivi de session. Le contenu d’un cookie peut être un identifiant qui fait référence à une session stockée dans une base de données sur le serveur. L’avantage de stocker les sessions sur le serveur est de réduire la taille des cookies et de permettre la révocation des sessions à partir du serveur. Par exemple, si le compte d’un utilisateur est compromis, il est utile de pouvoir révoquer toutes les sessions de l’utilisateur.

Le cookie peut également être un jeton cryptographique contenant des revendications qui permettent au serveur de restaurer une session. L’avantage de l’utilisation de jetons est l’évolutivité, car moins d’informations doivent être stockées du côté du serveur. D’un autre côté, le processus de révocation des jetons et des sessions devient plus difficile.

Souvent, une combinaison de sessions côté serveur et de jetons cryptographiques est nécessaire.

Les technologies HTML5 modernes, telles que Web Crypto et Web Storage, peuvent être utilisées pour améliorer la sécurité du suivi des sessions. Web Crypto permet de générer des clés cryptographiques qui sont stockées en toute sécurité par le navigateur. Ces clés sécurisées peuvent être utilisées pour fournir une preuve supplémentaire de la propriété de la session pour l’IdP.

Autorisation et consentement
Dans un monde où la confidentialité est primordiale, il n’est souvent pas souhaitable de permettre à une application éventuellement inconnue d’utiliser l’authentification unique pour demander des informations identifiant l’utilisateur. Au lieu de cela, l’IdP doit interrompre le flux SSO et demander l’autorisation et le consentement de l’utilisateur avant de divulguer des informations d’identité à une application que l’utilisateur n’a jamais visitée auparavant. Comme pour l’authentification, l’IdP choisit comment il accepte l’autorisation en fonction de divers paramètres. Il peut accepter quelque chose d’aussi simple qu’un clic sur un bouton, ou l’IdP peut exiger quelque chose de plus complexe, comme que l’utilisateur saisisse à nouveau les informations d’authentification.

Authentification basée sur le risque
L’authentification unique pour l’utilisateur final est une expérience utilisateur améliorée, alors que le responsable de la sécurité voit potentiellement un risque accru. Avec l’authentification basée sur le risque, il est possible de mettre en œuvre un équilibre dynamique entre la convivialité et le risque.

L’IdP peut s’adapter au contexte dans lequel l’authentification a lieu et soit demander une authentification simple, soit exiger une authentification plus complexe.

Par exemple, si une demande d’authentification est reçue sur un appareil de confiance, depuis le réseau du bureau et pendant les heures de travail, l’IdP peut accepter une authentification silencieuse basée sur les cookies et autres informations stockées dans le navigateur de l’utilisateur.

Comparez cela à une demande d’authentification reçue sur un appareil inconnu provenant d’un pays que l’utilisateur n’a jamais visité auparavant. Dans ce cas, l’IdP reconnaît les facteurs de risque et peut exiger une authentification multifactorielle plus forte.

Conclusions
L’authentification unique (SSO) présente de nombreux avantages pour les organisations qui utilisent toutes sortes d’applications et de services en ligne lorsqu’elle est correctement mise en œuvre, ce qui en fait l’un des cas d’utilisation de l’identité numérique les plus courants.

Intégrez rapidement et facilement le SSO dans vos applications grâce à l’Identité en tant que Service (IDaaS, alias IAM en mode SaaS) d’Ubisecure. IDaaS est un service géré, qui vous permet d’éliminer la complexité de la gestion des identités en interne et de vous concentrer sur votre activité principale.

Comment le SSO peut-il améliorer la sécurité des clients et l’expérience des utilisateurs ?

Le SSO, ou Single Sign-On, est un service qui permet à un utilisateur de se connecter à une application ou à un domaine réseau, puis d’être authentifié et connecté automatiquement à d’autres applications ou domaines associés. L’utilisateur n’a donc besoin que d’un seul ensemble d’informations d’identification (nom d’utilisateur/mot de passe, par exemple) pour s’authentifier et accéder en toute sécurité à plusieurs applications, services et même à différents fournisseurs de services.

Remarque : pour un aperçu plus technique de « Qu’est-ce que l’authentification unique (SSO) », consultez notre blog « Qu’est-ce que l’authentification unique (SSO) – conseils techniques pour les développeurs d’applications Web ».

Le SSO est utilisé depuis longtemps dans les entreprises pour réduire (et mieux gérer) le nombre d’informations d’identification dont un employé a besoin pour accéder aux applications de l’entreprise. Cependant, nous constatons aujourd’hui que le SSO est également utilisé pour les utilisateurs externes, comme les clients, les consommateurs ou les partenaires. Avec l’augmentation des failles et des attaques sur les données d’identité des clients, cet article de blog se concentre sur le scénario très attendu du client/consommateur de confiance.

Par exemple, une société d’énergie pourrait utiliser la capacité SSO d’une plateforme d’identité pour permettre aux clients d’utiliser une seule identité pour l’authentification et la connexion simplifiée à tous ses services numériques – paramètres du compte, rapports d’électricité, consommation de gaz, historique des paiements, etc.

Schéma de l’authentification unique (SSO)

Examinons quelques questions sur le SSO : avantages, niveaux de sécurité et configuration.

Quels sont les avantages du SSO ?
Le SSO améliore l’expérience utilisateur (UX)
L’amélioration de l’expérience utilisateur est peut-être l’avantage le plus évident de l’authentification unique. Les connexions répétées sont encombrantes et ennuyeuses, donc supprimer cette nécessité est un grand avantage. Comme les clients exigent de plus en plus une bonne expérience numérique, une mauvaise expérience utilisateur entraînera une perte de clientèle.

Autre avantage de l’interface utilisateur, la connexion peut être authentifiée à l’aide des informations d’identification que vous pensez que vos visiteurs voudront utiliser, par exemple un nom d’utilisateur/mot de passe ou une identité numérique existante d’un fournisseur d’identité (IdP). L’identité fédérée d’un IdP comprend toute une gamme d’identités numériques existantes, qu’il s’agisse d’identités sociales (Facebook, Google, Twitter) ou d’identités plus solides, comme une identité numérique nationale (eID) ou une identité bancaire.

Il n’est pas nécessaire pour l’utilisateur de créer un tout nouvel ensemble d’informations d’identification, si vous le souhaitez – il existe de nombreuses options permettant à un utilisateur de se vérifier avec une identité numérique qu’il possède déjà – ce qui satisfait les utilisateurs et renforce la sécurité (nous y reviendrons).

Le SSO réduit le temps et les coûts d’administration
Avec un seul ensemble d’informations d’identification à gérer, les problèmes de connexion et d’authentification sont considérablement réduits, ce qui signifie que les administrateurs informatiques perdent beaucoup moins de temps à les résoudre – un avantage qui évolue avec la croissance de votre entreprise.

En outre, la simplification de la création et de la désactivation internes des identifiants d’accès – par exemple, lorsque les contrats des partenaires commencent/se terminent dans un service B2B – permet également de gagner du temps.

Comme nous le savons tous, le temps est synonyme d’argent. Le SSO fait gagner du temps, et donc de l’argent à votre entreprise.

L’authentification unique est-elle sûre ?
Alors qu’une première impression du SSO pourrait vous faire douter de la sécurité de n’avoir besoin que d’un seul ensemble d’informations d’identification pour gérer l’accès à plusieurs systèmes, le SSO améliore en fait la sécurité lorsqu’il est correctement mis en œuvre.

Si nous reprenons le cas d’utilisation du partenaire B2B ci-dessus, avec une révocation plus simple des identifiants d’accès à l’expiration des contrats, cela signifie également qu’il est beaucoup plus facile de voir et de gérer qui a accès aux données de votre organisation.

De plus, l’authentification initiale peut être très forte, l’authentification multifactorielle (MFA) étant désormais une fonctionnalité standard de l’Identity and Access Management. Les utilisateurs sont susceptibles de créer un mot de passe unique plus fort s’ils n’ont à en créer qu’un seul, ou d’opter pour l’authentification multifactorielle s’ils n’ont à le faire qu’une seule fois.

L’authentification sans mot de passe pourrait également être utilisée dans le SSO. L’authentification sans mot de passe permet aux utilisateurs de se connecter en utilisant un élément qu’ils possèdent, plutôt qu’un élément qu’ils connaissent (et dont ils doivent se souvenir). Il peut s’agir d’un mot de passe unique basé sur le temps (TOTP) ou d’un appareil mobile enregistré.

Le SSO vous permet d’améliorer votre posture de sécurité en réduisant le nombre d’identifiants que vous demandez à vos utilisateurs de gérer et, au lieu de cela, de consolider plusieurs identités en une seule, c’est-à-dire un seul ensemble d’identifiants pour toutes vos applications.

Si les niveaux d’exigences en matière d’assurance de la sécurité varient entre vos services, vous pouvez créer le flux de travail suivant. Si un utilisateur s’est authentifié avec un niveau d’assurance supérieur/égal dans la première application au niveau requis pour la deuxième application, il peut s’authentifier à la deuxième application. Cependant, si un utilisateur s’est authentifié avec un niveau d’assurance inférieur dans la première application et que la seconde exige un niveau d’assurance supérieur, vous pouvez demander à l’utilisateur de se réauthentifier.

Quels sont les protocoles SSO ?
Les protocoles d’authentification unique ont été testés, ont fait leurs preuves et sont arrivés à maturité. Ils incluent traditionnellement le langage SAML (Security Assertion Markup Language) et la fédération de services Web (WS-Fed). Aujourd’hui, dans les cas d’utilisation de l’authentification unique pour la gestion des identités et des accès des clients (CIAM) et des partenaires (B2B IAM), nous voyons également OAuth 2.0, OpenID Connect (OIDC) et Mobile Connect utilisés, avec l’utilisation de jetons d’accès pour autoriser le partage d’informations de compte spécifiques.

Il est important de choisir une solution SSO qui prend en charge le protocole d’authentification unique le mieux adapté à votre cas d’utilisation.

Si vous avez besoin de comparer les protocoles pour déterminer celui ou ceux qui conviennent le mieux à votre entreprise, téléchargez notre livre blanc gratuit sur la comparaison des protocoles d’autorisation SSO.

L’authentification unique est-elle facile à mettre en œuvre ?
Le SSO est une fonction standard de gestion des identités pour de nombreuses organisations, ce qui en fait l’un des cas d’utilisation de l’identité numérique les plus courants et un élément crucial de la gestion des accès. Toutefois, il convient d’être prudent lorsque l’on tente d’intégrer des protocoles et des fonctionnalités SSO en interne en partant de zéro. La gestion des identités numériques peut être complexe, et la complexité s’accompagne de risques. Heureusement, il existe de nombreuses solutions SSO qui peuvent contribuer à réduire cette complexité.

Le SSO évolue
De nombreuses organisations géraient traditionnellement les identités des utilisateurs et les fournisseurs d’identité par le biais de systèmes dédiés tels que Active Directory (AD) de Microsoft et Lightweight Directory Access Protocol (LDAP). Les solutions de gestion des accès, utilisant le SSO, fédèrent ces identités stockées localement à la bibliothèque d’applications de l’entreprise, à la fois locale et, plus couramment maintenant, dans le Cloud.

L’évolution du Cloud a vu le déplacement des annuaires d’identités vers le Cloud, les services d’annuaires constituant un composant essentiel des solutions IDaaS (Identity-as-a-Service). En outre, le champ d’application des annuaires d’identités s’est élargi et comprend désormais les offres de CRM, de RH et d’autres services d’annuaire en tant que service. Tout étant dans le Cloud, les administrateurs informatiques ont beaucoup plus de contrôle et de visibilité sur les données d’identité qu’ils doivent protéger.

Choix d’un fournisseur de SSO – comment l’IDaaS peut accélérer la mise en œuvre
L’utilisation d’une solution SaaS (software-as-a-service) pour intégrer la fonctionnalité SSO dans votre application peut réduire considérablement le temps et le coût du déploiement des services. Un tel SSO-as-a-Service est Ubisecure IDaaS (Identity-as-a-Service ou, comme le mentionne Gartner, SaaS delivered IAM).

Le délai de mise sur le marché (et le délai de valorisation) d’IDaaS est réduit par rapport à une solution d’identité plus complexe en raison des ensembles de fonctionnalités standardisées et parce que l’entreprise ne doit pas gérer elle-même le déploiement, la sécurité, la configuration et la maintenance de la solution. Il s’agit d’un simple déploiement prêt à l’emploi – plutôt que de réinventer la roue. IDaaS réduit également les risques créés par les mauvais choix de conception qui peuvent survenir lors du développement d’une solution de signature unique en interne.