-
2006-08-22
10/312,337
2001-07-04
US 7,096,361 B2
2006-08-22
WO; PCT/FR01/02143; 20010704
WO; WO02/03338; 20020110
Thomas R. Peeso
2023-07-24
The subject of the invention concerns a process and a system to limit the possibility to transform data, the transformation of TX-type data into TY-type data being carried out using an A-type transformation function, while the transformation of TY-type data into TX-type data is carried out using a B-type transformation function, inverse of the A-type transformation function, the data being in particular designed to constitute for instance pre-payment tokens.
According to the invention, the system includes at least one A-type data processing system (STDA), at least one B-type data processing system (STDB), at least one link, at least once, between the system (STDA) and the system (STDB), at least one A-type processing and memorizing unit (UTMA) including at least the A-type transformation function, at least one B-type processing and memorizing unit (UTMB) including the B-type transformation function and not including the A-type transformation function.
Get notified when new applications in this technology area are published.
G06F1/26 IPC
Details not covered by groups - and Power supply means, e.g. regulation thereof
The subject of the invention concerns the domain of technical means adapted to limit, through at least one processing and memorizing unit, the possibility to transform TX-type data into TY-type data and the possibility to transform TY-type data into TX-type data, the transformation of the TX-type data into TY-type data being carried out using an A-type transformation function, while the transformation of the TY-type data into TX-type data is carried out using a B-type transformation function, inverse of the A-type transformation function.
The subject of the invention finds a particularly advantageous but non-exclusive application in the domain of generation and use of data designed to constitute pre-payment tokens, such as prepayment cards for instance.
In the state of technology, appears the need, for certain applications, to attribute to at least three categories of persons or users, different transformation capabilities for data. The first user category is able to transform TX-type data into TY-type data using an A-type transformation function. The second user category is able to transform TY-type data into TX-type data using the B-type transformation function inverse of the A-type transformation function, but is not able to transform TX-type data into TY-type data using the A-type transformation function. The third user category is able neither to transform TX-type data into TY-type data using the A-type transformation function, nor to transform TY-type data into TX-type data using the B-type transformation function, inverse of the A-type transformation function.
For instance, such a need to distinguish three user categories exists for data designed to constitute pre-payment tokens. Thus, a first user category is able to generate from known initial identifiers corresponding each to a client possessing a resource consumption credit, tamperproof pre-payment token identifiers. A second user category is able to restore, from a prepayment token identifier, the known initial identifier, and therefore the client, with the intention of affecting his resource consumption to him. The third user category is able neither to generate pre-payment token identifiers, nor to determine the client corresponding to a token identifier.
For the implementation of such a process, is known in the previous art, the technique which uses a public keys—private keys encryption system, applied twice. The first user category has a public key #1 and a private key #2. The second user category has a public key #2 and a private key #1.
The first user category is able to transform TX-type data DX into TY-type data DY. To that end, the data DX is encrypted using the public key #1 to obtain intermediate data which is decrypted using the private key #2 to form data DY.
The second user category is able to transform the TY-type data DY into TX-type data DX. The data DY is encrypted using the public key #2 to obtain intermediate data which is decrypted using the private key #1 to constitute the data DX. However, the second user category is not able to transform the data DX into data DY, because it does not have the private key #2.
The third user category is able to transform neither the data DX into data DY, nor the data DY into data DX.
The implementation of that technique of limitation of the possibility to transform data requires the setting up of a public keys certification infrastructure. Such infrastructure is relatively complex and costly.
The subject of the invention aims at remedying the drawbacks of the previous art by proposing a technique enabling to limit the possibilities of data use for three user categories, by implementing simple and inexpensive means.
So as to reach such a goal, the subject of the invention concerns a process to limit, through at least one processing and memorizing unit, the possibility to transform TX-type data into TY-type data and the possibility to transform TY-type data into TX-type data, the transformation of the TX-type data into TY-type data being carried out using an A-type transformation function, while the transformation of the TY-type data into TX-type data is carried out using a B-type transformation function, inverse of the A-type transformation function, the data being in particular designed to constitute for instance, pre-payment tokens, and being implemented on at least one data processing system.
According to the invention, the process comprises:
Various other characteristics emerge from the description made below in reference to the appended diagrams which show, as non-limiting examples, embodiments and implementations of the subject of the invention.
FIG. 1 is a functional block diagram illustrating the technical means enabling the implementation of the invention.
FIG. 2 is a diagram illustrating the transformations of data implemented by the subject of the invention.
FIG. 3 is a diagram stowing the spot where the transformation functions are executed.
FIG. 4 is a diagram illustrating the user categories discriminated between by the subject of the invention.
FIG. 5 is a diagram illustrating the carrying out of the transformation functions using the known technique of secret keys encryption.
FIGS. 6 and 7 are diagrams illustrating two embodiments of the transformation functions using the known technique of public keys—private keys encryption.
FIG. 8 is a diagram illustrating the implementation of an additional transformation function in addition to the known encryption functions.
FIG. 9 is a diagram illustrating an implementation example of apparatuses of customization of processing and memorizing units.
FIG. 10 is a diagram illustrating the principle of information generation.
FIG. 11 is a diagram illustrating the generation and transfer of information towards the processing and memorizing units, during a customization phase.
FIGS. 12 and 13 are respectively principle and application diagrams, illustrating an application example of the subject of the invention enabling the generation and use of pre-payment tokens.
FIG. 1 illustrates an embodiment of a system 1 to limit the possibility of data transformation. The system 1 includes an A-type data processing system STDA. Generally speaking, such an A-type data processing system STDA includes at least one processor A10 enabling the execution of an implementation software A11. The A-type data processing system STDA can be a computer, a server or be part, for instance, of various machines, devices, fixed or mobile products, or vehicles in the general sense. The A-type data processing system STDA is connected, using transfer means A12, by a link A20, to an A-type processing and memorizing unit UTMA.
For the sake of simplification in the rest of the description, the A-type data processing system STDA shall be refereed to as system STDA and the A-type processing and memorizing unit UTMA shall be refereed to as unit UTMA.
The link A20 between the system STDA and the unit UTMA can be realized in any possible way, such as for instance a serial link, a USB bus, a radio link, an optical link, a network link or a direct electric connection to a circuit of the system STDA, etc. It should be observed that the unit UTMA can possibly be physically located inside the same integrated circuit than the processor of the system STDA. In this case, the unit UTMA can be considered as a co-processor in relation to the processor of the system STDA and the link A20 is internal to the integrated circuit.
The unit UTMA includes transfer means A30 and processing and memorizing means A31. It must be considered that the transfer means A12 and A30 are of software and/or hardware nature and are capable of providing and optimizing the data communication between the system STDA and the unit UTMA. Said transfer means A12, A30 are adapted to enable to have at one's disposal an implementation software A11 which is, preferably, independent from the type of link A20 used. Said transfer means A12, A30 are not part of the subject of the invention and are not described more precisely as they are well known by the Man of art.
Said unit UTMA is able to:
As non-limiting example, said unit UTMA can be constituted by a material key on the USB bus of the system STDA or preferably by a chip card and its interface commonly called card reader linked up to the system STDA.
In the case where the unit UTMA is constituted by a chip card and its interface, the transfer means A30 are split into two parts, one being on the interface and the other one being on the chip card. In this embodiment, the absence of the chip card is considered as equivalent to the absence of the unit UTMA, inasmuch as the processing and memorizing means A31 contained in the chip card are missing.
The system 1 also includes a B-type data processing system STDB. Generally speaking, such a B-type data processing system STDB includes at least one processor B10 enabling the execution of an implementation software B11. The B-type data processing system STDB can be a computer, a server or be part, for instance, of various machines, devices, fixed or mobile products, or vehicles in the general sense. The B-type data processing system STDB is connected, using transfer means B12, by a link B20, to a B-type processing and memorizing unit UTMB.
For the sake of simplification in the rest of the description, the B-type data processing system STDB shall be referred to as system STDB and the B-type processing and memorizing unit UTMB shall be referred to as unit UTMB.
The link B20 between the system STDB and the unit UTMB can be realized in any possible way, such as for instance a serial link, a USB bus, a radio link, an optical link, a network link or a direct electric connection to a circuit of the system STDB, etc. It should be observed that the unit UTMB can possibly be physically located inside the same integrated circuit than the processor of the system STDB. In this case, the unit UTMB can be considered as a co-processor in relation to the processor of the system STDB and the link B20 is internal to the integrated circuit.
The unit UTMB includes transfer means B30 and processing and memorizing means B31. It must be considered that the transfer means B12 and B30 are of software and/or hardware nature and are capable of providing and optimizing the data communication between the system STDB and the unit UTMB. Said transfer means B12, B30 are adapted to enable to have at one's disposal an implementation software B11 which is, preferably, independent from the type of link B20 used. Said transfer means B12, B30 are not part of the subject of the invention and are not described more precisely as they are well known by the Man of art.
Said unit UTMB is able to:
As non-limiting example, said unit UTMB can be constituted by a material key on the USB bus of the system STDB or preferably by a chip card and its interface commonly called card reader linked up to the system STDB.
In the case where the unit UTMB is constituted by a chip card and its interface, the transfer means B30 are split into two parts, one being on the interface and the other one being on the chip card. In this embodiment, the absence of the chip card is considered as equivalent to the absence of the unit UTMB, inasmuch as the processing and memorizing means B31 contained in the chip card are missing.
The system 1 according to the invention also includes at least once, at least one link L between the system STDA and the system STDB. Said link L constitutes an information transfer channel and can be realized in all known ways. Said link L can be provided by a computer network and/or by a material transmission of information (personal delivery, postal delivery, etc.). Depending on the applications, the link L can transmit information from the system STDA to the system STDB, from the system STDB to the system STDA or in both directions. As non-limiting example, the transfer by said link L between the system STDA and the system STDB can take the following heterogeneous channel: transmission of files from the system STDA, then printing on a physical support, then transfer of said physical support, then keyboarding data on a computer, then lastly transfer through a computer network to the system STDB.
FIG. 2 illustrates the data transformations carried out by the process according to the invention. Two data types are defined, namely the type TX and the type TY. Each of said types TX and TY is a computer type of data, such as for instance, a 8-bit character, a 32-bit integer, a 64-bit integer, a 512-bit integer, a 64-bit float. In a preferred variant embodiment, the 64-bit integer type is used as data type TX, as well as as data type TY.
The invention uses an A-type transformation function FA and a B-type transformation function FB. The A-type transformation function FA is a bijection having as starting set the type TX and as ending set the type TY. The B-type transformation function FB is a bijection having as starting set the type TY and as ending set the type TX. The A-type transformation function FA and the B-type transformation function FB are inverse of each other. For the sake of simplification in the rest of the description, the A-type transformation function FA shall be referred to as function FA and the B-type transformation function FB shall be referred to as function FB.
Thus, the function FA transforms a piece of TX-type data DX into a piece of TY-type data DY, namely DY=FA (DX), while the function FB transforms a piece of TY-type data DY′ into a piece of TX-type data DX′, namely DX′=FB (DY′).
Since the two functions FA and FB are inverse of each other:
FIG. 3 illustrates the spot where the functions FA and FB are executed. So as to implement the invention, the functions FA and FB must remain confidential. To this end, the function FA is carried out only inside the unit UTMA and the function FB is carried out only inside the unit UTMB and, possibly, inside the unit UTMA. Thus, in the unit UTMA, a piece of TX-type data DX is transformed by the function FA into a piece of TY-type data DY and, possibly, a piece of TY-type data DY′ is transformed by the function FB into a piece of TX-type data DX′. Furthermore, in the unit UTMB, a piece of TY-type data DY′ is transformed by the function FB into a piece of TX-type data DX′.
FIG. 4 makes explicit the three categories of persons or users C1, C2, C3 discriminated between by the subject of the invention, depending on the possession or not of the units UTMA and/or UTMB.
Each user of the first category C1 is able to transform a piece of TX-type data into a piece of TY-type data using the function FA and, possibly to transform a piece of TY-type data into a piece of TX-type data using the function FB. Each user of the first category C1 can thus use a unit UTMA and, possibly, a unit UTMB.
Each user of the second category C2 is able to transform a piece of TY-type data into a piece of TX-type data using the function FB. However, each user of the second category C2 is not able to transform a piece of TX-type data into a piece of TY-type data using the function FA. Each user of the second category C2 can use a unit UTMB, but cannot use a unit UTMA.
Each user of the third category C3 possesses neither a unit UTMA, nor a unit UTMB. No user of said third category C3 is able to transform a piece of TX-type data into a piece of TY-type data using the function FA, or to transform a piece of TY-type data into a piece of TX-type data using the function FB.
Naturally, the functions FA and FB are interesting only if they are not trivial and are difficult to infer from the observation of data coming in and out of the units UTMA and/or UTMB.
FIG. 5 illustrates a first variant embodiment of the functions FA et FB using the known technique of secret keys encryption. According to this variant, the function FA is carried out in the form of a secret key encryption function CS using as secret key, a secret piece of information ICS.
The secret key encryption function CS is a standard encryption function such as for instance DES, inverse DES, triple DES, or IDEA. The secret piece of information ICS is a key for the chosen encryption function. As such, the secret piece of information ICS belongs to the type KCS, i.e. to the set of the keys for said function. For instance, said KCS-type secret piece of information ICS is a 56-bit integer when the chosen secret key encryption function CS is DES.
In other words, the transformation of a piece of TX-type data DX into a piece of TY-type data DY using the function FA amounts to encrypt the piece of data DX using the secret key encryption function CS, using as secret key, the KCS-type secret piece of information ICS.
Similarly, the function FB, inverse of the function FA, is also carried out in the form of a secret key encryption function CSI, called inverse, using as secret key, a secret piece of information ICSI.
The secret key inverse encryption function CSI is a standard encryption function such as for instance DES, inverse DES, triple DES, or IDEA.
The secret piece of information ICSI is a key for the chosen encryption function. As such, the secret piece of information ICSI belongs to the type KCSI, i.e. to the set of the keys for said function.
In other words, the transformation of a piece of TY-type data DY′ into a piece of TX-type data DX′ using the function FB amounts to encrypt the piece of data DY′ using the secret key inverse encryption function CSI, using as secret key, the KCSI-type secret piece of information ICSI.
The secret key inverse encryption function CSI using the secret key ICSI, is the inverse of the secret key encryption function CS using the secret key ICS. For instance, in the case where the secret key encryption function CS is carded out by the function DES, the secret key inverse encryption function CSI must be carried out by the function inverse DES, while the KCS-type secret piece of information ICS and the KCSI-type secret piece of information ICSI must be identical.
FIGS. 6 and 7 illustrate a second variant embodiment of the functions FA and FB, using the known technique of public key-private key encryption.
FIG. 6 illustrates a first embodiment in which the function FA is carried out in the form of a public key encryption function CPU using as public key, a secret piece of information ICPU.
The public key encryption function CPU is a standard encryption function, for instance RSA. The secret piece of information ICPU is a key for the chosen encryption function. As such, the secret piece of information ICPU belongs to the type KCPU, i.e. to the set of the public keys for said function. For instance, said KCPU-type secret piece of information ICPU can be formed by a “module” and a “public exponent” when the chosen public key encryption function CPU is RSA.
In other words, the transformation of a piece of TX-type data DX into a piece of TY-type data DY using the function FA amounts to encrypt the piece of data DX using the public key encryption function CPU, using as public key, the KCPU-type secret piece of information ICPU.
Similarly, the function FB, inverse of the function FA, is for its part carried out in the form of a private key decryption function CPUI, using as private key, a secret piece of information ICPUI.
The private key decryption function CPUI is a standard function, for instance RSA.
The secret piece of information ICPUI is a key for the chosen decryption function. As such, the secret piece of information ICPUI belongs to the type KCPUI, i.e. to the set of the private keys for said function.
In other words the transformation of a piece of TY-type data DY′ into a piece of TX-type data DX′ using the function FB amounts to decrypt the piece of data DY′ using the private key decryption function CPUI, using as private key, the KCPUI-type secret piece of information ICPUI.
The private key decryption function CPUI using the private key ICPUI, is the inverse of the public key encryption function CPU using the public key ICPU. For instance, in the case where the public key encryption function CPU is carried out by the RSA encryption function, the private key decryption function CPUI must be carried out by the RSA decryption function, while the KCPU-type secret piece of information ICPU and the KCPUI-type secret piece of information ICPUI must be respectively an RSA public key and its associated private key.
FIG. 7 illustrates a second embodiment in which the function FA is carried out in the form of a private key encryption function CPR using as private key, a secret piece of information ICPR.
The private key encryption function CPR is a standard encryption function, for instance RSA. The secret piece of information ICPR is a key for the chosen encryption function. As such, the secret piece of information ICPR belongs to the type KCPR, i.e. to the set of the private keys for said function. For instance, said KCPR-type secret piece of information ICPR can be formed by a “module” and a “private exponent” when the chosen private key encryption function CPR is RSA.
In other words, the transformation of a piece of TX-type data DX into a piece of TY-type data DY using the function FA amounts to encrypt the piece of data DX using the private key encryption function CPR, using as private key, the KCPR-type secret piece of information ICPR.
Similarly, the function FB, inverse of the function FA, is for its part carried out in the form of a public key decryption function CPRI, using as public key, a secret piece of information ICPRI.
The public key decryption function CPRI is a standard function, for instance RSA.
The secret piece of information ICPRI is a key for the chosen decryption function. As such, the secret piece of information ICPRI belongs to the type KCPRI, i.e. to the set of the public keys for said function.
In other words, the transformation of a piece of TY-type data DY′ into a piece of TX-type data DX′ using the function FB amounts to decrypt the piece of data DY′ using the public key decryption function CPRI, using as public key, the KCPRI-type secret piece of information ICPRI.
The public key decryption function CPRI using the public key ICPRI, is the inverse of the private key encryption function CPR using the private key ICPR. For instance, in the case where the private key encryption function CPR is carried out by the RSA encryption function, the public key decryption function CPRI must be carried out by the RSA decryption function, while the KCPR-type secret piece of information ICPR and the KCPRI-type secret piece of information ICPRI must be respectively an RSA private key and its associated public key.
In the two examples described in relation to FIGS. 6 and 7, the terms “encryption function” and “decryption function” are used to refer to two encryption operations inverse of each other. For the sake of clarity, the first function is called encryption function and the second function is called decryption function. That choice is arbitrary, so much so that the first function might as well be called decryption function and the second function might as well be called encryption function.
FIG. 8 is a diagram illustrating the implementation of an additional transformation function in addition to the known encryption functions, as illustrated in FIGS. 5 to 7. Indeed, can be used as function FA, an additional transformation function Fad combined with the secret key encryption function CS or with the public key encryption function CPU or with the private key encryption function CPR. Said additional transformation function Fad can be combined in any way before and/or after the secret key encryption function CS, the public key encryption function CPU or the private key encryption function CPR. Naturally, said additional transformation function Fad can also be formed by at least one encryption function.
Similarly, the function FB can be formed by an additional transformation function, called inverse Fadi, which is combined with the secret key inverse encryption function CSI or with the private key decryption function CPUI or with the public key decryption function CPRI.
Whichever embodiment of the transformation functions, illustrated in FIGS. 5 to 8, it must be considered that the subject of the invention includes, besides, a customization phase of the processing and memorizing units during which the transformation functions are implanted in the processing and memorizing units.
FIG. 9 illustrates an implementation example of customization apparatuses 100A and 100B for processing and memorizing units UTM, with the intention of obtaining respectively, units UTMA and units UTMB.
In a preferred embodiment, it must be considered that each processing and memorizing unit UTM includes algorithmic means 110 necessary to carry out the function FA and algorithmic means 120 necessary to carry out the function FB. In the case where a secret key encryption function CS is used, the algorithmic means 110 correspond to means enabling, for instance, the carrying out of the DES function. In this case, the algorithmic means 120 correspond to means enabling the carrying out of the inverse DES function.
During a B-type customization phase, the customization apparatus 100B carried out through a data processing system of any type, includes means to customize at least one processing and memorizing unit UTM, with the intention of obtaining a unit UTMB. To that end, the algorithmic means 120 are used so as to obtain a unit UTMB which is able to carry out the function FB. However, the customization apparatus 100B must also:
Thus, a unit UTMB is obtained including the function FB and not including the function FA.
Similarly, the customization apparatus 100A carried out through a data processing system of any type, is used during an A-type customization phase, to customize at least one processing and memorizing unit UTM, with the intention of obtaining a unit UTMA including the function FA and, possibly, the function FB. In the case where the unit UTMA does not include the function FB, the algorithmic means 120 are inhibited or the customization information is not loaded, as explained above.
Naturally, the customization apparatuses 100A and 100B can be carried out through a same data processing system. Moreover, processing and memorizing units UTM including only the algorithmic means necessary to carry out only one of the two transformation functions can be used. In that case, it is obviously not necessary to inhibit the inverse function.
The customization apparatuses 100A and 100B are also used to provide the generation of secret information used by the functions FA and FB and, possibly, to provide the generation of additional parameters for the additional functions Fad, Fadi described in the examples illustrated in FIGS. 5 to 8.
FIG. 10 makes explicit the general principle of information generation. According to said figure, a principal secret SP is used by an algorithm Dp enabling to determine one of the pairs of secret pieces of information KCS-type ICS and KCSI-type ICSI, or KCPU-type ICPU and KCPU-type ICPUI, or KCPR-type ICPR and KCPR-type ICPRI and, possibly, parameters Pad for the additional transformation function Fad and parameters Padi for the additional inverse transformation function Fadi.
To increase security, it can be advantageous that the principal secret SP may be determined from shared secrets S1, S2, . . . , Sn, using a secret reconstruction algorithm Dps.
After the generation of that information, it can be considered proceeding to the customization of the units UTMA and UTMB. Thus, as it emerges more precisely from FIG. 11, during the A-type customization phase, the customization apparatus 100A is used, to transfer to a processing and memorizing unit UTM, with the intention of obtaining a unit UTMA:
Similarly, the customization apparatus 100B is used during the B-type customization phase to transfer to a processing and memorizing unit UTM, with the intention of obtaining a unit UTMB, the KCSI-type secret piece of information ICSI or the KCPUI-type secret piece of information ICPUI or the KCPRI-type secret piece of information ICPRI and, possibly the parameters Padi for the additional inverse transformation function Fadi to enable the unit UTMB to carry out the function FB.
The subject of the invention aims at enabling to limit the possibility to transform TX-type data into TY-type data and the possibility to transform TY-type data into TX-type data. To that end, the subject of the invention aims at putting at the first user category C1's disposal, at least one unit UTMA to enable to transform a piece of TX-type data into a piece of TY-type using a function FA. Optionally, said unit UTMA includes the possibility to transform a piece of TY-type data into a piece of TX-type data using the function FB.
The second user category C2 has at least one unit UTMB able to provide the transformation of TY-type data into TX-type data using the function FB. However, no user of said second category C2 is able to carry out the transformation of TX-type data into TY-type data using the function FA. It thus appears possible to limit the possibility to transform data between tie users of different categories.
The subject of the invention is particularly useful in the case where the two user categories C1 and C2 able to transform data, do not have access to the secret information characterizing those transformations. Such a goal is reached by using processing and memorizing units, such as material keys on the USB bus or chip cards. The only possibility for a user of a category to carry out a transformation attributed to a user of the other category, is to obtain the unit belonging to the latter.
FIGS. 12 and 13 are respectively principle and application diagrams, illustrating an application example of the subject of the invention enabling the generation and use of data designed to constitute pre-payment tokens.
As it appears more precisely in FIG. 12, a starting set ED is defined, whose elements are pieces TX-type data. The staring set ED includes, in the illustrated example, five elements, namely: 3, 4, 5, 6, 7. Each element of the starting set ED corresponds to an identifier of a client possessing a resource consumption credit, such as for instance a WEB pages viewing credit. During an A-type transformation phase, all the elements of the starting set ED are transformed using the function FA contained in the unit UTMA, so as to obtain an ending set EA whose elements are pieces of TY-type data. In the illustrated example, the elements 3, 4, 5, 6, 7 are transformed respectively into 12850, 85503, 23072, 70331, 45082. The data thus obtained by the transformation carried out in the unit UTMA gives no indication on the elements of the starting set ED.
As it appears more precisely in FIG. 13, each user belonging to the first category C1, has a unit UTMA and can thus, from known initial identifiers, namely: 3, 4, 5, 6, 7 in the illustrated example, obtain pre-payment token identifiers, respectively 12580, 85503, 23072, 70331, 45082. Such prepayment token identifiers can, for instance, be printed on tokens j which can be constituted by any appropriate support, such as plastic cards or coupons. Said pre-payment token identifiers are, preferably, masked to attest to the non-use of the resource corresponding to said tokens.
Moreover, information I enabling to characterize the starting set ED, is transmitted through a link L1, to at least one system STDB belonging to a user of the second category C2. In the present case where the staring set ED is composed of successive integers, the information I enabling to characterize the starting set ED can, for instance, be the value of the smallest element and the number of elements of the set, namely the pair (3, 5).
In the illustrated example, one of the tokens j is transmitted to a user of the third category C3, who thus becomes a client possessing a resource consumption credit. That transmission is carried out by any appropriate mean, such as postal delivery or personal delivery (part of a link L2). Remember that each user of said third category C3 has neither a unit UTMA, nor a unit UTMB.
After having uncovered the identifier of his pre-payment token, namely 85503 in the illustrated example, the user of the third category C3 transmits through another part of the link L2 to a user of the second category C2, the uncovered identifier, as well as a request Rq for a resource Res to consume. Remember that each user of the second category C2 has a unit UTMB linked up to a system STDB. The identifier transmitted by the user of the third category C3 to the system STDB is transferred to the unit UTMB, so as to provide its transformation, using the function FB contained in the unit UTMB, with the intention of restoring the initial identifier. In the illustrated example, the unit UTMB thus transfers to the system STDB the known initial identifier, namely 4, corresponding to the prepayment token 85503.
The system STDB uses the information I to verify that the transformed element, namely 4 in the illustrated example, belongs to the starting set ED. That verification enables to make sure that the pre-payment token has not been tampered with or invented. Thus, if the identifier is not recognized (N), the request Rq is refused, so much so that a negative reply Rp is sent to the user of the third category C3. If the request is accepted (O), the identifier is used as an index in an array T of resources. Said array T indicates the quantity of remaining credits (96 in the illustrated example) for the client possessing the pre-payment token corresponding to the identifier 4. It is then verified that the remaining credits are sufficient for the request made. In the negative case (N), a negative reply Rp is sent to the user of the third category C3. In the case where the credits are sufficient (O), the array is updated by subtracting the cost of the requested resource, and a positive reply Rp containing the requested resource Res is prepared and then delivered to the user of the third category C3.
In the previous example, note that:
In the preferred example described, the invention aims at limiting the possibility to transform data designed to constitute pre-payment tokens. Naturally, the subject of the invention can be implemented to limit the possibility to transform data of different kind, such as for instance, electronic mail messages, internet pages, etc.
The invention is not limited to the examples described and represented, as various modifications can be brought to it within its framework.
1. Process to limit, through at least one processing and memorizing unit, the possibility to transform TX-type data into TY-type data and the possibility to transform TY-type data into TX-type data, the transformation of the TX-type data into TY-type data being carried out using an A-type transformation function (FA), while the transformation of the TY-type data into TX-type data is carried out using a B-type transformation function (FB), inverse of the A-type transformation function (FA), the data being in particular designed to constitute for instance, pre-payment tokens, and being implemented on at least one data processing system, said process comprising:
using an A-type data processing system (STDA) and a B-type data processing system (STDB),
setting up at least once, at least one link (L) between the A-type data processing system (STDA) and the B-type data processing system (STDB), so as to provide the transfer of at least TY-type data from the A-type data processing system (STDA) to the B-type data processing system (STDB) and/or to provide the transfer of at least TX-type data from the B-type data processing system (STDB) to the A-type data processing system (STDA),
during an A-type customization phase, creating at least one A-type processing and memorizing unit (UTMA) including at least the A-type transformation function (FA),
during an A-type transformation phase:
for a user possessing at least one A-type processing and memorizing unit (UTMA), enabling:
to transfer at least one piece of TX-type data from the A-type data processing system (STDA) to the A-type processing and memorizing unit (UTMA),
to transform in the A-type processing and memorizing unit (UTMA), each piece of TX-type data into a piece of TY-type data, using the A-type transformation function (FA),
to transfer each piece of TY-type data from the A-type processing and memorizing unit (UTMA) to the A-type data processing system (STDA),
for a user not possessing any A-type processing and memorizing unit (UTMA), not being able to transform a piece of TX-type data into a piece of TY-type data, using the A-type transformation function (FA),
during a B-type customization phase, creating at least one B-type processing and memorizing unit (UTMB) including the B-type transformation function (FB) and not including the A-type transformation function (FA),
and during a B-type transformation phase:
for a user possessing a B-type processing and memorizing unit (UTMB), and not possessing an A-type processing and memorizing unit (UTMA),
enabling:
to transfer at least one piece of TY-type data from the B-type data processing system (STDB), to the B-type processing and memorizing unit (UTMB),
to transform in the B-type processing and memorizing unit (UTMB), each piece of TY-type data into a piece of TX-type data, using the B-type transformation function (FB),
to transfer each piece of TX-type data from the B-type processing and memorizing unit (UTMB) to the B-type data processing system (STDB),
not being able to transform a piece of TX-type data into a piece of TY-type data using the A-type transformation function (FA).
2. Process according to claim 1, comprising, during the A-type customization phase, creating an A-type processing and memorizing unit (UTMA) also including the B-type transformation function (FB) inverse of the A-type transformation function (FA).
3. Process according to claim 1 or 2, comprising:
using in the A-type processing and memorizing unit (UTMA) as A-type transformation function (FA), a secret key encryption function (CS), as well as a KCS-type secret piece of information (ICS) used as secret key for said function,
and using in the B-type processing and memorizing (UTMB) and possibly in the A-type processing and memorizing unit (UTMA), as B-type transformation function (FB):
a secret key inverse encryption function (CSI), inverse of the secret key encryption function (CS),
and a KCSI-type secret piece of information (ICSI) used as secret key for the secret key inverse encryption function (CSI).
4. Process according to claim 1 or 2, comprising:
using in the A-type processing and memorizing unit (UTMA), as A-type transformation function (FA), a public key encryption function (CPU), as well as a KCPU-type secret piece of information (ICPU) used as public key for said function,
and using in the B-type processing and memorizing (UTMB) and possibly in the A-type processing and memorizing unit (UTMA), as B-type transformation function (FB):
a private key description function (CPUI), inverse of the public key encryption function (CPU),
and a KCPUI-type secret piece of information (ICPUI) used as private key for the private key decryption function (CPUI).
5. Process according to claim 1 or 2, comprising:
using in the A-type processing and memorizing unit (UTMA), as A-type transformation function (FA), a private key encryption function (CPR), as well as a KCPR-type secret piece of information (ICPR) used as private key for said function,
and using in the B-type processing and memorizing (UTMB) and possibly in the A-type processing and memorizing unit (UTMA), as B-type transformation function (FB):
a public key decryption function (CPRI), inverse of the private key encryption function (CPR),
and a KCPRI-type secret piece of information (ICPRI) used as public key for the public key decryption function (CPRI).
6. Process according to claim 3, 4 or 5, comprising:
using as A-type transformation function (FA), an additional transformation function (Fad) combined with the secret key encryption function (CS), with the public key encryption function (CPU), or with the private key encryption function (CPR),
and using as B-type transformation function (FB), an additional inverse transformation function (Fadi) combined with the secret key inverse encryption function (CSI), with the private key decryption function (CPUI), or with the public key decryption function (CPRI).
7. Process according to one of the claims 1 to 5, comprising:
using as A-type processing and memorizing units (UTMA) and/or B-type processing and memorizing units (UTMB), processing and memorizing units (UTM) including each algorithmic means (110, 120) necessary to carry out the A-type transformation function (FA) the B-type transformation function (FB),
inhibiting:
during the B-type customization phase, in each B-type processing and memorizing unit (UTMB), the possibility to carry out the A-type transformation function (FA),
and possibly, during the A-type customization phase, in each A-type processing and memorizing unit (UTMA), the possibility to carry out the B-type transformation function (FB).
8. Process according to one of the claims 3, 4, 5 or 6, comprising generating a principal secret (SP) from which is determined a pair of secret pieces of information KCS-type (ICS) and KCSI-type (ICSI), or KCPU-type (ICPU) and KCPUI-type (ICPUI), or KCPR-type (ICPR) and KCPRI-type (ICPRI) and possibly parameters (Pad) for the additional transformation function (Fad) and parameters (Padi) for the additional inverse transformation function (Fadi).
9. Process according to claim 8, comprising using a method of shared secrets (S1, S2, . . . , Sn) to generate the principal secret (SP).
10. Process according to claim 8 or 9, comprising:
using the principal secret (SP) to generate at least one of the elements of the pairs of secret pieces of information KCS-type (ICS) and KCSI-type (ICSI), or KCPU-type (ICPU) and KCPUI-type (ICPUI), or KCPR-type (ICPR) and KCPRI-type (ICPRI), and possibly parameters (Pad) for the additional transformation function (Fad) and parameters (Padi) for the additional inverse transformation function (Fadi),
customizing during the A-type customization phase, each processing and memorizing unit (UTMA) by transferring to it:
the KCS-type secret piece of information (ICS) or the KCPU-type secret piece of information (ICPU) or the KCPR-type secret piece of information (ICPR) and possibly the parameters (Pad) for the additional transformation function (Fad) to enable it to carry out the A-type transformation function (FA),
and possibly, the KCSI-type secret piece of information (ICSI) or the KCPUI-type secret piece of information (ICPUI) or the KCPRI-type secret piece of information (ICPRI) and, possibly the parameters (Padi) for the additional inverse transformation function (Fadi) to enable it to carry out the B-type transformation function (FB),
customizing during the B-type customization phase, each B-type processing and memorizing unit (UTMB) by transferring to it the KCSI-type secret piece of information (ICSI) or the KCPUI-type secret piece of information (ICPUI) or the KCPRI-type secret piece of information (ICPRI) and, possibly the parameters (Padi) for the additional inverse transformation function (Fadi) to enable it to carry out the B-type transformation function (FB).
11. Process according to claim 1, comprising:
during the A-type transformation phase:
defining a starting set (ED) whose elements are pieces of TX-type data,
transforming all the elements of the starting set (ED) using the A-type transformation function (FA) contained in the A-type processing and memorizing unit (UTMA), so as to obtain an ending set (EA) whose elements are pieces of TY-type data,
transferring from the A-type data processing system (STDA) to the B-type data processing system (STDB) through the link(s) (L):
information (I) enabling to characterize the starting set (ED),
and at least one element of the ending set (EA),
and during the B-type transformation phase, for at least one element of the ending set (EA) transferred from the A-type data processing system (STDA) to the B-type data processing system (STDB):
transforming it using the B-type transformation function (FB) contained in the B-type processing and memorizing unit (UTMB),
and verifying, using the information (I) enabling to characterize the starting set (ED), that that transformed element corresponds to an element of the starting set (ED).
12. Process according to claim 11, comprising using each element of the ending set (EA) to constitute a prepayment token (j).
13. System to limit the possibility to transform TX-type data into TY-type data and the possibility to transform TY-type data into TX-type data, the transformation of the TX-type data into TY-type data being carried out using an A-type transformation function (FA), while the transformation of the TY-type data into TX-type data is carried out using a B-type transformation function (FB), inverse of the A-type transformation function (FA), the data being in particular designed to constitute for instance pre-payment tokens, said system being characterized in that it includes:
at least one A-type data processing system (STDA),
at least one B-type data processing system (STDB),
at least one link (L), at least once, between the A-type data processing system (STDA) and the B-type data processing system (STDB), so as to provide the transfer of at least TY-type data from the A-type data processing system (STDA) to the B-type data processing system (STDB) and/or to provide the transfer of at least TX-type data from the B-type data processing system (STDB) to the A-type data processing system (STDA),
at least one A-type processing and memorizing unit (UTMA) including at least the A-type transformation function (FA),
means to define at least one piece of TX-type data designed to be transformed into a piece of TY-type data,
means to transfer at least one piece of TX-type data from the A-type data processing system (STDA) to the A-type processing and memorizing unit (UTMA),
means to transform in the A-type processing and memorizing unit (UTMA), each piece of TX-type data into a piece of TY-type data, using the A-type transformation function (FA),
means to transfer each piece of TY-type data from the A-type processing and memorizing unit (UTMA) to the A-type data processing system (STDA),
at least one B-type processing and memorizing unit (UTMB) including the B-type transformation function (FB) and not including the A-type transformation function (FA), with the intention of not being able to transform a piece of TX-type data into a piece of TY-type data using the A-type transformation function (FA),
means to define at least one piece of TY-type data designed to be transformed into apiece of TX-type data,
means to transfer at least one piece of TY-type data from the B-type data processing system (STDB) to the B-type processing and memorizing unit (UTMB),
means to transform in the B-type processing and memorizing unit (UTMB), each piece of TY-type data into a piece of TX-type data, using the B-type transformation function (FB),
and means to transfer each piece of TX-type data from the B-type processing and memorizing unit (UTMB) to the B-type data processing system (STDB).
14. System according to claim 13, characterized in that the A-type processing and memorizing unit (UTMA) also includes the B-type transformation function (FB) inverse of the A-type transformation function (FA).
15. System according to claim 13 or 14, characterized in that:
the A-type processing and memorizing unit (UTMA) includes as A-type transformation function (FA), a secret key encryption function (CS), as well as a KCS-type secret piece of information (ICS) used as secret key for said function,
and the B-type processing and memorizing unit (UTMA) and possibly the A-type processing and memorizing unit (UTMA), include(s) as B-type transformation function (FB):
a secret key inverse encryption function (CSI), inverse of the secret key encryption function (CS),
and a KCSI-type secret piece of information (ICSI) used as secret key for the secret key inverse encryption function (CSI).
16. Apparatus to customize processing and memorizing units (UTM) used in a system in accordance with one of the claims 13 to 15, characterized in that it includes means to customize:
at least one A-type processing and memorizing unit (UTMA) including the A-type transformation function (FA) and possibly the B-type transformation function (FB),
and/or at least one B-type processing and memorizing unit (UTMB) including the B-type transformation function (FB) and not including the A-type transformation function (FA).
17. Apparatus according to claim 16, characterized in that it includes, for processing and memorizing units (UTM) including each the possibility to carry out the A-type transformation function (FA) and the B-type transformation function (FB), inhibition means adapted to inhibit:
in each B-type processing and memorizing unit (UTMB) the use of the A-type transformation function (FA),
and possibly in each A-type processing and memorizing unit (UTMA), the use of the B-type transformation function (FB).