WO2024027869A1 - Secure element, method for registering tokens, and token reference register - Google Patents

Secure element, method for registering tokens, and token reference register Download PDF

Info

Publication number
WO2024027869A1
WO2024027869A1 PCT/DE2023/100487 DE2023100487W WO2024027869A1 WO 2024027869 A1 WO2024027869 A1 WO 2024027869A1 DE 2023100487 W DE2023100487 W DE 2023100487W WO 2024027869 A1 WO2024027869 A1 WO 2024027869A1
Authority
WO
WIPO (PCT)
Prior art keywords
token
validity
trr
transaction
token reference
Prior art date
Application number
PCT/DE2023/100487
Other languages
German (de)
French (fr)
Inventor
Klaus ALFERT
Lars HUPEL
Matthias Fasching
Peter Zeller
Original Assignee
Giesecke+Devrient Advance52 Gmbh
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Giesecke+Devrient Advance52 Gmbh filed Critical Giesecke+Devrient Advance52 Gmbh
Publication of WO2024027869A1 publication Critical patent/WO2024027869A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • G06Q20/0655Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed centrally
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3676Balancing accounts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3678Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes e-cash details, e.g. blinded, divisible or detecting double spending

Definitions

  • the invention relates to a method for registering tokens, in particular a secure element as a transaction unit, to a secure element and to a token reference register in which token references are stored that are clearly assigned to a token, as well as to the transaction system as a whole.
  • systems or portable data carriers are known as secure elements for transferring monetary amounts in the form of electronic data sets, in which payment with duplicates of the data set is prevented and a high degree of security against manipulation is provided is.
  • Complex structures and complex encryption and signing processes are required for the transactions.
  • the security of transactions and the associated transaction data includes protecting the confidentiality of the data exchanged; as well as protecting the integrity of the data exchanged; as well as protecting the availability of the exchanged data.
  • token-based systems As solutions for secure transaction systems, a distinction is often made between token-based systems and account-based systems.
  • account-based systems In addition to conventional account-based systems, such as credit or credit accounts, more novel account-based systems based on blockchain topologies have recently been discussed.
  • the account-managing unit has access to the data record that represents the monetary amount.
  • the newer account-based systems provide a high level of integrity protection, they also publish a lot of information, for example when records exist in a freely readable data structure and change hands there.
  • a token register It is also already known to expand a token-based transaction system to include a token register.
  • the secure element sends a registration request for its token to the register.
  • the registry verifies the registration request and, for example, only stores a token reference for the token, so it does not know the token itself.
  • WO 2020/212337 Al describes a transaction system in which even modifications of tokens - for example by splitting the token, are possible offline, i.e. directly between the secure elements of the transaction system and without any further control instance.
  • the tokens can be transferred immediately without having to register a modification in a token register of the transaction system.
  • the registration of the modification in the token register can take place independently of the actual transaction, the transfer of the token.
  • the secure elements are known to be resource-limited, particularly limited in terms of storage space, processing speed, transmission time and/or speed.
  • the invention is based on the object of providing a new method that is more suitable for a secure element as a transaction unit, and is therefore particularly resource-saving.
  • the processes in the transaction system such as the direct transfer of tokens between the transaction units and the registration of tokens in the register, as well as the associated advantages and possible uses should preferably be retained.
  • several modification details of a transaction unit should be processed in a resource-saving manner.
  • a secure element of an electronic transaction system has a token storage for tokens of the transaction system and is set up to exchange tokens directly with another transaction unit of the transaction system.
  • a token reference is uniquely assigned to each token in the transaction system. Token references (and thus the assigned tokens) can be registered in a token reference register of the transaction system.
  • the secure element is further set up to generate at least one output token and its output token reference based on at least one input token.
  • the secure element provides at least one modification indication for the token reference register, which includes at least one input token reference, a command and at least one output token reference. Now the secure element provides the at least one modification information as a validity request and receives a confirmation of validity for at least one output token reference of the validity request to be checked for validity.
  • Sending the modification information in a validity request enables, as explained in more detail below, a variety of initially seemingly small advances, which can ultimately be helpful for the secure element and even for the token reference register. Since the token reference register can process the validity request with (only optional) modification information faster on average than a conventional registration request, the connection or transmission time is reduced and thus the effort in the secure element to manage the connection, in particular to maintain it (timeouts. . .) or restore.
  • the validity request can preferably include the at least one output token reference to be checked and at least one output token reference not to be checked. This means that not all output token references need to be checked for validity.
  • the validity request can include the modification information and additionally a verification information that specifies the at least one (or more) output token reference(s) to be checked.
  • the test information can, for example, contain the output token reference(s), contain one (or the) reference(s) to the output token references or also encoded by one (or more) set flag(s) for the output token reference(s). be.
  • Flags are typically bits that are either set or unset. For example, for each output token reference of the validity request or the modification statement, a flag would be provided that could either be set or not set.
  • the checking information relates to output token references of at least two different modification details of the validity request.
  • the secure element could be set up to provide modification information either as a validity request or as a registration request.
  • the secure element could use the following as a selection criterion for sending as a validity request:
  • - use a time criterion, in particular with the help of a timestamp, for example a transaction and/or modification or the last communication with the token reference register, and/or - an origin criterion, for example if the modification information was received, in particular from another transaction unit.
  • a timestamp for example a transaction and/or modification or the last communication with the token reference register
  • an origin criterion for example if the modification information was received, in particular from another transaction unit.
  • the secure element can always send one (or more) modification information as a validity request.
  • the confirmation of validity includes a separate cryptographic confirmation, such as a checksum or signature, for each output token reference to be checked. It can also be advantageous if the confirmation of validity includes a common cryptographic confirmation, such as a checksum or signature, for all output token references to be checked (or only for these).
  • the cryptographic confirmation(s) for the output token reference(s) to be checked are preferably stored in the secure element and/or transmitted to another transaction unit together with the associated token(s).
  • the validity request can include several modification details, in particular a stack and/or at least one sequence of modification details.
  • Modification statements that are independent of one another (in their token references) are referred to here as a stack.
  • the modification information of a batch can be processed in the token reference register in any order.
  • Modification statements that depend on one another (in their token references), on the other hand, are referred to as a sequence (or sequence).
  • At least one output token reference of one modification information is also the input token reference of another modification information.
  • the sequence preferably comprises several output token references, which are also the input token reference of a subsequent modification statement in the sequence.
  • the modification information of a sequence cannot be processed in any order in the token reference register.
  • the token reference register will execute the modification information of the sequence(s) in particular in the order in which they are present in the validity request or which is specified in the validity request.
  • the modification statement(s) of the validity request is (are) only to be carried out optionally.
  • the token reference register can send a confirmation of validity even in the event of one (or more) incorrect modification details. Whether the token reference register checks and, if necessary, executes the modification information and/or which of the modification information has been checked and executed is independent of the confirmation of validity for the at least one (or more) output token reference(s) to be checked. .
  • the validity request can be a request for a token reference register that stores only the valid token references in a storage unit for token references to check whether the output token reference (s) to be checked is (are) already stored in the storage unit.
  • the secure element regularly comprises a processor, in particular for carrying out the steps as a transaction unit, and/or an interface, in particular to a local terminal, via which the validity request for the token reference register (TRR) is provided.
  • a transaction unit can be a participant unit or is sometimes referred to as such below.
  • the or each token will comprise, as data elements, in particular a token value and a secret token element, which is in particular a secret key of a key pair.
  • Token references can include, as data elements, a token value, in particular the token value of the token, and a public token element, in particular the public key of the token's key pair.
  • a modification is in particular a splitting and/connecting or switching of tokens.
  • the command for the modification specification is, for example, “split”, “connect” or “switch”.
  • One (or more) input tokens with one (total) token value can be split into several output tokens with a different token value (but the same total value).
  • Two or more input tokens with a total value can be combined to form an output token with the total value.
  • An input token with a token value can be switched to an output token with the same token value.
  • the transaction unit for example the security element, can generate one (or more) output tokens, in particular including the token value and secret token element, as well as the assigned output token reference for the modification information.
  • the transaction unit for example the security element, stores your tokens and optionally one or more modification details.
  • the modification information is stored together with or at least linked to the initial token.
  • the security element can preferably delete the modification information(s) stored in the security element and contained in the validity request in response to receipt of the validity confirmation.
  • Tokens can be directly exchanged with other transaction units. For tokens that have not yet been registered, the token must be transferred together with the modification information(s). Tokens that have already been registered can be transferred without the modification information.
  • the present invention provides a method for checking the validity of a token of a secure electronic transaction system.
  • a token reference is uniquely assigned to each token in the transaction system.
  • a token reference register of the transaction system includes a verification unit and a storage unit in which the token references of valid tokens are stored. The following steps are carried out in the token reference register:
  • the validity request includes a check information that specifies the at least one output token reference to be checked and/or the modification information that is only optionally to be processed.
  • the checking (and optionally the receiving and sending) is preferably carried out by the verification unit of the token reference register. Receiving and sending can be done through an interface unit of the token reference register.
  • the verification unit preferably processes modification information, i.e. optionally also the modification information(s) of the validity request, with one or more of the sub-steps:
  • the confirmation of validity is sent - in particular without further processing of the modification information - if the output token reference(s) to be checked of the validity request are already stored in the storage unit. Otherwise, the modification information(s) will be processed.
  • the confirmation of validity can be sent alternatively or additionally after the processing of the (one or more) modification details that can only be processed optionally has been omitted completely or in partial steps, i.e. none of the partial steps have been carried out or not all partial steps have been carried out.
  • the validity request preferably includes at least one, more preferably several, output token reference(s) that cannot be checked for validity.
  • Validation confirmation may include a separate cryptographic confirmation, such as signature or checksum, for each output token reference to be verified.
  • the output token reference to be checked for validity does not have to be explicitly displayed in the check details of the validity request. It can be one of the initial token references included in the modification statement. However, the token reference(s) to be checked is/are preferably received from the token reference register in the checking information, as an independent data element of the validity request.
  • the check information can be formed by one (or more) reference(s) to the output token reference(s) to be checked (for example position or number of the output token reference in the validity request) or contain the output token reference(s).
  • the validity request may include multiple modification statements, each modification statement including one or more input token references, one or more output token references and a command.
  • the modification information is preferably a stack of modification information and/or a sequence of modification information. Stacks consist of independent modification statements. Sequences consist of at least partially interdependent modification information.
  • the token to be checked can be transferred directly between two transaction units of the transaction system in the direct transaction layer of the transaction system (but does not have to have been transferred yet).
  • the token to be checked has preferably been modified in a transaction unit without the token being registered in the transaction system.
  • the confirmation of validity is preferably also sent if some of the several modification details cannot be carried out (the assignment of the token references to tokens of the transaction system is therefore partially not possible), in particular if these modification(s) are only made in the direct transaction layer without registering the modification(s). in the token reference register. It is therefore not a prerequisite for the validity check that all modification information in a validity query can be traced or carried out by the verification unit. Only the assignment of at least one token reference to be checked must be verifiable. Verification thus takes place independently of registration of one or more modifications from the modification information in the token reference register.
  • the verification unit of the token reference register can send memory queries and/or memory instructions to the storage unit of the token reference register. For example, it can query whether a token reference is stored in the storage unit and/or instruct a token reference to be saved or deleted.
  • the verification unit sends to the storage unit a common memory query for output token references of different modification information and/or for output token references and input token references of at least one modification information.
  • the token reference register can send a partial validity confirmation.
  • the partial validity confirmation preferably concerns the valid output token references of the output token references of the stack to be checked for validity.
  • the verification unit can only temporarily store at least one (or) output token reference(s) of at least one modification information internally (i.e. not store it in the storage unit).
  • the buffered output token reference(s) is discarded if it is the input token reference of a further modification information or otherwise stored in the storage unit.
  • At least one (or more) output token reference(s) of a modification statement is only stored in the storage unit after checking one, several or all further modification statements of the sequence.
  • the token reference register can carry out the method with a transaction unit or the secure element already described.
  • the token reference register can further include further verification units and/or an archive unit which stores no longer valid token references and/or validity requests and/or registration requests that have already been carried out.
  • a token reference register for a transaction system is set up to carry out one of the aforementioned methods, in particular with a transaction unit TE of the transaction system or with one of the aforementioned secure elements.
  • the token reference register includes the storage unit for storing the valid token references in the transaction system; an interface set up to receive a validity request and the at least one verification unit.
  • a transaction system includes a register layer with the token reference register; and a direct transaction layer with a variety of transaction units, including a secure element.
  • the validity requests in the transaction system can be distributed to different verification units of a token reference register and these can therefore be processed in parallel by different verification units of the token reference register. This means that a large number of validity requests can be divided internally in the token reference register between different verification units (“load balancing”).
  • the confirmation of validity and/or the valid output token reference(s) to be checked is preferably signed with a private part of a key pair of the token reference register, preferably the verification unit (possibly one of a plurality of verification units).
  • This signature is verified by the transaction entity upon receipt of the confirmation of validity with the public part of the key pair of the token reference register.
  • This increases security because validity confirmations generated by unauthorized third parties - for example as part of man-in-the-middle attacks - are recognized by a transaction unit due to a missing or invalid signature. Such confirmations of validity can then be ignored by the transaction entity.
  • a token is a data record of a transaction system that can be directly exchanged between transaction units. With knowledge of the token, the receiving transaction entity is in possession of the token value that the token represents. When you swap, the token changes therefore automatically the owner.
  • a token - a record that is transferable independently of a transaction topology, such as blockchain topologies - can be transferred directly between transaction entities without any intervening entities.
  • the token is an electronic coin data record or payment token for exchanging monetary amounts between transaction units.
  • a payment token is also colloquially referred to as a “digital coin” or “electronic coin” and represents cash in electronic form.
  • Each token in the transaction system is a data record comprising at least two token elements.
  • a first token element of each token of the transaction system is a token value, for example an asset, an asset, an asset and/or a monetary amount.
  • a second token element of each token of the transaction system is a private part of a token-specific key pair.
  • This private part is a secret in the transaction system and is not published and may not be used multiple times. The generation of the private part must not be predictable.
  • This private part can be a random number. The random number is preferably the result of a true random generator.
  • the token is formed from the token value (first token element) and the private part. This formation is preferably the chaining (concatenation) of these two token elements. Any other type of linking of these two token elements is not excluded according to the invention and includes, for example, appending one after the other, inserting them into a TLV data structure and/or logical linking.
  • Each token in the transaction system is assigned a token reference.
  • This assignment is one-to-one, which means that exactly one token reference is assigned to a token and exactly one token is assigned to each token reference.
  • the token reference is a public data record that is stored in a storage unit of the token reference register of the transaction system in a verifiable manner for each transaction unit. Both the token and the token reference are unique. Due to the unique assignment, there is a 1-to-1 relationship between the token and the token reference.
  • Each token reference in the transaction system is a data record comprising at least two token reference elements.
  • a first token reference element at each token reference is the token value of the token uniquely assigned to the token reference.
  • the token value of the token is therefore identical to the token value of the assigned token reference.
  • the token value of the token reference is a copy of the token value of the associated token.
  • a second token element of each token reference of the transaction system is a public part of the token-specific key pair.
  • This public part of the token reference together with the private part of the token, forms the token-specific key pair.
  • the public part is obtained by applying a cryptographic function to the private part.
  • This cryptographic function is a one-way function.
  • This cryptographic function is therefore a mathematical function that is “easy” to calculate in terms of complexity theory, but “difficult” to practically impossible to reverse.
  • the term one-way function also refers to a function for which there is currently no known reversal that can be practically carried out in a reasonable amount of time and with reasonable effort.
  • a one-way function is used that operates on a group in which the discrete logarithm problem is difficult to solve, such as B.
  • a cryptographic process analogous to elliptic curve encryption, ECC for short from a private key of a corresponding cryptography process.
  • the reverse function i.e. the creation of a token (or part of the electronic coin data set) from a token reference, is very time-consuming.
  • the (mere) knowledge or possession of a token reference does not authorize the use/transfer/issue of the token value (token reference element). This represents a significant difference between the token reference and the token and is a core of the present invention.
  • the public part of the token-specific key pair is obtained as the second token reference element.
  • the token reference is formed from the token value (first token reference element) and the public part. This formation is preferably the concatenation of these two token reference elements. Any other type of linking of these two token reference elements is not excluded according to the invention and includes, for example, adding them one after the other, introducing them into a TLV data structure and/or logically linking them.
  • a token reference can preferably be generated by an electronic wallet of a transaction unit. To do this, the transaction unit must have knowledge of the token and its token elements. Generating the token reference can be done by an electronic wallet of a transaction entity that wants to send the token. Alternatively, the token reference can be generated by an electronic wallet of a transaction entity that has received the token.
  • a token reference is not comparable to the use of addresses of transaction units in a blockchain-based transaction system, since no addresses of the transaction units are used in the token reference register according to the invention in order to prevent the tokens from being traceable.
  • the token reference register is a unit of the transaction register that stores the token references, thereby registering the tokens as valid tokens.
  • This register can be a central database or storage unit.
  • This register can be a decentralized ledger.
  • the token reference register can separately maintain a history of the token references and/or the registration requests and/or the validity requests in an archive unit.
  • a token reference is only stored once in the token reference register. Since a token reference of a token only exists once in the transaction system, the verify step can determine whether attempts have been made to issue a token multiple times.
  • the token is stored in a token store that the transaction unit can access exclusively.
  • This token memory can have a large number of tokens, for example the large number of tokens can be stored in a data memory of the transaction unit.
  • the data storage can be internal, external or virtual.
  • “connecting” can take place automatically when a token is received, so that preferably only one (or a certain number of) tokens are stored in the transaction unit.
  • the transaction unit can be, for example, a mobile device, such as a smartphone, a tablet computer, a computer, a server or a machine.
  • the transaction unit can be a smart card that is inserted into a terminal device ready for operation.
  • the transaction unit is preferably a secure element.
  • the data storage is, for example, a wallet storage of an electronic wallet.
  • the electronic wallet is, for example, a software application that is stored executable on a transaction unit.
  • the electronic wallet (wallet) can enable the transaction entity to participate in the transaction system.
  • the electronic wallet can generate a validity request to check the validity of a token.
  • the electronic wallet can make modifications (switching, connecting, splitting) to a token and generate any necessary validity requests and send them to the token reference register.
  • the electronic wallet can transfer tokens to another wallet (in a different transaction unit).
  • a transaction in the transaction system is preferably atomic.
  • a token reference register is provided for a transaction system which is set up to carry out the method steps according to the method described above.
  • the token reference register can be set up to receive a plurality of validity requests, which are verified in parallel in a plurality of verification units as to whether the at least one token reference contained in the validity request received in each case is valid.
  • a transaction system which has a register layer with a token reference register of the previous type for registering token references and checking tokens using token references and a direct transaction layer with a large number of transaction units, set up for the direct exchange of tokens with one another.
  • a two-layer transaction system consisting of a direct transaction layer for directly exchanging tokens and a register layer. No transactions are logged in the register layer Only token references are saved and modifications to tokens are saved via appropriately adapted token references for the purpose of verifying the validity of tokens. This ensures the anonymity of the participants in the transaction system.
  • the storage unit of the token reference register preferably only stores token references of tokens valid in the transaction system. As soon as a token is modified and a corresponding (modified) token reference is to be registered, the (old) token references become invalid and (only) the modified token references are stored in the storage unit.
  • old (i.e. invalid) token references are deleted from the storage unit and archived in a (token reference) archive.
  • the token reference archive can be part of the archiving unit, but it can also be provided as a separate unit in the token reference register or in the transaction system.
  • the token reference archive can also be completely replaced by the archiving unit if all registration requests are completely stored there.
  • the time-dependent deletion of registration requests can also apply to the deletion of old token references.
  • a transaction unit preferably a secure element, in a secure electronic transaction system with: an interface that is set up to: transfer tokens to another transaction unit; Creating and sending, to a token reference register, a validity request for checking a token according to one of the preceding embodiments; an access means for a token memory or token memory, wherein at least one token of the transaction unit with modification information is stored in the token memory; and a computing unit configured to: apply a one-way cryptographic function to a private part of a token-specific key pair of a token of the token storage to obtain a token reference; and modifying tokens.
  • the transaction unit has access means to a token memory and/or the transaction unit has a token memory, with at least one token of the transaction unit containing the sequence of registration requests being stored in the token memory.
  • the transaction unit has a computing unit that is set up to apply a cryptographic one-way function to a private part of a token-specific key pair of a token of the token storage to obtain a token reference; and for modifying tokens.
  • Modifying tokens includes, in particular, splitting Tokens, connecting tokens and/or switching tokens in the manner described above.
  • the transaction unit can be set up in such a way that only one token is stored in its token memory. This token is split (SPLIT) for direct transactions to produce a correct token value according to the transaction to be made. If tokens are received in the transaction unit, the received token is immediately combined with the token in the token store (MERGE).
  • SPLIT split
  • MERGE token store
  • this token of the token storage can be split (SPLIT), with a registration request being generated for this purpose.
  • the registration request preferably has a token reference of the token to be divided and a token reference of the divided tokens.
  • the registration request preferably has a token reference of the connected token and a respective token reference of the tokens to be connected.
  • a transaction unit can be a secure element that has secured access to tokens in a token store.
  • the secure element is, for example, installed in a terminal device ready for operation.
  • the secure element and/or the terminal device have a special computer program product (electronic purse, wallet), in particular in the form of a secured runtime environment within an operating system of a terminal device, English Trusted Execution Environments, TEE, stored on a data storage device, for example a mobile terminal device, a machine, preferably ATM.
  • the secure element is designed, for example, as special hardware, in particular in the form of a secured hardware platform module, Trusted Platform Module, TPM, or as an embedded security module, eUICC, eSIM.
  • the secure element provides a trusted environment.
  • the communication between two transaction units for exchanging tokens can take place wirelessly or by wire, or, for example, optically, preferably via QR code or barcode, and can be designed as a secure channel.
  • the exchange of tokens is, for example, additionally secured for transport by cryptographic keys, for example a session key negotiated for a token exchange or based on a key pair specific to the transaction unit.
  • FIG. 1 shows an exemplary embodiment of a transaction system according to the prior art
  • Fig. 2a shows a registration request according to the prior art
  • Fig. 2b shows a registration procedure for a registration request according to Fig. 2a according to the prior art
  • Fig. 3a shows a first exemplary embodiment of a validity query according to the invention
  • FIG. 3b shows a first exemplary embodiment of a method for checking the validity of a token based on a validity request according to FIG. 3a according to the invention
  • 3c shows a second exemplary embodiment of a method for checking the validity of a token based on a validity request according to FIG. 3a according to the invention
  • Fig. 4a shows a second embodiment of a validity query according to the invention
  • FIG. 4b shows a first exemplary embodiment of a method for checking the validity of a token based on a validity request according to FIG. 4a according to the invention
  • FIG. 4c shows a second exemplary embodiment of a method for checking the validity of a token based on a validity request according to FIG. 4a according to the invention
  • Fig. 5a shows a third embodiment of a validity query according to the invention
  • 5b shows a first exemplary embodiment of a method for checking the validity of a token based on a validity request according to FIG. 5a according to the invention
  • 5c shows a second exemplary embodiment of a method for checking the validity of a token based on a validity request according to FIG. 5a according to the invention
  • Fig. 6 shows a further exemplary embodiment of a transaction system with a token reference register according to the invention
  • Fig. 1 shows an exemplary embodiment of a transaction system TS according to the prior art.
  • the transaction system TS includes a register layer TRR layer in which a token reference register TRR is arranged.
  • the TS also includes a direct transaction layer TE layer, in which a large number of transaction units (or subscriber units) TE can be provided; two transaction units TE1, TE2 are shown as representatives.
  • the transaction units TE1, TE2 are preferably secure elements.
  • the transaction units TE of the transaction system TS are set up to exchange tokens T directly with one another.
  • the tokens are payment tokens, also referred to as digital coins.
  • Each token T is generated by a token issuer TH (not shown in Fig. 1).
  • Each token T can be modified, i.e. divided, connected or switched, by each transaction unit TE and can be generated and also deleted by the token issuer TH.
  • a token issuer TH is, for example, a central bank.
  • a token T is uniquely represented in the transaction system TS by a token value v and a random number r as token elements.
  • the token value v can be specified in a range of values from 1 to 2 31 -1.
  • the random number r can be a number in the range from 0 to 2 256 -1, i.e. the order of an elliptic curve, for example secp256rl.
  • the random number r is a private part of a token-specific key pair.
  • the random number r is unique and secret in the transaction system TS and may not be published or reused. The generation of the random number r must not be predictable.
  • the token value v is a 32-bit token element of type integer.
  • the random number r is a 32-byte token element of type integer.
  • One Transaction unit TE has exclusive access to this token storage or includes this token storage in a data storage of the transaction unit TE.
  • a token reference TR can be stored in the token reference register TRR.
  • the token reference TR includes the token value v of the assigned token T and a public part R of the token-specific key pair.
  • the token value v of a token T is therefore known in the token reference register TRR.
  • the public part R of the token-specific key pair is generated by applying a cryptographic function to the private part r of the token-specific key pair. This function is difficult to reverse and thus gives the TS transaction system the necessary security.
  • R r * G, where G can be, for example, a global parameter of the transaction system TS, for example a generator point of an elliptic curve, here the secp256rl curve.
  • the token reference TR is then formed by the token value v of the token and the public part R of the key pair.
  • the token reference TR is therefore the concatenation of token value v and public part R.
  • a token reference TR can be sent to the token reference register TRR together with a modification information (see overview in Figures 6a and 6b) as a registration request RA regarding the token T.
  • the modified token T is registered with its token reference in the token reference register TRR.
  • the transaction unit TE1 generates a new token TA, the token reference TRA of which is to be stored in the token reference register TRR instead of the token reference TRß of the old token TE with the same token value v.
  • the registration request can be sent by the transaction unit TE1 and/or - after transmission of the token TA together with its modification information to the transaction unit TE2 - by the transaction unit TE2.
  • a known token reference register TRR is initially shown in FIG.
  • the token reference register TRR manages in particular the storage location for the token references TR, which can optionally also store the previous registration requests RA, shown here as database 1 as an example of a storage unit in the token reference register TRR.
  • the token reference TR for the token T of the transaction unit TE1 is entered in the database 1 as a representative.
  • This database 1 can consist of a combination of many databases (see also FIG. 6) that are networked with each other.
  • the token reference register TRR includes at least one verification unit 2.
  • the verification unit 2 of the token reference register TRR verifies registration requests RA. Syntactic correctness or the correct specification of a command in the registration request RA can be verified.
  • the history from old (past) registration requests RA can also be checked.
  • the separation of this verification unit 2 from the database 1 distributes the storage and checking tasks and increases the speed in the token reference register TRR.
  • token reference register TRR receives registration requests RA from transaction units TE 11 and, if necessary, sends a registration confirmation RB to the transaction unit 18.
  • FIG. 2a An example of a registration request RA according to the prior art is shown in FIG. 2a.
  • the registration request of FIG. 2a includes two input token references TRE, an output token reference TRA and a modification command KO.
  • the registration request RA can be signed with the private part r of the token-specific key pair (not shown). Signing makes it possible to verify whether the sender of the token reference TRE was in possession of the input token TE, which further increases security in the transaction system TS.
  • step 11 the RA is received in the TRR.
  • step 12 it is checked whether an input token reference TREH of the RA is stored in the TRR. If step 12 is no, it is checked in step 16 whether the registration request RA has already been executed and is stored in the storage unit 1 as part of the history of the registration requests. In the YES case, the registration is confirmed (again) 18. In the No case of step 16, the RA is not confirmed according to step 19 (error message).
  • step 12 If step 12 is yes, step 13 is executed. In step 13 it is checked whether an input token reference TREU from RA is stored in the TRR.
  • step 14 is executed.
  • the command is checked for errors.
  • the RA is not confirmed according to step 19 (error message).
  • the TRAII of RA and the RA are stored in the TRR in step 15. The transaction unit is confirmed that registration has taken place in step 18.
  • the token reference register TRR is preferably not readable for the transaction units TE1, TE2. It is of little practical relevance but theoretically known that a transaction unit can query the status of a token, i.e. can query the status with which a token reference TR is stored in the token reference register TRR. However, such a status query is not a validity query in the present sense, as it will now be described in more detail.
  • a transaction unit TE1, TE2 can send one or more existing modification information MA, each of which links one (or more) output tokens to one (or more) input tokens via a command, to the token reference register as a validity request.
  • the reduction in the burden on limited resources that can be achieved is particularly helpful for security elements as a transaction unit.
  • the transaction unit TE1, TE2 sends the modification information(s) in a validity request for at least one token reference and receives a confirmation of validity from the token reference register TRR for the at least one requested token reference.
  • the validation request includes multiple output token references.
  • the token reference register TRR can provide a signature for each requested token reference in the validation confirmation.
  • the token reference register TRR shown in FIG. 1 is now also set up to verify validity requests GA.
  • the verification unit 2 of the TRR is provided.
  • the verification unit 2 of the token reference register TRR then verifies registration requests RA and/or validity requests GA.
  • a history of old (past) validity requests GA regarding a token T can also be verified. However, the history is not required for processing GA validity requests.
  • the storage unit 1 of the TRR can therefore advantageously only contain the valid token references TR.
  • a history of previously valid token references TR and/or modification information that has already been carried out can be stored in a separate unit, a Archive unit. In the following, it will be briefly stated in short that it is checked whether a token reference is stored in the TRR, but it is checked in each case whether the token reference is stored as a valid token reference or, assuming that the storage unit 1 only contains the valid token references, whether it is stored in the storage unit 1.
  • Fig. 3a shows a first exemplary embodiment of a validity request GA according to the invention.
  • the GA of FIG. 3a includes a (single) modification information MA.
  • This MA includes input token references TREH, TREU and output token references TRAII TRAU and a modification command KO.
  • the number of output token references TRA and the number of input token references TR ⁇ in the modification request MA is not restrictive, it can be more (indicated by the dots) or even fewer. Examples of the number of input and output token references TR per specific modification command KO will be given later.
  • the modification information MA can optionally include one or more signatures 32.
  • the modification information MA includes a signature of the modification information.
  • a signature 32 is preferably created with the private part r of an input token reference; in particular, a signature 32 with the associated private part TEU, TEI2 can be present for each input token reference TREU, TREU of the modification request MA.
  • the validity query GA can optionally include a check information 33.
  • the check specification specifies the one or more output token reference(s) to be checked for validity. In the example shown, the validity of the output token reference TRAU ZU must be checked. For a validity request GA without explicit verification information 33, for example, all output token references can be checked for validity.
  • the MA of the GA includes at least one output token reference TRAU to be checked for validity and preferably one (or more) output token reference(s) TRAU not to be checked for validity.
  • step 101 the TRR receives the GA and optionally checks the MA of the GA in further steps 103-105.
  • step 102 the TRR checks whether the MA's TRAU is stored as a valid token reference in the TRR (in particular in its storage unit 1).
  • TRAu is the output token reference contained in GA audit statement 33. If step 102 is yes, a validity confirmation GB is sent to the TE in step 108 in response to the GA.
  • the MA of the GA will not be examined further. There is already an output token reference of the MA in the TRR. The TRR must have already executed the MA in the past.
  • At least one signature of the TRR is created, in particular a signature of the TRR for the valid output token reference(s) TRAU.
  • the validity confirmation GB may contain or be formed by the signature of the TRR for the valid output token reference(s).
  • the TRR checks (verifies) the MA 103, 104 and, if necessary, executes them 105.
  • the TRR checks whether each input token reference TREU and TREI2 of the MA is stored in the TRR. If the input token references TREH and TREU of the MA are stored in the TRR (yes case), the TRR checks the MA for error 104.
  • the syntax of the MA is checked, in particular the command KO (e.g.: unknown KO type or KO- Type of TH) and/or the number of input and output token references (e.g.: no or too few output token references/input token references).
  • step 109 If the verification 103, 104 of the MA is not successful, an invalidity confirmation UGB is sent for the GA 109. In contrast to treating the MA as a registration request, the history is no longer used to check whether the MA has already been carried out. Both in the no case of step 103 and in the case of an error in the MA (yes case of step 104), the UGB is sent in step 109.
  • step 105 the TRR deletes the input token reference(s) TREU and TREU and stores the output token reference(s) TRAU and TRAU of the MA in the TRR, or in the storage unit 1 of the TRR.
  • Step 106 is again optionally carried out before step 108, so in the present example only TRAU is signed and the signature for TRAU is provided in the GB for the GA of the TRR of the transaction unit TE.
  • 3c shows a second exemplary embodiment of a method sequence for checking the validity of a token T based on a validity request GA according to FIG. 3a according to the invention.
  • step 101 the TRR receives the GA and now first checks 104 the MA of the GA for errors (particularly in syntax, value neutrality and/or signatures).
  • step 103 if MA itself is error-free, the TRR checks whether the input token reference(s) TREH and TREU of the MA are stored in the TRR. If the input token references TREU and TREU are stored in the TRR (yes case), the MA of the GA is executed 105.
  • step 102 is executed.
  • the MA is faulty (yes case of step 104) or the input token reference(s) of the MA are not stored in the TRR (no case of step 103)
  • step 102 is executed.
  • the MA cannot be verified, it is checked in step 102 whether the (optionally specified) output token reference TRAU or the (optionally specified) output token references is stored in the storage unit 1 of the TRR.
  • step 102 a validity confirmation GB is sent to the TE in step 108 in response to the GA.
  • the (specified) output token reference (s) is (are) already stored in the TRR, in particular in its storage unit 1.
  • the TRR has already carried out the MA with this TRA in the past.
  • a signature of the TRR for the (specified) output token reference(s), here TRA12, is created beforehand 106.
  • the TRR sends 109 an invalidity confirmation UGB for the (specified(s)) MA output token reference(s).
  • step 103 the TRR executes the MA's modification command KO in step 105 and then sends the validity confirmation 108.
  • the MA's input token references are deleted in step 105 and the MA's output token references are saved.
  • the method according to FIG. 3 c is first used to check whether the MA is faulty and/or the TRE is not stored in the TRR. Otherwise, i.e. even though the MA of the GA cannot be executed, it is checked whether the (specified) TRA of the GA are already saved.
  • the method according to Figure 3c also reduces the effort involved in checking the validity.
  • Fig. 4a shows a second exemplary embodiment of a validity request GA according to the invention.
  • This GA includes two or more modification requests MA (MAi, MA2, . . . MA X ).
  • Each MA includes (one or) more input token references TREH, TREU and (one or) more output token references TRAII TRAU and a modification command KO.
  • the number of output token references TRA and the number of input token references TRE in the modification request MA is not restrictive, it may be more or less. Examples of the typical number of input and output token references TR per specific command KO are listed later.
  • Optional MA signatures are not shown separately here.
  • the GA’s MAs are verified individually. It is preferred that the youngest MA, Max, be verified first.
  • the modification requests MA of the GA can be present as a batch or as a sequence of modification requests MA.
  • the MAs will essentially indicate consecutive modifications to tokens in time. At least one output token reference of one MA of the sequence will be input token reference of another MA of the sequence. Preferably, two or more consecutive MAs, for example MAx.i and MA Accordingly, the modification requests MA of the GA are in the order MAi. . . MA MA X is the most recent MA and represents the last modification to a token.
  • Fig. 4a shows a stack of MA in the GA as an example.
  • the input and output token references TR of the modification requests MA in the GA are essentially independent of each other (neither TRAII nor TRAU correspond to TRE21 or TREU, for example).
  • TRAII nor TRAU correspond to TRE21 or TREU, for example.
  • an output token reference of one MA of the stack is an input token reference of another MA of the stack.
  • the validity query 40 shown includes one or more output token references TRAij (jth output token reference of the ith modification information) to be checked for validity.
  • the specified output token reference(s) TRAij may include one, several or no output token references of the last modification indication (MA X ) of the GA, even in the case of a sequence.
  • the verification indication may include two or more output token references TRAij of the GA from different MAs, such as TRA21 and TRAXI.
  • the test information cannot include two or more output token references TRAIJ of the GA, preferably from different MAs, such as TRAII, TRA22 and/or. TRAX2.
  • FIG. 4b shows a first exemplary embodiment of a method for checking the validity of at least one token T based on a validity request GA with several MA, for example according to FIG. 4a.
  • the sequence of the method in FIG. 4b essentially corresponds to the method according to FIG. 3b (identical steps 102, 103, 104, 105, 106) and in this regard reference is made to the statements in FIG. 3b.
  • a specified output token reference, TRAIJ or alternatively all output token references of the MA, TRAII and TRAII, of the MA are already stored (as a valid TR).
  • the modification request MAi is executed 105.
  • a UGB could be sent in step 109 as soon as the current MA of the GA is not executable (no case of step 103 or yes case of step 104), if all TR of the GA must be checked for validity.
  • loop 141, 142 including steps 102-106 (and 146), is executed for each MA, MAi. . . MA X , which passes through GA.
  • Output token references TRAIJ that have already been previously saved according to step 102 or saved in step 105 can be buffered in the loop as TRA of the GA - recognized as valid or already signed.
  • step 146 it is also cached that the specified TRAIJ of the MAi or the output token reference or references, TRAIJ, of the MAi are invalid. If all specified TRAIJ are valid or all output token references of the GA are valid, a validity confirmation GB for the GA, including optional signatures, is sent 108. Otherwise, an invalidation confirmation can be sent 109.
  • a partial validity confirmation TGB can be (created and) sent 148, unless all but at least one output token reference in question is valid (step 147)
  • the partial validity confirmation TGB preferably only includes the signatures of the TRR for the valid output token references of the GA or the valid output token references TRAij to be checked for validity.
  • the validity confirmation GB for the GA is sent to the TE or the invalidity confirmation UGB is sent for the GA (or optionally a partial validity confirmation for the GA is sent) .
  • FIG. 4c shows a further exemplary embodiment of a method for checking the validity of a token T based on a validity request GA with several MA, in particular according to FIG. 4a.
  • the sequence of the method in FIG. 4c essentially corresponds to the method according to FIG. 3c (identical steps or sequence of steps 104, 103, 102, 105, 106) and in this regard reference is made to the statements in FIG. 3c.
  • 4c also includes a loop 141, 142 with a termination criterion (all specified TRAIJs checked for validity or all MAs run through), which allows each MA of the GA to run through the step sequence 102-106, 146 until the termination criterion is reached.
  • a termination criterion all specified TRAIJs checked for validity or all MAs run through
  • the corresponding confirmation GB/UGB/TGB will be sent 108/109/149.
  • MA of the GA can remain unchecked and a validity confirmation GB can still be sent for the TRAIJ to be checked for validity.
  • Stacks of modification information MA are preferably checked using the method according to FIGS. 4b and 4c.
  • the modification information contains independent token references.
  • Fig. 5a shows a third exemplary embodiment of a validity request GA according to the invention.
  • the GA includes several modification details MAi, MA2, . . . MAX .
  • the GA modification information is dependent on each other.
  • the GA therefore includes a sequence of
  • MAi's output token reference is TRAII
  • the output token reference TRA22 of MA2 could be an input token reference of another MA of the GA, for example the MA3, MA4 or MA X .
  • the first input token reference of MA x is the output token reference TRA X -I 1 of MA x -i.
  • the GA's check information 53 contains the output token references TRA21 and TRA X 2.
  • the MA's optional signatures are again not shown in the figure.
  • 5b shows a first exemplary embodiment of a method for checking the validity of a token T based on a validity request GA with several, preferably interdependent, MAs - in particular according to FIG. 5a.
  • the GA is received 101 and in step 102 it is checked whether the token references TRAIJ to be checked for validity are stored as valid TRs in the TRR, in particular whether they are present in the storage unit 1 of the TRR, which only contains the valid TRs. If the specified output token references TRA21 and TRAX2 are already stored, the validity confirmation GB can be sent 108 - optionally after the signatures 106 have been created as a cryptographic confirmation of the TRR for the valid TR. In this case, none of the MA of the GA (for errors and/or or feasibility).
  • step 103 it is checked in step 103 whether the input token reference(s) TREH and TREI2 are stored in the storage unit 1 of the TRR, i.e. are valid. In the no case, an invalidity confirmation UGB is sent 109. Likewise in the (yes) case of step
  • step 104 since the method is aimed at a sequence whose token references depend on each other - the MA is not actually executed yet.
  • the output token references TRA of the MAi are not yet saved. Deleting the input token references TRE of the MAi in the loop would be conceivable, but preferably only takes place in step 155.
  • the verification unit 2 only temporarily stores the output token references TRA of the MAi to be saved (and the input token references TRE of the MAi to be deleted). Several of these cached output token references will be the input token reference of another MA of the GA (which would therefore have to be deleted again). Now they are simply removed from the verification unit's cache. An unnecessary writing access (or several unnecessary writing or deleting accesses) to the storage unit 1 can thus be avoided.
  • Step 155 Only in step 155 are the cached (and not deleted again) output token references written into the storage unit. Step 155 may also be referred to as selectively storing the overall output token references of the sequence.
  • the output token references TRA21 TRAXI TRA X 2 are saved and the input token references TREH TREI2 TRE21 are deleted. The validity confirmation for the output token references TRA2I,TRA X 2 can then be sent.
  • the modification specification MA n has already been carried out.
  • the processing of the sequence of modification information can therefore be started with the following modification information MA n +i.
  • the sequence of the MA can be evaluated in order to recognize secondary branches of the sequence and take them into account as such in the processing of the sequence.
  • 5c shows a further exemplary embodiment of a method for checking the validity of a token T based on a validity request GA with several MA, in particular according to FIG. 5a or a GA with a sequence of MA.
  • step 101 all modification information MAi to MA X of the GA are first checked for errors in step 164a. If the MA contains an error (no case in step 164b), it is checked whether the specified output token references TRAIJ of the GA are all already stored 102. Depending on the case, the UGB is sent accordingly 109 or - after optional signing 106 of the TRAIJ - the validity confirmation GB is sent 108.
  • step 164b all TRs of the GA are read 162 from the storage unit 1 (it is checked for all TRs whether they are already stored). If all specified output token references TRAij are present 102, the validity confirmation 108 is sent as before. If not (no case of step 162), in step 165 the overall output token references of the sequence are selectively saved and the input token references (if still saved) are deleted.
  • the procedure according to Fig. 5c also leads to optimized processing of the GA with a sequence (or a stack).
  • the checked (verified) token references TR are stored in the token reference register TRR, whereby the modification to the token T is registered in the transaction system TS.
  • the token reference TR is uniquely assigned to the token T and is used to register the token T in the transaction system TS.
  • the token reference TR is therefore the public representation of the token T from the direct transaction layer TE layer.
  • the sole knowledge or possession of the token reference TR does not allow the transfer of the token T and does not mean that the TE is in possession of the token T.
  • the token reference TR is used to prevent multiple issuance attempts. It is checked whether token values v were generated in an inadmissible manner. Therefore, the token reference TR and, if necessary, the history of the token T and corresponding modifications by registration requests RA sent by transaction units TE are stored in the token reference register TRR.
  • the tokens T are stored, for example, in token stores or electronic purses, so-called wallets, of a TE.
  • a wallet is, for example, a software application within a transaction unit TE (in particular a secure element) or a terminal device in which the TE is installed ready for operation.
  • a wallet can be set up as an application on a smartphone, a smart card or a payment terminal.
  • the wallet is used to securely manage token T of the TE, to generate token references TR, to modify token T, to exchange token T and/or to initiate the checking of the validity of tokens.
  • Wallets are used to communicate with the token reference register TRR, to generate registration requests RA for modifications of the token T to the token reference register TRR, to carry out transactions from token T to a transaction unit TE and/or to generate validity requests GA.
  • the transaction system TS is set up to carry out a transaction offline, i.e. without a communication connection with the token reference register TRR. A corresponding registration of token T can therefore take place after a transfer of the token T to a transaction unit TE.
  • the token reference register TRR is a unit of the transaction system TS and is either a central register or a central database of the transaction system TS or a decentralized register or a decentralized database (DLT) of the transaction system TS.
  • a validity request GA is created by the transaction unit TE.
  • the validity request GA includes the token reference TR of the token T, the validity of which is to be checked.
  • the validity request GA also includes modification information about one or more modifications to the token T.
  • a token reference TR can be sent to the token reference register TRR together with a modification information as a validity request GA regarding the token T.
  • the validity request GA can be signed with the private part r of the token-specific key pair. Signing makes it possible to verify whether the sender of the token reference TR was in possession of the token T, which further increases security in the transaction system TS.
  • a validity request GA can be sent to the token reference register TRR to check whether the token T is valid.
  • This validity request GA is received in the token reference register TRR.
  • the transaction unit TE After checking the validity request GA by the token reference register TRR (or its verification unit2), the transaction unit TE is informed whether the token T is valid or not.
  • a validity request GA is preferably signed with the private part r.
  • the signature allows the syntactic authenticity of the command to be easily checked by the recipient (TRR or TE). This check is preferably carried out in the database 1 or the verification unit 2.
  • a validity query GA can, for example, be syntactically validated by checking the signature and/or the token reference TR.
  • the TE transaction units provide a secure hardware platform. With an available connection to the token reference register TRR, the token references TR are transmitted and the multiple issuance attempt can be detected in the token reference register TRR. If a token reference TR is not yet known in the token reference register TRR, it is added (saved).
  • An archiving unit can also be kept in the token reference register TRR (not shown in FIG. 1). Registration requests RA and/or validity requests and/or token references that are no longer valid are stored in this archiving unit.
  • commands KO for example “Switch”, “Split” or “Merge”.
  • Another type of command for checking the validity of an unmodified token T in the TRR was also known.
  • the following table shows example command encodings (0x01 to 0x05). The coding shown here and also the order of the data elements in the MA used in the figures is interchangeable or only an example.
  • Input token T and input token references TR are specified (“used”) for each command.
  • Output token T and output token references TR are specified (“generated”) for each command.
  • a modification statement (e.g. a registration request RA or a validity request GA) has the basic structure of the following three elements: command type, input token reference(s), output token reference(s).
  • Each command KO has a partially characteristic number (one or more) of input token reference(s) (“inputs”) and output token reference(s) (“outputs”).
  • a switch for example, preferably has exactly one input token reference and exactly one output token reference.
  • a split has exactly one (or more) input token reference and at least two (or more) output token references.
  • a connect has at least two (or more) input token references and exactly one (or more) output token reference(s).
  • FIG. 6 shows a further embodiment of a token reference register TRR of a transaction system TS. It is indicated here that several storage units 1 can be kept in the token reference register TRR in order to save one
  • FIG. 6 shows a further embodiment of a token reference register TRR of a transaction system TS. It is indicated here that several storage units 1 can be kept in the token reference register TRR in order to accelerate the storage of a large number of token references TR. It is also indicated here that several verification units 2 can be kept in the token reference register TRR in order to accelerate verification of validity requests GA and/or registration requests RA.
  • a transaction unit from a bank TEB is shown, which can serve as an interface between the transaction system TS and a bookkeeping system (lending, account management). It can enable transaction units TE to transfer tokens T of the transaction system TS into another transaction system TS. This transfer is possible bidirectionally.
  • the token issuer, TH is solely responsible for generating token T and also deleting token T in the TS.
  • FIG. 6 also shows a registration request unit RAE, which can receive a validity request GA (and/or RA) from a transaction unit TE1 and forwards the GA (and/or RA) to the TRR.
  • RAE Registration request unit
  • the TRR also contains an archive unit 5 in which RA and/or GA that have already been executed and/or token references that are no longer valid are stored, in particular as a linked graph.
  • Transaction units TE can send their RA and/or GA to the TRR via a first interface 3 of the TRR. However, only the token issuer TH is allowed to send commands to the TRR via the second interface 4 of the TRR.
  • token T it can be advantageous if only one (or a few) token T is used per transaction unit TE (here as a secure element, e.g. smart card or TEE).
  • TE connects a received token T with the token T stored in the token storage (MERGE).
  • MERGE token storage
  • SPLIT token memory
  • Each of these modifications is also referred to as a “proof” (see above for FIG. 1) or is stored as, preferably signed, modification information MA with the token T. This creates the sequence of modification information MAp or. in the TE1 for the token T. MAi, MA2, ... MA
  • a validity query GA is now provided to check a token for validity.
  • the terminal device receives the GA and/or the MA or MAF.
  • a registration request unit RAE can also be provided as a switching entity between the TE and the TRR, see Fig. 6.
  • the RAE then receives the GA and/or the MA or MAF from the TE or the terminal.
  • a GA is sent to the TRR.
  • the terminal (not shown in Figure 6) or the RAE attempts to transmit the GA to the TRR.
  • GA and/or the MA or MAF are neither evaluated nor interpreted by the end device nor by the RAE.
  • the order of the modification information in a GA of a sequence MAF is not changed by the terminal or the RAE.
  • a validity confirmation GB (or a registration confirmation RB) of the TRR is then transmitted from the terminal and/or the RAE to the TE.
  • Each GA and/or the MA or MAF can be signed with the private part r (the random number r) of the relevant token-specific key pair. Therefore, the modification information MA, which is stored in the TE (in the token memory), is sometimes also referred to as a proof.
  • the verification unit 2 of the TRR checks the validity, in particular using a method according to FIGS. 3b to 5c.
  • a GB is sent back to the secure element or the TE (possibly via the RAE or the end device).
  • TE2 also carries out:
  • Validity check of token F Only token F should be checked for validity.
  • a GA is generated and the token reference of the token F (as a checking specification) together with the modification information MA consisting of the three modifications (proofs) “Split”, “Switch” and “Merge” are sent from the TE2 to the TRR as a GA.
  • the output token reference TRB of the first MA of the GAs is not to be checked or is not checked for validity by the TRR.
  • the first two modification details of the GA are only carried out optionally, for example if TE1 (or another TE) has not yet sent an RA or GA with these two MA to the TRR.
  • the GB can of the TRR can optionally be returned in the form of a status message that also encodes additional information, for example:
  • the cryptographic confirmations, in particular signatures, of the TRR can be attached to such a status message.
  • the GB can or the valid TR can be signed with a private key pKey RR of a key pair of the verification unit 2.

