SlideShare une entreprise Scribd logo
1  sur  45
Télécharger pour lire hors ligne
… dank JWT
Token statt Cookies
Markus Schlichting
Senior Software Engineer
Basel, Schweiz
Hackergarten Basel
markus.schlichting@canoo.com
@madmas
Sessions & Cookies
Sessions & Cookies
Credentials validieren,
Session erzeugen
Sessions & Cookies
Credentials validieren,
Session erzeugen
Session Cookie
Sessions & Cookies
Credentials validieren,
Session erzeugen
Session Cookie
Session
Store
Sessions & Cookies
Credentials validieren,
Session erzeugen
Session Cookie
Session
Store
Sessions & Cookies
Credentials validieren,
Session erzeugen
Session Cookie
Session
Store
Session validieren,
Zugriff kontrollieren
Sessions & Cookies
Credentials validieren,
Session erzeugen
Session Cookie
Session
Store
Session validieren,
Zugriff kontrollieren
Sessions & Cookies
Credentials validieren,
Session erzeugen
Session Cookie
Session
Store
Session validieren,
Zugriff kontrollieren
http://app.javaland.de http://app.javaland.de
Sessions & Cookies
Sessions & Cookies
Loadbalancing benötigt geteilten Sessionpool
Sessions & Cookies
Loadbalancing benötigt geteilten Sessionpool
Services werden gekoppelt
Sessions & Cookies
Loadbalancing benötigt geteilten Sessionpool
Services werden gekoppelt
Cross Domain Authentifizierung: CORS
Sessions & Cookies
Loadbalancing benötigt geteilten Sessionpool
Services werden gekoppelt
Cross Domain Authentifizierung: CORS
CSRF Verwundbarkeit
Sessions & Cookies
Loadbalancing benötigt geteilten Sessionpool
Services werden gekoppelt
Cross Domain Authentifizierung: CORS
CSRF Verwundbarkeit
Andere Clients ausser Browser?
JSON Web Token
JSON Web Tokens are an open, industry
standard method for representing claims
securely between two parties.
(RFC 7519)
JSON Web Token
JSON Web Tokens are an open, industry
standard method for representing claims
securely between two parties.
(RFC 7519)
JSON Web Token
The suggested pronunciation of JWT

is the same as the English word "jot".
JSON Web Token
basierend auf anderen JSON-Standards:
JWS (JSON Web Signature)
JWE (JSON Web Encryption)
JSON Web Token
basierend auf anderen JSON-Standards:
JWS (JSON Web Signature)
JWE (JSON Web Encryption)
!!!
Bibliotheken für..
JWT in Action
JWT in Action
Credentials validieren,
Token erzeugen
JWT in Action
Credentials validieren,
Token erzeugen
Token speichern
JWT in Action
Credentials validieren,
Token erzeugen
Token speichern
JWT in Action
Credentials validieren,
Token erzeugen
Token speichern
Token validieren,
Zugriff kontrollieren
JWT in Action
Credentials validieren,
Token erzeugen
Token speichern
Token validieren,
Zugriff kontrollieren
http://app.javaland.de http://api.javaland.de
JWT - inside
jwt.io
JWT - in practice
Demo!
JWT Security Aspekte
immer verschlüsselt Kommunizieren ( HTTPS! )
JWT Security Aspekte
immer verschlüsselt Kommunizieren ( HTTPS! )
URL Token vermeiden

https://yourpage.de/service/action?token=jwt.goes.here
JWT Security Aspekte
immer verschlüsselt Kommunizieren ( HTTPS! )
URL Token vermeiden

