DE212015000047U1 - Sichere Anmeldung ohne Passwörter - Google Patents

Sichere Anmeldung ohne Passwörter Download PDF

Info

Publication number
DE212015000047U1
DE212015000047U1 DE212015000047.8U DE212015000047U DE212015000047U1 DE 212015000047 U1 DE212015000047 U1 DE 212015000047U1 DE 212015000047 U DE212015000047 U DE 212015000047U DE 212015000047 U1 DE212015000047 U1 DE 212015000047U1
Authority
DE
Germany
Prior art keywords
user
key
server
web server
account
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.)
Expired - Lifetime
Application number
DE212015000047.8U
Other languages
English (en)
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.)
XORKEY BV
Original Assignee
XORKEY BV
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 XORKEY BV filed Critical XORKEY BV
Publication of DE212015000047U1 publication Critical patent/DE212015000047U1/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic 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 challenge-response
    • H04L9/3273Cryptographic 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 challenge-response for mutual 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • 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/006Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • 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/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • 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/3271Cryptographic 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 challenge-response
    • 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/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token

Landscapes

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

Abstract

Anmeldeserver, der ein Hardware Security Module (HSM) aufweist, wobei der Anmeldeserver durch eine sichere Kommunikationsleitung mit einem Webserver verbunden ist.

