New! View global litigation for patent families

DE69704684T2 - Vorrichtung und Verfahren zur Authentifizierung von Zugangsrechten eines Benutzers zu Betriebsmitteln nach dem Challenge-Response-Prinzip - Google Patents

Vorrichtung und Verfahren zur Authentifizierung von Zugangsrechten eines Benutzers zu Betriebsmitteln nach dem Challenge-Response-Prinzip

Info

Publication number
DE69704684T2
DE69704684T2 DE1997604684 DE69704684T DE69704684T2 DE 69704684 T2 DE69704684 T2 DE 69704684T2 DE 1997604684 DE1997604684 DE 1997604684 DE 69704684 T DE69704684 T DE 69704684T DE 69704684 T2 DE69704684 T2 DE 69704684T2
Authority
DE
Grant status
Grant
Patent type
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE1997604684
Other languages
English (en)
Other versions
DE69704684D1 (de )
Inventor
Toru Ashigarakami-gun Aratani
Kenichi Ashigarakami-gun Kobayashi
Kil-ho Ashigarakami-gun Shin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fuji Xerox Co Ltd
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Grant date

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communication
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communication including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communication including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/316User authentication by observing the pattern of computer usage, e.g. typical user behaviour
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communication
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communication
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communication including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communication including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2139Recurrent verification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • H04L2209/603Digital right managament [DRM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for supporting authentication of entities communicating through a packet data network

Description

  • [0001]
    Die vorliegende Erfindung betrifft eine Vorrichtung zum Authentifizieren von Benutzerzugriffsrechten auf Ressourcen.
  • [0002]
    Es sind Programmausführungssteuertechnologien in dem Bereich bekannt, zu dem die vorliegende Erfindung gehört. Die Programmausführungssteuertechnologien sind Technologien, um:
    • 1. eine Routine für die Benutzerauthentifizierung während der Verwendung eines Anwendungsprogramms einzubetten;
    • 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; und
    • 3. das Programm nur dann fortzusetzen, wenn das Vorhandensein des Schlüssels für die Authentifzierung verifiziert wird, andernfalls die Ausführung anzuhalten.
  • [0003]
    Durch Verwendung dieser Technologien wird die Ausführung des Anwendungsprogramms nur für geeignete Benutzer freigegeben, die den Authentifizierungsschlüssel besitzen. 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. sind.
  • [0004]
    Bei der Verwendung von Programmausführungssteuertechnologien besitzt ein Benutzer, der Software ausführt, einen Authentifizierungsschlüssel als Benutzerkennung. 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. 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. Der Benutzer stellt einen PC/eine Workstation unter Verwendung eines bestimmten Verfahrens auf. 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. 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. 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.
  • [0005]
    Die Identifizierung des Authentifizierungsschlüssels durch die Benutzerauthentifizierungsroutine wird beispielsweise gemäß folgendem Protokoll ausgeführt:
    • 1. Die Benutzerauthentifizierungsroutine erzeugt und überträgt eine geeignete Zahl an die Hardware, in die der Schlüssel eingebettet ist.
    • 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.
    • 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.
    • 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.
    • 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.
  • [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. Eine derartige inkorrekte Ausführung des Anwendungsprogramms durch Wiedergabe des Inhalts der Kommunikation wird als Wiedergabeattacke bezeichnet.
  • [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.
  • [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. Der Dongle-Schlüssel besteht aus einem Firm- und einem User-Code und wird zusammen mit einem Selection-Code an den Entschlüsselungsalgorithmus geliefert.
  • [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.
  • [0010]
    Die Erfindung schafft eine Vorrichtung gemäß Anspruch 1.
  • [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. Die Information über tatsächliche Zugriffsrechte wird als Nachweisunterstützungsinformation (d. h. ein Zugriffsticket) repräsentiert. 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. Ein Zugriffsticket wird auf der Basis der eindeutigen Benutzerkennung und der beim Schreiben des Anwendungsprogramms etc. verwendeten eindeutigen Sicherheitskenninformation erzeugt. Zugriffstickets werden an die Benutzer geliefert, wodurch die Authentifzierung der Benutzerzugriffsrechte auf Ressourcen wie beispielsweise die Ausführungssteuerung ausgeführt werden kann. 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.
  • [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. Es kann auch möglich sein, zumindest die zweite Speicheranordnung und die Antworterzeugungsanordnung in einer kleinen tragbaren Vorrichtung wie beispielsweise einer Chipkarte zu implementieren.
  • [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.
  • [0014]
    Die oben beschriebene Antworterzeugungsanordnung kann eine dritte Rechenanordnung, eine vierte Rechenanordnung und eine fünfte Rechenanordnung umfassen. 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. 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. Zumindest die zweite Speicheranordnung und die vierte Rechenanordnung können in einer kleinen tragbaren Vorrichtung wie einer Chipkarte implementiert sein.
  • [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.
  • [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.
  • [0017]
    1 ist ein Blockschaltbild, das ein Beispiel der grundlegenden Konfiguration der vorliegenden Erfindung zeigt;
  • [0018]
    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;
  • [0019]
    3 ist ein Blockschaltbild, das die Konfiguration einer ersten Ausführungsform einer Vorrichtung zum Authentifizieren von Benutzerzugriffsrechten auf Ressourcen gemäß der Erfindung zeigt;
  • [0020]
    4 ist ein Flußdiagramm, das Funktionen von Anordnungen zeigt, welche die Vorrichtungen der ersten Ausführungsform bilden;
  • [0021]
    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;
  • [0022]
    6 ist ein Flußdiagramm, das Funktionen von Anordnungen zeigt, welche die Verifikationsvorrichtung der zweiten Ausführungsform bilden;
  • [0023]
    7 ist ein Blockschaltbild, das ein Konfigurationsbeispiel einer Ausführungsanordnung der Verifikationsanordnung der zweiten Ausführungsform zeigt;
  • [0024]
    8 ist ein Flußdiagramm, das Funktionen des Konfigurationsbeispiels der in 7 gezeigten Ausführungsanordnung zeigt;
  • [0025]
    9 ist ein Blockschaltbild, das ein zweites Konfigurationsbeispiel einer Ausführungsanordnung der Verifikationsanordnung der zweiten Ausführungsform zeigt;
  • [0026]
    10 ist ein Flußdiagramm, das Funktionen des Konfigurationsbeispiels der in 9 gezeigten Ausführungsanordnung zeigt;
  • [0027]
    11 ist ein Blockschaltbild, das ein drittes Konfigurationsbeispiel einer Ausführungsanordnung der Verifikationsanordnung der zweiten Ausführungsform zeigt;
  • [0028]
    12 ist ein Flußdiagramm, das Funktionen des Konfigurationsbeispiels der in 11 gezeigten Ausführungsanordnung zeigt;
  • [0029]
    13 ist ein Blockschaltbild, das ein viertes Konfigurationsbeispiel einer Ausführungsanordnung der Verifikationsanordnung der zweiten Ausführungsform zeigt;
  • [0030]
    14 ist ein Flußdiagramm, das Funktionen des Konfigurationsbeispiels der in 13 gezeigten Ausführungsanordnung zeigt;
  • [0031]
    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;
  • [0032]
    16 ist ein Flußdiagramm, das Funktionen von Anordnungen zeigt, welche die Nachweisvorrichtung der dritten Ausführungsform bilden;
  • [0033]
    17 ist ein Blockschaltbild, das ein Konfigurationsbeispiel einer vierten Ausführungsform der Vorrichtung zum Authentifizieren von Benutzerzugriffsrechten auf Ressourcen gemäß der vorliegenden Erfindung zeigt;
  • [0034]
    18 ist ein Blockschaltbild, das ein anderes Konfigurationsbeispiel der vierten Ausführungsform zeigt;
  • [0035]
    19 ist ein Flußdiagramm, das Funktionen von Anordnungen des in 17 gezeigten Konfigurationsbeispiels zeigt;
  • [0036]
    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;
  • [0037]
    21 ist ein Flußdiagramm, das Funktionen von Anordnungen zeigt, die eine Verifikationsvorrichtung der fünften Ausführungsform bilden;
  • [0038]
    22 ist ein Blockschaltbild, das die Konfiguration einer sechsten Ausführungsform der Vorrichtung zum Authentifizieren von Benutzerzugriffsrechten auf Ressourcen gemäß der vorliegenden Erfindung zeigt;
  • [0039]
    23 ist ein Flußdiagramm, das Funktionen von Anordnungen zeigt, die Vorrichtungen der sechsten Ausführungsform bilden;
  • [0040]
    24 ist ein Blockschaltbild, das die Konfiguration einer siebten Ausführungsform der Vorrichtung zum Authentifizieren von Benutzerzugriffsrechten auf Ressourcen gemäß der vorliegenden Erfindung zeigt;
  • [0041]
    25 ist ein Flußdiagramm, das Funktionen von Anordnungen zeigt, die Vorrichtungen der siebten Ausführungsform bilden; und
  • [0042]
    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.
  • [0043]
    Zuerst wird ein Beispiel der grundlegenden Konfiguration der vorliegenden Erfindung beschrieben. 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.
  • [0044]
    Gemäß 1 umfaßt das Benutzerauthentifizierungssystem eine Verifikationsvorrichtung 10 und eine Nachweisvorrichtung 11: Die Nachweisvorrichtung 11 empfängt ein Zugriffsticket (Nachweisunterstützungsdaten) von einer Zugriffsticketerzeugungsvorrichtung 12; die Verifikationsvorrichtung 10 führt eine Verifikationsroutine 15 aus; die Nachweisvorrichtung 11 enthält eine Benutzerkennung 16 und das Zugriffsticket 13 und führt ein Antworterzeugungsprogramm 17 aus.
  • [0045]
    Die Zugriffsticketerzeugungsvorrichtung 12 ist auf der Seite des Protektors wie beispielsweise eines Anwendungsdiensteanbieters installiert. Die Zugriffsticketerzeugungsvorrichtung 12 erzeugt das Zugriffsticket 13 auf der Basis eindeutiger Sicherheitskenninformation 14 der Vorrichtung und der Benutzerkennung 16, und das Zugriffsticket 13 wird mittels Kommunikation oder Senden einer Computer-Diskette oder ähnlichem an den Benutzer weitergeleitet, damit es von der Nachweisvorrichtung 11 des Benutzers gesichert bzw. gehalten werden kann. Dann sendet die Verifikationsvorrichtung 10 Abfragedaten 18 an die Nachweisvorrichtung 11. Die Nachweisvorrichtung 11 erzeugt eine Antwort 19 durch Verwendung des Zugriffstickets 13 und der Benutzerkennung 16 und schickt sie an die Verifikationsvorrichtung 10 zurück. Die Verifikationsvorrichtung 10 verifiziert die Richtigkeit der Antwort auf der Basis der Abfragedaten, d. h., die Verifikationsvorrichtung 10 verifiziert, daß die Antwort auf der Basis der Abfragedaten und der eindeutigen Sicherheitskenninformation der Vorrichtung erzeugt worden ist.
  • [0046]
    Wenn die Richtigkeit der Antwort verifiziert ist, werden die Zugriffsrechte des Benutzers authentifiziert; somit wird die Fortsetzung der Ausführung eines Programms, des Zugriffs auf Dateien etc. gestattet.
  • [0047]
    Mit der obigen Konfiguration wird nun ein Beispiel der Ausführungssteuerung eines Anwendungsprogramms beschrieben.
  • [0048]
    Bei der obigen Konfiguration besitzt ein Benutzer eines Anwendungsprogramms nur ein Element einer Benutzerkennung 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. Wenn es dem Benutzer möglich ist, die Benutzerkennung 16 zu kopieren und zu verteilen, führt dies zur Verwendung des Anwendungsprogramms durch den Benutzer ohne rechtmäßige Zugriffsrechte; daher ist die Benutzerkennung 16 durch eine Schutzanordnung 160 geschützt, so daß selbst der Benutzer, der ein rechtmäßiger Besitzer der Benutzerkennung 16 ist, diese nicht stehlen kann. Die Schutzanordnung 160 kann eine Hardware mit einer Schutzwirkung (nachstehend als manipulationssichere Hardware bezeichnet) gegen Diebstahl des Innenlebens durch externe Sonden sein. Ein Verfahren der Implementierung der manipulationssicheren Hardware wir später beschrieben.
  • [0049]
    Zusätzlich zur Benutzerkennung 16 wird das Antworterzeugungsprogramm 17, das vorbestimmte Berechnungen ausführt, an den Benutzer geliefert. Das Programm 17 führt eine Kommunikation mit einer Benutzerauthentifizierungsroutine (Verifikationsroutine 15) aus: Bei Empfang zweier Parameter, nämlich der Benutzerkennung 16 und des Zugriffstickets 13, führt das Programm 17 Berechnungen an irgendwelchen Eingabewerten aus, um die Antwort 19 für die Identifizierung des Benutzers zu erzeugen. Die Benutzerkennung 16 wird im Verlauf der Berechnung verwendet, und es ist erforderlich, zumindest einen Teil des Programms 17 durch die Schutzanordnung 160 zu schützen, da ein Durchsickern der Benutzerkennung 16 aus dem oben beschriebenen Grund ein Problem verursacht.
  • [0050]
    Nachstehend wird die Speicheranordnung zum Speichern der Benutzerkennung und eines Teils des Programms, die durch die Schutzanordnung 160 geschützt sind, die Vorrichtung zum Ausführen des Teils des Programms (beispielsweise aus einem Speicher und einer MPU bestehend) und die Schutzanordnung 160 insgesamt als Token bezeichnet (durch die Bezugszahl 20 in 1 gezeigt). Das Token kann wie eine Chipkarte tragbar sein.
  • [0051]
    Ähnlich wie bei den herkömmlichen Ausführungssteuertechnologien wird die Verifikationsroutine 15 auf das Anwendungsprogramm eingestellt. Die Verifikationsroutine 15 ist insofern gleich wie diejenige der herkömmlichen Technologien, als sie mit dem vom Benutzer gehaltenen Antworterzeugungsprogramm 17 kommuniziert und die Ausführung des Programms dann und nur dann fortsetzt, wenn ein Rückergebnis (Antwort 19) korrekt ist. Daher ist es erforderlich, daß der Autor des Programms das Verfahren der Berechnung der Kombination der übertragenen Daten (Abfragedaten 18) und der ihnen entsprechenden korrekten Rückdaten (Antwort 19) kennt.
  • [0052]
    Einige Beispiele von Funktionen der Verifikationsroutine 15 werden wie folgt erläutert:
    • 1. Zu übertragende Daten (Abfragedaten 18) und Erwartungsrückdaten (Erwartungswert) werden in die Verifikationsroutine 15 eingebettet. Die Verifikationsroutine 15 holt die zu übertragenden Daten und überträgt sie zum Benutzer und empfängt die Rückdaten vom Benutzer. Dann vergleicht die Verifikationsroutine 15 die Rückdaten vom Benutzer mit dem Erwartungswert: Wenn sie miteinander identisch sind, führt die Verifikationsroutine 15 den nächsten Schritt des Programms aus; wenn sie nicht identisch sind, hält die Verifikationsroutine 15 die Ausführung des Programms an. 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.
    • 2. Zu übertragende Daten (Abfragedaten 18) und durch Anwenden einer Einwegfunktion auf Erwartungsrückdaten (Erwartungswert) erzeugte Daten werden in die Verifikationsroutine 15 eingebettet. Die Verifikationsroutine 15 ruft die zu übertragenden Daten ab, überträgt sie an den Benutzer und empfängt die Rückdaten vom Benutzer. Dann vergleicht die Verifikationsroutine 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 15 den nächsten Schritt des Programms aus; wenn sie nicht identisch sind, hält die Verifikationsroutine 15 die Ausführung des Programms an. 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.
    • 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. Die Verifikationsroutine 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. 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 diesem Fall ist die eindeutige Sicherheitskenninformation ein Entschlüsselungsschlüssel zum Entschlüsseln des verschlüsselten Codes.
    • 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. 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 15 eingebettet. Die Verifikationsroutine 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.
  • [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 diesem Fall ist die eindeutige Sicherheitskenninformation der Vorrichtung ein Entschlüsselungsschlüssel zum Entschlüsseln des verschlüsselten Entschlüsselungsschlüssels.
  • [0054]
    Bei den herkömmlichen Ausführungssteuertechnologien ist die Benutzerkennung (Authentifizierungsschlüssel des Benutzers) identisch mit der eindeutigen Sicherheitskenninformation der Vorrichtung. 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.
  • [0055]
    Im Gegensatz dazu ist die vorliegende Erfindung dadurch gekennzeichnet, daß die Benutzerkennung 16 und die eindeutige Sicherheitskenninformation 14 der Vorrichtung voneinander unabhängig sind. In diesem Konfigurationsbeispiel fügt das Antworterzeugungsprogramm 17 der Benutzerkennung 16 und den von der Verifikationsroutine 15 übertragenen Daten (Abfragedaten 18) das Zugriffsticket 13 als Eingabe hinzu und führt dann vorbestimmte Berechnungen an ihnen zum Erzeugen der zurückzugebenden Daten (Antwort 19) aus. Die Konfiguration hat die folgenden Eigenschaften:
    • 1. Das Zugriffsticket 13 ist aus den Daten, die auf der Basis der spezifischen Benutzerkennung 16 und der eindeutigen Sicherheitskenninformation der Vorrichtung berechnet wurden.
    • 2. Zumindest aus der Sicht des Rechenaufwands ist es unmöglich, die eindeutige Sicherheitskenninformation aus dem Zugriffsticket 13 zu berechnen, ohne die Benutzerkennung 16 zu kennen.
    • 3. Das Antworterzeugungsprogramm 17 führt Berechnungen zum Erzeugen korrekter zurückzugebender Daten dann und nur dann aus, wenn eine korrekte Kombination der Benutzerkennung 16 und des Zugriffstickets 13 vorhanden ist. Es ist festzuhalten, daß das Zugriffsticket 13 auf der Basis der Benutzerkennung 16 berechnet worden ist.
  • [0056]
    Bei der bisher beschriebenen Konfiguration kann die Ausführungssteuerung durch die folgenden Schritte ausgeführt werden: Der Benutzer besitzt vorab die Benutzerkennung 16; der Programmautor schreibt das Anwendungsprogramm unabhängig von der vom Benutzer gehaltenen Benutzerkennung 16; und der Programmautor erzeugt das Zugriffsticket 13 auf der Basis der Benutzerkennung 16 und der beim Schreiben des Anwendungsprogramms verwendeten eindeutigen Sicherheitskenninformation 14 der Vorrichtung und leitet das Zugriffsticket 13 an den Benutzer weiter.
  • [0057]
    Es ist möglich, die Benutzerkennung 16 aus zwei Elementen von Benutzerkennung zu bilden, um die zum Herstellen des Zugriffstickets 13 verwendete Information von der Information zu unterscheiden, die in einem Kommunikationsprogramm vom Benutzer verwendet wird. Im repräsentativsten Beispiel ist die Benutzerkennung 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; und der individuelle bzw. private Schlüssel wird in das Token 20 als geheime Information des Benutzers eingeschlossen. In diesem Fall ist es möglich, das Zugriffsticket 13 unter Geheimhaltung der Benutzerkennung 16 zu berechnen, indem das Zugriffsticket 13 aus der eindeutigen Sicherheitskenninformation 14 und dem öffentlichen Schlüssel des Paars mit einem öffentlichen Schlüssel berechnet wird.
  • Erste Ausführungsform
  • [0058]
    In einer ersten Ausführungsform wird ein Zugriffsticket t durch die Relation (1) definiert. t = D – e + ω ϕ(n) (1)
  • [0059]
    In den folgenden, mit dicken Punkten versehenen Absätzen werden die in der obigen Relation (1) verwendeten Symbole beschrieben.
    • – Eine ganze Zahl n ist ein RSA-Modul, somit ein Produkt zweier sehr großer Primzahlen p und 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)).
    • – Ein Benutzerkennungselement e ist eine ganze Zahl, die den einzelnen Benutzern zugewiesen wird. Ein Benutzerkennungselement ist einzigartig für einen Benutzer: Jedem Benutzer wird eine andere Benutzerkennung zugewiesen.
    • – Ein geheimer Zugriffsticketschlüssel D ist ein privater Schlüssel eines RSA-Paars mit einem öffentlichen Schlüssel. Da der Modul als n angenommen wird, wird die Relation (2) von der Definition abgeleitet. gcd(D, ϕ(n)) = 1 (2)
    • – Oben bezeichnet gcd(x, y) den größten gemeinsamen Teiler zweier ganzer Zahlen x und 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. ED mod ϕ(n) = 1 (3)
    • – ω ist eine ganze Zahl, die sowohl von n als auch e abhängt. Es ist erforderlich, daß ω ein wahrscheinlich anderer Wert zugewiesen wird, wenn n und/oder e anders ist. Zur Definition von ω in konsistenter Weise kann eine Einweg-Hash-Funktion h verwendet werden. ω = h(n | e) (4)
  • [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. 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.
  • [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. 3 zeigt die Konfiguration der ersten Ausführungsform. Eine Verifikationsvorrichtung 10 umfaßt folgendes: Eine Speicheranordnung 101 für einen öffentlichen Zugriffsticketschlüssel; eine Zufallszahlerzeugungsanordnung 102; eine Zufallszahlspeicheranordnung 103; eine Antwortspeicheranordnung 105; eine Verifikationsanordnung 106; eine Ausführungsanordnung 107; und eine Fehlerabfanganordnung 108. Andererseits umfaßt eine Nachweisvorrichtung 11 folgendes: Eine Abfragedatenspeicheranordnung 111; eine erste Rechenanordnung 112; eine Zugriffsticketspeicheranordnung 113; eine zweite Rechenanordnung 114; eine Benutzerkennungspeicheranordnung 115; und eine Antworterzeugungsanordnung 116.
  • [0062]
    Mit den folgenden numerierten Absätzen wird die Funktion der die Vorrichtungen bildenden Anordnungen beschrieben.
    • 1. Die Verifikationsvorrichtung 10 wird von einem Benutzer aufgerufen. Die Art des Aufrufens der Vorrichtung variiert abhängig davon, wie die Vorrichtung implementiert ist. Einige Beispiele werden nun gezeigt. Zum einen kann die Verifikationsvorrichtung 10 als Teil eines Anwendungsprogramms implementiert sein, das auf einem PC oder einer Workstation eines Benutzers installiert und ausgeführt werden soll. In diesem Fall kann der Benutzer die Verifikationsvorrichtung 10 aufrufen, indem er das Anwendungsprogramm in gewöhnlicher Weise aufruft. 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. Die Verifikationsvorrichtung 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. In diesem Fall ruft eine) Benutzer/in, um die Verifikationsvorrichtung 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 10 aufzurufen. Wenn das Kommunikationsprogramm und der Server beispielsweise den TCP/IP-Protokollen folgen, wird die Verifikationsvorrichtung 10 einer vordefinierten Port-Nummer auf dem Servercomputer zugewiesen. Wenn das Kommunikationsprogramm die Anforderung zum Herstellen einer Verbindung zum Port ausgibt, empfängt Inetd, ein auf dem Servercomputer laufendes Demon-Programm, die Anforderung. Nach der Überprüfung, welches Programm dem spezifizierten Port zugewiesen ist, ruft es schließlich die Verifikationsvorrichtung 10 auf und stellt eine Verbindung zwischen der Verifikationsvorrichtung und dem Kommunikationsprogramm her. Diese Art der Implementierung ist in vernetzten Computersystemen wie beispielsweise dem Internet sehr gebräuchlich. Die Verifikationsvorrichtung 10 kann als Programm implementiert sein, das auf einem ROM oder EEPROM innerhalb eines Chipkartenlese/schreibgeräts geschrieben ist. In diesem Fall ist die Nachweisvorrichtung 11 ein Programm, das auf einem IC-Chip einer Chipkarte installiert ist; die Verifikationsvorrichtung 10 wird immer dann aufgerufen, wenn ein(e) Benutzer/in seine/ihre Chipkarte in das Chipkartenlese/Schreibgerät einführt.
    • 2. Die Verifikationsvorrichtung 10 sendet Abfragedaten C und einen Modul n an die Abfragedatenspeicheranordnung 111 der Nachweisvorrichtung 11. Der Modul n ist in der Speicheranordnung 101 für einen öffentlichen Zugriffsticketschlüssel gespeichert. Andererseits werden Abfragedaten C wie folgt erzeugt: Die Zufallszahlerzeugungsanordnung 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 103 gespeichert; schließlich stellt die Zufallszahlerzeugungsanordnung 102 den Wert von C auf r ein. Wie später ausführlicher erläutert, ist die Antwort, die die Nachweisvorrichtung 11 an die Verifikationsvorrichtung 10 geben soll, eine RSA-Verschlüsselung von r mit D als Schlüssel und n als Modul. Da der Wert von C identisch mit der ganzzahligen Zufallszahl r ist, variiert er mit dem Auftreten von Kommunikation zwischen der Verifikationsvorrichtung 10 und der Nachweisvorrichtung 11. Dies verhindert, daß der sogenannte Wiedergabeangriff gelingt.
    • 3. Die erste Rechenanordnung 112 der Nachweisvorrichtung 11 berechnet ein Zwischenergebnis R' gemäß der Relation (5). Ein Zugriffsticket t, das verwendet werden soll, wird in der Zugriffsticketspeicheranordnung 113 gespeichert. R' = Ct mod n (5)
    • 4. Die zweite Rechenanordnung 114 der Nachweisvorrichtung 11 berechnet ein Differential bzw. eine Differenz S gemäß der Relation (6). Eine Benutzerkennung e, die verwendet werden soll, ist in der Benutzerkennungspeicheranordnung 115 gespeichert. S = Ce mod n (6)
    • 5. Wenn sie R' und S von der ersten Rechenanordnung 112 bzw. der zweiten Rechenanordnung 114 empfängt, berechnet die Antworterzeugungsanordnung 116 der Nachweisvorrichtung 11 eine Antwort R gemäß der Relation (7). R = R'S mod n (7)
    • 6. Die Nachweisvorrichtung 11 gibt die erzeugte Antwort R an die Antwortspeicheranordnung 105 der Verifikationsvorrichtung 10 zurück.
    • 7. Die Verifikationsanordnung 106 der Verifikationsvorrichtung 10 führt zuerst die Berechnung (8) aus. Sowohl der Exponent E als auch der Modul n werden in der Speicheranordnung 101 für den öffentlichen Zugriffsticketschlüssel gespeichert, und die Antwort R wird in der Antwortspeicheranordnung 105 gespeichert. RE mod n (8)
  • [0063]
    Schließlich untersucht die Verifikationsanordnung 106 die Relation (9). C mod n = RE mod n (9)
  • [0064]
    Wenn die Relation (9) gilt, ruft die Verifikationsanordnung die Ausführungsanordnung 107 auf. Die Ausführungsanordnung 107 stellt einem/einer Benutzer/in Dienstprogramme zur Verfügung, auf die er/sie zugreifen wollte. Anderenfalls ruft sie die Fehlerabfanganordnung 108 auf. Die Fehlerabfanganordnung 108 kann dem Benutzer den Zugriff durch Beendigen der Ausführung verweigern.
  • Zweite Ausführungsform
  • [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. Die Verifikationsvorrichtung arbeitet jedoch anders. 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; bei der zweiten Ausführungsform ist eine Antwort R eine Entschlüsselung eines Abfragedatenelements 10, das eine Verschlüsselung von anderen aussagekräftigen Daten ist.
  • [0066]
    5 stellt die Konfiguration von Vorrichtungen der zweiten Ausführungsform dar, und 6 stellt den Fluß von Daten dar. Eine Verifikationsvorrichtung 10 umfaßt die folgenden Anordnungen: eine Speicheranordnung 101 für einen öffentlichen Zugriffsticketschlüssel; eine Zufallszahlerzeugungsanordnung 102; eine Zufallszahlspeicheranordnung 103; eine Antwortspeicheranordnung 105; eine Anordnung 121 zum Umrechnen in eine Zufallszahl; eine Abfragestartparameterspeicheranordnung 122; eine Anordnung 123 zum Zurückrechnen aus einer Zufallszahl; und eine Ausführungsanordnung 310. Eine Nachweisvorrichtung 11 umfaßt die folgende Anordnungen: eine Abfragedatenspeicheranordnung 111; eine erste Rechenanordnung 102; eine Zugriffsticketspeicheranordnung 113; eine zweite Rechenanordnung 114; eine Benutzerkennungspeicheranordnung 115; und eine Antworterzeugungsanordnung 116.
  • [0067]
    Durch die folgenden numerierten Absätze wird die Funktion der die Vorrichtungen bildenden Anordnungen Schritt für Schritt beschrieben.
    • 1. Die Verifikationsvorrichtung 10 wird von einem Benutzer aufgerufen.
    • 2. Die Verifikationsvorrichtung 10 sendet Abtastdaten C und einen Modul n an die Abfragedatenspeicheranordnung 111 der Nachweisvorrichtung 11. Der Modul n ist in der Speicheranordnung 101 für einen öffentlichen Zugriffsticketschlüssel gespeichert. Andererseits wird ein Abfragedatenelement C durch Ausführen der folgenden Schritte erzeugt: Die Zufallszahlerzeugungsanordnung 102 erzeugt eine ganzzahlige Zufallszahl r so, daß r und der Modul n zueinander teilerfremd sind (gcd(r, n) = 1); die ganzzahlige Zufallszahl r wird in der Zufallszahlspeicheranordnung 103 gespeichert; die Anordnung 121 zum Umrechnen in eine Zufallszahl erzeugt ein Abfragedatenelement C gemäß Relation (10). C = rEC' mod n (10)
  • [0068]
    Die ganze Zahl C' wird in der Abfragestartparameterspeicheranordnung 122 gespeichert und erfüllt die Relation (11) für gewisse Daten K. C' = KE mod n (11)
  • [0069]
    Der Exponent E (öffentlicher Zugriffsticketschlüssel) und der Modul n sind beide in der Speicheranordnung 101 für einen öffentlichen Zugriffsticketschlüssel gespeichert.
  • [0070]
    Die Verifikationsvorrichtung 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 10 heraus. 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 11 erzeugt, K, bis auf einen konstanten Koeffizienten; somit würde ein konstantes r Wiedergabeangriffe erlauben, da die Kommunikation zwischen der Verifikationsvorrichtung 10 und der Nachweisvorrichtung 11 immer identisch wäre. 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 10 und der Nachweisvorrichtung 11 mit einer Variation auf, und deshalb werden Versuche von Wiedergabeattacken hoffnungslos.
    • 3. Die erste Rechenanordnung 112 der Nachweisvorrichtung 11 berechnet ein Zwischenergebnis R' gemäß der Relation (12). R' = Ct mod n (12)
    • Im Verlauf der Berechnung verwendet die Anordnung das in der Zugriffsticketspeicheranordnung 113 gespeicherte Zugriffsticket t.
    • 4. Die zweite Rechenanordnung 114 der Nachweisvorrichtung 11 berechnet eine Differenz S gemäß der Relation (13). S = Ce mod n (13)
    • Im Verlauf der Berechnung verwendet die Anordnung die in der Benutzerkennungspeicheranordnung 115 gespeicherte Benutzerkennung e.
    • 5. Unter Empfang des Zwischenergebnisses R' und der Differenz S aus der ersten Rechenanordnung 112 bzw. der zweiten Rechenanordnung 114 berechnet die Antworterzeugungsanordnung 116 der Nachweisvorrichtung eine Antwort R gemäß der Relation (14). R = R'S mod n (14)
    • 6. Die Nachweisvorrichtung 11 gibt die erzeugte Antwort R an die Antwortspeicheranordnung 307 der Verifikationsvorrichtung 10 zurück.
    • 7. Die Anordnung 123 zum Zurückrechnen aus einer Zufallszahl der Verifikationsvorrichtung 10 berechnet K' gemäß der Relation (15). K' = r–1R mod n (15)
  • [0071]
    Im Verlauf der Berechnung verwendet die Anordnung die in der Zufallszahlspeicheranordnung 103 gespeicherte Zufallszahl r und die in der Antwortspeicheranordnung 105 gespeicherte Antwort R. Es ist festzuhalten, daß die Werte K' und K dann und nur dann miteinander identisch sind, wenn die Nachweisvorrichtung 11 die Antwort R auf der Basis eines richtigen Paars aus einem Zugriffsticket t und einer Benutzerkennung e berechnete.
  • [0072]
    Schließlich schickt die Anordnung 123 zum Zurückrechnen aus einer Zufallszahl den Wert K' an die Ausführungsanordnung 310, und die Ausführungsanordnung 310 führt vordefinierte Prozeduren unter Verwendung dieses gegebenen K' aus. Die Ausführungsanordnung 310 ist so ausgelegt, daß sie nur dann richtig arbeitet, wenn K' mit K identisch ist; anderenfalls kann sie nicht arbeiten.
  • [0073]
    Die folgenden Absätze beschreiben einige Beispiele der Implementierung der Ausführungsanordnung 310.
    • 1. 7 stellt ein erstes Beispiel dar. Eine Speicheranordnung 310a der Ausführungsanordnung 310 enthält das Datenelement K. Unter Empfang von K' von der Anordnung 123 zum Zurückrechnen aus einer Zufallszahl untersucht eine Vergleichsanordnung 310b direkt deren Gleichheit, K = K'. Wenn die Gleichheit nicht gegeben ist, stellt die Ausführungsanordnung 310 ihre Arbeit sofort ein. Anderenfalls setzt die Ausführungsanordnung 310 ihre Arbeit fort und stellt Benutzern Dienstprogramme zur Verfügung. 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. 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 102 zu erzeugen sind, er/sie sowohl ohne Zugriffsticket als auch ohne Benutzerkennung E eine Vorrichtung bauen kann, welche die Nachweisvorrichtung 11 simulieren kann. In anderen Worten könnte jeder die Authentifizierungsüberprüfung durch die Verifikationsvorrichtung 10 mit diesem Simulator unabhängig davon bestehen, ob er/sie autorisiert ist oder nicht.
    • 2. 9 stellt ein zweites Beispiel dar. Bei diesem Beispiel enthält eine Speicheranordnung 310a h(K) anstatt von K, was ein Wert ist, der durch Anwenden einer Einweg-Hash-Funktion h auf K gewonnenist. 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. Unter Empfang von K' von einer Anordnung 123 zum Zurückrechnen aus einer Zufallszahl berechnet eine Hash-Anordnung 310c h(K'), was das Ergebnis des Anwendens der Einweg-Hash-Funktion h auf K' ist.
  • [0074]
    Dann untersucht die Vergleichsanordnung 310b die Identität von diesem h(K') und dem in der Speicheranordnung 310a gespeicherten Wert (= 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 310 bildenden Programms zu analysieren, könnte er/sie nicht mehr als den Wert von h(K) herausfinden; aufgrund der Eigenschaft der Einweg-Hash-Funktionen ist es rechnerisch unmöglich, bei gegebenem h(K) das K zu berechnen. Wenn jedoch die Ausführungsanordnung 310 als Computerprogramm implementiert ist, kann die Vergleichsanordnung 310b als eine Wenn-Klausel repräsentiert sein. 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.
  • [0075]
    Daher ist die Implementierung dieses Beispiels nicht sicher genug, insbesondere wenn die Ausführungsanordnung 310 als Computerprogramm implementiert ist, das auf dem PC oder der Workstation eines Benutzers ausgeführt werden soll.
    • 3. 11 stellt ein drittes Beispiel dar. Diesmal wird der Schutz so angewendet, daß eine Ausführung des Programms der Ausführungsanordnung 310 unmöglich wird, indem ein Teil oder der gesamte Code des Programms verschlüsselt wird. Der verschlüsselte Code wird in der Abfragestartparameterspeicheranordnung 122 als Startparameter C' für Abfragedaten C gespeichert. 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). Sowohl E als auch n sind die in der Speicheranordnung 101 für einen öffentlichen Zugriffsticketschlüssel gespeicherten Werte. Die Ausführungsanordnung 310 enthält eine Codespeicheranordnung 310d, eine Codeladeanordnung 310e und eine Codeausführungsanordnung 310f. Die Codeladeanordnung 310e liefert K', den die Codespeicheranordnung 310d von der Anordnung 123 zum Zurückrechnen aus einer Zufallszahl empfing, an die Codeausführungsanordnung 310f. Nur wenn K' mit K identisch ist, hat der an die Codeausführungsanordnung 310f gelieferte Code eine Bedeutung als Teil des Programms der Ausführungsanordnung 310. Im folgenden wird eine ausführlichere Beschreibung des Aufbaus angegeben. Es sei der Fall betrachtet, in dem die Ausführungsanordnung 310 als Computerprogramm implementiert ist, das auf einem PC oder einer Workstation eines Benutzers ausgeführt wird. Die Codespeicheranordnung 310d ist ein spezifizierter Bereich innerhalb eine Speichers des PCs des Benutzers.
  • [0076]
    Die Codeausführungsanordnung 310f umfaßt die CPU und ein Betriebssystem des PCs. 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. Allgemein gesagt wird eine aussagekräftige Ansammlung von Anweisungen als Programm bezeichnet, und ein Programm befindet sich innerhalb des Programmbereichs. Die Gesamtheit der Codeladeanordnung 310e ist ein Teil des die Ausführungsanordnung 310 bildenden Programms, und sie ist als erstes auszuführen, wenn die Ausführungsanordnung 310 aufgerufen wird. Wenn sie aufgerufen wird, befiehlt die Codeladeanordnung 310e der Codeausführungsanordnung 310f, den in der Codespeicheranordnung 310d gespeicherten Inhalt in ein spezifiziertes Gebiet innerhalb des Programmbereichs zu kopieren, und befiehlt dann der Codeausführungsanordnung 310f, die kopierte Folge an Anweisungen durch Ausgabe beispielsweise eines JMP-Befehls auszuführen.
  • [0077]
    Somit ist, da ein Teil oder der gesamte Code des Programms der Ausführungsanordnung 310 verschlüsselt wird und da er des weiteren nur vorübergehend entschlüsselt wird, wenn die Verifikationsvorrichtung 10 und die Nachweisvorrichtung 11 richtig zusammenarbeiten, die Ausführungsanordnung 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; das Modifizieren des Codes des Programms ohne Kenntnis von K hat definitiv keinen Wert.
    • 4. 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 310 bildenden Programms ist, während im vorigen Beispiel K der Code selbst ist. 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 10 und der Nachweisvorrichtung 11 verschlechtern. 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; 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.
  • [0078]
    Die Ausführungsanordnung 310 umfaßt eine Speicheranordnung 310g für verschlüsselten Code, eine Entschlüsselungsanordnung 310h, eine Codeladeanordnung 310i und eine Codeausführungsanordnung 310f. Unter Empfang der Daten K' aus der Anordnung 123 zum Zurückrechnen aus einer Zufallszahl entschlüsselt die Entschlüsselungsanordnung 310h den in der Speicheranordnung 310g für verschlüsselten Code gespeicherten Inhalt. Beim Prozeß der Entschlüsselung wird K' als Entschlüsselungsschlüssel verwendet. Die Codeladeanordnung 310i lädt die Ausgabe aus der Entschlüsselungsanordnung 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 310f, den geladenen Code auszuführen.
  • Dritte Ausführungsform
  • [0079]
    Bei einer dritten Ausführungsform ist die Definition eines Zugriffstickets durch Relation (16) gegeben. t = D + F(n, e) (16)
  • [0080]
    Die folgenden mit dicken Punkten versehenen Absätze erläutern die in der Relation (16) auftretenden Symbole.
    • – Eine ganze Zahl n ist ein RSA-Modul, somit ein Produkt aus zwei sehr großen Primzahlen p und 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)).
    • – Eine Benutzerkennung e ist eine ganze Zahl, die den einzelnen Benutzern zugewiesen wird. Die Benutzerkennung e ist für jeden Benutzer eindeutig:
    • – Jedem Benutzer wird eine andere Benutzerkennung zugewiesen.
    • – Ein geheimer Zugriffsticketschlüssel D ist der private Schlüssel eines RSA-Paars mit einem öffentlichen Schlüssel. Da der angenommene Modul n ist, erfüllt D die Relation (17). gcd(D, ϕ(n)) = 1 (17)
    • – Vorstehend bezeichnet gcd(x, y) den größten gemeinsamen Teiler zweier ganzer Zahlen x und 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. ED mod ϕ(n) = 1 (18)
    • – Eine Funktion F(x, y) mit zwei Variablen ist eine beliebige kollisionsfreie Funktion. In der Praxis kann eine kollisionsfreie Funktion unter Verwendung einer Einweg-Hash-Funktion h in der Relation (19) aufgebaut werden. F(x, Y) = h(x | Y) (19)
  • [0081]
    Die 15 und 16 dienen der Erläuterung dieser Ausführungsform: 15 stellt die Konfiguration der Vorrichtungen dieser Ausführungsform dar; 16 stellt den Fluß von Daten dar.
  • [0082]
    In 15 umfaßt eine Nachweisvorrichtung 11 eine Abfragedatenspeicheranordnung 111, eine erste Rechenanordnung 112, eine Zugriffsticketspeicheranordnung 113, eine zweite Rechenanordnung 114, eine Benutzerkennungspeicheranordnung 115, eine Antworterzeugungsanordnung 116 und eine Exponentenerzeugungsanordnung 130. Eine Verifikationsvorrichtung 10 in dieser Ausführungsform kann identisch mit derjenigen in der ersten Ausführungsform (in 3 gezeigt) oder der zweiten Ausführungsform (in 5 gezeigt) sein.
  • [0083]
    Durch die folgenden numerierten Absätze wird die Funktion der die Vorrichtungen bildenden Anordnungen Schritt für Schritt beschrieben.
    • 1. Die Verifikationsvorrichtung 10 wird von einem Benutzer aufgerufen.
    • 2. Die Verifikationsvorrichtung C schickt Abfragedaten C und einen Modul n an die Abfragedatenspeicheranordnung 111 der Nachweisvorrichtung 11. Der Modul n wird in der Speicheranordnung 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 rE mod n oder rEC' mod n.
    • 3. Die erste Rechenanordnung 112 der Nachweisvorrichtung 11 berechnet ein Zwischenergebnis R' gemäß der Relation (20).
    • Ein zu verwendendes Zugriffsticket t wird in der Zugriffsticketspeicheranordnung 113 gespeichert. R' = Ct mod n (20)
    • 4. Die Exponentenerzeugungsanordnung 130 berechnet F(n, e) durch Anwenden der kollisionsfreien Funktion F auf den Modul n, der in der Abfragedatenspeicheranordnung 111 gespeichert ist, und die Benutzerkennung e, die in der Benutzerkennungspeicheranordnung 115 gespeichert ist. F(n, e) (21)
    • 5. Unter Empfang des Ergebnisses der Exponentenerzeugungsanordnung 130 berechnet die zweite Rechenanordnung 114 der Nachweisvorrichtung 11 eine Differenz S gemäß der Relation (22). S = CF(n, e) mod n (22)
    • 6. Unter Empfang von R' und S von der ersten Rechenanordnung 112 bzw. der zweiten Rechenanordnung 114 berechnet die Antworterzeugungsanordnung 116 der Nachweisvorrichtung eine Antwort R gemäß der Relation (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). SS–1 mod n = 1 (24)
    • 7. Die Nachweisvorrichtung 11 gibt die erzeugte Antwort R an die Antwortspeicheranordnung 105 der Verifikationsvorrichtung 10 zurück.
    • 8. Die Verifikationsvorrichtung 10 untersucht die von der Nachweisvorrichtung 11 empfangene Antwort.
  • Vierte Ausführungsform
  • [0084]
    Bei einer vierten Ausführungsform umfaßt eine Nachweisvorrichtung 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.
  • [0085]
    Wie aus der Erläuterung der vorigen drei Ausführungsformen ersichtlich ist, muß eine in einer Benutzerkennungspeicheranordnung 115 gespeicherte Benutzerkennung e anderen gegenüber geheim gehalten werden. Des weiteren kann das Einsehen des Prozesses der Ausführung einer zweiten Rechenanordnung 114, die e als Eingabe benötigt, zum Durchsickern von e führen. Die gleiche Situation gilt auch bei einer Exponentenerzeugungsanordnung 130. Demzufolge sollten im praktischen Gebrauch die Benutzerkennungspeicheranordnung 115, die zweite Rechenanordnung 114 und die Exponentenerzeugungsanordnung 130 durch irgendwelche Mittel gegen Versuche geschützt werden, irgendein kritisches Geheimnis aus ihnen herauszubrechen.
  • [0086]
    Eine Lösung besteht darin, den kritischen Teil der Nachweisvorrichtung 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. Im allgemeinen wird eine derartige Hardware als manipulationssichere Hardware bezeichnet.
  • [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. 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. Die Speicherinformation wird zerstört, wenn sich das leitfähige Muster, das erfaßt wird, von einem erwarteten Muster unterscheidet.
  • [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.
  • [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.
  • [0090]
    Des weiteren kann die Auswahl einer tragbaren manipulationssicheren Hardware, wie beispielsweise eine Chipkarte oder eine PC-Karte, dem Benutzer weitere Vorteile bringen. Von der Information, mit der eine Nachweisvorrichtung 11 umgeht, sind nur ein Zugriffsticket und eine Benutzerkennung einzigartig für einen individuellen Benutzer. Somit kann es beispielsweise nützlich sein, eine Benutzerkennungspeicheranordnung 115, eine Zugriffsticketspeicheranordnung 113, eine zweite Rechenanordnung 114 und eine Exponentenerzeugungsanordnung 130 in eine Chipkarte oder eine PC-Karte einzuschließen und den Rest der Nachweisvorrichtung 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.
  • [0091]
    17 stellt die Konfiguration einer Nachweisvorrichtung 11 der ersten und der zweiten Ausführungsform dar, wenn eine Benutzerkennungspeicheranordnung 115 und eine zweite Rechenanordnung 114 in einer Chipkarte eingeschlossen sind.
  • [0092]
    18 stellt die Konfiguration einer Nachweisvorrichtung 11 der dritten Ausführungsform dar, wenn eine Exponentenerzeugungsanordnung 130 zusätzlich zu einer Benutzerkennungspeicheranordnung 115 und einer zweiten Rechenanordnung 114 in einer Chipkarte eingeschlossen ist.
  • [0093]
    In den beiden 17 und 18 ist eine kartenseitige I/F-Anordnung 141 in einer Chipkarte eine Schnittstelle bzw. ein Interface zu einem Host-Computer für die Kommunikation zwischen einem Host-Computer und der Chipkarte. Praktischerweise umfaßt die kartenseitige I/F-Anordnung 141 einen Pufferspeicher und ein Kommunikationsprogramm.
  • [0094]
    Eine hostseitige I/F-Anordnung 140, die Teil eines Host-Computers ist, ist das Gegenstück zur kartenseitigen I/F-Anordnung 141. Beide I/F-Anordnungen, die zusammenwirken, übertragen Nachrichten vom Host-Computer an die Chipkarte und umgekehrt.
  • [0095]
    Die folgenden numerierten Absätze beschreiben die Funktion der die Vorrichtungen bildenden Anordnungen.
    • 1. Die Verifikationsvorrichtung 10 wird von einem Benutzer aufgerufen.
    • 2. Die Verifikationsvorrichtung 10 sendet Abfragedaten C und einen in der Speicheranordnung 101 für einen öffentlichen Zugriffsticketschlüssel gespeicherten Modul n an die Abfragedatenspeicheranordnung 111 der Nachweisvorrichtung 11.
    • 3. Die hostseitige I/F-Anordnung 140 der Nachweisvorrichtung 11 sendet die Abfragedaten C und den Modul n an die kartenseitige I/F-Anordnung 141 in der Chipkarte.
    • 4. Eine Zugriffsticketsuchanordnung 142 liest ein Zugriffsticket t entsprechend dem Modul n aus, der in der Abfragedatenspeicheranordnung 111 gespeichert ist. 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)). In der Zugriffsticketspeicheranordnung 113 sind null oder mehrere Zugriffstickets gespeichert, und jedes Zugriffsticket ist mit dem Modul indiziert, das bei der Erzeugung des Zugriffstickets verwendet wurde.
    • 5. Die erste Rechenanordnung 112 der Nachweisvorrichtung 11 berechnet ein Zwischenergebnis R' gemäß der Relation (25).
    • Ein Zugriffsticket t wird in der Zugriffsticketspeicheranordnung 113 gespeichert. R' = Ct mod n (25)
    • 6. Die hostseitige I/F-Anordnung 140 gibt eine Anforderung für eine Differenz S an die kartenseitige I/F-Anordnung 141 aus. Eine Antwort, welche die hostseitige I/F-Anordnung 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); 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). S = Ce mod n (26) S = CF(n, e) mod n (27)
    • 7. Die Antworterzeugungsanordnung 116 der Nachweisvorrichtung 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; 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. R = R'S mod n (28) R = R'S–1 mod n (29)
    • 8. Die Nachweisvorrichtung 11 gibt die erzeugte Antwort R an die Antwortspeicheranordnung 307 der Verifikationsvorrichtung 10 zurück.
  • [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. Offensichtlich reduziert diese gleichzeitige Berechnung die Gesamtzeit, welche die Nachweisvorrichtung 11 zur Berechnung einer Antwort auf empfangene Abfragedaten benötigt.
  • [0097]
    Des weiteren kann bei dieser Ausführungsform die Zugriffsticketspeicheranordnung 113 mehr als ein Zugriffsticket enthalten, und die Zugriffsticketsuchanordnung 142 liest ein geeignetes Zugriffsticket unter Verwendung eines durch die Verifikationsvorrichtung 10 ausgegebenen Moduls als Schlüssel für das Auslesen aus. Im wesentlichen sollte eine andere Verifikationsvorrichtung, die innerhalb eines anderen Anwendungsprogramms oder eines Serverprogramms eingebettet sein kann, einen anderen Modul annehmen. Daher muß ein Benutzer, der auf mehr als ein Anwendungsprogramm oder Serverprogramm zugreifen möchte, eine Anzahl von Zugriffstickets besitzen.
  • [0098]
    Die angegebene Funktion der Zugriffsticketsuchanordnung 142 würde einem Benutzer vom Drum und Dran des Auswählens eines korrekten Zugriffstickets durch ihn selbst befreien.
  • Fünfte Ausführungsform
  • [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.
  • [0100]
    Bei dieser Ausführungsform ist die Definition eines Zugriffstickets t durch die Relation (30) gegeben. t = D + F(p, e) (30)
  • [0101]
    Die folgenden mit dicken Punkten versehenen Absätze erläutern die in Relation (30) auftretenden Symbole.
    • – Eine ganze Zahl p ist eine sehr große Primzahl.
    • – Eine Benutzerkennung e ist eine ganze Zahl, die den einzelnen Benutzern zugewiesen wird. Die Benutzerkennung e ist einzigartig für einen einzelnen Benutzer: Jedem Benutzer wird eine andere Benutzerkennung zugewiesen.
    • – Ein geheimer Zugriffsticketschlüssel D ist eine Komponente eines Pohlig-Hellman-Paars mit asymmetrischem Schlüssel. Da der angenommene Modul p ist, erfüllt D die Relation (31). gcd(D, P – 1) = 1 (31) Vorstehend bezeichnet gcd(x, y) den größten gemeinsamen Teiler zweier ganzer Zahlen x und 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. ED mod p – 1 = 1 (32)
    • – Eine Funktion F(x, y) zweier Variablen ist eine beliebige kollisionsfreie Funktion. In der Praxis kann eine kollisionsfreie Funktion unter Verwendung einer Einweg-Hash-Funktion h durch die Relation (33) gebildet werden. F(x, y) = h(x | Y) (33)
  • [0102]
    Die 20 und 21 dienen der Erläuterung dieser Ausführungsform: 20 stellt die Konfiguration der Vorrichtungen dieser Ausführungsform dar; 21 stellt den Fluß von Daten dar. In 20 umfaßt eine Nachweisvorrichtung 41 die folgenden Anordnungen: eine Abfragedatenspeicheranordnung 411; eine erste Rechenanordnung 412; eine Zugriffsticketspeicheranordnung 413; eine zweite Rechenanordnung 414; eine Benutzerkennungspeicheranordnung 415; eine Antworterzeugungsanordnung 416; und eine Exponentenerzeugungsanordnung 430. Andererseits umfaßt eine Verifikationsvorrichtung 40 die folgenden Anordnungen: Eine Schlüsselspeicheranordnung 401; eine Zufallszahlerzeugungsanordnung 402; eine Zufallszahlspeicheranordnung 403; eine Antwortspeicheranordnung 405; eine Anordnung 421 zum Umrechnen auf eine Zufallszahl; eine Abfragestartparameterspeicheranordnung 422; eine Anordnung 423 zum Zurückrechnen aus einer Zufallszahl; und eine Ausführungsanordnung 310.
  • [0103]
    Durch die folgenden numerierten Absätze wird die Funktion der die Vorrichtungen bildenden Anordnungen Schritt für Schritt beschrieben.
    • 1. Die Verifikationsvorrichtung 40 wird durch einen Benutzer aufgerufen.
    • 2. Die Verifikationsvorrichtung 40 sendet Abfragedaten C und einen Modul p an die Abfragedatenspeicheranordnung 411 der Nachweisvorrichtung 41. Der Modul p wird in der Schlüsselspeicheranordnung 401 gespeichert. Bei dieser Ausführungsform wird angenommen, daß die Abfragedaten C in ähnlicher Weise wie bei der zweiten Ausführungsform erzeugt werden. 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. Die Abfragedaten C in dieser Ausführungsform werden durch Ausführen der folgenden Schritte erzeugt: Die Zufallszahlerzeugungsanordnung 402 erzeugt eine ganzzahlige Zufallszahl r so, daß r und der Modul p zueinander teilerfremd sind (gcd(r, p) = 1); die ganzzahlige Zufallszahl r wird in der Zufallszahlspeicheranordnung 403 gespeichert; und die Anordnung 121 zum Umrechnen auf eine Zufallszahl erzeugt Abfragedaten C gemäß der Relation (34). C = rEC' mod p (34)
  • [0104]
    Die ganze Zahl C' wird in der Abfragestartparameterspeicheranordnung 422 gespeichert und erfüllt die Relation 135) für gewisse Daten K. C' = KE mod p (35)
  • [0105]
    Der Exponent E (öffentlicher Zugriffsticketschlüssel) und der Modul p werden beide in der Schlüsselspeicheranordnung 401 gespeichert.
    • 3. Die erste Rechenanordnung 412 der Nachweisvorrichtung 41 berechnet ein Zwischenergebnis R' gemäß der Relation (36).
    • Ein zu verwendendes Zugriffsticket t ist in der Zugriffsticketspeicheranordnung 113 gespeichert. R' = Ct mod p (36)
    • 4. Die Exponentenerzeugungsanordnung 430 berechnet F(p, e) durch Anwenden der kollisionsfreien Funktion F auf den Modul p, der in der Abfragedatenspeicheranordnung 111 gespeichert ist, und auf die Benutzerkennung e, die in der Benutzerkennungspeicheranordnung 415 gespeichert ist. F(p, e) (37)
    • 5. Unter Empfang des Ergebnisses von der Exponentenerzeugungsanordnung 430 berechnet die zweite Rechenanordnung 414 der Nachweisvorrichtung 41 eine Differenz S gemäß der Relation 1381. S = CF(p, e) mod p (38)
    • 6. Unter Empfang von R' und S von der ersten Rechenanordnung 412 bzw. der zweiten Rechenanordnung 414 berechnet die Antworterzeugungsanordnung 416 der Nachweisvorrichtung 41 eine Antwort R gemäß der Relation (39). R = R'S–1 mod p (39) In der Relation (39) bezeichnet S–1 das Reziproke von S unter dem Modul p. Somit erfüllen S und S–1 die Relation (40). SS–1 mod p = 1 (40)
    • 7. Die Nachweisvorrichtung 41 gibt die erzeugte Antwort R an die Antwortspeicheranordnung 405 der Verifikationsvorrichtung 40 zurück.
    • 8. Die Anordnung 423 zum Zurückrechnen aus einer Zufallszahl der Verifikationsvorrichtung 40 berechnet K' gemäß der Relation (41). K' = r–1 R mod p (41)
  • [0106]
    Im Verlauf der Berechnung verwendet die Anordnung die in der Zufallszahlspeicheranordnung 403 gespeicherte Zufallszahl r und die in der Antwortspeicheranordnung 405 gespeicherte Antwort R.
  • Sechste Ausführungsform
  • [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. Bei dieser Ausführungsform ist die Definition eines Zugriffstickets t durch die Relation (42) gegeben. t = X + F(p, e) (42)
  • [0108]
    Die folgenden mit dicken Punkten versehenen Absätze erläutern die in der Relation (42) auftretenden Symbole.
    • – Eine ganze Zahl p ist eine sehr große Primzahl.
    • – Eine Benutzerkennung e ist eine ganze Zahl, die den einzelnen Benutzern zugewiesen wird. Die Benutzerkennung ist einzigartig für jeden einzelnen Benutzer: Jedem Benutzer wird eine andere Benutzerkennung zugewiesen.
    • – Es sei (X, Y) ein beliebiges EIGamal-Paar mit asymmetrischem Schlüssel unter der Annahme, daß p der Modul sei. Somit ist die Relation (43) erfüllt. Y = Gx 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 äquivalenter Weise erfüllt G die Relationen (44) und (45). G > 0 (44) min{ x > 0 | Gx = 1 mod p} = p – 1 (45)
    • – X wird als geheimer Zugriffsticketschlüssel bezeichnet, während Y als öffentlicher Zugriffsticketschlüssel bezeichnet wird.
    • – Eine Funktion F(x, y) zweier Variablen ist eine beliebige kollisionsfreie Funktion. In der Praxis kann eine kollisionsfreie Funktion unter Verwendung einer Einweg-Hash-Funktion h durch die Relation (46) gebildet werden. F(x, y) = h(x | Y) (46)
  • [0109]
    Die 22 und 23 dienen der Darstellung dieser Ausführungsform: 22 zeigt die Konfiguration der Vorrichtungen dieser Ausführungsform; 23 zeigt den Fluß von Daten.
  • [0110]
    In 22 umfaßt eine Nachweisvorrichtung 51 die folgenden Anordnungen: eine Abfragedatenspeicheranordnung 511; eine erste Rechenanordnung 512; eine Zugriffsticketspeicheranordnung 513; eine zweite Rechenanordnung 514; eine Benutzerkennungspeicheranordnung 515; eine Antworterzeugungsanordnung 516; und eine Exponentenerzeugungsanordnung 530. Andererseits umfaßt eine Verifikationsvorrichtung 50 die folgenden Anordnungen: eine Speicheranordnung 501 für einen öffentlichen Zugriffsticketschlüssel; eine Zufallszahlerzeugungsanordnung 502; eine Zufallszahlspeicheranordnung 503; eine Antwortspeicheranordnung 505; eine Anordnung 521 zum Umrechnen auf eine Zufallszahl; eine Abfragestartparameterspeicheranordnung 522; eine Anordnung 523 zum Zurückrechnen aus einer Zufallszahl; und eine Ausführungsanordnung 310.
  • [0111]
    Durch die folgenden numerierten Absätze wird die Funktion der die Vorrichtungen bildenden Anordnungen Schritt für Schritt beschrieben.
    • 1. Die Verifikationsvorrichtung 50 wird von einem Benutzer aufgerufen.
    • 2. Die Verifikationsvorrichtung 50 sendet ein Paar (u, C) Abfragedaten und einen Modul p an die Abfragedatenspeicheranordnung 511 der Nachweisvorrichtung 51. Der Modul p ist in der Speicheranordnung 501 für einen öffentlichen Zugriffsticketschlüssel gespeichert. Andererseits werden die Abfragedaten u und C wie folgt erzeugt. Die erste Komponente u wird in der Abfragestartparameterspeicheranordnung 522 gespeichert und erfüllt die Relation (47) für eine geheime Zufallszahl z. u = Gz mod p (47)
  • [0112]
    In der Abfragestartparameterspeicheranordnung 522 ist ein weiterer Startparameter C' gespeichert. C' erfüllt die Relation (48) für gewisse kritische Daten K. C' = YzK mod p (48)
  • [0113]
    Unter Verwendung dieses C' als Startparameter wird die andere Komponente C wie folgt erzeugt. Die Zufallszahlerzeugungsanordnung 502 erzeugt eine ganzzahlige Zufallszahl r so, daß r und der Modul p zueinander teilerfremd sind (gcd(r, p) = 1); die ganzzahlige Zufallszahl r wird in der Zufallszahlspeicheranordnung 503 gespeichert; die Anordnung 521 zum Umrechnen auf eine Zufallszahl erzeugt Abfragedaten C gemäß der Relation (49). C = rC' mod p (49)
    • 3. Die erste Rechenanordnung 512 der Nachweisvorrichtung 51 berechnet ein Zwischenergebnis S gemäß der Relation (50). Ein zu verwendendes Zugriffsticket t ist in der Zugriffsticketspeicheranordnung 513 gespeichert. S = ut mod p (50)
    • 4. Die Exponentenerzeugungsanordnung 530 berechnet F(p, e) durch Anwenden der kollisionsfreien Funktion F auf den Modul p, der in der Abfragedatenspeicheranordnung 511 gespeichert ist, und die Benutzerkennung e, die in der Benutzerkennungspeicheranordnung 515 gespeichert ist. F(p, e) (51)
    • 5. Unter Empfang des Ergebnisses von der Exponentenerzeugungsanordnung 530 berechnet die zweite Rechenanordnung 514 der Nachweisvorrichtung 51 eine Differenz S' gemäß der Relation (52). S' = uF(p, e) mod p (52)
    • 6. Unter Empfang von S und S' von der ersten Rechenanordnung 512 bzw. der zweiten Rechenanordnung 514 berechnet die Antworterzeugungsanordnung 516 der Nachweisvorrichtung 51 eine Antwort R gemäß der Relation (53). R = S–1S'C mod p (53) In der Relation (53) bezeichnet S–1 das Reziproke von S über dem Modul p. Somit erfüllen S und S–1 die Relation (54). SS–1 mod p = 1 (54)
    • 7. Die Nachweisvorrichtung 51 gibt die erzeugte Antwort R an die Antwortspeicheranordnung 505 der Verifikationsvorrichtung 50 zurück.
    • 8. Die Anordnung 523 zum Zurückrechnen aus einer Zufallszahl der Verifikationsvorrichtung 50 berechnet K' gemäß der Relation (55). K' = r–1R mod p (55)
  • [0114]
    Im Verlauf der Berechnung verwendet die Anordnung die in der Zufallszahlspeicheranordnung 503 gespeicherte Zufallszahl r und die in der Antwortspeicheranordnung 505 gespeicherte Antwort R.
  • [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 11 emuliert. 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 11 berechnete Antwort auf C ist. Der Emulator hält dieses H anstatt der Benutzerkennung E und des Zugriffstickets t und gibt auf eine beliebige von der Verifikationsvorrichtung 10 ausgegebene Eingabe (u, C) eine Antwort R aus, die gemäß der Relation R = HC mod p berechnet wird. Somit sollte die Verifikationsvorrichtung 10 soviel Paare aus Startparametern (u3, C') wie nötig besitzen, und sollte unterschiedliche Paare für unterschiedliches Auftreten von Authentifzierung verwenden (es ist festzuhalten, daß k für u = Gz mod p eine Zufallszahl ist).
  • Siebte Ausführungsform
  • [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.
  • [0117]
    Bei dieser Ausführungsform ist die Definition eines Zugriffstickets t durch die Relation (56) gegeben. t = X + F(p, e) (56)
  • [0118]
    Die folgenden mit dicken P unkten versehenen Absätze erläutern die in der Relation (56) auftretenden Symbole.
    • – Eine ganze Zahl p ist eine sehr große Primzahl.
    • – Eine Benutzerkennung e ist eine den einzelnen Benutzern zugewiesene ganze Zahl. Die Benutzerkennung e ist einzigartig für jeden einzelnen Benutzer: Jedem Benutzer wird eine andere Benutzerkennung zugewiesen.
  • [0119]
    Es sei (X, Y) ein beliebiges EIGamal-Paar mit asymmetrischem Schlüssel, wobei p als Modul angenommen wird. Daher ist die Relation (57) erfüllt. Y = Gx mod p (57)
  • [0120]
    In der Relation (57) bezeichnet G eine ganze Zahl, die einen Generator der multiplikativen Gruppe des endlichen Felds der Ordnung p repräsentiert.
  • [0121]
    In äquivalenter Weise erfüllt eine ganze Zahl G die Relationen (58) und (59). G > 0 (58) min{x > 0 | Gx = 1 mod p} = p – 1 (59)
  • [0122]
    X wird als geheimer Zugriffsticketschlüssel bezeichnet, während Y als öffentlicher Zugriffsticketschlüssel bezeichnet wird.
    • – Eine Funktion F(x, y) zweier Variablen ist eine beliebige kollisionsfreie Funktion. In der Praxis kann eine kollisionsfreie Funktion unter Verwendung einer Einweg-Hash-Funktion h gebildet werden, wie die Relation (60) zeigt. F(x, Y) = h(x | Y) (60)
  • [0123]
    Die 24 und 25 dienen der Darstellung dieser Ausführungsform: 24 zeigt die Konfiguration der Vorrichtungen dieser Ausführungsform; 25 zeigt den Fluß von Daten.
  • [0124]
    In 24 umfaßt eine Nachweisvorrichtung 61 die folgenden Anordnungen: eine Abfragedatenspeicheranordnung 61 1; eine Zufallszahlerzeugungsanordnung 612; eine erste Rechenanordnung 613; eine zweite Rechenanordnung 614; eine Zugriffsticketspeicheranordnung 615; und eine Benutzerkennungspeicheranordnung 616. Andererseits umfaßt eine Verifikationsvorrichtung 60 die folgenden Anordnungen: Eine Speicheranordnung 601 für einen öffentlichen Zugriffsticketschlüssel; eine Zufallszahlerzeugungsanordnung 602; eine Zufallszahlspeicheranordnung 603; eine Antwortspeicheranordnung 605; eine Verifikationsanordnung 606; eine Ausführungsanordnung 607; und eine Fehlerabfanganordnung 608.
  • [0125]
    Durch die folgenden numerierten Absätze wird die Funktion der die Vorrichtungen bildenden Anordnungen Schritt für Schritt beschrieben.
    • 1. Die Verifikationsvorrichtung 60 wird von einem Benutzer aufgerufen.
    • 2. Die Verifikationsvorrichtung 60 sendet Abfragedaten C, einen Modul p und einen Generator G an die Abfragedatenspeicheranordnung 611 der Nachweisvorrichtung 61. Der Modul p und der Generator G sind in der Speicheranordnung 601 für einen öffentlichen Zugriffsticketschlüssel gespeichert. Andererseits werden die Abfragedaten u und C wie folgt erzeugt: Die Zufallszahlerzeugungsanordnung 602 erzeugt eine ganzzahlige Zufallszahl r so, daß r und der Modul n zueinander tellerfremd sind (gcd(r, n) = 1); die erzeugte ganzzahlige Zufallszahl r wird in der Zufallszahlspeicheranordnung 603 gespeichert; schließlich stellt die Zufallszahlerzeugungsanordnung 602 den Wert von C auf r ein. Wie später ausführlicher erläutert, ist die Antwort, die die Nachweisvorrichtung 61 an die Verifikationsvorrichtung 60 geben soll, eine EIGmal-Signatur von r mit X als Signaturschlüssel und p als Modul.
    • 3. Die Zufallszahlerzeugungsanordnung 612 der Nachweisvorrichtung 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 612 und des Moduls p sowie des Generators G von der Abfragedatenspeicheranordnung 611 berechnet die erste Rechenanordnung 613 eine erste Komponente R einer Antwort gemäß der Relation (61). R = Gk mod p (61)
  • [0126]
    Gleichzeitig berechnet die zweite Rechenanordnung 614 eine zweite Komponente S einer Antwort gemäß der Relation (621. S = (C – R (t – F(p, e)))k–1 mod p – 1 (62)
  • [0127]
    Das Zugriffsticket t ist in der Zugriffsticketspeicheranordnung 615 gespeichert, und der Modul p sowie die Abfragedaten C sind in der Abfragedatenspeicheranordnung 611 gespeichert.
    • 4. Die Nachweisvorrichtung 61 gibt die erzeugte Antwort R an die Antwortspeicheranordnung 605 der Verifikationsvorrichtung 60 zurück.
    • 5. Die Verifikationsanordnung 606 der Verifikationsvorrichtung 60 untersucht die Relation (63). Gr = YRRS mod p (63)
  • [0128]
    Die ganzzahlige Zufallszahl r wird in der Zufallszahlspeicheranordnung 603 gespeichert; das Antwortpaar (R, S) wird in der Antwortspeicheranordnung 605 gespeichert; der Modul p, der öffentliche Zugriffsticketschlüssel Y und der Generator G sind alle in der Speicheranordnung 601 für einen öffentlichen Zugriffsticketschlüssel gespeichert.
  • Achte Ausführungsform
  • [0129]
    Eine achte Ausführungsform liefert ein Beispiel der Spezifikation für die Wege, wie Zugriffstickets sicher erzeugt werden.
  • [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. Da ein Durchsickern dieser geheimen Information die Sicherheit des gesamten Authentifizierungsschemas bedroht, kann eine sichere Vorrichtung zum Erzeugen von Zugriffstickets erforderlich sein.
  • [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.
  • [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; 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; 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.
  • [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. 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.
  • [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.
  • [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.
  • Neunte Ausführungsform
  • [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.
  • [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. Das Programm enthält keinerlei geheime Information oder keinen geheimen Algorithmus.
  • [0138]
    Die Identifikationsinformation eines Benutzers U ist der private Schlüssel du eines RSA-Paars mit öffentlichem Schlüssel. Durch (eu, nu) wird der dem privaten Schlüssel du entsprechende öffentliche Schlüssel bezeichnet. Somit gilt nu = puqu für zwei unterschiedliche große Primzahlen pu und qu, und du sowie eu sind ganze Zahlen, die so bestimmt sind, daß sie die Relationen (64) erfüllen. 1 ≤ du < ( pu – 1) (qu – 1) 1 ≤ eu < (Pu – 1)(qu – 1) eudu ≡ 1 mod (pu – 1) (qu – 1) (64)
  • [0139]
    Nachstehend wird die Bedingung angenommen, daß nu zumindest so groß wie eine allen Benutzern gemeinsame Konstante N ist.
  • [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; der private Schlüssel D, der mit diesem öffentlichen Schlüssel (E, n) gepaart wird, wird als geheimer Schlüssel des Zugriffstickets herangezogen; wenn für die Primzahlzerlegung von n gilt n = pq, gelten die Relationen (65); schließlich wird das Zugriffsticket tU durch die Relation (66) definiert. 1 ≤ D < N DE ≡ 1 mod (p – 1) (q – 1) tU = De U mod nU (66)
  • [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.
  • [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. 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.
  • [0143]
    Nachstehend sind die Vorrichtungskonfiguration und -betriebsweise der Nachweisvorrichtung 71 unter Bezug auf 26 beschrieben.
    • 1. Eine Verifikationsvorrichtung 10 sendet Abfragedaten C an eine Abfragedatenspeicheranordnung 711 einer Nachweisvorrichtung 71.
    • 2. Eine Entschlüsselungsschlüsselerzeugungsanordnung 712 der Nachweisvorrichtung 71 nimmt eine Benutzerkennung dU, die in einer Benutzerkennungspeicheranordnung 715 gespeichert ist, und ein Zugriffsticket tU, das in einer Zugriffsticketspeicheranordnung 713 gespeichert ist, auf und berechnet dann D' gemäß der Relation (67). D' = tu dU mod nU (67)
    • 3. Auf Eingabe von D', das durch die Entschlüsselungsschlüsselerzeugungsanordnung 712 berechnet wird, und der in der Abfragedatenspeicheranordnung 711 gespeicherten Abfragedaten C berechnet eine Antworterzeugungsanordnung 711 der Nachweisvorrichtung 71 eine Antwort R gemäß der Relation (68). Die berechnete Antwort R wird an die Verifikationsvorrichtung 10 zurückgegeben. R = DD' mod n (68)
    • 4. Die Verifikationsvorrichtung 10 verifiziert die Richtigkeit der Antwort R.
  • [0144]
    Der geheime Zugriffsticketschlüssel D in der Definition des Zugriffstickets tU = De U mod nU muß dem Benutzer U gegenüber geheimgehalten werden. Daher sind die Entschlüsselungsschlüsselerzeugungsanordnung 712 und die Antworterzeugungsanordnung 714 in einer Verteidigungsanordnung 760 eingebaut, die eine manipulationssichere Hardware ist.
  • [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 tU und der Benutzerkennung e besitzt.
  • Zehnte Ausführungsform
  • [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. Als Verschlüsselungsschlüssel zum Erzeugen des Zugriffstickets werden der öffentliche Schlüssel (eu, nu) und der RSA-Algorithmus verwendet.
  • [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. C = Verschlüsselung(D, K) (69)
  • [0148]
    Des weiteren ist das Zugriffsticket tU definiert durch die Relation (70). tU = DeU mod nU (70)
  • [0149]
    Nachstehend wird die Funktionsweise der Nachweisvorrichtung 11 unter Bezug auf 26 beschrieben.
    • 1. Eine Verifikationsvorrichtung 10 schickt Abfragedaten C an eine Abfragedatenspeicheranordnung 711.
    • 2. Eine Entschlüsselungsschlüsselerzeugungsanordnung 712 der Nachweisvorrichtung 11 nimmt eine Benutzerkennung dU, die in einer Benutzerkennungspeicheranordnung 715 gespeichert ist, und ein Zugriffsticket tu, das in einer Zugriffsticketspeicheranordnung 713 gespeichert ist, auf und berechnet dann D' gemäß der Relation (71). D' = tU dU mod nU (71)
    • 3. Auf Eingabe von D', das durch die Entschlüsselungsschlüsselerzeugungsanordnung 712 berechnet wird, und der in der Abfragedatenspeicheranordnung 711 gespeicherten Abfragedaten C berechnet eine Antworterzeugungsanordnung 714 der Nachweisvorrichtung 11 eine Antwort R gemäß der Relation (72). Die berechnete Antwort R wird an die Verifikationsvorrichtung 10 zurückgeschickt. R = Entschlüsselung(D' C) (72)
    • 4. Die Verifikationsvorrichtung 10 verifiziert die Richtigkeit der Antwort R.
  • [0150]
    Die vorstehende Beschreibung der bevorzugten Ausführungsformen dieser Erfindung wurde zum Zweck der Darstellung und Beschreibung angegeben. 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. 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. Der Bereich der Erfindung soll durch die hier beigefügten Ansprüche definiert sein.

Claims (51)

  1. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen, umfassend: eine erste Speicheranordnung (111) zum Speichern von Abfragedaten 118); eine zweite Speicheranordnung (115) zum Speichern einer eindeutigen Benutzerkennung 116); eine dritte Speicheranordnung (113) zum Speichern von Nachweisunterstützungsinformation (13), die ein Ergebnis der Ausführung vorbestimmter Berechnungen an der eindeutigen Benutzerkennung (16) und eindeutiger Sicherheitskenninformation (14) der Vorrichtung ist; eine Antworterzeugungsanordnung (116) zum Erzeugen einer Antwort (19) aus den in der ersten Speicheranordnung (111) gespeicherten Abfragedaten (18), der in der zweiten Speicheranordnung (115) gespeicherten eindeutigen Benutzerkennung (16) und der in der dritten Speicheranordnung (113) gespeicherten Nachweisunterstützungsinformation (13); und eine Verifikationsanordnung (106) zum Verifizieren der Richtigkeit der Antwort (19) durch Verifizieren, daß die Antwort (19), die Abfragedaten (18) und die eindeutige Sicherheitskenninformation (14) der Vorrichtung eine spezielle vordefinierte Relation erfüllen.
  2. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 1, ferner umfassend: eine Schutzanordnung (160) zum Verhindern, daß irgendwelche Daten in ihr von außen einsehbar oder manipulierbar sind, die zumindest die zweite Speicheranordnung (115) und die Antworterzeugungsanordnung (116) einschließt.
  3. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 1, bei der zumindest die zweite Speicheranordnung (115) und die Antworterzeugungsanordnung (116) innerhalb einer kleinen tragbaren Vorrichtung wie einer Chipkarte implementiert sind.
  4. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach einem der Ansprüche 1 bis 3, bei der die Antworterzeugungsanordnung (116) umfaßt: eine erste Rechenanordnung (712) zum Wiedergeben der eindeutigen Sicherheitskenninformation (14) der Vorrichtung durch Ausführen vorbestimmter Berechnungen an der in der zweiten Speicheranordnung (115) gespeicherten eindeutigen Benutzerkennung (16) und der in der dritten Speicheranordnung (113) gespeicherten Nachweisunterstützungsinformation (13); und eine zweite Rechenanordnung (714) zum Erzeugen einer Antwort durch Ausführen vorbestimmter Berechnungen an den in der ersten Speicheranordnung (111) gespeicherten Abfrage daten (18) und der von der ersten Rechenanordnung (712) wiedergegebenen eindeutigen Sicherheitskenninformation (14) der Vorrichtung.
  5. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach einem der Ansprüche 1 bis 3, bei der die Antworterzeugungsanordnung (116) umfaßt: eine dritte Rechenanordnung (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; eine vierte Rechenanordnung (114) zum Erzeugen einer zweiten Zwischeninformation durch Ausführen vorbestimmter Berechnungen an den in der ersten Speicheranordnung (111) gespeicherten Abfragedaten (18) und der in der zweiten Speicheranordnung (115) gespeicherten eindeutigen Benutzerkennung (16); und eine fünfte Rechenanordnung (116) zum Erzeugen einer Antwort durch Ausführen vorbestimmter Berechnungen an der durch die dritte Rechenanordnung (112) erzeugten ersten Zwischeninformation und der durch die vierte Rechenanordnung (114) erzeugten zweiten Zwischeninformation.
  6. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 5, des weiteren umfassend: eine Schutzanordnung (160) zum Verhindern, daß irgendwelche Daten in ihr von außen einsehbar oder manipulierbar sind, die zumindest die zweite Speicheranordnung (115) und die vierte Rechenanordnung (114) einschließt.
  7. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 5, bei der zumindest die zweite Speicheranordnung (115) und die vierte Rechenanordnung (114) innerhalb einer tragbaren Vorrichtung wie einer Chipkarte implementiert sind.
  8. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach einem der Ansprüche 1 bis 7, bei der die eindeutige Sicherheitskenninformation (14) der Vorrichtung ein Entschlüsselungsschlüssel einer Verschlüsselungsfunktion ist, die Abfragedaten (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 (106) die Richtigkeit der Antwort verifiziert, indem verifiziert wird, daß die von der Antworterzeugungsanordnung (116) erzeugte Antwort (19) identisch mit der Entschlüsselung der Abfragedaten mit dem Entschlüsselungsschlüssel ist.
  9. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach einem der Ansprüche 1 bis 7, bei der die eindeutige Sicherheitskenninformation (14) der Vorrichtung ein Verschlüsselungsschlüssel einer Verschlüsselungsfunktion ist und die Verifikationsanordnung (106) die Richtigkeit der Antwort verifiziert, indem verifiziert wird, daß die von der Antworterzeugungsanordnung (116) erzeugte Antwort (19) identisch mit der Verschlüsselung der Abfragedaten mit dem Verschlüsselungsschlüssel ist.
  10. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach einem der Ansprüche 1 bis 7, bei der die Kenninformation (14) der Vorrichtung der Signaturschlüssel einer digitalen Signaturfunktion ist und die Verifikationsanordnung (106) die Richtigkeit der Antwort verifiziert, indem verifiziert wird, daß die von der Antworterzeugungsanordnung (116) erzeugte Antwort (19) identisch mit der digitalen Signatur für die Abfragedaten ist, die mit dem Signaturschlüssel berechnet wird.
  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 (14) der Vorrichtung eine Komponente des Schlüsselpaars der Verschlüsselungsfunktion ist.
  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 (14) der Vorrichtung der private Schlüssel des Paars mit öffentlichem Schlüssel der Verschlüsselungsfunktion ist.
  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 (14) der Vorrichtung der gemeinsame Schlüssel der Verschlüsselungsfunktion ist.
  14. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach einem der Ansprüche 1 bis 13, ferner umfassend: eine Nachweisvorrichtung (11), welche die erste Speicheranordnung (111), die zweite Speicheranordnung (115), die dritte Speicheranordnung (113) und die Antworterzeugungsanordnung (116) enthält; und eine Verifikationsvorrichtung (101, welche eine vierte Speicheranordnung zum Speichern der Abfragedaten (181, eine fünfte Speicheranordnung (105) zum Speichern der Antwort (19) und die Verifikationsanordnung (106) enthält, wobei die Verifikationsvorrichtung (10) die in der vierten Speicheranordnung gespeicherten Abfragedaten (18) an die erste Speicheranordnung (111) der Nachweisvorrichtung (11) überträgt, die Nachweisvorrichtung (11) die von der Antworterzeugungsanordnung (116) erzeugte Antwort (19) an die fünfte Speicheranordnung (105) der Verifikationsvorrichtung (10) überträgt und die Verifikationsanordnung (106) der Verifikationsvorrichtung (10) die Richtigkeit der in der fünften Speicheranordnung (105) gespeicherten Antwort verifiziert.
  15. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 14, bei der die eindeutige Sicherheitskenninformation (14) der Vorrichtung ein Verschlüsselungsschlüssel einer Verschlüsselungsfunktion ist, die Verifikationsvorrichtung (10) eine Zufallszahlerzeugungsanordnung (102) zum Erzeugen einer Zufallszahl und zu deren Speicherung in der vierten Speicheranordnung umfaßt und die Verifikationsanordnung (106) die Richtigkeit der Antwort verifiziert, indem verifiziert wird, daß die in der fünften Speicheranordnung (105) gespeicherte Antwort identisch mit der Verschlüsselung der in der vierten Speicheranordnung (103) gespeicherten Abfragedaten mit dem Verschlüsselungsschlüssel ist.
  16. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 14, bei der die eindeutige Sicherheitskenninformation (14) der Vorrichtung ein Entschlüsselungsschlüssel einer Verschlüsselungsfunktion ist, die Verifikationsvorrichtung (10) eine Zufallszahlerzeugungsanordnung (102) zum Erzeugen einer Zufallszahl, eine sechste Speicheranordnung (103) zum Speichern der erzeugten Zufallszahl und eine siebte Speicheranordnung (122) zum Speichern eines Startparameters für Abfragedaten umfaßt, und bei der die Zufallszahlerzeugungsanordnung (102) die erzeugte Zufallszahl in der sechsten Speicheranordnung (103) speichert, während der in der siebten Speicheranordnung (122) gespeicherte Startparameter für die Abfragedaten durch Ausführen vordefinierter Berechnungen an der in der sechsten Speicheranordnung (103) gespeicherten Zufallszahl und dem in der siebten Speicheranordnung (122) gespeicherten Startparamter randomisiert wird und dann der randomisierte Startparameter als Abfragedaten in der vierten Speicheranordnung gespeichert wird, und die Verifikationsanordnung (106) der Verifikationsvorrichtung (10) die in der fünften Speicheranordnung (105) gespeicherte Antwort durch Ausführen vorbestimmter Berechnungen an der in der sechsten Speicheranordnung (103) gespeicherten Zufallszahl und der in der fünften Speicheranordnung (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 (122) gespeicherten Startparameters mit dem Entschlüsselungsschlüssel ist, der die eindeutige Sicherheitskenninformation (14) der Vorrichtung ist.
  17. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 14, bei der die eindeutige Sicherheitskenninformation (14) der Vorrichtung der Signaturschlüssel einer digitalen Signaturfunktion ist und die Verifikationsvorrichtung (10) eine Zufallszahlerzeugungsanordnung (102) zum Erzeugen einer Zufallszahl und zum Speichern der erzeugten Zufallszahl als Abfragedaten in der vierten Speicheranordnung umfaßt, und bei der die Verifikationsanordnung (106) der Verifikationsvorrichtung (10) die Richtigkeit der Antwort verifiziert, indem verifiziert wird, daß die in der fünften Speicheranordnung (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 (14) der Vorrichtung ist.
  18. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 15, bei der die eindeutige Sicherheitskenninformation (14) der Vorrichtung der private Schlüssel D eines RSA-Paars mit öffentlichem Schlüssel mit einem Modul n ist und die Verifikationsanordnung (106) die Richtigkeit der Antwort verifiziert, indem verifiziert wird, daß die E-te Potenz der in der fünften Speicheranordnung (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, d. h. RE mod n = C mod n.
  19. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 16, bei der die eindeutige Sicherheitskenninformation (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 (122) gespeicherte Abfragedaten eine RSA-Verschlüsselung von Daten K mit dem öffentlichen Schlüssel E des RSA-Paars mit öffentlichem Schlüssel ist, d. h. DE mod φ(n) = 1, C' = KE mod n, eine von der Zufallszahlerzeugungsanordnung (102) erzeugte Zufallszahl r in der sechsten Speicheranordnung (103) gespeichert ist, erzeugte und in der vierten Speicheranordnung gespeicherte Abfragedaten C die Relation C = rEC' mod n erfüllen, und die Verifikationsanordnung (106) die Richtigkeit der in der fünften Speicheranordnung (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, d. h. K mod n = r–1R mod n.
  20. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 18 oder 19, bei der in der dritten Speicheranordnung (113) gespeicherte Nachweisunterstützungsinformation t (13) die Relation t = D – e + w φ(n) erfüllt, wobei e eine in der zweiten Speicheranordnung (115) gespeicherte eindeutige Benutzerkennung (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 (116) erzeugte Antwort identisch mit der D-ten Potenz von in der ersten Speicheranordnung (111) gespeicherten Abfragedaten C modulo n ist, d. h., R = CD mod n.
  21. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 20, bei der die Antworterzeugungsanordnung (116) des weiteren umfaßt: eine dritte Rechenanordnung (112) zum Berechnen der t-ten Potenz von in der ersten Speicheranordnung (111) gespeicherten Abfragedaten C modulo n, d. h. Ct mod n, wobei t in der dritten Speicheranordnung (113) gespeicherte Nachweisunterstützungsinformation (13) bezeichnet; eine vierte Rechenanordnung (114) zum Berechnen der e-ten Potenz der Abfragedaten C modulo n, d. h. Ct mod n, wobei e eine in der zweiten Speicheranordnung (115) gespeicherte eindeutige Benutzerkennung (16) bezeichnet; und eine fünfte Rechenanordnung (116) zum Berechnen einer Antwort R durch Multiplikation des von der dritten Rechenanordnung (112) berechneten Ergebnisses mit dem von der vierten Rechenanordnung (114) berechneten Ergebnis modulo n, d. h. R = CtCe mod n.
  22. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 21, ferner umfassend: eine Schutzanordnung (160) zum Verhindern, daß irgendwelche Daten in ihr von außen einsehbar oder manipulierbar sind, welche die zweite Speicheranordnung (115) und die vierte Rechenanordnung (114) einschließt.
  23. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 18 oder 19, bei der in der dritten Speicheranordnung (113) gespeicherte Nachweisunterstützungsinformation t (13) die Relation t = D + F(n, e) erfüllt, wobei e eine in der zweiten Speicheranordnung (115) gespeicherte eindeutige Benutzerkennung (16) bezeichnet und F(x, y) eine kollisionsfreie Funktion mit zwei Variablen bezeichnet, und eine von der Antworterzeugungsanordnung (116) erzeugte Antwort identisch mit der D-ten Potenz von in der ersten Speicheranordnung (111) gespeicherten Abfragedaten C modulo n ist, d. h. R = CD mod n.
  24. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 23, bei der die Antworterzeugungsanordnung (116) des weiteren umfaßt: eine dritte Rechenanordnung (112) zum Berechnen der t-ten Potenz von in der ersten Speicheranordnung (111) gespeicherten Abfragedaten C modulo n, wobei t die in der dritten Speicheranordnung (113) gespeicherte Nachweisunterstützungsinformation (131 bezeichnet, d. h. Ct mod n; eine vierte Rechenanordnung (114) zum Berechnen der F(n, e)-ten Potenz der Abfragedaten C modulo n, d. h. CF(n, e) mod n, wobei e die in der zweiten Speicheranordnung (115) gespeicherte eindeutige Benutzerkennung (16) bezeichnet und F(x, y) eine kollisionsfreie Funktion mit zwei Variablen bezeichnet; und eine fünfte Rechenanordnung (116) zum Berechnen einer Antwort R durch Dividieren des von der dritten Rechenanordnung (112) berechneten Ergebnisses durch das von der vierten Rechenanordnung (114) berechnete Ergebnis modulo n, d. h. R = CtC–F(n, e) mod n.
  25. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 24, ferner umfassend: eine Schutzanordnung (160) zum Verhindern, daß irgendwelche Daten in ihr von außen einsehbar oder manipulierbar sind, welche die zweite Speicheranordnung (115) und die vierte Rechenanordnung (114) einschließt.
  26. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 15, bei der die eindeutige Sicherheitskenninformation (14) der Vorrichtung ein Schlüssel D eines Pohlig-Hellman-Schlüsselpaars mit einem Modul p ist und die Verifikationsanordnung (106) die Richtigkeit der Antwort verifiziert, indem verifiziert wird, daß die E-te Potenz der in der fünften Speicheranordnung (105) gespeicherten Antwort R, wobei E den Gegenschlüssel des Schlüssels D bezeichnet, d. h. DE mod (p – 1) = 1, kongruent mit den in der vierten Speicheranordnung gespeicherten Abfragedaten modulo p ist, d. h. RE mod p = C mod p.
  27. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 16, bei der die eindeutige Sicherheitskenninformation (14) der Vorrichtung ein Schlüssel D eines Pohlig-Hellman-Schlüsselpaars mit einem Modul p ist, ein in der siebten Speicheranordnung (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, d. h. DE mod (p – 1) = 1, C' = KE mod p, eine von der Zufallszahlerzeugungsanordnung (402) erzeugte Zufallszahl r in der sechsten Speicheranordnung (403) gespeichert ist, in der vierten Speicheranordnung gespeicherte Abfragedaten C die Relation C = rEC' mod p erfüllen, und die Verifikationsanordnung (106) die Richtigkeit der in der fünften Speicheranordnung (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, d. h. K mod p = r–1R mod p.
  28. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 26 oder 27, bei der in der dritten Speicheranordnung (413) gespeicherte Nachweisunterstützungsinformation t (13) die Relation t = D + F(p, e) erfüllt, wobei e die in der zweiten Speicheranordnung (415) gespeicherte eindeutige Benutzerkennung (16) bezeichnet und F(x, y) eine kollisionsfreie Funktion mit zwei Variablen bezeichnet, und eine von der Antworterzeugungsanordnung (416) erzeugte Antwort identisch mit der D-ten Potenz von in der ersten Speicheranordnung (411) gespeicherten Abfragedaten C modulo p ist, d. h. R = CD mod p.
  29. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 28, bei der die Antworterzeugungsanordnung (416) des weiteren umfaßt: eine dritte Rechenanordnung (412) zum Berechnen der t-ten Potenz von in der ersten Speicheranordnung (411) gespeicherten Abfragedaten C modulo p, wobei t die in der dritten Speicheranordnung (413) gespeicherte Nachweisunterstützungsinformation (13) bezeichnet, d. h. Ct mod p; eine vierte Rechenanordnung (414) zum Berechnen der F(p, e)-ten Potenz der Abfragedaten C modulo p, d. h. CF(p, e) mod p, wobei e die in der zweiten Speicheranordnung (415) gespeicherte eindeutige Benutzerkennung (16) bezeichnet und F(x, y) eine kollisionsfreie Funktion mit zwei Variablen bezeichnet; und eine fünfte Rechenanordnung (416) zum Berechnen einer Antwort R durch Dividieren des von der dritten Rechenanordnung (412) berechneten Ergebnisses durch das von der vierten Rechenanordnung (414) berechnete Ergebnis modulo p, d. h. R = Ct C–F(p, e) mod p.
  30. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 29, ferner umfassend: eine Schutzanordnung (160) zum Verhindern, daß irgendwelche Daten in ihr von außerhalb einsehbar oder manipulierbar sind, welche die zweite Speicheranordnung (415) und die vierte Rechenanordnung 1414) einschließt.
  31. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 16, bei der die eindeutige Sicherheitskenninformation (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, d. h. Y = Gx mod p, u die z-te Potenz von G modulo p (u = Gz 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, d. h. K' = Yz K mod p, die siebte Speicheranordnung (522) das Paar aus u und K' hält, eine von der Zufallserzeugungsanordnung (602) erzeugte Zufallszahl r in der sechsten Speicheranordnung (603) gespeichert ist, C das Produkt modulo p von K' und r bezeichnet, d. h. C = rK' mod p, die vierte Speicheranordnung das Paar C und u hält, und die Verifikationsanordnung (106) die Richtigkeit der in der fünften Speicheranordnung (505) gespeicherten Antwort R verifiziert, indem verifiziert wird, daß der Quotient R dividiert durch r modulo p kongruent mit K modulo p ist, d. h. K mod p = r–1R mod p.
  32. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 31, bei der in der dritten Speicheranordnung (513) gespeicherte Nachweisunterstützungsinformation t (13) die Relation t = D + F(p, e) erfüllt, wobei e die in der zweiten Speicheranordnung (515) gespeicherte eindeutige Benutzerkennung (16) bezeichnet und F(x, y) eine kollisionsfreie Funktion mit zwei Variablen bezeichnet, und eine von der Antworterzeugungsanordnung (516) erzeugte Antwort R identisch mit dem Quotienten C dividiert durch die X-te Potenz von u modulo p ist, d. h. R = u–xC mod p, wobei das Paar C und u die in der ersten Speicheranordnung (511) gespeicherten Abfragedaten sind.
  33. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 32, bei der die Antworterzeugungsanordnung (516) des weiteren umfaßt: eine dritte Rechenanordnung (512) zum Berechnen der t-ten Potenz der Komponente u des in der ersten Speicheranordnung (511) gespeicherten Abfragedatenpaars modulo p, wobei t eine in der dritten Speicheranordnung (513) gespeicherte Nachweisunterstützungsinformation bezeichnet, d. h. ut mod p; eine vierte Rechenanordnung (514) zum Berechnen der F(p, e)-ten Potenz von u modulo p, d. h. uF(p, e) mod p, wobei e die in der zweiten Speicheranordnung (515) gespeicherte eindeutige Benutzerkennung (16) bezeichnet und F(x, y) eine kollisionsfreie Funktion mit zwei Variablen bezeichnet; und eine fünfte Rechenanordnung (516) zum Berechnen einer Antwort R durch Dividieren des Produkts der anderen Komponente C des Abfragedatenpaars mit dem von der vierten Rechenanordnung (514) berechneten Ergebnis durch das von der dritten Rechenanordnung (512) berechnete Ergebnis modulo p, d. h. R = CuF(p, e) u–t mod p.
  34. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 33, ferner umfassend: eine Schutzanordnung (160) zum Verhindern, daß irgendwelche Daten in ihr von außerhalb einsehbar oder manipulierbar sind, welche die zweite Speicheranordnung (515) und die vierte Rechenanordnung 1514) einschließt.
  35. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 17, bei der die eindeutige Sicherheitskenninformation (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, d. h. Y = Gx mod p, eine in der fünften Speicheranordnung (605) gespeicherte Antwort ein Paar aus R und S ist, und die Verifikationsanordnung (606) die Richtigkeit der in der fünften Speicheranordnung (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, d. h. Gc mod p = YRRS mod p.
  36. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 35, bei der in der dritten Speicheranordnung (613) gespeicherte Nachweisunterstützungsinformation t (13) die Relation t = D + F(p, e) erfüllt, wobei e die in der zweiten Speicheranordnung (616) gespeicherte eindeutige Benutzerkennung (16) bezeichnet und F(x, y) eine kollisionsfreie Funktion mit zwei Variablen bezeichnet, und die Antworterzeugungsanordnung (116) ein Antwortpaar R und S durch Ausführen der folgenden Schritte erzeugt: Erzeugen einer Zufallszahl k; Berechnen von R als k-te Potenz von G modulo p, d. h. R = Gk mod p; und Berechnen von S nach Maßgabe der Relation S = (C – RX) k–1 mod (p – 1).
  37. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 36, ferner umfassend: eine Schutzanordnung (160) zum Verhindern, daß irgendwelche Daten in ihr von außen einsehbar oder manipulierbar sind, welche die zweite Speicheranordnung (616) und die vierte Rechenanordnung (614) einschließt.
  38. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 4, bei der die in der zweiten Speicheranordnung (715) gespeicherte eindeutige Benutzerkennung (16) ein Entschlüsselungsschlüssel einer Verschlüsselungsfunktion ist, die in der dritten Speicheranordnung (713) gespeicherte Nachweisunterstützungsinformation (13) eine Verschlüsselung der eindeutigen Sicherheitskenninformation der Vorrichtung mit dem Verschlüsselungsschlüssel entsprechend dem Entschlüsselungsschlüssel ist, und die erste Rechenanordnung (712) die eindeutige Sicherheitskenninformation (14) der Vorrichtung durch Entschlüsseln der in der dritten Speicheranordnung (713) gespeicherten Nachweisunterstützungsinformation mit dem in der zweiten Speicheranordnung (715) gespeicherten Entschlüsselungsschlüssel berechnet.
  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 (16) eine Komponente des Schlüsselpaars der Verschlüsselungsfunktion ist.
  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 (16) der private Schlüssel des Paars mit öffentlichem Schlüssel der Verschlüsselungsfunktion ist.
  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 (16) der gemeinsame geheime Schlüssel der Verschlüsselungsfunktion ist.
  42. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 8 oder 16, bei der die Verifikationsvorrichtung (10) des weiteren umfaßt: eine achte Speicheranordnung (310a) zum Speichern von Klardaten, deren Verschlüsselung die Abfragedaten oder der Startparameter für die in der ersten Speicheranordnung (111) gespeicherten Abfragedaten sind; und eine Vergleichsanordnung (310b) zur Überprüfung, ob die in der achten Speicheranordnung (310a) gespeicherten Klardaten identisch mit Daten sind, die in die Vergleichsanordnung (310b) eingegeben werden, und bei der die Verifikationsanordnung (106) die Antwort oder den de-randomisierten Wert der in der fünften Speicheranordnung (105) gespeicherten Antwort an die Vergleichsanordnung (310b) liefert, die Rückantwort von der Vergleichsanordnung (310b) empfängt und dadurch die Verifikationsanordnung (106) die Richtigkeit der Antwort dann und nur dann verifiziert, wenn die empfangene Rückantwort zeigt, daß die in der achten Speicheranordnung (310a) gespeicherten Klardaten identisch mit den in die Vergleichsanordnung (310b) eingegebenen Daten sind.
  43. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 8 oder 16, bei der die Verifikationsvorrichtung (10) des weiteren umfaßt: eine neunte Speicheranordnung (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 (122) gespeicherte Abfragedaten sind; eine sechste Rechenanordnung (310c) zum Ausgeben eines Werts, der durch Anwenden der Einwegfunktion auf einen eingegebenen Datenwert berechnet wird; und eine Vergleichsanordnung (310b) zur Überprüfung, ob der in der neunten Speicheranordnung (310a) gespeicherte Wert identisch mit in die Vergleichsanordnung (310b) eingegebenen Daten ist, und bei der die Verifikationsanordnung (106) die Antwort oder den de-randomisierten Wert der Antwort an die sechste Rechenanordnung (310c) liefert, ein Ergebnis von der sechsten Rechenanordnung (310c) empfängt, das Ergebnis an die Vergleichsanordnung (310b) liefert und eine Rückantwort von der Vergleichsanordnung (310b) empfängt und die Verifikationsanordnung (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 (310c) identisch mit den in der neunten Speicheranordnung (310a) gespeicherten Daten ist.
  44. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 8 oder 16, bei der die Verifikationsvorrichtung (10) des weiteren umfaßt: eine Programmausführungsanordnung (310) zum Ausführen von Code eines Programms, dessen Verschlüsselung die in der siebten Speicheranordnung (122) gespeicherten Abfragedaten sind, und bei der die Verifikationsanordnung (106) die in der fünften Speicheranordnung (105) gespeicherte Antwort als Programmcode an die Programmausführungsanordnung 1310) liefert, und die Programmausführungsanordnung (310) dann und nur dann korrekt funktioniert, wenn die Antwortereugungsanordnung (116) die Abfragedaten korrekt entschlüsselt, die eine Verschlüsselung des Codes des Programms sind, d. h., wenn die Verschlüsselung des Programms korrekt entschlüsselt wird.
  45. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 8 oder 16, bei der die Verifikationsvorrichtung (10) des weiteren umfaßt: eine Programmausführungsanordnung (310); eine Programmspeicheranordnung (310g); und eine Programmentschlüsselungsanordnung (310h), und bei der die Programmspeicheranordnung (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 (122) gespeicherten Abfragedaten sind, die Verifikationsanordnung (106) die Antwort an die Programmentschlüsselungsanordnung (310h) liefert, die Programmentschlüsselungsanordnung (310h) das in der Programmspeicheranordnung (310g) gespeicherte Programm mit der Antwort als Entschlüsselungsschlüssel entschlüsselt, und die Programmausführungsanordnung (310) das entschlüsselte Programm dann und nur dann korrekt ausführt, wenn die Antworterzeugungsanordnung (116) die Abfragedaten korrekt entschlüsselt, d. h., der Entschlüsselungsschlüssel zum Entschlüsseln der Verschlüsselung des Programms korrekt entschlüsselt ist.
  46. Vorrichtung zum Authentifizieren von Benutzerzugangsrechten zu Ressourcen nach Anspruch 14, bei der die Nachweisvorrichtung (11) und die Verifikationsvorrichtung (10) in einer gehäuseartigen Anordnung installiert sind und die Verifikationsvorrichtung (10) die in der vierten Speicheranordnung gespeicherten Abfragedaten (18) an die erste Speicheranordnung (111) der Nachweisvorrichtung (11) überträgt und die Nachweisvorrichtung (11) die von der Antworterzeugungsanordnung (116) erzeugte Antwort (19) an die fünfte Speicheranordnung (105) der Verifikationsvorrichtung (10) ohne Verwendung eines Kommunikationsnetzes außerhalb der gehäuseartigen Anordnung überträgt.
  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; einen Schritt zum Speichern einer eindeutigen Benutzerkennung; einen Schritt zum Speichern von Nachweisunterstützungsinformation, die ein Ergebnis vorbestimmter Berechnungen an der eindeutigen Benutzerkennung und eindeutiger Sicherheitskenninformation ist; einen Schritt zum Erzeugen einer Antwort durch Ausführen vorbestimmter Berechnungen an den Abfragedaten, der eindeutigen Benutzerkennung und der Nachweisunterstützungsinformation; 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.
  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 (19) aus Abfragedaten (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 (18) zu speichern; computerlesbare Programmcodemittel, die dazu dienen, den Computer zu veranlassen, eine eindeutige Benutzerkennung (16) zu speichern; computerlesbare Programmcodemittel, die dazu dienen, den Computer zu veranlassen, Nachweisunterstützungsinformation (13) zu speichern, die ein Ergebnis vorbestimmter Berechnungen an der eindeutigen Benutzerkennung (16) und eindeutiger Sicherheitskenninformation (14) ist; und computerlesbare Programmcodemittel, die dazu dienen, den Computer zu veranlassen, durch Ausführen vorbestimmter Berechnungen an den Abfragedaten (18), der eindeutigen Benutzerkennung (16) und der Nachweisunterstützungsinformation (13) eine Antwort (19) zu erzeugen.
  49. Computerprogrammprodukt nach Anspruch 48, umfassend: computerlesbare Programmcodemittel, die dazu dienen, den Computer zu veranlassen, die Richtigkeit der Antwort (19) zu verifizieren, indem verifiziert wird, daß die Antwort (19), die Abfragedaten (18) und die eindeutige Sicherheitskenninformation (14) eine spezielle vordefinierte Relation erfüllen.
  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.
  51. Informationsverarbeitungsgerät zum Authentifizieren von Benutzerzugriffsrechten auf spezielle Informationsverarbeitungsressourcen durch Verifizieren der Richtigkeit einer Antwort (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.
DE1997604684 1996-02-23 1997-02-20 Vorrichtung und Verfahren zur Authentifizierung von Zugangsrechten eines Benutzers zu Betriebsmitteln nach dem Challenge-Response-Prinzip Expired - Lifetime DE69704684T2 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP6207696 1996-02-23
JP6207696 1996-02-23
JP41897 1997-01-06
JP41897 1997-01-06

Publications (1)

Publication Number Publication Date
DE69704684T2 true DE69704684T2 (de) 2004-07-15

Family

ID=26333401

Family Applications (2)

Application Number Title Priority Date Filing Date
DE1997604684 Expired - Lifetime DE69704684D1 (de) 1996-02-23 1997-02-20 Vorrichtung und Verfahren zur Authentifizierung von Zugangsrechten eines Benutzers zu Betriebsmitteln nach dem Challenge-Response-Prinzip
DE1997604684 Expired - Lifetime DE69704684T2 (de) 1996-02-23 1997-02-20 Vorrichtung und Verfahren zur Authentifizierung von Zugangsrechten eines Benutzers zu Betriebsmitteln nach dem Challenge-Response-Prinzip

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE1997604684 Expired - Lifetime DE69704684D1 (de) 1996-02-23 1997-02-20 Vorrichtung und Verfahren zur Authentifizierung von Zugangsrechten eines Benutzers zu Betriebsmitteln nach dem Challenge-Response-Prinzip

Country Status (4)

Country Link
US (1) USRE42762E1 (de)
EP (1) EP0792044B1 (de)
JP (2) JP3613921B2 (de)
DE (2) DE69704684D1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102007009212A1 (de) * 2007-02-26 2008-08-28 Giesecke & Devrient Gmbh Tragbarer Datenträger
DE102015119140A1 (de) * 2015-11-06 2017-05-11 Océ Printing Systems GmbH & Co. KG Verfahren zum Steuern des Zugriffs auf verschlüsselte Dateien und Computersystem

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7290288B2 (en) 1997-06-11 2007-10-30 Prism Technologies, L.L.C. Method and system for controlling access, by an authentication server, to protected computer resources provided via an internet protocol network
JPH11122240A (ja) 1997-10-17 1999-04-30 Fuji Xerox Co Ltd 復号装置および方法ならびにアクセス資格認証装置および方法
US5974550A (en) * 1997-12-12 1999-10-26 Intel Corporation Method for strongly authenticating another process in a different address space
JP4113274B2 (ja) 1998-02-05 2008-07-09 富士ゼロックス株式会社 認証装置および方法
US6296071B1 (en) 1998-06-30 2001-10-02 Harley-Davidson Motor Company Group, Inc. Motorcycle rocker assembly
CN1322700C (zh) 1999-01-27 2007-06-20 法国电信公司 利用非对称密钥证明真实性或完整性的方法和计算机系统
FR2788911A1 (fr) * 1999-01-27 2000-07-28 France Telecom Procede, systeme, dispositif pour diminuer la charge de travail pendant une session destinee a prouver l'authenticite d'une entite et/ou l'origine et l'integrite d'un message
JP2003511899A (ja) 1999-10-01 2003-03-25 テレディフュジオン・ドゥ・フランス エンティティの真正性及びメッセージの完全性を証明するための特定のキーのセット
GB2348584B (en) 1999-02-18 2004-02-04 Nds Ltd Identification protocols
JP3389186B2 (ja) 1999-04-27 2003-03-24 松下電器産業株式会社 半導体メモリカード及び読み出し装置
KR100844546B1 (ko) 1999-10-01 2008-07-08 마드 리즈크 엔티티의 진정성 또는 메시지의 무결성 검증방법, 시스템 및 장치
JP2001117823A (ja) 1999-10-15 2001-04-27 Fuji Xerox Co Ltd アクセス資格認証機能付きデータ記憶装置
JP2003518283A (ja) * 1999-12-21 2003-06-03 ネットスケープ コミュニケーションズ コーポレーション ハードウェア・トークン自己登録処理
US7302703B2 (en) 2000-12-20 2007-11-27 Aol, Llc A Delaware Limited Liability Company Hardware token self enrollment process
WO2001075604A1 (en) * 2000-04-03 2001-10-11 Juergen Stark Method of controlling access to personal resources
US7984104B1 (en) 2000-04-03 2011-07-19 West Corporation Method and system for content driven electronic messaging
US7062535B1 (en) 2000-04-03 2006-06-13 Centerpost Communications, Inc. Individual XML message processing platform
WO2001076119A3 (en) 2000-04-03 2004-02-19 Craig Goren Method and system for content driven electronic messaging
JP2002278839A (ja) * 2001-03-15 2002-09-27 Sony Corp データアクセス管理システム、メモリ搭載デバイス、およびデータアクセス管理方法、並びにプログラム記憶媒体
JP2002278838A (ja) 2001-03-15 2002-09-27 Sony Corp メモリアクセス制御システム、デバイス管理装置、パーティション管理装置、メモリ搭載デバイス、およびメモリアクセス制御方法、並びにプログラム記憶媒体
US7110858B2 (en) 2001-04-09 2006-09-19 Koninklijke Philips Electronics N.V. Object identification uses prediction of data in distributed network
US20040255134A1 (en) * 2002-02-27 2004-12-16 Harutoshi Miyamoto Host device
KR20050099495A (ko) 2003-01-31 2005-10-13 마츠시타 덴끼 산교 가부시키가이샤 반도체 메모리카드, 및 이 반도체 메모리카드를 제어하기위한 프로그램
US6883505B1 (en) 2004-04-02 2005-04-26 Midwest Motorcycle Supply Rocker box assembly with reed valve
JP4742682B2 (ja) 2005-06-01 2011-08-10 富士ゼロックス株式会社 コンテンツ保護装置及びコンテンツ保護解除装置
JP4435084B2 (ja) 2005-12-27 2010-03-17 フェリカネットワークス株式会社 通信システム,リーダライタ,認証方法,およびコンピュータプログラム
US8850549B2 (en) * 2009-05-01 2014-09-30 Beyondtrust Software, Inc. Methods and systems for controlling access to resources and privileges per process
JP5990927B2 (ja) * 2012-02-17 2016-09-14 富士電機株式会社 制御システム、制御装置及びプログラム実行制御方法
US8843739B2 (en) * 2012-04-04 2014-09-23 Lockheed Martin Corporation Anti-tamper device, system, method, and computer-readable medium

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4218738A (en) * 1978-05-05 1980-08-19 International Business Machines Corporation Method for authenticating the identity of a user of an information system
US4926480A (en) 1983-08-22 1990-05-15 David Chaum Card-computer moderated systems
US4672572A (en) * 1984-05-21 1987-06-09 Gould Inc. Protector system for computer access and use
US4856062A (en) * 1984-11-30 1989-08-08 Kenneth Weiss Computing and indicating device
GB8431381D0 (en) * 1984-12-12 1985-01-23 Ibm Security module
JPH0762854B2 (ja) * 1985-03-05 1995-07-05 カシオ計算機株式会社 Icカードシステム
US4757533A (en) * 1985-09-11 1988-07-12 Computer Security Corporation Security system for microcomputers
US5050213A (en) * 1986-10-14 1991-09-17 Electronic Publishing Resources, Inc. Database usage metering and protection system and method
US4827508A (en) * 1986-10-14 1989-05-02 Personal Library Software, Inc. Database usage metering and protection system and method
US4977594A (en) * 1986-10-14 1990-12-11 Electronic Publishing Resources, Inc. Database usage metering and protection system and method
US5191611A (en) 1989-04-03 1993-03-02 Lang Gerald S Method and apparatus for protecting material on storage media and for transferring material on storage media to various recipients
FR2649748B1 (fr) * 1989-07-17 1991-10-11 Axyval Sa Systeme de protection de documents ou d'objets de valeur enfermes dans un contenant inviolable physiquement, qui passe par ailleurs par une succession d'etats logiques authentifies en nombre restreint
JP2989200B2 (ja) 1989-09-13 1999-12-13 富士通株式会社 個人識別装置
US5029207A (en) * 1990-02-01 1991-07-02 Scientific-Atlanta, Inc. External security module for a television signal decoder
US5237610A (en) * 1990-02-01 1993-08-17 Scientific-Atlanta, Inc. Independent external security module for a digitally upgradeable television signal decoder
JPH0575135A (ja) 1991-08-16 1993-03-26 Rohm Co Ltd 半導体記憶装置
JPH0568727A (ja) 1991-09-11 1993-03-23 Tonen Corp スキー板
JPH05274269A (ja) * 1991-11-18 1993-10-22 Internatl Business Mach Corp <Ibm> コンピュータ・システムにおけるアクセスの正当性検証のための方法及びシステム
US5157726A (en) * 1991-12-19 1992-10-20 Xerox Corporation Document copy authentication
EP0560714B1 (de) * 1992-03-10 1999-01-13 Frama Ag Frankiermaschine
FR2700430B1 (fr) * 1992-12-30 1995-02-10 Jacques Stern Procédé d'authentification d'au moins un dispositif d'identification par un dispositif de vérification et dispositif pour sa mise en Óoeuvre.
NL9301348A (nl) * 1993-08-02 1995-03-01 Stefanus Alfonsus Brands Elektronisch betalingssysteem.
WO1995005712A3 (en) * 1993-08-13 1995-04-27 Frank Thomson Leighton Secret key exchange
US5467396A (en) * 1993-10-27 1995-11-14 The Titan Corporation Tamper-proof data storage
US5499298A (en) * 1994-03-17 1996-03-12 National University Of Singapore Controlled dissemination of digital information
US5517567A (en) * 1994-08-23 1996-05-14 Daq Electronics Inc. Key distribution system
US5913025A (en) * 1996-11-14 1999-06-15 Novell, Inc. Method and apparatus for proxy authentication
US6061740A (en) * 1996-12-09 2000-05-09 Novell, Inc. Method and apparatus for heterogeneous network management

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102007009212A1 (de) * 2007-02-26 2008-08-28 Giesecke & Devrient Gmbh Tragbarer Datenträger
DE102015119140A1 (de) * 2015-11-06 2017-05-11 Océ Printing Systems GmbH & Co. KG Verfahren zum Steuern des Zugriffs auf verschlüsselte Dateien und Computersystem

Also Published As

Publication number Publication date Type
JP3614057B2 (ja) 2005-01-26 grant
EP0792044A3 (de) 1998-05-27 application
USRE42762E1 (en) 2011-09-27 grant
JPH10247905A (ja) 1998-09-14 application
JP3613921B2 (ja) 2005-01-26 grant
EP0792044A2 (de) 1997-08-27 application
EP0792044B1 (de) 2001-05-02 grant
DE69704684D1 (de) 2001-06-07 grant
JP2000151583A (ja) 2000-05-30 application

Similar Documents

Publication Publication Date Title
Petersen et al. System implications of information privacy
US6516413B1 (en) Apparatus and method for user authentication
US6532542B1 (en) Protected storage of core data secrets
US7068787B1 (en) System and method for protection of digital works
US6885748B1 (en) System and method for protection of digital works
US5636280A (en) Dual key reflexive encryption security system
US20030217281A1 (en) System and method for imposing security on copies of secured items
US20070300306A1 (en) Method and system for providing granular data access control for server-client applications
US20040006710A1 (en) Computer security system
US5978484A (en) System and method for safety distributing executable objects
US7383570B2 (en) Secure authentication systems and methods
US20020002678A1 (en) Internet authentication technology
US7020645B2 (en) Systems and methods for state-less authentication
US20070255960A1 (en) System and method for validating a network session
US20040025026A1 (en) System-specific passwords
US20040162997A1 (en) Systems and methods for integrating access control with a namespace
US6161182A (en) Method and apparatus for restricting outbound access to remote equipment
DE4406602A1 (de) Sicherheitssystem zum Identifizieren und Authentisieren von Kommunikationspartnern
DE102008000067A1 (de) Verfahren zum Lesen von Attributen aus einem ID-Token
DE102010028133A1 (de) Verfahren zum Lesen eines Attributs aus einem ID-Token
DE102009027682A1 (de) Verfahren zur Erzeugung eines Soft-Tokens
Lindqvist et al. eXpert-BSM: A host-based intrusion detection solution for Sun Solaris
DE102009027686A1 (de) Verfahren zum Lesen von Attributen aus einem ID-Token
US20040181673A1 (en) Method and apparatus for preventing unauthorized access to data and for destroying data upon receiving an unauthorized data access attempt
EP0063794A2 (de) Gerät und Verfahren zur Identitätsüberprüfung