OAuth 2.0 Integration Patterns with XACML

4,860 views
4,719 views

Published on

OAuth 2.0 Integration Patterns with XACML

Published in: Technology
0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,860
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
97
Comments
0
Likes
7
Embeds 0
No embeds

No notes for slide

OAuth 2.0 Integration Patterns with XACML

  1. 1. Prabath SiriwardenaSenior Architect & Chair, Integration MC
  2. 2. Third-­‐party  applications  are  required  to  store  the  resource  owners  credentials  for  future  use,  typically  a  password  in  clear-­‐ text.  
  3. 3. Servers  are  required  to  support  password  authentication,   despite  the  security  weaknesses  created  by  passwords.  
  4. 4. Third-­‐party  applications  gain  overly  broad  access  to  the  resource  owners  protected  resources,  leaving  resource  owners   without  any  ability  to  restrict  duration  or  access  to  a  limited   subset  of  resources.  
  5. 5. Resource  owners  cannot  revoke  access  to  an  individual  third-­‐party  without  revoking  access  to  all  third-­‐parties,  and  must  do   so  by  changing  their  password.  
  6. 6. Compromise  of  any  third-­‐party  application  results  in  compromise  of  the  end-­‐users  password  and  all  of  the  data   protected  by  that  password.  
  7. 7. •  Complexity  in  validating  and  generating  signatures.  •  No  clear  separation  between  Resource  Server  and   Authorization  Server.  •  Browser  based  re-­‐redirections.  
  8. 8. •  An  entity  capable  of  granting  access  to  a  protected   resource.    •  When  the  resource  owner  is  a  person,  it  is  referred  to  as   an  end-­‐user.  
  9. 9. •  The  server  hosting  the  protected  resources,  capable  of   accepting  and  responding  to  protected  resource  requests   using  access  tokens.  
  10. 10. •  An  application  making  protected  resource  requests  on   behalf  of  the  resource  owner  and  with  its  authorization  
  11. 11. •  The  server  issuing  access  tokens  to  the  client  after   successfully  authenticating  the  resource  owner  and   obtaining  authorization  
  12. 12. Client  Credentials  Authorization  Code   Resource  Owner  Password  Credentials   Implicit  
  13. 13. Scope  OAuth  Handshake  
  14. 14. Confidential  Client  Type     Web  Application   OAuth  Handshake  
  15. 15. BasicAuth   client_id  /  client_secret   Client  Authenticates  to  AuthZ  Server   OAuth  Handshake  
  16. 16. Scope  OAuth  Handshake  
  17. 17. Public  Client  Type     User  Agent  based  Application   OAuth  Handshake  
  18. 18. Anonymous  Clients  OAuth  Handshake  
  19. 19. Scope  OAuth  Handshake  
  20. 20. Confidential  Client  Type     OAuth  Handshake  
  21. 21. BasicAuth   OAuth  Handshake  
  22. 22. Scope  OAuth  Handshake  
  23. 23. Confidential  Client  Type     OAuth  Handshake  
  24. 24. BasicAuth  OAuth  Handshake  
  25. 25. Runtime  
  26. 26. Bearer   MAC   Runtime  
  27. 27. Bearer   MAC   Bearer  Any  party  in  possession  of  a  bearer  token  (a  "bearer")  can  use   it  to  get  access  to  the  associated  resources  (without   demonstrating  possession  of  a  cryptographic  key).   Runtime  
  28. 28. Bearer   MAC   MAC   HTTP  MAC  access  authentication  scheme   Runtime  
  29. 29. Feed   Clean   Take  out  Medication  
  30. 30. Feed   Clean   Take  out  Medication  
  31. 31. ¡  The  de-­‐facto  standard  for  authorization  ¡  PAP  /  PDP  /  PEP  /  PIP  ¡  XML  based  policies  
  32. 32. PolicyEnforcement Point
  33. 33. OAuth   XACML   Client   Subject  Resource  Owner   Subject   Scope   Action  +  Resource  
  34. 34. Resource     Action   Resource   Owner  Client   Scope  
  35. 35. Only  the  resource  owner  will  be  able  to  access  any  resource   during  weekend  and  after  9  PM  weekdays   Authorization  Rules  
  36. 36. Day  :  Monday  Time  :  4  PM   Scope  =   “Scooby”+”medication”   Client  :  Foo   Resource  :  Bar    
  37. 37. Day  :  Monday  Time  :  4  PM   Scope  =   “Scooby”+”medication”   Client  :  Foo   Resource  :  Bar    
  38. 38. Day  :  Monday  Time  :  10  PM   Scope  =   “Scooby”+”medication”   Client  :  Foo   Resource  :  Bar    
  39. 39. Day  :  Monday  Time  :  10  PM   Scope  =   “Scooby”+”medication”   Resource  Owner  :  Foo   Resource  :  Bar    
  40. 40. Only  the  resource  owner  will  be  able  to  perform  Feed,  Take  Out   action  on  Dog  resource   Authorization  Rules  
  41. 41. Day  :  Monday  Time  :  4  PM   Scope  =  “Scooby”+”feed”   Client  :  Foo   Resource  :  Bar    
  42. 42. Day  :  Monday  Time  :  4  PM   Scope  =  “Scooby”+”feed”   Client  :  Foo   Resource  :  Bar    
  43. 43. Day  :  Monday  Time  :  10  PM   Scope  =  “Scooby”+”feed”   Resource  Owner  :  Foo   Resource  :  Bar    

×