DE102006008318A1 - Method for automatic producing of number of application-specific passwords, involves using pseudorandom signal sequence obtained by coding for creating password - Google Patents

Method for automatic producing of number of application-specific passwords, involves using pseudorandom signal sequence obtained by coding for creating password 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
German (de)
Other versions
DE102006008318B4 (en
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 Forderung der Angewandten Forschung eV
Original Assignee
Fraunhofer Gesellschaft zur Forderung 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 Forderung der Angewandten Forschung eV filed Critical Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Priority to DE200610008318 priority Critical patent/DE102006008318B4/en
Publication of DE102006008318A1 publication Critical patent/DE102006008318A1/en
Application granted granted Critical
Publication of DE102006008318B4 publication Critical patent/DE102006008318B4/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

Abstract

The method involves forming a character string to generate one of the password (PW), which is assigned a certain application, from one of the input value which is assigned same application. A pseudorandom signal sequence obtained by a coding is used for creating the password. Another input value assigned to this application defines application specific password rules. Independent claims are also included for the following: (1) a program for executing the method (2) a device comprising a unit for automatic producing of passwords.

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.The The present invention relates to a method for automatic generation a plurality of application-specific passwords from only one main password and a plurality of application-specific input quantities, wherein the latter do not necessarily have to remain secret.

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.Password methods are the most prevalent Method for identifying persons. Meanwhile, people use such a large number of applications, e.g. such applications, which over the World Wide Web are offered that they have problems in practice in dealing with their passwords to get. In this context, the use of passwords in In practice, a series of manners crept in, which the Security of password procedures affect, although password procedure basically one adequate Security level. As examples of such manners are the selection of easily guessable passwords, the easy one Access to recorded passwords or the reuse of passwords for different applications called. Such practices have prevailed because User the security requirements when handling passwords in not convenient to practice can. difficult will be dealing with passwords in practice still by the fact that applications each different Establish rules for selecting accepted passwords (e.g. allowed character type or password length) to which a user must hold. These rules can Depending on the provider also be more complex type, such. at a rule, in which in an application-specific password at least a representative of three character types from a set of a total of four character types (uppercase letters, lowercase letters, Numbers, special characters) must be included. In addition to these rules can An operator requires that users have theirs within certain time periods need to change application-specific passwords.

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.at Users can about it the concern is the applications of different ones terminals from being able to use. In this respect, technical solutions such as saving passwords on end devices the disadvantage that current data stocks are not always resorted to can be. A conceivable alternative to this, with the passwords of a User as part of a service on a via a communication network accessible computer would be stored, has the disadvantage that a user Be the service provider regarding the agreed handling of the stored passwords.

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.It shows up in many places that users through in practice the demands of a good password management overwhelmed are. Therefore, a procedure is helpful based on one Users at any time and on all devices all its strong, compliant, application-specific passwords to disposal stand without users having to remember their passwords.

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.There are now a number of approaches and solutions that aim to help users with their passwords. In this context, for example, technical solutions were developed in which application-specific passwords are generated and stored. Access to the stored passwords is usually also controlled by means of a central secret or by means of biometric methods. However, all these approaches require the availability of persistent storage, which implies either the availability of each user's own device (eg password storage in the web browsers such as Firefox or Internet Explorer) or the availability of a database accessible via a communications network, in the latter case the database operator also has access to all application-specific passwords of the user. A method for centrally storing application-specific passwords and master password-protected access is disclosed in the document US 6,006,333 A described.

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.Other with passwords related approaches provide feedback to users regarding the strength the one chosen by you Passwords. These are the ones chosen Passwords to that effect tested if they contain in dictionaries and are therefore advised by third parties with reasonable effort can. Will be a selected Password identified as too weak, the user is prompted to select a new password. Other methods aim to assassinate the execution of Dictionary attacks aggravated by the user in addition to password entry is still involved in such an interactive protocol, wherein user interaction can not be successfully performed by a machine, so that the probability of success for an attacker at a automated dictionary attack enough is small.

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.The described prior art methods have the disadvantage of being either uncomfortable and therefore of users to be avoided or not sufficiently high security requirements to suffice, because the passwords permanently stored, usually even in one too for accessible to other users Database.

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.Of the The present invention is therefore based on the technical object with a method to be specified and a corresponding device the security of a (typically a terminal and a plurality of this connectable further computers comprehensive) system, the different password-protected and different Users include usable applications to increase, provided that a single user does not remember a multitude of passwords and if necessary, change regularly.

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.These The object is achieved by a method having the features of claim 1 and by a device with the features of claim 18. Advantageous embodiments and further developments of the invention will become apparent with the features the dependent claims.

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.By virtue of the fact that in the proposed method of automatically generating one of the passwords associated with a particular application, respectively
  • From at least one of the input variables associated with the same application, a string is formed,
  • • after which this string is encrypted by means of a key formed from the main password
  • And a pseudo-random signal sequence obtained by this encryption is used to form the password
  • Taking into account at least one further input variable assigned to the same application, by which application-specific password rules are defined,
In particular, the following advantages result: A user has comfortable access to a plurality of applications with only one main password, which the user must remember, whereby only this main password, which does not have to be changed regularly, must be kept secret. At the same time there is a system security that corresponds to the achievable by using a variety of possibly regularly changing strong passwords ble system security. An increase in system security results in particular from the fact that storing the individual passwords is not required, the user has to remember only the main password. Typically, the proposed method is performed on a user's terminal. However, the method is advantageously independent of the particular device used.

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.Preferably becomes the key thereby by means of a key derivation function formed by which each point of the key, one of a length of the Main password independent Length has, from depends on each character of the main password. Such key derivation functions are known per se. As an example, in the PKCS # 5 standard (Password Based Cryptography Standard) of the RSA Laboratories (Version 2.0, March 1999) proposed methods PBKDF2 (Password Based Key Derivation Function) or its predecessor PBKDF1 called. So have to no specific requirements are placed on the main password, However, the main password expediently as a strong password to choose is to ensure a high level of security.

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.A particularly expedient embodiment of Method results if the string consists of at least two Input sizes that are associated with the corresponding application is formed, preferably by concatenating. The can individual input variables for Formation of the string are simply hung together, possibly with the insertion of the input variables connecting filler characters. Preferably, the formation of the string is done by a Assignment of the input sizes forming Characters to a respective character-specific bit sequence (e.g. a usual Code), so that the string itself is given by a bit string is. Finally, the string can be padding (Complete another character) to a predetermined, suitable for subsequent encryption chain length to be brought.

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.at the input sizes used to form the string it is in a particularly advantageous embodiment of the invention to a user-specific application identity, an application-specific one user identity (user name) and an application-specific version or a selection of the mentioned input sizes. Of special The advantage is in particular the use of an application-specific Version information as input size. This will it is possible that password for a particular application by simply changing the corresponding one Change version, without the rest passwords and especially the main password would have to be changed. A change in the application-specific passwords without change the main password would be even then possible, if only a single version specified as the input size becomes. It would be conceivable after all also, as such, to define application-specific password rules serving input size in addition to use the formation of the string.

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 a preferred embodiment of the method, the signal sequence obtained by the encryption to a likewise pseudo-random white extended signal sequence of multiple length and uses the latter extended signal sequence to form the password. Various methods can be used to obtain the extended, likewise pseudo-random, further signal sequence from the first signal sequence obtained by the encryption. A simple implementation provides that the signal sequence obtained by the encryption is extended by running through a loop in which the first-mentioned signal sequence is linked to a counter value in each case-preferably by a bitwise XOR operation-and a result of this linkage again by means of the key is encrypted, whereby the counter value is changed once each loop cycle. (Hereinafter, the term XOR operation is always referred to as a bitwise XOR operation.) It is equally possible to extend the signal sequence obtained by the encryption by passing through a loop in which a counter value changed once for each loop cycle is first used by means of the Key is encrypted and thereby obtained at each loop cycle cipher is linked to the first-mentioned signal sequence, preferably again by an XOR operation.

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.In described or similar Way can therefore be dependent of the main password and the input variables, a pseudo-random signal sequence of arbitrary Length generated become. This is advantageous because it is independent of a required Password Length or other password rules always enough random material to generate the corresponding password is available.

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.The especially when considering the password rules by an embodiment of the method in which the at least because of an application-specific password rules defining input size considered is that a password formed in the manner described as a candidate just then rejected and by a suitably formed further Candidate is replaced if it is not compatible with the password rules. Such consideration The password rules is particularly beneficial because it ensures that in terms of the theoretically achievable with the password rules used passwords an equal distribution is realized, which in turn is achievable Safety optimized.

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.The consideration The input variable or sizes defining the password rules may also be alternatively or additionally done in a different way. This is especially true for an input size that for defining a password length can be provided and be taken into account in a simple manner may be that generating password characters from the corresponding Signal sequence is aborted as soon as the password length is reached is. Other conceivable password rules, e.g. in one of the described Ways to consider can be, can refer to the approved or required password characters and / or insist that in certain passwords only certain characters allowed to stand and / or whether to distinguish between uppercase and lowercase letters is. It is conceivable, after all also to provide a default setting of the password rules that authoritative is when no value is assigned to the corresponding input size.

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).typical versions of the proposed method provide that from the input size or won the input variables Character string symmetric, preferably block by block symmetrically encrypted. Such encryption methods guarantee currently a particularly high level of security. The encryption in particular by means of an AES (Advanced Encryption Standard) method respectively. Of course, other symmetrical ones are also conceivable encryption method such as DES (Data Encryption Standard), 3DES (Triple-DES), Blowfish, Twofish, IDEA (International Data Encryption Algorithm) or CAST (named after C. Adams and 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).Block-by-block encryption can be realized, for example, by dividing the character string into a certain number of blocks of a specific length and, starting with a second block, linking each block to a ciphertext obtained from the preceding block by means of an XOR operation and a result of this linking by means of the XOR operation Key is encrypted. Similarly, a string forming the first block may be first linked to an initial string by an XOR link before a result of that link is encrypted. This initial string should be fixed so that the procedure remains independent of the terminal being used. The aforementioned XOR link is a link by an exclusive-or, which corresponds to a bitwise modulo-2 addition. The described type of blockwise encryption corresponds to a Cipher Block Chaining (CBC) mode. Of course, other types of blockwise encryption are possible, for example, by first encrypting each block with the key and ciphers obtained by these encryptions are then subsequently linked, for example, again by a modular modulo-2 addition of said cipher. Such and similar types of blockwise encryption have the advantage that any change in the main password or in an input used to form the string It can affect any part of the generated password. Finally, encryption in CFB mode (cipher feedback mode) or in OFB mode (output feedback mode) is also conceivable.

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.alternative could after all another way of encryption be provided, in which the key initially in the form of a key stream (with a key-stream generator) is generated from the main password, according to which the pseudorandom Signal sequence by encryption the one obtained from the input variables String generated by means of this key stream to a stream cipher becomes.

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.A typical design of the method provides that the password or a password candidate is formed by that used to form the password Signal sequence in blocks defined length divided and each of a predetermined by a password length number of these blocks is assigned to a password character after a predetermined code. This results in a technically particularly easy to implement Password generation. It must for a given password length of n characters are not necessarily taken into account n consecutive blocks become. Rather, it may be at the predetermined number of blocks to a selection of blocks generated in succession, some of which blocks be omitted, for example, if they have a block occupancy show that is not assigned to a password character. In some circumstances, the called blocks the signal sequence for different places to fill the password also different Have length, if password rules are taken into account according to which in certain places of the password only certain characters consist of a subset of the total available characters allowed to.

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.It can be provided that after entering the main password password generated by a user in the manner described to answer a password request of the corresponding application entered or in a clipboard of a terminal - preferably for security reasons only for a limited time (after which an automatic deletion can occur) - cached becomes. In the latter case, a carry in an interrogation field done manually without the generated password character by character must be entered. In any case, this will be a special comfortable access to the applications without loss of security possible.

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.For one Password change due to a change an application-specific version specification can be provided that the corresponding old password for a limited time stored in a clipboard before the new password is generated. Then it is conceivable both the old password as also the new password to answer the corresponding password requests to enter automatically or (for a manual transfer) to cache in a clipboard while only the main password and the new version by the user manually character by character are to be entered.

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.It can be provided that the input sizes in a database serving memory stored by the terminal spatially separated server are and are read from there while the procedure itself on a terminal carried out becomes. This will do it for you the user possible that Performing procedures on different devices, without each time to enter the input sizes. compromising security are not connected with it, because of the secret Main password and not publicly accessible key not of the input sizes alone on the passwords or close to the main password. Especially advantageous is again an evolution of the process with on one Server stored input sizes in which one to dial in in the server required server password in the terminal automatically is generated from the main password, preferably by a Method for generating the application-specific passwords corresponding Method in which the input variables assigned to the server password are set could be. This requires one Users also to download the required to generate the other passwords Input sizes only his only main password.

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.typically, For example, the input sizes stored on the server will be one application identity for every registered application to customize one for each application definable user identity, by one version for each each application and one or more input sizes for Definition of password rules for each Application act. It can be provided that by the server downloaded input sizes in one cached as the local profile storage memory of the terminal to generate passwords even during a subsequent offline operation available too stand.

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.In order to achieve the greatest possible independence from the particular terminal used, it may be provided that a program required for carrying out the method on the terminal is downloaded from a server (the server already mentioned or another server). It is conceivable, the program thereby on the Endge advises to install. However, even greater independence can be achieved if the program is made available only temporarily as an applet (eg a Java applet), preferably signed and therefore verifiable for integrity, on the terminal without having to be installed there.

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.
A device suitable for carrying out a method of the type described can easily be implemented by a person skilled in the art, for example, by means of a corresponding program-technical device of a computer. Typically, a corresponding apparatus includes automatically generating a plurality of application-specific passwords from only one main password
  • Means for executing a key derivation function for forming a key of predetermined length from an input main password,
  • • concatenation means for forming a character string from respectively read-in or input input variables,
  • Encryption means for forming a pseudo-random signal sequence from the string formed by the concatenation unit by means of the key issued by the means for executing the key derivation function,
  • A signal sequence generator for generating an extended, likewise pseudo-random signal sequence from the first-mentioned signal sequence output by the encryption means and
  • • means for executing a password derivation function for character-forming the application-specific password from the last-mentioned signal sequence, taking account of the password rules.

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).In addition, can the device comprises a memory serving as a local profile storage for read or entered input sizes and from which the input quantities in the Koncationationsmittel and / or in the means for performing the Password derivation function are readable (the latter should apply to the input variables, which defines the application-specific password rules become).

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.In addition to a device comprising the aforementioned features (client), the device one from this terminal comprise a separate server comprising a memory (a database), from which the input variables can be read out are. additionally or alternatively, the device may eventually have one or more more with the terminal over one Network connected computers on which the applications are available and to which the automatically generated passwords can be entered via the network.

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.in the Case of storing the input sizes on a server, the terminal further means for execution a password-forming function for forming a server password from the main password, the server password of an access control unit of the server is entered. The means for performing said password-forming function can It should be designed so that the server password in the same way is generated from the main password as the other passwords with the proviso that the appropriate input sizes are specified.

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.Finally, can the device also means for performing a one-way function for Calculation of an optical marking from the main password as well Means for displaying this optical marking include a more detailed below described feedback for the user to enable which allows it to recognize if it is the correct master password entered. The means for displaying the optical mark this can be a screen, for example dependent of a result of the one-way function at a certain place and / or a symbol appears in a particular color. The others so far may be mentioned in a simple way, for example, by hardware components, with programs or Collaborate program parts, be realized.

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.Finally, can it may also be provided that the device has a buffer for temporary storage by the encryption the string obtained signal sequence, from which this signal sequence can be read several times in the signal sequence generator. This will it is possible in a particularly simple manner, by means of the signal sequence generator a pseudorandom Signal sequence of any length by the encryption to generate the first signal sequence obtained.

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.The invention proposed here relates, in a particularly advantageous embodiment described in more detail below, to a method for generating passwords for various applications, which in turn can be offered by different providers. This method is executed on a terminal available to the user. In this method, the passwords of a user required for the respective applications are generated on the basis of a user-selectable central secret, the so-called main password. This has the advantage for the user that this only has to remember a central secret in order, if necessary, using the method underlying the invention, the desired passport to have the word calculated. However, in practice, based on such a password, it is not possible to go back to the main password nor to calculate a password for another application that was generated using the underlying method. Without knowledge of the main password, generation of the application-specific passwords is not possible. The security of the method on which the invention is based is based on the secrecy of the main password by the user. Neither the main password nor the application-specific passwords are stored persistently on the user's terminal. Moreover, the master password is never sent from the terminal to other technical systems via a communication network.

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.For that up the user terminal executed Procedure exists additionally the opportunity to become to connect to the database offered by a server service, from which the user a profile as a list of registered by him Applications or accesses and also the rules for the Generation of the application-specific passwords can download. For this belong for example, the types of password characters required by a provider and information about the password length. A user's profile can be either from the user himself or created or managed by the provider of the database. The profile data is for the respective users by means of a login password mechanism (Database login and database password of the user) restricted access, so that unauthorized users can neither read nor modify this data. For registration For this Database service becomes a password starting from the main password calculated in a special way, which allows the operator of the Database impossible in practice is to calculate the main password.

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.The Calculation of a password by that described in this invention Procedure depends on several input sizes. These input sizes include the Main password, a user-definable identity description for the respective Application, the identity the user for the respective application, the password rules for the particular application and a version for the application specific password. Except for the main password can all of these input sizes in the Database are saved. If necessary, these values can be used for the calculation the application-specific passwords by the method carried out in the invention after successful database login be loaded from the database. Even with unauthorized use the data stored in the database is by secrecy the main password is not possible application-specific passwords to create. If not available Database, it is also possible for the user to manually enter the values for the calculation the application-specific password or from a possibly read out local profile storage provided.

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.If a user needs an application-specific password, this leads the underlying of the invention method by the main password and then loads the other input variables from the database and the desired Select application from the list. If he does not access the database, then he has to enter all input variables himself if they are not already in a local profile storage to disposal stand. After its calculation, the method described here the application-specific password of the UI respective application available such as by the automated filling in of form fields or the copy and paste from a temporary described clipboard.

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.Certain Applications require users to do this within certain Their periods change application-specific passwords, e.g. once a month. The underlying method of the invention supports the User in this process. About that In addition, the modification of the version specification allows the change an application-specific password without changing any other input variables have to. Even for the case of change of the main password, which is a change of all application specific passwords that helps Proceed the user by progressively including all in the profile Applications the old and new passwords are calculated and in efficiently the user interface of the respective application via a Clipboard available be put.

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.There the master password is not stored persistently anywhere, there is no possibility for the user check the correctness of the entered main password. Therefore was in the underlying method of the invention, a return channel provided in the form of an optical marking, in which colors, Positions and icon to be displayed on the user interface dependent on of the main password are calculated so that the user can recognize can, whether typed in typing the main password typing to have.

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.The pseudo-random process on which the application-specific password generation is based uses a symmetric block encryption method. The main password will be is processed by means of a key derivation function for the conversion of passwords into cryptographic keys and the result of this processing is used as key in the symmetric encryption. The input variables Application Identity, the application-specific identity of the user, and the version-specific password for the application-specific password are symmetrically encrypted block by block in plain text. The pseudo-random material contained by using this pseudo-random process is encoded according to the password rules to be applied. For its part, the coding unit successively requests new pseudo-random material until the rule-compliant password generation has been completed. The passwords generated by using the method on which the invention is based meet the security requirements for strong passwords. These passwords can be generated whenever a user has access to and can apply the described method to a terminal accessible to him.

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.The Invention solves thus in particular in the last-described embodiment the Task to provide users with a technical facility by which the users are independent of the terminal based on a single If necessary, create strong application-specific passwords can, and thus at any time, from any location and from any device from access to have all their application-specific passwords without them must be deposited or stored at any point.

