DE4107019C2 - Verfahren und Vorrichtung zum computergesteuerten Überprüfen der Annehmbarkeit von Kennwörtern - Google Patents

Verfahren und Vorrichtung zum computergesteuerten Überprüfen der Annehmbarkeit von Kennwörtern

Info

Publication number
DE4107019C2
DE4107019C2 DE4107019A DE4107019A DE4107019C2 DE 4107019 C2 DE4107019 C2 DE 4107019C2 DE 4107019 A DE4107019 A DE 4107019A DE 4107019 A DE4107019 A DE 4107019A DE 4107019 C2 DE4107019 C2 DE 4107019C2
Authority
DE
Germany
Prior art keywords
password
passwords
proposed
unacceptable
string
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE4107019A
Other languages
English (en)
Other versions
DE4107019A1 (de
Inventor
David Karger Wittenberg
Jerrold Sol Leichter
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.)
Digital Equipment Corp
Original Assignee
Digital Equipment 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 Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of DE4107019A1 publication Critical patent/DE4107019A1/de
Application granted granted Critical
Publication of DE4107019C2 publication Critical patent/DE4107019C2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

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
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • G07C9/30Individual registration on entry or exit not involving the use of a pass
    • G07C9/32Individual registration on entry or exit not involving the use of a pass in combination with an identity check
    • G07C9/33Individual registration on entry or exit not involving the use of a pass in combination with an identity check by means of a password

Description

