Zur Homepage www.HI-Tier.de Verschlüsselung
Zurück Home Nach oben Weiter
Öffentlicher Bereich für Entwickler

 

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.

HitCryptoProxy

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:

  1. Datei entpacken
  2. Unter hitcryptoproxy\conf die HitCryptoProxyServer.properties anpassen (PublicKey, ThreadPoolSize und evtl. Port)
  3. Unter hitcryptoproxy\bin die service.bat anpassen (meist nur ARCHITECTURE=x86, evtl. auch Umgebungsvariablen)
  4. Den Service über service.bat install installieren (benötigt administrative Rechte!)
  5. je nach Windows-Version muss dem HitCryptoProxyServer-Dienst noch erlaubt werden mit Administratorrechten ausgeführt zu werden

 

.