Hjem  >  Maskinporten

European eSeals

Information to European organizations

Maskinporten is an Oauth2 Authorization Server operated by The Norwegian Digitalisation Agency and used by other Norwegian Public Sector agencies to perform access control for machine-to-machine communication towards their APIs. See more about Maskinporten here.

A European organization is termed a consumer of those APIs. In technical terms, the software system operated by the consumer is an Oauth2 client.

The client asks Maskinporten for an access token, and that token is then used in subsequent calls to the API. See details below.

The client must hold a valid certicate for electronic seal issued by an approved Trust Service Provider listed on the EU Trust List. Some APIs may requied this certificate to be qualified (highest security requirements).

Please also note the following:

  • Support for authentication of European eSeals is disabled by default, and must be activated by the owner of the API on a per-API (oauth2 scope) basis.
  • Please consult the documentation from the API owner to find scope values and terms for using this funtionality.
  • You do NOT need to log in to “Samarbeidsportalen” and register a client.
  • You must use a production certificate even for testing (as there are no EU-wide test trust-list)

Informasjon til norske API-tilbydere

Funksjonaliteten gjer det mogeleg for europeiske verksemder å få token frå Maskinporten basert på utanlandske verksemdsertifikat, basert på ein forenkla tillitsmodell.

API-tilbydar må sjølv aktivere støtte for europeiske verksemder for sitt API-scope via Sjølvbetening (kjem ila hauset, ta kontakt med oss inntil vidare.) Ved å aktivere funksjonaliteten aksepterer du også den forenkla tillitsmodellen.

Den forenkla tillitsmodellen er basert på at Maskinporten full-automatisk ut frå EU sin Trust List kan stole på godkjende utstedarar (TSP) av europeiske verksemdsertifikat (segl) ihht eIDAS. Vidare føreset me at sjølve sertifikata føl dei definerte sertifikatprofilane ihht ETSI, dvs. me føreset at alle sertifikat er like, uavhengig av kven som har utstedt dei. Det er pt. 156 godkjende TSPar i EU, og me har ikkje mogelegheit til å lage custom-tilpassingar for kvar einskild av dei.

For å forenkle onboardingsbyrden for den utanlandske verksemda, så treng dei ikkje logge inn i Samarbeidsportalen for å lage ein klient-registrering. Samstundes tyder dette at europeiske verksemder ikkje har same mogelegheit som norske til å utføre “orden i eige hus” ved å dataminimere tilgang til enkeltsystemer. Alle gyldige verksemdsertifikat utstedt til den aktuelle europeiske verksemda vil kunne få token til ditt scope. Det betyr også at dei utanlandske verksemdene ikkje har godteke noko bruksvilkår med eller har noko “kundeforhold” til Digdir, slik at du lyt sjølv ta deg av all dialog med den utanlandske verksemda, og evt. vurdere behov for eigne, bilaterale avtaler med dei.

Det er heller ingen sentral tilgangstyring i Maskinporten for dei utanlandske verksemdene, som betyr at alle europeiske verksemder i prinsippet kan få token til ditt API. Dette sidan me trur det vil vere stor variasjon i ulike koding av organisasjonsidentifikator mellom land og sertifikatutstedarar, og det vil vere vanskeleg for deg som API-tilbydar å kjenne rett formattering på førehand, og det er då betre å ha lokal block-liste i APIet.

Maskinporten gjer ikkje noko omsetjing eller tilpassing av organisasjonsidentifikatoren, og vidareformidler berre denne “rått” slik den er registrert i sertifikatet. Me inkluderer også eventuelle namn på verksemda og evt. undereining som me finn i Subject-feltet.

Europeiske verksemdsertifikat kan - som i Norge - utstedast på ulike sikkerheitsnivå. P.t. er me usikre på kor lett det er å skilje desse i valideringa.

Request

The client creates a JWT grant, signs it with the eSeal, and POSTs it to the /token endpoint in Maskinporten.

  • The iss claim must be present, but the value is ignored. We recommend to put the name of the organization and/or system here
  • Note that x5c must be an array containing the full certificate chain, not just the eseal alone. See Maskinporten’s own signing key x5c-claim for an example.

Response

An access token for a European organization is similar to a regular Maskinporten token, with the following exceptions:

The formatting of the consumer identity is different:

  • The Authority claim is set to etsi_en_119_612
  • The ID claim contains the identity. It is copied verbatim from the organizationIdentifer attribute from the Subject of the certificate.
  • Optional fields from the certificate Subject is included (using the X.509 naming. TODO list them)

The client_amr is set to CForeSeals or QRForeSeals

Example:

TODO