DE69834406T2 - Verallgemeinertes benutzeridentifizierungs-und-authentisierungssystem - Google Patents

Verallgemeinertes benutzeridentifizierungs-und-authentisierungssystem Download PDF

Info

Publication number
DE69834406T2
DE69834406T2 DE69834406T DE69834406T DE69834406T2 DE 69834406 T2 DE69834406 T2 DE 69834406T2 DE 69834406 T DE69834406 T DE 69834406T DE 69834406 T DE69834406 T DE 69834406T DE 69834406 T2 DE69834406 T2 DE 69834406T2
Authority
DE
Germany
Prior art keywords
user
authentication
prover
authentication information
secure application
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
DE69834406T
Other languages
English (en)
Other versions
DE69834406D1 (de
Inventor
B. Marc Lindenhurst MANZA
D. Marc Del Mar BORODITSKY
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.)
Oracle International Corp
Original Assignee
Passlogix Inc
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 Passlogix Inc filed Critical Passlogix Inc
Application granted granted Critical
Publication of DE69834406D1 publication Critical patent/DE69834406D1/de
Publication of DE69834406T2 publication Critical patent/DE69834406T2/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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/83Protecting input, output or interconnection devices input devices, e.g. keyboards, mice or controllers thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/36User authentication by graphic or iconic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Description

  • Die Erfindung betrifft im Allgemeinen Verfahren zum Verifizieren der Identität eines Benutzers einer sicheren Anwendung. Insbesondere betrifft die Erfindung ein Verfahren zum Verifizieren der Identität eines auf mehrere sichere Anwendungen oder Systeme, wie z.B. einen Computer, einen Online-Dienst, automatisierten Transaktionsmechanismus und dergleichen zugreifenden Benutzers.
  • Viele elektronische Systeme befinden sich in Gebrauch, die eine Selbstidentifizierung des Benutzers erfordern, bevor ihm ein Zugrang zu dem System genehmigt wird. Diese Systeme umfassen Computernetzwerke, Geldausgabeautomaten (ATM's), automatisierte Datenbanken wie z.B. LEXISTM, Banksysteme, E-Mail-Systeme, Onlineprovider wie z.B. America On-Line (AOL)TM, Börsenhandelssysteme, Bildungsinstitutionen, Gehaltsabrechnungssysteme und eine große Vielfalt zusätzlicher Anwendungen. Um sicherzustellen, dass die Information dieser Systeme vor unbefugtem Zugriff, Zerstörung oder Missbrauch geschützt wird, verwenden die meisten Systeme eine bestimmte Art Sicherheit. Sicherheit ist insbesondere wichtig, wenn die Information leicht für eine große Gemeinschaft möglicher Nutzer an mehreren Stellen auf Netwerken verfügbar gemacht wird.
  • Systemsicherheit kann typischerweise physikalische, prozedurale und technische Mechanismen beinhalten. Jedoch beruhen die meisten Systeme auf einem oder mehreren von drei Grundverfahren der Identifikation und Authentisierung, wovon jedes etwas von dem Nachweiserbringer (die Begriffe "Nachweiserbringer" (Prover) und "Benutzer" (User) werden austauschbar in der gesamten Beschreibung verwendet) erfordert:
    Etwas was der Nachweiserbringer weiß (z.B. den Namen und ein Passwort);
    Etwas was der Nachweiserbringer hat (z.B. einen Identitätsausweis); oder
    Etwas was der Nachweiserbringer ist (z.B. Fingerabdruck).
  • Sicherheitssysteme beruhen üblicherweise auf etwas, was der Nachweiserbringer weiß, selbst wenn etwas angewendet wird, was der Nachweiserbringer hat. Der am häufigsten angewandte Weg für "etwas Bekanntes" ist die Verwendung von Name und Passwort in Computersystemen. Selbst neue Sicherheitsverbesserungen (z.B. Smart Cards, Firewalls, digitale Signaturen) beruhen auf herkömmlichen Passworten und Benutzer-ID's, zum Identifizieren und Authentifizieren von Benutzern, wenn ein Zugriff genehmigt wird.
  • Die meisten Authentisierungsverfahren beruhen auf dem Vorhandensein eines kompletten Satzes von Authentisierungsinformation bei jeder Stufe des Prozesses (z.B. Name und Passwort). Der typische Prozess besteht darin, dass der Benutzer den kompletten Satz der Authentisierungsinformation kennt und den kompletten Satz in einen Computer oder ein Terminal eingibt. Der komplette Satz wird an eine sichere Anwendung übertragen und mit einem Satz gespeicherter Authentisierungsinformation verglichen. Bei jeder Stufe des Prozesses wird der erforderliche komplette Satz an Authentisierungsinformation einer Abfangmöglichkeit und möglicherweise einer nicht authentisierten Nutzung ausgesetzt. Dieses gilt insbesondere in dem Falle von vernetzten Computerumgebungen.
  • Um eine gute Sicherheit zu gewährleisten, müssen Passworte schwierig zu erraten oder zu entziffern sein. Somit wird Benutzern geraten, "schwache" Passworte zu vermeiden, wie z.B. Namen (z.B. des Ehegatten, des Haustiers); leicht erzielbare Information (z.B. Telefonnummer, Geburtstag); Wörterbuchwörter; dasselbe Passwort für mehrere Systeme, usw. Um die Bedrohung durch nicht authentisierten Zugriff zu reduzieren, empfehlen Computersicherheitsexperten oft, dass ein Benutzerpasswort nur gemischte Buchstaben und Zahlen in scheinbar zufälligen Zeichenketten (Strings) (wie z.B. 87SFs81R9) enthalten und dass sie oft verändert werden. Ein nicht autorisierter Zugriff könnte leicht erfolgen, wenn ein Passwort aufgedeckt, abgefangen oder erraten wird.
  • Die Probleme mit einem derartigen Lösungsansatz sind zweifach. Erstens, da es menschliche Benutzer typischerweise leichter finden, sich Passworte zu merken, die einen Zusammenhang zu dem Benutzer haben (z.B. ein Wort oder Datum) sind die gewählten Passworte typischerweise nicht schwer zu erraten. Eine Untersuchung des Bereichs von Passworten, die von Computerbetreibern gewählt wurden, hat herausgefunden, dass ein Drittel aller Benutzer Passworte in dem Wörterbuch gefunden werden konnte. Derartige Passworte sind für allgemein erhältliche Software empfindlich, die jedes Wort in dem Wörterbuch als ein Passwort verwenden kann.
  • Zweitens führt das Problem der "Passwortüberlastung" zu vielen Brüchen sorgfältig geplanter Sicherheitstechniken. Eine zunehmende Anzahl von Anwendungen erfordert, dass Benutzer einem Authentisierungsprozess folgen, der typischerweise die Präsentation einer gewissen Form eines Namens und Passwortes beinhaltet, um einen Zugriff zu erhalten. Wenn sich Benutzer an die Sicherheitsstandards halten, müssen sie eine scheinbar zufällige Folge von Buchstaben und Nummern für jede Anwendung merken. Ferner haben die meisten sicheren Anwendungen ihre eigenen Schnittstellen und können etwas Einmaliges von dem Benutzer erfordern. Einige überprüfen Passworte des Benutzers und beschränken die Art des Passwortes, das der Benutzer verwenden kann und wie lange das Passwort gültig sein kann. Jedoch tut die weitaus größte Anzahl von Anwendungen nichts zur Vereinfachung des Prozesses für Benutzer und macht ihn stattdessen noch komplexer.
  • Schließlich ermuntert die Schwierigkeit sich eine Vielzahl von Passworten für eine Vielzahl von Anwendungen zu merken, die Benutzer zu schlechten Verhaltensweisen. Benutzer wählen schwache Passworte, verwenden diese gemeinsam und führen eine anfällige Passwortliste, indem sie ihre Passworte oft direkt auf ihren Computer kleben. Tatsächlich sind die Benutzer selbst das schwächste Glied in den meisten Sicherheitsanwendungen und Systemen, welche die Systeme für einen leichten Einbruch und nicht authentisierten Zugriff anfällig machen.
  • Somit besteht ein Bedarf für eine Art eines Passwortauthentisierungssystems, das zwei offensichtlich gegensätzliche Zielvorgaben, leicht für den Benutzer zu merken und schwierig für jeden anderen herausfindbar zu sein, genügt.
  • Eine herkömmliche Lösung für die Lösung dieses Problems ist die durch US-A-5,241,594 typisch dargestellte, als "single log-on" oder "single sign-on" bekannte Technik. In dieser Technik meldet sich ein Benutzer an seinem bzw. ihrem Computer lediglich einmal unter Verwendung einer herkömmlichen Benutzer-ID und eines Passwortes an. Wenn der Benutzer einen Zugriff auf einen entfernten Computer oder eine Anwendung benötigt, werden die ID und das Passwort, das der Benutzer gerade eingegeben hat, verschlüsselt und an den entfernten Computer unter Verwendung eines sicheren Transportschichtprotokolls zwischen dem Benutzercomputer und dem entfernten Computer übertragen. Das sichere Transportschichtprotokoll wird entweder unter Verwendung spezieller Software auf dem Computer des Benutzers oder unter Verwendung eines getrennten Servers durchgeführt. Das verschlüsselte Passwort wird dann mit einer Datenbank verschlüsselter Passworte verglichen, die an einer zentralen Stelle, typischerweise auf dem Server oder dem entfernten Computer, gespeichert sind. Zusätzlich müssen alle Systeme, auf die der Benutzer zugreifen will, dasselbe Passwort verwenden.
  • Jedoch bedeutet die Notwendigkeit, dass jeder Computer oder jede Anwendung in dem System (d.h., in dem Computer des Benutzers und allen entfernten Computern) dasselbe Passwort haben, das diese Technik nicht für alle Systeme arbeiten kann. Dieses Verfahren kann mit entfernten Computern oder Anwendungen mit komplizierten oder atypischen Authentisierungsanforderungen unbrauchbar sein. Somit sind viele "single sign-on"-Anwendungen nur mit einer eingeschränkten Anzahl von Anwendungen kompatibel. Ferner nutzen die meisten kommerziell verfügbaren Versionen von "single sign-on"-Systemen das Verfahren des getrennten Servers, was den Authentisierungsprozess verkompliziert und Kosten mit sich bringt. Zusätzlich erfordern viele kommerziell verfügbare Systeme, dass alle konformen Anwendungen dieselben Sicherheitsprotokolle, Hardwareschnittstellen, usw. verwenden, was die Anwendbarkeit derartiger Systeme einschränkt. Daher besteht ein Bedarf an einem einfachen, trotzdem sicheren Authentisierungssystem, das keine zusätzliche Hardware erfordert und mit Systemen mit unterschiedlichen Authentisierungstechniken und Anforderungen arbeitet.
  • Erfindungsgemäß wird ein Verfahren zum Bereitstellen eines Benutzerzugriffes auf eine sichere Anwendung bereitgestellt, mit den Schritten:
    • a) Liefern einer Authentisierungsanforderung an den Benutzer für einen Zugriff auf die sichere Anwendung, wobei die Authentisierungsanforderung beinhaltet, dass dem Benutzer wenigstens ein Symbol angezeigt wird;
    • b) Empfangen von Manipulationen durch den Benutzer an wenigstens einem Abschnitt des angezeigten Symbols;
    • c) Erzeugen eines Codeschlüssels auf der Basis der Manipulationen durch den Benutzer an wenigstens einem Abschnitt des angezeigten Symbols;
    • d) Verwenden des Codeschlüssels in Verbindung mit gespeicherter Authentisierungsinformation, die zur Erfüllung der Authentisierungsanforderungen der sicheren Anwendung erforderlich ist, um ein Resultat zu erzeugen;
    • e) Liefern des Resultats an die sichere Anwendung; und
    • f) Genehmigen des Benutzerzugriffs auf die sichere Anwendung, wenn das Resultat die Authentisierungsanforderungen der sicheren Anwendung unterstützt.
  • Ausführungsformen der Erfindung bieten Benutzern ein einziges einfaches Verfahren zur Authentisierung, das herkömmliche Namens- und Passwort-Lösungen ersetzt und mit verschiedenen Authentisierungsanforderungen kompatibel ist. Sie ermöglichen, dass Verifizierer ("Verifizierer" und "sichere Anwendung" werden austauschbar in der gesamten Beschreibung verwendet) sicher Nachweiserbringer authentisieren und ermöglichen, dass Nachweiserbringer durch mehrere Verifizierer authentisiert werden. Sie wenden einen Prozess an, der erfordert, dass ein Nachweiserbringer nur einen Satz von Routinen, an die man sich leicht erinnern kann, oder Nachweiserbringerschritte ausführt. Diese Nachweiserbringerschritte starten den geeigneten Authentisierungsprozess für jeden Verifizierer ohne weiteren Eingriff oder Eingabe seitens des Nachweiserbringers. Somit haben die Nachweiserbringer nur ein ein vereinheitlichtes Verfahren für alle ihre Authentisierungsanforderungen, da die Erfindung die Feinheiten in Verbindung mit jeder sicheren Anwendung erledigt.
  • In einer Hinsicht bieten Ausführungsformen der Erfindung ein Verfahren, um einem Benutzer Zugriff auf eine sichere Anwendung zu gewähren. Das Verfahren beinhaltet die Speicherung der zum Erfüllen der Authentisierungsanforderungen der sicheren Anwendung erforderlichen Authentisierungsinformation in verschlüsselter Form. Beispielsweise kann nur diese Information auf dem Computer eines Benutzers gespeichert werden. Wenn der Benutzer einen Zugriff auf die sichere Anwendung anfordert, wird dem Benutzer auf seiner bzw. ihrer Anzeige eine Anforderung für die Authentisierung präsentiert. Im Gegensatz zu den herkömmlichen Namens- und Passwortlösungen weist die dem Benutzer präsentierte Authentisierungsanforderung wenigstens ein Symbol auf. Der Benutzer muss wenigstens einen Teil des Symbols manipulieren, um korrekt auf die Authentisierungsanforderung zu reagieren. Nur als Beispiel könnte die Erfindung dem Benutzer einen Tisch, einen Teller und mehrere editierbare Elemente anzeigen. Der Benutzer wählt verschiedene editierbare Elemente (um eine "Mahlzeit" zu erzeugen) und verschiebt diese auf den Teller. Diese Manipulationen, welche bezüglich ihrer Reihenfolge empfindlich sein können oder nicht, sind die einzigen Schritte, an die sich der Benutzer erinnern können muss. Die "geheime Mahlzeit" ist einfach für den Benutzer zu merken, jedoch schwierig für einen anderen zu erraten. Ferner ist die "geheime Mahlzeit" unabhängig von der sicheren Anwendung, auf die zugegriffen wird, dieselbe.
  • Die Ausführungsformen beinhalten den Schritt der Verwendung der Benutzermanipulation(en) des bzw. der Symbole, um einen Codeschlüssel zu erzeugen. Dieser Codeschlüssel wird dazu verwendet, die verschlüsselt gespeicherte Authentisierungsinformation in ein Ergebnis zu entschlüsseln. Jede sichere Anwendung oder Anmeldungssitzung kann ein unterschiedliches erwartetes Ergebnis erfordern, aber nur der Benutzer kennt seine/ihre Nachweiserbringerschritte. Der Benutzer kennt niemals (und muss es auch tatsächlich nicht) keines der erwarteten Ergebnisse, oder wie diese zu erhalten sind. Zusätzlich kennt die sichere Anwendung (und muss es auch nicht) die Nachweiserbringerschritte (d.h., die Manipulation oder Reihenfolge von Manipulationen) oder wie diese zu erhalten sind.
  • Nach der Erzeugung des Ergebnisses wird dieses an die sichere Anwendung geliefert. Wenn das Ergebnis die Authentisierungsanforderung der sicheren Anwendung erfüllt (d.h., wenn der Codeschlüssel korrekt die verschlüsselte gespeicherte Authentisierungsinformation entschlüsselt hat) wird dem Benutzer der Zugriff auf die sichere Anwendung genehmigt.
  • Die Erfindung stellt ein einfaches, sicheres und effektives Verfahren für Benutzer bereit, um einen Zugriff auf eine Vielzahl sicherer Anwendungen zu erhalten, ohne sich an eine Reihe komplizierter Passworte erinnern zu müssen. Im Gegensatz zu herkömmlichen "single sign-on"-Systemen erübrigt die Erfindung die Eingabe, Übertragung oder Speicherung eines statischen, vollständigen Satzes von Authentisierungsdaten in irgendeiner Stufe des Authentisierungsprozesses. Die Erfindung erfordert keinerlei zusätzliche Hardware und erfordert nicht, dass alle sicheren Anwendungen, auf die zugegriffen wird, dieselben Authentisierungsanforderungen verwenden.
  • Eine Ausführungsform der Erfindung wird nun im Rahmen eines Beispiels und unter Bezugnahme auf die beigefügten Zeichnungen beschrieben, welche ein Verfahren veranschaulichen, um einem Benutzer Zugriff auf eine sichere Anwendung zu gewähren, und in welchen:
  • 1 eine Blockdarstellung ist, die darstellt, dass die Erfindung mehrere Verifizierer für jeden Nachweiserbringer unterstützt.
  • 2 eine Blockdarstellung ist, welche die Ablauffolge zwischen einer Ausführung der Nachweiserbringerschritte durch den Nachweiserbringer und der Aktivierung des geeigneten Verifizierer-spezifischen Sub-Prozesses darstellt.
  • 3A–B Beispiele einer nicht reihenfolgenempfindlichen Serie von Nachweiserbringerschritten darstellt, die als eine Aufforderung verwendet werden könnte.
  • 4A–D ein Beispiel einer reihenfolgenempfindlichen Serie von Nachweiserbringerschritten darstellen, die als eine Aufforderung verwendet werden könnte.
  • 5 ein Flussdiagramm ist, das die Schritte bei der Akzeptierung von Nachweiserbringerschritten, die ein Benutzer ausgewählt hat, und der Umwandlung dieser in einen String darstellt.
  • 6 ein Flussdiagramm ist, das die Schritte für die Angabe eines Verifizierers und dessen Authentisierungsinformation darstellt.
  • 7 ein Flussdiagramm ist, das die Ablauffolge von in dem Prozess von dem Nachweiserbingerstart bis zur Verifiziererauthentisierung beinhalteten Sub-Prozessen darstellt.
  • 8 ein Flussdiagramm ist, das den Beginn des Prozesses und die Schritte für den Start des anschließenden Aufforderungsprozesses darstellt.
  • 9 ein Flussdiagramm ist, das den Aufbau der Nachweiserbringerschnittstelle und Vorbereitung zum Akzeptieren von Nachweiserbringerantworten auf Aufforderungen ist.
  • 10 ein Flussdiagramm ist, das die Schritte in der Präsentation und Verarbeitung von Nachweiserbringer-Aufforderungen darstellt.
  • 11 ein Flussdiagramm ist, das die Schritte darstellt, die bei der Umwandlung von Nachweiserbringerschritten in einen Codeschlüssel stattfinden.
  • 12 ein Flussdiagramm ist, das die Schritte darstellt, die automatisch stattfinden, sobald ein auf einer Nachweiserbringereingabe basierender Codeschlüssel erzeugt worden ist.
  • 13 ein Flussdiagramm ist, das darstellt, wie der Zuordnungsprozess einen anwendungsspezifischen Sub-Prozess auswählt und erzeugt, um die Authentisierung abzuschließen.
  • 14 ein Flussdiagramm ist, das den Zuordnungs-Sub-Prozess der Anwendungen darstellt, die auf Name und Passwort zur Authentisierung beruhen.
  • 15 ein Flussdiagramm ist, das den Zuordnungs-Sub-Prozess für Anwendungen darstellt, die auf digitalen Zertifikaten und Signaturen und öffentlichen Schlüsseln für die Authentisierung beruhen.
  • 16 ein Flussdiagramm ist, das den Zuordnungs-Sub-Prozess für Anwendungen darstellt, die auf Null-Kenntnis für die Authentisierung beruhen.
  • 17 ein Flussdiagramm ist, das den Zuordnungs-Sub-Prozess für Anwendungen darstellt, die auf externen Prozessen zur Authentisierung beruhen.
  • 18 ein Flussdiagramm ist, das die Schritte in der Übertragung der Zuordnungsprozessergebnisse an den letztlichen Verifizierer darstellt.
  • 19 ein Flussdiagramm zur Darstellung des Kommunikations-Sub-Prozesses für Stammdaten-basierende Authentisierung ist.
  • 20 ein Flussdiagramm zur Darstellung des Kommunikations-Sub-Prozesses für Zertifikat-basierende Authentisierung ist.
  • 21 ein Flussdiagramm ist, das die letzten Schritte in dem Prozess zum Abschluss der Authentisierung darstellt.
  • In der nachfolgenden detaillierten Beschreibung einer Ausführungsform der Erfindung wird Bezug auf die nachstehenden Begriffe genommen. Dort wo angegeben werden bestimmte von diesen Begriffen austauschbar mit bestimmten anderen während der gesamten Beschreibung verwendet.
  • Nachweiserbringer ist als eine Person definiert, die versucht, einen Zugriff auf eine sichere Anwendung oder Verifizierer zu erhalten. Ein Nachweiserbringer wird auch als "Benutzer" bezeichnet. Nachweiserbringerschritte sind die persönliche Ablauffolge von dem Nachweiserbringer gewählter Schritte. Die Nachweiserbringerschritte basieren auf einem oder mehreren Symbolen, die dem Benutzer angezeigt werden, und einer Ablauffolge von Verschiebungen oder Manipulationen dieser Symbole, die von dem Nachweiserbringer ausgeführt werden. Ein Symbol ist als ein grafisches oder visuelles Objekt definiert, wobei sich jedoch verstehen dürfte, dass alles, was visuell dargestellt und ausgewählt, verschoben, oder in irgendeiner Weise manipuliert werden kann, als ein Symbol für die Zwecke der Erfindung verwendet werden könnte. Ein Verifizierer ist als die Anwendung, System, Computer, Server usw. definiert, auf welchen ein Nachweiserbringer versucht, Zugriff zu erhalten. Jede Einheit, die sicher ist und eine Authentisierung für einen Benutzer erfordert. um Zugriff darauf zu erhalten, kann ein Verifizierer sein. Verifizierer wird austauschbar mit "sicherer Anwendung" durch die gesamte Beschreibung verwendet. Authentisierung ist als ein Prozess einer Validierung einer geforderten Identität definiert, wie z.B. der Identität eines Nachweiserbringers. Authentisierungsinformation ist als die Information definiert, die einem Verifizierer geliefert werden muss, damit ein Nachweiserbringer Zugriff erhält. Authentisierungsinformation kann jede von einem oder mehreren Benutzernamen und Passwörtern bis zu einer Vielzahl komplexer Routinen, Prozeduren und Informationen sein. Eine Aufforderung ist als eine visuelle Präsentation definiert, die erfordert, dass der Nachweiserbringer eine Eingabe ausführt und die Aktionen vervollständigt, die seine bzw. ihre Nachweiserbringerschritte umfassen. Eine Aufforderung wird auch als eine "Authentisierungsanforderung" bezeichnet. Ein Codeschlüssel ist als ein Schlüssel definiert, der dazu verwendet werden kann, Authentisierungsinformation zu entschlüsseln, die verschlüsselt worden ist.
  • 1 ist eine Blockdarstellung, die eine allgemeine Übersicht bietet, dass die Erfindung mehrere Verifizierer für jeden Nachweiserbringer unterstützt. Ein Benutzer beginnt durch Auswahl eines der Verifizierer von 1, die allgemein in 2 und insbesondere in den 721 dargestellten Schritte.
  • 2 ist eine Blockdarstellung, die allgemein die Ablauffolge von Schritten darstellt, die für einen Nachweiserbringer erforderlich sind, um Zugriff auf einen Verifizierer zu erhalten. Die Verifizierer 1 bis N erfordern jeweils einen getrennten und einzigartigen Prozess, die in 2 als Sub-Prozess1 bis Sub-ProzessN dargestellt sind, damit ein Nachweiserbringer Zugriff erhält. Ein Sub-Prozess kann so einfach sein, wie z.B. die Bereitstellung eines Benutzernamens und eines Passwortes, und wie es bei vielen Online-Systemen üblich. Ein Sub-Prozess kann jedoch auch eine Reihe von Passworten oder Codes oder andere anwendungsspezifische Anforderungen umfassen. Unabhängig von der Komplexität des für einen speziellen Verifizierer erforderlichen Sub-Prozesses benötigt der Nachweiserbringer, wenn der Nachweiserbringer einen Zugriff auf den Verifizierer möchte, nur die Ausführung seiner oder ihrer Nachweiserbringerschritte, um den geeigneten Prozess für einen spezifischen Verifizierer gemäß Darstellung in 2 zu starten.
  • Als eine Vorab-Aktion gibt der Nachweiserbringer dem die Erfindung implementierenden System an: (a) die Nachweiserbringerschritte, die der Nachweiserbringer für den Zugriff auf alle sicheren Anwendungen (was in etwa einem "symbolischen Passwort" entspricht, das sich der Benutzer merken muss) verwenden will, und (b) den Verifizierer und die zugeordnete Authentisierungsinformation (die in etwa der sicheren Anwendung und deren zugeordnetem Passwort entspricht).
  • Zum Angeben von Nachweiserbringerschritten wird einem Benutzer eine Anzeige von Objekten oder Symbolen präsentiert. Eine Anordnung, Bewegung oder Reihenfolgenanordnung der Objekte oder Symbole schließt die Nachweiserbringerschritte ab. Bevorzugt sind das Objekt oder die Symbole dem Benutzer geläufig. Beispielsweise kann ein Benutzer, welcher Chemiker ist, eine solche Auswahl treffen, dass ihm eine Anzeige mit der Periodentabelle der Elemente präsentiert wird. Der Chemiker kann dann verschiedene Elemente auswählen oder Elemente zusammenfügen, um eine Formel oder ein Molekül zu erzeugen oder eine andere Kombination, die für den Chemiker leicht zu merken ist, ohne sie niederzuschreiben. Die Auswahl kann oder kann auch nicht reihenfolgenempfindlich sein.
  • Weitere Möglichkeiten könnten Nahrungsmittelelemente für einen Koch, Aktien für einen Finanzberater, ein Kartensatz für einen Kartenspieler usw. sein. Man kann erkennen, dass eine unzählige Vielfalt von Anzeigen von Objekten und Kombinationen davon innerhalb des Schutzumfangs der Erfindung in Betracht gezogen werden kann, und dass die vorgenannten Vorschläge keineswegs erschöpfend sind.
  • 3A und 3B stellen eine vereinfachte Ansicht eines nicht reihenfolgenempfindlichen Gruppierungsanordnungen bzw. Layouts dar, das aus einer Reihenfolge von drei Nachweiserbringerschritten erzeugt wurde. In 3A werden zwei Objekte "X" und "Y" dem Benutzer zusammen mit einem Tic-Tac-Toe-artigen Gitter dargestellt, in welches eines oder beide Objekte verschoben werden können. Die drei Nachweiserbringerschritte werden durch drei gestrichelte Linien dargestellt, die von dem "X"-Objekt ausgehen. Da dieser spezielle Satz von Nachweiserbringerschritten nicht reihenfolgenempfindlich ist, könnte jede Reihenfolge der Nachweiserbringerschritte, die zu einem Layout ähnlich dem von 3B führt, einer Aufforderung (z.B. 3A) auf der Basis dieser Nachweiserbringerschritte genügen.
  • Im Gegensatz dazu stellen 4A4C eine vereinfachte Ansicht einer reihenfolgenempfindlichen Reihenfolge von Nachweiserbringerschritten dar. 4A stellt den Nachweiserbringerschritt 1 dar, 4B stellt den Nachweiserbringerschritt 2 dar, und 4C stellt den Nachweiserbringerschritt 3 dar. 4D liefert eine Tabelle, welche die Layouts vergleicht, die sich aus den nicht reihenfolgenempfindlichen Nachweiserbringerschritten der 3A3B und der reihenfolgenempfindlichen Nachweiserbringerschritten der 4A4C ergeben. Für reihenfolgenempfindliche Nachweiserbringerschritte entspricht jeder Nachweiserbringerschritt einem Layout gemäß Darstellung in den 4A4C. Für nicht reihenfolgenempfindliche Nachweiserbringerschritte entspricht das Layout gemäß Darstellung in 3B dem Endergebnis aller Nachweiserbringerschritte.
  • In einer Ausführungsform der Erfindung wird die Reihenfolge der Nachweiserbringerschritte alleine als ein einfach zu merkendes Passwort für den Zugriff auf eine sichere Anwendung verwendet. Das Layout oder die Reihenfolge der Layouts werden an einer für die sichere Anwendung zugänglichen Stelle gespeichert, so dass, wenn ein Nachweiserbringer einen Zugriff auf die sichere Anwendung sucht, eine Aufforderung präsentiert werden könnte, die die Symbole dem Benutzer anzeigen und erfordert, dass der Benutzer das zuvor angegebene Passwort des Benutzers wiederholt. Die Passwort-Layoutinformation könnte ferner verschlüsselt werden, so dass nur die sichere Anwendung diese für den Vergleich mit der Benutzeraufforderungsantwort entschlüsseln kann. Es wird jedoch bevorzugt, dass die Reihenfolge der Nachweiserbringerschritte und das entsprechende Layout stattdessen zur Erzeugung eines Codeschlüssels verwendet werden, um die für den Zugriff auf eine sichere Anwendung erforderliche Authentisierungsinformation zu verschlüsseln, wie es hierin nachstehend vollständiger beschrieben wird.
  • Nachdem das Layout oder eine Serie von Layouts erzeugt sind, verwendet das die Erfindung implementierende System das sich ergebende Layout oder die Layouts, um eine String zu erzeugen, der später zum Aufbau eines Codeschlüssels verwendet wird. 5 stellt den Nachweiserbringerschritt-Aufbauprozess dar. Nachdem der Benutzer eine Reihe von Nachweiserbringerschritten gemäß Darstellung in 3 und 4 erzeugt, erzeugt der Nachweiserbringerschritt-Aufbauprozess von 5 ein Layout auf der Basis der Nachweiserbringerschritte. Das Layout enthält im Allgemeinen den in 4D dargestellten Informationstyp. Anschließend kombiniert dieser Prozess mathematisch die Auswahlen, Objekte und Aktionen, die von dem Layout repräsentiert werden, um einen der Serie der Nachweiserbringerschritte entsprechenden String zu erzeugen. Typischerweise liegt dieser String in der Form eines binären Strings vor. Der String ist für die Reihenfolgenempfindlichkeit der Nachweiserbringerschritte, die Anordnung von Symbolen oder benutzten Objekten und die Reihenfolge der Nachweiserbringerschritte spezifisch. Der String wird so gespeichert, dass er später (siehe 9) verwendet werden kann, um einen Codeschlüssel zu erzeugen. Man beachte, dass ein Nachweiserbringer die Option hat, seine bzw. ihre Nachweiserbringerschritte jederzeit zu verändern, indem der Nachweiserbringerschritt-Aufbauprozess von 5 wiederholt wird.
  • In einer bevorzugten Ausführungsform wird der String auf dem Computer des Benutzers an einer Stelle und in solcher Weise gespeichert, dass der String für sichere Anwendungen, auf welche der Benutzer einen Zugriff fordert, nicht erreichbar ist. Dieses trägt zur Sicherstellung bei, dass kein kompletter Satz von Authentisierungsinformation an die sicheren Anwendungen übertragen wird. In anderen Ausführungsformen ist es jedoch möglich, den String an einer anderen Stelle als dem Computer des Benutzers und trotzdem unzugänglich für die sicheren Anwendungen, wie z.B. auf einem entfernten Computer oder Server zu speichern. Es ist auch möglich, den String auf einem tragbaren Speichermedium, wie z.B. einer Floppy Disk zu speichern, um dem Benutzer zu ermöglichen, die Vorteile der Erfindung auf jedem verwendeten Computer zu nutzen. Eine andere Möglichkeit besteht darin, den String auf einem Computernetzwerk an einer für andere Benutzer "versteckten" Stelle zu speichern.
  • 6 stellt einen weiteren Vorab-Prozess in der Anwendung der Erfindung dar, welcher die einmalige Angabe der Authentisierungsanforderungen in Verbindung mit einer speziellen Anwendung beinhaltet. Zur Erfüllung der speziellen Authentisierungsanforderungen eines Verifizierers ermöglicht die Erfindung Benutzern, den Verifizierer und dessen Authentisierungsanforderungen im Voraus anzugeben. Dieses geschieht typischerweise, nachdem der Benutzer seine bzw. ihre Nachweiserbringerschritte ausgeführt hat, wie es in den 3, 4 und 5 dargestellt wurde. Es ist jedoch, wie 6 darstellt, für einen Nachweiserbringer möglich, den Verifiziererangabeprozess zu unterbrechen, und die Nachweiserbringerschritte zu dem Zeitpunkt auszuführen, an dem der Verifizierer angegeben wird, wenn es der Benutzer nicht bereits getan hat.
  • Ein Beispiel kann dazu beitragen, den Arbeitsablauf des in 6 dargestellten Prozesses zu veranschaulichen. Es werde angenommen, dass einem Benutzer ein Benutzername und ein Passwort für den LEXISTM-Online-Dienst erteilt worden ist. Der Benutzer möchte diese sichere Anwendung dem die Erfindung implementierenden System hinzufügen, nachdem er bereits die Schritte von 5 abgeschlossen hat. Zuerst gibt der Benutzer die spezielle sichere Anwendung (d.h. LEXISTM) an. Dieses erfolgt so, dass das die Erfindung implementierende System in geeigneter Weise die Authentisierungsinformation konfigurieren kann, die der Benutzer erzeugen will, um sicherzustellen, dass die Authentisierungsinformation mit den Anforderungen der sicheren Anwendung kompatibel ist. Bevorzugt erfolgt diese Angabe über eine einfache, benutzerfreundliche Schnittstelle, wie z.B. ein Pull-down-Menü oder eine Auswahl aus einer Liste von Anwendungen. Es wird jedoch in Betracht gezogen, dass viele Verfahren zur Angabe von Anwendungen einschließlich der manuellen Eingabe des Namens der Anwendung oder des Empfangs von Anwendungsinformation aus einer externen Quelle möglich sind. Es wird ferner in Betracht gezogen, dass in zukünftigen Ausführungsformen ein die Erfindung implementierendes System in der Lage sein kann, automatisch die Anwendung zu detektieren und zu ermitteln, die der Benutzer angeben möchte.
  • Anschließend liefert, wie es in 6 dargestellt ist, der Benutzer die geeignete Authentisierungsinformation für die sichere Anwendung. In diesem Beispiel könnte der Benutzer einen LEXISTM-Benutzernamen und Passwort wie z.B. "Jsmith,ab2dc3e" liefern. Dieses ist der einzige Zeitpunkt, an dem sich der Benutzer an die Authentisierungsinformation für diese Anwendung erinnern muss. Nachdem der Benutzer diese Authentisierungsinformation geliefert hat, nutzt die Erfindung den String (aus 5) zum Erzeugen eines Codeschlüssels, der zum Verschlüsseln der Authentisierungsinformation verwendet wird. Der Codeschlüssel selbst wird niemals gespeichert; alles was gespeichert wird, ist der String (wie es vorstehend angegeben wurde) und die verschlüsselte Verifiziererauthentisierungsinformation. In einer bevorzugten Ausführungsform wird die verschlüsselte Verifiziererauthentisierungsinformation an einer für den Verifizierer unzugänglichen Stelle gespeichert, wie z.B. auf dem Computer des Benutzers. Jedoch sind die für die Speicherung des Strings verfügbaren Alternativen auch auf die Speicherung der verschlüsselten Verifiziererauthentisierungsinformation anwendbar.
  • Das mit dem Codeschlüssel angewendete Verschlüsselungsverfahren ist bevorzugt eine nicht-reversible Einwegfunktion, wie z.B. eine Einweg-Hash-Funktion. Es dürfte sich jedoch verstehen, dass ein Fachmann auf diesem Gebiet weitere ausführbare Verschlüsselungstechniken in Betracht ziehen könnte.
  • Der Prozess der Erzeugung eines Strings und eines Codeschlüssels aus dem String und der Verschlüsselung der Authentisierungsinformation trägt dazu bei, dass die Nachweiserbringerschritte, Layouts und die Authentisierungsinformation nicht leicht abgeleitet werden können. Zusätzlich kann bei diesem Prozess der Codeschlüssel für jede Anwendung und Anmeldesitzung einmalig sein.
  • 7 bietet eine Gesamtübersicht der in einer bevorzugten Ausführungsform der Erfindung beteiligten Schritte. Diese Schritte stellen zeitlich die Ereignisse dar, die auftreten, wenn ein Benutzer, welcher bereits die Schritte der Auswahl der Nachweiserbringerschritte (5) und der Verifiziererangabe (6) ausgeführt hat, versucht, einen Zugriff auf den Verifizierer zu erhalten.
  • Im Allgemeinen beliefert die Ausführungsform der Erfindung Nachweiserbringer mit einem einzigen, einfachen Authentisierungsverfahren, das die üblichen Namens- und Passwort-Lösungen ersetzt. Es ermöglicht auch Verifizierern sicher Nachweiserbringer zu authentisieren und ermöglicht die Authentisierung von Nachweiserbringern durch mehrere Verifizierer. Die meisten Verifizierer erfordern einen getrennten und einmaligen Prozess (d.h., die meisten Verifizierer haben einmalige Authentisierungsanforderungen). Um dem Verifizierer einen Zugriff zu gewähren, erfordert die Erfindung, dass der Nachweiserbringer einen Satz von Routinen oder Nachweiserbringerschritten abschließt. Die Nachweiserbringer müssen nur ihre Nachweiserbringerschritte ausführen, um den geeigneten Prozess für jeden Verifizierer zu starten.
  • Die Ausführungsform der Erfindung unterstützt eine Anzahl unterschiedlicher Authentisierungsverfahren. Die Nachweiserbringerauthentisierung wird auf der Basis der kombinierten Ergebnisse der Nachweiserbringerschritte und des geeigneten Prozesses oder Sub-Prozesses für die Anwendung, auf die zugegriffen werden soll, erreicht. Die Ausführungsform folgt einem einfachen Ablauf, der allgemein in 7 dargestellt ist, der den geeigneten Sub-Prozess für die spezifischen Anforderungen jedes Verifizierers startet. Die Reihenfolge der Schritte für die Erfindung benötigt, sobald sie gestartet ist, keine weitere Intervention oder Eingabe von dem Nachweiserbringer. Tatsächlich muss der Nachweiserbringer nur den Verifizierer oder die sichere Anwendung für den Zugriff wählen und seine bzw. ihre Nachweiserbringerschritte vervollständigen. Dem Nachweiserbringer wird ein einfaches vereinfachtes Verfahren für alle seine Authentisierungsanforderungen gegeben. Der Prozess handhabt die mit jeder Anwendung oder System verbundenen Feinheiten.
  • Die in 7 dargestellten Schritte werden auf alle sicheren Anwendungen angewendet, auf welche ein Benutzer einen Zugriff sucht, und werden für jede eindeutige Authentisierung auf der Basis der Anwendung oder des Systems gestartet. Im Allgemeinen wird die Nachweiserbringereingabe in dem Nachweiserbringerschnittstellenprozess und Aufforderungsprozess dazu verwendet werden, Schlüssel ("Codeschlüssel") in dem Codeschlüssel-Aufbauprozess aufzubauen. Dieser Codeschlüssel entspricht demselben Codeschlüssel, der in 6 auf dem Nachweiserbringer-Aufbauprozess von 5 erzeugt wurde. Die Erfindung "ordnet" dann dem Verifizierer einen spezifischen Sub-Prozess auf der Basis der Anwendung zu, auf die von dem Nachweiserbringer zugegriffen wird. Dieser Zuordnungsprozess würde den Codeschlüssel überprüfen und geeignete Ergebnisse zur Übertragung an den Verifizierer in dem Kommunikationsprozess erzeugen. Der Kommunikationsprozess kann ein einziger Austausch oder eine Folge von interativen Austauschvorgängen sein. Größere Details bezüglich jedes Schrittes von 7 werden nachstehend angegeben.
  • Die Schritte der Ausführungsform, gemäß Darstellung in 7, umfassen zwei Hauptgruppen von Schritten: Prozesse mit Nachweiserbringerbeteiligung und automatische Prozesse. Die Prozesse mit Nachweiserbringerbeteiligung werden von dem Nachweiserbringer gestartet und benötigen dessen Eingabe. Die automatischen Prozesse werden durch den Abschluss der Prozesse mit Benutzerbeteiligung gestartet und erfordern keine weitere Eingabe von dem Nachweiserbringer.
  • Prozesse mit Benutzerbeteiligung
  • Die Schritte mit Benutzerbeteiligung werden durch eine Benutzeranforderung zur Authentisierung gestartet und benötigen eine Nachweiserbringereingabe zur Vervollständigung. Die Ablauffolge beinhaltet den Nachweiserbringer-Schnittstellenprozess, den Aufforderungsprozess und den Codeschlüssel-Aufbauprozess.
  • Nachweiserbringer-Schnittstellenprozess
  • Gemäß Darstellung in 8 ist der Nachweiserbringer-Schnittstellenprozess der Startschritt in dem Gesamtprozess und umfasst die erforderlichen Schritte, um den Aufforderungsprozess aufzubauen. Der Nachweiserbringer-Schnittstellenprozess wird durch eine Nachweiserbringer-Authentisierungsanforderung gestartet. Diese Anforderung kann von verschiedenen Quellen einschließlich, jedoch nicht darauf beschränkt, Ressourcensteuerungen, Zugriffsprovidern und manuellen und automatischen Prozessen kommen. Der Nachweiserbringer-Schnittstellenprozess präsentiert und enthält Nachweiserbringeraufforderungen.
  • Sobald er gestartet ist, kann der Nachweiserbringer an jedem beliebigen Punkt während des Nachweiserbringer-Schnittstellenprozesses den Authentisierungsprozess widerrufen/abbrechen. Der Widerrufprozess erfolgt durch eine explizite Aktion auf der Seite des Nachweiserbringers. Der Widerrufprozess bricht den Prozess ab und die Authentisierung schlägt fehl. An jedem Punkt des Nachweiserbringer- Schnittstellenprozesses kann der Nachweiserbringer anzeigen, dass alle Aufforderungsantworten vollständig sind und die Authentisierung fortfahren sollte. Dieses zeigt keine erfolgreiche Authentisierung an. Es zeigt nur an, dass der Nachweiserbringer glaubt, dass ein vollständiger Satz von Antworten auf die Aufforderungen hin geliefert worden ist.
  • 9 stellt ferner dar, dass der Nachweiserbringer-Schnittstellenprozess, sobald er gestartet ist, eine Aufforderung bzw. Aufforderungen für den Nachweiserbringer in einer bedeutungsvollen Weise auf der Basis der von dem Nachweiserbringer ausgewählten Umgebung und Erfahrungen präsentiert, so dass der Nachweiserbringer in üblicher Weise reagieren kann. Wie es mit dem Nachweiserbringerschritt-Aufbauprozess diskutiert wurde, könnte eine Aufforderung die Anzeige geläufiger Objekte, die ein Benutzer manipulieren soll, wiederholen. Alternativ kann dem Nachweiserbringer eine allgemeine Präsentation des standardmäßigen, einfachsten Verfahrens präsentiert werden, um die Aufforderung (Lösungsweg mit kleinstem gemeinsamen Nenner) zu präsentieren, oder ein von dem Nachweiserbringer vordefiniertes Verfahren, das besser mit der gewählten Umgebung und den Erfahrungen des Nachweiserbringers übereinstimmt.
  • Beispielsweise kann, wenn der Benutzer keinen speziellen Satz von Symbolen in Übereinstimmung mit seiner/ihrer Umgebung und Erfahrungen gewählt hat, dann die Anzeige eines allgemeinen, üblichen Symbols oder eines Satzes von Symbolen, wie z.B. ein Kartenspiel präsentiert werden. Der Präsentationsprozess führt die Ermittlung auf der Basis der von dem Nachweiserbringer ausgewählten Umgebung und abhängig davon, ob sie unterstützt wird, durch. Der letzte Schritt besteht in der Erzeugung die Sub-Prozesse, die die dem Nachweiserbringer zu präsentierenden individuellen Aufforderungen definieren. Diese individuellen Aufforderungen tragen dazu bei, den Authentisierungsanforderungen einer speziellen sicheren Anwendung zu genügen. Wenn irgendeiner der Sub-Prozesse nicht erzeugt werden kann, schlägt der Prozess fehl und der Prozess wird abgebrochen. Andernfalls wird der Aufforderungsprozess gestartet.
  • Aufforderungsprozess
  • 10 stellt die Startschritte dar, die auftreten, wenn dem Nachweiserbringer eine Aufforderung präsentiert wird. Die Aufforderung kann eine einzelne Aufforderung oder eine Serie von Aufforderungen sein. Die Aufforderung erfordert Antwort(en) des Nachweiserbringers zum Fortsetzen des Prozesses. Die Aufforderung selbst kann mit einem Zufallswert geimpft werden, um die Ausgabe der Aufforderung zufällig zu machen, und einen sitzungsspezifischen Datensatz zu erzeugen.
  • Die Aufforderung wird als ein geläufiger Satz von Objekten oder Symbolen ähnlich zu der Anzeige präsentiert, die zur Auswahl der anfänglichen Nachweiserbringerschritte dargestellt wird. Eine Anordnung, Verschiebung oder Reihenfolgenbildung der Objekte und Symbole vervollständigt die Aktionen des Nachweiserbringers oder die Nachweiserbringerschritte. Die Aufforderung könnte auch reihenfolgenempfindlich sein, was anzeigt, dass eine Liste aller Aktionen (z.B. Nachweiserbringerschritte) während der Gültigkeitsdauer einer spezifischen Aufforderung aufgebaut und gespeichert wird. Die Reihenfolge der Nachweiserbringerschritte würde direkt das Ergebnis des Aufforderungsprozesses beeinflussen.
  • Der Nachweiserbringer kann an jedem Punkt während des Aufforderungsprozesses den Prozess widerrufen/abbrechen. Der Widerruf erfolgt durch eine explizite Aktion durch den Nachweiserbringer. Der Widerruf bricht den Prozess ab und die Authentisierung schlägt fehl. Ferner kann der Nachweiserbringer an jedem beliebigen Punkt während des Aufforderungsprozesses die Aufforderung zurücksetzen. Dieses ermöglicht es dem Nachweiserbringer, den Prozess neu zu starten, wenn der Nachweiserbringer einen Fehler während der Vervollständigung der Nachweiserbringerschritte macht. Dieses führt den Nachweiserbringer an den Start des Aufforderungsprozesses zurück.
  • Codeschlüssel-Aufbauprozess
  • Wenn der Nachweiserbringer die Vervollständigung des Aufforderungsprozesses anzeigt, beginnt der Codeschlüssel-Aufbauprozess von 11. Der Abschluss entspricht keiner erfolgreichen Authentisierung oder zeigt einen solche an. Ein Codeschlüssel wird auf der Basis der Verarbeitung der durch die Nachweiserbringerschritte in dem Aufforderungsprozess erzeugten Layouts erzeugt. Wie 11 darstellt, erzeugt jeder Nachweiserbringerschritt ein Layout, das in dem Codeschlüssel-Aufbauprozess verarbeitet wird. Sowohl reihenfolgenempfindliche als auch nicht reihenfolgenempfindliche Layouts können erzeugt werden. Die Umwandlung ist für den Aufforderungstyp, die Reihenfolgenempfindlichkeit, Anordnung der Objekte und Reihenfolge der Nachweiserbringerschritte spezifisch.
  • Für nicht reihenfolgenempfindliche Nachweiserbringerschritte erzeugt der Codeschlüssel-Aufbauprozess einen Layoutauszug (ähnlich der Tabelle von 4C), der den Nachweiserbringerschritten entspricht. Das letzte Layout wird in ein Ergebnis, wie z.B. einen String, verarbeitet, der zum Aufbau des Codeschlüssels verwendet wird. Typischerweise wird das Ergebnis oder der String mit einer nicht reversiblen Einwegfunktion wie z.B. einer Einweg-Hash-Funktion verarbeitet, um den Codeschlüssel zu erzeugen. Dieser Codeschlüssel wird zum Entschlüsseln der gespeicherten Authentisierungsinformation verwendet.
  • Für reihenfolgenempfindliche Nachweiserbringerschritte wird ein reihenfolgenempfindlicher Codeschlüssel-Aufbauprozess gemäß Darstellung in 4 abgearbeitet. Dieser Prozess wählt das erste in der Reihenfolge der Layouts, das sich aus den Nachweiserbringerschritten in dem Aufforderungsprozess ergibt. Anschließend wandelt der reihenfolgenempfindliche Codeschlüssel-Aufbauprozess das ausgewählte Layout in ein Ergebnis, wie z.B. in einen String, um. Dann wird das nächste Layout in der reihenfolgenempfindlichen Folge ausgewählt. Das vorherige Ergebnis wird mit einer nicht reversiblen Einwegfunktion (z.B. einer Einweg-Hash-Funktion) mit dem neu ausgewählten Layout verarbeitet und an den Codeschlüssel-Aufbauprozess weitergegeben. Dieser Prozess setzt sich fort, bis das letzte Layout in der Ablauffolge verarbeitet (in den tatsächlichen Codeschlüssel umgewandelt ist, indem eine nicht reversible Einwegfunktion angewendet wird) ist. Der sich ergebende Codeschlüssel wird in derselben Weise wie der durch den nicht reihenfolgenempfindlichen Codeschlüssel-Aufbauprozess erzeugte Codeschlüssel verwendet.
  • Es dürfte sich verstehen, dass der vorstehend beschriebene Codeschlüssel-Aufbauprozess nicht auf die nicht reversiblen Einwegfunktionen beschränkt ist, sondern dass ein Fachmann auf diesem Gebiet zusätzliche Verschlüsselungsmethoden in Betracht ziehen würde, die in der Erfindung angewendet werden können.
  • Man beachte auch, dass der während des Codeschlüssel-Aufbauprozesses erzeugte String derselbe sein kann wie der in dem Computer des Benutzers oder auch nicht. Es ist jedoch sicherer, einen während des Codeschlüssel-Aufbauprozesses erzeugten String zu haben, der sich von dem in dem Computer des Benutzers gespeicherten String unterscheidet. Das wichtigste Ergebnis ist, ob die Authentisierungsinformation, nach der Entschlüsselung durch den Codeschlüssel, der sich aus diesem String ergibt, die Anforderungen für die sichere Anwendung erfüllt, auf die zugegriffen werden soll. Wenn die Aufforderung nicht reihenfolgenempfindlich ist, ist nur das Endergebnis oder das Layout der Nachweiserbringerschritte für die Bestimmung des Ergebnisses des Aufforderungsprozesses (siehe 8) wichtig. Der Aufforderungsprozess setzt sich fort, bis der Nachweiserbringer die Vervollständigung anzeigt oder den Prozess abbricht.
  • Der Codeschlüsselprozess stellt sicher, dass die Nachweiserbringerschritte und Layouts nicht leicht abgeleitet werden können. Der Codeschlüssel wird niemals gespeichert und könnte für jede Anwendung und Authentisierungssitzung einmalig sein. Sobald der Codeschlüssel-Aufbauprozess abgeschlossen ist, werden die Ergebnisse den automatischen Prozessen zugeführt. Der Abschluss des Codeschlüssel-Aufbauprozesses zeigt in keiner Weise eine erfolgreiche Authentisierung an. Er zeigt lediglich an, dass ein spezifischer Codeschlüssel aus dem bzw. den Layouts, die sich aus den Nachweiserbringerschritten ergaben, während des Aufforderungsprozesses erzeugt worden ist.
  • Automatische Prozesse
  • Die restlichen Schritte in dem Prozess erfolgen automatisch und erfordern keine weitere Einbeziehung des Nachweiserbringers. 7 und 12 stellen eine Übersicht auf höherer Ebene über die einbezogenen Schritte dar.
  • Die Ergebnisse des Codeschlüssel-Aufbauprozesses starten die automatischen Prozesse. Das geeignete Authentisierungsprotokoll und entsprechende Sub-Prozesse werden auf der Basis der Anwendung ausgewählt, auf die zugegriffen wird. Der Zuordnungsprozess startet den Kommunikationsprozess mit dem Verifizierer und den anschließenden Verifizierungsprozess. Wenn der Codeschlüssel nicht zugeordnet werden kann, schlägt die Authentisierung fehl und der gesamte Prozess wird abgebrochen.
  • Zuordnungsprozess
  • Gemäß Darstellung in 13 wird der Zuordnungsprozess durch die Ergebnisse des Codeschlüssel-Aufbauprozesses gestartet. Ein geeigneter Zuordnungs-Sub-Prozess wird auf der Basis der Anwendung, auf die der Nachweiserbringer zugreift, und des Typs der für diese Anwendung erforderlichen Authentisierung ausgewählt. Nach der erfolgreichen Erzeugung eines spezifischen Zuordnungs-Sub-Prozesses werden der bzw. die Codeschlüssel diesem zur Verarbeitung zugeführt. Wenn zusätzliche Zuordnungen, in einer Folge von Zuordnungen erforderlich sind, werden dann die Ergebnisse des Zuordnungs-Sub-Prozesses in einen Zuordnungsprozess zurückgeführt. Wenn die Erzeugung eines spezifischen Zuordnungs-Sub-Prozesses fehlschlägt oder kein geeigneter Zuordnungs-Sub-Prozess entdeckt werden kann, schlägt die Authentisierung fehl, und der Gesamtprozess wird abgebrochen. Ansonsten starten die Ergebnisse des Zuordnungsprozesses den Kommunikationsprozess.
  • Es folgen Beschreibungen für einige mögliche Zuordnungs-Sub-Prozesse in Verbindung mit spezifischen Authentisierungsprotokollen. Diese umfassen Stammnamen und Passwort (14), digitale Signatur/Zertifikat (15), Null-Kenntnis (16) und externe Authentisierung (17). Weitere Sub-Prozesse könnten hinzugefügt werden, sobald alternative Authentisierungsprotokolle verfügbar oder entwickelt werden.
  • 14 stellt die in dem Sub-Prozess beinhalteten Schritte dar, der herkömmliche Stammnamen und Passwort-Anwendungen unterstützt. Das Ergebnis des Codeschlüssel-Aufbauprozesses und/oder eines anderen Zuordnungs-Sub-Prozesses startet den Sub-Prozess. Die früheren Schritte in dem Zuordnungsprozess können ebenfalls zusätzliche Information liefern, die für den Start dieses Sub-Prozesses erforderlich ist. Die Ergebnisse dieses Zuordnungs-Sub-Prozesses werden an den Zuordnungsprozess zur Verwendung in dem Kommunikationsprozess zurückgeliefert. In diesem speziellen Falle sind die Ergebnisse ein spezifisches Namen- und Passwort-Paar, das in der Authentisierung verwendet werden kann. Wenn die Erzeugung dieses spezifischen Zuordnungs-Sub-Prozesses fehlschlägt, oder wenn die Zuordnung selbst nicht in der Lage ist, aus irgendeinem Grund zu vervollständigen, schlägt die Authentisierung fehl und der Prozess wird abgebrochen.
  • 15 stellt die Schritte dar, die in dem Sub-Prozess beinhaltet sind, der die Verwendung digitaler Signaturen oder digitaler Zertifikate unterstützt. Das Ergebnis des Codeschlüssel-Aufbauprozesses und/oder eines anderen Zuordnungs-Sub-Prozesses startet den Sub-Prozess. Die früheren Schritte in dem Zuordnungsprozess können ebenfalls zusätzliche Information liefern, die für den Start dieses Sub-Prozesses erforderlich ist. Die Ergebnisse dieses Zuordnungs-Sub-Prozesses werden an den Zuordnungsprozess zur Verwendung in dem Kommunikationsprozess zurückgeliefert. In diesem speziellen Falle sind die Ergebnisse des Sub-Prozesses ein spezifisches(r) digitales(r) Zertifikat, Signatur, privater oder öffentlicher Schlüssel, das/die/der in der Authentisierung verwendet werden kann. Wenn die Erzeugung dieses spezifischen Zuordnungs-Sub-Prozesses fehlschlägt, oder wenn die Zuordnung selbst nicht in der Lage ist, aus irgendeinem Grund zu vervollständigen, schlägt die Authentisierung fehl und der Prozess wird abgebrochen.
  • 16 stellt die Schritte dar, die in dem Sub-Prozess beinhaltet sind, der die Null-Kenntnis-Authentisierung unterstützt. Die Ergebnisse des Codeschlüssel-Aufbauprozesses und/oder eines anderen Zuordnungs-Sub-Prozesse(s) starten den Sub-Prozess. Die früheren Schritte in dem Zuordnungsprozess können ebenfalls zusätzliche Information liefern, die für den Start dieses Sub-Prozesses erforderlich ist. Die Ergebnisse dieses Zuordnungs-Sub-Prozesses werden an den Zuordnungsprozess zur Verwendung in dem Kommunikationsprozess zurückgeliefert. In diesem speziellen Falle sind die Ergebnisse des Sub-Prozesses Null-Kenntnis-Schlüssel und Information, die in der Authentisierung verwendet werden kann. Wenn die Erzeugung dieses spezifischen Zuordnungs-Sub-Prozesses fehlschlägt, oder wenn die Zuordnung selbst nicht in der Lage ist, aus irgendeinem Grund zu vervollständigen, schlägt die Authentisierung fehl und der Prozess wird abgebrochen.
  • 17 stellt den Sub-Prozess dar, der Anwendungen auf der Basis externer Authentisierung unterstützt. Die Ergebnis des Codeschlüssel-Aufbauprozesses und/oder eines anderen Zuordnungs-Sub-Prozesse(s) starten den Prozess. Frühere Schritte in dem Zuordnungsprozess können ebenfalls zusätzliche Information liefern, die für den Start dieses Sub-Prozesses erforderlich ist. Die Ergebnisse dieses Zuordnungs-Sub-Prozesses werden an den Prozess mit externer Authentisierung geliefert. Die Steuerung der Authentisierungsaufgabe wird an diesen externen Prozess zur Vervollständigung übergeben. Wenn die Erzeugung dieses spezifischen Zuordnungs-Sub-Prozesses fehlschlägt, oder wenn die Zuordnung selbst nicht in der Lage ist, aus irgendeinem Grund zu vervollständigen, schlägt die Authentisierung fehl und der Prozess wird abgebrochen.
  • Kommunikationsprozess
  • Der Kommunikationsprozess von 18 ist die Verknüpfung zwischen dem Nachweiserbringer und dem Verifizierer. Die Ergebnisse des Zuordnungsprozesses starten den Kommunikationsprozess. Dieser Prozess führt zu dem abschließenden Verifizierungsprozess und abschließenden Authentisierungsschlussfolgerungen.
  • Ein geeigneter Kommunikations-Sub-Prozess muss auf der Basis der von dem Nachweiserbringer bei der Initiierung ausgewählten Anwendung, dem Typ der durchzuführenden Authentisierung und der zugeordneten Kommunikationsanforderungen ausgewählt und erzeugt werden. Beispiele dieser Kommunikations-Sub-Prozesse werden nachstehend beschrieben. Nach der erfolgreichen Erzeugung eines spezifischen Kommunikations-Sub-Prozesses wird die Kommunikation gestartet und Zuordnungsergebnisse werden ihm zur Verarbeitung zugeführt. Falls zusätzliche Zuordnungen in einer Ablauffolge von Zuordnungen erforderlich sind, werden dann die Ergebnisse des aktuellen Zuordnungs-Sub-Prozesses in die Kommunikationsprozessschleife zurückgeführt. Ansonsten starten die Ergebnisse des Kommunikationsprozesses den Verifizierungsprozess und die Ergebnisse dieses Prozesses führen zum endgültigen Authentisierungsabschluss oder Ausfall.
  • Der Verifikationsprozess kann an jedem Punkt während des Kommunikationsprozesses einen Fehler anzeigen. In einem derartigen Falle schlägt die Authentisierung fehl, und der Prozess wird abgebrochen. Solange der Verifikationsprozess einen Erfolg anzeigt, können der bzw. die Sub-Prozesse, falls erforderlich, weiterfahren. Wenn die Erzeugung eines spezifischen Kommunikations-Sub-Prozesses fehlschlägt, oder wenn kein geeigneter Kommunikations-Sub-Prozess entdeckt werden kann, schlägt dann die Authentisierung fehl und der Prozess wird abgebrochen.
  • 19 stellt die Schritte dar, die in dem Stammdaten/Symmetrie-Kommunikations-Sub-Prozess beinhaltet sind. Die Ergebnisse des Zuordnungsprozesses und/oder anderer Kommunikations-Sub-Prozesse starten diesen Prozess. Die früheren Schritte in dem Kommunikationsprozess können ebenfalls zusätzliche Information liefern, die für den Start dieses Sub-Prozesses erforderlich ist. Die Ergebnisse dieses Kommunikations-Sub-Prozesses werden dem Kommunikationsprozess zugeführt, nachdem der Nachweiserbringer und Verifizierer den erschöpfenden symmetrischen Verifikationsprozess über den durch diesen Sub-Prozess bereitgestellten Kanal durchgeführt haben. Die Aufgabe der Vervollständigung des Authentisierungsprozesses kann an einem externen Authentisierungsprozess übergeben werden und die gesamte Steuerung diesem Prozess überlassen werden. Wenn die Erzeugung dieses spezifischen Kommunikations-Sub-Prozesses fehlschlägt, oder wenn die Kommunikation selbst aus irgendeinem Grund (z.B. Fehlschlag einen gültigen Kommunikationskanal zu erhalten) nicht zur Vervollständigung in der Lage ist, schlägt dann die Authentisierung fehl und der Gesamtprozess wird abgebrochen.
  • 20 stellt die Schritte dar, die in dem Zertifikats/Asymmetrie-Kommunikations-Sub-Prozess einbezogen sind. Die Ergebnisse des Zuordnungsprozesses und/oder anderer Kommunikations-Sub-Prozesse starten diesen Prozess. Die früheren Schritte in dem Kommunikationsprozess können ebenfalls zusätzliche Information liefern, die für den Start dieses Sub-Prozesses erforderlich ist. Die Ergebnisse dieses Kommunikations-Sub-Prozesses werden dem Kommunikationsprozess zugeführt, nachdem der Nachweiserbringer und Verifizierer einen erschöpfenden asymmetrischen Verifikationsprozess über den durch diesen Sub-Prozess bereitgestellten Kanal durchgeführt haben. Die Aufgabe der Vervollständigung des Authentisierungsprozesses kann an einem externen Authentisierungsprozess übergeben werden und die gesamte Steuerung diesem Prozess überlassen werden. Wenn die Erzeugung dieses spezifischen Kommunikations-Sub-Prozesses fehlschlägt, oder wenn die Kommunikation selbst aus irgendeinem Grund (z.B. Fehlschlag einen gültigen Kommunikationskanal zu erhalten) nicht zur Vervollständigung in der Lage ist, schlägt dann die Authentisierung fehl und der Gesamtprozess wird abgebrochen.
  • Verifizierungsprozess
  • 21 stellt die abschließenden Verifizierungsprozessschritte und deren Beziehung zu der Authentisierungsaufforderung dar. Ein automatischer Aufforderungs/Antwort-Prozess wird zwischen dem früheren Kommunikations/Zuordnungs-Prozess und dem Verifikationsprozess gestartet. Der Kommunikations/Zuordnungs-Prozess wird mit einer speziellen Aufforderung präsentiert. Im Allgemeinen erfordert die Aufforderung eine Antwort, um den Prozess fortzusetzen. Der Verifizierer zeigt an, ob die Antwort des aktuellen Kommunikations/Zuordnungs-Prozesses korrekt ist oder nicht und fährt dementsprechend mit dem Prozess fort. Das Aufforderung/Antwort-Bearbeitungsverfahren des Verifikationsprozesses fährt fort, bis der Verifizierer den Abschluss anzeigt oder den Authentisierungsprozess abbricht. Wenn der Verifizierer einen endgültigen Abschluss des Aufforderung/Antwort-Prozesses anzeigt, ist die Authentisierung abhängig davon, ob der Verifizierer ausreichend Antworten zum Erzeugen des erwarteten Ergebnisses erhalten hat, erfolgreich oder fehlgeschlagen.
  • Der Nachweiserbringer kann an jedem beliebigen Punkt während eines speziellen Verifikationsprozesses die Aufforderung zurücksetzen. Dieses ermöglicht dem Kommunikation/Zuordnungs-Prozess den Prozess in denjenigen Fällen neu zu starten, in welchen der Nachweiserbringer einen Fehler macht. Dieses führt zu dem Beginn dieses Prozesses zurück. Der Verifizierer (sowie der Kommunikation/Zuordnungs-Prozess) kann (können) an jedem beliebigen Punkt während des Verifikationsprozesses den Authentisierungsprozess widerrufen/abbrechen. Der Widerrufprozess wird durch eine explizite Aktion des Verifizierers und/oder des Kommunikations-Zuordnungs-Prozesses gestartet. Der Widerruf bricht den Authentisierungsprozess ab und der Prozess schlägt fehl.

