Program, information processing method, and information processing apparatus

A program that issues an NFT for an image and outputs tampering information addresses the inability of existing technologies to verify image tampering using NFTs, leveraging blockchain for image integrity.

JP2025086208APending Publication Date: 2025-06-06TRANSEEDS CONTRACT CLUB
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2023200113
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-11-27
Publication Date
2025-06-06

AI Technical Summary

Technical Problem

Existing technologies cannot output information regarding whether an image has been tampered with using its Non-Fungible Token (NFT).

Method used

A program that accepts an instruction to capture an image, issues an NFT for the image simultaneously, and outputs information on whether the image has been tampered with after the NFT is issued.

Benefits of technology

Enables the output of information on image tampering based on its NFT, utilizing blockchain technology to ensure the integrity and authenticity of the image.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025086208000001_ABST
    Figure 2025086208000001_ABST
Patent Text Reader

Abstract

To provide a program which can output information about whether an image is altered or not by an NFT of the image.SOLUTION: The program according to one aspect causes a computer to execute processing of receiving an instruction to capture an image through a capture button and outputting an instruction to issue an NFT (Non-Fungible Token) of the image simultaneously with receiving the instruction to capture the image and outputting information about whether or not the image is altered after the NFT of the image is issued. The NFT of the image allows for outputting information about whether the image is altered or not.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

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

[0002] In recent years, techniques for preventing image tampering have been attracting attention. Patent Document 1 discloses an imaging device and a verification device for verifying whether or not an image generated by the imaging device through image composition or multiple exposure shooting has been tampered with. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] JP 2012-094978 A Summary of the Invention [Problem to be solved by the invention]

[0004] However, the invention of Patent Document 1 has a problem in that it is not possible to output information regarding whether or not an image has been tampered with, using the NFT (Non-Fungible Token) of the image.

[0005] One aspect is to provide a program, etc. that can output information regarding whether or not an image has been tampered with based on the image's NFT. [Means for solving the problem]

[0006] A program relating to one aspect causes a computer to execute a process of accepting an instruction to capture an image via a capture button, outputting an instruction to issue an NFT for the image at the same time as the accepted capture instruction, and outputting information regarding whether the image has been tampered with after the NFT for the image has been issued. Effect of the Invention

[0007] In one aspect, an NFT of an image makes it possible to output information regarding whether or not the image has been tampered with. [Brief description of the drawings]

[0008] [Figure 1] FIG. 1 is an explanatory diagram showing an overview of an image tampering determination system based on a blockchain. [Diagram 2] FIG. 2 is a block diagram showing an example of the configuration of a server. [Diagram 3] FIG. 13 is an explanatory diagram illustrating an example of a record layout of a hash value DB. [Figure 4] FIG. 1 is a block diagram showing an example of the configuration of a blockchain node. [Diagram 5] FIG. 2 is a block diagram showing an example of the configuration of a user terminal. [Figure 6] FIG. 2 is an explanatory diagram illustrating an example of a record layout of a data DB. [Figure 7] FIG. 13 is an explanatory diagram showing an example of a screen on which an NFT for an image is issued simultaneously with a shooting instruction. [Figure 8] FIG. 13 is an explanatory diagram showing an example of a display screen for information regarding the presence or absence of tampering with an image. [Figure 9] 13 is a flowchart showing a processing procedure for issuing an NFT for an image simultaneously with a shooting instruction. [Figure 10] 13 is a flowchart showing the processing steps of a subroutine for issuing an NFT of data. [Figure 11] 13 is a flowchart showing a processing procedure for outputting information regarding the presence or absence of data tampering; [Figure 12] 10 is a flowchart showing a processing procedure for sequentially storing images in a folder each time a photograph is taken. [Figure 13] 13 is a flowchart showing a processing procedure for identifying images associated with mismatched hash values. [Figure 14] FIG. 13 is an explanatory diagram showing an example of a list display screen. [Figure 15]13 is a flowchart showing the processing steps for issuing an NFT for a video simultaneously with an instruction to end shooting. [Figure 16] FIG. 13 is an explanatory diagram showing an example of a record layout of a hash value DB and a data DB in Modification 2. [Figure 17] A flowchart showing the processing steps when issuing an NFT for a sub-video. [Figure 18] 13 is a flowchart showing a processing procedure for outputting information regarding whether a video has been tampered with. [Figure 19] 13 is a flowchart showing the processing procedure for issuing an NFT of audio simultaneously with an instruction to end recording. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0009] The present invention will now be described in detail with reference to the drawings showing embodiments thereof.

[0010] (Embodiment 1) The first embodiment relates to a form in which an NFT for an image is minted at the same time as an instruction to capture the image is issued, and information on whether the image has been tampered with after the NFT is issued is output. NFTs are digital data with a certificate of authenticity or ownership, and like virtual currencies, blockchain technology is used for data management, making them tamper-proof and counterfeit-proof.

[0011] 1 is an explanatory diagram showing an overview of an image tampering determination system based on a blockchain. The system of this embodiment includes an information processing device 1, a blockchain system 2, and an information processing terminal 3, and each device transmits and receives information via a network N such as the Internet.

[0012] The information processing device 1 is an information processing device that processes, stores, and transmits / receives various types of information. The information processing device 1 is, for example, a server device, a personal computer, or a general-purpose tablet PC (personal computer). In this embodiment, the information processing device 1 is a server device, and hereinafter, for simplicity, it will be read as server 1.

[0013] The blockchain system 2 is a distributed ledger technology or a distributed network. The blockchain system 2 is composed of multiple nodes 21 that execute consensus processing. Each of the nodes 21 holds a copy of the blockchain data through execution of the consensus processing. The blockchain system 2 generates units of data called blocks at regular intervals and stores the data by linking them like a chain.

[0014] The blockchain system 2 is autonomously managed by using a peer-to-peer network and a distributed timestamp server. Because data is stored in a chain, once data in a block is stored, it is difficult to retroactively change the data. The blockchain system 2 may be of any of the public, private, and consortium types. The unit of data may not be a block but may be an individual transaction. Data may also be stored in a format other than a chain, such as a directed acyclic graph. For simplicity, the blockchain system 2 will be read as blockchain 2 below.

[0015] The information processing terminal 3 is a terminal device that accepts instructions to capture an image, captures an image, transmits instructions to issue an NFT for the image, and receives and displays information regarding whether the image has been tampered with. The information processing terminal 3 is an information processing device such as a smartphone, a mobile phone, a wearable device such as an Apple Watch (registered trademark), a tablet, or a personal computer terminal. For simplicity, the information processing terminal 3 will be referred to as a user terminal 3 below.

[0016] The user terminal 3 according to this embodiment accepts an instruction to capture an image through a capture button. The user terminal 3 transmits (outputs) an instruction to issue an NFT for the image to the blockchain 2 at the same time as the accepted capture instruction. The user terminal 3 displays (outputs) information regarding whether the image has been tampered with after the NFT for the image has been issued.