Abstract

The invention relates to a secure element as a transaction unit of a transaction system having a token reference register, to a procedure in the token reference register, and to the token reference register. The secure element comprises a token store for tokens of the transaction system and is designed as a transaction unit for exchanging tokens of the transaction system directly with another transaction unit of the transaction system. Each token (T) of the transaction system (TS) is unambiguously assigned a token reference (TR) which can be registered in a token reference register (TRR) of the transaction system (TS). The secure element is designed in order, starting from at least one input token, to produce at least one output token and an output token reference (TRA) thereof. The secure element provides a modification detail, with an input token reference (TRE), a command (KO) and an output token reference (TRA), for the token reference register (TRR). In the present case, the secure element provides the at least one modification detail (MA) as a validity enquiry (GA). It is also designed to receive a validity confirmation (GB) for at least one output token reference, to be checked for validity, of the validity enquiry (GA).

Description

SICHERES ELEMENT, VERFAHREN ZUM REGISTRIEREN VON TOKEN UND TOKENREFERENZREGISTER SECURE ELEMENT, METHOD FOR REGISTERING TOKENS AND TOKEN REFERENCE REGISTER
Die Erfindung bezieht sich auf ein Verfahren zum Registrieren von Token, insbesondere eines sicheren Elements als Transaktionseinheit, auf ein sicheres Element sowie auf ein Tokenreferenzregister, in dem Tokenreferenzen gespeichert werden, die eindeutig einem Token zugeordnet sind, sowie auf das Transaktionssystem insgesamt. The invention relates to a method for registering tokens, in particular a secure element as a transaction unit, to a secure element and to a token reference register in which token references are stored that are clearly assigned to a token, as well as to the transaction system as a whole.
Mit Hilfe sicherer Elemente, wie Chipkarten, SIM-Module etc, als Transaktionseinheiten kann bekanntermaßen eine sichere direkte Übertragung zwischen den Transaktionseinheiten erreicht werden, wobei bewusste Mehrfachausgaben von Token, auch Double-Spending genannt, bereits ausgeschlossen sind. With the help of secure elements, such as chip cards, SIM modules, etc., as transaction units, it is known that a secure direct transfer between the transaction units can be achieved, whereby deliberate multiple spending of tokens, also known as double spending, is already ruled out.
Beispielsweise aus DE 102009 038 645 Al und der DE 102009 034 436 Al sind Systeme bzw. tragbare Datenträger als sichere Elemente zum Übertragen von geldwerten Beträgen in Form elektronischer Datensätze bekannt, bei denen ein Bezahlen mit Duplikaten des Datensatzes verhindert und ein hoher Grad an Manipulationssicherheit gegeben ist. Hier sind komplexe Strukturen und aufwendige Verschlüsselungs- und Signiervorgänge für die Transaktionen erforderlich. For example, from DE 102009 038 645 A1 and DE 102009 034 436 A1, systems or portable data carriers are known as secure elements for transferring monetary amounts in the form of electronic data sets, in which payment with duplicates of the data set is prevented and a high degree of security against manipulation is provided is. Complex structures and complex encryption and signing processes are required for the transactions.
Zur Sicherheit von Transaktionen und den dazugehörigen Transaktionsdaten gehören sowohl Schutz der Vertraulichkeit der ausgetauschten Daten; als auch der Schutz der Integrität der ausgetauschten Daten; als auch der Schutz der Verfügbarkeit der ausgetauschten Daten. The security of transactions and the associated transaction data includes protecting the confidentiality of the data exchanged; as well as protecting the integrity of the data exchanged; as well as protecting the availability of the exchanged data.
Als Lösungsansätze für sichere Transaktionssysteme wird oft zwischen tokenbasierten Systemen und accountbasierten Systemen unterschieden. Neben herkömmlichen accountbasierten Systemen, wie beispielsweise Guthaben- oder Kreditkonten, wurden zuletzt neuartigere accountbasierte Systeme basierend auf Blockchain-Topologien diskutiert. Die accountführende Einheit hat dabei jeweils den Zugriff auf den Datensatz, der den geldwerten Betrag repräsentiert. Die neuartigeren accountbasierten Systeme stellen zwar einen hohen Schutz der Integrität bereit, veröffentlichen jedoch auch viele Informationen, beispielsweise wenn Datensätze in einer frei lesbaren Datenstruktur vorliegen und dort den Besitzer wechseln. As solutions for secure transaction systems, a distinction is often made between token-based systems and account-based systems. In addition to conventional account-based systems, such as credit or credit accounts, more novel account-based systems based on blockchain topologies have recently been discussed. The account-managing unit has access to the data record that represents the monetary amount. Although the newer account-based systems provide a high level of integrity protection, they also publish a lot of information, for example when records exist in a freely readable data structure and change hands there.
Es ist ebenfalls bereits bekannt, ein tokenbasiertes Transaktionssystem noch um ein Token- Register zu erweitern. Das sichere Element sendet eine Registrierungsanfrage für seinen Token an das Register. Das Register verifiziert die Registrierungsanfrage und speichert beispielsweise nur eine Tokenreferenz für den Token, kennt also nicht den Token selbst. It is also already known to expand a token-based transaction system to include a token register. The secure element sends a registration request for its token to the register. The registry verifies the registration request and, for example, only stores a token reference for the token, so it does not know the token itself.
WO 2020/212337 Al beschreibt ein Transaktionssystem, bei dem sogar Modifikationen von Token - beispielsweise durch Aufteilen des Tokens, offline, also direkt zwischen den sicheren Elementen des Transaktionssystems und ohne weitere Kontrollinstanz, gesichert möglich sind. Die Token können nach dem Erhalt in einem sicheren Element bzw. einer Teilnehmereinheit sofort weiter übertragen werden, ohne dass eine Registrierung einer Modifikation in einem Token-Register des Transaktionssystems erfolgen muss. Die Registrierung der Modifikation in dem Token-Register kann zeitlich unabhängig von der eigentlichen Transaktion, dem Übertragen des Token, erfolgen. Die sicheren Elemente sind bekanntermaßen jedoch ressourcenbeschränkt, insbesondere bezüglich Speicherplatz, Verarbeitungsgeschwindigkeit, Übertragungszeit und/oder -geschwindigkeit begrenzt. WO 2020/212337 Al describes a transaction system in which even modifications of tokens - for example by splitting the token, are possible offline, i.e. directly between the secure elements of the transaction system and without any further control instance. After receipt in a secure element or a participant unit, the tokens can be transferred immediately without having to register a modification in a token register of the transaction system. The registration of the modification in the token register can take place independently of the actual transaction, the transfer of the token. However, the secure elements are known to be resource-limited, particularly limited in terms of storage space, processing speed, transmission time and/or speed.
Der Erfindung liegt die Aufgabe zu Grunde, ein neues Verfahren bereit zu stellen, das für ein sicheres Element als Transaktionseinheit besser geeignet ist, also insbesondere ressourcensparend ist. Die Abläufe im Transaktionssystem, wie das direkte Übertragen der Token zwischen den Transaktionseinheiten und die Registrierung von Token in dem Register, sowie die verbundenen Vorteile und Einsatzmöglichkeiten sollten bevorzugt erhalten bleiben. Insbesondere sollen auch mehrere Modifikationsangaben einer Transaktionseinheit ressourcensparend verarbeitet werden. The invention is based on the object of providing a new method that is more suitable for a secure element as a transaction unit, and is therefore particularly resource-saving. The processes in the transaction system, such as the direct transfer of tokens between the transaction units and the registration of tokens in the register, as well as the associated advantages and possible uses should preferably be retained. In particular, several modification details of a transaction unit should be processed in a resource-saving manner.
Die gestellte Aufgabe wird durch die in den unabhängigen Patentansprüchen beschriebenen Merkmalen gelöst. Weitere vorteilhafte Ausgestaltungen sind in den jeweils abhängigen Patentansprüchen beschrieben. The task is solved by the features described in the independent patent claims. Further advantageous refinements are described in the respective dependent patent claims.
Ein sicheres Element eines elektronischen Transaktionssystems weist einen Tokenspeicher für Token des Transaktionssystems auf und ist eingerichtet, Token direkt mit einer anderen Transaktionseinheit des Transaktionssystems auszutauschen. Jedem Token des Transaktionssystems ist eine Tokenreferenz eindeutig zugeordnet. In einem Tokenreferenz- Register des Transaktionssystems sind Tokenreferenzen (und somit die zugeordneten Token) registrierbar. Das sichere Element ist weiter eingerichtet, um ausgehend von mindestens einem Eingangstoken mindestens einen Ausgangstoken und dessen Ausgangs-Tokenreferenz zu erzeugen. Das sichere Element stellt mindestens eine Modifikationsangabe für das Tokenreferenz-Register bereit, welche mindestens eine Eingangs-Tokenreferenz, ein Kommando und mindestens eine Ausgangs-Tokenreferenz umfasst. Nun stellt das sichere Element die mindestens eine Modifikationsangabe als eine Gültigkeitsanfrage bereit und empfängt eine Gültigkeitsbestätigung für zumindest eine auf Gültigkeit zu prüfende Ausgangs-Tokenreferenz der Gültigkeitsanfrage. A secure element of an electronic transaction system has a token storage for tokens of the transaction system and is set up to exchange tokens directly with another transaction unit of the transaction system. A token reference is uniquely assigned to each token in the transaction system. Token references (and thus the assigned tokens) can be registered in a token reference register of the transaction system. The secure element is further set up to generate at least one output token and its output token reference based on at least one input token. The secure element provides at least one modification indication for the token reference register, which includes at least one input token reference, a command and at least one output token reference. Now the secure element provides the at least one modification information as a validity request and receives a confirmation of validity for at least one output token reference of the validity request to be checked for validity.
Das Senden der Modifikationsangabe in einer Gültigkeitsanfrage ermöglicht, wie im Folgenden näher dargelegt, eine Vielzahl von zunächst scheinbar eher kleinen Fortschritten, die spätestens in der Summe für das sichere Element und sogar für das Tokenreferenz -Register hilfreich sein können. Da das Tokenreferenz-Register die Gültigkeitsanfrage mit (nur optionaler) Modifikationsangabe im Schnitt schneller bearbeiten kann als eine herkömmliche Registrieranfrage, reduziert sich bereits die Verbindungs- oder Übertragungszeit und somit der Aufwand im sicheren Element die Verbindung zu verwalten, insbesondere aufrecht zu erhalten (Timeouts . . .) oder wieder herzustellen. Sending the modification information in a validity request enables, as explained in more detail below, a variety of initially seemingly small advances, which can ultimately be helpful for the secure element and even for the token reference register. Since the token reference register can process the validity request with (only optional) modification information faster on average than a conventional registration request, the connection or transmission time is reduced and thus the effort in the secure element to manage the connection, in particular to maintain it (timeouts. . .) or restore.
Die Gültigkeitsanfrage kann vorzugsweise die zumindest eine zu prüfende Ausgangs- Tokenreferenz und mindestens eine nicht zu prüfende Ausgangs-Tokenreferenz umfassen. Es sind also nicht alle Ausgangs-Tokenreferenzen auf Gültigkeit zu prüfen. The validity request can preferably include the at least one output token reference to be checked and at least one output token reference not to be checked. This means that not all output token references need to be checked for validity.
Die Gültigkeitsanfrage kann die Modifikationsangabe und zusätzlich eine Prüfungsangabe umfassen, welche die zumindest eine (oder mehreren) zu prüfende(n) Ausgangs- Tokenreferenz(en) angibt. Die Prüfungsangabe kann beispielsweise die Ausgangs- Tokenreferenz(en) enthalten, einen (oder die) Verweis(e) auf die Ausgangs-Tokenreferenzen enthalten oder auch durch ein (oder mehrere) gesetzte Flag(s) für die Ausgangs- Tokenreferenz(en) kodiert sein. Flags sind in der Regel Bits, die entweder gesetzt oder nicht gesetzt sind. Für jede Ausgangs-Tokenreferenz der Gültigkeitsanfrage oder der Modifikationsangabe wäre beispielsweise ein Flag vorgesehen, das entweder gesetzt oder nicht gesetzt sein kann. Besonders bevorzugt betrifft die Prüfungsangabe Ausgangs-Tokenreferenzen von mindestens zwei unterschiedlichen Modifikationsangaben der Gültigkeitsanfrage. The validity request can include the modification information and additionally a verification information that specifies the at least one (or more) output token reference(s) to be checked. The test information can, for example, contain the output token reference(s), contain one (or the) reference(s) to the output token references or also encoded by one (or more) set flag(s) for the output token reference(s). be. Flags are typically bits that are either set or unset. For example, for each output token reference of the validity request or the modification statement, a flag would be provided that could either be set or not set. Particularly preferably, the checking information relates to output token references of at least two different modification details of the validity request.
Insbesondere zugunsten des Tokenreferenz -Registers könnte das sichere Element eingerichtet sein, um Modifikationsangaben entweder als Gültigkeitsanfrage oder als Registrieranfrage bereit zu stellen. Als Auswahlkriterium für das Senden als Gültigkeitsanfrage könnte das sichere Element beispielsweise verwenden: In particular for the benefit of the token reference register, the secure element could be set up to provide modification information either as a validity request or as a registration request. For example, the secure element could use the following as a selection criterion for sending as a validity request:
- eine Anzahl der im sicheren Element gespeicherten Modifikationsangaben, insbesondere ab mehr als zwei Modifikationsangaben, und/oder - a number of modification details stored in the secure element, in particular if there are more than two modification details, and/or
- ein Zeitkriterium, insbesondere mit Hilfe eines Zeitstempels, beispielsweise einer Transaktion und/oder Modifikation oder der letzten Kommunikation mit dem Tokenreferenz -Register verwenden, und/oder - ein Herkunftskriterium, beispielsweise falls die Modifikationsangabe empfangen wurde, insbesondere von einer anderen Transaktionseinheit. - use a time criterion, in particular with the help of a timestamp, for example a transaction and/or modification or the last communication with the token reference register, and/or - an origin criterion, for example if the modification information was received, in particular from another transaction unit.
Eine solche Auswahl durch das sichere Element ist jedoch nicht wirklich erforderlich. Wie im Folgenden noch deutlich wird, kann das sichere Element eine (oder mehrere) Modifikationsangabe(n) immer als Gültigkeitsanfrage senden. However, such selection by the secure element is not really necessary. As will become clear below, the secure element can always send one (or more) modification information as a validity request.
Es ist prinzipiell denkbar den Datenaustausch mit dem Tokenreferenz -Register, inklusive Gültigkeitsanforderung und -bestätigung, kryptographisch abzusichern, also zu verschlüsseln und/oder zu signieren. Insbesondere eine von Dritten manipulierte Gültigkeitsbestätigung würde so erkannt werden. In principle, it is conceivable to cryptographically secure the data exchange with the token reference register, including the validity request and confirmation, i.e. to encrypt and/or sign it. In particular, a confirmation of validity that has been manipulated by third parties would be recognized in this way.
Besonders vorteilhaft (und für die Absicherung einer Gültigkeitsanfrage hinreichend) ist es, wenn die Gültigkeitsbestätigung für jede zu prüfende Ausgangs-Tokenreferenz eine separate kryptographische Bestätigung, wie Prüfsumme oder Signatur, umfasst. Ebenfalls vorteilhaft kann es sein, wenn die Gültigkeitsbestätigung für alle zu prüfenden Ausgangs-Tokenreferenzen (bzw. nur für diese) eine gemeinsame kryptographische Bestätigung, wie Prüfsumme oder Signatur, umfasst. Die kryptographische(n) Bestätigung(en) für die zu prüfende(n) Ausgangs- Tokenreferenz(en), werden vorzugsweise in dem sicheren Element gespeichert und/oder zusammen mit dem(den) zugeordneten Token an eine andere Transaktionseinheit übertragen. It is particularly advantageous (and sufficient for securing a validity request) if the confirmation of validity includes a separate cryptographic confirmation, such as a checksum or signature, for each output token reference to be checked. It can also be advantageous if the confirmation of validity includes a common cryptographic confirmation, such as a checksum or signature, for all output token references to be checked (or only for these). The cryptographic confirmation(s) for the output token reference(s) to be checked are preferably stored in the secure element and/or transmitted to another transaction unit together with the associated token(s).
Die Gültigkeitsanfrage kann mehrere Modifikationsangaben umfassen, insbesondere einen Stapel und/oder zumindest eine Folge von Modifikationsangaben umfassen. Voneinander (in ihren Tokenreferenzen) unabhängige Modifikationsangaben werden vorliegend als Stapel bezeichnet. Die Modifikationsangaben eines Stapels können in dem Tokenreferenz-Register in beliebiger Reihenfolge verarbeitet werden. Voneinander (in ihren Tokenreferenzen) abhängige Modifikationsangaben werden dagegen als Folge (oder Sequenz) bezeichnet. Mindestens eine Ausgangs-Tokenreferenz einer Modifikationsangabe ist zugleich Eingangs-Tokenreferenz einer anderen Modifikationsangabe. Vorzugsweise umfasst die Folge mehrere Ausgangs- Tokenreferenzen, die zugleich Eingangs-Tokenreferenz einer nachfolgenden Modifikationsangabe in der Folge sind. Die Modifikationsangaben einer Folge können in dem Tokenreferenz-Register nicht in beliebiger Reihenfolge verarbeitet werden. Das Tokenreferenzregister wird die Modifikationsangaben der Folge(n) insbesondere in der Reihenfolge ausführen, in der sie in der Gültigkeitsanfrage vorliegen oder die in der Gültigkeitsanfrage vorgegeben ist. Die Folge kann insbesondere mit oder ohne Verzweigungen aufgebaut sein, nur beispielsweise „MAI => MA2 => ... => MAn“ oder „(MAI, MA2) => MA3 ... (MA4, MA5) => MA6 ...“. Die Modifikationsangabe(n) der Gültigkeitsanfrage ist (sind) insbesondere nur optional auszuführen. Eine Gültigkeitsbestätigung kann das Tokenreferenz-Register selbst im Falle einer (oder mehrerer) fehlerhafter Modifikationsangabe(n) senden. Ob das Tokenreferenz-Register die Modifikationsangabe(n) prüft und gegebenenfalls ausführt und/oder welche der Modifikationsangaben geprüft und ausgeführt wurden, ist unabhängig von der Gültigkeitsbestätigung für die zumindest eine (oder mehreren) zu prüfende(n) Ausgangs- T okenreferenz(en) . The validity request can include several modification details, in particular a stack and/or at least one sequence of modification details. Modification statements that are independent of one another (in their token references) are referred to here as a stack. The modification information of a batch can be processed in the token reference register in any order. Modification statements that depend on one another (in their token references), on the other hand, are referred to as a sequence (or sequence). At least one output token reference of one modification information is also the input token reference of another modification information. The sequence preferably comprises several output token references, which are also the input token reference of a subsequent modification statement in the sequence. The modification information of a sequence cannot be processed in any order in the token reference register. The token reference register will execute the modification information of the sequence(s) in particular in the order in which they are present in the validity request or which is specified in the validity request. In particular, the sequence can be constructed with or without branches, just for example “MAI => MA2 => ... => MAn” or “(MAI, MA2) => MA3 ... (MA4, MA5) => MA6 .. .”. The modification statement(s) of the validity request is (are) only to be carried out optionally. The token reference register can send a confirmation of validity even in the event of one (or more) incorrect modification details. Whether the token reference register checks and, if necessary, executes the modification information and/or which of the modification information has been checked and executed is independent of the confirmation of validity for the at least one (or more) output token reference(s) to be checked. .
Die Gültigkeitsanfrage kann für ein Tokenreferenz-Register, welches nur die gültigen Tokenreferenzen in einer Speichereinheit für Tokenreferenzen speichert, eine Aufforderung sein zu prüfen, ob die zu prüfende(n) Ausgangs-Tokenreferenz(en) bereits in der Speichereinheit gespeichert ist (sind). The validity request can be a request for a token reference register that stores only the valid token references in a storage unit for token references to check whether the output token reference (s) to be checked is (are) already stored in the storage unit.
Das sichere Element umfasst regelmäßig einen Prozessor, insbesondere zur Ausführung der Schritte als Transaktionseinheit, und/oder eine Schnittstelle, insbesondere zu einem lokalen Endgerät, über welche die Gültigkeitsanfrage für das Tokenreferenz-Register (TRR) bereitgestellt wird. Eine Transaktionseinheit kann eine Teilnehmereinheit sein bzw. wird im Folgenden teilweise auch als solche bezeichnet. The secure element regularly comprises a processor, in particular for carrying out the steps as a transaction unit, and/or an interface, in particular to a local terminal, via which the validity request for the token reference register (TRR) is provided. A transaction unit can be a participant unit or is sometimes referred to as such below.
Der bzw. jeder Token wird als Datenelemente insbesondere einen Tokenwert sowie einen geheimes Tokenelement umfassen, der insbesondere ein geheimer Schlüssel eines Schlüsselpaares ist. Tokenreferenzen können als Datenelemente einen Tokenwert, insbesondere den Tokenwert des Tokens, sowie ein öffentliches Tokenelement, insbesondere den öffentlichen Schlüssel des Schlüsselpaares des Tokens, umfassen. The or each token will comprise, as data elements, in particular a token value and a secret token element, which is in particular a secret key of a key pair. Token references can include, as data elements, a token value, in particular the token value of the token, and a public token element, in particular the public key of the token's key pair.
Eine Modifikation ist insbesondere ein Aufteilen und/ Verbinden oder Umschalten von Token. Das Kommando der Modifikationsangabe ist entsprechend beispielsweise „Aufteilen“, „Verbinden“ oder „Umschalten“. Ein (oder mehrere) Eingangstoken mit einem (Gesamt- )Tokenwert kann in mehrere Ausgangstoken mit anderem Tokenwert (aber gleichem Gesamtwert) aufgeteilt werden. Zwei oder mehr Eingangstoken mit einem Gesamtwert können zu einem Ausgangstoken mit dem Gesamtwert verbunden werden. Ein Eingangstoken mit einem Tokenwert kann auf einen Ausgangstoken mit dem gleichen Tokenwert umgeschaltet werden. A modification is in particular a splitting and/connecting or switching of tokens. The command for the modification specification is, for example, “split”, “connect” or “switch”. One (or more) input tokens with one (total) token value can be split into several output tokens with a different token value (but the same total value). Two or more input tokens with a total value can be combined to form an output token with the total value. An input token with a token value can be switched to an output token with the same token value.
Die Transaktionseinheit, also beispielsweise das Sicherheitselement, kann einen (oder mehrere) Ausgangstoken, insbesondere inklusive Tokenwert und geheimem Tokenelement, sowie die zugeordnete Ausgangs-Tokenreferenz für die Modifikationsangabe erzeugen. Die Transaktionseinheit, also beispielsweise das Sicherheitselement, speichert Ihre Token sowie optional eine oder mehrere Modifikationsangaben. Die Modifikationsangabe ist zusammen mit oder zumindest verknüpft mit dem Ausgangstoken abgespeichert. The transaction unit, for example the security element, can generate one (or more) output tokens, in particular including the token value and secret token element, as well as the assigned output token reference for the modification information. The transaction unit, for example the security element, stores your tokens and optionally one or more modification details. The modification information is stored together with or at least linked to the initial token.
Das Sicherheitselement kann bevorzugt in Antwort auf den Empfang der Gültigkeitsbestätigung die im Sicherheitselement gespeicherten Modifikationsangabe(n) löschen, die in der Gültigkeitsanfrage enthalten war(en). The security element can preferably delete the modification information(s) stored in the security element and contained in the validity request in response to receipt of the validity confirmation.
Token können direkt mit anderen Transaktionseinheiten ausgetauscht werden. Für noch nicht registrierte Token ist der Token zusammen mit der (oder den) Modifikationsangabe(n) zu übertragen. Bereits registrierte Token können ohne die Modifikationsangabe übertragen werden. Tokens can be directly exchanged with other transaction units. For tokens that have not yet been registered, the token must be transferred together with the modification information(s). Tokens that have already been registered can be transferred without the modification information.
Vorliegend wird ein Verfahren zum Prüfen der Gültigkeit eines Tokens eines sicheren elektronischen Transaktionssystems bereitgestellt. Jedem Token des Transaktionssystems ist eine Tokenreferenz eindeutig zugeordnet. Ein Tokenreferenz -Register des Transaktionssystems umfasst eine Verifikationseinheit und eine Speichereinheit, in welcher die Tokenreferenzen gültiger Token gespeichert sind. In dem Tokenreferenz-Register werden folgende Schritt ausgeführt: The present invention provides a method for checking the validity of a token of a secure electronic transaction system. A token reference is uniquely assigned to each token in the transaction system. A token reference register of the transaction system includes a verification unit and a storage unit in which the token references of valid tokens are stored. The following steps are carried out in the token reference register:
- Empfangen einer Gültigkeitsanfrage, die eine Modifikationsangabe mit mindestens einer Eingangs-Tokenreferenz, mindestens einer Ausgangs-Tokenreferenz und einem Kommando umfasst; - Receiving a validity request that includes a modification statement with at least one input token reference, at least one output token reference and a command;
- Prüfen mindestens einer auf Gültigkeit zu prüfenden Ausgangs-Tokenreferenz der Gültigkeitsanfrage darauf, ob sie in der Speichereinheit gespeichert ist; und - Checking at least one output token reference of the validity request to be checked for validity to see whether it is stored in the storage unit; and
- Senden einer Gültigkeitsbestätigung für die mindestens eine zu prüfende Ausgangs- Tokenreferenz. - Sending a confirmation of validity for the at least one output token reference to be checked.
Die Gültigkeitsanfrage umfasst eine Prüfungsangabe, welche die zumindest eine zu prüfende Ausgangs-Tokenreferenz angibt, und/oder die nur optional zu bearbeitende Modifikationsangabe. The validity request includes a check information that specifies the at least one output token reference to be checked and/or the modification information that is only optionally to be processed.
Das Prüfen (und optional das Empfangen und Senden) erfolgt vorzugsweise durch die Verifikationseinheit des Tokenreferenz-Registers. Das Empfangen und Senden kann durch eine Schnittstelleneinheit des Tokenreferenz-Registers erfolgen. The checking (and optionally the receiving and sending) is preferably carried out by the verification unit of the token reference register. Receiving and sending can be done through an interface unit of the token reference register.
Vorzugsweise bearbeitet die Verifikationseinheit Modifikationsangaben, also optional auch die Modifikationsangabe(n) der Gültigkeitsanfrage, mit einem oder mehreren der Teilschritte:The verification unit preferably processes modification information, i.e. optionally also the modification information(s) of the validity request, with one or more of the sub-steps:
- Prüfen ob die mindestens eine Eingangs-Tokenreferenz in der Speichereinheit gespeichert ist; und/oder - Verifizieren der Modifikationsangabe, insbesondere einer (oder mehrerer) Signatur(en) in der Modifikationsanfrage und/oder einer Wertneutralität der Modifikationsangabe und/oder einer Syntax der Modifikationsangabe; und/oder - Check whether the at least one input token reference is stored in the storage unit; and or - Verifying the modification information, in particular one (or more) signature(s) in the modification request and/or a value neutrality of the modification information and/or a syntax of the modification information; and or
- Ausfuhren des Kommandos (bzw. der Modifikationsangabe) durch Speichern einer Ausgangs-Tokenreferenz in der Speichereinheit und insbesondere durch Löschen einer Eingangs-Tokenreferenz in der Speichereinheit. - Execute the command (or the modification information) by storing an output token reference in the storage unit and in particular by deleting an input token reference in the storage unit.
In vorteilhaften Ausgestaltungen wird die Gültigkeitsbestätigung - insbesondere ohne weitere Bearbeitung der Modifikationsangabe - gesendet, falls die zu prüfende(n) Ausgangs- Tokenreferenz(en) der Gültigkeitsanfrage bereits in der Speichereinheit gespeichert sind. Andernfalls erfolgt die Bearbeitung der Modifikationsangabe(n). Die Gültigkeitsbestätigung kann alternativ oder ergänzend gesendet werden, nachdem die Bearbeitung der (einen oder mehreren) nur optional zu bearbeitenden Modifikationsangabe(n) vollständig oder in Teilschritten ausgelassen wurde, also keiner der Teilschritte ausgeführt wurde oder nicht alle Teilschritte ausgeführt wurden. In advantageous embodiments, the confirmation of validity is sent - in particular without further processing of the modification information - if the output token reference(s) to be checked of the validity request are already stored in the storage unit. Otherwise, the modification information(s) will be processed. The confirmation of validity can be sent alternatively or additionally after the processing of the (one or more) modification details that can only be processed optionally has been omitted completely or in partial steps, i.e. none of the partial steps have been carried out or not all partial steps have been carried out.
Die Gültigkeitsanfrage umfasst vorzugsweise mindestens eine, weiter vorzugsweise mehrere, nicht auf Gültigkeit zu prüfende Ausgangs-Tokenreferenz(en). Die Gültigkeitsbestätigung (GB) kann für jede zu prüfende Ausgangs-Tokenreferenz eine separate kryptographische Bestätigung, wie Signatur oder Prüfsumme umfassen. The validity request preferably includes at least one, more preferably several, output token reference(s) that cannot be checked for validity. Validation confirmation (GB) may include a separate cryptographic confirmation, such as signature or checksum, for each output token reference to be verified.
Die auf Gültigkeit zu prüfende Ausgangs-Tokenreferenz muss nicht explizit in der Prüfungsangabe der Gültigkeitsanfrage angezeigt sein. Sie kann eine der in der Modifikationsangabe enthaltenen Ausgangs-Tokenreferenzen sein. Bevorzugt wird(werden) die zu prüfende(n) Tokenreferenz(en) jedoch in der Prüfungsangabe, als eigenständiges Datenelement der Gültigkeitsanfrage, vom Tokenreferenzregister empfangen. Die Prüfungsangabe kann durch einen (oder mehrere) Verweis(e) auf die zu prüfende Ausgangs- Tokenreferenz(en) gebildet sein (beispielsweise Position oder Nummer der Ausgangs- Tokenreferenz in der Gültigkeitsanfrage) oder die Ausgangs-Tokenreferenz(en) enthalten. The output token reference to be checked for validity does not have to be explicitly displayed in the check details of the validity request. It can be one of the initial token references included in the modification statement. However, the token reference(s) to be checked is/are preferably received from the token reference register in the checking information, as an independent data element of the validity request. The check information can be formed by one (or more) reference(s) to the output token reference(s) to be checked (for example position or number of the output token reference in the validity request) or contain the output token reference(s).
Die Gültigkeitsanfrage kann mehrere Modifikationsangaben umfassen, wobei jede Modifikationsangabe eine oder mehrere Eingangs-Tokenreferenzen, eine oder mehrere Ausgangs-Tokenreferenzen und ein Kommando umfasst. Die Modifikationsangaben sind vorzugsweise ein Stapel von Modifikationsangaben und/oder eine Folge von Modifikationsangaben sind. Stapel bestehen aus unabhängigen Modifikationsangaben. Folgen bestehen aus mindestens teilweise voneinander abhängigen Modifikationsangaben. Der zu prüfende Token ist in der Direkttransaktionsschicht des Transaktionssystems direkt zwischen zwei Transaktionseinheiten des Transaktionssystems übertragbar (muss aber noch nicht übertragen worden sein). Der zu prüfende Token ist bevorzugt in einer Transaktionseinheit modifiziert worden, ohne dass der Token im Transaktionssystem registriert wurden. The validity request may include multiple modification statements, each modification statement including one or more input token references, one or more output token references and a command. The modification information is preferably a stack of modification information and/or a sequence of modification information. Stacks consist of independent modification statements. Sequences consist of at least partially interdependent modification information. The token to be checked can be transferred directly between two transaction units of the transaction system in the direct transaction layer of the transaction system (but does not have to have been transferred yet). The token to be checked has preferably been modified in a transaction unit without the token being registered in the transaction system.
Bevorzugt wird die Gültigkeitsbestätigung auch gesendet, wenn einige der mehreren Modifikationsangaben nicht ausführbar sind (die Zuordnung der Tokenreferenzen zu Token des Transaktionssystems also teilweise nicht möglich ist), insbesondere wenn diese Modifikation(en) nur in der Direkttransaktionsschicht ohne ein Registrieren der Modifikation(en) im Tokenreferenzregister erfolgt ist. Es ist damit keine Voraussetzung der Gültigkeitsprüfung, dass alle Modifikationsangaben einer Gültigkeitsanfrage von der Verifiziereinheit nachvollziehbar oder ausführbar sind. Lediglich die Zuordnung der zumindest einen zu prüfenden Tokenreferenz muss nachprüfbar sein. Somit erfolgt das Verifizieren unabhängig von einer Registrierung einer oder mehrerer Modifikation aus der Modifikationsangabe im Tokenreferenzregister. The confirmation of validity is preferably also sent if some of the several modification details cannot be carried out (the assignment of the token references to tokens of the transaction system is therefore partially not possible), in particular if these modification(s) are only made in the direct transaction layer without registering the modification(s). in the token reference register. It is therefore not a prerequisite for the validity check that all modification information in a validity query can be traced or carried out by the verification unit. Only the assignment of at least one token reference to be checked must be verifiable. Verification thus takes place independently of registration of one or more modifications from the modification information in the token reference register.
Die Verifikationseinheit des Tokenreferenzregister kann an die Speichereinheit des Tokenreferenzregister Speicherabfragen und/oder Speicheranweisungen senden. So kann sie beispielsweise abfragen, ob eine Tokenreferenz in der Speichereinheit gespeichert ist und/oder anweisen eine Tokenreferenz zu speichern oder zu löschen. Bevorzugt sendet die Verifikationseinheit an die Speichereinheit eine gemeinsame Speicherabfrage für Ausgangs- Tokenreferenzen unterschiedlicher Modifikationsangaben und/oder für Ausgangs- Tokenreferenzen und Eingangs-Tokenreferenzen zumindest einer Modifikationsangabe. The verification unit of the token reference register can send memory queries and/or memory instructions to the storage unit of the token reference register. For example, it can query whether a token reference is stored in the storage unit and/or instruct a token reference to be saved or deleted. Preferably, the verification unit sends to the storage unit a common memory query for output token references of different modification information and/or for output token references and input token references of at least one modification information.
Insbesondere für einen Stapel von Modifikationsangaben in der Gültigkeitsanfrage kann das Tokenreferenzregister eine Teilgültigkeitsbestätigung senden. Die Teilgültigkeitsbestätigung betrifft vorzugsweise die gültigen Ausgangstokenreferenzen der auf Gültigkeit zu prüfenden Ausgangstokenreferenzen des Stapels. In particular, for a batch of modification information in the validity request, the token reference register can send a partial validity confirmation. The partial validity confirmation preferably concerns the valid output token references of the output token references of the stack to be checked for validity.
Für eine Folge von Modifikationsangaben in der Gültigkeitsanfrage kann die Verifikationseinheit zumindest eine (oder) Ausgangs-Tokenreferenz(en) mindestens einer Modifikationsangabe nur intern Zwischenspeichern (also nicht in der Speichereinheit speichern). Die zwischengespeicherte(n) Ausgangs-Tokenreferenz(en) wird, falls sie Eingangs- Tokenreferenz einer weiteren Modifikationsangabe ist verworfen oder andernfalls in die Speichereinheit gespeichert. Zumindest eine (oder mehrere) Ausgangstokenreferenz(en) einer Modifikationsangabe wird erst nach Prüfung einer, mehrerer oder aller weiteren Modifikationsangaben der Folge in der Speichereinheit gespeichert. Das Tokenreferenz-Register kann das Verfahren mit einer Transaktionseinheit oder dem bereits beschriebenen sicheren Element ausführen. For a sequence of modification information in the validity request, the verification unit can only temporarily store at least one (or) output token reference(s) of at least one modification information internally (i.e. not store it in the storage unit). The buffered output token reference(s) is discarded if it is the input token reference of a further modification information or otherwise stored in the storage unit. At least one (or more) output token reference(s) of a modification statement is only stored in the storage unit after checking one, several or all further modification statements of the sequence. The token reference register can carry out the method with a transaction unit or the secure element already described.
Das Tokenreferenz-Register kann ferner umfassen weitere Verifikationseinheiten und/oder eine Archiveinheit, welche nicht mehr gültige Tokenreferenzen und/oder bereits ausgeführte Gültigkeitsanfragen und/oder Registrierungsanfragen speichert. The token reference register can further include further verification units and/or an archive unit which stores no longer valid token references and/or validity requests and/or registration requests that have already been carried out.
Ein Tokenreferenz-Register für ein Transaktionssystem ist eingerichtet zum Durchführen eines der vorgenannten Verfahren, insbesondere mit einer Transaktionseinheit TE des Transaktionssystems oder mit einem der vorgenannten sicheren Elemente. A token reference register for a transaction system is set up to carry out one of the aforementioned methods, in particular with a transaction unit TE of the transaction system or with one of the aforementioned secure elements.
Das Tokenreferenz -Register umfasst die Speichereinheit zum Speichern der gültigen Tokenreferenzen im Transaktionssystem; eine Schnittstelle eingerichtet zum Empfangen einer Gültigkeitsanfrage und die zumindest eine Verifiziereinheit. The token reference register includes the storage unit for storing the valid token references in the transaction system; an interface set up to receive a validity request and the at least one verification unit.
Ein Transaktionssystem umfasst eine Register schicht mit dem Tokenreferenz-Register; und eine Direkttransaktionsschicht mit einer Vielzahl von Transaktionseinheiten, einschließlich einem sicheren Element. A transaction system includes a register layer with the token reference register; and a direct transaction layer with a variety of transaction units, including a secure element.
Die Gültigkeitsanfragen im Transaktionssystem können auf verschiedene Verifiziereinheiten eines Tokenreferenz-Registers verteilt werden und diese können damit parallel von verschiedenen Verifiziereinheiten des Tokenreferenz-Registers verarbeitet werden. Damit kann eine große Anzahl von Gültigkeitsanfragen intern im Tokenreferenz-Register auf verschiedene Verifiziereinheiten aufgeteilt werden („Load balancing“). The validity requests in the transaction system can be distributed to different verification units of a token reference register and these can therefore be processed in parallel by different verification units of the token reference register. This means that a large number of validity requests can be divided internally in the token reference register between different verification units (“load balancing”).
Die Gültigkeitsbestätigung und/oder die gültige(n) zu prüfende Ausgangstokenreferenz(en) ist bevorzugt mit einem privaten Teil eines Schlüsselpaars des Tokenreferenzregisters, bevorzugt der Verifizier-Einheit (ggf. einer von einer Vielzahl von Verifizier-Einheiten), signiert. Diese Signatur wird von der Transaktionseinheit beim Empfang der Gültigkeitsbestätigung mit dem öffentlichen Teil des Schlüsselpaars des Tokenreferenz -Registers überprüft. Dies erhöht die Sicherheit, denn Gültigkeitsbestätigung, die von unberechtigten Dritten - beispielsweise im Rahmen von Man-in-the-Middle-Attacken - erzeugt werden, werden von einer Transaktionseinheit aufgrund einer fehlenden oder ungültigen Signatur erkannt. Derartige Gültigkeitsbestätigung können dann von der Transaktionseinheit ignoriert werden. The confirmation of validity and/or the valid output token reference(s) to be checked is preferably signed with a private part of a key pair of the token reference register, preferably the verification unit (possibly one of a plurality of verification units). This signature is verified by the transaction entity upon receipt of the confirmation of validity with the public part of the key pair of the token reference register. This increases security because validity confirmations generated by unauthorized third parties - for example as part of man-in-the-middle attacks - are recognized by a transaction unit due to a missing or invalid signature. Such confirmations of validity can then be ignored by the transaction entity.
Ein Token ist ein zwischen Transaktionseinheiten direkt austauschbarer Datensatz eines Transaktionssystems. Mit Kenntnis des Tokens ist die empfangende Transaktionseinheit im Besitz des Tokenwerts, den der Token repräsentiert. Mit dem Austauschen wechselt der Token demnach automatisch den Besitzer. Ein Token - ein Datensatz, der unabhängig von einer Transaktionstopologie, wie Blockchain-Topologien, übertragbar ist - kann direkt zwischen Transaktionseinheiten ohne dazwischengeschaltete Einheiten übertragen werden. A token is a data record of a transaction system that can be directly exchanged between transaction units. With knowledge of the token, the receiving transaction entity is in possession of the token value that the token represents. When you swap, the token changes therefore automatically the owner. A token - a record that is transferable independently of a transaction topology, such as blockchain topologies - can be transferred directly between transaction entities without any intervening entities.
In einer Ausgestaltung ist der Token ein elektronischer Münzdatensatz oder Bezahl-Token, um geldwerte Beträge zwischen Transaktionseinheiten zu tauschen. Umgangssprachlich wird ein derartiger Bezahl-Token auch als „digitale Münze” oder „elektronische Münze”, englisch „digital/electronic coin“ bezeichnet und repräsentiert Bargeld in elektronischer Form. In one embodiment, the token is an electronic coin data record or payment token for exchanging monetary amounts between transaction units. Such a payment token is also colloquially referred to as a “digital coin” or “electronic coin” and represents cash in electronic form.
Jeder Token im Transaktionssystem ist ein Datensatz umfassend zumindest zwei Tokenelemente. Each token in the transaction system is a data record comprising at least two token elements.
Ein erstes Tokenelement jedes Tokens des Transaktionssystems ist ein Tokenwert, bspw. ein Vermögenswert, ein Vermögensgegenstand, ein Wirtschaftsgut und/oder ein geldwerter Betrag. A first token element of each token of the transaction system is a token value, for example an asset, an asset, an asset and/or a monetary amount.
Ein zweites Tokenelement jedes Tokens des Transaktionssystems ist ein privater Teil eines tokenindividuellen Schlüsselpaars. Dieser private Teil ist ein Geheimnis im Transaktionssystem und wird nicht veröffentlicht und darf nicht mehrfach verwendet werden. Die Erzeugung des privaten Teils darf nicht vorhersagbar sein. Dieser private Teil kann eine Zufallszahl sein. Bevorzugt ist die Zufallszahl das Ergebnis eines echten Zufallsgenerators. A second token element of each token of the transaction system is a private part of a token-specific key pair. This private part is a secret in the transaction system and is not published and may not be used multiple times. The generation of the private part must not be predictable. This private part can be a random number. The random number is preferably the result of a true random generator.
Aus dem Tokenwert (erstes Tokenelement) und dem privaten Teil wird der Token gebildet. Dieses Bilden ist bevorzugt das Verketten (Konkatenation) dieser beiden Tokenelemente. Jede andere Art der Verknüpfung dieser beiden Tokenelemente ist erfindungsgemäß nicht ausgeschlossen und umfasst beispielsweise das Hintereinander-Anfügen, das Einbringen in eine TLV-Datenstruktur und/oder das logische Verknüpfen. The token is formed from the token value (first token element) and the private part. This formation is preferably the chaining (concatenation) of these two token elements. Any other type of linking of these two token elements is not excluded according to the invention and includes, for example, appending one after the other, inserting them into a TLV data structure and/or logical linking.
Jeder, der im Besitz eines Tokens oder uneingeschränkten Zugriff auf den Token mit seinen Tokenelementen hat, kann diesen Token mit einer anderen Transaktionseinheit austauschen. Der Besitz des Tokens mit seinen zumindest zwei Tokenelementen (Tokenwert und privater Teil des tokenindividuellen Schlüsselpaars) ist also gleichbedeutend mit dem Besitz des Wertes, den der Token repräsentiert. Anyone who holds a token or has full access to the token with its token elements can exchange that token with another transaction entity. Owning the token with its at least two token elements (token value and private part of the token-specific key pair) is therefore equivalent to owning the value that the token represents.
Jedem Token im Transaktionssystem wird eine Tokenreferenz zugeordnet. Diese Zuordnung ist eineindeutig, das heißt, einem Token ist genau eine Tokenreferenz zugeordnet und jeder Tokenreferenz ist genau ein Token zugeordnet. Die Tokenreferenz ist ein öffentlicher Datensatz, der in einer Speichereinheit des Tokenreferenz-Registers des Transaktionssystems für jede Transaktionseinheit überprüfbar abgespeichert ist. Sowohl der Token als auch die Tokenreferenz sind einzigartig. Durch die eineindeutige Zuordnung herrscht eine 1-zu-l Beziehung zwischen dem Token und der Tokenreferenz. Each token in the transaction system is assigned a token reference. This assignment is one-to-one, which means that exactly one token reference is assigned to a token and exactly one token is assigned to each token reference. The token reference is a public data record that is stored in a storage unit of the token reference register of the transaction system in a verifiable manner for each transaction unit. Both the token and the token reference are unique. Due to the unique assignment, there is a 1-to-1 relationship between the token and the token reference.
Jede Tokenreferenz im Transaktionssystem ist ein Datensatz umfassend zumindest zwei T okenreferenz-El emente. Each token reference in the transaction system is a data record comprising at least two token reference elements.
Ein erstes Tokenreferenz -El em ent jeder Tokenreferenz ist der Tokenwert des der Tokenreferenz eindeutig zugeordneten Tokens. Der Tokenwert des Tokens ist damit identisch zum Tokenwert der zugeordneten Tokenreferenz. Beispielsweise ist der Tokenwert der Tokenreferenz eine Kopie des Tokenwerts des zugeordneten Tokens. A first token reference element at each token reference is the token value of the token uniquely assigned to the token reference. The token value of the token is therefore identical to the token value of the assigned token reference. For example, the token value of the token reference is a copy of the token value of the associated token.
Ein zweites Tokenelement jeder Tokenreferenz des Transaktionssystems ist ein öffentlicher Teil des tokenindividuellen Schlüsselpaars. Dieser öffentliche Teil der Tokenreferenz bildet zusammen mit dem privaten Teil des Tokens das tokenindividuelle Schlüsselpaar. Der öffentliche Teil wird durch Anwenden einer kryptografischen Funktion auf den privaten Teil erhalten. A second token element of each token reference of the transaction system is a public part of the token-specific key pair. This public part of the token reference, together with the private part of the token, forms the token-specific key pair. The public part is obtained by applying a cryptographic function to the private part.
Diese kryptografische Funktion ist eine Einwegfunktion. Diese kryptografische Funktion ist demnach eine mathematische Funktion, die komplexitätstheoretisch „leicht“ berechenbar, aber „schwer“ bis praktisch unmöglich umzukehren ist. Hierbei wird unter Einwegfunktion auch eine Funktion bezeichnet, zu der bislang keine in angemessener Zeit und mit vertretbarem Aufwand praktisch ausführbare Umkehrung bekannt ist. Vorzugsweise wird eine Einwegfunktion verwendet, die auf eine Gruppe operiert, in der das diskrete Logarithmusproblem schwer zu lösen ist, wie z. B. ein kryptographisches Verfahren analog einer ellipti scher-Kurve- Verschlüsselung, kurz ECC, aus einem privaten Schlüssel eines entsprechenden Kryptographie-Verfahrens. Die umgekehrte Funktion, also die Erzeugung eines Tokens (oder des Teils des elektronischen Münzdatensatzes) aus einer Tokenreferenz ist dabei sehr zeitintensiv. This cryptographic function is a one-way function. This cryptographic function is therefore a mathematical function that is “easy” to calculate in terms of complexity theory, but “difficult” to practically impossible to reverse. The term one-way function also refers to a function for which there is currently no known reversal that can be practically carried out in a reasonable amount of time and with reasonable effort. Preferably, a one-way function is used that operates on a group in which the discrete logarithm problem is difficult to solve, such as B. a cryptographic process analogous to elliptic curve encryption, ECC for short, from a private key of a corresponding cryptography process. The reverse function, i.e. the creation of a token (or part of the electronic coin data set) from a token reference, is very time-consuming.
Die (bloße) Kenntnis oder der Besitz einer Tokenreferenz berechtigt nicht dazu, den Tokenwert (Tokenreferenz-Element) zu verwenden/ übertragen/auszugeben. Dies stellt einen wesentlichen Unterschied zwischen der Tokenreferenz und dem Token dar und ist ein Kem der hier vorliegenden Erfindung. The (mere) knowledge or possession of a token reference does not authorize the use/transfer/issue of the token value (token reference element). This represents a significant difference between the token reference and the token and is a core of the present invention.
Nach dem Anwenden der kryptografischen Funktion auf den privaten Teil des tokenindividuellen Schlüsselpaars wird der öffentliche Teil des tokenindividuellen Schlüsselpaars als zweites Tokenreferenz-Element erhalten. Aus dem Tokenwert (erstes Tokenreferenz-Element) und dem öffentlichen Teil wird die Tokenreferenz gebildet. Dieses Bilden ist bevorzugt das Verketten (Konkatenation) dieser beiden Tokenreferenz-Elemente. Jede andere Art der Verknüpfung dieser beiden Tokenreferenz- Elemente ist erfindungsgemäß nicht ausgeschlossen und umfasst beispielsweise das Hintereinander- Anfügen, das Einbringen in eine TLV-Datenstruktur und/oder das logische Verknüpfen. After applying the cryptographic function to the private part of the token-specific key pair, the public part of the token-specific key pair is obtained as the second token reference element. The token reference is formed from the token value (first token reference element) and the public part. This formation is preferably the concatenation of these two token reference elements. Any other type of linking of these two token reference elements is not excluded according to the invention and includes, for example, adding them one after the other, introducing them into a TLV data structure and/or logically linking them.
Eine Tokenreferenz kann bevorzugt durch eine elektronische Geldbörse (=Wallet) einer Transaktionseinheit erzeugt werden. Dazu muss die Transaktionseinheit Kenntnis von dem Token mit seinen Tokenelementen aufweisen. Das Erzeugen der Tokenreferenz kann durch eine elektronische Geldbörse einer Transaktionseinheit erfolgen, die den Token senden möchte. Alternativ kann das Erzeugen der Tokenreferenz durch eine elektronische Geldbörse einer Transaktionseinheit erfolgen, die den Token empfangen hat. A token reference can preferably be generated by an electronic wallet of a transaction unit. To do this, the transaction unit must have knowledge of the token and its token elements. Generating the token reference can be done by an electronic wallet of a transaction entity that wants to send the token. Alternatively, the token reference can be generated by an electronic wallet of a transaction entity that has received the token.
Die Verwendung einer Tokenreferenz ist nicht mit der Verwendung von Adressen von Transaktionseinheiten in einem Blockchain-basierten Transaktionssystem vergleichbar, da im erfindungsgemäßen Tokenreferenz-Register keine Adressen der Transaktionseinheiten verwendet werden, um eine Verfolgbarkeit der Token zu verhindern. The use of a token reference is not comparable to the use of addresses of transaction units in a blockchain-based transaction system, since no addresses of the transaction units are used in the token reference register according to the invention in order to prevent the tokens from being traceable.
Das Tokenreferenz -Register ist eine Einheit des Transaktionsregisters, die die Tokenreferenzen ablegt, wodurch die Token als gültige Token registriert sind. Dieses Register kann eine zentrale Datenbank oder Speichereinheit sein. Dieses Register kann ein dezentraler Ledger sein. Das Tokenreferenz-Register kann separat in einer Archiveinheit eine Historie der Tokenreferenzen und/oder den Registrieranfragen und/oder den Gültigkeitsanfragen führen. The token reference register is a unit of the transaction register that stores the token references, thereby registering the tokens as valid tokens. This register can be a central database or storage unit. This register can be a decentralized ledger. The token reference register can separately maintain a history of the token references and/or the registration requests and/or the validity requests in an archive unit.
Im Tokenreferenz-Register ist eine Tokenreferenz nur ein einziges Mal gespeichert. Da eine Tokenreferenz eines Tokens nur ein einziges Mal im Transaktionssystem vorhanden ist, kann durch den Verifizieren-Schritt festgestellt werden, ob versucht wurde, einen Token mehrfach auszugeben. A token reference is only stored once in the token reference register. Since a token reference of a token only exists once in the transaction system, the verify step can determine whether attempts have been made to issue a token multiple times.
Der Token ist in einem Tokenspeicher abgelegt, auf den die Transaktionseinheit exklusiv zugreifen kann. Dieser Tokenspeicher kann eine Vielzahl von Token aufweisen, beispielsweise kann in einem Datenspeicher der Transaktionseinheit die Vielzahl von Token abgelegt sein. Der Datenspeicher kann beispielsweise intern, extern oder virtuell sein. In einer Ausgestaltung kann beim Empfangen eines Tokens automatisch ein „Verbinden“ stattfinden, sodass bevorzugt nur ein (oder eine bestimmte Anzahl an) Token in der Transaktionseinheit abgelegt sind. Die Transaktionseinheit kann beispielsweise ein mobiles Endgerät, wie z.B. ein Smartphone, ein Tablet-Computer, ein Computer, ein Server oder eine Maschine sein. Die Transaktionseinheit kann eine Smartcard sein, die betriebsbereit in einem Endgerät eingebracht ist. Die Transaktionseinheit ist bevorzugt ein Secure Element. The token is stored in a token store that the transaction unit can access exclusively. This token memory can have a large number of tokens, for example the large number of tokens can be stored in a data memory of the transaction unit. For example, the data storage can be internal, external or virtual. In one embodiment, “connecting” can take place automatically when a token is received, so that preferably only one (or a certain number of) tokens are stored in the transaction unit. The transaction unit can be, for example, a mobile device, such as a smartphone, a tablet computer, a computer, a server or a machine. The transaction unit can be a smart card that is inserted into a terminal device ready for operation. The transaction unit is preferably a secure element.
Der Datenspeicher ist beispielsweise einen Geldbörsenspeicher einer elektronischen Geldbörse (Wallet). Die elektronische Geldbörse ist beispielsweise eine Softwareapplikation, die auf einer Transaktionseinheit ausführbar abgespeichert ist. Die elektronische Geldbörse (Wallet) kann der Transaktionseinheit die Teilnahme am Transaktionssystem ermöglichen. So kann die elektronische Geldbörse eine Gültigkeitsanfrage generieren, um die Gültigkeit eines Tokens prüfen zu lassen. Zudem kann die elektronische Geldbörse Modifikationen (Umschalten, Verbinden, Aufteilen) an einem Token vornehmen und die dabei möglicherweise notwendigen Gültigkeitsanfrage generieren und an das Tokenreferenz -Register senden. Zudem kann die elektronische Geldbörse Token an eine andere Geldbörse (in einer anderen Transaktionseinheit) übertragen. The data storage is, for example, a wallet storage of an electronic wallet. The electronic wallet is, for example, a software application that is stored executable on a transaction unit. The electronic wallet (wallet) can enable the transaction entity to participate in the transaction system. The electronic wallet can generate a validity request to check the validity of a token. In addition, the electronic wallet can make modifications (switching, connecting, splitting) to a token and generate any necessary validity requests and send them to the token reference register. In addition, the electronic wallet can transfer tokens to another wallet (in a different transaction unit).
Eine Transaktion im Transaktionssystem ist vorzugsweise atomar. A transaction in the transaction system is preferably atomic.
Erfindungsgemäß ist ein Tokenreferenz -Register für ein Transaktionssystem vorgesehen, das eingerichtet ist zum Durchführen der Verfahrensschritte gemäß dem zuvor beschriebenen Verfahren. According to the invention, a token reference register is provided for a transaction system which is set up to carry out the method steps according to the method described above.
Das Tokenreferenz-Register kann eingerichtet sein zum Empfangen einer Vielzahl von Gültigkeitsanfragen, die parallel in einer Mehrzahl von Verifizier-Einheiten darauf verifiziert werden, ob die in der jeweils empfangenen Gültigkeitsanfrage enthaltene zumindest eine Tokenreferenz gültig ist. The token reference register can be set up to receive a plurality of validity requests, which are verified in parallel in a plurality of verification units as to whether the at least one token reference contained in the validity request received in each case is valid.
Erfindungsgemäß ist ein Transaktionssystem vorgesehen, das aufweist eine Registerschicht mit einem Tokenreferenz-Register der vorhergehenden Art zum Registrieren von Tokenreferenzen und Prüfen von Token mittels Tokenreferenzen und eine Direkttransaktionsschicht mit einer Vielzahl von Transaktionseinheiten, eingerichtet zum direkten Austausch von Token untereinander. According to the invention, a transaction system is provided which has a register layer with a token reference register of the previous type for registering token references and checking tokens using token references and a direct transaction layer with a large number of transaction units, set up for the direct exchange of tokens with one another.
Erfindungsgemäß ist also ein zweischichtiges Transaktionssystem aus einer Direkttransaktionsschicht zum direkten Austauschen von Token und einer Register schicht vorgesehen. In der Register schicht werden keine Transaktionen protokolliert, sondern ausschließlich Tokenreferenzen abgespeichert und Modifikationen zu Token über entsprechend angepasste Tokenreferenzen zum Zweck der Verifizierung der Gültigkeit von Token abgespeichert. So wird die Anonymität der Teilnehmer des Transaktionssystems gewährleistet. According to the invention, a two-layer transaction system consisting of a direct transaction layer for directly exchanging tokens and a register layer is provided. No transactions are logged in the register layer Only token references are saved and modifications to tokens are saved via appropriately adapted token references for the purpose of verifying the validity of tokens. This ensures the anonymity of the participants in the transaction system.
Die Speichereinheit des Tokenreferenz -Registers speichert bevorzugt nur Tokenreferenzen von im Transaktionssystem gültigen Token. Sobald ein Token modifiziert wird und eine entsprechende (modifizierte) Tokenreferenz registriert werden soll, werden die (alten) Tokenreferenzen ungültig und (nur) die modifizierten Tokenreferenzen werden in der Speichereinheit gespeichert. The storage unit of the token reference register preferably only stores token references of tokens valid in the transaction system. As soon as a token is modified and a corresponding (modified) token reference is to be registered, the (old) token references become invalid and (only) the modified token references are stored in the storage unit.
Alte (also ungültig gewordene) Tokenreferenzen werden in einer Ausgestaltung aus der Speichereinheit gelöscht und in einem (Tokenreferenz-) Archiv archiviert. Das Tokenreferenz- Archiv kann ein Teil der Archivierungseinheit sein, es kann aber auch als getrennte Einheit im Tokenreferenz-Register oder im Transaktionssystem vorgesehen sein. Das Tokenreferenz- Archiv kann auch vollständig durch die Archivierungseinheit ersetzt werden, wenn dort alle Registrieranfragen vollständig abgelegt sind. Das zeitlich abhängige Löschen von Registrieranfragen kann auch für das Löschen von alten Tokenreferenzen gelten. In one embodiment, old (i.e. invalid) token references are deleted from the storage unit and archived in a (token reference) archive. The token reference archive can be part of the archiving unit, but it can also be provided as a separate unit in the token reference register or in the transaction system. The token reference archive can also be completely replaced by the archiving unit if all registration requests are completely stored there. The time-dependent deletion of registration requests can also apply to the deletion of old token references.
Erfindungsgemäß ist eine Transaktionseinheit, bevorzugt ein Secure Element, in einem sicheren elektronischen Transaktionssystem mit: einer Schnittstelle, die eingerichtet ist zum: Übertragen von Token zu einer anderen Transaktionseinheit; Erstellen und Senden, an ein Tokenreferenz- Register, einer Gültigkeitsanfrage zum Prüfen eines Tokens gemäß einem der vorhergehenden Ausgestaltungen; einem Zugriffsmittel auf einen Tokenspeicher oder Tokenspeicher, wobei im Tokenspeicher zumindest ein Token der Transaktionseinheit mit Modifikationsangabe abgelegt ist; und einer Recheneinheit, eingerichtet zum: Anwenden einer kryptografischen Einwegfunktion auf einen privaten Teil eines tokenindividuellen Schlüsselpaars eines Tokens des Tokenspeichers zum Erhalten einer Tokenreferenz; und Modifizieren von Token. According to the invention, a transaction unit, preferably a secure element, in a secure electronic transaction system with: an interface that is set up to: transfer tokens to another transaction unit; Creating and sending, to a token reference register, a validity request for checking a token according to one of the preceding embodiments; an access means for a token memory or token memory, wherein at least one token of the transaction unit with modification information is stored in the token memory; and a computing unit configured to: apply a one-way cryptographic function to a private part of a token-specific key pair of a token of the token storage to obtain a token reference; and modifying tokens.
Zudem hat die Transaktionseinheit Zugriffsmittel auf einen Tokenspeicher und/oder die Transaktionseinheit weist einen Tokenspeicher auf, wobei im Tokenspeicher zumindest ein Token der Transaktionseinheit mit der Folge von Registrieranfragen abgelegt ist. In addition, the transaction unit has access means to a token memory and/or the transaction unit has a token memory, with at least one token of the transaction unit containing the sequence of registration requests being stored in the token memory.
Zudem hat die Transaktionseinheit eine Recheneinheit, die eingerichtet ist zum Anwenden einer kryptografischen Einwegfunktion auf einen privaten Teil eines tokenindividuellen Schlüsselpaars eines Tokens des Tokenspeichers zum Erhalten einer Tokenreferenz; und zum Modifizieren von Token. Das Modifizieren von Token umfasst insbesondere das Aufteilen von Token, das Verbinden von Token und/oder das Umschalten von Token gemäß der oben beschriebenen Art. In addition, the transaction unit has a computing unit that is set up to apply a cryptographic one-way function to a private part of a token-specific key pair of a token of the token storage to obtain a token reference; and for modifying tokens. Modifying tokens includes, in particular, splitting Tokens, connecting tokens and/or switching tokens in the manner described above.
Die Transaktionseinheit kann derart eingerichtet sein, dass in deren Tokenspeicher nur ein Token gespeichert ist. Dieser Token wird für direkte Transaktionen aufgeteilt (SPLIT), um einen korrekten Tokenwert entsprechend der zu tätigenden Transaktion zu erzeugen. Werden Token in der Transaktionseinheit empfangen, wird der empfangene Token mit dem Token des Tokenspeichers sofort verbunden (MERGE). The transaction unit can be set up in such a way that only one token is stored in its token memory. This token is split (SPLIT) for direct transactions to produce a correct token value according to the transaction to be made. If tokens are received in the transaction unit, the received token is immediately combined with the token in the token store (MERGE).
Zum Übertragen eines Tokens an eine andere Transaktionseinheit kann dieser Token des Tokenspeichers demnach aufgeteilt (SPLIT) werden, wobei dazu eine Registrieranfrage erzeugt wird. Bevorzugt weist die Registrieranfrage eine Tokenreferenz des aufzuteilenden Tokens und jeweils eine Tokenreferenz der aufgeteilten Token auf. To transfer a token to another transaction unit, this token of the token storage can be split (SPLIT), with a registration request being generated for this purpose. The registration request preferably has a token reference of the token to be divided and a token reference of the divided tokens.
Beim Empfangen eines Tokens von einer anderen Transaktionseinheit wird der empfangene Token mit dem Token im Tokenspeicher verbunden, wobei dazu eine Registrieranfrage erzeugt wird. Bevorzugt weist die Registrieranfrage eine Tokenreferenz des verbundenen Tokens und jeweils eine Tokenreferenz der zu verbindenden Token auf. When a token is received from another transaction entity, the received token is linked to the token in the token store, thereby generating a registration request. The registration request preferably has a token reference of the connected token and a respective token reference of the tokens to be connected.
Eine Transaktionseinheit kann vorliegend ein sicheres Element sein, das einen gesicherten Zugriff auf Token in einem Tokenspeicher hat. Das sichere Element ist beispielsweise betriebsbereit in einem Endgerät eingebracht. Das sichere Element und oder das Endgerät haben ein spezielles Computerprogrammprodukt (elektronische Geldbörse, Wallet), insbesondere in Form einer abgesicherten Laufzeitumgebung innerhalb eines Betriebssystems eines Endgeräts, englisch Trusted Execution Environments, TEE, gespeichert auf einem Datenspeicher, beispielsweise eines mobilen Endgeräts, einer Maschine, vorzugsweise Bankautomat. Alternativ ist das sichere Element beispielsweise als spezielle Hardware, insbesondere in Form eines gesicherten Hardware-Plattform-Moduls, englisch Trusted Platform Module, TPM oder als ein eingebettetes Sicherheitsmodul, eUICC, eSIM, ausgebildet. Das sichere Element stellt eine vertrauenswürdige Umgebung bereit. In the present case, a transaction unit can be a secure element that has secured access to tokens in a token store. The secure element is, for example, installed in a terminal device ready for operation. The secure element and/or the terminal device have a special computer program product (electronic purse, wallet), in particular in the form of a secured runtime environment within an operating system of a terminal device, English Trusted Execution Environments, TEE, stored on a data storage device, for example a mobile terminal device, a machine, preferably ATM. Alternatively, the secure element is designed, for example, as special hardware, in particular in the form of a secured hardware platform module, Trusted Platform Module, TPM, or as an embedded security module, eUICC, eSIM. The secure element provides a trusted environment.
Die Kommunikation zwischen zwei Transaktionseinheiten zum Austauschen von Token kann drahtlos oder drahtgebunden, oder z.B. auch auf optischem Weg, bevorzugt über QR-Code oder Barcode, erfolgen und kann als ein gesicherter Kanal ausgebildet sein. Der Austausch von Token ist beispielsweise durch kryptografische Schlüssel zusätzlich transportgesichert, beispielsweise einem für einen Token -Austausch ausgehandelten Sitzungsschlüssel oder auf Basis eines Transaktionseinheitenindividuellen Schlüsselpaars. Nachfolgend wird anhand von Figuren die Erfindung bzw. weitere Ausführungsformen und Vorteile der Erfindung näher erläutert, wobei die Figuren lediglich Ausführungsbeispiele der Erfindung beschreiben. Gleiche Bestandteile in den Figuren werden mit gleichen Bezugszeichen versehen. Die Figuren sind nicht als maßstabsgetreu anzusehen, es können einzelne Elemente der Figuren übertrieben groß bzw. übertrieben vereinfacht dargestellt sein. The communication between two transaction units for exchanging tokens can take place wirelessly or by wire, or, for example, optically, preferably via QR code or barcode, and can be designed as a secure channel. The exchange of tokens is, for example, additionally secured for transport by cryptographic keys, for example a session key negotiated for a token exchange or based on a key pair specific to the transaction unit. The invention and further embodiments and advantages of the invention are explained in more detail below using figures, with the figures only describing exemplary embodiments of the invention. The same components in the figures are given the same reference numbers. The figures are not to be viewed as true to scale; individual elements of the figures may be shown in an exaggeratedly large or oversimplified manner.
Fig. 1 zeigt ein Ausführungsbeispiel eines Transaktionssystems gemäß dem Stand der Technik; 1 shows an exemplary embodiment of a transaction system according to the prior art;
Fig. 2a zeigt eine Registrierungsanfrage gemäß dem Stand der Technik; Fig. 2a shows a registration request according to the prior art;
Fig. 2b zeigt eine Registrierungsprozedur für eine Registrierungsanfrage gemäß Fig. 2a gemäß dem Stand der Technik; Fig. 2b shows a registration procedure for a registration request according to Fig. 2a according to the prior art;
Fig. 3a zeigt ein erstes Ausführungsbeispiel einer Gültigkeitsanfrage gemäß der Erfindung; Fig. 3a shows a first exemplary embodiment of a validity query according to the invention;
Fig. 3b zeigt ein erstes Ausführungsbeispiel eines Verfahrens zum Prüfen der Gültigkeit eines Tokens anhand einer Gültigkeitsanfrage gemäß Fig. 3a gemäß der Erfindung; 3b shows a first exemplary embodiment of a method for checking the validity of a token based on a validity request according to FIG. 3a according to the invention;
Fig. 3c zeigt ein zweites Ausführungsbeispiel eines Verfahrens zum Prüfen der Gültigkeit eines Tokens anhand einer Gültigkeitsanfrage gemäß Fig. 3a gemäß der Erfindung; 3c shows a second exemplary embodiment of a method for checking the validity of a token based on a validity request according to FIG. 3a according to the invention;
Fig. 4a zeigt ein zweites Ausführungsbeispiel einer Gültigkeitsanfrage gemäß der Erfindung; Fig. 4a shows a second embodiment of a validity query according to the invention;
Fig. 4b zeigt ein erstes Ausführungsbeispiel eines Verfahrens zum Prüfen der Gültigkeit eines Tokens anhand einer Gültigkeitsanfrage gemäß Fig. 4a gemäß der Erfindung; 4b shows a first exemplary embodiment of a method for checking the validity of a token based on a validity request according to FIG. 4a according to the invention;
Fig. 4c zeigt ein zweites Ausführungsbeispiel eines Verfahrens zum Prüfen der Gültigkeit eines Tokens anhand einer Gültigkeitsanfrage gemäß Fig. 4a gemäß der Erfindung; 4c shows a second exemplary embodiment of a method for checking the validity of a token based on a validity request according to FIG. 4a according to the invention;
Fig. 5a zeigt ein drittes Ausführungsbeispiel einer Gültigkeitsanfrage gemäß der Erfindung; Fig. 5b zeigt ein erstes Ausführungsbeispiel eines Verfahrens zum Prüfen der Gültigkeit eines Tokens anhand einer Gültigkeitsanfrage gemäß Fig. 5a gemäß der Erfindung; Fig. 5a shows a third embodiment of a validity query according to the invention; 5b shows a first exemplary embodiment of a method for checking the validity of a token based on a validity request according to FIG. 5a according to the invention;
Fig. 5c zeigt ein zweites Ausführungsbeispiel eines Verfahrens zum Prüfen der Gültigkeit eines Tokens anhand einer Gültigkeitsanfrage gemäß Fig. 5a gemäß der Erfindung; 5c shows a second exemplary embodiment of a method for checking the validity of a token based on a validity request according to FIG. 5a according to the invention;
Fig. 6 zeigt ein weiteres Ausführungsbeispiel eines Transaktionssystems mit einem Tokenreferenz-Register gemäß der Erfindung; Fig. 6 shows a further exemplary embodiment of a transaction system with a token reference register according to the invention;
Fig. 1 zeigt ein Ausführungsbeispiel eines Transaktionssystems TS gemäß dem Stand der Technik. Das Transaktionssystem TS umfasst eine Registerschicht TRR-Schicht, in der ein Tokenreferenz-Register TRR angeordnet ist. Das TS umfasst zudem eine Direkttransaktionsschicht TE-Schicht, in der eine Vielzahl von Transaktionseinheiten (oder Teilnehmereinheiten) TE vorgesehen sein können, stellvertretend sind zwei Transaktionseinheiten TE1, TE2 gezeigt. Die Transaktionseinheiten TE1, TE2 sind bevorzugt sichere Elemente. Fig. 1 shows an exemplary embodiment of a transaction system TS according to the prior art. The transaction system TS includes a register layer TRR layer in which a token reference register TRR is arranged. The TS also includes a direct transaction layer TE layer, in which a large number of transaction units (or subscriber units) TE can be provided; two transaction units TE1, TE2 are shown as representatives. The transaction units TE1, TE2 are preferably secure elements.
Die Transaktionseinheiten TE des Transaktionssystem TS sind eingerichtet, Token T direkt untereinander auszutauschen. Im Fall von Fig. 1 sind die Token Bezahl-Token, die auch als digitale Münze bezeichnet werden. Jeder Token T wird von einem Tokenherausgeber TH generiert (in Fig. 1 nicht gezeigt). Jeder Token T kann von jeder Transaktionseinheit TE modifiziert, also aufgeteilt, verbunden oder umgeschaltet werden und kann von dem Tokenherausgeber TH generiert und auch gelöscht werden. Ein Tokenherausgeber TH ist beispielsweise eine Zentralbank. The transaction units TE of the transaction system TS are set up to exchange tokens T directly with one another. In the case of Fig. 1, the tokens are payment tokens, also referred to as digital coins. Each token T is generated by a token issuer TH (not shown in Fig. 1). Each token T can be modified, i.e. divided, connected or switched, by each transaction unit TE and can be generated and also deleted by the token issuer TH. A token issuer TH is, for example, a central bank.
Ein Token T wird durch einen Tokenwert v und eine Zufallszahl r als Tokenelemente eindeutig im Transaktionssystem TS repräsentiert. Der Tokenwert v kann in einem Wertebereich von 1 bis 231-1 angegeben werden. Die Zufallszahl r kann eine Zahl im Bereich von 0 bis 2256 -1, also die Ordnung einer elliptischen Kurve, beispielsweise secp256rl, sein. A token T is uniquely represented in the transaction system TS by a token value v and a random number r as token elements. The token value v can be specified in a range of values from 1 to 2 31 -1. The random number r can be a number in the range from 0 to 2 256 -1, i.e. the order of an elliptic curve, for example secp256rl.
Die Zufallszahl r ist dabei ein privater Teil eines tokenindividuellen Schlüsselpaars. Die Zufallszahl r ist im Transaktionssystem TS einmalig und geheim und darf nicht veröffentlicht oder wiederverwendet werden. Die Erzeugung der Zufallszahl r darf nichtvorhersehbar sein. The random number r is a private part of a token-specific key pair. The random number r is unique and secret in the transaction system TS and may not be published or reused. The generation of the random number r must not be predictable.
Beispielsweise ist der Tokenwert v ein 32 Bit großes Tokenelement vom Typ integer.For example, the token value v is a 32-bit token element of type integer.
Beispielsweise ist die Zufallszahl r ein 32 Byte großes Tokenelement vom Typ integer. Eine Transaktionseinheit TE hat exklusiven Zugriff auf diesen Tokenspeicher oder umfasst diesen Tokenspeicher in einem Datenspeicher der Transaktionseinheit TE. For example, the random number r is a 32-byte token element of type integer. One Transaction unit TE has exclusive access to this token storage or includes this token storage in a data storage of the transaction unit TE.
Für jeden Token T kann im Tokenreferenz-Register TRR eine Tokenreferenz TR gespeichert werden. Die Tokenreferenz TR umfasst den Tokenwert v des zugeordneten Tokens T und einen öffentlichen Teil R des tokenindividuellen Schlüsselpaars. Damit ist der Tokenwert v eines Tokens T in dem Tokenreferenz-Register TRR bekannt. For each token T, a token reference TR can be stored in the token reference register TRR. The token reference TR includes the token value v of the assigned token T and a public part R of the token-specific key pair. The token value v of a token T is therefore known in the token reference register TRR.
Der öffentliche Teil R des tokenindividuellen Schlüsselpaars wird durch Anwenden einer kryptografischen Funktion auf den privaten Teil r des tokenindividuellen Schlüsselpaars erzeugt. Diese Funktion ist schwer umkehrbar und gibt dem Transaktionssystem TS so die gebotene Sicherheit. Es gilt R = r * G, wobei G beispielsweise ein globaler Parameter des Transaktionssystems TS, bspw. ein Generatorpunkt einer elliptischen Kurve, hier der secp256rl- Kurve, sein kann. The public part R of the token-specific key pair is generated by applying a cryptographic function to the private part r of the token-specific key pair. This function is difficult to reverse and thus gives the TS transaction system the necessary security. R = r * G, where G can be, for example, a global parameter of the transaction system TS, for example a generator point of an elliptic curve, here the secp256rl curve.
Die Tokenreferenz TR wird dann gebildet durch den Tokenwert v des Tokens und den öffentlichen Teil R des Schlüsselpaars. Die Tokenreferenz TR ist somit die Verkettung von Tokenwert v und öffentlichem Teil R. The token reference TR is then formed by the token value v of the token and the public part R of the key pair. The token reference TR is therefore the concatenation of token value v and public part R.
Eine Tokenreferenz TR kann zusammen mit einer Modifikationsangabe (siehe Übersicht in Figuren 6a und 6b) als Registrieranfrage RA bezüglich des Tokens T an das Tokenreferenz - Register TRR gesendet werden. Der modifizierte Token T wird mit seiner Tokenreferenz im Tokenreferenz-Register TRR registriert. In Fig. 1 erzeugt die Transaktionseinheit TE1 einen neuen Token TA, dessen Tokenreferenz TRA anstelle der Tokenreferenz TRßdes alten Tokens TE mit gleichem Tokenwert v im Tokenreferenz -Register TRR gespeichert werden soll. Die Registrieranfrage kann die Transaktionseinheit TE1 und/oder - nach Übertragung des Tokens TA mitsamt seiner Modifikationsangabe zur Transaktionseinheit TE2 - die Transaktionseinheit TE2 senden. A token reference TR can be sent to the token reference register TRR together with a modification information (see overview in Figures 6a and 6b) as a registration request RA regarding the token T. The modified token T is registered with its token reference in the token reference register TRR. In Fig. 1, the transaction unit TE1 generates a new token TA, the token reference TRA of which is to be stored in the token reference register TRR instead of the token reference TRß of the old token TE with the same token value v. The registration request can be sent by the transaction unit TE1 and/or - after transmission of the token TA together with its modification information to the transaction unit TE2 - by the transaction unit TE2.
In Fig. 1 ist zunächst ein bekanntes Tokenreferenz-Register TRR dargestellt. A known token reference register TRR is initially shown in FIG.
Das Tokenreferenz-Register TRR verwaltet insbesondere den Speicherort für die Tokenreferenzen TR, der optional auch die bisherigen Registrieranfragen RA speichern kann, hier als Datenbank 1 als Beispiel einer Speichereinheit im Tokenreferenz -Register TRR dargestellt. Stellvertretend ist in der Datenbank 1 die Tokenreferenz TR zum Token T der Transaktionseinheit TE1 eingetragen. Diese Datenbank 1 kann aus einem Zusammenschluss vieler Datenbanken bestehen (siehe auch Fig. 6), die untereinander vernetzt sind. Zudem umfasst das Tokenreferenz -Register TRR zumindest eine Verifiziereinheit 2. Die Verifiziereinheit 2 des Tokenreferenz -Registers TRR verifiziert Registrieranfragen RA. Dabei kann eine syntaktische Korrektheit oder auch die korrekte Angabe eines Kommandos in der Registrieranfrage RA verifiziert werden. Auch die Historie aus alten (vergangenen) Registrieranfragen RA kann geprüft werden. Die Trennung dieser Verifiziereinheit 2 von der Datenbank 1 verteilt die Aufgaben von Ablegen und Prüfen und erhöht die Geschwindigkeit im Tokenreferenz-Register TRR. The token reference register TRR manages in particular the storage location for the token references TR, which can optionally also store the previous registration requests RA, shown here as database 1 as an example of a storage unit in the token reference register TRR. The token reference TR for the token T of the transaction unit TE1 is entered in the database 1 as a representative. This database 1 can consist of a combination of many databases (see also FIG. 6) that are networked with each other. In addition, the token reference register TRR includes at least one verification unit 2. The verification unit 2 of the token reference register TRR verifies registration requests RA. Syntactic correctness or the correct specification of a command in the registration request RA can be verified. The history from old (past) registration requests RA can also be checked. The separation of this verification unit 2 from the database 1 distributes the storage and checking tasks and increases the speed in the token reference register TRR.
In Fig. 1 angedeutet ist ebenfalls bereits, dass das Tokenreferenz -Register TRR von Transaktionseinheiten TE Registrierungsanfragen RA empfängt 11 und gegebenenfalls eine Registrierungsbestätigung RB an die Transaktionseinheit sendet 18. 1 also already indicates that the token reference register TRR receives registration requests RA from transaction units TE 11 and, if necessary, sends a registration confirmation RB to the transaction unit 18.
In Fig. 2a ist ein Beispiel für eine Registrierungsanfrage RA gemäß dem Stand der Technik dargestellt. Die Registrierungsanfrage der Fig. 2a umfasst zwei Eingangstokenreferenzen TRE, eine Ausgangstokenreferenz TRA und ein Modifikationskommando KO. An example of a registration request RA according to the prior art is shown in FIG. 2a. The registration request of FIG. 2a includes two input token references TRE, an output token reference TRA and a modification command KO.
Zusätzlich kann die Registrierungsanfrage RA mit dem privaten Teil r des tokenindividuellen Schlüsselpaars signiert werden (nicht dargestellt). Das Signieren ermöglicht es, zu verifizieren, ob der Sender der Tokenreferenz TRE im Besitz des Eingangstokens TE war, wodurch die Sicherheit im Transaktionssystem TS weiter erhöht ist. In addition, the registration request RA can be signed with the private part r of the token-specific key pair (not shown). Signing makes it possible to verify whether the sender of the token reference TRE was in possession of the input token TE, which further increases security in the transaction system TS.
In Fig. 2b ist ein Verfahrensablauf zur Registrierung eines Tokens gemäß dem Stand der Technik dargestellt. Im Schritt 11 wird die RA im TRR empfangen. Im Schritt 12 wird geprüft, ob eine Eingangstokenreferenz TREH der RA im TRR gespeichert ist. Im Nein-Fall des Schritts 12 wird in Schritt 16 noch geprüft, ob die Registrieranfrage RA bereits ausgeführt wurde und als Teil der Historie der Registrieranfragen in der Speichereinheit 1 gespeichert ist. Im JA-Fall wird die Registrierung (erneut) bestätigt 18. Im Nein-Fall von Schritt 16 wird gemäß Schritt 19 die RA nicht bestätigt (Fehlermeldung). 2b shows a process sequence for registering a token according to the prior art. In step 11, the RA is received in the TRR. In step 12 it is checked whether an input token reference TREH of the RA is stored in the TRR. If step 12 is no, it is checked in step 16 whether the registration request RA has already been executed and is stored in the storage unit 1 as part of the history of the registration requests. In the YES case, the registration is confirmed (again) 18. In the No case of step 16, the RA is not confirmed according to step 19 (error message).
Im Ja-Fall von Schritt 12 wird Schritt 13 ausgeführt. Im Schritt 13 wird geprüft, ob eine Eingangstokenreferenz TREU von RA im TRR gespeichert ist. If step 12 is yes, step 13 is executed. In step 13 it is checked whether an input token reference TREU from RA is stored in the TRR.
Im Ja-Fall von Schritt 13 wird Schritt 14 ausgeführt. Im Schritt 14 wird geprüft, ob das Kommando mit den Eingangstokenreferenzen TREU und TREU ZU der Ausgangstokenreferenz TRAII der RA führt, also beispielsweise VEU + VEU = VAII ist und die Signaturen gültig sind. In Schritt 14 wird sinngemäß das Kommando auf Fehler geprüft. Im Nein-Fall von Schritt 13 oder im Ja-Fall von Schritt 14 wird gemäß Schritt 19 die RA nicht bestätigt (Fehlermeldung). Im Nein-Fall von Schritt 14 werden in Schritt 15 die TRAII von RA und die RA im TRR abgespeichert. Der Transaktionseinheit wird bestätigt, dass die Registrierung erfolgt ist mit Schritt 18. If step 13 is yes, step 14 is executed. In step 14 it is checked whether the command with the input token references TREU and TREU leads TO the output token reference TRAII of the RA, for example VEU + VEU = VAII and the signatures are valid. In step 14, the command is checked for errors. In the no case of step 13 or in the yes case of step 14, the RA is not confirmed according to step 19 (error message). In the No case of step 14, the TRAII of RA and the RA are stored in the TRR in step 15. The transaction unit is confirmed that registration has taken place in step 18.
Das Tokenreferenz-Register TRR ist für die Transaktionseinheiten TE1, TE2 vorzugsweise nicht auslesbar. Wenig praxisrelevant aber theoretisch bekannt ist es, dass eine Transaktionseinheit den Status eines Tokens abfragen kann, also abfragen kann, mit welchem Status eine Tokenreferenz TR im Tokenreferenz-Register TRR gespeichert ist. Eine solche Statusabfrage, ist aber keine Gültigkeitsanfrage im vorliegenden Sinne, wie sie nun näher beschrieben wird. The token reference register TRR is preferably not readable for the transaction units TE1, TE2. It is of little practical relevance but theoretically known that a transaction unit can query the status of a token, i.e. can query the status with which a token reference TR is stored in the token reference register TRR. However, such a status query is not a validity query in the present sense, as it will now be described in more detail.
Eine Transaktionseinheit TE1, TE2 kann eine oder mehrere vorhandene Modifikationsangaben MA, die jeweils einen (oder mehrere) Ausgangstoken über ein Kommando mit einem (oder mehreren) Eingangstoken verknüpft, als Gültigkeitsanfrage an das Tokenreferenz -Register senden. Insbesondere für Sicherheitselemente als Transaktionseinheit ist die dadurch erzielbare Entlastung seiner begrenzten Ressourcen hilfreich. Gerade in Sicherheitselementen können mehrere Modifikationsangaben für unterschiedliche Token (Stapel von Modifikationsangaben) und/oder für einen Token (Folge von Modifikationsangaben) vorliegen. A transaction unit TE1, TE2 can send one or more existing modification information MA, each of which links one (or more) output tokens to one (or more) input tokens via a command, to the token reference register as a validity request. The reduction in the burden on limited resources that can be achieved is particularly helpful for security elements as a transaction unit. Especially in security elements, there can be several modification details for different tokens (stack of modification details) and/or for one token (sequence of modification details).
Die Transaktionseinheit TE1, TE2 sendet die Modifikationsangabe(n) in einer Gültigkeitsanfrage für mindestens eine Tokenreferenz und empfängt eine Gültigkeitsbestätigung des Tokenreferenz-Register TRR für die mindestens eine angefragte Tokenreferenz. Die Gültigkeitsanfrage umfasst mehrere Ausgangs-Tokenreferenzen Das Tokenreferenz-Register TRR kann in der Gültigkeitsbestätigung eine Signatur für jede angeforderte Tokenreferenz bereitstellen. The transaction unit TE1, TE2 sends the modification information(s) in a validity request for at least one token reference and receives a confirmation of validity from the token reference register TRR for the at least one requested token reference. The validation request includes multiple output token references. The token reference register TRR can provide a signature for each requested token reference in the validation confirmation.
Das in Fig. 1 gezeigte Tokenreferenz -Register TRR ist nunmehr auch dazu eingerichtet, Gültigkeitsanfragen GA zu verifizieren. Dazu ist beispielsweise die Verifiziereinheit 2 des TRR vorgesehen. Die Verifiziereinheit 2 des Tokenreferenz-Registers TRR verifiziert dann Registrieranfragen RA und/oder Gültigkeitsanfragen GA. The token reference register TRR shown in FIG. 1 is now also set up to verify validity requests GA. For this purpose, for example, the verification unit 2 of the TRR is provided. The verification unit 2 of the token reference register TRR then verifies registration requests RA and/or validity requests GA.
Auch eine Historie aus alten (vergangenen) Gültigkeitsanfragen GA bezüglich eines Tokens T kann dabei verifiziert werden. Für die Bearbeitung von Gültigkeitsanfragen GA wird die Historie jedoch nicht benötigt. Die Speichereinheit 1 des TRR kann insofern vorteilhafterweise nur die gültigen Tokenreferenzen TR enthalten. Eine Historie von ehemals gültigen Tokenreferenzen TR und/oder bereits ausgeführten Modifikationsangaben kann in einer separaten Einheit, einer Archiveinheit, bereitgestellt werden. Im Folgenden wird teilweise verkürzt gesagt, dass geprüft wird, ob eine Tokenreferenz im TRR gespeichert ist, es wird dabei jedoch jeweils geprüft ob die Tokenreferenz als gültige Tokenreferenz gespeichert ist bzw. unter der Annahme dass die Speichereinheit 1 nur die gültigen Tokenreferenzen enthält, ob sie in der Speichereinheit 1 gespeichert ist. A history of old (past) validity requests GA regarding a token T can also be verified. However, the history is not required for processing GA validity requests. The storage unit 1 of the TRR can therefore advantageously only contain the valid token references TR. A history of previously valid token references TR and/or modification information that has already been carried out can be stored in a separate unit, a Archive unit. In the following, it will be briefly stated in short that it is checked whether a token reference is stored in the TRR, but it is checked in each case whether the token reference is stored as a valid token reference or, assuming that the storage unit 1 only contains the valid token references, whether it is stored in the storage unit 1.
Fig. 3a zeigt ein erstes Ausführungsbeispiel einer Gültigkeitsanfrage GA gemäß der Erfindung. Die GA der Fig. 3a umfasst eine (einzige) Modifikationsangabe MA. Diese MA umfasst Eingangstokenreferenzen TREH, TREU und Ausgangstokenreferenzen TRAII TRAU und ein Modifikationskommando KO. Die Anzahl von Ausgangstokenreferenzen TRA und die Anzahl von Eingangstokenreferenzen TR^ in der Modifikationsanfrage MA ist nicht einschränkend, es können mehr sein (angedeutet durch die Punkte) oder auch weniger. Beispiele für die Anzahl von Eingangs- und Ausgangstokenreferenzen TR pro spezifischem Modifikationskommando KO werden später gegeben. Fig. 3a shows a first exemplary embodiment of a validity request GA according to the invention. The GA of FIG. 3a includes a (single) modification information MA. This MA includes input token references TREH, TREU and output token references TRAII TRAU and a modification command KO. The number of output token references TRA and the number of input token references TR^ in the modification request MA is not restrictive, it can be more (indicated by the dots) or even fewer. Examples of the number of input and output token references TR per specific modification command KO will be given later.
Die Modifikationsangabe MA kann optional eine oder mehrere Signaturen 32 umfassen. Neben den Detaildaten 31 der Modifikation umfasst die Modifikationsangabe MA eine Signatur der Modifikationsangabe. Eine Signatur 32 wird vorzugsweise mit dem privaten Teil r einer Eingangstokenreferenz erstellt, insbesondere kann für jede Eingangstokenreferenz TREU, TREU der Modifikationsanfrage MA eine Signatur 32 mit dem zugehörigen privaten Teil TEU, TEI2 vorliegen. The modification information MA can optionally include one or more signatures 32. In addition to the detailed data 31 of the modification, the modification information MA includes a signature of the modification information. A signature 32 is preferably created with the private part r of an input token reference; in particular, a signature 32 with the associated private part TEU, TEI2 can be present for each input token reference TREU, TREU of the modification request MA.
Die Gültigkeitsanfrage GA kann optional eine Prüfungsangabe 33 umfassen. Die Prüfungsangabe gibt die ein oder mehreren auf Gültigkeit zu prüfende Ausgangstokenreferenz(en) an. Im gezeigten Beispiel ist also die Gültigkeit der Ausgangstokenreferenz TRAU ZU prüfen. Für eine Gültigkeitsanfrage GA ohne explizite Prüfungsangabe 33 können beispielsweise alle Ausgangstokenreferenzen auf Gültigkeit geprüft werden. Die MA der GA umfasst mindestens eine auf Gültigkeit zu prüfende Ausgangstokenreferenz TRAU und vorzugsweise eine (oder mehrere) nicht auf Gültigkeit zu prüfende Ausgangstokenreferenz(en) TRAU. The validity query GA can optionally include a check information 33. The check specification specifies the one or more output token reference(s) to be checked for validity. In the example shown, the validity of the output token reference TRAU ZU must be checked. For a validity request GA without explicit verification information 33, for example, all output token references can be checked for validity. The MA of the GA includes at least one output token reference TRAU to be checked for validity and preferably one (or more) output token reference(s) TRAU not to be checked for validity.
In Fig. 3b ist ein erstes Ausführungsbeispiel eines Verfahrens zum Prüfen der Gültigkeit eines Tokens T anhand einer Gültigkeitsanfrage GA, beispielsweise gemäß Fig. 3a, gemäß der Erfindung gezeigt. Im Schritt 101 empfängt das TRR die GA und prüft optional die MA der GA in weiteren Schritten 103-105. Im Schritt 102 prüft das TRR, ob die TRAU der MA als gültige Tokenreferenz im TRR (insbesondere in dessen Speichereinheit 1) abgespeichert ist. TRAuist die in der Prüfungsangabe 33 der GA enthaltene Ausgangstokenreferenz. Im Ja-Fall des Schritts 102 im Schritt 108 eine Gültigkeitsbestätigung GB als Antwort auf die GA an die TE gesendet. Die MA der GA wird dagegen nicht weiter geprüft. Es existiert bereits eine Ausgangstokenreferenz der MA im TRR. Das TRR muss die MA bereits in der Vergangenheit ausgeführt haben. 3b shows a first exemplary embodiment of a method for checking the validity of a token T based on a validity request GA, for example according to FIG. 3a, according to the invention. In step 101, the TRR receives the GA and optionally checks the MA of the GA in further steps 103-105. In step 102, the TRR checks whether the MA's TRAU is stored as a valid token reference in the TRR (in particular in its storage unit 1). TRAu is the output token reference contained in GA audit statement 33. If step 102 is yes, a validity confirmation GB is sent to the TE in step 108 in response to the GA. The MA of the GA, however, will not be examined further. There is already an output token reference of the MA in the TRR. The TRR must have already executed the MA in the past.
Optional wird in einem Schritt 106 zumindest eine Signatur des TRR erstellt, insbesondere eine Signatur des TRR für die gültige(n) Ausgangstokenreferenz(en) TRAU. Die Gültigkeitsbestätigung GB kann die Signatur des TRR für die gültige(n) Ausgangstokenreferenz(en) enthalten bzw. durch diese gebildet sein. Optionally, in a step 106, at least one signature of the TRR is created, in particular a signature of the TRR for the valid output token reference(s) TRAU. The validity confirmation GB may contain or be formed by the signature of the TRR for the valid output token reference(s).
Im Nein-Fall des Schritts 102 prüft (verifziert) das TRR die MA 103, 104 und führt sie gegebenfalls aus 105. Im Schritt 103 prüft das TRR, ob jede Eingangstokenreferenz TREU und TREI2 der MA im TRR abgespeichert ist. Wenn die Eingangstokenreferenzen TREH und TREU der MA im TRR gespeichert sind (Ja-Fall), prüft das TRR die MA auf Fehler 104. Geprüft wird beispielsweise die Syntax der MA, also insbesondere das Kommando KO (z.B.: unbekannter KO-Typ oder KO-Typ des TH) und/oder die Anzahl der Eingangs- und Ausgangstokenreferenzen (z.B.: keine oder zu wenige Ausgangstokenreferenzen/ Eingangstokenreferenzen). Geprüft wird die Wertneutral tiät der Tokenreferenzwerte (Summe Eingangswert(e) = Summe Ausgangswert(e)) und/oder die Signatur(en) 32 der MA. In the no case of step 102, the TRR checks (verifies) the MA 103, 104 and, if necessary, executes them 105. In step 103, the TRR checks whether each input token reference TREU and TREI2 of the MA is stored in the TRR. If the input token references TREH and TREU of the MA are stored in the TRR (yes case), the TRR checks the MA for error 104. For example, the syntax of the MA is checked, in particular the command KO (e.g.: unknown KO type or KO- Type of TH) and/or the number of input and output token references (e.g.: no or too few output token references/input token references). The value neutrality of the token reference values (sum input value(s) = sum output value(s)) and/or the signature(s) 32 of the MA is checked.
Ist die Verifikation 103, 104 der MA nicht erfolgreich, wird eine Ungültigkeitsbestätigung UGB für die GA gesendet 109. Abweichend von einer Behandlung der MA als Registrieranfrage wird also nicht mehr anhand der Historie geprüft, ob die MA bereits ausgeführt wurde. Sowohl im Nein-Fall von Schritt 103 als auch im Fall eines Fehlers in der MA (Ja-Fall von Schritt 104) erfolgt das Senden der UGB in Schritt 109. If the verification 103, 104 of the MA is not successful, an invalidity confirmation UGB is sent for the GA 109. In contrast to treating the MA as a registration request, the history is no longer used to check whether the MA has already been carried out. Both in the no case of step 103 and in the case of an error in the MA (yes case of step 104), the UGB is sent in step 109.
Ist die Verifikation 103, 104 der MA erfolgreich, führt das TRR die MA aus 105 und sendet die Gültigkeitsbestätigung GB für die GA in Schritt 108. In Schritt 105 löscht das TRR die Eingangstokenreferenz(en) TREU und TREU und speichert die Ausgangstokenreferenz(en) TRAU und TRAU der MA im TRR, bzw. in der Speichereinheit 1 des TRR. Der Schritt 106 wird wiederum optional vor dem Schritt 108 ausgeführt, im vorliegenden Beispiel also nur TRAU signiert und die Signatur für TRAU in der GB für die GA des TRR der Transaktionseinheit TE bereitgestellt. Mit dem Verfahren nach Fig. 3b wird zunächst geprüft, ob die (angegebene(n)) TRA der GA im als gültige TR im TRR gespeichert ist (sind) und nur, wenn die TRA im TRR nicht gültig sind, werden TRE und KO geprüft (also die MA verifiziert). Dies verringert den Aufwand der Gültigkeitsprüfung. Zudem erfolgt für die MA auch keine Prüfung einer Historie mehr, da die MA in einer Gültigkeitsanfrage GA empfangen wurde. If the verification 103, 104 of the MA is successful, the TRR executes the MA 105 and sends the validation confirmation GB for the GA in step 108. In step 105, the TRR deletes the input token reference(s) TREU and TREU and stores the output token reference(s) TRAU and TRAU of the MA in the TRR, or in the storage unit 1 of the TRR. Step 106 is again optionally carried out before step 108, so in the present example only TRAU is signed and the signature for TRAU is provided in the GB for the GA of the TRR of the transaction unit TE. With the method according to Fig. 3b, it is first checked whether the (specified) TRA of the GA is (are) stored as a valid TR in the TRR and only if the TRA in the TRR are not valid are TRE and KO checked (i.e. the MA verified). This reduces the effort involved in checking the validity. In addition, there is no longer a history check for the MA, since the MA was received in a GA validity request.
In Fig. 3c ist ein zweites Ausführungsbeispiel eines Verfahrensablaufs zum Prüfen der Gültigkeit eines Tokens T anhand einer Gültigkeitsanfrage GA gemäß Fig. 3a gemäß der Erfindung gezeigt. 3c shows a second exemplary embodiment of a method sequence for checking the validity of a token T based on a validity request GA according to FIG. 3a according to the invention.
Im Schritt 101 empfängt das TRR die GA und prüft 104 nun zunächst die MA der GA auf Fehler (insbesondere in Syntax, Wertneutralität und/oder Signaturen). In dem Schritt 103 prüft das TRR, falls MA selbst fehlerfrei ist, ob die Eingangstokenreferenz(en) TREH und TREU der MA im TRR abgespeichert sind. Sind die Eingangstokenreferenzen TREU und TREU im TRR gespeichert (Ja-Fall), wird die MA der GA ausgeführt 105. In step 101, the TRR receives the GA and now first checks 104 the MA of the GA for errors (particularly in syntax, value neutrality and/or signatures). In step 103, if MA itself is error-free, the TRR checks whether the input token reference(s) TREH and TREU of the MA are stored in the TRR. If the input token references TREU and TREU are stored in the TRR (yes case), the MA of the GA is executed 105.
Ist dagegen die MA fehlerhaft (Ja-Fall von Schritt 104) oder sind die Eingangstokenreferenz(en) der MA nicht im TRR gespeichert (Nein-Fall von Schritt 103), wird der Schritt 102 ausgeführt. Insbesondere falls die MA nicht verifiziert werden kann, wird in Schritt 102 geprüft, ob die (optional angegebene) Ausgangstokenreferenz TRAU bzw. die (optional angegebenen) Ausgangstokenreferenzen in der Speichereinheit 1 des TRR gespeichert ist. On the other hand, if the MA is faulty (yes case of step 104) or the input token reference(s) of the MA are not stored in the TRR (no case of step 103), step 102 is executed. In particular, if the MA cannot be verified, it is checked in step 102 whether the (optionally specified) output token reference TRAU or the (optionally specified) output token references is stored in the storage unit 1 of the TRR.
Im Ja-Fall des Schritts 102 wird in dem Schritt 108 eine Gültigkeitsbestätigung GB als Antwort auf die GA an die TE gesendet. Die (angegebene(n)) Ausgangstokenreferenz (en) ist (sind) bereits im TRR, insbesondere in dessen Speichereinheit 1, gespeichert. Das TRR hat die MA mit dieser TRA bereits in der Vergangenheit ausgeführt. Optional wird zuvor eine Signatur des TRR für die (angegebene(n)) Ausgangstokenreferenz (en), hier also TRA12, erstellt 106. Im Nein-Fall des Schrittes 102 sendet 109 das TRR dagegen eine Ungültigkeitsbestätigung UGB für die (angegebene(n)) Ausgangstokenreferenz (en) der MA. If step 102 is yes, a validity confirmation GB is sent to the TE in step 108 in response to the GA. The (specified) output token reference (s) is (are) already stored in the TRR, in particular in its storage unit 1. The TRR has already carried out the MA with this TRA in the past. Optionally, a signature of the TRR for the (specified) output token reference(s), here TRA12, is created beforehand 106. In the case of no in step 102, the TRR sends 109 an invalidity confirmation UGB for the (specified(s)) MA output token reference(s).
Im Ja-Fall des Schritts 103 führt das TRR im Schritt 105 das Modifikationskommando KO der MA aus und sendet anschließend die Gültigkeitsbestätigung 108. Im TRR werden in Schritt 105 die Eingangstokenreferenzen der MA gelöscht und die Ausgangstokenreferenzen der MA gespeichert. If step 103 is yes, the TRR executes the MA's modification command KO in step 105 and then sends the validity confirmation 108. In the TRR, the MA's input token references are deleted in step 105 and the MA's output token references are saved.
Mit dem Verfahren nach Fig. 3 c wird zunächst geprüft, ob die MA fehlerhaft und/oder die TRE nicht im TRR gespeichert sind. Andernfalls, also obwohl die MA der GA nicht ausführbar ist, wird geprüft, ob die (angegebene(n)) TRA der GA bereits gespeichert sind. Auch das Verfahren nach Figur 3c verringert den Aufwand der Gültigkeitsprüfung. The method according to FIG. 3 c is first used to check whether the MA is faulty and/or the TRE is not stored in the TRR. Otherwise, i.e. even though the MA of the GA cannot be executed, it is checked whether the (specified) TRA of the GA are already saved. The method according to Figure 3c also reduces the effort involved in checking the validity.
Fig. 4a zeigt ein zweites Ausführungsbeispiel einer Gültigkeitsanfrage GA gemäß der Erfindung. Diese GA umfasst zwei oder mehr Modifikationsanfragen MA (MAi, MA2, . . . MAX). Jede MA umfasst (eine oder) mehrere Eingangstokenreferenzen TREH, TREU und (eine oder) mehrere Ausgangstokenreferenzen TRAII TRAU und ein Modifikationskommando KO. Die Anzahl von Ausgangstokenreferenzen TRA und die Anzahl von Eingangstokenreferenzen TRE in der Modifikationsanfrage MA ist nicht einschränkend, es können mehr sein oder auch weniger. Beispiele für die typische Anzahl von Eingangs- und Ausgangstokenreferenzen TR pro spezifischem Kommando KO werden später aufgelistet. Hier nicht separat dargestellt sind optionale Signaturen der MA. Fig. 4a shows a second exemplary embodiment of a validity request GA according to the invention. This GA includes two or more modification requests MA (MAi, MA2, . . . MA X ). Each MA includes (one or) more input token references TREH, TREU and (one or) more output token references TRAII TRAU and a modification command KO. The number of output token references TRA and the number of input token references TRE in the modification request MA is not restrictive, it may be more or less. Examples of the typical number of input and output token references TR per specific command KO are listed later. Optional MA signatures are not shown separately here.
Die MA der GA werden einzeln verifiziert. Bevorzugt wird die jüngste MA, Max, zuerst verifiziert. Allgemein werden optional MA der GA verifiziert, bis entweder eine GB oder eine UGB für die GA gesendet werden kann. Fallweise können alle MA der GA nacheinander geprüft und ausgeführt werden, bevor eine GB gesendet wird. Eine GB für die GA kann fallweise jedoch bereits auch ohne Prüfung einer einzigen MA gesendet werden (gemäß Fig. 4b beispielsweise im Sonderfall: TRAIJ = TRAIJ). The GA’s MAs are verified individually. It is preferred that the youngest MA, Max, be verified first. In general, MA of the GA is optionally verified until either a GB or a UGB can be sent for the GA. In some cases, all MA of the GA can be checked and executed one after the other before a GB is sent. In some cases, however, a GB for the GA can be sent without checking a single MA (according to Fig. 4b, for example in the special case: TRAIJ = TRAIJ).
Die Modifikationsanfragen MA der GA können als Stapel oder als Folge von Modifikationsanfragen MA vorliegen. The modification requests MA of the GA can be present as a batch or as a sequence of modification requests MA.
Im Falle einer Folge von MA werden die MA im Wesentlichen zeitlich aufeinanderfolgende Modifikationen an Token angeben. Zumindest eine Ausgangstokenreferenz einer MA der Folge wird Eingangstokenreferenz einer anderen MA der Folge sein. Bevorzugt haben zwei oder mehr aufeinander folgende MA, beispielsweise MAx.i und MAX, der GA eine Eingangstokenreferenz, die Ausgangstokenreferenz einer vorherigen MA der GA ist. Entsprechend sind die Modifikationsanfragen MA der GA in der Reihenfolge MAi . . . MAX auszuführen, in der sie in der GA vorliegen. MAX ist die jüngste MA und repräsentiert die letzte Modifikation an einem Token. In the case of a sequence of MAs, the MAs will essentially indicate consecutive modifications to tokens in time. At least one output token reference of one MA of the sequence will be input token reference of another MA of the sequence. Preferably, two or more consecutive MAs, for example MAx.i and MA Accordingly, the modification requests MA of the GA are in the order MAi. . . MA MA X is the most recent MA and represents the last modification to a token.
Fig. 4a zeigt jedoch als Beispiel einen Stapel von MA in der GA. Die Ein- und Ausgangstokenreferenzen TR der Modifikationsanfragen MA in der GA sind im Wesentlichen unabhängig voneinander (weder TRAII noch TRAU entsprechen beispielsweise TRE21 oder TREU). Gerade für größere Stapel (mit beispielsweise i > 5) und/oder für Stapel mit MA nur einer Transaktionseinheit kann es dennoch vorkommen, dass eine Ausgangstokenreferenz einer MA des Stapels Eingangstokenreferenz einer anderen MA des Stapels ist. However, Fig. 4a shows a stack of MA in the GA as an example. The input and output token references TR of the modification requests MA in the GA are essentially independent of each other (neither TRAII nor TRAU correspond to TRE21 or TREU, for example). Especially for larger stacks (e.g. with i > 5) and/or for stacks with MA only of a transaction unit, it can still happen that an output token reference of one MA of the stack is an input token reference of another MA of the stack.
Als optionale Prüfungsangabe 43 umfasst die gezeigte Gültigkeitsanfrage 40 eine oder mehrere auf Gültigkeit zu prüfende Ausgangstokenreferenzen TRAij (j-te Ausgangstokenreferenz der i- ten Modifikationsangabe). Die angegebene(n) Ausgangstokenreferenz(en) TRAij kann eine, mehrere oder keine Ausgangstokenreferenz der letzten Modifikationsangabe (MAX) der GA, auch im Falle einer Folge, umfassen. Insbesondere kann die Prüfungsangabe zwei oder mehr Ausgangstokenreferenzen TRAij der GA aus unterschiedlichen MA umfassen, wie TRA21 und TRAXI. Weiterhin kann die die Prüfungsangabe zwei oder mehr Ausgangstokenreferenzen TRAIJ der GA, vorzugsweise aus unterschiedlichen MA, nicht umfassen, wie TRAII, TRA22 und/oder. TRAX2. As optional checking information 43, the validity query 40 shown includes one or more output token references TRAij (jth output token reference of the ith modification information) to be checked for validity. The specified output token reference(s) TRAij may include one, several or no output token references of the last modification indication (MA X ) of the GA, even in the case of a sequence. In particular, the verification indication may include two or more output token references TRAij of the GA from different MAs, such as TRA21 and TRAXI. Furthermore, the test information cannot include two or more output token references TRAIJ of the GA, preferably from different MAs, such as TRAII, TRA22 and/or. TRAX2.
In Fig. 4b ist ein erstes Ausführungsbeispiel eines Verfahrens zum Prüfen der Gültigkeit zumindest eines Tokens T anhand einer Gültigkeitsanfrage GA mit mehreren MA, beispielsweise gemäß Fig. 4a, gezeigt. Der Ablauf des Verfahrens der Fig. 4b entspricht im Kern dem Verfahren nach Fig. 3b (identische Schritte 102, 103, 104, 105, 106) und diesbezüglich wird auf die Ausführungen in Fig. 3b verwiesen. 4b shows a first exemplary embodiment of a method for checking the validity of at least one token T based on a validity request GA with several MA, for example according to FIG. 4a. The sequence of the method in FIG. 4b essentially corresponds to the method according to FIG. 3b (identical steps 102, 103, 104, 105, 106) and in this regard reference is made to the statements in FIG. 3b.
Das Verfahren gemäß Fig. 4b umfasst eine Schleife 141, 142 für die Modifikationsanfragen MA der GA (mit Schleifenindex i=l bis x für MAi). Beginnend mit der ersten MA der GA, MAi, wird geprüft 102, ob eine angegebene Ausgangstokenreferenz, TRAIJ, bzw. alternativ alle Ausgangstokenreferenzen der MA, TRAII und TRAII, der MA bereits (als gültige TR) gespeichert sind. Gegebenenfalls wird die Modifikationsanfrage MAi ausgeführt 105. In einer nicht dargestellten Variante des Verfahrens könnte in Schritt 109 eine UGB gesendet werden, sobald die aktuelle MA der GA nicht ausführbar ist (Nein-Fall von Schritt 103 oder Ja-Fall von Schritt 104), falls alle TR der GA auf Gültigkeit zu prüfen sind. In dem in Fig. 4b gezeigten Beispiel wird dagegen die Schleife 141, 142, inklusive der Schritte 102-106 (und 146), für jede MA, MAi . . . MAX, der GA durchlaufen. The method according to FIG. 4b includes a loop 141, 142 for the modification requests MA of the GA (with loop index i=l to x for MAi). Starting with the first MA of the GA, MAi, it is checked 102 whether a specified output token reference, TRAIJ, or alternatively all output token references of the MA, TRAII and TRAII, of the MA are already stored (as a valid TR). If necessary, the modification request MAi is executed 105. In a variant of the method, not shown, a UGB could be sent in step 109 as soon as the current MA of the GA is not executable (no case of step 103 or yes case of step 104), if all TR of the GA must be checked for validity. In the example shown in Fig. 4b, on the other hand, loop 141, 142, including steps 102-106 (and 146), is executed for each MA, MAi. . . MA X , which passes through GA.
Gemäß Schritt 102 bereits zuvor gespeicherte oder in Schritt 105 gespeicherte Ausgangstokenreferenzen TRAIJ können in der Schleife als - als gültig erkannte oder bereits signierte - TRA der GA zwischengespeichert werden. Optional wird in Schritt 146 zudem zwischengespeichert, dass das oder die angegebenen TRAIJ der MAi bzw. der oder die Ausgangstokenreferenzen, TRAIJ, der MAi ungültig sind. Wenn alle angegebenen TRAIJ gültig sind oder alle Ausgangstokenreferenzen der GA gültig sind, wird eine Gültigkeitsbestätigung GB für die GA, inklusive optionaler Signaturen, gesendet 108. Andernfalls kann eine Ungültigkeitsbestätigung gesendet werden 109. Optional kann eine Teilgültigkeitsbestätigung TGB (erstellt und) gesendet werden 148, sofern nicht alle aber mindestens eine fragliche Ausgangstokenreferenz gültig ist (Schritt 147) Die Teilgültigkeitsbestätigung TGB umfasst vorzugsweise nur die Signaturen des TRR für die gültigen Ausgangstokenreferenzen der GA bzw. der gültigen auf Gültigkeit zu prüfenden Ausgangstokenreferenzen TRAij. Output token references TRAIJ that have already been previously saved according to step 102 or saved in step 105 can be buffered in the loop as TRA of the GA - recognized as valid or already signed. Optionally, in step 146 it is also cached that the specified TRAIJ of the MAi or the output token reference or references, TRAIJ, of the MAi are invalid. If all specified TRAIJ are valid or all output token references of the GA are valid, a validity confirmation GB for the GA, including optional signatures, is sent 108. Otherwise, an invalidation confirmation can be sent 109. Optionally, a partial validity confirmation TGB can be (created and) sent 148, unless all but at least one output token reference in question is valid (step 147) The partial validity confirmation TGB preferably only includes the signatures of the TRR for the valid output token references of the GA or the valid output token references TRAij to be checked for validity.
In Schritt 141 wird geprüft ob die aktuelle Modifikationsangabe MAi die letzte Modifikationsangabe der GA ist (also ob I == X ist). Alternativ oder ergänzend kann geprüft werden, ob alle angegebenen TRAij bereits als gültig und/oder ungültig erkannt wurden. Im Nein- Fall des Schritts 141 wird die nächste MA der GA verifiziert, angedeutet durch den Schritt 142, der den Laufindex „i“ inkrementiert (der Index i ist bei Start im Schritt 101 : i = 1). Sodann wird in erneuten Schritten 102-106, 146 die nächste MA geprüft. Ist ein Abbruchkriterium der Schleife erkannt (Ja-Fall von 141), wird fallabhängig (Schritt 107, 147) an die TE die Gültigkeitsbestätigung GB für die GA gesandt oder die Ungültigkeitsbestätigung UGB für die GA gesandt (oder optional eine Teilgültigkeitsbestätigung für die GA gesandt). In step 141 it is checked whether the current modification information MAi is the last modification information of the GA (i.e. whether I == X). Alternatively or additionally, it can be checked whether all specified TRAij have already been recognized as valid and/or invalid. In the no case of step 141, the next MA of the GA is verified, indicated by step 142, which increments the running index "i" (the index i is at the start in step 101: i = 1). The next MA is then checked in further steps 102-106, 146. If an termination criterion for the loop is recognized (yes case of 141), depending on the case (step 107, 147), the validity confirmation GB for the GA is sent to the TE or the invalidity confirmation UGB is sent for the GA (or optionally a partial validity confirmation for the GA is sent) .
In Fig. 4c ist ein weiteres Ausführungsbeispiel eines Verfahrens zum Prüfen der Gültigkeit eines Tokens T anhand einer Gültigkeitsanfrage GA mit mehreren MA, insbesondere gemäß Fig. 4a, gezeigt. Der Ablauf des Verfahrens der Fig. 4c entspricht im Kem dem Verfahren nach Fig. 3c (identische Schritte bzw. Schrittfolge 104, 103, 102, 105, 106) und diesbezüglich wird auf die Ausführungen in Fig. 3c verwiesen. 4c shows a further exemplary embodiment of a method for checking the validity of a token T based on a validity request GA with several MA, in particular according to FIG. 4a. The sequence of the method in FIG. 4c essentially corresponds to the method according to FIG. 3c (identical steps or sequence of steps 104, 103, 102, 105, 106) and in this regard reference is made to the statements in FIG. 3c.
Auch das Verfahren gemäß Fig. 4c umfasst eine Schleife 141, 142 mit einem Abbruchkriterium (alle angegebenen TRAIJ auf Gültigkeit geprüft oder alle MA durchlaufen), welche bis zum Erreichen des Abbruchkriteriums jede MA der GA die Schrittfolge 102-106, 146 durchlaufen lässt. Wie zuvor wird danach fallabhängig die entsprechende Bestätigung GB/UGB/TGB gesandt 108/109/149. Auch in einem Ablauf gemäß Fig. 4c können MA der GA ungeprüft bleiben und dennoch eine Gültigkeitstätigung GB für die auf Gültigkeit zu prüfenden TRAIJ gesendet werden. 4c also includes a loop 141, 142 with a termination criterion (all specified TRAIJs checked for validity or all MAs run through), which allows each MA of the GA to run through the step sequence 102-106, 146 until the termination criterion is reached. As before, depending on the case, the corresponding confirmation GB/UGB/TGB will be sent 108/109/149. Even in a process according to FIG. 4c, MA of the GA can remain unchecked and a validity confirmation GB can still be sent for the TRAIJ to be checked for validity.
Mit dem Verfahren gemäß Fig. 4b und 4c werden vorzugsweise Stapel von Modifikationsangaben MA geprüft. Die Modifikationsangaben enthalten voneinander unabhängige Tokenreferenzen. Fig. 5a zeigt ein drittes Ausführungsbeispiel einer Gültigkeitsanfrage GA gemäß der Erfindung. Die GA umfasst mehrere Modifikationsangaben MAi, MA2, . . . MAX. Die Modifikationsangaben der GA sind voneinander abhängig. Die GA umfasst insofern eine Folge vonStacks of modification information MA are preferably checked using the method according to FIGS. 4b and 4c. The modification information contains independent token references. Fig. 5a shows a third exemplary embodiment of a validity request GA according to the invention. The GA includes several modification details MAi, MA2, . . . MAX . The GA modification information is dependent on each other. The GA therefore includes a sequence of
Modifikationsangaben, wie sie teils auch zuvor bereits näher beschrieben wurde. Modification information, some of which has already been described in more detail before.
Im gezeigten Beispiel ist die Ausgangstokenreferenz TRAII von MAi eineIn the example shown, MAi's output token reference is TRAII
Eingangstokenreferenz der MA2 sein. Die Ausgangstokenreferenz TRA22 von MA2 könnte eine Eingangstokenreferenz einer anderen MA der GA sein, beispielsweise der MA3, MA4 oder MAX. Die erste Eingangstokenreferenz von MAxist die Ausgangstokenreferenz TRAX-I 1 der MAx-i. Als die auf Gültigkeit zu prüfenden Ausgangstokenreferenzen TRAIJ der GA enthält die Prüfungsangabe 53 der GA die Ausgangstokenreferenzen TRA21 und TRAX2. Die optional vorhandenen Signaturen der MA sind wiederum nicht in der Figur dargestellt. be the input token reference of the MA2. The output token reference TRA22 of MA2 could be an input token reference of another MA of the GA, for example the MA3, MA4 or MA X . The first input token reference of MA x is the output token reference TRA X -I 1 of MA x -i. As the GA's output token references TRAIJ to be checked for validity, the GA's check information 53 contains the output token references TRA21 and TRA X 2. The MA's optional signatures are again not shown in the figure.
Fig. 5b zeigt ein erstes Ausführungsbeispiel eines Verfahrens zum Prüfen der Gültigkeit eines Tokens T anhand einer Gültigkeitsanfrage GA mit mehreren, vorzugsweise voneinander abhängigen, MA - insbesondere gemäß Fig. 5a. 5b shows a first exemplary embodiment of a method for checking the validity of a token T based on a validity request GA with several, preferably interdependent, MAs - in particular according to FIG. 5a.
Di GA wird empfangen 101 und in Schritt 102 wird geprüft, ob die auf Gültigkeit zu prüfenden Tokenreferenzen TRAIJ als gültige TR im TRR gespeichert sind, insbesondere also ob sie in der Speichereinheit 1 des TRR, die nur die gültigen TR enthält, vorliegen. Wenn die angegeben Ausgangstokenreferenzen TRA21 und TRAX2 bereits gespeichert sind, kann - optional nach Erstellung der Signaturen 106 als kryptographische Bestätigung des TRR für die gültigen TR - die Gültigkeitsbestätigung GB gesendet werden 108. In diesem Fall wird keine der MA der GA (auf Fehler und/oder Ausführbarkeit) geprüft. The GA is received 101 and in step 102 it is checked whether the token references TRAIJ to be checked for validity are stored as valid TRs in the TRR, in particular whether they are present in the storage unit 1 of the TRR, which only contains the valid TRs. If the specified output token references TRA21 and TRAX2 are already stored, the validity confirmation GB can be sent 108 - optionally after the signatures 106 have been created as a cryptographic confirmation of the TRR for the valid TR. In this case, none of the MA of the GA (for errors and/or or feasibility).
In einer Schleife 153a -c werden die x Modifikationsangaben MA der Folge nacheinander geprüftIn a loop 153a-c, the x modification information MA of the sequence is checked one after the other
103, 104. Für die jeweilige MAi wird in Schritt 103 geprüft, ob die Eingangstokenreferenz(en) TREH und TREI2 in der Speichereinheit 1 des TRR gespeichert sind, also gültig sind. Im Nein- Fall wird eine Ungültigkeitsbestätigung UGB gesendet 109. Ebenso in dem (Ja-)Fall von Schritt103, 104. For the respective MAi, it is checked in step 103 whether the input token reference(s) TREH and TREI2 are stored in the storage unit 1 of the TRR, i.e. are valid. In the no case, an invalidity confirmation UGB is sent 109. Likewise in the (yes) case of step
104, dass eine Prüfung der MAi einen Fehler (wie zuvor: Syntax, Wertneutralität, . . .) ergibt. 104 that a check of the MAi results in an error (as before: syntax, value neutrality, . . .).
Im Nein-Fall von Schritt 104 wird - da das Verfahren auf eine Folge ausgerichtet ist, deren Tokenreferenzen vorneinander abhängen - die MA jedoch noch nicht tatsächlich ausgeführt. Es erfolgt noch kein Speichern der Ausgangstokenreferenzen TRA der MAi. Ein Löschen der Eingangstokenreferenzen TRE der MAi in der Schleife wäre denkbar, erfolgt aber bevorzugt auch erst in Schritt 155. Die Verifikationseinheit 2 speichert die zu speichernden Ausgangstokenreferenzen TRA der MAi (und die zu löschenden Eingangstokenreferenzen TRE der MAi) nur zwischen. Mehrere dieser zwischengespeicherten Ausgangstokenreferenzen werden Eingangstokenreferenz einer weiteren MA der GA sein (wären damit also wieder zu löschen). Nun werden sie einfach aus dem Zwischenspeicher der Verifikationseinheit entfernt. Ein unnötiger schreibender Zugriff (bzw. mehrere unnötige schreibende oder löschende Zugriffe) auf die Speichereinheit 1 kann (können) somit vermieden werden. Erst in Schritt 155 werden die zwischengespeicherten (und nicht wieder dort gelöschten) Ausgangstokenreferenzen in die Speichereinheit geschrieben. Der Schritt 155 kann auch als selektives Speichern der Gesamt- Ausgangstokenreferenzen der Folge bezeichnet werden. Im Beispiel der Fig. 5b werden die Ausgangstokenreferenzen TRA21 TRAXI TRAX2 gespeichert und die Eingangstokenreferenzen TREH TREI2 TRE21 gelöscht. Danach kann die Gültigkeitsbestätigung für die Ausgangstokenrefenzen TRA2I,TRAX2 gesendet werden. In the No case of step 104 - since the method is aimed at a sequence whose token references depend on each other - the MA is not actually executed yet. The output token references TRA of the MAi are not yet saved. Deleting the input token references TRE of the MAi in the loop would be conceivable, but preferably only takes place in step 155. The verification unit 2 only temporarily stores the output token references TRA of the MAi to be saved (and the input token references TRE of the MAi to be deleted). Several of these cached output token references will be the input token reference of another MA of the GA (which would therefore have to be deleted again). Now they are simply removed from the verification unit's cache. An unnecessary writing access (or several unnecessary writing or deleting accesses) to the storage unit 1 can thus be avoided. Only in step 155 are the cached (and not deleted again) output token references written into the storage unit. Step 155 may also be referred to as selectively storing the overall output token references of the sequence. In the example of FIG. 5b, the output token references TRA21 TRAXI TRA X 2 are saved and the input token references TREH TREI2 TRE21 are deleted. The validity confirmation for the output token references TRA2I,TRA X 2 can then be sent.
Fig. 5b zeigt mit den Schritten 151, 152 optionale Schritte die verhindern würden, dass bereits ausgeführte Modifikationsangaben MA in der Folge von MA der GA fälschlich zu einer Ungültigkeitsbestätigung UGB führt. Wenn in Schritt 102 bzw. 151 festgestellt wird, dass ein TRAnj bereits gespeichert ist, wird in Schritt 152 diese TR signiert und der Index der Schleife auf i= n+1 gesetzt. Die Modifikationsangabe MAn wurde bereits ausgeführt. Die Bearbeitung der Folge von Modifikationsangaben kann also mit der in der Folge nachfolgenden Modifikationsangabe MAn+i begonnen werden. In nicht dargestellten Ausgestaltungen kann die Folge der MA ausgewertet werden, um Nebenäste der Folge zu erkennen und als solche in der Bearbeitung der Folge zu berücksichtigen. 5b shows, with steps 151, 152, optional steps that would prevent already executed modification information MA from incorrectly leading to an invalidity confirmation UGB as a result of MA of the GA. If it is determined in step 102 or 151 that a TRAnj has already been stored, this TR is signed in step 152 and the index of the loop is set to i=n+1. The modification specification MA n has already been carried out. The processing of the sequence of modification information can therefore be started with the following modification information MA n +i. In embodiments not shown, the sequence of the MA can be evaluated in order to recognize secondary branches of the sequence and take them into account as such in the processing of the sequence.
In Fig. 5c ist ein weiteres Ausführungsbeispiel eines Verfahrens zum Prüfen der Gültigkeit eines Tokens T anhand einer Gültigkeitsanfrage GA mit mehreren MA, insbesondere gemäß Fig. 5a bzw. einer GA mit einer Folge von MA, gezeigt. 5c shows a further exemplary embodiment of a method for checking the validity of a token T based on a validity request GA with several MA, in particular according to FIG. 5a or a GA with a sequence of MA.
Für die in Schritt 101 empfangene GA werden zunächst in Schritt 164a alle Modifikationsangaben MAi bis MAX der GA auf Fehler geprüft. Enthalten die MA einen Fehler (Nein-Fall von Schritt 164b), wird geprüft, ob die angegebenen Ausgangstokenreferenzen TRAIJ der GA alle bereits gespeichert sind 102. Fallabhängig wird entsprechend die UGB gesendet 109 oder - nach optionaler Signierung 106 der TRAIJ - die Gültigkeitsbestätigung GB gesendet 108. For the GA received in step 101, all modification information MAi to MA X of the GA are first checked for errors in step 164a. If the MA contains an error (no case in step 164b), it is checked whether the specified output token references TRAIJ of the GA are all already stored 102. Depending on the case, the UGB is sent accordingly 109 or - after optional signing 106 of the TRAIJ - the validity confirmation GB is sent 108.
Im Ja-Fall von Schritt 164b werden alle TR der GA aus der Speichereinheit 1 gelesen 162 (für alle TR geprüft, ob sie schon gespeichert sind). Sind alle angegebenen Ausgangstokenreferenzen TRAij vorhanden 102, wird wie zuvor die Gültigkeitsbestätigung 108 gesendet. Falls nicht (Nein- Fall von Schritt 162), werden in Schritt 165 selektiv die Gesamt- Ausgangstokenreferenzen der Folge gespeichert und die Eingangstokenreferenzen (soweit noch gespeichert) gelöscht. Auch das Vorgehen gemäß Fig. 5c führt zu einer optimierten Bearbeitung der GA mit einer Folge (oder einem Stapel). In the yes case of step 164b, all TRs of the GA are read 162 from the storage unit 1 (it is checked for all TRs whether they are already stored). If all specified output token references TRAij are present 102, the validity confirmation 108 is sent as before. If not (no case of step 162), in step 165 the overall output token references of the sequence are selectively saved and the input token references (if still saved) are deleted. The procedure according to Fig. 5c also leads to optimized processing of the GA with a sequence (or a stack).
Nach der Prüfung der GA der Fig. 3a bis 5c bzw. der RA gemäß Fig. 2a/b sind die geprüften (verifizierten) Tokenreferenzen TR im Tokenreferenz -Register TRR abgelegt, wodurch die Modifikation am Token T im Transaktionssystem TS registriert ist. After checking the GA of FIGS. 3a to 5c or the RA according to FIGS. 2a/b, the checked (verified) token references TR are stored in the token reference register TRR, whereby the modification to the token T is registered in the transaction system TS.
Die Tokenreferenz TR ist dem Token T eindeutig zugeordnet und dient zur Registrierung des Tokens T im Transaktionssystem TS. Die Tokenreferenz TR ist demnach die öffentliche Repräsentation des Tokens T aus der Direkttransaktionsschicht TE-Schicht. Das alleinige Wissen oder nur der Besitz der Tokenreferenz TR erlaubt es nicht, den Token T zu übertragen und ist nicht gleichbedeutend damit, dass die TE im Besitz des Tokens T ist. Die Tokenreferenz TR dient zur Verhinderung von Mehrfachausgabe-Versuchen. Es wird geprüft, ob Tokenwerte v in unzulässiger Weise generiert wurden. Deshalb wird im Tokenreferenz -Register TRR die Tokenreferenz TR und ggf. die Historie über die Token T und entsprechende Modifikationen durch von Transaktionseinheiten TE gesendete Registrieranfragen RA abgelegt. The token reference TR is uniquely assigned to the token T and is used to register the token T in the transaction system TS. The token reference TR is therefore the public representation of the token T from the direct transaction layer TE layer. The sole knowledge or possession of the token reference TR does not allow the transfer of the token T and does not mean that the TE is in possession of the token T. The token reference TR is used to prevent multiple issuance attempts. It is checked whether token values v were generated in an inadmissible manner. Therefore, the token reference TR and, if necessary, the history of the token T and corresponding modifications by registration requests RA sent by transaction units TE are stored in the token reference register TRR.
Die Token T werden beispielsweise in Tokenspeichern bzw. elektronischen Geldbörsen, sogenannten Wallets, einer TE abgelegt. Ein Wallet ist beispielsweise eine Softwareapplikation innerhalb einer Transaktionseinheit TE (insbesondere eines Secure Elements) oder eines Endgeräts, in dem die TE betriebsbereit eingebracht ist. Ein Wallet kann als Applikation auf einem Smartphone, einer Smartcard oder einem Bezahlterminal eingerichtet sein. Das Wallet dient dazu, Token T der TE sicher zu verwalten, Tokenreferenzen TR zu erzeugen, Token T zu modifizieren, Token T auszutauschen und/oder die Prüfung der Gültigkeit von Token anzustoßen. Wallets dienen dazu, mit dem Tokenreferenz -Register TRR zu kommunizieren, Registrieranfragen RA zu Modifikationen des Tokens T an das Tokenreferenz-Register TRR zu generieren, Transaktion von Token T zu einer Transaktionseinheit TE vorzunehmen und/oder Gültigkeitsanfragen GA zu generieren. The tokens T are stored, for example, in token stores or electronic purses, so-called wallets, of a TE. A wallet is, for example, a software application within a transaction unit TE (in particular a secure element) or a terminal device in which the TE is installed ready for operation. A wallet can be set up as an application on a smartphone, a smart card or a payment terminal. The wallet is used to securely manage token T of the TE, to generate token references TR, to modify token T, to exchange token T and/or to initiate the checking of the validity of tokens. Wallets are used to communicate with the token reference register TRR, to generate registration requests RA for modifications of the token T to the token reference register TRR, to carry out transactions from token T to a transaction unit TE and/or to generate validity requests GA.
Für eine Transaktion mit einer Transaktionseinheit TE ist es nicht notwendig, dass eine Kommunikationsverbindung zu dem Tokenreferenz-Register TRR des Transaktionssystems TS besteht. Das Transaktionssystem TS ist dazu eingerichtet, eine Transaktion offline, also ohne Kommunikationsverbindung mit dem Tokenreferenz-Register TRR, durchzuführen. Eine entsprechende Registrierung von Token T kann daher einer Übertragung des Token T zu einer Transaktionseinheit TE zeitlich nachgelagert sein. Das Tokenreferenz-Register TRR ist eine Einheit des Transaktionssystems TS und ist entweder ein zentrales Register oder eine zentrale Datenbank des Transaktionssystems TS oder ein dezentrales Register oder eine dezentrale Datenbank (DLT) des Transaktionssystems TS. For a transaction with a transaction unit TE, it is not necessary for there to be a communication connection to the token reference register TRR of the transaction system TS. The transaction system TS is set up to carry out a transaction offline, i.e. without a communication connection with the token reference register TRR. A corresponding registration of token T can therefore take place after a transfer of the token T to a transaction unit TE. The token reference register TRR is a unit of the transaction system TS and is either a central register or a central database of the transaction system TS or a decentralized register or a decentralized database (DLT) of the transaction system TS.
Erfindungsgemäß ist vorgesehen, die Gültigkeit eines Tokens T einfach prüfen zu lassen. Dazu wird eine Gültigkeitsanfrage GA von der Transaktionseinheit TE erstellt. Die Gültigkeitsanfrage GA umfasst die Tokenreferenz TR des Tokens T, dessen Gültigkeit geprüft werden soll. Die Gültigkeitsanfrage GA umfasst auch eine Modifikationsangabe zu einer oder mehrerer Modifikationen an dem Token T. According to the invention, the validity of a token T can be easily checked. For this purpose, a validity request GA is created by the transaction unit TE. The validity request GA includes the token reference TR of the token T, the validity of which is to be checked. The validity request GA also includes modification information about one or more modifications to the token T.
Eine Tokenreferenz TR kann zusammen mit einer Modifikationsangabe als Gültigkeitsanfrage GA bezüglich des Tokens T an das Tokenreferenz -Register TRR gesendet werden. A token reference TR can be sent to the token reference register TRR together with a modification information as a validity request GA regarding the token T.
Zusätzlich - wie in Fig. 1 angedeutet - kann die Gültigkeitsanfrage GA mit dem privaten Teil r des tokenindividuellen Schlüsselpaars signiert werden. Das Signieren ermöglicht es, zu verifizieren, ob der Sender der Tokenreferenz TR im Besitz des Tokens T war, wodurch die Sicherheit im Transaktionssystem TS weiter erhöht ist. Additionally - as indicated in Fig. 1 - the validity request GA can be signed with the private part r of the token-specific key pair. Signing makes it possible to verify whether the sender of the token reference TR was in possession of the token T, which further increases security in the transaction system TS.
Eine Gültigkeitsanfrage GA kann an das Tokenreferenz -Register TRR gesendet werden, um zu prüfen, ob der Token T gültig ist. Im Tokenreferenz-Register TRR wird diese Gültigkeitsanfrage GA empfangen. Nach Prüfung der Gültigkeitsanfrage GA durch das Tokenreferenz -Register TRR (bzw. dessen Verifikationseinheit2) wird der Transaktionseinheit TE mitgeteilt, ob der Token T gültig ist oder nicht. A validity request GA can be sent to the token reference register TRR to check whether the token T is valid. This validity request GA is received in the token reference register TRR. After checking the validity request GA by the token reference register TRR (or its verification unit2), the transaction unit TE is informed whether the token T is valid or not.
Eine Gültigkeitsanfrage GA ist bevorzugt mit dem privaten Teil r signiert. Durch die Signatur kann eine syntaktische Echtheit des Kommandos durch den Empfänger (TRR oder TE) einfach geprüft werden. Diese Prüfung erfolgt bevorzugt in der Datenbank 1 oder der Verifizier-Einheit 2. Zudem kann eine Gültigkeitsanfrage GA beispielsweise syntaktisch validiert werden durch Prüfen der Signatur und/oder der Tokenreferenz TR. A validity request GA is preferably signed with the private part r. The signature allows the syntactic authenticity of the command to be easily checked by the recipient (TRR or TE). This check is preferably carried out in the database 1 or the verification unit 2. In addition, a validity query GA can, for example, be syntactically validated by checking the signature and/or the token reference TR.
Auch wenn eine Signatur in einer Transaktionseinheit TE geprüft werden kann, so wird damit nicht sichergestellt, dass keine Mehrfachausgabe des gleichen Tokens T versucht wurde. Daher ist das Registrieren im Tokenreferenz -Register TRR vorgesehen. Zudem wird durch die Transaktionseinheiten TE eine sichere Hardwareplattform vorgehalten. Mit verfügbarer Verbindung zum Tokenreferenz-Register TRR werden die Tokenreferenzen TR übertragen und im Tokenreferenz-Register TRR kann der Mehrfachausgabe-Versuch entdeckt werden. Wenn eine Tokenreferenz TR im Tokenreferenz -Register TRR noch nicht bekannt ist, wird sie hinzugefügt (gespeichert). Even if a signature can be checked in a transaction unit TE, this does not ensure that multiple issuance of the same token T has not been attempted. Therefore, registration in the token reference register TRR is intended. In addition, the TE transaction units provide a secure hardware platform. With an available connection to the token reference register TRR, the token references TR are transmitted and the multiple issuance attempt can be detected in the token reference register TRR. If a token reference TR is not yet known in the token reference register TRR, it is added (saved).
In dem Tokenreferenz -Register TRR kann zudem auch eine Archivierungseinheit vorgehalten sein (nicht dargestellt in Fig. 1). In dieser Archivierungseinheit werden Registrieranfragen RA und/oder Gültigkeitsanfragen und/oder nicht mehr gültige Tokenreferenzen abgespeichert. An archiving unit can also be kept in the token reference register TRR (not shown in FIG. 1). Registration requests RA and/or validity requests and/or token references that are no longer valid are stored in this archiving unit.
Als Kommandos KO können beispielsweise folgende Modifikationen an einem vorhandenen Token T vorliegen: beispielsweise „Umschalten (=Switch)“, „Aufteilen (=Split)“ oder „Verbinden (=Merge)“. Kommandos KO, die dem Tokenherausgeber vorbehalten sind, können auch das Erzeugen (=Create) eines Tokens T oder das Löschen (Destroy) eines vorhandenen Token T betreffen. In der Theorie war ferner auch ein anderer Kommandotyp zum Prüfen der Gültigkeit eines unmodifizierten Tokens T in dem TRR bekannt. In der folgenden Tabelle sind beispielhaft Kommandocodierungen angegeben (0x01 bis 0x05). Die hier gezeigte Codierung und auch die in den Figuren verwendete Reihenfolge der Datenelemente in der MA ist austauschbar bzw. nur beispielhaft.
Figure imgf000033_0001
For example, the following modifications to an existing token T can be present as commands KO: for example “Switch”, “Split” or “Merge”. Commands KO, which are reserved for the token issuer, can also affect the creation (=Create) of a token T or the deletion (Destroy) of an existing token T. In theory, another type of command for checking the validity of an unmodified token T in the TRR was also known. The following table shows example command encodings (0x01 to 0x05). The coding shown here and also the order of the data elements in the MA used in the figures is interchangeable or only an example.
Figure imgf000033_0001
In der folgenden Tabelle sind Beispiele für eine denkbare Signatursyntax angegeben. Dabei werden pro Kommando Eingangs-Token T und Eingangstokenreferenzen TR angegeben („verbraucht“). Dabei werden pro Kommando Ausgangs-Token T und Ausgangstokenreferenzen TR angegeben („generiert“).
Figure imgf000034_0001
The following table shows examples of possible signature syntax. Input token T and input token references TR are specified (“used”) for each command. Output token T and output token references TR are specified (“generated”) for each command.
Figure imgf000034_0001
Eine Modifikationsangabe (beispielsweise einer Registrierungsanfrage RA oder einer Gültigkeitsanfrage GA) hat die grundlegende Struktur aus den folgenden drei Elementen: Kommandotyp, Eingangstokenreferenz(en), Ausgangstokenreferenz(en) . A modification statement (e.g. a registration request RA or a validity request GA) has the basic structure of the following three elements: command type, input token reference(s), output token reference(s).
Jedes Kommando KO hat eine teilweise charakteristische Anzahl (eine oder mehrere) von Eingangs-Tokenreferenz(en) („Eingänge“) und Ausgangs-Tokenreferenz(en) („Ausgänge“). Ein Umschalten beispielsweise hat vorzugsweise genau eine Eingangs-Tokenreferenz und genau eine Ausgangstokenreferenz. Ein Aufteilen hat genau einen (oder mehrere) Eingangs- Tokenreferenz und zumindest zwei (oder mehr) Ausgangstokenreferenz. Ein Verbinden hat zumindest zwei (oder mehr) Eingangs-Tokenreferenzen und genau eine (oder mehrere) Ausgangstokenreferenz(en) . Each command KO has a partially characteristic number (one or more) of input token reference(s) (“inputs”) and output token reference(s) (“outputs”). A switch, for example, preferably has exactly one input token reference and exactly one output token reference. A split has exactly one (or more) input token reference and at least two (or more) output token references. A connect has at least two (or more) input token references and exactly one (or more) output token reference(s).
In Fig. 6 ist eine weitere Ausgestaltung eines Tokenreferenz -Registers TRR eines Transaktionssystems TS gezeigt. Hierbei ist angedeutet, dass mehrere Speichereinheiten 1 im Tokenreferenz-Register TRR vorgehalten sein können, um ein Ab speichern einer 6 shows a further embodiment of a token reference register TRR of a transaction system TS. It is indicated here that several storage units 1 can be kept in the token reference register TRR in order to save one
In Fig. 6 ist eine weitere Ausgestaltung eines Tokenreferenz -Registers TRR eines Transaktionssystems TS gezeigt. Hierbei ist angedeutet, dass mehrere Speichereinheiten 1 im Tokenreferenz-Register TRR vorgehalten sein können, um ein Abspeichern einer Vielzahl von Tokenreferenzen TR zu beschleunigen. Hierbei ist zudem angedeutet, dass mehrere Verifiziereinheiten 2 im Tokenreferenz-Register TRR vorgehalten sein können, um eine Verifizierung von Gültigkeitsanfragen GA und/oder Registrieranfragen RA zu beschleunigen. Zudem ist eine Transaktionseinheit einer Bank TEB dargestellt, die als Schnittstelle zwischen dem Transaktionssystem TS und einem Buchgeldsystem (Kreditvergabe, Kontenmanagement) dienen kann. Es kann Transaktionseinheiten TE ermöglichen, Token T des Transaktionssystems TS in ein anderes Transaktionssystem TS zu überführen. Diese Überführung ist bidirektional möglich. Der Tokenherausgeber TH, ist für die Generierung von Token T und auch das Löschen von Token T im TS allein verantwortlich. 6 shows a further embodiment of a token reference register TRR of a transaction system TS. It is indicated here that several storage units 1 can be kept in the token reference register TRR in order to accelerate the storage of a large number of token references TR. It is also indicated here that several verification units 2 can be kept in the token reference register TRR in order to accelerate verification of validity requests GA and/or registration requests RA. In addition, a transaction unit from a bank TEB is shown, which can serve as an interface between the transaction system TS and a bookkeeping system (lending, account management). It can enable transaction units TE to transfer tokens T of the transaction system TS into another transaction system TS. This transfer is possible bidirectionally. The token issuer, TH, is solely responsible for generating token T and also deleting token T in the TS.
Zudem zeigt Fig. 6 eine Registrierungsanfrage-Einheit RAE, die von einer Transaktionseinheit TE1 eine Gültigkeitsanfrage GA (und/oder RA) erhalten kann und die GA (und/oder RA) an das TRR weiterleitet. 6 also shows a registration request unit RAE, which can receive a validity request GA (and/or RA) from a transaction unit TE1 and forwards the GA (and/or RA) to the TRR.
Das TRR enthält ferner eine Archiveinheit 5, in welcher bereits ausgeführte RA und/oder GA und/oder nicht mehr gültige Tokenreferenzen, insbesondere als verketteter Graph, gespeichert sind. The TRR also contains an archive unit 5 in which RA and/or GA that have already been executed and/or token references that are no longer valid are stored, in particular as a linked graph.
Transaktionseinheiten TE können ihre RA und/oder GA über eine erste Schnittstelle 3 des TRR an das TRR senden. Nur der Tokenherausgeber TH darf dagegen über die zweite Schnittstelle 4 des TRR Kommandos an das TRR senden. Transaction units TE can send their RA and/or GA to the TRR via a first interface 3 of the TRR. However, only the token issuer TH is allowed to send commands to the TRR via the second interface 4 of the TRR.
Es kann von Vorteil sein, wenn pro Transaktionseinheit TE (hier als ein sicheres Element, bspw. Smart Card oder TEE) nur ein (oder wenige) Token T verwendet wird. Das bedeutet, dass das TE einen erhaltenen Token T mit dem im Tokenspeicher abgelegten Token T verbindet (MERGE). Das bedeutet auch, dass das TE einen zu versendenden Token T von dem im Tokenspeicher abgelegten Token T abteilt (SPLIT). Diese Modifikationen am Token T können ohne Registrieranfrage RA oder Gültigkeitsanfrage GA durchgeführt werden und der Token T kann nach einer Modifikation sofort weitergegeben werden. Es kann also zu einer Folge von Modifikationen am Token T kommen, die dem TRR nicht bekannt sind. Typischerweise besteht die Folge von Modifikationsangaben MA aus einer Kombination von SPLIT und MERGE Modifikationen. Jede dieser Modifikationen wird auch als „Proof‘ (siehe oben zur Fig. 1) bezeichnet bzw. als, vorzugsweise signierte, Modifikationsangabe MA mit dem Token T abgespeichert. Damit entsteht in der TE1 zu dem Token T die Folge von Modifikationsangaben MApbzw. MAi, MA2, ... MAX. It can be advantageous if only one (or a few) token T is used per transaction unit TE (here as a secure element, e.g. smart card or TEE). This means that the TE connects a received token T with the token T stored in the token storage (MERGE). This also means that the TE splits a token T to be sent from the token T stored in the token memory (SPLIT). These modifications to the token T can be carried out without a registration request RA or a validity request GA and the token T can be passed on immediately after a modification. There may therefore be a sequence of modifications to token T that are not known to the TRR. Typically, the sequence of modification statements MA consists of a combination of SPLIT and MERGE modifications. Each of these modifications is also referred to as a “proof” (see above for FIG. 1) or is stored as, preferably signed, modification information MA with the token T. This creates the sequence of modification information MAp or. in the TE1 for the token T. MAi, MA2, ... MA
Erfmdungsgemäß ist nun eine Gültigkeitsanfrage GA vorgesehen, um einen Token auf Gültigkeit zu prüfen. Das Endgerät erhält dazu die GA und/oder die MA bzw. MAF. Alternativ oder zusätzlich kann zwischen dem TE und dem TRR auch eine Registrieranfrage-Einheit RAE als Vermittlungsinstanz vorgesehen sein, siehe Fig. 6. Die RAE erhält sodann die GA und/oder die MA bzw. MAF vom TE oder dem Endgerät. An das TRR wird eine GA gesendet. According to the invention, a validity query GA is now provided to check a token for validity. The terminal device receives the GA and/or the MA or MAF. Alternatively or additionally, a registration request unit RAE can also be provided as a switching entity between the TE and the TRR, see Fig. 6. The RAE then receives the GA and/or the MA or MAF from the TE or the terminal. A GA is sent to the TRR.
Das Endgerät (nicht gezeigt in Fig. 6) oder die RAE versucht, die GA an das TRR zu übermitteln. Das bedeutet, dass das Endgerät oder die RAE nur eine Protokollübersetzung, beispielsweise von APDU zwischen Endgerät/RAE und TE zu HTTP(S), vornimmt. GA und/oder die MA bzw. MAF werden weder vom Endgerät noch von der RAE ausgewertet oder interpretiert. Die Reihenfolge der Modifikationsangaben in einer GA einer Folge MAF wird durch das Endgerät oder die RAE nicht verändert. Eine Gültigkeitsbestätigung GB (oder eine Registrierbestätigung RB) des TRR wird dann vom Endgerät und/oder der RAE an das TE übertragen. Jede GA und/oder die MA bzw. MAF kann mit dem privaten Teil r (der Zufallszahl r) des relevanten tokenindividuellen Schlüsselpaars signiert sein. Daher werden die Modifikationsangaben MA, die in der TE (im Tokenspeicher) abgelegt sind, teils auch als Proof bezeichnet. The terminal (not shown in Figure 6) or the RAE attempts to transmit the GA to the TRR. This means that the end device or the RAE only carries out a protocol translation, for example from APDU between end device/RAE and TE to HTTP(S). GA and/or the MA or MAF are neither evaluated nor interpreted by the end device nor by the RAE. The order of the modification information in a GA of a sequence MAF is not changed by the terminal or the RAE. A validity confirmation GB (or a registration confirmation RB) of the TRR is then transmitted from the terminal and/or the RAE to the TE. Each GA and/or the MA or MAF can be signed with the private part r (the random number r) of the relevant token-specific key pair. Therefore, the modification information MA, which is stored in the TE (in the token memory), is sometimes also referred to as a proof.
Die Verifiziereinheit 2 des TRR prüft die Gültigkeit, insbesondere mit einem Verfahren nach Fig. 3b bis 5c. Eine GB wird an das sichere Element bzw. die TE (ggf. über die RAE oder das Endgerät) zurückgesendet. The verification unit 2 of the TRR checks the validity, in particular using a method according to FIGS. 3b to 5c. A GB is sent back to the secure element or the TE (possibly via the RAE or the end device).
Angenommen, eine TE1 hat beispielsweise folgende Modifikationssequenz an einem Token A durchgeführt: For example, assume a TE1 has performed the following modification sequence on a token A:
Split: A - B, C (Token A wird in Token B und C aufgeteilt) Split: A - B, C (Token A is split into Tokens B and C)
Switch: C - D (Token C wurde auf Token D umgeschaltet) Switch: C - D (Token C switched to Token D)
Der Token D wird mit den beiden Modifikationen (Proofs) „Split“ und „Switch“ an TE2 übertragen. TE2 führt zudem durch: The token D is transferred to TE2 with the two modifications (proofs) “Split” and “Switch”. TE2 also carries out:
Merge: D, E - F (Token D und E werden zum Token F verbunden) Merge: D, E - F (tokens D and E are merged to form token F)
Gültigkeitsprüfung des Token F: Es soll nur der Token F auf Gültigkeit geprüft werden. Dazu wird eine GA generiert und die Tokenreferenz des Token F (als Prüfungsvorgabe) zusammen mit den Modifikationsangaben MA bestehend aus den drei Modifikationen (Proofs) „Split“, „Switch“ und „Merge“ von der TE2 an das TRR als GA gesendet. Die Ausgangstokenreferenz TRB der ersten MA der GAs ist gemäß der GA, die nur den Token F mittels seiner Tokenreferenz als zu prüfenden Token angibt, ist nicht zu prüfen bzw. wird vom TRR nicht auf Gültigkeit geprüft. In diesem Fallbeispiel werden die ersten beiden Modifikationsangaben der GA nur optional ausgeführt, beispielsweise falls TE1 (oder eine andere TE) noch keine RA oder GA mit diesen beiden MA an das TRR gesendet hat. Validity check of token F: Only token F should be checked for validity. For this purpose, a GA is generated and the token reference of the token F (as a checking specification) together with the modification information MA consisting of the three modifications (proofs) “Split”, “Switch” and “Merge” are sent from the TE2 to the TRR as a GA. According to the GA, which only specifies the token F as the token to be checked using its token reference, the output token reference TRB of the first MA of the GAs is not to be checked or is not checked for validity by the TRR. In this case example, the first two modification details of the GA are only carried out optionally, for example if TE1 (or another TE) has not yet sent an RA or GA with these two MA to the TRR.
Die GB kann des TRR kann optional in Form einer Statusmeldung zurückgegeben werden, die auch zusätzliche Informationen kodiert, beispielsweise: The GB can of the TRR can optionally be returned in the form of a status message that also encodes additional information, for example:
200: Token ist gültig, alle Modifikationen der Modifikationsangabe konnten aufgelöst werden 200: Token is valid, all modifications of the modification information could be resolved
400: Token ist gültig, einige Modifikationen der Modifikationsangabe konnten nicht aufgelöst werden 500: Interner Fehler 400: Token is valid, some modifications of the modification information could not be resolved 500: Internal error
600: Token ist ungültig. 600: Token is invalid.
An eine solche Statusmeldung kann/können die kryptographische Bestätigungen, also insbesondere Signaturen, der TRR angehängt sein. Die GB kann oder die gültigen TR können mit einem privaten Schlüssel pKey RR eines Schlüsselpaars der Verifiziereinheit 2 signiert werden. The cryptographic confirmations, in particular signatures, of the TRR can be attached to such a status message. The GB can or the valid TR can be signed with a private key pKey RR of a key pair of the verification unit 2.
BEZUGSZEICHENLISTE REFERENCE SYMBOL LIST
PKey H öffentlicher Teil des Tokenherausgeber-Schlüsselpaars pKey H privater Teil des Tokenherausgeber-Schlüsselpaars PKey H public part of the token issuer key pair pKey H private part of the token issuer key pair
PKey RR öffentlicher Teil des Verifiziereinheiten-Schlüsselpaars pKey RR privater Teil des Verifiziereinheiten-Schlüsselpaars PKey RR public part of the verification unit key pair pKey RR private part of the verification unit key pair
R öffentlicher Teil des tokenindividuellen Schlüsselpaars r privater Teil des tokenindividuellen Schlüsselpaars R public part of the token-specific key pair r private part of the token-specific key pair
GA Gültigkeitsanfrage GA validity request
GAsig T Gültigkeitsanfrage signiert mit privatem Teil des tokenindividuellenGAsig T validity request signed with private part of the token individual
Schlüsselpaars key pair
GB Gültigkeitsbestätigung GB validity confirmation
UGB Ungültigkeitsbestätigung UGB confirmation of invalidity
GB sig TRR Gültigkeitsbestätigung signiert mit privatem Teil des Tokenreferenzregister-GB sig TRR validation signed with private part of the token reference register
Schlüsselpaars key pair
RA Registrieranfrage RA registration request
RAsig T Registrieranfrage signiert mit privatem Teil des tokenindividuellen SchlüsselpaarsRAsig T registration request signed with private part of the token-specific key pair
RAsig TH Registrieranfrage signiert mit privatem Teil des Tokenherausgeber-SchlüsselpaarsRAsig TH registration request signed with private part of the token issuer key pair
MA Modifikationsangabe MA modification information
RAE Registrieranfrage-Einheit RAE Registration Request Unit
RB Registrierantwort, Registrierbestätigung RB registration response, registration confirmation
T Token T tokens
TE Transaktionseinheit TE transaction unit
TEB Transaktionseinheit Bank TEB transaction unit bank
TE- S chi cht Di r ekttr an s akti on s s chi cht TE layer Direct action layer
TRR-Schicht Registerschicht TRR layer register layer
TH Tokenherausgeber TH token issuer
TRX Tokenreferenz der GA TR X token reference of the GA
TRE Eingangstokenreferenz TRE input token reference
TRA Ausgangstokenreferenz TRA output token reference
KO Kommando, Modifikationskommando KO command, modification command
TRR Tokenreferenz-Register TRR token reference register
TS Transaktionssystem v, TW Token wert a-h Indizes für verschiedene Token und Tokenreferenzen TS transaction system v, TW token value a-h indices for various tokens and token references
S Gesamt-Tokenwert des Transaktionssystems S Total token value of the transaction system
1 Datenbank, Speichereinheit 1 database, storage unit
2 Verifiziereinheit 2 verification unit
11-19 Verfahrensschritte im Stand der Technik 11-19 Process steps in the prior art
3 Teilnehmerschnittstelle / MA-Empfangseinheit 3 Subscriber interface / MA receiving unit
4 Herausgeberschnittstelle / Neuregistriereinheit 4 Publisher interface / re-registration unit
5 MA-Archivierungseinheit 5 MA archiving unit
6 Gesamtsummenprüfeinheit 30 Gültigkeitsanfrage 6 total sum checking unit 30 Validity Request
31 Modifikationsangabe 31 Modification information
32 Signatur der Modifikationsangabe32 Signature of the modification statement
33,43,53 Prüfungsangabe 33,43,53 Test information
40 Gültigkeitsanfrage für Stapel von MA 40 Validity request for batch of MA
50 Gültigkeitsanfrage für Folge von MA 50 Validity request for sequence of MA
101 Empfangen GA 101 Receive GA
102 Prüfen ob TRA gespeichert 102 Check whether TRA is saved
103 Prüfen ob TRE gespeichert 103 Check whether TRE is saved
104 MA auf Fehler prüfen Check 104 MA for errors
105 Speichern TRA 105 Save TRA
106 Erstellen Signatur 106 Create signature
108 Senden Gültigkeitsbestätigung 108 Send confirmation of validity
109 Senden Ungültigkeitsbestätigung 109 Send invalidity confirmation
141,142 Bearbeitungs-Schleife für MAi 141,142 Edit loop for MAi
146 Ungültigkeit für TRA merken 146 Note invalidity for TRA
107 Prüfen ob Gesamtgültigkeit festgestellt 107 Check whether overall validity has been established
147 Prüfen ob Teilgültigkeit festgestellt 147 Check whether partial validity has been determined
148 Senden Teilgültigkeitsbestätigung 148 Send partial validity confirmation
151 Prüfen ob ein TRAÜ gespeichert 151 Check whether a TRAÜ is saved
152 Signieren des TRAÜ 152 Signing the TRAÜ
153a, 153b, 153c Bearbeitungs-Schleife für für MAi153a, 153b, 153c Editing loop for MAi
155 Selektives Speichern für TRA der MA-Folge155 Selective storage for TRA of the MA sequence
164a Verifzieren der MA-Folge 164a Verify the MA sequence
164b Prüfen ob Folge verifiziert 164b Check whether sequence is verified
165 Selektives Speichern für TRA der MA-Folge 165 Selective storage for TRA of the MA sequence

