SlideShare une entreprise Scribd logo
1  sur  40
Télécharger pour lire hors ligne
… ou la recette du bon miel
28 mars 2017
Gérôme BILLOIS
gerome.billois@wavestone.com
@gbillois
Bertrand CARLIER
bertrand.carlier@wavestone.com
@bertrandcarlier
La sécurité des API
confidentiel | © WAVESTONE 2
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 3
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
1,000+
Missions par an
dans plus de
20 pays
confidentiel | © WAVESTONE 4
Mais pourquoi tout le monde parle-t-il d’APIs ?
Apis Mellifera
confidentiel | © WAVESTONE 5
2005-2015 : une ouverture sous contrôle du système d’information
Réseau d’entreprise
Internet
Système
d’information
industriel
Cloud
Partenaire
DC
Terminaux clients
Terminaux
employés
professionnels ou
personnels
Un périmètre nécessitant plus
d’ouverture
Les ressources les plus critiques
sont isolées et sécurisées
confidentiel | © WAVESTONE 6
En 2020
Le Cloud est une réalité, y
compris pour des
applications critiques métier
Les méthodes Agile et
DevOps sont d’ores et déjà
répandues dans l’entreprise
Les méthodes et pratiques de sécurité actuelles
ne suivent plus le rythme de ce nouveau modèle opérationnel
confidentiel | © WAVESTONE 7
2020 : Un système d’information décentralisé
Réseau d’entreprise
Réglementé & Legacy
Partenaires
Cloud 1
Sytème
d’Information
industriel IoT &
systems
embarqués
Shadow
IT
Startups
Terminaux employés
professionnels ou personnels
Blockchains
Cloud n
Server-less
Apps
Container
Apps
Terminaux clients
Internet
Les données transitent partout et sont
accessibles via de nombreux moyens
confidentiel | © WAVESTONE 8
Données
publiques
Données
Personnelles
Données
sensibles
Mais
aussi
Et …
adresses d’agences,
horaires des transports,
etc.
Tracking fitness,
application Ameli et
CAF, etc.
DSP2, Achat en ligne,
informations
industrielles en mobilité
Les APIs Aujourd’hui
62
106
191
219
268
319
393
419
477
Alimentation
Sports
Musique
Photos
Paiement
Shopping
Reference
Finance
Social
APIs par catégories sur theprogrammableweb.com
confidentiel | © WAVESTONE 9
APIs, 20 ans déjà!
1998 2002 2006 2010 20182014
API Facebook & Twitter
OAuth 2.0
WS-Security draft Lancement de l’AppStore
Android 1.0
<SOAP/>
OAuth 1.0
Flickr lance une API REST B2C
Salesforce lance la 1ère web
API (XML), orientée B2E
Ebay lance une API REST B2B
Travaux de sécurisation de SOAP
Travaux de sécurisation de REST
User-Managed Access 1.0
OpenID Connect
JOSE
confidentiel | © WAVESTONE 10
Les API c’est très simple…
Toute ressemblance
avec des personnes ou
des situations
existantes ou ayant
existé
…par exemple lors
d’une réunion avec des
architectes...
ne saurait être que
fortuite.
End-user
OAuth 2
Client app
API (Resource server)
Device
Flow
Client
credentials
Authorization server
+
• Authorization header
• POST data
• Query parameter
 JWT/SAML bearer profile (RFC 7522/7523)
 Levels of Assurance
 Enhanced Authentication Profile
 Token Binding
 MobileConnect
 Account Chooser & YOLO
 User-Managed Access
