DE112015000213T5 - Passwortgestützte Berechtigungsprüfung - Google Patents

Passwortgestützte Berechtigungsprüfung Download PDF

Info

Publication number
DE112015000213T5
DE112015000213T5 DE112015000213.8T DE112015000213T DE112015000213T5 DE 112015000213 T5 DE112015000213 T5 DE 112015000213T5 DE 112015000213 T DE112015000213 T DE 112015000213T DE 112015000213 T5 DE112015000213 T5 DE 112015000213T5
Authority
DE
Germany
Prior art keywords
user
server
password
access control
authentication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE112015000213.8T
Other languages
English (en)
Other versions
DE112015000213B4 (de
Inventor
Anja Lehmann
Gregory Neven
Jan Leonhard Camenisch
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112015000213T5 publication Critical patent/DE112015000213T5/de
Application granted granted Critical
Publication of DE112015000213B4 publication Critical patent/DE112015000213B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/40User authentication by quorum, i.e. whereby two or more security principals are required
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN

Landscapes

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

Abstract

Vorrichtungen und Verfahren werden zur Verwendung bei einer Berechtigungsprüfung von Benutzerpasswörtern mit mehreren Servern bereitgestellt. Ein Passwortberechtigungsprüfungs-System 1 enthält einen Zugriffssteuerungsserver 2 zum Datenaustausch mit Benutzercomputern 3 über ein Netzwerk 4. Der Zugriffssteuerungsserver 2 steuert einen Zugriff durch die Benutzercomputer 3 auf eine Ressource 5 in Abhängigkeit von einer Berechtigungsprüfung von Benutzerpasswörtern, die jeweiligen Benutzer-IDs zugehörig sind. Das System 1 enthält ferner eine Mehrzahl n von Berechtigungsprüfungsservern 6, die jeweilige geheime Werte speichern, zum Datenaustausch mit dem Zugriffssteuerungsserver 2 über das Netzwerk 4. Für jede Benutzer-ID speichert der Zugriffssteuerungsserver 2 einen ersten verschlüsselten Text, der erzeugt wird, indem das dieser ID zugehörige Benutzerpasswort unter Verwendung eines vorbestimmten Algorithmus abhängig von den geheimen Werten der Berechtigungsprüfungsserver 6 verschlüsselt wird. Der Zugriffssteuerungsserver 2 und die Berechtigungsprüfungsserver 6 sind so gestaltet, dass als Reaktion auf einen Empfang einer Benutzer-ID und eines Eingabepasswortes von einem Benutzercomputer 3 der Zugriffssteuerungsserver 2 mit einer Mehrzahl k ≤ n der Berechtigungsprüfungsserver 6 Daten austauscht, ein Passwortberechtigungsprüfungs-Protokoll zu realisieren, das die Verwendung ihrer jeweiligen geheimen Werte durch die k Berechtigungsprüfungsserver erfordert, wobei ein zweiter verschlüsselter Text erzeugt wird, indem das Eingabepasswort unter Verwendung des vorbestimmten Algorithmus verschlüsselt wird, und der Zugriffssteuerungsserver 2 den ersten und zweiten verschlüsselten Text verwendet, um zu ermitteln, ob das Eingabepasswort gleich dem Benutzerpasswort für die empfangene Benutzer-ID ist. Falls dem so ist, gestattet der Zugriffssteuerungsserver 2 dem Benutzercomputer 3 den Zugriff auf die Ressource 5.

Description

  • Diese Erfindung betrifft allgemein die passwortgestützte Berechtigungsprüfung in Datenverarbeitungssystemen, wobei ein Zugriff auf eine Ressource in Abhängigkeit von einer Berechtigungsprüfung von Benutzerpasswörtern gesteuert wird. Mehrfachserversysteme werden zum Berechtigungsprüfen von Benutzerpasswörtern zusammen mit entsprechenden Verfahren, Komponentenservern und Computerprogrammen zum Konfigurieren der Server bereitgestellt.
  • Passwörter sind der häufigste Mechanismus zur Benutzerberechtigungsprüfung in Datenverarbeitungssystemen. Für eine lange Zeit waren Phishing-Angriffe und Tastenanschlagprotokollierungs-Schadsoftware auf Benutzercomputern die bevorzugten Verfahren für Hacker, um große Anzahlen von Passwörtern an sich zu bringen. In jüngerer Zeit scheint die Hauptgefahr für die Passwortsicherheit jedoch von Serverkompromittierung herzurühren. Allein 2012 wurden mehrere zehn Millionen von Passwörtern als auf diese Weise verloren berichtet, wobei die Hauptdatenlücken auf verschiedenen beliebten Webseiten auftraten.
  • Bei herkömmlichen passwortgestützten Berechtigungsprüfungssystemen stellen Benutzer eine Verbindung mit einem Server her, der den Zugriff zur geschützten Ressource steuert und eine Datenbank von Benutzer-IDs, z. B. Benutzernamen, mit deren zugehörigen, in Hashform gespeicherten Benutzerpasswörtern pflegt. Bei Empfang einer Benutzer-ID und eines Eingabepasswortes bildet der Zugriffssteuerungsserver einen Hashwert des Eingabepasswortes und prüft, ob das Ergebnis gleich dem gespeicherten Passworthashwert für diesen Benutzer ist. Alle Passworthashwerte können jedoch gestohlen werden, indem der Zugriffssteuerungsserver (oder eine zugehörige Passworthashwert-Datenbank) gehackt wird. Ein Speichern von Passwörtern in gehashter Form bietet aufgrund der Effizienz von Offline-Angriffen unter Verwendung von Wörterbüchern oder Brute-Forcing des Nachrichtenraums wenig Schutz. Das „National Institute of Standards and Technology” hat geschätzt, dass für Menschen merkbare Passwörter von sogar sechzehn Zeichen Länge nur 30 Bit an Entropie besitzen, was ungefähr einer Milliarde möglicher Kombinationen entspricht. Bei aktuellen Grafikprozessoren, die mehr als acht Milliarden Kombinationen je Sekunde testen können, sollte die Sicherheit als verloren betrachtet werden, sobald ein Offline-Angriff gegen die Passwortdaten in Stellung gebracht werden kann.
  • Um die Anfälligkeit für Offline-Angriffe durch Serverkompromittierung zu verringern, kann durch eine Mehrzahl von Servern eine passwortgestützte Berechtigungsprüfung durchgeführt werden. Berechtigungsprüfungsprotokolle, in denen die passwortgestützten Berechtigungsprüfungsdaten zwischen mehreren Servern aufgeteilt werden, sind zum Beispiel als Teil von „Authenticated Key-Exchange”- oder „Authenticated Secret-Sharing”-Protokollen bekannt. Systeme vor der Mehrfachserver-Passwortberechtigungsprüfung erfordern es, dass der Benutzercomputer mit allen Servern im Berechtigungsprüfungsprotokoll interagiert, da für die Berechtigungsprüfung Informationen von allen Servern erforderlich sind. Es sind zudem passwortgestützte Berechtigungsprüfungssysteme mit zwei Servern bekannt. „RSA Distributed Credential Protection”, RSA Security, Whitepaper 2012, http://www.emc.com/collateral/software/white-papers/h11013-rsa-dcp-0812-wp.pdf, beschreibt ein Beispiel eines solchen Systems. Hier werden die passwortgestützten Berechtigungsprüfungsdaten zwischen zwei Servern aufgeteilt. Die Benutzerin sendet ihr Passwort in randomisierter und aufgeteilter Form an die zwei Server, die dann interagieren, um das Passwort zu überprüfen, wobei Zugriff gewährt wird, wenn das Passwort korrekt ist.
  • Verbesserungen bei Passwortberechtigungsprüfungs-Systemen mit mehreren Servern wären höchst wünschenswert.
  • Eine Ausführungsform eines ersten Aspekts der vorliegenden Erfindung stellt ein System bereit, umfassend:
    einen Zugriffssteuerungsserver zum Datenaustausch mit Benutzercomputern über ein Netzwerk und Steuern eines Zugriffs durch die Benutzercomputer auf eine Ressource in Abhängigkeit von einer Berechtigungsprüfung von Benutzerpasswörtern, die jeweiligen Benutzer-IDS zugehörig sind; und
    eine Mehrzahl n von Berechtigungsprüfungsservern, die jeweilige geheime Werte speichern, zum Datenaustausch mit dem Zugriffssteuerungsserver über das Netzwerk;
    wobei der Zugriffssteuerungsserver für jede Benutzer-ID einen ersten verschlüsselten Text speichert, der erzeugt wird, indem das dieser ID zugehörige Benutzerpasswort unter Verwendung eines vorbestimmten Algorithmus abhängig von den geheimen Werten verschlüsselt wird;
    und wobei der Zugriffssteuerungsserver und die Berechtigungsprüfungsserver so gestaltet sind, dass als Reaktion auf einen Empfang einer solchen Benutzer-ID und eines Eingabepasswortes von einem Benutzercomputer der Zugriffssteuerungsserver mit einer Mehrzahl k ≤ n der Berechtigungsprüfungsserver Daten austauscht, um ein Passwortberechtigungsprüfungs-Protokoll zu realisieren, das die Verwendung ihrer jeweiligen geheimen Werte durch die k Berechtigungsprüfungsserver erfordert, wobei ein zweiter verschlüsselter Text erzeugt wird, indem das Eingabepasswort unter Verwendung des vorbestimmten Algorithmus verschlüsselt wird und der Zugriffssteuerungsserver den ersten und zweiten verschlüsselten Text verwendet, um zu ermitteln, ob das Eingabepasswort gleich dem Benutzerpasswort für die empfangene Benutzer-ID ist, und falls ja, Gestatten des Zugriffs auf die Ressource durch den Benutzercomputer.
  • Bei Systemen, welche diese Erfindung verkörpern, stellt der Zugriffssteuerungsserver sowohl den Zugriffspunkt auf die Ressource als auch eine zentralisierte Steuerung eines passwortgestützten Berechtigungsprüfungsprotokolls mit mehreren Servern zum Verbinden von Benutzern bereit. Eine Realisierung dieses Protokolls erfordert eine Zusammenarbeit von k ≤ n Berechtigungsprüfungsservern mit dem Zugriffssteuerungsserver, und diese Berechtigungsprüfungsserver müssen in diesem Prozess ihre jeweiligen geheimen Werte verwenden. Die Gültigkeit eines Eingabepassworts wird jedoch durch den Zugriffssteuerungsserver zentral auf Grundlage von einem Datenaustausch mit den k Servers ermittelt. Das Protokoll erfordert nicht, dass der Zugriffssteuerungsserver (oder irgendein anderer Server) das Benutzerpasswort rekonstruiert. Die Berechtigungsprüfung beruht auf der Verwendung des ersten und zweiten verschlüsselten Textes, die jeweils aus dem berechtigungsgeprüften Benutzerpasswort und dem Versuch des Eingabepassworts unter Verwendung des vordefinierten Verschlüsselungsalgorithmus abhängig von den geheimen Werten der Berechtigungsprüfungsserver erzeugt werden. Systeme, welche die Erfindung verkörpern, können eine sichere und effiziente passwortgestützte Berechtigungsprüfung bereitstellen. Benutzercomputer müssen nur mit dem Zugriffssteuerungsserver Daten austauschen und sind nicht anderweitig an der Realisierung des Berechtigungsprüfungsprotokolls beteiligt. Ausführungsformen der Erfindung können Sicherheit gegen Offline-Angriffe bieten und auch eine Realisierung eines effizienten Aktualisierungsmechanismus gestatten, wobei geheime Werte z. B. periodisch oder als Reaktion auf eine bekannte Sicherheitsverletzung aktualisiert werden können, um die Sicherheit zu verstärken. Zusätzliche Vorteile von Systemen, welche die Erfindung verkörpern, werden in Verbindung mit bestimmten nachstehend beschriebenen Ausführungsformen erklärt.
  • Die geheimen Werte der Server können kryptographische Schlüssel oder Schlüsselanteile (key-shares) oder irgendwelche anderen starken Geheimnisse aufweisen, die nur den entsprechenden Servern im System bekannt sind. Der Verschlüsselungsalgorithmus, der verwendet wird, um die verschlüsselten Texte zu generieren, kann von diesen geheimen Werten, direkt oder indirekt, in einer Vielfalt von Weisen abhängen. Zum Beispiel können die geheimen Werte im Algorithmus verwendet werden, oder der Algorithmus kann einen öffentlichen Schlüssel eines kryptographischen Schlüsselpaares verwenden, und die geheimen Werte können jeweilige Schlüsselanteile eines geheimen Schlüssels des Schlüsselpaars aufweisen. Der zweite verschlüsselte Text kann erzeugt werden, indem der Verschlüsselungsalgorithmus verwendet wird, um das Eingabepasswort direkt oder nach weiterer Verarbeitung des Eingabepassworts zu verschlüsseln, um irgendeine Funktion davon zu erzeugen.
  • In einer ersten bevorzugten Ausführungsform ist das Berechtigungsprüfungsprotokoll durch den Zugriffssteuerungsserver und k = n Berechtigungsprüfungsserver realisiert. Der erste verschlüsselte Text weist pseudozufällige Werte auf, die abgeleitet sind von: den n geheimen Werten der Berechtigungsprüfungsserver; dem Benutzerpasswort für eine Benutzer-ID; und vorzugsweise einem weiteren durch den Zugriffssteuerungsserver gespeicherten geheimen Wert. Um das Passwortüberprüfungsprotokoll zu realisieren, wenn sich ein Benutzer anmeldet, leitet der Zugriffssteuerungsserver die Erzeugung des zweiten verschlüsselten Textes in gleicher Weise wie die des ersten verschlüsselten Textes aus den geheimen Werten und dem Eingabepasswort. Der Zugriffssteuerungsserver vergleicht dann einfach den ersten und zweiten verschlüsselten Text, um zu ermitteln, ob das Eingabepasswort gleich dem Benutzerpasswort für die Benutzer-ID ist.
  • In einer zweiten bevorzugten Ausführungsform wird der erste verschlüsselte Text unter Verwendung eines homomorphen Verschlüsselungsalgorithmus zum Verschlüsseln des Benutzerpassworts unter einem öffentlichen Schlüssel eines kryptographischen Schlüsselpaares erzeugt. Die geheimen Werte der Berechtigungsprüfungsserver weisen jeweilige Schlüsselanteile eines geheimen Schlüssels des Schlüsselpaares auf. Um das Passwortberechtigungsprüfungs-Protokoll bei einer Benutzeranmeldung zu realisieren, erzeugt der Zugriffssteuerungsserver den zweiten verschlüsselten Text aus dem Eingabepasswort unter Verwendung des homomorphen Verschlüsselungsalgorithmus. Der Zugriffssteuerungsserver erzeugt dann einen Testwert durch Kombinieren des zweiten verschlüsselten Textes und des ersten verschlüsselten Textes für die empfangene Benutzer-ID über eine Operation ⊙, wobei die Operation ⊙ derart ist, dass sich aufgrund des Homomorphismus des Verschlüsselungsalgorithmus der Testwert zu einem vorbestimmten Wert entschlüsselt, wenn das Eingabepasswort gleich dem Benutzerpasswort ist. Der Testwert wird an die k Berechtigungsprüfungsserver gesendet, die ihre geheimen Schlüsselanteile verwenden, um einen jeweiligen Entschlüsselungsanteil (decryption share) zu erzeugen, der vom Testwert abhängt. Der Zugriffssteuerungsserver ermittelt dann aus den k Entschlüsselungsanteilen, ob sich der Testwert zu dem vordefinierten Wert entschlüsselt und somit das Eingabepasswort gleich dem Benutzerpasswort ist. Wenn es sich bei dem homomorphen Verschlüsselungsalgorithmus um einen Schwellenwert-Verschlüsselungsalgorithmus handelt, der weniger als n Entschlüsselungsanteile für die Entschlüsselung erfordert, kann das Passwortberechtigungsprüfungs-Protokoll unter Verwendung von k < n Berechtigungsprüfungsservern realisiert werden.
  • Zur maximalen Sicherheit gegen Offline-Angriffe sendet der Zugriffssteuerungsserver die empfangene Benutzer-ID in dem Passwortberechtigungsprüfungs-Protokoll bevorzugter Ausführungsformen an jeden Berechtigungsprüfungsserver, und jeder Berechtigungsprüfungsserver realisiert einen Regulierungsmechanismus (throttling mechanism) für jede Benutzer-ID. Regulierungsmechanismen sind in der Kryptographie allgemein bekannt und stellen Prozeduren zum Überwachen von Anmeldungen durch Systembenutzer bereit und zum Ermitteln auf Grundlage des Anmeldeverhaltens, ob ein bestimmtes Benutzerkonto gesperrt werden sollte. Regulierungsmechanismen sperren allgemein Benutzerkonten, wenn das Anmeldeverhalten einem vordefinierten Kriterium genügt, das eine potenziell schädliche Aktion angibt, z. B. wenn mehr als eine Schwellenwertanzahl von Anmeldeanfragen innerhalb einer gegebenen Zeit und/oder mit einem inkorrekten Passwort vorgenommen werden. Die erste nachstehend detailliert geschilderte Ausführungsform realisiert einen Regulierungsmechanismus auf Grundlage einer Benutzeranmeldehäufigkeit. Die zweite bevorzugte Ausführungsform kann ein Regulieren auf Grundlage einer Kombination der Anmeldehäufigkeit und inkorrekter Passworteingabe realisieren.
  • In bevorzugten Ausführungsformen sind der Zugriffssteuerungsserver und die Berechtigungsprüfungsserver ferner so gestaltet, dass sie ein Passworteinrichtungsprotokoll für Benutzerkonten realisieren. Insbesondere können der Zugriffssteuerungsserver und die Berechtigungsprüfungsserver so gestaltet sein, dass als Reaktion auf eine anfängliche Eingabe eines solchen Benutzerpassworts und der zugehörigen Benutzer-ID in einer Einrichtungsoperation der Zugriffssteuerungsserver mit den n Berechtigungsprüfungsservern Daten austauscht, um ein Passworteinrichtungsprotokoll zu realisieren, das eine Generierung des ersten verschlüsselten Textes für diese Benutzer-ID und eine Speicherung des ersten verschlüsselten Textes beim Zugriffssteuerungsserver aufweist, um eine nachfolgende Realisierung des Überprüfungsprotokolls für diese Benutzer-ID zu gestatten. Die bevorzugten Ausführungsformen stellen zudem eine effiziente Aktualisierungsoperation bereit, die es erlaubt, dass geheime Werte bei Bedarf aktualisiert werden.
  • Eine Ausführungsform eines zweiten Aspekts der Erfindung stellt einen Server bereit, der einen Speicher, eine Datenübertragungsschnittstelle und eine Steuerungslogik aufweist, die so gestaltet sind, dass sie den Server konfigurieren, einen Zugriffssteuerungsserver eines Systems gemäß dem ersten Aspekt der Erfindung zu realisieren, wobei in dem Speicher der erste verschlüsselte Text für jede in Verwendung befindliche Benutzer-ID gespeichert ist.
  • Eine Ausführungsform eines dritten Aspekts der Erfindung stellt einen Server bereit, der einen Speicher, eine Datenübertragungsschnittstelle und eine Steuerlogik aufweist, die so gestaltet sind, dass sie den Server konfigurieren, einen Berechtigungsprüfungsserver eines Systems gemäß dem ersten Aspekt der Erfindung zu realisieren, wobei in dem Speicher der geheime Wert des in Verwendung befindlichen Berechtigungsprüfungsservers gespeichert ist.
  • Weitere Aspekte der Erfindung stellen Computerprogramme bereit, die ein Programmcodemittel aufweisen, um einen Computer zu veranlassen, jeweils die Steuerungslogik eines Servers gemäß dem zweiten oder dritten Aspekt der Erfindung zu realisieren. Der Begriff „Computer” wird im allgemeinsten Sinn verwendet und schließt jede Einheit, jede Komponente oder jedes System mit einer Datenverarbeitungsfähigkeit zum Realisieren eines Computerprogramms ein. Darüber hinaus kann ein Computerprogramm, das die Erfindung verkörpert, ein unabhängiges Programm oder einen unabhängigen Programmsatz bilden, oder es kann sich um ein Element eines größeren Programms oder Programmsatzes handeln, und kann zum Beispiel in einem computerlesbaren Medium, wie beispielsweise einer Platte oder einer elektronischen Übertragung zum Laden in einen Computer verkörpert geliefert werden. Das Programmcodemittel des Computerprogramms kann jeglichen Ausdruck eines Satzes von Anweisungen in jeder beliebigen Sprache, jedem beliebigen Code oder jeder beliebigen Notation aufweisen, dessen Absicht es ist, einen Computer zu veranlassen, das fragliche Verfahren entweder direkt oder nach einem oder beidem von a) Umwandeln in eine andere Sprache, einen anderen Code oder eine andere Notation, und b) Reproduktion in einer unterschiedlichen materiellen Form, durchzuführen.
  • Eine Ausführungsform eines weiteren Aspekts der Erfindung stellt ein Verfahren zum Steuern eines Zugriffs durch Benutzercomputer auf eine Ressource in Abhängigkeit von einer Berechtigungsprüfung von Benutzerpasswörtern, die jeweiligen Benutzer-IDs zugehörig sind, bei einem Zugriffssteuerungsserver bereit, der für einen Datenaustausch mit den Benutzercomputern und einer Mehrzahl n von Berechtigungsprüfungsservern über ein Netzwerk eingerichtet ist, Das Verfahren weist auf:
    Speichern der jeweiligen geheimen Werte bei den n Berechtigungsprüfungsservern;
    für jede Benutzer-ID Speichern eines ersten verschlüsselten Textes, der erzeugt wird, indem das dieser ID zugehörige Benutzerpasswort unter Verwendung eines vorbestimmten Algorithmus abhängig von den geheimen Werten verschlüsselt wird, bei dem Zugriffssteuerungsserver;
    beim Zugriffssteuerungsserver als Reaktion auf einen Empfang einer solchen Benutzer-ID und eines Eingabepasswortes von einem Benutzercomputer Datenaustauschen mit einer Mehrzahl k ≤ n der Berechtigungsprüfungsserver, um ein Passwortberechtigungsprüfungs-Protokoll zu realisieren, das die Verwendung ihrer jeweiligen geheimen Werte durch die k Berechtigungsprüfungsserver erfordert, wobei ein zweiter verschlüsselter Text erzeugt wird, indem des Eingabepasswort unter Verwendung des vorbestimmten Algorithmus verschlüsselt wird, und der Zugriffssteuerungsserver den ersten und zweiten verschlüsselten Text verwendet, um zu ermitteln, ob das Eingabepasswort gleich dem Benutzerpasswort für die empfangene Benutzer-ID ist; und
    beim Zugriffssteuerungsserver Gestatten des Zugriffs auf die Ressource durch den Benutzercomputer, wenn das Eingabepasswort gleich dem Benutzerpasswort ist.
  • Wo hierin Merkmale unter Bezugnahme auf eine Ausführungsform eines Aspekts der Erfindung beschrieben sind, können entsprechende Merkmale in Ausführungsformen eines anderen Aspekts der Erfindung geeignet bereitgestellt werden.
  • Bevorzugte Ausführungsformen der Erfindung werden nun in beispielhafter Weise unter Bezugnahme auf die begleitenden Zeichnungen beschrieben, in denen:
  • 1 eine schematische Darstellung eines Datenverarbeitungssystems zeigt, das ein Passwortberechtigungsprüfungs-System enthält, das die Erfindung verkörpert;
  • 2 Merkmale einer Einrichtungsprozedur im Betrieb des Passwortberechtigungsprüfungs-Systems angibt;
  • 3 Merkmale einer Anmeldeprozedur im Betrieb des Passwortberechtigungsprüfungs-Systems angibt;
  • 4 eine Konfiguration einer ersten Ausführungsform des Passwortberechtigungsprüfungs-Systems zum Realisieren eines ersten Passwortberechtigungsprüfungs-Protokolls veranschaulicht;
  • 5a und 5b Schritte eines Einrichtungsprotokolls in der ersten Ausführungsform angeben;
  • 6a und 6b Schritte des Passwortberechtigungsprüfungs-Protokolls in der ersten Ausführungsform angeben;
  • 7 Schritte eines Aktualisierungsprotokolls in der ersten Ausführungsform angibt;
  • 8 eine Konfiguration einer zweiten Ausführungsform des Passwortberechtigungsprüfungs-Systems zum Realisieren eines zweiten Passwortberechtigungsprüfungs-Protokolls veranschaulicht;
  • 9 Schritte eines Einrichtungsprotokolls in der zweiten Ausführungsform angibt;
  • 10a und 10b Schritte einer einfachen Realisierung des Passwortberechtigungsprüfungs-Protokolls in der zweiten Ausführungsform angeben;
  • 11a bis 11c Schritte einer höher entwickelten Realisierung des Passwortberechtigungsprüfungs-Protokolls in der zweiten Ausführungsform angeben; und
  • 12 Schritte eines Entsperrprotokolls in der zweiten Ausführungsform angibt.
  • 1 zeigt ein einfaches Beispiel eines Datenverarbeitungssystems, das ein Passwortberechtigungsprüfungs-System beinhaltet, das die Erfindung verkörpert. Das Berechtigungsprüfungssystem, das allgemein bei 1 angegeben ist, enthält einen Zugriffssteuerungsserver 2, der zum Datenaustausch mit einer Mehrzahl von Benutzercomputern 3 über ein Netzwerk 4 eingerichtet ist. Das Netzwerk 4 kann im Allgemeinen eine oder mehrere Komponentennetzwerke oder Verbindungsnetze, einschließlich des Internets, aufweisen. Bei den Benutzercomputern 3 handelt es sich in diesem Beispiel um universelle PCs, sie können jedoch gleichermaßen durch andere Computereinheiten, wie beispielsweise Mobiltelefone, Tablet-Computer, persönliche Musikwiedergabeeinheiten, Palmtop-Einheiten usw. realisiert werden. Der Zugriffssteuerungsserver 2 steuert einen Zugriff auf eine Ressource, in diesem Beispiel eine Datenbank 5, durch die Benutzercomputer 3. Der Zugriff wird in Abhängigkeit von einer Berechtigungsprüfung von Benutzerpasswörtern gestattet, die jeweiligen Benutzer-IDs, zum Beispiel Benutzernamen, zugehörig sind, die durch Benutzer über die PCs 3 im Betrieb eingegeben werden.
  • Das Berechtigungsprüfungssystem 1 enthält zudem eine Mehrzahl von mit S1, S2, ..., Sn gekennzeichneten Berechtigungsprüfungsservern 6, die zum Datenaustausch mit dem Zugriffssteuerungsserver 2 über das Netzwerk 4 eingerichtet sind. Die n Berechtigungsprüfungsserver 6 sind so gestaltet, dass sie mit dem Zugriffssteuerungsserver 2 zusammenzuarbeiten, um ein Passwortberechtigungsprüfungs-Protokoll mehrerer Server zu realisieren, das nachstehend detailliert geschildert wird. Die Anzahl n von Berechtigungsprüfungsservern kann für unterschiedliche Ausführungsformen variieren, ein typisches System kann jedoch abhängig vom bestimmten Passwortberechtigungsprüfungs-Protokoll und dem erforderlichen Maß an Sicherheit zwischen zwei und zehn Berechtigungsprüfungsserver benutzen. Im Allgemeinen können sich die Berechtigungsprüfungsserver 6 am selben Ort wie der Zugriffssteuerungsserver 2 oder an einem oder mehreren anderen Orten befinden, und sie können durch dieselbe Entität wie der Zugriffssteuerungsserver oder durch eine oder mehrere andere Entitäten gesteuert werden. Die Verteilung und Steuerung der Server 2, 6 kann somit gemäß bestimmten Sicherheitsanforderungen für ein gegebenes System ausgewählt werden.
  • Jeder der Zugriffssteuerungs- und Berechtigungsprüfungsserver 2, 6 kann als ein universeller Computer verkörpert sein, der konfiguriert ist, die entsprechende Serverfunktionalität zu realisieren. Der Zugriffssteuerungsserver 2 ist hier einfach so gezeigt, dass er eine Datenübertragungsschnittstelle (I/F) 7 zur Datenübertragung über das Netzwerk 4, eine Steuerungslogik 8 und einen Speicher 9 aufweist. Die Steuerungslogik 8 steuert allgemein den Betrieb des Servers 2 und stellt Funktionalität zum Realisieren von Schritten des Passwortberechtigungsprüfungs- sowie zugehöriger Protokolle bereit, die nachstehend detailliert geschildert werden. Im Speicher 9 werden verschiedene Daten gespeichert, die durch die Steuerungslogik im Betrieb verwendet werden. Dies schließt einen ersten verschlüsselten Text CT1 für die Benutzer-ID (Uid) jedes berechtigten Benutzers des Systems ein. Jeder Berechtigungsprüfungsserver 6 ist gleichermaßen so gezeigt, dass er eine Datenübertragungsschnittstelle 11, eine Berechtigungsprüfungslogik 12, die Funktionalität zur Verwendung in den nachstehend detailliert geschilderten Protokollen bereitstellt, und einen Speicher 13 aufweist, in dem Daten gespeichert werden, die durch die Logik 12 im Betrieb verwendet werden. Dies schließt einen geheimen Wert vi ein, der nur diesem bestimmten Server Si im System bekannt ist. Im Allgemeinen könnten die Steuerungslogik 8 und die Berechtigungsprüfungslogik 12 in Hardware oder Software oder einer Kombination davon realisiert werden. In diesem Beispiel ist die Logik 8, 12 zweckmäßigerweise durch Software realisiert, die auf dem jeweiligen Computer 2, 6 ausgeführt wird, um den Computer zu veranlassen, die beschriebenen Funktionen durchzuführen.
  • 2 zeigt ein verallgemeinertes Blockschaubild, das Hauptmerkmale einer Einrichtungsprozedur zum Einrichten eines Benutzerkontos im Betrieb des Passwortberechtigungsprüfungs-Systems 1 angibt. Bei Initiierung der Einrichtungsoperation, wie in Schritt 20 angegeben, werden die Benutzer-ID Uid und das zugehörige Benutzerpasswort pwd, die für eine nachfolgende Berechtigungsprüfung eines Benutzers zu verwenden sind, in Schritt 21 in den Zugriffssteuerungs(acess control AC)-Server 2 eingegeben. In einer typischen Anwendung werden die Benutzer-ID und das Benutzerpasswort hier durch den Benutzer über einen Benutzercomputer 3 eingegeben und über das Netzwerk 4 an den AC-Server 2 gesendet. Der AC-Server antwortet in Schritt 22, indem ein Passworteinrichtungsprotokoll initiiert wird. Dieses Protokoll wird über einen Datenaustausch des AC-Servers 2 und der n Berechtigungsprüfungsserver S1 bis Sn realisiert. Das Einrichtungsprotokoll bezieht eine Generierung des ersten verschlüsselten Textes CT1 für die Eingabe-Benutzer-ID ein, wie in Schritt 23 angegeben. Der verschlüsselte Text CT1 wird erzeugt, indem das Benutzerpasswort pwd unter Verwendung eines vorbestimmten Algorithmus verschlüsselt wird, der von den geheimen Werten v1 bis vn der n Berechtigungsprüfungsserver abhängt. Dies wird nachstehend weiter erklärt. Der erste verschlüsselte Text CT1 wird durch den AC-Server 2 mit der Benutzer-ID Uid für den berechtigten Benutzer gespeichert, wie in Schritt 24 angegeben. Die n Berechtigungsprüfungsserver 6 speichern die Benutzer-ID Uid wie in Schritt 25 angegeben (üblicherweise mit einem oder mehreren Elementen, wie beispielsweise ein „Konto gesperrt”-Flag, das durch einen nachstehend weiter erläuterten Regulierungsmechanismus gesteuert wird). Es ist zu beachten, dass die Reihenfolge der Schritte 24 und 25 in unterschiedlichen Realisierungen variieren kann, wie nachstehend veranschaulicht. Das Passworteinrichtungsprotokoll ist dann abgeschlossen, und das Benutzerkonto ist zur Verwendung in einer nachfolgenden Anmeldeprozedur bereit.
  • 3 zeigt ein verallgemeinertes Blockschaubild, das einen Überblick über eine Einrichtungsprozedur im Betrieb des Passwortberechtigungsprüfungs-Systems 1 gibt. Die Anmeldeprozedur beginnt in Schritt 30, wenn ein einen Benutzercomputer 3 bedienender Benutzer ein Passwort pwd' (d. h. einen Versuch für das Benutzerpasswort pwd) und eine Benutzer-ID Uid eingibt. Die Eingaben Uid, pwd' werden über das Netzwerk 4 gesendet und in Schritt 31 durch den AC-Server 2 empfangen. Der AC-Server antwortet in Schritt 32, indem ein Überprüfungsprotokoll zum Berechtigungsprüfen des Eingabepasswortes pwd' initiiert wird. Dieses Passwortberechtigungsprüfungs-Protokoll wird über einen Datenaustausch des AC-Servers 2 mit einer Mehrzahl k ≤ n der Berechtigungsprüfungsserver S1 bis Sn realisiert, wobei der Wert von k von der bestimmten Protokollrealisierung abhängt. Ein erfolgreicher Betrieb des Protokolls erfordert es, dass die k Berechtigungsprüfungsserver ihre jeweiligen geheimen Werte vi verwenden, wie in Block 33 in der Figur angegeben. Das Protokoll bringt eine Generierung eines zweiten verschlüsselten Textes CT2 mit sich, wie in Block 34 angegeben. Dieser verschlüsselte Text CT2 wird im System 1 erzeugt, indem das Eingabepasswort pwd' unter Verwendung des im Einrichtungsprotokoll verwendeten Algorithmus verschlüsselt wird, um den ersten verschlüsselten Text CT1 zu erzeugen. Der AC-Server 2 verwendet dann den ersten und zweiten verschlüsselten Text CT1, CT2, um in Schritt 35 zu ermitteln, ob das Eingabepasswort pwd' gleich dem in Schritt 31 empfangenen Benutzerpasswort pwd für die Benutzer-ID ist. Falls dem so ist („J” im Entscheidungsblock 36), gestattet der AC-Server 2 den Benutzerzugriff auf die Datenbank 5, wie in Schritt 37 angegeben, und der Anmeldeprozess ist abgeschlossen. Wenn das Eingabepasswort pwd' ungültig ist, („N” im Entscheidungsblock 36), verweigert der AC-Server 2 in Schritt 38 den Zugriff und kann den Benutzer dementsprechend benachrichtigen. Es ist wiederum zu beachten, dass die Reihenfolge der durch die Blöcke von 3 angegebenen Schritte in unterschiedlichen Realisierungen variieren kann, wie durch die nachstehenden Beispiele veranschaulicht.
  • Eine erste Ausführungsform des Berechtigungsprüfungssystems 1, die zum Realisieren eines ersten Passwortberechtigungsprüfungs-Protokolls gestaltet ist, wird nun detailliert unter Bezugnahme auf 4 bis 7 beschrieben. Das erste Passwortberechtigungsprüfungs-Protokoll beruht auf symmetrischer Kryptographie durch Verwenden einer Pseudozufallsfunktion und XOR-Operationen (d. h. Modulo-2-Addition). 4 veranschaulicht eine anfängliche Konfiguration der Systemserver in dieser Ausführungsform. Jeder der n Berechtigungsprüfungsserver S1 bis Sn speichert zwei identische Schlüssel, die mit k1i und k2i bezeichnet sind. (Der Schlüssel k2i entspricht hier dem vorstehend erläuterten geheimen Serverwert vi. Der hier verwendete Schlüssel k1i könnte durch eine eindeutige Server-ID ersetzt werden, wie nachstehend weiter erläutert). In dieser Ausführungsform speichert der AC-Server einen weiteren geheimen Wert, hier ein weiterer symmetrischer Schlüssel, der mit kAC bezeichnet ist. Das System arbeitet mit sicherer Datenübertragung zwischen den Servern 2, 6 über berechtigungsgeprüfte und vertrauliche Kanäle mit vorwärts gerichteter Geheimhaltung (forward secrecy). Diese Eigenschaften können in einer bekannten Weise erreicht werden, z. B. unter Verwendung von SSL(Secure Sockets Layer)- oder TLS(Transport Layer Security)-Protokollen
  • Einrichtungsprotokoll Ausführungsform Nr. 1
  • 5a und 5b geben aufeinanderfolgende Stufen des Einrichtungsprotokolls in dieser Ausführungsform an. Die Operation beginnt, wie in (a) in 5a angegeben, wenn ein Benutzer dem AC-Server 2 über einen Benutzer-PC 3 eine Benutzer-ID Uid und ein Benutzerpasswort pwd liefert. In Schritt (b) erzeugt die Steuerungslogik 8 des AC-Servers 2 einen anfänglichen Pseudozufallswert tin, der das Benutzerpasswort pwd über eine Pseudozufallsfunktion PRF (pseudorandom function) verschlüsselt. Der anfängliche Pseudozufallswert tin verschlüsselt auch den geheimen Schlüssel kAC des AC-Servers und (um eine Kollision zu vermeiden, wenn ein anderer Benutzer dasselbe Passwort wählt) die Benutzer-ID Uid. Insbesondere in diesem Beispiel wird der Pseudozufallswert tin berechnet als tin ← PRF(PRF(kAC, Uid), pwd).
  • In Schritt (c) sendet der AC-Server die Benutzer-ID Uid und den anfänglichen Pseudozufallswert tin über die Datenübertragungsschnittstelle 7 und das Netzwerk 4 an die n Berechtigungsprüfungsserver S1 bis Sn. Die Werte (Uid, pwd) werden durch die Berechtigungsprüfungslogik 12 jedes Berechtigungsprüfungsservers 6 über die Datenübertragungsschnittstelle 11 empfangen.
  • Im nächsten Schritt, der in 5b bei (d) angegeben ist, verwendet die Berechtigungsprüfungslogik 12 jedes Servers Si den anfänglichen Pseudozufallswert tin, um einen entsprechenden ersten Pseudozufallswert t1i zu erzeugen. Dieser erste Pseudozufallswert weist eine Modulo-2-Summe der zweiten und dritten Pseudozufallswerte t2i bzw. t3i auf. Der zweite Pseudozufallswert t2i verschlüsselt den anfänglichen Pseudozufallswert tin über die Pseudozufallsfunktion PRF. Der zweite Pseudozufallswert t2i verschlüsselt über die Pseudozufallsfunktion PRF auch eine Server-ID für den jeweiligen Berechtigungsprüfungsserver, wobei der Serverschlüssel k1i hier die Server-ID bildet. Der dritte Pseudozufallswert verschlüsselt über die Pseudozufallsfunktion PRF den geheimen Wert vi = k2i des Berechtigungsprüfungsservers Si und die empfangene Benutzer-ID Uid (die dem Benutzerpasswort zugehörig ist, das im anfänglichen Pseudozufallswert tin verschlüsselt ist). Insbesondere: t1i ← t2i ⊕ t3i ← PRF(k1i, tin) ⊕ PRF(k2i, Uid), wobei ⊕ für die Modulo-2-Additions(XOR)-Operation steht. Der zweite Ausdruck t3i in dieser Formel stellt die Basis für eine proaktive Aktualisierungsprozedur bereit, die nachstehend weiter erläutert wird.
  • In der nächsten Stufe der Einrichtungsoperation, wie in (e) in 5b angegeben, sendet jeder Berechtigungsprüfungsserver Si seinen jeweiligen Pseudozufallswert t1i an den AC-Server 2. Die Steuerungslogik 8 des AC-Servers 2 erzeugt dann den ersten verschlüsselten Text CT1 aus den n ersten Pseudozufallswerten t1i. Der erste verschlüsselte Text CT1, der in dieser Ausführungsform mit tpwd bezeichnet ist, ist gegeben durch: tpwd = t11 ⊕ t12 ⊕ t13 ... ⊕ t1n
  • Es wird daher ersichtlich sein, dass der erste verschlüsselte Text in dieser Ausführungsform eine Modulo-2-Summe der n ersten Pseudozufallswerte t1i aufweist, von denen jeder über die Pseudozufallsfunktion den geheimen Wert k2i eines jeweiligen Berechtigungsprüfungsservers und den anfänglichen Pseudozufallswert tin verschlüsselt, der wiederum das Benutzerpasswort pwd den geheimen Wert kAC des AC-Servers 2 verschlüsselt.
  • Wie in 5b angegeben, speichert der AC-Server 2 am Ende des Einrichtungsprotokolls für diesen Benutzer den ersten verschlüsselten Text tpwd für die Benutzer-ID Uid in seinem Speicher 9. Der Speicher 13 jedes Berechtigungsprüfungsservers 6 speichert Uid und ein „Konto gesperrt”-Bit b = {0, 1), das angibt, ob das Benutzerkonto gesperrt (b = 1) oder offen (b = 0) ist. Anfänglich ist dieses Bit auf b = 0 gesetzt. Die anfänglichen Pseudozufallswerte tin, t1i werden durch keinen der Server 2, 6 gespeichert und nach der Verwendung beim Einrichten des Benutzerkontos gelöscht.
  • Passwortberechtigungsprüfungs-Protokoll Ausführungsform Nr. 1
  • Bei einer nachfolgenden Anmeldung für das Benutzerkonto tauscht der AC-Server 2 mit k = n Berechtigungsprüfungsservern 6 Daten aus, um das Passwortberechtigungsprüfungs-Protokoll zu realisieren. 6a und 6b geben aufeinanderfolgende Stufen des Passwortberechtigungsprüfungs-Protokolls in dieser Ausführungsform an. Die Operation beginnt, wie in (a) in 6a angegeben, wenn der Benutzer über einen Benutzer-PC 3 die Benutzer-ID Uid liefert und ein Benutzerpasswort pwd' eingibt. Bei Empfang der Werte (Uid, pwd') prüft der AC-Server 2, ob ein Benutzerdatensatz (Uid, tpwd) im Speicher 9 vorhanden ist. Falls nicht, schlägt die Anmeldung fehl. Falls dem so ist, entspricht die nachfolgende Operation allgemein dem vorstehenden Einrichtungsprotokoll, verwendet jedoch das Eingabepasswort pwd'. Somit verwendet die AC-Serverlogik in Schritt (b) das Eingabepasswort pwd', um einen Test-Pseudozufallswert ttest zu erzeugen, der dem anfänglichen Pseudozufallswert tin entspricht. Der Test-Pseudozufallswert ttest wird somit auf gleiche Weise wie der anfängliche Pseudozufallswert tin erzeugt, verwendet jedoch das Eingabepasswort pwd' anstatt des Benutzerpasswortes pwd. In Schritt (c) sendet der AC-Server den Test-Pseudozufallswert ttest mit der empfangenen Benutzer-ID Uid an jeden Berechtigungsprüfungsserver S1 bis Sn. An diesem Punkt prüft jeder Berechtigungsprüfungsserver aufgrund des Betriebs eines Regulierungsmechanismus, wie in Schritt (d) angegeben, ob das Benutzerkonto gesperrt wurde (d. h. das Flag b für Uid auf b = 1 gesetzt ist). Insbesondere ist die Berechtigungsprüfungslogik 12 von jedem Server 6 eingerichtet, einen Regulierungsmechanismus für jede Benutzer-ID Uid auf Grundlage einer Häufigkeit von Benutzeranmeldeanfragen zu realisieren. Verschiedene solche Regulierungsmechanismen sind im Stand der Technik bekannt, und jede zweckdienliche Technik kann hier benutzt werden. Zum Beispiel kann ein Konto gesperrt werden, wenn mehr als eine Schwellenwertanzahl von Anmeldeanfragen empfangen werden oder innerhalb einer gegebenen Zeitgrenze empfangen werden. Alternativ oder zusätzlich dazu kann zum Beispiel eine sich allmählich erhöhende Zeitgrenze zum Bedienen von Benutzeranfragen angewandt werden, wenn ein verdächtiges Anmeldeverhalten erkannt wird, z. B. wenn eine bestimmte Anzahl oder Rate von Anfragen überschreiten wird. Der Regulierungsmechanismus kann daher ein Benutzerkonto zeitweise oder permanent sperren, wobei letzteres abhängig von der speziellen Realisierung ein Entsperren durch eine berechtigte Partei oder eine Erneuerung eines Benutzerkontos erfordert. In jedem Fall schlägt die Anmeldeoperation fehl, wenn das Benutzerkonto bei irgendeinem Berechtigungsprüfungsserver 6 gesperrt ist. Wenn kein Server das Benutzerkonto gesperrt hat, kann die Anmeldeoperation fortfahren.
  • In der nächsten Stufe des Berechtigungsprüfungsprotokolls verwendet jeder Berechtigungsprüfungsserver Si, wie in (e) in 6b angegeben, den Test-Pseudozufallswert ttest, um einen entsprechenden Server-Pseudozufallswert tsi zu erzeugen, der dem vorstehenden ersten Pseudozufallswert t1i entspricht. Das heißt, der Server-Pseudozufallswert tsi wird auf gleiche Weise erzeugt wie der erste Pseudozufallswert t1i, verwendet jedoch den Test-Pseudozufallswert ttest anstatt des anfänglichen Pseudozufallswertes tin. Somit gilt: tsi ← PRF(k1i, ttest) ⊕ PRF(k2i, Uid).
  • In Schritt (f) sendet jeder Berechtigungsprüfungsserver Si seinen Server-Pseudozufallswert tsi an den AC-Server 2. In Schritt (g) erzeugt der AC-Server den zweiten verschlüsselten Text CT2 aus den n Server-Pseudozufallswerten tsi. Der zweite verschlüsselte Text CT2, der in dieser Ausführungsform mit tpwd' bezeichnet wird, ist somit gegeben durch: tpwd' = ts1 ⊕ ts2 ⊕ ts3 ... ⊕ tsn
  • Um zu ermitteln, ob das Eingabepasswort gültig ist (pwd' = pwd), vergleicht die AC-Serverlogik in Schritt (h) einfach den ersten und zweiten verschlüsselten Text, um zu ermitteln, ob tpwd' = tpwd. Falls dem so ist, ist die Anmeldung erfolgreich, und der Server gewährt dem Benutzer Zugriff auf die Ressource 5. Falls nicht, schlägt die Anmeldung fehl und der Zugriff wird verweigert.
  • Das vorstehende Passwortberechtigungsprüfungs-Protokoll wird zwischen dem AC-Server allen n Berechtigungsprüfungsservern ausgeführt. Ein „Smash-and-Grab”-Angriff, bei dem ein Gegenüber für eine kurze Zeit die volle Kontrolle über einen Server erlangen und alle Informationen, einschließlich geheimer Schlüssel, die durch den korrumpierten Server unterhalten werden, abgreifen kann, wird die Sicherheit nicht verletzen, da für den Berechtigungsprüfungsprozess die geheimen Schlüssel aller Server erforderlich sind. Die Passwörter sind sicher, solange mindestens ein Server 2, 6 ehrlich bleibt. Solange zum Beispiel nicht mehr als n – 1 Berechtigungsprüfungsserver und der AC-Server durch ein Gegenüber korrumpiert sind, kann das Gegenüber keine Passwörter rekonstruieren oder Offline-Angriffe gegen die akkumulierten Berechtigungsprüfungsdaten durchführen. Das Gegenüber würde Unterstützung von dem verbleibenden ehrlichen Server benötigen, um alle Passwortkombinationen zu testen, und dies wird aufgrund des Regulierungsmechanismus durch den ehrlichen Server erkannt und verhindert. Sicherheit wird in dieser Ausführungsform allein über symmetrische Kryptographie erreicht, die schnell und einfach ist und beträchtliche Vorteile hinsichtlich der Realisierungseffizienz bietet. Darüber hinaus erfordert das System keine dedizierte Client-Software bei den Benutzercomputern 3, und die Benutzercomputer müssen für den Betrieb des Systems nur mit dem AC-Server Daten austauschen. Das System gestattet zudem die Realisierung eines effizienten proaktiven Sicherheitsmechanismus zum Aktualisieren von Serverschlüsseln. Dieser Aktualisierungsmechanismus erfordert keine Interaktion mit Benutzern. Das Aktualisierungsprotokoll wird nun unter Bezugnahme auf 7 erklärt.
  • Aktualisierungsprotokoll Ausführungsform Nr. 1
  • Der AC-Server 2 und jeder Berechtigungsprüfungsserver 6 sind so gestaltet, dass sie ein Aktualisierungsprotokoll realisieren, bei dem der Berechtigungsprüfungsserver seinen jeweiligen geheimen Wert vi = k2i auf einen neuen Wert k2'i aktualisiert. Das Protokoll kann durch den AC-Server periodisch mit allen Berechtigungsprüfungsservern ausgeführt werden, um die Sicherheit gegen aufeinanderfolgende Serverkompromittierung weiter zu verbessern. Zudem kann das Protokoll verwendet werden, um nach einer bekannten Verletzung die volle Sicherheit wiederherzustellen. Wenn der AC-Server 2 kompromittiert ist, wird das Aktualisierungsprotokoll alle Server einschließen. Eine Sicherheitsverletzung auf einem einzelnen Berechtigungsprüfungsserver erfordert nur eine Realisierung des Protokolls durch den AC-Server und den betroffenen Berechtigungsprüfungsserver. Im Folgenden liegt der Schwerpunkt auf dem Betrieb für einen einzelnen Berechtigungsprüfungsserver, was bei Bedarf auf alle n Server ausgedehnt werden kann.
  • Der AC-Server sendet alle Uid-Werte, für die der Datensatz aktualisiert werden sollte, an den Berechtigungsprüfungsserver 6. Der Berechtigungsprüfungsserver 6 aktualisiert seinen jeweiligen geheimen Wert vi = k2i auf einen neuen geheimen Wert k2'i und verwendet den neuen geheimen Wert k2'i, um einen aktualisierten Pseudozufallswert tui, der dem vorstehenden dritten Pseudozufallswert t3i entspricht, für jede Benutzer-ID Uid zu erzeugen. Das heißt, der Berechtigungsprüfungsserver 6 wählt, wie in Schritt (a) in 7 angegeben, einen neuen Schlüssel k2'i und berechnet dann den aktualisierten Pseudozufallswert tui zu: tui ← PRF(k2'i, Uid).
  • Der Berechtigungsprüfungsserver erzeugt dann einen Aktualisierungswert ui, der eine Modulo-2-Summe des aktualisierten Pseudozufallswertes tui und des dritten Pseudozufallswertes t3i aufweist: ui ← PRF(k2'i, Uid) ⊕ PRF(k2i, Uid)
  • In Schritt (b) sendet der Berechtigungsprüfungsserver den Aktualisierungswert ui für jede Uid an den AC-Server 2. In Schritt (c) aktualisiert der AC-Server 2 den für jede Uid gespeicherten ersten verschlüsselten Text tpwd, indem eine Modulo-2-Summe des ersten verschlüsselten Textes tpwd und des Aktualisierungswertes ui erzeugt wird. Der neue erste verschlüsselte Text ist somit gegeben durch: t'pwd = tpwd ⊕ ui.
  • (Wenn alle Serverschlüssel aktualisiert sind, ist der neue erste verschlüsselte Text daher gegeben durch t'pwd = tpwd ⊕ u1 ⊕ u2 ... ⊕ un). Der neue verschlüsselte Text ist dann eine Modulo-2-Summe der Werte: t'pwd ← PRF(k1i, tin) ⊕ PRF(k2'i, Uid), wie erforderlich. Die alte Zufallsfunktion PRF(k2i, Uid) wird aufgrund der Modulo-2-Addition aufgehoben, wodurch das verlorene k2i nutzlos wird. Der neue erste verschlüsselte Text wird dann durch den AC-Server für die Benutzer-ID gespeichert.
  • Eine zweite Ausführungsform des Berechtigungsprüfungssystems 1, die zum Realisieren eines zweiten Passwortberechtigungsprüfungs-Protokolls gestaltet ist, wird nun detailliert unter Bezugnahme auf 8 bis 12 beschrieben. Das zweite Passwortberechtigungsprüfungs-Protokoll beruht auf einem homomorphen Schwellenwertverschlüsselungsschema. 8 veranschaulicht eine anfängliche Konfiguration der Systemserver in dieser Ausführungsform. Der AC-Server 2 speichert einen öffentlichen Schlüssel tpk eines kryptographischen (öffentlich/geheim) Schlüsselpaares. Die durch die Berechtigungsprüfungsserver Si gespeicherten geheimen Werte v; weisen jeweilige Schlüsselanteile tski des geheimen Schlüssels dieses Schlüsselpaares auf. Das System arbeitet wie zuvor mit sicherer Datenübertragung zwischen den Servern 2, 6.
  • Einrichtungsprotokoll Ausführungsform Nr. 2
  • 9 gibt Schritte des Einrichtungsprotokolls an, um in dieser Ausführungsform ein Benutzerkonto zu erstellen. Die Operation beginnt in Schritt (a) mit einer Eingabe einer Benutzer-ID Uid und eines Benutzerpassworts pwd in den AC-Server 2. In Schritt (b) erzeugt der AC-Server einen ersten verschlüsselten Text CT1 unter Verwendung eines homomorphen Schwellenwertverschlüsselungsalgorithmus TEnctpk zum Verschlüsseln des Passwortes pwd unter dem öffentlichen Schlüssel tpk. Der Schwellenwertverschlüsselungsalgorithmus TEnctpk erfordert p < n Entschlüsselungsanteile zur Entschlüsselung, wie nachstehend detaillierter erklärt. Der erste verschlüsselte Text CT1, der in dieser Ausführungsform mit Cpwd bezeichnet ist, ist gegeben durch: Cpwd = TEnctpk (pwd).
  • Der Verschlüsselungsalgorithmus TEnc ist homomorph, und zwar gibt es eine effiziente Operation ⊙ an verschlüsselten Texten C derart, dass im Falle, dass C1 ∊∈ TEnctpk(m1) und C2 ∈∊ TEnctpk(m2), dann gilt C1 ⊙ C2 ∈∊ TEnctpk(m1, m2). (Es werden auch Exponenten verwendet, um die wiederholte Anwendung von ⊙ anzugeben, z. B. C2 zum Angeben von C ⊙ C). Der AC-Server speichert den ersten verschlüsselten Text Cpwd für die Benutzer-ID Uid und sendet in Schritt (c) Cpwd mit Uid an die n Berechtigungsprüfungsserver S1 bis Sn. Jeder Berechtigungsprüfungsserver Si speichert in diesem Beispiel Uid zusammen mit Cpwd und einem Konto-gesperrt-Bit b (anfänglich auf b = 0 gesetzt) für einen Regulierungsmechanismus wie vorstehend erläutert.
  • Passwortberechtigungsprüfungs-Protokoll Ausführungsform Nr. 2
  • Bei einer nachfolgenden Anmeldung für das Benutzerkonto tauscht der AC-Server 2 mit k = p Berechtigungsprüfungsservern 6 Daten aus, um das Passwortberechtigungsprüfungs-Protokoll zu realisieren. Zuerst wird eine einfache Realisierung dieses Protokolls unter Bezugnahme auf die 10a und 10b beschrieben. Diese geben aufeinanderfolgende Stufen im Betrieb des Passwortberechtigungsprüfungs-Protokolls an. Die Prozedur beginnt, wie in (a) in 10a angegeben, bei Lieferung der Benutzer-ID Uid und des Eingabepasswortes pwd' an den AC-Server 2. Wenn im Speicher 9 ein Benutzerdatensatz für Uid vorhanden ist, erzeugt der AC-Server in Schritt (b) den zweiten verschlüsselten Text CT2 = Cpwd' aus dem Eingabepasswort unter Verwendung des homomorphen Verschlüsselungsalgorithmus. In diesem anfänglichen Beispiel ist der zweite verschlüsselte Text, der mit Cpwd' bezeichnet ist, gegeben durch: Cpwd' = TEnctpk (pwd').
  • In Schritt (c) erzeugt der AC-Server dann einen Testwert Ctest, indem über die Operation ⊙ der zweite verschlüsselte Text Cpwd' und der erste verschlüsselte Text Cpwd, der für die empfangene Uid gespeichert ist, kombiniert werden. In diesem anfänglichen Beispiel steht die Operation ⊙ für eine Division, wobei: Ctest = Cpwd/Cpwd'.
  • Aufgrund des Homomorphismus des Verschlüsselungsalgorithmus, wie vorstehend erklärt, entschlüsselt sich der Testwert zu einem vorbestimmten Wert von Eins, wenn das Eingabepasswort pwd' gleich dem Benutzerpasswort pwd ist, das dem empfangenen Uid zugehörig ist Als Nächstes sendet der AC-Server in Schritt (d) den Testwert Ctest mit Uid an k = p Berechtigungsprüfungsserver 6. Die p Berechtigungsprüfungsserver können hier in jeder zweckdienlichen Weise ausgewählt werden, z. B. als die ersten p antwortenden Server, oder um unter den n Berechtigungsprüfungsservern 6 ein Lastausgleichschema zu realisieren.
  • In der nächsten Stufe dieses Berechtigungsprüfungsprotokolls prüft jeder Berechtigungsprüfungsserver Si, wie in Schritt (e) in 6b angegeben, durch den durch die Serverlogik wie vorstehend erläutert realisierten Regulierungsmechanismus, ob das Benutzerkonto gesperrt wurde (b = 1 für Uid). Wenn das Benutzerkonto bei irgendeinem Berechtigungsprüfungsserver 6 gesperrt ist, schlägt die Anmeldeoperation fehl. Wenn keiner der p Server das Benutzerkonto gesperrt hat, kann die Anmeldeoperation fortfahren. In diesem Fall verwendet jeder Berechtigungsprüfungsserver Si, wie in Schritt (f) angegeben, seinen jeweiligen Schlüsselanteil tski, um einen Entschlüsselungsanteil di abhängig vom Testwert Ctest zu erzeugen. In diesem einfachen Beispiel entschlüsselt der Server einfach Ctest unter Verwendung seines Schlüsselanteils tski und sendet in Schritt (g) den sich ergebenden Entschlüsselungsanteil di für Uid an den AC-Server. In Schritt (h) ermittelt der Zugriffssteuerungsserver, ob das Eingabepasswort gleich dem Benutzerpasswort ist, indem aus den k Entschlüsselungsanteilen d1 ... dk ermittelt wird, ob sich der Testwert zu Eins entschlüsselt, d. h. ob: TDec(Ctest, d1 ... dk) = 1; wobei TDec der Verschlüsselungsalgorithmus für das Schwellenwertverschlüsselungsschema ist, wie nachstehend weiter erläutert wird. Falls dem so ist, wird der Zugriff gestattet. Falls pwd' ≠ pwd, wird es sich bei dem Entschlüsselungsergebnis um eine Zufallszahl handeln, und der Zugriff wird verweigert.
  • Eine detailliertere Realisierung des zweiten Passwortberechtigungsprüfungs-Protokolls wird nun unter Bezugnahme auf 11a bis 11c beschrieben. Dieses Beispiel beinhaltet verschiedene Verbesserungen gegenüber dem vorstehenden einfachen Beispiel und erlaubt es der Regulierung, zu berücksichtigten, ob frühere Anmeldeversuche erfolgreich waren. Zuerst wird eine kurze Beschreibung des Schwellenwertbeschreibungsschemas gegeben, um zum Verständnis des folgenden Protokolls beizutragen.
  • Schwellenwertverschlüsselung: Ein Schwellenwertverschlusselungsschema besteht aus vier Algorithmen (EKGen; TEnc; PDec; TDec). Der Schlüsselgenerierungsalgorithmus EKGen nimmt die Eingabe (1λ, t, n), wobei t das Maximum tolerierter schädlicher Server bezeichnet, und gibt einen öffentlichen Hauptschlüssel tpk und n partielle Schlüssel(Schlüsselanteil)-Paare (tpk1, tsk1), ..., (tpkn, tskn) aus. Der Verschlüsselungsalgorithmus TEnc gibt auf Eingang des öffentlichen Schlüssels tpk und einer Nachricht m hin einen verschlüsselten Text C aus. Der partielle Entschlüsselungsalgorithmus PDec gibt auf Eingang eines geheimen Schlüsselanteils tski, eines öffentlichen Schlüsselfanteils tpki und eines verschlüsselten Textes C hin einen Entschlüsselungsanteil di aus. Der Schwellenwertentschlüsselungsalgorithmus TDec gibt auf Eingang von C, tpk und k t + 1 Entschlüsselungsanteilen d1 ... dk hin einen Klartext m oder ⊥ (Fehler) aus. Verschiedene solcher Schwellenwertverschlüsselungsschemata sind bekannt, wobei ein beispielhafter Aufbau in Y. Desmedt, Y. Frankel beschrieben ist: „Threshold Cryptosystems”, Desmedt & Y. Frankel, CRYPTO 1989.
  • Vor dem vorstehend beschriebenen Einrichtungsprotokoll erstellt der AC-Server 2 Schwellenwertschlüssel für alle n Berechtigungsprüfungsserver 6. Das heißt, er erstellt Schlüssel (tpk, (tpk1, tsk1), ..., (tpkn, tskn)) ← EKGen(1λ, t, n).
  • Die geheimen Schlüsselanteile tski werden dann verschlüsselt an jeden Server Si gesendet. Der öffentliche Hauptschlüssel tpk und die öffentlichen Schlüsselanteile tpki sind im System öffentlich bekannt. Zudem erstellt jeder Berechtigungsprüfungsserver 6 auch einen Schlüssel ki für ein Nachrichtenberechtigungsprüfungsschema (message authentication scheme (MAC)), das im Entsperrtest für einen reguliertes Konto verwendet wird, wie nachstehend erläutert.
  • Das Einrichtungsprotokoll für Benutzerkonten ist wie unter Bezugnahme auf 9 beschrieben gestaltet. Im Passwortberechtigungsprüfungs-Protokoll tauscht der AC-Server 2 mit p = t + 1 Berechtigungsprüfungsservern 6 Daten aus, wobei t dergestalt ist, wie durch das vorstehende Schwellenwertverschlüsselungsschema definiert.
  • Das Passwortberechtigungsprüfungs-Protokoll ist in 11a bis 11c hinsichtlich einer Interaktion zwischen dem AC-Server 2, dessen Operationen links in den Figuren angegeben sind, und jedem Berechtigungsprüfungsserver 6, dessen Operationen rechts angegeben sind, beschrieben.
  • Die Operation beginnt in Schritt (a) in 11a, wenn der Benutzer Uid und das Eingabepasswort pwd' an den AC-Server 2 sendet. Wenn ein Benutzerdatensatz für Uid vorhanden ist, fährt der AC-Server fort, indem der zweite verschlüsselte Text CT2 = Cpwd' aus dem Eingabepasswort unter Verwendung des homomorphen Verschlüsselungsalgorithmus berechnet wird. In diesem Beispiel wird der zweite verschlüsselte Text Cpwd' erzeugt, indem der homomorphe Verschlüsselungsalgorithmus auf eine Funktion F des Eingabepasswortes angewandt wird, wobei F(x) = 1/x. Somit gilt: Cpwd' = TEnctpk (1/pwd').
  • Dies stellt sicher, dass ein schädlicher AC-Server nicht einfach den ersten verschlüsselten Text Cpwd erneut als den zweiten verschlüsselten Text Cpwd' im Berechtigungsprüfungsprotokoll verwenden kann. Dann wird der Testwert Ctest erzeugt, indem Cpwd' und Cpwd über die Operation ⊙ kombiniert werden, wobei in diesem Fall ⊙ für eine Multiplikation steht: Ctest = Cpwd ⊙ Cpwd' = Cpwd ⊙ TEnctpk (1/pwd').
  • Aufgrund des Homomorphismus des Verschlüsselungsalgorithmus, wie vorstehend erklärt, entschlüsselt sich der Testwert erneut zu Eins, wenn pwd' = pwd. Als Nächstes generiert der AC-Server 2 in Schritt (c) einen kryptographischen Nachweis n zum Nachweisen, dass Ctest den zweiten verschlüsselten Text Cpwd' sowie den ersten verschlüsselten Text Cpwd für die Benutzer-ID aufweist: NIZK{(pwd'): Ctest = (Cpwd ⊙ TEnctpk(1/pwd'))}(Ctest).
  • (Hier bedeutet „NIZK” gleich „nicht interaktiv kenntnisfrei” (non-interactive zeroknowledge), wobei „kenntnisfrei” angibt, dass der Nachweiser nicht mehr enthüllt als zum Nachweisen erforderlich ist, und „nicht interaktiv” bedeutet, dass eine Überprüfung des Nachweises keine Interaktion zwischen dem Nachweiser und dem Überprüfer erfordert. Solche Nachweise können auf bekannte Weise realisiert werden, und geeignete Protokolle zum Realisieren des Nachweises sind für den Fachmann ersichtlich). Insbesondere erlaubt der Nachweis n eine Überprüfung, dass der Testwert Ctest den korrekten ersten verschlüsselten Text Cpwd für Uid und einen zweiten verschlüsselten Text Cpwd' aufweist, der korrekt aus der Funktion F eines Eingabepasswortes berechnet ist. In Schritt (d) sendet der AC-Server dann die Benutzer-ID und den Nachweis n mit dem Testwert Ctest an die k = t + 1 Berechtigungsprüfungsserver 6.
  • Unter Bezugnahme auf 11b empfängt jeder Berechtigungsprüfungsserver Si in Schritt (e) (Uid, n, Ctest) und prüft dann in Schritt (f), dass das Konto für Uid nicht gesperrt ist, d. h. dass b = 0. In Schritt (g) überprüft der Server Si den Nachweis n, um zu prüfen, dass (Uid, n, Ctest) in Hinblick auf seine lokal gespeicherten Werte (Uid, Cpwd) korrekt ist. Wenn entweder Testschritt (f) oder (g) fehlschlägt, schlägt die Benutzeranmeldung fehl (dem Betrieb des vorstehend erläuterten Entsperrprotokolls unterliegend). Unter der Annahme, dass beide Tests bestanden werden, fährt der Server Si dann in Schritt (h) fort, einen randomisierten Wert Ci zu berechnen, der den Testwert in einer Potenz eines entsprechenden Zufallsexponenten ri aufweist:
    Figure DE112015000213T5_0002
    für ein zufällig gewähltes ri. Jeder Server speichert dann Ci und übernimmt diesen Wert in Schritt (i) durch Senden eines Hashwerts hi an den AC-Server, wobei: hi ← H(Ci, Uid) und H eine kryptographische Hashfunktion bezeichnet. Wenn der AC-Server alle k = t + 1 Hashwerte empfangen hat, leitet er sie in Schritt (j) als (h1, h2, ..., ht+1) an alle Server S1 bis Sk weiter. Die k Server enthüllen nun ihre randomisierten Werte Ci, indem sie sie in Schritt (k) an den AC-Server senden. Wenn der AC-Server alle k = t + 1 randomisierten Werte Ci empfangen hat, leitet er sie in Schritt (l) als (C1, C2, ..., Ct+1) an alle Server S1 bis Sk weiter.
  • Unter Bezugnahme auf 11c empfängt jeder Berechtigungsprüfungsserver Si in Schritt (m) (C1, C2, ..., Ct+1) und prüft in Schritt (n), ob hi = N(Ci, Uid). Falls dem so ist, kombiniert der Server Si in Schritt (o) den Satz von k = t + 1 randomisierten Werten Ci über die Operation ⊙ (hier Multiplikation), um einen randomisierten verschlüsselten Text CR zu erzeugen, und verwendet seinen jeweiligen Schlüsselanteil tski, um einen Entschlüsselungsanteil di aus dem randomisierten verschlüsselten Text CR zu erzeugen: CR ← ⊙i=1, ... t+1Ci di ← PDectski(tpki, CR)
  • Der Server Si sendet in Schritt (p) unter Verwendung seines Schlüssels ki für das Nachrichtenberechtigungsprüfungsschema (di, si) an den AC-Server 2, wobei si = MACki (Uid, CR). Wenn der AC-Server die Entschlüsselungsanteile und MACs (di, si) von allen k = t + 1 Servern empfangen hat, verwendet er den Schwellenwertentschlüsselungsalgorithmus TDec, um aus den Entschlüsselungsanteilen zu ermitteln, ob sich der randomisierte verschlüsselte Text CR zu Eins entschlüsselt und somit pwd' = pwd. Dies folgt, weil ein randomisierter Wert Ci = 1, wenn der Testwert Ctest = 1, wobei sich aufgrund des Homomorphismus der randomisierte verschlüsselte Text CR zum selben Wert wie der Testwert entschlüsselt, d. h. Eins, wenn pwd' = pwd. Somit berechnet der AC-Server 2 in Schritt (q): CR ← ⊙i=1, ... t+1Ci und x ← TDectpk(CR, {di}i=1, ... t+1).
  • Wenn x = 1, stimmen die Passwörter überein, und der Zugriff wird gewährt, andernfalls schlägt die Anmeldung fehl.
  • Im vorstehenden Prozess behält der AC-Server alle Entschlüsselungsanteile und MAC-Werte (di, si) für eine bestimmte Zeitdauer, um einen nachfolgenden Nachweis für einen Berechtigungsprüfungsserver zu gestatten, dass die Anmeldung erfolgreich war. Insbesondere erlauben es die Schritte (h) bis (p) im vorstehenden Protokoll einem Berechtigungsprüfungsserver, die Korrektheit eines Eingabepasswortes im letzten Anmeldeversuch zu prüfen, bevor ein Benutzerkonto gesperrt wird. Vor dem Sperren eines Kontos aufgrund des Regulierungsmechanismus in einer nachfolgenden Anmeldung für die Uid tauscht ein Berechtigungsprüfungsserver mit dem Zugriffssteuerungsserver Daten aus, um ein „Entsperrprotokoll” zu realisieren. Dieses Entsperrprotokoll wird nun unter Bezugnahme auf 12 beschrieben.
  • Entsperrprotokoll
  • Die durch den AC-Server 2 und den Berechtigungsprüfungsserver 6 im Entsperrprotokoll durchgeführten Schritte sind jeweils links und rechts in 12 angegeben. Wenn ein Server Si zu viele Anmeldeversuche festgestellt hat und davor steht, das Benutzerkonto für Uid zu sperren, sendet der Server eine Nachweisanforderung an den AC-Server, die einen Nachweis anfordert, dass der letzte Anmeldeversuch erfolgreich war, d. h. dass sich der randomisierte verschlüsselte Text CR zu Eins entschlüsselt hat. Wenn bei Senden solch einer Anforderung in Schritt (a) von 12 der letzte Anmeldeversuch erfolgreich war, ruft der AC-Server die Werte (Uid, CR, si, {di}i=1, ... t+1) ab und sendet diese Werte in Schritt (b) an den Berechtigungsprüfungsserver. Wenn der letzte Anmeldeversuch nicht erfolgreich war, sendet der AC-Server stattdessen Werte (Uid, Fehlschlag). In Schritt (c) überprüft der Server Si, ob si = MACki (Uid, CR) und TDectpk(CR,{di}i=1, ... t+1) = 1. Nur wenn beide Tests erfolgreich sind, hält der Server das Konto für Uid offen. Das Kontogesperrt-Bit b wird somit in Schritt (d) entsprechend gesetzt, und das Protokoll ist abgeschlossen.
  • Es wird ersichtlich sein, dass es das vorstehende System erlaubt, dass das Regulieren auf einer Passwortprüfung sowie auf einer Anmeldehäufigkeit beruht. Zudem sind die n Berechtigungsprüfungsserver dieser Ausführungsform ferner so gestaltet, dass sie ein Anteilerneuerungsprotokoll zum Aktualisieren der n Schlüsselanteile tski realisieren. Dies kann in bekannter Weise unter Verwendung proaktiver Geheimnisteilungstechniken (secret sharing techniques) realisiert werden, wovon ein Beispiel in „Proactive Secret Sharing Or: How to Cope With Perpetual Leakage”, Herzberg et al., CRYPTO 1995, beschrieben ist. Unter Verwendung solcher Techniken werden die Server 6 ein Anteilerneuerungsprotokoll für ihre geheimen Schlüsselanteile periodisch und/oder immer durchführen, wenn ein Gegenüber möglicherweise von einer geheimen Schlüsselfreigabe erfahren hat. Die alten Anteile werden nach jeder Erneuerung gelöscht. Die proaktive Sicherheit stellt dadurch sicher, dass einerseits die neuen geheimen Schlüsselanteile tski noch mit dem öffentliche Hauptschlüssel tpk „kompatibel” sind, während sie andererseits mit den alten Geheimnisanteilen, die das Gegenüber erlangt haben kann, „inkompatibel” sind.
  • Solange in der vorstehenden Ausführungsform höchstens t Server (und der DS) korrumpiert sind, kann ein diese Server kontrollierendes Gegenüber die Passwörter nicht abrufen, indem zum Beispiel Offline-Angriffe gegen Cpwd in Stellung gebracht werden. Dies folgt aus der Sicherheit des Schwellenwertverschlüsselungsschemas, das garantiert, dass Cpwd nicht entschlüsselt werden kann, wenn das Gegenüber höchstens t Anteile des geheimen Schwellenwertschlüssels besitzt. Sicherheit gegen DS-Insider-Angriffe wird bereitgestellt, da die Server während des Anmeldeprotokolls nur einen Passwortquotienten (vom Wert Eins) und nicht das ursprüngliche Passwort pwd oder den Passwortversuch pwd' entschlüsseln. Somit kann ein schädlicher DS nicht einfach die Entschlüsselung der verschlüsselten Passwörter auslösen, sondern müsste ein vollständiges Anmeldeprotokoll für jeden Passwortrateversuch durchführen. Aufgrund des Regulierungsmechanismus in ehrlichen Servern wird solch ein Angriff erkannt und nach wenigen Versuchen blockiert. Dieses schwellenwertgestützte System toleriert sogar langfristige Korrumpierungen von bis zu t Servern, wobei die Server zu einer anderen Vertrauensdomäne ausgelagert werden könnten. Die Anmeldung ist besonders effizient, da für die Passwortberechtigungsprüfung nur t + 1 der n Berechtigungsprüfungsserver erforderlich sind. Wie zuvor ist der Betrieb des Systems für Benutzer völlig transparent, die in allen Protokollen nur mit dem AC-Server 2 kommunizieren müssen.
  • Obwohl beispielhafte Ausführungsformen beschrieben wurden, sind viele Alternativen und Modifikationen denkbar. Zum Beispiel kann in anderen Realisierungen der vorstehenden ersten Ausführungsform der Schlüssel k1i in der vorstehenden Formel für t2i durch PRF(k1i, Uid) ersetzt werden. Da zudem die Systemsicherheit nicht von diesem bestimmten Wert abhängt, könnte der Schlüssel k1i durch irgendeine eindeutige Server-ID ersetzt werden und muss kein kryptographisch starkes Geheimnis sein. Zudem könnte das Schwellenwertverschlüsselungsschema in der zweiten Ausführungsform t + 1 = n Anteile für die Entschlüsselung erfordern, falls gewünscht, wodurch alle n Server 6 für die Passwortberechtigungsprüfung verwendet werden würden.
  • Es wird ersichtlich sein, dass die durch den Zugriffssteuerungsserver 2 geschützte Ressource im Allgemeinen jede Ressource beinhalten kann, zu welcher der Benutzerzugriff eingeschränkt ist, z. B. eine Anwendung, ein Dienst, Daten, eine Einheit, ein Netzwerk oder irgendeine andere Einrichtung oder Kombination von Einrichtungen. Zudem könnte die Funktionalität von Servern in den vorstehenden Ausführungsformen im Allgemeinen in einer einzigen Maschine oder über eine Mehrzahl von Maschinen verteilt realisiert werden. Es könnten auch Ausführungsformen denkbar sein, in denen die durch ein vorstehendes Einrichtungsprotokoll generierten Benutzerkontendaten in den verschiedenen Servern vorgeladen sind.
  • Viele weitere Änderungen und Modifikationen können an den beschriebenen beispielhaften Ausführungsformen vorgenommen werden, ohne vom Umfang der Erfindung abzuweichen.
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt handeln. Das Computerprogrammprodukt kann ein computerlesbares Datenspeichermedium (oder -medien) mit darauf befindlichen computerlesbaren Programmanweisungen beinhalten, um einen Prozessor zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Bei dem computerlesbaren Datenspeichermedium kann es sich um eine gegenständliche Einheit handeln, die Anweisungen zur Verwendung durch eine Einheit zum Ausführen von Anweisungen festhalten und speichern kann. Bei dem computerlesbaren Datenspeichermedium kann es sich zum Beispiel, ohne auf diese beschränkt zu sein, um eine elektronische Datenspeichereinheit, eine magnetische Datenspeichereinheit, eine optische Datenspeichereinheit, eine elektromagnetische Datenspeichereinheit, eine Halbleiterdatenspeichereinheit (semiconductor storage device) oder eine beliebige geeignete Kombination des Vorhergehenden handeln. Eine nicht abschließende Liste von spezifischeren Beispielen des computerlesbaren Datenspeichermediums beinhaltet das Folgende: eine transportable Computerdiskette, eine Festplatte, einen Speicher mit wahlfreiem Zugriff (random access memory (RAM)), einen Nur-Lese-Speicher (ROM), einen löschbaren programmierbaren Nur-Lese-Speicher (erasable programmable read-only memory (EPROM) oder Flash-Speicher), einen statischen Speicher mit wahlfreiem Zugriff (static random access memory (SRAM)), einen transportablen Compact-Disc-Nur-Lese-Speicher (portable compact disc read-only memory (CD-ROM)), eine „Digital Versatile Disk” (DVD), einen Speicherstick, eine Floppydiskette, eine mechanisch codierte Einheit, wie beispielsweise Lochkarten oder erhabene Strukturen in einer Rille mit darauf festgehaltenen Anweisungen, und jede geeignete Kombination des Vorhergehenden. Ein computerlesbares Datenspeichermedium, wie es hierin verwendet wird, ist nicht als flüchtige Signale per se aufzufassen, wie beispielsweise Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, sich durch einen Wellenleiter oder eine anderes Übertragungsmedium ausbreitende elektromagnetische Wellen (z. B. Lichtimpulse, die durch ein Lichtwellenleiterkabel laufen) oder durch einen Draht übertragene elektrische Signale.
  • Hierin beschriebene computerlesbare Programmanweisungen können von einem computerlesbaren Datenspeichermedium auf entsprechende Rechen-/Verarbeitungseinheiten oder über ein Netzwerk, zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetzwerk und/oder ein kabelloses Netzwerk, auf einen externen Computer oder eine externe Datenspeichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, kabellose Übertragung, Router, Firewalls, Switches, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder eine Netzwerkschnittstelle in jeder Rechen-/Verarbeitungseinheit empfängt computerlesbare Programmanweisungen vom Netzwerk und leitet die computerlesbaren Programmanweisungen zur Speicherung in einem computerlesbaren Datenspeichermedium innerhalb der entsprechenden Rechen-/Verarbeitungseinheit weiter.
  • Bei computerlesbaren Programmanweisungen zum Ausführen von Operationen der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, „Instruction-set-Architecture”(ISA)-Anweisungen, Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmwareanweisungen, Zustandseinstellungsdaten oder jeden Quellcode oder Objektcode handeln, der in irgendeiner Kombination aus einer oder mehreren Programmiersprachen geschrieben ist, einschließlich einer objektorientierten Programmiersprache, wie beispielsweise Smalltalk, C++ oder Ähnliches, und herkömmlicher prozeduraler Programmiersprachen, wie beispielsweise die Programmiersprache „C” oder ähnliche Programmiersprachen. Die computerlesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als ein eigenständiges Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. In letzterem Szenario kann der entfernt angeordnete Computer mit dem Computer des Benutzers über jede beliebige Art von Netzwerk, einschließlich ein Lokalbereichsnetzwerk (local area network (LAN)) oder ein Weitverkehrsnetzwerk (wide area network (WAN)), verbunden sein, oder die Verbindung kann zu einem externen Computer (zum Beispiel mittels eines Internetdienstanbieters durch das Internet) hergestellt werden. In manchen Ausführungsformen können elektronische Schaltungen einschließlich zum Beispiel programmierbare Logikschaltungen, feldprogrammierbare Gatteranordnungen (fieldprogrammable gate arrays (FPGA)), oder programmierbare Logikanordnungen (programmable logic arrays (PLA)) die computerlesbaren Programmanweisungen ausführen, indem Zustandsinformationen der computerlesbaren Programmanweisungen verwendet werden, um die elektronische Schaltung zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
  • Aspekte der vorliegenden Erfindung werden hierin unter Bezugnahme auf Darstellungen von Ablaufplänen und/oder Blockschaubildern von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es versteht sich, dass jeder Block der Darstellungen von Ablaufplänen und/oder der Blockschaubilder sowie Kombinationen von Blöcken in den Darstellungen von Ablaufplänen und/oder den Blockschaubildern durch computerlesbare Programmanweisungen realisiert werden können.
  • Diese computerlesbaren Programmanweisungen können einem Prozessor eines universellen Computers, eines zweckbestimmten Computers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine so zu erzeugen, dass die Anweisungen, die über den Prozessor des Computers oder der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, ein Mittel zum Realisieren der im Block oder in den Blöcken des Ablaufplans und/oder Blockschaubildes angegebenen Funktionen/Handlungen erzeugen. Diese computerlesbaren Programmanweisungen können auch in einem computerlesbaren Datenspeichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten anleiten kann, auf eine bestimmte Weise zu funktionieren, sodass das computerlesbare Datenspeichermedium mit darin gespeicherten Anweisungen ein Herstellungsprodukt einschließlich Anweisungen aufweist, welche Aspekte der im Block oder in den Blöcken des Ablaufplans und/oder des Blockschaubildes angegebene Funktion/Handlung realisieren.
  • Die computerlesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um eine Reihe von auf dem Computer, der anderen programmierbaren Vorrichtung oder der anderen Einheit durchzuführenden Operationsschritten hervorzurufen, um einen computerrealisierten Prozess so zu erzeugen, dass die auf dem Computer, der anderen programmierbaren Vorrichtung oder der anderen Einheit ausgeführten Anweisungen die im Block oder in den Blöcken des Ablaufplans und/oder des Blockschaubildes angegebenen Funktionen/Handlungen realisieren.
  • Die Ablaufplan- und Blockschaubilder in den Figuren veranschaulichen die Architektur, Funktionalität und die Arbeitsweise möglicher Realisierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In dieser Hinsicht kann jeder Block in den Ablaufplan oder Blockschaubildern für ein Modul, ein Segment oder einen Abschnitt von Anweisungen stehen, das oder der eine oder mehrere ausführbare Anweisungen zum Realisieren der angegebenen logischen Funktion oder Funktionen aufweist. In manchen alternativen Realisierungen können die im Block festgehaltenen Funktionen in einer anderen als der in den Figuren festgehaltenen Reihenfolge auftreten. Zum Beispiel können zwei aufeinander folgend gezeigte Blöcke tatsächlich im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal abhängig von der betreffenden Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es wird ebenfalls angemerkt, dass jeder Block der Blockschaubilder und/oder Darstellungen von Ablaufplänen und Kombinationen von Blöcken in den Blockschaubildern und/oder den Darstellungen von Ablaufplänen durch zweckbestimmte hardwaregestützte Systeme realisiert werden kann, welche die angegebenen Funktionen oder Handlungen durchführen oder Kombinationen aus zweckbestimmter Hardware und Computeranweisungen ausführen.

Claims (31)

  1. System, aufweisend: einen Zugriffssteuerungsserver zum Datenaustausch mit Benutzercomputern über ein Netzwerk und Steuern eines Zugriffs durch die Benutzercomputer auf eine Ressource in Abhängigkeit von einer Berechtigungsprüfung von Benutzerpasswörtern, die jeweiligen Benutzer-IDS zugehörig sind; und eine Mehrzahl n von Berechtigungsprüfungsservern, die jeweilige geheime Werte speichern, zum Datenaustausch mit dem Zugriffssteuerungsserver über das Netzwerk; wobei der Zugriffssteuerungsserver für jede Benutzer-ID einen ersten verschlüsselten Text speichert, der erzeugt wird, indem das dieser ID zugehörige Benutzerpasswort unter Verwendung eines vorbestimmten Algorithmus abhängig von den geheimen Werten verschlüsselt wird; und wobei der Zugriffssteuerungsserver und die Berechtigungsprüfungsserver so gestaltet sind, dass als Reaktion auf einen Empfang einer solchen Benutzer-ID und eines Eingabepasswortes von dem Benutzercomputer der Zugriffssteuerungsserver mit einer Mehrzahl k ≤ n der Berechtigungsprüfungsserver Daten austauscht, um ein Passwortberechtigungsprüfungs-Protokoll zu realisieren, das die Verwendung ihrer jeweiligen geheimen Werte durch die k Berechtigungsprüfungsserver erfordert, wobei ein zweiter verschlüsselter Text erzeugt wird, indem des Eingabepasswort unter Verwendung des vorbestimmten Algorithmus verschlüsselt wird und der Zugriffssteuerungsserver den ersten und zweiten verschlüsselten Text verwendet, um zu ermitteln, ob das Eingabepasswort gleich dem Benutzerpasswort für die empfangene Benutzer-ID ist, falls ja, Gestatten des Zugriffs auf die Ressource durch den Benutzercomputer.
  2. System nach Anspruch 1, wobei der Zugriffssteuerungsserver und die Berechtigungsprüfungsserver ferner so gestaltet sind, dass als Reaktion auf eine anfängliche Eingabe eines solchen Benutzerpassworts und der zugehörigen Benutzer-ID in einer Einrichtungsoperation der Zugriffssteuerungsserver mit den n Berechtigungsprüfungsservern Daten austauscht, um ein Passworteinrichtungsprotokoll zu realisieren, das eine Generierung des ersten verschlüsselten Textes für diese Benutzer-ID und eine Speicherung des ersten verschlüsselten Textes beim Zugriffssteuerungsserver aufweist, um eine nachfolgende Realisierung des Überprüfungsprotokolls für diese Benutzer-ID zu gestatten.
  3. System nach Anspruch 1 oder Anspruch 2, wobei: der erste verschlüsselte Text n erste Pseudozufallswerte aufweist, von denen jeder über eine Pseudozufallsfunktion den geheimen Wert eines jeweiligen Berechtigungsprüfungsservers und einen anfänglichen Pseudozufallswert verschlüsselt; der anfängliche Pseudozufallswert über die Pseudozufallsfunktion das Benutzerpasswort für eine Benutzer-ID verschlüsselt; und der Zugriffssteuerungsserver mit k = n Berechtigungsprüfungsservern Daten austauscht, um das Passwortberechtigungsprüfungs-Protokoll zu realisieren.
  4. System nach Anspruch 3, wobei der Zugriffssteuerungsserver einen weiteren geheimen Wert speichert und wobei der anfängliche Pseudozufallswert zudem den weiteren geheimen Wert über die Pseudozufallsfunktion verschlüsselt.
  5. System nach Anspruch 3 oder Anspruch 4, wobei der anfängliche Pseudozufallswert zudem über die Pseudozufallsfunktion die Benutzer-ID verschlüsselt, die dem darin verschlüsselten Benutzerpasswort zugehörig ist.
  6. System nach einem der Ansprüche 3 bis 5, wobei zum Realisieren des Passwortberechtigungsprüfungs-Protokolls: der Zugriffssteuerungsserver das Eingabepasswort verwendet, um einen Test-Pseudozufallswert zu erzeugen, der einem solchen anfänglichen Pseudozufallswert entspricht, und den Test-Pseudozufallswert an jeden Berechtigungsprüfungsserver sendet; jeder Berechtigungsprüfungsserver den Test-Pseudozufallswert verwendet, um einen jeweiligen Server-Pseudozufallswert zu erzeugen, der dem ersten Pseudozufallswert entspricht, und den Server-Pseudozufallswert an den Zugriffssteuerungsserver sendet; und der Zugriffssteuerungsserver aus den n Server-Pseudozufallswerten den zweiten verschlüsselten Text erzeugt und den ersten und zweiten verschlüsselten Text vergleicht, um zu ermitteln, ob das Eingabepasswort gleich dem Benutzerpasswort für die empfangene Benutzer-ID ist.
  7. System nach einem der Ansprüche 3 bis 6, wobei im Passwortberechtigungsprüfungs-Protokoll: der Zugriffssteuerungsserver die empfangene Benutzer-ID an jeden Berechtigungsprüfungsserver sendet; und jeder Berechtigungsprüfungsserver einen Regulierungsmechanismus für jede Benutzer-ID realisiert.
  8. System nach Anspruch 2 und einem der Ansprüche 3 bis 7, wobei zum Realisieren des Passworteinrichtungsprotokolls als Reaktion auf die anfängliche Eingabe: der Zugriffssteuerungsserver den anfänglichen Pseudozufallswert erzeugt und den anfänglichen Pseudozufallswert an jeden Berechtigungsprüfungsserver sendet; jeder Berechtigungsprüfungsserver den anfänglichen Pseudozufallswert verwendet, um einen jeweiligen ersten Pseudozufallswert zu erzeugen, und den ersten Pseudozufallswert an den Zugriffssteuerungsserver sendet; und der Zugriffssteuerungsserver den ersten verschlüsselten Text aus den n ersten Pseudozufallswerten erzeugt.
  9. System nach einem der Ansprüche 3 bis 8, wobei der erste verschlüsselte Text eine Modulo-2-Summe der n ersten Pseudozufallswerte aufweist.
  10. System nach Anspruch 9, wobei: jeder erste Pseudozufallswert eine Modulo-2-Summe des zweiten und dritten Pseudozufallswertes aufweist; der zweite Pseudozufallswert den anfänglichen Pseudozufallswert über die Pseudozufallsfunktion verschlüsselt; und der dritte Pseudozufallswert über die Pseudozufallsfunktion den geheimen Wert des jeweiligen Berechtigungsprüfungsservers und die Benutzer-ID, die dem Benutzerpasswort zugehörig ist, das im anfänglichen Pseudozufallswert verschlüsselt ist, verschlüsselt.
  11. System nach Anspruch 10, wobei der zweite Pseudozufallswert zudem über die Pseudozufallsfunktion eine Server-ID für den jeweiligen Berechtigungsprüfungsserver verschlüsselt.
  12. System nach Anspruch 10 oder Anspruch 11, wobei der Zugriffssteuerungsserver und jeder Berechtigungsprüfungsserver ferner so gestaltet sind, dass sie ein Aktualisierungsprotokoll realisieren, wobei: der Berechtigungsprüfungsserver seinen jeweiligen geheimen Wert auf einen neuen geheimen Wert aktualisiert und den neuen geheimen Wert verwendet, um einen aktualisierten Pseudozufallswert zu erzeugen, der dem dritten Pseudozufallswert entspricht; der Berechtigungsprüfungsserver einen Aktualisierungswert erzeugt, der eine Modulo-2-Summe des aktualisierten Pseudozufallswertes und des dritten Pseudozufallswertes aufweist, und den Aktualisierungswert an den Zugriffssteuerungsserver sendet; und der Zugriffssteuerungsserver den ersten verschlüsselten Text aktualisiert, indem eine Modulo-2-Summe des ersten verschlüsselten Textes und des Aktualisierungswertes erzeugt werden.
  13. System nach Anspruch 1 oder Anspruch 2, wobei: der erste verschlüsselte Text unter Verwendung eines vorbestimmten homomorphen Verschlüsselungsalgorithmus zum Verschlüsseln des Benutzerpassworts unter einem öffentlichen Schlüssel eines kryptographischen Schlüsselpaares erzeugt wird; und die geheimen Werte der Berechtigungsprüfungsserver jeweilige Schlüsselanteile eines geheimen Schlüssels des Schlüsselpaares aufweisen.
  14. System nach Anspruch 13, wobei zum Realisieren des Passwortberechtigungsprüfungs-Protokolls als Reaktion auf den Empfang einer solchen Benutzer-ID und des Eingabepasswortes: der Zugriffssteuerungsserver den zweiten verschlüsselten Text aus dem Eingabepasswort unter Verwendung des homomorphen Verschlüsselungsalgorithmus erzeugt; der Zugriffssteuerungsserver einen Testwert erzeugt, indem über eine Operation ⊙ der zweite verschlüsselte Text und der erste verschlüsselte Text für die empfangene Benutzer-ID kombiniert werden, wobei die Operation ⊙ derart ist, dass sich aufgrund des Homomorphismus des Verschlüsselungsalgorithmus der Testwert zu einem vorbestimmten Wert entschlüsselt, wenn das Eingabepasswort gleich dem dieser Benutzer-ID zugehörigen Benutzerpasswort ist; der Zugriffssteuerungsserver den Testwert an die k Berechtigungsprüfungsserver sendet; jeder der k Berechtigungsprüfungsserver seinen jeweiligen Schlüsselanteil verwendet, um abhängig vom Testwert einen Entschlüsselungsanteil zu erzeugen, und den Entschlüsselungsanteil an den Zugriffssteuerungsserver sendet; und der Zugriffssteuerungsserver ermittelt, ob das Eingabepasswort gleich dem Benutzerpasswort ist, indem aus den k Entschlüsselungsanteilen ermittelt wird, ob sich der Testwert zu dem vorbestimmten Wert entschlüsselt.
  15. System nach Anspruch 14, wobei: der Verschlüsselungsalgorithmus einen Schwellenwertverschlüsselungsalgorithmus aufweist, der p < n Entschlüsselungsanteile für die Entschlüsselung erfordert; und der Zugriffssteuerungsserver im Passwortberechtigungsprüfungs-Protokoll den Testwert an k = p Berechtigungsprüfungsserver sendet.
  16. System nach Anspruch 14 oder Anspruch 15, wobei jeder Berechtigungsprüfungsserver den ersten verschlüsselten Text für jede Benutzer-ID speichert, und im Passwortberechtigungsprüfungs-Protokoll: der Zugriffssteuerungsserver die empfangene Benutzer-ID mit dem Testwert an die Berechtigungsprüfungsserver sendet; und jeder Berechtigungsprüfungsserver einen Regulierungsmechanismus für jede Benutzer-ID realisiert.
  17. System nach einem der Ansprüche 14 bis 16, wobei der Zugriffssteuerungsserver den zweiten verschlüsselten Text erzeugt, indem der homomorphe Verschlüsselungsalgorithmus auf eine Funktion F des Eingabepasswortes angewendet wird.
  18. System nach Anspruch 17, wobei jeder Berechtigungsprüfungsserver den ersten verschlüsselten Text für jede Benutzer-ID speichert, und im Passwortberechtigungsprüfungs-Protokoll: der Zugriffssteuerungsserver einen kryptographischen Nachweis zum Nachweisen generiert, dass der Testwert den zweiten verschlüsselten Text und den ersten verschlüsselten Text für die empfangene Benutzer-ID aufweist; der Zugriffssteuerungsserver die empfangene Benutzer-ID und den Nachweis mit dem Testwert an die k Berechtigungsprüfungsserver sendet; und jeder der k Berechtigungsprüfungsserver den Nachweis überprüft, bevor der Entschlüsselungsanteil erzeugt wird.
  19. System nach einem der Ansprüche 14 bis 18, wobei sich der Testwert zu Eins entschlüsselt, wenn das Eingabepasswort gleich dem Benutzerpasswort ist, das einer solchen Benutzer-ID zugehörig ist, und im Passwortberechtigungsprüfungs-Protokoll: jeder der k Berechtigungsprüfungsserver einen randomisierten Wert Ci erzeugt, der den Testwert in einer Potenz eines entsprechenden zufälligen Exponenten ri aufweist, und den randomisierten Wert Ci an den Zugriffssteuerungsserver sendet; der Zugriffssteuerungsserver den von jedem Berechtigungsprüfungsserver empfangenen randomisierten Wert Ci an jeden der (k – 1) anderen Berechtigungsprüfungsserver sendet; jeder Berechtigungsprüfungsserver den Satz von k randomisierten Werten Ci über die Operation ⊙ kombiniert, um einen randomisierten verschlüsselten Text CR zu erzeugen, und seinen jeweiligen Schlüsselanteil verwendet, um den Entschlüsselungsanteil aus dem randomisierten verschlüsselten Text CR zu erzeugen; und der Zugriffssteuerungsserver ermittelt, ob das Eingabepasswort gleich dem Benutzerpasswort ist, indem aus den k Entschlüsselungsanteilen ermittelt wird, ob sich der randomisierte verschlüsselte Text CR zu Eins entschlüsselt.
  20. System nach Anspruch 16 und Anspruch 19, wobei: der Zugriffssteuerungsserver die k Entschlüsselungsanteile speichert, die aus dem randomisierten verschlüsselten Text CR durch jeweilige Berechtigungsprüfungsserver im Passwortberechtigungsprüfungs-Protokoll für eine solche Benutzer-ID erzeugt wurden; und vor dem Sperren der Benutzer-ID aufgrund des Regulierungsmechanismus in einer nachfolgenden Realisierung des Passwortberechtigungsprüfungs-Protokolls für diese Benutzer-ID) ein solcher Berechtigungsprüfungsserver mit dem Zugriffssteuerungsserver Daten austauscht, um ein Entsperrprotokoll zu realisieren, wobei der Zugriffssteuerungsserver die k Entschlüsselungsanteile an diesen Berechtigungsprüfungsserver sendet und der Berechtigungsprüfungsserver aus den k Entschlüsselungsanteilen ermittelt, ob sich der randomisierte verschlüsselte Text CR zu Eins entschlüsselt.
  21. System nach Anspruch 2 und einem der Ansprüche 13 bis 20, wobei zum Realisieren des Passworteinrichtungsprotokolls als Reaktion auf die anfängliche Eingabe der Zugriffssteuerungsserver den ersten verschlüsselten Text aus dem Benutzerpasswort unter Verwendung des homomorphen Verschlüsselungsalgorithmus erzeugt.
  22. System nach Anspruch 21, wobei in dem Passworteinrichtungsprotokoll der Zugriffssteuerungsserver den ersten verschlüsselten Text mit der dem Benutzerpasswort zugehörigen Benutzer-ID an die n Berechtigungsprüfungsserver sendet.
  23. System nach einem der Ansprüche 13 bis 22, wobei die n Berechtigungsprüfungsserver ferner so gestaltet sind, dass sie ein Anteilerneuerungsprotokoll zum Aktualisieren der n Schlüsselanteile des geheimen Schlüssels realisieren.
  24. System im Wesentlichen wie hierin vorstehend unter Bezugnahme auf 4 bis 7 oder auf 8 bis 12 der begleitenden Zeichnungen beschrieben.
  25. Server, der einen Speicher, eine Datenübertragungsschnittstelle und eine Steuerungslogik aufweist, die so gestaltet sind, dass sie den Server konfigurieren, einen Zugriffssteuerungsserver eines Systems nach einem der vorhergehenden Ansprüche zu realisieren, wobei in dem Speicher der erste verschlüsselte Text für jede in Verwendung befindliche Benutzer-ID gespeichert ist.
  26. Server, der einen Speicher, eine Datenübertragungsschnittstelle und eine Steuerungslogik aufweist, die so gestaltet sind, dass sie den Server konfigurieren, einen Berechtigungsprüfungsserver eines Systems nach einem der Ansprüche 1 bis 24 zu realisieren, wobei der Speicher den geheimen Wert des in Verwendung befindlichen Berechtigungsprüfungsservers speichert.
  27. Computerprogramm, das ein Programmcodemittel aufweist, um den Computer zu veranlassen, die Steuerungslogik eines Servers nach Anspruch 25 oder 26 zu realisieren.
  28. Verfahren zum Steuern eines Zugriffs durch Benutzercomputer auf eine Ressource in Abhängigkeit einer Berechtigungsprüfung von Benutzerpasswörtern, die jeweiligen Benutzer-IDs zugehörig sind, bei einem Zugriffssteuerungsserver, der für einen Datenaustausch mit den Benutzercomputern und einer Mehrzahl n von Berechtigungsprüfungsservern über ein Netzwerk eingerichtet ist, wobei das Verfahren aufweist: Speichern der jeweiligen geheimen Werte bei den n Berechtigungsprüfungsservern; für jede Benutzer-ID Speichern eines ersten verschlüsselten Textes, der erzeugt wird, indem das dieser ID zugehörige Benutzerpasswort unter Verwendung eines vorbestimmten Algorithmus abhängig von den geheimen Werten verschlüsselt wird, bei dem Zugriffssteuerungsserver; beim Zugriffssteuerungsserver als Reaktion auf einen Empfang einer solchen Benutzer-ID und eines Eingabepasswortes von einem Benutzercomputer Datenaustauschen mit einer Mehrzahl k ≤ n der Berechtigungsprüfungsserver, um ein Passwortberechtigungsprüfungs-Protokoll zu realisieren, das die Verwendung ihrer jeweiligen geheimen Werte durch die k Berechtigungsprüfungsserver erfordert, wobei ein zweiter verschlüsselter Text erzeugt wird, indem des Eingabepasswort unter Verwendung des vorbestimmten Algorithmus verschlüsselt wird, und der Zugriffssteuerungsserver den ersten und zweiten verschlüsselten Text verwendet, um zu ermitteln, ob das Eingabepasswort gleich dem Benutzerpasswort für die empfangene Benutzer-ID ist; und beim Zugriffssteuerungsserver Gestatten des Zugriffs auf die Ressource durch den Benutzercomputer, wenn das Eingabepasswort gleich dem Benutzerpasswort ist.
  29. Verfahren nach Anspruch 28, wobei der erste verschlüsselte Text n erste Pseudozufallswerte aufweist, von denen jeder über eine Pseudozufallsfunktion den geheimen Wert eines jeweiligen Berechtigungsprüfungsservers und einen anfänglichen Pseudozufallswert verschlüsselt: der anfängliche Pseudozufallswert über die Pseudozufallsfunktion das Benutzerpasswort für eine Benutzer-ID verschlüsselt, und zum Realisieren des Passwortüberprüfungsprotokolls: der Zugriffssteuerungsserver das Eingabepasswort verwendet, um einen Testpseudozufallswert zu erzeugen, der dem anfänglichen Pseudozufallswert entspricht, und den Testpseudozufallswert an k = n Berechtigungsprüfungsserver sendet; jeder Berechtigungsprüfungsserver den Test-Pseudozufallswert verwendet, um einen jeweiligen Server-Pseudozufallswert zu erzeugen, der einem solchen ersten Pseudozufallswert entspricht, und den Server-Pseudozufallswert an den Zugriffssteuerungsserver sendet; und der Zugriffssteuerungsserver aus den n Server-Pseudozufallswerten den zweiten verschlüsselten Text erzeugt und den ersten und zweiten verschlüsselten Text vergleicht, um zu ermitteln, ob das Eingabepasswort gleich dem Benutzerpasswort für die empfangene Benutzer-ID ist.
  30. Verfahren nach Anspruch 28, wobei der erste verschlüsselte Text unter Verwendung eines vorbestimmten homomorphen Verschlüsselungsalgorithmus zum Verschlüsseln des Benutzerpasswortes unter einem öffentlichen Schlüssel eines kryptographischen Schlüsselpaares erzeugt wird, wobei die geheimen Werte der Berechtigungsprüfungsserver jeweilige Schlüsselanteile eines geheimen Schlüssels des Schlüsselpaares aufweisen, und zum Realisieren des Passwortberechtigungsprüfungs-Protokolls als Reaktion auf den Empfang einer solchen Benutzer-ID und des Eingabepasswortes; der Zugriffssteuerungsserver den zweiten verschlüsselten Text aus dem Eingabepasswort unter Verwendung des homomorphen Verschlüsselungsalgorithmus erzeugt; der Zugriffssteuerungsserver einen Testwert erzeugt, indem über eine Operation ⊙ der zweite verschlüsselte Text und der erste verschlüsselte Text für die empfangene Benutzer-ID kombiniert werden, wobei die Operation ⊙ derart ist, dass sich aufgrund des Homomorphismus des Verschlüsselungsalgorithmus der Testwert zu einem vorbestimmten Wert entschlüsselt, wenn das Eingabepasswort gleich dem dieser Benutzer-ID zugehörigen Benutzerpasswort ist; der Zugriffssteuerungsserver den Testwert an die k Berechtigungsprüfungsserver sendet; jeder der k Berechtigungsprüfungsserver seinen jeweiligen Schlüsselanteil verwendet, um abhängig vom Testwert einen Entschlüsselungsanteil zu erzeugen, und den Entschlüsselungsanteil an den Zugriffssteuerungsserver sendet; und der Zugriffssteuerungsserver ermittelt, ob das Eingabepasswort gleich dem Benutzerpasswort ist, indem aus den k Entschlüsselungsanteilen ermittelt wird, ob sich der Testwert zu dem vorbestimmten Wert entschlüsselt.
  31. Computerprogrammprodukt zum Steuern eines Zugriffs durch Benutzercomputer auf eine Ressource in Abhängigkeit von einer Berechtigungsprüfung von Benutzerpasswörtern, die jeweiligen Benutzer-IDs zugehörig sind, bei einem Zugriffssteuerungsserver, der zur Datenübertragung über ein Netzwerk mit den Benutzercomputern und einer Mehrzahl n von Berechtigungsprüfungsservern eingerichtet ist, wobei das Computerprogrammprodukt ein computerlesbares Datenspeichermedium mit damit ausgeführten Programmanweisungen aufweist, wobei die Programmanweisungen durch einen Zugriffssteuerungsserver lesbar sind, um den Zugriffssteuerungsserver zu veranlassen: – für jede Benutzer-ID einen ersten verschlüsselten Text zu speichern, der erzeugt wird, indem das dieser ID zugehörige Benutzerpasswort unter Verwendung eines vorbestimmten Algorithmus abhängig von den geheimen Werten verschlüsselt wird; – als Reaktion auf einen Empfang einer solchen Benutzer-ID und eines Eingabepasswortes von einem Benutzercomputer Daten mit einer Mehrzahl k ≤ n der Berechtigungsprüfungsserver auszutauschen, um ein Passwortberechtigungsprüfungs-Protokoll zu realisieren, das die Verwendung ihrer jeweiligen geheimen Werte durch die k Berechtigungsprüfungsserver erfordert, wobei ein zweiter verschlüsselter Text erzeugt wird, indem des Eingabepasswort unter Verwendung des vorbestimmten Algorithmus verschlüsselt wird, und der Zugriffssteuerungsserver den ersten und zweiten verschlüsselten Text verwendet, um zu ermitteln, ob das Eingabepasswort gleich dem Benutzerpasswort für die empfangene Benutzer-ID ist; und – einen Zugriff auf die Ressource durch den Benutzercomputer zu gestatten, wenn das Eingabepasswort gleich dem Benutzerpasswort ist.
DE112015000213.8T 2014-05-23 2015-05-19 Passwortgestützte Berechtigungsprüfung Active DE112015000213B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1409227.4A GB2526367A (en) 2014-05-23 2014-05-23 Password-based authentication
GB1409227.4 2014-05-23
PCT/IB2015/053688 WO2015177728A1 (en) 2014-05-23 2015-05-19 Password-based authentication

Publications (2)

Publication Number Publication Date
DE112015000213T5 true DE112015000213T5 (de) 2016-08-18
DE112015000213B4 DE112015000213B4 (de) 2022-03-17

Family

ID=51177372

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112015000213.8T Active DE112015000213B4 (de) 2014-05-23 2015-05-19 Passwortgestützte Berechtigungsprüfung

Country Status (6)

Country Link
US (2) US9537658B2 (de)
JP (1) JP6448668B2 (de)
CN (1) CN106416123B (de)
DE (1) DE112015000213B4 (de)
GB (2) GB2526367A (de)
WO (1) WO2015177728A1 (de)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9350545B1 (en) * 2014-06-30 2016-05-24 Emc Corporation Recovery mechanism for fault-tolerant split-server passcode verification of one-time authentication tokens
JP6394175B2 (ja) * 2014-08-19 2018-09-26 富士ゼロックス株式会社 サーバ装置、情報処理システムおよびプログラム
US10250591B2 (en) 2016-02-12 2019-04-02 International Business Machines Corporation Password-based authentication
WO2017170237A1 (ja) * 2016-03-29 2017-10-05 株式会社リコー サービス提供システム、サービス授受システム、サービス提供方法、及びプログラム
EP3438860B1 (de) 2016-03-29 2020-06-03 Ricoh Company, Ltd. Dienstbereitstellungssystem, dienstaustauschsystem, dienstbereitstellungsverfahren und programm
CN108780426B (zh) 2016-03-29 2022-06-21 株式会社理光 服务提供系统、服务递送系统、服务提供方法和程序
US10250576B2 (en) * 2017-02-08 2019-04-02 International Business Machines Corporation Communication of messages over networks
US10397002B2 (en) * 2017-02-10 2019-08-27 International Business Machines Corporation Signature scheme for homomorphic message encoding functions
US10523648B2 (en) * 2017-04-03 2019-12-31 Microsoft Technology Licensing, Llc Password state machine for accessing protected resources
US10356120B1 (en) * 2017-04-28 2019-07-16 EMC IP Holding Company LLC Method, apparatus and computer program product for assessing the risk of electronic communications using logon types
CN107294978B (zh) * 2017-06-27 2019-11-12 北京知道创宇信息技术股份有限公司 对用户的账户进行认证的系统、设备、方法及输入设备
WO2019055478A1 (en) * 2017-09-12 2019-03-21 Visa International Service Association SYSTEM AND METHOD FOR SECURE AND ACCURATE DELIVERY
US11122033B2 (en) * 2017-12-19 2021-09-14 International Business Machines Corporation Multi factor authentication
EP3503456A1 (de) * 2017-12-19 2019-06-26 Koninklijke Philips N.V. Homomorphe verschlüsselung zur passwortauthentifizierung
US10904003B2 (en) * 2018-04-21 2021-01-26 Microsoft Technology Licensing, Llc Validation of short authentication data with a zero knowledge proof
CN108809997A (zh) * 2018-06-19 2018-11-13 北京多采多宜网络科技有限公司 一种登录认证方法
CN111859406B (zh) * 2019-04-30 2024-03-15 上海诺基亚贝尔股份有限公司 用于进行远程认证的方法、装置和系统
CN113949584B (zh) * 2021-11-04 2023-03-07 电子科技大学 抗口令凭证泄露的口令认证方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7228417B2 (en) * 2002-02-26 2007-06-05 America Online, Inc. Simple secure login with multiple-authentication providers
US20030221102A1 (en) * 2002-05-24 2003-11-27 Jakobsson Bjorn Markus Method and apparatus for performing multi-server threshold password-authenticated key exchange
US7725730B2 (en) * 2002-08-09 2010-05-25 Emc Corporation Cryptographic methods and apparatus for secure authentication
CA2922172A1 (en) * 2004-10-25 2006-05-04 Security First Corp. Secure data parser method and system
JP2007060581A (ja) * 2005-08-26 2007-03-08 Nomura Research Institute Ltd 情報管理システム及び方法
CN101127600B (zh) * 2006-08-14 2011-12-07 华为技术有限公司 一种用户接入认证的方法
CN101222325B (zh) * 2008-01-23 2010-05-12 西安西电捷通无线网络通信有限公司 一种基于id的无线多跳网络密钥管理方法
US8117648B2 (en) * 2008-02-08 2012-02-14 Intersections, Inc. Secure information storage and delivery system and method
EP2351389B1 (de) * 2008-10-23 2016-04-27 Telefonaktiebolaget LM Ericsson (publ) Mobilitätshandhabung für multicast dienste
CN102804676A (zh) * 2009-06-23 2012-11-28 松下电器产业株式会社 加密密钥发布系统
US8584221B2 (en) * 2009-10-23 2013-11-12 Microsoft Corporation Authenticating using cloud authentication
TWI443517B (zh) * 2011-09-26 2014-07-01 Phison Electronics Corp 記憶體儲存裝置及其記憶體控制器與密碼驗證方法
CN102333308A (zh) * 2011-09-28 2012-01-25 辽宁国兴科技有限公司 一种基于位置信息的加密认证方法
US9118661B1 (en) * 2012-02-24 2015-08-25 Emc Corporation Methods and apparatus for authenticating a user using multi-server one-time passcode verification
CN102710419B (zh) * 2011-12-21 2015-02-18 大唐软件技术股份有限公司 一种用户认证的方法及装置
US9294281B2 (en) * 2012-02-10 2016-03-22 Microsoft Technology Licensing, Llc Utilization of a protected module to prevent offline dictionary attacks
US9374369B2 (en) * 2012-12-28 2016-06-21 Lookout, Inc. Multi-factor authentication and comprehensive login system for client-server networks
CN103152326A (zh) * 2013-02-01 2013-06-12 深圳市巨雷科技有限公司 一种分布式认证方法及认证系统

Also Published As

Publication number Publication date
CN106416123B (zh) 2019-10-18
US20150341335A1 (en) 2015-11-26
JP2017517200A (ja) 2017-06-22
GB2541586A (en) 2017-02-22
US9537658B2 (en) 2017-01-03
GB201409227D0 (en) 2014-07-09
GB201619635D0 (en) 2017-01-04
US20150341173A1 (en) 2015-11-26
DE112015000213B4 (de) 2022-03-17
JP6448668B2 (ja) 2019-01-09
WO2015177728A1 (en) 2015-11-26
CN106416123A (zh) 2017-02-15
GB2526367A (en) 2015-11-25
GB2541586B (en) 2017-04-05
US9596086B2 (en) 2017-03-14

Similar Documents

Publication Publication Date Title
DE112015000213B4 (de) Passwortgestützte Berechtigungsprüfung
DE112020004236B4 (de) Vorwärts gerichtete sicherheit in der transport layer security unter verwendung von ephemeren schlüsseln
EP3175384B1 (de) Verfahren und vorrichtung zum login bei medizinischen geräten
DE60036112T2 (de) Serverunterstützte wiedergewinnung eines starken geheimnisses aus einem schwachen geheimnis
DE102009001718B4 (de) Verfahren zur Bereitstellung von kryptografischen Schlüsselpaaren
EP3474172B1 (de) Zugangskontrolle unter verwendung einer blockchain
DE112015002927B4 (de) Generierung und Verwaltung geheimer Chiffrierschlüssel auf Kennwortgrundlage
DE102016224537B4 (de) Masterblockchain
DE102018216915A1 (de) System und Verfahren für sichere Kommunikationen zwischen Steuereinrichtungen in einem Fahrzeugnetzwerk
DE112018003825T5 (de) Blockchain-berechtigungsprüfung mittels hard/soft-token-überprüfung
DE112019001441T5 (de) Vergessliche pseudozufallsfunktion in einem schlüsselverwaltungssystem
DE112012001828B4 (de) Passwortgestützte Einzelrunden-Schlüsselaustauschprotokolle
DE212015000047U1 (de) Sichere Anmeldung ohne Passwörter
DE102009042673A1 (de) Die Speicherung zusammengesetzter Dienste auf unzuverlässigen Hosts
EP2929648A1 (de) Verfahren zum aufbau einer sicheren verbindung zwischen clients
DE112012000971B4 (de) Datenverschlüsselung
WO2016046063A1 (de) Authentisierungs-stick
DE102017006200A1 (de) Verfahren, Hardware und System zur dynamischen Datenübertragung an ein Blockchain Rechner Netzwerk zur Abspeicherung Persönlicher Daten um diese Teils wieder Blockweise als Grundlage zur End zu Endverschlüsselung verwendet werden um den Prozess der Datensammlung über das Datenübertragungsmodul weitere Daten in Echtzeit von Sensoreinheiten dynamisch aktualisiert werden. Die Blockmodule auf dem Blockchaindatenbanksystem sind unbegrenzt erweiterbar.
Balusamy et al. Collective advancements on access control scheme for multi-authority cloud storage system
DE112022000340T5 (de) Attributgestützte verschlüsselungsschlüssel als schlüsselmaterial zum authentifizieren und berechtigen von benutzern mit schlüssel-hash-nachrichtenauthentifizierungscode
DE102013019487A1 (de) Verfahren, Vorrichtungen und System zur Online-Datensicherung
EP3050244B1 (de) Bereitstellung und verwendung pseudonymer schlüssel bei hybrider verschlüsselung
DE102014114432B4 (de) Verfahren, Vorrichtung und Computerprogramm zum Kontrollieren eines Zugriffsauf einen Service innerhalb eines Netzwerkes
DE112022000963T5 (de) Verbindungsbeständige mehrfaktorauthentifizierung
DE102014211839A1 (de) Verfahren zum Authentifizieren einer Entität

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R084 Declaration of willingness to licence
R020 Patent grant now final