Information processing device, information processing method and program

The information processing device addresses the limitations of existing secure storage by applying one-way functions and consistency checks to digital currency data, enhancing security and integrity in transactions.

JP2025154407APending Publication Date: 2025-10-10NTT DATA JAPAN CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024057384
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-03-29
Publication Date
2025-10-10

AI Technical Summary

Technical Problem

Existing devices for secure information storage, such as those described in Patent Document 1, have limited storage capacity and inadequate protection mechanisms for token data like digital currency.

Method used

An information processing device that applies a one-way function to a list of correspondence information for digital currencies, storing the calculation result in a tamper-resistant area, and performs consistency checks before executing transactions to ensure data integrity and security.

Benefits of technology

Enhances the protection of token data like digital currency by ensuring consistency and integrity through tamper-resistant storage, thereby safeguarding against unauthorized access and tampering.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025154407000001_ABST
    Figure 2025154407000001_ABST
Patent Text Reader

Abstract

To provide an information processing device, an information processing method and a program capable of suitably protecting token data such as a digital currency.SOLUTION: An information processing device performs calculation by applying a one-way function about a list of correspondence information uniquely corresponding to a digital currency stored in a digital wallet, and stores its calculation result in a resistant area having resistance to analysis or alteration from the outside. Then, it determines consistency between a calculation result about the list of correspondence information of the digital currency stored in the digital wallet and the calculation result stored in the resistant region when a transaction is executed, and executes the transaction in the case of determining that there is the consistency.SELECTED DRAWING: Figure 6
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to an information processing device, an information processing method, and a program. [Background technology]

[0002] Conventionally, techniques for storing confidential information in a secure element have been proposed. For example, Patent Document 1 discloses a device that can achieve both reliable protection of secure information and convenience in access processing. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Publication No. 2020-112888 Summary of the Invention [Problem to be solved by the invention]

[0004] However, the device described in Patent Document 1 has a limited storage capacity, and there is room for improvement in terms of appropriately protecting token data such as digital currency.

[0005] The present invention has been made in consideration of the above-mentioned circumstances, and aims to provide an information processing device, an information processing method, and a program that can suitably protect token data such as digital currency. [Means for solving the problem]

[0006] In order to achieve the above object, an information processing device according to a first aspect of the present invention comprises: a calculation unit that performs calculations by applying a one-way function to a list of correspondence information that uniquely corresponds to digital currencies stored in the digital wallet; a storage unit that stores the calculation result by the calculation unit in a resistant area that is resistant to external analysis or tampering; a consistency determination unit that determines the consistency between the calculation result by the calculation unit for the list of correspondence information of the digital currency stored in the digital wallet at the time of executing the transaction and the calculation result stored in the storage unit; an execution unit that executes the transaction when the consistency determination unit determines that consistency exists; Equipped with.

[0007] When the consistency determination unit determines that there is consistency, the storage unit stores the calculation result by the calculation unit in the tolerance area, thereby updating the stored calculation result. This may be done.

[0008] a digital currency acquisition unit that acquires the digital currency and stores it in the digital wallet; when the digital currency acquisition unit acquires the digital currency, the calculation unit performs a calculation by applying the one-way function to the list of correspondence information of the digital currency stored in the digital wallet; The storage unit stores the calculation result by the calculation unit in the tolerance area. This may be done.

[0009] the execution unit executes the transaction to remit the digital currency stored in the digital wallet; the calculation unit performs a calculation by applying the one-way function to the list of correspondence information of the digital currency stored in the digital wallet after the transaction; The storage unit stores the calculation result by the calculation unit in the tolerance area. This may be done.

[0010] In order to achieve the above object, an information processing method according to a second aspect of the present invention comprises: An information processing method by an information processing device, a calculation step of applying a one-way function to a list of correspondence information that uniquely corresponds to the digital currency stored in the digital wallet; a storage step of storing the calculation result from the calculation step in a resistant area that is resistant to external analysis or tampering; a consistency determination step of determining consistency between the calculation result obtained by the calculation step for the list of correspondence information of the digital currency stored in the digital wallet at the time of execution of the transaction and the calculation result stored in the storage step; an execution step of executing the transaction when it is determined that there is consistency in the consistency determination step; Equipped with.

