diff --git a/docs/details/crypto.md b/docs/details/crypto.md index 8e81d495c60ec746332a79e69c75e77e563e4417..1a74e4cc269c51ec7d8ade763f5db488a9c0d068 100644 --- a/docs/details/crypto.md +++ b/docs/details/crypto.md @@ -2,7 +2,7 @@ :::note Verwendung von Schlüsselwörtern Treten die Schlüsselwörter "MUSS"/"MÜSSEN", "DARF NICHT"/"DÜRFEN NICHT", "SOLLTE"/"SOLLTEN", "SOLLTE NICHT"/"SOLLTEN -NICHT" und "KANN"/"KÖNNEN" in Großbuchstaben auf, handelt es sich um Implementierungsvorgaben, die entsprechen den +NICHT" und "KANN"/"KÖNNEN" in Großbuchstaben auf, handelt es sich um Implementierungsvorgaben, die entsprechend den Begriffen "MUST", "MUST NOT", "SHOULD", "SHOULD NOT" und "MAY" gemäß [RFC 2119](https://tools.ietf.org/html/rfc2119) zu interpretieren sind. ::: @@ -24,7 +24,7 @@ Für die den JSON Web Keys zugrundeliegenden X.509-Zertifikate gelten die folgen | -------------------- | ---------- | ----------- | | Hashfunktion | SHA-512 | Hashfunktion, die bei der Signatur des Zertifikats verwendet werden muss. (vgl. [BSI TR-02102-1 Tabelle 4.1](https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Publikationen/TechnischeRichtlinien/TR02102/BSI-TR-02102.html)). | | asym. Schlüssellänge | 4096 Bit | Schlüssellänge des zugrundeliegenden RSA-Schlüssels. Vorgabe gemäß [BSI TR-02102-1, Tabelle 3.1](https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Publikationen/TechnischeRichtlinien/TR02102/BSI-TR-02102.html)) | -| Signaturalgorithmus | RSASSA-PSS | Entspricht dem Standard beschrieben in [RFC 4056](https://tools.ietf.org/html/rfc4056) und vom BSI empfohlen in [BSI TR-02102-1 Abschnitt 5.3.1](https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Publikationen/TechnischeRichtlinien/TR02102/BSI-TR-02102.html). | +| Signaturalgorithmus | RSASSA-PSS | Entspricht dem Standard, der beschrieben ist in [RFC 4056](https://tools.ietf.org/html/rfc4056) und vom BSI empfohlen in [BSI TR-02102-1 Abschnitt 5.3.1](https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Publikationen/TechnischeRichtlinien/TR02102/BSI-TR-02102.html). | | Schlüsselverwendung (Key Usage) | `keyEncipherment` für (asymmetrische) Verschlüsselung; `digitalSignature` sowie `nonRepudiation` für Signaturen | Erlaubte Schlüsselverwendungen gemäß [RFC 5280, Abschnitt 4.3.1.3](https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.3) | ## Vorgaben zur Ver- und Entschlüsselung von Daten diff --git a/docs/getting-started/encryption.mdx b/docs/getting-started/encryption.mdx index 8e2ff56304e4bc366d3edce31b69b07ac19e11ee..6a2264741a2277643f8cdfeca8245ee7e70d1637 100644 --- a/docs/getting-started/encryption.mdx +++ b/docs/getting-started/encryption.mdx @@ -87,7 +87,7 @@ Die Prüfung von Zertifikaten ist zwingend erforderlich, da sonst Angriffe wie [ ### JSON Web Encryption und JWE Compact Serialization -Die Grundlagen zur Verschlüsselung, hybriden Verfahren und Zertifikaten finden in FIT-Connect in Form von [JSON Web Encryption (JWE)](https://datatracker.ietf.org/doc/html/rfc7516) bei der Verschlüsselung von Antragsdaten (Submissions) Anwendung. +Die Grundlagen zu Verschlüsselung, hybriden Verfahren und Zertifikaten finden in FIT-Connect in Form von [JSON Web Encryption (JWE)](https://datatracker.ietf.org/doc/html/rfc7516) bei der Verschlüsselung von Antragsdaten (Submissions) Anwendung. JWE standardisiert die einheitliche Anwendung von kryptographischen Algorithmen und die Repräsentation der dabei genutzten Datenstrukturen. Dazu nutzt FIT-Connect die [JWE Compact Serialization](https://datatracker.ietf.org/doc/html/rfc7516#section-3.1). Die Daten innerhalb eines JWE werden möglichst sparsam kodiert und als eine kompakte, URL-sichere Zeichenkette (String) dargestellt. diff --git a/docs/status-and-error-codes.md b/docs/status-and-error-codes.md index f1d3b168a3c4575e2d5b37f7020b1e55df09a7b6..5443e81a6aee57e6ab832498adfe3a80a352828b 100644 --- a/docs/status-and-error-codes.md +++ b/docs/status-and-error-codes.md @@ -64,15 +64,15 @@ abgebildet. Fachliche schon. | https://schema.fitko.de/fit-connect/submission-api/problems/attachment-not-found | 404 Not Found | | | https://schema.fitko.de/fit-connect/submission-api/problems/destination-not-found | 404 Not Found | | | https://schema.fitko.de/fit-connect/submission-api/problems/destination-state-invalid | 422 Unprocessable Entity | Der Zustellpunkt existiert, hat aber einen für die Aktion unzulässigen Status. | -| https://schema.fitko.de/fit-connect/submission-api/problems/encryption-public-key-id-does-not-match-encryptionkid | 400 Bad Request | Beim Erstellen eines neuen Zustellpunktes stimmt die 'encryptionKid' nicht mit der Key Id des übermittelten Verschlüsselungs Public Key 'encryptionPublicKey' überein | +| https://schema.fitko.de/fit-connect/submission-api/problems/encryption-public-key-id-does-not-match-encryptionkid | 400 Bad Request | Beim Erstellen eines neuen Zustellpunktes stimmt die 'encryptionKid' nicht mit der Key Id des übermittelten Verschlüsselungs Public Key 'encryptionPublicKey' überein. | | https://schema.fitko.de/fit-connect/submission-api/problems/key-for-destination-encryption-kid-not-found | 400 Bad Request | Beim Aktualisieren der 'encryptionKid' eines Zustellpunktes wurde der gewünschte Verschlüsselungs Public Key nicht für den Zustellpunkt hinterlegt gefunden. Der Key muss dem Zustellpunkt hinterlegt werden. | | https://schema.fitko.de/fit-connect/submission-api/problems/key-for-destination-not-found | 404 Not Found | Für den Zustellpunkt kann der angeforderte Public Key nicht gefunden werden. | | https://schema.fitko.de/fit-connect/submission-api/problems/empty-attachment | 400 Bad Request | | | https://schema.fitko.de/fit-connect/submission-api/problems/jwk-not-valid | 422 Unprocessable Entity | JWK fachlich nicht zulässig. Details stehen im Feld `detail`. | | https://schema.fitko.de/fit-connect/submission-api/problems/security-event-token-validation | 422 Unprocessable Entity | Das übermittelte Security Event Token ist fachlich nicht zulässig. Details stehen im Feld `issue`. | -| https://schema.fitko.de/fit-connect/submission-api/problems/public-key-not-found | 404 Not Found | Beim Hinterlegen eines Ereignis ins Ereignisprotokoll konnte der Public Key nicht gefunden werden der nötig gewesen wäre um die Ereignis Signatur validieren zu können. Der Key muss dem Zustellpunkt hinterlegt werden. | -| https://schema.fitko.de/fit-connect/submission-api/problems/public-key-does-not-support-purpose | 400 Bad Request | Beim Erstellen oder Aktuallisieren eines Zustellpunktes verwendete Public Key können nicht für den dafür vorgesehenen Zweck verwendet werden. Verwenden Sie nur Public Keys mit dem richtigen Zweck (z.B. "verify" für Signatur, "wrapKey" fürs Verschlüsseln) | -| https://schema.fitko.de/fit-connect/submission-api/problems/public-key-already-exists | 400 Bad Request | beim Erstellen eines Zustellpunktes oder beim Hochladen eines neuen Public Key für einen Zustellpunkt wird ein Public Key verwendet der eine Key Id besitzt die im Zustellpunkt schon hinterlegt wurde aber einen anderen Key Inhalt besitzt. Verwenden Sie bitte eine andere Key Id | +| https://schema.fitko.de/fit-connect/submission-api/problems/public-key-not-found | 404 Not Found | Beim Hinterlegen eines Ereignisses ins Ereignisprotokoll konnte der Public Key nicht gefunden werden, der nötig gewesen wäre, um die Ereignis-Signatur validieren zu können. Der Key muss beim Zustellpunkt hinterlegt werden. | +| https://schema.fitko.de/fit-connect/submission-api/problems/public-key-does-not-support-purpose | 400 Bad Request | Beim Erstellen oder Aktualisieren eines Zustellpunktes verwendete Public Keys können nicht für den dafür vorgesehenen Zweck verwendet werden. Verwenden Sie nur Public Keys mit dem richtigen Zweck (z.B. "verify" für Signatur, "wrapKey" fürs Verschlüsseln). | +| https://schema.fitko.de/fit-connect/submission-api/problems/public-key-already-exists | 400 Bad Request | Beim Erstellen eines Zustellpunktes oder beim Hochladen eines neuen Public Keys für einen Zustellpunkt wird ein Public Key verwendet, der eine Key Id besitzt, die im Zustellpunkt schon hinterlegt wurde, aber einen anderen Key Inhalt besitzt. Verwenden Sie bitte eine andere Key Id. |