Description

  • Hintergrund der Erfindung
  • 1. Gebiet der Erfindung
  • Die Erfindung betrifft allgemein ein sicheres Protokoll für die Autorisierung eines Benutzerzugangs zu einem Netzwerk mit beschränktem Zugang oder einem lokalen Netzwerk.
  • 2. Beschreibung der verwandten Technik
  • Verfahren der bisherigen Technik autorisieren den Zugang eines Benutzers zu einem Netzwerk mit beschränktem Zugang oder einem lokalen Netzwerk unter Verwendung einer Kombination aus zwei Zeichenketten. Die erste derartige Zeichenkette dient im Allgemeinen dazu, den Benutzer zu identifizieren, und auf sie kann als eine „Benutzer-ID”, ein „Benutzername” oder ein ähnlicher Begriff Bezug genommen werden. Auf die zweite Zeichenkette wird im Allgemeinen als ein „Passwort”, ein „Kenncode”, eine „persönliche Identifikationsnummer” oder PIN oder irgendein derartiger Begriff Bezug genommen.
  • Ein Kontenserver, der zu dem Netzwerk mit beschränktem Zugang gehört, hält eine Nachschlagtabelle registrierter Kombinationen der ersten Zeichenketten und zweiten Zeichenketten. Einem Benutzer, der eine registrierte Kombination einer ersten Zeichenkette (auf die hier nachstehend als Benutzer-ID Bezug genommen wird) und einer zweiten Zeichenkette (auf die hier nachstehend als „Passwort” Bezug genommen wird) vorlegt, wird Zugang zu dem Netzwerk mit beschränktem Zugang gegeben. Die Benutzer-ID bleibt im Allgemeinen während der Lebensdauer eines Kontos unverändert. Von dem Passwort wird angenommen, dass es häufig geändert wird, aber diese Vorgehensweise wird als mühsam und häufig vernachlässigt erfahren.
  • Die vorhandenen Systeme sind attraktiv für nicht autorisierte Eindringversuche, wie etwa Hacking. Zum Beispiel kann ein Benutzer identische Benutzer-ID- und Passwort-Kombinationen für eine Anzahl von Netzwerken mit beschränktem Zugang verwenden. Wenn nur eines kompromittiert wird, kann eine gesamte Anzahl von Konten mit beschränktem Zugriff dieses Benutzers für den nicht autorisierten Zugang offen sein. Viele Benutzer wählen Benutzer-IDs und Passwörter, die leicht zu erraten sind. Selbst wenn Benutzer mehr oder weniger zufällige Zeichenketten wählen, um das Erraten schwierig zu machen, sind sie versucht, kurze Zeichenketten zu verwenden, die zunehmend anfällig dafür sind, durch brachiale Computerberechnung (engl. brute force computing) geknackt zu werden. Und, wie bereits erwähnt, folgen die meisten Benutzer nicht dem Rat, ihre Passwörter häufig zu ändern.
  • Hacker können auch Zugang zu dem Computer eines Benutzers gewinnen, auf dem eine Datei mit Benutzer-IDs und Passwörtern im Speicher, zum Beispiel auf einer Festplatte, gespeichert sein kann. Hacker können auch durch ein Verfahren, das als „Phishing” bezeichnet wird, in dem ein Hacker sich als eine seriöse Website ausgibt, wodurch Benutzer verleitet werden, ihr Benutzer-ID- und Passwort-Kombinationen einzugeben, Zugang zu einer Benutzer-ID- und Passwort-Kombination gewinnen.
  • Eine andere Verwundbarkeitsquelle ist die Übermittlung von Benutzer-IDs und Passwörtern über unsichere Verbindungen. In den meisten Fällen kommuniziert ein Benutzer über das Internet mit einem Netzwerk mit beschränktem Zugang, und die Benutzer-ID und das Passwort werden zum Beispiel über unsichere Kommunikationskanäle an einen Webserver übermittelt, wo sie anfällig für Abhören sind.
  • Noch ein anderer Verwundbarkeitsbereich ist die Nachschlagtabelle, die in dem Kontenserver gespeichert ist. Es gab häufige Berichte über nicht autorisierten Zugang zu und Diebstahl von Anmeldekonten von tausenden, manchmal millionen Benutzern eines bestimmten Dienstes. Angesichts der gängigen Praxis der Wiederverwendung von Benutzer-IDs und Passwörtern für eine Anzahl verschiedener Konten haben diese Einbrüche eine ernsthafte Vervielfacherwirkung. Außerdem gab es zweifelsohne Einbrüche, die nicht gemeldet wurden, was das Problem sogar noch größer macht als es die allgemeine Öffentlichkeit realisieren mag.
  • Satyanarayanan, M: "Integrating security in a large distributed system." ACM Transactions on Computer Systems, Bd. 7. Nr. 3, Seiten 247–280 stellt eine Beschreibung eines verteilten Netzwerks bereit, das in den 1990ern an der Carnegie Mellon University (CMU) implementiert wurde. Der Zugang zu dem Netzwerk war auf Studenten und Lehrkörper der CMU beschränkt. Systembenutzer leiteten ein Anmeldungsprotokoll ein, indem sie eine Benutzer-ID und ein Passwort an einem mit dem Netzwerk verbundenen Arbeitsplatz eingaben. Ein Kontenserver verwendete eine Nachschlagtabelle, um die Benutzer-ID mit einem Verschlüsselungsschlüssel zu verbinden, sofern der Benutzer das korrekte Passwort eingegeben hatte. Der Abschluss des Anmeldeprotokolls wies eine Aufforderung/Antwort basierend auf dem Verschlüsselungsschlüssel auf. Der Kontenserver enthielt eine Nachschlagtabelle aus Benutzer-IDs und leicht verschlüsselten Passwörtern. Das Papier offenbart nicht, wie Benutzer des Systems mit ihren Benutzer-IDs und Passwörtern erstregistriert wurden oder wie der Verschlüsselungsschlüssel erzeugt und mit dem Benutzer verbunden wurde.
  • Das Secure Remote Password Protocol (SRP), von dem eine Beschreibung unter http://srp.stanford.edu/design.html zu finden ist, versucht, die Übertragung eines Passworts zwischen einer Benutzervorrichtung und einem Server zu vermeiden. Der Benutzer verwendet immer noch ein Passwort, aber das Passwort wird verschlüsselt, bevor es an einen Server gesendet wird.
  • Das Simple Certificate Enrollment Protocol (SCEP), von dem eine Beschreibung unter http://www.cisco.com/c/en/us/support/docs/security-vpn/public-key-infrastructure-pki/116167-technote-scep-00.html zu finden ist, wurde konzipiert, um in einer relativ gut kontrollierten Umgebung die Registrierung von Vorrichtungen zu handhaben. Der SCEP-Server erzeugt ein Challenge-Passwort, das an den Anfordernden zugestellt wird und in der Eingabe zurück an den Server enthalten sein muss. Obwohl das SCEP-Protokoll mit nicht vertrauten Vorrichtungen verwendet wird, ist eine derartige Verwendung, wie von Shorter und Harris erklärt, unklug; "The Use of the Simple Certificate Enrollment Protocol (SCEP) and Untrusted Devices", siehe http://www.css-security.com/wp-content/themes/css/scep/SCEP_and_Untrusted_Devices.pdf US 2011/0082801 offenbart ein Anmeldeprotokoll, das die Verwendung eines Verschlüsselungsschlüssels aufweist, der von einem Anfordernden in einem sicheren Speicher gespeichert wird. Auf den Verschlüsselungsschlüssel wird unter Verwendung von biometrischen Daten (wie etwa einer Fingerabdruckschablone), die eindeutig mit dem Anfordernden verbunden sind, zugegegriffen. Das Protokoll erfordert einen biometrischen Sensor.
  • Zusammengefasst sind vorhandene Systeme aus einem oder einer Kombination der folgenden Gründe anfällig für einen Angriff:
    • – Benutzer-IDs und Passwörter sind leicht zu erraten;
    • – Benutzer-IDs und Passwörter sind zu kurz und offen für brachiale Angriffe;
    • – Benutzer-IDs und Passwörter werden für verschiedene Anmeldekonten wiederverwendet;
    • – Passwörter werden, wenn überhaupt, mit unzureichender Häufigkeit geändert;
    • – Benutzer-IDs und Passwörter werden über unsichere Kommunikationsleitungen übertragen;
    • – Benutzer-IDs und Passwörter werden an unsicheren Orten gespeichert;
    • – Wenn Benutzer-IDs und Passwörter einmal gestohlen wurden, können sie von einem Hacker ohne die Gefahr einer Erkennung der nicht autorisierten Verwendung verwendet werden;
    • – Versuche, die Sicherheit vorhandener Systeme zu verbessern, scheitern aufgrund des Bedürfnisses vieler Benutzer, Benutzer-IDs und Passwörter zu haben, die leicht zu merken sind. Lösungen, die in der bisherigen Technik vorgeschlagen wurden, umfassen Protokolle, die immer noch die Verwendung von Passwörtern erfordern, aber die Notwendigkeit, derartige Passwörter zwischen einem Anfordernden und einem Server zu übertragen, vermeiden oder das Passwort verschlüsseln, bevor sie es übertragen. Diese Vorschläge lösen möglicherweise einige der vorstehenden Probleme, aber vermeiden nicht die Notwendigkeit, sich zahlreiche Passwörter mit unerwünschter Komplexität zu merken und zu verwalten.
  • Andere vorgeschlagene Lösungen können in gut kontrollierten Umgebungen gut funktionieren, sind aber für die Implementierung für die allgemeine Öffentlichkeit im Internet ungeeignet.
  • Protokolle, die auf biometrischer Identifizierung beruhen, erfordern, dass der Anfordernde jedes Mal, wenn er Zugang zu einem Webdienst haben möchte, Zugang zu einer biometrischen Vorrichtung hat.
  • Somit besteht ein Bedarf an einem sicheren Anmeldeprotokoll, das einige oder alle der vorstehenden Probleme vermeidet oder mildert. Es besteht ein besonderer Bedarf an einem derartigen Protokoll, das in einer nicht kontrollierten Umgebung, wie etwa dem Internet, mit Mitgliedern der allgemeinen Öffentlichkeit implementiert werden kann. Es besteht ein weiterer Bedarf an einem derartigen Protokoll, das keine spezifische Hardware für die Identifikation erfordert.
  • Kurze Zusammenfassung der Erfindung
  • Die vorliegende Erfindung behandelt diese Probleme, indem sie ein Verfahren zur Autorisierung des Zugangs eines Benutzers zu einem Netzwerk mit beschränktem Zugang bereitstellt, wobei dieses Verfahren aufweist:
    • a. Empfangen einer Verbindungsanforderung eines Benutzers an einem Server;
    • b. nach dem Einrichten der angeforderten Verbindung Übermitteln eines servergesteuerten Werts an den Benutzer;
    • c. Empfangen einer Anmeldeanforderung des Benutzers an dem Server, welche eine Benutzer-ID oder eine Ableitung davon und eine Benutzer-Challenge, die mit einem von dem Benutzer gehaltenen Schlüssel und dem servergesteuerten Wert verschlüsselt ist, aufweist;
    • d. Festlegen eines Benutzerschlüssels, der zu der Benutzer-ID gehört;
    • e. Erzeugen einer Serverzufallszahl und Verschlüsseln der Serverzufallszahl mit dem Benutzerschlüssel;
    • f. Senden der verschlüsselten Serverzufallszahl an den Benutzer;
    • g. Empfangen eines Werts von dem Benutzer, der die Fähigkeit des Benutzers, die verschlüsselte Serverzufallszahl zu entschlüsseln, bestätigt.
  • Kurze Beschreibung der Zeichnungsfigur
  • 1 ist eine schematische Darstellung einer Ausführungsform der Erfindung.
  • Detaillierte Beschreibung der Erfindung
  • Das Folgende ist eine detaillierte Beschreibung der Erfindung.
  • Definitionen
  • Der Begriff „Netzwerk mit beschränktem Zugang”, wie er hier verwendet wird, bedeutet jede Form gespeicherter Daten, die über das Internet oder irgendeine andere Art von Computerverbindung zugänglich ist. Der Begriff umfasst Websites, lokale Netzwerke, verteilte Netzwerke, Datensammlungen und ähnliches. Die vorliegende Erfindung betrifft unter anderem ein Verfahren zur Autorisierung eines Benutzerzugangs zu jeder Form von Daten, die über das Internet zugänglich ist. Die Form der Daten, auf die zugegriffen wird, ist in keiner Weise entscheidend für das Verfahren der Erfindung und wird generisch als „Netzwerk mit beschränktem Zugang” beschrieben.
  • In seinem umfassendsten Aspekt betrifft die vorliegende Erfindung ein Verfahren zur Autorisierung des Zugangs eines Benutzers zu einem Netzwerk mit beschränktem Zugang, wobei das Verfahren aufweist:
    • a. Empfangen einer Verbindungsanforderung eines Benutzers an einem Server;
    • b. nach dem Einrichten der angeforderten Verbindung Übermitteln eines servergesteuerten Werts an den Benutzer;
    • c. Empfangen einer Anmeldeanforderung des Benutzers an dem Server, welche eine Benutzer-ID oder eine Ableitung davon und eine Benutzer-Challenge, die mit einem von dem Benutzer gehaltenen Schlüssel und dem servergesteuerten Wert verschlüsselt ist, aufweist;
    • d. Festlegen eines Benutzerschlüssels, der zu der Benutzer-ID gehört;
    • e. Erzeugen einer Serverzufallszahl und Verschlüsseln der Serverzufallszahl mit dem Benutzerschlüssel;
    • f. Senden der verschlüsselten Serverzufallszahl an den Benutzer;
    • g. Empfangen eines Werts von dem Benutzer, der die Fähigkeit des Benutzers, die verschlüsselte Serverzufallszahl zu entschlüsseln, bestätigt.
  • Der Begriff „Server” bezieht sich auf jede Art von Vorrichtung, die eine Schnittstelle zwischen dem Benutzer und dem Netzwerk mit beschränktem Zugang bereitstellt. In vielen Fällen ist der Server ein Webserver. Der Begriff „Webserver” wird hier nachstehend allgemein verwendet, so dass er jeden Server meint, der eine Schnittstelle zwischen einem Benutzer und einem Netzwerk bereitstellt, und hat eine sehr viel umfassendere Bedeutung als seine gewöhnliche Verwendung. Wie nachstehend detaillierter beschrieben, können spezifische Aufgaben, die an dem Verfahren der Erfindung beteiligt sind, an spezifische Server, wie etwa einen Kontenserver und/oder einen Anmeldeserver, delegiert werden. Der Kontenserver und/oder der Anmeldeserver können dedizierte Abschnitte eines Webservers sein oder können selbständige Server sein, die mit dem Webserver in Verbindung stehen.
  • Die Verbindungsanforderung kann eine Anforderung einer sicheren Verbindung, zum Beispiel einer SSL-Verbindung oder einer TLS-Verbindung, sein. Bedeutenderweise stellen die hier als Beispiel verwendeten Verschlüsselungsprotokolle Sicherheitsvorkehrungen bereit, die auch dann eine sichere Anmeldung zulassen, wenn keine sichere Verbindung verfügbar ist.
  • Die Verbindung kann auf jede in der Technik bekannte Weise, zum Beispiel unter Verwendung des TLS-Verbindungsprotokolls, eingerichtet werden. Wenn die Verbindung einmal eingerichtet ist, übermittelt der Server dem Benutzer einen servergesteuerten Wert. Dies ist ein dem Server bekannter Wert, den der Benutzer für die richtige Verschlüsselung von Werten benötigt, die der Benutzer an den Server übertragen wird. Der Benutzer kann den servergesteuerten Wert auch zum Entschlüsseln verschlüsselter Nachrichten, die von dem Server empfangen werden, benötigen.
  • Ein Beispiel für einen servergesteuerten Wert, der in diesem Kontext verwendet werden kann, ist eine ganze Zahl n, die den Benutzer über die Anzahl von Bits des passenden Schlüssels und/oder die Länge einer Benutzerzufallszahl, die in einer Challenge verwendet werden soll, etc. informiert. Ein anderes Beispiel für eine servergesteuerte Zahl ist ein Serverzertifikat, das der Benutzer in seine Verschlüsselungen aufnehmen kann. In spezifischen Ausführungsformen kann der Server dem Benutzer zwei oder mehr servergesteuerte Werte übermitteln.
  • In einem nächsten Schritt übermittelt der Benutzer dem Server eine Anmeldeanforderung, die eine Benutzer-ID (oder eine Ableitung davon) und eine Benutzer-Challenge übermittelt.
  • Die Benutzer-ID kann eine Zeichenkette, wie etwa ein Name oder eine alphanumerische Zeichenkette sein, die der Benutzer sich merkt. In dieser Ausführungsform beruht das Anmeldeprotokoll auf einer Kombination aus etwas, das der Benutzer kennt (die Benutzer-ID), und etwas, das der Benutzer besitzt (einen Schlüssel zum Entschlüsseln der verschlüsselten Serverzufallszahl). In einer alternativen Ausführungsform kann die Benutzer-ID ein biometrischer Datenwert, der zum Beispiel von der Netzhaut des Benutzers erhalten wird, oder ein Fingerabdruck sein. In dieser Ausführungsform beruht das Anmeldeprotokoll auf einer Kombination aus etwas, über das der Benutzer die ausschließliche Kontrolle hat (die Benutzer-ID), und etwas, das der Benutzer besitzt (einen Schlüssel zum Entschlüsseln der verschlüsselten Serverzufallszahl).
  • Von den beiden wird nur die Benutzer-ID übermittelt. Das Gewinnen von Zugriff auf eine Benutzer-ID zum Beispiel durch Abhören ihrer Übertragung stellt einem Hacker keinen Zugang zu dem Netzwerk mit beschränktem Zugang zur Verfügung, weil ein derartiger Zugang auch die Fähigkeit erfordert, die Serverzufallszahl zu entschlüsseln. Wie nachstehend detaillierter diskutiert, wird die Benutzer-ID in bevorzugten Ausführungsformen in einer rechnerisch konstruierten Form übermittelt, was ihr Abhören für Hacker sogar noch nutzloser macht. Die Benutzer-ID kann zum Beispiel mit einem Schlüssel verschlüsselt werden, der von dem Benutzer gehalten wird. Die Benutzer-ID kann zusammen mit einem Wert verschlüsselt werden, der den Server eindeutig identifiziert, zum Beispiel der URL des Servers oder einem signifikanten Teil davon. In einer alternativen Ausführungsform kann die Benutzer-ID zusammen mit einem servergesteuerten Wert, der dem Benutzer in Schritt b übermittelt wird, verschlüsselt werden. Zum Beispiel kann die Benutzer-ID mit einem Zertifikat verschlüsselt werden, das von dem Server empfangen wird.
  • Die Verschlüsselung der Benutzer-ID mit einem Wert, der für den Server eindeutig ist, ermöglicht dem Benutzer, eine Benutzer-ID für alle Server zu haben, mit denen sich der Benutzer von Zeit zu Zeit verbindet. Die verschlüsselte Version davon ist aufgrund der Aufnahme des Werts, der für den Server eindeutig ist, für jeden Server einzigartig.
  • Neben der (Ableitung der) Benutzer-ID überträgt der Benutzer auch eine Benutzer-Challenge. Die Benutzer-Challenge kann ein Einmalschlüssel (engl. nonce) sein, der mit einem Schlüssel, der von dem Benutzer gehalten wird, verschlüsselt wird.
  • Der Benutzer kann einen Satz von Schlüsseln, einen für jeden Server, bei dem der Benutzer registriert ist, halten. Der Benutzer kann den passenden Schlüssel durch Auswählen oder Eingeben einer Zahl oder durch Klicken auf ein Piktogramm, das den gewünschten Schlüssel darstellt, auswählen. Zum Beispiel kann ein Piktogramm, das ein Bild eines Buchs zeigt, für den Schlüssel, der für die Anmeldung an dem Benutzerkonto bei einem Online-Buchladen benötigt wird, verwendet werden, ein Rosenpiktogramm für die Anmeldung bei einem Blumenlieferdienst, etc.
  • In einer Ausführungsform kann der Schlüssel basierend auf einem Wert, der für den Server eindeutig ist, wie etwa seiner URL oder einem Teil davon, einem servergesteuerten Wert, der dem Benutzer in Schritt b übermittelt wird, zum Beispiel einem Serverzertifikat, etc. automatisch ausgewählt werden. In dieser Ausführungsform braucht der Benutzer sich den Schlüssel, der in dem Anmeldeprotokoll verwendet werden soll, nicht zu merken oder ihn identifizieren.
  • Der Benutzer erzeugt einen Einmalschlüssel und verschlüsselt ihn mit dem passenden Schlüssel, wobei er einen servergesteuerten Wert berücksichtigt. Die Rolle des servergesteuerten Werts kann es sein, die Länge des Schlüssels und/oder die Länge des Einmalschlüssels zu bestimmen. Der servergesteuerte Wert kann auch zusammen mit dem Einmalschlüssel verschlüsselt werden.
  • Nach dem Empfang der Anmeldeanforderung bestimmt der Server einen Benutzerschlüssel, der zu der Benutzer-ID (oder deren Ableitung) gehört. Wie nachstehend detaillierter erklärt, kann der Schritt des Bestimmens des Benutzerschlüssels das Bestimmen eines Site-Schlüssels und die Verwendung des Site-Schlüssels, um den Benutzerschlüssel zu berechnen, aufweisen. Die verschiedenen beteiligten Schritte können alle von dem (Web-)Server ausgeführt werden, oder spezifische Aufgaben können an andere Server, wie etwa einen Kontenserver und/oder einen Anmeldeserver, delegiert werden.
  • Die bestimmte Benutzernummer wird beim Entschlüsseln der Benutzer-Challenge verwendet. Der Server erzeugt auch eine Server-Challenge, indem er eine Serverzufallszahl mit dem Benutzerschlüssel verschlüsselt. Der Benutzer muss seine Identität belegen, indem er zeigt, dass er die Server-Challenge entschlüsseln kann.
  • Es ist unmöglich, Zugang zu einem Netzwerk mit beschränktem Zugang zu gewinnen, indem ein früherer erfolgreicher Anmeldeversuch wiedergegeben wird, weil das Verfahren die Entschlüsselung einer Serverzufallszahl bedingt, die nur einmal verwendet wird. Der von dem Benutzer in Schritt e an den Anmeldeserver zurück gesendete Wert wird in einem nachfolgenden Anmeldeversuch ein falscher Wert sein und daher für einen Hacker nutzlos sein.
  • Das vorstehend beschriebene Verfahren dient im Wesentlichen dazu, dem Webserver zu bestätigen, dass der Benutzer, der den Anmeldeversuch unternimmt, der ist, der er vorgibt zu sein, das heißt, jemand, der die Benutzer-ID kennt (oder sie kontrolliert) und die Kontrolle über den Schlüssel hat, der für das Entschlüsseln der Serverzufallszahl benötigt wird.
  • Die Sicherheit des Verfahrens wird verbessert, indem dem Benutzer die Bestätigung der Echtheit des Netzwerks mit beschränktem Zugang gegeben wird. Zu diesem Zweck weist die Anmeldeanforderung des Benutzers eine verschlüsselte Benutzerzufallszahl auf. Der Server stellt dem Benutzer die Authentifizierung bereit, indem er die verschlüsselte Benutzerzufallszahl erfolgreich entschlüsselt und dem Benutzer einen Wert sendet, der die Fähigkeit des Servers, die verschlüsselte Benutzerzufallszahl zu entschlüsseln, bestätigt. Dieses Merkmal stellt einen Schutz gegen Phishing-Versuche bereit, da unrechtmäßige „gleich aussehende” Websites nicht in der Lage sein werden, den Benutzer mit der erforderlichen Authentifizierung zu versehen.
  • Für den Schritt d ist es möglich, eine in dem Webserver oder in einem Kontenserver, der zu dem Webserver gehört, angesiedelte Nachschlagtabelle zu haben. Der Schritt des Bestimmens des Benutzerschlüssels, der zu der Benutzer-ID gehört, oder eines Werts, der die Benutzer-ID darstellt, kann eine Sache des Nachschalgens des Benutzerschlüssels in der Nachschlagtabelle sein. Eine derartige Nachschlagtabelle kann jedoch anfällig für Hacking-Versuche sein. In einer bevorzugten Ausführungsform weist der Schritt des Bestimmens des Benutzerschlüssels, der zu der Benutzer-ID gehört, das Erzeugen des Benutzerschlüssels nach Empfang einer Anmeldeanforderung auf. Der Benutzerschlüssel kann durch Verschlüsseln eines gespeicherten Site-Schlüssels unter Verwendung eines geheimen Schlüssels erzeugt werden. Der gespeicherte Site-Schlüssel ist mit dem Benutzer verbunden. Der Benutzerschlüssel kann unmittelbar nach der Verwendung verworfen werden, so wird er niemals gespeichert. Er wird neu erzeugt, wenn eine neue Anmeldeanforderung gestellt wird.
  • Das Verfahren zum Verschlüsseln des Site-Schlüssels mit dem geheimen Schlüssel muss vor Angriffen von außen geschützt werden, und es wird vorzugsweise in einem Hardware Security Module (HSM) ausgeführt. In bevorzugten Ausführungsformen weist das Verfahren der Erfindung zusätzliche serverseitige Verschlüsselungs- und Entschlüsselungsoperationen auf. Vorzugsweise finden alle derartigen Operationen in dem HSM statt. Das HSM kann innerhalb des Webservers oder in einem getrennten Anmeldeserver angesiedelt sein. In dem letzteren Fall ist der Kommunikationskanal zwischen dem Webserver und dem Anmeldeserver vorzugsweise eine sichere Kommunikationsleitung.
  • Es wird überlegt, dass die Rolle des Anmeldeservers für eine Anzahl von Netzwerken mit beschränktem Zugang zentralisiert werden kann. Die Anmeldeserverrolle kann als ein Dienst an Betreiber von Websites bereitgestellt werden, wodurch Betreiber von Websites von den Aufgaben und Verantwortlichkeiten bezüglich des Anbietens einer sicheren Anmeldung für ihre Benutzer entlastet werden. Der Anmeldeserver kann Verantwortung für zusätzliche Aufgaben übernehmen. Zum Beispiel kann der Anmeldeserver Zertifikate für die Webserver halten, die er unterstützt. Diese Zertifikate können, wie nachstehend detaillierter erklärt wird, eine Rolle in dem sicheren Anmeldeprotokoll der vorliegenden Erfindung spielen.
  • Das vorstehend beschriebene Verfahren setzt voraus, dass der Benutzer ein Konto bei dem Netzwerk mit beschränktem Zugang hat. Das Konto kann in einem Kontoerzeugungsverfahren eingerichtet werden. Der Hauptzweck des Kontoerzeugungsverfahrens ist, dass der Server ein Konto für den Benutzer eröffnet und einen Site-Schlüssel, der zu dem Benutzer gehört, erzeugt.
  • In einer Ausführungsform erzeugt der Anmeldeserver während des Kontoerzeugungsverfahrens auch einen Benutzerschlüssel. In einer Ausführungsform wird der Benutzerschlüssel durch Verschlüsseln des Site-Schlüssels mit einem aktuellen geheimen Schlüssel berechnet. Der Benutzerschlüssel kann selbst verschlüsselt werden, wobei zum Beispiel ein von dem Benutzer empfangener Dummy-Schlüssel verwendet wird.
  • Immer noch während des Kontoerzeugungsverfahrens können der Site-Schlüssel und der verschlüsselte Benutzerschlüssel mit einem allgemeinen Schlüssel, zum Beispiel mit einem Website-Schlüssel der zwischen dem Anmeldeserver und einem Webserver vorab vereinbart wird, oder mit einem öffentlichen/privaten Schlüsselpaar, verschlüsselt werden. Der Anmeldeserver kann verwendet werden, um Berechnungen für die Authentifizierungsprotokolle mehrerer Netzwerke mit beschränktem Zugang auszuführen. Vorzugsweise verwendet der Anmeldeserver einen eindeutigen Website-Schlüssel für jeden der Webserver, mit denen er arbeitet.
  • Die verschlüsselten Werte, die mit dem Website-Schlüssel berechnet werden, werden mit einem Kontenserver vorab vereinbart. Der Kontenserver entschlüsselt die empfangenen Werte mit dem vorab vereinbarten Website-Schlüssel oder mit dem privaten Schlüssel eines öffentlichen/privaten Schlüsselpaars und speichert die entschlüsselten Werte. In einer Ausführungsform speichert der Kontenserver die entschlüsselten Werte neben der Benutzer-ID oder vorzugsweise einen Wert, der die Benutzer-ID darstellt, wie etwa einen Hash-Wert.
  • Sowohl in dem Kontenerzeugungsverfahren als auch in dem Anmeldeverfahren spielt der geheime Schlüssel eine wichtige Rolle. Der geheime Schlüssel kann statisch sein, aber vorzugsweise ist der geheime Schlüssel dynamisch, das heißt, der geheime Schlüssel kann von Zeit zu Zeit geändert werden.
  • In einer Ausführungsform wird der geheime Schlüssel aus mehreren geheimen Schlüsseln ausgewählt. Die mehreren geheimen Schlüssel können in einer Anordnung angeordnet werden, die vorzugsweise in chronologischer Erzeugungsreihenfolge indiziert ist. Der Benutzerschlüssel wird durch einen neuen aktuellen geheimen Schlüssel aktualisiert. Dies kann in einem Verfahren, das für den Benutzer unsichtbar ist, automatisch erledigt werden.
  • Dem Benutzer kann der Zugang zu dem Netzwerk mit beschränktem Zugang basierend auf der Verwendung eines alten Benutzerschlüssels durch den Benutzer erlaubt werden. Dem autorisierten Zugang basierend auf einem alten Benutzerschlüssel können Beschränkungen auferlegt werden. Zum Beispiel könnte ein derartiger Zugang auf eine spezifische Zeitspanne seit der letzten erfolgreichen Anmeldung beschränkt werden. Wenn es einem Benutzer nicht gelungen ist, eine Bedingung für den Netzwerkzugang zu erfüllen, zum Beispiel, indem er es unterlässt, eine erforderliche Abonnementgebühr zu bezahlen, kann dem Benutzer eine Anmeldung für die Behebung des Mangels erlaubt werden. Gewissen Benutzern kann der Zugang insgesamt verweigert werden, zum Beispiel indem die Anzahl geheimer Schlüssel, die für diesen Benutzer verfügbar sind, auf null beschränkt wird.
  • Das Protokoll kann auf Standardanlagen implementiert werden. Insbesondere ist alles, was an dem Benutzerende benötigt wird, eine Rechenvorrichtung mit einem Web-Browser. Der Benutzer kann zusätzlichen Schutz wünschen und entscheiden, seine Schlüssel hinter einer biometrischen Vorrichtung zu verstecken, dies ist aber für den Betrieb des Protokolls nicht notwendig. Ein Website-Betreiber, der seine Anmeldesicherheit aufrüsten möchte, kann dies tun, indem er, ungeachtet dessen, wie veraltet die Anlage des Benutzers ist, einen Schlüsselring und die begleitende Software in den Web-Browsern aller seiner Benutzer platziert. Dies macht es einem Website-Betreiber möglich, eine Aufrüstung einzuführen, wenn er dies wünscht, ohne auf spezifische Vorrichtungen, wie etwa biometrische Sensoren, die von allen seinen Benutzern verwendet werden müssen, zu warten.
  • Als allgemeine Regel werden keine tatsächlichen Werte, nur verschlüsselte Werte, in dem Protokoll der vorliegenden Erfindung übertragen. Der Fachmann ist mit etablierten Verschlüsselungsprotokollen vertraut, von jeden jedes in der Implementierung der vorliegenden Erfindung verwendet werden kann. Beispiele für geeignete kryptographische Algorithmen, die für die Verwendung in der vorliegenden Erfindung geeignet sind, umfassen AES (Advanced Encryption Standard) 256; SHA (Secure Hash Algorithm) 256 und RSA 2048. Aufgrund des höchst zufälligen Wesens einiger der Werte, die übertragen werden, können in manchen Fällen leichte Verschlüsselungsalgorithmen, wie etwa XORing, verwendet werden.
  • Beschreibung veranschaulichender Ausführungsformen/Beispiele
  • Das Folgende ist eine Beschreibung gewisser Ausführungsformen der Erfindung, die lediglich beispielhaft gegeben werden.
  • Die Erfindung wird unter Bezug auf eine Internet-Website mit kontrolliertem Zugang dargestellt. Es wird jedoch zu schätzen gewusst, dass die Erfindung ebenso auf andere Situationen, in denen ein Benutzer den Zugang zu einem Netzwerk mit kontrolliertem Zugang, wie etwa zu einem lokalen Netzwerk, das zu dem Arbeitgeber des Benutzers gehört, etc. anstrebt, anwendbar ist. Aus diesem Grund sollte Begriffen wie „Website” und „Webserver” eine weitreichende Interpretation verliehen werden.
  • 1. Einrichten eines Kontos
  • In diesem Beispiel wird auf eine Person, die Zugang zu einem Netzwerk mit beschränktem Zugang, wie etwa einer Website, gewinnen möchte, als ein „Benutzer” Bezug genommen. Der Benutzer möchte sich mit einem Server verbinden, der die Website betreibt. Auf diesen Server wird als der „Webserver” Bezug genommen. Um Zugang zu der Website zu gewinnen, muss der Benutzer ein Konto bei der Website haben. Das Konto des Benutzers wird zusammen mit anderen Konten anderer Benutzer von einem Kontenserver verwaltet. Der Kontenserver kann ein dedizierter Teil des Webservers sein, oder er kann ein getrennter Server sein. In dem letzeren Fall können der Kontenserver und der Webserver in physischer Nähe zueinander, zum Beispiel in dem gleichen Raum, angeordnet sein oder sie können an physisch entfernten Orten sein. Es ist wünschenswert, dass Kommunikationen zwischen dem Webserver und dem Kontenserver über sichere Kommunikationskanäle stattfinden.
  • Für ein richtiges Verständnis der vorliegenden Erfindung ist es nicht immer notwendig, zwischen dem Webserver und dem Kontenserver zu unterscheiden. In der folgenden Diskussion kann von Zeit zu Zeit Bezug auf den Webserver genommen werden, wenn streng genommen der Begriff Kontenserver verwendet werden könnte. Nichtsdestotrotz wird er Fachmann kein Problem beim Verständnis des Betriebs der Erfindung haben.
  • Der Webserver ist mit einem Anmeldeserver verbunden. Der Anmeldeserver kann ein dedizierter Teil des Webservers sein oder kann ein getrennter Server sein. In dem letzteren Fall können der Anmeldeserver und der Webserver in physischer Nähe zueinander, zum Beispiel in dem gleichen Raum, angeordnet sein oder sie können an physisch entfernten Orten sein. Es ist wünschenswert, dass Kommunikationen zwischen dem Webserver und dem Anmeldeserver über sichere Kommunikationskanäle stattfinden. Es ist denkbar, den Anmeldeserver von einer getrennten Funktionseinheit betreiben zu lassen, die sichere Anmeldedienste für eine oder eine Anzahl von Websites bereitstellt.
  • Zum Einrichten eines Kontos bei dem Webserver muss der Benutzer in Besitz eines Schlüssels sein. In dieser Ausführungsform ist der Benutzer in Besitz einer Sammlung von Schlüsseln, zum Beispiel 99 Schlüsseln, die in einer mathematischen Matrix in einem Speicher gespeichert werden können, die für den Benutzer zugänglich ist. Die Matrix kann als ein mathematisches Äquivalent eines physikalischen Schlüsselrings gesehen werden und auf sie wird hier als der Schlüsselring Bezug genommen. Jeder der 99 Schlüssel an dem Schlüsselring wird durch eine ganze Zahl 1 bis 99 identifiziert, die ihrer Position in der Matrix entspricht. Der Schlüsselring kann ferner eine Schlüsselringkennung aufweisen, die ein Schlüssel mit der Referenznummer 0 (null) an dem Schlüsselring ist, auf die als Z[0] Bezug genommen wird. Jeder Schlüssel an dem Schlüsselring kann eine Zeichenkette aus zufälligen Bits, zum Beispiel 128 Bits, sein. Der Benutzer braucht sich diese Zeichenketten nicht zu merken oder sie nicht einmal zu kennen. Der Benutzer muss sich nur die Nummer des Schlüssels, der für eine bestimmte Website verwendet wird, merken oder aufschreiben.
  • Wie in den vorhandenen Anmeldeschemen braucht der Benutzer eine Benutzerkennung oder Benutzer-ID. Dies sollte eine Zeichenkette sein, die für den Benutzer leicht zu merken ist, oder etwas, das auf Daten basiert, über welche der Benutzer ausschließliche Kontrolle hat, wie etwa biometrische Daten. Der Benutzer sendet nicht seine Benutzer-ID, sondern eine verschlüsselte Form der Benutzer-ID, wie etwa einen Hash-Wert, an den Webserver. Der Hash-Wert kann unter Verwendung einer Kombination der Benutzer-ID und der Schlüsselringkennung Z[0] aufgebaut werden.
  • Zuerst werden Hashes für die Schlüsselringkennung und die Benutzer-ID berechnet. H0 = SHA256(Z[0]) H1 = SHA256(ID)
  • Oder um einen Wert Uh, der für den Server eindeutig ist, zu erzeugen, wird aus der Benutzer-ID mit dem Domänennamen des Servers ein Hash-Wert gebildet. H1 = SHA256(ID + Domänen.name)
  • Dann wird Uh in einer XOR-Operation für die zwei Hash-Werte berechnet: Uh = H0 ⊕ H1.
  • Der Hash-Wert Uh wird aus etwas aufgebaut, das der Benutzer kontrolliert (die Schlüsselringkennung) und etwas, das der Benutzer kennt. Der Benutzer kann eine einfache Benutzer-ID wählen, weil die Benutzer-ID selbst nicht an den Webserver übermittelt wird. Überdies liegt wenig Schaden in der Verwendung der identischen Benutzer-ID für eine Anzahl verschiedener Websites durch den Benutzer.
  • Wenn der Benutzer den Schlüsselring das erste Mal verwendet, indem er sich um ein Konto bei einer Website bewirbt, ist keiner der Schlüssel an dem Schlüsselring in aktiver Verwendung. Anders gesagt sind an diesem Punkt alle Schlüssel an dem Schlüsselring Dummy-Schlüssel. Wenn der Benutzer sich um ein neues Konto bewirbt, teilt die Website dem Benutzer die Anzahl von Bits n mit, die für Schlüssel verwendet wird. Die Website macht auch den öffentlichen Schlüsselteil Kle einer öffentlichen/privaten Schlüsselkombination für den Benutzer verfügbar. Der private Schlüssel KLE wird von dem Anmeldeserver behalten.
  • Der Benutzer wählt den Dummy-Schlüssel mit der Indexnummer (d) von dem Schlüsselring aus. Kd = Z[d]mod2n
  • In einer alternativen und bevorzugten Ausführungsform wird die Indexnummer d nicht von dem Benutzer ausgewählt, sondern wird basierend auf einem Wert berechnet, der für den Webserver eindeutig ist. Zum Beispiel kann d ein Hash-Wert des Domänennamens des Webservers sein: d = SHA256(Domänen.name) oder vorzugsweise: d = SHA256(Z[0] + Domänen.name)
  • In noch einer anderen Ausführungsform kann die Indexnummer d ein Hash eines Zertifikats, das von dem Webserver empfangen wird, sein. In dieser Ausführungsform richtet der Benutzer zum Beispiel unter Verwendung des TLS-Protokolls eine sichere Verbindung mit dem Webserver ein. Der Webserver übermittelt ein Serverzertifikat Cs an den Benutzer, das zum Beispiel eine Basis für die Berechnung der Indexnummer d bildet: d = SHA256(Cs) oder vorzugsweise: d = SHA256(Cs + Z[0])
  • Der Vorteil des Bindens einer Indexnummer d an einen eindeutigen Wert des Servers ist, dass das Nachschlagen des Schlüssels automatisiert werden kann, so dass der Benutzer sich nicht merken braucht, welchen Schlüssel er für die spezifische Website verwenden soll.
  • Ungeachtet dessen, wie der Wert von d ausgewählt wird, verschlüsselt der Computer des Benutzers dann den ausgewählten Dummy-Schlüssel mit dem öffentlichen Schlüssel. Kh = ERSA(Kd, Kle)
  • Der Benutzer sendet dann Uh und Kh zusammen mit allen anderen Informationen, die als relevant für die Eröffnung eines Kontos betrachtet werden, an den Webserver. Der Webserver erzeugt ein neues Konto, das durch Uh identifiziert wird, und sendet Kh und n an den Anmeldeserver.
  • Alle mathematischen Operationen des Anmeldeservers werden in einem High Security Module (HSM) ausgeführt. Der Anmeldeserver erzeugt einen neuen Site-Schlüssel, Ks, den er unter Verwendung eines privaten Schlüssels KLM: verschlüsselt: Ks = Random(n) Ky = ERSA(Ks, Kae) wobei Kae ein öffentlicher Schlüssel ist, von dem der Kontoserver den privaten Schlüssel KAE hält.
  • Ks wird unter Verwendung eines geheimen Schlüssels S[0] verschlüsselt: Ku = AES256(Ky, S[0])mod2n und der (2048-Bit)-Wert Kh wird mit dem privaten Schlüssel KLE verschlüsselt, um Kd zu ergeben: Kd = DRSA(Kh, KLE) der dann verwendet wird, um Ku zu verschlüsseln: Kx = Ku ⊕ Kd
  • Die Werte Ky und Kx werden an den Webserver gesendet. Der Webserver leitet Ky und Uh an den Kontenserver weiter, der seinen privaten Schlüssel verwendet, um Ky zu verschlüsseln, um den Site-Schlüssel Ks zu erhalten. Der Site-Schlüssel wird sofort wieder verschlüsselt. Ks = DRSA(Ky, KAE) Ka = ERSA(Ks, Kle)
  • Der verschlüsselte Wert Ka wird in neben Uh in dem Kontenserver gespeichert. Bei zukünftigen Anmeldeversuchen wird der Wert Ka ohne weitere Verarbeitung an den Anmeldeserver gesendet.
  • Der verschlüsselte Kx wird an den Benutzer gesendet, der ihn unter Verwendung des Dummy-Schlüssels, der bei der Erzeugung des Kontos verwendet wurde, entschlüsseln kann: Ku = Kx ⊕ Kd
  • Schließlich wird der Benutzerschlüssel an dem Schlüsselring an der Stelle d mit etwas in der Art angeordnet: Z[d] = (Random(128 – n) << n) ⊕ Ku
  • Das Protokoll der Erzeugung des Kontos ist in Tabelle 1 zusammengefasst. Tabelle 1: Beantragen eines neuen Kontos
    Figure DE212015000047U1_0002
  • Der Uh-Wert kann auf eine Anzahl von Weisen verstärkt werden. Der Wert ist Uh wie bisher berechnet: H0 = SHA256(Z[0])
  • Wenn ein biometrischer Wert verwendet wird, kann er die Benutzeridentifikationszeichenkette ersetzen, wenn H1 berechnet wird: H1 = SHA256(bio.Wert + Domänen.name) Uh = H0 ⊕ H1.
  • Anstatt die Benutzer-ID durch den bio.Wert zu ersetzten, kann die Erstere auch als ein getrennter Wert hinzugefügt werden. H1 = SHA256(ID + Domänen.name) H2 = SHA256(bio.Wert) Uh = H0 ⊕ H1 ⊕ H2
  • Der gleiche Ansatz kann verwendet werden, um einen Wert von einem Hardware-Token aufzunehmen: H1 = SHA256(ID + Domänen.name) H2 = SHA256(Token.Wert) Uh = H0 ⊕ H1 ⊕ H2
  • Es kann wünschenswert sein, ein Konto an zwei Benutzer zu binden: H1 = SHA256(ID + Domänen.name) H2 = SHA256(bio.Wert1 + bio.Wert2) Uh = H0 ⊕ H1 ⊕ H2
  • Die Verschlüsselung kann verstärkt werden, indem ferner ein Hardware-Token hinzugefügt wird. H1 = SHA256(ID + Domänen.name) H2 = SHA256(Token.Wert) H3 = SHA256(bio.Wert1 + bio.Wert2) Uh = H0 ⊕ H1 ⊕ H2 ⊕ H3
  • Ein Benutzer kann von verschiedenen Vorrichtungen, wie etwa einem Tablet, einem Smartphone oder einem PC, auf eine Website zugreifen. Jede Vorrichtung kann verschiedene Einrichtungen zum Erzeugen eines biometrischen Werts bieten oder kann keine derartige Einrichtung bieten. Im Allgemeinen wird der Wert von Uh von der Vorrichtung, die verwendet wird, abhängen, was es wünschenswert macht, zuzulassen, dass mehrere Uh-Werte mit einem Konto verknüpft werden.
  • Als ein Ergebnis des Protokolls für die Erzeugung eines Kontos ist der Benutzer nun in Besitz eines eindeutigen Benutzerschlüssels Ku, der auf einem geheimen Schlüssel basiert, der niemals nach außerhalb des HSM des Anmeldeservers übermittelt wird. Der Benutzerschlüssel Ku kann so lang sein wie es der Betreiber der Website wünscht, (in dieser Ausführungsform) bis zu einem Maximum von 128 Bits. Der Benutzer muss sich nur seine Indexnummer k in dem Schlüsselring merken. Anstatt eine Nummer zu verwenden, kann der Benutzerschlüssel durch irgendein anderes Mittel gemerkt werden. Zum Beispiel können alle Schlüssel an dem Schlüsselring mit Piktogrammen oder Fotos verbunden sein. Der Benutzer muss sich dann nur das Foto oder Piktogramm merken, das mit dem Schlüssel für eine bestimmte Website verbunden ist.
  • Überdies kann Ku, wie nachstehend detaillierter erklärt wird, ohne irgendwelche Unbequemlichkeit für den Benutzer auf einer häufigen Basis modifiziert werden.
  • Wenn der Benutzer Konten bei anderen Websites erzeugt, wird eine zunehmende Anzahl von Schlüsseln auf dem Schlüsselring aktiv werden, und eine abnehmende Anzahl wird Dummy-Schlüssel sein. Wenn ein Hacker den Schlüsselring gewinnen sollte, wird es unmöglich sein, zu bestimmen, welche der Schlüssel aktiv sind und welche Dummys sind, oder für welche Website ein Schlüssel verwendbar sein kann. Der nicht autorisierte Zugang zu der Website ist so gut wie ausgeschlossen, da der Hacker nicht in der Lage wäre, den Schlüsselring zu verwenden, ohne die Benutzer-ID zu kennen. Die Sicherheit kann weiter erhöht werden, indem der Schlüsselring in einem sicheren Bereich gespeichert wird.
  • Der Algorithmus 1 zeigt die Schritte zur Erzeugung eines Kontos auf der Seite des Benutzers: Algorithmus 1: Berechnen de Hash der Benutzer-ID
    Figure DE212015000047U1_0003
  • Der Algorithmus 2 zeigt die Schritte zur Erzeugung eines Kontos auf der Seite des Anmeldservers: Algorithmus 2: Erzeugen von Werten für ein neues Konto
    Figure DE212015000047U1_0004
  • 2. Anmelden in einer Umgebung mit statischem geheimem Schlüssel
  • Das einfachste Anmeldeprotokoll gilt für Ausführungsformen, in denen der geheime Schlüssel statisch ist, das heißt, nicht geändert wird. Das Anmeldeprotokoll ist wie folgt.
  • Wenn der Benutzer sich mit dem Webserver verbindet, übermittelt der Letztere den Wert von n, das heißt, die Anzahl von Bits in einem Schlüssel, an den Benutzer. In gewissen Ausführungsformen übermittelt der Webserver auch sein Zertifikat Cs, das verwendet wird, um den Wert des Index k für den passenden Schlüssel an dem Schlüsselring des Benutzers zu bestimmen. Der Computer des Benutzers erzeugt eine pseudozufällige Zahl Ru und verschlüsselt diese Zahl mit dem Benutzerschlüssel Ku, der während des Verfahrens zum Einrichten des Kontos bei dem Index k an den Schlüsselring des Benutzers angebracht wurde: Ru = Random(n) Ku = Z[k]mod2n Au = Ru ⊕ Ku
  • Der Computer des Benutzers berechnet auch den Wert Uh neu. Die Werte Au und Uh werden an den Webserver übermittelt. Außerdem berechnet der Computer des Benutzers einen Hash-Wert Bu der pseudozufälligen Zahl Ru: Bu = SHA256(Ru)mod2n
  • Der Wert Bu wird vorübergehend in dem Computer des Benutzers gespeichert.
  • Der Webserver schlägt den verschlüsselten Site-Schlüssel Ka basierend auf dem empfangenen Wert Uh nach und sendet die Werte Au, Ka und n an den Anmeldeserver. Falls n statisch ist, kann der Anmeldeserver den Wert n im Speicher gespeichert haben, so dass dieser Wert nicht übermittelt werden muss.
  • Der Anmeldeserver führt eine Anzahl von Berechnungen in dem HSM aus. Er entschlüsselt Ka und erzeugt den Benutzerschlüssel Ku unter Verwendung der gleichen Berechnungen, die während des Verfahrens zum Einrichten des Kontos verwendet wurden, neu: Ks = DRSA(Ka, KLE)mod2n Ku = AES256(Ky, S[0])mod2n
  • Er verwendet dann Ku, um Au zu entschlüsseln: Ru = Au ⊕ Ku
  • Außerdem berechnet der Anmeldeserver einen Hash-Wert Bs von Ru: Bs = SHA256(Ru)mod2n
  • Alternativ und vorzugsweise wird zusätzlich mit Ku verschlüsselt: Bs = Ku ⊕ (SHA256(Ru)mod2n)
  • Der Wert Bs kann dem Benutzer zurück gegeben werden, was es dem Benutzer ermöglicht, die Echtheit der Website zu überprüfen. Alternativ kann in dem Fall, dass der Anmeldeserver in Besitz des privaten Abschnitts KLS eines Signaturschlüsselpaars ist, der Wert Bs durch seine Signatur mit dem Signaturschlüssel KLS ersetzt werden: Bs = SRSA(Bs, KLS)
  • In diesem Fall wird die Signatur, nicht der Wert Bs selbst, an den Benutzer gesendet. Der Benutzer kombiniert Bs und Bu und führt für diese Kombination eine Prüfung aus.
  • Außerdem kann der Anmeldeserver eine pseudozufällige Zahl Rs erzeugen, die verschlüsselt ist und verwendet werden kann, um Treu und Glauben des Benutzers zu prüfen: Rs = Random(n) Ps = Rs ⊕ Ku Qs = Rs ⊕ Ru
  • Alternativ und vorzugsweise wird Qs starker verschlüsselt; Qs = Rs ⊕ (SHA256(Ru)mod2n)
  • Der Anmeldeserver sendet Qs, Bs und Ps an den Webserver, der Bs und Ps an den Benutzer weiterleitet. Der Wert Qs wird von dem Webserver vorübergehend gespeichert. Der Computer des Benutzers vergleicht Bs und Bu. Wenn die zwei Werte identisch sind, weiß der Benutzer, dass die Website legitimiert und identisch mit der Website ist, bei welcher das Konto früher eingerichtet wurde. Wenn die zwei Werte nicht identisch sind, sollte der Benutzer den Anmeldeversuch abbrechen.
  • Wenn Bs mit Bu übereinstimmt, macht der Computer des Benutzers weiter, um PS zu entschlüsseln um Rs zu erhalten, und berechnet ein Hash von Rs: Rs = Ps ⊕ Ku Qu = Rs ⊕ Ru
  • Oder, wenn das alternative Verschlüsselungsprotokoll verwendet wird: Qu = Rs ⊕ (SHA256(Ru)mod2n)
  • Der Wert Qu wird an den Webserver zurückgegeben. Wenn Qu mit Qs übereinstimmt, hat der Webserver die Bestätigung, dass der Benutzer in Besitz von Ku ist, und der Benutzer wird angemeldet. Beide Werte Qs und Qu werden gelöscht.
  • Das Anmeldeverfahren ist sehr ähnlich, falls ein dynamischer geheimer Schlüssel verwendet wird, aber der von dem Benutzer gehaltene Schlüssel aktuell ist. Dieses Verfahren ist in Tabelle 2 zusammengefasst. Tabelle 2: Anmelden mit einem neuen Schlüssel
    Figure DE212015000047U1_0005
  • In der Ausführungsform von Tabelle 2 wird von dem Anmeldeserver Ks anstelle von Ku verwendet.
  • Das Anmeldeverfahren bedingt keine Übermittlung einer Benutzer-ID oder eines Passworts. Stattdessen werden bedeutungslose Zeichenketten oder Zahlen übermittelt. Das erfolgreiche Abhören von Kommunikationen zwischen dem Benutzer und dem Webserver stellt dem Hacker keine Werkzeuge bereit, die für einen unrechtmäßigen Anmeldeversuch verwendet werden könnten.
  • 3. Anmeldung in einer Umgebung mit dynamischem geheimem Schlüssel
  • Für zusätzliche Sicherheit kann von Zeit zu Zeit ein neuer geheimer Schlüssel erzeugt werden und zu der Anordnung S hinzugefügt werden. Der geheime Schlüsse wird niemals nach außerhalb des HSM übermittelt und ist nicht besonders anfällig für einen Sicherheitsangriff. Der entsprechende Benutzerschlüssel Ku ist jedoch auf dem Computer eines Benutzers gespeichert und daher weit anfälliger für einen Sicherheitsangriff als der geheime Schlüssel selbst. Der Benutzerschlüssel kann, wie durch das folgende Beispiel dargestellt, aktualisiert werden, nachdem der geheime Schlüssel auf eine Weise geändert wurde, die kein Eingreifen auf der Seite des Benutzers erfordert.
  • Ein neuer geheimer Schlüssel S[0] wird mit einem Zeitplan erzeugt, der von dem Anmeldeserver bestimmt wird. Der geheime Schlüssel an der Position S[m – 1] wird aus der Anordnung entfernt. Alle anderen geheimen Schlüssel werden um eine Position in der Anordnung aufgerückt, so dass die Position S[0] frei für den neuen geheimen Schlüssel wird. Der älteste geheime Schlüssel in der Anordnung S wird nur gelöscht, wenn notwendig, um zu vermeiden, dass die Anzahl von geheimen Schlüsseln in der Matrix S eine vorbestimmte Anzahl m überschreitet. Wenn der geheime Schlüssel seit dem letzten erfolgreichen Anmeldeversuch des Benutzers unverändert ist, ist der Benutzerschlüssel Ku, der von dem Benutzer gehalten wird, aktuell, und der Anmeldeversuch wird erfolgreich sein.
  • Wenn der geheime Schlüssel jedoch seit dem letzten erfolgreichen Anmeldeversuch des Benutzers modifiziert wurde, ist der Benutzerschüssel Ku, der von dem Benutzer gehalten wird, nicht aktuell, und der Wert Bs stimmt nicht mit Bu überein. In einer Umgebung mit dynamischem geheimem Schlüssel führt dies nicht zu einem fehlgeschlagenen Anmeldeversuch. Stattdessen weist der Webserver den Anmeldeserver an, den Wert i um eins zu inkrementieren. Mit anderen Worten wird der Anmeldeserver angewiesen, das Anmeldeprotokoll mit dem neuesten alten Schlüssel S[i + 1] zu wiederholen. Wenn der letzte erfolgreiche Anmeldeversuch des Benutzers durchgeführt wurde, als S[i + 1] der aktuelle geheime Schlüssel war, entspricht der von dem Benutzer gehaltene Benutzerschlüssel diesem geheimen Schlüssel und die Anmeldung wird bei diesem zweiten Versuch erfolgreich sein. Wenn nicht, kann der Wert von i erneut um eins inkrementiert werden und das Anmeldeprotokoll kann mit dem nächst neuesten alten geheimen Schlüssel wiederholt werden. Der Webserver kann der Anzahl von Iterationen eine Grenze setzen, so dass ein Benutzer, der einen sehr alten Benutzerschlüssel hält, ein Rücksetzen des Kontos anfordern kann oder das Verfahren zum Einrichten eines Kontos wiederholen kann.
  • Wenn ein erfolgreicher Anmeldeversuch mit einem alten Benutzerschlüssel durchgeführt wurde, wird die Sitzung genutzt, um den Benutzerschlüssel zu aktualisieren. Der neue Benutzerschlüssel wird auf eine Weise ähnlich dem Einrichtungsprotokoll berechnet. Der neue Benutzerschlüssel Rs wird mit dem alten Benutzerschlüssel Ku verschlüsselt, so dass der Benutzer in der Lage sein wird, ihn zu entschlüsseln: Rs = AES256(Ks, S[0])mod2n Ps = Rs ⊕ Ku
  • Der Computer des Benutzers entschlüsselt Ps und speichert den Schlüsselring, wobei der alte Schlüssel, den der Benutzer gerade verwendet hat, überschrieben wird: Z[k] = (Random(128 – n) << n) ⊕ Rs wodurch alle Bits von Z[k] ersetzt werden.
  • Der Benutzer braucht sich nicht darüber bewusst sein, dass irgend etwas von diesem stattfindet. Der Benutzer merkt sich einfach die Indexnummer k für den Schlüssel, der verwendet wird, um sich an dieser bestimmten Website anzumelden. Der Benutzer kann nicht wissen, ob, oder wie oft der Schlüssel geändert wird.
  • Tabelle 3 fasst das Anmeldeverfahren für eine Umgebung mit dynamischem geheimem Schlüssel zusammen: Tabelle 3: Anmelden mit altem Schlüssel
    Figure DE212015000047U1_0006
    Figure DE212015000047U1_0007
  • Das Verfahren ist ähnlich dem von Tabelle 2, aber da in dem ersten Versuch ein ungültiger Schlüssel verwendet wurde, schließt der Webserver, dass Qu (das null ist) nicht gleich Qs ist. Dies führt den Webserver dazu, i um 1 zu inkrementieren, das heißt, den Anmeldeserver anzuweisen, die Berechnungen mit i = 1 zu wiederholen. Diese Schleife wird wiederholt, bis ein funktionierender Schlüssel gefunden wird oder die Grenze m für den Wert i erreicht wird.
  • Beispielhaft kann eine Website ihren geheimen Schlüssel einmal pro Monat ersetzen und kann den Zugang „aktiven” Benutzern erlauben, die weniger als ein Jahr davor auf die Website zugegriffen haben. Der für diese Website festgelegte aktive Schlüsselsatz hält zwölf Schlüssel, den aktuellen Schlüssel und die elf neuesten alten Schlüssel. Der Wert von m ist in diesem Beispiel 12. Wenn ein Benutzer einen Anmeldeversuch mit einem Schlüssel unternimmt, der älter als 12 Monate ist, wird diesem Benutzer der Zugang verweigert. Dies wird in Tabelle 4 zusammengefasst. Tabelle 4: Anmelden mit falschem Schlüssel
    Figure DE212015000047U1_0008
    Figure DE212015000047U1_0009
  • Beachten Sie, dass in Tabelle 4 auch Ks anstelle von Ka verwendet wird.
  • Die Rollen des Benutzers, des Webservers und des Anmeldeservers werden jeweils in den Algorithmen 3, 4 und 5 skizziert. Algorithmus 3: Anmeldeprogramm des Benutzers
    Figure DE212015000047U1_0010
    Figure DE212015000047U1_0011
    Algorithmus 4: Anmeldeprogramm des Webservers
    Figure DE212015000047U1_0012
    Figure DE212015000047U1_0013
    Algorithmus 5: Programm des Anmeldeservers, das in dem HSM läuft
    Figure DE212015000047U1_0014
    Figure DE212015000047U1_0015
  • 1 ist eine schematische Darstellung einer alternativen Ausführungsform der vorliegenden Erfindung. Eine anfordernde Partei RP(i) leitet zum Beispiel unter Verwendung des Transport Layer Security-(TLS-)Protokolls eine sichere Verbindung mit einer autorisierenden Partei AP(j) ein. TLS wird allgemein als Vertrauenswürdigkeit, Integrität und Authentifizierung bereitstellend betrachtet. Im Verlauf des Festlegens der sicheren Verbindung stellt AP(j) ein Zertifikat C1 an RP(i) bereit.
  • Wenn die sichere Verbindung einmal eingerichtet ist, erzeugt RP(i) einen Einmalschlüssel N1. RP(i) verwendet das Zertifikat C1, um einen Verschlüsselungsschlüssel K[C1] nachzuschlagen, das vorher zum Beispiel in einer Registrierungssitzung oder einem Schlüsselauffrischungsprotokoll, wie in dem Zusammenhang der ersten Ausführungsform beschrieben, von AP(j) an RP(i) bereitgestellt wurde. Das Verknüpfen des passenden Schlüssels mit dem Zertifikat C1 stellt mehrere Vorteile bereit. Das Nachschlagen von Schlüsseln kann automatisiert werden, so dass RP sich keinen Schlüssel merken muss, der mit diesem spezifischen AP(j) verbunden ist. Außerdem stellt es sicher, dass der passende Schlüssel nur für diese spezifische AP(j) verwendet werden kann.
  • RP(i) erzeugt einen Wert A durch Verschlüsseln seines Einmalschlüssels N1 und von C1 unter Verwendung eines etablierten Verschlüsselungsprotokolls, zum Beispiel AES. RP(i) überträgt den Wert A zusammen mit einem Wert U, der mit der Identität von RP(i) verbunden ist, an AP(j). Der Wert U kann RP(i)s Benutzer-ID oder eine Verschlüsselung von RP(i)s Benutzer-ID sein. In einer bevorzugten Ausführungsform wird U durch Verschlüsseln von RP(i)s Benutzer-ID zusammen mit einem Wert, der für AP(j) eindeutig ist, zum Beispiel C1, erhalten. Auf diese Weise muss RP(i) sich nur eine Benutzer-ID merken oder speichern und dabei Werte von U erzeugen, die für jede AP eindeutig sind.
  • AP(j) überträgt die Werte U, A und C1 über eine sichere Verbindung, zum Beispiel eine gegenseitig authentifizierte TLS-Verbindung oder einen IPsec-Tunnel, an eine vertrauenswürdige dritte Partei (engl. Trusted Third Party; TTP). TTP schlägt in einer Liste AK[U] von Schlüsseln, die mit dem Wert U verbunden ist, nach und wählt aus dieser Liste UK[C1], den Schlüssel, der mit RP(i) verbunden ist, für die AP(j), die das Zertifikat C1 hält, aus, wobei UK[C1] = K.
  • TTP verwendet K und C1, um unter Verwendung des abgestimmten Verschlüsselungsprotokolls, zum Beispiel AES, den Wert A zu entschlüsseln, um N1 zu erzeugen. TTP erzeugt auch einen Einmalschlüssel N2, der mit N1 verschlüsselt wird, um den Wert B zu erzeugen. TTP überträgt B und N2 an AP(j), die wiederum B an RP(i) überträgt. Die Letztere verwendet N1, um B zu entschlüsseln, wodurch sie N2 erhält. RP(i) überträgt ihren Wert von N2 an AP(j), die ihn mit dem Wert von N2 vergleicht, den sie von TTP empfangen hat. Wenn die zwei Werte übereinstimmen, wird RP(i) der Zugang zu AP(j)s Site erlaubt.
  • Auf diese Weise wurde die Erfindung unter Bezug auf gewisse vorstehend diskutierte Ausführungsformen beschrieben. Es wird erkannt, dass diese Ausführungsformen empfänglich für vielfältige Modifikationen und alternative Formen sind, die Fachleuten der Technik wohlbekannt sind. Zum Beispiel kann das Anmeldeprotokoll modifiziert werden, indem man den Webserver den Wert von i basierend auf dem jüngsten erfolgreichen Anmeldeversuch des Benutzers bestimmen lässt, so dass der korrekte geheime Schlüssel in dem Ersten verwendet wird.
  • Viele Modifikationen können neben den vorstehend Beschriebenen an den hier beschriebenen Strukturen und Techniken vorgenommen werden, ohne von dem Geist und Schutzbereich der Erfindung abzuweichen. Obwohl spezifische Ausführungsformen beschrieben wurden, sind dies nur Beispiele und schränken den Schutzebereich der Erfindung nicht ein.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 2011/0082801 [0010]
  • Zitierte Nicht-Patentliteratur
    • Satyanarayanan, M: ”Integrating security in a large distributed system.” ACM Transactions on Computer Systems, Bd. 7. Nr. 3, Seiten 247–280 [0008]
    • unter http://srp.stanford.edu/design.html [0009]
    • http://www.cisco.com/c/en/us/support/docs/security-vpn/public-key-infrastructure-pki/116167-technote-scep-00.html [0010]
    • ”The Use of the Simple Certificate Enrollment Protocol (SCEP) and Untrusted Devices”, siehe http://www.css-security.com/wp-content/themes/css/scep/SCEP_and_Untrusted_Devices.pdf [0010]