Claims (20)

  1. Verfahren zum Bereitstellen eines Benutzerzugriffes auf eine sichere Anwendung, mit den Schritten: a) Liefern einer Authentisierungsanforderung an den Benutzer für einen Zugriff auf die sichere Anwendung, wobei die Authentisierungsanforderung beinhaltet, dass dem Benutzer wenigstens ein Symbol angezeigt wird; b) Empfangen von Manipulationen durch den Benutzer an wenigstens einem Abschnitt des angezeigten Symbols; c) Erzeugen eines Codeschlüssels auf der Basis der Manipulationen durch den Benutzer an wenigstens einem Abschnitt des angezeigten Symbols; d) Verwenden des Codeschlüssels in Verbindung mit gespeicherter Authentisierungsinformation, die zur Erfüllung der Authentisierungsanforderungen der sicheren Anwendung erforderlich ist, um ein Resultat zu erzeugen; e) Liefern des Resultats an die sichere Anwendung; und f) Genehmigen des Benutzerzugriffs auf die sichere Anwendung, wenn das Resultat die Authentisierungsanforderungen der sicheren Anwendung unterstützt.
  2. Verfahren nach Anspruch 1, wobei die Authentisierungsinformation, die zum Erfüllen der Authentisierungsanforderungen der sicheren Anwendung erforderlich ist, in verschlüsselter Form gespeichert ist, und der Codeschlüssel dazu verwendet wird, die Authentisierungsinformation zum Erzeugen des Resultats zu entschlüsseln.
  3. Verfahren nach Anspruch 2, wobei der Schritt der Erzeugung des Codeschlüssels ferner die Schritte der Erzeugung eines Layouts (Gruppierungsanordnung) auf der Basis der Manipulation durch den Benutzer wenigstens eines Abschnittes des angezeigten Symbols, und der Verarbeitung des Layouts mit einer nicht umkehrbaren Einwegfunktion aufweist, um den Codeschlüssel für die Entschlüsselung der Authentisierungsinformation zu erzeugen.
  4. Verfahren nach Anspruch 1, 2 oder 3, wobei die Authentisierungsinformation so formatiert wird, dass sie mit den Authentisierungsanforderungen der sicheren Anwendung kompatibel ist.
  5. Verfahren nach einem der vorstehenden Ansprüche, wobei die Authentisierungsinformation an einer für die sichere Anwendung zugänglichen Stelle gespeichert wird.
  6. Verfahren nach einem der Ansprüche 1 bis 4, wobei die Authentisierungsinformation am Ort des Benutzers gespeichert wird.
  7. Verfahren nach Anspruch 2, wobei der Schritt der Entschlüsselung der Authentisierungsinformation unter Verwendung des Codeschlüssels ferner den Schritt der Zuordnung der Authentisierungsinformation zu einem durch die sichere Anwendung spezifizierten Format aufweist.
  8. Verfahren nach einem der vorstehenden Ansprüche, welches ferner den Schritt aufweist, dem Benutzer zu erlauben, Schritte nach dem Empfang einer Rücksetzanforderung zu wiederholen.
  9. Verfahren nach einem der vorstehenden Ansprüche, wobei der Schritt der Lieferung einer Authentisierungsanforderung die Lieferung einer Vielzahl von Authentisierungsanforderungen an den Benutzer für einen Zugriff auf die sichere Anwendung aufweist.
  10. Verfahren nach Anspruch 1 oder 2, mit einem Schritt einer Speicherung von Authentisierungsinformation, welcher eine Impfung der Authentisierungsinformation mit einem Zufallswert aufweist; und wobei der Schritt einer Lieferung einer Authentisierungsanforderung an den Benutzer das Impfen der Authentisierungsanforderung mit dem Zufallswert aufweist.
  11. Verfahren nach Anspruch 1, mit einem Schritt einer Speicherung der Authentisierungsinformation, welcher das Speichern von Authentisierungsinformation, die für einen Zugriff auf mehrere sichere Anwendungen erforderlich ist, in verschlüsselter Form aufweist.
  12. Verfahren nach Anspruch 11, wobei jede von den mehreren Anwendungen die selbe Authentisierungsinformation erfordert.
  13. Verfahren nach Anspruch 11, wobei wenigstens eine von den mehreren Anwendungen nicht die selbe Authentisierungsinformation wie die anderen Anwendungen benötigt.
  14. Verfahren nach einem der vorstehenden Ansprüche, das den Schritt der Bestimmung des Typs eines dem Benutzer anzuzeigenden Symbols entsprechend einer dem Benutzer geläufigen Erfahrung durch den Benutzer aufweist.
  15. Verfahren nach einem der vorstehenden Ansprüche, wobei das Symbol ein graphisches Symbol ist.
  16. Verfahren nach Anspruch 2, mit den Schritten der Erzeugung eines Layouts als Reaktion auf die Manipulation wenigstens eines Teils des angezeigten Symbols durch den Benutzer; Umwandeln des Layouts in ein mathematisches Ergebnis; und Verarbeiten des mathematischen Ergebnisses mit einer nicht umkehrbaren Einwegfunktion zum Erzeugen des Codeschlüssels.
  17. Verfahren nach Anspruch 16, wobei das Resultat der Entschlüsselung der verschlüsselten Authentisierungsfunktion unter Verwendung des Codeschlüssels einem Format zugeordnet wird, das mit der Anwendung kompatibel ist, und das zugeordnete Resultat zur Durchführung von Aktionen genutzt wird, um die Authentisierungserfordernisse der sicheren Anwendung als Reaktion auf eine Anforderung durch die sichere Anwendung zu erfüllen.
  18. Verfahren nach Anspruch 16 oder 17, wobei das Layout in einen binären String auf der Basis der Manipulationen durch den Benutzer umgewandelt wird.
  19. Verfahren nach Anspruch 16 oder 17, wobei der Schritt der Umwandlung des Layouts ferner die Verarbeitung des Resultats mit einer Einweg-Hash-Funktion aufweist.
  20. Verfahren nach Anspruch 17, wobei der Schritt der Zuordnung des Resultats ferner die Schritte der Ermittlung der speziellen sicheren Anwendung umfasst, und die Verwendung des Codeschlüssels, um die für den Zugang zu der sicheren Anwendung erforderliche Authentisierung zu erzeugen.
