Image verification method and apparatus

By adding device parameter information to the image and performing matching verification, the problem of unstable image source verification in traditional methods is solved, achieving higher accuracy and reliability.

WO2026065644A1PCT designated stage Publication Date: 2026-04-02ANT BLOCKCHAIN TECHNOLOGY (SHANGHAI) CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-10-31
Publication Date
2026-04-02

AI Technical Summary

Technical Problem

Traditional image source verification methods suffer from low accuracy and reliability due to image content compression and post-processing.

Method used

The camera module of the steganography device uses a preset steganography algorithm to add information corresponding to the device parameters to the captured image, and the server extracts and matches this information to verify the source of the image.

Benefits of technology

It improves the accuracy and reliability of image source verification, ensures the stability and accuracy of image verification, and does not affect the visual presentation of the image.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024128713_02042026_PF_FP_ABST
    Figure CN2024128713_02042026_PF_FP_ABST
Patent Text Reader

Abstract

Provided in the embodiments of the present description is an image verification method, which is executed by a steganographic device, wherein the steganographic device comprises: a photographic module and a verification module. The image verification method comprises: a photographic module capturing a first image, and using a preset steganography algorithm to add, into the first image, first information corresponding to device parameters of a steganography device; and the photographic module sending to a verification module the first image, into which the first information has been added, such that whether the first image is photographed by the photographic module is verified on the basis of the verification of the first information.
Need to check novelty before this filing date? Find Prior Art

Description

Method and device for verifying image

[0001] The present application claims priority to the Chinese patent application No. 202411374099.1, filed on September 27, 2024, and entitled "Method and device for verifying image", the content of which is incorporated herein by reference in its entirety. TECHNICAL FIELD

[0002] One or more embodiments of the present specification relate to the technical field of image processing, and in particular to a method and device for verifying image. BACKGROUND

[0003] In many business fields such as business, finance, etc., it is often necessary to verify the source of an image, i.e., to verify whether a certain image is taken by a certain specific device. In the traditional verification method, a camera fingerprint is first generated based on the image content using a camera fingerprint generation algorithm (such as a Photo-Response Non-Uniformity (PRNU) pattern, etc.), and then the generated camera fingerprint is compared with the camera fingerprint of a known camera, and then it is determined whether the image is taken by the known camera.

[0004] However, since the image content is usually affected by image compression, post-processing, etc., the camera fingerprint generated based on the image content is usually unstable, which affects the accuracy and reliability of image source verification.

[0005] Therefore, it is necessary to provide a more accurate and reliable method for verifying image.

[0006] SUMMARY

[0007] One or more embodiments of the present specification describe a method and device for verifying image, which can improve the accuracy and reliability of image source verification.

[0008] In a first aspect, a method for verifying image is provided, executed by a steganography device, the steganography device comprising a camera module and a verification module; the method comprising:

[0009] The camera module captures a first image, and adds first information corresponding to device parameters of the steganography device to the first image using a preset steganography algorithm;

[0010] The camera module sends the first image after adding the first information to the verification module for verification based on the first information to verify whether the first image is captured by the camera module.

[0011] In a second aspect, a method for verifying image is provided, executed by a steganography device, comprising:

[0012] obtaining a first image captured by the stego device;

[0013] obtaining first information corresponding to device parameters of the stego device;

[0014] adding the first information into the first image by using a preset steganography algorithm;

[0015] sending the first image with the first information added to a server.

[0016] In a third aspect, a method for verifying an image is provided, which is performed by a server and includes:

[0017] receiving a first image to be verified from a stego device; the stego device is configured to add information corresponding to device parameters of the stego device into an image captured by the stego device based on a preset steganography algorithm;

[0018] extracting first information from the first image by using an extraction algorithm corresponding to the steganography algorithm;

[0019] matching the first information with verification information corresponding to the stego device and previously stored;

[0020] determining whether the first image is captured by the stego device according to a matching result.

[0021] In a fourth aspect, a device for verifying an image is provided, which is arranged in a stego device and includes:

[0022] a capturing unit configured to capture a first image and add first information corresponding to device parameters of the stego device into the first image by using a preset steganography algorithm;

[0023] a sending unit configured to send the first image with the first information added to a verifying unit;

[0024] the verifying unit is configured to verify whether the first image is captured by the capturing unit based on verification of the first information.

[0025] In a fifth aspect, a device for verifying an image is provided, which is arranged in a server and includes:

[0026] a receiving unit configured to receive a first image to be verified from a stego device; the stego device is configured to add information corresponding to device parameters of the stego device into an image captured by the stego device based on a preset steganography algorithm;

[0027] an extracting unit configured to extract first information from the first image by using an extraction algorithm corresponding to the steganography algorithm;

[0028] The matching unit is configured to match the first information with check information corresponding to the steganography device and pre-stored.

[0029] The determining unit is configured to determine whether the first image is taken by the steganography device according to the matching result.

[0030] In a sixth aspect, a computer readable storage medium is provided, which stores a computer program. When the computer program is executed in a computer, the computer program causes the computer to perform the method.

[0031] In a seventh aspect, a computing device is provided, which includes a memory and a processor. The memory stores executable code, and the processor executes the executable code to implement the method.

[0032] In an eighth aspect, a computer program product is provided, which includes a computer program / instruction. When the computer program / instruction is executed by a processor, the steps of the method are implemented.