[0017] 2 is a block diagram showing an example of the configuration of the server 1. The server 1 includes a control unit 11, a storage unit 12, a communication unit 13, a reading unit 14, and a large-capacity storage unit 15. Each component is connected by a bus B.

[0018] The control unit 11 includes an arithmetic processing device such as a central processing unit (CPU), a micro-processing unit (MPU), a graphics processing unit (GPU), a field programmable gate array (FPGA), a digital signal processor (DSP), or a quantum processor. The control unit 11 reads out and executes a control program 1P (program product) stored in the storage unit 12, thereby performing various information processing or control processing related to the server 1.

[0019] It should be noted that the control program 1P can be deployed to run on a single computer, or on multiple computers located at one site, or distributed across multiple sites and interconnected by a communications network.

[0020] 2, the control unit 11 is described as a single processor, but may be a multi-processor. The control unit 11 may execute various information processes or control processes by the same processor in the server 1, or may execute them by different processors in the server 1.

[0021] The storage unit 12 includes memory elements such as a RAM (Random Access Memory) and a ROM (Read Only Memory), and stores the control program 1P or data required for the control unit 11 to execute processing. The storage unit 12 also temporarily stores data required for the control unit 11 to execute arithmetic processing. The communication unit 13 is a communication module for performing communication-related processing, and transmits and receives information to and from the nodes 21 of the blockchain 2 or the user terminals 3, etc., via the network N.

[0022] The reading unit 14 reads the portable storage medium 1a including a CD (Compact Disc)-ROM or a DVD (Digital Versatile Disc)-ROM. The control unit 11 may read the control program 1P from the portable storage medium 1a via the reading unit 14 and store it in the mass storage unit 15. The control unit 11 may also download the control program 1P from another computer via a network N or the like and store it in the mass storage unit 15. Furthermore, the control unit 11 may read the control program 1P from the semiconductor memory 1b.

[0023] The mass storage unit 15 includes a recording medium such as a hard disk drive (HDD) or a solid state drive (SSD). The mass storage unit 15 includes a hash value database (DB) 151. The hash value DB 151 stores hash values ​​of data including images, videos, audio, and the like.

[0024] In this embodiment, the storage unit 12 and the large-capacity storage unit 15 may be configured as an integrated storage device. The large-capacity storage unit 15 may be configured with a plurality of storage devices. Furthermore, the large-capacity storage unit 15 may be an external storage device connected to the server 1.

[0025] The server 1 may execute various information processing and control processing, etc., on a single computer, or may execute the processing in a distributed manner on multiple computers. The server 1 may also be realized by multiple virtual machines provided in one server, or may be realized by using a cloud server.

[0026] 3 is an explanatory diagram showing an example of a record layout of the hash value DB 151. The hash value DB 151 includes a data ID column, a user ID column, a type column, and a hash value column. The data ID column stores a uniquely specified data ID to identify each data. The user ID column stores a user ID to identify a user.

[0027] The type column stores the type of data, which may be an image, video, audio, etc. The hash value column stores the hash value of the data.

[0028] 4 is a block diagram showing a configuration example of a node 21 of the blockchain 2. The node 21 of the blockchain 2 includes a control unit 211, a storage unit 212, a communication unit 213, a reception unit 214, an output unit 215, a block generation unit 216, a block verification unit 217, and a block sharing unit 218. Each component is connected by a bus B.

[0029] The control unit 211 cooperates with the control units 211 of other nodes 21 (terminals) in an autonomous and decentralized manner to hold the latest blockchain (ledger: copy of blockchain data) in the storage unit 212. The storage unit 212 stores the blockchain (ledger) including transactions broadcast to the decentralized network, and information required for verification processing of information in the block, etc.

[0030] The communication unit 213 is a communication module for performing processing related to communication. The reception unit 214 receives information to be recorded in a distributed network that is the blockchain 2 managed by the blockchain 2 from the external node 21. The output unit 215 outputs information on the blockchain 2 that it holds in response to a request from the external node 21.

[0031] The block generation unit 216 generates a block to be added to the blockchain 2 based on the information received by the reception unit 214. The block generation unit 216 generates a block including information based on the previous block and the information received by the reception unit 214.

[0032] In addition, the block generation unit 216 performs a predetermined consensus process, such as a process of searching for a nonce or a process of assigning a signature, on a block that it has generated or a block that another node 21 has generated via the block sharing unit 218 described later, and then adds the block to the blockchain 2 that it manages.

[0033] In addition, the block generated by the block generation unit 216 is finally added to the blockchain 2 when multiple nodes 21 perform a predetermined consensus process on the block.

[0034] When adding a block to the blockchain 2 held by the block verification unit 217, the block verification unit 217 verifies the information in the block. Usually, the block to be added is the block whose rules are satisfied earliest among the group of nodes 21 including the own node 21, but in consideration of the case where a malicious node 21 is included, it may be possible to verify whether the rules are actually satisfied.

[0035] The block sharing unit 218 exchanges information between the nodes 21 belonging to the blockchain 2. More specifically, the block sharing unit 218 transmits information received by the reception unit 214, blocks generated by the block generation unit 216, blocks received from other nodes 21, etc. to other nodes 21 as appropriate. In this way, this information and the latest blockchain 2 are shared among all nodes 21 as much as possible.

[0036] Note that the configuration in Figure 4 is merely one example, and the specific configuration of the blockchain node 21 is not important as long as it is capable of executing a predetermined consensus process for multiple nodes to share and manage a blockchain 2 that is difficult to tamper with, and is a node that is capable of adding information to the distributed network in response to requests from external nodes, and of referencing information recorded in the distributed network.

[0037] In addition, the server 1 may be a node 21 of the blockchain 2.

[0038] 5 is a block diagram showing an example of the configuration of the user terminal 3. The user terminal 3 includes a control unit 31, a storage unit 32, a communication unit 33, an input unit 34, a display unit 35, and a large-capacity storage unit 36. Each component is connected by a bus B.

[0039] The control unit 31 includes an arithmetic processing unit such as a CPU or an MPU, and performs various information processing or control processing related to the user terminal 3 by reading and executing a control program 3P (program product) stored in the storage unit 32. Note that, although the control unit 31 is described in Fig. 5 as being a single processor, it may be a multiprocessor.

[0040] The control program 3P also includes a program for executing processes such as the generation and execution of smart contracts such as Ethereum's Geth (Go-Ethereum), the transfer of virtual currency, the creation of an account, or mining. The control unit 31 includes a hash value calculation unit 31a and an electronic signature creation unit 31b. The hash value calculation unit 31a performs a process of calculating a wallet address, etc., using a cryptographic hash function. The electronic signature creation unit 31b generates a signature for digital verification based on a public key cryptosystem to prevent forgery or tampering.

[0041] The storage unit 32 includes memory elements such as RAM and ROM, and stores the control program 3P or data required for the control unit 31 to execute processing. The storage unit 32 also temporarily stores data required for the control unit 31 to execute arithmetic processing.