DE69834406T 1997-05-13 1998-05-12 Verallgemeinertes benutzeridentifizierungs-und-authentisierungssystem Expired - Lifetime DE69834406T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US4628997P 1997-05-13 1997-05-13
US46289P 1997-05-13
PCT/US1998/009661 WO1998052115A1 (en) 1997-05-13 1998-05-12 Generalized user identification and authentication system

Publications (2)

Publication Number Publication Date
DE69834406D1 DE69834406D1 (de) 2006-06-08
DE69834406T2 true DE69834406T2 (de) 2006-12-07

Family

ID=21942650

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69834406T Expired - Lifetime DE69834406T2 (de) 1997-05-13 1998-05-12 Verallgemeinertes benutzeridentifizierungs-und-authentisierungssystem

Country Status (10)

Country Link
US (2) US6332192B1 (de)
EP (1) EP1010049B1 (de)
JP (3) JP2001525961A (de)
AT (1) ATE325375T1 (de)
AU (1) AU749130B2 (de)
CA (1) CA2290434C (de)
DE (1) DE69834406T2 (de)
ES (1) ES2264203T3 (de)
IL (1) IL132877A (de)
WO (1) WO1998052115A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011016150A1 (de) * 2011-03-28 2012-10-04 Jurij Schilling Authentifizierungsmethode mittels eines auf dem Algorithmus basierendes Kennwortes

