Architekturen für den Zugriff auf Smartcards über einen allgemeinen Browser? Oder: Wie kann die Lücke zwischen Browser und PC / SC-Stack geschlossen werden?

Welche clientseitigen Architekturen bieten sich an, um von einem allgemeinen Browser (der über http (s) mit einem Server verbunden ist), vorzugsweise von Javascript, mit minimalem Installationsaufwand für den Endbenutzer auf eine lokale Smartcard zuzugreifen? Der Server muss in der Lage sein, APDUs seiner Wahl an die Karte auszugeben (oder einen Teil davon an den von ihm generierten clientseitigen Code zu delegieren). Ich gehe davon aus, dass auf der Clientseite ein funktionierender PC / SC-Stack verfügbar ist, der mit einem Smartcard-Leser ausgestattet ist. Dies ist zumindest unter Windows seit XP, OS X und Unixes eine vernünftige Annahme.

Bisher habe ich folgende Optionen identifiziert:

Einige benutzerdefinierte ActiveX. Das ist, was meine vorhandene Anwendung verwendet (wir haben es selbst entwickelt), die Bereitstellung ist für Kunden mit Internet Explorer recht einfach, sobald sie die Erlaubnis zur Installation von ActiveX erhalten, aber sie entspricht nicht den Anforderungen des "generischen Browsers".
Aktualisieren: ActiveX wird hauptsächlich vom veralteten IE unterstützt, einschließlich IE11. aber nicht von Edge.Einige PC / SC-Browsererweiterungen, die die Netscape-Plugin-API verwenden, scheinen eine reibungslose Erweiterung der oben genannten zu sein. Das einzige fertige, das ich gefunden habe, istSConnect, aber es scheintfast tot, seine APIDokumentation (Webarchiv) ist nicht mehr offiziell verfügbar und es besteht eine starke Bindung zu einem bestimmten Smartcard-Anbieter. Das Prinzip mag nett sein, aber ein solches Plugin für jede Plattform zu erstellen, wäre eine Menge Arbeit.
Aktualisieren: NPAPI-Unterstützung wird von vielen Browsern, einschließlich Chrome und Firefox, nicht mehr unterstützt.Ein Java-Applet, das auf Oracle JVM (1.) 6 oder höher ausgeführt wird und im Lieferumfang enthalten istjavax.smartcardio. Unter funktionalen Gesichtspunkten ist das in Ordnung, gut dokumentiert, ich kann mit den wenigen bekannten Fehlern leben, aber ich habe Angst vor einer unwiderstehlichen Abwärtsspirale hinsichtlich der Akzeptanz von Java als Browser-Erweiterung.

Irgendeine andere Idee?

Außerdem: Gibt es eine Möglichkeit, den Missbrauch der PC / SC-Schnittstelle, über die der Browser verfügt, durch einen betrügerischen Server zu verhindern (z. B. die Eingabe von 3 falschen PINs zum Sperren einer Karte, nur um deren Bösartigkeit willen oder um noch schlimmere Dinge zu begehen).

Antworten auf die Frage(10)

Ihre Antwort auf die Frage