Ausführungsbeispiele der Erfindung werden nachfolgend anhand der 1 bis 9 beschrieben. Es zeigtEmbodiments of the invention are described below with reference to the 1 to 9 described. It shows

1 eine schematische Darstellung einer erfindungsgemäßen Vorrichtung zum automatischen Erzeugen einer Mehrzahl von Passwörtern aus einem Hauptpasswort, 1 1 is a schematic representation of a device according to the invention for automatically generating a plurality of passwords from a main password,

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, 2 a schematic representation of a corresponding device, which additionally comprises means for performing a one-way function for calculating an optical mark from the main password and means for displaying the optical mark,

3 eine entsprechende Darstellung einer erfindungsgemäßen Vorrichtung in einer anderen Ausführung der Erfindung, die neben einem Endgerät einen Server um fasst, 3 a corresponding representation of a device according to the invention in another embodiment of the invention, which includes a server in addition to a terminal,

4 in entsprechender Darstellung eine Weiterentwicklung der in 3 gezeigten Vorrichtung, die zusätzlich eine lokale Profilablage für Eingabegrößen aufweist, 4 in a corresponding representation, a further development of the 3 shown device, which additionally has a local profile storage for input variables,

5 in entsprechender Darstellung das Endgerät der Vorrichtung aus 4 im Offline-Betrieb, 5 in a corresponding representation of the terminal of the device 4 in offline mode,