https://yourpage.de/service/action?token=jwt.goes.here
Token Handling: Invalidation, Reset
JWT Security Aspekte
JWT Überblick
JWT Überblick
basiert auf JSON
JWT Überblick
basiert auf JSON
einfach zu nutzen, einfach zu implementieren
JWT Überblick
basiert auf JSON
einfach zu nutzen, einfach zu implementieren
symmetrische und asymmetrische Crypto
JWT Überblick
basiert auf JSON
einfach zu nutzen, einfach zu implementieren
symmetrische und asymmetrische Crypto
reduziert Abhängigkeiten
JWT Überblick
basiert auf JSON
einfach zu nutzen, einfach zu implementieren
symmetrische und asymmetrische Crypto
reduziert Abhängigkeiten
Basisprinzip von REST: State transfer
Zusammenfassung
Cookies nicht obsolet, Token bieten jedoch viele Vorteile
Zusammenfassung
Cookies nicht obsolet, Token bieten jedoch viele Vorteile
JWT für Skalierbarkeit und Flexibilität
Zusammenfassung
Cookies nicht obsolet, Token bieten jedoch viele Vorteile
JWT für Skalierbarkeit und Flexibilität
Cross Plattform
Zusammenfassung
Cookies nicht obsolet, Token bieten jedoch viele Vorteile
JWT für Skalierbarkeit und Flexibilität
Cross Plattform
Cookies oder Token? 

Anforderungen und Implikationen abwägen!
Zusammenfassung
Demo Sources und Slides:

https://github.com/madmas/TokenVsCookies

Contenu connexe

Similaire à Token statt Cookies dank JWT (Java Land 2016)

Webinar: Online Security
Webinar: Online SecurityWebinar: Online Security
Webinar: Online Securitykuehlhaus AG
 
D3 000908 Lotusday Hagen Bcc Id Vault
D3 000908 Lotusday Hagen Bcc Id VaultD3 000908 Lotusday Hagen Bcc Id Vault
D3 000908 Lotusday Hagen Bcc Id VaultAndreas Schulte
 
Java EE meets Microservices: MicroProfile 2.x to the Rescue
Java EE meets Microservices: MicroProfile 2.x to the RescueJava EE meets Microservices: MicroProfile 2.x to the Rescue
Java EE meets Microservices: MicroProfile 2.x to the RescueOPEN KNOWLEDGE GmbH
 
REST - Hypermedia und Sicherheit
REST - Hypermedia und SicherheitREST - Hypermedia und Sicherheit
REST - Hypermedia und SicherheitMayflower GmbH
 
OWASP Top 10 : Scanning JSF
OWASP Top 10 : Scanning JSFOWASP Top 10 : Scanning JSF
OWASP Top 10 : Scanning JSFadesso AG
 
Microservices mit dem MicroProfile
Microservices mit dem MicroProfileMicroservices mit dem MicroProfile
Microservices mit dem MicroProfileOPEN KNOWLEDGE GmbH
 
Integration von Security-Checks in die CI-Pipeline
Integration von Security-Checks in die CI-PipelineIntegration von Security-Checks in die CI-Pipeline
Integration von Security-Checks in die CI-PipelineOPEN KNOWLEDGE GmbH
 
Compliance needs transparency
Compliance needs transparencyCompliance needs transparency
Compliance needs transparencyBalaBit
 
Die Zukunft der Webstandards - Webinale 31.05.2010
Die Zukunft der Webstandards - Webinale 31.05.2010Die Zukunft der Webstandards - Webinale 31.05.2010
Die Zukunft der Webstandards - Webinale 31.05.2010Patrick Lauke
 
SharePoint 2013 Security
SharePoint 2013 SecuritySharePoint 2013 Security
SharePoint 2013 Securityfabianmoritz
 
HTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenHTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenMayflower GmbH
 
Day CQ 5.3 WCM - Was ist neu
Day CQ 5.3 WCM - Was ist neuDay CQ 5.3 WCM - Was ist neu
Day CQ 5.3 WCM - Was ist neuCédric Hüsler
 
Continuous Lifecycle 2013: Testgetriebenes Arbeiten im Betrieb
Continuous Lifecycle 2013: Testgetriebenes Arbeiten im BetriebContinuous Lifecycle 2013: Testgetriebenes Arbeiten im Betrieb
Continuous Lifecycle 2013: Testgetriebenes Arbeiten im BetriebAndreas Schmidt
 
HTML5 Offline - Fallstricke für mobile Webseiten und WebApps
HTML5 Offline - Fallstricke für mobile Webseiten und WebAppsHTML5 Offline - Fallstricke für mobile Webseiten und WebApps
HTML5 Offline - Fallstricke für mobile Webseiten und WebAppsUlrich Schmidt
 
