Release Candidates

SR Tekstaanpassingen verantwoordelijkheden op beveiligingsrisico's

Omschrijving Changelog, met daarin:

Op pagina Verantwoordelijkheden staat onjuist vermeld in een toelichting onder core.autorisatie.204 dat beveiligingsrisico’s op refresh-tokens niet van toepassing zijn omdat tijdens de autorisatieflow alleen een access-token gebruikt wordt. Dit is een verouderde tekst: sinds de introductie van langdurige toestemming gebruiken wij uiteraard refresh-tokens en beveiligingsmaatregelen zijn daar al op van kracht. Hoewel een refresh-token niet expliciet deel uitmaakt van de autorisatieflow, is de toelichting hier verouderd en verwarrend.

De toelichting onder het kopje Beveiliging vermeldt om dezelfde verouderde reden ook dat bedreigingen 4.1.2 en 4.1.3 niet van toepassing zijn, terwijl deelnemers die langdurige toestemming implementeren wel refresh-tokens gebruiken en de beveiligingsmaatregelen daarop toepassen. Toelichting aangepast om de werkelijke situatie te verduidelijken.

Verschillende onjuiste linkverwijzingen repareren wij.

Impact op:

  • DVP
  • DVA
  • Geen van beiden

Moeten afbeeldingen/mockups aangepast worden?

  • Ja
  • Nee

Aan te passen versies afsprakenstelsel

v2.5.2, v2.6

Classificatie

  • Patch (Originele tekstwijziging o.v.v. bedreigingen)
  • Minor (Let op: nieuwe wijzigingen per 25-sept.)
  • Major
  • N.v.t i.v.m. Catalogus

Implementatietermijn

geen

Gerelateerde tickets

 AF-847, AF-855, AF-856

Status

  • Beta
  • Release candidate
  • Release


Akkoord bevonden door

  • Product owner Afsprakenstelselteam
  • Architect afsprakenstelselteam
  • Releasemanager

Door te voeren wijzigingen

Wij wijzigen de toelichtingen op de pagina's Verantwoordelijkheden, Core, Token interface en Authorization interface.


Locatie

Oude situatie

Nieuwe situatie

In te voegen links (optioneel)

MedMij Core > Verantwoordelijkheden, Core

core.beveiliging.203

De OAuth Client realiseert de volgende beveiligingsmaatregelen, conform RFC 6819:

beveiligingsmaatregel

paragraaf in RFC 6819