Use
token
(RFC 6750)
Get
token
(RFC
6749)
Client
app
confidentiel | © WAVESTONE 11
Quelle recette pour sécuriser ses API ?
Apis Mellifera
confidentiel | © WAVESTONE 12
La recette pour des APIs sécurisées
Une base de Security as usual
confidentiel | © WAVESTONE 13
Benchmark Wavestone : sur 128 sites audités en un an, des failles graves dans 60% des cas…
… une situation très (très) similaire pour les API
60% des sites sont touchés
par au moins une faille grave
39% des sites ne sont touchés
que par des failles importantes
1% des sites ne sont
touchés que par des failles
mineures
Faille grave
Permet d’accéder à l'ensemble du contenu du
site et/ou de
compromettre les serveurs
Accès à l’ensemble des données du site, exécution de code par le
serveur, utilisateur A ayant accès aux données de B, etc.
Faille importante
Permet d’accéder aux informations d’autres
utilisateurs mais en nombre limité ou de manière
complexe
Vol de session d’un utilisateur, faiblesses dans le chiffrement,
possibilité de faire réaliser des actions à l’insu de l’utilisateur, etc.
Faille mineure
Permet principalement d’obtenir des informations
pour continuer l’attaque
Messages techniques superflus, absence de sécurisation des
cookies, déconnexion utilisateur non efficace, etc.
http://go.wavestone.com/benchmarksecuriteweb
Applications web & APIs – Security as usual
confidentiel | © WAVESTONE 14
Applications web & APIs – Security as usual
N’oublions pas les recommandations de bases de la sécurité web…
Les « zones »
à risques
Gestion des sessions
Authentification & Maintien de session
Côté client vs côté serveur
Identifiant de sessions non devinables
Ré-authentifier pour des actions critiques
Contrôle d’accès
Gestion des profils & privilèges
Situation de concurrence
Séparation des espaces utilisateurs
Gestion des entrées/sorties
Traitement des entrées
Accès aux ressources et traitement
Injection de données côté client
Encoder les données avant réponse
Données sensibles
Séparation des environnements
Stockage et gestion des secrets
Faire usage de mécanismes de sécurité éprouvés
Gestion des exceptions
Gestion des erreurs
Journalisation
Intercepter toutes les erreurs et les traiter
Gestion de la mémoire
Allocation de la mémoire
Initialisation des objets et des variables
Supervision consommation mémoire
1 2
6 3
5 4
confidentiel | © WAVESTONE 15
La recette pour des APIs sécurisées
Une API est une application web
Une base de Security as usual
Une pincée d’OAuth
confidentiel | © WAVESTONE 16
End-user
Commencer par l’essentiel d’OAuth2
Client app
Authorization server API (Resource server)
Get token
(RFC 6749)
Use token
(RFC 6750)
Authorization code
Implicit
Client
credentials
Authorization code
Core Discovery
Dynamic
registration
OpenID Connect
confidentiel | © WAVESTONE 17
89
71
18
76
OAuth2.0 : un corpus documentaire très touffu
Les failles les plus
courantes
/ Usurpation d’identité d’une
application
/ Accès aux données personnelles
d’un utilisateur tiers
/ Vol de cookie Facebook/Google
lors d’un social login
/ Compromission de compte
utilisateur
Lors de l’implémentation d’OAuth, une erreur est vite arrivée…
confidentiel | © WAVESTONE 18
Les six recommandations essentielles
Ne pas mettre de
secret dans
l’application mobile
ou le considérer
compromis
Secret local
Valider
strictement les
URLs de
redirection, sans
wildcard
Redirect URI
Valider strictement
les authorization
code et clients
associés
Authz code
À utiliser pour
garantir l’intégrité
d’une
cinématique
complète
state & PKCE
Éviter le Implicit
grant dans la
mesure du
possible (proxy
pattern)
Implicit
Utiliser OpenID
Connect pour
authentifier,
OAuth pour
déléguer
Authz ≠ Authn
confidentiel | © WAVESTONE 19
La recette pour des APIs sécurisées
Une API est une application web
Une base de Security as usual
Limitez les additifs
Les pièges à éviter
Les recommandations essentielles
Une pincée d’OAuth
confidentiel | © WAVESTONE 20
Les besoins additionnels rencontrés chez nos clients
Navigation sans couture
entre application natives
mobiles et vers ou depuis le
navigateur du terminal
Single Sign-On Mobile Authentification contextuelle Propagation de l’identité Protection contre le vol de jeton
Ajustement du niveau
d’authentification en
fonction de la sensibilité
de l’API consommée
Transmission de l’identité
de l’utilisateur aux APIs
backend et validation de la
chaîne d’appels
Rendre inopérant le vol
d’un jeton de sécurité
et ne pas dépendre de la
sécurité d’un terminal non
maîtrisé ou d’un tiers
Des sous-standards, du plus mature au plus expérimental, à utiliser avec parcimonie !
Et en évitant les solutions « fait-maison »…
confidentiel | © WAVESTONE 21
Les besoins additionnels rencontrés chez nos clients
Navigation sans couture
entre application natives
mobiles et vers ou depuis le
navigateur du terminal
Single Sign-On Mobile Authentification contextuelle Propagation de l’identité Protection contre le vol de jeton
Ajustement du niveau
d’authentification en
fonction de la sensibilité
de l’API consommée
Transmission de l’identité
de l’utilisateur aux APIs
backend et validation de la
chaîne d’appels
Rendre inopérant le vol
d’un jeton de sécurité
et ne pas dépendre de la
sécurité d’un terminal non
maîtrisé ou d’un tiers
confidentiel | © WAVESTONE 22
Un besoin récurrent, pour des
populations employés ou clients
Depuis 2008, les techniques pour
obtenir du SSO mobile ont varié au gré
des possibilités des OS mobiles:
/ Keychain iOS
/ Paramètres URL
/ Mobile Device Management
En 2015, Apple et Google convergent
vers une solution commune : utiliser le
navigateur système comme point
d’ancrage d’une session SSO
Single Sign-On mobile : le besoin
Agent de maintenance en tournée
d’intervention
› Plusieurs applications mobiles (gestion de tournée,
rapports d’intervention, documentations techniques, etc.)
spécifique & applications collaboratives Microsoft
Employés en déplacement international
› Équipés de tablettes, besoins d’accès à des applications
mobiles et web avec authentification forte
Agent sur le terrain, en contact clientèle
› Jusqu’à 14 applications utilisées quotidiennement.
Certaines sont globales à l’entreprise (100k salaries),
d’autres spécifiques à son métier
confidentiel | © WAVESTONE 23
Best Current Practice : OAuth 2.0 for Native Applications
/ Utilisation des composants iOS BrowserView & Chrome
CustomTabs, liés au navigateur système
/ Utilisation du flow authorization code de OAuth 2.0
/ Permet un SSO app/app et app/web
Fonctionne entre applications maîtrisées et développées
par des tiers
Un SDK disponible pour iOS et Android pour accélérer le
développement
Single Sign-On mobile : la solution
App1 App2
App1
Please login
login
password
submit
App2
Welcome Bertrand!
App 1
Welcome Bertrand!
confidentiel | © WAVESTONE 24
Les besoins additionnels rencontrés chez nos clients
Navigation sans couture
entre application natives
mobiles et vers ou depuis le
navigateur du terminal
Single Sign-On Mobile Authentification contextuelle Propagation de l’identité Protection contre le vol de jeton
Ajustement du niveau
d’authentification en
fonction de la sensibilité
de l’API consommée
Transmission de l’identité
de l’utilisateur aux APIs
backend et validation de la
chaîne d’appels
Rendre inopérant le vol
d’un jeton de sécurité
et ne pas dépendre de la
sécurité d’un terminal non
maîtrisé ou d’un tiers
confidentiel | © WAVESTONE 25
Authentification contextuelle : le besoin
Opération très sensible
Authentification forte / transaction
Ajout de bénéficiaire
Opération sensible
Authentification simple / session
Virement interne
Données personnelles
Authentification simple / 1 semaineMétéo des
comptes
Notifications personnelles
Authentification simple / 1 mois
Notification
confidentiel | © WAVESTONE 26
Authentification contextuelle : la solution
/ Les standards sont écrits dans cette logique initiée par le client
/ Les solutions du marché fonctionnent comme ça
/ Mais les besoins sur le terrain sont différents !
Aujourd’hui
Jeton pour le Service A
(LOA x)
Je souhaite accéder au
service A avec LOA x
Client app Authz.Server
Je veux accéder
au service A, il
me faut donc le
LOA x (Level of
Assurance)
Jeton pour le Service A
(LOA x)
Je souhaite accéder au
service A avec LOA x
Client app Authz.Server
Le service A
requiert le LOA x
Le besoin réel
/ Le besoin est de définir en un point central les politiques de sécurité
/ Ce fonctionnement de l’authorization server est permis mais pas décrit
/ Encore beaucoup de déploiement spécifiques
confidentiel | © WAVESTONE 27
Les besoins additionnels rencontrés chez nos clients
Navigation sans couture
entre application natives
mobiles et vers ou depuis le
navigateur du terminal
Single Sign-On Mobile Authentification contextuelle Propagation de l’identité Protection contre le vol de jeton
Ajustement du niveau
d’authentification en
fonction de la sensibilité
de l’API consommée
Transmission de l’identité
de l’utilisateur aux APIs
backend et validation de la
chaîne d’appels
Rendre inopérant le vol
d’un jeton de sécurité
et ne pas dépendre de la
sécurité d’un terminal non
maîtrisé ou d’un tiers
confidentiel | © WAVESTONE 28
Propagation de l’identité : le besoin
Application
Authorization
server
API A
API B
API C API D
API E
Authentifier l’appelant
Un composant compromis dans la
chaîne peut usurper l’identité de
n’importe quel utilisateur et
compromet le reste de la chaîne
Transmettre deux
jetons
L’intégrité de la combinaison
utilisateur/API n’est pas assurée
La chaîne n’est pas vérifiable
Transmission du jeton
Le jeton initial portant l’identité
de l’utilisateur est trop puissant
Fraude interne très facile
confidentiel | © WAVESTONE 29
Token Exchange est un nouveau grant type qui définit :
1. Un mécanisme de demande de jeton intermédiaire
2. Un jeton composite permettant le contrôle de
› l’identité utilisateur,
› l’identité applicative
› la chaîne d’appel
Une fois mis en œuvre, permet la centralisation :
/ de la politique d’appels entre micro-services
/ de l’application de cette politique
/ de la traçabilité des appels entre micro-services
Propagation de l’identité : la solution
Application
Authorization
server
API A
API B
API C
Agilité
Performances
Sécurité
Draft
Jouer sur l’expiration du jeton et
son périmètre pour équilibrer
sécurité et performances
Ne doit pas freiner les
développements, doit être
packagé et prêt à l’emploi
L‘impact sur le réseau et la
charge de l’authorization server
doit être bien évalué
La spécification évolue
encore, il est urgent de
suivre les évolutions
confidentiel | © WAVESTONE 30
Les besoins additionnels rencontrés chez nos clients
Navigation sans couture
entre application natives
mobiles et vers ou depuis le
navigateur du terminal
Single Sign-On Mobile Authentification contextuelle Propagation de l’identité Protection contre le vol de jeton
Ajustement du niveau
d’authentification en
fonction de la sensibilité
de l’API consommée
Transmission de l’identité
de l’utilisateur aux APIs
backend et validation de la
chaîne d’appels
Rendre inopérant le vol
d’un jeton de sécurité
et ne pas dépendre de la
sécurité d’un terminal non
maîtrisé ou d’un tiers
confidentiel | © WAVESTONE 31
Protection contre le vol de jeton : le besoin
Authorization
server
API (Resource
server)
Authorization
server
API (Resource
server)
Aggrégateur
Le principe même de « bearer token » entraîne un risque
important lors du vol de ce dernier.
La détection du vol étant très difficile, seule l’expiration
du jeton est une mesure relativement efficace
Vol de jeton
Dans un contexte d’intermédiation (eg. DSP2), un tiers
peut se retrouver en possession de très nombreux jetons.
Le propriétaire de l’API est à la merci de ce tiers et de son
niveau de sécurité
Vol d’une base de jetons
confidentiel | © WAVESTONE 32
Token Binding
/ La négociation à deux (ou trois) composants
permet de lier un jeton (ou un cookie) à une clé
publique et la clé privée associée
/ Le client doit prouver qu’il possède la clé privée
correspondante en établissant une connexion TLS
mutuelle
/ Le jeton contient (un hash de) la clé publique du
client, distincte pour chaque serveur d’API
/ Si le jeton (ou cookie) est intercepté, il est
inutilisable
/ Requiert compatibilité du client et des serveurs
› Edge, IE & Chrome disponibles en channels dev
› Module Apache disponible
Protection contre le vol de jeton : la solution
Client app APIAuthz. server
Ok, vois donc avec l’AS
et ce tokenBindingID
Génération d’un biclé
pour l’API cible
Je voudrais un jeton
avec ce tokenBindingID
Le voici
Je souhaite un accès,
voici ma clé publique
(TLS mutuel)
Voici mon jeton, lié à ma clé
publique et tokenBindingID
(TLS mutuel)
confidentiel | © WAVESTONE 33
La recette pour des APIs sécurisées
Une API est une application web
Security as usual
Se poser la question des besoins
Limitez les additifs
Les pièges à éviter
Les recommandations essentielles
Une pincée d’OAuth
Écrire la recette
confidentiel | © WAVESTONE 34
Une architecture de référence type OAuth
End-user
Client app
Authorization server API (Resource Server)
confidentiel | © WAVESTONE 35
API
Une architecture de référence type OAuth à décliner dans votre contexte !
End-user
Client app
Authorization server API Gateway
Security moduleB2B
repository
B2C
repository
Authentifier l’utilisateur
Authentifier l’application
(Autoriser l’application)
B2E
repository
Autoriser l’application
Autoriser l’utilisateur
Autoriser la transaction
confidentiel | © WAVESTONE 36
Définir le cadre d’utilisation des APIs
Définir les règles et les communiquer
› Les cinématiques autorisées et leur cadre d’application, les checklists sécurité, l’architecture de
référence doivent être formalisées.
Intégrer des ressources sécurité dans des sprints agiles
› Identifier des ressources agissant en tant que coach sécurité pour accompagner la conception
applicative
› Apporter des solutions prêtes à l’emploi et être un accélérateur
Former et outiller les développeurs
› Des sessions de formation et de présentations des principes adoptés doivent être organisées.
› Les équipes projets peuvent être rendues autonomes dans leur intégration au reste du SI.
confidentiel | © WAVESTONE 37
Et pour finir…
Apis Mellifera
confidentiel | © WAVESTONE 38
La recette pour des APIs sécurisées
Une API est une application web
Une base de Security as usual
Se poser la question des besoins réels vs standard
Limitez les additifs
Une architecture de référence et un cadre d’application
Ecrire la recette
Une pincée d’OAuth
Sans tomber dans les pièges du standard
Les clés pour vivre
sereinement la révolution
API en cours !
wavestone.com
@wavestone_
Gérôme BILLOIS
Senior Manager
M +33 (0) 6 10 99 00 60
gerome.billois@wavestone.com
riskinsight-wavestone.com
@Risk_Insight
securityinsider-solucom.fr
@SecuInsider
Bertrand CARLIER
Senior Manager
M +33 (0)6 18 64 42 52
bertrand.carlier@wavestone.com
http://wavestone.com/privacy
Une étude exclusive auprès de 1500 citoyens de 6 pays
avec les regards croisés d’un régulateur, d’un
philosophe et d’experts métiers
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

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...aOS Community
 
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 TagreroutIdentity Days
 