Claims (22)

  1. Anmeldeserver, der ein Hardware Security Module (HSM) aufweist, wobei der Anmeldeserver durch eine sichere Kommunikationsleitung mit einem Webserver verbunden ist.
  2. Anmeldeserver nach Anspruch 1, der einen eindeutigen Website-Schlüssel für jeden Webserver, mit dem er arbeitet, aufweist.
  3. Anmeldeserver nach Anspruch 1 oder 2, wobei alle mathematischen Operationen in dem HSM ausgeführt werden.
  4. Anmeldeserver nach einem der vorangehenden Ansprüche, wobei das HSM einen geheimen Schlüssel enthält.
  5. Verfahren nach einem der Ansprüche 2 bis 5, wobei die Benutzerzufallszahl von dem Benutzer mit dem Benutzerschlüssel verschlüsselt wird und von dem Webserver oder einem Server, der zu dem Webserver gehört, mit dem Benutzerschlüssel entschlüsselt wird.
  6. Verfahren nach einem der Ansprüche 1 bis 6, wobei die Serverzufallszahl von dem Webserver oder von einem Server, de zu dem Webserver gehört, mit dem Benutzerschlüssel verschlüsselt wird und von dem Benutzer mit dem Benutzerschlüssel entschlüsselt wird.
  7. Verfahren nach einem der vorhergehenden Ansprüche, dem ein Verfahren zur Erzeugung eines Kontos vorangeht, welches das Erzeugen eines Site-Schlüssels, der zu dem Benutzer gehört, aufweist.
  8. Verfahren nach Anspruch 8, wobei während des Verfahrens zur Erzeugung eines Kontos ein Benutzerschlüssel erzeugt wird.
  9. Verfahren nach Anspruch 9, wobei während des Verfahrens zur Erzeugung eines Kontos der Benutzerschlüssel berechnet wird, indem der Site-Schlüssel mit einem aktuellen geheimen Schlüssel verschlüsselt wird.
  10. Verfahren nach einem der Ansprüche 3 bis 10, wobei der Benutzerschlüssel auf regelmäßiger Basis aufgefrischt wird, indem ein neuer Schlüssel erzeugt wird und der frühere Benutzerschlüssel als alter Schlüssel gekennzeichnet wird.
  11. Verfahren nach Anspruch 11, wobei der neue Schlüssel und eine vorbestimmte Anzahl alter Schlüssel als aktive Schlüssel gespeichert werden.
  12. Verfahren nach Anspruch 12, wobei der Benutzer für den Zugang zu der Internetdomäne autorisiert wird, nachdem der Webserver eine gültige Benutzer-ID und eine Bestätigung der Fähigkeit des Benutzers, die verschlüsselte Serverzufallszahl mit einem aktiven Schlüssel, der zu der Benutzer-ID gehört, zu entschlüsseln, empfangen hat.
  13. Verfahren nach Anspruch 13, das aufeinanderfolgende Anmeldeversuche aufweist, in denen aktive Schlüssel in einer umgekehrten chronologischen Reihenfolge ihrer Erzeugung verwendet werden.
  14. Verfahren nach Anspruch 13 oder 14, wobei dem Benutzer der Zugang zu der Internetdomäne verweigert wird, wenn der Benutzerschlüssel, der zum Entschlüsseln der Benutzerzufallszahl verwendet wird, kein aktiver Schlüssel ist.
  15. Verfahren nach Anspruch 13 oder 14, wobei dem Benutzer der neue Schlüssel nach der Verwendung eines aktiven Schlüssels, der nicht der neue Schlüssel ist, übermittelt wird, wenn der Benutzer für den Zugang zu der Internetdomäne autorisiert wurde.
  16. Verfahren nach Anspruch 13 oder 14, wobei der neue Schlüssel dem Benutzer nicht übermittelt wird, wenn ein Konto, das zu dem Benutzer gehört, für rückständig gehalten wird.
  17. Verfahren nach Anspruch 13 oder 14, wobei der Benutzer über ein rückständiges Konto benachrichtigt wird und dem Benutzer der neue Schlüssel übermittelt wird, nachdem der Benutzer den Rückstand beglichen hat.
  18. Verfahren nach Anspruch 15, wobei dem Benutzer der Zugang zu der Internetdomäne verweigert wird, bis eine vorbestimmte Bedingung erfüllt ist, indem die Anzahl aktiver Schlüssel, die in dem Verfahren ausprobiert werden, vorübergehend beschränkt wird und dem Benutzer kein neuer Schlüssel übermittelt wird, bis die Bedingung erfüllt ist.
  19. Verfahren nach einem der vorhergehenden Ansprüche, wobei alle Werte, die sich auf die Benutzerauthentifizierung beziehen, zwischen dem Benutzer und dem Webserver in verschlüsselter Form übermittelt werden.
  20. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Webserver mit einem Anmeldeserver verbunden ist.
  21. Verfahren nach Anspruch 21, wobei der Anmeldeserver die Berechnung von Werten abwickelt.
  22. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Webserver mit einem Kontenserver verbunden ist, der eine Tabelle mit Werten aufweist, die Benutzer-IDs und zugehörige Site-Schlüssel darstellen.
