Image verification method and device
By adding device parameter information to the steganographic device and matching it on the server side, the problem of unstable image source verification in traditional technology is solved, the accuracy and reliability of verification is improved, and the stability and accuracy of image verification is ensured. .
Patent Information
- Application Number
- CN202411374099.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-27
- Publication Date
- 2024-12-31
AI Technical Summary
Traditional image source verification methods cause unstable camera fingerprints due to image compression and post-processing, which affects the accuracy and reliability of verification.
By using a preset steganography algorithm in the camera module of the steganography device, the device parameter-related information is added to the captured image, and the information extracted from the image through the extraction algorithm on the server side is matched to verify the source of the image.
It improves the accuracy and reliability of image source verification, ensures the stability and accuracy of verification results, and does not affect the visual presentation effect of the image.
Smart Images

Figure CN119232854A_ABST
Abstract
Description
Technical Field
[0001] One or more embodiments of the present specification relate to the field of image processing technology, and more particularly, to a method and device for verifying an image. Background Art
[0002] In many business fields such as commerce and finance, it is often necessary to verify the source of an image, that is, to verify whether an image is taken by a specific device. In the traditional verification method, a camera fingerprint generation algorithm is first used to generate a camera fingerprint based on the image content (for example, the Photo-Response Non-Uniformity (PRNU) pattern, etc.), and then the generated camera fingerprint is compared with the camera fingerprint of a known camera to determine whether the image is taken by the known camera.
[0003] However, since image content is usually affected by factors such as image compression and post-processing, the camera fingerprint generated based on the image content is usually unstable, which affects the accuracy and reliability of image source verification.
[0004] Therefore, there is a need to provide a more accurate and reliable method for verifying images. Summary of the invention
[0005] One or more embodiments of the present specification describe a method and device for verifying an image, which can improve the accuracy and reliability of image source verification.
[0006] In a first aspect, a method for verifying an image is provided, which is performed by a steganographic device, the steganographic device comprising: a camera module and a verification module; the method comprises:
[0007] The camera module captures a first image, and uses a preset steganographic algorithm to add first information corresponding to a device parameter of the steganographic device to the first image;
[0008] The camera module sends the first image after adding the first information to the verification module, so as to verify whether the first image is taken by the camera module based on the verification of the first information.
[0009] In a second aspect, a method for verifying an image is provided, which is performed by a steganographic device, comprising:
[0010] Acquire a first image captured by the steganographic device;
[0011] Acquire first information corresponding to a device parameter of the steganographic device;
[0012] Using a preset steganographic algorithm, adding the first information to the first image;
[0013] The first image after adding the first information is sent to the server.
[0014] In a third aspect, a method for verifying an image is provided, which is executed by a server and includes:
[0015] receiving a first image to be verified from a steganographic device; the steganographic device is used to add information corresponding to device parameters of the steganographic device to the image captured by the steganographic device based on a preset steganographic algorithm;
[0016] extracting first information from the first image using an extraction algorithm corresponding to the steganographic algorithm;
[0017] matching the first information with pre-stored verification information corresponding to the steganographic device;
[0018] According to the matching result, it is determined whether the first image is taken by the steganographic device.
[0019] In a fourth aspect, a device for verifying an image is provided, which is arranged in a steganographic device, and includes:
[0020] A photographing unit, configured to photograph a first image, and add first information corresponding to a device parameter of the steganographic device to the first image using a preset steganographic algorithm;
[0021] A sending unit, configured to send the first image after adding the first information to a verification unit;
[0022] The verification unit is used to verify whether the first image is taken by the shooting unit based on the verification of the first information.
[0023] In a fifth aspect, a device for verifying an image is provided, which is disposed on a server and includes:
[0024] A receiving unit, configured to receive a first image to be verified from a steganographic device; the steganographic device is configured to add information corresponding to device parameters of the steganographic device to the image taken by the steganographic device based on a preset steganographic algorithm;
[0025] an extraction unit, configured to extract first information from the first image using an extraction algorithm corresponding to the steganographic algorithm;
[0026] a matching unit, configured to match the first information with pre-stored verification information corresponding to the steganographic device;
[0027] A determination unit is used to determine whether the first image is taken by the steganographic device according to the matching result.
[0028] In a sixth aspect, a computer-readable storage medium is provided, on which a computer program is stored, and when the computer program is executed in a computer, the computer is caused to execute the described method.
[0029] In a seventh aspect, a computing device is provided, comprising a memory and a processor, wherein the memory stores executable code, and when the processor executes the executable code, the described method is implemented.
[0030] In an eighth aspect, a computer program product is provided, comprising a computer program / instruction, which implements the steps of the method when executed by a processor.
[0031] In the method for verifying an image provided by one or more embodiments of the present specification, the camera module in the steganographic device adds information corresponding to the device parameters of the steganographic device to the image taken by it based on a preset steganographic algorithm. Therefore, when the server receives the image to be verified from the steganographic device, the steganographic information contained in the image is first extracted, and then the source of the image is verified by matching the information with the pre-stored verification information corresponding to the steganographic device, thereby greatly improving the accuracy and reliability of image source verification. BRIEF DESCRIPTION OF THE DRAWINGS
[0032] In order to more clearly illustrate the technical solutions of the embodiments of this specification, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this specification. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0033] Figure 1 A structural diagram of a steganographic device according to an embodiment of the present specification is shown;
[0034] Figure 2 An interactive diagram showing a method for verifying an image according to an embodiment of the present specification;
[0035] Figure 3 An interactive diagram showing a method for verifying an image according to another embodiment of the present specification;
[0036] Figure 4 An interaction diagram of an identity authentication method according to an embodiment of the present specification is shown;
[0037] Figure 5 An interactive diagram showing a method for verifying an image according to yet another embodiment of the present specification;
[0038] Figure 6 An interactive diagram showing a method for verifying an image according to yet another embodiment of the present specification;
[0039] Figure 7 An interactive diagram showing a method for verifying an image according to another embodiment of the present specification;
[0040] Figure 8 A schematic diagram of a device for verifying an image according to an embodiment of the present specification is shown;
[0041] Fig. 9 A schematic diagram of a device for verifying an image according to another embodiment of the present specification is shown. DETAILED DESCRIPTION
[0042] The solution provided in this specification is described below in conjunction with the accompanying drawings.
[0043] Figure 1 A structural diagram of a steganographic device according to an embodiment of the present specification is shown. Figure 1 In the embodiment, the steganographic device includes a camera module and a verification module, wherein the camera module is used to add information corresponding to the device parameters of the steganographic device (referred to as device information) to the image captured by it based on a preset steganographic algorithm. The verification module is used to verify whether the received image is captured by the camera module based on the verification of the device information.
[0044] In one embodiment, the verification process of the verification module may specifically include: receiving two images from the camera module: a face image and an ID image, then extracting the device information contained therein from the two images, and finally determining whether the two images are taken by the camera module of the steganographic device by comparing whether the device information extracted from the two images is consistent, that is, verifying the source of the two images.
[0045] In another embodiment, the verification process of the verification module may further include: when the user of the steganographic device requests registration, the verification module receives the user's face image from the camera module, then extracts the device information from the face image and stores it after verification. Afterwards, for the face image received in real time from the camera module, the device information may be extracted from it, and then the extracted device information is compared with the stored device information, thereby verifying the source of the face image received in real time.
[0046] Figure 2 An interactive diagram of a method for verifying an image according to an embodiment of the present specification is shown. Figure 2 As shown, the method may include the following steps:
[0047] Step S202: The camera module of the steganographic device captures the image f1, and uses a preset steganographic algorithm to add first information corresponding to the device parameters of the steganographic device to the image f1.
[0048] In one embodiment, the image f1 may be taken by the camera module when the user of the steganographic device requests to register in the verification module of the steganographic device. In a more specific embodiment, the image f1 is a face image or a certificate image of the user.
[0049] In addition, the above-mentioned device parameters may include module parameters of the camera module, which are non-adjustable parameters of the camera module, and may include two parts: the first part: fixed parameters; for example, module model, sensor size, etc. The second part: restricted parameters; it should be understood that this part of the parameters is usually non-fixed, but the camera module restricts its change. The restricted parameters here may include, for example, shutter frequency, aperture, ISO sensitivity, etc. Of course, the above-mentioned device parameters may also include other device parameters, which are not limited in this specification.
[0050] Specifically, the device parameters of the steganographic device can be obtained during or after the process of capturing the image f1. The device parameters can then be converted into information that can be added to the image (hereinafter referred to as device information), such as images, texts, symbols, numbers, etc.
[0051] It should be noted that the device information added to the image f1 using the steganographic algorithm does not affect the visual presentation effect of the image f1, but can be extracted from the image f1 using an extraction algorithm corresponding to the steganographic algorithm.
[0052] In one embodiment, the above-mentioned steganographic algorithm is a digital watermark algorithm, which may include but is not limited to any of the following: a least significant bit (LSB) algorithm, a frequency domain watermark algorithm (such as DCT, DFT), an algorithm based on wavelet transform, etc.
[0053] 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 at the specified position in the image f1. It should be understood that since the values of the last N positions (i.e., the lowest bit) in the image pixel value bit string have a negligible effect on the visual presentation of the corresponding pixel, the device information can be written into the N positions.
[0054] It should be noted that in order to ensure the security of the device information adding process, this solution can execute the process of adding device information in the trusted execution environment TEE, that is, in the trusted execution environment TEE, the first information is added to the image f1 using a preset steganography algorithm.
[0055] Of course, in practice, the security of the device information adding process can also be ensured by encryption or obfuscation, that is, the code used to add the device information to the image is encrypted or obfuscated in advance to obtain a ciphertext code or an obfuscated code, and then the ciphertext code or the obfuscated code is executed to implement the use of a preset steganographic algorithm to add the first information to the image f1.
[0056] Step S204: the camera module sends the image f1 with the device information added thereto to the verification module.
[0057] 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.
[0058] It should be noted that in this solution, the verification process of the verification module and the server for the image f1 is the same, so the following description is taken as an example of the server verifying the image f1.
[0059] Figure 3 An interactive diagram of a method for verifying an image according to another embodiment of the present specification is shown. Figure 3 As shown, the method may include:
[0060] Step S302: the server receives the image f1 to be verified from the steganographic device.
[0061] As mentioned above, the steganographic device includes a camera module, which is used to add information corresponding to the device parameters of the steganographic device to the image taken by it based on a preset steganographic algorithm.
[0062] In practice, the server may also receive a device identification (Id) of the steganographic device from the verification module.
[0063] Step S304: the server extracts the first information from the image f1 using an extraction algorithm corresponding to the steganographic algorithm.
[0064] It should be understood that when the steganographic algorithm is a digital watermark algorithm, the above extraction algorithm may be a digital watermark extraction algorithm.
[0065] Taking the LSB algorithm as an example, the server may read the first information from the last N positions of the pixel value bit string corresponding to the pixel point at the specified position of the image f1.
[0066] Step S306: The server matches the first information with pre-stored verification information corresponding to the steganographic device.
[0067] Step S308: The server determines whether the image f1 is taken by the camera module of the steganographic device according to the matching result.
[0068] Specifically, the server can search for verification information corresponding to the steganographic device from the storage unit based on the device identification received from the verification module, and match the verification information with the first information extracted from the image f1. When the match is consistent, it is determined that the image f1 is taken by the camera module of the steganographic device, thereby verifying the source of the image f1.
[0069] It should be understood that in this solution, since the device information added to the image is non-adjustable 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 a specific information rather than abstract information calculated by a certain 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 through a steganographic algorithm, it will not affect the visual presentation of the image, that is, this solution can add device information while ensuring the accuracy of the image.
[0070] In summary, the method for verifying an image provided in the embodiments of this specification verifies the source of an image by utilizing the characteristic of the camera module of a steganographic device to add device information to the image taken by it, thereby solving the problem of low reliability and accuracy in traditional technologies when verifying the source of an image based on unstable characteristics of the image.
[0071] The method for verifying an image provided in one or more embodiments of this specification can be applied to identity authentication scenarios, and the verification process is described in detail below.
[0072] Figure 4 FIG. 1 shows an interaction diagram of an identity authentication method according to an embodiment of the present specification. Figure 4 As shown, the method may include the following steps:
[0073] Step S402: the camera module of the steganographic device captures the image f1 and adds the device information to the image f1 using a preset steganographic algorithm.
[0074] The above-mentioned image f1 may be taken by the camera module when the user requests to register in the verification module of the steganographic device, and the verification module may be a facial image or an ID image of the user.
[0075] The device information here can be found in the above description.
[0076] In one embodiment, the above-mentioned steganographic algorithm is a digital watermark algorithm, which may include but is not limited to any of the following: a least significant bit (LSB) algorithm, a frequency domain watermark algorithm (such as DCT, DFT), an algorithm based on wavelet transform, etc.
[0077] Step S404: the camera module sends the image f1 with the device information added to it to the verification module, and then the verification module forwards the image f1 to the server.
[0078] Of course, in practice, the verification module may also send the device identification of the steganographic device to the server.
[0079] Step S406: The server extracts device information from the image f1 using an extraction algorithm corresponding to the steganographic algorithm, stores it as verification information, and stores the image f1.
[0080] More specifically, the server may store the device identification of the steganographic device in association with the verification information in the storage unit. In addition, the image f1 is also stored in association with the device identification.
[0081] Step S408: the camera module of the steganographic device captures the image f2 and adds the device information to the image f2 using a preset steganographic algorithm.
[0082] It should be understood that, when the image f1 is a user's facial image, the image f2 here is the user's ID image; and when the image f1 is a user's ID image, the image f2 here is the user's facial image.
[0083] In this embodiment, the time interval between the image f1 and the image f2 captured by the camera module is less than the time threshold, or in other words, the image f1 and the image f2 are two images captured continuously by the camera module.
[0084] 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 will not be described in detail here.
[0085] Step S410, the camera module sends the image f2 with the device information added to it to the verification module, which then forwards it to the server.
[0086] Here, the verification module may also send the device identification of the steganographic device to the server.
[0087] Step S412: the server extracts device information from the image f2 using an extraction algorithm corresponding to the steganographic algorithm.
[0088] In step S414, the server matches the extracted device information with the pre-stored verification information. If they match, step S416 is executed; otherwise, it is determined that the user's identity authentication has failed.
[0089] Specifically, the server can search for verification information stored in association with the device identification (i.e., search for verification information corresponding to the steganographic device) from the storage unit according to the device identification received from the verification module, and match the verification information with the extracted device information. It should be understood that if the device information matches the verification information, it means that both image f1 and image f2 are taken by the camera module of the steganographic device, and thus the source verification of image f1 and image f2 is passed.
[0090] Step S416, comparing the image f1 with the image f2, and determining whether the user's identity authentication is passed based on the comparison result.
[0091] Similar to the above-mentioned method for obtaining verification information, the server can obtain the image f1 stored in association with the device identification of the steganographic device according to the device identification received from the verification module, and then compare the image f1 with the image f2.
[0092] If the comparison result shows that the proportion of the face image and the face in the ID image is less than the preset proportion threshold, it is determined that the user's identity authentication has failed. If the comparison result shows that the proportion of the face image and the face in the ID image is not less than the preset proportion threshold, it is determined that the user's identity authentication has passed.
[0093] It should be understood that in practice there may be situations where the steganographic device is a malicious party. In this case, it may attack the image taken by the camera module, for example, by replacing the image taken by the camera module with an image taken by a legitimate device that it has stolen. Since the source verification of the replaced image will fail (explained later), the user's identity authentication will fail. The following explains the image verification process when the steganographic device is a malicious party.
[0094] Figure 5 FIG. 2 shows an interactive diagram of a method for verifying an image according to another embodiment of the present specification. Figure 5 As shown, the method may include the following steps:
[0095] Step S502: The camera module of the malicious party captures the image f1 and uses a preset steganographic algorithm to add device information to the image f1.
[0096] The above-mentioned image f1 may be taken by the camera module when the user requests to register in the authentication module of the malicious party, and the authentication module may be a face image or an ID image of the user.
[0097] The device information here can be found in the above description.
[0098] In one embodiment, the above-mentioned steganographic algorithm is a digital watermark algorithm, which may include but is not limited to any of the following: a least significant bit (LSB) algorithm, a frequency domain watermark algorithm (such as DCT, DFT), an algorithm based on wavelet transform, etc.
[0099] Step S504 , the malicious party replaces the image f1 with the image f1 ′ received from other devices, and sends the image f1 ′ to the verification module, which then forwards it to the server.
[0100] The image f1 ′ here is a user's face image or ID image captured by a camera module of another device and obtained by a malicious party through illegal means (eg, stolen from the Internet, etc.).
[0101] Of course, in practice, the verification module may also send the malicious party identifier to the server.
[0102] Step S506: The server extracts the device information from the image f1' using an extraction algorithm corresponding to the steganographic algorithm, stores it as verification information, and stores the image f1'.
[0103] It should be understood that the verification information here is the device information of other devices.
[0104] More specifically, the server may store the malicious party identifier of the malicious party in association with the verification information in the storage unit. In addition, the image f1 ′ is also stored in association with the malicious party identifier.
[0105] Step S508: The malicious party generates image f2 based on image f1' and sends it to the server through the verification module.
[0106] When the image f1 ′ is a face image, the image f2 is a document image; and when the image f1 ′ is a document image, the image f2 is a face image.
[0107] In one example, the malicious party may generate image f2 through artificial intelligence AI.
[0108] Here, the malicious party usually also sends the malicious party identifier corresponding to it to the server.
[0109] Step S510: The server extracts device information from the image f2 using an extraction algorithm corresponding to the steganographic algorithm.
[0110] It should be noted that since the malicious party did not add device information to the image f2, the device information extracted here is erroneous information.
[0111] Step S512: the server matches the device information extracted from the image f2 with the pre-stored verification information.
[0112] Specifically, the server can search for verification information stored in association with the malicious party identifier from the storage unit (i.e., search for verification information corresponding to the malicious party) based on the malicious party identifier received from the malicious party, and match the verification information with the extracted device information. Because the pre-stored verification information is the device information of other devices, and the device information extracted from the image f2 is erroneous information, the two do not match, and the source verification of the image f2 fails, that is, it is determined that the image f2 is not taken by the camera module of the malicious party.
[0113] Figure 6 An interactive diagram of a method for verifying an image according to another embodiment of the present specification is shown. Figure 6 As shown, the method may include the following steps:
[0114] Step S602: The camera module of the malicious party captures the image f1 and uses a preset steganographic algorithm to add device information to the image f1.
[0115] The above-mentioned image f1 may be taken by the camera module when the user requests to register in the authentication module of the malicious party, and the authentication module may be a face image or an ID image of the user.
[0116] The device information here can be found in the above description.
[0117] In one embodiment, the above-mentioned steganographic algorithm is a digital watermark algorithm, which may include but is not limited to any of the following: a least significant bit (LSB) algorithm, a frequency domain watermark algorithm (such as DCT, DFT), an algorithm based on wavelet transform, etc.
[0118] Step S604: the camera module sends the image f1 with the device information added to it to the verification module, and then the verification module forwards the image f1 to the server.
[0119] Of course, in practice, the verification module may also send the malicious party identifier of the malicious party to the server.
[0120] Step S606: The server extracts device information from the image f1 using an extraction algorithm corresponding to the steganographic algorithm, stores it as verification information, and stores the image f1.
[0121] It should be understood that the verification information here is the device information of the malicious party.
[0122] More specifically, the server may store the malicious party identifier of the malicious party in association with the verification information in the storage unit. In addition, the image f1 is also stored in association with the malicious party identifier.
[0123] In step S608, the malicious party sends the image f2 received from other devices to the verification module, which then forwards it to the server.
[0124] The image f2 here is a user's face image or ID image captured by a camera module of another device and obtained by a malicious party through illegal means (eg, stolen from the Internet, etc.).
[0125] More specifically, when the image f1 is a face image, the image f2 is an ID image; and when the image f1 is a ID image, the image f2 is a face image.
[0126] Of course, in practice, the verification module may also send the malicious party identifier to the server.
[0127] Step S610: The server extracts device information from the image f2 using an extraction algorithm corresponding to the steganographic algorithm.
[0128] It should be understood that the device information here is the device information of other devices.
[0129] Step S612: the server matches the device information extracted from the image f2 with the pre-stored verification information.
[0130] Specifically, the server can search for verification information stored in association with the malicious party identifier from the storage unit (i.e., search for verification information corresponding to the malicious party) based on the malicious party identifier received from 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 other devices, the two do not match, and the source verification of the image f2 fails, that is, it is determined that the image f2 is not taken by the camera module of the malicious party.
[0131] It should be noted that the above embodiments are descriptions of the process of adding device information to an image by the camera module in the steganographic device, and the steganographic device as a malicious party verifies the image. In practice, the verification module in the steganographic device may also add device information to the image. In this case, the malicious party may be a third party other than the steganographic device and the server. The attack process of the third party is described in detail below.
[0132] Figure 7 FIG. 2 shows an interactive diagram of a method for verifying an image according to another embodiment of the present specification. Figure 7 As shown, the method may include the following steps:
[0133] Step S702: The camera module of the steganographic device captures the image f1 and sends it to the verification module.
[0134] The above-mentioned image f1 may be taken by the camera module when the user requests to register in the verification module of the steganographic device, and the verification module may be a facial image or an ID image of the user.
[0135] Step S704: the verification module uses a preset steganographic algorithm to add the device information to the image f1.
[0136] The device information here can be found in the above description.
[0137] In one embodiment, the above-mentioned steganographic algorithm is a digital watermark algorithm, which may include but is not limited to any of the following: a least significant bit (LSB) algorithm, a frequency domain watermark algorithm (such as DCT, DFT), an algorithm based on wavelet transform, etc.
[0138] Step S706: the verification module sends the image f1 with the device information added to the server.
[0139] Of course, in practice, the verification module may also send the device identification of the steganographic device to the server.
[0140] Step S708: The server extracts device information from the image f1 using an extraction algorithm corresponding to the steganographic algorithm, and stores it as verification information.
[0141] It should be understood that the verification information here is the device information of the steganographic device.
[0142] More specifically, the server may store the device identification of the steganographic device in association with the verification information in a storage unit.
[0143] Step S710: The camera module of the steganographic device captures the image f2 and provides it to the verification module.
[0144] Step S712: the verification module uses a preset steganographic algorithm to add the device information to the image f2.
[0145] Step S714: during the process of the verification module sending the image f2 to the server, the malicious party performs an injection attack, that is, generates an image f2' based on the image f2 and sends it to the server.
[0146] In one example, the malicious party may generate the image f2' by means of artificial intelligence AI.
[0147] It should be understood that since the malicious party does not know that the device information needs to be added to the image, the device information is not added to the image f2 ′.
[0148] Furthermore, in practice, the verification module usually sends the device identification of the steganographic device together with the image f2 to the server, so that the malicious party can send the device identification of the steganographic device together with the image f2' to the server after replacing the image f2 with the image f2'.
[0149] Step S716: The server extracts device information from the image f2' using an extraction algorithm corresponding to the steganographic algorithm.
[0150] It should be noted that since the malicious party did not add device information to the image f2', the device information extracted here is erroneous information.
[0151] Step S718: the server matches the device information extracted from the image f2' with the pre-stored verification information.
[0152] Specifically, the server can search for verification information stored in association with the device identification received from the malicious party from the storage unit (i.e., search for verification information corresponding to the steganographic device), and match the verification information with the extracted device information. Because the pre-stored verification information is the device information of the steganographic device, and the device information extracted from the image f2' is erroneous 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 steganographic device.
[0153] Of course, in practice, a malicious party may also carry out an injection attack on the above-mentioned image f1, that is, replace the image f1 after adding the device information with the image f1' generated by the malicious party, so that the verification information pre-stored by the server is an erroneous information. Afterwards, when the server receives the image f2 after adding the device information from the steganographic device, the image verification fails because the extracted device information does not match the verification information.
[0154] In addition, a malicious party may also carry out injection attacks on the above-mentioned images f1 and f2 at the same time. In this case, the device information pre-extracted from the two images is all wrong information, that is, the verification information and the device information do not match, so the image verification fails.
[0155] Corresponding to the above-mentioned method for verifying an image, an embodiment of the present specification also provides a device for verifying an image, which is arranged in a steganographic device. Figure 8 As shown, the device comprises:
[0156] The photographing unit 802 is used to photograph a first image and add first information corresponding to a device parameter of a steganographic device to the first image using a preset steganographic algorithm;
[0157] A sending unit 804, configured to send the first image with the first information added thereto to a verification unit;
[0158] The verification unit 806 is used to verify whether the first image is taken by the shooting unit 802 .
[0159] In one embodiment, the photographing unit 802 is further used to photograph a second image, and add the first information to the second image using a steganographic algorithm;
[0160] The sending unit 804 is further configured to send the second image with the first information added thereto to the verification unit 806;
[0161] The verification unit 806 is specifically used for:
[0162] Extracting first target information and second target information from the first image and the second image respectively using an extraction algorithm corresponding to the steganographic algorithm;
[0163] The first target information and the second target information are compared to see whether they are consistent. If they are consistent, it is determined that the first image is taken by the shooting unit 802 .
[0164] The photographing unit 802 is specifically used for:
[0165] Receiving a first request sent by the verification unit 806 according to a registration request of a user;
[0166] In response to the first request, a second image is captured.
[0167] In one embodiment, the verification unit 806 is further configured to send the first image to which the first information is added to the server, so as to verify whether the first image is taken by the shooting unit 802 .
[0168] In one embodiment, the above-mentioned steganographic algorithm is a digital watermarking algorithm.
[0169] In one embodiment, the above-mentioned device parameters include module parameters of the camera module, which are non-adjustable parameters of the camera module, including at least one of the following: module model, sensor size, shutter frequency, aperture and ISO sensitivity.
[0170] In one embodiment, the photographing unit 802 is specifically used for:
[0171] In the trusted execution environment TEE, the first information is added to the first image using a preset steganographic algorithm.
[0172] In yet another embodiment, the photographing unit 802 is further specifically configured to:
[0173] A first code is obtained, where the first code is an obfuscated code or a ciphertext code; based on the first code, a preset steganographic algorithm is used to add first information to a first image.
[0174] The functions of the functional units of the device in the above-mentioned embodiment of this specification can be implemented through the steps of the above-mentioned method embodiment. Therefore, the specific working process of the device provided by one embodiment of this specification will not be repeated here.
[0175] An image verification device provided by an embodiment of the present specification can improve the accuracy and reliability of image source verification.
[0176] Corresponding to the above-mentioned method for verifying an image, an embodiment of the present specification also provides a device for verifying an image, which is arranged on a server. Fig. 9 As shown, the device comprises:
[0177] The receiving unit 902 is used to receive a first image to be verified from a steganographic device, where the steganographic device includes a camera module, which is used to add information corresponding to device parameters of the steganographic device to the image taken by the camera module based on a preset steganographic algorithm.
[0178] The extraction unit 904 is used to extract the first information from the first image using an extraction algorithm corresponding to the steganographic algorithm.
[0179] The matching unit 906 is used to match the first information with pre-stored verification information corresponding to the steganographic device.
[0180] The determination unit 908 is used to determine whether the first image is taken by the above-mentioned camera module according to the matching result.
[0181] In one embodiment, the receiving unit 902 is further configured to receive a second image to be verified from a steganographic device;
[0182] The extraction unit 904 is used to extract and store the verification information from the second image using an extraction algorithm.
[0183] In one embodiment,
[0184] The first image is a face image of the user, and the second image is an ID image of the user; or,
[0185] The first image is a user's ID image, and the second image is a user's face image.
[0186] In one embodiment, the apparatus further comprises:
[0187] The comparison unit 910 is used to compare the first image with the second image when it is determined that the first image is taken by the camera module, and determine whether the user's identity authentication is passed according to the comparison result.
[0188] In one embodiment, the second image is an image received by the steganographic device from another device, and the first image is an image generated by the steganographic device based on the second image; or,
[0189] The first image is an image received by the steganographic device from other devices, and the second image is an image captured by the camera module when the user of the steganographic device is registered through the verification module.
[0190] The functions of the functional units of the device in the above-mentioned embodiment of this specification can be implemented through the steps of the above-mentioned method embodiment. Therefore, the specific working process of the device provided by one embodiment of this specification will not be repeated here.
[0191] An image verification device provided by an embodiment of the present specification can improve the accuracy and reliability of image source verification.
[0192] According to another embodiment, there is also provided a computer-readable storage medium having a computer program stored thereon, which, when executed in a computer, causes the computer to execute a combination of Figure 2 or Figure 3 The method described.
[0193] According to another embodiment of the present invention, a computing device is provided, including a memory and a processor, wherein the memory stores executable code, and when the processor executes the executable code, the Figure 2 or Figure 3 The method described.
[0194] Each embodiment in this specification is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the medium or device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.
[0195] The steps of the method or algorithm described in conjunction with the disclosure of this specification can be implemented in hardware or by a processor executing software instructions. The software instructions can be composed of corresponding software modules, and the software modules can be stored in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, register, hard disk, mobile hard disk, CD-ROM or any other form of storage medium 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 a component 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 be present in the server as discrete components.
[0196] In the 1990s, it was very clear whether the improvement of a technology was hardware improvement (for example, improvement of the circuit structure of diodes, transistors, switches, etc.) or software improvement (improvement of the method flow). However, with the development of technology, many improvements of the method flow today can be regarded as direct improvements of the hardware circuit structure. Designers almost always obtain the corresponding hardware circuit structure by programming the improved method flow into the hardware circuit. Therefore, it cannot be said that the improvement of a method flow cannot be implemented with a hardware entity module. For example, a programmable logic device (PLD) (such as a field programmable gate array (FPGA)) is such an integrated circuit whose logical function is determined by the user's programming of the device. Designers can "integrate" a digital system on a PLD by programming it themselves, without having to ask a chip manufacturer to design and produce a dedicated integrated circuit chip. Moreover, nowadays, instead of manually making integrated circuit chips, this kind of programming is mostly implemented by "logic compiler" software, which is similar to the software compiler used when developing and writing programs. The original code before compiling must also be written in a specific programming language, which is called Hardware Description Language (HDL). There is not only one kind of HDL, but many kinds, such as ABEL (Advanced Basic Expression Language), AHDL (Alternative Hardware Description Language), Confluence, CUPL (Cornell Unity Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language), etc. The most commonly used one is VHDL (Very-High-Speed Integrated Circuit Hardware Description Language). Those skilled in the art should also be aware that it is only necessary to program the method flow in the above-mentioned hardware description languages and then program it into an integrated circuit to easily obtain a hardware circuit that implements the logic method flow.
[0197] The controller can be implemented in any appropriate manner. For example, the controller can take the form of a microprocessor or processor and a computer-readable medium storing a computer-readable program code (such as software or firmware) that can be executed by the (micro)processor, a logic gate, a switch, an application-specific integrated circuit (ASIC), a programmable logic controller, and an embedded microcontroller. Examples of controllers include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91 SAM, Microchip PIC18F26K20, and Silicone Labs C8051 F320. The memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art also know that in addition to implementing the controller in a purely computer-readable program code manner, the controller can be implemented in the form of a logic gate, a switch, an application-specific integrated circuit, a programmable logic controller, and an embedded microcontroller by logically programming the method steps. Therefore, this controller can be considered as a hardware component, and the devices included therein for implementing various functions can also be regarded as structures within the hardware component. Or even, the means for realizing various functions may be regarded as both a software module for realizing the method and a structure within a hardware component.
[0198] The systems, devices, modules or units described in the above embodiments may be 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 exclude that with the development of computer technology in the future, the computer that implements the functions of the above embodiments may be, for example, a personal computer, a laptop computer, a vehicle-mounted human-computer interaction device, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
[0199] Although one or more embodiments of the present specification provide method operation steps as described in the embodiments or flow charts, more or less operation steps may be included based on conventional or non-creative means. The order of steps listed in the embodiments is only one way of executing the order of many steps, and does not represent the only execution order. When the device or terminal product in practice is executed, it can be executed in sequence or in parallel according to the method shown in the embodiments or the drawings (for example, a parallel processor or a multi-threaded processing environment, or even a distributed data processing environment). The term "include", "include" or any other variant thereof is intended to cover non-exclusive inclusion, so that the process, method, product or equipment including a series of elements includes not only those elements, but also includes other elements that are not explicitly listed, or also includes elements inherent to such a process, method, product or equipment. In the absence of more restrictions, it is not excluded that there are other identical or equivalent elements in the process, method, product or equipment including the elements. For example, if the words first, second, etc. are used to represent the name, they do not represent any specific order.
[0200] For the convenience of description, the above devices are described in various modules according to their functions. Of course, when implementing one or more of the present specification, the functions of each module can be implemented in the same or more software and / or hardware, or the module implementing the same function can be implemented by a combination of multiple sub-modules or sub-units, etc. The device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0201] The present invention is described with reference to flowcharts and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the present invention. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of processes and / or blocks in the flowchart and / or block diagram, 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 device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0202] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0203] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0204] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0205] The memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.
[0206] Computer readable media include permanent and non-permanent, removable and non-removable media that can be used to store information by any method or technology. Information can be 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 disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage, graphene storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include transitory media such as modulated data signals and carrier waves.
[0207] It should be understood by those skilled in the art that one or more embodiments of the present specification may be provided as a method, system or computer program product. Therefore, one or more embodiments of the present specification may take the form of a complete hardware embodiment, a complete software embodiment or an embodiment combining software and hardware. Moreover, one or more embodiments of the present specification may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0208] One or more embodiments of this specification may be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. One or more embodiments of this specification may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected through a communication network. In a distributed computing environment, program modules may be located in local and remote computer storage media, including storage devices.
[0209] Each embodiment in this specification is described in a progressive manner, and the same and similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the system embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment. In the description of this specification, the description of the reference terms "one embodiment", "some embodiments", "example", "specific example", or "some examples" means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of this specification. In this specification, the schematic representation of the above terms does not necessarily target the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described can be combined in any one or more embodiments or examples in a suitable manner. In addition, those skilled in the art can combine and combine the different embodiments or examples described in this specification and the features of different embodiments or examples without contradiction.
[0210] The above description is only an example of one or more embodiments of this specification and is not intended to limit one or more embodiments of this specification. For those skilled in the art, one or more embodiments of this specification may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of this specification shall be included in the scope of the claims.
Claims
1. A method for verifying an image, performed by a steganographic device, the steganographic device comprising: Camera module and verification module; The method comprises: The camera module captures a first image, and uses a preset steganographic algorithm to add first information corresponding to a device parameter of the steganographic device to the first image; The camera module sends the first image after adding the first information to the verification module, so as to verify whether the first image is taken by the camera module based on the verification of the first information.
2. The method according to claim 1, wherein: Before taking the first image, the method further includes: The camera module captures a second image, and uses the steganographic algorithm to add the first information to the second image; The camera module sends the second image after adding the first information to the verification module; The verifying whether the first image is taken by the camera module includes: The verification module extracts first target information and second target information from the first image and the second image respectively using an extraction algorithm corresponding to the steganographic algorithm; The verification module compares the first target information and the second target information to see whether they are consistent. If they are consistent, it is determined that the first image is taken by the camera module.
3. The method according to claim 2, wherein: The camera module captures a second image, including: 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 according to claim 1, further comprising: The verification module sends the first image after adding the first information to the server for verification based on the first information to verify whether the first image is taken by the camera module.
5. The method according to claim 1, wherein: The steganographic algorithm is a digital watermark algorithm.
6. The method according to claim 1, wherein: The device parameters include module parameters of the camera module, which are non-adjustable parameters of the camera module, including at least one of the following: module model, sensor size, shutter frequency, aperture, and ISO sensitivity.
7. The method according to claim 1, wherein: The step of adding first information corresponding to the device parameters of the steganographic device to the first image by using a preset steganographic algorithm includes: In the trusted execution environment TEE, the first information is added to the first image using a preset steganographic algorithm.
8. The method according to claim 1, wherein: The step of adding first information corresponding to the device parameters of the steganographic device to the first image by using a preset steganographic algorithm includes: A first code is obtained, where the first code is an obfuscated code or a ciphertext code; based on the first code, the first information is added to the first image using a preset steganographic algorithm.
9. A method for verifying an image, performed by a steganographic device, comprising: Acquire a first image captured by the steganographic device; Acquire first information corresponding to a device parameter of the steganographic device; Using a preset steganographic algorithm, adding the first information to the first image; The first image after adding the first information is sent to the server.
10. A method for verifying an image, performed by a server, comprising: receiving a first image to be verified from a steganographic device; The steganographic device is used to add information corresponding to the device parameters of the steganographic device to the image taken by it based on a preset steganographic algorithm; extracting first information from the first image using an extraction algorithm corresponding to the steganographic algorithm; matching the first information with pre-stored verification information corresponding to the steganographic device; According to the matching result, it is determined whether the first image is taken by the steganographic device.
11. The method according to claim 10, wherein: Before receiving the first image to be verified from the steganographic device, the method further includes: receiving a second image to be verified from the steganographic device; The verification information is extracted from the second image using the extraction algorithm and stored.
12. The method according to 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 a user's ID image, and the second image is a user's face image.
13. The method according to claim 10, further comprising: When it is determined that the first image is taken by the steganographic device, the first image is compared with the second image, and based on the comparison result, it is determined whether the identity authentication of the user is passed.
14. The method according to claim 10, wherein: The second image is an image received by the steganographic device from another device; the first image is an image generated by the steganographic device based on the second image; or The first image is an image received by the steganographic device from other devices; the second image is an image captured by the steganographic device during the registration phase.
15. A device for verifying an image, arranged in a steganographic device, comprising: A photographing unit, configured to photograph a first image, and add first information corresponding to a device parameter of the steganographic device to the first image using a preset steganographic algorithm; A sending unit, configured to send the first image after adding the first information to a verification unit; The verification unit is used to verify whether the first image is taken by the shooting unit based on the verification of the first information.
16. A device for verifying an image, arranged on a server, comprising: A receiving unit, configured to receive a first image to be verified from a steganographic device; The steganographic device is used to add information corresponding to the device parameters of the steganographic device to the image taken by it based on a preset steganographic algorithm; an extraction unit, configured to extract first information from the first image using an extraction algorithm corresponding to the steganographic algorithm; a matching unit, configured to match the first information with pre-stored verification information corresponding to the steganographic device; A determination unit is used to determine whether the first image is taken by the steganographic device according to the matching result.
17. A computing device comprising a memory and a processor, wherein: The memory stores executable codes, and when the processor executes the executable codes, the method according to any one of claims 1 to 14 is implemented.
Citation Information
Patent Citations
Method for authenticating primitiveness of picture photographed by intelligent mobile terminal
CN103646375A
Image processing method, device and equipment
CN115357929A
Method, system and equipment for protecting image sensitive information and medium
CN118674800A
Image validation
US20180096497A1
Cited By
Image verification method and apparatus
WO2026065644A1
