Hallo,
ich habe jetzt herausgefunden woher die Probleme mit Chipkartenlesern mit Windows 8 kommen. Die Ursache ist folgende Änderung in Windows 8:
http://technet.microsoft.com/e…BKMK_TransSubsembly Banking hält während des ganzen HBCI-Dialogs eine SCard-Transaktion offen. Dies ist aus Sicherheitsgründen erforderlich, denn ohne offene SCard-Transaktion könnte ein parallel auf dem PC laufender Trojaner dazwischenfunken und die mit der eingegebenen PIN authentifizierte Karte einfach für seine Zwecke nutzen. Durch die SCard-Transaktion wird die Nutzung durch andere Prozesse unterbunden. Subsembly Banking gibt erst am Ende des HBCI-Dialogs die Chipkarte wieder frei und setzt diese dann auch so zurück, dass die PIN für eine weitere Nutzung erneut eingegeben werden muss.
In Windows 8 wird jetzt jedoch eine offene SCard-Transaktion zurückgesetzt, wenn für mehr als fünf Sekunden die Chipkarte nicht genutzt wird. Das kann zum Beispiel passieren, wenn die Antwort der Bank auf eine HBCI-Nachricht länger als fünf Sekunden dauert. Es kommt dann zum beobachteten Fehlercode 0x00000068.
Andere Banking-Programme, welche dieses Problem nicht haben, schützen die Interaktion mit der Chipkarte nicht über eine SCard-Transaktion und haben somit ein riesiges Sicherheitsloch! Ohne die Interaktion mit der Chipkarte über eine SCard-Transaktion zu schützen bringt selbst ein Klasse 2 Chipkartenlesers absolut nichts. Denn, was bringt es die PIN-Eingabe selbst zu schützen wenn anschließend die mit der PIN authentifizierte Chipkarte im Chipkartenleser zur freien Verwendung für alle Trojaner auf dem PC freigegeben ist.
Für Subsembly Banking gibt es damit nun ein Dilemma: Das Problem kann nur gelöst werden wenn man die Sicherheit der SCard-Transaktion aufgibt und somit die Verwendung von Klasse 2 Chipkartenleser ins absurde führt. Oder man müsste für jede HBCI-Nachricht die Chipkarten-PIN neu eingeben - also rund ein Dutzend mal pro Konto pro Rundruf. Beides eigentlich keine Lösung.
Im Augenblick bin ich ratlos.