[0042] The communication unit 33 is a communication module for performing processing related to communication, and transmits and receives information to and from the server 1 or the node 21 of the blockchain 2, etc., via the network N. The input unit 34 may be a keyboard, a mouse, or a touch panel integrated with the display unit 35. The display unit 35 is a liquid crystal display, an organic EL (electroluminescence) display, or the like, and displays various information according to instructions from the control unit 31.

[0043] The mass storage unit 36 ​​includes a recording medium such as an HDD or SSD. The mass storage unit 15 includes a data DB 361. The data DB 361 stores data including images, videos, sounds, and the like.

[0044] FIG. 6 is an explanatory diagram showing an example of a record layout of the data DB 361. The data DB 361 includes a data ID column, a type column, a data column, and a token ID column. The data ID column stores a data ID for identifying data. The type column stores the type of data. The data column stores data such as images, videos, or audio. The data column may also store a folder name or file name in which data is saved. The token ID column stores a token ID, which is identification information for the NFT of the data.

[0045] For example, on Blockchain 2, an NFT may be issued that can prove its "authenticity" or "value" like a certificate of authenticity by using ERC721, one of the smart contract standards of Ethereum. When ERC721 is used, the NFT is composed of a token ID, a user's wallet address (owner address), a token URI (Uniform Resource Identifier), etc.

[0046] When an NFT is issued, the token ID, wallet address, token URI, and the like of the NFT are stored on the blockchain 2. The token URI is an attribute that indicates the location of metadata for the NFT. The location of the metadata is, for example, the URL (Uniform Resource Locator) of the metadata. The metadata itself may be stored in an external database device, for example, in JSON (JavaScript Object Notation) format.

[0047] In addition, when issuing NFTs, it is not limited to ERC721, and for example, ERC1155 or ERC4907 may also be used.

[0048] The above-mentioned storage formats of each DB are merely examples, and other storage formats may be used as long as the relationships between the data are maintained.

[0049] In this embodiment, we will explain the process of issuing an NFT for an image at the same time as issuing an instruction to capture an image, and the process of outputting information on whether the image has been tampered with. Note that videos will be explained in embodiment 2, and audio will be explained in embodiment 3.

[0050] Fig. 7 is an explanatory diagram showing an example of a screen for issuing an NFT for an image at the same time as issuing a shooting instruction. Fig. 7A is an explanatory diagram showing an example of a home screen. Fig. 7B is an explanatory diagram showing an example of a shooting screen. Fig. 7C is an explanatory diagram showing an example of an NFT issuing screen.

[0051] FIG. 7A includes a shooting screen transition button 12a and a thumbnail image display field 12b. The shooting screen transition button 12a is a button for transitioning to a shooting screen (FIG. 7B). The thumbnail image display field 12b is a display field for displaying thumbnail images of each image for which an NFT has been issued. FIG. 7B includes a shooting button 12c and an image display field 12d. The shooting button 12c is a button for shooting an image. The image display field 12d is a display field for displaying a captured image.

[0052] Fig. 7C includes a shooting information display field 12e, a save button 12f, and a home (HOME) transition button 12g. The shooting information display field 12e is a display field that displays information such as the image file name and shooting date and time. The save button 12f is a button for storing (saving) image data. The home transition button 12g is a button for transitioning to the home screen (Fig. 7A).

[0053] When the user terminal 3 receives a touch (click) operation of the shooting screen transition button 12a on the home screen (FIG. 7A), the user terminal 3 transitions to a shooting screen (FIG. 7B). When the user terminal 3 receives a touch operation of the shooting button 12c on the shooting screen (FIG. 7B), the user terminal 3 receives an instruction to shoot an image.

[0054] The user terminal 3 transmits (outputs) an issuance instruction for the NFT of the image to the blockchain 2 at the same time as the received shooting instruction. Specifically, the user terminal 3 captures an image in response to the received shooting instruction. The user terminal 3 transitions to an NFT issuance screen (FIG. 7C). On the NFT issuance screen (FIG. 7C), the user terminal 3 displays the captured image in the image display field 12d, and displays information about the image, such as the file name and shooting date and time, in the shooting information display field 12e.

[0055] When the user terminal 3 receives a touch operation on the home transition button 12g on the NFT issuance screen (FIG. 7C), it deletes the captured image without issuing an NFT for the image, and transitions to the home screen (FIG. 7A).

[0056] When the user terminal 3 receives a touch operation of the save (save card) button 12f on the NFT issuance screen (FIG. 7C), it calculates a hash value corresponding to the captured image. Specifically, the user terminal 3 calculates the hash value of the image using a cryptographic hash function. For example, the user terminal 3 employs a hash function using keccak256 (a standard hash function used by Ethereum) or the SHA2-256 algorithm to calculate the hash value of the image. Note that this is not limited to a hash function, and other encryption methods may also be used.

[0057] Alternatively, the user terminal 3 performs encoding processing on the captured image and calculates a hash value corresponding to the encoded image. Specifically, the user terminal 3 encodes the image into a character string using an encoding method such as Base64. With base64encode, the image can be converted into 64 types of English characters even in an environment that cannot handle multibyte characters such as Japanese. The user terminal 3 uses, for example, the keccak256 algorithm to calculate a hash value of the character string (encoded data) obtained by encoding the image.

[0058] The user terminal 3 assigns a data ID to the image. The user terminal 3 transmits to the server 1 the user ID, the type of data which is "image", and the calculated hash value corresponding to the image, in association with the assigned data ID. The server 1 receives the data ID, user ID, data type, and hash value of the image transmitted from the user terminal 3. The server 1 stores the data type and hash value as one record in the hash value DB 151, in association with the received data ID and user ID.

[0059] The user terminal 3 issues an NFT for the captured image through the blockchain 2. Specifically, the user terminal 3 transmits an issuance instruction for the NFT for the captured image to any one of the nodes 21 in the blockchain 2. The issuance instruction includes a calculated hash value corresponding to the image. The node 21 in the blockchain 2 generates an NFT for the image in response to the issuance instruction for the NFT for the image transmitted from the server 1.

[0060] For example, if the blockchain 2 is Ethereum, the user terminal 3 generates an NFT of the image using ERC721, which is one of the smart contract standards of Ethereum. By using the ERC721 standard, the NFTs of all images on the blockchain 2 are disclosed and cannot be tampered with, making it possible to attach owner or attribution information, etc.

[0061] The token ID, owner address, token URI, etc. of the NFT of the generated image are stored on the blockchain 2. In addition, a hash value corresponding to the image included in the issuance instruction is stored on the blockchain 2 in association with the token ID of the NFT of the image.

[0062] In addition, if the NFT of the image is issued to the administrator, the administrator will transfer the NFT of the image that he holds to the target user. In this case, blockchain 2 will inherit the token ID and token URI (metadata location) of the image's NFT. Blockchain 2 will change the owner address of the image's NFT from the administrator's owner address to the target user's owner address. Blockchain 2 will store the token ID (unchanged), changed owner address, and token URI (unchanged) of the image's NFT after the transfer, etc.

