[go: up one dir, main page]

DE102011089580B3 - Method for reading e.g. attribute stored in passport, for electronic-commerce application, involves examining whether attribute of security assertion markup language response fulfills criterion as premiss for contribution of service - Google Patents

Method for reading e.g. attribute stored in passport, for electronic-commerce application, involves examining whether attribute of security assertion markup language response fulfills criterion as premiss for contribution of service Download PDF

Info

Publication number
DE102011089580B3
DE102011089580B3 DE201110089580 DE102011089580A DE102011089580B3 DE 102011089580 B3 DE102011089580 B3 DE 102011089580B3 DE 201110089580 DE201110089580 DE 201110089580 DE 102011089580 A DE102011089580 A DE 102011089580A DE 102011089580 B3 DE102011089580 B3 DE 102011089580B3
Authority
DE
Germany
Prior art keywords
computer system
service
saml
application program
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE201110089580
Other languages
German (de)
Inventor
Carsten Schwarz
Jan Hill
Christian Kahlo
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bundesdruckerei GmbH
Original Assignee
AGETO Innovation GmbH
Bundesdruckerei GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by AGETO Innovation GmbH, Bundesdruckerei GmbH filed Critical AGETO Innovation GmbH
Priority to DE201110089580 priority Critical patent/DE102011089580B3/en
Application granted granted Critical
Publication of DE102011089580B3 publication Critical patent/DE102011089580B3/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2115Third party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

The method involves retrieving a security assertion markup language (SAML)response by an internet browser (112) using an address over a network e.g. internet. The response of the internet browser is forwarded to a service computer system i.e. internet server, over the network. The response is associated to selection of a service with a help of an identifier e.g. session-identification, by the service computer system. An examination is made whether an attribute of the response fulfills a criterion as premiss for contribution of the service by the service computer system. Independent claims are also included for the following: (1) a computer program product comprising instructions to execute a method for reading attribute stored in identification-token (2) a data processing system.

Description

Die Erfindung betrifft ein Verfahren zum Lesen von zumindest einem Attribut aus einem ID-Token, ein Computerprogrammprodukt und ein Datenverarbeitungssystem.The invention relates to a method for reading at least one attribute from an ID token, a computer program product and a data processing system.

Aus dem Stand der Technik sind verschiedene Verfahren zur Verwaltung der so genannten digitalen Identität eines Benutzers bekannt:
Microsoft Windows CardSpace ist ein Client-basiertes digitales Identitätssystem, welches es Internetbenutzern ermöglichen soll, deren digitale Identität gegenüber Online-Diensten mitzuteilen. Nachteilig ist hierbei unter anderem, dass der Nutzer seine digitale Identität manipulieren kann.
Various methods for managing the so-called digital identity of a user are known from the prior art:
Microsoft Windows CardSpace is a client-based digital identity system designed to allow Internet users to communicate their digital identity to online services. The disadvantage here is, inter alia, that the user can manipulate his digital identity.

Bei OPENID handelt es sich dagegen um ein Server-basiertes System. Ein so genannter Identity-Server speichert eine Datenbank mit den digitalen Identitäten der registrierten Nutzer. Nachteilig ist hieran unter anderem ein mangelhafter Datenschutz, da die digitalen Identitäten der Nutzer zentral gespeichert werden und das Nutzerverhalten aufgezeichnet werden kann.OPENID, on the other hand, is a server-based system. A so-called identity server stores a database with the digital identities of the registered users. One disadvantage of this is, inter alia, inadequate data protection, since the digital identities of the users are stored centrally and the user behavior can be recorded.

Aus US 2007/0294431 A1 ist ein weiteres Verfahren zur Verwaltung der digitalen Identitäten bekannt, welches ebenfalls eine Nutzerregistrierung erfordert. Aus der US 2011/0138453 A1 ist gleichfalls ein Verfahren zur Authentifizierung zwischen einem Nutzer-Computersystem, einem Webservice und einem ID-Providercomputersystem bekannt, bei dem jedoch auch eine Nutzerregistrierung erforderlich ist, um durch eine einmalige Anmeldung bei dem ID-Providercomputersystem Zugangsdaten für verschiedene Webservices zur Verfügung stellen zu können.Out US 2007/0294431 A1 Another method for managing digital identities is known, which also requires user registration. From the US 2011/0138453 A1 A method for authenticating between a user computer system, a web service and an ID provider computer system is also known, but user registration is also required in order to be able to provide access data for various web services by a single login to the ID provider computer system.

Aus DE 10 2008 000 067 B4 ist ein Verfahren zum Lesen von Attributen aus einem ID-Token bekannt, bei dem ein ID-Provider-Computersystem über ein Netzwerk zumindest ein Attribut aus dem ID-Token ausliest, wobei es sich bei dem ID-Token zum Beispiel um ein Ausweisdokument handeln kann. Aus DE 10 2008 040 416 A1 , DE 10 2009 001 959 A1 , DE 10 2009 027 676 A1 , DE 10 2009 027 681 A1 , DE 10 2009 027 682 A1 , DE 10 2009 027 686 A1 , DE 10 2009 027 723 A1 , DE 10 2009 046 205 A1 und DE 10 2010 028 133 A1 sind Weiterbildungen und verschiedene Verwendungen dieses Verfahrens bekannt.Out DE 10 2008 000 067 B4 For example, a method for reading attributes from an ID token is known in which an ID provider computer system reads at least one attribute from the ID token over a network, wherein the ID token may be, for example, an ID document , Out DE 10 2008 040 416 A1 . DE 10 2009 001 959 A1 . DE 10 2009 027 676 A1 . DE 10 2009 027 681 A1 . DE 10 2009 027 682 A1 . DE 10 2009 027 686 A1 . DE 10 2009 027 723 A1 . DE 10 2009 046 205 A1 and DE 10 2010 028 133 A1 are known developments and various uses of this method.

Der Erfindung liegt demgegenüber die Aufgabe zugrunde, ein verbessertes Verfahren zum Lesen zumindest eines in einem ID-Token gespeicherten Attributs zu schaffen, sowie ein entsprechendes Computerprogrammprodukt und ein Datenverarbeitungssystem.The invention is based on the object to provide an improved method for reading at least one stored in an ID token attribute, and a corresponding computer program product and a data processing system.

Die der Erfindung jeweils zugrunde liegenden Aufgaben werden mit den Merkmalen der unabhängigen Patentansprüche gelöst. Ausführungsformen der Erfindung sind mit den abhängigen Patentansprüchen angegeben.The objects underlying the invention are achieved with the features of the independent claims. Embodiments of the invention are indicated by the dependent claims.

Nach Ausführungsformen der Erfindung wird ein Verfahren zum Lesen zumindest eines in einem ID-Token gespeicherten Attributs geschaffen. Der ID-Token ist einem Nutzer zugeordnet.According to embodiments of the invention, a method is provided for reading at least one attribute stored in an ID token. The ID token is assigned to a user.

Unter einem „ID-Token” wird hier 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.An "ID token" here means a portable electronic device which has at least one data memory for storing the at least one attribute and a communication interface for reading out the attribute. The ID token preferably has a secure memory area for storing the at least one attribute in order to prevent the attribute stored in the memory area from being altered in an unauthorized manner or read out without the authorization required for this purpose.

Insbesondere kann es sich bei dem ID-Token um einen USB-Stick handeln oder ein Dokument, insbesondere ein Wert- oder Sicherheitsdokument. Unter einem „Dokument” werden erfindungsgemäß papierbasierte und/oder kunststoffbasierte Dokumente verstanden, wie zum Beispiel 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.In particular, the ID token can be a USB stick or a document, in particular a value or security document. According to the invention, a "document" is understood to mean paper-based and / or plastic-based documents, such as identity documents, identity cards, visas and driver's licenses, vehicle registration documents, vehicle documents, company identity cards, health cards or other ID documents as well as chip cards, payment means, in particular bank notes, Bank cards and credit cards, bills of lading or other credentials, in which a data memory for storing the at least one attribute is integrated.

Nach Ausführungsformen der Erfindung ruft der Nutzer, der sich in Besitz des ID-Tokens befindet, mit Hilfe eines Internetbrowsers seines Nutzer-Computersystems eine Internetseite eines Dienst-Computersystems auf, wobei die Internetseite zur Eingabe einer Auswahl eines Dienstes ausgebildet ist.According to embodiments of the invention, the user in possession of the ID token invokes an Internet page of a service computer system using an Internet browser of his user computer system, the Internet page being adapted to input a selection of a service.

Unter einem „Nutzer-Computersystem” wird hier ein Computersystem verstanden, auf welches der Nutzer Zugriff hat. Hierbei kann es sich zum Beispiel um einen Personal Computer (PC), ein Tablet PC oder ein Mobilfunkgerät, insbesondere ein Smart Phone, mit einem üblichen Internetbrowser, wie zum Beispiel Microsoft Internet Explorer, Safari, Google Chrome, Firefox 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.A "user computer system" is understood here as a computer system to which the user has access. This may be, for example, a personal computer (PC), a tablet PC or a mobile device, in particular a smart phone, with a conventional Internet browser, such as Microsoft Internet Explorer, Safari, Google Chrome, Firefox. The user computer system has an interface for connection to the network, wherein the network may be a private or public network, in particular the Internet.

Unter einem „Dienst-Computersystem” wird hier ein Computersystem verstanden, welches über eine Netzwerk-Schnittstelle zur Verbindung mit dem Netzwerk verfügt, sodass mit Hilfe des Internetbrowsers des Nutzer-Computersystems und anderer Nutzer-Computersysteme 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ügungstellung eines Online-Dienstes handeln, insbesondere um eine sogenannte eCommerce-Plattform. A "service computer system" is here understood to mean a computer system which has a network interface for connection to the network, so that using the Internet browser of the user computer system and other user computer systems on Internet pages stored or generated by the service computer system can be accessed. In particular, the service computer system may be an internet server for providing an online service, in particular a so-called e-commerce platform.

Bei den angebotenen Diensten kann es sich um verschiedene Dienstleistungen oder Produkte handeln, wie zum Beispiel die Eröffnung eines Bankkontos, das Herunterladen oder Streaming von Daten oder die Bestellung eines Produkts. Insbesondere kann das Dienst-Computersystem auch zur Erbringung von behördlichen Diensten oder zur Erfüllung hoheitlicher Aufgaben ausgebildet sein, insbesondere für sogenannte eGovernment-Anwendungen.The services offered may be various services or products, such as opening a bank account, downloading or streaming data, or ordering a product. In particular, the service computer system can also be designed for the provision of official services or for the performance of sovereign tasks, in particular for so-called e-government applications.

Mit Hilfe des Internetbrowsers kann der Nutzer eine Internetseite des Dienst-Computersystems auswählen und auf das Nutzer-Computersystem laden. Der Nutzer kann daraufhin mit Hilfe des Internetbrowsers einen auf der Internetseite angebotenen Dienst auswählen und die entsprechende Auswahlentscheidung über den Internetbrowser eingeben, sodass diese Eingabe an das Dienst-Computersystem übertragen wird. Insbesondere erfolgt dies im Rahmen einer sogenannten Session, die zwischen dem Dienst-Computersystem und dem Internetbrowser für den Zugriff auf die Internetseite aufgebaut wird.With the aid of the Internet browser, the user can select a website of the service computer system and load it onto the user computer system. The user can then use the Internet browser to select a service offered on the website and enter the appropriate selection decision via the Internet browser, so that this input is transmitted to the service computer system. In particular, this is done in the context of a so-called session, which is established between the service computer system and the Internet browser for accessing the Internet site.

Für die Auswahl des Dienstes, welche das Dienst-Computersystem von dem Nutzer empfangen hat, vergibt dieses einen Identifikator, welchen das Dienst-Computersystem zumindest temporär speichert. Der Identifikator wird der empfangenen Auswahl des Dienstes zugeordnet und diese Zuordnung wird von dem Dienst-Computersystem gespeichert. Insbesondere kann ein Identifikator der zwischen dem Dienst-Computersystem und dem Nutzer-Computersystem aufgebauten Session, das heißt die sogenannte Session-ID, als Identifikator dienen. Alternativ kann der Identifikator dem Nutzer fest zugeordnet und im Voraus vergeben sein.For the selection of the service which the service computer system has received from the user, the latter assigns an identifier which the service computer system at least temporarily stores. The identifier is associated with the selected selection of the service and this association is stored by the service computer system. In particular, an identifier of the session established between the service computer system and the user computer system, that is to say the so-called session ID, can serve as an identifier. Alternatively, the identifier can be assigned to the user and assigned in advance.

Von dem Dienst-Computersystem wird dann zumindest ein Parameter zum Aufruf eines Anwendungsprogramms des Nutzer-Computersystems zusammen mit einer Adresse und dem Identifikator an den Internetbrowser des Nutzer-Computersystems übertragen. Das Anwendungsprogramm des Nutzer-Computersystems wird dann durch den Internetbrowser aufgerufen, und zwar mit Hilfe des zumindest einen Parameters. Der Internetbrowser gibt die von dem Dienst-Computersystem empfangene Adresse und den Identifikator in das Anwendungsprogramm ein.The service computer system then transmits at least one parameter for calling an application program of the user computer system together with an address and the identifier to the Internet browser of the user computer system. The application program of the user computer system is then called by the Internet browser, with the help of at least one parameter. The Internet browser enters the address received from the service computer system and the identifier into the application program.

Das Anwendungsprogramm überträgt daraufhin eine Anforderung an das Dienst-Computersystem, wobei die Anforderung die Adresse und den Identifikator beinhaltet. Als Reaktion auf diese Anforderung erzeugt dann das Dienst-Computersystem einen SAML-Request. Das Dienst-Computersystem fungiert dabei also als SAML-Requester (vgl. Security Assertion Markup Language (SAML) V2.0 Technical Overview, OASIS, Committee Draft 02, 25. März 2008).The application program then transmits a request to the service computer system, the request including the address and the identifier. In response to this request, the service computer system then generates a SAML request. The service computer system thus acts as a SAML requester (see Security Assertion Markup Language (SAML) V2.0 Technical Overview, OASIS, Committee Draft 02, March 25, 2008).

