Verfahren zur HSM Migration Procedure for HSM migration
Beschreibung description
Die Erfindung betrifft ein Verfahren zur HSM Migration sowie ein Verfahren zum Lesen von zumindest einem Attribut aus einem ID-Token, ein Computerprogrammprodukt, einen ID-Token sowie ein Computersystem. The invention relates to a method for HSM migration and to a method for reading at least one attribute from an ID token, a computer program product, an ID token and a computer 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. Die Erfindung geht als nächstliegendem Stand der Technik von DE 602 19 350 T2 aus, die in ihrem Absatz [0009] ein Verfahren zum Ersetzen eines Schlüsselsatzes auf höchster Ebene in eine HSM beschreibt, wobei eine Verwendung des aktuell aktiven Schlüssels nicht erforderlich ist. Der Erfindung liegt demgegenüber die Aufgabe zugrunde, ein verbessertes Verfahren zur HSM Migration, sowie ein Verfahren zum Lesen zumindest eines Attributs zu schaffen, sowie ein entsprechendes Computerprogrammprodukt, einen ID-Token und ein Computersystem. Die der Erfindung zugrunde liegenden Aufgaben werden jeweils mit den Merkmalen der unabhängigen Patentansprüche gelöst. Ausführungsformen der Erfindung sind in den abhängigen Ansprüchen angegeben. From US 2007/0294431 A1 a further method for the management of the digital identities is known, which likewise requires a user registration. The invention is based on the closest prior art of DE 602 19 350 T2, which in its paragraph [0009] describes a method for replacing a key set at the highest level in an HSM, wherein a use of the currently active key is not required. The invention is based on the object to provide an improved method for HSM migration, and a method for reading at least one attribute, and a corresponding computer program product, an ID token and a computer system. The objects underlying the invention are each achieved with the features of the independent claims. Embodiments of the invention are indicated in the dependent claims.
Erste Ausführungsformen der Erfindung beinhalten ein Verfahren zur Migration von einem ersten HSM zu einem zweiten HSM, wobei dem ersten HSM ein erstes asymmetrisches kryptographisches Schlüsselpaar mit einem ersten privaten und
einem ersten öffentlichen Schlüssel und ein erstes den ersten öffentlichen Schlüssel beinhaltendes Zertifikat zugeordnet ist, mit folgenden Schritten: First embodiments of the invention include a method of migrating from a first HSM to a second HSM, wherein the first HSM comprises a first asymmetric cryptographic key pair having a first private HSM associated with a first public key and a first certificate containing the first public key, comprising the following steps:
- Erzeugung eines zweiten asymmetrischen kryptographischen Schlüs- seipaars mit einem zweiten privaten und einem zweiten öffentlichen Schlüssel sowie eines zweiten Zertifikates, welches den zweiten öffentlichen Schlüssel beinhaltet, durch das zweite HSM, Generation of a second asymmetric cryptographic key pair with a second private and a second public key and a second certificate, which contains the second public key, by the second HSM,
- Senden des zweiten Zertifikates mit dem zweiten öffentlichen Schlüssel von dem zweiten HSM an das erste HSM, und Sending the second certificate with the second public key from the second HSM to the first HSM, and
- Erzeugung eines dritten Zertifikats durch das erste HSM durch Signie- ren des zweiten öffentlichen Schlüssels mit dem ersten privaten Generation of a third certificate by the first HSM by signing the second public key with the first private one
Schlüssel, wobei eine Zertifikatsprüfung des zweiten Zertifikats mittels einer Zertifikatskette, die das erste und dritte Zertifikat enthält, durchführbar ist. Nach Ausführungsformen der Erfindung sind das erste Zertifikat und das dritte Zertifikat beide Bestandteil der selben Zertifikatskette, die für die Zertifikatskettenprüfung verwendet wird. Key, wherein a certificate check of the second certificate by means of a certificate chain containing the first and third certificate, is feasible. According to embodiments of the invention, the first certificate and the third certificate are both part of the same certificate chain used for the certificate chain check.
Das erste Zertifikat kann dabei die Funktion des Wurzeizertifikates besitzen. Das so generierte dritte Zertifikat kann im Anschluss daran z.B. an das Computersystem B und bzw. oder einen Zertifikatsserver übertragen werden. Das dritte Zertifikat muss sich innerhalb einer Zertifikatskette zu dem Wurzelzertifikat des ersten Zertifikats befinden. Falls sich die Zertifikate dieser Kette nicht bereits auf dem Computersystem B oder dem Verzeichnisserver befinden, muss das dritte Zertifikat deshalb zu- sammen mit einer bisher bestehenden Zertifikatskette vom ersten Zertifikat bis zum Root-Zertifikat des ersten Zertifikats an die Zielinstanz, z.B. das Computersystem B oder den Verzeichnisserver, übertragen werden. The first certificate can have the function of the root certificate. The third certificate generated in this way can then be followed by e.g. be transferred to the computer system B and / or a certificate server. The third certificate must be within a certificate chain to the root certificate of the first certificate. If the certificates of this chain are not already on the computer system B or the directory server, the third certificate must therefore be sent to the destination instance, for example from the first certificate to the root certificate of the first certificate, together with a previously existing certificate chain. the computer system B or the directory server.
Unter einem„HSM" , d.h. einem Hardware Security Module oder Hardware- Sicherheitsmodul (HSM) wird hier insbesondere ein (internes oder externes) Peripheriegerät für die effiziente und sichere Ausführung kryptographischer Operationen verstanden. Ein HSM ermöglicht es, die Vertrauenswürdigkeit und die Integrität von
Daten und den damit verbundenen Informationen insbesondere in IT-Systemen sicherzustellen. Um die Vertrauenswürdigkeit zu gewährleisten, sollen die zum Einsatz kommenden kryptographischen Schlüssel sowohl softwaretechnisch als auch gegen physikalische Angriffe oder Seitenkanalangriffe geschützt werden. Ein Com- putersystem kann auch insgesamt als HSM ausgebildet sein. An "HSM", ie a hardware security module or hardware security module (HSM), is understood to mean, in particular, an (internal or external) peripheral device for the efficient and secure execution of cryptographic operations.A HSM enables the trustworthiness and integrity of To ensure data and related information, especially in IT systems. In order to ensure the trustworthiness, the cryptographic keys used are to be protected by software as well as against physical attacks or side channel attacks. A computer system can also be designed overall as HSM.
Ein HSM kann mehrere„slots" aufweisen, um kryptographisches Schlüsselmaterial zu speichern. Jeder der slots hat die Funktionalität eines separaten HSM. Die slots werden auch als„partition" bezeichnet. An HSM may have multiple "slots" to store cryptographic keying material, each of the slots has the functionality of a separate HSM, and the slots are also referred to as "partition".
Unter einem„Zertifikat" wird hier ein digitales Zertifikat verstanden, welches auch als Public-Key-Zertifikat bezeichnet wird. Bei einem Zertifikat handelt es sich um strukturierte Daten, die dazu dienen, einen öffentlichen Schlüssel eines asymmetrischen Kryptosystems einer Identität, wie zum Beispiel einer Person oder einer Vor- richtung, zuzuordnen. Beispielsweise kann das Zertifikat dem Standard X.509 oder einem anderen Standard entsprechen. A "certificate" is understood here to mean a digital certificate, which is also referred to as a public-key certificate, which is a structured data that serves to identify a public key of an asymmetric cryptosystem of an identity, such as a For example, the certificate may conform to the standard X.509 or another standard.
Bei einem„Root-Zertifikat" handelt es sich um ein Zertifikat, welches einer Wurzelzertifizierungsinstanz (Root-CA) des asymmetrischen Kryptosystems zugeordnet ist. Ein solches Root-Zertifikat wird auch als self-signed certificate bezeichnet. Im Unterschied zu einem Root-Zertifikat ist ein„Link-Zertifikat", welches auch als sog. „Cross-Zertifikat" bezeichnet wird, nicht von derselben Instanz signiert, deren Identität es zugeordnet ist. A "root certificate" is a certificate associated with a root CA of the asymmetric cryptosystem, which is also called a self-signed certificate, unlike a root certificate a "link certificate", also referred to as a so-called "cross certificate", not signed by the same entity whose identity it is associated with.
Bei dem o.g. Verfahren geht es insbesondere um eine Migration eines Hardwaresi- cherheitsmoduls (HSM), das bei einem Zertifizierungsdiensteanbieter (ZDA) eingesetzt ist, bzw. einer den HSM treibenden Software, wobei die alten ausgerollten Zertifikate bzw. Identitätsdokumente prüfbar bleiben, obwohl der private Schlüssel des alten HSM nicht zugänglich ist. Wesentlich für die Funktionalität eines HSM ist die Unzugänglichkeit seines privaten Schlüssels, da dieser zum Schaffen einer Vertrauensstellung zwischen Kommunikationspartnern verwendet wird. Der Schutz des privaten Schlüssels geht so weit,
dass das HSM bei dem Versuch den privaten Schlüssel auszulesen, sich selbst zerstört oder zumindest derart zurücksetzt, dass der private Schlüssel unwiederbringlich gelöscht wird. Dies bereitet Probleme bei einer Migration von einer bestehenden ZDA-Infrastruktur mit HSM und zugeordneter Software entweder auf ein neues HSM oder bei einem Wechsel zu einem anderen HSM- und/oder Software-Vendor, da der private In particular, the above-mentioned method involves a migration of a hardware security module (HSM) used by a certification service provider (ZDA) or a software driving the HSM, whereby the old rolled-out certificates or identity documents remain testable, although the private one Key of the old HSM is not accessible. Essential to the functionality of an HSM is the inaccessibility of its private key, since it is used to create a trust relationship between communication partners. The protection of the private key goes so far that the HSM tries to read the private key, destroys itself or at least resets it so that the private key is irretrievably deleted. This poses problems in migrating from an existing ZDA infrastructure with HSM and associated software either to a new HSM or to a switch to another HSM and / or software vendor, as the private
Schlüssel auch nicht für den Administrator auslesbar ist. Dieses Problem wird beispielsweise auch in allen Ländern auftreten, die nach der EAC-Spezifikation (Exten- ded Access Control) der ICAO (International Civil Aviation Organization) biometrische Daten in Identitätsdokumenten vorschreiben und zu einem späteren Zeitpunkt ihr HSM auf eine andere Version oder einen anderen Vendor umstellen wollen. Key is not readable by the administrator. For example, this issue will also occur in all countries that require biometric data in identity documents under the ICAO (International Civil Aviation Organization) Extended Access Control (EAC) specification, and later on their HSM to another version or another Want to change vendor.
Die hier beschriebene Problemlösung beschreibt ein Verfahren zur Migration eines HSM, ohne dass der private Schlüssel des HSM ausgelesen zu werden braucht. Die Lösung wird nach ersten Ausführungsformen der Erfindung dadurch erreicht, dass in einem einmaligen Migrationsschritt das neue HSM ein zweites Zertifikat, z.B. ein Root-Zertifikat des neuen HSM an das alte HSM sendet. Alternativ kann das gesendete zweite Zertifikat auch ein beliebiges n-tes, dem Root-Zertifikat des neuen HSM innerhalb einer Zertifikatshierarchie an der n-ten Stelle dieser Hierarchie untergeordnetes Zertifikat sein, welches durch eine zusammenhängende Zertifikatskette mit dem Root-Zertifikat des neuen HSM verbunden ist. Das gesendete zweite Zertifikat beinhaltet auch den diesem zweiten Zertifikat zugehörigen zweiten öffentlichen Schlüssel. Das alte HSM empfängt das zweite Zertifikat und signiert den öffentlichen Schlüssel des empfangenen zweiten Zertifikates mit dem ersten privaten Schlüssel des alten HSM. Dadurch wird ein drittes Zertifikat erzeugt, welches die Funktion eines„Cross-Zertifikats" oder„Link-Zertifikats" einnimmt. Das so erstellte dritte Zertifikat wird mitsamt des signierten öffentlichen Schlüssels zurück an das Computersystem B übertragen. Nach bevorzugten Ausführungsformen bein- haltet das auf dem aiten HSM ersteilte dritte Zertifikat als ausstellende Instanz den Aussteller des Root-Zertifikates des alten HSM und als Zertifikatsinhaber die dem neuen HSM zugehörige Instanz. Das erzeugte dritte Zertifikat fungiert also als Link-
Zertifikat, welches von dem Root-Zertifikat oder einem n-ten Zertifikat des alten HSM auf das Root-Zertifikat oder ein m-tes Zertifikat des neuen HSMs verweist. The problem solution described here describes a method for migrating an HSM without having to read out the private key of the HSM. The solution is achieved according to first embodiments of the invention in that in a single migration step, the new HSM sends a second certificate, eg a root certificate of the new HSM to the old HSM. Alternatively, the sent second certificate may also be any nth certificate, subordinate to the root certificate of the new HSM within a certificate hierarchy at the nth point of this hierarchy, which is connected by a contiguous certificate chain to the root certificate of the new HSM , The sent second certificate also includes the second public key associated with that second certificate. The old HSM receives the second certificate and signs the public key of the received second certificate with the first private key of the old HSM. As a result, a third certificate is generated, which assumes the function of a "cross certificate" or "link certificate". The third certificate thus created is transmitted back to the computer system B together with the signed public key. According to preferred embodiments, the third certificate as the issuing entity includes the issuer of the root certificate of the old HSM and, as the certificate holder, the instance associated with the new HSM. The generated third certificate thus acts as a link Certificate that references the root certificate or an mth certificate of the new HSM from the root certificate or an nth certificate of the old HSM.
Zertifikatsketten geben das Vertrauen, welches eine Instanz, z.B. ein Nutzer, in z.B. ein Root-Zertifikat hegt („Vertrauensanker"), in vertikaler Richtung an alle Zertifikate weiter, welche mit dem Root-Zertifikat eine Zertifikatskette bilden. Link-Zertifikate schaffen dagegen Vertrauen in horizontaler Richtung zwischen zwei unabhängigen PKI Systemen bzw. zwei unabhängigen Root-Zertifikaten. Ausführungsformen des erfindungsgemäßen Verfahrens zur HSM-Migration mittels Link-Zertifikaten sind in mehrerer Hinsicht vorteilhaft. Zum einen ist das Migrationsverfahren vorteilhaft, um die Sicherheit und Verfügbarkeit der durch das alte HSM vermittelten PKI zu gewährleisten, sollte beispielsweise die Lebenszeit des Speichers des alten HSM überschritten sein oder sollte ein Update bzw. Wechsel der Software oder HSM Hardware notwendig sein. Zum anderen ist das beschriebene Verfahren zur HSM Migration auch vorteilhaft, da es die Verwendung von Link-Zertifikaten ermöglicht, auch den Zertifizierungsalgorithmus zu wechseln, ohne dass die bestehenden Zertifikate ungültig werden. Durch kontinuierliche Leistungssteigerung der Hardware und Software sinkt mit der Zeit die Sicherheit, die durch verschiedene kryptographische Verfahren, die bei der Erstellung der Zertifikate zum Einsatz kommen. Üblicherwei- se haben Zertifikate daher eine begrenzte Gültigkeitsdauer von einigen wenigen Jahren. Sind auf dem neuen HSM beispielsweise neue, verbesserte und sicherere kryptographische Algorithmen zur Zertifikatserstellung implementiert, so ist es durch die Verwendung von Link-Zertifikaten möglich, diese verbesserten Verfahren zu nutzen, ohne dass die bestehenden und sich im Umlauf befindlichen Zertifikate un- gültig werden. Certificate chains give the trust that an instance, e.g. a user, in e.g. a root certificate ("trust anchor") passes vertically to all certificates that form a certificate chain with the root certificate, whereas link certificates create trust in the horizontal direction between two independent PKI systems or two independent root certificates Embodiments of the method according to the invention for HSM migration by means of link certificates are advantageous in several respects: First, the migration method is advantageous in order to ensure the security and availability of the PKI mediated by the old HSM, for example the lifetime of the memory of the old HSM In addition, the method described for HSM migration is also advantageous since the use of link certificates also makes it possible to change the certification algorithm without the existing certificates being exceeded or should an update or change of the software or HSM hardware be necessary invalid who The continuous increase in hardware and software performance over time reduces the security provided by various cryptographic techniques used to create the certificates. As a result, certificates usually have a limited validity period of a few years. For example, if new, improved, and more secure cryptographic certificate generation algorithms are implemented on the new HSM, using Link Certificates enables these improved techniques to be used without invalidating the existing and outstanding certificates.
Falls es sich bei dem zweiten Zertifikat um ein Root-Zertifikat, d.h. um ein selbstsigniertes Wurzelzertifikat handelt, so enthält dieses neben dem zugehörigen zweiten öffentlichen Schlüssel auch eine mit dem zweiten privaten Schlüssel erstellte Signatur. Falls es sich bei dem zweiten Zertifikat um ein n-tes Zertifikat innerhalb einer Zertifikatshierarchie handelt, so wurde dieses i.d.R. mit einem dem n-1ten Zertifikat zugeordneten privaten Schlüssels signiert. Sofern es sich bei dem zweiten
Zertifikat um kein Root-Zertifikat handelt ist das zweite Zertifikat mittels einer Zertifikatskette im Zuge einer Zertifikatskettenprüfung prüf bar, wobei die Zertifikatskette das Root Zertifikat des zweiten HSM enthält. Je nach Länge der Zertifikatskette kann die zur Prüfung des zweiten Zertifikats verwendete Zertifikatskette auch weite- re Zertifikate, die von dem Root Zertifikat abgeleitet sind, enthalten. If the second certificate is a root certificate, ie a self-signed root certificate, this also contains, in addition to the associated second public key, a signature created using the second private key. If the second certificate is an nth certificate within a certificate hierarchy, then this was usually signed with a private key assigned to the nth certificate. If it is the second Certificate is not a root certificate, the second certificate can be checked by means of a certificate chain in the course of a certificate chain check, whereby the certificate chain contains the root certificate of the second HSM. Depending on the length of the certificate chain, the certificate chain used to check the second certificate may also contain other certificates derived from the root certificate.
Die Übermittlung des zweiten Zertifikates vom neuen HSM an das alte HSM kann auf verschiedenen Wegen erfolgen. Neben dem manuellen Übertragen des zweiten Zertifikates auf einen Datenträger, z.B. USB-Stick, CD-ROM, Speicher einer Smart- Card etc. kann die Übertragung auch über ein Netzwerk, z.B. das Internet oder ein Intranet erfolgen. Dabei muss jedoch die Sicherheit der Datenübertragung, insbesondere die Integrität des übertragenen zweiten Zertifikates gewährleistet sein und sog.„man-in-the-middle attacks" müssen wirkungsvoll ausgeschlossen werden. Dies kann z.B. durch den Aufbau eines sicheren, i.d.R. verschlüsselten Kommunika- tionskanals zwischen dem alten und dem neuen HSM erfolgen. Die Sicherheit kann z.B. durch Benutzung eines gemeinsamen Geheimnisses des alten und neuen HSM erfolgen, wobei dieses Geheimnis z.B. auf einem anderen Kommunikationskanal, z.B. vermittels durch einen menschlichen Boten, übermittelt werden kann. Die Zertifikatsübermittlung kann auch z.B. mittels einer VPN (Virtual Private Network) Kom- munikationsschnittstelle erfolgen. Alternativ oder zusätzlich kann auch die Eingabe biometrischer Daten des Operators vor der Zertifikatsübertragung erforderlich sein. Nach einer bevorzugten Ausführungsform wird das zweite Zertifikat in Form einer Zertifikatsdatei an das alte HSM übertragen. Nach weiteren ersten Ausführungsformen der Erfindung ist das HSM-The transmission of the second certificate from the new HSM to the old HSM can be done in different ways. In addition to manually transferring the second certificate to a volume, e.g. USB stick, CD-ROM, memory of a smart card, etc. can also be transmitted over a network, e.g. the internet or an intranet. However, the security of the data transmission, in particular the integrity of the transmitted second certificate, must be ensured and so-called "man-in-the-middle attacks" must be effectively excluded The security can be done, for example, by using a shared secret of the old and new HSM, this secret, for example, on another communication channel, eg by means of a human messenger, can be transmitted Alternatively or additionally, the entry of biometric data of the operator prior to the certificate transfer may be required.According to a preferred embodiment, the second certificate in the form of a certificate file is transferred to the old HSM According to further first embodiments of the invention, the HSM
Migrationsverfahren so ausgebildet, dass die gesamte Zertifikatskette des alten HSM bis hinab zu dem erzeugten dritten Zertifikat, welches die Funktion eines Cross- / bzw. Link-Zertifikates erfüllt, auf das Computersystem B oder einen Verzeichnisserver übertragen wird. Erste Ausführungsformen des erfindungsgemäßen Verfahrens zur Migration eines HSM haben also zur Voraussetzung, dass eine Zertifikatsprüfung des zweiten Zertifikats mittels einer Zertifikatskette, die das erste und dritte Zertifikat enthält, durchführbar ist. Auf diese Weise ist das neue HSM in der
Lage, beim ZDA gegenüber den ausgerollten Identitätsdokumenten derart aufzutreten, dass der Prüfvorgang der ausgerollten Identitätsdokumente wie vor der Migration abläuft, ohne dass irgendeine zwischengeschaltete Instanz von der Migration betroffen wäre. Migration method designed so that the entire certificate chain of the old HSM down to the generated third certificate, which performs the function of a cross / or link certificate, is transferred to the computer system B or a directory server. First embodiments of the method according to the invention for the migration of an HSM therefore have the prerequisite that a certificate check of the second certificate can be carried out by means of a certificate chain containing the first and third certificates. That way, the new HSM is in the Able to act against the rolled-out identity documents in the ZDA so that the checking process of the rolled-out identity documents proceeds as before the migration, without any intermediary instance being affected by the migration.
Das zweite Zertifikat ist also mittels einer ersten Zertifikatkette prüfbar, welche das erste und das dritte Zertifikat enthält. Sofern es sich bei dem zweiten Zertifikat nicht um ein Root-Zertifikat handelt, ist das zweite Zertifikat zudem mittels einer zweiten Zertifikatskette prüfbar, welche das Root-Zertifikat des zweiten HSM enthält. Je nach Länge der zweiten Zertifikatskette kann die zweite Kette noch zusätzliche Zertifikate enthalten, welche sich von dem Root-Zertifikat des zweiten HSM ableiten. The second certificate can therefore be tested by means of a first certificate chain containing the first and the third certificate. If the second certificate is not a root certificate, the second certificate can also be checked by means of a second certificate chain which contains the root certificate of the second HSM. Depending on the length of the second certificate chain, the second chain may contain additional certificates, which are derived from the root certificate of the second HSM.
In der DE 602 19 350 T2 wird ein anderes Problem gelöst. Es wird dort das Problem gelöst, dass ein Schlüsseipaar genutzt wird und aus Sicht des Clients auch weiter genutzt werden soll, wobei trotzdem das HSM gewechselt werden soll. Auf das hier erfindungsgemäß beschriebene Szenario übertragen bedeutet dies, dass das ISS (Inspection System Server) im Besitz des privaten Root-Schlüssels wäre und das Identitätsdokument prüfen würde, ob das ISS den privaten Schlüssel des Vertrauensankers im Identitätsdokument besitzt. Ein erfindungsgemäßes ISS wird im wei- tern auch als ersten Computersystem, Ersatz-Computersystem oder ID-Provider- Computersystem bezeichnet. In DE 602 19 350 T2 another problem is solved. It is there solved the problem that a Schlüsseipaar is used and from the point of view of the client should continue to be used, while still the HSM should be changed. Translated to the scenario described herein, this means that the ISS (Inspection System Server) would be in possession of the private root key and the identity document would check to see if the ISS owns the private key of the trust anchor in the identity document. An ISS according to the invention is also referred to as the first computer system, replacement computer system or ID provider computer system.
Dies macht das Identitätsdokument erfindungsgemäß aber nicht, sondern es verlangt vielmehr, dass das ISS einen privaten Schlüssel zu einem Zertifikat besitzt, welches sich in einer Zertifikatskette bis zum Root-Zertifikat befindet und sich vom Identitätsdokument auch über die Signaturprüfungen der einzelnen Zertifikate prüfen lässt. Hier ist das Schlüsselpaar des Root-Zertifikats selber nicht relevant. Gemäß Ausführungsformen der vorliegenden Erfindung werden keine Informationen von privaten Schlüsseln mittels Transportschlüssel auf das andere HSM übertragen. This makes the identity document according to the invention but not, but it requires rather that the ISS has a private key to a certificate, which is in a certificate chain to the root certificate and can be checked by the identity document on the signature checks of the individual certificates. Here the key pair of the root certificate itself is not relevant. According to embodiments of the present invention, private key information is not transferred to the other HSM by means of a transport key.
Nach einer Ausführungsform der Erfindung erfolgt die Migration von dem ersten HSM zu dem zweiten HSM deutlich vor dem zu erwartenden Ende der Lebensdauer
des ersten HSM. Dadurch soil sichergestellt werden, dass bei einem Ausfall des ersten HSM aufgrund des Erreichens von dessen Lebensdauer der von dem ersten Computersystem angebotene Dienst mit dem zweiten HSM nahtlos weitergeführt werden kann. According to one embodiment of the invention, migration from the first HSM to the second HSM occurs well before the expected end of life of the first HSM. This is to ensure that, in the event of a failure of the first HSM, the service offered by the first computer system can be seamlessly continued with the second HSM on the basis of reaching its lifetime.
Nach einer Ausführungsform der Erfindung wird zusätzlich zu dem ersten Computersystem mit dem ersten HSM ein Ersatz-Computersystem mit dem zweiten HSM betrieben, wobei das Ersatz-Computersystem prinzipiell gleich wie das erste Computersystem aufgebaut ist. Bei einem Verlust des ersten Computersystems kann das Ersatz-Computersystem die Funktion des ersten Computersystems übernehmen. Das Ersatz-Computersystem bildet also einen„Backup" für das erste Computersystem zur Schaffung von Ausfallsicherheit. Vorzugsweise wird das Ersatz- Computersystem räumlich getrennt von dem ersten Computersystem aufgestellt. Ausführungsformen der Erfindung sind auf eine Migration zwischen HSM's gerichtet. Ein Problem dabei ist, dass der private Schlüssel einer Software, es ist eine Certificate Authority Software, im folgenden CA genannt, der deren Zertifizierungsleistung erst ermöglicht, ausiesegeschützt in einem HSM oder einer Chipkarte enthalten ist. Ein weiteres Problem ist, dass die Zertifizierungsleistung, die die abzulö- sende Software mit der abzulösenden Software mit dem abzulösenden HSM bzw. der abzulösenden Chipkarte erbringt, aufrecht erhalten werden muss, was nur mit dem privaten Schlüssel der abzulösenden Software aus dem abzulösenden HSM / der abzulösenden Chipkarte möglich ist. Mit dieser Erfindung wird eine Migration ermöglicht, die einen kontinuierlichen Betrieb bereits ausgerollter Komponenten er- möglicht. Die privaten Schlüssel der abzulösenden CA können nach der Migration gefahrlos gelöscht werden und die Hardware kann anderer Verwendung zugeführt werden. According to one embodiment of the invention, in addition to the first computer system with the first HSM, a replacement computer system is operated with the second HSM, wherein the replacement computer system is basically the same as the first computer system. Upon a loss of the first computer system, the replacement computer system may take over the function of the first computer system. Thus, the replacement computer system forms a "backup" for the first computer system to the creation of reliability. Preferably, the replacement computer system is established by the first computer system spatially separated. Embodiments of the invention are directed to a migration between HSM 's. One problem with this is in that the private key of a software, it is called a certificate authority software, in the following called CA, which first enables its certification performance, is ausweisegeschützt contained in an HSM or a chip card.Another problem is that the certification performance, the to be replaced Software with the software to be replaced with the HSM to be replaced or the chip card to be replaced must be maintained, which is only possible with the private key of the software to be replaced from the HSM to be replaced / the chip card to be replaced a continuous operation of already rolled out components. The private keys of the CA to be replaced can be safely deleted after the migration and the hardware can be put to other use.
Für eine HSM- und / oder HSM-SW-Migration sind zwei Punkte nach Ausführungs- formen der Erfindung wesentlich:
1. Migration von einem bestehenden System mit einer alten CA und einem alten HSM zu einer neuen CA mit einem neuen HSM, For an HSM and / or HSM SW migration, two points are essential to embodiments of the invention: 1. Migration from an existing system with an old CA and an old HSM to a new CA with a new HSM,
2. Betrieb der neuen CA mit dem neuen HSM zu 1.: 2. Operation of the new CA with the new HSM at 1 .:
1. Zunächst wird gemäß ersten Ausführungsformen der Erfindung eine neue CA mit einem neuen HSM eingerichtet. Anschließend wird die Migration von der alten CA mit dem alten HSM zur neuen CA mit dem neuen HSM eingeleitet durch die Über- tragung des zweiten Zertifikates, welches einen zweiten öffentlichen Schlüssel, d.h. pub[HSM neu], beinhaltet, an das alte HSM. . 1. First, according to first embodiments of the invention, a new CA is set up with a new HSM. Subsequently, the migration from the old CA with the old HSM to the new CA with the new HSM is initiated by the transmission of the second certificate, which is a second public key, i. pub [HSM new], includes, to the old HSM. ,
Das alte HSM signiert den erhaltenen Öffentlichen Schlüssel pub[HSM-neu] des erhaltenen zweiten Zertifikates mit seinem alten privaten Schlüssel, um ein Link- Zertifikat (drittes Zertifikat) zu bilden: LinkCert=sig{pub[HSM-neu]) erstellt mit dem privaten Schlüssel des alten HSMs. The old HSM signs the obtained public key pub [HSM-new] of the obtained second certificate with its old private key to form a link certificate (third certificate): LinkCert = sig {pub [HSM-new]) created with the private key of the old HSM.
Schließlich sendet die alte CA an die neue CA dann das Link-Zertifikat Link- Cert=sig(pub[HSM-neu]) wobei zur Signatur der private Schlüssel des alten HSMs genutzt wird. Weiterhin wird die bisher bestehende Zertifikatskette des alten HSMs an das neue HSM (über die jeweilige CA Software) geschickt. Finally, the old CA then sends the link certificate LinkCert = sig (pub [HSM-new]) to the new CA, whereby the private key of the old HSM is used for the signature. Furthermore, the existing certificate chain of the old HSM will be sent to the new HSM (via the respective CA software).
Das alte HSM kann dann abgeschaltet werden. zu 2.: The old HSM can then be switched off. to 2 .:
Ein Inspection System Server (im Folgenden ISS genannt) sendet an das neue HSM einen Zertifikats-Request mit dem öffentlichen Schlüssel des ISS (pub[ISS]). Die neue CA mit dem neuen HSM signiert diesen öffentlichen Schlüssel pubflSS] dann mit seinem privaten Schlüssel priv[HSM-neu] um ein Zertifikat zu bilden: An Inspection System Server (hereafter referred to as ISS) sends to the new HSM a certificate request with the public key of the ISS (pub [ISS]). The new CA with the new HSM then signs this public key pubflSS] with its private key priv [HSM-new] to form a certificate:
sig(pub[ISS]) unter Verwendung des privaten Schlüssels der neuen CA mit dem neuen HSM). Diese Signatur kann vom ISS mit dem von der alten CA mit dem HSM
ausgestellten Link-Zertifikat (drittes Zertifikat) verifiziert werden. Um das Link- Zertifikat zu verifizieren sind unter Umständen weitere Link-Zertifikate notwendig und das ursprüngliche Root Zertifikat. Diese Zertifikate stammen ebenfalls von der alten CA und dem alten HSM und wurden im Rahmen der Migration in die neue CA und in das neue HSM importiert. sig (pub [ISS]) using the new CA's private key with the new HSM). This signature can be from the ISS to the one from the old CA to the HSM issued link certificate (third certificate). To verify the link certificate, additional link certificates and the original root certificate may be required. These certificates also come from the old CA and the old HSM and were imported into the new CA and the new HSM as part of the migration.
Insgesamt erhält der ISS dann eine Zertifikatkette mit Overall, the ISS then receives a certificate chain
1. dem ISS Zertifikat mit dem von der neuen CA signierten öffentlichen Schlüssel des aktuellen ISS Schlüsseipaares 1. the ISS certificate with the public key of the current ISS key pair signed by the new CA.
2. dem modifizierten Link-Zertifikat mit dem von der alten CA und dem alten 2. the modified link certificate with that of the old CA and the old one
HSM signierten öffentlichen Schlüssel der neuen CA und dem neuen HSMHSM signed public key of the new CA and the new HSM
3. evtl. weiteren Link-Zertifikaten der alten CA und dem alten HSM 3. possibly further link certificates of the old CA and the old HSM
4. dem Root-Zertifikat der alten CA und dem alten HSM. Ein ID-Token, wie z.B. eine elektronische Vorrichtung, die für die Zwecke einer elektronischen Identitätsbestätigung gemäß an sich bekannter Schaltungstechnik hergerichtet ist, wie z.B. ein elektronisches Identitätsdokument, z.B. ein elektronischer Pass, gegenüber welchen sich das ISS authentifizieren muss, erhält schließlich diese Zertifikatskette (mit Ausnahme des Root Zertifikates, welches als Vertrau- ensanker schon beim Personalisieren in den Pass eingebracht wurde). Beim Überprüfen kann der Pass feststellen, ob das ISS eine Vertrauensstellung zum neuen HSM hat und, ob das die neue CA mit dem neuen HSM eine Vertrauensstellung zur alten CA mit dem alten HSM hat. Sofern diese Vertrauenskette gegeben ist, gibt der Pass vertrauliche(re) Daten wie beispielsweise Fingerprints an das ISS frei. 4. the root certificate of the old CA and the old HSM. An ID token, such as an electronic device adapted for the purposes of electronic identity confirmation according to per se known circuit technology, such as e.g. an electronic identity document, e.g. an electronic passport, against which the ISS has to authenticate, finally receives this certificate chain (with the exception of the root certificate, which was introduced as a trust anchor when personalizing the passport). During verification, the passport can determine if the ISS has a trust relationship with the new HSM and whether the new CA with the new HSM has a trust relationship with the old CA with the old HSM. If this chain of trust exists, the passport releases sensitive data, such as fingerprints, to the ISS.
Nach dem bisherigen Stand der Technik ist ein Wechsel der HSM-Hardware z. B. auf einen anderen Hersteller nicht möglich. Es muss für die gesamte Lebensdauer der Pässe mit dem Root-Zertifikat des alten HSM diese Infrastruktur vorgehalten werden. Die Hersteller behalten sich außerdem vor, bei größeren Firmware-Updates sämtliche HSM Daten zu löschen. Bei Major-Updates kann es außerdem sein, dass sich interne Firmware-Strukturen ändern und die Daten, selbst wenn sie durch ein Backup gesichert wurden, nicht mehr einspielbar sind. Vorteil des Verfahrens ist,
dass alte CAs mit alten HSM 's mit grundsätzlich nicht zugänglichen privaten According to the prior art, a change of HSM hardware z. B. not possible to another manufacturer. This infrastructure must be kept for the entire life of the passports with the root certificate of the old HSM. The manufacturers also reserve the right to delete all HSM data for larger firmware updates. Major updates may also be due to internal firmware structures changing and the data, even backed up, becoming unplayable. Advantage of the method is that old CAs with old HSMs with basically inaccessible private
Schlüsseln abgelöst werden können, ohne dass alle im Umlauf befindlichen Pässe plötzlich ungültig werden. Ferner ist eine InterOperabilität dergestalt ermöglicht, dass auch ein Vendor-Wechsel zwischen verschiedenen HSM 's erfolgen kann. Keys can be replaced without all circulating passports are suddenly invalid. Further, interoperability is such allows a vendor change between HSM 's can take place.
Mit dieser Erfindung kann man zu jedem beliebigen Zeitpunkt die Hardware auch herstellerübergreifend wechseln. With this invention, you can switch at any time, the hardware manufacturer independent.
Ausführungsformen der Erfindung lösen insbesondere die Aufgabe, eine bereits gelieferte CA-Software, mit der auch Pässe personalisiert werden, zu einem beliebi- gen späteren Zeitpunkt durch eine (noch nicht existente) neue CA-Software zu ersetzen und mit Zertifikaten dieser neuen CA die mit Zertifikaten der alten CA personalisierten Pässe weiterhin auslesen zu können. In particular, embodiments of the invention solve the problem of replacing already delivered CA software with which passes are also personalized at any later time by a (not yet existing) new CA software and with certificates of this new CA with To be able to continue to read certificates of the old CA personalized passports.
Nach Ausführungsformen der Erfindung wird ein Verfahren zum Lesen zumindest eines in einem ID-Token gespeicherten Attributs geschaffen, wobei der ID-Token einem Nutzer zugeordnet ist. Das Verfahren beinhaltet die folgenden Schritte: Authentifizierung des Nutzers gegenüber dem ID-Token; Authentifizierung eines ersten Computersystems gegenüber dem ID-Token; nach erfolgreicher Authentifizierung des Nutzers und des ersten Computersystems gegenüber dem ID-Token, Lese- zugriff des ersten Computersystems auf das zumindest eine in dem ID-Token gespeicherte Attribut zur Übertragung des zumindest einen Attributs an ein zweites Computersystem. Hierdurch kann ein„Vertrauensanker" geschaffen werden. Das erste Computersystem beinhaltet das erste bzw. nach Migration das zweite HSM, welches für die Authentifizierung eines ersten Computersystems gegenüber dem ID-Token und für die Signierung des zumindest einen Attributs verwendet wird. Bei dem ersten Computersystem kann es sich auch um das Ersatz-Computersystem handeln. According to embodiments of the invention, a method is provided for reading at least one attribute stored in an ID token, wherein the ID token is assigned to a user. The method includes the following steps: authenticating the user against the ID token; Authenticating a first computer system against the ID token; after successful authentication of the user and the first computer system against the ID token, read access of the first computer system to the at least one stored in the ID token attribute for transmitting the at least one attribute to a second computer system. The first computer system includes the first or, after migration, the second HSM used for authenticating a first computer system to the ID token and for signing the at least one attribute it can also be the replacement computer system.
Ausführungsformen der Erfindung ermöglichen das Lesen eines oder mehrerer der in einem ID-Token gespeicherten Attribute durch das erste Computersystem, wobei die Verbindung zwischen dem ID-Token und dem ersten Computersystem über ein Netzwerk, insbesondere das Internet, aufgebaut werden kann. Bei dem zumindest
einem Attribut kann es sich um eine Angabe bezüglich der Identität des dem ID- Token zugeordneten Nutzers handeln, insbesondere bezüglich dessen so genannter digitaler Identität. Beispielsweise werden durch das erste Computersystem die Attribute Name, Vorname, Adresse gelesen, um diese Attribute an ein zweites Computersystem, zum Beispiel eines Online-Dienstes, weiterzuleiten. Embodiments of the invention allow one or more of the attributes stored in an ID token to be read by the first computer system, wherein the connection between the ID token and the first computer system may be established over a network, particularly the Internet. At least An attribute can be an indication as to the identity of the user associated with the ID token, in particular with regard to its so-called digital identity. For example, the first computer system reads the attributes name, first name, address to forward these attributes to a second computer system, for example an online service.
Es kann aber zum Beispiel auch nur ein einzelnes Attribut gelesen werden, welches nicht zur Feststellung der Identität des Nutzers, sondern beispielsweise zur Überprüfung der Berechtigung des Benutzers zur Inanspruchnahme eines bestimmten Online-Dienstes dient, wie zum Beispiel das Alter des Nutzers, wenn dieser einen Online-Dienst in Anspruch nehmen möchte, der einer bestimmten Altersgruppe vorbehalten ist, oder ein anderes Attribut, welches die Zugehörigkeit des Nutzers zu einer bestimmten Gruppe dokumentiert, welche zur Nutzung des Online-Dienstes berechtigt ist. However, it is also possible, for example, to read only a single attribute which does not serve to establish the identity of the user, but, for example, to check the authorization of the user to use a particular online service, such as the age of the user, if this one Online service that is reserved for a particular age group, or another attribute that documents the user's affiliation to a particular group that is authorized to use the online service.
Bei dem ID-Token kann es sich um ein tragbares elektronisches Gerät, wie zum Beispie! einen so genannten USB-Stick, handeln oder um 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 Bankkarten und Kreditkarten, Frachtbriefe oder sonstige Berechtigungsnachweise, in die ein Datenspeicher zur Speicherung des zumindest einen Attributs integriert ist. The ID token can be a portable electronic device, such as the Beckerpie! a so-called USB stick, act 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 passport documents, identity cards, visas and driving licenses, vehicle registration documents, vehicle documents, company identity cards, health cards or other ID documents as well as chip cards, means of payment, in particular bank cards and Credit cards, bills of lading or other credentials in which a data store for storing the at least one attribute is integrated.
Ausführungsformen der Erfindung sind also besonders vorteilhaft, da das zumindest eine Attribut aus einem besonders vertrauenswürdigen Dokument, beispielsweise einem amtlichen Dokument, ausgelesen wird. Von besonderem Vorteil ist weiterhin, dass eine zentrale Speicherung der Attribute nicht erforderlich ist. Ausführungsformen der Erfindung ermöglichen also ein besonders hohes Maß an Vertrauenswür-
digkeit hinsichtlich der Mitteilung der zu einer digitalen Identität gehörenden Attribute, verbunden mit einem optimalen Datenschutz bei äußerst bequemer Handhabung. Nach einer Ausführungsform der Erfindung hat das erste Computersystem zumindest ein Zertifikat, welches zur Authentifizierung des ersten Computersystems gegenüber dem ID-Token verwendet wird. Das Zertifikat beinhaltet eine Angabe derjenigen Attribute, für welche das erste Computersystem eine Leseberechtigung hat. Der ID-Token prüft anhand dieses Zertifikats, ob das erste Computersystem die er- forderliche Leseberechtigung für den Lesezugriff auf das Attribut hat, bevor ein solcher Lesezugriff durch das erste Computersystem durchgeführt werden kann. Embodiments of the invention are thus particularly advantageous since the at least one attribute is read from a particularly trustworthy document, for example an official document. Of particular advantage is further that a central storage of the attributes is not required. Embodiments of the invention therefore enable a particularly high degree of trustworthiness. the ability to communicate the attributes associated with a digital identity, combined with optimal data protection and extremely convenient handling. According to one embodiment of the invention, the first computer system has at least one certificate which is used for authentication of the first computer system to the ID token. The certificate includes an indication of those attributes for which the first computer system has read permission. The ID token uses this certificate to check whether the first computer system has the read permission to read the attribute before such read access can be performed by the first computer system.
Nach einer Ausführungsform der Erfindung sendet das erste Computersystem das zumindest eine von dem ID-Token ausgeiesene Attribut unmittelbar an ein zweites Computersystem. Bei dem zweiten Computersystem kann es sich zum Beispiel um einen Server zur Erbringung eines Online-Dienstes oder eines sonstigen Dienstes, wie zum Beispiel einer Bankdienstleistung oder zur Bestellung eines Produkts handeln. Beispielsweise kann der Nutzer ein Konto online eröffnen, wozu Attribute, die die Identität des Nutzers beinhalten, von dem ersten Computersystem an das zwei- te Computersystem einer Bank übertragen werden. According to one embodiment of the invention, the first computer system sends the at least one attribute issued by the ID token directly to a second computer system. The second computer system may be, for example, a server for providing an on-line service or other service, such as a banking service or ordering a product. For example, the user can open an account online, for which attributes that include the identity of the user are transferred from the first computer system to the second computer system of a bank.
Nach einer Ausführungsform der Erfindung erfolgt die Übertragung der aus dem ID- Token gelesenen Attribute von dem ersten Computersystem zunächst an ein drittes Computersystem des Nutzers. Beispielsweise hat das dritte Computersystem einen üblichen Internetbrowser, mit dem der Nutzer eine Webseite des zweiten Computersystems öffnen kann. Der Nutzer kann in die Webseite eine Anforderung oder Bestellung für einen Dienst oder ein Produkt eingeben. According to one embodiment of the invention, the transmission of the attributes read from the ID token from the first computer system first takes place to a third computer system of the user. For example, the third computer system has a standard Internet browser with which the user can open a web page of the second computer system. The user can enter a request or order for a service or product into the web page.
Das zweite Computersystem spezifiziert daraufhin diejenigen Attribute, zum Beispiel des Nutzers oder seines ID-Tokens, welche es für die Erbringung des Dienstes oder die Annahme der Bestellung benötigt. Die entsprechende Attributspezifikation, die die Spezifizierung dieser Attribute beinhaltet, wird sodann von dem zweiten Compu-
tersystem an das erste Computersystem gesendet. Dies kann mit oder ohne Zwischenschaltung des dritten Computersystems erfolgen. Im letzteren Fall kann der Nutzer das gewünschte erste Computersystem gegenüber dem zweiten Computersystem spezifizieren, beispielsweise durch Eingabe der URL des ersten Computer- Systems in eine Webseite des zweiten Computersystems von dem dritten Computersystem aus. The second computer system then specifies those attributes, for example the user or his ID token, which it needs for the provision of the service or the acceptance of the order. The corresponding attribute specification, which includes the specification of these attributes, is then used by the second computer. sent to the first computer system. This can be done with or without the interposition of the third computer system. In the latter case, the user may specify the desired first computer system relative to the second computer system, for example by entering the URL of the first computer system into a web page of the second computer system from the third computer system.
Nach einer Ausführungsform der Erfindung beinhaltet die Dienst-Anforderung des Nutzers an das zweite Computersystem die Angabe eines identifikators, wobei der Identifikator das erste Computersystem identifiziert. Beispielsweise handelt es sich bei dem Identifikator um einen Link, beispielsweise eine URL des ersten Computersystems. According to one embodiment of the invention, the service request of the user to the second computer system includes the indication of an identifier, wherein the identifier identifies the first computer system. For example, the identifier is a link, for example a URL of the first computer system.
Nach einer Ausführungsform der Erfindung wird die Attributspezifizierung nicht un- mittelbar von dem zweiten Computersystem an das erste Computersystem gesendet, sondern zunächst von dem zweiten Computersystem an das dritte Computersystem. Das dritte Computersystem hat mehrere vordefinierte Konfigurationsdatensätze, wobei der dritte Computer mehrere vordefinierte Konfigurationsdatensätze aufweist, wobei jeder der Konfigurationsdatensätze eine Teilmenge der Attribute, zumindest eine Datenquelle und ein erstes Computersystem aus einer Menge von ersten Computersystemen spezifiziert, wobei die Attributspezifikation von dem zweiten Computersystem zunächst an das dritte Computersystem übertragen wird, so- dass mittels des dritten Computersystems zumindest einer der Konfigurationsdatensätze auswählt wird, der eine Teilmenge der Attribute spezifiziert, welche das zu- mindest eine in der Attributspezifikation spezifizierte Attribut beinhaltet, und wobei der dritte Computer die Attributspezifikation an das erste Computersystem weiterleitet, und die Verbindung mit dem durch die Angabe der Datenquelle in dem ausgewählten Konfigurationsdatensatz spezifizierten ID-Token aufgebaut wird. Nach einer Ausführungsform der Erfindung werden die aus dem ID-Token ausgelesenen Attribute von dem ersten Computersystem signiert und dann an das dritte Computersystem übertragen. Der Nutzer des dritten Computersystems kann die
Attribute also lesen, ohne sie jedoch verändern zu können. Erst nach Freigabe durch den Nutzer werden die Attribute von dem dritten Computersystem an das zweite Computersystem weitergeleitet. Nach einer Ausführungsform der Erfindung kann der Nutzer die Attribute vor deren Weiterleitung durch weitere Daten ergänzen. According to one embodiment of the invention, the attribute specification is not sent directly from the second computer system to the first computer system, but first from the second computer system to the third computer system. The third computer system has a plurality of predefined configuration records, the third computer having a plurality of predefined configuration records, each of the configuration records specifying a subset of the attributes, at least one data source and a first computer system among a set of first computer systems, the attribute specification from the second computer system first the third computer system is transmitted such that by means of the third computer system at least one of the configuration data sets is selected specifying a subset of the attributes including the at least one attribute specified in the attribute specification, and wherein the third computer matches the attribute specification to the first one Computer system, and the connection is established with the ID token specified by the specification of the data source in the selected configuration record. According to one embodiment of the invention, the attributes read from the ID token are signed by the first computer system and then transmitted to the third computer system. The user of the third computer system can the Read attributes, but without being able to change them. Only after release by the user are the attributes forwarded from the third computer system to the second computer system. According to one embodiment of the invention, the user can supplement the attributes before their forwarding by further data.
Nach einer Ausführungsform der Erfindung hat das erste Computersystem mehrere Zertifikate mit verschiedenen Leserechten. Aufgrund des Empfangs der Attributspe- zifikation wählt das erste Computersystem eines oder mehrere dieser Zertifikate aus, um die entsprechenden Attribute aus dem ID-Token oder mehreren verschiedenen ID-Token auszulesen. According to one embodiment of the invention, the first computer system has a plurality of certificates with different read rights. Upon receiving the Attribute Specification, the first computer system selects one or more of these certificates to retrieve the corresponding attributes from the ID token or multiple different ID tokens.
Nach einer Ausführungsform der Erfindung hat das dritte Computersystem zumin- dest einen Konfigurationsdatensatz, welcher eine externe Datenquelle zur Abfrage eines weiteren Attributs von dem dritten Computersystem über das Netzwerk spezifiziert. According to one embodiment of the invention, the third computer system has at least one configuration data record which specifies an external data source for requesting a further attribute from the third computer system via the network.
Nach einer Ausführungsform der Erfindung erfolgt die Abfrage des weiteren Attri- buts, nachdem das zumindest eine Attribut aus dem ID-Token ausgelesen worden ist, und nachdem das dritte Computersystem das zumindest eine Attribut von dem ersten Computersystem empfangen hat, wobei die Abfrage das zumindest eine Attribut beinhaltet. In einem weiteren Aspekt betrifft die Erfindung ein Computerprogrammprodukt, insbesondere ein digitales Speichermedium, mit ausführbaren Programminstruktionen zur Durchführung eines erfindungsgemäßen Verfahrens. According to one embodiment of the invention, after the at least one attribute has been read out of the ID token and after the third computer system has received the at least one attribute from the first computer system, the query of the further attribute takes place, the query comprising the at least one Attribute includes. In a further aspect, the invention relates to a computer program product, in particular a digital storage medium, with executable program instructions for carrying out a method according to the invention.
In einem weiteren Aspekt betrifft die Erfindung einen ID-Token mit einem geschütz- ten Speicherbereich zur Speicherung von zumindest einem Attribut, mit Mitteln zur Authentifizierung eines dem ID-Token zugeordneten Nutzers gegenüber dem ID- Token, Mitteln zur Authentifizierung eines ersten Computersystems gegenüber dem
ID-Token, Mitteln zum Aufbau einer geschützten Verbindung zu dem ersten Computersystem, über die das erste Computersystem das zumindest eine Attribut auslesen kann, wobei eine notwendige Voraussetzung für das Auslesen des zumindest einen Attributs aus dem ID-Token durch das erste Computersystem die erfolgreiche Authentifizierung des Nutzers und des ersten Computersystems gegenüber dem ID- Token ist. In a further aspect, the invention relates to an ID token with a protected memory area for storing at least one attribute, with means for authenticating a user assigned to the ID token with respect to the ID token, means for authenticating a first computer system with respect to the ID token, means for establishing a protected connection to the first computer system, via which the first computer system can read the at least one attribute, wherein a necessary condition for reading the at least one attribute from the ID token by the first computer system, the successful authentication of the user and the first computer system against the ID token.
Zusätzlich zu der Authentifizierung des ersten Computersystems gegenüber dem ID-Token, wie sie an sich zum Beispiel als so genannte Extended Access Control für maschinenlesbare Reisedokumente (machine-readable trave! documents - MRTD) bekannt und von der internationalen Luftfahrtbehörde ICAO spezifiziert ist, muss sich also der Nutzer gegenüber dem ID-Token authentifizieren. Beispielsweise wird durch eine erfolgreiche Authentifizierung des Nutzers gegenüber dem ID- Token dieser freigeschaltet, sodass die weiteren Schritte, nämlich die Authentifizie- rung des ersten Computersystems gegenüber dem ID-Token und/oder der Aufbau einer geschützten Verbindung zum Auslesen der Attribute, ablaufen können. In addition to the authentication of the first computer system to the ID token, as known per se as, for example, so-called extended-access control for machine-readable travel documents (MRTD) and specified by the international aviation authority ICAO, must So the user will authenticate to the ID token. For example, a successful authentication of the user against the ID token unlocks it, so that the further steps, namely the authentication of the first computer system with respect to the ID token and / or the establishment of a protected connection for reading out the attributes, can take place.
Nach einer Ausführungsform der Erfindung hat der ID-Token Mittel für eine Ende- zu-Ende-Verschlüsselung. Dies ermöglicht es, die Verbindung zwischen dem ID- Token und dem ersten Computersystem über ein drittes Computersystem des Nutzers aufzubauen, da der Nutzer aufgrund der Ende-zu-Ende-Verschlüsselung keine Änderungen der über die Verbindung übertragenen Daten vornehmen kann. According to one embodiment of the invention, the ID token has means for end-to-end encryption. This makes it possible to establish the connection between the ID token and the first computer system via a third computer system of the user, since the user can not make any changes to the data transmitted via the connection due to the end-to-end encryption.
In einem weiteren Aspekt betrifft die Erfindung ein Computersystem mit einem ers- ten HSM und einem zweiten HSM, wobei dem ersten HSM ein erstes asymmetrisches kryptografisches Schlüsselpaar mit einem ersten privaten und einem ersten öffentlichen Schlüssel und ein erstes, den ersten öffentlichen Schlüssel beinhaltendes Zertifikat zugeordnet sind, und wobei dem zweiten HSM ein zweites asymmetrisches kryptografisches Schlüsselpaar mit einem zweiten privaten und einem zwei- ten öffentlichen Schlüssel und einem zugehörigen zweiten Zertifikat zugeordnet ist, und wobei dem zweiten HSM ein drittes Zertifikat zugeordnet ist, welches durch das erste HSM dadurch generiert wurde, dass der zweite öffentliche Schlüssel des zwei-
ten Zertifikats mit dem ersten privaten Schlüssel durch das erste HSM signiert wurde. Bei den ersten und zweiten HSMs kann es sich um verschiedene Slots desselben HSM handeln oder um zwei separate HSMs. Beispielsweise befindet sich das erste HSM in einem ersten Computersystem A und das zweite HSM in einem ersten Computersystem B. Das erste Computersystem B kann für einen so genannten„Coid-Standby" vorgesehen sein, das heißt als Ersatz- Computersystem für das erste Computersystem A, wenn dieses ausfällt. Das Computersystem beinhaltet also in diesem Fall die ersten Computersysteme A und B. In a further aspect, the invention relates to a computer system having a first HSM and a second HSM, wherein the first HSM is associated with a first asymmetric cryptographic key pair having a first private and a first public key and a first certificate containing the first public key and wherein the second HSM is associated with a second asymmetric cryptographic key pair having a second private and a second public key and an associated second certificate, and wherein the second HSM is associated with a third certificate generated thereby by the first HSM, that the second public key of the second certificate was signed with the first private key by the first HSM. The first and second HSMs may be different slots of the same HSM or two separate HSMs. For example, the first HSM is located in a first computer system A and the second HSM is in a first computer system B. The first computer system B may be provided for a so-called "Coid Standby", that is to say as a replacement computer system for the first computer system A, if that fails, the computer system will include the first computer systems A and B in this case.
Nach einer Ausführungsform der Erfindung hat das Computersystem Mittel zur Sen- sierung eines Ausfalls des ersten HSMs bzw. des ersten Computersystems A, zu dem das erste HSM gehört, und Mittel zum Umschalten auf das zweite HSM bzw. das erste Computersystem B, zu dem das zweite HSM gehört. Hierdurch wird ein so genannter„Hot-Standby" Betrieb ermöglicht. Die Umschaltung von dem erstenAccording to one embodiment of the invention, the computer system has means for sensing a failure of the first HSM of the first HSM and means for switching to the second HSM and the first computer system B, respectively second HSM belongs. This enables so-called "hot-standby" operation, switching over from the first
Computersystem A auf das erste Computersystem B kann also innerhalb kürzester Zeit, beispielsweise im Bereich von Millisekunden, erfolgen, nachdem der Ausfall des ersten Computersystems A sensiert worden ist. Nach einer Ausführungsform der Erfindung sind die Mittel zur Sensierung zur Prüfung einer Time-Out-Bedingung ausgebildet. Beispielsweise wird durch die Mittel zur Sensierung überwacht, ob das Computersystem A bzw. das erste HSM auf eine Anforderung innerhalb einer vorgegebenen Zeit antwortet. Wenn dies nicht der FaI! ist, so ist die Time-Out-Bedingung nicht erfüllt, sodass auf das Computersystem B umgeschaltet wird, und die Anforderung erneut an das Computersystem B gesendet wird. Computer system A to the first computer system B can thus within a very short time, for example in the range of milliseconds, take place after the failure of the first computer system A has been sensed. According to one embodiment of the invention, the means for sensing are designed to test a time-out condition. For example, the sensing means monitors whether the computer system A resp. The first HSM responds to a request within a predetermined time. If not the FaI! is, then the time-out condition is not met, so that the computer system B is switched, and the request is sent again to the computer system B.
Nach einer Ausführungsform der Erfindung hat das Computersystem Mittel zur Last- Verteilung zwischen zumindest den Computersystemen A und B. Dies hat den Vor- teil, dass die Computersysteme A und B sowie im Bedarfsfall weitere prinzipiell gleich aufgebaute erste Computersysteme für die Verarbeitung von Anforderungen eingesetzt werden, sodass eine entsprechende große Anzahl solcher Anforderun-
gen pro Zeiteinheit durch die parallel arbeitenden Computersysteme A, B, ... abgearbeitet werden können. According to one embodiment of the invention, the computer system has means for load distribution between at least the computer systems A and B. This has the advantage that the computer systems A and B and, if necessary, further first computer systems of the same construction are used for the processing of requests so that a corresponding large number of such requests gen per unit time by the parallel computer systems A, B, ... can be processed.
Nach einer Ausführungsform der Erfindung sind die Mittel zur Last-Verteilung zur Bestimmung eines Last-Parameters für jedes der Computersysteme A, B, ... ausgebildet. Bei diesen Last-Parametern kann es sich um die Länge einer Warteschlange von zu verarbeitenden Anforderungen des betreffenden ersten Computersystems handeln, die aktuelle Auslastung des Prozessors des betreffenden ersten Computersystems oder einen anderen geeigneten Last-Parameter. Die Mittel zur Last-Verteilung sind dann so ausgebildet, dass zusätzlich an das Computersystem gerichtete Anforderungen so auf die ersten Computersysteme A, B, ... verteilt werden, dass sich die Werte der Last-Parameter der ersten Computersysteme aneinander angleichen. In einem weiteren Aspekt betrifft die Erfindung ein erstes Computersystem mitAccording to one embodiment of the invention, the means for distributing the load are designed to determine a load parameter for each of the computer systems A, B,.... These load parameters may be the length of a queue of requests to be processed by the particular first computer system, the current load of the processor of the particular first computer system, or other suitable load parameter. The means for distributing the load are then designed in such a way that additional requirements directed to the computer system are distributed to the first computer systems A, B,... Such that the values of the load parameters of the first computer systems are matched to one another. In a further aspect, the invention relates to a first computer system with
Computersystem mit Mitteln zum Empfang einer Attributspezifikation über ein Netzwerk, wobei die Attributspezifikation zumindest ein Attribut spezifiziert, Mitteln zur Authentifizierung gegenüber einem ID-Token, Mitteln zum Lesen zumindest einen Attributs aus dem ID-Token über eine gesicherte Verbindung, wobei das Lesen des zumindest einen Attributs voraussetzt, dass sich ein dem ID-Token zugeordneter Nutzer gegenüber dem ID-Token authentifiziert hat. A computer system having means for receiving an attribute specification over a network, the attribute specification specifying at least one attribute, means for authenticating against an ID token, means for reading at least one attribute from the ID token over a secure connection, wherein reading the at least one Attribute assumes that a user associated with the ID token has authenticated against the ID token.
Nach einer Ausführungsform der Erfindung kann das erste Computersystem Mittel zur Generierung einer Aufforderung an den Benutzer beinhalten. Nachdem das ers- te Computersystem die Attributspezifikation beispielsweise von dem zweiten Computersystem empfangen hat, sendet es daraufhin eine Aufforderung an das dritte Computersystem des Nutzers, sodass der Nutzer dazu aufgefordert wird, sich gegenüber dem ID-Token zu authentifizieren. Nachdem die Authentifizierung des Nutzers gegenüber dem ID-Token erfolgreich durchgeführt worden ist, erhält das erste Computersystem von dem dritten Computersystem eine Bestätigung. Daraufhin authentifiziert sich das erste Computersystem gegenüber dem ID-Token und es wird
eine sichere Verbindung zwischen dem ID-Token und dem ersten Computersystem mit einer Ende-zu-EndeΛ/erschlüsselung aufgebaut. According to one embodiment of the invention, the first computer system may include means for generating a request to the user. For example, after the first computer system receives the attribute specification from the second computer system, it sends a request to the user's third computer system, prompting the user to authenticate against the ID token. After the user's authentication against the ID token has been successfully performed, the first computer system receives an acknowledgment from the third computer system. As a result, the first computer system authenticates against the ID token and it becomes established a secure connection between the ID token and the first computer system with end-to-end encryption.
Nach einer Ausführungsform der Erfindung hat das erste Computersystem mehrere Zertifikate, die jeweils unterschiedliche Leserechte spezifizieren. Nach Empfang der Attributspezifikation wählt das erste Computersystem zumindest eines dieser Zertifikate mit den zum Lesen der spezifizierten Attribute ausreichenden Leserechten. According to one embodiment of the invention, the first computer system has a plurality of certificates each specifying different read rights. Upon receipt of the attribute specification, the first computer system selects at least one of these certificates with the read rights sufficient to read the specified attributes.
Nach einer Ausführungsform löst die vorliegende Erfindung das folgende Problem: Nach einem Ausfall eines Hardware Sicherheitsmoduls (HSM), auf dem das private Schiüsselmaterial einer Root Certificate Authority (Root-CA) für Identitäts-, Wertoder Sicherheitsdokumente, im folgenden einfach als Sicherheitsdokumente bezeichnet, gespeichert ist, müssten alle Sicherheitsdokumente ausgetauscht werden, da deren Echtheit nur mittels der Root-CA festgestellt werden kann. Dies kann im Falle landesweit ausgegebener Sicherheitsdokumente zu einem hohen Kostenausfall führen. In one embodiment, the present invention solves the following problem: After a Hardware Security Module (HSM) failure that stores the private key material of a Root Certificate Authority (Root CA) for identity, value, or security documents, hereafter referred to simply as security documents is, all security documents would have to be replaced, since their authenticity can only be determined by means of the root CA. This can lead to a high cost loss in the case of nationwide issued security documents.
Hintergrund ist, dass für diese Feststellung der Echtheit oder die Authentifizierung es auf den Sicherheitsdokumenten ein Card-Verifiable-Zertifikat (CV-Zertifikat) gibt, das in letzter Instanz von der Root Certificate Authority (Root-CA) abhängt. Alle Hersteller von Sicherheitsdokumenten müssen sich daher auf die Root-CA beziehen, wenn sie CV-Zertifikate auf den Karten anbringen. The background is that for this authenticity or authentication determination there is a card verifiable certificate (CV certificate) on the security documents, which ultimately depends on the root certificate authority (root CA). All manufacturers of security documents must therefore refer to the root CA when they apply CV certificates to the cards.
Neben der Authentifizierung ist die Root-CA auch für den Einzug von Karten (Revo- cation Service) wichtig. Öffentliche und private Schlüssel können beispielsweise von dem Hochsicherheitsmodul (HSM) erzeugt und gespeichert werden. Es wird daher nach einer Ausführungsform vorgeschlagen, rechtzeitig vor einem erwarteten Ausfall des HSM, beispielsweise auf der Grundlage der MTBF-(Mean Time Before Failure)-Angaben des Herstellers, eine Backup-Root-CA mit eigenem HSM aufzusetzen. Dies erfolgt vorteilhaft, indem der öffentliche Schlüsse! der Backup-Root-CA von der Produktiv-Root-CA signiert wird, und zwar mit dem privaten Schlüssel der Produktiv-Root-CA. in einer Zertifikatskette vom zu prüfenden Sicherheitsdokument über verschiedene CA's hinweg bis zu einer Root-CA ist dann auch
die Backup- Root-CA in der Lage, ais Root-CA zu arbeiten. Die bisherige Produktiv- Root-CA kann dann abgeschaltet werden oder die Backup-Root-CA kann als sogenanntes "Hot-Standby" arbeiten, um eine hohe Verfügbarkeit bereitzustellen. Ausführungsformen des erfindungsgemäßen ersten Computersystems sind besonders vorteilhaft, da sie in Kombination mit der Notwendigkeit der Authentifizierung des Nutzers gegenüber dem ID-Token einen Vertrauensanker für die unverfälschte digitale Identität des Nutzers bilden. Hierbei ist von besonderem Vorteil, dass dies keine vorherige Registrierung des Nutzers gegenüber dem Computersystem erfor- dert sowie auch keine zentrale Speicherung der die digitalen Identitäten bildenden Attribute der Nutzer. In addition to authentication, the root CA is also important for card insertion (revocation service). For example, public and private keys can be generated and stored by the High Security Module (HSM). It is therefore proposed according to one embodiment, set up in time for an expected failure of the HSM, for example, based on the MTBF (Mean Time Before Failure) information from the manufacturer, a backup root CA with its own HSM. This is done favorably by the public inferences! the backup root CA is signed by the productive root CA, using the private key of the productive root CA. in a certificate chain from the security document to be audited across different CA's to a root CA as well the backup root CA will be able to work as root CA. The previous productive root CA can then be switched off or the backup root CA can work as a so-called "hot standby" to provide high availability. Embodiments of the first computer system according to the invention are particularly advantageous because, in combination with the need to authenticate the user against the ID token, they provide a trust anchor for the user's unadulterated digital identity. It is of particular advantage that this does not require any prior registration of the user with respect to the computer system and also no central storage of the attributes of the users forming the digital identities.
Nach einer Ausführungsform der Erfindung empfängt das erste Computersystem zusammen mit der Attributspezifikation einen Identifikator des zweiten Computer- Systems. Mit Hilfe des Identifikators identifiziert das Computersystem das zweite Computersystem, welches die Identifikationsdienste in Anspruch nehmen möchte, um diese Dienstleistung gegenüber dem zweiten Computersystem zu vergebühren. According to one embodiment of the invention, the first computer system, together with the attribute specification, receives an identifier of the second computer system. With the aid of the identifier, the computer system identifies the second computer system that wishes to use the identification services to charge that service to the second computer system.
Nach einer Ausführungsform der Erfindung handelt es sich bei dem ersten Compu- tersystem um ein behördlich zertifiziertes Trust-Center, insbesondere ein Signaturgesetz-konformes Trust-Center. According to one embodiment of the invention, the first computer system is an officially certified trust center, in particular a signature center-compliant trust center.
Ausführungsformen der Erfindung stellen somit insbesondere im streng regulierten Umfeld eines Trustcenters einen Vorteil bereit, da der Schritt des Erzeugens und Transportierens einer Anforderung zur Zertifikatserstellung (dieses Transportieren muss in einem Trustcenter gemäß Stand der Technik manuell erfolgen) auf dem ersten HSM sowie Rücktransport zum zweiten HSM eingespart wird: Es reicht nun ein Transportieren eines Zertifikats des zweiten HSM zum Unterschreiben durch das erste HSM sowie Rücktransport zum zweiten HSM aus, so dass eine deutliche Vereinfachung bereitgestellt wird und das bereits erzeugte Zertifikat des zweiten HSM direkt weiter genutzt wird.
Nach zweiten Ausführungsformen der Erfindung wird der zweite öffentliche Schlüssel von dem zweiten HSM an das erste HSM nicht notwendigerweise als Bestandteil eines Zertifikates übertragen. Die Übertragung des zweiten Schlüssels kann gemäß der zweiten Ausführungsformen z.B. in Form einer Datei, die nur den zweiten öffent- liehen Schlüssel beinhaltet, übertragen werden. Embodiments of the invention thus provide an advantage, particularly in the tightly regulated environment of a trust center, since the step of generating and transporting a certificate creation request (this transport must be done manually in a trust center according to the prior art) on the first HSM and return transport to the second HSM It is now sufficient to transport a certificate of the second HSM for signing by the first HSM and return transport to the second HSM, so that a significant simplification is provided and the already generated certificate of the second HSM is used directly. According to second embodiments of the invention, the second public key is not necessarily transmitted from the second HSM to the first HSM as part of a certificate. The transmission of the second key can be transmitted according to the second embodiment, for example in the form of a file containing only the second public key.
Zweite Ausführungsformen der Erfindung stellen ein Verfahren zur Migration von einem ersten HSM zu einem zweiten HSM bereit, gemäß welchem dem ersten HSM ein erstes asymmetrisches kryptographisches Schlüsselpaar mit einem ersten priva- ten und einem ersten öffentlichen Schlüssel und ein erstes den ersten öffentlichen Schlüssel beinhaltendes Zertifikat zugeordnet ist, wobei das Verfahren die folgenden Schritte umfasst: Second embodiments of the invention provide a method of migrating from a first HSM to a second HSM according to which the first HSM is assigned a first asymmetric cryptographic key pair having a first private and a first public key and a first certificate containing the first public key is, the method comprising the following steps:
Erzeugung eines zweiten asymmetrischen kryptographischen Schlüsselpaars mit einem zweiten privaten und einem zweiten öffentlichen Schlüssel durch das zweite HSM, Generation of a second asymmetric cryptographic key pair with a second private and a second public key by the second HSM,
- Senden einer Anforderung mit dem zweiten öffentlichen Schlüssel von dem zweiten HSM an das erste HSM, Sending a request with the second public key from the second HSM to the first HSM,
- Erzeugung eines zweiten Zertifikats von dem ersten HSM durch Signieren des zweiten öffentlichen Schlüssels mit dem ersten privaten Schlüssel, wobei mit Hilfe des zweiten Zertifikats und des ersten Zertifikats eine Zertifikatskettenprüfung durchführbar ist. - Generating a second certificate from the first HSM by signing the second public key with the first private key, wherein using the second certificate and the first certificate, a certificate chain check is feasible.
Nach zweiten Ausführungsformen der Erfindung sind dabei das erste Zertifikat und das zweite Zertifikat beide Bestandteil der selben Zertifikatskette, die für die Zertifi- katskettenprüfung verwendet wird. Eine Zertifikatskettenprüfung kann z.B. anlässlich der Prüfung einer digitalen Signatur erfolgen. According to second embodiments of the invention, the first certificate and the second certificate are both part of the same certificate chain used for the certificate chain check. A certificate chain check can e.g. on the occasion of the verification of a digital signature.
In einem weiteren Aspekt betreffen zweite Ausführungsformen der Erfindung einIn another aspect, second embodiments of the invention relate to
Verfahren zum Lesen zumindest eines in einem ID-Token gespeicherten Attri- buts, wobei der ID-Token einem Nutzer zugeordnet ist, mit folgenden Schritten: Method for reading at least one attribute stored in an ID token, wherein the ID token is assigned to a user, with the following steps:
Authentifizierung des Nutzers gegenüber dem ID-Token,
Authentifizierung eines ersten Computersystems gegenüber dem ID- Token, Authentication of the user against the ID token, Authentication of a first computer system to the ID token,
nach erfolgreicher Authentifizierung des Nutzers und des ersten Computersystems gegenüber dem ID-Token, Lesezugriff des ersten Computersystems auf das zumin- dest eine in dem ID-Token gespeicherte Attribut zur Übertragung des zumindest einen Attributs nach dessen Signierung an ein zweites Computersystem, wobei das erste Computersystem das erste HSM bzw. das zweite HSM beinhaltet, nachdem eine Migration nach einer zweiten Ausführungsform des HSM Migrationsverfahrens durchgeführt worden ist, wobei die Authentifizierung mit Hilfe des HSM durchgeführt wird. After successful authentication of the user and the first computer system against the ID token, read access of the first computer system to the at least one stored in the ID token attribute for transmitting the at least one attribute after its signature to a second computer system, wherein the first computer system includes the first HSM and the second HSM, respectively, after a migration has been performed according to a second embodiment of the HSM migration method, wherein the authentication is performed using the HSM.
In einem weiteren Aspekt betreffen zweite Ausführungsformen der Erfindung ein Computerprogrammprodukt mit von einem Computersystem ausführbaren Instruktionen zur Durchführung eines Verfahrens nach einer der vorhergehenden zweiten Ausführungsformen des erfindungsgemäßen Verfahrens, In a further aspect, second embodiments of the invention relate to a computer program product with instructions executable by a computer system for carrying out a method according to one of the preceding second embodiments of the method according to the invention,
In einem weiteren Aspekt betreffen zweite Ausführungsformen der Erfindung ein Computersystem mit einem ersten und einem zweiten HSM, wobei dem ersten HSM ein erstes asymmetrisches kryptografisches Schlüsselpaar mit einem ersten privaten und einem ersten öffentlichen Schlüssel und ein erstes, den ersten öffentlichen Schlüssel beinhaltendes Zertifikat zugeordnet sind, wobei dem zweiten HSM ein zweites asymmetrisches kryptografisches Schlüsselpaar mit einem zweiten privaten und einem zweiten öffentlichen Schlüssel und ein zweites, den zweiten öffentlichen Schlüssel beinhaltendes Zertifikat zugeordnet sind, und wobei das zweite Zertifikat dabei den mit dem ersten privaten Schlüssel signierten zweiten öffentlichen Schlüs- sei beinhaltet. In a further aspect, second embodiments of the invention relate to a computer system having a first and a second HSM, wherein the first HSM is associated with a first asymmetric cryptographic key pair having a first private and a first public key and a first certificate containing the first public key, wherein the second HSM is associated with a second asymmetric cryptographic key pair having a second private and a second public key and a second certificate containing the second public key, and wherein the second certificate includes the second public key signed with the first private key ,
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:
Figur 1 ein Blockdiagramm einer Ausführungsform erfindungsgemäßer Figure 1 is a block diagram of an embodiment of the invention
Computersysteme,
Figur 2 ein Flussdiagramm einer Ausführungsform eines erfindungsgemäßenComputer systems FIG. 2 shows a flowchart of an embodiment of an inventive device
Verfahrens, process
Figur 3 ein Blockdiagramm einer Ausführungsform erfindungsgemäßer Com- putersysteme mit Hot-Standby-Funktionalität, FIG. 3 shows a block diagram of an embodiment of computer systems according to the invention with hot standby functionality,
Figur 4 ein Blockdiagramm einer Ausführungsform erfindungsgemäßer Computersysteme mit einer Load-Balancing-Funktionalität, Figur 5 ein Blockdiagramm einer Ausführungsform erfindungsgemäßer Computersysteme, 4 shows a block diagram of an embodiment of computer systems according to the invention with a load-balancing functionality, FIG. 5 shows a block diagram of an embodiment of computer systems according to the invention,
Figur 6 ein Flussdiagramm einer Ausführungsform eines erfindungsgemäßen FIG. 6 shows a flow chart of an embodiment of an inventive device
Verfahrens, process
Figur 7 ein Blockdiagramm weiterer Ausführungsformen erfindungsgemäßer FIG. 7 shows a block diagram of further embodiments according to the invention
Computersysteme, Computer systems
Figur 8 ein UML-Diagramm einer weiteren Ausführungsform eines erfindungs- gemäßen Verfahrens, 8 shows a UML diagram of a further embodiment of a method according to the invention, FIG.
Figur 9 die Übertragung des erstellten eines Link-Zertifikates zusammen mit der FIG. 9 shows the transmission of the created link certificate together with the
Zertifikatskette des Computersystems A an das Computersystem B. Elemente der nachfolgenden Ausführungsformen, die einander entsprechen, werden mit denselben Bezugszeichen gekennzeichnet. Certificate chain of the computer system A to the computer system B. Elements of the following embodiments, which correspond to each other, are identified by the same reference numerals.
Die Figur 1 zeigt ein erstes Computersystem A, welches als ISS oder als ID- Provider Computersystem ausgebildet sein kann. Das Computersystem A beinhaltet ein HSM 101 A, welches einen geschützten Speicherbereich 141 A aufweist, in dem ein privater Schlüssel P1 gespeichert ist. Das HSM 101 A hat ferner einen Prozessor 103A zur Ausführung von Programminstruktionen 105A.
Das Computersystem A hat ferner einen Speicher 140A, in dem ein Zertifikat 144A gespeichert sein kann. Das Zertifikat 144A beinhaltet einen öffentlichen Schlüssel 01 , der dem privaten Schlüssel P1 zugeordnet ist. Die Schlüssel P1 und 01 bil- den also ein asymmetrisches kryptografisches Schlüsselpaar einer PKI. FIG. 1 shows a first computer system A, which can be designed as an ISS or as an ID provider computer system. The computer system A includes an HSM 101 A having a protected memory area 141 A in which a private key P1 is stored. The HSM 101A further has a processor 103A for executing program instructions 105A. The computer system A further has a memory 140A in which a certificate 144A may be stored. The certificate 144A includes a public key 01 associated with the private key P1. The keys P1 and 01 thus form an asymmetrical cryptographic key pair of a PKI.
Das Computersystem A hat ferner einen Prozessor 145A zur Ausführung von Programminstruktionen 143A, durch welche beispielsweise ein Anwendungsprogramm realisiert sein kann. The computer system A further has a processor 145A for executing program instructions 143A, by means of which, for example, an application program can be implemented.
Ferner wird ein weiteres erstes Computersystem B zur Verfügung gestellt, welches prinzipiell gleich aufgebaut sein kann, wie das Computersystem A. Das HSM 101 B des Computersystems B ist zunächst noch unbenutzt und in dem geschützten Speicherbereich 141 B des HSM 101 B ist zunächst kein Schlüssel gespeichert. Furthermore, a further first computer system B is made available, which in principle can have the same structure as the computer system A. The HSM 101 B of the computer system B is initially still unused and in the protected memory area 141 B of the HSM 101 B initially no key is stored ,
Zur Migration von dem Computersystem A mit seinem HSM 101A zu dem Computersystem B mit seinem HSM 101 B kann gemäß ersten Ausführungsformen der Erfindung wie folgt vorgegangen werden: Zunächst wird durch Ausführung der Programminstruktionen 105B seitens desFor migration from the computer system A with its HSM 101A to the computer system B with its HSM 101 B, according to first embodiments of the invention, the procedure is as follows: First, by executing the program instructions 105B on the part of the
HSM 101 B des Computersystems B ein neues kryptografisches Root-Schlüsselpaar erzeugt, nämlich der zweite private Schlüssel P2 und der zweite öffentliche Schlüssel O2. Zudem erzeugt HSM 101 B des Computersystems B ein dem generierten zweiten Schlüsselpaar zugehöriges zweites Zertifikat 190B. Der private Schlüssel P2 wird in dem geschützten Speicherbereich 141 B gespeichert. Der öffentliche Schlüssel O2 und das zugehörige zweite Zertifikat, welches den zweiten öffentlichen Schlüssel beinhaltet, werden von dem Computersystem B an das Computersystem A übertragen. Dies kann über ein Netzwerk 107 oder eine andere Art der Datenverbindung erfolgen. HSM 101 B of the computer system B generates a new cryptographic root key pair, namely the second private key P2 and the second public key O2. In addition, HSM 101B of computer system B generates a second certificate 190B associated with the generated second key pair. The private key P2 is stored in the protected storage area 141B. The public key O2 and the associated second certificate including the second public key are transmitted from the computer system B to the computer system A. This can be done via a network 107 or other type of data connection.
Der öffentliche Schlüssel O2 wird in das HSM 101 A des Computersystems A zusammen mit dem zweiten Zertifikat übertragen. Daraufhin wird durch Ausführung
der Programminstruktionen 105A der öffentliche Schlüssel 02 mit dem privaten Schlüssel P1 signiert, um ein entsprechendes drittes Zertifikat 144B zu erzeugen. Bei diesem dritten Zertifikat 144B handelt es sich um ein Link-Zertifikat zu dem ersten Zertifikat 144A, sodass das dritte Zertifikat 144B für eine Zertifikatskettenprüfung eingesetzt werden kann, wobei das erste Zertifikat 144A das Vorgänger-Zertifikat in der Zertifikatskette zu dem Root-Zertifikat der PKI ist. The public key O2 is transferred to the HSM 101 A of the computer system A together with the second certificate. Thereupon by execution the program instructions 105A sign the public key 02 with the private key P1 to generate a corresponding third certificate 144B. This third certificate 144B is a link certificate to the first certificate 144A so that the third certificate chain check certificate 144B may be employed, the first certificate 144A being the predecessor certificate in the certificate chain to the PKI root certificate is.
Das dritte Zertifikat 144B wird dann z.B. über das Netzwerk 107 von dem Computersystem A auf das Computersystem B übertragen und dort in dem Speicher 140B abgespeichert. Zusätzlich können auch das erste Zertifikat 144A sowie weitere, unter Umständen seitens des Computersystems A gespeicherte Link-Zertifikate der Zertifikatskette zu dem Root-Zertifikat von dem Computersystem A an das Computersystem B übertragen werden, um diese in den Speicher 140B zu speichern. Alternativ oder zusätzlich kann ein Verzeichnisserver 109 zur Speicherung der Zertifikate der Zertifikatskette vorgesehen sein. In diesem Fall kann das erste Zertifikat 144A in dem Verzeichnisserver 109 gespeichert sein. Das dritte Zertifikat 144B wird nach dessen Generierung durch das Computersystem A beispielsweise über das Netzwerk 107 auf den Verzeichnisserver 109 hoch geladen, sodass es dort all- gemein verfügbar ist. The third certificate 144B is then sent e.g. transmitted over the network 107 from the computer system A to the computer system B and stored there in the memory 140B. In addition, the first certificate 144A as well as other link certificates of the certificate chain, possibly stored by the computer system A, can be transmitted to the root certificate from the computer system A to the computer system B in order to store them in the memory 140B. Alternatively or additionally, a directory server 109 may be provided for storing the certificates of the certificate chain. In this case, the first certificate 144A may be stored in the directory server 109. The third certificate 144B is, after its generation by the computer system A, for example, uploaded via the network 107 to the directory server 109, so that it is generally available there.
Nach der Erzeugung des dritten Zertifikats 144B und dessen Übertragung auf Computersystem B ist das Computersystem B für einen Betrieb als ISS bzw. ID-Provider Computersystem einsatzbereit. Das Computersystem B kann für einen so genann- ten Cold-Standby-Betrieb ais Ersatz für das Computersystem A bereitgehalten werden, um an die Stelle des Computersystems A zu treten, sobald dieses ausfällt. Es kann auch so vorgegangen werden, dass das Computersystem A vor Ablauf seiner zur erwartenden Lebensdauer durch das Computersystem B ersetzt wird. Nach zweiten Ausführungsformen der Erfindung wird zur Migration von dem Computersystem A mit seinem HSM 101 A zu dem Computersystem B mit seinem HSM 101 B wie folgt vorgegangen:
Zunächst wird durch Ausführung von Programminstruktionen 105B seitens des HSM 101 B des Computersystems B ein neues kryptografisches Schlüsselpaar erzeugt, nämlich der private Schlüssel P2 und der öffentliche Schlüssel 02. Der priva- te Schlüssel P2 wird in dem geschützten Speicherbereich 141 B gespeichert. Der öffentliche Schlüssel 02 wird von dem Computersystem B an das Computersystem A übertragen, wobei das zweite Computersystem kein zweites Zertifikat erstellt und wobei der zweite öffentliche Schlüssels nicht als Bestandteil des zweiten Zertifikates übertragen wird. Die Übertragung des zweiten öffentlichen Schlüssels kann über ein Netzwerk 107 oder eine andere Art der Datenverbindung erfolgen. After the generation of the third certificate 144B and its transfer to computer system B, the computer system B is ready for operation as an ISS or ID provider computer system. The computer system B may be kept ready for so-called cold-standby operation as a replacement for the computer system A to replace the computer system A as soon as it fails. It is also possible to proceed in such a way that the computer system A is replaced by the computer system B before expiry of its expected service life. According to second embodiments of the invention, the migration from the computer system A with its HSM 101 A to the computer system B with its HSM 101 B proceeds as follows: First, by executing program instructions 105B by the HSM 101B of the computer system B, a new cryptographic key pair is generated, namely, the private key P2 and the public key 02. The private key P2 is stored in the protected storage area 141B. The public key 02 is transmitted from the computer system B to the computer system A, wherein the second computer system does not create a second certificate and wherein the second public key is not transmitted as part of the second certificate. The transmission of the second public key may be via a network 107 or other type of data connection.
Der öffentliche Schlüssel 02 wird in einem weiteren Schritt in das HSM 101 A des Computersystems A eingegeben. Daraufhin wird durch Ausführung der Programminstruktionen 105A der öffentliche Schlüssel 02 mit dem privaten Schlüssel P1 sig- niert, um ein zweites Zertifikat zu erzeugen. Bei diesem zweiten Zertifikat handelt es sich um ein Link-Zertifikat zu dem ersten Zertifikat, sodass das zweite Zertifikat für eine Zertifikatskettenprüfung eingesetzt werden kann, wobei das erste Zertifikat das Vorgänger-Zertifikat in der Zertifikatskette zu dem Root-Zertifikat der PKI ist. Das gemäß den zweiten Ausführungsformen der Erfindung erzeugte zweite Zertifikat wird dann z.B. über das Netzwerk 107 von dem Computersystem A auf das Computersystem B übertragen und dort in dem Speicher 140B abgespeichert. Zusätzlich können auch das erste Zertifikat sowie weitere, unter Umständen seitens des Computersystems A gespeicherte Link-Zertifikate der Zertifikatskette zu dem Root-Zertifikat von dem Computersystem A an das Computersystem B übertragen werden, um diese in den Speicher 140B zu speichern. The public key 02 is entered in a further step in the HSM 101 A of the computer system A. Then, by executing the program instructions 105A, the public key 02 is signed with the private key P1 to generate a second certificate. This second certificate is a link certificate to the first certificate, so the second certificate can be used for a certificate chain check, where the first certificate is the predecessor certificate in the certificate chain to the PKI root certificate. The second certificate generated according to the second embodiments of the invention is then e.g. transmitted over the network 107 from the computer system A to the computer system B and stored there in the memory 140B. In addition, the first certificate as well as other link certificates of the certificate chain, possibly stored by the computer system A, can be transmitted to the root certificate from the computer system A to the computer system B in order to store them in the memory 140B.
Die Figur 2 zeigt ein entsprechendes Flussdiagramm einer ersten Ausführungsform des erfindungsgemäßen Verfahrens.
Bei Inbetriebnahme des Computersystems A hat dieses ein erstes asymmetrisches kryptografisches Schüsselpaar bestehend aus dem Schlüssel P1 und dem öffentlichen Schlüssel 01 , wobei der öffentliche Schlüssel 01 in dem Zertifikat A der PKI beinhaltet ist (Schritt 10). Das neue HSM des Computersystems B erstellt, falls noch nicht auf dem neuen HSB vorhanden, ein zweites asymmetrisches kryptografisches Schüsselpaar bestehend aus dem zweiten privaten Schlüssel P2 und dem zweiten öffentlichen Schlüssel 02, wobei neben dem zweiten asymmetrischen Schlüsselpaar auch ein zweites Zertifikat 190B erzeugt wird, welches den zweiten öffentlichen Schlüssel 02 beinhaltet (Schritt 12). In dem Schritt 14 sendet das Computersystem B das zweite Zertifikat zusammen mit dessen zweiten öffentlichen Schlüssel 02 an das Computersystem A. Daraufhin erzeugt das HSM des Computersystems A in dem Schritt 16 ein drittes Zertifikat C für das Schlüsselpaar P2, 02, indem es den öffentlichen Schlüssel 02 mit seinem privaten Schlüssel P1 signiert. In dem Schritt 18 wird das dritte Zertifikat C sowie ggf. weitere Zertifikate einer Zertifikatskette zu einem Root-Zertifikat der PKI von dem Computersystem A an das Computersystem B übertragen. Alternativ oder zusätzlich werden diese Zertifikate in einem Verzeichnisserver gespeichert. In dem Schritt 20 kann dann das Computersystem B an die Stelle des Computersystems A treten und das Computersystem A kann abgeschaltet werden. FIG. 2 shows a corresponding flow chart of a first embodiment of the method according to the invention. When the computer system A is put into operation, it has a first asymmetrical pair of cryptographic keys consisting of the key P1 and the public key 01, the public key 01 being included in the certificate A of the PKI (step 10). The new HSM of the computer system B creates, if not yet present on the new HSB, a second asymmetric cryptographic pair of keys consisting of the second private key P2 and the second public key 02, wherein in addition to the second asymmetric key pair and a second certificate 190B is generated, which includes the second public key 02 (step 12). In step 14, the computer system B sends the second certificate along with its second public key 02 to the computer system A. Then, in step 16, the HSM of the computer system A generates a third certificate C for the key pair P2, 02 by using the public key 02 signed with his private key P1. In step 18, the third certificate C and possibly further certificates of a certificate chain are transmitted to a root certificate of the PKI from the computer system A to the computer system B. Alternatively or additionally, these certificates are stored in a directory server. In step 20, computer system B may then take the place of computer system A and computer system A may be turned off.
Statt einer Migration von dem Computersystem A zu dem Computersystem B kann auch lediglich eine Migration von dem HSM 101 A zu dem HSM 101 B stattfinden, wobei das HSM 101 A und das HSM 101 B zu demselben ersten Computersystem gehören. Beispielsweise handelt es sich bei dem HSM 101 A und dem HSM 101 B um verschiedene Slots desselben HSM. Instead of migrating from computer system A to computer system B, only migration from HSM 101 A to HSM 101 B may take place, with HSM 101 A and HSM 101 B belonging to the same first computer system. For example, the HSM 101 A and the HSM 101 B are different slots of the same HSM.
Der Anlass für eine Migration von dem ersten HSM 101 A zu dem zweiten HSM 101 B kann auch sein, dass z.B. das Programm 143A durch ein neues Programm ersetzt wird, welches andere Daten strukturen voraussetzt. Die Migration muss also nicht zwingend mit einer Veränderung der Hardware einhergehen.
Bei den hier betrachteten Ausführungsformen handelt es sich z.B. um ein Zwei- Schichten-Systeme. Es sind aber auch Ausführungsformen mit mehr als zwei Schichten möglich, insbesondere ein n-Schichten-System, wobei n jede beliebige natürliche Zahl sein kann. Insbesondere kann die Zertifikatskette eine Document Verifying Certificate Authority (DVCA) beinhalten. The reason for a migration from the first HSM 101 A to the second HSM 101 B may also be that, for example, the program 143A is replaced by a new program that requires other data structures. The migration does not necessarily have to be accompanied by a change in the hardware. The embodiments considered here are, for example, a two-layer systems. However, embodiments with more than two layers are also possible, in particular an n-layer system, where n can be any natural number. In particular, the certificate chain may include a Document Verifying Certificate Authority (DVCA).
Nach einer weiteren Ausführungsform sind die Computersysteme A und B insgesamt als HSMs ausgebildet. According to another embodiment, the computer systems A and B are formed overall as HSMs.
Die Figur 3 zeigt eine Ausführungsform der Erfindung, bei der die Computersysteme A und B in einem sogenannten Hot-Standby-Betrieb betrieben werden können. Hierzu sind die Computersysteme A und B über ein Hot-Standby-Modul 172 mit einem Netzwerk 116 verbunden, über das z. B. eine Anforderung 168 zur Erbringung einer kryptografischen Dienstleistung, wie z.B. der Erzeugung einer Signatur, der Prüfung einer Signatur oder für das Auslesen von Attributen aus einem ID-Token (vgl. hierzu die Ausführungsformen der Figuren 5 bis 8) empfangen werden kann. FIG. 3 shows an embodiment of the invention in which the computer systems A and B can be operated in a so-called hot standby mode. For this purpose, the computer systems A and B are connected via a hot standby module 172 to a network 116, via the z. For example, a request 168 for providing a cryptographic service, such as e.g. the generation of a signature, the verification of a signature or for the reading out of attributes from an ID token (see the embodiments of Figures 5 to 8) can be received.
Das Hot-Standby-Modul 172 beinhaltet einen Prozessor 174 zur Ausführung von Programminstruktionen 176 und einen Schalter 178, der hardware- und/oder softwaretechnisch realisiert sein kann. Bei dem Schalter 178 kann es sich um einen sogenannten Koppelknoten, insbesondere einen Switch handeln. Das Hot-Standby- Modul 172 kann so ausgebildet sein, dass hieran neben dem Computersystem A und B weitere entsprechende Computersysteme angeschlossen werden können. The hot standby module 172 includes a processor 174 for executing program instructions 176 and a switch 178, which may be hardware and / or software implemented. The switch 178 may be a so-called coupling node, in particular a switch. The hot-standby module 172 can be designed so that next to the computer system A and B further corresponding computer systems can be connected thereto.
Durch Ausführung der Programminstruktionen 176 wird durch das Hot-Standby- Modul 172 sensiert, ob das Computersystem A in Betrieb ist, oder ausgefallen ist. Solange das Computersystem A nicht ausgefallen ist, ist der Schalter 178 so geschaltet, dass die Anforderungen, die über das Netzwerk 116 empfangen werden, an das Computersystem A zur Verarbeitung weitergeleitet werden, insbesondere auch die Anforderung 168. Sobald durch das Hot-Standby-Modul 172 sensiert wird, dass das Computersystem A ausgefallen ist, wird durch Ausführung der Programm-
Instruktionen 176 ein Schaltsignal generiert, sodass der Schalter 178 umschaltet, und sodass die im Weiteren über das Netzwerk 116 empfangenen Anforderungen nicht mehr an das Computersystem A, sondern an das Computersystem B weitergeleitet werden. By executing the program instructions 176, the hot standby module 172 senses whether the computer system A is operating or has failed. As long as the computer system A has not failed, the switch 178 is switched so that the requests received over the network 116 are forwarded to the computer system A for processing, in particular the request 168. Once through the hot standby module 172 is sensed that computer system A has failed, execution of the program Instructions 176 generates a switching signal, so that the switch 178 switches, and so that the further received via the network 116 requests are no longer forwarded to the computer system A, but to the computer system B.
Die Programminstruktionen 176 können so ausgebildet sein, dass diese eine Time- Out-Bedingung überprüfen, um festzustellen, ob das Computersystem A noch im Betrieb ist. Beispielsweise wird hierzu mit der Weiterleitung der Anforderung 168 über den Schalter 178 an das Computersystem A ein Timer gestartet. Wenn das Computersystem A auf die Anforderung 168 innerhalb einer vorgegebenen Zeit antwortet, so bedeutet dies, dass das Computersystem A in Betrieb ist. Antwortet das Computersystem A hingegen nicht innerhalb des vorgegebenen Zeitintervalls auf die Anforderung 168, so bedeutet dies, dass das Computersystem A nicht mehr korrekt arbeitet. Es wird dann durch Ausführung der Programminstruktionen 176 das Schaltsignal zum Umschalten des Schalters 178 generiert. The program instructions 176 may be arranged to check a time-out condition to determine if the computer system A is still operating. For example, this is started with the forwarding of the request 168 via the switch 178 to the computer system A, a timer. If the computer system A responds to the request 168 within a predetermined time, this means that the computer system A is in operation. On the other hand, if the computer system A does not respond to the request 168 within the predetermined time interval, this means that the computer system A is no longer working correctly. It is then generated by execution of the program instructions 176, the switching signal for switching the switch 178.
Das Hot-Standby-Modul 172 kann einen Pufferspeicher beinhalten, in dem die zuletzt an das Computersystem A weitergeleiteten Anforderungen in Kopie gespeichert sind. Sobald eine in dem Pufferspeicher gespeicherte Anforderung von dem Computersystem A abgearbeitet worden ist, wird diese Anforderung aus dem Pufferspeicher gelöscht. Sobald ein Ausfall des Computersystems A sensiert wird, werden die in dem Pufferspeicher gespeicherten Anforderungen erneut weitergeleitet, und zwar dann an das Computersystem B, damit diese Anforderungen nicht verloren gehen. The hot standby module 172 may include a buffer memory in which the requests last forwarded to the computer system A are stored in copy. Once a request stored in the buffer memory has been processed by the computer system A, that request is deleted from the buffer memory. Once a failure of the computer system A is sensed, the requests stored in the buffer memory are forwarded again, and then to the computer system B, so that these requirements are not lost.
Die Figur 4 zeigt eine weitere Ausführungsform der Erfindung, bei der die Computersysteme A und B des erfindungsgemäßen Computersystems in einer Load- Balancing Konfiguration verschaltet sind. Hierzu ist ein Load-Balancing Modul 182 vorgesehen. Das Load-Balancing Modul 182 hat einen Prozessor 184 zur Ausfüh- rung von Programminstruktionen 186. Ferner hat das Load-Balancing Modul 182 einen Speicher 180 zur Speicherung je eines Last-Parameters für die Computersys-
teme A und B sowie gegebenenfalls weitere an das Load-Balancing Modul 182 angeschlossener Computersysteme, auf welche die Last zu verteilen ist. FIG. 4 shows a further embodiment of the invention, in which the computer systems A and B of the computer system according to the invention are interconnected in a load-balancing configuration. For this purpose, a load-balancing module 182 is provided. The load balancing module 182 has a processor 184 for executing program instructions 186. Furthermore, the load balancing module 182 has a memory 180 for storing one load parameter for the computer system. A and B and possibly other connected to the load balancing module 182 computer systems to which the load is to be distributed.
Durch Ausführung der Programminstruktionen 186 werden die über das Netz- werk 116 empfangenen Anforderungen, insbesondere die Anforderung 168, entweder an das Computersystem A oder das Computersystem B weitergeieitet, um die Gesamtlast zwischen den Computersystemen A und B zu verteilen. Zur Verteilung der Last werden durch Ausführung der Programminstruktionen 186 beispielsweise für das Computersystem A ein Last-Parameter LA und für das Computersystem B ein Last-Parameter LB berechnet und in dem Speicher 180 gespeichert. Der Last- Parameter LA kann beispielsweise so bestimmt werden, dass die Anzahl der in einem zurückliegenden Zeitintervall einer vorbestimmten Länge an das Computersystem A weitergeleiteten Anforderungen in die Bestimmung des Last-Parameters LA eingeht. Hierbei können die Anforderungen eine unterschiedliche Gewichtung ha- ben, je nach deren Inhalt. Entsprechend verhält es sich für den Last-Parameter LB. By executing the program instructions 186, the requests received over the network 116, in particular the request 168, are forwarded to either the computer system A or the computer system B to distribute the overall load between the computer systems A and B. To distribute the load, a load parameter LA is computed by executing the program instructions 186 for example for the computer system A and a load parameter LB is stored for the computer system B and stored in the memory 180. The load parameter LA can be determined, for example, such that the number of requests forwarded to the computer system A in a past time interval of a predetermined length is included in the determination of the load parameter LA. In this case, the requirements may have a different weighting, depending on their content. The same applies to the load parameter LB.
Wenn eine zusätzliche Anforderung 168 über das Netzwerk 116 empfangen wird, so wird durch Ausführung der Programminstruktionen 186 auf die Last-Parameter LA und LB zugegriffen, um die Anforderung 168 an dasjenige der Computersysteme A und B mit dem geringeren Last-Parameter weiterzuleiten. When an additional request 168 is received over the network 116, the execution of the program instructions 186 accesses the load parameters LA and LB to forward the request 168 to that of the computer systems A and B with the lesser load parameter.
Die Figur 5 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 Per- sonal Digital Assistant, 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. Das Nutzer-Computersystem 100 hat zumindest einen Prozessor 110 zur Ausführung von Programminstruktionen 112 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. FIG. 5 shows a user computer system 100 of a user 102. The user computer system 100 may be a personal computer, a portable computer such as a laptop or palmtop computer, a personal digital assistant, a mobile telecommunication device , in particular a smart phone, or the like act. The user computer system 100 has an interface 104 for communicating with an ID token 106 having a corresponding interface 108. The user computer system 100 has at least one processor 110 for executing program instructions 112 and a network interface 114 for Communication over a Network 116. The network may be a computer network, such as the Internet.
Der ID-Token 106 hat einen elektronischen Speicher 118 mit geschützten Speicher- bereichen 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 Merkmai des Nut- zers 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 memory areas 120, 122 and 124. The protected memory area 120 serves to store a reference value which is required for the authentication of the user 102 with respect to the ID token 106. 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 can be used to authenticate the user to the ID token 106 ,
Der geschützte Bereich 122 dient zur Speicherung eines privaten Schlüssels und der geschützte Speicherbereich 124 dient zur Speicherung von Attributen, zum Bei- spie! 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 serves to store a private key and the protected memory area 124 serves to store attributes, for example! of the user 102, such as its name, place of residence, date of birth, gender, and / or attributes pertaining to the ID token itself, such as the institution that created or issued the ID token, the validity period of the ID Tokens, 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, beispielsweise nach dem X.509 Standard. The electronic memory 118 may further include a memory area 126 for storing a certificate. The certificate includes a public key associated with the private key stored in the protected storage area 122. 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 (vgl. Verzeichnisserver 109 der Fig. 1). Ferner kann in dem Speicherbereich 123 ein Root-Zertifikat der PKI gespeichert sein. Das Root-Zertifikat wird z.B. anlässlich einer Personalisierung des ID-Tokens 106 dort gespeichert.
Der ID-Token 106 hat einen Prozessor 128. Der Prozessor 128 dient zur Ausführung von Programminstruktionen 130, 132 und 134. Die Programm instruktionen 130 dienen zur Nutzerauthentifizierung, d.h. zur Authentifizierung des Nutzers 102 ge- genüber dem ID-Token. The certificate does not necessarily have to be stored in the electronic memory 118 of the ID token 106. Alternatively or additionally, the certificate may also be stored in a public directory server (see directory server 109 of FIG. Furthermore, a root certificate of the PKI may be stored in the memory area 123. The root certificate is stored there, for example, during a personalization of the ID token 106 there. 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 to authenticate the user 102 in relation to 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 PlN übereinstimmt, gilt der Nutzer 102 als authentifiziert. Alternativ wird ein biometrisches Merkmal des Nutzers 102 erfasst Beispielsweise hat der ID-Token 106 hierzu einen Fingerabdrucksensor oder ein 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 Speicher- bereich 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. In a PIN embodiment, the user 102 inputs his PIN to his authentication in the ID token 106, for example via the user computer system 100. Execution of the program instructions 130 then accesses the protected memory area 120 to store the entered PIN with the PIN to compare there stored reference value of the PIN. In the event that the entered PIN matches the reference value of the PlN, the user 102 is considered authenticated. Alternatively, a biometric feature of the user 102 is detected. For example, the ID token 106 has a fingerprint sensor or a fingerprint sensor is connected to the user's computer system 100. The biometric data acquired by the user 102 is compared to the biometric reference data stored in the protected memory area 120 by execution of the program instructions 130 in this embodiment. If the biometric data acquired by the user 102 sufficiently matches the biometric reference data, the user 102 is considered authenticated.
Die Programminstruktionen 134 dienen zur Ausführung der den ID-Token 106 be- treffenden Schritte eines kryptographischen Protokolls zur Authentifizierung eines ID-Provider-Computersystems 136 gegenüber dem ID-Token 106. Bei dem ID- Provider-Computersystem 136 kann es sich um das erste Computersystem A oder B gemäß der Ausführungsform der Fig. 1 handeln oder um die mit dem Hot-Standby Modul 172 gemäß der Ausführungsform der Fig. 3 oder um die mit dem Load- Balancing Modul 182 der Ausführungsform der Fig. 4 geschalteten Computersysteme A und B. Bei dem kryptographischen Protokoll kann es sich um ein Challenge-
Response-Protokoll basierend auf einem symmetrischen Schlüssel oder einem asymmetrischen Schiüsselpaar handeln. The program instructions 134 are used to execute the steps of a cryptographic protocol relating to the ID token 106 for authenticating an ID provider computer system 136 to the ID token 106. The ID provider computer system 136 may be the first computer system 1 or to the computer systems A and B connected to the hot standby module 172 according to the embodiment of FIG. 3 or to the load balancing module 182 of the embodiment of FIG. 4. The cryptographic protocol may be a challenge Act response protocol based on a symmetric key or an asymmetrical pair of keys.
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 I D-Provider-Computersystem 136 gegenüber dem ID-Token und weist dadurch seine Leseberechtigung zum Lesen der in dem ge- schü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. Die Programminstruktionen 132 dienen zur Ende-zu-Ende-Verschlüsse!ung 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 bei- spielsweise anlässlich der Ausführung des kryptographischen Protokolls zwischen dem ID-Token 106 und dem ID-Provider-Computersystem 136 vereinbart wird. 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). By successfully executing the cryptographic protocol, the I D provider computer system 136 authenticates to the ID token, thereby verifying its readability to read the attributes stored in the protected memory area 124. The authentication may also be mutually, i. also, the ID token 106 must then authenticate to the ID provider computer system 136 according to the same or another cryptographic protocol. The program instructions 132 are for end-to-end locking of data transmitted between the ID token 106 and the ID provider computer system 136, but at least the attributes read from the protected memory area 124 by the ID provider computer system 136 , For the end-to-end encryption, a symmetric key may be used, which is agreed upon, for example, during the execution of the cryptographic protocol between the ID token 106 and the ID provider computer system 136.
Alternativ zu der in der Figur 5 dargestellten Ausführungsform kann das Nutzer- Computersystem 100 mit seiner Schnittstelle 104 nicht unmittelbar mit der Schnitt- steile 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. Das ID-Provider-Computersystem 136 hat eine Netzwerk-Schnittstelle 138 zurAs an alternative to the embodiment shown in FIG. 5, the user computer system 100 with its interface 104 can not communicate directly with the interface 108, but via a reading device for the ID token 106 connected to the interface 104. Via this reading device, such as For example, a so-called class 2 smart card terminal, the PIN can also be entered. The ID provider computer system 136 has a network interface 138 for
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. Der Speicher 140 ist Teil eines ersten HSM des ID-Provider-Computersystems 136, um den privaten Schlüssel 142 sicher zu speichern. Auch bei diesem Zertifikat kann es sich beispielsweise um ein Zertifikat nach einem PKI-Standard, wie zum Beispie! X.509 handeln. Communication via the Network 116. The ID provider computer system 136 further has a memory 140 in which a private key 142 of the ID provider Computer system 136 and the corresponding certificate 144 is stored. The memory 140 is part of a first HSM of the ID provider computer system 136 to securely store the private key 142. This certificate can also be a certificate according to a PKI standard, for example! X.509 act.
Wenn für das ID-Provider-Computersystem 136 ein Backup durch ein prinzipiell gleich aufgebautes Ersatz-ID-Provider-Computersystem geschaffen werden soll, so wird beispielsweise so vorgegangen, dass das Ersatz-ID-Provider-Computersystem mit dem zweiten HSM an das Netzwerk 116 angeschlossen wird. Für das zweite HSM wird dann ein zweites Schlüsselpaar mit zugehörigem zweiten Zertifikat 190B erzeugt (Root-Schlüsselpaar mit Zertifikat oder mit dem Root-Zertifikat durch eine Zertifikatskette verbundenes Zertifikat auf der n-ten Hierarchieebene) und von dem Ersatz-ID-Provider-Computersystem wird das zweite Zertifikat mit dem zugehören- den zweiten öffentlichen Schlüssel des zweiten Schlüsseipaars an das ID-Provider- Computersystem 136 gesendet. Das erste HSM For example, if the ID provider computer system 136 is to be backed up by an essentially identical replacement ID provider computer system, then the replacement ID provider computer system with the second HSM is sent to the network 116 is connected. For the second HSM, a second key pair with associated second certificate 190B is then generated (root key pair with certificate or certificate connected to the root certificate by a certificate chain at the nth hierarchical level) and by the replacement ID provider computer system the second certificate with the associated second public key of the second key pair is sent to the ID provider computer system 136. The first HSM
erzeugt dann ein drittes Zertifikat durch Signieren des zweiten öffentlichen Schlüssels mit dem ersten privaten Schiüssei 142, wobei eine Zertifikatsprüfung des zweiten Zertifikats mittels einer Zertifikatskette, die das erste und dritte Zertifikat enthält, durchführbar ist. Nach bevorzugten Ausführungsformen ist dabei eine Zertifikatskettenprüfung vom dritten Zertifikat bis zum Wurzelzertifikat des ersten Zertifikats durchführbar. Die ersten und dritten Zertifikate werden z.B. auf einem öffentlichen Verzeichnisserver gespeichert. Alternativ oder zusätzlich werden die ersten und dritten Zertifikate und ggf. weitere für eine Zertifikatskettenprüfung erforderliche Zertifi- kate von dem ID-Provider-Computersystem 136 an das Ersatz- 1 D-Provider- Computersystem gesendet und dort gespeichert. then generates a third certificate by signing the second public key with the first private key 142, wherein a certificate check of the second certificate by means of a certificate chain containing the first and third certificate is feasible. In accordance with preferred embodiments, a certificate chain check from the third certificate to the root certificate of the first certificate can be carried out. The first and third certificates are e.g. stored on a public directory server. Alternatively or additionally, the first and third certificates and possibly further certificates required for a certificate chain check are sent by the ID provider computer system 136 to the replacement 1 D provider computer system and stored there.
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. 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 I D-Provider- Computersystem 136 vereinbart worden ist. Prinzipiell kann jedes an sich vor be- kannte Verfahren zur Vereinbarung des symmetrischen Schlüssels für die Ende-zuEnde-Verschlüsselung verwendet werden, wie zum Beispiel ein Diffie-Hellman- Schlüsselaustausch. The ID provider computer system 136 further has at least one processor 145 for executing program instructions 146 and 148. By executing the program instructions 146, the steps of the cryptographic protocol concerning the ID provider computer system 136 are executed. Overall, therefore, the cryptographic protocol by execution of the program instructions 134th implemented by the processor 128 of the ID token 106 and by execution of the program instructions 146 by the processor 145 of the ID provider computer system 136. The program instructions 148 are used to implement the end-to-end encryption on the ID provider computer system 136 side, for example, based on the symmetric key that is present during the execution of the cryptographic protocol between the ID token 106 and the I D 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 I D-Provider-Computersystem 136 befindet sich vorzugsweise in einer beson- ders geschützten Umgebung, insbesondere in einem so genannten Trust-Center, sodass das I D-Provider-Computersystem 136 in Kombination mit der Notwendigkeit der Authentifizierung des Nutzers 102 gegenüber dem ID-Token 106 den Vertrauensanker für die Authentizität der aus dem ID-Token 106 ausgelesenen Attribute bildet. The I D provider computer system 136 is preferably located in a specially protected environment, in particular in a so-called trust center, so that the I D provider computer system 136 in combination with the need for authentication of the user 102 against the ID Token 106 forms the trust anchor for the authenticity of the attributes read from ID token 106.
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 configured to receive an order or order for a service or product, particularly an online service. For example, the user 102 may open an account online with a bank via the network 116, or may use other financial or banking services. The service computer system 150 may also be embodied as an online store, such that the user 102 may, for example, purchase a mobile phone or the like online. Further, the service computer system 150 may also be configured to provide digital content, such as for downloading 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 for this purpose a network interface 152 for connection to the network 116. Furthermore, the service computer system 150 has at least one processor 154 for executing program instructions 156. By executing the program instructions 156, for example, dynamic HTML pages are generated, via 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 type of product or service ordered or ordered, the service computer system 150 must review one or more attributes of the user 102 and / or its ID token 106 based on one or more predetermined criteria. Only if this check is passed will the order or order of the user 102 be 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, to open a bank account or purchase a mobile phone with a related contract, it is required that the user 102 reveal his identity to the service computer system 150 and that this identity be verified. In the prior art, for example, the user 102 has to present his identity card for this purpose. This process is replaced by the reading of the digital identity of the user 102 from its ID token 106.
Je nach Anwendungsfali 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. However, depending on the application, the user 102 may not have to disclose his identity to the service computer system 150, but the message, for example, is sufficient for only one of the attributes. For example, the user 102 may provide evidence, via one of the attributes, that he belongs to a particular group of people who are authorized to access data stored on the service computer system 150. For example, such a criterion may be a minimum age of the user 102 or the affiliation of the user 102 to a group of people having access to certain confidential data.
Zur Inanspruchnahme des von dem Dienst-Computersystem 150 zur Verfügung gestellten Dienstes wird wie folgt vorgegangen: To take advantage of the service provided by the service computer system 150, the procedure is as follows:
1. Authentifizierung des Nutzers 102 gegenüber dem 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 Merkmai des Nutzers 102 zu dessen Authentifizierung verwendet wird, wie oben beschrieben. 1. Authentication of the user 102 against the ID token 106. The user 102 authenticates himself to the ID token 106. In an implementation with a PIN, the user 102 for this purpose enters his PIN, for example via the user computer system 100 or a chip card terminal connected thereto. By executing the program instructions 130, the ID token 106 then checks the correctness of the entered PIN. If the entered PIN matches the reference value of the PIN stored in the protected memory area 120, then the user 102 is considered authenticated. An analogous procedure can be used if a biometric feature of the user 102 is used for its authentication, as described above.
2. Authentifizierung des I D-Provider-Computersystems 136 gegenüber dem ID- Token 106. 2. Authentication of the I D provider computer system 136 against 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 I D-Provider-Computersystem 136 sein Zertifikat 144 über diese Verbindung an den ID-Token 106 oder das Zertifikat 144 wird aus einem Verzeichnisserver (vgl. Verzeichnisserver 109 der Fig. 1) abgerufen. Wenn es sich bei dem I D-Provider-Computersystem 136 um das erste Computer- System A handelt, wird dementsprechend das Zertifikat 144A an den ID-Token 106 übertragen, wenn es sich hingegen um das erste Computersystem B handelt, wird das Zertifikat 144B an den ID-Token 106 übertragen. Zusätzlich können jeweils ein oder mehrere weitere Zertifikate für die Durchführung einer Zertifikatskettenprüfung an den ID-Token 106 übertragen werden. 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 I D-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 I D-Provider-Computersystem 136 entschlüs- seit das Chiffrat mit Hilfe seines privaten Schlüssels 142 und erhält so die Zufallszahl. Die Zufallszah! 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 I D-Provider-Computersystem 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 Zufaliszahi kann als symmetri- scher Schlüssel für die Ende-zu-Ende Verschlüsselung verwendet werden. For this purpose, a connection is established between the ID token 106 and the ID provider computer system 136 via the user computer system 100 and the network 116. For example, the I D provider computer system 136 transmits its certificate 144 over this connection to the ID token 106 or the certificate 144 is retrieved from a directory server (see Directory Server 109 of Figure 1). Accordingly, if the I D provider computer system 136 is the first computer system A, the certificate 144A is transmitted to the ID token 106, but if it is the first computer system B, the certificate 144B becomes transferred to the ID token 106. In addition, one or more further certificates for carrying out a certificate chain check can each be transmitted to the ID token 106. The program instructions 134 then generate a so-called challenge, ie, for example, a random number. This random number is encrypted with the public key of the I D provider computer system 136 contained in the certificate 144. The resulting cipher is sent from the ID token 106 over the connection to the ID provider computer system 136. The I D provider computer system 136 decrypts the ciphertext using its private key 142 and thus obtains the random number. The randomness! sends the ID provider computer system 136 back to the ID token 106 over the connection. By executing the program instructions 134, there is checked whether the random number received from the I D provider computer system 136 matches the originally generated random number, ie, the challenge. If so, the ID provider computer system 136 is deemed authenticated to the ID token 106. The Zufaliszahi can be used as a symmetric key for end-to-end encryption.
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 aus- gelesen und durch Ausführung der Programminstruktionen 132 verschlüsselt.3. After the user 102 has successfully authenticated against the ID token 106, and after the ID provider computer system 136 has successfully authenticated against the ID token 106, the ID provider computer system 136 obtains read permission to read; one, several or all of the attributes stored in the protected memory area 124. On the basis of a corresponding read command, which the ID provider computer system 136 sends via the connection to the ID token 106, the requested attributes are read from the protected memory area 124 and encrypted by execution of the program instructions 132.
Die verschlüsselten Attribute werden über die Verbindung an das I D-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. The encrypted attributes are transmitted via the connection to the I D provider computer system 136 and decrypted there by execution of the program instructions 148. As a result, the ID provider computer system 136 receives knowledge of the attributes read from the ID token 106.
Diese Attribute werden von dem ID-Provider-Computersystem mit Hilfe seines Zertifikats 144 signiert und über das Nutzer-Computersystem 100 oder direkt an das Dienst-Computersystem 150 übertragen. 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. These attributes are signed by the ID provider computer system using its certificate 144 and transmitted via the user computer system 100 or directly to the service computer system 150. This notifies the service computer system 150 of the attributes read from the ID token 106 so that the service computer system 150 can check these attributes against the predetermined one or more criteria, and thereafter, if necessary, the service requested by the user 102 to provide.
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. The need to authenticate the user 102 to the ID token 106 and to authenticate the ID provider computer system 136 against the ID token 106 provides the necessary trust anchor so that the service computer system 150 can be sure that it has been provided by the ID Provider computer system 136 notified attributes of the user 102 are true and not distorted.
Je nach Ausführungsform kann die Reihenfolge der Authentifizierung unterschied- lieh 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 i D-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 the user 102 first has to authenticate against the ID token 106 and subsequently the ID provider computer system 136. However, it is also fundamentally possible for the iD provider computer system 136 to be initially opposite to the ID Token 106 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 Start der Programminstruktionen 132 und 134 und damit die Authentifizierung des I D-Provider-Computersystems 136. For example, in the first case, the ID token 106 is configured to be enabled by the user 102 only by entering a correct PIN or biometric feature. Only this activation allows the start of the program instructions 132 and 134 and thus the authentication of the I D provider computer system 136th
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. 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 I D-Provider-Computersystems 136 nicht erforderlich ist. In the second case, a start of the program instructions 132 and 134 is already possible if the user 102 has not yet authenticated against the ID token 106. In this case, for example, the program instructions 134 are designed so that the ID provider computer system 136 can only perform a read access to the protected memory area 124 for reading one or more of the attributes, after the program instructions 130 have also successfully authenticated the user 102 has been signaled. Of particular benefit is the utilization of the ID token 106 for, for example, e-commerce and eGovernment applications, media-free and legally secure due to the need to authenticate the user 102 and the ID provider computer system 136 against 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 solved. As far as the ease of use of the method is concerned, it is particular advantage that a prior registration of the user 102 for claiming the I D provider computer system 136 is not required.
Die Figur 6 zeigt eine Ausführungsform eines erfindungsgemäßen Verfahrens. 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. FIG. 6 shows an embodiment of a method according to the invention. In 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 Regein bestimmt werden. In step 202, the service computer system 150 then specifies one or more attributes that it needs to verify the user's entitlement to the service request. In particular, the service computer system may specify attributes that determine the digital identity of the user 102. This specification of the attributes by the service computer system 150 may be fixed or, depending on the service request, determined in each case by the service computer system 150 on the basis of predetermined 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 entweder direkt oder über das Nutzer-Computersystem. In step 204, the attribute specification, i. specifying, in step 202, the one or more of the attributes transmitted by the service computer system to the ID provider computer system, either directly or through the user 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. 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. To allow the ID provider computer system to read attributes from its iD token, the user authenticates to the ID token at step 206. In step 208, a connection is established between the iD token and the ID provider computer system. This is preferably a secured connection, for example by a so-called secure messaging method.
In dem Schritt 210 erfolgt zumindest eine Authentifizierung des ID-Provider- Computersystems gegenüber dem lD-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 step 210, at least one authentication of the ID provider computer system to the ID token takes place via the connection set up in step 208. 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 !D-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! D provider computer system obtains from the ID token the access to read the attributes. In 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. 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 gegebe- nenfalls 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. The read attribute values are signed by the ID provider computer system in step 214. In 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. 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 may 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 provides the greatest possible level of transparency for the user with regard to the attributes sent by the ID provider computer system to the service computer system.
Die Figur 7 zeigt weitere Ausführungsformen eines erfindungsgemäßen ID-Tokens und erfindungsgemäße Computersysteme. Bei der Ausführungsform der Figur 7 ist
der ID-Token 106 als Dokument ausgebildet, wie zum Beispiel als papier- und/oder kunststoffbasiertes Dokument mit einem integrierten elektronischen Schaltkreis, durch den die Schnittstelle 108, der Speicher 118 und der Prozessor 128 gebildet werden. Bei dem integrierten elektronischen Schaltkreis kann es sich beispielsweise um ein so genanntes Funketikett handeln, welches auch als RFID-Tag oder RFID- Label bezeichnet wird. Die Schnittstelle 108 kann aber auch kontaktbehaftet oder als so genanntes Dual Mode Interface ausgebildet sein. FIG. 7 shows further embodiments of an ID token according to the invention and computer systems according to the invention. In the embodiment of Figure 7 is the ID token 106 is formed as a document, such as a paper and / or plastic-based document with an integrated electronic circuit, through which the interface 108, the memory 118 and the processor 128 are formed. The integrated electronic circuit may be, for example, a so-called radio tag, which is also referred to as RFID tag or RFID label. The interface 108 may also be contact-based or designed as a so-called dual mode interface.
Insbesondere kann es sich bei dem Dokument 106 um ein Wert- oder Sicherheits- dokument handein, wie zum Beispiel um ein maschinenlesbares Reisedokument (MRTD), wie zum Beispiel einen elektronischen Reisepass oder einen elektronischen Personalausweis, oder um ein Zahlungsmittel, wie zum Beispiel eine Kreditkarte. In dem geschützten Speicherbereich 124 sind bei der hier betrachteten Ausführungsform die Attribute i gespeichert, wobei 1 < i < n ist. Im Weiteren wird ohne Beschränkung der Allgemeinheit davon ausgegangen, dass es sich bei dem in der Figur 7 exemplarisch gezeigten ID-Token 106 um ein elektronisches Identitätsdokument, beispielsweise um einen elektronischen Personalausweis handelt. Beispiels- weise handelt es sich bei dem Attribut i = 1 um den Namen, bei dem Attribut i = 2 um den Vornamen, bei dem Attribut i = 3 um die Adresse und bei dem Attribut i = 4 um das Geburtsdatum, etc. In particular, document 106 may be a value or security document, such as a machine-readable travel document (MRTD), such as an electronic passport or electronic identity card, or a means of payment, such as a credit card , In the protected memory area 124, in the embodiment considered here, the attributes i are stored, where 1 <i <n. Furthermore, it is assumed without restriction of generality that the ID token 106 exemplarily shown in FIG. 7 is an electronic identity document, for example an electronic identity card. For example, the attribute i = 1 is the name, the attribute i = 2 is the first name, the attribute i = 3 is the address, and the attribute i = 4 is the date of birth, etc.
Die Schnittstelle 104 des Nutzer-Computersystems 100 kann bei der hier betrachte- ten Ausführungsform als RFI D-Lesegerät ausgebildet sein, weiches einen integralen Bestandteil des Nutzer-Computersystems bilden kann oder als separate Komponente an dieses angeschlossen sein kann. In the embodiment considered here, the interface 104 of the user computer system 100 can be designed as an RFI D reader, which can form an integral part of the user computer system or can be connected to it as a separate component.
Der Nutzer 102 verfügt über einen oder mehrere weitere ID-Token, die prinzipiell gleich aufgebaut sind, wie z.B. einen ID-Token 106', bei dem es sich um eine Kreditkarte handelt.
In dem Nutzer-Computersystem 100 können mehrere Konfigurationsdatensätze 158, 160,... gespeichert sein. Jeder der Konfigurationsdatensätze gibt für eine bestimmte Attributmenge eine Datenquelle und ein ID-Provider-Computersystem an, welches die spezifizierte Datenquelle lesen kann. Bei dieser Ausführungsform kann das Nutzer-Computersystem 100 über das Netzwerk 116 verschiedene ID-Provider- Computersysteme 136, 136', ... ansprechen, die jeweils zu verschiedenen so genannten Trust-Centern gehören können. Beispielsweise gehört das [D-Provider- Computersystem 136 zu dem Trust-Center A und das im Prinzip gleich strukturierte I D-Provider-Computersystem 136' zu einem anderen Trust-Center B. The user 102 has one or more other ID tokens that are basically the same, such as an ID token 106 ', which is a credit card. In the user computer system 100, a plurality of configuration records 158, 160, ... may be stored. Each of the configuration records specifies, for a particular set of attributes, a data source and an ID provider computer system that can read the specified data source. In this embodiment, the user computer system 100 can address via the network 116 various ID provider computer systems 136, 136 ', ..., each of which may belong to different so-called trust centers. For example, the [D provider computer system 136 belongs to the trust center A and the basically identical I D provider computer system 136 'to another trust center B.
In dem Konfigurationsdatensatz 158, der auch als ID-Container bezeichnet wird, ist die Attributmenge der Attribute i = 1 bis i = 4 definiert. Diesen Attributen ist jeweils die Datenquelle„Personalausweis", d.h. der ID-Token 106 zugeordnet, sowie das Trust-Center A, d.h. das I D-Provider-Computersystem 136. Dieses kann beispiels- weise in Form seiner URL in dem Konfigurationsdatensatz 158 spezifiziert sein. In the configuration data set 158, which is also referred to as an ID container, the attribute set of the attributes i = 1 to i = 4 is defined. The data source "identity card", ie the ID token 106, and the trust center A, ie the I D provider computer system 136, are respectively assigned to these attributes. For example, this can be specified in the form of its URL in the configuration data record 158 ,
In dem Konfigurationsdatensatz 116 ist dagegen eine Attributmenge I, Il und III definiert. Als Datenquelle für diese Attribute ist jeweils die Kreditkarte, d.h. der ID- Token 106', angegeben. Der ID-Token 106' hat einen geschützten Speicherbereich 124', in dem die Attribute I1 II, III, ... gespeichert sind. Bei dem Attribut I kann es sich zum Beispiel um den Namen des Inhabers der Kreditkarte, bei dem Attribut Il um die Kreditkartennummer und bei dem Attribut III um die Gültigkeitsdauer der Kreditkarte handeln, etc. Als ID-Provider-Computersystem ist in dem Konfigurationsdatensatz 160 das ID- Provider-Computersystem 136' des Trust-Centers B angegeben. In contrast, an attribute set I, II and III are defined in the configuration data record 116. The data source for these attributes is the credit card, ie the ID token 106 '. The ID token 106 'has a protected memory area 124' in which the attributes I 1 II, III, ... are stored. The attribute I may, for example, be the name of the holder of the credit card, the attribute Il the credit card number and the attribute III the validity period of the credit card, etc. As an ID provider computer system, in the configuration data record 160 is the ID provider computer system 136 'of the Trust Center B.
Alternativ zu der in der Figur 7 gezeigten Ausführungsform können in demselben Konfigurationsdatensatz für verschiedene Attribute auch verschiedene Datenquellen und/oder verschiedene I D-Provider-Computersysteme angegeben sein.
In der Ausführungsform der Figur 7 kann jedes der I D-Provider-Computersysteme 136, 136',... jeweils mehrere Zertifikate haben. As an alternative to the embodiment shown in FIG. 7, different data sources and / or different I D provider computer systems can also be specified in the same configuration data record for different attributes. In the embodiment of Figure 7, each of the I D provider computer systems 136, 136 ', ... may each have multiple certificates.
Beispielsweise sind in dem Speicher 140 des ID-Provider-Computersystems 136, der in der Figur 7 exemplarisch gezeigt ist, mehrere Zertifikate, wie zum Beispiel die Zertifikate 144.1 und 144.2 mit den jeweils zugeordneten privaten Schlüsseln 142.1 und 142.2 gespeichert. In dem Zertifikat 144.1 sind Leserechte des ID-Provider- Computersystems 136 auf die Attribute i = 1 bis i = 4 definiert, wohingegen in dem Zertifikat 144.2 Leserechte auf die Attribute I bis III definiert sind. For example, in the memory 140 of the ID provider computer system 136, which is shown by way of example in FIG. 7, a plurality of certificates, such as the certificates 144.1 and 144.2 are stored with the respectively assigned private keys 142.1 and 142.2. In the certificate 144.1, read rights of the ID provider computer system 136 are defined to the attributes i = 1 to i = 4, whereas in the certificate 144.2 reading rights to the attributes I to III are defined.
Zur Inanspruchnahme eines von dem Dienst-Computersystem 150 angebotenen Dienstes tätigt der Nutzer 102 zunächst eine Nutzereingabe 162 in das Nutzer- Computersystem 100, um beispielsweise in eine Webseite des Dienst- Computersystems 150 seine Anforderung für den gewünschten Dienst einzugeben. Diese Dienst-Anforderung 164 wird von dem Nutzer-Computersystem 100 über das Netzwerk 116 an das Dienst-Computersystem 150 übertragen. Das Dienst- Computersystem 150 antwortet darauf mit einer Attributspezifizierung 166, d.h. mit einer Spezifizierung derjenigen Attribute, welche das Dienst-Computersystem 150 zur Bearbeitung der Dienst-Anforderung 164 von dem Nutzer 102 benötigt. Die Att- ributspezifizierung kann beispielsweise in Form der Attributnamen erfolgen, wie zum Beispiel„Name",„Vorname",„Adresse",„Kreditkartennummer". To utilize a service offered by the service computer system 150, the user 102 first places a user input 162 in the user computer system 100 to, for example, enter a request for the desired service into a web page of the service computer system 150. This service request 164 is transmitted from the user computer system 100 to the service computer system 150 via the network 116. The service computer system 150 responds thereto with an attribute specification 166, i. with a specification of those attributes which the service computer system 150 needs to process the service request 164 from the user 102. The attribute specification may be in the form of attribute names, such as "name", "first name", "address", "credit card number".
Der Empfang der Attributspezifizierung 166 wird dem Nutzer 102 durch das Nutzer- Computersystem 100 signalisiert. Der Nutzer 102 kann daraufhin einen oder erfor- derlichenfalls mehrere der Konfigurationsdatensätze 158, 160, ... auswählen, die jeweils Attributmengen definieren, welche die Attribute gemäß der Attributspezifizierung 166 zumindest als Teilmenge beinhalten. The receipt of the attribute specification 166 is signaled to the user 102 by the user computer system 100. The user 102 can then select one or, if necessary, several of the configuration data records 158, 160,..., Which respectively define attribute sets that contain the attributes according to the attribute specification 166 at least as a subset.
Verlangt der Attributspezifizierung 166 beispielsweise lediglich die Mitteilung des Namens, des Vornamens und der Adresse des Nutzers 102, so kann der Nutzer 102 den Konfigurationsdatensatz 158 auswählen. Wird dagegen zusätzlich in der Attributspezifizierung 166 die Kreditkartennummer spezifiziert, so kann der Nut-
zer 102 zusätzlich den Konfigurationsdatensatz 160 auswählen. Dieser Vorgang kann auch vollautomatisch durch das Nutzer-Computersystem 100, beispielsweise durch Ausführung der Programminstruktionen 112, durchgeführt werden, Im Weiteren wird zunächst davon ausgegangen, dass nur eine der Konfigurationsdatensätze, wie zum Beispiel der Konfigurationsdatensatz 158, aufgrund der Attributspezifizierung 166 ausgewählt wird. For example, if the attribute specification 166 only requires the communication of the name, first name, and the address of the user 102, the user 102 may select the configuration record 158. If, in contrast, the credit card number is additionally specified in the attribute specification 166, then the user can 102 additionally selects the configuration record 160. This process can also be carried out fully automatically by the user computer system 100, for example by executing the program instructions 112. It is initially assumed that only one of the configuration data records, such as the configuration data record 158, is selected on the basis of the attribute specification 166.
Das Nutzer-Computersystem 100 sendet daraufhin eine Anforderung 168 an das oder die in dem gewählten Konfigurationsdatensatz angegebene ID-Provider- Computersysteme, in dem betrachteten Beispiel an das ID-Provider- Computersystem 136 des Trust-Centers A. Diese Anforderung 168 beinhaltet eine Angabe der von dem ID-Provider-Computersystem 136 aus der in dem Konfigurationsdatensatz 158 angegebenen Datenquelle auszulesenden Attribute gemäß der Attributspezifizierung 166. The user computer system 100 then sends a request 168 to the ID provider computer system (s) indicated in the selected configuration record, in the example under consideration to the ID provider computer system 136 of the trust center A. This request 168 includes an indication of attributes to be read by the ID provider computer system 136 from the data source specified in the configuration record 158 according to the attribute specification 166.
Das ID-Provider-Computersystem 136 wählt daraufhin eines oder mehrerer seiner Zertifikate aus, welche die zum Lesen dieser Attribute erforderlichen Leserechte aufweisen. Wenn beispielsweise die Attribute ϊ = 1 bis 3 aus dem Personalausweis gelesen werden sollen, so wählt das ID-Provider-Computersystem 136 sein Zertifikat 144.1 aus, welches die dafür erforderlichen Leserechte definiert. Diese Auswahl des Zertifikats wird durch Ausführung der Programminstruktionen 149 durchgeführt. The ID provider computer system 136 then selects one or more of its certificates that have the read rights necessary to read those attributes. If, for example, the attributes ϊ = 1 to 3 are to be read from the identity card, the ID provider computer system 136 selects its certificate 144.1, which defines the reading rights required for this purpose. This selection of the certificate is performed by executing the program instructions 149.
Daraufhin wird die Ausführung des kryptographischen Protokolls gestartet. Bei- spielsweise sendet das ID-Provider-Computersystem 136 hierzu eine Antwort an das Nutzer-Computersystem 100. Das Nutzer-Computersystem 100 fordert daraufhin den Nutzer 102 zu seiner Authentifizierung gegenüber der spezifizierten Datenquelle, d.h. hier gegenüber dem Personalausweis, auf. Der Nutzer 102 bringt daraufhin seinen Personalausweis, d.h. den ID-Token 106, in den Bereich des RFID-Lesegeräts 104, und gibt beispielsweise seine PIN zu seiner Authentifizierung ein. Durch die erfolgreiche Authentifizierung des Nutzers 102 ge-
genüber dem 1D-Token 106 wird dieser für die Durchführung des kryptographischen Protokolls, d.h. für die Durchführung der Programminstruktionen 134 freigeschaltet. Im Weiteren authentifiziert sich das I D-Provider-Computersystem 136 gegenüber dem ID-Token 106 mit Hilfe des ausgewählten Zertifikats 144.1 , beispielsweise mit Hilfe eines Challenge-Response-Verfahrens. Diese Authentifizierung kann auch gegenseitig sein. Nach erfolgreicher Authentifizierung des ID-Provider- Computersystems 136 gegenüber dem ID-Token 106 richtet das ID-Provider- Computersystem eine Leseanforderung zum Lesen der erforderlichen Attribute an das Nutzer-Computersystem 100, welche dieses über das RFI D-Lesegerät 104 an den ID-Token 106 weiterleitet. Der ID-Token 106 prüft anhand des Zertifikats 144.1 , ob das ID-Provider-Computersystem 136 die dafür erforderlichen Leserechte hat. Wenn dies der Fall ist, werden die gewünschten Attribute aus dem geschützten Speicherbereich 124 ausgelesen und mittels Ende-zu-Ende-Verschlüsselung an das ID-Provider-Computersystem über das Nutzer-Computersystem 100 übertragen. Then the execution of the cryptographic protocol is started. For example, the ID provider computer system 136 sends a response to the user computer system 100 for this purpose. The user computer system 100 then requests the user 102 to authenticate it to the specified data source, ie here opposite to the identity card. The user 102 then brings his identity card, ie the ID token 106, into the area of the RFID reader 104 and, for example, enters his PIN for his authentication. Due to the successful authentication of the user 102 compared to the 1D token 106 this is enabled for the implementation of the cryptographic protocol, ie for the execution of the program instructions 134. Furthermore, the I D provider computer system 136 authenticates itself to the ID token 106 with the aid of the selected certificate 144.1, for example with the aid of a challenge-response method. This authentication can also be mutually exclusive. Upon successful authentication of the ID provider computer system 136 to the ID token 106, the ID provider computer system issues a read request to the user computer system 100 to read the required attributes, which it sends to the ID system via the RFI D reader 104. Forwards token 106. The ID token 106 checks on the basis of the certificate 144.1 whether the ID provider computer system 136 has the reading rights required for this purpose. If so, the desired attributes are extracted from the protected storage area 124 and transmitted to the ID provider computer system via the user computer system 100 by end-to-end encryption.
Das ID-Provider-Computersystem 136 sendet dann eine Antwort 170, die die ausgelesenen Attribute beinhaltet, über das Netzwerk 116 an das Dienst- Computersystem 150. Die Antwort 170 ist mit dem Zertifikat 144.1 digital signiert. Alternativ sendet das ID-Provider-Computersystem 136 die Antwort 170 an dasThe ID provider computer system 136 then sends a response 170 containing the read attributes over the network 116 to the service computer system 150. The response 170 is digitally signed with the certificate 144.1. Alternatively, the ID provider computer system 136 sends the response 170 to the
Nutzer-Computersystem 100. Der Nutzer 102 erhält daraufhin die Möglichkeit, die in der Antwort 170 beinhalteten Attribute zu lesen und zu entscheiden, ob er diese Attribute wirklich an das Dienst-Computersystem 150 weiterleiten möchte oder nicht. Erst nach Eingabe eines Freigabekommandos des Nutzers 102 in das Nutzer- Computersystem 100 wird dann die Antwort 170 an das Dienst- Computersystem 150 weitergeleitet. Bei dieser Ausführungsform ist es ferner möglich, dass der Nutzer 102 die Antwort 170 um weitere Daten ergänzt. User computer system 100. The user 102 then gets the opportunity to read the attributes included in the response 170 and decide whether or not he really wants to pass these attributes to the service computer system 150. Only after input of a release command of the user 102 in the user computer system 100 is the response 170 then forwarded to the service computer system 150. In this embodiment, it is also possible for the user 102 to supplement the response 170 with further data.
Wenn mehrere ID-Provider-Computersysteme 136, 136', ... involviert sind, so kön- nen die einzelnen Antworten der i D-Provider-Computersysteme durch das Nutzer- Computersystem 100 in einer einzigen Antwort, die sämtliche der Attribute gemäß Attributspezifizierung 166 beinhalten, zusammengefasst werden, welche dann von
dem Nutzer-Computersystem 100 an das Dienst-Computersystem 150 gesendet wird. If several ID provider computer systems 136, 136 ', ... are involved, the individual responses of the iD provider computer systems by the user computer system 100 in a single response, which may include all of the attributes according to attribute specification 166 contain, which are then summarized by the user computer system 100 is sent to the service computer system 150.
Nach einer Ausführungsform der Erfindung kann der Nutzer 102 anlässlich der Dienstanforderung 164 ein oder mehrerer seiner Attribute gegenüber dem Dienst- Computersystem 150 offenbaren, beispielsweise indem diese Attribute des Nutzers als Teil der Dienstanforderung 164 über das Netzwerk 116 an das Dienst- Computersystem übertragen werden, insbesondere kann der Nutzer 102 diese Attribute in die Webseite des Dienst-Computersystems 150 eingeben. Die Richtigkeit dieser Attribute wird dann durch die Antwort 170 bestätigt, d.h. das Dienst- Computersystem 150 kann die von dem Nutzer 102 empfangenen Attribute mit den von dem ID-Provider Computersystem 136 aus dem ID-Token 106 ausgelesenen Attribute vergleichen und auf Übereinstimmung prüfen. Nach einer weiteren Ausführungsform der Erfindung kann auch zumindest ein weiteres Attribut in der Attributspezifizierung 166 angegeben sein, welches nicht auf einem der ID-Token des Nutzers 102 gespeichert ist, sondern von einer externen Datenquelle abfragbar ist. Hierbei kann es sich z.B. um ein Attribut betreffend die Kreditwürdigkeit des Nutzers 102 handeln. Das Nutzer-Computersystem 100 kann hierzu einen weiteren Konfigurationsdatensatz 161 beinhalten, welcher für das Attribut A - z.B. die Kreditwürdigkeit - die Angabe einer Datenquelle und eines ID- Provider Computersystems beinhaltet. Bei der Datenquelle kann es sich um eine Online Auskunftei, wie z.B. Schufa, Dun & Bradstreet oder dergleichen handeln. Als ID-Provider Computersystem ist beispielsweise ein Trust Center C angegeben, wie in der Ausführungsform der Fig. 3. Die Datenquelle kann sich hier in dem Trust Center C befinden. According to one embodiment of the invention, the user 102 may disclose one or more of its attributes to the service computer system 150 on the occasion of the service request 164, for example, by transmitting these attributes of the user as part of the service request 164 to the service computer system via the network 116, in particular For example, the user 102 may enter these attributes into the web page of the service computer system 150. The correctness of these attributes is then confirmed by the response 170, i. the service computer system 150 may compare the attributes received from the user 102 with the attributes read from the ID token 106 by the ID provider computer system 136 and check for consistency. According to a further embodiment of the invention, at least one further attribute can also be specified in the attribute specification 166, which is not stored on one of the ID tokens of the user 102, but can be interrogated by an external data source. This may be e.g. to act on an attribute regarding the creditworthiness of the user 102. The user computer system 100 may for this purpose include a further configuration data record 161, which for the attribute A - e.g. the creditworthiness - the specification of a data source and an ID provider computer system includes. The data source may be an online credit reporting agency such as Schufa, Dun & Bradstreet or the like act. As an ID provider computer system, for example, a trust center C is specified, as in the embodiment of FIG. 3. The data source can be located here in the trust center C.
Um das Attribut A abzufragen richtet also das Nutzer-Computersystem 100 eine entsprechende Anforderung (in der Fig. 3 nicht gezeigt) an das Trust Center C, d.h. das ID-Provider Computersystem 136". Dieses liefert daraufhin das Attribut A, welches das Nutzer-Computersystem 100 zusammen mit den weiteren Attributen, die
aus dem oder den ID-Token des Nutzers 102 ausgelesen wurden, an das Dienst- Computersystem 150 weiterleitet. In order to query the attribute A, the user computer system 100 thus directs a corresponding request (not shown in FIG. 3) to the trust center C, ie the ID provider computer system 136 ". This then supplies the attribute A, which is the user name. Computer system 100 together with the other attributes, the are read out of the user ID (s) 102, to the service computer system 150.
Vorzugsweise erfolgt die Abfrage des Attributs A nachdem die die digitale Identität des Nutzer 102 betreffenden Attribute bereits aus einem der ID-Token des Nutzers 102 abgefragt worden sind, und beispielsweise als signierte Antwort 170 von dem Nutzer-Computersystem 100 empfangen worden sind. Die Abfrage des Attributs A durch das Nutzer-Computersystem 100 von dem I D-Provider Computersystem 136" beinhaltet dann die signierte Antwort 170, so dass das I D-Provider Computersystem 136" hinsichtlich der Identität des Nutzers 102 ein sichere Information hat. The query of the attribute A preferably takes place after the attributes relating to the digital identity of the user 102 have already been interrogated from one of the ID tokens of the user 102 and have been received by the user computer system 100 as a signed response 170, for example. The query of the attribute A by the user computer system 100 from the I D provider computer system 136 "then includes the signed response 170 so that the I D provider computer system 136" has secure information regarding the identity of the user 102.
Die Figur 8 zeigt eine weitere Ausführungsform eines erfindungsgemäßen Verfahrens. Durch eine Nutzereingabe eines Nutzers 102 in ein Nutzer- Computersystem 100 spezifiziert der Nutzer 102 einen Dienst eines Dienst- Computersystems, welchen er oder sie in Anspruch nehmen möchte. Dies erfolgt beispielsweise durch Aufruf einer Internetseite des Dienst-Computersystems und einer Auswahl eines der dort angebotenen Dienste. Die Dienst-Anforderung des Nutzers 102 wird von dem Nutzer-Computersystem 100 an das Dienst- Computersystem 150 übertragen. FIG. 8 shows a further embodiment of a method according to the invention. By user input of a user 102 into a user computer system 100, the user 102 specifies a service of a service computer system that he or she wishes to use. This is done, for example, by calling an Internet page of the service computer system and a selection of one of the services offered there. The service request of the user 102 is transmitted from the user computer system 100 to the service computer system 150.
Das Dienst-Computersystem 150 antwortet auf die Dienst-Anforderung mit einer Attributspezifizierung, d.h. beispielsweise einer Liste von Attributnamen. Nach Empfang der Attributspezifizierung fordert das Nutzer-Computersystem 100 den Nutzer 102, beispielsweise durch eine Eingabeaufforderung, zur Authentifizierung ge- genüber dem (D-Token 106 auf. The service computer system 150 responds to the service request with an attribute specification, i. for example, a list of attribute names. Upon receipt of the attribute specification, the user computer system 100 requests the user 102 to authenticate against the (D token 106, for example, by a prompt.
Der Nutzer 102 authentifiziert sich daraufhin gegenüber dem ID-Token 106, beispielsweise durch Eingabe seiner PlN. Nach erfolgreicher Authentifizierung wird die Attributspezifizierung von dem Nutzer-Computersystem 100 an ein ID-Provider- Computersystem 136 weitergeleitet. Dieses authentifiziert sich daraufhin gegenüber dem ID-Token 106 und richtet eine Leseanforderung zum Lesen der Attribute gemäß der Attributspezifizierung an den ID-Token 106.
Unter der Voraussetzung der vorherigen erfolgreichen Authentifizierung des Nutzers 102 und des iD-Provider-Computersystems 136 antwortet der ID-Token 106 auf die Leseanforderung mit den gewünschten Attributen. Das ID-Provider- Computersystem 136 signiert die Attribute und sendet die signierten Attribute an das Nutzer-Computersystem 100. Nach Freigabe durch den Nutzer 102 werden die signierten Attribute dann an das Dienst-Computersystem 150 übertragen, welches dann ggf. den gewünschten Dienst erbringen kann. Die Figur 9 zeigt eine erste Ausführungsform des erfindungsgemäßen HSM Migrationsverfahrens. In Figur 9 wird die Übertragung eines zweiten Zertifikates 508 von Computersystem B 136B1 welches über ein neues oder„zweites" HSM 101 B verfügt, auf Computersystem A 136A, welches über ein altes oder„erstes" HSM 101A verfügt, gezeigt. Durch das erste HSM 101 A wird ein drittes Zertifikat 506 erstellt, welches mitsamt all seiner Vorgängerzertifikate 507, 502, 501 in der Zertifikatskette bis einschließlich des Root-Zertifikats 500 von Computersystem A 136A auf die externe Komponente 510 übertragen wird. The user 102 then authenticates to the ID token 106, for example by entering his PlN. Upon successful authentication, the attribute specification is forwarded from the user computer system 100 to an ID provider computer system 136. This then authenticates to the ID token 106 and directs a read request to read the attributes according to the attribute specification to the ID token 106. Given the previous successful authentication of the user 102 and the iD provider computer system 136, the ID token 106 responds to the read request with the desired attributes. The ID provider computer system 136 signs the attributes and sends the signed attributes to the user computer system 100. Upon approval by the user 102, the signed attributes are then transmitted to the service computer system 150, which may then provide the service desired, if desired , FIG. 9 shows a first embodiment of the HSM migration method according to the invention. In Figure 9, the transmission of a second certificate 508 from computer system B 136B 1 having a new or "second" HSM 101B to computer system A 136A having an old or "first" HSM 101A is shown. The first HSM 101 A creates a third certificate 506 which, together with all its predecessor certificates 507, 502, 501 in the certificate chain up to and including the root certificate 500, is transmitted from the computer system A 136A to the external component 510.
Bei der externen Komponente kann es sich beispielsweise um den Speicher 140 B des Computersystems B, einen Verzeichnisserver 109 oder andere Speichermedien oder Computersysteme mit Speichermedien handeln. Das im Folgenden beschriebene Verfahren ist in einem Aspekt unter dem Gesichtspunkt der Datensicherung und in einem weiteren Aspekt unter dem Gesichtspunkt des Load-Balancing und der Performancesteigerung vorteilhaft. The external component may be, for example, the memory 140 B of the computer system B, a directory server 109 or other storage media or computer systems with storage media. The method described below is advantageous in one aspect from the point of view of data backup and in another aspect from the viewpoint of load balancing and performance enhancement.
Wird das Link-Zertifikat 506 mitsamt der Zertifikatskette 507, 502, 501 , 500 z.B. auf das Computersystem B 136B übertragen, so kann ein Load-Balancing Modul 182 Zertifizierungs-Anfragen je nach Auslastung sowohl an Computersystem A oder Computersystem B weiterleiten, da die Prüfung von Zertifikaten innerhalb dieser Kette nun auf beiden Computersystemen möglich ist. Dadurch kann die Auslastung jedes einzelnen Computersystems A, B reduziert und die Responsezeiten verkürzt werden.
Bei dem ersten 507 und zweiten 508 Zertifikat der in Figur 9 dargestellten Ausführungsform der Erfindung handelt es sich nicht um Root-Zertifϊkate, sondern um Zertifikate, deren Gültigkeit jeweils mittels der öffentlichen Schlüssel übergeordneter Zertifikate prüfbar ist. Jedes der in Figur 9 dargestellten Zertifikate 500-505, 507, 508 beinhaltet einen zu dem jeweiligen Zertifikat gehörenden öffentlichen Schlüssel, welcher als schwarzer Kreis innerhalb jedes Zertifikates dargestellt ist, sowie eine Signatur, die durch Verschlüsselung eines Datenwertes, z.B. eines Hashwertes des Zertifikates, durch den privaten Schlüssel eines dem Zertifikat übergeordneten Zertifikates gebildet wird. Die Gültigkeit eines Zertifikats kann jeweils durch ein in einer Zertifikatskette übergeordnetes Zertifikat bezeugt werden dadurch, dass dieses die Signatur des untergeordneten, zu prüfenden Zertifikates mit seinem öffentlichen Schlüssel entschlüsselt und verifiziert. So kann zum Beispiel ein Datenverarbeitungssystem mittels des Zertifikats ZA2 501 die Authentizität des Zertifikats ZA3 502 durch Entschlüsselung der Signatur des Zertifikats ZA3 502 durch den öffentlichen Schlüssel von Zertifikats ZA2 501 prüfen und bezeugen. Zu jedem Zertifikat gehört ein asymmetrisches Schlüsselpaar mit privatem und öffentlichem Schlüssel, wobei durch die Verschlüsselung eines Datenwertes eines nächstfolgenden Zertifikates 502 durch den privaten Schlüssel eines übergeordneten Zertifikates 501 das nächstfolgende Zertifikat 502 signiert wird, wodurch eine Zertifikatskette entsteht. Mit dem öffentlichen Schlüssel des übergeordneten Zertifikates 501 , welches dem Zertifikat 501 zugeordnet ist, lässt sich aiso die Signatur des untergeordneten Zertifikates 502 wieder entschlüsseln und dadurch verifizieren. Durch Signatur von Datenwerten eines Zertifikats durch den privaten Schlüssel des jeweils übergeordneten Zertifikats kann eine Zertifikatskette erzeugt werden. If the link certificate 506 including the certificate chain 507, 502, 501, 500 is transmitted to the computer system B 136B, for example, then a load-balancing module 182 can forward certification requests to either computer system A or computer system B, depending on the utilization of certificates within this chain is now possible on both computer systems. As a result, the utilization of each individual computer system A, B can be reduced and the response times can be shortened. The first 507 and second 508 certificates of the embodiment of the invention shown in FIG. 9 are not root certificates, but certificates whose validity can be tested by means of the public keys of higher-level certificates. Each of the certificates 500-505, 507, 508 illustrated in FIG. 9 includes a public key belonging to the respective certificate, which is represented as a black circle within each certificate, and a signature which is encrypted by encrypting a data value, eg a hash value of the certificate. is formed by the private key of a certificate that is the parent of the certificate. The validity of a certificate can be attested in each case by a higher-level certificate in a certificate chain in that it decrypts and verifies the signature of the subordinate certificate to be checked with its public key. Thus, for example, a data processing system by means of the certificate ZA2 501, the authenticity of the certificate ZA3 502 by deciphering the signature of the certificate ZA3 502 by the public key of certificate ZA2 501 and testify. Each certificate includes an asymmetric key pair with private and public key, wherein the encryption of a data value of a subsequent certificate 502 by the private key of a higher-level certificate 501, the next certificate 502 is signed, creating a certificate chain. With the public key of the higher-level certificate 501, which is assigned to the certificate 501, the signature of the subordinate certificate 502 can again be decrypted and thereby verified. By signing data values of a certificate by the private key of the respective higher-level certificate, a certificate chain can be generated.
Letztlich kann also die Gültigkeit der Zertifikate 507, 502, und 501 durch das Root- Zertifikat 500 der alten HSM 101 A geprüft werden. Durch Übertragung des Link- Zertifikates 506 sowie aller dem Link-Zertifikat übergeordneten Zertifikate innerhalb der Zertifikatskette bis einschließlich des Wurzelzertifikats 500 vom Computersys- tem A auf die externe Komponente wird sichergestellt, dass die auf dem alten HSM vorhandenen Zertifikate auch weiterhin zur Prüfung von Zertifikaten und zur Durchführung von Zertifikatskettenprüfungen bis hin zu dem Wurzelzertifikat 500 verwen-
det werden können. Es ist hierfür nicht notwendig, die privaten Schlüssel von dem alten HSM 101 A auszulesen. Ultimately, therefore, the validity of the certificates 507, 502, and 501 can be checked by the root certificate 500 of the old HSM 101 A. By transferring the link certificate 506 as well as all the certificates within the certificate chain up to and including the root certificate 500 from the computer system A to the external component, it is ensured that the certificates existing on the old HSM continue to be used for checking certificates and certificates for the implementation of certificate chain tests up to the root certificate 500. can be. It is not necessary to read the private keys from the old HSM 101 A.
Die Schritte der Übertragung des zweiten Zertifikats 508 von dem neuen Computer- System B auf das alte Computersystem A ist in Figur 9 als römische Nummer„I" dargestellt. Die Erzeugung des Link-Zertifikats, also des„dritten Zertifikates" 506 durch Signierung des Datenwertes, z.B. des öffentlichen Schlüssels des Zertifikates 506, durch den privaten Schlüssel des ersten Zertifikates 507 ist durch die römische Nummer„II", die Übertragung des dritten Zertifikats sowie der gesamten Zertifikats- kette vom dritten Zertifikat 506 bis hin zum Root-Zertifikat 500 vom Computersystem A 136A auf die externe Komponente 510 ist durch die römische Nummer Ml gekennzeichnet. The steps of transferring the second certificate 508 from the new computer system B to the old computer system A are shown in Figure 9 as Roman number "I." The generation of the link certificate, ie, the "third certificate" 506 by signing the data value , eg of the public key of the certificate 506, by the private key of the first certificate 507, is the Roman key "II", the transmission of the third certificate and the entire certificate chain from the third certificate 506 to the root certificate 500 from the computer system A 136A to the external component 510 is indicated by the Roman numeral M1.
Die Validität des zweiten Zertifikats 508 kann nun also sowohl durch ein Datenver- arbeitungssystem mittels des Zertifikates 505, welches zu der ZertifikatsketteThe validity of the second certificate 508 can now be determined both by a data processing system by means of the certificate 505, which belongs to the certificate chain
504,503 des neuen HSM gehört, und dessen zugehörigem öffentlichen Schlüssel bestätigt werden, als auch mittels des Zertifikates 507 und zugehörigem öffentlichen Schlüssel, welches zur Zertifikatskette 502, 501 und 500 des alten Computersystems A 136A gehört. In Figur 9 ist also die Erzeugung eines dritten Zertifikats 506 durch das erste HSM 101A durch Signieren des zweiten öffentlichen Schlüssels 509 mit dem ersten privaten Schlüssel eines ersten Zertifikates 507 dargestellt. Dadurch ist eine Zertifikatsprüfung des zweiten Zertifikats 508 mittels einer Zertifikatskette, die das erste 507 und dritte 506 Zertifikat enthält, durchführbar. Da dem Link-Zertifikat 506 ein zweiter privater Schlüssel auf dem neuen HSM 101 B zugeordnet ist, wobei der zweite private Schlüssel mit dem zweiten öffentlichen Schlüssel 509 ein asymmetrisches Schlüsselpaar bildet, lassen sich mit Hilfe dieses zweiten privaten Schlüssels nun weitere Zertifikate signieren, so dass auch für diese weiteren Zertifikate eine Zertifikatskettenprüfung bis zum Wurzelzertifikat 500 durch- führbar ist.
Bezugszeichenliste 504,503 of the new HSM and its associated public key are acknowledged, as well as by means of the certificate 507 and associated public key belonging to the certificate chain 502, 501 and 500 of the old computer system A 136A. Thus, FIG. 9 shows the generation of a third certificate 506 by the first HSM 101A by signing the second public key 509 with the first private key of a first certificate 507. As a result, a certificate check of the second certificate 508 can be carried out by means of a certificate chain containing the first 507 and third 506 certificates. Since the link certificate 506 is assigned a second private key on the new HSM 101 B, with the second private key forming an asymmetrical key pair with the second public key 509, further certificates can now be signed with the aid of this second private key A certificate chain check up to the root certificate 500 can also be carried out for these additional certificates. LIST OF REFERENCE NUMBERS
10-20 Schritte 10-20 steps
100 Nutzer-Computersystem 100 user computer system
101 HSM 101 HSM
102 Nutzer 102 users
103 Prozessor 103 processor
104 Schnittstelle 104 interface
10 105 Programminstruktionen 10 105 program instructions
106 ID-Token 106 ID tokens
107 Netzwerk 107 network
108 Schnittstelle 108 interface
109 Verzeichnisserver 109 directory server
15 110 Prozessor 15 110 processor
112 Programminstruktionen 112 program instructions
114 Netzwerk-Schnittstelle114 network interface
116 Netzwerk 116 network
118 elektronischer Speicher 118 electronic memory
20 120 geschützter Speicherbereich 20 120 protected storage area
122 geschützter Speicherbereich 122 protected storage area
124 geschützter Speicherbereich124 protected storage area
126 Speicherbereich 126 memory area
128 Prozessor 128 processor
25 130 Programminstruktionen 25 130 program instructions
132 Programminstruktionen 132 program instructions
134 Programminstruktionen134 program instructions
136 I D-Provider-Computersystem136 I D Provider Computer System
138 Netzwerk-Schnittstelle 138 network interface
30 140 Speicher 30 140 memory
141 geschützter Speicherbereich 141 protected storage area
142 privater Schlüssel
143 Programm 142 private key 143 program
144 Zertifikat 144 certificate
144A erstes Zertifikat 144A first certificate
144B drittes Zertifikat 144B third certificate
145 Prozessor 145 processor
146 Programminstruktionen 146 program instructions
147 öffentlicher Schlüssel 147 public key
147A erster öffentlicher Schlüssel 147A first public key
147B signierter öffentlicher Schlüssel des dritten 147B signed public key of the third
10 Zertifikats 10 certificates
148 Programminstruktionen 148 program instructions
149 Programminstruktionen 149 program instructions
150 Dienst-Computersystem 150 service computer system
152 Netzwerk-Schnittstelle 152 network interface
15 154 Prozessor 15 154 processor
156 Programminstruktionen 156 program instructions
158 Konfigurationsdatensatz 158 Configuration Record
160 Konfigurationsdatensatz 160 Configuration Record
161 Konfigurationsdatensatz 161 configuration record
20 162 Nutzereingabe 20 162 User input
164 Dienst-Anforderung 164 service request
166 Attributspezifizieru ng 166 Attribute Specification
168 Anforderung 168 requirement
170 Antwort 170 answer
25 172 Hot-Standby-Modul 25 172 Hot standby module
174 Prozessor 174 processor
176 Programminstruktionen 176 program instructions
178 Schalter 178 switches
180 Speicher 180 memories
30 182 Load-Balancing Modul 30 182 load-balancing module
184 Prozessor 184 processor
186 Programminstruktionen
190B zweites Zertifikat 186 program instructions 190B second certificate
191 B zweiter öffentlicher Schlüssel 191 B second public key
200-216 Schritte 200-216 steps
500 Root Zertifikat 500 root certificate
503 Root Zertifikat 503 root certificate
501-502 Zertifikat 501-502 certificate
504-508 Zertifikat 504-508 certificate
509 Öffentlicher Schlüssel 509 Public key
510 Externe Komponente
510 External component