1) Ob eine kontaktlose Java Card für das Banking zugelassen ist, hängt davon ab, ob sie die entsprechende Typgenehmigung besitzt. Welche Typgenehmigungen benötigt werden, hängt von der Bank und der Bankanwendung ab. Typische Typgenehmigungen, die benötigt werden, sind Common Criteria und die Typgenehmigung der Master Card. Common Criteria wird nicht nur auf verschiedene Elemente der Karte selbst angewendet (wie der Chip, das Betriebssystem und die Anwendung), sondern auch auf die Entwicklungsorganisation (Gebäudesicherheit, IT-Sicherheit usw.).
2) Ja, eine einzelne Java Card unterstützt mehrere Anwendungen. Eine moderne SIM-Karte wie G & D SkySIM CX (die neben ISO 7816 sogar gleichzeitig NFC (ISO 14443 via SWP) unterstützt) beherbergt eine Vielzahl von Anwendungen gleichzeitig: Die Anwendung GlobalPlatform Card Manager, ETSI GSM/UICC-Anwendung , MIFARE, MasterCard, Visa, verschiedene Anwendungen des Telco-Anbieters und sogar einen Smart Card Web Server. Java Card-Smartcards, die mehrere Anwendungen unterstützen, implementieren normalerweise die GlobalPlatform-Spezifikation, um den Lebenszyklus der Karte sowie den Lebenszyklus dieser Anwendungen (Authentifizierung/Autorisierung, Laden, Installation, Speicherzuweisung/-kontingent, Auswahl, Abwahl, Terminierung) zu verwalten. .
3) Das Protokoll besteht aus mehreren Schichten, von denen die meisten öffentlich sind. Die unteren Schichten, wie ISO 7816, beschreibt die "Pakete" (APDUs) und allgemeine Eigenschaften von Smartcards, ISO 14443, beschreibt die Eigenschaften von kontaktlosen Karten, SWP, die die Situation beschreibt, wenn eine kontaktbasierte Karte ISO 7816 verwendet C6 Pin zum Delegieren von ISO 14443 an ein kontaktloses Frontend, Global Platform und Java Card sind öffentlich. Ich bin mir jedoch nicht sicher, wie öffentlich die Spezifikationen von Visa und MasterCard sind.
4) Für eine solche Simulation müssen Sie auch die Terminalseite simulieren. Ihr Applet muss die Anwendungsseite der Visa-Spezifikation implementieren, und Ihr Terminal muss eine Smartcard-Client-Anwendung ausführen, die diese Befehle auslöst. Dies ist jedoch der normale Weg, um grundsätzlich alle Smartcard-Anwendungen zu testen.
Wenn Sie mit "tatsächliches Zahlungsterminal" ein echtes Zahlungsterminal meinen, können Sie Ihre Simulation damit nicht ausführen, weil Sie nicht die erforderlichen Geheimnisse (Schlüssel usw.) haben würden. Das eigentliche Zahlungsterminal würde zuerst Ihr Visa-Applet erkennen, dieses aber ablehnen, da ihm die richtigen Schlüssel fehlen. Das Testen wird immer mit speziellen Testschlüsseln durchgeführt, und echte Schlüssel sind normalerweise während der Entwicklung nicht verfügbar. Abhängig von der Anwendung können entweder die echten Schlüssel während der Personalisierung der Anwendung eingefügt werden, oder die Anwendung wird mit kartenspezifischen Schlüsseln erzeugt, die sich bei einem Hintergrundserver registrieren müssen. Für Details sollten Sie die entsprechende Spezifikation konsultieren.
Falls Sie sich wundern, warum Ihre Frage abgelehnt wird: Sie haben 4 Fragen in einem geschrieben. Es ist einfacher für Menschen, Fragen und Antworten zu finden, wenn jeder Eintrag genau eine Frage in der Überschrift ist, und eine Beschreibung der Frage im Fließtext. In deinem Fall solltest du 4 Fragen gestellt haben. –