From c5d1946dbfa968cf1d4350b8211f3092cdea471b Mon Sep 17 00:00:00 2001 From: Marco Holz <marco.holz@fitko.de> Date: Mon, 10 Oct 2022 13:38:25 +0000 Subject: [PATCH] Improve certificate validation description --- docs/changelog.md | 1 + docs/sending/encrypt.mdx | 12 +++++++----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/docs/changelog.md b/docs/changelog.md index bb986cd72..ad585ca74 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -8,6 +8,7 @@ Das hier veröffentlichte Changelog bezieht sich auf die [Testinstanz von FIT-Co ## 2022-10-10 ### Dokumentation - Dokumentation zum Abruf des Event Log überarbeitet: Die Informationen des bisherigen Artikels "Status abfragen" wurden aufgeteilt in einen generischen Artikel [Event Log abrufen](getting-started/event-log/get-events.mdx) im Abschnitt "Ereignisprotokoll" und den bestehenden Artikel [Empfangsbestätigung oder Zurückweisung](sending/accept-reject.mdx). Zudem wurde ein Hinweis zur Prüfung der Authentizität und Integrität des Event Log ergänzt. +- Dokumentation der [Überprüfung des öffentlichen Schlüssels](sending/encrypt.mdx#certificateValidation) beim Verschlüsseln von Antragsdaten konkretisiert. ## 2022-10-07 ### Dokumentation diff --git a/docs/sending/encrypt.mdx b/docs/sending/encrypt.mdx index b6270ad1a..2edc62e43 100644 --- a/docs/sending/encrypt.mdx +++ b/docs/sending/encrypt.mdx @@ -50,15 +50,17 @@ Eine Prüfung der Zertifikate kann in diesem Fall zu Testzwecken entfallen. Öffentliche Schlüssel MÜSSEN vor der Verwendung zwingend im Client auf Gültigkeit geprüft werden. Diese Prüfung umfasst folgende Schritte: -- Überprüfung, dass der JSON Web Key für die Verschlüsselung geeignet ist (`"keyops": ["wrap_key"]`) +- Überprüfung, dass der JSON Web Key gemäß den [Vorgaben für kryptographische Verfahren](../details/crypto.md) eine Schlüssellänge von mind. 4096 Bit aufweist +- Überprüfung, dass der JSON Web Key gemäß den [Vorgaben für kryptographische Verfahren](../details/crypto.md) für die Verschlüsselung geeignet ist (`"keyops": ["wrap_key"]`) +- Überprüfung, dass der JSON Web Key gemäß den [Vorgaben für kryptographische Verfahren](../details/crypto.md) zur Nutzung des Verfahrens `RSA-OAEP-256` geeignet ist (`"kty":"RSA", "alg": "RSA-OAEP-256"`) - Überprüfung, dass der öffentliche Schlüssel mit dem im JSON Web Key hinterlegten Zertifikat übereinstimmt (Attribute `n` und `e`) -- Überprüfung der Zertifikats-Kette bis zum Wurzelzertifikat (BSI) -- Überprüfung gegen eine Certificate Revocation List und/oder einen OCSP-Endpunkt mit signierten Antworten +- Überprüfung, dass das Zertifikat der Verwaltungs-PKI entstammt, d.h Überprüfung der Zertifikats-Kette bis zum Wurzelzertifikat (BSI) (Attribut `x5c`) +- Überprüfung, dass der im Zertifikat angegebene Gültigkeitszeitraum nicht überschritten wurde +- Überprüfung, dass das Zertifikat nicht zurückgezogen wurde (mittels Validierungsdienst, gegen eine Certificate Revocation List (CRL) und/oder einen OCSP-Endpunkt mit signierten Antworten) Weitere Informationen zur Gültigkeitsprüfung finden sich in der technischen Richtlinie [BSI TR-02103](https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Publikationen/TechnischeRichtlinien/TR02103/BSI-TR-02103.pdf?__blob=publicationFile&v=4) des BSI. - -Der [folgende Code](https://git.fitko.de/fit-connect/examples/) kann zur Validierung der Schlüssel benutzt werden. +Der [folgende Code](https://git.fitko.de/fit-connect/examples/) kann zur Validierung der [Vorgaben für kryptographische Verfahren](../details/crypto.md) benutzt werden. Zusätzlich MUSS eine Zertifikatsprüfung inkl. Prüfung der Zertifikatskette erfolgen. <Tabs defaultValue="js" -- GitLab