Information processing device and method, and program
The technology uses public-key cryptography with session IDs and frame position information to verify video authenticity, addressing frame tampering and maintaining verification across transcoding, ensuring the original video's integrity is maintained.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- SONY GROUP CORP
- Filing Date
- 2022-02-03
- Publication Date
- 2026-04-14
AI Technical Summary
Existing video authentication technologies fail to adequately guarantee the authenticity of video footage, particularly in cases of frame extraction or rearrangement, and cannot verify the authenticity of transcoded videos.
The technology employs public-key cryptography to generate and verify digital signatures for video frames, using session IDs and frame position information to detect tampering, and maintains signature verification across transcoding by chaining public key certificates.
Ensures the authenticity of video footage by detecting frame extraction or rearrangement and maintains verification integrity through transcoding, ensuring the original video's authenticity is tracked in both pre- and post-transcoded states.
Smart Images

Figure 0007845359000046 
Figure 0007845359000047 
Figure 0007845359000048
Abstract
Description
[Technical Field]
[0001] This technology relates to an information processing device and method, as well as a program, and more particularly to an information processing device and method, as well as a program that can guarantee the authenticity of images. [Background technology]
[0002] For example, technologies have been proposed to ensure that video footage captured by a camera and transmitted, i.e., a series of still images, are not tampered with during transmission.
[0003] In such technology, the camera itself generates a digital signature using public-key cryptography for each frame of the video, and the recipient of the video verifies the digital signature for each frame.
[0004] For example, many methods for generating and verifying signatures using symmetric-key cryptography have been proposed, but such methods are not practical because they require the parties to securely share a common key in advance.
[0005] Therefore, a technology has been proposed that uses public-key cryptography to generate and verify signatures (see, for example, Patent Document 1).
[0006] For example, a method has been proposed that combines a hash function with public-key cryptography to generate and verify signatures using public-key cryptography.
[0007] Specifically, at the sending end, digital data M is compressed by a hash function H, and the resulting fixed-length output h is encrypted with an encryption key (private key) Ke to obtain digital signature data s. Then, the digital data M and the digital signature data s are output as a pair.
[0008] Furthermore, on the receiving end, when digital data M and digital signature data s are received, the digital signature data s is decrypted using the decryption key (public key) Kd corresponding to the encryption key (private key) Ke, and output h'' is generated. In addition, the digital data M is compressed using the hash function H to obtain output h', and the obtained output h' is compared with output h''.
[0009] If the outputs h' and h'' match, the digital data M is considered to be legitimate data that has not been tampered with; if the outputs h' and h'' do not match, the digital data M is considered to be data that has been tampered with.
[0010] In the above example, digital signature data s generated by a hash function H and an encryption key (private key) Ke is used to detect modifications, alterations, forgery, synthesis, etc., of the digital data M. [Prior art documents] [Patent Documents]
[0011] [Patent Document 1] Patent No. 4261724 [Overview of the Initiative] [Problems that the invention aims to solve]
[0012] However, the aforementioned technologies could not be said to adequately guarantee the authenticity of the video.
[0013] For example, in the aforementioned technology, signature generation and verification are performed on a frame-by-frame basis, so if tampering occurs, such as extracting frames from the video or rearranging the order of frames, such tampering cannot be detected.
[0014] This technology was developed in light of these circumstances and aims to guarantee the authenticity of the video. [Means for solving the problem]
[0015] The information processing device of the first aspect of this technology includes an identification information assigned to a time block consisting of multiple frames of video, a signature generation unit that generates a first signature for each frame based on the frames of the video and a first secret key of a public-key cryptography scheme, a certificate generation unit that generates a certificate including the identification information, and an output unit that outputs the certificate, the video, and the first signature.
[0016] The information processing method or program of the first aspect of this technology is an information processing method or program corresponding to the information processing device of the first aspect of this technology.
[0017] In the first aspect of this technology, a first signature is generated for each frame based on identification information assigned to a time block consisting of multiple frames of video, the frames of the video, and a first secret key of a public-key cryptography scheme. A certificate containing the identification information is then generated, and the certificate, the video, and the first signature are output.
[0018] The information processing device of the second aspect of this technology includes an acquisition unit that acquires a certificate for each time block, which includes identification information assigned to a time block consisting of multiple frames of video; the video; the identification information; the frames of the video; a first public key corresponding to a first private key of a public-key cryptography scheme; and a first signature for each frame generated based on the first private key; and a signature verification unit that verifies the first signature based on the certificate, the video; and the first public key.
[0019] The information processing method or program of the second aspect of this technology is an information processing method or program corresponding to the information processing device of the second aspect of this technology.
[0020] In the second aspect of this technology, a certificate for each time block, which includes identification information assigned to a time block consisting of multiple frames of video, the video, the identification information, the frames of the video, a first public key corresponding to a first private key of a public-key cryptography scheme, and a first signature for each frame generated based on the first private key are obtained, and the first signature is verified based on the certificate, the video, and the first public key. [Brief explanation of the drawing]
[0021] [Figure 1] This figure shows an example of the camera's video output in verification method 1. [Figure 2] This figure shows an example of the camera's video output in verification method 2. [Figure 3] This figure shows an example of the video output from the transcoder in verification method 2. [Figure 4] This figure shows an example of the camera's video output in verification method 3. [Figure 5] This figure shows an example of the video output from the transcoder in verification method 3. [Figure 6] This diagram shows an example configuration of a video distribution system. [Figure 7] This diagram shows an example of a camera configuration. [Figure 8] This is a flowchart explaining the video output process. [Figure 9] This figure shows an example of a transcoder configuration. [Figure 10] This is a flowchart explaining the verification process. [Figure 11] This is a flowchart explaining the video output process. [Figure 12] This figure shows an example of a client configuration. [Figure 13] This is a flowchart explaining the verification process. [Figure 14] This is a diagram showing an example of a computer configuration. [Modes for carrying out the invention]
[0022] The following describes embodiments to which this technology is applied, with reference to the drawings.
[0023] <First Embodiment> <Regarding Verification Method 1> This technology is intended to ensure, for example, that video footage (a series of still images) captured and transmitted by a camera has not been tampered with during transmission. In other words, this technology makes it possible to guarantee the authenticity of video footage captured and transmitted by a camera.
[0024] For example, with news cameras and security cameras, it is important to be able to identify which camera captured the footage and to guarantee that the footage transmitted from the camera has not been tampered with; in other words, to guarantee the authenticity of the footage.
[0025] Therefore, this technology uses an identifier for each time block of video to detect tampering such as frame extraction or rearrangement, thereby guaranteeing the authenticity of the video. In particular, this technology relates to a method for generating digital signatures and public key certificates that can trace the original video even when the video is transcoded over a communication channel and transmitted to a client.
[0026] Now, let's explain this technology in detail.
[0027] For example, suppose that to guarantee the authenticity of the video captured and transmitted by a camera, the camera adds an electronic signature (hereinafter also referred to simply as "signature") to each frame of the video before transmission. In this case, the recipient of the video can verify the authenticity of each frame by verifying the electronic signature of each frame of the received video (hereinafter also referred to as "video frame").
[0028] Specifically, for example, let Frame[i] be the i-th frame from the beginning of the video.
[0029] At this time, the message m[i] can be obtained by calculating the hash value of Frame[i] using the hash function SHA256 (Secure Hash Algorithm 256-bit) (hereinafter also simply referred to as the hash function SHA256), as shown in equation (1) below.
[0030]
number
[0031] Additionally, the message m[i] and the private key K of the public-key cryptography scheme, which is securely stored by the camera, are also included. dev_pri Based on this, equation (2) is calculated to generate the signature [i] of the video frame [i].
[0032]
number
[0033] In other words, in equation (2), the secret key K is obtained using elliptic curve cryptography (ECDSA (Elliptic Curve Digital Signature Algorithm)). dev_pri By encrypting the message m[i], the signature Signature[i] is obtained.
[0034] Furthermore, private key K dev_pri Based on the generators G on the elliptic curve, equation (3) is calculated, and the secret key K of the public-key cryptosystem is obtained. dev_pri The corresponding public key K dev_pub This is generated.
[0035]
number
[0036] The device that captures and transmits the video (the transmitting device) uses the public key K obtained in the manner described above. dev_pubSimultaneously disclose the signature Signature[i] and the video frame Frame[i].
[0037] That is, the transmitting device generates a public key certificate Certificate[i] by concatenating the public key K dev_pub and the signature Signature[i], and sequentially transmits the public key certificate Certificate[i] and the video frame Frame[i].
[0038]
Number
[0039] As a result, for each frame of the video, such as Frame[1], Certificate[1], Frame[2], Certificate[2], ···, the public key certificate Certificate[i] and the video frame Frame[i] are transmitted to the receiving device.
[0040] In Equation (4), "K dev_pub ||Signature[i]" means concatenating the public key K dev_pub and the signature Signature[i] in the order of the public key K dev_pub and the signature Signature[i], that is, concatenating the signature Signature[i] after the public key K dev_pub . The "||" indicating this concatenation is the same in the equations described below.
[0041] Also, in the receiving device, the public key K dev_pub and the signature Signature[i] are extracted from the received public key certificate Certificate[i], and the signature Signature[i] is verified using elliptic curve cryptography.
[0042] That is, based on the received video frame Frame[i], a calculation similar to Equation (1) described above is performed to generate the message m[i].
[0043] And then, message m[i], public key K dev_pub Based on the signature and Signature[i], the signature Signature[i] is verified by the following equation (5).
[0044]
number
[0045] In other words, equation (5) shows that the message m[i] obtained from the frame[i] at the receiving device and the public key K are obtained using elliptic curve cryptography. dev_pub The signature [i] is then verified. This allows us to verify the authenticity of the i-th frame [i] of the video.
[0046] However, the methods described above cannot detect when video frames (Frame[i]) are extracted or the order of frames is changed, i.e., when tampering such as frame extraction or reordering occurs.
[0047] Therefore, for example, by generating a public key certificate and digital signature using Verification Method 1 of this technology, as described below, it is possible to detect tampering such as frame extraction and reordering.
[0048] In verification method 1, the video is divided into time blocks of a predetermined length, and a session ID, equivalent to a video identifier, is assigned (generated) to each time block and stored in the data to be signed. This session ID is unique identification information that can identify each time block. For example, a group of video frames equivalent to 10 seconds can be considered as one time block.
[0049] Now, let Frame[j][i] be the i-th frame (video frame) from the beginning of the j-th time block in the video.
[0050] Furthermore, session-id[j] is defined as the session ID that identifies the j-th time block from the beginning of the video. For example, the size of session-id[j] can be 16 bytes.
[0051] Furthermore, let t[i] be the frame position information, which indicates the position of the aforementioned frame[j][i], which is the i-th frame from the beginning of the j-th time block, within the entire video. In other words, let t[i] be the frame position information, which indicates the position relative to the beginning of the video.
[0052] For example, the frame position information t[i] can be the frame number from the beginning of the video in frame[j][i], or the timecode of frame[j][i]. Also, for example, the size of the frame position information t[i] can be 16 bytes.
[0053] In verification method 1, the following verification is performed for each frame Frame[j][i] by referring to session-id[j] and t[i].
[0054] As shown in equation (6) below, the message m[j][i] for frame Frame[j][i] can be obtained by calculating the hash value of the data obtained by concatenating the frame Frame[j][i], session-id[j], and frame position information t[i] based on the hash function SHA256.
[0055]
number
[0056] Then, the message m[j][i] and the private key K of the public-key cryptography scheme, which is securely stored by the camera. dev_pri Based on this, equation (7) is calculated to generate the signature [j][i] of the video frame Frame[j][i].
[0057]
number
[0058] In other words, in equation (7), the secret key K is obtained using elliptic curve cryptography (ECDSA). dev_pri By encrypting the message m[j][i], the signature Signature[j][i] is obtained.
[0059] Furthermore, the private key K is obtained by the above equation (3). dev_pri The corresponding public key K dev_pub The public key K is generated (calculated). dev_pub The signatures [j][i] are published simultaneously.
[0060] Specifically, as shown in equation (8) below, the public key K dev_pub Then, the session-id[j] and the signature[j][i] are concatenated to generate the public key certificateCertificate[j][i].
[0061]
number
[0062] Then, as shown in Figure 1, for example, the video frame Frame[j][i] and the public key certificate Certificate[j][i] are transmitted sequentially.
[0063] In the example shown in Figure 1, for each frame of the video, the frame Frame[j][i] and the public key certificate Certificate[j][i] are sent sequentially to the receiving device, as in Frame[1][1],Certificate[1][1],Frame[1][2],Certificate[1][2],... In particular, this example shows that one time block consists of n frames.
[0064] On the other hand, on the video receiver side, i.e., the device receiving the video, when the video frame Frame[j][i] and public key certificate Certificate[j][i] are received, the signature Signature[j][i] is verified.
[0065] In other words, the receiving device obtains the public key K from the received public key certificate Certificate[j][i]. dev_pub The session-id[j] and signature[j][i] are extracted.
[0066] Furthermore, by counting the frames from the beginning of the received video and storing the count result, frame position information t[i] for each frame is generated.
[0067] Next, the message m[j][i] is obtained for the received video frame Frame[j][i] based on the hash function SHA256.
[0068] In other words, the hash value of the data obtained by concatenating the frame Frame[j][i], session-id[j], and frame position information t[i] using the above equation (6) is calculated, and the message m[j][i] for the frame Frame[j][i] is obtained.
[0069] And, message m[j][i], public key K dev_pub Based on the above and the signature Signature[j][i], the signature Signature[j][i] is verified by the following equation (9).
[0070]
number
[0071] In other words, equation (9) shows that the message m[j][i] obtained from the frame Frame[j][i] at the receiving device and the public key K are obtained using elliptic curve cryptography. dev_pub The signature Signature[j][i] is then verified.
[0072] This allows for verification of the authenticity of each frame, Frame[j][i], on a frame-by-frame basis. In particular, since the message m[j][i] contains the session-id[j] and frame position information t[i], it is possible to detect tampering such as frame extraction or reordering.
[0073] Specifically, for example, by including the session-id[j] in the message m[j][i], it is possible to detect frame extraction, reordering of frames across time blocks, and tampering with videos created by stitching together multiple different videos. Additionally, by including frame position information t[i] in the message m[j][i], it is possible to detect frame extraction and reordering.
[0074] <Regarding Verification Method 2> By the way, while verification method 1 can detect tampering such as frame extraction and reordering, the link to the original video is lost during the transcoding of the video.
[0075] Therefore, while the video recipient can verify the authenticity of the transcoded video, they cannot verify that the video has not been replaced or tampered with during the transcoding process. In other words, all evidence regarding the video before transcoding is completely lost.
[0076] This is because, even if the signature of the pre-transcoded video frame Frame[j][i] is retained after transcoding, the pre-transcoded video frame Frame[j][i] itself, which is necessary for verifying the signature Signature[j][i], disappears, making verification impossible.
[0077] Therefore, we will now describe verification method 2 of this technology, which enables the chaining of public key certificates before and after video transcoding. Specifically, we will describe a method for generating public key certificates that allows verification of the relationship between the video before transcoding and the video after transcoding.
[0078] In verification method 2, the video before transcoding contains the private key K of the public-key cryptography scheme. trans_pri The private key K is attached, and the transcoder uses that private key K trans_pri The process involves generating a signature for the public key certificate of the transcoded video using the following method. The private key K was attached to the video before transcoding. trans_pri By generating a signature using this method, it becomes possible to verify the relationship between the video before transcoding and the video after transcoding.
[0079] Furthermore, after signature generation, the private key K trans_pri The original key was discarded, and a new private key K' of the public-key cryptography scheme was applied to the transcoded video. trans_pri A secret key K' is generated and added. Another transcoder that receives the transcoded video then uses the secret key K'. trans_pri This is used to further generate a signature for the public key certificate of the transcoded video. The private key K attached to the video before transcoding is used. trans_pri The chain of signatures makes it possible to verify the relationship between the received video and the original video captured by the camera.
[0080] In particular, here we have {K trans_pri ,K trans_pub},{K' trans_pri ,K' trans_pub},{K'' trans_pri ,K'' trans_pub We will introduce},.... In particular, a new key pair will be generated each time the video is transcoded.
[0081] The public key corresponding to the private key can be obtained by the same calculation as in equation (3) above. That is, K trans_pub =K trans_pri G,K' trans_pub =K' trans_pri G,K'' trans_pub =K'' trans_pri G,...is
[0082] The following provides a more detailed explanation of verification method 2.
[0083] First, the following process is performed to generate a signature during the capture and distribution of the original video footage from the camera, rather than through video transcoding.
[0084] In other words, the camera assigns a session ID, session-id[j], to each time block of the captured video, and a private key K, which is the public-key cryptography key pair for the original video. trans_pri and public key K trans_pub This is generated.
[0085] Then, as shown in equation (10), the secret key K is securely held by the camera. dev_pri The corresponding public key K dev_pub and session-id[j] and public key K trans_pub These are concatenated to generate the signature data c[j][i] for the video frame Frame[j][i].
[0086]
number
[0087] Furthermore, by counting frames from the beginning of the video and storing the count result, frame position information t[i] for each frame is generated.
[0088] Furthermore, as shown in equation (11), the frame Frame[j][i], the data to be signed c[j][i], and the frame position information t[i] are concatenated based on the hash function SHA256 to obtain the message m[j][i] about the frame Frame[j][i].
[0089]
number
[0090] Next, we have the message m[j][i] and the private key K of the public-key cryptography scheme, which is securely stored by the camera. dev_pri Based on this, equation (12) is calculated, and the signature [j][i] of the video frame Frame[j][i] is generated.
[0091]
number
[0092] In other words, in equation (12), the secret key K is obtained by elliptic curve cryptography. dev_pri By encrypting the message m[j][i], the signature Signature[j][i] is obtained.
[0093] Next, as shown in equation (13), the data to be signed c[j][i] and the signature Signature[j][i] are concatenated to generate the public key certificate Certificate[j][i].
[0094]
number
[0095] Furthermore, as shown in equation (14), the public key certificate Certificate[j][i] and the private key K trans_pri These are concatenated and become data to be added to the video frame Frame[j][i].
[0096]
number
[0097] Then, as shown in Figure 2, for example, the video frame Frame[j][i], the public key certificate Certificate[j][i], and the private key K trans_pri These are sent sequentially.
[0098] In Figure 2, Frame[1][1],Certificate[1][1],K trans_pri ,Frame[1][2],Certificate[1][2],K trans_pri ...and so on, for each frame of the video, the frame Frame[j][i], the public key certificate Certificate[j][i], and the private key K trans_pri The data is then transmitted sequentially to the receiving device. In this example, one time block consists of n frames.
[0099] On the video receiver side, that is, the device receiving the video, if it receives the original video captured and transmitted by the camera directly, i.e., if transcoding does not occur, the signature Signature[j][i] is verified for each video frame Frame[j][i].
[0100] Here, the transcoder receives the original video frame[j][i], the public key certificate[j][i], and the private key K from the camera. trans_pri Let's assume we received this.
[0101] In this case, the transcoder extracts the data to be signed, c[j][i] and the signature, Signature[j][i], from the received public key certificate, Certificate[j][i].
[0102] Furthermore, by counting the frames from the beginning of the received video and storing the count result, frame position information t[i] for each frame is generated.
[0103] Next, the message m[j][i] is obtained for the received video frame Frame[j][i] based on the hash function SHA256.
[0104] In other words, using the above-mentioned equation (11), the frame Frame[j][i], the data to be signed c[j][i], and the frame position information t[i] are concatenated to calculate a hash value, and the message m[j][i] is obtained.
[0105] And the public key K contained in message m[j][i] and data to be signed c[j][i]. dev_pub Based on the and signature Signature[j][i], the signature Signature[j][i] is verified by the following formula (15).
[0106]
number
[0107] Equation (15) shows that the message m[j][i] obtained from the frame Frame[j][i] by the transcoder and the public key K are obtained using elliptic curve cryptography. dev_pub The signature Signature[j][i] is then verified.
[0108] This allows for verification of the authenticity of each frame, Frame[j][i], on a frame-by-frame basis. In particular, since the message m[j][i] contains the session-id[j] and frame position information t[i], tampering such as frame extraction or reordering can be detected, similar to the case in verification method 1.
[0109] After verifying such a signature [j][i], the transcoder transcodes the video received from the camera, and as a result, each frame of the transcoded video, Frame'[j][i], corresponds to each frame of the original video, Frame[j][i].
[0110] In this case, it is assumed that no conversions that would change the timecode, such as frame rate conversion or 2:3 pull-down, will be performed during transcoding.
[0111] Furthermore, the transcoder uses the private key K of the public-key cryptography scheme. transcoder_pri It is securely held, and its private key K transcoder_pri The corresponding public key is K transcoder_pub =K transcoder_pri Let's assume it's G.
[0112] In this case, the transcoder generates a signature for each transcoded Frame[j][i] in the same way as it generates a signature for the original video frame Frame[j][i] at the camera.
[0113] In other words, the transcoder assigns a session ID, session-id[j], to each time block of the transcoded video, and also assigns a private key K', which is a public-key cryptographic key pair used by another transcoder to generate a signature. trans_pri and public key K' trans_pub This is generated.
[0114] Then, as shown in equation (16), the private key K is securely held by the transcoder. transcoder_pri The corresponding public key K transcoder_pub and session-id[j] and public key K' trans_pub The two are concatenated to generate (construct) the data to be signed, c'[j][i].
[0115]
number
[0116] This data to be signed, c'[j][i], is common to each video frame, Frame'[j][i], within a single time block.
[0117] The public key K' is added to the data to be signed c'[j][i]. trans_pub By including this, a third party who receives the transcoded video and the public key certificate Certificate'[j][i] described later will be able to sign the public key K' in the data c'[j][i] included in the public key certificate Certificate'[j][i]. trans_pub Signature verification can be performed using this method. This allows the public key certificate attached to the transcoded video frame to be verified against the private key K' attached to the transcoded video frame Frame'[j][i]. trans_pri It becomes possible to verify that it contains a signature generated by [the specified method / system].
[0118] Furthermore, as shown in equation (17), the message m'[j][i] for frame Frame'[j][i] can be obtained by calculating the hash value of the data obtained by concatenating the frame Frame'[j][i], the data to be signed c'[j][i] obtained in equation (16), and the frame position information t[i] based on the hash function SHA256.
[0119]
number
[0120] Subsequently, the message m'[j][i] and the private key K of the public-key cryptography scheme, which is securely held by the transcoder, are exchanged. transcoder_pri Based on this, the following equation (18) is calculated, and the signature [j][i] of the video frame Frame[j][i] is generated.
[0121]
number
[0122] In other words, in equation (18), the secret key K is obtained by elliptic curve cryptography. transcoder_pri By encrypting the message m'[j][i], the signature Signature[j][i] is obtained.
[0123] Furthermore, for the transcoded video frame Frame'[j][i], the secret key K transcoder_pri In addition to signature generation, the private key K is received from the camera along with the video frame Frame[j][i]. trans_pri Signature generation is also performed.
[0124] That is, as shown in equation (19), the public key certificate Certificate[j][i] received from the camera and the private key K transcoder_pri The corresponding public key K transcoder_pub And, public key K' trans_pub These are concatenated to generate (construct) the data to be signed, c'[j][i]. This data to be signed, c'[j][i], is different from the one obtained by equation (16).
[0125]
number
[0126] Furthermore, the data to be signed, c'[j][i], obtained from equation (19), and the secret key K received from the camera are used. trans_pri Based on this, equation (20) is calculated, and a signature 'Signature'[j][i] is generated for the data to be signed c'[j][i] which includes the public key certificate Certificate[j][i].
[0127]
number
[0128] In other words, in equation (20), the secret key K is obtained by elliptic curve cryptography. trans_pri By encrypting the data to be signed c'[j][i], the signature Signature'[j][i] is obtained.
[0129] The signature obtained in this way, Signature'[j][i], is stored in the public key certificate Certificate'[j][i] of the frame Frame'[j][i], thereby creating a public key certificate Certificate[j][i] and private key K trans_pri By concatenating the two, it becomes possible to verify that the frame Frame[j][i], to which the data shown in equation (14) above has been added, was transformed to generate the frame Frame'[j][i]. In other words, it is possible to identify (track) that the frame Frame[j][i] is the original video of the frame Frame'[j][i].
[0130] Once the signatures Signature[j][i] and Signature'[j][i] are generated as described above, the public key certificate Certificate'[j][i] is then generated by the following equation (21).
[0131]
number
[0132] In other words, in equation (21), the data to be signed c'[j][i] obtained in equation (19), the signature Signature[j][i] obtained in equation (18), and the signature Signature'[j][i] obtained in equation (20) are concatenated to generate the public key certificate Certificate'[j][i].
[0133] Furthermore, as shown in equation (22), the public key certificate Certificate'[j][i] and the private key K' trans_pri These are concatenated and become data to be added to the video frame 'Frame'[j][i].
[0134]
number
[0135] Then, as shown in Figure 3, for example, the video frame '[j][i]', the public key certificate 'Certificate'[j][i], and the private key K' trans_pri These are sent sequentially.
[0136] In Figure 3, Frame'[1][1],Certificate'[1][1],K' trans_pri ,Frame'[1][2],Certificate'[1][2],K' trans_pri ...and so on, for each frame of the video, the frame Frame'[j][i], the public key certificate Certificate'[j][i], and the private key K' trans_pri The data is then transmitted sequentially to the receiving device. In this example, one time block consists of n frames.
[0137] Furthermore, as mentioned above, when generating the video frame Frame'[j][i], no conversions that change the timecode, such as frame rate conversion or 2:3 pull-down, are performed. This is because if the timecode of the video frame changes before and after transcoding, the time blocks and frame position information t[i] in the video before and after transcoding will no longer have a one-to-one correspondence.
[0138] Furthermore, on the receiving end of the video from the transcoder, i.e., the receiving device (client), when the transcoded video is received, i.e., when transcoding occurs, the signature is verified for each video frame '[j][i]'.
[0139] Here, the client receives the transcoded video frame '[j][i]', the public key certificate 'Certificate'[j][i], and the private key K' from the transcoder. trans_pri Let's assume we received this.
[0140] In this case, the client receives the public key certificate Certificate[j][i] and the public key K transcoder_pub, public key K’ trans_pub , signature Signature[j][i], and signature Signature’[j][i] are extracted. Further, from the extracted public key certificate Certificate[j][i], session ID (session-id[j]) and public key K trans_pub are also extracted.
[0141] Also, by counting the frames from the beginning of the received video and holding the count result, frame position information t[i] for each video frame Frame’[j][i] is generated.
[0142] Next, according to the above formula (16), public key K transcoder_pub , session-id[j], and public key K’ trans_pub are concatenated to generate (construct) common signature target data c’[j][i] within the time block, and the following verification is performed for each frame Frame’[j][i].
[0143] That is, based on the frame Frame’[j][i], the signature target data c’[j][i] obtained by formula (16), and the data obtained by concatenating the frame position information t[i], message m’[j][i] is obtained by the above formula (17) based on the hash function SHA256.
[0144] Then, based on message m’[j][i], public key K transcoder_pub , and signature Signature[j][i], the verification of signature Signature[j][i] is performed by the following formula (23).
[0145] [Equation]
[0146] In formula (23), based on elliptic curve cryptography, the signature Signature[j][i] is verified with the message m’[j][i] obtained from the frame Frame’[j][i] by the client and public key K transcoder_pub .
[0147] This verifies the authenticity of each video frame, Frame'[j][i], on a frame-by-frame basis. In particular, since the message m'[j][i] contains the session-id[j] and frame position information t[i], it is possible to detect tampering such as frame extraction or reordering, similar to the case in verification method 1.
[0148] Furthermore, the client also verifies the signature 'Signature'[j][i].
[0149] That is, public key certificate Certificate[j][i], public key K transcoder_pub , and public key K' trans_pub These are concatenated to generate the signature target data c'[j][i] shown in equation (19) above.
[0150] Then, the data to be signed, c'[j][i], and the public key K. trans_pub Based on the signature 'Signature'[j][i], the signature 'Signature'[j][i] is verified by the following equation (24).
[0151]
number
[0152] In equation (24), elliptic curve cryptography is used to obtain the data to be signed c'[j][i] from the public key certificate Certificate[j][i] at the client level and the public key K trans_pub The signature 'Signature'[j][i] is then verified.
[0153] This verifies the authenticity of the public key certificate Certificate[j][i] attached to the video frame Frame'[j][i] on a frame-by-frame basis. In other words, it verifies that Frame[j][i] was transformed to generate Frame'[j][i], meaning that Frame[j][i] is the original video from which Frame'[j][i] originated.
[0154] As described above, verification method 2 can guarantee the authenticity of the transcoded video, as well as the authenticity of the video before transcoding, i.e., it can also track the original video.
[0155] <Regarding Verification Method 3> By the way, in verification method 2, within the same time block, the public key certificate Certificate[j][i] attached to each video frame Frame'[j][i] has the same signature data c[j][i], except for the signature Signature[j][i]. In other words, the public key certificate Certificate'[j][i] has a redundant structure.
[0156] Furthermore, verification method 2 requires signature verification to be performed twice for each video frame Frame'[j][i]. That is, for each video frame Frame'[j][i], it is necessary to verify both Signature'[j][i] and Signature[j][i].
[0157] Therefore, one could separate common values within the time block from the public key certificate Certificate[j][i] and place the separated values at the beginning of the time block. In the following, we will refer to such a method as verification method 3.
[0158] According to verification method 3, it is possible to eliminate the redundancy of the structure of the public key certificate Certificate[j][i] and reduce the number of signature verifications. That is, in verification method 3, it is only necessary to perform signature verification once for each video frame and once for each time block.
[0159] Hereinafter, verification method 3 will be described more specifically.
[0160] First, the following processing is performed as signature generation during the shooting and distribution of original video by a camera, rather than video transcoding.
[0161] That is, in the camera, the session ID session-id[j] is assigned to the video obtained by shooting for each time block, and the secret key K trans_pri and the public key K trans_pub of the public key cryptosystem for the original video are generated.
[0162] Then, as shown in the following formula (25), the public key K dev_pri corresponding to the secret key K dev_pub securely held by the camera, the session-id[j], and the public key K trans_pub are concatenated to generate the signature target data c[j] for the time block indicated by the session-id[j].
[0163]
Equation
[0164] Next, based on the signature target data c[j] obtained by formula (25) and the secret key K dev_pri of the public key cryptosystem securely held by the camera, the following formula (26) is calculated to generate the signature Sig[j] for each time block.< /
[0165]
Equation
[0166] That is, in equation (26), the signature Sig[j] is obtained by encrypting the data c[j] to be signed with the elliptic curve cryptography using the private key K dev_pri Thereby encrypting the data c[j] to be signed with the elliptic curve cryptography using the private key K, a signature Sig[j] is obtained
[0167] Also, as shown in the following equation (27), the data c[j] to be signed and the signature Sig[j] are concatenated to generate a public key certificate Certificate[j] for each time block
[0168] [Number]
[0169] Furthermore, as shown in the following equation (28), the public key certificate Certificate[j] and the private key K trans_pri are concatenated and used as the data to be added to the beginning of the time block indicated by session-id[j]
[0170] [Number]
[0171] Next, a signature Signature[j][i] is generated for each video frame Frame[j][i]
[0172] [[ID=3९]] That is, as shown in the following equation (29), based on the hash function SHA256, by calculating the hash value of the data obtained by concatenating the frame Frame[j][i], the data c[j] to be signed, and the frame position information t[i], a message m[j][i] for the frame Frame[j][i] is obtained
[0173] [Number]
[0174] Then, the message m[j][i] obtained by equation (29) and the private key K of the public-key cryptography scheme, which is securely held by the camera, are used. dev_pri Based on this, the following equation (30) is calculated, and the signature [j][i] of the video frame Frame[j][i] is generated.
[0175]
number
[0176] In other words, in equation (30), the secret key K is obtained by elliptic curve cryptography. dev_pri By encrypting the message m[j][i], the signature Signature[j][i] is obtained.
[0177] The signature obtained in this way, Signature[j][i], is then used as data to be added to the frame Frame[j][i], as shown in equation (31).
[0178]
number
[0179] Then, as shown in Figure 4, for example, the public key certificate Certificate[j] and the private key K trans_pri Then, the video frame Frame[j][i] and the signature Signature[j][i] attached to the video frame Frame[j][i] are transmitted sequentially.
[0180] In Figure 4, Certificate[1],K trans_pri ,Frame[1][1],Signature[1][1],Frame[1][2],Signature[1][2],...,Certificate[2],K trans_pri Each piece of data is sent as follows: ,Frame[2][1],Signature[2][1],Frame[2][2],Signature[2][2],...
[0181] That is, at the beginning of the time block, the public key certificate Certificate[j] and the private key K trans_pri are transmitted. Then, for each frame of the video, the frame Frame[j][i] and the signature Signature[j][i] are sequentially transmitted to the receiving device. In this example, one time block is composed of n frames.
[0182] On the video receiver side, that is, on the receiving device of the video, when the original video captured and distributed by the camera is directly received, that is, when transcoding does not occur, the following verification is performed.
[0183] Here, assume that the transcoder has received the public key certificate Certificate[j], the private key K trans_pri , the frame Frame[j][i] of the original video, and the signature Signature[j][i].
[0184] In this case, in the transcoder, the public key K dev_pub , session-id[j], the public key K trans_pub [[ID=2D]], and the signature Sig[j] are extracted from the received public key certificate Certificate[j].
[0185] In other words, the signed data c[j] of Equation (25) consisting of the public key K <00,00114>, session-id[j], and the public key K trans_pub and the signature Sig[j] are extracted from the public key certificate Certificate[j].
[0186] [[ID=3Z]]And based on the signed data c[j], the public key K dev_pub , and the signature Sig[j], the verification of the signature Sig[j] for each time block is performed according to the following Equation (32).
[0187]
Equation
[0188] Note: There seems to be an error in the original text where "公開鍵K trans_pub 、および署名Sig[j]が抽出される。" should probably be "公開鍵K trans_pub 、および署名Sig[j]が抽出される。" and in the translation, "公開鍵K trans_pub 、および署名Sig[j]が抽出される。" should be "公開鍵K trans_pub , and the signature Sig[j] are extracted." Also, "公開鍵K dev_pub 、session-id[j]、および公開鍵K trans_pub " should probably be "公開鍵K dev_pub , session-id[j], and the public key K trans_pub " and in the translation, "公開鍵K dev_pub 、session-id[j]および公開鍵K trans_pub " should be "the public key K dev_pub , session-id[j], and the public key K trans_pub ". And "公開鍵K dev_pub " should probably be "公開鍵K dev_pub " and in the translation, "公開鍵K dev_pub " should be "the public key K dev_pub ". These are likely just typos in the original text that were translated as-is for the purpose of following the instructions. In equation (32), elliptic curve cryptography is used to obtain the signed data c[j] extracted (read) from the public key certificate Certificate[j] by the transcoder and the public key K. dev_pub The signature Sig[j] is then verified. This allows us to verify the authenticity of the public key certificate Certificate[j].
[0189] Furthermore, the transcoder counts the frames [j][i] from the beginning of the received video and stores the count result to generate frame position information t[i] for each frame [j][i].
[0190] Furthermore, the message m[j][i] is obtained by concatenating the frame Frame[j][i], the data to be signed c[j], and the frame position information t[i], and using the hash function SHA256, according to equation (29) described above.
[0191] And, message m[j][i], public key K dev_pub Based on the and signature Signature[j][i], the signature Signature[j][i] is verified by the following equation (33).
[0192]
number
[0193] In equation (33), the message m[j][i] obtained from the frame Frame[j][i] by the transcoder and the public key K are obtained using elliptic curve cryptography. dev_pub The signature Signature[j][i] is then verified.
[0194] This verifies the authenticity of each video frame, Frame[j][i], on a frame-by-frame basis. In particular, in this example, since the message m[j][i] also includes the session-id[j] and frame position information t[i], it is possible to detect frame extraction, reordering, and tampering with video by combining multiple different videos, similar to the case in verification method 1.
[0195] After verifying the time block signature Sig[j] and the frame signature Signature[j][i] as described above, the transcoder transcodes the video received from the camera, and as a result, each frame of the transcoded video Frame'[j][i] corresponds to each frame Frame[j][i] of the original video.
[0196] Furthermore, in verification method 3, it is assumed that no timecode-changing transformations, such as frame rate conversion or 2:3 pull-down, are performed during transcoding. In other words, it is assumed that transcoding is performed without changing the timecode.
[0197] Furthermore, in the transcoder, as in verification method 2, the private key K of the public-key cryptography scheme is used. transcoder_pri Assume that it is being held securely.
[0198] In this case, the transcoder generates the signature for video distribution after transcoding in the following manner.
[0199] In other words, the transcoder uses a private key K', which is the key pair of the public-key cryptography scheme for the transcoded video. trans_pri and public key K' trans_pub This is generated.
[0200] Next, as shown in equation (34), the public key certificate Certificate[j] and the private key K securely held by the transcoder are used. transcoder_pri The corresponding public key K transcoder_pub And, public key K'trans_pub The two are concatenated to generate (construct) the data to be signed, c'[j].
[0201]
number
[0202] Then, the data to be signed, c'[j], obtained by equation (34), and the private key K, securely held by the transcoder, are used. transcoder_pri Based on this, equation (35) is calculated to generate a time-block signature Sig1'[j] for the public key certificate Certificate[j].
[0203]
number
[0204] In other words, in equation (35), the secret key K is obtained by elliptic curve cryptography. transcoder_pri By encrypting the data to be signed c'[j], the signature Sig1'[j] is obtained.
[0205] Similarly, the data to be signed c'[j] obtained by equation (34) and the secret key K received from the camera are used. trans_pri Based on this, equation (36) is calculated to generate a time-block signature Sig2'[j] for the public key certificate Certificate[j].
[0206]
number
[0207] In other words, in equation (36), the secret key K is obtained by elliptic curve cryptography. trans_pri By encrypting the data to be signed c'[j], the signature Sig2'[j] is obtained.
[0208] Furthermore, as shown in equation (37) below, the data to be signed c'[j], the signature Sig1'[j], and the signature Sig2'[j] are concatenated to generate a public key certificate Certificate'[j] for each time block.
[0209]
number
[0210] Furthermore, as shown in equation (38), the public key certificate Certificate'[j] and the private key K' trans_pri These are concatenated and are used as data to be added to the beginning of the time block indicated by session-id[j].
[0211]
number
[0212] Thus, in verification method 3, the secret key K generated for the video frame Frame'[j][i] trans_pri The video is transmitted with the addition of [something].
[0213] In this way, when the receiving end further transcodes the video frame Frame'[j][i] to generate frame Frame''[j][i], the data to be signed, including the public key certificate Certificate'[j], will be signed using the private key K' trans_pri It can be encrypted and a signature Sig2''[j] can be generated.
[0214] This allows us to verify the relationship between the public key certificate Certificate'[j] and the public key certificate Certificate''[j] for the frame Frame''[j][i], that is, the relationship between the video before and after transcoding.
[0215] Once the data to be added to the beginning of the time block is obtained, a signature 'Signature'[j][i] is then generated for each video frame 'Frame'[j][i].
[0216] That is, as shown in equation (39), the public key K transcoder_pub and session-id[j] and public key K' trans_pub These are concatenated to generate (construct) the data to be signed, c'[j]. This data to be signed, c'[j], is different from the one obtained by equation (34).
[0217]
number
[0218] Furthermore, as shown in equation (40) below, the message m'[j][i] for frame Frame'[j][i] can be obtained by calculating the hash value of the data obtained by concatenating the frame Frame'[j][i], the data to be signed c'[j], and the frame position information t[i] based on the hash function SHA256.
[0219]
number
[0220] Then, the message m'[j][i] obtained by equation (40) and the private key K of the public-key cryptography scheme, which is securely held by the transcoder, are used. transcoder_pri Based on this, equation (41) is calculated, and the signature 'Signature'[j][i] of the video frame 'Frame'[j][i] is generated.
[0221]
number
[0222] In other words, in equation (41), the secret key K is obtained by elliptic curve cryptography. transcoder_priBy encrypting the message m'[j][i], the signature Signature'[j][i] is obtained.
[0223] Furthermore, as shown in equation (42), the signature 'Signature'[j][i] is considered to be data to be added to the video frame 'Frame'[j][i].
[0224]
number
[0225] Then, as shown in Figure 5, for example, the public key certificate Certificate'[j] and the private key K' trans_pri Then, the video frame '[j][i]' and the signature 'Signature'[j][i] attached to the video frame '[j][i]' are transmitted sequentially.
[0226] In Figure 5, Certificate'[1],K' trans_pri ,Frame'[1][1],Signature'[1][1],Frame'[1][2],Signature'[1][2],...,Certificate'[2],K' trans_pri Each piece of data is sent as follows: ,Frame'[2][1],Signature'[2][1],Frame'[2][2],Signature'[2][2],...
[0227] That is, at the beginning of the time block, the public key certificate Certificate'[j] and the private key K' trans_pri The data is sent, and then for each frame of the video, the frame '[j][i]' and signature 'Signature'[j][i] are sent sequentially to the receiving device (client). In this example, one time block consists of n frames.
[0228] In this example, the secret key K received from the camera is also used. trans_pri This is discarded after the signature Sig2'[j] is generated and is not sent to the client.
[0229] On the receiving end of the video from the transcoder, that is, the video receiving device (client), the following verification is performed when the transcoded video is received, i.e., when transcoding occurs.
[0230] Here, the client receives the public key certificate '[j]' and private key K' from the transcoder. trans_pri Suppose we receive the transcoded video frame 'Frame[j][i]' and the signature 'Signature'[j][i].
[0231] In this case, the client receives the public key certificate Certificate[j] and the public key K. transcoder_pub , public key K' trans_pub The signatures Sig1'[j] and Sig2'[j] are extracted. Furthermore, the data to be signed, c[j], i.e., the public key K, is extracted from the extracted public key certificate Certificate[j]. dev_pub , session-id[j], and public key K trans_pub Then, the signature Sig[j] is extracted.
[0232] Additionally, frames '[j][i]' are counted from the beginning of the received video, the count result is stored, and frame position information t[i] is generated for each frame '[j][i]'.
[0233] On the client side, first the data to be signed c[j] and the public key K dev_pub Based on the signature Sig[j], the signature Sig[j] for each time block is verified by the above-described formula (32).
[0234] Next, as in equation (34) above, public key certificate Certificate[j], public key K transcoder_pub , and public key K' trans_pub By concatenating these, the data to be signed, c'[j], is generated.
[0235] Then, the generated data to be signed, c'[j], and the public key K are generated. transcoder_pub Based on the signature Sig1'[j], the signature Sig1'[j] for each time block is verified by the following equation (43).
[0236]
number
[0237] In equation (43), elliptic curve cryptography is used to sign the data c'[j] generated from the public key certificate Certificate[j] by the transcoder and the public key K transcoder_pub The signature Sig1'[j] is then verified.
[0238] Similarly, the generated data to be signed, c'[j], and the public key K trans_pub Based on the signature Sig2'[j], the signature Sig2'[j] for each time block is verified by the following equation (44).
[0239]
number
[0240] In equation (44), elliptic curve cryptography is used to sign data c'[j] generated from the public key certificate Certificate[j] by the transcoder and the public key K trans_pub The signature Sig2'[j] is then verified.
[0241] The verification of signatures Sig1'[j] and Sig2'[j] as described above verifies the authenticity of the public key certificate Certificate[j] and the public key certificate Certificate'[j], as well as the relationship between the public key certificate Certificate[j] and the public key certificate Certificate'[j], that is, the relationship between the video before and after transcoding.
[0242] Also, the public key K included in the public key certificate Certificate[j] dev_pub Therefore, its public key K dev_pub A compatible camera can be used to determine that the original video footage, before transcoding, has been output.
[0243] Similarly, the public key K contained in the public key certificate 'Certificate'[j] transcoder_pub Therefore, its public key K transcoder_pub The transcoder can be used to determine that the transcoded video has been output.
[0244] Furthermore, the client then verifies the signature 'Signature'[j][i].
[0245] That is, according to equation (39) above, the public key K transcoder_pub and session-id[j] and public key K' trans_pub The two are concatenated to generate the data to be signed, c'[j].
[0246] Furthermore, using the above-mentioned equation (40), the hash value of the data obtained by concatenating the frame Frame'[j][i], the data to be signed c'[j], and the frame position information t[i] is calculated based on the hash function SHA256, thereby obtaining the message m'[j][i].
[0247] Then, the message m'[j][i] and public key K obtained by equation (40) are obtained. transcoder_pub Based on the signature 'Signature'[j][i], the signature 'Signature'[j][i] is verified by the following formula (45).
[0248]
number
[0249] In equation (45), the message m'[j][i] obtained from the frame Frame'[j][i] by the client and the public key K are obtained using elliptic curve cryptography. transcoder_pub The signature 'Signature'[j][i] is then verified.
[0250] This verifies the authenticity of each video frame, Frame'[j][i], on a frame-by-frame basis. In particular, since the message m'[j][i] contains session-id[j] and frame position information t[i], it is possible to detect tampering such as frame extraction or reordering, similar to the case in verification method 1.
[0251] As described above, verification method 3 can guarantee the authenticity of the transcoded video, as well as the authenticity of the video before transcoding, i.e., it can also track the original video.
[0252] Furthermore, in verification method 3, a public key certificate 'Certificate'[j] containing data common to the time block, such as the data to be signed c[j], is generated for each time block. This reduces the redundancy of the data to be transmitted compared to verification method 2, and also reduces the number of signature verifications that need to be performed, i.e., the amount of processing required for verification.
[0253] Note that the private key K dev_pri or private key K transcoder_pri The corresponding public key K dev_pub or public key K transcoder_pub Regarding this, adopting an operation based on a public key management infrastructure is a possible solution.
[0254] This would allow for the creation of a device identifier and public key K that can identify the manufacturer and individual device worldwide for devices such as cameras. dev_pub This links the manufacturer and individual transcoder to a software identifier and public key K that can identify them worldwide. transcoder_pub It is possible to link them together.
[0255] Also, private key Kdev_pri or private key K transcoder_pri The corresponding public key K dev_pub or public key K transcoder_pub Alternatively, a public key certificate signed by an appropriate certification authority can be distributed to the video recipients.
[0256] In such cases, the public key K will be contained within the public key certificate Certificate[j]. dev_pub It is no longer necessary to store the public key K. dev_pub It becomes operational by storing ID information that identifies the owner. In this case, the client uses the public key K based on the ID information. dev_pub It can be obtained dynamically.
[0257] Similarly, the public key K is contained within the public key certificate 'Certificate'[j]. transcoder_pub It is no longer necessary to store the public key K. transcoder_pub It becomes operational by storing ID information that indicates the owner.
[0258] In addition, while the above example describes how to generate a signature using elliptic curve cryptography (ECDSA), any other method, such as RSA encryption, may be used to generate the signature.
[0259] <Example of a video distribution system configuration> Next, we will describe more specific embodiments of the technology described above. In particular, we will describe an example in which the verification method 3 described above is applied.
[0260] Figure 6 shows an example configuration of one embodiment of a video distribution system to which this technology is applied.
[0261] The video distribution system shown in Figure 6 includes a camera 11, a transcoder 12, and a client 13.
[0262] Camera 11 captures the video to be distributed and transmits the obtained video to the transcoder 12. For example, the video is transmitted (distributed) from camera 11 to the transcoder 12 in the format shown in Figure 4.
[0263] The transcoder 12 verifies the video received from the camera 11, transcodes the received video, and transmits the transcoded video to the client 13. For example, the video is transmitted (distributed) from the transcoder 12 to the client 13 in the format shown in Figure 5.
[0264] Client 13 receives video from transcoder 12, verifies the received video, and displays or records the received video.
[0265] <Example camera configuration> Figure 7 shows an example of the configuration of camera 11.
[0266] Camera 11 is a device such as a camera with a shooting function, and has a shooting unit 41, a certificate generation unit 42, a signature generation unit 43, and an output unit 44.
[0267] The imaging unit 41 consists of, for example, an image sensor, and photographs a predetermined subject, supplying the resulting video (a series of still images) to the certificate generation unit 42, the signature generation unit 43, and the output unit 44.
[0268] The certificate generation unit 42 generates a public key certificate for each time block obtained by dividing the video supplied from the shooting unit 41 and supplies it to the output unit 44, and also supplies various information (data) necessary for signature generation to the signature generation unit 43.
[0269] The signature generation unit 43 generates a signature for the video based on the video supplied from the shooting unit 41 and the information supplied from the certificate generation unit 42, and supplies it to the output unit 44.
[0270] The output unit 44 outputs (transmits) the public key certificate supplied from the certificate generation unit 42, the video supplied from the imaging unit 41, and the signature supplied from the signature generation unit 43 to the transcoder 12.
[0271] <Explanation of video output processing> Next, we will explain the operation of camera 11. Specifically, we will explain the video output processing performed by camera 11 by referring to the flowchart in Figure 8 below.
[0272] In step S11, the shooting unit 41 photographs the subject and sequentially supplies the resulting video frames Frame[j][i] to the certificate generation unit 42, the signature generation unit 43, and the output unit 44.
[0273] In step S12, the certificate generation unit 42 generates a signature Sig[j] for each time block based on the video frame[j][i] supplied from the imaging unit 41.
[0274] In other words, the certificate generation unit 42 divides the video supplied from the shooting unit 41 into time blocks and assigns a session-id[j] to each time block.
[0275] Furthermore, the certificate generation unit 42 securely stores the camera 11's private key K, which is stored in the camera 11's recording unit (not shown). dev_pri and public key K dev_pub Read out the public key K. dev_pub The private key K may be pre-recorded or generated by the certificate generation unit 42. dev_pri It may also be derived using the above equation (3) based on the above.
[0276] Furthermore, the certificate generation unit 42 generates a random number to obtain the secret key K for the video frame Frame[j][i]. trans_pri It generates the private key K trans_pri Based on this, perform the same calculation as in equation (3) above to obtain the public key K trans_pub Derive (generate) the following.
[0277] Then the certificate generation unit 42 generates the public key K according to formula (25). dev_pub , session-id[j], and public key K trans_pub The data is concatenated to generate the signature target data c[j] for each time block.
[0278] Furthermore, the certificate generation unit 42 uses the data to be signed c[j] and the private key K in formula (25). dev_pri Based on this, equation (26) is calculated to generate a signature Sig[j] for each time block.
[0279] In step S13, the certificate generation unit 42 generates a public key certificate Certificate[j] which includes the time block signature Sig[j] obtained in step S12.
[0280] In other words, the certificate generation unit 42 generates a public key certificate Certificate[j] for each time block by concatenating the data to be signed c[j] obtained by equation (25) with the signature Sig[j], as shown in equation (27).
[0281] The certificate generation unit 42 uses the public key certificate Certificate[j] obtained in this way and the private key K trans_pri The two are connected as shown in equation (28) and supplied to the output unit 44.
[0282] Furthermore, the certificate generation unit 42 generates the private key K required for the signature [j][i] of each video frame Frame[j][i]. dev_pri The data to be signed, c[j], is supplied to the signature generation unit 43.
[0283] In step S14, the signature generation unit 43 receives the video frame Frame[j][i] supplied from the imaging unit 41 and the private key K supplied from the certificate generation unit 42. dev_pri Based on the data to be signed c[j] and the video frame Frame[j][i], a signature [Signature[j][i] is generated for each video frame Frame[j][i].
[0284] For example, the signature generation unit 43 counts the number of frames from the beginning of the video supplied from the shooting unit 41, generates frame position information t[i] for each frame Frame[j][i], and calculates the message m[j][i] by calculating equation (29).
[0285] In other words, the signature generation unit 43 calculates the message m[j][i] for the frame Frame[j][i] by calculating the hash value of the data obtained by concatenating the frame Frame[j][i], the data to be signed c[j] in equation (25), and the frame position information t[i] based on the hash function SHA256.
[0286] Furthermore, the signature generation unit 43 uses the message m[j][i] obtained by the calculation of equation (29) and the private key K dev_pri Based on this, the above equation (30) is calculated to generate a signature [j][i] for each video frame Frame[j][i] and supply it to the output unit 44.
[0287] In step S15, the output unit 44 outputs the video supplied from the shooting unit 41 to the transcoder 12 via a wired or wireless network or cable, and the video output processing is completed.
[0288] In other words, as shown in Figure 4, for example, the output unit 44 receives the public key certificate Certificate[j] and private key K supplied from the certificate generation unit 42 at the beginning of the time block. trans_pri The output unit 44 outputs, for each frame of the video, the video frame Frame[j][i] supplied from the shooting unit 41 and the signature Signature[j][i] supplied from the signature generation unit 43.
[0289] As described above, camera 11 generates a signature Sig[j] containing session-id[j] for each time block, and also generates a signature Signature[j][i] containing session-id[j], frame position information t[i], and frame Frame[j][i] for each frame Frame[j][i].
[0290] This method not only guarantees the authenticity of the video footage and enables tracking of the original video footage downstream of camera 11, but also reduces the amount of processing required for verification.
[0291] <Example of transcoder configuration> Next, we will explain the configuration and operation of the transcoder 12 shown in Figure 6.
[0292] Figure 9 shows an example of the configuration of the transcoder 12.
[0293] The transcoder 12 consists of, for example, an information processing device such as a computer having a transcoding function, and includes an acquisition unit 71, a verification unit 72, a conversion unit 73, a certificate generation unit 74, a signature generation unit 75, and an output unit 76.
[0294] The acquisition unit 71 receives the public key certificate Certificate[j] and private key K output from the output unit 44 of the camera 11. trans_pri The system acquires (receives) the video frame Frame[j][i] and the signature Signature[j][i], and supplies them to the verification unit 72.
[0295] The verification unit 72 verifies the public key certificate Certificate[j] and signature Signature[j][i] supplied from the acquisition unit 71, and supplies the video frame Frame[j][i] to the conversion unit 73 according to the verification result. The verification unit 72 also verifies the public key certificate Certificate[j] and the private key K trans_pri The public key certificate Certificate[j] is supplied to the certificate generation unit 74, and the signature generation unit 75 is supplied with the public key certificate Certificate[j].
[0296] The verification unit 72 includes a certificate verification unit 81 that verifies the public key certificate Certificate[j] and a signature verification unit 82 that verifies the signature Signature[j][i].
[0297] The conversion unit 73 converts the video frame Frame[j][i] to the video frame Frame'[j][i] by transcoding the video frame Frame[j][i] supplied by the verification unit 72. Since the conversion unit 73 performs transcoding that does not change the timecode, the session-id[j] and frame position information t[i] do not change (are the same) between the video frame Frame[j][i] and the video frame Frame'[j][i].
[0298] The conversion unit 73 supplies the video frame Frame'[j][i] obtained by transcoding to the certificate generation unit 74, the signature generation unit 75, and the output unit 76.
[0299] The certificate generation unit 74 receives the public key certificate Certificate[j] and the private key K supplied by the verification unit 72. trans_pri Based on the video frame Frame'[j][i] supplied from the conversion unit 73, a public key certificate Certificate'[j] for each time block is generated and supplied to the output unit 76.
[0300] Furthermore, the certificate generation unit 74 supplies the signature generation unit 75 with various information (data) necessary for generating the signature 'Signature'[j][i].
[0301] The signature generation unit 75 generates a signature 'Signature'[j][i] for each video frame 'Frame'[j][i] based on the public key certificate 'Certificate[j]' supplied by the verification unit 72, the video frame 'Frame'[j][i]' supplied by the conversion unit 73, and the information supplied by the certificate generation unit 74, and supplies it to the output unit 76.
[0302] The output unit 76 outputs (sends) the public key certificate 'Certificate'[j] supplied from the certificate generation unit 74, the video frame 'Frame'[j][i] supplied from the conversion unit 73, and the signature 'Signature'[j][i] supplied from the signature generation unit 75 to the client 13.
[0303] <Explanation of the verification process> When video or other data is transmitted from the camera 11, the transcoder 12 begins the verification process. The verification process by the transcoder 12 will be explained below with reference to the flowchart in Figure 10.
[0304] In step S41, the acquisition unit 71 receives the public key certificate Certificate[j] and the private key K transmitted from the camera 11. trans_pri The system acquires (receives) the video frame Frame[j][i] and the signature Signature[j][i], and supplies them to the verification unit 72.
[0305] In step S42, the certificate verification unit 81 verifies the public key certificate Certificate[j] for each time block supplied by the acquisition unit 71.
[0306] For example, the certificate verification unit 81 extracts the public key K from the public key certificate Certificate[j]. dev_pub , session-id[j], and public key K trans_pub Extract the data to be signed, c[j], and the signature, Sig[j], which consist of the following.
[0307] The certificate verification unit 81 then receives the extracted signature target data c[j] and the public key K. dev_pub The public key certificate Certificate[j] for each time block, i.e., the signature Sig[j], is verified by performing the operation of equation (32) described above based on the signature Sig[j].
[0308] In step S43, the signature verification unit 82 verifies the signatures for each video frame Frame[j][i] supplied by the acquisition unit 71.
[0309] In other words, the signature verification unit 82 generates frame position information t[i] for each frame Frame[j][i] by counting the number of frames from the beginning of the received video.
[0310] Furthermore, the signature verification unit 82 calculates the message m[j][i] using the above-described equation (29) based on the data obtained by concatenating the frame Frame[j][i], the signature target data c[j] extracted by the certificate verification unit 81, and the frame position information t[i], and the hash function SHA256.
[0311] Then, the signature verification unit 82 receives the message m[j][i] and the public key K extracted by the certificate verification unit 81. dev_pub Based on the signature [j][i], the signature [j][i] is verified using the above-described formula (33). This verifies the authenticity of each video frame [j][i] on a frame-by-frame basis. In particular, this example can detect frame extraction, reordering, and tampering with video created by splicing together multiple different videos.
[0312] The verification unit 72 verifies the public key certificate Certificate[j] and signature Signature[j][i], and once their authenticity is confirmed, it supplies the video frame Frame[j][i] to the conversion unit 73.
[0313] Furthermore, the verification unit 72 verifies the public key certificate Certificate[j] and the private key K trans_pri The public key certificate Certificate[j] is supplied to the certificate generation unit 74, and the signature generation unit 75 is supplied with the public key certificate Certificate[j], and the verification process is completed.
[0314] As described above, the transcoder 12 verifies the public key certificate Certificate[j] and signature Signature[j][i] of the video received from the camera 11. In this way, it is possible to detect tampering with the video.
[0315] <Explanation of video output processing> Furthermore, once the public key certificate Certificate[j] and signature Signature[j][i] are verified, the transcoder 12 will then, at any time, begin the video output process, which involves transcoding and outputting the video. The video output process by the transcoder 12 will be explained below with reference to the flowchart in Figure 11.
[0316] In step S71, the conversion unit 73 transcodes the video frame Frame[j][i] supplied from the verification unit 72, and supplies the resulting video frame Frame'[j][i] to the certificate generation unit 74, the signature generation unit 75, and the output unit 76.
[0317] In step S72, the certificate generation unit 74 receives the public key certificate Certificate[j] and the private key K supplied by the verification unit 72. trans_pri Based on the video frame 'Frame'[j][i] supplied from the conversion unit 73, a signature is generated for each time block.
[0318] In other words, the certificate generation unit 74 securely stores the private key K of the transcoder 12, which is stored in a recording unit (not shown) of the transcoder 12. transcoder_pri and public key K transcoder_pub Read out the public key K. transcoder_pub The private key K may be pre-recorded or generated by the certificate generation unit 74. transcoder_pri It may also be derived by the same operation as in equation (3) above.
[0319] Furthermore, the certificate generation unit 74 generates a random number to determine the secret key K' for the video frame Frame'[j][i]. trans_pri Generates the secret key K' trans_pri Based on this, perform the same calculation as in equation (3) above to obtain the public key K'. trans_pub Derive (generate) the following.
[0320] Then the certificate generation unit 74 generates the public key certificate Certificate[j] and the public key K using formula (34). transcoder_pub And, public key K' trans_pub The two are concatenated to generate the data to be signed, c'[j].
[0321] The certificate generation unit 74 uses the obtained data to be signed c'[j] and the private key K transcoder_pri Based on this, the above equation (35) is used to generate a time-block signature Sig1'[j] for the public key certificate Certificate[j].
[0322] Furthermore, the certificate generation unit 74 uses the obtained data to be signed c'[j] and the private key K trans_pri Based on this, the above equation (36) is used to generate a time block signature Sig2'[j] for the public key certificate Certificate[j].
[0323] Once the signature Sig2'[j] is generated, the certificate generation unit 74 then generates the private key K trans_pri The public key certificate 'Certificate[j]' generated by transcoder 12 contains the private key K trans_pri It is not stored. This makes it possible to detect tampering with the public key certificate Certificate[j].
[0324] In step S73, the certificate generation unit 74 generates a public key certificate Certificate'[j] based on the data to be signed c'[j], signature Sig1'[j], and signature Sig2'[j] generated in step S72.
[0325] For example, the certificate generation unit 74 generates a public key certificate Certificate'[j] for each time block by concatenating the data to be signed c'[j], the signature Sig1'[j], and the signature Sig2'[j] using the above formula (37).
[0326] Furthermore, the certificate generation unit 74 generates the public key certificate Certificate'[j] and the private key K' using formula (38). trans_pri These are concatenated to form data to be added to the beginning of the time block and supplied to the output unit 76.
[0327] Furthermore, the certificate generation unit 74 generates the private key K required for generating the signature 'Signature'[j][i]. transcoder_pri , public key K transcoder_pub , and public key K' trans_pub This is supplied to the signature generation unit 75.
[0328] In step S74, the signature generation unit 75 generates a signature 'Signature'[j][i] for each video frame 'Frame'[j][i] and supplies it to the output unit 76.
[0329] For example, the signature generation unit 75 extracts session-id[j] from the public key certificate Certificate[j] of each time block supplied by the verification unit 72.
[0330] Furthermore, the signature generation unit 75 generates frame position information t[i] for each frame Frame'[j][i] by counting the number of frames from the beginning of the video supplied by the conversion unit 73.
[0331] The signature generation unit 75 then receives the public key K supplied from the certificate generation unit 74 according to the above formula (39). transcoder_pub The session-id[j] and the public key K' supplied by the certificate generation unit 74. trans_pub The data to be signed, c'[j], is generated by concatenating the two.
[0332] Furthermore, the signature generation unit 75 calculates the hash value of the data obtained by concatenating the frame Frame'[j][i], the data to be signed c'[j] obtained by equation (39), and the frame position information t[i] based on the hash function SHA256 using equation (40), and obtains the message m'[j][i].
[0333] The signature generation unit 75 processes the obtained message m'[j][i] and the private key K supplied by the certificate generation unit 74. transcoder_pri Based on this, the above equation (41) is used to generate a signature 'Signature'[j][i] for each video frame 'Frame'[j][i] and supply it to the output unit 76.
[0334] In step S75, the output unit 76 outputs the video supplied from the conversion unit 73 to the client 13 via a wired or wireless network or cable, and the video output process is completed.
[0335] In other words, as shown in Figure 5, for example, the output unit 76 receives the public key certificate Certificate'[j] and private key K' supplied from the certificate generation unit 74 at the beginning of the time block. trans_pri The output unit 76 outputs the video frame 'Frame'[j][i] supplied from the conversion unit 73 and the signature 'Signature'[j][i] supplied from the signature generation unit 75 for each video frame.
[0336] As described above, the transcoder 12 generates a public key certificate Certificate'[j] containing the original public key certificate Certificate[j] for each time block, and also generates a signature Signature'[j][i] for each video frame Frame'[j][i].
[0337] This method not only guarantees the authenticity of the transcoded video, but also guarantees the authenticity of the video before transcoding, i.e., allows for tracing the original video, and reduces the amount of processing required for verification.
[0338] <Example of client structure> Next, we will explain the configuration and operation of client 13 shown in Figure 6.
[0339] Figure 12 shows an example configuration of client 13.
[0340] Client 13 consists of an information processing device such as a computer, and has an acquisition unit 111 and a verification unit 112.
[0341] The acquisition unit 111 receives the public key certificate Certificate'[j] and private key K' output (transmitted) from the output unit 76 of the transcoder 12. trans_pri The system acquires (receives) the video frame 'Frame[j][i]' and the signature 'Signature'[j][i] and supplies them to the verification unit 112.
[0342] The verification unit 112 verifies the public key certificate Certificate'[j] and signature Signature'[j][i] supplied by the acquisition unit 111.
[0343] The verification unit 112 includes a certificate verification unit 121 that verifies the public key certificate Certificate'[j] and a signature verification unit 122 that verifies the signature Signature'[j][i].
[0344] <Explanation of the verification process> When client 13 receives video or other data from transcoder 12, it begins the verification process. The verification process by client 13 will be explained below with reference to the flowchart in Figure 13.
[0345] In step S101, the acquisition unit 111 receives the public key certificate Certificate'[j] and private key K' transmitted from the transcoder 12. trans_pri The system acquires (receives) the video frame 'Frame[j][i]' and the signature 'Signature'[j][i] and supplies them to the verification unit 112.
[0346] In step S102, the certificate verification unit 121 verifies the public key certificate 'Certificate[j]' for each time block, which is supplied from the acquisition unit 111.
[0347] That is, for example, the certificate verification unit 121 verifies the public key certificate Certificate[j] and the public key K transcoder_pub , public key K' trans_pub The signature Sig1'[j] and signature Sig2'[j] are extracted. The certificate verification unit 121 also extracts the data to be signed c[j], i.e., the public key K, from the public key certificate Certificate[j]. dev_pub , session-id[j], and public key K trans_pub Extract the signature Sig[j].
[0348] The certificate verification unit 121 receives the data to be signed c[j] and the public key K. dev_pub Based on the signature Sig[j], the signature Sig[j] for each time block is verified by performing the operation of equation (32) described above. Next, the certificate verification unit 121 verifies the public key certificate Certificate[j] and the public key K using equation (34) described above. transcoder_pub , and public key K' trans_pub The data is concatenated to generate the data to be signed, c'[j].
[0349] Then the certificate verification unit 121 receives the generated signed data c'[j] and the public key K. transcoder_pub The signature Sig1'[j] for each time block is verified by performing the operation of equation (43) above based on the signature Sig1'[j].
[0350] Similarly, the certificate verification unit 121 receives the generated signed data c'[j] and the public key K. trans_pub The signature Sig2'[j] for each time block is verified by performing the operation of equation (44) above based on the signature Sig2'[j].
[0351] The verification of these signatures, Sig1'[j] and Sig2'[j], verifies the authenticity of the public key certificates Certificate[j] and Certificate'[j], and also verifies the relationship between the public key certificates Certificate[j] and Certificate'[j], that is, the relationship between the video before and after transcoding.
[0352] Also, public key K dev_pub From this, the camera 11, which is the source of the original video frame Frame[j][i], is identified, and the public key K transcoder_pub From this, the transcoder 12, which is the source of the transcoded video frame Frame'[j][i], is also identified.
[0353] In step S103, the signature verification unit 122 verifies the signature 'Signature'[j][i] for each video frame 'Frame'[j][i] supplied by the acquisition unit 111.
[0354] In other words, the signature verification unit 122 generates frame position information t[i] for each frame Frame'[j][i] by counting the number of frames from the beginning of the video supplied by the acquisition unit 111.
[0355] Furthermore, the signature verification unit 122 uses the above formula (39) to determine the public key K extracted by the certificate verification unit 121. transcoder_pub and session-id[j] and public key K' trans_pub The two are concatenated to generate the data to be signed, c'[j].
[0356] The signature verification unit 122 calculates the message m'[j][i] by concatenating the frame Frame'[j][i], the data to be signed c'[j] obtained by equation (39), and the frame position information t[i] based on the hash function SHA256 using the above-described equation (40), and then obtaining the hash value of the data obtained.
[0357] Furthermore, the signature verification unit 122 uses the message m'[j][i] obtained by equation (40) and the public key Ktranscoder_pub The signature 'Signature'[j][i] is verified by performing the operation in equation (45) described above based on the signature 'Signature'[j][i]. This verifies the authenticity of each video frame 'Frame'[j][i] on a frame-by-frame basis.
[0358] Once the signature 'Signature'[j][i] has been verified, the verification process ends.
[0359] In this manner, client 13 verifies the public key certificate 'Certificate'[j] and signature 'Signature'[j][i] of the video received from transcoder 12.
[0360] By doing so, it is possible to verify the authenticity of the transcoded video, as well as the authenticity of the video before transcoding, i.e., to trace the original video, and the amount of processing required for verification can also be reduced.
[0361] <Example of computer configuration> Incidentally, the series of processes described above can be executed by hardware or by software. When the series of processes are executed by software, the programs that make up that software are installed on a computer. Here, a computer includes computers built into dedicated hardware, as well as general-purpose personal computers that can perform various functions by installing various programs.
[0362] Figure 14 is a block diagram showing an example of a computer hardware configuration in which the series of processes described above are executed by a program.
[0363] In a computer, the CPU (Central Processing Unit) 501, ROM (Read Only Memory) 502, and RAM (Random Access Memory) 503 are interconnected by a bus 504.
[0364] An input / output interface 505 is further connected to the bus 504. An input unit 506, an output unit 507, a recording unit 508, a communication unit 509, and a drive 510 are connected to the input / output interface 505.
[0365] The input unit 506 consists of a keyboard, mouse, microphone, image sensor, etc. The output unit 507 consists of a display, speaker, etc. The recording unit 508 consists of a hard disk, non-volatile memory, etc. The communication unit 509 consists of a network interface, etc. The drive 510 drives a removable recording medium 511 such as a magnetic disk, optical disk, magneto-optical disk, or semiconductor memory.
[0366] In a computer configured as described above, the CPU 501 loads, for example, a program stored in the recording unit 508 into the RAM 503 via the input / output interface 505 and the bus 504, and executes it, thereby performing the series of processes described above.
[0367] The program executed by the computer (CPU 501) can be provided by recording it on a removable recording medium 511, such as a packaged media. The program can also be provided via wired or wireless transmission media, such as a local area network, the internet, or digital satellite broadcasting.
[0368] In a computer, a program can be installed in the recording unit 508 via the input / output interface 505 by inserting the removable recording medium 511 into the drive 510. Alternatively, the program can be received by the communication unit 509 via a wired or wireless transmission medium and installed in the recording unit 508. Furthermore, the program can be pre-installed in the ROM 502 or the recording unit 508.
[0369] The programs executed by the computer may be programs that are processed chronologically in the order described herein, or they may be programs that are processed in parallel or at necessary times, such as when a call is made.
[0370] Furthermore, the embodiments of this technology are not limited to those described above, and various modifications are possible without departing from the spirit of this technology.
[0371] For example, this technology can be configured as cloud computing, where a single function is shared and processed collaboratively by multiple devices via a network.
[0372] Furthermore, each step described in the flowchart above can be performed by a single device, or it can be divided and performed by multiple devices.
[0373] Furthermore, if a single step includes multiple processes, those processes can be executed by a single device or shared among multiple devices.
[0374] Furthermore, this technology can also be configured as follows:
[0375] (1) A signature generation unit that generates a first signature for each frame based on identification information assigned to a time block consisting of multiple frames of video, the frames of the video, and a first secret key of a public-key cryptography scheme, A certificate generation unit that generates a certificate containing the aforementioned identification information, An output unit that outputs the certificate, the video, and the first signature. An information processing device equipped with the following features. (2) The signature generation unit generates the first signature based on the first public key corresponding to the first private key, the identification information, the frame, and the first private key. (1) The information processing device described above. (3) The signature generation unit generates the first signature based on location information indicating the position of the frame in the video, the identification information, the frame, and the first secret key. The information processing device described in (1) or (2). (4) The signature generation unit generates the first signature based on the second public key corresponding to the second private key of the public-key cryptography scheme generated for the video, the first public key, the identification information, the frame, and the first private key. The certificate generation unit generates the certificate including the identification information and the second public key, The output unit outputs the certificate, the second private key, the video, and the first signature. (2) The information processing device described above. (5) The certificate generation unit generates the certificate for each time block. (4) The information processing device described above. (6) The certificate generation unit, Based on the first public key, the second public key, and the first private key, a second signature for each time block is generated. Generate the certificate which includes the second signature, the identification information, and the second public key. (5) The information processing device described above. (7) If the aforementioned video is generated by transcoding the original video, The certificate generation unit, A second signature is generated based on the certificate of the original video containing the identification information, the first public key, the second public key, and the first private key. A third signature is generated based on the certificate of the original video, the first public key, the second public key, and the second private key of the original video. Generate the certificate including the original video certificate, the second signature, the third signature, and the second public key. (6) The information processing device described above. (8) Information processing device, Based on the identification information assigned to a time block consisting of multiple frames of video, the frame of the video, and the private key of a public-key cryptography scheme, a signature is generated for each frame. A certificate containing the aforementioned identification information is generated, Output the aforementioned certificate, the aforementioned video, and the aforementioned signature. Information processing methods. (9) Based on the identification information assigned to a time block consisting of multiple frames of video, the frame of the video, and the private key of a public-key cryptography scheme, a signature is generated for each frame. A certificate containing the aforementioned identification information is generated, Output the aforementioned certificate, the aforementioned video, and the aforementioned signature. A program that causes a computer to execute a process that includes steps. (10) An acquisition unit that acquires a certificate for each time block, which includes identification information assigned to a time block consisting of multiple frames of video, the video, the identification information, the frames of the video, a first public key corresponding to a first private key of a public-key cryptography scheme, and a first signature for each frame generated based on the first private key. A signature verification unit that verifies the first signature based on the certificate, the video, and the first public key. An information processing device equipped with the following features. (11) The first signature is generated based on location information indicating the position of the frame in the video, the identification information, the frame of the video, the first public key, and the first private key. (10) The information processing device described above. (12) The first signature is generated based on the second public key corresponding to the second private key of the public-key cryptography scheme generated for the video, the identification information, the frame of the video, the first public key, and the first private key. The aforementioned certificate includes the aforementioned identification information and the aforementioned second public key, The acquisition unit acquires the certificate, the second private key, the video, and the first signature. The information processing device described in (10) or (11). (13) The certificate includes the first public key, the second public key, and a second signature generated based on the first private key. The system further comprises a certificate verification unit that verifies the second signature based on the first public key and the second public key. (12) The information processing device described above. (14) If the aforementioned video is generated by transcoding the original video, The aforementioned certificate includes: The certificate of the original video, which includes the identification information and the second public key of the original video, The aforementioned second public key, The certificate of the original video, the first public key, the second public key, and the second signature generated based on the first private key, A third signature generated based on the certificate of the original video, the first public key, the second public key, and the second private key of the original video. It includes, The certificate verification unit verifies the third signature based on the certificate of the original video, the first public key, and the second public key. (13) The information processing device described above. (15) Information processing device, Obtain a certificate for each time block, which includes identification information assigned to a time block consisting of multiple frames of video, the video, the identification information, the frames of the video, a public key corresponding to the private key of a public-key cryptography scheme, and a signature for each frame generated based on the private key. The signature is verified based on the aforementioned certificate, the aforementioned video, and the aforementioned public key. Information processing methods. (16) Obtain a certificate for each time block, which includes identification information assigned to a time block consisting of multiple frames of video, the video, the identification information, the frames of the video, a public key corresponding to the private key of a public-key cryptography scheme, and a signature for each frame generated based on the private key. The signature is verified based on the aforementioned certificate, the aforementioned video, and the aforementioned public key. A program that causes a computer to execute a process that includes steps. [Explanation of Symbols]
[0376] 11 Camera, 12 Transcoder, 13 Client, 42 Certificate Generation Unit, 43 Signature Generation Unit, 44 Output Unit, 74 Certificate Generation Unit, 75 Signature Generation Unit, 76 Output Unit, 81 Certificate Verification Unit, 82 Signature Verification Unit, 111 Acquisition Unit, 121 Certificate Verification Unit, 122 Signature Verification Unit
Claims
1. A signature generation unit that generates a first signature for each frame based on identification information assigned to a time block consisting of multiple frames of video, the frames of the video, a first private key of a public-key cryptography scheme, a second public key corresponding to a second private key of a public-key cryptography scheme generated for the video, and a first public key corresponding to the first private key, A certificate generation unit that generates a certificate including the aforementioned identification information and the second public key, An output unit that outputs the certificate, the second private key, the video, and the first signature. An information processing device equipped with the following features.
2. The signature generation unit generates the first signature based on location information indicating the position of the frame in the video, the identification information, the frame, the first private key, the second public key, and the first public key. The information processing apparatus according to claim 1.
3. The certificate generation unit generates the certificate for each time block. The information processing apparatus according to claim 1.
4. The certificate generation unit, Based on the first public key, the second public key, and the first private key, a second signature for each time block is generated. Generate the certificate including the second signature, the identification information, and the second public key. The information processing apparatus according to claim 3.
5. If the aforementioned video is generated by transcoding the original video, The certificate generation unit, A second signature is generated based on the certificate of the original video containing the identification information, the first public key, the second public key, and the first private key. A third signature is generated based on the certificate of the original video, the first public key, the second public key, and the second private key of the original video. The certificate includes the original video certificate, the second signature, the third signature, and the second public key. The information processing apparatus according to claim 4.
6. Information processing device, A signature is generated for each frame based on the identification information assigned to a time block consisting of multiple frames of video, the frames of the video, a first private key of a public-key cryptography scheme, a second public key corresponding to the second private key of a public-key cryptography scheme generated for the video, and a first public key corresponding to the first private key. A certificate is generated that includes the aforementioned identification information and the second public key. Output the certificate, the second private key, the video, and the signature. Information processing methods.
7. A signature is generated for each frame based on the identification information assigned to a time block consisting of multiple frames of video, the frames of the video, a first private key of a public-key cryptography scheme, a second public key corresponding to the second private key of a public-key cryptography scheme generated for the video, and a first public key corresponding to the first private key. A certificate is generated that includes the aforementioned identification information and the second public key. Output the certificate, the second private key, the video, and the signature. A program that causes a computer to execute a process that includes steps.
8. An acquisition unit that acquires a certificate for each time block, which includes identification information assigned to a time block consisting of multiple frames of video and a second public key corresponding to a second private key of a public-key cryptography scheme generated for the video; the second private key; the video; the second public key; the identification information; the frames of the video; a first public key corresponding to a first private key of a public-key cryptography scheme; and a first signature for each frame generated based on the first private key. A signature verification unit that verifies the first signature based on the certificate, the video, and the first public key. An information processing device equipped with the following features.
9. The first signature is generated based on location information indicating the position of the frame in the video, the second public key, the identification information, the frame of the video, the first public key, and the first private key. The information processing apparatus according to claim 8.
10. The certificate includes the first public key, the second public key, and a second signature generated based on the first private key. The system further comprises a certificate verification unit that verifies the second signature based on the first public key and the second public key. The information processing apparatus according to claim 8.
11. If the aforementioned video is generated by transcoding the original video, The aforementioned certificate includes: The certificate of the original video, which includes the identification information and the second public key of the original video, The aforementioned second public key, The certificate of the original video, the first public key, the second public key, and the second signature generated based on the first private key, A third signature generated based on the certificate of the original video, the first public key, the second public key, and the second private key of the original video. It includes, The certificate verification unit verifies the third signature based on the certificate of the original video, the first public key, and the second public key. The information processing apparatus according to claim 10.
12. Information processing device, Obtain a certificate for each time block, which includes identification information assigned to a time block consisting of multiple frames of video and a second public key corresponding to a second private key of a public-key cryptography scheme generated for the video; obtain the second private key; the video; the second public key; the identification information; the frames of the video; a first public key corresponding to a first private key of a public-key cryptography scheme; and a signature for each frame generated based on the first private key. The signature is verified based on the aforementioned certificate, the aforementioned video, and the aforementioned first public key. Information processing methods.
13. Obtain a certificate for each time block, which includes identification information assigned to a time block consisting of multiple frames of video and a second public key corresponding to a second private key of a public-key cryptography scheme generated for the video; obtain the second private key; the video; the second public key; the identification information; the frames of the video; a first public key corresponding to a first private key of a public-key cryptography scheme; and a signature for each frame generated based on the first private key. The signature is verified based on the aforementioned certificate, the aforementioned video, and the aforementioned first public key. A program that causes a computer to execute a process that includes steps.
Citation Information
Patent Citations
Electronic watermark embedding system of contents authentication data, and authentication system
JP2005318068A
Image management system
JP2015088855A
Signature generation system, signature generation device and signature generation method
JP2017041841A
Signature data generation device and image verification device
JP4261724B2
Moving image encoding device, moving image encoding method, moving image falsification determination method, and moving image falsification determination program
WO2021015169A1