DEVICE FOR DIRECTLY TRANSMITTING ELECTRONIC COIN DATA RECORDS TO ANOTHER DEVICE, AND PAYMENT SYSTEM
20220207500 · 2022-06-30
Inventors
- Florian GAWLAS (Munchen, DE)
- Tilo FRITZHANNS (Munchen, DE)
- Wolfram SEIDEMANN (Munchen, DE)
- Verena RAPP (Munchen, DE)
- Maria VELEVA (Munchen, DE)
Cpc classification
H04L9/3239
ELECTRICITY
H04L9/3218
ELECTRICITY
G06Q20/10
PHYSICS
H04L2209/56
ELECTRICITY
G06Q20/02
PHYSICS
International classification
G06Q20/06
PHYSICS
Abstract
A device for directly transmitting electronic coin data records to another device includes accessing data storage, such that an electronic coin data record is stored in the data storage; an interface at least for outputting the at least one electronic coin data record to the other device; and a computing unit configured to mask the electronic coin data record in the device by applying a homomorphic encryption function to the electronic coin data record to obtain a masked electronic coin data record for registering the masked electronic coin data record at a monitoring entity; and to output the electronic coin data record using the interface. A payment system has a monitoring layer including a database in which masked electronic coin data records are stored; and a direct transaction layer including at least two devices in which the method can be carried out.
Claims
1.-21. (canceled)
22. A device configured to directly transmit electronic coin data records to another device, comprising: means for accessing data storage, wherein at least one electronic coin data record is stored in said data storage; an interface at least for outputting the at least one electronic coin data record to the other device; and a computing unit configured to: mask the electronic coin data record in the device by applying a homomorphic one-way function to the electronic coin data record to obtain a masked electronic coin data record for registering the masked electronic coin data record in a monitoring entity; and output the electronic coin data record by means of said interface, wherein the at least one electronic coin data record includes a monetary amount and a concealment amount.
23. The device according to claim 22, wherein said computing unit: masks an electronic coin data record to be switched as the electronic coin data record in order to obtain a masked electronic coin data record to be switched as the masked electronic coin data record which is registered in said monitoring entity; and or masks an electronic coin data record split into a first electronic partial coin data record and a second electronic partial coin data record in order to obtain a masked first electronic partial coin data record and a masked second electronic partial coin data record which is to be registered in said monitoring entity is; and/or masks an electronic partial coin data record to be joined out of a first and a second electronic coin data record as the electronic coin data record in order to obtain a masked coin data record to be joined as the masked electronic coin data record which is registered in said monitoring entity.
24. The device according to claim 22, further comprising an interface for receiving electronic coin data records, this interface being one of: an electronic detection module of the device configured to optoelectronically detect an electronic coin data record represented in visual form; a protocol interface for wirelessly receiving the electronic coin data record from another device by means of a communication protocol for wireless communication; a data interface for receiving the electronic coin data record from the other device by means of an application; and/or said interface also configured to output the electronic coin data record.
25. The device according to claim 22, further comprising a means for accessing an electronic safe module, wherein said safe module is configured to securely store at least one electronic coin data record.
26. The device according to claim 22, wherein said computing unit is further configured, depending on a specification for electronic coin data records stored in the device, in particular a threshold value of a monetary amount for electronic coin data records stored in the device and/or a denomination specification for electronic coin data records stored in the device, to automatically transmit at least one electronic coin data record from the device or into the device in order to comply with said specification.
27. The device according to claim 26, wherein, in order to comply with said specification, said computing unit is further configured to transmit the electronic coin data record from the device to said safe module or from said safe module to the device; or transmit the electronic coin data record from an issuer entity to the device or from the device to said issuer entity.
28. The device according to claim 25, wherein said computing unit is configured to exchange electronic coin data records by means of said interface with other devices and only exchanges, in particular receives or returns, electronic coin data records with said issuer entity by means of said safe module; and/or wherein said issuing entity only issues electronic coin data records to safe modules of devices and/or takes back electronic coin data records only from safe modules of devices.
29. The device according to claim 22, further comprising a location recognition module configured to recognize a predefined location zone, wherein said computing unit is further configured to perform special functions, such as a specification-dependent automatic transmission of electronic coin data records, an exchange of electronic coin data records with said safe module or said issuer entity, optionally via said safe module, or a registration of masked electronic coin data records, only in said predefined location zone.
30. The device according to claim 22, wherein said computing unit is further configured to: detect a difference between a monetary amount to be transmitted and a monetary amount of the stored electronic coin data record; request an electronic coin data record having a monetary amount equal to the detected difference; receive the requested electronic coin data record.
31. The device according to claim 30, wherein said computing unit is further configured to: join the received electronic coin data record with the stored electronic coin data record and mask the electronic coin data record to be joined for registration at said monitoring entity, and transmit the joined electronic coin data record, the monetary amount of which corresponds to the monetary amount to be transmitted; or transmit the stored and the received electronic coin data records, the monetary amounts of which together correspond to the monetary amount to be transmitted, wherein the received electronic coin data record is optionally switched beforehand.
32. The device according to claim 22, wherein said computing unit is further configured to: detect a surplus from a received monetary amount and a threshold value of a monetary amount for stored electronic coin data records; cause said surplus to be credited to a bank account by splitting the electronic coin data record in order to obtain a first electronic partial coin data record and a second electronic partial coin data record and masking the first and second partial coin data records in order to obtain masked first and second electronic coin data records for registering at said monitoring entity.
33. The device according to claim 22, further comprising a bank note module configured for inputting and/or outputting bank notes.
34. The device according to claim 33, wherein the device is a register terminal and/or an automat and is configured to output a monetary amount in parts as a bank note by means of said bank note module and in parts as an electronic coin data record by means of said interface.
35. The device according to claim 34, wherein the part of the monetary amount to be output as an electronic coin data record is a first electronic partial coin data record of a split electronic coin data record.
36. The device according to claim 33, wherein the device is a register terminal and/or an automat and is configured to output a monetary amount in bank notes by means of the bank note module, wherein the device receives a partial monetary amount of the monetary amount in the form of an electronic coin data record from another device for this purpose.
37. The device according to claim 22, further comprising at least one of: a security element reading device configured to read a security element; and/or a random number generator; and/or an interface to a bank with access to be authorized to a bank account.
38. The device according to claim 22, wherein said data storage is a shared data storage that can be accessed by at least one other device, wherein each of the devices has an application, said application being configured to: communicate with said monitoring entity to register electronic partial coin data records accordingly.
39. A method in a device according to claim 22, said method comprising at least the steps of accessing, masking and outputting.
40. A payment system for the exchange of monetary amounts, said payment system comprising: a monitoring layer including a database which is a decentralized database in which masked electronic coin data records are stored; and a direct transaction layer including at least one device according to claim 22.
41. The payment system according to claim 40, wherein the device is a register terminal and/or an automat and the other device is a terminal of a user.
42. The payment system according to claim 40, further comprising an issuer entity configured to generate an electronic coin data record, wherein said issuer entity provides a masked generated electronic coin data record with a signature and sends the masked generated electronic coin data record and the signature to said monitoring entity; and/or output an electronic coin data record to the device or withdraw an electronic coin data record from the device, in particular by debiting or crediting the monetary amount of the output or withdrawn electronic coin data record to/from a bank account of the device.
Description
BRIEF DESCRIPTION OF THE FIGURES
[0138] The invention and further embodiments and advantages of the invention are explained in more detail below with reference to figures, said figures merely describing exemplary embodiments of the invention. The same components in the figures are provided with the same reference symbols. The figures are not to be regarded as true to scale; individual elements of the figures may be shown exaggeratedly large or exaggeratedly simplified.
[0139] In the figures:
[0140]
[0141]
[0142]
[0143]
[0144]
[0145]
[0146]
[0147]
[0148]
[0149]
[0150]
[0151]
[0152]
DESCRIPTION OF FIGURES
[0153]
[0154] Here, an electronic coin data record C.sub.i is generated in an issuer entity 1, for example a central bank. For the electronic coin data record C.sub.i, which includes a concealment amount, a masked electronic coin data record Z.sub.i is generated and registered in a database, which may be configured as a “concealed electronic data record ledger” here. In the context of this invention, a ledger is understood to be a list, a directory, preferably a database structure. The electronic coin data record C.sub.i is output to a first terminal M1.
[0155] For example, a true random number was generated for this purpose as the concealment amount r.sub.i. This concealment amount r.sub.i is linked to a monetary amount υ.sub.i and then forms an i-th electronic coin data record according to the invention:
[0156] A valid electronic coin data record can be used for payment. The owner of the two values υ.sub.i and r.sub.i is therefore in possession of the digital money. However, the digital money is defined in the system by a pair consisting of a valid electronic coin data record and a corresponding masked electronic coin data record Z.sub.i. The masked electronic coin data record Z.sub.i is obtained by applying a homomorphic one-way function f(C.sub.i) according to equation (2):
[0157] This function f(C.sub.i) is public, i.e. every system participant may call and use this function. This function f(C.sub.i) is defined according to equation (3):
where H and G are generator points of a group G, in which the discrete logarithm problem is hard, with the generators G and H, for which the discrete logarithm of the respective other base is unknown. For example, G and H are generator points of elliptical curve cryptography, ECC—that is, private keys of the ECC. These generator points G and H must be chosen in such a way that the relationship between G and H is not publicly known, so that with:
the link n must be practically impossible to find in order to prevent the monetary amount υ.sub.i from being manipulated while a valid Z.sub.i can still be calculated. Equation (3) is a “Pederson commitment for ECC” ensuring that the monetary amount υ.sub.i can be passed, i.e. “committed”, to a monitoring entity 2 without revealing it to the monitoring entity 2. Therefore, only the masked coin data record Z.sub.i is sent (revealed) to the public and remote monitoring entity 2 is
[0158] Even if encryption based on elliptical curves is or is described in the present example, another cryptographic method based on a discrete logarithmic method would also be conceivable.
[0159] Due to the entropy of the concealment amount r.sub.i, Equation (3) allows for a cryptographically strong Z.sub.i to be obtained even with a small range of values for monetary amounts υ.sub.i. This means that a simple brute force attack by simply estimating monetary amounts is practically impossible.
[0160] Equation (3) is a one-way function, which means that the computation of Z.sub.i from C.sub.i is easy because an efficient algorithm exists, whereas the computation of C.sub.i from Z.sub.i is very difficult because there is no algorithm that can be solved in polynomial time.
[0161] In addition, equation (3) is homomorphic for addition and subtraction, i.e. the following applies:
[0162] Thus, addition operations and subtraction operations can be carried out both in the direct transaction layer 3 and also in parallel in the monitoring layer 4 without the monitoring layer 4 having knowledge of the electronic coin data records C.sub.i. The homomorphic property of equation (3) makes it possible to manage valid and invalid electronic coin data records C.sub.i on the sole basis of the masked coin data records Z.sub.i and to ensure that no new monetary amount υ.sub.j has been created.
[0163] Due to this homomorphic property, the coin data record C.sub.i can be split according to equation (1) into:
[0164] The following applies to the corresponding masked coin data records:
[0165] With equation (9), for example, a “split” processing or a “split” processing step of a coin data record according to
[0166] In the same way, electronic coin data records can also be put together (joined), see
[0167] In addition, it is necessary to check whether (not allowed) negative monetary amounts are registered. An owner of an electronic coin data record C.sub.i must be able to prove to the monitoring entity 2 that all monetary amounts υ.sub.i in a processing operation are within a value range of [0, . . . , n] without informing the monitoring entity 2 about the monetary amounts υ.sub.i. These proofs of range are also called “range proofs”. Ring signatures are preferably used as range proofs. For the present exemplary embodiment, both the monetary value and the concealment amount of an electronic coin data record are resolved in bit representation, i.e. υ.sub.i=Σa.sub.j*2.sup.j for 0≤j≤n and a.sub.j “element” {0; 1} and r.sub.i=Σb.sub.j*2.sup.j for 0≤j≤n and b.sub.j “element” {0; 1}. A ring signature with C.sub.ij=a.sub.j.Math.H+b.sub.j.Math.G and C.sub.ij.Math.a.sub.j.Math.H is preferably carried out for each bit, wherein, in one embodiment, it is possible to carry out a ring signature only for certain bits.
[0168] What is not shown in
[0169] In
[0170] The transmitted electronic coin data record C.sub.i is received as C.sub.i* in the second terminal M2. When the electronic coin data record C.sub.i* is received, the second terminal M2 is in possession of the digital money represented by the electronic coin data record C.sub.i*. If both terminals trust each other, no further steps are necessary to end the process. However, the terminal M2 does not know whether the electronic coin data record C.sub.i* is actually valid. In addition, the terminal M1 could also transmit the electronic coin data record C.sub.i to a third terminal (not shown). In order to prevent this, further preferred steps are provided in the method.
[0171] In order to check the validity of the received electronic coin data record C.sub.i*, the masked transmitted electronic coin data record Z.sub.i* is calculated in the second terminal M2 with the—public—one-way function from equation (3). The masked transmitted electronic coin data record Z.sub.i* is then transmitted to the monitoring entity 2 and searched there. If there is a match with a registered and valid masked electronic coin data record, the validity of the received coin data record C.sub.i* is indicated to the second terminal M2 and it is determined that the received electronic coin data record C.sub.i* is equal to the registered electronic coin data record C.sub.i. With the check for validity, it may be determined, in one embodiment, that the received electronic coin data record C.sub.i* is still valid, i.e. that it has not already been used by another processing step or in another transaction and/or was subject to another change.
[0172] Preferably, the electronic coin data record obtained is then switched.
[0173] It is essential to the method according to the invention that the sole knowledge of a masked electronic coin data record Z.sub.i does not entitle the holder to spend the digital money. The sole knowledge of the electronic coin data record C.sub.i, however, authorizes payment, i.e. to successfully carry out a transaction, in particular if the coin data record C.sub.i is valid. There is a 1-to-1 relationship between the electronic coin data records C.sub.i and the corresponding masked electronic coin data records Z.sub.i. The masked electronic coin data records Z.sub.i are registered in the monitoring entity 2, for example a public decentralized database. This registration makes it possible to check the validity of the data record, for example whether new monetary amounts have been created (illegally).
[0174] A main distinguishing feature compared to conventional solutions is that the masked electronic coin data records Z.sub.i are stored in a monitoring layer 4 and all processing operations on the electronic coin data record Z.sub.i are registered there, whereas the actual transmission of the digital money takes place in a (secret, i.e. one not known to the public) direct transaction layer 3.
[0175] In order to prevent multiple spending or to ensure more flexible transmission, the electronic coin data records can now be processed in the method according to the invention. The following table 1 lists the individual operations, with the specified command also executing a corresponding processing step:
TABLE-US-00001 TABLE 1 Number of operations to be carried out per processing of a coin data record in the terminal or issuer entity; further operations not listed here are required; instead of the implementation listed, other implementations implying other operations are conceivable Command Create Create random Create Create range or step signature number mask proof Create 1 1 1 0 or 1 Deactivate 1 0 1 0 or 1 Split 0 1 3 0 or 1 Join 0 0 3 1 Switch 0 1 2 1
[0176] Table 1 above shows that, for each coin data record and each of the processing operations “create”, “deactivate”, “split”, “join” and “switch”, different operations “create signature”; “create random number”; “create Mask”; “range proof” may be provided, each of the processing operations being registered in the monitoring entity 2 and appended there in unchangeable form to a list of previous processing operations for masked electronic coin data records Z.sub.i. The processing operations of “create” and “deactivate” on an electronic coin data record are only carried out in secure locations and/or only by selected entities, for example the issuer entity 1, while the operations of all other processing operations can be carried out on terminals M1 to M3.
[0177] The number of operations for the individual processing is marked in table 1 with “0”, “1” or “2”. The number “0” indicates that the terminal or issuer entity 1 does not have to carry out this operation for this processing of the electronic coin data record. The number “1” indicates that the terminal or issuer entity 1 must be able to carry out this operation once for this processing of the electronic coin data record. The number “2” indicates that the terminal or issuer entity 1 must be able to carry out this operation twice for this processing of the electronic coin data record.
[0178] In principle, it may also be planned, in one embodiment, that a range proof is also carried out by the issuer entity 1 during creation and/or deletion.
[0179] The operations required for the monitoring entity 2 for the individual processing operations are listed in the Table 2 below:
TABLE-US-00002 TABLE 2 Number of operations to be carried out per processing of a coin data record in the monitoring entity; further operations not listed here are required; instead of the implementation listed, other implementations implying other operations are conceivable Checking homomorphic Checking the validity properties of the Checking the of the masked masked electronic Command or signature of electronic data Checking coin data records, i.e. step the issuer record range proof adding or subtracting Create 1 0 0 or 1 0 Deactivate 1 1 0 or 1 0 Split 0 1 2 or more 1 Join 0 2 or more 1 1 Switch 0 1 1 0
[0180] All operations of Table 2 can be carried out in the monitoring entity 2, which, as a trusted entity, for example as a decentralized server, in particular a distributed trusted server, ensures sufficient integrity of the electronic coin data records.
[0181] Table 3 shows the components to be preferably installed for the system participants in the payment system of
TABLE-US-00003 TABLE 3 Preferred units in the system components Command or step Issuer entity Terminal Monitoring entity Random number generator (high security) Yes — — Random number generator (deterministic) — Yes — PKI for signing Yes — — PKI for checking signature — (Yes) Yes Read access on DLT Yes Yes Yes Write access on DLT Yes Yes Yes Deactivating the electronic coin Yes Yes data record Transport encryption Yes Yes — Safe storage (Yes) Yes —/Yes Masking unit Yes Yes — Range proof — Yes — Checking range proof — — Yes DLT software — — Yes
[0182] Table 3 shows an overview of the components to be preferably used in each system participant, i.e. the issuer entity 1, a terminal M1 and the monitoring entity 2. The terminal M1 may be configured as a wallet for electronic coin data records, i.e. as an electronic purse, i.e. a data storage for the terminal in which a large number of coin data records can be stored, and may be implemented, for example, in the form of an application on a smartphone or IT system of a retailer, a commercial bank or another market participant, and send or receive an electronic coin data record. Thus, the components in the terminal as shown in Table 3 are implemented as software. It is assumed that the monitoring entity 2 is based on a DLT and is operated by a number of trusted market participants.
[0183]
[0184] Each processing operation for a processing (creating, deactivating, splitting, joining and switching) is registered in the monitoring entity 2 and appended there in unchangeable form to a list of previous processing operations for masked electronic coin data records Z.sub.i. The individual operations or their check results, that is to say the intermediate results of processing, are recorded in the monitoring entity 2.
[0185] The processing of “creating” and “deactivating”, which concerns the existence of the monetary amount υ.sub.i per se, that is, the creation and destruction of money, require additional approval by the issuing entity 1 in order to be registered (i.e., logged) in the monitoring entity 2. The other processing operations (splitting, joining, switching) do not require any authorization by the issuing entity 1 or by the command initiator (=payer, for example the first terminal M1).
[0186] The registration of the respective processing in the monitoring entity 2 is realized, for example, by means of corresponding list entries in the database according to
[0187] For example, the calculation to be performed in column 26 is:
[0188] Column 27 (R flag) indicates whether a check of the range proof(s) was successful, where status “1” means that a validity check showed that the range proof(s) are confirmable and status “0” indicates that a validity check showed that the range proof(s) could not be reproduced and status “-” indicates that a validity check has not yet been completed. Column 28 (S flag) shows the successful verification of the signature. Status “1” means that a validity check showed that the signature could be identified as that of the issuer entity and status “0” indicates that a validity check showed that the signature could not be identified as that of the issuer entity and status “-” indicates that a validity check has not yet been completed.
[0189] A change in the status of one of the markings (also referred to as “flags”) requires approval by the monitoring entity 2 and must then be stored in the monitoring entity 2 in an unchangeable manner. Processing is final if and only if the required markings 25 to 28 have been validated by the monitoring entity 2, i.e. have changed from state “0” to state “1” or state “1” after the corresponding check.
[0190] In order to determine whether a masked electronic coin data record Z is valid, the monitoring entity 2 searches—in the present variant—for the last change that affects the masked electronic coin data record. It is essential that the masked electronic coin data record Z is valid if and only if the masked electronic coin data record Z is listed for its last processing in one of the successor columns 23a, 23b and this last processing has the corresponding final marking 25 to 28. It is also essential that the masked electronic coin data record Z is valid if and only if the masked electronic coin data record Z is listed for its last processing in one of the predecessor columns 22a, 22b and this last processing failed, i.e. at least one of the correspondingly requested states of the markings 25 to 28 is set to “0”.
[0191] It is also essential that the masked electronic coin data record Z is not valid for all other cases, for example if the masked electronic coin data record Z is not found in the monitoring entity 2; or if the last processing of the masked electronic coin data record Z is listed in one of the successor columns 23a, 23b, but this last processing never became final; or if the last processing of the masked electronic coin data record Z is in one of the predecessor columns 22a, 22b and this last processing is final.
[0192] The checks by the monitoring entity 2 to check whether processing is final are shown in columns 25 to 28: The status in column 25 indicates whether the masked electronic coin data record(s) are valid according to predecessor columns 22a, 22b. The status in column 26 indicates whether the calculation for amount neutrality, for example according to equation (10), is correct. The status in column 27 indicates whether the range proof for the masked electronic coin data records Z could be checked successfully. The status in column 28 indicates whether the signature in column 24 of the masked electronic coin data record Z is a valid signature of the issuer entity 1.
[0193] The status “0” in one of columns 25 to 28 indicates that the check was not successful. The status “1” in one of columns 25 to 28 indicates that the check was successful. The status “-” in one of columns 25 to 28 indicates that no check has been carried out. The status may also have a different value, as long as it is possible to clearly differentiate between success/failure of a check and it is clear whether a certain check was carried out.
[0194] As an example, five different processing operations are defined, which are explained in detail here. Reference is made to the corresponding list entry in
[0195] One processing operation is, for example, “creating” an electronic coin data record C.sub.i. The creation in the direct transaction layer 3 by the issuer entity 1 includes choosing a monetary amount υ.sub.i and creating a concealment amount r.sub.i, as has already been described with equation (1). As shown in
[0196] A processing operation is, for example, “deactivating”. The deactivation, that is to say the destruction of money, has the effect that the masked electronic coin data record Z.sub.i becomes invalid after the issuer entity 1 has successfully executed the deactivate command. The (masked) electronic coin data record to be deactivated can therefore no longer be processed further in the monitoring layer 4. In order to avoid confusion, the corresponding (unmasked) electronic coin data records C.sub.i should also be deactivated in the direct transaction layer 3. When “deactivating”, the predecessor column 22a is written with the electronic coin data record Z.sub.i, but no subsequent column 23a, 23b is used. When being deactivated, the masked electronic coin data record Z.sub.i must be checked to see whether the signature matches the signature according to column 24 in order to ensure that the electronic coin data record C.sub.i was actually created by an issuer entity 1, although other means may be used for this check. If the signed Z.sub.i, which is sent with the deactivate command, can be confirmed as signed by the issuer entity 1, the marking 28 is set (from “0” to “1”). The markings according to columns 26 to 27 do not require a status change and can be ignored. The markings according to columns 25 and 28 are set after appropriate checking.
[0197] A processing operation is, for example, “splitting”. Splitting, that is dividing an electronic coin data record Z.sub.i into two electronic partial coin data records Z.sub.j and Z.sub.k, is initially carried out in the direct transaction layer 3, as shown in
[0198] One processing operation is, for example, “joining”. Joining, i.e. merging two electronic coin data records Z.sub.i and Z.sub.j to form one electronic coin data record Z.sub.m, is initially carried out in the direct transaction layer 3, as shown in
[0199] One processing operation is, for example, “switching”. Switching is necessary if an electronic coin data record has been transmitted to another terminal and a renewed issue by the transmitting terminal (here M1) is to be excluded. When switching, also called “switch”, the electronic coin data record C.sub.k received from the first terminal M1 is exchanged for a new electronic coin data record C.sub.l with the same monetary amount. The new electronic coin data record C.sub.1 is generated by the second terminal M2. This switch is necessary in order to invalidate (make invalid) the electronic coin data record C.sub.k received from the first terminal M1, thereby preventing the same electronic coin data record C.sub.k from being output again. This is because, as long as the electronic coin data record C.sub.k has not been switched, the first terminal M1 can pass this electronic coin data record C.sub.k to a third terminal M3 since the first terminal M1 has knowledge of the electronic coin data record C.sub.k. Switching is carried out, for example, by adding a new concealment amount r.sub.add to the concealment amount r.sub.k of the obtained electronic coin data record C.sub.k, whereby a concealment amount r.sub.i is obtained which only the second terminal M2 knows. This may also carried out in the monitoring entity 2. To prove that only a new concealment amount r.sub.add was added to the concealment amount r.sub.k of the masked received electronic coin data record Z.sub.k, but the monetary amount remained the same, so that equation (11):
is valid, the second terminal M2 must be able to prove that Z.sub.l−Z.sub.k can be represented as a scalar multiple of G, i.e. as r.sub.add*G. This means that only a concealment amount r.sub.add was generated and the monetary amount of Z.sub.l is equal to the monetary amount of Z.sub.k, i.e. Z.sub.l=Z.sub.k+r.sub.add*G. This is done by generating a signature with the public key Z.sub.l−Z.sub.k=r.sub.add*G.
[0200] In
[0201] Here, each of the received amounts υ.sub.j, υ.sub.k must be greater than 0 because negative monetary amounts are not permitted. In addition, new concealment amounts are derived:
[0202] The masked coin data records Z.sub.j and Z.sub.k are then obtained from the coin data records C.sub.j and C.sub.k in accordance with equation (3) and are registered in the monitoring entity 2. For the split, the predecessor column 22a is described with the coin data record Z.sub.i, the successor column 23a with Z.sub.j and the successor column 23b with Z.sub.k. The markings in columns 25 to 27 require a status change and the monitoring entity 2 carries out the corresponding checks. The marking according to column 28 is ignored.
[0203] Then a coin data record, here C.sub.k, is transmitted from the first terminal M1 to the second terminal M2. In order to prevent double spending, a switch operation is useful in order to exchange the electronic coin data record C.sub.k received from the first terminal M1 for a new electronic coin data record C.sub.l with the same monetary amount. The new electronic coin data record C.sub.l is generated by the second terminal M2. The monetary amount of the coin data record C.sub.l is adopted and not changed, see equation (11). Then, according to equation (14), a new concealment amount r.sub.add is added to the concealment amount r.sub.k of the received electronic coin record C.sub.k,
whereby a concealment amount r.sub.l which only the second terminal M2 knows is obtained. In order to prove that only a new concealment amount r.sub.add was added to the concealment amount r.sub.k of the received electronic coin data record Z.sub.k, but the monetary amount remained the same (υ.sub.k=υ.sub.l), the second terminal M2 must be able to prove that Z.sub.l−Z.sub.k can be represented as a multiple of G. This is done using the public signature R.sub.add according to equation (15):
where G is the generator point of the ECC. Then the coin data record C.sub.l to be switched is masked by means of equation (3) in order to obtain the masked coin data record Z.sub.l. The private signature r.sub.add may then be used in the monitoring entity 2 in order, for example, to sign the masked electronic coin data record Z.sub.l to be switched, which is valid as proof that the second terminal M2 has only added a concealment amount r.sub.add to the masked electronic coin data record and no additional monetary value, i.e., v.sub.l=v.sub.k.
[0204] The proof is as follows:
[0205]
[0206] In
[0207]
[0208] Steps 101 to 104 are optional for the further method and are described using the example of the terminal M1. In the optional steps 101 and 102, a coin data record is requested and provided by the issuer entity 1 to the first terminal M1 after the electronic coin data record has been created. A signed masked electronic coin data record is sent to the monitoring entity 2 in step 103. In step 103, the received electronic coin data record C.sub.i is masked in accordance with equation (3) and as explained in
[0209] In step 105, the coin data record C.sub.i is transmitted in the direct transaction layer 3 to the second terminal M2. In the optional steps 106 and 107, a validity check is carried out with previous masking, in which case the monitoring entity 2 confirms the validity of the coin data record Z.sub.i or C.sub.i in case of success.
[0210] In step 108, a received coin data record C.sub.k is switched (the received coin data record C.sub.i could of course also be switched) to a new coin data record C.sub.l, whereby the coin data record C.sub.k becomes invalid and double spending is prevented. For this purpose, the monetary amount υ.sub.k of the transmitted coin data record C.sub.k is used as the “new” monetary amount υ.sub.l. In addition, as already explained with equations (14) to (17), the concealment amount r.sub.l is created. The additional concealment amount r.sub.add is used to prove that no new money (in the form of a higher monetary amount) was generated by the second terminal M2. Then, among other things, the masked coin data record Z.sub.l to be switched is sent to the monitoring entity 2 and the switch from C.sub.k to C.sub.l is instructed.
[0211] The corresponding check is carried out in the monitoring entity 2 in step 108′. Z.sub.k is entered in column 22a according to the table in
[0212] In general—slightly different from the illustration in
[0213] In step 109, two coin data records C.sub.k and C.sub.i are joined to form a new coin data record C.sub.m, as a result of which the coin data records C.sub.k, C.sub.i become invalid and double spending is prevented. For this purpose, the monetary amount υ.sub.m is formed from the two monetary amounts υ.sub.k and υ.sub.i. For this purpose, the concealment amount r.sub.m is formed from the two concealment amounts r.sub.k and r.sub.i. In addition, the masked coin data record to be joined is obtained by means of equation (3) and it (together with other information) is sent to the monitoring entity 2 and the joining is requested as processing.
[0214] In step 109′ the corresponding check is carried out in the monitoring entity 2. In this case, Z.sub.m is entered in column 23b according to the table in
[0215] In step 110, a coin data record C.sub.i is split into two partial coin data records C.sub.k and C.sub.j, whereby the coin data record C.sub.i is made invalid, and the two split partial coin data records are to be made valid. For this purpose, the monetary amount υ.sub.i is split into the two monetary amounts υ.sub.k and υ.sub.j. For this purpose, the concealment amount r.sub.i is split into the two concealment amounts r.sub.k and r.sub.j. In addition, the masked partial coin data records Z.sub.k and Z.sub.j are obtained by means of equation (3) and these are sent with additional information, for example the range proofs, to the monitoring entity 2 and the splitting is requested as processing.
[0216] In step 110′, the corresponding check is carried out in the monitoring entity 2. Z.sub.j and Z.sub.k are entered in the columns 23a/b according to the table in FIG. The monitoring entity 2 then checks whether Z.sub.i is (still) valid, i.e. whether the last processing of Z.sub.i is entered in one of the columns 23a/b (as proof that Z.sub.i has not been further split or deactivated or joined) and whether a check for the last processing failed. In addition, the markings in columns 25, 26, 27 are initially set to “0”. A check now takes place as to whether Z.sub.j and Z.sub.k are valid, in which case the check according to equations (16) and (17) may be used. n case of success, the marking in column 25 is set to “1”. A check is now carried out, and the calculation according to equation (10) shows that Z.sub.i is equal to Z.sub.k plus Z.sub.j and the marking in column 26 is set accordingly. It is also checked whether the ranges are consistent, and then the marking in column 27 is set.
[0217] In
[0218] In one case, the electronic coin record C.sub.i is shown as a printout on paper. The electronic coin data record may be represented by a QR code, an image of a QR code, or it may also be a file or a character string (ASCII).
[0219] The device M1 has at least one interface 12 available as a communication channel for outputting the coin data record C.sub.i. This interface 12 is, for example, an optical interface, for example for displaying the coin data record C.sub.i on a display unit (display), or a printer for printing the electronic coin data record C.sub.i as a paper printout. This interface 12 may also be a digital communication interface, for example for nearfield communication such as NFC, Bluetooth, or an Internet-compatible interface such as TCP, IP, UDP, HTTP or access to a chip card as a security element. This interface 12 is, for example, a data interface so that the coin data record C.sub.i is transmitted between devices via an application, for example an instant messenger service, or as a file or as a character string.
[0220] Moreover, the interface 12 or a further interface (not shown) of the device M1 is configured to interact with the monitoring entity 2 according to the description in
[0221] In addition, the device M1 may also have an interface for receiving electronic coin data records. This interface is configured to receive visually presented coin data records, for example by means of an acquisition module such as a camera or scanner, or digitally presented coin data records, received via NFC, Bluetooth, TCP, IP, UDP, HTTP, or to receive coin data records presented by means of an application.
[0222] The device M1 also comprises a computing unit 13 which can carry out the above-described method for masking coin data records and the processing on coin data records.
[0223] The device M1 is capable to be online and may preferably recognize when it is connected to a WLAN by means of a location recognition module 15. Optionally, a specific WLAN network may be marked as preferred (=location zone) so that the device M1 only performs special functions when it is registered in this WLAN network. Alternatively, the location recognition module 15 recognizes when the device M1 is in predefined GPS coordinates including a defined radius and carries out the special functions according to the location zone thus defined. This location zone may either be entered manually into the device M1 or introduced via other units/modules into the device M1. The special functions that the device M1 performs when the location zone is recognized are, in particular, transmitting electronic coin data records from/to the external data memory 10 from/to a safe module 14 and, if necessary, transmitting masked coin data records Z to the monitoring entity 2, for example in the context of the above processing of a coin data record.
[0224] In the simplest case, all coin data records C.sub.i are automatically joined to form one coin data record in the terminal M1 after receipt (see join processing or joining step). That is, as soon as a new electronic coin data record is received, a join or switch command is sent to the monitoring entity 2. The device M1 may also prepare electronic coin data records in algorithmically determined denominations and hold them in the data storage 10, 10′ so that a payment process is possible even without a data connection to the monitoring entity 2.
[0225]
[0226] As described above, the device M1 may recognize a predefined location zone by means of the location recognition module 15, step 201. In this location zone, the terminal M1 may then automatically be charged or discharged to a predefined threshold value, i.e. a fixed limit X, of monetary amounts υ.sub.i in the form of electronic coin data records C.sub.i. For this purpose, the device M1 is personalized. For this purpose, bank details (bank account data) or a safe module and the threshold value X are specified via an interface. The user may have to authenticate herself or himself at the bank account or a safe module in order to withdraw monetary amounts from the bank account by direct debit or to transfer them to the bank account or to receive coin data records from the safe module or to send them to the safe module.
[0227] The goal of the method 200 is to always have the threshold value X available in the device as a monetary amount—in a single (joined) electronic coin data record or in all electronic coin data records.
[0228] In the terminal M1, all coin data records C.sub.i may be automatically joined to form one coin data record after receiving a coin data record (see joining step). For example, a coin data record C.sub.i with a monetary amount υ.sub.i greater than the threshold value X (here abbreviated to Y) can be obtained by joining. If the specification is no longer met, for example in the case no in step 202 of
[0229] In a further variant, not shown in the figure, a transfer is triggered with which a difference between the monetary amount Y and the threshold value X (for a monetary amount) is credited to the pre-personalized bank account. At the same time, the joined coin C.sub.i is split (splitting step) and the correspondingly masked partial coin data records are sent to the monitoring entity 2 in order to send the credited partial coin data record (Y−X) to the safe module or the transferring party.
[0230] If—according to the case yes in step 202—a coin data record C.sub.i with a monetary amount less than the threshold value X is held in the device M1 (for example, if the payment was made with an amount X−Y), the device M1 requests a direct debit in step 205, with which a difference between the threshold value X and the monetary amount Y of the stored coin data record C.sub.i is withdrawn from the bank account. At the same time, the device M1 receives a new coin data record from the issuer entity 1 in step 205, see creating step, as described above.
[0231] Alternatively or additionally to a threshold value as a specification, there may also be a denomination specification. The denomination specification defines how many electronic coin data records with which denomination (i.e. with which monetary amount) should be available in the device. The sequence of the method 200 may essentially be analogous. Simply put, either missing electronic coin data records are requested and received or excess electronic coin data records are returned. In an optional preliminary step, electronic coin data records may be generated according to the denomination specification by splitting and joining.
[0232] The method steps of method 300 are also shown in
[0233] Here, the safe module 14 is a data storage which can be accessed after additional successful authentication. This safe module 14 may either be in the device M1, e.g. an area that is protected by additional security functions, or the safe module 14 is external to the device M1, for example on the server of a trusted third party that offers the safe module function. The safe module 14 may process coin data records and have them registered with the monitoring entity 2.
[0234]
[0235] According to
[0236] The flow chart in
[0237]
[0238] In addition to the electronic coin data records C.sub.i, identification data of the devices M1, M3 to be synchronized are also stored in the shared part of the data storage 10.
[0239] For synchronization, each device M1, M3 has this application 5—a shared digital wallet, so to speak. This application 5 ensures that information is communicated to the devices M1, M3. The application 5 is also in communication with the monitoring entity 2, see step 502.
[0240] In the system according to
[0241]
[0242] Furthermore, the other device M2 has one or more interfaces for receiving coin data records that correspond to the corresponding interface (s) of the device M1, for example an optical interface 11 (scanner or camera) or a digital interface, possibly combined with the digital interface for outputting coin data records Ci.
[0243] Furthermore, the other device M2 includes one or more interfaces for communicating with the monitoring entity 2, for example for transmitting masked coin data records Z.sub.i.
[0244] Moreover, the device M2 includes, for example, an input and/or output module 16 for bank notes and/or a random number generator or an interface for receiving a random number. A register module 17 of the other device M2 is available, for example, for access to an account system of one (or more) commercial banks, whereby a user is also guaranteed access to his/her bank account. A cryptographic key for signing a deactivation processing is also optionally available in the other device M2. The other device M2 also includes a data storage 10 or means for accessing an external data storage 10′. The device M2 obtains valid electronic coin data records C.sub.i either from the data storage 10 or via the interface to an operator of the machine who manages the electronic coin data record C.sub.i in an external data storage 10 or via an exchange.
[0245] When paying with cash (e.g. at a register terminal), the user of the device M1 may receive the change as a combination of bank notes and electronic coin data records C.sub.i.
[0246] In one case, the user receives part of the change as bank notes, rounded off to the next denomination of bank notes, and the second part of the change as an electronic coin data record C.sub.i. This electronic coin data record(s) C.sub.i may be received electronically or as a printout. For this purpose, the register module 17 of the other device M2 informs the computing unit 13 of the other device M2 how much change is to be paid as an electronic coin data record C.sub.i. The computing unit 13 of the other device M2 then carries out a splitting step and informs the monitoring entity 2 accordingly for registering the split partial coin data records. Optionally, the device M1 may confirm to the user, for example by vibrating or an optical signal, that the second part of the change has been received as an electronic coin data record C.sub.i.
[0247] In an alternative case, the user of the device M1 receives part of the change as bank notes from the other device M2, rounded up to the next denomination. The device M1 then transmits “negative” change in the form of one or more electronic coin data records C.sub.i to the other device M2. Said electronic coin data record(s) C.sub.i may be output electronically or as a printout. For example, the user has an invoice for € 12.28 and pays with a € 20 bank note. The user of device M1 receives a € 10 banknote (=the next largest denomination) as cash. The device M1 transfers a monetary amount of € 2.28 as “negative change” to the device M2 in the form of an electronic coin data record C.sub.i. Here, the register module 17 of the other device M2 informs the computing unit 13 of the other device M2 how much monetary amount υ must be requested from the device M1 in the form of an electronic coin data record C.sub.i. The request is received in the device M1. The negative change is received in the other device M2 by means of a split command and the associated registration at the monitoring entity 2. The device M2 executes a switch command. Optionally, the device M1 may indicate a transaction confirmation to the user by, for example, vibrating or an optical signal.
[0248]
[0249] The device M1 holds an electronic coin data record C.sub.i and would like to convert this into cash in step 601. To this end, the user of the device M1 selects the “spend cash” function on the other device M2, if it is a self-service terminal. The device M1 transmits the electronic coin data record C.sub.i to the device M2 in step 602. The other device M2 receives the electronic coin data record C.sub.i. The other device M2 generates a new entropy factor, here random number r.sub.j, and uses it to form a new electronic coin data record C.sub.j as part of a switching step according to step 603, as described in detail in
[0250] A method for withdrawing electronic coin data records C.sub.i from a bank account is shown below the dashed line in
[0251] The user of the device M1 selects the function “withdraw electronic coin data record” on the device M2 and uses his/her security element (bank card, eUICC) or the like for authentication and/or identification. In this way, transfers, direct debits, credit card transactions or the like can be made. Here, in step 610, the funds in the bank account of the user of the first device M1 are queried and, if necessary, confirmed.
[0252] After the transaction has been carried out successfully, the device M2 receives an electronic coin data record C.sub.i from the issuer entity 1 (see
[0253] In step 612, it transmits (optically, electronically) the generated electronic coin data record C.sub.i to the device M1.
[0254] Within the scope of the invention, all elements described and/or drawn and/or claimed may be combined with one another as desired.