...
Vertrouwen gedelegeerd & centraal
Een koppeltaal Koppeltaal domein bestaat uit een aantal applicatie-instanties die ieder in hun eigen rol met elkaar samenwerken om de Use Cases (TODO: link) van Koppeltaal te realiseren. In deze samenwerking, die als kern gegevensuitwisseling kent, is onderling vertrouwen essentieel. In koppeltaal Koppeltaal wordt voor een gedelegeerd vertrouwensmodel gekozen. Binnen het domein is er één enkele autoriteit die bepaald bepaalt wat een applicatie mag en kan, en vertrouwen de applicaties die in het domein toetreden deze autoriteit. Hiermee wordt het vertrouwen gedelegeerd en centraal in het domein belegd.
...
Een applicatie binnen een domein maakt zichzelf kenbaar door een identiteit. Deze identiteit kent een cryptografische manifestatie die gefundeerd is in cryptografisch bewijs. In koppeltaal Koppeltaal wordt gewerkt met publieke en private sleutelparen. De houder van een private sleutel publiceert de publieke sleutel als verificatiemiddel. Door een verzameling gegevens te ondertekenen met de private sleutel kan de ontvanger met de publieke sleutel onomstotelijk bewijzen dat de ondertekenaar de eigenaar van de private sleutel is. Om die reden gaan we ervan uit dat het sleutelpaar, de combinatie van publieke en private sleutel de identiteit van de applicatie-instantie is.
Geheimhouding en vertrouwen
...
Private sleutels beschermd moeten worden, ze mogen op geen enkele wijze gedeeld worden. Het is dus niet de bedoeling dat iets of iemand de hand kan leggen op de private sleutels van een actor in het koppeltaal Koppeltaal domein.
Publieke sleutels op een betrouwbare manier worden uitgewisseld, zodat niets of niemand de publicatie van de actor kan overnemen. Het overnemen van deze publicatie, dus als het iemand lukt andere publieke sleutels te publiceren dan die van de eigenaar, maakt het mogelijk een actor te impersoneren, hetgeen zeer onwenselijk is.
...
De uitwisseling van de sleutels is de kern van het vertrouwensmodel. In koppeltaal Koppeltaal wordt dat geregeld via JWKS URLs. Per applicatie-instantie binnen het domein wordt een URL gepubliceerd waar een lijst van actieve sleutels in wordt bijgehouden. Een sleutelpaar kan in gebruik worden genomen door een publieke sleutel aan de lijst van publieke sleutels aan het JWKS endpoint toe te voegen, een sleutelpaar kan per direct worden uitgefaseerd door deze van deze lijst te verwijderen.
...
Overzicht van het vertrouwensmodel
Het vertrouwensmodel van koppeltaal Koppeltaal bestaat uit de volgende logische onderdelen.
...
Als vervolgstappen in de richting van gestandaardiseerd vertrouwensmodel zien we de volgende bewegingen van koppeltaal Koppeltaal op de korte to middellange termijn:
...
De keuzes die gemaakt zijn bij de ontwikkeling van het koppeltaal Koppeltaal standaard is zoveel mogelijk voorgesorteerd en geanticipeerd op de ondersteuning van DIDs en VCs. Zo bevat de access_token van de autorisatie service voor de FHIR resource service de toegangsrestricties in een Domain Specific Language (DSL), om zo de introductie van VCs niet in de weg te zitten.
...