Verfahren und Vorrichtung zur Sicherung digitaler Daten Method and device for securing digital data
Die Erfindung bezieht sich auf eine Vorrichtung gemäß der im Oberbegriff des Patentanspruchs 1 angegebenen Merkmale. Ferner bezieht sich die Erfindung auf eine Vorrichtung zur Durchführung eines solchen Verfahrens.The invention relates to a device according to the features specified in the preamble of claim 1. The invention further relates to a device for performing such a method.
Aus der US 5 483 598 ist ein Verfahren bekannt zur Verschlüsselung einer zu übertragenden digitalen Nachricht und zu deren Entschlüsselung nach der Übertragung, um die Vertraulichkeit zu gewährleisten. Ein Rechner bzw. Sender enthält einen Hash-Code- Generator, welcher einen Einweg-Hash-Code für die Verkettung von zwei Werten enthält. Es handelt sich hierbei um einen geheimen Langzeit-Wert in einem Register sowie um einen Anfangswert in einem weiteren Register des Senders und entsprechend bei einem Empfänger. Mittels der genannten Werte erfolgt beim Sender eine Schlüssel- stromgenerierung zur Verschlüsselung der Nachricht, welche zudem in einzelne Nachrichtenteile unterteilt wird, und des Weiteren um eine entsprechende Entschlüsselung beim Empfänger.
Des Weiteren ist der US 5 432 851 ein System zur Überprüfung des Zugriffs auf einen Rechner bekannt, wobei ein nur für eine Sitzung gültiges einmaliges Passwort durch eine einem Benutzer zur Verfügung gestellten Prozessor-Chipkarte erzeugt wird. Hierbei kann der Benutzer, beispielsweise von einem Host-Computer, eine Log-in-Nachricht abfragen, welche nach der Erzeugung auf einem Display angezeigt wird und welche der Benutzer dann manuell auf seine Prozessor-Chipkarte überträgt, um damit seine zu sendende Nachricht zu verschlüsseln. Derartige Verfahren sind jedoch nicht hinreichend sicher gegen unzulässige Angriffe von außen.A method is known from US Pat. No. 5,483,598 for encrypting a digital message to be transmitted and for decrypting it after transmission in order to ensure confidentiality. A computer or transmitter contains a hash code generator which contains a one-way hash code for the concatenation of two values. This is a secret long-term value in one register and an initial value in another register of the transmitter and accordingly for a receiver. The sender uses the values mentioned to generate a key stream to encrypt the message, which is also divided into individual message parts, and also to decrypt the recipient accordingly. Furthermore, US Pat. No. 5,432,851 discloses a system for checking access to a computer, a unique password that is only valid for one session being generated by a processor chip card made available to a user. Here, the user can query, for example from a host computer, a log-in message which is shown on a display after generation and which the user then manually transfers to his processor chip card in order to encrypt his message to be sent , However, such methods are not sufficiently secure against inadmissible external attacks.
In der Computertechnik gibt es viele Situationen, in denen aus sicherheitstechnischen Gründen eine Authentifizierung eines Benutzers vorgenommen werden muss. Diese Problemstellung ist insbesondere in unsicheren Netzen, wie beispielsweise der Rechnerzugang im Internet oder beim Homebanking via Modem und Telefonnetz von besonderer Bedeutung.There are many situations in computer technology in which an authentication of a user has to be carried out for security reasons. This problem is particularly important in insecure networks, such as computer access on the Internet or in home banking via modem and telephone network.
Hiervon ausgehend liegt der Erfindung die Aufgabe zugrunde, das Verfahren und die Vorrichtung mit einem geringen Aufwand dahingehend weiter zu bilden, dass digitale Daten gegen unbefugte Eingriffe oder ein Aushorchen mit hoher Sicherheit gespeichert und von einem Benutzer transportiert werden können, wobei die Daten bei Bedarf dem Benutzer zur weiteren Bearbeitung oder zum Lesen oder dergleichen problemlos bereit gestellt werden können. Bei einfacher Handhabung soll der Benutzer eine hohe Mobilität im Hinblick auf die genannten digitalen Daten erhalten und in die Lage versetzt werden, die Daten ausspähsicher zu speichern und zu transportieren, um bei Bedarf an handelsüblichen Computersystem bzw. Rechnern die Daten in der geforderten Weise nutzen zu können.Proceeding from this, the object of the invention is to further develop the method and the device with little effort in such a way that digital data can be stored with a high degree of security against unauthorized interference or eavesdropping and can be transported by a user, the data if necessary Users can easily be provided for further editing or reading or the like. With simple handling, the user should have a high degree of mobility with regard to the digital data mentioned and should be able to store and transport the data in a way that is safe from spying, so that the data can be used in the required manner on commercially available computer systems or computers can.
Die Lösung dieser Aufgabe erfolgt hinsichtlich des Verfahrens gemäß der im Patentanspruch 1 angegebenen Merkmale. Hinsichtlich der Vorrichtung erfolgt die Lösung gemäß der im unabhängigen Vorrichtungsanspruch angegebenen Merkmale.This object is achieved with regard to the method according to the features specified in claim 1. With regard to the device, the solution is implemented according to the features specified in the independent device claim.
Das erfindungsgemäße Verfahren, welches auf einem mobilen Gerät mit einer Anschlusseinrichtung an Computersysteme realisisert ist, eröffnet in einfacher Weise folgende Einsatzmöglichkeiten:
Ein mobiler Benutzer kann sich hochsicher gegenüber einem Computersystem authentifizieren .The method according to the invention, which is implemented on a mobile device with a connection device to computer systems, opens up the following possible uses in a simple manner: A mobile user can authenticate himself highly securely to a computer system.
Die digitalen Daten kann ein mobiler Benutzer hochsicher verschlüsselt mit sich führen, um diese bei Bedarf ausspähsicher zu entschlüsseln, dann anzuschauen oder zu bearbeiten und anschließend wieder hochsicher verschlüsselt auf dem mobilen Gerät abzulegen.A mobile user can carry the digital data with them in a highly secure encrypted form, so that they can be decrypted if necessary, then viewed or edited and then stored again in highly secure encrypted form on the mobile device.
Die Erfindung ist durch folgende Merkmale und Funktionsweisen gekennzeichnet:The invention is characterized by the following features and functions:
1. Mobilität des Benutzers,1. mobility of the user,
2. sicheres Verschlüsseln und Entschlüsseln von digitalen Daten und deren sicherer Transport,2. secure encryption and decryption of digital data and their secure transport,
3. Authentifikation gegenüber Computersystem,3. authentication to the computer system,
4. Zentrale Zugriffskontrolle.4. Central access control.
Besondere Ausgestaltungen und Weiterbildungen der Erfindung sind in den Unteransprüchen sowie der folgenden Beschreibung angegeben.Particular refinements and developments of the invention are specified in the subclaims and the following description.
Das erfindungsgemäße Verfahren und die zur Durchführung desselben vorgeschlagene Vorrichtung wird nachfolgend an Hand der in der Zeichnung dargestellten besonderen Ausführungsbeispiele näher erläutert, ohne dass insoweit eine Beschränkung erfolgt. Es zeigen:The method according to the invention and the device proposed for carrying it out are explained in more detail below on the basis of the special exemplary embodiments illustrated in the drawing, without any limitation in this regard. Show it:
Fig. 1 ein Blockschaltbild mit dem mobilen Gerät und einem an sich bekannten Computer,1 is a block diagram with the mobile device and a computer known per se,
Fig. 2 ein Blockschaltbild eines bevorzugt zum Einsatz gelangenden Verfahrens zur Erzeugung von Passwörtern.Fig. 2 is a block diagram of a preferred method for generating passwords.
An Hand von Fig. 1 werden die vorgenannten Merkmale und Funktionsweisen näher erläutert.The aforementioned features and functions are explained in more detail with reference to FIG. 1.
1. Mobilität des Benutzers
Ein Benutzer ist Besitzer des erfindungsgemäßen Gerätes 2. Der Benutzer ist bei Benutzung des Gerätes mobil in folgendem Sinne:1. User mobility A user is the owner of the device 2 according to the invention. The user is mobile when using the device in the following sense:
a) Dieses Gerät 2 eignet sich aufgrund seiner geringen Außenmaße (nur wenige Zentimeter breit, wenige Millimeter hoch und wenige Millimeter tief) bestens zum mobilen Einsatz in dem Sinne, dass der Benutzer das Gerät 2 ständig ohne Behinderung bei sich tragen kann. Das Gerät 2 ist grundsätzlich nach Art eines Memory Sticks aufgebaut und enthält ein die elektronischen Komponenten aufnehmendes Gehäuse sowie eine Anschlußeinrichtung 4 zur Verbindung mit dem Computer 6, bevorzugt als USB-Schnittstelle.a) This device 2 is due to its small external dimensions (only a few centimeters wide, a few millimeters high and a few millimeters deep) ideal for mobile use in the sense that the user can carry the device 2 with him at all times without disabilities. The device 2 is basically constructed in the manner of a memory stick and contains a housing which accommodates the electronic components and a connection device 4 for connection to the computer 6, preferably as a USB interface.
b) Der Benutzer hat zur Inbetriebnahme des Gerätes 2 keinerlei Software, Gerätetreiber o.a. zu installieren, welche nicht bereits auf dem Gerät selbst enthalten wären. Die Inbetriebnahme erfordert das physikalische Anschließen des Gerätes 3 mittels der Anschlusseinrichtung 4 an eine korrespondierende Anschlusseinrichtung 8 des Computers 6, welcher dem Benutzer gerade zur Verfügung steht. Es versteht sich, dass die Anschlusseinrichtungen 4, 8 in bekannter Weise den Datenaustausch und die Übertragung erforderlicher Signale, Befehle und dergleichen ermöglichen. Zur Inbetriebnahme an einem Computersystem 6 ist es aber in bevorzugter Weise nicht erforderlich, Software oder Gerätetreiber von einem anderen Datenträger (z.B. von einer Diskette, einer CD-ROM oder DVD) als dem erfindungsgemäßen Gerät oder von einem Server zu installieren. Im Rahmen der Erfindung ist es von besonderer Bedeutung, dass die für die Durchführung des Verfahrens erforderliche Software und / oder Gerätetreiber in das mobile Gerät 2 implementiert und insbesondere in einem nachfolgend zu erläuternden nicht-flüchtigen Speicher des mobilen Geräts 2 abgelegt und / oder gespeichert und zum Abruf usw. und Verarbeitung bereit gehalten sind. Die auf dem erfindungsgemäßen Gerät abgespeicherten Software-Programme und/oder Treiber sind in einem frei zugänglichen Speicherbereich abgelegt, der insbesondere aus einem Teil eines nichtflüchtigen Speichers 10 besteht, welcher aber ohne weitere Benutzer-Authentifikation zugreifbar ist, wie nachfolgend erläutert wird.b) The user does not have any software, device drivers, etc. for commissioning device 2. to install that would not already be on the device itself. Commissioning requires the physical connection of the device 3 by means of the connection device 4 to a corresponding connection device 8 of the computer 6, which is currently available to the user. It goes without saying that the connection devices 4, 8 enable the data exchange and the transmission of required signals, commands and the like in a known manner. For commissioning on a computer system 6, however, it is preferably not necessary to install software or device drivers from a data carrier (e.g. from a floppy disk, CD-ROM or DVD) other than the device according to the invention or from a server. In the context of the invention, it is of particular importance that the software and / or device driver required for performing the method is implemented in the mobile device 2 and in particular stored and / or stored in a non-volatile memory of the mobile device 2 to be explained below are available for retrieval etc. and processing. The software programs and / or drivers stored on the device according to the invention are stored in a freely accessible memory area, which in particular consists of a part of a non-volatile memory 10, but which can be accessed without further user authentication, as will be explained below.
In einer Variante des erfindungsgemäßen Gerätes ist sogar die volle Funktionsweise gegeben, ohne irgendwelche Software oder Gerätetreiber zu installieren.
Bei Verwendung bekannter Technologien müsste zur Verwendung der Krypto-Einheit 12 die zur Ver- und Entschlüsselung sowie zum Authentifizieren benutzt wird, ein für die Krypto-Einheit 12 geeigneter Gerätetreiber installiert werden. Erfindungsgemäß wird dies dadurch umgangen, dass der auf üblichen Computerbetriebssystemen vorhandene Treiber für den nicht-flüchtigen Speicher (2) vom Gerät so intelligent verwendet wird, dass damit Kommandos an die Krypto-Einheit 12 abgesendet und auch Daten von der Krypto-Einheit 12 entgegen genommen werden können.In a variant of the device according to the invention, the full functionality is even given without installing any software or device drivers. If known technologies were used, a device driver suitable for the crypto unit 12 would have to be installed in order to use the crypto unit 12, which is used for encryption and decryption and for authentication. According to the invention, this is circumvented by the fact that the driver for the non-volatile memory (2) present on conventional computer operating systems is used by the device so intelligently that commands are thus sent to the crypto unit 12 and data is also received from the crypto unit 12 can be.
Durch diese erfindungsgemäße Lösung ist es ferner möglich, PC-Sicherheitsanwendungen, wie z.B. Virtual Private Network-Clientanwendungen oder e-Banking-Clientanwen- dungen, welche die Krypto-Einheit 12 nutzen, mobil im erfindungsgemäßen Gerät mit sich zuführen. Hierzu wird die PC-Sicherheitsanwendung im nicht-flüchtigen Speicher 10 gespeichert und vom Benutzer von dort gestartet. Die PC-Sicherheitsanwendung kann aufgrund der oben beschriebenen Intelligenz des Gerätes direkt mit der Krypto-Einheit 12 kommunizieren, ohne dass vorab ein spezieller Gerätetreiber installiert werden müsste. Die oben beschriebene Intelligenz macht die sonst üblichen Gerätetreiber überflüssig. Unter sonst übliche Gerätetreiber für Krypto-Einheit fallen z.B. Smartcard- Reader-Treiber, PKCS#11 -Bibliotheken, Cryptographic Service Provider-Bibliotheken. Durch diese Erfindung ist der Benutzer bei Verwendung der PC-Sicherheitsanwendung komplett mobil: Nutzung von beliebigen Computern aus, ohne vorher etwas installieren zu müssen oder am Computer spezielle Zugriffs- oder Ausführungsrechte zu besitzen.This solution according to the invention also makes it possible to use PC security applications, such as To carry virtual private network client applications or e-banking client applications that use the crypto unit 12 with them in the device according to the invention. For this purpose, the PC security application is stored in the non-volatile memory 10 and started from there by the user. The PC security application can communicate directly with the crypto unit 12 due to the intelligence of the device described above, without having to install a special device driver beforehand. The intelligence described above makes the usual device drivers superfluous. The usual device drivers for crypto units include e.g. Smartcard reader drivers, PKCS # 11 libraries, cryptographic service provider libraries. With this invention, the user is completely mobile when using the PC security application: use from any computer without having to install anything beforehand or having special access or execution rights on the computer.
2. Sicheres Verschlüsseln und Entschlüsseln von digitalen Daten und deren sicherer Transport.2. Secure encryption and decryption of digital data and their secure transport.
Das erfindungsgemäße Gerät 2 enthält neben seiner Anschlusseinrichtung 4 an das Computersystem 6, z.B. über ein USB-Interface einen Datenträger mit einer Krypto- Einheit 12 und dem nicht-flüchtigen Speicherbereich 10. Der nicht-flüchtige Speicherbereich 10 kann z.B. als Flash-ROM ausgebildet sein. Die Krypto-Einheit 12 ist insbesondere als Krypto-Prozessor oder kryptographischer Co-Prozessor ausgebildet, z.B. als Smart Card im Format einer Handy-SIM-Karte. Im mobilen Gerät 2 ist die Krypto- Einheit 12 in einfacher Weise austauschbar angeordnet, so dass auch Laien den Austausch bei einfacher Handhabung leicht durchführen können, vergleichbar mit dem Austausch einer Handy-SIM-Karte in einem Handy.
Die Krypto-Einheit 12 ist dadurch gekennzeichnet, dass sie einen von außen nicht-auslesbaren Speicherbereich enthält, der sich als Träger eines geheimen Wertes, insbesondere Private Key oder Secret Key, eignet, dass sie einen kryptographischen Algorithmus (z.B. ein Public-Key-Verschlüsselungs- verfahren) unter Benutzung des geheimen Wertes als Parameter ausführen kann, ohne dass der geheime Wert oder Zwischenergebnisse des Algorithmus von außen (d.h. außerhalb der Krypto-Einheit) ausgelesen werden können.The device 2 according to the invention contains, in addition to its connection device 4 to the computer system 6, for example via a USB interface, a data carrier with a crypto unit 12 and the non-volatile memory area 10. The non-volatile memory area 10 can be designed, for example, as a flash ROM , The crypto unit 12 is designed in particular as a crypto processor or cryptographic co-processor, for example as a smart card in the format of a cell phone SIM card. In the mobile device 2, the crypto unit 12 is arranged to be exchangeable in a simple manner, so that even laypersons can easily carry out the exchange with simple handling, comparable to the exchange of a cell phone SIM card in a cell phone. The crypto unit 12 is characterized in that it contains a memory area which cannot be read from the outside and which is suitable as a carrier of a secret value, in particular a private key or secret key, in that it uses a cryptographic algorithm (for example a public key encryption - process) using the secret value as a parameter, without the secret value or intermediate results of the algorithm being able to be read from outside (ie outside the crypto unit).
Digitale Daten können erfindungsgemäß von dem Computersystem 6 folgendermaßen auf dem erfindungsgemäßen Gerät hochsicher gespeichert werden: Über die Anschlusseinrichtung 4 des Gerätes 2 wird dieses an das Computersystem 6 angeschlossen. Die zu sichernden digitalen Daten werden dem Gerät 2 zugeführt und insbesondere dessen Datenträger. Die Krypto-Einheit 12 oder eine auf dem Computersystem platzierte Software verschlüsselt die zu sichernden Daten unter Benutzung des geheimen Wertes, insbesondere eines Public Keys. Die derartig verschlüsselten- Daten werden in den nicht-flüchtigen Speicherbereich 10 geschrieben und somit dauerhaft gespeichert.According to the invention, digital data can be stored in a highly secure manner on the device according to the invention by the computer system 6: The device 4 is connected to the computer system 6 via the connection device 4. The digital data to be backed up are fed to the device 2 and in particular its data carrier. The crypto unit 12 or software placed on the computer system encrypts the data to be secured using the secret value, in particular a public key. The data encrypted in this way is written into the non-volatile memory area 10 and thus permanently stored.
Zur weiteren Nutzung, wie Einsehen oder zur Bearbeitung der ursprünglichen digitalen Daten, werden erfindungsgemäß die verschlüsselten Daten zunächst entschlüsselt. Diese Entschlüsselung wird durch die Krypto-Einheit 12 im o.g. Sinne durchgeführt, falls die im Rahmen der Erfindung zuvor erfolgte Identifikation des Benutzers erfolgreich vonstatten ging. Zur Identifikation des Benutzers wird von diesem und / oder durch diesen eine Identifikationsprüfung durchgeführt, insbesondere die PIN der Krypto- Einheit 12 oder ein in der Krypto-Einheit 12 digital abgespeichertes biometrisches Merkmal (z.B. Fingerabdruck) abgefragt. Das vom Benutzer eingegebene Merkmal wird mit den entsprechenden Referenzdaten in der Krypto-Einheit 12 verglichen. Vom Resultat des Vergleiches hängt es erfindungsgemäß ab, ob mittels der Krypto-Einheit 12 die Entschlüsselung der verschlüsselten digitalen Daten vorgenommen wird.For further use, such as viewing or processing the original digital data, the encrypted data are first decrypted according to the invention. This decryption is carried out by the crypto unit 12 in the above. Senses carried out if the identification of the user previously carried out within the scope of the invention was successful. To identify the user, an identification check is carried out by the user and / or by the user, in particular the PIN of the crypto unit 12 or a biometric feature (e.g. fingerprint) stored digitally in the crypto unit 12 is queried. The feature entered by the user is compared with the corresponding reference data in the crypto unit 12. According to the invention, it depends on the result of the comparison whether the decrypted digital data is decrypted using the crypto unit 12.
3. Authentifikation gegenüber Computersystemen3. Authentication to computer systems
Erfindungsgemäß enthält die Krypto-Einheit 12 im Gerät 2 den geheimen Wert (z.B. Private Key oder Secret Key), nachfolgend auch Geheimnis genannt, und kann krypto- graphische Algorithmen ausführen. Dies ermöglicht das Durchführen von bekannten
Authentifikationsverfahren. Dies beinhaltet insbesondere das Generieren von Ein- malpassworten, die mittels symmetrischem Verschlüsselungsverfahren und dem geheimen Wert, wie Secret Key, berechnet werden.According to the invention, the crypto unit 12 in the device 2 contains the secret value (for example private key or secret key), hereinafter also referred to as secret, and can execute cryptographic algorithms. This enables known ones to be performed Authentication method. This includes in particular the generation of one-time passwords, which are calculated using a symmetrical encryption method and the secret value, such as the secret key.
4. Zentrale Zugriffskontrolle4. Central access control
In Kombination der oben erläuterten Maßnahmen 2. und 3. kann die Mobilität des erfindungsgemäßen Geräts optional auch dahingehend ausgestaltet werden, dass der Zugriff auf den nicht-flüchtigen Speicherbereich 10 erst nach einer erfolgreichen Au- thentifikation gegen ein zentrales Zugriffskontroll-System 14 frei gegeben wird. Dadurch kann der Zugriff auf den nicht-flüchtigen Speicherbereich 10 und somit auf die in diesem verschlüsselten Daten von der Zustimmung des zentralen Zugriffskontrollsystems 14 abhängig gemacht werden. Dazu ist eine Verbindung 16 zwischen dem Computersystem 6 und dem zentralen Zugriffskontroll-System 14 vorgegeben, die z.B. als eine Netzwerk- Verbindung (auch Funk-Netzwerk) ausgebildet sein kann.In combination of the measures 2 and 3 explained above, the mobility of the device according to the invention can optionally also be configured such that access to the non-volatile memory area 10 is only released after successful authentication against a central access control system 14 , As a result, access to the non-volatile memory area 10 and thus to the data encrypted therein can be made dependent on the consent of the central access control system 14. For this purpose, a connection 16 between the computer system 6 and the central access control system 14 is specified, which e.g. can be designed as a network connection (also radio network).
Die Erlaubnis des zentralen Zugriffskontrollsystems 14 zum Zugriff auf den nicht-flüchtigen Speicherbereich 10 muss entweder bei jedem Zugriff eingeholt werden oder kann explizit für eine begrenzte Zeitspanne zukünftige Zugriffe mit einschließen. Nach Ablauf dieser Erlaubnis muss eine neue Erlaubnis eingeholt werden, bevor ein erneuter Zugriff auf den nicht-flüchtigen Speicherbereich 10 durchführbar ist. Die Prüfung dieser Erlaubnis wird mit Hilfe der Prüfkomponente 18 oder 20 ausgeführt, die entweder - bevorzugt in Form einer Software 18 - auf dem Computersystem läuft oder insbesondere Teil des erfindungsgemäßen Geräts 2 ist und bevorzugt in dessen Hardware 20 läuft. Von dem Ergebnis der Prüfung der Erlaubnis innerhalb der Prüfkomponente 18 oder 20 wird abhängig gemacht, ob der nichtflüchtige Speicherbereich 10 zugreifbar ist oder nicht. Zur Prüfung der Erlaubnis kann die Prüfkomponente 18 oder 20 auch die Krypto-Einheit 12 zu Hilfe nehmen.The permission of the central access control system 14 to access the non-volatile memory area 10 must either be obtained with each access or can explicitly include future accesses for a limited period of time. After this permission has expired, a new permission must be obtained before the non-volatile memory area 10 can be accessed again. The checking of this permission is carried out with the help of the checking component 18 or 20, which either runs - preferably in the form of software 18 - on the computer system or is in particular part of the device 2 according to the invention and preferably runs in its hardware 20. Whether the non-volatile memory area 10 is accessible or not is made dependent on the result of the checking of the permission within the checking component 18 or 20. The checking component 18 or 20 can also use the crypto unit 12 to check the permission.
Die zentrale Zugriffskontrolle kann beispielsweise wie folgt realisiert sein und / oder durchgeführt werden:The central access control can be implemented and / or carried out as follows, for example:
Vor dem Zugriff auf den nicht-flüchtigen Speicher 10 erzeugt die Krypto-Einheit 12 ein Einmal-Passwort, das über die Verbindung 16 an das zentrale Zugriffskontrollsystem 14 übermittelt wird. Nach der erfolgreichen Überprüfung des Einmalpassworts dort erzeugt das zentrale Zugriffs-Kontrollsystem 14 eine Erlaubnis-Rückmeldung, welche wiederum
über die Verbindung 16 an das Computer-System 6 übermittelt wird. Dort wird die Erlaubnis-Rückmeldung mit Hilfe der Prüfkomponente 18 oder 20 geprüft, und im Falle der positiven Prüfung wird der nicht-flüchtige Speicherbereich zum Zugriff freigeschaltet, um nunmehr das oben erläuterte sichere Verschlüsseln und Entschlüsseln der digitalen Daten durchzuführen und deren sicheren Transport zu ermöglichen.Before access to the non-volatile memory 10, the crypto unit 12 generates a one-time password which is transmitted to the central access control system 14 via the connection 16. After the successful verification of the one-time password there, the central access control system 14 generates a permission feedback, which in turn is transmitted to the computer system 6 via the connection 16. There, the permission feedback is checked with the help of the checking component 18 or 20, and in the event of a positive check, the non-volatile memory area is released for access in order to now carry out the above-described secure encryption and decryption of the digital data and to enable their secure transport ,
An Hand von Fig. 2 wird eine besondere Ausgestaltung der Erfindung näher erläutert, welche in Kombination mit dem oben erläuterten Ausführungsbeispiel darin besteht, dass der Benutzer dem Computer 6 ein nur für eine aktuelle Session gültiges Passwort übergibt, welches ihn eindeutig als den berechtigten Benutzer oder authentischen Klient charakterisiert. Der Computer 6, welcher nachfolgend auch als Rechner und insbesondere als Server bezeichnet wird, ist seinerseits in der Lage, das für diesen bestimmten Benutzer aktuell gültige Einmalpasswort zu bestimmen. Dem Benutzer wird ein weiterer Zugang nur dann gestattet, wenn das eingegebene Passwort und das vom Rechner berechnete Passwort übereinstimmen. Wesentlich ist, dass das jeweilige Passwort immer nur ein einziges Mal gültig ist, welches durch synchrone Berechnung einmalig erzeugt worden ist. Die Sicherheit gegen unbefugte Benutzung ist somit auch in unsicheren Netzen, wie beispielsweise im Internet oder beim Homebanking via Modem und Telefonnetz, gewährleistet. Alle Benutzer oder Teilnehmer verwenden das gleiche Verschlüsselungsverfahren oder Kryptosystem, wobei die zugrunde liegende Verschlüsselungsfunktion fk C) durch einen geheimen Schlüssel k(C) parametrisiert ist. Alle Berechnungen, sowohl auf der Benutzerseite als auch auf der Rechnerseite, werden auf einer Prozessor-Chipkarte durchgeführt, welche zur Durchführung des genannten Verschlüsselungsverfahrens ausgebildet ist. Es gelangt eine durch einen geheimen Schlüssel k(C) parametrisierte Schar von Permutationen, d.h. von bijektiven Funktionen auf deren Argumentbereich, fk(C:D→D zum Einsatz. Diese Schar genügt wenigstens einer, bevorzugt mehreren der folgenden Bedingungen:A special embodiment of the invention is explained in more detail with reference to FIG. 2, which, in combination with the exemplary embodiment explained above, consists in the fact that the user transfers to the computer 6 a password that is only valid for a current session and which clearly identifies him as the authorized user or characterized authentic client. The computer 6, which is also referred to below as a computer and in particular as a server, is in turn able to determine the one-time password currently valid for this particular user. The user is only allowed further access if the entered password and the password calculated by the computer match. It is essential that the respective password is only valid once, which was generated once by synchronous calculation. Security against unauthorized use is thus also guaranteed in insecure networks, such as on the Internet or for home banking via modem and telephone network. All users or participants use the same encryption method or cryptosystem, the underlying encryption function f k C ) being parameterized by a secret key k (C). All calculations, both on the user side and on the computer side, are carried out on a processor chip card which is designed to carry out the aforementioned encryption method. A family of permutations, ie bijective functions on their argument range, f k (C : D → D) parameterized by a secret key k (C) is used. This family satisfies at least one, preferably several of the following conditions:
1. Die Definitionsmenge (und Bildmenge) D ist endlich und besitzt hinreichend viele Elemente. Sie enthält insbesondere mindestens 254 viele Elemente.1. The definition set (and image set) D is finite and has a sufficient number of elements. In particular, it contains at least 2 54 many elements.
2. Die Menge aller zulässigen Schlüssel ist hinreichend mächtig. Sie enthält insbesondere mindestens 266 viele Elemente.2. The set of all permitted keys is sufficiently powerful. In particular, it contains at least 2 66 many elements.
3. fk(C) ist eine zufällige Funktion ("random function") in dem Sinne, dass bei beliebi-
gem vorgegebenem Argument x aus der Definitionsmenge D die Wahrscheinlichkeit, ein bestimmtes Element y aus D als Ergebnis der Funktionsauswertung zu erhalten, ungefähr gleich 1/| D| ist, wenn man zufällig und gleich verteilt einen Schlüssel k(C) aus der Menge aller möglichen Schlüssel auswählt.3. f k (C) is a random function in the sense that with arbitrary According to the given argument x from the definition set D, the probability of obtaining a certain element y from D as a result of the function evaluation is approximately equal to 1 / | D | is when you randomly and equally select a key k (C) from the set of all possible keys.
4. Bei Kenntnis einer Folge von Werten x0, x,, xn aus der Definitionsmenge D, wobei xi+1 = fk(c)(Xi) für 0≤i<n gelte, soll es einem potentiellen Angreifer in der Praxis auch mit Hilfe leistungsfähiger Computer unmöglich sein, in vertretbarer Zeit den Schlüssel k(C) zu bestimmen oder xn+1 = fk(C)(xn) zu berechnen.4. With knowledge of a sequence of values x 0 , x ,, x n from the definition set D, where x i + 1 = f k ( c ) (Xi) for 0≤i <n, it should be a potential attacker in the In practice, even with the help of powerful computers, it may be impossible to determine the key k (C) or to calculate x n + 1 = f k (C) (x n ) within a reasonable time.
Der Rechner 6 und der Benutzer verfügen beide über einen geheimen Startwert, welcher Startwert x0 c vom Server initial zufällig erzeugt wird und in einer sicheren Umgebung in den geheimen, von außen nicht zugänglichen Speicherbereich der Chipkarte des Benutzers geschrieben wird. Des Weiteren wird mittels des Rechners ein zufälliger geheimer Schlüsselwert k(C) ermittelt und von diesem in einen von außen nicht zugänglicher Speicherbereich eines Datenträgers, insbesondere einer Chipkarte des Benutzers C geschrieben. Die Chipkarte wird dann an den Benutzer C ausgegeben. Des Weiteren enthält der Rechner eine nur von Autorisierten zugängliche Datenbank, in welcher die Zuordnung des dem jeweiligen Benutzer zugeordneten geheimen Schlüssels k(C) und das letzte vom Benutzer C benutzte Paßwort xn c gespeichert ist. Ferner ist in derThe computer 6 and the user both have a secret start value, which start value x 0 c is initially generated randomly by the server and is written in a secure environment into the secret memory area of the chip card of the user, which is not accessible from the outside. Furthermore, a random secret key value k (C) is determined by the computer and written by the latter into a memory area of a data carrier, in particular a chip card of the user C, which is not accessible from the outside. The chip card is then issued to user C. Furthermore, the computer contains a database which is only accessible to authorized persons, in which the assignment of the secret key k (C) assigned to the respective user and the last password x nc used by user C are stored. Furthermore, in the
Chipkarte des Benutzers C in einem gesicherten Speicherbereich dauerhaft der jeweilige geheime Schlüsselwert k(C) sowie das letzte benutzte Paßwort xn c gespeichert. Des Weiteren wird erfindungsgemäß die Benutzung bereits existierender Hard- und Firmware beim Benutzer ermöglicht. So können beispielsweise die bekannten EC-Karten mit Chip benutzt werden, welche als Prozessor-Chipkarten ausgebildet sind und auf welche neben Standardanwendungen, Electronic Cash und elektronische Geldbörse weitere Applikationen nachgeladen werden können. Die von deutschen Banken derzeit ausgegebene EC-Karte vermag standardmäßig folgende Verschlüsselungsverfahren auszuführen: Den Data Encryption Standard, kurz DES, sowie Triple-DES. Des Weiteren können die in Mobiltelefonen eingesetzten Chipkarten verwendet werden.The chip card of the user C permanently stores the respective secret key value k (C) and the last password used x nc in a secured memory area. Furthermore, according to the invention, the use of already existing hardware and firmware is made possible for the user. For example, the known EC cards with chip can be used, which are designed as processor chip cards and onto which other applications can be loaded in addition to standard applications, electronic cash and electronic wallets. The EC card currently issued by German banks can carry out the following encryption procedures as standard: The Data Encryption Standard, DES for short, and Triple-DES. The chip cards used in mobile phones can also be used.
Der Rechner 6 enthält eine erste Einheit 24 zur Durchführung eines bekannten Krypto- verfahrens mit der Verschlüsselungsfunktion fk c Der Benutzer erhält einen Datenträger 26, welche die bereits erläuterte Krypto-Einheit aufweist und / oder als diese ausgebildet ist, welche eine zweite Einheit 28 zur Durchführung des genannten Krypto-
verfahrens gemäß f^ aufweist. Als Verschlüsselungsverfahren gelangen insbesondere die heute üblichen symmetrischen Kryptosysteme wie DES, Triple-DES oder IDEA zurThe computer 6 contains a first unit 24 for carrying out a known cryptographic method with the encryption function f kc. The user receives a data carrier 26 which has and / or is designed as the crypto unit already explained, which has a second unit 28 for carrying out the crypto unit of the crypto method according to f ^. The encryption methods that are used today are, in particular, the symmetrical cryptosystems that are customary today, such as DES, Triple-DES or IDEA
Verwendung. Anstelle der genannten Verschlüsselungsfunktion fk c\ kann erfindungs- gemäß die zugehörige Entschlüsselungs-funktion erden. Der Rech
ner 6 enthält ferner eine erste Komponente 30 zur Erzeugung eines geheimen Startwertes x0 c sowie eine zweite Komponente 32 zur Erzeugung eines geheimen Schlüssels k(C). Der Datenträger bzw. die Chipkarte 36 enthält einen ersten Speicher 34 für den geheimen Startwert x0 csowie einen weiteren Speicher 36 für den geheimen Schlüssel k(C). Schließlich enthält der Rechner 6 eine Datenbank 38, welche nur für Autorisierte zugänglich ist und in welcher die Zuordnung des Benutzers bzw. der Chipkarte mit deren geheimen Schlüssel k(C) sowie das letzte vom Benutzer C benutzten Passwort xn c gespeichert sind. Alle Benutzer oder Teilnehmer des erfindungsgemäßen Verfahrens oder der erfindungsgemäßen Vorrichtung verwenden das gleiche Kryptosystem mit der gleichen Verschlüsselungsfunktion und / oder die zugehörenden Entschlüssel-
ungsfunktion . Es sei festgehalten, dass die Verschlüsselungsfunktion eine
Use. Instead of the encryption function f kc \ mentioned, the associated decryption function can be grounded according to the invention. The rech ner 6 also contains a first component 30 for generating a secret starting value x 0 c and a second component 32 for generating a secret key k (C). The data carrier or chip card 36 contains a first memory 34 for the secret starting value x 0 c and a further memory 36 for the secret key k (C). Finally, the computer 6 contains a database 38 which is only accessible to authorized persons and in which the assignment of the user or the chip card with its secret key k (C) and the last password x nc used by the user C are stored. All users or participants of the method or the device according to the invention use the same cryptosystem with the same encryption function and / or the associated decryption function. It should be noted that the encryption function is a
Permutation, also eine bijektive Funktion auf den Argumentbereich ist, und dass anstelle der genannten Verschlüsselungsfunktion bedarfsweise die zugehörende Entschlüsselungsfunktion verwendbar ist. Die zum Einsatz gelangende Verschlüsselungsfunktion f C) ist durch den geheimen Schlüssel k(C) parametrisiert.Permutation, that is, a bijective function on the argument area, and that the associated decryption function can be used if necessary instead of the aforementioned encryption function. The encryption function f C ) used is parameterized by the secret key k (C).
Der bevorzugt mittels des Rechners 6 initial zufällig erzeugte geheime Startwert x0 c wird im Rahmen der Erfindung auf den Datenträger 26, welcher erfindungsgemäß im mobilen Gerät enthalten ist, in dessen ersten Speicherbereich 34 geschrieben. Femer wird der bevorzugt gleichfalls mittels des Rechners 6 erzeugte zufällige Schlüssel k(C) in den zweiten von außen gleichfalls nicht zugänglichen Speicherbereich 36 des Datenträgers 26 des Benutzers C geschrieben. Der derart vorbereitete Datenträger bzw. die Chipkarte 36 wird dann dem Benutzer C übergeben und ermöglicht jederzeit dessen Authentifizierung oder Feststellung der Zugriffsberechtigung auf den Rechner 22. Lautet das zuletzt von C benutzte Paßwort xn c , so finden Client C und Server das nächste gültige Passwort durch Berechnen von xn+1 ,C = fk(C) (χn, c)-Within the scope of the invention, the secret initial value x 0 c , which is preferably initially generated randomly by means of the computer 6, is written to the data carrier 26, which according to the invention is contained in the mobile device, in its first memory area 34. Furthermore, the random key k (C), which is also preferably generated by means of the computer 6, is written into the second memory area 36 of the data carrier 26 of the user C, which is likewise not accessible from the outside. The data carrier or the chip card 36 prepared in this way is then handed over to the user C and enables his authentication or determination of the access authorization to the computer 22 at any time. If the last password used by C is x nc , the client C and server find the next valid password Calculate x n + 1, C = f k (C) ( χ n, c) -
Im Rahmen der Erfindung ist folglich für den Benutzers mittels des derart vorbereiteten Datenträgers 26 die Möglichkeit geschaffen, dem Rechner jeweils nur für die gewünsch-
te Session ein einmaliges gültiges Passwort zu übergeben, welches ihn eindeutig als authentischen Benutzer charakterisiert. Der Rechner, insbesondere der Server, ist seinerseits in die Lage versetzt, das für diesen einen Benutzer aktuell gültige Einmai- Passwort zu bestimmen. Ein weiterer Zugang ist für den Benutzer nur dann ermöglicht, wenn das eingegebene Passwort und das vom Rechner berechnete Passwort übereinstimmen. Das Einmal-Passwort wird für jede Session oder Transaktion neu erzeugt und ist nur für dieses einzige Mal gültig.Within the scope of the invention, the user is thus able to use the data carrier 26 prepared in this way to provide the computer only for the desired te session to pass a one-time valid password, which clearly characterizes him as an authentic user. The computer, in particular the server, is in turn able to determine the one-time password currently valid for this one user. Further access is only possible for the user if the entered password and the password calculated by the computer match. The one-time password is generated for each session or transaction and is only valid for this one time.
Alternativ kann unter der Voraussetzung, dass die Verschlüsselungsfunktion eine
Permutation dargestellt, anstelle der Verschlüsselungsfunktion die zugehörige
Entschlüsselungsfunktion verwendet werden, wobei die Berechnung des nächs
ten gültigen Passworts nach der Formel erfolgt: n+1 ,C = fk(C) (χn, c)-Alternatively, provided that the encryption function is a Permutation shown, the corresponding instead of the encryption function Decryption function can be used, calculating the next The valid password is based on the formula: n + 1, C = f k (C) ( χ n, c) -
Da ein sicheres Kryptosystem, beispielsweise DES, Triple-DES oder IDEA zum Einsatz gelangt, kann ein Unbefugter auch bei Kenntnis von x0 bis xn Q auch das nächsteSince a secure cryptosystem such as DES, Triple-DES or IDEA is used, an unauthorized person can also do the next one even if x 0 to x n Q is known
Passwort xn+1 c nicht berechnen bzw. das Verschlüsselungsverfahren nicht
berechnen. Durch den Einsatz der genannten heute gängigen symmetrischen Krypto- Systeme kann auf die Verwendung der Entschlüsselungsfunktion anstelle der
Verschlüsselungsfunktion verzichtet werden, da aus der Kenntnis der expliziten
Verschlüsselungsfunktion effizient auf einfache Art und Weise die betreffende Entschlüsselungsfunktion bestimmbar ist.Do not calculate password x n + 1 c or the encryption method to calculate. Through the use of the symmetrical crypto systems mentioned today, it is possible to use the decryption function instead of the Encryption function can be dispensed with, since knowledge of the explicit Encryption function can be determined efficiently the decryption function in question in a simple manner.
Damit die Software, welche die Kryptoalgorithmen ausführt, nicht durch Unbefugte manipuliert werden kann, werden in zweckmäßiger Weise die erste Einheit 34, die erste Komponente 30, die zweite Komponente 32 und ferner die zweite Einheit 38, der zweite Speicherbereich 36, welche auf dem Datenträger des mobilen Gerätes sich befinden, ganz oder teilweise auf einer hochsicheren Prozessorchipkarte realisiert.
BezugszeichenSo that the software that executes the crypto-algorithms cannot be manipulated by unauthorized persons, the first unit 34, the first component 30, the second component 32 and also the second unit 38, the second memory area 36, which are on the data carrier, are expediently of the mobile device are located, implemented in whole or in part on a highly secure processor chip card. reference numeral
mobiles Gerätmobile device
Anschluss-Einrichtung von 4Connection setup of 4
Computer / ComputersystemComputer / computer system
Anschluss-Einrichtung von 6 nicht-flüchtiger SpeicherConnection setup of 6 non-volatile memories
Krypto-Einheit zentrales ZugriffssystemCentral access system crypto unit
Verbindung zwischen 6 und 14Connection between 6 and 14
Prüfkomponente erste EinheitTest component first unit
Datenträger / Chipkarte zweite Einheit erste Komponente zweite Komponente erster Speicherbereich zweiter SpeicherbereichData carrier / chip card second unit first component second component first memory area second memory area
Datenbank
Database