DE102006049814A1 - Auxiliary variable producing and storing method, involves determining block position of each of data blocks for each of characters of secret combination, and storing determined block positions in memory as auxiliary variables - Google Patents

Auxiliary variable producing and storing method, involves determining block position of each of data blocks for each of characters of secret combination, and storing determined block positions in memory as auxiliary variables Download PDF

Info

Publication number
DE102006049814A1
DE102006049814A1 DE200610049814 DE102006049814A DE102006049814A1 DE 102006049814 A1 DE102006049814 A1 DE 102006049814A1 DE 200610049814 DE200610049814 DE 200610049814 DE 102006049814 A DE102006049814 A DE 102006049814A DE 102006049814 A1 DE102006049814 A1 DE 102006049814A1
Authority
DE
Germany
Prior art keywords
secret
character
secret combination
component
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE200610049814
Other languages
German (de)
Other versions
DE102006049814B4 (en
Inventor
Ruben Wolf
Markus Schneider
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Original Assignee
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV filed Critical Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Priority to DE200610049814 priority Critical patent/DE102006049814B4/en
Publication of DE102006049814A1 publication Critical patent/DE102006049814A1/en
Application granted granted Critical
Publication of DE102006049814B4 publication Critical patent/DE102006049814B4/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

The method involves calculating a pseudo-random signal sequence in dependence of an entered main password (MPW). Data blocks of definite length are extracted from the signal sequence, where the data blocks are assigned characters of an alphabet (A) by coding of the alphabet. The extracted data blocks are compared with characters (gi) of a secret combination (g) e.g. transaction number, under consideration of the coding. A block position (bpi) of each data block is determined for each character of the secret combination. The block positions are stored in a memory (4) as auxiliary variables. Independent claims are also included for the following: (1) a method for recovering a secret combination from an auxiliary variable and a main password (2) a program technical device for implementing a method for producing and storing an auxiliary variable and a method for recovering a secret combination from an auxiliary variable and a main password.

Description

Die vorliegende Erfindung betrifft ein Verfahren zum automatischen Erzeugen und Speichern von Hilfsgrößen, die jeweils einer anwendungsspezifischen Geheimkombination zugeordnet sind, in Abhängigkeit von einem Hauptpasswort und der jeweiligen Geheimkombination, sowie ein Verfahren zum Wiedergewinnen einer Geheimkombination aus so erzeugten Hilfsgrößen und dem entsprechenden Hauptpasswort. Die Erfindung betrifft ferner eine zur Durchführung zumindest eines dieser Verfahren programmtechnisch eingerichteten Vorrichtung.The The present invention relates to a method for automatic generation and storing auxiliary quantities that each associated with an application-specific secret combination are, depending from a master password and the respective secret combination, as well a method for recovering a secret combination from so generated Auxiliary sizes and the corresponding main password. The invention further relates one to carry at least one of these methods program-technically established Contraption.

Die Erfindung betrifft insbesondere ein Verfahren und eine entsprechende Vorrichtung zur sicheren und benutzerfreundlichen Aufbewahrung von Authentifizierungsdaten wie beispielsweise Passwörter, Persönli chen Identifikations-Nummern (PINs) oder Transaktionsnummern (TANs). Hierbei handelt es sich um personenbezogene Geheimnisse, mit denen Benutzer die Echtheit der von ihnen behaupteten Identität beweisen. Passwörter werden in der Regel zusammen mit einer Kennung – oftmals auch als Login bezeichnet – verwendet, die den Benutzer identifiziert, wobei der Login-Name öffentlich bekannt sein kann, das Passwort jedoch geheim gehalten wird. Passwörter sind Zeichenketten, welche aus Buchstaben, Ziffern und Sonderzeichen bestehen können. Bei einer PIN handelt es sich um eine an einen Benutzer ausgegebene mehrstellige Kombination aus Ziffern, welche oftmals zusammen mit Authentifizierungstoken zur Benutzerauthentifizierung eingesetzt wird, wie dies beispielsweise bei ec-Karten oder Kreditkarten der Fall ist. Bei TANs handelt es sich in der Regel um mehrstellige Kombinationen aus Ziffern, welche zusätzlich zu PIN oder Passwort eingegeben werden, wobei der Benutzer aus der Liste der an ihn ausgegebenen TANs bei jeder Transaktion eine neue und bisher noch nicht verwendete TAN wählen muss, da jede TAN nur genau einmal akzeptiert wird. Die Reihenfolge zur Verwendung der TANs ist entweder durch die Reihenfolge der TANs in der Liste gegeben, wie diese an die Benutzer ausgegeben wird, oder die TANs sind indiziert – wie beim sogenannten iTAN-Verfahren – und der Benutzer verwendet bei einer Transaktion genau diejenige TAN, zu welcher er von der Gegenseite durch Angabe des jeweiligen Index aufgefordert wurde.The The invention particularly relates to a method and a corresponding one Device for the secure and user-friendly storage of authentication data such as passwords, Personal Identification numbers (PINs) or transaction numbers (TANs). These are personal secrets with which Users prove the authenticity of their claimed identity. passwords are usually used together with an identifier - often referred to as a login - identifying the user, where the login name may be publicly known, the password is kept secret. Passwords are strings, which can consist of letters, numbers and special characters. at a PIN is a message issued to a user Multi-digit combination of numbers, often together with Authentication token is used for user authentication, such as ec-cards or credit cards is the case. TANs are usually multi-digit combinations of numbers, which in addition to PIN or password can be entered, the user from the List of TANs issued to him on each transaction a new and previously unused TAN must choose, since each TAN only is accepted once. The order to use the TANs are given either by the order of TANs in the list, like this is issued to the users, or the TANs are indexed - as with the so-called iTAN method - and the user uses exactly the same TAN in a transaction, to which he from the opposite side by indication of the respective index was asked.

Es zeigt sich an vielen Stellen, dass Benutzer zugangsbeschränkter Geräte, Anwendungen und Dienste in der Praxis durch die Anforderungen eines Umgangs mit einer Vielzahl von im Alltag benötigten Geheimkombinationen, die für eine Benutzung zugangsbeschränkter Geräte, Anwendungen und Dienste benötigt werden, überfordert sind.It shows in many places that users access restricted devices, applications and services in practice by the requirements of a deal with a variety of secret combinations needed in everyday life, the for a use of restricted devices, applications and services needed become overwhelmed are.

Mittlerweile existieren eine Reihe von Ansätzen und Lösungen, deren Ziel es ist, Benutzer im Umgang mit ihren Geheimkombinationen (Passwörtern, PINs, TANs) zu unterstützen. In diesem Zusammenhang wurden beispielsweise technische Lösungen entwickelt, bei welchen anwendungsspezifische Geheimkombinationen generiert und/oder abgespeichert werden. Der Zugriff zu den abgespeicherten Geheimnissen wird hierbei in der Regel ebenfalls mittels eines zentralen Geheimnisses oder mittels biometrischer Methoden kontrolliert. Bei einigen Ansätzen werden die Geheimkombinationen in verschlüsselter Form in einem persistenten Speicher des Endgeräts aufbewahrt, wie dies beispielsweise bei einer Vielzahl von Programmen zum Passwortmanagement geschieht (z.B. Passwortspeicher in Web-Browsern). Ein patentiertes Verfahren zur zentralen Abspeicherung von anwendungsspezifischen Passwörtern und mit Hauptpasswort geschütztem Zugang wird in US 6,006,333 A beschrieben. In den Druckschriften EP 1 591 867 A2 und DE 199 38 001 A1 werden Erfindungen beschrieben, bei welchen Geheimnisse zugangsgeschützt, z.B. verschlüsselt, in portablen Speichern abgelegt werden. Alle Verfahren mit verschlüsselter Speicherung von Geheimkombinationen haben die Eigenschaft, dass ein Angreifer mit Zugriff auf die verschlüsselten Geheimkombinationen Hauptpasswörter testen kann und dann anhand der Entschlüsselungsergebnisse überprüfen kann, ob er das korrekte Hauptpasswort geraten hat. Dies ist beispielsweise dann möglich, wenn die Geheimkombination mit Redundanz verschlüsselt wurde. Eine Verschlüsselung von Klartexten mit Redundanz liegt etwa dann vor, wenn nicht alle theoretisch denkbaren Kombinationen von verschlüsselbaren Klar texten in der Praxis als Klartext auftreten. Dies bedeutet, dass ausgehend von einem gegebenen Verschlüsselungsergebnis ein getesteter Schlüssel verworfen werden kann, wenn die damit erhaltenen Entschlüsselungsergebnisse solche Zeichen oder Zeichenkombinationen beinhalten, die in der Praxis nicht als Klartextzeichen oder als Kombinationen von Klartextzeichen auftreten. Als Beispiel hierfür sei die Verschlüsselung von ASCII-kodierten Geheimkombinationen genannt. Liefert eine verschlüsselte Geheimkombination bei Eingabe eines Hauptpassworts hierbei ein Resultat, welches nichtdarstellbare ASCII-Zeichen beinhaltet, dann ist davon auszugehen, dass das getestete Hauptpasswort nicht korrekt war. Gleiches gilt für Entschlüsselungsversuche bei einer verschlüsselten PIN, bei welcher man als Ergebnis eine Zeichenkombination erhält, welche nicht ausschließlich aus Ziffern besteht; in diesem Fall wäre es ebenfalls sofort offensichtlich, dass das falsche Hauptpasswort eingegeben wurde.There are now a number of approaches and solutions that aim to assist users in dealing with their secret combinations (passwords, PINs, TANs). In this context, for example, technical solutions have been developed in which application-specific secret combinations are generated and / or stored. Access to the stored secrets is usually also controlled by means of a central secret or by means of biometric methods. In some approaches, the secret combinations are stored in encrypted form in a persistent memory of the terminal, as is the case for a variety of password management programs (eg password storage in web browsers). A patented method for centrally storing application-specific passwords and password-protected access is provided in US 6,006,333 A described. In the pamphlets EP 1 591 867 A2 and DE 199 38 001 A1 Inventions are described in which secrets access protected, eg encrypted, stored in portable storage. All encrypted secret combination storage methods have the property that an attacker with access to the encrypted secret combinations can test main passwords and then use the decryption results to verify that he has the correct master password. This is possible, for example, if the secret combination was encrypted with redundancy. An encryption of plain texts with redundancy is present, for example, if not all theoretically conceivable combinations of encryptable plain text occur in practice in plain text. This means that, based on a given encryption result, a tested key can be discarded if the decryption results obtained therewith contain those characters or character combinations which in practice do not appear as plain-text characters or as combinations of plain-text characters. An example of this is the encryption of ASCII-coded secret combinations. If an encrypted secret combination supplies a result which contains non-writable ASCII characters when a main password is entered, then it can be assumed that the main password tested was incorrect. The same applies to decryption attempts with an encrypted PIN, in which the result is a character combination which does not consist exclusively of digits; in this case it would also be immediately apparent that the wrong master password was entered.

Gelingt es einem Angreifer auf die nach dem heutigen Stand der Technik erzeugten Chiffretexte von Geheimkombinationen zuzugreifen, dann kann er so lange Hauptpasswörter austesten, bis er ein Ergebnis erhält, welches ausschließlich die geforderten Zeichen oder akzeptierbare Zeichenkombinationen enthält. Je nach Redundanz der Klartexte kann die Wahrscheinlichkeit sehr groß sein, dass es sich bei einem solchen positiv getesteten Hauptpasswort tatsächlich um das korrekte Passwort handelt. Solche Angriffe werden in der Praxis dadurch begünstigt, wenn ein Benutzer ein schwaches Hauptpasswort wählt, was bei vielen Benutzern zutrifft.If an attacker succeeds in accessing secret ciphers generated by the current state of the art, then he can test out main passwords until he obtains a result which exclusively contains the required characters or acceptable character combinations contains. Depending on the redundancy of the plaintext, the probability can be very high that such a positively tested main password is actually the correct password. Such attacks are in practice favored by a user choosing a weak master password, which is common to many users.

Ein Verfahren, auf Basis dessen einem Benutzer auf einem mitgeführten Endgerät wie beispielsweise einem Mobiltelefon oder einem PDA die benötigten Geheimkombinationen wie Passwörter, PINs oder TANs zur Verfügung stehen, ist an sich hilfreich. Der Benutzer wird dadurch davon befreit, sich alle Geheimkombinationen merken zu müssen und muss sich nur noch eine einzige Geheimkombination, nämlich ein sogenanntes Hauptpasswort merken. Da jedoch mobile Endgeräte oftmals verloren gehen oder auch gestohlen werden, ist es wünschenswert, dass entsprechende Informationen möglichst sicher abgelegt werden. Das bedeutet, dass unbefugte Dritte auch bei einem Zugriff auf das Endgerät nicht an die Geheimkombinationen gelangen können sollen, d.h. dass sie im Idealfall nicht entscheiden können sollen, ob es sich bei einem eingegebenen Hauptpasswort um das korrekte Hauptpasswort handelt. Das Ziel des mit der vorliegenden Erfindung vorgeschlagenen Verfahrens besteht darin, dass ein Angreifer, anders als bei vergleichbaren Verfahren aus dem Stand der Technik, durch das Austesten von Hauptpasswörtern – auch bei potentiell schwach gewählten Hauptpasswörtern – anhand von mit Hilfe des entsprechenden Hauptpassworts erhaltenen Ergebnissen für Geheimkombinationen nicht unterscheiden kann, ob das getestete Hauptpasswort korrekt ist oder nicht.One A method based on which a user on a mobile terminal such as a cell phone or a PDA the required secret combinations like passwords, PINs or TANs available stand is helpful in itself. The user is thereby freed to remember all secret combinations and only has to a single secret combination, namely a so-called main password notice. However, since mobile devices Often lost or stolen, it is desirable that appropriate information as possible be stored safely. That means that unauthorized third parties too when accessing the terminal should not be able to access the secret combinations, i. that she ideally should not be able to decide whether the main password entered is the correct one Main password is. The aim of with the present invention proposed method is that an attacker, otherwise as in comparable methods of the prior art, by the testing of main passwords - also at potentially weakly chosen Main passwords - based of results obtained using the corresponding main password for secret combinations can not distinguish whether the tested main password is correct is or not.

Der vorliegenden Erfindung liegt also die Aufgabe zugrunde, ein Verfahren und eine entsprechende Vorrichtung zu entwickeln, mit denen sich Informationen so speichern lassen, dass sich aus diesen Informationen eine Vielzahl von Geheimkombinationen, die insbesondere für einen Zugang zu zugangsbeschränkten Geräten benötigt werden können, mit Hilfe eines einzigen Hauptpassworts wiedergewinnen und ausgeben lassen, ohne dass ein Dritter, der auf diese Informationen oder die Vorrichtung Zugriff hätte, das Hauptpasswort oder die Geheimkombinationen ermitteln könnte. Mit der Erfindung soll ferner ein Verfahren und eine entsprechende Vorrichtung vorgeschlagen werden, mit denen die Geheimkombinationen mittels des Hauptpassworts aus den gespeicherten Informationen zurückgewonnen werden können.Of the The present invention is therefore based on the object, a method and to develop a corresponding device with which Save information so that this information a variety of secret combinations, especially for a Access to restricted access devices needed can be recover and spend with the help of a single main password leave without a third party to this information or the device would have access, could identify the main password or the secret combinations. With The invention is further a method and a corresponding device be proposed with which the secret combinations by means of of the main password can be recovered from the stored information can.

Diese Aufgabe wird erfindungsgemäß gelöst durch ein Verfahren mit den Merkmalen des Anspruchs 1 und ein Verfahren mit den Merkmalen des Anspruchs 16 sowie durch eine Vorrichtung mit den Merkmalen des Anspruchs 21. 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 a method with the features of claim 16 and by a device with the features of claim 21. Advantageous embodiments and further developments of the invention will become apparent with the features the dependent claims.

Das vorgeschlagene Verfahren zum automatischen Erzeugen und Speichern von jeweils einer anwendungsspezifischen Geheimkombination zugeordneten Hilfsgrößen in Abhängigkeit von einem Hauptpasswort und der jeweiligen Geheimkombination, das eine Rekonstruktion der entsprechenden Geheimkombination mit Hilfe des Hauptpassworts aus den dieser Geheimkombination zugeordneten Hilfsgrößen erlaubt, umfasst also die Schritte:

  • – Berechnen einer pseudozufälligen Signalfolge in Abhängigkeit von dem eingegebenen Hauptpasswort,
  • – Extrahieren von Datenblöcken bestimmter Länge aus der pseudozufälligen Signalfolge, wobei die Datenblöcke durch eine Kodierung eines Alphabets, aus dem die Geheimkombination gebildet ist, jeweils einem Zeichen aus diesem Alphabet zugeordnet sind,
  • – Vergleichen der extrahierten Datenblöcke mit Zeichen aus der Geheimkombination unter Berücksichtigung dieser Kodierung,
  • – Bestimmen einer Blockposition – eine Position des jeweiligen Datenblocks in der pseudozufälligen Signalfolge definierend – jeweils eines der Datenblöcke für jedes Zeichen aus der Geheimkombination, so dass dieser Datenblock durch die Kodierung diesem Zeichen zugeordnet ist, und
  • – Speichern der so bestimmten Blockpositionen in einem Speicher.
The proposed method for the automatic generation and storage of auxiliary variables assigned in each case to an application-specific secret combination as a function of a main password and the respective secret combination which allows a reconstruction of the corresponding secret combination with the help of the main password from the auxiliary variables assigned to this secret combination thus comprises the steps:
  • Calculating a pseudo-random signal sequence as a function of the input main password,
  • Extracting data blocks of a specific length from the pseudorandom signal sequence, wherein the data blocks are each assigned to a character from this alphabet by coding an alphabet from which the secret combination is formed;
  • Comparing the extracted data blocks with characters from the secret combination taking into account this coding,
  • Determining a block position - defining a position of the respective data block in the pseudo-random signal sequence - each one of the data blocks for each character from the secret combination, so that this data block is assigned by the coding that character, and
  • - Save the block positions determined in a memory.

Typischerweise werden dabei die Hilfsgrößen in Abhängigkeit auch von mindestens einer weiteren, vorzugsweise anwendungsspezifischen, Eingabegröße gebildet, wobei die pseudozufällige Signalfolge zusätzlich in Abhängigkeit von dieser mindestens einen weiteren Eingabegröße berechnet wird.typically, while the auxiliary sizes are dependent also of at least one further, preferably application-specific, Input size formed, being the pseudorandom one Signal sequence in addition dependent on is calculated by this at least one other input size.

Das entsprechende Verfahren zum Wiedergewinnen einer Geheimkombination aus mittels eines Verfahrens zuvor beschriebener Art erzeugten Hilfsgrößen und dem entsprechenden Hauptpasswort sieht vor, dass jedes Zeichen der Geheimkombination ermittelt wird, indem

  • – nach Eingabe des Hauptpassworts zumindest ein Teil der pseudozufälligen Signalfolge wie bei dem Verfahren zum Erzeugen der Hilfsgrößen berechnet wird,
  • – der durch die diesem Zeichen zugeordnete Blockposition definierte Datenblock aus der pseudozufälligen Signalfolge extrahiert wird,
  • – dieser Datenblock gemäß der Kodierung des Alphabets, aus dem die Geheimkombination gebildet ist, einem Zeichen zugeordnet wird, wobei das gleiche Alphabet verwendet wird, welches auch bei der Erzeugung der Hilfsgrößen für die Geheimkombination verwendet wurde, und
  • – dieses Zeichen ausgegeben wird.
The corresponding method for recovering a secret combination of auxiliary quantities generated by a method as described above and the corresponding master password provides that each character of the secret combination is determined by
  • After the input of the main password at least a part of the pseudo-random signal sequence is calculated as in the method for generating the auxiliary quantities,
  • The data block defined by the block position assigned to this character is extracted from the pseudo-random signal sequence,
  • - This data block is assigned to a character according to the coding of the alphabet from which the secret combination is formed, using the same alphabet, which is also used in the generation of the auxiliary quantities for the Ge homecombination was used, and
  • - this character is output.

Die der jeweiligen Geheimkombination zugeordneten Hilfsgrößen können dabei vorteilhafterweise direkt aus dem Speicher eingelesen werden. Eingegeben wird zur Berechnung der pseudozufälligen Signalfolge oder des Teils der pseudozufälligen Signalfolge typischerweise auch die mindestens eine weitere Eingabegröße, die je nach Eingabegröße und je nach Ausführung des Verfahrens manuell eingegeben oder ebenfalls aus dem Speicher eingelesen werden kann. Von Hand eingegeben wird typischerweise sowohl bei dem Verfahren zum Erzeugen und Speichern der Hilfsgrößen als auch bei dem Verfahren zum Wiedergewinnen der Geheimkombination eine als Eingabegröße dienende Anwendungsidentifikation.The The auxiliary variables assigned to the respective secret combination can thereby advantageously be read directly from the memory. input is used to calculate the pseudo-random signal sequence or the Part of the pseudorandom Signal sequence typically also the at least one other input size, the depending on the input size and each after execution of the procedure manually entered or also from the memory can be read. Typed by hand is typically both in the method for generating and storing the auxiliary quantities as also in the process of recovering the secret combination one serving as an input Application identification.

Die beiden vorgeschlagenen Verfahren ermöglichen es einem Nutzer mehrerer Dienste und/oder Geräte mit einer aus Sicherheitsgründen vorgesehenen Zugangsbeschränkung, die jeweils eine Eingabe einer Geheimkombination erforderlich macht, in vorteilhafter Weise, sich mit dem Hauptpasswort nur ein Geheimnis merken zu müssen, mit Hilfe dessen er jederzeit jede benötigte Geheimkombination berechnen kann, ohne dass ein Zugriff auf die dazu im Speicher gespeicherten Hilfsgrößen einem Dritten irgendeinen Hinweis auf eine der Geheimkombinationen geben könnte.The Both proposed methods allow one user multiple Services and / or devices with one provided for safety reasons Restricted Area each requiring an entry of a secret combination, in an advantageous way, with the main password just a secret to have to remember with the help of which he can calculate any needed secret combination at any time can, without having access to it stored in memory Auxiliary sizes one Give any third party any indication of any of the secret combinations could.

Bei den genannten anwendungsspezifischen Geheimkombinationen kann es sich beispielsweise um PINs, TANs oder Passwörter handeln, die für einen Zugang zu einem technischen Gerät oder für eine bestimmte Anwendung eines solchen Gerätes benötigt werden können.at It can do this named application-specific secret combinations For example, PINs, TANs or passwords that are used for a Access to a technical device or for one certain application of such a device may be required.

Die pseudozufällige Signalfolge kann bei bevorzugten Ausführungen der Erfindung als Prüfsumme oder als Message Authentication Code (MAC) eines in Abhängig keit von der mindestens einen Eingabegröße und gegebenenfalls auch einem Zählerstand definierten Textes gebildet werden, wobei diese Prüfsumme oder dieser MAC in Abhängigkeit vom Hauptpasswort generiert wird.The pseudorandom Signal sequence may in preferred embodiments of the invention as a checksum or as Message Authentication Code (MAC) of a dependent from the at least one input size and possibly also a count defined text are formed, this checksum or this MAC depending generated by the main password.

Der Begriff "Alphabet" sei hier ganz allgemein für eine Menge von Zeichen – eventuell auch oder sogar ausschließlich Ziffern enthaltend – verwendet, aus denen – unter Berücksichtigung eventueller Passwortregeln – die jeweilige Geheimkombination zu bilden ist. Das Alphabet enthält also alle diejenigen Zeichen, die theoretisch in der Geheimkombination enthalten sein können. Dabei ist jeder denkbaren Belegung eines Datenblocks aus der pseudozufälligen Signalfolge genannter Länge ein Zeichen aus dem Alphabet zugeordnet, um eine redundanzfreie Zuordnung von Hauptpasswörtern, Geheimkombinationen und Hilfsgrößen zu erhalten. Damit sich jede Geheimkombination darstellen lässt, ist ferner jedes Element aus dem Alphabet mindestens einer möglichen Belegung eines Datenblocks genannter Länge zugeordnet. Üblicherweise wird die pseudozufällige Signalfolge eine Folge binärer Signale sein, so dass jede Binärkombination genannter Länge genau einem Zeichen aus dem Alphabet zugeordnet ist. Das Vergleichen der extrahierten Datenblöcke mit einem Zeichen aus der Geheimkombination kann geschehen, indem zunächst dieser Datenblock gemäß der Kodierung des Alphabets einem Kodierungswert, also einem Zeichen aus diesem Alphabet, zugeordnet wird und dann dieser Kodierungswert mit dem Zeichen aus der Geheimkombination verglichen wird oder indem zunächst alle möglichen Kodierungen eines Zeichens aus der Geheimkombination ermittelt werden und dann geprüft wird, ob die Belegung des Datenblocks einer dieser Kodierungen des Zeichens aus der Geheimkombination entspricht.Of the The term "alphabet" is quite general here for one Amount of characters - possibly also or even exclusively Containing digits - used, from those - under consideration any password rules - the each secret combination is to form. So the alphabet contains all those characters that are theoretically in the secret combination may be included. Any conceivable assignment of a data block from the pseudo-random signal sequence is thereby said length a character from the alphabet assigned to a redundancy-free Assignment of main passwords, To obtain secret combinations and auxiliary sizes. Further, every element is to represent each secret combination from the alphabet of at least one possible assignment of a data block said length assigned. Usually becomes the pseudorandom one Signal sequence is a sequence of binary Be signals, so any binary combination said length is associated with exactly one character from the alphabet. The comparison the extracted data blocks with A character from the secret combination can happen by first doing this Data block according to the coding of the alphabet a coding value, so a sign from this Alphabet, and then this encoding value with the Characters from the secret combination is compared or by first all potential Codings of a character can be determined from the secret combination and then tested whether the assignment of the data block is one of these codings of the character from the secret combination corresponds.

Der Begriff "Blockposition" sei ganz allgemein verstanden als Positionsangabe, aus der sich ergibt, wo der jeweilige Datenblock in der pseudozufälligen Signalfolge zu finden ist. Typischerweise werden die Datenblöcke aus einer ihrer Länge entsprechenden Folge aufeinanderfolgender Zeichen aus der Signalfolge bestehen, so dass unter Umständen jede Blockposition durch lediglich eine Zahl gegeben sein kann.Of the The term "block position" is quite general understood as a position indication, from which results, where the respective Data block in the pseudo-random Signal sequence can be found. Typically, the data blocks are off one of their length corresponding sequence of consecutive characters from the signal sequence so that every possible Block position can be given by only one number.

Anders als die Hilfsgrößen, die in dem Speicher gespeichert werden, um für eine Wiedergewinnung der Geheimkombinationen zur Verfügung zu stehen, sind das Hauptpasswort und die Geheimkombinationen typischerweise nur vorübergehend in einem Arbeitsspeicher vorhanden oder sollten zumindest nach einer bestimmten Zeit automatisch gelöscht werden. Zur Bildung der pseudozufälligen Signalfolge können neben dem eingegebenen Hauptpasswort und weiteren einzugebenden Eingabegrößen auch solche Größen verwendet werden, die durch die jeweilige Geheimkombination implizit definiert sind. In Frage kommt dafür beispielsweise ein Index, der angibt, an welcher Stelle das Zeichen, für das eine Hilfsgröße zu berechnen ist, in der jeweiligen Geheimkombination steht.Different as the auxiliary sizes, the be stored in the memory for recovery of the Secret combinations available The main password and the secret combinations are typical only temporarily in a working memory or should at least after a certain time automatically deleted become. To form the pseudo-random signal sequence can next the entered main password and other input variables also used such sizes which are implicitly defined by the respective secret combination are. In question comes for it For example, an index indicating where the character, for the to calculate an auxiliary size is, in the respective secret combination stands.

Eine bevorzugte Ausführung des vorgeschlagenen Verfahrens sieht vor, dass die pseudozufällige Signalfolge berechnet wird, indem aus dem eingegebenen Hauptpasswort mittels einer Schlüsselableitungsfunktion ein Schlüssel erzeugt wird und dann eine in Abhängigkeit von der mindestens einen weiteren Eingabegröße gebildete Zeichenkette mit diesem Schlüssel verschlüsselt wird. Aus Sicherheitsgründen sollte die Schlüsselableitungsfunktion dabei so beschaffen sein, dass jede Stelle des Schlüssels von der Belegung je der Stelle des Hauptpassworts abhängig ist, wobei die Schlüsselableitungsfunktion vorzugsweise ferner geeignet sein sollte, unabhängig von einer Länge des Hauptpassworts einen Schlüssel vorgegebener Länge zu bilden. Derartige Schlüsselableitungsfunktionen sind an sich bekannt. Selbstverständlich kann die pseudozufällige Signalfolge aber auch in anderer Weise gebildet werden, beispielsweise durch Hashen einer aus der mindestens einen Eingabegröße und dem Hauptpasswort gebildeten Zeichenkette. Bevorzugt sind dagegen Ausführungen der Erfindung, bei denen mindestens zwei der weiteren Eingabegrößen zur Bildung einer Zeichenkette verkettet werden, eventuell mit Trennzeichen zwischen den einzelnen Eingabegrößen, und die so gebildete Zeichenkette mit einem aus dem Hauptpasswort gebildeten Schlüssel verschlüsselt wird.A preferred embodiment of the proposed method provides that the pseudo-random signal sequence is calculated by generating a key from the input main password by means of a key derivation function and then encrypting a character string formed as a function of the at least one further input variable with this key. For security reasons, the key derivation function should be such that each digit of the key is dependent on the occupation of each location of the main password, the key derivation Preferably, further function should be suitable, regardless of a length of the main password to form a key of predetermined length. Such key derivation functions are known per se. Of course, however, the pseudo-random signal sequence can also be formed in another way, for example by hashing a character string formed from the at least one input variable and the main password. Conversely, embodiments of the invention in which at least two of the further input variables are concatenated to form a character string, possibly with separators between the individual input variables, and the character string thus formed is encrypted with a key formed from the main password.

Vorteilhafte Ausgestaltungen der Erfindung sehen vor, dass die Zeichenkette blockweise und vorzugsweise symmetrisch verschlüsselt wird, beispielsweise unter Verwendung des an sich bekannten Advanced Encryption Standards (AES), der eine ausgesprochen hohe Sicherheit gewährleistet. Dabei kann die Zeichenkette in Blöcke bestimmter Länge eingeteilt werden und ein Klartext und/oder ein Chiffrat jedes der Blöcke jeweils mit dem Klartext oder Chiffrat eines anderen Blocks bitweise XOR-verknüpft werden. Bevorzugt ist dabei eine als cipher block chaining (CBC) bezeichnete Verknüpfung der Blöcke, bei der ab einem zweiten Block jeder Block aus der Zeichenkette mit einem Chiffrat des jeweils vorhergehenden Blockes XOR-verknüpft wird und ein Ergebnis dieser Verknüpfung verschlüsselt wird zu einem Chiffrat, dass wiederum ggf. mit einem weiteren Block XOR-verknüpft wird.advantageous Embodiments of the invention provide that the character string block by block and preferably symmetrically encrypted, for example using the well-known Advanced Encryption Standards (AES), which ensures a very high level of security. The string can be divided into blocks of a certain length and a clear text and / or a cipher of each of the blocks respectively be bit-wise XORed with the plaintext or cipher of another block. Preferred is one referred to as cipher block chaining (CBC) shortcut the blocks, at the beginning of a second block each block from the string is XOR-linked with a cipher of the preceding block and a result of this link encoded becomes a cipher, which in turn, if necessary, with another block XORed becomes.

Um zu gewährleisten, dass hinreichend viel pseudozu fälliges Material zur Bildung der Datenblöcke zur Verfügung steht, kann vorgesehen sein, dass das Berechnen der pseudozufälligen Signalfolge abschnittsweise zusätzlich in Abhängigkeit von einem Zählerstand erfolgt, wobei der Zählerstand zum Berechnen eines jeweils weiteren Abschnitts der pseudozufälligen Signalfolge auf einen nächsten Wert geändert wird, wenn ein bis dahin verfügbarer Abschnitt der pseudozufälligen Signalfolge durch Extrahieren von Datenblöcken verbraucht ist. Dabei kann der Zählerstand zur Bildung des jeweiligen Abschnitts der pseudozufälligen Signalfolge wie die übrigen anwendungsspezifischen Eingabegrößen verarbeitet werden. Für jedes Zeichen der Geheimkombination wird dann zusätzlich zur Blockposition eines diesem Zeichen zugeordneten Datenblocks im entsprechenden Abschnitt der pseudozufälligen Signalfolge auch der diesem Abschnitt der pseudozufälligen Signalfolge entsprechende Zählerstand bestimmt und als weitere Hilfsgröße gespeichert. Für jedes Zeichen der Geheimkombination wird dann also ein aus Zählerstand und Blockposition im entsprechenden Abschnitt der pseudozufälligen Signalfolge bestehendes Paar als Hilfsgrößen bestimmt und gespeichert.Around to ensure, that sufficiently pseudozu due Material for forming the data blocks to disposal can be provided that the calculation of the pseudo-random signal sequence in sections additionally dependent on from a meter reading takes place, the meter reading for calculating a respective further section of the pseudo-random signal sequence on another Value changed if one is available then Section of the pseudo-random Signal sequence is consumed by extracting data blocks. there can the meter reading to form the respective section of the pseudo-random signal sequence like the rest application-specific input variables. For each Character of the secret combination is then in addition to the block position of a data block associated with this character in the corresponding section the pseudorandom one Signal sequence also this section of the pseudo-random signal sequence corresponding counter reading determined and saved as a further auxiliary size. For each Sign of the secret combination is then so from a count and block position in the corresponding section of the pseudo-random signal sequence existing pair determined as auxiliary sizes and saved.

Das Extrahieren der Datenblöcke aus der pseudozufälligen Signalfolge kann nacheinander erfolgen, indem für jeden Datenblock eine seiner Länge entsprechende Anzahl aufeinanderfolgender Signale, typischerweise Bits, aus der pseudozufälligen Signalfolge entnommen werden, wobei der jeweils darauffolgende Datenblock gegenüber dem vorhergehenden Datenblock um eine bestimmte Zahl von Signalen verschoben ist, vorzugsweise um eine der Länge der Datenblöcke entsprechende Zahl von Signalen. Eine bevorzugte Ausführung des Verfahrens zum Erzeugen der Hilfsgrößen sieht vor, dass für jedes Zeichen der Geheimkombination die Blockposition des diesem Zeichen zugeordneten Datenblocks bestimmt wird, indem die extrahierten Datenblöcke nacheinander, vorzugsweise in Reihenfolge ihrer Extrahierung, unter Berücksichtigung der Kodierung mit diesem Zeichen verglichen werden, wobei ein dem Zeichen nicht entsprechender Datenblock verworfen wird, während ein dem Zeichen entsprechender Datenblock, d.h. ein Datenblock, der durch die Kodierung genau diesem Zeichen zugeordnet ist, durch eine Entscheidungsfunktion mit einer bestimmten Wahrscheinlichkeit nicht verworfen, sondern akzeptiert wird, indem die Blockposition dieses Datenblocks als diesem Zeichen zugeordnete Hilfsgröße gespeichert und das Extrahieren von Datenblöcken für dieses Zeichen beendet wird. Zusätzlich wird bei Ausführungen der Erfindung mit einer in Abschnitten erfolgenden Berechnung der pseudozufälligen Signalfolge der dem aktuellen Abschnitt der pseudozufälligen Signalfolge entsprechende Zählerstand als weitere Hilfsgröße gespeichert, wenn der entsprechende Datenblock nicht verworfen wird.The Extract the data blocks from the pseudo-random Signal sequence can be done successively by one of its Length corresponding Number of consecutive signals, typically bits, from the pseudorandom Signal sequence are taken, with the respective subsequent data block across from the previous data block by a certain number of signals is shifted, preferably corresponding to one of the length of the data blocks Number of signals. A preferred embodiment of the method for generating the auxiliary sizes sees before that for each character of the secret combination the block position of this Character assigned data block is determined by the extracted Data blocks in succession, preferably in order of their extraction, taking into account the encoding to be compared with this character, taking a the character not corresponding data block is discarded while a the character corresponding data block, i. a data block that is assigned by the coding exactly this character, by a Decision function with a certain probability not discarded, but is accepted by the block position of this Data block saved as auxiliary value assigned to this character and extracting data blocks for this Character is terminated. additionally is available in versions of the invention with a partial calculation of the pseudorandom Signal sequence of the current section of the pseudo-random signal sequence corresponding counter reading saved as a further auxiliary size, if the corresponding data block is not discarded.

Die genannte Entscheidungsfunktion kann dabei durch einen Zufallsentscheider ausgeführt werden, der ein binäres Zufallsexperiment mit einer Einzelwahrscheinlichkeit durchführt, die der im vorangegangenen Absatz genannten Wahrscheinlichkeit entspricht. Dieses binäre Zufallsexperiment ist also so zu konzipieren, dass die Einzelwahrscheinlichkeit für eines von zwei möglichen Ergebnissen der Wahrscheinlichkeit entspricht, mit der ein an sich passender Datenblock nicht verworfen, sondern akzeptiert werden soll. Das binäre Zufallsexperiment kann dabei durchgeführt werden, indem aus einer als Verarbeitungsergebnis von Zufallsdaten gewonnenen Signalkette jeweils ein noch nicht verwerteter Block extrahiert und einem Wert zugeordnet wird, dieser Wert mit einem Schwellenwert oder mehreren Schwellenwerten verglichen wird und ein Ausgang des binären Zufallsexperiments in Abhängigkeit von einem Ergebnis dieses Vergleichs definiert wird, ggf. nach Verwerfen eines oder mehrerer zuvor extrahierter Blöcke, deren Wert keinem Ergebnis zugeordnet war. Die Einzelwahrscheinlichkeit kann dabei für alle Geheimkombinationen konstant, geheimkombinationsspezifisch oder auch für jedes Zeichen einer Geheimkombination spezifisch festgelegt werden. Es kann auch vorgesehen sein, dass diese Einzelwahrscheinlichkeit für alle die Zeichen noch einmal halbiert wird, die durch die Kodierung zwei möglichen Belegungen von Datenblöcken zugeordnet sind.The said decision function can be carried out by a random decision maker who performs a binary random experiment with an individual probability that corresponds to the probability mentioned in the previous paragraph. This binary random experiment must therefore be conceived in such a way that the individual probability for one of two possible outcomes corresponds to the probability with which a data block that fits itself is not rejected, but accepted. The binary random experiment can be carried out by extracting a not yet used block out of a signal chain obtained as a processing result of random data and assigning it to a value, comparing this value with a threshold value or several threshold values and an output of the binary random experiment as a function of a Result of that comparison, possibly after discarding one or more previously extracted blocks whose value was not assigned to a result. The single probability can be constant for all secret combinations, secret combinations specifically or also for each character of a secret combination. It can also be provided that this single probability is again halved for all the characters that are assigned by coding two possible assignments of data blocks.

Maßnahmen der hier im Zusammenhang mit der Entscheidungsfunktion erwähnten Art dienen dazu, das Verfahren noch sicherer zu machen, weil sie eine Rekonstruktion des Hauptpassworts oder ein Austesten von Hauptpasswörtern zusätzlich erschweren. Es ist aber auch denkbar, dass die Entscheidungsfunktion nur eine pseudozufällige Entscheidung trifft, beispielsweise durch eine vergleichbare Verarbeitung einer pseudozufälligen Signalkette. Wenn die Entscheidungsfunktion dagegen durch einen echten Zufallsentscheider ausgeführt werden soll, können die dafür benötigten Zufallsdaten beispielsweise gewonnen werden aus Anschlagzeiten und/oder Differenzen zwischen Tastenanschlägen bei einer Eingabe des Hauptpassworts und/oder der Geheimkombination und/oder der mindestens einen weiteren Eingabegröße und/oder eigens zum Erzeugen der Zufallsdaten angeforderter Tastatureingaben. Solche Zufallsdaten können beispielsweise durch Hashen zu einer zufälligen Signalkette verarbeitet werden, ggf. nach einem Konkatenieren mehrerer Zufallsdaten, wobei nach einem Aufbrauchen von zur Verfügung stehenden Bits ein Verlängern der zufälligen Signalkette erfolgen kann, beispielsweise durch ein Verknüpfen mit einem neuen (also ggf. zuvor geänderten) Initialwert und ein nochmaliges Hashen.activities the kind mentioned here in connection with the decision function serve to make the process even safer, because they have a Reconstructing the main password or debugging main passwords additionally. But it is also conceivable that the decision function only one pseudorandom Decision, for example through comparable processing a pseudorandom one Signal chain. If the decision function by a true random decision made should be able to the one for that required Random data, for example, be obtained from attack times and / or Differences between keystrokes when entering the main password and / or the secret combination and / or the at least one other Input size and / or specifically for generating the random data requested keystrokes. Such random data can for example, processed by hash to a random signal chain if necessary, after a concatenation of several random data, wherein after consuming available bits, extending the random signal chain can be done, for example, by linking with a new (ie if necessary previously changed) Initial value and a second hash.

Als Eingabegrößen, in Abhängigkeit derer die Hilfsgrößen bzw. die Geheimkombinationen berechnet werden, können folgende Größen oder beliebige Kombinationen dieser Größen verwendet werden: Benutzeridentifikation, Anwendungsidentifikation, anwendungsspezifische Benutzeridentifikation, Position des jeweiligen Zeichens der Geheimkombination, für die gerade eine Hilfsgröße ermittelt wird, Index einer Transaktionsnummer, das Alphabet oder eine das Alphabet charakterisierende Größe. Es ist vorteilhaft, diese Eingabegrößen bei dem Verfahren zum Erzeugen und Speichern der Hilfsgrößen zusammen mit den Hilfsgrößen zu speichern, damit sich eine nochmalige Eingabe dieser Eingabegrößen bei dem Verfahren zum Wiedergewinnen der jeweiligen Geheimkombination erübrigt. Es kann insbesondere genügen, wenn die Anwendungsidentifikation manuell eingegeben wird, in Abhängigkeit von der dann die übrigen (zur entsprechenden Anwendung gehörenden) weiteren Eingabegrößen aus dem Speicher eingelesen werden können. Wenn es sich bei der Geheimkombination um eine Transaktionsnummer handelt, insbesondere wenn auch ein Index der Transaktionsnummer als Eingabegröße dient, kann eventuell auch eine Verwertungsmarkierung gespeichert werden, aus der sich ergibt, ob die zu einem bestimmten Index gehörige Transaktionsnummer bereits verwendet wurde. Wenn auch die Position des Zeichens der Geheimkombination als Eingabegröße verwendet wird, so muss diese nicht über die Tastatur eingegeben werden. Der Begriff "Eingabegröße" sei hier also so allgemein verstanden, dass eine solche Eingabegröße nicht unbedingt von Hand eingegeben werden muss. Die Verwendung der Position des Zeichens der Geheimkombination als Eingabegröße hat im Wesentlichen zur Folge, dass für jedes Zeichen der Geheimkombination eine eigene pseudozufällige Signalfolge gebildet wird. Eine typische Anwendung des beschriebenen Verfahrens zum Erzeugen und Speichern von Hilfsgrößen, bei dem der Vorteil, dass der Nutzer sich nur noch ein Hauptpasswort merken muss, besonders zum Tragen kommt, sieht vor, dass in geschilderter Weise Hilfsgrößen für eine Mehrzahl verschiedener Geheimkombinationen erzeugt und gespeichert werden. Aus der vorangegangenen Beschreibung ergibt sich, dass dann für jedes Zeichen jeder Geheimkombination mindestens eine diesem Zeichen dieser Geheimkombination zugeordnete Hilfsgröße erzeugt und gespeichert wird.When Input quantities, in dependence derer the auxiliary sizes or The secret combinations can be calculated, the following sizes or any combination of these sizes can be used: user identification, Application identification, application-specific user identification, position the respective character of the secret combination for which an auxiliary variable is currently being determined is, index of a transaction number, the alphabet or a Alphabet characterizing size. It is advantageous these input sizes the method for generating and storing the auxiliary sizes together to save with the auxiliary sizes, so that a further input of these input variables at the method for recovering the respective secret combination unnecessary. It can be enough in particular if the application identification is entered manually, depending on then the others (for the corresponding application belonging) further input variables the memory can be read. If the secret combination is a transaction number especially if an index of the transaction number serves as input size, may also be saved a recovery mark, which determines whether the transaction number associated with a particular index already used. Although the position of the sign of the Secret combination used as input size it does not have to be over the keyboard will be entered. The term "input size" should be understood here so generally that such input size is not must necessarily be entered by hand. The use of the position of the character of the secret combination as input size has essentially to Follow that for Each character of the secret combination has its own pseudo-random signal sequence is formed. A typical application of the described method for generating and storing auxiliary quantities, in which the advantage that the Users only have to remember one main password, especially for Wear comes, provides that in the described way auxiliary sizes for a plurality of different Secret combinations are generated and stored. From the previous one Description shows that then for each character of each secret combination generates at least one auxiliary character assigned to this character of this secret combination and saved.

Sofern das Verfahren zum Erzeugen und Speichern der Hilfsgrößen vorsieht, dass die pseudozufällige Signalfolge in mehreren Abschnitten und zusätzlich in Abhängigkeit von einem Zählerstand berechnet wird, kann das entsprechende Verfahren zum Wiedergewinnen der Geheimkombinationen so ausgestaltet sein, dass zum Ermitteln jedes Zeichens der Geheimkombination jeweils nur der Abschnitt der pseudozufälligen Signalfolge berechnet wird, der durch den diesem Zeichen zugeordneten Zählerstand definiert ist.Provided the method for generating and storing the auxiliary quantities provides that the pseudorandom Signal sequence in several sections and additionally dependent from a meter reading can be calculated, the appropriate method to recover the secret combinations are designed so that to determine each character of the secret combination only the portion of the pseudo-random signal sequence calculated by the count associated with this character is defined.

Eine vorteilhafte Weiterbildung der vorgeschlagenen Verfahren sieht vor, dass in Abhängigkeit von dem eingegebenen Hauptpasswort mittels einer Einwegfunktion eine optische Markierung berechnet und auf einer Anzeigekomponente, beispielsweise einem Bildschirm, angezeigt wird. Bei dieser optischen Markierung kann es sich beispielsweise um eine Farbe, eine geometri sche Gestalt oder einen bestimmten Ort auf der Anzeigekomponente oder um eine Kombination dieser Merkmale handeln. Die dafür verwendete Einwegfunktion kann beispielsweise ein Hashen des eingegebenen Hauptpasswortes oder einer daraus gebildeten Bitfolge und ein anschließendes Zuordnen einer dadurch gewonnenen Zeichen- oder Bitfolge zu möglichen Werten für die optische Markierung vorsehen. Eine solche optische Markierung erfüllt den Zweck einer Rückmeldung für den Nutzer, der das Hauptpasswort eingegeben hat, damit dieser verifizieren kann, ob er das richtige Hauptpasswort eingegeben hat.A advantageous development of the proposed method provides that depending on the input main password by means of a one-way function one optical mark and calculated on a display component, such as a Screen is displayed. In this optical marking can For example, it is a color, a geometric shape or a specific location on the display component or one Combination of these features act. The one-way function used for this For example, a hash of the input main password or a bit sequence formed from this and a subsequent assignment a character or bit string obtained thereby becomes possible Values for provide the optical marking. Such an optical marking Fulfills the purpose of a response for the User who entered the main password to verify it can, if he entered the correct main password.

Die geschilderten Verfahren können auf einer beliebigen entsprechend programmierten Vorrichtung durchgeführt werden. Bei dieser Vorrichtung kann es sich beispielsweise um einen PDA oder ein Mobiltelefon handeln. Es ist auch denkbar, dass verschiedene Komponenten dieser Vorrichtung räumlich getrennt sind, so dass beispielsweise der Speicher in einer anderen Einheit untergebracht ist als eine Berechnungskomponente, wobei auch zur Berechnung der Hilfsgrößen eine andere Berechnungskomponente verwendet werden kann als zum Wiedergewinnen der Geheimkombinationen. Eine zur Durchführung zumindest eines der beschriebenen Verfahren programmtechnisch eingerichtete Vorrichtung kann bei einer besonderes einfach zu realisierenden Ausführung der Erfindung insbesondere folgende Komponenten umfassen:

  • – eine Eingabekomponente zum Eingeben eines Hauptpassworts und mindestens einer weiteren Eingabegröße,
  • – einen Speicher,
  • – eine Berechnungskomponente, die zum Berechnen der Hilfsgrößen aus von der Eingabekomponente übergebenen Daten und/oder zum Berechnen der Zeichen der Geheimkombination aus von der Eingabekomponente übergebenen und aus dem Speicher ausgelesenen Daten eingerichtet ist,
  • – ggf. eine Anzeigekomponente und
  • – eine Ausgabekomponente, die zum Ausgeben der von der Berechnungskomponente berechneten und übergebenen Hilfsgrößen an den Speicher und/oder zum Ausgeben der von der Berechnungskomponente berechneten und übergebenen Zeichen der Geheimkombination an die Anzeigekomponente eingerichtet ist.
The described methods can be used on any pre-programmed direction. This device may be, for example, a PDA or a mobile phone. It is also conceivable that different components of this device are spatially separated, so that, for example, the memory is housed in a different unit than a calculation component, wherein also for calculating the auxiliary quantities, a different calculation component can be used than to recover the secret combinations. A device set up to carry out at least one of the described methods in a technically feasible embodiment of the invention may comprise in particular the following components:
  • An input component for inputting a main password and at least one further input variable,
  • - a memory,
  • A computation component configured to compute the auxiliary quantities from data input from the input component and / or to compute the characters of the secret combination from data passed from the input component and read from the memory,
  • - If necessary, a display component and
  • - An output component, which is set up for outputting the auxiliary components calculated and transferred by the calculation component to the memory and / or for outputting the calculated and transmitted by the calculation component characters of the secret combination to the display component.

Die Anzeigekomponente kann dabei zusätzlich zum Anzeigen einer vom eingegebenen Hauptpasswort abhängigen optischen Markierung dienen.The Display component can additionally to display an optical dependent on the input main password Serve mark.

Bei den genannten Daten kann es sich um das Hauptpasswort, die mindestens eine weitere Eingabegröße und die entsprechende Geheimkombination handeln, sofern die Vorrichtung zum Erzeugen und Speichern der Hilfsgrößen ausgebildet ist, und/oder um das Hauptpasswort, die mindestens eine weitere Eingabegröße und die Hilfsgrößen, sofern die Vorrichtung zum Wiedergewinnen der Geheimkombination ausgebildet ist. Außerdem ist die Vorrichtung vorzugsweise so zu gestalten, dass neben den berechneten Hilfsgrößen auch die entsprechenden Eingabegrößen an den Speicher ausgegeben und dort gespeichert werden. Weiterhin ist die Vorrichtung vorzugsweise so ausgebildet, dass die Anzeigekomponente nicht nur zum Anzeigen der wiedergewonnenen Geheimkombination, sondern auch zur Anzeige einer in Abhängigkeit vom eingegebenen Hauptpasswort berechneten optischen Markierung eingerichtet ist.at The data mentioned can be the main password, which is at least another input size and the appropriate secret combination act, provided the device is designed for generating and storing the auxiliary quantities, and / or to the main password, the at least one more input size and the Auxiliary sizes, provided formed the device for recovering the secret combination is. Furthermore the device is preferably to be designed so that in addition to the calculated auxiliary sizes too the appropriate input variables to the Memory is output and stored there. Furthermore, the device preferably designed so that the display component not only to display the recovered secret combination, but also to display a dependent from the input main password calculated optical mark is set up.

Die Berechnungskomponente umfasst vorzugsweise

  • – Mittel zum Ausführen einer Schlüsselableitungsfunktion zur Bildung eines Schlüssels vorgegebener Länge aus dem eingegebenen Hauptpasswort,
  • – Konkatenationsmittel zum Bilden einer Zeichenkette aus mindestens einer eingegebenen oder aus dem Speicher eingelesenen Eingabegröße,
  • – Verschlüsselungsmittel zum Bilden einer pseudozufälligen Signalfolge durch Verschlüsseln der Zeichenkette mit dem Schlüssel und
  • – Mittel zum Extrahieren und Kodieren von Datenblöcken aus der pseudozufälligen Signalfolge sowie
  • – ggf. zusätzlich Mittel zum Berechnen der erwähnten optischen Markierung.
The calculation component preferably comprises
  • Means for executing a key derivation function for forming a key of predetermined length from the input main password,
  • Concatenation means for forming a character string from at least one input variable entered or read from the memory,
  • - Encryption means for forming a pseudo-random signal sequence by encrypting the character string with the key and
  • Means for extracting and encoding blocks of data from the pseudorandom signal sequence and
  • - If necessary, additional means for calculating the mentioned optical marking.

Außerdem kann die Vorrichtung, sofern sie für das Verfahren zum Erzeugen und Speichern der Hilfsgrößen eingerichtet ist, eine Zählersteuerung zum Steuern des Zählerstandes, einen Vergleicher zum Vergleichen der Datenblöcke mit den Zeichen der Geheimkombination unter Berücksichtigung der Kodierung des Alphabets und einen Zufallseintscheider, der entscheidet, ob ein einem Zeichen der Geheimkombination unter Berücksichtigung der Kodierung entsprechender Datenblock verworfen oder ausgewählt wird, umfassen.In addition, can the device, provided for set up the method for generating and storing the auxiliary sizes is a counter control for Controlling the meter reading, a comparator for comparing the data blocks with the characters of the secret combination considering the coding of the alphabet and a random trap that decides whether considering a character of the secret combination the coding of the corresponding data block is discarded or selected, include.

Bei der Erfindung müssen sich Benutzer nur noch ein einziges Passwort merken, das sogenannte Hauptpasswort. Die Erfindung gestattet es Benutzern, mittels eines Endgeräts nach Eingabe des Hauptpassworts für beliebige vorgegebene Geheimnisse wie Passwörter, PIN- oder auch TAN-Kombinationen eine Folge von hier als Hilfsgrößen bezeichneten Daten, typischerweise in Form von zeichenspezifischen Zählerständen und Block positionen, zu generieren und auf dem Endgerät abzuspeichern. Bei Bedarf kann dann zu einem späteren Zeitpunkt nach Eingabe des Hauptpassworts und Einlesen der abgespeicherten Zählerstände und Blockpositionen die gewünschte Geheimkombination (Passwort, PIN, TAN) berechnet und ausgegeben werden. Als Endgerät, auf welchem die Erfindung ausgeführt wird, eignen sich insbesondere Mobiltelefone oder PDAs. Das Verfahren erlaubt es, Hilfsgrößen für mehrere Geheimkombinationen oder auch unterschiedliche Typen von Geheimkombinationen (z.B. PINs und TANs), aus denen sich diese Geheimkombinationen wiedergewinnen lassen, sicher auf dem Endgerät abzuspeichern.at of the invention Users remember only one password, the so-called main password. The invention allows users to use a terminal device Enter the main password for any predetermined secrets such as passwords, PIN or TAN combinations a sequence of here referred to as auxiliary quantities Data, typically in the form of character-specific counter readings and Block positions, to generate and store on the terminal. If necessary, then at a later Time after entering the main password and reading the stored Counter readings and Block positions the desired Secret combination (password, PIN, TAN) calculated and output become. As a terminal, on which the invention is carried out mobile phones or PDAs are particularly suitable. The procedure allows it, auxiliary sizes for several secret combinations or different types of secret combinations (e.g., PINs and TANs), from which recover these secret combinations let, safely on the terminal save.

Bei dem der Erfindung zugrunde liegenden Verfahren muss sich ein Benutzer mit dem Hauptpasswort lediglich ein einziges Geheimnis merken, welches er sich selbst frei auswählen kann. Ausgehend von dem Hauptpasswort und den gespeicherten Zählerständen und Blockpositionen können dann alle Geheimkombinationen (Passwörter, PINs, TANs) des Benutzers für unterschiedliche Anwendungen erzeugt werden.In the case of the method on which the invention is based, a user with the main password only has to memorize a single secret which he himself can freely choose. Starting from the main password and the stored counter readings and block positions then all secret combinations (passwords, PINs, TANs) of the user for different applications.

Das der Erfindung zugrundeliegende Verfahren zeichnet sich durch besondere Sicherheitseigenschaften aus. Versucht ein Angreifer, der sich Zugang zum Endgerät verschafft hat, durch wiederholtes Eingeben von Zeichenkombinationen das Hauptpasswort und somit auch die Geheimkombinationen des Benutzers zu finden, dann liefert das Verfahren dem Angreifer für jede eingegebene Kombination eines Hauptpassworts und gegebenen Hilfsgrößen – typischerweise zeichenspezifischen Zählerständen und Blockpositionen – eine Zeichenkombination, welche aus Sicht des Angreifers zunächst nicht von der tatsächlichen Geheimkombination zu unterscheiden ist, sofern die gesuchte Geheimkombination keine Redundanz aufweist, was es dem Angreifer erlauben würde, bestimmte Ergebnisse (und damit auch bestimmte Hauptpasswörter) verwerfen zu können. Redundanzfreie Geheimkombinationen können beispielsweise bei PINs oder TANs vorliegen, wenn alle PIN- und TAN-Kombinationen mit gleicher Häufigkeit ausgegeben werden und die Menge, über welcher Geheimkombinationen für gegebene Zählerstände und Blockpositionen berechnet werden, ausschließlich Ziffern enthält. Um zu entscheiden, ob es sich bei dem Resultat der Berechnung um die korrekte Geheimkombination handelt, muss der Angreifer also die jeweilige Geheimkombination beim Authentifizierungsvorgang gegenüber dem entsprechenden System eingeben und abwarten, ob das System die eingegebene Geheimkombination als richtigen Wert akzeptiert. Unter der Annahme, dass ein Angreifer über keine Informationen bzgl. des Hauptpassworts eines Benutzers verfügt, hat der Angreifer, selbst dann, wenn er Zugang zu einem Benutzerendgerät und den gemäß des der Erfindung zugrundeliegenden Verfahrens berechneten Zählerständen und Blockpositionen hat, gegenüber einem Angreifer, welcher versucht, die Geheimkombination durch bloßes Raten zu finden, keinen Vorteil. In dieser Eigenschaft unterscheidet sich das der Erfindung zugrundeliegende Verfahren grundlegend von den technischen Lösungen der heutigen Praxis, bei denen die Geheimkombinationen eines Benutzers verschlüsselt auf dem Endgerät gespeichert werden. Bei der verschlüsselten Speicherung von Geheimkombinationen (Passwörter, PINs, TANs) auf einem Endgerät kann ein Angreifer den korrekten – aus einem Hauptpasswort abgeleiteten – Schlüssel von den falsch geratenen Schlüsseln unterscheiden, da die falsch geratenen Schlüssel mit großer Wahrscheinlichkeit das gegebene Chiffrat nicht auf einen solchen entschlüsselten Text abbilden, welcher einer typischen Geheim kombination entspricht. Dies ermöglicht es einem Angreifer, so lange Schlüssel auszutesten, bis das durch Entschlüsselung erhaltene Ergebnis typische Geheimkombinationen enthält. Wird ein solcher Schlüssel gefunden, so ist mit an Sicherheit grenzender Wahrscheinlichkeit davon auszugehen, dass es sich dabei um den korrekten Schlüssel handelt. In diesem Fall hat ein Angreifer die Gewissheit, dass es sich bei den entschlüsselten Daten um die gesuchten Geheimkombinationen (Passwörter, PINs, TANs) handelt.The The invention of the underlying method is characterized by special Safety features. An attacker trying to gain access to the terminal by repeatedly entering character combinations the main password and thus also the secret combinations of the user to find, then the method provides the attacker for each entered Combination of a main password and given auxiliary sizes - typically character-specific counter readings and block positions - a character combination, which, from the point of view of the attacker, does not initially differ from the actual one Secret combination is to be distinguished, provided that the required secret combination no Redundancy, which would allow the attacker, certain To be able to discard results (and thus also certain main passwords). redundancy-free Secret combinations can For example, if PINs or TANs are present, if all PIN and TAN combinations spent with equal frequency and the crowd, over which secret combinations for given meter readings and Block positions are calculated, containing only digits. In order to decide whether the result of the calculation is the correct one Secret combination, the attacker must therefore the respective Secret combination in the authentication process against the enter the appropriate system and wait to see if the system Secret combination accepted as correct value. Under the assumption, that an attacker has no Has information about the main password of a user the attacker, even if he has access to a user terminal and that according to the Underlying method calculated counter readings and Block positions has, opposite An attacker who tries to gain the secret combination by merely guessing find, no advantage. In this property is different the method underlying the invention is fundamentally different from the technical solutions Today's practice involving the secret combinations of a user encoded on the terminal get saved. In the encrypted storage of secret combinations (Passwords, PINs, TANs) on a terminal An attacker can use the correct key - derived from a master password - from the wrongly guessed keys differ, since the wrong guess key with a high probability the given cipher does not apply to such decrypted text depicting which corresponds to a typical secret combination. this makes possible It's an attacker's job to test out keys until they're decrypted result obtained contains typical secret combinations. Becomes such a key found, so is almost certainly to assume that this is the correct key. In this case, an attacker has the certainty that it is in the decrypted Data about the desired secret combinations (passwords, PINs, TANs).

Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend anhand der 125 beschrieben.Embodiments of the present invention will be described below with reference to FIGS 1 - 25 described.

Es zeigtIt shows

1 eine schematische Darstellung einer Vorrichtung zur Durchführung eines Verfahrens zum automatischen Erzeugen und Speichern von Hilfsgrößen im Sinne der vorliegenden Erfindung, 1 a schematic representation of an apparatus for performing a method for automatically generating and storing auxiliary quantities in the context of the present invention,

2 in entsprechender Darstellung ein anderes Ausführungsbeispiel für eine erfindungsgemäße Vorrichtung zur Durchführung eines Verfahrens zum Erzeugen und Speichern von Hilfsgrößen, 2 in a corresponding representation, another exemplary embodiment of an apparatus according to the invention for carrying out a method for generating and storing auxiliary quantities,

3 eine entsprechende Darstellung für ein weiteres Ausführungsbeispiel einer erfindungsgemäßen Vorrichtung zum Erzeugen und Speichern von Hilfsgrößen, 3 a corresponding representation for a further embodiment of a device according to the invention for generating and storing auxiliary quantities,

4 ein Flussdiagramm, das eine erfindungsgemäße Berechnung von Hilfsgrößen in Abhängigkeit von einem Hauptpasswort entsprechend dem Ausführungsbeispiel aus der 1 veranschaulicht, 4 a flowchart showing an inventive calculation of auxiliary quantities in dependence on a main password according to the embodiment of the 1 illustrates

5 eine der 4 entsprechende Darstellung einer entsprechenden Berechnung für das Ausführungsbeispiel aus 2, 5 one of the 4 corresponding representation of a corresponding calculation for the embodiment 2 .

6 eine den 4 und 5 entsprechende Darstellung für das Ausführungsbeispiel der Erfindung aus 3, 6 a the 4 and 5 corresponding representation of the embodiment of the invention 3 .

7 ein Flussdiagramm, das die Berechnung von durch Zählerstand und Blockposition gegebenen Hilfsgrößen für ein i-tes Zeichen einer Geheimkombination in dem in den 1 und 4 gezeigten Ausführungsbeispiel der Erfindung veranschaulicht, 7 a flowchart showing the calculation of auxiliary values given by count and block position for an i-th character of a secret combination in the in the 1 and 4 illustrated embodiment of the invention illustrated

8 eine der 7 entsprechende Darstellung der Berechnung von Hilfsgrößen für das Ausführungsbeispiel aus den 2 und 5, 8th one of the 7 corresponding representation of the calculation of auxiliary quantities for the embodiment of the 2 and 5 .

9 eine den 7 und 8 entsprechende Darstellung der Berechnung von Zählerstand und Blockposition für das i-te Zeichen einer Geheimkombination in dem Ausführungsbeispiel aus den 3 und 6, 9 a the 7 and 8th corresponding representation of the calculation of count and block position for the i-th character of a secret combination in the embodiment of the 3 and 6 .

10 ein Flussdiagramm, das eine Berechnung einer optischen Markierung in den bereits genannten Ausführungsbeispielen veranschaulicht, 10 a flowchart showing a Be illustrated bill of optical marking in the aforementioned embodiments,

11 eine schematische Darstellung eines Ausführungsbeispiels für eine erfindungsgemäße Vorrichtung zum Wiedergewinnen einer Geheimkombination aus gemäß dem Ausführungs beispiel aus den 1 und 4 gewonnenen Hilfsgrößen und einem Hauptpasswort, 11 a schematic representation of an embodiment of an inventive device for recovering a secret combination of according to the embodiment example of the 1 and 4 won auxiliary quantities and a main password,

12 eine entsprechende Darstellung für eine Vorrichtung zum Wiedergewinnen der Geheimkombinationen entsprechend dem Ausführungsbeispiel aus den 2 und 5, 12 a corresponding representation of a device for recovering the secret combinations according to the embodiment of the 2 and 5 .

13 eine entsprechende Darstellung für eine erfindungsgemäße Vorrichtung zum Wiedergewinnen der Geheimkombinationen entsprechend dem Ausführungsbeispiel aus den 3 und 6, 13 a corresponding representation of an inventive device for recovering the secret combinations according to the embodiment of the 3 and 6 .

14 ein Flussdiagramm, das eine Berechnung der Geheimkombination in einer Berechnungskomponente der Vorrichtung aus 11 veranschaulicht, 14 a flowchart showing a calculation of the secret combination in a calculation component of the device 11 illustrates

15 eine der 14 entsprechende Darstellung der Berechnung der Geheimkombination für das Ausführungsbeispiel aus 12, 15 one of the 14 corresponding representation of the calculation of the secret combination for the embodiment 12 .

16 eine entsprechende Darstellung der Berechnung der Geheimkombination für das Ausführungsbeispiel aus 13, 16 a corresponding representation of the calculation of the secret combination for the embodiment 13 .

17 ein detailierteres Flussdiagramm, das die Berechnung eines i-ten Zeichens einer Geheimkombination (hier einer PIN im Ausführungsbeispiel aus den 11 und 14 veranschaulicht) zeigt, 17 a more detailed flowchart illustrating the calculation of an i-th character of a secret combination (here a PIN in the embodiment of the 11 and 14 illustrates),

18 eine der 17 entsprechende Darstellung einer Berechnung eines i-ten Zeichens einer Geheimkombination (hier einer TAN) für das Ausführungsbeispiel aus den 12 und 15, 18 one of the 17 corresponding representation of a calculation of an i-th character of a secret combination (here a TAN) for the embodiment of the 12 and 15 .

19 eine den 17 und 18 entsprechende Darstellung einer Berechnung eines i-ten Zeichens einer Geheimkombination (hier eines Passworts) für das Ausführungsbeispiel aus den 13 und 16, 19 a the 17 and 18 corresponding representation of a calculation of an i-th character of a secret combination (here a password) for the embodiment of the 13 and 16 .

20 eine Darstellung einer Extraktion von Datenblöcken einer Länge k aus einem Abschnitt einer Länge bl einer im Rahmen eines erfindungsgemäßen Verfahrens berechneten pseudozufälligen Signalfolge, 20 3 is an illustration of an extraction of data blocks of a length k from a section of a length bl of a pseudo-random signal sequence calculated in the context of a method according to the invention,

21 eine tabellarische Darstellung einer möglichen Kodierung von Geheimkombinationszeichen im Fall von PINs und TANs (ausschließliche Verwendung von Ziffern), 21 a tabular representation of a possible encoding of secret combination characters in the case of PINs and TANs (exclusive use of digits),

22 eine der 21 entsprechende Darstellung einer möglichen Kodierung von Geheimkombinationszeichen im Fall von Passwörtern (ausschließliche Verwendung von Kleinbuchstaben und Ziffern), 22 one of the 21 corresponding representation of a possible coding of secret combination characters in the case of passwords (exclusive use of lowercase letters and numbers),

23 eine entsprechende Darstellung einer anderen möglichen Kodierung von Geheimkombinationszeichen im Fall von Passwörtern (ausschließliche Verwendung von Ziffern und der Sonderzeichen !, $, (, ), [, ]), 23 a corresponding representation of another possible encoding of secret combination characters in the case of passwords (exclusive use of digits and the special characters!, $, (,), [,]),

24 eine entsprechende Darstellung einer weiteren möglichen Kodierung von Geheimkombinationszeichen im Fall von Passwörtern (ausschließliche Verwendung von Großbuchstaben, Kleinbuchstaben und Ziffern) und 24 a corresponding representation of another possible encoding of secret combination characters in the case of passwords (exclusive use of uppercase letters, lowercase letters and numerals) and

25 ein letztes Beispiel für eine andere mögliche Kodierung von Geheimkombinationszeichen im Fall von Passwörtern (ausschließliche Verwendung von Großbuchstaben, Kleinbuchstaben, Ziffern und der Sonderzeichen !, #, %, +, –, /, =, @, [, ], _, |). 25 a final example of another possible encoding of secret combination characters in the case of passwords (exclusive use of uppercase letters, lowercase letters, numbers and the special characters!, #,%, +, -, /, =, @, [,], _, |) ,

In der 1 ist also eine erfindungsgemäße Vorrichtung dargestellt, die programmtechnisch eingerichtet ist zur Durchführung eines Verfahrens zum automatischen Erzeugen und Speichern von Zählerständen zi und Blockposition bpi mit i = 1, ..., m als Hilfsgrößen, die jeweils einer anwendungsspezifischen Geheimkombination g zugeordnet sind. Diese Vorrichtung kann z.B. durch einen PDA, ein Mobiltelefon oder einen PC gegeben sein. Bei der Geheimkombination g soll es sich hier um eine PIN (Personal Identification Number) handeln, die m Zeichen g1 bis gm umfasst. Das Erzeugen der Hilfsgrößen erfolgt dabei in Abhängigkeit von einem einzigen Hauptpasswort MPW, der Geheimkombination g und weiteren Eingabegrößen, bei denen es sich hier um Zufallsdaten zd, ein Alphabet A, aus dem die Geheimkombination g gebildet ist, eine Benutzeridentität oder Benutzeridentifikation bid und eine Dienstidentität oder Anwendungsidentifikation did handelt. Zumindest die Dienstidentität did ist dabei eine anwendungsspezifische Eingabegröße. Auch das Alphabet A, das für die hier beschriebene Anwendung durch die Ziffern von 1 bis 9 gegeben sein wird, kann bei anderen Ausführungen oder Anwendungen der Erfindung anwendungsspezifisch sein.In the 1 Thus, a device according to the invention is shown, which is set up by the program for performing a method for automatically generating and storing counter readings z i and block position bp i with i = 1,..., m as auxiliary quantities, which are each assigned to an application-specific secret combination g. This device may for example be given by a PDA, a mobile phone or a PC. The secret combination g should be a PIN (Personal Identification Number) that includes m characters g 1 to g m . The auxiliary variables are generated as a function of a single main password MPW, the secret combination g and other input variables, which are random data zd, an alphabet A, from which the secret combination g is formed, a user identity or user identification bid and a service identity or application id did. At least the service identity did is an application-specific input variable. Also, the alphabet A, which for the application described here will be given by the numbers from 1 to 9, may be application specific in other embodiments or applications of the invention.

Die in der 1 dargestellte Vorrichtung umfasst eine Eingabekomponente 1 zum Eingeben des Hauptpass- Worts MPW, der Geheimkombination g und der weiteren Eingabegrößen, eine Berechnungskomponente 2, an die die in die Eingabekomponente 1 eingegebenen Größen übergeben werden, eine Ausgabekomponente 3, einen Speicher 4 und eine Anzeigekomponente 5. In der Berechnungskomponente 2 werden die erwähnten Hilfsgrößen, also die Zählerstände zi und die Blockpositionen bpi, die jeweils einem Zeichen gi aus der Geheimkombination g zugeordnet sind, auf eine weiter unten beschriebene Art berechnet. Diese Hilfsgrößen werden zusammen mit einer ebenfalls in der Berechnungskomponente 2 berechneten optischen Markierung OM sowie den durch das Alphabet A, die Benutzeridentität (auch Benutzeridentifikation genannt) bid und die Dienstidentität (auch Anwendungsidentifikation genannt) did gegebenen Eingabegrößen an die Ausgabekomponente 3 übergeben. Die Ausgabekomponente 3 gibt die berechneten Hilfsgrößen und die von der Berechnungskomponente 2 erhaltenen Eingabegrößen an den Speicher 4 aus, wo sie gespeichert werden. Die optische Markierung OM wird von der Ausgabekomponente 3 an die Anzeigekomponente 5 übergeben. Bei der Anzeigekomponente 5 kann es sich beispielsweise um den Bildschirm eines Rechners oder eines PDAs handeln, bei der Eingabekomponente 1 beispielsweise um eine Tastatur.The in the 1 The device shown comprises an input component 1 for inputting the main pass word MPW, the secret combination g and the other input quantities, a calculation component 2 to which the input component 1 input variables, an output component 3 , a store 4 and a display component 5 , In the calculation component 2 become the mentioned auxiliary quantities, thus the Counter readings z i and the block positions bp i , which are each associated with a character g i from the secret combination g, calculated in a manner described below. These auxiliary quantities are combined with one also in the calculation component 2 calculated optical mark OM as well as the input sizes given by the alphabet A, the user identity (also called user identification) bid and the service identity (also called application identification) to the output component 3 to hand over. The output component 3 returns the calculated auxiliary quantities and those of the calculation component 2 received input quantities to the memory 4 from where they are stored. The optical mark OM is from the output component 3 to the display component 5 to hand over. In the display component 5 it can be, for example, the screen of a computer or a PDA, in the input component 1 for example, a keyboard.

2 zeigt eine der Vorrichtung aus der 1 entsprechende Vorrichtung in einer anderen Ausführung der Erfindung. Wiederkehrende Merkmale sind hier und auch in den folgenden Figuren jeweils mit den gleichen Bezugszeichen versehen, ohne in jedem Fall wieder im Einzelnen erläutert zu werden. Unterschiede ergeben sich bei dem Ausführungsbeispiel aus der 2 dadurch, dass die Geheimkombination g hier durch eine Transaktionsnummer (TAN) gegeben ist. Als zusätzliche Eingabegröße ist hier ein Index ix vorgese hen, um die verschiedenen Transaktionsnummern für eine Anwendung zu identifizieren. Vorgesehen ist ferner eine als Verwertungsmarkung u bezeichnete Variable, deren Wert angeben soll, ob die zu einem bestimmten Index ix gehörende Transaktionsnummer bereits verwendet wurde oder nicht. 2 shows one of the device from the 1 corresponding device in another embodiment of the invention. Recurring features are provided here and in the following figures, each with the same reference numerals, without being explained in detail again in each case. Differences arise in the embodiment of the 2 in that the secret combination g is given here by a transaction number (TAN). As an additional input size, an index ix is provided here in order to identify the various transaction numbers for an application. Also provided is a variable designated as utilization mark u, whose value is to indicate whether the transaction number belonging to a specific index ix has already been used or not.

Eine den Ausführungsbeispielen aus den 1 und 2 vergleichbare Architektur ist auch in der 3 gezeigt, die sich dadurch von den vorhergehend beschriebenen Ausführungsbeispielen unterscheidet, dass es sich bei der Geheimkombination g hier um ein Passwort handelt und gegenüber dem Ausführungsbeispiel aus der 1 zusätzlich eine dienstspezifische Benutzeridentität (auch als anwendungsspezifische Benutzeridentifikation bezeichnet) dbid als Eingabegröße vorgesehen ist.One of the embodiments of the 1 and 2 comparable architecture is also in the 3 shown, which differs from the previously described embodiments, that it is the secret combination g here is a password and compared to the embodiment of the 1 additionally a service-specific user identity (also referred to as application-specific user identification) dbid is provided as the input size.

Die Berechnung der Hilfsgrößen wird für das Ausführungsbeispiel aus der 1 in den 4 und 7, für das Ausführungsbeispiel aus der 2 in den 5 und 8 und für das Ausführungsbeispiel aus der 3 in den 6 und 9 veranschaulicht. Für diese Berechnung wird zunächst in Abhängigkeit von dem eingegebenen Hauptpasswort MPW, von einer Position i des jeweiligen Zeichens gi der Geheimkombination g und von den Eingabegrößen Benutzeridentifikation bid, Anwendungsidentifikation did sowie gegebenenfalls Index ix oder anwendungsspezifische Benutzeridentifikation dbid eine pseudozufällige Signalfolge rand berechnet. Dazu wird aus dem Hauptpasswort MPW gemäß einer Schlüsselableitungsfunktion SAF – mittels entsprechender Mittel zum Ableiten dieser Schlüsselableitungsfunktion SAF – ein Schlüssel s berechnet, mit dem eine aus den genannten Eingabegrößen und der Position i durch Konkatenation (Verkettung) und gegebe nenfalls Padding (Auffüllen mit Füllzeichen) gebildete Zeichenkette blockweise symmetrisch verschlüsselt wird durch eine symmetrische Verschlüsselung SV. Die pseudozufällige Signalfolge rand wird dabei in mehreren Abschnitten und zusätzlich in Abhängigkeit von einem Zählerstand zi berechnet, der dabei entsprechend den übrigen Eingabegrößen verarbeitet wird und zum Berechnen eines jeweils weiteren Abschnitts der pseudozufälligen Signalfolge rand durch eine Zählersteuerung zs auf einen nächsten Wert geändert wird, wenn ein bis dahin verfügbarer Abschnitt der pseudozufälligen Signalfolge rand verbraucht ist.The calculation of the auxiliary quantities for the embodiment of the 1 in the 4 and 7 , for the embodiment of the 2 in the 5 and 8th and for the embodiment of the 3 in the 6 and 9 illustrated. For this calculation, a pseudo-random signal sequence rand is first calculated as a function of the input main password MPW, of a position i of the respective character g i of the secret combination g and of the input variables user identification bid, application identification did and optionally index ix or application-specific user identification dbid. For this purpose, a key s is calculated from the main password MPW according to a key derivation function SAF, by means of corresponding means for deriving this key derivation function SAF, with which one of the mentioned input variables and the position i by concatenation and, if appropriate, padding formed string is blockwise symmetrically encrypted by a symmetric encryption SV. The pseudo-random signal sequence rand is calculated in several sections and additionally as a function of a count z i , which is processed according to the other input variables and is changed to a next value for calculating a respective further section of the pseudo-random signal sequence rand by a counter control zs. if a hitherto available section of the pseudorandom signal sequence edge is consumed.

Das Verfahren umfasst nun ferner ein Extrahieren von Datenblöcken bestimmter Länge k aus der pseudozufälligen Signalfolge rand, wobei diese Datenblöcke durch eine Kodierung des Alphabets A jeweils einem Zeichen x aus diesem Alphabet A zugeordnet sind, wonach die extrahierten Datenblöcke, deren Extraktion durch die Extraktionsansteuerung es gesteuert wird, unter Berücksichtigung der Kodierung des Alphabets A mit dem Zeichen gi der Geheimkombination g verglichen werden. Anschließend wird eine Blockposition bpi jeweils eines der Datenblöcke für jedes Zeichen gi aus der Geheimkombination g, der durch die Kodierung diesem Zeichen gi zugeordnet ist, bestimmt. Das geschieht dadurch, dass ein Vergleichsergebnis v einem Zufallsentscheider zugeführt wird, der dann, wenn der Vergleich eine Entsprechung des extrahierten Datenblocks mit dem jeweiligen Zeichen gi zeigt, die entsprechende Blockposition bpi mit einer bestimmten Wahrscheinlichkeit als dem jeweiligen Zeichen gi zugeordnete Hilfsgröße auswählt, zu der der den entsprechenden Abschnitt der pseudozufälligen Signalfolge rand kennzeichnende Zählerstand zi als weitere Hilfsgröße hinzutritt.The method now further comprises extracting data blocks of a certain length k from the pseudo-random signal sequence rand, these data blocks being assigned by coding the alphabet A to a character x from this alphabet A, after which the extracted data blocks whose extraction is controlled by the extraction driver will be compared taking into account the coding of the alphabet A with the character g i of the secret combination g. Subsequently, a block position bp i is determined in each case one of the data blocks for each character g i from the secret combination g, which is assigned by the coding to this character g i . This is done by supplying a comparison result v to a randomizer which, when the comparison shows a correspondence of the extracted data block with the respective symbol g i , selects the corresponding block position bp i with a certain probability as an auxiliary quantity assigned to the respective character g i to which the respective portion of the pseudo-random signal sequence rand characterizing count z i occurs added as a further auxiliary variable.

Die 7 bis 9 zeigen, dass die aus den Eingabegrößen und der Position i gebildete Zeichenkette in einer als Cipher Block Chaining (CBC) bezeichneten Weise verschlüsselt wird, indem diese Zeichenkette in Blöcke bestimmter Länge bl eingeteilt wird, wobei ab einem zweiten Block jeweils ein Klartext dieses Blocks mit dem Chiffrat des vorhergehenden Blocks bitweise XOR-verknüpft wird. Vor der ersten symmetrischen Verschlüsselung SV ist eine zusätzliche XOR-Verknüpfung mit einer als Initialisierung bezeichneten Bitfolge init vorgesehen. Bei den Zufallsdaten zd kann es sich beispielsweise um Differenzen zwischen Tastenanschlägen und/oder um Tastenanschlagdauern handeln, die dem Zufallsentscheider zugeführt werden, der dadurch eine echt zufällige Auswahlentscheidung treffen kann.The 7 to 9 show that the character string formed from the input variables and the position i is encrypted in a manner known as cipher block chaining (CBC) by dividing this character string into blocks of a specific length bl, with a clear text of this block beginning with a second block Cipher of the previous block is bitwise XOR linked. Prior to the first symmetric encryption SV, an additional XOR connection is provided with a bit sequence init designated as initialization. The random data zd may be, for example, differences between keystrokes and / or keystroke durations that are the Randallsent be supplied to separators, which can make a truly random selection decision.

Die Berechnungskomponente 2 der beschriebenen Vorrichtungen umfasst nach dem Gesagten also insbesondere Mittel zum Ausführen der Schlüsselableitungsfunktion SAF, Konkatenationsmittel zum Bilden der erwähnten Zeichenkette aus den Eingabegrößen, Verschlüsselungsmittel zum Bilden der pseudozufälligen Signalfolge rand durch Verschlüsseln der Zeichenkette mit dem Schlüssel s und Mittel zum Extrahieren und Kodieren der Datenblöcke aus der pseudozufälligen Signalfolge rand. Außerdem umfaßt die Berechnungskomponente 2 Mittel zum Berechnen einer optischen Markierung OM, die weiter unten ausführlicher beschrieben wird. Die 1 bis 3 können schließlich auch so interpretiert werden, dass es sich um die Darstellung verschiedener Architekturen – zur Berechnung von PINs, TANs bzw. Passwörtern – handelt, die auf einer einzigen Vorrichtung realisiert sind.The calculation component 2 The described devices thus comprise in particular means for executing the key derivation function SAF, concatenation means for forming the mentioned character string from the input variables, encryption means for forming the pseudorandom signal sequence rand by encrypting the character string with the key s and means for extracting and coding the data blocks the pseudo-random signal sequence edge. In addition, the calculation component includes 2 Means for calculating an optical mark OM, which will be described in more detail below. The 1 to 3 Finally, they can also be interpreted as representing different architectures - for calculating PINs, TANs or passwords - that are implemented on a single device.

Entsprechende Architekturen zum Wiedergewinnen der jeweiligen Geheimkombination g aus den Hilfsgrößen sind in den 11 bis 19 gezeigt. Dabei kann es sich unter Umständen jeweils um dieselbe Vorrichtung handeln, mit der die Hilfsgrößen erzeugt und gespeichert worden sind (also um die Vorrichtungen bzw. die Vorrichtung aus den 1 bis 3) oder aber um andere vergleichbare Geräte. Wiederkehrende oder entsprechende Merkmale sind wieder mit den gleichen Bezugszeichen versehen. Die in 11 gezeigte Architektur dient zum Wiedergewinnen einer PIN als Geheimkombination g aus Zählerständen zi und Blockpositionen bpi, i = 1, ..., m, die als Hilfsgrößen aus dem Speicher 4 ausgelesen werden. Die in der Berechnungskomponente 2 erfolgende Berechnung der Zeichen gi der Geheimkombination g wird dabei in den 14 und 17 genauer veranschaulicht. Das so anhand der 11, 14 und 17 beschriebene Ausführungsbeispiel entspricht also dem in den 1, 4 und 7 gezeigten Ausführungsbeispiel für eine Erzeugung von Hilfsgrößen. Die in der 12 gezeigte Architektur dient dem Wiedergewinnen einer durch eine Transaktionsnummer (TAN) gegebenen Geheimkombination g aus Hilfsgrößen, die in der anhand der 2, 5 und 8 beschriebenen Weise gewonnen wurden. Die Berechnung der Zeichen gi dieser Geheimkombination g in der Berechnungskomponente 2 wird für dieses Ausführungsbeispiel in den 15 und 18 detaillierter veranschaulicht. In entsprechender Weise ist in den 13 eine Architektur zur Berechnung einer durch ein Passwort gegebenen Geheimkombination g und in den 16 und 19 die Berechnung dieser Geheimkombination g in der Berechnungskomponente 2 veranschaulicht für ein dem Ausführungsbeispiel aus den 3, 6 und 9 entsprechendes Ausführungsbeispiel.Corresponding architectures for recovering the respective secret combination g from the auxiliary variables are in the 11 to 19 shown. In each case, these may in each case be the same device with which the auxiliary variables have been generated and stored (ie, the devices or the device from the 1 to 3 ) or other comparable devices. Recurring or corresponding features are again provided with the same reference numerals. In the 11 The architecture shown serves to retrieve a PIN as a secret combination g from counter readings z i and block positions bp i , i = 1,..., m, which are used as auxiliary quantities from the memory 4 be read out. The in the calculation component 2 the calculation of the characters g i of the secret combination g is performed in the 14 and 17 illustrated in more detail. The so on the basis of 11 . 14 and 17 So described embodiment corresponds to the in the 1 . 4 and 7 shown embodiment for generating auxiliary quantities. The in the 12 The architecture shown is for retrieving a secret combination g of auxiliary quantities given by a transaction number (TAN), which is described in connection with FIG 2 . 5 and 8th were obtained as described. The calculation of the characters g i of this secret combination g in the calculation component 2 is for this embodiment in the 15 and 18 illustrated in more detail. In a similar way is in the 13 an architecture for computing a password given by a secret combination g and in the 16 and 19 the calculation of this secret combination g in the calculation component 2 illustrated for a the embodiment of the 3 . 6 and 9 corresponding embodiment.

Den 11 bis 19 ist zu entnehmen, dass zum Wiedergewinnen der Geheimkombination g nach Eingabe des Hauptpassworts MPW und einer die entsprechende Anwendung kennzeichnenden Dienstauswahl da (der Anwendungsidentifikation did zugeordnet) in die Eingabekomponente 1 die entsprechenden Hilfsgrößen zi und bpi, i = 1, ..., m, und die weiteren entsprechenden Eingabegrößen aus dem Speicher 4 in die Berechnungskomponente 2 eingelesen werden, worauf auf jedes Zeichen gi der Geheimkombination g der dem entsprechenden Zählerstand zi entsprechende Abschnitt der pseudozufälligen Signalfolge rand genauso berechnet wird, wie bei dem entsprechenden Verfahren zum Erzeugen der Hilfsgrößen, wonach der durch die diesem Zeichen gi zugeordnete Blockposition bpi definierte Datenblock aus dem entsprechenden Abschnitt der pseudozufälligen Signalfolge rand extrahiert wird, dieser Datenblock gemäß der Kodierung des Alphabets A dem Zeichen gi zugeordnet wird und dieses Zeichen gi über die Ausgabekomponente 3 an die Anzeigekomponente 5 ausgegeben wird.The 11 to 19 It can be seen that to recover the secret combination g after input of the main password MPW and a corresponding service application characterizing da (the application identification did assigned) in the input component 1 the corresponding auxiliary quantities z i and bp i , i = 1,..., m, and the further corresponding input variables from the memory 4 into the calculation component 2 are read in, after which any character g i of the secret combination g z i corresponding portion of the pseudo-random signal sequence is rand calculated just as the corresponding count as the corresponding method of generating the auxiliary parameters, after which the by this sign g i associated block position BP i defined data block is extracted from the corresponding portion of the pseudo-random signal sequence rand, this data block is assigned to the character g i according to the coding of the alphabet A and this character g i via the output component 3 to the display component 5 is issued.

Die vorliegende Erfindung enthält also ein Verfahren, bei welchem eine anwendungs- oder dienstspezifische Geheimkombination g = (g1, ..., gm) (z.B. Passwort, PIN, TAN), bestehend aus m Zeichen, in sicherer Weise auf einem Endgerät abgespeichert werden kann. Hierbei wird nicht direkt das Ergebnis einer klassischen Verschlüsselungsoperation auf dem Endgerät abgespeichert, sondern vielmehr Steuerungsinformationen in Form von geheimzeichenspezifischen Zählerständen und Blockpositionen, die als der jeweiligen Geheimkombination zugeordnete Hilfsgrößen dienen. Die Anwendung des der Erfindung zugrunde liegenden Verfahrens eignet sich insbesondere in solchen Fällen, in welchen die zu sichernden Geheimkombinationen vollständig re dundanzfrei oder weitgehend redundanzfrei sind. Diese Bedingungen sind beispielsweise dann erfüllt, wenn es sich bei den sicher zu hinterlegenden Geheimkombinationen um PINs oder TANs handelt. Dies bedeutet, dass sich das der Erfindung zugrunde liegende Verfahren insbesondere zur sicheren Aufbewahrung von PINs und TANs eignet. Darüber eignet sich das Verfahren zur sicheren Aufbewahrung von Passwörtern, wobei diese entsprechend gut ausgewählt sein sollten, d.h. nach Möglichkeit keine Passagen enthalten sollten, denen man einen bestimmten Sinn oder eine Bedeutung zuordnen könnte, wie dies beispielsweise der Fall wäre, wenn Passwörter eines Benutzers einem Lexikon oder Wörterbuch entnommen wären.Thus, the present invention includes a method in which an application or service-specific secret combination g = (g 1 , ..., g m ) (eg password, PIN, TAN), consisting of m characters, stored in a secure manner on a terminal can be. In this case, the result of a classic encryption operation is not stored directly on the terminal, but rather control information in the form of secret character-specific counter readings and block positions which serve as auxiliary variables assigned to the respective secret combination. The application of the method on which the invention is based is particularly suitable in those cases in which the secret combinations to be secured are completely free from deltancy or largely redundancy-free. These conditions are fulfilled, for example, when the secret combinations to be securely deposited are PINs or TANs. This means that the method on which the invention is based is particularly suitable for the secure storage of PINs and TANs. This is the method for secure storage of passwords, which should be selected accordingly well, ie if possible should not contain passages to which one could assign a certain meaning or meaning, as would be the case, for example, if a user's passwords Lexicon or dictionary would be taken.

Das der Erfindung zugrunde liegende Gesamtverfahren gliedert sich grob betrachtet in zwei Teile:

  • • Ein Verfahren zur Berechnung von zeichenspezifischen Zählerständen und Blockpositionen: Durch diesen Teil der Erfindung werden für die Zeichen einer m-stelligen Geheimkombination g = (g1, ..., gm) bei gegebenem Alphabet A, über welchem g gebildet wird, zeichenspezifische Zählerstände und Blockpositionen (z1, bp1), ..., (zm, bpm) berechnet. Dies wird in den 1, 2, 3, 4, 5, 6, 7, 8 und 9 dargestellt.
  • • Ein Verfahren zur Berechnung von Geheimkombinationen: Durch diesen Teil der Erfindung werden aus den zeichenspezifischen Zählerständen und Blockpositionen (z1, bp1), ..., (zm, bpm) für das gegebene Alphabet A die Zeichen der m-stelligen Geheimkombination g = (g1, ..., gm) berechnet. Dies wird in den 11, 12, 13, 14, 15, 16, 17, 18 und 19 dargestellt.
The overall method on which the invention is based is roughly divided into two parts:
  • A method for calculating character-specific counter readings and block positions: By this part of the invention, for the Characters of an m-digit secret combination g = (g 1 ,..., G m ) for a given alphabet A, over which g is formed, character-specific counter readings and block positions (z 1 , bp 1 ),..., (Z m , bp m ). This will be in the 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8th and 9 shown.
  • A method for calculating secret combinations: By this part of the invention, the character-specific counter readings and block positions (z 1 , bp 1 ),..., (Z m , b p m ) for the given alphabet A become the characters of the m-digit ones Secret combination g = (g 1 , ..., g m ) is calculated. This will be in the 11 . 12 . 13 . 14 . 15 . 16 . 17 . 18 and 19 shown.

Bei dem Verfahren zur Berechnung von zeichenspezifischen Zählerständen und Blockpositionen werden die zeichenspezifischen Zählerstände und Blockpositionen auf Basis einer Reihe von Werten berechnet, die von dem Benutzer einzugeben sind. Zu diesen Werten gehören das Hauptpasswort MPW des Benutzers, die zu verwahrende Geheimkombination g = (g1, ..., gm), das Alphabet A, über dem g gebildet wird, die Bezeichnung did der Applikation oder des Dienstes, für welchen die Geheimkombination verwendet wird, Zufallsdaten zd und optional eine Identifikation bid für den Benutzer. Der Wert von bid kann von dem Benutzer selbst vergeben werden und ist nicht mit einer dienstspezifischen Benutzeridentifikation zu verwechseln. Sofern der Benutzer für die jeweilige Anwendung bzw. Dienst noch eine dienstespezifische Benutzeridentifikation dbid (d.h. Login-Name) benötigt, kann dieser Wert ebenfalls bei der Berechnung der zeichenspezifischen Zählerstände und Blockpositionen berücksichtigt werden. Die Verwendung der dienstspezifischen Benutzeridentifikation dbid zur Berechnung der zeichenspezifischen Zählerstände und Blockpositionen ist ohnehin nur dann sinnvoll, wenn dbid an den Benutzer ausgegeben wird und dieser sich diesen Wert merken müsste, wie das beispielsweise bei typischen Passwort-Anwendungen der Fall ist, bei welchen man sich neben seinem Passwort auch an seinen Login-Namen erinnern muss. Darüber hinaus gibt es jedoch auch Anwendungen wie beispielsweise beim Einsatz von EC-Karten an Geldautomaten oder beim elektronischen Bezahlen, bei welchen man als Benutzer keinen Login-Namen eingeben muss. In solchen Fällen würde man zur Berechnung der zeichenspezifischen Zählerstände und Blockpositionen keine dienstespezifische Benutzeridentifikation dbid verwenden. Die Eingabe von dbid ist also abhängig vom Typ der Geheimkombination und der Einsatz ist vorteilhaft, wenn es sich bei der sicher zu hinterlegenden Geheimkombination um ein Passwort handelt, für welches man sich als Benutzer zusätzlich noch einen Login-Namen als dienstespezifische Benutzeridentifikation dbid merken muss. Handelt es sich bei der sicher zu verwahrenden Geheimkombination um eine TAN, dann ist die Eingabe von Indexwerten ix vorteilhaft, über welche die einzelnen TANs referenziert werden können, wie dies beim iTAN-Verfahren der Fall ist, z.B. (ix = 1, g = 250367) als 1. TAN, (ix = 2, g = 281273) als 2. TAN, ..., (ix = 30, g = 010706) als 30. TAN. Die Eingabe eines Indexwertes ix ist also ebenfalls abhängig vom Typ der Geheimkombination und hauptsächlich bei der Verwaltung von TANs relevant. Im Folgenden werden die vorteilhaften Eingabewerte nochmals in Abhängigkeit der Typen von Geheimkombinationen aufgelistet.

  • • PINs (siehe auch 1) – Hauptpasswort MPW – PIN als Geheimkombination g = (g1, ..., gm) – Alphabet A – Bezeichnung der Applikation oder des Dienstes did – Zufallsdaten zd – Benutzeridentifikation bid (optional)
  • • TANs (siehe auch 2) – Hauptpasswort MPW – TAN als Geheimkombination g = (g1, ..., gm) – Alphabet A – Bezeichnung der Applikation oder des Dienstes did – Zufallsdaten zd – Benutzeridentifikation bid (optional) – Indexwert der TAN ix
  • • Passwörter (siehe auch 3) – Passwort als Geheimkombination g = (g1, ..., gm) – Hauptpasswort MPW – Alphabet A – Bezeichnung der Applikation oder des Dienstes did – Zufallsdaten zd – Benutzeridentifikation bid (optional) – dienstespezifische Benutzeridentifikation dbid
In the method of calculating character-specific counts and block positions, the character-specific counts and block positions are calculated based on a series of values to be input by the user. These values include the user's main password MPW, the secret combination g = (g 1 , ..., g m ) to be stored, the alphabet A over which g is formed, the name did of the application or service for which the Secret combination is used random data zd and optionally an identification bid for the user. The value of bid can be assigned by the user himself and should not be confused with a service-specific user identification. If the user still requires a service-specific user identification dbid (ie login name) for the respective application or service, this value can likewise be taken into account in the calculation of the character-specific counter readings and block positions. The use of the service-specific user identification dbid for calculating the character-specific counter readings and block positions is only meaningful anyway if dbid is output to the user and this would have to remember this value, as is the case for example in typical password applications in which one in addition to his password also remember his login name. In addition, there are also applications such as the use of ATM cards at ATMs or electronic payment, in which you do not have to enter a login name as a user. In such cases one would not use service-specific user identification dbid to calculate the character-specific counter readings and block positions. The input of dbid is thus dependent on the type of secret combination and the use is advantageous if the secret combination to be securely deposited is a password for which a user additionally has to remember a login name as a service-specific user identification dbid. If the secret combination to be securely kept is a TAN, then it is advantageous to enter index values ix by means of which the individual TANs can be referenced, as is the case with the iTAN method, eg (ix = 1, g = 250367 ) as 1st TAN, (ix = 2, g = 281273) as 2nd TAN, ..., (ix = 30, g = 010706) as 30th TAN. The input of an index value ix is thus also dependent on the type of secret combination and mainly relevant in the management of TANs. In the following, the advantageous input values are again listed depending on the types of secret combinations.
  • • PINs (see also 1 ) - Main password MPW - PIN as a secret combination g = (g 1 , ..., g m ) - Alphabet A - Name of the application or service did - Random data zd - User identification bid (optional)
  • • TANs (see also 2 ) - Main password MPW - TAN as secret combination g = (g 1 , ..., g m ) - Alphabet A - Name of the application or the service did - Random data zd - User identification bid (optional) - Index value of the TAN ix
  • • Passwords (see also 3 ) - Password as a secret combination g = (g 1 , ..., g m ) - Main password MPW - Alphabet A - Name of the application or service did - Random data zd - User identification bid (optional) - Service-specific user identification dbid

Das einzugebende Alphabet A beschreibt die Menge der Zeichen, über welcher die Geheimkombination gebildet wird. Das Alphabet A umfasst hierbei nicht nur diejenigen Zeichen, welche letztendlich in g enthalten sind, sondern auch solche die potenziell enthalten sein könnten. Es ist jedoch wichtig, dass A keine Zeichen umfasst, welche auf keinen Fall in g enthalten sein können, d.h. keine Zeichen, welche durch Vorschriften des Dienstes oder der Anwendung als Elemente der Geheimkombination a priori ausgeschlossen sind. Handelt es sich bei g um eine PIN oder um eine TAN, dann gilt A = {0, 1, ..., 9}. Würde man in diesem Fall statt dessen A = {0, 1, ..., 9, a, b, c} wählen, und auf Basis dieser Menge Zählerstände und Blockpositionen berechnen, dann würde ein Angreifer für bestimmte Kandidaten von Hauptpasswörtern PINs oder TANs berechnen, welche die Zeichen a, b oder c enthalten, wodurch ein gewähltes Hauptpasswort leicht als falsch identifiziert werden könnte. Da PINs und TANs typischerweise nur aus Ziffern bestehen, sollte das von dem Benutzer einzugebende Alphabet A ausschließlich solche Zeichen umfassen. Handelt es sich bei der Geheimkombination hingegen um ein Passwort, dann wird das Alphabet A üblicherweise weitere Zeichen beinhalten, wie etwa Groß- oder Kleinbuchstaben oder Sonderzeichen. Jedoch ist bei der Eingabe von A dennoch darauf zu achten, dass A keine Zeichen enthält, welche durch die Passwortregeln der jeweiligen Applikation/Dienst ausgeschlossen sind. Wenn Zeichen in A enthalten sind, die gemäß anwendungsspezifischer Passwortregeln offensichtlich nicht in Passwörtern auftreten können, dann bietet dies Angreifern die Möglichkeit, falsche Hauptpasswörter direkt zu identifizieren. Die Auswahl des Alphabets A hat darüber hinaus eine Auswirkung auf die Größe von Datenblöcken, welche bei dem der Erfindung zugrunde liegenden Verfahren zur Berechnung von Zählerständen und Blockpositionen verwendet werden. In einer vorteilhaften Ausführung zur Eingabe des Alphabets A können bestimmte Zeichen bereits gruppiert sein, so dass der Benutzer anstatt der Auswahl einzelner Zeichen Zeichengruppen auswählen kann (z.B. Ziffern, Kleinbuchstaben, Großbuchstaben). Lediglich bei den Sonderzeichen scheint eine Auswahl einzelner Zeichen zur Beschreibung von A sinnvoll, da unterschiedliche Anwendungen und Dienste verschiedene Sonderzeichen akzeptieren.The alphabet A to be entered describes the set of characters over which the secret combination is formed. In this case, the alphabet A includes not only those characters which are ultimately contained in g, but also those which could potentially be included. However, it is important that A does not include characters that can not be contained in g in any case, ie no characters excluded a priori by rules of the service or application as elements of the secret combination. If g is a PIN or a TAN, then A = {0, 1, ..., 9}. In this case, instead of choosing A = {0, 1, ..., 9, a, b, c} in this case, and computing counts and block positions based on that amount, an attacker would pin or tan for certain candidate key passwords which contain the characters a, b or c, whereby a selected master password could easily be identified as false. Since PINs and TANs are typically made up only of digits, this should be entered by the user giving alphabet A exclusively include such characters. On the other hand, if the secret combination is a password, then the alphabet A will usually include other characters, such as uppercase or lowercase letters or special characters. However, when entering A, it must nevertheless be ensured that A contains no characters which are excluded by the password rules of the respective application / service. If there are characters in A that obviously can not appear in passwords according to application-specific password rules, this provides an opportunity for attackers to directly identify wrong main passwords. The selection of the alphabet A also has an effect on the size of data blocks which are used in the method of calculating counter readings and block positions on which the invention is based. In an advantageous embodiment for inputting the alphabet A, certain characters may already be grouped so that the user can select character groups instead of selecting individual characters (eg, numbers, lowercase letters, capital letters). Only with special characters does a selection of single characters make sense for the description of A, since different applications and services accept different special characters.

Die einzugebenden Zufallsdaten zd stellen das Material zur Durchführung von Zufallsexperimenten dar, deren Resultate zur Steuerung der Berechnung von Zählerständen und Blockpositionen dienen. Hierbei können als Zufallsdaten entweder direkt die eingegebenen Werte (z.B. die Werte, welche vom Benutzer in zufälliger Folge über die Tastatur eingeben werden) verwendet werden oder auch die Zeitabstände in Millisekunden zwischen den einzelnen Tastaturanschlägen oder auch eine Kombination von eingegebenen Werten und Zeitabständen. Bei der Eingabe von Zufallsdaten ist eine bestimmte Mindestmenge von Zufallsmaterial notwendig. Um eine Mindestmenge von Zufallsmaterial zu gewährleisten ist es vorteilhaft, wenn der Benutzer zur Eingabe dieser Mindestmenge gezwungen wird, z.B. eine geforderte Mindestmenge von Tastenanschlägen. In einer vorteilhaften Ausführung der Erfindung kann die Berechnung von Zählerständen und Blockpositionen nicht gestartet werden, wenn nicht genügend initiale Zufallswerte vorhanden sind. Wenn später während der Berechnung von Zählerständen und Blockpositionen noch weitere Zufallsdaten zur Durchführung weiterer Zufallsexperimente notwendig sind, ist es möglich, die initialen Zufallsdaten durch Anwendung eines geeigneten Verfahrens zu expandieren, um somit weitere Zufallswerte zu erhalten.The Random data to be entered zd provide the material for the implementation of Random experiments, the results of which are used to control the calculation of meter readings and Serve block positions. This can either be random data directly the entered values (e.g., the values given by the user in random Episode over enter the keyboard) or the time intervals in milliseconds between each keystroke or a combination of entered values and time intervals. When entering random data a certain minimum quantity of random material is necessary. Around to ensure a minimum amount of random material it is beneficial if the user is forced to enter this minimum amount, e.g. a required minimum amount of keystrokes. In an advantageous embodiment The invention can not calculate counter counts and block positions be started if not enough initial random values are present. If later during the calculation of meter readings and Block positions even more random data to carry out more Random experiments are necessary, it is possible the initial random data by using a suitable method to expand, so to get more random values.

Die Architektur zur Berechnung der zeichenspezifischen Zählerstände und Blockpositionen wird in Abhängigkeit von dem sicher zu verwahrenden Geheimkombinationstyp in den 1, 2 und 3 gezeigt. Grundsätzlich besteht die Berechnung für alle Typen von Geheimkombinationen aus einer Eingabekomponente 1, einer Berechnungskomponente 2, einer Ausgabekomponente 3, einem Speicher 4 und einer Anzeigekomponente 5. Die Eingabekomponente 1 erlaubt dem Benutzer, die geforderten Werte einzugeben. Die Eingabe kann entweder durch manuelle Eingabe oder auch durch elektronisches Einlesen von auf dem Endgerät abgelegten Daten erfolgen. Zum elektronischen Einlesen eignen sich insbesondere Geheimkombinationen wie TANs, die dem Benutzer zusammen mit den zugehörigen Indexwerten in elektronischer Form zur Verfügung gestellt werden können. Von der Eingabekomponente 1 werden die Werte dann an die Berechnungskomponente 2 übergeben. Die Unterschiede zwischen den Ausprägungen der Erfindung für unterschiedliche Typen von Geheimkombinationen schlagen sich hauptsächlich in den Daten nieder, die eingegeben und zwischen den jeweiligen Komponenten ausgetauscht werden, wie in den 1, 2 und 3 gezeigt wird. Nach dem Berechnungsvorgang werden die berechneten Werte der Zählerstände und Blockpositionen (z1, bp1), ..., (zm, bpm) und der optischen Markierung OM zusammen mit weiteren Werten, welche zur späteren Berechnung der Geheimkombination ausgehend von den Zählerständen und Blockpositionen benötigt werden, an die Ausgabekomponente 3 weitergegeben. Sämtliche Werte, die von der Berechnungskomponente 2 an die Ausgabekomponente 3 weitergegeben werden, sind in Abhängigkeit von dem jeweiligen Typ der Geheimkombination in den 1, 2 und 3 dargestellt. Die Ausgabekomponente 3 veranlasst dann entweder die Speicherung der an sie übergebenen Werte oder auch deren Anzeige gegenüber dem Benutzer. In einer vorteilhaften Ausführung der hier beschriebenen Erfindung werden in Abhängigkeit des Typs der Geheimkombination die folgenden Daten in einem persistenten Speicher des Endgeräts abgespeichert:The architecture for calculating the character-specific counter readings and block positions will depend on the safe-to-store secret combination type in the 1 . 2 and 3 shown. Basically, the calculation for all types of secret combinations consists of an input component 1 , a calculation component 2 , an output component 3 , a store 4 and a display component 5 , The input component 1 allows the user to enter the required values. The input can be made either by manual input or by electronic reading of data stored on the terminal. In particular, secret combinations such as TANs, which can be made available to the user together with the associated index values in electronic form, are suitable for electronic reading. From the input component 1 the values are then transferred to the calculation component 2 to hand over. The differences between the embodiments of the invention for different types of secret combinations are mainly reflected in the data that is input and exchanged between the respective components, as in FIGS 1 . 2 and 3 will be shown. After the calculation process, the calculated values of the counter readings and block positions (z 1 , bp 1 ),..., (Z m , bp m ) and the optical marking OM together with further values which are used for later calculation of the secret combination based on the counter readings and block positions are needed to the output component 3 passed. All values from the calculation component 2 to the output component 3 are given, depending on the type of secret combination in the 1 . 2 and 3 shown. The output component 3 then causes either the storage of the values passed to them or their display to the user. In an advantageous embodiment of the invention described here, depending on the type of secret combination, the following data is stored in a persistent memory of the terminal:

• Speicherung bei PINs (siehe auch 1)
– geheimkombinationszeichenspezifische Zählerstände z1, ..., zm
– geheimkombinationszeichenspezifische Blockpositionen bp1, ..., bpm
– Alphabet A
– Bezeichnung der Applikation oder des Dienstes did
– Benutzeridentifikation bid (optional)
• Storage with PINs (see also 1 )
- secret combination character specific counter readings z 1 , ..., z m
- secret combination character specific block positions bp 1 , ..., bp m
- Alphabet A
- Name of application or service did
- User identification bid (optional)

• Speicherung bei TANs (siehe auch 2)
– geheimkombinationszeichenspezifische Zähler stände z1, ..., zm
– geheimkombinationszeichenspezifische Blockpo sitionen bp1, ..., bpm
– Alphabet A
– Bezeichnung der Applikation oder des Dienstes did
– Benutzeridentifikation bid (optional)
– Indexwert ix der TAN
– Verwertungsmarkierung u
• Storage on TANs (see also 2 )
- secret combination character specific counters z 1 , ..., z m
- secret combination character specific Blockpo positions bp 1 , ..., bp m
- Alphabet A
- Name of application or service did
- User identification bid (optional)
- Index value ix of the TAN
- utilization mark u

• Speicherung bei Passwörtern (siehe auch 3)
– geheimkombinationszeichenspezifische Zähler stände z1, ..., zm
– geheimkombinationszeichenspezifische Blockpositionen bp1, ..., bpm
– Alphabet A
– Bezeichnung der Applikation oder des Dienstes did
– Benutzeridentifikation bid (optional)
– dienstespezifische Benutzeridentifikation dbid
• Storage for passwords (see also 3 )
- secret combination character specific counters z 1 , ..., z m
- secret combination character specific block positions bp 1 , ..., bp m
- Alphabet A
- Name of application or service did
- User identification bid (optional)
- service-specific user identification dbid

Wenn eine neue Geheimkombination als TAN eingegeben wird, dann erzeugt die Berechnungskomponente für diese TAN eine Verwertungsmarkierung u, welche angibt, ob die TAN bereits verwendet wurde. In einer vorteilhaften Ausführung des in dieser Erfindung beschriebenen Verfahrens bekommt eine neu eingegebene TAN initial einen Wert zugeordnet, der angibt, dass die TAN noch nicht benutzt wurde. Die Verwertungsmarkierung u wird wie in 2 gezeigt von der Berechnungskomponente 2 an die Ausgabekomponente 3 weitergegeben und von dieser in dem persistenten Speicher 4 abgelegt.If a new secret combination is entered as a TAN, then the computational component for that TAN generates a utilization mark u, which indicates whether the TAN has already been used. In an advantageous embodiment of the method described in this invention, a newly entered TAN initially gets assigned a value indicating that the TAN has not yet been used. The utilization mark u becomes as in 2 shown by the calculation component 2 to the output component 3 passed and from this in the persistent store 4 stored.

Die dem Benutzer angezeigte optische Markierung OM hilft dem Benutzer zu erkennen, ob er das korrekte Hauptpasswort eingegeben hat oder ob sich bei der Eingabe möglicherweise Tippfehler eingeschlichen haben. Hierzu wird ausgehend von dem eingegebenen Hauptpasswort eine optische Rückmeldung berechnet. Von der angezeigten optischen Markierung kann man jedoch nicht eindeutig auf das eingegebene Hauptpasswort zurück schließen, da die Anzahl der unterscheidbaren optischen Markierungen deutlich kleiner ist als die Anzahl der möglichen Hauptpasswörter. Da für jedes Hauptpasswort eine spezifische optische Markierung berechnet wird, wird einem Benutzer stets die gleiche optische Markierung angezeigt, so lange dieser das gleiche Hauptpasswort eingibt. In einer vorteilhaften Ausführung der Erfindung ergibt sich die optische Markierung über eine Kombination von Symbolen, Vordergrundfarben, Hintergrundfarben und Positionen.The The optical mark OM displayed to the user helps the user to recognize if he entered the correct main password or whether at the input possibly Typing mistakes. For this purpose, starting from the entered main password an optical feedback calculated. From the displayed optical marking, however, you can do not clearly infer the entered main password, since the Number of distinguishable optical marks significantly smaller is as the number of possible Master passwords. Therefore each main password calculates a specific optical mark a user always gets the same visual mark displayed as long as it inputs the same main password. In an advantageous embodiment The invention results in the optical marking over a Combination of symbols, foreground colors, background colors and Positions.

Die Berechnung der Zählerstände und Blockpositionen (z1, bp1), ..., (zm, bpm) wird zeichenweise vorgenommen, wie in den 4, 5 und 6 dargestellt wird. Die Werte, welche zur zeichenspezifischen Berechnung von Zählerständen und Blockpositionen verwendet werden, sind abhängig davon, ob es sich bei der zu sichernden Geheimkombination um eine PIN, TAN oder Passwort handelt. Für die Berechnungen der zeichenspezifischen Zählerstände und Blockpositionen (z1, bp1), ..., (zm, bpm) wird aus dem eingegebenen Hauptpasswort MPW mittels einer Schlüsselableitungsfunktion SAF ein kryptographischer Schlüssel s berechnet, welcher später einer Verschlüsselungsvorrichtung übergeben wird. In einer vorteilhaften Ausführung des in dieser Erfindung enthaltenen Verfahrens setzt man als kryptographisches Verfahren ein symmetrisches Blockverschlüsselungsverfahren ein, wie beispielsweise AES (Advanced Encryption Standard) mit einer Schlüssellänge sl von 128 bit oder 256 bit. Entsprechend viele Bits werden dann von der Schlüsselableitungsfunktion SAF erzeugt. In einer weiteren vorteilhaften Ausfüh rung der Erfindung eignet sich für die technische Umsetzung der Schlüsselableitungsfunktion SAF die Verwendung des PBKDF2-Verfahrens aus dem PKCS#5-Standard der RSA Laboratories (Password Based Cryptography Standard, Version 2.0, März 1999). Der dadurch erhaltene kryptographische Schlüssel s wird zur Berechnung der jeweiligen Zählerstände und Blockpositionen (z1, bp1), ..., (zm, bpm) verwendet. Über den Schlüssel s hinaus werden den jeweiligen Berechnungen abhängig vom Typ der Geheimkombination noch weitere Werte übergeben, die im Folgenden aufgelistet werden:

  • • Weitere der i-ten Berechnung übergebene Werte bei PINs (siehe auch 4) – i-tes Zeichen gi der Geheimkombination g – Alphabet A – Zufallsdaten zd – Bezeichnung der Applikation oder des Dienstes did – Benutzeridentifikation bid (optional)
  • • Weitere der i-ten Berechnung übergebene Werte bei TANs (siehe auch 5) – i-tes Zeichen gi der Geheimkombination g – Alphabet A – Zufallsdaten zd – Bezeichnung der Applikation oder des Dienstes did – Benutzeridentifikation bid (optional) – Indexwert ix der TAN
  • • Weitere der i-ten Berechnung übergebene Werte bei Passwörtern (siehe auch 6) – i-tes Zeichen gi der Geheimkombination g – Alphabet A – Zufallsdaten zd – Bezeichnung der Applikation oder des Dienstes did – Benutzeridentifikation bid (optional) – dienstespezifische Benutzeridentifikation dbid
The calculation of the counter readings and block positions (z 1 , bp 1 ),..., (Z m , bp m ) is carried out in characters, as in the 4 . 5 and 6 is pictured. The values used for the character-specific calculation of meter readings and block positions depend on whether the secret combination to be saved is a PIN, TAN or password. For the calculations of the character-specific counter readings and block positions (z 1 , bp 1 ),..., (Z m , bp m ), a cryptographic key s is calculated from the input main password MPW by means of a key derivation function SAF, which is later transferred to an encryption device. In an advantageous embodiment of the method contained in this invention, a symmetric block encryption method is used as the cryptographic method, such as AES (Advanced Encryption Standard) with a key length sl of 128 bits or 256 bits. Correspondingly many bits are then generated by the key derivation function SAF. In a further advantageous embodiment of the invention, the use of the PBKDF2 method from the PKCS # 5 standard of the RSA Laboratories (Password Based Cryptography Standard, Version 2.0, March 1999) is suitable for the technical implementation of the key derivation function SAF. The cryptographic key s obtained in this way is used to calculate the respective counter readings and block positions (z 1 , bp 1 ),..., (Z m , bp m ). Beyond the key s, additional values are passed to the respective calculations depending on the type of secret combination, which are listed below:
  • • Further values for the i-th calculation with PINs (see also 4 ) - i-th character g i of the secret combination g - alphabet A - random data zd - name of the application or service did - user identification bid (optional)
  • • Further values for TANs transferred to the ith calculation (see also 5 ) - i-th character g i of the secret combination g - alphabet A - random data zd - name of the application or service did - user identification bid (optional) - index value ix of the TAN
  • • Further values for passwords given to the ith calculation (see also 6 ) - i-th character g i of the secret combination g - alphabet A - random data zd - name of the application or service did - user identification bid (optional) - service-specific user identification dbid

Über diese an die Berechnung übergebenen Werte hinaus wird zusätzlich noch bei allen Typen von Geheimkombinationen die Zeichenposition i des Geheimzeichens gi für i = 1, ..., m zur Berechnung der zeichenspezifischen Zählerstände und Blockpositionen (zi, bpi) benötigt. Hier kann bei der i-ten Instantiierung der Berechnung von zeichenspezifischen Zählerständen und Blockpositionen der jeweilige Wert von i verwendet werden, wie in den 4, 5 und 6 angedeutet wird.In addition to these values given to the calculation, the character position i of the secret character g i for i = 1,..., M is additionally required for all types of secret combinations for calculating the character-specific counter readings and block positions (z i , bp i ). Here, in the ith instantiation of the calculation of character-specific counter readings and block positions, the respective value of i can be used, as in the 4 . 5 and 6 is hinted at.

Zur Abbildung des Hauptpassworts MPW auf die optische Markierung OM kann in der vorliegenden Erfindung eine Verwendung einer Einwegfunktion von Vorteil sein. Durch diese wird aus dem Hauptpasswort MPW eine binäre Zeichenfolge o einer bestimmten Länge lo berechnet, aus der sich dann Blöcke o1, o2, o3, ... fester Länge l1, l2, l3, ... extrahieren lassen, welche ihrerseits auf bestimmte Merkmale (z.B. anzuzeigendes Symbol, Vordergrundfarbe, Hintergrundfarbe, Position) abgebildet werden. Mit einem Block der Länge y > 0 lassen sich maximal 2y verschiedene Ausprägungen eines Merkmals beschreiben. Hierzu ist es erforderlich, dass man für die verschiedenen optischen Ausprägungen der jeweiligen Merkmale entsprechende Kodierungen einführt, so dass die erhaltenen Wertebelegungen der extrahierten Blöcke auf die entsprechenden optischen Ausprägungen der Merkmale abgebildet werden können. Extrahiert man aus einer binären Zeichenfolge o beispielsweise wie in 10 gezeigt 4 Blöcke o1, o2, o3, o4 (z.B. für anzuzeigendes Symbol, Vordergrund farbe, Hintergrundfarbe, Position), dann lassen sich maximal 2 l 1 + l 1 + l 3 + l 4 verschiedene optische Markierungen beschreiben. In einer vorteilhaften Ausführungen der hier beschriebenen Erfindung wird das eingegebene Hauptpasswort MPW an eine kryptographische Hashfunktion übergeben wie beispielsweise SHA-1, SHA-256, SHA-512 oder MD5, deren Ergebnisse dann auf eine Menge von für den Benutzer unterscheidbaren optischen Markierungen abgebildet werden. Hierbei ist in der Regel davon auszugehen, dass die Menge der unterscheidbaren optischen Markierungen deutlich kleiner ist als die Menge der Ergebnisse der Einwegfunktion (z.B. Hashfunktion), d.h. die Gesamtanzahl der mittels der Blöcke entnommenen Bits ist kleiner als die Anzahl der Bits, welche durch Anwendung der Einwegfunktion erhalten wurden. Deshalb können verschiedene Ergebnisse der Einwegfunktion (z.B. Hashwerte) auf die gleiche optische Markierung OM abgebildet werden. In der auszuführenden Erfindung ist es wichtig, dass die optische Markierung OM erst dann angezeigt wird, wenn die Eingabe des Hauptpassworts MPW vollständig abgeschlossen ist.For mapping the main password MPW to the optical mark OM, use of a one-way function may be advantageous in the present invention. Through this, the head becomes password MPW a binary string o a certain length l o calculated from the then blocks o 1 , o 2 , o 3 , ... fixed length l 1 , l 2 , l 3 , ... extract, which in turn on Certain features (eg symbol to be displayed, foreground color, background color, position) are displayed. With a block of length y> 0, a maximum of 2 y different occurrences of a feature can be described. For this purpose, it is necessary to introduce corresponding codes for the different optical characteristics of the respective features, so that the resulting value allocations of the extracted blocks can be mapped to the corresponding optical characteristics of the features. Extracting from a binary string o for example as in 10 4 blocks o 1 , o 2 , o 3 , o 4 (eg for the symbol to be displayed, foreground color, background color, position), then a maximum of 2 l 1 + l 1 + l 3 + l 4 different optical markings can be described. In an advantageous embodiment of the invention described herein, the input main password MPW is passed to a cryptographic hash function such as SHA-1, SHA-256, SHA-512 or MD5, the results of which are then mapped to a set of user distinguishable optical markers. In this case, it is generally to be assumed that the amount of distinguishable optical markings is significantly smaller than the set of results of the one-way function (eg hash function), ie the total number of bits removed by the blocks is less than the number of bits which can be used the one-way function were obtained. Therefore, different results of the one-way function (eg hash values) can be mapped to the same optical mark OM. In the invention to be executed, it is important that the optical marker OM is displayed only when the input of the main password MPW is completely completed.

Die Berechnung der zeichenspezifischen Zählerstände und Blockpositionen (zi, bpi) für ein gegebenes Geheimkombinationszeichen wird in Anhängigkeit von dem Typ der Geheimkombination durchgeführt wie in den 7, 8 oder 9 dargestellt wird. In einer vorteilhaften Ausführung der hier vorliegenden Erfindung werden einige an die Berechnung übergebenen Eingabewerte in einer hier zu beschreibenden Weise verarbeitet. Dies trifft beispielsweise auf das Alphabet A zu, welches alle erlaubten Zeichen für die vorliegende Geheimkombination g enthält. Die Anzahl der Zeichen, welche das Alphabet A enthält, sei mit |A| bezeichnet. Um sämtliche Zeichen des Alphabets A be schreiben zu können, benötigt man ⎾log2|A|⏋ Bits (⎾x⏋ bedeute "ganzzahliger Anteil von x + 1"). Sofern die Anzahl der Zeichen in dem Alphabet keiner Zweierpotenz entspricht, sind über ⎾log2|A|⏋ Bits mehr Kombinationen beschreibbar als Zeichen in A enthalten sind. Da in dem der Erfindung enthaltenen Verfahren Blöcke mit ⎾log2|A|⏋ Bits berechnet werden, die ihrerseits auf Zeichen des Alphabets abgebildet werden, ist es von Vorteil, wenn sämtlichen Binärkombinationen über ⎾log2|A|⏋ Bits ein Zeichen des Alphabets A zugeordnet wird. Sofern |A| keiner Zweierpotenz entspricht, bedeutet dies, dass bestimmte Zeichen von A zwei Binärkombinationen zugeordnet werden können, während andere Zeichen nur einer Binärkombination zugeordnet sind. Da PINs und TANs in der Praxis nur aus Ziffern bestehen, gilt in einer vorteilhaften Ausprägung der hier beschriebenen Erfindung für das Alphabet |A| = 10 und ⎾log2|A|⏋ = 4, so dass sich eine Kodierung ergibt, wie sie in 21 exemplarisch gezeigt wird. Bei der Behandlung von Passwörtern als Geheimkombinationen können sich abhängig von den jeweiligen Passwortregeln unterschiedliche Alphabete A ergeben, die sich ihrerseits sowohl bezüglich der enthaltenen Zeichen als auch in der Anzahl ihrer Elemente unterscheiden können. So kann es in Abhängigkeit von dem jeweiligen Passwort unterschiedliche Alphabete A geben, von welchen im Folgenden einige Alphabete exemplarisch mit ihren zugeordneten Binärkombinationen angegeben sein sollen:

  • • A = {0, ..., 9, a, ..., z}, |A| = 36, ⎾log2|A|⏋ = 6 (siehe 22)
  • • A = {!, $, (, ), 0, ..., 9, [, ], a, ..., z}, ⎾A⏋ = 42, ⎾log2|A|⏋ = 6 (siehe 23)
  • • A = {0, ..., 9, A, ..., Z, a, ..., z}, |A| = 62, ⎾log2|A|⏋ = 6 (siehe 24)
  • • A = {!, #, %, +, –, /, 0, ..., 9, =, @, A, ..., Z, [, ], a, ..., z, |}, |A| = 74, ⎾log2|A|⏋ = 7 (siehe 25)
The calculation of the character-specific counts and block positions (z i , bp i ) for a given secret combination character is performed depending on the type of secret combination as in 7 . 8th or 9 is pictured. In an advantageous embodiment of the present invention, some input to the calculation input values are processed in a manner to be described here. This applies, for example, to the alphabet A, which contains all the allowed characters for the present secret combination g. The number of characters containing the alphabet A is denoted by | A | designated. In order to be able to write all the characters of the alphabet A, one needs ⎾log 2 | A | ⏋ bits (⎾x⏋ means "integer part of x + 1"). If the number of characters in the alphabet does not correspond to a power of two, more combinations can be written over ⎾log 2 | A | ⏋ bits than characters in A are. Since in the method of the invention blocks are calculated with ⎾log 2 | A | ⏋ bits, which in turn are mapped to characters of the alphabet, it is advantageous if all the binary combinations over ⎾log 2 | A | ⏋ bits are a character of the alphabet A is assigned. If | A | does not correspond to a power of two, this means that certain characters of A can be assigned two binary combinations while other characters are associated with only one binary combination. Since PINs and TANs in practice only consist of digits, in an advantageous embodiment of the invention described here for the alphabet | A | = 10 and ⎾log 2 | A | ⏋ = 4, resulting in a coding like the one in 21 is shown as an example. When dealing with passwords as secret combinations, different alphabets A can result, depending on the respective password rules, which in turn can differ both in terms of the characters involved and in the number of their elements. Thus, depending on the respective password, there may be different alphabets A, of which some alphabets are to be given below as examples with their associated binary combinations:
  • • A = {0, ..., 9, a, ..., z}, | A | = 36, ⎾log 2 | A | ⏋ = 6 (see 22 )
  • • A = {!, $, (,), 0, ..., 9, [,], a, ..., z}, ⎾A⏋ = 42, ⎾log 2 | A | ⏋ = 6 (see 23 )
  • • A = {0, ..., 9, A, ..., Z, a, ..., z}, | A | = 62, ⎾log 2 | A | ⏋ = 6 (see 24 )
  • • A = {!, #,%, +, -, /, 0, ..., 9, =, @, A, ..., Z, [,], a, ..., z, |} , | A | = 74, ⎾log 2 | A | ⏋ = 7 (see 25 )

Die Kodierung der für die Geheimkombinationen zu verwendenden Alphabete kann in einer vorteilhaften Ausführung der Erfindung automatisch vorgenommen werden, indem beispielsweise die Zeichen des Alphabets in einer gegebenen Reihenfolge (z.B. entsprechend der Reihenfolge der ASCII-Kodierung) aufgelistet werden und diese dann den ⎾log2|A|⏋-stelligen Binärkombinationen zugeordnet werden. Wenn jedem Zeichen eine ⎾log2|A|⏋-stellige Binärkombination zugeordnet worden ist, werden die verbliebenen Binärkombinationen nochmals den Zeichen des Alphabets in gegebener Reihenfolge zugeordnet bis allen ⎾log2|A|⏋-stelligen Binärkombinationen genau ein Zeichen zugeordnet wurde.The coding of the alphabets to be used for the secret combinations can be done automatically in an advantageous embodiment of the invention, for example by listing the characters of the alphabet in a given order (eg according to the order of ASCII coding) and then the ⎾log 2 | A | ⏋-digit binary combinations are assigned. If a ⎾log 2 | A | ⏋-digit binary combination has been assigned to each character, the remaining binary combinations are again assigned to the characters of the alphabet in a given order until exactly one character has been assigned to all ⎾log 2 | A | ⏋-digit binary combinations.

Wie in den 7, 8 oder 9 dargestellt wird, geschieht die Berechnung der zeichenspezifischen Zählerstände und Blockpositionen (zi, bpi) probabilistisch, d.h. in die Berechnungen werden Ergebnisse echter Zufallsexperimente mit einbezogen. Das bedeutet, dass immer, wenn ein geeigneter Zählerstand und eine geeignete Blockposition gefunden wurde, abhängig von dem Ausgang eines Zufallsexperiments entschieden wird, ob der gefundene Zählerstand und die Blockposition verwendet werden oder ob sie verworfen werden und statt dessen ein neuer Zählerstand und eine neue Blockposition gesucht werden, für welche dann erneut ein Zufallsexperiment ausgeführt wird. In einer vorteilhaften Ausführung der Erfindung benötigt man hierfür eine technische Vorrichtung, welche ein binäres Zufallsexperiment, d.h. ein Zufallsexperiment mit zwei unterscheidbaren Ergebnissen, durchführt. Die Durchführung dieser Zufallsexperimente basiert auf den Zufallsdaten zd, welche von dem Benutzer eingegeben werden.As in the 7 . 8th or 9 is shown, the calculation of the character-specific counter readings and block positions (z i , bp i ) is probabilistic, ie in the calculations results of real random experiments are included. This means that whenever a suitable count and a suitable block position has been found, it is decided, depending on the outcome of a random experiment, whether the count found and the block position are used or whether they are discarded and instead a new count and a new block position are searched, for which then again a random experiment is executed. In an advantageous embodiment of the invention, this requires a technical device which performs a binary random experiment, ie a random experiment with two distinct results. The performance of these random experiments is based on the random data zd entered by the user.

Wenn für ein Geheimkombinationszeichen gi ein geeignetes Wertepaar eines zeichenspezifischen Zählerstands und einer Blockpositionen (zi, bpi) gefunden wurde, dann wird dieses entweder mit einer Wahrscheinlichkeit pi akzeptiert oder mit einer Wahrscheinlichkeit 1-pi verworfen und die Suche wird fortgeführt. Das in der Erfindung enthaltene Verfahren muss hierbei geeignete Werte für diese Wahrscheinlichkeit pi bei der Durchführung des binären Zufallsexperiments verwenden. Es ist hierbei möglich, den Wert von pi für die Berechnung von zeichenspezifischen Zählerständen und Blockpositionen verschiedener Geheimkombinationen g konstant zu halten oder diesen auch zu variieren. Es bieten sich hierzu verschiedene Möglichkeiten an:

  • 1. Konstante Wahrscheinlichkeit p0 für alle Geheimkombinationen g: In diesem Fall wird ein fest voreingestellter Wahrscheinlichkeitswert pi = p0 mit 0 < p0 < 1 verwendet, z.B. p0 ∈ {1/2, 1/3, 1/4, ..., 1/100}. Der eingestellte Wert von p0 wird bei allen Zeichen aller Geheimkombinationen angewendet.
  • 2. Geheimkombinationsspezifische Wahrscheinlichkeit pg: In diesem Fall wird die Wahrscheinlichkeit pi = pg mit pmin < pg < pmax und 0 < pmin < pmax < 1 für jede Geheimkombination neu ausgewählt, d.h. bei der Berechnung der Zählerstände und Blockpositionen für die Geheimkombinationen g( 1 ) und g( 2 ) werden nicht notwendigerweise die gleichen Wahrschein lichkeitswerte verwendet. Jedoch sind die Wahrscheinlichkeitswerte pi zur Berechnung der Zählerstände und Blockpositionen für alle Zeichen einer Geheimkombination identisch.
  • 3. Geheimkombinationszeichenspezifische Wahrscheinlichkeit pgi: In diesem Fall wird für jedes Zeichen der Geheimkombination, für welches ein Zählerstand und eine Blockposition zu berechnen ist, ein neuer Wahrscheinlichkeitswert pi = pgi mit pmin < pgi < pmax und 0 < pmin < pmax < 1 verwendet, so dass von Fall zu Fall unterschiedliche Wahrscheinlichkeitswerte angewendet werden können.
If a suitable value pair of a character-specific counter reading and a block position (z i , bp i ) has been found for a secret combination character g i , then this is either accepted with a probability p i or rejected with a probability 1-p i and the search is continued. The method contained in the invention must hereby use suitable values for this probability p i when carrying out the binary random experiment. It is possible in this case to keep the value of p i constant for the calculation of character-specific counter readings and block positions of different secret combinations or to vary this as well. There are various possibilities for this:
  • 1. Constant probability p 0 for all secret combinations g: In this case a fixed preset probability value p i = p 0 with 0 <p 0 <1 is used, eg p 0 ∈ {1/2, 1/3, 1/4, ..., 1/100}. The set value of p 0 is applied to all characters of all secret combinations.
  • 2. Secret combination-specific probability p g : In this case, the probability p i = p g with p min <p g <p max and 0 <p min <p max <1 is newly selected for each secret combination, ie in the calculation of the counter readings and Block positions for the secret combinations g ( 1 ) and g ( 2 ) do not necessarily use the same probability values. However, the probability values p i for calculating the counts and block positions are identical for all characters of a secret combination.
  • 3. Secret Combination Character-Specific Probability p gi : In this case, for each character of the secret combination for which a count and a block position is to be calculated, a new probability value p i = p gi with p min <p gi <p max and 0 <p min <p max <1, so that different probability values can be used on a case-by-case basis.

In den im Vorangegangenen beschriebenen drei Fällen ist es auch denkbar, dass bei der Berechnung von Zählerständen und Blockpositionen für solche Geheimkombinationszeichen aus dem gegebenen Alphabet A, welche nur einer Binärkombination zugeordnet werden, ein Wahrscheinlichkeitswert angewendet wird, welcher doppelt so groß ist, wie der angewendete Wahrscheinlichkeitswert bei Geheimkombinationszeichen aus A, welche zwei Binärkombinationen zugeordnet werden. In dieser Spezialisierung der obigen Fälle ist darauf zu achten, dass die Wahrscheinlichkeit bei Geheimkombinationszeichen aus A, welche zwei Binärkombinationen zugeordnet werden, kleiner als 0,5 gewählt wird. Man erhält die folgenden Spezialisierungen:

  • 1'. Wahrscheinlichkeit p0 für alle Geheimkombinationen g bei abbildungsabhängiger Anpassung: In diesem Fall wird ein fest voreingestellter Wahrscheinlichkeitswert p0 mit 0 < p0 < 0,5 verwendet. Der eingestellte Wert von p0 wird bei allen Geheimkombinationen angewendet. Wenn das vorliegende Geheimkom binationszeichen zwei Binärkombinationen zugeordnet wird, dann gilt pi = p0. Wenn das vorliegende Geheimkombinationszeichen nur einer Binärkombination zugeordnet wird, dann gilt pi = 2p0.
  • 2'. Geheimkombinationsspezifische Wahrscheinlichkeit pg bei abbildungsabhängiger Anpassung: In diesem Fall wird für jede Geheimkombination g ein eigner Wahrscheinlichkeitswert pg mit pmin < pg < pmax und 0 < pmin < pmax < 0,5 ermittelt. Der ermittelte Wert von pg wird daraufhin bei der Berechnung der Zählerstände und Blockpositionen für alle Zeichen der vorliegenden Geheimkombinationen g in folgender Weise angewendet. Wenn das vorliegende Geheimkombinationszeichen zwei Binärkombinationen zugeordnet wird, dann gilt pi = pg. Wenn das vorliegende Geheimkombinationszeichen nur einer Binärkombination zugeordnet wird, dann gilt pi = 2pg.
  • 3'. Geheimkombinationsspezifische Wahrscheinlichkeit pgi bei abbildungsabhängiger Anpassung: In diesem Fall wird für jedes Zeichen gi der Geheimkombination g, für welches ein Zählerstand zi und eine Blockposition bpi zu berechnen ist, ein neuer Wahrscheinlichkeitswert pgi mit pmin < pgi < pmax und 0 < pmin < pmax < 0,5 ermittelt. Wenn das vorliegende Geheimkombinationszeichen zwei Binärkombinationen zugeordnet ist, dann wird pi = pgi gewählt. Wird das vorliegende Geheimkombinationszeichen dagegen nur einer Binärkombination zugeordnet, so gilt pi = 2pgi.
In the three cases described above, it is also conceivable that in the calculation of counts and block positions for such secret combination characters from the given alphabet A, which are assigned to only a binary combination, a probability value is applied, which is twice as large as the applied Probability value for secret combination characters from A, which are assigned to two binary combinations. In this specialization of the above cases, care must be taken that the probability for secret combination characters from A, which are assigned to two binary combinations, is chosen to be less than 0.5. You get the following specializations:
  • 1'. Probability p 0 for all secret combinations g for image-dependent adaptation: In this case a fixed preset probability value p 0 with 0 <p 0 <0.5 is used. The set value of p 0 is used for all secret combinations. If the present secret combination character is assigned to two binary combinations, then p i = p 0 . If the present secret combination character is assigned only to a binary combination, then p i = 2p 0 .
  • 2 '. Secret combination-specific probability p g for image-dependent adaptation: In this case, for each secret combination g, an own probability value p g with p min <p g <p max and 0 <p min <p max <0.5 is determined. The determined value of p g is then used in the calculation of the counts and block positions for all characters of the present secret combinations g in the following manner. If the present secret combination character is assigned to two binary combinations, then p i = p g . If the present secret combination character is assigned to only one binary combination, then p i = 2p g .
  • 3 '. Secret combination-specific probability p gi for image-dependent adaptation: In this case, for each character g i of the secret combination g for which a count z i and a block position bp i is to be calculated, a new probability value pg i with p min <p gi <p max and 0 <p min <p max <0.5. If the present secret combination character is associated with two binary combinations, then p i = p gi is chosen. On the other hand, if the present secret combination character is only assigned to a binary combination, then p i = 2p gi .

In den oben genannten Varianten werden über geeignet gewählte Werte für pmin und pmax Intervalle definiert, aus denen die jeweilige Wahrscheinlichkeit p0, pg bzw. pgi zu entnehmen ist. Die Auswahl der Wahrscheinlichkeitswerte für pg und pgi kann ebenfalls über ein Zufallsexperiment durchgeführt werden. Hierbei ist darauf zu achten, dass die zwischen pmin und pmax zur Verfügung stehenden und zufällig ausgewählten Wahrscheinlichkeitswerte selbst entweder gleichverteilt oder annähernd gleichverteilt sind. Bei der praktischen Anwendung des der Erfindung zugrunde liegenden Verfahrens kann man beispielsweise pmin = 0,1 und pmax = 0,5 verwenden.In the variants mentioned above, suitably selected values for p min and p max are defined, from which the respective probability p 0 , p g or p gi can be deduced. The selection of the probability values for p g and p gi can likewise be carried out by means of a random experiment. Care must be taken to ensure that the randomly selected probability values available between p min and p max are themselves either equally distributed or approximately evenly distributed. In the practical application of the method on which the invention is based, it is possible, for example, to use p min = 0.1 and p max = 0.5.

In einer vorteilhaften Ausführung der Erfindung kann ein binäres Zufallsexperiment mit geeigneten Wahrscheinlichkeiten dadurch erreicht werden, indem man auf einer Skala von 0 bis 99 einen ganzzahligen Schwellwert sw mit 0 < sw < 99 festlegt und den Ausgang des Zufallsexperiments darüber bestimmt, ob für einen aus den Zufallsdaten zd in geeigneter Weise abgeleiteten Wert ex entweder die Beziehung ex < sw oder die Beziehung ex > sw gilt. Der Wert von ex kann beispielsweise dadurch erhalten werden, dass aus dem Verarbeitungsergebnis der Zufallsdaten zd 7 Bits extrahiert werden, welche vorher noch nicht extrahiert wurden, und man die dadurch erhaltene Binärkombination dezimal interpretiert. Der Wert von ex liegt dann zwischen 0 und 127 einschließlich. Sofern 0 ≤ ex ≤ 99 gilt, wird überprüft, welche der beiden Beziehungen (ex < sw oder ex ≥ sw) erfüllt ist. Im Fall ex > 99 wird der ermittelte Wert von ex verworfen und ein neuer Wert für ex bestimmt, indem neue 7 Bit extrahiert werden. Je nach Wahl des Schwellwerts sw lässt sich somit ein Wert von sw/100 für die Wahrscheinlichkeit p0, pg bzw. pgi erhalten, wobei angenommen wird, dass das Auftreten des Ereignisses ex < sw auf das Ereignis abgebildet wird, bei welchem das gefundene Paar aus Zählerstand und Blockposition akzeptiert wird.In an advantageous embodiment of the invention, a binary random experiment with appropriate probabilities can be achieved by setting an integer threshold sw with 0 <sw <99 on a scale from 0 to 99 and determining the outcome of the random experiment as to whether one of the Random data zd suitably derived value ex either the relation ex <sw or the relation ex> sw holds. The value of ex can be obtained, for example, by extracting 7 bits from the processing result of the random data zd, which have not yet been extracted, and decoding the thus obtained binary combination. The value of ex is then between 0 and 127 inclusive. If 0 ≤ ex ≤ 99, it is checked which of the two relationships (ex <sw or ex ≥ sw) is satisfied. In the case of ex> 99, the determined value of ex is discarded and a new value for ex is determined by extracting new 7 bits. Depending on the choice of the threshold value sw, a value of sw / 100 can thus be obtained for the probability p 0 , p g or p gi , it being assumed that the occurrence of the event ex <sw is mapped to the event in which the found pair of meter reading and block position is accepted.

In einer weiteren vorteilhaften Ausführung der Erfindung zur Erreichung variierender Wahrscheinlichkeiten pi = pg bzw. pi = 2pg oder pi = pgi bzw. pi = 2pgi (d.h. entweder geheimkombinationsspezifische Wahrscheinlichkeit oder geheimkombinationszeichenspezifische Wahrscheinlichkeit) werden auf der gegebenen Skala zwischen 0 und 99 eine untere Grenze ug und eine obere Grenze og festgelegt mit 0 ≤ ug < og ≤ 99. Der Schwellwert sw mit ug ≤ sw ≤ og wird dann durch einen Wert sw = ug + swex festgelegt, wobei swex mit swex∈{0, ..., og – ug} in gegeigneter Weise aus den Zufallsdaten zd abgeleitet wird und damit den Ausgang eines erneuten Zufallsexperiments beschreibt. Hierzu wird eine entsprechend der Größe von og – ug erforderliche Anzahl von Bits aus dem Verarbeitungsergebnis der Zufallsdaten zd extrahiert, wobei diese zuvor noch nicht extrahiert wurden. Wenn das dadurch erhaltene Ergebnis größer als og – ug ist, wird es verworfen und es wird eine entsprechende Anzahl neuer Bits aus dem Verarbeitungsergebnis der Zufallsdaten zd extrahiert. Liegt der durch Extraktion erhaltene Wert jedoch zwischen 0 und og – ug einschließlich, dann wird swex dieser Wert zugewiesen und der Schwellwert sw auf den Wert sw = ug + swex gesetzt. Dadurch wird der Schwellwert bei Bedarf probabilistisch festgelegt und kann in vorteilhafter Weise zur Bestimmung der geheimkombinationsspezifischen Wahrscheinlichkeit oder der geheimkombinationszeichenspezifischen Wahrscheinlichkeit verwendet werden. Durch die Wahl der unteren Grenze ug und der oberen Grenze og ergeben sich die Wahrscheinlichkeiten pmin = ug/100 und pmax = og/100, zwischen denen die proba bilistisch ermittelte Wahrscheinlichkeit pg = sw/100 bzw. pgi = sw/100 liegt.In a further advantageous embodiment of the invention for achieving varying probabilities p i = p g or p i = 2p g or p i = p gi or p i = 2p gi (ie either secret combination-specific probability or secret combination-specific probability) are on the given scale between 0 and 99, a lower limit ug and an upper limit og set with 0 ≤ ug <og ≤ 99. The threshold value sw with ug ≤ sw ≤ og is then determined by a value sw = ug + swex, where swex with swex∈ { 0, ..., og - ug} is derived in a suitable manner from the random data zd and thus describes the output of a new random experiment. For this purpose, a number of bits required according to the size of og-ug is extracted from the processing result of the random data zd, which have not been previously extracted. If the result obtained thereby is larger than og - ug, it is discarded and a corresponding number of new bits are extracted from the processing result of the random data zd. However, if the value obtained by extraction is between 0 and og - ug inclusive, then swex is assigned this value and the threshold value sw is set to the value sw = ug + swex. As a result, the threshold value is determined probabilistically as needed and can advantageously be used to determine the secret combination-specific probability or the secret combination-character-specific probability. The choice of the lower limit ug and the upper limit og results in the probabilities p min = ug / 100 and p max = og / 100, between which the probabilistically determined probability p g = sw / 100 or p gi = sw / 100 lies.

Sowohl die Werte von ex als auch die Werte von swex werden aus den vom Benutzer eingegebenen Zufallsdaten zd abgeleitet. In einer vorteilhaften Ausführung des der Erfindung zugrunde liegenden Verfahrens werden die Zufallsdaten über den Werten T1, ..., Tr der vom Benutzer gedrückten Tasten und den Zeitintervallen t1, ..., tr zwischen den Tastenanschlägen (z.B. in Millisekunden) mit ti als Zeit zwischen Ti–1 und Ti, wobei r > 0 eine vom System geforderte Anzahl von Tastaturanschlägen ist. Der Wert von t1 ergibt sich aus der verstrichenen Zeit zwischen dem Beginn der Zeitmessung und dem ersten Tastaturanschlag. In einer vorteilhaften Ausführung der Erfindung gilt r ≥ 5. In einer weiteren vorteilhaften Ausführung der Erfindung werden die eingegebenen Zufallsdaten konkateniert und einer kryptographischen Hashfunktion (z.B. SHA-1, SHA256, oder MD5) übergeben, mittels welcher ein Hashwert berechnet wird und aus welchem die Werte von ex als auch die Werte von swex extrahiert werden werden können. Wenn nicht mehr genügend bisher noch nicht verwendete Bits in dem berechneten Hashwert zur Verfügung stehen, da bereits zu viele extrahiert und verbraucht wurden, dann müssen neue Bits berechnet werden. Hierzu sind mehrere Vorgehensweisen geeignet:

  • 1. Erneute Eingabe von Zufallsdaten zd durch den Benutzer mittels r Tastenanschlägen und anschließender Verarbeitung wie oben beschrieben.
  • 2. Weitere Eingabe von Werten Tr+1, ..., Tr+q durch das Drücken von q Tasten und Messung von q Zeitintervallen tr+1, ..., tr+q und Berechnung eines neuen Hashwerts auf Basis des vorangegangenen Hash werts und der neuen Zufallsdaten nach Konkatenation des des vorangegangenen Hashwerts und der neuen Zufallsdaten.
  • 3. Erneute Anwendung der Hashfunktion auf den vorangegangenen Hashwert ohne weitere Eingabe neuer Zufallsdaten durch den Benutzer.
Both the values of ex and the values of swex are derived from the user-entered random data zd. In an advantageous embodiment of the method on which the invention is based, the random data on the values T 1 ,..., T r of the keys pressed by the user and the time intervals t 1 ,..., T r between the keystrokes (eg in milliseconds) with t i as the time between T i-1 and T i , where r> 0 is a system-requested number of keystrokes. The value of t 1 results from the elapsed time between the beginning of the time measurement and the first keystroke. In an advantageous embodiment of the invention r ≥ 5. In a further advantageous embodiment of the invention, the input random data is concatenated and a cryptographic hash function (eg SHA-1, SHA256, or MD5) passed, by means of which a hash value is calculated and from which the Values of ex as well as the values of swex can be extracted. If there are not enough bits left unused in the calculated hash since too many have already been extracted and consumed then new bits must be calculated. Several approaches are suitable for this:
  • 1. Re-input of random data zd by the user by means of r keystrokes and subsequent processing as described above.
  • 2. Further input of values T r + 1 , ..., T r + q by pressing q keys and measuring q time intervals t r + 1 , ..., t r + q and calculating a new hash value based on the previous hash value and the new random data after concatenation of the previous hash value and the new random data.
  • 3. Reapply the hash function to the previous hash value without user input of new random data.

Zur Berechnung der zeichenspezifischen Zählerstände und Blockpositionen (zi, bpi) für ein gegebenes Geheimkombinationszeichen wird ein Teil der eingegebenen Daten zur symmetrischen Verschlüsselung an ein Verschlüsselungsverfahren (z.B. AES in Verbindung mit CBC) übergeben. Die zur Verschlüsselung zu übergebenden Daten hängen hierbei von dem Typ der Geheimkombination ab (PIN, TAN oder Passwort). Bei der Verschlüsselung werden abhängig vom Typ der Geheimkombination die folgenden Daten konkateniert und verschlüsselt:

  • – PIN als Geheimkombination – Position i des Geheimkombinationszeichens innerhalb der Geheimkombination – Bezeichnung der Applikation oder des Dienstes did (Anwendungsidentifikation) – Benutzeridentifikation bid
  • – TAN als Geheimkombination – Position i des Geheimkombinationszeichens innerhalb der Geheimkombination – Bezeichnung der Applikation oder des Dienstes did – Index ix der TAN – Benutzeridentifikation bid
  • – Passwort als Geheimkombination – Position i des Geheimkombinationszeichens innerhalb der Geheimkombination – Bezeichnung der Applikation oder des Dienstes did – dienstespezifische Benutzeridentifikation dbid – Benutzeridentifikation bid
For calculating the character-specific counter readings and block positions (z i , bp i ) for a given secret combination character, a part of the input data for symmetric encryption is transferred to an encryption method (eg AES in connection with CBC). The data to be transferred for encryption depends on the type of secret combination (PIN, TAN or password). During encryption, the following data is concatenated and encrypted, depending on the type of secret combination:
  • - PIN as a secret combination - Position i of the secret combination character within the secret combination - Name of the application or service did (application identification) - User identification bid
  • - TAN as a secret combination - Position i of the secret combination character within the secret combination - Name of the application or service did - Index ix of the TAN - User identification bid
  • - Password as a secret combination - Position i of the secret combination character within the secret combination - Name of the application or service did - Service-specific user identification dbid - User identification bid

Da die Eingabe von bid bei allen Typen von Geheimkombinationen optional ist, wird bid mit einem festen Wert belegt, wenn der Benutzer auf die Eingabe einer Geheimkombination verzichtet. Bevor die Daten im jeweiligen Fall verschlüsselt werden, werden diese zunächst zu einer Nachricht N konkateniert, so dass sich folgende Nachricht ergibt:

  • – PIN als Geheimkombination: N = i|did|bid
  • – TAN als Geheimkombination: N = i|did|ix|bid
  • – Passwort als Geheimkombination: N = i|did|dbid|bid
Since the entry of bid is optional for all types of secret combinations, bid is assigned a fixed value if the user does not enter a secret combination. Before the data are encrypted in the respective case, they are first concatenated into a message N, resulting in the following message:
  • - PIN as a secret combination: N = i | did | bid
  • - TAN as a secret combination: N = i | did | ix | bid
  • - Password as a secret combination: N = i | did | dbid | bid

Hierbei wird durch | der Konkatenierungsoperator beschrieben. In einer vorteilhaften Ausführung des der Erfindung zugrunde liegenden Verfahrens werden zwischen die zu konkatenierenden Daten bestimmte Trennzeichen Tz eingefügt (z.B. Tabulator als Trennzeichen), so dass sich folgende Nachrichten ergeben:

  • – PIN als Geheimkombination: N = i|Tz|did|Tz|bid
  • – TAN als Geheimkombination: N = i|Tz|did|Tz|ix|Tz|bid
  • – Passwort als Geheimkombination: N = i|Tz|did|Tz|dbid|Tz|bid
This is by | the concatenation operator. In an advantageous embodiment of the method on which the invention is based, certain delimiters Tz are inserted between the data to be concatenated (eg tabulator as delimiter), so that the following messages result:
  • - PIN as a secret combination: N = i | Tz | did | Tz | bid
  • - TAN as a secret combination: N = i | Tz | did | Tz | ix | Tz | bid
  • - Password as a secret combination: N = i | Tz | did | Tz | dbid | Tz | bid

(Selbstverständlich können die genannten Daten oder Eingabegrößen auch jeweils in anderer, definierter Reihenfolge konkateniert werden.) Die erhaltene Nachricht N wird nun durch Anwendung eines Paddingverfahrens (z.B. nach ISO 9797-1) auf ein Vielfaches der Blocklänge bl des verwendeten symmetrischen Verschlüsselungsverfahrens SV expandiert und anschließend in Blöcke der Blocklänge bl segmentiert. Die erhaltenen Blöcke werden danach ähnlich einem CBC-Verfahren symmetrisch verschlüsselt. Hierzu wird der aus dem Hauptpasswort MPW mittels eines geeigneten Verfahrens (z.B. PKCS#5) berechnete symmetrische Schlüssel s mit Schlüssellänge sl verwendet. In einer vorteilhaften technischen Variante der hier beschriebenen Erfindung setzt man als symmetrisches Verschlüsselungsverfahren den ABS-Standard ein, bei welchem bl = 128 und sl = 128 gelten. In einer über die standardisierte Fassung von ABS hinaus gehenden Variante ist auch eine Schlüssellänge sl = 256 geeignet. Der nach Konkatenation, Padding und Segmentierung erhaltene erste Block wird gemäß der 7, 8 und 9 bitweise XOR-verknüpft mit einem Block der Länge bl, welche einen Initialwert init enthält. Das nach der bitweisen XOR-Verknüpfung erhaltene Ergebnis wird danach durch Anwendung des symmetrischen Verschlüsselungsverfahrens SV verschlüsselt. Das durch symmetrische Verschlüsselung erhaltene Chiffrat der Blocklänge bl wird im darauf folgenden Schritt mit dem nächsten aus der Nachricht N nach Segmentierung erhaltenen Block der gleichen Blocklänge XOR-verknüpft, wonach des Verknüpfungsergebnis wiederum unter Anwendung des Schlüssels s symmetrisch verschlüsselt wird. Dieser Vorgang wird solange fortgeführt, bis sämtliche nach Segmentierung der Nachricht N erhaltenen Blöcke bitweise XOR-verknüpft und symmetrisch verschlüsselt worden sind. Das auf diese Weise erhaltene Chiffrat der Blocklänge bl hängt von allen Komponenten der Nachricht N und von dem Schlüssel s ab.(Of course, the data or input variables mentioned can also be concatenated in each case in a different, defined sequence.) The received message N is now expanded by application of a padding method (eg according to ISO 9797-1) to a multiple of the block length bl of the symmetric encryption method SV used and then segmented into blocks of block length bl. The resulting blocks are then symmetrically encrypted similar to a CBC method. For this purpose, the symmetrical key s with key length sl calculated from the main password MPW by means of a suitable method (eg PKCS # 5) is used. In an advantageous technical variant of the invention described here, the ABS standard is used as symmetrical encryption method, in which bl = 128 and sl = 128. In a variant going beyond the standardized version of ABS, a key length sl = 256 is also suitable. The first block obtained after concatenation, padding and segmentation is determined according to the 7 . 8th and 9 bitwise XOR-linked to a block of length bl, which contains an initial value init. The result obtained after the bitwise XOR operation is then encrypted by using the symmetric encryption method SV. The block-length cipher obtained by symmetric encryption is XOR-linked in the following step to the next block of the same block length obtained from the message N after segmentation, after which the result of the combination is in turn symmetrically encrypted using the key s. This process is continued until all blocks obtained after segmentation of the message N have been bit-wise XOR-linked and symmetrically encrypted. The ciphertext of the block length bl obtained in this way depends on all components of the message N and on the key s.

Das auf diese Weise erhaltene Chiffrat wird im nächsten Schritt mit dem Wert zi eines Zählers, welcher seinerseits als Block der Blocklänge bl dargestellt wird, bitweise XOR-verknüpft und das Verküpfungsergebnis wird nochmals durch Anwendung von SV und s symmetrisch verschlüsselt, wodurch das Chiffrat rand der Blocklänge bl erhalten wird. Als Startwert für den Zähler zi eignet sich der Wert 1, welcher in dem zur bitweisen XOR-Verknüpfung verwendeten Block als Dualzahl dargestellt wird (d.h. beim Initialwert des Zählerstands zi = 1 als 0...01).In the next step, the cipher rate thus obtained is XORed bit by bit with the value z i of a counter, which in turn is represented as a block of block length bl, and the interleaving result is again symmetrically encrypted using SV and s, whereby the cipher edge the block length bl is obtained. The starting value for the counter z i is the value 1, which is represented as a binary number in the block used for the bit-wise XOR connection (ie at the initial value of the counter reading z i = 1 as 0 ... 01).

Der durch symmetrische Verschlüsselung erhaltene Wert rand wird im darauf folgenden Schritt an eine Komponente zur Blockextraktion & Kodierung übergeben. Der Komponente zur Blockextraktion & Kodierung wird ebenfalls das eingegebene Alphabet A übergeben. Die Komponente zur Blockextraktion & Kodierung ermittelt die Abbildung zwischen Alphabet A und den k-stelligen Binärkombinationen mit k = ⎾log2|A|⏋, wie dies für verschiedene exemplarische Alphabete in den 21, 22, 23, 24 und 25 gezeigt wird. Insbesondere wird hier ausgehend von dem eingegebenen Alphabet A der Wert von k ermittelt. In der Komponente zur Blockextraktion & Kodierung wird nun beginnend bei der ersten Blockposition bp1 = 1 ein Block mit k Bits (im Folgenden als k-Block bezeichnet) extrahiert und gemäß der bestehenden Abbildung zwischen k-stelligen Binärkombinationen und den Zeichen aus dem Alphabet A mit dem entsprechenden Zeichen aus dem Alphabet A ko diert. Der dadurch erhaltene Kodierungswert wird mit x bezeichnet. Der Kodierungswert x wird daraufhin von der Komponente zur Blockextraktion & Kodierung an eine Vergleichskomponente gegeben, wo der beim aktuellen Zählerstand zi = 1 und der gegebenen Blockposition bpi = 1 erhaltene Kodierungswert x und das gegebene Geheimkombinationszeichen gi auf Gleichheit überprüft werden. Das binäre Überprüfungsergebnis v mit v ∈ {gleich, ungleich} wird an einen Zufallsentscheider gegeben. Im Fall der Ungleichheit von x und gi teilt der Zufallsentscheider der Komponente zur Extraktions- & Zählersteuerung mittels des Wertes ze mit ze ∈ {verwende aktuelles Paar, verwende aktuelles Paar nicht} mit, dass das aktuelle Paar aus Zählerstand und Blockposition (zi, bpi) zur späteren Berechnung des Geheimkombinationszeichens gi nicht verwendet werden kann. In diesem Fall muss der Zufallsentscheider kein Zufallsexperiment ausführen. Im Fall der Gleichheit von x und gi führt der Zufallsentscheider hingegen ein Zufallsexperiment aus. Hierzu wird auf Basis der eingebenen Zufallsdaten zd und unter Anwendung einer der Varianten (konstante Wahrscheinlichkeit, geheimkombinationsspezifische Wahrscheinlichkeit oder geheimkombinationszeichenspezifische Wahrscheinlichkeit) und unter Durchführung der im Vorangegangenen beschriebenen technischen Umsetzung von Zufallsexperimenten entschieden, ob das prinzipiell günstige Paar aus Zählerstand und Blockposition tatsächlich verwendet werden soll, oder ob ein anderes Paar aus Zählerstand und Blockposition gesucht werden soll. Das Ergebnis dieses Zufallsexperiments teilt der Zufallsentscheider der Komponente zur Extraktions- & Zählersteuerung dann mittels eines entsprechenden Wertes von ze mit. Wenn das gefundene Paar verwendet werden soll (d.h. ze = verwende aktuelles Paar), dann gibt die Komponente zur Extraktions- & Zählersteuerung die gefundenen Werte zi und bpi aus.The rand value obtained by symmetric encryption is passed in the next step to a Block Extraction & Encoding component. The Block Extraction & Encoding component also passes the input Alphabet A. The Block Extraction & Encoding component determines the mapping between Alphabet A and the k-digit binary combinations with k = ⎾log 2 | A | ⏋ as described for various example alphabets in the 21 . 22 . 23 . 24 and 25 will be shown. In particular, the value of k is determined here on the basis of the alphabet A entered. In the block extraction & coding component, starting with the first block position bp 1 = 1, a block of k bits (hereinafter referred to as k-block) is extracted and according to the existing mapping between k-digit binary combinations and the characters from the alphabet A coded with the corresponding character from the alphabet A. The coding value obtained thereby is denoted by x. The encoding value x is then given by the block extraction & coding component to a comparison component where the encoding value x obtained at the current count z i = 1 and the given block position bp i = 1 and the given secret combination character g i are checked for equality. The binary Verification result v with v ∈ {equal, unequal} is given to a random decision maker. In the case of inequality of x and g i , the randomizer of the extraction & counter control component communicates by means of the value ze with ze ∈ {use current pair, do not use actual pair} that the current pair of count and block position (z i , bp i ) can not be used for later calculation of the secret combination character g i . In this case, the random decision maker does not have to carry out a random experiment. In the case of the equality of x and g i , however, the random decision maker carries out a random experiment. For this purpose, it is decided on the basis of the random data entered zd and using one of the variants (constant probability, secret combination specific probability or secret combination character specific probability) and performing the technical implementation of random experiments described above, if the principle favorable pair of meter reading and block position should actually be used , or whether another pair of meter reading and block position should be searched for. The result of this random experiment then informs the random decision maker of the extraction & counter control component by means of a corresponding value of ze. If the pair found is to be used (ie, ze = use current pair), then the extraction & counter control component outputs the found values z i and bp i .

Soll das aktuelle Wertepaar aus Zählerstand und Blockposition (zi, bpi) zur späteren Berechnung des Geheimkombinationszeichens gi nicht verwendet werden (d.h. es gilt entweder v = ungleich oder (v = gleich, ze = verwende aktuelles Paar nicht)), dann fordert die Komponente zur Extraktions- & Zählersteuerung die Komponente zur Blockextraktion & Kodierung mit einem Extraktionssteuerungssignal es auf, einen neuen k-Block aus rand zu extrahieren. Hierzu wird die Position des aus rand zu extrahierenden k-Blocks innerhalb des rand-Blocks um d Bits weiter geschoben; beispielsweise kann d = 1 verwendet werden. In einer vorteilhaften Ausführung des in dieser Erfindung beschriebenen Verfahrens wird die Position des neu zu extrahierenden k-Blocks gegenüber dem vorher extrahierten k-Block um d = k Bits verschoben, so dass kein Bit aus rand in mehr als einem k-Block extrahiert wird. Dies wird in 20 gezeigt. Im Fall d = k ist in Abhängigkeit von k und bl möglich, dass bestimmte Bits aus rand nicht als Elemente eines k-Blocks extrahiert werden (in 20 gilt dies ab Bit b·k + 1 bis Bit bl, wenn bl – (b·k) < k). Wenn nach Verschiebung des Extraktionsfensters um d Bits ein neuer k-Block aus rand extrahiert wird, wird der Wert der Blockposition bpi um 1 erhöht. Ausgehend von dem aktuellen Wert von bpi lässt sich umgekehrt die Position des aktuellen k-Blocks ermitteln, weshalb die Bezeichnung Blockposition für bpi gerechtfertigt ist. Wenn aus rand ein neuer k-Block extrahiert worden ist, schließen sich Verarbeitungsschritte an wie im Vorangegangenen beschrieben. Der extrahierte k-Block wird auf ein Zeichen aus dem Alphabet A abgebildet und das Ergebnis x der Abbildung wird an den Vergleicher weiter gegeben, welcher x mit gi vergleicht. Das Ergebnis v des Vergleichs wird an den Zufallsentscheider gegeben und dieser führt in Abhängigkeit des Vergleichsergebnisses ein Zufallsexperiment oder auch keines durch und weist die Komponente zur Extraktions- & Zählersteuerung mittels ze an, ob die gefundene Kombination aus zi und bpi als Berechnungsergebnis verwendet werden soll oder ein neuer k-Block aus rand extrahiert werden soll.If the current pair of values from the count and block position (z i , bp i ) is not to be used for later calculation of the secret combination character g i (ie either v = unequal or (v = equal, ze = do not use actual pair)), then requests the extraction & counter control component, the block extraction & coding component with an extraction control signal, extracts a new k-block from rand. For this purpose, the position of the k-block to be extracted from edge is shifted further within the edge block by d bits; for example, d = 1 can be used. In an advantageous embodiment of the method described in this invention, the position of the k-block to be re-extracted is shifted from the previously extracted k-block by d = k bits, so that no bit is extracted from rand in more than one k-block. This will be in 20 shown. In the case d = k, depending on k and bl, it is possible that certain bits of rand are not extracted as elements of a k-block (in 20 this applies from bit b · k + 1 to bit bl, if bl - (b · k) <k). If, after shifting the extraction window by d bits, a new k-block is extracted from rand, the value of the block position bp i is increased by one. Conversely, based on the current value of bp i , the position of the current k-block can be determined, which is why the term block position for bp i is justified. When a new k-block has been extracted from rand, processing steps follow as described above. The extracted k-block is mapped to a character from the alphabet A and the result x of the mapping is passed to the comparator, which compares x to g i . The result v of the comparison is given to the random decision maker and this performs a random experiment or none depending on the result of the comparison, and instructs the component for extraction & counter control by ze whether the combination of z i and bp i found is used as the calculation result or a new k-block should be extracted from rand.

Wenn kein neuer k-Block aus den bl Bits extrahiert werden kann, da sich das k-stellige Extraktionsfenster für einen neuen k-Block nicht mehr um d Bits weiter verschieben lässt, dann signalisiert die Komponente zur Extraktions- & Zählersteuerung über ein Zählersteuerungssignal zs der Zählerkomponente, den Zählerstand zi um 1 zu erhöhen. In diesem Fall wird der neue Zählerstand von zi bitweise mit dem Chiffrat XOR-verknüft, welches wie bereits im Vorangegangenen beschrieben aus der Verschlüsselung der Nachricht N erhalten wurde. Das Ergebnis dieser bitweisen XOR-Verknüpfung wird dann mittels SV unter Anwendung von s verschlüsselt und es wird ein neuer Wert für rand erhalten, aus welchem dann wiederum k-Blöcke extrahiert werden. Wenn der Zählerstand von zi hochgezählt wurde, gilt bei dem ersten aus rand extrahierten k-Block wiederum bpi = 1. Ab hier werden dann wieder nacheinander k-Blöcke aus rand entnommen, Zeichen aus A zugeordnet und als x mit gi verglichen, bei Übereinstimmung Zufallsexperimente zur Entscheidung darüber ausgeführt, ob die aktuelle Wertebelegung von zi und bpi als Berechnungsergebnis verwendet werden soll oder ob die Wertebelegung von zi oder bpi hochgezählt werden soll und neue Werte für rand berechnet werden und neue k-Blöcke aus rand entnommen werden. Das Verfahren wird so lange ausgeführt, bis bei einer gefun denen Übereinstimmung von x und gi der Ausgang des durchgeführten Zufallsexperiments entscheidet, das aktuelle Paar (zi, bpi) als Ergebnis der Berechnung zu verwenden.If no new k-block can be extracted from the bl bits, since the k-digit extraction window for a new k-block can no longer be shifted by d bits, then the extraction & counter control component signals via a counter control signal zs Counter component to increase the count z i by 1. In this case, the new count of z i is bit-wise XOR-linked with the cipher, which was obtained from the encryption of the message N as already described above. The result of this bitwise XOR operation is then encrypted using SV using s, and a new value for rand is obtained from which k-blocks are then extracted. If the counter reading of z i has been counted up, bp i = 1 applies again for the first k-block extracted from the edge. From here, k-blocks are taken from rand one after the other, characters from A are assigned and compared with g i as x, if coincidence experiments are carried out, a decision is made as to whether the current value assignment of z i and bp i should be used as the calculation result, or if the value assignment of z i or bp i is to be incremented and new values for rand are calculated and new k blocks are created from rand be removed. The process is carried out until, at a match of x and g i, the output of the random experiment performed decides to use the current pair (z i , bp i ) as the result of the calculation.

In einer weiteren vorteilhaften Ausprägung des Verfahrens werden die Geheimkombinationen g und die weiteren Eingabewerte durch den Benutzer nicht einzeln von Hand in ein mobiles Endgerät (z.B. Mobiltelefon, PDA) eingegeben, sondern von einem anderen Endgerät aus über ein geeignetes Übertragungsverfahren (z.B. Bluetooth) zu dem mobilen Endgerät übertragen. In einer weiteren Abwandlung wäre es schließlich auch möglich, das Verfahren zum Erzeugen der Hilfsgrößen vollständig auf dem anderen Endgerät durchzuführen und dann die schon berechneten Hilfsgrößen – ggf. zusammen mit weiteren zur Rekonstruktion der Geheimkombination g benötigten Eingabegrößen – auf das mobile Endgerät zu übertragen, auf dem dann wiederum bei Bedarf das Verfahren zum Wiedergewinnen der Geheimkombination g durchgeführt werden kann.In a further advantageous embodiment of the method, the secret combinations g and the other input values are not input by the user individually by hand into a mobile terminal (eg mobile phone, PDA) but from another terminal via a suitable transmission method (eg Bluetooth) to the transferred to mobile terminal. Finally, in a further modification, it would also be possible to carry out the method for generating the auxiliary variables completely on the other terminal and then to carry out the already calculated auxiliary variables-possibly together with others for the reconstruction of the secret combination g required input variables - to transfer to the mobile terminal on which in turn, if necessary, the method for recovering the secret combination g can be performed.

Wenn die Berechnung von zeichenspezifischen Zählerstanden und Blockpositionen für eingegebene Geheimkombinationen g – unabhängig davon, ob diese per Hand oder in anderer Weise eingegeben wurden – abgeschlossen ist, hat der Benutzer die Möglichkeit, den gesamten Berechnungsvorgang abzuschließen, wodurch die im Arbeitsspeicher des Endgerät gehaltenen Werte von MPW (also das Hauptpasswort), s, g und zd gelöscht bzw. überschrieben werden.If the calculation of character specific counts and block positions for entered Secret combinations g - regardless of whether they were entered manually or otherwise - completed is, the user has the option complete the entire computation process, eliminating the in memory of the terminal held values of MPW (ie the main password), s, g and zd deleted or overwritten become.

Damit ist die Beschreibung des Verfahrens zur Berechnung von zeichenspezifischen Zählerständen und Blockpositionen (zi, bpi) für eine eingegebene Geheimkombinationen g abgeschlossen. Im Folgenden wird das Verfahren zur Berechnung von Geheimkombinationen g aus zeichenspezifischen Zählerständen und Blockpositionen (zi, bpi) beschrieben.This completes the description of the method for calculating character-specific counter readings and block positions (z i , bp i ) for an entered secret combination g. The following describes the method for calculating secret combinations g from character-specific counter readings and block positions (z i , bp i ).

Das Verfahren zur Berechnung von Geheimkombinationen g aus zeichenspezifischen Zählerständen und Blockpositionen (zi, bpi) besteht grundsätzlich aus den gleichen Komponenten wie das Verfahren zur Berechnung von zeichenspezifischen Zählerständen und Blockpositionen: eine Eingabekomponente, eine Berechnungskomponente, ein Speicher, eine Ausgabekomponente und eine Komponente zur Anzeige.The method for calculating secret combinations g from character-specific counter readings and block positions (z i , bp i ) basically consists of the same components as the method for calculating character-specific counter readings and block positions: an input component, a calculation component, a memory, an output component, and a component see full ad.

In einer vorteilhaften Ausgestaltung des in der Erfindung enthaltenen Verfahrens werden zunächst sämtliche relevanten Daten, welche in dem persistenten Speicher 4 des verwendeten Endgerätes abgelegt sind, von der Berechnungskomponente 2 eingelesen. Diese eingelesenen Daten hängen vom Typ der jeweiligen Geheimkombination g ab. Es werden die folgenden Daten aus dem persistenten Speicher 4 eingelesen:

  • – Geheimkombination als PIN (siehe auch 11) – geheimkombinationszeichenspezifische Zählerstände z1, ..., zm – geheimkombinationszeichenspezifische Blockpositionen bp1, ..., bpm – Alphabet A – Bezeichnung der Applikation oder des Dienstes did – Benutzeridentifikation bid (optional)
  • – Geheimkombination als TAN (siehe auch 12) – geheimkombinationszeichenspezifische Zähler stände z1, ..., zm – geheimkombinationszeichenspezifische Blockpositionen bp1, ..., bpm – Alphabet A – Bezeichnung der Applikation oder des Dienstes did – Benutzeridentifikation bid (optional) – Indexwert ix der TAN – Verwertungsmarkierung u
  • – Geheimkombination als Passwort (siehe auch 13) – geheimkombinationszeichenspezifische Zähler stände z1, ..., zm – geheimkombinationszeichenspezifische Blockpositionen bp1, ..., bpm – Alphabet A – Bezeichnung der Applikation oder des Dienstes did – Benutzeridentifikation bid (optional) – dienstspezifische (anwendungsspezifische) Benutzeridentifikation dbid
In an advantageous embodiment of the method according to the invention, first of all all relevant data which is stored in the persistent memory 4 the terminal used are stored by the calculation component 2 read. These read-in data depend on the type of the respective secret combination g. It will be the following data from the persistent store 4 read:
  • - Secret combination as PIN (see also 11 ) - secret combination character specific counter readings z 1 , ..., z m - secret combination character specific block positions bp 1 , ..., bp m - alphabet A - designation of the application or the service did - user identification bid (optional)
  • - Secret combination as TAN (see also 12 ) - secret combination-character-specific counters z 1 , ..., z m - secret combination-character specific block positions bp 1 , ..., bp m - alphabet A - name of the application or service did - user identification bid (optional) - index value ix of the TAN utilization mark u
  • - Secret combination as password (see also 13 ) - secret combination-character-specific counter states z 1 , ..., z m - secret combination-character specific block positions bp 1 , ..., bp m - alphabet A - designation of the application or service did - user identification bid (optional) - service-specific (application-specific) user identification dbid

Zusätzlich zum Einlesen der Daten aus dem persistenten Speicher 4 gibt der Benutzer zur Berechnung der Geheimkombinationen sein Hauptpasswort MPW ein, welches von der Eingabekomponente 1 an die Berechnungskomponente 2 weiter gegeben wird. Aus dem eingegebenen Hauptpasswort wird von der Berechnungskomponente 2 in bereits beschriebener Weise eine optische Markierung OM berechnet, welche an die Ausgabekomponente 3 weiter gegeben wird und dem Benutzer angezeigt wird. Dies wird in den 10, 11, 12, 13, 14, 15 und 16 gezeigt. Wenn die Daten für sämtliche Geheimkombinationen aus dem persistenten Speicher 4 einge lesen sind, werden die Bezeichnungen für die jeweiligen Dienste und Applikationen (also die Anwendungsidentifikation did) an die Ausgabekomponente 3 gegeben und dem Benutzer durch die Anzeigekomponente 5 in Form einer Liste angezeigt. Aus dieser Liste kann der Benutzer dann auswählen, welche Geheimkombination g berechnet und angezeigt werden soll. Hierzu trifft der Benutzer eine Diensteauswahl da, wodurch der Berechnungskomponente 2 mitgeteilt wird, welche Geheimkombination zu berechnen ist und über die Ausgabekomponente 3 an die Anzeigekomponente 5 zur Anzeige weiter gegeben werden soll.In addition to reading the data from the persistent store 4 In order to calculate the secret combinations, the user inputs his main password MPW, which is the input component 1 to the calculation component 2 is given further. The input main password is taken from the calculation component 2 in the manner already described an optical marking OM calculated, which to the output component 3 is passed on and displayed to the user. This will be in the 10 . 11 . 12 . 13 . 14 . 15 and 16 shown. If the data for all secret combinations from the persistent memory 4 are read, the names for the respective services and applications (ie the application identification did) to the output component 3 given to the user by the display component 5 in the form of a list. From this list, the user can then select which secret combination g is to be calculated and displayed. For this purpose, the user makes a service selection there, whereby the calculation component 2 is communicated which secret combination is to be calculated and the output component 3 to the display component 5 to be given to the ad.

Wenn es sich bei der Geheimkombination um eine TAN handelt, spezifiziert der Benutzer zusätzlich mittels der einzugebenden TAN-Auswahl ta, welche der zu einem Dienst oder einer Anwendung gehörenden TANs berechnet werden soll. Mit der TAN-Auswahl ta wird die zu einem bestimmten Index ix gehörende TAN spezifiziert. Wenn der Benutzer eine TAN verbraucht hat, dann kann er den Wert der Verwertungsmarkierung u entsprechend ändern und diesen neuen Wert in dem persistenten Speicher 4 ablegen. Hierzu wird der neue Wert dann über die Eingabekomponente 1 eingegeben und über Berechnungskomponente 2 an die Ausgabekomponente 3 weiter gegeben, welche den neuen Wert von u dann im Speicher 4 persistent abspeichert. Bei nächsten Einlesevorgang wird die TAN dann als verbraucht gekennzeichnet dargestellt.If the secret combination is a TAN, the user additionally specifies, by means of the TAN selection ta to be entered, which of the TANs belonging to a service or an application is to be calculated. The TAN selection ta specifies the TAN belonging to a particular index ix. If the user has consumed a TAN, then he can change the value of the utilization mark u accordingly and this new value in the persistent store 4 lay down. To do this, the new value is then entered via the input component 1 entered and via calculation component 2 to the output component 3 given further, which is the new value of u then In the storage room 4 stores persistently. At the next read-in process, the TAN is then marked as used up.

Wenn der Benutzer den von ihm gewünschten Dienst bzw. Anwendung mittels der Eingabe da auswählt, wird die jeweilige Geheimkombination g berechnet und an die Ausgabekomponente 3 weiter gegeben, welche dann für eine bestimmte kurze Zeit deren Anzeige veranlasst.When the user selects the service or application he wants by means of the input da, the respective secret combination g is calculated and sent to the output component 3 passed on, which then causes their display for a certain short time.

Wenn es sich bei der Geheimkombination um ein Passwort handelt, wird dem Benutzer mit der dienstespezifischen Benutzeridentität dbid sein Login-Name für den ausgewählten Dienst bzw. Anwendung angezeigt.If it is the secret combination is a password is the user with the service-specific user identity dbid Login name for the selected one Service or application displayed.

Die Berechnung der Geheimkombinationen aus den Zählerständen z1, ..., zm und Blockpositionen bp1, ..., bpm wird für jedes einzelne Geheimkombinationszeichen gi gesondert durchgeführt wie in den 14, 15 und 16 gezeigt wird. Die jeweiligen Berechnungen unterscheiden sich lediglich in den Daten, welche den Berechnungen als Eingabe übergeben werden. Für eine Geheimkombination der Länge m werden also auf der Basis von m zeichenspezifischen Zählerständen z1, ..., zm und bp1, ..., bpm insgesamt m Berechnungen ausgeführt.The calculation of the secret combinations from the counter readings z 1 ,..., Z m and block positions bp 1 ,..., Bp m is carried out separately for each individual secret combination character g i , as in FIGS 14 . 15 and 16 will be shown. The respective calculations differ only in the data, which are given to the calculations as input. For a secret combination of length m, therefore, a total of m calculations are carried out on the basis of m character-specific counter readings z 1 ,..., Z m and bp 1 ,..., Bp m .

Für jede dieser Berechnungen wird der symmetrische Schlüssel s benötigt, welcher aus dem eingegebenen Hauptpasswort mittels einer Schlüsselableitungsfunktion SAF berechnet wird. Dies geschieht in gleicher Weise zur Berechnung des Schlüssels s beim Verfahren zur Berechnung der zeichenspezifischen Zählerstände und Blockpositionen bei vorgegebener Geheimkombination. Die gleiche Vorgehensweise ist inbesondere deshalb erforderlich, dass aus den nun gegebenen zeichenspezifischen Zählerständen und Blockpositionen wieder das ursprünglich eingegebene Geheimkombinationszeichen berechnet werden kann.For each of these Calculations the symmetric key s is needed, which from the entered Main password by means of a key derivation function SAF is calculated. This is done in the same way for the calculation of the key s in the method for calculating the character-specific counter readings and Block positions for a given secret combination. The same procedure is particularly necessary that from the now given character-specific meter readings and Block positions again the original entered secret combination characters can be calculated.

Die Berechnung eines Geheimkombinationszeichens gi für ein eingelesenes Paar (zi, bpi) aus Zählerstand und Blockposition wird in Abhängigkeit von den verschiedenen Geheimkombinationstypen in den 17, 18 und 19 dargestellt. Bei der Berechnung der Geheimkombinationszeichen muss das gleiche Verschlüsselungsverfahren SV angewendet werden, welches auch bei der Berechnung der Zählerstände und Blockpositionen angewendet wurde. In Abhängigkeit des jeweiligen Geheimkombinationstyps werden durch Konkatenation die gleichen Nachrichten N erzeugt, wie dies bei der Berechnung der Zählerstände und Blockpositionen der Fall war, d.h.

  • – Geheimkombination als PIN N = i|did|bid oder N=i|Tz|did|Tz|bid bei der Verwendung eines Trennzeichens Tz
  • – Geheimkombination als TAN N = i|did|ix|bid oder N = i|Tz|did|Tz|ix|Tz|bid bei der Verwendung eines Trennzeichens Tz
  • – Geheimkombination als Passwort N = i|did|dbid|bid oder N = i|Tz|did|Tz|dbid|Tz|bid bei der Verwendung eines Trennzeichens Tz
The calculation of a secret combination symbol g i for a read-in pair (z i , bp i ) from the count and the block position depends on the different secret combination types in FIG 17 . 18 and 19 shown. When calculating the secret combination characters, the same encryption method SV must be used, which was also used in the calculation of counter readings and block positions. Depending on the respective secret combination type, the same messages N are generated by concatenation, as was the case with the calculation of the counter readings and block positions, ie
  • - Secret combination as PIN N = i | did | bid or N = i | Tz | did | Tz | bid when using a delimiter Tz
  • - Secret combination as TAN N = i | did | ix | bid or N = i | Tz | did | Tz | ix | Tz | bid when using a delimiter Tz
  • - Secret combination as password N = i | did | dbid | bid or N = i | Tz | did | Tz | dbid | Tz | bid when using a delimiter Tz

Wenn bei der Berechnung der Zählerstände und Blockpositionen ein Trennzeichen Tz verwendet wird, dann muss bei der Berechnung der Geheimzeichen das gleiche Trennzeichen verwendet werden. (Selbstverständlich muss ferner im Fall, dass bei der Berechnung der Hilfsgrößen zur Erzeugung der Zeichenkette N eine andere Reihenfolge der Eingabegrößen gewählt wurde, hier die entsprechende Reihenfolge gewählt werden.) Wenn der Benutzer bei der Berechnung der Zählerstände und Blockpositionen den optionalen Parameter bid nicht verwendet hat, und das Verfahren statt dessen für bid einen Standardwert vergeben hat, dann muss bei der Berechnung der Geheimzeichen der gleiche Standardwert eingesetzt werden. Auch das Padding und die Segmentierung der Nachrichten muss bei der Berechnung der Zählerstände und Blockpositionen einerseits und der Berechnung der Geheimzeichen andererseits in gleicher Weise geschehen, so dass letztendlich bei beiden Berechnungen identische Blöcke in der gleicher Reihenfolge dem symmetrischen Verschlüsselungsverfahren SV übergeben werden. Auch der Wert der Initialisierung init stimmt mit dem im Vorgangegangenen gewählten Wert von init überein.If in the calculation of meter readings and Block positions a separator Tz is used, then at the calculation of the secret characters uses the same separator become. (Of course must also in the case that in the calculation of the auxiliary quantities for Generation of the string N a different order of input sizes was selected, Here the appropriate order can be chosen.) If the user in the calculation of meter readings and Block positions did not use the optional parameter bid, and the method instead for bid has given a default value, then must in the calculation the secret character of the same default value can be used. Also the padding and the segmentation of the messages must be in the calculation the meter readings and Block positions on the one hand and the calculation of the secret characters on the other hand done the same way, so that in the end both calculations have identical blocks in the same order the symmetric encryption method SV handed over become. Also the value of the initialization init is correct with the in the Previous elected Value of init match.

Der erste durch Konkatenation, Padding und Segmentierung erhaltene Klartextblock wird dann mit dem Initialisierungswert init bitweise XOR-verknüpft und das Verknüpfungsergebnis wird mittels dem symmetrischen Verschlüsselungsverfahren SV unter Anwendung des symmetrischen Schlüssels s verschlüsselt. Das Ergebnis der Verschlüsselung wird mit dem nächsten Klartextblock bitweise XOR-verknüpft und wiederum mittels dem symmetrischen Verschlüsselungsverfahren SV unter Anwendung des symmetrischen Schlüssels s verschlüsselt. Dies wird so lange fortgeführt, bis der letzte Klartextblock verschlüsselt wurde. Das in dieser Weise – durch symmetrische Verschlüsselung im CBC-Modus – erhaltene Chiffrat wird mit dem entsprechend kodierten Wert des eingegebenen Zählerstands zi nun bitweise XOR-verknüpft und anschließend mit dem symmetrischen Verschlüsselungsverfahren SV unter Anwendung des symmetrischen Schlüssels s verschlüsselt. Der Zähler wird hierbei in gleicher Weise kodiert, wie dies auch bei der Berechnung der Zählerstände und Blockpositionen der Fall war. Nach der letzten Verschlüsselung erhält die Komponente zur Blockextraktion & Kodierung den gleichen Wert von rand, welcher als letzter rand-Wert bei der Berechnung der Zählerstände und Blockpositionen ermittelt wurde. Mit dem eingegebenen Alphabet A berechnet die Komponente zur Blockextraktion & Kodierung nun den Wert k = ⎾log2|A|⏋. Mit dem eingegebenen Wert der Blockposition bpi kann das Fenster zur Extraktion von k-Blöcken nun an die entsprechende Stelle geschoben und der gewünschte k-Block kann extrahiert werden. Auf Basis des gegebenen Alphabets A wird nun das dem extrahierten k-Block entsprechende Zeichen aus A ermittelt und als Wert von gi ausgegeben.The first plaintext block obtained by concatenation, padding and segmentation is then XORed bit-wise with the initialization value init and the result of the combination is encrypted by means of the symmetric encryption method SV using the symmetric key s. The result of the encryption is bit-wise XOR-linked to the next plaintext block and in turn encrypted by means of the symmetric encryption method SV using the symmetric key s. This will continue until the last plaintext block has been encrypted. The cipher obtained in this way - by symmetric encryption in CBC mode - is now bit-wise XOR-linked to the corresponding coded value of the input meter reading z i and then encrypted with the symmetric encryption method SV using the symmetric key s. The counter is coded in the same way as was the case with the calculation of meter readings and block positions. After the last encryption, the Block Extraction & Coding component receives the same value of rand, which was determined as the last rand value when calculating the meter readings and block positions. With the entered alphabet A calculates the Component for block extraction & coding now the value k = ⎾log 2 | A | ⏋. With the entered value of the block position bp i , the k-block extraction window can now be shifted to the appropriate position and the desired k-block can be extracted. Based on the given alphabet A, the character from A corresponding to the extracted k-block is now determined and output as the value of g i .

Durch Ausführung dieses Berechnungsverfahrens für alle Paare (zi, bpi), ..., (zm, bpm) und Konkatenation der Ergebnisse in entsprechender Reihenfolge ergibt sich die gewünschte Geheimkombination g.By executing this calculation method for all pairs (z i , bp i ),..., (Z m , bp m ) and concatenation of the results in a corresponding order, the desired secret combination g results.

In einer vorteilhaften Ausführung des im Vorangegangenen beschriebenen Verfahrens wird die berechnete Geheimkombination g dem Benutzer nur für eine bestimmte kurze Zeit angezeigt, z.B. für 60 Sekunden. Das Verfahren gestattet es dem Benutzer jedoch auch, die Anzeige bereits vorher zu beenden. Das eingegebene Hauptpasswort MPW, der daraus abgeleitete Schlüssel s und die berechnete Geheimkombination g werden nach Ablauf einer bestimmten Zeit (z.B. 60 Sekunden), in welcher der Benutzer inaktiv ist, d.h. keine weiteren Eingaben zur Steuerung von Berechnungen vornimmt, aus dem Arbeitsspeicher gelöscht bzw. überschrieben, so dass ohne erneute Eingabe des Hauptpassworts MPW durch den Benutzer keine weiteren Berechnungen von Geheimkombinationen ausgeführt werden können.In an advantageous embodiment of the method described above, the calculated Secret combination g the user only for a certain short time displayed, e.g. For 60 seconds. However, the method also allows the user to to finish the ad before. The entered main password MPW, the key derived from it s and the calculated secret combination g become available after expiration of a certain time (e.g., 60 seconds) in which the user is inactive is, i. no further input for the control of calculations makes, clears from memory or overwritten, so that without re-entry of the main password MPW by the user no Further calculations of secret combinations are performed can.

In einer vorteilhaften Ausführung des in der Erfindung enthaltenen Verfahrens kann der Benutzer die zu einer Geheimkombination g (PIN, TAN oder Passwort) gehörenden Daten aus dem persistenten Speicher löschen.In an advantageous embodiment of the method contained in the invention, the user can to a secret combination g (PIN, TAN or password) belonging data delete from the persistent store.

In einer weiteren vorteilhaften Anwendung des der Erfindung zugrunde liegenden Verfahrens wird die Benutzeridentifikation bid nicht von dem Benutzer selbst ausgewählt und eingegeben sondern von einer zentralen Instanz. Hierbei kann es sich um den Hersteller der Software handeln, welche das der Erfindung zugrunde liegende Verfahren enthält, oder auch eine Partei, welche die Software vertreibt. Diese zentrale Instanz vergibt eindeutige Benutzeridentifikationen bid für jeden Benutzer. Die Werte von bid werden hierbei in digital signierter Weise von der zentralen Instanz an die Benutzer ausgegeben (z.B. als Zertifikate, welche in einer Datei enthalten sind) und können von dem Programm eingelesen werden. Zusätzlich enthält die signierte Benutzeridentifikation noch ein Verfallsdatum, über welches angegeben wird, bis zu welchem Zeitpunkt das Programm die ausgegebene Benutzeridentifikationen bid verwenden darf. In das Programm ist zusätzlich ein öffentlicher Schlüssel der zentralen Instanz mitsamt Zertifikat einkodiert. Die Signatur der Benutzeridentifikation wird von der zentralen Instanz mit dem geheimen Schlüssel generiert, welcher zu dem einkodierten öffentlichen Schlüssel passt. Das zu dem öffentlichen Schlüssel gehörende Zertifikat verfügt ebenfalls über ein Verfallsdatum. Spätestens wenn das Verfallsdatum dieses Zertifikats erreicht ist, muss der ausführbare Programmcode mit einem neuen Zertifikat der zentralen Instanz an die Benutzer verteilt werden und von diesen auf ihren Endgeräten installiert werden. Wenn die signierte Benutzeridentifikation das Verfallsdatum erreicht hat, dann muss eine neue signierte Benutzeridentifikation an den Benutzer verteilt werden. Wichtig ist hierbei, dass der in der alten und neuen Version enthaltene Parameter bid übereinstimmen. Das Programm testet bei jeder Verwendung (z.B. Start des Programms), ob das Ablaufdatum des Zertifikats der zentralen Instanz oder das Ablaufdatum der signierten Benutzerinformation erreicht wurde. Wenn das Programm feststellt, dass ein abgelaufenes Zertifikat der zentralen Instanz enthalten ist oder die signierte Benutzerinformation abgelaufen ist, dann verweigert das Programm die weiteren Berechnungen, z.B. indem das Programm sofort terminiert. Als Referenzzeitpunkt wird hierbei die von dem Betriebssystem des Endgeräts zur Verfügung gestellte Zeit genommen. Wenn beide Ablaufzeitpunkte noch nicht erreicht sind, dann überprüft das Programm die Gültigkeit der Signatur der Benutzeridentifikation mit dem in den ausführbaren Code einkodierten öffentlichen Schlüssel der zentralen Instanz. Wenn die Signaturüberprüfung fehlschlägt, führt das Programm weder Berechnungen von Zählerständen und Blockpositionen aus Geheimkombinationen noch Berechnungen von Geheimkombinationen aus Zählerständen und Blockpositionen aus. Diese Berechnungen lassen sich nur dann durchführen, wenn die Ablaufdaten des Zertifikats der zentralen Instanz und der signierten Benutzeridentifikation nicht überschritten sind und zusätzlich die Signaturüberprüfung der signierten Benutzeridentifikation mit dem fest einkodierten öffentlichen Schlüssel der zentralen Instanz positiv ausfällt.In a further advantageous application of the invention is based The user identification bid is not bid selected by the user himself and entered but from a central entity. Here can it is the manufacturer of the software, that of the invention contains underlying method, or even a party selling the software. This central Instance assigns unique user identifications bid for each User. The values of bid are hereby digitally signed Way from the central instance to the users (e.g. as certificates, which are contained in a file) and can by be read into the program. In addition, the signed user identification still contains an expiration date, about which is specified by what time the program issued the User identifications may use bid. In the program is additionally a public one key the central instance including certificate. The signature the user identification is from the central instance with the secret key generated, which matches the encoded public key. The certificate belonging to the public key has also over one Expiration date. No later than if the expiration date of this certificate is reached, the executable Program code with a new certificate of the central instance the users are distributed and installed by them on their devices become. If the signed user identification is the expiration date has reached, then a new signed user identification distributed to the user. It is important that the in the old and new version parameters match bid. The program tests each time it is used (for example, starting the program), whether the expiration date of the certificate of the central instance or the Expiration date of the signed user information has been reached. If the program determines that an expired certificate is the central one Instance is included or the signed user information has expired is, then the program refuses further calculations, e.g. by scheduling the program immediately. As reference time is in this case the time taken by the operating system of the terminal made available. If both expiration times have not yet been reached, then the program checks the validity the signature of the user identification with that in the executable Code encoded public key the central instance. If the signature verification fails, this will result Program neither calculations of counter readings and block positions off Secret combinations still calculations of secret combinations Counter readings and Block positions off. These calculations can only be performed if the expiration dates of the certificate of the central instance and the signed one User identification not exceeded are and in addition the signature verification of signed user identification with the permanently encoded public key the central instance is positive.

Claims (26)

Verfahren zum automatischen Erzeugen und Speichern von jeweils einer anwendungsspezifischen Geheimkombination (g) zugeordneten Hilfsgrößen in Abhängigkeit von einem Hauptpasswort (MPW) und der jeweiligen Geheimkombination (g), so dass die entsprechende Geheimkombination (g) mit Hilfe des Hautpassworts (MPW) aus den dieser Geheimkombination (g) zugeordneten Hilfsgrößen rekonstruierbar ist, wobei das Verfahren umfasst: – Berechnen einer pseudozufälligen Signalfolge (rand) in Abhängigkeit von dem eingegebenen Hauptpasswort (MPW), – Extrahieren von Datenblöcken bestimmter Länge (k) aus der pseudozufälligen Signalfolge (rand), wobei die Datenblöcke durch eine Kodierung eines Alphabets (A), aus dem die Geheimkombination (g) gebildet ist, jeweils einem Zeichen (x) aus diesem Alphabet (A) zugeordnet sind, – Vergleichen der extrahierten Datenblöcke mit Zeichen (gi) aus der Geheimkombination (g) unter Berücksichtigung dieser Kodierung, – Bestimmen einer Blockposition (bpi) jeweils eines der Datenblöcke für jedes Zeichen (gi) aus der Geheimkombination (g), der durch die Kodierung diesem Zeichen (gi) zugeordnet ist, und – Speichern der so bestimmten Blockpositionen (bpi) als Hilfsgrößen in einem Speicher (4).Method for automatically generating and storing auxiliary variables assigned in each case to an application-specific secret combination (g) as a function of a main password (MPW) and the respective secret combination (g), so that the corresponding secret combination (g) can be used with the help of the skin password (MPW) Secret code (g) assigned auxiliary variables, the method comprising: - calculating a pseudo-random signal sequence (rand) in dependence on the input main password (MPW), - extracting data blocks of certain length (k) from the pseudo-random signal sequence (rand), wherein the data blocks by an encoding of an Al phabets (A), from which the secret combination (g) is formed, each associated with one character (x) from that alphabet (A), - comparing the extracted data blocks with characters (g i ) from the secret combination (g) taking into account these Coding, - determining a block position (bp i ) one of the data blocks for each character (g i ) from the secret combination (g), which is assigned by the coding to this character (g i ), and - storing the block positions (bp i ) as auxiliary quantities in a memory ( 4 ). Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Hilfsgrößen in Abhängigkeit auch von mindestens einer weiteren Eingabegröße gebildet werden, wobei die pseudozufällige Signalfolge (rand) in Abhängigkeit auch von der mindestens einen weiteren Eingabegröße berechnet wird.Method according to claim 1, characterized in that that the auxiliary sizes depend on also be formed by at least one other input size, wherein the pseudorandom Signal sequence (edge) depending on is also calculated from the at least one other input size. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass die pseudozufällige Signalfolge (rand) berechnet wird, indem aus dem eingegebenen Hauptpasswort (MPW) mittels einer Schlüsselableitungsfunktion (SAF) ein Schlüssel (s) erzeugt wird und eine Zeichenkette, die in Abhängigkeit von der mindestens einen weiteren Eingabegröße gebildet wird, mit diesem Schlüssel (s) verschlüsselt wird.Method according to claim 2, characterized in that that the pseudorandom Signal sequence (rand) is calculated by taking from the entered main password (MPW) by means of a key derivation function (SAF) a key (s) is generated and a character string depending on is formed by the at least one other input size, with this key (s) encrypted becomes. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass mindestens zwei der weiteren Eingabegrößen zur Bildung der Zeichenkette verkettet werden.Method according to claim 3, characterized that at least two of the other input sizes to form the string be chained. Verfahren nach einem der Ansprüche 3 oder 4, dadurch gekennzeichnet, dass die Zeichenkette blockweise symmetrisch verschlüsselt wird.Method according to one of claims 3 or 4, characterized that the character string is encrypted in blocks symmetrically. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass die Zeichenkette in Blöcke bestimmter Blocklänge (bl) eingeteilt wird, wobei ein Klartext und/oder ein Chiffrat jedes der Blöcke jeweils mit dem Klartext oder Chiffrat eines anderen Blocks bitweise XOR-verknüpft wird.Method according to claim 5, characterized in that that the string is in blocks certain block length (bl) is divided, with a plain text and / or a cipher each of the blocks each with the plaintext or cipher of another block bitwise XORed becomes. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass das Berechnen der pseudozufälligen Signalfolge (rand) in mehreren Abschnitten und zusätzlich in Abhängigkeit von einem den jeweiligen Abschnitt kennzeichnenden Zählerstand (zi) erfolgt, wobei für jedes Zeichen (gi) der Geheimkombination (g) zusätzlich zur Blockposition (bpi) im entsprechenden Abschnitt der pseudozufälligen Signalfolge (rand) auch der diesem Abschnitt der pseudozufälligen Signalfolge (rand) entsprechende Zählerstand (zi) bestimmt und als weitere Hilfsgröße gespeichert wird.Method according to one of Claims 1 to 6, characterized in that the calculation of the pseudorandom signal sequence (edge) takes place in several sections and additionally as a function of a count (z i ) characterizing the respective section, wherein for each character (g i ) the Secret combination (g) in addition to the block position (bp i ) in the corresponding section of the pseudorandom signal sequence (edge) and this section of the pseudorandom signal sequence (rand) corresponding count (z i ) determined and stored as a further auxiliary size. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass der Zählerstand (zi) zum Berechnen eines jeweils weiteren Abschnitts der pseudozufälligen Signalfolge (rand) auf einen nächsten Wert geändert wird, wenn ein bis dahin verfügbarer Abschnitt der pseudozufälligen Signalfolge (rand) durch Extrahieren von Datenblöcken verbraucht ist.A method according to claim 7, characterized in that the count (z i ) for calculating a respective further portion of the pseudo-random signal sequence (rand) is changed to a next value, if a hitherto available portion of the pseudo-random signal sequence (rand) by extracting data blocks is consumed. Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass die Datenblöcke aus der pseudozufälligen Signalfolge (rand) nacheinander extrahiert werden, indem für jeden Datenblock eine seiner Länge (k) entsprechende Anzahl aufeinanderfolgender Signale aus der pseudozufälligen Signalfolge (rand) entnommen werden, wobei der jeweils darauffolgende Datenblock gegenüber dem vorhergehenden Datenblock um eine bestimmte Zahl von Signalen verschoben ist, vorzugsweise um eine der Länge (k) der Datenblöcke entsprechende Zahl von Signalen.Method according to one of claims 1 to 8, characterized that the data blocks from the pseudo-random Signal sequence (rand) can be extracted one after the other, for each Data block one of its length (k) corresponding number of consecutive signals from the pseudo-random signal sequence (rand) are taken, with the respective subsequent data block across from the previous data block by a certain number of signals is shifted, preferably by one of the length (k) of the data blocks corresponding Number of signals. Verfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, dass für jedes Zeichen (gi) der Geheimkombination (g) die Blockposition (bpi) des diesem Zeichen (gi) zugeordneten Datenblocks bestimmt wird, indem die extrahierten Datenblöcke nacheinander unter Berücksichtigung der Kodierung des Alphabets (A) mit diesem Zeichen (gi) verglichen werden, wobei ein dem Zeichen (gi) nicht entsprechender Datenblock verworfen wird, während ein dem Zeichen (gi) entsprechender Datenblock durch eine Entscheidungsfunktion mit einer bestimmten Wahrscheinlichkeit nicht verworfen, sondern akzeptiert wird, indem die Blockposition (bpi) dieses Datenblocks als dem Zeichen (gi) zugeordnete Hilfsgröße gespeichert wird und das Extrahieren von Datenblöcken für dieses Zeichen (gi) beendet wird.Method according to one of Claims 1 to 9, characterized in that, for each character (g i ) of the secret combination (g), the block position (bp i ) of the data block assigned to this character (g i ) is determined by taking the extracted data blocks into consideration one after the other the coding of the alphabet (a) having this sign (g i) are compared, wherein a the mark (g i) not corresponding data block is discarded, while the mark (g i) of corresponding data block is not discarded by a decision function with a certain probability but is accepted by the block position (BP i) is stored as the sign of this data block (g i) associated with the auxiliary variable and extracting blocks of data for that character (g i) is terminated. Verfahren nach Anspruch 10, dadurch gekennzeichnet, dass die Entscheidungsfunktion durch einen Zufallsentscheider ausgeführt wird, der ein binäres Zufallsexperiment mit einer der genannten Wahrscheinlichkeit entsprechenden Einzelwahrscheinlichkeit durchführt.Method according to claim 10, characterized in that that the decision function is performed by a random decision maker, the one binary Random experiment with one of the said probability corresponding Single probability. Verfahren nach Anspruch 11, dadurch gekennzeichnet, dass das binäre Zufallsexperiment durchgeführt wird, indem aus einer als Verarbeitungsergebnis von Zufallsdaten (zd) gewonnenen Signalkette jeweils ein noch nicht verwerteter Block extrahiert und einem Wert zugeordnet wird, dieser Wert mit einem Schwellenwert oder mehreren Schwellenwerten verglichen wird und ein Ausgang des binären Zufallsexperiments in Abhängigkeit von einem Ergebnis dieses Vergleichs definiert wird.Method according to claim 11, characterized in that that the binary Random experiment performed is made by one as a processing result of random data (zd) signal chain each one unused block extracted and assigned a value, this value with a Threshold or multiple thresholds is compared and an output of the binary random experiment dependent on is defined by a result of this comparison. Verfahren nach Anspruch 12, dadurch gekennzeichnet, dass die Zufallsdaten gewonnen werden aus Anschlagzeiten und/oder Differenzen zwischen Tastenanschlägen bei einer Eingabe des Hauptpassworts (MPW) und/oder der Geheimkombination (g) und/oder der mindestens einen weiteren Eingabegröße und/oder eigens zum Erzeugen der Zufallsdaten (zd) angeforderter Tastenanschläge.A method according to claim 12, characterized in that the random data are obtained from stop times and / or differences between keystrokes in an input of the main password (MPW) and / or the secret combination (g) and / or the at least one other Input size and / or specifically for generating the random data (zd) requested keystrokes. Verfahren nach einem der Ansprüche 2 bis 6 oder einem der Ansprüche 7 bis 13, sofern letztere auf Anspruch 2 rückbezogen sind, dadurch gekennzeichnet, dass die mindestens eine Eingabegröße gegeben ist durch eine Benutzeridentifikation (bid) und/oder eine Anwendungsidentifikation (did) und/oder eine anwendungsspezifische Benutzeridentifikation (dbid) und/oder eine Position (i) des Zeichens (gi) der Geheimkombination (g), für die gerade eine Hilfsgröße ermittelt wird, und/oder einen Index (ix) einer Transaktionsnummer und/oder das Alphabet (A).Method according to one of claims 2 to 6 or one of claims 7 to 13, if the latter are dependent on claim 2, characterized in that the at least one input variable is given by a user identification (bid) and / or an application identification (did) and / or an application-specific user identification (dbid) and / or a position (i) of the character (g i ) of the secret combination (g) for which an auxiliary variable is currently being determined and / or an index (ix) of a transaction number and / or the alphabet (A). Verfahren nach einem der Ansprüche 1 bis 14, dadurch gekennzeichnet, dass in geschilderter Weise Hilfsgrößen für eine Mehrzahl verschiedener Geheimkombinationen (g) erzeugt und gespeichert werden.Method according to one of claims 1 to 14, characterized that in the manner described auxiliary quantities for a plurality of different secret combinations (g) are generated and stored. Verfahren zum Wiedergewinnen einer Geheimkombination (g) aus mittels eines Verfahrens nach einem der Ansprüche 1 bis 15 erzeugten Hilfsgrößen und dem entsprechenden Hauptpasswort (MPW), bei dem jedes Zeichen (gi) der Geheimkombination ermittelt wird, indem nach Eingabe des Hauptpassworts (MPW) – zumindest ein Teil der pseudozufälligen Sig nalfolge (rand) wie bei dem in Bezug genommenen Verfahren berechnet wird, – der durch die diesem Zeichen (gi) zugeordnete Blockposition (bpi) definierte Datenblock aus der pseudozufälligen Signalfolge (rand) extrahiert wird, – dieser Datenblock gemäß der Kodierung des Alphabets (A), aus dem die Geheimkombination (g) gebildet ist, einem Zeichen (gi) zugeordnet wird und – dieses Zeichen (gi) ausgegeben wird.Method for recovering a secret combination (g) from auxiliary quantities generated by a method according to one of Claims 1 to 15 and the corresponding main password (MPW), in which each character (g i ) of the secret combination is determined by entering the main password (MPW) At least part of the pseudo-random signal sequence (edge) is calculated as in the method referred to, the data block defined by the block position (bp i ) assigned to this character (g i ) is extracted from the pseudo-random signal sequence (edge), this data block is assigned to a character (g i ) according to the coding of the alphabet (A) from which the secret combination (g) is formed, and - this character (g i ) is output. Verfahren nach Anspruch 16, soweit dieser auf Anspruch 7 Bezug nimmt, dadurch gekennzeichnet, dass zum Ermitteln jedes Zeichens (gi) der Geheimkombination jeweils der Abschnitt der pseudozufälligen Signalfolge (rand) berechnet wird, der durch den diesem Zeichen (gi) zugeordneten Zählerstand (zi) definiert ist.Method according to claim 16, insofar as it refers to claim 7, characterized in that for determining each character (g i ) of the secret combination, respectively the section of the pseudorandom signal sequence (rand) is calculated, which is determined by the count assigned to this character (g i ) (z i ) is defined. Verfahren nach einem der Ansprüche 16 oder 17, dadurch gekennzeichnet, dass die der Geheimkombination (g) zugeordneten Hilfsgrößen und/oder die mindestens eine weitere Eingabegröße aus dem Speicher eingelesen werden.Method according to one of claims 16 or 17, characterized that the auxiliary quantities assigned to the secret combination (g) and / or the at least one further input variable is read from the memory become. Verfahren nach einem der Ansprüche 1 bis 18, dadurch gekennzeichnet, dass in Abhängigkeit von dem eingegebenen Hautpasswort (MPW) mittels einer Einwegfunktion eine optische Markierung (OM) berechnet und auf einer Anzeigekomponente (5) angezeigt wird.Method according to one of claims 1 to 18, characterized in that, depending on the entered skin password (MPW) by means of a one-way function, an optical marking (OM) is calculated and displayed on a display component ( 5 ) is shown. Verfahren nach einem der Ansprüche 1 bis 19, dadurch gekennzeichnet, dass es durch eine entsprechend programmierte Vorrichtung durchgeführt wird.Method according to one of claims 1 to 19, characterized that it is performed by an appropriately programmed device. Programmtechnisch zur Durchführung eines Verfahrens nach einem der Ansprüche 1 bis 20 eingerichtete Vorrichtung.Programmtechnisch for performing a method according to one of the claims 1 to 20 furnished device. Vorrichtung nach Anspruch 21, umfassend eine Eingabekomponente (1) zum Eingeben eines Hauptpassworts (MPW) und mindestens einer weiteren Eingabegröße, eine Berechnungskomponente (2), eine Ausgabekomponente (3), und einen Speicher (4), wobei die Berechnungskomponente (2) eingerichtet ist zum Berechnen der Hilfsgrößen aus von der Eingabekomponente (1) übergebenen Daten und wobei die Ausgabekomponente (3) eingerichtet ist zum Ausgeben der von der Berechnungskomponente (2) berechneten und übergebenen Hilfsgrößen an den Speicher (4).Apparatus according to claim 21, comprising an input component ( 1 ) for entering a main password (MPW) and at least one further input variable, a calculation component ( 2 ), an output component ( 3 ), and a memory ( 4 ), whereby the calculation component ( 2 ) is arranged to calculate the auxiliary quantities from the input component ( 1 ) and the output component ( 3 ) is set up for outputting the from the calculation component ( 2 ) calculated and transferred auxiliary quantities to the memory ( 4 ). Vorrichtung nach Anspruch 21, umfassend eine Eingabekomponente (1) zum Eingeben eines Hauptpassworts (MPW) und mindestens einer weiteren Eingabegröße, eine Berechnungskomponente (2), eine Ausgabekomponente (3), einen Speicher (4) und eine Anzeigekomponente (5), wobei die Berechnungskomponente (2) eingerichtet ist zum Berechnen der Zeichen (gi) der Geheimkombination (g) aus von der Eingabekomponente (1) übergebenen und aus dem Speicher (4) ausgelesenen Daten und wobei die Ausgabekomponente (3) eingerichtet ist zum Ausgeben der von der Berechnungskomponente (2) berechneten und übergebenen Zeichen (gi) der Geheimkombination (g) an die Anzeigekomponente (5).Apparatus according to claim 21, comprising an input component ( 1 ) for entering a main password (MPW) and at least one further input variable, a calculation component ( 2 ), an output component ( 3 ), a memory ( 4 ) and a display component ( 5 ), whereby the calculation component ( 2 ) is arranged to calculate the characters (g i ) of the secret combination (g) from the input component ( 1 ) and from memory ( 4 ) and the output component ( 3 ) is set up for outputting the from the calculation component ( 2 ) calculated and transferred characters (g i ) of the secret combination (g) to the display component ( 5 ). Vorrichtung nach Anspruch 21, umfassend eine Eingabekomponente (1) zum Eingeben eines Hauptpassworts (MPW) und mindestens einer weiteren Eingabegröße, eine Berechnungskomponente (2), eine Ausgabekomponente (3), einen Speicher (4) und eine Anzeigekomponente (5), wobei die Berechnungskomponente (2) eingerichtet ist zum Berechnen der Hilfsgrößen aus von der Eingabekomponente (1) übergebenen Daten und zum Berechnen der Zeichen (gi) der Geheimkombination (g) aus von der Eingabekomponente (1) übergebenen und aus dem Speicher (4) ausgelesenen Daten und wobei die Ausgabekomponente (3) eingerichtet ist zum Ausgeben der von der Berechnungskomponente (2) berechneten und übergebenen Hilfsgrößen an den Speicher (4) und zum Ausgeben der von der Berechnungskomponente (2) berechneten und übergebenen Zeichen (gi) der Geheimkombination (g) an die Anzeigekomponente (5).Apparatus according to claim 21, comprising an input component ( 1 ) for entering a main password (MPW) and at least one further input variable, a calculation component ( 2 ), an output component ( 3 ), a memory ( 4 ) and a display component ( 5 ), whereby the calculation component ( 2 ) is arranged to calculate the auxiliary quantities from the input component ( 1 ) and for calculating the characters (g i ) of the secret combination (g) from the input component ( 1 ) and from memory ( 4 ) and the output component ( 3 ) is set up for outputting the from the calculation component ( 2 ) calculated and transferred auxiliary quantities to the memory ( 4 ) and to output the from the calculation component ( 2 ) calculated and transferred characters (g i ) of the secret combination (g) to the display component ( 5 ). Vorrichtung nach einem der Ansprüche 22 bis 24, dadurch gekennzeichnet, dass die Berechnungskomponente umfasst – Mittel zum Ausführen einer Schlüsselableitungsfunktion (SAF) zur Bildung eines Schlüssels (s) vorgegebener Länge (sl) aus dem eingegebenen Hauptpasswort MPW), – Konkatenationsmittel zum Bilden einer Zeichenkette aus mindestens einer eingegebenen oder aus dem Speicher eingelesenen Eingabegröße, – Verschlüsselungsmittel zum Bilden einer pseudozufälligen Signalfolge (rand) durch Verschlüsseln der Zeichenkette mit dem Schlüssel (s), – Mittel zum Extrahieren und Kodieren von Datenblöcken aus der pseudozufälligen Signalfolge (rand).Device according to one of claims 22 to 24, characterized in that the calculation component comprises Means for executing a key derivation function (SAF) for forming a key (s) of predetermined length (sl) from the input main password MPW), concatenation means for forming a string from at least one input size input or read from the memory, encryption means for forming a key pseudo-random signal sequence (rand) by encrypting the character string with the key (s), - means for extracting and coding data blocks from the pseudo-random signal sequence (rand). Vorrichtung nach Anspruch 25, dadurch gekennzeichnet, dass die Berechnungskomponente (2) zusätzlich Mittel zum Berechnen einer vom eingegebenen Hauptpasswort (MPW) abhängigen optischen Markierung (OM) umfasst, wobei die Ausgabekomponente (3) ferner eingerichtet ist zum Ausgeben der von der Berechnungskomponente (2) übergebenen optischen Markierung (OM) an die Anzeigekomponente (5).Apparatus according to claim 25, characterized in that the calculation component ( 2 ) additionally comprises means for calculating an optical tag (OM) dependent on the input main password (MPW), the output component ( 3 ) is further configured to output the from the calculation component ( 2 ) transmitted optical marking (OM) to the display component ( 5 ).
DE200610049814 2006-10-17 2006-10-17 Method and device for generating and storing auxiliary variables assigned to a secret combination and for recovering the secret combination Active DE102006049814B4 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE200610049814 DE102006049814B4 (en) 2006-10-17 2006-10-17 Method and device for generating and storing auxiliary variables assigned to a secret combination and for recovering the secret combination

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200610049814 DE102006049814B4 (en) 2006-10-17 2006-10-17 Method and device for generating and storing auxiliary variables assigned to a secret combination and for recovering the secret combination

Publications (2)

Publication Number Publication Date
DE102006049814A1 true DE102006049814A1 (en) 2008-04-24
DE102006049814B4 DE102006049814B4 (en) 2009-08-06

Family

ID=39198459

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200610049814 Active DE102006049814B4 (en) 2006-10-17 2006-10-17 Method and device for generating and storing auxiliary variables assigned to a secret combination and for recovering the secret combination

Country Status (1)

Country Link
DE (1) DE102006049814B4 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008041392A1 (en) * 2008-08-20 2010-02-25 Psylock Gmbh Cryptography method and identification method based on biometric data

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6571336B1 (en) * 1998-02-12 2003-05-27 A. James Smith, Jr. Method and apparatus for securing a list of passwords and personal identification numbers

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6571336B1 (en) * 1998-02-12 2003-05-27 A. James Smith, Jr. Method and apparatus for securing a list of passwords and personal identification numbers

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008041392A1 (en) * 2008-08-20 2010-02-25 Psylock Gmbh Cryptography method and identification method based on biometric data

Also Published As

Publication number Publication date
DE102006049814B4 (en) 2009-08-06

Similar Documents

Publication Publication Date Title
DE60029390T2 (en) Method and apparatus for encryption / decryption and identification systems
DE69829642T2 (en) AUTHENTICATION SYSTEM WITH CHIP CARD
EP2433241B1 (en) Encoding methods
DE102011088502B3 (en) Method and apparatus for securing block ciphers against template attacks
DE60020293T2 (en) Generation of a repeatable cryptographic key based on variable parameters
EP2409452B1 (en) Method for providing a cryptic pair of keys
EP2340502B1 (en) Data processing system for providing authorization keys
DE102007000589B9 (en) Method for protecting a chip card against unauthorized use, chip card and chip card terminal
DE112011100182T5 (en) Transaction check for data security devices
EP2656535B1 (en) Cryptographic method
EP4111348B1 (en) Method for directly transmitting electronic coin datasets between terminals, payment system, protection system, and monitoring unit
EP1706957B1 (en) Biometric authentication
DE19959764A1 (en) Methods for generating digital signature in signature device for signing of document by encoding of signature data using signature key
EP1687932B1 (en) Authorisation of a transaction
WO2015180867A1 (en) Production of a cryptographic key
DE102006049814B4 (en) Method and device for generating and storing auxiliary variables assigned to a secret combination and for recovering the secret combination
EP3125464B1 (en) Blocking service for a certificate created using an id token
EP4111399B1 (en) Method, terminal, monitoring entity, and payment system for managing electronic coin datasets
EP3362999B1 (en) Method for checking a document, document and computer system
EP1915718B1 (en) Method for protecting the authentication of a portable data carrier relative to a reading device via an unsecure communications path
EP1573955B1 (en) Encoding method
DE60103523T2 (en) PROCESS FOR PROTECTING AN ELECTRONIC BUILDING BLOCK AGAINST FRAUD
EP2230648A1 (en) Single-use code mask for deriving a single-use code
EP4116849A1 (en) Computer implemented method for managing a data set comprising security-relevant information
DE102017109260B4 (en) Method for generating a key with perfect security

Legal Events

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