[0063] In addition, owners (users) of image NFTs can freely trade image NFTs in the same way as crypto assets, through buying, selling, or transferring the image NFTs.

[0064] The node 21 of the blockchain 2 transmits the token ID of the NFT of the generated image to the user terminal 3. The user terminal 3 stores the type of data (image), the image data, and the token ID of the NFT of the image transmitted from the blockchain 2 as one record in the data DB 361 in association with the data ID of the image.

[0065] The user terminal 3 displays thumbnail images of images corresponding to the issued NFTs of the images in the thumbnail image display field 12b on the home screen (FIG. 7A) together with thumbnail images of each image for which an NFT has been issued.

[0066] Fig. 8 is an explanatory diagram showing an example of a display screen for information regarding the presence or absence of tampering with an image. Fig. 8 is a screen that displays information regarding the presence or absence of tampering with an image after the issuance of an NFT for the image. The information regarding the presence or absence of tampering includes, for example, information indicating a determination result of no tampering and information indicating a determination result of tampering.

[0067] 7 are denoted by the same reference numerals and the description thereof will be omitted. The screen includes a judgment result display field 12h. The judgment result display field 12h is an icon showing the judgment result of judging whether or not the screen has been tampered with.

[0068] First, the user terminal 3 obtains a hash value corresponding to an image to be determined from the server 1. Specifically, the user terminal 3 transmits the data ID and user ID of the image to the server 1. The server 1 obtains a hash value corresponding to the image from the hash value DB 151 based on the data ID and user ID of the image transmitted from the user terminal 3.

[0069] Next, the user terminal 3 acquires a hash value of the corresponding image on the blockchain 2. Specifically, the user terminal 3 acquires a token ID of the NFT of the image from the data DB 361 based on the data ID of the image. The user terminal 3 transmits the acquired token ID to any one of the nodes 21 of the blockchain 2. The node 21 of the blockchain 2 acquires a hash value corresponding to the image based on the token ID transmitted from the user terminal 3. The node 21 of the blockchain 2 transmits the acquired hash value to the user terminal 3.

[0070] Then, the user terminal 3 compares the hash value corresponding to the image acquired from the hash value DB 151 of the server 1 with the hash value corresponding to the image transmitted from the block chain 2. If the two match, the user terminal 3 determines that the image has not been tampered with. If the two do not match, the user terminal 3 determines that the image has been tampered with.

[0071] The user terminal 3 displays an icon indicating a judgment result of tampering or an icon indicating a judgment result of no tampering in the judgment result display field 12h according to the judgment result. As shown in the figure, as an example, an icon indicating a judgment result of tampering is displayed with a check mark, and an icon indicating a judgment result of no tampering is displayed with a cross mark. Note that the display format of the judgment result is not limited to the above-mentioned icons, and may be, for example, text (for example, tampered with or not tampered with), etc.

[0072] 9 is a flowchart showing the processing procedure when issuing an NFT for an image at the same time as issuing a shooting instruction. The control unit 31 of the user terminal 3 receives a shooting instruction for an image via the input unit 34, for example, via the shooting button 12c on the shooting screen (FIG. 7B) (step S301). The control unit 31 shoots an image in response to the received shooting instruction (step S302).

[0073] The control unit 31 calculates a hash value corresponding to the captured image (step S303). For example, the control unit 31 may calculate the hash value of the image using the keccak256 algorithm. Alternatively, the control unit 31 may encode the image into a character string using an encoding method such as Base64, and calculate the hash value of the character string obtained by the encoding process using the keccak256 algorithm.

[0074] The control unit 31 stores the calculated hash value corresponding to the image in the server 1 (step S304). Specifically, the control unit 31 assigns a data ID to the image. The control unit 31 transmits the user ID, the data type which is "image", and the calculated hash value corresponding to the image to the server 1 in association with the assigned data ID. The control unit 11 of the server 1 receives the data ID, user ID, data type, and hash value of the image transmitted from the user terminal 3. The control unit 11 stores the data type and hash value as one record in the hash value DB 151 of the mass storage unit 15 in association with the received data ID and user ID.

[0075] The control unit 31 issues an NFT for the captured image by executing a subroutine for processing to issue an NFT for the data (step S305). The subroutine for the data NFT issuance processing will be described later. The control unit 31 associates the data type (image), the image data, and the token ID of the NFT for the image sent from the blockchain 2 with the data ID of the image, and stores them as one record in the data DB 361 of the mass storage unit 36 ​​(step S306). The control unit 31 ends the processing.

[0076] Fig. 10 is a flowchart showing the procedure of a subroutine for issuing an NFT for data. Note that the procedure of the subroutine in Fig. 10 is a common procedure for issuing an NFT for data including an image (this embodiment), a video (embodiment 2), or an audio (embodiment 3).

[0077] The control unit 31 of the user terminal 3 acquires a hash value corresponding to the data to be issued as an NFT (step S01). The control unit 31 transmits an instruction to issue an NFT for the data to any one of the nodes 21 in the blockchain 2 via the communication unit 33 (step S02). The instruction to issue an NFT for the data includes a hash value corresponding to the data.

[0078] The control unit 211 of the node 21 of the blockchain 2 receives an instruction to issue an NFT for the data transmitted from the server 1 via the communication unit 213 (step S11). In response to the instruction to issue an NFT for the received data, the control unit 211 of the node 21 generates an NFT for the data, for example, using ERC721 (step S12).

[0079] The control unit 211 stores the token ID, owner address, and token URI of the generated NFT of the data in the storage unit 212 (step S13). The control unit 211 stores a hash value corresponding to the data included in the issuance instruction of the NFT of the data in association with the token ID (identification information) of the NFT of the data in the storage unit 212 (step S14).

[0080] The control unit 211 transmits the token ID of the NFT of the generated data to the user terminal 3 via the communication unit 213 (step S15). The control unit 31 of the user terminal 3 receives the token ID of the NFT of the data transmitted from the node 21 of the blockchain 2 via the communication unit 33 (step S03). The control unit 31 ends the subroutine of the NFT issuance process for the data and returns.

[0081] Fig. 11 is a flowchart showing a processing procedure for outputting information on whether data has been tampered with. Note that the processing procedure in Fig. 11 is a common processing procedure for outputting information on whether data including an image (this embodiment), a video (second embodiment), or an audio (third embodiment) has been tampered with.

[0082] The control unit 31 of the user terminal 3 acquires the data ID of the target data (step S311). For example, when the control unit 31 accepts the selection of the target data by the user, the control unit 31 may acquire the data ID of the selected data.

[0083] The control unit 31 acquires a hash value of the data from the server 1 based on the acquired data ID (step S312). Specifically, the control unit 31 transmits the data ID and the user ID to the server 1 via the communication unit 33. The control unit 11 of the server 1 acquires a hash value corresponding to the data from the hash value DB 151 of the mass storage unit 15 based on the data ID and the user ID transmitted from the user terminal 3. The control unit 11 transmits the acquired hash value to the user terminal 3 via the communication unit 13.