Die vorliegende Erfindung betrifft Kennwortsicherheitssysteme, insbesondere ein Verfahren bzw. eine Vorrichtung zum computergesteuerten Überprüfen der Annehmbarkeit von Kennwörtern.
Viele computergesteuerten Sicherheitssysteme beruhen auf dem Einsatz von Kennwörtern (passwords), um die Zulässigkeit von Personen (oder anderen Objekten wie z. B. Berechnungsvorgängen) zu verifizieren bzw. zu überprüfen, die um Zugriff auf das System nachfragen. Ein Beispiel für ein solches System ist ein Vielbenutzercomputersystem.
Bei diesen auf Kennwörtern basierenden Sicherheitssystemen kann die Sicherheit in Frage gestellt sein, wenn die Kennwörter einfach zu erraten sind (allgemeine Bezeichnungen bzw. Namen sind oftmals zutreffende Annahmen für Kennwörter) oder wenn die Kennwörter niedergeschrieben werden, so daß sie von nicht befugten Benutzern gefunden werden können.
Kennwörter können vom Systemmanagement oder von den Benutzern selbst ausgewählt werden. In beiden Fällen gibt es vielfältige Möglichkeiten für Verstöße bzw. Verletzungen der Sicherheit.
Das Systemmanagement kann für "sichere" Kennwörter sorgen, die nicht leicht zu erraten sind (z. B. Zufallssequenzen aus unsinnigen Silben). Die dabei sich ergebenden Kennwörter sind jedoch meistens unverständlich bzw. obskur und schwer in Erinnerung zu behalten. Typischerweise schreiben die Benutzer dann solche Kennwörter lieber nieder, als daß sie versuchen, sich diese Wörter einzuprägen. Diese niedergeschriebenen Aufzeichnungen können von unbefugten Personen gefunden und mißbraucht werden.
Alternativ dazu kann es Benutzern gestattet werden, ihre eigenen Kennwörter auszuwählen. Vom Benutzer ausgewählte Kennwörter sind leichter zu merken. Deshalb sind die Benutzer im geringeren Maße dazu verleitet, diese aufzuschreiben. Vom Benutzer ausgewählte Kennwörter sind jedoch oftmals einfach zu erraten.
Bei einem bekannten Verfahren wählt der Benutzer sein Kennwort aus, dessen "Sicherheit" (oder Mangel an Offensichtlichkeit) von dem System verifiziert wird. Auf diese Art und Weise sind alle Kennwörter, die von dem System benutzt werden, erinnerbar (zumindest für den Benutzer, der sie ausgewählt hat) und sind aber auch nicht offensichtlich bzw. naheliegend. Das Implementieren eines solchen Verfahrens bzw. Schemas erfordert ein Verfahren zum Überprüfen der "Gültigkeit" der Kennwörter. Ein solches bekanntes Verfahren vergleicht das Kennwort mit einer Nachschlagetabelle ungültiger Kennwörter (z. B. kann die Nachschlagetabelle beispielhafte Kennwörter enthalten, die in der Softwaredokumentation benutzt werden). Wenn ein Kennwort in der Tabelle gefunden wird, wird der Benutzer aufgefordert, das Kennwort zu ändern.
Beispiele für solche Kennwortsicherheitseinrichtungen und ihre Wirksamkeit sind in dem Aufsatz von R. Morris und Ken Thompson, Bell Laboratories: "Password Security: A Case History" in Communications of the ACM, November 1979, Seiten 594-597 gegeben.
Die Aufgabe der Erfindung besteht darin, ein Verfahren bzw. eine Vorrichtung anzugeben, die die computergesteuerte Überprüfung der Annehmbarkeit eines Kennworts, das von einem Benutzer eines computergesteuerten Sicherheitssystems vorgeschlagen wird, wirkungsvoll durchführt, ohne daß die Sicherheit des Systems beeinträchtigt wird.
Diese Aufgabe wird durch das Verfahren nach Anspruch 1 bzw. durch die Vorrichtung gemäß Anspruch 17 gelöst.
Ganz allgemein umfaßt die Erfindung das Verifizieren der Annehmbarkeit eines Kennworts, das von einem Benutzer eines Sicherheitssystems vorgeschlagen wird.
Die Erfindung besteht in ihrer allgemeinsten Ausprägung in einer Vorrichtung bzw. einem Verfahren zum computergesteuerten Überprüfen der Annehmbarkeit eines von einem Benutzer eines Sicherheitssystems vorgeschlagenen Kennwortes, wobei eine in einer Speichereinheit gespeicherten Tabelle mit Indikatoren vorgesehen ist, eine Gruppe von nicht annehmbaren in der Speichereinheit gespeicherten Kennwörtern vorgesehen ist, eine Zuordnungsfunktion vorgesehen ist, die den Kennwörtern Indikatoren durch Suchen jedes Kennworts zuordnet, wobei die Funktion von der Art sein kann, daß mehr als ein Kennwort einem Indikator zugeordnet werden kann, die Zuordnungsfunktion jedem Kennwort der Gruppe der nicht annehmbaren Kennwörter zugeordnet wird und die Indikatoren, die jedem der nicht annehmbaren Kennwörter zugeordnet sind, gesetzt werden, die Zuordnungsfunktion auf das vorgeschlagene Kennwort automatisch angewendet wird, um Indikatoren für das vorgeschlagene Kennwort zu erhalten, und überprüft wird, ob der Indikator, der dem vorgeschlagenen Kennwort zugeordnet ist, gesetzt ist, wobei ohne Fehler bestimmt werden kann, ob das vorgeschlagene Kennwort nicht in der Gruppe von nicht annehmbaren Kennwörtern ist, und ihm deshalb Privilegien in dem Sicherheitssystem zugeordnet werden können.
In der nachfolgenden Beschreibung wird näher erläutert, daß der Einsatz der erfindungsgemäßen Vorrichtung die Anzahl der Kennwörter, die unrichtigerweise als nicht annehmbar betrachtet werden, reduziert wird, und gleichzeitig die Systemelemente reduziert werden, die für das Abspeichern der Nachsuchtabelle erforderlich sind.
Bevorzugte Ausführungsformen der vorliegenden Erfindung enthalten die nachfolgenden Merkmale.
Eine Gruppe aus nicht annehmbaren Kennwörtern ist in einer Indikatorentabelle mittels des Einsatzes einer Zuordnungsfunktion (mapping function) gespeichert, die den Kennwörtern Indikatoren zuordnet. Diese Zuordnungsfunktion kann mehr als ein Kennwort einem einzelnen Indikator zuordnen. Um die Tabelle zu initialisieren, wird die Zuordnungsfunktion auf jedes nicht annehmbare Kennwort angewendet und die Indikatoren, die jedem der nicht annehmbaren Kennwörter zugeordnet sind, werden festgelegt bzw. gesetzt. Danach wird die Zuordnungsfunktion auf das vorgeschlagene Kennwort angewendet und der Indikator, der dem vorgeschlagenen Kennwort zugeordnet ist, wird überprüft. Wenn der Indikator nicht gesetzt worden ist, wird ohne Fehler festgestellt, daß das vorgeschlagene Kennwort nicht in der Gruppe von nicht annehmbaren Kennwörtern vorhanden ist.
Die Indikatoren und die Grupe von nicht annehmbaren Kennwörtern werden in einer Weise vorgesehen bzw. ermittelt, die es einem Benutzer ermöglicht, weitere unannehmbare Kennwörter der Gruppe hinzuzufügen und danach zu variieren, welche Indikatoren gesetzt werden.
Wenn das vorgeschlagene Kennwort als annehmbar ermittelt wird, wird das vorgeschlagene Kennwort einer Gruppe von nicht annehmbaren Kennwörtern hinzugefügt und der Indikator, der dem vorgeschlagenen Kennwort zugeordnet ist, wird gesetzt, so daß das vorgeschlagene Kennwort kein zweitesmal angenommen werden wird.
Von Zeit zu Zeit werden die Privilegien eines Benutzerkennwortes zumindest teilweise außer Funktion gesetzt, und der Benutzer wird gezwungen, ein neues (annehmbares) Kennwort vorzuschlagen, um diese Privilegien wiederzugewinnen. Dies zwingt die Benutzer ihre Kennwörter zu ändern und (da Kennwörter nicht zweimal angenommen werden) hilft auch, nicht annehmbare Kennwörter "auszusondern", die anfänglich aus der Gruppe weggelassen worden sind.
Eine allgemeine bzw. gemeinsame Indikatorentabelle wird von einem Netzwerk des Sicherheitssystems verwendet, um die Annehmbarkeit von Kennwörtern zu verifizieren, so daß jedem einzelnen Kennwort nur Privilegien in einem der Sicherheitssysteme zugeordnet ist. Bei dieser Ausführungsform, wenn ein Kennwort von einem Benutzer einem der Sicherheitssysteme vorgeschlagen wird, überprüft dieses Sicherheitssystem die Annehmbarkeit des vorgeschlagenen Kennwortes in der oben beschriebenen Weise und verwendet dabei die gemeinsame Indikatorentabelle. Wenn das Sicherheitssystem das vorgeschlagene Kennwort als akzeptierbar befindet, fügt es das vorgeschlagene Kennwort der Gruppe von nicht akzeptierbaren Kennwörtern hinzu und setzt den entsprechenden Indikator in der gemeinsamen Tabelle. Wenn dieses Kennwort danach erneut einem der Sicherheitssysteme vorgeschlagen wird, wird es nicht akzeptiert werden und es werden ihm keine Privilegien zugeordnet werden.
Die Indikatoren sind Bits in einer Hash-Tabelle (hash table) und die Zuordnungsfunktion ist eine Hash-Funktion (hash function).
Die Verarbeitung, die von der Hash-Funktion durchgeführt wird umfaßt das Normalisieren der Zeichenfolge (text string) eines Kennwortes auf eine vorgegebene Länge. Die Zeichenfolge wird normalisiert durch: (1) Anhängen eines Zeichens an die Zeichenfolge, das sich auf die Länge der Zeichenfolge bezieht, Aufstellen einer modifizierten Zeichenfolge; (2) Wenn die Länge der modifizierten Zeichenfolge gerade ist, Hinzufügen eines Zeichens zu der modifizierten Zeichenfolge, um zu erzwingen, daß die Zeichenfolge eine ungerade Länge hat; und (3) Anfügen der ungeradlängigen Zeichenfolge an sich selbst, bis sie eine gegebene Länge überschreitet, und danach Abschneiden der Zeichenfolge auf die gegebene Länge.
Die normalisierte Zeichenfolge wird danach in Stücke aufgeteilt. Eines oder mehrere Stücke werden als Schlüssel zum Verschlüsseln einer(s) vorgegebenen Eingange(signals) verwendet. Die(Das) verschlüsselte Ausgabe(signal) wird dann verwendet, um Bits in der Hash-Tabelle zu adressieren. Damit die Bits in der Hash-Tabelle nicht verwendet werden können, um die Kennwörter in der Gruppe der nicht akzeptablen Kennwörter zu bestimmen, wird die Verschlüsselung in Übereinstimmung mit einer kryptographischen Technik durchgeführt, wie z. B. dem Datenverschlüsselungsstandard (Data Encryption Standard), die sicher gegen einen Klartextangriff (plaintext attack) ist.
Weitere Vorteile der Erfindung und vorteilhafte Ausgestaltungen der Erfindung sind aus den Unteransprüchen und der nachfolgenden Beschreibung von Ausführungsformen in Verbindung mit den Zeichnungen ersichtlich. Es zeigt
Fig. 1 ein Blockdiagramm einer Vorrichtung gemäß der vorliegenden Erfindung,
Fig. 2 ein Detail einer Hash-Tabelle gemäß Fig. 1,
Fig. 3 die Bildung der Werte V1-6,
Fig. 4-7 die Normalisierung eines Kennwortes und die Bildung der Schlüssel K1-6,
Fig. 8 die Bildung der Ausgaben H1-6,
Fig. 9 die Bildung der Ausgaben h1-12,
Fig. 10 die Bildung von Bitadressen und
Fig. 11 Bits, die in der Hash-Tabelle gesetzt sind.
Bekannte Kennwortsicherheitssysteme vergleichen Kennwörter mit einer Nachsuchetabelle. Dieser Betrieb erfordert das, was allgemein als Mitgliedschaftstester bekannt ist. Mitgliedschaftstester fallen unter eine von zwei allgemeinen Kategorien: exakte oder Näherungs-Tester. Von einem exakten Tester wird angenommen, daß er ohne Fehler arbeitet. Er wird bevorzugt, wenn es keine Begrenzungen bezüglich des Einsatzes von Systemquellen bzw. Systemelementen gibt. Bei einem Näherungs-Mitgliedschaftstester nimmt man einen gewissen Grad von "zugelassenen Fehlern" als Nachteil für den wesentlich verminderten Einsatz von Systemelementen an.
Suchen (hashing) ist eine bekannte Technik, die angewendet werden kann, um Näherungs-Mitgliedschaftstester aufzubauen. Bei dieser Technik speichert eine "Hash-Tabelle", im nachfolgenden auch "Suchtabelle" genannt, eine komprimierte Wiedergabe der Mitglieder des Satzes, der getestet werden soll. Jeder Eintrag in dem Satz (wiedergegeben durch einen numerischen Schlüssel, der z. B. der ASCII-Code für eine Zeichenfolge ist), wird einer arithmetischen Transformation (bekannt als "Hash-Funktion", im nachfolgenden auch "Suchfunktion" genannt), unterzogen. Der Funktionsausgang gibt eine Hash-Tabellenadresse an. Ein Bit wird (z. B. auf eine logische 1 angehoben) in der Suchtabelle eingeschaltet, wenn es adressiert wird. Zu beachten ist, daß die Voraussetzung für eine gute Transformationsfunktion darin besteht, daß sie ihre Ausgaben bzw. Ausgangswerte so gleichmäßig wie möglich über die gesamte Tabelle verteilt. Obwohl die Transformationsfunktionsausgangsverteilung nicht an irgendein Muster gebunden ist, ist für gewöhnlich wünschenswert, daß eine Zufallsausgabe auftritt. Wenn alle Mitglieder des Satzes in der Tabelle untergebracht worden sind, wird ein Kandidateneintrag (d. h. ein Eintrag der in dem Satz sein kann oder nicht sein kann, der von dem Mitgliedschaftstest bestimmt werden soll) der Suchfunktion (arithmetische Transformation) unterzogen. Als nächstes wird die sich ergebende Tabellenadresse überprüft. Wenn das Bit bei dieser Adresse gesetzt ist, wird der Kandidateneintrag als Mitglied des Satzes erachtet, andernfalls ist er kein Mitglied.
Wenn das Suchen (hashing) eingesetzt wird, um einen Näherungs-Mitgliedschaftstester zu schaffen, ist die Zuordnung zwischen Einträgen und Adressen der Suchtabelle nicht eindeutig. Das heißt, daß die Suchfunktion nicht jeden möglichen Eintrag einer eindeutig verbundenen Tabellenadresse zuordnet. Dieses nicht eindeutige Zuordnen wird eingesetzt, da die Anzahl der möglichen Einträge viel größer sein kann, als die Anzahl der Einträge in dem Satz, der getestet werden soll. Man betrachte z. B. einen Mitgliedschaftstester, der als Buchstabierungsprüfer eingesetzt wird. Der Mitgliedschaftstester bestimmt, ob ein Wort, daß buchstabierüberprüft wird, in einem Wörterbuch mit richtig buchstabierten Wörtern auftritt. Die Anzahl der möglichen Textstrings bzw. Zeichenfolgen, die eine Länge von 20 Buchstaben bzw. Zeichen oder weniger hat, ist offensichtlich viel größer als die Anzahl der Wörter, die in irgendeinem Wörterbuch aufgelistet sind. Bei einem nicht eindeutigen Zuordnen kann die Anzahl der Bits in der Suchtabelle signifikant geringer sein, als die Anzahl der möglichen Einträge, was Speichererfordernisse reduziert. Im Ergebnis können jedoch zwei oder mehrere unterschiedliche Einträge die gleiche Tabellenadresse "suchen", d. h., daß sie den gleichen Suchfunktionsausgang ergeben. Wenn so etwas auftritt, wird es allgemein als "Kollision" bezeichnet.
Zum Beispiel wird bei einem Näherungs-Mitgliedschaftstester, eine Suchfunktion verwendet, welche bezüglich der mittleren vier Zeichen der Einträge arbeitet, die durch Zeichenfolgen mit 8 Zeichen angegeben werden, wenn also zwei Zeichenfolgen die gleichen mittleren vier Zeichen aufweisen (z. B. XXWORDOO und OOWORDXX), wird eine Kollision auftreten.
Kollisionen in Näherungs-Mitgliedschaftstestern erzeugen einen gewissen Grad von "bekannten" oder "zulässigen" Fehlern in dem Mitgliedschaftstest. Man betrachte das oben angegebene Beispiel eines Buchstabierüberprüfers. In diesem Fall resultiert eine Kollision zwischen einem falsch buchstabierten Wort und einem richtig buchstabierten Wort in einer Anzeige, daß das falsch buchstabierte Wort korrekt buchstabiert ist, was offensichtlich ein Fehler ist.
Carter und andere beschreiben in "Exact and Approximate Membership Testers", Proceedings of 10th Annual ACM Symposium on Theory of Computing (STOC), May, 1978, auf Seite 62 die Möglichkeit solcher Fehler bei Näherungs- Mitgliedschaftstestern für einen Wortschatz V. Der Tester hat einen zugeordneten Vorprozessor, der V verarbeitet und eine komprimierte Wiedergabe eines Übersatzes W von V erzeugt. Der Eingang am Tester entspricht der komprimierten Wiedergabe W und einem möglichen Wort s. Der Mitgliedschaftstester schätzt ab, ob s in V ist, indem tatsächlich berechnet wird, ob s in W ist. Unter der Annahme, daß alle Fehler gleich wahrscheinlich sind, beträgt die nicht festgestellte Fehlerwahrscheinlichkeit (w- v)/(u-v), wobei w die Größe bzw. der Wert von W ist, v die Größe von V und u die Anzahl der möglichen Wörter ist. Bei diesem Tester versuchten die Autoren, eine nicht festgestellte Fehlerwahrscheinlichkeit von 2-r auf der Basis der Zahl v von Wortschatzwörtern und einem Zuverlässigkeitsexponenten r für eine universelle Größe u zu erreichen.
Bei der vorliegenden Erfindung wird, um den Betrag von Systemelementen zu reduzieren, die zum Speichern der Kennwortnachschlagetabelle erforderlich sind, ein Näherungs-Mitgliedschaftstester eingesetzt, um zu bestimmen, ob ein Benutzerkennwort einem der nicht annehmbaren Kennwörter in der Nachschlagetabelle entspricht. Normalerweise ist die Verwendung eines Näherungs-Mitgliedschaftstesters mit "zulässigen Fehlern" verbunden. Gemäß der vorliegenden Erfindung verschlechtern die Fehler des Näherungs-Mitgliedschaftstesters nicht die Sicherheit des Systems, wenn der Näherungs- Mitgliedschaftstester fehlerhafterweise angibt, daß ein Benutzerkennwort in der Nachschlagetabelle ist, ist das Ergebnis einfach eine Unbequemlichkeit für den Benutzer, der dann ein anderes Kennwort wählen muß. Der Näherungs- Mitgliedschaftstester wird jedoch niemals fehlerhaft angeben, daß ein Benutzerkennwort nicht in der Nachschlagetabelle ist. Deshalb werden unter keinen Umständen unannehmbare Kennwörter, die in der Nachschlagetabelle sind, in dem System verwendet werden.
Der Mitgliedschaftstest wird durch Suchen (hashing) durchgeführt. Dies bringt den zusätzlichen Vorteil, daß die Nachschlagetabelle komprimiert ist und in gewisser Weise verschlüsselt ist. Der Grad der Verschlüsselung hängt von der eingesetzten Suchfunktion ab. Ein besonders sicheres Verfahren zum Suchen der Kennwörter wird nachfolgend beschrieben. Ein Verschlüsseln der Liste von nicht annehmbaren Kennwörtern ist vorteilhaft, da ohne einen Zugriff auf die Liste potentiell unberechtigte Benutzer des Systems nicht wissen, welche Kennwörter als "unsicher" erachtet worden sind, und somit Zeit damit verbrauchen, offensichtliche Kennworte, die nicht im Einsatz sind, zu erraten. Zu beachten ist, daß das Verschlüsselungserfordernis die Möglichkeit eines einfachen Wiedergebrauchens des buchstabierten Wörterbuchs (oder irgendeiner anderen Datei, die schon auf dem System ist) als Nachschlagetabelle ausschließt. Eine Schwierigkeit, die das verursachen kann, besteht darin, daß eine ausführliche Kennwortnachschlagetabelle ungefähr die gleiche Größe haben würde wie eine buchstabierende Wortschatzdatei und damit umfangreiche Systemelemente benötigen würde. Mittels des Suchens wird die Nachschlagetabelle komprimiert, so daß sie eine vernünftige Größe aufweist.
In einer vereinfachten Ausführungsform werden dem System ein oder mehrere ungültige (nicht sichere) Kennwörter (z. B. gemäß dem oben angegebenen Beispiel das Wort XXWORDOO) eingegeben. Danach werden numerische Wiedergaben der Kennwörter (z. B. abgeleitet von ASCII Äquivalenten für die Kennwörter) als ein Schlüssel von Ki einer einzelnen Suchfunktion h(K) zugeführt. Die Ausgabe bzw. der Ausgang der Suchfunktion gibt eine Adresse h(Ki) in einer Suchtabelle an und ein Bit bei dieser Adresse kann damit eingeschaltet werden. Wenn einmal ein Bit eingeschaltet worden ist, verbleibt es im eingeschalteten Zustand. Ein eingeschaltetes Bit zeigt an, daß ein oder mehrere Kennwörter nicht länger für den Gebrauch erhältlich sind. Das liegt daran, daß jedes Kennwort, daß eine Tabellenadresse eines eingeschalteten Bits (z. B. bezüglich der obenstehenden Diskussion OOWORDXX) erzeugt, als nicht gültig zurückgewiesen wird. Jedes andere Kennwort wird als gültig erklärt. Die Suchtabellengröße und damit die Wahrscheinlichkeit von Kollisionen wird insgesamt durch das Ermessen des Programmierers ausgewählt.
Eine Ausführungsform der Erfindung ist in Fig. 1 dargestellt. Bei dieser Ausführungsform treten weniger Kollisionen auf, was eine größere Anzahl von Kennwörtern ergibt, die von dem Tester als gültig erachtet werden. Zwei Probenkennwörter, ein ungültiges Kennwort XXWORDOO und gültiges Kennwort OOWORDXX werden gezeigt, wobei sie in das System am Tastatureingang 12 eingegeben werden und von einem Wandler 14 in eine Zahl umgewandelt werden. Bei dieser Ausführungsform wird eine ASCII-Zahl entsprechend den Eingangskennwörtern von dem Wandler 14 an drei Hash-Funktionseinheiten 16, 18 und 20 ausgegeben. Es wird angenommen, daß die Suchfunktionen unterschiedlich sind. Die Anzahl der eingesetzten Suchfunktionseinheiten ist eine willkürliche Designwahl.
Um die Tabelle mit komprimierten Wiedergaben der ungültigen Kennwörter zu laden, werden die Ausgaben der Suchfunktionseinheiten (hash function unit) z. B. einer 26-Bit-Tabelle 22 zugeführt, um jeweilige Bits zu setzen. In der Fig. 1 werden, wenn das ungültige Kennwort "XXWORDOO" jeder der drei Suchfunktionen zugeführt wird, jeweilige Adressen A, J und Z von den jeweiligen Suchfunktionseinheiten ausgegeben. Als Ergebnis werden die Bits A, J und Z in der Suchtabelle, die in Fig. 2 gezeigt wird, gesetzt. Weitere ungültige Kennwörter können durch Wiederholen dieser Schritte hinzugefügt werden. Zu beachten ist, daß während dieses Vorgangs zwei ungültige Kennwörter eine Kollision haben können, d. h., daß es passieren kann, daß die Ausgaben der Suchfunktionseinheiten ein oder mehrere gemeinsame Bits in der Tabelle adressieren. Wenn dies auftritt, ist es nicht notwendig, daß sie gesetzt werden, um das spätere, ungültige Kennwort der Tabelle hinzuzufügen, da die gemeinsamen Bits bereits gesetzt worden sind.
Danach können Kandidatenkennwörter, die von einem Benutzer vorgeschlagen werden, mittels Vergleich mit der Suchtabelle überprüft werden. Wenn, und zwar dann, wenn ein Kandidatenkennwort verarbeitet wird, die Ausgaben der drei Suchfunktionseinheiten 16, 18 und 20 in der Tabelle Bits adressieren, die in einer beliebigen Reihenfolge gesetzt sind (in dem einfachen Beispiel gemäß Fig. 1 die Bits A, J und Z), und auch dann, wenn dies auf einer oder mehreren Kollisionen beruht, zeigt der Vergleicher 24 (der mit der Suchtabelle und den Suchfunktionseinheiten verbunden ist) eine "Übereinstimmung" an. Dies teilt dem Benutzer mit, daß das Kandidatenkennwort nicht gültig ist, d. h. nicht sicher.
Somit wird jedes Kandidatenkennwort, das dem System zugeführt wird, als gültiges Kennwort betrachtet, wenn es zumindest eine Suchfunktionsausgabe aufweist, die eine andere Adresse als die eingeschalteten Adressen (in dem einfachen Beispiel gemäß Fig. 1 die Bits A, J und Z) anzeigt. Anders ausgedrückt, wenn zumindest ein Bit, das noch nicht in der Tabelle gesetzt worden ist, adressiert wird, wird das Kennwort als sicher/gültig angezeigt und der Benutzer kann es für den sicheren Gebrauch als ein Kennwort verwenden. Wenn jedoch keine neuen Bits adressiert werden, dann wird eine "Übereinstimmung" (durch den Vergleicher 24) zwischen dem Kandidatenkennwort und den Suchtabelleninhalten erklärt. Wenn eine Übereinstimmung erklärt wird, wird das Kandidatenkennwort dem Benutzer als ungültig angezeigt, und ein neues Kandidatenkennwort muß ausgewählt und getestet werden.
Wenn z. B. ein vorgeschlagenes Kennwort "OOWORDXX" verarbeitet wird, adressieren die Ausgänge der drei Suchfunktionen 16, 18 und 20 die drei Bits A, H und K in der Suchtabelle. Obwohl Bit A durch die Eingabe des ungültigen Kennwortes "XXWORDOO" in der Suchtabelle gesetzt worden ist, wird das Kennwort "OOWORDXX" als gültig erachtet, da die Bits H und K nicht gesetzt worden sind. Dies erläutert den Vorteil eines verbesserten Systems, das mehrere Suchfunktionen verwendet, d. h., daß es mit drei Suchfunktionen möglich ist, zwischen den zwei Probenkennwörtern durch Vergleichen von Bitadressenkombinationen (AJZ und AHK) zu unterscheiden, wohingegen ein System mit nur einer Suchfunktion eine nicht unterscheidbare Kollision mit den identischen Adressen (A, A) erzeugt hätte. Dieses Merkmal ermöglicht das Auffinden einer Gültigkeit einer größeren Anzahl von sicheren Kandidatenkennwörtern.
Ein Benutzer wählt ein Kandidatenkennwort aus, wobei das Kennwort der Gültigkeitsüberprüfungseinheit gemäß der Erfindung zugeführt wird und das Kandidatenkennwort als gültig/ungültig dem Benutzer angezeigt wird. Um die Tabelle mit ungültigen Kennwörtern zu initialisieren, kann irgendeine der nachfolgenden drei Optionen implementiert werden. Gemäß einer ersten Option kann ein Lieferant eine Suchtabelle mit ungültigen (nicht sicheren oder allgemeinen Worten) zuvor laden. Für Sicherheitszwecke wird kein externer Zugriff auf die Tabelle gewährt und die zuvor geladene Tabelle ändert sich nicht. Kandidatenkennwörter werden zurückgewiesen, wenn Übereinstimmung festgestellt wird. Mehr als ein Benutzer können jedoch das gleiche gültige/sichere Kennwort (das nicht in der Tabelle ist) auswählen und benützen, da die Tabelle niemals aktualisiert wird.
Bei einer zweiten Option kann einem Sicherheitsbeauftragten erlaubt werden, ungültige Kennwörter der Tabelle (z. B. gemeinsame Wörter in einem bestimmten Feld des Geschäfts des Benutzers) hinzuzufügen, wobei aber die Tabelle für andere als diese Veränderungen bzw. Modifikationen nicht geändert wird. Deshalb kann mehr als ein Benutzer immer noch das gleiche, gültige Kennwort auswählen und benutzen.
Die soeben beschriebenen zwei Verfahren sind auf einige Personen angewiesen, um eine ausführliche Liste von offensichtlichen Kennwörtern zu erzeugen. Demzufolge besteht eine große Wahrscheinlichkeit, daß einige offensichtliche Kennwörter aus der Tabelle weggelassen werden. Im schlechtesten Fall können viele Benutzer ein oder mehrere dieser weggelassenen, offensichtlichen Kennwörter benutzen, was die Sicherheit vermindert.
Um diese Möglichkeit zu reduzieren, wird eine dritte Option bevorzugt. Bei dieser Option wird jedes Kennwort, das als gültig erachtet wird, der Suchtabelle hinzugefügt, was bewirkt, daß das Kennwort für eine zukünftige Auswahl ungültig ist. Deshalb kann nicht mehr als ein Benutzer das gleiche Kennwort auswählen. Zusätzlich wird, wie oben beschrieben, einem Sicherheitsbeauftragten erlaubt, ungültige Wörter der Tabelle hinzuzufügen.
Bei dieser dritten Option, obwohl nur ein Benutzer ein gegebenes Kennwort benutzen kann, sind einige Benutzer in die Lage versetzt, (unterschiedliche) offensichtliche Kennwörter zu benutzen, wenn die Tabelle nicht anfänglich alle offensichtlichen Kennwörter (auch mit den offensichtlichen Wörtern, die von einem gewissenhaften Sicherheitsbeauftragten hinzugefügt werden) enthält. Aus diesem Grund kann es von Vorteil sein, periodisch alle Benutzer zu zwingen, ihre Kennwörter zu ändern. Um einen Benutzer zur Änderung zu zwingen, kann ihn das System einfach davon abhalten, irgendwelche Aktivitäten auf dem System durchzuführen, bis er ein annehmbares, neues Kennwort vorschlägt. Aus Sicherheitsgründen muß dies ausgeführt werden, nachdem der Benutzer bereits mit seinem alten Kennwort in das System eingedrungen ist. Wenn die Benutzer zur Änderung angehalten sind, dürfen die Benutzer ihre Kennwörter nicht wieder benutzen, da diese der Tabelle hinzugefügt werden, wenn sie das erste Mal als gültig erachtet worden sind, und deshalb müssen sie neue, vorher nicht verwendete Kennwörter vorschlagen. Angenommen, daß einige Benutzer anfänglich offensichtliche Kennwörter auswählen, die nicht in der Tabelle sind, dann wird dieser Vorgang schließlich alle offensichtlichen Kennwörter "aussondern", die aus der Tabelle weggelassen worden sind und von den Benutzern ausgewählt worden sind, wodurch ein höherer Grad an Kennwortsicherheit erhalten wird.
Bei einer weiteren Erweiterung der dritten Option, und zwar in einem System mit mehreren Computern, verhindert eine zentrale Suchtabelle, daß der Benutzer das gleiche, gültige Kennwort auf mehreren Computern auswählt. Dies verhindert, daß ein lokaler Verstoß ein allgemeiner Verstoß der Sicherheit wird. Wie oben abgehandelt wurde, ist die Verschlüsselung der Nachsuchtabelle sehr wichtig für die Sicherheit des Gesamtsystems. Die Verbesserungen der dritten Option erhöhen die Wichtigkeit der Verschlüsselung, da bei der dritten Option die Tabelle ständig aufgefrischt wird und die Auffrischungen bzw. Updates exakt den Kennwörtern entsprechen, die kürzlich in Gebrauch genommen worden sind. Bei einer bevorzugten Ausführungsform der vorliegenden Erfindung, die besonders effektiv beim Garantieren der Tabellensicherheit ist, werden kryptographisch sichere Suchfunktionen eingesetzt. Diese Funktionen beinhalten bevorzugterweise den bekannten DES-Algorithmus (Data Encryption Standard). Bei dieser Ausführungsform werden Kandidatenkennwörter als Teil des Suchbetriebs verschlüsselt. Die Verschlüsselung wird in Übereinstimmung mit der Gleichung durchgeführt:
H = DES(K,V)
wobei die Ausgabe H, die ein Suchwert (hash value) ist, das Ergebnis des DES-Algorithmus ist, der mit dem Schlüssel K auf den Eingangswert V angewendet worden ist. Die jeweiligen Längen des Schlüssels K, der Eingangswert V und die Ausgabe H sind bei diesem Beispiel auf acht Byte ausgewählt und unterliegen den Einschränkungen bzw. Bedingungen des DES.
Die Verschlüsselung wird wie folgt durchgeführt: der Schlüssel K wird aus dem Kennwort abgeleitet und wird verwendet, um einen vorgegebenen Eingangswert V zu verschlüsseln. Da der Schlüssel aus dem Kennwort erzeugt wird und bei jeder Verschlüsselung geändert wird, kann keine Information über ein Kennwort auf praktische Art und Weise aus dem verschlüsselten Suchwert in der Tabelle bestimmt werden. Das liegt daran, daß es bei Verschlüsselungsalgorithmen, die mit DES konsistent sind, selbst dann, wenn ein Angreifer die Ausgabe H und die Eingabe V des Verschlüsselungsprozesses kennt, es nicht möglich ist, den Schlüssel K, der verwendet wurde, zu bestimmen. Ein Verschlüsselungsalgorithmus, der diese Erfordernisse erfüllen kann, ist sicher gegen einen bekannten Klartextangriff.
Bei einer besonderen Ausführungsform wird das Kennwort dazu verwendet, sechs Schlüssel K1-6 zu erzeugen, die sechs Eingangswerte V1-6 verschlüsseln, um sechs Ausgaben H1-6 zu erzeugen.
Mit Bezug auf Fig. 3 werden die sechs Eingangswerte V1-6 durch Selektieren dreier willkürlicher 16-Zeichen-Ketten erzeugt, die aufgegliedert sind. Gemäß einem Beispiel ist V₁ "JerroldS" und die Bytes von V₁ sind: das Byte für "J", gefolgt von dem Byte für "e" usw. V₂ "Leichter" usw. Bei diesem Beispiel sind sechs Werte V1-6 für den Gebrauch beim Verschlüsselungsprozeß erzeugt worden. Die Erfindung ist jedoch nicht auf eine solche Zahl beschränkt.
Vor dem Erzeugen der sechs Schlüssel K1-6 muß die Länge jedes Kennwortes normalisiert werden. Mit Bezug auf Fig. 4 kann man sich zum Beispiel überlegen, daß das (offensichtliche und deshalb ungültige) Kennwort P = "Susan", das eine Länge von fünf Byte hat (d. h. fünf Zeichen bzw. character), in der Tabelle untergebracht werden soll. Zuerst wird ein Zeichen (Fig. 5), das die Länge des Kennwortes ("5") angibt, dem Kennwort vorangehängt, wodurch ein 6-Zeichen- Kennwort P′ = "5Susan" gebildet wird.
Als nächstes (siehe Fig. 6) wird, wenn die Länge von P′ gerade ist, ein Zeichen wie z. B. "?" dem Kennwort angehängt, wodurch ein 7-Zeichen-Kennwort P′′ gebildet wird. Schließlich (siehe Fig. 7) wird das Kennwort P′′ an sich selbst so oft angehängt, bis seine Länge 48 Byte erreicht oder überschreitet. Die ersten 48 Byte sind in sechs 8- Byte-Segmente unterteilt, um sechs Schlüssel K1-6 zu erreichen: die ersten acht Bytes sind K₁, die nächsten acht sind K₂ usw. (wodurch die Länge des Kennwortes P′′ als ungerade erzwungen wird und zumindest eine gegebene Länge - z. B. sechs Byte - stellt Unterscheidbarkeit der Schlüssel sicher).
Die sechs Schlüssel K1-6 und die sechs vorgegebenen Eingangswerte V1-6 werden dann sechs separaten DES-Verschlüsselungen eingegeben. Genauer gesagt (siehe Fig. 8), werden sechs Ausgänge H1-6 durch Anwenden der herkömmlichen DES- Funktion auf die vorhergehend berechnenden Schlüssel K1-6 und die vorgegebenen Werte V1-6 erzeugt. In Fig. 9 werden die sechs Ausgänge H1-6 in zwölf 32-Bit-Werte h1-12 aufgespalten. Schließlich (Fig. 10) werden Bitadressen als Modul der aufgespaltenen Werte h1-12 mit der Länge N der Suchtabelle berechnet. Einige oder alle Bitadressen (z. B. die erste, die zweite und die sechste und elfte) können dann verwendet werden, um dann Bits in der Suchtabelle zu setzen. Bei bevorzugten Ausführungsformen werden alle Bitadressen verwendet. Das Kennwort "Susan" z. B. ergibt die Bits 1, 2, 6 und 11, die in der Suchtabelle, welche in Fig. 11 angegeben ist, eingeschaltet werden. Jedes andere Kennwort, das diese Bits einzuschalten versucht, wird als nicht gültig/nicht sicher zurückgewiesen werden.
Eine Eigenschaft der oben beschriebenen Ausführungsform besteht darin, daß die Liste der Kennwörter, die in die Tabelle eingegeben worden sind, aus der Tabelle alleine nicht rekonstruiert werden können. Somit kann die Tabelle ohne der Notwendigkeit einer speziellen Sicherheit transportiert werden. Eine zweite Eigenschaft besteht darin, daß die Änderungen, die in der Tabelle als Folge des Hinzuaddierens eines einzelnen Kennwortes gemacht worden sind, eine Bestimmung des Kennwortes nicht ermöglichen. Somit können die Änderungen ohne die Notwendigkeit von zusätzlichen Sicherheitsvorkehrungen transportiert werden.