Families Citing this family (114)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7743248B2 (en) 1995-01-17 2010-06-22 Eoriginal, Inc. System and method for a remote access service enabling trust and interoperability when retrieving certificate status from multiple certification authority reporting components
EP0881557B1 (de) * 1997-05-28 2003-04-16 Siemens Aktiengesellschaft Computersystem und Verfahren zum Schutz von Software
US6772336B1 (en) * 1998-10-16 2004-08-03 Alfred R. Dixon, Jr. Computer access authentication method
US7219368B2 (en) 1999-02-11 2007-05-15 Rsa Security Inc. Robust visual passwords
WO2000070838A2 (en) * 1999-05-14 2000-11-23 Pivia, Inc. Client-server independent intermediary mechanism
US7058817B1 (en) 1999-07-02 2006-06-06 The Chase Manhattan Bank System and method for single sign on process for websites with multiple applications and services
WO2001033477A2 (en) 1999-11-04 2001-05-10 Jpmorgan Chase Bank System and method for automated financial project management
US8571975B1 (en) 1999-11-24 2013-10-29 Jpmorgan Chase Bank, N.A. System and method for sending money via E-mail over the internet
US10275780B1 (en) 1999-11-24 2019-04-30 Jpmorgan Chase Bank, N.A. Method and apparatus for sending a rebate via electronic mail over the internet
EP1252581A2 (de) * 1999-12-22 2002-10-30 Accenture LLP Verfahren für einen finanziellen rahmen für den virtuellen handel
CA2397740C (en) * 2000-01-14 2015-06-30 Catavault Method and system for secure registration, storage, management and linkage of personal authentication credentials data over a network
IL135150A0 (en) * 2000-03-17 2001-05-20 Avner Geller A method and a system for secured identification of user's identity
US7426530B1 (en) 2000-06-12 2008-09-16 Jpmorgan Chase Bank, N.A. System and method for providing customers with seamless entry to a remote server
US10185936B2 (en) 2000-06-22 2019-01-22 Jpmorgan Chase Bank, N.A. Method and system for processing internet payments
US7392388B2 (en) * 2000-09-07 2008-06-24 Swivel Secure Limited Systems and methods for identity verification for secure transactions
US8335855B2 (en) 2001-09-19 2012-12-18 Jpmorgan Chase Bank, N.A. System and method for portal infrastructure tracking
DE10050734A1 (de) * 2000-09-29 2002-04-11 Reinhold Rohrbach Verfahren und Vorrichtung zur Zugangscodeermittlung
AU2002218644A1 (en) * 2000-11-29 2002-06-11 Temasek Polytechnic Enhance authorization system and method for computer security
US6883095B2 (en) * 2000-12-19 2005-04-19 Singlesigon. Net Inc. System and method for password throttling
US7020645B2 (en) 2001-04-19 2006-03-28 Eoriginal, Inc. Systems and methods for state-less authentication
US8849716B1 (en) 2001-04-20 2014-09-30 Jpmorgan Chase Bank, N.A. System and method for preventing identity theft or misuse by restricting access
AU2002312381A1 (en) 2001-06-07 2002-12-16 First Usa Bank, N.A. System and method for rapid updating of credit information
US6834795B1 (en) * 2001-06-29 2004-12-28 Sun Microsystems, Inc. Secure user authentication to computing resource via smart card
US7266839B2 (en) 2001-07-12 2007-09-04 J P Morgan Chase Bank System and method for providing discriminated content to network users
US7103576B2 (en) 2001-09-21 2006-09-05 First Usa Bank, Na System for providing cardless payment
CA2466071C (en) 2001-11-01 2016-04-12 Bank One, Delaware, N.A. System and method for establishing or modifying an account with user selectable terms
US7412720B1 (en) * 2001-11-02 2008-08-12 Bea Systems, Inc. Delegated authentication using a generic application-layer network protocol
GB0126426D0 (en) 2001-11-03 2002-01-02 Royal Holloway University Of L Authentication of a remote user to a host in a data communication system
US20030093699A1 (en) * 2001-11-15 2003-05-15 International Business Machines Corporation Graphical passwords for use in a data processing network
JP2003157332A (ja) * 2001-11-21 2003-05-30 Oki Electric Ind Co Ltd 本人確認装置、本人確認システム、カード発行装置及びカード発行システム
US7987501B2 (en) 2001-12-04 2011-07-26 Jpmorgan Chase Bank, N.A. System and method for single session sign-on
US7246230B2 (en) 2002-01-29 2007-07-17 Bea Systems, Inc. Single sign-on over the internet using public-key cryptography
US7219231B2 (en) * 2002-01-30 2007-05-15 Hewlett-Packard Development Company, L.P. Extensible authentication system and method
US7941533B2 (en) 2002-02-19 2011-05-10 Jpmorgan Chase Bank, N.A. System and method for single sign-on session management without central server
KR20020077838A (ko) * 2002-08-09 2002-10-14 박승배 타인의 관찰에 의한 패스워드의 노출 문제를 해결한 패스워드 시스템
US6954862B2 (en) * 2002-08-27 2005-10-11 Michael Lawrence Serpa System and method for user authentication with enhanced passwords
US7058660B2 (en) 2002-10-02 2006-06-06 Bank One Corporation System and method for network-based project management
US20040193923A1 (en) * 2003-01-16 2004-09-30 Hammond Frank J. Systems and methods for enterprise security with collaborative peer to peer architecture
US8239917B2 (en) * 2002-10-16 2012-08-07 Enterprise Information Management, Inc. Systems and methods for enterprise security with collaborative peer to peer architecture
US7840806B2 (en) * 2002-10-16 2010-11-23 Enterprise Information Management, Inc. System and method of non-centralized zero knowledge authentication for a computer network
US8301493B2 (en) 2002-11-05 2012-10-30 Jpmorgan Chase Bank, N.A. System and method for providing incentives to consumers to share information
US7577987B2 (en) * 2002-12-23 2009-08-18 Authernative, Inc. Operation modes for user authentication system based on random partial pattern recognition
US7644433B2 (en) * 2002-12-23 2010-01-05 Authernative, Inc. Authentication system and method based upon random partial pattern recognition
US20040163087A1 (en) * 2003-02-14 2004-08-19 Carl Sandland Computer program code and method for delivering external data to a process running on a virtual machine
US7496953B2 (en) 2003-04-29 2009-02-24 International Business Machines Corporation Single sign-on method for web-based applications
US20040225880A1 (en) * 2003-05-07 2004-11-11 Authenture, Inc. Strong authentication systems built on combinations of "what user knows" authentication factors
US7073067B2 (en) * 2003-05-07 2006-07-04 Authernative, Inc. Authentication system and method based upon random partial digitized path recognition
US7478433B2 (en) * 2003-06-19 2009-01-13 Panasonic Corporation Program execution system having authentication function
US20040267870A1 (en) * 2003-06-26 2004-12-30 Rozmus John Michael Method of single sign-on emphasizing privacy and minimal user maintenance
US7305705B2 (en) * 2003-06-30 2007-12-04 Microsoft Corporation Reducing network configuration complexity with transparent virtual private networks
CA2434276A1 (en) 2003-07-03 2005-01-03 Ibm Canada Limited - Ibm Canada Limitee Password management
US8190893B2 (en) 2003-10-27 2012-05-29 Jp Morgan Chase Bank Portable security transaction protocol
US7552327B2 (en) 2003-11-13 2009-06-23 International Business Machines Corporation Method and apparatus for conducting a confidential search
US7698734B2 (en) * 2004-08-23 2010-04-13 International Business Machines Corporation Single sign-on (SSO) for non-SSO-compliant applications
US7941671B2 (en) * 2004-10-14 2011-05-10 Oracle International Corporation Method and apparatus for accommodating multiple verifier types with limited storage space
US7669057B2 (en) * 2005-01-24 2010-02-23 International Business Machines Corporation Secure computer password system and method
US20060185004A1 (en) * 2005-02-11 2006-08-17 Samsung Electronics Co., Ltd. Method and system for single sign-on in a network
US7363492B2 (en) * 2005-02-25 2008-04-22 Motorola, Inc. Method for zero-knowledge authentication of a prover by a verifier providing a user-selectable confidence level and associated application devices
US8185877B1 (en) 2005-06-22 2012-05-22 Jpmorgan Chase Bank, N.A. System and method for testing applications
US7577994B1 (en) * 2005-08-25 2009-08-18 Symantec Corporation Detecting local graphic password deciphering attacks
US8583926B1 (en) 2005-09-19 2013-11-12 Jpmorgan Chase Bank, N.A. System and method for anti-phishing authentication
US8230487B2 (en) 2005-12-21 2012-07-24 International Business Machines Corporation Method and system for controlling access to a secondary system
CA2640261A1 (en) * 2006-01-26 2007-08-09 Imprivata, Inc. Systems and methods for multi-factor authentication
US8078990B2 (en) 2006-02-01 2011-12-13 Research In Motion Limited Secure device sharing
US20080276309A1 (en) * 2006-07-06 2008-11-06 Edelman Lance F System and Method for Securing Software Applications
US8793490B1 (en) 2006-07-14 2014-07-29 Jpmorgan Chase Bank, N.A. Systems and methods for multifactor authentication
US8925052B2 (en) * 2006-07-26 2014-12-30 At&T Intellectual Property I, L.P. Application integration
US7849321B2 (en) * 2006-08-23 2010-12-07 Authernative, Inc. Authentication method of random partial digitized path recognition with a challenge built into the path
US8521857B2 (en) 2006-08-24 2013-08-27 Bby Solutions, Inc. Systems and methods for widget rendering and sharing on a personal electronic device
US7945776B1 (en) * 2006-09-29 2011-05-17 Emc Corporation Securing a passphrase
US8046823B1 (en) 2006-10-03 2011-10-25 Stamps.Com Inc. Secure application bridge server
US8201217B1 (en) * 2006-10-03 2012-06-12 Stamps.Com Inc. Systems and methods for single sign-in for multiple accounts
JP4888057B2 (ja) * 2006-11-01 2012-02-29 富士通セミコンダクター株式会社 情報処理装置
US8176427B2 (en) * 2006-12-21 2012-05-08 Canon Kabushiki Kaisha Method for configuring a device using simple pictograms
US8042159B2 (en) * 2007-03-15 2011-10-18 Glynntech, Inc. Website log in system with user friendly combination lock
US7904947B2 (en) * 2007-03-22 2011-03-08 Glynntech, Inc. Gateway log in system with user friendly combination lock
US8473735B1 (en) 2007-05-17 2013-06-25 Jpmorgan Chase Systems and methods for managing digital certificates
US9607175B2 (en) * 2007-05-21 2017-03-28 International Business Machines Corporation Privacy safety manager system
US20090002333A1 (en) * 2007-06-22 2009-01-01 Chumby Industries, Inc. Systems and methods for device registration
US8156338B1 (en) 2007-09-25 2012-04-10 United Services Automobile Association Systems and methods for strong authentication of electronic transactions
US7890761B1 (en) 2007-09-25 2011-02-15 United Services Automobile Association (Usaa) Systems and methods for strong authentication of electronic transactions
US8813200B2 (en) * 2007-12-21 2014-08-19 Oracle International Corporation Online password management
US8321682B1 (en) 2008-01-24 2012-11-27 Jpmorgan Chase Bank, N.A. System and method for generating and managing administrator passwords
US8996867B2 (en) 2008-02-28 2015-03-31 At&T Intellectual Property I, L.P. Method and device for end-user verification of an electronic transaction
DE102008019034A1 (de) 2008-04-15 2009-10-22 Patev Gmbh & Co. Kg Verfahren und Vorrichtung zur Ermittlung eines Zugangscodes
WO2009150655A1 (en) * 2008-06-12 2009-12-17 Ads Captcha Ltd A time-resolved & user-spatially-activated feedback entrance and method thereof
CN101316424A (zh) * 2008-07-08 2008-12-03 阿里巴巴集团控股有限公司 一种信息传输方法、系统及装置
JP5234990B2 (ja) 2009-05-13 2013-07-10 住友重機械工業株式会社 軸受構造
GB0910545D0 (en) * 2009-06-18 2009-07-29 Therefore Ltd Picturesafe
US9608826B2 (en) 2009-06-29 2017-03-28 Jpmorgan Chase Bank, N.A. System and method for partner key management
US8713647B2 (en) * 2009-08-21 2014-04-29 International Business Machines Corporation End-of-session authentication
DE102009052174B3 (de) * 2009-11-06 2010-10-21 Christoph Althammer Verfahren zur Authentifizierung eines Benutzers an einer Rechnereinheit
US8713703B2 (en) 2011-07-31 2014-04-29 International Business Machines Corporation Advanced CAPTCHA using images in sequence
US8590058B2 (en) 2011-07-31 2013-11-19 International Business Machines Corporation Advanced audio CAPTCHA
KR101841039B1 (ko) * 2011-11-28 2018-03-28 삼성전자주식회사 패스워드 인증 방법 및 이를 이용한 휴대기기
CN102880820B (zh) * 2012-08-14 2017-11-17 东莞宇龙通信科技有限公司 一种移动终端应用程序访问方法及移动终端
US8955074B2 (en) 2012-10-23 2015-02-10 Authernative, Inc. Authentication method of enumerated pattern of field positions based challenge and enumerated pattern of field positions based response through interaction between two credentials in random partial digitized path recognition system
US8868919B2 (en) 2012-10-23 2014-10-21 Authernative, Inc. Authentication method of field contents based challenge and enumerated pattern of field positions based response in random partial digitized path recognition system
US9215072B1 (en) 2012-10-23 2015-12-15 Authernative, Inc. Back-end matching method supporting front-end knowledge-based probabilistic authentication systems for enhanced credential security
CN103096171A (zh) * 2012-11-22 2013-05-08 康佳集团股份有限公司 一种基于人脸识别的应用授权方法、系统及智能电视
KR101987246B1 (ko) * 2012-11-26 2019-06-12 한국전자통신연구원 휴대용 단말기의 사용자 인증 장치
US20140157382A1 (en) * 2012-11-30 2014-06-05 SunStone Information Defense, Inc. Observable authentication methods and apparatus
US9230081B2 (en) 2013-03-05 2016-01-05 Intel Corporation User authorization and presence detection in isolation from interference from and control by host central processing unit and operating system
US9419957B1 (en) 2013-03-15 2016-08-16 Jpmorgan Chase Bank, N.A. Confidence-based authentication
EP2821931B1 (de) 2013-07-02 2019-05-22 Precise Biometrics AB Verifikationsanwendung, Verfahren, elektronische Vorrichtung und Computerprogramm
JP5659284B1 (ja) * 2013-11-27 2015-01-28 株式会社三菱東京Ufj銀行 プログラム、サーバおよび通信端末
JP6298288B2 (ja) * 2013-12-20 2018-03-20 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
US10148726B1 (en) 2014-01-24 2018-12-04 Jpmorgan Chase Bank, N.A. Initiating operating system commands based on browser cookies
US9563758B2 (en) * 2014-05-12 2017-02-07 International Business Machines Corporation Increasing security of a device and/or system via questioning about a characteristic of the device and/or system
CN105095729B (zh) * 2015-06-19 2018-05-25 广州密码科技有限公司 一种二维码登录方法、服务器及系统
ES2574029B1 (es) * 2015-07-03 2016-10-21 Francisco ANDRÉS MARTÍNEZ Sistema y método para la recuperación de objetos perdidos
DE102015119140A1 (de) * 2015-11-06 2017-05-11 Océ Printing Systems GmbH & Co. KG Verfahren zum Steuern des Zugriffs auf verschlüsselte Dateien und Computersystem
WO2018232309A1 (en) * 2017-06-16 2018-12-20 Yutaka Nagao Device authentication systems and methods
DE102021125572B9 (de) 2021-10-01 2023-08-03 Uwe Leibrecht Verfahren zur Durchführung eines Authentisierungsprozesses durch einen individuellen Systembenutzer

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4652990A (en) 1983-10-27 1987-03-24 Remote Systems, Inc. Protected software access control apparatus and method
US4720860A (en) 1984-11-30 1988-01-19 Security Dynamics Technologies, Inc. Method and apparatus for positively identifying an individual
US5168520A (en) 1984-11-30 1992-12-01 Security Dynamics Technologies, Inc. Method and apparatus for personal identification
US5465084A (en) 1990-03-27 1995-11-07 Cottrell; Stephen R. Method to provide security for a computer and a device therefor
GB9010603D0 (en) 1990-05-11 1990-07-04 Int Computers Ltd Access control in a distributed computer system
JPH0430242A (ja) * 1990-05-25 1992-02-03 Nippon Telegr & Teleph Corp <Ntt> パスワード管理装置
US5657388A (en) 1993-05-25 1997-08-12 Security Dynamics Technologies, Inc. Method and apparatus for utilizing a token for resource access
US5479512A (en) 1991-06-07 1995-12-26 Security Dynamics Technologies, Inc. Method and apparatus for performing concryption
US5485519A (en) 1991-06-07 1996-01-16 Security Dynamics Technologies, Inc. Enhanced security for a secure token code
US5237614A (en) 1991-06-07 1993-08-17 Security Dynamics Technologies, Inc. Integrated network security system
JPH0535678A (ja) * 1991-07-31 1993-02-12 Toshiba Corp ユーザー認証方式
US5276314A (en) * 1992-04-03 1994-01-04 International Business Machines Corporation Identity verification system resistant to compromise by observation of its use
US5241594A (en) 1992-06-02 1993-08-31 Hughes Aircraft Company One-time logon means and methods for distributed computing systems
US5361062A (en) 1992-11-25 1994-11-01 Security Dynamics Technologies, Inc. Personal security system
US5586260A (en) 1993-02-12 1996-12-17 Digital Equipment Corporation Method and apparatus for authenticating a client to a server in computer systems which support different security mechanisms
US5416840A (en) * 1993-07-06 1995-05-16 Phoenix Technologies, Ltd. Software catalog encoding method and system
DE69329277T2 (de) 1993-07-08 2001-02-15 Koninkl Kpn Nv Rechnersystem das einen Prozessor und ein Speicherfeld hat, das eine Rechnerschnittstelle beinhaltet
TW299410B (de) 1994-04-04 1997-03-01 At & T Corp
US5550968A (en) 1994-04-12 1996-08-27 International Business Machines Corporation Method and system for providing access security to controls in a graphical user interface
US5999711A (en) * 1994-07-18 1999-12-07 Microsoft Corporation Method and system for providing certificates holding authentication and authorization information for users/machines
US5604490A (en) 1994-09-09 1997-02-18 International Business Machines Corporation Method and system for providing a user access to multiple secured subsystems
US5706349A (en) 1995-03-06 1998-01-06 International Business Machines Corporation Authenticating remote users in a distributed environment
JPH08297638A (ja) * 1995-04-26 1996-11-12 Nippon Telegr & Teleph Corp <Ntt> 利用者認証方式
JPH0962596A (ja) * 1995-08-25 1997-03-07 Hitachi Ltd 電子メールシステム
US5821933A (en) 1995-09-14 1998-10-13 International Business Machines Corporation Visual access to restricted functions represented on a graphical user interface
JP3624971B2 (ja) * 1995-10-02 2005-03-02 松下電器産業株式会社 ソフトウエア利用制御方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011016150A1 (de) * 2011-03-28 2012-10-04 Jurij Schilling Authentifizierungsmethode mittels eines auf dem Algorithmus basierendes Kennwortes

