openid security
DESCRIPTION
TRANSCRIPT
![Page 1: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/1.jpg)
Single Sign-On for the Internet:A Security Story
BlackHat USA, Las Vegas 2007
![Page 2: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/2.jpg)
The Good, The Bad, The Ugly
![Page 3: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/3.jpg)
The Ugly
![Page 4: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/4.jpg)
How do you manage your 169 Web 2.0 accounts today?
![Page 5: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/5.jpg)
Does your “SSO” consist of
A login(e.g. johndoe)
+
2 passwords(one insecure for web 2.0 sites and one secure for banking sites)
?
![Page 6: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/6.jpg)
Attack #1
a. Fail a user’s login
b. Observe the user try every single combination of their username and
password, including the secure password..
![Page 7: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/7.jpg)
BlackHat Advice #1
Change your bank password
(we man-in-the-middle’d your secure “SSO” last night)
![Page 8: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/8.jpg)
Observation #1
Complexitybreeds
insecurity
![Page 9: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/9.jpg)
One login to rule them all…
…a story about reducing complexity
![Page 10: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/10.jpg)
Proves that a user owns a URL
You get to choose who manages your identitye.g. http://john.doe.name/ or http://john.myopenid.com/
![Page 11: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/11.jpg)
Answers the who? question (authentication)
are you john.doe.name?
Does NOT answer the what? (authorization)
is john.doe.name allowed to access this page?
![Page 12: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/12.jpg)
• History
• Specifications
• Industry Support
![Page 13: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/13.jpg)
How?
(demo)
![Page 14: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/14.jpg)
How?
(man-in-the-middle secure demo)
![Page 15: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/15.jpg)
![Page 16: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/16.jpg)
![Page 17: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/17.jpg)
![Page 18: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/18.jpg)
![Page 19: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/19.jpg)
That was easy!
![Page 20: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/20.jpg)
Oh. Never mind.
![Page 21: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/21.jpg)
The Bad
![Page 22: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/22.jpg)
Let’s start at the beginning
![Page 23: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/23.jpg)
![Page 24: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/24.jpg)
Attack #2 – Which one are you?
http://nsa.gov:1/, http://nsa.gov:2/, …
https://192.168.1.15/internal/auth?ip=1.1.1.1
http://localhost:8080/
http://www.youtube.com/largemovie.flv
http://www.tarpit.com/cgi-bin/hang.pl
file:///dev/null
![Page 25: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/25.jpg)
Observation #2
Flexibility and securitydo not get along
(or, why it’s important to be less flexible and more paranoid)
![Page 26: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/26.jpg)
Everybody loves crypto
“associate mode”
![Page 27: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/27.jpg)
Why is crypto required?
to protect request & response URLs
![Page 28: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/28.jpg)
Shared symmetric key is generated using Diffie-Hellman
![Page 29: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/29.jpg)
Attack #3 - Diffie-Hellman is vulnerable to man-in-the-middle attacks!
So what’s the point of using DH in the first place?
The spec suggests running DH over https to improve protocol security
![Page 30: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/30.jpg)
Observation #3
Home brewedcrypto is a no no
(or, why you shouldstick to https)
![Page 31: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/31.jpg)
Where are you going?
![Page 32: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/32.jpg)
This way! No, that way!
Location: http://www.myopenid.com/server? openid.assoc_handle=%7BHMAC-SHA1%7D%7B4..& openid.identity=http://eugene.tsyrklevich.name/& openid.mode=checkid_setup&openid.return_to=http://www.jyte.com/finish& openid.trust_root=http://www.jyte.com/
![Page 33: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/33.jpg)
Attack #4aPhishing with malicious RPs
![Page 34: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/34.jpg)
Attack #4bPhishing with malicious URL hosts
![Page 35: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/35.jpg)
Change your bank password
BlackHat Advice #2
(we phish’ed your first attempt)
![Page 36: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/36.jpg)
Observation #4
Phishers 1 – OpenID 0
(or, why Johnny will never learn to read URLs)
![Page 37: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/37.jpg)
Let me in!
![Page 38: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/38.jpg)
Once signed in, you will no longer need to re-enter your password for other
OpenID enabled sites
Convenient, eh?
![Page 39: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/39.jpg)
In other words…
your identity provider receives and processes ALL your login requests
on your behalf
…privacy, anyone?
![Page 40: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/40.jpg)
Observation #5
OpenID makesprivacy difficult
(or, why some paranoid users might want to useone OpenID login per site)
![Page 41: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/41.jpg)
Not another redirect!
![Page 42: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/42.jpg)
Location: http://www.BADsite.com/finish_auth.php? openid.assoc_handle=%7BHMAC-HA1%7D
%7B47bb..& openid.identity=http://eugene.tsyrklevich.name/&openid.mode=id_res&openid.return_to=http://www.jyte.com/&openid.sig=vbUyND6n39Ss8IkpKl19RT83O%2F4%3D&openid.signed=mode%2Cidentity%2Creturn_to&
Attack #6a – Phishing (again!)
![Page 43: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/43.jpg)
Location: http://www.somesite.com/finish_auth.php? openid.assoc_handle=%7BHMAC-SHA1%7D
%7B47b..& openid.identity=http://eugene.tsyrklevich.name/&openid.mode=id_res&openid.return_to=http://www.jyte.com/&openid.sig=vbUyND6n39Ss8IkpKl19RT83O%2F4%3D&openid.signed=mode%2Cidentity%2Creturn_to&
Attack #6b – Replay attack
nonce=wVso75KH
![Page 44: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/44.jpg)
Problems with Nonces
a. Not part of the OpenID spec (v1)
b. Do not actually protect against active attackers!
![Page 45: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/45.jpg)
Observation #6
Nonces are nonsense
(or, why you must be drinking absolut kool-aid if you believe nonces will protect you against an active attacker)
![Page 46: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/46.jpg)
I am secure once I am logged in though, right?
![Page 47: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/47.jpg)
Attack #7Cross-site request forgery
<html><body>
<iframe id="login" src="http://bank.com/login?openid_url=john.doe.name" width="0" height="0"></iframe>
<iframe id=“transfer" src="http://bank.com/transfer_money?amount=100&to=attacker" width="0" height="0"></iframe>
</body></html>
![Page 48: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/48.jpg)
Observation #7
OpenID robs you of control
(or IdP, not RP, makes the security decisions)
![Page 49: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/49.jpg)
Change your bank password
BlackHat Advice #3
Actually don’t bother…...all your OpenID are belong to us.
![Page 50: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/50.jpg)
The Good
![Page 51: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/51.jpg)
Is it really all that bad?!
No!
OpenID can make your logins far more secure than they are today!
![Page 52: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/52.jpg)
How?!
Only one service to secure so we can afford to use
• Client-side certificates
• SecurID
• Smartcards
![Page 53: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/53.jpg)
![Page 54: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/54.jpg)
Observation #8
There is only 1 front
door with OpenID
(or, how I got over my privacy
and learnt to love OpenID)
![Page 55: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/55.jpg)
Lessons Learnt
1. Complexity breeds insecurity
2. Flexibility and security do not get along
3. Home brewed crypto is a no no
4. Phishers 1 – OpenID 0
5. OpenID makes privacy difficult
6. Nonces are nonsense
7. OpenID robs you of control
8. There is only 1 front door with OpenID
![Page 56: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/56.jpg)
Is OpenID doomed?
Absolutely not
It’s a great system
solving a very real problem
But its security andprivacy concerns
need further thought
![Page 57: OpenID Security](https://reader035.vdocument.in/reader035/viewer/2022081413/547e2071b379593f2b8b544d/html5/thumbnails/57.jpg)
Thanks!
Try it today.
http://www.openid.net/
http://www.freeyourid.com/