Elektronisches Transaktionsverfahren und Computersystem
B e s c h r e i b u n g
Die Erfindung betrifft ein elektronisches Transaktionsverfahren sowie ein Computer- System.
Für den elektronischen Handel, das heißt den sogenannten eCommerce, sind verschiedene Transaktionsverfahren bekannt. Dazu gehören übliche Zahiungsverfah- ren wie zum Beispiel eine papiergebundenen Überweisung oder die Zahlung per Nachnahme sowie elektronische Zahlungsverfahren, wie zum Beispiel Kreditkartenzahlung, die Zahlung per Online-Banking, Inkasso/Billing-Systeme, Factory- Systeme, elektronische Lastschrift, Prepaidverfahren, Zahlung per Telefonrechnung
sowie Handy-Payment-Systeme. Solche Zahlungsverfahren werden zum Teil auch für eGovernment Anwendungen eingesetzt.
Der Erfindung liegt demgegenüber die Aufgabe zugrunde, ein verbessertes elektro- nisches Transaktionsverfahren sowie ein entsprechendes Computersystem zu schaffen.
Die der Erfindung zugrunde liegende Aufgabe wird jeweils mit den Merkmalen der unabhängigen Patentansprüche erfüllt. Ausführungsformen der Erfindung sind in den abhängigen Patentansprüchen angegeben.
Unter einer„Transaktion" wird hier eine finanzielle Transaktion, wie zum Beispiel die Bezahlung eines Bezahlbetrags durch Vornahme einer Überweisung, eines Last- schrifteinzugs oder Belastung einer Kreditkarte, ein Bestellvorgang zur Bestellung und Lieferung eines physischen Gutes oder von Daten sowie andere logistische, Handels- und/oder Finanztransaktionen verstanden.
Unter einer„Session" wird hier eine temporäre Kommunikationsverbindung, das heißt eine sog. Communication Session, verstanden, die sich gemäß OSI- Schichtmodell auf die Transportschicht („transport layer") oder die Anwendungsschicht („application layer") beziehen kann. Insbesondere kann es sich bei einer Session um eine http-Session oder um eine https-Session handeln, wobei bei letzterer der Transportlayer durch eine symmetrische Verschlüsselung geschützt ist. Unter einem„ID-Token" wird hier insbesondere ein tragbares elektronisches Gerät verstanden, welches zumindest einen Datenspeicher zur Speicherung des zumindest einen Attributs und eine Kommunikations-Schnittstelle zum Auslesen des Attributs aufweist. Vorzugsweise hat der ID-Token einen gesicherten Speicherbereich zur Speicherung des zumindest einen Attributs, um zu verhindern, dass das in dem Speicherbereich gespeicherte Attribut in unerlaubter Weise verändert oder ohne die dafür erforderliche Berechtigung ausgelesen wird.
Insbesondere kann es sich bei dem ID-Token um einen USB-Stick handeln oder ein Dokument, insbesondere ein Wert- oder Sicherheitsdokument. Unter einem„Doku-
menf werden erfindungsgemäß papierbasierte und/oder kunststoff basierte Dokumente verstanden, wie zum Beispiel elektronische Ausweisdokumente, insbesondere Reisepässe, Personalausweise, Visa sowie Führerscheine, Fahrzeugscheine, Fahrzeugbriefe, Firmenausweise, Gesundheitskarten oder andere ID-Dokumente sowie auch Chipkarten, Zahlungsmittel, insbesondere Banknoten, Bankkarten und Kreditkarten, Frachtbriefe oder sonstige Berechtigungsnachweise, in die ein Datenspeicher zur Speicherung des zumindest einen Attributs integriert ist.
Bei dem ID-Token kann es sich um einen Hardwaretoken handeln oder um einen Softtoken, wenn dieser kryptograftsch an einen Hardwaretoken, das heißt beispielsweise an ein sogenanntes Secure Element, gebunden ist. insbesondere kann ein solcher kryptografisch an ein Secure Element gebundener Softtoken gemäß DE 10 2011 082 101 , deren Offenbarungsgehalt voll umfänglich zum Offenbarungsgehalt der vorliegenden Patentanmeldung gemacht wird, erzeugt werden.
Unter einem„I D-Provider-Computersystem" wird hier ein Computersystem verstanden, welches dazu ausgebildet ist, zumindest ein Attribut aus dem ID-Token eines Nutzers auszulesen. Vorzugsweise wird das ID-Provider-Computersystem in einem sogenannten Trustcenter betrieben, um ein möglichst hohes Maß an Sicherheit zu schaffen.
Unter einem„Dienst-Computersystem" wird hier ein Computersystem verstanden, welches über eine Netzwerk-Schnittstelle zur Verbindung mit dem Netzwerk verfügt, sodass mithilfe eines Internetbrowsers oder eines anderen Anwendungsprogramms auf von dem Dienst-Computersystem gespeicherte oder generierte Internetseiten zugegriffen werden kann. Insbesondere kann es sich bei dem Dienst- Computersystem um einen Internetserver zur Verfügungsteliung einer eCommerce- oder eGovernment-Anwendung handeln, insbesondere einen Onlineshop oder einen Behördenserver.
Unter einem„Nutzer-Computersystem" wird hier ein Computersystem verstanden, auf welches der Nutzer Zugriff hat. Hierbei kann es sich zum Beispiel um einen Per-
sonal Computer (PC), ein Tablet PC oder ein Mobilfunkgerät, insbesondere ein Smartphone, mit einem üblichen Internetbrowser wie zum Beispiel Microsoft Internet Explorer, Safari, Google Chrome, Firefox oder einem anderen Anwendungsprogramm zum Zugriff auf das Dienst-Computersystem handeln. Das Nutzer- Computersystem hat eine Schnittstelle zur Verbindung mit dem Netzwerk, wobei es sich bei dem Netzwerk um ein privates oder öffentliches Netzwerk handeln kann, insbesondere das Internet.
Nach einer Ausführungsform der Erfindung handelt es sich bei der Anforderung des Dienst-Computersystems um einen SAML-Request und bei der Antwort des ID- Provider-Computersystems hierauf um eine SAML-Response (vgl. Security Asserti- on Markup Language (SAML) V2.0 Technicai Overview, OASIS, Committee Draft 02, 25. März 2008). Nach Ausführungsformen der Erfindung wird der Request von dem Dienst- Computersystem über das Nutzer-Computersystem an das I D-Provider- Computersystem übertragen. Aufgrund des Empfangs des Request durch das Nutzer-Computersystem wird der weitere Ablauf zur Erzeugung der Response, einschließlich der Authentisierung des Nutzers und des I D-Provider-Computersystems, ausgelöst.
Nach einer Ausführungsform der Erfindung hat das 1 D-Provider-Computersystem ein Zertifikat, in dem die Leserechte für die Durchführung des Lesezugriffs spezifi- ziert sind.
Unter einem„Zertifikat" wird hier ein digitales Zertifikat verstanden, welches auch als Public-Key-Zertifikat bezeichnet wird. Bei einem Zertifikat handelt es sich um strukturierte Daten, die dazu dienen, einen öffentlichen Schlüssel eines asymmetri- sehen Kryptosystems einer Identität, wie zum Beispiel einer Person oder einer Vorrichtung, zuzuordnen. Beispielsweise kann das Zertifikat dem Standard X.509 oder einem anderen Standard entsprechen. Vorzugsweise handelt es sich bei dem Zertifikat um ein Card Verifiable Certificate (CVC).
In dem Zertifikat kann spezifiziert sein, für welches Attribut oder welche Attribute des Nutzers, die in dem geschützten Speicherbereich des ID-Tokens gespeichert sind, das I D-Provider-Computersystem zur Durchführung des Lesezugriffs berechtigt ist. Bei diesen Attributen kann es sich um persönliche Attribute des Nutzers handein, wie zum Beispiel seinen Namen, Wohnort und sein Alter, Diese Attribute können in ihrer Kombination als Nutzererkennung verwendet werden, um auf die Bezahlinformation des registrierten Nutzers zuzugreifen. Alternativ oder zusätzlich kann auch ein Pseudonym des Nutzers, welches zumindest temporär von dem ID- Token gespeichert wird, als Nutzerkennung verwendet werden.
Ausführungsformen der Erfindung sind besonders vorteilhaft, da ein universell für eCommerce- und eGovernment-Anwendungen geeignetes computerimplementiertes Bezahlverfahren geschaffen wird, welches gleichzeitig flexibel, bequem in der Handhabung und sicher ist. Dies wird insbesondere dadurch ermöglicht, dass das Bezahlverfahren auf einem ID-Token basiert, wobei Voraussetzung für die Durchführung eines Bezahlvorgangs sowohl die Authentifizierung des Nutzers gegenüber dem ID-Token als auch die Authentifizierung des I D-Provider-Computersystems gegenüber dem ID-Token ist. Nach Ausführungsformen der Erfindung wird zunächst eine erste Session zwischen dem Internetbrowser des Nutzer-Computersystems und dem Dienst- Computersystem über das Internet aufgebaut, wobei es sich bei der ersten Session um eine http-Session oder eine https-Session handeln kann. Der Nutzer kann eine Transaktionsanforderung in den Internetbrowser eingeben, beispielsweise zur Ver- anlassung eines Bezahlvorgangs. Beispielsweise hat der Nutzer zuvor über das Dienst-Computersystem eine Ware bestellt und möchte diese bestellte Ware bezahlen, wozu der Nutzer die entsprechende Transaktionsanforderung in den Internetbrowser eingibt, welche an das Dienst-Computersystem über die erste Session übertragen wird.
Das Dienst-Computersystem erzeugt daraufhin eine Anforderung, d.h. einen Requ- est eines Request-Response Protokolls. Der Request kann eine vordefinierte oder standardisierte Struktur haben. Beispielsweise kann der Request textbasiert sein, eine XML, ASN.1 oder binär-Struktur aufweisen oder als SAML-Request ausgebil-
det sein. Der Request, beispielsweise also der SAML-Request, beinhaltet eine Attributspezifikation, welche die aus dem ID-Token für die Durchführung der Transaktion auszulesenden Attribute spezifiziert. Hierbei kann es sich um Attribute handeln, welche den Nutzer, der dem ID-Token zugeordnet ist, identifizieren und/oder die eine Bezahlinformation angeben, wie zum Beispiel eine Kontoverbindung oder Kreditkarteninformationen, und/oder Attribute, welche den ID-Token selbst betreffen, wie zum Beispiel dessen Gültigkeitsdauer, Ausstellungsdatum und/oder die ausstellende Organisation oder Behörde. Insbesondere kann die Attributspezifikation das Geburtsdatum des Nutzers beinhalten, falls zum Beispiel die Volljährigkeit des Nutzers als Voraussetzung für die Durchführung der Transaktion von dem Dienst-Computersystem zu prüfen ist. Der Request beinhaltet ferner Transaktionsdaten zur Spezifizierung der Transaktion, das heißt zum Beispiel einen Bezahlbetrag sowie Kontoinformationen, insbesondere die Kontoverbindung des Dienst-Computersystems, auf weiche die Zahlung zu leisten ist. Ferner beinhaltet der Request einen Uniform Ressource Locator (URL) des I D-Provider-Computersystems, welches die Attribute aus dem ID-Token auslesen soll, sowie eine URL des Dienst-Computersystems zur Angabe eines Empfängers für die Response, die aufgrund der Request von dem ID-Provider-Computersystem zu generieren ist.
Das Dienst-Computersystem erzeugt für den Request eine Kennung, die den Request eindeutig identifiziert, wie z.B. einen globally unique identifier (GUID). Der Request beinhaltet diese Kennung.
Der Request wird von dem Dienst-Computersystem signiert, und zwar mithilfe eines privaten Schlüssels eines kryptografischen Schlüsselpaars, welches dem Dienst- Computersystem zugeordnet ist. Aufgrund der Transaktionsanforderung wird über die erste Session eine Webseite von dem Dienst-Computersystem an das Nutzer-Computersystem übertragen und durch den Internetbrowser bzw. das Anwendungsprogramm, insbesondere eine sog. App, angezeigt. Zusammen mit der Webseite wird der Request übertragen, der jedoch nicht angezeigt wird.
Die Webseite hat zumindest ein Eingabefeld zur Eingabe von Zusatzinformationen, welche für die Durchführung der Transaktion benötigt werden. Bei dieser Zusatzinformation kann es sich zum Beispiel um eine Kontoverbindung oder Kreditkartenin- formationen des Nutzers handeln und/oder um eine Authentifizierungsinformation, um den Nutzer gegenüber dem Dienst-Computersystem zu authentifizieren. Zum Beispiel kann es sich bei der Authentifizierungsinformation um ein One-Time Password (OTP) handeln. Vorzugsweise wird die Zusatzinformation mithilfe des öffentlichen Schlüssels des Dienst-Computersystems durch das Nutzer-Computersystem verschlüsselt, sodass nur die verschlüsselte Zusatzinformation anschließend über eine zweite Session von dem Internetbrowser bzw. dem Anwendungsprogramm an das ID-Provider-Computersystem über das Netzwerk weitergeieitet wird.
Über diese zweite Session wird auch der Request weitergeieitet. Der Aufbau der zweiten Session erfolgt durch Aufruf der URL des iD-Provider-Computersystems, welche in dem Request beinhaltet äst. Die zweite Session wird dabei als geschützte Kommunikationsverbindung aufgebaut, und zwar mit einer verschlüsselten Transportschicht, das heißt mit Transport Layer Security (TLS), die auch als Secure So- ckets Layer (SSL) bezeichnet wird, insbesondere als https-Session.
Nach Ausführungsformen der Erfindung erzeugt das ID-Provider-Computersystem aufgrund des Empfangs des Requests über die zweite Session einen Identifikator für eine noch aufzubauende dritte Session, d.h. eine sog. Session-ID. Das ID- Provider-Computersystem speichert den Request sowie die zusammen mit dem Request über die zweite Session empfangene Zusatzinformation mit der Session-ID für die dritte Session.,
Das ID-Provider-Computersystem sendet dann eine Nachricht über die zweite Session, welche eine logische Adresse des ID-Provider-Computersystems und bei- spielsweise auch die Session-ID der dritten Session beinhaltet. Von dieser logischen Adresse kann der Internetbrowser bzw. das Anwendungsprogramm zu einem späteren Zeitpunkt die Response auf den zuvor weitergeleiteten Request abrufen. Bei der logischen Adresse kann es sich um einen uniform resource locator (URL) handeln, durch den die Response abrufbar ist.
Anschließend wird die dritte Session auf dem Application Layer zwischen einem Programm des Nutzer-Computersystems und dem I D-Provider-Computersystem aufgebaut, und zwar über den gesicherten Transportlayer der zweiten Session. Bei dem Programm kann es sich zum Beispiel um ein Browser-Plug-in des Internetbrowsers oder ein von dem Internetbrowser verschiedenes Anwendungsprogramm handeln.
Das ID-Provider-Computersystem überträgt dann diejenigen Informationen über die dritte Session an das Programm, die für das Auslesen des oder der Attribute aus dem ID-Token benötigt werden. Diese Informationen beinhalten zumindest ein Zertifikat des 1 D-Provider-Computersystems, welches eine Angabe von Leserechten des ID-Provider-Computersystems zum Lesen von einem oder mehrerer Attribute beinhaltet.
Das Programm des Nutzer-Computersystems prüft dann, ob die in dem Zertifikat angegebenen Leserechte ausreichend sind, um einen Lesezugriff des ID-Provider- Computersystems auf das oder die gemäß der Attributspezifikation des Requests zu lesenden Attribute zuzulassen. Wenn die Leserechte des ID-Provider- Computersystems ausreichend sind, werden die folgenden weiteren Schritte durchgeführt: a) Es wird eine lokale Verbindung zwischen dem Lesegerät des Nutzer- Computersystems und dem ID-Token aufgebaut. Bei einem ID-Token mit ei- ner kontaktbehafteten Schnittstelle, beispielsweise einer Chipkarten-
Schnittstelle, kann dies durch Einführen des ID-Tokens in das Lesegerät erfolgen. Bei einem ID-Token mit einer kontaktlosen Schnittstelle, wie zum Beispiel einer RFID oder einen FC-Schnittstelle, kann dies dadurch erfolgen, dass der !D-Token auf das Lesegerät gelegt wird. Hier sind auch Token mit USB, BlueTooth oder microSD-Karten möglich sowie auch virtuelle SmartCa- rds. b) Der Nutzer authentifiziert sich gegenüber dem ID-Token, beispielsweise durch Eingabe seiner Personal Identification Number (PIN) oder durch Ein-
gäbe einer anderen Information, wie zum Beispiel der Erfassung eines biometrischen Merkmals des Nutzers. Bei der Authentifizierung des Nutzers gegenüber dem ID-Token wird ein Session Key vereinbart. Insbesondere kann die Vereinbarung eines Session Keys mithilfe eines Diffie-Hellman-Protokolls erfolgen. c) Anschließend wird eine vierte Session auf dem Application Layer aufgebaut, und zwar zwischen einem Programm des ID-Tokens und dem ID-Provider- Computersystem, wobei diese vierte Session über die lokale Verbindung und die dritte Session verläuft und auf dem Application Layer eine zusätzliche Ende-zu-Ende Verschlüsselung mithilfe des in Schritt b vereinbarten Session Keys erfolgt, d) Über die vierte Session erfolgt dann eine gegenseitige Authentifizierung des ID-Tokens und des ID-Provider-Computersystems, beispielsweise mithilfe eines Challenge-Response-Protokolls. e) Das oder die Attribute gemäß der Attributspezifikation, welche das ID- Provider-Computersystem mit dem Request empfangen hat, werden nun über die vierte Session von dem I D-Provider-Computersystem aus dem ID- Token ausgelesen. Dies setzt die erfolgreiche Authentifizierung des Nutzers in Schritt b sowie die erfolgreiche gegenseitige Authentifizierung des ID- Tokens und des ID-Provider-Computersystems in Schritt d) voraus und erfolgt verschlüsselt über die vierte Session, sodass ein Maximum an Sicherheit und Vertrauenswürdigkeit hinsichtlich des oder der ausgelesenen Attribute gegeben ist.
Das I D-Provider-Computersystem erzeugt dann eine Response, die das oder die ausgelesenen Attribute und die Kennung des Request und/oder die Zusatzinformation beinhaltet und zwar gemäß dem Request-Response Protokoll, dem der Request unterliegt. Bei einer SAML-Request wird also dementsprechend eine SAML- Response erzeugt. Über die Kennung des Request, die auch in der Response beinhaltet ist, wird hier die logische Zuordnung von Request und Response, d.h. das sog. Bindtng, hergestellt.
Die Response wird von dem ID-Provider-Computersystem signiert und zum Abrufen von der zuvor dem Nutzer-Computersystem über die Nachricht mitgeteilten logischen Adresse gespeichert. Das Nutzer-Computersystem liest dann diese Response von dem ID-Provider- Computersystem mit Hilfe der logischen Adresse, beispielsweise der URL, und leitet die Response über die erste Session an das Dienst-Computersystem weiter, Mithilfe der Kennung der Response wird diese dem Request und damit der angeforderten Transaktion zugeordnet und dann wird die Transaktion von dem Dtenst- Computersystem ausgeführt, das heißt beispielsweise ein Bezahlvorgang ausgelöst und/oder ein bestelltes Produkt geliefert, wenn dies der Inhalt der Response erlaubt.
Nach einer Ausführungsform der Erfindung handelt es sich bei dem Programm des Nutzer-Computersystems um ein Browser-Plug-in des Internetbrowsers, wobei es sich bei dem Internetbrowser um ein übliches Browserprogramm, wie zum Beispiel Microsoft Internet Explorer, Safari, Google Chrome oder Firefox handeln kann. Alternativ kann es sich bei dem Programm des Nutzer-Computersystems um ein von dem Internetbrowser separates Anwendungsprogramm handeln. Nach einer Ausführungsform der Erfindung handelt es sich bei der von dem Nutzer eingegebenen Zusatzinformation um eine Bezahlinformation, wie zum Beispiel eine Kontoverbindung des Nutzers von der der in dem Request angegebene Bezahlbetrag abgebucht oder eingezogen werden soll. Das sogenannte Clearing, das heißt die Prüfung der Bonität des Kunden, sowie die Veranlassung des Zahlvorgangs kann dann durch das ID-Provider-Computersystem veranlasst werden, welches die Durchführung der Bezahlung mit der Response dem Dienst-Computersystem bestätigt. Dies hat den Vorteil, dass das Dienst- Computersystem keine Kenntnis hinsichtlich der Bezahiinformation des Nutzers, das heißt insbesondere seiner Kontoverbindung, erlangen muss.
Alternativ kann der Nutzer seine Bezahlinformation mit dem öffentlichen Schlüssel des Dienst-Computersystems verschlüsseln, sodass nur die verschlüsselte Bezahl linformation des Nutzers an das ID-Provider-Computersystem übertragen wird.
Das I D-Provider-Computersystem leitet dann die verschlüsselte Bezahlinformation mit der Response an das Dienst-Computersystem weiter, welches die Bezahlinformation entschlüsselt, und dann das Clearing durchführt sowie den Zahlbetrag von dem Konto des Nutzers gemäß der Bezahiinformation einzieht. Dies hat den Vorteil, dass das ID-Provider-Computersystem keine Kenntnis von den Bezahlinformationen des Nutzers erlangt.
Nach einer weiteren Ausführungsform der Erfindung gehört zu dem Computersystem ein Terminal, wie zum Beispiel ein Bankautomat oder ein Verkaufsautomat. Der Nutzer kann eine Anforderung in den Automat eingeben, wie zum Beispiel zur Abhebung von Bargeld oder zum Kauf eines bestimmten Produkts, wie zum Beispiel eines Getränks. Der Automat zeigt auf diese Nutzeranforderung hin ein optisch erfassbares Muster, wie zum Betspiel einen QR-Code, auf seinem Bildschirm an, das eine Information beinhaltet, um die Durchführung der Transaktion zu initiieren.
Nach einer weiteren Ausführungsform der Erfindung ist das Terminal als mobiles Telekommunikationsgerät, insbesondere als sog. Smartmeter, für die Gebührenerfassung z.B. des Strom oder Gasverbrauchs, Taxameter oder Smartphone mit einer Gebührenerfassungsfunktion ausgebildet.
Beispielsweise kann auf dem Smartphone eines Verkäufers die URL des Dienst- Computersystems, der Bezahlbetrag sowie der Zahlungsempfänger in Form eines optisch erfassten Musters ausgegeben und mit der Kamera des Nutzer- Computersystems, welches ebenfalls als Smartphone ausgebildet sein kann, erfasst werden. Auf diese Art und Weise können alltägliche Bezahlvorgänge auf sichere und bequeme Art und Weise sicher abgewickelt werden.
Im Weiteren werden Ausführungsformen der Erfindung mit Bezugnahme auf die Zeichnungen näher erläutert.
Es zeigen:
Fig. 1 ein Blockdiagramm einer Ausführungsform eines erfindungsgemäßen lD-Tokens,
Fig. 2 eine Anordnung einer Ausführungsform eines erfindungsgemäßen
Computersystems zur Durchführung einer Ausführungsform eines erfindungsgemäßen Verfahrens,
Elemente der Ausführungsformen der nachfolgenden Figuren, die zueinander identisch sind oder einander entsprechen, sind jeweils mit denselben Bezugszeichen gekennzeichnet. Die Figur 1 zeigt einen ID-Token 106, bei dem es sich zum Beispiel um einen elektronischen Personalausweis handeln kann.
Der geschützte Speicherbereich 120 des ID-Token 106 dient zur Speicherung eines Referenzwerts, der für die Authentifizierung eines Nutzers 102 gegenüber dem ID- Token 106 benötigt wird. Bei diesem Referenzwert handelt es sich beispielsweise um eine Kennung, insbesondere eine so genannte Personal Identification Number (PIN), oder um Referenzdaten für ein biometrisches Merkmal des Nutzers 102, welches für die Authentifizierung des Nutzers gegenüber dem ID-Token 106 verwendet werden kann.
Der geschützte Bereich 122 dient zur Speicherung eines privaten Schlüssels und der geschützte Speicherbereich 124 dient zur Speicherung von Attributen, zum Beispiel des Nutzers 102, wie zum Beispiel dessen Name, Wohnort, Geburtsdatum, Geschlecht, und/oder von Attributen, die den ID-Token selbst betreffen, wie zum Beispiel die Institution, die den ID-Token erstellt oder ausgegeben hat, die Gültigkeitsdauer des ID-Tokens, einen Identifikator des ID-Tokens, wie zum Beispiel eine Passnummer oder eine Kreditkartennummer.
Der elektronische Speicher 118 kann ferner einen Speicherbereich 126 zur Spei- cherung eines Zertifikats aufweisen. Das Zertifikat beinhaltet einen öffentlichen Schlüssel, der dem in dem geschützten Speicherbereich 122 gespeicherten privaten Schlüssel zugeordnet ist. Das Zertifikat kann nach einem Public Key Infrastruktur (PKI) Standard ersteilt worden sein, beispielsweise nach dem X.509 Standard.
Das Zertifikat muss nicht zwangsläufig in dem elektronischen Speicher 118 des ID- Tokens 106 gespeichert sein. Alternativ oder zusätzlich kann das Zertifikat auch in einem öffentlichen Verzeichnisserver gespeichert sein, Der ID-Token 106 hat einen Prozessor 128. Der Prozessor 128 dient zur Ausführung von Programminstruktionen 130, 132 und 134. Die Programminstruktionen 130 dienen zur Nutzerauthentifizierung, d.h. zur Authentifizierung des Nutzers 102 gegenüber dem ID-Token. Bei einer Ausführungsform mit PIN gibt der Nutzer 102 seine PIN zu seiner Authentifizierung in den ID-Token 106 ein, beispielsweise über das Nutzer- Computersystem 100. Durch Ausführung der Programminstruktionen 130 wird dann auf den geschützten Speicherbereich 120 zugegriffen, um die eingegebene PIN mit dem dort gespeicherten Referenzwert der PIN zu vergleichen. Für den Fall, dass die eingegebene PIN mit dem Referenzwert der PIN übereinstimmt, gilt der Nutzer 102 als authentifiziert.
Alternativ wird ein biometrisches Merkmal des Nutzers 102 erfasst. Beispielsweise hat der ID-Token 106 hierzu einen Fingerabdrucksensor oder ein Fingerabdruck- sensor ist an das Nutzer-Computersystem 100 angeschlossen. Die von dem Nutzer 102 erfassten biometrischen Daten werden durch Ausführung der Programminstruktionen 130 bei dieser Ausführungsform mit den in dem geschützten Speicherbereich 120 gespeicherten biometrischen Referenzdaten verglichen. Bei hinreichender Übereinstimmung der von dem Nutzer 102 erfassten biometrischen Daten mit den biometrischen Referenzdaten gilt der Nutzer 02 als authentifiziert.
Die Programminstruktionen 134 dienen zur Ausführung der den ID-Token 106 betreffenden Schritte eines kryptographischen Protokolls zur Authentifizierung eines ID-Provider-Computersystems 136 gegenüber dem ID-Token 106. Bei dem krypto- graphischen Protokoll kann es sich um ein Challenge-Response-Protokoll basierend auf einem symmetrischen Schlüssel oder einem asymmetrischen Schlüsselpaar handeln.
Beispielsweise wird durch das kryptographische Protokoll ein Extended Access Control-Verfahren implementiert, wie es für maschinenlesbare Reisedokumente (machine-readable travet documents - RTD) von der internationalen Luftfahrtbehörde (ICAO) spezifiziert ist. Durch erfolgreiche Ausführung des kryptographischen Protokolls authentifiziert sich das ID-Provider-Computersystem 136 gegenüber dem ID-Token und weist dadurch seine Leseberechtigung zum Lesen der in dem geschützten Speicherbereich 124 gespeicherten Attribute nach. Die Authentifizierung kann auch gegenseitig sein, d.h. auch der ID-Token 106 muss sich dann gegenüber dem ID-Provider-Computersystem 136 nach demselben oder einem anderen kryp- tographtschen Protokoll authentifizieren.
Die Programm Instruktionen 132 dienen zur Ende-zu-Ende-Verschlüsselung von zwischen dem ID-Token 106 und einem ID-Provider-Computersystem 136 {vgl, Fig. 2) übertragenen Daten, zumindest aber der von dem ID-Provider-Computersystem 136 aus dem geschützten Speicherbereich 124 ausgeiesenen Attribute. Für die Ende-zu-Ende-Verschlüsselung kann ein symmetrischer Schlüssel verwendet werden, der beispielsweise anlässlich der Ausführung des kryptographischen Protokolls zwischen dem ID-Token 106 und dem l D-Provider-Computersystem 136 vereinbart wird.
Der ID-Token 106 hat eine Schnittsteile 108 zur Kommunikation mit einer entsprechenden Schnittsteile 104 eines Nutzer-Computersystems 100 (vergleiche Figur 2). Die Schnittstelle kann kontaktlos oder kontaktbehaftet ausgebildet sein. Insbesondere kann es sich um eine RFID- oder um eine NFC-Kommunikationsschnittstelle handeln.
Der Zugriff auf den geschützten Speicherbereich 124 zum Lesen einer oder mehrerer der Attribute kann nur über den Prozessor 28 des ID-Tokens 106 erfolgen, da der geschützte Speicherbereich 124 sowie auch die weiteren geschützten Spei- cherbereiche 120, 122 nicht unmittelbar zum Beispiel über ein Bussystem mit der Schnittstelle 108 verbunden sind, sondern nur mit dem Prozessor 128, das heißt ein Zugriff über die Schnittstelle 108 unmittelbar auf den geschützten Speicherbereich 124 ist bereits schaltungstechnisch ausgeschlossen. Allein der Prozessor 128 kann
also lesend auf den geschützten Speicherbereich 124 zugreifen, um dann gegebenenfalls die ausgelesenen Attribute über die Schnittstelle 108 auszugeben.
Die Figur 2 zeigt ein Nutzer-Computersystem 100 des Nutzers 102. Bei dem Nutzer- Computersystem 100 kann es sich um einen Personal-Computer (PC), einen tragbaren Computer, wie zum Beispiel einen Laptop, Notebook oder Tablet-Computer, ein mobiles Telekommunikationsgerät, insbesondere ein Smartphone handein.
Das Nutzer-Computersystem hat zumindest einen Prozessor 1 0 zur Ausführung eines Anwendungsprogramms 112. Das Anwendungsprogramm 112 ist dazu ausgebildet, über eine Netzwerk-Schnittstelle 114 des Nutzer-Computersystems 100 über ein Netzwerk 16 zu kommunizieren. Beispielsweise handelt es sich bei dem Anwendungsprogramm um einen Internet-Browser oder ein anderes spezialisiertes Anwendungsprogramm, welches über das Netzwerk 116 kommunizieren kann, ins- besondere ein html-fähiges Anwendungsprogramm.
Der Prozessor 110 dient zur Ausführung eines weiteren Programms 1 3, bei dem es sich beispielsweise um ein Plug-in für das Anwendungsprogramm 112 handeln kann, beispielsweise um ein Browser-Plug-in, wenn das Anwendungsprogramm 112 als Internet-Browser ausgebildet ist, oder um ein von dem Anwendungsprogramm separates Programm.
Bei dem Netzwerk kann es sich um ein Computernetzwerk, wie zum Beispiel das Internet, handeln. Insbesondere kann das Netzwerk 116 auch ein obilfunknetz- werk beinhalten.
Das I D-Provider-Computersystem 136 hat eine Netzwerk-Schnittstelle 138 zur Kommunikation über das Netzwerk 116. Das l D-Provider-Computersystem 136 hat ferner einen Speicher 140 mit einem geschützten Speicherbereich 141 , in dem ein privater Schlüsse! 142 des l D-Provider-Computersystems 136 gespeichert ist, sowie auch das entsprechende Zertifikat 144. Auch bei diesem Zertifikat kann es sich beispielsweise um ein Zertifikat nach einem PKI-Standard, wie zum Beispiel X.509 handeln.
Das I D-Provider-Computersystem 136 hat ferner zumindest einen Prozessor 145 zur Ausführung von Programminstruktionen 146 und 148. Durch Ausführung der Programminstruktionen 146 werden die das I D-Provider-Computersystem 136 betreffende Schritte des kryptographischen Protokolls ausgeführt. Insgesamt wird also das kryptographische Protokoll durch Ausführung der Programminstruktionen 134 durch den Prozessor 128 des ID-Tokens 06 sowie durch Ausführung der Programminstruktionen 146 durch den Prozessor 145 des ID-Provider- Computersystems 36 implementiert. Die Programminstruktionen 148 dienen zur Implementierung der Ende-zu-Ende- Verschlüsselung auf Seiten des I D-Provider-Computersystems 136, beispielsweise basierend auf dem symmetrischen Schlüssel, der anlässlich der Ausführung des kryptographischen Protokolls zwischen dem ID-Token 106 und dem ID-Provider- Computersystem 136 vereinbart worden ist. Prinzipiell kann jedes an sich vor be- kannte Verfahren zur Vereinbarung des symmetrischen Schlüssels für die Ende-zu- Ende-Verschlüsseiung verwendet werden, wie zum Beispiel ein Diffie-Hellman- Schlüsselaustausch.
Das I D-Provider-Computersystem 136 befindet sich vorzugsweise in einer beson- ders geschützten Umgebung, insbesondere in einem so genannten Trust-Center, sodass das I D-Provider-Computersystem 136 in Kombination mit der Notwendigkeit der Authentifizierung des Nutzers 02 gegenüber dem ID-Token 06 den Vertrauensanker für die Authentizität der aus dem ID-Token 106 ausgelesenen Attribute bildet.
Ein Dienst-Computersystem 150 kann zur Entgegennahme einer Bestellung oder eines Auftrags für eine Dienstleistung oder ein Produkt, insbesondere eine Online- Dienstleistung, ausgebildet sein. Beispielsweise kann der Nutzer 102 online über das Netzwerk 116 ein Konto bei einer Bank eröffnen oder eine andere Finanz- oder Bankdienstleistung in Anspruch nehmen. Das Dienst-Computersystem 150 kann auch als Online-Warenhaus ausgebildet sein, sodass der Benutzer 102 beispielsweise online ein Mobiltelefon oder dergleichen erwerben kann. Ferner kann das Dienst-Computersystem 150 auch zur Lieferung von digitalen Inhalten ausgebildet sein, beispielsweise für den Download von Musik- und/oder Videodaten.
Das Dienst-Computersystem 150 hat hierzu eine Netzwerk-Schnittstelle 152 zur Verbindung mit dem Netzwerk 1 16. Ferner hat das Dienst-Computersystem 150 zumindest einen Prozessor 154 zur Ausführung von Programm Instruktionen 156. Durch Ausführung der Programminstruktionen 156 werden beispielsweise dynamische HTML-Seiten generiert, über die der Nutzer 102 seinen Auftrag oder seine Bestellung eingeben kann, sowie Transaktionen durchgeführt.
Je nach der Art des beauftragten oder bestellten Produkts oder der Dienstleistung muss das Dienst-Computersystem 150 ein oder mehrere Attribute des Nutzers 102 und/oder dessen ID-Token 106 anhand eines oder mehrerer vorgegebener Kriterien überprüfen. Nur wenn diese Prüfung bestanden wird, wird die Bestellung oder der Auftrag des Nutzers 102 entgegengenommen und/oder ausgeführt.
Zur Durchführung einer elektronischen Transaktion kann wie folgt vorgegangen werden:
Der Nutzer 102 startet das Anwendungsprogramm 112 des Nutzer- Computersystems, wobei im Weiteren ohne Beschränkung der Allgemeinheit davon ausgegangen wird, dass es sich hierbei um einen Internet-Browser handelt. Der Nutzer 102 gibt eine URL des Dienst-Computersystems 150 in den Internet-Browser ein, so dass daraufhin eine erste Session 201 zwischen dem Internet-Browser 1 12 und dem Dienst-Computersystem 150 über das Netzwerk 1 16 aufgebaut wird. Der Nutzer kann dann über die erste Session 201 einen von dem Dienst-Computersystem 150 angebotenen Dienst anfor- dem, wie zum Beispiel ein Produkt besteilen, Daten zum Download anfordern oder die Durchführung einer finanziellen Transaktion anfordern. Hierzu wird von dem Internet-Browser 1 2 eine entsprechende Transaktionsanforderung 158 an das Dienst-Computersystem 150 gesendet, die diese Anforderung signalisiert.
Das Dienst-Computersystem empfängt also von dem Internet-Browser über die erste Session eine Transaktionsanforderung 58 des Nutzers 02.
Aufgrund des Empfangs der Transaktionsforderung 158 über die erste Session 201 erzeugt das Dienst-Computersystem 150 einen Request 166. Der Request 166 beinhaltet (i) eine Attributspezifikation, der aus dem ID-Token für die Durchführung der Transaktion auszulesenden Attribute. Bei diesen Attributen kann es sich um persönliche Angaben zu dem Nutzer 102 und/oder Daten betreffend den ID-Token 106 selbst oder ein Pseudonym des Nutzers 102, welches von dem ID-Token 106 verfügbar ist, handeln. Der Request beinhaltet ferner (ii) die Transaktionsdaten zur Spezifizierung der Transaktion, wie zum Beispiel einen Bezahlbetrag, der für den Kauf des bestellten Produkts oder die Durchführung des besteilten Dienstes an das Dienst- Computersystem 150 oder einen Dritten zu entrichten ist, und/oder andere Transaktionsdaten, die die durchzuführende Transaktion spezifizieren. Der Request beinhaltet ferner (iii) eine Kennung 180 des Requests, beispielsweise eine GUID, die für das sogenannte Binding des Requests und einer daraufhin empfangenen Response 174 erforderlich ist. Für die Erzeugung der Kennung kann das Dienst-Computersystem 150 einen GUID-Generator aufweisen. Die Request beinhaltet ferner (iv) eine URL des I D-Provider- Computersystems 136 und (v) eine URL des Dienst-Computersystems 150 selbst. Der Request wird von dem Dienst-Computersystem 150 signiert, nämlich mit Hilfe eines privaten Schlüssels des Dienst-Computersystems 150. Bei dem Request 166 kann es sich um einen SA L-Request oder einen anderen Request eines Request-Response-Protokolls handeln.
Als Antwort auf die Transaktionsanforderung 158 sendet dann das Dienst- Computersystem 150 eine Webseite 160 über die erste Session 201 an das Nutzer-Computersystem 100, wobei die Webseite 160 ein Eingabefeld 162 zur Eingabe einer Zusatzinformation durch den Nutzer 102 für die Transaktion aufweist und ferner ein Eingabeelement 164, das der Nutzer 102 zum Beispiel durch Anklicken selektieren kann, wenn die Webseite 160 durch den Internet-Browser 112 wiedergegeben wird, um die Wetterieitung des Request 166 zu erlauben. Zusammen mit der Webseite 160 wird auch der Request 66 über die erste Session 201 zu dem Internet-Browser 112 übertragen.
Aufgrund des Empfangs der Webseite 160 und des Requests 166 wird die Webseite 160 durch den Internet-Browser 1 2 wiedergegeben, so dass der Nutzer 102 die Zusatzinformation in das Eingabefeld 162 eingeben kann. Beispielsweise handelt es sich bei der Zusatzinformation um eine Kontoverbindung des Nutzers 102, eine Kreditkartennummer des Nutzers 102 oder andere ergänzende Transaktionsdaten und/oder um eine Authentifizierungs- information zum Nachweis der Berechtigung des Nutzers 102 für die Durchführung der Transaktion, wozu der Nutzer 102 beispielsweise ein One-Time- Passwort (OTP) in das Eingabefeid 162 eingibt. Vorzugsweise wird die von dem Nutzer 102 eingegebene Zusatzinformation 168 mit dem öffentlichen Schlüssel des Dienst-Computersystems 150 durch das Nutzer- Computersystem 100 verschlüsselt, um ein entsprechendes Chiffrat zu erhalten.
Anschließend wird eine zweite Session 202 zwischen dem Internet-Browser 112 und dem I D-Provider-Computersystem 136 über das Netzwerk 1 6 aufgebaut, und zwar mit Hilfe der URL des ID-Provider-Computersystems 136, die das Nutzer-Computersystem 100 mit dem Request 166 empfangen hat. Die zweite Session 202 wird mit einem gesicherten Transportlayer aufgebaut, beispielsweise als https-Session.
Über die zweite Session 202 werden der Request 166 und die Zusatzinformation 168 oder nur das mit Hilfe des öffentlichen Schlüssels des Dienst- Computersystems 150 gewonnene Chiffrat der Zusatzinformation 168 von dem Nutzer-Computersystem 100 an das ID-Provider-Computersystem 136 weitergeleitet.
Aufgrund des Empfangs des Requests 166 durch das ID-Provider- Computersystem 136 erzeugt dieses durch Ausführen seiner Programminstruktionen 170 eine Session-iD für eine noch aufzubauende dritte Session 203. Der Request 166 und die Zusatzinformation 168 werden in dem Speicher 140 des (D-Provider-Computersystems 136 gespeichert.
Das i D-Provider-Computersystem 136 generiert dann eine Nachricht 172, die die Session-ID für den Aufbau der dritten Session 203 und eine logische Adresse beinhaltet. Mit Hilfe der logischen Adresse kann die von dem lD- Provider-Computersystem 136 aufgrund des Request 166 zu erzeugende Response 174 abgerufen werden. Insbesondere kann die logische Adresse als eine URL ausgebildet sein. Die Nachricht 172 wird über die zweite Session 202 von dem iD-Provider-Computersystem 136 an den Internet-Browser 112 gesendet.
Aufgrund des Empfangs der Nachricht 172 wird die dritte Session 203 zwischen dem Programm 113 des Nutzer-Computersystems 100 und dem ID- Provider-Computersystem 136 über den gesicherten Transportlayer der zweiten Session 202 aufgebaut. Beispielsweise handelt es sich bei dem Programm 113 um ein Browser-Plug-in des Internet-Browsers 112. Alternativ kann es sich bei dem Programm 113 auch um ein weiteres Anwendungsprogramm handeln. Es ist dabei auch möglich, die Funktionalitäten des Internet- Browsers 1 2 und die des Programms 113 in einem Programm zu implementieren.
Über die dritte Session 203 wird dann zumindest das Zertifikat 144 an das Programm 113 übertragen.
Durch das Programm 113 wird dann geprüft, ob die in dem Zertifikat 144 angegebenen Leserechte ausreichend sind, um einen Lesezugriff des ID- Provider-Computersystems 136 auf das oder die gemäß der Attributspezifikation, die in dem Request 166 beinhaltet ist, zu lesenden Attribute zuzulassen. Nur dann, wenn diese Leserechte ausreichend sind, werden die folgenden Schritte durchgeführt: a) Es wird eine lokale Verbindung 176 zwischen den Schnittstellen 104 und 108 aufgebaut. Beispielsweise erscheint auf dem Bildschirm des Nutzer-Computersystems 100 eine Aufforderung für den Nutzer 102 zum Einführen des ID-Tokens 106 in ein Lesegerät des Nutzer- Computersystems 100, welches die Schnittstelle 104 aufweist oder
zum Auflegen des lD-Tokens 106 auf eine kontaktlos ausgebildete Schnittstelle 104.
Der Nutzer 102 authentifiziert sich dann gegenüber dem ID-Token beispielsweise durch Eingabe seiner PIN in das Nutzer-Computersystem 100 bzw. dessen Lesegerät. Die Authentifizierung des Nutzers kann mit Hilfe eines kryptographischen Protokolls erfolgen, beispielsweise mittels eines Challenge-Response-Protokolls oder basierend auf einem Diffie-Helman-Schlüsselaustausch, wobei im Rahmen der Authentifizierung des Nutzers ein Session-Key vereinbart wird.
Unter der Voraussetzung der erfolgreichen Authentifizierung des Nutzers wird eine vierte Session 204 zwischen dem ID-Token 106 und dem ID-Provider-Computersystem 136 aufgebaut, und zwar über die lokale Verbindung 176 und die dritte Session 203. Die vierte Session 204 wird mit einer Ende-zu-Ende-Verschlüsselung mit Hilfe des Session-Keys, der bei der Authentifizierung des Nutzers in dem Schritt b) vereinbart worden ist, geschützt.
Über die vierte Session erfolgt dann eine gegenseitige Authentifizierung des ID-Tokens 106 und des I D-Provider-Computersystems 136 mit Hilfe der jeweiligen privaten Schlüssel, das heißt den in dem geschützten Speicherbereich 122 gespeicherten privaten Schlüssels des ID-Tokens 106 und dem privaten Schlüssels 142 des ID-Provider- Computersystems 136. Für diese gegenseitige Authentifizierung können die Zertifikate des ID-Tokens 106 aus dem Speicherbereich 126 (vergleiche Figur 1) sowie das Zertifikat 144 des ID-Provider- Computersystems 136 über die vierte Session ausgetauscht werden.
Unter der Voraussetzung der erfolgreichen Authentifizierung des Nutzers gegenüber dem ID-Token und der erfolgreichen gegenseitigen Authentifizierung des ID-Tokens 106 und des ID-Provider- Computersystems 136 liest dann das ID-Provider-Computersystem 36 das oder die Attribute gemäß der Attributspezifikation aus dem ID-
Token 106 aus, wobei die Attribute durch die Ende-zu-Ende- Verschlüsselung bei der Übertragung von dem ID-Token 106 zu dem I D-Provider-Computersystem 136 geschützt werden. Hierzu sendet das ID-Provider-Computersystem über die vierte Session 204 ein Lesekommando über die vierte Session an den ID-Token 106, Das Lesekommando 182 beinhaltet die Attributspezifikation, das heißt die Auswahl derjenigen Attribute, die aus dem geschützten Speicherbereich 124 des ID-Tokens 06 ausgelesen werden sollen.
Durch Ausführung der Programminstruktionen 178 wird dann von dem ID-Provider-Computersystem 136 die Response 174, beispielsweise ein SAML-Response, auf dem Request 166 erzeugt. Die Response 178 beinhaltet die zuvor über die vierte Session 240 aus dem ID- Token 06 ausgelesenen Attribute, die Zusatzinformation 168 oder - je nach Ausführungsform - nicht die Zusatzinformation 168, sondern nur das Chiffrat der Zusatzinformation 168, sowie die Kennung 180, die das Dienst-Computersystem 50 initial für den Request 66 vergeben hat. Die Response 174 wird von dem ID-Provider- Computersystem 136 mit Hilfe des privaten Schlüssels 142 signiert und dann in dem Speicher 140 gespeichert, so dass die Request 166 von der logischen Adresse abrufbar ist.
Das Nutzer-Computersystem 100, wie zum Beispiel dessen Internet-Browser 112, liest dann mit Hilfe der logischen Adresse die Response 174 beispielsweise über die zweite Session 202 aus dem Speicher 140.
Die Response 174 wird dann von dem Nutzer-Computersystem 100, beispielsweise von dem Internet-Browser 112, über die erste Session 201 an das Dienst-Computersystem 150 weitergeleitet. Hierbei kann vorgesehen sein, dass der Nutzer 102 von dem Internet-Browser 12 zur Eingabe einer Bestätigung aufgefordert wird, bevor die Response 174 an das Dienst- Computersystem weitergeleitet wird. Dabei kann ferner vorgesehen sein, dass von dem Internet-Browser der Inhalt der Response 174 ganz oder teilweise angezeigt wird, insbesondere die aus dem ID-Token ausgelesenen At-
tribute und/oder die Zusatzinformation 168, damit sich der Nutzer 102 von der Richtigkeit dieser Daten überzeugen kann, bevor sie an das Dienst- Computersystem 150 zur Durchführung der Transaktion weitergeleitet werden.
Das Dienst-Computersystem 50 ordnet die empfangene Response 174 dem Request 66 anhand der übereinstimmenden Kennungen 180 des Requests 166 und der Response 174 zu. - Das Dienst-Computersystem 150 prüft dann die Signatur der Response 166 und liest das oder die erforderlichen Attribute aus der Response 174 aus. Anhand der Attribute wird dann geprüft, ob die angeforderte Transaktion durchgeführt werden kann, indem das oder die Attribute mit einem oder mehreren vorgegebenen Kriterien verglichen wird. Bei diesen Kriterien kann es sich zum Beispiel um das Alter oder die Kreditwürdigkeit des Nutzers 102 handeln. Bei dem Attribut kann es sich auch um ein Pseudonym des Nutzers 102 handeln, mit Hilfe dessen das Dienst-Computersystem 150 dann ein in einer Datenbank des Dienst-Computersystems 150 gespeichertes Attribut des Nutzers 102, wie zum Beispiel eine Lieferadresse ausliest. Das Prüfkriterium ist hierbei, ob ein Nutzer mit dem in der Response 174 beinhalteten Pseudonym seitens des Dienst-Computersystems 150 registriert ist.
Ergibt die Prüfung des Dienst-Computersystems 150, dass die Transaktion durchführbar ist, so wird die Transaktion anhand der Transaktionsdaten und der Zusatzinformation 168 durchgeführt.
Nach einer Ausführungsform der Erfindung handelt es sich bei dem Programm 1 13 um einen Browser-Plug-in, das in einer Registry eines Betriebssystems des Nutzer- Computersystems mit einer Plug-in-Kennung registriert ist, wobei es sich bei dem Betriebssystem zum Beispiel um ein Windows-Betriebssystem, Android oder iOS handeln kann. In diesem Fall beinhaltet die Nachricht 172 von dem ID-Provider- Computersystem an den Internet-Browser 1 12 diese Plug-in-Kennung 184, so dass das Plug-in 3 aufgrund des Empfangs der Nachricht gestartet wird.
Nach einer weiteren Ausführungsform der Erfindung handelt es sich bei dem Programm 1 13 ein von dem Internet-Browser 1 12 separates Anwendungsprogramm, wie zum Beispiel eine sogenannte Bürger-App oder Ausweis-App. Dieses Anwendungsprogramm 1 13 wird von dem Internet-Browser 1 12 durch Aufruf einer lokalen URL gestartet, wobei die lokale URL eine fest vorgegebener Portnummer gemäß dem TCP-Protokoll beinhaltet. Diese lokale URL wird zusammen mit der Webseite 160 von dem Dienst-Computersystem 150 an das Nutzer-Computersystem 100 übertragen und zwar über die erste Session 201 , um das Starten des Anwendungsprogramms 1 13 mit Hilfe der lokalen URL durch den Internet-Browser 1 12 zu bewir- ken.
Für den Fall, dass nur das Chiffrat der Zusatzinformation 168, nicht aber die Zusatzinformation 168 selbst über die zweite Session 202 von dem Nutzer- Computersystem 100 an das ID-Provider-Computersystem 136 übertragen wird, beinhaltet auch die Response 74 nur dieses Chiffrat, nicht aber die Zusatzinformation 168 selbst. In diesem Fall entschlüsselt das Dienst-Computersystem 150 das Chiffrat mit Hilfe des privaten Schlüssels des Dienst-Computersystems 150, um dann mit Hilfe der Zusatzinformation 168 die angeforderte Transaktion durchzuführen. Hierbei kann es sich zum Beispiel um die Durchführung einer finanziellen Transaktion, wie zum Beispiel die Durchführung einer Überweisung in der Höhe des Bezahlbetrags handeln, der in der Zusatzinformation 168 angegeben ist.
Alternativ ist es aber auch möglich, dass die Durchführung der Zahlung seitens des ID-Provider-Computersystems 36 ausgelöst wird. Dies kann so erfolgen, dass das ID-Provider-Computersystem 136 die hierfür erforderlichen Transaktionsdaten über den Request 166 und die Zusatzinformationen 168 empfängt und dann die Zahlung durchführt oder veranlasst. Die Response 174 beinhaltet dann eine Bestätigung des ID-Provider-Computersystems 136, dass die Zahlung erfolgt ist. Eine Übermittlung der Zusatzinformation 168 an das Dienst-Computersystem 150 kann dann unterbleiben, was zum Schutz der Vertraulichkeit dieser Zusatzinformati- onen 168 vorteilhaft ist, denn diese Zusatzinformationen 168 müssen dann nur gegenüber dem vertrauenswürdigen ID-Provider-Computersystem 136 offengelegt werden. Die eigentliche Transaktion, z.B. die Lieferung des bestellten Produkts, wird
dann nach Empfang der Zahlungsbestätigung, die in der Response 174 beinhaltet ist, von dem Dienst-Computersystem 150 veranlasst.
Nach einer Ausführungsform der Erfindung beinhaltet die Zusatzinformation 168 ein OTP. Das Dienst-Computersystem 150 prüft dann als zusätzliche Voraussetzung für die Durchführung der Transaktion, ob das OTP gültig ist. Vorzugsweise wird das OTP durch das Nutzer-Computersystem 100 mit dem öffentlichen Schlüssel des Dienst-Computersystems 150 verschlüsselt und dann von dem Dienst- Computersystems 150 nach dem Empfang der Zusatzinformation mit dem ver- schlüsselten OTP entschlüsselt, um dann dessen Validität zu prüfen.
Nach einer Ausführungsform der Erfindung gehört zu dem erfindungsgemäßen Computersystem ein Terminal 186, bei dem es sich zum Beispiel um einen Automat, insbesondere einen Bankautomat oder Verkaufsautomat, handeln kann. Bei- spielsweise kann der Nutzer 102 in das Terminal 186 einen Geldbetrag eingeben, um Bargeld von seinem Konto abzuheben. Auf einem Display 188 des Automat wird dann ein optisch erfassbares Muster angezeigt, wie zum Beispiel ein QR-Code, der ein URL des Dienst-Computersystems 150 sowie den von dem Nutzer 102 gewünschten Geldbetrag beinhaltet.
Dieses optische Muster wird von dem Display 188 mit Hilfe einer Kamera 190 des Nutzer-Computersystems 100 erfasst. Das Nutzer-Computersystem 100 erzeugt dann die Transaktionsanforderung 158, die diesen Geldbetrag angibt. Die erste Session 201 wird hier mit Hilfe der aus dem optischen Muster erfassten URL des Dienst-Computersystems 150 aufgebaut und die Transaktionsanforderung 158 mit dem gewünschten Geldbetrag wird über diese erste Session 201 an das Dienst- Computersystem 150 übermittelt. Das Dienst-Computersystem 150 erzeugt dann einen entsprechenden Request 166, um die für die Auszahlung des gewünschten Geldbetrags erforderlichen Attribute und Zusatzinformationen 168 abzufragen.
Je nach Ausführungsform wird dann durch die l D-Provider-Computersystem 136 oder durch das Dienst-Computersystem 150 die Belastung eines Kontos des Nutzers 102, welches dieser zum Beispiel in der Zusatzinformation 68 angegeben hat, veranlasst. Aufgrund des Empfangs der Response 174 und der Veranlassung der
Zahlung empfängt dann das Terminal 186 ein Signal zur Ausgabe des gewünschten Geldbetrags zum Beispiel in Form von Bargeld oder zur Aufladung einer Cash-Card des Nutzers 102. Dies kann so erfolgen, dass das Terminal 186 unmittelbar mit dem Dienst-Computersystem 150 verbunden ist oder über das Netzwerk 116.
Alternativ kann es sich bei dem Terminal 86 auch um einen Verkaufsautomat handeln, wobei dann kein Bargeld, sondern ein gewünschtes Produkt, wie zum Beispiel eine Getränkedose oder eine Zigarettenschachtel von dem Verkaufsautomaten abgegeben wird, nachdem die Durchführung der Zahlung von dem Dienst- Computersystem 150 signalisiert worden ist.
In einer weiteren Anwendung kann es sich bei dem Terminal 186 um ein mobiles Telekommunikationsgerät, insbesondere ein Smartphone handeln. Wenn der Nutzer 102 von dem Inhaber des Terminals 186 etwas kaufen möchte, so gibt der Inhaber des Terminals 186 den entsprechenden Kaufpreis in das Terminal 186 ein, so dass dann auf dem Display 188 in Form des optisch erfassbaren Musters wiederum dieser Kaufpreis als Bezahlbetrag sowie die URL des Dienst-Computersystems 150 ausgegeben wird. Nach Beendigung der Transaktion empfängt das Terminal 186 von dem Dienst-Computersystem 150 ein Signal, weiches anzeigt, dass der Be- zahlvorgang erfolgt ist und der Inhaber des Terminals 186 gibt dann die Ware an den Nutzer 102 ab. Dies kann auch in dem Kassensystem zum Beispiel eines Supermarkts implementiert sein. Eine weitere Anwendung ist ein Taxameter, welches Taxigebühren erfasst oder ein anderer Verbrauchszähler, wie zum Beispiel ein Verbrauchszähler für den Strom- oder Gasverbrauch eines Haushalts, insbesondere ein sog. Smartmeter.
Bezugszeichenliste
100 Nutzer-Computersystem
102 Nutzer
04 Schnittstelle
106 ID-Token
108 Schnittstelle
110 Prozessor
112 Anwendungsprogramm/lnternet-Browser
113 Programm/Anwendungsprogramm
114 Netzwerk-Sch n ittstel le
116 Netzwerk
118 elektronischer Speicher
120 geschützter Speicherbereich
122 geschützter Speicherbereich
124 geschützter Speicherbereich
26 Speicherbereich
128 Prozessor
130 Programminstruktionen
132 Programminstruktionen
134 Programminstruktionen
136 ID-Provider-Computersystem
138 Netzwerk-Schnittstelle
140 Speicher
141 geschützter Speicherbereich
142 privater Schlüssel
144 Zertifikat
145 Prozessor
146 Programminstruktionen
148 Programminstruktionen
150 Dienst-Computersystem
52 Netzwerk-Schnittstelle
154 Prozessor
Programminstruktionen
Transaktionsanforderung
Webseite
Eingabefeid
Eingabeelement
Request
Zusatzinformation
Programminstruktionen
Nachricht
Response
lokale Verbindung
Programminstruktionen
Kennung
Lesekommando
Kennung
Terminal
Display
Kamera