Der SAML-Request beinhaltet eine Attributspezifizierung zur Spezifizierung des zumindest einen aus dem ID-Token auszulesenden Attributs. Insbesondere kann die Attributspezifizierung durch Angabe einer Bezeichnung des zu lesenden Attributs erfolgen, wie zum Beispiel „Name”, „Alter”, „Guthaben”, um zum Beispiel den Namen, das Alter bzw. ein Guthaben des Nutzers aus dem ID-Token auszulesen.The SAML request contains an attribute specification for specifying the at least one attribute to be read from the ID token. In particular, the attribute specification can be made by specifying a name of the attribute to be read, such as "name", "age", "credit", for example, to read the name, age or credit of the user from the ID token.

Der SAML-Request wird von dem Dienst-Computersystem über das Netzwerk an das Anwendungsprogramm gesendet, welches den SAML-Request dann an ein ID-Provider-Computersystem über das Netzwerk weiterleitet.The SAML request is sent from the service computer system over the network to the application program, which then forwards the SAML request to an ID provider computer system over the network.

Unter einem „ID-Provider-Computersystem” wird hier ein Computersystem verstanden, welches dazu ausgebildet ist, das zumindest eine Attribut aus dem ID-Token auszulesen, beispielsweise zur Erbringung eines Dienstes für die Ermittlung der digitalen Identität des Nutzers oder des ID-Tokens selbst. Die digitale Identität wird hierbei durch das zumindest eine auszulesende Attribut bestimmt.An "ID provider computer system" is here understood to mean a computer system which is designed to read out the at least one attribute from the ID token, for example to provide a service for determining the digital identity of the user or of the ID token itself The digital identity is determined by the at least one attribute to be read.

Aufgrund des SAML-Request führt das ID-Provider-Computersystem einen Lesezugriff auf den ID-Token durch, um die gemäß der Attributspezifizierung erforderlichen ein oder mehreren Attribute aus dem ID-Token auszulesen. Hierzu ist es zunächst erforderlich, dass sich sowohl das ID-Provider-Computersystem als auch der Nutzer gegenüber dem ID-Token authentifizieren, wie es an sich aus DE 10 2008 000 067 B4 bekannt ist.Because of the SAML request, the ID provider computer system provides read access to the ID token to retrieve the one or more attributes from the ID token as required by the attribute specification. For this purpose, it is first necessary that both the ID provider computer system and the user authenticate themselves to the ID token, as it is in itself DE 10 2008 000 067 B4 is known.

Das ID-Provider-Computersystem erzeugt dann eine SAML-Response, fungiert also als SAML-Responder. Die SAML-Response beinhaltet das zumindest eine aus dem ID-Token ausgelesene Attribut und ist signiert, sodass die SAML-Response über das Netzwerk übertragen werden kann, ohne dass ein Dritter die SAML-Response unentdeckt manipulieren könnte. Vorzugsweise beinhaltet die SAML-Response auch den Identifikator, welchen das ID-Provider-Computersystem mit dem SAML-Request erhalten hat.The ID provider computer system then generates a SAML response, thus acting as a SAML responder. The SAML response includes the at least one attribute read from the ID token and is signed so that the SAML response can be transmitted over the network without a third party manipulating the SAML response undetected. Preferably, the SAML response also includes the identifier that the ID provider computer system received with the SAML request.

Das ID-Provider-Computersystem speichert die erzeugte SAML-Response, sodass sie von dem ID-Provider-Computersystem mit Hilfe der Adresse abgerufen werden kann. Durch die Adresse wird also ein Zugriffsschlüssel zum Abruf der SAML-Response von dem ID-Provider-Computersystem über das Netzwerk gebildet. The ID provider computer system stores the generated SAML response so that it can be retrieved from the ID provider computer system using the address. The address thus forms an access key for retrieving the SAML response from the ID provider computer system via the network.

Die Speicherung der SAML-Response und deren Verfügbarkeit zum Abrufen wird von dem ID-Provider-Computersystem an das Anwendungsprogramm über das Netzwerk signalisiert und das Anwendungsprogramm antwortet daraufhin auf den Aufruf des Internetbrowsers, indem das Anwendungsprogramm den Internetbrowser die Speicherung der SAML-Response signalisiert.The storage of the SAML response and its availability for retrieval is signaled by the ID provider computer system to the application program over the network and the application program responds to the call of the Internet browser by the application program the Internet browser to store the SAML response signals.

Der Internetbrowser ruft dann die SAML-Response über das Netzwerk mit Hilfe der Adresse ab, sodass die SAML-Response von dem ID-Provider-Computersystem zu dem Internetbrowser übertragen wird. Der Internetbrowser leitet dann die SAML-Response an das Dienst-Computersystem weiter.The Internet browser then retrieves the SAML response over the network using the address so that the SAML response is transmitted from the ID provider computer system to the Internet browser. The Internet browser then forwards the SAML response to the service computer system.

Das Dienst-Computersystem ordnet die SAML-Response mit Hilfe des in der SAML-Response beinhalteten Identifikators der zuvor GETroffenen Auswahl des Dienstes zu. Dies ist besonders vorteilhaft, weil auf diese Art und Weise Auswahlen von Diensten des Dienst-Computersystems verschiedener Nutzer gleichzeitig verarbeitet werden können, weil aufgrund des Identifikators jeweils eine Zuordnung zwischen SAML-Request, SAML-Response und der eingegebenen Auswahl des Dienstes bzw. der Internetsession gegeben ist.The service computer system allocates the SAML response to the previously-selected service selection using the identifier included in the SAML response. This is particularly advantageous because in this way selections of services of the service computer system of different users can be processed simultaneously, because due to the identifier in each case an association between SAML request, SAML response and the entered selection of the service or the Internet session given is.

Das Dienst-Computersystem kann dann anhand der SAML-Response, welche das zumindest eine Attribut beinhaltet, prüfen, ob ein vorgegebenes Kriterium für die Erbringung des ausgewählten Dienstes für den Nutzer erfüllt ist, beispielsweise ob der durch seinen Namen ausgewiesene Nutzer zu einer autorisierten Nutzergruppe gehört, ob der Nutzer zum Beispiel volljährig ist, oder ob der Nutzer über ein ausreichendes Guthaben verfügt. Wenn das entsprechende Kriterium erfüllt ist, kann dann das Dienst-Computersystem den ausgewählten Dienst erbringen.The service computer system can then check on the basis of the SAML response, which contains the at least one attribute, whether a predetermined criterion for the provision of the selected service for the user is fulfilled, for example if the user designated by his name belongs to an authorized user group whether the user is of age, for example, or whether the user has sufficient credit. If the corresponding criterion is met, then the service computer system can provide the selected service.

Nach einer Ausführungsform der Erfindung handelt es sich bei den Parametern zum Aufruf des Anwendungsprogramms um eine Transmission Control Protocol(TCP)-Portnummer und eine Internetprotokoll(IP)-Adresse des Anwendungsprogramms handelt, wobei das Anwendungsprogramm durch Senden der Adresse und des Identifikators an die Portnummer und Adressierung mit der IP-Adresse aufgerufen wird.According to one embodiment of the invention, the parameters for calling the application program is a Transmission Control Protocol (TCP) port number and an Internet Protocol (IP) address of the application program, the application program sending the address and the identifier to the port number and addressing with the IP address is called.

Das Anwendungsprogramm kann beispielsweise permanent ausgeführt werden, um auf seinen Aufruf über eine bestimmte Portnummer zu warten. Erfolgt der Aufruf mit der IP-Adresse des Anwendungsprogramms, werden durch den Aufruf die Adresse und der Identifikator in das Anwendungsprogramm eingegeben, welches daraufhin eine Anforderung an das Dienst-Computersystem richtet, um damit zu signalisieren, dass die Erzeugung eines SAML-Requests erforderlich ist.For example, the application program can be executed permanently to wait for its call for a particular port number. If the call is made with the IP address of the application program, the call enters the address and the identifier into the application program, which then makes a request to the service computer system to signal that the creation of a SAML request is required ,

Nach einer Ausführungsform der Erfindung haben sowohl das Anwendungsprogramm als auch das ID-Provider-Computersystem jeweils ein Application Programming Interface (API) welche zur Signalisierung der Speicherung der SAML-Response dienen. Beispielsweise können die APIs nach dem eCard-API-Framework ausgebildet sein, wie es vom Bundesamt für die Sicherheit in der Informationstechnik spezifiziert ist, nämlich in BSI TR-03112, insbesondere Teil 2.According to one embodiment of the invention, both the application program and the ID provider computer system each have an application programming interface (API) which serve to signal the storage of the SAML response. For example, the APIs may be designed according to the eCard API framework, as specified by the Federal Office for Information Security, namely in BSI TR-03112, in particular Part 2.

Ausführungsformen der Erfindung sind besonders vorteilhaft, da kein Browser-Plugin erforderlich ist, sodass die Erfindung unabhängig von dem verwendeten Internetbrowser und dessen Programmversion implementiert werden kann. Auf dem Nutzer-Computersystem muss also lediglich das Anwendungsprogramm installiert werden. Dies ist besonders vorteilhaft, wenn das Nutzer-Computersystem einen Internetbrowser hat, welcher keine Plugins zulässt, was insbesondere dann der Fall sein kann, wenn es sich bei dem Nutzer-Computersystem um ein Smartphone oder einen Tablet-PC handelt.Embodiments of the invention are particularly advantageous because no browser plug-in is required, so that the invention can be implemented independently of the Internet browser used and its program version. On the user computer system so only the application program must be installed. This is particularly advantageous if the user computer system has an Internet browser which does not allow plugins, which may be the case in particular when the user computer system is a smartphone or a tablet PC.

Nach Ausführungsformen der Erfindung erfolgt der Aufruf des Anwendungsprogramms durch ein HTTP GET-Kommando, welches die Adresse und den Identifikator beinhaltet.According to embodiments of the invention, the application program is called by an HTTP GET command containing the address and the identifier.

Nach einer Ausführungsform der Erfindung antwortet das Anwendungsprogramm auf den Aufruf mit dem HTTP GET-Kommando durch den HTTP Statuscode 303, so wie in RFC 2616, sowie RFC 2518, RFC 2817, RFC 2295, RFC 2774 und RFC 4918 spezifiziert. Im dem Location Header Feld des HTTP Statuscode 303 ist dabei die Adresse angegeben, mit Hilfe derer die SAML-Response von dem ID-Provider-Computersystem abrufbar ist. Mit Hilfe eines HTTP GET-Kommandos und der Adresse kann der Internetbrowser dann die SAML-Response abrufen.According to one embodiment of the invention, the application program responds to the call with the HTTP GET command by the HTTP status code 303 as specified in RFC 2616, RFC 2518, RFC 2817, RFC 2295, RFC 2774 and RFC 4918. In the Location Header field of the HTTP status code 303, the address is specified, with the help of which the SAML response from the ID provider computer system is retrievable. Using an HTTP GET command and the address, the Internet browser can then retrieve the SAML response.

Nach einer Ausführungsform der Erfindung sendet das Anwendungsprogramm in dem Zeitraum zwischen dem Empfang des Aufrufs von dem Internetbrowser und der Antwort auf den Aufruf ein oder mehrfach ein Signal an den Internetbrowser, um einen Timeout des Internetbrowsers aufgrund der ausbleibenden Antwort zu verhindern. Je nach Ausführungsform kann die Zeitdauer zwischen dem Aufruf des Anwendungsprogramms, zum Beispiel mittels des HTTP GET-Kommandos, und der Antwort hierauf, das heißt beispielsweise dem HTTP Statuscode 303, beispielsweise mehrere Sekunden bis zu einer Minute betragen, was je nach Konfiguration des Internetbrowsers zu einem Timeout und damit zu einer Fehlermeldung führen kann. Um dies zu vermeiden, sendet das Anwendungsprogramm zur Überbrückung dieses Zeitraums ein oder mehrfach ein Signal an den Internetbrowser, nämlich beispielsweise einen HTTP 102 Statuscode.According to one embodiment of the invention, in the period between receipt of the call from the Internet browser and the response to the call, the application program sends one or more times a signal to the Internet browser to prevent the Internet browser from timeout due to the lack of response. Depending on Embodiment may be the time duration between the call of the application program, for example by means of the HTTP GET command, and the response thereto, that is, for example, the HTTP status code 303, for example, several seconds to one minute, resulting in a timeout depending on the configuration of the Internet browser and thus can lead to an error message. To avoid this, the application program sends one or more times a signal to the Internet browser to bridge this period, namely, for example, an HTTP 102 status code.

In einem weiteren Aspekt betrifft die Erfindung ein Computerprogrammprodukt, insbesondere ein digitales Speichermedium, mit ausführbaren Instruktionen zur Durchführung eines Verfahrens nach einem der vorhergehenden Ansprüche.In a further aspect, the invention relates to a computer program product, in particular a digital storage medium, with executable instructions for carrying out a method according to one of the preceding claims.

