Methods and devices for compressing signed media data
The method reduces overhead in media bitstreams by pruning iterative data units while preserving signature units for verification, ensuring secure and efficient storage and transmission.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- AXIS
- Filing Date
- 2022-12-23
- Publication Date
- 2026-07-03
AI Technical Summary
Existing media bitstreams face inefficiencies due to unnecessary overhead from repetitive metadata and data units, consuming storage and communication resources without ensuring data security.
A method for reducing overhead in media bitstreams by pruning iterative data units while maintaining signature units that allow verification, ensuring data integrity and security without re-signing, using fingerprint-derived signatures and optional pruning logs.
Reduces storage and communication overhead while maintaining data security and integrity, allowing secure transmission and storage of media segments without compromising authenticity verification.
Smart Images

Figure 0007884449000002 
Figure 0007884449000003 
Figure 0007884449000004
Abstract
Description
[Technical Field]
[0001] This disclosure relates to the field of security arrangements for protecting data from unauthorized activity. This disclosure proposes methods and devices for storing and validating signed media data, and in particular video data, with reduced use of storage space and / or transmission capacity. [Background technology]
[0002] Audio bitstreams, video bitstreams, or other media bitstreams may be associated with various types of metadata. Metadata may include documentation indicating the time, place, content type, and other conditions of its collection; it may also include settings to assist in playback of the media bitstream, information about the media coding format used, or other indications of potential interest to the media bitstream's recipient. It is customary to make metadata available to recipients by periodically inserting data units containing metadata into the media bitstream. Due to the open-ended nature of media bitstreams, it is difficult for recipients to predict whether they will consume short or long segments of the bitstream (e.g., play, send, or save copies of segments), and where those segments will be temporally positioned within the bitstream. This leads media bitstream creators to insert data units containing metadata at relatively short intervals, even though the metadata contained within the data units does not change during that time. The inserted data units represent overhead that unnecessarily consume storage and communication resources.
[0003] In addition to metadata, similar problems arise with any type of repeating data unit that a bitstream recipient needs to access only once—so-called only-needed-once information. [Overview of the Initiative]
[0004] One objective of this disclosure is to make available methods and devices for reducing overhead in signed media bitstreams that include iterative data units in addition to general data units and signature units. This objective may particularly include reducing overhead in distinct segments of the media bitstream. This objective may further include performing overhead reduction without significantly compromising the data security of the initially signed media bitstream. A further objective of this disclosure is to enable overhead reduction without re-signing the media bitstream, i.e., without requiring the media bitstream to gain access to the cryptographic facility in which it was initially signed. Another further objective is to make available methods and devices for verifying a media bitstream that has undergone overhead reduction in the proposed manner.
[0005] At least some of these objectives are achieved by the present invention as defined in the independent claims.
[0006] In a first aspect of the present invention, data units I, O, P and signature unit S kA method is provided for storing a signed media bitstream composed of such a media bitstream, wherein the signature units relate to one or more nearby data units. “Storing” as used in this disclosure may relate to persistent, long-term, and short-term storage, as well as ephemeral storage, such as preparing a digital data file suitable for transmission over a communication network. The signature units enable a recipient of the media bitstream to verify the media bitstream, i.e., verify with reasonable confidence that the signature units have not been altered, and to confirm that the data units match the signature units. For this purpose, each signature unit may include at least one fingerprint derived from the associated data units and a digital signature of at least one fingerprint. Matching of data units with signature units may include an independent fingerprint calculation at the recipient side resulting in a fingerprint equivalent to the fingerprint in the signature unit. The method according to the first aspect includes receiving a segment of a media bitstream, identifying N≧2 instances of iterative data unit O in the received segment, pruning up to N-1 instances of the identified iterative data unit, and storing the received segment after pruning.
[0007] Since some of the iterative data units are removed, the size of the stored segment of the media bitstream becomes smaller than the size of the received segment, which conserves memory and communication resources. Furthermore, since at least one iterative unit remains in the stored segment, the receiver's access to the metadata is guaranteed. In addition, the inventors have realized that a procedure can be designed that allows the receiver to validate the stored segment of the media bitstream with a security level comparable to that of the receiver being able to validate the received segment. This allows the stored segment to be placed in insecure memory or shared over an insecure communication channel without introducing new uncertainty regarding its authenticity or completeness, as long as validation is successful on the receiver's side.
[0008] In a second aspect of the present invention, data units I, O, P and signature unit S k A method is provided for verifying a segment of a signed media bitstream, wherein the signature unit is associated with one or more nearby data units. Each signature unit includes, at a minimum, at least one fingerprint derived from the associated data unit and at least one digital signature of the fingerprint. The method includes receiving a stored segment of the media bitstream and verifying the signature unit using one or more digital signatures contained therein. The received associated data unit is then verified either directly or indirectly, which may be taken as confirmation of the authenticity and / or integrity of the stored segment.
[0009] In one embodiment, at least one of the signature units includes a fingerprint of all associated data units, a digital signature of the fingerprint, and a minor digital signature that is independent of the fingerprint of the pruningable data units. In this embodiment, the method includes receiving a stored segment of a media bitstream, verifying the signature unit using the minor digital signature, and verifying the received associated data units with respect to the fingerprint in the verified signature unit.
[0010] In another embodiment, at least one of the signature units is a fingerprint of all associated data units. of Fingerprints and fingerprints that do not depend on the fingerprints of the associated data units that can be pruned. of A minor fingerprint (it is recalled that the signing unit is typically prepared based on the original media bitstream before instances of iterative data units are pruned), and a fingerprint of Fingerprint, and fingerprint of The verification method includes receiving a stored segment of the media bitstream, verifying the signature unit using the digital signature, calculating the fingerprint of the received associated data unit, calculating the fingerprint of the calculated fingerprint unit, and the fingerprint of The calculated fingerprint, fingerprint of This includes verifying small fingerprints.
[0011] In another embodiment, at least one of the signing units includes at least one fingerprint of an associated data unit and a digital signature of at least one fingerprint. The method in this case includes receiving a stored segment of a media bitstream, receiving a pruning log for the stored segment, wherein the pruning log indicates the location in the bitstream of a pruned instance of an iterative data unit O, verifying the signing unit using the digital signature, and verifying the received associated data unit with respect to the signing unit, while ignoring the fingerprint of any absent data unit indicated by the pruning log.
[0012] Further developments of this embodiment, as will be described below, involve the fact that the at least one fingerprint in the signature unit is the fingerprint of all associated data units. of Address the case of fingerprints.
[0013] In another embodiment, at least two of the signature units include fingerprints of all associated data units and a digital signature of at least one fingerprint. The method then appropriately includes receiving a stored segment of a media bitstream, verifying the signature units using their respective digital signatures, locating an instance of an iterative data unit O associated with a first of the signature units, and verifying the received data units associated with a second of the signature units with respect to the fingerprints therein, while ignoring any fingerprints that match the fingerprint of the located instance of the iterative data unit. Optionally, this embodiment also includes the step of verifying the received data units associated with a first of the signature units with respect to the fingerprints therein.
[0014] In another embodiment, at least one of the signature units is a fingerprint of all associated data units. of Fingerprints and fingerprints of Fingerprint, and fingerprint of This includes a small fingerprint and a digital signature. Furthermore, the media bitstream follows a format in which the position of the iterative data unit O is fixed (i.e., reproducible on the receiver side). To address this use case, the method involves receiving a stored segment of the media bitstream, verifying the signature unit using a digital signature, calculating the fingerprint of the received associated data unit, calculating the fingerprint of the iterative data unit, the instance not associated with the signature unit, restoring the fingerprint according to the fixed position, and the calculated fingerprint of Calculating fingerprints and fingerprints of The calculated fingerprint is used in the fingerprints within the signature unit. of This includes verifying fingerprints.
[0015] In each of these outlined embodiments, for each configuration of the media bitstream format, it is ensured that the stored segments of the media bitstream can be verified at the recipient's end. Thus, pruning of the iterative data units O achieves overhead reduction without invalidating the usefulness of the signature. The signature-verification chain remains unchanged.
[0016] A third aspect of the present invention provides a method for generating a signed media bitstream that enables data compression with respect to the storage of segments of the media bitstream. The method includes data units I, O, P and a signature unit S associated with one or more nearby data units. kGenerate a bitstream composed of the above, and each signature unit includes at least one fingerprint derived from the associated data unit and a digital signature of the at least one fingerprint. According to a third aspect, at least one of the signature units (a) a minor signature that does not depend on the fingerprints of all associated data units and the fingerprints of prunable associated data units, and / or (b) the fingerprints of all associated data units of fingerprints, and fingerprints that do not depend on the fingerprints of prunable associated data units of minor fingerprints including. This method supports the implementation of the methods according to the first and second aspects. This method can be implemented, for example, in a video collection system.
[0017] The present invention further relates to a device configured to perform the above method and a computer program including instructions for causing a computer to perform these methods. The computer program can be stored or distributed on a data carrier. As used herein, a "data carrier" can be a temporary data carrier such as a modulated electromagnetic wave or light wave, or a non-temporary data carrier. The non-temporary data carrier includes volatile and non-volatile memories such as magnetic, optical or solid-state type permanent and non-permanent storage media. Still within the scope of "data carrier", such memories can be fixedly attached or portable.
[0018] Generally, all terms used in the claims should be construed in accordance with their ordinary meaning in the art, unless explicitly defined otherwise in this specification. All references to "an / a / the element, apparatus, component, means, step, etc." should be construed broadly to refer to at least one instance of the element, apparatus, component, means, step, etc., unless otherwise explicitly stated. None of the steps of any method described herein need to be performed in the exact order disclosed, unless explicitly stated otherwise.
[0019] Next, by way of example, embodiments and implementations will be described with reference to the accompanying drawings.
Brief Description of the Drawings
[0020] [Figure 1] A diagram showing connected entities that exchange segments of a signed media bitstream. [Figure 2] A flowchart of a method for storing a signed media bitstream. [Figure 3] A flowchart of a method for verifying segments of a signed media bitstream. [Figure 4] A sequence of video frames including signature units S1, S2, S3 and a repeating frame O at a fixed position, each of whose content is shown in the lower part of the figure, to which Embodiment 1A.1 of the present invention is applicable for storage and verification. [Figure 5] A sequence of video frames including signature units S1, S2, S3 and a repeating frame O at a fixed position, each of whose content is shown in the lower part of the figure, to which Embodiment 1A.2 of the present invention is applicable for storage and verification. [Figure 6]This figure shows a sequence of video frames, each of which is shown in the lower part of the figure, including signature units S1, S2, S3 and repeating frames O at fixed positions, wherein Embodiment 1B of the present invention is applicable thereto for storage and verification. [Figure 7] This figure shows a sequence of video frames, each of which is shown in the lower part of the figure, including signature units S1, S2, S3 and repeating frames O at arbitrary positions, wherein Embodiment 2A.1 of the present invention is applicable thereto for storage and verification, and the data structure LOG is added in storage and examined in verification. [Figure 8] This figure shows a sequence of video frames, each of which is shown in the lower part of the figure, including signature units S1, S2, S3 and repeating frames O at arbitrary positions, wherein Embodiment 2A.2 of the present invention is applicable thereto for storage and verification. [Figure 9] This figure shows a sequence of video frames, each of which is shown in the lower part of the figure, including signature units S1, S2, S3 and repeating frames O at arbitrary positions, wherein Embodiment 2B.1 of the present invention is applicable thereto for storage and verification, and the data structure LOG is added in storage and examined in verification. [Figure 10] This figure shows a sequence of video frames, each of which is shown in the lower part of the figure, including signature units S1, S2, S3 and repeating frames O at arbitrary positions, wherein Embodiment 2B.2 of the present invention is applicable thereto for storage and verification. [Modes for carrying out the invention]
[0021] Next, aspects of the present disclosure will be described more thoroughly below with reference to the accompanying drawings illustrating several embodiments of the present invention. However, these embodiments may be embodied in many different forms and should not be construed as limiting; rather, these embodiments are provided as examples so that the present disclosure may be thorough and complete and so as to convey to those skilled in the art the scope of all aspects of the present invention. Similar numbers refer to similar elements throughout the description.
[0022] Methods and devices for storing and verifying segments of media bitstreams can be valuable in a variety of different contexts and for many types of media data. Figure 1 illustrates connected entities exchanging (e.g., storing / retrieving, sending / receiving) segments of a signed media bitstream. Figure 1 illustrates one currently intended use case in which a video acquisition system 110 generates a signed video bitstream, and a first device 120 stores that signed video bitstream to make it suitable for channel 130, thereby enabling a recipient to retrieve that signed video bitstream. Channel 130 may consist of a communication network 131, portable memory 132, and / or memory 133. It is reminiscent that the act of “storing” a bitstream segment may, in some embodiments, involve temporary storage, such as preparing a digital data file suitable for transmission over the communication network 131, in addition to conventional long-term or short-term storage in memories 132, 133. The receiver is free to use a second device 140 configured to retrieve and verify stored segments of the video bitstream from channel 130, and optionally use a playback device 150 to render the video sequence. It should be noted that, in particular, in use cases of storage in memories 132 and 133, the entity performing the storage of the video bitstream may coincide with the receiver. In this case, for example, when the first device 120 and the second device 140 coincide, verification of the video bitstream segment helps to confirm that the segment has not been altered since it was placed in one of the memories 132 or 133.
[0023] The video acquisition system 110 more precisely includes a camera 111, a metadata insertion stage 112, and an encryption element 113. The camera 111 is configured to acquire the video sequence it outputs, which is represented as a video bitstream containing video data units. At least some of the video data units may correspond to each frame of the video sequence. This correspondence may require that all data specific to a single frame is contained within each video data unit. The video bitstream may further include non-frame data units, such as messages, signature units, or other data structures.
[0024] Camera 111 can be configured to apply various types of data compression, such as lossless or lossy compression, which can be optionally combined with predictive coding. Before considering the elements of predictive coding in the following paragraphs, it should be emphasized that the present invention is applicable to general media bitstreams, including video bitstreams to which predictive coding is not applied.
[0025] The ability to predict a video frame in light of past frames that show a common scene is a fundamental assumption of predictive coding. Predictive coding can be described as a data compression technique specifically adapted for video data. A segment of a predictively coded video sequence may consist of I-frames and P-frames. I-frames and P-frames should not be confused with the plaintext video frames that these data structures encode. An I-frame is a data structure with independently decodeable video data that can be decoded into a plaintext video frame (or block of video frames) by a predefined associated decoding operation. A P-frame is a data structure in which, to some extent, its associated decoding operation references not only the video data of the P-frame itself but also at least one other I-frame or P-frame. Conceptually and somewhat simply, the video data in a P-frame represents a change or movement to the video frame encoded by the preceding I-frame or P-frame. Typically, if the decoding operation is successful, the video frames decoded from the P-frame and I-frames are indistinguishable. An exemplary fragment of a video bitstream may have the appearance of IPPIPPPPIPPPIPPP. Here, each P-frame refers to the preceding I-frame or P-frame. If a leading P-frame refers to a previous P-frame, that previous P-frame must refer to at least one further I-frame or P-frame. A combination of an I-frame and a subsequent P-frame that directly or indirectly refers to that I-frame is sometimes called a picture group (GOP). In the example, the following GOPs can be identified: IPP, IPPPP, IPPP, and IPPP.
[0026] Two further developments of predictive coding can be illustrated by the second exemplary frame sequence, IBBBBBIBBPBBI, where each B-frame references its nearest I-frame or P-frame neighbor (bidirectionally), and each P-frame references its nearest preceding I-frame (unidirectionally). Thus, in addition to the forward predictive P-frame structure, bidirectional predictive B-frames can be used in predictive coding. The underlying bidirectional predictive operation may include interpolation between the referenced frames, such as smoothing. The second example, IBBBBBIBBPBBI, further demonstrates that a P-frame can reference an I-frame, P-frame, or B-frame that does not need to be immediately preceding but can be positioned two or more steps away. The fragment of the second example, IBBBBBIBBPBBI, can be characterized as a GOP because it can be decoded without reference to other I-frames, P-frames, or B-frames. Recommendation ITU-T H.264 (June 2019), "Advanced video coding for generic audiovisual services," by the International Telecommunication Union, specifies a video coding standard that uses both forward-predictive and bidirectional-predictive frames.
[0027] Although equivalent notations I and P are used in this disclosure, it should be understood that not all I-frames and P-frames are identical copies of each other. Rather, they contain independent video data that may or may not match across frames.
[0028] The metadata insertion stage 112 is configured to insert a data unit O containing metadata applicable to the entire video bitstream. As already mentioned, this metadata may include documentation indicating the time, location, and other conditions of the video bitstream collection (start or end), and may include settings that enable optimal playback, information about the video coding format used, a certificate or (public) cryptographic key to be used for verification, or other instructions for potential use to the recipient of the video bitstream. Unless any of these instructions change, the metadata is immutable, and therefore the data unit O can be considered a repeat. Thus, the recipient of the video bitstream may choose to retrieve metadata from any one of the recipient's selected data units O. In a working system, there is generally no additional benefit to be expected from reading further data units O in the video bitstream.
[0029] The cryptographic element 113 is configured to insert signature units S1, S2, and S3 into the video bitstream. In all embodiments to be described, each signature unit includes at least one fingerprint derived from an associated data unit positioned before, after, or around the signature unit, as well as a digital signature of at least one fingerprint. The collection of fingerprints may be referred to as a document. To generate the digital signature, the cryptographic element 113 may store a private key within it. The recipient may hold a public key belonging to the same key pair, which allows the recipient to verify that the signature produced by the cryptographic element 113 is authentic but not generate a new signature. In the example shown, the public key is held in the cryptographic element 143. The public key may also be included as metadata in the media bitstream, in which case the recipient does not need to store the public key. In the ITU-T H.264 format, the signature units may be included in the video bitstream as Supplemental Enhancement Information (SEI) messages. In the AV1 standard, signatures can be included in metadata open bitstream units (OBUs).
[0030] Each of the signature units S1, S2, and S3 may contain the fingerprints of all associated data units, or it may contain the fingerprints of all associated data units. ofIt may or may not contain a fingerprint. Each fingerprint may be a hash or a salted hash. A salted hash may be a hash of a combination of a data unit (or a portion of a data unit) and a cryptographic salt, the presence of which can prevent an unauthorized party with access to multiple hashes from guessing what hash function is being used. Potentially useful cryptographic salts may include the value of an active internal counter, a random number, and the time and place of the signature. The hash may be generated by a hash function (or one-way function) h, which is a cryptographic function that provides a level of security deemed sufficient in light of the confidentiality of the video data to be signed and / or in light of values that would be problematic if the video data were manipulated by an unauthorized party. Three examples are SHA-256, SHA3-512, and RSA-1024. The hash function shall be predefined so that the fingerprint can be regenerated when the recipient is to verify the fingerprint (for example, the hash function shall be reproducible).
[0031] The first device 120, in which the storage of video bitstream segments is performed according to the storage method 200 of Figure 2, can be any suitable local or distributed processing resource functionally composed of a processing circuit 121 and a memory 122. The first device can be a component of a so-called video management system, or VMS. In various embodiments, the first device 120 is configured to process live video bitstreams, offline video bitstreams, or both.
[0032] The second device 140 can be implemented as any preferred form of local or distributed processing resource functionally comprising a processing circuit 141, a memory 142, and an optional cryptographic element 143 in which a public key is placed. The second device 140 is configured to perform the verification method 300 shown in Figure 3, according to one of the embodiments which will be described below.
[0033] In overview, Table 1 indicates the applicability of embodiments of the storage method 200 and verification method 300 shown in Figures 2 and 3, respectively. In Figures 2 and 3, dotted boxes represent steps that are optional or performed only in certain embodiments. It is emphasized that the order of steps shown in Figures 2 and 3 is not necessarily meaningful. Rather, as those skilled in the art will understand, the order of some steps may be modified and / or some steps may be performed in parallel.
[0034] Embodiment 1A.1 Regarding Figure 4, a media bitstream format is considered in which data units I and P are included, and the iterative data unit O occupies a fixed position indicated by a rectangle. Because the bitstream format specifies such fixed positions, the second device 140 can determine which data units in the stored bitstream segment the first device 120 pruned, if any, instances of the iterative data unit O. Note that in Figure 4, data units I and P precede the associated signature units S1, S2, and S3, but in other embodiments, data units I and P may follow the signature units S1, S2, and S3, or data units I and P may be positioned both before and after. In Figure 4, it can be seen that each signature unit S1, S2, and S3 contains a document of the individual fingerprints (hashes) of the associated data units and further contains a signature M. The signature units can be verified on the recipient side using the signature M. Assuming the media bitstream is a video bitstream, the I data units and P data units may represent I frames and P frames, with one signature unit per GOP.
[0035] Embodiment 1A.1 of the storage method 200 includes receiving a segment of a media bitstream 210, identifying N≧2 instances of iterative data unit O in the received segment 212, pruning up to N-1 instances of the identified iterative data unit 214, and storing the received segment after pruning 216. It should be understood that the signature units S1, S2, and S3 are stored as they are, i.e., in the same state as when they were received in 210.
[0036] Step 210, receiving a segment, may include ensuring that the segment is delivered in a message sent over a local or external communication network, and the communication may be self-requested by being initiated by an entity different from the entity performing method 200. "Receiving" in the sense of step 210 may also include retrieving the segment from memory.
[0037] Step 214, which prunes a number of identified instances of an iterative data unit O, may include removing the data unit from the segment before it is stored. Step 214 may also include various indirect types of delete requests, such as adding markers (flags) to the instances indicating that they will not be stored and / or transmitted, or that they will be freely overwritten in memory once stored.
[0038] Step 216, which stores the received segment after pruning, may include instantiating or editing a file, object, database item, or another data structure. As already stated, it is not essential to the present invention to maintain the stored segment in a persistent manner, for example, in non-volatile memory. Rather, the stored segment may be a temporary file to be used for an imminent transmission or relay, which may then be discarded. It is not essential that a file representing the entire segment exists at some point; rather, network transmission of an earlier portion of the segment may begin before a later portion of the segment is created. This allows the overhead reduction method 200 to be integrated into a processing chain suitable for live streaming and similar applications.
[0039] It should be noted that Method 200 can be successfully implemented by an entity that is not permitted to generate a new digital signature, i.e., does not have access to the private key. Therefore, Method 200 can be implemented by the first device 120 in Figure 1.
[0040] Embodiment 1A.1 of the verification method 300 includes receiving a stored segment of a media bitstream 310, verifying a signature unit using its respective digital signature 314, locating an instance of an iterative data unit O associated with a first of the signature units 326, verifying the received data unit associated with the first of the signature units with respect to its fingerprint 328, and verifying the received data unit associated with a second of the signature units with respect to its fingerprint 330. In step 330, any fingerprint matching the fingerprint of the located instance of the iterative data unit is ignored. This ignoring is security-neutral because the iterative data unit O has already been verified. Ignoring also allows the verification method 300 to proceed even though some instances of the iterative data unit O have been pruned, thereby preventing the corresponding fingerprint from being paired with a data unit in the received segment of the media bitstream.
[0041] Step 310, which involves receiving a stored segment, may include receiving a segment in a message transmitted over the communication network 131 and / or reading a segment from memory 132, 133, etc.
[0042] Step 314, which verifies the signature units S1, S2, and S3, may include using the public key of a key pair to verify that the fingerprint contained therein is authentic, in a manner known by itself. This may be described as an asymmetric signature setup, where signing and verification are separate cryptographic operations corresponding to the private / public keys. Other combinations of symmetric and / or asymmetric verification operations are possible without departing from the scope of the present invention.
[0043] Steps 328 and 330, which verify the received data units I and P, may include replicating the fingerprinting operation that is assumed to have been performed in the source of the media bitstream, i.e., recalculating the fingerprint using the same hash function h. If all fingerprints in the signature unit have been successfully verified, it may be concluded that the corresponding data unit of the segment is authentic (verified).
[0044] Details relating to the steps, such as “receiving,” “pruning,” and “verifying,” are applicable to embodiments described in later sections of this disclosure and are therefore not repeated unless otherwise specified.
[0045] Embodiment 1A.2 With respect to Figure 5, a media bitstream format is considered in which iterative data units O occupy fixed positions indicated by rectangles. If the first device 120 prunes one instance of iterative data unit O, the second device 140 will be able to determine among which data units in the stored bitstream segment these instances are located. In Figure 5, it can be seen that signature units S1, S2, and S3 contain individual hashes of the associated data units. Signature units S1, S2, and S3 further contain a signature (major signature) M and a smaller signature m. The major signature M is used to verify the original signature unit, i.e., in its state when leaving the video acquisition system 110. The smaller signature m does not depend on the fingerprint of the prunable instance of iterative data unit O. Instances of iterative data unit O are generally prunable unless they are the only instance in a segment, and if they are the only instance, the receiver cannot replace that instance by reading metadata from another instance. The second signature unit S2 does not contain a fingerprint of a pruningable instance of the iterative data unit and therefore does not need to contain a small signature m, although this may be done at will to improve the uniformity of the bitstream format.
[0046] Methods for generating small and large signatures are briefly explained using the first signature unit S1 as an example. On the one hand, these signatures can be generated as follows: M=s({h(O),h(I),h(P),h(P)}) m=s({h(I),h(P),h(P)}) Here, {·} represents concatenation, and s is a signing function that depends on the private key in the key pair. Note that the small signature m does not depend on h(O). Alternatively, the small and large signatures are generated repeatedly, and possibly in a multi-level manner. In the first step, the small signature is generated by signing the fingerprints of all data units except the prunable data units. m = s({h(I), h(P), h(P)}). The small signature m does not depend on the fingerprint of the pruningable instance of the iterative data unit O. In the second step, the large signature M is generated by signing the combination (e.g., concatenation) of the small signature m and the pruningable data unit. M = s({m, h(O)}). This formulation of the large signature M relies on the fingerprint of all data units associated with the first signature unit S1. Since cryptographic signatures are computationally complex operations, alternative setups can allow for perceptible computational savings. Alternative setups also establish a link between the small and large signatures, which can make it more difficult for an unauthorized party to replace the small signature m to forge a positive verification result.
[0047] Embodiment 1A.2 of the storage method 200 includes receiving a segment of a media bitstream 210, identifying N≧2 instances of iterative data unit O in the received segment 212, pruning up to N-1 of the identified instances of the iterative data unit 214, pruning the fingerprints of the up to N-1 pruned instances of the iterative data unit 214.1, and storing the received segment after pruning 216. Optionally, large signatures M in a signature unit associated with at least one pruned iterative data unit may be pruned to further reduce overhead 220.
[0048] Embodiment 1A.2 of the verification method 300 includes receiving a stored segment of a media bitstream 310, verifying a signature unit using a small digital signature m 314, and verifying the received associated data unit with respect to the fingerprint in the verified signature unit 316a. A signature unit that does not contain a small signature m is verified in the conventional manner using a large signature M. A first signature unit S1 that contains both a small and a large signature unit but is not associated with a pruned instance of an iterative data unit O may be verified using the large digital signature M. A second device 140 may be configured to first attempt to verify each signature unit using a small signature m, and if this fails or if a small signature m is absent, the second device 140 attempts to verify the signature unit using a large signature M, and if both attempts fail, the signature unit is rejected. Alternatively, the second device 140 is configured to first attempt to verify each signature unit using a larger signature M. If this fails, the second device 140 checks if a smaller signature m exists, and if one exists, attempts to verify the signature unit using the smaller signature m. If both attempts fail, the signature unit is rejected. This alternative way of configuring the second device 140 may be slightly more efficient if the signature units associated with the pruned instances of the iterative data unit O constitute a relatively small portion. It should be noted that knowledge of the fixed positions in which the pruned instances of the iterative data unit O are positioned in the original media bitstream is not utilized in this embodiment.
[0049] Embodiment 1B In Figure 6, a media bitstream format is considered in which iterative data units O occupy fixed positions indicated by rectangles. If the first device 120 prunes one instance of the iterative data unit O, the second device 140 will be able to determine the data units in the stored bitstream segment in which these instances are positioned. In Figure 6, signature units S1, S2, and S3 are fingerprint of It can be seen that this includes a fingerprint, i.e., one obtained by applying the hash function h in a multilevel manner. For example, the fingerprint in the first signature unit S1 could be h({h(O),h(I),h(P),h(P)}), where {·} indicates concatenation, such as bitwise juxtaposition. Alternatively, a cascading application of the hash function is possible, i.e., h1=h(O), h2=h({h1,I}), h3=h({h2,P}) (first P frame), h4=h({h2,P}) (second P frame). From these, the fingerprint h4, having at least indirect dependencies on all the relevant data units O, I, P, and P, is included in the first signature unit S1. This is not shown in Figure 6. For the purposes of Embodiment 1B, it is sufficient that the signature units S1, S2, and S3 contain only the large signature M.
[0050] Embodiment 1B of the storage method 200 includes receiving a segment of a media bitstream 210, identifying N≧2 instances of iterative data unit O in the received segment 212, pruning up to N-1 instances of the identified iterative data unit 214, and storing the received segment after pruning 216. It should be understood that the signature units S1, S2, and S3 are stored as they are, i.e., in the same state as when they were received in 210.
[0051] Embodiment 1B of the verification method 300 includes receiving a stored segment of a media bitstream 310, verifying a signature unit using a digital signature 314, calculating a fingerprint of the received associated data unit 318, calculating a fingerprint of the iterative data unit, an instance not associated with the signature unit, and restoring the fingerprint according to the fixed position (as indicated by the lower dashed line 601) 320b, and the calculated fingerprint of Calculating fingerprints 322 and fingerprints of The calculated fingerprint is used in the fingerprints within the signature unit. of This includes verifying the fingerprint 324b. An equivalent alternative form of calculating the fingerprint of the instance of the iterative data unit 320b is to retrieve the fingerprint from its associated signature unit (upper dashed line 602), but the media bitstream format is the fingerprint to be stored in the signature unit. of It is uncertain whether this particular fingerprint, which constitutes an intermediate result in the calculation of the fingerprint, is possible. If the fingerprint is extracted along the upper dashed line 602, it is not necessary to apply the calculation-return procedure indicated by the lower dashed line 601.
[0052] Embodiment 2A.1 Regarding Figure 7, a media bitstream format is considered in which the iterative data unit O occupies a variable position. In Figure 7, it can be seen that the signature units S1, S2, and S3 contain the individual hashes of the associated data units and further contain the signature M, which can be verified on the recipient side using the signature M. The data structure LOG is not part of the media bitstream format.
[0053] Embodiment 2A.1 of the storage method 200 includes receiving a segment of a media bitstream 210, identifying N≧2 instances of iterative data unit O in the received segment 212, pruning up to N-1 of the identified instances of the iterative data unit 214, storing the received segment after pruning 216, and storing a pruning log LOG indicating the location of the pruned instances of the iterative data unit O in the bitstream 218. It should be understood that the signature units S1, S2, and S3 are stored as they are, i.e., in the same state as when they were received in 210. It should be further understood that the pruning log will occupy relatively less space than the pruned instances of the iterative data unit O, and thus net savings are achieved.
[0054] Embodiment 2A.1 of the verification method 300 includes receiving a stored segment of a media bitstream 310, receiving a pruning log 312 for the stored segment, wherein the pruning log indicates the location in the bitstream of a pruned instance of an iterative data unit O, verifying the signature unit using a digital signature 314, and verifying the received associated data unit with respect to the signature unit, while ignoring the fingerprint of the absent data unit indicated by the pruning log shown as LOG in Figure 7 316b.
[0055] Embodiment 2A.2 Regarding Figure 8, a media bitstream format is considered in which the iterative data unit O occupies a variable position. In Figure 8, it can be seen that the signature units S1, S2, and S3 contain the individual hashes of the associated data units. The signature units S1, S2, and S3 further contain a signature (large signature) M and a small signature m. The large signature M is used to verify the original signature unit, i.e., in its state when it leaves the video collection system 110. The small signature m does not depend on the fingerprint of the prunable instance of the iterative data unit O. Instances of the iterative data unit O are generally prunable unless they are the only instance in a segment, and if they are the only instance, the receiver cannot replace that instance by reading metadata from another instance. The second signature unit S2 does not contain the fingerprint of the prunable instance of the iterative data unit and therefore does not need to contain the small signature m.
[0056] Embodiment 2A.2 of the storage method 200 includes receiving a segment of a media bitstream 210, identifying N≧2 instances of iterative data unit O in the received segment 212, pruning up to N-1 instances of the identified iterative data unit 214, pruning the fingerprints of the up to N-1 pruned instances of the iterative data unit 214.1, and storing the received segment after pruning 216. Optionally, large signatures M in a signature unit associated with at least one pruned iterative data unit may be pruned to further reduce overhead 220.
[0057] Embodiment 2A.2 of the verification method 300 includes receiving a stored segment of a media bitstream 310, verifying a signature unit using a small digital signature m 314, and verifying the received associated data unit with respect to the fingerprint in the verified signature unit 316a. A signature unit that does not contain a small signature m is verified in the conventional manner using a large signature M. A first signature unit S1 that contains both a small and a large signature unit but is not associated with a pruned instance of an iterative data unit O may be verified using the large digital signature M. A second device 140 may be configured to first attempt to verify each signature unit using a small signature m, and if this fails or if a small signature m is absent, the second device 140 attempts to verify the signature unit using a large signature M, and if both attempts fail, the signature unit is rejected. Alternatively, the second device 140 is configured to first attempt to verify each signature unit using a large signature M. If this fails, the second device 140 checks if a small signature m exists, and if one exists, attempts to verify the signature unit using the small signature m. If both attempts fail, the signature unit is rejected.
[0058] Embodiment 2B.1 Regarding Figure 9, a media bitstream format is considered in which the iterative data unit O occupies a variable position. In Figure 9, the signature units S1, S2, and S3 are fingerprints of It can be seen that this includes a fingerprint, i.e., something obtained by applying the hash function h in a multilevel manner. For example, the fingerprint in the first signature unit S1 may be h({h(O),h(I),h(P),h(P)}), where {·} indicates concatenation. Alternatively, a cascading application of the hash function is possible, as described above with respect to Figure 6. For the purposes of Embodiment 2B.1, it is sufficient that the signature units S1, S2, and S3 contain only the large signature M.
[0059] Embodiment 2B.1 of the storage method 200 includes receiving a segment of a media bitstream 210, identifying N≧2 instances of iterative data unit O in the received segment 212, pruning up to N-1 of the identified instances of the iterative data unit 214, storing the received segment after pruning 216, and storing a pruning log LOG indicating the location of the pruned instances of the iterative data unit O in the bitstream 218. It should be understood that the signature units S1, S2, and S3 are stored as they are, i.e., in the same state as when they were received in 210. It should be further understood that the pruning log will occupy relatively less space than the pruned instances of the iterative data unit O.
[0060] Embodiment 2B.1 of the verification method 300 includes receiving a stored segment of a media bitstream 310, receiving a pruning log 312 for the stored segment, wherein the pruning log indicates the location of a pruned instance of an iterative data unit O in the bitstream, verifying the signature unit using a digital signature 314, verifying the received associated data unit with respect to the signature unit while ignoring the fingerprint of the absent data unit indicated by the pruning log 316b, calculating the fingerprint of the received data unit associated with the signature unit 318, calculating the fingerprint of the iterative data unit, which is not associated with the signature unit, and restoring the calculated fingerprint according to the pruning log (as indicated by the lower dashed line 901) 320a, and the calculated fingerprint of Calculating fingerprints 322 and fingerprints ofThe calculated fingerprint is used in the fingerprints within the signature unit. of This includes verifying the fingerprint 324b. Alternatively, as described above with respect to Figure 6, the fingerprint of a pruned instance of an iterative data unit O may be taken from the signature unit associated with the unpruned instance of the iterative data unit O, as indicated by the upper dashed line 902.
[0061] Embodiment 2B.2 Regarding Figure 10, a media bitstream format is considered in which the iterative data unit O occupies a variable position. Signature units S1, S2, and S3 are fingerprint of It can be seen that this includes a fingerprint, i.e., one obtained by applying the hash function h in a multilevel manner. For example, the fingerprint in the first signature unit S1 may be h({h(O),h(I),h(P),h(P)}), where {·} indicates concatenation. Alternatively, a cascading application of the hash function is possible, as described above with respect to Figure 6. For the purposes of Embodiment 2B.2, it is sufficient that the signature units S1, S2, and S3 contain only the large signature M. Also in Figure 10, the signature units S1 and S3 associated with at least one instance of the iterative data unit O are shown as the fingerprint of all associated data units, indicated as F. of The fingerprint shown as f is independent of the fingerprints of the associated pruningable instances of the iterative data unit O, as well as the (large) fingerprint. of It can be seen that it also includes a small fingerprint. The (larger) signature M is generated based on both F and f, and therefore can be used for simultaneous verification of F and f.
[0062] Embodiment 2B.2 of the storage method 200 includes receiving a segment of a media bitstream 210, identifying N≧2 instances of iterative data units (O) in the received segment 212, pruning up to N-1 instances of the identified iterative data units 214, and storing the received segment after pruning 216.
[0063] Embodiment 2B.2 of the verification method 300 includes receiving a stored segment of a media bitstream 310, verifying a signature unit using a digital signature 314, calculating a fingerprint of the received associated data unit 318, calculating a fingerprint of the calculated fingerprint unit 322, and the fingerprint of The calculated fingerprint, fingerprint of This includes verifying the small fingerprint f, as described in 324a.
[0064] The aspects of this disclosure have been described above, primarily with reference to several embodiments. However, as will be readily apparent to those skilled in the art, embodiments other than those disclosed above are equally possible within the scope of the present invention as defined by the appended claims. This disclosure further includes the following aspects: [Aspect 1] A data unit (I, O, P) and a signature unit (S) associated with one or more nearby data units. k A method (200) for storing a signed media bitstream consisting of the following: Each signature unit includes at least one fingerprint derived from the associated data unit and a digital signature of the at least one fingerprint. The method described above is Receiving a segment of the media bitstream (210), Identifying N≧2 instances of the iterative data unit (O) in the received segment (212), Pruning up to N-1 of the identified instances of the iterative data unit (214), After pruning, the received segment is stored (216) Method (200), including. [Aspect 2] The process further includes pruning the fingerprint of the pruned instance of the iterative data unit (214.1), At least one of the aforementioned signature units Fingerprints of all relevant data units, A small signature (m) that does not depend on the fingerprint of the prunable of the associated data unit and The method according to embodiment 1, including the method described in embodiment 1. [Aspect 3] The method according to embodiment 1, wherein the signature unit is stored as is. [Aspect 4] Each signing unit, Fingerprint (F) of all related data unit fingerprints, The smaller fingerprint (f) of the fingerprints, which is independent of the aforementioned fingerprint of the associated data unit that can be pruned, and The method according to embodiment 1 or 3, including the method described in embodiment 1 or 3. [Aspect 5] (218) Store a pruning log indicating the position of the pruned instance of the iterative data unit in the bitstream. The method according to embodiment 1, further comprising: [Aspect 6] Each signing unit, A large signature (M) depends on the fingerprint of one or more prunable items of the associated data units, A small signature (m) that does not depend on the aforementioned fingerprint of the prunable related data unit and Includes, The method further includes pruning the larger signature in a signature unit associated with at least one pruned iterative data unit (220), The method according to any one of embodiments 1 to 5. [Aspect 7] A data unit (I, O, P) and a signature unit (S) associated with one or more nearby data units. k A method (300) for verifying a segment of a signed media bitstream, comprising: At least one of the aforementioned signature units Fingerprints of all relevant data units, The digital signature (M) of the aforementioned fingerprint, A small digital signature (m) of the prunable of the associated data unit, which is independent of the fingerprint, and Includes, The method described above is Receiving a stored segment of the media bitstream (310), Verifying the signature unit using the aforementioned small digital signature (314), (316a) Verify the received associated data unit with respect to the fingerprint in the verified signature unit. Method (300), including the following. [Aspect 8] A data unit (I, O, P) and a signature unit (S) associated with one or more nearby data units. k A method (300) for verifying a segment of a signed media bitstream, comprising: At least one of the aforementioned signature units Fingerprint (F) of all related data unit fingerprints, The smaller fingerprint (f) of the fingerprints, which is independent of the fingerprint of the prunable of the associated data unit, Digital signature (M) of the fingerprint, and of the smaller fingerprint, and Includes, The method described above is Receiving a stored segment of the media bitstream (310), Verifying the signing unit using the aforementioned digital signature (314), Calculate the fingerprint of the received associated data unit (318), (322) Calculate the fingerprint of the aforementioned calculated fingerprint unit, The calculated fingerprint from the fingerprints is to be verified with respect to the smaller fingerprint from the fingerprints (324a) Method (300), including the following. [Aspect 9] A data unit (I, O, P) and a signature unit (S) associated with one or more nearby data units. k A method (300) for verifying a segment of a signed media bitstream, comprising: At least one of the aforementioned signature units The fingerprint of at least one of the associated data units, The digital signature of at least one fingerprint and Includes, The aforementioned method, Receiving a stored segment of the media bitstream (310), Receiving a pruning log for the stored segment (312), wherein the pruning log indicates the position of a pruned instance of an iterative data unit (O) in the bitstream (312), Verifying the signing unit using the aforementioned digital signature (314), (316b) Verifying the received associated data unit with respect to the signature unit, while ignoring the fingerprint of the absent data unit indicated by the pruning log. Method (300), including the following. [Aspect 10] The method is such that the at least one fingerprint in the signature unit is a fingerprint among the fingerprints of all associated data units, and the method is such that (318) Calculating the fingerprint of the received data unit associated with the signature unit, Calculate the fingerprint of the instance of the iterative data unit that is not associated with the signature unit, and restore the calculated fingerprint according to the pruning log (320a), To calculate the fingerprints from the aforementioned calculated fingerprints (322), (324b) The calculated fingerprint among the fingerprints is verified with respect to the fingerprint among the fingerprints in the signature unit. The method according to embodiment 9, further including the method described in embodiment 9. [Aspect 11] A data unit (I, O, P) and a signature unit (S) associated with one or more nearby data units. k A method (300) for verifying a segment of a signed media bitstream, comprising: At least two of the aforementioned signature units Fingerprints of all relevant data units, At least one fingerprint digital signature and Includes, The media bitstream follows a format in which the positions of the repeating data units (O) are fixed. The method described above is Receiving a stored segment of the media bitstream (310), Verify the signature unit using each digital signature (314), Identifying the location of an instance of the iterative data unit (O) associated with the first of the signature units (326), (328) Verifying the received data unit associated with the first of the signature units with respect to the fingerprint therein, (330) Verifying the received data unit associated with the second of the signature units with respect to the fingerprint therein, while ignoring the fingerprint that matches the fingerprint of the instance in which the location of the iterative data unit has been identified. Method (300), including the following. [Aspect 12] A data unit (I, O, P) and a signature unit (S) associated with one or more nearby data units. k A method (300) for verifying a segment of a signed media bitstream, comprising: At least one of the aforementioned signature units The fingerprint of all related data units, A digital signature of the fingerprint (F) of the fingerprint and the smaller fingerprint (f) of the fingerprint, wherein the smaller fingerprint of the fingerprint is independent of the fingerprint of the pruningable of the associated data unit and Includes, The media bitstream follows a format in which the positions of the repeating data units (O) are fixed. The method described above is Receiving a stored segment of the media bitstream (310), Verifying the signing unit using the aforementioned digital signature (314), Calculate the fingerprint of the received associated data unit (318), (320b) Calculate the fingerprint of an instance of the iterative data unit that is not associated with the signature unit, and restore the fingerprint according to the fixed position. To calculate the fingerprints from the aforementioned calculated fingerprints (322), (324b) The calculated fingerprint among the fingerprints is verified with respect to the fingerprint among the fingerprints in the signature unit. Method (300), including the following. [Aspect 13] The method according to any one of embodiments 1 to 12, wherein the iterative data unit includes metadata applicable to all of the media bitstream. [Aspect 14] The method according to any one of embodiments 1 to 13, wherein at least some of the data units correspond to frames of a video sequence. [Aspect 15] The method according to any one of embodiments 1 to 14, wherein at least one of the aforementioned fingerprints is a hash or a salted hash. [Aspect 16] A device (120, 140) comprising processing circuits (121, 141) configured to carry out the method (200, 300) described in any one of embodiments 1 to 15.
Explanation of Symbols
[0065] 110 Video Acquisition System 111 Camera 112 Metadata Insertion Stage 113 Encryption Element 120 First Device[[ID=7:5]] 121 Processing Circuit 122 Memory 130 channels 131 Communication Networks 132 Portable memory, memory 133 memory 140 Second device 141 Processing Circuit 142 memory 143 encryption elements 150 Playback Devices 200 Memory methods, techniques, and overhead reduction methods 300 Verification Methods
Claims
1. A data unit (I, O, P) and a signature unit (S) associated with one or more nearby data units. k A method (300) for verifying a segment of a signed media bitstream, comprising: At least two of the aforementioned signature units, Fingerprints of all relevant data units, At least one fingerprint digital signature and Includes, The signed media bitstream follows a format in which the positions of the iterative data units (O) are fixed. The above method is performed by a computing device, Receiving the stored segment of the signed media bitstream (310), The verification of the at least two signature units using the respective digital signatures of the at least two signature units (314), Identifying the location of an instance of the iterative data unit (O) associated with the first signature unit among the at least two signature units (326), The received data unit associated with the first signature unit among the at least two signature units is verified with respect to the fingerprint in the first signature unit (328), (330) The received data unit associated with the second signature unit of the at least two signature units is verified with respect to the fingerprint in the second signature unit, while ignoring the fingerprint of the iterative data unit that matches the fingerprint of the instance whose location has been identified. Method (300), including the method (300).
2. A data unit (I, O, P) and a signature unit (S) associated with one or more nearby data units. k A method (300) for verifying a segment of a signed media bitstream, comprising: At least one of the signature units, The large fingerprint (F) derived from the fingerprints of all related data units, A smaller fingerprint (f) derived from the fingerprint, which is independent of the fingerprint of the prunable data unit among the associated data units, A digital signature generated based on the aforementioned large fingerprint (F) and the aforementioned small fingerprint (f) Includes, The signed media bitstream follows a format in which the position of the iterative data unit (O) is variable. The above method is performed by a computing device, Receiving the stored segment of the signed media bitstream (310), Verifying the at least one signature unit using the digital signature (314), Calculating the fingerprint of the received associated data unit (318), Calculating a further fingerprint derived from the aforementioned calculated fingerprint (322), The further calculated fingerprint is verified with respect to the smaller fingerprint (f) in the at least one signature unit (324a) Method (300), including the method (300).