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 PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3226—Cryptographic 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
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
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,
- 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,
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.
- 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
Die
in
Die
Verschlüsselungsmittel
umfassen bei den gezeigten Ausführungsbeispielen
eine Reihe von XOR-Verknüpfungen
Aus
einem dem Signalfolgengenerator
Bei
der in
Bei
der in
Die
in den
Nach
dem in der
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
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
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
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
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
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)
- • 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
Claims (25)
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)
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 |
-
2006
- 2006-02-20 DE DE200610008318 patent/DE102006008318B4/en active Active
Patent Citations (4)
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 |