[0084] The control unit 31 acquires the token ID of the NFT of the data from the data DB 361 of the mass storage unit 36 ​​based on the data ID (step S313). The control unit 31 transmits the token ID of the NFT of the acquired data to any one of the nodes 21 of the blockchain 2 via the communication unit 33 (step S314).

[0085] The control unit 211 of the node 21 of the blockchain 2 receives the token ID transmitted from the user terminal 3 via the communication unit 213 (step S211). The control unit 211 of the node 21 acquires a hash value corresponding to the relevant data from the storage unit 212 based on the received token ID (step S212). The control unit 211 of the node 21 transmits the hash value corresponding to the acquired data to the user terminal 3 via the communication unit 213 (step S213).

[0086] The control unit 31 of the user terminal 3 receives the hash value corresponding to the data transmitted from the node 21 via the communication unit 33 (step S315). The control unit 31 compares the hash value corresponding to the data acquired from the server 1 with the hash value corresponding to the data transmitted from the node 21 to determine whether or not the two match (step S316).

[0087] If the two do not match (NO in step S316), control unit 31 determines that the data has been tampered with (step S318). Control unit 31 proceeds to processing in step S319, which will be described later. If the two match (YES in step S316), control unit 31 determines that the data has not been tampered with (step S317). Control unit 31 displays the result of the match determination on display unit 35 (step S319). Control unit 31 ends the processing.

[0088] According to this embodiment, by issuing an NFT for an image at the same time as issuing a command to capture the image, it is possible to perform processing to prevent tampering with the captured image.

[0089] According to this embodiment, since it is possible to detect whether an image has been tampered with, it is possible to prevent tampering with an image, video or audio due to malicious acts or the like.

[0090] According to this embodiment, it is possible to store a hash value for an image in the blockchain system in association with the identification information of the image's NFT.

[0091] According to this embodiment, encoding is performed on the image, which makes it easier to process the data.

[0092] <Variation 1> The process of determining whether or not an image has been tampered with at a predetermined timing for each captured image that is stored will be described below. Note that the description of the contents that overlap with the first embodiment will be omitted.

[0093] The user terminal 3 sequentially stores images in a folder (mass storage unit 36) each time it captures an image. The user terminal 3 sequentially issues an NFT for each stored image through the blockchain 2. Note that the NFT issuance process is the same as in the first embodiment, and therefore will not be described.

[0094] At a predetermined timing, the user terminal 3 compares the hash value of each image stored in the folder with the corresponding hash value on the blockchain 2 for consistency. The user terminal 3 identifies images associated with mismatched hash values ​​and displays the identified images on the screen. The predetermined timing can be set as appropriate, for example, a point in time after a predetermined time (e.g., 5 minutes) has elapsed since the image was captured, when the system is started, a preset time, day or day of the week, or every time a certain amount of time (e.g., 1 hour) has elapsed.

[0095] 12 is a flowchart showing a processing procedure for sequentially storing images in a folder each time they are photographed. The control unit 31 of the user terminal 3 receives an instruction to photograph an image through the input unit 34, for example, via the photograph button 12c on the photographing screen (FIG. 7B) (step S321). The control unit 31 photographs an image in response to the received photographing instruction (step S322). The control unit 31 stores the photographed image in a folder (mass storage unit 36) (step S323).

[0096] The control unit 31 issues an NFT for the captured image by executing a subroutine for processing to issue an NFT for the data (step S324). The control unit 31 stores the type of data (image), the file name of the image, and the token ID of the NFT for the image transmitted from the blockchain 2 as one record in the data DB 361 of the mass storage unit 36 ​​in association with the data ID of the image (step S325). The control unit 31 returns to the processing of step S321.

[0097] 13 is a flowchart showing the processing procedure for identifying images associated with mismatched hash values. The control unit 31 of the user terminal 3 determines whether or not a predetermined timing has arrived (step S331). The predetermined timing may be, for example, a point in time after a predetermined time (e.g., 5 minutes) has elapsed since the time when the first image in the folder was captured. If the predetermined timing has not arrived (NO in step S331), the control unit 31 waits.

[0098] When the predetermined timing arrives (YES in step S331), the control unit 31 acquires each image stored in the folder in sequence (step S332). Based on the file name of the acquired image, the control unit 31 acquires the token ID of the NFT of each image from the data DB 361 of the mass storage unit 36 ​​(step S333). The control unit 31 selects one image from the multiple images (step S334).

[0099] The control unit 31 calculates a hash value of the selected image using the keccak256 algorithm (step S335). The control unit 31 acquires a corresponding hash value from the memory unit 212 of the node 21 of the blockchain 2 through the communication unit 33 based on the token ID of the NFT of the image (step S336).

[0100] The control unit 31 determines whether the hash value of the image stored in the folder matches the corresponding hash value on the block chain 2 (step S337). If the two match (YES in step S337), the control unit 31 transitions to processing in step S339, which will be described later. If the two do not match (NO in step S337), the control unit 31 identifies the image (step S338).

[0101] The control unit 31 determines whether the image is the last image among the multiple images (step S339). If the image is not the last image (NO in step S339), the control unit 31 returns to the process of step S334. If the image is the last image (YES in step S339), the control unit 31 displays the identified image on a list display screen (FIG. 14A described later) via the display unit 35 (step S340). The control unit 31 ends the process.

[0102] Fig. 14 is an explanatory diagram showing an example of a list display screen, and Fig. 14A is an explanatory diagram showing an example of a list display screen of the determination results.

[0103] The screen includes a list display field 13a, an individual thumbnail image display field 13b, a tampering presence / absence icon 13c, and a judgment date and time display field 13d. The list display field 13a is a display field for displaying a list of judgment results for images stored in sequence each time they are shot. The individual thumbnail image display field 13b is a display field for displaying each thumbnail image. The tampering presence / absence icon 13c is an icon showing information regarding the presence or absence of tampering for each image. The judgment date and time display field 13d is a display field for displaying date and time information when it was judged whether the image was tampered with or not.

[0104] The user terminal 3 acquires each image stored in the folder in sequence at a predetermined timing (for example, 12:00). The user terminal 3 judges whether each acquired image has been tampered with, similar to the above-mentioned process of judging whether the image has been tampered with. The user terminal 3 displays the judgment date and time when the judgment whether the image has been tampered with is made in the judgment date and time display field 13d.

[0105] The user terminal 3 displays an icon indicating a determination result of tampering (for example, a cross mark icon) or an icon indicating a determination result of no tampering (for example, a check mark icon) in the tampering presence / absence icon 13c according to the determination result for each image. Note that the display format of the determination result is similar to that of the determination result display field 12h in FIG. 8, and therefore a description thereof will be omitted.

