Prototyp Interoperable Servicekonten

&
&
Prototyp Interoperable Servicekonten
Beschreibung der Schnittstellen V 0.2
vom 05.10.2016
Projektbezeichnung
Prototyp Interoperable Servicekonten
Dokumentname
Beschreibung der Schnittstellen
Projektleiter
Herr Kirschenbauer (StMFLH)
Version
0.2
Erstellt am
05.10.2016
Zuletzt geändert
Anton Kronseder, 05.10.2016
Bearbeitungszustand
In Bearbeitung
Dokumentablage
https://www.interoperable-servicekonten.de/p/x/gABr
Prototyp Interoperable Servicekonten
Beschreibung der Schnittstellen V 0.2 vom 05.10.2016
2
Änderungsverzeichnis
Nr.
1
Datum
01.09.2016
V
Kapitel
0.1 Alle
Beschreibung
Initiale Erstellung
Autor
Anton Kronseder, Nicht
Robert Reiner
2
5.10.2016
0.2 Alle
Zustand
veröffentlicht
Klarstellung zur Attributübertragung Anton Kronseder, In Bearbeitung
Robert Reiner
Prototyp Interoperable Servicekonten
Beschreibung der Schnittstellen V 0.2 vom 05.10.2016
3
Neben den Metadaten zu den SAML-Entities müssen weitere Randbedingungen für die
Kommunikation festgelegt werden.
Die in diesem Dokument beinhalteten Spezifikationen und Definitionen stellen eine
Diskussionsgrundlage für die Teilnehmer am fachlichen Prototypen und dem BSI dar.
Der Hinweis, dass jede Aussage oder Forderung ungeachtet der Formulierung stets nur ein
Vorschlag ist erfolgt aus Gründen der Lesbarkeit nur jeweils zu Beginn eines Tour-Dokuments.
In Teilen der Dokumentation, beispielsweise welche Attribute in der Föderation übermittelt
werden und wie diese aufgebaut sein sollen, werden lediglich Vorschläge unterbreitet, da es
sich hier um nicht technische, sondern um fachliche Spezifikationen handelt. Die fachlichen
Spezifikationen sollen von den Teilnehmern am fachlichen Prototypen erarbeitet und mit dem
BSI abgestimmt werden.
Prototyp Interoperable Servicekonten
Beschreibung der Schnittstellen V 0.2 vom 05.10.2016
4
Inhaltsverzeichnis
1
Attribute der Föderation ...........................................................................6
1.1
Attribute............................................................................................................................ 6
1.2
Implementierung .............................................................................................................. 7
2
Auswahl des Servicekontos .......................................................................8
3
Authentifizierungsgrade .......................................................................... 10
3.1
Liste der Authentifizierungsgrade .................................................................................. 10
3.2
Deklaration...................................................................................................................... 11
3.3
Implementierung ............................................................................................................ 11
4
4.1
Nutzerzustimmung .................................................................................. 13
Implementierung ............................................................................................................ 14
5
Session des Remote-IdP .......................................................................... 16
6
Verschlüsselung der IdP-Antwort ............................................................ 17
6.1
Implementierung ............................................................................................................ 17
7
Literaturverweise .................................................................................... 18
8
Glossar .................................................................................................... 19
Prototyp Interoperable Servicekonten
Beschreibung der Schnittstellen V 0.2 vom 05.10.2016
5
1 Attribute der Föderation
Für interoperables E-Government ist es notwendig, dass Servicekonten Informationen
austauschen können. Für diese Informationen muss die Syntax und Semantik von Schlüsseln
und Werten durch die Föderation definiert werden.
Die Namensgebung in diesem Vorschlag folgt den durch die BSI TR-03130-1 definierten
Namen für den eID-Server.
Die Ausgestaltung der Attribute (Syntax und Semantik für Name und Wert) obliegt den
Teilnehmern am fachlichen Prototypen und dem BSI.
Die Attribute-Statements werden als Teil der SAML-2-Assertion übermittelt. Durch die
Einschränkung auf HTTP-Redirect- und HTTP-POST-Bindings ist keine weitere Übertragung
vorgesehen.
1.1 Attribute
#
Name
Kurzbeschreibung
Attributname
1
Akademischer Titel
Der akademische Titel einer Person. AcademicTitle
2
E-Mail-Adresse
Eine E-Mail-Adresse, unter der eine
Attributtyp
EmailAddress
Person erreichbar ist.
3
Geburtsdatum
Das Geburtsdatum einer Person.
DateOfBirth
4
Geburtsname
Der Geburtsname einer Person.
BirthName
5
Geburtsort
Der Geburtsort einer Person.
PlaceOfBirth
6
Issuing State
Der Name des Staates, der das
IssuingState
Dokument ausgestellt hat.
7
Künstlername
Der Künstlername einer Person.
ArtisticName
8
Nachname
Der Nachname einer Person.
FamilyNames
Prototyp Interoperable Servicekonten
Beschreibung der Schnittstellen V 0.2 vom 05.10.2016
6
9
Nationalität
Die Nationalität einer Person.
Nationality
10
Vornamen
Die Vornamen einer Person.
GivenNames
11
Wohnort
Der Wohnort einer Person.
PlaceOfResidence
1.2 Implementierung
Die Implementierung zur Abbildung der Föderationsattribute auf lokale Attribute ist
produktspezifisch.
Wird vor dem Abschlussbericht entfernt
Beispiel OpenAM
Im OpenAM kann ein Extension-Point in den erweiterten Metadaten verwendet werden,
um eine Abbildung der in der Föderation ausgetauschten Attribute auf die intern
verwendeten zu bestimmen.
Codeblock 1 Extended Metadata im OpenAM
<Attribute name="attributeMap">
<Value>GivenNames=givenname</Value>
<Value>FamilyNames=sn</Value>
<Value>EmailAddress=mail</Value>
<Value>IssuingState=IssuingState</Value>
<Value>ArtisticName=ArtisticName</Value>
<Value>AcademicTitle=AcademicTitle</Value>
<Value>DateOfBirth=DateOfBirth</Value>
<Value>PlaceOfBirth=PlaceOfBirth</Value>
<Value>Nationality=Nationality</Value>
<Value>BirthName=BirthName</Value>
<Value>PlaceOfResidence=PlaceOfResidence</Value>
</Attribute>
Prototyp Interoperable Servicekonten
Beschreibung der Schnittstellen V 0.2 vom 05.10.2016
7
2 Auswahl des Servicekontos
Verwaltungsportale können über einen REST-Dienst Informationen zu weiteren
Servicekonten innerhalb der Föderation abrufen. Dies kann einerseits über das Feed der
Entities-Deskriptoren erfolgen, andererseits über einen spezialisierten Servicekontendienst.
Die Entities-Deskriptoren enthalten alle SAML-Metadaten und damit auch die Informationen
zu den Verantwortlichen und den Namen des Servicekontos. Diese Informationen können
aber auch über den Servicekontodienst abgerufen werden. Die Antworten dieses Dienstes
enthalten nur die Daten für den Aufbau eines Auswahlmenüs für den Nutzer und sind somit
kürzer und leichter zu verarbeiten.
User-Experience
In jeder Situation muss dem Nutzer stets klar ersichtlich sein, wer für die Diensterbringung
verantwortlich ist und welche Daten ermittelt und an wen zu welchem Zweck sie
weitergegeben werden.
Es ist auch wichtig, dass der Nutzer informiert wird oder sich einfach informieren kann, was
eine Anmeldung mit einem anderen Servicekonto bewirkt und ob diese Möglichkeit für ihn
relevant ist.
Aus Nutzersicht wäre es womöglich hilfreich, wenn die auswählbaren
Authentifizierungsmöglichkeiten zusammen mit ihrem Vertrauensniveau angezeigt werden
würden. Dazu müssten voraussichtlich erläuternde Texte beigefügt werden.
Prototyp Interoperable Servicekonten
Beschreibung der Schnittstellen V 0.2 vom 05.10.2016
8
Auf Ebene der Föderation kann es notwendig werden, die Anmeldung gemeinsam zu
definieren, um den Nutzern ein einheitliches Anmelden zu ermöglichen. Technisch ist eine
Abstimmung nicht notwendig.
Prototyp Interoperable Servicekonten
Beschreibung der Schnittstellen V 0.2 vom 05.10.2016
9
3 Authentifizierungsgrade
Ein Authentifizierungsgrad beschreibt semantisch die Sicherheit, mit der eine
Authentifizierung eines Nutzers vorgenommen wurde.
Die Föderation bildet konkrete Authentifizierungstechnologien auf die definierten Grade ab.
3.1 Liste der Authentifizierungsgrade
Die folgenden Authentifizierungsgrade sind in der Föderation definiert und müssen von allen
Föderationsteilnehmern verstanden werden.
Die Authentifizierungsgrade sind hierarchisch. Das bedeutet, dass bei der Forderung eines
Authentifizierungsgrades durch einen Verwaltungsdienst alle höheren
Authentifizierungsgrade ebenfalls akzeptiert werden.
3.1.1
normal
Mit dem Schlüssel https://interoperable-servicekonten.de/ref/assurance/normal
wird der Authentifizierungsgrad normal definiert.
Dies ist der niedrigste Authentifizierungsgrad. Er wird niedriger als substantiell und niedriger
als hoch eingestuft.
3.1.2
substantiell
Mit dem Schlüssel https://interoperableservicekonten.de/ref/assurance/substantiell wird der Authentifizierungsgrad
substantiell definiert.
Dies ist ein mittlerer Authentifizierungsgrad. Er wird höher als normal, aber geringer als hoch
eingestuft.
Prototyp Interoperable Servicekonten
Beschreibung der Schnittstellen V 0.2 vom 05.10.2016
10
Die Schreibweise von substantiell richtet sich nach der in der TR-03107-1 verwendeten.
3.1.3
hoch
Mit dem Schlüssel https://interoperable-servicekonten.de/ref/assurance/hoch
wird der Authentifizierungsgrad hoch definiert.
Dies ist der derzeit höchste Authentifizierungsgrad. Er wird höher als hoch und höher als
hoch eingestuft.
3.2 Deklaration
Die Deklaration der unterstützen Authentifizierungsgrade erfolgt im Entity-Descriptor des
Identity-Providers.
3.3 Implementierung
Die Implementierung der Authentifizierungsgrade ist produktspezifisch.
Wird vor dem Abschlussbericht entfernt
Beispiel OpenAM
Im OpenAM kann ein Extension-Point verwendet werden, um die Authentifizierungsgrade
wie folgt zu implementieren.
Codeblock 2 Extended Metadata im OpenAM für den IdP
<Attribute name="idpAuthncontextMapper">
<Value>de.hdgmbh.egov.openam.saml.EgovIdpAuthContextMapper</Value>
</Attribute>
<Attribute name="idpAuthncontextClassrefMapping">
<Value>https://interoperableservicekonten.de/assurance/normal|1|authlevel=1|default</Value>
Prototyp Interoperable Servicekonten
Beschreibung der Schnittstellen V 0.2 vom 05.10.2016
11
<Value>https://interoperableservicekonten.de/assurance/hoch|100|authlevel=100|</Value>
<Value>https://interoperableservicekonten.de/assurance/substantiell|10|authlevel=10|</Value>
</Attribute>
Prototyp Interoperable Servicekonten
Beschreibung der Schnittstellen V 0.2 vom 05.10.2016
12
4 Nutzerzustimmung
Für eine größtmögliche Transparenz sind die Föderationsteilnehmer verpflichtet den Nutzer
auf die Weiterleitung von Informationen aus dem Servicekonto zu informieren und die
Zustimmung (consent) des Nutzers einzuholen. Die Informationen werden dabei stets an
einen Verwaltungsdienstbetreiber weitergeleitet, der Teil der Föderation ist. Dennoch muss
der Nutzer auch dieser Weitergabe seiner Informationen innerhalb der Föderation
zustimmen.
Dieser Punkt muss für die Föderation noch genauer spezifiziert werden. Hier benötigen wir
den Input von Servicekontoanbietern und ein Feedback durch die Datenschützer.
Offen ist beispielsweise

