-
Lilith Wittmann authoredLilith Wittmann authored
Authentifizierung von Fachanwendungen
Fachanwendungen haben die Möglichkeit FIT-Connect Anträge abzurufen. Dafür müssen sie sich mithilfe von oauth2 "Client-Credentials" authentifizieren. Diese erhalten Behörden und andere Abrufberechtigte, nach einer Anmeldung im Self-Service-Portal der FITKO. (TODO: link)
Für jede Destination müssen folgende Informationen im Self-Service-Portal bereitgestellt werden
Entweder:
- Liste der LeiKa-IDs und Amtlicher Gemeindeschlüssel
Oder:
- Name und Bezeichung der angeboteten Leistungen, wenn diese nicht Teil des Leistungskataloges sind
Außerdem
- Der Public Key zur Verschlüsselung der Antragsdaten
- Der Public Key der Fachanwendung zur Signaturprüfung
- Callback Endpunkte
- Referenzen zu allen von diesem Endpunkt unterstützen Schemas
Nach anlegen einer Destination erhält die Behörde, die für die Destination verantwortlich ist die OAuth Client Credentials. Mit diesen kann sich das Fachverfahren authentifizieren und erhält dafür einen JWT. Mit diesem JWT ist dann ein Abruf der hinterlegten Anträge möglich

Anforderung an die JWT-Tokens
Die vom Auth Server generierten JWTs müssen nach RFC 7519 über folgende Attribute verfügen:
Header
Entsprechend RFC 7519 Abschnnitt 8:
Feld | Inhalt | Erläuterung |
---|---|---|
typ | JWT | Es handelt sich um einen JWT. |
alg | RS512 | Der JWT verwendet RSASSA-PSS und SHA-512. |
Beispiel
{
"typ":"JWT",
"alg":"HS256"
}
Body des User-JWT-Tokens
Entsprechend den standartisierten Feldern:
Feld | Inhalt | Erläuterung |
---|---|---|
iat | Unix Timestamp | Zeitpunkt wann der Token ausgestellt wurde als Unix Timestamp. |
exp | Unix Timestamp | Zeitpunkt wann der Token abläuft als Unix Timestamp (Token sollte max. 2 Stunden gültig sein vgl BSI APP.3.1). |
scope | Liste von Zustellberechtigungs-Scopes | Eine Liste der Zustellberechtigungs-Scopes, für die der JWT einen Abruf erlaubt. |
clientType | receiver | Gibt an, das es sich um einen Token für eine Fachanwendung handelt, die Anträge empfangen kann. |
Beispiel
{
"iat":"1620072619",
"exp":"1620079819",
"scope": ["36141427-d405-40a4-8f8b-3592d544e85b", "655c6eb6-e80a-4d7b-a8d2-3f3250b6b9b1"],
"clientType": "receiver"
}
Validierung der JWT-Tokens durch den Zustelldienst
Beim Abruf am Zustelldienst muss dieser bzw. das API-Gateway überprüfen, ob der JWT-Token valide ist. Dafür sollten mindestes folgende Überprüfungen durchgeführt werden:
- Überprüfen ob es sich um einen JWT mit einer RSASSA-PSS (PS512) Signatur handelt.
- Überprüfen, ob diese noch gültig sind und
- der JWT für max. 4h ausgestellt wurde.
- Mithilfe des Public Keys des Authentifizierungsservers die Signatur des JWT überprüfen.
- Überprüfen, ob die Destination-ID, die abgerufen werden soll teil der in den Zustellberechtigungs-Scopes (scope Parameter in den JWTs) des JWTs ist. (Zugangsberechtigung der Fachanwendung).