In einem weiteren Aspekt betrifft die Erfindung ein Datenverarbeitungssystem mit einem ID-Provider-Computersystem. Das ID-Provider-Computersystem beinhaltet Mittel zum Empfang eines SAML-Request von einem Anwendungsprogramm eines Nutzer-Computersystems über ein Netzwerk, wobei der SAML-Request eine Attributspezifizierung zumindest eines aus einem ID-Token auszulesenden Attributs, eine Adresse und einen Identifikator beinhaltet, Mittel zur Authentifizierung des ID-Provider-Computersystems gegenüber dem ID-Token über das Netzwerk, Mittel zur Durchführung eines Lesezugriffs zum Lesen des zumindest einen in dem ID-Token gespeicherten Attributs gemäß der Attributspezifizierung über das Netzwerk nach erfolgreicher Durchführung der Authentifizierung, Mittel zur Erzeugung einer SAML-Response, welche das zumindest eine von dem ID-Provider-Computersystem ausgelesene und signierte Attribut, den Identifikator und eine Adresse beinhaltet, und Mittel zur Speicherung der SAML-Response in einem elektronischen Speicher des ID-Provider-Computersystems, sodass mit Hilfe der Adresse die SAML-Response durch einen Internetbrowser des Nutzer-Computersystems über das Netzwerk abrufbar ist, sodass sie über das Netzwerk von dem ID-Provider-Computersystem an das Nutzer-Computersystem übertragen wird.In another aspect, the invention relates to a data processing system having an ID provider computer system. The ID provider computer system includes means for receiving a SAML request from an application program of a user computer system over a network, the SAML request including an attribute specification of at least one attribute to be read from an ID token, an address, and an identifier for authenticating the ID provider computer system to the ID token over the network, means for performing a read access to read the at least one attribute stored in the ID token according to the attribute specification over the network after successful authentication, means for generating a SAML response, which includes the at least one of the ID provider computer system read and signed attribute, the identifier and an address, and means for storing the SAML response in an electronic memory of the ID provider computer system, so using the Address the SAML response by The Internet browser of the user computer system is retrievable over the network so that it is transmitted over the network from the ID provider computer system to the user computer system.

Das Datenverarbeitungssystem kann ferner ein oder mehrere der Nutzer-Computersysteme und ID-Token sowie zumindest ein Dienst-Computersystem beinhalten.The data processing system may further include one or more of the user computer systems and ID tokens and at least one service computer system.

Im Weiteren werden Ausführungsformen der Erfindung mit Bezugnahme auf die Zeichnungen näher erläutert. Es zeigen:In the following, embodiments of the invention will be explained in more detail with reference to the drawings. Show it:

1 ein Blockdiagramm einer ersten Ausführungsform eines erfindungsgemäßen Datenverarbeitungssystems, 1 a block diagram of a first embodiment of a data processing system according to the invention,

2 ein Flussdiagramm einer Ausführungsform eines erfindungsgemäßen Verfahrens, 2 a flow chart of an embodiment of a method according to the invention,

3 ein UML-Diagramm einer weiteren Ausführungsform eines erfindungsgemäßen Verfahrens. 3 a UML diagram of another embodiment of a method according to the invention.

Elemente der nachfolgenden Ausführungsformen, die einander entsprechen oder gleichen, werden mit denselben Bezugszeichen gekennzeichnet.Elements of the following embodiments that correspond or are the same as each other are denoted by the same reference numerals.

Die 1 zeigt ein Nutzer-Computersystem 100 eines Nutzers 102. Bei dem Nutzer-Computersystem 100 kann es sich um einen Personalcomputer, einen tragbaren Computer, wie zum Beispiel einen Laptop oder Palmtop-Computer, einen Personal Digital Assistant, einen Tablet-PC, ein mobiles Telekommunikationsgerät, insbesondere ein Smart Phone, oder dergleichen handeln. Das Nutzer-Computersystem 100 hat eine Schnittstelle 104 zur Kommunikation mit einem ID-Token 106, der eine entsprechende Schnittstelle 108 aufweist.The 1 shows a user computer system 100 a user 102 , In the user computer system 100 it may be a personal computer, a portable computer such as a laptop or palmtop computer, a personal digital assistant, a tablet PC, a mobile telecommunication device, in particular a smart phone, or the like. The user computer system 100 has an interface 104 for communication with an ID token 106 that has a corresponding interface 108 having.

Das Nutzer-Computersystem 100 hat zumindest einen Prozessor 110 zur Ausführung von Programminstruktionen, nämlich zumindest einem Internetbrowser 112 und einem Anwendungsprogramm 113, sowie eine Netzwerk-Schnittstelle 114 zur Kommunikation über ein Netzwerk 116. Bei dem Netzwerk kann es sich um ein Computernetzwerk, wie zum Beispiel das Internet, handeln.The user computer system 100 has at least one processor 110 for executing program instructions, namely at least one internet browser 112 and an application program 113 , as well as a network interface 114 for communication via a network 116 , The network can be a computer network, such as the Internet.

Der ID-Token 106 hat einen elektronischen Speicher 118 mit geschützten Speicherbereichen 120, 122 und 124. Der geschützte Speicherbereich 120 dient zur Speicherung eines Referenzwerts, der für die Authentifizierung des 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.The ID token 106 has an electronic memory 118 with protected storage areas 120 . 122 and 124 , The protected memory area 120 is used to store a reference value used for authentication of the user 102 opposite the ID token 106 is needed. This reference value is, for example, an identifier, in particular a so-called Personal Identification Number (PIN), or reference data for a biometric feature of the user 102 which is used to authenticate the user against the ID token 106 can be used.

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.The protected area 122 is used to store a private key and the protected storage area 124 is used to store attributes, such as the user 102 such as the name, place of residence, date of birth, gender, and / or attributes concerning the ID token itself, such as the institution that created or issued the ID token, the validity period of the ID token, an identifier of the ID token, such as a passport number or a credit card number.

Der elektronische Speicher 118 kann ferner einen Speicherbereich 126 zur Speicherung 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 erstellt worden sein, belspielsweise nach dem X.509 Standard.The electronic memory 118 may further include a memory area 126 to store a certificate. The certificate includes one public key belonging to the protected storage area 122 stored private key is assigned. The certificate may have been created according to a Public Key Infrastructure (PKI) standard, for example according to the 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.The certificate does not necessarily have to be in the electronic memory 118 of the ID token 106 be saved. Alternatively or additionally, the certificate can also be stored in a public directory server.

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.The ID token 106 has a processor 128 , The processor 128 is used to execute program instructions 130 . 132 and 134 , The program instructions 130 are used for user authentication, ie for authentication of the user 102 opposite the 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.In one embodiment with PIN, the user enters 102 his PIN for his authentication in the ID token 106 a, for example via the user computer system 100 , By executing the program instructions 130 will then go to the protected storage area 120 is accessed to compare the entered PIN with the reference value of the PIN stored there. In the event that the entered PIN matches the reference value of the PIN, the user is valid 102 as authenticated.

Alternativ wird ein biometrisches Merkmal des Nutzers 102 erfasst. Beispielsweise hat der ID-Token 106 hierzu einen Fingerabdrucksensor oder ein Fingerabdrucksensor 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 102 als authentifiziert.Alternatively, a biometric feature of the user 102 detected. For example, the ID token has 106 this is a fingerprint sensor or a fingerprint sensor is to the user computer system 100 connected. The by the user 102 captured biometric data is generated by executing the program instructions 130 in this embodiment, with those in the protected memory area 120 stored biometric reference data compared. With sufficient agreement of the user 102 collected biometric data with the biometric reference data is the user 102 as authenticated.

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 kryptographischen Protokoll kann es sich um ein Challenge-Response-Protokoll basierend auf einem symmetrischen Schlüssel oder einem asymmetrischen Schlüsselpaar handeln.The program instructions 134 are used to execute the ID token 106 relevant steps of a cryptographic protocol for authentication of an ID provider computer system 136 opposite the ID token 106 , The cryptographic protocol may be a challenge-response protocol based on a symmetric key or an asymmetric key pair.

Beispielsweise wird durch das kryptographische Protokoll ein Extended Access Control-Verfahren implementiert, wie es für maschinenlesbare Reisedokumente (machine-readable travel documents – MRTD) 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 kryptographischen Protokoll authentifizieren.For example, the cryptographic protocol implements an Extended Access Control method as specified for machine-readable travel documents (MRTD) by the International Aviation Authority (ICAO). Successful execution of the cryptographic protocol authenticates the ID provider computer system 136 relative to the ID token and thereby has its read permission to read in the protected memory area 124 stored attributes. The authentication can also be mutually exclusive, ie also the ID token 106 must then face the ID provider computer system 136 authenticate according to the same or another cryptographic protocol.

Die Programminstruktionen 132 dienen zur Ende-zu-Ende-Verschlüsselung von zwischen dem ID-Token 106 und dem ID-Provider-Computersystem 136 übertragenen Daten, zumindest aber der von dem ID-Provider-Computersystem 136 aus dem geschützten Speicherbereich 124 ausgelesenen 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 ID-Provider-Computersystem 136 vereinbart wird.The program instructions 132 serve for end-to-end encryption of between the ID token 106 and the ID provider computer system 136 transmitted data, but at least that of the ID provider computer system 136 from the protected storage area 124 read attributes. For the end-to-end encryption, a symmetric key can be used, for example, when executing the cryptographic protocol between the ID token 106 and the ID provider computer system 136 is agreed.

Alternativ zu der in der 1 dargestellten Ausführungsform kann das Nutzer-Computersystem 100 mit seiner Schnittstelle 104 nicht unmittelbar mit der Schnittstelle 108 kommunizieren, sondern über ein an die Schnittstelle 104 angeschlossenes Lesegerät für den ID-Token 106. Über dieses Lesegerät, wie zum Beispiel einen so genannten Klasse 2-Chipkarten-Terminal, kann auch die Eingabe der PIN erfolgen.Alternatively to the one in the 1 illustrated embodiment, the user computer system 100 with its interface 104 not directly with the interface 108 communicate but via a to the interface 104 connected reader for the ID token 106 , About this reader, such as a so-called class 2 smart card terminal, the PIN can also be entered.

Das ID-Provider-Computersystem 136 hat eine Netzwerk-Schnittstelle 138 zur Kommunikation über das Netzwerk 116. Das ID-Provider-Computersystem 136 hat ferner einen Speicher 140, in dem ein privater Schlüssel 142 des ID-Provider-Computersystems 136 sowie das entsprechende Zertifikat 144 gespeichert ist. Auch bei diesem Zertifikat kann es sich beispielsweise um ein Zertifikat nach einem PKI-Standard, wie zum Beispiel X.509 handeln.The ID provider computer system 136 has a network interface 138 for communication over the network 116 , The ID provider computer system 136 also has a memory 140 in which a private key 142 of the ID provider computer system 136 as well as the corresponding certificate 144 is stored. Also, this certificate may be, for example, a certificate according to a PKI standard, such as X.509.

Das ID-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 ID-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 106 sowie durch Ausführung der Programminstruktionen 146 durch den Prozessor 145 des ID-Provider-Computersystems 136 implementiert.The ID provider computer system 136 also has at least one processor 145 for executing program instructions 146 and 148 , By executing the program instructions 146 become the the ID provider computer system 136 relevant steps of the cryptographic protocol. Overall, therefore, the cryptographic protocol by execution of the program instructions 134 through the processor 128 of the ID token 106 as well as by executing the program instructions 146 through the processor 145 of the ID provider computer system 136 implemented.

Die Programminstruktionen 148 dienen zur Implementierung der Ende-zu-Ende-Verschlüsselung auf Seiten des ID-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 bekannte Verfahren zur Vereinbarung des symmetrischen Schlüssels für die Ende-zu-Ende-Verschlüsselung verwendet werden, wie zum Beispiel ein Diffie-Hellman-Schlüsselaustausch.The program instructions 148 are used to implement end-to-end encryption on the ID provider computer system side 136 For example, based on the symmetric key used when executing the cryptographic protocol between the ID token 106 and the ID provider computer system 136 has been agreed. In principle, any method known per se for agreeing the symmetric key for end-to-end encryption, such as a Diffie-Hellman key exchange, may be used.

Das ID-Provider-Computersystem 136 befindet sich vorzugsweise in einer besonders geschützten Umgebung, insbesondere in einem so genannten Trust-Center, sodass das ID-Provider-Computersystem 136 in Kombination mit der Notwendigkeit der Authentifizierung des Nutzers 102 gegenüber dem ID-Token 106 den Vertrauensanker für die Authentizität der aus dem ID-Token 106 ausgelesenen Attribute bildet.The ID provider computer system 136 is preferably located in a specially protected environment, in particular in a so-called trust center, so that the ID provider computer system 136 in combination with the need of authentication of the user 102 opposite the ID token 106 the confidence anchor for the authenticity of the ID token 106 forms read attributes.

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.A service computer system 150 may be designed to receive an order or contract for a service or product, in particular an online service. For example, the user 102 online over the network 116 open an account with a bank or use another financial or banking service. The service computer system 150 can also be designed as an online department store, allowing the user 102 For example, you can buy a mobile phone or the like online. Furthermore, the service computer system 150 also be designed for the delivery of digital content, for example for the download of music and / or video data.

Das Dienst-Computersystem 150 hat hierzu eine Netzwerk-Schnittstelle 152 zur Verbindung mit dem Netzwerk 116. Ferner hat das Dienst-Computersystem 150 zumindest einen Prozessor 154 zur Ausführung von Programminstruktionen 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.The service computer system 150 has a network interface for this purpose 152 to connect to the network 116 , Furthermore, the service computer system has 150 at least one processor 154 for executing program instructions 156 , By executing the program instructions 156 For example, dynamic HTML pages are generated over which the user 102 can enter his order or his order.

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.Depending on the nature of the ordered or ordered product or service, the service computer system 150 one or more attributes of the user 102 and / or its ID token 106 Check according to one or more given criteria. Only if this exam is passed will the order or the order of the user 102 accepted and / or executed.

Beispielsweise ist es für die Eröffnung eines Bankkontos oder den Kauf eines Mobiltelefons mit einem dazugehörigen Vertrag erforderlich, dass der Nutzer 102 seine Identität gegenüber dem Dienst-Computersystem 150 offenbart, und dass diese Identität überprüft wird. Im Stand der Technik muss der Nutzer 102 hierzu beispielsweise seinen Personalausweis vorlegen. Dieser Vorgang wird durch das Auslesen der digitalen Identität des Nutzers 102 aus seinem ID-Token 106 ersetzt.For example, it is necessary for the opening of a bank account or the purchase of a mobile phone with an associated contract 102 his identity to the service computer system 150 revealed and that this identity is checked. In the prior art, the user must 102 For this example, submit his identity card. This process is done by reading out the digital identity of the user 102 from his ID token 106 replaced.