6 eine grafische Darstellung einer Extraktion von zur Definition von Passwortzeichen verwendeten k-Blöcken aus einer zur Bildung des Passworts verwendeten Signalfolge, 6 a graphical representation of an extraction of k-blocks used to define password characters from a signal sequence used to form the password,

7 in tabellarischer Form eine exemplarische Kodierung der Passwortzeichen (Regeln: Unterscheidung Groß-/Kleinschreibung, Ziffern erlaubt/gefordert, Sonderzeichen erlaubt/gefordert), 7 in tabular form an exemplary coding of the password characters (rules: distinction case-sensitive, digits allowed / required, special characters allowed / required),

8 in entsprechender Darstellung eine andere Kodierung von Passwortzeichen (Regeln: Unterscheidung Groß-/Kleinschreibung, Ziffern erlaubt/gefordert, keine Sonderzeichen erlaubt) und 8th in a corresponding representation, another encoding of password characters (rules: case distinction, digits allowed / required, no special characters allowed) and

9 wieder in tabellarischer Form eine weitere exemplarische Kodierung des Passwortzeichens (Regeln: keine Unterscheidung Groß-/Kleinschreibung, Ziffern erlaubt/gefordert, Sonderzeichen erlaubt/gefordert). 9 again in tabular form another exemplary encoding of the password character (rules: no distinction case-sensitive, digits allowed / required, special characters allowed / required).

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.In the 1 shown, suitable for carrying out a method according to the invention device PF comprises means 1 for carrying out a key derivation function for forming a key s of predetermined length sl from an input main password HPW, concatenation means 2 for forming a string from respectively read or input input quantities bid (application-specific user identity), aid (user-specific application identity) and v (application-specific version specification), encryption means for forming a pseudo-random signal sequence prandom 'from that from the concatenation unit 2 formed string by means of the means 1 for executing the key derivation function key s, a burst generator 5 for generating a prolonged, likewise pseudo-random signal sequence prandom from the first-mentioned signal sequence prandom 'output by the encryption means and means 6 for carrying out a password derivation function for the character-specific formation of the application-specific password PW from the last-mentioned signal sequence prandom, taking account of password rules, which in turn are defined by an input variable r.

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.The encryption means in the embodiments shown comprise a number of XOR links 3 and encryption units 4 , the latter encryption units 4 each encrypt a block of length bl symmetrically by means of the key s, in the present example by an AES method, wherein the encryption units 4 through the XOR 3 in CBC mode are connected for a block symmetric encryption of the said string. The signal sequence generator 5 in turn, one comprises the encryption units 4 corresponding encryption unit 7 that with the means 6 to execute the password function, a counter 8th and another XOR link 3 interacts. The funds are changing 6 to execute the password function whenever a current part prandom i of the signal sequence prandom is used up, one from the counter 8th counter value i by incrementing the counter value i by a step of 1, followed by a binary representation of the counter value i by means of the corresponding XOR operation 3 is linked to the signal sequence prandom 'and a result of this link back into the encryption unit 7 is entered. The signal sequence prandom is thus obtained by connecting the parts prandom i , where i increases by steps of 1 (ie prandom = prandom 1 || prandom 2 || ... || prandom i || ... with "||" as concatenation operator). In particular, individual bits can be disregarded at the end of each part prandom i of the signal sequence prandom if prandom i can not be completely divided into blocks used to form password characters.

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.From a signal sequence generator 5 upstream buffer 9 for temporarily storing the signal sequence prandom 'obtained by encoding the character string, this signal sequence prandom' can be used as often as desired in the signal sequence generator 5 be read.

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.At the in 2 shown embodiment of the invention, the device is made of PF 1 for funds 10 for performing a one-way function for calculating an optical marking OM from the main password HPW and for not expressly shown means for displaying this optical marking OM added. The input quantities aid, bid, v and r are entered here manually by a user.

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. 3 shows a further development of the invention, in which a terminal (client) in addition to one of in 1 apparatus shown corresponding device PF and the means 10 for generating the optical mark OM, means PF 'for performing a password-forming function for forming a server password SPW from the master password HPW, the server password SPW of an access control unit 12 a server can be entered. This server also has memory serving as a database for user profiles 11 on which the input variables bid, aid, v, r are stored and from where they can be read into the terminal.

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.At the in 4 shown modification of the device 3 the terminal further has a memory 13 which acts as a local profile store for the input variables bid, aid, v, r.

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. 5 finally the terminal shows off 4 in offline mode, where the previously in memory 13 stored input sizes bid, aid, v, r from the memory 13 can be read into the device PF, so that a user must also enter only the main password HPW here to generate the respective application-specific password PW.

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.The in the 1 to 5 The devices shown can also be connected to one or more devices (not shown in the figures) on which the applications protected by the application-specific passwords are available and which in particularly advantageous embodiments of the invention automatically enter the passwords PW automatically generated after entry of the main password HPW can be done without requiring manual entry of these passwords. Alternatively, the passwords PW can also be temporary stored in a clipboard and be transferred from there manually.

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. 6 shows in which way the signal sequence prandom or its part prandom i is divided into blocks, in the application of codes, as exemplified in the 7 to 9 shown in the media 6 for executing the password derivation function individual password characters are assigned, whereby a password candidate is generated. The input size r finally defines password rules. If a password candidate does not fulfill these password rules, it is discarded and a new password candidate is formed from a continuation of the string prandom in the same way.

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.After in the 7 shown code are each 7-bit blocks extracted from prandom i and assigned a password character. After the in the 8th and 9 the same applies to 6-bit blocks.

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.The described embodiments of the invention include a method in which an application-specific password PW is calculated on demand in dependence on a main password HPW, an application specific user identity bid, a user specific application aid, a version indication v, and application specific password rules (corresponding to the input size r). The calculation of an application-specific password is shown schematically in 1 shown. In the calculation a symmetric encryption is used, wel The input values passed to the procedure play different roles. A suitable method for the symmetric encryption is called the encryption method AES.

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.Out the main password HPW is provided by means of a suitable key derivation function the cryptographic key s calculated with key length sl. For AES, sl = 128 bits, sl = 192 bits or sl = 256 bits. As an an example for the Key derivation function here is one with the proposed in PKCS # 5 method PBKDF2 suitable variant known as the de facto standard. The usage such a key derivation function is for several reasons advantageous: First, you can make sure that yourself at home passwords different length every single character affects the key and thus at the encryption considered becomes. In particular, a change a single character of the main password, a change every single bit of the key s effect. Would you to use a main password HPW directly as a key, then single would be Bits of the key s much more likely predictable as 0.5. additionally be in the key derivation function time-consuming Steps provided so that automated debugging different master passwords for one potential attackers greater effort requires.

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.The application-specific user identity bid, the user-specific Application identity aid and the version information sets the encryption method to be handed over Plain text. Before the encryption is made, bid, aid and v are first concatenated. They can do this Values are either merged directly (e.g., bid || aid || v with "||" as concatenation operator) or it can be an extra Separator T inserted (e.g., bid || T || aid || T || v). For example, you can use T use a tabulator. After these characters become a string have been concatenated, the string is again decomposed into blocks, their length the block length bl of the encryption process equivalent. For AES bl = 128 bits, bl = 192 bits or bl = 256 bit, preferably bl = 128 bits. At last block after segmentation padding bits are used to achieve a block length bl. After that will be the blocks thus obtained in CBC mode Application of the key s encrypted. in this connection is the result of a bitwise XOR operation of the current plaintext block with the cipher of the previous block encrypted. The first plaintext block is initialized with an init value bitwise XOR linked, where init does not necessarily have to be kept secret and for all Users can be fixed and identical. The cipher, which through encryption with the last plaintext block, is called with prandom '. outgoing from the value prandom 'becomes in the next Steps as much pseudorandom material as it generates an application-specific password PW is required.

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.In order to generate enough pseudo-random material for the generation of PW, the value prandom 'is bit-wise XORed with a counter value i represented as block with length bl, before the result is encrypted using the encryption key-s method. At the beginning of the calculation process for an application-specific password PW, i = 1 is set in each case. The result of the encryption at counter value i is called prandom i . From this pseudo-random material prandom i is taking into account the application-specific password rules (defined by the input size r - in the present application, the term "password rules" is always used in the plural, even if this may only a single password rule is called) eventually PW formed. If the pseudo-random material is either unsuitable or insufficient to generate PW, the counter is incremented by 1 and a new value prandom i + 1 is calculated.

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.The generation of an application-specific password PW from the present pseudo-random material and the control for generating further pseudo-random material is the task of the password derivation function PAF. A PW generated by PAF must take account of the password rules defined by r for each application. These include in particular the number A of the characters available for the generation of PW and the number L of characters in the password PW to be generated. The value. For example, A may depend on whether upper and lower case letters are differentiated in the application, whether numbers are allowed or required or prohibited, or whether special characters are permitted or required or prohibited. As in picture 7 is shown as an example, results in distinction of uppercase and lowercase letters, allowed / required digits and allowed / required special characters (in the present example from a supply of 10 special characters) a value of A = 72. In the case of a distinction between uppercase and lowercase letters , allowed / demanded digits and forbidden special characters results in a value of A = 62, as in 8th is shown. If, however, passwords do not distinguish between uppercase and lowercase letters, digits are allowed / required and if special characters (from a supply of 10 special characters) are allowed / required, the result is a value A = 46, as in 9 is shown. To generate a single password character z j extra The password derivation function hangs a k-block from the pseudorandom material prandom i . Such a k-block consists of k bits. The value of k depends on the extent A of the available character set; it holds that k is the integer following log 2 A. Each character of the character set available for an application-specific password, as in the 7 . 8th and 9 shown is assigned exactly one k-block assignment. On the basis of the present pseudo-random k-blocks and a suitable assignment of k-blocks to the character set, the coding of individual password characters is finally carried out. However, some combinatorial possible value allocations of k-blocks is not assigned a character, which always occurs when the A belonging to the respective character set is not equal to a power of two.

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.For security reasons it is important that all password candidates of given length L that can be generated by the method, which in turn satisfy the password rules defined by r, occur with equal probability for randomly selected main passwords. A favorable for the vorschlagene method approach is that the password derivation function for one to forming password character z j ex tracted an even discarded k-block not previously used in the present pseudo random material and makes according to the present mapping a corresponding coding. If an extracted k-block contains a binary pattern for which there is no mapping to an element of the character set, then that k-block is discarded and a new k-block is extracted. This is repeated until the extracted k-block contains a binary occupancy for which an assignment to an element of the given character set is defined. If all k blocks are extracted from prandom i , then the password derivation function initiates incrementing of the counter and generation of new pseudorandom material prandom i + 1 , from which new k blocks can then be extracted for encoding password characters. This process is performed for all password characters z j for j = 1, ..., L.

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.Even if, in the manner described above, a character combination z 1 || ... || z L can be generated over a character set described by r, it is not guaranteed that the generated combination z 1 || ... || In fact, L satisfies all the requirements that are contained in r. For example, with the procedure described so far it can not be guaranteed that representatives of certain required character classes (eg special characters) are contained in the character string. In order to fulfill this requirement in addition, the following procedure is advantageous. After the string z 1 || ... || z L is generated, it is tested for compliance with the requirements set out in r. If the test is positive, the calculated string z 1 || ... || z L is used as the application-specific password PW. If, on the other hand, the result of the test is negative, then the calculated character string is deleted and completely recalculated by extracting new k-blocks according to the above-described procedure and performing the corresponding coding. The entire process is repeated until the test leads to a positive result.

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.at Special application-specific password rules may be required be that at certain positions in the password PW a representative of a certain character type, e.g. the first character of an application-specific Passwords must be a letter. In this case, too, an equal distribution of passwords to be able to reach it is advantageous to work with different character inventories position-related. Depending on the size of the character set, it may be beneficial to for calculating individual password characters with different values for k too work. In the example in which in a password between uppercase and lowercase letters is not distinguished, digits allowed and special characters required are and the first character must be a letter, arise with an assumed supply of 10 special characters for the assignment at the first position a value k = 5 and for the assignment at the remaining one Positions a value 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.The The method described above should in practice a terminal accomplished which the user has access to. This can happen both acting on and around a user's computer mobile terminal or even a foreign computer, such as a computer in an internet cafe. For this, the calculation method should either be available in the form of an installed computer program on the terminal or it should be over if needed a communication network are loaded and executed, for example in the form of a signed applet which is loaded over the internet and within a web browser.

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.For better usability of the method, it is advantageous to carry out the method on a client and to provide it with the input values bid, aid, v and r required for the calculation of application-specific passwords via a server service. This is in the 3 shown. To do this, the user first has to provide these input values to the server, where these values are stored in a database. From the perspective of a user, the database may contain the complete user profile which includes the input values for all applications in which the user has an access account. On the server, a separate user account with associated user identity SBID is created for the user, under which the user can access his own user profile. To secure the user profile on the server against unwanted access by others, the server transmits a server-specific password SPW of the user to the server. So that the user does not have to remember the server-specific password SPW in addition to the main password HPW and also does not have to enter an additional password in addition to the main password HPW, the server-specific password SPW is calculated in the client-executed method from the main password HPW by means of a password function PF '. The password function PF 'here has the property that the server from the server-specific password SPW can not refer back to the main password HPW. As a password function PF ', for example, a variant of the method can be used, which presented in the foregoing and in 1 was sketched. The variant differs from the method in 1 in that the input values bid ', aid', v 'and r' are the same and constant for all users. Therefore, it is advantageous to hard-code the input values bid ', aid', v 'and r' into the execution of PF '.

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.The Use of the server service brings specific to a user Benefits in the operation. He is thus able to get away from any terminal with network access to connect to the server, to load its profile data and be If necessary, calculate application-specific password and therefore available to have. This profile data contains the input values bid, aid, v and r for all applications, for which a user based on the method proposed here passwords must generate. To calculate a single application-specific Password dials a user from the list of applications included in his profile the respective application, so that the corresponding input values bid, aid, v and r for calculation to the password function (ie the means 6 to execute the password function) can be.

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.at the method proposed by this invention, it is advantageous if a user logs in to the server after logging in successfully on the database of the client running on the terminal being used can manage from. For this, the user can see the list of applications change, for example, creating new applications in the list, i. new for the application Enter values bid, aid, v and r and save them to the database, o modify existing applications in the list or delete from the list.

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.to increase the availability the server-side stored profile data may be advantageous store the profile data on multiple servers whose stored Profile data automatically mirrored by the operator of the server service (i.e., synchronized). The client owns in this embodiment of the method a list of all existing server addresses, the profile data saved. In the application of the invention underlying Procedure, the client tries to first with one on the list server to connect. Does not answer this server within a certain period of time, the client contacts successively one more server on the list. In a advantageous embodiment of the method, the client already contains the list the existing server addresses. The order in which the Client which addresses server can be either sequential Working out the list, or it may also depend on the result of a random process.

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.In certain cases, it is helpful to a user if he does not necessarily have to load his profile data from the server and instead can be read in otherwise for processing by the password function (the device PF). This is the case, for example, when the server is not available or when the password is needed for a local application and access to a communication network is not available. Therefore, it is advantageous for the user to implement the method such that either the server can be used to input the values bid, aid, v and r (see 3 ), or they can be entered without using a server service in an offline mode (see 2 and 5 ). For offline operation, you can distinguish two variants. In the first variant, the user independently inputs the values bid, aid, v and r required in addition to a main password for generating an application-specific password. This will be in 2 shown. In the second variant, the user reads the values bid, aid, v and r from a local profile storage as in 5 , This may be, for example, a file containing the user profile and stored on the user's terminal. The local profile filing can be created by the user by transferring his user profile from the database of the server to his terminal and storing this in the local profile filing, eg a file, as in 4 will be shown.

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.In order to provide feedback to the user that he has entered the main password HPW correctly, it is advantageous in the proposed method to provide a return optical channel. In this case, the value of the input main password HPW is mapped to a special optical marking OM. The calculation and output of the optical marking is particularly in the 2 and 5 shown. The optical mark OM is displayed to the user at the operation interface. If the user makes a mistake when entering the main password HPW, it is very likely that the optical mark OM displayed to him differs from the optical mark familiar to him and belonging to the correct main password HPW. The mapping of the main password HPW to the optical mark OM can be implemented in the present invention by means of a one-way function. For example, it may be advantageous to pass the input main password HPW to a hash function and map its result to a set of user distinguishable optical markers. In this case, it can generally be assumed that the amount of distinguishable optical markings is significantly smaller than the amount of results of the hash function. Therefore, different hash values can be mapped to the same optical mark OM. In the invention to be executed, it is important that the hash function is first applied and the optical tag OM is displayed when the input of the main password HPW is completed. For example, the optical mark may be a special symbol displayed in a particular color in front of a particular background color at a particular position, with a fixed set of symbols, symbol colors, background colors, and positions. It is also advantageous for the user to be permanently notified of the optical marking OM belonging to his main password HPW after he has completely entered his main password HPW. This assists the user in memorizing the optical tag OM associated with his main password HPW.

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)
The password rules given for an application induce a set M containing all the passwords accepted by the application. In practice, the quantities M differ greatly for different applications. Therefore, in the invention presented here, it is advantageous not to formulate the password rules r used for the password generation in such a way that all elements of the set M can be achieved for each application. It is only to be ensured that sufficient elements of the set M can be generated for each application as application-specific passwords. As a result, the method can meet the password requirements of a large number of applications with only very little interaction effort of the user, ie by configuring only very few rules (eg when creating a profile entry or when entering rules in offline mode). In an advantageous embodiment of the proposed method, a default setting of the password rules is selected in which passwords are generated with 16 password characters, the passwords containing both uppercase and lowercase letters, numbers and special characters guaranteed. In this advantageous embodiment, the following configuration options differing from the standard setting are offered, which in turn are recorded in the application-specific password rules r:
  • • no distinction between uppercase and lowercase letters (ie the password to be generated does not contain uppercase letters)
  • • Password length (ie a password length different from the default value can be selected)
  • • no special characters (ie the password to be generated contains no special characters)
  • • first password character should be letter (ie at the first position in the password there is neither special character nor number)

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.In an exemplary form of practical implementation starts the user to generate an application-specific password, a computer program, which carries out the method described here.

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.If the user decides to use the server service, he enters his server-specific user identity SBID and the main password HPW in the designated fields of the client and initiates the transmission of SBID and SPW to the server. If the server password SPW is correct, the profile is transferred to the client. All applications are presented to the user on the client's operator interface. After selecting an application (eg by clicking on an application in the selection list), the application-specific password is calculated and copied to the clipboard of the computer so that the user can easily transfer the password to the application. After a short time (eg 60 seconds), the computer's clipboard will be deleted. If the user has logged in to the server, he can change the entries in his profile as needed. If an application requires, for example, that the application-specific password must be changed within certain periods of time, this is done via a modification of the version information v. The version specification can, for example, include integer values or values that are composed of month and year, eg "January 2006". If the user decides to change his main password, he is forced to change the application-specific password for all applications. In an advantageous embodiment tion of the method described here, it is possible for the user to notify the server of the new server password by correct input of the old main password and twice correct specification of the new main password and activate this. Thereafter, the method prepares the old and new application-specific passwords for all the applications contained in the list and provides them to the user for easy transfer to the respective application via the clipboard one after the other.

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.Decides the user for the in 2 offline operation, it must pass its main password to the program, as well as the application-specific user identity bid, the user-specific application identity aid and the version indication v by hand. If the application-specific password meets requirements that can not be met with the default, then the user must also manually modify the password rules r. Once all values have been entered, the application-specific password calculation can be started by the user. After the calculation, the application-specific password is stored for a short time in the clipboard of the computer, so that it can be easily transferred by the user in the respective application. After a set time has elapsed, the application-specific password is deleted from the computer's clipboard.