Claims

Patentansprüche Patent claims
1. Sicheres Element eines elektronischen Transaktionssystems (TS), wobei das sichere Element einen Tokenspeicher für Token (T) des Transaktionssystems (TS) aufweist; wobei das sichere Element als Transaktionseinheit (TE) eingerichtet ist, um Token (T) des Transaktionssystems direkt mit einer anderen Transaktionseinheit (TE) des Transaktionssystems (TS) auszutauschen; wobei jedem Token (T) des Transaktionssystems eine Tokenreferenz (TR) eindeutig zugeordnet ist, welche in einem Tokenreferenz -Register (TRR) des Transaktionssystems registrierbar ist; wobei das sichere Element eingerichtet ist, um ausgehend von mindestens einem Eingangstoken (TE) mindestens einen Ausgangstoken (TA) und dessen Ausgangs-Tokenreferenz (TRA) ZU erzeugen; wobei das sichere Element mindestens eine Modifikationsangabe (MA), welche mindestens eine Eingangs-Tokenreferenz (TRE), ein Kommando (KO) und mindestens eine Ausgangs- Tokenreferenz (TRA) umfasst, für das Tokenreferenz -Register (TRR) bereitstellt, dadurch gekennzeichnet, dass das sichere Element eingerichtet ist, die mindestens eine Modifikationsangabe (MA) als Gültigkeitsanfrage (GA) bereit zu stellen, und das sichere Element eingerichtet ist, eine Gültigkeitsbestätigung für zumindest eine auf Gültigkeit zu prüfende Ausgangs-Tokenreferenz (TRAIJ) der Gültigkeitsanfrage (GA) zu empfangen. 1. Secure element of an electronic transaction system (TS), the secure element having a token storage for tokens (T) of the transaction system (TS); wherein the secure element is set up as a transaction unit (TE) to exchange tokens (T) of the transaction system directly with another transaction unit (TE) of the transaction system (TS); wherein each token (T) of the transaction system is uniquely assigned a token reference (TR), which can be registered in a token reference register (TRR) of the transaction system; wherein the secure element is set up to generate at least one output token (TA) and its output token reference (TRA) based on at least one input token (TE); wherein the secure element provides at least one modification information (MA), which comprises at least one input token reference (TRE), one command (KO) and at least one output token reference (TRA), for the token reference register (TRR), characterized in that that the secure element is set up to provide the at least one modification information (MA) as a validity request (GA), and the secure element is set up to provide a validity confirmation for at least one output token reference (TRAIJ) of the validity request (GA) to be checked for validity. to recieve.
2. Sicheres Element nach Anspruch 1, dadurch gekennzeichnet, dass die Gültigkeitsanfrage die zumindest eine zu prüfende Ausgangs-Tokenreferenz (TRAIJ) und mindestens eine nicht zu prüfende Ausgangs-Tokenreferenz umfasst. 2. Secure element according to claim 1, characterized in that the validity request comprises the at least one output token reference (TRAIJ) to be checked and at least one output token reference not to be checked.
3. Sicheres Element nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die Gültigkeitsanfrage neben der Modifikationsangabe (MA) eine Prüfungsangabe (33;43;53) umfasst, welche die zumindest eine zu prüfende Ausgangs-Tokenreferenz (TRAIJ) angibt. 3. Secure element according to claim 1 or 2, characterized in that the validity request includes, in addition to the modification information (MA), a verification information (33; 43; 53) which specifies the at least one output token reference (TRAIJ) to be checked.
4. Sicheres Element nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass das sichere Element eingerichtet ist, um Modifikationsangaben entweder als Gültigkeitsanfrage (GA) oder als Registrieranfrage (RA) bereit zu stellen. 4. Secure element according to one of claims 1 to 3, characterized in that the secure element is set up to provide modification information either as a validity request (GA) or as a registration request (RA).
5. Sicheres Element nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass die Gültigkeitsbestätigung für jede zu prüfende Ausgangs-Tokenreferenz (TRAIJ) eine separate kryptographische Bestätigung umfasst, die vorzugsweise in dem sicheren Element gespeichert wird; oder die Gültigkeitsbestätigung für alle zu prüfenden Ausgangs-Tokenreferenzen (TRAij) eine gemeinsame kryptographische Bestätigung umfasst, die vorzugsweise in dem sicheren Element gespeichert wird. 5. Secure element according to one of claims 1 to 4, characterized in that the confirmation of validity is a separate one for each output token reference (TRAIJ) to be checked cryptographic confirmation, preferably stored in the secure element; or the confirmation of validity for all output token references to be checked (TRAij) comprises a common cryptographic confirmation, which is preferably stored in the secure element.
6. Sicheres Element nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass die Gültigkeitsanfrage mehrere Modifikationsangaben (MA) umfasst, insbesondere einen Stapel und/oder eine Folge von Modifikationsangaben umfasst. 6. Secure element according to one of claims 1 to 5, characterized in that the validity request comprises several modification details (MA), in particular a stack and / or a sequence of modification details.
7. Sicheres Element nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass das sichere Element ferner einen Prozessor, insbesondere zur Ausführung der Schritte als7. Secure element according to one of claims 1 to 6, characterized in that the secure element further comprises a processor, in particular for carrying out the steps as
Transaktionseinheit, und/oder eine Schnittstelle, insbesondere zu einem lokalen Endgerät, über welche die Gültigkeitsanfrage für das Tokenreferenz-Register (TRR) bereitgestellt wird, umfasst; und/oder Transaction unit, and/or an interface, in particular to a local terminal, via which the validity request for the token reference register (TRR) is provided; and or
Token (T) als Datenelemente einen Tokenwert (v) sowie einen geheimes Tokenelement (r) umfassen; und/oder Tokens (T) comprise as data elements a token value (v) and a secret token element (r); and or
Tokenreferenzen (TR) als Datenelemente einen Tokenwert (v) sowie ein öffentliches Tokenelement (R) umfassen. Token references (TR) include a token value (v) and a public token element (R) as data elements.
8. Verfahren zum Prüfen der Gültigkeit eines Tokens (T) eines sicheren elektronischen Transaktionssystems (TS), wobei jedem Token (T) des Transaktionssystems eine Tokenreferenz (TR) eindeutig zugeordnet ist, wobei ein Tokenreferenz-Register (TRR) des Transaktionssystems (TS) eine Verifikationseinheit (2) und eine Speichereinheit (1), in welcher die Tokenreferenzen (TR) gültiger Token (T) gespeichert sind, umfasst, mit den folgenden Verfahrensschritten in dem Tokenreferenz-Register (TRR): 8. Method for checking the validity of a token (T) of a secure electronic transaction system (TS), a token reference (TR) being uniquely assigned to each token (T) of the transaction system, a token reference register (TRR) of the transaction system (TS) a verification unit (2) and a storage unit (1), in which the token references (TR) of valid tokens (T) are stored, with the following method steps in the token reference register (TRR):
- Empfangen (101) einer Gültigkeitsanfrage (GA), die eine Modifikationsangabe (MA) mit mindestens einer Eingangs-Tokenreferenz (TRE), mindestens einer Ausgangs-Tokenreferenz (TRA) und einem Kommando (KO) umfasst; - Receiving (101) a validity request (GA), which includes a modification information (MA) with at least one input token reference (TRE), at least one output token reference (TRA) and a command (KO);
- Prüfen (102) mindestens einer auf Gültigkeit zu prüfenden Ausgangs-Tokenreferenz (TRAij) der Gültigkeitsanfrage (GA) darauf, ob sie in der Speichereinheit (1) gespeichert ist; und- Checking (102) at least one output token reference (TRAij) of the validity request (GA) to be checked for validity to see whether it is stored in the storage unit (1); and
- Senden (108) einer Gültigkeitsbestätigung (GB) für die mindestens eine zu prüfende Ausgangs-Tokenreferenz (TRAij); wobei die Gültigkeitsanfrage (GA) die nur optional zu bearbeitende Modifikationsangabe (MA; MAI) und/oder eine Prüfungsangabe (33 ;43 ;53) umfasst, welche die zumindest eine zu prüfende Ausgangs-Tokenreferenz (TRAij) angibt. - Sending (108) a confirmation of validity (GB) for the at least one output token reference (TRAij) to be checked; wherein the validity request (GA) includes the modification information (MA; MAI) that can only be processed optionally and/or a verification information (33; 43; 53) which specifies the at least one output token reference (TRAij) to be checked.
. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass die Verifikationseinheit (2) Modifikationsangaben (MA) mit einem oder mehreren der Teilschritte bearbeitet: . Method according to claim 8, characterized in that the verification unit (2) processes modification information (MA) with one or more of the sub-steps:
- Prüfen (103) ob die mindestens eine Eingangs-Tokenreferenz (TRE) in der Speichereinheit (1) gespeichert ist; - Check (103) whether the at least one input token reference (TRE) is stored in the storage unit (1);
- Verifizieren (104) der Modifikationsangabe (MA) durch die Verifikationseinheit (2), insbesondere einer Signatur in der Modifikationsanfrage (MA) und/oder einer Wertneutralität der Modifikationsangabe (MA) und/oder einer Syntax der Modifikationsangabe (MA); und/oder- Verifying (104) the modification information (MA) by the verification unit (2), in particular a signature in the modification request (MA) and/or a value neutrality of the modification information (MA) and/or a syntax of the modification information (MA); and or
- Ausfuhren des Kommandos (KO) durch Speichern (105) einer Ausgangs-Tokenreferenz in der Speichereinheit (1) und insbesondere durch Löschen einer Eingangs-Tokenreferenz in der Speichereinheit (1). - Executing the command (KO) by storing (105) an output token reference in the storage unit (1) and in particular by deleting an input token reference in the storage unit (1).
10. Verfahren nach Anspruch 8 oder 9, wobei die Gültigkeitsanfrage (GA) mindestens eine, vorzugsweise mehrere, nicht auf Gültigkeit zu prüfende Ausgangs-Tokenreferenz(en) (TRAII) umfasst; und/oder die Gültigkeitsbestätigung (GB) für jede zu prüfende Ausgangs- Tokenreferenz (TRAij) eine separate kryptographische Bestätigung umfasst. 10. The method according to claim 8 or 9, wherein the validity request (GA) comprises at least one, preferably several, output token reference (s) (TRAII) that cannot be checked for validity; and/or the validity confirmation (GB) comprises a separate cryptographic confirmation for each output token reference (TRAij) to be checked.
11. Verfahren nach einem der Ansprüche 8 bis 10, wobei die Gültigkeitsanfrage (GA) mehrere Modifikationsangaben (MAI, MA2, ... MAx) umfasst, wobei jede Modifikationsangabe (MA) eine oder mehrere Eingangs-Tokenreferenzen (TRE), eine oder mehrere Ausgangs-Tokenreferenzen (TRA) und ein Modifikationskommando (KO) umfasst, wobei die Modifikationsangaben vorzugsweise ein Stapel (40) von Modifikationsangaben und/oder eine Folge (50) von Modifikationsangaben (MA) sind, wobei insbesondere Stapel aus unabhängigen Modifikationsangaben (MA) bestehen bzw. Folgen mindestens teilweise voneinander abhängige Modifikationsangaben (MA) umfassen. 11. The method according to any one of claims 8 to 10, wherein the validity request (GA) comprises a plurality of modification information (MAI, MA2, ... MAx), each modification information (MA) containing one or more input token references (TRE), one or more Output token references (TRA) and a modification command (KO), wherein the modification information is preferably a stack (40) of modification information and / or a sequence (50) of modification information (MA), in particular stacks consisting of independent modification information (MA). or consequences include at least partially interdependent modification information (MA).
12. Das Verfahren nach einem der Ansprüche 8 bis 11, wobei die Verifikationseinheit (2) eine gemeinsame Speicherabfrage an die Speichereinheit (1) richtet für Ausgangs- Tokenreferenzen unterschiedlicher Modifikationsangaben und/oder für Ausgangs- Tokenreferenzen und Eingangs-Tokenreferenzen zumindest einer Modifikationsangabe (MA). 12. The method according to one of claims 8 to 11, wherein the verification unit (2) directs a common memory query to the storage unit (1) for output token references of different modification information and / or for output token references and input token references of at least one modification information (MA ).
13. Das Verfahren nach einem der Ansprüche 11 oder 12, wobei für den Stapel von Modifikationsangaben (MA) eine Teilgültigkeitsbestätigung (TGB) gesendet wird;und/oder für eine Folge von Modifikationsangaben zumindest eine Ausgangs-Tokenreferenz einer Modifikationsangabe (MA) nur intern zwischengespeichert wird und/oder erst nach Prüfung einer, mehrerer oder aller weiteren Modifikationsangaben (MA) der Folge in der Speichereinheit (1) gespeichert wird. 13. The method according to one of claims 11 or 12, wherein a partial validity confirmation (TGB) is sent for the batch of modification information (MA); and/or at least one output token reference of a modification information (MA) is only cached internally for a sequence of modification information and/or is only stored in the storage unit (1) after checking one, several or all further modification details (MA) of the sequence.
14. Das Verfahren nach einem der Ansprüche 8 bis 13, wobei das Tokenreferenz -Register (TRR) das Verfahren mit einer Transaktionseinheit TE oder dem sicheren Element nach einem der Ansprüche 1 bis 7 ausführt und/oder das Tokenreferenz -Register (TRR) ferner umfasst: 14. The method according to one of claims 8 to 13, wherein the token reference register (TRR) carries out the method with a transaction unit TE or the secure element according to one of claims 1 to 7 and / or the token reference register (TRR) further comprises :
- weitere Verifikationseinheiten (2) und/oder eine - further verification units (2) and/or one
- Archiveinheit (5), welche nicht mehr gültige Tokenreferenzen und/oder bereits ausgeführte Gültigkeitsanfragen (GA) und/oder Registrierungsanfragen (RA) speichert. - Archive unit (5), which stores no longer valid token references and/or validity requests (GA) and/or registration requests (RA) that have already been carried out.
15. Ein Tokenreferenz-Register (TRR) für ein Transaktionssystem (TS), eingerichtet zum Durchführen der Verfahrensschritte nach einem der vorhergehenden Ansprüche 8 bis 14, insbesondere mit einer Transaktionseinheit TE oder dem sicheren Element nach einem der Ansprüche 1 bis 7. 15. A token reference register (TRR) for a transaction system (TS), set up to carry out the method steps according to one of the preceding claims 8 to 14, in particular with a transaction unit TE or the secure element according to one of claims 1 to 7.
16. Das Tokenreferenz-Register (TRR) nach Anspruch 15, aufweisend: die Speichereinheit (1) zum Speichern von Tokenreferenzen (TR) zum Registrieren von Token (T) im Transaktionssystem (TS); eine Schnittstelle (3) eingerichtet zum Empfangen einer Gültigkeitsanfrage (GA); die zumindest eine Verifiziereinheit (2). 16. The token reference register (TRR) according to claim 15, comprising: the storage unit (1) for storing token references (TR) for registering tokens (T) in the transaction system (TS); an interface (3) set up to receive a validity request (GA); the at least one verification unit (2).
17. Ein Transaktionssystem (TS) aufweisend: eine Register schicht (TRR-Schicht) mit einem Tokenreferenz -Register (TRR) gemäß Ansprüchen 15 oder 16 zum Registrieren von Tokenreferenzen (TR); und eine Direkttransaktionsschicht (TE-Schicht) mit einer Vielzahl von Transaktionseinheiten (TE), einschließlich einem sicheren Element nach einem der Ansprüche 1 bis 7. 17. A transaction system (TS) comprising: a register layer (TRR layer) with a token reference register (TRR) according to claims 15 or 16 for registering token references (TR); and a direct transaction layer (TE layer) with a plurality of transaction units (TE), including a secure element according to one of claims 1 to 7.
PCT/DE2023/100487 2022-08-01 2023-06-28 Secure element, method for registering tokens, and token reference register WO2024027869A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102022002780.1A DE102022002780A1 (en) 2022-08-01 2022-08-01 SECURE ELEMENT, METHOD FOR REGISTERING TOKENS AND TOKEN REFERENCE REGISTER
DE102022002780.1 2022-08-01

