DE68904540T2 - METHOD AND DEVICE FOR CERTIFICATION. - Google Patents

METHOD AND DEVICE FOR CERTIFICATION.

Info

Publication number
DE68904540T2
DE68904540T2 DE1989604540 DE68904540T DE68904540T2 DE 68904540 T2 DE68904540 T2 DE 68904540T2 DE 1989604540 DE1989604540 DE 1989604540 DE 68904540 T DE68904540 T DE 68904540T DE 68904540 T2 DE68904540 T2 DE 68904540T2
Authority
DE
Germany
Prior art keywords
unit
value
mod
values
message
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.)
Expired - Fee Related
Application number
DE1989604540
Other languages
German (de)
Other versions
DE68904540D1 (en
Inventor
Reginald Austin
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.)
NCR International Inc
Original Assignee
NCR International Inc
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
Priority claimed from GB888811816A external-priority patent/GB8811816D0/en
Priority claimed from GB898906496A external-priority patent/GB8906496D0/en
Application filed by NCR International Inc filed Critical NCR International Inc
Priority claimed from PCT/US1989/001944 external-priority patent/WO1989011706A1/en
Publication of DE68904540D1 publication Critical patent/DE68904540D1/en
Application granted granted Critical
Publication of DE68904540T2 publication Critical patent/DE68904540T2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

Diese Erfindung betrifft die Echtheitsbestätigung bzw. Authentifikation von Vorrichtungen und Nachrichten.This invention relates to the authentication of devices and messages.

Es ist ein allgemeines Erfordernis, die Authentizität eines Datenwertes zu verifizieren, der einen Geldwert darstellt, oder auf die Authentizität der Einheit schließen zu können, die diesen Datenwert erzeugt.It is a general requirement to verify the authenticity of a data value that represents a monetary value, or to be able to infer the authenticity of the entity that creates that data value.

Um Fälschungen zu verhindern, soll nur eine Herstellungsquelle, die Einheiten herstellt, die Einrichtung zum Produzieren von Echtheitsbestätigungsvorrichtungen der Einheiten aufweisen. Dies beinhaltet, daß die Quelle irgendein Geheimnis besitzen muß. Die Schwierigkeit beim Prüfen der Authentizität liegt darin, den Authentifikator mit Mitteln auszustatten, die die Prüfung ermöglichen. Viele Systeme verwenden einen durch einen Geheimschlüssel gesteuerten Algorithmus, so daß ein den Algorithmus durchlaufener Datensatz in einer geheimen Transformation dieses Datenwertes resultiert. Der so transformierte Datenwert wird als ein Authentifikatonszertifikat oder eine Authentifikationscodierung verwendet, die durch den Authentifikator geprüft werden kann. Ein solches Prüfverfahren beinhaltet, daß der Authentifikator die gleiche geheime Transformation des Datenwertes durchführt, um ein Authentizitätszertifikat zu erhalten, das mit dem durch die Quelleinheit vorgegebenen auf Gleichheit verglichen wird.To prevent counterfeiting, only a manufacturing source that manufactures units should have the facility to produce authenticity verification devices of the units. This implies that the source must possess some secret. The difficulty in verifying authenticity lies in providing the authenticator with the means to enable verification. Many systems use an algorithm controlled by a secret key, so that a data value passed through the algorithm results in a secret transformation of that data value. The data value thus transformed is used as an authentication certificate or authentication code that can be verified by the authenticator. Such a verification procedure involves the authenticator having the same performs a secret transformation of the data value to obtain an authenticity certificate, which is compared for equality with that provided by the source unit.

Das Problem bei dieser Vorgehensweise ist, daß der Authentifikator die Datenveränderung durch die Quelle duplizieren muß, um so das Ergebnis bezüglich Gleichheit zu überprüfen. Das bedeutet, daß der Authentifikator ein Authentizitätszertifikat fälschen und beanspruchen kann, daß es von der Quelle stammt. Ein anderes Problem ist, daß der Authentifikator auch Kenntnis von dem Schlüssel haben muß. Dieses Problem ist insbesondere akut, wenn mehrere Einheiten eine andere Einheit authentifizieren müssen, da jede den Geheimschlüssel besitzen muß. Eine Enthüllung des Schlüssel durch einen Authentifikator gefährdet daher alle Authentifikatoren und die Quelle. Ferner muß der Geheimschlüssel vor dem Ereignis sicher zu jedem möglichen Authentifikator verbreitet werden. Dies beschränkt deshalb die Möglichkeit zum Authentizifieren auf nur die diejenigen betrauten Einheiten, von denen es erwartet wird, daß sie die Funktion benötigen.The problem with this approach is that the authenticator must duplicate the data modification by the source in order to verify the result for equality. This means that the authenticator can forge an authenticity certificate and claim that it came from the source. Another problem is that the authenticator must also have knowledge of the key. This problem is particularly acute when multiple entities must authenticate another entity, since each must possess the secret key. A revelation of the key by one authenticator therefore puts all authenticators and the source at risk. Furthermore, the secret key must be securely distributed to every possible authenticator before the event. This therefore limits the ability to authenticate to only those entrusted entities that are expected to need the function.

Wo es notwendig sein kann, daß eine große Anzahl unvoraussagbarer Einheiten die Fähigkeit der Authentifikation anderer Einheiten besitzt, ist die Verwendung von Geheimschlüsselalgorithmen ziemlich unpraktisch. Ferner kann, wenn es erwünschenswert ist, daß dem Authentifikator die Möglichkeit ein Authentizitätszertifikat zu fälschen vollständig versagt wird, das duplikative Gleichheitstestverfahren nicht verwendet werden.Where it may be necessary for a large number of unpredictable entities to have the ability to authenticate other entities, the use of secret key algorithms is quite impractical. Furthermore, if it is desirable to completely deny the authenticator the ability to forge an authenticity certificate, the duplicative identity testing method cannot be used.

US-A-4 549 075 befaßt sich mit einem Zertifizierungsverfahren, das einen symmetrischen Algorithmus verwendet.US-A-4 549 075 deals with a certification procedure that uses a symmetric algorithm.

Eine andere bekannte Technik, die Ausgangspunkt der vorliegenden Erfindung ist, verwendet die Technik öffentlicher Schlüsselkryptographie, wobei ein asymmetrischer Algorithmus verwendet wird. Öffentliche Schlüsselkryptographie wird in dem Artikel: Communications of the ACM, Vol. 21, Nr. 2, Februar 1978, Seiten 120 - 126, R. L. Rivest et al. "A Method for Obtaining Digital Signatures and Public Key Cryptosystems" beschrieben. Bei dieser bekannten Technik wird ein Datenelement oder eine änderungssensitive Komprimierung eines Datensatzes, unter Verwendung eines Geheimschlüssels oder einer Geheimprozedur verschlüsselt. Die Authentizität wird durch das Erhalten des Originaldatenelementes (oder der änderungssensitiven Komprimierung), das als ein Vergleichwert verwendet wird, und dann Verwenden eines öffentlichen schlüssels oder einer öffentlichen Prozedur geprüft, um die durch die Quelle gelieferten Daten zu entschlüsseln. Die Gleichheit der entschlüsselten Daten mit den Bezugsdaten schließt ein, daß der Geheimschlüssel oder die Geheimprozedur verwendet wurde und deshalb, daß der Datenwert echt ist. (Siehe auch US-A-4 405 829).Another known technique, which is the starting point of the present invention, uses the technique public key cryptography using an asymmetric algorithm. Public key cryptography is described in the article: Communications of the ACM, Vol. 21, No. 2, February 1978, pages 120 - 126, RL Rivest et al. "A Method for Obtaining Digital Signatures and Public Key Cryptosystems". In this known technique, a data item, or a change-sensitive compression of a data set, is encrypted using a secret key or secret procedure. Authenticity is checked by obtaining the original data item (or change-sensitive compression) used as a comparison value and then using a public key or public procedure to decrypt the data provided by the source. The equality of the decrypted data with the reference data implies that the secret key or secret procedure was used and therefore that the data value is genuine. (See also US-A-4 405 829).

Diese Technik ermöglicht es, daß irgendeine Einheit den öffentlichen Schlüssel oder die öffentliche Prozedur kennt, mit dem bzw. mit der die Authentizität der Daten zu prüfen ist, der von einer Einheit stammt, die den komplementären Geheimschlüssel oder die komplementäre Prozedur enthält. Folglich wird das Schlüsselverteilungsproblem erheblich erleichteret als zuvor Bekanntes und Sicherheit wird nicht verlangt.This technique allows any entity to know the public key or procedure used to verify the authenticity of data, which comes from an entity that holds the complementary secret key or procedure. Consequently, the key distribution problem is made much easier than previously known, and security is not required.

Jedoch darf die öffentlich bekannte Prozedur es nicht erlauben, den Geheimschlüssel oder die Geheimprozedur leicht zu bestimmen. Im allgemeinen erfordern die Algorithmen mit dieser Eigenschaft eine wesentliche Rechnerleistung, um die geheime Prozedur durchzuführen. Dies macht diese gewöhnlich ungeeignet für kostengünstige Vorrichtungen, bei denen die Betriebsgeschwindigkeit notwendig ist. Wenn mehrere tragbare Einheiten oder die davon stammenden Daten auf Authentizität überprüfbar sein müssen, dann müssen der Geheimschlüssel und der Algorithmus in jeder Einheit enthalten sein. In diesem Fall wird die Enthüllung des Geheimschlüssels in einer Einheit alle ähnlichen Einheiten gefährden.However, the publicly known procedure must not allow the secret key or the secret procedure to be easily determined. In general, algorithms with this property require significant computing power to perform the secret procedure. This usually makes them unsuitable for low-cost devices where speed of operation is a must. When multiple portable units or the data they contain are checked for authenticity, must be verifiable, then the secret key and algorithm must be contained in each unit. In this case, the revelation of the secret key in one unit will compromise all similar units.

Diese Technik ist deshalb für kostengünstige, vervielfältige Einheiten unpraktisch.This technique is therefore impractical for low-cost, duplicated units.

Die europäische Patentanmeldung Nr. 0 252 499 offenbart ein Verfahren zum Schaffen einer spezifischen Kartenidentifizierung, in der Form einer "Smart Card", die das Auswählen eines Moduls, das ein Produkt zweier Primzahlen ist, das Bereitstellen einer für die Identitätskarte spezifischen Informationssequenz, das Verwenden einer Pseudozufallsfunktion zur Transformation einer solchen Sequenz und einer Vielzahl ausgewählter Indizes zum Ableiten einer dazu zugeordneten Vielzahl von Werten, die bezüglich des Moduls quadratische Residuen sind, das Berechnen der Quadratwurzeln der Reziprokwerte der quadratischen Residuen und das Aufzeichnen der Informationssequenz, so solcher Quadratwurzeln und den in Beziehung stehenden Indizes in dem Kartenidentifizierer einschließt. Eine derartige Karte wird authentifiziert durch das Übertragen der Informationssequenz und der ausgewählten Indizes von der Karte zu einer Verifikationsvorrichtung und durch Erzeugen der quadratischen Residuen in der Überprüfungsvorrichtung unter Verwendung der Pseudozufallsfunktion, das Auswählen einer in der Karte befindlichen Zufallszahl, das Berechnen des Quadratwertes der Zufallszahl und das Übertragen eines solchen Quadratwertes von der Karte zu der Überprüfungsvorrichtung, das Erzeugen eines Zufallsvektors in der Überprüfungsvorrichtung, der zu der Karte übermittelt wird, das Berechnen des Produktes der Zufallszahl in der Karte und einer Auswahl der von dem Zufallsvektor abhängigen gespeicherten Quadratwurzelwerte, das Übertragen des Produktes zur Überprüfungsvorrichtung, das Quadrieren des übertragenen Produktes und das Multiplizieren eines solchen quadrierten Wertes mittels einer Auswahl der berechneten quadratischen Residuenwerte, die in Übereinstimmung mit dem Zufallsvektor ausgewählt werden, und das Überprüfen, daß der Ergebniswert gleich der quadrierten Zufallszahl ist. Dieses bekannte Verfahren ist komplex und schließt insbesondere das Auswählen und Verwenden quadratischer Residuenwerte ein.European Patent Application No. 0 252 499 discloses a method of providing a specific card identification, in the form of a "smart card", which includes selecting a modulus which is a product of two prime numbers, providing an information sequence specific to the identity card, using a pseudorandom function to transform such sequence and a plurality of selected indices to derive a plurality of values associated therewith which are quadratic residuals with respect to the modulus, computing the square roots of the reciprocals of the quadratic residuals and recording the information sequence, such square roots and the related indices in the card identifier. Such a card is authenticated by transmitting the information sequence and the selected indices from the card to a verification device and by generating the squared residuals in the verification device using the pseudorandom function, selecting a random number located in the card, calculating the square value of the random number and transmitting such square value from the card to the verification device, generating a random vector in the verification device which is transmitted to the card, calculating the product of the random number in the card and a selection of the stored square root values dependent on the random vector, transmitting the product to the verification device, squaring the transmitted product and multiplying such squared value by a selection of the calculated squared residual values selected in accordance with the random vector and checking that the resulting value is equal to the squared random number. This known method is complex and in particular involves selecting and using squared residual values.

Es ist eine Aufgabe der vorliegenden Erfindung, ein relativ einfaches Verfahren und eine Vorrichtung für die Authentifikation von Vorrichtungen und Nachrichten zu schaffen.It is an object of the present invention to provide a relatively simple method and apparatus for the authentication of devices and messages.

Deshalb ist, nach einem ersten Aspekt der vorliegenden Erfindung, ein Verfahren zum Herstellen einer Einheit vorgesehen, mit den Schritten:Therefore, according to a first aspect of the present invention, a method for producing a unit is provided, comprising the steps of:

