Search Images Maps Play YouTube News Gmail Drive More »
Sign in
Screen reader users: click this link for accessible mode. Accessible mode has the same essential features but works better with your reader.

Patents

  1. Advanced Patent Search
Publication numberDE69704684 T2
Publication typeGrant
Application numberDE1997604684
Publication date15 Jul 2004
Filing date20 Feb 1997
Priority date23 Feb 1996
Also published asDE69704684D1, EP0792044A2, EP0792044A3, EP0792044B1, USRE42762
Publication number1997604684, 97604684, DE 69704684 T2, DE 69704684T2, DE-T2-69704684, DE1997604684, DE69704684 T2, DE69704684T2, DE97604684
InventorsToru Ashigarakami-gun Aratani, Kenichi Ashigarakami-gun Kobayashi, Kil-ho Ashigarakami-gun Shin
ApplicantFuji Xerox Co., Ltd.
Export CitationBiBTeX, EndNote, RefMan
External Links: DPMA, Espacenet
Vorrichtung und Verfahren zur Authentifizierung von Zugangsrechten eines Benutzers zu Betriebsmitteln nach dem Challenge-Response-Prinzip Apparatus and method for authentication of access rights to a user equipment after challenge-response principle translated from German
DE 69704684 T2
Abstract  available in
Claims(51)  translated from German
  1. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen, umfassend: eine erste Speicheranordnung ( Apparatus for authenticating user's access rights to resources, comprising: a first memory array ( 111 111 ) zum Speichern von Abfragedaten ) For storing challenging data 118 118 ); ); eine zweite Speicheranordnung ( a second memory array ( 115 115 ) zum Speichern einer eindeutigen Benutzerkennung ) For storing a unique user identifier 116 116 ); ); eine dritte Speicheranordnung ( a third memory array ( 113 113 ) zum Speichern von Nachweisunterstützungsinformation ( ) For storing proof support information ( 13 13 ), die ein Ergebnis der Ausführung vorbestimmter Berechnungen an der eindeutigen Benutzerkennung ( ), Which is a result of executing predetermined calculations on the unique user identifier ( 16 16 ) und eindeutiger Sicherheitskenninformation ( ) And unique security characteristic information ( 14 14 ) der Vorrichtung ist; ) Of the device; eine Antworterzeugungsanordnung ( a response generation means ( 116 116 ) zum Erzeugen einer Antwort ( ) For generating a response ( 19 19 ) aus den in der ersten Speicheranordnung ( ) From the first memory array ( 111 111 ) gespeicherten Abfragedaten ( ) Stored query data ( 18 18 ), der in der zweiten Speicheranordnung ( ), In the second memory array ( 115 115 ) gespeicherten eindeutigen Benutzerkennung ( ) Stored unique user identification ( 16 16 ) und der in der dritten Speicheranordnung ( ) And in the third memory means ( 113 113 ) gespeicherten Nachweisunterstützungsinformation ( ) Stored proof support information ( 13 13 ); ); und eine Verifikationsanordnung ( and a verification means ( 106 106 ) zum Verifizieren der Richtigkeit der Antwort ( ) For verifying the correctness of the response ( 19 19 ) durch Verifizieren, daß die Antwort ( ) By verifying that the response ( 19 19 ), die Abfragedaten ( ), The challenging data ( 18 18 ) und die eindeutige Sicherheitskenninformation ( ) And the unique security characteristic information ( 14 14 ) der Vorrichtung eine spezielle vordefinierte Relation erfüllen. ) Of the device satisfy a specific predefined relation.
  2. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 1, ferner umfassend: eine Schutzanordnung ( The device for authenticating user's access rights to resources of claim 1, further comprising: protect means ( 160 160 ) zum Verhindern, daß irgendwelche Daten in ihr von außen einsehbar oder manipulierbar sind, die zumindest die zweite Speicheranordnung ( ) For preventing any data can be viewed or tampered with from the outside in it, at least the second memory array ( 115 115 ) und die Antworterzeugungsanordnung ( ) And the response generation means ( 116 116 ) einschließt. ) Includes.
  3. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 1, bei der zumindest die zweite Speicheranordnung ( The device for authenticating user's access rights to resources of claim 1, wherein at least the second memory array ( 115 115 ) und die Antworterzeugungsanordnung ( ) And the response generation means ( 116 116 ) innerhalb einer kleinen tragbaren Vorrichtung wie einer Chipkarte implementiert sind. ) Are implemented within a small portable device such as a smart card.
  4. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach einem der Ansprüche 1 bis 3, bei der die Antworterzeugungsanordnung ( The device for authenticating user's access rights to resources of any of claims 1 to 3, wherein the response generation means ( 116 116 ) umfaßt: eine erste Rechenanordnung ( ) Comprises: a first calculation arrangement ( 712 712 ) zum Wiedergeben der eindeutigen Sicherheitskenninformation ( ) For reproducing the unique security characteristic information ( 14 14 ) der Vorrichtung durch Ausführen vorbestimmter Berechnungen an der in der zweiten Speicheranordnung ( ) Of the device by executing predetermined calculations to the in the second memory array ( 115 115 ) gespeicherten eindeutigen Benutzerkennung ( ) Stored unique user identification ( 16 16 ) und der in der dritten Speicheranordnung ( ) And in the third memory means ( 113 113 ) gespeicherten Nachweisunterstützungsinformation ( ) Stored proof support information ( 13 13 ); ); und eine zweite Rechenanordnung ( and a second computing device ( 714 714 ) zum Erzeugen einer Antwort durch Ausführen vorbestimmter Berechnungen an den in der ersten Speicheranordnung ( ) For generating a response by executing predetermined calculations to the first memory array ( 111 111 ) gespeicherten Abfrage daten ( ) Stored query data ( 18 18 ) und der von der ersten Rechenanordnung ( ) And by the first calculation means ( 712 712 ) wiedergegebenen eindeutigen Sicherheitskenninformation ( ) Reproduced unique security characteristic information ( 14 14 ) der Vorrichtung. ) Of the device.
  5. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach einem der Ansprüche 1 bis 3, bei der die Antworterzeugungsanordnung ( The device for authenticating user's access rights to resources of any of claims 1 to 3, wherein the response generation means ( 116 116 ) umfaßt: eine dritte Rechenanordnung ( ) Comprises: third calculation means ( 112 112 ) zum Erzeugen einer ersten Zwischeninformation durch Ausführen vorbestimmter Berechnungen an den in der ersten Speicheranordnung gespeicherten Abfragedaten und der in der dritten Speicheranordnung gespeicherten Nachweisunterstützungsinformation; ) For generating first intermediate information by executing predetermined calculations to the challenging data and the data stored in the third memory means proof support information stored in the first memory array; eine vierte Rechenanordnung ( fourth calculation means ( 114 114 ) zum Erzeugen einer zweiten Zwischeninformation durch Ausführen vorbestimmter Berechnungen an den in der ersten Speicheranordnung ( ) For generating a second intermediate information by executing predetermined calculations to the first memory array ( 111 111 ) gespeicherten Abfragedaten ( ) Stored query data ( 18 18 ) und der in der zweiten Speicheranordnung ( ) And in the second memory array ( 115 115 ) gespeicherten eindeutigen Benutzerkennung ( ) Stored unique user identification ( 16 16 ); ); und eine fünfte Rechenanordnung ( and fifth calculation means ( 116 116 ) zum Erzeugen einer Antwort durch Ausführen vorbestimmter Berechnungen an der durch die dritte Rechenanordnung ( ) For generating a response by executing predetermined calculations by the third calculation means ( 112 112 ) erzeugten ersten Zwischeninformation und der durch die vierte Rechenanordnung ( ) Generated first intermediate information and by the fourth calculation means ( 114 114 ) erzeugten zweiten Zwischeninformation. ) Generated second intermediate information.
  6. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 5, des weiteren umfassend: eine Schutzanordnung ( The device for authenticating user's access rights to resources of claim 5, further comprising: a protection order ( 160 160 ) zum Verhindern, daß irgendwelche Daten in ihr von außen einsehbar oder manipulierbar sind, die zumindest die zweite Speicheranordnung ( ) For preventing any data can be viewed or tampered with from the outside in it, at least the second memory array ( 115 115 ) und die vierte Rechenanordnung ( ) And the fourth calculation means ( 114 114 ) einschließt. ) Includes.
  7. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 5, bei der zumindest die zweite Speicheranordnung ( The device for authenticating user's access rights to resources of claim 5, wherein at least the second memory array ( 115 115 ) und die vierte Rechenanordnung ( ) And the fourth calculation means ( 114 114 ) innerhalb einer tragbaren Vorrichtung wie einer Chipkarte implementiert sind. ) Are implemented within a portable device such as a smart card.
  8. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach einem der Ansprüche 1 bis 7, bei der die eindeutige Sicherheitskenninformation ( The device for authenticating user's access rights to resources of any of claims 1 to 7, wherein the unique security characteristic information ( 14 14 ) der Vorrichtung ein Entschlüsselungsschlüssel einer Verschlüsselungsfunktion ist, die Abfragedaten ( ) Of the device is a decryption key of a cipher function, the challenging data ( 18 18 ) eine Verschlüsselung von Information unter Verwendung der Verschlüsselungsfunktion mit dem Verschlüsselungsschlüssel entsprechend dem Entschlüsselungsschlüssel sind und die Verifikationsanordnung ( ) Are an encryption of information using the cipher function with the encryption key corresponding to the decryption key and the verification means ( 106 106 ) die Richtigkeit der Antwort verifiziert, indem verifiziert wird, daß die von der Antworterzeugungsanordnung ( ) The accuracy of the answer verified by verifying that the response generation means ( 116 116 ) erzeugte Antwort ( ) Generated response ( 19 19 ) identisch mit der Entschlüsselung der Abfragedaten mit dem Entschlüsselungsschlüssel ist. ) Is identical with decryption of the challenging data with the decryption key.
  9. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach einem der Ansprüche 1 bis 7, bei der die eindeutige Sicherheitskenninformation ( The device for authenticating user's access rights to resources of any of claims 1 to 7, wherein the unique security characteristic information ( 14 14 ) der Vorrichtung ein Verschlüsselungsschlüssel einer Verschlüsselungsfunktion ist und die Verifikationsanordnung ( ) Of the device is an encryption key of a cipher function, and the verification means ( 106 106 ) die Richtigkeit der Antwort verifiziert, indem verifiziert wird, daß die von der Antworterzeugungsanordnung ( ) The accuracy of the answer verified by verifying that the response generation means ( 116 116 ) erzeugte Antwort ( ) Generated response ( 19 19 ) identisch mit der Verschlüsselung der Abfragedaten mit dem Verschlüsselungsschlüssel ist. ) Is identical with encryption of the challenging data with the encryption key.
  10. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach einem der Ansprüche 1 bis 7, bei der die Kenninformation ( The device for authenticating user's access rights to resources of any of claims 1 to 7, wherein the identification information ( 14 14 ) der Vorrichtung der Signaturschlüssel einer digitalen Signaturfunktion ist und die Verifikationsanordnung ( ) Is the device of the signature key of a digital signature function and the verification means ( 106 106 ) die Richtigkeit der Antwort verifiziert, indem verifiziert wird, daß die von der Antworterzeugungsanordnung ( ) The accuracy of the answer verified by verifying that the response generation means ( 116 116 ) erzeugte Antwort ( ) Generated response ( 19 19 ) identisch mit der digitalen Signatur für die Abfragedaten ist, die mit dem Signaturschlüssel berechnet wird. ) Is identical with the digital signature for the query data is calculated with the signature key.
  11. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 8 oder 9, bei der die Verschlüsselungsfunktion aus der Kryptographie mit asymmetrischem Schlüssel stammt und die eindeutige Sicherheitskenninformation ( The device for authenticating user's access rights to resources of claim 8 or 9, wherein the cipher function is of the asymmetric key cryptography is derived and the unique security characteristic information ( 14 14 ) der Vorrichtung eine Komponente des Schlüsselpaars der Verschlüsselungsfunktion ist. ) Of the device is a component of the key pair of the cipher function.
  12. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 11, bei der die Verschlüsselungsfunktion aus der Kryptographie mit öffentlichem Schlüssel stammt und die eindeutige Sicherheitskenninformation ( The device for authenticating user's access rights to resources of claim 11, wherein the cipher function is of the public key cryptography is derived and the unique security characteristic information ( 14 14 ) der Vorrichtung der private Schlüssel des Paars mit öffentlichem Schlüssel der Verschlüsselungsfunktion ist. ) Of the device is the private key of the public key pair of the cipher function.
  13. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 8 oder 9, bei der die Verschlüsselungsfunktion aus der Kryptographie mit symmetrischem Schlüssel stammt und die eindeutige Sicherheitskenninformation ( The device for authenticating user's access rights to resources of claim 8 or 9, wherein the cipher function is of the symmetric key cryptography and originates with the unique security characteristic information ( 14 14 ) der Vorrichtung der gemeinsame Schlüssel der Verschlüsselungsfunktion ist. ) Of the device is the common key of the cipher function.
  14. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach einem der Ansprüche 1 bis 13, ferner umfassend: eine Nachweisvorrichtung ( The device for authenticating user's access rights to resources of any of claims 1 to 13, further comprising: a detection device ( 11 11 ), welche die erste Speicheranordnung ( ) Which the first storage arrangement ( 111 111 ), die zweite Speicheranordnung ( ), The second memory array ( 115 115 ), die dritte Speicheranordnung ( ), The third memory device ( 113 113 ) und die Antworterzeugungsanordnung ( ) And the response generation means ( 116 116 ) enthält; ) Contains; und eine Verifikationsvorrichtung ( and a verification device ( 101 101 , welche eine vierte Speicheranordnung zum Speichern der Abfragedaten ( Which a fourth memory device for storing the query data ( 181 181 , eine fünfte Speicheranordnung ( A fifth memory array ( 105 105 ) zum Speichern der Antwort ( ) For storing the response ( 19 19 ) und die Verifikationsanordnung ( ) And the verification means ( 106 106 ) enthält, wobei die Verifikationsvorrichtung ( ), Wherein the verification device ( 10 10 ) die in der vierten Speicheranordnung gespeicherten Abfragedaten ( ) Stored in the fourth memory device query data ( 18 18 ) an die erste Speicheranordnung ( ) To the first memory array ( 111 111 ) der Nachweisvorrichtung ( ) Of the detection device ( 11 11 ) überträgt, die Nachweisvorrichtung ( ) Transmits the detection device ( 11 11 ) die von der Antworterzeugungsanordnung ( ) Of the response generation means ( 116 116 ) erzeugte Antwort ( ) Generated response ( 19 19 ) an die fünfte Speicheranordnung ( ) To the fifth memory array ( 105 105 ) der Verifikationsvorrichtung ( ) The verification device ( 10 10 ) überträgt und die Verifikationsanordnung ( ) And transmits the verification means ( 106 106 ) der Verifikationsvorrichtung ( ) The verification device ( 10 10 ) die Richtigkeit der in der fünften Speicheranordnung ( ) The accuracy of the fifth memory array ( 105 105 ) gespeicherten Antwort verifiziert. ) Stored response verified.
  15. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 14, bei der die eindeutige Sicherheitskenninformation ( The device for authenticating user's access rights to resources of claim 14, wherein the unique security characteristic information ( 14 14 ) der Vorrichtung ein Verschlüsselungsschlüssel einer Verschlüsselungsfunktion ist, die Verifikationsvorrichtung ( ) Of the device is an encryption key of a cipher function, the verification device ( 10 10 ) eine Zufallszahlerzeugungsanordnung ( ) A random number generation means ( 102 102 ) zum Erzeugen einer Zufallszahl und zu deren Speicherung in der vierten Speicheranordnung umfaßt und die Verifikationsanordnung ( ) For generating a random number and storing in the fourth memory means, and the verification means ( 106 106 ) die Richtigkeit der Antwort verifiziert, indem verifiziert wird, daß die in der fünften Speicheranordnung ( ) The correctness of the response verified by verifying that in the fifth memory means ( 105 105 ) gespeicherte Antwort identisch mit der Verschlüsselung der in der vierten Speicheranordnung ( ) Canned response identical to the encryption of the fourth memory array ( 103 103 ) gespeicherten Abfragedaten mit dem Verschlüsselungsschlüssel ist. ) Stored query data using the encryption key.
  16. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 14, bei der die eindeutige Sicherheitskenninformation ( The device for authenticating user's access rights to resources of claim 14, wherein the unique security characteristic information ( 14 14 ) der Vorrichtung ein Entschlüsselungsschlüssel einer Verschlüsselungsfunktion ist, die Verifikationsvorrichtung ( ) Of the device is a decryption key of a cipher function, the verification device ( 10 10 ) eine Zufallszahlerzeugungsanordnung ( ) A random number generation means ( 102 102 ) zum Erzeugen einer Zufallszahl, eine sechste Speicheranordnung ( ) For generating a random number, sixth memory means ( 103 103 ) zum Speichern der erzeugten Zufallszahl und eine siebte Speicheranordnung ( ) For storing the generated random number and seventh memory means ( 122 122 ) zum Speichern eines Startparameters für Abfragedaten umfaßt, und bei der die Zufallszahlerzeugungsanordnung ( ) For storing a seed for challenging data, and wherein said random number generation means ( 102 102 ) die erzeugte Zufallszahl in der sechsten Speicheranordnung ( ), The random number generated in the sixth memory array ( 103 103 ) speichert, während der in der siebten Speicheranordnung ( ) Stores, while in the seventh memory means ( 122 122 ) gespeicherte Startparameter für die Abfragedaten durch Ausführen vordefinierter Berechnungen an der in der sechsten Speicheranordnung ( ) Stored startup parameters for the query data by executing predefined calculations at the sixth in the memory array ( 103 103 ) gespeicherten Zufallszahl und dem in der siebten Speicheranordnung ( ) Stored random number and in the seventh memory means ( 122 122 ) gespeicherten Startparamter randomisiert wird und dann der randomisierte Startparameter als Abfragedaten in der vierten Speicheranordnung gespeichert wird, und die Verifikationsanordnung ( ) Stored starting parameter is randomized and the randomized start parameter is stored as query data in the fourth memory means, and the verification means ( 106 106 ) der Verifikationsvorrichtung ( ) The verification device ( 10 10 ) die in der fünften Speicheranordnung ( ) In the fifth memory means ( 105 105 ) gespeicherte Antwort durch Ausführen vorbestimmter Berechnungen an der in der sechsten Speicheranordnung ( ) Canned response by executing predetermined calculations on the sixth in the memory array ( 103 103 ) gespeicherten Zufallszahl und der in der fünften Speicheranordnung ( ) Stored in the random number and the fifth memory means ( 105 105 ) gespeicherten Antwort de-randomisiert und dann die Richtigkeit der derandomisierten Antwort verifiziert, indem verifiziert wird, daß das de-randomisierte Ergebnis identisch mit der Entschlüsselung des in der siebten Speicheranordnung ( ) Stored response de-randomized and then verifies the correctness of the derandomized response by verifying that the de-randomized result identical to the decryption of the seventh memory array ( 122 122 ) gespeicherten Startparameters mit dem Entschlüsselungsschlüssel ist, der die eindeutige Sicherheitskenninformation ( ) Stored start parameter with the decryption key is the unique security characteristic information ( 14 14 ) der Vorrichtung ist. ) Of the device.
  17. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 14, bei der die eindeutige Sicherheitskenninformation ( The device for authenticating user's access rights to resources of claim 14, wherein the unique security characteristic information ( 14 14 ) der Vorrichtung der Signaturschlüssel einer digitalen Signaturfunktion ist und die Verifikationsvorrichtung ( ) Is the device of the signature key of a digital signature function and the verification device ( 10 10 ) eine Zufallszahlerzeugungsanordnung ( ) A random number generation means ( 102 102 ) zum Erzeugen einer Zufallszahl und zum Speichern der erzeugten Zufallszahl als Abfragedaten in der vierten Speicheranordnung umfaßt, und bei der die Verifikationsanordnung ( ) For generating a random number and storing the generated random number as challenging data in the fourth memory means, and wherein the verification means ( 106 106 ) der Verifikationsvorrichtung ( ) The verification device ( 10 10 ) die Richtigkeit der Antwort verifiziert, indem verifiziert wird, daß die in der fünften Speicheranordnung ( ) The correctness of the response verified by verifying that in the fifth memory means ( 105 105 ) gespeicherte Antwort identisch mit der digitalen Signatur für die in der vierten Speicheranordnung gespeicherten Abfragedaten ist, die mit dem Signaturschlüssel berechnet wird, der die eindeutige Sicherheitskenninformation ( ) Canned response identical with the digital signature for the query data stored in the fourth memory array is calculated with the signature key, the unique security characteristic information ( 14 14 ) der Vorrichtung ist. ) Of the device.
  18. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 15, bei der die eindeutige Sicherheitskenninformation ( The device for authenticating user's access rights to resources of claim 15, wherein the unique security characteristic information ( 14 14 ) der Vorrichtung der private Schlüssel D eines RSA-Paars mit öffentlichem Schlüssel mit einem Modul n ist und die Verifikationsanordnung ( ) Of the device is the private key D of an RSA public key pair with a modulus n, and the verification means ( 106 106 ) die Richtigkeit der Antwort verifiziert, indem verifiziert wird, daß die E-te Potenz der in der fünften Speicheranordnung ( ) The correctness of the response verified by verifying that the E-th power of the fifth memory means ( 105 105 ) gespeicherten Antwort R, wobei E den dem privaten Schlüssel D zugeordneten öffentlichen Schlüssel bezeichnet, kongruent mit den in der vierten Speicheranordnung gespeicherten Abfragedaten C modulo n ist, dh R E mod n = C mod n. ) Stored response R, where E is the private key D associated public key, congruent with the data stored in the fourth memory means challenging data C modulo n, ie R e mod n = C mod n.
  19. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 16, bei der die eindeutige Sicherheitskenninformation ( The device for authenticating user's access rights to resources of claim 16, wherein the unique security characteristic information ( 14 14 ) der Vorrichtung der private Schlüssel D eines RSA-Paars mit öffentlichem Schlüssel mit einem Modul n ist, ein Startparameter C' für in der siebten Speicheranordnung ( ) Of the apparatus, the private key D of an RSA public key pair with a modulus n, a seed C 'for in the seventh memory means ( 122 122 ) gespeicherte Abfragedaten eine RSA-Verschlüsselung von Daten K mit dem öffentlichen Schlüssel E des RSA-Paars mit öffentlichem Schlüssel ist, dh DE mod φ(n) = 1, C' = K E mod n, eine von der Zufallszahlerzeugungsanordnung ( ) Query data RSA encryption of data K with the public key e of RSA public key pair, ie EN mod φ (n) = 1, C '= K e mod n, one of the random number generation means ( 102 102 ) erzeugte Zufallszahl r in der sechsten Speicheranordnung ( ) Generated random number r in the sixth memory array ( 103 103 ) gespeichert ist, erzeugte und in der vierten Speicheranordnung gespeicherte Abfragedaten C die Relation C = r E C' mod n erfüllen, und die Verifikationsanordnung ( ) Is stored, generated and stored in the fourth memory means challenging data C, the relation C = r satisfy E C 'mod n, and the verification means ( 106 106 ) die Richtigkeit der in der fünften Speicheranordnung ( ) The accuracy of the fifth memory array ( 105 105 ) gespeicherten Antwort R verifiziert, indem verifiziert wird, daß der Quotient R dividiert durch r modulo n kongruent mit den Daten K modulo n ist, dh K mod n = r –1 R mod n. ) Stored response R verified by verifying that the quotient of R divided by r modulo n is congruent with the data K modulo n, ie K mod n = r -1 R mod n.
  20. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 18 oder 19, bei der in der dritten Speicheranordnung ( The device for authenticating user's access rights to resources of claim 18 or 19, wherein in the third memory means ( 113 113 ) gespeicherte Nachweisunterstützungsinformation t ( ) Stored proof support information t ( 13 13 ) die Relation t = D – e + w φ(n) erfüllt, wobei e eine in der zweiten Speicheranordnung ( ), The relation t = D - e + w φ (n) is satisfied, where E a in the second storage arrangement ( 115 115 ) gespeicherte eindeutige Benutzerkennung ( ) Stored unique user identifier ( 16 16 ) bezeichnet, w eine konfliktfreie Zufallszahl ist, die abhängig sowohl von n als auch e ermittelt wird, und φ(n) die Euler-Zahl von n bezeichnet, und die von der Antworterzeugungsanordnung ( ) Denotes a conflict-free random number w is dependent upon both the designated n and e is determined, and φ (n) is the Euler number of n, and the response generation means ( 116 116 ) erzeugte Antwort identisch mit der D-ten Potenz von in der ersten Speicheranordnung ( ) Response generated identical with the D-th power of the first memory array ( 111 111 ) gespeicherten Abfragedaten C modulo n ist, dh, R = C D mod n. ) Stored challenging data C modulo n, ie R = C D mod n.
  21. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 20, bei der die Antworterzeugungsanordnung ( The device for authenticating user's access rights to resources of claim 20, wherein the response generation means ( 116 116 ) des weiteren umfaßt: eine dritte Rechenanordnung ( ) Further comprises: third calculation means ( 112 112 ) zum Berechnen der t-ten Potenz von in der ersten Speicheranordnung ( ) For calculating the t-th power of the first memory array ( 111 111 ) gespeicherten Abfragedaten C modulo n, dh C t mod n, wobei t in der dritten Speicheranordnung ( ) Stored challenging data C modulo n, ie C t mod n, where t is in the third memory means ( 113 113 ) gespeicherte Nachweisunterstützungsinformation ( ) Stored proof support information ( 13 13 ) bezeichnet; ) Denotes; eine vierte Rechenanordnung ( fourth calculation means ( 114 114 ) zum Berechnen der e-ten Potenz der Abfragedaten C modulo n, dh C t mod n, wobei e eine in der zweiten Speicheranordnung ( ) For calculating the e-th power of the challenging data C modulo n, ie C t mod n, where e a in the second storage arrangement ( 115 115 ) gespeicherte eindeutige Benutzerkennung ( ) Stored unique user identifier ( 16 16 ) bezeichnet; ) Denotes; und eine fünfte Rechenanordnung ( and fifth calculation means ( 116 116 ) zum Berechnen einer Antwort R durch Multiplikation des von der dritten Rechenanordnung ( ) For calculating a response R by multiplying the calculation by the third assembly ( 112 112 ) berechneten Ergebnisses mit dem von der vierten Rechenanordnung ( ) Calculated result with that of the fourth calculation means ( 114 114 ) berechneten Ergebnis modulo n, dh R = C t C e mod n. ) Calculated result modulo n, ie R = C t C s mod n.
  22. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 21, ferner umfassend: eine Schutzanordnung ( The device for authenticating user's access rights to resources of claim 21, further comprising: protect means ( 160 160 ) zum Verhindern, daß irgendwelche Daten in ihr von außen einsehbar oder manipulierbar sind, welche die zweite Speicheranordnung ( ) For preventing any data are available or being tampered with from the outside in it, which the second storage arrangement ( 115 115 ) und die vierte Rechenanordnung ( ) And the fourth calculation means ( 114 114 ) einschließt. ) Includes.
  23. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 18 oder 19, bei der in der dritten Speicheranordnung ( The device for authenticating user's access rights to resources of claim 18 or 19, wherein in the third memory means ( 113 113 ) gespeicherte Nachweisunterstützungsinformation t ( ) Stored proof support information t ( 13 13 ) die Relation t = D + F(n, e) erfüllt, wobei e eine in der zweiten Speicheranordnung ( ), The relation t = D + F (n, satisfies e), where e a in the second storage arrangement ( 115 115 ) gespeicherte eindeutige Benutzerkennung ( ) Stored unique user identifier ( 16 16 ) bezeichnet und F(x, y) eine kollisionsfreie Funktion mit zwei Variablen bezeichnet, und eine von der Antworterzeugungsanordnung ( ) Referred to, and F (x, y) denotes a collision-free function of two variables, and one from the response generation means ( 116 116 ) erzeugte Antwort identisch mit der D-ten Potenz von in der ersten Speicheranordnung ( ) Response generated identical with the D-th power of the first memory array ( 111 111 ) gespeicherten Abfragedaten C modulo n ist, dh R = C D mod n. ) Stored query data C modulo n, ie, R = C D mod n.
  24. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 23, bei der die Antworterzeugungsanordnung ( The device for authenticating user's access rights to resources of claim 23, wherein the response generation means ( 116 116 ) des weiteren umfaßt: eine dritte Rechenanordnung ( ) Further comprises: third calculation means ( 112 112 ) zum Berechnen der t-ten Potenz von in der ersten Speicheranordnung ( ) For calculating the t-th power of the first memory array ( 111 111 ) gespeicherten Abfragedaten C modulo n, wobei t die in der dritten Speicheranordnung ( ) Stored challenging data C modulo n, where t is in the third memory means ( 113 113 ) gespeicherte Nachweisunterstützungsinformation ( ) Stored proof support information ( 131 131 bezeichnet, dh C t mod n; denotes, ie C t mod n; eine vierte Rechenanordnung ( fourth calculation means ( 114 114 ) zum Berechnen der F(n, e)-ten Potenz der Abfragedaten C modulo n, dh C F(n, e) mod n, wobei e die in der zweiten Speicheranordnung ( ) For calculating the F (n, e) -th power of the challenging data C modulo n, ie C F (n, e) mod n, where e in the second memory array ( 115 115 ) gespeicherte eindeutige Benutzerkennung ( ) Stored unique user identifier ( 16 16 ) bezeichnet und F(x, y) eine kollisionsfreie Funktion mit zwei Variablen bezeichnet; ) Referred to, and F (x, y) denotes a collision-free function of two variables; und eine fünfte Rechenanordnung ( and fifth calculation means ( 116 116 ) zum Berechnen einer Antwort R durch Dividieren des von der dritten Rechenanordnung ( ) For calculating a response R by dividing the third calculation means by the ( 112 112 ) berechneten Ergebnisses durch das von der vierten Rechenanordnung ( ) Calculated result by the fourth calculation means ( 114 114 ) berechnete Ergebnis modulo n, dh R = C t C –F(n, e) mod n. ) Calculated result modulo n, ie R = C t C -F (n, e) mod n.
  25. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 24, ferner umfassend: eine Schutzanordnung ( The device for authenticating user's access rights to resources of claim 24, further comprising: protect means ( 160 160 ) zum Verhindern, daß irgendwelche Daten in ihr von außen einsehbar oder manipulierbar sind, welche die zweite Speicheranordnung ( ) For preventing any data are available or being tampered with from the outside in it, which the second storage arrangement ( 115 115 ) und die vierte Rechenanordnung ( ) And the fourth calculation means ( 114 114 ) einschließt. ) Includes.
  26. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 15, bei der die eindeutige Sicherheitskenninformation ( The device for authenticating user's access rights to resources of claim 15, wherein the unique security characteristic information ( 14 14 ) der Vorrichtung ein Schlüssel D eines Pohlig-Hellman-Schlüsselpaars mit einem Modul p ist und die Verifikationsanordnung ( ) Of the device is a key D of a Pohlig-Hellman key pair with a modulus p, and the verification means ( 106 106 ) die Richtigkeit der Antwort verifiziert, indem verifiziert wird, daß die E-te Potenz der in der fünften Speicheranordnung ( ) The correctness of the response verified by verifying that the E-th power of the fifth memory means ( 105 105 ) gespeicherten Antwort R, wobei E den Gegenschlüssel des Schlüssels D bezeichnet, dh DE mod (p – 1) = 1, kongruent mit den in der vierten Speicheranordnung gespeicherten Abfragedaten modulo p ist, dh R E mod p = C mod p. ) Stored response R, where E denotes the counterpart key of the key D, ie DE mod (p - 1) = 1, is congruent with the data stored in the fourth memory device query data modulo p, ie R E mod p = C mod p.
  27. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 16, bei der die eindeutige Sicherheitskenninformation ( The device for authenticating user's access rights to resources of claim 16, wherein the unique security characteristic information ( 14 14 ) der Vorrichtung ein Schlüssel D eines Pohlig-Hellman-Schlüsselpaars mit einem Modul p ist, ein in der siebten Speicheranordnung ( ) Of the device key is D a Pohlig-Hellman key pair with a modulus p, in the seventh memory means ( 422 422 ) gespeicherter Startparameter C' für Abfragedaten eine Pohlig-Hellman-Verschlüsselung von Daten K mit dem Gegenschlüssel E des Schlüssels D ist, dh DE mod (p – 1) = 1, C' = K E mod p, eine von der Zufallszahlerzeugungsanordnung ( ) Stored Start parameter C 'for query data, a Pohlig-Hellman encryption of data K with the counterpart key E of the key D, ie, EN mod (p - 1) = 1, C' = K E mod p, one of the random number generation means ( 402 402 ) erzeugte Zufallszahl r in der sechsten Speicheranordnung ( ) Generated random number r in the sixth memory array ( 403 403 ) gespeichert ist, in der vierten Speicheranordnung gespeicherte Abfragedaten C die Relation C = r E C' mod p erfüllen, und die Verifikationsanordnung ( ) Is stored in the fourth memory array query data the relation C = C r E C 'mod p satisfy, and the verification means ( 106 106 ) die Richtigkeit der in der fünften Speicheranordnung ( ) The accuracy of the fifth memory array ( 405 405 ) gespeicherten Antwort R verifiziert, indem verifiziert wird, daß der Quotient R dividiert durch r modulo p kongruent mit den Daten K modulo p ist, dh K mod p = r –1 R mod p. ) Stored response R verified by verifying that the quotient of R divided by r modulo p is congruent with the data K modulo p, ie K mod p = r -1 R mod p.
  28. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 26 oder 27, bei der in der dritten Speicheranordnung ( The device for authenticating user's access rights to resources of claim 26 or 27, wherein in the third memory means ( 413 413 ) gespeicherte Nachweisunterstützungsinformation t ( ) Stored proof support information t ( 13 13 ) die Relation t = D + F(p, e) erfüllt, wobei e die in der zweiten Speicheranordnung ( ) Satisfies the relation t = D + F (p, e), where e in the second memory array ( 415 415 ) gespeicherte eindeutige Benutzerkennung ( ) Stored unique user identifier ( 16 16 ) bezeichnet und F(x, y) eine kollisionsfreie Funktion mit zwei Variablen bezeichnet, und eine von der Antworterzeugungsanordnung ( ) Referred to, and F (x, y) denotes a collision-free function of two variables, and one from the response generation means ( 416 416 ) erzeugte Antwort identisch mit der D-ten Potenz von in der ersten Speicheranordnung ( ) Response generated identical with the D-th power of the first memory array ( 411 411 ) gespeicherten Abfragedaten C modulo p ist, dh R = C D mod p. ) Stored query data C modulo p, ie R = C D mod p.
  29. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 28, bei der die Antworterzeugungsanordnung ( The device for authenticating user's access rights to resources of claim 28, wherein the response generation means ( 416 416 ) des weiteren umfaßt: eine dritte Rechenanordnung ( ) Further comprises: third calculation means ( 412 412 ) zum Berechnen der t-ten Potenz von in der ersten Speicheranordnung ( ) For calculating the t-th power of the first memory array ( 411 411 ) gespeicherten Abfragedaten C modulo p, wobei t die in der dritten Speicheranordnung ( ) Stored challenging data C modulo p, where t is in the third memory means ( 413 413 ) gespeicherte Nachweisunterstützungsinformation ( ) Stored proof support information ( 13 13 ) bezeichnet, dh C t mod p; ) Referred to, ie C t mod p; eine vierte Rechenanordnung ( fourth calculation means ( 414 414 ) zum Berechnen der F(p, e)-ten Potenz der Abfragedaten C modulo p, dh C F(p, e) mod p, wobei e die in der zweiten Speicheranordnung ( ) For calculating the F (p, e) -th power of the challenging data C modulo p, ie C F (p, e) mod p, where e in the second memory array ( 415 415 ) gespeicherte eindeutige Benutzerkennung ( ) Stored unique user identifier ( 16 16 ) bezeichnet und F(x, y) eine kollisionsfreie Funktion mit zwei Variablen bezeichnet; ) Referred to, and F (x, y) denotes a collision-free function of two variables; und eine fünfte Rechenanordnung ( and fifth calculation means ( 416 416 ) zum Berechnen einer Antwort R durch Dividieren des von der dritten Rechenanordnung ( ) For calculating a response R by dividing the third calculation means by the ( 412 412 ) berechneten Ergebnisses durch das von der vierten Rechenanordnung ( ) Calculated result by the fourth calculation means ( 414 414 ) berechnete Ergebnis modulo p, dh R = C t C –F(p, e) mod p. ) Calculated result modulo p, ie R = C t C F (p, e) mod p.
  30. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 29, ferner umfassend: eine Schutzanordnung ( The device for authenticating user's access rights to resources of claim 29, further comprising: protect means ( 160 160 ) zum Verhindern, daß irgendwelche Daten in ihr von außerhalb einsehbar oder manipulierbar sind, welche die zweite Speicheranordnung ( ) For preventing any data from outside of cost or manipulated in it, which the second memory array ( 415 415 ) und die vierte Rechenanordnung ) And the fourth calculation means 1414 1414 ) einschließt. ) Includes.
  31. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 16, bei der die eindeutige Sicherheitskenninformation ( The device for authenticating user's access rights to resources of claim 16, wherein the unique security characteristic information ( 14 14 ) der Vorrichtung der private Schlüssel X eines EIGamal-Paars mit öffentlichem Schlüssel mit einem Modul p und einem Generator G ist, der X entsprechende öffentliche Schlüssel Y die X-te Potenz von G modulo p ist, dh Y = G x mod p, u die z-te Potenz von G modulo p (u = G z mod p) für eine Zufallszahl r bezeichnet, K' das Produkt modulo p der z-ten Potenz von Y modulo p und einem Datenwert K bezeichnet, dh K' = Y z K mod p, die siebte Speicheranordnung ( ) Of the device is the private key X of an EIGamal public key pair with a modulus p and a generator G, the corresponding public key Y is X, the X-th power of G modulo p, ie Y = G x mod p, u the z-th power of G modulo p (u = G z mod p) for a random number r is, K 'the product modulo p of the z-th power of Y modulo p and a data value of K indicates, that K' = Y z K mod p, the seventh memory array ( 522 522 ) das Paar aus u und K' hält, eine von der Zufallserzeugungsanordnung ( ) 'Holds the pair of u and K, one of the random generation arrangement ( 602 602 ) erzeugte Zufallszahl r in der sechsten Speicheranordnung ( ) Generated random number r in the sixth memory array ( 603 603 ) gespeichert ist, C das Produkt modulo p von K' und r bezeichnet, dh C = rK' mod p, die vierte Speicheranordnung das Paar C und u hält, und die Verifikationsanordnung ( Is) stored, C the product modulo p 'denotes and r, ie, C = rK' of K mod p, the fourth memory device, the pair C and u holds, and the verification means ( 106 106 ) die Richtigkeit der in der fünften Speicheranordnung ( ) The accuracy of the fifth memory array ( 505 505 ) gespeicherten Antwort R verifiziert, indem verifiziert wird, daß der Quotient R dividiert durch r modulo p kongruent mit K modulo p ist, dh K mod p = r –1 R mod p. ) Stored response R verified by verifying that the quotient of R divided by r modulo p is congruent with K modulo p, ie K mod p = r -1 R mod p.
  32. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 31, bei der in der dritten Speicheranordnung ( The device for authenticating user's access rights to resources of claim 31, wherein in the third memory means ( 513 513 ) gespeicherte Nachweisunterstützungsinformation t ( ) Stored proof support information t ( 13 13 ) die Relation t = D + F(p, e) erfüllt, wobei e die in der zweiten Speicheranordnung ( ) Satisfies the relation t = D + F (p, e), where e in the second memory array ( 515 515 ) gespeicherte eindeutige Benutzerkennung ( ) Stored unique user identifier ( 16 16 ) bezeichnet und F(x, y) eine kollisionsfreie Funktion mit zwei Variablen bezeichnet, und eine von der Antworterzeugungsanordnung ( ) Referred to, and F (x, y) denotes a collision-free function of two variables, and one from the response generation means ( 516 516 ) erzeugte Antwort R identisch mit dem Quotienten C dividiert durch die X-te Potenz von u modulo p ist, dh R = u –x C mod p, wobei das Paar C und u die in der ersten Speicheranordnung ( ) Generated response R identical with the quotient of C divided by X-th power of u modulo p, ie R = u -X C mod p, where the pair C and u in the first memory array ( 511 511 ) gespeicherten Abfragedaten sind. ) Stored query data.
  33. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 32, bei der die Antworterzeugungsanordnung ( The device for authenticating user's access rights to resources of claim 32, wherein the response generation means ( 516 516 ) des weiteren umfaßt: eine dritte Rechenanordnung ( ) Further comprises: third calculation means ( 512 512 ) zum Berechnen der t-ten Potenz der Komponente u des in der ersten Speicheranordnung ( ) For calculating the t-th power of the component u of the first memory array ( 511 511 ) gespeicherten Abfragedatenpaars modulo p, wobei t eine in der dritten Speicheranordnung ( ) Stored query data pair modulo p, where t is an in the third memory means ( 513 513 ) gespeicherte Nachweisunterstützungsinformation bezeichnet, dh u t mod p; ) Stored proof support information referred to, ie u t mod p; eine vierte Rechenanordnung ( fourth calculation means ( 514 514 ) zum Berechnen der F(p, e)-ten Potenz von u modulo p, dh u F(p, e) mod p, wobei e die in der zweiten Speicheranordnung ( ) For calculating the F (p, e) -th power of u modulo p, ie u F (p, e) mod p, where e in the second memory array ( 515 515 ) gespeicherte eindeutige Benutzerkennung ( ) Stored unique user identifier ( 16 16 ) bezeichnet und F(x, y) eine kollisionsfreie Funktion mit zwei Variablen bezeichnet; ) Referred to, and F (x, y) denotes a collision-free function of two variables; und eine fünfte Rechenanordnung ( and fifth calculation means ( 516 516 ) zum Berechnen einer Antwort R durch Dividieren des Produkts der anderen Komponente C des Abfragedatenpaars mit dem von der vierten Rechenanordnung ( ) For calculating a response R by dividing the product of the other component C of the challenging data with the fourth pair of the rake assembly ( 514 514 ) berechneten Ergebnis durch das von der dritten Rechenanordnung ( ) Calculated by the result of the third arithmetic means ( 512 512 ) berechnete Ergebnis modulo p, dh R = Cu F(p, e) u –t mod p. ) Calculated result modulo p, ie R = Cu F (p, e) u t mod p.
  34. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 33, ferner umfassend: eine Schutzanordnung ( The device for authenticating user's access rights to resources of claim 33, further comprising: a protection order ( 160 160 ) zum Verhindern, daß irgendwelche Daten in ihr von außerhalb einsehbar oder manipulierbar sind, welche die zweite Speicheranordnung ( ) For preventing any data from outside of cost or manipulated in it, which the second memory array ( 515 515 ) und die vierte Rechenanordnung ) And the fourth calculation means 1514 1514 ) einschließt. ) Includes.
  35. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 17, bei der die eindeutige Sicherheitskenninformation ( The device for authenticating user's access rights to resources of claim 17, wherein the unique security characteristic information ( 14 14 ) der Vorrichtung der Signaturschlüssel X eines EIGamal-Paars mit öffentlichem Schlüssel mit einem Modul p und einem Generator G ist, der X entsprechende öffentliche Schlüssel Y die X-te Potenz von G modulo p ist, dh Y = G x mod p, eine in der fünften Speicheranordnung ( ) Is the device of the signature key X of an EIGamal-public key pair with a modulus p and a generator G that is X corresponding public key Y, the X-th power of G modulo p, ie Y = G x mod p, a in the fifth memory means ( 605 605 ) gespeicherte Antwort ein Paar aus R und S ist, und die Verifikationsanordnung ( ) Canned response a pair of R and S, and the verification means ( 606 606 ) die Richtigkeit der in der fünften Speicheranordnung ( ) The accuracy of the fifth memory array ( 605 605 ) gespeicherten Antwort R verifiziert, indem verifiziert wird, daß die C-te Potenz von G für die in der vierten Speicheranordnung gespeicherten Abfragedaten C kongruent modulo p mit dem Produkt der R-ten Potenz von Y und der S-ten Potenz von R ist, dh G c mod p = Y R R S mod p. ) Stored response R verified by verifying that the C-th power of G for the data stored in the fourth memory means challenging data C is congruent modulo p with the product of the R-th power of Y and the S-th power of R, ie G c mod p = R R Y S mod p.
  36. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 35, bei der in der dritten Speicheranordnung ( The device for authenticating user's access rights to resources of claim 35, wherein in the third memory means ( 613 613 ) gespeicherte Nachweisunterstützungsinformation t ( ) Stored proof support information t ( 13 13 ) die Relation t = D + F(p, e) erfüllt, wobei e die in der zweiten Speicheranordnung ( ) Satisfies the relation t = D + F (p, e), where e in the second memory array ( 616 616 ) gespeicherte eindeutige Benutzerkennung ( ) Stored unique user identifier ( 16 16 ) bezeichnet und F(x, y) eine kollisionsfreie Funktion mit zwei Variablen bezeichnet, und die Antworterzeugungsanordnung ( ) Referred to, and F (x, y) denotes a collision-free function of two variables, and the response generation means ( 116 116 ) ein Antwortpaar R und S durch Ausführen der folgenden Schritte erzeugt: Erzeugen einer Zufallszahl k; ) A response pair R and S generated by performing the following steps: generating a random number k; Berechnen von R als k-te Potenz von G modulo p, dh R = G k mod p; Calculating R as k-th power of G modulo p, ie R = G k mod p; und Berechnen von S nach Maßgabe der Relation S = (C – RX) k –1 mod (p – 1). and calculating S according to the relation S = (C - RX) k -1 mod (p - 1).
  37. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 36, ferner umfassend: eine Schutzanordnung ( The device for authenticating user's access rights to resources of claim 36, further comprising: protect means ( 160 160 ) zum Verhindern, daß irgendwelche Daten in ihr von außen einsehbar oder manipulierbar sind, welche die zweite Speicheranordnung ( ) For preventing any data are available or being tampered with from the outside in it, which the second storage arrangement ( 616 616 ) und die vierte Rechenanordnung ( ) And the fourth calculation means ( 614 614 ) einschließt. ) Includes.
  38. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 4, bei der die in der zweiten Speicheranordnung ( The device for authenticating user's access rights to resources of claim 4, wherein in said second memory array ( 715 715 ) gespeicherte eindeutige Benutzerkennung ( ) Stored unique user identifier ( 16 16 ) ein Entschlüsselungsschlüssel einer Verschlüsselungsfunktion ist, die in der dritten Speicheranordnung ( ) Is a decryption key of a cipher function, which in the third memory means ( 713 713 ) gespeicherte Nachweisunterstützungsinformation ( ) Stored proof support information ( 13 13 ) eine Verschlüsselung der eindeutigen Sicherheitskenninformation der Vorrichtung mit dem Verschlüsselungsschlüssel entsprechend dem Entschlüsselungsschlüssel ist, und die erste Rechenanordnung ( ) Is an encryption of the unique security characteristic information of the device with the encryption key corresponding to the decryption key, and the first computing device ( 712 712 ) die eindeutige Sicherheitskenninformation ( ) The unique security characteristic information ( 14 14 ) der Vorrichtung durch Entschlüsseln der in der dritten Speicheranordnung ( ) Of the device by decrypting the in the third memory means ( 713 713 ) gespeicherten Nachweisunterstützungsinformation mit dem in der zweiten Speicheranordnung ( ) Proof support information stored in the second memory array ( 715 715 ) gespeicherten Entschlüsselungsschlüssel berechnet. ) Stored decryption key calculated.
  39. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 38, bei der die Verschlüsselungsfunktion aus der Kryptographie mit asymmetrischem Schlüssel stammt und die eindeutige Benutzerkennung ( The device for authenticating user's access rights to resources of claim 38, wherein the cipher function is of the asymmetric key cryptography is derived, and the user unique identifying information ( 16 16 ) eine Komponente des Schlüsselpaars der Verschlüsselungsfunktion ist. ) Is a component of the key pair of the encryption function.
  40. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 39, bei der die Verschlüsselungsfunktion aus der Kryptographie mit öffentlichem Schlüssel stammt und die eindeutige Benutzerkennung ( The device for authenticating user's access rights to resources of claim 39, wherein the cipher function is of the public key cryptography is derived, and the user unique identifying information ( 16 16 ) der private Schlüssel des Paars mit öffentlichem Schlüssel der Verschlüsselungsfunktion ist. ) Is the private key of the public key pair of the cipher function.
  41. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 38, bei der die Verschlüsselungsfunktion aus der Kryptographie mit symmetrischem Schlüssel stammt und die eindeutige Benutzerkennung ( The device for authenticating user's access rights to resources of claim 38, wherein the cipher function is of the symmetric key cryptography and originates with the unique user identifier ( 16 16 ) der gemeinsame geheime Schlüssel der Verschlüsselungsfunktion ist. ) Is the shared secret key of the encryption function.
  42. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 8 oder 16, bei der die Verifikationsvorrichtung ( The device for authenticating user's access rights to resources of claim 8 or 16, wherein the verification device ( 10 10 ) des weiteren umfaßt: eine achte Speicheranordnung ( ) Further comprises: eighth memory means ( 310a 310a ) zum Speichern von Klardaten, deren Verschlüsselung die Abfragedaten oder der Startparameter für die in der ersten Speicheranordnung ( ) For storing clear data, encrypting the challenge data or the startup parameters in the first memory array ( 111 111 ) gespeicherten Abfragedaten sind; ) Stored query data; und eine Vergleichsanordnung ( and a comparator circuit ( 310b 310b ) zur Überprüfung, ob die in der achten Speicheranordnung ( ) To check whether the eighth memory array ( 310a 310a ) gespeicherten Klardaten identisch mit Daten sind, die in die Vergleichsanordnung ( ) Clear stored data are identical with the data in the comparison array ( 310b 310b ) eingegeben werden, und bei der die Verifikationsanordnung ( ) Are inputted, and wherein the verification means ( 106 106 ) die Antwort oder den de-randomisierten Wert der in der fünften Speicheranordnung ( ) The response or the de-randomized value in the fifth memory means ( 105 105 ) gespeicherten Antwort an die Vergleichsanordnung ( ) Stored response to the comparison array ( 310b 310b ) liefert, die Rückantwort von der Vergleichsanordnung ( ) Returns, the return response from the comparison arrangement ( 310b 310b ) empfängt und dadurch die Verifikationsanordnung ( ) And thus receives the verification means ( 106 106 ) die Richtigkeit der Antwort dann und nur dann verifiziert, wenn die empfangene Rückantwort zeigt, daß die in der achten Speicheranordnung ( ) The accuracy of the answer then and only then verifies if the received response shows that in the eighth memory array ( 310a 310a ) gespeicherten Klardaten identisch mit den in die Vergleichsanordnung ( ) Clear stored data identical to those in the comparison array ( 310b 310b ) eingegebenen Daten sind. ) Entered data.
  43. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 8 oder 16, bei der die Verifikationsvorrichtung ( The device for authenticating user's access rights to resources of claim 8 or 16, wherein the verification device ( 10 10 ) des weiteren umfaßt: eine neunte Speicheranordnung ( ) Further comprises: a ninth memory device ( 310a 310a ) zum Speichern eines Werts, der durch Anwenden einer Einwegfunktion auf Klardaten erhalten wird, deren Verschlüsselung die Abfragedaten oder der Startparameter für in der siebten Speicheranordnung ( ) For storing a value which is obtained by applying a one-way function to clear data, encrypting the challenge data or the startup parameters for seventh in the storage array ( 122 122 ) gespeicherte Abfragedaten sind; ) Query data; eine sechste Rechenanordnung ( a sixth computing array ( 310c 310c ) zum Ausgeben eines Werts, der durch Anwenden der Einwegfunktion auf einen eingegebenen Datenwert berechnet wird; ) For outputting a value, which is calculated by applying the one-way function to an inputted data; und eine Vergleichsanordnung ( and a comparator circuit ( 310b 310b ) zur Überprüfung, ob der in der neunten Speicheranordnung ( ) To verify that the memory device in the ninth ( 310a 310a ) gespeicherte Wert identisch mit in die Vergleichsanordnung ( ) Stored value identical to that in the comparison array ( 310b 310b ) eingegebenen Daten ist, und bei der die Verifikationsanordnung ( ) Is input data, and wherein the verification means ( 106 106 ) die Antwort oder den de-randomisierten Wert der Antwort an die sechste Rechenanordnung ( ) The response or the de-randomized value of the response to the sixth calculation means ( 310c 310c ) liefert, ein Ergebnis von der sechsten Rechenanordnung ( ) Returns a result of the sixth arithmetic means ( 310c 310c ) empfängt, das Ergebnis an die Vergleichsanordnung ( ) Receives the result of the comparison array ( 310b 310b ) liefert und eine Rückantwort von der Vergleichsanordnung ( ) And provides a response back from the comparison array ( 310b 310b ) empfängt und die Verifikationsanordnung ( ) And to the verification means ( 106 106 ) dadurch die Richtigkeit der Antwort dann und nur dann verifiziert, wenn die empfangene Rückantwort zeigt, daß das Ergebnis der Berechnung durch die sechste Rechenanordnung ( ) Wherein the accuracy of the response if and only verified when the received response indicates that the result of the calculation by the sixth calculation means ( 310c 310c ) identisch mit den in der neunten Speicheranordnung ( ) Are identical to those in the ninth memory array ( 310a 310a ) gespeicherten Daten ist. ) Stored data.
  44. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 8 oder 16, bei der die Verifikationsvorrichtung ( The device for authenticating user's access rights to resources of claim 8 or 16, wherein the verification device ( 10 10 ) des weiteren umfaßt: eine Programmausführungsanordnung ( ) Further comprises: a program execution order ( 310 310 ) zum Ausführen von Code eines Programms, dessen Verschlüsselung die in der siebten Speicheranordnung ( ) To execute code of a program, its encryption in the seventh memory means ( 122 122 ) gespeicherten Abfragedaten sind, und bei der die Verifikationsanordnung ( ) Stored query data, and wherein the verification means ( 106 106 ) die in der fünften Speicheranordnung ( ) In the fifth memory means ( 105 105 ) gespeicherte Antwort als Programmcode an die Programmausführungsanordnung ) Canned response as program code to the program execution order 1310 1310 ) liefert, und die Programmausführungsanordnung ( ) Returns, and the program execution order ( 310 310 ) dann und nur dann korrekt funktioniert, wenn die Antwortereugungsanordnung ( ) And only works correctly if the Antwortereugungsanordnung ( 116 116 ) die Abfragedaten korrekt entschlüsselt, die eine Verschlüsselung des Codes des Programms sind, dh, wenn die Verschlüsselung des Programms korrekt entschlüsselt wird. ) The query data correctly decrypted, which are an encryption of the code of the program, ie, if the encryption of the program is decrypted correctly.
  45. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 8 oder 16, bei der die Verifikationsvorrichtung ( The device for authenticating user's access rights to resources of claim 8 or 16, wherein the verification device ( 10 10 ) des weiteren umfaßt: eine Programmausführungsanordnung ( ) Further comprises: a program execution order ( 310 310 ); ); eine Programmspeicheranordnung ( a program memory array ( 310g 310g ); ); und eine Programmentschlüsselungsanordnung ( and a decryption program ( 310h 310h ), und bei der die Programmspeicheranordnung ( ), And wherein the program storage device ( 310g 310g ) Code eines Programms speichert, das teilweise oder vollständig verschlüsselt ist, eine Verschlüsselung des Entschlüsselungsschlüssels für den teilweise oder vollständig verschlüsselten Programmcode die in der siebten Speicheranordnung ( ) Code of a program stores, which is partially or fully encrypted, encryption of the decryption key for the partially or fully encrypted code in the seventh memory means ( 122 122 ) gespeicherten Abfragedaten sind, die Verifikationsanordnung ( ) Stored query data, the verification means ( 106 106 ) die Antwort an die Programmentschlüsselungsanordnung ( ) The response to the program decryption ( 310h 310h ) liefert, die Programmentschlüsselungsanordnung ( ) Returns, the program decryption ( 310h 310h ) das in der Programmspeicheranordnung ( ) In the program memory array ( 310g 310g ) gespeicherte Programm mit der Antwort als Entschlüsselungsschlüssel entschlüsselt, und die Programmausführungsanordnung ( ) Program stored decrypted with the answer as a decryption key, and the program execution order ( 310 310 ) das entschlüsselte Programm dann und nur dann korrekt ausführt, wenn die Antworterzeugungsanordnung ( ) Deciphering the program and only then executes correctly if the response generation means ( 116 116 ) die Abfragedaten korrekt entschlüsselt, dh, der Entschlüsselungsschlüssel zum Entschlüsseln der Verschlüsselung des Programms korrekt entschlüsselt ist. ) The query data decrypted correctly, ie, the decryption key is decrypted correctly to decrypt the encryption of the program.
  46. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 14, bei der die Nachweisvorrichtung ( The device for authenticating user's access rights to resources of claim 14, wherein the detection device ( 11 11 ) und die Verifikationsvorrichtung ( ) And the verification device ( 10 10 ) in einer gehäuseartigen Anordnung installiert sind und die Verifikationsvorrichtung ( ) Are installed in a housing-like arrangement and the verification device ( 10 10 ) die in der vierten Speicheranordnung gespeicherten Abfragedaten ( ) Stored in the fourth memory device query data ( 18 18 ) an die erste Speicheranordnung ( ) To the first memory array ( 111 111 ) der Nachweisvorrichtung ( ) Of the detection device ( 11 11 ) überträgt und die Nachweisvorrichtung ( ) And transmits the detection device ( 11 11 ) die von der Antworterzeugungsanordnung ( ) Of the response generation means ( 116 116 ) erzeugte Antwort ( ) Generated response ( 19 19 ) an die fünfte Speicheranordnung ( ) To the fifth memory array ( 105 105 ) der Verifikationsvorrichtung ( ) The verification device ( 10 10 ) ohne Verwendung eines Kommunikationsnetzes außerhalb der gehäuseartigen Anordnung überträgt. ) Transfers without the use of a communication network outside of the box-like arrangement.
  47. Verfahren zum Authentifizieren von Benutzerzugriffsrechten auf Ressourcen durch Verifizieren der Richtigkeit einer aus Abfragedaten erzeugten Antwort zum Nachweis der Benutzerzugriffsrechte, umfassend: einen Schritt zum Speichern der Abfragedaten; A method for authenticating user's access rights to resources by verifying the correctness of a generated from query response data to detect the user's access rights, comprising: a step of storing the query data; einen Schritt zum Speichern einer eindeutigen Benutzerkennung; a step of storing a unique user ID; einen Schritt zum Speichern von Nachweisunterstützungsinformation, die ein Ergebnis vorbestimmter Berechnungen an der eindeutigen Benutzerkennung und eindeutiger Sicherheitskenninformation ist; a step of storing proof support information, which is a result of predetermined calculations on the unique user identifier and unique security characteristic information; einen Schritt zum Erzeugen einer Antwort durch Ausführen vorbestimmter Berechnungen an den Abfragedaten, der eindeutigen Benutzerkennung und der Nachweisunterstützungsinformation; a step of generating a response by executing predetermined calculations on the query data, the unique user ID and proof supporting information; und einen Schritt zum Verifizieren der Richtigkeit der Antwort durch Verifizieren, daß die Antwort, die Abfragedaten und die eindeutige Sicherheitskenninformation eine spezielle vordefinierte Relation erfüllen. and a step of verifying the correctness of the response by verifying that the answer that query data and the unique security characteristic information satisfy a specific predefined relation.
  48. Computerprogrammprodukt zur Verwendung bei einem Computer, wobei das Computerprogrammprodukt umfaßt: ein von einem Computer verwendbares Medium, auf dem computerlesbare Programmcodemittel vorhanden sind, die dazu dienen, den Computer zu veranlassen, eine Antwort ( A computer program product for use with a computer, said computer program product comprising: a computer usable by a medium on which computer-readable program code means are present, which serve for causing the computer, a response ( 19 19 ) aus Abfragedaten ( ) From query data ( 18 18 ) zu erzeugen, deren Richtigkeit für die Authentifzierung von Benutzerzugriffsrechten zu verifizieren ist, wobei das Computerprogrammprodukt aufweist: computerlesbare Programmcodemittel, die dazu dienen, den Computer zu veranlassen, die Abfragedaten ( ) To produce its accuracy to be verified for authentication of user access rights, the computer program product comprising: computer readable program code means which serve to cause the computer to query data ( 18 18 ) zu speichern; ) To save; computerlesbare Programmcodemittel, die dazu dienen, den Computer zu veranlassen, eine eindeutige Benutzerkennung ( computer readable program code means which serve to cause the computer, a unique user identifier ( 16 16 ) zu speichern; ) To save; computerlesbare Programmcodemittel, die dazu dienen, den Computer zu veranlassen, Nachweisunterstützungsinformation ( computer readable program code means which serve to cause the computer proof support information ( 13 13 ) zu speichern, die ein Ergebnis vorbestimmter Berechnungen an der eindeutigen Benutzerkennung ( ) To store the result of a predetermined calculations to the user unique identifying information ( 16 16 ) und eindeutiger Sicherheitskenninformation ( ) And unique security characteristic information ( 14 14 ) ist; ) Is; und computerlesbare Programmcodemittel, die dazu dienen, den Computer zu veranlassen, durch Ausführen vorbestimmter Berechnungen an den Abfragedaten ( and computer readable program code means which serve to cause the computer, by executing predetermined calculations to the challenging data ( 18 18 ), der eindeutigen Benutzerkennung ( ), The unique user identifier ( 16 16 ) und der Nachweisunterstützungsinformation ( ) And the proof support information ( 13 13 ) eine Antwort ( ) An answer ( 19 19 ) zu erzeugen. ) To produce.
  49. Computerprogrammprodukt nach Anspruch 48, umfassend: computerlesbare Programmcodemittel, die dazu dienen, den Computer zu veranlassen, die Richtigkeit der Antwort ( The computer program product of claim 48, comprising: computer readable program code means which serve to cause the computer, the legitimacy of the response ( 19 19 ) zu verifizieren, indem verifiziert wird, daß die Antwort ( ) To verify, by verifying that the response ( 19 19 ), die Abfragedaten ( ), The challenging data ( 18 18 ) und die eindeutige Sicherheitskenninformation ( ) And the unique security characteristic information ( 14 14 ) eine spezielle vordefinierte Relation erfüllen. ) Satisfy a specific predefined relation.
  50. Programmausführungssteuervorrichtung zum Authentifizieren von Benutzerzugriffsrechten auf Ressourcen durch Verifizieren der Richtigkeit einer aus Abfragedaten erzeugten Antwort zum Nachweis der Benutzerzugriffsrechte und zum Steuern der Ausführung eines Programms auf der Basis der Authentifizierung der Benutzerzugriffsrechte, umfassend eine Vorrichtung gemäß einem der Ansprüche 1 bis 46 und eine Fortführungsanordnung zum Fortführen der Ausführung des Programms, wenn die Richtigkeit der Antwort verifiziert ist. Program execution control device for authenticating user's access rights to resources by verifying the correctness of a generated from query data response for the detection of user access rights and controlling the execution of a program based on the authentication of user access rights, including a device according to any of claims 1 to 46, and a continuation arrangement for continuing the execution of the program, even if the truth is the answer verified.
  51. Informationsverarbeitungsgerät zum Authentifizieren von Benutzerzugriffsrechten auf spezielle Informationsverarbeitungsressourcen durch Verifizieren der Richtigkeit einer Antwort ( An information processing apparatus for authenticating user's access rights to specific information processing resources by verifying the correctness of a response ( 19 19 ), die erzeugt wird, um die Benutzerzugriffsrechte nachzuweisen und den Zugriff auf die speziellen Informationsverarbeitungsressourcen zu gewähren, umfassend eine Vorrichtung gemäß einem der Ansprüche 1 bis 46 und eine Gewährungsanordnung zum Gewähren des Zugriffs auf die speziellen Informationsverarbeitungsressourcen, wenn die Richtigkeit der Antwort verifiziert ist. ), Which is generated to detect the user access rights and to grant access to specific information processing resources, comprising an apparatus according to any of claims 1 to 46, and a grant arrangement to grant access to specific information processing resources if the accuracy is the answer verified.
Description  translated from German
  • [0001] [0001]
    Die vorliegende Erfindung betrifft eine Vorrichtung zum Authentifizieren von Benutzerzugriffsrechten auf Ressourcen. The present invention relates to a device for authenticating user's access rights to resources.
  • [0002] [0002]
    Es sind Programmausführungssteuertechnologien in dem Bereich bekannt, zu dem die vorliegende Erfindung gehört. There are program execution control technologies known in the field to which the present invention pertains. Die Programmausführungssteuertechnologien sind Technologien, um: The program execution control technologies are technologies to:
    • 1. eine Routine für die Benutzerauthentifizierung während der Verwendung eines Anwendungsprogramms einzubetten; 1. embed a routine for user authentication while using an application program;
    • 2. die Routine untersuchen zu lassen, ob der Benutzer, der die Ausführung der Anwendung versucht, einen Schlüssel für eine korrekte Authentifzierung besitzt; 2. right to have the routine determines whether the user trying to run the application, has a key for a correct authentication; und and
    • 3. das Programm nur dann fortzusetzen, wenn das Vorhandensein des Schlüssels für die Authentifzierung verifiziert wird, andernfalls die Ausführung anzuhalten. 3. Only then restart the program if the presence of the key is verified for authentication, otherwise stop the execution.
  • [0003] [0003]
    Durch Verwendung dieser Technologien wird die Ausführung des Anwendungsprogramms nur für geeignete Benutzer freigegeben, die den Authentifizierungsschlüssel besitzen. By using these technologies, the execution of the application program is released only suitable for users who have the authentication key. Die Technologien werden im Bereich des Marketings von Software in den Handel gebracht, wobei zwei Beispiele SentinelSuperPro (Markenzeichen) von Rainbow Technologies, Inc. und HASP (Markenzeichen) von Aladdin Knowledge Systems, Ltd. The technologies are marketed in the marketing of software, two examples being SentinelSuperPro (trademark) by Rainbow Technologies, Inc. and HASP (trademark) by Aladdin Knowledge Systems, Ltd. sind. are.
  • [0004] [0004]
    Bei der Verwendung von Programmausführungssteuertechnologien besitzt ein Benutzer, der Software ausführt, einen Authentifizierungsschlüssel als Benutzerkennung. With the use of program execution control technologies owned by a user executes the software, an authentication key as the user ID. Der Authentifizierungsschlüssel ist ein Schlüssel für die Verschlüsselung und wird an den Benutzer von einer Partei ausgegeben, die die Verwendung von Software erlaubt, beispielsweise ein Software-Verkäufer. The authentication key is a key for encryption and is issued to the user of a party that allows the use of software, such as a software vendor. Der Authentifizierungsschlüssel wird sicher in einem Speicher oder ähnlichem aus Hardware eingeschlossen, um ein Kopieren zu verhindern, und wird unter Verwendung körperlicher Mittel wie beispielsweise dem Postdienst an den Benutzer geliefert. The authentication key is safely enclosed in a memory or the like from hardware to prevent copying, and will be delivered using physical means, such as the postal service to the user. Der Benutzer stellt einen PC/eine Workstation unter Verwendung eines bestimmten Verfahrens auf. The user provides a PC / workstation on using a particular method. Wenn der Benutzer das Anwendungsprogramm startet und wenn die Ausführung des Programms die Benutzerauthentifizierungsroutine erreicht, kommuniziert das Programm mit der Hardware, in der der Authentifizierungsschlüssel des Benutzers eingebettet ist. When the user starts the application program and when the execution of the program reaches the user authentication routine, the program communicates with the hardware, in which the user's authentication key is embedded. Auf der Basis der Ergebnisse der Kommunikation identifiziert das Programm den Authentifizierungsschlüssel und setzt bei Bestätigung des Vorhandenseins des korrekten Authentifizierungsschlüssels die Ausführung auf den folgenden Schritt. On the basis of results of communication, the program identifies the authentication key sets and on confirmation of the presence of the correct authentication key to run on the following step. Wenn die Kommunikation fehlschlägt und die Verifizierung des Vorhandenseins des Authentifizierungsschlüssels nicht erfolgt, stoppt das Programm automatisch, wobei die Ausführung nachfolgender Schritte unterbrochen wird. If the communication fails and the verification of the presence of the authentication key is not done, the program stops automatically, wherein the execution of subsequent steps is interrupted.
  • [0005] [0005]
    Die Identifizierung des Authentifizierungsschlüssels durch die Benutzerauthentifizierungsroutine wird beispielsweise gemäß folgendem Protokoll ausgeführt: The identification of the authentication key by the user authentication routine is executed for example according to the following protocol:
    • 1. Die Benutzerauthentifizierungsroutine erzeugt und überträgt eine geeignete Zahl an die Hardware, in die der Schlüssel eingebettet ist. 1. The user authentication routine generates and transmits an appropriate number to the hardware in which the key is embedded.
    • 2. Die Hardware, in die der Schlüssel eingebettet ist, verschlüsselt die Zahl unter Verwendung des eingebetteten Authentifizierungsschlüssels und überträgt sie zurück zur Authentifizierungsroutine. 2. The hardware in which the key is embedded encrypts the number using the embedded authentication key and transmits it back to the authentication routine.
    • 3. Die Authentifizierungsroutine ermittelt, ob die zurück übermittelte Zahl die vorab erwartete Zahl oder in anderen Worten die durch Veschlüsseln der Zahl mit einem korrekten Authentifizierungsschlüssel gewonnene Zahl ist oder nicht. 3. The authentication routine determines whether the number sent back the previously expected number, or in other words, the number obtained by Veschlüsseln the number with a correct authentication key or not.
    • 4. Wenn die zurückübertragene Zahl mit der erwarteten Zahl übereinstimmt, wird die Ausführung des Programms fortgesetzt, anderenfalls wird die Ausführung angehalten. 4. If the number transmitted back coincides with the expected number, the execution of the program continues, otherwise the execution is halted.
    • 5. In diesem Fall muß die Kommunikation zwischen dem Anwendungsprogramm und der Hardware, in die der Authentifizierungsschlüssel eingebettet ist, selbst dann für jede Ausführung unterschiedlich sein, wenn sie zwischen der gleichen Stelle in der gleichen Anwendung mit der gleichen Hardware erfolgt. 5. In this case, the communication between the application program and the hardware in which the authentication key is embedded must even be different for each execution if it takes place between the same place in the same application with the same hardware.
  • [0006] [0006]
    Anderenfalls kann ein Benutzer, der den korrekten Authentifizierungsschlüssel nicht besitzt, in der Lage sein, das Programm auszuführen, indem er den Inhalt der Kommunikation während des normalen Ausführungsprozesses einmal aufzeichnet und auf das Anwendungsprogramm jedesmal dann nach Maßgabe der Aufzeichnung antwortet, wenn das folgende Programm ausgeführt wird. Otherwise, a user who does not have the correct authentication key to be able to run the program by running once records the content of the communication during normal execution process and each time responding to the application program according to the recording when the following program is executed will. Eine derartige inkorrekte Ausführung des Anwendungsprogramms durch Wiedergabe des Inhalts der Kommunikation wird als Wiedergabeattacke bezeichnet. Such improper execution of the application program by reproducing the content of the communication is referred to as a playback attack.
  • [0007] [0007]
    Um eine Wiedergabeattacke zu verhindern, wird im allgemeinen eine Zufallszahl erzeugt und für jede Kommunikation als an die Hardware, in die der Schlüssel eingebettet ist, zu übertragende Zahl verwendet. In order to prevent a playback attack, in general, a random number is generated and used for each communication as to the hardware in which the key is embedded, to be transmitted number.
  • [0008] [0008]
    Elektronik 41 (1992), Seiten 68–74, offenbart einen Softwareschutz durch Verwendung eines Dongles mit einem Prozessor, der verschlüsselte Daten entschlüsselt, die von der zu schützenden Software geliefert werden. Electronics 41 (1992), pages 68-74, discloses a software protection by use of a dongle with a processor that decrypts encrypted data supplied by the protected software. Der Dongle-Schlüssel besteht aus einem Firm- und einem User-Code und wird zusammen mit einem Selection-Code an den Entschlüsselungsalgorithmus geliefert. The dongle key is a firmware and a user code and comes with a selection code to the decryption algorithm.
  • [0009] [0009]
    Die vorliegende Erfindung wurde angesichts der obigen Umstände gemacht, und ein Aspekt der vorliegenden Erfindung besteht darin, eine Vorrichtung zum Authentifizieren von Benutzerzugriffsrechten auf Ressourcen und ihr Verfahren zu schaffen, die sowohl Benutzer als auch die schützende Seite wie beispielsweise Anwendungsanbieter von den Unannehmlichkeiten befreien, die durch Handhabung einer großen Menge von einzigartiger Information verursacht werden, beispielsweise vielen Authentifizierungsschlüsseln, und daher werden die Benutzerzugriffsrechte auf einfache unproblematische Weise authentifiziert, wenn die Ausführungssteuerung des Programms, der Schutz der Privatsphäre von E-Mails, die Zugriffssteuerung auf Dateien oder Computerressourcen etc. ausgeführt werden. The present invention has been made in view of the above circumstances, and an aspect of the present invention is to provide a device for authenticating user's access rights to resources and their procedures to relieve both users and the protective side such as application providers of the inconvenience caused by handling a large amount of unique information, such as many authentication keys, and therefore the user access rights are authenticated on simple uncomplicated manner when the execution control of the program, the privacy of e-mails that control access to files or computer resources, etc. performed be.
  • [0010] [0010]
    Die Erfindung schafft eine Vorrichtung gemäß Anspruch 1. The invention provides an apparatus of claim 1.
  • [0011] [0011]
    Bei der obigen Konfiguration werden die der schützenden Seite zugewiesene eindeutige Sicherheitskenninformation der Vorrichtung und die eindeutige Benutzerkennung so gemacht, daß sie unabhängig voneinander sind. In the above configuration, the protective side assigned unique security characteristic information of the device and the unique ID are made so that they are independent. Die Information über tatsächliche Zugriffsrechte wird als Nachweisunterstützungsinformation (dh ein Zugriffsticket) repräsentiert. The information on actual access rights as proof support information (ie, an access ticket) represents. Der Benutzer besitzt die Benutzerkennung vorab, und andererseits erzeugt ein Schützender wie beispielsweise ein Programmautor die eindeutige Sicherheitskenninformation oder das Gegenstück der eindeutigen Sicherheitskenninformation bei der Kryptographie mit einem öffentlichen Schlüssel unabhängig von der eindeutigen Benutzerkennung im Besitz des Benutzers. The user has the user ID in advance, and on the other hand, produces a Protective such as a program author's unique security characteristic information or the counterpart of the unique security characteristic information in cryptography with a public key, regardless of the unique user ID in the user's possession. Ein Zugriffsticket wird auf der Basis der eindeutigen Benutzerkennung und der beim Schreiben des Anwendungsprogramms etc. verwendeten eindeutigen Sicherheitskenninformation erzeugt. An access ticket is generated based on the unique user identifier and the unique security characteristic information, etc. used in writing the application program. Zugriffstickets werden an die Benutzer geliefert, wodurch die Authentifzierung der Benutzerzugriffsrechte auf Ressourcen wie beispielsweise die Ausführungssteuerung ausgeführt werden kann. Access tickets will be delivered to the user, so that the authentication of the user access rights can be executed on resources such as the execution control. Somit kann die Komplexität vermieden werden, die in dem Fall auftritt, in dem die beiden Seiten des Benutzers und des Schützenden die gleiche Information zum Ausführen der Authentifzierung verwenden. Thus, the complexity can be avoided, which occurs in the case in which use the two sides of the user and the protective the same information to perform the authentication.
  • [0012] [0012]
    Darüber hinaus können bei der obigen Konfiguration zumindest die zweite Speicheranordnung und die Antworterzeugungsanordnung in der Schutzanordnung eingeschlossen werden, was verhindert, daß in ihr befindliche Daten eingesehen oder von außen manipuliert werden können. In addition, at least the second memory device and the response generation means may be included in the protection order in the above configuration, which prevents can be viewed in their data located or manipulated from the outside. Es kann auch möglich sein, zumindest die zweite Speicheranordnung und die Antworterzeugungsanordnung in einer kleinen tragbaren Vorrichtung wie beispielsweise einer Chipkarte zu implementieren. It may also be possible to implement at least the second memory means and the response generation means in a small portable device such as a smart card.
  • [0013] [0013]
    Die Antworterzeugungsanordnung kann eine erste Rechenanordnung und eine zweite Rechenanordnung umfassen, wobei die erste Rechenanordnung vorbestimmte Berechnungen bei der in der zweiten Speicheranordnung gespeicherten eindeutigen Benutzerkennung und der in der dritten Speicheranordnung gespeicherten Nachweisunterstützungsinformation ausführt, um als Ergebnis die eindeutige Sicherheitskenninformation zu gewinnen, und die zweite Rechenanordnung vorbestimmte Berechnungen bei den in der ersten Speicheranordnung gespeicherten Abfragedaten und der von der ersten Rechenanordnung berechneten eindeutigen Sicherheitskenninformation ausführt, um die Antwort als Ergebnis von Berechnungen zu erzeugen. The response generation means may comprise a first computing device and a second computing device, wherein the first computing device performs predetermined calculations on the data stored in the second memory device unique user identifier and the data stored in the third memory means proof support information to gain as a result of the unique security characteristic information and the second computing device performing predetermined calculations on the data stored in the first memory means and the calculated data query from the first computing device unique security characteristic information, to generate the response as a result of calculations.
  • [0014] [0014]
    Die oben beschriebene Antworterzeugungsanordnung kann eine dritte Rechenanordnung, eine vierte Rechenanordnung und eine fünfte Rechenanordnung umfassen. The response generation means described above may include third calculation means, fourth calculation means and fifth calculation means. Die dritte Rechenanordnung führt vorbestimmte Berechnungen an den in der ersten Speicheranordnung gespeicherten Abfragedaten und der in der dritten Speicheranordnung gespeicherten Nachweisunterstützungsinformation aus, die vierte Rechenanordnung führt vorbestimmte Berechnungen an den in der ersten Speicheranordnung gespeicherten Abfragedaten und der in der zweiten Speicheranordnung gespeicherten eindeutigen Sicherheitskenninformation aus, und die fünfte Rechenanordnung führt vorbestimmte Berechnungen an den Ergebnissen der Berechnung durch die dritte und die vierte Berechnungsanordnung aus, wodurch die Antwort erzeugt wird. The third calculation means performs predetermined calculations on the data stored in the first memory device query data and the data stored in the third memory means proof support information from the fourth calculation means performs predetermined calculations to the challenging data and the data stored in the second memory device unique security characteristic information stored in the first memory array, and fifth calculation means performs predetermined calculations on the results of the calculation by the third and the fourth calculating means, whereby the response is generated. In diesem Fall können zumindest die zweite Speicheranordnung und die vierte Speicheranordnung in der Schutzanordnung eingeschlossen sein, was verhindert, daß irgendwelche Daten in ihr einsehbar sind oder von außen manipuliert werden können. In this case, at least the second memory array and the fourth memory device may be included in the protection order, which prevents any data can be viewed in it or can be manipulated from the outside. Zumindest die zweite Speicheranordnung und die vierte Rechenanordnung können in einer kleinen tragbaren Vorrichtung wie einer Chipkarte implementiert sein. At least the second memory array and the fourth calculation means may be implemented as a smart card in a small portable device.
  • [0015] [0015]
    Die Erfindung schafft des weiteren ein Verfahren gemäß Anspruch 47, ein Computerprogrammprodukt gemäß Anspruch 48 oder 49, eine Steuervorrichtung nach Anspruch 50 und ein Gerät gemäß Anspruch 51. The invention further provides a method according to claim 47, a computer program product according to claim 48 or 49, a control device according to claim 50 and an apparatus according to claim 51st
  • [0016] [0016]
    Die begleitenden Zeichnungen, die zu dieser Beschreibung gehören und einen Teil von ihr bilden, stellen Ausführungsformen der Erfindung dar und dienen zusammen mit der Beschreibung zur Erläuterung der Aufgaben, Vorteile und Prinzipien der Erfindung. The accompanying drawings, which belong to this and constitute a part of the specification, illustrate embodiments of the invention and together with the description serve to explain the objects, advantages and principles of the invention.
  • [0017] [0017]
    1 1 ist ein Blockschaltbild, das ein Beispiel der grundlegenden Konfiguration der vorliegenden Erfindung zeigt; is a block diagram showing an example of the basic configuration of the present invention;
  • [0018] [0018]
    2 2 ist ein Blockschaltbild, das ein Beispiel der Konfiguration der vorliegenden Erfindung in dem Fall zeigt, daß eine gesamte Vorrichtung innerhalb eines einzigen PCs implementiert ist; is a block diagram showing an example of the configuration of the present invention in the case that a whole apparatus is implemented within a single PC;
  • [0019] [0019]
    3 3 ist ein Blockschaltbild, das die Konfiguration einer ersten Ausführungsform einer Vorrichtung zum Authentifizieren von Benutzerzugriffsrechten auf Ressourcen gemäß der Erfindung zeigt; is a block diagram showing the configuration of a first embodiment of a device for authenticating user's access rights to resources according to the invention;
  • [0020] [0020]
    4 4 ist ein Flußdiagramm, das Funktionen von Anordnungen zeigt, welche die Vorrichtungen der ersten Ausführungsform bilden; is a flow chart showing functions of arrays which form the devices of the first embodiment;
  • [0021] [0021]
    5 5 ist ein Blockschaltbild, das die Konfigurationen einer Verifikationsvorrichtung und einer Nachweisvorrichtung einer zweiten Ausführungsform der Vorrichtung zum Authentifizieren von Benutzerzugriffsrechten auf Ressourcen gemäß der vorliegenden Erfindung zeigt; is a block diagram showing the configurations of a verification device and a proving device of a second embodiment of the device for authenticating user's access rights to resources according to the present invention;
  • [0022] [0022]
    6 6 ist ein Flußdiagramm, das Funktionen von Anordnungen zeigt, welche die Verifikationsvorrichtung der zweiten Ausführungsform bilden; is a flow chart showing functions of arrays which form the verification apparatus of the second embodiment;
  • [0023] [0023]
    7 7 ist ein Blockschaltbild, das ein Konfigurationsbeispiel einer Ausführungsanordnung der Verifikationsanordnung der zweiten Ausführungsform zeigt; is a block diagram showing a configuration example of execution means of the verification device of the second embodiment;
  • [0024] [0024]
    8 8 ist ein Flußdiagramm, das Funktionen des Konfigurationsbeispiels der in is a flow chart of the functions of the configuration example in 7 7 gezeigten Ausführungsanordnung zeigt; illustrated exemplary arrangement;
  • [0025] [0025]
    9 9 ist ein Blockschaltbild, das ein zweites Konfigurationsbeispiel einer Ausführungsanordnung der Verifikationsanordnung der zweiten Ausführungsform zeigt; is a block diagram showing a second configuration example of an execution order of the verification means of the second embodiment;
  • [0026] [0026]
    10 10 ist ein Flußdiagramm, das Funktionen des Konfigurationsbeispiels der in is a flow chart of the functions of the configuration example in 9 9 gezeigten Ausführungsanordnung zeigt; illustrated exemplary arrangement;
  • [0027] [0027]
    11 11 ist ein Blockschaltbild, das ein drittes Konfigurationsbeispiel einer Ausführungsanordnung der Verifikationsanordnung der zweiten Ausführungsform zeigt; is a block diagram showing a third configuration example of an execution order of the verification means of the second embodiment;
  • [0028] [0028]
    12 12 ist ein Flußdiagramm, das Funktionen des Konfigurationsbeispiels der in is a flow chart of the functions of the configuration example in 11 11 gezeigten Ausführungsanordnung zeigt; illustrated exemplary arrangement;
  • [0029] [0029]
    13 13 ist ein Blockschaltbild, das ein viertes Konfigurationsbeispiel einer Ausführungsanordnung der Verifikationsanordnung der zweiten Ausführungsform zeigt; is a block diagram showing a fourth configuration example of an execution order of the verification means of the second embodiment;
  • [0030] [0030]
    14 14 ist ein Flußdiagramm, das Funktionen des Konfigurationsbeispiels der in is a flow chart of the functions of the configuration example in 13 13 gezeigten Ausführungsanordnung zeigt; illustrated exemplary arrangement;
  • [0031] [0031]
    15 15 ist ein Blockschaltbild, das die Konfiguration einer Nachweisvorrichtung einer dritten Ausführungsform der Vorrichtung zum Authentifizieren von Benutzerzugriffsrechten auf Ressourcen gemäß der vorliegenden Erfindung zeigt; is a block diagram showing the configuration of a detection apparatus of a third embodiment of the device for authenticating user's access rights to resources according to the present invention;
  • [0032] [0032]
    16 16 ist ein Flußdiagramm, das Funktionen von Anordnungen zeigt, welche die Nachweisvorrichtung der dritten Ausführungsform bilden; is a flow chart showing functions of arrays which form the detection device of the third embodiment;
  • [0033] [0033]
    17 17 ist ein Blockschaltbild, das ein Konfigurationsbeispiel einer vierten Ausführungsform der Vorrichtung zum Authentifizieren von Benutzerzugriffsrechten auf Ressourcen gemäß der vorliegenden Erfindung zeigt; is a block diagram showing a configuration example of a fourth embodiment of the device for authenticating user's access rights to resources according to the present invention;
  • [0034] [0034]
    18 18 ist ein Blockschaltbild, das ein anderes Konfigurationsbeispiel der vierten Ausführungsform zeigt; is a block diagram showing another configuration example of the fourth embodiment;
  • [0035] [0035]
    19 19 ist ein Flußdiagramm, das Funktionen von Anordnungen des in is a flow chart of the functions of arrays in 17 17 gezeigten Konfigurationsbeispiels zeigt; configuration shown example;
  • [0036] [0036]
    20 20 ist ein Blockschaltbild, das die Konfiguration einer fünften Ausführungsform der Vorrichtung zum Authentifizieren von Benutzerzugriffsrechten auf Ressourcen gemäß der vorliegenden Erfindung zeigt; is a block diagram showing the configuration of a fifth embodiment of the device for authenticating user's access rights to resources according to the present invention;
  • [0037] [0037]
    21 21 ist ein Flußdiagramm, das Funktionen von Anordnungen zeigt, die eine Verifikationsvorrichtung der fünften Ausführungsform bilden; is a flow chart showing functions of arrangements that form a verification apparatus of the fifth embodiment;
  • [0038] [0038]
    22 22 ist ein Blockschaltbild, das die Konfiguration einer sechsten Ausführungsform der Vorrichtung zum Authentifizieren von Benutzerzugriffsrechten auf Ressourcen gemäß der vorliegenden Erfindung zeigt; is a block diagram showing the configuration of a sixth embodiment of the device for authenticating user's access rights to resources according to the present invention;
  • [0039] [0039]
    23 23 ist ein Flußdiagramm, das Funktionen von Anordnungen zeigt, die Vorrichtungen der sechsten Ausführungsform bilden; is a flow chart showing functions of configurations which form the devices of the sixth embodiment;
  • [0040] [0040]
    24 24 ist ein Blockschaltbild, das die Konfiguration einer siebten Ausführungsform der Vorrichtung zum Authentifizieren von Benutzerzugriffsrechten auf Ressourcen gemäß der vorliegenden Erfindung zeigt; is a block diagram showing the configuration of a seventh embodiment of the device for authenticating user's access rights to resources according to the present invention;
  • [0041] [0041]
    25 25 ist ein Flußdiagramm, das Funktionen von Anordnungen zeigt, die Vorrichtungen der siebten Ausführungsform bilden; is a flow chart showing functions of configurations which form the devices of the seventh embodiment; und and
  • [0042] [0042]
    26 26 ist ein Blockschaltbild, das einen Teil der Konfiguration einer Nachweisvorrichtung der neunten und der zehnten Ausführungsform der Vorrichtung zum Authentifizieren von Benutzerzugriffsrechten auf Ressourcen gemäß der vorliegenden Erfindung zeigt. is a block diagram showing a part of configuration of a detection apparatus of the ninth and the tenth embodiment of the device for authenticating user's access rights to resources according to the present invention.
  • [0043] [0043]
    Zuerst wird ein Beispiel der grundlegenden Konfiguration der vorliegenden Erfindung beschrieben. First, an example of the basic configuration of the present invention will be described. Das Benutzerauthentifizierungssystem des Beispiels kann für den Schutz der Privatsphäre von E-Mails oder der Steuerung von Zugriff auf Dateien oder Computer-Ressourcen oder bei der Steuerung der Ausführung von Anwendungen eingesetzt werden. The user authentication system of the example can be used for the protection of privacy of e-mails or the control of access to files or computer resources or in the control of execution of applications.
  • [0044] [0044]
    Gemäß According to 1 1 umfaßt das Benutzerauthentifizierungssystem eine Verifikationsvorrichtung the user authentication system includes a verification device 10 10 und eine Nachweisvorrichtung and a detection device 11 11 : Die Nachweisvorrichtung The detection device 11 11 empfängt ein Zugriffsticket (Nachweisunterstützungsdaten) von einer Zugriffsticketerzeugungsvorrichtung receives an access ticket (proof support data) from an access ticket generation device 12 12 ; ; die Verifikationsvorrichtung the verification device 10 10 führt eine Verifikationsroutine performs a verification routine 15 15 aus; out; die Nachweisvorrichtung the detection device 11 11 enthält eine Benutzerkennung contains a user ID 16 16 und das Zugriffsticket and the access ticket 13 13 und führt ein Antworterzeugungsprogramm and introduces a response generation program 17 17 aus. from.
  • [0045] [0045]
    Die Zugriffsticketerzeugungsvorrichtung The access ticket generation device 12 12 ist auf der Seite des Protektors wie beispielsweise eines Anwendungsdiensteanbieters installiert. is installed on the side of the protector such as an application service provider. Die Zugriffsticketerzeugungsvorrichtung The access ticket generation device 12 12 erzeugt das Zugriffsticket generates the access ticket 13 13 auf der Basis eindeutiger Sicherheitskenninformation on the basis of unique security characteristic information 14 14 der Vorrichtung und der Benutzerkennung of the device and the user identifier 16 16 , und das Zugriffsticket And the access ticket 13 13 wird mittels Kommunikation oder Senden einer Computer-Diskette oder ähnlichem an den Benutzer weitergeleitet, damit es von der Nachweisvorrichtung is forwarded through communication or sending of a computer disk or the like to the user, so that it from the detection device 11 11 des Benutzers gesichert bzw. gehalten werden kann. can be secured or held by the user. Dann sendet die Verifikationsvorrichtung Then sends the verification device 10 10 Abfragedaten Query data 18 18 an die Nachweisvorrichtung to the detection device 11 11 . , Die Nachweisvorrichtung The detection device 11 11 erzeugt eine Antwort generates a response 19 19 durch Verwendung des Zugriffstickets by using the access ticket 13 13 und der Benutzerkennung and the user ID 16 16 und schickt sie an die Verifikationsvorrichtung and sends it to the verification device 10 10 zurück. back. Die Verifikationsvorrichtung The verification device 10 10 verifiziert die Richtigkeit der Antwort auf der Basis der Abfragedaten, dh, die Verifikationsvorrichtung verifies the legitimacy of the response based on the challenging data, that is, the verification device 10 10 verifiziert, daß die Antwort auf der Basis der Abfragedaten und der eindeutigen Sicherheitskenninformation der Vorrichtung erzeugt worden ist. verifies that the response has been generated based on the challenging data and the unique security characteristic information of the device.
  • [0046] [0046]
    Wenn die Richtigkeit der Antwort verifiziert ist, werden die Zugriffsrechte des Benutzers authentifiziert; If the accuracy of the response is verified, the user's access rights are authenticated; somit wird die Fortsetzung der Ausführung eines Programms, des Zugriffs auf Dateien etc. gestattet. thus the continuation of the execution of a program, access is allowed on files etc..
  • [0047] [0047]
    Mit der obigen Konfiguration wird nun ein Beispiel der Ausführungssteuerung eines Anwendungsprogramms beschrieben. With the above configuration, an example of execution control of an application program will be described.
  • [0048] [0048]
    Bei der obigen Konfiguration besitzt ein Benutzer eines Anwendungsprogramms nur ein Element einer Benutzerkennung In the above configuration, a user of an application program has only one element of a user identification 16 16 . , Die Benutzerkennung ist einem Paßwort bei der Paßwort-Authentifizierung äquivalent und ist eine eindeutige bzw. einzigartige, signifikante Information, die den Benutzer identifiziert. The user ID is a password with password authentication, and is equivalent to an unambiguous and unique, significant information that identifies the user. Wenn es dem Benutzer möglich ist, die Benutzerkennung If it is possible for the user, the user ID 16 16 zu kopieren und zu verteilen, führt dies zur Verwendung des Anwendungsprogramms durch den Benutzer ohne rechtmäßige Zugriffsrechte; to copy and distribute this leads to the use of the application program by the user without lawful access rights; daher ist die Benutzerkennung Therefore, the user ID 16 16 durch eine Schutzanordnung by a protection order 160 160 geschützt, so daß selbst der Benutzer, der ein rechtmäßiger Besitzer der Benutzerkennung protected so that even the users of a rightful owner of the user ID 16 16 ist, diese nicht stehlen kann. is, it can not steal. Die Schutzanordnung The protection order 160 160 kann eine Hardware mit einer Schutzwirkung (nachstehend als manipulationssichere Hardware bezeichnet) gegen Diebstahl des Innenlebens durch externe Sonden sein. may be a hardware with a protective effect (hereinafter referred to as tamper-resistant hardware) against theft of his inner life by external probes. Ein Verfahren der Implementierung der manipulationssicheren Hardware wir später beschrieben. A method of implementing the tamper resistant hardware, we described later.
  • [0049] [0049]
    Zusätzlich zur Benutzerkennung In addition to the user ID 16 16 wird das Antworterzeugungsprogramm is the response generation program 17 17 , das vorbestimmte Berechnungen ausführt, an den Benutzer geliefert. That performs predetermined computations is provided to the user. Das Programm The Program 17 17 führt eine Kommunikation mit einer Benutzerauthentifizierungsroutine (Verifikationsroutine performs communication with a user authentication routine (verification routine 15 15 ) aus: Bei Empfang zweier Parameter, nämlich der Benutzerkennung ) From: Upon receipt of two parameters, namely the user ID 16 16 und des Zugriffstickets and the access ticket 13 13 , führt das Programm Leads the program 17 17 Berechnungen an irgendwelchen Eingabewerten aus, um die Antwort Calculations in any input values from the response 19 19 für die Identifizierung des Benutzers zu erzeugen. to generate data for identification of the user. Die Benutzerkennung The user ID 16 16 wird im Verlauf der Berechnung verwendet, und es ist erforderlich, zumindest einen Teil des Programms is used in the course of calculation, and it is necessary, at least part of the program 17 17 durch die Schutzanordnung through the protection order 160 160 zu schützen, da ein Durchsickern der Benutzerkennung to protect, since a leakage of the user ID 16 16 aus dem oben beschriebenen Grund ein Problem verursacht. for the reason described above causes a problem.
  • [0050] [0050]
    Nachstehend wird die Speicheranordnung zum Speichern der Benutzerkennung und eines Teils des Programms, die durch die Schutzanordnung Next, the memory array is used to store the user ID and a portion of the program, through the protection order 160 160 geschützt sind, die Vorrichtung zum Ausführen des Teils des Programms (beispielsweise aus einem Speicher und einer MPU bestehend) und die Schutzanordnung are protected, the apparatus for performing the part of the program (for example, a memory and a MPU existing) and the protection order 160 160 insgesamt als Token bezeichnet (durch die Bezugszahl collectively referred to as tokens (indicated by reference number 20 20 in in 1 1 gezeigt). shown). Das Token kann wie eine Chipkarte tragbar sein. The token can be like a smart card portable.
  • [0051] [0051]
    Ähnlich wie bei den herkömmlichen Ausführungssteuertechnologien wird die Verifikationsroutine Similar to the conventional execution control technologies, the verification routine is 15 15 auf das Anwendungsprogramm eingestellt. set to the application program. Die Verifikationsroutine The verification routine 15 15 ist insofern gleich wie diejenige der herkömmlichen Technologien, als sie mit dem vom Benutzer gehaltenen Antworterzeugungsprogramm so far is the same as that of the conventional technologies, as they held with the user response generation program 17 17 kommuniziert und die Ausführung des Programms dann und nur dann fortsetzt, wenn ein Rückergebnis (Antwort communicated and the execution of the program if and only continues when a return result (response 19 19 ) korrekt ist. ) Is correct. Daher ist es erforderlich, daß der Autor des Programms das Verfahren der Berechnung der Kombination der übertragenen Daten (Abfragedaten Therefore, it is necessary that the author of the program, the method of calculating the combination of transferred data (challenging data 18 18 ) und der ihnen entsprechenden korrekten Rückdaten (Antwort ) And of the corresponding correct return data (response 19 19 ) kennt. ) Knows.
  • [0052] [0052]
    Einige Beispiele von Funktionen der Verifikationsroutine Some examples of functions of the verification routine 15 15 werden wie folgt erläutert: be illustrated as follows:
    • 1. Zu übertragende Daten (Abfragedaten 1. Data to be transmitted (query data 18 18 ) und Erwartungsrückdaten (Erwartungswert) werden in die Verifikationsroutine ) And expected return data (expected value) in the verification routine 15 15 eingebettet. embedded. Die Verifikationsroutine The verification routine 15 15 holt die zu übertragenden Daten und überträgt sie zum Benutzer und empfängt die Rückdaten vom Benutzer. fetches the data to be transmitted and transmits them to the user and receives the return data by the user. Dann vergleicht die Verifikationsroutine Then the verification routine compares 15 15 die Rückdaten vom Benutzer mit dem Erwartungswert: Wenn sie miteinander identisch sind, führt die Verifikationsroutine the return data from the user with the expectation that if they are identical to each other, performs the verification routine 15 15 den nächsten Schritt des Programms aus; the next step of the program; wenn sie nicht identisch sind, hält die Verifikationsroutine if they are not identical, keeps the verification routine 15 15 die Ausführung des Programms an. the execution of the program. In dem Fall, in dem angenommen wird, daß die Rückdaten ein Ergebnis einer Verschlüsselung der übertragenen Daten nach Maßgabe eines vorbestimmten Verschlüsselungsalgorithmus sind, ist die eindeutige Sicherheitskenninformation der Vorrichtung ein Verschlüsselungsschlüssel. In the case where it is assumed that the return data are a result of encryption of the transferred data in accordance with a predetermined encryption algorithm, the unique security characteristic information of the device is an encryption key.
    • 2. Zu übertragende Daten (Abfragedaten 2. Data to be transmitted (query data 18 18 ) und durch Anwenden einer Einwegfunktion auf Erwartungsrückdaten (Erwartungswert) erzeugte Daten werden in die Verifikationsroutine ) And by applying a one-way function on expected return data (expected value) data generated are in the verification routine 15 15 eingebettet. embedded. Die Verifikationsroutine The verification routine 15 15 ruft die zu übertragenden Daten ab, überträgt sie an den Benutzer und empfängt die Rückdaten vom Benutzer. retrieves the data to be transmitted, it transmits to the user and receives the return data by the user. Dann vergleicht die Verifikationsroutine Then the verification routine compares 15 15 durch Anwenden der Einwegfunktion auf die Rückdaten vom Benutzer erzeugten Daten mit dem Erwartungswert: Wenn sie miteinander identisch sind, führt die Verifikationsroutine by applying the one-way function to return data data generated by the user with the expectation that if they are identical to each other, performs the verification routine 15 15 den nächsten Schritt des Programms aus; the next step of the program; wenn sie nicht identisch sind, hält die Verifikationsroutine if they are not identical, keeps the verification routine 15 15 die Ausführung des Programms an. the execution of the program. In dem Fall, in dem angenommen wird, daß die Rückdaten ein Ergebnis einer Verschlüsselung der übertragenen Daten nach Maßgabe eines vorbestimmten Verschlüsselungsalgorithmus sind, ist die eindeutige Sicherheitskenninformation der Vorrichtung ein Verschlüsselungsschlüssel. In the case where it is assumed that the return data are a result of encryption of the transferred data in accordance with a predetermined encryption algorithm, the unique security characteristic information of the device is an encryption key.
    • 3. Ein Schutz wird dadurch geschaffen, daß ein Teil des Codes des Anwendungsprogramms nach Maßgabe eines vorbestimmten Verschlüsselungsalgorithmus verschlüsselt wird, so daß die Ausführung des Programms unmöglich sein kann. 3. A protection is created in that a part of the code of the application program is encrypted in accordance with a predetermined encryption algorithm so that execution of the program may be impossible. Die Verifikationsroutine The verification routine 15 15 überträgt den verschlüsselten Code zum Benutzer und empfängt Rückdaten von dem Benutzer und ersetzt dann den empfangenen Wert durch den verschlüsselten Code. transmits the encrypted code to the user and receives return data from the user and then replaces the received value with the encrypted code. Bei dieser Konfiguration kann die Ausführung des Programms dann und nur dann möglich sein, wenn die Rückdaten eine korrekte Entschlüsselung des verschlüsselten Codes sind. In this configuration, the execution of the program and can then only be possible when the return data is a correct decryption of the encrypted code. In diesem Fall ist die eindeutige Sicherheitskenninformation ein Entschlüsselungsschlüssel zum Entschlüsseln des verschlüsselten Codes. In this case, the unique security characteristic information is a decryption key for decrypting the encrypted code.
    • 4. Ein Schutz wird erzielt, indem ein Teil des Codes des Anwendungsprogramms nach Maßgabe eines vorbestimmten Verschlüsselungsalgorithmus verschlüsselt wird, so daß die Ausführung des Programms unmöglich sein kann. 4. A protection is achieved by a part of the code of the application program is encrypted in accordance with a predetermined encryption algorithm so that execution of the program may be impossible. Des weiteren werden Daten, die durch Verschlüsseln eines Entschlüsselungsschlüssel erzeugt werden, gepaart mit dem zum Verschlüsseln des Codes verwendeten Verschlüsselungsschlüssel, als übertragene Daten in die Verifikationsroutine In addition, data generated by encrypting a decryption key paired with the code used for encrypting the encryption key transmitted as data in the verification routine 15 15 eingebettet. embedded. Die Verifikationsroutine The verification routine 15 15 überträgt den verschlüsselten Entschlüsselungsschlüssel zum Benutzer und empfängt Rückdaten vom Benutzer und entschlüsselt den verschlüsselten Code mit dem Wert der empfangenen Daten als Entschlüsselungsschlüssel. transmits the encrypted decryption key to the user, and receives reverse data from the user and decrypts the encrypted code with the value of the received data as a decryption key.
  • [0053] [0053]
    Bei dieser Konfiguration wird der verschlüsselte Code dann und nur dann korrekt entschlüsselt, wenn die Rückdaten ein Entschlüsselungsschlüssel sind, der korrekt entschlüsselt worden ist, und somit wird die Ausführung des Programms möglich. In this configuration, the encrypted code is decrypted correctly if and only if the return data is a decryption key which has been decrypted correctly, and thus the execution of the program becomes possible. In diesem Fall ist die eindeutige Sicherheitskenninformation der Vorrichtung ein Entschlüsselungsschlüssel zum Entschlüsseln des verschlüsselten Entschlüsselungsschlüssels. In this case, the unique security characteristic information of the device is a decryption key for decrypting the encrypted decryption key.
  • [0054] [0054]
    Bei den herkömmlichen Ausführungssteuertechnologien ist die Benutzerkennung (Authentifizierungsschlüssel des Benutzers) identisch mit der eindeutigen Sicherheitskenninformation der Vorrichtung. In the conventional execution control technologies, the user ID (user authentication key) is identical with the unique security characteristic information of the device. Die herkömmliche Antworterzeugungsroutine empfängt die eindeutige Sicherheitskenninformation und die von der Verifikationsroutine übertragenen Daten als Eingabe und führt dann an ihnen Berechnungen zum Erzeugen von zurückzugebenden Daten aus. The conventional response generation routine receives the unique security characteristic information and the data transmitted from the verification routine data as input and then executes them calculations for generating data to be returned.
  • [0055] [0055]
    Im Gegensatz dazu ist die vorliegende Erfindung dadurch gekennzeichnet, daß die Benutzerkennung In contrast, the present invention is characterized in that the user identification 16 16 und die eindeutige Sicherheitskenninformation and the unique security characteristic information 14 14 der Vorrichtung voneinander unabhängig sind. of the device are independent. In diesem Konfigurationsbeispiel fügt das Antworterzeugungsprogramm In this configuration example, the response generation program adds 17 17 der Benutzerkennung the user ID 16 16 und den von der Verifikationsroutine and the verification of the routine 15 15 übertragenen Daten (Abfragedaten transferred data (challenging data 18 18 ) das Zugriffsticket ) The access ticket 13 13 als Eingabe hinzu und führt dann vorbestimmte Berechnungen an ihnen zum Erzeugen der zurückzugebenden Daten (Antwort added as input and then performs predetermined calculations on them to generate the data to be returned (response 19 19 ) aus. ) From. Die Konfiguration hat die folgenden Eigenschaften: The configuration has the following characteristics:
    • 1. Das Zugriffsticket 1. The access ticket 13 13 ist aus den Daten, die auf der Basis der spezifischen Benutzerkennung is made of the data based on the specific user identifier 16 16 und der eindeutigen Sicherheitskenninformation der Vorrichtung berechnet wurden. and the unique security characteristic information of the device were calculated.
    • 2. Zumindest aus der Sicht des Rechenaufwands ist es unmöglich, die eindeutige Sicherheitskenninformation aus dem Zugriffsticket 2. At least from the point of view of computational complexity, it is impossible for the unique security characteristic information from the access ticket 13 13 zu berechnen, ohne die Benutzerkennung to calculate, without the user ID 16 16 zu kennen. to know.
    • 3. Das Antworterzeugungsprogramm 3. The response generation program 17 17 führt Berechnungen zum Erzeugen korrekter zurückzugebender Daten dann und nur dann aus, wenn eine korrekte Kombination der Benutzerkennung performs calculations to generate the correct data to be returned if and only made when a correct combination of user ID 16 16 und des Zugriffstickets and the access ticket 13 13 vorhanden ist. is available. Es ist festzuhalten, daß das Zugriffsticket It should be noted that the access ticket 13 13 auf der Basis der Benutzerkennung on the basis of the user ID 16 16 berechnet worden ist. has been calculated.
  • [0056] [0056]
    Bei der bisher beschriebenen Konfiguration kann die Ausführungssteuerung durch die folgenden Schritte ausgeführt werden: Der Benutzer besitzt vorab die Benutzerkennung In the configuration described above, the execution control can be performed by the following steps: The user has the user ID in advance 16 16 ; ; der Programmautor schreibt das Anwendungsprogramm unabhängig von der vom Benutzer gehaltenen Benutzerkennung the program author writes the application program regardless of the user ID held by the user 16 16 ; ; und der Programmautor erzeugt das Zugriffsticket and author of the program generates the access ticket 13 13 auf der Basis der Benutzerkennung on the basis of the user ID 16 16 und der beim Schreiben des Anwendungsprogramms verwendeten eindeutigen Sicherheitskenninformation and the unique security characteristic information used in writing the application program 14 14 der Vorrichtung und leitet das Zugriffsticket of the device and manages the access ticket 13 13 an den Benutzer weiter. on to the user.
  • [0057] [0057]
    Es ist möglich, die Benutzerkennung It is possible for the user ID 16 16 aus zwei Elementen von Benutzerkennung zu bilden, um die zum Herstellen des Zugriffstickets form of two elements of user ID to access tickets for preparing the 13 13 verwendete Information von der Information zu unterscheiden, die in einem Kommunikationsprogramm vom Benutzer verwendet wird. used to distinguish between information from the information that is used in a communication program by the user. Im repräsentativsten Beispiel ist die Benutzerkennung The most representative example is the user ID 16 16 als Paar mit einem öffentlichen Schlüssel hergestellt: Der öffentliche Schlüssel wird veröffentlicht, damit er zum Erzeugen des Zugriffstickets verwendet werden kann; made as a pair with a public key: The public key is published so that it can be used to generate the access ticket; und der individuelle bzw. private Schlüssel wird in das Token and the individual or private key is in the token 20 20 als geheime Information des Benutzers eingeschlossen. included as secret information of the user. In diesem Fall ist es möglich, das Zugriffsticket In this case it is possible the access ticket 13 13 unter Geheimhaltung der Benutzerkennung under secrecy of the user ID 16 16 zu berechnen, indem das Zugriffsticket be calculated by the access ticket 13 13 aus der eindeutigen Sicherheitskenninformation from the unique security characteristic information 14 14 und dem öffentlichen Schlüssel des Paars mit einem öffentlichen Schlüssel berechnet wird. and the public key of the pair is calculated using a public key.
  • Erste Ausführungsform First Embodiment
  • [0058] [0058]
    In einer ersten Ausführungsform wird ein Zugriffsticket t durch die Relation (1) definiert. In a first embodiment of an access ticket t by the relation (1). t = D – e + ω ϕ(n) (1) t = D - e + ω φ (n) (1)
  • [0059] [0059]
    In den folgenden, mit dicken Punkten versehenen Absätzen werden die in der obigen Relation (1) verwendeten Symbole beschrieben. In the following, provided with thick points paragraphs in the above relation (1), the symbols used will be described.
    • – Eine ganze Zahl n ist ein RSA-Modul, somit ein Produkt zweier sehr großer Primzahlen p und q (n = pq). - An integer n is an RSA modulus, hence, a product of two very large prime numbers p and q (n = pq).
    • – ϕ(n) bezeichnet die Eulerzahl von n, somit ein Produkt aus zwei ganzen Zahlen p – 1 und q – 1 (ϕ(n) = (p – 1) (q – 1)). - Φ (n) denotes the Euler number of n, hence, a product of two integers p - 1 and q - 1 (φ (n) = (p - 1) (q - 1)).
    • – Ein Benutzerkennungselement e ist eine ganze Zahl, die den einzelnen Benutzern zugewiesen wird. - A user identifier element e is an integer that is assigned to each user. Ein Benutzerkennungselement ist einzigartig für einen Benutzer: Jedem Benutzer wird eine andere Benutzerkennung zugewiesen. A user ID element is unique to a user: Each user is assigned a different user ID.
    • – Ein geheimer Zugriffsticketschlüssel D ist ein privater Schlüssel eines RSA-Paars mit einem öffentlichen Schlüssel. - A secret access key D ticket is a private key of an RSA public key pair. Da der Modul als n angenommen wird, wird die Relation (2) von der Definition abgeleitet. Since the module is assumed to be n, the relation (2) is derived from the definition. gcd(D, ϕ(n)) = 1 (2) gcd (D, φ (n)) = 1 (2)
    • – Oben bezeichnet gcd(x, y) den größten gemeinsamen Teiler zweier ganzer Zahlen x und y. - At the top referred to gcd (x, y) denotes the greatest common divisor of two integers x and y. Das Vorhandensein einer die Relation (3) erfüllenden ganzen Zahl E, die als öffentlicher Zugriffsticketschlüssel bezeichnet wird, wird aus der Relation (2) abgeleitet. The presence of the relation (3) satisfying the integer e, which is referred to as a public key access ticket, from the relation (2) is derived. ED mod ϕ(n) = 1 (3) ED mod φ (n) = 1 (3)
    • – ω ist eine ganze Zahl, die sowohl von n als auch e abhängt. - Ω is an integer that depends on both n and e. Es ist erforderlich, daß ω ein wahrscheinlich anderer Wert zugewiesen wird, wenn n und/oder e anders ist. It is required that is assigned a ω probably other value when n and / or E is different. Zur Definition von ω in konsistenter Weise kann eine Einweg-Hash-Funktion h verwendet werden. For the definition of ω in a consistent manner, a one-way hash function h may be used. ω = h(n | e) (4) ω = h (n | e) (4)
  • [0060] [0060]
    In der Relation (4) bezeichnet n | e die Verkettung der zwei Bitfolgenrepräsentationen von n und e. Eine Einweg-Hash-Funktion h ist eine Funktion mit der Eigenschaft, daß es extrem schwer ist, zwei verschiedene x und y zu berechnen, welche die Bedingung h(x) = h(y) erfüllen. E is the concatenation of the two Bitfolgenrepräsentationen of n e and a one-way hash function h is a function with the property that it is extremely difficult for two different x and y to calculate what the | in the relation (4) n. Condition = satisfy h (y) h (x). Bekannte Beispiele von Einweg-Hash-Funktionen sind MD2, MD4 und MD5 von RSA Data Securities Inc. und der Standard SHS (Secure Hash Standard) der US-Bundesregierung. Well-known examples of one-way hash functions are MD2, MD4 and MD5 from RSA Data Securities Inc. and the standard SHS (Secure Hash Standard) of the US federal government.
  • [0061] [0061]
    Unter den obigen Zahlen können t, E und n der Öffentlichkeit ohne Risiko zugänglich sein, während der Rest der Zahlen, nämlich D, e, ω, p, q und ϕ(n), gegenüber jedermann mit Ausnahme derjenigen, denen die Erzeugung eines Zugriffstickets gestattet ist, geheim gehalten wird. Under the above numbers t, E and n public without risk can be accessed while the rest of the numbers, namely, D, E, ω, p, q and φ (n), to everyone except those which the generation of an access tickets is allowed to be kept secret. 3 3 zeigt die Konfiguration der ersten Ausführungsform. shows the configuration of the first embodiment. Eine Verifikationsvorrichtung A verification device 10 10 umfaßt folgendes: Eine Speicheranordnung comprising: a memory array 101 101 für einen öffentlichen Zugriffsticketschlüssel; for access ticket public key; eine Zufallszahlerzeugungsanordnung a random number generation means 102 102 ; ; eine Zufallszahlspeicheranordnung a random number memory array 103 103 ; ; eine Antwortspeicheranordnung Answer a memory array 105 105 ; ; eine Verifikationsanordnung a verification means 106 106 ; ; eine Ausführungsanordnung an execution order 107 107 ; ; und eine Fehlerabfanganordnung and a Fehlerabfanganordnung 108 108 . , Andererseits umfaßt eine Nachweisvorrichtung On the other hand, comprises a detection device 11 11 folgendes: Eine Abfragedatenspeicheranordnung the following: A challenging data storing means 111 111 ; ; eine erste Rechenanordnung a first computing device 112 112 ; ; eine Zugriffsticketspeicheranordnung an access ticket storing means 113 113 ; ; eine zweite Rechenanordnung a second computing device 114 114 ; ; eine Benutzerkennungspeicheranordnung a user ID memory array 115 115 ; ; und eine Antworterzeugungsanordnung and a response generation means 116 116 . ,
  • [0062] [0062]
    Mit den folgenden numerierten Absätzen wird die Funktion der die Vorrichtungen bildenden Anordnungen beschrieben. The following numbered paragraphs, the function of the devices forming assemblies is described.
    • 1. Die Verifikationsvorrichtung 1. The verification device 10 10 wird von einem Benutzer aufgerufen. is invoked by a user. Die Art des Aufrufens der Vorrichtung variiert abhängig davon, wie die Vorrichtung implementiert ist. The type of calling the device varies depending on how the device is implemented. Einige Beispiele werden nun gezeigt. Some examples will now be shown. Zum einen kann die Verifikationsvorrichtung Firstly, the verification device 10 10 als Teil eines Anwendungsprogramms implementiert sein, das auf einem PC oder einer Workstation eines Benutzers installiert und ausgeführt werden soll. be implemented as part of an application program to be installed and run on a PC or workstation of a user. In diesem Fall kann der Benutzer die Verifikationsvorrichtung In this case, the user can select the verification device 10 10 aufrufen, indem er das Anwendungsprogramm in gewöhnlicher Weise aufruft. call by calling the application program in the usual manner. Beispielsweise kann der Benutzer mit einer Zeigevorrichtung wie z. B. einer Maus das das Anwendungsprogramm auf dem Computerbildschirm repräsentierende Icon anklicken, oder er kann eine Tastatur verwenden. For example, the user can click on the application program representative on the computer screen icon with a pointing device such. As a mouse, or it can use a keyboard. Die Verifikationsvorrichtung The verification device 10 10 kann als Programm implementiert sein, das auf einem Server-Computer installiert und ausgeführt wird, der an den PC oder die Workstation eines Benutzers mittels eines Computernetzwerks angeschlossen ist. can be implemented as a program that is installed and running on a server computer that is connected to a user's PC or workstation via a computer network. In diesem Fall ruft eine) Benutzer/in, um die Verifikationsvorrichtung In this case, calls a) User / in to the verification device 10 10 aufzurufen, zuerst ein Kommunikationsprogramm auf, das auf dem PC oder der Workstation von ihm/ihr installiert ist: Das Kommunikationsprogramm stellt eine Verbindung zum Server her und beauftragt den Server, die Verifikationsvorrichtung call, first a communication program on which is / installed on the PC or workstation from him to her: The communication program connects to the server and requests the server, the verification device 10 10 aufzurufen. call. Wenn das Kommunikationsprogramm und der Server beispielsweise den TCP/IP-Protokollen folgen, wird die Verifikationsvorrichtung If the communication program and the server, for example, follow the TCP / IP protocols, the verification device is 10 10 einer vordefinierten Port-Nummer auf dem Servercomputer zugewiesen. assigned to a predefined port number on the server computer. Wenn das Kommunikationsprogramm die Anforderung zum Herstellen einer Verbindung zum Port ausgibt, empfängt Inetd, ein auf dem Servercomputer laufendes Demon-Programm, die Anforderung. If the communication program issues the request to connect to port receives inetd, a program running on the server computer Demon program the request. Nach der Überprüfung, welches Programm dem spezifizierten Port zugewiesen ist, ruft es schließlich die Verifikationsvorrichtung After reviewing what program is assigned to the specified port, it eventually calls the verification device 10 10 auf und stellt eine Verbindung zwischen der Verifikationsvorrichtung und dem Kommunikationsprogramm her. on and establishes a connection between the verification device and the communication program. Diese Art der Implementierung ist in vernetzten Computersystemen wie beispielsweise dem Internet sehr gebräuchlich. This type of implementation is very common in networked computer systems such as the Internet. Die Verifikationsvorrichtung The verification device 10 10 kann als Programm implementiert sein, das auf einem ROM oder EEPROM innerhalb eines Chipkartenlese/schreibgeräts geschrieben ist. may be implemented as a program that is written on a ROM or EEPROM within a chip card reading / writing device. In diesem Fall ist die Nachweisvorrichtung In this case, the detection device 11 11 ein Programm, das auf einem IC-Chip einer Chipkarte installiert ist; a program that is installed on an IC chip of a smart card; die Verifikationsvorrichtung the verification device 10 10 wird immer dann aufgerufen, wenn ein(e) Benutzer/in seine/ihre Chipkarte in das Chipkartenlese/Schreibgerät einführt. will be called when a (e) users / in his / her smart card introduced into the smart card reader / writer.
    • 2. Die Verifikationsvorrichtung 2. The verification device 10 10 sendet Abfragedaten C und einen Modul n an die Abfragedatenspeicheranordnung sends challenging data C and a modulus n to the challenging data storing means 111 111 der Nachweisvorrichtung the proving device 11 11 . , Der Modul n ist in der Speicheranordnung The modulus n is in the memory array 101 101 für einen öffentlichen Zugriffsticketschlüssel gespeichert. stored for access ticket public key. Andererseits werden Abfragedaten C wie folgt erzeugt: Die Zufallszahlerzeugungsanordnung On the other hand, query data generated C as follows: The random number generation means 102 102 erzeugt eine ganzzahlige Zufallszahl r derart, daß r und der Modul n zueinander teilerfremd sind (gcd(r, n) = 11; die erzeugte ganzzahlige Zufallszahl r wird in der Zufallszahlspeicheranordnung generates a random integer r such that r and the modulus n are relatively prime to each other (gcd (r, n) = 11; the random integer r is generated in the random number memory array 103 103 gespeichert; stored; schließlich stellt die Zufallszahlerzeugungsanordnung Finally, the random number generation means 102 102 den Wert von C auf r ein. the value of C to r a. Wie später ausführlicher erläutert, ist die Antwort, die die Nachweisvorrichtung As explained later in more detail, the response which the proving device 11 11 an die Verifikationsvorrichtung the verification device 10 10 geben soll, eine RSA-Verschlüsselung von r mit D als Schlüssel und n als Modul. to give an RSA encryption of r with D as the key and n as a module. Da der Wert von C identisch mit der ganzzahligen Zufallszahl r ist, variiert er mit dem Auftreten von Kommunikation zwischen der Verifikationsvorrichtung Since the value of C is identical to the random integer r, it varies with the occurrence of communication between the verification device 10 10 und der Nachweisvorrichtung and the detecting device 11 11 . , Dies verhindert, daß der sogenannte Wiedergabeangriff gelingt. This prevents the so-called playback attack succeeds.
    • 3. Die erste Rechenanordnung 3. The first calculation means 112 112 der Nachweisvorrichtung the proving device 11 11 berechnet ein Zwischenergebnis R' gemäß der Relation (5). calculates an intermediate result R 'according to the relation (5). Ein Zugriffsticket t, das verwendet werden soll, wird in der Zugriffsticketspeicheranordnung An access ticket t to be used is in the access ticket storing means 113 113 gespeichert. stored. R' = C t mod n (5) R '= C t mod n (5)
    • 4. Die zweite Rechenanordnung 4. The second calculation means 114 114 der Nachweisvorrichtung the proving device 11 11 berechnet ein Differential bzw. eine Differenz S gemäß der Relation (6). calculates a differential or a differential S according to the relation (6). Eine Benutzerkennung e, die verwendet werden soll, ist in der Benutzerkennungspeicheranordnung A user identifying information e, which is to be used is in the user identifying information storing means 115 115 gespeichert. stored. S = C e mod n (6) S = C e mod n (6)
    • 5. Wenn sie R' und S von der ersten Rechenanordnung 5. When R 'and S from the first computing device 112 112 bzw. der zweiten Rechenanordnung and the second computing device 114 114 empfängt, berechnet die Antworterzeugungsanordnung receives, calculates the response generation means 116 116 der Nachweisvorrichtung the proving device 11 11 eine Antwort R gemäß der Relation (7). a response R according to the relation (7). R = R'S mod n (7) R = R'S mod n (7)
    • 6. Die Nachweisvorrichtung 6. The detection device 11 11 gibt die erzeugte Antwort R an die Antwortspeicheranordnung are generated response R to the response storing means 105 105 der Verifikationsvorrichtung the verification device 10 10 zurück. back.
    • 7. Die Verifikationsanordnung 7. The verification means 106 106 der Verifikationsvorrichtung the verification device 10 10 führt zuerst die Berechnung ( first performs the calculation ( 8 8 ) aus. ) From. Sowohl der Exponent E als auch der Modul n werden in der Speicheranordnung Both the exponent e and modulus n in the memory array 101 101 für den öffentlichen Zugriffsticketschlüssel gespeichert, und die Antwort R wird in der Antwortspeicheranordnung stored for public access ticket key, and the response R is the response storing means 105 105 gespeichert. stored. R E mod n (8) R e mod n (8)
  • [0063] [0063]
    Schließlich untersucht die Verifikationsanordnung Finally, the verification means tested 106 106 die Relation (9). the relation (9). C mod n = R E mod n (9) C mod n = R e mod n (9)
  • [0064] [0064]
    Wenn die Relation (9) gilt, ruft die Verifikationsanordnung die Ausführungsanordnung If the relation (9) holds, calls the verification means the execution order 107 107 auf. on. Die Ausführungsanordnung The execution order 107 107 stellt einem/einer Benutzer/in Dienstprogramme zur Verfügung, auf die er/sie zugreifen wollte. is a / an user / in utilities available to which he / she was trying to access. Anderenfalls ruft sie die Fehlerabfanganordnung Otherwise, it calls the Fehlerabfanganordnung 108 108 auf. on. Die Fehlerabfanganordnung The Fehlerabfanganordnung 108 108 kann dem Benutzer den Zugriff durch Beendigen der Ausführung verweigern. the user may deny access by terminating the execution.
  • Zweite Ausführungsform Second Embodiment
  • [0065] [0065]
    Eine zweite zu beschreibende Ausführungsform ist hinsichtlich der Definition des Zugriffstickets t und der Funktion der Nachweisvorrichtung gleich wie die erste Ausführungsform. A second embodiment to be described is with respect to the definition of the access ticket t and the function of the detection device the same as the first embodiment. Die Verifikationsvorrichtung arbeitet jedoch anders. However, the verification device operates differently. Der Unterschied bei den Rollen zwischen den Abfragedaten C und einer Antwort R bewirkt einen Unterschied in der Funktion zwischen den zwei Ausführungsformen: Bei der ersten Ausführungsform ist eine Antwort R eine Verschlüsselung eines Zufallsabfragedatenelements C; The difference in roles between the query data C and a response R causes a difference in function between the two embodiments: In the first embodiment is a response R is an encryption of a random sample data element C; bei der zweiten Ausführungsform ist eine Antwort R eine Entschlüsselung eines Abfragedatenelements In the second embodiment, a response R is a decryption of a query data element 10 10 , das eine Verschlüsselung von anderen aussagekräftigen Daten ist. Which is an encryption of other meaningful data.
  • [0066] [0066]
    5 5 stellt die Konfiguration von Vorrichtungen der zweiten Ausführungsform dar, und illustrates the configuration of apparatuses of the second embodiment, and 6 6 stellt den Fluß von Daten dar. Eine Verifikationsvorrichtung illustrates the flow of data. A verification device 10 10 umfaßt die folgenden Anordnungen: eine Speicheranordnung includes the following arrangements: a memory array 101 101 für einen öffentlichen Zugriffsticketschlüssel; for access ticket public key; eine Zufallszahlerzeugungsanordnung a random number generation means 102 102 ; ; eine Zufallszahlspeicheranordnung a random number memory array 103 103 ; ; eine Antwortspeicheranordnung Answer a memory array 105 105 ; ; eine Anordnung an arrangement 121 121 zum Umrechnen in eine Zufallszahl; for converting into a random number; eine Abfragestartparameterspeicheranordnung Start a query parameter memory array 122 122 ; ; eine Anordnung an arrangement 123 123 zum Zurückrechnen aus einer Zufallszahl; Back to Expect from a random number; und eine Ausführungsanordnung and an execution order 310 310 . , Eine Nachweisvorrichtung A detection device 11 11 umfaßt die folgende Anordnungen: eine Abfragedatenspeicheranordnung the following arrangements comprising: a challenging data storing means 111 111 ; ; eine erste Rechenanordnung a first computing device 102 102 ; ; eine Zugriffsticketspeicheranordnung an access ticket storing means 113 113 ; ; eine zweite Rechenanordnung a second computing device 114 114 ; ; eine Benutzerkennungspeicheranordnung a user ID memory array 115 115 ; ; und eine Antworterzeugungsanordnung and a response generation means 116 116 . ,
  • [0067] [0067]
    Durch die folgenden numerierten Absätze wird die Funktion der die Vorrichtungen bildenden Anordnungen Schritt für Schritt beschrieben. By the following numbered paragraphs, the function of the devices forming assemblies is described step by step.
    • 1. Die Verifikationsvorrichtung 1. The verification device 10 10 wird von einem Benutzer aufgerufen. is invoked by a user.
    • 2. Die Verifikationsvorrichtung 2. The verification device 10 10 sendet Abtastdaten C und einen Modul n an die Abfragedatenspeicheranordnung sends sampling data C and a modulus n to the challenging data storing means 111 111 der Nachweisvorrichtung the proving device 11 11 . , Der Modul n ist in der Speicheranordnung The modulus n is in the memory array 101 101 für einen öffentlichen Zugriffsticketschlüssel gespeichert. stored for access ticket public key. Andererseits wird ein Abfragedatenelement C durch Ausführen der folgenden Schritte erzeugt: Die Zufallszahlerzeugungsanordnung On the other hand, a query data element C is generated by performing the following steps: Random number generation means 102 102 erzeugt eine ganzzahlige Zufallszahl r so, daß r und der Modul n zueinander teilerfremd sind (gcd(r, n) = 1); generates a random integer r such that r and the modulus n are relatively prime to each other (gcd (r, n) = 1); die ganzzahlige Zufallszahl r wird in der Zufallszahlspeicheranordnung the random integer r in the random number memory array 103 103 gespeichert; stored; die Anordnung the arrangement 121 121 zum Umrechnen in eine Zufallszahl erzeugt ein Abfragedatenelement C gemäß Relation ( for converting into a random number generated a query data element C according to relation ( 10 10 ). ). C = r E C' mod n (10) C = r E C 'mod n (10)
  • [0068] [0068]
    Die ganze Zahl C' wird in der Abfragestartparameterspeicheranordnung The integer C 'in the query startup parameter memory array 122 122 gespeichert und erfüllt die Relation (11) für gewisse Daten K. stored and satisfies the relation (11) for some data K. C' = K E mod n (11) C '= K e mod n (11)
  • [0069] [0069]
    Der Exponent E (öffentlicher Zugriffsticketschlüssel) und der Modul n sind beide in der Speicheranordnung The exponent E (public access ticket key) and the modulus n are both in the memory array 101 101 für einen öffentlichen Zugriffsticketschlüssel gespeichert. stored for access ticket public key.
  • [0070] [0070]
    Die Verifikationsvorrichtung The verification device 10 10 enthält eine Verschlüsselung C' von K anstatt K selbst. Tatsächlich ist C' eine RSA-Verschlüsselung von K mit einem öffentlichen Schlüssel E und einem Modul n. Dies besitzt vom Standpunkt der Sicherheit aus einen Vorteil: Das für die Authentifizierungsprozeduren kritische Datenelement K gelangt nie aus der Verifikationsvorrichtung includes an encryption C RSA encryption of K with a public key e and a modulus n This has from a security standpoint, an advantage 'of K instead of K itself Indeed, C.'. The critical authentication procedures Element K never arrives from the verification device 10 10 heraus. out. Die Zufälligkeit von r spielt ebenfalls eine wichtige Rolle: Wenn r mit einer geheimen Konstante identisch wäre, wäre das Abfragedatenelement C eine Verschlüsselung des Datenelements K bis auf einen konstanten Koeffizienten, und daher wäre die Antwort, die die Nachweisvorrichtung The randomness of R also plays an important role: if r would be identical to a secret constant, the query data element C would have an encryption of the data item K up to a constant coefficient, and would therefore be the answer, the detection device, the 11 11 erzeugt, K, bis auf einen konstanten Koeffizienten; generated, K, up to a constant coefficient; somit würde ein konstantes r Wiedergabeangriffe erlauben, da die Kommunikation zwischen der Verifikationsvorrichtung thus a constant r playback attacks would allow, because communication between the verification device 10 10 und der Nachweisvorrichtung and the detecting device 11 11 immer identisch wäre. would always be the same. Bei dieser Ausführungsform tritt durch Erzeugen des Abfragedatenelements C so, daß es von einer Zufallszahl r abhängt (vgl. Relation (10)), die Kommunikation zwischen der Verifikationsvorrichtung In this embodiment passes through generating the query data element C so that it depends on a random number r (see FIG. Relation (10)), the communication between the verification device 10 10 und der Nachweisvorrichtung and the detecting device 11 11 mit einer Variation auf, und deshalb werden Versuche von Wiedergabeattacken hoffnungslos. with a variation on, and therefore attempts by reproducing attacks hopeless.
    • 3. Die erste Rechenanordnung 3. The first calculation means 112 112 der Nachweisvorrichtung the proving device 11 11 berechnet ein Zwischenergebnis R' gemäß der Relation (12). calculates an intermediate result R 'according to the relation (12). R' = C t mod n (12) R '= C t mod n (12)
    • Im Verlauf der Berechnung verwendet die Anordnung das in der Zugriffsticketspeicheranordnung During the calculation the arrangement used in the access ticket storing means 113 113 gespeicherte Zugriffsticket t. stored access ticket t.
    • 4. Die zweite Rechenanordnung 4. The second calculation means 114 114 der Nachweisvorrichtung the proving device 11 11 berechnet eine Differenz S gemäß der Relation (13). calculates a differential S according to the relation (13). S = C e mod n (13) S = C e mod n (13)
    • Im Verlauf der Berechnung verwendet die Anordnung die in der Benutzerkennungspeicheranordnung During the calculation the arrangement used in the user ID memory array 115 115 gespeicherte Benutzerkennung e. saved user ID e.
    • 5. Unter Empfang des Zwischenergebnisses R' und der Differenz S aus der ersten Rechenanordnung 5. Upon receipt of the intermediate result R 'and S the difference from the first computing device 112 112 bzw. der zweiten Rechenanordnung and the second computing device 114 114 berechnet die Antworterzeugungsanordnung calculates the response generation means 116 116 der Nachweisvorrichtung eine Antwort R gemäß der Relation (14). the proving device a response R according to the relation (14). R = R'S mod n (14) R = R'S mod n (14)
    • 6. Die Nachweisvorrichtung 6. The detection device 11 11 gibt die erzeugte Antwort R an die Antwortspeicheranordnung are generated response R to the response storing means 307 307 der Verifikationsvorrichtung the verification device 10 10 zurück. back.
    • 7. Die Anordnung 7. The arrangement 123 123 zum Zurückrechnen aus einer Zufallszahl der Verifikationsvorrichtung Back to Expect from a random number verification device 10 10 berechnet K' gemäß der Relation (15). calculates K 'according to the relation (15). K' = r –1 R mod n (15) K '= r -1 R mod n (15)
  • [0071] [0071]
    Im Verlauf der Berechnung verwendet die Anordnung die in der Zufallszahlspeicheranordnung During the calculation the arrangement used in the random number memory array 103 103 gespeicherte Zufallszahl r und die in der Antwortspeicheranordnung stored random number r and in the answer memory device 105 105 gespeicherte Antwort R. Es ist festzuhalten, daß die Werte K' und K dann und nur dann miteinander identisch sind, wenn die Nachweisvorrichtung stored response R. It should be noted that the values of K 'and K, and only then are then identical to each other when the detecting device 11 11 die Antwort R auf der Basis eines richtigen Paars aus einem Zugriffsticket t und einer Benutzerkennung e berechnete. the response R to the base of a pair of right T from a access ticket and a user identifying information e calculated.
  • [0072] [0072]
    Schließlich schickt die Anordnung Finally, the arrangement sends 123 123 zum Zurückrechnen aus einer Zufallszahl den Wert K' an die Ausführungsanordnung Back to Expect from a random number the value K 'to the execution order 310 310 , und die Ausführungsanordnung And the execution order 310 310 führt vordefinierte Prozeduren unter Verwendung dieses gegebenen K' aus. executes predefined procedures using this given K 'out. Die Ausführungsanordnung The execution order 310 310 ist so ausgelegt, daß sie nur dann richtig arbeitet, wenn K' mit K identisch ist; is designed so that it only works properly if K 'K is identical; anderenfalls kann sie nicht arbeiten. otherwise it can not work.
  • [0073] [0073]
    Die folgenden Absätze beschreiben einige Beispiele der Implementierung der Ausführungsanordnung The following paragraphs describe some examples of the implementation of Executive Order 310 310 . ,
    • 1. First 7 7 stellt ein erstes Beispiel dar. Eine Speicheranordnung illustrates a first example. A memory arrangement 310a 310a der Ausführungsanordnung the execution order 310 310 enthält das Datenelement K. Unter Empfang von K' von der Anordnung contains the data element K. Upon receipt of K 'of the arrangement 123 123 zum Zurückrechnen aus einer Zufallszahl untersucht eine Vergleichsanordnung Back to Expect from a random number examines a comparison device 310b 310b direkt deren Gleichheit, K = K'. direct their equality, K = K '. Wenn die Gleichheit nicht gegeben ist, stellt die Ausführungsanordnung If the equality is not given, the execution order 310 310 ihre Arbeit sofort ein. their work immediately. Anderenfalls setzt die Ausführungsanordnung Otherwise, sets the execution order 310 310 ihre Arbeit fort und stellt Benutzern Dienstprogramme zur Verfügung. continued its work and provides users with utilities. Dieses Beispiel enthält den Nachteil, der aus der Tatsache stammt, daß das für die Authentifizierungsprozeduren kritische Datenelement K so erscheint, wie es in der Vorrichtung ist: Wenn ein zu installierendes und auszuführendes Computerprogramm auf einem PC oder einer Workstation eines Benutzers auf der Ausführungsanordnung implementiert wird, ist es für einen Benutzer nicht unmöglich, den Wert K durch Analysieren des Codes des Anwendungsprogramms herauszufinden. This example includes the disadvantage that comes from the fact that the critical for authentication procedures Element K appears as it is in the device: If an item to install and to be executed computer program is implemented on a personal computer or workstation a user on the execution order , it is not impossible for a user to find out the value of K by analyzing the code of the application program. Der Wert K ist kritisch, da, falls der/die Benutzer/in den Wert von K einmal kennt und falls er/sie Zufallszahlenfolgen vorhersagen kann, die von der Zufallszahlerzeugungsanordnung The value of K is critical because if the / know the user / in the value of K once and if he / she can predict random number sequences derived from the random number generation means 102 102 zu erzeugen sind, er/sie sowohl ohne Zugriffsticket als auch ohne Benutzerkennung E eine Vorrichtung bauen kann, welche die Nachweisvorrichtung are to be produced, he / she can build a device can not access ticket and without a user ID E that the detection device 11 11 simulieren kann. can be simulated. In anderen Worten könnte jeder die Authentifizierungsüberprüfung durch die Verifikationsvorrichtung In other words, each could be the authentication check through the verification device 10 10 mit diesem Simulator unabhängig davon bestehen, ob er/sie autorisiert ist oder nicht. exist with this simulator regardless of whether he / she is authorized or not.
    • 2. . 2 9 9 stellt ein zweites Beispiel dar. Bei diesem Beispiel enthält eine Speicheranordnung represents a second example. In this example, includes a memory array 310a 310a h(K) anstatt von K, was ein Wert ist, der durch Anwenden einer Einweg-Hash-Funktion h auf K gewonnenist. h (k) instead of K, which is a value of h, by applying a one-way hash function on gewonnenist K. Eine signifikante Eigenschaft von Einweg-Hash-Funktionen besteht darin, daß es rechnerisch unmöglich ist, bei gegebenem y ein x zu berechnen, das y = h (x) erfüllt. A significant property of one-way hash functions is that it is computationally infeasible to calculate a x for a given y, the y = satisfies h (x). Unter Empfang von K' von einer Anordnung 123 zum Zurückrechnen aus einer Zufallszahl berechnet eine Hash-Anordnung Upon receipt of K 'of an arrangement 123 for calculating back from a random number calculates a hash array 310c 310c h(K'), was das Ergebnis des Anwendens der Einweg-Hash-Funktion h auf K' ist. h (K '), which is the result of applying the one-way hash function h to k'.
  • [0074] [0074]
    Dann untersucht die Vergleichsanordnung Then examines the comparative arrangement 310b 310b die Identität von diesem h(K') und dem in der Speicheranordnung the identity of this h (K ') and in the memory array 310a 310a gespeicherten Wert (= h(K)). stored value (= h (K)). Im Vergleich zum ersten Beispiel ist dieses Beispiel sicherer, da es kein effektives Mittel gibt, den kritischen Datenwert K herauszufinden: selbst falls es einem/einer Benutzer/in gelingen sollte, den Code des die Ausführungsanordnung Compared to the first example, this example is more secure because there is no effective way to find out the critical data K: even if it should be possible for an / a user / in the code of the execution order 310 310 bildenden Programms zu analysieren, könnte er/sie nicht mehr als den Wert von h(K) herausfinden; to analyze visual program, he / she could find no more than the value of h (K); aufgrund der Eigenschaft der Einweg-Hash-Funktionen ist es rechnerisch unmöglich, bei gegebenem h(K) das K zu berechnen. because of the one-way hash function property, it is computationally infeasible to calculate for a given h (K) the K. Wenn jedoch die Ausführungsanordnung However, if the execution order 310 310 als Computerprogramm implementiert ist, kann die Vergleichsanordnung is implemented as a computer program, the comparison means 310b 310b als eine Wenn-Klausel repräsentiert sein. be represented as an if-clause. Wenn ferner angenommen wird, daß die Verifikationsvorrichtung auf dem PC oder der Workstation eines Benutzers ausgeführt wird, kann ein Benutzer die Chance haben, den Code so zu modifizieren, daß die Wenn-Klausel immer übersprungen werden soll. If it is further assumed that the verification device is executed on a user's PC or workstation, a user can have the opportunity to modify the code so that the if-clause is to be always skipped.
  • [0075] [0075]
    Daher ist die Implementierung dieses Beispiels nicht sicher genug, insbesondere wenn die Ausführungsanordnung Therefore, the implementation of this example is not safe enough, especially when the execution order 310 310 als Computerprogramm implementiert ist, das auf dem PC oder der Workstation eines Benutzers ausgeführt werden soll. is implemented as a computer program to be run on a user's PC or workstation.
    • 3. . 3 11 11 stellt ein drittes Beispiel dar. Diesmal wird der Schutz so angewendet, daß eine Ausführung des Programms der Ausführungsanordnung represents a third example. This time, the protection is applied so that a program execution, the execution order 310 310 unmöglich wird, indem ein Teil oder der gesamte Code des Programms verschlüsselt wird. becomes impossible, adding a portion or all of the code of the program is encrypted. Der verschlüsselte Code wird in der Abfragestartparameterspeicheranordnung The encrypted code in the query startup parameter memory array 122 122 als Startparameter C' für Abfragedaten C gespeichert. stored as a startup parameter C 'for challenging data C. Genauer gesagt sind die kritischen Daten K zu verschlüsselnder Programmcode, und C' ist eine RSA-Verschlüsselung des Codes K mit einem öffentlichen Schlüssel E und einem Modul n (C = KE mod n). More specifically, the critical data to be encrypted program code K, and C 'is RSA encryption of the code K with a public key E and a modulus n (C = KE mod n). Sowohl E als auch n sind die in der Speicheranordnung E are both as well as the n in the memory array 101 101 für einen öffentlichen Zugriffsticketschlüssel gespeicherten Werte. stored values for access ticket public key. Die Ausführungsanordnung The execution order 310 310 enthält eine Codespeicheranordnung contains a code memory array 310d 310d , eine Codeladeanordnung A loader assembly code 310e 310e und eine Codeausführungsanordnung and code execution arrangement 310f 310f . , Die Codeladeanordnung The code loading assembly 310e 310e liefert K', den die Codespeicheranordnung provides K ', the code memory array 310d 310d von der Anordnung of the arrangement 123 123 zum Zurückrechnen aus einer Zufallszahl empfing, an die Codeausführungsanordnung received for calculating back from a random number to the assembly code execution 310f 310f . , Nur wenn K' mit K identisch ist, hat der an die Codeausführungsanordnung Only if K 'K is identical to the code, the execution order 310f 310f gelieferte Code eine Bedeutung als Teil des Programms der Ausführungsanordnung Code delivered a meaning as a part of the program execution order 310 310 . , Im folgenden wird eine ausführlichere Beschreibung des Aufbaus angegeben. The following is a detailed description of the structure is given. Es sei der Fall betrachtet, in dem die Ausführungsanordnung It Consider the case in which the execution order 310 310 als Computerprogramm implementiert ist, das auf einem PC oder einer Workstation eines Benutzers ausgeführt wird. is implemented as a computer program that runs on a PC or a workstation of a user. Die Codespeicheranordnung The code memory array 310d 310d ist ein spezifizierter Bereich innerhalb eine Speichers des PCs des Benutzers. is a specified area within a memory of the user's PC.
  • [0076] [0076]
    Die Codeausführungsanordnung The assembly code execution 310f 310f umfaßt die CPU und ein Betriebssystem des PCs. includes the CPU and operating system of the PC. Die CPU und das Betriebssystem, die miteinander kooperieren, rufen Anweisungen aus einem bestimmten vordefinierten Bereich innerhalb des Speicherraums (Programmbereich genannt) ab und führen ihre Anweisungen eine nach der anderen aus. The CPU and operating system, cooperate they call instructions from a certain pre-defined area within the memory space (program area named), and thread one from the other by their instructions. Allgemein gesagt wird eine aussagekräftige Ansammlung von Anweisungen als Programm bezeichnet, und ein Programm befindet sich innerhalb des Programmbereichs. Generally speaking, a meaningful collection of instructions called a program, and a program is located within the program area. Die Gesamtheit der Codeladeanordnung The entirety of the code loading assembly 310e 310e ist ein Teil des die Ausführungsanordnung is a part of the execution order 310 310 bildenden Programms, und sie ist als erstes auszuführen, wenn die Ausführungsanordnung forming program, and it is to be executed first when the execution order 310 310 aufgerufen wird. is called. Wenn sie aufgerufen wird, befiehlt die Codeladeanordnung When called, tells the loader assembly code 310e 310e der Codeausführungsanordnung code execution arrangement 310f 310f , den in der Codespeicheranordnung That in the code memory array 310d 310d gespeicherten Inhalt in ein spezifiziertes Gebiet innerhalb des Programmbereichs zu kopieren, und befiehlt dann der Codeausführungsanordnung to copy content stored in a specified area within the program area, and then instructs the code execution order 310f 310f , die kopierte Folge an Anweisungen durch Ausgabe beispielsweise eines JMP-Befehls auszuführen. To run the copied sequence of instructions through the issue, for example, a JMP instruction.
  • [0077] [0077]
    Somit ist, da ein Teil oder der gesamte Code des Programms der Ausführungsanordnung Thus, as a part of or the entire code of the program execution arrangement 310 310 verschlüsselt wird und da er des weiteren nur vorübergehend entschlüsselt wird, wenn die Verifikationsvorrichtung is encrypted and he is further temporary decrypted when the verification device 10 10 und die Nachweisvorrichtung and the detection device 11 11 richtig zusammenarbeiten, die Ausführungsanordnung work together properly, the execution order 310 310 viel sicherer als in den Fällen der vorhergehenden zwei Beispiele: Selbst wenn es einem/einer Benutzer/in gelänge, das Programm zu analysieren, könnte er/sie den fehlenden Code K überhaupt nicht gewinnen; much safer than in the cases of the preceding two examples: Even if it is a / an user / in would be possible to analyze the program, he / she could not win the missing code K; das Modifizieren des Codes des Programms ohne Kenntnis von K hat definitiv keinen Wert. modifying the code of the program without the knowledge of K definitely has no value.
    • 4. . 4 13 13 stellt ein viertes Beispiel dar. Diese Beispiel ist im wesentlichen gleich wie das dritte Beispiel, mit der Ausnahme, daß K der Verschlüsselungsschlüssel ist, der zum Verschlüsseln von Code des die Ausführungsanordnung illustrates a fourth example. This example is substantially the same as the third example, except that K, the encryption key is used to encrypt the code of the mode of embodiment 310 310 bildenden Programms ist, während im vorigen Beispiel K der Code selbst ist. forming program, while in the previous example K of the code itself. Da der zu verschlüsselnde Code gemäß der Konfiguration des dritten Beispiels sehr groß sein kann, kann die Größe von K (nämlich diejenige von C' und C) so groß sein, daß sie die Leistungsfähigkeit der Verifikationsvorrichtung Since the code to be encrypted according to the configuration of the third example can be very large, the size of K can (namely that of C 'and C) be so great that it the performance of the verification device 10 10 und der Nachweisvorrichtung and the detecting device 11 11 verschlechtern. deteriorate. Im Gegensatz dazu bleibt gemäß der Konfiguration des vierten Beispiels die Größe von K (nämlich diejenige von C') unabhängig von der Größe des zu verschlüsselnden Programmcodes unverändert: Die Größe von K wird von dem zu verwendenden Verschlüsselungsalgorithmus bestimmt; In contrast, the size of K (namely that of C ') is according to the configuration of the fourth example, regardless of the size of the encrypted program code unchanged: the size of K is determined by the encryption algorithm to be used; wenn DES (Data Encryption Standard) verwendet wird, ist K selbst dann immer 64 (56) Bits lang, wenn die Größe des zu verschlüsselnden Codes in Megabyte gemessen wird. if DES (Data Encryption Standard) is used, K is even getting 64 (56) bits long when the size of the code to be encrypted is measured in megabytes.
  • [0078] [0078]
    Die Ausführungsanordnung The execution order 310 310 umfaßt eine Speicheranordnung includes a memory array 310g 310g für verschlüsselten Code, eine Entschlüsselungsanordnung for encrypted code, decryption 310h 310h , eine Codeladeanordnung A loader assembly code 310i 310i und eine Codeausführungsanordnung and code execution arrangement 310f 310f . , Unter Empfang der Daten K' aus der Anordnung Upon receipt of the data K 'from the arrangement 123 123 zum Zurückrechnen aus einer Zufallszahl entschlüsselt die Entschlüsselungsanordnung Back to Expect from a random number decrypts the decryption 310h 310h den in der Speicheranordnung the in the memory array 310g 310g für verschlüsselten Code gespeicherten Inhalt. stored content of encrypted code. Beim Prozeß der Entschlüsselung wird K' als Entschlüsselungsschlüssel verwendet. In the process of decryption is K 'used as a decryption key. Die Codeladeanordnung The code loading assembly 310i 310i lädt die Ausgabe aus der Entschlüsselungsanordnung loads the output of the decryption 310h 310h , der entschlüsselter Code ist, wenn K' identisch mit K ist, in ein spezifiziertes Gebiet innerhalb des Programmbereichs und befiehlt dann der Ausführungsanordnung , The decrypted code is, if K 'is identical to K, in a specified area within the program area and then orders the execution order 310f 310f , den geladenen Code auszuführen. To execute the loaded code.
  • Dritte Ausführungsform Third Embodiment
  • [0079] [0079]
    Bei einer dritten Ausführungsform ist die Definition eines Zugriffstickets durch Relation (16) gegeben. In a third embodiment, the definition of an access ticket is given by relation (16). t = D + F(n, e) (16) t = D + F (n, e) (16)
  • [0080] [0080]
    Die folgenden mit dicken Punkten versehenen Absätze erläutern die in der Relation (16) auftretenden Symbole. The following paragraphs explain equipped with thick points in the relation (16) occurring symbols.
    • – Eine ganze Zahl n ist ein RSA-Modul, somit ein Produkt aus zwei sehr großen Primzahlen p und q (n = pq). - An integer n is an RSA modulus, thus a product of two large prime numbers p and q (n = pq).
    • – ϕ(n) bezeichnet die Eulerzahl von n, somit ein Produkt aus zwei ganzen Zahlen p – 1 und q – 1 (ϕ(n) = (p – 1) (q – 1)). - Φ (n) denotes the Euler number of n, hence, a product of two integers p - 1 and q - 1 (φ (n) = (p - 1) (q - 1)).
    • – Eine Benutzerkennung e ist eine ganze Zahl, die den einzelnen Benutzern zugewiesen wird. - A user ID e is an integer that is assigned to each user. Die Benutzerkennung e ist für jeden Benutzer eindeutig: The user ID e is unique for each user:
    • – Jedem Benutzer wird eine andere Benutzerkennung zugewiesen. - Each user is assigned a different user ID.
    • – Ein geheimer Zugriffsticketschlüssel D ist der private Schlüssel eines RSA-Paars mit einem öffentlichen Schlüssel. - A secret access key ticket D is the private key of an RSA public key pair. Da der angenommene Modul n ist, erfüllt D die Relation (17). Since the assumed modulus is N, D satisfies the relation (17). gcd(D, ϕ(n)) = 1 (17) gcd (D, φ (n)) = 1 (17)
    • – Vorstehend bezeichnet gcd(x, y) den größten gemeinsamen Teiler zweier ganzer Zahlen x und y. - In the above referred gcd (x, y) denotes the greatest common divisor of two integers x and y. Das Vorhandensein einer ganzen Zahl E, welche die Relation (18) erfüllt, die als öffentlicher Zugriffsticketschlüssel bezeichnet wird, wird aus der Relation (18) abgeleitet. The existence of an integer E satisfying the relation (18), which is referred to as a public access ticket key is derived from the relation (18). ED mod ϕ(n) = 1 (18) ED mod φ (n) = 1 (18)
    • – Eine Funktion F(x, y) mit zwei Variablen ist eine beliebige kollisionsfreie Funktion. - A function F (x, y) having two variables is an arbitrary collision-free function. In der Praxis kann eine kollisionsfreie Funktion unter Verwendung einer Einweg-Hash-Funktion h in der Relation (19) aufgebaut werden. In practice, a collision-free function using a one-way hash function h in the relation (19) can be constructed. F(x, Y) = h(x | Y) (19) F (x, y) = h (x | Y) (19)
  • [0081] [0081]
    Die The 15 15 und and 16 16 dienen der Erläuterung dieser Ausführungsform: serve to illustrate this embodiment: 15 15 stellt die Konfiguration der Vorrichtungen dieser Ausführungsform dar; illustrates the configuration of the devices of this embodiment; 16 16 stellt den Fluß von Daten dar. illustrates the flow of data.
  • [0082] [0082]
    In In 15 15 umfaßt eine Nachweisvorrichtung comprises a detection device 11 11 eine Abfragedatenspeicheranordnung a query data storage device 111 111 , eine erste Rechenanordnung A first computing device 112 112 , eine Zugriffsticketspeicheranordnung An access ticket storing means 113 113 , eine zweite Rechenanordnung A second computing device 114 114 , eine Benutzerkennungspeicheranordnung A user ID memory array 115 115 , eine Antworterzeugungsanordnung A response generation means 116 116 und eine Exponentenerzeugungsanordnung and an exponent generation arrangement 130 130 . , Eine Verifikationsvorrichtung A verification device 10 10 in dieser Ausführungsform kann identisch mit derjenigen in der ersten Ausführungsform (in in this embodiment, identical to that in the first embodiment (in 3 3 gezeigt) oder der zweiten Ausführungsform (in shown) or the second embodiment (in 5 5 gezeigt) sein. be shown).
  • [0083] [0083]
    Durch die folgenden numerierten Absätze wird die Funktion der die Vorrichtungen bildenden Anordnungen Schritt für Schritt beschrieben. By the following numbered paragraphs, the function of the devices forming assemblies is described step by step.
    • 1. Die Verifikationsvorrichtung 1. The verification device 10 10 wird von einem Benutzer aufgerufen. is invoked by a user.
    • 2. Die Verifikationsvorrichtung C schickt Abfragedaten C und einen Modul n an die Abfragedatenspeicheranordnung 2. The verification device C sends challenging data C and a modulus n to the challenging data storing means 111 111 der Nachweisvorrichtung the proving device 11 11 . , Der Modul n wird in der Speicheranordnung The modulus is n in the memory array 101 101 für einen öffentlichen Zugriffsticketschlüssel gespeichert, und die Abfragedaten C werden auf eine der Weisen erzeugt, wie sie in der ersten Ausführungsform oder der zweiten Ausführungsform beschrieben sind: C ist entweder identisch mit r E mod n oder r E C' mod n. stored for access ticket public key, and the query data C is generated on one of the ways, as described in the first embodiment or the second embodiment: C is either identical to r e mod n or r E C 'mod n.
    • 3. Die erste Rechenanordnung 3. The first calculation means 112 112 der Nachweisvorrichtung the proving device 11 11 berechnet ein Zwischenergebnis R' gemäß der Relation ( calculates an intermediate result R 'according to the relation ( 20 20 ). ).
    • Ein zu verwendendes Zugriffsticket t wird in der Zugriffsticketspeicheranordnung One-to-use access ticket t is in the access ticket storing means 113 113 gespeichert. stored. R' = C t mod n (20) R '= C t mod n (20)
    • 4. Die Exponentenerzeugungsanordnung 4. The exponent generation arrangement 130 130 berechnet F(n, e) durch Anwenden der kollisionsfreien Funktion F auf den Modul n, der in der Abfragedatenspeicheranordnung calculated F (n, e) n to the module by applying the collision-free function F, which in the query data storage device 111 111 gespeichert ist, und die Benutzerkennung e, die in der Benutzerkennungspeicheranordnung is stored, and the user ID e, the user ID in the memory array 115 115 gespeichert ist. is stored. F(n, e) (21) F (n, e) (21)
    • 5. Unter Empfang des Ergebnisses der Exponentenerzeugungsanordnung 5. Upon receipt of the result of the exponent generation arrangement 130 130 berechnet die zweite Rechenanordnung calculates the second computing device 114 114 der Nachweisvorrichtung the proving device 11 11 eine Differenz S gemäß der Relation (22). a differential S according to the relation (22). S = C F(n, e) mod n (22) S = C F (n, e) mod n (22)
    • 6. Unter Empfang von R' und S von der ersten Rechenanordnung 6. Upon receipt of R 'and S from the first calculation means 112 112 bzw. der zweiten Rechenanordnung and the second computing device 114 114 berechnet die Antworterzeugungsanordnung calculates the response generation means 116 116 der Nachweisvorrichtung eine Antwort R gemäß der Relation (23). the proving device a response R according to the relation (23). R = R'S –1 mod n (23) R = R'S -1 mod n (23) In der Relation (23) bezeichnet S –1 das Reziproke von S unter dem Modul n. Somit erfüllen S und S –1 die Relation (24). In the relation (23) S -1 denotes the reciprocal of S under the modulus n. Thus S and S -1 satisfy the relation (24). SS –1 mod n = 1 (24) SS -1 mod n = 1 (24)
    • 7. Die Nachweisvorrichtung 7. The detection device 11 11 gibt die erzeugte Antwort R an die Antwortspeicheranordnung are generated response R to the response storing means 105 105 der Verifikationsvorrichtung the verification device 10 10 zurück. back.
    • 8. Die Verifikationsvorrichtung 8. The verification device 10 10 untersucht die von der Nachweisvorrichtung analyzed by the detection device 11 11 empfangene Antwort. received response.
  • Vierte Ausführungsform Fourth Embodiment
  • [0084] [0084]
    Bei einer vierten Ausführungsform umfaßt eine Nachweisvorrichtung In a fourth embodiment comprises a detection device 11 11 ein auf einem PC oder einer Workstation eines Benutzers ausgeführtes Computerprogramm, eine Chipkarte oder PC-Karte (PCMCIA-Karte), die an den PC oder die Workstation des Benutzers anschließbar ist, und ein Programm, das auf dieser Chipkarte oder PC-Karte ausgeführt wird. a program running on a PC or workstation a user's computer program, a smart card or PC card (PCMCIA card) that is connected to the user's PC or workstation, and a program that is running on the chip card or PC card ,
  • [0085] [0085]
    Wie aus der Erläuterung der vorigen drei Ausführungsformen ersichtlich ist, muß eine in einer Benutzerkennungspeicheranordnung As is apparent from the explanation of the previous three embodiments, a must in a user identifying information storing means 115 115 gespeicherte Benutzerkennung e anderen gegenüber geheim gehalten werden. saved user ID e are towards others kept secret. Des weiteren kann das Einsehen des Prozesses der Ausführung einer zweiten Rechenanordnung Furthermore, the show the process of executing a second computing device 114 114 , die e als Eingabe benötigt, zum Durchsickern von e führen. That s needed as input, leading to leakage of e. Die gleiche Situation gilt auch bei einer Exponentenerzeugungsanordnung The same situation also applies to a exponent generation arrangement 130 130 . , Demzufolge sollten im praktischen Gebrauch die Benutzerkennungspeicheranordnung Consequently, in practical use, the user ID memory array 115 115 , die zweite Rechenanordnung , The second computing device 114 114 und die Exponentenerzeugungsanordnung and the exponent generation arrangement 130 130 durch irgendwelche Mittel gegen Versuche geschützt werden, irgendein kritisches Geheimnis aus ihnen herauszubrechen. be protected by any means against attempts to break out some critical secret from them.
  • [0086] [0086]
    Eine Lösung besteht darin, den kritischen Teil der Nachweisvorrichtung One solution is the critical part of the proving device 11 11 in Hardware einzuschließen, die mit einer Funktion ausgestattet ist, die verhindert, daß ihr Inneres eingesehen werden kann oder von nicht-authorisierten Mitteln manipuliert wird. include in hardware, which is equipped with a function that prevents its interior can be viewed or manipulated by non-authorized agents. Im allgemeinen wird eine derartige Hardware als manipulationssichere Hardware bezeichnet. In general, such hardware is referred to as tamper-resistant hardware.
  • [0087] [0087]
    Bei der Herstellung der manipulationssicheren Hardware ist es möglich, die Technologie zu verwenden, die beispielsweise offenbart ist im Patent 1,863,953, im Patent 1,860,463 oder der japanischen Offenlegungsschrift 3-100753. In the preparation of the tamper resistant hardware, it is possible to use the technology, for example, is disclosed in Patent 1,863,953, Patent 1,860,463 or in Japanese Unexamined Patent Publication 3-100753. Im Patent 1,863,953 ist eine Umhüllung vorgesehen, die sich aus einer Mehrzahl von Karten mit mehrschichtigen leitfähigen Mustern zusammensetzt, welche ein Informationsspeichermedium umgeben. In Patent 1,863,953, a sheath is provided, which is composed of a plurality of cards with multi-layer conductive patterns that surround an information storage medium. Die Speicherinformation wird zerstört, wenn sich das leitfähige Muster, das erfaßt wird, von einem erwarteten Muster unterscheidet. The memory information is destroyed when the conductive pattern that is detected is different from an expected pattern.
  • [0088] [0088]
    Im Patent 1,860,463 ist eine aus einer Integrationsschaltung oder ähnlichem gebildete Erfassungsschaltung vorgesehen, die zusätzlich zu einer gebildeten leitfähigen Wicklung ein Informationsspeichermedium umgibt, und dadurch werden, wenn eine Infiltrierung in den Bereich der elektronischen Schaltung stattfindet, Fluktuationen der elektromagnetischen Energie erfaßt, und die Speicherinformation wird zerstört. In Patent 1,860,463 a detection circuit formed of an integrating circuit or the like is provided in addition to a formed conductive coil surrounding an information storage medium, and thus, when an infiltration into the area of the electronic circuit takes place, detected fluctuations of the electromagnetic energy, and the memory information is destroyed.
  • [0089] [0089]
    In der japanischen Offenlegungsschrift 3-100753 ist ein optischer Detektor innerhalb von Hardware vorgesehen, und der optische Detektor erfaßt externes Licht, das eintritt, wenn eine Kraft angewendet wird, welche die Hardware zerstört oder die Hardware aufbricht, und eine Speicherzerstörungsvorrichtung setzt die Speicherinformation zurück. In Japanese Laid-Open Patent 3-100753, an optical detector is provided within hardware, and the optical detector detects external light, which occurs when a force is applied, which destroys the hardware or hardware breaks, and a memory destructive device resets the memory information.
  • [0090] [0090]
    Des weiteren kann die Auswahl einer tragbaren manipulationssicheren Hardware, wie beispielsweise eine Chipkarte oder eine PC-Karte, dem Benutzer weitere Vorteile bringen. Furthermore, the selection of a portable tamper-resistant hardware such as a smart card or a PC card, put the user further advantages. Von der Information, mit der eine Nachweisvorrichtung Of the information with which a detection device 11 11 umgeht, sind nur ein Zugriffsticket und eine Benutzerkennung einzigartig für einen individuellen Benutzer. bypasses, only one access ticket and a user ID are unique to an individual user. Somit kann es beispielsweise nützlich sein, eine Benutzerkennungspeicheranordnung Thus, it can be useful, for example, a user ID memory array 115 115 , eine Zugriffsticketspeicheranordnung An access ticket storing means 113 113 , eine zweite Rechenanordnung A second computing device 114 114 und eine Exponentenerzeugungsanordnung and an exponent generation arrangement 130 130 in eine Chipkarte oder eine PC-Karte einzuschließen und den Rest der Nachweisvorrichtung to include in a chip card or a PC card and the rest of the proving device 11 11 als Programm zu implementieren, das auf einem beliebigen PC oder einer beliebigen Workstation ausgeführt werden soll: Ein Benutzer kann einen beliebigen PC oder eine beliebige Workstation, wenn angenommen wird, daß das Programm darauf installiert ist, als seine/ihre Nachweisvorrichtung benutzen, indem lediglich seine/ihre eigene Chipkarte oder PC-Karte in den Computer eingeführt wird. as a program to implement, to be run on any PC or any workstation, a user can any PC or any workstation, if it is assumed that the program is installed on it, as use his / her detection device merely by his / her own smart card or PC card is inserted into the computer.
  • [0091] [0091]
    17 17 stellt die Konfiguration einer Nachweisvorrichtung illustrates the configuration of a detection device 11 11 der ersten und der zweiten Ausführungsform dar, wenn eine Benutzerkennungspeicheranordnung of the first and of the second embodiment, when a user identifying information storing means 115 115 und eine zweite Rechenanordnung and a second computing device 114 114 in einer Chipkarte eingeschlossen sind. are included in a chip card.
  • [0092] [0092]
    18 18 stellt die Konfiguration einer Nachweisvorrichtung illustrates the configuration of a detection device 11 11 der dritten Ausführungsform dar, wenn eine Exponentenerzeugungsanordnung the third embodiment is when an exponent generation arrangement 130 130 zusätzlich zu einer Benutzerkennungspeicheranordnung in addition to a user ID memory array 115 115 und einer zweiten Rechenanordnung and a second computing device 114 114 in einer Chipkarte eingeschlossen ist. is included in a chip card.
  • [0093] [0093]
    In den beiden In the two 17 17 und and 18 18 ist eine kartenseitige I/F-Anordnung is a card side I / F means 141 141 in einer Chipkarte eine Schnittstelle bzw. ein Interface zu einem Host-Computer für die Kommunikation zwischen einem Host-Computer und der Chipkarte. in a smart card, an interface or an interface to a host computer for communication between a host computer and the smart card. Praktischerweise umfaßt die kartenseitige I/F-Anordnung Conveniently, including the card's I / F means 141 141 einen Pufferspeicher und ein Kommunikationsprogramm. a buffer memory and a communication program.
  • [0094] [0094]
    Eine hostseitige I/F-Anordnung A host-side I / F means 140 140 , die Teil eines Host-Computers ist, ist das Gegenstück zur kartenseitigen I/F-Anordnung Which is part of a host computer that is the counterpart to the card-side I / F means 141 141 . , Beide I/F-Anordnungen, die zusammenwirken, übertragen Nachrichten vom Host-Computer an die Chipkarte und umgekehrt. Both I / F assemblies which cooperate to transfer messages from the host computer to the chip card and vice versa.
  • [0095] [0095]
    Die folgenden numerierten Absätze beschreiben die Funktion der die Vorrichtungen bildenden Anordnungen. The following numbered paragraphs describe the function of the devices forming assemblies.
    • 1. Die Verifikationsvorrichtung 1. The verification device 10 10 wird von einem Benutzer aufgerufen. is invoked by a user.
    • 2. Die Verifikationsvorrichtung 2. The verification device 10 10 sendet Abfragedaten C und einen in der Speicheranordnung sends challenging data C and one in the memory array 101 101 für einen öffentlichen Zugriffsticketschlüssel gespeicherten Modul n an die Abfragedatenspeicheranordnung stored for access ticket public key modulus n to the challenging data storing means 111 111 der Nachweisvorrichtung the proving device 11 11 . ,
    • 3. Die hostseitige I/F-Anordnung 3. The host-side I / F means 140 140 der Nachweisvorrichtung the proving device 11 11 sendet die Abfragedaten C und den Modul n an die kartenseitige I/F-Anordnung sends challenging data C and the modulus n to the card-side I / F means 141 141 in der Chipkarte. in the smart card.
    • 4. Eine Zugriffsticketsuchanordnung 4. An access arrangement Ticket Search 142 142 liest ein Zugriffsticket t entsprechend dem Modul n aus, der in der Abfragedatenspeicheranordnung reads an access ticket t n in accordance with the module, which in the challenging data storing means 111 111 gespeichert ist. is stored. Wie zuvor gezeigt, beinhaltet bei jeder der vorigen drei Ausführungsformen die Definition eines Zugriffstickets t einen Modul n (t = D – e + ω ϕ(n) oder t = D + F(n, e)). As previously indicated, includes in each of the previous three embodiments, the definition of an access ticket t a modulus n (t = D - e + ω φ (n) or T = D + F (n, e)). In der Zugriffsticketspeicheranordnung In the access ticket memory device 113 113 sind null oder mehrere Zugriffstickets gespeichert, und jedes Zugriffsticket ist mit dem Modul indiziert, das bei der Erzeugung des Zugriffstickets verwendet wurde. stored zero or more access ticket, and each ticket access is indicated to the module that was used in generating the access ticket.
    • 5. Die erste Rechenanordnung 5. The first calculation means 112 112 der Nachweisvorrichtung the proving device 11 11 berechnet ein Zwischenergebnis R' gemäß der Relation (25). calculates an intermediate result R 'according to the relation (25).
    • Ein Zugriffsticket t wird in der Zugriffsticketspeicheranordnung An access ticket t is in the access ticket storing means 113 113 gespeichert. stored. R' = C t mod n (25) R '= C t mod n (25)
    • 6. Die hostseitige I/F-Anordnung 6. The host-side I / F means 140 140 gibt eine Anforderung für eine Differenz S an die kartenseitige I/F-Anordnung is a request for a difference S to the card-side I / F means 141 141 aus. from. Eine Antwort, welche die hostseitige I/F-Anordnung A response, which the host-side I / F means 140 140 empfängt, ist eine Differenz S von einer der folgenden Formen: Wenn das Zugriffsticket t und die Anordnungen innerhalb der Chipkarte in der Weise der ersten und der zweiten Ausführungsform implementiert würden, erfüllt die Differenz S die Relation (26); receives, is a difference S from one of the following forms: When the access ticket t and the arrangement would be implemented within the smart card in the manner of the first and second embodiments, the difference S satisfies the relation (26); wenn das Zugriffsticket t und die Anordnungen in der Chipkarte in der Weise der dritten Ausführungsform implementiert würden, erfüllt die Differenz S die Relation (27). if the access ticket t and the arrangement would be implemented in the smart card in the manner of the third embodiment, the difference S satisfies the relation (27). S = C e mod n (26) S = C e mod n (26) S = C F(n, e) mod n (27) S = C F (n, e) mod n (27)
    • 7. Die Antworterzeugungsanordnung 7. The response generation means 116 116 der Nachweisvorrichtung the proving device 11 11 berechnet eine Antwort R entsprechend entweder der Relation (28) oder (29): Wenn das Zugriffsticket t und die Anordnungen in der Chipkarte in der Weise der ersten und der zweiten Ausführungsform implementiert wurden, soll die Relation (28) angewendet werden; calculates a response R according to either of the relation (28) or (29): if the access ticket t and the arrangements in the smart card were implemented in the manner of the first and the second embodiment, the relation (28) is to be applied; wenn das Zugriffsticket t und die Anordnungen in der Chipkarte in der Weise der dritten Ausführungsform implementiert wurden, soll die Relation (29) angewendet werden. if the access ticket t and the assemblies have been implemented in the chip card in the manner of the third embodiment, the relation (29) should be applied. R = R'S mod n (28) R = R'S mod n (28) R = R'S –1 mod n (29) R = R'S -1 mod n (29)
    • 8. Die Nachweisvorrichtung 8. The detection device 11 11 gibt die erzeugte Antwort R an die Antwortspeicheranordnung are generated response R to the response storing means 307 307 der Verifikationsvorrichtung the verification device 10 10 zurück. back.
  • [0096] [0096]
    Bei dieser Ausführungsform ist es möglich, das Zwischenergebnis R' und die Differenz S gleichzeitig zu berechnen, da ersteres im Host-Computer und letztere in der Chipkarte berechnet wird. In this embodiment, it is possible to calculate the intermediate result R 'and the differential S at the same time, since the former is computed in the host computer and the latter in the smart card. Offensichtlich reduziert diese gleichzeitige Berechnung die Gesamtzeit, welche die Nachweisvorrichtung Obviously, this simultaneous calculation reduces the total time which the detection device 11 11 zur Berechnung einer Antwort auf empfangene Abfragedaten benötigt. needed to calculate a response to received query data.
  • [0097] [0097]
    Des weiteren kann bei dieser Ausführungsform die Zugriffsticketspeicheranordnung In this embodiment, further, the access ticket storing means 113 113 mehr als ein Zugriffsticket enthalten, und die Zugriffsticketsuchanordnung more than one access ticket included, and the access ticket search arrangement 142 142 liest ein geeignetes Zugriffsticket unter Verwendung eines durch die Verifikationsvorrichtung reads a suitable access ticket using the verification device 10 10 ausgegebenen Moduls als Schlüssel für das Auslesen aus. output module as a key for reading. Im wesentlichen sollte eine andere Verifikationsvorrichtung, die innerhalb eines anderen Anwendungsprogramms oder eines Serverprogramms eingebettet sein kann, einen anderen Modul annehmen. In essence, should another verification device that can be embedded within another application program or a server program, take a different module. Daher muß ein Benutzer, der auf mehr als ein Anwendungsprogramm oder Serverprogramm zugreifen möchte, eine Anzahl von Zugriffstickets besitzen. Therefore, a user who wants to access more than one application or server program, have a number of access tickets.
  • [0098] [0098]
    Die angegebene Funktion der Zugriffsticketsuchanordnung The specified function of the access ticket search arrangement 142 142 würde einem Benutzer vom Drum und Dran des Auswählens eines korrekten Zugriffstickets durch ihn selbst befreien. would a user from the trimmings of selecting a proper access to free tickets by himself.
  • Fünfte Ausführungsform Fifth Embodiment
  • [0099] [0099]
    Bei einer fünften Ausführungsform wird die Pohlig-Hellman-Kryptographie mit asymmetrischem Schlüssel anstatt der RSA-Kryptographie mit öffentlichem Schlüssel verwendet. In a fifth embodiment, the Pohlig-Hellman asymmetric key cryptography is used instead of the RSA public-key cryptography.
  • [0100] [0100]
    Bei dieser Ausführungsform ist die Definition eines Zugriffstickets t durch die Relation (30) gegeben. In this embodiment, the definition of an access ticket t is defined by the relation (30) was added. t = D + F(p, e) (30) t = D + F (p, e) (30)
  • [0101] [0101]
    Die folgenden mit dicken Punkten versehenen Absätze erläutern die in Relation (30) auftretenden Symbole. The following paragraphs explain equipped with thick points the (30) occurring in relation symbols.
    • – Eine ganze Zahl p ist eine sehr große Primzahl. - An integer p is a very large prime number.
    • – Eine Benutzerkennung e ist eine ganze Zahl, die den einzelnen Benutzern zugewiesen wird. - A user ID e is an integer that is assigned to each user. Die Benutzerkennung e ist einzigartig für einen einzelnen Benutzer: Jedem Benutzer wird eine andere Benutzerkennung zugewiesen. The user ID e is unique for a single user: Each user is assigned a different user ID.
    • – Ein geheimer Zugriffsticketschlüssel D ist eine Komponente eines Pohlig-Hellman-Paars mit asymmetrischem Schlüssel. - A secret access key ticket D is a component of Pohlig-Hellman asymmetric key pair. Da der angenommene Modul p ist, erfüllt D die Relation (31). Since the assumed modulus p, D satisfies the relation (31). gcd(D, P – 1) = 1 (31) gcd (D, P - 1) = 1 (31) Vorstehend bezeichnet gcd(x, y) den größten gemeinsamen Teiler zweier ganzer Zahlen x und y. Referred to above gcd (x, y) denotes the greatest common divisor of two integers x and y. Das Vorhandensein einer ganzen Zahl E, welche die Relation (32) erfüllt und als öffentlicher Zugriffsticketschlüssel bezeichnet wird, wird aus der Relation (31) abgeleitet. The existence of an integer E, which is satisfies the relation (32), and referred to as a public access ticket key is derived from the relation (31). ED mod p – 1 = 1 (32) ED mod p - 1 = 1 (32)
    • – Eine Funktion F(x, y) zweier Variablen ist eine beliebige kollisionsfreie Funktion. - A function F (x, y) between two variables is an arbitrary collision-free function. In der Praxis kann eine kollisionsfreie Funktion unter Verwendung einer Einweg-Hash-Funktion h durch die Relation (33) gebildet werden. In practice, a collision-free function may be formed using a one-way hash function h by the relation (33). F(x, y) = h(x | Y) (33) F (x, y) = h (x | Y) (33)
  • [0102] [0102]
    Die The 20 20 und and 21 21 dienen der Erläuterung dieser Ausführungsform: serve to illustrate this embodiment: 20 20 stellt die Konfiguration der Vorrichtungen dieser Ausführungsform dar; illustrates the configuration of the devices of this embodiment; 21 21 stellt den Fluß von Daten dar. In illustrates the flow of data. In 20 20 umfaßt eine Nachweisvorrichtung comprises a detection device 41 41 die folgenden Anordnungen: eine Abfragedatenspeicheranordnung the following arrangements: a query data storage device 411 411 ; ; eine erste Rechenanordnung a first computing device 412 412 ; ; eine Zugriffsticketspeicheranordnung an access ticket storing means 413 413 ; ; eine zweite Rechenanordnung a second computing device 414 414 ; ; eine Benutzerkennungspeicheranordnung a user ID memory array 415 415 ; ; eine Antworterzeugungsanordnung a response generation means 416 416 ; ; und eine Exponentenerzeugungsanordnung and an exponent generation arrangement 430 430 . , Andererseits umfaßt eine Verifikationsvorrichtung On the other hand, includes a verification device 40 40 die folgenden Anordnungen: Eine Schlüsselspeicheranordnung the following arrangements: a key storage device 401 401 ; ; eine Zufallszahlerzeugungsanordnung a random number generation means 402 402 ; ; eine Zufallszahlspeicheranordnung a random number memory array 403 403 ; ; eine Antwortspeicheranordnung Answer a memory array 405 405 ; ; eine Anordnung an arrangement 421 421 zum Umrechnen auf eine Zufallszahl; for converting a random number; eine Abfragestartparameterspeicheranordnung Start a query parameter memory array 422 422 ; ; eine Anordnung an arrangement 423 423 zum Zurückrechnen aus einer Zufallszahl; Back to Expect from a random number; und eine Ausführungsanordnung and an execution order 310 310 . ,
  • [0103] [0103]
    Durch die folgenden numerierten Absätze wird die Funktion der die Vorrichtungen bildenden Anordnungen Schritt für Schritt beschrieben. By the following numbered paragraphs, the function of the devices forming assemblies is described step by step.
    • 1. Die Verifikationsvorrichtung 1. The verification device 40 40 wird durch einen Benutzer aufgerufen. is invoked by a user.
    • 2. Die Verifikationsvorrichtung 2. The verification device 40 40 sendet Abfragedaten C und einen Modul p an die Abfragedatenspeicheranordnung sends challenging data C and a modulus p to the challenging data storing means 411 411 der Nachweisvorrichtung the proving device 41 41 . , Der Modul p wird in der Schlüsselspeicheranordnung The modulus p is in the key storage device 401 401 gespeichert. stored. Bei dieser Ausführungsform wird angenommen, daß die Abfragedaten C in ähnlicher Weise wie bei der zweiten Ausführungsform erzeugt werden. In this embodiment, it is assumed that the challenging data C is generated in a similar manner as in the second embodiment. Es ist jedoch einfach, eine andere Ausführungsform so zu gestalten, daß die Abfragedaten C in ähnlicher Weise wie bei der ersten Ausführungsform erzeugt werden. However, it is easy to design a different embodiment, so that the challenging data C is generated in a similar manner as in the first embodiment. Die Abfragedaten C in dieser Ausführungsform werden durch Ausführen der folgenden Schritte erzeugt: Die Zufallszahlerzeugungsanordnung The query data C in this embodiment are generated by performing the following steps: Random number generation means 402 402 erzeugt eine ganzzahlige Zufallszahl r so, daß r und der Modul p zueinander teilerfremd sind (gcd(r, p) = 1); generates a random integer r such that r and modulus p are relatively prime (gcd (r, p) = 1); die ganzzahlige Zufallszahl r wird in der Zufallszahlspeicheranordnung the random integer r in the random number memory array 403 403 gespeichert; stored; und die Anordnung 121 zum Umrechnen auf eine Zufallszahl erzeugt Abfragedaten C gemäß der Relation ( and the arrangement 121 for converting a random number generated query data C according to the relation ( 34 34 ). ). C = r E C' mod p (34) C = r E C 'mod p (34)
  • [0104] [0104]
    Die ganze Zahl C' wird in der Abfragestartparameterspeicheranordnung The integer C 'in the query startup parameter memory array 422 422 gespeichert und erfüllt die Relation stored and satisfies the relation 135 135 ) für gewisse Daten K. ) For certain data K. C' = K E mod p (35) C '= K E mod p (35)
  • [0105] [0105]
    Der Exponent E (öffentlicher Zugriffsticketschlüssel) und der Modul p werden beide in der Schlüsselspeicheranordnung The exponent E (public access ticket key) and the modulus p are both in the key storage device 401 401 gespeichert. stored.
    • 3. Die erste Rechenanordnung 3. The first calculation means 412 412 der Nachweisvorrichtung the proving device 41 41 berechnet ein Zwischenergebnis R' gemäß der Relation (36). calculates an intermediate result R 'according to the relation (36).
    • Ein zu verwendendes Zugriffsticket t ist in der Zugriffsticketspeicheranordnung One-to-use access ticket t is in the access ticket storing means 113 113 gespeichert. stored. R' = C t mod p (36) R '= C t mod p (36)
    • 4. Die Exponentenerzeugungsanordnung 4. The exponent generation arrangement 430 430 berechnet F(p, e) durch Anwenden der kollisionsfreien Funktion F auf den Modul p, der in der Abfragedatenspeicheranordnung calculated F (p, e) by applying the collision-free function F on the modulus p, which in the query data storage device 111 111 gespeichert ist, und auf die Benutzerkennung e, die in der Benutzerkennungspeicheranordnung is saved and the user ID e, the user ID in the memory array 415 415 gespeichert ist. is stored. F(p, e) (37) F (p, e) (37)
    • 5. Unter Empfang des Ergebnisses von der Exponentenerzeugungsanordnung 5. Upon receipt of the result of the exponent generation arrangement 430 430 berechnet die zweite Rechenanordnung calculates the second computing device 414 414 der Nachweisvorrichtung the proving device 41 41 eine Differenz S gemäß der Relation a difference S according to the relation 1381 1381 . , S = C F(p, e) mod p (38) S = C F (p, e) mod p (38)
    • 6. Unter Empfang von R' und S von der ersten Rechenanordnung 6. Upon receipt of R 'and S from the first calculation means 412 412 bzw. der zweiten Rechenanordnung and the second computing device 414 414 berechnet die Antworterzeugungsanordnung calculates the response generation means 416 416 der Nachweisvorrichtung the proving device 41 41 eine Antwort R gemäß der Relation (39). a response R according to the relation (39). R = R'S –1 mod p (39) R = R'S -1 mod p (39) In der Relation (39) bezeichnet S –1 das Reziproke von S unter dem Modul p. In the relation (39) S -1 denotes the reciprocal of S under the modulus p. Somit erfüllen S und S –1 die Relation (40). Thus, S and S -1 satisfy the relation (40). SS –1 mod p = 1 (40) SS -1 mod p = 1 (40)
    • 7. Die Nachweisvorrichtung 7. The detection device 41 41 gibt die erzeugte Antwort R an die Antwortspeicheranordnung are generated response R to the response storing means 405 405 der Verifikationsvorrichtung the verification device 40 40 zurück. back.
    • 8. Die Anordnung 8. The arrangement 423 423 zum Zurückrechnen aus einer Zufallszahl der Verifikationsvorrichtung Back to Expect from a random number verification device 40 40 berechnet K' gemäß der Relation (41). calculates K 'according to the relation (41). K' = r –1 R mod p (41) K '= r -1 R mod p (41)
  • [0106] [0106]
    Im Verlauf der Berechnung verwendet die Anordnung die in der Zufallszahlspeicheranordnung During the calculation the arrangement used in the random number memory array 403 403 gespeicherte Zufallszahl r und die in der Antwortspeicheranordnung stored random number r and in the answer memory device 405 405 gespeicherte Antwort R. canned response R.
  • Sechste Ausführungsform Sixth Embodiment
  • [0107] [0107]
    Eine sechste Ausführungsform ist im wesentlichen ähnlich wie die dritte Ausführungsform mit der Ausnahme, daß diesmal die EIGamal-Kryptographie mit öffentlichem Schlüssel anstatt der RSA-Kryptographie mit öffentlichem Schlüssel verwendet wird. A sixth embodiment is substantially similar to the third embodiment, except that this time the ElGamal cryptography is used rather than the public-key RSA public-key cryptography. Bei dieser Ausführungsform ist die Definition eines Zugriffstickets t durch die Relation (42) gegeben. In this embodiment, the definition of an access ticket t is defined by the relation (42) was added. t = X + F(p, e) (42) t = X + F (p, e) (42)
  • [0108] [0108]
    Die folgenden mit dicken Punkten versehenen Absätze erläutern die in der Relation (42) auftretenden Symbole. The following paragraphs explain equipped with thick points the (42) occurring symbols in the relation.
    • – Eine ganze Zahl p ist eine sehr große Primzahl. - An integer p is a very large prime number.
    • – Eine Benutzerkennung e ist eine ganze Zahl, die den einzelnen Benutzern zugewiesen wird. - A user ID e is an integer that is assigned to each user. Die Benutzerkennung ist einzigartig für jeden einzelnen Benutzer: Jedem Benutzer wird eine andere Benutzerkennung zugewiesen. The user ID is unique for each user: Each user is assigned a different user ID.
    • – Es sei (X, Y) ein beliebiges EIGamal-Paar mit asymmetrischem Schlüssel unter der Annahme, daß p der Modul sei. - Let (X, Y) an arbitrary ElGamal asymmetric key pair assuming that P is the module. Somit ist die Relation (43) erfüllt. Thus, the relation (43) is satisfied. Y = G x mod p (43) Y G = x mod p (43) In der Relation (43) bezeichnet G eine ganze Zahl, die einen Generator der multiplikativen Gruppe des endlichen Felds der Ordnung p repräsentiert. In the relation (43), G denotes an integer representing a generator of the multiplicative group of the finite field of order p.
    • – In äquivalenter Weise erfüllt G die Relationen (44) und (45). - Equivalently, G satisfies the relations (44) and (45). G > 0 (44) G> 0 (44) min{ x > 0 | G x = 1 mod p} = p – 1 (45) min {x> 0 | G x = 1 mod p} = p - 1 (45)
    • – X wird als geheimer Zugriffsticketschlüssel bezeichnet, während Y als öffentlicher Zugriffsticketschlüssel bezeichnet wird. - X is called a secret key access ticket, while Y is called a public key access ticket.
    • – Eine Funktion F(x, y) zweier Variablen ist eine beliebige kollisionsfreie Funktion. - A function F (x, y) between two variables is an arbitrary collision-free function. In der Praxis kann eine kollisionsfreie Funktion unter Verwendung einer Einweg-Hash-Funktion h durch die Relation (46) gebildet werden. In practice, a collision-free function may be formed using a one-way hash function h by the relation (46). F(x, y) = h(x | Y) (46) F (x, y) = h (x | Y) (46)
  • [0109] [0109]
    Die The 22 22 und and 23 23 dienen der Darstellung dieser Ausführungsform: serve to illustrate this embodiment: 22 22 zeigt die Konfiguration der Vorrichtungen dieser Ausführungsform; shows the configuration of the devices of this embodiment; 23 23 zeigt den Fluß von Daten. shows the flow of data.
  • [0110] [0110]
    In In 22 22 umfaßt eine Nachweisvorrichtung comprises a detection device 51 51 die folgenden Anordnungen: eine Abfragedatenspeicheranordnung the following arrangements: a query data storage device 511 511 ; ; eine erste Rechenanordnung a first computing device 512 512 ; ; eine Zugriffsticketspeicheranordnung an access ticket storing means 513 513 ; ; eine zweite Rechenanordnung a second computing device 514 514 ; ; eine Benutzerkennungspeicheranordnung a user ID memory array 515 515 ; ; eine Antworterzeugungsanordnung a response generation means 516 516 ; ; und eine Exponentenerzeugungsanordnung and an exponent generation arrangement 530 530 . , Andererseits umfaßt eine Verifikationsvorrichtung On the other hand, includes a verification device 50 50 die folgenden Anordnungen: eine Speicheranordnung the following arrangements: a memory array 501 501 für einen öffentlichen Zugriffsticketschlüssel; for access ticket public key; eine Zufallszahlerzeugungsanordnung a random number generation means 502 502 ; ; eine Zufallszahlspeicheranordnung a random number memory array 503 503 ; ; eine Antwortspeicheranordnung Answer a memory array 505 505 ; ; eine Anordnung an arrangement 521 521 zum Umrechnen auf eine Zufallszahl; for converting a random number; eine Abfragestartparameterspeicheranordnung Start a query parameter memory array 522 522 ; ; eine Anordnung an arrangement 523 523 zum Zurückrechnen aus einer Zufallszahl; Back to Expect from a random number; und eine Ausführungsanordnung and an execution order 310 310 . ,
  • [0111] [0111]
    Durch die folgenden numerierten Absätze wird die Funktion der die Vorrichtungen bildenden Anordnungen Schritt für Schritt beschrieben. By the following numbered paragraphs, the function of the devices forming assemblies is described step by step.
    • 1. Die Verifikationsvorrichtung 1. The verification device 50 50 wird von einem Benutzer aufgerufen. is invoked by a user.
    • 2. Die Verifikationsvorrichtung 2. The verification device 50 50 sendet ein Paar (u, C) Abfragedaten und einen Modul p an die Abfragedatenspeicheranordnung sends a pair (u, C) query data and a modulus p to the query data storage device 511 511 der Nachweisvorrichtung the proving device 51 51 . , Der Modul p ist in der Speicheranordnung The modulus p is in the memory array 501 501 für einen öffentlichen Zugriffsticketschlüssel gespeichert. stored for access ticket public key. Andererseits werden die Abfragedaten u und C wie folgt erzeugt. On the other hand, the challenging data u and C are generated as follows. Die erste Komponente u wird in der Abfragestartparameterspeicheranordnung The first component u is in the query startup parameter memory array 522 522 gespeichert und erfüllt die Relation (47) für eine geheime Zufallszahl z. stored and satisfies the relation (47) for a secret random number z. u = G z mod p (47) u = G z mod p (47)
  • [0112] [0112]
    In der Abfragestartparameterspeicheranordnung In the query startup parameter memory array 522 522 ist ein weiterer Startparameter C' gespeichert. is another startup parameter C 'is stored. C' erfüllt die Relation (48) für gewisse kritische Daten K. C 'satisfies the relation (48) for certain critical data K. C' = Y z K mod p (48) C '= Y z mod p K (48)
  • [0113] [0113]
    Unter Verwendung dieses C' als Startparameter wird die andere Komponente C wie folgt erzeugt. Using this C 'as a start parameter the other component C is generated as follows. Die Zufallszahlerzeugungsanordnung The random number generation means 502 502 erzeugt eine ganzzahlige Zufallszahl r so, daß r und der Modul p zueinander teilerfremd sind (gcd(r, p) = 1); generates a random integer r such that r and modulus p are relatively prime (gcd (r, p) = 1); die ganzzahlige Zufallszahl r wird in der Zufallszahlspeicheranordnung the random integer r in the random number memory array 503 503 gespeichert; stored; die Anordnung the arrangement 521 521 zum Umrechnen auf eine Zufallszahl erzeugt Abfragedaten C gemäß der Relation (49). for converting a random number generated query data C according to the relation (49). C = rC' mod p (49) C = Rc 'mod p (49)
    • 3. Die erste Rechenanordnung 3. The first calculation means 512 512 der Nachweisvorrichtung the proving device 51 51 berechnet ein Zwischenergebnis S gemäß der Relation (50). calculates an intermediate result S according to the relation (50). Ein zu verwendendes Zugriffsticket t ist in der Zugriffsticketspeicheranordnung One-to-use access ticket t is in the access ticket storing means 513 513 gespeichert. stored. S = u t mod p (50) S = u t mod p (50)
    • 4. Die Exponentenerzeugungsanordnung 4. The exponent generation arrangement 530 530 berechnet F(p, e) durch Anwenden der kollisionsfreien Funktion F auf den Modul p, der in der Abfragedatenspeicheranordnung calculated F (p, e) by applying the collision-free function F on the modulus p, which in the query data storage device 511 511 gespeichert ist, und die Benutzerkennung e, die in der Benutzerkennungspeicheranordnung is stored, and the user ID e, the user ID in the memory array 515 515 gespeichert ist. is stored. F(p, e) (51) F (p, e) (51)
    • 5. Unter Empfang des Ergebnisses von der Exponentenerzeugungsanordnung 5. Upon receipt of the result of the exponent generation arrangement 530 530 berechnet die zweite Rechenanordnung calculates the second computing device 514 514 der Nachweisvorrichtung the proving device 51 51 eine Differenz S' gemäß der Relation (52). a difference S 'according to the relation (52). S' = u F(p, e) mod p (52) S '= u F (p, e) mod p (52)
    • 6. Unter Empfang von S und S' von der ersten Rechenanordnung 6. Upon receipt of S and S 'from the first computing device 512 512 bzw. der zweiten Rechenanordnung and the second computing device 514 514 berechnet die Antworterzeugungsanordnung calculates the response generation means 516 516 der Nachweisvorrichtung the proving device 51 51 eine Antwort R gemäß der Relation (53). a response R according to the relation (53). R = S –1 S'C mod p (53) R = S mod p S'c -1 (53) In der Relation (53) bezeichnet S –1 das Reziproke von S über dem Modul p. In the relation (53) S -1 denotes the reciprocal of S on the module p. Somit erfüllen S und S –1 die Relation (54). Thus, S and S -1 satisfy the relation (54). SS –1 mod p = 1 (54) SS -1 mod p = 1 (54)
    • 7. Die Nachweisvorrichtung 7. The detection device 51 51 gibt die erzeugte Antwort R an die Antwortspeicheranordnung are generated response R to the response storing means 505 505 der Verifikationsvorrichtung the verification device 50 50 zurück. back.
    • 8. Die Anordnung 8. The arrangement 523 523 zum Zurückrechnen aus einer Zufallszahl der Verifikationsvorrichtung Back to Expect from a random number verification device 50 50 berechnet K' gemäß der Relation (55). calculates K 'according to the relation (55). K' = r –1 R mod p (55) K '= r -1 R mod p (55)
  • [0114] [0114]
    Im Verlauf der Berechnung verwendet die Anordnung die in der Zufallszahlspeicheranordnung During the calculation the arrangement used in the random number memory array 503 503 gespeicherte Zufallszahl r und die in der Antwortspeicheranordnung stored random number r and in the answer memory device 505 505 gespeicherte Antwort R. canned response R.
  • [0115] [0115]
    Wenn die obige Konfiguration geradewegs implementiert würde, entstünde folgendes Problem: Die Verwendung eines gemeinsamen Paars von Startparametern für Abfragedaten (u, C') für mehr als ein Auftreten von Authentifzierung erlaubt es einem Angreifer ohne die Benutzerkennung oder das Zugriffsticket, eine Vorrichtung zu bauen, welche die Nachweisvorrichtung If the above configuration would straight implemented, would create the following problem: The use of a common pair of start parameters for query data (u, C ') for more than one occurrence of authentication allows an attacker without the user ID or the access ticket to build a device, that the detection device 11 11 emuliert. emulated. Um einen derartigen Emulator zu bilden, wird zuerst H = RC-1 mod p aufgezeichnet, wobei C die Abfragedaten beim ersten Auftreten der Authentifzierung sind und R die von der Nachweisvorrichtung In order to form such an emulator, is first H = RC-1 mod p recorded, where C is the query data on the first occurrence of the authentication and the R of the proving device 11 11 berechnete Antwort auf C ist. is calculated in response to C. Der Emulator hält dieses H anstatt der Benutzerkennung E und des Zugriffstickets t und gibt auf eine beliebige von der Verifikationsvorrichtung The emulator keeps this H instead of the user ID and E of the access ticket t and are in any of the verification device 10 10 ausgegebene Eingabe (u, C) eine Antwort R aus, die gemäß der Relation R = HC mod p berechnet wird. Input output (u, C) a response R from the HC = mod p is calculated according to the relation R. Somit sollte die Verifikationsvorrichtung Thus, the verification device should 10 10 soviel Paare aus Startparametern (u 3 , C') wie nötig besitzen, und sollte unterschiedliche Paare für unterschiedliches Auftreten von Authentifzierung verwenden (es ist festzuhalten, daß k für u = G z mod p eine Zufallszahl ist). as many pairs of start parameters (u 3, C ') have as necessary, and should use different pairs for different incidence of authentication (it should be noted that k is a random number for u = G z mod p).
  • Siebte Ausführungsform Seventh Embodiment
  • [0116] [0116]
    Eine siebte Ausführungsform nutzt die EIGamal-Signatur aus und nicht die RSA-Kryptographie mit öffentlichem Schlüssel der ersten drei Ausführungsformen oder die EIGamal-Kryptographie mit öffentlichem Schlüssel in der sechsten Ausführungsform. A seventh embodiment utilizes the ElGamal signature and not the RSA public-key cryptography for the first three embodiments or the ElGamal public-key cryptography in the sixth embodiment.
  • [0117] [0117]
    Bei dieser Ausführungsform ist die Definition eines Zugriffstickets t durch die Relation (56) gegeben. In this embodiment, the definition of an access ticket t is defined by the relation (56) was added. t = X + F(p, e) (56) t = X + F (p, e) (56)
  • [0118] [0118]
    Die folgenden mit dicken P unkten versehenen Absätze erläutern die in der Relation (56) auftretenden Symbole. The following paragraphs marked with thick P unkten explain the relation (56) occurring symbols.
    • – Eine ganze Zahl p ist eine sehr große Primzahl. - An integer p is a very large prime number.
    • – Eine Benutzerkennung e ist eine den einzelnen Benutzern zugewiesene ganze Zahl. - A user ID e is an individual users assigned integer. Die Benutzerkennung e ist einzigartig für jeden einzelnen Benutzer: Jedem Benutzer wird eine andere Benutzerkennung zugewiesen. The user ID e is unique for each user: Each user is assigned a different user ID.
  • [0119] [0119]
    Es sei (X, Y) ein beliebiges EIGamal-Paar mit asymmetrischem Schlüssel, wobei p als Modul angenommen wird. Let (X, Y) an arbitrary ElGamal asymmetric key pair, wherein p is assumed to be module. Daher ist die Relation (57) erfüllt. Therefore the relation (57) is satisfied. Y = G x mod p (57) Y G = x mod p (57)
  • [0120] [0120]
    In der Relation (57) bezeichnet G eine ganze Zahl, die einen Generator der multiplikativen Gruppe des endlichen Felds der Ordnung p repräsentiert. In the relation (57), G denotes an integer representing a generator of the multiplicative group of the finite field of order p.
  • [0121] [0121]
    In äquivalenter Weise erfüllt eine ganze Zahl G die Relationen (58) und (59). Equivalently, an integer G satisfies the relations (58) and (59). G > 0 (58) G> 0 (58) min{x > 0 | G x = 1 mod p} = p – 1 (59) min {x> 0 | G x = 1 mod p} = p - 1 (59)
  • [0122] [0122]
    X wird als geheimer Zugriffsticketschlüssel bezeichnet, während Y als öffentlicher Zugriffsticketschlüssel bezeichnet wird. X is called a secret key access ticket, while Y is called a public key access ticket.
    • – Eine Funktion F(x, y) zweier Variablen ist eine beliebige kollisionsfreie Funktion. - A function F (x, y) between two variables is an arbitrary collision-free function. In der Praxis kann eine kollisionsfreie Funktion unter Verwendung einer Einweg-Hash-Funktion h gebildet werden, wie die Relation (60) zeigt. In practice may be formed a collision-free function using a one-way hash function h as the relation (60) shows. F(x, Y) = h(x | Y) (60) F (x, y) = h (x | Y) (60)
  • [0123] [0123]
    Die The 24 24 und and 25 25 dienen der Darstellung dieser Ausführungsform: serve to illustrate this embodiment: 24 24 zeigt die Konfiguration der Vorrichtungen dieser Ausführungsform; shows the configuration of the devices of this embodiment; 25 25 zeigt den Fluß von Daten. shows the flow of data.
  • [0124] [0124]
    In In 24 24 umfaßt eine Nachweisvorrichtung comprises a detection device 61 61 die folgenden Anordnungen: eine Abfragedatenspeicheranordnung the following arrangements: a query data storage device 61 61 1; 1; eine Zufallszahlerzeugungsanordnung a random number generation means 612 612 ; ; eine erste Rechenanordnung a first computing device 613 613 ; ; eine zweite Rechenanordnung a second computing device 614 614 ; ; eine Zugriffsticketspeicheranordnung an access ticket storing means 615 615 ; ; und eine Benutzerkennungspeicheranordnung and a user ID memory array 616 616 . , Andererseits umfaßt eine Verifikationsvorrichtung On the other hand, includes a verification device 60 60 die folgenden Anordnungen: Eine Speicheranordnung the following arrangements: a memory array 601 601 für einen öffentlichen Zugriffsticketschlüssel; for access ticket public key; eine Zufallszahlerzeugungsanordnung a random number generation means 602 602 ; ; eine Zufallszahlspeicheranordnung a random number memory array 603 603 ; ; eine Antwortspeicheranordnung Answer a memory array 605 605 ; ; eine Verifikationsanordnung a verification means 606 606 ; ; eine Ausführungsanordnung an execution order 607 607 ; ; und eine Fehlerabfanganordnung and a Fehlerabfanganordnung 608 608 . ,
  • [0125] [0125]
    Durch die folgenden numerierten Absätze wird die Funktion der die Vorrichtungen bildenden Anordnungen Schritt für Schritt beschrieben. By the following numbered paragraphs, the function of the devices forming assemblies is described step by step.
    • 1. Die Verifikationsvorrichtung 1. The verification device 60 60 wird von einem Benutzer aufgerufen. is invoked by a user.
    • 2. Die Verifikationsvorrichtung 2. The verification device 60 60 sendet Abfragedaten C, einen Modul p und einen Generator G an die Abfragedatenspeicheranordnung sends challenging data C, a modulus p and a generator G to the challenging data storing means 611 611 der Nachweisvorrichtung the proving device 61 61 . , Der Modul p und der Generator G sind in der Speicheranordnung The modulus p and the generator G are in the memory array 601 601 für einen öffentlichen Zugriffsticketschlüssel gespeichert. stored for access ticket public key. Andererseits werden die Abfragedaten u und C wie folgt erzeugt: Die Zufallszahlerzeugungsanordnung On the other hand, the query data u and C are generated as follows: The random number generation means 602 602 erzeugt eine ganzzahlige Zufallszahl r so, daß r und der Modul n zueinander tellerfremd sind (gcd(r, n) = 1); generates a random integer r such that r and the modulus n are relatively prime to each other (gcd (r, n) = 1); die erzeugte ganzzahlige Zufallszahl r wird in der Zufallszahlspeicheranordnung the random integer r is generated in the random number memory array 603 603 gespeichert; stored; schließlich stellt die Zufallszahlerzeugungsanordnung Finally, the random number generation means 602 602 den Wert von C auf r ein. the value of C to r a. Wie später ausführlicher erläutert, ist die Antwort, die die Nachweisvorrichtung As explained later in more detail, the response which the proving device 61 61 an die Verifikationsvorrichtung the verification device 60 60 geben soll, eine EIGmal-Signatur von r mit X als Signaturschlüssel und p als Modul. to give a EIGmal signature of r with X as a signature key and p as a module.
    • 3. Die Zufallszahlerzeugungsanordnung 3. The random number generation means 612 612 der Nachweisvorrichtung the proving device 61 61 erzeugt eine ganzzahlige Zufallszahl k so, daß k und p zueinander teilerfremd sind (gcd(k, p) = 11. Unter Empfang der ganzzahligen Zufallszahl k von der Zufallszahlerzeugungsanordnung generates a random integer k such that k and p are relatively prime (gcd (k, p) = 11. Upon receipt of the integer random number k of the random number generation means 612 612 und des Moduls p sowie des Generators G von der Abfragedatenspeicheranordnung and the modulus p and the generator G of the challenging data storing means 611 611 berechnet die erste Rechenanordnung calculates the first calculation means 613 613 eine erste Komponente R einer Antwort gemäß der Relation (61). a first component of a response R according to the relation (61). R = G k mod p (61) R = G k mod p (61)
  • [0126] [0126]
    Gleichzeitig berechnet die zweite Rechenanordnung At the same time calculates the second computing device 614 614 eine zweite Komponente S einer Antwort gemäß der Relation ( a second component S a reply according to the relation ( 621 621 . , S = (C – R (t – F(p, e)))k –1 mod p – 1 (62) S = (C - R (t - F (p, e))) K -1 mod p - 1 (62)
  • [0127] [0127]
    Das Zugriffsticket t ist in der Zugriffsticketspeicheranordnung The access ticket t is in the access ticket storing means 615 615 gespeichert, und der Modul p sowie die Abfragedaten C sind in der Abfragedatenspeicheranordnung stored, and the modulus p and the query data C are in the query data storage device 611 611 gespeichert. stored.
    • 4. Die Nachweisvorrichtung 4. The detection device 61 61 gibt die erzeugte Antwort R an die Antwortspeicheranordnung are generated response R to the response storing means 605 605 der Verifikationsvorrichtung the verification device 60 60 zurück. back.
    • 5. Die Verifikationsanordnung 5. The verification means 606 606 der Verifikationsvorrichtung the verification device 60 60 untersucht die Relation (63). investigated the relation (63). G r = Y R R S mod p (63) G r = R R Y S mod p (63)
  • [0128] [0128]
    Die ganzzahlige Zufallszahl r wird in der Zufallszahlspeicheranordnung The random integer r is in the random number memory array 603 603 gespeichert; stored; das Antwortpaar (R, S) wird in der Antwortspeicheranordnung Answer the pair (R, S) in the response storing means 605 605 gespeichert; stored; der Modul p, der öffentliche Zugriffsticketschlüssel Y und der Generator G sind alle in der Speicheranordnung the modulus p, the public access ticket key Y and the generator G are all in the memory array 601 601 für einen öffentlichen Zugriffsticketschlüssel gespeichert. stored for access ticket public key.
  • Achte Ausführungsform Eighth Embodiment
  • [0129] [0129]
    Eine achte Ausführungsform liefert ein Beispiel der Spezifikation für die Wege, wie Zugriffstickets sicher erzeugt werden. An eighth embodiment provides an example of the specification for ways to access tickets are generated securely.
  • [0130] [0130]
    In jedem Fall der vorhergehenden Ausführungsformen werden Zugriffstickets als Ausgabe einer vordefinierten Funktion auf Eingabe einer spezifischen geheimen Information berechnet, nämlich der Benutzerkennung und geheimer Zugriffsticketschlüssel. In any case, the preceding embodiments access Tickets are calculated as output a predefined function to enter a specific secret information, namely the user ID and Secret Access Key ticket. Da ein Durchsickern dieser geheimen Information die Sicherheit des gesamten Authentifizierungsschemas bedroht, kann eine sichere Vorrichtung zum Erzeugen von Zugriffstickets erforderlich sein. Since a leakage of secret information threatens the security of the entire authentication schemes, secure device for generating access tickets may be required.
  • [0131] [0131]
    Eine derartige Vorrichtung ist erforderlich, um die Funktion zu schaffen, die das Durchsickern der in ihr enthaltenen geheimen Information oder der Ergebnisse der in ihr ausgeführten Berechnungen absolut verhindert. Such a device is required to create the function that absolutely prevents the leakage of secret information or the results of the calculations performed in it contains.
  • [0132] [0132]
    Einer der einfachsten Wege zur Bildung einer derartigen sicheren Vorrichtung besteht darin, Dienste der Erzeugung und der Ausgabe von Zugriffstickets für Benutzer auf einem isolierten Computer zu implementieren, der von jeglichen Versuchen unzulässiger Zugriffe durch Benutzer geschützt ist: Um jenen Servercomputer gegen körperlichen Zugriff durch Benutzer zu schützen, sollte sich der Computer in einem Raum befinden, bei dem der Zutritt strikt kontrolliert wird; One of the simplest ways of forming such a secure device is to implement the service of production and the issue of access tickets for users on an isolated computer is protected from any attempts at unauthorized access by users: To those server computer against physical access by users protect the computer should be in a room where the access is strictly controlled; des weiteren sollte, falls der Servercomputer mit anderen PCs von Benutzern vernetzt ist und Zugriffstickets zu Benutzern auf dem Netzwerk ausgegeben werden, die Bedrohung von Attacken über das Netzwerk berücksichtigt werden; the other should, if the server computer is networked with other PCs of users and access tickets are issued to users on the network, the threat of attacks are considered over the network; beim Schutz des Servercomputers gegen diese Netzwerkattacken kann die Firewall-Technologie (für Details vgl. "Building Internet Firewalls" von D. Brent Chapman und Elizabeth D. Zwicky, O'Reilly & Associates, Inc.) nützlich sein. the protection of the server computer against these network attacks, the firewall technology (for details see. "Building Internet Firewalls" by D. Brent Chapman and Elizabeth D. Zwicky, O'Reilly & Associates, Inc.) may be useful.
  • [0133] [0133]
    Wie in den vorhergehenden Ausführungsformen gezeigt, wird ein Zugriffsticket so erzeugt, daß nur der Benutzer, an den das Ticket ausgegeben wird, es benutzen kann. As shown in the foregoing embodiments, an access ticket is generated so that only the user to whom the ticket is issued may use it. Genauer gesagt kann einem Benutzer die Authentifizierungsprozedur zwischen einer Verifikationsvorrichtung und einer Nachweisvorrichtung dann und nur dann gelingen, wenn er in der Lage ist, der Nachweisvorrichtung sowohl ein Zugriffsticket als auch eine Benutzerkennung, auf deren Basis das Zugriffsticket erzeugt worden ist, zu liefern. More specifically, a user authentication procedure between a verification device and a proving device if and only successful if it is able to supply the detection device both an access ticket and a user identifier on the basis of the access ticket has been generated.
  • [0134] [0134]
    Des weiteren erfüllen die in den vorhergehenden Ausführungsformen erwähnten Zugriffstickets einen strikteren Sicherheitsstandard: Es gibt keinen Weg, ein Zugriffsticket zu fälschen oder eine Vorrichtung zu bauen, die die Nachweisvorrichtung emuliert, selbst wenn angenommen wird, daß ein Angreifer in der Lage ist, eine beliebige Anzahl an Zugriffstickets zu sammeln, die durch berechtigte Ausgeber von Zugriffstickets ausgegeben worden waren. Furthermore fulfill those mentioned in the preceding embodiments access tickets a stricter safety standards: There's no way to fake an access ticket or build a device that emulates the detection device, even if it is assumed that an attacker is able to create any number Access to accumulate tickets that had been issued by an authorized issuer of access tickets.
  • [0135] [0135]
    Die Tatsache, daß ein Zugriffsticket den obigen Standard erfüllt, impliziert, daß Zugriffstickets sicher genug sind, um durch relativ unsichere Mittel wie E-Mails im Internet zu Benutzern übertragen zu werden. The fact that an access ticket satisfies the above standard, implies that access tickets are safe enough to be transferred by relatively insecure means such as e-mails on the Internet to users.
  • Neunte Ausführungsform Ninth Embodiment
  • [0136] [0136]
    Eine neunte Ausführungsform verwendet ein zusammengesetztes Verfahren für ein Zugriffsticket und eine Benutzerkennung, das sich von denjenigen der vorhergehenden Ausführungsformen unterscheidet: Dieses Verfahren unterscheidet sich von denjenigen der vorhergehenden Ausführungsformen dahingehend, daß die mit der Benutzerkennung verknüpfte öffentlich zugängliche Information anstatt der Benutzerkennung selbst zur Erzeugung eines Zugriffstickets verwendet wird. A ninth embodiment uses a composite method for an access ticket and a user ID that is different from those of the preceding embodiments: This procedure differs from those of the preceding embodiments that associated with the user ID publicly available information instead of the user ID itself to generate a access ticket is used.
  • [0137] [0137]
    Daher ist bei dem nachstehend erläuterten Verfahren der bei der achten Ausführungsform genannte Server, der ein sicheres Zugriffsticket ausgibt, nicht erforderlich: Einem Benutzer wird erlaubt, ein Zugriffsticket mit einem Programm zu erzeugen, das auf seinem eigenen PC oder seiner eigenen Workstation ausgeführt wird. Therefore, in the above-referred method of the mentioned in the eighth embodiment server which outputs a secure access ticket is not required: A user is allowed to generate an access ticket with a program that is running on its own PC or his own workstation. Das Programm enthält keinerlei geheime Information oder keinen geheimen Algorithmus. The program does not contain any secret information, or any secret algorithm.
  • [0138] [0138]
    Die Identifikationsinformation eines Benutzers U ist der private Schlüssel d u eines RSA-Paars mit öffentlichem Schlüssel. The identification information of a user U is the private key D of an RSA u-public key pair. Durch (e u , n u ) wird der dem privaten Schlüssel d u entsprechende öffentliche Schlüssel bezeichnet. By (e u n u) of the private key d u corresponding public key is known. Somit gilt n u = p u q u für zwei unterschiedliche große Primzahlen p u und q u , und d u sowie e u sind ganze Zahlen, die so bestimmt sind, daß sie die Relationen (64) erfüllen. Thus, n p u = u q u for two different large prime numbers p and q and u, u and d and e u are integers that are determined so as to satisfy the relations (64). 1 ≤ d u < ( p u – 1) (q u – 1) 1 ≤ d u <(p u - 1) (q u - 1) 1 ≤ e u < (P u – 1)(q u – 1) 1 ≤ e u <(P u - 1) (q u - 1) e u d u ≡ 1 mod (p u – 1) (q u – 1) (64) e u d u ≡ 1 mod (p u - 1) (q u - 1) (64)
  • [0139] [0139]
    Nachstehend wird die Bedingung angenommen, daß n u zumindest so groß wie eine allen Benutzern gemeinsame Konstante N ist. Hereinafter, the condition is assumed that n is u at least as large as a common constant for all users N.
  • [0140] [0140]
    Ein Zugriffsticket für einen Benutzer U setzt sich wie folgt zusammen: Der öffentliche Schlüssel (E, n) eines RSA-Paars mit öffentlichem Schlüssel wird als öffentlicher Schlüssel des zu erzeugenden Zugriffstickets herangezogen; An access ticket for a user U is made up as follows: The public key (e, n) an RSA public key pair is used as the public key of the product to access tickets; der private Schlüssel D, der mit diesem öffentlichen Schlüssel (E, n) gepaart wird, wird als geheimer Schlüssel des Zugriffstickets herangezogen; the private key D, the with this public key (E, n) is coupled, is used as a secret key of the access ticket; wenn für die Primzahlzerlegung von n gilt n = pq, gelten die Relationen (65); if the prime factorization of n, n = pq, the relations (65) are valid; schließlich wird das Zugriffsticket t U durch die Relation (66) definiert. Finally, the access ticket t U is defined by the relation (66). 1 ≤ D < N 1 ≤ D <N DE ≡ 1 mod (p – 1) (q – 1) DE ≡ 1 mod (p - 1) (q - 1) t U = D e U mod n U (66) t U = U D e mod n U (66)
  • [0141] [0141]
    Bei der obigen Konfiguration ist die eindeutige Sicherheitskenninformation für den Authentifizierungsprozeß der private Schlüssel D. In gleicher Weise wie in den Fällen der vorhergehenden Ausführungsformen gelingen einem Benutzer die Authentifizierungsprozeduren dann und nur dann, wenn er in der Lage ist nachzuweisen, daß er die Mittel besitzt, eine richtige Antwort auf Abfragedaten zu berechnen, die von einer Verifikationsvorrichtung an ihn ausgegeben wurden: Die berechnete Antwort ist nur dann richtig, wenn sie auf der Basis der eindeutigen Sicherheitskenninformation D berechnet ist. In the above configuration, the unique security characteristic information for the authentication process, the private key D. In the same way as in the cases of the preceding embodiments, a user manage the authentication procedures if and only if he is able to prove that he has the means, to calculate a correct answer to query data that has been issued by a verification device to him: The computed response is only correct if it is calculated on the basis of the unique security characteristic information D.
  • [0142] [0142]
    Das bei dieser Ausführungsform vorgestellte zusammengesetzte Verfahren ist durch die Eigenschaft gekennzeichnet, daß ein Zugriffsticket eine Verschlüsselung der eindeutigen Sicherheitskenninformation D ist und die Benutzerkennung der eindeutige Entschlüsselungsschlüssel ist, um D aus dem Zugriffsticket zu gewinnen. The presented in this embodiment composite method is characterized by the property that an access ticket is an encryption of the unique security characteristic information D and the user ID is the unique decryption key is to win D from the access ticket. Außerdem kann, da die Benutzerkennung der private Schlüssel eines RSA-Schlüsselpaars ist, jedermann, dem es möglich ist, den öffentlichen Schlüssel in Kombination mit dem privaten Schlüssel zu erfahren, beliebig ein Zugriffsticket für den Benutzer erzeugen. In addition, since the user ID, the private key of an RSA key pair is anyone to whom it is possible to know the public key in combination with the private key, create as an access ticket for the user.
  • [0143] [0143]
    Nachstehend sind die Vorrichtungskonfiguration und -betriebsweise der Nachweisvorrichtung Listed below are the device configuration and functioning, the detection device 71 71 unter Bezug auf with reference to 26 26 beschrieben. described.
    • 1. Eine Verifikationsvorrichtung 1. A verification device 10 10 sendet Abfragedaten C an eine Abfragedatenspeicheranordnung sends query data C to a challenging data storing means 711 711 einer Nachweisvorrichtung a detection device 71 71 . ,
    • 2. Eine Entschlüsselungsschlüsselerzeugungsanordnung 2. A decryption key generation arrangement 712 712 der Nachweisvorrichtung the proving device 71 71 nimmt eine Benutzerkennung d U , die in einer Benutzerkennungspeicheranordnung takes a user ID d U, the user ID in a memory array 715 715 gespeichert ist, und ein Zugriffsticket t U , das in einer Zugriffsticketspeicheranordnung is stored and an access ticket t U, which in an access ticket storing means 713 713 gespeichert ist, auf und berechnet dann D' gemäß der Relation (67). is stored, and then calculates D 'according to the relation (67). D' = t u dU mod n U (67) D '= t u dV mod n U (67)
    • 3. Auf Eingabe von D', das durch die Entschlüsselungsschlüsselerzeugungsanordnung 3. To enter D 'obtained by the decryption key generation arrangement 712 712 berechnet wird, und der in der Abfragedatenspeicheranordnung is calculated, and in the challenging data storing means 711 711 gespeicherten Abfragedaten C berechnet eine Antworterzeugungsanordnung saved query data C computes a response generation means 711 711 der Nachweisvorrichtung the proving device 71 71 eine Antwort R gemäß der Relation (68). a response R according to the relation (68). Die berechnete Antwort R wird an die Verifikationsvorrichtung The calculated response R is applied to the verification device 10 10 zurückgegeben. returned. R = D D' mod n (68) R = D D 'mod n (68)
    • 4. Die Verifikationsvorrichtung 4. The verification device 10 10 verifiziert die Richtigkeit der Antwort R. verifies the correctness of the response R.
  • [0144] [0144]
    Der geheime Zugriffsticketschlüssel D in der Definition des Zugriffstickets t U = D e U mod n U muß dem Benutzer U gegenüber geheimgehalten werden. The Secret Access Key D ticket in the definition of the access ticket t U = U D e mod n U must be kept secret the user U opposite. Daher sind die Entschlüsselungsschlüsselerzeugungsanordnung Therefore, the decryption key generation arrangement 712 712 und die Antworterzeugungsanordnung and the response generation means 714 714 in einer Verteidigungsanordnung in a defensive arrangement 760 760 eingebaut, die eine manipulationssichere Hardware ist. installed, which is a tamper-resistant hardware.
  • [0145] [0145]
    Gleich wie in den Fällen der vorhergehenden Ausführungsformen authentifiziert die Verifikationsvorrichtung Zugriffsrechte des Benutzers dann und nur dann, wenn er das richtige Paar aus dem Ticket t U und der Benutzerkennung e besitzt. Same as in the cases of the preceding embodiments authenticates the verification device access rights of the user if and only if it from the ticket has the right pair t U and the user ID e.
  • Zehnte Ausführungsform Tenth Embodiment
  • [0146] [0146]
    Eine zehnte Ausführungsform ist im wesentlichen gleich wie die neunte Ausführungsform mit der Ausnahme, daß eine Antwort R unter Verwendung einer Verschlüsselung mit symmetrischen Schlüsseln anstatt der Verwendung der RSA-Kryptographie mit öffentlichem Schlüssel wie bei der neunten Ausführungsform berechnet wird und ein Zugriffsticket eine RSA-Verschlüsselung des Entschlüsselungsschlüssels (gleich wie der Verschlüsselungsschlüssel) D der Verschlüsselung mit symmetrischen Schlüsseln ist. A tenth embodiment is substantially the same as the ninth embodiment except that a response R by using an encryption symmetric key instead of using the RSA cryptography is calculated public key as in the ninth embodiment, and an access ticket an RSA encryption the decryption key (same as the encryption key) D is the symmetric-key encryption is. Als Verschlüsselungsschlüssel zum Erzeugen des Zugriffstickets werden der öffentliche Schlüssel (e u , n u ) und der RSA-Algorithmus verwendet. The encryption key for generating the access ticket public key (e u n u) and the RSA algorithm to be used.
  • [0147] [0147]
    Wenn die Verschlüsselungsfunktion der Verschlüsselung mit symmetrischen Schlüsseln ausgedrückt wird als Verschlüsselung (Schlüssel, unverschlüsselte Nachricht: wobei die Ausgabe dieser Funktion die Verschlüsselungsnachricht der unverschlüsselten Nachricht ist, die das zweite Argument der Funktion ist) und die Entschlüsselungsfunktion ausgedrückt wird als Entschlüsselung (Schlüssel, Verschlüsselungsnachricht: wobei die Ausgabe die unverschlüsselte Nachricht entsprechend der Verschlüsselungsnachricht ist, die das zweite Argument der Funktion ist), sind die Abfragedaten C durch Relation (69) definiert. If the encryption function of encryption is expressed with symmetric keys for the encryption (key unencrypted message: the output of this function is to encrypt message the unencrypted message, which is the second argument of the function) and the decryption function is expressed as decryption (keys, encryption message: the output is the unencrypted message corresponding to the encryption message that is), the second argument of the function, the query data C are defined by relation (69). C = Verschlüsselung(D, K) (69) C = encryption (D, K) (69)
  • [0148] [0148]
    Des weiteren ist das Zugriffsticket t U definiert durch die Relation (70). Further, the access ticket t U is defined by the relation (70). t U = D eU mod n U (70) t U = D eU mod n U (70)
  • [0149] [0149]
    Nachstehend wird die Funktionsweise der Nachweisvorrichtung Hereinafter, the operation of the proving device 11 11 unter Bezug auf with reference to 26 26 beschrieben. described.
    • 1. Eine Verifikationsvorrichtung 1. A verification device 10 10 schickt Abfragedaten C an eine Abfragedatenspeicheranordnung sends query data C to a challenging data storing means 711 711 . ,
    • 2. Eine Entschlüsselungsschlüsselerzeugungsanordnung 2. A decryption key generation arrangement 712 712 der Nachweisvorrichtung the proving device 11 11 nimmt eine Benutzerkennung d U , die in einer Benutzerkennungspeicheranordnung takes a user ID d U, the user ID in a memory array 715 715 gespeichert ist, und ein Zugriffsticket t u , das in einer Zugriffsticketspeicheranordnung is stored and an access ticket t u that in an access ticket storing means 713 713 gespeichert ist, auf und berechnet dann D' gemäß der Relation (71). is stored, and then calculates D 'according to the relation (71). D' = t U dU mod n U (71) D '= t U dU mod n U (71)
    • 3. Auf Eingabe von D', das durch die Entschlüsselungsschlüsselerzeugungsanordnung 3. To enter D 'obtained by the decryption key generation arrangement 712 712 berechnet wird, und der in der Abfragedatenspeicheranordnung is calculated, and in the challenging data storing means 711 711 gespeicherten Abfragedaten C berechnet eine Antworterzeugungsanordnung saved query data C computes a response generation means 714 714 der Nachweisvorrichtung the proving device 11 11 eine Antwort R gemäß der Relation (72). a response R according to the relation (72). Die berechnete Antwort R wird an die Verifikationsvorrichtung The calculated response R is applied to the verification device 10 10 zurückgeschickt. sent back. R = Entschlüsselung(D' C) (72) R = Decryption (D 'C) (72)
    • 4. Die Verifikationsvorrichtung 4. The verification device 10 10 verifiziert die Richtigkeit der Antwort R. verifies the correctness of the response R.
  • [0150] [0150]
    Die vorstehende Beschreibung der bevorzugten Ausführungsformen dieser Erfindung wurde zum Zweck der Darstellung und Beschreibung angegeben. The foregoing description of preferred embodiments of this invention has been presented for purposes of illustration and description. Sie soll nicht erschöpfend sein oder die Erfindung auf die genaue Form, die offenbart ist, beschränken, sondern es sind Modifikationen und Variationen im Licht der obigen Lehren möglich oder können sich aus der Realisierung der Erfindung ergeben. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, restrict, but there are modifications and variations in the light of the above teachings or may be acquired from practice of the invention. Die Ausführungsformen wurden ausgewählt und beschrieben, um die Prinzipien der Erfindung und deren praktische Anwendung zu erläutern, um einen Fachmann in die Lage zu versetzen, die Erfindung in verschiedenen Ausführungsformen und mit verschiedenen Modifikationen zu verwenden, wie sie für den speziell ins Auge gefaßten Gebrauch geeignet sind. The embodiments were chosen and described in order to explain the principles of the invention and its practical application to enable one skilled in the ability to utilize the invention in various embodiments and with various modifications as suited for the particular contemplated use are. Der Bereich der Erfindung soll durch die hier beigefügten Ansprüche definiert sein. The scope of the invention be defined by the claims appended hereto.
Referenced by
Citing PatentFiling datePublication dateApplicantTitle
DE102007009212A1 *26 Feb 200728 Aug 2008Giesecke & Devrient GmbhChip for microprocessor card, has read only memory, which contains read only memory-program code, processor for execution of program code
DE102015119140A1 *6 Nov 201511 May 2017Océ Printing Systems GmbH & Co. KGVerfahren zum Steuern des Zugriffs auf verschlüsselte Dateien und Computersystem
Classifications
International ClassificationG06F9/06, G09C1/00, H04L9/32, G06F1/00, G06F12/14, G06F21/24, G06F21/00, G06F21/20, G06F21/22, H04L9/30
Cooperative ClassificationG06F21/34, G06F2221/2139, G06F21/316, H04L9/302, H04L9/3271, H04L63/08, H04L2209/603, H04L9/3234
European ClassificationH04L9/30F, H04L9/32R, G06F21/30A, G06F21/33A, G06F21/12A2, G06F21/34