[0011] In order to achieve the above object, a program according to a third aspect of the present invention comprises: Computer, a calculation unit that performs calculations by applying a one-way function to a list of correspondence information that uniquely corresponds to the digital currency stored in the digital wallet; a storage unit that stores the calculation result by the calculation unit in a resistant area that is resistant to external analysis or tampering; a consistency determination unit that determines the consistency between the calculation result by the calculation unit on the list of correspondence information of the digital currency stored in the digital wallet at the time of execution of the transaction and the calculation result stored in the storage unit; an execution unit that executes the transaction when the consistency determination unit determines that consistency exists; Function as. [Effects of the Invention]

[0012] According to the present invention, token data such as digital currency can be protected in an appropriate manner. [Brief explanation of the drawings]

[0013] [Figure 1] FIG. 1 is a block diagram illustrating an example of an information processing system. [Figure 2] FIG. 1 is a block diagram illustrating an example of an information processing device. [Figure 3]FIG. 1 is an explanatory diagram showing an example of a wallet. [Figure 4] 10 is a flowchart illustrating an example of processing by the information processing system. [Figure 5] FIG. 10 is an explanatory diagram showing an example of a serial number list. [Figure 6] 10 is a flowchart illustrating an example of processing by the information processing device. [Figure 7] 1A and 1B are explanatory diagrams showing examples of wallets, where (A) is an example of a wallet for user A, and (B) is an example of a wallet for user B. [Figure 8] 1A and 1B are explanatory diagrams showing examples of serial number lists, where (A) is an example of a serial number list for user A, and (B) is an example of a serial number list for user B. FIG. DETAILED DESCRIPTION OF THE INVENTION

[0014] (Embodiment) An information processing device, an information processing method, and a program according to an embodiment of the present invention will be described in detail with reference to the drawings. The same or corresponding parts in the drawings are denoted by the same reference numerals. The following description will be given using an example in which the information processing device of the present invention is applied to an information processing system 1 shown in FIG.

[0015] In the information processing system 1, as shown in Fig. 1, an information processing device 100 of user A, an information processing device 100 of user B, and an issuing / intermediary agency terminal 200 are each connected to be able to communicate with each other via a network 210 such as the Internet. Note that there are multiple information processing devices 100 for each user, and there are multiple issuing / intermediary agency terminals 200 for each issuing / intermediary agency. Note that in this embodiment, the agency that issues the token is called the "issuing agency," and when the issuing agency does not provide the token directly to the user, the agency that acts as an intermediary between the issuing agency and the user is called the "intermediary agency."

[0016] 1, the information processing device 100 is an information terminal connected to a network 210. The information processing device 100 is an information terminal (so-called computer) such as a mobile phone, smartphone, tablet, or PC (Personal Computer) owned by a user, and is capable of transmitting and receiving various data to and from other information processing devices 100 and an issuing / intermediary agency terminal 200 via the network 210.

[0017] The issuing / intermediary institution terminal 200 is an information terminal such as a smartphone, tablet, server, or PC installed at the issuing / intermediary institution, and is capable of transmitting and receiving various data to and from the information processing device 100 via the network 210. The issuing / intermediary institution terminal 200 in this embodiment has a function of providing users with token data (tokens) such as digital currency. For example, if the token data (tokens) is a central bank-issued digital currency (CBDC), the issuing institution such as the Bank of Japan may issue the digital currency, similar to banknotes, and provide the digital currency to intermediary institutions such as commercial banks. Alternatively, the issuing institution may be able to provide the tokens directly to users.

[0018] Next, the configuration of the information processing device 100 will be described with reference to Fig. 2. As shown in Fig. 2, the information processing device 100 includes a storage unit 110, a control unit 120, an input / output unit 130, a communication unit 140, and a system bus (not shown) that interconnects these units.

[0019] The storage unit 110 includes a ROM (Read Only Memory), a RAM (Random Access Memory), and the like. The ROM stores a program 111 executed by the control unit 120, various data (not shown) required in advance for executing the program 111, and a wallet 112. The storage unit 110 also has a tamper-resistant area 113 that is resistant to external analysis or tampering of stored data (tamper resistance). The tamper-resistant area 113 is, for example, an IC chip used to manage confidential information. The tamper-resistant area 113 stores a private key 114 and a serial number list hash 115. The tamper-resistant area 113 corresponds to the resistant area.