Je nach Anwendungsfall muss der Nutzer 102 aber nicht seine Identität gegenüber dem Dienst-Computersystem 150 offenbaren, sondern es reicht die Mitteilung, zum Beispiel nur eines der Attribute aus. Beispielsweise kann der Nutzer 102 über eines der Attribute einen Nachweis erbringen, dass er zu einer bestimmten Personengruppe gehört, die zugangsberechtigt für auf dem Dienst-Computersystem 150 zum Download bereitgehaltener Daten ist. Beispielsweise kann ein solches Kriterium ein Mindestalter des Nutzers 102 sein oder die Zugehörigkeit des Nutzers 102 zu einem Personenkreis, der auf bestimmte vertrauliche Daten eine Zugriffsberechtigung hat.Depending on the application, the user must 102 but not his identity to the service computer system 150 reveal, but it is enough the message, for example, only one of the attributes. For example, the user 102 provide evidence of one of the attributes that it belongs to a particular group of people who are eligible for access to the service computer system 150 is for downloading held data. For example, such a criterion may be a minimum age of the user 102 his or her affiliation 102 to a group of people who have access to certain confidential data.

Nach Ausführungsformen der Erfindung haben das Anwendungsprogramm 113 und die Programminstruktionen 148 eine API, insbesondere entsprechend dem eCard-API-Framework.According to embodiments of the invention have the application program 113 and the program instructions 148 an API, especially according to the eCard API framework.

Zur Inanspruchnahme des von dem Dienst-Computersystem 150 zur Verfügung gestellten Dienstes wird wie folgt vorgegangen:
Der Nutzer 102 startet den Internetbrowser 112 und gibt die URL einer Internetseite ein, um die entsprechende Internetseite von dem Dienst-Computersystem 150 auf das Nutzer-Computersystem 100 zu laden und dort anzuzeigen. Der Nutzer 102 wählt dann auf der Internetseite einen bestimmten Dienst aus, in dem er beispielsweise in einem Online-Katalog ein bestimmtes Produkt auswählt, oder zum Beispiel bei einer eGovernment-Anwendung eine bestimmte behördliche Dienstleistung auswählt.
To claim the service from the computer system 150 The service provided is as follows:
The user 102 starts the internet browser 112 and enters the URL of an Internet page to the corresponding Internet page of the service computer system 150 on the user computer system 100 to load and display there. The user 102 then selects a particular service on the website, for example by selecting a specific product in an online catalog or, for example, selecting a particular government service in an eGovernment application.

Seine auf der Internetseite GETätigte Eingabe bestätigt der Nutzer 102 beispielsweise durch Betätigung der Entertaste auf der Tastatur des Nutzer-Computersystems oder durch einen Mausklick mit der Computermaus des Nutzer-Computersystems, sodass die Auswahl dieses Dienstes von dem Internetbrowser 112 an das Dienst-Computersystem 150 übertragen wird, zum Beispiel im Rahmen einer sogenannten Session, welche initial zwischen dem Internetbrowser 112 und dem Dienst-Computersystem 150 aufgebaut wird.His input on the website confirms the user 102 for example, by pressing the enter key on the keyboard of the user computer system or by a mouse click with the computer mouse of the user computer system, so that the selection of this service from the Internet browser 112 to the service computer system 150 is transmitted, for example in the context of a so-called session, which initially between the Internet browser 112 and the service computer system 150 is built.

Für eine solche Session wird ein Identifikator vergeben, das heißt eine sogenannte Session-ID 174. Über die Session-ID 174 ist somit eine Zuordnung der von dem Dienst-Computersystem empfangenen Auswahl eines Dienstes und dem Internetbrowser 112 des Nutzer-Computersystems 100, von dem diese Eingabe empfangen worden ist, gegeben. Eine solche Session-ID 174 kann beispielsweise in einem Speicher 172 des Dienst-Computersystems 150 zumindest temporär gespeichert werden.For such a session, an identifier is assigned, that is, a so-called session ID 174 , About the session ID 174 is thus an association of the selection of a service received by the service computer system and the internet browser 112 of the user computer system 100 from which this input has been received. Such a session ID 174 can for example in a memory 172 of the service computer system 150 at least temporarily stored.

In dem Speicher 172 können ferner Parameter 176 und eine Adresse 178 gespeichert sein.In the store 172 can also have parameters 176 and an address 178 be saved.

Als Antwort auf den Empfang der Auswahl des Dienstes von dem Internetbrowser 112 überträgt das Dienst-Computersystem 150 die Parameter 176, die Adresse 178 sowie den Identifikator, das heißt hier die Session-ID 174 an den Internetbrowser 112, beispielsweise durch eine HTTP-Response 182 auf einen HTTP-Request des Internetbrowsers 112, wie zum Beispiel auf HTTP GET 180, womit die Eingabe des Nutzers 102 für die Auswahl des Dienstes an das Dienst-Computersystem 150 von dem Internetbrowser 112 kommuniziert wird.In response to receiving the selection of the service from the Internet browser 112 transmits the service computer system 150 the parameters 176 , the address 178 as well as the identifier, that is the session ID here 174 to the internet browser 112 for example, through an HTTP response 182 to an HTTP request from the Internet browser 112 , such as on HTTP GET 180 , what the input of the user 102 for the selection of the service to the service computer system 150 from the internet browser 112 is communicated.

Der Internetbrowser 112 ruft aufgrund der HTTP-Response 182 das Anwendungsprogramm 113 auf, beispielsweise indem er ein HTTP GET 184 an das Anwendungsprogramm 113 innerhalb des Nutzer-Computersystems 100 richtet.The internet browser 112 calls due to the HTTP response 182 the application program 113 on, for example, by giving an HTTP GET 184 to the application program 113 within the user computer system 100 directed.

Beispielsweise beinhalten die Parameter 176 eine TCP-Portnummer und eine IP-Adresse des Anwendungsprogramms 113. Das Anwendungsprogramm 113 wird ständig im Hintergrund ausgeführt und wartet auf den Empfang von HTTP GET 184 an der TCP-Portnummer, welche an seine IP-Adresse gerichtet ist. Über HTTP GET 184 wird also das Anwendungsprogramm 113 von dem Internetbrowser 112 aufgerufen und es werden ferner die Adresse 178 und die Session-ID 174 in das Anwendungsprogramm 113 eingegeben.For example, the parameters include 176 a TCP port number and an IP address of the application program 113 , The application program 113 is constantly running in the background, waiting to receive HTTP GET 184 at the TCP port number, which is directed to its IP address. Via HTTP GET 184 becomes the application program 113 from the internet browser 112 and there will be the address 178 and the session ID 174 in the application program 113 entered.

Das Anwendungsprogramm 113 reagiert auf HTTP GET 184 mit einer Anforderung, wie zum Beispiel HTTP GET 186, welche das Anwendungsprogramm 113 über die Netzwerk-Schnittstelle 114 an das Dienst-Computersystem 150 sendet. HTTP GET 184 beinhaltet dabei wiederum die Session-ID 174 und die Adresse 178.The application program 113 responds to HTTP GET 184 with a request, such as HTTP GET 186 which the application program 113 over the network interface 114 to the service computer system 150 sends. HTTP GET 184 again contains the session ID 174 and the address 178 ,

Als Reaktion auf HTTP GET 186 wird durch Ausführung der Programminstruktionen 156 ein SAML-Request von dem Dienst-Computersystem 150 erzeugt. Der SAML-Request beinhaltet eine Attributspezifizierung zur Spezifizierung von zumindest eines der in dem Speicher 118 gespeicherten Attribute, welche das Dienst-Computersystem 150 als Voraussetzung für die Erbringung des ausgewählten Dienstes überprüfen muss. Beispielsweise kann in dem Speicher 172 eine Zuordnungstabelle 188 gespeichert sein, in der jedem auf der Internetseite angebotenen Dienst eine entsprechende Attributspezifizierung zugeordnet ist.In response to HTTP GET 186 is done by executing the program instructions 156 a SAML request from the service computer system 150 generated. The SAML request includes an attribute specification for specifying at least one of the in the memory 118 stored attributes representing the service computer system 150 as a condition for the provision of the selected service. For example, in the memory 172 an assignment table 188 stored, in which each service offered on the website associated with a corresponding attribute specification.

Das Dienst-Computersystem 150 greift also auf die Zuordnungstabelle 188 zu, um in Abhängigkeit von dem zuvor ausgewählten Dienst die entsprechende Attributspezifizierung zu bestimmen. Diese Attributspezifizierung wird in dem SAML-Request gespeichert, welcher ferner auch die Session-ID 174 beinhaltet. Dieser SAML-Request 190 wird dann von dem Dienst-Computersystem 150 an das Anwendungsprogramm 113 übertragen.The service computer system 150 thus accesses the allocation table 188 to determine the appropriate attribute specification depending on the previously selected service. This attribute specification is stored in the SAML request, which also contains the session ID 174 includes. This SAML request 190 is then from the service computer system 150 to the application program 113 transfer.

Das Anwendungsprogramm 113 leitet den SAML-Request dann an das ID-Provider-Computersystem 136 weiter. Das ID-Provider-Computersystem 136 liest daraufhin die durch die Attributspezifizierung des SAML-Request festgelegten Attribute aus dem ID-Token 106 aus, indem die folgenden Schritte durchgeführt werden:

  • 1. Authentifizierung des Nutzers 102 gegenüber dem ID-Token 106.
The application program 113 then directs the SAML request to the ID provider computer system 136 further. The ID provider computer system 136 then reads the attributes specified by the attribute specification of the SAML request from the ID token 106 by performing the following steps:
  • 1. Authentication of the user 102 opposite the ID token 106 ,

Der Nutzer 102 authentifiziert sich gegenüber dem ID-Token 106. Bei einer Implementierung mit PIN gibt der Nutzer 102 hierzu seine PIN beispielsweise über das Nutzer-Computersystem 100 oder einen daran angeschlossenen Chipkarten-Terminal ein. Durch Ausführung der Programminstruktionen 130 prüft dann der ID-Token 106 die Korrektheit der eingegebenen PIN. Wenn die eingegebene PIN mit dem in dem geschützten Speicherbereich 120 gespeicherten Referenzwert der PIN übereinstimmt, so gilt der Nutzer 102 als authentifiziert. Analog kann vorgegangen werden, wenn ein biometrisches Merkmal des Nutzers 102 zu dessen Authentifizierung verwendet wird, wie oben beschrieben.

  • 2. Authentifizierung des ID-Provider-Computersystems 136 gegenüber dem ID-Token 106.
The user 102 authenticates to the ID token 106 , In a PIN implementation, the user enters 102 this, for example, his PIN on the user computer system 100 or a smart card terminal connected to it. By executing the program instructions 130 then checks the ID token 106 the correctness of the entered PIN. If the entered PIN is in the protected memory area 120 stored reference value of the PIN, the user is valid 102 as authenticated. Analog can be proceeded if a biometric feature of the user 102 used for its authentication, as described above.
  • 2. Authentication of the ID provider computer system 136 opposite the ID token 106 ,

Hierzu wird eine Verbindung zwischen dem ID-Token 106 und dem ID-Provider-Computersystem 136 über das Nutzer-Computersystem 100 und das Netzwerk 116 hergestellt. Beispielsweise überträgt das ID-Provider-Computersystem 136 sein Zertifikat 144 über diese Verbindung an den ID-Token 106. Durch die Programminstruktionen 134 wird dann eine so genannte Challenge generiert, d. h. beispielsweise eine Zufallszahl. Diese Zufallszahl wird mit dem in dem Zertifikat 144 beinhalteten öffentlichen Schlüssel des ID-Provider-Computersystems 136 verschlüsselt. Das resultierende Chiffrat wird von dem ID-Token 106 über die Verbindung an das ID-Provider-Computersystem 136 gesendet. Das ID-Provider-Computersystem 136 entschlüsselt das Chiffrat mit Hilfe seines privaten Schlüssels 142 und erhält so die Zufallszahl. Die Zufallszahl sendet das ID-Provider-Computersystem 136 über die Verbindung an den ID-Token 106 zurück. Durch Ausführung der Programminstruktionen 134 wird dort geprüft, ob die von dem ID-Provider-Coinputersystem 136 empfangene Zufallszahl mit der ursprünglich generierten Zufallszahl, d. h. der Challenge, übereinstimmt. Ist dies der Fall, so gilt das ID-Provider-Computersystem 136 als gegenüber dem ID-Token 106 authentifiziert. Die Zufallszahl kann als symmetrischer Schlüssel für die Ende-zu-Ende Verschlüsselung verwendet werden.

  • 3. Nachdem sich der Nutzer 102 erfolgreich gegenüber dem ID-Token 106 authentifiziert hat, und nachdem sich das ID-Provider-Computersystem 136 erfolgreich gegenüber dem ID-Token 106 authentifiziert hat, erhält das ID-Provider-Computersystem 136 eine Leseberechtigung zum Auslesen, eines, mehrerer oder aller der in dem geschützten Speicherbereich 124 gespeicherten Attribute. Aufgrund eines entsprechenden Lesekommandos, welches das ID-Provider-Computersystem 136 über die Verbindung an den ID-Token 106 sendet, werden die angeforderten Attribute aus dem geschützten Speicherbereich 124 ausgelesen und durch Ausführung der Programminstruktionen 132 verschlüsselt. Die verschlüsselten Attribute werden über die Verbindung an das ID-Provider-Computersystem 136 übertragen und dort durch Ausführung der Programminstruktionen 148 entschlüsselt. Dadurch erhält das ID-Provider-Computersystem 136 Kenntnis der aus dem ID-Token 106 ausgelesenen Attribute.
