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.

Seit der Version 3.0 wurde HBCI in Financial Transaction Services (FinTS) umbenannt.

Für Geschäftskonten wird EBICS bevorzugt, da es (aufgrund des verpflichtenden DFÜ-Abkommens) in Deutschland von allen Kreditinstituten unterstützt wird und auch in Frankreich, der Schweiz und Österreich weit verbreitet ist. Für Kreditkarten-, Devisen- und ähnliche Konten gibt es bisher keine einheitliche Schnittstellen, weshalb Entwickler dort meist auf die Schnittstellen einzelner Anbieter angewiesen sind oder auf Screen Scraping zurückgreifen müssen.

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 3000HBCI Homebanking-Computer-Interface – Schnittstellenspezifikation – VIII.6.2 TCP/IP 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.ZKA (PDF; 27 kB)

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.ZKA Spezifikation FinTS 3.0 Alternative ZKA Sicherheitsverfahren (PDF; 1,2 MB) 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 Abgerufen am 14. Februar 2016. 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 mini|HBCI-Chipkartenleser der Sicherheitsklasse 2 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.