Enhancing Science with OIDC-Agent: A Revolutionary Approach

oidc agent n.w
1 / 14
Embed
Share

Discover how the INDIGO AAI and OIDC services are advancing scientific research through the OIDC-Agent. Learn about token-based AAI, IAM services, and OIDC refreshers, all supporting better data access and security for research projects. Find out how the OIDC-Refresher works, the benefits of OpenID-Connect, and the implementation of OIDC in various scientific use cases.

  • Science
  • OIDC
  • Research
  • Data Access
  • Security

Uploaded on | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.

E N D

Presentation Transcript


  1. OIDC-Agent Better Software for Better Science. Gabriel Zachmann, Bas Wegh, Marcus Hardt KIT RIA-653549 hardt@kit.edu DI4R Brussels, 11/2017

  2. Outline Background: The INDIGO AAI Background: INDIGO OIDC services Background: OIDC-Refresher Foreground: OIDC-Agent 2 INDIGO-DataCloud Final Review

  3. The INDIGO AAI* First one to suggest token based AAI Based on many use cases from the project: CMS, Climate/Ophidia, TRUFA, CTA, Molecular Dynamics, Algae Bloom, Arts & Humanities, ... 1. Design from scratch Green grass approach Requirements from 13 use-cases 2. Map our architecture to existing technologies and approaches OpenID Connect (OIDC) AARC Blueprint Architecture *Work done by: Andrea Ceccanti, Marcus Hardt, Paul Millar, Bas Wegh 3 OIDC-Agent INDIGO-DataCloud Final Review

  4. 4 [talk title]

  5. 5 [talk title] INDIGO-DataCloud Final Review

  6. INDIGO IAM The Identity and Access Management (IAM) service Authenticates users with supported mechanisms (SAML, X.509, Google, username/password, ) Provides a persistent id for the user and other attributes (e.g., group membership) to relying applications via standard OpenID Connect interfaces Provides the ability to link X.509 certificates, SAML and OpenID Connect accounts to the IAM account Provides group membership management and registration service for the managed organization Can be configured to support automatic organization enrollment for users authenticated by selectedSAML identity providers Provides SCIM standard provisioning endpoints to expose organization membership information 6

  7. INDIGO Services that support OIDC WaTTS: Token Translation Service (generates X.509 certificate) DataLifeCycle services to query qualities of storage systems: CDMI-QoS CDMI-Web dCache WebDav OpenStack Keystone: INDIGO extensions allow OIDC authentication Prototype working with Human Brain AAI 7 [talk title] INDIGO-DataCloud Final Review

  8. OpenID-Connect OIDC refresher OIDC defines many tokens; We only use these: AccessToken: Standard Token to authenticate to OIDC services Short-lived (typically 15min) RefreshToken: Guess what? Long lived (upon revocation) May only be used to obtain new AccessToken(s) Is bound to a specific client OIDC clients have to be registered with the OIDC provider I.e. your twitter app is registered with the google OIDC-P OIDC supports several flows for authentication Oauth2 Code flow (standard web flow) Password flow (default cmdline flow 8 [talk title] INDIGO-DataCloud Final Review

  9. OIDC-Agent: Whats in the package? Motivation: CMDline + API access require non-web authentication Guiding Pattern: ssh-agent oidc-agent Daemon that handles OIDC tokens and communitcation oidc-gen Tool to register the client with an OIDC provider Use password grant flow and autoconfiguration to dynamically register the client Store encrypted OIDC data (RefreshToken, ClientID, ClientSecret) oidc-add Tool to decrypt / load / remove account info and pass to agent oidc-token Tool to obtain AccessToken 9 [talk title] INDIGO-DataCloud Final Review

  10. OIDC-Agent Architecture 10 [talk title] INDIGO-DataCloud Final Review

  11. Quick usage After reboot: eval `oidc-agent` Once in a lifetime: oidc-gen <name> For now: ask OIDC-P admin to enable refresh tokens for the password flow oidc-gen f <file> <name> Use password flow to get RefreshToken Each time you need a new token: oidc-token <name> DEMO :wq 11 [talk title] INDIGO-DataCloud Final Review

  12. Security features Privilege separation: oidc-add and oidc-gen Only access to local disk and oidc-agent (via IPC), no network required oidc-agent The only component with network access, disk access only required for ca-bundle oidc-token Only IPC communication Decrypted credentials only in RAM All disk-stored credential are crypted using libsodium Use own free() method to wipe memory when deallocating 12 [talk title] INDIGO-DataCloud Final Review

  13. Future work Password grant type and dynamic registration are incompatible for security reasons Right now this requires the user to communicate with OIDC-P admin after registration Will be fixed by implementation of a local webserver (oauth2 code flow) Then also google will work (they don t support password flow at all) IAM about to support the device-code-flow (draft RFC) Implement privilege separation 13 [talk title] INDIGO-DataCloud Final Review

  14. Questions? https://github.com/indigo-dc/oidc-agent https://indigo-dc.gitbooks.io/oidc-agent 14 [talk title] INDIGO-DataCloud Final Review

More Related Content