Azure AD Identity Protection : protégez vos identités en détectant vulnérabil...
Azure AD Identity Protection : protégez vos identités en détectant vulnérabil...Azure AD Identity Protection : protégez vos identités en détectant vulnérabil...
Azure AD Identity Protection : protégez vos identités en détectant vulnérabil...Identity Days
 
Livre blanc sur l'authentification forte OTP - One Time Password
Livre blanc sur l'authentification forte OTP - One Time PasswordLivre blanc sur l'authentification forte OTP - One Time Password
Livre blanc sur l'authentification forte OTP - One Time PasswordPRONETIS
 
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 DuchenneIdentity Days
 
Identité Numérique et Authentification Forte
Identité Numérique et Authentification ForteIdentité Numérique et Authentification Forte
Identité Numérique et Authentification ForteSylvain Maret
 
Guide de mise en oeuvre de l'authentification forte
Guide de mise en oeuvre de l'authentification forteGuide de mise en oeuvre de l'authentification forte
Guide de mise en oeuvre de l'authentification forteNis
 
CA Symposium GIA Québec - CA Identity Suite - Mike Berthold
CA Symposium GIA Québec - CA Identity Suite - Mike BertholdCA Symposium GIA Québec - CA Identity Suite - Mike Berthold
CA Symposium GIA Québec - CA Identity Suite - Mike BertholdISACA Chapitre de Québec
 
