Présentation de OAuth (garantie sans jargon technique)

Nous avons déjà évoqué les cas où l’on nous demande de révéler un mot de passe et l’impératif de ne jamais y répondre. Lorsqu’un site Web souhaite utiliser les services...
Rob Sobers
3 minute de lecture
Dernière mise à jour 4 janvier 2022

Nous avons déjà évoqué les cas où l’on nous demande de révéler un mot de passe et l’impératif de ne jamais y répondre. Lorsqu’un site Web souhaite utiliser les services d’un autre – par exemple lorsque Bitly s’applique à publier sur votre fil Twitter –, la bonne façon de procéder n’est pas de vous demander de le saisir, mais d’utiliser OAuth.

OAuth est un protocole d’authentification qui vous permet d’approuver un dialogue entre deux applications pour votre compte sans pour autant révéler votre mot de passe.

Nous vous proposons le mémento ci-dessous pour illustrer, dans la plus grande simplicité, comment fonctionne OAuth.

Les acteurs

Dans toute transaction OAuth, on trouve 3 acteurs principaux : l’utilisateur, le consommateur et le fournisseur de service. Ce trio est parfois désigné du sobriquet plaisant de « Triangle amoureux OAuth » (“OAuth Love Triangle”).

Dans notre exemple, Joe désigne l’utilisateur, Bitly est le consommateur et Twitter est le fournisseur de service qui gère le contenu sécurisé de Joe (son flux Twitter). Joe souhaite que Bitly puisse poster des liens raccourcis dans son flux. Voici comment se déroule le processus :

Étape 1 – L’utilisateur manifeste son intention

Joe (Utilisateur) : « Hé, Bitly, j’aimerais que tu puisses poster des liens directement dans mon flux Twitter. »

Bitly (Consommateur) : « Très bien ! Attends que j’en demande la permission. »

Étape 2 – Le consommateur obtient la permission

Bitly : « J’ai un utilisateur qui aimerait que je puisse poster dans son flux. Est-ce que je pourrais avoir un jeton de demande ? »

Twitter (Fournisseur de service) : « Pas de problème. Voici un jeton et un secret. »

Le secret sert à éviter les demandes illicites. Le consommateur « signe » chacune de ses demandes à l’aide du secret, de sorte que le fournisseur de service puisse s’assurer que la demande émane bien de l’application consommatrice.

Étape 3 – L’utilisateur est redirigé vers le fournisseur de service

Bitly : « OK, Joe, je te transfère chez Twitter pour que tu puisses valider la demande. Pour cela, utilise ce jeton. »

Joe : « OK ! »

<Bitly transfère Joe sur Twitter pour autorisation>

Remarque : C’est là où le risque existe : si Bitly était en réalité un grand méchant pirate, il pourrait ouvrir une fenêtre ressemblant comme deux gouttes d’eau à la fenêtre de connexion de Twitter pour « pécher » (“phishing”) votre nom d’utilisateur et votre mot de passe. Veillez toujours à vérifier que l’URL de la fenêtre vers laquelle vous êtes dirigé est bien celui du fournisseur de service (Twitter dans notre exemple).

Étape 4 – L’utilisateur donne sa permission

Joe : « Twitter, je souhaite autoriser ce jeton de demande que Bitly m’a fourni. »

Twitter : « OK, juste pour confirmation : tu veux bien autoriser Bitly à faire X, Y et Z sur ton compte Twitter, c’est ça ? »

Joe : « Oui ! »

Twitter: « Très bien, alors tu peux retourner vers Bitly et lui dire qu’il a la permission de se servir de son jeton de demande. »

Twitter marque le jeton de demande de la mention « Valide », de sorte que lorsque le consommateur requerra l’accès correspondant, il lui sera accordé (dans la mesure où il l’aura signée à l’aide du secret partagé).

Étape 5 – Le consommateur obtient un jeton d’accès

Bitly : « Twitter, est-ce que tu peux m’échanger ce jeton de demande contre un jeton d’accès ? »

Twitter (Fournisseur de service) : « Pas de problème. Voici ton jeton d’accès avec le secret correspondant. »

Étape 6 – Le consommateur accède à la ressource protégée

Bitly : « Je voudrais poster ce lien dans le flux de Joe. Voici mon jeton d’accès à cet effet. »

Twitter : « Très bien : c’est fait ! »

Résumé

Dans notre exemple, Joe n’a pas eu à révéler ses identifiant et mot de passe Twitter à Bitly. Il a lui a simplement délégué un accès sécurisé grâce à OAuth. A tout moment, Joe peut se connecter à son compte Twitter, consulter la liste des accès externes qu’il autorisés et en révoquer éventuellement certains sans que cela affecte les autres. OAuth permet aussi de gérer différents niveaux d’accès. On peut par exemple conférer à Bitly le droit de publier sur son compte Twitter, mais ne donner à LinkedIn qu’un accès en lecture.

OAuth n’est pas parfait… en tout cas, pas encore !

OAuth est une solution éprouvée pour les applications sous navigateur Web et représente un vrai progrès par rapport à l’authentification HTTP classique. Mais elle comporte des limitations, notamment dans la version OAuth 1.0, qui la rendent nettement moins efficace et moins ergonomique dans le cas des applications natives et mobiles.

OAuth 2.0 est une version plus récente et mieux sécurisée du protocole qui introduit la notion de « flux » multiples pour les applis Web, mobile et de PC de bureau. Elle adopte aussi le concept d’expiration des jetons (similaire à celle des cookies), utilise SSL et atténue la complexité du point de vue des développeurs en n’exigeant plus de signature.

Autres ressources

J’espère que cela vous aura mieux familiarisé avec OAuth et que, la prochaine fois que vous verrez s’afficher une proposition du type « Connectez-vous avec votre compte Twitter », vous comprendrez mieux ce qui se déroule.

Si vous voulez en savoir encore plus sur le fonctionnement de OAuth, voici quelques liens utiles (en anglais) :

What should I do now?

Below are three ways you can continue your journey to reduce data risk at your company:

1

Schedule a demo with us to see Varonis in action. We'll personalize the session to your org's data security needs and answer any questions.

2

See a sample of our Data Risk Assessment and learn the risks that could be lingering in your environment. Varonis' DRA is completely free and offers a clear path to automated remediation.

3

Follow us on LinkedIn, YouTube, and X (Twitter) for bite-sized insights on all things data security, including DSPM, threat detection, AI security, and more.

Try Varonis free.

Get a detailed data risk report based on your company’s data.
Deploys in minutes.

Keep reading

Varonis tackles hundreds of use cases, making it the ultimate platform to stop data breaches and ensure compliance.

utiliser-varonis-:-commencer-par-la-classification
Utiliser Varonis : Commencer Par la Classification
par Brian Vecci Nous avons passé beaucoup de temps à expliquer les nombreuses difficultés auxquelles sont confrontées les entreprises lorsqu’il s’agit de gérer les contrôles d’accès. J’ai cependant remarqué que...
meilleures-pratiques-de-nommage-de-domaines-active-directory
Meilleures pratiques de nommage de domaines Active Directory
Lorsqu’il s’agit de nommer des domaines, il importe d’y réfléchir très sérieusement, quasiment comme quand on réfléchit au prénom que l’on va donner à son premier enfant ! J’exagère, bien entendu,...
cloudpro:-l’accord-de-confidentialite-est-il-le-chainon-manquant?
CLOUDPRO: L’ACCORD DE CONFIDENTIALITE EST-IL LE CHAINON MANQUANT?
Davey Winder de CloudPro a écrit un article intéressant cette semaine. Celui-ci s’appuie sur un des principaux résultats de notre plus récent rapport sur l’entropie de l’information. Dans celui-ci, nous...
krack-attack :-ce-que-vous-devez-savoir
Krack Attack : ce que vous devez savoir
Depuis dix ans, les philosophes s’accordent à dire que la hiérarchie des besoins de Maslow compte un autre niveau plus profond : l’accès Wi-Fi. Nous en sommes arrivés au point où...