Verschlüsselung im HIT-Protokoll
Allgemein
Im Rahmen der Anforderungen an die HIT/ZID zentrale Datenbank und Ihre
Benutzer bezüglich Informationssicherheit begründet durch die DSGVO und die
Zertifizierung nach BSI-Standard ist es unumgänglich, verschiedene Maßnahmen
umzusetzen. Insbesondere ist die Kommunikation zwischen den Clients und dem
HIT-Server mittels HIT-Protokoll unbedingt verschlüsselt durchzuführen.
Die Verschlüsselung bei der Übertragung von Daten durch Programme liegt in
der Verantwortung des Nutzer. Die zentrale Datenbank HIT/ZID bietet verschiedene
Mechanismen zur Unterstützung an. Mittelfristig wird die Nutzung des unverschlüsselten
HIT-Protokolls unterbunden werden. Noch steht kein konkreter Zeitpunkt fest,
aber -falls noch nicht erfolgt- stellen Sie schon jetzt die Übertragung auf sichere
Verfahren um!
Historie
Datum |
Details |
20.03.2024 |
Es gibt nun auch eine Demo, die eine verschlüsselten
Kommunikation mit einem HitServer demonstriert - mehr dazu in der
Einleitung für Java-Programmierer |
22.02.2024 |
Serverseitige zusätzliche Verwendung einer externen Crypto-Bibliothek (Bouncy
Castle) für die symmetrische Datenverschlüsselung.
Es können damit seitens Clients sowohl weitere Cipher als auch Blockmodi verwendet
werden. Der Parameter ENC_SYM beim LOGON wurde dafür
modifiziert und nimmt nun eine sogenannte Transformationsvorschrift
im Format "algorithm/mode/padding" an. Der
Parameter ist weiterhin optional und akzeptiert weiterhin die
bisherigen numerischen Werte (man erhält beim LOGON einen
entsprechenden Hinweis). Mehr unter Details.
Im Rahmen der o.g. Erweiterung gab es eine Umstellung und
Zusammenfassung der Crypto-Routinen in de.hi_tier.hitupros .
Die Routinen können aber nach wie vor ohne die externe Bibliothek
verwendet werden, nur eben nicht im erweiterten Umfang (Details). Die bisher genutzen
HitUpros-Klassen des
HitBatch sind daher ab Version 62 leider nicht mehr abwärtskompatibel!
|
Aug. 2021 |
Einführung eines weiteren Blockmodus CBC für symmetrische Verschlüsselung.
Zur Steuerung beim LOGON wurde dafür eine weitere optionale Spalte
ENC_SYM
mit den Werten 1 (für bisheriger Blockmodus ECB) und
2 (Blockmodus CBC) eingeführt. |
08.02.2017 |
neues Private- & PublicKey-Paar für asymmetrische Verschlüsselung erzeugt, jetzt mit 2048 bit |
Nov. 2004 |
Einführung sicherer Datenübertragung in HIT/ZID mit selbst
implementierten Verschlüsselungsverfahren auf Basis von definierten
Standard Algorithmen und Open Source. Neues PrivateKey & PublicKey-Paar für asymmetrische Verschlüsselung erzeugt,
Schlüssel veröffentlicht (siehe unten), Dokumentation zur Nutzung
und Implementierung angelegt |
Verschlüsselung bei Nutzung des HitBatch-Clients
Sofern Nutzer Software einsetzen, die im Hintergrund den von uns bereitgestellten
HitBatch-Client verwenden, ist die Nutzung von Verschlüsselung
mittels entsprechender Konfiguration und
Parametereinstellungen (siehe Parameter
CIPHERLEVEL , SVRPUBKEY und ENC_SYM ) einfach
realisierbar. Es kann hier aber zu Problemen kommen, wenn keine Updates
oder Wartung bzw. Unterstützung vom Hersteller der eingesetzten Primärsoftware
gegeben ist.
Verschlüsselung bei Nutzung selbstentwickelter Software
Besonders betroffen sind Nutzer von Software, die das HIT-Protokoll selbst
umgesetzt haben. Hier muss entweder die Verschlüsselung in der
lokalen Software implementiert werden oder es kann ein kostenfrei erhältlicher "Crypto-Proxy"
zwischengeschaltet werden, siehe unten bei
HitCryptoProxy.
Die Implementierung, wie bestehende HIT-Protokollbefehle und -antworten verschlüsselt
werden, wird separat
beschrieben.
Freigegebener PUBLIC KEY
Folgender Public Key ist ab 08.02.2017 15:30 Uhr (ohne die Zeilenumbrüche) für die Verschlüsselung der Anmeldung in HIT zu
verwenden:
48015250010000010100970348B03E911DCCE5ED8F555C2116DBC4D7E96D4C1CDC4BBBAAD26BAA54
B5C834F604F9DFB391459459772FB51D00AFD0FE3A9B2DA724E62113A9E8C95BEF377CB5FCF7FEBE
42E5282A0DA50F01D5D2635DD958F9836CFB4F8B616777C0CF67DB9A5530AD679E321972E4D4F4F3
3DED057CB690417A3B42FBFCE2AD9FDD80C815AF1EC858C796D4EA2F17954E4BFAD08E3E0397FA34
122AC5951D889B06359A401E5506E50FA176B5A77FAB84E25CFCDBF2330AA173DA1156C8B79D6DB6
BFAE828B00811183E63F137648E1FC1786B52D815C248BCADDDF6A17C941414F67A23ADFE82FE761
96B64B96E36F8604FA00E8E357F5AE6C83B992D622D5E9CD9C1D00000003010001
(MD5-Hash des hexadezimal codierten Schlüssels: E599362A39B7FB4F250A64FA24906C54
und des decodierten binären Schlüssels: ADB00F99A980B924E3BB1159F3037403 )
Sie müssen auf jeden Fall die Anmelde-Antworten
auf Hinweise bezüglich ungültiger Public Keys überprüfen,
da wir
diesen Public Key in (un)regelmäßigen Abständen austauschen werden!
Der Schlüssel kann auch als Datei herunter geladen werden hier unter
hitserver.pub bzw. unter dem
alternativen Datenamen key20170208.pub.
Die Verwendung in unserem HitBatch geschieht dann mittels Parameter
SvrPubKey=@<pfad>key20170208.pub
Hilfsprogramme
HitBatch
Der von uns zur Verfügung gestellte
HitBatch wurde dahingehend erweitert,
dass dieser auch verschlüsselt Daten
austauschen kann (siehe Parameter CIPHERLEVEL , SVRPUBKEY und ENC_SYM )
Für Programmierer
Java
Für Selbstprogrammierer stehen die Sourcen
des HitBatch zur Verfügung (die Klassen de.hi_tier.hitupros.crypto.HitCrypto und
die drei Schlüsselvarianten von
de.hi_tier.hitupros.crypto.HitCryptoKey werden dafür benötigt).
Achtung: seit Version 60 des HitBatch gibt es eine geänderte Paket-
und Klassenstruktur, welche sich auch auf die Verschlüsselung auswirkt!
NEU: ab Feb. 2024 wurde die Verschlüsselung erweitert (und im Zuge
dessen erneut umgestellt), so dass sich die Aufrufe und Anwendung ändern!
.NET Framework
Es gibt inzwischen von uns ein
.NET Assembly, mit dem die Verschlüsselung in eigene
Windows-Programme eingebaut werden kann.
(Die Version kann weiterhin mit dem im Februar 2024 erweiterten
HitServer bzgl. Verschlüsselungsparametern verwendet werden!)
Es gibt weder ein Assembly für .NET Core noch für .NET Standard! Uns
fehlt die Manpower und Zeit, mehrere Varianten parallel zu pflegen.
Der HitCryptoProxyServer wurde von Baden-Württemberg kostenfrei zur
allgemeinen Verwendung zur Verfügung gestellt. Dieser ermöglicht als Proxy die
verschlüsselte Kommunikation zwischen der Zentralen Datenbank HIT/ZID und einem unverschlüsselt kommunizierenden
Client.
Achtung: Dieser Proxy ist nur für einen internen
Rechenzentrumsbetrieb und nicht als Endkundentool gedacht!
(er ist noch nicht für die im Februar 2024 erweiterten HitServer bzgl.
Verschlüsselungsparameter angepasst, kann aber dennoch verwendet werden)
Programm inklusive Java-Sourcecode, Dokumentation und
Installationsanleitung:
hitcryptoproxy.zip.
Kurzanleitung zu Installation:
- Datei entpacken
- Unter
hitcryptoproxy\conf die HitCryptoProxyServer.properties anpassen (PublicKey ,
ThreadPoolSize und evtl. Port )
- Unter
hitcryptoproxy\bin die service.bat anpassen (meist nur
ARCHITECTURE =x86, evtl. auch Umgebungsvariablen)
- Den Service über
service.bat install installieren (benötigt
administrative Rechte!)
- je nach Windows-Version muss dem HitCryptoProxyServer-Dienst noch
erlaubt werden mit Administratorrechten ausgeführt zu werden
.
|