[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...Worteks
 
Authentification Forte Cours UNI 2002
Authentification Forte Cours UNI 2002Authentification Forte Cours UNI 2002
Authentification Forte Cours UNI 2002Sylvain Maret
 
Oracle Identity Management : Sécurisation de l’entreprise étendue – Guy Chiasson
Oracle Identity Management : Sécurisation de l’entreprise étendue – Guy ChiassonOracle Identity Management : Sécurisation de l’entreprise étendue – Guy Chiasson
Oracle Identity Management : Sécurisation de l’entreprise étendue – Guy ChiassonISACA Chapitre de Québec
 
Comprendre la stratégie identité de Microsoft
Comprendre la stratégie identité de MicrosoftComprendre la stratégie identité de Microsoft
Comprendre la stratégie identité de MicrosoftMicrosoft Technet France
 
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 ?...Identity Days
 
Geneva Application Security Forum: Vers une authentification plus forte dans ...
Geneva Application Security Forum: Vers une authentification plus forte dans ...Geneva Application Security Forum: Vers une authentification plus forte dans ...
Geneva Application Security Forum: Vers une authentification plus forte dans ...Sylvain Maret
 
Projet Pki Etapes Clefs
Projet Pki   Etapes ClefsProjet Pki   Etapes Clefs
Projet Pki Etapes Clefsfabricemeillon
 
Présentations séminaire OSSA - mai 2010
Présentations séminaire OSSA - mai 2010Présentations séminaire OSSA - mai 2010
Présentations séminaire OSSA - mai 2010LINAGORA
 
Dictao Présentation Institutionnelle
Dictao Présentation InstitutionnelleDictao Présentation Institutionnelle
Dictao Présentation InstitutionnelleDictao
 
Présentation10
Présentation10Présentation10
Présentation10hossam-10
 

Tendances (20)

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...
 
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
 
Azure AD Identity Protection : protégez vos identités en détectant vulnérabil...
Azure AD Identity Protection : protégez vos identités en détectant vulnérabil...Azure AD Identity Protection : protégez vos identités en détectant vulnérabil...
Azure AD Identity Protection : protégez vos identités en détectant vulnérabil...
 
Livre blanc sur l'authentification forte OTP - One Time Password
Livre blanc sur l'authentification forte OTP - One Time PasswordLivre blanc sur l'authentification forte OTP - One Time Password
Livre blanc sur l'authentification forte OTP - One Time Password
 
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
 
Identité Numérique et Authentification Forte
Identité Numérique et Authentification ForteIdentité Numérique et Authentification Forte
Identité Numérique et Authentification Forte
 
Guide de mise en oeuvre de l'authentification forte
Guide de mise en oeuvre de l'authentification forteGuide de mise en oeuvre de l'authentification forte
Guide de mise en oeuvre de l'authentification forte
 
CA Symposium GIA Québec - CA Identity Suite - Mike Berthold
CA Symposium GIA Québec - CA Identity Suite - Mike BertholdCA Symposium GIA Québec - CA Identity Suite - Mike Berthold
CA Symposium GIA Québec - CA Identity Suite - Mike Berthold
 
[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...
 
Authentification Forte Cours UNI 2002
Authentification Forte Cours UNI 2002Authentification Forte Cours UNI 2002
Authentification Forte Cours UNI 2002
 
LinPKI
LinPKILinPKI
LinPKI
 
Oracle Identity Management : Sécurisation de l’entreprise étendue – Guy Chiasson
Oracle Identity Management : Sécurisation de l’entreprise étendue – Guy ChiassonOracle Identity Management : Sécurisation de l’entreprise étendue – Guy Chiasson
Oracle Identity Management : Sécurisation de l’entreprise étendue – Guy Chiasson
 
Comprendre la stratégie identité de Microsoft
Comprendre la stratégie identité de MicrosoftComprendre la stratégie identité de Microsoft
Comprendre la stratégie identité de Microsoft
 
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 ?...
 
Geneva Application Security Forum: Vers une authentification plus forte dans ...
Geneva Application Security Forum: Vers une authentification plus forte dans ...Geneva Application Security Forum: Vers une authentification plus forte dans ...
Geneva Application Security Forum: Vers une authentification plus forte dans ...
 
Projet Pki Etapes Clefs
Projet Pki   Etapes ClefsProjet Pki   Etapes Clefs
Projet Pki Etapes Clefs
 
Présentations séminaire OSSA - mai 2010
Présentations séminaire OSSA - mai 2010Présentations séminaire OSSA - mai 2010
Présentations séminaire OSSA - mai 2010
 
Dictao Présentation Institutionnelle
Dictao Présentation InstitutionnelleDictao Présentation Institutionnelle
Dictao Présentation Institutionnelle
 
Présentation10
Présentation10Présentation10
Présentation10
 
Infographie Les API par #EnjoyDigitAll
Infographie Les API par #EnjoyDigitAllInfographie Les API par #EnjoyDigitAll
Infographie Les API par #EnjoyDigitAll
 

Similaire à GS Days 2017 - La sécurité des APIs

IBM Security Day- 17 Février 2015- Dakar- SENEGAL- Session Gestion des Identi...
IBM Security Day- 17 Février 2015- Dakar- SENEGAL- Session Gestion des Identi...IBM Security Day- 17 Février 2015- Dakar- SENEGAL- Session Gestion des Identi...
IBM Security Day- 17 Février 2015- Dakar- SENEGAL- Session Gestion des Identi...Mohamed Amar ATHIE
 
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...Cyber Security Alliance
 
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 - wavestoneLeonard Moustacchis
 
Wavestone - IAM of Things / Identité des objets connectés
Wavestone - IAM of Things / Identité des objets connectésWavestone - IAM of Things / Identité des objets connectés
Wavestone - IAM of Things / Identité des objets connectésKévin Guérin
 
Deploiement du pare feu checkpoint gaia r77
Deploiement du pare feu checkpoint gaia r77Deploiement du pare feu checkpoint gaia r77
Deploiement du pare feu checkpoint gaia r77Mame Cheikh Ibra Niang
 
Securite des Applications dans le Cloud
Securite des Applications dans le CloudSecurite des Applications dans le Cloud
Securite des Applications dans le CloudSebastien Gioria
 
Durcissement de code - Sécurité Applicative Web
Durcissement de code - Sécurité Applicative WebDurcissement de code - Sécurité Applicative Web
Durcissement de code - Sécurité Applicative WebCyrille Grandval
 
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 cloudMarc Rousselet
 
[Webinar] Cybersécurité : risques et ressources pour les startups @DGE
[Webinar] Cybersécurité : risques et ressources pour les startups @DGE [Webinar] Cybersécurité : risques et ressources pour les startups @DGE
[Webinar] Cybersécurité : risques et ressources pour les startups @DGE FrenchTechCentral
 
Swiss API Day - Axway - API Management
 Swiss API Day - Axway - API Management Swiss API Day - Axway - API Management
Swiss API Day - Axway - API ManagementSmartWave
 
Gestion des utilisateurs privilégiés - Contrôler les accès sans dégrader la s...
Gestion des utilisateurs privilégiés - Contrôler les accès sans dégrader la s...Gestion des utilisateurs privilégiés - Contrôler les accès sans dégrader la s...
Gestion des utilisateurs privilégiés - Contrôler les accès sans dégrader la s...Nis
 
Sécurité des applications mobiles
Sécurité des applications mobilesSécurité des applications mobiles
Sécurité des applications mobilesSebastien Gioria
 
Aligner votre sécurité avec vos processus métiers
Aligner votre sécurité avec vos processus métiersAligner votre sécurité avec vos processus métiers
Aligner votre sécurité avec vos processus métiersAlgoSec
 
Synthèse de l'offre logicielle IBM de Sécurité - Nov 2016
Synthèse de l'offre logicielle IBM de Sécurité - Nov 2016 Synthèse de l'offre logicielle IBM de Sécurité - Nov 2016
Synthèse de l'offre logicielle IBM de Sécurité - Nov 2016 Thierry Matusiak
 
Web Application Firewall : une nouvelle génération indispensable ?
Web Application Firewall : une nouvelle génération indispensable ?Web Application Firewall : une nouvelle génération indispensable ?
Web Application Firewall : une nouvelle génération indispensable ?Kyos
 
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.2Sébastien GIORIA
 
2020-06-06 Power Saturday 2020 - Cyber sécurité Microsoft 365 par la pratique
2020-06-06 Power Saturday 2020 - Cyber sécurité Microsoft 365 par la pratique2020-06-06 Power Saturday 2020 - Cyber sécurité Microsoft 365 par la pratique
2020-06-06 Power Saturday 2020 - Cyber sécurité Microsoft 365 par la pratiquePatrick Guimonet
 
070219 Webinar Sensibilisation Sécurité Logiciel Everteam
070219 Webinar Sensibilisation Sécurité Logiciel Everteam070219 Webinar Sensibilisation Sécurité Logiciel Everteam
070219 Webinar Sensibilisation Sécurité Logiciel EverteamEverteam
 

Similaire à GS Days 2017 - La sécurité des APIs (20)

IBM Security Day- 17 Février 2015- Dakar- SENEGAL- Session Gestion des Identi...
IBM Security Day- 17 Février 2015- Dakar- SENEGAL- Session Gestion des Identi...IBM Security Day- 17 Février 2015- Dakar- SENEGAL- Session Gestion des Identi...
IBM Security Day- 17 Février 2015- Dakar- SENEGAL- Session Gestion des Identi...
 
Partner pot.pptx
Partner pot.pptxPartner pot.pptx
Partner pot.pptx
 
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...
 
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
 
Wavestone - IAM of Things / Identité des objets connectés
Wavestone - IAM of Things / Identité des objets connectésWavestone - IAM of Things / Identité des objets connectés
Wavestone - IAM of Things / Identité des objets connectés
 
Deploiement du pare feu checkpoint gaia r77
Deploiement du pare feu checkpoint gaia r77Deploiement du pare feu checkpoint gaia r77
Deploiement du pare feu checkpoint gaia r77
 
Securite des Applications dans le Cloud
Securite des Applications dans le CloudSecurite des Applications dans le Cloud
Securite des Applications dans le Cloud
 
Durcissement de code - Sécurité Applicative Web
Durcissement de code - Sécurité Applicative WebDurcissement de code - Sécurité Applicative Web
Durcissement de code - Sécurité Applicative Web
 
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
 
[Webinar] Cybersécurité : risques et ressources pour les startups @DGE
[Webinar] Cybersécurité : risques et ressources pour les startups @DGE [Webinar] Cybersécurité : risques et ressources pour les startups @DGE
[Webinar] Cybersécurité : risques et ressources pour les startups @DGE
 
Swiss API Day - Axway - API Management
 Swiss API Day - Axway - API Management Swiss API Day - Axway - API Management
Swiss API Day - Axway - API Management
 
Gestion des utilisateurs privilégiés - Contrôler les accès sans dégrader la s...
Gestion des utilisateurs privilégiés - Contrôler les accès sans dégrader la s...Gestion des utilisateurs privilégiés - Contrôler les accès sans dégrader la s...
Gestion des utilisateurs privilégiés - Contrôler les accès sans dégrader la s...
 
Sécurité des applications mobiles
Sécurité des applications mobilesSécurité des applications mobiles
Sécurité des applications mobiles
 
Aligner votre sécurité avec vos processus métiers
Aligner votre sécurité avec vos processus métiersAligner votre sécurité avec vos processus métiers
Aligner votre sécurité avec vos processus métiers
 
La sécurité endpoint : efficace, mais pas efficient
La sécurité endpoint : efficace, mais pas efficientLa sécurité endpoint : efficace, mais pas efficient
La sécurité endpoint : efficace, mais pas efficient
 
Synthèse de l'offre logicielle IBM de Sécurité - Nov 2016
Synthèse de l'offre logicielle IBM de Sécurité - Nov 2016 Synthèse de l'offre logicielle IBM de Sécurité - Nov 2016
Synthèse de l'offre logicielle IBM de Sécurité - Nov 2016
 
Web Application Firewall : une nouvelle génération indispensable ?
Web Application Firewall : une nouvelle génération indispensable ?Web Application Firewall : une nouvelle génération indispensable ?
Web Application Firewall : une nouvelle génération indispensable ?
 
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
 
2020-06-06 Power Saturday 2020 - Cyber sécurité Microsoft 365 par la pratique
2020-06-06 Power Saturday 2020 - Cyber sécurité Microsoft 365 par la pratique2020-06-06 Power Saturday 2020 - Cyber sécurité Microsoft 365 par la pratique
2020-06-06 Power Saturday 2020 - Cyber sécurité Microsoft 365 par la pratique
 
070219 Webinar Sensibilisation Sécurité Logiciel Everteam
070219 Webinar Sensibilisation Sécurité Logiciel Everteam070219 Webinar Sensibilisation Sécurité Logiciel Everteam
070219 Webinar Sensibilisation Sécurité Logiciel Everteam
 

Plus de Bertrand Carlier

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 projectBertrand Carlier
 
Identiverse 2021 enterprise identity: What foundations
Identiverse 2021 enterprise identity: What foundationsIdentiverse 2021 enterprise identity: What foundations
Identiverse 2021 enterprise identity: What foundationsBertrand Carlier
 
Identiverse - Microservices Security
Identiverse - Microservices SecurityIdentiverse - Microservices Security
Identiverse - Microservices SecurityBertrand Carlier
 
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?Bertrand Carlier
 
Wavestone forgerock banking demo
Wavestone forgerock banking demoWavestone forgerock banking demo
Wavestone forgerock banking demoBertrand Carlier
 
Paris Identity Tech Talk IoT
Paris Identity Tech Talk IoTParis Identity Tech Talk IoT
Paris Identity Tech Talk IoTBertrand 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
 

GS Days 2017 - La sécurité des APIs

  • 1. … ou la recette du bon miel 28 mars 2017 Gérôme BILLOIS gerome.billois@wavestone.com @gbillois Bertrand CARLIER bertrand.carlier@wavestone.com @bertrandcarlier La sécurité des API
  • 2. confidentiel | © WAVESTONE 2 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 3 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 1,000+ Missions par an dans plus de 20 pays
  • 4. confidentiel | © WAVESTONE 4 Mais pourquoi tout le monde parle-t-il d’APIs ? Apis Mellifera
  • 5. confidentiel | © WAVESTONE 5 2005-2015 : une ouverture sous contrôle du système d’information Réseau d’entreprise Internet Système d’information industriel Cloud Partenaire DC Terminaux clients Terminaux employés professionnels ou personnels Un périmètre nécessitant plus d’ouverture Les ressources les plus critiques sont isolées et sécurisées
  • 6. confidentiel | © WAVESTONE 6 En 2020 Le Cloud est une réalité, y compris pour des applications critiques métier Les méthodes Agile et DevOps sont d’ores et déjà répandues dans l’entreprise Les méthodes et pratiques de sécurité actuelles ne suivent plus le rythme de ce nouveau modèle opérationnel
  • 7. confidentiel | © WAVESTONE 7 2020 : Un système d’information décentralisé Réseau d’entreprise Réglementé & Legacy Partenaires Cloud 1 Sytème d’Information industriel IoT & systems embarqués Shadow IT Startups Terminaux employés professionnels ou personnels Blockchains Cloud n Server-less Apps Container Apps Terminaux clients Internet Les données transitent partout et sont accessibles via de nombreux moyens
  • 8. confidentiel | © WAVESTONE 8 Données publiques Données Personnelles Données sensibles Mais aussi Et … adresses d’agences, horaires des transports, etc. Tracking fitness, application Ameli et CAF, etc. DSP2, Achat en ligne, informations industrielles en mobilité Les APIs Aujourd’hui 62 106 191 219 268 319 393 419 477 Alimentation Sports Musique Photos Paiement Shopping Reference Finance Social APIs par catégories sur theprogrammableweb.com
  • 9. confidentiel | © WAVESTONE 9 APIs, 20 ans déjà! 1998 2002 2006 2010 20182014 API Facebook & Twitter OAuth 2.0 WS-Security draft Lancement de l’AppStore Android 1.0 <SOAP/> OAuth 1.0 Flickr lance une API REST B2C Salesforce lance la 1ère web API (XML), orientée B2E Ebay lance une API REST B2B Travaux de sécurisation de SOAP Travaux de sécurisation de REST User-Managed Access 1.0 OpenID Connect JOSE
  • 10. confidentiel | © WAVESTONE 10 Les API c’est très simple… Toute ressemblance avec des personnes ou des situations existantes ou ayant existé …par exemple lors d’une réunion avec des architectes... ne saurait être que fortuite. End-user OAuth 2 Client app API (Resource server) Device Flow Client credentials Authorization server + • Authorization header • POST data • Query parameter  JWT/SAML bearer profile (RFC 7522/7523)  Levels of Assurance  Enhanced Authentication Profile  Token Binding  MobileConnect  Account Chooser & YOLO  User-Managed Access Use token (RFC 6750) Get token (RFC 6749) Client app
  • 11. confidentiel | © WAVESTONE 11 Quelle recette pour sécuriser ses API ? Apis Mellifera
  • 12. confidentiel | © WAVESTONE 12 La recette pour des APIs sécurisées Une base de Security as usual
  • 13. confidentiel | © WAVESTONE 13 Benchmark Wavestone : sur 128 sites audités en un an, des failles graves dans 60% des cas… … une situation très (très) similaire pour les API 60% des sites sont touchés par au moins une faille grave 39% des sites ne sont touchés que par des failles importantes 1% des sites ne sont touchés que par des failles mineures Faille grave Permet d’accéder à l'ensemble du contenu du site et/ou de compromettre les serveurs Accès à l’ensemble des données du site, exécution de code par le serveur, utilisateur A ayant accès aux données de B, etc. Faille importante Permet d’accéder aux informations d’autres utilisateurs mais en nombre limité ou de manière complexe Vol de session d’un utilisateur, faiblesses dans le chiffrement, possibilité de faire réaliser des actions à l’insu de l’utilisateur, etc. Faille mineure Permet principalement d’obtenir des informations pour continuer l’attaque Messages techniques superflus, absence de sécurisation des cookies, déconnexion utilisateur non efficace, etc. http://go.wavestone.com/benchmarksecuriteweb Applications web & APIs – Security as usual
  • 14. confidentiel | © WAVESTONE 14 Applications web & APIs – Security as usual N’oublions pas les recommandations de bases de la sécurité web… Les « zones » à risques Gestion des sessions Authentification & Maintien de session Côté client vs côté serveur Identifiant de sessions non devinables Ré-authentifier pour des actions critiques Contrôle d’accès Gestion des profils & privilèges Situation de concurrence Séparation des espaces utilisateurs Gestion des entrées/sorties Traitement des entrées Accès aux ressources et traitement Injection de données côté client Encoder les données avant réponse Données sensibles Séparation des environnements Stockage et gestion des secrets Faire usage de mécanismes de sécurité éprouvés Gestion des exceptions Gestion des erreurs Journalisation Intercepter toutes les erreurs et les traiter Gestion de la mémoire Allocation de la mémoire Initialisation des objets et des variables Supervision consommation mémoire 1 2 6 3 5 4
  • 15. confidentiel | © WAVESTONE 15 La recette pour des APIs sécurisées Une API est une application web Une base de Security as usual Une pincée d’OAuth
  • 16. confidentiel | © WAVESTONE 16 End-user Commencer par l’essentiel d’OAuth2 Client app Authorization server API (Resource server) Get token (RFC 6749) Use token (RFC 6750) Authorization code Implicit Client credentials Authorization code Core Discovery Dynamic registration OpenID Connect
  • 17. confidentiel | © WAVESTONE 17 89 71 18 76 OAuth2.0 : un corpus documentaire très touffu Les failles les plus courantes / Usurpation d’identité d’une application / Accès aux données personnelles d’un utilisateur tiers / Vol de cookie Facebook/Google lors d’un social login / Compromission de compte utilisateur Lors de l’implémentation d’OAuth, une erreur est vite arrivée…
  • 18. confidentiel | © WAVESTONE 18 Les six recommandations essentielles Ne pas mettre de secret dans l’application mobile ou le considérer compromis Secret local Valider strictement les URLs de redirection, sans wildcard Redirect URI Valider strictement les authorization code et clients associés Authz code À utiliser pour garantir l’intégrité d’une cinématique complète state & PKCE Éviter le Implicit grant dans la mesure du possible (proxy pattern) Implicit Utiliser OpenID Connect pour authentifier, OAuth pour déléguer Authz ≠ Authn
  • 19. confidentiel | © WAVESTONE 19 La recette pour des APIs sécurisées Une API est une application web Une base de Security as usual Limitez les additifs Les pièges à éviter Les recommandations essentielles Une pincée d’OAuth
  • 20. confidentiel | © WAVESTONE 20 Les besoins additionnels rencontrés chez nos clients Navigation sans couture entre application natives mobiles et vers ou depuis le navigateur du terminal Single Sign-On Mobile Authentification contextuelle Propagation de l’identité Protection contre le vol de jeton Ajustement du niveau d’authentification en fonction de la sensibilité de l’API consommée Transmission de l’identité de l’utilisateur aux APIs backend et validation de la chaîne d’appels Rendre inopérant le vol d’un jeton de sécurité et ne pas dépendre de la sécurité d’un terminal non maîtrisé ou d’un tiers Des sous-standards, du plus mature au plus expérimental, à utiliser avec parcimonie ! Et en évitant les solutions « fait-maison »…
  • 21. confidentiel | © WAVESTONE 21 Les besoins additionnels rencontrés chez nos clients Navigation sans couture entre application natives mobiles et vers ou depuis le navigateur du terminal Single Sign-On Mobile Authentification contextuelle Propagation de l’identité Protection contre le vol de jeton Ajustement du niveau d’authentification en fonction de la sensibilité de l’API consommée Transmission de l’identité de l’utilisateur aux APIs backend et validation de la chaîne d’appels Rendre inopérant le vol d’un jeton de sécurité et ne pas dépendre de la sécurité d’un terminal non maîtrisé ou d’un tiers
  • 22. confidentiel | © WAVESTONE 22 Un besoin récurrent, pour des populations employés ou clients Depuis 2008, les techniques pour obtenir du SSO mobile ont varié au gré des possibilités des OS mobiles: / Keychain iOS / Paramètres URL / Mobile Device Management En 2015, Apple et Google convergent vers une solution commune : utiliser le navigateur système comme point d’ancrage d’une session SSO Single Sign-On mobile : le besoin Agent de maintenance en tournée d’intervention › Plusieurs applications mobiles (gestion de tournée, rapports d’intervention, documentations techniques, etc.) spécifique & applications collaboratives Microsoft Employés en déplacement international › Équipés de tablettes, besoins d’accès à des applications mobiles et web avec authentification forte Agent sur le terrain, en contact clientèle › Jusqu’à 14 applications utilisées quotidiennement. Certaines sont globales à l’entreprise (100k salaries), d’autres spécifiques à son métier
  • 23. confidentiel | © WAVESTONE 23 Best Current Practice : OAuth 2.0 for Native Applications / Utilisation des composants iOS BrowserView & Chrome CustomTabs, liés au navigateur système / Utilisation du flow authorization code de OAuth 2.0 / Permet un SSO app/app et app/web Fonctionne entre applications maîtrisées et développées par des tiers Un SDK disponible pour iOS et Android pour accélérer le développement Single Sign-On mobile : la solution App1 App2 App1 Please login login password submit App2 Welcome Bertrand! App 1 Welcome Bertrand!
  • 24. confidentiel | © WAVESTONE 24 Les besoins additionnels rencontrés chez nos clients Navigation sans couture entre application natives mobiles et vers ou depuis le navigateur du terminal Single Sign-On Mobile Authentification contextuelle Propagation de l’identité Protection contre le vol de jeton Ajustement du niveau d’authentification en fonction de la sensibilité de l’API consommée Transmission de l’identité de l’utilisateur aux APIs backend et validation de la chaîne d’appels Rendre inopérant le vol d’un jeton de sécurité et ne pas dépendre de la sécurité d’un terminal non maîtrisé ou d’un tiers
  • 25. confidentiel | © WAVESTONE 25 Authentification contextuelle : le besoin Opération très sensible Authentification forte / transaction Ajout de bénéficiaire Opération sensible Authentification simple / session Virement interne Données personnelles Authentification simple / 1 semaineMétéo des comptes Notifications personnelles Authentification simple / 1 mois Notification
  • 26. confidentiel | © WAVESTONE 26 Authentification contextuelle : la solution / Les standards sont écrits dans cette logique initiée par le client / Les solutions du marché fonctionnent comme ça / Mais les besoins sur le terrain sont différents ! Aujourd’hui Jeton pour le Service A (LOA x) Je souhaite accéder au service A avec LOA x Client app Authz.Server Je veux accéder au service A, il me faut donc le LOA x (Level of Assurance) Jeton pour le Service A (LOA x) Je souhaite accéder au service A avec LOA x Client app Authz.Server Le service A requiert le LOA x Le besoin réel / Le besoin est de définir en un point central les politiques de sécurité / Ce fonctionnement de l’authorization server est permis mais pas décrit / Encore beaucoup de déploiement spécifiques
  • 27. confidentiel | © WAVESTONE 27 Les besoins additionnels rencontrés chez nos clients Navigation sans couture entre application natives mobiles et vers ou depuis le navigateur du terminal Single Sign-On Mobile Authentification contextuelle Propagation de l’identité Protection contre le vol de jeton Ajustement du niveau d’authentification en fonction de la sensibilité de l’API consommée Transmission de l’identité de l’utilisateur aux APIs backend et validation de la chaîne d’appels Rendre inopérant le vol d’un jeton de sécurité et ne pas dépendre de la sécurité d’un terminal non maîtrisé ou d’un tiers
  • 28. confidentiel | © WAVESTONE 28 Propagation de l’identité : le besoin Application Authorization server API A API B API C API D API E Authentifier l’appelant Un composant compromis dans la chaîne peut usurper l’identité de n’importe quel utilisateur et compromet le reste de la chaîne Transmettre deux jetons L’intégrité de la combinaison utilisateur/API n’est pas assurée La chaîne n’est pas vérifiable Transmission du jeton Le jeton initial portant l’identité de l’utilisateur est trop puissant Fraude interne très facile
  • 29. confidentiel | © WAVESTONE 29 Token Exchange est un nouveau grant type qui définit : 1. Un mécanisme de demande de jeton intermédiaire 2. Un jeton composite permettant le contrôle de › l’identité utilisateur, › l’identité applicative › la chaîne d’appel Une fois mis en œuvre, permet la centralisation : / de la politique d’appels entre micro-services / de l’application de cette politique / de la traçabilité des appels entre micro-services Propagation de l’identité : la solution Application Authorization server API A API B API C Agilité Performances Sécurité Draft Jouer sur l’expiration du jeton et son périmètre pour équilibrer sécurité et performances Ne doit pas freiner les développements, doit être packagé et prêt à l’emploi L‘impact sur le réseau et la charge de l’authorization server doit être bien évalué La spécification évolue encore, il est urgent de suivre les évolutions
  • 30. confidentiel | © WAVESTONE 30 Les besoins additionnels rencontrés chez nos clients Navigation sans couture entre application natives mobiles et vers ou depuis le navigateur du terminal Single Sign-On Mobile Authentification contextuelle Propagation de l’identité Protection contre le vol de jeton Ajustement du niveau d’authentification en fonction de la sensibilité de l’API consommée Transmission de l’identité de l’utilisateur aux APIs backend et validation de la chaîne d’appels Rendre inopérant le vol d’un jeton de sécurité et ne pas dépendre de la sécurité d’un terminal non maîtrisé ou d’un tiers
  • 31. confidentiel | © WAVESTONE 31 Protection contre le vol de jeton : le besoin Authorization server API (Resource server) Authorization server API (Resource server) Aggrégateur Le principe même de « bearer token » entraîne un risque important lors du vol de ce dernier. La détection du vol étant très difficile, seule l’expiration du jeton est une mesure relativement efficace Vol de jeton Dans un contexte d’intermédiation (eg. DSP2), un tiers peut se retrouver en possession de très nombreux jetons. Le propriétaire de l’API est à la merci de ce tiers et de son niveau de sécurité Vol d’une base de jetons
  • 32. confidentiel | © WAVESTONE 32 Token Binding / La négociation à deux (ou trois) composants permet de lier un jeton (ou un cookie) à une clé publique et la clé privée associée / Le client doit prouver qu’il possède la clé privée correspondante en établissant une connexion TLS mutuelle / Le jeton contient (un hash de) la clé publique du client, distincte pour chaque serveur d’API / Si le jeton (ou cookie) est intercepté, il est inutilisable / Requiert compatibilité du client et des serveurs › Edge, IE & Chrome disponibles en channels dev › Module Apache disponible Protection contre le vol de jeton : la solution Client app APIAuthz. server Ok, vois donc avec l’AS et ce tokenBindingID Génération d’un biclé pour l’API cible Je voudrais un jeton avec ce tokenBindingID Le voici Je souhaite un accès, voici ma clé publique (TLS mutuel) Voici mon jeton, lié à ma clé publique et tokenBindingID (TLS mutuel)
  • 33. confidentiel | © WAVESTONE 33 La recette pour des APIs sécurisées Une API est une application web Security as usual Se poser la question des besoins Limitez les additifs Les pièges à éviter Les recommandations essentielles Une pincée d’OAuth Écrire la recette
  • 34. confidentiel | © WAVESTONE 34 Une architecture de référence type OAuth End-user Client app Authorization server API (Resource Server)
  • 35. confidentiel | © WAVESTONE 35 API Une architecture de référence type OAuth à décliner dans votre contexte ! End-user Client app Authorization server API Gateway Security moduleB2B repository B2C repository Authentifier l’utilisateur Authentifier l’application (Autoriser l’application) B2E repository Autoriser l’application Autoriser l’utilisateur Autoriser la transaction
  • 36. confidentiel | © WAVESTONE 36 Définir le cadre d’utilisation des APIs Définir les règles et les communiquer › Les cinématiques autorisées et leur cadre d’application, les checklists sécurité, l’architecture de référence doivent être formalisées. Intégrer des ressources sécurité dans des sprints agiles › Identifier des ressources agissant en tant que coach sécurité pour accompagner la conception applicative › Apporter des solutions prêtes à l’emploi et être un accélérateur Former et outiller les développeurs › Des sessions de formation et de présentations des principes adoptés doivent être organisées. › Les équipes projets peuvent être rendues autonomes dans leur intégration au reste du SI.
  • 37. confidentiel | © WAVESTONE 37 Et pour finir… Apis Mellifera
  • 38. confidentiel | © WAVESTONE 38 La recette pour des APIs sécurisées Une API est une application web Une base de Security as usual Se poser la question des besoins réels vs standard Limitez les additifs Une architecture de référence et un cadre d’application Ecrire la recette Une pincée d’OAuth Sans tomber dans les pièges du standard Les clés pour vivre sereinement la révolution API en cours !
  • 39. wavestone.com @wavestone_ Gérôme BILLOIS Senior Manager M +33 (0) 6 10 99 00 60 gerome.billois@wavestone.com riskinsight-wavestone.com @Risk_Insight securityinsider-solucom.fr @SecuInsider Bertrand CARLIER Senior Manager M +33 (0)6 18 64 42 52 bertrand.carlier@wavestone.com http://wavestone.com/privacy Une étude exclusive auprès de 1500 citoyens de 6 pays avec les regards croisés d’un régulateur, d’un philosophe et d’experts métiers
  • 40. 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