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.

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

Vom HBCI bzw. FinTS werden nur Privatkonten unterstützt. Für Geschäftskonten ist EBICS gesetzlich vorgeschrieben. 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 3000 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.

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. 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 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 Freischaltung 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.

FinTS – die Weiterentwicklung von HBCI 
Im Jahre 2002 wurde die Weiterentwicklung von HBCI als FinTS Version 3.0 veröffentlicht.
FinTS steht für „Financial Transaction Services“.

Bereits unter HBCI 2.2 waren seitens der Institute des DSGV verbandsspezifische Geschäftsvorfälle unter dem Namen „HBCI-Erweiterung PIN/TAN“ entwickelt und eingesetzt worden. Diese Geschäftsvorfälle wurden dann den Instituten der anderen Verbände des ZKA zur eigenen Verwendung zur Verfügung gestellt. In der Version FinTS 3.0 wurde dieses Verfahren schließlich als alternative Sicherheitslösung in den ZKA-weiten FinTS-Standard aufgenommen.

FinTS beinhaltet Sicherheitsverfahren mit elektronischer Signatur (Chipkarte oder selbsterzeugte RSA-Schlüsseldiskette) sowie das Sicherheitsverfahren PIN/TAN. FinTS versteht sich als Baukastensystem aus dem zugrundeliegenden FinTS-Protokoll, Sicherheitsverfahren, Geschäftsvorfällen und Finanzdatenformaten. Die verschiedenen Bauteile werden jeweils in eigenen Spezifikationsbänden einzeln definiert. Der Einsatz einzelner Geschäftsvorfälle ab der HBCI-Version 2.0.1 ist dabei nicht an die Version der Spezifikation gebunden, unter der der Geschäftsvorfall ursprünglich veröffentlicht wurde. So kann z. B. ein Geschäftsvorfall aus HBCI 2.2 durchaus unter FinTS 3.0 weiter eingesetzt werden, sofern er selbst sowie ein von ihm transportiertes Fremdformat fachlich bzw. rechtlich noch gültig ist.

FinTS 3.0 – Ausbau der möglichen Sicherheitsverfahren 
FinTS 3.0 zeichnet sich insbesondere durch die Einführung der SECCOS-HBCI-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 den vom W3-Konsortium spezifizierten XML-Sprachstandard umgestellt. Durch den konsequenten Gebrauch von XML-Signaturen, XML-Schemata und XML-Namensräumen wird die Integration mit anderen Zahlungssystemen erleichtert. 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.

FinTS 4.1 
Im November 2018 wurde die Version 4.1 veröffentlicht und Version 4.0 nicht mehr weiter entwickelt.

FinTS 4.1 wurde jedoch, genau wie die Version 4.0, nicht von den Banken implementiert. Einzig der Bank-Verlag hat eine Implementierung registriert. Der Grund dafür ist, dass FinTS 3.0 von den Banken bereits implementiert wurde und daher kein Bedarf bestand, auf einen neueren Standard zu wechseln.

Abschaltung 
Mit Einführung der Überarbeiteten Zahlungsdiensterichtlinie (PSD2), wurden die Banken zu deren Implementierung verpflichtet. Bis dies umgesetzt wurde, müssen die Banken einen Notfallmechanismus bereitstellen, was von den deutschen Banken durch FinTS getan wurde.
Sobald die Banken eine Schnittstelle im Sinne der PSD2 geschaffen haben, können sie eine Ausnahmegenehmigungen von der Bereitstellung eines Notfallmechanismus beantragen, was dazu führt, dass die Banken mit der Bewilligung der Ausnahmegenehmigung FinTS abschalten dürfen und es aus Kostengründen auch in der Regel tun.

Siehe auch 
 Electronic Banking Internet Communication Standard (EBICS)
 Zahlungsdiensterichtlinie bzw. Payment Services Directive (PSD), insbesondere PSD2

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, , S. 84–90.

Weblinks 
 Homebanking-Computer-Interface (HBCI/FinTS) Schnittstellenspezifikationen
 FinTS - Financial Transaction Services (Die Deutsche Kreditwirtschaft)

Einzelnachweise 

Netzwerkprotokoll (E-Banking)