OOP 2016: Moderne Security Szenarien mit OAuth 2 und OIDC
-
Upload
manfred-steyer -
Category
Internet
-
view
423 -
download
1
Transcript of OOP 2016: Moderne Security Szenarien mit OAuth 2 und OIDC
1
Zeitgemäße Sicherheitsszenarien mit OAuth2 und OpenId Connect
Manfred Steyer
Ziel
Möglichkeiten bezüglich SSO und Delegation mit
OAuth 2.0 und OpenId Connect (OIDC) kennen
lernen
Folie 6
2
Inhalt
Motivation
Überblick zu OAuth 2.0
Authentifizierung mit OAuth 2.0
OpenId Connect
DEMO
Folie 7
MOTIVATION
Page 8
3
Ein Benutzer - zu viele Konten
Folie 9
Clients benötigen Zugriff
Folie 10
4
ÜBERBLICK ZU OAUTH 2.0
Page 11
Was ist OAuth ?
Ursprünglich entwickelt von Twitter und Ma.gnolia
Protokoll zum Delegieren von (eingeschränkten)
Rechten
Mittlerweile verwendet von Google, Facebook,
Flickr, Microsoft, Salesforce.com oder Yahoo!
Folie 12
5
Rollen
Folie 13
Client
Authorization-Server
Resource-ServerResource-Owner
Registriert mit
client_id,
client_secret,
redirect_uri Registriert mit
Credentials
Prinzipieller Ablauf
Folie 14
Client
Authorization-Server
Resource-Server
1. Umleitung
2. Umleitung
3. Access-Token
Details legt Flow fest Ein zentrales Benutzerkonto
Nur Auth-Svr. kennt Passwort
Auth. von Client entkoppelt
Flexibilität durch Token
SPA: Kein Cookie: Kein CSRF
6
FLOWS
Page 15
Flows
Authorization Code Grant
Am meisten Sicherheitsmerkmale
Client gibt sich über Client-Secret zu erkennen
Serverseitige Web-Anwendungen
"Langzeit-Delegation"
Implicit Grant
Clients ohne Client-Secret
Token wird nur an Uri des Client gesendet
Beispiel: Single Page Applications
7
Flows
Resource Owner Password Credentials Grant
Benutzer vertraut Client seine Credentials an
Client Credentials Grant
Client "in eigener Mission"
Extension Grants
AUTHENTIFIZIERUNG
Page 38
8
Authentifizierung mit OAuth
Folie 39
Client
Authorization-Server
Resource-
Server
3. /user/profile + Access-Token
1. Token anfordern
{ "user_name": "susi",
"email": "[email protected]", … }
2. Token
&scope=profile
Nicht durch
OAuth 2.0 definiert
OpenId Connect (OIDC)
Erweiterung zu OAuth 2.0
Standardisiert User-Profil-Endpunkt
Standardisiert Übermittlung von Profil-Infos
Client erhält auch ID-Token
JWT-Token mit Infos zum Benutzer + Audience
JWT-Token kann vom Aussteller signiert sein
Folie 44
9
OIDC
Folie 45
Authorization-Server
Client 1 Service 1
Access-Token
ID-Token
/voucher + Access-Token
DEMO
Page 47
10
Fazit
OAuth 2.0 zum Delegieren von Rechten
Implicit Flow: Single Page Applications
SSO: Recht zum Lesen von Profil delegieren
OpenID Connect: Authentifizierung mit OAuth 2.0
OpenID Connect: JWT Sicherheitsmerkmale
Vorteile
Zentrale Benutzerkonten
Entkopplung der Authentifizierung und Autorisierung
Flexibilität durch Token
Folie 48
SOFTWAREarchitekt.at
ManfredSteyer
Kontakt