[go: up one dir, main page]

DE102006008318A1 - Verfahren und Vorrichtung zum automatischen Erzeugen von Passwörtern - Google Patents

Verfahren und Vorrichtung zum automatischen Erzeugen von Passwörtern Download PDF

Info

Publication number
DE102006008318A1
DE102006008318A1 DE200610008318 DE102006008318A DE102006008318A1 DE 102006008318 A1 DE102006008318 A1 DE 102006008318A1 DE 200610008318 DE200610008318 DE 200610008318 DE 102006008318 A DE102006008318 A DE 102006008318A DE 102006008318 A1 DE102006008318 A1 DE 102006008318A1
Authority
DE
Germany
Prior art keywords
password
application
signal sequence
specific
prandom
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE200610008318
Other languages
English (en)
Other versions
DE102006008318B4 (de
Inventor
Ruben Wolf
Jan Zibuschka
Markus Schneider
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.)
Fraunhofer Gesellschaft zur Foerderung der Angewandten Forschung eV
Original Assignee
Fraunhofer Gesellschaft zur Foerderung der Angewandten Forschung eV
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 Fraunhofer Gesellschaft zur Foerderung der Angewandten Forschung eV filed Critical Fraunhofer Gesellschaft zur Foerderung der Angewandten Forschung eV
Priority to DE200610008318 priority Critical patent/DE102006008318B4/de
Publication of DE102006008318A1 publication Critical patent/DE102006008318A1/de
Application granted granted Critical
Publication of DE102006008318B4 publication Critical patent/DE102006008318B4/de
Anticipated expiration legal-status Critical
Active legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