[0033] The method for verifying an image provided by one or more embodiments of the present specification can add information corresponding to the device parameters of the steganography device to the image taken by the camera module in the steganography device based on a preset steganography algorithm. Therefore, when the server receives the image to be verified from the steganography device, the steganography information contained in the image is extracted first, and then the source of the image is verified by matching the information with the check information corresponding to the steganography device and pre-stored. Thus, the accuracy and reliability of the image source verification can be greatly improved. BRIEF DESCRIPTION OF DRAWINGS

[0034] In order to more clearly illustrate the technical solutions of the embodiments of the present specification, the drawings needed in the embodiment description will be briefly introduced below. Obviously, the drawings in the following description are only some embodiments of the present specification, and other drawings can be obtained by those skilled in the art without creative labor.

[0035] FIG. 1 shows a structure diagram of a steganography device according to an embodiment of the present specification;

[0036] FIG. 2 shows an interaction diagram of a method for verifying an image according to an embodiment of the present specification;

[0037] FIG. 3 shows an interaction diagram of a method for verifying an image according to another embodiment of the present specification;

[0038] FIG. 4 shows an interaction diagram of an identity authentication method according to an embodiment of the present specification;

[0039] FIG. 5 shows an interaction diagram of a method for verifying an image according to yet another embodiment of the present specification;

[0040] FIG. 6 shows a method interaction diagram for verifying an image according to still another embodiment of the present specification;

[0041] FIG. 7 shows a method interaction diagram for verifying an image according to yet another embodiment of the present specification;

[0042] FIG. 8 shows a device schematic diagram for verifying an image according to an embodiment of the present specification;

[0043] FIG. 9 shows a device schematic diagram for verifying an image according to another embodiment of the present specification. DETAILED DESCRIPTION

[0044] The scheme provided in the present specification will be described below in conjunction with the accompanying drawings.

[0045] FIG. 1 shows a structure diagram of a steganography device according to an embodiment of the present specification. In FIG. 1, the steganography device includes a camera module and a verification module, wherein the camera module is configured to add information (referred to as device information) corresponding to device parameters of the steganography device to an image captured by the camera module based on a preset steganography algorithm. The verification module is configured to verify whether an image received by the steganography device is captured by the camera module based on verification of the device information.

[0046] In an embodiment, the verification process of the verification module can specifically include: receiving two images, i.e., a face image and an ID image, from the camera module, then extracting device information contained in the two images, and finally determining whether the two images are captured by the camera module of the steganography device by comparing whether the device information extracted from the two images is consistent, i.e., verifying the source of the two images.

[0047] In another embodiment, the verification process of the verification module can further include: when a user of the steganography device requests to register, the verification module receives a face image of the user from the camera module, then extracts device information from the face image and stores the device information after verification. Thereafter, for a face image received in real time from the camera module, device information can be extracted therefrom, then the extracted device information is compared with the stored device information, and thus the source of the face image received in real time is verified.

[0048] FIG. 2 shows a method interaction diagram for verifying an image according to an embodiment of the present specification. As shown in FIG. 2, the method can include the following steps:

[0049] Step S202, the camera module of the steganography device captures an image f1, and adds first information corresponding to device parameters of the steganography device to the image f1 by using a preset steganography algorithm.

[0050] In one embodiment, the image f1 mentioned above can be requested by a user of the steganography device to be registered in the authentication module of the steganography device, and the authentication module requests the camera module to take a picture at this time. In a more specific embodiment, the image f1 mentioned above is a user's face image or a certificate image.

[0051] In addition, the device parameters mentioned above can include module parameters of the camera module, which are non-adjustable parameters of the camera module, and can include two parts: the first part: fixed parameters; for example, module model, sensor size, etc. The second part: limit parameters; it should be understood that this part of the parameters is usually not fixed, but the camera module limits its change. The limit parameters here can include, for example: shutter frequency, aperture, and ISO sensitivity, etc. Of course, the device parameters mentioned above can also include other device parameters, which are not limited in this specification.

[0052] Specifically, the device parameters of the steganography device can be obtained during or after the process of taking the image f1. Then, the device parameters can be converted into information (hereinafter referred to as device information) that can be added to the image, such as images, texts, symbols, numbers, etc.

[0053] It should be noted that the device information added to the image f1 by using the steganography algorithm does not affect the visual presentation effect of the image f1, but can be extracted from the image f1 by using the extraction algorithm corresponding to the steganography algorithm.

[0054] In one embodiment, the steganography algorithm mentioned above is a digital watermark algorithm, which can include but is not limited to any one of the following: least significant bit (LSB) algorithm, frequency domain watermark algorithm (such as DCT, DFT), wavelet transform-based algorithm, etc.

[0055] Taking the LSB algorithm as an example, the device information can be written into the last N positions of the pixel value bit string corresponding to the pixel point at the specified position in the image f1. It should be understood that since the values of the last N positions (i.e. the least significant bits) in the image pixel value bit string have negligible effect on the visual presentation of the corresponding pixel point, the device information can be written into the N positions.

[0056] It should be noted that in order to ensure the security of the device information adding process, the process of adding device information can be performed in a trusted execution environment TEE, that is, in the trusted execution environment TEE, the first information mentioned above is added to the image f1 by using the preset steganography algorithm.

[0057] Of course, in practice, the security of the device information adding process can also be ensured by encryption or obfuscation. That is, the code for adding device information to an image is encrypted or obfuscated in advance to obtain ciphertext code or obfuscated code, and then the first information is added to the image f1 by executing the ciphertext code or obfuscated code using a preset steganographic algorithm.

[0058] In step S204, the camera module sends the image f1 with added device information to the verification module.

[0059] After receiving the image f1, the verification module can verify the source of the image f1. Of course, in practice, the verification module can also send the image f1 to the server for verification.

[0060] It should be noted that in this scheme, the verification module and the server have the same verification process for the image f1, and therefore the following will be described by taking the server verifying the image f1 as an example.

[0061] FIG. 3 shows an interaction diagram of a method for verifying an image according to another embodiment of the present specification. As shown in FIG. 3, the method can include:

[0062] In step S302, the server receives the image f1 to be verified from the steganographic device.

[0063] As described above, the steganographic device includes a camera module for adding information corresponding to the device parameters of the steganographic device to the image captured by the camera module based on a preset steganographic algorithm.

[0064] In practice, the server can also receive the device identifier (Id) of the steganographic device from the verification module.

[0065] In step S304, the server extracts the first information from the image f1 using an extraction algorithm corresponding to the steganographic algorithm.

[0066] It should be understood that in the case of a digital watermark algorithm as the steganographic algorithm, the extraction algorithm can be a digital watermark extraction algorithm.

[0067] Taking the LSB algorithm as an example, the server can read the first information from the last N positions of the pixel value bit string corresponding to the pixel points at the specified position of the image f1.

[0068] In step S306, the server matches the first information with the pre-stored verification information corresponding to the steganographic device.

[0069] In step S308, the server determines whether the image f1 is captured by the camera module of the steganographic device according to the matching result.

[0070] Specifically, the server can find the check information corresponding to the steganography device from the storage unit according to the device identification received from the verification module, match the check information with the first information extracted from the image f1, and determine that the image f1 is captured by the camera module of the steganography device in the case of matching, so as to realize the verification of the source of the image f1.

[0071] It should be understood that, in the present scheme, since the device information added to the image is unadjustable and stable, the reliability of image verification can be improved when the source of the image is verified based on the device information. In addition, since the device information is specific information rather than abstract information calculated by an algorithm, the accuracy of image verification can be improved when the source of the image is verified based on the device information. Finally, since the device information is added to the image by the steganography algorithm, it will not affect the visual presentation effect of the image, that is, the present scheme can add device information while ensuring the accuracy of the image.

[0072] In summary, the method for verifying an image provided by the embodiments of the present specification verifies the source of the image by utilizing the characteristic that the steganography device adds device information to the image captured by the camera module thereof, thereby solving the problem of low reliability and accuracy when verifying the source of the image based on unstable features of the image in the prior art.

[0073] The method for verifying an image provided by one or more embodiments of the present specification can be applied to an identity authentication scene, and the verification process is described in detail below.

[0074] FIG. 4 shows an identity authentication method interaction diagram according to an embodiment of the present specification. As shown in FIG. 4, the method can include the following steps:

[0075] Step S402, the camera module of the steganography device captures an image f1, and adds device information to the image f1 by using a preset steganography algorithm.

[0076] The image f1 described above can be captured by the camera module at the request of the verification module of the steganography device when the user requests to register in the verification module, and can be a face image or an ID image of the user.

[0077] The device information herein can refer to the above description.

[0078] In one embodiment, the steganography algorithm described above is a digital watermark algorithm, which can include but is not limited to any one of the following: a least significant bit (LSB) algorithm, a frequency domain watermark algorithm (such as DCT, DFT), a wavelet transform-based algorithm, etc.

[0079] Step S404, the camera module sends the image f1 with the added device information to the verification module, and then the verification module forwards the image f1 to the server.

[0080] Of course, in practice, the verification module can also send the device identifier of the steganography device to the server.

[0081] Step S406, the server extracts the device information from the image f1 using the extraction algorithm corresponding to the steganography algorithm, and stores the device information as the check information, and stores the image f1.

[0082] More specifically, the server can store the device identifier of the steganography device in association with the check information in the storage unit. In addition, the image f1 is also stored in association with the device identifier.

[0083] Step S408, the camera module of the steganography device captures an image f2, and adds device information to the image f2 using the preset steganography algorithm.

[0084] It should be understood that, in the case where the image f1 is a user's face image, the image f2 here is a user's certificate image; and in the case where the image f1 is a user's certificate image, the image f2 here is a user's face image.

[0085] In this embodiment, the time interval between the image f1 and the image f2 captured by the camera module is less than a time threshold, or in other words, the image f1 and the image f2 are two images captured by the camera module in succession.

[0086] Here, the process of adding device information to the image f2 is similar to the process of adding device information to the image f1, and is not repeated here.

[0087] Step S410, the camera module sends the image f2 with the added device information to the verification module, and then the verification module forwards the image f2 to the server.

[0088] Here, the verification module can also send the device identifier of the steganography device to the server.

[0089] Step S412, the server extracts the device information from the image f2 using the extraction algorithm corresponding to the steganography algorithm.

[0090] Step S414, the server matches the extracted device information with the pre-stored check information, and if they match, step S416 is performed; otherwise, it is determined that the identity authentication of the user fails.

[0091] Specifically, the server can find the check information stored in association with the device identifier from the storage unit according to the device identifier received from the verification module (i.e. find the check information corresponding to the steganography device), and match the check information with the extracted device information. It should be understood that if the device information matches the check information, it means that the image f1 and the image f2 are both taken by the camera module of the steganography device, and thus the source verification of the image f1 and the image f2 is passed.

[0092] At step S416, the image f1 is compared with the image f2, and according to the comparison result, it is determined whether the identity authentication of the user is passed.

[0093] Similarly to the above method of obtaining the check information, the server can obtain the image f1 stored in association with the device identifier of the steganography device according to the device identifier received from the verification module, and then compare the image f1 with the image f2.

[0094] If the comparison result shows that the proportion of the face image consistent with the face in the certificate image is less than the preset proportion threshold, it is determined that the identity authentication of the user is not passed. If the comparison result shows that the proportion of the face image consistent with the face in the certificate image is not less than the preset proportion threshold, it is determined that the identity authentication of the user is passed.

[0095] It should be understood that in practice, there may be a case where the steganography device is a malicious party. In the case where the steganography device is a malicious party, it may attack the image taken by the camera module, for example, replace the image taken by the camera module with the image taken by a legitimate device stolen by it, and since the source verification of the replaced image will not pass (explained later), the identity authentication of the user will not pass. The following describes the verification process of the image in the case where the steganography device is a malicious party.

[0096] FIG. 5 shows a method of verifying an image according to another embodiment of the present specification. As shown in FIG. 5, the method can include the following steps:

[0097] At step S502, the camera module of the malicious party takes an image f1, and adds device information to the image f1 using a preset steganography algorithm.

[0098] The image f1 described above can be taken by the camera module requested by the verification module of the malicious party when the user requests to register in the verification module of the malicious party, and can be a face image or a certificate image of the user.

[0099] The device information herein can refer to the above description.

[0100] In one embodiment, the steganography algorithm described above is a digital watermarking algorithm, which can include but is not limited to any one of the following: a least significant bit (LSB) algorithm, a frequency domain watermarking algorithm (such as DCT, DFT), a wavelet transform-based algorithm, etc.

[0101] At step S504, the malicious party replaces the image f1 with an image f1' received from another device, and sends the image f1' to the verification module, which forwards it to the server.

[0102] Here, the image f1' is a face image or an ID image of the user taken by the camera module of another device, which is obtained by the malicious party through illegal means (e.g., stolen from the network, etc.).

[0103] Of course, in practice, the verification module can also send the malicious party identifier to the server.

[0104] At step S506, the server extracts the device information from the image f1' using an extraction algorithm corresponding to the steganography algorithm, and stores it as the check information, as well as stores the image f1'.

[0105] It should be understood that the check information is the device information of the other device.

[0106] More specifically, the server can store the malicious party identifier of the malicious party in association with the check information in the storage unit. In addition, the image f1' is also stored in association with the malicious party identifier.

[0107] At step S508, the malicious party generates an image f2 based on the image f1', and sends it to the server through the verification module.

[0108] Here, when the image f1' is a face image, the image f2 is an ID image; and when the image f1' is an ID image, the image f2 is a face image.

[0109] In one example, the malicious party can generate the image f2 through artificial intelligence (AI).

[0110] Here, the malicious party usually also sends the malicious party identifier corresponding thereto to the server.

[0111] At step S510, the server extracts the device information from the image f2 using an extraction algorithm corresponding to the steganography algorithm.

[0112] It should be noted that since the malicious party does not add device information to the image f2, the device information extracted here is an error information.

[0113] Step S512, the server matches the device information extracted from the image f2 with the pre-stored check information.

[0114] Specifically, the server can find the check information stored in association with the malicious party identifier from the malicious party identifier received from the malicious party from the storage unit (i.e. find the check information corresponding to the malicious party), and match the check information with the extracted device information. Because the pre-stored check information is device information of other devices, and the device information extracted from the image f2 is false information, the two do not match, and the source verification of the image f2 fails, i.e. it is determined that the image f2 is not taken by the camera module of the malicious party.

[0115] FIG. 6 shows an interaction diagram of a method of verifying an image according to still another embodiment of the present specification. As shown in FIG. 6, the method can include the following steps:

[0116] Step S602, the camera module of the malicious party takes an image f1, and adds device information to the image f1 using a pre-set steganography algorithm.

[0117] The image f1 described above can be taken by the camera module requested by the verification module of the malicious party when the user requests to register in the verification module, which can be a face image or an ID image of the user.

[0118] The device information here can refer to the above description.

[0119] In one embodiment, the steganography algorithm described above is a digital watermark algorithm, which can include but is not limited to any one of the following: a least significant bit (LSB) algorithm, a frequency domain watermark algorithm (such as DCT, DFT), a wavelet transform-based algorithm, etc.

[0120] Step S604, the camera module sends the image f1 with added device information to the verification module, and then the verification module forwards the image f1 to the server.

[0121] Of course, in practice, the verification module can also send the malicious party identifier of the malicious party to the server.

[0122] Step S606, the server uses an extraction algorithm corresponding to the steganography algorithm to extract the device information from the image f1, and stores it as check information, and stores the image f1.

[0123] It should be understood that the check information here is the device information of the malicious party.

[0124] More specifically, the server can store the malicious party identifier of the malicious party in association with the check information in the storage unit. In addition, the image f1 is also stored in association with the malicious party identifier.

[0125] Step S608, the malicious party sends the image f2 received from the other device to the verification module, which forwards it to the server.

[0126] Here, the image f2 is a face image or an ID image of the user taken by the camera module of the other device and acquired by the malicious party through illegal means (e.g., stolen from the network, etc.).

[0127] More specifically, when the image f1 is a face image, the image f2 is an ID image; and when the image f1 is an ID image, the image f2 is a face image.

[0128] Of course, in practice, the verification module can also send the malicious party identifier to the server.

[0129] Step S610, the server extracts the device information from the image f2 using an extraction algorithm corresponding to the steganography algorithm.

[0130] It should be understood that the device information here is the device information of the other device.

[0131] Step S612, the server matches the device information extracted from the image f2 with the pre-stored verification information.

[0132] Specifically, the server can find the verification information stored in association with the malicious party identifier received from the malicious party from the storage unit (i.e., find the verification information corresponding to the malicious party), and match the verification information with the extracted device information. Because the pre-stored verification information is the device information of the malicious party, and the device information extracted from the image f2 is the device information of the other device, the two do not match, the source verification of the image f2 fails, i.e., it is determined that the image f2 is not taken by the camera module of the malicious party.

[0133] It should be noted that the above embodiments are descriptions of the verification process of the image by the camera module in the steganography device adding device information to the image, and the steganography device as the malicious party. In practice, the verification module in the steganography device can also add device information to the image, in which case the malicious party can be a third party other than the steganography device and the server. The attack process of the third party is described in detail below.

[0134] FIG. 7 shows a method for verifying an image according to another embodiment of the present specification. As shown in FIG. 7, the method can include the following steps:

[0135] Step S702, the camera module of the steganography device takes an image f1 and sends it to the verification module.

[0136] The image f1 can be an image of a face or an ID image of the user, which is requested by the authentication module of the steganography device when the user requests to register in the authentication module.

[0137] At step S704, the authentication module adds the device information into the image f1 by using a preset steganography algorithm.

[0138] The device information can refer to the above description.

[0139] In an embodiment, the steganography algorithm can be a digital watermark algorithm, which can include but not limited to any one of the following: a least significant bit (LSB) algorithm, a frequency domain watermark algorithm (e.g. DCT, DFT), a wavelet transform-based algorithm, etc.

[0140] At step S706, the authentication module sends the image f1 with the added device information to the server.

[0141] Of course, in practice, the authentication module can also send the device identifier of the steganography device to the server.

[0142] At step S708, the server extracts the device information from the image f1 by using an extraction algorithm corresponding to the steganography algorithm, and stores the device information as verification information.

[0143] It should be understood that the verification information is the device information of the steganography device.

[0144] More specifically, the server can store the device identifier of the steganography device in association with the verification information in a storage unit.

[0145] At step S710, the camera module of the steganography device captures an image f2 and provides the image f2 to the authentication module.

[0146] At step S712, the authentication module adds the device information into the image f2 by using the preset steganography algorithm.

[0147] At step S714, during the process of sending the image f2 to the server by the authentication module, a malicious party performs an injection attack, i.e. generates an image f2’ based on the image f2 and sends the image f2’ to the server.

[0148] In an example, the malicious party can generate the image f2’ by using artificial intelligence (AI).

[0149] It should be understood that the malicious party does not know that the device information needs to be added to the image, so the device information is not added to the image f2’.

[0150] In practice, the verification module usually sends the device identification of the steganography device and the image f2 to the server, so that the malicious party can send the device identification of the steganography device and the image f2' to the server after replacing the image f2 with the image f2'.

[0151] In step S716, the server extracts the device information from the image f2' by using an extraction algorithm corresponding to the steganography algorithm.

[0152] It should be noted that the device information extracted here is an error information because the malicious party does not add the device information to the image f2'.

[0153] In step S718, the server matches the device information extracted from the image f2' with the pre-stored verification information.

[0154] Specifically, the server can find the verification information stored in association with the device identification received from the malicious party from the storage unit (i.e., find the verification information corresponding to the steganography device), and match the verification information with the extracted device information. Because the pre-stored verification information is the device information of the steganography device, and the device information extracted from the image f2' is an error information, the two do not match, the source verification of the image f2' fails, i.e., it is determined that the image f2' is not taken by the steganography device.

[0155] Of course, in practice, the malicious party can also perform an injection attack on the above-mentioned image f1, i.e., replace the image f1 with the image f1' generated by the malicious party after adding the device information, so that the verification information pre-stored by the server is an error information, and then when the server receives the image f2 after adding the device information from the steganography device, the extracted device information does not match the verification information, so the image verification fails.

[0156] In addition, the malicious party can also perform an injection attack on the above-mentioned image f1 and image f2 at the same time, at which time the device information pre-extracted from the two images is an error information, i.e., the verification information and the device information do not match, so the image verification fails.

[0157] Corresponding to the above-mentioned method of verifying the image, one embodiment of the present specification also provides a device for verifying an image, which is arranged in a steganography device. As shown in FIG. 8, the device comprises:

[0158] A photographing unit 802 is configured to photograph a first image, and add first information corresponding to a device parameter of the steganography device to the first image by using a pre-set steganography algorithm;

[0159] A sending unit 804 is configured to send the first image after adding the first information to a verification unit;

[0160] The verification unit 806 is configured to verify whether the first image is captured by the photographing unit 802.

[0161] In an embodiment, the photographing unit 802 is further configured to capture a second image, and add the first information into the second image by using a steganography algorithm.

[0162] The sending unit 804 is further configured to send the second image with the added first information to the verification unit 806.

[0163] The verification unit 806 is specifically configured to:

[0164] extract the first target information and the second target information from the first image and the second image respectively by using an extraction algorithm corresponding to the steganography algorithm.

[0165] compare the first target information and the second target information, and determine that the first image is captured by the photographing unit 802 if the first target information and the second target information are consistent.

[0166] The photographing unit 802 is specifically configured to:

[0167] receive a first request sent by the verification unit 806 according to a registration request of a user.

[0168] In response to the first request, the photographing unit 802 is configured to capture a second image.

[0169] In an embodiment, the verification unit 806 is further configured to send the first image with the added first information to a server to verify whether the first image is captured by the photographing unit 802.

[0170] In an embodiment, the steganography algorithm is a digital watermark algorithm.

[0171] In an embodiment, the device parameters include module parameters of the camera module, and the module parameters are non-adjustable parameters of the camera module, and include at least one of the following: module model, sensor size, shutter frequency, aperture, and ISO sensitivity.

[0172] In an embodiment, the photographing unit 802 is specifically configured to:

[0173] In a trusted execution environment (TEE), add the first information into the first image by using a preset steganography algorithm.

[0174] In yet another embodiment, the photographing unit 802 is further specifically configured to:

[0175] obtain a first code, the first code being an obfuscated code or a ciphertext code; and add the first information into the first image by using a preset steganography algorithm based on the first code.

[0176] The functions of each functional unit of the above-mentioned embodiment device can be realized through each step of the above-mentioned method embodiment, and thus, the specific working process of the device provided by one embodiment of the present specification is not repeated here.

[0177] The device for verifying an image provided by one embodiment of the present specification can improve the accuracy and reliability of image source verification.

[0178] Corresponding to the above-mentioned method for verifying an image, one embodiment of the present specification also provides a device for verifying an image, which is arranged in a server. As shown in FIG. 9, the device comprises:

[0179] A receiving unit 902 is configured to receive a first image to be verified from a steganography device, wherein the steganography device comprises a camera module configured to add information corresponding to device parameters of the steganography device to an image captured by the camera module based on a preset steganography algorithm.

[0180] An extracting unit 904 is configured to extract first information from the first image by using an extraction algorithm corresponding to the steganography algorithm.

[0181] A matching unit 906 is configured to match the first information with verification information corresponding to the steganography device and stored in advance.

[0182] A determining unit 908 is configured to determine whether the first image is captured by the camera module based on a matching result.

[0183] In one embodiment, the receiving unit 902 is further configured to receive a second image to be verified from the steganography device.

[0184] The extracting unit 904 is configured to extract the verification information from the second image by using the extraction algorithm and store the verification information.

[0185] In one embodiment,

[0186] The first image is a face image of a user, and the second image is a certificate image of the user; or

[0187] The first image is a certificate image of a user, and the second image is a face image of the user.

[0188] In one embodiment, the device further comprises:

[0189] A comparing unit 910 is configured to compare the first image with the second image in a case where it is determined that the first image is captured by the camera module, and determine whether the identity authentication of the user is passed based on a comparison result.

[0190] In one embodiment, the second image is an image received by the steganography device from another device, and the first image is an image generated by the steganography device based on the second image; or

[0191] The first image is an image received by the steganography device from other devices, and the second image is an image captured by the camera module in a stage of registration of a user of the steganography device through the verification module.

[0192] The functions of each functional unit of the device provided in the embodiments of the present specification can be realized through each step of the method embodiments, and therefore, the specific working process of the device provided in an embodiment of the present specification is not described herein.

[0193] The device for verifying an image provided in an embodiment of the present specification can improve the accuracy and reliability of image source verification.

[0194] According to another aspect, an embodiment also provides a computer-readable storage medium having stored thereon a computer program which, when executed in a computer, causes the computer to perform the method described in connection with Figure 2 or Figure 3.

[0195] According to another aspect, an embodiment also provides a computer-readable storage medium having stored thereon a computer program which, when executed in a computer, causes the computer to perform the method described in connection with Figure 2 or Figure 3.

[0196] Each of the embodiments in the present specification is described in a progressive manner, and the same or similar parts between each of the embodiments can be referred to each other. Each of the embodiments focuses on the difference from other embodiments. In particular, for the medium or device embodiments, since they are basically similar to the method embodiments, the description is relatively simple, and the relevant parts can be referred to the part of the method embodiments.

[0197] The steps of the method or algorithm described in connection with the present specification can be implemented in hardware or by a processor executing software instructions. The software instructions can be composed of corresponding software modules, which can be stored in a RAM memory, a flash memory, a ROM memory, an EPROM memory, an EEPROM memory, a register, a hard disk, a mobile hard disk, a CD-ROM, or any other form of storage medium well known in the art. An exemplary storage medium is coupled to the processor, so that the processor can read information from the storage medium and write information to the storage medium. Of course, the storage medium can also be an integral part of the processor. The processor and the storage medium can be located in an ASIC. In addition, the ASIC can be located in a server. Of course, the processor and the storage medium can also exist as discrete components in the server.

[0198] In the 1990s, it was quite obvious to distinguish whether an improvement in a technology was in hardware (e.g., improvement in circuit structures of diodes, transistors, switches, etc.) or in software (improvement in method flow). However, as technology has evolved, many improvements in method flow today can be considered as direct improvements in hardware circuit structures. Designers almost always obtain the corresponding hardware circuit structures by programming the improved method flow into hardware circuits. Therefore, it cannot be said that an improvement in a method flow cannot be implemented by hardware entity modules. For example, a programmable logic device (PLD) (e.g., a field programmable gate array (FPGA)) is an integrated circuit whose logic function is determined by user programming of the device. A digital system is "integrated" on a PLD by the designer programming it, rather than by asking a chip manufacturer to design and fabricate a custom integrated circuit chip. Moreover, instead of manually fabricating integrated circuit chips, this programming is now mostly implemented by "logic compiler" software, which is similar to software compilers used in program development, and the original code to be compiled is written in a specific programming language, which is called a hardware description language (HDL), and there are many such languages, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language), etc., and the most commonly used are VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art should be aware that, as long as the method flow is logically programmed in the above-mentioned hardware description languages and programmed into an integrated circuit, a hardware circuit implementing the logical method flow can be easily obtained.

[0199] The controller can be implemented in any suitable way, for example, the controller can take the form of, for example, a microprocessor or processor and a computer readable medium storing computer readable program code, such as software or firmware, executable by the (micro)processor, logic gates, switches, an application specific integrated circuit (ASIC), a programmable logic controller and an embedded microcontroller, examples of which include but are not limited to the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20 and Silicone Labs C8051F320, the memory controller can also be implemented as part of the control logic of the memory. The skilled person will also appreciate that, in addition to implementing the controller in pure computer readable program code, it is possible to implement the controller in the form of logic gates, switches, an application specific integrated circuit, a programmable logic controller and an embedded microcontroller, etc. to perform the same functions by logically programming the method steps. Such a controller can therefore be considered to be a hardware component, and the means included therein to perform the various functions can also be considered to be structures within the hardware component. Alternatively, or even additionally, the means to perform the various functions can be considered to be both a software module implementing the method and a structure within a hardware component.

[0200] The systems, apparatuses, modules or units illustrated by the above embodiments can be specifically implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a server system. Of course, the present application does not rule out that with the development of future computer technologies, computers implementing the functions of the above embodiments can be personal computers, laptop computers, vehicle human-computer interaction devices, cellular phones, camera phones, smart phones, personal digital assistants, media players, navigation devices, electronic mail devices, game consoles, tablet computers, wearable devices, or combinations of any of these devices.

[0201] Although the method operational steps are provided in one or more embodiments herein in the order listed, other embodiments could include fewer or more steps and / or different ordering of the steps, based on the common or inventive concepts. The order in which steps are listed is merely one example of the ordering of the steps. The steps listed in the embodiments can be performed in serial, parallel, or in any order, as long as the end result is that the steps are performed. The term "comprising" or "including" or any other variant is intended to cover both the case where one or more steps are included in the process, method, article, or apparatus, and the case where one or more steps are not included in the process, method, article, or apparatus. The terms "comprising", "including", or any other variant thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises or includes one or more steps does not include only those one or more steps, but can include other steps not expressly listed or inherent to such process, method, article, or apparatus. The use of the terms "first", "second", or any other ordinal term is not meant to indicate any particular order, but is meant to indicate a different class of elements. For example, the use of the term "first" to describe one element does not mean that the element is the first element to be performed, but rather that the element is the first of a different class of elements.

[0202] For the sake of description, the above apparatuses are described in functional modules for convenience. Certainly, when implementing one or more embodiments of the present specification, the functions of the modules can be implemented in one or more software and / or hardware, or the modules implementing the same function can be combined into a combination of sub-modules or sub-units. The above-described apparatus embodiment is only schematic, for example, the division of the units is only a logical function division, and actual implementation can have another division manner, for example, a plurality of units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between the displayed or discussed elements can be indirect coupling or communication connection through some interface, apparatus or unit, and can be electrical, mechanical or other forms.

[0203] The present application is described with reference to flowcharts and / or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the application. It should be understood that each flow and / or block in the flowcharts and / or block diagrams, as well as combinations of flows and / or blocks in the flowcharts and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing apparatus to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing apparatus generate the apparatus for implementing the functions specified in one or more flows in the flowcharts and / or one or more blocks in the block diagrams.

[0204] These computer program instructions can also be stored in a computer- readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instructions which implement the function specified in the flowchart or flowsheets and / or block or blocks of the block diagrams.

[0205] These computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart or flowsheets and / or block or blocks of the block diagrams.

[0206] In a typical configuration, a computing device includes one or more processors (CPUs), input / output interfaces, network interfaces, and memory.

[0207] The memory can include non-persistent memory and / or volatile memory, such as random access memory (RAM) and / or cache memory, non-volatile memory, such as read-only memory (ROM), EPROM, and / or flash memory, etc. The memory is an example of computer readable media.

[0208] Computer readable media includes permanent and non-permanent, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disc read-only memory (CD-ROM), digital versatile disc (DVD), or other optical storage, magnetic cassettes, magnetic tapes, magnetic disk storage, graphene storage, or other magnetic storage devices, or any other non-transmission medium that can be used to store information accessible to computing devices. According to the definition herein, computer readable media does not include transitory media, such as modulated data signals and carrier waves.

[0209] Those skilled in the art will appreciate that the one or more embodiments described herein can be provided as a method, a system or a computer program product. Accordingly, the one or more embodiments described herein can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the one or more embodiments described herein can take the form of a computer program product on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROMs, optical storage devices, etc.) embodying computer readable code.

[0210] The one or more embodiments described herein can be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types. The one or more embodiments described herein can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules can be located in both local and remote computer storage media including memory storage devices.

[0211] The various embodiments described in this specification are described in the context of progressive embodiments, with each embodiment building on the previous one. The same or similar parts between embodiments are cross-referenced as appropriate. Each embodiment focuses on the differences between that embodiment and the previous one. In particular, the system embodiments are described relatively simply, as they are substantially similar to the method embodiments. In the description of the specification, the use of the terms "one embodiment", "some embodiments", "example", "specific example" or "some examples" means that the particular feature, structure, material or characteristic being described is included in at least one embodiment or example of the specification. Illustrative descriptions of the above terms do not necessarily refer to the same embodiment or example in this specification. Furthermore, the particular features, structures, materials, or characteristics can be combined in any suitable manner in one or more embodiments or examples. Moreover, the skilled person can combine and combine the features of different embodiments or examples and characteristics of different embodiments or examples, without contradiction.

[0212] The above description merely provides examples of the one or more embodiments described in this specification and does not limit the one or more embodiments described in this specification. The one or more embodiments described in this specification can have various modifications and changes. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the one or more embodiments described in this specification should be included in the scope of the claims.

Claims

1. A method of verifying an image, performed by a steganographic device, the steganographic device comprising: The camera module and the verification module; The method comprises: The camera module captures a first image, and adds first information corresponding to device parameters of the steganography device into the first image by using a preset steganography algorithm; The camera module sends the first image with the first information added to the verification module, so as to verify whether the first image is captured by the camera module based on verification of the first information.

2. The method of claim 1, wherein, Before the first image is captured, the method further comprises: The camera module captures a second image, and adds the first information into the second image by using the steganography algorithm; The camera module sends the second image with the first information added to the verification module; The verification of whether the first image is captured by the camera module comprises: The verification module extracts first target information and second target information from the first image and the second image respectively by using an extraction algorithm corresponding to the steganography algorithm; If the first target information and the second target information are consistent, it is determined that the first image is captured by the camera module.

3. The method of claim 2, wherein, The camera module captures a second image, comprising: The camera module receives a first request sent by the verification module according to a registration request of a user; In response to the first request, the camera module captures a second image.

4. The method of claim 1, further comprising: The verification module sends the first image with the first information added to a server, so as to verify whether the first image is captured by the camera module based on verification of the first information.

5. The method of claim 1, wherein, The steganography algorithm is a digital watermark algorithm.

6. The method of claim 1, wherein, The device parameters comprise module parameters of the camera module, and the module parameters are non-adjustable parameters of the camera module, which comprise at least one of the following: module model, sensor size, shutter frequency, aperture and ISO sensitivity.

7. The method of claim 1, wherein, The method comprises: In a trusted execution environment (TEE), the first information is added to the first image by using a preset steganography algorithm.

8. The method of claim 1, wherein, The method comprises: A first code is obtained, and the first code is an obfuscated code or a ciphertext code; the first information is added to the first image by using a preset steganography algorithm based on the first code.

9. A method for verifying an image, performed by a steganography device, comprising: Obtaining a first image captured by the steganography device; Obtaining first information corresponding to device parameters of the steganography device; Adding the first information into the first image by using a preset steganography algorithm; Sending the first image with the first information added to a server.

10. A method for verifying an image, performed by a server, comprising: Receiving a first image to be verified from a steganography device; The steganography device is configured to add information corresponding to device parameters of the steganography device into an image captured by the steganography device based on a preset steganography algorithm; extracting first information from the first image by using an extraction algorithm corresponding to the steganography algorithm; matching the first information with pre-stored check information corresponding to the steganography device; determining whether the first image is taken by the steganography device according to a matching result.

11. The method of claim 10, wherein, Before the first image to be verified is received from the steganography device, the method further comprises: receiving a second image to be verified from the steganography device; extracting the check information from the second image by using the extraction algorithm and storing the check information.

12. The method of claim 10, wherein the first image is a face image of a user, and the second image is an ID image of the user; or the first image is an ID image of a user, and the second image is a face image of the user.

13. The method of claim 10, further comprising: in a case where it is determined that the first image is taken by the steganography device, comparing the first image with the second image, and determining whether identity authentication of the user passes according to a comparison result.

14. The method of claim 10, wherein, the second image is an image received by the steganography device from another device, and the first image is an image generated by the steganography device based on the second image; or the first image is an image received by the steganography device from another device, and the second image is an image taken by the steganography device in a registration stage.

15. An apparatus for verifying an image, arranged in a steganography device, comprising: a photographing unit configured to photograph a first image, and add first information corresponding to a device parameter of the steganography device to the first image by using a preset steganography algorithm; a sending unit configured to send the first image with the first information added to a verifying unit; the verifying unit configured to verify whether the first image is photographed by the photographing unit based on verification of the first information.

16. An apparatus for verifying an image, arranged in a server, comprising: a receiving unit configured to receive a first image to be verified from a steganography device; the steganography device configured to add information corresponding to a device parameter of the steganography device to an image photographed by the steganography device based on a preset steganography algorithm; an extracting unit configured to extract first information from the first image by using an extraction algorithm corresponding to the steganography algorithm; a matching unit configured to match the first information with pre-stored check information corresponding to the steganography device; a determining unit configured to determine whether the first image is taken by the steganography device according to a matching result.

17. A computing device comprising a memory and a processor, wherein, The memory stores executable code, and the processor executes the executable code to implement the method in any one of claims 1-14.

Citation Information

Patent Citations

  • Method for generating digital photo containing watermark based on state parameter

    CN101562681A

  • Method for authenticating primitiveness of picture photographed by intelligent mobile terminal

    CN103646375A

  • Image processing method, device and equipment

    CN115357929A

  • Image verification method and device

    CN119232854A

  • Managing electronic account access control

    US20160173501A1