22

Ignite Talk: I AM a robot, how do I log in?

  • Upload
    pivotal

  • View
    82

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Ignite Talk: I AM a robot, how do I log in?
Page 2: Ignite Talk: I AM a robot, how do I log in?

Jayson DelanceyI am a robot, how do I login

Page 3: Ignite Talk: I AM a robot, how do I log in?

But I AM a robot _

Page 4: Ignite Talk: I AM a robot, how do I log in?

[email protected]

***********

Welcome!

SIGN IN

Page 5: Ignite Talk: I AM a robot, how do I log in?

UAAUser Account and Authentication Server

Page 6: Ignite Talk: I AM a robot, how do I log in?

SSO

OAuth2

Page 7: Ignite Talk: I AM a robot, how do I log in?
Page 8: Ignite Talk: I AM a robot, how do I log in?
Page 9: Ignite Talk: I AM a robot, how do I log in?

• Headless

• Exposed

• Accessible

• Sensitive data

• Sensitive Hardware

Page 10: Ignite Talk: I AM a robot, how do I log in?

draft-ietf-oauth-jwt-bearer

This specification defines the use of a JSON Web Token (JWT) Bearer Token as a means for requesting an OAuth 2.0 access token as well as for use as a means of client authentication.

Page 11: Ignite Talk: I AM a robot, how do I log in?

eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWUsImV4cCI6MTIzMTIzfQ.cUyTEK1BKsOU5stpPiM5-PGT4nUrKwAHajhmb9Ojim7NbEwgsDAju9vlukBYJOSCFyXbG_N0zlQrO8n7yJ9G2OIOerQNqMTNWcqwtcFha1TJyhv4tb40bLONfcrMIAO1L-oF9f27xwJQODJz4SmyU1nSI1dKeqN5KmyHVUqOLAI

Page 12: Ignite Talk: I AM a robot, how do I log in?

Header{ "alg":"RS256"} Payload{ "iss": <clientID> "sub": <device ID> "aud": <uaa> "exp": <expiration time of this token> "tenant_id": <tenant_id>} SignatureSHA256withRSA( <base64(Header)>.<base64(Payload)>, <private key>)

Page 13: Ignite Talk: I AM a robot, how do I log in?

• Certificate-Signing Request

• Certificate Authority

• Signature

Page 14: Ignite Talk: I AM a robot, how do I log in?

• Device name

• Device serial no.

• Shared secret

1. Add Device

Page 15: Ignite Talk: I AM a robot, how do I log in?

Hardware Security Module (HSM)

Page 16: Ignite Talk: I AM a robot, how do I log in?

2. Enroll Device• MAC address

• Device UUID

• Tenant ID

Page 17: Ignite Talk: I AM a robot, how do I log in?

Streaming Sensor Data

Page 18: Ignite Talk: I AM a robot, how do I log in?

Bearer Token Access Token

Page 19: Ignite Talk: I AM a robot, how do I log in?

401 Unauthorized

Page 20: Ignite Talk: I AM a robot, how do I log in?

UAA

+

JWT

Page 21: Ignite Talk: I AM a robot, how do I log in?

Sense, Plan, Act

Page 22: Ignite Talk: I AM a robot, how do I log in?

Robots are users too.

https://github.com/GESoftware-CF/uaa

jwt_grant_3.4.0 branch