[0106] The user terminal 3, for example, stores the determination result of whether or not tampering has occurred in the large-capacity storage unit 36. In this case, when determining whether or not tampering has occurred next time for each image, the difference (difference) from the previous determination result can be highlighted.

[0107] 14B is an explanatory diagram showing an example of a judgment result difference display screen. The user terminal 3 acquires the previous judgment result stored in the mass storage unit 36. The user terminal 3 compares the acquired previous judgment result with the current judgment result, and highlights thumbnail images of images with differences.

[0108] The highlighting may be a display method such as changing the thickness of the frame surrounding the thumbnail image, the color of the line (hue, saturation, or brightness, etc.), or the type of line (solid line, dashed line, etc.), or inverting the background color of the thumbnail image, so as to show the difference between the previous judgment result and the current judgment result. Alternatively, the highlighting may be a mark or hatching superimposed on the thumbnail image. As shown in the figure, when the previous judgment result of an image was not tampered with but the current judgment result is that there is tampering, the thumbnail image of that image is highlighted by being surrounded by a thick frame.

[0109] In this modification, an example of an image will be described, but the present invention is not limited to this and can be similarly applied to the moving image in the second embodiment.

[0110] According to this modification, it becomes possible to determine at a predetermined timing whether or not an image has been tampered with, for each image that is captured and stored in sequence.

[0111] (Embodiment 2) The second embodiment relates to a form in which an NFT for a video is issued at the same time as an instruction to end shooting the video is issued, and information regarding whether or not the video has been tampered with after the issuance of the NFT is output. Note that a description of the contents that overlap with the first embodiment will be omitted.

[0112] First, the process of issuing an NFT for a video at the same time as receiving an instruction to end video shooting will be described. For example, when the user terminal 3 receives an instruction to shoot a video via the shooting button 12c on the shooting screen (FIG. 7B), the user terminal 3 shoots a video. When the user terminal 3 receives another operation (e.g., touch) of the shooting button 12c, the user terminal 3 receives an instruction to end shooting the video being shot. In this case, the user terminal 3 uses the keccak256 algorithm to calculate a hash value corresponding to the video.

[0113] Alternatively, the user terminal 3 performs encoding processing on the captured video and calculates a hash value corresponding to the encoded video. Specifically, the user terminal 3 encodes the video into a character string using an encoding method such as Base64. The user terminal 3 uses, for example, the keccak256 algorithm to calculate a hash value of the character string obtained by encoding the video.

[0114] The user terminal 3 assigns a data ID to the video. The user terminal 3 transmits to the server 1 the user ID, the type of data which is "video", and the calculated hash value corresponding to the video, in association with the assigned data ID. The server 1 receives the data ID, user ID, data type, and hash value of the video transmitted from the user terminal 3. The server 1 stores the data type and hash value as one record in the hash value DB 151, in association with the received data ID and user ID.

[0115] The user terminal 3 issues an NFT for the captured video through the blockchain 2. Specifically, the user terminal 3 transmits an issuance instruction for the NFT for the captured video to any one of the nodes 21 in the blockchain 2. The issuance instruction includes a calculated hash value corresponding to the video. The node 21 in the blockchain 2 generates an NFT for the video in response to the issuance instruction for the NFT for the video transmitted from the server 1.

[0116] The token ID, owner address, token URI, etc. of the generated NFT of the video are stored on the blockchain 2. In addition, a hash value corresponding to the video included in the issuance instruction is stored on the blockchain 2 in association with the token ID of the NFT of the video.

[0117] The node 21 of the blockchain 2 transmits the token ID of the generated NFT of the video to the user terminal 3. The user terminal 3 stores the type of data (video), the video data, and the token ID of the NFT of the video transmitted from the blockchain 2 as one record in the data DB 361, in association with the data ID of the video.

[0118] The user terminal 3 displays on the home screen (Figure 7A) thumbnail images of each image for which an NFT has been issued, and thumbnail images of each video for which an NFT has been issued, along with thumbnail images of the video corresponding to the issued NFT for that video.

[0119] Next, a process for outputting information regarding whether the video has been tampered with after the issuance of the NFT will be described. First, the user terminal 3 obtains a hash value corresponding to the video to be judged from the server 1. Specifically, the user terminal 3 transmits the data ID and user ID of the video to the server 1. The server 1 obtains a hash value corresponding to the video from the hash value DB 151 based on the data ID and user ID of the video transmitted from the user terminal 3. The server 1 transmits the obtained hash value to the user terminal 3.

[0120] Next, the user terminal 3 acquires a hash value of the corresponding video on the blockchain 2. Specifically, the user terminal 3 acquires a token ID of the NFT of the video from the data DB 361 based on the data ID of the video. The user terminal 3 transmits the acquired token ID to any one of the nodes 21 in the blockchain 2. The node 21 in the blockchain 2 acquires a hash value corresponding to the video based on the token ID transmitted from the user terminal 3. The node 21 in the blockchain 2 transmits the acquired hash value to the user terminal 3.

[0121] Then, the user terminal 3 compares the hash value corresponding to the video obtained from the hash value DB 151 of the server 1 with the hash value corresponding to the video transmitted from the node 21. If the two match, the user terminal 3 determines that the video has not been tampered with. If the two do not match, the user terminal 3 determines that the video has been tampered with. The user terminal 3 displays the determination result on the screen. Note that the display process of the determination result is the same as in embodiment 1, so a description thereof will be omitted.

[0122] Fig. 15 is a flowchart showing the processing procedure for issuing an NFT for a video simultaneously with an instruction to end shooting. Note that the same reference numerals are used for the same contents as in Fig. 9, and the description thereof will be omitted.

[0123] The control unit 31 of the user terminal 3 receives a shooting instruction for a moving image through the input unit 34, for example, via the shooting button 12c on the shooting screen (FIG. 7B) (step S341). The control unit 31 shoots a moving image in response to the received shooting instruction (step S342). When the control unit 31 receives another operation (e.g., touch) of the shooting button 12c, it receives an instruction to end shooting of the moving image being shot through the input unit 34 (step S343). The control unit 31 executes the processes from step S303 onwards.

[0124] According to this embodiment, by issuing an NFT for a video at the same time as issuing an instruction to end video shooting, it is possible to perform processing to prevent tampering with the shot video.

[0125] According to this embodiment, it is possible to store a hash value for a video in the blockchain system in association with the identification information of the video's NFT.

[0126] According to this embodiment, encoding processing is performed on moving images, which makes it easier to process data.

[0127] <Variation 2> The following describes a process for outputting information regarding whether a video has been tampered with after issuing NFTs for multiple sub-videos corresponding to the video. Note that descriptions that overlap with those in the second embodiment will be omitted. A sub-video is a multiple frame image of a video obtained at a predetermined time interval (for example, one minute), or a divided video obtained by dividing a video.

[0128] Fig. 16 is an explanatory diagram showing an example of the record layout of the hash value DB 151 and the data DB 361 in the modified example 2. Note that the description of the contents overlapping with Fig. 3 and Fig. 6 will be omitted. The hash value DB 151 and the data DB 361 include a sub-data ID column. The sub-data ID column stores a sub-data ID for identifying a sub-moving image.