This is done by connecting the ID token 106 and the ID provider computer system 136 via the user computer system 100 and the network 116 produced. For example, the ID provider computer system transmits 136 his certificate 144 via this connection to the ID token 106 , Through the program instructions 134 Then a so-called challenge is generated, ie, for example, a random number. This random number will be in the certificate 144 included public key of the ID provider computer system 136 encrypted. The resulting cipher is taken from the ID token 106 over the connection to the ID provider computer system 136 Posted. The ID provider computer system 136 decrypts the ciphertext using its private key 142 and gets the random number. The random number sends the ID provider computer system 136 over the connection to the ID token 106 back. By executing the program instructions 134 There is checked if the from the ID provider Coinputersystem 136 received random number with the originally generated random number, ie the Challenge matches. If this is the case, the ID provider computer system applies 136 as opposed to the ID token 106 authenticated. The random number can be used as a symmetric key for end-to-end encryption.
  • 3. After the user 102 successful against the ID token 106 has authenticated, and after the ID provider computer system 136 successful against the ID token 106 has authenticated the ID provider computer system 136 a read permission to read one, more, or all of them in the protected memory area 124 stored attributes. Due to a corresponding read command, the ID provider computer system 136 over the connection to the ID token 106 sends the requested attributes out of the protected memory area 124 read out and by executing the program instructions 132 encrypted. The encrypted attributes are sent over the connection to the ID provider computer system 136 transferred and there by execution of the program instructions 148 decrypted. This preserves the ID provider computer system 136 Knowing from the ID token 106 read attributes.

Mit den auf diese Art und Weise ausgelesenen Attributen erzeugt das ID-Provider-Computersystem 136 dann eine SAML-Response 192, wobei die Attribute durch das ID-Provider-Computersystem 136 signiert werden.With the attributes read in this way, the ID provider computer system generates 136 then a SAML response 192 where the attributes are provided by the ID provider computer system 136 to be signed.

Die SAML-Response wird dann durch das ID-Provider-Computersystem 136 zum Beispiel in dessen Speicher 140 gespeichert, und zwar so, dass die SAML-Response 192 aus dem Speicher 140 mit Hilfe der Adresse 178 abrufbar ist.The SAML response is then passed through the ID provider computer system 136 for example in its memory 140 saved, in such a way that the SAML response 192 from the store 140 with the help of the address 178 is available.

Die Verfügbarkeit der SAML-Response 192 in dem Speicher 140 wird von dem ID-Provider-Computersystem 136 durch Sendung eines Signals 194 signalisiert, beispielsweise indem durch die Programminstruktionen 148 ein solches Signal 194 generiert und an das Anwendungsprogramm 113 gesendet wird. Das Anwendungsprogramm 113 antwortet auf dieses Signal 194, indem es die Verfügbarkeit der SAML-Response 192 in dem Speicher 140 an den Internetbrowser signalisiert, beispielsweise durch einen HTTP Statuscode 303, dessen Location Header Feld die Adresse 178 beinhaltet. Der Internetbrowser 112 ruft daraufhin die SAML-Response 192 mit Hilfe der Adresse 178 von dem ID-Provider-Computersystem 136 ab, sodass die SAML-Response 192 von dem ID-Provider-Computersystem 136 an den Internetbrowser 112 und das Netzwerk 116 übertragen wird.The availability of the SAML response 192 in the store 140 is provided by the ID provider computer system 136 by sending a signal 194 signaled, for example, by the program instructions 148 such a signal 194 generated and sent to the application program 113 is sent. The application program 113 responds to this signal 194 by checking the availability of the SAML response 192 in the store 140 is signaled to the internet browser, for example by an HTTP status code 303, whose location header field is the address 178 includes. The internet browser 112 then calls the SAML response 192 with the help of the address 178 from the ID provider computer system 136 so that the SAML response 192 from the ID provider computer system 136 to the internet browser 112 and the network 116 is transmitted.

Die SAML-Response 192 wird von dem Internetbrowser 112 an das Dienst-Computersystem 150 über das Netzwerk 116 weitergeleitet. Das Dienst-Computersystem 150 ordnet dann durch Ausführung der Programminstruktionen 156 die SAML-Response 192 der zwischen dem Internetbrowser 112 und dem Dienst-Computersystem 150 anhängigen Session zu, und zwar mit Hilfe der Session-ID 174, die in der SAML-Response 192 beinhaltet ist.The SAML response 192 is from the internet browser 112 to the service computer system 150 over the network 116 forwarded. The service computer system 150 then arranges by executing the program instructions 156 the SAML response 192 between the internet browser 112 and the service computer system 150 pending session, using the session ID 174 that in the SAML response 192 is included.

Dadurch wird das Dienst-Computersystem 150 über die aus dem ID-Token 106 ausgelesenen Attribute in Kenntnis gesetzt, sodass das Dienst-Computersystem 150 diese Attribute anhand der vorgegebenen ein oder mehreren Kriterien prüfen kann, um danach ggf. den von dem Benutzer 102 angeforderten Dienst zu erbringen.This will cause the service computer system 150 over from the ID token 106 read the attributes read out, so that the service computer system 150 can check these attributes against the given one or more criteria, and then, if appropriate, that of the user 102 to provide the requested service.

Durch die Notwendigkeit der Authentifizierung des Nutzers 102 gegenüber dem ID-Token 106 und der Authentifizierung des ID-Provider-Computersystems 136 gegenüber dem ID-Token 106 ist der notwendige Vertrauensanker geschaffen, sodass das Dienst-Computersystem 150 sicher sein kann, dass die ihm von dem ID-Provider-Computersystem 136 mitgeteilten Attribute des Nutzers 102 zutreffend und nicht verfälscht sind.Due to the need of authentication of the user 102 opposite the ID token 106 and the authentication of the ID provider computer system 136 opposite the ID token 106 is the necessary anchor of confidence created so that the service computer system 150 You can be sure that it's from the ID provider computer system 136 shared attributes of the user 102 are correct and not distorted.

Je nach Ausführungsform kann die Reihenfolge der Authentifizierung unterschiedlich sein. Beispielsweise kann vorgesehen sein, dass sich zunächst der Nutzer 102 gegenüber dem ID-Token 106 authentifizieren muss und nachfolgend das ID-Provider-Computersystem 136. Es ist aber grundsätzlich auch möglich, dass sich zunächst das ID-Provider-Computersystem 136 gegenüber dem ID-Token 106 authentifizieren muss und erst nachfolgend der Nutzer 102.Depending on the embodiment, the order of authentication may be different. For example, it may be provided that initially the user 102 opposite the ID token 106 must authenticate and subsequently the ID provider computer system 136 , But in principle it is also possible that initially the ID provider computer system 136 opposite the ID token 106 must authenticate and only subsequently the user 102 ,

In dem ersten Fall ist der ID-Token 106 beispielsweise so ausgebildet, dass er nur durch Eingabe einer korrekten PIN oder eines korrekten biometrischen Merkmals durch den Nutzer 102 freigeschaltet wird. Erst diese Freischaltung ermöglicht den durch den Nutzer 102 freigeschaltet wird. Erst diese Freischaltung ermöglicht den Start der Programminstruktionen 132 und 134 und damit die Authentifizierung des ID-Provider-Computersystems 136.In the first case, the ID token 106 For example, it is designed so that it only by entering a correct PIN or a correct biometric feature by the user 102 is unlocked. Only this activation allows the user 102 is unlocked. Only this activation allows the start of the program instructions 132 and 134 and thus the authentication of the ID provider computer system 136 ,

Im zweiten Fall ist ein Start der Programminstruktionen 132 und 134 auch bereits möglich, wenn sich der Nutzer 102 noch nicht gegenüber dem ID-Token 106 authentifiziert hat. In diesem Fall sind beispielsweise die Programminstruktionen 134 so ausgebildet, dass das ID-Provider-Computersystem 136 erst dann einen Lesezugriff auf den geschützten Speicherbereich 124 zum Auslesen eines oder mehrerer der Attribute durchführen kann, nachdem von den Programminstruktionen 130 die erfolgreiche Authentifizierung auch des Nutzers 102 signalisiert worden ist.In the second case is a start of the program instructions 132 and 134 also already possible if the user 102 not yet opposite the ID token 106 has authenticated. In this case, for example, the program instructions 134 designed so that the ID provider computer system 136 only then a read access to the protected memory area 124 for reading out one or more of the attributes, after the program instructions 130 the successful authentication of the user as well 102 has been signaled.

Von besonderem Vorteil ist die Nutzbarmachung des ID-Tokens 106 für zum Beispiel E-Commerce und E-Government-Anwendungen, und zwar medienbruchfrei und rechtssicher aufgrund des durch die Notwendigkeit der Authentifizierung des Nutzers 102 und des ID-Provider-Computersystems 136 gegenüber dem ID-Token 106 gebildeten Vertrauensankers. Von besonderem Vorteil ist ferner, dass eine zentrale Speicherung der Attribute verschiedener Nutzer 102 nicht erforderlich ist, sodass die im Stand der Technik bestehenden Datenschutzprobleme hiermit gelöst sind. Was die Bequemlichkeit der Anwendung des Verfahrens betrifft, ist von besonderem Vorteil, dass eine vorherige Registrierung des Nutzers 102 zur Inanspruchnahme des ID-Provider-Computersystems 136 nicht erforderlich ist.Of particular advantage is the utilization of the ID token 106 for example E- Commerce and eGovernment applications, namely media-free and legally secure due to the need for authentication of the user 102 and the ID provider computer system 136 opposite the ID token 106 formed trust anchor. Of particular advantage is further that a central storage of the attributes of different users 102 is not required, so that the existing in the prior art privacy problems are hereby resolved. As far as the convenience of the application of the method is concerned, it is of particular advantage that a prior registration of the user 102 to use the ID provider computer system 136 is not required.

Von besonderem Vorteil ist ferner, dass für den Internetbrowser 112 jedes beliebige Browserprogramm verwendet werden kann, und dass keine Plugins für die Implementierung der Erfindung zwingend erforderlich sind.Of particular advantage is also that for the Internet browser 112 Any browser program can be used, and no plugins are required for the implementation of the invention.

Nach einer Ausführungsform der Erfindung sendet das Anwendungsprogramm 113 in dem Zeitraum zwischen HTTP GET 184 und HTTP 303 ein oder mehrfach HTTP 102 an den Internetbrowser 112, um ein Timeout des Internetbrowsers zu verhindern.According to one embodiment of the invention, the application program sends 113 in the period between HTTP GET 184 and HTTP 303 one or more times HTTP 102 to the internet browser 112 to prevent a timeout of the Internet browser.

Die 2 zeigt ein entsprechendes Flussdiagramm. In dem Schritt 200 wird eine Dienst-Anforderung von dem Nutzer-Computersystem an das Dienst-Computersystem gesendet. Beispielsweise startet der Nutzer hierzu einen Internet-Browser des Nutzer-Computersystems und gibt eine URL zum Aufruf einer Webseite des Dienst-Computersystems ein. In die aufgerufene Webseite gibt der Nutzer dann seine Dienst-Anforderung ein, zum Beispiel zur Bestellung oder Auftragserteilung für einen Dienst oder ein Produkt.The 2 shows a corresponding flow chart. In the step 200 a service request is sent from the user computer system to the service computer system. For example, the user starts an Internet browser of the user computer system and enters a URL for calling a web page of the service computer system. The user then enters his service request into the accessed web page, for example for ordering or placing an order for a service or a product.

In dem Schritt 202 spezifiziert das Dienst-Computersystem 150 daraufhin ein oder mehrere Attribute, welche es benötigt, um die Berechtigung des Nutzers für die Dienst-Anforderung zu prüfen. Insbesondere kann das Dienst-Computersystem solche Attribute spezifizieren, welche die digitale Identität des Nutzers 102 bestimmen. Diese Spezifizierung der Attribute durch das Dienst-Computersystem 150 kann fest vorgegeben sein oder je nach der Dienst-Anforderung im Einzelfall durch das Dienst-Computersystem 150 anhand vorgegebener Regeln bestimmt werden.In the step 202 specifies the service computer system 150 then one or more attributes that it needs to check the user's authorization for the service request. In particular, the service computer system may specify attributes that reflect the digital identity of the user 102 determine. This specification of the attributes by the service computer system 150 may be fixed or depending on the service request in the individual case by the service computer system 150 determined by given rules.

In dem Schritt 204 wird die Attributspezifikation, d. h. die in dem Schritt 202 erfolgte Spezifizierung der ein oder mehreren der Attribute, von dem Dienst-Computersystem an das ID-Provider-Computersystem übertragen, und zwar in Form eines SAML Request, vgl. SAML-Request 190 der 1.In the step 204 becomes the attribute specification, ie the one in the step 202 specification of the one or more of the attributes transmitted from the service computer system to the ID provider computer system, in the form of a SAML request, cf. SAML Request 190 of the 1 ,

Der SAML-Request beinhaltet neben der Attributspezifizierung den Identifikator, zum Beispiel die Session-ID 174 der Ausführungsform gemäß 1, sowie die Adresse, von der die SAML-Response später abrufbar sein soll, vergleiche die Adresse 178 in der Ausführungsform gemäß 1. Der SAML-Request wird von dem Dienst-Computersystem 150 über das Netzwerk 116 zunächst an das Anwendungsprogramm des Nutzer-Computersystems übertragen, welches den SAML-Request dann an das ID-Provider-Computersystem weiterleitet.In addition to the attribute specification, the SAML request contains the identifier, for example the session ID 174 the embodiment according to 1 , as well as the address from which the SAML response should be available later, compare the address 178 in the embodiment according to 1 , The SAML request is received from the service computer system 150 over the network 116 first transmitted to the application program of the user computer system, which then forwards the SAML request to the ID provider computer system.

