-
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.