Per Kommandozeile in die Stadtsparkasse

Holger Blasum, http://www.blasum.net/holger/wri/econ/finance/hbci/muenchen2004/ (1. Open Source Infotainment Day München 15.10.2004)

Quick-and-Dirty: PIN-TAN mit libwww-perl

Eine Alternative ist es, ein PIN-TAN-Verfahren mittels Clientscript zu automatisieren. Nachteile derartiger Verfahren: notgedrungen instabil, abhängig von Websitegestaltung. Auch macht z.B. die Sparkasse m.W. das Lastschriftverfahren nicht über das Web. Statt eines Webinterfaces ist es naheliegend, verschiedene Transaktionen hintereinanderzulegen und dann verschlüsselt an eine Bank zu schicken. Das wird auch mit dem OFX-Verfahren so gemacht (XML-File via SSL).

HBCI

Anforderungen an ein Homebankingverfahren

In Deutschland hatten die meisten Banken allerdings bereits 1997/98 (also genau *vor* dem Durchbruch sowohl von XML wie auch SSL) einen Standard, der OFX-ähnliches tut vereinbart, HBCI (ausgelegt ist HBCI auf Internationalisierbarkeit, auch die Dokumentation ist auf Englisch verfügbar). Die von HBCI Syntax ist eine eigene (EDIFACT-ähnlich, z.T. mit Einsprengseln von DTAUS und SWIFT) und zur Verschlüsselung wird entweder ein RSA-Verfahren (RDH) verwendet oder symmetrische DES-Verschlüsselung (DDV), wobei der Schlüssel auf einer Chipkarte gespeichert wird. Die Popularität der Chipkartenlösung (auch von der Sparkasse ausgegeben) liegt möglicherweise z.T. an der breiten vorherigen Auslieferung der Krankenkassenkarten 1993.

Stadtsparkasse München

Bei der Stadtsparkasse vertrieben wird eine HBCI-fähige DDV- Geldkarte mit einem Chipdrive micro 110V4.30A sowie das Programm Starfinanz. Nachteile von Starfinanz sind (a) es läuft nicht unter Unix, (b) es muss gelegentlich upgedated werden (kostet nur einen niederzweistelligen EUR-Betrag aber auf das Zuschicken der CD zu warten nervt), (c) Dokumentation zielt eher auf den Point-und-Klick-Benutzer ab, Skriptfähigkeit unklar, (d) es sind oft Netzwerkupdates fällig, deren Sinn unklar ist. Deshalb scheint es legitim, sich alternativ aqmoney anzuschauen. Es folgt eine Installationsanweisung und Übersicht über eine Befehle.

Benutzungstutorial

Entwicklersicht: aqmoney und openhbci

aqmoney ist ein schlanker wrapper um OpenHBCI, der von Martin Preuss und anderen entworfenen recht modularen Implementierung von HBCI. Geschrieben ist openhbci in C++, wer es von C++ aus nutzen will, findet in den modularen Codebeispielen (meist nur wenige 100 Programmzeilen) von aqmoney reichlich Referenzmaterial, hier z.B. Programm, das geladene Plugins listet. Openhbci kommt mit eigenem Garbagecollector (deshalb die eigene pointer.h-Template), und verwendet neben den C- Bibliotheken auch openssl. Die openhbci-Bibliothek wird auch von anderen Programmen verwendet, z.B. gnucash-hbci. Noch nicht implementiert sind in openhbci derzeit z.B. fortgeschrittenere Funktionen aus HBCI 2.2 zur Wertpapierverwaltung über SWIFT, aber auch die meisten Banken bieten dieses noch nicht. Openhbci und libchipcard (für die Chipkartenschlüssel) sind LGPL, aqmoney GPL. Die Abstraktionsbibliothek gwenhywfar wird nur für aqmoney benötigt.