(a) Auswählen eines Modul N, der ein Produkt von zumindest zwei Primzahlen ist;(a) selecting a modulus N that is a product of at least two prime numbers;

(b) Auswählen einer ganzen Zahl e als eine relative Primzahl bezüglich φ(N), wobei φ(N) die Euler'sche Totientenfunktion von N ist; und(b) selecting an integer e as a relative prime with respect to φ(N), where φ(N) is the Euler totient function of N; and

(c) Bestimmen einer ganzen Zahl d derart, daß e d = 1 (mod φ(N)), gekennzeichnet durch die Schritte:(c) determining an integer d such that ed = 1 (mod φ(N)), characterized by the steps:

(d) Auswählen einer Gruppe von n von publiken Faktoren F&sub1;, ..., Fn (0 < Fi < N); n &ge; 2;(d) Select a set of n public factors F1, ..., Fn (0 < Fi < N); n ≥ 2;

(e) Berechnen von Si = Fid (mod N) für i = 1, ..., n; und(e) Calculate Si = Fid (mod N) for i = 1, ..., n; and

(f) Speichern der n Werte Si (i = 1, ..., n) und des Wertes N in der Einheit.(f) Store the n values Si (i = 1, ..., n) and the value N in the unit.

Nach einem zweiten Aspekt der Erfindung, ist ein Verfahren zur Echtheitsbestätigung einer Einheit vorgesehen, hergestellt nach dem ersten Aspekt der Erfindung, gekennzeichnet durch die Schritte:According to a second aspect of the invention, there is provided a method for authenticating a unit, manufactured according to the first aspect of the invention, characterized by the steps:

(j) Herstellen einer Kommunikation der Einheit mit einer Echtheitsbestätigungsvorrichtung;(j) establishing communication of the unit with an authenticating device;

(k) Erzeugen eines n-Bit Binärstrings V = vi (i = 1, ..., n) in der Echtheitsbestätigungsvorrichtung;(k) generating an n-bit binary string V = vi (i = 1, ..., n) in the authentication device;

(l) Übertragen des Binärstrings V zu der Einheit;(l) Transferring the binary string V to the unit;

(m) Berechnen von (m) Calculating

in der Einheit;in unity;

(n) Übertragen von Y in die Echtheitsbestätigungsvorrichtung;(n) transferring Y to the authentication device;

(o) Berechnen von (o) Calculating

Xact = Ye (mod N)Xact = Ye (mod N)

in der Echtheitsbestätigungsvorrichtung; undin the authentication device; and

(p) Vergleichen von Xref und Xact.(p) Comparing Xref and Xact.

Nach einem dritten Aspekt der Erfindung ist ein Verfahren zum Bestätigen einer Nachricht M vorgesehen, die durch eine nach dem ersten Aspekt der Erfindung hergestellte Einheit erzeugt oder einer solchen dargeboten wird, gekennzeichnet durch die Schritte:According to a third aspect of the invention, there is provided a method for acknowledging a message M generated by or presented to a unit manufactured according to the first aspect of the invention, characterized by the steps:

(q) Berechnen einer änderungssensitiven Transformation H der Nachricht M;(q) computing a change-sensitive transformation H of the message M;

(r) Erzeugen eines n-Bit Binärstrings(r) Generate an n-bit binary string

V = vi (i = 1, ..., n) unter Verwendung des berechneten Wertes von H;V = vi (i = 1, ..., n) using the calculated value of H;

(s) Berechnen von (s) Calculating

(t) Anhängen von Y als ein Nachrichtechtheitsbestätigungs- Codierungs- (MAC-) Zertifikat an die Nachricht M.(t) appending Y as a message authentication coding (MAC) certificate to the message M.

Nach einem vierten Aspekt der Erfindung ist eine Einheit vorgesehen, die Verarbeitungsvorrichtungen, Eingangs-/Ausgangsvorrichtungen und Speichervorrichtungen aufweist, dadurch gekennzeichnet, daß die Speichervorrichtungen ein Modul N, das das produkt von zumindest zwei Primzahlen ist, und eine Gruppe von n FaktorenAccording to a fourth aspect of the invention, a unit is provided comprising processing devices, input/output devices and storage devices, characterized in that the storage devices comprise a module N which is the product of at least two prime numbers and a group of n factors

Si (i = 1, ..., n &ge; 2) speichern, wobeiSi (i = 1, ..., n ≥ 2), where

Si = Fid (mod N),Si = Fid (mod N),

wobei d das geheime Schlüsselgegenstück eines publiken Schlüssels e ist, der dem Modul N zugeordnet ist, und Fi (i = 1, ..., n) n publike Faktoren sind, mit 0 < Fi < N, und daß die Verarbeitungsvorrichtungen geeignet sind, where d is the secret key counterpart of a public key e associated with the module N and Fi (i = 1, ..., n) are n public factors, with 0 < Fi < N, and that the processing devices are suitable

zu berechnen, wobei V = vi einen n-Bit-Binärstring darstellt.where V = vi represents an n-bit binary string.

Nach einem fünften Aspekt der Erfindung ist eine Echtheitsbestätigungsvorrichtung zur Verwendung mit einer Einheit nach dem vierten Aspekt der Erfindung, mit weiteren Verarbeitungsvorrichtungen, weiteren Eingangs-/Ausgangsvorrichtungen und weiteren Speichervorrichtungen vorgesehen, dadurch gekennzeichnet, daß die weiteren Speichervorrichtungen n &ge; 2 publiken Faktoren Fi (i = 1, ..., n), das Modul N und den publiken Schlüssel e speichern, und wobei die weiteren Verarbeitungsvorrichtungen geeignet sind, unter Verwendung der gespeicherten Werte von Fi, N und e According to a fifth aspect of the invention there is provided an authenticating device for use with a unit according to the fourth aspect of the invention, with further processing devices, further input/output devices and further storage devices, characterized in that the further storage devices store n ≥ 2 public factors Fi (i = 1, ..., n), the modulus N and the public key e, and wherein the further processing devices are adapted to use the stored values of Fi, N and e

Xact = Ye (mod N) zu berechnen und Xref mit Xact zu vergleichen.Xact = Ye (mod N) and compare Xref with Xact.

Ausführungsformen der vorliegenden Erfindung werden nun beispielsweise unter Bezug auf die begleitenden Zeichnungen beschrieben, in denen:Embodiments of the present invention will now be described by way of example with reference to the accompanying drawings, in which:

Fig. 1 ein Blockdiagramm ist, das die von einem Kartenaussteller beim Erstellen einer Smart Card verwendete Prozedur darstellt;Fig. 1 is a block diagram illustrating the procedure used by a card issuer in creating a smart card;

Fig. 2 ein Blockdiagramm einer Karte in funktioneller Verbindung mit einer Kartenannahmevorrichtung ist;Fig. 2 is a block diagram of a card in operative connection with a card acceptance device;

Fig. 3 ein Blockdiagramm einer Nachrichtquelleinheit ist;Fig. 3 is a block diagram of a message source unit;

Fig. 4 ein Blockdiagramm einer Nachrichtauthentifikationseinheit ist; undFig. 4 is a block diagram of a message authentication unit; and

Fig. 5 ein Diagramm ist, das die Abbildung eines in einem alternativen Ausführungsbeispiel der Erfindung benutzten Speichers darstellt.Fig. 5 is a diagram illustrating the mapping of a memory used in an alternative embodiment of the invention.

Zuerst wird als Hilfe zum Verständnis der Erfindung die theoretische Grundlage erläutert, die der Erfindung zugrundeliegt. Es ist bekannt, daß, wenn N das Produkt von (mindestens) zwei Primzahlen P, Q ist, d. h., wennFirst, to help understand the invention, the theoretical basis underlying the invention is explained. It is known that if N is the product of (at least) two prime numbers P, Q, i.e. if

N = P Q;N = P Q;

und wenn e eine relative Primzahl zu &phi;(N) ist, wobeiand if e is a relative prime to φ(N), where

&phi;(n) = (P - 1) (Q - 1)φ(n) = (P - 1) (Q - 1)

eine Euler'sche Totientenfunktion ist (die Anzahl der ganzen Zahlen kleiner N, die eine relative Primzahl bezüglich N sind), dann kann in Modul-N-Arithmetik ein Wert d bestimmt werden (siehe z. B. den oben genannten Artikel von Rivest et al.), der das multiplikative Inverse von e so ist, daßis an Eulerian totient function (the number of integers smaller than N that are a relative prime with respect to N), then in modulus-N arithmetic a value d can be determined (see, for example, the above-mentioned article by Rivest et al.) which is the multiplicative inverse of e such that

e d = 1 (mod &phi;(N)).ed = 1 (mod φ(N)).

Der Wert d bezieht sich allgemein auf das geheime Schlüsselgegenstück des öffentlichen bzw. publiken Schlüssels e.The value d generally refers to the secret key counterpart of the public key e.

WennIf

X = Ye (mod N),X = Ye (mod N),

ist, dann gilt deshalbis, then therefore

Y = Xd (mod N)Y = Xd (mod N)

für alle Werte von Y, 0 < Y < N.for all values of Y, 0 < Y < N.

Ferner gilt, wennFurthermore, if

X = F&sub1; F&sub2; ... Fn (mod N), (1)X = F1 F2; ... Fn (mod N), (1)

wo die Fi (i = 1, ..., n) ganzzahlige Werte sind, mitwhere the Fi (i = 1, ..., n) are integer values, with

0 < Fi < N,0 < Fi < N,

dann istthen

Xd = F&sub1;d F&sub2;d ... Fnd (mod N)Xd = F₁d F₂d ... Fnd (mod N)

undand

