2. Waar gaan we het over hebben
Waarom beveiligen we REST services
HTTP Security
Token based security
3. Wie ben ik
Maurice de Beijer.
The Problem Solver.
Microsoft CSD MVP.
DevelopMentor instructor.
Twitter: @mauricedb of @HTML5SupportNL
Blog: http://msmvps.com/blogs/
theproblemsolver/default.aspx
Web: http://www.HTML5Support.nl
E-mail: mauricedb@computer.org
5. Authorization
Authorization is the function of
specifying access rights to resources
6. Confidentiality
Confidentiality is an ethical principle. In
ethics some types of communication
between a person and one of these
professionals are "privileged" and may
not be discussed or divulged to third
parties.
7. HTTP Security
HTTPS en SSL/TLS
Basic Authentication
Forms Authentication
Integrated Windows Authentication
8. HTTPS en SSL/TLS
Zorgt er alleen voor dat het transport veilig is
Point to Point
Zegt niets over de client of server
Hoe veilig is https://ƤayƤal.com?
9. Basic Authentication
Een van de meest eenvoudige HTTP standaards
Maar wel effectief!
Usernaam en wachtwoord staat in de header van het
request
Base64 encoded => gebruik HTTPS!
GET /private/index.html HTTP/1.1
Host: localhost
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
10. Forms Authentication
Werkt met een Forms Authentication Cookie
Het cookie gaat mee met elk HTTP request
Hou rekening met HTTP Session hijacking
Gebruik HTTPS bij elk request!
Niet alleen bij het inloggen
11. Integrated Windows Authentication
Single Sign On
Werkt net als in een website
Perfect voor gebruik binnen een AD domain
Maar lastig met gebruikers daar buiten
16. Amazon's S3 Authentication
Gebruikt een HMAC
Hash Message Authentication Code
Wordt berekend over het request met een secret key
De server berekent dezelfde HMAC
Zowel voor authentication als message tampering
Gebruik HTTPS voor confidentiality
GET /photos/puppy.jpg HTTP/1.1
Host: johnsmith.s3.amazonaws.com
Date: Mon, 26 Mar 2007 19:37:58 +0000
Authorization: AWS AKIAIOSFODNN7EXAMPLE:frJIUN8DYpKDtOLCwo//yllqDzg=
19. Federated security
Maakt gebruik van Security Token Service (STS)
De STS doet de authenticatie van de gebruiker
De service ziet alleen de tokens van de STS
Kan bv met Windows Azure Access Control Service
Er worden Simple Web Tokens (SWT) gebruikt
Werkt prima samen met Windows Identity
Foundation (WIF)
21. Conclusie
HTTP Security
Eenvoudig en in veel gevallen voldoende
Werkt samen met de beveiliging van een website
Token based security
OAuth is vaak niet nodig bij B2B
Federated security kan met SWT tokens
Bijvoorbeeld via ACS en WIF