Um dem ID-Provider-Computersystem die Möglichkeit zu geben, Attribute aus seinem ID-Token auszulesen, authentifiziert sich der Nutzer in dem Schritt 206 gegenüber dem ID-Token.To allow the ID provider computer system to retrieve attributes from its ID token, the user authenticates in the step 206 opposite the ID token.

In dem Schritt 208 wird eine Verbindung zwischen dem ID-Token und dem ID-Provider-Computersystem aufgebaut. Hierbei handelt es sich vorzugsweise um eine gesicherte Verbindung, beispielsweise nach einem so genannten Secure Messaging-Verfahren.In the step 208 a connection is established between the ID token and the ID provider computer system. This is preferably a secure connection, for example according to a so-called secure messaging method.

In dem Schritt 210 erfolgt zumindest eine Authentifizierung des ID-Provider-Computersystems gegenüber dem ID-Token über die in dem Schritt 208 aufgebaute Verbindung. Zusätzlich kann eine Authentifizierung auch des ID-Tokens gegenüber dem ID-Provider-Computersystem vorgesehen sein.In the step 210 At least one authentication of the ID provider computer system to the ID token takes place via that in the step 208 established connection. In addition, authentication of the ID token against the ID provider computer system may be provided.

Nachdem sowohl der Nutzer als auch das ID-Provider-Computersystem erfolgreich gegenüber dem ID-Token authentifiziert worden sind, erhält das ID-Provider-Computersystem von dem ID-Token die Zugriffsberechtigung zum Auslesen der Attribute, in dem Schritt 212 sendet das ID-Provider-Computersystem ein oder mehrere Lesekommandos zum Auslesen der gemäß Attributspezifikation erforderlichen Attribute aus dem ID-Token. Die Attribute werden dann mittels Ende-zu-Ende-Verschlüsselung über die gesicherte Verbindung an das ID-Provider-Computersystem übertragen und dort entschlüsselt.After both the user and the ID provider computer system have been successfully authenticated against the ID token, the ID provider computer system obtains the access to read the attributes from the ID token in the step 212 The ID provider computer system sends one or more read commands to read out the attributes required by the attribute specification from the ID token. The attributes are then transmitted via end-to-end encryption over the secure connection to the ID provider computer system and decrypted there.

Die ausgelesenen Attributwerte werden in dem Schritt 214 von dem ID-Provider-Computersystem signiert. in dem Schritt 216 sendet das ID-Provider-Computersystem die signierten Attributwerte über das Netzwerk. Die signierten Attributwerte erreichen das Dienst-Computersystem entweder direkt oder über das Nutzer-Computersystem.The read attribute values are in the step 214 signed by the ID provider computer system. in the step 216 The ID provider computer system sends the signed attribute values over the network. The signed attribute values reach the service computer system either directly or through the user computer system.

Im letzteren Fall kann der Nutzer die Möglichkeit haben, die signierten Attributwerte zur Kenntnis zu nehmen und/oder durch weitere Daten zu ergänzen. Es kann vorgesehen sein, dass die signierten Attributwerte gegebenenfalls mit den ergänzten Daten erst nach Freigabe durch den Nutzer von dem Nutzer-Computersystem an das Dienst-Computersystem weitergeleitet werden. Hierdurch ist größtmögliche Transparenz für den Nutzer hinsichtlich der von dem ID-Provider-Computersystem an das Dienst-Computersystem gesendeten Attribute hergestellt.In the latter case, the user may have the opportunity to take note of the signed attribute values and / or to supplement them with further data. It can be provided that the signed attribute values, if appropriate with the supplemented data, are forwarded by the user computer system to the service computer system only after release by the user. This is the greatest possible transparency for the user with regard to the attributes sent by the ID provider computer system to the service computer system.

Die Signierung der ausgelesenen Attributwerte in dem Schritt 214 erfolgt, indem eine SAML-Response mit diesen Attributwerten von dem ID-Provider-Computersystem erzeugt wird. Die SAML-Response wird in dem Schritt 216 von dem ID-Provider-Computersystem zunächst gespeichert und nur die Verfügbarkeit der SAML-Response wird von dem ID-Provider-Computersystem an das Anwendungsprogramm signalisiert, nicht aber die SAML-Response selbst.The signing of the read attribute values in the step 214 is done by creating a SAML response with these attribute values from the ID provider computer system. The SAML response is in the step 216 initially stored by the ID provider computer system and only the availability of the SAML response is signaled by the ID provider computer system to the application program, but not the SAML response itself.

Das Anwendungsprogramm antwortet daraufhin auf den Aufruf des Internetbrowsers durch Signalisierung der Verfügbarkeit der SAML-Response, wobei hierbei auch die Adresse an den Internetbrowser übergeben wird. Der Internetbrowser ruft dann die SAML-Response von dem ID-Provider-Computersystem ab, sodass die SAML-Response zunächst an das Nutzer-Computersystem 100 übertragen wird. Dies hat den Vorteil, dass der Nutzer den Inhalt der SAML-Response zunächst zur Kenntnis nehmen kann und freigeben kann, bevor die SAML-Response dann von dem Internetbrowser an das Dienst-Computersystem weitergeleitet wird.The application program responds to the call of the Internet browser by signaling the availability of the SAML response, in which case the address is passed to the Internet browser. The Internet browser then retrieves the SAML response from the ID provider computer system so that the SAML response is first sent to the user computer system 100 is transmitted. This has the advantage that the user can first take note of the content of the SAML response and release it before the SAML response is then forwarded from the Internet browser to the service computer system.

Die 3 zeigt ein entsprechendes UML-Diagramm.The 3 shows a corresponding UML diagram.

In dem Schritt 0 will ein Nutzer auf eine Ressource (res) bei einem Dienstanbieter, wie zum Beispiel einem Internetshop, zugreifen. Hierzu richtet der Internetbrowser 112 in dem Schritt 0 ein Kommando HTTP GET an das Dienst-Computersystem 150. Das Dienst-Computersystem 150 antwortet hierauf mit einer HTTP-Response, zum Beispiel indem das Dienst-Computersystem innerhalb der aufgerufenen Internetseite einen lokalen Link auf das Anwendungsprogramm 113 übermittelt. Bei dem lokalen Link kann es sich um die Angabe der Parameter TCP-Portnummer und IP-Adresse des Anwendungsprogramms 113 handeln.In step 0, a user wants to access a resource (res) at a service provider, such as an Internet shop. For this purpose, the Internet browser 112 in step 0, an HTTP GET command to the service computer system 150 , The service computer system 150 responds with an HTTP response, for example, by the service computer system within the website called a local link to the application program 113 transmitted. The local link may be the specification of the parameters TCP port number and IP address of the application program 113 act.

Ferner werden die Adresse 178, das heißt „tc” und die Session-ID 174, das heißt „id” mit der HTTP-Response von dem Dienst-Computersystem 150 an den Internetbrowser 112 übermittelt. Diese Informationen können zum Beispiel in einer Grafik oder einem Logo auf der Internetseite hinterlegt sein, welche der Nutzer durch Anklicken auswählen kann.Further, the address 178 that is "tc" and the session ID 174 that is, "id" with the HTTP response from the service computer system 150 to the internet browser 112 transmitted. This information can be stored for example in a graphic or a logo on the website, which the user can select by clicking.

Wenn der Nutzer den lokalen Link auf der Internetseite auswählt, zum Beispiel durch einen Mausklick, so übermittelt daraufhin der Internetbrowser 112 in dem Schritt 1 durch ein HTTP GET die Daten tc und id an das Anwendungsprogramm 113.If the user selects the local link on the website, for example by a mouse click, then the Internet browser transmits 112 in step 1 through an HTTP GET the data tc and id to the application program 113 ,

Dieses leitet dann in dem Schritt 2 mittels HTTP GET die Adresse tc und den Identifikator id an das Dienst-Computersystem 150 weiter, um von dem Dienst-Computersystem 150 die Erzeugung des SAML-Requests anzufordern. Das Anwendungsprogramm 113 empfängt daraufhin in dem Schritt 3 den SAML-Request von dem Dienst-Computersystem 150 und leitet diesen in dem Schritt 4 mittels HTTP POST an das ID-Provider-Computersystem 136 weiter. Dieses antwortet daraufhin mit HTTP OK und liest dann die erforderlichen Attribute aus dem ID-Token, wie es an sich insbesondere aus DE 10 2008 000 067 B4 bekannt ist. Dies erfolgt in der in der 3 der Übersichtlichkeit halber nicht näher spezifizierten Schrittfolge 6. Während dieser Schrittfolge 6 kann einfach oder mehrfach HTTP 102 von dem Anwendungsprogramm 113 an den Internetbrowser 112 gesendet werden, um ein Timeout zu verhindern.This then forwards the address tc and the identifier id to the service computer system in step 2 by means of HTTP GET 150 to continue from the service computer system 150 request the generation of the SAML request. The application program 113 then receives the SAML request from the service computer system in step 3 150 and forwards it in step 4 by means of HTTP POST to the ID provider computer system 136 further. This then responds with HTTP OK and then reads the required attributes from the ID token as it is in itself DE 10 2008 000 067 B4 is known. This is done in the in the 3 for the sake of clarity unspecified step sequence 6. During this step sequence 6 can be single or multiple HTTP 102 from the application program 113 to the internet browser 112 sent to prevent a timeout.

Nach einer eCard-API-Kommunikation zwischen dem Anwendungsprogramm 113 und dem Programminstruktionen 148 mit der signalisiert wird, dass die SAML-Response verfügbar ist, antwortet das Anwendungsprogramm 113 auf HTTP GET (vgl. Schritt 1) des Internetbrowsers 112 in dem Schritt 7 durch HTTP 303, wobei in dem Location Header Feld des HTTP Statuscode 303 die Adresse tc angegeben ist.After an eCard API communication between the application program 113 and the program instructions 148 signaling that the SAML response is available, the application program responds 113 on HTTP GET (see step 1) of the Internet browser 112 in step 7 by HTTP 303, wherein in the Location Header field of the HTTP status code 303 the address tc is specified.

In dem Schritt 8 greift der Internetbrowser 112 dann durch HTTP GET mit Hilfe der Adresse auf die SAML-Response zu und erhält diese daraufhin durch HTTP POST in dem Schritt 9 von dem ID-Provider-Computersystem 136. Nachfolgend leitet der Internetbrowser in dem Schritt 10 die SAML-Response an das Dienst-Computersystem 150 weiter.In step 8, the internet browser accesses 112 then by HTTP GET using the address to the SAML response and then receives it by HTTP POST in step 9 from the ID provider computer system 136 , Subsequently, in step 10, the internet browser directs the SAML response to the service computer system 150 further.

BezugszeichenlisteLIST OF REFERENCE NUMBERS

100100
Nutzer-ComputersystemUser computer system
102102
Nutzeruser
104104
Schnittstelleinterface
106106
ID-TokenID token
108108
Schnittstelleinterface
110110
Prozessorprocessor
112112
InternetbrowserWeb browser
113113
Anwendungsprogrammapplication program
114114
Netzwerk-SchnittstelleNetwork interface
116116
Netzwerknetwork
118118
elektronischer Speicherelectronic memory
120120
geschützter Speicherbereichprotected storage area
122122
geschützter Speicherbereichprotected storage area
124124
geschützter Speicherbereichprotected storage area
126126
Speicherbereichstorage area
128128
Prozessorprocessor
130130
Programminstruktionenprogram instructions
132132
Programminstruktionenprogram instructions
134134
Programminstruktionenprogram instructions
136136
ID-Provider-ComputersystemID provider computer system
138138
Netzwerk-SchnittstelleNetwork interface
140140
SpeicherStorage
142142
privater Schlüsselprivate key
144144
Zertifikatcertificate
145145
Prozessorprocessor
146146
Programminstruktionenprogram instructions
148148
Programminstruktionenprogram instructions
149149
Programminstruktionenprogram instructions
150150
Dienst-ComputersystemService computer system
152152
Netzwerk-SchnittstelleNetwork interface
154154
Prozessorprocessor
156156
Programminstruktionenprogram instructions
172172
SpeicherStorage
174174
Session-IDSession ID
176176
Parameterparameter
178178
Adresseaddress
180180
HTTP GETHTTP GET
182182
HTTP ResponseHTTP response
184184
HTTP GETHTTP GET
186186
HTTP GETHTTP GET
188188
Zuordnungstabelleallocation table
190190
SAML-RequestSAML Request
192192
SAML-ResponseSAML Response
194194
Signalsignal

Claims (15)