[0020] The program 111 is a program that executes a token request process (see FIG. 4), a token remittance process, and a token receiving process (see FIG. 6), which will be described later, and is stored in the storage unit 110.

[0021] Wallet 112 is a digital wallet that can be operated by a user using private key 114. As shown in Fig. 3, token data (tokens) such as digital currency are stored in wallet 112. In the example shown in Fig. 3, two tokens are stored in wallet 112: one with a face value of 1,000 yen and the other with a face value of 10,000 yen.

[0022] The private key 114 is generated in pair with the corresponding public key when the wallet 112 is generated, and is stored in the storage unit 110. The private key 114 is stored in the tamper-resistant area 113, and is a private key required for operating the token data (token).

[0023] The serial number list hash 115 is a hash value of the serial number list, which is a list of serial numbers stored in the wallet 112 and assigned to the token data (tokens). Specifically, using the example shown in FIG. 3, the serial number of a token with a face value of 1,000 yen is "XXXXX," and the serial numbers of a token with a face value of 10,000 yen are "YYYYY" and "ZZZZZ," respectively. Therefore, the serial number list in the example shown in FIG. 3 includes "XXXXX," "YYYYY," and "ZZZZZ," as shown in FIG. 5. Therefore, the serial number list hash 115 corresponding to the serial number list shown in FIG. 5 is a hash value calculated based on the serial numbers "XXXXX," "YYYYY," and "ZZZZZ." The serial number is a unique and immutable number assigned to each token when the token is issued. The serial number list corresponds to a list of correspondence information that uniquely corresponds to a digital currency.

[0024] Returning to Fig. 2, the control unit 120 is configured with a CPU (Central Processing Unit), an ASIC (Application Specific Integrated Circuit), etc. The control unit 120 operates in accordance with a program 111 stored in the storage unit 110, and executes processing in accordance with the program 111. The control unit 120 includes a token acquisition unit 121, a serial number list generation unit 122, a hash calculation unit 123, a consistency verification unit 124, and a transaction execution unit 125 as main functional units provided by the program 111 stored in the storage unit 110.

[0025] The token acquisition unit 121 is a functional unit that makes a request to acquire token data (token) such as digital currency and acquires the token in response to the request. Specifically, the token acquisition unit 121 is a functional unit that has a function of sending a token acquisition request to the issuer / intermediary terminal 200 to request acquisition of a token, and a function of acquiring the token issued by the issuer / intermediary terminal 200, i.e., a function of storing the token in the wallet 112. Note that, for example, the token acquisition request includes a request to provide digital currency equivalent to cash in an account balance as a token, such as providing 1,000 yen in a user's account balance at the issuer / intermediary terminal that owns the issuer / intermediary terminal 200 as a token. In addition, the token acquisition request may include information such as identification information that identifies the user, information that specifies the account, and the amount. In addition, while this embodiment illustrates an example in which the token is provided by the issuer / intermediary terminal 200 of a financial institution, the token may also be provided by an issuer / intermediary terminal owned by, for example, a company or a government agency. In such a case, the token acquisition unit 121 simply transmits a token acquisition request to each terminal.

[0026] The serial number list generation unit 122 is a functional unit that generates a serial number list, which is a list of serial numbers assigned to token data (tokens) in the wallet 112. Specifically, as shown in Fig. 3, if a token with serial number "XXXXX," a token with serial number "YYYYY," and a token with serial number "ZZZZZ" are stored in the wallet 112, the serial number list generation unit 122 generates a serial number list including "XXXXX," "YYYYY," and "ZZZZZ," as shown in Fig. 5. The serial number list generated by the function of the serial number list generation unit 122 may be generated and discarded within the control unit 120 for each transaction.

[0027] The hash calculation unit 123 is a functional unit that calculates a hash value of the serial number list generated by the function of the serial number list generation unit 122. Specifically, if the serial number list generated by the function of the serial number list generation unit 122 is a serial number list including "XXXXX," "YYYYY," and "ZZZZZ," as shown in FIG. 5 , the hash calculation unit 123 calculates a hash value by using a hash function such as Hash([XXXXX, YYYYY, ZZZZZ]). The hash calculation unit 123 also has a function of storing the calculated hash value in the tamper-resistant area 113 as the serial number list hash 115. Note that, although this embodiment shows an example in which the hash calculation unit 123 calculates the hash value of the serial number list by using a hash function, a different function from the hash function may be used as long as it is an irreversible function, i.e., a one-way function. In this case, the calculation result may be stored in the tamper-resistant area 113.

