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.
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) softwareimplementiert arbeiten. Kryptographische Schlüssel werden dann z. B. in Dateien gespeichert. Bei der Eingabe wird eine Datenverbindung vom Computer zur Bank aufgebaut. Diese Verbindung nutzt je nach HBCI-Version entweder ein eigenes HBCI-Protokoll auf TCP-Port 3000[1] oder das für Webseiten übliche Protokoll HTTPS.
Einen höheren Sicherheitsstandard bietet HBCI mit Chipkarte. Der Schlüssel wird hierbei von der Chipkarte selbst erzeugt und ausschließlich auf dieser gespeichert. Damit dieser nicht kompromittiert werden kann, ist der Schlüssel von außen nicht auslesbar. Die gesamte kryptografische Verschlüsselung findet daher auf der Chipkarte statt und wird von deren Prozessor ausgeführt. Die hierbei zum Einsatz kommenden Verfahren sind das symmetrische DES-DES-Verfahren (DDV) und das teilasymmetrische RSA-DES-Hybridverfahren (RDH). Die HBCI-Chipkarten werden dementsprechend der Verfahren nach als DDV-Karten und RDH-Karten bezeichnet und unterschieden.
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.[2]
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 das PIN/TAN-Verfahren aus HBCI+ als alternative Sicherheitslösung in den HBCI-Standard aufgenommen, sowie Signaturkarten hinzugefügt wurde. 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 auf XML und XML-Schemata umgestellt, HTTPS als Kommunikationsprotokoll verwendet und weitere 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. HBCI mit Chipkarte und Kartenleser nach Secoder-Standard gelten derzeit als das Nonplusultra an Sicherheit, wobei die jeweilige Bank sowie die Homebanking-Software die Secoder-Erweiterung für HBCI unterstützen müssen.[3] Erfolgreiche Angriffe auf diese Konfiguration sind unbekannt. Die nachfolgend genannten theoretischen Angriffsszenarien gelten nur für Kartenleser, die nicht dem Secoder-Standard entsprechen:
Theoretisch könnte ein Schadprogramm 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. Allerdings ist so ein Fall noch nicht bekannt geworden – aus gutem Grund: Angreifer nutzen wegen der Streuwirkung in der Regel Sicherheitslücken in Betriebssystemen oder oft genutzten Programmen wie Browsern. Für das vorgenannte Angriffsszenario müsste das Schadprogramm ganz spezifisch auf ein bestimmtes Homebanking-Programm zugeschnitten werden. Da Homebanking im Vergleich zu online-Banking viel seltener genutzt wird und diverse Programme in Konkurrenz stehen, stünde der erhebliche Aufwand aufgrund der kleinen Zielgruppe in einem ungünstigen Verhältnis zum „Nutzen“ – was derartige Angriffe extrem schwierig und damit unwahrscheinlich macht.
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 Chipkarten-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-Chipkarten Verfahren bieten Verfahren mit TAN-Generatoren.
Sicherheitslücken
Im September 2001 gelang es Hackern im Auftrag der ARD-Sendung Ratgeber Technik[4] erstmals, einen HBCI-Server der Münchner Hypovereinsbank 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. Da der Signaturvorgang in der Karte erfolgt (aus der man den geheimen Schlüssel nicht auslesen kann), kann ein Angreifer dem Server der Bank keine autorisierte Transaktion vortäuschen.
Eine weitere Sicherheitshürde besteht darin, dass der Bankkunde, um den Vorgang freizuschalten, zum Signieren außerdem seine PIN eingeben muss.
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 oder RSA-Chipkarte) 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.
DES-Chipkarte
Die Authentifizierung einer Chipkarte geschieht implizit dadurch, dass dem Bankkunden die Chipkarte überreicht wird. Die DES-Chipkarte enthält dabei Triple-DES-Schlüssel der Länge 112 Bit.
Wie auch beim eben beschriebenen 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, dann wird der Entschlüsselungs-Algorithmus mit dem zweiten Schlüssel auf das Zwischenresultat angewendet und dieses Zwischenresultat 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+. Ab 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 verwendeten 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
Verfügbare und unterstützte Bankparameter laut ZKA und Server Rückmeldung der jeweiligen Bank.
Kennung | Name | Spk Ha 450 500 01 | Postbank Do 440 100 46 |
---|---|---|---|
DKPAE | PIN online ändern | x | x |
HIISA | Übermittlung eines öffentlichen Schlüssels | - | - |
HIKIM | Kreditinstitutsmeldung | - | - |
HIPRO | Statusprotokoll rückmelden | - | - |
HIPROS | Statusprotokoll Parameter | - | - |
HISYN | Synchronisierungsantwort | - | - |
HKAOM | EU-Überweisung | x | x |
HKAUB | Auslandsüberweisung | - | - |
HKCAN | Kontoumsätze/neue Umsätze (camt) | - | - |
HKCAZ | Kontoumsätze im Format camt anfordern / Zeitraum | - | - |
HKCCS | SEPA-Zahlung | x | x |
HKDAB | Dauerauftragsbestand holen | x | x |
HKDAE | Dauerauftrag einrichten | x | x |
HKDAL | Dauerauftrag löschen | x | x |
HKDAN | Dauerauftrag ändern | x | x |
HKECA | Kontoauszug (camt) | - | - |
HKEKA | Kontoauszug abholen | x | x |
HKEND | Dialogende | - | - |
HKFPO | Festpreisorder (Eigenhandel) | - | - |
HKIDN | Identifikation | - | - |
HKISA | Anforderung eines öffentlichen Schlüssels | - | - |
HKKAN | Neue Kontoumsätze holen | - | - |
HKKAU | Übersicht Kontoauszüge holen | - | x |
HKKAZ | Kontoumsätze holen | x | x |
HKKDM | Kundenmeldung | x | - |
HKLAS | Einzellastschrift | - | - |
HKLSW | Lastschriftwiderspruch | x | - |
HKNEZ | Neuemission zeichnen (Neuemissionen) | - | - |
HKOAN | Orderanzeige anfordern | - | - |
HKPPD | Handykarte aufladen | x | - |
HKPRO | Statusprotokoll holen | - | x |
HKQTG | Quittung senden | - | - |
HKSAL | Saldo holen | x | x |
HKSLA | Sammellastschrift | - | - |
HKSLB | Terminierte Sammellastschrift Bestand | - | x |
HKSLE | Terminierte Sammellastschrift einreichen | - | x |
HKSLL | Terminierte Sammellastschrift löschen | - | x |
HKSPA | SEPA-Kontoverbindung anfordern | x | x |
HKSSP | Schlüsselsperre | - | - |
HKSTP | Euro-STP-Überweisung | - | - |
HKSUB | Sammelüberweisung | x | x |
HKSYN | Synchronisierungsnachricht | - | - |
HKTAB | TAN-Medien-Bestand anzeigen | x | x |
HKTAU | TAN-Generator an-/ummelden | x | - |
HKTAZ | TAN-Liste anzeigen | x | - |
HKTML | TAN-Medium deaktivieren/löschen | - | - |
HKTSB | Terminierte Sammelüberweisung Bestand | x | x |
HKTSE | Terminierte Sammelüberweisung einreichen | x | x |
HKTSL | Terminierte Sammelüberweisung löschen | x | x |
HKTUA | Terminüberweisung ändern | x | - |
HKTUB | Bestand an Terminüberweisungen holen | x | x |
HKTUE | Terminüberweisung einrichten | x | x |
HKTUL | Terminüberweisung löschen | x | x |
HKUEB | Einzelüberweisung | x | x |
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.
Siehe auch
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.
Einzelnachweise
- HBCI Homebanking-Computer-Interface – Schnittstellenspezifikation – VIII.6.2 TCP/IP
- ZKA HBCI/FinTS Versionen Vergleich (Memento des Originals vom 27. Januar 2012 im Internet Archive) Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis. (PDF; 27 kB)
- ZKA Spezifikation FinTS 3.0 Alternative ZKA Sicherheitsverfahren (PDF; 1,2 MB)
- Unsicheres Online-Banking: ARD lässt Bankrechner „hacken“ (Memento des Originals vom 14. Februar 2016 im Internet Archive) Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis. Abgerufen am 14. Februar 2016.