Claims (27)

1. Verfahren zum computergesteuerten Überprüfen der Annehmbarkeit eines von einem Benutzer eines computergesteuerten Sicherheitssystems vorgeschlagenen Kennworts, mit den folgenden Verfahrensschritten:
Vorsehen einer im Sicherheitssystem gespeicherten Tabelle von Indikatoren,
Vorsehen einer Gruppe von nicht annehmbaren, im Sicherheitssystem gespeicherten Kennwörtern,
Vorsehen einer Zuordnungs(mapping)-Funktion, die den Kennwörtern Indikatoren zuordnet, indem jedes Kennwort einer Hash-Funktion unterzogen wird, wobei die Zuordnungsfunktion so ausgebildet ist, daß mehr als ein Kennwort einem Indikator zugeordnet sein kann,
Durchführen der Zuordnungsfunktion bei jedem Kennwort aus der Gruppe der nicht annehmbaren Kennwörter und Setzen der Indikatoren, die jedem der nicht annehmbaren Kennwörter zugeordnet sind,
automatisches Durchführen der Zuordnungsfunktion bei dem vom Benutzer vorgeschlagenen Kennwort, um Indikatoren für das vorgeschlagene Kennwort zu erhalten, und Überprüfen, ob die Indikatoren, die dem vorgeschlagenen Kennwort zugeordnet sind, gesetzt sind,
wobei ohne Fehler im Sicherheitssystem festgestellt werden kann, daß das vorgeschlagene Kennwort nicht in der Gruppe von nicht annehmbaren Kennwörtern ist und ihm deshalb Privilegien in dem Sicherheitssystem zugeordnet werden können.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß ein Benutzer weitere, nicht annehmbare Kennwörter der Gruppe von nicht annehmbaren Kennwörtern hinzufügen kann und dadurch automatisch variiert wird, welche der Indikatoren gesetzt sind.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß, wenn das vorgeschlagene Kennwort als annehmbar festgestellt worden ist, das vorgeschlagene Kennwort der Gruppe von nicht annehmbaren Kennwörtern hinzugefügt und der dem vorgeschlagenen Kennwort zugeordnete Indikator so gesetzt wird, daß das vorgeschlagene Kennwort nicht annehmbar sein wird, wenn es nachfolgend vorgeschlagen wird.
4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß zumindest teilweise die Privilegierung eines vorher privilegierten Kennwortes aufgehoben wird, so daß der Benutzer des vorher privilegierten Kennwortes gezwungen wird, ein neues Kennwort nach einer vorgegebenen Zeitdauer der Verwendung vorzuschlagen.
5. Verfahren nach Anspruch 1, bei dem die Annehmbarkeit von Kennwörtern, die von Benutzern einer Vielzahl von Sicherheitssystemen vorgeschlagen wurden, welche durch ein Kommunikationssystem miteinander verbunden sind, überprüft werden kann, wobei jedes der Sicherheitssysteme die Annehmbarkeit der vorgeschlagenen Kennwörter entsprechend dem Verfahren nach Anspruch 1 überprüft, und, wenn ein bestimmtes Sicherheitssystem feststellt, daß ein vorgeschlagenes Kennwort annehmbar ist, das bestimmte Sicherheitssystem das vorgeschlagene Kennwort der Gruppe von nicht annehmbaren Kennwörtern hinzufügt und den dem vorgeschlagenen Kennwort zugeordneten Indikator setzt, wobei nur für eines der Sicherheitssysteme ein gegebenes Kennwort annehmbar ist und diesem Privilegien zugeordnet werden können.
6. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Zuordnungsfunktion einen Verschlüsselungsalgorithmus aufweist.
7. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Indikatoren Bits in einer Hash-Tabelle sind.
8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, daß die Hash-Funktion eine Normalisierung der Zeichenfolge eines Kennwortes auf ein Standardformat aufweist, um eine normalisierte Zeichenfolge zu erzeugen.
9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, daß das Standardformat eine vorbestimmte Länge hat.
10. Verfahren nach Anspruch 8 oder 9, dadurch gekennzeichnet, daß die Normalisierung das Anhängen eines Zeichens, das der Länge der Zeichenfolge zugeordnet ist, an die Zeichenfolge umfaßt, wodurch eine modifizierte Zeichenfolge erzeugt wird.
11. Verfahren nach Anspruch 10, dadurch gekennzeichnet, daß die Normalisierung das wahlweise Hinzufügen eines Zeichens zu der modifizierten Zeichenfolge umfassen kann, wodurch eine zweifach modifizierte Zeichenfolge mit ungerader Länge gebildet wird.
12. Verfahren nach Anspruch 11, dadurch gekennzeichnet, daß die Normalisierung weiterhin aufweist: das wiederholte Anhängen der zweifach modifizierten Zeichenfolge an sich selbst, bis eine gegebene Länge überschritten wird, und anschließendes Abschneiden auf die vorbestimmte Länge, wodurch die normalisierte Zeichenfolge erzeugt wird.
13. Verfahren nach einem der Ansprüche 8 bis 12, dadurch gekennzeichnet, daß die Hash-Funktion weiterhin aufweist: das Unterteilen der normalisierten Zeichenfolge in Stücke, das Verschlüsseln einer bestimmten Eingabe, die mindestens eines oder mehrere der Stücke als Verschlüsselungsschlüssel verwendet, und das Adressieren von Bits in der Hash-Tabelle mit der verschlüsselten Ausgabe.
14. Verfahren nach Anspruch 13, dadurch gekennzeichnet, daß die Verschlüsselung in Übereinstimmung mit einer kryptographischen Technik durchgeführt wird, die gegen einen Entschlüsselungsversuch mit einem bekannten Klartext sicher ist, wobei Kennwörter, die der Gruppe von nicht annehmbaren Kennwörtern hinzugefügt werden, nicht aus Änderungen der Hash-Tabelle bestimmt werden können.
15. Verfahren nach Anspruch 14, dadurch gekennzeichnet, daß die kryptographische Technik der Data Encryption Standard (DES) ist.
16. Verfahren nach Anspruch 13, dadurch gekennzeichnet, daß der Verschlüsselungsschritt N mal wiederholt wird, um N verschlüsselte Ausgaben zu erzeugen,
daß die N verschlüsselten Ausgaben aufgespalten werden, um Endausgänge zu erzeugen, und
daß eine oder mehrere Bitadressen in der Hash-Tabelle aus einem oder mehreren Endausgaben als Modulo der Endausgabe mit der Länge der Hash-Tabelle berechnet werden.
17. Vorrichtung zum computergesteuerten Überprüfen der Annehmbarkeit eines von einem Benutzer eines computergesteuerten Sicherheitssystems vorgeschlagenen Kennworts, mit dem der Benutzer Zugang zum Sicherheitssystem haben möchte, mit:
einer Tastatur (12) zur Eingabe des von dem Benutzer vorgeschlagenen Kennworts,
einer im Sicherheitssystem gespeicherten Gruppe von nicht annehmbaren Kennwörtern,
einer im Sicherheitssystem gespeicherten Tabelle (22) von Indikatoren, die der Gruppe von nicht annehmbaren Kennwörtern zugeordnet sind,
einer Zuordnungs(mapping)-Einrichtung (16, 18, 20), die den Kennwörtern Indikatoren zuordnet, wobei die Zuordnung so ist, daß mehr als ein Kennwort einem Indikator zugeordnet werden kann,
einer Steuerungseinrichtung (26), die die Zuordnung von jedem nicht annehmbaren Kennwort aus der gespeicherten Gruppe von nicht annehmbaren Kennwörtern durch die Zuordnungseinrichtung (16, 18, 20) initialisiert und die Indikatoren der gespeicherten Tabelle (22) setzt, die jedem der nicht annehmbaren Kennwörter zugeordnet sind, sowie die automatisch die Zuordnung von dem vom Benutzer vorgeschlagenen Kennwort durch die Zuordnungseinrichtung (16, 18, 20) veranlaßt und den dem vorgeschlagenen Kennwort zugeordneten Indikator setzt, und
einer Vergleichseinrichtung (24), die überprüft, ob der Indikator, der dem vorgeschlagenen Kennwort zugeordnet ist, gesetzt ist, wodurch ohne Fehler im Sicherheitssystem festgestellt werden kann, daß das vorgeschlagene Kennwort nicht in der Gruppe von nicht annehmbaren Kennwörtern ist und ihm deshalb Privilegien in dem Sicherheitssystem zugeordnet werden können.
18. Vorrichtung nach Anspruch 17, dadurch gekennzeichnet, daß ein Privilegzuordner, der Privilegien in dem Sicherheitssystem dem vorgeschlagenen Kennwort zuordnet, vorgesehen ist, und daß der Privilegzuordner von der Vergleichseinrichtung (24) aufgerufen wird, wenn die Vergleichseinrichtung (24) feststellt, daß das vorgeschlagene Kennwort nicht in der Gruppe der nicht annehmbaren Kennwörter ist.
19. Vorrichtung nach Anspruch 17, dadurch gekennzeichnet, daß ein Modifizierer vorgesehen ist, der die gespeicherte Tabelle der Indikatoren und die gespeicherte Gruppe von nicht annehmbaren Kennwörtern modifiziert, und daß der Modifizierer von dem Benutzer aufgerufen wird, um weitere nicht annehmbare Kennwörter der Gruppe hinzuzufügen und dadurch zu variieren, welcher der Indikatoren gesetzt wird.
20. Vorrichtung nach einem der Ansprüche 17 oder 18, dadurch gekennzeichnet, daß ein Modifizierer vorgesehen ist, der das vorgeschlagene Kennwort der Gruppe von nicht annehmbaren Kennwörtern hinzufügt und den Indikator setzt, der dem vorgeschlagenen Kennwort zugeordnet ist, und daß der Modifizierer von der Vergleichseinrichtung aufgerufen wird, wenn die Vergleichseinrichtung feststellt, daß das vorgeschlagene Kennwort nicht in der Gruppe von nicht annehmbaren Kennwörtern ist, so daß das vorgeschlagene Kennwort nicht annehmbar sein wird, wenn es nachfolgend vorgeschlagen wird.
21. Vorrichtung nach einem der Ansprüche 18 bis 20, dadurch gekennzeichnet, daß der Privilegzuordner zumindest teilweise die Privilegien eines vorher privilegierten Kennwortes zurücknehmen kann, damit der Benutzer des vorher privilegierten Kennwortes gezwungen wird, ein neues Kennwort vorzuschlagen.
22. Vorrichtung nach einem der Ansprüch 17 bis 21, die eingesetzt wird, um die Annehmbarkeit von Kennwörtern zu überprüfen, die von Benutzern einer Vielzahl von Sicherheitssystemen vorgeschlagen werden, welche durch ein Kommunikationssystem miteinander verbunden sind, dadurch gekennzeichnet,
daß jedes Sicherheitssystem die Vergleichseinrichtung aufrufen kann, um die Annehmbarkeit eines Kennwortes zu überprüfen, das von dem System vorgeschlagen wird, und somit den Modifizierer aufrufen kann, um das vorgeschlagene Kennwort der Gruppe von nicht annehmbaren Kennwörtern hinzuzufügen und die Indikatoren zu setzen, die dem vorgeschlagenen Kennwort zugeordnet sind, wenn die Vergleichseinrichtung feststellt, daß das vorgeschlagene Kennwort nicht in der Gruppe von nicht annehmbaren Kennwörtern ist, wobei ein gegebenes Kennwort nur für ein Sicherheitssystem annehmbar ist, und ihm deshalb Privilegien zugeordnet werden können.
23. Vorrichtung nach Anspruch 17, dadurch gekennzeichnet, daß die gespeicherte Tabelle von Indikatoren eine Hash-Tabelle ist und die Zuordnungseinrichtung eine Hash-Funktionseinheit aufweist, die eine Hash-Funktion durchführt, und daß die Hash-Funktionseinheit einen Normalisierer aufweist, der die Zeichenfolge für ein Kennwort in ein Standardformat normalisiert.
24. Vorrichtung nach Anspruch 23, dadurch gekennzeichnet, daß der Normalisierer eine Anhängeeinrichtung aufweist, die der Zeichenfolge ein Zeichen anhängt, das der Länge der Zeichenfolge zugeordnet ist, wodurch eine modifizierte Zeichenfolge erzeugt wird.
25. Vorrichtung nach Anspruch 24, dadurch gekennzeichnet, daß die Anhängeeinrichtung selektiv ein Zeichen an die modifizierte Zeichenfolge anhängen kann, wodurch eine zweifach modifizierte Zeichenfolge erzeugt wird, die eine ungerade Länge aufweist.
26. Vorrichtung nach Anspruch 25, dadurch gekennzeichnet, daß der Normalisierer weiterhin eine Wiederholeinrichtung aufweist, die die modifizierte oder zweifach modifizierte Zeichenfolge an sich selbst anhängen kann, bis sie eine gegebene Länge überschreitet, und dann auf eine vorbestimmte Länge abschneiden kann, wodurch eine normalisierte Zeichenfolge erzeugt wird.
27. Vorrichtung nach einem der Ansprüche 23 oder 26, dadurch gekennzeichnet, daß die Hash-Funktionseinheit weiterhin aufweist:
einen Teiler, der die normalisierte Zeichenfolge in Stücke teilt,
eine Verschlüsselungseinrichtung, die eine bestimmte Eingabe verschlüsselt, die mindestens eines oder mehrere der Stücke als Verschlüsselungsschlüssel verwendet, und
einen Adressierer, der Adressen von Bits in der Hash-Tabelle mit der verschlüsselten Ausgabe bildet.
DE4107019A 1990-03-09 1991-03-05 Verfahren und Vorrichtung zum computergesteuerten Überprüfen der Annehmbarkeit von Kennwörtern Expired - Lifetime DE4107019C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/491,431 US5204966A (en) 1990-03-09 1990-03-09 System for controlling access to a secure system by verifying acceptability of proposed password by using hashing and group of unacceptable passwords