Xd (mod N) = {F&sub1;d (mod N) F&sub2;d (mod N) ...Xd (mod N) = {F₁d (mod N) F₂d (mod N) ...

Fnd (mod N)} (mod N).{ f } (mod N ) .

Es seiIt is

Si = Fid (mod N); i = 1, ..., n. (2)Si = Fid (mod N); i = 1, ..., n. (2)

Dann istThen

Xd (mod N) = S&sub1; S&sub2; ... Sn (mod N).Xd (mod N) = S1 S2; ... Sn (mod N).

Es seiIt is

Y = Xd (mod N).Y = Xd (mod N).

Deshalb istTherefore

Y = S&sub1; S&sub2; ... Sn (mod N) (3)Y = S1 S2; ... Sn (mod N) (3)

Es sei V ein Binärstring von n Bits, V = v&sub1; ... vn, so daß jedes Bit vi von V ein Kennzeichen ist, das die Verbindung der entsprechenden F&sub1;, ..., Fn und S&sub1;, ..., Sn bei der Berechnung von X bzw. Y entsprechend anzeigt, so daß Let V be a binary string of n bits, V = v₁ ... vn, such that each bit vi of V is a flag indicating the connection of the corresponding F₁, ..., Fn and S₁, ..., Sn in the calculation of X and Y, respectively, so that

ist.is.

Ausgehend von (3) ist Starting from (3)

Deshalb ist dann, vorausgesetzt, daß die in (1) und (2) verwendeten N und d-Werte die obengenannten Anforderungen erfüllen, Therefore, provided that the N and d values used in (1) and (2) meet the above requirements,

und zwar für alle Werte von Fi, 0 < Fi < N.for all values of Fi, 0 < Fi < N.

Mit dem obigen im Gedächtnis wird nun ein erstes Ausführungsbeispiel der Erfindung beschrieben, wobei viele kostengünstige Vorrichtungen in Form von Einheiten, die in den Beschreibungen der bevorzugten Ausführungsbeispiele als Chipkarten bzw. Smart Cards bezeichnet werden, durch einen Kartenaussteller produziert und an Einzelpersonen verteilt werden. Durch das Ausführungsbeispiel wird es ermöglicht, durch Verifizierungsvorrichtungen solche ausgestellten Karten zügig zu authentifizieren.With the above in mind, a first embodiment of the invention will now be described, wherein many low-cost devices in the form of units, referred to in the descriptions of the preferred embodiments as smart cards, are produced by a card issuer and distributed to individuals. The embodiment makes it possible to to quickly authenticate such issued cards using verification devices.

Zuerst bezugnehmend auf Fig. 1 wählt ein Kartenaussteller, wie dies in Kasten 12 dargestellt ist, eine Vielzahl von n öffentlichen Faktoren Fi (i = 1, ..., n), wo 0 < Fi < N ist, und solche Faktoren werden zusammen mit dem Wert von dem Modul N und dem Wert von e den Authentifikatoren, d. h. Organisationen, die es wünschen können, die Authentizität von durch den Smart Card-Aussteller ausgegebenen Smart Cards zu authentifizieren, öffentlich zugänglich gemacht. Bei einer besonderen Anwendung ist ein angemessener Wert für n 32 und der Wert von N liegt in dem Bereich von 2&sup5;¹² < N < 2&sup5;¹³.Referring first to Fig. 1, a card issuer, as shown in Box 12, selects a plurality of n public factors Fi (i = 1, ..., n), where 0 < Fi < N, and such factors, together with the value of the modulus N and the value of e, are made publicly available to authenticators, i.e., organizations that may wish to authenticate the authenticity of smart cards issued by the smart card issuer. In a particular application, an appropriate value for n is 32 and the value of N is in the range 2512 < N < 2513.

Der Kartenaussteller berechnet die n Werte Si, woThe card issuer calculates the n values Si, where

Si = Fid (mod N), i = 1, ..., n,Si = Fid (mod N), i = 1, ..., n,

ist, wie dies in Kasten 14 gezeigt wird, und zwar unter Verwendung der vorgesehenen Werte von N und d (Kasten 16), wobei d geheimgehalten wird. Diese Werte Si werden ebenfalls geheimgehalten. Der Kartenausgeber gibt dann Karten aus, die n Werte Si (i = 1, ..., n) enthalten, die in einer sicheren Art gespeichert sind, z. B. in einem sicheren PROM. Hier soll unter einem "sicheren PROM" ein PROM verstanden werden, dessen Inhalt vor unbefugtem Auslesen geschützt ist, und zwar kann ein solcher Schutz z. B. softwareschutz bzw. Hardwareschutz in Form einer Abschirmung einschließen.is as shown in Box 14, using the intended values of N and d (Box 16), where d is kept secret. These values Si are also kept secret. The card issuer then issues cards containing n values Si (i = 1, ..., n) stored in a secure manner, e.g. in a secure PROM. Here, a "secure PROM" is understood to mean a PROM whose contents are protected against unauthorized reading, and such protection may include, for example, software protection or hardware protection in the form of a shield.

Wenn es erwünscht ist die Authentizität eine Smart Card 30 zu bestätigen, siehe Fig. 2, wird die Karte 30 in eine Kartenannahmevorrichtung 32 eingeführt, wodurch ein Datenkommunikationsweg 34 zwischen der Smart Card 30 und der Kartenannahmevorrichtung 32 eingerichtet wird.When it is desired to confirm the authenticity of a smart card 30, see Fig. 2, the card 30 is inserted into a card acceptor 32, thereby establishing a data communication path 34 between the smart card 30 and the card acceptor 32.

Die Smart Card 30 schließt einen Mikroprozessor 36, ein RAM 38, ein Programm-PROM 40, das das die Funktion der Karte 30 steuernde Programm speichert, ein sicheres PROM 42, das die n in entsprechenden speicherzellen 102-1 bis 102-n gespeicherten Werte Si, (i = 1, ..., n) und den in einer Speicherzelle 104 gespeicherten Wert N enthält, sowie eine Eingabe-/Ausgabeeinheit 44 ein. Da N ein öffentlicher Wert ist, kann dieser alternativ in dem RAM 38 gespeichert werden. Die Vorrichtungen 36, 38, 40, 42 und 44 innerhalb der Karte sind untereinander durch einen Kommunikationsbus 46 verbunden.The smart card 30 includes a microprocessor 36, a RAM 38, a program PROM 40 which stores the program controlling the function of the card 30, a secure PROM 42 which stores the n in corresponding memory cells 102-1 through 102-n stored values Si, (i = 1, ..., n) and the value N stored in a memory cell 104, and an input/output unit 44. Since N is a public value, this can alternatively be stored in the RAM 38. The devices 36, 38, 40, 42 and 44 within the card are interconnected by a communication bus 46.

Die Kartenannahmevorrichtung 32 schließt einen Mikroprozessor 50, ein RAM 52, ein Programm-PROM 54, das das die Funktion der Annahmevorrichtung 32 steuernde Programm speichert, ein Tastenfeld 56, eine Anzeige 58, einen Drucker 60, einen Zufallszahlgenerator 62 und eine Eingabe-/Ausgabeeinheit 64 ein. Das RAM 52 schließt die n öffentlichen Faktoren F&sub1;, ..., Fn speichernde Speicherzellen 112-1 bis 112-n und Speicherzellen 114, 116 ein, die die Werte N bzw. e speichern. Die verschiedenen in der Kartenannahmevorrichtung 32 untergebrachten Einheiten sind untereinander durch einen Kommunikationsbus 66 verbunden.The card acceptor 32 includes a microprocessor 50, a RAM 52, a program PROM 54 storing the program controlling the operation of the acceptor 32, a keypad 56, a display 58, a printer 60, a random number generator 62, and an input/output unit 64. The RAM 52 includes memory cells 112-1 to 112-n storing the n public factors F1, ..., Fn and memory cells 114, 116 storing the values N and e, respectively. The various units housed in the card acceptor 32 are interconnected by a communication bus 66.

Wenn eine in die Kartenannahmevorrichtung 32 eingelegte Karte 30 auf Authentizität zu untersuchen ist, erzeugt der Zufallszahlgenerator 62 eine n-Bit-Zufallszahl V mit n Bits vi (i = 1, ..., n). Um sicherzustellen, daß V mindestens zwei Bits gleich der binären 1 beinhaltet, wird der Mikroprozessor 50 gesteuert, wenn dies notwendig ist, die niedrigsten signifikanten Bits von V fortschreitend auf eine binäre 1 zu setzen, bis mindestens zwei binäre 1-Bits in V vorliegen. Deshalb werden dann, wenn der Ausganswert von V ganz aus Nullbits besteht, die zwei niedrigsten signifikanten Bits auf eine binäre 1 gesetzt. Der Wert V wird in dem RAM 52 gespeichert.When a card 30 inserted into the card acceptor 32 is to be checked for authenticity, the random number generator 62 generates an n-bit random number V with n bits vi (i = 1, ..., n). To ensure that V contains at least two bits equal to binary 1, the microprocessor 50 is controlled, when necessary, to progressively set the least significant bits of V to a binary 1 until there are at least two binary 1 bits in V. Therefore, if the initial value of V consists entirely of zero bits, the two least significant bits are set to a binary 1. The value V is stored in the RAM 52.

Der Wert V wird dann vom RAM 52 über die Eingabe- /Ausgabeeinheit 64, über den Kommunikationsweg 34 und die Eingabe-/Ausgabeeinheit 44 übertragen und in dem in der Karte 30 enthaltenen RAM 38 gespeichert. Der Mikroprozessor 36 prüft, daß V mindestens zwei binäre 1-Bits beinhaltet, und berechnet, wenn dies so ist, unter Verwenden der im PROM 42 gespeicherten Werte Si, den Wert Y, wobei The value V is then transferred from the RAM 52 via the input/output unit 64, via the communication path 34 and the input/output unit 44 and stored in the RAM 38 contained in the card 30. The microprocessor 36 checks that V contains at least two binary 1-bits and, if so, calculates the value Y using the values Si stored in PROM 42, where

Der Wert Y wird dann über die Eingabe-/Ausgabeeinheit 44, den Übertragungsweg 34 und die Eingabe-/Ausgabeeinheit 64 übertragen und in dem RAM 52 gespeichert. Unter Verwendung der in dem RAM 52 gespeicherten Werte Fi mit (i = 1, ..., n), V und e berechnet der Mikroprozessor 50 dann The value Y is then transmitted via the input/output unit 44, the transmission path 34 and the input/output unit 64 and stored in the RAM 52. Using the values Fi with (i = 1, ..., n), V and e stored in the RAM 52, the microprocessor 50 then calculates

undand

Xact = Ye (mod N),Xact = Ye (mod N),

und überprüft, oband checks whether

Xref = Xact.Xref = Xact.

Gleichheit bedeutet die Authentizität der Xact -Antwort mit der Wahrscheinlichkeit von 1 : N. Die Authentizität der die Antwort erzeugenden Karte 30 weist eine Wahrscheinlichkeit von 1 : 2n-n auf. Durch Ausgeben von wiederholten Zufallsaufrufen in Form von Zufallswerten von V läßt sich die Wahrscheinlichkeit, daß die Karte 30 echt ist, exponentiell um 1 : (2n - n)j erhöhen, wobei j die Anzahl ausgegebener Aufrufe ist.Equality means that the Xact response is authentic with a probability of 1:N. The authenticity of the card 30 that generated the response has a probability of 1:2n-n. By issuing repeated random calls in the form of random values of V, the probability that the card 30 is authentic can be increased exponentially by 1:(2n-n)j, where j is the number of calls issued.

Es ist ersichtlich, daß die Karte 30 nur It is clear that card 30 only

zu berechnen braucht, um auf einen Aufruf anzusprechen. Da dies unter Verwendung der Modul-N-Arithmetik höchstens n - 1 Multiplikationen sind, ist der Arbeitsfaktor für irgendeinen großen Wert von d deutlich geringer als Y = Xref d (mod N). In diesem Zusammenhang wird ist es ersichtlich, daß, da d tatsächlich der zur Karte 30 zugehörige Geheimschlüssel ist, und vorausgesetzt, daßto respond to a call. Since this is at most n - 1 multiplications using modulus-N arithmetic, the work factor for any large value of d is significantly less than Y = Xref d (mod N). In this context, it is evident that, since d is in fact the secret key associated with card 30, and provided that

e d = 1 (mod &phi;(N))ed = 1 (mod φ(N))

ist, daß d dann für übliche Werte von e in der Größenordnung von 2N/3 liegen wird. So wird bei dem beschriebenen Ausführungsbeispiel die Sicherheit der Authentifikation, die vergleichbar zu der ist, die mit digitalen Unterschriftsverfahren mit öffentlichen Schlüsseln erreichbar ist, mit deutlich geringerem rechnerischen Aufwand erreicht. Ferner ist es möglich, ohne einen Geheimschlüssel während des Authentifikationsprozesses zu verwenden, eine Vielzahl von Karten 30 zu erzeugen, die mit den S&sub1;, ... Sn-Werten beladen sind, die mittels einer Überprüfungsvorrichtung dynamisch aufgrufen werden, um ähnlich vertrauliche Niveaus zu denen zu erzielen, die mit öffentlichen Schlüsseln digitaler Unterschriftsprüfverfahren erhalten werden.is that d will then be of the order of 2N/3 for common values of e. Thus, in the described embodiment, the security of authentication, which is comparable to that achievable with public key digital signature methods, is achieved with significantly less computational effort. Furthermore, without using a secret key during the authentication process, it is possible to generate a plurality of cards 30 loaded with the S₁, ... Sn values, which are dynamically called up by a verification device in order to achieve similar confidentiality levels to those obtained with public key digital signature verification methods.

Es ist ersichtlich, daß das Ergebnis der Authentifikationsprozedur auf der Anzeige 58 angezeigt und/oder über den Drucker 60 aufgezeichnet werden kann.It will be appreciated that the result of the authentication procedure may be displayed on the display 58 and/or recorded via the printer 60.

Bei einem zweiten Ausführungsbeispiel der Erfindung wird ein eine Nachricht M bildender Datensatz echtheitsbestätigt, indem ein Zertifikat daran angehängt wird. Solch eine Nachricht M kann z. B. ein Datenssatz sein, der ein legales Dokument, eine Programmdatei oder eine andere Information darstellt. Unter Bezug auf Fig. 3 ist eine Nachrichtquelleinheit 30A dargestellt, die einen Nachrichtpuffer 70 einschließt, der eine zu aufhentifizierende Nachricht M zweitweilig speichert. Die Nachrichtquelle 30A schließt ferner einen Mikroprozessor 36A, einen RAM 38A, ein Programm-PROM 40A, einen sicheres PROM 42A und eine Eingabe-/ Ausgabeeinheit 44A ein, die mit einem Kommunikationsweg 34A verbunden ist. Die Nachrichtquelleinheit 30A schließt auch einen Kommunikationsbus 46A ein, der die Vorrichtungen 36A, 38A, 40A, 42A, 44A und 70 untereinander verbindet. Es ist ersichtlich, daß die Vorrichtungen, die in Fig. 3 die Bezugszeichen mit Suffix A aufweisen, den ähnlich bezeichneten Vorrichtungen der in der in Fig. 2 dargestellten Smart Card 30 entsprechen, und die Nachrichtquelleinheit 30A in einer praktischen Realisierung eine Smart Card sein kann. Ferner speichert das sichere PROM 42A die Werte S&sub1;, S&sub2; ... Sn in Zellen 102A-1 bis 102A-n, den Wert des Modul N in der Speicherzelle 104A und den Wert von e in der Speicherzelle 106A. Offensichtlich können die Werte von N und e, die öffentliche Werte sind, alternativ in dem RAM 38A gespeichert werden.In a second embodiment of the invention, a record forming a message M is authenticated by attaching a certificate thereto. Such a message M may, for example, be a record representing a legal document, a program file, or other information. Referring to Fig. 3, a message source unit 30A is shown including a message buffer 70 temporarily storing a message M to be authenticated. The message source 30A further includes a microprocessor 36A, a RAM 38A, a program PROM 40A, a secure PROM 42A, and an input/output unit 44A connected to a communication path 34A. The message source unit 30A also includes a communication bus 46A interconnecting the devices 36A, 38A, 40A, 42A, 44A, and 70. It is clear that the devices having the reference numerals with suffix A in Fig. 3 correspond to the similarly designated devices of the device shown in Fig. 2. Smart Card 30, and the message source device 30A may be a smart card in a practical implementation. Further, the secure PROM 42A stores the values S₁, S₂...Sn in cells 102A-1 through 102A-n, the value of the modulus N in the memory cell 104A, and the value of e in the memory cell 106A. Obviously, the values of N and e, which are public values, may alternatively be stored in the RAM 38A.

Eine im Nachrichtpuffer 70 gespeicherte Nachricht M wird durch das daran Anhängen einer Nachrichtauthentifikationscodierung (MAC), die in der folgenden Art und Weise berechnet wird, echtheitsbestätigt.A message M stored in the message buffer 70 is authenticated by appending to it a message authentication code (MAC) which is calculated in the following manner.

Unter Verwendung der gespeicherten Werte von N und e berechnet der Mikroprozessor 36A zuerst eine änderungssensitive Transformation H der Nachricht M. Beim bevorzugten Ausführungsbeispiel wird dies durch Berechnung vonUsing the stored values of N and e, the microprocessor 36A first calculates a change-sensitive transformation H of the message M. In the preferred embodiment, this is done by calculating

H = Me (mod N)H = Me (mod N)

bewirkt. Der Wert H wird dann zu einem binären Wert J umgewandelt, der in Teilfelder der Länge n (falls erforderlich, unter Auffüllung eines unvollständigen Feldes mit vorbestimmten binären Bits) segmentiert bzw. eingeteilt wird und die einzelnen Teilfelder werden Modulo 2 (exklusiveoder-Operation) addiert, so daß der sich ergebende binäre Satz als V = vi, (i = 1, ..., n) , bei der Berechnung von Y verwendet wird, wo The value H is then converted to a binary value J, which is segmented into subfields of length n (if necessary, filling an incomplete field with predetermined binary bits) and the individual subfields are added modulo 2 (exclusive-or operation) so that the resulting binary set as V = vi, (i = 1, ..., n) , is used in the calculation of Y, where

ist, wie dies beim ersten Ausführungsbeispiel beschrieben wird.is as described in the first embodiment.

Dieser Wert von Y wird dann als Nachrichtauthentifikationscodierung (MAC) angehängt, wenn die Nachricht M von der Nachrichtquelleinheit 30A über die Eingabe-/ Ausgabeeinheit 44A zum Kommunikationsweg 34A übertragen wird.This value of Y is then appended as a message authentication code (MAC) when the message M is received from the message source unit 30A via the Input/output unit 44A to communication path 34A.

Eine Echtheitsbestätigungsvorrichtung 32A, Fig. 4, die von allgemein ähnlichem Aufbau zu der in Fig. 2 dargestellten Kartenannahmevorrichtung 32 ist, kann zur Authentifikation der übertragenen Nachricht M verwendet werden. Die Echtheitsbestätigungsvorrichtung 32A schließt einen Nachrichtpuffer 72, einen RAM 52A, einen Programm-PROM 54A, eine Tastatur 56A, eine Anzeige 58A, einen Drucker 60A, eine Eingabe-/Ausgabeeinheit 64A und einen untereinander verbindenden Kommunikationsbus 66A ein.An authenticating device 32A, Fig. 4, which is of generally similar construction to the card acceptor 32 shown in Fig. 2, can be used to authenticate the transmitted message M. The authenticating device 32A includes a message buffer 72, a RAM 52A, a program PROM 54A, a keyboard 56A, a display 58A, a printer 60A, an input/output unit 64A and an interconnecting communication bus 66A.

In dem RAM 52A, in den Zellen 112A-1 bis 112A-n, 114A und 116A sind die öffentlichen Faktorwerte F&sub1;, ..., Fn zusammen mit dem öffentlichen Schlüssel e und dem Modul N gespeichert.In the RAM 52A, in the cells 112A-1 to 112A-n, 114A and 116A, the public factor values F₁, ..., Fn are stored together with the public key e and the modulus N.

Die über den Kommunikationsweg 34A empfangene Nachricht M wird in dem Nachrichtpuffer 72 zusammen mit dem MAC, Y gespeichert.The message M received via the communication path 34A is stored in the message buffer 72 together with the MAC, Y .

Unter Verwendung der empfangenen Nachricht M berechnet der Mikroprozessor 50A H und J, um V wie in der Nachrichtquelleinheit 30A zu erhalten, und berechnet dann, unter Verwendung der im RAM 52A gespeicherten öffentlichen Faktoren Fi, Using the received message M, the microprocessor 50A calculates H and J to obtain V as in the message source unit 30A and then calculates, using the public factors Fi stored in the RAM 52A,

Unter Verwendung des in dem Nachrichtpuffers 70 gespeicherten empfangenen Wertes Y berechnet der Mikroprozessor 50A dannUsing the received value Y stored in the message buffer 70, the microprocessor 50A then calculates

Xact = Ye (mod N)Xact = Ye (mod N)

Letztendlich werden die Werte Xact und Xref unter Verwendung des Mikroprozessors 50A verglichen. Gleichheit von Xact und Xref bedeutet, daß die in der Nachrichtquelleinheit 30A vorliegenden S&sub1;, ..., Sn und deshalb jene der Nachricht M innerhalb einer Wahrscheinlichkeit von 1 : N authentisch sind. Es ist ersichtlich, daß dieses Ausführungsbeispiel den Vorteil hat, daß eine kostengünstige Vorrichtung (die Nachrichtquelleinheit 30A) leicht von dieser stammende Daten mit einer Wahrscheinlichkeit von 1 : N zertifizieren kann.Finally, the values Xact and Xref are compared using the microprocessor 50A. Equality of Xact and Xref means that the values S₁, ..., Sn present in the message source unit 30A and therefore those of the message M are authentic within a probability of 1:N. It will be appreciated that this embodiment has the advantage that a low-cost device (the message source unit 30A) can easily certify data originating therefrom with a probability of 1:N.

Es wird varausgesetzt, daß es beim zweiten Ausführungsbeispiel, wie beim ersten Ausführungsbeispiel, um die Si-Werte vor Enthüllung zu schützen, sichergestellt sein muß, daß V mindestens zwei binäre 1-Bits enthält, wenn notwendig durch fortschreitendes Setzen der niedrigsten signifikanten Bits von V auf eine binäre 1.It is assumed that in the second embodiment, as in the first embodiment, in order to protect the Si values from disclosure, it must be ensured that V contains at least two binary 1 bits, if necessary by progressively setting the least significant bits of V to a binary 1.

Das zweite Ausführungsbeispiel der Erfindung bietet den weiteren Vorteil, daß verschiedene Nachrichtquelleinheiten 30A, oder die davon stammenden Daten, ohne direkte Anwesenheit der Vorrichtung zur Zeit der Authentifikation echtheitsbestätigt werden können. Diese Möglichkeit ist insbesondere nützlich für die Authetifikation von Nachricht, die zuvor mittels verschiedener Nachrichtquelleinheiten 30A in der Form von kostengünstigen Vorrichtungen, z. B. Smart Cards, produziert worden sein können. Mehrere Nachrichtquelleinheiten können die gleichen F&sub1;, ..., Fn-Werte gemeinsam verwenden, die für das Schema mit individueller über verschiedene Werte von e und N sichergestellter Integrität standardisiert werden würden.The second embodiment of the invention offers the further advantage that different message source units 30A, or the data originating therefrom, can be authenticated without the direct presence of the device at the time of authentication. This possibility is particularly useful for the authentication of messages that may have been previously produced by different message source units 30A in the form of low-cost devices, e.g. smart cards. Several message source units can share the same F1, ..., Fn values, which would be standardized for the scheme with individual integrity ensured via different values of e and N.

Jedoch wird es bevorzugt die e und die F&sub1;, ..., Fn für alle Benutzer eines Authentifikationsschemas innerhalb einer Gruppe von Benutzern und für den Operator einer jeden Nachrichtquelleinheit zu standardisieren, um einen für die von diesem zu verwendende Nachrichtquelleinheit spezifischen Wert N zu veröffentlichen. Sollte ein Operator verschiedene solcher Einheiten besitzen, anstatt einen spezifischen Wert N für jede Einheit zu spezifizieren, kann die Integrität in einer Art und Weise sichergestellt werden, wie es nun unter Bezug auf das dritte Ausführungsbeispiel der Erfindung beschrieben wird.However, it is preferred to standardize the e and the F₁, ..., Fn for all users of an authentication scheme within a group of users and for the operator of each message source unit to publish a value N specific to the message source unit to be used by it. Should an operator own several such units, instead of specifying a specific value N for each unit, the integrity can be ensured in a manner as now described under Reference to the third embodiment of the invention.

Gemäß einem dritten Ausführungsbeispiel der Erfindung kann eine Nachricht M als von einer spezifischen Nachrichtquelleinheit aus einem Satz solcher Nachrichtquelleinheiten stammend, die die gleichen F&sub1;-, ..., Fn und N- und e- Werte verwenden, authetifiziert werden. Dies hat den Vorteil, daß es für ein Mitglied eines solchen Satzes unmöglich ist, sich als ein anderes Mitglied dieses Satzes zu maskieren. Um dies zu erreichen, ordnet der Operator des Systems hierfür jeder Nachrichtquelleinheit einen öffentlichen Faktor FID zu, der spezifisch für diese Quelleinheit ist. Ferner berechnet der Operator des Systems für jeden solchen FID-Wert einen entsprechenden SID-Wert;According to a third embodiment of the invention, a message M can be authenticated as originating from a specific message source unit from a set of such message source units using the same F1, ..., Fn and N and e values. This has the advantage that it is impossible for a member of such a set to masquerade as another member of this set. To achieve this, the operator of the system assigns to each message source unit a public factor FID which is specific to this source unit. Furthermore, the operator of the system calculates for each such FID value a corresponding SID value;

SID = FIDd (mod N),SID = FIDd (mod N),

wo d der Systemgeheimschlüssel ist und speichert SID in dem sicheren Speicher der relevanten Nachrichtquelleinheit .where d is the system secret key and stores SID in the secure storage of the relevant message source device.

Unter Bezug auf Fig. 5 ist ein Diagramm des in der Nachrichtquelleinheit enthaltenen sicheren PROM 42B dargestellt. Der PROM 42B beinhaltet Speicherzellen 102B-1 bis 102B-n, die die n Werte S&sub1;, ..., beziehungsweise Sn speichern, Speicherzellen 104B und 106B, die entsprechend die Werte N, bzw. e speichern, und Speicherzellen 108, 110, die die Werte FID, bzw. SID speichern.Referring to Fig. 5, a diagram of the secure PROM 42B included in the message source unit is shown. The PROM 42B includes memory cells 102B-1 through 102B-n storing the n values S1, ..., and Sn, respectively, memory cells 104B and 106B storing the values N, and e, respectively, and memory cells 108, 110 storing the values FID, and SID, respectively.

Beim dritten Ausführungsbeispiel ist es ersichtlich, daß die Funktion gleich der für das zweite Ausführungsbeispiel ist, ausgenommen, daß die Berechnung des MAC, Y, gemäß der Formel In the third embodiment, it can be seen that the function is the same as for the second embodiment, except that the calculation of the MAC, Y, is carried out according to the formula

unter Verwendung der gespeicherten SID- und Si-Werte durchgeführt wird. Entsprechend wird die Berechnung der Xref in der Nachrichtechtheits-Bestätigungseinheit gemäß der Formel using the stored SID and Si values. Accordingly, the calculation of Xref in the message authenticity confirmation unit is carried out according to the formula

unter Verwendung der gespeicherten Fi-Werte durchgeführt, wobei der FID-Wert, der in der zertifizierten Nachricht eingeschlossen ist, die von der Nachrichtquelleinheit zu der Nachrichtechtheits-Bestätigungseinheit zum Verwenden bei dem Berechnen der Xref übermittelt wird.performed using the stored Fi values, wherein the FID value included in the certified message is transmitted from the message source entity to the message authenticity confirmation entity for use in calculating the Xref.

Es ist ersichtlich, daß, da beim dritten Ausführungsbeispiel SID beim Berechnen des Y verwendet wird, die Notwendigkeit, daß V zumindest zwei binäre 1-Bits enthält, reduziert wirdauf das Erfordernis, daß V nicht Null sein soll.It can be seen that since the third embodiment uses SID in calculating Y, the requirement that V contain at least two binary 1 bits is reduced to the requirement that V be non-zero.

Die vorstehend beschriebenen Ausführungsbeispiele können für irgendeine Anwendung benutzt werden, wo es erwünscht ist, Einheiten oder von diesen stammende Daten auf Authentizität zu überprüfen. Eine bedeutende Anwendung liegt jedoch bei intelligenten Transaktionselementen oder intelligenten Smart Cards, die in elektronischen Geldüberweisungen an dem Servicepunkt (EFTPOS) verwendet werden. Aus verschiedenen Kosten- und Sicherheitgründen ist es erkenntlich, daß die sogenannte "Smart Card" eine hochgradig wirkungsvolle Technologie für den Servicepunkt (EFTPOS) bietet.The embodiments described above can be used for any application where it is desired to verify the authenticity of devices or data emanating from them. However, a significant application is in intelligent transaction elements or intelligent smart cards used in electronic money transfers at the point of service (EFTPOS). For various cost and security reasons, it can be seen that the so-called "smart card" offers a highly effective technology for the point of service (EFTPOS).

Ein bedeutender Grund für die Verwendung der Smart-Card- Technologie ist es, eine Transaktion bzw. Übergabe bei vollständiger Trennung vom Berechtigungssystem des Kartenausstellers zu ermöglichen, und zwar mit einem Minimum an Risiko für die verschiedenen betroffenen Parteien.A key reason for using smart card technology is to enable a transaction or handover to be completed completely separate from the card issuer's authorization system, with a minimum of risk for the various parties involved.

Von einem Sichtpunkt der Risikoanalyse aus müssen die folgenden Bereiche berücksichtigt werden:From a risk analysis perspective, the following areas must be considered:

(a) Ist der Karteninhaber legitimiert?(a) Is the cardholder legitimate?

(b) Ist die Karte echt?(b) Is the card genuine?

(c) ist der in Frage kommende Wert, der in die Karte eingeladen wurde oder durch die Karte ausgegeben wurde echt?(c) is the value in question loaded into the card or issued through the card genuine?

(d) Ist der Transaktionsanspruch, der durch den Kartenbenutzer gemacht wird, echt?(d) Is the transaction claim made by the card user genuine?

Die Authentizität des Karteninhabers wird grundsätzlich durch Eingabe einer persönlichen Identifikationsnummer (PIN) erzielt, die durch oder mit der Smart Card überprüft wird, bevor sensitive Vorgänge eingeleitet werden. Eine solche PIN kann über ein Tastenfeld, z. B. das Tastenfeld 56 in Fig. 2, oder durch ein in der Karte integriertes Tastenfeld (nicht dargestellt) eingegeben werden.The authenticity of the cardholder is generally achieved by entering a personal identification number (PIN) which is verified by or with the smart card before sensitive processes are initiated. Such a PIN can be entered via a keypad, e.g. keypad 56 in Fig. 2, or via a keypad integrated in the card (not shown).

Es ist allgemein erkannt, daß es nötig ist, die Kartenauthentizität vor der Übergabe von Werten festzustellen, um zu verhindern, daß betrügerische Werte in die Karte eingeladen werden oder durch die Karte ausgegeben werden. Jedoch erscheint diese Anforderung grundsätzlich in vielen Ausführungen, da es nicht möglich, ist die Authentizität des Wertdatenaustausches an dem Servicepunkt zu bestätigen.It is generally recognized that it is necessary to establish card authenticity prior to the transfer of values in order to prevent fraudulent values from being loaded into or dispensed through the card. However, this requirement appears fundamental in many implementations because it is not possible to confirm the authenticity of the value data exchange at the service point.

Unter Berücksichtigung der Streuung des Wertes von einer Karte eine Kartenechtheitsbestätigung unnötig, vorausgesetzt, daß die Karte selbst ein Authentifikatonszertifikat für die von ihr stammenden Daten produzieren kann, so daß das Zertifikat durch irgendeine andere Einheit getestet werden kann. Dies hat bedeutende Konsequenzen für Kartenechtheitsbestätigung aus der Ferne oder Homebanking- Anwendungen, da die Notwendigkeit für eine vertrauenswürdige Kartenechtheits-Bestimmungsvorrichtung von dem Standpunkt der Kartenakzeptanz beseitigt ist. Diese Möglichkeit befähigt auch irgendeine zwischengeschaltete Einheit, die die Wertnachricht zwischen der Karte und der den Betrag garantierenden Einheit handhabt, die Authentizität der Daten zu testen, so daß Begleichungsaktionen unternommen werden. in diesem Sinn existiert die Möglichkeit für wahre elektronische Währungsumläufe. Berücksichtigt man die Werteingabe, wenn es gezeigt werden kann, daß ein von einer Karte stammender Datenwert echt ist, so ist anzunehmen, daß nur eine echte Karte die Bescheinigungsberechnung korrekt durchführen kann. Deshalb können, wenn nur eine echte Karte einen korrekten Wert ausgeben kann, dann kann die Anforderung zum Verhindern des Ladens nachgemachter Werte leicht durch den Entwurf authentischer Karten erfüllt werden, so daß diese den Versuch des Ladens eines gefälschten Wertes selber abweisen.Taking into account the dispersion of the value of a card, card authentication is unnecessary, provided that the card itself can produce an authentication certificate for the data originating from it, so that the certificate can be tested by any other entity. This has important consequences for remote card authentication or home banking applications, since the need for a trusted card authentication device is eliminated from the point of view of card acceptance. This possibility also enables any intermediary entity handling the value message between the card and the entity guaranteeing the amount to test the authenticity of the data so that settlement actions are undertaken. In this sense, the possibility exists for true electronic currency circulation. Considering value input, if a data value originating from a card can be shown to be genuine, then it is assumed that only a genuine card can correctly perform the attestation calculation. Therefore, if only a genuine card can output a correct value, then the requirement to prevent the loading of counterfeit values can easily be met by designing authentic cards so that they themselves reject the attempt to load a counterfeit value.

Da die Karte die Möglichkeit beinhaltet, Zertifikate zu erzeugen, kann diese deshalb ein Zertifikat genausogut überprüfen. Dies kann bei einem vierten Ausführungsbeispiel der Erfindung durch Berechnen eines Zertifikates für den zu ladenden Datenwert, der der Karte in der gleichen Art dargeboten wird, wie es durch die Karte selber durchgeführt wird, und Anhängens des Zertifikates an den zu ladendenden Wert, ausgeführt werden. Die Karte kann den Vorgang wiederholen und das Ergebnis mit dem dargebotenen Zertifikat vergleichen. Die Annahme ist, daß nur der von der garantierenden Einheit ausgegebene Wert korrekt einen Wert so laden kann, daß es angenommen werden kann, daß diese Einheit die geheime Zertifikatsberechnungsmethode kennt.Since the card includes the ability to generate certificates, it can therefore verify a certificate as well. This can be done in a fourth embodiment of the invention by calculating a certificate for the data value to be loaded, presented to the card in the same way as is done by the card itself, and appending the certificate to the value to be loaded. The card can repeat the process and compare the result with the presented certificate. The assumption is that only the value issued by the guaranteeing entity can correctly load a value in such a way that it can be assumed that this entity knows the secret certificate calculation method.

Jedoch würde es dieses Verfahren erfordern, daß die Einheit, die das geladene Wertzertifikat erzeugt, eine Aufzeichnung jedes Kartengeheimnisses verfügbar hat (unter der Voraussetzung der möglichen Größe des Kartennetzwerkes, der Möglichkeit, daß verschiedene Werterzeuger es wünschen können Werte zu laden, und der höchst wünschenswerten Notwendigkeit einer eindeutigen Authentifikation jeder Karte), so kann diese Anforderung unhandhabbar werden.However, this method would require that the entity generating the loaded value certificate have a record of each card secret available (given the potential size of the card network, the possibility that different value generators may wish to load values, and the highly desirable need for unique authentication of each card), so this requirement may become unmanageable.

Der primäre Vorteil der vorstehend beschriebenen Ausführungsbeispiele ist, daß irgendeine Einheit leicht die Authentizität der von einer anderen Einheit stammenden Daten überprüfen kann. Wenn es sichergestellt ist, daß die Quelle der Daten zu ladender Werte eine zu der die Ladung akzeptierenden Einheit ähnliche Einheit war, dann kann irgendeine andere Einheit, die die Zielkarte selber einschließt, vor der Akzeptierung ähnlich leicht die geladenen Daten auf Authentizität testen.The primary advantage of the embodiments described above is that any entity can easily verify the authenticity of data originating from another entity. If it is assured that the source of the data values to be loaded was a similar entity to the entity accepting the load, then any other entity, including the target card itself, can similarly easily test the loaded data for authenticity before acceptance.

So wird die Notwendigkeit zur Authentizitätsbestimmung einer Karte, oder umgekehrt, die Notwenigkeit der Karte zur Authentifikation der Ladevorrichtung ausgeschaltet, wenn die Technik der Authentifizierung einer öffentlichen Nachricht benutzt wird, wie sie in dem dritten Ausführungsbeispiel beschrieben wird.Thus, the need to determine the authenticity of a card, or conversely, the need for the card to authenticate the charging device, is eliminated when the public message authentication technique is used, as described in the third embodiment.

Deshalb sieht das vierte Ausführungsbeispiel der Erfindung eine Vorrichtung und ein Verfahren zum Vermeiden der Notwendigkeit vertrauenswürdiger Datenstationseinrichtungen vor, die die Fähigkeit haben können, Informationen oder Werte durch Übergabe solcher Informationen mit einem Authentizitätszertifikat den Einheiten des Satzes hinzuzufügen, so daß die Mitgliedseinheit die Authentizität der von der erkannten Quelle übergebenen Information vor ihrer Akzeptierung bestimmen kann. Beim vierten Ausführungsbeispiel ist es möglich, daß die Mitgliedseinheit (Smart Card) sowohl ihre eigenen Zertifikate erzeugt als auch Zertifikate anderer Einheiten testet, und zwar mittels im ersten Fall Verwendens der Verfahren des dritten Ausführungsbeispieles, um Zertifikate zu erzeugen, und im zweiten Fall Verwendens der komplementären Verfahren des dritten Ausführungsbeispieles, um die Zertifikate zu testen.Therefore, the fourth embodiment of the invention provides an apparatus and method for avoiding the need for trusted terminal devices that may have the ability to add information or value to the units of the set by presenting such information with an authenticity certificate so that the member unit can determine the authenticity of the information presented by the recognized source prior to accepting it. In the fourth embodiment, it is possible for the member unit (smart card) to both generate its own certificates and test certificates of other units by, in the first case, using the methods of the third embodiment to generate certificates and, in the second case, using the complementary methods of the third embodiment to test the certificates.

Bei diesem vierten Ausführungsbeispiel kann die Karte weiterhin die darin gespeicherten Fi-, N- und e- Werte passend für jeden Ladewerterzeuger enthalten, der durch den Kartenaussteller berechtigt ist, die Wertladefunktion ausführen. Für gewöhnlich sollten alle Erzeuger die gleichen öffentlichen Faktoren Fi und den öffentlichen Schlüssel e aufweisen, wobei individuelle Integrität, unter Verwendung unterschiedlicher N-Werte erzielt wird.In this fourth embodiment, the card may further contain the Fi, N and e values stored therein appropriate for each load value generator authorized by the card issuer to perform the value load function. Typically, all generators should have the same public factors Fi and public key e , with individual integrity achieved using different N values.

Obwohl bei den bevorzugten Ausführungsbeispielen die Berechnungen innerhalb der Karte 30 und der Annahmevorrichtung 32, der Nachrichtquelleinheit 30A und der Nachrichtauthentifikationseinheit 32A, die als durch die Mikroprozessoren 36, 50, 36A, 50A bewirkt beschrieben wurden, sollte ist es ersichtlich, daß bei einer Modifikation jedem Mikroprozessor eine entsprechende Berechnungseinheit zugeordnet sein kann, die die FunktionAlthough in the preferred embodiments the computations within the card 30 and the acceptor 32, the message source unit 30A and the message authentication unit 32A have been described as being effected by the microprocessors 36, 50, 36A, 50A, it should be understood that with modification each microprocessor may be associated with a corresponding computation unit which performs the function

f(P) = P M (mod N)f(P) = P M (mod N)

ausführt.executes.

Solch eine zugeordnete Schaltung kann Schieberegister- und serielle Addier-/Subtrahierelemente verwenden, so daß ein Wert M mit einem Wert P multipliziert wird, während, wenn nötig, gleichzeitig der Wert N subtrahiert wird, um innerhalb eines einzelnen Berechnungszyklus den erwünschten Produktwert P M (mod N) zu erzielen. Durch diese Einheit kann die Funktion Such an associated circuit may use shift register and serial adder/subtractor elements so that a value M is multiplied by a value P while, if necessary, simultaneously subtracting the value N to achieve the desired product value PM (mod N) within a single calculation cycle. Through this unit, the function

mit den fortschreitend angebotenen Werten Si berechnet werden, wie sie durch die Werte der Bits vi von V angegeben werden.with the progressively offered values Si as indicated by the values of the bits vi of V .

Die vorstehend beschriebenen Ausführungsbeispiele bieten einen hohen Grad an Sicherheit sowohl für die Authentifikation der Einheiten, als auch für das Zertifizieren der Nachrichten vor. Jedoch ist es ersichtlich, daß abhängig von der Systemverwirklichung ein intelligenter Angreifer ein System gefährden kann, das solche Authentifikations- und/oder Zertifikationsverfahren verwendet, wie nun erklärt wird. So folgt, da die Faktoren Fi und Si entsprechend dem Wert von V zur Multiplikation ausgewählt werden, daß, wenn die Systemgestaltung eine geeignet veränderte Echtheitsbestätigungsvorrichtung erlaubt, um irgendwelche gewünschte Werte von V zu erzeugen, wenn z. B. die WerteThe embodiments described above provide a high level of security for both the authentication of the entities and the certification of the messages. However, it is apparent that depending on the system implementation, an intelligent attacker can compromise a system using such authentication and/or certification methods, as will now be explained. Thus, since the factors Fi and Si are selected according to the value of V for multiplication, it follows that if the system design provides a suitably modified authentication device to produce any desired values of V, for example if the values

Va = 3 (dezimal) = 011 (binär)Va = 3 (decimal) = 011 (binary)

und Vb = 7 (dezimal) = 111 (binär)and Vb = 7 (decimal) = 111 (binary)

frei gewählt werden können, dann würden die zugehörigen Y- Wertecan be freely selected, then the corresponding Y-values

Ya = S&sub1; S&sub2; (mod N)Ya = S1 S2; (mod N)

und Yb = S&sub1; S&sub2; S&sub3; (mod N)and Yb = S₁ S₂ S₃ (mod N)

erzeugt.generated.

DaThere

S&sub3; = Yb/Ya = (S&sub1; S&sub2; S&sub3;) / (S&sub1; S&sub2;) (mod N)S3; = Yb/Ya = (S₁ S₂ S₃) / (S₁ S₂) (mod N)

ist, ist S&sub3; bekannt. Ähnlich kann irgendein erwünschtes Si ermittelt werden, sofern Divisionsoperationen ausgeführt werden können. Aufgrund der Modul-N-Operation auf Ya und Yb wird eine einfache Division nicht notwendigerweise einen korrkten Wert geben. Jedoch weisen dann, da N aus (gewöhnlich zwei) großen Primzahlen zusammengesetzt ist, die meisten Zahlen in dem Bereich 1 bis N-1 eine Modulus-N-Reziproke auf, d. h. bei gegebenem Y gibt es allgemein einen Wert Y&supmin;¹, derart daßis known. Similarly, any desired Si can be determined, provided division operations can be performed. Due to the modulus N operation on Ya and Yb, a simple division will not necessarily give a correct value. However, since N is composed of (usually two) large primes, most numbers in the range 1 to N-1 have a modulus N reciprocal, i.e., given Y, there is generally a value Y-1 such that

Y Y&supmin;¹ = 1 (mod N)Y Y⊃min;¹ = 1 (mod N)

ist.is.

Bekannte mathematische Verfahren können verwendet werden, um solch einen Reziprokwert Y&supmin;¹ zu finden. Deshalb kannWell-known mathematical methods can be used to find such a reciprocal Y⊃min;¹. Therefore,

S&sub3; = Yb Ya&supmin;¹ (mod N)S3; = Yb Ya⊃min;¹ (mod N)

bestimmt werden, und durch ähnliche Verfahren können auch die verbleibenden Si-Werte allgemein ermittelt werden. Liegen die ermittelten Si-Werte vor, kann der intelligente Angreifer unter Verwendung geeigneter Hardware die Authentifikations- und Zertifikationsprozeduren betrügerisch ausführen.determined, and similar procedures can also be used to determine the remaining Si values in general. If the determined Si values are available, the intelligent attacker can fraudulently carry out the authentication and certification procedures using suitable hardware.

Um einen solchen Angriff zu vermeiden, sollte es unmöglich gemacht werden, V-Werte auszulesen, die einen Satz von Y- Werten erbringen, die zum Ermitteln einzelner Faktoren Si manipuliert werden können.To avoid such an attack, it should be made impossible to read V values that contain a set of Y Values that can be manipulated to determine individual factors Si.

Bei einem fünften Ausführungsbeispiel der Erfindung wird dieses Problem durch die Einbeziehung eines zusätzlichen öffentlichen Paritätsfaktors Fp und einen zugeordneten Geheimfaktor Sp in das System vermindert, wobeiIn a fifth embodiment of the invention, this problem is reduced by including an additional public parity factor Fp and an associated secret factor Sp in the system, where

Sp = Fpd (mod N)Sp = Fpd (mod N)

ist, und es sicherstellen, daß, wenn nötig unter Verwendung von Sp, alle Y-Werte das Produkt einer geraden Anzahl von Faktoren sind, so daß die Ermittlung irgendeines einzelnen Faktors verhindert wird. Zum Beispiel ist mit dieser Anordnungand ensure that, using Sp if necessary, all Y values are the product of an even number of factors, thus preventing the determination of any single factor. For example, with this arrangement,

für V = 1 (dezimal), Y = S&sub1; Sp (mod N)for V = 1 (decimal), Y = S₁ Sp (mod N)

für V = 2 (dezimal), Y = S&sub2; Sp (mod N)for V = 2 (decimal), Y = S₂ Sp (mod N)

für V = 3 (dezimal), Y = S&sub1; S&sub2; (mod N), usw.for V = 3 (decimal), Y = S₁ S₂ (mod N), etc.

Deshalb wählt bei der beschriebenen Anordnung unter Bezug auf Fig. 1 ein Kartenaussteller einen zusätzlichen öffentlichen Faktor Fp aus, berechnet Sp und speichert Sp auf den auszugebenden Karten. Ahnlich wird bei der unter Bezug auf die Fig. 3 und 4 beschriebenen Nachrichtbestätigungssystem der zusätzliche geheime Paritätsfaktor Sp in dem PROM 42A und der entsprechende öffentliche Paritätsfaktor Fp im RAM 52A gespeichert. Bei der spezifischen Erkennungsanordnung, die unter Bezug auf Fig. 5 beschrieben wurde, wird wiederum der geheime Paritätsfaktor Sp in dem sicheren PROM 42B zusätzlich zu dem SID-Wert gespeichert, und bei dieser Anordnung gibt es den weiteren Vorteil, daß V im ganzen Bereich von 0 bis 2n-1 liegen kann. Dies ist für eine Nachrichtzertifikation erwünschenswert, da es irgendeine Notwendigkeit zum Anpassen des Nachrichtkontrollergebnisses eliminiert. Deshalb gilt bei dieser AnordnungTherefore, in the arrangement described with reference to Fig. 1, a card issuer selects an additional public factor Fp, calculates Sp and stores Sp on the cards to be issued. Similarly, in the message validation system described with reference to Figs. 3 and 4, the additional secret parity factor Sp is stored in the PROM 42A and the corresponding public parity factor Fp is stored in the RAM 52A. In the specific detection arrangement described with reference to Fig. 5, again the secret parity factor Sp is stored in the secure PROM 42B in addition to the SID value, and in this arrangement there is the further advantage that V can be in the whole range from 0 to 2n-1. This is desirable for message certification as it eliminates any need to adjust the message verification result. Therefore, in this arrangement

für V = 0 (dezimal), Y = SID Sp (mod N)for V = 0 (decimal), Y = SID Sp (mod N)

für V = 1 (dezimal), Y = SID S&sub1; (mod N)for V = 1 (decimal), Y = SID S�1 (mod N)

für V = 2 (dezimal), Y = SID S&sub2; (mod N)for V = 2 (decimal), Y = SID S₂ (mod N)

für V = 3 (dezimal), Y = SID S&sub1; S&sub2; Sp (mod N) usw.for V = 3 (decimal), Y = SID S₁ S₂ Sp (mod N), etc.

Obwohl argumentiert werden kann, daß, wenn das fünfte Ausführungsbeispiel verwendet wird, ein Angreifer selektiv alle Faktorenpaare,Although it can be argued that if the fifth embodiment is used, an attacker can selectively evaluate all factor pairs,

z. B. S&sub1; S&sub2; = V&sub3; V&sub0;&supmin;¹e.g. B. S1; S2; = V3; V₀⊃min;¹

auslesen und diese Paare zum Erzeugen gefälschter Zertifikate in einem Nachrichtzertifikationsschema verwenden kann, so daß ein solcher Angriff aufgrund der Anzahl von Paaren, die erlangt betrügerisch in dem System verwendet werden müßten, unmöglich gemacht wird, wobei n einen geeignet großen Wert aufweist.and use these pairs to generate fake certificates in a message certification scheme, so that such an attack is made impossible due to the number of pairs that would have to be obtained and used fraudulently in the system, where n has a suitably large value.

Ein anderer Weg zum Verhindern selektiver Extraktion von Si- Werten durch einen Angreifer ist es sicherzustellen, daß irgendein Y-Wert nicht gleichmäßig auf irgendeinen anderen Y- Wert bezogen ist. Dies kann mittels der Einbeziehung einer variablen Komponente bei der Y-Berechnung erreicht werden, die durch einen Angreifer nicht kontrolliert oder vorhergesagt werden kann. Solch eine variable Komponente sollte aus einem ausreichend großen Satz möglicher Komponentenwerte gewählt werden, um das wiederholte Auftreten irgendeines spezifischen Wertes statistisch unwahrscheinlich zu machen. Das heißt, die Anzahl der benötigten Y-Werte, um es sicherzustellen, daß die selbe variable Komponente bei der Berechnung eingeschlossen wird, sollte für den Angreifer unbrauchbar groß sein.Another way to prevent selective extraction of Si values by an attacker is to ensure that any Y value is not evenly related to any other Y value. This can be achieved by including a variable component in the Y calculation that cannot be controlled or predicted by an attacker. Such a variable component should be chosen from a sufficiently large set of possible component values to make repeated occurrence of any specific value statistically unlikely. That is, the number of Y values required to ensure that the same variable component is included in the calculation should be unacceptably large for the attacker.

Es ist ersichtlich, daß die Y-Werte tatsächlich eine Grundmenge pseudozufallsmäßig verteilter 2n Werte innerhalb des durch 1 und N-1 begrenzten Satzes bilden. Zweitens ist es ersichtlich, daß die rechnerische Trennung dieser Y-Werte tatsächlich genau bestimmt ist. Die Anwendung eines Verschiebungswertes, der auf alle Y-Werte in der Grundmenge angewendet wurde, wurde tatsächlich einen anderen Satz genau getrennter Y-Werte innerhalb des Satzes 1, N-1 erzeugen. Vorausgesetzt, daß die Anzahl der Y-Sätze, die durch eine Verschiebung erzeugt werden können, groß genug war, um statistisch eindeutig zu sein, wird dann deshalb das mathematische Herausziehen der einen gewissen Y-Wert angebenden Faktoren unpraktikabel, außer der Satzverschiebungswert war bekannt, da die Anzahl der gültigen Y-Werte innerhalb eines Satzes 1, N-1 von 2n auf das 2n-fache der Anzahl der Y-Sätze vergrößert würde.It is evident that the Y values actually form a basic set of pseudorandomly distributed 2n values within the set bounded by 1 and N-1. Second, it is evident that the computational separation of these Y values is actually well-determined. Applying a shift value to all Y values in the basic set would actually produce another set of well-separated Y values within the set 1, N-1. Provided that the number of Y sets that could be produced by a shift was large enough to to be statistically unambiguous, the mathematical extraction of the factors indicating a certain Y-value becomes impractical, unless the set shift value was known, since the number of valid Y-values within a set 1, N-1 would be increased from 2n to 2n times the number of Y-sets.

Im Extremfall, unter der Annahme, daß die Anzahl der Y-Sätze N-1 war, würde dann die Anzahl der gültigen Y-Werte 2n (N-1) sein. Dies würde die Wahrscheinlichkeit, daß eine einen Y-Wert produzierenden Einheit authentisch war oder daß eine Nachricht von der Einheit authentisch war, von 2n auf 2n (N-1) anheben. Für geläufige N-Werte von 2&sup5;¹² < N < 2&sup5;¹³ würde dann der Grad der Authentizitäts-Wahrscheinlichkeit 2n 2&sup5;¹² sein. Dies ist in der Praxis nicht gegeben, da der Grad der verfügbaren Y-Werte N-1 ist, was die Wahrscheinlichkeit auf 1 : (N-1) begrenzt. Natürlich kann, da dieser Wahrscheinlichkeitsgrad bei weitem jede akzeptable Anforderung überschreitet, die Anzahl der Y-Sätze wesentlich vermindert werden. Wenn s der Anzahl der zum Kennzeichnen der Satznummer verfügbaren binären Bits gleicht, dann würde die Anzahl der Sätze 2s sein und eine Authentizitätswahrscheinlichkeit von 2n 2s oder 2n+s geben. Es ist festzustellen, daß n und s prinzipiell in der Größe variiert werden können, um den Grad des im System gewünschten wahrscheinlichen Authentizitätsschutzes zu erlangen. Jedoch sollte, da die 2n-Komponente durch einen Angreifer über V ausziehbar sein kann, die 2s-Komponente groß genug sein, um einen solchen Angriff unbrauchbar zu machen. Ebenso ist festzustellen, daß n den Bereich der V bestimmt und groß genug sein sollte, um unentdeckte Manipulation des Nachrichtinhaltes auszuschließen, wenn V von einer Kontrollfunktion einer Nachricht stammt.In the extreme case, assuming that the number of Y-sets was N-1, then the number of valid Y-values would be 2n(N-1). This would raise the probability that an entity producing a Y-value was authentic or that a message from the entity was authentic from 2n to 2n(N-1). For common N-values of 2⁵¹² < N < 2⁵¹³, then the degree of authenticity probability would be 2n 2⁵¹². This is not the case in practice, since the degree of available Y-values is N-1, which limits the probability to 1 : (N-1). Of course, since this degree of probability far exceeds any acceptable requirement, the number of Y-sets can be reduced significantly. If s is equal to the number of binary bits available to denote the record number, then the number of records would be 2s, giving an authenticity probability of 2n 2s or 2n+s. Note that n and s can in principle be varied in size to achieve the level of probable authenticity protection desired in the system. However, since the 2n component can be extended beyond V by an attacker, the 2s component should be large enough to render such an attack useless. Also note that n determines the range of V and should be large enough to preclude undetected manipulation of the message content if V originates from a control function of a message.

Bei einem solchen System ist es notwendig zu dem Authentifikator den Y-Satz zu übermitteln, der für eine besondere Y-Berechnung durch die zertifizierende Einheit verwendt wird. Wenn dies direkt als ein Verschiebungswert enthüllt wird, dann können die oben genannten Angriffe weiter durchgeführt werden, da eine Umkehrung des Verschiebungsprozesses den Originalgrundsatz der Y-Werte ergeben würde, und so durch Herausziehen den Grundsatz der Si-Werte. Folglich sollte der Verschiebungswert oder die Satzkennung in einer Weise vorgesehen werden, die gewöhnlich durch den Authentifikator zum Prüfen der Y, aber nicht zum Erstellen der Y, verwendbar ist.In such a system, it is necessary to transmit to the authenticator the Y-set, which is used for a special Y-calculation by the certifying unit is used. If this is revealed directly as a shift value, then the above attacks can still be carried out, since reversing the shift process would yield the original set of Y values, and so by extracting it, the set of Si values. Consequently, the shift value or set identifier should be provided in a way that is ordinarily usable by the authenticator for checking the Y, but not for creating the Y.

Zum Beispiel ist es möglich, in das Authentifikationsprotokoll einen festen Wert Fset einzuschließen, der für jede Y-Berechnung zu dem Authentifikator geleitet wird. Fset wird durch den Zertifizierer durch Auswählen einer Satzzahl Sset und die Berechnung vonFor example, it is possible to include in the authentication protocol a fixed value Fset that is passed to the authenticator for each Y calculation. Fset is determined by the certifier by selecting a set number Sset and calculating

Fset = Ssete (mod N)Fset = Sset (mod N)

erzeugt. Es ist festzustellen, daß Sset ohne Kenntnis von d nicht aus Fset bestimmt werden kann. Für die Einheitsauthentifikationgenerated. It should be noted that Sset cannot be determined from Fset without knowledge of d. For the unit authentication

(i) wählt die Einheit ein Sset(i) the unit selects a Sset

(ii) berechnet Fset = Ssete (mod N)(ii) calculate Fset = Ssete (mod N)

(iii) überträgt Fset zu der Echtheitsbestätigungsvorrichtung, die(iii) transmits Fset to the authentication device, which

(iv) einen V-Wert wählt und diesen Wert zu der Einheit übergibt, die (iv) selects a V value and passes this value to the unit that

(mod N) berechnet, das übertragen wird zu der Authentifikationsvorrichtung, die Y durch (mod N) is calculated, which is transmitted to the authentication device Y by

= Xact = Ye (mod N)= Xact = Ye (mod N)

prüft.checks.

Es ist festzustellen, daß, da F set eine Pseudozufallsverteilung innerhalb des Satzes 1, N-1 ist, von dem es nicht möglich ist Sset zu bestimmen, es dann nicht notwendig ist, Sset zufallsmäßig zu wählen. Der Schutz vor analytischen Angriffen kann lediglich durch Sicherstellung erhalten werden, daß Sset sich innerhalb einer Angriffssitzung nicht vorhersagbar wiederholt. Ein solches Verfahren, um dies zu erzielen, ist es, eine ansteigende Zählung für Y-Berechnungen laufen zu lassen und diesen Zählwert zu verwenden, um Sset auf den neuesten Stand zu bringen. Dieses Verfahren hat den weiteren Vorteil für den Einheitenerzeuger ein kryptologisches Testverfahren für Verlust- oder Dupliziernachrichten vorzusehen, die zu ihm von der Quelleinheit übertragen werden.It is to be noted that, since F set is a pseudorandom distribution within the set 1, N-1, of where it is not possible to determine Sset, then it is not necessary to choose Sset randomly. Protection against analytical attacks can be obtained merely by ensuring that Sset does not repeat predictably within an attack session. One such method of achieving this is to run an increasing count for Y calculations and use this count to update Sset. This method has the further advantage of providing the entity creator with a cryptographic test procedure for loss or duplication messages transmitted to it from the source entity.

Deshalb ist bei einem sechsten Ausführungsbeispiel der Erfindung zur Nachrichtzertifikation wobei Sset eine Funktion des Zählerwertes ist,Therefore, in a sixth embodiment of the invention for message certification where Sset is a function of the counter value,

SID = FIDd (mod N)SID = FIDd (mod N)

Si = Fid (mod N)Si = Fid (mod N)

Sp = Fpd (mod N) wahlweise eingeschlossen, wenn V gerade Parität aufweist,Sp = Fpd (mod N) optionally included if V has even parity,

und das Zertifikat Y über eine Nachricht berechnet wird, die FID, Fset darin enthält, wobei Fset = Ssete (mod N) ist.and the certificate Y is computed over a message containing FID, Fset therein, where Fset = Ssete (mod N).

Um die Sset -Zählerwerte zu erzeugen, kann ein Hardwarezähler in einer auf Authentizität zu prüfenden Smart Card oder Einheit vorgesehen werden, beispielsweise der Karte 30 in Fig. 2, oder in einer Nachrichtquelleinheit, beispielsweise der Nachrichtquelleinheit 30A in Fig. 3. Alternativ kann darin der Mikroprozessor 36 bzw. 36A programmiert werden, um eine Zählfunktion vorzusehen, die die Speicherbereiche in dem RAM-Speicher 38 oder 38A verwendet. Eine vergleichbare Vorrichtung kann verwendet werden, wenn ein spezifischer Erkennungsfaktor SID und ein damit verbundenes FID verwendet werden, wie oben unter Bezug auf das dritte Ausführungsbeispiel der Erfindung beschrieben wurde.To generate the Sset counter values, a hardware counter can be provided in a smart card or device to be authenticated, such as the card 30 in Fig. 2, or in a message source unit, such as the message source unit 30A in Fig. 3. Alternatively, the microprocessor 36 or 36A therein can be programmed to provide a counting function using the storage areas in the RAM memory 38 or 38A. A similar device can be used when a specific recognition factor SID and an associated FID are used, as described above with reference to the third embodiment of the invention.

In der eben in Erwägung gezogenen Vorrichtung wird das Protokoll durch die Einbeziehung von Fset vergrößert. Das ist für eine interaktive Einheitenauthentifikation durch lokal kommunizierende Vorrichtungen unwichtig, kann aber für Nachrichtzertifikation zu einer unannehmbaren Übergröße führen.In the device just considered, the protocol is increased by the inclusion of Fset. This is unimportant for interactive entity authentication by locally communicating devices, but may lead to unacceptable oversize for message certification.

Ein weiteres Verfahren pseudozufallsmäßiger Variation des Grundsatzes der Y-Werte, bei dem nichts nennenswert zu dem Protokoll hinzugefügt wird, ist es, vorberechnete Verschiebungswerte zu verwenden, deren Auswahl für die Echtheitsbestätigungsvorrichtung avisiert wird.Another method of pseudorandomly varying the principle of Y values, which does not add anything significant to the protocol, is to use pre-calculated displacement values, the selection of which is notified to the authenticator.

Bei einem siebten Ausführungsbeispiel der Erfindung wird V, das aus n Bits besteht, in zwei Teile Vs und Va aufgeteilt, wo Vs durch den Zertifizierer gewählt wird, und Va wie zuvor in der Echtheitsbestätigungsvorrichtung gewählt wird (oder durch den Nachrichtinhalt bestimmt wird). Die Anzahl der Bits in jedem von Vs und Va ist vorherbestimmt. Zum Beispiel kann, wo n = 32 ist, jedes der Vs und Va 16 Bits aufweisen. Die Bits von Vs werden zur Auswahl des Sset-Verschiebungswertes mit den Bits von Va verwendet, die genutzt werden, um die Sa- Werte auszuwählen. Es ist auch festzustellen, daß die Sset- Verschiebungswerte kombiniert werden können, um 2ns Verschiebungswerte zu erhalten, wobei ns die Anzahl der verfügbaren Grundverschiebungswerte ist.In a seventh embodiment of the invention, V, consisting of n bits, is divided into two parts Vs and Va, where Vs is chosen by the certifier and Va is chosen as before in the authenticator (or determined by the message content). The number of bits in each of Vs and Va is predetermined. For example, where n = 32, each of Vs and Va may have 16 bits. The bits of Vs are used to select the Sset shift value with the bits of Va used to select the Sa values. It is also noted that the Sset shift values may be combined to obtain 2ns shift values, where ns is the number of basic shift values available.

Deshalb ist beim siebten Ausführungsbeispiel Therefore, in the seventh embodiment

Xact = Ye (mod N), wie zuvor.Xact = Ye (mod N), as before.

Die Werte Ssi = Fsid (mod N) werden durch den Zertifizierer (Smart Card oder Kartenquelleinheit) gespeichert und in einer zu den Sai-Werten ähnlichen Art verwendet, jedoch durch den Zertifizierer pseudozufallsmäßig gewählt.The values Ssi = Fsid (mod N) are stored by the certifier (smart card or card source device) and used in a similar manner to the Sai values, but chosen pseudorandomly by the certifier.

Die Werte Fsi werden in der gleichen Art öffentlich verfügbar gemacht, wie die Fai-Werte.The Fsi values are made publicly available in the same way as the Fai values.

Bei diesem Ausführungsbeispiel würden die Vs anstatt von Fset in der zertifizierten Nachricht eingeschlossen (und für Va zerlegt).In this embodiment, the Vs would be included in the certified message instead of Fset (and decomposed for Va).

Deshalb ist für Nachrichtzertifikation, wo die spezifischen BestimmungsfaktorenTherefore, for message certification, where the specific determining factors

SID und FID verwendet werden,SID and FID are used,

M = Vs, FID, Nachricht.M = Vs, FID, message.

Wie bei dem zweiten Ausführungsbeispiel wird eine änderungssensitive Transformation H der zusammengesetzten Nachricht M gebildet und der Wert von Va davon abgeleitet. Die folgenden Berechnungen werden dann ausgeführt: As in the second embodiment, a change-sensitive transformation H of the composite message M is formed and the value of Va is derived therefrom. The following calculations are then carried out:

Aus dem obigen ist es ersichtlich, daß die Authentizität eines besonderen Y-Wertes wie zuvor 1 : N ist. Die Authentizität der den Y-Wert produzierenden Einheit (Einheitenfälschung) wird durch die Anzahl der Bits in Vs und Va bestimmt und ist deshalb 1 : 2ns+na.From the above it is evident that the authenticity of a particular Y-value is, as before, 1 : N. The authenticity of the unit producing the Y-value (unit counterfeit) is determined by the number of bits in Vs and Va and is therefore 1 : 2ns+na.

Claims (22)

1. Verfahren zum Herstellen einer Einheit (30, 30A) mit den Schritten:1. Method for producing a unit (30, 30A) with the steps: (a) Auswählen eines Modul N, der ein Produkt von zumindest zwei Primzahlen ist;(a) selecting a modulus N that is a product of at least two prime numbers; (b) Auswählen einer ganzen Zahl e als eine relative primzahl bezüglich &phi;(N), wobei &phi;(N) die Eulersche Totientenfunktion von N ist; und(b) selecting an integer e as a relative prime with respect to φ(N), where φ(N) is the Eulerian totient function of N; and (c) Bestimmen einer ganzen Zahl d derart, daß e.d = 1 (mod &phi;(N)), gekennzeichnet durch die Schritte:(c) determining an integer d such that e.d = 1 (mod φ(N)), characterized by the steps: (d) Auswählen einer Gruppe von n von publiken Faktoren(d) Selecting a set of n public factors F&sub1;, ..., Fn (0< Fi< N); n&ge;2;F₁, ..., Fn (0< Fi< N); n&ge;2; (e) Berechnen von Si = Sid (mod N) für i=1, ..., n; und(e) Calculate Si = Sid (mod N) for i=1, ..., n; and (f) Speichern von n Werten Si (i=1, ..., n) und des Wertes N in der Einheit.(f) Storing n values Si (i=1, ..., n) and the value N in the unit. 2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die n Werte Si in einem programmierbaren Nur-Lesen-Speicher (PROM) (42, 42A, 42B) gespeichert werden, der in der Einheit (30, 30A) enthalten ist.2. Method according to claim 1, characterized in that the n values Si are stored in a programmable read-only memory (PROM) (42, 42A, 42B) contained in the unit (30, 30A). 3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß die Einheit (30, 30A) Verarbeitungsvorrichtungen (36, 36A) und Eingangs-/Ausgangsvorrichtungen (44, 44A) enthält.3. Method according to claim 2, characterized in that the unit (30, 30A) contains processing devices (36, 36A) and input/output devices (44, 44A). 4. Verfahren nach Anspruch 1, gekennzeichnet durch die Schritte:4. Method according to claim 1, characterized by the steps: (g) Zuordnen eines publiken Faktors FID spezifisch für die Einheit;(g) Assigning a public factor FID specific to the unit; (h) Berechnen von SID = FIDd (mod N); und(h) Calculate SID = FIDd (mod N); and (i) Speichern des Wertes SID in der Einheit.(i) Store the SID value in the unit. 5. Verfahren zur Echtheitsbestätigung einer Einheit (30, 30A) hergestell nach einem der Ansprüche 1 bis 4, gekennzeichnet durch die Schritte:5. Method for authenticating a unit (30, 30A) manufactured according to one of claims 1 to 4, characterized by the steps: (j) Herstellen einer Kommunikation der Einheit (30, 30A) mit einer Echtheitsbestätigungsvorrichtung (32, 32A);(j) Establishing communication of the unit (30, 30A) with an authenticity confirmation device (32, 32A); (k) Erzeugen eines n-Bit-Binärstrings V = Vi (i=1, ..., n) in der Echtheitsbestätigungsvorrichtung (32, 32A);(k) generating an n-bit binary string V = Vi (i=1, ..., n) in the authentication device (32, 32A); (l) Übertragen des Binärstrings V zu der Einheit (30, 30A); (m) Berechnen von (l) Transferring the binary string V to the unit (30, 30A); (m) Calculating (n) Übertragen von Y in die Echtheitsbestätigungsvorrichtung (32, 32A);(n) transmitting Y into the authentication device (32, 32A); (o) Berechnen von (o) Calculating Xact = Ye (mod N) in derXact = Ye (mod N) in the Echtheitsbestätigungsvorrichtung; undAuthentication device; and (p) Vergleichen von Xref und Xact.(p) Comparing Xref and Xact. 6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß die Echtheitsbestätigungsvorrichtung (32, 32A) Speichervorrichtungen (52, 52A) enthält, die geeignet sind, die publiken Faktoren F&sub1;, .., Fn und die Werte von N und e zu speichern.6. Method according to claim 5, characterized in that the authentication device (32, 32A) includes storage devices (52, 52A) suitable for storing the public factors F₁, .., Fn and the values of N and e. 7 Verfahren nach Anspruch 6, gekennzeichnet durch den Schritt Wiederholen der Schritte (k) bis (p) eine Vielzahl von Malen unter Verwendung von Zufallswerten von V.7 A method according to claim 6, characterized by the step of repeating steps (k) to (p) a plurality of times using random values of V. 8. Verfahren zum Bestätigen einer Nachricht M, die durch eine nach einem der Ansprüche 1 bis 4 hergestellten Einheit (30, 30A) erzeugt oder einer solchen dargeboten wird, gekennzeichnet durch die Schritte:8. Method for confirming a message M generated by or presented to a unit (30, 30A) manufactured according to one of claims 1 to 4, characterized by the steps: (q) Berechnen einer änderungssensitiven Transformation H der Nachricht M;(q) computing a change-sensitive transformation H of the message M; (r) Erzeugen eines n-Bit-Binärstrings V = vi (i=1, ..., n) unter Verwendung des berechneten Wertes von H;(r) Generate an n-bit binary string V = vi (i=1, ..., n) using the calculated value of H; (s) Berechnen von (s) Calculating (t) Anhängen von Y als ein Nachricht- Echtheitsbestätigungscode (MAC) für die Nachricht M.(t) appending Y as a message authentication code (MAC) for the message M. 9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, daß der Schritt (q), Berechnen der änderungssensitiven Transformation H durchgeführt wird durch Berechnen von H = Me (mod N).9. Method according to claim 8, characterized in that the step (q), calculating the change-sensitive transformation H is carried out by calculating H = Me (mod N). 10. Verfahren nach Anspruch 8 oder 9, dadurch gekennzeichnet, daß der Schritt (r), Erzeugen eines n-Bit-Binärstrings V, ausgeführt- wird durch die Schritte:10. Method according to claim 8 or 9, characterized in that the step (r), generating an n-bit binary string V, is carried out by the steps: (u) Umwandeln von H in einen Binärwert J;(u) converting H into a binary value J; (v) Segmentieren von J in Teilfelder der Länge n; und(v) segmenting J into subfields of length n; and (w) Zusammenaddieren der einzelnen Teilfelder Modulo 2, um den n-Bit-Binärstring V zu bilden.(w) Adding the individual subfields together modulo 2 to form the n-bit binary string V. 11. Verfahren nach einem der Ansprüche 5 bis 10, dadurch gekennzeichnet, daß im Schritt (m) und im Schritt (s) der Wert von Y berechnet wird nach der Formel 11. Method according to one of claims 5 to 10, characterized in that in step (m) and in step (s) the value of Y is calculated according to the formula wobei Sset in der Einheit (30, 30A) ausgewählt wird durch die Schrittewhere Sset is selected in the unit (30, 30A) by the steps (x) Berechnen von Fset = Ssete (mod N) in der Einheit (30, 30A) und(x) Calculate Fset = Ssete (mod N) in the unit (30, 30A) and (y) Übertragen von F set in die Echtheitsbestätigungsvorrichtung (32, 32A);(y) transmitting F set to the authentication device (32, 32A); und daß im Schritt (o) der Wert von Xref berechnet wird nach der Formel and that in step (o) the value of Xref is calculated according to the formula 12. Verfahren nach Anspruch 11, dadurch gekennzeichnet, daß Sset gemäß einem Zählwert ausgewählt wird, der für jede Y- Berechnung erhoht wird.12. The method of claim 11, characterized in that Sset is selected according to a count value that is incremented for each Y calculation. 13. Verfahren nach Anspruch 12, dadurch gekennzeichnet, daß Sset bestimmt wird durch Berechnen eines Produktes in der Einheit (30, 30A), das einschließt eine Auswahl eines Satzes Ssi der Faktoren Si, wobei die Auswahl erfolgt gemäß einem in der Einheit (30, 30A) erzeugten Binärstring Vs= vsi, wobei der Wert von Y berechnet wird nach der Formel 13. Method according to claim 12, characterized in that Sset is determined by calculating a product in the Unit (30, 30A) including a selection of a set Ssi of factors Si, the selection being made according to a binary string Vs= vsi generated in the unit (30, 30A), the value of Y being calculated according to the formula mit vai-Werten entsprechend den Bits der in der Echtheitsbestätigungsvorrichtung (32, 32A) erzeugten n-Bit- Binärstrings;with vai values corresponding to the bits of the n-bit binary strings generated in the authentication device (32, 32A); durch den Schritt:by the step: (z) übertragen von Vs zu der Echtheitsbestätigungsvorrichtung (31, 32A), und daß der Wert Xref in der Echtheitsbestätigungsvorrichtung (32, 32A) berechnet wird nach der Formel (z) transmitted from Vs to the authenticating device (31, 32A), and that the value Xref in the authenticating device (32, 32A) is calculated according to the formula 14. Verfahren nach einem der Ansprüche 5 bis 13, dadurch gekennzeichnet, daß im Schritt (m) und im Schritt (s) der Wert von Y unter selektiver Verwendung eines zusätzlichen vorbestimmten Faktors Sp derart berechnet wird, daß die Gesamtzahl der in der Berechnung von Y eingeschlossenen Faktoren gerade ist, und daß im Schritt (o) der Wert von Xref unter selektiver Verwendung eines zusätzlichen Faktors Fp entsprechend berechnet wird, wcbei Sp = Fpd.14. Method according to one of claims 5 to 13, characterized in that in step (m) and in step (s) the value of Y is calculated using selectively an additional predetermined factor Sp such that the total number of factors included in the calculation of Y is even, and in step (o) the value of Xref is calculated using selectively an additional factor Fp accordingly, wcbei Sp = Fpd. 15. Eine Einheit (30, 30A), die Verarbeitungsvorrichtungen (36, 36A), Eingangs-/Ausgangsvorrichtungen (44, 44A) und Speichervorrichtungen (42, 42A, 42B) aufweist, dadurch gekennzeichnet, daß die Speichervorrichtungen (42, 42A, 42B) ein Modul N speichern, das das Produkt von zumindest zwei Primzahlen ist, und eine Gruppe von n&ge; 2 Faktoren Si (i=1, ..., n), wobei15. A unit (30, 30A) comprising processing devices (36, 36A), input/output devices (44, 44A) and storage devices (42, 42A, 42B), characterized in that the storage devices (42, 42A, 42B) store a module N which is the product of at least two prime numbers and a group of n≥ 2 factors Si (i=1, ..., n), where i = Fid (mod N),i = Fid (mod N), wobei d das geheime Schlüsselgegenstück eines publiken Schlüssels e ist, der dem Modul N zugeordnet ist, und Fi (i=1, ..., n) n publike Faktoren sind, mit 0< Fi< N und daß die Verarbeitungsvorrichtungen (36, 36A) geeignet sind, where d is the secret key counterpart of a public key e associated with the module N, and Fi (i=1, ..., n) n are public factors, with 0<Fi< N and that the processing devices (36, 36A) are suitable zu berechnen, wobei V = Vi einen n-Bit-Binärstring darstellt.where V = Vi represents an n-bit binary string. 16. Eine Einheit nach Anspruch 15, dadurch gekennzeichnet, daß die Speichervorrichtungen (42A, 42B) ferner geeignet sind, den Wert des publiken Schlüssels e zu speichern und daß die Verarbeitungsvorrichtungen ferner geeignet sind,16. A unit according to claim 15, characterized in that the storage devices (42A, 42B) are further adapted to store the value of the public key e and that the processing devices are further adapted to H = Me (mod N) zu berechnen, wobei M eine durch die Einheit (30, 30A) zu übertragende Nachricht ist, H in einen binären n-Bit-Vektor V umzuwandeln, und H = Me (mod N), where M is a message to be transmitted by the unit (30, 30A), converting H into a binary n-bit vector V, and unter Verwendung der Bits vi des berechneten Vektors V zu berechnen, und daß die Eingangs-/Ausgangsvorrichtungen (44, 44A) geeignet sind, Y als einen Nachricht- Echtheitsbestätigungscode (MAC) zu übertragen, der der Nachricht zugeordnet ist.using the bits vi of the calculated vector V, and that the input/output devices (44, 44A) are adapted to transmit Y as a message authentication code (MAC) associated with the message. 17. Eine Einheit nach Anspruch 15 oder 16, dadurch gekennzeichnet, daß die Speichervorrichtung (42B) einen publiken Faktor FID speichert, der spezifisch für die Einheit ist, sowie einen Wert SID mit17. A unit according to claim 15 or 16, characterized in that the storage device (42B) stores a public factor FID which is specific to the unit and a value SID with SID = FIDd (mod N).SID = FIDd (mod N). 18. Eine Einheit nach einem der Ansprüche 15 bis 17, dadurch gekennzeichnet, daß der Wert von Y einen zusätzlichen Faktor Sset enthält, der abhängig ist von einem Zählwert, der für jede Y-Berechnung erhöht wird.18. A unit according to any one of claims 15 to 17, characterized in that the value of Y includes an additional factor Sset which is dependent on a count value which is incremented for each Y calculation. 19. Eine Einheit nach einem der Ansprüche 15 bis 18, dadurch gekennzeichnet, daß die Speichervorrichtungen (42, 42A, 42B) einen zusätzlichen Paritätsfaktor Sp speichern und daß die Verarbeitungsvorrichtung (36, 36A) geeignet ist, den Wert von Y durch selektives Einschließen des zusätzlichen paritätsfaktors Sp in den Ausdruck für Y derart zu berechnen, daß die Gesamtzahl von in der Berechnung von Y enthaltenen Faktoren gerade ist.19. A unit according to any one of claims 15 to 18, characterized in that the storage means (42, 42A, 42B) store an additional parity factor Sp and that the processing device (36, 36A) is adapted to calculate the value of Y by selectively including the additional parity factor Sp in the expression for Y such that the total number of factors included in the calculation of Y is even. 20. Eine Echtheitsbestätigungsvorrichtung (32, 32A) zur Verwendung mit einer Einheit (30, 30A) nach einem der Ansprüche 15 bis 19, mit weiteren Verarbeitungsvorrichtungen (50, 50A), weiteren Eingangs-/Ausgangsvorrichtungen (64, 64A) und weiteren Speichervorrichtungen (52, 52A), dadurch gekennzeichnet, daß die weiteren Speichervorrichtungen (52, 52A) n&ge;2 publike Faktoren Fi (i=1, ..., n), das Modul N und den publiken Schlüssel e speichern, und wobei die weiteren Verarbeitungsvorrichtungen (50, 50A) geeignet sind, unter Verwendung der gespeicherten Werte von Fi, N und e 20. An authentication device (32, 32A) for use with a unit (30, 30A) according to any one of claims 15 to 19, comprising further processing devices (50, 50A), further input/output devices (64, 64A) and further storage devices (52, 52A), characterized in that the further storage devices (52, 52A) store n≥2 public factors Fi (i=1, ..., n), the modulus N and the public key e, and wherein the further processing devices (50, 50A) are adapted to use the stored values of Fi, N and e Xref = Ye (mod N)Xref = Ye (mod N) zu berechnen und Xref mit Xact zu vergleichen.and compare Xref with Xact. 21. Echtheitsbestätigungsvorrichtung nach Anspruch 20 zur Verwendung mit einer Einheit nach Anspruch 17, dadurch gekennzeichnet, daß die weiteren Verarbeitungsvorrichtungen geeignet sind, 21. Authentication device according to claim 20 for use with a unit according to claim 17, characterized in that the further processing devices are suitable zu berechnen.to calculate. 22. Eine Einheit nach einem der Ansprüche 15 bis 19, dadurch gekennzeichnet, daß die Einheit eine Echtheitsbestätigungsvorrichtung nach Anspruch 20 oder Anspruch 21 enthält.22. A unit according to any one of claims 15 to 19, characterized in that the unit contains an authenticating device according to claim 20 or claim 21.
DE1989604540 1988-05-19 1989-05-04 METHOD AND DEVICE FOR CERTIFICATION. Expired - Fee Related DE68904540T2 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
GB888811816A GB8811816D0 (en) 1988-05-19 1988-05-19 Method & device for authentication
GB898906496A GB8906496D0 (en) 1989-03-21 1989-03-21 Method and device for authentication
US33178889A 1989-04-03 1989-04-03
PCT/US1989/001944 WO1989011706A1 (en) 1988-05-19 1989-05-04 Method and device for authentication

Publications (2)

Publication Number Publication Date
DE68904540D1 DE68904540D1 (en) 1993-03-04
DE68904540T2 true DE68904540T2 (en) 1993-08-26

Family

ID=27450103

Family Applications (2)

Application Number Title Priority Date Filing Date
DE1989604540 Expired - Fee Related DE68904540T2 (en) 1988-05-19 1989-05-04 METHOD AND DEVICE FOR CERTIFICATION.
DE1989905925 Pending DE374225T1 (en) 1988-05-19 1989-05-04 METHOD AND DEVICE FOR CERTIFICATION.

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE1989905925 Pending DE374225T1 (en) 1988-05-19 1989-05-04 METHOD AND DEVICE FOR CERTIFICATION.

Country Status (1)

Country Link
DE (2) DE68904540T2 (en)

Also Published As

Publication number Publication date
DE68904540D1 (en) 1993-03-04
DE374225T1 (en) 1991-02-07

Similar Documents

Publication Publication Date Title
DE3685987T2 (en) METHOD FOR REDUCING THE VARIABLE STORAGE CAPACITY REQUIRED FOR RSA ENCRYPTION.
DE69009274T2 (en) Method and device for displaying electronic money.
DE3485804T2 (en) SYSTEMS FOR BLIND SIGNATURE.
DE69434703T2 (en) Method of generating DSA signatures with low-cost portable units
DE19804054B4 (en) System for verification of data cards
DE60023705T2 (en) SECURE DISTRIBUTION AND PROTECTION OF KEY INFORMATION
DE69630738T2 (en) Method and device for an electronic money system with origin detection
CA1321649C (en) Method and system for authentication
DE69633217T2 (en) A method of implementing electronic money using an anonymous public key license
DE60021183T2 (en) HIGH-SECURITY BIOMETRIC AUTHENTICATION BY PRIVATE AND PUBLIC KEY PAIRS
DE3782099T2 (en) METHOD, DEVICE AND DEVICE FOR IDENTIFYING AND SIGNING.
DE69224238T2 (en) Secret transmission procedures for identity verification
DE69617941T2 (en) METHOD AND DEVICE FOR AUTHENTICATING THE ORIGIN OF A MESSAGE
EP1214812B1 (en) Method of data protection
DE69022424T2 (en) Non-rejection in computer networks.
DE2843583C2 (en) Method for access-secure message traffic over an unsecured message transmission channel
DE69830902T2 (en) ZWEIWEG AUTHENTICATION PROTOCOL
DE102012206341B4 (en) Joint encryption of data
EP2340502B1 (en) Data processing system for providing authorization keys
EP1368929B1 (en) Authentication method
CH711133B1 (en) Protocol for signature generation
EP3899844A1 (en) Method for generating a blind signature
EP3671602B1 (en) Method for direct exchange of a coin data set between security elements
EP0374225B1 (en) Method and device for authentication
WO2022233454A1 (en) Method for registering an electronic coin data set in a coin register; a coin register; a subscriber unit and a computer program product

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: AT&T GLOBAL INFORMATION SOLUTIONS INTERNATIONAL IN

8327 Change in the person/name/address of the patent owner

Owner name: NCR INTERNATIONAL, INC. (N.D.GES.D.STAATES DELAWAR

8328 Change in the person/name/address of the agent

Free format text: V. BEZOLD & SOZIEN, 80799 MUENCHEN

8320 Willingness to grant licences declared (paragraph 23)
8339 Ceased/non-payment of the annual fee