Publications (1)

Publication Number Publication Date
WO2024027869A1 true WO2024027869A1 (en) 2024-02-08

Family

ID=87429466

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/DE2023/100487 WO2024027869A1 (en) 2022-08-01 2023-06-28 Secure element, method for registering tokens, and token reference register

Country Status (2)

Country Link
DE (1) DE102022002780A1 (en)
WO (1) WO2024027869A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009034436A1 (en) 2009-07-23 2011-01-27 Giesecke & Devrient Gmbh Method for payment of cash value amount in form of electronic money, involves transmitting signed data set to non-central instance by transmission of signed data set from central instance and receiving of signed data set
DE102009038645A1 (en) 2009-08-24 2011-03-24 Giesecke & Devrient Gmbh Method for transferring monetary amount in form of electronic record between two non-central entities, involves receiving private key of asymmetric key non central entity, and signing of record
CN108830586A (en) * 2012-04-01 2018-11-16 深圳市可秉资产管理合伙企业(有限合伙) Use the device and method of mobile device clearing payment
WO2020212337A1 (en) 2019-04-15 2020-10-22 Giesecke+Devrient Gmbh Method for directly transmitting electronic coin data sets between terminals and a payment system
WO2022016886A1 (en) * 2020-07-20 2022-01-27 华为技术有限公司 Transaction verification method and apparatus
DE102021004019A1 (en) * 2021-08-04 2023-02-09 Giesecke+Devrient Advance52 Gmbh PROCEDURE FOR REGISTERING TOKENS OF AN ELECTRONIC TRANSACTION SYSTEM

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1727102A1 (en) 1999-08-26 2006-11-29 MONEYCAT Ltd. Electronic currency, electronic wallet therefor and electronic payment systems employing them
DE102006017911B4 (en) 2006-04-18 2023-01-26 creditPass GmbH Electronic payment system and method for carrying out a payment transaction
EP3035270A1 (en) 2014-12-15 2016-06-22 Giesecke & Devrient GmbH Card-based offline token generation
US10423954B2 (en) 2015-01-26 2019-09-24 International Business Machines Corporation Resource account application management
DE102016106055A1 (en) 2016-04-03 2017-10-05 Achim Faßbender Alternative means of payment and payment methods
DE102018009949A1 (en) 2018-12-18 2020-06-18 Giesecke+Devrient Gesellschaft mit beschränkter Haftung Transmission method for the flexible transmission of specifically divisible electronic coin data sets
WO2022020609A1 (en) 2020-07-22 2022-01-27 ZUZLab, Inc. Method and system for defining, creating, managing, and transacting multiple classes of digital objects
DE102021004548A1 (en) 2021-09-08 2023-03-09 Giesecke+Devrient Advance52 Gmbh METHOD AND TRANSACTION SYSTEM FOR TRANSFERRING TOKENS IN AN ELECTRONIC TRANSACTION SYSTEM

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009034436A1 (en) 2009-07-23 2011-01-27 Giesecke & Devrient Gmbh Method for payment of cash value amount in form of electronic money, involves transmitting signed data set to non-central instance by transmission of signed data set from central instance and receiving of signed data set
DE102009038645A1 (en) 2009-08-24 2011-03-24 Giesecke & Devrient Gmbh Method for transferring monetary amount in form of electronic record between two non-central entities, involves receiving private key of asymmetric key non central entity, and signing of record
CN108830586A (en) * 2012-04-01 2018-11-16 深圳市可秉资产管理合伙企业(有限合伙) Use the device and method of mobile device clearing payment
WO2020212337A1 (en) 2019-04-15 2020-10-22 Giesecke+Devrient Gmbh Method for directly transmitting electronic coin data sets between terminals and a payment system
US20220215355A1 (en) * 2019-04-15 2022-07-07 Giesecke+Devrient Advance52 Gmbh Method for directly transmitting electronic coin data records between terminals and payment system
WO2022016886A1 (en) * 2020-07-20 2022-01-27 华为技术有限公司 Transaction verification method and apparatus
US20230177505A1 (en) * 2020-07-20 2023-06-08 Huawei Technologies Co., Ltd. Transaction Verification Method and Apparatus
DE102021004019A1 (en) * 2021-08-04 2023-02-09 Giesecke+Devrient Advance52 Gmbh PROCEDURE FOR REGISTERING TOKENS OF AN ELECTRONIC TRANSACTION SYSTEM

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ANONYMOUS: "Load balancing (computing) - Wikipedia, the free encyclopedia", 28 September 2012 (2012-09-28), XP055305779, Retrieved from the Internet <URL:https://en.wikipedia.org/w/index.php?title=Load_balancing_(computing)&oldid=515073473> [retrieved on 20160927] *