Publications (2)

Publication Number Publication Date
DE4107019A1 DE4107019A1 (de) 1991-09-12
DE4107019C2 true DE4107019C2 (de) 1994-06-16

Family

ID=23952194

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4107019A Expired - Lifetime DE4107019C2 (de) 1990-03-09 1991-03-05 Verfahren und Vorrichtung zum computergesteuerten Überprüfen der Annehmbarkeit von Kennwörtern

Country Status (6)

Country Link
US (1) US5204966A (de)
AU (1) AU637191B2 (de)
CA (1) CA2037071A1 (de)
DE (1) DE4107019C2 (de)
GB (1) GB2243470A (de)
NL (1) NL9100329A (de)

Families Citing this family (92)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG46177A1 (en) * 1989-12-13 1998-02-20 Ibm Computer system security device
EP0510244A1 (de) * 1991-04-22 1992-10-28 Acer Incorporated Verfahren und Anordnung zum Schutz eines Computers gegen Computerviren
US5421006A (en) * 1992-05-07 1995-05-30 Compaq Computer Corp. Method and apparatus for assessing integrity of computer system software
AU4400993A (en) * 1992-06-12 1994-01-04 Dow Chemical Company, The Secure front end communication system and method for process control computers
US5491752A (en) * 1993-03-18 1996-02-13 Digital Equipment Corporation, Patent Law Group System for increasing the difficulty of password guessing attacks in a distributed authentication scheme employing authentication tokens
US5475826A (en) * 1993-11-19 1995-12-12 Fischer; Addison M. Method for protecting a volatile file using a single hash
US5537540A (en) * 1994-09-30 1996-07-16 Compaq Computer Corporation Transparent, secure computer virus detection method and apparatus
US5892900A (en) 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US8639625B1 (en) * 1995-02-13 2014-01-28 Intertrust Technologies Corporation Systems and methods for secure transaction management and electronic rights protection
EP0826181A4 (de) * 1995-04-11 2005-02-09 Kinetech Inc Identifizierung von daten in einem datenverarbeitungssystem
US5793951A (en) * 1996-05-10 1998-08-11 Apple Computer, Inc. Security and report generation system for networked multimedia workstations
US5892903A (en) * 1996-09-12 1999-04-06 Internet Security Systems, Inc. Method and apparatus for detecting and identifying security vulnerabilities in an open network computer communication system
US5887131A (en) * 1996-12-31 1999-03-23 Compaq Computer Corporation Method for controlling access to a computer system by utilizing an external device containing a hash value representation of a user password
US5953502A (en) * 1997-02-13 1999-09-14 Helbig, Sr.; Walter A Method and apparatus for enhancing computer system security
US6226629B1 (en) * 1997-02-28 2001-05-01 Compaq Computer Corporation Method and apparatus determining and using hash functions and hash values
US6079021A (en) * 1997-06-02 2000-06-20 Digital Equipment Corporation Method and apparatus for strengthening passwords for protection of computer systems
US6442692B1 (en) 1998-07-21 2002-08-27 Arkady G. Zilberman Security method and apparatus employing authentication by keystroke dynamics
EP1149339A1 (de) 1998-12-09 2001-10-31 Network Ice Corporation Verfahren und vorrichtung zur netzwerk- und computersystem- sicherung
US7346929B1 (en) * 1999-07-29 2008-03-18 International Business Machines Corporation Method and apparatus for auditing network security
US6748544B1 (en) * 1999-08-19 2004-06-08 International Business Machines Corporation Discrete, background determination of the adequacy of security features of a computer system
US6467049B1 (en) * 1999-10-15 2002-10-15 Cisco Technology, Inc. Method and apparatus for configuration in multi processing engine computer systems
DE19952049A1 (de) * 1999-10-28 2001-05-10 Siemens Ag Verfahren und Anordnung zur Verifikation eines Sprechers anhand eines Rechners
US8006243B2 (en) * 1999-12-07 2011-08-23 International Business Machines Corporation Method and apparatus for remote installation of network drivers and software
US6826686B1 (en) * 2000-04-14 2004-11-30 International Business Machines Corporation Method and apparatus for secure password transmission and password changes
WO2001084775A2 (en) * 2000-04-28 2001-11-08 Internet Security Systems, Inc. System and method for managing security events on a network
US7574740B1 (en) 2000-04-28 2009-08-11 International Business Machines Corporation Method and system for intrusion detection in a computer network
EP1277326A2 (de) * 2000-04-28 2003-01-22 Internet Security Systems, Inc. Verfahren und vorrichtung zur computersicherheitsinformationverwaltung
US7162649B1 (en) 2000-06-30 2007-01-09 Internet Security Systems, Inc. Method and apparatus for network assessment and authentication
WO2002017553A2 (en) * 2000-08-18 2002-02-28 United States Postal Service Apparatus and methods for the secure transfer of electronic data
WO2002017262A2 (en) * 2000-08-21 2002-02-28 United States Postal Services Delivery point validation system
US7178166B1 (en) 2000-09-19 2007-02-13 Internet Security Systems, Inc. Vulnerability assessment and authentication of a computer by a local scanner
US9027121B2 (en) * 2000-10-10 2015-05-05 International Business Machines Corporation Method and system for creating a record for one or more computer security incidents
US7146305B2 (en) * 2000-10-24 2006-12-05 Vcis, Inc. Analytical virtual machine
US7130466B2 (en) * 2000-12-21 2006-10-31 Cobion Ag System and method for compiling images from a database and comparing the compiled images with known images
US20020147803A1 (en) * 2001-01-31 2002-10-10 Dodd Timothy David Method and system for calculating risk in association with a security audit of a computer network
US7350078B1 (en) * 2001-04-26 2008-03-25 Gary Odom User selection of computer login
JP2002334017A (ja) * 2001-05-10 2002-11-22 Fujitsu Ltd 処理装置、処理装置の管理方法、プログラム、およびシステム
US7237264B1 (en) 2001-06-04 2007-06-26 Internet Security Systems, Inc. System and method for preventing network misuse
US7480796B2 (en) * 2001-06-07 2009-01-20 Kwan Sofware Engineering, Inc. System and method for authenticating data using incompatible digest functions
US7657419B2 (en) * 2001-06-19 2010-02-02 International Business Machines Corporation Analytical virtual machine
US7673137B2 (en) * 2002-01-04 2010-03-02 International Business Machines Corporation System and method for the managed security control of processes on a computer system
US7062655B2 (en) * 2002-01-23 2006-06-13 International Business Machines Corporation Method, system, and storage medium for determining trivial keyboard sequences of proposed passwords
KR100450953B1 (ko) * 2002-03-05 2004-10-02 삼성전자주식회사 암호를 이용한 사용자 인증방법
US7587408B2 (en) 2002-03-21 2009-09-08 United States Postal Service Method and system for storing and retrieving data using hash-accessed multiple data stores
US7664731B2 (en) * 2002-03-21 2010-02-16 United States Postal Service Method and system for storing and retrieving data using hash-accessed multiple data stores
US7370360B2 (en) * 2002-05-13 2008-05-06 International Business Machines Corporation Computer immune system and method for detecting unwanted code in a P-code or partially compiled native-code program executing within a virtual machine
US7159119B2 (en) * 2002-09-06 2007-01-02 United States Postal Service Method and system for efficiently retrieving secured data by securely pre-processing provided access information
US7913303B1 (en) 2003-01-21 2011-03-22 International Business Machines Corporation Method and system for dynamically protecting a computer system from attack
US7200754B2 (en) * 2003-03-03 2007-04-03 International Business Machines Corporation Variable expiration of passwords
US8769680B2 (en) * 2003-06-12 2014-07-01 International Business Machines Corporation Alert passwords for detecting password attacks on systems
US7657938B2 (en) * 2003-10-28 2010-02-02 International Business Machines Corporation Method and system for protecting computer networks by altering unwanted network data traffic
US7552327B2 (en) 2003-11-13 2009-06-23 International Business Machines Corporation Method and apparatus for conducting a confidential search
US8065525B2 (en) * 2004-09-22 2011-11-22 Bekad Mgmt. Ii, Llc Device with built-in user authentication and method for user authentication and identity theft protection
US7941671B2 (en) * 2004-10-14 2011-05-10 Oracle International Corporation Method and apparatus for accommodating multiple verifier types with limited storage space
US20060136738A1 (en) * 2004-12-16 2006-06-22 International Business Machines Corporation System and method for password validation
US8011014B2 (en) * 2004-12-16 2011-08-30 International Business Machines Corporation System and method for password validation based on password's value and manner of entering the password
US7801925B2 (en) * 2004-12-22 2010-09-21 United States Postal Service System and method for electronically processing address information
US8165909B2 (en) 2005-05-17 2012-04-24 The United States Postal Service System and method for automated management of an address database
US7870103B1 (en) * 2005-10-13 2011-01-11 Emc Corporation Tolerating and reporting collisions in content-derived identifiers of data segments using secondary identifiers
US8185576B2 (en) * 2006-03-14 2012-05-22 Altnet, Inc. Filter for a distributed network
US9552349B2 (en) * 2006-08-31 2017-01-24 International Business Machines Corporation Methods and apparatus for performing spelling corrections using one or more variant hash tables
US10055595B2 (en) * 2007-08-30 2018-08-21 Baimmt, Llc Secure credentials control method
US8379867B2 (en) 2007-09-24 2013-02-19 Mymail Technology, Llc Secure email communication system
US8332918B2 (en) * 2007-12-06 2012-12-11 Novell, Inc. Techniques for real-time adaptive password policies
US8286000B2 (en) * 2007-12-07 2012-10-09 Novell, Inc. Techniques for dynamic generation and management of password dictionaries
US7530106B1 (en) 2008-07-02 2009-05-05 Kaspersky Lab, Zao System and method for security rating of computer processes
US20120096281A1 (en) * 2008-12-31 2012-04-19 Eszenyi Mathew S Selective storage encryption
US20110083172A1 (en) * 2009-10-07 2011-04-07 International Business Machines Corporation Increase entropy of user-chosen passwords via data management
US20120284528A1 (en) * 2010-10-07 2012-11-08 Stephen Orovitz Multi-purpose multi-dimensional, variable and multi-key e-mail and data encryption method
US8682873B2 (en) * 2010-12-01 2014-03-25 International Business Machines Corporation Efficient construction of synthetic backups within deduplication storage system
US9471772B2 (en) 2011-06-01 2016-10-18 Paypal, Inc. Password check by decomposing password
US9300643B1 (en) 2012-06-27 2016-03-29 Amazon Technologies, Inc. Unique credentials verification
US9087187B1 (en) * 2012-10-08 2015-07-21 Amazon Technologies, Inc. Unique credentials verification
GB2505531B (en) * 2012-11-16 2015-01-07 F Secure Corp Methods, systems and apparatus for managing data entries on a database
US9767299B2 (en) 2013-03-15 2017-09-19 Mymail Technology, Llc Secure cloud data sharing
EP2955655A1 (de) * 2014-06-12 2015-12-16 Thomson Licensing Vorrichtungen und Verfahren zur Passwortauthentifizierung
US9866473B2 (en) 2014-11-14 2018-01-09 Nicira, Inc. Stateful services on stateless clustered edge
US9876714B2 (en) 2014-11-14 2018-01-23 Nicira, Inc. Stateful services on stateless clustered edge
US11533255B2 (en) * 2014-11-14 2022-12-20 Nicira, Inc. Stateful services on stateless clustered edge
US10044617B2 (en) 2014-11-14 2018-08-07 Nicira, Inc. Stateful services on stateless clustered edge
CN105069330B (zh) * 2015-08-05 2018-01-19 东莞盛世科技电子实业有限公司 密码模糊输入方法及装置
US9961053B2 (en) 2016-05-27 2018-05-01 Dropbox, Inc. Detecting compromised credentials
US10503654B2 (en) 2016-09-01 2019-12-10 Intel Corporation Selective caching of erasure coded fragments in a distributed storage system
US11140173B2 (en) 2017-03-31 2021-10-05 Baimmt, Llc System and method for secure access control
US11296984B2 (en) 2017-07-31 2022-04-05 Nicira, Inc. Use of hypervisor for active-active stateful network service cluster
US10951584B2 (en) 2017-07-31 2021-03-16 Nicira, Inc. Methods for active-active stateful network service cluster
US11570092B2 (en) 2017-07-31 2023-01-31 Nicira, Inc. Methods for active-active stateful network service cluster
US11153122B2 (en) 2018-02-19 2021-10-19 Nicira, Inc. Providing stateful services deployed in redundant gateways connected to asymmetric network
US11709925B1 (en) * 2018-09-27 2023-07-25 Amazon Technologies, Inc. Visual token passwords
GB2587000B (en) * 2019-09-11 2021-12-01 Daigniere Florent Method of testing and improving security in a password-based authentication system
US11799761B2 (en) 2022-01-07 2023-10-24 Vmware, Inc. Scaling edge services with minimal disruption
US11962564B2 (en) 2022-02-15 2024-04-16 VMware LLC Anycast address for network address translation at edge

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3394246A (en) * 1963-04-08 1968-07-23 Telecredit Status-indicating system
US3702987A (en) * 1970-07-24 1972-11-14 Ultronic Systems Corp Information verification system and digital data input unit
US3798602A (en) * 1972-01-17 1974-03-19 J Hynes Credit authorization system
US3996449A (en) * 1975-08-25 1976-12-07 International Business Machines Corporation Operating system authenticator
US4290105A (en) * 1979-04-02 1981-09-15 American Newspaper Publishers Association Method and apparatus for testing membership in a set through hash coding with allowable errors
US4295124A (en) * 1979-08-13 1981-10-13 National Semiconductor Corporation Communication method and system
US4498148A (en) * 1980-06-17 1985-02-05 International Business Machines Corporation Comparing input words to a word dictionary for correct spelling
US4476468A (en) * 1981-06-22 1984-10-09 Light Signatures, Inc. Secure transaction card and verification system
US4503514A (en) * 1981-12-29 1985-03-05 International Business Machines Corporation Compact high speed hashed array for dictionary storage and lookup
US4538240A (en) * 1982-12-30 1985-08-27 International Business Machines Corporation Method and apparatus for performing hashing operations using Galois field multiplication
US4589081A (en) * 1983-03-15 1986-05-13 Dynatrend, Incorporated Intelligent surveillance alarm system and method
US4605820A (en) * 1983-11-10 1986-08-12 Visa U.S.A. Inc. Key management system for on-line communication
US4694492A (en) * 1984-11-09 1987-09-15 Pirmasafe, Inc. Computer communications security control system
US4816653A (en) * 1986-05-16 1989-03-28 American Telephone And Telegraph Company Security file system for a portable data carrier
US4730348A (en) * 1986-09-19 1988-03-08 Adaptive Computer Technologies Adaptive data compression system
US4908861A (en) * 1987-08-28 1990-03-13 International Business Machines Corporation Data authentication using modification detection codes based on a public one way encryption function
US5005200A (en) * 1988-02-12 1991-04-02 Fischer Addison M Public key/signature cryptosystem with enhanced digital signature certification
US4924515A (en) * 1988-08-29 1990-05-08 International Business Machines Coprporation Secure management of keys using extended control vectors
US5103478A (en) * 1989-04-27 1992-04-07 International Business Machines Corporation Secure management of keys using control vectors with multi-path checking