DE212015000047.8U 2014-01-15 2015-01-15 Sichere Anmeldung ohne Passwörter Expired - Lifetime DE212015000047U1 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
NLPCT/NL2014/050017 2014-01-15
PCT/NL2014/050017 WO2015108410A1 (en) 2014-01-15 2014-01-15 Secure login without passwords
PCT/NL2015/050025 WO2015108418A1 (en) 2014-01-15 2015-01-15 Secure login without passwords

Publications (1)

Publication Number Publication Date
DE212015000047U1 true DE212015000047U1 (de) 2016-09-30

Family

ID=49998649

Family Applications (1)

Application Number Title Priority Date Filing Date
DE212015000047.8U Expired - Lifetime DE212015000047U1 (de) 2014-01-15 2015-01-15 Sichere Anmeldung ohne Passwörter

Country Status (4)

Country Link
US (1) US10177921B2 (de)
EP (1) EP3095209A1 (de)
DE (1) DE212015000047U1 (de)
WO (2) WO2015108410A1 (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160314288A1 (en) * 2015-04-22 2016-10-27 Qualcomm Incorporated Method and apparatus for write restricted storage
US10218694B2 (en) 2016-11-22 2019-02-26 Bank Of America Corporation Securely orchestrating events initiated at remote servers using a certificate server
CN107295024A (zh) * 2017-08-24 2017-10-24 四川长虹电器股份有限公司 一种实现Web前端安全登陆和访问的方法
CN107733933B (zh) * 2017-11-30 2021-08-17 中国电力科学研究院有限公司 一种基于生物识别技术的双因子身份认证的方法及系统
CN108243006A (zh) * 2017-12-04 2018-07-03 山东超越数控电子股份有限公司 一种基于国产tcm芯片的可信冗余密码服务器
CN108768664B (zh) 2018-06-06 2020-11-03 腾讯科技(深圳)有限公司 密钥管理方法、装置、系统、存储介质和计算机设备
CN110176994A (zh) * 2019-05-30 2019-08-27 全链通有限公司 基于联盟区块链的会话密钥分发方法、设备及存储介质
CN110138558B (zh) * 2019-05-30 2021-09-10 全链通有限公司 会话密钥的传输方法、设备及计算机可读存储介质
CN110048843B (zh) * 2019-05-30 2021-09-10 全链通有限公司 会话密钥传输方法、设备及计算机可读存储介质
CN110048842B (zh) * 2019-05-30 2021-09-10 全链通有限公司 会话密钥处理方法、设备及计算机可读存储介质
CN110225011B (zh) * 2019-05-30 2021-07-13 全链通有限公司 用户节点的认证方法、设备及计算机可读存储介质
CN110176993A (zh) * 2019-05-30 2019-08-27 全链通有限公司 基于联盟区块链的会话密钥分发方法、设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110082801A1 (en) 2009-10-06 2011-04-07 Validity Sensors, Inc. Secure Transaction Systems and Methods

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050055426A1 (en) * 2000-06-12 2005-03-10 Kim Smith System, method and computer program product that pre-caches content to provide timely information to a user
US7500069B2 (en) * 2001-09-17 2009-03-03 Hewlett-Packard Development Company, L.P. System and method for providing secure access to network logical storage partitions
US8255700B2 (en) * 2004-06-29 2012-08-28 Qualcomm Incorporated Lockstep mechanism to ensure security in hardware at power-up
US8700788B2 (en) * 2006-08-18 2014-04-15 Smarticon Technologies, Llc Method and system for automatic login initiated upon a single action with encryption
US8136146B2 (en) * 2007-01-04 2012-03-13 International Business Machines Corporation Secure audit log access for federation compliance
US9172709B2 (en) * 2008-06-24 2015-10-27 Raytheon Company Secure network portal

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110082801A1 (en) 2009-10-06 2011-04-07 Validity Sensors, Inc. Secure Transaction Systems and Methods

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"The Use of the Simple Certificate Enrollment Protocol (SCEP) and Untrusted Devices", siehe http://www.css-security.com/wp-content/themes/css/scep/SCEP_and_Untrusted_Devices.pdf
http://www.cisco.com/c/en/us/support/docs/security-vpn/public-key-infrastructure-pki/116167-technote-scep-00.html
Satyanarayanan, M: "Integrating security in a large distributed system." ACM Transactions on Computer Systems, Bd. 7. Nr. 3, Seiten 247–280

Also Published As

Publication number Publication date
EP3095209A1 (de) 2016-11-23
US20160337132A1 (en) 2016-11-17
WO2015108418A1 (en) 2015-07-23
US10177921B2 (en) 2019-01-08
WO2015108410A1 (en) 2015-07-23

Similar Documents

Publication Publication Date Title
DE212015000047U1 (de) Sichere Anmeldung ohne Passwörter
DE112015000213B4 (de) Passwortgestützte Berechtigungsprüfung
DE60314402T2 (de) System und methode zum speichern sowie abrufen kryptographischer geheimnisse von unterschiedlichen kundenendgeräten in einem netzwerk
DE102014220808B4 (de) Verfahren und Vorrichtung zum Login bei medizinischen Geräten
DE69230429T2 (de) Sicherung/Rückgewinnung der Umgebung einer Geheimübertragungseinrichtung und Vervielfältigung in einem Kryptosystem mit öffentlichem Schlüssel
DE60036112T2 (de) Serverunterstützte wiedergewinnung eines starken geheimnisses aus einem schwachen geheimnis
EP2765752B1 (de) Verfahren zum versehen eines mobilen endgeräts mit einem authentisierungszertifikat
EP2340502B1 (de) Datenverarbeitungssystem zur bereitstellung von berechtigungsschlüsseln
EP2929648B1 (de) Verfahren zum aufbau einer sicheren verbindung zwischen clients
DE202009019188U1 (de) Authentifizierung von sicheren Transaktionen
DE10151277A1 (de) Verfahren zur Authentifizierung eines Netzwerkzugriffservers bei einem Authentifizierungsserver
WO2015187640A2 (en) System and method for secure review of audit logs
DE112006001151T5 (de) Computersicherheitssystem und -Verfahren
DE112008001436T5 (de) Sichere Kommunikation
DE112015002927T5 (de) Generierung und Verwaltung geheimer Chiffrierschlüssel auf Kennwortgrundlage
EP2567501B1 (de) Verfahren zum kryptographischen schutz einer applikation
WO2007045395A1 (de) Vorrichtungen und verfahren zum durchführen von kryptographischen operationen in einem server-client-rechnernetzwerksystem
DE112017005442T5 (de) Verfahren für einen Geheimniserzeugungsdienst zum Verteilen eines geteilten Geheimnisses
DE102014204252A1 (de) Sicherheitssystem mit Zugriffskontrolle
EP3220575B1 (de) Verfahren zur herstellung einer sicheren kommunikation zwischen einem client und einem server
EP3672142A1 (de) Verfahren und system zur sicheren übertragung eines datensatzes
EP3198826B1 (de) Authentisierungs-stick
DE102017121648B3 (de) Verfahren zum anmelden eines benutzers an einem endgerät
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.
LU103094B1 (de) Innovatives serverbasiertes verfahren zum management geheimer daten

Legal Events

Date Code Title Description
R207 Utility model specification
R150 Utility model maintained after payment of first maintenance fee after three years
R157 Lapse of ip right after 6 years