240 likes | 703 Views
eIDAS -enabled Student Mobility. ESMO Gateway: a Technical Approach. Features and Technical Achievements. www.ESMO-project.eu. Francisco José Aragó Monzonís , UJI. ESMO Workshop (Trondheim, June 3 rd 2019).
E N D
eIDAS-enabled Student Mobility ESMO Gateway: a Technical Approach Features and Technical Achievements www.ESMO-project.eu Francisco José AragóMonzonís, UJI ESMO Workshop (Trondheim, June 3rd 2019) GRANT AGREEMENT UNDER THE CONNECTING EUROPE FACILITY (CEF) - TELECOMMUNICATIONS SECTOR AGREEMENT No INEA/CEF/ICT/A2017/1451951
Contents Objectives Design principles Gateway Features Functional Design Technical Design Communication Security Communication Protocols
Objectives • Develop a federation proxy tool • Support exchange of sector specific attributes. • Interoperable with eIDAS • Interoperable with EduGAIN • Allows delegation of trust • Allows delegation of entity management • Provide attribute aggregation capacity • With Multi-protocol support both for SPs, IDPs and APs • With protocol translation capabilities
Design principles • Maximise reusable parts • Abstraction • Flexibility (allow multiple topologies) • Modularity and extendability • Easy to add new functional modules • Alter behaviour via configuration as much as possible. • Scalability • Adapt to demand and offer high availability
Design approach • Modular design • Microservices architecture • Allows for more independent module development. • Allows multiple technologies to be used • Facilitates hot-plugging of new modules or replicated instances • Use common development technologies • Reuse existing solutions • Concentrate state and configuration on central elements
Gateway Features • Accepts requests for eIDAS authenticationin: • SAML2Int, SAML2eIDAS, OIDC • Requests can include additional academic attributes to be retrieved from HEI APs. • EduPerson, SCHAC, eIDAS • For protocols not supporting attributes on request, they can be specified in metadata • Iterative collection from an unbound number of APs on a single flow • Proxy for the relying parties, managing the complexity and the trust of the data collection. • Proxy for the data sources, acting as a single point of entry and trust manager for the requests to be handled by the data sources.
Gateway Features • Does not store user information, user centred application flow. Which facilitates GDPR compliance. • Hot-plugging of new modules or additional instances to cover demand or high availability • Easy deployment (Docker composer) • Deploy just the functional modules you need • Simple, centralised configuration • State is centred in a single microservice • Integration with EduGAIN (through RedIRIS)
Functional Modules • SP Connector: Inbound request from SPs • IdP Connector: Outboud auth requests to an IdP • AP Connector: Outbound attribute requests to an AP • GW Connector: Inbound attribute requests from another GW (contain trusted data) • Session Manager: Store session data and issue security tokens • ACM: Cental module. Top-level business logic. Relays on the other functional modules. • Discovery module: Allows discovery of Aps/IdPs, with UI or transparent.
Functional Modules • Attribute processing module: Transform the attribute set being processed • Trust Connector: Publish trust info or negotiate trust with other entities. Publish internally trusted entity info through the Metadata Interface • Configuration Manager: Handle local configuration or trust info Metadata interface. Publish internally trusted entity info through the Metadata Interface. • Data Requirements: • Entity Metadata Object: Represents generically the required information from the Aps/SPs/IdPs/GWs • Attribute List Object: Represents generically requests and responses
Technical Design: Core Micro-Services • Session Manager micro-service: Keep session data, issue and validate tokens. • Config Manager micro-service: Keeps centralised configuration, both internal and the external entities metadata. Has an internal module to interact with the EWP registry. • ACM micro-service: Main business logic. Will also implement local configuration, discovery and attribute transformation modules.
Technical Design:Protocol Specific Micro-Services • SAML micro-service: All SAML2 protocol related modules (SP, AP and IdP), for SAML2Int and SAML2-eIDAS, based on Simple SAML PHP. • SAML IDP micro-service: based on keycloack application. • OIDC/OAUTH2 SP, IdP and AP micro-services: Handlers of the OIDC requests for the three cases, separated implementations. • GW2GW micro-service: The custom protocol for Gateways, the client and the server parts (through a GW and an AP modules).
Supported Attribute Profile • eduPersonUniqueId • eduPersonAffiliation • eduPersonPrimaryAffiliation • mail • schacExpiryDate • mobile • eduOrgPostalAddress • eduOrgCn • schacHomeOrganization • eduPersonOrgUnitDN • eduOrgLegalName • eduOrgL • o • eduOrgHomePageURI • eduPersonprincipalName • eduPersonPrincipalNamePrior • displayName • givenName • sn • schacDateOfBirth • Attribute set supported: • Based on EduPerson, SCHAC to promote the de-facto standards in the sector.
Communication Security • Two levels: • Internal: between micro-services inside the GW • External: between the GW and entities (SPs,Aps, IdPs, GWs) • External: • Accept only signed requests. • Accept only signed and encrypted responses. • Trust on entities established trough deferred channel or through a trusted third party. • Lists of SPs/GWs allowed to request • Lists of Aps/IdPs/GWs whose responses will be accepted
Communication Security • Internal: • Micro-services (ms) potentially accessible by unauthorised requestors. • Normal application flow can be bypassed maliciously. • Personal data theft concerns. • 2 kind of interfaces for microservices: • Bach-channel: Direct ms to ms communication. No UI. • Front-channel: Allows UI. Redirection through user-agent communication.
Communication Security • Internal: • Back-channel security: • SSL to authenticate the server and secure the channel • HTTP-Signature to authenticate the client (and requestor) • Front-channel security: • SSL to authenticate the server and secure the channel • Signed tokens to authenticate the requestor (not the client). • Sensible data on front-channel interactions to be passed over the Session Manager for additional security. • All connections to the SM are back-channel.
Communication protocols • Micro-service communication: • With the Session Manager: all back-channel connections (no UI) • UI-supporting microservices: • Pass a signed JWT token along the redirection. • The token is generated and validated by the Session Manager • The caller ms will request it to the SM through back-channel. • The invoked ms will send it to the SM for validation through back-channel. • Will inlude validity, caller ID and icalled ID for ms access control.
Communication protocols • Accepted from SPs: • SAML2Int, SAML2eIDAS, OIDC • To query IdPs or APs: • SAML2Int, SAML2eIDAS, OIDC, OAUTH • Gateway to Gateway: • Front-channel. Custom approach: • HTTP-POST (through SSL) redirection (most common SAML2 binding) • JWT token passed (instead of SAML2 XML token) • Tokens will be signed (JWS) and encrypted (JWE) to additionally secure the data and to authenticate the requestor (not the client). • JWE with the actual JSON data as the payload of a JWS.
Conclusions • Developed components to support the requirements on the agreement. • Achieved all technical design goals • Design is more ambitious than originally planned • The choice of design principles proved to be the fittest to reach beyond the initial goals • Big development overhead that was covered with additional resource allocation • Provides some new features that will be more appealing for adopters • Hot-plug scalability • Flexible and less effort for high-availability deployment • Simpler and platform independent deployment
Conclusions • ESMO Gateway can be a flexible and competitive tool for many scenarios • This will increase as it gets improvements through modules deployment and experience gathered through usage • Architecture and communications security model can be reused and improved for other situation and or initiatives (SEAL)
Thank you for your attention Francisco José AragóMonzonís farago@uji.es GRANT AGREEMENT UNDER THE CONNECTING EUROPE FACILITY (CEF) - TELECOMMUNICATIONS SECTOR AGREEMENT No INEA/CEF/ICT/A2017/1451951 www.ESMO-project.eu