Moin,

On Donnerstag, 7. August 2008, Stefan Schimanski wrote:
[...]
> PIN/TAN-Verfahren brav 3 solche an der Zahl: SmartTan, iTan und
> mobileTAN, um dann beim Abruf der Buchungen zu melden, dass das
> selektierte Verfahren SmartTan nicht erlaubt ist. Vielleicht sollten
> Banken nur Kunden mit hellseherischen Fähigkeiten akzeptieren. Dann
> klappt das auch mit dem HBCI :-/
[...]

Es wuerde ja schon reichen, wenn sich die Server auf allgemein verwendete 
Fehlercodes einigen koennten. Manche Bankserver antworten entweder gar nicht, 
wenn denen das eingestellte Verfahren nicht passt, manche antworten mit 
Fehlercodes, die eigentlich auch fuer andere Dinge verwendet werden.

Man stelle sich mal folgendes, nicht wirklich realitaetsferne Scenario vor:


Einrichtung Pin/TAN
============

Hierfuer sind ca 2 Dinge relevant:
1) die unterstuetzte HBCI/FinTS-Protokollversion (2.20 oder 3.00)
2) die fuer den Benutzer zugelassenen Zweischrittverfahren.

Schon 1) ist gar nicht so einfach; es gibt keine allgemein gueltigen Codes 
fuer den Fall, dass die vom Programm gewaehlte Version nicht vom Server 
unterstuetzt wird. Jeder Server gibt hier etwas anderes zurueck. Zwar gibt es 
spezielle BPD, in denen die Bank die unterstuetzten Versionen zurueckliefert, 
aber die bekomme ich ja erst, wenn ich mich erfolgreich mit der Bank 
verbunden habe ->erstes Ei-Henne-Problem

2) Die Banken melden eigentlich als Code 3920 zurueck, wenn man sich 
verbindet. Als Parameter sind hier die Zweischritt-Verfahren enthalten, die 
fuer den Benutzer zugelassen sind. Da man beim ersten Verbinden ja noch gar 
nicht wissen kann, *welche* Verfahren die Bank unterstuetzt, muss man im 
Zweifel erst einmal mit dem Einschritt-Verfahren testen. Wenn die Bank das 
nicht erlaubt, gibt es einen Dialog-Abbruch, aber ich bekomme vielleicht 
wenigstens noch das 3920.

Nun muss man aber sicherstellen, dass der Grund fuer den Dialog-Abbruch auch 
wirklich im eingestellten Verfahren zu suchen ist, und nicht beispielsweise 
in einer falschen Pin. Bei einer falschen Pin gibt es naemlich auch etliche 
Codes, die die Server so zurueckgeben (obwohl eigentlich auch dafuer Codes 
vorgesehen sind, aber die verwendet kaum ein Server).

Insgesamt: Man muss hier fuer die erste Verbindung viel ausprobieren, d.h. 
einige Dialog-Versuche unternehmen, und aus den Antworten versuchen 
herauszufinden, was die Bank meint. Wenn also ein Abbruch kommt, kann das 
mehrere Gruende haben:

1) die HBCI-Version ist falsch
2) das Ein-/Zweischrittverfahren ist falsch
3) die Pin ist falsch
4) die Benutzerkennung ist falsch

Ausgerechnet also bei diesem komplizierten Pin/Tan-Verfahren kommt uns der 
Bankserver ueberhaupt nicht entgegen; zwar liefern die meisten Server 
menschen-lesbare Fehlermeldungen, aus denen ein erfahrener User oft sogar den 
Grund des Abbruches ersehen kann, aber die Anwendung kann hier nicht sicher 
sein, dass die Ursache eben nicht die falsche Pin oder Benutzerkennung ist.

Die Unterschiede sind sehr entscheidend: Wenn die Ursache eine falsche 
HBCI-Version ist, koennen wir einfach den gleichen Request mit einer anderen 
Version probieren. Auch so beim falschen Zweischritt-Verfahren. Wenn aber die 
Pin falsch ist, muessen die wilden Versuche abgebrochen werden und der 
Benutzer noch einmal darueber nachdenken, was er eingegeben hat.


Das macht halt gerade die Pin-Tan-Einrichtung so schwierig, und nicht immer 
maschinell automatisch moeglich.

Bei den echten HBCI-Verfahren ist es hingegen einfach: Hier gibt es keine X 
verschiedenen Tausendschritt-Verfahren; hier kann ich gefahrlos mehrere 
HBCI-Versionen durchtesten, bis ich eine gefunden habe, die der Server 
versteht. Und auch wenn die Pin falsch ist: Die Rueckmeldung bekomme ich 
schon lokal und praezise, d.h. die Anwendung *weiss*, dass es an der Pin 
liegt.


Gruss
Martin

-- 
"Things are only impossible until they're not"

Martin Preuss - http://www.aquamaniac.de/
AqBanking - http://www.aqbanking.de/
LibChipcard - http://www.libchipcard.de/

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Aqbanking-devel mailing list
Aqbanking-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/aqbanking-devel

Reply via email to