[0028] The consistency checking unit 124 is a functional unit that checks the consistency of the token in the wallet 112 at the time of a transaction. Specifically, the consistency checking unit 124 checks the consistency of the token in the wallet 112 at the time of a transaction based on whether the hash value of the serial number list of the token in the wallet 112 at the time of the transaction matches the serial number list hash 115 stored in the tamper-resistant area 113. If a token is fraudulently copied or deleted, the function of the consistency checking unit 124 will result in an inconsistency between the hash value of the serial number list of the token in the wallet 112 at the time of the transaction and the serial number list hash 115 stored in the tamper-resistant area 113, and the transaction will not be possible.

[0029] The transaction execution unit 125 is a functional unit that executes a transaction instructed by a user. Specifically, the transaction execution unit 125 executes the transaction instructed by the user when consistency is confirmed by the function of the consistency confirmation unit 124.

[0030] The input / output unit 130 is a device that is configured with a keyboard, a mouse, a camera, a microphone, a liquid crystal display, an organic EL (Electro-Luminescence) display, and the like, and is used to input and output various types of data.

[0031] The communication unit 140 is a device that enables the information processing device 100 to communicate with other information terminals such as other information processing devices 100 and the issuing / intermediary agency terminal 200 via the network 210 .

[0032] The above is the configuration of the information processing device 100. Next, the operation of the information processing system 1 will be described. FIG. 4 is a flowchart showing an example of the processing of the information system. Note that the processing of the information system begins when an application is launched by a user's input operation on the information processing device 100, and an operation to execute a token request process is performed, thereby starting the token request process in the information processing device 100. In this example, the following description will be given taking as an example a case where user A requests the issuance of tokens worth 1,000 yen from the issuing / intermediary institution terminal 200 of commercial bank A. It is also assumed that user A's wallet 112 stores two tokens corresponding to 10,000 yen, with serial numbers "YYYYY" and "ZZZZZ," respectively. It is also assumed that the tokens provided to user A are issued by the token issuing bank and provided to commercial bank A.

[0033] When the token request process is started, the control unit 120 of the information processing device 100 uses the function of the token acquisition unit 121 to send a token acquisition request requesting the acquisition of a token to the issuer / intermediary institution terminal 200 (step S11). Specifically, in the process of step S11, the token acquisition unit 121 sends, for example, a token acquisition request indicating a request to issue 1,000 yen, the user's account balance at the issuer / intermediary institution, as a token, to the issuer / intermediary institution terminal 200.

[0034] When the issuer / intermediary terminal 200 receives a token acquisition request from the information processing device 100, it starts a token provision process. Once the token provision process is started, the issuer / intermediary terminal 200 provides the user with tokens for an amount corresponding to the received token acquisition request (step S12), and then ends the token provision process. Specifically, in the process of step S12, the issuer / intermediary terminal 200 deducts the amount (1,000 yen) indicated in the received token acquisition request from the user's account balance, and provides the corresponding amount of tokens (1,000 yen worth of tokens) to the user indicated in the token acquisition request. For example, the balance may be checked before issuing the token, and if the balance is insufficient, the process of step S12 may not be executed, and the user may be notified that the token could not be provided. In this example, the serial number of the 1,000 yen worth of token issued is assumed to be "XXXXX."

[0035] On the information processing device 100 side, when the token is received from the issuing / intermediary institution terminal 200, the control unit 120 uses the function of the token acquiring unit 121 to store the received token in the wallet 112 (step S13). Specifically, in the processing of step S13, the token acquiring unit 121 stores the 1000 yen token with serial number "XXXXX" received from the issuing / intermediary institution terminal 200 in user A's wallet 112. That is, when two 10000 yen tokens with serial numbers "YYYYY" and "ZZZZZ" are stored in user A's wallet 112, by executing the processing of step S13, as shown in FIG. 3 , the 1000 yen token with serial number "XXXXX" is stored in user A's wallet 112, and the token with serial number "XXXXX", the token with "YYYYY", and the token with serial number "ZZZZZ" are stored in the wallet 112. As shown in the figure, the token also includes information about the circulation history of the token since it was issued. In the example shown, the token with serial number "XXXXX" indicates that a token worth 1,000 yen with serial number "XXXXX" was issued by the issuing bank, provided by the issuing bank to commercial bank A, and then provided by commercial bank A to user A. The same is true for the token with "YYYYY" and the token with serial number "ZZZZZ". The token acquisition unit 121 that executes the processing of step S13 corresponds to the digital currency acquisition unit.

[0036] After executing the processing of step S13 shown in Fig. 4, the control unit 120 uses the function of the serial number list generation unit 122 to generate a serial number list that is a list of serial numbers assigned to tokens in the wallet 112 (step S14). In the processing of step S14, if a token with serial number "XXXXX," a token with serial number "YYYYY," and a token with serial number "ZZZZZ" are stored in the wallet 112 as shown in Fig. 3, the serial number list generation unit 122 generates a serial number list including "XXXXX," "YYYYY," and "ZZZZZ" as shown in Fig. 5.

[0037] 4, the control unit 120 calculates a hash value of the serial number list generated in the process of step S14 using the function of the hash calculation unit 123 (step S15). Specifically, in the process of step S15, the hash calculation unit 123 uses a hash function such as Hash([XXXXX, YYYYY, ZZZZZ]) to calculate a hash value of the serial number list generated in the process of step S14, including "XXXXX," "YYYYY," and "ZZZZZ" shown in FIG.

[0038] 4, the control unit 120 uses the function of the hash calculation unit 123 to store the hash value calculated in the process of step S15 in the tamper-resistant area 113 as the serial number list hash 115 (step S16), and terminates the token request process. By executing the process of step S16, the hash value of the latest serial number list of the token in the wallet 112 is stored in the tamper-resistant area 113.

[0039] Next, the operation of the information processing devices 100 of users A and B will be described using an example in which user A remits 1,000 yen worth of tokens with serial number "XXXXX" to user B. FIG. 6 is a flowchart showing an example of the processing of each information processing device. More specifically, FIG. 6 is a flowchart showing an example of a token remittance process and a token reception process. In this example, an application is launched by an input operation by user A, who is the remitter, into the information processing device 100, and an operation for remitting tokens is performed, thereby starting the token remittance process.

[0040] When the token remittance process is started, the control unit 120 of user A's information processing device 100 uses the function of the hash calculation unit 123 to calculate a hash value of the serial number list of tokens stored in user A's current wallet 112 (step S31). Specifically, in the process of step S31, the control unit 120 uses the function of the serial number list generation unit 122 to generate a serial number list that is a list of serial numbers assigned to tokens currently (immediately before remittance) in the wallet 112, similar to the process of step S14 shown in Fig. 4. Then, similar to the process of step S15, the control unit 120 uses the function of the hash calculation unit 123 to calculate a hash value of the generated serial number list. If a token with serial number "XXXXX," a token with serial number "YYYYY," and a token with serial number "ZZZZZ" are stored in wallet 112 immediately before remittance as shown in Fig. 3, the processing in step S31 generates a serial number list including "XXXXX," "YYYYY," and "ZZZZZ" shown in Fig. 5, and calculates a hash value of the serial number list including "XXXXX," "YYYYY," and "ZZZZZ" shown in Fig. 5 using a hash function such as Hash([XXXXX,YYYY,ZZZZZ]). Note that hash calculation unit 123 that executes the processing in step S31 and step S31 correspond to a calculation unit and a calculation step.

[0041] After executing the processing of step S31 shown in Fig. 6, the control unit 120 uses the function of the consistency checking unit 124 to check the consistency of the hash value calculated in the processing of step S31 (step S32). Specifically, in the processing of step S32, the consistency checking unit 124 checks the consistency by determining whether the hash value calculated in the processing of step S31 is the same as the serial number list hash 115 stored in the tamper-resistant area 113. Note that the serial number list hash 115 stored in the tamper-resistant area 113 is the hash value of the serial number list updated (calculated) at the time of the previous transaction, and is the hash value stored in the tamper-resistant area 113 in the processing of steps S43 and S40 (described later) or the hash value stored in the tamper-resistant area 113 in the processing of step S16 in Fig. 4. Note that the consistency checking unit 124 that executes the processing of step S32 and step S32 correspond to a consistency determination unit and a consistency determination step.

[0042] 6, the control unit 120 uses the function of the consistency checking unit 124 to determine the result of the consistency check performed in step S32 and determines whether or not there is consistency (step S33). If it is determined that there is no consistency in the process of step S33 (step S33; No), the control unit 120 displays an error using the function of the consistency checking unit 124 (step S34) and then terminates the token remittance process. Note that in the process of step S34, the consistency checking unit 124 notifies, for example, that there is no consistency between the hash value of the token serial number list in the wallet 112 and the serial number list hash 115 stored in the tamper-resistant area 113, i.e., that the token has been fraudulently copied or deleted, and then terminates the token remittance process.

[0043] On the other hand, if it is determined in the processing of step S33 that there is consistency (step S33; Yes), the control unit 120 performs remittance settings based on the input operation by the user (step S35). In the processing of step S35, the control unit 120 sets information specifying the remittance destination and the amount to be remitted based on the input operation by user A. Specifically, when remitting 1,000 yen worth of tokens with serial number "XXXXX" to user B, in the processing of step S35, the address of user B's wallet 112 is set as the remittance destination, and settings are made to remit 1,000 yen worth of tokens with serial number "XXXXX". Note that the processing of step S35 does not have to be performed at the relevant timing, and may be set, for example, by an input operation by user A when starting the application.

[0044] After executing the processing of step S35, the control unit 120 executes the remittance processing set in the processing of step S34 using the function of the transaction execution unit 125 (step S36). Specifically, in the processing of step S36, the transaction execution unit 125 executes processing to remit 1,000 yen worth of tokens with serial number "XXXXX" stored in user A's wallet 112 to user B's wallet 112. As a result, 1,000 yen worth of tokens with serial number "XXXXX" are remitted to user B, and the state of user A's wallet 112 transitions from the state shown in FIG. 3 to the state shown in FIG. 7(A), where the 1,000 yen worth of tokens with serial number "XXXXX" have been deleted. The transaction execution unit 125 that executes the processing of step S36 and step S36 correspond to an execution unit and an execution step.

[0045] When the tokens are transferred by the processing of step S36, the token receiving process is started in the information processing device 100 that receives the tokens. That is, the token receiving process is started in the information processing device 100 of user B. When the token receiving process is started, the control unit 120 of user B's information processing device 100 first stores the received tokens in the wallet 112 using the function of the token acquisition unit 121 (step S37). As a result, as shown in FIG. 7(B), tokens worth 1,000 yen with the serial number "XXXXX" are stored in user B's wallet 112.

[0046] After executing the processing of step S37 shown in Fig. 6, the control unit 120 uses the function of the serial number list generation unit 122 to generate a serial number list that is a list of serial numbers assigned to tokens in the wallet 112 (step S38), similar to the processing of step S14 in Fig. 4. Specifically, as shown in Fig. 7(B), if a token with serial number "XXXXX" is stored in the wallet 112, the serial number list generation unit 122 generates a serial number list for "XXXXX" in the processing of step S38, as shown in Fig. 8(B).

[0047] After executing the processing of step S38 shown in Fig. 6, the control unit 120 uses the function of the hash calculation unit 123 to calculate a hash value of the serial number list generated in the processing of step S38 (step S39), similar to the processing of step S15 shown in Fig. 4. Specifically, in the processing of step S39, the hash calculation unit 123 uses a hash function such as Hash([XXXXX]) to calculate a hash value of the serial number list of "XXXXX" generated in the processing of step S38.

[0048] 6, the control unit 120 uses the function of the hash calculation unit 123 to store the hash value calculated in the process of step S39 as the serial number list hash 115 in the tamper-resistant area 113 (step S40), and terminates the token receiving process. Execution of the process of step S40 causes the hash value of the latest serial number list of the token in the wallet 112 to be stored in the tamper-resistant area 113. In other words, the hash value of the serial number list of "XXXXX" is stored in the tamper-resistant area 113 of user B's information processing device 100. The hash calculation unit 123 that executes the process of step S40 and step S40 correspond to a storage unit and a storage step.

[0049] Meanwhile, on the side of user A's information processing device 100, after executing the processing of step S36, the control unit 120 uses the function of the serial number list generation unit 122 to generate a serial number list that is a list of serial numbers assigned to tokens in the wallet 112 (step S41), similar to the processing of step S14 in Fig. 4. Specifically, as shown in Fig. 7(A), if tokens with serial numbers "YYYYY" and "ZZZZZ" are stored in the wallet 112, the serial number list generation unit 122 generates a serial number list including "YYYYY" and "ZZZZZ" in the processing of step S41, as shown in Fig. 8(A).

[0050] After executing the process of step S41 shown in Fig. 6, the control unit 120 uses the function of the hash calculation unit 123 to calculate a hash value of the serial number list generated in the process of step S41 (step S42), similar to the process of step S15 shown in Fig. 4. Specifically, in the process of step S42, the hash calculation unit 123 uses a hash function such as Hash("YYYYY", "ZZZZZ") to calculate a hash value of the serial number list including "YYYYY" and "ZZZZZ" generated in the process of step S41.

[0051] 6, the control unit 120 uses the function of the hash calculation unit 123 to store the hash value calculated in the process of step S42 in the tamper-resistant area 113 as the serial number list hash 115 (step S43), and terminates the token remittance process. Execution of the process of step S43 causes the hash value of the latest serial number list of tokens in the wallet 112 to be stored in the tamper-resistant area 113. That is, the hash value of the serial number list including "YYYYY" and "ZZZZZ" is stored in the tamper-resistant area 113 of user A's information processing device 100. That is, the serial number list hash 115 is updated as a result of the transaction.

[0052] The above is the operation of the information processing system 1 in this embodiment. As described above, according to the information processing device 100 in this embodiment, the hash value of the latest list of serial numbers assigned to tokens is stored in the tamper-resistant area 113, rather than the tokens themselves stored in the wallet 112. Then, when a transaction is executed, the hash value of the serial number list of the tokens stored in the wallet 112 at the time of the transaction is calculated and its integrity is verified. Therefore, token data such as digital currency can be suitably protected while ensuring the storage capacity of the tamper-resistant area 113, which is a secure area.

[0053] Furthermore, according to the information processing device 100 of this embodiment, every time a transaction is executed, the hash value of the token serial number list stored in the wallet 112 is updated. This makes it possible to suitably protect token data such as digital currency.

[0054] (Variation) It should be noted that the present invention is not limited to the above-described embodiment, and various modifications and applications are possible. For example, the information processing device 100 according to the above-described embodiment does not need to have all of the technical features described above, but may have some of the configurations described in the above-described embodiment so as to solve at least one problem in the prior art. Furthermore, at least a portion of each of the following modifications may be combined.

[0055] In the above embodiment, an example has been shown in which a list (serial number list) of token serial numbers stored in wallet 112 in information processing device 100 is generated, and a hash value of the generated serial number list is stored in tamper-resistant area 113 as serial number list hash 115, but this is just one example. The object for calculating the hash value is not limited to the list of token serial numbers. Anything other than numbers may be used as long as it is a list of information that is assigned when a token is issued and is unique and immutable for each token.

[0056] Furthermore, in the above embodiment, an example has been given in which user A has tokens worth 1,000 yen with serial number "XXXXX" and remits the 1,000 yen tokens with serial number "XXXXX" to user B. However, other examples are also possible, for example, where user A has tokens worth 10,000 yen with serial number "YYYYY" and remits only 7,000 yen of the 10,000 yen tokens with serial number "YYYYY" to user B. In this case, for example, if user B has tokens worth 3,000 yen with serial number "PPPPP", user A remits the 10,000 yen tokens with serial number "YYYYY" to user B, and on the side of user B's information processing device 100, the token receiving process shown in FIG. 6 is performed followed by the token remittance process, whereby the 3,000 yen tokens with serial number "PPPPP" are remitted to user A.

[0057] In addition, in the above embodiment, an example in which user A transfers tokens to user B has been shown, but this is just one example. Token transfers are not limited to between users, and for example, tokens may be transferred from the user's information processing device 100 to a store terminal of a store to perform payment. That is, for example, when purchasing a product, the user may pay for the product by transferring tokens to the store.

[0058] The information processing device 100 and the issuing / intermediary agency terminal 200 according to the above-described embodiment can be realized using a normal computer, rather than using dedicated devices. For example, the information processing device 100 and the issuing / intermediary agency terminal 200 that execute the above-described processes may be configured by installing a program for executing any of the above-described processes on a computer from a recording medium that stores the program. Also, a single information processing device 100 or a single issuing / intermediary agency terminal 200 may be configured by multiple computers operating in cooperation with each other.

[0059] Furthermore, when the above-mentioned functions are realized by sharing the functions between an OS (Operating System) and an application, or by cooperation between the OS and the application, only the parts other than the OS may be stored on the medium.

[0060] It is also possible to superimpose the program on a carrier wave and distribute it via a communication network. For example, the program may be posted on a bulletin board system (BBS) on the communication network and distributed via the network. These programs may then be started and run under the control of an operating system in the same way as other application programs, thereby enabling the above-mentioned processing to be performed. [Explanation of symbols]

[0061] 1 Information processing system, 100 Information processing device, 110 Memory unit, 111, 311 Program, 112 Wallet, 113 Tamper-resistant area, 114 Private key, 115 Serial number list hash, 120 Control unit, 121 Token acquisition unit, 122 Serial number list generation unit, 123 Hash calculation unit, 124 Consistency verification unit, 125 Transaction execution unit, 130 Input / output unit, 140 Communication unit, 200 Issuer / intermediary institution terminal, 210 Network

Claims

1. a calculation unit that performs calculations by applying a one-way function to a list of correspondence information that uniquely corresponds to digital currencies stored in the digital wallet; a storage unit that stores the calculation result by the calculation unit in a resistant area that is resistant to external analysis or tampering; a consistency determination unit that determines the consistency between the calculation result by the calculation unit for the list of correspondence information of the digital currency stored in the digital wallet at the time of executing the transaction and the calculation result stored in the storage unit; an execution unit that executes the transaction when the consistency determination unit determines that consistency exists; An information processing device comprising:

2. When the consistency determination unit determines that there is consistency, the storage unit stores the calculation result by the calculation unit in the tolerance area, thereby updating the stored calculation result. The information processing device according to claim 1 .

3. a digital currency acquisition unit that acquires the digital currency and stores it in the digital wallet; when the digital currency acquisition unit acquires the digital currency, the calculation unit performs a calculation by applying the one-way function to the list of correspondence information of the digital currency stored in the digital wallet; The storage unit stores the calculation result by the calculation unit in the tolerance area.

3. The information processing device according to claim 1.

4. the execution unit executes the transaction to remit the digital currency stored in the digital wallet; the calculation unit performs a calculation by applying the one-way function to the list of correspondence information of the digital currency stored in the digital wallet after the transaction; The storage unit stores the calculation result by the calculation unit in the tolerance area.

3. The information processing device according to claim 1.

5. An information processing method by an information processing device, a calculation step of applying a one-way function to a list of correspondence information that uniquely corresponds to the digital currency stored in the digital wallet; a storage step of storing the calculation result from the calculation step in a resistant area that is resistant to external analysis or tampering; a consistency determination step of determining consistency between the calculation result obtained by the calculation step for the list of correspondence information of the digital currency stored in the digital wallet at the time of execution of the transaction and the calculation result stored in the storage step; an execution step of executing the transaction when it is determined that there is consistency in the consistency determination step; An information processing method comprising:

6. Computer, a calculation unit that performs calculations by applying a one-way function to a list of correspondence information that uniquely corresponds to digital currencies stored in the digital wallet; a storage unit that stores the calculation result by the calculation unit in a resistant area that is resistant to external analysis or tampering; a consistency determination unit that determines the consistency between the calculation result by the calculation unit on the list of correspondence information of the digital currency stored in the digital wallet at the time of execution of the transaction and the calculation result stored in the storage unit; an execution unit that executes the transaction when the consistency determination unit determines that consistency exists; A program that functions as a

Citation Information

Patent Citations

  • Device, secure element, computer program, and file system access method

    JP2020112888A