33
June 3-5, 2014 | Berlin, Germany

AtlasCamp 2014: Connect Security

Embed Size (px)

DESCRIPTION

To make add-ons in Atlassian OnDemand successful with Atlassian Connect, they have to be secure. Learn what security features Connect provides and why. This session will include: • Fun security brain teasers! • Tips on avoiding common pitfalls when Connect add-ons • A sneak peak at future security features we will introduce for Connect

Citation preview

Page 1: AtlasCamp 2014: Connect Security

June 3-5, 2014 | Berlin, Germany

Page 2: AtlasCamp 2014: Connect Security

Peter Brownlow, Senior Java Developer, Atlassian

Connect Security

Page 3: AtlasCamp 2014: Connect Security

Connect add-ons

3.500installs from Marketplace

Page 4: AtlasCamp 2014: Connect Security

in-process plugins

1.500.000installs from Marketplace

Page 5: AtlasCamp 2014: Connect Security

grow 500xtension between security & usability

overtake in-process plugins

Page 6: AtlasCamp 2014: Connect Security

Don’t #@!% the customer.

- Atlassian value

Page 7: AtlasCamp 2014: Connect Security

Questions

Sneak Peeks

Authorization

Authentication

Connect Security

Page 8: AtlasCamp 2014: Connect Security

Authentication

who said that?”“

Page 9: AtlasCamp 2014: Connect Security
Page 10: AtlasCamp 2014: Connect Security

Who sent the letter?

sender

signature

Page 11: AtlasCamp 2014: Connect Security

Was the letter tampered with?!!!

tampering “looks wrong”

Page 12: AtlasCamp 2014: Connect Security

Was the letter re-sent?

too long ago?

postmark

Page 13: AtlasCamp 2014: Connect Security

JSON Web Tokens

host product add-on

params, token

params, token

e.g. https://mycompany.com/awsome?user.key=peter&jwt=…

also “Authorization” HTTP header

Page 14: AtlasCamp 2014: Connect Security

JSON Web Tokens

• structured • header JSON • claims JSON • signature

• base-64 encoded

{“typ":"JWT", “alg":"HS256"}

.{“iss”:"myId", “exp":1300819380}

.“signature”

eyJ0eXAiOi12KL98udNfg8z…

Page 15: AtlasCamp 2014: Connect Security

JSON Web Tokens

Letter !• sender • signature • changes “look wrong” • postmark date

JWT !

• issuer claim • cryptographic signature • signature, query hash claim • expiry claim

Page 16: AtlasCamp 2014: Connect Security

Questions

Sneak Peeks

Authorization

Authentication

Connect Security

Page 17: AtlasCamp 2014: Connect Security

Authorization

can you do that?”“

Page 18: AtlasCamp 2014: Connect Security
Page 19: AtlasCamp 2014: Connect Security

Authorization

Scopes: compare to white-list

Who can see the aliens?

generals interns

Page 20: AtlasCamp 2014: Connect Security

Authorization

Page 21: AtlasCamp 2014: Connect Security

Authorization“How did that guy get in here?”

How to avoid “security surprise”?

Scopes displayed on installation

!!!

Page 22: AtlasCamp 2014: Connect Security

Authorization

Page 23: AtlasCamp 2014: Connect Security

Authorization

Personal access changes arbitrarily.

Add-on user permissions

How to accurately allow access?

Page 24: AtlasCamp 2014: Connect Security

Authorization

Page 25: AtlasCamp 2014: Connect Security

Authorization

Page 26: AtlasCamp 2014: Connect Security

Questions

Sneak Peeks

Authorization

Authentication

Connect Security

Page 27: AtlasCamp 2014: Connect Security

Sneak Peeks

ideas in motion ”“

Page 28: AtlasCamp 2014: Connect Security

• Headers hash

• Body hash

More Custom JWT Claims?

Page 29: AtlasCamp 2014: Connect Security

• User loads page

• Goes to lunch

• Comes back, clicks link…

• Expired!

• Secure! But less usable.

JWT expiry improvements

• On click: no expiry • JavaScript API?

Page 30: AtlasCamp 2014: Connect Security

• Act as a specified user

• Authorized by users

• Server to server

• 3LA Granted?

• Query parameters

• REST resource

Three Legged Auth

Page 31: AtlasCamp 2014: Connect Security

Recap

• Authentication

• Who said that?

• JWT claims

• JWT signature

• Authorization

• Can you do that?

• Scopes (static)

• User permissions (dynamic)

Page 32: AtlasCamp 2014: Connect Security

Questions

Sneak Peeks

Authorization

Authentication

Connect Security

Page 33: AtlasCamp 2014: Connect Security

Questions?

go.atlassian.com/ac-security