Also Published As

Publication number Publication date
AU637191B2 (en) 1993-05-20
AU7109191A (en) 1991-10-03
NL9100329A (nl) 1991-10-01
GB9105113D0 (en) 1991-04-24
CA2037071A1 (en) 1991-09-10
US5204966A (en) 1993-04-20
DE4107019A1 (de) 1991-09-12
GB2243470A (en) 1991-10-30

Similar Documents

Publication Publication Date Title
DE4107019C2 (de) Verfahren und Vorrichtung zum computergesteuerten Überprüfen der Annehmbarkeit von Kennwörtern
DE69634880T2 (de) Verfahren und gerät zum kontrollierten zugriff zu verschlüsselten datenakten in einem computersystem
DE69829642T2 (de) Authentifizierungssystem mit chipkarte
DE69815599T2 (de) Verfahren und Vorrichtung zum Schutz von Anwendungsdaten in sicheren Speicherbereichen
DE3044463C2 (de)
DE3122534C1 (de) Verfahren zur Erzeugung sowie Kontrolle von Dokumenten, sowie Dokument und Vorrichtung zur Durchführung des Verfahrens
DE3407642A1 (de) Verfahren und einrichtung zur sicherung des zugriffs zu dateien
DE102011014688B3 (de) Kraftwagen-Steuergerät mit kryptographischer Einrichtung
WO2001006341A1 (de) Datenverarbeitungsvorrichtung
DE19820422A1 (de) Verfahren zur Authentisierung einer Chipkarte innerhalb eines Nachrichtenübertragungs-Netzwerks
WO2001090855A1 (de) Verschlüsseln von abzuspeichernden daten in einem iv-system
WO2015032791A1 (de) Verfahren und system zum bereitstellen von anonymisierten daten aus einer datenbank
EP0030381A2 (de) Verfahren und Vorrichtung zur Erzeugung und späteren Kontrolle von gegen Nachahmung, Verfälschung und Missbrauch abgesicherten Dokumenten und Dokument zu dessen Durchführung
DE60219706T2 (de) Verfahren und Vorrichtung zum Anfügen einer elektronischen Unterschrift an ein strukturiertes Dokument
DE60026186T2 (de) Verfahren zur Prüfung einer integrierten Schaltung mit vertraulichen Software- oder Hardware-elementen
DE69729685T2 (de) Verfahren zur Verdeckung eines Geheimcodes in einer Rechnerbeglaubigungsvorrichtung
DE102010002472A1 (de) Verfahren zum Verifizieren eines Speicherblocks eines nicht-flüchtigen Speichers
EP0280035B1 (de) Verfahren zum Sichern von Programmen und zur Integritätskontrolle gesicherter Programme
EP3576001A1 (de) Computerimplementiertes verfahren zum übergeben eines datenstrings von einer anwendung an eine datenschutzeinrichtung
EP3552141B1 (de) Server-computersystem zur bereitstellung von datensätzen
EP3300522B1 (de) Bereitstellung zumindest eines passworts
DE102015210294A1 (de) Clientvorrichtung und Servervorrichtung zum abgesicherten Freischalten von Funktionen eines Clients
EP0973659B1 (de) Verfahren zur erlangung eines diebstahlsschutzes für geräte, insbesondere für autoradios
DE102009044173A1 (de) Kreuzweiser Abgleich von Tippverhaltensdaten zur Authentifizierung und/oder Identifizierung einer Person
DE10307996A1 (de) Verfahren zum Ver- und Entschlüsseln von Daten durch verschiedene Nutzer

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
R071 Expiry of right