Technisches Gebiet
Die Erfindung betrifft ein Verfahren zum authentifizierten Schlüsselaustausch in einem Netz mit einer Schlüsselverteilzentrale und mehreren Teilnehmern.
Stand der Technik
Verfahren zur Erzeugung von authentifizierten Geheimschlüsseln werden z.B. in der europäischen Patentanmeldung EP-A 0 307 627 und in der deutschen Auslegeschrift DE-A 3 915 262 beschrieben.
Das erste der beiden Verfahren führt die Authentifikation über das öffentliche Telefonnetz durch und ist entsprechend nicht für alle Anwendungen gleichermassen geeignet. Das zweite Verfahren verwendet eine präauthentifizierte Liste von öffentlichen Teilnehmerschlüsseln und ist für den automatischen Betrieb entworfen worden. Bei der Aufnahme einer Verbindung muss jedoch der öffentliche Teilnehmerschlüssel jeweils aus der präauthentifizierten Liste gelesen werden. Dabei gibt es zwei Möglichkeiten: Entweder wird die Liste in jedem Gerät gespeichert, was bei grossen Netzen viel Speicherplatz (proportional zur Teilnehmerzahl) beansprucht und bei Netzerweiterungen eine aufwendige Informationsübertragung verlangt, oder die Liste wird zentral geführt, was bei jedem Verbindungsaufbau zwei Rückfragen an die Schlüsselverteilzentrale verlangt.
Eine zentrale Liste mit lokalen Auszügen stellt für viele Anwendungen eine vernünftige Lösung dar. Dort wo jedoch die Verbindung bei wenig Speicherplatz, autonom aufgebaut werden soll und eine Authentifikation der Teilnehmer einzeln notwendig ist, ist auch dieses Verfahren nicht sehr hilfreich. Beispiele dafür sind Netze von POS-Terminals, mobile Telefonsysteme und sonstige Funknetze sowie Computernetze.
Zur Identifikation (u.a. an POS-Terminals) sind von
- Fiat und Shamir ("How to Prove Yourself: Practical Solutions to Identification and Signature Problems", Advances in Cryptology - CRYPTO'86, Lecture Notes in Computer Science, Vol 263, pp. 186-194, Springer Verlag 1987),
- L.C. Guillou, J.-J. Quisquater ("A Practical Zero Knowledge Protocol Fitted to Security Microprocessor Minimizing Both Transmission and Memory, Advances in Cryptology - EUROCRYPT'88, Lecture Notes in Computer Science, Vol 330, pp. 123-128, Springer Verlag 1988), und von
- T. Beth, ("Efficient Zero Knowledge Identification Scheme for Smart Cards", Advances in Cryptology - EUROCRYPT'88, Lecture Notes in Computer Science, Vol. 330, pp. 77-84 Springer Verlag 1988) sogenannte "zero knowledge proofs" vorgeschlagen worden.
Bei einem solchen "zero knowledge proof" geht jeder Benutzer in einer Präauthentifikationsphase zur Schlüsselverteilzentrale, weist sich aus und bekommt von der Zentrale den öffentlichen Netzschlüssel sowie die zu seiner Identität ID (z.B. AHV-Nummer) gehörige Signatur S (ID), welche die Zentrale mit dem geheimen Netzschlüssel bildet.
Will sich nun A gegenüber einem anderen Benutzer B ausweisen, so beweist er in einem Protokoll mit B, dass er S(ID) kennt, ohne die Signatur selbst preiszugeben. Die Signatur wird dabei unter Verwendung des öffentlichen Netzschlüssels geprüft.
Darstellung der Erfindung
Aufgabe der Erfindung ist es, ein Verfahren zum authentifizierten Schlüsselaustausch in einem Netz mit einer Schlüsselverteilzentrale und mehreren Teilnehmern anzugeben, welches flexibel in bezug auf die Erweiterung durch neue Benutzer ist, einen geringen Speicherbedarf hat und die Nachteile der bekannten Verfahren vermeidet.
Erfindungsgemäss besteht die Lösung darin, dass in einer Präauthentifikationsphase
a) die Schlüsselverteilzentrale eine Funktion f(.) zur Erzeugung von Identitätsnummern, einen endlichen Körper GF(q), in welchem die Rechenoperationen ausgeführt werden, eine Funktion g: GF(q) x GF(q) -> GF(q), ein primitives Element alpha epsilon GF(q) und eine geheime erste Zufallszahl x wählt, aus welchen sie einen öffentlichen Netzschlüssel y = alpha <-x> bildet,
b) die Schlüsselverteilzentrale jedem Benutzer eine Identitätsnummer ID = f(A) signiert, indem die Schlüsselverteilzentrale eine geheime zweite Zufallszahl k wählt, welche die Eigenschaft gcd(k,q-1) = 1 hat, aus der Zufallszahl k einen öffentlichen Benutzerschlüssel r = alpha <k> und einen geheimen Benutzerschlüssel s mit der Eigenschaft xr+ks = ID mod (q-1) bildet und dem Benutzer seine beiden Benutzerschlüssel mitteilt,
und dass in einer Schlüsselaustauschphase zwischen einem ersten Benutzer A und einem zweiten Benutzer B
c) jeder der beiden Benutzer A resp. B dem anderen seinen öffentlichen Benutzerschlüssel r resp. r min mitteilt,
d) jeder der beiden Benutzer A resp. B die Identitätsnummer ID min = f(B) resp. ID = f(A) bildet und aus dieser Identitätsnummer und dem Benutzerschlüssel r min resp. r des jeweils anderen eine Grösse r min s min = alpha ID min y<r> min resp. r<s> = alpha <ID>y<r> bildet,
e) jeder der beiden Benutzer A resp. B eine geheime Zufallszahl t resp. t min erzeugt und damit einen Code r min <t> resp. r<t min > bildet, welchen er dem anderen Benutzer B resp. A mitteilt und
f) die beiden Benutzer A und B einen gemeinsamen geheimen Kommunikationsschlüssel
z = g(r<t min s>,r min <s min t>) bilden.
Es versteht sich von selbst, dass der endliche Körper GF(q) so gewählt wird, dass q-1 eine Zahl mit mindestens einem grossen Primfaktor ist. Bis auf eine werden alle erfindungsgemässen Operationen in diesem Körper ausgeführt.
Mit den bekannten "zero knowledge proof" Verfahren hat die Erfindung die Eigenschaft gemeinsam, ebenfalls die Signatur der Identität S(ID) als geheimes Authentifikationsmerkmal zu benutzen. Im Unterschied zu den bekannten Verfahren wird dieses Merkmal jedoch zur Konstruktion eines gemeinsamen, gegenseitig authentifizierten Schlüssels verwendet.
Aus den abhängigen Patentansprüchen ergeben sich vorteilhafte Ausführungsformen der Erfindung.
Kurze Beschreibung der Zeichnung
Nachfolgend soll die Erfindung anhand von Ausführungsbeispielen im Zusammenhang mit der Zeichnung näher erläutert werden. Es zeigen:
Fig. 1 eine schematische Darstellung der Präauthentifikationsphase; und
Fig. 2 eine schematische Darstellung der Schlüsselaustauschphase zwischen zwei Benutzern.
Die in der Zeichnung verwendeten Bezugszeichen und deren Bedeutung sind in der Bezeichnungsliste zusammenfassend tabelliert.
Wege zur Ausführung der Erfindung
Der erfindungsgemässe Schlüsselaustausch findet in einem für die Übertragung von digitalen Daten geeigneten Netz mit einer Schlüsselverteilzentrale SVZ und mehreren Benutzern A, B,... statt und weist zwei Phasen auf, nämlich eine Präauthentifikationsphase und eine Schlüsselaustauschphase. In der Präauthentifikationsphase kommt jeder Benutzer A, B,... zur Schlüsselverteilzentrale SVZ und lässt sich seine Identität gemäss dem El-GamalSchema signieren. In der nachfolgenden Schlüsselaustauschphase erzeugen zwei Benutzer A und B einen gemeinsamen Geheimschlüssel z nach einem abgeänderten Diffie-Hellmann-Verfahren.
Fig. 1 zeigt eine schematische Darstellung der Präauthentifikationsphase. Als erstes wählt (SELECT) die Schlüsselverteilzentrale SVZ einen endlichen Körper GF(q), wobei q-1 typischerweise einen grossen Primfaktoren aufweist, und ein primitives Element alpha epsilon GF(q). Dann erzeugt sie zufällig (RANDOM) als geheimen Netzschlüssel ("private part") eine erste Zahl x, aus welcher sie einen öffentlichen Netzschlüssel ("public part") y = alpha <-x> bildet. (Es versteht sich, dass diese und die später beschriebenen Operationen im endlichen Körper GF(q) ausgeführt werden, wenn es nicht explizit anders spezifiziert wird.) Weiter definiert sie eine geeignete Funktion f(.), welche aus den Identitätsmerkmalen eine eindeutige Identitätsnummer erzeugt. Schliesslich definiert sie noch eine geeignete Funktion g: GF(q) x GF(q) -> GF(q). Vorzugsweise ist diese Funktion das Produkt.
Die durch f(.) bestimmte Identitätsnummer ID kann beispielsweise durch Abtasten des Fingers (Fingerabdruck) gebildet werden. Es können aber auch weitere Merkmale eingehen. Typischerweise ist f(.) eine Einwegfunktion (one way function), die auf den Datenstring bestehend aus Namen, Vornamen, Geburtsdatum und eventuell weiteren Merkmalen angewandt wird.
Den endlichen Körper GF(q), das primitive Element alpha und den öffentlichen Netzschlüssel y sowie die Funktion f(.) gibt die Schlüsselverteilzentrale SVZ öffentlich bekannt. Den geheimen Netzschlüssel x speichert sie zugriffsgeschützt ab.
Die Schlüsselverteilzentrale SVZ hat damit die grundlegenden, allgemeinen Vorbereitungen abgeschlossen. Nun kommt jeder Benutzer zur Schlüsselverteilzentrale SVZ und lässt sich seine Identität gemäss dem El-Gamal-Schema signieren.
Der Benutzer A weist sich aus (z.B. mit seinem Reisepass), worauf die Schlüsselverteilzentrale SVZ mit Hilfe der Funktion f(.) eine eindeutige Identitätsnummer ID = f(A) berechnet. Dann erzeugt sie zufällig (RANDOM) eine benutzerspezifische Zahl k, welche die Eigenschaft gcd(k,q-1) = 1 hat (gcd = greatest common divisor). Aus der zweiten Zufallszahl k bildet sie einen öffentlichen Benutzerschlüssel r = alpha <k> und einen geheimen Benutzerschlüssel s mit der Eigenschaft xr+ks = ID mod (q-1). Die beiden Benutzerschlüssel r und s teilt sie dem Benutzer A mit, der den geheimen Benutzerschlüssel s zugriffsgesichert abspeichert.
Jeder Benutzer, der im Netz zugelassen werden will, muss die beschriebene Präauthentifikationsphase durchlaufen.
Fig. 2 zeigt eine schematische Darstellung der Schlüsselaustauschphase. Sie findet zu Beginn einer Kommunikation zwischen einem ersten Benutzer A und einem zweiten Benutzer B statt.
Jeder der beiden Benutzer kennt dabei die öffentlich bekannten Parameter f(.), g(.,.), GF(q), alpha , y, sowie seine Schlüssel r und s resp. r min und s min . Typischerweise hat er auch seine eigene Identitätsnummer ID resp. ID min abgespeichert.
Die beiden Benutzer A und B berechnen als erstes die Identitätsnummer ID min und ID und tauschen den öffentlichen Benutzerschlüssel r und r min aus.
Als zweites bildet jeder der beiden Benutzer A resp. B aus der Identitätsnummer ID min resp. ID und dem Benutzerschlüssel r min resp. r des jeweils anderen eine Grösse r min <s min > = alpha <ID min >y<r min > resp. r<s> = alpha <ID>y<r>. Als drittes erzeugen sie zufällig (RANDOM) je eine geheime Zahl t resp. t min und errechnen daraus je einen Code r min <t> resp. r<t min >. Dann wird dieser Code r min <t> resp. r<t min > ausgetauscht. Zum Schluss bildet jeder der beiden Benutzer A resp. B aus den bekannten Grössen den < >gemeinsamen Geheimschlüssel ("session key")
z = g (r<t min s>,r min <s min t>).
Das erfindungsgemässe Verfahren hat u.a. folgende Vorteile:
1. Ausser den eigenen Identifikationsmerkmalen genügt die Kenntnis eines einzigen "public keys" zum authentifizierten Schlüsselaustausch mit einem beliebigen anderen Benutzer des Netzes. Das Verfahren zeichnet sich folglich durch einen sehr geringen Speicherbedarf aus.
2. Jeder präauthentifizierte Benutzer kann mit jedem anderen präauthentifizierten Benutzer einen authentifizierten Schlüsselaustausch vornehmen, ohne dabei auf die Schlüsselverteilzentrale zurückgreifen zu müssen (off-line authentifizierter Schlüsselaustausch). Ein mit diesem System betriebenes Netz ist dadurch auch beliebig flexibel in bezug auf Erweiterung des Teilnehmerkreises.
3. Dennoch sind bei dem erfindungsgemässen Schlüsselaustausch alle Teilnehmer unterscheidbar, d.h. es kann sich keiner für einen anderen ausgeben.
Zur Sicherheit des erfindungsgemässen Schlüsselaustausches lässt sich folgendes sagen:
1. Falls man s aus alpha , y, ID und r bestimmen kann, kann man das El-Gamal'sche Signaturschema brechen, welches allgemein als sicher angesehen wird.
2. Falls man (r<t min >)<s> aus r, r<s> und r<t min > bestimmen kann, kann man den Diffie-Hellmann'schen Schlüsselaustausch-Algorithmus brechen, welcher ebenfalls allgemein als sicher angesehen wird.
Diese Überlegungen lassen es als wahrscheinlich erscheinen, dass bei geeigneter Wahl von q, alpha , x und k die Kenntnis von s resp. s min durch den Benutzer A resp. B unerlässlich ist für die Konstruktion des Sitzungsschlüssels z. Das erfindungsgemässe Schlüsselaustauschverfahren beinhaltet somit eine gegenseitige Authentifikation der Benutzer A und B.
Der resultierende Sitzungsschlüssel z kann nun für die verschiedensten Anwendungen benutzt werden, wie z.B. zur Chiffrierung, zur Sicherung der Datenintegrität oder auch nur zur Identitätskontrolle.
Das erfindungsgemässe Verfahren lässt sich mit als solchen bekannten Mitteln realisieren. Eine für den authentifizierten Schlüsselaustausch zwecks Chiffrierung geeignete Anordnung ist z.B. in der eingangs erwähnten deutschen Auslegeschrift DE-A 3 915 262 beschrieben.
Die Einsatzmöglichkeiten des beschriebenen Verfahrens sind aufgrund der erwähnten Vorteile ziemlich breit: Mobiles Telephon, Militärfunk, Computernetze und POS-Terminals.
Das beschriebene Schlüsselaustauschverfahren ist ein "public key" Verfahren mit einem einzigen Schlüssel, das einen authentifizierten Schlüsselaufbau zwischen zwei beliebigen Benutzern erlaubt. Es wird off-line betrieben, ist flexibel in bezug auf Erweiterungen durch neue Benutzer und hat einen geringen Speicherbedarf. Der Rechenaufwand ist im wesentlichen der gleiche wie beim weit verbreiteten Diffie-Hellmann-Verfahren. Die etwas aufwendigere EI-Gamal Signatur wird jeweils von der Schlüsselverteilzentrale und ausserdem für jeden Benutzer nur einmal durchgeführt.
Technical field
The invention relates to a method for authenticated key exchange in a network with a key distribution center and several participants.
State of the art
Methods for generating authenticated secret keys are e.g. described in European patent application EP-A 0 307 627 and in German publication DE-A 3 915 262.
The first of the two methods carries out authentication via the public telephone network and is therefore not equally suitable for all applications. The second method uses a pre-authenticated list of public subscriber keys and has been designed for automatic operation. When establishing a connection, however, the public subscriber key must be read from the pre-authenticated list. There are two options: Either the list is saved in each device, which takes up a lot of storage space (proportional to the number of participants) for large networks and requires extensive information transmission when network extensions are used, or the list is kept centrally, which means two inquiries to each time a connection is established Key distribution center requires.
A central list with local excerpts is a reasonable solution for many applications. However, where the connection is to be set up autonomously with little storage space and authentication of the subscribers is required individually, this method is also not very helpful. Examples of this are networks of POS terminals, mobile telephone systems and other radio networks as well as computer networks.
For identification (e.g. at POS terminals) from
- Fiat and Shamir ("How to Prove Yourself: Practical Solutions to Identification and Signature Problems", Advances in Cryptology - CRYPTO'86, Lecture Notes in Computer Science, Vol 263, pp. 186-194, Springer Verlag 1987),
- L.C. Guillou, J.-J. Quisquater ("A Practical Zero Knowledge Protocol Fitted to Security Microprocessor Minimizing Both Transmission and Memory, Advances in Cryptology - EUROCRYPT'88, Lecture Notes in Computer Science, Vol 330, pp. 123-128, Springer Verlag 1988), and by
- T. Beth, ("Efficient Zero Knowledge Identification Scheme for Smart Cards", Advances in Cryptology - EUROCRYPT'88, Lecture Notes in Computer Science, Vol. 330, pp. 77-84 Springer Verlag 1988) so-called "zero knowledge proofs" been proposed.
With such a "zero knowledge proof" every user goes to the key distribution center in a pre-authentication phase, identifies himself and receives from the center the public network key and the signature S (ID) belonging to his identity ID (eg AHV number), which the center with the secret network key.
If A now wants to identify himself to another user B, he proves in a protocol with B that he knows S (ID) without revealing the signature himself. The signature is checked using the public network key.
Presentation of the invention
The object of the invention is to provide a method for authenticated key exchange in a network with a key distribution center and several participants, which is flexible with regard to the expansion by new users, has a low memory requirement and avoids the disadvantages of the known methods.
According to the invention, the solution is that in a pre-authentication phase
a) the key distribution center a function f (.) for generating identity numbers, a finite body GF (q) in which the computing operations are carried out, a function g: GF (q) x GF (q) -> GF (q), selects a primitive element alpha epsilon GF (q) and a secret first random number x, from which it forms a public network key y = alpha <-x>,
b) the key distribution center signs each user an identity number ID = f (A) by the key distribution center dialing a secret second random number k, which has the property gcd (k, q-1) = 1, from the random number k a public user key r = forms alpha <k> and a secret user key s with the property xr + ks = ID mod (q-1) and informs the user of his two user keys,
and that in a key exchange phase between a first user A and a second user B
c) each of the two users A resp. B the other his public user key r resp. r min notifies
d) each of the two users A resp. B the identity number ID min = f (B) resp. ID = f (A) forms and from this identity number and the user key r min resp. r of the other a quantity r min s min = alpha ID min y <r> min resp. r <s> = alpha <ID> y <r>,
e) each of the two users A resp. B is a secret random number t or t min generated and thus a code r min <t> resp. r <t min> forms which he B or the other user. A communicates and
f) the two users A and B have a shared secret communication key
z = g (r <t min s>, r min <s min t>).
It goes without saying that the finite field GF (q) is chosen such that q-1 is a number with at least one large prime factor. All but one of the operations according to the invention are carried out in this body.
With the known "zero knowledge proof" methods, the invention has the property in common of also using the signature of the identity S (ID) as a secret authentication feature. In contrast to the known methods, this feature is used to construct a common, mutually authenticated key.
Advantageous embodiments of the invention result from the dependent patent claims.
Brief description of the drawing
The invention will be explained in more detail below on the basis of exemplary embodiments in conjunction with the drawing. Show it:
Figure 1 is a schematic representation of the pre-authentication phase. and
Fig. 2 is a schematic representation of the key exchange phase between two users.
The reference symbols used in the drawing and their meaning are summarized in the list of designations.
Ways of Carrying Out the Invention
The key exchange according to the invention takes place in a network suitable for the transmission of digital data with a key distribution center SVZ and several users A, B, ... and has two phases, namely a pre-authentication phase and a key exchange phase. In the pre-authentication phase, each user A, B, ... comes to the key distribution center SVZ and has his identity signed according to the El-Gamal scheme. In the subsequent key exchange phase, two users A and B generate a shared secret key z using a modified Diffie-Hellmann method.
Fig. 1 shows a schematic representation of the pre-authentication phase. First, (SELECT) the key distribution center SVZ chooses a finite body GF (q), where q-1 typically has a large prime factor, and a primitive element alpha epsilon GF (q). Then it randomly (RANDOM) generates a first number x as a secret network key ("private part"), from which it forms a public network key ("public part") y = alpha <-x>. (It goes without saying that these and the operations described later are carried out in the finite body GF (q), unless it is not explicitly specified otherwise.) Furthermore, it defines a suitable function f (.) Which generates a unique identity number from the identity features . Finally, it defines a suitable function g: GF (q) x GF (q) -> GF (q). This function is preferably the product.
The identity number ID determined by f (.) Can be formed, for example, by scanning the finger (fingerprint). But other features can also be included. Typically, f (.) Is a one-way function that is applied to the data string consisting of last name, first name, date of birth and possibly other characteristics.
The key distribution center SVZ publically announces the finite field GF (q), the primitive element alpha and the public network key y as well as the function f (.). It stores the secret network key x in an access-protected manner.
The SVZ key distribution center has now completed the basic, general preparations. Now every user comes to the key distribution center SVZ and has his identity signed according to the El-Gamal scheme.
User A identifies himself (e.g. with his passport), whereupon the key distribution center SVZ uses the function f (.) To calculate a unique identity number ID = f (A). Then it randomly (RANDOM) generates a user-specific number k, which has the property gcd (k, q-1) = 1 (gcd = greatest common divisor). From the second random number k it forms a public user key r = alpha <k> and a secret user key s with the property xr + ks = ID mod (q-1). It communicates the two user keys r and s to user A, who saves the secret user key s in an access-protected manner.
Every user who wants to be allowed on the network has to go through the pre-authentication phase described.
Fig. 2 shows a schematic representation of the key exchange phase. It takes place at the start of communication between a first user A and a second user B.
Each of the two users knows the publicly known parameters f (.), G (.,.), GF (q), alpha, y, and their keys r and s, respectively. r min and s min. Typically, he also has his own identity number ID or ID min saved.
The two users A and B first calculate the identity number ID min and ID and exchange the public user key r and r min.
Second, each of the two users A or. B from the identity number ID min or ID and the user key r min respectively. r of the other a quantity r min <s min> = alpha <ID min> y <r min> resp. r <s> = alpha <ID> y <r>. Third, they randomly (RANDOM) each generate a secret number t or. t min and calculate a code r min <t> or r <t min>. Then this code r min <t> resp. r <t min> exchanged. In the end, each of the two users forms A and B from the known sizes the <> shared secret key ("session key")
z = g (r <t min s>, r min <s min t>).
The method according to the invention has i.a. following advantages:
1. In addition to your own identification features, knowledge of a single "public key" is sufficient for the authenticated key exchange with any other user of the network. The method is therefore characterized by a very low memory requirement.
2. Each pre-authenticated user can carry out an authenticated key exchange with any other pre-authenticated user without having to use the key distribution center (offline-authenticated key exchange). A network operated with this system is also flexible in terms of expanding the group of participants.
3. Nevertheless, in the key exchange according to the invention, all participants can be distinguished, i.e. nobody can pretend to be another.
The following can be said about the security of the key exchange according to the invention:
1. If one can determine s from alpha, y, ID and r, one can break the El-Gamal signature scheme, which is generally regarded as safe.
2. If one can determine (r <t min>) <s> from r, r <s> and r <t min>, one can break the Diffie-Hellmann key exchange algorithm, which is also generally regarded as secure .
These considerations make it appear likely that with a suitable choice of q, alpha, x and k the knowledge of s and. s min by user A resp. B is essential for the construction of the session key z. The key exchange method according to the invention thus includes mutual authentication of users A and B.
The resulting session key z can now be used for a wide variety of applications, such as for encryption, to ensure data integrity or just for identity control.
The method according to the invention can be implemented using means known as such. A suitable arrangement for the authenticated key exchange for the purpose of encryption is e.g. in the German publication DE-A 3 915 262 mentioned at the beginning.
The possible uses of the described method are quite broad due to the advantages mentioned: mobile telephone, military radio, computer networks and POS terminals.
The described key exchange method is a "public key" method with a single key, which allows an authenticated key structure between any two users. It is operated off-line, is flexible with regard to extensions by new users and has a low memory requirement. The computational effort is essentially the same as with the widely used Diffie-Hellmann method. The somewhat more complex EI-Gamal signature is carried out by the key distribution center and also only once for each user.