Verfahren zum Lesen zumindest eines in einem ID-Token (106) gespeicherten Attributs, wobei der ID-Token einem Nutzer (102) zugeordnet ist, mit folgenden Schritten: – Aufruf einer Internetseite eines Dienst-Computersystems (150) mit einem Internetbrowser (112) eines Nutzer-Computersystems (100) über ein Netzwerk (116), wobei die Internetseite zur Eingabe einer Auswahl eines Dienstes ausgebildet ist, – Eingabe der Auswahl des Dienstes auf der Internetseite durch den Nutzer, – Vergabe eines Identifikators (174; id) durch das Dienst-Computersystem zur Identifikation der Auswahl und Speicherung der Zuordnung des Identifikators zu der Auswahl, – Übertragung zumindest eines Parameters (176) zum Aufruf eines Anwendungsprogramms (113) des Nutzer-Computersystems, einer Adresse (178; tc) und des Identifikators von dem Dienst-Computersystem an den Internetbrowser des Nutzer-Computersystems über das Netzwerk, – Aufruf des Anwendungsprogramms des Nutzer-Computersystems mit Hilfe des zumindest einen Parameters durch den Internetbrowser und Eingabe der Adresse und des Identifikators in das Anwendungsprogramm, – Übertragung einer Anforderung von dem Anwendungsprogramm an das Dienst-Computersystem, wobei die Anforderung die Adresse und den Identifikator beinhaltet, – als Reaktion auf die Anforderung, Erzeugung eines SAML-Request (190) durch das Dienst-Computersystem, wobei der SAML-Request eine Attributspezifizierung zur Spezifizierung des zumindest einen Attributs beinhaltet, – Übertragung des SAML-Request von dem Dienst-Computersystem an das Anwendungsprogramm über das Netzwerk, – Weiterleitung des SAML-Request von dem Anwendungsprogramm an ein ID-Provider-Computersystem (136) über das Netzwerk, wobei das ID-Provider-Computersystem über das Netzwerk und das Nutzer-Computersystem einen Lesezugriff auf den ID-Token durchführt, um das zumindest eine Attribut gemäß der Attributspezifizierung aus dem ID-Token auszulesen, nachdem sich der Nutzer und das ID-Provider-Computersystem gegenüber dem ID-Token authentifiziert haben, – Erzeugung einer SAML-Response (192), welche das ausgelesene und von dem ID-Provider-Computersystem signierte zumindest eine Attribut und den Identifikator beinhaltet, durch das ID-Provider-Computersystem, – Speicherung der SAML-Response durch das ID-Provider-Computersystem zum Abrufen mittels der Adresse, – Signalisierung der Speicherung der SAML-Response von dem ID-Provider-Computersystem an das Anwendungsprogramm über das Netzwerk, – Antwort des Anwendungsprogramms auf den Aufruf durch den Internetbrowser durch Signalisierung der Speicherung der SAML-Response, – Abruf der SAML-Response durch den Internetbrowser mit Hilfe der Adresse über das Netzwerk, – Weiterleitung der SAML-Response von dem Internetbrowser an das Dienst-Computersystem über das Netzwerk, – Zuordnung der SAML-Response zu der Auswahl des Dienstes mit Hilfe des Identifikators durch das Dienst-Computersystem, – Prüfung durch das Dienst-Computersystem, ob das zumindest eine Attribut der SAML-Response ein Kriterium erfüllt als Voraussetzung für die Erbringung des Dienstes.Method for reading at least one in an ID token ( 106 stored attribute, the ID token being a user ( 102 ), comprising the following steps: calling a website of a service computer system ( 150 ) with an internet browser ( 112 ) of a user computer system ( 100 ) over a network ( 116 ), wherein the Internet page is configured to enter a selection of a service, - input of the selection of the service on the website by the user, - assignment of an identifier ( 174 ; id) by the service computer system for identifying the selection and storing the assignment of the identifier to the selection, - transmission of at least one parameter ( 176 ) for calling an application program ( 113 ) of the user computer system, an address ( 178 ; tc) and the identifier from the service computer system to the Internet browser of the user computer system via the network, - calling the application program of the user computer system using the at least one parameter by the Internet browser and entering the address and the identifier in the application program, - Transmitting a request from the application program to the service computer system, the request including the address and the identifier, in response to the request to generate a SAML request ( 190 ) by the service computer system, the SAML request including an attribute specification for specifying the at least one attribute, - transmitting the SAML request from the service computer system to the application program over the network, - forwarding the SAML request from the application program an ID provider computer system ( 136 ) over the network, wherein the ID provider computer system performs read access to the ID token via the network and the user computer system to retrieve the at least one attribute from the ID token according to the attribute specification after the user and the user ID provider computer system have authenticated against the ID token, - generation of a SAML response ( 192 ), which contains the at least one attribute and the identifier signed by the ID provider computer system, by the ID provider computer system, - storage of the SAML response by the ID provider computer system for retrieval by means of the address, Signaling the storage of the SAML response from the ID provider computer system to the application program via the network, Answering the application program to the call by the Internet browser by signaling the storage of the SAML response, Calling the SAML response by the Internet browser with Help of the address over the network, - forwarding the SAML response from the Internet browser to the service computer system over the network, - assignment of the SAML response to the selection of the service using the identifier by the service computer system, - checking by the Service computer system, if the at least one attribute of the SAML response meets a criterion as a prerequisite for the provision of the service. Verfahren nach Anspruch 1, wobei es sich bei den Parametern zum Aufruf des Anwendungsprogramms um eine Transmission Control Protocol(TCP)-Portnummer und eine Internetprotokoll(IP)-Adresse des Anwendungsprogramms handelt, wobei das Anwendungsprogramm durch Senden der Adresse und des Identifikators an die Portnummer und Adressierung mit der IP-Adresse aufgerufen wird.The method of claim 1, wherein the parameters for calling the application program is a Transmission Control Protocol (TCP) port number and an Internet Protocol (IP) address of the application program, the application program sending the address and the identifier to the port number and addressing with the IP address is called. Verfahren nach Anspruch 1 oder 2, wobei das Anwendungsprogramm und das ID-Provider-Computersystem jeweils ein Application Programming Interface (API) aufweisen und die APIs vorzugsweise jeweils Teil des eCard-API-Framework sind.The method of claim 1 or 2, wherein the application program and the ID provider computer system each having an application programming interface (API) and the APIs are preferably each part of the eCard API framework. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Signalisierung der Speicherung der SAML-Response über die APIs und das Netzwerk erfolgt.Method according to one of the preceding claims, wherein the signaling of the storage the SAML response is through the APIs and the network. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Aufruf des Anwendungsprogramms mit der Adresse und dem Identifikator durch ein HTTP GET-Kommando erfolgt, welches nach dem Aufruf von dem Anwendungsprogramm an das Dienst-Computersystem zur Übertragung der Anforderung weitergeleitet wird.Method according to one of the preceding claims, wherein the call of the application program with the address and the identifier by an HTTP GET command, which is forwarded after the call from the application program to the service computer system for transmitting the request. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Anwendungsprogramm auf den Aufruf mit dem HTTP-Statuscode 303 antwortet, wobei in dem Location-Header-Feld des HTTP-Statuscode 303 die Adresse angegeben ist, sodass der Internetbrowser mit Hilfe eines HTTP GET-Kommandos die SAML-Response von der Adresse abruft.Method according to one of the preceding claims, wherein the application program responds to the call with the HTTP status code 303, wherein in the location header field of the HTTP status code 303, the address is specified, so that the Internet browser using an HTTP GET command the Retrieves SAML response from the address. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Anwendungsprogramm in dem Zeitraum zwischen dem Empfang des Aufrufs von dem Internetbrowser und der Antwort auf den Aufruf ein oder mehrfach ein Signal an den Internetbrowser übersendet, um einen Timeout des Internetbrowsers aufgrund der ausbleibenden Antwort zu verhindern.Method according to one of the preceding claims, wherein the application program in the period between the receipt of the call from the Internet browser and the response to the call one or more times sends a signal to the Internet browser to prevent a timeout of the Internet browser due to the lack of response. Verfahren nach Anspruch 7, wobei es sich bei dem Signal um einen HTTP 102 Statuscode handelt.The method of claim 7, wherein the signal is an HTTP 102 status code. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Dienst-Computersystem die Attributspezifizierung in Abhängigkeit von der Auswahl des Dienstes bestimmt.The method of any one of the preceding claims, wherein the service computer system determines the attribute specification in dependence on the selection of the service. Verfahren nach einem der vorhergehenden Ansprüche, wobei das ID-Provider-Computersystem zur gleichzeitigen Verarbeitung mehrerer SAML-Requests für verschiedene Auswahlen von Diensten ausgebildet ist, wobei der Identifikator jeweils eindeutig einen SAML-Request, die entsprechende SAML-Response und den ausgewählten Dienst, für welche das zumindest eine Attribut ausgelesen wird, zuordnet.The method of claim 1, wherein the ID provider computer system is configured to process a plurality of SAML requests simultaneously for different service selections, the identifier each uniquely defining a SAML request, the corresponding SAML response, and the selected service for which the at least one attribute is read, assigns. Verfahren nach einem der vorhergehenden Ansprüche, wobei es sich bei dem Identifikator um eine Session-ID einer aufgrund des Aufrufs der Internetseite aufgebauten Session handelt.Method according to one of the preceding claims, wherein the identifier is a session ID of a session established on the basis of the invocation of the internet page. Verfahren nach einem der vorhergehenden Ansprüche, wobei es sich bei dem ID-Token ein tragbares elektronisches Gerät handelt, der einen Datenspeicher zur Speicherung des zumindest einen Attributs und eine Kommunikationsschnittstelle zum Auslesen des zumindest einen Attributs aufweist.Method according to one of the preceding claims, wherein the ID token is a portable electronic device having a data memory for storing the at least one attribute and a communication interface for reading the at least one attribute. Verfahren nach einem der vorhergehenden Ansprüche, wobei der ID-Token z. B. als USB-Stick oder als Dokument ausgebildet ist, insbesondere als Wert- oder Sicherheitsdokument, insbesondere papierbasiert und/oder kunststoffbasiert, wie zum Beispiel als Ausweisdokument, insbesondere Reisepass, Personalausweis, Visum, Führerschein, Fahrzeugschein, Fahrzeugbrief, Firmenausweis, elektronische Gesundheitskarte oder anderes ID-Dokument, als Chipkarte, Zahlungsmittel, insbesondere Bankkarte, Kreditkarte oder Banknote, Frachtbrief oder sonstiger Berechtigungsnachweis.Method according to one of the preceding claims, wherein the ID token z. B. as a USB stick or as a document, in particular as a value or security document, in particular paper-based and / or plastic-based, such as identity document, in particular passport, identity card, visa, driver's license, vehicle registration, vehicle registration document, company card, electronic health card or other ID document, as chip card, means of payment, in particular bank card, credit card or bank note, bill of lading or other proof of entitlement. Computerprogrammprodukt, insbesondere digitales Speichermedium, mit ausführbaren Instruktionen zur Durchführung eines Verfahrens nach einem der vorhergehenden Ansprüche.Computer program product, in particular digital storage medium, with executable instructions for carrying out a method according to one of the preceding claims. Datenverarbeitungssystem mit einem ID-Provider-Computersystem (136), wobei das ID-Provider-Computersystem folgendes aufweist: – Mittel (138) zum Empfang eines SAML-Request (190) von einem Anwendungsprogramm (113) eines Nutzer-Computersystems (100) über ein Netzwerk (116), wobei der SAML-Request eine Attributspezifizierung zumindest eines aus einem ID-Token auszulesenden Attributs, eine Adresse und einen Identifikator beinhaltet, – Mittel (142, 144, 146) zur Authentifizierung des ID-Provider-Computersystems gegenüber dem ID-Token über das Netzwerk, – Mittel (148) zur Durchführung eines Lesezugriffs zum Lesen des zumindest einen in dem ID-Token gespeicherten Attributs gemäß der Attributspezifizierung über das Netzwerk nach erfolgreicher Durchführung der Authentifizierung, – Mittel (145, 148) zur Erzeugung einer SAML-Response (192), welche das zumindest eine von dem ID-Provider-Computersystem ausgelesene und signierte Attribut, den Identifikator und eine Adresse beinhaltet, – Mittel (145, 140) zur Speicherung der SAML-Response in einem elektronischen Speicher (140) des ID-Provider-Computersystems, sodass mit Hilfe der Adresse die SAML-Response durch einen Internetbrowser des Nutzer-Computersystems über das Netzwerk abrufbar ist, sodass sie über das Netzwerk von dem ID-Provider-Computersystem an das Nutzer-Computersystem übertragen wird, mit zumindest einem Nutzer-Computersystem (100), auf welchem das Anwendungsprogramm und der Internetbrowser installiert sind, sowie einer Schnittstelle (104) für den ID-Token zur Durchführung des Lesezugriffs von dem ID-Provider-Computersystem über das Nutzer-Computersystem, mit einem Dienst-Computersystem (150), von dem eine Internetseite aufrufbar ist, wobei die Internetseite zur Eingabe einer Auswahl eines Dienstes ausgebildet ist, wobei das Dienst-Computersystem folgendes aufweist: – Mittel (152, 156) zum Empfang einer Eingabe des Nutzers zur Auswahl des Dienstes auf der Internetseite, – Mittel (156) zur Vergabe eines Identifikators (174) durch das Dienst-Computersystem zur Identifikation der Auswahl und Speicherung der Zuordnung des Identifikators zu der Auswahl, – Mittel (152, 156) zur Übertragung zumindest eines Parameters (176) zum Aufruf eines Anwendungsprogramms des Nutzer-Computersystems, einer Adresse (178) und des Identifikators von dem Dienst-Computersystem an den Internetbrowser des Nutzer-Computersystems über das Netzwerk, – Mittel (152, 156) zum Empfang einer Anforderung von dem Anwendungsprogramm, wobei die Anforderung die Adresse und den Identifikator beinhaltet, – Mittel (156) zur Erzeugung eines SAML-Request (190) durch das Dienst-Computersystem als Reaktion auf die Anforderung, wobei der SAML-Request eine Attributspezifizierung zur Spezifizierung des zumindest einen Attributs beinhaltet, – Mittel (152, 154, 156) zur Übertragung des SAML-Request von dem Dienst-Computersystem an das Anwendungsprogramm über das Netzwerk, – Mittel (152, 154, 156) zum Empfang der SAML-Response (192) von dem Internetbrowser über das Netzwerk, – Mittel (156) zur Zuordnung der SAML-Response zu der Auswahl des Dienstes mit Hilfe des Identifikators durch das Dienst-Computersystem, – Mittel (156) zur Prüfung durch das Dienst-Computersystem, ob das zumindest eine Attribut der SAML-Response ein Kriterium erfüllt als Voraussetzung für die Erbringung des Dienstes.Data processing system with an ID provider computer system ( 136 ), the ID provider computer system comprising: - means ( 138 ) to receive a SAML request ( 190 ) from an application program ( 113 ) of a user computer system ( 100 ) over a network ( 116 ), wherein the SAML request contains an attribute specification of at least one attribute to be read out of an ID token, an address and an identifier, - means ( 142 . 144 . 146 ) for authenticating the ID provider computer system to the ID token over the network, means ( 148 ) for performing a read access for reading the at least one attribute stored in the ID token according to the attribute specification over the network after successful completion of the authentication, - means ( 145 . 148 ) for generating a SAML response ( 192 ) containing the at least one attribute read and signed by the ID provider computer system, the identifier and an address, - means ( 145 . 140 ) for storing the SAML response in an electronic memory ( 140 ) of the ID provider computer system such that the address allows the SAML response to be retrievable over the network by an Internet browser of the user computer system so that it is transmitted over the network from the ID provider computer system to the user computer system, with at least one user computer system ( 100 ) on which the application program and the Internet browser are installed, as well as an interface ( 104 ) for the ID token for performing the read access from the ID provider computer system via the user computer system, to a service computer system ( 150 ) from which an Internet page is accessible, the Internet page being adapted to input a selection of a service, the service computer system comprising: - means ( 152 . 156 ) for receiving a user input for selecting the service on the website, - Medium ( 156 ) for assigning an identifier ( 174 ) by the service computer system for identifying the selection and storing the association of the identifier with the selection, - means ( 152 . 156 ) for transmitting at least one parameter ( 176 ) for calling an application program of the user computer system, an address ( 178 ) and the identifier from the service computer system to the Internet browser of the user computer system via the network, 152 . 156 ) for receiving a request from the application program, the request including the address and the identifier, - means ( 156 ) for generating a SAML request ( 190 ) by the service computer system in response to the request, the SAML request including an attribute specification for specifying the at least one attribute, means ( 152 . 154 . 156 ) for transmitting the SAML request from the service computer system to the application program over the network, means ( 152 . 154 . 156 ) to receive the SAML response ( 192 ) from the internet browser over the network, - means ( 156 ) for the assignment of the SAML response to the selection of the service by means of the identifier by the service computer system, - means ( 156 ) for checking by the service computer system, whether the at least one attribute of the SAML response meets a criterion as a prerequisite for the provision of the service.
DE201110089580 2011-12-22 2011-12-22 Method for reading e.g. attribute stored in passport, for electronic-commerce application, involves examining whether attribute of security assertion markup language response fulfills criterion as premiss for contribution of service Active DE102011089580B3 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE201110089580 DE102011089580B3 (en) 2011-12-22 2011-12-22 Method for reading e.g. attribute stored in passport, for electronic-commerce application, involves examining whether attribute of security assertion markup language response fulfills criterion as premiss for contribution of service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE201110089580 DE102011089580B3 (en) 2011-12-22 2011-12-22 Method for reading e.g. attribute stored in passport, for electronic-commerce application, involves examining whether attribute of security assertion markup language response fulfills criterion as premiss for contribution of service

Publications (1)

Publication Number Publication Date
DE102011089580B3 true DE102011089580B3 (en) 2013-04-25

Family

ID=48051529

Family Applications (1)

Application Number Title Priority Date Filing Date
DE201110089580 Active DE102011089580B3 (en) 2011-12-22 2011-12-22 Method for reading e.g. attribute stored in passport, for electronic-commerce application, involves examining whether attribute of security assertion markup language response fulfills criterion as premiss for contribution of service

Country Status (1)

Country Link
DE (1) DE102011089580B3 (en)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102012201209A1 (en) 2012-01-27 2013-08-01 AGETO Innovation GmbH A method for creating a pseudonym using an ID token
DE102012202744A1 (en) 2012-02-22 2013-08-22 AGETO Innovation GmbH A method for creating a pseudonym using an ID token
DE102012202781A1 (en) 2012-02-23 2013-08-29 Bundesdruckerei Gmbh Computer-implemented method for usage control, computer program product, data processing system and transport system
DE102012215630A1 (en) 2012-09-04 2014-03-06 Bundesdruckerei Gmbh Method for Personalizing a Secure Element (SE) and Computer System
EP2752785A1 (en) 2012-12-20 2014-07-09 Bundesdruckerei GmbH Method for personalisation of a secure element (SE) and computer system
WO2014206660A1 (en) * 2013-06-28 2014-12-31 Bundesdruckerei Gmbh Electronic transaction method and computer system
EP2819079A1 (en) * 2013-06-28 2014-12-31 Bundesdruckerei GmbH Electronic transaction method and computer system
WO2014206659A1 (en) * 2013-06-28 2014-12-31 Bundesdruckerei Gmbh Electronic transaction method and computer system
EP2879073A1 (en) * 2013-11-27 2015-06-03 Bundesdruckerei GmbH Electronic transaction method and computer system
EP2916252A1 (en) * 2014-03-06 2015-09-09 Bundesdruckerei GmbH Electronic transaction method and computer system
WO2015135744A1 (en) * 2014-03-14 2015-09-17 Bundesdruckerei Gmbh Id provider computer system, id token, and method for confirming a digital identity
WO2015135859A1 (en) * 2014-03-14 2015-09-17 Bundesdruckerei Gmbh Id provider computer system
WO2018137888A1 (en) * 2017-01-27 2018-08-02 Giesecke+Devrient Mobile Security Gmbh Method for carrying out an authentication

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070294431A1 (en) * 2004-10-29 2007-12-20 The Go Daddy Group, Inc. Digital identity validation
DE102008000067B4 (en) * 2008-01-16 2009-12-31 Bundesdruckerei Gmbh Method for reading attributes from an ID token
DE102008040416A1 (en) * 2008-07-15 2010-01-21 Bundesdruckerei Gmbh Method for reading attributes from an ID token
DE102009001959A1 (en) * 2009-03-30 2010-10-07 Bundesdruckerei Gmbh A method for reading attributes from an ID token over a cellular connection
DE102009027681A1 (en) * 2009-07-14 2011-01-20 Bundesdruckerei Gmbh Method and reading attributes from an ID token
DE102009027682A1 (en) * 2009-07-14 2011-01-20 Bundesdruckerei Gmbh Method for generating a soft token
DE102009027686A1 (en) * 2009-07-14 2011-01-20 Bundesdruckerei Gmbh Method for reading attributes from an ID token
DE102009027676A1 (en) * 2009-07-14 2011-01-20 Bundesdruckerei Gmbh Communication method, computer program product, device and computer system
DE102009027723A1 (en) * 2009-07-15 2011-01-27 Bundesdruckerei Gmbh Method for reading attributes from an ID token
DE102009046205A1 (en) * 2009-10-30 2011-05-12 Bundesdruckerei Gmbh Method of creating a web page
US20110138453A1 (en) * 2009-12-03 2011-06-09 Samsung Electronics Co., Ltd. Single sign-on in mixed http and sip environments
DE102010028133A1 (en) * 2010-04-22 2011-10-27 Bundesdruckerei Gmbh A method of reading an attribute from an ID token

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070294431A1 (en) * 2004-10-29 2007-12-20 The Go Daddy Group, Inc. Digital identity validation
DE102008000067B4 (en) * 2008-01-16 2009-12-31 Bundesdruckerei Gmbh Method for reading attributes from an ID token
DE102008040416A1 (en) * 2008-07-15 2010-01-21 Bundesdruckerei Gmbh Method for reading attributes from an ID token
DE102009001959A1 (en) * 2009-03-30 2010-10-07 Bundesdruckerei Gmbh A method for reading attributes from an ID token over a cellular connection
DE102009027681A1 (en) * 2009-07-14 2011-01-20 Bundesdruckerei Gmbh Method and reading attributes from an ID token
DE102009027682A1 (en) * 2009-07-14 2011-01-20 Bundesdruckerei Gmbh Method for generating a soft token
DE102009027686A1 (en) * 2009-07-14 2011-01-20 Bundesdruckerei Gmbh Method for reading attributes from an ID token
DE102009027676A1 (en) * 2009-07-14 2011-01-20 Bundesdruckerei Gmbh Communication method, computer program product, device and computer system
DE102009027723A1 (en) * 2009-07-15 2011-01-27 Bundesdruckerei Gmbh Method for reading attributes from an ID token
DE102009046205A1 (en) * 2009-10-30 2011-05-12 Bundesdruckerei Gmbh Method of creating a web page
US20110138453A1 (en) * 2009-12-03 2011-06-09 Samsung Electronics Co., Ltd. Single sign-on in mixed http and sip environments
DE102010028133A1 (en) * 2010-04-22 2011-10-27 Bundesdruckerei Gmbh A method of reading an attribute from an ID token

Non-Patent Citations (10)

* Cited by examiner, † Cited by third party
Title
BSI - Technical Guideline, eCard-API-Framework - eCard-Interface, BSI TR-03112-2, 23.05.2011. *
Dusseault, L: RFC4918, HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV), 2007 *
Fielding, R., u.a.: RFC2616, Hypertext Transfer Protocol -- HTTP/1.1, 1999 *
Goland, Y, u.a.: RFC2518, HTTP Extensions for Distributed Authoring -- WEBDAV, 1999 *
Holtman, K., u.a.: RFC2295, Transparent Content Negotiation in HTTP, 1998 *
Khare, R, u.a.: RFC2817, Upgrading to TLS Within HTTP/1.1, 2000 *
Microsoft CardSpace. August 2011, Wikipedia [online]. *
Nielsen, H, u.a.: RFC2774, An HTTP Extension Framework, 2000 *
OpenID. Oktober 2012, Wikipedia [online]. *
Security Assertion Markup Language (SAML) V2.0 Technical Overview, OASIS, Committee Draft 02, 25. März 2008 *

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3528159A1 (en) 2012-01-27 2019-08-21 Bundesdruckerei GmbH Method for generating a pseudonym with the help of an id token
DE102012201209A1 (en) 2012-01-27 2013-08-01 AGETO Innovation GmbH A method for creating a pseudonym using an ID token
DE102012202744A1 (en) 2012-02-22 2013-08-22 AGETO Innovation GmbH A method for creating a pseudonym using an ID token
EP3540623A1 (en) 2012-02-22 2019-09-18 Bundesdruckerei GmbH Method for generating a pseudonym with the help of an id token
DE102012202781A1 (en) 2012-02-23 2013-08-29 Bundesdruckerei Gmbh Computer-implemented method for usage control, computer program product, data processing system and transport system
DE102012215630A1 (en) 2012-09-04 2014-03-06 Bundesdruckerei Gmbh Method for Personalizing a Secure Element (SE) and Computer System
WO2014037136A1 (en) 2012-09-04 2014-03-13 Bundesdruckerei Gmbh Method for personalizing a secure element (se) and computer system
DE102012224083A1 (en) 2012-12-20 2015-08-20 Bundesdruckerei Gmbh Method for Personalizing a Secure Element (SE) and Computer System
EP2752785A1 (en) 2012-12-20 2014-07-09 Bundesdruckerei GmbH Method for personalisation of a secure element (SE) and computer system
WO2014206659A1 (en) * 2013-06-28 2014-12-31 Bundesdruckerei Gmbh Electronic transaction method and computer system
EP2819079A1 (en) * 2013-06-28 2014-12-31 Bundesdruckerei GmbH Electronic transaction method and computer system
WO2014206660A1 (en) * 2013-06-28 2014-12-31 Bundesdruckerei Gmbh Electronic transaction method and computer system
EP2879073A1 (en) * 2013-11-27 2015-06-03 Bundesdruckerei GmbH Electronic transaction method and computer system
EP2916252A1 (en) * 2014-03-06 2015-09-09 Bundesdruckerei GmbH Electronic transaction method and computer system
WO2015135744A1 (en) * 2014-03-14 2015-09-17 Bundesdruckerei Gmbh Id provider computer system, id token, and method for confirming a digital identity
WO2015135859A1 (en) * 2014-03-14 2015-09-17 Bundesdruckerei Gmbh Id provider computer system
WO2018137888A1 (en) * 2017-01-27 2018-08-02 Giesecke+Devrient Mobile Security Gmbh Method for carrying out an authentication
US11184343B2 (en) 2017-01-27 2021-11-23 Giesecke+Devrient Mobile Security Gmbh Method for carrying out an authentication
US11258777B2 (en) 2017-01-27 2022-02-22 Giesecke+Devrient Mobile Security Gmbh Method for carrying out a two-factor authentication

