SlideShare une entreprise Scribd logo
1  sur  26
Télécharger pour lire hors ligne
Quels standards pour protéger les APIs ?
Bertrand CARLIER
bertrand.carlier@wavestone.com
@bertrandcarlier
confidentiel | © WAVESTONE 2CNIS Event | Octobre 2017
Des clients leaders
dans leur secteur
2,500 collaborateurs
sur 4 continents
Parmi les leaders du conseil
indépendant en Europe,
n°1 en France
* Partenariats
Paris | Londres | New York | Hong Kong | Singapour* | Dubaï*
Bruxelles | Luxembourg | Genève | Casablanca
Lyon | Marseille | Nantes
Dans un monde où la capacité à se transformer est la clé du succès,
nous éclairons et guidons nos clients dans leurs décisions les plus stratégiques
confidentiel | © WAVESTONE 3CNIS Event | Octobre 2017
Réussir sa
transformation numérique
grâce à la confiance numérique
UNE EXPERTISE EPROUVEE
/ Stratégie et Conformité
/ Transformation métier sécurisée
/ Architecture et programme sécurité
/ Identité, Fraude et Services de Confiance
/ Tests d’intrusion & Réponse à incident
/ Continuité d’Activité & Résilience
/ SI Industriel
NOS DIFFERENCIATEURS
/ Connaissance des risques métier
/ Méthodologie AMT pour les
schémas directeurs
/ Radars Innovation et Start-ups
/ CERT-W
/ Bug Bounty by Wavestone
Wavestone Cybersécurité & Confiance numérique
Nos clients
COMEX, Métier,
CDO, CIO, CISO, BCM
400+
Consultants & Experts
à Paris, Londres, New
York & Hong Kong
1,000+
Missions par an
dans plus de
20 pays
confidentiel | © WAVESTONE 4CNIS Event | Octobre 2017
Maslow’s hierarchy of needs
confidentiel | © WAVESTONE 5CNIS Event | Octobre 2017
Maslow’s hierarchy of needs - updated
confidentiel | © WAVESTONE 7CNIS Event | Octobre 2017
OAuth2 – Hierarchy of needs
LES BASES
/ Application client-side & server-side
/ Serveur à serveur
/ Application mobile &
Authentification longue durée
confidentiel | © WAVESTONE 8CNIS Event | Octobre 2017
Implicit and Client Credentials
YOU’VE GOT MAIL
Site web
comparateur
API
compagnie
aérienne
API
compagnie
aérienne
API
compagnie
aérienne
Client
Authorization
server
Resource
server
Access token
Comparateur de vols
Classe éco
Direct
2 escales
Business class
Bateau
confidentiel | © WAVESTONE 9CNIS Event | Octobre 2017
Authorization code
ARE YOU AUTHORIZED?
Site web
compagnie
aérienne
API compagnie
aérienne
Client
Authorization
server
Resource
server
Access token
Resource
owner
confidentiel | © WAVESTONE 10CNIS Event | Octobre 2017
Proof Key for Code Exchange
PIXIES
API compagnie
aérienne
Client
Authorization
server
Resource
server
Access token
Resource
owner
PKCE (RFC 7636)
confidentiel | © WAVESTONE 11CNIS Event | Octobre 2017
Refresh token
(RE)FRESH
Refresh token
Client
Authorization
server
Resource
server
Access token
Resource
owner
PKCE (RFC 7636)
API compagnie
aérienne
confidentiel | © WAVESTONE 12CNIS Event | Octobre 2017
20
17
18
76
OAuth2.0 : c’est très simple
Qui ne souhaiterait pas lire 130 pages de RFC ?
Et un petit complément de 71 pages pour aborder la sécurité :
« OAuth2 Threat Model and Security Considerations »
Refresh token
Client
Authorization
server
Resource
server
Access token
Resource
owner
Proof Key for Code Exchange
confidentiel | © WAVESTONE 13CNIS Event | Octobre 2017
OAuth2 – Hierarchy of needs
LES BASES
KIT DE SURVIE
/ SSO moderne
/ Authentification adaptative
/ APIs fédérées
/ Application client-side & server-side
/ Serveur à serveur
/ Application mobile &
Authentification longue durée
confidentiel | © WAVESTONE 14CNIS Event | Octobre 2017
OpenID Connect
FRENCH CONNECTION
Client
Authorization
server
Resource
server
Access token
Resource
owner
Refresh
token
PKCE (RFC 7636)
Site web de
la commune
API
Ministère des
finances
France
Connect
hub
ID token
confidentiel | © WAVESTONE 15CNIS Event | Octobre 2017
Authentication Context Reference (acr)
SMS, I KNOW…
API Banque
Authorization
server
Banque
Client
Authorization
server
Resource
server
Access token
Resource
owner
Refresh
token
ID token
OpenID
Connect
provider
PKCE (RFC 7636)
confidentiel | © WAVESTONE 16CNIS Event | Octobre 2017
JWT Bearer profile
ONE RING TOKEN TO RULE THEM ALL
Client
Authorization
server
Resource
server
Access token
Resource
owner
Refresh
token
ID token
OpenID
Connect
provider
PKCE (RFC 7636)
Bank
website
Bank & Insurance
discount
White label
insurance
Site web
bancaire
Authorization
server Assurance
API
Assurance
1
2
confidentiel | © WAVESTONE 17CNIS Event | Octobre 2017
Oauth2.0 for Native Applications
SSO ON THE GO
app app Oauth 2 for
native apps
Client
Authorization
server
Resource
server
Access token
Resource
owner
Refresh
token
ID token
PKCE (RFC 7636)
Mobile phone
Authorization
server
Banque
OpenID
Connect
provider
confidentiel | © WAVESTONE 18CNIS Event | Octobre 2017
OAuth2.0 : Kit de survie
Authentification adaptative
Initié par l’application (acr request)
par l’Authorization Server (authentification graduée)
ou par l’API (continuous authentication)
APIs federation
REST friendly
Scalable
Single Sign-On moderne
Au-delà du périmètre de l’entreprise
Compatible navigateur & mobile
confidentiel | © WAVESTONE 19CNIS Event | Octobre 2017
OAuth2 – Hierarchy of needs
CAS D’USAGE
AVANCÉS
KIT DE SURVIE
LES BASES
/ Objets connectés
/ Vol de jetons
/ Gestion du partage à maille fine
/ Propagation d’identité
confidentiel | © WAVESTONE 21CNIS Event | Octobre 2017
OAuth2 Device Flow
2 MINUTES TWICE A DAY
app app Oauth 2 for
native apps
Client
Authorization
server
Resource
server
Access token
Resource
owner
Refresh
token
ID token
PKCE (RFC 7636)
OpenID
Connect
provider
Brosse
connectée
Services cloud
Brosse connectée
Application
brosse
connectée
2 1 3 4
confidentiel | © WAVESTONE 22CNIS Event | Octobre 2017
Token Binding
LATER AGGREGATOR
API Banque
Aggrégateur
multi-bancaire
API Banque
API Banque
app app Oauth 2 for
native apps
Client
Authorization
server
Resource
server
Access token
Resource
owner
Refresh
token
ID token
PKCE (RFC 7636)
Token
Binding
& Mutual TLS profiles
The “Personal
Finance
Manager”
usecase
OpenID
Connect
provider
confidentiel | © WAVESTONE 23CNIS Event | Octobre 2017
User Managed Access
RUN BABY RUN
Token
Binding
& Mutual TLS profiles
app app Oauth 2 for
native apps
Client
Authorization
server
Resource
server
Access token
Resource
owner
Refresh
token
ID token
PKCE (RFC 7636)
Requesting
party
Doctor Receptionist
OpenID
Connect
provider
Réceptioniste Médecin
Logiciel
cabinet médical Données
médicales
personnelles
Moi Authorization
server
confidentiel | © WAVESTONE 24CNIS Event | Octobre 2017
Token Exchange
WALL STREET
( )
Service
Client
Client
API
Token
Binding
app app Oauth 2 for
native apps
Client
Authorization
server
Resource
server
Access token
Resource
owner
Refresh
token
ID token
PKCE (RFC 7636)
Requesting
party
Token
Exchange
OpenID
Connect
provider
Micro
services
confidentiel | © WAVESTONE 25CNIS Event | Octobre 2017
Sans oublier :
/ Dynamic Client Registration & Management
/ OIDC/Oauth Discovery
/ Signed request
/ Mobile Connect
/ OIDC Session Management
/ Token revocation
/ …
The big picture
AT LAST
Token
Binding
app app Oauth 2 for
native apps
Client
Authorization
server
Resource
server
Access token
Resource
owner
Refresh
token
ID token
PKCE (RFC 7636)Requesting
party
Token
Exchange
OpenID
Connect
provider
confidentiel | © WAVESTONE 26CNIS Event | Octobre 2017
Assembler correctement… sur une base saine
Bonnes pratiques de sécurisation d’applications web
Ne surtout pas oublier qu’une API est
avant tout une application web
OAuth2 représente un écosystème très riche
 Choisir les bons morceaux
 Les assembler avec attention
 Ne pas obtenir in fine un faux sentiment de sécurité