Welche Informationen beinhaltet eine Zustimmung?

In welcher (visuellen) Form wird die Zustimmung eingeholt?

Muss die Zustimmung einheitlich eingeholt werden?

Müssen die Zustimmungen nachvollziehbar gespeichert werden?

Können Zustimmungen zentral gespeichert und durch den Nutzer verwaltet werden?
Beim Prototypen wird die Zustimmung des Nutzers wie folgt angezeigt.
Prototyp Interoperable Servicekonten
Beschreibung der Schnittstellen V 0.2 vom 05.10.2016
13
Die Zustimmung wird direkt nach der erfolgreichen Identifizierung eingefordert. Siehe dazu
auch die Dokumentation zum Anwendungsfall Anmeldung am fremden Servicekonto.
4.1 Implementierung
Die Implementierung der Einholung der Zustimmung zur Weiterleitung von Daten aus dem
Servicekonto ist produktspezifisch.
Wird vor dem Abschlussbericht entfernt
Beispiel OpenAM
Im OpenAM kann eine Erweiterungsmöglichkeit (extension point) verwendet werden, um
die Einholung der Zustimmung wie folgt anzubinden.
Codeblock 3 Extended Metadata im OpenAM
<Attribute name="idpAdapter">
<Value>de.hdgmbh.egov.openam.saml.ConsentAdapter</Value>
</Attribute>
Prototyp Interoperable Servicekonten
Beschreibung der Schnittstellen V 0.2 vom 05.10.2016
14
Über die Logik in dem Adapter, die gegenwärtig nicht genauer spezifiziert ist, wird dann
der Dialog mit dem Nutzer geführt.
Prototyp Interoperable Servicekonten
Beschreibung der Schnittstellen V 0.2 vom 05.10.2016
15
5 Session des Remote-IdP
Während des Informationsaustauschs von zwei Servicekonten kann eine Session zum
Remote-IdP aufgebaut werden. Nach abschließender Übermittlung der Daten soll diese
Session zeitnah beendet werden.
Der technische Prototyp nutzt für die Kommunikation eine Session. Er entspricht damit dieser
Forderung nach einer zeitnahen Beendigung derzeit noch nicht.
Prototyp Interoperable Servicekonten
Beschreibung der Schnittstellen V 0.2 vom 05.10.2016
16
6 Verschlüsselung der IdP-Antwort
Da sensible Informationen zur Person des Nutzers vom IdP übermittelt werden, sollen diese
nur verschlüsselt übertragen werden.
6.1 Implementierung
Die Implementierung dieser Verschlüsselungsanforderungen ist produktspezifisch.
Wird vor dem Abschlussbereicht entfernt
Beispiel OpenAM
Im OpenAM kann ein Extension-Point in den erweiterten Metadaten verwendet werden,
die die Verschlüsselung der IdP-Zusicherung zu konfigurieren.
Codeblock 4 Extended Metadata im OpenAM
<Attribute name="wantAssertionEncrypted">
<Value>true</Value>
</Attribute>
Prototyp Interoperable Servicekonten
Beschreibung der Schnittstellen V 0.2 vom 05.10.2016
17
7 Literaturverweise
Weitere Informationen zum Thema Interoperable Servicekonten finden Sie in den folgenden
Dokumenten.
Name
Kurzbeschreibung
Version
Tour für neue
Eine geführte Tour durch die Dokumentation für neue
0.1
Föderationsmitglieder
Föderationsmitglieder.
Überblick über den
Kurzer Überblick über die umgesetzte Lösung zur Diskussion.
0.2
Überblick über die
Liste der Anwendungsfälle, die für die Spezifikation des
0.2
Anwendungsfälle
Lösungsvorschlags betrachtet werden.
Lösungsvorschlag
Beschreibung der SAML- Dokumentation der SAML-Metadaten für die an der Föderation
0.2
Metadaten
teilnehmenden IdPs und SPs.
API-Dokumentation
Informationen zur Nutzung des APIs.
0.1
Kurzanleitung für
Liste von Kurzanleitungen, die Aufgaben der
0.1
Föderationsteilnehmer
Föderationsteilnehmer beschreiben.
Glossar
Beschreibung der zentralen Begriffe im Kontext von
0.1
interoperablen Servicekonten der Föderation.
Prototyp Interoperable Servicekonten
Beschreibung der Schnittstellen V 0.2 vom 05.10.2016
18
8 Glossar
Die in diesem Dokument verwendeten Begriffe aus der Domäne Interoperable Servicekonten
werden in einem separaten Glossar erklärt. In diesem Glossar werden alle Begriffe der
Domäne aufgelistet.
Prototyp Interoperable Servicekonten
Beschreibung der Schnittstellen V 0.2 vom 05.10.2016
19