[0129] First, we will explain the process of issuing an NFT for each sub-video. Fig. 17 is a flowchart showing the processing procedure when issuing an NFT for a secondary video. Note that the same reference numerals are used for the same contents as in Fig. 15, and the description thereof will be omitted.

[0130] After executing the process of step S343, the control unit 31 of the user terminal 3 acquires a secondary moving image from the shot moving image (step S344). For example, the control unit 31 may acquire multiple frame images (e.g., 20 images) at a predetermined time interval (e.g., 1 minute) from the shot moving image as the secondary moving image. Alternatively, the user terminal 3 may divide the shot moving image into a predetermined number of divisions (e.g., 5), and acquire the divided moving images obtained by the division process as the secondary moving images.

[0131] The control unit 31 calculates a hash value corresponding to each acquired secondary moving image (step S345). Specifically, the control unit 31 performs an encoding process on each secondary moving image using an encoding method such as Base64. The control unit 31 calculates a hash value corresponding to each secondary moving image after encoding using, for example, the keccak256 algorithm.

[0132] The control unit 31 stores the calculated hash value corresponding to each subsidiary moving image in the server 1 (step S346). Specifically, the control unit 31 assigns a data ID to the moving image and assigns a sub-data ID to each subsidiary moving image. The control unit 31 transmits the user ID, the type of data being a "moving image", and the calculated hash value corresponding to each subsidiary moving image to the server 1 via the communication unit 33 in association with the assigned data ID and sub-data ID.

[0133] The control unit 11 of the server 1 receives the data ID of the video, the sub-data ID of each sub video, the user ID, the type of data, and the hash value corresponding to each sub video, all transmitted from the user terminal 3, via the communication unit 13. The control unit 11 stores the type of data and the hash value corresponding to each sub video in the hash value DB 151 of the mass storage unit 15 in association with the received data ID, sub-data ID, and user ID.

[0134] The control unit 31 issues an NFT for each sub-video by executing a subroutine of a process of issuing an NFT for data for each sub-video (step S347). The control unit 31 stores the type of data, which is a "video", the data of each sub-video, and the token ID of the NFT for each sub-video transmitted from the blockchain 2 in the data DB 361 of the mass storage unit 36 ​​in association with the data ID of the video and the sub-data ID of each sub-video (step S348). The control unit 31 ends the process.

[0135] Next, we will explain the process of outputting information regarding whether or not the video has been tampered with after issuing an NFT for each secondary video. 18 is a flowchart showing a processing procedure for outputting information regarding the presence or absence of tampering with a moving image. The control unit 31 of the user terminal 3 acquires a data ID of the moving image to be judged and a sub-data ID of each subsidiary moving image corresponding to the moving image (step S351). Based on the acquired data ID and sub-data ID, the control unit 31 acquires a hash value of each subsidiary moving image corresponding to the moving image from the server 1 via the communication unit 33 (step S352).

[0136] Specifically, the control unit 31 transmits the acquired data ID, sub-data ID, and user ID to the server 1 via the communication unit 13. The control unit 11 of the server 1 acquires a hash value of each sub video from the hash value DB 151 of the mass storage unit 15, based on the data ID, sub-data ID, and user ID transmitted from the user terminal 3. The control unit 11 transmits the acquired hash value of each sub video to the user terminal 3 via the communication unit 13.

[0137] The control unit 31 acquires the token ID of the NFT of each sub video from the data DB 361 of the mass storage unit 36 ​​based on the data ID and the sub data ID (step S353). The control unit 31 acquires the hash value of each corresponding sub video on the blockchain 2 via the communication unit 33 (step S354).

[0138] Specifically, the control unit 31 transmits the token ID of the NFT of each acquired sub-video to any one of the nodes 21 in the blockchain 2 via the communication unit 33. The control unit 211 of the node 21 acquires a hash value of the corresponding sub-video from the storage unit 212 based on the token ID of the NFT of each sub-video transmitted from the user terminal 3. The control unit 211 of the node 21 transmits the acquired hash value of each sub-video to the user terminal 3 via the communication unit 213.

[0139] The control unit 31 selects one of the multiple subsidiary videos (step S355). The control unit 31 determines whether or not the hash value acquired from the hash value DB 151 of the server 1 and the hash value acquired from the block chain 2 for the selected subsidiary video match (step S356).

[0140] If the two do not match (NO in step S356), the control unit 31 determines that the secondary moving image has been tampered with (step S360). The control unit 31 proceeds to the process of step S359, which will be described later. If the two match (YES in step S356), the control unit 31 determines whether the secondary moving image is the last secondary moving image among the multiple secondary moving images (step S357).

[0141] If the relevant secondary moving image is not the last secondary moving image (NO in step S357), the control unit 31 returns to the process of step S355. If the relevant secondary moving image is the last secondary moving image (YES in step S357), the control unit 31 determines that the relevant secondary moving image has not been tampered with (step S358). The control unit 31 displays the result of the determination of the consistency on the display unit 35 (step S359). The control unit 31 ends the process.

[0142] That is, when the hash value acquired from the hash value DB 151 of the server 1 for each subsidiary video matches the corresponding hash value on the block chain 2, the control unit 31 determines that the video has not been tampered with.

[0143] If the hash value obtained from the hash value DB 151 of the server 1 for any of the multiple sub-videos does not match the corresponding hash value on the blockchain 2, the control unit 31 determines that the video has been tampered with.

[0144] According to this modified example, after issuing NFTs for multiple sub-videos corresponding to a video, it is possible to output information regarding whether or not the video has been tampered with.

[0145] (Embodiment 3) The third embodiment relates to a form in which an NFT for a voice is issued at the same time as an instruction to end recording of the voice, and information on whether the voice has been tampered with after the issuance of the NFT is output. Note that a description of the contents that overlap with the first and second embodiments will be omitted.

[0146] First, we will explain the process of issuing an NFT for audio at the same time as receiving an instruction to end audio recording. The user terminal 3 accepts an instruction to record audio, for example, through a record button on the recording screen. The user terminal 3 records audio in response to the accepted recording instruction. When the user terminal 3 accepts an instruction to end recording of the audio being recorded through the recording stop button on the recording screen, it calculates a hash value corresponding to the audio using the keccak256 algorithm.

[0147] Alternatively, the user terminal 3 performs encoding processing on the captured audio and calculates a hash value corresponding to the encoded audio. Specifically, the user terminal 3 encodes the audio into a character string using an encoding method such as Base64. The user terminal 3 uses, for example, the keccak256 algorithm to calculate a hash value of the character string obtained by encoding the audio.

[0148] The user terminal 3 assigns a data ID to the voice. The user terminal 3 transmits to the server 1 the user ID, the data type which is "voice", and the calculated hash value corresponding to the voice, in association with the assigned data ID. The server 1 receives the data ID, user ID, data type, and hash value of the voice transmitted from the user terminal 3. The server 1 stores the data type and hash value as one record in the hash value DB 151, in association with the received data ID and user ID.