Also Published As

Publication number Publication date
CA2290434A1 (en) 1998-11-19
EP1010049A1 (de) 2000-06-21
IL132877A0 (en) 2001-03-19
AU7481698A (en) 1998-12-08
JP4866432B2 (ja) 2012-02-01
ES2264203T3 (es) 2006-12-16
JP2011070699A (ja) 2011-04-07
CA2290434C (en) 2008-05-06
JP2009116902A (ja) 2009-05-28
US6332192B1 (en) 2001-12-18
EP1010049B1 (de) 2006-05-03
AU749130B2 (en) 2002-06-20
JP2001525961A (ja) 2001-12-11
DE69834406D1 (de) 2006-06-08
US20010005887A1 (en) 2001-06-28
US6327659B2 (en) 2001-12-04
ATE325375T1 (de) 2006-06-15
WO1998052115A1 (en) 1998-11-19
IL132877A (en) 2003-12-10

Similar Documents

Publication Publication Date Title
DE69834406T2 (de) Verallgemeinertes benutzeridentifizierungs-und-authentisierungssystem
DE60311757T2 (de) System und Verfahren zur Authentifizierung basierend auf zufälliger partieller Mustererkennung
US7577659B2 (en) Interoperable credential gathering and access modularity
DE602004012996T2 (de) Verfahren und vorrichtung zum authentifizieren von benutzern und websites
US8812862B2 (en) User authentication method and user authentication system
DE60200093T2 (de) Sichere Benutzerauthenifizierung über ein Kommunikationsnetzwerk
CN102804200B (zh) 双因素用户认证系统及其方法
JP4275080B2 (ja) ユーザ認証方法およびユーザ認証システム
JP5086640B2 (ja) 認証システム
WO2020143877A1 (de) Verfahren zum sicheren bereitstellen einer personalisierten elektronischen identität auf einem endgerät
CN108369614A (zh) 用户认证方法及用于实现该方法的系统
EP3908946B1 (de) Verfahren zum sicheren bereitstellen einer personalisierten elektronischen identität auf einem endgerät
EP1525731B1 (de) Identifikation eines benutzers eines mobilterminals und generierung einer aktionsberechtigung
EP1738518A1 (de) System und verfahren zum authentifizieren eines benutzers eines accounts
DE102021125572B3 (de) Verfahren zur Durchführung eines Authentisierungsprozesses durch einen individuellen Systembenutzer
JP7360996B2 (ja) 認証管理装置、認証管理方法、及び認証管理システム
EP1684208A2 (de) Verallgemeinertes Benutzeridentifikations- und Authentifizierungssystem

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
R082 Change of representative