Zertifikate für Authetizität, Authentifizierung oder beides?
Zertifikate für Authetizität, Authentifizierung oder beides?Zertifikate für Authetizität, Authentifizierung oder beides?
Zertifikate für Authetizität, Authentifizierung oder beides?team-WIBU
 
Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...
Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...
Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...OPEN KNOWLEDGE GmbH
 

Similaire à Token statt Cookies dank JWT (Java Land 2016) (20)

Webinar: Online Security
Webinar: Online SecurityWebinar: Online Security
Webinar: Online Security
 
D3 000908 Lotusday Hagen Bcc Id Vault
D3 000908 Lotusday Hagen Bcc Id VaultD3 000908 Lotusday Hagen Bcc Id Vault
D3 000908 Lotusday Hagen Bcc Id Vault
 
Java EE meets Microservices: MicroProfile 2.x to the Rescue
Java EE meets Microservices: MicroProfile 2.x to the RescueJava EE meets Microservices: MicroProfile 2.x to the Rescue
Java EE meets Microservices: MicroProfile 2.x to the Rescue
 
Rails goes SOA
Rails goes SOARails goes SOA
Rails goes SOA
 
REST - Hypermedia und Sicherheit
REST - Hypermedia und SicherheitREST - Hypermedia und Sicherheit
REST - Hypermedia und Sicherheit
 
OWASP Top 10 : Scanning JSF
OWASP Top 10 : Scanning JSFOWASP Top 10 : Scanning JSF
OWASP Top 10 : Scanning JSF
 
Microservices mit dem MicroProfile
Microservices mit dem MicroProfileMicroservices mit dem MicroProfile
Microservices mit dem MicroProfile
 
Integration von Security-Checks in die CI-Pipeline
Integration von Security-Checks in die CI-PipelineIntegration von Security-Checks in die CI-Pipeline
Integration von Security-Checks in die CI-Pipeline
 
Compliance needs transparency
Compliance needs transparencyCompliance needs transparency
Compliance needs transparency
 
20110223 activiti
20110223 activiti20110223 activiti
20110223 activiti
 
Die Zukunft der Webstandards - Webinale 31.05.2010
Die Zukunft der Webstandards - Webinale 31.05.2010Die Zukunft der Webstandards - Webinale 31.05.2010
Die Zukunft der Webstandards - Webinale 31.05.2010
 
SharePoint 2013 Security
SharePoint 2013 SecuritySharePoint 2013 Security
SharePoint 2013 Security
 
iOS Network Extensions
iOS Network ExtensionsiOS Network Extensions
iOS Network Extensions
 
HTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenHTML5 und node.js Grundlagen
HTML5 und node.js Grundlagen
 
Day CQ 5.3 WCM - Was ist neu
Day CQ 5.3 WCM - Was ist neuDay CQ 5.3 WCM - Was ist neu
Day CQ 5.3 WCM - Was ist neu
 
Continuous Lifecycle 2013: Testgetriebenes Arbeiten im Betrieb
Continuous Lifecycle 2013: Testgetriebenes Arbeiten im BetriebContinuous Lifecycle 2013: Testgetriebenes Arbeiten im Betrieb
Continuous Lifecycle 2013: Testgetriebenes Arbeiten im Betrieb
 
HTML5 Offline - Fallstricke für mobile Webseiten und WebApps
HTML5 Offline - Fallstricke für mobile Webseiten und WebAppsHTML5 Offline - Fallstricke für mobile Webseiten und WebApps
HTML5 Offline - Fallstricke für mobile Webseiten und WebApps
 
Zertifikate für Authetizität, Authentifizierung oder beides?
Zertifikate für Authetizität, Authentifizierung oder beides?Zertifikate für Authetizität, Authentifizierung oder beides?
Zertifikate für Authetizität, Authentifizierung oder beides?
 
Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...
Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...
Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...
 
Wie gewährleisten Sie die Einhaltung von Sicherheitsanforderungen an Ihre Mes...
Wie gewährleisten Sie die Einhaltung von Sicherheitsanforderungen an Ihre Mes...Wie gewährleisten Sie die Einhaltung von Sicherheitsanforderungen an Ihre Mes...
Wie gewährleisten Sie die Einhaltung von Sicherheitsanforderungen an Ihre Mes...
 

Token statt Cookies dank JWT (Java Land 2016)