WO2002019613A1 - Procede de generation de signatures non-repudiables, notamment par un systeme embarque, et systeme embarque pour la mise en oeuvre du procede - Google Patents
Procede de generation de signatures non-repudiables, notamment par un systeme embarque, et systeme embarque pour la mise en oeuvre du procede Download PDFInfo
- Publication number
- WO2002019613A1 WO2002019613A1 PCT/FR2001/002720 FR0102720W WO0219613A1 WO 2002019613 A1 WO2002019613 A1 WO 2002019613A1 FR 0102720 W FR0102720 W FR 0102720W WO 0219613 A1 WO0219613 A1 WO 0219613A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- signature
- keys
- entity
- key
- diversified
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
- G07F7/10—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
- G07F7/1008—Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
- G06Q20/341—Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/409—Device specific authentication in transaction processing
- G06Q20/4097—Device specific authentication in transaction processing using mutual authentication between devices and transaction partners
- G06Q20/40975—Device specific authentication in transaction processing using mutual authentication between devices and transaction partners using encryption therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
Definitions
- the invention relates to a method for generating non-repudable signatures, in particular by an on-board system with an electronic chip.
- the invention also relates to an on-board system for implementing the method, in particular a smart card.
- the term "on-board system” must be understood in its most general sense. It relates in particular to all kinds of light terminals provided with an electronic chip, and more particularly to the smart cards themselves.
- the electronic chip is provided with means for recording and processing digital data, for example a microprocessor for these latter means.
- the electronic signature is a binary sequence usually obtained by encryption of the message transmitted using a particular cryptology algorithm and signature keys. It should be understood, however, that the message itself can be transmitted in clear if there are no specific confidentiality needs. This is a technique called "sealing".
- the message and the signature are transmitted to the recipient, possibly accompanied by elements of encryption or verification keys in certain cryptographic processes implementing a so-called public key.
- the recipient uses the signature and the message transmitted using the same algorithm and the aforementioned public key, which allows him to verify the authenticity of the sender's signature. Incidentally, the process guarantees the integrity of the message transmitted. Indeed, if it were to be accidentally or maliciously corrupted, the decryption makes it possible to highlight this dysfunction.
- an “electronic signature” is defined as follows: “data in electronic form, which is attached or logically linked to other electronic data and which serves as an authentication method”.
- the invention relates more particularly to the second type of electronic signature. To do this, it is necessary to have recourse to secure devices, implementing a data encryption (signature) process, so-called “qualified” certificates and an authority, called “certification service provider” in the directive. , which will be called hereinafter "certification authority”.
- the certification authority notably generates a public key used in the aforementioned process by smart cards.
- asymmetric cryptographic methods must be used. According to these methods, a private, that is to say secret, signature key is held by the signatory, and a public signature verification key. In reality, in smart card-based applications, the private key is stored in a non-volatile memory area of the signatory's smart cards, memory type "ROM”, "EEPROM” or equivalent.
- Asymmetric cryptographic processes are deemed to be non-repudable because the signature verifier, due to the characteristics inherent in these processes, does not know how to sign.
- asymmetric cryptography requires significant IT resources, at least compared to those usually offered by an electronic chip. It is in particular necessary to provide an arithmetic co-processor to carry out the encryption / decryption calculations.
- the invention aims to overcome the drawbacks of the methods and devices of the known art, some of which have just been mentioned, while satisfying the needs which are felt.
- the object of the invention is to provide a method for generating non-repudable signatures, specially adapted to applications using light terminals such as on-board electronic chip systems, and more particularly chip cards, one of the characteristics of which is offer limited IT resources.
- the method according to the invention associates symmetric cryptography with asymmetric static cryptography, it being understood that the operations implementing this latter method are not carried out in the on-board terminal. he It follows that it is not necessary to provide it with increased computing power, in particular to install a mathematical co-processor.
- the method comprises a preliminary phase comprising the following main steps:
- All smart cards are provided with two pairs of so-called "mother” signature keys, the two pairs of keys being identical for all smart cards.
- Each smart card also receives two diversified w keys specific to each smart card, calculated from these pairs of "mother” keys and an identifier specific to the smart card in question (and / or any other information identifying the carrier) and contained therein.
- the calculation of the diversified keys is carried out by using a symmetric cryptographic method, preferably, but not exclusively, by using the so-called “triple DES” method.
- the identifier (and possibly other information) of the smart card is (are) certified by a private (ie secret) key held by an authority known as "certification" .
- This certificate is (are) certified by a private (ie secret) key held by an authority known as "certification" .
- the certificate is calculated by using an asymmetric type of cryptography process, preferably the so-called "RSA” process mentioned above. It should however be understood that the necessary calculations are
- the certification authority which can have powerful IT resources and not by smart card. More specifically, the certificate is calculated from the identification data of the smart card and / or of its holder using a private key, the latter being the property of the certification authority.
- this preliminary phase is usually carried out during the so-called "personalization" operation of smart cards.
- the public certification key is available for the control of certificates by the certification authority and for the control by each of the owners of a signature instrument. It can be, in a first variant, all users with a smart card, or, in a second variant, only users belonging to the same group. In the latter case, the user population is split into at least two distinct groups.
- the subsequent steps include at least the generation of a signature when a message or more generally of an electronic document is sent by one of the smart card owners. , which we will call signatory.
- the signature is calculated by encrypting the data to be transmitted using the aforementioned diversified keys, using a symmetric cryptographic algorithm, preferably the triple "DES" as indicated above. Reconstitution and verification of the signature is carried out by an operation identical to encryption, by one or more recipients, using the diversified keys of the signatory, reconstituted by the recipient (s), and using the same symmetric algorithm. .
- the signatory also transmits his certificate and the identification data used to calculate it in step 3.) of the preliminary phase. This certificate is verified by the recipient (s) using the aforementioned public key.
- An asymmetric algorithm is used.
- the necessary calculations can be carried out by a host terminal of the smart card. According to a second embodiment of the method according to the invention, it also includes most of the steps of the preliminary phase.
- one of the two diversified keys is obtained from one of the two pairs of "master" keys and identification data of a recipient, and no longer of the sender as in the first variant. According to this variant, only this recipient is then able to verify the signature of the issuer. With this exception, the verification is carried out in the same manner as above.
- all the smart cards have the two pairs of mother keys, which can be weak from a security point of view.
- a pair of diversified keys is added to each of the smart cards resulting from the diversification of two pairs of authentication keys belonging to the certification authority. This operation is carried out during an additional stage of the preliminary phase.
- the keys of each smart card are calculated using a symmetric algorithm and an identifier specific to this smart card.
- the symmetric algorithm is preferably a triple "DES”.
- the smart card From the diversified keys resident in the smart card and the previously generated signature, using a symmetric algorithm, the smart card generates additional data which will be called hereinafter "signature authentication data" .
- signature authentication data This data is also transmitted to the recipient (s). This (these) last (s) little (come) submit them to the certification authority which can in turn authenticate them by return.
- a signature generation counter used to secure the generation of signatures and ensure traceability, for example to detect different signatures bearing the same number.
- the meters are also resident in smart cards and can optionally be used for the initialization of any data signature.
- the main object of the invention is therefore a method of generating a signature which cannot be repudiated by a first entity of a set, in particular by an on-board system with an electronic chip comprising at least non-volatile memory means and calculation means, said signature being intended to be disseminated and verified by at least one of said entities of the set, characterized in that it comprises a preliminary phase comprising at least the following steps: the storage in said non-volatile memory means of two pairs of so-called "mother” signature keys, common to all of said entities; generation, from at least one of said pairs of "mother” signature keys and a unique identifier, specific to said first entity, of a first so-called "diversified” signature key, by application of an algorithm symmetric cryptography and the storage of said diversified key in said non-volatile memory means; storing said unique identifier in said non-volatile memory means; the generation by an additional entity called "certification authority" of a certificate constituting an authorization to sign for said first entity, said certificate being obtained from at least
- the invention also relates to an on-board electronic chip system for implementing this method, in particular a smart card.
- FIG. 1 schematically illustrates the architecture of a smart card for generating a non-repudiable signature according to the invention
- FIG. 2 schematically illustrates the generation of a so-called diversified signature key for the smart card of FIG. 1 from a pair of so-called "mother" signature keys and an identifier of the smart card;
- FIG. 3 schematically illustrates the process for generating a non-repudiable signature according to a first embodiment of the method according to the invention;
- FIG. 4 schematically illustrates the process of generating so-called signature authentication keys by an entity called the certification authority;
- FIG. 5 schematically illustrates the process for generating a non-repudiable signature according to a second embodiment of the method according to the invention;
- FIG. 6 illustrates the process of generating so-called authentication data from the aforementioned authentication keys and signature;
- - Figure 7 schematically illustrates the different data transmitted by a signatory smart card;
- FIG. 8 schematically illustrates the step of verifying a signature generated according to the first mode of generation of non-repuditable signatures;
- FIG. 9 schematically illustrates the step of verifying a signature generated according to the second mode of generation of non-repudable signatures.
- FIG. 10 schematically illustrates the authentication process by the aforementioned certification authority of a signature generated by a smart card.
- FIG. 1 schematically illustrates the architecture of a smart card CP dripi being an arbitrary index identifying one of the smart cards of a set of n smart cards CPi to CP n (not shown).
- CPi a smart card
- CP n a set of n smart cards
- CP n a smart card
- FIG. 1 schematically illustrates the architecture of a smart card CP dripi being an arbitrary index identifying one of the smart cards of a set of n smart cards CPi to CP n (not shown).
- M non-volatile memory
- ROM Read-OnlyMemory
- EEPROM Electrical Erasable Programmable Read Only Memory
- , M 2 , M 4 and ⁇ are recorded in predetermined memory positions, respectively in the example.
- MKS ⁇ and MKS ⁇ are recorded in predetermined memory positions, respectively in the example.
- MKS ⁇ and MKS ⁇ are recorded in predetermined memory positions, respectively in the example.
- MKS ⁇ and MKS ⁇ are recorded in predetermined memory positions, respectively in the example.
- MS 22 is recorded in predetermined memory positions, respectively in the example.
- These "mother” keys are common to all smart cards, CP-i to CP n .
- a user Uj that is to say the holder of the chip card CP h, signs a message or transmitted data. All other users can verify this signature.
- FIG 2 schematically illustrates the calculation of the dKS ⁇ key.
- the triple “DES”, referenced 1 comprises three stages in cascade 10 to 12. For example, stages 10 and 12 carry out a "DES” called “direct”.
- the signature key used for these two stages is, again in the example, the key S 11 .
- the intermediate stage 11 performs a so-called reverse "DES", which will be denoted "DES '1 ".
- the signature key used for this stage is the key ⁇ - S 1 2.
- an identification data ID is injected, - from the chip card CPj and / or from its bearer U, - ( figure 1).
- This identification data ID, - can be unique or from several separate data, for example concatenated, with possibly filling data to obtain a binary word of predetermined length.
- FIG. 1 two sources of identification data have been shown, denoted Info and Div (number of the smart card CP h, etc.). These data are also resident in the smart card CP, - and, in the example illustrated, recorded in the positions M 7 and M 8 of the memory M.
- stage 10 The output of stage 10 is transmitted to the entrance of stage 11 and the output of stage 11 is transmitted to the entrance of stage 12. Finally, at the exit of stage 12, we obtain the diversified key dKS ⁇ , specific to the chip card CP / , diversified key recorded in the memory position M 3 as indicated.
- the calculations are carried out in a secure environment, for example by an entity that will be called "the inserter", outside of the chip card CP ,.
- Module 1 for the implementation of "T-DES” can either be of the "hardware” type (specialized circuits) or use software.
- the dKS 2 (i ) key is obtained identically and there is no need to rewrite the process.
- a CTA certificate is calculated by a so-called CA certification authority.
- this last entity CA implements, according to one aspect of the method according to the invention, an asymmetric algorithm, referenced 2, preferably the aforementioned "RSA" algorithm.
- Identification data ID, of the smart card CP are encrypted using a private key, property of the certification authority CA, which will be noted KA.
- the result of the encryption operation that is to say the CTA certificate, is recorded in the memory position M 9 .
- the CA certification authority also distributes a public signature verification key, associated with the private key K A and which will be called Kp below, to all the smart cards. It has been assumed, up to this point in the description, that all the users U, - possessors of a chip card CP, were part of a single group, and therefore that the public key Kp was set to available to all these users U, -. According to another variant of the embodiment of the method, it is possible to divide all of these users into at least two groups (not shown). Each group will therefore have at its disposal a public key distinct from that of the other groups: C p1 , Kpz, ..., K pm , if we assume that m is the number of distinct groups.
- FIG. 3 schematically illustrates the generation of a signature, referenced SIGNj, by the smart card CP ,.
- the bearer U, - of the card CP, - wants to send a message MSG which must be signed.
- the message MSG produced by known data processing means, for example the host terminal T of the smart card CP •is transmitted at the input of a" T-DES ", referenced 3, or any other similar symmetric algorithm.
- the MSG message can be subjected beforehand to a so-called “hashing” operation.
- the logical architecture of this "T-DES" 3 is identical or at least quite similar to that described with regard to FIG. 2.
- the key used for the direct “DES” stages is, for example, the key and the key used for the stage “DES “ 1 "is the key dKS 2 ( i ) . Since it is a symmetric algorithm, it is not necessary to have powerful means of calculation. the signature can therefore advantageously be carried out inside the chip card CP bathusing the standard calculation means at its disposal (not shown). It follows that, although for reasons of clarity in the drawing, the calculation means 3 have been shown in the figure on the outside of the chip card CP, -, it should be understood that they are preferably installed in the electronic chip thereof. these are not usually specific circuits, but it is preferable to calculate the signature SIGN, using software, stored in memory M, cooperating with the abovementioned standard calculation means.
- FIG 4 schematically illustrates the process of generating additional diversified keys, dKSA ⁇ and dKSA2
- the so-called “signature authentication key pairs", MKSA and MKSA ⁇ , MKSA21 and MKSA22, respectively, are passed to the key entries modules implementing a symmetric algorithm, preferably a "T-DES", denoted l 'and 1 ".
- an identifier ID is injected, - characterizing the smart card CP.
- the process of calculating the keys dKSA ⁇ and dKSA 2 ⁇ i) is identical, or at the very least similar fact to that (figure 2: 1) used to calculate the diversified keys dKS ⁇ and dKS ⁇ ⁇ .
- the calculation is carried out during a preliminary phase, in a secure environment, for example during the phase called "personalization" of the smart card CP ,.
- the results w of the calculations that is to say the signature authentication keys dKSA ⁇ and dKSA 2 ( i ) , are also recorded in the memory M of the smart card, in the positions / W- ⁇ 0 and Mu (see also Figure 1).
- a signature generation counter 4 is advantageously provided, the output of which is denoted CGS.
- Counter 4 is used to secure the 0 generation of signatures and to ensure traceability (different signatures with the same number). If we refer again to Figure 3, we see that the CGS output is transmitted to the data input of "T-DES" 3. In practical terms, it is a binary word which can be concatenated with the message to sign MSG. This counter 4 is also installed in the
- 25 smart card CPj and optionally serves to initialize any signature of data. It may be a hardware component, for example belonging to the circuits of the calculation means of the electronic chip of the chip card CPj. Counting (word CGS) can also be obtained by software means.
- one of the diversified keys for example the key, now referenced dKS ' 2 (j)
- dKS ' 2 (j) is obtained using data from diversification of another smart card, of the group to which the smart card CPj belongs if there are several distinct groups, for example the identification data ID j of the smart card CPj, and not from the data of identification IDj of the signatory smart card CPj.
- the other phases and stages are identical to those which have been described for the first embodiment. It is therefore unnecessary to re-describe them in full.
- this embodiment is compatible with the use of signature authentication keys, dKSA ⁇ and dKSA 2 ⁇ , and with the use of a signature generation counter 4 producing the word CGS.
- the diversified signature key dKS ′ 2 (j) is calculated from the pair of “mother” signature keys MKS ⁇ i and MKS 22 , as before, but using the identifier ID j from the card to CPj chip, identifier recorded in one or more positions of the memory M 'thereof, in a similar manner to the identifier IDj for the chip card CPj.
- the calculation of the signature key is accomplished by use of a "T-DES", referenced 3 ', receiving on these key inputs, key mothers ⁇ i MKS and MKS 22, and in data entry, the aforementioned IDj identifier.
- the output represents the diversified signing key dKS ' 2 (i).
- SIGN'j the process implemented is identical to that of calculating the signature SIGNj in FIG. 3.
- SIGN'j the process implemented is identical to that of calculating the signature SIGNj in FIG. 3.
- an algorithm symmetrical, preferably the "T-DES" algorithm (module 3) except for the fact that the key dKS ' 2 (j) is calculated differently, as has just been shown.
- the message to be signed MSG is injected, and optionally the CGS signature count word (counter 4: FIG. 3).
- the signature calculation SIGN'j is performed a priori in the smart card CPj, so that the diversified keys c // (Si (,) and dKS ' 2) remain confined in it. . It is the same for the calculation of the key dKS ' 2 ⁇ ) by the module 3'.
- the diversification of the pairs of mother keys MKS ⁇ , MKS ⁇ , MKS21, and MKS22 by the identifier of a smart card, IDj of the smart card CPj by example, which would allow to find the diversified keys is prohibited.
- This can be obtained simply by hardware or software means prohibiting the disclosure of these keys and their implementation for the generation of a signature. Only the signature obtained using these diversified keys can be transmitted to the outside world.
- FIG. 6 schematically illustrates the generation of such data, referenced ASIGNj for the smart card CPj.
- dKSA ( j ) and dKSA 2 (i) are used, generated in the explicit manner opposite FIG. 4 and which are stored in memory M, in the positions M 10 and Mu, in the example described.
- the generated signature SIGNj is transmitted to the input of a "T-DES", referenced 3 ".
- the CGS counting data (FIG. 3) can also be injected as a data input, for example by concatenating it with the message to be signed MSG.
- the keys dKSA ⁇ and dKSA 2 (,) are used as signature keys.
- the logical architecture of module 3 " is identical or at least quite similar to that of module 3 in the figure 3 used to generate the signature SIGN ,.
- the output of module 3 "represents the signature authentication data sought ASIGNj. This data is transmitted to the recipient (s) of the signature SIGNj. As before, the calculation is carried out inside the card to CP chip, so that the dKSA ⁇ and dKSA 2 ( i ) keys do not leave it. In reality, the final recipient of the ASIGNj data is the CA certification authority ( Figures 1 or 4).
- a recipient for example U j , who wants to authenticate the signature received SIGN and ensure that it is a valid smart card CP, which issued it, submits the data of ASIGNj signature authentication to the CA certification authority, which alone can validate them since it stores the mother keys, MKSAn to MKSA 22 , which were used to calculate the keys dKSA ⁇ and dKSA 2 ( .).
- FIG. 7 schematically illustrates the various data transmitted by a signatory smart card CPj to the recipient (s), in a preferred variant embodiment.
- the transmitted data are as follows:
- the addressee (s) can verify the signature SIGNj and, in the preferred variant, authenticate it using the data ASIGNj.
- FIG. 8 schematically illustrates the step of verifying the signature SIGNj, generated in accordance with the first embodiment of the method according to the invention, by at least one user Uj belonging to a given group or to all of the users, s' there are no groups distinct.
- the first embodiment authorizes verification a priori by all users, Li to U n , listening to the message sent MSG and its signature SIGNj.
- Verification consists in reconstructing the signature of the issuer and comparing it with that received.
- a smart card CPj receiving from the smart card CPj the various data illustrated in FIG. 7.
- the architecture of the smart card CPj is, a priori, quite similar to that of the chip card CPj, otherwise identical.
- a first diversified key, referenced dKS ⁇ ⁇ is calculated from the mother keys MKSu and and of the identifier IDj received from the chip card CP ,, by using a symmetrical algorithm, preferably a "T-DES", referenced 5a.
- the identifier IDj is injected on the data entry.
- the mother keys MKSu and MKS ⁇ are transmitted to the key entries.
- a second diversified key is calculated in the same way using the "T-DES" 5b, from the mother keys MS 2 ⁇ and MKS 22 and also from the identifier received IDj.
- the calculated diversified keys, dKS ⁇ and dKS ⁇ can be temporarily stored in registers, 6a and Qb, or in positions of a random access memory (not shown) which is usually provided with a smart card.
- a third "T-DES", referenced 5c receives as keys the keys previously calculated and on its data input, the message MSG transmitted by the chip card CPj, as well as possibly the counting word CGS signature generation .
- the data output from the module 5c, referenced SIGN is assumed to represent the signature SIGNj sent by the smart card CPj.
- the corresponding data can be stored in a register 6c or a position of RAM.
- a comparison operation is carried out performed by the module 7.
- the chip card CP j also receives the certificate CTA, from the chip card CPj (see FIG. 7).
- the latter can be checked by module 8 using the public key Kp issued by the CA certification authority ( Figures 1 and 4).
- the public key Kp is made available to all the users U j , at least within the same group if there are several distinct groups. Data for verifying the CTA certificate is available on output S 1 .
- a diversified key, dKS ⁇ is calculated from the identifier IDj received from the smart card CPj.
- the diversified key dKS 2 ⁇ stored in the chip card'CP, is directly used as a signature key. It is assumed that the key dKS 2 (/ j has been obtained by diversification from the mother keys MKS 2 ⁇ and MKS 22 and the identifier ID j provided by the smart card CPj.
- the key dKS 2) and the calculated key dKS are transmitted to the key inputs of the "T-DES" 5c, which receives on its data input, as before, the message transmitted MSG and, optionally, the signature count word CSG.
- the rest of the process is identical to that described for the first embodiment ( Figure 9), and there is no need to re-describe it in detail.
- the CTA certificate is verified in the same way as before.
- Any user U j having verified a signature generated by another user can submit to the certification authority CA the identifier of the signatory IDj, the certificate of this identifier CTA, the signature SIGN, the data of ASIGNj authentication and optional CGS signature generation count data.
- the CA certification authority recalculates, from the pairs of mother keys MKSA to MKSA 22 and the diversifier ID, -
- the mother key pairs MKSA -MKSA ⁇ , on the one hand, and MKSA21- MKSA 22 , on the other hand, are transmitted to the key inputs of two "T-DES" modules, 9a and 9b, which receive, on their inputs IDj identifiers.
- the outputs of these modules provide the diversified signature authentication keys, dKSA ⁇ and dKSA 2 (, ) , keys transmitted to the key inputs of a third "T-DES", referenced 9c.
- the latter receives on its data input, the SIGN signature, and the optional signature generation counting data CGS.
- the ASIGN data present on the output of the "T-DES" 9c are supposed to represent the reconstituted ASIGN data.
- these keys, dKSA ⁇ and dKSA (,), are not transmitted directly by the user Uj, but recalculated by the certification authority CA, by application of "T-DES" (not shown) and to the using the mother keys MKSA -MKSA ⁇ , on the one hand, and MKSA rMKSA 2 2, on the other hand, and the identifier ID j of the user Uj, in a manner analogous to the calculation of the keys dKSA ⁇ and dKSA 2 ( , ) .
- the signed result R at the output of the "T-DES” 9e, can then be deciphered by the user U j using his own authentication keys dKSAi Q) and dKSA ⁇ ®, by applying a " T-DES "additional (not shown).
- a password or similar identification (“PIN-code, etc.) may be required to further enhance the security of the process.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Signal Processing (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Finance (AREA)
- Storage Device Security (AREA)
Abstract
L'invention concerne un procédé de génération de signature non-répudiable par une carte à puce (CPi). Celle-ci stocke dans une mémoire (M) deux paires de clés dites mères et deux clés diversifiées (dKS1(i) et dKS2(i)) obtenues à partir de ces paires de clés et d'un identifiant, par application d'un algorithme de cryptographie de type triple 'DES' et un certificat généré par une autorité de certification à partir d'une clé privée de cette autorité, d'une clé publique et par application d'un algorithme de cryptographie de type 'RSA'. La signature (SIGNi) est obtenue à partir des deux clés diversifiées (dKS1(i) et dKS2(i)) et des données (MSG) à transmettre par application d'un triple 'DES' (3). Dans une variante préférée, deux clés supplémentaires d'authentification sont stockées dans la mémoire (M). Ces clés sont générées par l'autorité de certification et servent à générer des données d'authentification de la signature, par application d'un triple 'DES'.
Description
PROCEDE DE GENERATION DE SIGNATURES NON-REPUDIABLES,
NOTAMMENT PAR UN SYSTEME EMBARQUE, ET SYSTEME
EMBARQUE POUR LA MISE EN ŒUVRE DU PROCEDE
L'invention concerne un procédé de génération de signatures non répudiables, notamment par un système embarqué à puce électronique.
L'invention concerne encore un système embarqué pour la mise en œuvre du procédé, notamment une carte à puce. Dans le cadre de l'invention, le terme "système embarqué" doit être compris dans son sens le plus général. Il concerne notamment toutes sortes de terminaux légers munis d'une puce électronique, et plus particulièrement les cartes à puce proprement dites. La puce électronique est munie de moyens d'enregistrement et de traitement de données numériques, par exemple un microprocesseur pour ces derniers moyens.
Pour fixer les idées, et sans que cela limite en quoi que ce soit sa portée, on se placera ci-après dans le cas de l'application préférée de l'invention, à savoir les applications à base de cartes à puce, sauf mention contraire. Ces dernières années, les échanges de documents sous forme électronique se sont fortement accrus, notamment via le réseau Internet. Or ces échanges posent plusieurs problèmes. En particulier, comme dans le cas de documents sous forme traditionnelle, c'est-à-dire notamment sous forme papier, il est généralement nécessaire d'y apposer une signature et, surtout que cette signature identifie sans ambiguïté l'émetteur du document et ne soit pas répudiable par son destinataire.
Jusqu'à une période récente, seul§ les documents "papiers" pouvaient faire foi. Dans beaucoup de pays, la loi exige d'ailleurs une signature manuscrite originale. Or, dans un environnement électronique, l'original d'un document, par exemple d'un contrat, ne se distingue en aucune façon d'une copie.
Il existe cependant des technologies qui permettent de remplir tout ou partie de fonctions perçues comme caractéristiques d'une signature manuscrite traditionnelle. Ces technologies mettent en œuvre généralement
des techniques de chiffrement, associées ou non à des certificats d'authentification. La signature électronique est une séquence binaire habituellement obtenue par le chiffrement du message transmis à l'aide d'un algorithme de cryptologie particulier et de clés de signature. On doit bien comprendre cependant que le message proprement dit peut être transmis en clair s'il n'existe pas de besoins particuliers de confidentialité. Il s'agit d'une technique dite de "scellement". Le message et la signature sont transmis au destinataire, accompagnés éventuellement d'éléments de clés de chiffrement ou de vérification dans certains procédés de cryptographie mettant en œuvre une clé dite publique. Le destinataire utilise la signature et le message transmis à l'aide du même algorithme et la clé publique précitée, ce qui lui permet de vérifier l'authenticité de la signature de l'émetteur. Accessoirement, le processus permet de garantir l'intégrité du message transmis. En effet, si celui-ci venait à être corrompu de façon fortuite ou malveillante, le déchiffrement permet de mettre ce dysfonctionnement en évidence.
Certains pays, comme l'Allemagne, l'Italie, le Danemark, en Europe, certains Etats des Etats-Unis ou du Canada (le Québec) ont légalisé des procédés de signature électronique. Fin 1999, le Parlement Européen et le Conseil de l'Union
Européenne ont émis une directive qui devra être transcrite dans les droits nationaux des pays membres (article 13). Dans l'article premier de cette directive, 1 Θr alinéa, il est indiqué que "l'objectif de la présente directive est de faciliter l'utilisation des signatures électroniques et de contribuer à leur reconnaissance juridique. Elle institue un cadre juridique pour les signatures électroniques et certains services de certification afin de garantir le bon fonctionnement du marché intérieui".
A l'article 2, une "signature électronique" est définie comme suit : "une donnée sous forme électronique, qui est jointe ou liée logiquement à d'autres données électroniques et qui sert de méthode d'authentification".
Il est prévu deux types de signatures électroniques, l'une pouvant être qualifiée de "simple". La seconde est appelée "avancée" dans la
directive. Il s'agit d'une signature électronique "qui satisfait aux exigences suivantes : a) être liée uniquement au signataire ; b) permettre d'identifier le signataire ; c) être créée par des moyens que le signataire puisse garder sous son contrôle exclusif; et d) être liée aux données auxquelles elle se rapporte de telle sorte que toute modification ultérieure des données soit détectable".
L'invention vise plus particulièrement le second type de signature électronique. Pour ce faire, il est nécessaire d'avoir recours à des dispositifs sécurisés, mettant en œuvre un procédé de chiffrement (signature) de données, des certificats dits "qualifiés" et une autorité, appelée "prestataire de service de certification" dans la directive, que l'on appellera ci-après "autorité de certification". L'autorité de certification génère notamment une clé publique utilisée dans le processus précité par les cartes à puce.
En effet, de façon pratique, des procédés de cryptographie asymétriques doivent être utilisés. Selon ces procédés, il est mis en œuvre une clé de signature privée, c'est-à-dire secrète, détenue par le signataire, et une clé publique de vérification de signature. En réalité, dans les applications à base de carte à puce, la clé privée est enregistrée dans une zone de mémoire non-volatile des cartes à puce du signataire, mémoire de type "ROM", "EEPROM" ou équivalent.
Les procédés de cryptographie asymétriques sont réputés non répudiables car le vérificateur de la signature, du fait des caractéristiques inhérentes à ces procédés, ne sait pas signer.
Pour fixer les idées, un exemple de procédé de cryptographie asymétrique bien connu et largement utilisé est constitué par le procédé dit "RSA" (du nom de ses inventeurs Rivest, Shamir et Adleman). Une description de ce procédé peut être trouvée dans le brevet US-A-4405829. Bien qu'efficaces, les procédés de cryptographie asymétriques ne sont pas pour autant dépourvus d'inconvénients. Ils sont en effet délicats et coûteux à mettre en œuvre.
En premier lieu, il nécessaire de gérer et générer autant de paires de clés privée/publique qu'il y a d'utilisateurs à doter de cet instrument de signature électronique.
En second lieu, la cryptographie asymétrique nécessite des ressources informatiques non négligeables, du moins par rapport à celles habituellement offertes par une puce électronique. Il est notamment nécessaire de prévoir un co-processeur arithmétique pour effectuer les calculs de chiffrement/déchiffrement.
Il s'ensuit que le coût de puces électroniques dotées de la puissance de calcul nécessaire à la cryptographie asymétrique est sensiblement plus élevé que les puces traditionnelles utilisées à ce jour par l'ensemble des autres applications. Or, les considérations de coût, pour un composant de très grande diffusion, sont primordiales.
On pourrait penser avoir recours à des procédés de cryptographie symétrique, moins exigeants en ressources informatiques. Cependant ces derniers, de par leurs caractéristiques propres, ne peuvent garantir la condition de "non repudiabilite" recherchée, car le vérificateur de la signature peut également signer, puisqu'il se trouve a priori dans les mêmes conditions que le signataire. L'invention vise à pallier les inconvénients des procédés et dispositifs de l'art connu, dont certains viennent d'être rappelés, tout en satisfaisant aux besoins qui se font sentir.
L'invention se fixe pour but un procédé de génération de signatures non répudiables, spécialement adapté à des applications mettant en œuvre des terminaux légers tels des systèmes embarqués à puce électronique, et plus particulièrement des cartes à puce, dont l'une des caractéristiques est d'offrir des ressources informatiques limitées.
Pour ce faire, selon une caractéristique avantageuse, le procédé selon l'invention associe la cryptographie symétrique à la cryptographie asymétrique statique, étant entendu que les opérations mettant en œuvre ce dernier procédé ne sont pas effectuées dans le terminal embarqué. Il
s'ensuit qu'il n'est pas nécessaire de doter celui-ci d'une puissance de calcul accrue, notamment d'y implanter un co-processeur mathématique.
Dans un premier mode de réalisation de l'invention, le procédé comprend une phase préliminaire comportant les étapes principales 5 suivantes :
1. On dote toutes les cartes à puce de deux paires de clés de signature dites "mères", les deux paires de clés étant identiques pour toutes les cartes à puce.
2. Chacune des cartes à puce reçoit également deux clés diversifiées w propres à chaque carte à puce, calculées à partir de ces paires de clés "mères " et d'un identifiant propre à la carte à puce en question (et/ou de toute autre information identifiant le porteur) et contenu dans celle-ci. Le calcul des clés diversifiées est effectué en ayant recours à un procédé de cryptographie symétrique, de préférence, 15 mais non exclusivement, en faisant appel au procédé dit "triple DES"
(pour "Data Encryption Standard").
3. L'identifiant (et éventuellement d'autres informations) de la carte à puce, est(sont) certifié(s) par une clé privée (c'est-à-dire secrète) détenue par une autorité dite de "certification". Ce certificat
20 accompagne l'identifiant dans la carte à puce et constitue
"l'habilitation à signer" du porteur de la carte à puce. Le certificat est calculé en ayant recours à un procédé de cryptographie de type asymétrique, de préférence le procédé dit "RSA" précité. Il doit cependant bien être compris que les calculs nécessaires sont
25 effectués par l'autorité de certification, qui peut disposer de moyens informatiques puissants et non par la carte à puce. De façon plus précise, le certificat est calculé à partir des données d'identification de la carte à puce et/ou de son porteur à l'aide d'une clé privée, cette dernière étant propriété de l'autorité de certification.
30 Dans les applications à base de cartes à puce, cette phase préliminaire est habituellement réalisée lors de l'opération dite de "personnalisation" des cartes à puce.
La clé publique de certification est disponible pour le contrôle des certificats par l'autorité de certification et pour le contrôle par chacun des possesseurs d'un instrument de signature. Ce peut être, dans une première variante de réalisation, l'ensemble des usagers possesseurs d'une carte à puce, ou, dans une seconde variante de réalisation, seulement les usagers appartenant à un même groupe. Dans ce dernier cas, la population des usagers est scindée en au moins deux groupes distincts.
L'algorithme "DES" précité a été publié en 1977 par un organisme officiel américain, le "NBS" ("National Bureau of Standards"). A titre d'exemple, une description de cet algorithme peut être trouvée dans l'article de Jean-Pierre TUAL, intitulé "Cryptographie", paru dans "Les Techniques de l'Ingénieur", volume H2, pages 248-1 à 248-29.
De même, un exemple de mise en œuvre de certificats est décrit dans l'article de Gérard RIBIERE, intitulé "Certification électronique et sécurité", paru "Les Techniques de l'Ingénieur", volume H2, pages 258-1 à 258-11.
Les étapes ultérieures, que l'on pourra qualifier d'opérationnelles, comprennent au moins la génération d'une signature lors de l'émission d'un message ou plus généralement d'un document électronique par l'un des possesseurs de carte à puce, que l'on appellera signataire.
Le calcul de la signature est réalisé par un chiffrement des données à transmettre à l'aide des clés diversifiées précitées, en faisant appel à un algorithme de cryptographie symétrique, de préférence le triple "DES" comme indiqué précédemment. La reconstitution et la vérification de la signature, s'effectuent par une opération identique au chiffrement, par un ou plusieurs destinataires, à l'aide des clés diversifiées du signataire, reconstituées par le ou les destinataires(s), et du même algorithme symétrique. Le signataire transmet également son certificat et les données d'identification ayant servies à le calculer à l'étape 3.) de la phase préliminaire. Ce certificat est vérifié par le ou les destinataire(s) à l'aide de la clé publique précitée. Il est fait appel à un algorithme asymétrique. Les calculs nécessaires peuvent être effectués par un terminal hôte de la carte à puce.
Selon un deuxième mode de réalisation du procédé selon l'invention, celui-ci comprend également l'essentiel des étapes de la phase préliminaire. Cependant, l'une des deux clés diversifiées est obtenue à partir d'une des deux paires de clés "maître" et de données d'identification d'un destinataire, et non plus de l'émetteur comme dans la première variante. Selon cette variante, seul ce destinataire est alors en mesure de vérifier la signature de l'émetteur. A cette exception près, la vérification s'effectue de la même manière que précédemment.
On constate que, dans ces deux modes de réalisation, toutes les cartes à puce possèdent les deux paires de clés mères, ce qui peut présenter une faiblesse d'un point de vue sécurité.
Aussi, dans une variante préférée, compatible avec les deux modes de réalisation, de manière à augmenter la robustesse du procédé, on ajoute dans chacune des cartes à puce une paire de clés diversifiées issues de la diversification de deux paires de clés d'authentification appartenant à l'autorité de certification. Cette opération est réalisée lors d'une étape supplémentaire de la phase préliminaire. Le calcul des clés de chaque carte à puce est effectué en faisant appel à un algorithme symétrique et à un identifiant propre à cette carte à puce. Comme précédemment, l'algorithme symétrique est préférentiellement un triple "DES". A partir des clés diversifiées résidentes dans la carte à puce et de la signature précédemment générée, en faisant appel à un algorithme symétrique, la carte à puce génère des données supplémentaires que l'on appellera ci- après "données d'authentification de signature". Ces données sont également transmises au(x) destinataire(s). Ce (ces) demier(s) peu(ven)t les soumettre à l'autorité de certification qui peut à son tour les authentifier par retour.
Dans une variante de réalisation préférée encore, on prévoit avantageusement un compteur de génération de signatures utilisé pour sécuriser la génération de signature et assurer la traçabilité, par exemple pour détecter des signatures différentes portant le même numéro. Les compteurs sont également résidents dans les cartes à puce et peuvent servir optionnellement à l'initialisation de toute signature de données.
L'invention a donc pour objet principal un procédé de génération de signature non-répudiable par une première entité d'un ensemble, notamment par un système embarqué à puce électronique comportant au moins des moyens de mémoire non-volatile et des moyens de calcul, ladite signature étant destinée à être diffusée et vérifiée par au moins l'une desdites entités de l'ensemble, caractérisé en ce qu'il comprend une phase préliminaire comportant au moins les étapes suivantes : le stockage dans lesdits moyens de mémoire non-volatile de deux paires de clés de signature dites "mères", communes à toutes lesdites entités ; la génération, à partir d'au moins une desdites paires de clés de signature "mères" et d'un identifiant unique, propre à ladite première entité, d'une première clé de signature dite "diversifiée", par application d'un algorithme de cryptographie symétrique et le stockage de ladite clé diversifiée dans lesdits moyens de mémoire non-volatile ; le stockage dudit identifiant unique dans lesdits moyens de mémoire non-volatile ; la génération par une entité supplémentaire dite "autorité de certification" d'un certificat constituant une habilitation à signer pour ladite première entité, ledit certificat étant obtenu à partir d'au moins ledit identifiant et d'une clé privée de chiffrement détenue par ladite autorité de certification, par application d'un algorithme de cryptographie asymétrique, et le stockage dudit certificat dans lesdits moyens de mémoire non-volatile ; et - la distribution, par ladite autorité de certification, d'une clé publique de vérification de signature à tout ou partie desdites entités de l'ensemble, et une phase subséquente comprenant au moins les étapes suivantes : - la génération de ladite signature non-répudiable à partir de ladite première clé de signature diversifiée, d'une deuxième clé de signature diversifiée et de données à transmettre destinées à au moins une
desdites entités de l'ensemble, par application d'un algorithme de cryptage symétrique ; et la diffusion à destination d'au moins l'une desdites entités de l'ensemble d'au moins desdites données, de ladite signature, dudit identifiant et dudit certificat.
L'invention a encore pour objet un système embarqué à puce électronique pour la mise en œuvre de ce procédé, notamment une carte à puce.
L'invention va maintenant être décrite de façon plus détaillée en se référant aux dessins annexés, parmi lesquels : la figure 1 illustre schématiquement l'architecture d'une carte à puce pour la génération d'une signature non répudiable selon l'invention ;
La figure 2 illustre schématiquement la génération d'une clé de signature dite diversifiée pour la carte à puce de la figure 1 à partir d'une paire de clés de signature dites "mères" et d'un identifiant de la carte à puce ; la figure 3 illustre schématiquement le processus de génération d'une signature non répudiable selon un premier mode de réalisation du procédé selon l'invention ; la figure 4 illustre schématiquement le processus de génération de clés dites d'authentification de signature par une entité dite autorité de certification ; la figure 5 illustre schématiquement le processus de génération d'une signature non répudiable selon un deuxième mode de réalisation du procédé selon l'invention ; la figure 6 illustre le processus de génération de données dites d'authentification à partir des clés d'authentification et de la signature précitée ; - la figure 7 illustre schématiquement les différentes données transmises par une carte à puce signataire ;
la figure 8 illustre schématiquement l'étape de vérification d'une signature générée selon le premier mode de génération de signatures non répudiables ;
- la figure 9 illustre schématiquement l'étape de vérification d'une signature générée selon le deuxième mode de génération de signatures non répudiables ; et
- la figure 10 illustre schématiquement le processus d'authentification par l'autorité précité de certification d'une signature générée par une carte à puce. On va maintenant décrire de façon plus détaillée un exemple de réalisation préférée de procédé de génération de signatures non répudiables selon l'invention, selon plusieurs variantes.
Comme il a été indiqué, pour fixer les idées, sans limiter en quoi que ce soit la portée de l'invention, on se placera dans le cas d'une application à base de cartes à puce. La puce électronique de cette dernière comprend, de façon habituelle, des moyens de calcul, comprenant par exemple un microprocesseur, et des moyens de mémoire, vive et non-volatile. Une telle architecture est bien connue de l'homme de métier et il est inutile de la décrire plus avant. La figure 1 illustre schématiquement l'architecture d'une carte à puce CP„ i étant un indice arbitraire repérant une des cartes à puce d'un ensemble de n cartes à puce CPi à CPn (non représenté). Sur la figure 1 , seule la mémoire non-volatile, repérée M, a été représentée. Il peut s'agir d'une mémoire de type "ROM" ("Read-Only Memory", à lecture seule), d'une mémoire de type "EEPROM" (Electrically Erasable Programmable Read Only Memory", à lecture seule, mais re-progrâmmable) ou de toute autre mémoire d'un type similaire.
Lors d'une phase préliminaire, avantageusement lors de la phase dite de "personnalisation" de la carte à puce CP„ on enregistre, dans des positions de mémoire prédéterminées, M|, M2, M4 et Λ , respectivement dans l'exemple décrit, deux paires de clés dites "mères", MKS^ et MKSπ, d'une part, et
et M S22, d'autre part. Ces clés "mères" sont communes à toutes les cartes à puce, CP-i à CPn.
Selon une première variante de réalisation du procédé conforme à l'invention, un usager Uj, c'est-à-dire le porteur de la carte à puce CPh signe un message ou des données transmises. Tous les autres usagers peuvent vérifier cette signature. Pour ce faire, deux clés diversifiées, dKS^ et dKSz^, respectivement, sont calculées et enregistrées dans des positions de mémoires, et M6, par exemple. Ce calcul, réalisé à l'extérieur de la carte à puce CPj, met en œuvre un algorithme symétrique. De façon préférentielle, il s'agit d'un triple "DES". On supposera d'ailleurs ci-après, à chaque fois que l'on aura recours à un algorithme symétrique, qu'il s'agit également du triple "DES", que l'on notera ci-après "T-DES" par simplification.
La figure 2 illustre schématiquement le calcul de la clé dKS^. Le triple "DES", référencé 1 , comprend trois étages en cascade 10 à 12. A titre d'exemple, les étages 10 et 12 réalisent un "DES" dit "direct". La clé de signature utilisée pour ces deux étages est, toujours dans l'exemple, la clé S11. L'étage intermédiaire 11 réalise un "DES" dit inverse, que l'on notera "DES'1". La clé de signature utilisée pour cet étage est la clé Λ- S12. En entrée du premier étage 10, on injecte une donnée d'identification ID,- de la carte à puce CPj et/ou de son porteur U,- (figure 1). Cette donnée d'identification ID,- peut être unique ou issue de plusieurs données distinctes, par exemple concaténées, avec éventuellement des données de remplissage pour obtenir un mot binaire de longueur prédéterminée. Sur la figure 1 , on a représenté deux sources de données d'identification, notées Info et Div (numéro de la carte à puce CPh etc.). Ces données sont également résidentes dans la carte à puce CP,- et, dans l'exemple illustré, enregistrées dans les positions M7 et M8 de la mémoire M.
La sortie de l'étage 10 est transmise à l'entrée de l'étage 11 et la sortie de l'étage 11 est transmise à l'entrée de l'étage 12. Finalement, en sortie de l'étage 12, on obtient la clé diversifiée dKS ^, propre à la carte à puce CP/, clé diversifiée enregistrée dans la position de mémoire M3 comme il a été indiqué.
Les calculs s'effectuent en milieu sécurisé, par exemple par une entité que l'on appellera "l'encarteur", en dehors de la carte à puce CP,. Le module 1 pour la mise en œuvre du "T-DES" peut être indifféremment de type "matériel" (circuits spécialisés) ou faire appel à un logiciel. La clé dKS2(i) est obtenue de façon identique et il est inutile de redécrire le processus.
Si on se réfère de nouveau à la figure 1, outre ces différentes données, un certificat CTA, est calculé par une autorité dite de certification CA. Pour ce faire, cette dernière entité CA met en œuvre, selon un des aspects du procédé selon l'invention, un algorithme asymétrique, référencé 2, préférentiellement l'algorithme "RSA" précité. Des données d'identification ID, de la carte à puce CP,- sont chiffrées à l'aide d'une clé privée, propriété de l'autorité de certification CA, que l'on notera KA.
Dans l'exemple illustré par la figure 1 , le résultat de l'opération de chiffrement, c'est-à-dire le certificat CTA,- est enregistré dans la position de mémoire M9.
L'autorité de certification CA distribue également une clé publique de vérification de signature, associée à la clé privée KA et que l'on appellera ci-après Kp, à toutes les cartes à puce. On a supposé, jusqu'à ce point de la description, que tous les usagers U,- possesseurs d'une carte à puce CP, faisait partie d'un seul et unique groupe, et donc que la clé publique Kp était mise à la disposition de tous ces usagers U,-. Selon une autre variante du mode de réalisation du procédé, il est possible de scinder l'ensemble de ces usagers en au moins deux groupes (non représentés). Chaque groupe aura donc à sa disposition une clé publique distincte de celle des autres groupes : Cp1, Kpz, ...,Kpm, si on suppose que m est le nombre de groupes distincts.
La figure 3 illustre schématiquement la génération d'une signature, référencée SIGNj, par la carte à puce CP,. On suppose que le porteur U,- de la carte CP,- veuille envoyer un message MSG qui doit être signé. Pour ce faire, le message MSG élaboré par des moyens de traitement de données connus, par exemple le terminal hôte T de la carte à puce CP„ est transmis en entrée d'un "T-DES",
référencé 3, ou de tout autre algorithme symétrique similaire. De façon connue en soi, le message MSG peut être soumis au préalable à une opération dite de "hachage" ("hashing"). L'architecture logique de ce "T-DES" 3 est identique ou pour le moins tout à fait similaire à celle décrite en regard de la figure 2. La clé utilisée pour les étages "DES" directs est, par exemple, la clé
et la clé utilisée pour l'étage "DES"1" est la clé dKS2(i). Puisqu'il s'agit d'un algorithme symétrique, il n'est pas nécessaire de disposer de moyens de calcul puissants. Le calcul de la signature peut donc s'effectuer avantageusement à l'intérieur de la carte à puce CP„ à l'aide des moyens de calculs standards dont elle dispose (non représentés). Il s'ensuit que, bien que pour des raisons de clarté du dessin, les moyens de calcul 3 aient été représentés sur la figure à l'extérieur de la carte à puce CP,-, on doit bien comprendre qu'ils sont préférentiellement implantés dans la puce électronique de celle-ci. De façon pratique, il ne s'agit pas habituellement de circuits spécifiques. On préfère effectuer le calcul de la signature SIGN,- à l'aide d'un logiciel, enregistré dans la mémoire M, coopérant avec les moyens de calcul standards précités.
On constate que les clés diversifiées, dKS^ et dKS∑^, c'est-à-dire le secret propre à chacune des cartes à puce CP,, ne sont pas dévoilées au monde extérieur. Cependant, toutes les cartes à puce CP, possèdent les deux paires de clés de signature sous leur forme dite "mère". Si on arrive à "casser" ces clés, la sécurité globale du procédé est mise en péril. Aussi, pour "durcir" le procédé vis-à-vis d'attaques extérieures, on ajoute dans chacune des cartes à puce CP,- une paire de clés de signature diversifiées supplémentaires, que l'on notera dKSA^ et ûf S-42(,), respectivement. Ces clés sont elles-mêmes issues de la diversification de deux paires de clés d'authentification de signature appartenant à l'autorité de certification CA
(figure 1). On explicitera ci-après, de façon plus détaillée, l'utilité de ces clés.
La figure 4 illustre schématiquement le processus de génération des clés diversifiées supplémentaires, dKSA^ et dKSA2(, Les paires de clés dites "d'authentification de signature", MKSA et MKSA^, MKSA21 et MKSA22, respectivement, sont transmises aux entrées de clé de modules mettant en œuvre un algorithme symétrique, préférentiellement un "T-DES",
notés l' et 1". En entrée de données, on injecte un identifiant ID,- caractérisant la carte à puce CP,. Le processus de calcul des clés dKSA^ et dKSA2{i) est identique, ou pour le moins tout à fait similaire à celui (figure 2 : 1) ayant permis de calculer les clés diversifiées dKS^ et dKS∑^. On peut 5 utiliser d'ailleurs les mêmes circuits, s'il s'agit de circuits électroniques spécifiques, ou le même logiciel.
Comme pour les clés diversifiées, -- KS^ et dKS∑ii), le calcul est effectué lors d'une phase préliminaire, en milieu sécurisé, par exemple lors de la phase dite de "personnalisation" de la carte à puce CP,. Les résultats w des calculs, c'est-à-dire les clés d'authentification de signature dKSA^ et dKSA2(i), sont enregistrés également dans la mémoire M de la carte à puce, dans les positions /W-ι0et Mu (voir également la figure 1).
Selon cette variante préférée du procédé, percer le secret d'une carte à puce CP,- devient alors aussi difficile que d'obtenir la clé privée d'une
15 carte à puce qui serait dotée d'un algorithme de cryptographie asymétrique dynamique.
Dans une variante encore du procédé de génération de signature, on prévoit avantageusement un compteur de génération de signature 4, dont la sortie est notée CGS. Le compteur 4 est utilisé pour sécuriser la 0 génération de signature et pour assurer la traçabilité (signatures différentes portant le même numéro). Si on se reporte de nouveau à la figure 3, on constate que la sortie CGS est transmise à l'entrée de données du "T-DES" 3. De façon pratique, il s'agit d'un mot binaire qui peut être concaténé avec le message à signer MSG. Ce compteur 4 est également implanté dans la
25 carte à puce CPj et sert optionnellement à initialiser toute signature de données. Il peut s'agir d'un composant matériel, appartenant par exemple aux circuits des moyens de calcul de la puce électronique de la carte à puce CPj. Le comptage (mot CGS) peut également être obtenu par des moyens logiciels.
30 On va maintenant décrire schématiquement un deuxième mode de réalisation du procédé de génération de signature par référence à la figure 5. Selon ce mode de réalisation, une des clés diversifiées, par exemple la clé, référencée désormais dKS'2(j), est obtenue à l'aide des données de
diversification d'une autre carte à puce, du groupe auquel appartient la carte à puce CPj s'il existe plusieurs groupes distincts, par exemple les données d'identification IDj de la carte à puce CPj, et non à partir des données d'identification IDj de la carte à puce signataire CPj. A l'exception de cette caractéristique, les autres phases et étapes sont identiques à celles qui ont été décrites pour le premier mode de réalisation. Il est donc inutile de les re-décrire en entier. De même, ce mode de réalisation est compatible avec l'utilisation de clés d'authentification de signature, dKSA^ et dKSA2^, et avec l'utilisation d'un compteur de génération de signatures 4 produisant le mot CGS.
Selon ce mode de réalisation, du fait précisément de la caractéristique précitée, seul le destinataire Uj, c'est-à-dire le possesseur de la carte à puce CPj est en mesure de vérifier la signature de l'émetteur Uj, notée SIGN'j sur la figure 5. Il est intéressant de noter que cette dernière caractéristique n'est pas offerte par les procédés classiques de cryptographie asymétrique dynamique utilisés pour la génération de signatures non-répudiables selon l'art connu.
On suppose que, comme précédemment, la clé diversifiées dKSi(,) a été calculée et enregistrée dans la mémoire M de la carte à puce CP,. à la position M , lors de la phase préliminaire. Pour ce faire, des données d'identification IDj propres à la carte à puce CPj ont été utilisées.
La clé de signature diversifiée dKS'2(j) est calculée à partir de la paire de clés de signature "mères" MKS∑i et MKS22, comme précédemment, mais en faisant usage de l'identifiant IDj provenant de la carte à puce CPj, identifiant enregistré dans une ou plusieurs positions de la mémoire M' de celle-ci, de façon analogue à l'identifiant IDj pour la carte à puce CPj. Le calcul de la clé de signature s'effectue en faisant usage d'un "T-DES", référencé 3', recevant sur ces entrées de clé, les clés mères MKS∑i et MKS22, et, en entrée de données, l'identifiant IDj précité. La sortie représente la clé de signature diversifiée dKS'2(i).
Lors de l'étape de génération de signature, référencée désormais SIGN'j, le processus mis en œuvre est identique à celui du calcul de la signature SIGNj de la figure 3. Pour ce faire, on recourt à un algorithme
symétrique, de préférence l'algorithme "T-DES" (module 3), à l'exception du fait que la clé dKS'2(j) est calculée différemment, comme il vient d'être montré. En entrée de données, on injecte le message à signer MSG, et optionnellement le mot de comptage de signature CGS (compteur 4 : figure 3).
Dans ce mode de réalisation, il est nécessaire d'obtenir un identifiant certifié du destinataire.
Il est à noter que le calcul de signature SIGN'j est réalisé a priori dans la carte à puce CPj, de manière à ce que les clés diversifiées c//(Si(,) et dKS'2 ) restent confinées dans celle-ci. Il en est de même pour le calcul de la clé dKS'2ϋ) par le module 3'.
Il est à noter également que, dans les deux modes de réalisation, la diversification des paires de clés mères MKS^, MKS^, MKS21, et MKS22 par l'identifiant d'une carte à puce, IDj de la carte à puce CPj par exemple, qui permettrait de retrouver les clés diversifiées est interdite. Ceci peut être obtenu simplement par des moyens matériels ou logiciels interdisant la divulgation de ces clés et leur mise en œuvre pour la génération d'une signature. Seule la signature obtenue en utilisant ces clés diversifiées peut être transmise au monde extérieur. Selon les deux modes de réalisation, il est possible de générer des données dites "d'authentification" de la signature émise. La figure 6 illustre schématiquement la génération de telles données, référencées ASIGNj pour la carte à puce CPj.
Pour ce faire, on utilise les clés diversifiées supplémentaires dites d'authentification, dKSA (j) et dKSA2(i), générées de la manière explicitée en - regard de la figure 4 et qui sont enregistrées dans la mémoire M, dans les positions M10 et Mu, dans l'exemple décrit. La signature générée SIGNj est transmise à l'entrée d'un "T-DES", référencé 3". De façon optionnelle, la donnée de comptage CGS (figure 3) peut également être injectée en entrée de données, par exemple en la concaténant avec le message à signer MSG. Les clés dKSA^ et dKSA2{,) sont utilisées comme clés de signature. L'architecture logique du module 3" est identique ou pour le moins tout à fait similaire à celle du module 3 de la figure 3 utilisé pour générer la signature
SIGN,. La sortie du module 3" représente les données d'authentification de signature recherchées ASIGNj. Ces données sont transmises au(x) destinataire(s) de la signature SIGNj. Comme précédemment, le calcul s'effectue à l'intérieur de la carte à puce CP, pour que les clés dKSA^ et dKSA2(i) ne sortent pas de celle-ci. En réalité, le destinataire final des données ASIGNj est l'autorité de certification CA (figures 1 ou 4). En effet, comme il le sera montré ci-après, un destinataire, par exemple Uj, qui veut faire authentifier la signature reçue SIGN et s'assurer que c'est une carte à puce valide CP, qui l'a émise, soumet les données d'authentification de signature ASIGNj à l'autorité de certification CA qui seule peut les valider puisqu'elle stocke les clés mères, MKSAn à MKSA22, qui ont servi à calculer les clés dKSA^ et dKSA2{.).
La figure 7 illustre schématiquement les différentes données transmises par une carte à puce signataire CPj au(x) destinataire(s), dans une variante de réalisation préférée.
Les données transmises sont les suivantes :
- données ou messages signés MSG ;
- données optionnelles de comptage de signature CGS ;
- signature SIGNj) - identifiant IDj de la carte à puce CPj et/ou de son détenteur U,- ;
- certificat CTA,, et
- données d'authentification ASIGNj.
C'est à partir de toutes ces données que le ou les destinataire(s) peu(ven)t vérifier la signature SIGNj et, dans la variante préférée, l'authentifier à l'aide des données ASIGNj.
On va maintenant décrire l'étape de Vérification de la signature SIGNj émise par une carte à puce, par exemple la carte à puce CPj, ce selon les deux modes principaux de réalisation du procédé qui viennent d'être décrits. La figure 8 illustre schématiquement l'étape de vérification de la signature SIGNj, générée conformément au premier mode de réalisation du procédé selon l'invention, par au moins un usager Uj appartenant à un groupe donné ou à l'ensemble des usagers, s'il n'existe pas de groupes
distincts. On doit rappeler que le premier mode de réalisation autorise la vérification a priori par tous les usagers, Li à Un, à l'écoute du message émis MSG et de sa signature SIGNj.
La vérification consiste à reconstituer la signature de l'émetteur et de la comparer à celle reçue. Pour fixer les idées, on considère le cas d'une carte à puce CPj recevant de la carte à puce CPj les différentes données illustrées sur la figure 7. L'architecture de la carte à puce CPj est, a priori, tout à fait semblable à celle de la carte à puce CPj, sinon identique. Celle-ci comprend notamment une mémoire non-volatile référencée M' dans laquelle sont enregistrés les deux paires de clés mères, MKSu à MKS22 (positions de mémoire M'1, M'2, M'4 et M'5), deux clés diversifiées, dKS^ et dKS∑Q) (positions de mémoire M'3 et M'6), secret de la carte CPj, des données d'identification IDj (Info' et Div', positions de mémoire M'7 et M'8), un certificat CTA, (position de mémoire M'9) et, dans une variante préférée, deux clés d'authentification
et ûf/ S-42(/) (positions de mémoire M'10 et M'n).
Une première clé diversifiée, référencée dKS<\ est calculée à partir des clés mères MKSu et
et de l'identifiant IDj reçu de la carte à puce CP,, en faisant appel à un algorithme symétrique, préférentiellement un "T- DES", référencé 5a. L'identifiant IDj est injecté sur l'entrée de données. Les clés mères MKSu et MKS^ sont transmises aux entrées de clés. Une deuxième clé diversifiée est calculée de la même façon à l'aide du "T-DES" 5b, à partir des clés mères M S2ι et MKS22 et également de l'identifiant reçu IDj. Les clés diversifiées calculées, dKS^ et dKS∑, peuvent être stockées temporairement dans des registres, 6a et Qb, ou dans des positions d'une mémoire vive (non représentée) dont est munie habituellement une carte à puce. Un troisième "T-DES", référencé 5c reçoit en entrées de clés les clés calculées précédemment et sur son entrée de données, le message MSG transmis par la carte à puce CPj, ainsi qu'éventuellement le mot de comptage de génération de signatures CGS. La donnée en sortie du module 5c, référencée SIGN, est supposée représenter la signature SIGNj émise par la carte à puce CPj. Les données correspondantes peuvent être stockées dans un registre 6c ou une position
de mémoire vive. On prévoit une opération de comparaison effectuée par le module 7. Si la signature reconstituée SIGN est identique à la signature reçue SIGNj, le résultat (signal ou données sur la sortie S) est positif et cette dernière authentique. La carte à puce CPj reçoit également de la carte à puce CPj le certificat CTA, (voir figure 7). Ce dernier peut être vérifié par le module 8 à l'aide de la clé publique Kp émise par l'autorité de certification CA (figures 1 et 4). Comme il a été rappelé, la clé publique Kp est mise à la disposition de tous les utilisateurs Uj, au moins à l'intérieur d'un même groupe s'il existe plusieurs groupes distincts. Une donnée de vérification du certificat CTA, est disponible sur la sortie S1.
Pour des raisons de clarté du dessin, les "T-DES", 5a à 5c, les registres, 6a à 6c, les organes de comparaison 7 et de vérification 8 ont été représentés à l'extérieur de la carte à puce CPj. Il va de soi que, comme précédemment, ces derniers sont implantés dans la carte à puce, les clés diversifiées et les résultats des calculs ne devant pas être divulgués au monde extérieur. Les fonctions réalisées peuvent d'ailleurs faire appel en tout ou partie à des logiciels.
La vérification d'une signature générée conformément au deuxième mode de réalisation du procédé selon l'invention va maintenant être décrite par référence à la figure 9. Les éléments communs aux figures précédentes, notamment à la figure 8, portent les mêmes références et ne seront redécrits qu'en tant que de besoin.
Comme précédemment, une clé diversifiée, dKS^, est calculée à partir de l'identifiant IDj reçu de la carte à puce CPj. Par contre la clé diversifiée dKS2^, stockée dans la carte à puce'CP, est directement utilisée comme clé de signature. On suppose que la clé dKS2(/j a été obtenue par diversification à partir des clés mères MKS2\ et MKS22 et de l'identifiant IDj fourni par la carte à puce CPj. La clé dKS2 ) et la clé calculée dKS sont transmises aux entrées de clés du "T-DES" 5c, qui reçoit sur son entrée de données, comme précédemment, le message transmis MSG et, optionnellement, le mot de comptage de signature CSG. Le reste du
processus est identique à celui décrit pour le premier mode de réalisation (figure 9), et il est inutile de le re-décrire en détail.
Le certificat CTA, est vérifié de la même façon que précédemment.
Dans les deux cas la signature calculée, SIGN n'est jamais délivrée au monde extérieur. Seul le résultat de la comparaison peut être divulgué.
En résumé de ce qui précède, puisque ni les clés diversifiées, secret de chaque carte à puce, par exemple CP,, ni les résultats des calculs de signature ne sortent des cartes à puce, il s'ensuit que le système est non répudiable. On va maintenant décrire, par référence à la figure 10, la vérification de l'authenticité de la signature SIGN,.
Tout usager Uj ayant vérifié une signature générée par un autre usager, par exemple Uj, peut soumettre à l'autorité de certification CA l'identifiant du signataire IDj, le certificat de cet identifiant CTA,, la signature SIGN, les données d'authentification ASIGNj et les données optionnelles de comptage de génération de signature CGS.
A partir de ces données, l'autorité de certification CA recalcule, à partir des paires de clés mères MKSA à MKSA22 et du diversifiant ID,-
(après contrôle de l'identité certifiée) de la carte à puce signataire CPj et/ou de son porteur Uj, des clés diversifiées dKSA^ et dKSA^, pour contrôler les données d'authentification de signature ASIGNj.
Les paires de clés mères MKSA -MKSAπ, d'une part, et MKSA21- MKSA22, d'autre part, sont transmises aux entrées de clés de deux modules "T-DES", 9a et 9b, qui reçoivent, sur leurs entrées de données, les identifiants IDj. Les sorties de ces modules fournissent les clés diversifiées d'authentification de signature, dKSA^^ et dKSA2(,), clés transmises aux entrées de clés d'un troisième "T-DES", référencé 9c. Ce dernier reçoit sur son entrée de données, la signature SIGN, et les données de comptage de génération de signature optionnelles CGS. Les données ASIGN présentes sur la sortie du "T-DES" 9c sont sensées représenter les données ASIGN reconstituées. Elles sont donc comparées à ces dernières dans un module comparateur 9c. Le résultat de la comparaison, positif ou négatif, est disponible sur la sortie S" du module 9d. Ce résultat est retourné à l'usager
qui en fait la demande, par exemple l'usager Uj, signé par les clés dKSA^ et dKSA∑ij) et d'un "T-DES" 9e. Naturellement, ces clés, dKSA^ et dKSA (,), ne sont pas transmises directement par l'usager Uj, mais recalculées par l'autorité de certification CA, par application de "T-DES" (non représentés) et à l'aide des clés mères MKSA -MKSA^, d'une part, et MKSA rMKSA22, d'autre part, et de l'identifiant IDj de l'usager Uj, de façon analogue au calcul des clés dKSA^ et dKSA2(,). Le résultat signé R, en sortie du "T-DES" 9e, peut alors être déchiffré par l'usager Uj à l'aide de ses propres clés d'authentification dKSAiQ) et dKSA∑®, par application d'un "T-DES" supplémentaire (non représenté).
Optionnellement, un mot de passe ou toute identification analogue ("PIN-code, etc.) peut être exigée pour renforcer encore la sécurité du processus.
A la lecture de ce qui précède, on constate aisément que l'invention atteint bien les buts qu'elle s'est fixés.
Elle assure, notamment dans sa variante de réalisation préférée, une grande sécurité et la possibilité d'obtenir une non-répudiation des signatures émises, ce sans devoir recourir à des procédés de cryptage asymétriques au sein de cartes à puce, et de façon plus générale de terminaux embarqués légers à puce électronique. De ce fait, il devient possible d'utiliser des puces électroniques pourvues de moyens de calcul et de mémoire standards. En particulier, il n'est pas nécessaire que la puce électronique soit pourvue d'un co-processeur mathématique.
Il s'ensuit que le coût et la complexité induits par le procédé restent dans des limites acceptables pour des applications dites "grand public"
Il doit être clair cependant que l'invention n'est pas limitée aux seuls exemples de réalisations explicitement décrits, notamment en relation avec les figures 1 à 10.
En particulier, bien que l'algorithme asymétrique "RSA" et l'algorithme symétrique de type triple "DES" soient particulièrement intéressants, l'invention n'est en aucune façon limitée à ces seuls algorithmes. D'autres algorithmes, tant asymétriques que symétriques, respectivement, sont tout à fait envisageables. Le choix d'un algorithme
particulier ne constitue qu'un choix technologique à la portée de l'Homme de Métier, en fonction notamment de l'application précise visée.
Claims
1. Procédé de génération de signature non-répudiable par une première entité d'un ensemble, notamment par un système embarqué à puce électronique comportant au moins des moyens de mémoire non-volatile et des moyens de calcul, ladite signature étant destinée à être diffusée et vérifiée par au moins l'une desdites entités de l'ensemble, caractérisé en ce qu'il comprend une phase préliminaire comportant au moins les étapes suivantes :
- le stockage dans lesdits moyens de mémoire non-volatile (M) de deux paires de clés de signature dites "mères" (MKS -MKS-[2, MKS2r MKS22), communes à toutes lesdites entités (CP„ CPj) ;
- la génération, à partir d'au moins une desdites paires de clés de signature "mères" (MKS -MKSi∑) et d'un identifiant unique (ID,), propre à ladite première entité (CP,), d'une première clé de signature dite diversifiée (dKS^), par application d'un algorithme de cryptographie symétrique (1) et le stockage de ladite clé diversifiée dans lesdits moyens de mémoire non-volatile (M) ;
- le stockage dudit identifiant unique (IDj) dans lesdits moyens de mémoire non-volatile (M) ;
- la génération par une entité supplémentaire dite "autorité de certification" (CA) d'un certificat (CTA) constituant une habilitation à signer pour ladite première entité (CP,), ledit certificat (CTA) étant obtenu à partir au moins dudit identifiant (IDj) et d'une clé privée de chiffrement (KA) détenue par ladite autorité de certification (CA), par application d'un algorithme de cryptographie asymétrique (2), et le stockage dudit certificat (CTA) dans lesdits moyens de mémoire non- volatile (M) ; et
- la distribution, par ladite autorité de certification, d'une clé publique de vérification de signature (KP) à tout ou partie desdites entités (CPj, CPj) de l'ensemble et une phase subséquente comprenant au moins les étapes suivantes : - la génération de ladite signature non-répudiable (SIGNj) à partir de ladite première clé de signature diversifiée (dKS^(,j), d'une deuxième clé de signature diversifiée (dKS2(j), dKS'2(j)) et de données à transmettre (MSG) destinées à au moins une desdites entités (CPj) de l'ensemble, par application d'un algorithme de cryptage symétrique (3, 3') ; et
- la diffusion à destination d'au moins l'une desdites entités (CPj) de l'ensemble d'au moins lesdites données (MSG), de ladite signature (SIGNi), dudit identifiant (/D,) et dudit certificat (CTA .
2. Procédé selon la revendication 1 , caractérisé en ce que ladite deuxième clé de signature diversifiée (dKS2(ij) est générée, pendant ladite phase préliminaire, à partir de ladite deuxième paire de clés de signature "mères" (MKS2rMKS22) et dudit identifiant unique propre (IDj) à ladite première entité (CPi), par application d'un algorithme de cryptographie symétrique (1), et en ce que ladite deuxième clé de signature diversifiée (dKS {,)) est stockée dans lesdits moyens de mémoire non-volatile (M).
3. Procédé selon la revendication 1 , caractérisé en ce que ladite deuxième clé de signature diversifiée (dKS'2(j)) est générée à partir de ladite deuxième paire de clés de signature "mères" (MKS2 MKS22) et d'un identifiant unique (IDj) propre à l'une desdites entités (CPj), destinataire de ladite signature non- répudiable (SIGNi), par application d'un algorithme de cryptographie symétrique (3').
4. Procédé selon la revendication 1, caractérisé en ce qu'il comprend une étape supplémentaire de génération, pendant ladite phase préliminaire, par ladite autorité de certification (CA), d'une paire de clés de signature supplémentaires dites d'authentification (c CSAi(o, dKSA∑^) à partir de deux paires de clés de signature dites "mères" propres à cette autorité (CA) et dudit identifiant (IDj) propre à ladite première entité (CP,), par application d'un algorithme de chiffrement symétrique (1', 1"), et en ce que ladite paire de clés d'authentification (dKSA^^, αf/CSA )) est stockée dans lesdits moyens de mémoire non-volatile (M).
5. Procédé selon la revendication 4, caractérisé en ce qu'il comprend une étape de génération, par ladite première entité (CPi), de données dites d'authentification de signature (ASIGNj) à partir de ladite paire de clés de signature supplémentaires d'authentification (dKSA^, dKSA2(,)) et d'au moins ladite signature non-répudiable (SIGNi), et en ce que lesdites données d'authentification de signature (ASIGN1) sont diffusées à destination d'au moins une desdites entités (CPy) de l'ensemble.
6. Procédé selon la revendication 1 , caractérisé en ce qu'il comprend une phase de vérification de ladite signature non-répudiable (SIGNi) par au moins une deuxième entité (CPy) dudit l'ensemble comportant au moins les étapes suivantes :
- la génération de première et seconde clés de signature diversifiées
(dKS-\, dKS2), chacune desdites clés de signature étant générée à partir desdites paires de clés "mères" " ( Sι M/CS12, MKS2rMKSZ2) stockées dans lesdits moyens de mémoire non-volatile (M) et dudit identifiant (IDi) diffusé par ladite première entité (CP,), par application d'un algorithme cryptographie symétrique (5a, 5b) ;
- la reconstitution d'une signature (SIGN), à partir de ces dites clés de signature diversifiées (dKS , 52) et d'au moins desdites données (MSG) transmises par ladite première entité (CPi), par application d'un algorithme de cryptographie symétrique (5c) ; et
- la vérification de ladite signature non-répudiable (SIGNi) générée par ladite première entité (CP,) par comparaison (S, 7) de celle-ci avec ladite signature reconstituée (SIGN), de manière à valider lesdites données transmises (MSG).
7. Procédé selon la revendication 6, caractérisé en ce qu'il comprend une étape de vérification (8) dudit certificat (CTA,) transmis par ladite première entité (CPi), à l'aide de ladite clé publique de vérification de signature (Kp) délivrée par ladite autorité de certification (CA).
8. Procédé selon la revendication 7, caractérisé en ce que ledit ensemble est partitionné en plusieurs groupes distincts d'entités et en ce que ladite autorité de certification (CA) distribue à chacun desdits groupes une clé publique différente.
9. Procédé selon la revendication 5, caractérisé en ce qu'il comprend une phase de vérification desdites données d'authentification comportant au moins les étapes suivantes :
- la soumission à ladite autorité de certification (CA), par au moins l'une desdites entités (CPy) de l'ensemble, desdites données d'authentification (ASIGNi) reçues de ladite première entité (CP,) ;
- la génération par ladite autorité de certification (CA) de première et seconde clés de vérification diversifiées (dKSA^, dKSA2), chacune desdites clés de vérification étant générée à partir desdites paires de clés "mères" (MKSAu-MKSA Z, MKSA2rMKSA22) propres à ladite autorité de certification (CA) et dudit identifiant (ID,) diffusé par ladite première entité (CPi), par application d'un algorithme de cryptographie symétrique (9a, 9b) ;
- la reconstitution de données d'authentification de signature (ASIGN), à partir de ces dites clés de vérification diversifiées générées (dKSA- , dKSA2) et d'au moins ladite signature (SIGNi) transmise par ladite première entité (CPi), par application d'un algorithme de cryptographie symétrique (9c) ; et
- la vérification desdites données d'authentification de signature (ASIGNi), transmises par ladite première entité (CPi), par comparaison (S", 9d) de celles-ci avec lesdites données d'authentification de signature reconstituées (ASIGN), de manière à les valider ; et
- la retransmission du résultat (S") de la comparaison à ladite entité (CPy) ayant soumis lesdites données d'authentification de signature (ASIGNi).
10. Procédé selon la revendication 4, caractérisé en ce qu'il comprend des étapes de génération (4) de données de comptage de génération de signature (CSG) et en ce que lesdites données de comptage de génération de signature (CSG) sont utilisées conjointement aux dites données à transmettre (MSG) pour générer ladite signature non- répudiable (SIGNi) et/ou à cette signature (SIGNi) pour générer lesdites données d'authentification de signature {ASIGNi).
11. Procédé selon la revendication 1 , caractérisé en ce que lesdits algorithmes de cryptographie symétrique (1, 3) sont constitués par des triples "DES".
12. Procédé de génération de signature non-répudiable par une première entité (CPi) d'un ensemble, notamment par un système embarqué à puce électronique comportant au moins des moyens de mémoire non-volatile et des moyens de calcul, ladite signature étant destinée à être diffusée et vérifiée par au moins l'une desdites entités (CPj) de l'ensemble, caractérisé en ce qu'il consiste à générer ladite signature non-répudiable (SIGNi) à partir d'une première clé de signature diversifiée (dKS^) obtenue à partir d'au moins une paire de clés de signature "mères" (MKSn-MKSπ) communes à toutes les entités (CPi, CPj) et d'un identifiant unique (IDi), propre à ladite première entité (CPi) par application d'un algorithme de cryptographie symétrique (1), d'une deuxième clé de signature diversifiée (dKS≤©, dKS'2(j)) et de données à transmettre (MSG) destinées à au moins une desdites entités (CPy) de l'ensemble, par application d'un algorithme de cryptage symétrique (3, 3'), la signature étant destinée à être diffusée à au moins l'une desdites entités (CPj) de l'ensemble avec au moins lesdites données (MSG), ledit identifiant (ID,) et un certificat (CTA,) constituant une habilitation à signer pour la première entité (CPi) obtenu à partir au moins dudit identifiant (IDi) et d'une clé privée de chiffrement (KA) détenue par une autorité de certification (CA), par application d'un algorithme de cryptographie asymétrique (2).
13.Procédé de personnalisation d'une entité (CPi) d'un ensemble dans le but de mettre en œuvre le procédé de génération de signature non-répudiable par ladite entité (CPi) selon la revendication 12, caractérisé en ce qu'il comprend les étapes suivantes :
- le stockage dans lesdits moyens de mémoire non-volatile (M) de deux paires de clés de signature dites "mères" (MKS -MKS 2, MKS2r MKS22), communes à toutes lesdites entités (CPj, CPj) ; - la génération, à partir d'au moins une desdites paires de clés de signature "mères" (MKSu-MKS^) et dudit identifiant unique (IDi), propre à ladite première entité (CP,), de ladite première clé de signature diversifiée (dKS^), par application d'un algorithme de cryptographie symétrique (1) et le stockage de ladite clé diversifiée dans lesdits moyens de mémoire non-volatile (M) ;
- le stockage dudit identifiant unique (IDi) dans lesdits moyens de mémoire non-volatile (M) ;
- le stockage dans lesdits moyens de mémoire non-volatile (M) dudit certificat (CTAi) généré par une entité supplémentaire dite "autorité de certification" (C4) constituant une habilitation à signer pour ladite première entité (CPi), ledit certificat (CTA) étant obtenu à partir au moins dudit identifiant (IDi) et de ladite clé privée de chiffrement (KA) détenue par ladite autorité de certification (CA), par application d'un algorithme de cryptographie asymétrique (2).
14. Système embarqué à puce électronique destiné à la génération d'une signature non-répudiable destinée à être diffusée et vérifiée par au moins un deuxième système embarqué d'un ensemble, chacun desdits systèmes embarqués comprenant au moins des moyens de mémoire ήon-volatile et des moyens de calculs implantés dans ladite puce électronique, caractérisé en ce que lesdits moyens de mémoires non-volatile (M) stockent au moins deux paires de clés de vérification dites "mères" (MKS -MKS , MKS2rMKS22), un identifiant (IDi) propre au dit système embarqué (CPi), au moins une première clé de vérification dite "diversifiée" (dKS^), générée à partir d'une desdites paires de clés de vérification "mères" (MKSU-MKSM) et dudit identifiant (ID,), par application d'un algorithme de cryptographie symétrique (1), et un certificat (CTAi), généré par une entité dite "autorité de certification" (CA) à partir d'une clé privée de signature (KA) détenue par ladite autorité de certification (CA) et dudit identifiant (IDi), par application d'un algorithme de cryptographie asymétrique (2), et en ce qu'il comprend des moyens de génération (1) de ladite signature par application d'un algorithme de cryptographie symétrique (3, 3'), en faisant usage de ladite première clé de signature diversifiée (αf/ Si{,)), d'une seconde clé de signature diversifiée (dKS2(j), dKS'2(j)) et de données à diffuser et à signer (MSG), pour transmission à destination d'au moins un deuxième système embarqué (CPy) dudit ensemble.
15. Système selon la revendication 14, caractérisé en ce que lesdits moyens de mémoire (M) stockent en outre une paire de clés de vérification supplémentaires dites d'authentification (dKSA^, KSAnjj), générées par ladite autorité de certification (CA) à partir d'une paire de clés de vérification dites "mères" (MKSA -MKSA^, MKSA2rMKSA22) propres à cette autorité de certification (CA) et dudit identifiant (IDi) propre à ladite première entité (CP,), par application d'un algorithme de chiffrement symétrique (1', 1").
16. Système selon la revendication 14, caractérisé en ce qu'il est constitué par une carte à puce (CPi).
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2001287797A AU2001287797A1 (en) | 2000-08-31 | 2001-08-31 | Method for generating unchallengeable signatures, in particular by an integratedsystem, and integrated system therefor |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR00/11142 | 2000-08-31 | ||
FR0011142A FR2813467B1 (fr) | 2000-08-31 | 2000-08-31 | Procede de generation de signatures non-repudiables, notamment par un systeme embarque, et systeme embarque pour la mise en oeuvre du procede |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2002019613A1 true WO2002019613A1 (fr) | 2002-03-07 |
Family
ID=8853868
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/FR2001/002720 WO2002019613A1 (fr) | 2000-08-31 | 2001-08-31 | Procede de generation de signatures non-repudiables, notamment par un systeme embarque, et systeme embarque pour la mise en oeuvre du procede |
Country Status (4)
Country | Link |
---|---|
AU (1) | AU2001287797A1 (fr) |
FR (1) | FR2813467B1 (fr) |
TW (1) | TW535380B (fr) |
WO (1) | WO2002019613A1 (fr) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2857184A1 (fr) * | 2003-07-04 | 2005-01-07 | Thomson Licensing Sa | Procede de chiffrement/dechiffrement d'un message et dispositif associe |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0820169A2 (fr) * | 1996-07-15 | 1998-01-21 | Schlumberger Industries | Système de diversification d'informations dans un réseau de distribution de produits ou de services |
-
2000
- 2000-08-31 FR FR0011142A patent/FR2813467B1/fr not_active Expired - Fee Related
-
2001
- 2001-08-31 AU AU2001287797A patent/AU2001287797A1/en not_active Abandoned
- 2001-08-31 WO PCT/FR2001/002720 patent/WO2002019613A1/fr active Application Filing
- 2001-09-03 TW TW90121763A patent/TW535380B/zh active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0820169A2 (fr) * | 1996-07-15 | 1998-01-21 | Schlumberger Industries | Système de diversification d'informations dans un réseau de distribution de produits ou de services |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2857184A1 (fr) * | 2003-07-04 | 2005-01-07 | Thomson Licensing Sa | Procede de chiffrement/dechiffrement d'un message et dispositif associe |
WO2005006645A1 (fr) * | 2003-07-04 | 2005-01-20 | Thomson Licensing | Procede de chiffrement/dechiffrement d'un message et dispositif associe |
Also Published As
Publication number | Publication date |
---|---|
AU2001287797A1 (en) | 2002-03-13 |
FR2813467B1 (fr) | 2002-10-11 |
FR2813467A1 (fr) | 2002-03-01 |
TW535380B (en) | 2003-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0675614B1 (fr) | Dispositif pour l'échange sécurisé de données du genre RSA limité à la signature numérique et la vérification des messages et carte à microcircuit comportant un tel dispositif | |
EP1234284A1 (fr) | Procede de securisation de la phase de pre-initialisation d'un systeme embarque a puce electronique, notamment d'une carte a puce, et systeme embarque mettant en oeuvre le procede | |
FR2834403A1 (fr) | Systeme cryptographique de signature de groupe | |
EP2345202B1 (fr) | Procédé de signature numérique en deux étapes | |
EP1381183B1 (fr) | Dispositif d'authentification d'un message | |
WO2011117486A1 (fr) | Infrastructure non hierarchique de gestion de bi-cles de securite de personnes physiques | |
FR2892252A1 (fr) | Procede et dispositif de creation d'une signature de groupe et procede et dispositif de verification d'une signature de groupe associes. | |
FR2893797A1 (fr) | Personnalisation d'une carte bancaire pour d'autres applications | |
EP1791292A1 (fr) | Personnalisation d'un circuit électronique | |
EP3446436A1 (fr) | Procédé d'obtention par un terminal mobile d'un jeton de sécurité | |
EP1514377A1 (fr) | Procede et dispositif d'interface pour echanger de maniere protegee des donnees de contenu en ligne | |
FR2834841A1 (fr) | Procede cryptographique de revocation a l'aide d'une carte a puce | |
EP2954449B1 (fr) | Authentification de signature manuscrite numérisée | |
EP0769768B1 (fr) | Procédé cryptographique de protection contre la fraude | |
EP4012972A1 (fr) | Méthode de divulgation sélective de données via une chaine de blocs | |
WO2003055134A9 (fr) | Procede cryptographique permettant de repartir la charge entre plusieurs entites et dispositifs pour mettre en oeuvre ce procede | |
WO2002019613A1 (fr) | Procede de generation de signatures non-repudiables, notamment par un systeme embarque, et systeme embarque pour la mise en oeuvre du procede | |
EP0743775B1 (fr) | Procédé de signature numérique à connaissance nulle, permettant d'élaborer une signature résistant aux collisions | |
WO2019122679A1 (fr) | Procédé cryptographique de signature de groupe | |
WO1998010563A2 (fr) | Instrument de securisation d'echanges de donnees | |
EP1269431A1 (fr) | Procede de protection d'une puce electronique contre la fraude | |
EP4402854A1 (fr) | Procedes et dispositifs d'authentification et de verification de non-revocation | |
FR3143243A1 (fr) | Signature et dechiffrement de message securises par double rsa-crt | |
EP2129115A1 (fr) | Méthode de mise à jour de données de sécurité dans un module de sécurité et module de sécurité pour la mise en oeuvre de cette méthode | |
FR2764148A1 (fr) | Instrument de securisation d'echanges de donnees |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AU BR CA CN JP KR NO SG US |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
122 | Ep: pct application non-entry in european phase | ||
NENP | Non-entry into the national phase |
Ref country code: JP |