Ref document number: 1010049

Country of ref document: EP

Representative=s name: DEHMEL & BETTENHAUSEN PATENT- UND RECHTSANWAEL, DE

R081 Change of applicant/patentee

Ref document number: 1010049

Country of ref document: EP

Owner name: ORACLE CORP. (N.D.GES.D. STAATES DELAWARE), US

Free format text: FORMER OWNER: PASSLOGIX, INC., NEW YORK, US

Effective date: 20120727

R082 Change of representative

Ref document number: 1010049

Country of ref document: EP

Representative=s name: DEHMEL & BETTENHAUSEN PATENT- UND RECHTSANWAEL, DE

Effective date: 20120727

R082 Change of representative

Ref document number: 1010049

Country of ref document: EP

Representative=s name: DEHMEL & BETTENHAUSEN PATENT- UND RECHTSANWAEL, DE

R081 Change of applicant/patentee

Ref document number: 1010049

Country of ref document: EP

Owner name: ORACLE INTERNATIONAL CORPORATION, US

Free format text: FORMER OWNER: ORACLE CORP. (N.D.GES.D. STAATES DELAWARE), REDWOOD SHORES, US

Effective date: 20121015

R082 Change of representative

Ref document number: 1010049

Country of ref document: EP

Representative=s name: DEHMEL & BETTENHAUSEN PATENT- UND RECHTSANWAEL, DE

Effective date: 20121015