gemitigeerde risico('s)

core.beveiliging.203

De OAuth Client realiseert de volgende beveiligingsmaatregelen, conform RFC 6819:

beveiligingsmaatregel

paragraaf in RFC 6819

gemitigeerde risico('s)

Store secrets in secure storage (Section 5.3.3).

4.1.2, 5.3.3

4.1.2

Refresh token rotation (Section 5.2.2.3).

4.1.2, 5.2.23

4.1.2

Voeg nieuwe regels in op tabel

MedMij Core > Verantwoordelijkheden, Core

core.beveiliging.204

De OAuth Authorization Server realiseert de volgende beveiligingsmaatregelen, conform RFC 6819:

beveiligingsmaatregel

paragraaf in RFC 6819

gemitigeerde risico('s)

core.beveiliging.204

De OAuth Authorization Server realiseert de volgende beveiligingsmaatregelen, conform RFC 6819:

beveiligingsmaatregel

paragraaf in RFC 6819

gemitigeerde risico('s)

Standard web server protection measures (Section 5.3.2).

4.1.2

4.1.2

Authorization servers should not automatically process repeat authorizations unless the client is validated using a pre-registered redirect URI (Section 5.2.3.5).

4.2.3

4.2.3, 5.2.3.5

Voeg nieuwe regels in op tabel

MedMij Core > Verantwoordelijkheden, Core

core.autorisatie.204

Toelichting

Dit is een maatregel tegen de beveiligingsrisico's 4.4.1.1 en 4.4.1.3 uit RFC 6819. Bovendien wordt de hele flow van de functie Verzamelen ononderbroken uitgevoerd. De 900 seconden moeten dan voldoende zijn voor de OAuth Client om het access-token aan de OAuth Authorization Server aan te bieden. Een refresh-token is dan niet nodig.


core.autorisatie.204

Toelichting

Dit is een maatregel tegen de beveiligingsrisico's 4.4.1.1 en 4.4.1.3 uit RFC 6819. Bovendien wordt de hele flow van de functie Verzamelen ononderbroken uitgevoerd. De 900 seconden moeten dan voldoende zijn voor de OAuth Client om het access-token aan de OAuth Authorization Server aan te bieden.



MedMij Core > Verantwoordelijkheden, Core > Beveiliging

Toelichting

Voor het opstellen van bovenstaande verantwoordelijkheden is gebruikgemaakt van RFC 6819 van IETF, dat een uitgebreide inventarisatie van die risico's bevat, inclusief een reeks van maatregelen per risico. Waar het risico van toepassing is op het gebruik van OAuth binnen MedMij, en de maatregelen passen binnen de MedMij-principes, zijn zij opgenomen in het afsprakenstelsel.

Met betrekking tot het gestelde in sectie 3.1 van RFC 6819 kan gesteld worden dat MedMij uitgaat van:


In hoofdstuk 4 van RFC 6819 staat een uitgebreide lijst van beveiligingsrisico's. Niet van toepassing zijn, voor de deze release van het afsprakenstelsel:


Wel van toepassing zijn:

Toelichting

Voor het opstellen van bovenstaande verantwoordelijkheden is gebruikgemaakt van RFC 6819 van IETF, dat een uitgebreide inventarisatie van die risico's bevat, inclusief een reeks van maatregelen per risico. Waar het risico van toepassing is op het gebruik van OAuth binnen MedMij, en de maatregelen passen binnen de MedMij-principes, zijn zij opgenomen in het afsprakenstelsel.

Met betrekking tot het gestelde in sectie 3.1 van RFC 6819 kan gesteld worden dat MedMij uitgaat van:


In hoofdstuk 4 van RFC 6819 staat een uitgebreide lijst van beveiligingsrisico's. Niet van toepassing zijn, voor de deze release van het afsprakenstelsel:


Wel van toepassing zijn:

Merk op dat 4.1.2 en 4.1.3 verschuiven van lijst ‘Niet van toepassing zijn’ naar ‘Wel van toepassing zijn’.

MedMij Core > Verantwoordelijkheden, Core > Tokeninterface

core.tknint.201

refresh_token

Conform verantwoordelijkheid core.autorisatie.211

core.tknint.201

refresh_token

Conform verantwoordelijkheid core.autorisatie.211

De link onder core.autorisatie.211 is onjuist en mag verwijzen naar https://afsprakenstelsel.medmij.nl/asverplicht/mmverplicht/verantwoordelijkheden-core#core.autorisatie.211

MedMij Core > Verantwoordelijkheden, Core > Tokeninterface

core.tknint.205


Toelichting

Dit is een maatregel tegen beveiligingsrisico's 4.4.1.3, 4.4.1.5 en 4.4.1.7 uit RFC 6819 (zie verantwoordelijkheid core.beveiliging.205).

Met het oog op de parameters client_id en redirect_uri in de authorization request en de access token request geldt dat:

  • de client_id in de authorization request overeen moet komen met de hostname van de redirect_uri in diezelfde authorization request (verantwoordelijkheid 1 bij Authorization interface);

  • de redirect_uri in de access token request overeen moet komen met de redirect_uri in de authorization request (deze verantwoordelijkheid).

In de access token request speelt de redirect_uri dan niet de rol van adressering van de response, zoals in de authorization request wel, maar enkel als terugverwijzing naar de redirect_uri van het Authorization interface. Bij de afhandeling van het unnamed link wordt helemaal niet geredirect; die speelt zich geheel op het backchannel af.

core.tknint.205


Toelichting

Dit is een maatregel tegen beveiligingsrisico's 4.4.1.3, 4.4.1.5 en 4.4.1.7 uit RFC 6819 (zie verantwoordelijkheden core.beveiliging.201 en core.beveiliging.204).

Met het oog op de parameters client_id en redirect_uri in de authorization request en de access token request geldt dat:

  • de client_id in de authorization request overeen moet komen met de hostname van de redirect_uri in diezelfde authorization request (verantwoordelijkheid 1 bij Authorization interface);

  • de redirect_uri in de access token request overeen moet komen met de redirect_uri in de authorization request (deze verantwoordelijkheid).

In de access token request speelt de redirect_uri dan niet de rol van adressering van de response, zoals in de authorization request wel, maar enkel als terugverwijzing naar de redirect_uri van het Authorization interface. Bij de afhandeling van het token request wordt helemaal niet geredirect; die speelt zich geheel op het backchannel af.

(Unnamed link verwijderen wij.)

MedMij Core > Verantwoordelijkheden, Core > Authorization interface

7

core.authint.206

Toelichting

Dit is een maatregel tegen beveiligingsrisico's 4.4.1.3, 4.4.1.5 en 4.4.1.7 uit RFC 6819 (zie verantwoordelijkheid core.beveiliging.205). Zie ook verantwoordelijkheid core.tknint.206.

7

core.authint.206

Toelichting

Dit is een maatregel tegen beveiligingsrisico's 4.4.1.3, 4.4.1.5 en 4.4.1.7 uit RFC 6819 (zie verantwoordelijkheden core.beveiliging.201 en core.beveiliging.204). Zie ook verantwoordelijkheid core.tknint.205.

Link mag worden: https://afsprakenstelsel.medmij.nl/asverplicht/mmverplicht/token-interface#core.tknint.205

MedMij Core > Verantwoordelijkheden, Core > Tokeninterface

8

core.tknint.204

De Authorization Server voert een authorization code af, wanneer het eenmaal door een OAuth Client is aangeboden.

Toelichting

Dit is een maatregel tegen beveiligingsrisico 4.1.1 uit RFC 6819 (zie toelichting bij verantwoordelijkheden core.beveiliging.202, core.beveiliging.203, core.beveiliging.204). Het afvoeren van een authorization code houdt in dat de Authorization Server van een eenmaal uitgegeven authorization code bijhoudt of die al eens gebruikt is voor het verkrijgen van een access token. Mocht een authorization code voor een tweede of volgende keer worden aangeboden ter verkrijging van een access token, dan zal de Authorization Server dat weigeren en de flow afbreken. Als de Client aan wie die geweigerd wordt te kwader trouw was, is hiermee een gevaar afgewend. Was hij wel te goeder trouw en handelde hij conform het MedMij Afsprakenstelsel, dan was hij niet degene die al eerder dezelfde authorization code aanbood en blijkt er dus sprake geweest te zijn van een security breach.

8

core.tknint.204

De Authorization Server voert een authorization code af, wanneer het eenmaal door een OAuth Client is aangeboden.

Toelichting

Dit is een maatregel tegen beveiligingsrisico 4.4.1.1 uit RFC 6819 (zie toelichting bij verantwoordelijkheden core.beveiliging.202, core.beveiliging.203, core.beveiliging.204). Het afvoeren van een authorization code houdt in dat de Authorization Server van een eenmaal uitgegeven authorization code bijhoudt of die al eens gebruikt is voor het verkrijgen van een access token. Mocht een authorization code voor een tweede of volgende keer worden aangeboden ter verkrijging van een access token, dan zal de Authorization Server dat weigeren en de flow afbreken. Als de Client aan wie die geweigerd wordt te kwader trouw was, is hiermee een gevaar afgewend. Was hij wel te goeder trouw en handelde hij conform het MedMij Afsprakenstelsel, dan was hij niet degene die al eerder dezelfde authorization code aanbood en blijkt er dus sprake geweest te zijn van een security breach.

Verwijzing naar beveiligingsrisico 4.1.1 nu meer-specifiek naar 4.4.1.1 met de link https://datatracker.ietf.org/doc/html/rfc6819#section-4.4.1.1





 

 

Last updated: