Money transaction system, computer program, and money transaction method

The system addresses offline transaction challenges by using image-based security and encryption to validate and process transactions between terminals, ensuring secure and reliable monetary exchanges.

WO2025225156A1PCT designated stage Publication Date: 2025-10-30VARIETY M 1 INC
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2025/006466
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-10-10
Filing Date
2025-02-26
Publication Date
2025-10-30

AI Technical Summary

Technical Problem

Conventional monetary transaction systems fail to facilitate secure transactions between information terminals in offline environments due to the inability to access a network for communication and confirm expiration dates stored on servers.

Method used

A monetary transaction system and method that enables secure transactions between two terminals using image display and reading units, with each terminal storing balance data and security information, allowing offline processing and confirmation of transaction validity through timestamps and encryption.

Benefits of technology

Ensures secure and reliable monetary transactions even in offline conditions by validating transaction dates and encrypting data, maintaining transaction integrity and security.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2025006466_30102025_PF_FP_ABST
    Figure JP2025006466_30102025_PF_FP_ABST
Patent Text Reader

Abstract

[Problem] To provide a money transaction system, a computer program, and a money transaction method that make it possible to safely perform a money transaction even offline. [Solution] A first information terminal 20 includes: a first acquisition means 26 that acquires transaction amount data in a money transaction; a first money processing means 26 that increases or decreases first balance data on the basis of the transaction amount data; and a first display means 26 that displays image information including first security information or information based on the first security information when the increase or decrease of the balance in the first balance data is completed. A second information terminal 10 includes: a second acquisition means 16 that acquires the first security information or the information based on the first security information from the image information; and a second money processing means 16 that increases or decreases the balance in second balance data on the basis of the first security information or the information based on the first security information.
Need to check novelty before this filing date? Find Prior Art

Description

Money transaction system, computer program, and money transaction method

[0001] The present invention relates to a monetary transaction system, a computer program, and a monetary transaction method that enable secure monetary transactions based on monetary data such as electronic money between two terminals even offline.

[0002] A conventional monetary transaction system has been disclosed in which, in an environment in which an information terminal such as a smartphone carried by a purchaser and an information terminal owned by a seller can both connect to a monetary transaction server via a network, the purchaser's information terminal and the seller's information terminal each access the server, thereby enabling monetary payment processing based on monetary data between the purchaser's information terminal and the seller's information terminal (for example, Patent Document 1). Patent Document 2 also discloses that the server stores an expiration date linked to a payment token in a storage unit, and makes payment impossible when the expiration date has passed.

[0003] JP 2015-062125 A Japanese Patent No. 6928151 A

[0004] However, in Patent Document 1, in an offline environment where network communication is unavailable, each information terminal cannot access the money transaction server on the network, and therefore money transactions based on money data cannot be carried out. Similarly, in Patent Document 2, in an offline environment where network communication is unavailable, the expiration date stored in the server cannot be confirmed, and therefore it is not possible to determine whether or not payment can be made based on the expiration date.

[0005] The present invention aims to provide a monetary transaction system, computer program, and monetary transaction method that can safely perform monetary transactions based on monetary data between two information terminals even in an environment where a network is not available.

[0006] The present invention is summarized as a monetary transaction system according to any one of (1) to (9) below: (1) A monetary transaction system comprising a first information terminal having a first image display unit and a first image reading unit, and a second information terminal having a second image display unit and a second image reading unit, and which executes a monetary transaction offline based on monetary data between the first information terminal and the second information terminal, wherein the first information terminal comprises a first storage means for storing first balance data held by the first information terminal, a first acquisition means for acquiring data on a transaction amount in the monetary transaction, a first monetary processing means for increasing or decreasing the first balance data based on the transaction amount data acquired by the first acquisition means, and a first security information or a previous security information when the first monetary processing means has completed increasing or decreasing the balance in the first balance data. A monetary transaction system having a first display means for displaying image information including information based on the first security information on the first image display unit, wherein the second information terminal has a second storage means for storing second balance data held by the second information terminal, a second image reading means for causing the second image reading unit to read the image information displayed by the first information terminal, a second acquisition means for acquiring the first security information or information based on the first security information from the image information, and a second money processing means for, when the image information is read, increasing or decreasing the balance of the second balance data stored in the second storage means based on the first security information or information based on the first security information.(2) In the first information terminal, when the user of the first information terminal approves the payment of the transaction amount, the first cash processing means reduces the balance of the first balance data stored in the first storage means according to the transaction amount data acquired by the first acquisition means, and when the first cash processing means has completed the reduction of the balance of the first balance data, the first display means displays the image information including the transaction amount data and the first security information or information based on the first security information on the first image display unit, and in the second information terminal, the second acquisition means acquires the transaction amount data and the first security information or information based on the first security information from the image information, and when the second cash processing means reads the image information, it determines whether to increase the balance of the second balance data according to the transaction amount based on the first security information, in the monetary transaction system described in (1) above. (3) The second information terminal has second display means for displaying transaction cancellation image information on the second image display unit when the second money processing means is prohibited from increasing the balance of the second balance data based on the first security information, and the first information terminal has first image reading means for causing the first image reading unit to read the transaction cancellation image information displayed by the second information terminal, and cancellation means for canceling the reduction of the balance of the first balance data stored in the first storage means made by the first money processing means when the transaction cancellation image information is read. (4) The monetary transaction system of (2) or (3) above, wherein the first security information is information indicating the expiration date of the image information, and the second money processing means in the second information terminal determines whether the expiration date of the image information has passed based on the first security information, and prohibits the increase of the balance of the second balance data stored in the second storage means if the expiration date of the image information has passed.(5) A monetary transaction system described in any of (2) to (4) above, wherein the information based on the first security information is payment completion information encrypted with the public key of the second information terminal, and in the second information terminal, the second storage means stores a private key corresponding to the public key, and the second money processing means decrypts the payment completion information encrypted with the public key with the private key, and when it confirms that payment has been completed at the first information terminal based on the decrypted payment completion information, allows an increase in the balance of the second balance data stored in the second storage means. (6) The monetary transaction system according to any one of (2) to (5), wherein the second information terminal has an input means for inputting the transaction amount and a second display means for generating transaction starting image information including the transaction amount input by the input means and second security information and displaying the transaction starting image information on the second image display unit of the second information terminal, the first information terminal has a first image reading means for causing the first image reading unit to read the transaction starting image information displayed on the second image display unit of the second information terminal, and the first acquisition means in the first information terminal acquires the transaction information and the second security information from the transaction starting image information. (7) The monetary transaction system according to (6), wherein the second security information is information indicating an expiration date of the transaction starting image information, and the first money processing means in the first information terminal determines whether the expiration date of the transaction starting image information has passed based on the second security information, and if the expiration date of the transaction starting image information has passed, prohibits a reduction of the balance in the first balance data stored in the first storage means. (8) The second security information is the seller's public key, and in the first information terminal, when the first money processing means has completed the reduction of the balance of the first balance data, the first display means encrypts payment completion information based on the second security information, thereby making the encrypted payment completion information information based on the first security information, and displays payment completion image information including the encrypted payment completion information on the first image display unit, in the monetary transaction system described in (6) above.(9) A monetary transaction system according to any one of (1) to (8) above, wherein the image information is displayed as an information code in which information cells arranged two-dimensionally are used as information units.

[0007] The present invention also provides a second information terminal as set forth in (10) or (11) below: (10) A second information terminal for executing offline monetary transactions based on monetary data with a first information terminal having a first image display unit and a first image reading unit, the second information terminal comprising: second storage means for storing second balance data held by the second information terminal; second image reading means for reading image information containing first security information or information based on the first security information when the image information is displayed on the first image display unit of the first information terminal; second acquisition means for acquiring the first security information or information based on the first security information from the image information; and second monetary processing means for increasing or decreasing the balance of the second balance data stored in the second storage means according to the transaction amount when the image information is read, wherein the second monetary processing means increases or decreases the balance of the second balance data based on the first security information or information based on the first security information. (11) The second information terminal described in (10) above, wherein the second image reading means reads the payment completion image information when the balance reduction of the first balance data held by the first information terminal is completed and the image information is displayed on the first image display unit as payment completion image information, and the second money processing means, when reading the payment completion image information, determines whether to increase the balance of the second balance data based on the first security information.

[0008] Furthermore, the present invention provides a computer program for a second information terminal as set forth in (12) or (13) below. (12) In a financial transaction system having a first information terminal having a first image display unit and a first image reading unit, and a second information terminal having a second image display unit and a second image reading unit, and performing financial transactions based on financial data between the first information terminal and the second information terminal offline, a computer program executed by the second information terminal, the computer program comprising: a second storage function for storing second balance data held by the second information terminal; a second image reading function for, when image information including transaction information and first security information or information based on the first security information is displayed on the first information terminal, causing the second image reading unit to read the image information displayed by the first information terminal; a second acquisition function for acquiring the first security information or information based on the first security information from the image information; and a second financial processing function for, when the image information is read, increasing or decreasing the balance of the second balance data stored in the second information terminal depending on the transaction amount, wherein the second financial processing function increases or decreases the balance of the second balance data based on the first security information. (13) The computer program described in (12) above, wherein the image information includes payment completion information indicating that payment has been completed at the first information terminal, and the second cash processing function, when the second acquisition function acquires the payment completion information from the image information, determines, based on the first security information, whether to increase the balance of the second balance data in accordance with the transaction amount data included in the transaction information.

[0009] Additionally, the present invention provides a monetary transaction method as set forth in (14) or (15) below. (14) A financial transaction method for performing a financial transaction based on financial data between a first information terminal and a second information terminal offline using a first information terminal having a first image display unit and a first image reading unit, and a second information terminal having a second image display unit and a second image reading unit, wherein the first information terminal stores first balance data held by the first information terminal, acquires data on the transaction amount for the financial transaction, increases or decreases the balance of the first balance data held by the first information terminal according to the transaction amount, and displays image information including first security information or information based on the first security information on the first image display unit when the increase or decrease in the balance of the first balance data is completed, and the second information terminal stores second balance data held by the second information terminal, and when the image information displayed by the first information terminal is read by the second image reading unit, decreases or increases the balance of the second balance data stored in the second information terminal based on the first security information or information based on the first security information. (15) When the user of the first information terminal approves the payment of the transaction amount, the first information terminal reduces the balance of the balance data held by the first information terminal according to the transaction amount, and when the reduction of the balance of the balance data is completed, displays the image information including the transaction amount data and first security information or information based on the first security information on the first image display unit, and when the second information terminal reads the image information displayed by the first information terminal with the second image reading unit, determines based on the first security information whether to increase the balance of the second balance data stored in the second information terminal, and if it determines to increase the second balance data, increases the second balance data according to the transaction amount. This is an offline monetary transaction method described in (14) above.

[0010] The present invention also provides a monetary transaction method according to any one of (16) to (18) below. (16) The monetary transaction system according to (1), wherein the first information terminal has encryption means for encrypting transaction information including transaction amount data acquired by the first acquisition means with a private key of the first information terminal which is first security information, the second information terminal has decryption means for decrypting the encrypted transaction information using a public key of the first information terminal, the first storage means in the first information terminal stores the private key and public key of the first information terminal, the first display means displays the image information including the encrypted transaction information based on the first security information and the public key of the first information terminal on the first image display unit, the second acquisition means in the second information terminal acquires the encrypted transaction information based on the first security information and the public key of the first information terminal from the image information, and the second money processing means increases or decreases the second balance data based on the transaction amount data included in the transaction information decrypted by the decryption means. (17) The monetary transaction system according to (16) above, wherein the second information terminal stores the transaction information in an encrypted state. (18) The monetary transaction system according to (16) above, wherein the second information terminal stores a private key and a public key of the second information terminal in the second storage means, and the second information terminal further comprises: second encryption means for encrypting the transaction information acquired from the first information terminal with the private key of the second information terminal; and second display means for displaying image information including the transaction information encrypted by the second encryption means and the public key of the second information terminal on the second image display unit.

[0011] Furthermore, the present invention provides a first information terminal as set forth in (19) below. (19) In a financial transaction system that executes financial transactions based on financial data between a first information terminal and a second information terminal offline, the first information terminal comprises: a first storage means that stores first balance data held by the first information terminal and the private key and public key of the first information terminal; a first acquisition means that acquires transaction amount data for the financial transaction; an encryption means that encrypts transaction information including the transaction amount data acquired by the first acquisition means with the private key of the first information terminal, which is first security information; a financial processing means that increases or decreases the first balance data based on the transaction amount data acquired by the first acquisition means; and a first display means that displays image information including the encrypted transaction information based on the first security information and the public key of the first information terminal, wherein the image information displayed by the first display means is read by the second information terminal, and the balance data of the second information terminal is increased or decreased at the second information terminal based on the encrypted transaction information and the public key of the first information terminal included in the image information.

[0012] Additionally, the present invention provides a second information terminal as described in (20) or (21) below. (20) The second information terminal as described in (10) above, wherein the first information terminal has means for displaying image information including transaction information including transaction amount data encrypted with the private key of the first information terminal, which is the first security information, and a public key of the first information terminal for decrypting the encrypted transaction information, the second acquisition means in the second information terminal further has decryption means for acquiring the encrypted transaction information based on the first security information and the public key of the first information terminal from the image information and for decrypting the encrypted transaction information using the public key of the first information terminal, and the second money processing means increases or decreases the second balance data based on the transaction amount data included in the transaction information decrypted by the decryption means. (21) The second information terminal as described in (20) above, wherein the second storage means stores the transaction information in an encrypted state.

[0013] The present invention also provides a server as set forth in (22) below. (22) A server capable of communicating with the first information terminal as set forth in (19) above and the second information terminal as set forth in (20) or (21) above, the server comprising: a server storage unit that stores first balance data held by the first information terminal and / or second balance data held by the second information terminal as server balance data; and an update unit that acquires the first balance data and / or second balance data from the first information terminal and / or the second information terminal as terminal balance data, acquires the transaction information, and updates the server balance data stored in the server storage unit based on the acquired terminal balance data and the transaction information.

[0014] Furthermore, the present invention is summarized as a computer program for a first information terminal as described in (23) below. (23) In a monetary transaction system having a first information terminal having a first image display unit and a first image reading unit, and a second information terminal having a second image display unit and a second image reading unit, and performing a monetary transaction based on monetary data between the first information terminal and the second information terminal offline, the computer program executed by the first information terminal includes a function for storing first balance data held by the first information terminal, a private key of the first information terminal and a public key of the first information terminal, which are first security information, a function for acquiring data on the transaction amount of the monetary transaction, and a function for storing transaction information including the acquired data on the transaction amount as the first security information. a function of encrypting transaction data with the private key of the first information terminal and generating the encrypted transaction information as information based on the first security information; a function of incrementing or decrementing the first balance data based on the acquired transaction amount data; and a display function of displaying image information including the encrypted transaction information and the public key of the first information terminal, wherein the image information displayed by the display function is read by the second information terminal, and the balance data of the second information terminal is incremented or decremented at the second information terminal based on the encrypted transaction information and the public key of the first information terminal included in the image information.

[0015] Additionally, the present invention provides a computer program for a second information terminal as described in (24) or (25) below. (24) The computer program described in (12) above, wherein the first information terminal has a means for displaying image information including transaction information including transaction amount data, which is information based on the first security information and is encrypted with the private key of the first information terminal as first security information, and the public key of the first information terminal, and the computer program for the second information terminal has functions to store second balance data held by the second information terminal, cause the second image reader to read the image information displayed by the first information terminal, obtain the encrypted transaction information based on the first security information and the public key of the first information terminal from the image information, decrypt the encrypted transaction information using the public key of the first information terminal, and increase or decrease the second balance data based on the transaction amount data included in the decrypted transaction information. (25) The computer program described in (24) above, further having a function to store the transaction information in an encrypted state.

[0016] The present invention also provides a monetary transaction method as set forth in (26) or (27) below: (26) The monetary transaction method as set forth in (14) above, wherein the first information terminal stores a private key and a public key of the first information terminal, encrypts transaction information including data on the transaction amount with the private key of the first information terminal, which is first security information, and displays image information including the encrypted transaction information based on the first security information and the public key of the first information terminal as the image information, and the second information terminal reads the image information displayed by the first information terminal and increases or decreases the second balance data based on the encrypted transaction information and the public key of the first information terminal included in the image information. (27) A monetary transaction method executed on a second information terminal when a monetary transaction based on monetary data between a first information terminal and a second information terminal is executed offline using a first information terminal having a first image display unit and a first image reading unit, and a second information terminal having a second image display unit and a second image reading unit, wherein the first information terminal has a means for displaying image information including transaction information including transaction amount data encrypted with the private key of the first information terminal, which is first security information, and the public key of the first information terminal, and the second information terminal stores second balance data held by the second information terminal, the method reads the image information displayed by the first information terminal using the second image reading unit, obtains the encrypted transaction information based on the first security information and the public key of the first information terminal from the image information, decrypts the encrypted transaction information using the public key of the first information terminal, and increases or decreases the second balance data based on the transaction amount data included in the decrypted transaction information.

[0017] From another perspective, the present invention provides a computer program and a first information terminal as set forth in any one of (28) to (31) below. (28) In a monetary transaction system having a first information terminal having a first image display unit and a first image reading unit, and a second information terminal having a second image display unit and a second image reading unit, and performing monetary transactions based on monetary data between the first information terminal and the second information terminal offline, the computer program executed by the first information terminal executes: a first storage function for storing balance data held by the first information terminal, a first acquisition function for acquiring data on a transaction amount of the monetary transaction, a payment function for deducting a balance from the stored balance data according to the transaction amount when a user of the first information terminal approves payment of the transaction amount, and a display function for displaying, on the first image display unit, first security information or payment completion image information including information based on the first security information when deducting the balance from the balance data by the payment function is completed. (29) In a financial transaction system that executes financial transactions based on financial data between a first information terminal and a second information terminal offline, the first information terminal has: a first storage means that stores first balance data held by the first information terminal and the private key and public key of the first information terminal; a first acquisition means that acquires transaction amount data for the financial transaction; an encryption means that encrypts transaction information including the transaction amount data acquired by the first acquisition means with the private key of the first information terminal; a financial processing means that increases or decreases the first balance data based on the transaction amount data acquired by the first acquisition means; and a first display means that displays image information including the encrypted transaction information and the public key of the first information terminal.(30) In a financial transaction system having a first information terminal having a first image display unit and a first image reading unit, and a second information terminal having a second image display unit and a second image reading unit, and performing financial transactions based on financial data between the first information terminal and the second information terminal offline, a computer program executed by the first information terminal has the following functions: storing first balance data held by the first information terminal and the private key and public key of the first information terminal; acquiring transaction amount data for the financial transaction; encrypting transaction information including the acquired transaction amount data with the private key of the first information terminal; increasing or decreasing the first balance data based on the acquired transaction amount data; and displaying image information including the encrypted transaction information and the public key of the first information terminal. (31) A financial transaction method executed on a first information terminal when performing a financial transaction based on financial data between the first information terminal and the second information terminal offline using the first information terminal having a first image display unit and a first image reading unit, and a second information terminal having a second image display unit and a second image reading unit, the method comprising: storing first balance data held by the first information terminal and the private key and public key of the first information terminal; acquiring transaction amount data for the financial transaction; encrypting transaction information including the acquired transaction amount data with the private key of the first information terminal; increasing or decreasing the first balance data based on the acquired transaction amount data; and displaying image information including the encrypted transaction information and the public key of the first information terminal.

[0018] From another viewpoint, the present invention is summarized as a storage medium according to any one of (32) to (36) below. (32) In a monetary transaction system having a first information terminal having a first image display unit and a first image reading unit, and a second information terminal having a second image display unit and a second image reading unit, and performing monetary transactions based on monetary data between the first information terminal and the second information terminal offline, the storage medium has recorded thereon a computer program to be executed by the second information terminal, and further has a second storage function for storing second balance data held by the second information terminal, and a storage function for storing transaction information, first security information, or information based on the first security information in the first information terminal. (33) A recording medium as described in (32) above, wherein the image information includes payment completion information indicating that payment has been completed at the first information terminal, and the second financial processing function, when the second acquisition function acquires the payment completion information from the image information, determines, based on the first security information, whether to increase or decrease the balance of the second balance data corresponding to the transaction amount data included in the transaction information.(34) In a monetary transaction system having a first information terminal having a first image display unit and a first image reading unit, and a second information terminal having a second image display unit and a second image reading unit, and performing a monetary transaction based on monetary data between the first information terminal and the second information terminal offline, a recording medium having recorded thereon a computer program executed by the first information terminal, the recording medium having a function of storing first balance data held by the first information terminal, first security information being a private key of the first information terminal and a public key of the first information terminal, a function of acquiring data on the transaction amount of the monetary transaction, and a function of storing transaction information including the acquired data on the transaction amount in the first security information. a function of encrypting transaction information with the private key of the first information terminal, which is security information, and generating the encrypted transaction information as information based on the first security information; a function of incrementing or decrementing the first balance data based on the acquired transaction amount data; and a display function of displaying image information including the encrypted transaction information and the public key of the first information terminal, wherein the image information displayed by the display function is read by the second information terminal, and the balance data of the second information terminal is incremented or decremented at the second information terminal based on the encrypted transaction information and the public key of the first information terminal included in the image information. (35) The recording medium described in (32) above, wherein the first information terminal has a means for displaying image information including transaction information including transaction amount data, which is information based on the first security information and is encrypted with the private key of the first information terminal, which is first security information, and the public key of the first information terminal, and the computer program of the second information terminal has a function of storing second balance data held by the second information terminal, a function of causing the second image reading unit to read the image information displayed by the first information terminal, a function of obtaining the encrypted transaction information based on the first security information and the public key of the first information terminal from the image information, a function of decrypting the encrypted transaction information using the public key of the first information terminal, and a function of increasing or decreasing the second balance data based on the transaction amount data included in the decrypted transaction information.(36) The recording medium according to (35) above, further having a function of storing the transaction information in an encrypted state.

[0019] According to the present invention, even in an environment where a network is not available, a monetary transaction based on monetary data can be safely executed between two information terminals.

[0020] 1 is a diagram showing the configuration of a monetary transaction system according to an embodiment; FIG. 2 is a diagram for explaining a usage scenario of the monetary transaction system according to an embodiment; FIG. 3 is a block diagram of a seller terminal and a buyer terminal according to an embodiment; FIG. 4 is a diagram showing a transaction screen displayed on the seller terminal; FIG. 5 is a diagram showing a charge screen displayed on the buyer terminal; FIG. 6 is a diagram showing a payment screen displayed on the buyer terminal; FIG. 7 is a diagram for explaining an information code according to an embodiment; FIG. 8 is a flowchart showing offline monetary transaction processing according to the first embodiment (part 1); FIG. 9 is a flowchart showing offline monetary transaction processing according to the first embodiment (part 2); FIG. 10 is a flowchart showing offline monetary transaction processing according to the second embodiment (part 1); FIG. 11 is a flowchart showing offline monetary transaction processing according to the second embodiment (part 2); FIG. 12 is a diagram for explaining information included in an information code stored in a memory unit in a monetary transaction system according to a third embodiment; FIG. 13 is a flowchart showing offline monetary transaction processing according to the third embodiment;

[0021] First Embodiment An embodiment of a monetary transaction system according to the present invention will be described with reference to the drawings. FIG. 1 is a diagram illustrating the configuration of a monetary transaction system 1 according to this embodiment, and FIG. 2 is a diagram illustrating a usage scenario of the monetary transaction system 1 according to this embodiment. As shown in FIGS. 1 and 2, the monetary transaction system 1 according to this embodiment includes mobile terminals 10 and 20 carried by two parties conducting a monetary transaction, respectively, and a server 30. As shown in FIG. 1, in an environment where network communication using an Internet line 2 or the like is available, the mobile terminals 10 and 20 can exchange information with the server 30 via wireless or wired communication. On the other hand, in this embodiment, as shown in FIG. 2, even in an environment where network communication is not available, a monetary transaction based on electronic money can be performed using the two mobile terminals 10 and 20.

[0022] In this embodiment, a scenario is described in which a buyer purchases a product from a seller at a store and performs a financial transaction associated with the purchase using a seller's mobile terminal 10 (corresponding to a second information terminal in the present invention) and a buyer's mobile terminal 20 (corresponding to a first information terminal in the present invention). Here, the mobile terminal 10 carried by the seller is also referred to as the seller terminal 10, and the mobile terminal 20 carried by the buyer is also referred to as the buyer terminal 20. However, the financial transaction system 1 according to this embodiment is not limited to use when purchasing products. It can also be used for splitting the bill for dining and drinking, settling group travel expenses among members, collecting donations in bulk, sending money to family, paying gifts, and other purposes. Furthermore, while the examples shown in FIGS. 1 and 2 illustrate a one-to-one relationship between a seller receiving electronic money and a buyer paying electronic money, this configuration is not limiting. For example, one person (e.g., the organizer of a dining and drinking bill) can also receive electronic money from multiple people (e.g., multiple participants in a dining and drinking bill).

[0023] FIG. 3 is a block diagram showing the configurations of the seller terminal 10 and the buyer terminal 20. The seller terminal 10 is an information terminal such as a smartphone, tablet, or laptop computer carried by the seller. As shown in FIG. 3, the seller terminal 10 includes a camera 11, a communication unit 12, a display 13, an input unit 14, a memory unit 15, and a calculation unit 16. The camera 11 reads information codes displayed on the buyer terminal 20. The communication unit 12 communicates with the server 30 in an environment where network communication is available. The display 13 displays information codes 41, including transaction information for monetary transactions such as the transaction amount, on the screen. The input unit 14 is used by the seller to input transaction information such as the transaction amount. The display 13 and the input unit 14 may be integrated into a touch display. The memory unit 15 stores a program for conducting monetary transactions according to this embodiment and also stores electronic money balance data used for offline monetary transactions. By executing the program stored in the memory unit 15, the calculation unit 16 realizes a seller transaction function for performing electronic money transactions offline, and a balance data update function for updating the server balance data stored in the server 30 so that the terminal balance data stored in the seller terminal 10 matches the server balance data of the seller terminal 10 stored in the server 30, in an environment where network communication is available. The above program can be executed in the seller terminal 10 in the form of an application or app. Each function of the seller terminal 10 will be described below.

[0024] The seller transaction function of the seller terminal 10 generates an information code 41 containing transaction information, as shown in FIG. 4 , by the seller entering the transaction amount via the input unit 14 or by scanning a barcode or the like printed on a product with the camera 11. The generated information code 41 is then displayed on the display 13 along with the entered transaction amount. The information code 41 displayed by the seller transaction function includes transaction information such as a seller code for identifying the seller, a transaction code for identifying the transaction, transaction amount data, the seller's mobile phone number, and the product identification number of the seller terminal 10. In this embodiment, the buyer terminal 20 reads the information code 41 displayed by the seller terminal 10 to execute the electronic money payment. The transaction code is a unique code for each transaction, and may be, for example, an epoch second or a sequential number under certain management.

[0025] In this embodiment, the information code 41 also includes a first timestamp indicating the transaction expiration date as the second security information. Including the first timestamp as the second security information in the information code 41 ensures transaction security even in offline payments. In other words, in conventional systems, security information such as a timestamp is stored on a server, and a terminal acquires security information from the server and restricts transactions using the acquired security information, or the server restricts transactions using the security information stored on the server. In contrast, in this embodiment, since offline payments are made, the information code 41 indicating the start of a transaction includes the first timestamp as the second security information. The seller terminal 10 displays the information code 41 including the first timestamp, allowing the buyer terminal 20 to capture and read an image of the information code 41 and obtain the first timestamp from the read information code 41. This allows the purchaser terminal 20 to safely conduct offline monetary transactions by permitting monetary transactions only within the expiration date of the information code 41 (within a certain period of time from the time indicated by the first timestamp) based on the acquired first timestamp (by prohibiting monetary transactions after the expiration date). The first security information will be described later.

[0026] Furthermore, in this embodiment, when payment is executed at the buyer terminal 20, an information code 42 (payment completion image information) indicating the completion of payment is displayed on the display 23 of the buyer terminal 20. In this case, the seller transaction function reads the information code 42 displayed on the buyer terminal 20 with the camera 11, and increases the electronic money terminal balance data stored in the memory unit 15 according to the transaction amount. In this way, by reading the information code 42 displayed on the buyer terminal 20 indicating the completion of payment, the seller terminal 10 can confirm that the payment has been completed at the buyer terminal 20, even when a monetary transaction based on electronic money is performed offline, and the transaction can be properly completed at the seller terminal 10.

[0027] In this embodiment, the information code 42 also includes a second timestamp as the first security information. The second timestamp is information indicating the reference time of the expiration date of the information code 42. The seller-side transaction function reads the information code 42 containing payment completion information, and before incrementing the electronic money terminal balance data stored in the memory unit 15, determines whether the expiration date, which is a certain time period from the time indicated by the second timestamp, has passed. If the expiration date of the information code 42 has passed, the seller-side transaction function prohibits the execution of a process to increment the electronic money terminal balance data stored in the memory unit 15. This prevents the balance data from being incremented using an information code 42 whose expiration date has passed, thereby enhancing the security of the transaction. On the other hand, if the expiration date based on the second timestamp has not passed, the seller-side transaction function can appropriately increment the terminal balance data by executing a process to increment the electronic money terminal balance data stored in the memory unit 15.

[0028] The balance data update function of seller terminal 10 updates server balance data stored in server 30 to match terminal balance data of electronic money stored in seller terminal 10 in an environment where network communication such as Internet line 2 is available. That is, in this embodiment, in an environment where seller terminal 10 and buyer terminal 20 can use network communication such as Internet line 2, electronic money transactions can be conducted via server 30 as in the past, and balance data of the seller carrying seller terminal 10 is stored in server 30 as server balance data. On the other hand, in an environment where network communication is not available, seller terminal 10 cannot access server 30, and therefore, when an offline monetary transaction according to this embodiment is conducted, the terminal balance data stored in memory unit 15 of seller terminal 10 and the server balance data stored in server 30 will no longer match. Therefore, when an offline monetary transaction is performed and an environment in which network communication is available is established, the balance data update function accesses the server 30 and updates the server balance data stored in the server 30 so that it matches the terminal balance data stored in the seller terminal 10.

[0029] The buyer terminal 20 is an information terminal such as a smartphone, tablet, or laptop computer carried by the buyer. As shown in FIG. 3 , the buyer terminal 20 includes a camera 21, a communication unit 22, a display 23, an input unit 24, a memory unit 25, and a calculation unit 26. The camera 21 reads an information code 41 containing transaction information displayed on the seller terminal 10. The communication unit 22 communicates with the server 30 in a network-enabled environment. The display 23 displays an information code 42 indicating payment completion on the screen. The input unit 24 allows the buyer to input payment information and other information. Note that the display 23 and the input unit 24 may be integrated into a touch display. The memory unit 25 stores a program for conducting monetary transactions according to this embodiment and stores electronic money balance data. The calculation unit 26 executes the program stored in the memory unit 25 to realize a charging function for charging electronic money in a network-enabled environment and a buyer transaction function for performing electronic money-based monetary transactions offline. The above program can be executed in the form of an application or app on the purchaser terminal 20. Each function of the purchaser terminal 20 will be described below.

[0030] The charge function of the purchaser terminal 20 accesses the server 30 and charges electronic money in an environment where network communication is available. The charge function can be performed by a known method. For example, when charging electronic money by credit card payment, the charge function displays a screen on the display 13 for inputting the amount to be charged, as shown in FIG. 5(A). When the purchaser inputs the charge amount, a charge confirmation screen is displayed, as shown in FIG. 5(B). If the purchaser approves the charge, the server 30 is accessed, and the terminal balance data stored in the purchaser terminal 20 is updated according to the charge amount.

[0031] The buyer-side transaction function of the buyer terminal 20 executes payment for the monetary transaction based on the transaction start information code 41 containing the transaction information displayed by the seller terminal 10. Specifically, when the buyer-side transaction function reads the transaction start information code 41 containing the transaction information displayed by the seller terminal 10, it extracts the transaction information from the transaction start information code 41 and, based on the extracted transaction information, displays the transaction amount, the balance, and the balance after payment on the screen of the display 13, for example, as shown in FIG. 6(A). The buyer-side transaction function also displays a payment button on the screen to request approval of the payment for the transaction. When the buyer presses the payment button, the buyer-side transaction function displays a payment confirmation as shown in FIG. 6(B). When the buyer approves the payment by touching "Yes," the buyer-side transaction function deducts the transaction amount from the terminal balance data stored in the memory unit 25 of the buyer terminal 20 and completes the payment. In addition, if the transaction amount is greater than the balance in the terminal balance data, the purchaser's transaction function will indicate that the transaction cannot be executed and will display an error on the screen of the display 13 (or may display such that the payment button cannot be pressed).

[0032] In this embodiment, the buyer's transaction function also has a security function that extracts a first timestamp from the information code 41 and determines whether or not to execute a payment based on the first timestamp. Specifically, if a certain amount of time has passed since the time indicated by the first timestamp, the buyer's transaction function prohibits the process of deducting the transaction amount from the terminal balance data stored in the memory unit 25 of the buyer's terminal 20, even if the buyer approves the payment. In this case, by regenerating the information code 41 in the seller's terminal 10, offline monetary transactions can be performed within the deadline based on the newly updated first timestamp.

[0033] Furthermore, when payment is completed, the buyer's transaction function of the buyer's terminal 20 creates a payment completion information code 42 indicating the completion of payment, and displays the created payment completion information code 42 on the display 23, as shown in FIG. 7. This is because, in conventional online monetary transactions, the completion of payment at the buyer's terminal 20 can be confirmed at the seller's terminal 10 via the server 30, whereas in offline monetary transactions, the completion of payment at the buyer's terminal 20 cannot be confirmed at the seller's terminal 10. Therefore, by displaying such information code 42 indicating payment completion at the buyer's terminal 20 and having the seller's terminal 10 read the information code 42 indicating payment completion, it is possible to have the seller's terminal 10 confirm the completion of payment even in offline monetary transactions.

[0034] In particular, in this embodiment, the buyer-side transaction function can include, in the information code 42 indicating payment completion, payment completion information indicating that the payment has been completed and a second timestamp indicating the expiration date of the information code 42. This allows the seller terminal 10 to confirm that the payment has been made at the buyer terminal 20 based on the payment completion information, and also determines, based on the second timestamp, whether the expiration date of the information code 42, which is a certain period of time from the time indicated by the second timestamp, has passed, and if the expiration date has passed, prohibits the process of increasing the terminal balance data stored in the memory unit 15 of the seller terminal 10, thereby improving the security of the transaction.

[0035] In this embodiment, the storage units 15 and 25 of the seller terminal 10 and the buyer terminal 20 pre-store personal information such as the seller's and buyer's account numbers, My Number, and biometric authentication information such as facial images. In this embodiment, the storage units 15 and 25 of the seller terminal 10 and the buyer terminal 20 store terminal balance data held by the seller terminal 10 and the buyer terminal 20, respectively. It is preferable to encrypt the terminal balance data stored in the storage units 15 and 25 to ensure security. For example, a key string representing the terminal balance data can be converted using a predetermined function f(x) and then encrypted using RSA encryption. To further enhance security, measures to make program disassembly difficult to understand (e.g., converting names in source code, such as class names, method names, and variable names, to names that are difficult for humans to read, encrypting strings containing functions, or inserting meaningless loops or GoTo statements to make the source code difficult to understand) are also effective. Periodic program revision is also effective.

[0036] Server 30 is installed on Internet line 2 and has the function of exchanging data with seller terminal 10 and buyer terminal 20 and conducting electronic payments when seller terminal 10 and buyer terminal 20 are able to connect to Internet line 2. As described above, server 30 stores the balance data of seller terminal 10 and buyer terminal 20 as server balance data, and can perform an update process to match the server balance data when the terminal balance data of seller terminal 10 and buyer terminal 20 does not match the server balance data due to an offline financial transaction. To prevent fraud, when performing the update process, server 30 may refer to a transaction code or the like to check whether the amount increased at seller terminal 10 matches the amount decreased at buyer terminal 20 in a financial transaction between seller terminal 10 and buyer terminal 20.

[0037] Next, an information code 40 according to this embodiment will be described. The information code 40 includes the information code 41 and information code 42 described above, as well as the information code 43 described below, and the information codes 41 to 43 have the following common features of the information code 40. FIG. 8 is a diagram showing an example of the information code 40 according to this embodiment. In this embodiment, the information code 40 is a two-dimensional matrix code, and an example is shown in which the information code 40 is configured using a color QR code composed of information cells of three or more colors. However, the information code 40 is not limited to this configuration, and may be a QR code (registered trademark) composed of white and black information cells arranged in a grid pattern.

[0038] As shown in Figure 8, the information code 40 of this embodiment is a rectangular two-dimensional code having an information code area 401 consisting of two or more colored information cells 402 which serve as units for displaying information, a teacher code area 403 having teacher cells 404 which are the same color as the information cells 402 and have the same number of colors as the information cells 402 in order to identify the color of the information cells 402, and an extraction symbol 405.

[0039] In particular, the information code 40 according to this embodiment has multiple teacher cells 404 in the teacher code region 403 to improve the accuracy of identifying the colors of the information cells 402. The color types of the teacher cells 404 and the information cells 402 match, and by comparing the colors of the teacher cells 404 and the information cells 402, it is possible to identify the colors of the information cells 402 with high accuracy. In particular, in a color QR code, the more colors there are, the closer the hues of the colors become. Therefore, it may be difficult to properly identify the colors of the information cells 402 depending on the lighting environment, the printing environment of the information code 40, the display environment of the information code 40 on a display, fading of the printed information code 40 over time, and other factors. Even in such cases, the information in the information cells 402 can be properly identified by identifying the colors of the information cells 402 with reference to the teacher cells 404. For example, if the color information of an information cell 402 is purplish and it is difficult to distinguish whether it is similar to red or blue, and the color information is closer to red than the color information of the purple teacher cell 404, it can be determined that the color of the information cell 402 is red. Note that the color information can be quantified as RGB values ​​or CMY values.

[0040] The information code area 401 can record specific information consisting of a certain amount of character information and / or binary information by changing the display pattern of the information cells 402, which are information units. The content of the specific information recorded in the information code area 401 is not particularly limited, but in this embodiment, personal information including biometric authentication information can be stored. In addition to biometric authentication information, personal information can include information such as a mobile phone number, My Number, passport number, account number, driver's license number, name, social insurance number, date of birth, place of birth, and maiden name. Furthermore, biometric authentication information can include a facial image, fingerprint information, iris information, palm shape, retina, blood vessels, voice, ear shape, and the like.

[0041] In the information code 40 according to this embodiment, the information code area 401 in which specific information is recorded is composed of information cells 402 of three or more colors, allowing for a larger amount of information to be recorded compared to information codes composed of two colors, white and black. However, the data capacity that can be stored in the information code 40 is smaller than that of other recording media, so when recording an image of an entire face with a resolution sufficient for face recognition, even the information code area 401 composed of information cells 402 of four colors may not have sufficient storage capacity. Therefore, in the information code 40 according to this embodiment, only a portion of the user's face that serves as a characteristic point for face recognition, such as the user's eyes or mouth, is stored as the face image for face recognition, rather than the entire face, thereby making it possible to record the face image for face recognition in the information code 40.

[0042] Next, an offline monetary transaction process according to the first embodiment will be described. FIGS. 9 and 10 are flowcharts illustrating the offline monetary transaction process according to the first embodiment. In the offline monetary transaction process illustrated in FIGS. 9 and 10, the buyer terminal 20 is assumed to have a sufficient amount of electronic money charged to cover the transaction amount in an environment where network communications such as the Internet are available. In the following description, the seller terminal 10 is assumed to be a mobile terminal with telephone communication capabilities, such as a smartphone, and to have a mobile phone number or product identification number stored in the storage unit 15 as information for identifying the seller terminal 10 itself. Examples of product identification numbers for identifying the seller terminal 10 include a MAC address and an IMEI number. While both the mobile phone number and the product identification number can be used as information for identifying the seller terminal 10 itself, it is also possible to use either the seller's mobile phone number or the product identification number of the seller terminal 10. In the following description, the seller's mobile phone number is assumed to be used as information for identifying the seller terminal 10.

[0043] In step S101, identity authentication is performed at each of the seller terminal 10 and the buyer terminal 20. For example, in this embodiment, when the seller terminal 10 and the buyer terminal 20 launch an application or app, they first scan a face image using the cameras 11 and 21 to perform face authentication. The face authentication method is not particularly limited, and any known method can be used. Furthermore, face information required for face authentication can be captured in advance by the cameras 11 and 21 and stored in the storage units 15 and 25. Then, in step S102, the seller terminal 10 and the buyer terminal 20 determine whether face authentication has been successful. If face authentication has been successful at both the seller terminal 10 and the buyer terminal 20, the process proceeds to step S103. On the other hand, if face authentication has not been successful at either the seller terminal 10 or the buyer terminal 20, the offline monetary transaction process shown in FIG. 9 cannot be continued. Therefore, in step S121, an error message is displayed, and the offline monetary transaction process ends.

[0044] In step S103, data on the transaction amount of the monetary transaction is acquired by the seller terminal 10. For example, the seller terminal 10 may be configured to display a screen on the display 13 prompting the seller to input the transaction amount, to have the seller input the transaction amount via the input unit 14, and to acquire data on the transaction amount input by the seller.

[0045] In step S104, the seller terminal 10 generates an information code 41 including the transaction information and the first timestamp, and displays the generated information code 41 on the display 13. Specifically, the seller transaction function of the seller terminal 10 first generates a new transaction code and a first timestamp and stores the generated transaction code in the memory unit 15. The seller transaction function also generates an information code 41 (transaction start image information) that includes, as transaction information, the generated transaction code, the seller code and the seller's mobile phone number stored in the memory unit 15, and the transaction amount data acquired in step S103, and that also includes, as second security information, a first timestamp indicating the time when the transaction started. The seller transaction function then displays the generated information code 41 on the display 13, as shown in FIG. 4.

[0046] 8, a color QR code is generated and displayed as the information code 41, but any known method can be used to generate the color QR code. It is preferable that the transaction code be a unique code at least within the seller terminal 10. Furthermore, a completely unique code can be created by combining the transaction code with the seller code, the seller's mobile phone number, or the product identification number of the seller terminal 10.

[0047] In step S105, the buyer terminal 20 reads the information code 41 displayed on the seller terminal 10 in step S104. Specifically, the buyer transaction function of the buyer terminal 20 activates the camera 21 and prompts the buyer to read the information code 41 displayed on the seller terminal 10. When the buyer then captures an image of the information code 41 displayed on the seller terminal 10 with the camera 21, the buyer transaction function obtains, from the image data of the read information code 41, transaction information such as the seller code, transaction code, transaction amount, and seller's mobile phone number, as well as information on the first timestamp, as second security information.

[0048] In step S106, payment approval is executed by the purchaser-side transaction function of the purchaser-side terminal 20. For example, in step S103, the purchaser-side transaction function reads out transaction information from the information code 41, and displays on the display 23, as shown in Fig. 6(A), a screen showing the transaction amount included in the read out transaction information, the terminal balance data stored in the purchaser-side terminal 20, the balance after payment, and other information, as well as a payment button. Furthermore, when the purchaser presses the payment button displayed on the display 23, the purchaser-side transaction function displays on the screen a message requesting payment approval, as shown in Fig. 6(B). In response, if the purchaser indicates approval of the payment via the input unit 24, payment approval is executed in the purchaser-side terminal 20.

[0049] In step S107, the buyer-side transaction function of the buyer-side terminal 20 determines whether the expiration date of the information code 41 has passed. Specifically, the buyer-side transaction function determines whether a predetermined time (expiration date) has passed since the first timestamp, based on the first timestamp included in the information code 41 read in step S105. If the expiration date has passed, to ensure security, the process proceeds to step S121, where an error message is displayed and the offline monetary transaction process ends. On the other hand, if the predetermined time (expiration date) has not passed since the first timestamp, the process proceeds to step S108.

[0050] In step S108, because the payment has been approved and is within the expiration date based on the first timestamp, the electronic money balance data is deducted by the purchaser transaction function of the purchaser terminal 20. For example, as shown in Figures 6(A) and 6(B), if the electronic money terminal balance data is 10,000 yen and the price (transaction amount) is 2,800 yen, the purchaser transaction function deducts 2,800 yen from the electronic money terminal balance data of 10,000 yen and updates the terminal balance data to 7,200 yen.

[0051] In step S109, the buyer-side transaction function of the buyer terminal 20 displays an information code 42 (payment completion image information) indicating payment completion on the display 23. Specifically, the buyer-side transaction function generates the information code 42 including authentication information such as the seller code, the transaction code, the transaction amount, and the seller's mobile phone number, payment completion information indicating payment completion, and a second timestamp, which is the first security information, and displays the generated information code 42 as payment completion image information indicating payment completion on the display 23, as shown in Fig. 7. Also, in the following step S110, as shown in Fig. 10, the seller-side transaction function of the seller terminal 10 reads the information code 42 indicating payment completion that was displayed on the display 23 of the buyer terminal 20 in step S109.

[0052] If it is determined in step S107 that the expiration date based on the first timestamp has passed, the purchaser terminal 20 can automatically or manually update the information code 42 to redisplay the information code 42. When the information code 42 is updated, the timestamp is updated, but the seller code, transaction code, transaction amount, and seller's mobile phone number remain unchanged and are included in the information code 42.

[0053] In step S111, the seller transaction function of the seller terminal 10 compares the mobile phone numbers. Specifically, the seller transaction function determines whether the seller's mobile phone number stored in the memory unit 15 of the seller terminal 10 matches the seller's mobile phone number included in the information code 42 read in step S110.

[0054] In step S112, the seller's transaction function compares the transaction codes. Specifically, the seller's transaction function determines whether a valid transaction code (a transaction code that has not been deleted in step S116, which will be described later; hereinafter, also referred to as a valid transaction code) stored in the storage unit 15 of the seller terminal 10 matches the transaction code included in the information code 42 read in step S110.

[0055] Then, in step S113, the seller's transaction function determines whether both the mobile phone number and the transaction code match. If either the mobile phone number or the transaction code does not match, it is assumed that there is a possibility of an error or fraud by a third party (details will be described later), and the process proceeds to step S121, where the seller's transaction function displays an error message indicating that the transaction cannot be completed, and the offline monetary transaction process ends. On the other hand, if both the mobile phone number and the transaction code match, the process proceeds to step S114.

[0056] In step S114, the seller transaction function of the seller terminal 10 determines whether the expiration date of the information code 42 has passed. Specifically, the seller transaction function determines whether a predetermined time (expiration date) has passed since the second timestamp, based on the second timestamp included in the information code 42 read in step S110. If the expiration date has passed, the process proceeds to step S118. On the other hand, if the predetermined time (expiration date) has not passed since the second timestamp, the process proceeds to step S115.

[0057] In step S115, because both the mobile phone number and the transaction code match and the expiration date based on the second timestamp is within the period, the seller transaction function of the seller terminal 10 increments the terminal balance data of the seller terminal 10 based on the information code 42 indicating payment completion read in step S110. Specifically, the seller transaction function confirms that payment has been completed at the buyer terminal 20 based on the payment completion information included in the information code 42, and increments the terminal balance data of the electronic money of the seller terminal 10 by the amount of the transaction.

[0058] In the following step S116, the seller terminal 10 deletes the transaction code stored in the memory unit 15. Then, in step S117, the seller terminal 10 turns off (e.g., grays out) the display (an icon or other button) for reading the information code 42 on the buyer terminal 20. In this manner, in this embodiment, when the seller terminal 10 completes the increase in the terminal balance data, the transaction code is deleted from the seller terminal 10 and made unreadable. This prevents the information code 42 displayed on the buyer terminal 20 from being read again by the same seller terminal 10, thereby preventing the terminal balance data from being increased more than once for the same transaction. Even if step S117 is not performed and the information code 42 remains readable at the seller terminal 10, if the transaction code is deleted at step S116, when the information code 42 displayed at the buyer terminal 20 is read again (step S109), it will be determined at step S112 that the transaction codes do not match, making it impossible to increase the terminal balance data again at the seller terminal 10. Furthermore, in this embodiment, even if the expiration date based on the second timestamp has passed, it is impossible to increase the terminal balance data again, enabling more secure transactions.

[0059] In this way, by determining in step S113 whether the transaction code and the mobile phone number match, it is possible to prevent fraudulent increases in the terminal balance data when another mobile terminal unrelated to the transaction (a mobile terminal that did not display the information code 41 in step S104, hereinafter referred to as an unrelated terminal) reads the information code 42 displayed on the buyer terminal 20. In other words, an unrelated terminal other than the seller terminal 10 that presented the information code 41 does not generate a transaction code for the current transaction in step S104, and is also unable to transmit the mobile phone number of the unrelated terminal to the buyer terminal 20. Therefore, in step S113, the transaction code and the mobile phone number contained in the information code 42 displayed on the buyer terminal 20 cannot be matched, and an error message such as "This is a different transaction. Please confirm the transaction item and the buyer and photograph the information code again" is displayed in step S121.

[0060] Also, if the expiration date of the information code 42 has passed in step S114, the process proceeds to step S118. In step S118, the seller transaction function of the seller terminal 10 generates a cancellation information code 43 at the seller terminal 10 without increasing the terminal balance data of the seller terminal 10, and the cancellation information code 43 is displayed on the display 13. Here, the cancellation information code 43 is an information code for canceling the deduction of the terminal balance data stored in the memory unit 25 of the buyer terminal 20, and includes cancellation instruction information. At the time step S114 is executed, the buyer terminal 20 has already performed the process of deducting the terminal balance data stored in the memory unit 25 (step S108). Therefore, in order to cancel the transaction, it is necessary to cancel the deduction of the terminal balance data of the buyer terminal 20. In this embodiment, the cancellation instruction included in the cancellation information code 43 is used as a trigger to execute the process of canceling the deduction of the terminal balance data of the buyer terminal 20.

[0061] In step S119, the buyer terminal 20 reads the cancellation information code 43 displayed on the seller terminal 10 in step S118. Then, in step S120, the buyer transaction function of the buyer terminal 20 cancels the deduction from the terminal balance data of the buyer terminal 20, triggered by the information code 43 read in step S119. This returns the terminal balance data of the buyer terminal 20 to its state before the transaction. The process then proceeds to step S121, where a message is displayed indicating that the balance data of the buyer terminal 20 has been deducted and that the monetary transaction was not completed successfully.

[0062] 9 and 10 is performed as described above. Note that, at the end of the offline monetary transaction process, the terminal balance data of the seller terminal 10 and the server balance data of the seller terminal 10 stored in the server 30 will no longer match. Therefore, when a network communication environment is established after the offline monetary transaction process, the data update function of the seller terminal 10 accesses the server 30 and updates the server balance data stored in the server 30 so that it matches the terminal balance data stored in the seller terminal 10.

[0063] 9 and 10 illustrate a configuration in which an offline monetary transaction is initiated by a seller inputting a transaction amount into the seller terminal 10, but the configuration is not limited to this. For example, an offline monetary transaction can be initiated by a buyer inputting a transaction amount into the buyer terminal 20. For example, a QR code containing the seller's identification information can be placed in a store, and the buyer can read the QR code using the buyer terminal 20 and then input the transaction amount, thereby completing step S105 of the offline monetary transaction processing described above. In this case, since the QR code placed in the store does not include a first timestamp, the buyer terminal 20 can also be configured to obtain the time when the QR code is read as the first timestamp.

[0064] As described above, in the first embodiment, the first timestamp and the second timestamp are used to determine whether the expiration date of the information code has passed, and if the expiration date of the information code 41 indicating the start of the transaction has passed, the deduction of the balance data at the buyer's terminal 20 is prohibited, and if the expiration date of the information code 42 indicating the completion of payment has passed, the deduction of the balance data at the seller's terminal 10 is prohibited, and the deduction of the balance data executed at the buyer's terminal is canceled, thereby increasing the security of the transaction.

