Verschlüsselungsverfahren
Zum Schutz der Daten wird ein Verschlüsselungsverfahren eingesetzt, das immer dem jeweils aktuellen Stand der Technik entspricht. Ausschlaggebend sind hier die jeweils aktuellen Empfehlungen des Bundesamts für Sicherheit in der Informationstechnik (BSI).
Stand Januar 2018 wird das auf elliptischen Kurven basierende, hybride Verschlüsselungsverfahren ECIES mit AES eingesetzt. Als Kurvenparameter für die Schlüsselerzeugung wird die vom BSI aktuell empfohlene Kurve brainpoolP256r1 verwendet. (Siehe auch Referenzliste der Algorithmen)
Zur Teilnahme am Austauschverfahren muss jeder Partner über ein entsprechendes Schlüsselpaar verfügen und den öffentlichen Schlüssel den anderen Kommunikationspartnern bereitstellen.
Die Schlüsselerzeugung kann von jedem Register selbst durchgeführt werden. Dabei ist zwingend auf den richtigen Algorithmus zu achten. Es kann das Tool „Open SSH" genutzt werden. Des Weiteren kann der Careso RD Prototyp für die Erzeugung eines validen Schlüsselpaars genutzt werden.
Zur Integration des Verschlüsselungsverfahrens in die Registersoftware kann z.B. die Kryptobibliothek BouncyCastle verwendet werden.
Referenzliste für Algorithmenbezeichnungen
Algorithmus-ID | Unterstützung: |
ECIES_WITH_AES_CBC_IV_brainpoolP256r1 | Ab Transportformat 2.0.0 |
ECIES_WITH_AES_CBC_brainpoolP256r1 | Ab Transportformat 1.1.0 |
ECIES_WITH_AES_brainpoolP256r1 | Ab Transportformat 1.0.0 |
Kodierung des Initialisierungsvektors
In der aktuellsten Version des Verfahrens (ECIES_WITH_AES_CBC_IV_brainpoolP256r1) muss ein zusätzlich zu den verschlüsselten Daten ein Initialisierungsvektor transportiert werden. Im Transportformat entsprechen die ersten 16 Bytes des Elements data dem Initialisierungsvektor. Die restlichen Bytes enthalten die verschlüsselten Nutzdaten.