Also Published As

Publication number Publication date
DE102022002780A1 (en) 2024-02-01

Similar Documents

Publication Publication Date Title
EP3956845A1 (en) Device for directly transmitting electronic coin data records to another device, and payment system
WO2020212337A1 (en) Method for directly transmitting electronic coin data sets between terminals and a payment system
DE102018122997A1 (en) BLOCK CHAIN ENTITY, EXTERNAL CHAIN ENTITY, CERTIFICATION DEVICE FOR BLOCK CHAIN OPERATIONS AND METHOD FOR CARRYING OUT A COOPERATION BETWEEN A BLOCK CHAIN ENTITY AND AN EXTERNAL CHAIN ENTITY
EP4111348A1 (en) Method for directly transmitting electronic coin datasets between terminals, payment system, protection system, and monitoring unit
EP3743844B1 (en) Blockchain-based identity system
WO2023011761A1 (en) Secure element, method for registering tokens, and token reference register
WO2023036458A1 (en) Method and transaction system for transmitting tokens in an electronic transaction system
WO2024027869A1 (en) Secure element, method for registering tokens, and token reference register
DE102018009951A1 (en) Process for the direct exchange of a coin data record between security elements
DE102018009952A1 (en) Process for the direct exchange of a coin data record between security elements
EP4111399B1 (en) Method, terminal, monitoring entity, and payment system for managing electronic coin datasets
EP3125464B1 (en) Blocking service for a certificate created using an id token
EP1817752A2 (en) Method for personalising chip cards
WO2023011756A1 (en) Secure element, method for registering tokens, and token reference register
DE102020120945A1 (en) Method for communicating between a large number of charging stations for electric vehicles, based on distributed ledger technology
WO2024012624A1 (en) Method for securely generating a token which can be issued, method for securely destroying a token, and token issuer
DE102021002329A1 (en) METHOD OF REGISTERING AN ELECTRONIC COIN RECORD IN A COIN REGISTER; A COIN REGISTER; A SUBSCRIBER UNIT AND A COMPUTER PROGRAM PRODUCT
DE102018202676A1 (en) Method for authenticating a user
DE102020104902A1 (en) PROCEDURE FOR DIRECT TRANSFER OF ELECTRONIC COIN DATA RECORDS BETWEEN TERMINAL DEVICES, PAYMENT SYSTEM, CURRENCY AND MONITORING INSTANCE
DE102021004023A1 (en) PROCEDURE FOR DIRECT TOKEN TRANSFER
EP4111347A1 (en) Method for directly transmitting electronic coin datasets between terminals, payment system, protection system, and monitoring entity
DE102018206460A1 (en) Method and device for operating a digital payment system
WO2022008321A1 (en) Method, terminal, and coin register for transmitting electronic coin data sets
DE102009019050B4 (en) Method and data carrier for securing transaction data
DE102021106261A1 (en) Method for authorizing a first participant in a communication network, processing device, motor vehicle and infrastructure device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23744660

Country of ref document: EP

Kind code of ref document: A1