[0065] Second Embodiment Next, a second embodiment of the present invention will be described. The monetary transaction system 1 according to the second embodiment is a system for securely conducting offline monetary transactions by using an information code 41 containing the public key of the seller terminal 10 (hereinafter also referred to as the seller's public key) as the second security information and an information code 42 containing payment completion information encrypted with the public key as the first security information, thereby permitting only authorized sellers (sellers who have provided the public key) to conduct monetary transactions. Note that the monetary transaction system 1 according to the second embodiment has the same configuration as the monetary transaction system 1 according to the first embodiment and operates in the same manner as the monetary transaction system 1 according to the first embodiment, except for the operation described below.

[0066] In the second embodiment, the seller terminal 10 generates a public key and a private key in advance and stores them in the storage unit 15. The seller transaction function of the seller terminal 10 displays an information code 41 containing the public key on the display 13, causing the buyer terminal 20 to capture an image showing the information code 41 and obtain the seller's public key. The seller transaction function decrypts payment completion information encrypted by the buyer terminal 20 using the seller's public key using the seller's private key, confirms the payment completion information, and thereby increases the balance data. This prevents anyone other than the legitimate seller (the seller who provided the public key) from impersonating the seller to obtain payment completion information and fraudulently increase the balance data. In this embodiment, the encryption process using the public key and the decryption process using the private key can be performed using known methods.

[0067] In the second embodiment, the buyer terminal 20 can capture and read an image showing the information code 41 including the seller's public key, and thereby obtain the seller's public key from the read information code 41. When the buyer terminal 20 reduces the balance data according to the transaction amount, the buyer terminal 20 can encrypt payment completion information indicating the completion of payment using the obtained public key.

[0068] 11 and 12 are flowcharts showing the offline monetary transaction process according to the second embodiment. The offline monetary transaction process according to the second embodiment will be described below with reference to FIGS.

[0069] In steps S201 to S203, similar to steps S101 to S103 in the first embodiment, personal authentication is performed at each of the seller terminal 10 and the buyer terminal 20, and it is determined whether or not facial authentication has been successful. If facial authentication is successful at both the seller terminal 10 and the buyer terminal 20, the process proceeds to step S203, where data on the transaction amount of the monetary transaction is acquired by the seller terminal 10. On the other hand, if facial authentication has not been successful, the process proceeds to step S216, where an error message is displayed, and the offline monetary transaction process ends.

[0070] In step S204, the seller terminal 10 generates an information code 41 (transaction start image information) including the seller's public key, which is the second security information, and the transaction information, and displays the generated information code 41 on the display 13. Specifically, the seller transaction function of the seller terminal 10 first generates an information code 41 including the transaction amount data acquired in step S203 as the transaction information and the seller's public key stored in the memory unit 15 as the second security information. Then, the seller transaction function displays the generated information code 41 on the display 13, as shown in FIG.

[0071] In step S205, the buyer terminal 20 reads the information code 41 displayed on the seller terminal 10 in step S204. As a result, the buyer transaction function obtains the sales amount data, which is transaction information, and the seller's public key, which is second security information, from the image data of the read information code 41.

[0072] In steps S206 and S207, similar to steps S106 and S108 in the first embodiment, the payment is approved by the purchaser-side transaction function of the purchaser-side terminal 20, and as a result, the electronic money balance data is deducted by the purchaser-side transaction function of the purchaser-side terminal 20.

[0073] In step S208, the buyer-side transaction function of the buyer terminal 20 encrypts information indicating payment completion with the seller's public key. Specifically, the buyer-side transaction function encrypts payment completion information indicating that payment of the transaction amount has been completed at the buyer terminal 20 with the seller's public key acquired in step S205. In step S209, the buyer-side transaction function displays on the display 23 an information code 42 containing the payment completion information encrypted in step S208 as first security information. Specifically, the buyer-side transaction function generates an information code 42 containing the encrypted payment completion information and displays the generated information code 42 on the display 23, as shown in FIG. 7. In the following step S210, the seller-side transaction function of the seller terminal 10 reads the information code 42 indicating payment completion displayed on the display 23 of the buyer terminal 20 in step S209.

[0074] In step S211, the seller transaction function of the seller terminal 10 decrypts the encrypted payment completion information acquired in step S210. Specifically, the seller terminal 10 stores the seller's private key in the storage unit 15, and can use this private key to decrypt the payment completion information encrypted in step S208. Then, in step S212, the seller transaction function determines whether payment completion has been confirmed. Here, the payment completion information included in the information code 42 is encrypted with the seller's public key, and the seller's seller terminal 10 can decrypt the encrypted payment completion information using the private key, thereby confirming payment completion. On the other hand, if, for example, a person other than the seller secretly photographs the information code 42 displayed by the buyer terminal 20 using their terminal in order to increase the balance data, the encrypted payment completion information cannot be decrypted, and payment completion cannot be confirmed. Therefore, processing proceeds to step S216, where an error message is displayed.

[0075] In steps S213 to S215, similar to steps S115 to S117 in the first embodiment, the seller transaction function of the seller terminal 10 increases the terminal balance data of the seller terminal 10, and the display (button such as an icon) for reading the information code 42 of the buyer terminal 20 is turned off (for example, grayed out), after which the offline monetary transaction processing in the second embodiment is terminated.

[0076] 11 and 12 also illustrate a configuration in which an offline monetary transaction is initiated by the seller inputting the transaction amount into the seller terminal 10, but the configuration is not limited to this. For example, a QR code containing the seller's identification information may be placed in the store, and the buyer may read the QR code using the buyer terminal 20 and then input the transaction amount. In this case, the QR code placed in the store may include the seller's public key as the seller's identification information, and the process proceeds to step S205.

[0077] As described above, in the second embodiment, the buyer terminal 20 encrypts the payment completion information with the seller's public key generated by the seller terminal 10, and the seller terminal 10 decrypts the payment completion information encrypted by the buyer terminal 20 with the seller's private key, thereby confirming whether the buyer has completed the payment and increasing the seller's balance data. As a result, in the second embodiment, only a legitimate seller who possesses the private key corresponding to the public key can confirm the buyer's payment. Therefore, even if a malicious third party steals the information code 42 containing the payment completion information displayed by the buyer terminal 20, the third party's terminal cannot decrypt the payment completion information encrypted with the seller's public key, so the third party's terminal cannot confirm the payment completion information and cannot unfairly increase the seller's balance data, thereby ensuring the security of heartstring transactions.

[0078] Third Embodiment Next, a third embodiment of the present invention will be described. The monetary transaction system 1 according to the third embodiment encrypts transaction information, including the transaction amount, using the private key of the seller terminal 10 or the buyer terminal 20, and displays an information code 41 containing the encrypted transaction information and the public key of the seller terminal 10 or the buyer terminal 20. The buyer terminal 20 or the seller terminal 10 reads the information code 41 and decrypts the transaction information contained in the information code 41 using the public key contained in the information code 41, thereby preventing tampering with the transaction information and enabling secure offline monetary transactions. The monetary transaction system 1 according to the third embodiment has the same configuration as the monetary transaction system 1 according to the first embodiment and operates in the same manner as the monetary transaction system 1 according to the first embodiment, except for the following operation.

[0079] In the third embodiment, the information code area 401 can record specific information consisting of a certain amount of character information and / or binary information by changing the display pattern of the information cell 402, which is an information unit. The content of the specific information recorded in the information code area 401 is not particularly limited. However, in the third embodiment, in addition to the personal information described above, the specific information includes transaction information required for financial transactions between a seller and a buyer, such as identification information for the seller terminal 10 (hereinafter also referred to as the seller terminal PID), identification information for the buyer terminal 20 (hereinafter also referred to as the buyer terminal PID), the product name, transaction amount, quantity, transaction subject, and transaction date and time. The seller terminal PID is identification information such as a seller code for identifying the seller, the seller's mobile phone number, and the product identification number (MAC address or IMEI number) of the seller terminal 10. Similarly, the buyer terminal PID is identification information such as a buyer code for identifying the buyer, the buyer's mobile phone number, and the product identification number (MAC address or IMEI number) of the buyer terminal 20. In addition to the above information, information such as a transaction code (for example, a unique number such as an epoch second or a sequential number under certain management) and a time stamp can be included as transaction information.

[0080] Furthermore, in this embodiment, as will be described later, the information code 40 includes any one of information indicating the start of a transaction, information indicating that payment has been completed, information indicating that money has been received, and information indicating that the monetary transaction is to be canceled, depending on the timing of presentation of the information code 40. Note that, hereinafter, an information code including information indicating the start of a transaction will be referred to as a transaction start information code 41, an information code including information indicating that payment has been completed will be referred to as a payment completion information code 42, an information code including information indicating that the monetary transaction is to be canceled will be referred to as a cancellation information code 43, and an information code including information indicating that money has been received will be referred to as a receipt information code 44, and these information codes 41 to 44 will be collectively referred to as information code 40.

[0081] In the third embodiment, the storage unit 15 stores a program for conducting monetary transactions according to the third embodiment, as well as an information code 40 including electronic money balance data used for offline monetary transactions and transaction information used in monetary transactions. In the third embodiment, the program stored in the storage unit 15 is stored in a state that prevents reverse engineering or modification of the program itself by using techniques such as obfuscation (e.g., converting names in the source code, such as class names, method names, and variable names, into names that are difficult for humans to read, encrypting character strings containing functions, or inserting meaningless loops or GoTo statements to make the source code difficult to understand) or encryption. This effectively prevents the seller from illicitly modifying the program in the seller terminal 10.

[0082] In this embodiment, the information code 40 stored in the storage unit 15 is also stored in an encrypted state to prevent data tampering. Fig. 13 is a diagram for explaining the information contained in the information code 40 stored in the storage unit 15. As shown in Fig. 13, the information code 40 stored in the storage unit 15 includes transaction information such as the seller terminal PID, the buyer terminal PID, the product name, the transaction amount, the quantity, the subject of the transaction, and the transaction date and time. However, this transaction information is encrypted with the private key KS20 of the buyer terminal 20 (however, the transaction start information code 41 does not include the buyer terminal PID).

[0083] 13, the information code 40 stored in the storage unit 15 includes the public key KP20 of the buyer terminal 20 in addition to the encrypted transaction information. The buyer's public key KP20 is stored in an unencrypted, plaintext state. As a result, in this embodiment, the seller terminal 10 can use the buyer's public key KP20 included in the information code 40 stored in the storage unit 15 to decrypt and use the encrypted transaction information also included in the information code 40. Furthermore, because the transaction information included in the information code 40 stored in the storage unit 15 is encrypted, the stored transaction information itself cannot be tampered with.

[0084] The storage unit 15 can be configured to store the information code 40 as image information as is, or to store binary data read from the information code 40. When the information code 40 is stored as image information, the encrypted transaction information included in the information code 40 and the purchaser's public key KP20 can be read from the image information.

[0085] Next, the configuration of the seller terminal 10 according to the third embodiment will be described. The seller terminal 10 according to the third embodiment can have the following functions instead of or in addition to the functions of the seller terminal 10 according to the first embodiment.

[0086] That is, in the third embodiment, when payment is executed at the buyer terminal 20, an information code 42 (payment completion image information) indicating the completion of payment is displayed on the display 23 of the buyer terminal 20. In this case, the seller transaction function of the seller terminal 10 reads the information code 42 displayed on the buyer terminal 20 with the camera 11 and increases the electronic money terminal balance data stored in the memory unit 15 according to the transaction amount. Furthermore, in the third embodiment, the information code 42 includes transaction information encrypted with the buyer terminal 20's private key KS20 and the buyer terminal 20's public key KP20. The seller transaction function decrypts the encrypted transaction information included in the information code 42 using the buyer's public key KP20, which is also included in the information code 42, and uses the transaction amount data included in the decrypted transaction information to increase the electronic money terminal balance data stored in the memory unit 15. Furthermore, in the third embodiment, the seller transaction function can be configured to similarly create a receipt information code 44 including the transaction information and display it on the display 13.

[0087] The memory unit 25 stores a program for conducting monetary transactions according to this embodiment, as well as an information code 40 containing electronic money balance data and transaction information used in monetary transactions. In this embodiment, the program stored in the memory unit 25 is stored in a manner that prevents reverse engineering and modification of the program itself, using techniques such as obfuscation and encryption. This effectively prevents the purchaser from illicitly modifying the program in the purchaser terminal 20. In this embodiment, the information code 40 stored in the memory unit 25 is also stored in an encrypted state to prevent data tampering. That is, like the information code 40 stored in the memory unit 15 of the seller terminal 10, the information code 40 stored in the memory unit 25 contains encrypted transaction information, such as the seller terminal PID, the purchaser terminal PID, the product name, the transaction amount, the quantity, the transaction subject, and the transaction date and time, as well as the seller's public key KP10 in plain text, as shown in FIG. 5 . In this embodiment, the transaction information contained in the information code 40 is encrypted, which effectively prevents the purchaser from fraudulently altering the transaction information stored in the purchaser terminal 20.

[0088] The buyer's transaction function of the buyer's terminal 20 executes payment of the monetary transaction based on the transaction start information code 41 containing the transaction information displayed by the seller's terminal 10. Specifically, when the buyer's transaction function reads the transaction start information code 41 containing the transaction information displayed by the seller's terminal 10, it extracts the encrypted transaction information and the seller's public key KP10 from the transaction start information code 41. The buyer's transaction function then decrypts the encrypted transaction information using the seller's public key KP10. The buyer's transaction function then displays on the screen of the display 13, as shown in FIG. 6(A), the transaction amount contained in the decrypted transaction information, as well as the balance stored in the memory unit 25 and the balance after payment.

[0089] Furthermore, similar to the first embodiment, when payment is completed, the buyer's transaction function of the buyer terminal 20 generates a payment completion information code 42 indicating the completion of payment, and displays the generated payment completion information code 42 on the display 23, as shown in Fig. 7. As shown in Fig. 13, the payment completion information code 42 includes transaction information encrypted with the private key KS20 of the buyer terminal 20 and the public key KP20 of the buyer terminal 20. The payment completion information code 42 also includes information indicating that payment of monetary data corresponding to the transaction amount has been completed at the buyer terminal 20.

[0090] Next, the offline monetary transaction processing according to this embodiment will be described. FIGS. 14 and 15 are flowcharts illustrating the offline monetary transaction processing according to this embodiment. In the offline monetary transaction processing shown in FIGS. 14 and 15, it is assumed that the buyer terminal 20 is previously charged with electronic money sufficient for the transaction amount in an environment where network communication such as the Internet is available. In the following description, it is assumed that the seller terminal 10 is a mobile terminal with a telephone function such as a smartphone, and that a seller terminal PID for identifying the seller terminal 10 itself is stored in the memory unit 15. Similarly, it is assumed that the buyer terminal 20 is a mobile terminal with a telephone function such as a smartphone, and that a buyer terminal PID for identifying the buyer terminal 20 is stored in the memory unit 25 as information for identifying the buyer terminal 20 itself.

[0091] In step S301, identity authentication is performed at each of the seller terminal 10 and the buyer terminal 20. For example, in this embodiment, when the seller terminal 10 and the buyer terminal 20 launch an application or app, they first scan a face image using the cameras 11 and 21 to perform face authentication. The face authentication method is not particularly limited, and any known method can be used. Furthermore, face information required for face authentication can be captured in advance by the cameras 11 and 21 and stored in the storage units 15 and 25. Then, in step S302, the seller terminal 10 and the buyer terminal 20 determine whether face authentication has been successful. If face authentication has been successful at both the seller terminal 10 and the buyer terminal 20, the process proceeds to step S303. On the other hand, if face authentication has not been successful at either the seller terminal 10 or the buyer terminal 20, the offline monetary transaction process shown in FIG. 14 cannot be continued. Therefore, in step S324, an error message is displayed, and the offline monetary transaction process ends.

[0092] In step S303, the seller-side transaction function of the seller terminal 10 acquires transaction information, including the transaction amount of the monetary transaction. For example, the seller can scan the barcode of the product or manually input the transaction amount, etc., to have the buyer enter transaction information, such as the product name, transaction amount, quantity, transaction subject, and transaction date and time, of the product being sold to the buyer, into the input unit 14, thereby allowing the seller-side transaction function to acquire this transaction information. Note that the seller-side transaction function can also be configured to display a screen on the display 13 prompting the seller to enter transaction information, thereby having the seller enter the transaction information via the input unit 14 and acquiring the transaction information entered by the seller.

[0093] In step S304, the seller transaction function of the seller terminal 10 encrypts the transaction information. Specifically, the seller transaction function of the seller terminal 10 encrypts the seller terminal PID stored in the memory unit 15 and the transaction information acquired in step S303 using the seller's private key KS10 also stored in the memory unit 15. The encryption method is not particularly limited, and a known public key encryption method can be used. In addition, since the seller transaction function has not acquired the buyer terminal PID in step S304, it encrypts the transaction information shown in FIG. 13 , excluding the buyer terminal PID.

[0094] In step S305, the seller transaction function of the seller terminal 10 generates and displays a transaction start information code 41 (transaction start image information) that includes the encrypted transaction information and the seller's public key KP10. Specifically, the seller transaction function acquires the seller's public key KP10 stored in the memory unit 15 and generates a transaction start information code 41 that includes the transaction information encrypted in step S304, the seller's public key KP10 acquired from the memory unit 15, and information indicating the start of a monetary transaction. The seller transaction function then displays the generated transaction start information code 41 on the display 13, as shown in FIG. 4. In this embodiment, a color QR code is generated and displayed as the transaction start information code 41, as shown in FIG. 8, but a known method can be used to generate the color QR code.

[0095] In step S306, the buyer-side transaction function of the buyer-side terminal 20 reads the transaction start information code 41 displayed on the seller-side terminal 10 in step S305 and stores it in the memory unit 25. Specifically, the buyer-side transaction function activates the camera 21 and displays a message urging the buyer to read the transaction start information code 41 displayed on the seller-side terminal 10. When the buyer then captures an image of the transaction start information code 41 displayed on the seller-side terminal 10 with the camera 21, the buyer-side transaction function extracts the encrypted transaction information and the seller's public key KP10 from the image data of the read transaction start information code 41. The buyer-side transaction function then stores the obtained encrypted transaction information and the seller's public key KP10 in the memory unit 25.

[0096] In step S307, the encrypted transaction information extracted in step S306 is decrypted by the buyer's transaction function of the buyer terminal 20 using the seller's public key KP10 also extracted in step S306. This allows the buyer terminal 20 to use the decrypted transaction information for display and balance data calculation.

[0097] In step S308, payment approval is executed by the purchaser terminal 20. For example, as shown in Fig. 6(A), the purchaser transaction function of the purchaser terminal 20 displays on the display 23 a screen showing the transaction amount included in the transaction information decrypted in step S307, information such as the terminal balance data and the balance after payment stored in the purchaser terminal 20, and a payment button. Furthermore, when the purchaser presses the payment button displayed on the display 23, the purchaser transaction function displays a message requesting payment approval on the screen, as shown in Fig. 6(B). In response, if the purchaser instructs via the input unit 24 to approve the payment, payment approval is executed in the purchaser terminal 20.

[0098] In step S309, because the payment has been approved, the electronic money balance data is deducted by the purchaser transaction function of the purchaser terminal 20. For example, as shown in Figures 6(A) and 6(B), if the electronic money terminal balance data is 10,000 yen and the price (transaction amount) is 2,800 yen, the purchaser transaction function deducts 2,800 yen from the electronic money terminal balance data of 10,000 yen and updates the terminal balance data to 7,200 yen.

[0099] In step S310, the transaction information is encrypted by the purchaser transaction function of the purchaser terminal 20. Specifically, the purchaser transaction function adds the identification information of the purchaser terminal 20 (purchaser terminal PID) stored in the memory unit 25 of the purchaser terminal 20 to the transaction information decrypted by the purchaser terminal 20 in step S307, and encrypts this transaction information with the purchaser's private key KS20 stored in the memory unit 25. As in step S304, the encryption method is not limited, and a known public key encryption method or the like can be used.

[0100] In step S311, the purchaser transaction function of the purchaser terminal 20 creates and displays a payment completion information code 42. Specifically, the purchaser transaction function acquires the purchaser's public key KP20 stored in the memory unit 25. The purchaser transaction function then generates a payment completion information code 42 (payment completion image information) that includes the transaction information encrypted in step S310, the purchaser's public key KP20 acquired from the memory unit 25, and information indicating that payment has been completed, and displays this on the display 23.

[0101] 15, in step S312, the seller transaction function of the seller terminal 10 determines whether the current monetary transaction has been canceled. For example, in step S303 or later, the seller terminal 10 can display a button for canceling the current monetary transaction on the display 23, and when the seller clicks this button, it can determine that the current monetary transaction has been canceled. If the current monetary transaction has been canceled, the process proceeds to step S321. On the other hand, if the current monetary transaction has not been canceled, the process proceeds to step S313. Note that the processing of step S312 can also be configured to be executed by the buyer transaction function of the buyer terminal 20.

[0102] In step S313, the seller transaction function of the seller terminal 10 reads the payment completion information code 42 displayed on the display 23 of the buyer terminal 20 in step S311 and stores it in the memory unit 15. In addition, in step S314, the seller transaction function of the seller terminal 10 decrypts the encrypted transaction information included in the payment completion information code 42 read in step S313 using the buyer's public key KP20 also included in the payment completion information code 42. This allows the seller terminal 10 to obtain the decrypted transaction information from the payment completion information code 42 displayed on the buyer terminal 20.

[0103] In step S315, the seller transaction function of the seller terminal 10 compares the transaction information stored in the seller terminal 10 with the transaction information included in the payment completion information code 42 displayed on the buyer terminal 20 to determine whether they match. If it is determined in step S316 that the transaction information matches, the process proceeds to step S317. On the other hand, if it is determined that the transaction information does not match, the process proceeds to step S324, where an error message such as "This is a different transaction. Please confirm the transaction item and the purchaser and photograph the information code again" is output.

[0104] In step S317, the seller transaction function of the seller terminal 10 increments the terminal balance data of the seller terminal 10 based on the transaction information decrypted in step S314. Specifically, the seller transaction function confirms that payment has been completed at the buyer terminal 20 based on the information indicating payment completion contained in the payment completion information code 42, and increments the terminal balance data of electronic money in the seller terminal 10 by the amount of the transaction.

[0105] In step S318, the seller-side transaction function of the seller terminal 10 encrypts the transaction information for this monetary transaction with the seller's private key KS10, and in the following step S319, the seller-side transaction function generates a receipt information code 44 containing the transaction information encrypted in step S318, the seller's public key KP10 stored in the memory unit 15, and information indicating that it is a receipt, and displays this on the display 13.

[0106] In step S320, the buyer's transaction function of the buyer's terminal 20 uses the camera 21 to read the receipt information code 44 displayed on the display 13 of the seller's terminal 10, and stores it in the memory unit 25. As a result, evidence that the transaction was officially conducted at the buyer's terminal 20 is stored in the memory unit 25.

[0107] If the current monetary transaction is canceled in step S312, the process proceeds to step S321. In step S321, a cancellation information code 43 for canceling the current monetary transaction is generated and displayed by the seller transaction function of the seller terminal 10. The cancellation information code 43 may be configured to include information indicating that the current monetary transaction is to be canceled, and may further include transaction information related to the current monetary transaction (e.g., the seller terminal PID, the buyer terminal PID, the product name, the transaction amount, the quantity, the subject of the transaction, and the transaction date and time), as shown in FIG.

[0108] In step S322, the buyer-side transaction function of the buyer terminal 20 reads the cancellation information code 43. The buyer-side transaction function can read the cancellation information code 43 by capturing an image of the cancellation information code 43 displayed on the display 13 of the seller terminal 10 in step S321 with the camera 11. Then, in step S323, the buyer-side transaction function of the buyer terminal 20 performs a process to cancel the deduction from the terminal balance data. Specifically, the buyer-side transaction function obtains information indicating that the current monetary transaction is to be canceled, which is included in the cancellation information code 43 read in step S322, and thereby performs a process to restore the terminal balance data that was deducted in step S309 to its original value. In addition, if the cancellation information code 43 is configured to include transaction information such as the seller terminal PID, buyer terminal PID, product name, transaction amount, quantity, transaction subject, and transaction date and time for this monetary transaction in addition to information indicating that the current monetary transaction is to be canceled, the buyer's transaction function can be configured to take this transaction information into consideration, identify the current transaction record, and restore the monetary data that was deducted in the monetary transaction.

[0109] The offline monetary transaction processing shown in Figures 14 and 15 is performed as described above. Note that, at the end of the offline monetary transaction processing, the terminal balance data of the seller terminal 10 and the server balance data of the seller terminal 10 stored in the server 30 will not match. Therefore, when a network communication environment is available after the offline monetary transaction processing, the data update function of the seller terminal 10 accesses the server 30 and updates the server balance data stored in the server 30 so that it matches the terminal balance data stored in the seller terminal 10. Similarly, at the end of the offline monetary transaction processing, the terminal balance data of the buyer terminal 20 and the server balance data of the buyer terminal 20 stored in the server 30 will not match. Therefore, when a network communication environment is available after the offline monetary transaction processing, the data update function of the buyer terminal 20 accesses the server 30 and updates the server balance data stored in the server 30 so that it matches the terminal balance data stored in the buyer terminal 20.

[0110] For example, in an environment where online communication is possible, the buyer terminal 20 can transmit its terminal balance data along with transaction information acquired from the seller terminal 10 to the server 30. Furthermore, if the buyer terminal 20 has conducted monetary transactions with multiple seller terminals 10, it can transmit multiple pieces of transaction information acquired from each of these multiple seller terminals 10 to the server 30. In this case, the server 30 can update the server balance data of the buyer terminal 20 by subtracting the transaction amount included in the transaction information from the server balance data of the buyer terminal 20 before the update, which is stored in the server 30, based on the history of the transaction information (or multiple pieces of transaction information) acquired from the buyer terminal 20. The server 30 can be configured to determine whether the updated server balance data of the buyer terminal 20 matches the terminal balance data of the buyer terminal 20 transmitted from the buyer terminal 20, and output an error to the buyer terminal 20 if they do not match.

[0111] Similarly, in an environment where online communication is possible, the seller terminal 10 can transmit its terminal balance data along with transaction information acquired from the buyer terminal 20 to the server 30. Furthermore, if the seller terminal 10 has conducted monetary transactions with multiple buyer terminals 20, it can transmit multiple pieces of transaction information acquired from each of these multiple buyer terminals 20 to the server 30. In this case, the server 30 can update the server balance data of the seller terminal 10 by increasing the amount of the transaction included in the transaction information based on the history of the transaction information (or multiple pieces of transaction information) acquired from the seller terminal 10. The server 30 can be configured to determine whether the updated server balance data of the seller terminal 10 matches the terminal balance data of the seller terminal 10 transmitted from the seller terminal 10, and output an error to the seller terminal 10 if they do not match.

[0112] Furthermore, in the above-described embodiment, a configuration has been exemplified in which the buyer terminal 20 sends transaction information to the server 30 to update the server balance data of the buyer terminal 20, and the seller terminal 10 sends transaction information to the server 30 to update the server balance data of the seller terminal 10, but this configuration is not limited thereto, and for example, a configuration in which either the seller terminal 10 or the buyer terminal 20 sends transaction information to the server 30 to update the server balance data of both the seller terminal 10 and the buyer terminal 20. For example, when the seller terminal 10 sends transaction information to the server 30, the server 30 updates the server balance data of the seller terminal 10 and can also update the server balance data of the buyer terminal 20 that has conducted a monetary transaction with the seller terminal 10.

[0113] 14 and 15 illustrate an example in which an offline monetary transaction is initiated by the seller inputting transaction information, including the transaction amount, into the seller terminal 10. However, the present invention is not limited to this configuration, and an offline monetary transaction may be initiated, for example, by the buyer inputting transaction information, including the transaction amount, into the buyer terminal 20. For example, a QR code containing the seller's identification information may be placed in a store, and the buyer may read the QR code using the buyer terminal 20, and then input the product, quantity, transaction amount, transaction subject, etc., and approve the payment, thereby achieving a state in which step S308 of the offline monetary transaction process described above has been performed.

[0114] Next, the data tampering prevention effect of the monetary transaction system 1 according to this embodiment will be described. In the offline monetary transaction process shown in Figures 14 and 15, for example, if a purchaser attempts to fraudulently alter the transaction amount of the transaction information included in the transaction start information code 41 stored in the memory unit 25 of the purchaser terminal 20 to zero or an amount less than the original transaction amount before approving the payment at the purchaser terminal 20, in this embodiment, the transaction information included in the transaction start information code 41 stored in the memory unit 25 of the purchaser terminal 20 is encrypted with the seller's private key KS10, so that the transaction amount of the encrypted transaction information cannot be tampered with, thereby preventing fraudulent data tampering by the purchaser. Similarly, if a seller attempts to tamper with the current transaction amount to make it larger than the actual transaction amount in order to fraudulently increase the terminal balance data of the seller terminal 10, in this embodiment, the transaction information contained in the payment completion information code 42 stored in the memory unit 15 of the seller terminal 10 is stored in an encrypted state using the buyer's private key KS20, so the transaction amount of the encrypted transaction information cannot be tampered with, and such fraudulent data tampering by the seller can also be prevented.

[0115] As described above, in this embodiment, the first or second information terminal is configured to store transaction information encrypted with the private key of the other information terminal, thereby effectively preventing tampering of the encrypted transaction information stored in the first or second information terminal. Furthermore, by obtaining a public key from the other information terminal, the first or second information terminal can easily use the encrypted transaction information stored in the first or second information terminal using the public key. In the first or second information terminal, the monetary transaction program can be obfuscated or encrypted to prevent tampering, and a tamper check can be performed to detect program tampering, thereby enhancing the security of the program itself.

[0116] While the preferred embodiments of the present invention have been described above, the technical scope of the present invention is not limited to the above-described embodiments. Various modifications and improvements can be made to the above-described embodiments, and such modifications and improvements are also included in the technical scope of the present invention.

[0117] For example, in the above-described embodiment, from the viewpoint of privacy protection, seller terminal 10 and buyer terminal 20 may be configured not to exchange data that could identify seller terminal 10 and buyer terminal 20. For example, seller terminal 10 and buyer terminal 20 may display information codes 41 and 42 containing only data on the transaction code and transaction amount as transaction information, thereby preventing the system from tracking information such as who the transaction was with and what the transaction was, just as in monetary transactions using only actual currency.

[0118] In addition, in the above-described embodiment, electronic money was used as an example of monetary data used by the seller terminal 10 and the buyer terminal 20, but this configuration is not limited to this, and it is also possible to use, for example, digital currency, points, virtual currency, etc. as monetary data.

[0119] In addition, in the above-described embodiment, as shown in FIG. 8 , the information code 40 is configured such that the teacher code region 403 is located on the lower left side of the information code region 401. However, the location of the teacher code region 403 is not particularly limited, and it can be located, for example, above or below the information code region 401. Also, while the example shown in FIG. 8 illustrates a configuration in which the teacher code region 403 is located adjacent to the information code region 401, it can also be located away from the information code region 401. Furthermore, while the example shown in FIG. 8 illustrates a configuration in which the information code 40 has only one teacher code region 403, this configuration is not limited thereto, and the information code 40 can have multiple teacher code regions 403, such as one teacher code region 403 located above and one teacher code region 403 located below the information code region 401. Additionally, the information code 40 may have one or more teacher code regions 403 located inside the information code region 401.

[0120] REFERENCE SIGNS LIST 1...Money transaction system 10...Seller terminal 11...Camera 12...Communication unit 13...Display 14...Input unit 15...Memory unit 16...Calculation unit 20...Buyer terminal 21...Camera 22...Communication unit 23...Display 24...Input unit 25...Memory unit 26...Calculation unit 30...Server 40-44...Information code 401...Information code area 402...Information cell 403...Teacher code area 404...Teacher cell 405...Cut-out symbol 2...Internet line

Claims

1. A monetary transaction system comprising a first information terminal having a first image display unit and a first image reading unit, and a second information terminal having a second image display unit and a second image reading unit, and which executes monetary transactions offline based on monetary data between the first information terminal and the second information terminal, wherein the first information terminal comprises: a first storage means for storing first balance data held by the first information terminal; a first acquisition means for acquiring transaction amount data for the monetary transaction; a first monetary processing means for increasing or decreasing the first balance data based on the transaction amount data acquired by the first acquisition means; and a first display means for displaying image information including first security information or information based on the first security information on the first image display unit when the first monetary processing means has completed increasing or decreasing the balance of the first balance data; and the second information terminal comprises: a second storage means for storing second balance data held by the second information terminal; and a second image reading means for causing the second image reading unit to read the image information displayed by the first information terminal. A monetary transaction system comprising: a second acquisition means for acquiring the first security information or information based on the first security information from the image information; and a second money processing means for, when the image information is read, increasing or decreasing the balance of the second balance data stored in the second storage means based on the first security information or information based on the first security information.

2. The monetary transaction system described in claim 1, wherein in the first information terminal, the first money processing means, when the user of the first information terminal approves the payment of the transaction amount, reduces the balance of the first balance data stored in the first storage means in accordance with the transaction amount data acquired by the first acquisition means; the first display means, when the first money processing means has completed the reduction of the balance of the first balance data, displays the image information including the transaction amount data and the first security information or information based on the first security information on the first image display unit; and in the second information terminal, the second acquisition means acquires the transaction amount data and the first security information or information based on the first security information from the image information; and the second money processing means, when reading the image information, determines whether to increase the balance of the second balance data in accordance with the transaction amount based on the first security information.

3. The monetary transaction system described in claim 2, wherein the second information terminal has a second display means for displaying image information for transaction cancellation on the second image display unit when the second monetary processing means is prohibited from increasing the balance of the second balance data based on the first security information, and the first information terminal has: a first image reading means for causing the first image reading unit to read the image information for transaction cancellation displayed by the second information terminal; and a cancellation means for canceling the reduction in the balance of the first balance data stored in the first storage means made by the first monetary processing means when the image information for transaction cancellation is read.

4. A monetary transaction system as described in claim 2 or 3, wherein the first security information is information indicating the expiration date of the image information, and in the second information terminal, the second money processing means determines whether the expiration date of the image information has passed based on the first security information, and if the expiration date of the image information has passed, prohibits an increase in the balance of the second balance data stored in the second storage means.

5. A monetary transaction system as described in any of claims 2 to 4, wherein the information based on the first security information is payment completion information encrypted with the public key of the second information terminal, and in the second information terminal, the second storage means stores a private key corresponding to the public key, and the second money processing means decrypts the payment completion information encrypted with the public key with the private key, and when it confirms that payment has been completed at the first information terminal based on the decrypted payment completion information, allows an increase in the balance of the second balance data stored in the second storage means.

6. A monetary transaction system as described in any of claims 2 to 5, wherein the second information terminal has an input means for inputting the transaction amount, and a second display means for generating transaction information including the transaction amount input by the input means and transaction start image information including second security information, and displaying the transaction start image information on the second image display unit of the second information terminal, and the first information terminal has a first image reading means for causing the first image reading unit to read the transaction start image information displayed on the second image display unit of the second information terminal, and in the first information terminal, the first acquisition means acquires the transaction information and the second security information from the transaction start image information.

7. The monetary transaction system described in claim 6, wherein the second security information is information indicating the expiration date of the transaction start image information, and in the first information terminal, the first money processing means determines whether the expiration date of the transaction start image information has passed based on the second security information, and if the expiration date of the transaction start image information has passed, prohibits the reduction of the balance of the first balance data stored in the first storage means.

8. The monetary transaction system described in claim 6, wherein the second security information is the public key of the seller, and in the first information terminal, when the first money processing means has completed the reduction of the balance of the first balance data, the first display means encrypts payment completion information based on the second security information, thereby making the encrypted payment completion information information based on the first security information, and displays payment completion image information including the encrypted payment completion information on the first image display unit.

9. A monetary transaction system according to any one of claims 1 to 8, wherein the image information is displayed as an information code having information cells arranged two-dimensionally as information units.

10. A second information terminal that performs offline monetary transactions based on monetary data with a first information terminal having a first image display unit and a first image reading unit, comprising: a second storage means for storing second balance data held by the second information terminal; a second image reading means for reading image information containing first security information or information based on the first security information when the image information is displayed on the first image display unit of the first information terminal; a second acquisition means for acquiring the first security information or information based on the first security information from the image information; and a second monetary processing means for increasing or decreasing the balance of the second balance data stored in the second storage means according to the transaction amount when the image information is read, wherein the second monetary processing means increases or decreases the balance of the second balance data based on the first security information or information based on the first security information.

11. The second information terminal of claim 10, wherein the second image reading means reads the payment completion image information when the balance reduction of the first balance data held by the first information terminal is completed and the image information is displayed on the first image display unit as payment completion image information, and the second money processing means, when reading the payment completion image information, determines whether to increase the balance of the second balance data based on the first security information.

12. In a monetary transaction system having a first information terminal having a first image display unit and a first image reading unit, and a second information terminal having a second image display unit and a second image reading unit, and which executes monetary transactions based on monetary data between the first information terminal and the second information terminal offline, a computer program executed by the second information terminal includes: a second storage function for storing second balance data held by the second information terminal; a second image reading function for, when image information including transaction information and first security information or information based on the first security information is displayed on the first information terminal, causing the second image reading unit to read the image information displayed by the first information terminal; a second acquisition function for acquiring the first security information or information based on the first security information from the image information; and a second monetary processing function for, when the image information is read, increasing or decreasing the balance of the second balance data stored in the second information terminal depending on the transaction amount. A computer program in which the second money processing function increases or decreases the balance of the second balance data based on the first security information.

13. A computer program as described in claim 12, wherein the image information includes payment completion information indicating that payment has been completed at the first information terminal, and when the second acquisition function acquires the payment completion information from the image information, the second money processing function determines, based on the first security information, whether to increase the balance of the second balance data in accordance with the transaction amount data included in the transaction information.

14. A monetary transaction method for executing a monetary transaction offline based on monetary data between a first information terminal having a first image display unit and a first image reading unit, and a second information terminal having a second image display unit and a second image reading unit, wherein the first information terminal stores first balance data held by the first information terminal, obtains data on the transaction amount for the monetary transaction, increases or decreases the balance of the first balance data held by the first information terminal according to the transaction amount, and displays image information including first security information or information based on the first security information on the first image display unit when the increase or decrease in the balance of the first balance data is completed; and the second information terminal stores second balance data held by the second information terminal, and when the image information displayed by the first information terminal is read by the second image reading unit, decreases or increases the balance of the second balance data stored in the second information terminal based on the first security information or information based on the first security information.

15. The offline monetary transaction method described in claim 14, wherein, when the user of the first information terminal approves payment of the transaction amount, the first information terminal reduces the balance of the balance data held by the first information terminal in accordance with the transaction amount, and when the reduction of the balance of the balance data is completed, the first image display unit displays the image information including the transaction amount data and first security information or information based on the first security information; and when the second information terminal reads the image information displayed by the first information terminal with the second image reading unit, the second information terminal determines based on the first security information whether to increase the balance of the second balance data stored in the second information terminal, and if it determines to increase the second balance data, increases the second balance data in accordance with the transaction amount.

16. A monetary transaction system as described in claim 1, wherein the first information terminal has encryption means for encrypting transaction information including transaction amount data acquired by the first acquisition means with the private key of the first information terminal, which is first security information; the second information terminal has decryption means for decrypting the encrypted transaction information using the public key of the first information terminal; in the first information terminal, the first storage means stores the private key and public key of the first information terminal; the first display means displays the image information including the encrypted transaction information, which is information based on the first security information, and the public key of the first information terminal, on the first image display unit; in the second information terminal, the second acquisition means acquires the encrypted transaction information, which is information based on the first security information, and the public key of the first information terminal from the image information; and the second money processing means increases or decreases the second balance data based on the transaction amount data included in the transaction information decrypted by the decryption means.

17. A monetary transaction system according to claim 16, wherein the second information terminal stores the transaction information in an encrypted state.

18. A monetary transaction system as described in claim 16 or 17, wherein the second information terminal stores the private key and public key of the second information terminal in the second storage means, and the second information terminal further has: second encryption means for encrypting the transaction information acquired from the first information terminal with the private key of the second information terminal; and second display means for displaying image information including the transaction information encrypted by the second encryption means and the public key of the second information terminal on the second image display unit.

19. A first information terminal in a monetary transaction system for executing monetary transactions based on monetary data between a first information terminal and a second information terminal offline, comprising: a first storage means for storing first balance data held by the first information terminal and the private key and public key of the first information terminal; a first acquisition means for acquiring transaction amount data for the monetary transaction; an encryption means for encrypting transaction information including the transaction amount data acquired by the first acquisition means with the private key of the first information terminal, which is first security information; a monetary processing means for increasing or decreasing the first balance data based on the transaction amount data acquired by the first acquisition means; and a first display means for displaying image information including the encrypted transaction information based on the first security information and the public key of the first information terminal, wherein the image information displayed by the first display means is read by the second information terminal, and the balance data of the second information terminal is increased or decreased at the second information terminal based on the encrypted transaction information and the public key of the first information terminal included in the image information.

20. The second information terminal according to claim 10, wherein the first information terminal has a means for displaying image information including transaction information including transaction amount data encrypted with the private key of the first information terminal, which is the first security information, and the public key of the first information terminal for decrypting the encrypted transaction information; and in the second information terminal, the second acquisition means acquires the encrypted transaction information based on the first security information and the public key of the first information terminal from the image information, and further has a decryption means for decrypting the encrypted transaction information using the public key of the first information terminal; and the second money processing means increases or decreases the second balance data based on the transaction amount data included in the transaction information decrypted by the decryption means.

21. The second information terminal according to claim 20, wherein said second storage means stores said transaction information in an encrypted state.

22. A server capable of communicating with a first information terminal as set forth in claim 19 and a second information terminal as set forth in claim 20 or claim 21, comprising: a server memory unit that stores first balance data held by said first information terminal and / or second balance data held by said second information terminal as server balance data; and an update unit that acquires said first balance data and / or second balance data from said first information terminal and / or said second information terminal as terminal balance data, acquires said transaction information, and updates said server balance data stored in said server memory unit based on said acquired terminal balance data and said transaction information.

23. A monetary transaction system having a first information terminal having a first image display unit and a first image reading unit, and a second information terminal having a second image display unit and a second image reading unit, and which executes monetary transactions offline based on monetary data between the first information terminal and the second information terminal, comprising a computer program executed by the first information terminal, the computer program having: a function for storing first balance data held by the first information terminal, and first security information, which is the private key of the first information terminal and the public key of the first information terminal; a function for acquiring transaction amount data for the monetary transaction; a function for encrypting transaction information including the acquired transaction amount data with the private key of the first information terminal, which is the first security information, and generating the encrypted transaction information as information based on the first security information; a function for increasing or decreasing the first balance data based on the acquired transaction amount data; and a display function for displaying image information including the encrypted transaction information and the public key of the first information terminal. A computer program in which the image information displayed by the display function is read by the second information terminal, and the balance data of the second information terminal is increased or decreased at the second information terminal based on the encrypted transaction information contained in the image information and the public key of the first information terminal.

24. The computer program of claim 12, wherein the first information terminal has a means for displaying image information including transaction information including transaction amount data, which is information based on the first security information and is encrypted with the private key of the first information terminal, which is first security information, and the public key of the first information terminal; and the computer program of the second information terminal has a function of storing second balance data held by the second information terminal, a function of causing the second image reading unit to read the image information displayed by the first information terminal, a function of obtaining the encrypted transaction information based on the first security information and the public key of the first information terminal from the image information, a function of decrypting the encrypted transaction information using the public key of the first information terminal, and a function of increasing or decreasing the second balance data based on the transaction amount data included in the decrypted transaction information.

25. The computer program of claim 24, further comprising the function of storing the transaction information in an encrypted state.

26. The monetary transaction method described in claim 14, wherein the first information terminal stores the private key and public key of the first information terminal, encrypts transaction information including the transaction amount data with the private key of the first information terminal, which is first security information, and displays image information including the encrypted transaction information based on the first security information and the public key of the first information terminal as the image information, and the second information terminal reads the image information displayed by the first information terminal and increases or decreases the second balance data based on the encrypted transaction information and the public key of the first information terminal included in the image information.

27. A monetary transaction method executed on a second information terminal when a monetary transaction based on monetary data is executed offline between a first information terminal having a first image display unit and a first image reading unit, and a second information terminal having a second image display unit and a second image reading unit, wherein the first information terminal has a means for displaying image information including transaction information including transaction amount data encrypted with the private key of the first information terminal, which is first security information, and the public key of the first information terminal, and the second information terminal stores second balance data held by the second information terminal, the method comprising: reading the image information displayed by the first information terminal using the second image reading unit; obtaining the encrypted transaction information based on the first security information and the public key of the first information terminal from the image information; decrypting the encrypted transaction information using the public key of the first information terminal; and increasing or decreasing the second balance data based on the transaction amount data included in the decrypted transaction information.

Citation Information

Patent Citations

  • Electronic money system and recording medium

    JP1998154193A

  • Settlement system, terminal, server, and program

    JP2021039517A

  • Authentication system and authentication method

    JP2022144156A

  • System and method for isolated management of digital assets

    US20220129886A1