Features
1. Erweiterte Zertifikatsvalidierung & neue Datenmodelle
Die Validierungslogik für VAU-Zertifikate wurde vollständig überarbeitet und modularisiert.
-
Einführung der neuen Klasse:
-
VAUCertificateValidator
-
Auslagerung der Zertifikatslogik aus
VAUProtokoll.py -
Einheitliche Nutzung des Validators in allen relevanten Protokollschritten
Zusätzlich wurden strukturierte Pydantic-Modelle eingeführt:
- Modelle für:
-
- signierte VAU Server Public Keys
-
- Zertifikatsdaten
-
- Key-Bundles
- Strikte Validierung und Typprüfung der Datenstrukturen
2. Truststore-Management für TI und Konnektor
Dieses Release führt ein umfassendes Truststore-Konzept ein.
TI Truststore
- Abruf von Zertifikaten über:
-
- download.tls.ti-dienst.de
- Verarbeitung von:
-
- root.json
-
- tls.xml
- Validierung von Root- und Sub-CAs
- Bündelung zu einem zentralen CA-Truststore
Konnektor Truststore
- Laden von Zertifikaten aus einer JWS
-
- Quelle:
KONNEKTOR_JWS_URL
- Quelle:
- Extraktion und Bündelung der enthaltenen Zertifikate
Request-Verifikation
- HTTP-Requests verwenden nun automatisch:
-
- passende Truststore-Bundles
Fix
3. Absicherung von HTTP-Headern
Die Verarbeitung von HTTP-Headern wurde sicherheitsseitig deutlich verbessert.
- Einführung von:
-
- sanitize_header_value
-
- validate_insurant_id
- Entfernung unsicherer Zeichen:
-
- CRLF
-
- NUL
- Validierung des Formats von Versicherten-IDs
- Zentrale Nutzung der bereinigten Header-Werte im gesamten VAU-Protokoll
4. Verbesserte Replay-Schutzmechanismen
Die Verwaltung von Request- und Response-Countern wurde überarbeitet.
- Neue Variable:
-
- last_response_counter
- Verbesserte Validierungslogik:
-
- Ablehnung aller Responses mit:
-
-
- Counter ≤ letzter bekannter Wert
-
- Konsistente Erhöhung des request_counter