DE112012005033T5 - Systemübergreifende sichere Anmeldung - Google Patents

Systemübergreifende sichere Anmeldung Download PDF

Info

Publication number
DE112012005033T5
DE112012005033T5 DE201211005033 DE112012005033T DE112012005033T5 DE 112012005033 T5 DE112012005033 T5 DE 112012005033T5 DE 201211005033 DE201211005033 DE 201211005033 DE 112012005033 T DE112012005033 T DE 112012005033T DE 112012005033 T5 DE112012005033 T5 DE 112012005033T5
Authority
DE
Germany
Prior art keywords
hash key
authentication system
authentication
password
key
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
DE201211005033
Other languages
English (en)
Other versions
DE112012005033B4 (de
Inventor
c/o IBM Deutschland Research Rese Joachim
c/o IBM Deutschland Research Roehrig Jochen
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 DE112012005033T5 publication Critical patent/DE112012005033T5/de
Application granted granted Critical
Publication of DE112012005033B4 publication Critical patent/DE112012005033B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/41User authentication where a single sign-on provides access to a plurality of computers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

Ein Verfahren für eine systemübergreifende sichere Anmeldung in einem Zielsystem, indem ein erstes Authentifizierungssystem und ein zweites Authentifizierungssystem verwendet werden, kann bereitgestellt werden. Ein richtiges Passwort kann auf dem ersten Authentifizierungssystem und auf dem zweiten Authentifizierungssystem gültig sein. Das Verfahren kann das Empfangen eines Eingabepassworts, das Erzeugen eines ersten Hash-Schlüssels durch Verwendung des ersten Authentifizierungssystems und/oder das Erzeugen eines zweiten Hash-Schlüssels durch Verwendung des zweiten Authentifizierungssystems aufweisen, wobei jedes Authentifizierungssystem einen systemspezifischen, nicht kollisionsfreien Hash-Algorithmus verwendet. Das Verfahren kann darüber hinaus das Vergleichen des ersten Hash-Schlüssels mit einem ersten vorher festgelegten Hash-Schlüssel des richtigen Passworts, der in dem ersten Authentifizierungssystem gespeichert ist, und/oder das Vergleichen des zweiten Hash-Schlüssels mit einem zweiten vorher festgelegten Hash-Schlüssel des richtigen Passworts, der in dem zweiten Authentifizierungssystem gespeichert ist, aufweisen. Darüber hinaus kann das Verfahren das Gewähren des Zugriffs auf das Zielsystem auf der Grundlage von mindestens einem der Vergleiche aufweisen.

Description

  • Bereich der Erfindung
  • Die Erfindung betrifft allgemein ein Verfahren zur systemübergreifenden sicheren Anmeldung in einem Zielsystem und ein sicheres Anmeldesystem.
  • Die Erfindung betrifft des Weiteren ein Betriebssystem, ein Computersystem, ein Datenverarbeitungsprogramm und ein Computer-Programmprodukt.
  • Hintergrund der Erfindung
  • Viele Systeme erfordern eine Anmeldung oder einen Anmeldevorgang, bevor sie Zugriff auf das System oder auf Anwendungen, die auf dem System ausgeführt werden, gewähren. Ein Beispiel für einen üblichen Anmeldevorgang erfordert gegebenenfalls eine Benutzereingabe, d. h. ein Passwort, das von einer Hash-Funktion in einen Hash-Schlüssel umgesetzt werden kann. Der Hash-Schlüssel kann dann mit dem Hash-Schlüssel des richtigen Passworts verglichen werden, der von dem System oder der Anwendung möglicherweise gespeichert worden ist. Wenn der erzeugte Hash-Schlüssel mit dem gespeicherten Hash-Schlüssel übereinstimmt, kann der Benutzer angemeldet werden, d. h. dem Benutzer kann der Zugriff gewährt werden. Andernfalls schlägt die Anmeldung fehl und der Zugriff kann zurückgewiesen werden.
  • US 2002/0087890 A1 offenbart ein Verfahren, das den Empfang von Eingabedaten beinhaltet. Das Verfahren beinhaltet auch die Feststellung, ob ein Saltwert vorhanden ist, und das Erzeugen eines Saltwerts sowie das Speichern des Saltwerts in einem Tabelleneintrag, wenn kein Saltwert vorhanden ist. Das Verfahren ermöglicht ferner das Abrufen des Saltwerts aus dem Tabelleneintrag, wenn der Saltwert vorhanden ist, und das Erzeugen eines Hashs aus dem Saltwert und den Eingabedaten. Das Verfahren ermöglicht auch das Erzeugen eines Passworts aus dem Hash und das Zurücksenden des Passworts an eine Anwendung, um Zugriff auf die Anwendung zu erlangen.
  • US 2008/0120504 A1 offenbart ein System und ein Verfahren, die dazu dienen, die Identität einer Client-Einheit durch eine Authentifizierungseinheit festzustellen. Dem Benutzer der Client-Einheit wird eine persönliche Identifikationsnummer (PIN) zugewiesen, die von der Authentifizierungseinheit erzeugt wird. Der Benutzer stellt der Client-Einheit die PIN und ein Passwort bereit, aus denen die Client-Einheit einen symmetrischen Schlüssel und darüber hinaus ein aus einem öffentlichen und einem privaten Schlüssel bestehendes Schlüsselpaar erzeugt. Der private Schlüssel wird mittels des symmetrischen Schlüssels verschlüsselt und nur in verschlüsselter Form gespeichert. Der öffentliche Schlüssel und ein Nachrichtenauthentifizierungscode, die aus der PIN erzeugt werden, werden der Authentifizierungseinheit bereitgestellt, die den öffentlichen Schlüssel speichert. Anschließend, wenn der Benutzer um Authentifizierung ersucht, gibt er ein Passwort an der Client-Einheit ein, das zur Erzeugung eines symmetrischen Schlüssels verwendet wird, der dazu dient, den verschlüsselten privaten Schlüssel zu entschlüsseln. Eine Nachricht an die Authentifizierungseinheit wird unter Verwendung des resultierenden Werts signiert. Die Authentifizierungseinheit verwendet den öffentlichen Schlüssel, um die Signatur der Nachricht auf Echtheit zu prüfen.
  • Standardmäßige Anmeldevorgänge gelten als sicher, da die verwendeten Hash-Funktionen insofern nicht rückgängig gemacht werden können, als es weder eine Formel noch einen Algorithmus gibt, um das Argument der Hash-Funktion (Passwort) aus dem Hash-Schlüssel zu berechnen. Ein Angreifer kann jedoch umfangreiche Suchverfahren anwenden, um das richtige Passwort zu finden. Folglich probiert er mögliche Passwörter beim Anmeldevorgang aus oder – wenn der Angreifer den Hash-Schlüssel kennt – er wendet die Hash-Funktion auf mögliche Passwörter an und vergleicht das Ergebnis mit dem Hash-Schlüssel. Die Menge an gültigen Passwörtern ist riesig und es mag normalerweise unmöglich sein, alle Zeichenfolgen auszuprobieren, die ein gültiges Passwort bilden. In Wirklichkeit jedoch weisen die meisten Benutzer ein Passwort zu, das einige besondere Merkmale aufweist, zum Beispiel eine begrenzte Länge, ein Wort einer echten Sprache oder ein leicht modifiziertes Wort einer echten Sprache. Basierend auf dieser Beobachtung kann ein Angreifer ein Verzeichnis erstellen, das mehrere Millionen Wörter enthält, die wahrscheinlich als Passwort benutzt werden, und nur diese Wörter ausprobieren. Ein weiteres Problem besteht darin, dass viele Benutzer dasselbe Passwort für mehrere Systeme und Anwendungen benutzen. Das bedeutet, dass, wenn ein Angreifer das Klartext-Passwort kennt, er vielleicht versucht, das Passwort zur Anmeldung an einem anderen System oder einer anderen Anwendung als dem von ihm gehackten System oder der von ihm gehackten Anwendung zu verwenden, und sehr wahrscheinlich wird ihm das gelingen. Folglich bestimmt möglicherweise das schwächste System die Sicherheit von vielen Systemen.
  • Somit besteht gegebenenfalls Bedarf an einem verbesserten Verfahren für eine sichere Anmeldung in einem Zielsystem.
  • Kurzdarstellung der Erfindung
  • Diesem Bedarf kann durch ein Verfahren für eine sichere Anmeldung in einem Zielsystem, ein sicheres Anmeldesystem, ein Computersystem, ein Betriebssystem, ein Datenverarbeitungsprogramm sowie ein Computer-Programmprodukt gemäß den unabhängigen Ansprüchen Rechnung getragen werden.
  • In einer Ausführungsform kann ein Verfahren für eine sichere Anmeldung in einem Zielsystem, indem ein erstes Authentifizierungssystem und ein zweites Authentifizierungssystem verwendet werden, bereitgestellt werden. Ein richtiges Passwort kann auf dem ersten Authentifizierungssystem und auf dem zweiten Authentifizierungssystem gültig sein. Das Verfahren kann das Empfangen eines Eingabepassworts aufweisen. Das Verfahren kann des Weiteren das Erzeugen eines ersten Hash-Schlüssels durch Verwendung des ersten Authentifizierungssystems und/oder das Erzeugen eines zweiten Hash-Schlüssels durch Verwendung des zweiten Authentifizierungssystems aufweisen, wobei jedes Authentifizierungssystem einen systemspezifischen, nicht kollisionsfreien Hash-Algorithmus verwendet. Auch kann das Verfahren das Vergleichen des ersten Hash-Schlüssels mit einem ersten vorher festgelegten Hash-Schlüssel des richtigen Passworts, der in dem ersten Authentifizierungssystem gespeichert ist, und/oder das Vergleichen des zweiten Hash-Schlüssels mit einem zweiten vorher festgelegten Hash-Schlüssel des richtigen Passworts, der in dem zweiten Authentifizierungssystem gespeichert ist, aufweisen. Darüber hinaus kann das Verfahren das Gewähren des Zugriffs auf das Zielsystem auf der Grundlage von mindestens einem der Vergleiche aufweisen.
  • In einer weiteren Ausführungsform kann ein sicheres Anmeldesystem für eine sichere Anmeldung in einem Zielsystem, indem ein erstes Authentifizierungssystem und ein zweites Authentifizierungssystem verwendet werden, bereitgestellt werden. Ein Passwort kann auf dem ersten Authentifizierungssystem und auf dem zweiten Authentifizierungssystem gültig sein. Das sichere Anmeldesystem kann eine Empfangseinheit aufweisen, die so ausgelegt ist, dass sie ein Eingabepasswort empfängt. Ferner kann das sichere Anmeldesystem eine Erzeugungseinheit aufweisen, die so ausgelegt ist, dass sie einen ersten Hash-Schlüssel durch Verwendung des ersten Authentifizierungssystems erzeugt, und/oder so ausgelegt ist, dass sie einen zweiten Hash-Schlüssel durch Verwendung des zweiten Authentifizierungssystems erzeugt, wobei jedes Authentifizierungssystem einen systemspezifischen, nicht kollisionsfreien Hash-Algorithmus verwendet. Auch kann das sichere Anmeldesystem eine Vergleichseinheit aufweisen, die so ausgelegt ist, dass sie den ersten Hash-Schlüssel mit einem ersten vorher festgelegten Hash-Schlüssel des Passworts, der in dem ersten Authentifizierungssystem gespeichert ist, vergleicht, und/oder so ausgelegt ist, dass sie den zweiten Hash-Schlüssel mit einem zweiten vorher festgelegten Hash-Schlüssel des Passworts, der in dem zweiten Authentifizierungssystem gespeichert ist, vergleicht. Darüber hinaus kann das sichere Anmeldesystem eine Steuereinheit aufweisen, die so ausgelegt ist, dass sie den Zugriff auf das Zielsystem auf der Grundlage von mindestens einem der Vergleiche gewährt.
  • Im Einzelnen kann das Gewähren des Zugriffs auf das Zielsystem auf der Grundlage von mindestens einem der Vergleiche bedeuten, dass der Zugriff auf das Zielsystem auf der Grundlage von einem oder beiden der Vergleiche gewährt wird.
  • Ausführliche Beschreibung
  • Im Kontext dieser Anwendung werden die folgenden Konventionen befolgt: Authentifizierungssystem – Ein Authentifizierungssystem kann jede beliebige Art eines Systems sein, das so ausgelegt ist, dass es Eingabeinformationen, zum Beispiel ein Passwort, empfängt und in der Lage ist, die Identität eines Benutzers auf der Grundlage dieser Eingabeinformationen festzustellen.
  • Zielsystem – Das Zielsystem kann das System sein, auf das der Benutzer zugreifen möchte.
  • Sichere Anmeldung – Eine sichere Anmeldung kann eine Anmeldung sein, die durch die Verwendung eines Authentifizierungssystems sicher gemacht wird.
  • Passwort – Ein Passwort kann aus Symbolen, zum Beispiel aus Buchstaben oder Zahlen, bestehen. Das Passwort sollte einen Benutzer ausweisen können.
  • Systemspezifische, nicht kollisionsfreie Hash-Funktion – Eine Hash-Funktion ist ein beliebiger Algorithmus oder eine beliebige Unterroutine, der bzw. die große Datensätze, in diesem Fall Passwörter, kleineren Datensätzen, die als Hash-Schlüssel bezeichnet werden, zuordnet. Die von einer Hash-Funktion zurückgelieferten Werte werden als Hash-Werte, Hash-Codes, Hash-Summen, Prüfsummen oder einfach als Hashes bezeichnet. ”Systemspezifisch” kann bedeuten, dass die für ein Authentifizierungssystem verwendete Hash-Funktion global eindeutig ist. ”Nicht kollisionsfrei” kann bedeuten, dass mindestens eine Kollision auftreten kann, da mehr als ein Passwort einem einzigen Hash-Schlüssel zugeordnet werden kann (im Gegensatz zu kollisionsfrei, wobei ein Passwort einem einzigen Hash-Schlüssel zugeordnet wird). Eine bestimmte Ausführungsform einer ”nicht kollisionsfreien” Hash-Funktion kann eine ”kollisionssichere” Hash-Funktion sein, bei der eine bestimmte Anzahl von Passwörtern einem einzigen systemspezifischen Hash-Schlüssel zugeordnet werden kann. Im Einzelnen kann eine Hash-Funktion oder ein Hash-Algorithmus eine bestimmte Anzahl M von Argumenten (Passwörtern) demselben Hash-Schlüssel zuordnen.
  • Hash-Schlüssel – Ein Hash-Schlüssel kann die Ausgabe der Hash-Funktion sein und zu einer Vielzahl von Passwörtern gehören.
  • Das vorstehend beschriebene Verfahren für eine sichere Anmeldung in (oder an) einem Zielsystem kann mehrere Vorteile bieten.
  • Im Einzelnen kann es das Risiko auf ein Minimum herabsetzen, dass Passwörter, die von einem System oder einer Anwendung gestohlen wurden, zur unbefugten Anmeldung an einem anderen System oder einer anderen Anmeldung verwendet werden. Der Schwachpunkt der aktuellen Ausführungsarten des Anmeldevorgangs könnte darin bestehen, dass die verwendete Hash-Funktion quasi injektiv ist. Nur sehr wenige Passwörter – d. h. eines in praktisch allen Fällen – können demselben Hash-Schlüssel zugeordnet werden. Daher kann ein Hash-Schlüssel genau ein Passwort darstellen und folglich kann das Passwort von dem Hash-Schlüssel abgeleitet werden.
  • Die beiden Authentifizierungssysteme verfügen jeweils über einen eindeutigen Hash-Algorithmus und führen möglicherweise nicht dieselbe Hash-Funktion aus. Bei Verwendung eines nicht kollisionsfreien Hash-Algorithmus kann ein Passwort für das erste Authentifizierungssystem durch einen Angreifer von dem ersten erzeugten Hash-Schlüssel abgeleitet werden. Der Angreifer könnte möglicherweise aber nicht das richtige Passwort für das zweite Authentifizierungssystem abgeleitet haben. Zum Beispiel ordnet die eindeutige, kollisionssichere Hash-Funktion, die von dem zweiten Authentifizierungssystem ausgeführt wird, das Wort P1 möglicherweise dem Hash-Schlüssel HB1 zu, der sich im Allgemeinen von HA1, dem Hash-Schlüssel, dem das erste Authentifizierungssystem das Wort P1 zuordnet, unterscheiden kann. Eindeutigkeit könnte wichtig sein, um sicherzustellen, dass alle anderen Passwörter P2, ..., PM, die das erste System gegebenenfalls HA1 zuordnet, nicht HB1 zugeordnet werden können. Folglich kann ein Angreifer, der möglicherweise eines der Passwörter P2, ..., PM erfasst hat, keinen Zugriff über das zweite Authentifizierungssystem erlangen, weil dieses System den Zugriff zurückweisen würde, da der Vergleich eines gespeicherten Hash-Schlüssels des zweiten Hash-Algorithmus nicht zu einer Übereinstimmung mit einem erzeugten Hash-Schlüssel auf der Grundlage von einem der Passwörter P2, ..., PM führen würde.
  • In einer Ausführungsform des Verfahrens weist das Gewähren des Zugriffs auf das Zielsystem das Gewähren des Zugriffs auf der Grundlage von beiden Vergleichen auf.
  • Gemäß dieser Ausführungsform kann ein stufenweiser Anmeldevorgang realisiert werden. Zugriff auf das Zielsystem kann nur dann gewährt werden, wenn beide Vergleiche gültig sind. Folglich kann ein Angreifer, der möglicherweise eines der Passwörter P2, ..., PM erfasst hat, keinen Zugriff auf das Zielsystem erlangen, weil das zweite Authentifizierungssystem den Zugriff zurückweisen würde, da der Vergleich eines gespeicherten Hash-Schlüssels des zweiten Hash-Algorithmus nicht zu einer Übereinstimmung mit einem erzeugten Hash-Schlüssel auf der Grundlage von einem der Passwörter P2, ..., PM führen würde.
  • In einer weiteren Ausführungsform des Verfahrens weist das Gewähren des Zugriffs auf das Zielsystem das Gewähren des Zugriffs auf ein erstes Zielsystem auf der Grundlage eines Vergleichs des ersten Hash-Schlüssels mit dem ersten vorher festgelegten Hash-Schlüssel und das Gewähren des Zugriffs auf ein zweites Zielsystem auf der Grundlage eines Vergleichs des zweiten Hash-Schlüssels mit dem zweiten vorher festgelegten Hash-Schlüssel auf.
  • Gemäß dieser Ausführungsform könnte ein Angreifer, der möglicherweise eines der Passwörter P2, ..., PM erfasst hat, Zugriff auf das erste Zielsystem erlangen. Jedoch kann er über das zweite Authentifizierungssystem keinen Zugriff auf das zweite Zielsystem erlangen, weil dieses System den Zugriff zurückweisen würde, da der Vergleich eines gespeicherten Hash-Schlüssels des zweiten Hash-Algorithmus nicht zu einer Übereinstimmung mit einem erzeugten Hash-Schlüssel auf der Grundlage von einem der Passwörter P2, ..., PM führen würde.
  • In einer Ausführungsform des Verfahrens kann jeder systemspezifische, nicht kollisionsfreie Hash-Algorithmus ein kollisionssicherer Hash-Algorithmus sein. Wie vorstehend beschrieben wurde, kann der kollisionssichere Hash-Algorithmus für eine bestimmte Anzahl von Passwörtern einen einzelnen systemspezifischen Hash-Schlüssel erzeugen.
  • In einer weiteren Ausführungsform des Verfahrens weist das Verfahren des Weiteren das Erzeugen des ersten vorher festgelegten Hash-Schlüssels, indem der eindeutige, nicht kollisionsfreie Hash-Algorithmus des ersten Authentifizierungssystems verwendet wird, und das Erzeugen des zweiten vorher festgelegten Hash-Schlüssels, indem der eindeutige, nicht kollisionsfreie Hash-Algorithmus des zweiten Authentifizierungssystems verwendet wird, sowie das Speichern des ersten vorher festgelegten Hash-Schlüssels in dem ersten Authentifizierungssystem und das Speichern des zweiten vorher festgelegten Hash-Schlüssels in dem zweiten Authentifizierungssystem auf.
  • Gemäß dieser Ausführungsform können der erste vorher festgelegte Hash-Schlüssel und der zweite vorher festgelegte Hash-Schlüssel erzeugt werden, bevor die Authentifizierungssysteme gestartet werden, um eine sichere Anmeldung zu ermöglichen.
  • In einer weiteren Ausführungsform des Verfahrens weist das Verfahren den Empfang des Eingabepassworts über einen sicheren Kanal auf.
  • Ein sicherer Kanal kann ein Kanal sein, der so ausgelegt ist, dass er Daten überträgt, die abfang- und manipulationsresistent sind. Der sichere Kanal kann für den Empfang des Passworts verwendet werden und er kann darüber hinaus zwischen dem ersten und dem zweiten Authentifizierungssystem verwendet werden.
  • In einer weiteren Ausführungsform des Verfahrens weist das Vergleichen des ersten Hash-Schlüssels mit einem ersten vorher festgelegten Hash-Schlüssel und das Vergleichen des zweiten Hash-Schlüssels mit einem zweiten vorher festgelegten Hash-Schlüssel das Erzeugen einer Booleschen Information für jeden Vergleich auf.
  • Jeder Vergleich kann zu einer Entscheidung, ob die verglichenen Werte oder Schlüssel gleich sind oder nicht, führen. Das Ergebnis kann gespeichert und als Boolesche Information, beispielsweise als wahr oder falsch, weiter verarbeitet werden. Diese Werte, d. h. wahr und falsch, können auch das Format '0' und '1' haben.
  • In einer Ausführungsform des sicheren Anmeldesystems sind das Zielsystem und das erste Authentifizierungssystem Teil von einem einzigen System.
  • Das Zielsystem kann das System sein, auf das der Benutzer zugreifen möchte. Das Zielsystem und das erste Authentifizierungssystem können zu einem einzigen System zusammengefasst werden. Das sichere Anmeldesystem kann das Eingabepasswort dem ersten Authentifizierungssystem und dem zweiten Authentifizierungssystem bereitstellen. Das zweite Authentifizierungssystem kann sich fern des Zielsystems und des ersten Authentifizierungssystems befinden und so ausgelegt sein, dass es über einen sicheren Kanal Daten austauscht.
  • In einer weiteren Ausführungsform des sicheren Anmeldesystems weist das sichere Anmeldesystem das Zielsystem, das erste Authentifizierungssystem und das zweite Authentifizierungssystem auf.
  • Das Zielsystem kann als ein einziges System zusammen mit den beiden Authentifizierungssystemen ausgeführt sein. Gegebenenfalls ermöglicht das sichere Anmeldesystem in einem ersten Schritt einen Datenaustausch zur Feststellung der Identität eines Benutzers nur bis zu dem Teil des Gesamtsystems, der beide Authentifizierungssysteme darstellt. Im Falle einer positiven Identitätsfeststellung kann das sichere Anmeldesystem den Zugriff auf den Teil des Gesamtsystems gewähren, der das Zielsystem oder die Zielanwendung darstellt.
  • Überdies kann ein Betriebssystem so konfiguriert werden, dass es das Verfahren gemäß dem erfindungsgemäßen Verfahren ausführt, wie vorstehend erklärt wurde. Eine solche Einbindung in ein Betriebssystem hat gegebenenfalls den Vorteil, dass das Verfahren für eine sichere Anmeldung sofort als eine neue Funktion des Betriebssystems, unmittelbar nach einer Installation, ausgeführt werden kann. Möglicherweise müssen für eine sichere Anmeldung keine neuen zusätzlichen Betriebssystemprogramme auf dem Computer installiert werden.
  • Es sei angemerkt, dass Ausführungsformen die Form einer ganz in Hardware realisierten Ausführung, einer ganz in Software realisierten Ausführung oder einer Ausführung annehmen können, die sowohl Hardware- als auch Software-Elemente enthält. In einer bevorzugten Ausführungsform kann die Erfindung in Software realisiert sein, die Firmware, residente Software und/oder Mikrocode, ohne darauf beschränkt zu sein, beinhaltet.
  • In einer weiteren Ausführungsform kann ein Satz von Datenverarbeitungsprogrammen zur Ausführung in vernetzten Datenverarbeitungssystemen (die zu dem ersten Authentifizierungssystem und dem zweiten Authentifizierungssystem gehören) bereitgestellt werden, die Teile von Softwarecode zur Durchführung des Verfahrens, das vorstehend beschrieben wurde, aufweisen, wenn das Programm auf den vernetzten Datenverarbeitungssystemen ausgeführt werden kann. Bei den Datenverarbeitungssystemen kann es sich um einen Computer oder um Computersysteme handeln.
  • Überdies können Ausführungsformen die Form eines Computer-Programmprodukts annehmen, auf das von einem Datenträger zugegriffen werden kann, der von einem Computer genutzt oder gelesen werden kann und der Programmcode zur Verwendung durch einen Computer oder ein beliebiges Anweisungsausführungssystem oder in Verbindung mit einem Computer oder einem beliebigen Anweisungsausführungssystem bereitstellt. Zum Zweck dieser Beschreibung kann ein von einem Computer nutzbarer oder lesbarer Datenträger jede Vorrichtung sein, die ein Mittel enthalten kann, um das Programm zur Verwendung durch das Anweisungsausführungssystem, die Anweisungsausführungsvorrichtung oder -einheit oder ein Netzwerk aus Computern oder zur Verwendung in einer Verbindung mit dem Anweisungsausführungssystem, der Anweisungsausführungsvorrichtung oder -einheit oder einem Netzwerk aus Computern (zum Beispiel dem ersten und dem zweiten Authentifizierungssystem) zu speichern, zu übertragen, weiterzuleiten oder zu transportieren.
  • Bei dem Datenträger kann es sich um ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem für ein Weiterleitungsmedium handeln. Zu Beispielen für einen computerlesbaren Datenträger können ein Halbleiterspeicher, ein Magnetband, eine auswechselbare Computerdiskette, ein Direktzugriffspeicher (RAM), ein Nur-Lese-Speicher (ROM), eine magnetische Festplatte und eine optische Platte gehören. Zu aktuellen Beispielen für optische Platten gehören ein Compact-Disk-Nur-Lese-Speicher (CD-ROM), ein Compact-Disk-Schreib-/Lese-Speicher (CD-R/W), eine digitale Videoplatte (DVD) und eine Blu-Ray-Disk.
  • Es sei auch erwähnt, dass Ausführungsformen der Erfindung mit Bezug auf verschiedene Gegenstände beschrieben wurden. Insbesondere wurden bestimmte Ausführungsformen mit Bezug auf Ansprüche vom Typ Verfahren beschrieben, wohingegen andere Ausführungsformen mit Bezug auf Ansprüche vom Typ Vorrichtung beschrieben wurden. Der Fachmann entnimmt jedoch der vorstehenden und der nachfolgenden Beschreibung, dass, vorbehaltlich anderer Angaben, neben jeder Kombination aus Merkmalen, die zu einem Typ von Gegenstand gehören, auch jede Kombination zwischen Merkmalen, die sich auf verschiedene Gegenstände beziehen, insbesondere zwischen Merkmalen der Ansprüche vom Typ Verfahren und Merkmalen der Ansprüche vom Typ Vorrichtung, als in diesem Schriftstück offengelegt gelten.
  • Die vorstehend angegebenen Aspekte und weitere Aspekte der vorliegenden Erfindung gehen aus den Beispielen von Ausführungsformen, die nachstehend zu beschreiben sind, hervor und werden mit Bezug auf die Beispiele von Ausführungsformen erklärt, auf welche die Erfindung jedoch nicht beschränkt ist.
  • Kurze Beschreibung der Zeichnungen
  • Bevorzugte Ausführungsformen der Erfindung werden nun lediglich anhand eines Beispiels und mit Bezug auf die folgenden Zeichnungen beschrieben:
  • 1 zeigt ein Blockschaubild einer Ausführungsform des erfindungsgemäßen Verfahrens für eine sichere Anmeldung in einem Zielsystem.
  • 2 zeigt ein Blockschaubild eines üblichen Anmeldevorgangs.
  • 3 zeigt ein Blockschaubild eines Anmeldevorgangs gemäß einer Ausführungsform des erfindungsgemäßen Verfahrens für eine Anmeldung auf einem ersten Authentifizierungssystem.
  • 4 zeigt ein Blockschaubild eines möglichen Angriffs auf das erste Authentifizierungssystem von 3.
  • 5 zeigt ein Blockschaubild eines Anmeldevorgangs gemäß einer Ausführungsform des erfindungsgemäßen Verfahrens für eine Anmeldung auf einem zweiten Authentifizierungssystem durch den Angreifer von 4.
  • 6 zeigt ein Blockschaubild eines sicheren Anmeldesystems.
  • 7 zeigt ein Blockschaubild einer Ausführung des sicheren Anmeldesystems von 6.
  • 8 zeigt ein Computersystem, welches das erfindungsgemäße sichere Anmeldesystem enthält.
  • Ausführliche Beschreibung von beispielhaften Ausführungsformen
  • Im Folgenden werden die Figuren ausführlich beschrieben. Alle Abbildungen in den Figuren sind schematisch. Zunächst wird ein Blockschaubild einer Ausführungsform des Verfahrens für eine sichere Anmeldung beschrieben. Dann werden Ausführungsformen des Verfahrens und des sicheren Anmeldesystems beschrieben.
  • 1 zeigt ein Blockschaubild einer Ausführungsform des erfindungsgemäßen Verfahrens 100 für eine sichere Anmeldung in (oder an) einem Zielsystem, indem ein erstes Authentifizierungssystem und ein zweites Authentifizierungssystem verwendet werden. Ein richtiges Passwort kann auf dem ersten Authentifizierungssystem und auf dem zweiten Authentifizierungssystem gültig sein. Das Verfahren kann das Empfangen eines Eingabepassworts, 102, aufweisen. Das Verfahren kann des Weiteren das Erzeugen, 104, eines ersten Hash-Schlüssels durch Verwendung des ersten Authentifizierungssystems und/oder das Erzeugen, 104, eines zweiten Hash-Schlüssels durch Verwendung des zweiten Authentifizierungssystems aufweisen, wobei jedes Authentifizierungssystem einen systemspezifischen, nicht kollisionsfreien Hash-Algorithmus verwendet. Auch kann das Verfahren das Vergleichen, 106, des ersten Hash-Schlüssels mit einem ersten vorher festgelegten Hash-Schlüssel des richtigen Passworts, der in dem ersten Authentifizierungssystem gespeichert ist, und/oder das Vergleichen, 106, des zweiten Hash-Schlüssels mit einem zweiten vorher festgelegten Hash-Schlüssel des richtigen Passworts, der in dem zweiten Authentifizierungssystem gespeichert ist, aufweisen. Darüber hinaus kann das Verfahren das Gewähren des Zugriffs, 108, auf das Zielsystem auf der Grundlage von mindestens einem der Vergleiche aufweisen.
  • 2 zeigt ein Blockschaubild 200 eines üblichen Anmeldevorgangs. Von diesem üblichen Anmeldevorgang kann an praktisch allen Systemen und Anwendungen Gebrauch gemacht werden. Eine von einem Benutzer gemachte Eingabe P1 202 kann von einer Hash-Funktion 204 in einen Hash-Schlüssel H1 206 umgesetzt werden. Der Hash-Schlüssel H1 kann mit einem Hash-Schlüssel H 208 des richtigen Passworts, der von dem System oder der Anwendung gespeichert worden ist, verglichen, 210, werden. Wenn H1 mit H übereinstimmt, kann der Benutzer angemeldet werden, 212. Andernfalls schlägt die Anmeldung fehl und der Zugriff auf das Zielsystem kann zurückgewiesen oder verweigert werden, 214.
  • Der standardmäßige Anmeldevorgang kann als sicher betrachtet werden, da die verwendeten Hash-Funktionen insofern irreversibel sein können, als es weder eine Formel noch einen Algorithmus gibt, um das Argument der Hash-Funktion (Passwort) aus dem Hash-Schlüssel zu berechnen. Ein Angreifer kann jedoch umfangreiche Suchverfahren anwenden, um das richtige Passwort zu finden. Folglich probiert er entweder mögliche Passwörter beim Anmeldevorgang aus oder – wenn der Angreifer den Hash-Schlüssel kennt – er wendet die Hash-Funktion auf mögliche Passwörter an und vergleicht das Ergebnis mit dem Hash-Schlüssel. Die Menge an gültigen Passwörtern kann riesig sein und es dürfte für gewöhnlich unmöglich sein, alle Zeichenfolgen auszuprobieren, die ein gültiges Passwort bilden. In Wirklichkeit jedoch weisen die meisten Benutzer ein Passwort zu, das einige spezielle Merkmale aufweist, zum Beispiel eine begrenzte Länge, ein Wort einer echten Sprache oder ein leicht modifiziertes Wort einer echten Sprache. Basierend auf dieser Beobachtung kann ein Angreifer ein Verzeichnis erstellen, das Wörter enthält, die wahrscheinlich als Passwort benutzt werden, und der Angreifer probiert möglicherweise nur diese Wörter aus.
  • Viele Benutzer verwenden dasselbe Passwort für mehrere Systeme und Anwendungen. Das kann bedeuten, dass, wenn ein Angreifer das Klartext-Passwort kennt, er vielleicht versucht, das Passwort zur Anmeldung an einem anderen System oder einer anderen Anwendung als dem System oder der Anwendung, die er gehackt hat, zu verwenden, und er könnte Erfolg haben.
  • Dieses Szenario kann durch das in 1 beschriebene Verfahren vermieden werden, welches das Risiko auf ein Minimum herabsetzt, dass Passwörter, die einem System oder einer Anwendung gestohlen wurden, zur unbefugten Anmeldung an einem anderen System oder einer anderen Anmeldung verwendet werden.
  • Der Schwachpunkt des beschriebenen üblichen Systems oder Vorgangs könnte darin bestehen, dass die verwendete Hash-Funktion quasi injektiv ist. Nur sehr wenige Passwörter (eines in praktisch allen Fällen) werden demselben Hash-Schlüssel zugeordnet. Beispielsweise wird das Passwort P1 von 2 dem Hash-Schlüssel H1 zugeordnet, wobei jedes Passwort Pn, das ungleich P1 ist, einem Hash-Schlüssel Hn zugeordnet wird, der ungleich H1 ist. Daher kann ein Hash-Schlüssel im Grunde genau ein Passwort darstellen und folglich könnte das Passwort von dem Hash-Schlüssel abgeleitet werden.
  • Gemäß dem beschriebenen erfindungsgemäßen Verfahren kann eine Hash-Funktion verwendet werden, die eine bestimmte Anzahl M von Argumenten (Passwörtern) demselben Hash-Schlüssel zuordnet. Diese Eigenschaft kann als ”kollisionssicher” oder ”nicht kollisionsfrei” bezeichnet werden. Eine kollisionssichere Hash-Funktion kann beispielsweise ein Passwort P1 einem Hash-Schlüssel HA1 zuordnen. Darüber hinaus kann es noch M – 1 Wörter P2, ..., PM geben, die demselben Hash-Schlüssel HA1 zugeordnet werden, wenn sie als Argument für die kollisionssichere Hash-Funktion verwendet werden.
  • Die Anzahl M von Argumenten einer kollisionssicheren Hash-Funktion, die demselben Hash-Schlüssel zugeordnet werden, kann mindestens oder durchschnittlich als genau betrachtet werden. Die Anzahl M kann im Vergleich zu der maximalen Anzahl von falschen Passwörtern, die gewöhnlich eingegeben werden können, bevor der Benutzer gesperrt wird, hoch sein. M kann bezogen auf die Anzahl aller möglichen Passwörter sehr niedrig sein (beispielsweise könnte eine Million ein Wert für M sein).
  • Ein weiteres Merkmal der Hash-Funktion, die von einer Ausführungsform der vorliegenden Erfindung ausgeführt wird, kann das Merkmal sein, dass sie system- oder anwendungsspezifisch ist. Anders ausgedrückt, zwei verschiedene Systeme oder Anwendungen können gegebenenfalls nicht dieselbe Hash-Funktion ausführen. Zum Beispiel ordnet die eindeutige, kollisionssichere Hash-Funktion, die vom System B ausgeführt wird, das Wort P1 HB1 zu, der sich im Allgemeinen von HA1, dem Hash-Schlüssel, den das System A dem Wort P1 zuordnet, unterscheiden kann. Von der Eindeutigkeit kann Gebrauch gemacht werden, um sicherzustellen, dass alle anderen Passwörter P2, ..., PM, die das System A HA1 zuordnet, nicht (oder sehr wahrscheinlich nicht) HB1 zugeordnet werden.
  • 3 zeigt ein Blockschaubild 300 eines Anmeldevorgangs gemäß einer Ausführungsform des erfindungsgemäßen Verfahrens für eine Anmeldung an einem ersten Authentifizierungssystem. 4 zeigt ein Blockschaubild 400 eines möglichen Angriffs auf das erste Authentifizierungssystem von 3. 5 zeigt ein Blockschaubild 500 eines Anmeldevorgangs gemäß einer Ausführungsform des endungsgemäßen Verfahrens für eine Anmeldung an einem zweiten Authentifizierungssystem durch den Angreifer von 4.
  • Die 3 bis 5 zeigen, warum ein Passwort, das dem System A gestohlen wurde, sehr wahrscheinlich nicht für eine Anmeldung am System B verwendet werden kann. Es kann davon ausgegangen werden, dass ein Benutzer dasselbe Passwort P1 für den Zugriff auf beide Systeme zugewiesen hat. Das richtige Passwort P1 302 kann einem Hash-Schlüssel HA1 306 von einer eindeutigen, kollisionssicheren Hash-Funktion 304 am System A zugeordnet werden. Der Hash-Schlüssel kann mit einem gespeicherten Hash-Schlüssel 308 verglichen, 310, werden. Der gespeicherte Hash-Schlüssel kann vor dem Anmeldevorgang erzeugt und in dem Authentifizierungsvorgang zur weiteren Verwendung gespeichert werden. Da eine Übereinstimmung vorliegt, kann der Zugriff auf das System gewährt werden.
  • Ein Angreifer, der entweder Zugriff auf den Hash-Schlüssel HA1 402 hat oder den Anmeldevorgang mit praktisch unbegrenzter Häufigkeit durchführen oder Brute-Force-Methoden wie eine ausführliche Suche, Regenbogentabellen, auf einem Verzeichnis basierende Suchläufe oder anderes, 404, anwenden kann, kann alle Wörter P1, ..., PM 406, die dem Hash-Schlüssel HA1 zugeordnet sind, finden. Aus der Wahrnehmung eines Angreifers ist es gewöhnlich bei allen Wörtern sogar wahrscheinlich, dass es sich bei ihnen um das richtige Passwort handelt.
  • Auf dem System B kann das Passwort P1 von der ausgeführten eindeutigen, kollisionssicheren Hash-Funktion 504 dem Hash-Schlüssel HB1 zugeordnet werden, der mit dem gespeicherten Hash-Schlüssel 508 übereinstimmt, und folglich kann es den Zugriff auf das System gewähren. Jedes andere mögliche Passwort P2, ..., PM 502, das ein Angreifer gefunden hat, indem er in das System A eingedrungen ist, kann vom System B möglicherweise jedoch nicht HB1 510 zugeordnet werden und folglich kann keines dieser Wörter den Zugriff auf das System B gewähren. Es kann jedoch M verschiedene Wörter PB1 = P1, PB2, ..., PBM geben, die den Zugriff auf das System B gewähren können. Da M gewöhnlich viel größer als die Anzahl der Anmeldeversuche sein kann, die fehlschlagen, bevor ein Benutzer gesperrt wird, ist der Satz möglicher Passwörter P1, ..., PM für den Angreifer, um in das System B einzudringen, nahezu wertlos.
  • Die Verwendung von kollisionssicheren Hash-Funktionen kann den systemübergreifenden Schutz vor Brute-Force-Angriffen erhöhen, da ein Hash-Schlüssel oder ein Passwort, das einem System gestohlen wurde, für ein zweites System praktisch unbrauchbar ist. Ein einzelnes System kann jedoch weniger sicher werden, da für jeden Benutzer M verschiedene Wörter als richtiges Passwort für den Systemzugriff in Frage kommen. Ein Angreifer könnte folglich M Mal weniger Versuche benötigen, um ein gültiges Passwort für ein einzelnes System zu bekommen. Dieser Kompromiss zwischen dem Schutz eines einzelnen Systems und einem systemübergreifenden Schutz könnte annehmbar sein, da erfolgreiche Brute-Force-Attacken normalerweise eine spezielle Berechtigung (die der Angreifer legal oder illegal erworben hat) erforderlich machen können, zum Beispiel die Manipulation der Prüffunktionalität, die Freigabe von gesperrten Benutzern, der Zugriff auf Hash-Schlüssel oder der direkte Zugriff auf die Verschlüsselungseinrichtung.
  • Bei manchen Systemen oder Anwendungen ist der Verlust der Sicherheit durch die Einführung von kollisionssicheren Hash-Funktionen gegebenenfalls inakzeptabel. Eine Ausführungsform der vorliegenden Erfindung kann die geringere Sicherheit eines einzelnen Systems durch die Einführung eines stufenweisen Anmeldevorgangs ausgleichen. 6 zeigt ein Blockschaubild 600 eines solchen sicheren Anmeldesystems.
  • Das sichere Anmeldesystem 600 kann für eine sichere Anmeldung in einem Zielsystem verwendet werden, indem ein erstes Authentifizierungssystem und ein zweites Authentifizierungssystem verwendet werden. Ein Passwort kann auf dem ersten Authentifizierungssystem und auf dem zweiten Authentifizierungssystem gültig sein. Das sichere Anmeldesystem kann eine Empfangseinheit 602 aufweisen, die so ausgelegt ist, dass sie ein Eingabepasswort empfängt. Ferner kann das sichere Anmeldesystem eine Erzeugungseinheit 604 aufweisen, die so ausgelegt ist, dass sie einen ersten Hash-Schlüssel durch Verwendung des ersten Authentifizierungssystems erzeugt, und/oder so ausgelegt ist, dass sie einen zweiten Hash-Schlüssel durch Verwendung des zweiten Authentifizierungssystems erzeugt. Jedes Authentifizierungssystem kann einen systemspezifischen, nicht kollisionsfreien Hash-Algorithmus verwenden, wie vorstehend beschrieben wurde.
  • Auch kann das sichere Anmeldesystem eine Vergleichseinheit 606 aufweisen, die so ausgelegt ist, dass sie den ersten Hash-Schlüssel mit einem ersten vorher festgelegten Hash-Schlüssel des Passworts, der in dem ersten Authentifizierungssystem gespeichert ist, vergleicht, und/oder so ausgelegt ist, dass sie den zweiten Hash-Schlüssel mit einem zweiten vorher festgelegten Hash-Schlüssel des Passworts, der in dem zweiten Authentifizierungssystem gespeichert ist, vergleicht. Das Ergebnis des Vergleichs kann ein Boolescher Wert sein, d. h. wahr oder falsch. Das sichere Anmeldesystem kann des Weiteren eine Steuereinheit 608 aufweisen, die so ausgelegt ist, dass sie den Zugriff auf das Zielsystem auf der Grundlage von mindestens einem der Vergleiche gewährt. Dies kann bedeuten, dass, wenn das Ergebnis des Vergleichs wahr oder positiv ist, der Zugriff möglicherweise gewährt wird, und wenn das Ergebnis des Vergleichs falsch oder negativ ist, der Zugriff möglicherweise zurückgewiesen wird. Der Zugriff kann entweder auf ein erstes Zielsystem über das erste Authentifizierungssystem oder auf ein zweites Zielsystem über das zweite Authentifizierungssystem gewährt werden.
  • 7 zeigt ein Blockschaubild 700 einer Ausführung des sicheren Anmeldesystems von 6. Zwei Systeme, das System A, 704, und das System B, 706, sind gezeigt. Für jeden regulären Benutzer gibt es auf jedem System möglicherweise dasselbe Passwort, das als Hash-Schlüssel einer eindeutigen, kollisionssicheren Hash-Funktion gespeichert ist.
  • Im Folgenden ist das richtige Passwort möglicherweise P1. Da kollisionssichere Hash-Funktionen verwendet werden, kann P1 nicht von einem einzigen Hash-Schlüssel abgeleitet werden, der auf einem der beiden Systeme gespeichert ist. Der Benutzer kann zum Beispiel über ein Eingabegerät ein Wort P 702 als Passwort am System A eingeben. Ferner wird die Benutzereingabe P an das System B gesendet. Das Passwort kann entweder direkt über das Eingabegerät oder über das System A an das System B weitergeleitet werden. Dies kann über ein Netzwerk 708 geschehen, das einen sicheren Kanal aufweisen kann, d. h. über ein sicheres Netzwerk und/oder ein sicheres Netzwerkprotokoll. Die eindeutige, kollisionssichere Hash-Funktion 710 kann an P in beiden Systemen ausgeführt werden. Wenn das Ergebnis nicht mit dem auf dem System A gespeicherten Hash-Schlüssel übereinstimmt, wird der Zugriff auf das System zurückgewiesen, 718. Andernfalls ist P ein Element der Gruppe von Wörtern {PA1, ..., PAM}, die dem Hash-Schlüssel zugeordnet sind, welcher am System A gespeichert ist, 712. Diese Gruppe beinhaltet P1. Auf dem System B wird der erzeugte Hash-Schlüssel auch mit dem Hash-Schlüssel verglichen, der auf dem System B gespeichert ist. Wenn er nicht übereinstimmt, wird der Systemzugriff auf das System A zurückgewiesen, 718. Andernfalls ist P ein Element der Gruppe von Wörtern {PB1, ..., PBM}, die dem Hash-Schlüssel zugeordnet sind, welcher am System B gespeichert ist, 712. Diese Gruppe beinhaltet P1. Die Information, ob der Anmeldevorgang mit P auf dem System B erfolgreich war, kann an das System A zurückgeschickt werden. Folglich kann das System A feststellen, ob P ein Element der Schnittmenge von {PA1, ..., PAM} und {PB1, ..., PBM} ist, 714. Wenn dies der Fall ist, kann der Systemzugriff gewährt werden, 716. Da das System A und das System B verschiedene Hash-Funktionen ausführen, besteht die Möglichkeit, dass die Schnittmenge {PA1, ..., PAM} ∩ {PB1, ..., PBM} sehr wahrscheinlich nur P1 enthält. Folglich kann nur das richtige Passwort P1 den Systemzugriff gewähren.
  • Bei kollisionssicheren Hash-Funktionen kann ein Klartext-Passwort nicht aus dem Hash-Schlüssel ermittelt werden, der auf einem System gespeichert ist und möglicherweise gestohlen wird. Nur die Information, dass das Klartext-Passwort ein Wort aus einer Gruppe von M Wörtern ist, steht möglicherweise zur Verfügung. Wenn alle M Wörter mit gleicher Wahrscheinlichkeit das Klartext-Passwort sind, ist der Schutz des Klartext-Passworts möglicherweise ausreichend. In der Realität ist die Wahrscheinlichkeit bei einigen der M Wörter jedoch deutlich höher als bei anderen, dass sie das Klartext-Passwort sind. Insbesondere könnte es in der Gruppe der M Wörter leicht gefunden werden, wenn das Klartext-Passwort schwach ist, d. h., wenn es ein Wort einer echten Sprache, eine leichte Modifikation eines Wortes einer echten Sprache, eine triviale Zahl usw. ist. Außerdem wird das schwache Passwort von einer auf einem Verzeichnis beruhenden Brute-Force-Attacke mit einer sehr viel höheren Wahrscheinlichkeit gefunden als jedes andere der M – 1 Wörter, die demselben Hash-Schlüssel zugeordnet sind. Folglich kann in einer weiteren Ausführungsform eine kollisionssichere Hash-Funktion verwendet werden, die demselben Hash-Schlüssel nur schwache Passwörter zuordnet. Ein Verzeichnis, das Wörter einer echten Sprache, Modifikationen von Wörtern einer echten Sprache, Zahlen usw. enthält, kann verwendet werden, um ein Passwort als schwaches Passwort zu klassifizieren. Das Verzeichnis sollte eine angemessene Größe haben, zum Beispiel ungefähr 100 Millionen Einträge. Es muss nicht unbedingt vollständig gespeichert werden. Vielmehr kann für jedes gespeicherte Wort einer echten Sprache ein Satz von Änderungen berechnet werden. Die Hash-Funktionen können jedes Wort der M Verzeichniswörter demselben Hash-Schlüssel zuordnen. M sollte im Vergleich zur Größe des Verzeichnisses klein sein, im Vergleich zu der üblichen Anzahl zulässiger erfolgloser Anmeldeversuche, bevor ein Benutzer gesperrt wird, jedoch immer noch hoch. Andernfalls ist die Anzahl der verschiedenen Hash-Schlüssel für alle Verzeichniswörter möglicherweise gering und ein Angreifer könnte in der Lage sein, einfach ein Wort zu erraten, das den Zugriff auf das System gewährt.
  • Das beschriebene sichere Anmeldesystem kann auch in einem Computersystem enthalten sein. Auf diese Weise kann das sichere Anmeldesystem des Computersystems mit einem Betriebssystem zusammenarbeiten, um das Verfahren für eine sichere Anmeldung, das vorstehend beschrieben wurde, durchzuführen.
  • Ausführungsformen der Erfindung können auf praktisch jeder Art von Computer ungeachtet der Plattform, die zur Speicherung und/oder Ausführung von Programmcode geeignet ist, realisiert werden. Wie in 8 gezeigt ist, kann ein Computersystem 800 beispielsweise einen oder mehr Prozessor(en) 802 mit einem oder mehr Prozessorkernen je Prozessor, zugehörige Speicherelemente 804, eine interne Speichereinheit 806 (z. B. eine Festplatte, ein optisches Laufwerk wie zum Beispiel ein Compact-Disk-Laufwerk oder ein Laufwerk einer digitalen Videoplatte (DVD), einen Flash-Speicherstick usw.) und zahlreiche andere Elemente und Funktionalitäten enthalten, die typisch für heutige Computer (nicht gezeigt) sind. Die Speicherelemente 804 können einen Hauptspeicher, z. B. einen Direktzugriffsspeicher (RAM), der während der tatsächlichen Ausführung des Programmcodes verwendet wird, und einen Cachespeicher enthalten, der eine temporäre Speicherung von mindestens einem Teil des Programmcodes und/oder von Daten ermöglicht, um die Häufigkeit, mit der Code und/oder Daten aus einem Langzeitspeichermedium oder einem externen Massenspeicher 516 für eine Ausführung abgerufen werden müssen, zu verringern. Elemente im Computer 800 können über ein Bussystem 818 mit entsprechenden Adaptern miteinander verbunden werden. Darüber hinaus kann das sichere Anmeldesystem 600 an das Bussystem 818 angeschlossen werden.
  • Das Computersystem 800 kann auch Eingabemittel wie zum Beispiel eine Tastatur 808, ein Zeigegerät wie zum Beispiel eine Maus 810, oder ein Mikrofon (nicht gezeigt) beinhalten. Der Computer 800 kann ferner Ausgabemittel wie zum Beispiel einen Monitor oder Bildschirm 812 [z. B. einen Flüssigkristallbildschirm (LCD-Bildschirm), einen Plasmabildschirm, einen Bildschirm aus Licht emittierenden Dioden (LED-Bildschirm) oder einen Bildschirm mit Katodenstrahlröhre (CRT-Bildschirm)] beinhalten. Das Computersystem 800 kann mit einem Netzwerk (z. B. einem lokalen Netzwerk (LAN), einem Weitverkehrsnetz (WAN)), wie zum Beispiel dem Internet oder einer beliebigen anderen ähnlichen Art von Netzwerk einschließlich drahtgebundenen Netzwerken über eine Netzwerkschnittstellenverbindung 814 verbunden sein. Dadurch kann gegebenenfalls eine Verbindung zu anderen Computersystemen oder einem Speichernetzwerk oder einem Bandlaufwerk hergestellt werden. Der Fachmann versteht, dass es viele verschiedene Arten von Computersystemen gibt und dass die vorstehend erwähnten Eingabe- und Ausgabemittel auch andere Formen annehmen können. Allgemein gesagt, das Computersystem 800 enthält gegebenenfalls mindestens die minimalen Verarbeitungs-, Eingabe- und/oder Ausgabemittel, die notwendig sind, um Ausführungsformen der Erfindung in die Praxis umzusetzen.
  • Außerdem versteht der Fachmann, dass sich ein oder mehr Elemente des vorstehend erwähnten Computersystems 800 an einem fernen Ort befinden und über ein Netzwerk mit den anderen Elementen verbunden sein können. Ferner können Ausführungsformen der Erfindung auf einem verteilten System realisiert werden, das über eine Vielzahl von Knoten verfügt, wobei sich jeder Teil der Erfindung auf einem anderen Knoten in dem verteilten System befinden kann. In einer Ausführungsform der Erfindung entspricht der Knoten einem Computersystem. Alternativ kann der Knoten einem Prozessor mit zugehörigem physischen Speicher entsprechen. Der Knoten kann alternativ einem Prozessor mit gemeinsam benutzten Speicher und/oder Ressourcen oder einem Smartphone entsprechen.
  • Darüber hinaus können Software-Anweisungen zur Realisierung von Ausführungsformen der Erfindung auf einem von einem Computer lesbaren Datenträger wie zum Beispiel einer Compact-Disk (CD), einer Diskette, einem Band oder einer beliebigen anderen von einem Computer lesbaren Speichereinheit gespeichert werden.
  • Während die Erfindung mit Bezug auf eine begrenzte Anzahl von Ausführungsformen beschrieben wurde, versteht der Fachmann, der einen Nutzen aus dieser Offenlegung zieht, dass auch andere Ausführungsformen entwickelt werden können, die nicht vom Umfang der hier offen gelegten Erfindung abweichen. Folglich sollte der Umfang der Erfindung nur von den beigefügten Ansprüchen begrenzt werden.
  • Es sei auch angemerkt, dass der Begriff ”aufweisen” keine anderen Elemente oder Schritte ausschließt und dass ”ein” oder ”eine” keine Mehrzahl ausschließt. Anderseits kann der Begriff ”aufweisen” auch den Fall von ”bestehen(d) aus” beinhalten. Auch können Elemente, die in Verbindung mit anderen Ausführungsformen beschrieben wurden, kombiniert werden. Es sei ferner angemerkt, dass Bezugszeichen in den Ansprüchen nicht als einschränkende Elemente zu verstehen sind.

Claims (14)

  1. Verfahren für eine systemübergreifende sichere Anmeldung in einem Zielsystem, indem ein erstes Authentifizierungssystem und ein zweites Authentifizierungssystem verwendet werden, wobei ein richtiges Passwort auf dem ersten Authentifizierungssystem und auf dem zweiten Authentifizierungssystem gültig ist, wobei das Verfahren aufweist – Empfangen eines Eingabepassworts, – Erzeugen eines ersten Hash-Schlüssels durch Verwendung des ersten Authentifizierungssystems und/oder Erzeugen eines zweiten Hash-Schlüssels durch Verwendung des zweiten Authentifizierungssystems, wobei jedes Authentifizierungssystem einen systemspezifischen, nicht kollisionsfreien Hash-Algorithmus verwendet, – Vergleichen des ersten Hash-Schlüssels mit einem ersten vorher festgelegten Hash-Schlüssel des richtigen Passworts, der in dem ersten Authentifizierungssystem gespeichert ist, und/oder Vergleichen des zweiten Hash-Schlüssels mit einem zweiten vorher festgelegten Hash-Schlüssel des richtigen Passworts, der in dem zweiten Authentifizierungssystem gespeichert ist, und – Gewähren des Zugriffs auf das Zielsystem auf der Grundlage von mindestens einem der Vergleiche.
  2. Verfahren nach Anspruch 1, wobei das Gewähren des Zugriffs auf das Zielsystem das Gewähren des Zugriffs auf der Grundlage von beiden Vergleichen aufweist.
  3. Verfahren nach Anspruch 1, wobei das Gewähren des Zugriffs auf das Zielsystem das Gewähren des Zugriffs auf ein erstes Zielsystem auf der Grundlage eines Vergleichs des ersten Hash-Schlüssels mit dem ersten vorher festgelegten Hash-Schlüssel und das Gewähren des Zugriffs auf ein zweites Zielsystem auf der Grundlage eines Vergleichs des zweiten Hash-Schlüssels mit dem zweiten vorher festgelegten Hash-Schlüssel aufweist.
  4. Verfahren nach einem der vorhergehenden Ansprüche, wobei jeder systemspezifische, nicht kollisionsfreie Hash-Algorithmus ein kollisionssicherer Hash-Algorithmus ist.
  5. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Verfahren des Weiteren aufweist: – Erzeugen des ersten vorher festgelegten Hash-Schlüssels, indem der eindeutige, nicht kollisionsfreie Hash-Algorithmus des ersten Authentifizierungssystems verwendet wird, und Erzeugen des zweiten vorher festgelegten Hash-Schlüssels, indem der eindeutige, nicht kollisionsfreie Hash-Algorithmus des ersten Authentifizierungssystems verwendet wird, und – Speichern des ersten vorher festgelegten Hash-Schlüssels in dem ersten Authentifizierungssystem und Speichern des zweiten vorher festgelegten Hash-Schlüssels in dem zweiten Authentifizierungssystem.
  6. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Verfahren aufweist: – Empfangen des Eingabepassworts über einen sicheren Kanal.
  7. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Vergleichen des ersten Hash-Schlüssels mit einem ersten vorher festgelegten Hash-Schlüssel und das Vergleichen des zweiten Hash-Schlüssels mit einem zweiten vorher festgelegten Hash-Schlüssel aufweist: – Erzeugen einer Booleschen Information für jeden Vergleich.
  8. Sicheres Anmeldesystem für eine sichere Anmeldung in einem Zielsystem, indem ein erstes Authentifizierungssystem und ein zweites Authentifizierungssystem verwendet werden, wobei ein Passwort auf dem ersten Authentifizierungssystem und auf dem zweiten Authentifizierungssystem gültig ist, wobei das sichere Anmeldesystem aufweist: – eine Empfangseinheit, die so ausgelegt ist, dass sie ein Eingabepasswort empfängt, – eine Erzeugungseinheit, die so ausgelegt ist, dass sie einen ersten Hash-Schlüssel durch Verwendung des ersten Authentifizierungssystems erzeugt, und/oder so ausgelegt ist, dass sie einen zweiten Hash-Schlüssel durch Verwendung des zweiten Authentifizierungssystems erzeugt, wobei jedes Authentifizierungssystem einen systemspezifischen, nicht kollisionsfreien Hash-Algorithmus verwendet, – eine Vergleichseinheit, die so ausgelegt ist, dass sie den ersten Hash-Schlüssel mit einem ersten vorher festgelegten Hash-Schlüssel des Passworts, der in dem ersten Authentifizierungssystem gespeichert ist, vergleicht, und/oder so ausgelegt ist, dass sie den zweiten Hash-Schlüssel mit einem zweiten vorher festgelegten Hash-Schlüssel des Passworts, der in dem zweiten Authentifizierungssystem gespeichert ist, vergleicht, und – eine Steuereinheit, die so ausgelegt ist, dass sie den Zugriff auf das Zielsystem auf der Grundlage von mindestens einem der Vergleiche gewährt.
  9. Sicheres Anmeldesystem nach Anspruch 8, wobei das Zielsystem und das erste Authentifizierungssystem Teil von einem einzigen System sind.
  10. Sicheres Anmeldesystem nach einem der Ansprüche 8 oder 9, wobei das sichere Anmeldesystem das Zielsystem, das erste Authentifizierungssystem und das zweite Authentifizierungssystem aufweist.
  11. Betriebssystem, das so konfiguriert ist, dass es das Verfahren nach einem der Ansprüche 1 bis 7 ausführt.
  12. Rechnersystem, welches das sichere Anmeldesystem nach einem der Ansprüche 8 bis 10 aufweist.
  13. Ein Satz von Datenverarbeitungsprogrammen zur Ausführung in einem vernetzten Datenverarbeitungssystem, der Teile von Software-Code aufweist, um ein Verfahren nach einem der vorhergehenden Ansprüche 1 bis 7 durchzuführen, wenn das Programm auf dem vernetzten Datenverarbeitungssystem ausgeführt wird.
  14. Computer-Programmprodukt, das auf einem von einem Computer nutzbaren Datenträger gespeichert ist und ein von einem Computer lesbares Programmmittel aufweist, um ein Netzwerk aus Computern zu veranlassen, das Verfahren (100) nach einem der Ansprüche 1 bis 7 durchzuführen, wenn Teile des Programmmittels in dem Netzwerk aus Computern ausgeführt werden.
DE112012005033.9T 2011-12-01 2012-10-15 Systemübergreifende sichere Anmeldung Active DE112012005033B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP11191513 2011-12-01
EP11191513.8 2011-12-01
PCT/IB2012/055589 WO2013080062A1 (en) 2011-12-01 2012-10-15 Cross system secure logon

Publications (2)

Publication Number Publication Date
DE112012005033T5 true DE112012005033T5 (de) 2014-08-28
DE112012005033B4 DE112012005033B4 (de) 2020-12-17

Family

ID=48524875

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112012005033.9T Active DE112012005033B4 (de) 2011-12-01 2012-10-15 Systemübergreifende sichere Anmeldung

Country Status (4)

Country Link
US (1) US9135428B2 (de)
CN (1) CN103975333B (de)
DE (1) DE112012005033B4 (de)
WO (1) WO2013080062A1 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150006405A1 (en) * 2013-06-28 2015-01-01 James Roy Palmer System and methods for secure entry of a personal identification number (pin) using multi-touch trackpad technologies
US10178088B2 (en) * 2015-03-12 2019-01-08 Tejas Networks Ltd. System and method for managing offline and online password based authentication
CN105306456B (zh) * 2015-09-30 2019-02-22 深圳市先河系统技术有限公司 一种登录系统的方法、服务器、系统及网络附属存储设备
US11249970B2 (en) * 2016-05-05 2022-02-15 Mastercard International Incorporated Method and system for distributed data storage with eternal integrity guarantees
AT519476B1 (de) * 2017-04-05 2018-07-15 Ait Austrian Inst Tech Gmbh Verfahren zur Erstellung und Verteilung von kryptographischen Schlüsseln
CN109325360B (zh) * 2018-09-06 2020-05-26 北京三快在线科技有限公司 信息管理方法与装置
US11269987B2 (en) 2019-09-09 2022-03-08 International Business Machines Corporation Security credentials management for client applications
US11709928B2 (en) * 2020-05-22 2023-07-25 Jpmorgan Chase Bank, N.A. Method and system for securing access to a private key
US11818121B2 (en) * 2021-07-15 2023-11-14 Micro Focus Llc Low cost defense against denial-of-service attacks
CN115118454B (zh) * 2022-05-25 2023-06-30 四川中电启明星信息技术有限公司 一种基于移动应用的级联认证系统及认证方法

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5140321A (en) * 1991-09-04 1992-08-18 Prime Computer, Inc. Data compression/decompression method and apparatus
US6263446B1 (en) * 1997-12-23 2001-07-17 Arcot Systems, Inc. Method and apparatus for secure distribution of authentication credentials to roaming users
US6170058B1 (en) * 1997-12-23 2001-01-02 Arcot Systems, Inc. Method and apparatus for cryptographically camouflaged cryptographic key storage, certification and use
US6108783A (en) * 1998-02-11 2000-08-22 International Business Machines Corporation Chameleon hashing and signatures
US6275919B1 (en) * 1998-10-15 2001-08-14 Creative Technology Ltd. Memory storage and retrieval with multiple hashing functions
US6654889B1 (en) * 1999-02-19 2003-11-25 Xilinx, Inc. Method and apparatus for protecting proprietary configuration data for programmable logic devices
US7051209B1 (en) * 2000-06-29 2006-05-23 Intel Corporation System and method for creation and use of strong passwords
US7694332B2 (en) * 2000-07-28 2010-04-06 Verisign, Inc. Digital receipt for a transaction
US7197765B2 (en) 2000-12-29 2007-03-27 Intel Corporation Method for securely using a single password for multiple purposes
US7321972B2 (en) * 2002-02-01 2008-01-22 Novell, Inc. Isolating multiple authentication channels, each using multiple authentication models
JPWO2003069489A1 (ja) 2002-02-14 2005-11-04 若山 裕典 本人認証の方法
US7383570B2 (en) 2002-04-25 2008-06-03 Intertrust Technologies, Corp. Secure authentication systems and methods
US7788726B2 (en) * 2003-07-02 2010-08-31 Check Point Software Technologies, Inc. System and methodology providing information lockbox
US7916868B1 (en) * 2004-05-06 2011-03-29 Verizon Data Services Llc Quadratic residue based password authenticated key exchange method and system
US20070113083A1 (en) * 2005-07-14 2007-05-17 Volkovs Nikolajs System and method of message authentication
US8230487B2 (en) * 2005-12-21 2012-07-24 International Business Machines Corporation Method and system for controlling access to a secondary system
JP2007232754A (ja) * 2006-02-27 2007-09-13 Toshiba Corp ハッシュ値生成装置及びハッシュ値生成方法
FI118841B (fi) * 2006-09-13 2008-03-31 Eads Secure Networks Oy Matkaviestimen autentikointi
US8838975B2 (en) 2006-10-31 2014-09-16 Blackberry Limited System and method for protecting a password against brute force attacks
KR101329150B1 (ko) * 2006-12-08 2013-11-14 삼성전자주식회사 Pana 인증 방법 및 장치
CN101075874B (zh) * 2007-06-28 2010-06-02 腾讯科技(深圳)有限公司 认证方法和认证系统
CN101286848A (zh) * 2008-05-23 2008-10-15 杨筑平 登录认证方法和登录签名程序
US8649509B2 (en) * 2008-12-18 2014-02-11 At&T Intellectual Property I, L.P. Systems and computer program products for generating and verifying randomized hash values
JP5056981B2 (ja) * 2009-04-09 2012-10-24 富士通株式会社 指紋認証サーバ装置、指紋認証クライアント装置および指紋認証方法
US8213971B2 (en) * 2009-04-27 2012-07-03 Qualcomm Incorporated Apparatus and method for activating computer applications with SMS messaging
US20110078779A1 (en) * 2009-09-25 2011-03-31 Song Liu Anonymous Preservation of a Relationship and Its Application in Account System Management
US20110087888A1 (en) * 2009-10-13 2011-04-14 Google Inc. Authentication using a weak hash of user credentials

Also Published As

Publication number Publication date
US9135428B2 (en) 2015-09-15
CN103975333A (zh) 2014-08-06
DE112012005033B4 (de) 2020-12-17
WO2013080062A1 (en) 2013-06-06
CN103975333B (zh) 2016-10-12
US20130145170A1 (en) 2013-06-06

Similar Documents

Publication Publication Date Title
DE112012005033B4 (de) Systemübergreifende sichere Anmeldung
DE60213314T2 (de) Verfahren und Anordnungen zum kontrollierten Zugang zu Ressourcen basiert auf einem Authentifizierungsverfahren
DE112010004930B4 (de) Sicherer kerberisierter Zugriff auf ein verschlüsseltes Dateisystem
DE102007033615B4 (de) Verfahren und Vorrichtung zum Umwandeln von Authentisierungs-Token zur Ermöglichung von Interaktionen zwischen Anwendungen
DE202016107487U1 (de) Authentifizierung eines lokalen Gerätes
US8458337B2 (en) Methods and apparatus for scoped role-based access control
DE60225378T2 (de) Verfahren und Systeme zur Steuerung des Umfangs der Delegierung von Authentifizierungsdaten
DE202018002074U1 (de) System zur sicheren Speicherung von elektronischem Material
DE112017004033T5 (de) Verfahren zum Erhalten von geprüften Zertifikaten durch Mikrodienste in elastischen Cloud-Umgebungen
DE102018101307A1 (de) Techniken für SGX-Enklaven-Fernauthentifizierung
DE202018006529U1 (de) Gemeinsames Nutzen bzw. Teilen von Daten in einem mandantenfähigen Datenbanksystem
DE112017006021T5 (de) Verfahren und System zur unscharfen Schlagwortsuche in verschlüsselten Daten
DE112020000538T5 (de) Feinkörnige zugriffskontrolle auf token-grundlage
DE102011077218B4 (de) Zugriff auf in einer Cloud gespeicherte Daten
DE112014001363T5 (de) Verfahren, Vorrichtung und computer-lesbares Medium zum Datentokenisieren
DE112020000134T5 (de) Sicherer, mehrstufiger zugriff auf verschleierte daten für analysen
DE112011102224B4 (de) Identitätsvermittlung zwischen Client- und Server-Anwendungen
DE102014206325A1 (de) Verteiltes Authentifizierungssystem
EP3552141B1 (de) Server-computersystem zur bereitstellung von datensätzen
DE112013002539T5 (de) Validierung mobiler Einheiten
EP3552140B1 (de) Datenbankindex aus mehreren feldern
DE112021005026T5 (de) Persistente quellwerte für angenommene alternative identitäten
EP1528450A1 (de) Verfahren zum Identifizieren, Authentifizieren und Autorisieren eines Benutzers von geschützen Daten
DE102021129179B4 (de) Sichere intelligente container zum steuern des zugriffs auf daten
DE602004013254T2 (de) Verfahren und System zur Generierung von Authentifizierungsstapeln in Kommunikationsnetzen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: LIFETECH IP SPIES DANNER & PARTNER PATENTANWAE, DE

Representative=s name: LIFETECH IP SPIES & BEHRNDT PATENTANWAELTE PAR, DE

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

R082 Change of representative

Representative=s name: LIFETECH IP SPIES & BEHRNDT PATENTANWAELTE PAR, DE

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

R082 Change of representative

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

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