Die vorliegende Erfindung betrifft ein Verfahren zum automatischen Erzeugen einer Mehrzahl von anwendungsspezifischen Passwörtern (PW) aus nur einem Hauptpasswort (HPW) und einer Mehrzahl anwendungsspezifischer Eingabegrößen, bei dem zum Generieren eines der Passwörter (PW), welches einer bestimmten Anwendung zugeordnet ist, jeweils aus mindestens einer der Eingabegrößen, die derselben Anwendung zugeordnet ist, eine Zeichenkette gebildet wird, wonach diese Zeichenkette mittels eines aus dem Hauptpasswort (HPW) gebildeten Schlüssels (s) verschlüsselt wird und eine durch dieses Verschlüsseln gewonnene pseudozufällige Signalfolge (prandom') zur Bildung des Passworts (PW) verwendet wird unter Berücksichtigung mindestens einer weiteren der dieser Anwendung zugeordneten Eingabegrößen, durch welche anwendungsspezifische Passwortregeln definiert werden. Die Erfindung betrifft ferner eine zur Durchführung dieses Verfahrens programmtechnisch eingerichtete Vorrichtung.

Description

  • Die vorliegende Erfindung betrifft ein Verfahren zum automatischen Erzeugen einer Mehrzahl von anwendungsspezifischen Passwörtern aus nur einem Hauptpasswort und einer Mehrzahl anwendungsspezifischer Eingabegrößen, wobei letztere nicht notwendigerweise geheim bleiben müssen.
  • Passwortverfahren sind die am stärksten verbreitete Methode zur Identifizierung von Personen. Mittlerweile nutzen Personen eine solch große Anzahl von Anwendungen, z.B. solche Anwendungen, welche über das World Wide Web angeboten werden, dass sie in der Praxis Probleme im Umgang mit ihren Passwörtern bekommen. In diesem Zusammenhang haben sich im Gebrauch von Passwörtern in der Praxis eine Reihe von Umgangsweisen eingeschlichen, welche die Sicherheit von Passwortverfahren beeinträchtigen, wenngleich Passwortverfahren grundsätzlich ein adäquates Sicherheitsniveau bieten können. Als Beispiele für solche Umgangsweisen seien die Auswahl leicht erratbarer Passwörter, der leichte Zugang zu notierten Passwörtern oder die Wiederverwendung von Passwörtern für unterschiedliche Anwendungen genannt. Solche Praktiken haben sich deshalb durchgesetzt, weil Benutzer die Sicherheitsanforderungen im Umgang mit Passwörtern in der Praxis nicht bequem erfüllen können. Erschwert wird der Umgang mit Passwörtern in der Praxis noch dadurch, dass Anwendungen jeweils unterschiedliche Regeln zur Auswahl akzeptierter Passwörter aufstellen (z.B. bezüglich geforderter bzw. erlaubter Zeichentypen oder Passwortlänge), an die sich ein Benutzer halten muss. Diese Regeln können je nach Anbieter auch komplexerer Art sein, wie z.B. bei einer Regel, bei welcher in einem anwendungsspezifischen Passwort mindestens ein Vertreter von jeweils drei Zeichentypen aus einer Menge von insgesamt vier Zeichentypen (Großbuchstaben, Kleinbuchstaben, Ziffern, Sonderzeichen) enthalten sein muss. Zusätzlich zu diesen Regeln kann ein Betreiber verlangen, dass Benutzer innerhalb bestimmter Zeiträume ihre anwendungsspezifischen Passwörter ändern müssen.
  • Bei Benutzern kann darüber hinaus das Anliegen bestehen, die Anwendungen von unterschiedlichen Endgeräten aus nutzen zu können. Insofern haben technische Lösungsansätze wie das Speichern von Passwörtern auf Endgeräten den Nachteil, dass auf aktuelle Datenbestände nicht in jedem Fall zurückgegriffen werden kann. Eine denkbare Alternative hierzu, bei der Passwörter eines Benutzers im Rahmen eines Dienstes auf einem über ein Kommunikationsnetz zugreifbaren Computer abgelegt würden, hat den Nachteil, dass ein Be nutzer dem Dienstbetreiber bezüglich des vereinbarten Umgangs mit den verwahrten Passwörtern vertrauen müsste.
  • Es zeigt sich an vielen Stellen, dass Benutzer in der Praxis durch die Anforderungen eines guten Passwortmanagements überfordert sind. Deshalb ist ein Verfahren hilfreich, auf Basis dessen einem Benutzer jederzeit und auf allen Endgeräten alle seine starken, regelkonformen, anwendungsspezifischen Passwörter zur Verfügung stehen, ohne dass sich die Benutzer ihre Passwörter merken müssen.
  • Mittlerweile existieren eine Reihe von Ansätzen und Lösungen, deren Ziel es ist, Benutzer im Umgang mit ihren Passwörtern zu unterstützen. In diesem Zusammenhang wurden beispielsweise technische Lösungen entwickelt, bei welchen anwendungsspezifische Passwörter generiert und abgespeichert werden. Der Zugriff zu den abgespeicherten Passwörtern wird hierbei in der Regel ebenfalls mittels eines zentralen Geheimnisses oder mittels biometrischer Methoden kontrolliert. Alle diese Ansätze erfordern jedoch die Verfügbarkeit eines persistenten Speichers, was entweder die Verfügbarkeit des jeweiligen benutzereigenen Endgeräts (z.B. Passwortspeicher in den Web-Browsern wie Firefox oder Internet Explorer) oder die Verfügbarkeit einer über ein Kommunikationsnetz zugänglichen Datenbank impliziert, wobei im letzten Fall der Datenbankbetreiber ebenfalls Zugriff auf sämtliche anwendungsspezifischen Passwörter des Benutzers hat. Ein Verfahren zur zentralen Abspeicherung von anwendungsspezifischen Passwörtern und mit Hauptpasswort geschütztem Zugang wird in der Druckschrift US 6 006 333 A beschrieben.
  • Andere mit Passwörtern in Zusammenhang stehende Ansätze liefern Benutzern eine Rückmeldung bzgl. der Stärke der von ihnen gewählten Passwörter. Bei diesen werden die gewählten Passwörter dahingehend getestet, ob sie in Wörterbüchern enthalten sind und deshalb von Dritten mit vertretbarem Aufwand geraten werden können. Wird ein gewähltes Passwort als zu schwach identifiziert, ist der Benutzer aufgefordert, sich ein neues Passwort auszuwählen. Andere Verfahren zielen darauf ab, Angreifern die Durchführung von Wörterbuchangriffen zu erschweren, indem der Benutzer zusätzlich zur Passworteingabe noch derart an einem interaktiven Protokoll beteiligt wird, wobei die Benutzerinteraktion nicht erfolgreich von einer Maschine ausgeführt werden kann, so dass die Erfolgswahrscheinlichkeit für einen Angreifer bei einem automatisierten Wörterbuchangriff genügend klein ist.
  • Die geschilderten bekannten Verfahren nach dem Stand der Technik haben den Nachteil, entweder unkomfortabel zu sein und daher von Nutzern gemieden zu werden oder aber nicht hinreichend hohen Sicherheitsanforderungen zu genügen, weil die Passwörter dauerhaft gespeichert werden müssen, üblicherweise sogar in einer auch für andere Nutzer zugänglichen Datenbank.
  • Der vorliegenden Erfindung liegt also die technische Aufgabe zugrunde, mit einem anzugebenden Verfahren und einer entsprechenden Vorrichtung die Sicherheit eines (typischerweise ein Endgerät und eine Mehrzahl von mit diesem verbindbaren weiteren Rechnern umfassenden) Systems, das verschiedene durch Passwortfunktionen gesicherte und von verschiedenen Nutzern nutzbare Anwendungen umfasst, zu erhöhen unter der Maßgabe, dass sich ein einzelner Nutzer keine Vielzahl von Passwörtern merken und ggf, regelmäßig ändern muss.
  • Diese Aufgabe wird erfindungsgemäß gelöst durch ein Verfahren mit den Merkmalen des Anspruchs 1 und durch eine Vorrichtung mit den Merkmalen des Anspruchs 18. Vorteilhafte Ausgestaltungen und Weiterentwicklungen der Erfindung ergeben sich mit den Merkmalen der Unteransprüche.
  • Dadurch, dass bei dem vorgeschlagenen Verfahren zum automatischen Generieren eines der Passwörter, welches einer bestimmten Anwendung zugeordnet ist, jeweils
    • • aus mindestens einer der Eingabegrößen, die der selben Anwendung zugeordnet ist, eine Zeichenkette gebildet wird,
    • • wonach diese Zeichenkette mittels eines aus dem Hauptpasswort gebildeten Schlüssels verschlüsselt wird
    • • und eine durch dieses Verschlüsseln gewonnene pseudozufällige Signalfolge zur Bildung des Passworts verwendet wird
    • • unter Berücksichtigung mindestens einer weiteren der derselben Anwendung zugeordneten Eingabegrößen, durch welche anwendungsspezifische Passwortregeln definiert werden,
    ergeben sich insbesondere folgende Vorteile: Für einen Nutzer ergibt sich ein komfortabler Zugang zu einer Mehrzahl von Anwendungen mit nur einem Hauptpasswort, welches sich der Nutzer merken muss, wobei nur dieses Hauptpasswort, dass auch nicht regelmäßig geändert werden muss, geheim gehalten werden muss. Zugleich ergibt sich eine Systemsicherheit, die der durch eine Verwendung einer Vielzahl von womöglich regelmäßig zu ändernden starken Passwörtern erreich baren Systemsicherheit entspricht. Eine Steigerung der Systemsicherheit ergibt sich insbesondere auch dadurch, dass ein Speichern der einzelnen Passwörter nicht erforderlich ist, wobei sich der Nutzer nur das Hauptpasswort zu merken hat. Typischerweise wird das vorgeschlagene Verfahren auf einem Endgerät des Nutzers durchgeführt. Dabei ist das Verfahren allerdings vorteilhafterweise unabhängig vom jeweils verwendeten Endgerät.
  • Vorzugsweise wird der Schlüssel dabei mittels einer Schlüsselableitungsfunktion gebildet, durch welche jede Stelle des Schlüssels, der eine von einer Länge des Hauptpassworts unabhängige Länge hat, von jedem Zeichen des Hauptpassworts abhängig ist. Derartige Schlüsselableitungsfunktionen sind an sich bekannt. Als Beispiel sei das im PKCS#5-Standard (Password Based Cryptography Standard) der RSA Laboratories (Version 2.0, März 1999) vorgeschlagene Verfahren PBKDF2 (Password Based Key Derivation Function) oder dessen Vorgänger PBKDF1 genannt. Damit müssen an das Hauptpasswort keine bestimmten Anforderungen gestellt werden, wobei das Hauptpasswort allerdings zweckmäßigerweise als starkes Passwort zu wählen ist, um eine hohe Sicherheit zu gewährleisten.
  • Eine besonders zweckmäßige Ausführung des Verfahrens ergibt sich, wenn die Zeichenkette aus mindestens zwei Eingabegrößen, die der entsprechenden Anwendung zugeordnet sind, gebildet wird, vorzugsweise durch Verketten. Dabei können die einzelnen Eingabegrößen zur Bildung der Zeichenkette einfach aneinander gehängt werden, evtl. unter Einfügen von die Eingabegrößen verbindenden Füllzeichen. Vorzugsweise erfolgt die Bildung der Zeichenkette dabei durch eine Zuordnung von die Eingabegrößen bildenden Zeichen zu einer jeweils zeichenspezifischen Bitfolge (z.B. durch einen üblichen Code), so dass die Zeichenkette selbst durch eine Bitfolge gegeben ist. Die Zeichenkette kann schließlich durch ein sog. Padding (Ergänzen weiterer Zeichen) auf eine vorbestimmte, für das anschließende Verschlüsseln geeignete Kettenlänge gebracht werden.
  • Bei den zur Bildung der Zeichenkette verwendeten Eingabegrößen kann es sich bei einer besonders vorteilhaften Ausführung der Erfindung um eine benutzerspezifische Anwendungsidentität, eine anwendungsspezifische Benutzeridentität (user name) und eine anwendungsspezifische Versionsangabe oder um eine Auswahl aus den genannten Eingabegrößen handeln. Von besonderem Vorteil ist insbesondere die Verwendung einer anwendungsspezifischen Versionsangabe als Eingabegröße. Dadurch wird es möglich, dass Passwort für eine bestimmte Anwendung durch eine einfache Änderung der entsprechenden Versionsangabe zu ändern, ohne dass die übrigen Passwörter und insbesondere das Hauptpasswort geändert werden müssten. Eine Änderung der anwendungsspezifischen Passwörter ohne Änderung des Hauptpasswortes wäre sogar schon dann möglich, wenn nur eine einzelne Versionsangabe als Eingabegröße vorgesehen wird. Denkbar wäre es schließlich auch, auch die an sich zur Definition anwendungsspezifischer Passwortregeln dienende Eingabegröße zusätzlich bei der Bildung der Zeichenkette zu verwenden.
  • In einer bevorzugten Ausgestaltung des Verfahrens wird die durch das Verschlüsseln gewonnene Signalfolge zu einer ebenfalls pseudozufälligen weiteren Signalfolge mehrfacher Länge verlängert und die letztgenannte verlängerte Signalfolge zur Bildung des Passworts verwendet. Zur Gewinnung der verlängerten, ebenfalls pseudozufälligen weiteren Signalfolge aus der durch das Verschlüsseln gewonnenen zuerst genannten Signalfolge können verschiedene Methoden verwendet werden. Eine einfache Realisierung sieht vor, dass die durch das Verschlüsseln gewonnene Signalfolge dadurch verlängert wird, dass eine Schleife durchlaufen wird, bei der die erstgenannte Signalfolge jeweils mit einem Zählerwert verknüpft wird – vorzugsweise durch eine bitweise XOR-Verknüpfung – und ein Ergebnis dieser Verknüpfung wiederum mittels des Schlüssels verschlüsselt wird, wobei der Zählerwert bei jedem Schleifenzyklus einmal verändert wird. (Nachfolgend sei mit dem Begriff XOR-Verknüpfung immer eine bitweise XOR-Verknüpfung bezeichnet.) Genauso gut ist es möglich, die durch das Verschlüsseln gewonnene Signalfolge durch Durchlaufen einer Schleife zu verlängern, bei der jeweils ein bei jedem Schleifenzyklus einmal veränderter Zählerwert zunächst mittels des Schlüssels verschlüsselt wird und ein dadurch bei jedem Schleifenzyklus gewonnenes Chiffrat mit der erstgenannten Signalfolge verknüpft wird, vorzugsweise wieder durch eine XOR-Verknüpfung.
  • In beschriebener oder ähnlicher Weise kann also in Abhängigkeit von dem Hauptpasswort und den Eingabegrößen eine pseudozufällige Signalfolge beliebiger Länge erzeugt werden. Das ist von Vorteil, weil damit unabhängig von einer geforderten Passwortlänge oder anderen Passwortregeln immer genügend Zufallsmaterial zur Erzeugung des entsprechenden Passworts zur Verfügung steht.
  • Das trifft zu insbesondere bei einer Berücksichtigung der Passwortregeln durch eine Ausgestaltung des Verfahrens, bei der die mindestens eine anwendungsspezifische Passwortregeln definierende Eingabegröße da durch berücksichtigt wird, dass ein in beschriebener Weise gebildetes Passwort als Kandidat genau dann verworfen und durch einen entsprechend gebildeten weiteren Kandidaten ersetzt wird, wenn es nicht mit den Passwortregeln vereinbar ist. Eine derartige Berücksichtigung der Passwortregeln ist besonders vorteilhaft, weil sie gewährleistet, dass bezüglich der mit den verwendeten Passwortregeln theoretisch erreichbaren Passwörtern eine Gleichverteilung realisiert wird, was wiederum die erreichbare Sicherheit optimiert.
  • Die Berücksichtigung der Passwortregeln definierenden Eingabegröße oder -größen kann auch alternativ oder zusätzlich auf andere Art erfolgen. Das gilt insbesondere für eine Eingabegröße, die zur Definition einer Passwortlänge vorgesehen sein kann und in einfacher Weise dadurch zu berücksichtigen sein kann, dass ein Erzeugen von Passwortzeichen aus der entsprechenden Signalfolge abgebrochen wird, sobald die Passwortlänge erreicht ist. Andere denkbare Passwortregeln, die z.B. in einer der beschriebenen Weisen berücksichtigt werden können, können sich auf die zugelassenen oder geforderten Passwortzeichen beziehen und/oder darauf, dass an bestimmten Stellen des Passworts nur bestimmte Zeichen stehen dürfen, und/oder darauf, ob zwischen Groß- und Kleinbuchstaben zu unterscheiden ist. Denkbar ist es schließlich auch, eine Standardeinstellung der Passwortregeln vorzusehen, die maßgebend ist, wenn der entsprechenden Eingabegröße kein Wert zugeordnet wird.
  • Typische Ausführungen des vorgeschlagenen Verfahrens sehen vor, dass die aus der Eingabegröße bzw. den Eingabegrößen gewonnene Zeichenkette symmetrisch, vorzugsweise blockweise symmetrisch verschlüsselt wird. Derartige Verschlüsselungsverfahren gewährleisten derzeit eine besonders hohe Sicherheit. Die Verschlüsselung kann insbesondere mittels eines AES-Verfahrens (Advanced Encryption Standard) erfolgen. Denkbar sind aber selbstverständlich auch andere symmetrische Verschlüsselungsverfahren wie beispielsweise DES (Data Encryption Standard), 3DES (Triple-DES), Blowfish, Twofish, IDEA (International Data Encryption Algorithm) oder CAST (benannt nach C. Adams und S. Tavares).
  • Eine blockweise Verschlüsselung kann beispielsweise dadurch realisiert werden, dass die Zeichenkette in eine bestimmte Anzahl von Blöcken bestimmter Länge eingeteilt wird und ab einem zweiten Block jeder Block mit einem aus dem vorhergehenden Block gewonnenen Chiffrat durch eine XOR-Verknüpfung verknüpft und ein Ergebnis dieser Verknüpfung mittels des Schlüssels verschlüsselt wird. In entsprechender Weise kann auch eine den ersten Block bildende Zeichenfolge zunächst mit einer Initialzeichenfolge durch eine XOR-Verknüpfung verknüpft werden, bevor ein Ergebnis dieser Verknüpfung verschlüsselt wird. Diese Initialzeichenfolge sollte fest voreingestellt sein, damit das Verfahren vom verwendeten Endgerät unabhängig bleibt. Bei der genannten XOR-Verknüpfung handelt es sich dabei um eine Verknüpfung durch ein ausschließliches Oder, was einer bitweisen Modulo-2-Addition entspricht. Die geschilderte Art einer blockweisen Verschlüsselung entspricht einem CBC-Modus (Cipher Block Chaining). Selbstverständlich sind auch andere Arten der blockweisen Verschlüsselung möglich, beispielsweise indem zunächst jeder Block mit dem Schlüssel verschlüsselt wird und durch diese Verschlüsselungen gewonnene Chiffrate erst anschließend verknüpft werden, beispielsweise wieder durch eine stellenweise Modulo-2-Addition der genannten Chiffrate. Solche und ähnliche Arten einer blockweisen Verschlüsselung bringen den Vorteil mit sich, das sich jede Änderung des Hauptpassworts oder einer zur Bildung der Zeichenkette verwendeten Eingabegröße auf jede Stelle des erzeugten Passworts auswirken kann. Denkbar wäre schließlich auch eine Verschlüsselung im CFB-Modus (Cipher-Feedback-Modus) oder im OFB-Modus (Output-Feedback-Modus).
  • Alternativ könnte schließlich auch eine andere Art der Verschlüsselung vorgesehen werden, bei der der Schlüssel zunächst in Form eines Key-Streams (mit einem Key-Stream-Generator) aus dem Hauptpasswort erzeugt wird, wonach die pseudozufällige Signalfolge durch Verschlüsselung der aus den Eingabegrößen gewonnenen Zeichenkette mittels dieses Key-Streams zu einer Stromchiffre erzeugt wird.
  • Eine typische Ausführung des Verfahrens sieht vor, dass das Passwort bzw. ein Passwortkandidat dadurch gebildet wird, dass die zur Bildung des Passworts verwendete Signalfolge in Blöcke definierter Länge eingeteilt und jeder einer durch eine Passwortlänge vorgegebenen Anzahl dieser Blöcke nach einem vorbestimmten Code einem Passwortzeichen zugeordnet wird. Damit ergibt sich eine technisch besonders einfach realisierbare Passworterzeugung. Dabei müssen bei einer gegebenen Passwortlänge von n Zeichen nicht notwendigerweise n aufeinanderfolgende Blöcke berücksichtigt werden. Vielmehr kann es sich bei der vorgegebenen Anzahl von Blöcken um eine Auswahl aus den nacheinander generierten Blöcken handeln, bei der einige Blöcke ausgelassen werden, beispielsweise dann, wenn sie eine Blockbelegung zeigen, die keinem Passwortzeichen zugeordnet ist. Unter Umständen können die genannten Blöcke der Signalfolge für verschiedene zu besetzende Stellen des Passworts auch unterschiedliche Länge haben, wenn Passwortregeln berücksichtigt werden sollen, nach denen an bestimmten Stellen des Passworts nur bestimmte Zeichen aus einer Teilmenge der insgesamt verfügbaren Zeichen stehen dürfen.
  • Es kann vorgesehen sein, dass das nach einer Eingabe des Hauptpassworts durch einen Nutzer in beschriebener Weise erzeugte Passwort automatisch zur Beantwortung einer Passwortanfrage der entsprechenden Anwendung eingegeben oder in einer Zwischenablage eines Endgerätes – aus Sicherheitsgründen vorzugsweise nur für eine begrenzte Zeit (nach der eine automatische Löschung erfolgen kann) – zwischengespeichert wird. Im letztgenannten Fall kann ein Übertrag in ein Abfragefeld manuell erfolgen, ohne dass das generierte Passwort Zeichen für Zeichen eingegeben werden muss. In jedem Fall wird dadurch ein besonders komfortabler Zugriff auf die Anwendungen ohne Sicherheitseinbußen möglich.
  • Für einen Passwortwechsel durch eine Änderung einer anwendungsspezifischen Versionsangabe kann es vorgesehen sein, dass das entsprechende alte Passwort für eine beschränkte Zeit in einer Zwischenablage gespeichert wird, bevor das neue Passwort generiert wird. Dann ist es denkbar, sowohl das alte Passwort als auch das neue Passwort zur Beantwortung der entsprechenden Passwortanfragen automatischen einzugeben oder (für einen manuellen Übertrag) in einer Zwischenablage zwischenzuspeichern, während nur das Hauptpasswort und die neue Versionsangabe durch den Nutzer manuell Zeichen für Zeichen einzugeben sind.
  • Es kann vorgesehen sein, dass die Eingabegrößen in einem als Datenbank dienenden Speicher eines vom Endgerät räumlich getrennten Servers gespeichert sind und von dort eingelesen werden, während das Verfahren selbst auf einem Endgerät durchgeführt wird. Dadurch wird es für den Nutzer möglich, dass Verfahren auf verschiedenen Endgeräten durchzuführen, ohne jedesmal die Eingabegrößen einzugeben. Sicherheitseinbußen sind damit nicht verbunden, weil man aufgrund des geheim gehaltenen Hauptpassworts und des damit nicht öffentlich zugänglichen Schlüssels nicht von dem Eingabegrößen allein auf die Passwörter oder auf das Hauptpasswort schließen kann. Besonders vorteilhaft ist wiederum eine Weiterentwicklung des Verfahrens mit auf einem Server gespeicherten Eingabegrößen, bei dem ein zum Einwählen in den Server erforderliches Serverpasswort im Endgerät automatisch aus dem Hauptpasswort generiert wird, vorzugsweise durch ein dem Verfahren zum Erzeugen der anwendungsspezifischen Passwörter entsprechendes Verfahren, bei dem die dem Serverpasswort zugeordneten Eingabegrößen festgelegt sein können. Damit benötigt ein Nutzer auch zum Herunterladen der zur Generierung der weiteren Passwörter erforderlichen Eingabegrößen nur sein einziges Hauptpasswort.
  • Typischerweise wird es sich bei den auf dem Server gespeicherten Eingabegrößen um eine Anwendungsidentität für jede registrierte Anwendung, um eine für jede Anwendung individuell festlegbare Benutzeridentität, um jeweils eine Versionsangabe für jede Anwendung und um eine oder mehrere Eingabegrößen zur Definition von Passwortregeln für jede Anwendung handeln. Es kann vorgesehen sein, dass die von dem Server heruntergeladenen Eingabegrößen in einem als lokale Profilablage dienenden Speicher des Endgeräts zwischengespeichert werden, um zur Generierung von Passwörtern auch bei einem anschließenden Offline-Betrieb zur Verfügung zu stehen.
  • Um eine möglichst große Unabhängigkeit vom jeweils verwendeten Endgerät zu erreichen, kann es vorgesehen sein, dass ein zur Durchführung des Verfahrens auf dem Endgerät benötigtes Programm von einem Server (dem schon genannten oder einem anderen Server) heruntergeladen wird. Denkbar ist es, das Programm dabei auf dem Endgerät zu installieren. Eine noch größere Unabhängigkeit läßt sich aber realisieren, wenn das Programm nur vorübergehend als – zur Erhöhung der Sicherheit vorzugsweise signiertes und dadurch auf Integrität überprüfbares – Applet (z.B. Java-Applet) auf dem Endgerät zur Verfügung gestellt wird, ohne dort installiert werden zu müssen.
  • Eine zur Durchführung eines Verfahrens beschriebener Art geeignete Vorrichtung lässt sich für den Fachmann problemlos beispielsweise durch eine entsprechende programmtechnische Einrichtung eines Rechners realisieren. Typischerweise umfasst eine entsprechende Vorrichtung zum automatischen Erzeugen einer Mehrzahl von anwendungsspezifischen Passwörtern aus nur einem Hauptpasswort
    • • Mittel zum Ausführen einer Schlüsselableitungsfunktion zur Bildung eines Schlüssels vorgegebene Länge aus einem eingegebenen Hauptpasswort,
    • • Konkatenationsmittel zur Bildung einer Zeichenkette aus jeweils eingelesenen oder eingegebenen Eingabegrößen,
    • • Verschlüsselungsmittel zur Bildung einer pseudozufälligen Signalfolge aus der von der Konkatenationseinheit gebildeten Zeichenkette mittels des von den Mitteln zum Ausführen der Schlüsselableitungsfunktion ausgegebenen Schlüssels,
    • • einen Signalfolgengenerator zur Erzeugung einer verlängerten, ebenfalls pseudozufälligen Signalfolge aus der von den Verschlüsselungsmitteln ausgegebenen erstgenannten Signalfolge und
    • • Mittel zum Ausführen einer Passwortableitungsfunktion zur zeichenweisen Bildung des anwendungsspezifischen Passworts aus der letztgenannten Signalfolge unter Berücksichtung der Passwortregeln.
  • Zusätzlich kann die Vorrichtung einen Speicher umfassen, der als lokale Profilablage für eingelesene oder eingegebene Eingabegrößen dient und aus dem die Eingabegrößen in die Konkationationsmittel und/oder in die Mittel zum Ausführen der Passwortableitungsfunktion einlesbar sind (Letzteres sollte für die Eingabegrößen gelten, durch welche die anwendungsspezifische Passwortregeln definiert werden).
  • Zusätzlich zu einem die genannten Merkmale umfassenden Endgerät (Client) kann die Vorrichtung einen von diesem Endgerät getrennten Server umfassen, welcher einen Speicher (eine Datenbank) umfasst, aus dem die Eingabegrößen auslesbar sind. Zusätzlich oder alternativ kann die Vorrichtung schließlich einen weiteren oder mehrere weitere mit dem Endgerät über ein Netz verbundene Rechner umfassen, auf welchen die Anwendungen verfügbar sind und welchen die automatisch generierten Passwörter über das Netz eingebbar sind.
  • Im Fall der Speicherung der Eingabegrößen auf einem Server kann das Endgerät ferner Mittel zum Ausführen einer Passwortbildungsfunktion zur Bildung eines Serverpassworts aus dem Hauptpasswort umfassen, wobei das Serverpasswort einer Zugriffskontrolleinheit des Servers eingebbar ist. Die Mittel zum Ausführen der genannten Passwortbildungsfunktion können dabei so gestaltet sein, dass das Serverpasswort in gleicher Weise aus dem Hauptpasswort erzeugt wird wie die übrigen Passwörter mit der Maßgabe, dass die entsprechenden Eingabegrößen festgelegt sind.
  • Schließlich kann die Vorrichtung auch Mittel zum Ausführen einer Einwegfunktion zur Berechnung einer optischen Markierung aus dem Hauptpasswort sowie Mittel zum Anzeigen dieser optischen Markierung umfassen, um eine weiter unten ausführlicher beschriebene Rückmeldung für den Nutzer zu ermöglichen, die es diesem gestattet, zu erkennen, ob er das richtige Hauptpasswort eingegeben hat. Bei den Mitteln zum Anzeigen der optischen Markierung kann es sich dabei beispielsweise um einen Bildschirm handeln, auf dem abhängig von einem Resultat der Einwegfunktion an einer bestimmten Stelle und/oder in einer bestimmten Farbe ein Symbol erscheint. Die übrigen bislang genannten Mittel können in einfacher Weise beispielsweise durch Hardware-Komponenten, die mit Programmen oder Programmteilen zusammenwirken, realisiert sein.
  • Schließlich kann es auch vorgesehen sein, dass die Vorrichtung einen Puffer zum Zwischenspeichern der durch die Verschlüsselung der Zeichenkette gewonnenen Signalfolge umfasst, aus der diese Signalfolge mehrfach in den Signalfolgengenerator einlesbar ist. Dadurch wird es in besonders einfacher Weise möglich, mittels des Signalfolgengenerators eine pseudozufällige Signalfolge beliebiger Länge aus der durch die Verschlüsselung gewonnenen ersten Signalfolge zu erzeugen.
  • Die hier vorgeschlagene Erfindung bezieht sich in einer besonders vorteilhaften, nachfolgend eingehender beschriebenen Ausgestaltung insbesondere auf ein Verfahren zur Erzeugung von Passwörtern für verschiedene Anwendungen, die ihrerseits von unterschiedlichen Providern angeboten werden können. Dieses Verfahren wird auf einem dem Benutzer zur Verfügung stehenden Endgerät ausgeführt. Bei diesem Verfahren werden ausgehend von einem durch einen Benutzer auswählbaren zentralen Geheimnis, dem sogenannten Hauptpasswort, die für die jeweiligen Anwendungen erforderlichen Passwörter eines Benutzers erzeugt. Dies hat für den Benutzer den Vorteil, dass sich dieser nur noch ein zentrales Geheimnis merken muss, um im Bedarfsfall unter Anwendung des der Erfindung zugrundeliegenden Verfahrens das gewünschte Passwort berechnen zu lassen. Ausgehend von einem solchen Passwort ist es jedoch in der Praxis weder möglich, auf das Hauptpasswort zurück zu schließen, noch ein Passwort für eine andere Anwendung zu berechnen, welches mit dem zugrunde liegenden Verfahren erzeugt wurde. Ohne Kenntnis des Hauptpassworts ist eine Generierung der anwendungsspezifischen Passwörter nicht möglich. Die Sicherheit des der Erfindung zugrunde liegenden Verfahrens basiert auf der Geheimhaltung des Hauptpassworts durch den Benutzer. Es werden weder das Hauptpasswort noch die anwendungsspezifischen Passwörter auf dem Endgerät des Benutzers persistent abgespeichert. Das Hauptpasswort wird auch darüber hinaus niemals von dem Endgerät über ein Kommunikationsnetz zu anderen technischen Systemen geschickt.
  • Für das auf dem Benutzerendgerät ausgeführte Verfahren besteht zusätzlich die Möglichkeit, sich mit der von einem Serverdienst angebotenen Datenbank zu verbinden, von welcher der Benutzer ein Profil als Liste der von ihm registrierten Anwendungen bzw. Zugänge und ebenfalls die Regeln für die Generierung der an wendungsspezifischen Passwörter herunterladen kann. Hierzu gehören beispielsweise die von einem Provider geforderten Typen von Passwortzeichen und Informationen über die Passwortlänge. Das Profil eines Benutzers kann entweder von dem Benutzer selbst oder von dem Provider der Datenbank angelegt oder verwaltet werden. Die Profildaten sind für die jeweiligen Benutzer mittels eines Login-Passwort-Mechanismus (Datenbank-Login und Datenbank-Passwort des Benutzers) zugangsbeschränkt, so dass unberechtigte Benutzer diese Daten weder auslesen noch verändern können. Zur Anmeldung für diesen Datenbankdienst wird ausgehend von dem Hauptpasswort ein Passwort in einer speziellen Weise berechnet, wodurch es dem Betreiber der Datenbank in der Praxis unmöglich ist, das Hauptpasswort zu berechnen.
  • Die Berechnung eines Passworts durch das in dieser Erfindung beschriebene Verfahren hängt von mehreren Eingabegrößen ab. Zu diesen Eingabegrößen gehören das Hauptpasswort, eine von dem Benutzer einführbare Identitätsbeschreibung für die jeweilige Anwendung, die Identität des Benutzers für die jeweilige Anwendung, die Passwortregeln für die jeweilige Anwendung und eine Versionsangabe für das anwendungsspezifische Passwort. Mit Ausnahme des Hauptpassworts können alle diese Eingabegrößen in der Datenbank gespeichert werden. Im Bedarfsfall können diese Werte zur Berechnung der anwendungsspezifischen Passwörter durch das in der Erfindung ausgeführte Verfahren nach erfolgreicher Datenbankanmeldung aus der Datenbank geladen werden. Selbst bei unautorisierter Nutzung der in der Datenbank gespeicherten Daten ist es durch die Geheimhaltung des Hauptpassworts nicht möglich, anwendungsspezifische Passwörter zu erzeugen. Bei nicht verfügbarer Datenbank ist es dem Benutzer ebenfalls möglich, die Werte von Hand für die Berechnung des anwendungsspezifischen Passworts einzugeben oder aus einer evtl. vorgesehenen lokalen Profilablage auszulesen.
  • Wenn ein Benutzer ein anwendungsspezifisches Passwort benötigt, führt dieser das der Erfindung zugrunde liegende Verfahren aus, indem er das Hauptpasswort eingibt und danach die weiteren Eingabegrößen aus der Datenbank lädt und die gewünschte Anwendung aus der Liste auswählt. Greift er nicht auf die Datenbank zu, dann muss er alle Eingabegrößen selbst eingeben, sofern sie nicht bereits in einer lokalen Profilablage zur Verfügung stehen. Nach dessen Berechnung stellt das hier beschriebene Verfahren das anwendungsspezifische Passwort der Benutzeroberfläche der jeweiligen Anwendung zur Verfügung, wie beispielsweise durch das automatisierte Ausfüllen von Formularfeldern oder das Kopieren und Einfügen aus einer temporär beschriebenen Zwischenablage.
  • Bestimmte Anwendungen verlangen von Benutzern, dass diese innerhalb bestimmter Zeiträume ihre anwendungsspezifischen Passwörter ändern, z.B. einmal im Monat. Das der Erfindung zugrunde liegende Verfahren unterstützt den Benutzer bei diesem Vorgang. Darüber hinaus erlaubt die Modifikation der Versionsangabe die Veränderung eines anwendungsspezifischen Passworts, ohne dass weitere Eingabegrößen verändert werden müssen. Selbst für den Fall der Veränderung des Hauptpassworts, welche eine Veränderung sämtlicher anwendungsspezifischer Passwörter nach sich zieht, unterstützt das Verfahren den Benutzer, indem schrittweise für alle in dem Profil enthaltenen Anwendungen die alten und neuen Passwörter berechnet werden und in effizienter Weise der Benutzungsschnittstelle der je weiligen Anwendung über eine Zwischenablage zur Verfügung gestellt werden.
  • Da das Hauptpasswort an keiner Stelle persistent gespeichert wird, besteht keine Möglichkeit für den Benutzer, die Korrektheit des eingegebenen Hauptpassworts zu überprüfen. Deshalb wurde in dem der Erfindung zugrunde liegenden Verfahren ein Rückkanal in Form einer optischen Markierung vorgesehen, bei welcher Farben, Positionen und an der Benutzerschnittstelle anzuzeigende Symbol in Abhängigkeit des Hauptpassworts berechnet werden, so dass der Benutzer erkennen kann, ob sich bei der Eingabe des Hauptpassworts Tippfehler eingeschlichen haben.
  • Der Pseudozufallsprozess, auf welchem die Generierung der anwendungsspezifischen Passwörter basiert, verwendet ein symmetrisches Blockverschlüsselungsverfahren. Das Hauptpasswort wird mittels einer Schlüsselableitungsfunktion zur Konvertierung von Passwörtern in kryptographische Schlüssel verarbeitet und das Resultat dieser Verarbeitung wird als Schlüssel bei der symmetrischen Verschlüsselung eingesetzt. Die Eingabegrößen Anwendungsidentität, die anwendungsspezifische Identität des Benutzers, und die Versionsangabe für das anwendungsspezifische Passwort werden blockweise als Klartext symmetrisch verschlüsselt. Das durch Anwendung dieses Pseudozufallsprozesses enthaltene Pseudozufallsmaterial wird gemäß der anzuwendenden Passwortregeln kodiert. Die Kodierungseinheit fordert ihrerseits sukzessive so lange neues Pseudozufallsmaterial an, bis die regelkonforme Passworterzeugung abgeschlossen ist. Die durch Anwendung des der Erfindung zugrunde liegenden Verfahrens generierten Passwörter erfüllen die Sicherheitsanforderungen an starke Passwörter. Diese Passwörter können immer dann erzeugt werden, wenn ein Benutzer das beschriebene Verfahren auf einem ihm zugänglichen Endgerät zur Verfügung steht und dieses anwenden kann.
  • Die Erfindung löst damit insbesondere in der zuletzt beschriebenen Ausführung die Aufgabe, Benutzern eine technische Einrichtung zur Verfügung zu stellen, mittels derer die Benutzer endgeräteunabhängig auf Basis eines einzigen Geheimnisses im Bedarfsfall starke anwendungsspezifische Passwörter erzeugen können, und somit jederzeit, von jedem Ort und von jedem Endgerät aus Zugriff auf alle ihre anwendungsspezifischen Passwörter haben, ohne dass diese an irgendeiner Stelle hinterlegt bzw. gespeichert werden müssen.
  • Ausführungsbeispiele der Erfindung werden nachfolgend anhand der 1 bis 9 beschrieben. Es zeigt
  • 1 eine schematische Darstellung einer erfindungsgemäßen Vorrichtung zum automatischen Erzeugen einer Mehrzahl von Passwörtern aus einem Hauptpasswort,
  • 2 eine schematische Darstellung einer entsprechenden Vorrichtung, die zusätzlich Mittel zum Ausführen einer Einwegfunktion zur Berechnung einer optischen Markierung aus dem Hauptpasswort sowie Mittel zum Anzeigen der optischen Markierung umfasst,
  • 3 eine entsprechende Darstellung einer erfindungsgemäßen Vorrichtung in einer anderen Ausführung der Erfindung, die neben einem Endgerät einen Server um fasst,
  • 4 in entsprechender Darstellung eine Weiterentwicklung der in 3 gezeigten Vorrichtung, die zusätzlich eine lokale Profilablage für Eingabegrößen aufweist,
  • 5 in entsprechender Darstellung das Endgerät der Vorrichtung aus 4 im Offline-Betrieb,
  • 6 eine grafische Darstellung einer Extraktion von zur Definition von Passwortzeichen verwendeten k-Blöcken aus einer zur Bildung des Passworts verwendeten Signalfolge,
  • 7 in tabellarischer Form eine exemplarische Kodierung der Passwortzeichen (Regeln: Unterscheidung Groß-/Kleinschreibung, Ziffern erlaubt/gefordert, Sonderzeichen erlaubt/gefordert),
  • 8 in entsprechender Darstellung eine andere Kodierung von Passwortzeichen (Regeln: Unterscheidung Groß-/Kleinschreibung, Ziffern erlaubt/gefordert, keine Sonderzeichen erlaubt) und
  • 9 wieder in tabellarischer Form eine weitere exemplarische Kodierung des Passwortzeichens (Regeln: keine Unterscheidung Groß-/Kleinschreibung, Ziffern erlaubt/gefordert, Sonderzeichen erlaubt/gefordert).
  • Die in 1 gezeigte, zur Ausführung eines erfindungsgemäßen Verfahrens geeignete Vorrichtung PF umfasst Mittel 1 zum Ausführen einer Schlüsselableitungsfunktion zur Bildung eines Schlüssels s vorgegebener Länge sl aus einem eingegebenen Hauptpasswort HPW, Konkatenationsmittel 2 zur Bildung einer Zeichenkette aus jeweils eingelesenen oder eingegebenen Eingabegrößen bid (anwendungsspezifische Benutzeridentität), aid (benutzerspezifische Anwendungsidentität) und v (anwendungsspezifische Versionsangabe), Verschlüsselungsmittel zur Bildung einer pseudozufälligen Signalfolge prandom' aus der von der Konkatenationseinheit 2 gebildeten Zeichenkette mittels des von den Mitteln 1 zum Ausführen der Schlüsselableitungsfunktion ausgegebenen Schlüssels s, einen Signalfolgengenerator 5 zur Erzeugung einer verlängerten, ebenfalls pseudozufälligen Signalfolge prandom aus der von dem Verschlüsselungsmitteln ausgegebenen erstgenannten Signalfolge prandom' und Mittel 6 zum Ausführen einer Passwortableitungsfunktion zur zeichenweisen Bildung des anwendungsspezifischen Passworts PW aus der letztgenannten Signalfolge prandom unter Berücksichtigung von Passwortregeln, die wiederum durch eine Eingabegröße r definiert sind.
  • Die Verschlüsselungsmittel umfassen bei den gezeigten Ausführungsbeispielen eine Reihe von XOR-Verknüpfungen 3 und Verschlüsselungseinheiten 4, wobei die letztgenannten Verschlüsselungseinheiten 4 jeweils einen Block der Länge bl mittels des Schlüssels s symmetrisch verschlüsseln, im vorliegenden Beispiel durch ein AES-Verfahren, wobei die Verschlüsselungseinheiten 4 durch die XOR-Verknüpfungen 3 im CBC-Modus verbunden sind für eine blockweise symmetrische Verschlüsselung der genannten Zeichenkette. Der Sig nalfolgengenerator 5 wiederum umfasst eine den Verschlüsselungseinheiten 4 entsprechende Verschlüsselungseinheit 7, die mit den Mitteln 6 zum Ausführen der Passwortfunktion, einem Zähler 8 und einer weiteren XOR-Verknüpfung 3 zusammenwirkt. Dabei verändern die Mittel 6 zum Ausführen der Passwortfunktion immer dann, wenn ein aktueller Teil prandomi der Signalfolge prandom aufgebraucht ist, einen vom Zähler 8 ausgegebenen Zählerwert i durch Erhöhen des Zählerwerts i um einen Schritt von 1, wonach eine binäre Darstellung des Zählerwerts i mittels der entsprechenden XOR-Verknüpfung 3 mit der Signalfolge prandom' verknüpft wird und ein Ergebnis dieser Verknüpfung wieder in die Verschlüsselungseinheit 7 eingegeben wird. Die Signalfolge prandom ergibt sich so durch Aneinanderhängen der Teile prandomi, wobei i jeweils um Schritte von 1 zunimmt (also prandom = prandom1 || prandom2 || ... || prandomi || ... mit "||" als Konkatenationsoperator). Insbesondere am Ende jedes Teils prandomi der Signalfolge prandom können dabei auch einzelne Bits unberücksichtigt bleiben, wenn prandomi nicht vollständig in zur Bildung von Passwortzeichen verwendete Blöcke aufgeteilt werden kann.
  • Aus einem dem Signalfolgengenerator 5 vorgeschalteten Puffer 9 zum Zwischenspeichern der durch Verschlüsselung der Zeichenkette gewonnenen Signalfolge prandom' kann diese Signalfolge prandom' beliebig oft in den Signalfolgengenerator 5 eingelesen werden.
  • Bei der in 2 gezeigten Ausführung der Erfindung ist die Vorrichtung PF aus 1 um Mittel 10 zum Ausführen einer Einwegfunktion zur Berechnung einer optischen Markierung OM aus dem Hauptpasswort HPW sowie um nicht ausdrücklich gezeigte Mittel zum Anzeigen dieser optischen Markierung OM ergänzt. Die Ein gabegrößen aid, bid, v und r werden hier durch einen Nutzer von Hand eingegeben.
  • 3 zeigt eine Weiterentwicklung der Erfindung, bei der ein Endgerät (Client) zusätzlich zu einer der in 1 gezeigten Vorrichtung entsprechenden Vorrichtung PF und den Mitteln 10 zum Erzeugen der optischen Markierung OM, Mittel PF' zum Ausführen einer Passwortbildungsfunktion zur Bildung einer Serverpassworts SPW aus dem Hauptpasswort HPW umfasst, wobei der Serverpasswort SPW einer Zugriffskontrolleinheit 12 eines Servers eingebbar ist. Dieser Server weist ferner einen als Datenbank für Benutzerprofile dienenden Speicher 11 auf, auf dem die Eingabegrößen bid, aid, v, r gespeichert sind und von wo aus sie in das Endgerät eingelesen werden können.
  • Bei der in 4 gezeigten Abwandlung der Vorrichtung aus 3 weist das Endgerät ferner einen Speicher 13 auf, der als lokale Profilablage für die Eingabegrößen bid, aid, v, r dient.
  • 5 schließlich zeigt das Endgerät aus 4 im Offline-Betrieb, bei dem die zuvor im Speicher 13 abgelegten Eingabegrößen bid, aid, v, r aus dem Speicher 13 in die Vorrichtung PF eingelesen werden können, so dass ein Nutzer auch hier nur das Hauptpasswort HPW eingeben muss, um das jeweilige anwendungsspezifische Passwort PW zu erzeugen.
  • Die in den 1 bis 5 gezeigten Vorrichtungen können auch mit einem oder mehreren Geräten (in den Figuren nicht gezeigt) verbunden sein, auf welchen die durch die anwendungsspezifischen Passwörter geschützten Anwendungen verfügbar sind und denen bei besonders vorteilhaften Ausführungen der Erfindung die nach Eingabe des Hauptpassworts HPW automatisch generierten Passwörter PW automatisch eingegeben werden können, ohne dass eine manuelle Eingabe dieser Passwörter erforderlich wäre. Alternativ können die Passwörter PW auch befristet in einer Zwischenablage zwischengespeichert werden und von dort manuell übertragen werden.
  • 6 zeigt, in welcher Weise die Signalfolge prandom bzw. deren Teil prandomi in Blöcke eingeteilt wird, die in Anwendung von Codes, wie sie beispielhaft in den 7 bis 9 gezeigt sind, in den Mitteln 6 zum Ausführen der Passwortableitungsfunktion einzelnen Passwortzeichen zugeordnet werden, wodurch ein Passwortkandidat generiert wird. Die Eingabegröße r schließlich definiert Passwortregeln. Erfüllt ein Passwortkandidat diese Passwortregeln nicht, so wird er verworfen und in gleicher Weise aus einer Fortsetzung der Zeichenfolge prandom ein neuer Passwortkandidat gebildet.
  • Nach dem in der 7 gezeigten Code werden jeweils 7 Bit große Blöcke aus prandomi extrahiert und einem Passwortzeichen zugeordnet. Nach den in den 8 und 9 gezeigten Codes gilt das Gleiche für 6 Bit große Blöcke.
  • Die beschriebenen Ausführungsbeispiele der Erfindung beinhalten ein Verfahren, bei welchem ein anwendungsspezifisches Passwort PW bei Bedarf in Abhängigkeit von einem Hauptpasswort HPW, einer anwendungsspezifischen Benutzeridentität bid, einer benutzerspezifischen Anwendungsidentität aid, einer Versionsangabe v und anwendungsspezifischen Passwortregeln (entsprechend der Eingabegröße r) berechnet wird. Die Berechnung eines anwendungsspezifischen Passworts wird schematisch in 1 dargestellt. Bei der Berechnung wird eine symmetrische Verschlüsselung angewendet, bei welcher die dem Verfahren übergebenen Eingabewerte unterschiedliche Rollen spielen. Als geeignetes Verfahren für die symmetrische Verschlüsselung sei das Verschlüsselungsverfahren AES genannt.
  • Aus dem Hauptpasswort HPW wird mittels einer geeigneten Schlüsselableitungsfunktion der kryptographische Schlüssel s mit Schlüssellänge sl berechnet. Bei AES gilt sl = 128 bit, sl = 192 bit oder sl = 256 bit. Als Beispiel für die Schlüsselableitungsfunktion sei hier mit dem in PKCS#5 vorgeschlagenen Verfahren PBKDF2 eine geeignete und als De Facto-Standard verfügbare Variante genannt. Die Verwendung einer solchen Schlüsselableitungsfunktion ist aus mehreren Gründen vorteilhaft: Erstens kann man damit sicherstellen, dass sich selbst bei Hauptpasswörtern unterschiedlicher Länge jedes einzelne Zeichen auf den Schlüssel auswirkt und somit bei der Verschlüsselung berücksichtigt wird. Insbesondere kann eine Veränderung eines einzelnen Zeichens des Hauptpassworts eine Veränderung jedes einzelnen Bits des Schlüssels s bewirken. Würde man ein Hauptpasswort HPW direkt als Schlüssel einsetzen, dann wären einzelne Bits des Schlüssels s mit deutlich größerer Wahrscheinlichkeit als 0.5 vorhersagbar. Zusätzlich werden in der Schlüsselableitungsfunktion zeitaufwändige Schritte vorgesehen, so dass das automatisierte Austesten unterschiedlicher Hauptpasswörter für einen potenziellen Angreifer größeren Aufwand erfordert.
  • Die anwendungsspezifische Benutzeridentität bid, die benutzerspezifische Anwendungsidentität aid und die Versionsangabe v stellen den an das Verschlüsselungsverfahren zu übergebenden Klartext dar. Bevor die Verschlüsselung vorgenommen wird, werden bid, aid und v zunächst konkateniert. Dabei können diese Werte entweder direkt zusammengefügt werden (z.B. bid || aid || v mit "||" als Konkatenationsoperator) oder es kann ein zusätzliches Trennzeichen T eingefügt werden (z.B. bid || T || aid || T || v). Für T kann man beispielsweise einen Tabulator verwenden. Nachdem diese Zeichen zu einer Zeichenkette konkateniert worden sind, wird die Zeichenkette wieder in Blöcke zerlegt, deren Länge der Blocklänge bl des Verschlüsselungsverfahrens entspricht. Bei AES gilt bl = 128 bit, bl = 192 bit oder bl = 256 bit, vorzugsweise bl = 128 bit. Beim letzten Block nach der Segmentierung werden Paddingbits eingesetzt, um eine Blocklänge bl zu erreichen. Danach werden die so erhaltenen Blöcke im CBC-Modus durch Anwendung des Schlüssels s verschlüsselt. Hierbei wird jeweils das Ergebnis einer bitweisen XOR-Verknüpfung des aktuellen Klartextblocks mit dem Chiffrat des vorangegangenen Blocks verschlüsselt. Der erste Klartextblock wird mit einem Initialisierungswert init bitweise XOR-verknüpft, wobei init nicht notwendigerweise geheimgehalten werden muss und für alle Nutzer fest eingestellt und identisch sein kann. Das Chiffrat, welches sich durch Verschlüsselung mit dem letzten Klartextblock ergibt, sei mit prandom' bezeichnet. Ausgehend von dem Wert prandom' wird in den nächsten Schritten so viel Pseudozufallsmaterial erzeugt, wie es zur Erzeugung eines anwendungsspezifischen Passworts PW erforderlich ist.
  • Um für die Generierung von PW genügend Pseudozufallsmaterial zu erzeugen, wird der Wert prandom' mit einem als Block mit Länge bl dargestellten Zählerwert i bitweise XOR-verknüpft, bevor das Ergebnis unter Anwendung des Verschlüsselungsverfahrens mit dem Schlüssel s verschlüsselt wird. Zu Beginn des Berech nungsvorgangs für ein anwendungsspezifisches Passwort PW wird jeweils i = 1 gesetzt. Das Ergebnis der Verschlüsselung bei Zählerwert i wird mit prandomi bezeichnet. Aus diesem Pseudozufallsmaterial prandomi wird unter Berücksichtigung der anwendungsspezifischen Passwortregeln (definiert durch die Eingabegröße r – in der vorliegenden Anmeldung wird der Begriff "Passwortregeln" immer im Plural verwendet, auch wenn damit unter Umständen nur eine einzige Passwortregel bezeichnet ist) schließlich PW gebildet. Sofern das Pseudozufallsmaterial zur Erzeugung von PW entweder ungeeignet ist oder noch nicht ausreicht, wird der Zähler um 1 hochgezählt und ein neuer Wert prandomi+1 berechnet.
  • Die Erzeugung eines anwendungsspezifischen Passworts PW aus dem vorliegenden Pseudozufallsmaterial und die Steuerung zur Generierung weiteren Pseudozufallsmaterials ist Aufgabe der Passwortableitungsfunktion PAF. Ein von PAF erzeugtes PW muss hierzu die durch r definierten Passwortregeln der jeweiligen Anwendung berücksichtigen. Hierzu zählen insbesondere die Anzahl A der zur Erzeugung von PW zur Verfügung stehenden Zeichen und die Anzahl L der Zeichen in dem zu erzeugenden Passwort PW. Der Wert. von A kann im konkreten Fall beispielsweise davon abhängen, ob bei der Anwendung Groß- und Kleinbuchstaben unterschieden werden, ob Ziffern erlaubt bzw. gefordert oder verboten sind, oder ob Sonderzeichen erlaubt bzw. gefordert oder verboten sind. Wie in Abbildung 7 exemplarisch gezeigt wird, ergibt sich bei Unterscheidung von Groß- und Kleinbuchstaben, erlaubten/geforderten Ziffern und erlaubten/geforderten Sonderzeichen (im vorliegenden Beispiel aus einem Vorrat von 10 Sonderzeichen) ein Wert von A = 72. Im Fall einer Unterscheidung von Groß- und Kleinbuchstaben, erlaubten/geforderten Ziffern und verbotenen Sonderzeichen ergibt sich ein Wert von A = 62, wie in 8 dargestellt ist. Wird bei Passwörtern hingegen nicht zwischen Groß- und Kleinbuchstaben unterschieden, sind Ziffern erlaubt/gefordert und sind auch Sonderzeichen (aus einem Vorrat von 10 Sonderzeichen) erlaubt/gefordert, dann ergibt sich ein Wert A = 46, wie in 9 gezeigt ist. Zur Erzeugung eines einzelnen Passwortzeichens zj extrahiert die Passwortableitungsfunktion einen k-Block aus dem Pseudozufallsmaterial prandomi. Ein solcher k-Block besteht aus k Bits. Der Wert von k hängt von dem Umfang A des zur Verfügung stehenden Zeichenvorrats ab; es gilt, dass k der auf log2A folgenden ganzen Zahl entspricht. Jedem Zeichen des für ein anwendungsspezifisches Passwort zur Verfügung stehenden Zeichenvorrats wird, wie in den 7, 8 und 9 gezeigt wird, genau eine k-Blockbelegung zugeordnet. Auf Basis der vorliegenden pseudozufälligen k-Blöcke und einer geeigneten Zuordnung von k-Blöcken zum Zeichenvorrat wird schließlich die Kodierung einzelner Passwortzeichen vorgenommen. Einigen kombinatorisch möglichen Wertebelegungen von k-Blöcken ist jedoch kein Zeichen zugeordnet, was immer dann auftritt, wenn das zum jeweiligen Zeichenvorrat gehörende A ungleich einer Zweierpotenz ist.
  • Aus Sicherheitsgründen ist es wichtig, dass alle von dem Verfahren generierbaren Passwortkandidaten gegebener Länge L, welche ihrerseits den durch r definierten Passwortregeln genügen, für zufällig gewählte Hauptpasswörter mit gleicher Wahrscheinlichkeit auftreten. Eine für das vorschlagene Verfahren günstige Vorgehensweise besteht darin, dass die Passwortableitungsfunktion für ein zu bildendes Passwortzeichen zj einen bisher weder verwendeten noch verworfenen k-Block aus dem vorliegenden Pseudozufallsmaterial ex trahiert und gemäß der vorliegenden Zuordnung eine entsprechende Kodierung vornimmt. Enthält ein extrahierter k-Block ein binäres Muster, für welches keine Zuordnung zu einem Element des Zeichenvorrats vorliegt, dann wird dieser k-Block verworfen und ein neuer k-Block extrahiert. Dies wird so lange wiederholt, bis der extrahierte k-Block eine binäre Belegung enthält, für welche eine Zuordnung zu einem Element des gegebenen Zeichenvorrats definiert ist. Sind alle k-Blöcke aus prandomi extrahiert, dann initiiert die Passwortableitungsfunktion eine Inkrementierung des Zählers und die Erzeugung von neuem Pseudozufallsmaterial prandomi+1, von dem dann neue k-Blöcke zur Kodierung von Passwortzeichen extrahiert werden können. Dieser Vorgang wird für alle Passwortzeichen zj für j = 1, ..., L durchgeführt.
  • Selbst wenn in der im Vorangegangenen beschriebenen Weise eine Zeichenkombination z1 || ... || zL über einem durch r beschriebenen Zeichenvorrat erzeugt werden kann, ist nicht garantiert, dass die erzeugte Kombination z1 || ... || zL tatsächlich sämtlichen Anforderungen genügt, wie diese in r enthalten sind. Mit dem bisher beschriebenen Vorgehen lässt sich beispielsweise noch nicht garantieren, dass Vertreter bestimmter geforderter Zeichenklassen (z.B. Sonderzeichen) in der Zeichenkette enthalten sind. Um diese Forderung zusätzlich erfüllen zu können, ist die folgende Vorgehensweise von Vorteil. Nachdem die Zeichenkette z1 || ... || zL erzeugt wurde, wird sie hinsichtlich der Erfüllung der in r gestellten Anforderungen getestet. Fällt der Test positiv aus, wird die berechnete Zeichenkette z1 || ... || zL als anwendungsspezifisches Passwort PW verwendet. Ist das Ergebnis des Tests hingegen negativ, dann wird die berechnete Zeichenkette gelöscht und vollständig neu berechnet, indem nach oben beschriebenem Verfahren neue k-Blöcke extrahiert werden und die entsprechende Kodierung vorgenommen wird. Der gesamte Vorgang wird so lange wiederholt, bis der Test zu einem positiven Ergebnis führt.
  • Bei speziellen anwendungsspezifischen Passwortregeln kann es erforderlich sein, dass an bestimmten Positionen im Passwort PW ein Vertreter eines bestimmten Zeichentyps auftritt, z.B. das erste Zeichen eines anwendungsspezifischen Passworts muss ein Buchstabe sein. Um auch in diesem Fall eine Gleichverteilung von Passwörtern erreichen zu können, ist es vorteilhaft, positionsbezogen mit unterschiedlichen Zeichenvorräten zu arbeiten. Je nach Umfang des Zeichenvorrats kann es hierbei günstig sein, zur Berechnung einzelner Passwortzeichen mit unterschiedlichen Werten für k zu arbeiten. In dem Beispiel, in welchem in einem Passwort zwischen Groß- und Kleinbuchstaben nicht unterschieden wird, Ziffern erlaubt und Sonderzeichen gefordert sind und das erste Zeichen ein Buchstabe sein muss, ergeben sich bei einem angenommenen Vorrat von 10 Sonderzeichen für die Zuordnung bei der ersten Position ein Wert k = 5 und für die Zuordnung bei den restlichen Positionen ein Wert k = 6.
  • Das im Vorangegangenen beschriebene Verfahren soll in der Praxis auf einem Endgerät ausgeführt werden, zu welchem der Benutzer Zugang hat. Hierbei kann es sich sowohl um einen Computer des Benutzers handeln als auch um dessen mobiles Endgerät oder auch um einen fremden Computer, wie beispielsweise einen Computer in einem Internet-Cafe. Hierzu sollte das Berechnungsverfahren entweder in Form eines installierten Computerprogramms auf dem Endgerät verfügbar sein oder es sollte bei Bedarf über ein Kommunikationsnetz geladen und ausgeführt werden, beispielsweise in Form eines signierten Applets, welches über das Internet geladen und innerhalb eines Web-Browsers ausgeführt wird.
  • Zur besseren Benutzbarkeit des Verfahrens ist es vorteilhaft, das Verfahren auf einem Client auszuführen und diesem die für die Berechnung von anwendungsspezifischen Passwörtern erforderlichen Eingabewerte bid, aid, v und r über einen Serverdienst zur Verfügung zu stellen. Dies wird in der 3 gezeigt. Hierzu muss der Benutzer diese Eingabewerte zunächst einmal dem Server zur Verfügung stellen, wo diese Werte in einer Datenbank abgespeichert werden. Aus Sicht eines Benutzers kann die Datenbank das komplette Benutzerprofil enthalten, welches die Eingabewerte für alle Anwendungen umfasst, bei welchen der Benutzer ein Zugangskonto hat. Auf dem Server ist für den Benutzer ein eigenes Benutzerkonto mit zugehöriger Benutzeridentität SBID angelegt, unter welchem der Benutzer auf sein eigenes Benutzerprofil zugreifen kann. Zur Sicherung des Benutzerprofils auf dem Server gegen unerwünschte Zugriffe anderer wird von dem Client ein serverspezifisches Passwort SPW des Benutzers zum Server übertragen. Damit sich der Benutzer das serverspezifische Passwort SPW nicht zusätzlich zum Hauptpasswort HPW merken muss und auch neben dem Hauptpasswort HPW kein zusätzliches Passwort eingeben muss, wird das serverspezifische Passwort SPW in dem vom Client ausgeführten Verfahren aus dem Hauptpasswort HPW mittels einer Passwortfunktion PF' berechnet. Die Passwortfunktion PF' hat hierbei die Eigenschaft, dass der Server aus dem serverspezifische Passwort SPW nicht auf das Hauptpasswort HPW zurückschließen kann. Als Passwortfunktion PF' kann beispielsweise eine Variante des Verfahrens verwendet werden, welches im Vorangegangenen vorgestellt und in 1 skizziert wurde. Die Variante unterscheidet sich von dem Verfahren in 1 dadurch, dass die Eingabewerte bid', aid', v' und r' für alle Benutzer gleich und konstant gewählt sind. Deshalb ist es vorteilhaft, die Eingabewerte bid', aid', v' und r' in die Ausführung von PF' fest einzukodieren.
  • Die Verwendung des Serverdienstes bringt für einen Benutzer bestimmte Vorzüge in der Bedienung. Er ist damit in der Lage, sich von jedem Endgerät mit Netzzugang mit dem Server zu verbinden, seine Profildaten zu laden und sein anwendungsspezifisches Passwort bei Bedarf zu berechnen und somit verfügbar zu haben. Diese Profildaten enthalten die Eingabewerte bid, aid, v und r für alle Anwendungen, für welche ein Benutzer auf Basis des hier vorgeschlagenen Verfahrens Passwörter generieren muss. Zur Berechnung eines einzelnen anwendungsspezifischen Passworts wählt ein Benutzer aus der in seinem Profil enthaltenen Liste von Anwendungen die jeweilige Anwendung aus, so dass die entsprechenden Eingabewerte bid, aid, v und r zur Berechnung an die Passwortfunktion (also an die Mittel 6 zum Ausführen der Passwortfunktion) übergeben werden können.
  • Bei dem mit dieser Erfindung vorgeschlagenen Verfahren ist es von Vorteil, wenn ein Benutzer nach erfolgreicher Anmeldung bei dem Server sein Profil auf der Datenbank von dem auf dem verwendeten Endgerät ausgeführten Client aus verwalten kann. Hierzu kann der Benutzer die Liste der Anwendungen verändern, wie beispielsweise neue Anwendungen in der Liste anlegen, d.h. für die Anwendung neue Werte bid, aid, v und r eingeben und diese auf der Datenbank abspeichern, o der auch bereits eintragene Anwendungen in der Liste modifizieren oder aus der Liste löschen.
  • Zur Erhöhung der Verfügbarkeit der serverseitig gespeicherten Profildaten kann es vorteilhaft sein, die Profildaten auf mehreren Servern abzulegen, deren gespeicherte Profildaten vom Betreiber des Serverdienstes automatisch gespiegelt (d.h. synchronisiert) werden. Der Client besitzt in dieser Ausgestaltung des Verfahrens eine Liste aller existierender Server-Adressen, die Profildaten gespeichert haben. Bei der Anwendung des der Erfindung zugrunde liegenden Verfahrens versucht der Client, sich zunächst mit einem auf der Liste befindlichen Server zu verbinden. Antwortet dieser Server nicht innerhalb eines bestimmten Zeitraums, kontaktiert der Client sukzessive jeweils einen weiteren auf der Liste befindlichen Server. In einer vorteilhaften Ausgestaltung des Verfahrens enthält der Client bereits die Liste der existierenden Server-Adressen. Die Reihenfolge, in welcher der Client die Server anspricht, kann sich entweder aus einer sequentiellen Abarbeitung der Liste ergeben, oder sie kann auch von dem Ergebnis eines Zufallsprozesses bestimmt werden.
  • In bestimmten Fällen ist es einem Benutzer hilfreich, wenn er seine Profildaten nicht notwendigerweise von dem Server laden muss und sie statt dessen in anderer Weise zur Verarbeitung durch die Passwortfunktion (die Vorrichtung PF) eingelesen werden können. Dies ist beispielsweise der Fall, wenn der Server nicht verfügbar ist oder wenn das Passwort für eine lokale Anwendung benötigt wird und kein Zugang zu einem Kommunikationsnetz verfügbar ist. Deshalb ist es für den Benutzer von Vorteil, das Verfahren derart umzusetzen, dass entweder der Server zur Eingabe der Werte bid, aid, v und r verwendet werden kann (siehe 3), oder diese auch ohne Verwendung eines Serverdienstes in einem Offline-Betrieb eingegeben werden können (siehe 2 und 5). Für den Offline-Betrieb kann man zwei Varianten unterscheiden. In der ersten Variante gibt der Benutzer die neben einem Hauptpasswort zur Erzeugung eines anwendungsspezifischen Passworts erforderlichen Werte bid, aid, v und r selbständig ein. Dies wird in 2 gezeigt. In der zweiten Variante liest der Benutzer die Werte bid, aid, v und r aus einer lokalen Profilablage ein wie in 5. Hierbei kann es sich beispielsweise um eine Datei handeln, welche das Benutzerprofil enthält und auf dem Endgerät des Benutzers abgespeichert ist. Die lokale Profilablage kann vom Benutzer angelegt werden, indem er sein Benutzerprofil aus der Datenbank des Servers auf sein Endgerät überträgt und dies in der lokalen Profilablage, z.B. einer Datei, abspeichert, wie in 4 gezeigt wird.
  • Zur Rückmeldung für den Benutzer, dass er das Hauptpasswort HPW korrekt eingegeben hat, ist es in dem vorgeschlagenen Verfahren vorteilhaft, einen optischen Rückkanal zur Verfügung zu stellen. Bei diesem wird der Wert des eingegebenen Hauptpassworts HPW auf eine spezielle optische Markierung OM abgebildet. Die Berechnung und Ausgabe der optischen Markierung wird insbesondere in den 2 und 5 gezeigt. Die optische Markierung OM wird dem Benutzer an der Bedienungsschnittstelle angezeigt. Unterläuft dem Benutzer bei der Eingabe des Hauptpassworts HPW ein Fehler, so ist es sehr wahrscheinlich, dass sich die ihm angezeigte optische Markierung OM von der ihm vertrauten und zum korrekten Hauptpasswort HPW gehörenden optischen Markierung unterscheidet. Die Abbildung des Hauptpassworts HPW auf die optische Markierung OM kann in der vorliegenden Erfindung mittels einer Einwegfunktion umgesetzt werden. Es kann beispielsweise vorteilhaft sein, das eingegebene Hauptpasswort HPW an eine Hashfunktion zu übergeben und deren Ergebnis auf eine Menge von für den Benutzer unterscheidbaren optischen Markierungen abzubilden. Hierbei ist in der Regel davon auszugehen, dass die Menge der unterscheidbaren optischen Markierungen deutlich kleiner ist als die Menge der Ergebnisse der Hashfunktion. Deshalb können verschiedene Hashwerte auf die gleiche optische Markierung OM abgebildet werden. In der auszuführenden Erfindung ist es wichtig, dass die Hashfunktion erst angewendet und die optische Markierung OM angezeigt wird, wenn die Eingabe des Hauptpassworts HPW abgeschlossen ist. Bei der optischen Markierung kann es sich beispielsweise um ein spezielles Symbol handeln, welches in einer bestimmten Farbe vor einer bestimmten Hintergrundfarbe an einer bestimmten Position angezeigt wird, wobei eine feste Menge von Symbolen, Symbolfarben, Hintergrundfarben und Positionen zur Verfügung stehen. Es ist darüberhinaus von Vorteil, wenn dem Benutzer die zu seinem Hauptpasswort HPW gehörende optische Markierung OM permanent angezeigt wird, nachdem dieser sein Hauptpasswort HPW vollständig eingegeben hat. Dadurch wird der Benutzer unterstützt, sich die zu seinem Hauptpasswort HPW gehörende optische Markierung OM einzuprägen.
  • Durch die für eine Anwendung gegebenen Passwortregeln wird eine Menge M induziert, die alle Passwörter enthält, welche von der Anwendung akzeptiert werden. In der Praxis unterscheiden sich die Mengen M für unterschiedliche Anwendungen sehr stark. Daher ist es in der hier vorgestellten Erfindung von Vorteil, die für die Passwortgenerierung verwendeten Passwortregeln r nicht notwendigerweise derart zu formulieren, dass sämtliche Elemente der Menge M für jede Anwendung erreicht werden können. Es soll lediglich sichergestellt werden, dass genügend Elemente der Menge M für jede Anwendung als anwendungsspezifische Passwörter generierbar sind. Dadurch kann das Verfahren bei nur sehr geringem Interaktionsaufwand des Benutzers, d.h. durch die Konfiguration nur sehr weniger Regeln (z.B. beim Anlegen eines Profileintrags oder bei der Regeleingabe im Offline-Betrieb), die Passwortanforderungen einer großen Anzahl von Anwendungen erfüllen. In einer vorteilhaften Ausführung des vorgeschlagenen Verfahrens wird eine Standardeinstellung der Passwortregeln gewählt, bei welcher Passwörter mit 16 Passwortzeichen erzeugt werden, wobei die Passwörter sowohl Groß- und Kleinbuchstaben, Ziffern und Sonderzeichen garantiert enthalten. In dieser vorteilhaften Ausführung werden folgende von der Standardeinstellung abweichende Konfigurationsoptionen angeboten, welche ihrerseits in den anwendungsspezifischen Passwortregeln r erfasst werden:
    • • keine Unterscheidung zwischen Groß- und Kleinbuchstaben (d.h. das zu erzeugende Passwort enthält keine Großbuchstaben)
    • • Passwortlänge (d.h. es kann eine vom Standardwert abweichende Passwortlänge gewählt werden)
    • • keine Sonderzeichen (d.h. das zu erzeugende Passwort enthält keine Sonderzeichen)
    • • erstes Passwortzeichen soll Buchstabe sein (d.h. an der ersten Position im Passwort steht weder Sonderzeichen noch Ziffer)
  • In einer beispielhaften Form der praktischen Ausführung startet der Benutzer zur Erzeugung eines anwendungsspezifischen Passworts ein Computerprogramm, welches das hier beschriebene Verfahren ausführt.
  • Entscheidet sich der Benutzer für eine Verwendung des Serverdienstes, dann gibt er in den dafür vorgesehenen Feldern des Clients seine serverspezifische Benutzeridentität SBID und das Hauptpasswort HPW ein und initiiert die Übertragung von SBID und SPW an den Server. Bei korrektem Serverpasswort SPW wird das Profil an den Client übertragen. An der Bedienungsschnittstelle des Clients werden dem Benutzer nun sämtliche Anwendungen präsentiert. Nach Auswahl einer Anwendung (z.B. durch Anklicken einer Anwendung in der Auswahlliste) wird das anwendungsspezifische Passwort berechnet und in die Zwischenablage des Computers kopiert, damit der Benutzer das Passwort bequem in die Anwendung übertragen kann. Nach einer kurzen Zeit (z.B. 60 Sekunden) wird die Zwischenablage des Computers wieder gelöscht. Wenn der Benutzer sich bei dem Server angemeldet hat, kann er die Einträge in seinem Profil bei Bedarf ändern. Verlangt eine Anwendung beispielsweise, dass das anwendungsspezifische Passwort innerhalb bestimmter Zeiträume verändert werden muss, so wird dies über eine Modifikation der Versionsangabe v vorgenommen. Die Versionsangabe kann beispielsweise ganzzahlige Werte beinhalten oder auch Werte, die sich aus Monats- und Jahresangabe zusammen setzen, z.B. "Januar 2006". Entscheidet sich der Benutzer, sein Hauptpasswort zu ändern, so ist er gezwungen, bei allen Anwendungen das anwendungsspezifische Passwort zu ändern. In einer vorteilhaften Ausführung des hier beschriebenen Verfahrens wird es dem Benutzer ermöglicht, durch korrekte Eingabe des alten Hauptpassworts und zweimalige korrekte Angabe des neuen Hauptpassworts dem Server das neue Serverpasswort mitzuteilen und dies zu aktivieren. Danach bereitet das Verfahren die alten und neuen anwendungsspezifischen Passwörter für alle in der Liste enthaltenen Anwendungen auf und stellt sie dem Benutzer zur bequemen Übertragung in die jeweilige Anwendung über die Zwischenablage nacheinander bereit.
  • Entscheidet sich der Benutzer für den in 2 gezeigten Offline-Betrieb, so muss er dem Programm sein Hauptpasswort übergeben, wie auch die anwendungsspezifische Benutzeridentität bid, die benutzerspezifische Anwendungsidentität aid und die Versionsangabe v von Hand eingeben. Soll das anwendungsspezifische Passwort Anforderungen genügen, welche mit der Voreinstellung nicht erfüllt werden können, dann muss der Benutzer ebenfalls die Passwortregeln r von Hand modifizieren. Wenn alle Werte eingegeben sind, kann die Berechnung des anwendungsspezifische Passworts vom Benutzer gestartet werden. Nach der Berechnung wird das anwendungsspezifische Passwort für eine kurze Zeit in der Zwischenablage des Computers abgelegt, so dass es vom Benutzer bequem in die jeweilige Anwendung übertragen werden kann. Nach Ablauf einer fest einstellbaren Zeit wird das anwendungsspezifische Passwort wieder aus der Zwischenablage des Computers gelöscht.

Claims (25)

  1. Verfahren zum automatischen Erzeugen einer Mehrzahl von anwendungsspezifischen Passwörtern (PW) aus nur einem Hauptpasswort (HPW) und einer Mehrzahl anwendungsspezifischer Eingabegrößen, bei dem zum Generieren eines der Passwörter (PW), welches einer bestimmten Anwendung zugeordnet ist, jeweils aus mindestens einer der Eingabegrößen, die derselben Anwendung zugeordnet ist, eine Zeichenkette gebildet wird, wonach diese Zeichenkette mittels eines aus dem Hauptpasswort (HPW) gebildeten Schlüssels (s) verschlüsselt wird und eine durch dieses Verschlüsseln gewonnene pseudozufällige Signalfolge (prandom') zur Bildung des Passwortes (PW) verwendet wird unter Berücksichtigung mindestens einer weiteren der dieser Anwendung zugeordneten Eingabegrößen, durch welche anwendungsspezifische Passwortregeln definiert werden.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Zeichenkette aus mindestens zwei Eingabegrößen, die der entsprechenden Anwendung zugeordnet sind, gebildet wird, vorzugsweise durch Verketten.
  3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass es sich bei den zur Bildung der Zeichenkette verwendeten Eingabegrößen um eine benutzerspezifische Anwendungsidentität (aid), eine anwendungsspezifische Benutzeridentität (bid) und eine anwendungsspezifische Versionsangabe (v) handelt oder um eine Auswahl aus den genannten Eingabegrößen.
  4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass die Zeichenkette symmetrisch und/oder blockweise verschlüsselt wird.
  5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass die Zeichenkette in eine bestimmte Anzahl von Blöcken bestimmter Länge (bl) eingeteilt wird, wobei ein Klartext und/oder Chiffrat jedes der Blöcke jeweils mit dem Klartext oder Chiffrat eines anderen Blocks bitweise XOR-verknüpft wird.
  6. Verfahren nach einem der Ansprüch 4 oder 5, dadurch gekennzeichnet, dass die Zeichenkette in eine bestimmte Anzahl von Blöcken bestimmter Länge (bl) eingeteilt wird und ab einem zweiten Block jeder Block mit einem aus dem vorhergehenden Block gewonnenen Chiffrat durch eine bitweise XOR-Verknüpfung (3) verknüpft und ein Ergebnis dieser Verknüpfung mittels des Schlüssels (s) verschlüsselt wird.
  7. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass der Schlüssel (s) mittels einer Schlüsselableitungsfunktion gebildet wird, durch welche jede Stelle des Schlüssels (s), der eine von einer Länge des Hauptpassworts (HPW) unabhängige Länge (sl) hat, von jedem Zeichen des Hauptpassworts (HPW) abhängig ist.
  8. Verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass die durch das Verschlüsseln gewonnene Signalfolge (prandom') zu einer ebenfalls pseudozufälligen weiteren Signalfolge (prandom) mehrfacher Länge verlängert wird und die letztgenannte verlängerte Signalfolge (prandom) zur Bildung des Passworts (PW) verwendet wird.
  9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass die durch das Verschlüsseln gewonnene Signalfolge (prandom') verlängert wird durch Durchlaufen einer Schleife, bei der die erstgenannte Signalfolge (prandom') jeweils mit einem Zählerwert (i) verknüpft wird und ein Ergebnis dieser Verknüpfung wiederum mittels des Schlüssels (s) verschlüsselt wird, wobei der Zählerwert (i) bei jedem Schleifenzyklus einmal verändert wird.
  10. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass die durch das Verschlüsseln gewonnene Signalfolge (prandom') verlängert wird durch Durchlaufen einer Schleife, bei der jeweils ein bei jedem Schleifenzyklus einmal veränderter Zählerwert (i) zunächst mittels des Schlüssels (s) verschlüsselt wird und ein dadurch bei jedem Schleifenzyklus gewonnenes Chiffrat mit der erstgenannten Signalfolge (prandom') verknüpft wird.
  11. Verfahren nach einem der Ansprüche 1 bis 10, dadurch gekennzeichnet, dass die zur Bildung des Passworts (PW) verwendete Signalfolge (prandom) in Blöcke definierter Länge (k) eingeteilt wird und jeder einer von einer Passwortlänge abhängigen Anzahl von Blöcken nach einem vorbestimmten Code einem Passwortzeichen zugeordnet wird.
  12. Verfahren nach einem der Ansprüche 1 bis 11, dadurch gekennzeichnet, dass die mindestens eine anwendungsspezifische Passwortregeln definierende Eingabegröße (r) dadurch berücksichtigt wird, dass ein in beschriebener Weise gebildetes Passwort (PW) als Kandidat genau dann verworfen und durch einen entsprechend gebildeten weiteren Kandidaten ersetzt wird, wenn es nicht mit den Passwortregeln vereinbar ist.
  13. Verfahren nach einem der Ansprüche 1 bis 12, dadurch gekennzeichnet, dass das nach der Eingabe des Hauptpassworts (HPW) durch einen Nutzer in beschriebener Weise erzeugte Passwort (PW) automatisch zur Beantwortung einer Passwortanfrage der entsprechenden Anwendung eingegeben wird oder in einer Zwischenablage eines Endgerätes zwischengespeichert wird.
  14. Verfahren nach einem der Ansprüche 1 bis 13, dadurch gekennzeichnet, dass es auf einem Endgerät durchgeführt wird, wobei die Eingabegrößen in einem Speicher (11) eines vom Endgerät unterschiedenen Servers gespeichert sind und von dort eingelesen werden.
  15. Verfahren nach Anspruch 14, dadurch gekennzeichnet, dass ein zum Einwählen in den Server erforderliches Serverpasswort (SPW) im Endgerät automatisch aus dem Hauptpasswort (HPW) generiert wird, vorzugsweise durch ein dem Verfahren zum Erzeugen der anwendungsspezifischen Passwörter (PW) entsprechendes Verfahren, bei dem die dem Serverpasswort (SPW) zugeordneten Eingabegrößen (aid', bid', v', r') festgelegt sind.
  16. Verfahren nach einem der Ansprüche 14 oder 15, dadurch gekennzeichnet, dass die Eingabegrößen in einem Speicher (13) des Endgeräts zwischengespeichert werden.
  17. Verfahren nach einem der Ansprüche 1 bis 16, dadurch gekennzeichnet, dass ein zur Durchführung des Verfahrens auf einem Endgerät benötigtes Programm von einem Server heruntergeladen und auf dem Endgerät installiert oder als signiertes Applet nur vorübergehend auf dem Endgerät zur Verfügung steht.
  18. Programmtechnisch zur Durchführung eines Verfahrens nach einem der Ansprüche 1 bis 17 eingerichtete Vorrichtung.
  19. Vorrichtung nach Anspruch 18, umfassend Mittel (1) zum Ausführen einer Schlüsselableitungsfunktion zur Bildung eines Schlüssels (s) vorgegebener Länge (sl) aus einem eingegebenen Hauptpasswort (HPW), Konkatenationsmittel (2) zur Bildung einer Zeichenkette aus jeweils eingelesenen oder eingegebenen Eingabegrößen, Verschlüsselungsmittel zur Bildung einer pseudozufälligen Signalfolge (prandom') aus der von den Konkatenationsmitteln (2) gebildeten Zeichenkette mittels des von den Mitteln (1) zum Ausführen der Schlüsselableitungsfunktion ausgegebenen Schlüssels (s), einen Signalfolgengenerator (5) zur Erzeugung einer verlängerten, ebenfalls pseudozufälligen Signalfolge (prandom) aus der von den Verschlüsselungsmitteln ausgegebenen erstgenannten Signalfolge (prandom') und Mitteln (6) zum Ausführen einer Passwortableitungsfunktion zur zeichenweisen Bildung des anwendungsspezifischen Passworts (PW) aus der letztgenannten Signalfol ge (prandom) unter Berücksichtigung der Passwortregeln.
  20. Vorrichtung nach Anspruch 19, umfassend einen Speicher (13), der als lokale Profilablage für eingelesene oder eingegebene Eingabegrößen dient und aus dem die Eingabegrößen in die Konkatenationsmittel (2) und/oder in die Mittel (6) zum Ausführen der Passwortableitungsfunktion einlesbar sind.
  21. Vorrichtung nach einem der Ansprüche 19 oder 20, dadurch gekennzeichnet, dass sie zusätzlich zu einem die genannten Merkmale umfassenden Endgerät einen von diesem Endgerät getrennten Server umfasst, welcher einen Speicher (11) aufweist, aus dem die Eingabegrößen auslesbar sind.
  22. Vorrichtung nach Anspruch 21, dadurch gekennzeichnet, dass das Endgerät ferner Mittel (PF') zum Ausführen einer Passwortbildungsfunktion zur Bildung eines Serverpassworts (SPW) aus dem Hauptpasswort (HPW) umfasst, wobei das Serverpasswort (SPW) einer Zugriffskontrolleinheit (12) des Servers eingebbar ist.
  23. Vorrichtung nach einem der Ansprüche 18 bis 22, zusätzlich umfassend Mittel (10) zum Ausführen einer Einwegfunktion zur Berechnung einer optischen Markierung (OM) aus dem Hauptpasswort (HPW) sowie Mittel zum Anzeigen der optischen Markierung (OM).
  24. Vorrichtung nach einem der Ansprüche 19 bis 23, umfassend einen Puffer (9) zum Zwischenspeichern der durch Verschlüsselung der Zeichenkette gewonnenen Signalfolge (prandom'), aus der diese Signalfolge (prandom') mehrfach in den Signalfolgengenerator (5) einlesbar ist.
  25. Verwendung einer Vorrichtung nach einem der Anspruche 18 bis 24 zur Durchführung eines Verfahrens nach einem der Ansprüche 1 bis 17.
DE200610008318 2006-02-20 2006-02-20 Verfahren und Vorrichtung zum automatischen Erzeugen von Passwörtern Active DE102006008318B4 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE200610008318 DE102006008318B4 (de) 2006-02-20 2006-02-20 Verfahren und Vorrichtung zum automatischen Erzeugen von Passwörtern

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200610008318 DE102006008318B4 (de) 2006-02-20 2006-02-20 Verfahren und Vorrichtung zum automatischen Erzeugen von Passwörtern

Publications (2)

Publication Number Publication Date
DE102006008318A1 true DE102006008318A1 (de) 2007-08-30
DE102006008318B4 DE102006008318B4 (de) 2008-03-20

Family

ID=38319758

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200610008318 Active DE102006008318B4 (de) 2006-02-20 2006-02-20 Verfahren und Vorrichtung zum automatischen Erzeugen von Passwörtern

Country Status (1)

Country Link
DE (1) DE102006008318B4 (de)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6141760A (en) * 1997-10-31 2000-10-31 Compaq Computer Corporation System and method for generating unique passwords
WO2004061691A1 (ja) * 2002-12-26 2004-07-22 Fujitsu Limited パスワード管理装置
DE10110316B4 (de) * 2000-03-15 2004-09-23 International Business Machines Corp. Sichere Passworteingabe
US20050071645A1 (en) * 2003-09-25 2005-03-31 International Business Machines Corporation Algorithmic generation of passwords

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6141760A (en) * 1997-10-31 2000-10-31 Compaq Computer Corporation System and method for generating unique passwords
DE10110316B4 (de) * 2000-03-15 2004-09-23 International Business Machines Corp. Sichere Passworteingabe
WO2004061691A1 (ja) * 2002-12-26 2004-07-22 Fujitsu Limited パスワード管理装置
US20050071645A1 (en) * 2003-09-25 2005-03-31 International Business Machines Corporation Algorithmic generation of passwords

Also Published As

Publication number Publication date
DE102006008318B4 (de) 2008-03-20

Similar Documents

Publication Publication Date Title
DE69031736T2 (de) Verschlüsselungsmethode
DE102011088502B3 (de) Verfahren und Vorrichtung zur Absicherung von Blockchiffren gegen Template-Attacken
DE69929251T2 (de) Verschlüsselungssystem mit einem schlüssel veränderlicher länge
DE69634880T2 (de) Verfahren und gerät zum kontrollierten zugriff zu verschlüsselten datenakten in einem computersystem
EP2433242B1 (de) Verwendung einer zeichenkette in systemen der kryptographie, der statistik, der simulation, der randomisierung, von spielautomaten und dgl.
DE102009052174B3 (de) Verfahren zur Authentifizierung eines Benutzers an einer Rechnereinheit
DE202011110895U1 (de) Echtzeitsynchronisierte Bearbeitung von Dokumenten durch mehrere Benutzer für das Bloggen
DE10240875B4 (de) Sicheres Referenzdrucken unter Verwendung persönlicher elektronischer Geräte
EP2595341B1 (de) Benutzerrechteverwaltung und Zugangskontrollsystem mit Zeitbeschränkung
EP1290905B1 (de) Verfahren zur kryptografischen identifikation einer physikalischen einheit in einem drahtlosen telekommunikationsnetzwerk
EP3576001A1 (de) Computerimplementiertes verfahren zum übergeben eines datenstrings von einer anwendung an eine datenschutzeinrichtung
DE102017201142A1 (de) Verfahren zum Verschlüsseln und Entschlüsseln von Daten mit einem Einmalschlüssel
DE102006008318B4 (de) Verfahren und Vorrichtung zum automatischen Erzeugen von Passwörtern
EP3053317B1 (de) Verfahren zur authentisierung gegenüber einem server
DE102004027616A1 (de) Verfahren zur Ver- und Entschlüsselung von Zeichenketten
DE10162991A1 (de) Verfahren zum rechnergestützten Ver- und Entschlüsseln von Daten
WO2000019297A1 (de) Verfahren und anordnung zur aktualisierung eines passwortes
DE60205176T2 (de) Vorrichtung und Verfahren zur Benutzerauthentisierung
DE102007046102B4 (de) Verfahren zum Schutz vor Veränderung von Daten und zur Authentifizierung des Datensenders bei der Datenübertragung durch Verwendung von Verschlüsselungsverfahren, bei denen mit Kenntnis von verschlüsselten und unverschlüsselten Daten andere Daten nicht mehr als zufällig richtig verschlüsselt werden können.
DE10028265A1 (de) Vorrichtung und Verfahren zum Entschlüsseln eines verschlüsselten elektronischen Dokuments
EP3868051A1 (de) Kryptographieverfahren
DE102006049814B4 (de) Verfahren und Vorrichtung zum Erzeugen und Speichern von einer Geheimkombination zugeordneten Hilfsgrößen sowie zum Wiedergewinnen der Geheimkombination
DE4107266C2 (de) Verfahren zur schnellen Ver- oder Entschlüsselung großer Dateien mit Hilfe einer Chipkarte
DE10158003B4 (de) Verfahren zur Erzeugung von Schlüsseln für die Datenverschlüsselung sowie Verfahren zur Datenverschlüsselung
DE102014201846A1 (de) Verfahren zur sicheren Übertragung von Zeichen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition