Security Mechanisms

Overall description of the eHealth security mechanism for authentication and authorization

In summary, the eHealth eco system has security based on:

 

 

 

Access to eHealth Infrastructure data and services are governed by the eHealth Infrastructure Authorization Server (AS). The AS is responsible for handing out tokens that are properly signed with the correct level of detail embedded. Without a token, no access is provided. The eHealth Infrastructure is by intent and design not part of any other existing infrastructure such as the NSP. Instead, it integrates to a range of services (among these are services on the NSP).

The eHealth Infrastructure provides an IdP for SSL (Service & Support Logistics - not depicted below) users that are not part of the clinical domain nor the citizen domain. For the clinical and citizen domain, the AS is federated with two services that provide the identity of the users:

NemLogin

The NemLogin service is intended to be used by citizens in order to gain access to data in the eHealth Infrastructure. NemLogin uses NemID in order to provide the services needed as an IdP endpoint.

SEB (danish: Sundhedsvæsenets Elektroniske Brugerstyring)

SEB is a common platform for user administration of the solutions provided by the National Health Data Authority on both the Internet and the secure Sundhedsdatanettet. SEB is based on a platform that takes into account OIO standards in this area. SEB provides a federation with the regional instances and municipal instances. How this federation is constructed is beyond the scope of the eHealth Infrastructure.

In the relation to the eHealth Infrastructure, SEB primarily serves two purposes:

  • Provide a homogenous interface from its federated IdP's towards the eHealth Infrastructure

  • Doing the actual federation between the regional instances and the municipal instances

 



eHealth Infrastructure federation (simplified)

 

Login and security flow

When looking at the eHealth Infrastructure from the outside, the login flow looks like a regular OIDC login flow whereas the internal trust and federation is actually based on SAML. The AS used in the eHealth Infrastructure seamlessly bridges these security protocols - thereby making it easier for clients to the eHealth Infrastructure to gain the needed federated access to the actual services. As depicted in the diagram, the "User application" initiates the login flow with the infrastructure but is actually redirected to federated services. The flow is as follows:

  • The AS supports login using OpenID Connect "code flow" while NemLogin and SEB supports OIO SAML.

  • The AS bridges these security flows by sending back a redirection if no token is provided when interacting with the eHealth Infrastructure (NemLogin and SEB each have their own security realm in the AS meaning that the redirection logic is unambiguously).

  • The sequence of redirects (and SAML AuthRequests/Responses) that takes place between the app and its federated endpoint, before the AS is finally invoked with a SAML AuthResponse, is not of concern to the eHealth Infrastructure (but in the case of SEB, it probably involves redirects from SEB back to the users own IdP and back again). See Login for details.

  • While NemLogin provides details on the identity of the citizen such as name and civil registration number (the authentication part), SEB also provides details on the user in regards to what roles that apply (both authentication and authorization).

  • It is beyond the scope of the eHealth Infrastructure how and when these roles are applied in the federated setup. It is expected that the authorization part is governed by the IdP itself).

  • As no roles are issued from NemLogin, it means that citizens by default can only read data marked as theirs/involving them, with a few exceptions. Users (clinical users) however are provided with roles (from SEB or the IdP) scoped within an organization or a careteam (a careteam, in short, is a set of clinical users that provides services to a citizen. Users in careteams are not restricted to origin from the same region/municipality). Users can be in multiple careteams at the same time.


The OIO SAML part of the flow and the requirements to SAML assertions can be found on the pages Login and Authentication and authorization. These pages should be inspected by administrators of the municipality IdP's and regional IdP's.

The eHealth Infrastructure security model relevant for User application developers can be found on the pages Tokens, Roles and RBAC/ABACSwitching Context and Key Service overview. These pages describes how the tokens are formed and when they should be exchanged for a more narrow and specific token.

Detailed parts of the security documentation can be found at the following pages: