Method for proving original of data, and apparatus therefor
Patent Information
- Application Number
- KR1020210030761
- Authority / Receiving Office
- KR · KR
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-03-09
- Publication Date
- 2026-08-03
- Estimated Expiration
- 2041-03-09
Smart Images

Figure R1020210030761_ABST
Abstract
Description
Technology Field
[0001] The present invention relates to a method for proving originality and an apparatus for the same. More specifically, it relates to a method for proving whether data including an image is original or processed data, and an apparatus for the same. Background Technology
[0002] With the advancement of digital image processing and image printing technologies, there is a growing demand to verify the authenticity of multimedia data, such as images or certificate files. This is because it is difficult for the human eye to determine the authenticity of multimedia data processed with sophisticated technology.
[0003] Conventional multimedia data forgery detection technologies detect whether an original has been altered by utilizing watermarks or digital signatures on already generated multimedia output files, or verify authenticity by analyzing the characteristics of the file itself. However, these conventional detection technologies are not integrated with the terminal, leaving the data file susceptible to manipulation—such as data synthesis, partial deletion, or addition—beforehand. Furthermore, even if the data file itself is intact, the subject matter contained within it may have been fabricated, making it difficult to accurately determine the authenticity of the original. For instance, if a computer-processed image is generated and output, and then the output image is photographed to create a data file, the data file itself may not have been manipulated; however, since the subject matter was fabricated from the start, the content may not be the original.
[0004] Therefore, there is a need for a new method of originality verification technology that can more accurately verify the possibility of data forgery or alteration and determine whether images contained in the data are actual subjects or processed subjects. Prior art literature
[0005] Korean Patent Publication No. 10-2179497 (Published Nov. 17, 2020) The problem to be solved
[0006] The technical problem to be solved through some embodiments of the present invention is to provide an original proof method capable of accurately verifying whether multimedia data is original or processed, and an apparatus for the same.
[0007] Another technical problem to be solved through some embodiments of the present invention is to provide an original verification method and an apparatus for verifying whether the subject of an image is a real subject or a processed subject by linking with a user terminal from the step of generating multimedia data.
[0008] Another technical problem to be solved through some embodiments of the present invention is to provide an originality verification method and an apparatus capable of blocking the possibility of manipulation of generated multimedia data and thoroughly verifying its originality.
[0009] The technical problems of the present invention are not limited to those mentioned above, and other unmentioned technical problems will be clearly understood by a person skilled in the art from the description below. means of solving the problem
[0010] A method for proving an original by a computer device according to embodiments of the present invention for solving the above technical problem may include the steps of: obtaining proof data including a captured image and a challenge code for proving the original of the image; generating hash data using the proof data; generating signature data for the hash data; transmitting the proof data, the hash data, and the signature data to a server; and receiving an access path for the result of verifying the original of the proof data from the server.
[0011] In one embodiment, the original verification result may be generated based on the result of the server verifying the hash data, the signature data, and the challenge code.
[0012] As an example, the transmitting step may include the step of generating a transaction to record the hash data on a blockchain network.
[0013] As an example, the transmitting step may further include the step of obtaining the transaction ID (Identification) of the transaction and the step of transmitting the transaction ID to the server.
[0014] In one embodiment, the server can verify the hash data by comparing the transmitted hash data with hash data recorded on the blockchain network.
[0015] As an example, the method may further include the step of generating the image by photographing a subject using a shooting method based on a real subject distinction algorithm.
[0016] In one embodiment, the step of generating the image may include: obtaining a screen division value for capturing the image; dividing the captured screen into a plurality of sections based on the screen division value; focusing on a first section among the plurality of sections to capture a first image; focusing on a second section among the plurality of sections to capture a second image; and storing the first image and the second image as the image.
[0017] As an example, the method may further include the step of providing the received access path to an external device.
[0018] In one embodiment, the external device includes an insurance company server, a trading brokerage site server, a law firm server, a media company server, or a public institution server, and the result of verifying the original of the certification data can be checked using the access path.
[0019] A method for proving an original by a computer device according to embodiments of the present invention for solving the above technical problem may include the steps of receiving proof data, hash data generated using the proof data, and signature data for the hash data from a user terminal, wherein the proof data includes a captured image and a challenge code for proving the original of the image; verifying the hash data, the signature data, and the challenge code; generating an original verification result of the proof data based on the verified result; and transmitting an access path for the original verification result to the user terminal.
[0020] In one embodiment, the verifying step may include a step of verifying the hash data by comparing the hash data with hash data recorded on a blockchain network.
[0021] In one embodiment, the verification step may include a step of determining whether the image is an image of a real subject.
[0022] In one embodiment, the image includes a first image and a second image, and the first image and the second image are images of the same subject, and the determining step may include the step of obtaining a screen division value associated with the image, the step of identifying focused sections of the first image and the second image by referring to the screen division value, and the step of determining whether the image is an image of a real subject based on the result of identifying the focused sections.
[0023] As an embodiment, the method further includes the step of providing the original verification result of the proof data to the external device in response to a request from the external device through the access path, and the external device may include an insurance company server, a trading brokerage site server, a law firm server, a media company server, or a public institution server.
[0024] A user terminal for original verification according to embodiments of the present invention, for solving the above technical problem, may include a verification data generation module that generates verification data including a captured image and a challenge code for original verification of the image, a hash extraction module that generates hash data using the verification data, a signature module that generates signature data for the hash data, a communication module that transmits the verification data, the hash data, and the signature data to a server, and an access path management module that manages an access path for the original verification result of the verification data transmitted from the server.
[0025] An original verification server according to embodiments of the present invention for solving the above technical problem may include a communication module that receives proof data, hash data generated using the proof data, and signature data for the hash data from a user terminal, wherein the proof data includes a captured image and a challenge code for original verification of the image; a hash verification module that verifies the hash data; a signature verification module that verifies the signature data; a challenge code management module that verifies the challenge code; a verification result generation module that generates an original verification result of the proof data based on the results of verifying the hash data, the signature data, and the challenge code; and an access path management module that provides an access path to the original verification result to the user terminal. Brief explanation of the drawing
[0026] FIG. 1 is a diagram illustrating an original proof method at the system level according to an embodiment of the present invention. Figure 2 is a diagram showing the specific configuration of the user terminal illustrated in Figure 1. FIG. 3 is a flowchart explaining the specific operation method of the user terminal illustrated in FIG. 2. FIG. 4 is a flowchart illustrating an embodiment that further specifies step S150 of FIG. 3. Figure 5 is a diagram showing the specific configuration of the original certificate server illustrated in Figure 1. Figure 6 is a flowchart explaining the specific operation method of the original certificate server illustrated in Figure 5. FIG. 7 is a flowchart illustrating an embodiment that further specifies step S220 of FIG. 6. FIG. 8 is a diagram conceptually illustrating an image capture and discrimination method based on the real object distinction algorithm of the present invention. FIG. 9 is a block diagram showing a specific method for capturing a multi-focus image through the shooting device and discrimination device illustrated in FIG. 8 and determining whether it is a real image based thereon. FIG. 10 is a drawing for specifically elaborating on the multi-focus image and the method of capturing it mentioned in FIG. 9. Figure 11 is a diagram illustrating specific examples of screen division according to various screen division values. FIG. 12 is a diagram illustrating specific examples of shooting order settings according to various order values. FIG. 13 is a drawing illustrating an embodiment in which the image capturing method according to the present invention is applied at the pixel level. FIG. 14 is a flowchart illustrating an image capturing method according to one embodiment of the present invention. FIG. 15 is a flowchart illustrating an image discrimination method according to an embodiment of the present invention. FIG. 16 is a flowchart illustrating an embodiment that further specifies the step of determining the type of image of FIG. 15. FIG. 17 is a block diagram showing an exemplary hardware configuration of a computing device (500) in which various embodiments of the present invention are implemented. Specific details for implementing the invention
[0027] Hereinafter, embodiments of the present invention will be described in detail with reference to the attached drawings. The advantages and features of the present invention, and the methods for achieving them, will become clear by referring to the embodiments described below in detail together with the attached drawings. However, the technical concept of the present invention is not limited to the following embodiments but can be implemented in various different forms. The following embodiments are provided merely to complete the technical concept of the present invention and to fully inform those skilled in the art of the scope of the present invention, and the technical concept of the present invention is defined only by the scope of the claims.
[0028] It should be noted that when assigning reference numerals to the components of each drawing, the same components are assigned the same reference numeral whenever possible, even if they are shown in different drawings. Furthermore, in describing the present invention, if it is determined that a detailed description of related known components or functions could obscure the essence of the invention, such detailed description is omitted.
[0029] Unless otherwise defined, all terms used herein (including technical and scientific terms) may be used in a meaning commonly understood by those skilled in the art to which the present invention pertains. Furthermore, terms defined in commonly used dictionaries are not to be interpreted ideally or excessively unless explicitly and specifically defined otherwise. The terms used herein are for describing embodiments and are not intended to limit the present invention. In this specification, the singular form includes the plural form unless specifically stated otherwise in the text.
[0030] Additionally, terms such as first, second, A, B, (a), (b), etc., may be used when describing the components of the present invention. These terms are intended merely to distinguish the components from other components, and the nature, order, or sequence of the components is not limited by such terms. Where it is stated that a component is "connected," "combined," or "joined" to another component, it should be understood that the component may be directly connected or joined to the other component, but that another component may also be "connected," "combined," or "joined" between each component.
[0031] Hereinafter, several embodiments of the present invention will be described in detail with reference to the attached drawings.
[0032] FIG. 1 is a diagram illustrating an original proof method at the system level according to an embodiment of the present invention. Referring to FIG. 1, the original proof system may include a user terminal (100), an original proof server (200), an external device (300), and / or a blockchain network (20). FIG. 1 illustrates a schematic system flow of the original proof method according to the present invention.
[0033] The user terminal (100) generates proof data and transmits the proof data to the original proof server (200) for original proof of the proof data. At this time, the proof data may be multimedia data, such as an image of a subject (10) captured using a camera (110) built into the user terminal (100).
[0034] The original verification server (200) verifies whether the verification data transmitted by the user terminal (100) is original. Then, the original verification server (200) generates an original verification result (30) based on the result of the verification above and transmits an access path thereto to the user terminal (110). The user terminal (100) stores the transmitted access path and then provides the access path to an external device (300).
[0035] The external device (300) is a server of the target institution where the user of the user terminal (100) wishes to verify the original of the verification data, and may be, for example, an insurance company server, a trading brokerage site server, a law firm server, a media company server, or a public institution server. For instance, if the verification data is a document for proving an insurance claim, the external device (300) will be an insurance company server, and if the verification data is a material for reporting a news article, the external device (300) will be a media company server. The external device (300) requests a query for the original verification result (30) from the original verification server (200) through an access path provided by the user terminal (100).
[0036] The original verification server (200) checks whether the inquiry request is a valid request through a correct access path, and if it is a valid request, provides the original verification result (30) to the external device (300). The external device (300) checks the provided original verification result (30) to verify whether the verification data submitted by the user terminal (100) is original.
[0037] Meanwhile, in order to prove that the proof data is an original that has not been forged or altered, the present invention proposes various original verification techniques as follows.
[0038] First, a real subject distinction algorithm is applied in the proof data generation step and the verification step to distinguish whether the subject (10) captured by the camera is a real subject or a processed subject. The user terminal (100) captures the subject (10) according to the real subject distinction algorithm to generate proof data, and the original proof server (200) analyzes the proof data according to the real subject distinction algorithm to determine whether the image within the proof data is a real subject image or a processed subject image. The real subject algorithm proposed by the present invention, and the image capture method and reading method according thereto, are described in detail below in FIG. 8 and below, so the description thereof is omitted here.
[0039] Next, an original verification technique using a challenge code and / or server time is applied. Specifically, when generating proof data, the user terminal (100) communicates with the original proof server (200), receives the challenge code and server time from the original proof server (200), and then packages them together with images, etc., to generate proof data. The challenge code is provided with a different value each time the user terminal (100) generates proof data, and the server time is provided as a timestamp value based on the server-side time when the user terminal (100) communicates with the original proof server (200) to generate proof data. The original proof server (200) verifies the real-time nature and whether the proof data has been tampered with by checking whether the challenge code and server time within the proof data match the challenge code and server time provided earlier. For example, if the challenge code or server time within the proof data is different from what was previously provided by the original proof server (200), the proof data may be considered not to have been generated when the user terminal (100) communicated with the original proof server (200) or to have been tampered with after generation, and thus its real-time nature and original proof may be denied.
[0040] In addition, encryption technology and original verification technology using an external storage are applied. Specifically, after generating proof data, the user terminal (100) extracts hash data for the proof data using a hash function, and generates signature data by performing a signature on the extracted hash data using an encryption key. Then, the user terminal (100) records the hash data and signature data in a blockchain network (20), which is an external storage, and transmits the hash data and signature data together when transmitting the proof data to the original proof server (200). The original proof server (200) queries the blockchain network (20) and verifies whether the hash data and signature data transmitted from the user terminal (1000) are valid based on the hash data and signature data recorded in the blockchain network (20). If the transmitted signature data is invalid, the hash data, signature data, and / or proof data are considered to have been forged or altered after generation, and the original proof is denied, thereby enabling the detection of data manipulation after the generation of the proof data. As an example, the signature data recorded in the blockchain network (20) may include information for verifying the transmitted signature data.
[0041] According to the embodiments of the present invention described above, by applying an original verification technology linked with a user terminal from the multimedia data generation stage, it is possible to verify whether the captured subject is a real subject, and by blocking the possibility of file manipulation of the multimedia data through the use of a challenge code and linkage with a blockchain network, the authenticity of the multimedia data can be verified more thoroughly.
[0042] In FIG. 2 and below, more specific embodiments of the original proof method and system described in FIG. 1, and the user terminal (100) and original proof server (200) for the same, will be described together with the drawings.
[0043] FIG. 2 is a diagram showing the specific configuration of the user terminal illustrated in FIG. 1. Referring to FIG. 2, the user terminal (100) may include a camera (110), a real subject capturing module (120), a proof data generation module (130), a communication module (140), a hash extraction module (150), a signature module (160), a blockchain storage module (170), and / or an access path management module (180).
[0044] The camera (110) is a component that captures a subject and generates an image of the subject to be provided as proof data. Although FIG. 2 illustrates a camera (110) embedded in a user terminal (100), it is not limited thereto, and the camera (110) can be an external camera, and a method of transmitting an image captured through the camera (110) to the user terminal (100) via a wired or wireless network is also possible. Since the specific configuration and function of the camera (110) are widely known in the relevant technical field, a description thereof is omitted here.
[0045] The real subject shooting module (120) is a module in which a real subject distinction algorithm is implemented to distinguish whether the subject is a real subject or a processed subject, and is a module that controls the camera (110) so that shooting is performed according to the real subject distinction algorithm when shooting the subject. The real subject distinction algorithm and the image shooting method based thereon are described in detail in separate items below FIG. 8, so to avoid duplication of explanation, the relevant explanation is omitted here.
[0046] The proof data generation module (130) is a module that generates proof data to receive the original proof. At this time, the proof data may be multimedia data including an image captured through the camera (110), but is not limited thereto. When generating proof data, the proof data generation module (130) receives a challenge code and server time from the original proof server, and can generate proof data by packaging the received challenge code and server time together with an image or other data. At this time, the challenge code and server time may be inserted as metadata for the image or other data, or may be inserted as separate data distinct from it.
[0047] As one embodiment, the challenge code may be inserted into the proof data in its original state as received from the original proof server, or it may be converted into another form of data through a hash function, etc., and then the converted data may be inserted into the proof data.
[0048] The communication module (130) is a module that performs data communication between the user terminal (100) and the original certificate server. For example, when interoperability between the user terminal (100) and the original certificate server is required for the operation of the real subject shooting module (120), when the user terminal (100) receives a challenge code and server time from the original certificate server, when the user terminal (100) transmits certificate data, hash data, and / or signature data, etc. to the original certificate server, or when the user terminal (100) receives an access path for the original verification result from the original certificate server, data communication between the user terminal (100) and the original certificate server can be performed through the communication module (130).
[0049] The hash extraction module (150) is a module that calculates a hash value for proof data using a hash function. The hash function may be a hash function based on a hash algorithm such as SHA-256 or SHA-512, but the scope of the present invention is not limited thereto. In one embodiment, the hash extraction module (150) may extract hash data for the entire proof data, but may also extract hash data for only a part of the proof data. For example, the hash extraction module (150) may extract hash data by using only the image file and its metadata within the proof data as input values for the hash function.
[0050] The signature module (160) is a module that performs a digital signature using a signature key on hash data extracted by the hash extraction module (150). The signature module (160) generates signature data as a result of the signature. A signature method based on an asymmetric key encryption method using a pair of signature keys and verification keys is widely used as a digital signature, but the scope of the present invention is not limited thereto. Specific methods and algorithms for digital signatures are widely known in the relevant technical field, so a description thereof is omitted here.
[0051] The blockchain storage module (170) is a module for recording hash data and signature data generated by the hash extraction module (150) and the signature module (160) to an external blockchain network. The blockchain storage module (170) generates a transaction to record hash data and signature data to the blockchain network, and then obtains a Transaction ID (Transaction Identification) for the transaction. At this time, the blockchain network may be a public network such as the Ethereum network, or a private network such as the Hyper Ledger network. Since the configuration of the blockchain network and the method of generating a transaction to record data to the blockchain network are widely known in the relevant technical field, an explanation thereof is omitted here.
[0052] The access path management module (180) is a module that stores and manages access paths for original verification results transmitted by the original certification server. The access path management module (180) may provide the stored access paths to an external device to which the original certification will be submitted, upon a user's request. In one embodiment, the access path may be a URL link for accessing the original verification result, but the scope of the invention is not limited thereto. For instance, the access path may be a password or other authentication means required to query the original verification result stored in the original certification server.
[0053] Next, FIG. 3 describes a specific method of operation of a user terminal based on the components described in FIG. 2. The method described in FIG. 3 is performed by the user terminal of FIG. 1, and it is assumed that if the subject of each step is omitted, the subject is the user terminal. Any content in the description of each step that overlaps with previously explained content will be omitted for the sake of brevity.
[0054] In step S110, an image is generated by photographing the subject based on a real subject distinction algorithm.
[0055] In step S120, proof data is generated to request original proof from the original proof server. At this time, the proof data may include the challenge code and server time transmitted by the original proof server along with the previously generated image.
[0056] In step S130, hash data for the generated proof data is created.
[0057] In step S140, signature data is generated for the generated hash data.
[0058] In step S150, the generated proof data, hash data, and signature data are transmitted to the original proof server. The original proof server uses the transmitted hash data and signature data to verify the authenticity of the proof data and generates an authenticity verification result for the proof data based on the verification result.
[0059] In step S160, the access path for the original verification result of the proof data is received from the original proof server.
[0060] In step S170, an access path is provided to an external device to submit the original proof of the proof data. At this time, the external device may be an insurance company server, a trading brokerage site server, a law firm server, a media company server, or a public institution server.
[0061] FIG. 4 is a flowchart illustrating an embodiment that further specifies step S150 of FIG. 3. FIG. 4 describes an embodiment in which the steps of recording generated hash data and signature data on an external blockchain network and obtaining the transaction ID are added. The following description refers to the drawings.
[0062] In step S151, a transaction occurs to record hash data and signature data on the blockchain network.
[0063] In step S152, after the transaction is successfully executed, the transaction ID of the transaction is obtained.
[0064] In step S153, the acquired transaction ID is transmitted to the original proof server along with the previously generated proof data, hash data, and / or signature data.
[0065] FIG. 5 is a diagram showing the specific configuration of the original proof server illustrated in FIG. 1. Referring to FIG. 5, the original proof server (200) may include a challenge code management module (210), a communication module (220), a hash verification module (230), a blockchain lookup module (240), a signature verification module (250), a physical object reading module (260), a verification result generation module (270), and / or an access path management module (280).
[0066] The challenge code management module (210) is a module that generates and provides a challenge code in conjunction with a user terminal when the user terminal photographs a subject or generates proof data. At this time, the challenge code management module (210) may also acquire server time along with the challenge code and provide it to the user terminal. Additionally, the challenge code management module (210) may further perform a challenge code verification task to determine the real-time nature and whether the proof data has been tampered with by checking whether the challenge code and server time included in the proof data received from the user terminal match those provided by the challenge code management module (210).
[0067] The communication module (220) is a module that performs data communication between the original certification server (200) and the user terminal. For example, when linkage between the user terminal and the original certification server (200) is required for the operation of the real subject shooting module (120), when the original certification server (200) transmits a challenge code and server time to the user terminal, when the original certification server (200) receives certification data, hash data, and / or signature data, etc. from the user terminal, and when the original certification server (200) transmits an access path for the original verification result to the user terminal, data communication between the original certification server (200) and the user terminal can be performed through the communication module (220).
[0068] The hash verification module (230) is a module that verifies hash data received from a user terminal. While the verification of hash data can be performed in various ways, this embodiment exemplifies a method using a blockchain network. Specifically, the hash verification module (230) can verify hash data by accessing the blockchain network, querying the hash data previously recorded by the user terminal on the blockchain network, and comparing it with the hash data received from the user terminal to determine whether they are identical. In this case, if both are identical, the hash data received from the user terminal is determined to be correct, and if they are different, the hash data received from the user terminal is determined to be incorrect.
[0069] The signature verification module (240) is a module that verifies signature data received from a user terminal. Although the verification of signature data can be performed in various ways, this embodiment exemplifies a method of verifying signature data through two-stage verification. Specifically, the signature verification module (250) can perform a first verification of signature data by accessing a blockchain network, querying the signature data previously recorded by the user terminal on the blockchain network, and comparing it with the signature data received from the user terminal to determine its validity. In this case, if both are identical, the signature data received from the user terminal is determined to be valid, and if they are different, the signature data received from the user terminal is determined to be invalid.
[0070] Then, once the above first verification is completed, a second verification of the signature data is performed. The second verification is a step of confirming that the signed data is free of defects through a signature verification algorithm; it involves inputting the hash data, signature data, and verification key received from the user terminal into the signature verification algorithm and determining whether the signed data is defective based on the result. In this case, the verification key refers to an encryption key paired with the signature key used to generate the signature data earlier. Since specific details regarding the signature verification algorithm and the signature verification method based thereon are widely known in the relevant technical field, an explanation thereof is omitted here.
[0071] The blockchain inquiry module (250) is a module that accesses an external blockchain network to query information necessary for the original verification of proof data. For example, the blockchain inquiry module (240) can access the blockchain network to verify hash data and signature data received from a user terminal, and read the hash data and signature data previously recorded by the user terminal. In one embodiment, the blockchain inquiry module (240) can identify the location where hash data and signature data are recorded on the blockchain network by referring to the transaction ID provided by the user terminal. Since specific details regarding the method of accessing the blockchain network to query and verify the recorded information are widely known in the relevant technical field, an explanation thereof is omitted here.
[0072] The real object reading module (260) is a module in which a real object distinction algorithm is implemented, and determines whether the image included in the proof data is an image of a real object or an image of a processed object. As with FIG. 2, the real object distinction algorithm and the image determination method based thereon are described in detail as separate items in FIG. 8 and below, so to avoid duplication of explanation, the relevant explanation is omitted here.
[0073] The verification result generation module (270) generates an original verification result for the proof data based on the results of the challenge code and server time verification, hash data verification, signature data verification, and / or real object identification by the challenge code management module (210), hash verification module (230), signature verification module (240), and / or real object reading module (260). At this time, if the results of the challenge code and server time verification, hash data verification, signature data verification, and / or real object identification are all PASS, an original verification result is generated indicating that the proof data is the original data, and if any one of the results of the challenge code and server time verification, hash data verification, signature data verification, and / or real object identification is FAIL, an original verification result is generated indicating that the proof data is not the original data.
[0074] The access path management module (280) generates an access path for the original verification result and provides the generated access path to the user terminal. Additionally, regarding a request to view the original verification result from an external device, the access path management module (280) checks whether the request is appropriate and determines whether to approve the request. For example, if a request for viewing from an external device is received through a normal access path provided to the user terminal by the access path management module (280), the access path management module (280) considers the request for viewing to be appropriate and provides the original verification result of the proof data to the external device. On the other hand, if the access path through which the request for viewing from the external device was received is not provided by the access path management module (280) or is identified as an abnormal access path for other reasons, the access path management module (280) considers the request for viewing to be inappropriate and rejects the request for viewing.
[0075] Next, FIG. 6 describes a specific operation method of the original certification server based on the components described in FIG. 5. The method described in FIG. 6 is performed by the original certification server of FIG. 1, and it is assumed that if the subject of each step is omitted, that subject is the original certification server. Any content in the description of each step that overlaps with previously explained content will be omitted for the sake of clarity.
[0076] In step S210, proof data, hash data, and signature data are received from the user terminal. At this time, the proof data may include a captured image, a challenge code for proving the originality of the image, and a server time.
[0077] In step S220, the hash data, signature data, and challenge code are verified.
[0078] In step S230, the original verification result of the proof data is generated based on the above verification result.
[0079] In step S240, an access path for the generated original verification result is created, and the access path is transmitted to the user terminal.
[0080] In step S250, if a request for querying the original verification result is received from an external device through the access path, the access path is determined to be valid, and the original verification result is provided to the external device accordingly.
[0081] FIG. 7 is a flowchart illustrating an embodiment that further specifies step S220 of FIG. 6. FIG. 7 describes an embodiment in which a step of verifying whether an image included in the proof data is an image of a real subject is added. The following description refers to the drawings.
[0082] In step S221, the hash data and / or signature data received from the user terminal are compared with the hash data and / or signature data recorded on the blockchain network, and the hash data and / or signature data received from the user terminal are verified.
[0083] In step S222, the challenge code and / or server time included in the proof data is verified by checking whether the challenge code and / or server time included in the proof data is the same as the challenge code and / or server time provided by the original proof server.
[0084] In step S223, based on the real subject distinction algorithm, it is determined whether the image included in the proof data is an image of a real subject.
[0085] Meanwhile, although FIG. 7 illustrates that the verification of hash data and signature data, the verification of challenge code and server time, and the determination of whether the image is a real subject are performed sequentially, the scope of the present invention is not limited thereto. The order of the verification and determination may be reversed, and each may be performed simultaneously in parallel.
[0086] In FIG. 8 and below, a detailed explanation of the real object distinction algorithm referenced in the preceding description is provided. The relevant explanation continues below with reference to the drawings.
[0087] Image capture method and identification method based on real subject distinction algorithm
[0088] This section describes an algorithm for determining whether a captured image is an image of a real subject or an image recaptured using a previously captured image as the subject, an image capture method based on said algorithm, and an image determination method.
[0089] FIG. 8 is a diagram conceptually illustrating an image capturing method and a discrimination method based on the real object distinction algorithm of the present invention.
[0090] In the system environment (1000A) illustrated in FIG. 8, a shooting device (100A, e.g., a user terminal) captures a subject (10A, 20A) using a built-in camera. The subject (10A, 20A) being captured may be an actual existing real subject (10A), or a previously captured photograph or video screen (20A). Hereinafter, the actual existing real subject will be referred to as a three-dimensional (3-Dimensional) subject, and the previously captured photograph or video screen will be referred to as a two-dimensional (2-Dimensional) subject.
[0091] At this time, the shooting device (100A) takes multiple images of the same subject with different focus points so that it can determine whether the captured image is a three-dimensional subject image or a two-dimensional subject image. The multiple images taken in this way are referred to as multi-focus images. Since a detailed description of the multi-focus image and the method of shooting it will be described in detail later in FIG. 9 and below, a detailed description thereof is omitted here.
[0092] Then, the shooting device (100A) stores the multi-focus image and then transmits the multi-focus image to the discrimination device (200A, e.g., original certification server) at the time of synchronization with the discrimination device (200A).
[0093] The determination device (200A) analyzes the transmitted multi-focus image to determine whether the image is a stereoscopic subject image or a flat subject image. For example, if the previously captured subject is a stereoscopic subject (10A), images with different parts in focus will be captured each time the focus point is changed. For example, if the focus point is the background, an image will be captured where the background is sharp but the tree is blurry, and if the focus point is the tree, an image will be captured where the tree is sharp but the background is blurry. On the other hand, if the previously captured subject is a flat subject (20A), an image will be captured where there is no significant difference in the focused part even if the focus point is changed. That is, in the case of a flat subject (20A), regardless of whether the focus point is the background or the tree, since the distance (or depth) from the shooting device (100A) is the same, an image will be captured where both the background and the tree have the same sharpness (i.e., similar to a previously captured photo or video screen).
[0094] Based on this principle, the discrimination device (200A) analyzes a multi-focus image and, if the focused parts of the image are different from each other, identifies the image as a three-dimensional subject image that has been photographed of a real subject (10). Conversely, the discrimination device (200A) analyzes a multi-focus image and, if the focused parts of the image are identical or similar to each other, identifies the image as a two-dimensional subject image.
[0095] In one embodiment, the discrimination device (200A) may determine the type of the multi-focus image by further referring to the focused area or focused order of the focused parts. This will be described in detail below in FIG. 9.
[0096] According to the method of the present invention described above, it is possible to easily detect when a previously captured photograph or video screen is re-captured and manipulated to appear as if it were a real photograph, or when a processed image is submitted through forgery or alteration. If the focused parts of a multi-focus image are identical or similar to one another, it can be considered that a flat subject was photographed, and thus it can be determined that it is not a photograph of an actual object.
[0097] FIG. 9 is a block diagram illustrating a specific method for capturing a multi-focus image through the shooting device (100A) and the discrimination device (200A) illustrated in FIG. 8, and for determining whether the image is a real image based thereon. In the embodiment of FIG. 8, a method for capturing and determining a multi-focus image is described by dividing the screen to distinguish the area to be multi-focused and considering the focus order for the distinguished area. The following description refers to the drawings.
[0098] First, the imaging device (100A) generates random number information (120A) according to a predetermined rule. In one embodiment, the random number information (120A) may be generated based on the time information and MAC address (110A) of the imaging device (100A).
[0099] The shooting device (100A) generates random number information (120A) using a predetermined random number generation algorithm in order to share random number information (120A) with the discrimination device (200A). At this time, the random number generation algorithm may be an algorithm that receives time information when generating the random number information (120A) and the MAC address of the shooting device (100A) generating the random number information (120A) as input parameters, so that different random number information is generated depending on the time and shooting device for capturing the multi-focus image. Since there are various types of random number generation algorithms that generate random numbers based on specific input parameters, and their technical details are also widely known in the relevant technical field, a detailed explanation thereof is omitted here.
[0100] The generated random number information (120A) may include a screen division value referenced to divide and distinguish the shooting screen when performing multi-focus shooting, and a sequence value that specifies the focus order of each divided and distinguished screen area.
[0101] The shooting device (100A) divides the shooting screen into multiple areas (D1) according to the screen division value among the random number information (120A). For example, if the screen division value is 3, the shooting device (100A) divides the shooting screen into 3 areas. Similarly, if the screen division value is 9, the shooting device (100A) divides the shooting screen into 9 areas. Subsequently, when multi-focus shooting, the shooting device (100A) focuses on the subject based on each divided area.
[0102] Next, the shooting device (100A) selectively focuses on the separated areas according to the order value of the random number information (120A) to continuously shoot the subject (D2). For example, assuming that there are 3 areas separated by the screen division value and that the order value is assigned to the separated areas as a vector value [3, 2, 1], the subject is first focused on the third area among the separated areas where the order value '1' is assigned to shoot the subject, then the same subject is repeatedly shot by focusing on the second area among the separated areas where the order value '2' is assigned, and finally the same subject is repeatedly shot by focusing on the third area among the separated areas where the order value '3' is assigned.
[0103] And, the shooting device (100A) stores the multiple images generated through this multi-focus shooting as a multi-focus image (130A). In the above example, since three consecutive shots would have occurred with different focus points according to the sequence value [3, 2, 1], the multi-focus image (130A) will be composed of a total of three images.
[0104] Meanwhile, although the example provided here illustrates a single multi-focus shot for each separated area, the scope of the present invention is not limited thereto. For instance, assuming that there are 9 areas separated by screen division values and that a sequence value of [3, 0, 0, 2, 0, 0, 1, 0, 0] is assigned to each separated area, only three consecutive shots will occur by focusing sequentially on the 7th area, the 4th area, and the 1st area. Multi-focus shooting will not be performed on the 2nd, 3rd, 5th, 6th, 8th, and 9th areas to which the sequence value '0' is assigned. Therefore, in this example, although the shooting screen is divided and separated into 9 areas, only 3 images will be generated as multi-focus images (130A).
[0105] Subsequently, the shooting device (100A) communicates with the discrimination device (200A) and transmits the stored multi-focus image (130A) to the discrimination device (200A). At this time, the shooting device (100A) transmits the previously acquired time information and MAC address (110A) together to the discrimination device (200A) for the generation of random number information at the discrimination device (200A).
[0106] In one embodiment, the shooting device (100A) can pack each of the images according to their shooting order and transmit them to the discrimination device (200A) so that the discrimination device (200A) can check the shooting order of each image included in the multi-focus image.
[0107] Alternatively, as an embodiment, the shooting device (100A) may transmit the multi-focus image to the discrimination device (200A) along with information indicating the shooting order of each image included in the multi-focus image so that the discrimination device (200A) can verify the shooting order of each image included in the multi-focus image.
[0108] The discrimination device (200A) receives the transmitted multi-focus image (220A) and verifies the time information and MAC address (110A) transmitted along with the multi-focus image (220A). Then, based on the verified time information and MAC address (110A), it generates random number information (210A) for the discrimination of the multi-focus image (220A). At this time, the discrimination device (200A) can generate the random number information (210A) by inputting the verified time information and MAC address (110A) as input parameters into the same random number generation algorithm used by the shooting device (100A) previously. Since the same input parameters are input into the same random number generation algorithm, the resulting random number information (210A) will also be the same value as the random number information (120A) of the shooting device (100A).
[0109] And, the determination device (200A) determines the type of the transmitted multi-focus image (220A) by referring to the screen division value and the sequence value included in the random number information (210A).
[0110] Specifically, the determination device (200A) checks whether the focused area of the multi-focus image matches the screen division value among the random number information (210A). If the screen division value and the focused area of the multi-focus image do not match each other (for example, if a place that is not an area distinguished by the screen division value is focused, or if two or more areas distinguished by the screen division value are focused simultaneously), the determination device (200A) can determine the type of the multi-focus image (220A) as a flat subject image or a forged or altered image, since multi-focus shooting was not performed according to the determined method.
[0111] Additionally, the determination device (200A) checks whether the focused order of the multi-focus image matches the order value among the random number information (210A). If the order value and the focused order of the multi-focus image do not match (for example, the order value specifies that the third area among the separated areas should be focused and photographed first, but in the actual multi-focus image, the first area is focused first), the determination device (200A) can determine the type of the multi-focus image (220A) as a flat subject image or a forged or altered image, since this also indicates that multi-focus shooting was not performed according to the determined method.
[0112] On the other hand, if the focused area of the multi-focus image matches the screen division value and the sequence value of the random number information (210A), respectively, the determination device (200A) can determine that multi-focus shooting was performed according to a predetermined method and determine the type of the multi-focus image (220A) as a stereoscopic subject image or a real image.
[0113] FIG. 10 is a drawing for specifically elaborating on the multi-focus image and the method of capturing it mentioned in FIG. 9. In the embodiment of FIG. 10, multi-focus shooting is exemplarily described when the screen split value is 3 and the sequence value is [2, 1, 3].
[0114] Referring to FIG. 10, a basic shooting screen (30A) is shown first. This represents, for example, the display screen of a shooting device (100A), and represents an initial shooting screen before multi-focus shooting begins. Three trees are displayed as subjects in the basic shooting screen (30A).
[0115] Afterward, the shooting device (100A) obtains random number information and extracts a screen division value therefrom. The screen division value at this time is exemplified as 3 (N=3). Then, the shooting device (100A) divides the basic shooting screen (30A) into multiple regions according to the screen division value. In the middle section of FIG. 10, a shooting screen (31A) in which the entire screen is divided and separated into multiple regions (p1, p2, p3) is shown.
[0116] Then, the shooting device (100A) sets the focus order for each divided area (p1, p2, p3) according to the order value of the random number information. In the central part of FIG. 10, a screen (32A) is shown in which the focus order (a1, a2, a3) is set for each divided area (p1, p2, p3). In the embodiment of FIG. 10, the focus order is set as '2' for the first area (p1), '1' for the second area (p2), and '3' for the third area (p3) among each divided area.
[0117] Then, the shooting device (100A) performs continuous shooting according to the set focus order (a1, a2, a3) for each separated area (p1, p2, p3). Specifically, the shooting device (110A) first focuses on the second area (p2), which has a focus order of '1', and photographs the subject, three trees. In FIG. 10, the non-focused area is indicated by hatching to distinguish it from the focused area. The result of performing the first multi-focus shooting in this way is generated as the first image (33A). Then, the shooting device (110A) next focuses on the first area (p1), which has a focus order of '2', and repeatedly photographs the same subject, three trees. As before, the result of the second multi-focus shooting is generated as the second image (34A). Then, the shooting device (110A) finally focuses on the third area (p3) with the focus order '3' and repeatedly shoots the same subject, three trees. Likewise, the result of the third multi-focus shot is generated as the third image (35A).
[0118] When the multi-focus shooting according to the sequence value is completed, the shooting device (100A) packs and stores the generated images (first to third images) as multi-focus images.
[0119] FIG. 11 is a diagram illustrating specific examples of screen division according to various screen division values. The following description refers to the drawing.
[0120] Figure 11 (a) is a case where the screen division value is 3 (N=3), and the entire captured screen is divided into three areas as in the embodiment of Figure 3 above. Here, the case of vertically dividing the entire screen is illustrated, but it is not limited thereto and horizontal division is also possible.
[0121] Figure 11 (b) is a case where the screen division value is 9 (N=9), dividing the entire captured screen into three areas. As the most basic method, the entire screen can be divided equally into 9 areas as illustrated, but it is not limited to this. For example, it is also possible to divide some areas into relatively larger areas.
[0122] Figure 11 (c) is a case where the screen division value is 18 (N=18), which divides the entire captured screen into 18 areas. As with Figure 4 (b), an example of equal division is shown here, but it is not limited to this, and it is also possible to divide some areas into relatively larger or smaller areas.
[0123] Meanwhile, FIG. 11 illustrates various cases of screen division as examples, and it is obvious to those skilled in the art that various screen division methods not described herein (e.g., when the screen division value is 3000, or when the screen division area is a triangle, etc.) may be applied in variations.
[0124] FIG. 12 is a diagram illustrating specific examples of shooting order settings according to various order values. In the embodiment of FIG. 12, the case where the screen division value is 9 (N=9) is used as an example for specificity of the explanation.
[0125] FIG. 12(a) illustrates a case where only one image is captured using multi-focus. Since a single image is captured, it is somewhat different from the meaning of multi-focus, but for the sake of consistency in terminology, the term multi-focus will be used in this case as well. Since only one image is captured, the sequence value '1' is set for only one of the nine separated regions. Here, the sequence value '1' is set for the second region as an example. When multi-focus shooting begins, the shooting device (100A) checks the separated regions according to the screen division value and focuses on the second region to capture one image. As an example, in this case, the total sequence value extracted from the random number information (120A) may be a vector value such as [0, 1, 0, 0, 0, 0, 0, 0, 0].
[0126] FIG. 12(b) illustrates a case where two images are captured in multi-focus. Since two images are captured, the sequence values '1' and '2' are set for two of the nine separated regions. Here, an example is shown where the sequence value '1' is set for the second region and the sequence value '2' is set for the sixth region. When multi-focus shooting begins, the shooting device (100A) checks the separated regions according to the screen division value, first focuses on the second region to capture one image, and then focuses on the sixth region to capture one image again. In one embodiment, the total sequence value extracted from the random number information (120A) in this case may be a vector value such as [0, 1, 0, 0, 0, 2, 0, 0, 0].
[0127] FIG. 12(c) illustrates a case where nine images are captured in multi-focus. Since nine images are captured, sequence values from '1' to '9' are set for each of the nine separated areas. When multi-focus shooting begins, the shooting device (100A) identifies the separated areas according to the screen division value and sequentially focuses on the nine areas according to the sequence values shown in FIG. 5(c) to continuously capture nine images. In one embodiment, the total sequence value extracted from the random number information (120A) may be a vector value such as [5, 1, 7, 4, 8, 2, 9, 3, 6].
[0128] In this way, by dividing the shooting screen into multiple areas and assigning a multi-focus shooting order to them, security against external hacking or malicious forgery and alteration can be significantly improved.
[0129] For example, if the screen split value is 9 and three images are taken in multi-focus, the number of possible multi-focus images that can be created from this is 9 to the power of 3. Therefore, even if a multi-focus image is maliciously manipulated and submitted from the outside, the probability of matching it with the correct screen split value and sequence value (i.e., the probability of identifying it as a real image) is low at 0.13%, allowing for the detection of forged or altered images with a very high probability. This security level increases as the screen split value and the number of images to be captured increase. For example, if the screen split value is 18 and the number of images to be taken in multi-focus is 5, the probability of misidentifying a manipulated image as a real image becomes extremely low at 1 / 1,889,569, which is 1 divided by 18 to the power of 5.
[0130] FIG. 13 is a drawing illustrating an embodiment in which the image capturing method according to the present invention is applied at the pixel level.
[0131] While the previous embodiments performed multi-focus shooting on areas separated according to a screen division value, the embodiment of FIG. 13 performs multi-focus shooting on the pixels of the shooting screen. Therefore, in the embodiment of FIG. 13, since the subject only needs to be focused based on each pixel that has already been determined by hardware, a separate screen division value for screen separation may not be required (since the shooting screen can be considered to have already been separated by pixel).
[0132] In FIG. 13, the shooting device (100A) extracts a sequence value from random number information (120A) and sequentially focuses each pixel according to the extracted sequence value to take multiple images of the same subject in multi-focus.
[0133] For example, as illustrated in the example, let us assume that the number of pixels in the captured screen is 7680 x 4320 and the extracted sequence value is [0, 0, … , 3, … , 0, 0, … , 2, … , 0, 0, … , 1, … , 0, 0]. In this case, the sequence value '3' is matched to the pixel at coordinates (3000, 4000), the sequence value '2' is matched to the pixel at coordinates (7000, 4000), and the sequence value '1' is matched to the pixel at coordinates (50, 60).
[0134] The shooting device (100A) refers to the extracted sequence value and focuses on the pixel at the coordinate (50, 60) where sequence value '1' is set to take a first image (first image), then focuses on the pixel at the coordinate (7000, 4000) where sequence value '2' is set to take a second image (second image), and finally focuses on the pixel at the coordinate (3000, 4000) where sequence value '3' is set to take a third image (third image). The captured images (first to third images) are packed as multi-focus images and transmitted to the discrimination device (200A).
[0135] The discrimination device (200A) generates random number information (210A) in the same manner as in the preceding embodiments and extracts a sequence value therefrom. Then, the discrimination device (200A) verifies whether each pixel was captured with sequential focus according to the extracted sequence value, and verifies the multi-focus image, and determines whether the multi-focus image is a three-dimensional subject image (real image) or a flat subject image (forged, altered, or processed image) according to the result.
[0136] FIGS. 14 to 16 illustrate flowcharts of various embodiments according to the present invention. To avoid complexity in description, in the following description, 'each area separated according to screen division values' will be briefly referred to as 'section'. In addition, to avoid duplication of description, repeated explanations of content identical to what has been previously described will be omitted as much as possible.
[0137] FIG. 14 is a flowchart illustrating an image capturing method according to an embodiment of the present invention. The embodiment of FIG. 14 illustrates a method for capturing a multi-focus image performed by the capturing device (100A) shown in FIG. 8. Accordingly, in the embodiment of FIG. 14, if the entity performing each step is omitted, it is assumed that the entity performing the step is the capturing device (100A).
[0138] In step S1110, the imaging device (100A) checks the time information and the MAC address. At this time, the time information may be the time information of a clock built into the imaging device (100A) or the time information obtained through a network connected to the imaging device (100A). The MAC address may be the MAC address of the imaging device (100A).
[0139] In step S1120, the imaging device (100A) obtains random number information based on verified time information and MAC address. In one embodiment, the imaging device (100A) may obtain the random number information by inputting the time information and MAC address as input information into a predetermined random number generation algorithm.
[0140] At this time, the acquired random number information may include screen division values and sequence values for multi-focus shooting.
[0141] In step S1130, the shooting device (100A) divides the shooting screen illuminating the subject into multiple sections based on the screen division value among the random number information.
[0142] Afterwards, the shooting device (100A) sets the focus order of the previously separated multiple sections based on the order value among the random number information, and continuously shoots by focusing on each section according to the set focus order.
[0143] In step S1140, the shooting device (100A) focuses on the first section, which has a faster focus order among the multiple sections, and captures the first image.
[0144] In step S1150, the shooting device (100A) focuses on the second section, which has a later focus order among the multiple sections, and captures a second image.
[0145] In step S1160, the shooting device (100A) packs and stores the captured first image and second image as a multi-focus image. At this time, the time information and MAC address referenced to obtain the random number information may be packed together. Then, when the shooting device (100A) is connected to the identification device (200A) via a network, the shooting device (100A) transmits the previously stored multi-focus image to the identification device (200A).
[0146] Afterwards, the discrimination device (200A) verifies whether each section is focused according to the screen division value and sequence value for the transmitted multi-focus image, and determines the type.
[0147] Meanwhile, although the embodiment of FIG. 14 describes a case where multiple sections are multi-focused, the scope of the present invention is not limited thereto. For instance, it is possible to generate only one image (first image) as a multi-focus image by focusing only on one section (first section) among the multiple sections. In this case, the determination device (200A) determines the type of the multi-focus image by checking only whether the focused section of the first image is a shooting section specified in the sequence value.
[0148] FIG. 15 is a flowchart illustrating an image discrimination method according to an embodiment of the present invention. The embodiment of FIG. 15 illustrates a method for discriminating a multi-focus image performed by the discrimination device (200A) shown in FIG. 8. Accordingly, in the embodiment of FIG. 15, if the entity performing each step is omitted, it is assumed that the entity performing the step is the discrimination device (200A).
[0149] In step S1210, the discrimination device (200A) receives the multi-focus image transmitted by the shooting device (100A).
[0150] In step S1220, the identification device (200A) checks the time information and MAC address transmitted together from the imaging device (100A).
[0151] In step S1230, the discrimination device (200A) obtains random number information based on the previously verified time information and MAC address. In one embodiment, the discrimination device (200A) may obtain random number information by inputting the verified time information and MAC address as input information into a random number generation algorithm identical to that of the shooting device (100A). The obtained random number information may include screen division values and sequence values used for multi-focus shooting.
[0152] In step S1240, the determination device (200A) refers to the screen division value and sequence value of the random number information to verify whether the focused sections of the multi-focus image match the screen division value and sequence value, and determines the type of the multi-focus image as a three-dimensional subject image (real image) or a two-dimensional subject image (forged, altered, or processed image) based on the verification result.
[0153] This will be explained in more detail with reference to FIG. 16. FIG. 16 is a flowchart illustrating an embodiment that further specifies the step (S1240) of determining the type of the image of FIG. 15. The following description will be explained with reference to the drawings.
[0154] In step S1241, the determination device (200A) checks the screen division value and the sequence value among the random number information.
[0155] In step S1242, the discrimination device (200A) identifies the focused sections of each image included in the multi-focus image. For example, if the multi-focus image includes first to third images, the discrimination device (200A) identifies the focused section of the first image, the focused section of the second image, and the focused section of the third image, respectively.
[0156] In step S1243, the determination device (200A) checks whether the focused area of each image matches the screen division value. If the focused area of each image does not match the screen division value (e.g., if two or more sections according to the screen division value are simultaneously focused within one image), the present embodiment proceeds to step S1246. Conversely, if the focused area of each image matches the screen division value (e.g., if the focused area of each image fits into the section according to the screen division value), the present embodiment proceeds to step S1244.
[0157] In step S1244, the determination device (200A) checks whether the focused order of each section matches the sequence value. If the focused order of each section does not match the sequence value (e.g., the sequence value of the first section is '3', but it is actually focused and captured first), the present embodiment proceeds to step S1246. Conversely, if the focused order of each section matches the sequence value (e.g., it is focused and captured sequentially according to the sequence value set for each section), the present embodiment proceeds to step S1245.
[0158] In step S1245, since it is confirmed that the transmitted multi-focus image was captured in multi-focus according to the screen division value and the order value, the determination device (200A) determines the type of the multi-focus image as a stereoscopic subject image (or, a real image).
[0159] On the other hand, if the process proceeds from steps S1243 and S1244 to step S1246, since the transmitted multi-focus image was not captured in multi-focus according to the screen split value and sequence value, the determination device (200A) in step S1246 determines the type of the multi-focus image as a flat subject image (or, forged, altered, or manipulated image).
[0160] Hereinafter, with reference to FIG. 17, an exemplary computing device (500) in which the methods described in various embodiments of the present invention are implemented will be described. For example, the user terminal (100) or original certificate server (200) of FIG. 1, the shooting device (100) or discrimination device (200) of FIG. 8 can be implemented as the computing device (500) of FIG. 17.
[0161] FIG. 17 is an exemplary hardware configuration diagram showing a computing device (500).
[0162] As illustrated in FIG. 17, a computing device (500) may include one or more processors (510), a bus (550), a communication interface (570), a memory (530) for loading a computer program (591) executed by the processor (510), and a storage (590) for storing the computer program (591). However, FIG. 17 illustrates only the components related to the embodiments of the present invention. Therefore, a person skilled in the art to which the present invention pertains will understand that other general-purpose components may be included in addition to the components illustrated in FIG. 17.
[0163] The processor (510) controls the overall operation of each component of the computing device (500). The processor (510) may be configured to include at least one of a CPU (Central Processing Unit), MPU (Micro Processor Unit), MCU (Micro Controller Unit), GPU (Graphic Processing Unit), or any form of processor well known in the art of the present invention. Additionally, the processor (510) may perform operations for at least one application or program for executing a method / operation according to various embodiments of the present invention. The computing device (500) may have one or more processors.
[0164] The memory (530) stores various data, commands and / or information. The memory (530) may load one or more programs (591) from storage (590) to execute methods / operations according to various embodiments of the present invention. Examples of the memory (530) may be RAM, but are not limited thereto.
[0165] The bus (550) provides communication functions between components of the computing device (500). The bus (550) can be implemented as various types of buses, such as an address bus, a data bus, and a control bus.
[0166] The communication interface (570) supports wired and wireless internet communication of the computing device (500). The communication interface (570) may also support various communication methods other than internet communication. To this end, the communication interface (570) may be configured to include a communication module well known in the technical field of the present invention.
[0167] Storage (590) may store one or more computer programs (591) non-temporarily. Storage (590) may be configured to include non-volatile memory such as ROM (Read Only Memory), EPROM (Erasable Programmable ROM), EEPROM (Electrically Erasable Programmable ROM), flash memory, a hard disk, a removable disk, or any form of computer-readable recording medium well known in the art to which the present invention belongs.
[0168] The computer program (591) may include one or more instructions in which methods / operations according to various embodiments of the present invention are implemented.
[0169] For example, a computer program (591) may include instructions for executing operations to acquire proof data including a captured image and a challenge code for original proof of the image, to generate hash data using the proof data, to generate signature data for the hash data, to transmit the proof data, hash data, and signature data to a server, and to receive an access path for the original verification result of the proof data from the server.
[0170] Alternatively, the computer program (591) may include instructions for executing operations to receive proof data, hash data generated using the proof data, and signature data for the hash data from a user terminal, wherein the proof data includes a captured image and a challenge code for original proof of the image, an operation to verify the hash data, signature data, and challenge code, an operation to generate an original verification result of the proof data based on the verified result, and an operation to transmit an access path for the original verification result to the user terminal.
[0171] When a computer program (591) is loaded into memory (530), the processor (510) can perform methods / operations according to various embodiments of the present invention by executing one or more of the instructions.
[0172] The technical concept of the present invention described so far may be implemented as computer-readable code on a computer-readable medium. The computer-readable recording medium may be, for example, a removable recording medium (CD, DVD, Blu-ray disc, USB storage device, removable hard disk) or a fixed recording medium (ROM, RAM, computer-equipped hard disk). The computer program recorded on the computer-readable recording medium may be transmitted to another computing device via a network such as the Internet and installed on the other computing device, thereby allowing it to be used on the other computing device.
[0173] Although embodiments of the present invention have been described above with reference to the attached drawings, those skilled in the art will understand that the present invention may be implemented in other specific forms without altering the technical concept or essential features thereof. Therefore, the embodiments described above should be understood as illustrative in all respects and not restrictive. The scope of protection of the present invention shall be interpreted by the claims below, and all technical concepts within the equivalent scope shall be interpreted as being included within the scope of rights of the technical concept defined by the present invention.
Claims
Claim 1 A method for proving an original by a computing device comprises: a step of generating an image by photographing a subject using a shooting method based on a real subject distinction algorithm; a step of obtaining proof data including the generated image and a challenge code for proving the original of the image; a step of generating hash data using the proof data; a step of generating signature data for the hash data; a step of transmitting the proof data, the hash data, and the signature data to a server; and a step of receiving an access path for the original verification result of the proof data from the server, wherein the step of generating the image comprises: generating random number information based on time information or a MAC address of a shooting device, wherein the random number information includes a screen division value for dividing a shooting screen into multiple regions and a sequence value for specifying the focus order of the multiple regions; and a step of photographing a subject by performing multi-focus shooting that selectively focuses on the multiple regions divided according to the sequence value included in the random number information. A method for proving an original, comprising the step of transmitting a plurality of images generated through the multi-focus shooting and the time information or the MAC address to the server, wherein the original verification result is generated based on the result of determining whether the image included in the proof data is a real subject using the transmitted plurality of images and the time information or the MAC address. Claim 2 A method for proving an original, wherein the original verification result is generated based on the result of the server verifying the hash data, the signature data, and the challenge code. Claim 3 A method for proving originality according to claim 1, wherein the transmitting step comprises the step of generating a transaction to record the hash data on a blockchain network. Claim 4 In claim 3, the transmitting step further comprises: a step of obtaining a transaction ID (Identification) of the transaction; and a step of transmitting the transaction ID to the server, in a method for proving the original. Claim 5 In claim 3, the server compares the transmitted hash data with the hash data recorded on the blockchain network, a method for proving the original. Claim 6 delete Claim 7 delete Claim 8 A method for proving an original, further comprising the step of providing the received access path to an external device in claim 1. Claim 9 In claim 8, the external device includes an insurance company server, a trading brokerage site server, a law firm server, a media company server, or a public institution server, and a method for verifying the original verification result of the proof data using the access path. Claim 10 A method for proving an original by a computing device, comprising: receiving time information or a MAC address of a shooting device from a user terminal; receiving proof data, hash data generated using the proof data, and signature data for the hash data from the user terminal, wherein the proof data includes a captured image and a challenge code for proving the original of the image; verifying the hash data, the signature data, and the challenge code; generating an original verification result of the proof data based on the verified result; and transmitting an access path for the original verification result to the user terminal, wherein the image includes a plurality of images generated through multi-focus shooting, and the verification step comprises generating random number information based on the time information or MAC address, wherein the random number information includes a screen division value for dividing the shooting screen into a plurality of regions and a sequence value for specifying the focus order of the plurality of regions; and determining whether the focused region of each of the plurality of images corresponds to the screen division value and the sequence value of the random number information to determine that the proof data is an image of an actual subject. Claim 11 In claim 10, the verification step comprises comparing the hash data with hash data recorded on a blockchain network, a method for proving the original. Claim 12 delete Claim 13 delete Claim 14 A method for proving the original, wherein, in claim 10, it further comprises the step of providing the result of verifying the original of the proof data to the external device in response to a request from the external device through the access path, and the external device includes an insurance company server, a trading brokerage site server, a law firm server, a media company server, or a public institution server. Claim 15 One or more processors; memory for loading a computer program executed by said processors; and storage for storing said computer program, wherein the computer program comprises: instructions for generating an image by photographing a subject by a shooting method based on a real subject distinction algorithm; instructions for obtaining proof data including said generated image and a challenge code for proving the originality of said image; instructions for generating hash data using said proof data; instructions for generating signature data for said hash data; and instructions for transmitting said proof data, said hash data, and said signature data to a server. A user terminal comprising instructions for receiving an access path for the original verification result of the proof data from the server, wherein instructions for generating the image generate random number information based on time information or a MAC address of a shooting device, wherein the random number information includes a screen division value for dividing the shooting screen into multiple regions and a sequence value for specifying the focus order of the multiple regions; instructions for photographing a subject by performing multi-focus shooting that selectively focuses on the multiple regions divided according to the sequence value included in the random number information; and instructions for transmitting a plurality of images generated through the multi-focus shooting and the time information or the MAC address to the server, wherein the original verification result is generated based on the result of determining whether the image included in the proof data is a real subject using the transmitted plurality of images and the time information or the MAC address. Claim 16 One or more processors; memory for loading a computer program executed by said processors; and storage for storing said computer program, wherein the computer program comprises: instructions for receiving time information or a MAC address of a shooting device from a user terminal; instructions for receiving proof data, hash data generated using said proof data, and signature data for said hash data from said user terminal, wherein said proof data includes a captured image and a challenge code for authenticating the original of said image; instructions for verifying said hash data, said signature data, and said challenge code; instructions for generating an original verification result of said proof data based on said verification result; and instructions for transmitting an access path for said original verification result to said user terminal, wherein said image includes a plurality of images generated through multi-focus shooting, and said verification instructions generate random number information based on said time information or MAC address, wherein said random number information includes a screen division value for dividing a shooting screen into a plurality of regions and a sequence value for specifying the focus order of said plurality of regions. An original verification server comprising instructions for determining whether the focused area of each of the plurality of images corresponds to the screen division value and the sequence value of the random number information, and determining that the proof data is an image of an actual subject.