- Homebanking Computer Interface
-
Homebanking Computer Interface (HBCI) ist ein offener Standard für den Bereich Electronic Banking und Kundenselbstbedienung. Er wurde von verschiedenen Bankengruppen in Deutschland entwickelt und vom Zentralen Kreditausschuss (ZKA; heute Die Deutsche Kreditwirtschaft) beschlossen. HBCI ist eine standardisierte Schnittstelle für das Homebanking. Dabei werden Übertragungsprotokolle, Nachrichtenformate und Sicherheitsverfahren definiert.
Inhaltsverzeichnis
Technische Merkmale
Herausragende Merkmale von HBCI sind die Bankenunabhängigkeit, die Providerunabhängigkeit und die öffentliche Verfügbarkeit des Standards. Dadurch ist es prinzipiell jedem Programmierer oder Softwarehersteller möglich, eine Implementierung der Client-Seite von HBCI zu erstellen und damit auf alle HBCI-fähigen Banken zuzugreifen. Der Standard sieht dazu mehrere Möglichkeiten der Authentifizierung vor. Inzwischen stellen eine Vielzahl von Anbietern die notwendigen Softwarebausteine bereit.
HBCI kann ohne zusätzliche Hardware mit PIN und TAN (heute iTAN) software-implementiert arbeiten. Schlüssel werden dann z. B. in Dateien verarbeitet. Bei der Eingabe wird eine Datenverbindung vom Computer zur Bank aufgebaut (Protokoll HTTPS). Einen etwas höheren Sicherheitsstandard bietet HBCI mit einem externen Chipkartenlesegerät. Hier ist der Schlüsselcode nur für den Nutzer einsetzbar auf einer Chipkarte abgelegt.
Entwicklungsgeschichte
HBCI wurde in praxistauglicher Form erstmals im Jahre 1998 als Version 2.01 veröffentlicht; Entwürfe reichen bis ins Jahr 1995 zurück. Es folgten die Versionen 2.1 (1999) und 2.2 (2000), die sich bis auf hinzugefügte Geschäftsvorfälle relativ wenig voneinander unterschieden.
In der Zeit zwischen HBCI 2.2 und HBCI 3.0 hatte der Deutsche Sparkassenverband eine Version namens HBCI+ eingesetzt, bei dem ein PIN/TAN-Sicherheitsverfahren genutzt wurde.
Im Jahre 2002 wurde die HBCI Version 3.0 veröffentlicht. In der HBCI Version 3.0 wurde das PIN/TAN-Verfahren aus HBCI+ als alternative Sicherheitslösung in den HBCI-Standard aufgenommen, sowie Signaturkarten hinzugefügt. Abgesehen davon galten die Strukturen aus den Vorversionen in ähnlicher Form weiter. HBCI 3.0 wurde in FinTS 3.0 (Financial Transaction Services) umbenannt.
Schließlich wurde im Jahre 2004 die Version FinTS 4.0 eingeführt. In dieser Version wurden alle internen Datenstrukturen komplett auf XML und XML-Schemata umgestellt, HTTPS als Kommunikationsprotokoll verwendet und weitere komplett neue Schnittstellen (zum Beispiel WWW-Portale) eingeführt.
Nach einer zunächst zögerlichen Einführung wird HBCI seit 2002 von ca. 2000 Banken in Deutschland angeboten, also rund der Hälfte der deutschen Banken. Obwohl ursprünglich auch eine internationale Verwendung des Standards angestrebt war, blieb HBCI rein auf den deutschen Bankenmarkt beschränkt.
Verbesserungen der Sicherheit durch Nutzung von Chipkartenlesern
Homebanking mit HBCI-Chipkarte und einem Chipkartenleser, der die PIN-Eingabe (Sicherheitsklasse 2 oder höher) unterstützt, bietet ein höheres Maß an Sicherheit.
Allerdings bestehen auch in diesem Verfahren noch Risiken: Ein Angreifer könnte das verwendete Homebanking-Programm manipulieren, so dass dieses statt des angezeigten und erteilten Auftrags heimlich, also für den Benutzer zunächst nicht nachvollziehbar, einen veränderten Auftrag signiert und an den Server der Bank sendet. Die Bank wird den Auftrag ausführen, sofern er korrekt signiert wurde.
Der Kartenleser ist nicht an der Verschlüsselung der eigentlichen Überweisung beteiligt, sondern verschlüsselt lediglich die vom Homebanking-Programm erzeugte Signatur der Überweisung. Dies stellt noch eine Schwäche des Systems dar. Genauso wie die meisten Homebanking-Methoden ist Homebanking per HBCI und Kartenleser also nur unter der Annahme sicher, dass das verwendete Homebanking-Programm auf dem PC nicht durch Angreifer manipuliert werden konnte.
Allerdings kann beim Chip-Verfahren weder der kryptographische Schlüssel der Karte ausgelesen werden, noch ist das Belauschen der PIN-Eingabe mit einem Keylogger oder Trojaner möglich. Gänzlich unmöglich ist Phishing bei diesem Verfahren deshalb aber nicht, obwohl man zum erfolgreichen Ausführen einer Transaktion im Besitz der elektronischen Signatur sein muss, d. h. die Chipkarte prinzipiell besitzen muss.
Eine Alternative zum HBCI-Verfahren bieten Verfahren mit TAN-Generatoren.
Sicherheitslücken
Im September 2001 gelang es Hackern im Auftrag der ARD-Sendung Ratgeber Technik erstmals, einen HBCI-Server der Münchener Hypo-Vereinsbank mit Hilfe von Trojanern so zu manipulieren, dass die nach dem damaligen HBCI-Standard versandten Überweisungsaufträge mit allen notwendigen Informationen abgefangen und entschlüsselt werden konnten. Obwohl die HBCI-Version aus dem Jahre 2001 bald darauf als überholt galt, gelang es Hackern im Auftrag der HR-Sendung Trends im Mai 2005 erneut, einen HBCI-Server, nun der Dresdner Bank, zu knacken. Hintergrund dieses Angriffes war, dass die Chipkarte kopiert und durch nichtautorisierte Dritte eingesetzt werden konnte.
Beim heutigen HBCI-Standard werden die Transaktionen nicht mehr mit einer TAN legitimiert. Vielmehr signiert der Bankkunde eine Prüfsumme seiner Transaktionsdaten mit seinem geheimen, auf der Karte gespeicherten Schlüssel und schickt diese Daten an die Bank. Eine weitere Sicherheitshürde besteht darin, dass der Bankkunde, um den Vorgang freizuschalten, zum Signieren außerdem seine PIN eingeben muss. Da der Signaturvorgang in der Karte erfolgt, kann ein unautorisierter Angreifer dem Server der Bank allerdings auch dann noch eine autorisierte Transaktion vortäuschen, nämlich dann, wenn es ihm gelingt, den geheimen Schlüssel auf der Karte auszulesen und zu kopieren.
Bestandteile des Standards
HBCI spezifiziert im Wesentlichen zwei große Teilbereiche des Online-Banking: Einerseits werden mehrere Sicherheitsverfahren zur Authentifizierung und Verschlüsselung der Aufträge definiert, zum Beispiel Chipkarten oder PIN/TAN. Andererseits sind mit Geschäftsvorfällen Datenformate und Abläufe für die Ausführung einzelner Bankgeschäfte festgelegt, zum Beispiel Einzelüberweisung, Umsatzabruf eines Kontos, Änderung eines Dauerauftrags etc.
Sicherheitsverfahren
RSA-Schlüsseldiskette
HBCI unterstützt Disketten oder andere Datenträger als Sicherheitsmedium für ein selbsterzeugtes RSA-Schlüsselpaar. Die Transaktionen werden dabei durch eine digitale Signatur gegen unautorisierte Änderungen geschützt.
Zum Zeitpunkt der ersten HBCI-Veröffentlichung war eine Diskette noch das vorherrschende beschreibbare Wechselmedium, so dass oft von der „Schlüsseldiskette“ die Rede ist (alternativ: „Schlüsselmedium“), so kann auch jedes andere Speichermedium (zum Beispiel USB-Stick) genauso gut zur Anwendung kommen.
Für die Authentifizierung wird dabei in der Software des Kunden ein RSA-Schlüsselpaar mit 768 Bit Schlüssellänge erzeugt (HBCI2.x; ab FinTS3.0 auch 1024 bis 2048 Bit, genannt „Sicherheitsklasse RDH-2/3/4“). Danach wird vom Benutzer ein elektronischer Fingerabdruck (fingerprint) des öffentlichen Signaturschlüssels auf Papier ausgedruckt und unterschrieben an die Bank gesendet. Gleichzeitig wird der öffentliche RSA-Schlüssel elektronisch an den HBCI-Server der Bank gesendet. Die Bank kann anhand des unterschriebenen fingerprints sicherstellen, dass der elektronisch eingereichte Schlüssel auch tatsächlich und ausschließlich vom unterschreibenden Bankkunden stammt. Damit ist der selbsterzeugte Schlüssel auf sichere Weise authentifiziert und kann nun zur Signatur jedes Auftrages verwendet werden.
Zur Nachrichtenverschlüsselung kommt ein 2Key-Triple-DES-Verfahren zum Einsatz. Für jede Nachricht wird ein neuer 112-Bit-Einmalschlüssel generiert, der dann mit dem dauerhaften RSA- oder DES-Schlüssel verschlüsselt wird. Diese Vermischung des RSA- und DES-Verfahrens wird im HBCI-Standard als RSA-DES-Hybridverfahren (RDH) bezeichnet.
Das Speicherformat des RSA-Schlüssels auf dem Datenträger ist nicht im HBCI-Standard spezifiziert. Das Datenformat und ein Schutz des Sicherheitsmediums per PIN wird von jedem Software-Hersteller alleine festgelegt, was häufig dazu führt, dass selbsterzeugte Schlüssel einer HBCI-Software nicht von konkurrierenden HBCI-Programmen weiterverwendet werden können.
Erwähnenswert ist des Weiteren, dass bei einem PC mit aktiver Firewall der von HBCI genutzte Port 3000 (TCP) eventuell freigegeben werden muss.
DES-Chipkarte
Die Authentifizierung einer Chipkarte geschieht implizit dadurch, dass dem Bankkunden die Chipkarte überreicht wird. Die DES-Chipkarte enthält dabei 3DES-Schlüssel der Länge 112 Bit.
Wie auch beim eben erklärten RDH-Verfahren erfolgt die Verschlüsselung der zu übertragenden Daten nach dem 2Key-Triple-DES-Verfahren, das für die Verschlüsselung zwei DES-Schlüssel mit je 56 Bit verwendet. Die Kommunikationsdaten werden zuerst mit dem ersten Schlüssel verschlüsselt, mit dem zweiten Schlüssel entschlüsselt und nochmals mit dem ersten Schlüssel verschlüsselt. Die Entschlüsselung der Daten auf der Empfängerseite erfolgt nach demselben Prinzip in umgekehrter Reihenfolge. Der gesamte DES-Schlüssel hat eine Länge von 112 Bit. Durch die Verwendung von zwei Schlüsseln dieser Länge in der beschriebenen Weise wird die Sicherheit der Daten nicht verdoppelt, sondern potenziert.
RSA-Chipkarte
Bei einer RSA-Chipkarte ergeben sich die gleichen Abläufe wie bei einer Schlüsseldiskette, außer dass der erzeugte RSA-Schlüssel durch den Prozessor auf der RSA-Chipkarte erzeugt wird und der private Schlüssel dadurch nie die Chipkarte verlässt. Dies macht dieses Verfahren besonders sicher, allerdings sind RSA-Chipkarten noch immer recht teuer.
PIN/TAN
HBCI 2.2 wurde (zunächst inoffiziell) um das PIN/TAN-Verfahren erweitert. Man sprach hierbei von HBCI 2.2 PIN/TAN oder auch HBCI+. Seit der Version FinTS 3.0 können HBCI-Aufträge auch offiziell mit dem PIN/TAN-Verfahren authentifiziert werden. Die in HBCI+ und FinTS 3.0 Varianten des PIN/TAN-Verfahrens unterscheiden sich jedoch voneinander.
Die Datenübertragung erfolgt über eine gesicherte HTTPS/SSL-Verbindung, welche von Firewalls meistens zugelassen wird (Port 443). Dies stellt einen gewissen Vorteil dar gegenüber dem bisherigen HBCI, welches die Freigabe von Port 3000 benötigte. Dieses Verfahren nutzt die Vorteile von HBCI zusammen mit der gewohnten Handhabung von TAN-Listen, was besonders aus Sicht der Banken eine Vereinfachung des HBCI-Zugangs bedeutet.
Allerdings verliert man einige Sicherheitsvorteile von HBCI, zum Beispiel werden die Transaktionen bei PIN/TAN nicht mehr elektronisch signiert. Ein weiteres Problem ist das verstärkte Auftreten von Phishing nach PIN und TAN, also dem Erschleichen von PIN und TAN durch Trickbetrug. Trotzdem bieten immer mehr Kreditinstitute diesen Übertragungsweg an, besonders da bisherige PIN/TAN-Zugänge den veralteten Zugang über T-Online Classic (BTX) verwendeten, dessen Betrieb nur noch für Banking-Anwendung aufrechterhalten wurde und mit dementsprechend steigenden Kosten verbunden war.
Geschäftsvorfälle
Der HBCI-Server einer Bank meldet mittels Bank-Parameter-Daten (BPD), welche Geschäftsvorfälle diese Bank im Allgemeinen, und mittels User-Parameter-Daten (UPD), welche sie für einen Benutzer im Speziellen erlaubt.
Liste von HBCI-Geschäftsvorfällen
Kennung Name DKPAE PIN online ändern HIISA Übermittlung eines öffentlichen Schlüssels HIKIM Kreditinstitutsmeldung HIPRO Statusprotokoll rückmelden HIPROS Statusprotokoll Parameter HISYN Synchronisierungsantwort HKAOM EU-Überweisung HKAUB Auslandsüberweisung HKCCS SEPA-Zahlung HKDAB Dauerauftragsbestand holen HKDAE Dauerauftrag einrichten HKDAL Dauerauftrag löschen HKDAN Dauerauftrag ändern HKEKA Kontoauszug abholen HKEND Dialogende HKFPO Festpreisorder (Eigenhandel) HKIDN Identifikation HKISA Anforderung eines öffentlichen Schlüssels HKKAN Neue Kontoumsätze holen HKKAU Übersicht Kontoauszüge holen HKKAZ Kontoumsätze holen HKKDM Kundenmeldung HKLAS Einzellastschrift HKLSW Lastschriftwiderspruch HKNEZ Neuemission zeichnen (Neuemissionen) HKOAN Orderanzeige anfordern HKPPD Handykarte aufladen HKPRO Statusprotokoll holen HKQTG Quittung senden HKSAL Saldo holen HKSLA Sammellastschrift HKSLB Terminierte Sammellastschrift Bestand HKSLE Terminierte Sammellastschrift einreichen HKSLL Terminierte Sammellastschrift löschen HKSPA SEPA-Kontoverbindung anfordern HKSSP Schlüsselsperre HKSTP Euro-STP-Überweisung HKSUB Sammelüberweisung HKSYN Synchronisierungsnachricht HKTAB TAN-Medien-Bestand anzeigen HKTAU TAN-Generator an-/ummelden HKTAZ TAN-Liste anzeigen HKTML TAN-Medium deaktivieren/löschen HKTSB Terminierte Sammelüberweisung Bestand HKTSE Terminierte Sammelüberweisung einreichen HKTSL Terminierte Sammelüberweisung löschen HKTUA Terminüberweisung ändern HKTUB Bestand an Terminüberweisungen holen HKTUE Terminüberweisung einrichten HKTUL Terminüberweisung löschen HKUEB Einzelüberweisung HKUMB Umbuchung HKVVB Verarbeitungsvorbereitung HKWFO Fondsorder (Fonds) HKWPD Wertpapierdepotaufstellung holen HKWPK Wertpapierkursabfrage HKWPO Wertpapierorder (Aktien, Renten, Optionsscheine) HKWPR Wertpapierreferenznummern holen HKWPS Orderstreichung HKWSD Wertpapierstammdaten anfordern HKWSO Orderstatus anfordern FinTS – die Weiterentwicklung von HBCI
FinTS steht für „Financial Transaction Services“ und beinhaltet Sicherheitsverfahren mit elektronischer Signatur (Chipkarte oder selbsterzeugte RSA-Schlüsseldiskette) sowie im Unterschied dazu das Sicherheitsverfahren PIN/TAN. FinTS versteht sich als Baukastensystem (Legitimationsverfahren, Geschäftsvorfälle und Finanzdatenformate werden vom Protokoll getrennt).
FinTS 3.0 – Ausbau der möglichen Sicherheitsverfahren
FinTS 3.0 zeichnet sich insbesondere durch die Einführung der Signaturkarte als einheitliches Sicherheitsmedium aus. Mit dieser Signaturkarte kann eine rechtsverbindliche Erklärung im elektronischen Geschäftsverkehr abgegeben werden. Außerdem wurden die Sicherheitsverfahren an den aktuellen Stand der Technik angepasst, zum Beispiel wurde eine Erhöhung der Schlüssellänge vorgenommen. Die bisherige PIN/TAN-Erweiterung wurde in FinTS 3.0 als alternatives Sicherheitsverfahren zu HBCI aufgenommen.
Mit der Einführung von FinTS 3.0 wird die Bezeichnung „HBCI“ für eine bestimmte Gruppe der Sicherheitsverfahren verwendet, in denen die Chipkarten und RSA-Schlüsseldateien als „HBCI-Sicherheitsverfahren“ bezeichnet werden und vom PIN/TAN-Sicherheitsverfahren unterschieden werden. In den vorigen Versionen stand die Bezeichnung „HBCI“ allerdings für die Gesamtheit der Geschäftsvorfälle zusammen mit allen bekannten Sicherheitsverfahren. Insofern wäre es durchaus angemessen, von einer Umbenennung von HBCI in FinTS zu sprechen.
FinTS 4.0 – der Wechsel zur XML-Syntax
Mit FinTS 4.0 wurde die zugrundeliegende Nachrichtensyntax des Protokolls auf XML umgestellt. Darüber hinaus wurden die Möglichkeiten der Kommunikation zwischen Homebanking-Client und Banksystem weiter flexibilisiert. So wurde die Möglichkeit asynchroner Kommunikation (via SMTP) geschaffen. Auch kann nun das Banksystem von sich aus aktiv werden und dem Homebanking-Kunden zuvor von diesem abonnierte Informationen (zum Beispiel dessen Kontoumsätze) in einem vom Kunden festgelegten Turnus zusenden.
Literatur
- Ulrich Schulte am Hülse, Sebastian Klabunde: Das Abgreifen von Bankzugangsdaten im Online-Banking – Zur Vorgehensweise der Täter und neue zivilrechtliche Haftungsfragen des BGB. In: Multimedia und Recht (MMR). 13. Jg., Nr. 2, 2010, ISSN 1434-596X, S. 84–90.
Weblinks
- Homebanking-Computer-Interface Schnittstellenspezifikation (PDF): Gesamtdok_HBCI22.pdf
- Dokumentation und weiterführende Informationen zu HBCI und FinTS: http://www.hbci-zka.de/
- Suchmaske zur verwendeten Version des eigenen Instituts: http://www.hbci-zka.de/institute/institut_auswahl.htm
- Zentraler Kreditausschuss: http://www.zka.de/
- Softwareprojekt http://www.aquamaniac.de/aqbanking/
- Open Source Electronic Banking Softwareprojekt Hibiscus: http://www.willuhn.de/products/hibiscus/
- Wie sicher ist HBCI-Banking?: http://www.ilex-recht.de/2010/wie-sicher-ist-hbci-banking.html
- HBCI4Java ist eine Open-Source-Bibliothek für die Entwicklung von HBCI-fähigen Client-Anwendungen in Java: http://hbci4java.kapott.org/
- Programmbibliothek des Informatikzentrums der Sparkassenorganisation GmbH in Native C: http://www.hbci-kernel.de/
Kategorie:- Netzwerkprotokoll (E-Banking)
Wikimedia Foundation.