Similar Documents

Publication Publication Date Title
DE102011089580B3 (en) Method for reading e.g. attribute stored in passport, for electronic-commerce application, involves examining whether attribute of security assertion markup language response fulfills criterion as premiss for contribution of service
EP2304642B1 (en) Method for reading attributes from an id token
EP2454703B1 (en) Method for reading attributes from an id token
EP2245573B1 (en) Method for reading attributes from an id token
EP2454700B1 (en) Process to create a soft-token
EP2415228B1 (en) Method for reading attributes of a token via a wireless connection
DE102010028133A1 (en) A method of reading an attribute from an ID token
WO2011006791A1 (en) Method for reading attributes from an id token
WO2013056922A2 (en) Method for calling up a client program
EP3748521B1 (en) Method for reading attributes from an id token
EP2620892B1 (en) Method for generating a pseudonym with the help of an ID token
EP2631837B1 (en) Method for generating a pseudonym with the help of an ID token
EP3298526B1 (en) Method for reading attributes from an id token
WO2014037136A1 (en) Method for personalizing a secure element (se) and computer system
DE102011122972B3 (en) Method for starting an external application and bidirectional communication between a browser and an external application without browser extensions

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: RICHARDT PATENTANWAELTE PART GMBB, DE

Representative=s name: RICHARDT PATENTANWAELTE PARTG MBB, DE

Representative=s name: RICHARDT PATENTANWAELTE GBR, DE

R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final

Effective date: 20130726

R081 Change of applicant/patentee

Owner name: BUNDESDRUCKEREI GMBH, DE

Free format text: FORMER OWNERS: AGETO INNOVATION GMBH, 07745 JENA, DE; BUNDESDRUCKEREI GMBH, 10969 BERLIN, DE

R082 Change of representative

Representative=s name: RICHARDT PATENTANWAELTE PARTG MBB, DE