Claims (25)

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.Method for automatically generating a plurality application-specific passwords (PW) consisting of only one main password (HPW) and a majority of application-specific Input variables, at to generate one of the passwords (PW) which corresponds to a particular one Application is assigned, in each case from at least one of the input variables, the associated with the same application, a string is formed, which this string is formed by means of one of the main password (HPW) key (s) encrypted becomes and a pseudo-random signal sequence obtained by this encryption (prandom ') for the formation of the Password (PW) is used considering at least one other input variables assigned to this application which application-specific password rules are defined. 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.Method according to claim 1, characterized in that that the string consists of at least two input sizes, the are associated with the corresponding application is formed, preferably by concatenating. 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.Method according to claim 2, characterized in that that the input sizes used to form the string are one user-specific application identity (aid), an application-specific one user identity (bid) and an application-specific version (v) or a selection from the mentioned input variables. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass die Zeichenkette symmetrisch und/oder blockweise verschlüsselt wird.Method according to one of claims 1 to 3, characterized that the character string is encrypted symmetrically and / or block by block. 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.Method according to claim 4, characterized in that that the string is specific to a certain number of blocks Length (bl) is divided, with a plain text and / or ciphertext of each of the blocks respectively is bit-wise XORed with the plaintext or cipher of another block. 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.Method according to one of Claims 4 or 5, characterized in that the character string is divided into a specific number of blocks of a specific length (bl) and, starting from a second block, each block is coded with a cipher obtained from the preceding block by a bitwise XOR operation ( 3 ) and a result of this association is encrypted using the key (s). 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.Method according to one of claims 1 to 6, characterized that the key (s) by means of a key derivation function is formed, by which each point of the key (s), one of a Length of the Main passwords (HPW) independent Length (sl) has, depends on each character of the main password (HPW). 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.Method according to one of claims 1 to 7, characterized that by encrypting obtained signal sequence (prandom ') to a likewise pseudo-random one further signal sequence (prandom) of multiple length is extended and the latter extended Signal sequence (prandom) is used to form the password (PW). 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.Method according to claim 8, characterized in that that by encrypting obtained signal sequence (prandom ') extended is done by looping through the first-mentioned signal sequence (prandom ') respectively with a counter value (i) connected and a result of this linkage again by means of the key (s) encrypted where is the counter value (i) is changed once for each loop cycle. 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.Method according to Claim 8, characterized in that the signal sequence (prandom ') obtained by the encryption is lengthened by passing through a loop, one at each time Once the counter cycle (i) has been changed in the loop cycle, it is first encrypted by means of the key (s) and a ciphertext thus obtained during each loop cycle is linked to the first-mentioned signal sequence (prandom '). 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.Method according to one of claims 1 to 10, characterized that the signal sequence used to form the password (PW) (prandom) in blocks defined length (k) is divided and each one dependent on a password length number of blocks is assigned to a password character after a predetermined code. 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.Method according to one of claims 1 to 11, characterized that the at least one application-specific password rules defining Input size (r) thereby is taken into account that a password (PW) formed in the described manner as a candidate just then rejected and by a suitably formed further candidate replaced if it is not compatible with the password rules. 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.Method according to one of claims 1 to 12, characterized that after entering the main password (HPW) by a user in described password (PW) automatically to answer a password request of the corresponding application is entered or is cached in a clipboard of a terminal. 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.Method according to one of claims 1 to 13, characterized in that it is carried out on a terminal, wherein the input quantities in a memory ( 11 ) are stored by a server different from the terminal and are read from there. 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.Method according to claim 14, characterized in that that one to dial in the server required server password (SPW) in the terminal automatically from the main password (HPW) is generated, preferably by a the method for generating the application-specific passwords (PW) corresponding method in which the server password (SPW) associated Input quantities (aid ', bid', v ', r') are defined. Verfahren nach einem der Ansprüche 14 oder 15, dadurch gekennzeichnet, dass die Eingabegrößen in einem Speicher (13) des Endgeräts zwischengespeichert werden.Method according to one of Claims 14 or 15, characterized in that the input variables are stored in a memory ( 13 ) of the terminal are cached. 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.Method according to one of claims 1 to 16, characterized that one to carry the procedure on a terminal needed program downloaded from a server and installed on the device or as a signed applet is only temporarily available on the terminal. Programmtechnisch zur Durchführung eines Verfahrens nach einem der Ansprüche 1 bis 17 eingerichtete Vorrichtung.Programmtechnisch for performing a method according to one of the claims 1 to 17 equipped device. 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.Device according to claim 18, comprising means ( 1 ) for executing a key derivation function for forming a key (s) of predetermined length (sl) from an input main password (HPW), concatenation means ( 2 ) for forming a character string from respectively read-in or input input variables, encryption means for forming a pseudo-random signal sequence (prandom ') from that of the concatenation means ( 2 ) formed by the means ( 1 ) for executing the key derivation function key (s), a signal sequence generator ( 5 ) for generating an extended, also pseudo-random signal sequence (prandom) from the first-mentioned signal sequence (prandom ') output by the encryption means and means ( 6 ) for performing a password derivation function for character-wise formation of the application-specific password (PW) from the latter signal sequence (prandom) taking into account the password rules. 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.Apparatus according to claim 19, comprising a memory ( 13 ), which serves as a local profile store for input or input input variables, and from which the input variables into the concatenation means ( 2 ) and / or into the funds ( 6 ) for executing the password derivation function are readable. 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.Device according to one of claims 19 or 20, characterized in that, in addition to a terminal comprising said features, it comprises a server separate from said terminal and having a memory ( 11 ), from which the input variables are readable. 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.Apparatus according to claim 21, characterized in that the terminal further comprises means (PF ') for performing a password-forming function for forming a server password (SPW) from the main password (HPW), wherein the server password (SPW) of an access control unit (SPW) 12 ) of the server is input. 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).Device according to one of claims 18 to 22, additionally comprising means ( 10 ) for performing a one-way function for calculating an optical mark (OM) from the main password (HPW) and means for displaying the optical mark (OM). 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.Device according to one of claims 19 to 23, comprising a buffer ( 9 ) for intermediate sampling the signal sequence (prandom ') obtained by encoding the character string, from which this signal sequence (prandom') is written several times into the signal sequence generator ( 5 ) is read. Verwendung einer Vorrichtung nach einem der Anspruche 18 bis 24 zur Durchführung eines Verfahrens nach einem der Ansprüche 1 bis 17.Use of a device according to one of the claims 18 to 24 to carry A method according to any one of claims 1 to 17.
DE200610008318 2006-02-20 2006-02-20 Method and device for automatically generating passwords Active DE102006008318B4 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE200610008318 DE102006008318B4 (en) 2006-02-20 2006-02-20 Method and device for automatically generating passwords

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200610008318 DE102006008318B4 (en) 2006-02-20 2006-02-20 Method and device for automatically generating passwords

Publications (2)

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

Family

ID=38319758

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200610008318 Active DE102006008318B4 (en) 2006-02-20 2006-02-20 Method and device for automatically generating passwords

Country Status (1)

Country Link
DE (1) DE102006008318B4 (en)

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 (en) * 2002-12-26 2004-07-22 Fujitsu Limited Password control device
DE10110316B4 (en) * 2000-03-15 2004-09-23 International Business Machines Corp. Secure password entry
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 (en) * 2000-03-15 2004-09-23 International Business Machines Corp. Secure password entry
WO2004061691A1 (en) * 2002-12-26 2004-07-22 Fujitsu Limited Password control device
US20050071645A1 (en) * 2003-09-25 2005-03-31 International Business Machines Corporation Algorithmic generation of passwords

Also Published As

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

Similar Documents

Publication Publication Date Title
DE69929251T2 (en) ENCRYPTION SYSTEM WITH A KEY OF CHANGING LENGTH
EP2433242B1 (en) Use of a string of characters in systems of cryptography, statistics, simulation, randomization, gaming machines and the like
DE69634880T2 (en) METHOD AND DEVICE FOR CONTROLLED ACCESS TO ENCRYPTED DATA STORES IN A COMPUTER SYSTEM
DE60203711T2 (en) METHOD FOR AUTHENTICATING MULTIPLE FILES ASSOCIATED WITH A TEXT DOCUMENT
EP2605445A1 (en) Method and apparatus for securing block ciphers against template attacks
DE102009052174B3 (en) Method for authenticating user at computer unit i.e. data processing and/or communication device for use on e.g. software-operated device, involves evaluating sequence of traction vectors and symbol, source and target position identifiers
DE202011110895U1 (en) Real-time synchronized editing of documents by multiple users for blogging
DE10240875B4 (en) Safe reference printing using personal electronic devices
EP2595341B1 (en) User rights management and access control system with time limitation
EP1290905B1 (en) Method for the cryptographically verifiable identification of a physical unit in a public, wireless telecommunications network
DE102017201142A1 (en) Method for encrypting and decrypting data with a one-time key
DE19953055C2 (en) Device and method for the protected output of an electronic document via a data transmission network
DE102006008318B4 (en) Method and device for automatically generating passwords
EP3053317B1 (en) Method for authentication with respect to a server
EP2057778B1 (en) Method for authentication
DE102004027616A1 (en) Method for encrypting and decrypting character strings
DE102006049814B4 (en) Method and device for generating and storing auxiliary variables assigned to a secret combination and for recovering the secret combination
DE60205176T2 (en) Device and method for user authentication
DE102007046102B4 (en) A method for protecting against modification of data and for authenticating the data transmitter in the data transmission by using encryption methods in which, with knowledge of encrypted and unencrypted data, other data can no longer be encrypted correctly as randomly.
WO2002028005A2 (en) Method and reader used to produce digital signatures
DE4107266C2 (en) Process for fast encryption or decryption of large files using a chip card
WO1997032417A1 (en) Process for generating a check word for a bit sequence for verifying the integrity and authenticity of the bit sequence
DE102014201846A1 (en) Method for the secure transmission of characters
DE10028265A1 (en) Decoding of an encoded document transmission received over the Internet
DE10158003B4 (en) Method for generating keys for data encryption and method for data encryption

Legal Events

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