CAS D’USAGE
AVANCÉS
KIT DE SURVIE
LES BASES
wavestone.com
@wavestone_
riskinsight-wavestone.com
@Risk_Insight
securityinsider-solucom.fr
@SecuInsider
Bertrand CARLIER
Senior Manager
M +33 6 18 64 42 52
bertrand.carlier@wavestone.com
PARIS
LONDON
NEW YORK
HONG KONG
SINGAPORE *
DUBAI *
BRUSSELS
LUXEMBOURG
GENEVA
CASABLANCA
LYON
MARSEILLE
NANTES
* Partenaires stratégiques
PARIS
LONDRES
NEW YORK
HONG KONG
SINGAPORE *
DUBAI *
SAO PAULO *
LUXEMBOURG
MADRID *
MILAN *
BRUXELLES
GENEVE
CASABLANCA
ISTAMBUL *
LYON
MARSEILLE
NANTES
* Partenariats

Contenu connexe

Tendances

Strong Authentication with PKI
Strong Authentication with PKIStrong Authentication with PKI
Strong Authentication with PKI
Sylvain Maret
 

Tendances (20)

Sécuriser votre système d’information avec AATP - Par Seyfallah Tagrerout
Sécuriser votre système d’information avec AATP - Par Seyfallah TagreroutSécuriser votre système d’information avec AATP - Par Seyfallah Tagrerout
Sécuriser votre système d’information avec AATP - Par Seyfallah Tagrerout
 
Introduction à l’identité décentralisée ou Auto-souveraine - Par Yann Duchenne
Introduction à l’identité décentralisée ou Auto-souveraine - Par Yann DuchenneIntroduction à l’identité décentralisée ou Auto-souveraine - Par Yann Duchenne
Introduction à l’identité décentralisée ou Auto-souveraine - Par Yann Duchenne
 
[Identity Days 2019] Maîtrisez les accès à vos applications Web (Cloud et On...
[Identity Days 2019]  Maîtrisez les accès à vos applications Web (Cloud et On...[Identity Days 2019]  Maîtrisez les accès à vos applications Web (Cloud et On...
[Identity Days 2019] Maîtrisez les accès à vos applications Web (Cloud et On...
 
2019-06-04 aOS Strasbourg - Technique 1 - Migrating from AD FS - Hakim Taouss...
2019-06-04 aOS Strasbourg - Technique 1 - Migrating from AD FS - Hakim Taouss...2019-06-04 aOS Strasbourg - Technique 1 - Migrating from AD FS - Hakim Taouss...
2019-06-04 aOS Strasbourg - Technique 1 - Migrating from AD FS - Hakim Taouss...
 
Business case Cloud security | B-Network - LINKBYNET
Business case Cloud security | B-Network - LINKBYNETBusiness case Cloud security | B-Network - LINKBYNET
Business case Cloud security | B-Network - LINKBYNET
 
Oauth2 & OpenID Connect
Oauth2 & OpenID ConnectOauth2 & OpenID Connect
Oauth2 & OpenID Connect
 
Présentation AzureAD ( Identité hybrides et securité)
Présentation AzureAD ( Identité hybrides et securité)Présentation AzureAD ( Identité hybrides et securité)
Présentation AzureAD ( Identité hybrides et securité)
 
GlobalSign Service de Signatures Numériques
GlobalSign Service de Signatures NumériquesGlobalSign Service de Signatures Numériques
GlobalSign Service de Signatures Numériques
 
La gestion des identités, base du Modern Workplace Microsoft. Illustration pa...
La gestion des identités, base du Modern Workplace Microsoft. Illustration pa...La gestion des identités, base du Modern Workplace Microsoft. Illustration pa...
La gestion des identités, base du Modern Workplace Microsoft. Illustration pa...
 
Gestion de l’authentification des utilisateurs et du trafic pour les APIs - P...
Gestion de l’authentification des utilisateurs et du trafic pour les APIs - P...Gestion de l’authentification des utilisateurs et du trafic pour les APIs - P...
Gestion de l’authentification des utilisateurs et du trafic pour les APIs - P...
 
Présentation10
Présentation10Présentation10
Présentation10
 
Bien protéger son identité et ses accès, que faites vous pour la messagerie ?...
Bien protéger son identité et ses accès, que faites vous pour la messagerie ?...Bien protéger son identité et ses accès, que faites vous pour la messagerie ?...
Bien protéger son identité et ses accès, que faites vous pour la messagerie ?...
 
Secure your Digital Workplace with Azure AD
Secure your Digital Workplace with Azure ADSecure your Digital Workplace with Azure AD
Secure your Digital Workplace with Azure AD
 
LinPKI
LinPKILinPKI
LinPKI
 
Projet Pki Etapes Clefs
Projet Pki   Etapes ClefsProjet Pki   Etapes Clefs
Projet Pki Etapes Clefs
 
Maximiser la puissance de PowerShell au travers de vos projets de gestion des...
Maximiser la puissance de PowerShell au travers de vos projets de gestion des...Maximiser la puissance de PowerShell au travers de vos projets de gestion des...
Maximiser la puissance de PowerShell au travers de vos projets de gestion des...
 
Strong Authentication with PKI
Strong Authentication with PKIStrong Authentication with PKI
Strong Authentication with PKI
 
Authentification moderne sur le Desktop, comment utiliser un annuaire cloud d...
Authentification moderne sur le Desktop, comment utiliser un annuaire cloud d...Authentification moderne sur le Desktop, comment utiliser un annuaire cloud d...
Authentification moderne sur le Desktop, comment utiliser un annuaire cloud d...
 
Comment hacker Active Directory de A à Z? - Par Sylvain Cortès
Comment hacker Active Directory de A à Z? - Par Sylvain CortèsComment hacker Active Directory de A à Z? - Par Sylvain Cortès
Comment hacker Active Directory de A à Z? - Par Sylvain Cortès
 
Authentification Forte 1
Authentification Forte 1Authentification Forte 1
Authentification Forte 1
 

Similaire à OAuth2 stands overview

Tech-Meetup Smart Transport #04 chez OnePoint, avec WeProov, Onecub et Citeazy
Tech-Meetup Smart Transport #04 chez OnePoint, avec WeProov, Onecub et CiteazyTech-Meetup Smart Transport #04 chez OnePoint, avec WeProov, Onecub et Citeazy
Tech-Meetup Smart Transport #04 chez OnePoint, avec WeProov, Onecub et Citeazy
Laurent Dunys
 
Securite des Applications dans le Cloud
Securite des Applications dans le CloudSecurite des Applications dans le Cloud
Securite des Applications dans le Cloud
Sebastien Gioria
 

Similaire à OAuth2 stands overview (20)

Swiss API Day - Axway - API Management
 Swiss API Day - Axway - API Management Swiss API Day - Axway - API Management
Swiss API Day - Axway - API Management
 
Nouvelle approche pour étendre le zéro trust à Active Directory
Nouvelle approche pour étendre le zéro trust à Active DirectoryNouvelle approche pour étendre le zéro trust à Active Directory
Nouvelle approche pour étendre le zéro trust à Active Directory
 
La Duck Conf - "L'API Management : au-délà des promesses"
La Duck Conf - "L'API Management : au-délà des promesses" La Duck Conf - "L'API Management : au-délà des promesses"
La Duck Conf - "L'API Management : au-délà des promesses"
 
201707 dsp2 standards, sécurité, quels impacts - wavestone
201707   dsp2 standards, sécurité, quels impacts - wavestone201707   dsp2 standards, sécurité, quels impacts - wavestone
201707 dsp2 standards, sécurité, quels impacts - wavestone
 
2010 - Les technologies d'authentification forte dans les applications web: c...
2010 - Les technologies d'authentification forte dans les applications web: c...2010 - Les technologies d'authentification forte dans les applications web: c...
2010 - Les technologies d'authentification forte dans les applications web: c...
 
Tech-Meetup Smart Transport #04 chez OnePoint, avec WeProov, Onecub et Citeazy
Tech-Meetup Smart Transport #04 chez OnePoint, avec WeProov, Onecub et CiteazyTech-Meetup Smart Transport #04 chez OnePoint, avec WeProov, Onecub et Citeazy
Tech-Meetup Smart Transport #04 chez OnePoint, avec WeProov, Onecub et Citeazy
 
Gestion des APIs avec Azure API Management - Samir AREZKI
Gestion des APIs avec Azure API Management - Samir AREZKIGestion des APIs avec Azure API Management - Samir AREZKI
Gestion des APIs avec Azure API Management - Samir AREZKI
 
Comment intégrer une application dans Azure Active Directory
Comment intégrer une application dans Azure Active DirectoryComment intégrer une application dans Azure Active Directory
Comment intégrer une application dans Azure Active Directory
 
Comment intégrer une application dans Azure Active Directory
Comment intégrer une application dans Azure Active DirectoryComment intégrer une application dans Azure Active Directory
Comment intégrer une application dans Azure Active Directory
 
Cisco connect montreal 2018 net devops
Cisco connect montreal 2018 net devopsCisco connect montreal 2018 net devops
Cisco connect montreal 2018 net devops
 
API-First pour de nouvelles expériences de commerce en ligne
API-First pour de nouvelles expériences de commerce en ligneAPI-First pour de nouvelles expériences de commerce en ligne
API-First pour de nouvelles expériences de commerce en ligne
 
Comment étendre active directory dans le cloud
Comment étendre active directory dans le cloudComment étendre active directory dans le cloud
Comment étendre active directory dans le cloud
 
2018-10-18 J2 7D - Sécuriser votre Digital Workplace avec Azure AD - Seyfalla...
2018-10-18 J2 7D - Sécuriser votre Digital Workplace avec Azure AD - Seyfalla...2018-10-18 J2 7D - Sécuriser votre Digital Workplace avec Azure AD - Seyfalla...
2018-10-18 J2 7D - Sécuriser votre Digital Workplace avec Azure AD - Seyfalla...
 
Securite des Applications dans le Cloud
Securite des Applications dans le CloudSecurite des Applications dans le Cloud
Securite des Applications dans le Cloud
 
identité-as-a-service pour vos applications b2c - marius zaharia - samir arez...
identité-as-a-service pour vos applications b2c - marius zaharia - samir arez...identité-as-a-service pour vos applications b2c - marius zaharia - samir arez...
identité-as-a-service pour vos applications b2c - marius zaharia - samir arez...
 
Donnez de l'agilité à votre système d'information avec Azure
Donnez de l'agilité à votre système d'information avec AzureDonnez de l'agilité à votre système d'information avec Azure
Donnez de l'agilité à votre système d'information avec Azure
 
Garder les technologies à la fine pointe: Un facteur de changement
Garder les technologies à la fine pointe: Un facteur de changementGarder les technologies à la fine pointe: Un facteur de changement
Garder les technologies à la fine pointe: Un facteur de changement
 
Gab17 lyon - Blockchain as a service dans Azure by Igor Leontiev
Gab17 lyon - Blockchain as a service dans Azure by Igor LeontievGab17 lyon - Blockchain as a service dans Azure by Igor Leontiev
Gab17 lyon - Blockchain as a service dans Azure by Igor Leontiev
 
SplunkLive! Paris 2017 - Amundi Presentation
SplunkLive! Paris 2017 - Amundi PresentationSplunkLive! Paris 2017 - Amundi Presentation
SplunkLive! Paris 2017 - Amundi Presentation
 
2014 09-25-club-27001 iso 27034-presentation-v2.2
2014 09-25-club-27001 iso 27034-presentation-v2.22014 09-25-club-27001 iso 27034-presentation-v2.2
2014 09-25-club-27001 iso 27034-presentation-v2.2
 

Plus de Bertrand Carlier

Plus de Bertrand Carlier (6)

2022 Identiverse : How (not) to fail your IAM project
2022 Identiverse : How (not) to fail your IAM project2022 Identiverse : How (not) to fail your IAM project
2022 Identiverse : How (not) to fail your IAM project
 
Identiverse 2021 enterprise identity: What foundations
Identiverse 2021 enterprise identity: What foundationsIdentiverse 2021 enterprise identity: What foundations
Identiverse 2021 enterprise identity: What foundations
 
Identiverse - Microservices Security
Identiverse - Microservices SecurityIdentiverse - Microservices Security
Identiverse - Microservices Security
 
CIS 2017 - So you want to use standards to secure your APIs?
CIS 2017 - So you want to use standards to secure your APIs?CIS 2017 - So you want to use standards to secure your APIs?
CIS 2017 - So you want to use standards to secure your APIs?
 
Wavestone forgerock banking demo
Wavestone forgerock banking demoWavestone forgerock banking demo
Wavestone forgerock banking demo
 
Paris Identity Tech Talk IoT
Paris Identity Tech Talk IoTParis Identity Tech Talk IoT
Paris Identity Tech Talk IoT
 

OAuth2 stands overview

  • 1. Quels standards pour protéger les APIs ? Bertrand CARLIER bertrand.carlier@wavestone.com @bertrandcarlier
  • 2. confidentiel | © WAVESTONE 2CNIS Event | Octobre 2017 Des clients leaders dans leur secteur 2,500 collaborateurs sur 4 continents Parmi les leaders du conseil indépendant en Europe, n°1 en France * Partenariats Paris | Londres | New York | Hong Kong | Singapour* | Dubaï* Bruxelles | Luxembourg | Genève | Casablanca Lyon | Marseille | Nantes Dans un monde où la capacité à se transformer est la clé du succès, nous éclairons et guidons nos clients dans leurs décisions les plus stratégiques
  • 3. confidentiel | © WAVESTONE 3CNIS Event | Octobre 2017 Réussir sa transformation numérique grâce à la confiance numérique UNE EXPERTISE EPROUVEE / Stratégie et Conformité / Transformation métier sécurisée / Architecture et programme sécurité / Identité, Fraude et Services de Confiance / Tests d’intrusion & Réponse à incident / Continuité d’Activité & Résilience / SI Industriel NOS DIFFERENCIATEURS / Connaissance des risques métier / Méthodologie AMT pour les schémas directeurs / Radars Innovation et Start-ups / CERT-W / Bug Bounty by Wavestone Wavestone Cybersécurité & Confiance numérique Nos clients COMEX, Métier, CDO, CIO, CISO, BCM 400+ Consultants & Experts à Paris, Londres, New York & Hong Kong 1,000+ Missions par an dans plus de 20 pays
  • 4. confidentiel | © WAVESTONE 4CNIS Event | Octobre 2017 Maslow’s hierarchy of needs
  • 5. confidentiel | © WAVESTONE 5CNIS Event | Octobre 2017 Maslow’s hierarchy of needs - updated
  • 6. confidentiel | © WAVESTONE 7CNIS Event | Octobre 2017 OAuth2 – Hierarchy of needs LES BASES / Application client-side & server-side / Serveur à serveur / Application mobile & Authentification longue durée
  • 7. confidentiel | © WAVESTONE 8CNIS Event | Octobre 2017 Implicit and Client Credentials YOU’VE GOT MAIL Site web comparateur API compagnie aérienne API compagnie aérienne API compagnie aérienne Client Authorization server Resource server Access token Comparateur de vols Classe éco Direct 2 escales Business class Bateau
  • 8. confidentiel | © WAVESTONE 9CNIS Event | Octobre 2017 Authorization code ARE YOU AUTHORIZED? Site web compagnie aérienne API compagnie aérienne Client Authorization server Resource server Access token Resource owner
  • 9. confidentiel | © WAVESTONE 10CNIS Event | Octobre 2017 Proof Key for Code Exchange PIXIES API compagnie aérienne Client Authorization server Resource server Access token Resource owner PKCE (RFC 7636)
  • 10. confidentiel | © WAVESTONE 11CNIS Event | Octobre 2017 Refresh token (RE)FRESH Refresh token Client Authorization server Resource server Access token Resource owner PKCE (RFC 7636) API compagnie aérienne
  • 11. confidentiel | © WAVESTONE 12CNIS Event | Octobre 2017 20 17 18 76 OAuth2.0 : c’est très simple Qui ne souhaiterait pas lire 130 pages de RFC ? Et un petit complément de 71 pages pour aborder la sécurité : « OAuth2 Threat Model and Security Considerations » Refresh token Client Authorization server Resource server Access token Resource owner Proof Key for Code Exchange
  • 12. confidentiel | © WAVESTONE 13CNIS Event | Octobre 2017 OAuth2 – Hierarchy of needs LES BASES KIT DE SURVIE / SSO moderne / Authentification adaptative / APIs fédérées / Application client-side & server-side / Serveur à serveur / Application mobile & Authentification longue durée
  • 13. confidentiel | © WAVESTONE 14CNIS Event | Octobre 2017 OpenID Connect FRENCH CONNECTION Client Authorization server Resource server Access token Resource owner Refresh token PKCE (RFC 7636) Site web de la commune API Ministère des finances France Connect hub ID token
  • 14. confidentiel | © WAVESTONE 15CNIS Event | Octobre 2017 Authentication Context Reference (acr) SMS, I KNOW… API Banque Authorization server Banque Client Authorization server Resource server Access token Resource owner Refresh token ID token OpenID Connect provider PKCE (RFC 7636)
  • 15. confidentiel | © WAVESTONE 16CNIS Event | Octobre 2017 JWT Bearer profile ONE RING TOKEN TO RULE THEM ALL Client Authorization server Resource server Access token Resource owner Refresh token ID token OpenID Connect provider PKCE (RFC 7636) Bank website Bank & Insurance discount White label insurance Site web bancaire Authorization server Assurance API Assurance 1 2
  • 16. confidentiel | © WAVESTONE 17CNIS Event | Octobre 2017 Oauth2.0 for Native Applications SSO ON THE GO app app Oauth 2 for native apps Client Authorization server Resource server Access token Resource owner Refresh token ID token PKCE (RFC 7636) Mobile phone Authorization server Banque OpenID Connect provider
  • 17. confidentiel | © WAVESTONE 18CNIS Event | Octobre 2017 OAuth2.0 : Kit de survie Authentification adaptative Initié par l’application (acr request) par l’Authorization Server (authentification graduée) ou par l’API (continuous authentication) APIs federation REST friendly Scalable Single Sign-On moderne Au-delà du périmètre de l’entreprise Compatible navigateur & mobile
  • 18. confidentiel | © WAVESTONE 19CNIS Event | Octobre 2017 OAuth2 – Hierarchy of needs CAS D’USAGE AVANCÉS KIT DE SURVIE LES BASES / Objets connectés / Vol de jetons / Gestion du partage à maille fine / Propagation d’identité
  • 19. confidentiel | © WAVESTONE 21CNIS Event | Octobre 2017 OAuth2 Device Flow 2 MINUTES TWICE A DAY app app Oauth 2 for native apps Client Authorization server Resource server Access token Resource owner Refresh token ID token PKCE (RFC 7636) OpenID Connect provider Brosse connectée Services cloud Brosse connectée Application brosse connectée 2 1 3 4
  • 20. confidentiel | © WAVESTONE 22CNIS Event | Octobre 2017 Token Binding LATER AGGREGATOR API Banque Aggrégateur multi-bancaire API Banque API Banque app app Oauth 2 for native apps Client Authorization server Resource server Access token Resource owner Refresh token ID token PKCE (RFC 7636) Token Binding & Mutual TLS profiles The “Personal Finance Manager” usecase OpenID Connect provider
  • 21. confidentiel | © WAVESTONE 23CNIS Event | Octobre 2017 User Managed Access RUN BABY RUN Token Binding & Mutual TLS profiles app app Oauth 2 for native apps Client Authorization server Resource server Access token Resource owner Refresh token ID token PKCE (RFC 7636) Requesting party Doctor Receptionist OpenID Connect provider Réceptioniste Médecin Logiciel cabinet médical Données médicales personnelles Moi Authorization server
  • 22. confidentiel | © WAVESTONE 24CNIS Event | Octobre 2017 Token Exchange WALL STREET ( ) Service Client Client API Token Binding app app Oauth 2 for native apps Client Authorization server Resource server Access token Resource owner Refresh token ID token PKCE (RFC 7636) Requesting party Token Exchange OpenID Connect provider Micro services
  • 23. confidentiel | © WAVESTONE 25CNIS Event | Octobre 2017 Sans oublier : / Dynamic Client Registration & Management / OIDC/Oauth Discovery / Signed request / Mobile Connect / OIDC Session Management / Token revocation / … The big picture AT LAST Token Binding app app Oauth 2 for native apps Client Authorization server Resource server Access token Resource owner Refresh token ID token PKCE (RFC 7636)Requesting party Token Exchange OpenID Connect provider
  • 24. confidentiel | © WAVESTONE 26CNIS Event | Octobre 2017 Assembler correctement… sur une base saine Bonnes pratiques de sécurisation d’applications web Ne surtout pas oublier qu’une API est avant tout une application web OAuth2 représente un écosystème très riche  Choisir les bons morceaux  Les assembler avec attention  Ne pas obtenir in fine un faux sentiment de sécurité CAS D’USAGE AVANCÉS KIT DE SURVIE LES BASES
  • 26. PARIS LONDON NEW YORK HONG KONG SINGAPORE * DUBAI * BRUSSELS LUXEMBOURG GENEVA CASABLANCA LYON MARSEILLE NANTES * Partenaires stratégiques PARIS LONDRES NEW YORK HONG KONG SINGAPORE * DUBAI * SAO PAULO * LUXEMBOURG MADRID * MILAN * BRUXELLES GENEVE CASABLANCA ISTAMBUL * LYON MARSEILLE NANTES * Partenariats