Overview
Syllabus
Intro
Who am I?
Don't roll your own crypto!
What's single sign-on?
What's custom single sign-on?
I found this emergency fix
The Freshdesk Flaw
The Custom Single Sign-on Survey
Basic Stats
No HMAC: Length Extension Attacks
No HMAC: Preimage Attacks
HMAC: Explained
What percent actually used an HMAC?
Uses Obsolete Crypto Primitives
What percent used a best practice cipher? Best Practice Cipher
Short Keys
Java getBytes
Let's do the math
What percent made that silly error?
Replay Attacks
What percent kept their hash the same each time?
Static Initialization Vector
What percent used a static IV?
One implementation wrote their own cipher!
What went wrong?
Implications for the application
Should you roll your own crypto?
Overall Results
Vendor Response
Custom SSO: The Right Way
Dumb ideas for your crypto
Why did these companies make these mistakes?
Cryptography is different
Cryptography is awesome!
Resources for learning cryptography