[0149] The user terminal 3 issues an NFT for the recorded voice through the blockchain 2. Specifically, the user terminal 3 sends an issuance instruction for the NFT for the recorded voice to any one of the nodes 21 in the blockchain 2. The issuance instruction includes a hash value corresponding to the calculated voice. The node 21 in the blockchain 2 generates an NFT for the voice in response to the issuance instruction for the NFT for the voice sent from the server 1.

[0150] The token ID, owner address, token URI, etc. of the generated audio NFT are stored on the blockchain 2. In addition, a hash value corresponding to the audio included in the issuance instruction is stored on the blockchain 2 in association with the token ID of the audio NFT.

[0151] The node 21 of the blockchain 2 transmits the token ID of the generated voice NFT to the user terminal 3. The user terminal 3 stores the type of data (voice), the voice data, and the token ID of the voice NFT transmitted from the blockchain 2 as one record in the data DB 361 in association with the data ID of the voice.

[0152] Next, we will explain the process of outputting information regarding whether the audio has been tampered with after the issuance of an NFT. First, the user terminal 3 obtains a hash value corresponding to the audio to be judged from the server 1. Specifically, the user terminal 3 transmits the data ID and user ID of the audio to the server 1. The server 1 obtains a hash value corresponding to the audio from the hash value DB 151 based on the data ID and user ID of the audio transmitted from the user terminal 3. The server 1 transmits the obtained hash value to the user terminal 3.

[0153] Next, the user terminal 3 acquires a hash value of the corresponding audio on the blockchain 2. Specifically, the user terminal 3 acquires a token ID of the NFT of the audio from the data DB 361 based on the data ID of the audio. The user terminal 3 transmits the acquired token ID to any one of the nodes 21 in the blockchain 2. The node 21 in the blockchain 2 acquires a hash value corresponding to the audio based on the token ID transmitted from the user terminal 3. The node 21 in the blockchain 2 transmits the acquired hash value to the user terminal 3.

[0154] Then, the user terminal 3 compares the hash value corresponding to the voice acquired from the hash value DB 151 of the server 1 with the hash value corresponding to the voice transmitted from the node 21. If the two match, the user terminal 3 determines that the voice has not been tampered with. If the two do not match, the user terminal 3 determines that the voice has been tampered with. The user terminal 3 displays the result of the determination on the screen.

[0155] 19 is a flowchart showing the processing procedure for issuing an NFT for audio simultaneously with an instruction to end recording. Note that the same reference numerals are used for the same contents as in FIG. 9, and the description thereof will be omitted.

[0156] The control unit 31 of the user terminal 3 receives an instruction to record audio via the input unit 34 through the record button on the recording screen (step S361). The control unit 31 records audio in response to the received recording instruction (step S362). The control unit 31 receives an instruction to end recording of the audio being recorded via the input unit 34 through the recording stop button on the recording screen (step S363). The control unit 31 executes the processes from step S303 onwards.

[0157] According to this embodiment, by issuing an NFT for the audio at the same time as issuing an instruction to end audio recording, it is possible to perform processing to prevent tampering with the recorded audio.

[0158] According to this embodiment, it is possible to store a hash value for the audio in the blockchain system in association with the identification information of the audio NFT.

[0159] According to this embodiment, encoding processing is performed on audio, which makes it easier to process data.

[0160] The embodiments disclosed herein are illustrative in all respects and should not be considered as limiting. The scope of the present invention is defined by the claims, not by the above meaning, and is intended to include all modifications within the scope and meaning equivalent to the claims.

[0161] The matters described in each embodiment can be combined with each other. In addition, the independent claims and dependent claims described in the claims can be combined with each other in any and all combinations regardless of the citation format. Furthermore, the claims use a format in which a claim cites two or more other claims (multiple claim format), but this is not limited to this. The claims may also be written in a format in which a multiple claim cites at least one other multiple claim (multi-multi claim). [Explanation of symbols]

[0162] 1. Information processing device (server) 11 Control section 12 Storage section 13. Communications Department 14 Reading unit 15 Mass storage 151 Hash Value DB 1a Removable storage media 1b Semiconductor memory 1P control program 2 Blockchain System (Blockchain) 211 Control Unit 212 Storage section 213 Communications Department 214 Reception Department 215 Output section 216 Block Generation Unit 217 Block Verification Department 218 Block Shared Area 3. Information processing terminal (user terminal) 31 Control Unit 31a Hash value calculation unit 31b Electronic Signature Creation Department 32 Storage section 33 Communications Department 34 Input section 35 Display section 36 Mass storage 361 Data DB 3P Control Program

Claims

1. Accepts image capture instructions via the capture button, outputting an issuance instruction for an NFT (Non-Fungible Token) for the image at the same time as the received photographing instruction; Output information regarding whether the image has been tampered with after issuance of the NFT of the image. A program that causes a computer to carry out processing.

2. Accepts an instruction to end video recording in progress, outputting an instruction to issue the NFT of the video simultaneously with the received instruction to end shooting; Output information regarding whether the video has been tampered with after the NFT of the video has been issued. The program according to claim 1.

3. Outputting an instruction to issue an NFT of a plurality of frame images of the moving image obtained at a predetermined time interval, or an NFT of a divided moving image obtained by dividing the moving image, Outputting information regarding the presence or absence of tampering with the video after issuing the NFT of the multi-frame image or the NFT of the divided video The program according to claim 2.

4. Accepts an instruction to end recording of the audio being recorded, outputting an instruction to issue an NFT of the voice simultaneously with the received instruction to end recording; Output information regarding whether the voice has been tampered with after the NFT of the voice is issued. The program according to claim 2.

5. calculating a hash value corresponding to the image; The calculated hash value is stored in the blockchain system in association with the identification information of the NFT in the image. The program according to claim 1.

6. The image is encoded; Calculate the hash value corresponding to the encoded image, The calculated hash value is stored in the blockchain system in association with the identification information of the NFT in the image. The program according to claim 1.

7. Each time a photograph is taken, the image is stored in a folder in sequence; At a predetermined timing, a hash value of the image in the folder is compared with a corresponding hash value on the blockchain system for consistency; Identify images with mismatched hash values The program according to claim 5 or 6.

8. Accepts image capture instructions via the capture button, outputting an instruction to issue an NFT for the image at the same time as the received instruction to photograph the image; Output information regarding whether the image has been tampered with after issuance of the NFT of the image. Information processing methods.

9. An information processing device including a control unit, The control unit is Accepts image capture instructions via the capture button, outputting an instruction to issue an NFT for the image at the same time as the received instruction to photograph the image; Output information regarding whether the image has been tampered with after issuance of the NFT of the image. Information processing device.

Citation Information

Patent Citations

  • Imaging device and image verification device

    JP2012094978A