Imported: 17 Feb '17 | Published: 23 Sep '14
USPTO - Utility Patents
The method traces the origin of a (illegally) distributed video material. It fingerprints a data object A having a nominal stream format F to provide a fingerprinted data object B including a pre-fingerprinting forensic luring process.
The present application concerns the field of digital TV, particularly a method to trace the origin of a (illegally) distributed video material.
Digital content providers seek to restrict usage of their audio visual contents by implementing conditional access. One such scenario is the security aspects of digital video broadcasting via satellite (DVB-S). There has been a history of attacks on this technology to circumvent any security measures and some techniques have been countered by the deployment of customized receivers. The crucial key of the security gap is that when an open receiver (even the proprietary one) comes into the possession of the user, it cannot be considered trusted. The user domain is an untrusted one and could be subject to standalone or colluding user attacks. Any software solution at the user domain must be therefore subjected to the so-called white box cryptography, a relatively recent research domain focusing on the protecting mechanism of a secret even if it is deployed with untrustworthy or easily exposed software execution.
Alternative solution is based on anti-tampered hardware. The introduction of a physical hardware component—like a smart cards—with a built-in processor aims to provide a trust in an unsecured environment of a receiver. It is believed that the answer lies in the smart card: this is the only trusted entity at the client end.
It is worth noting that the presence of a smart card does not resolve all threats to security. Thanks to the flexibility, well modularized structure of the open receivers, fraudulent user can still compromise the system with such “unbreakable” hardware component like smart cards. By spying the communication between the descrambler and a given smart card, a hacker can extract the necessary key for the descrambling process. The key is then distributed in mass to other illegal receiver, allowing clients (without subscription to the authorized content provider) to access the protected programs.
Admitting that conditional access never provides an absolute security, digital content providers try to deploy watermarking techniques in an audio visual content to insert automatically a unique identifier dedicated to each demanding user whenever he/she requests that content. Such identifier can be probably retrieved from an illegally distributed content. The malicious user can then be identified.
Several problems must be solved to enable the incorporation of the watermarking into the broadcasting chain. Among the others, they are the followings:
One prior art method for watermarking compressed content is to insert watermark signals in the structure and syntax elements. U.S. Pat. No. 6,687,384 is an example for embedding data in syntax elements in a coded bit stream such as MPEG-1 and MPEG-2. Such watermarks do not, however, survive after format change or digital-analog conversion.
Another prior art, U.S. Pat. No. 7,058,809 introduces in a preprocessing phase at least 2 watermarked versions of the same content. The variant contents are then encrypted and partially combined in a unique manner for each targeted user. Pre-watermarking content twice seems to be a cumbersome process.
Yet in other prior arts, some special segments of compressed data are identified and modified directly. These segments are special because they can be replaced with at least an alternative one without severe impact to the final content. This bi-state of each segment can be exploited to carry one-bit of hidden ID. EP 2 204 979, U.S. Pat. No. 6,285,774, U.S. Pat. No. 7,003,131, WO 2007/067168 and WO 2010/003152 propose several ways to identify such carrier segment of data in the compressed domain. The common key-technique of these arts is a pure watermarking technique, which tends to minimize the impact on the quality of the content. The marked content are then protected separately with a conventional encryption technique
In the prior application deposited also by the author of the present application, WO2008081113, a combined technique for marking and encrypting was taught to improve the security thanks to the coincidence of these 2 operations. The drawback of this technique is the requirement of 2 (virtual) streams, which produces the additional complexity for the synchronization and existing multiplexing.
The present invention proposes a method to resolve the disadvantages mentioned above.
This is achieved thanks to a method for fingerprinting a data object A having a nominal stream format F, to provide a fingerprinted data object B, comprising the pre-fingerprinting and forensic luring process, wherein the said pre-fingerprinting process comprising the steps of:
The crucial key-technique is the coincidence of the two operations: malicious users hardly decrypt content without being signed with his identification. Therefore it is not easy to have a clear, decrypted content to distribute illegally without proof of guilt.
In a preferred embodiment, the technique includes two separate processes, namely pre-fingerprinting and forensic luring. The former modifies a content to be protected by changing elements with values entailing a major perceptive alteration. It also prepares the necessary information for fingerprinting operation which is performed in the latter process: forensic luring. Note that luring and fingerprinting happen at the same time in the phase forensic luring as a main aspect of the invention. Hereafter the term ‘fingerprinted luring’ is used to emphasize this coincidence.
In a preferred embodiment, the pre-fingerprinting process comprising the steps of
In a preferred embodiment, upon receiving the fingerprinted data object D, the forensic luring process starts with the steps of
The forensic luring process can be extended to another set of element E′ (second set) that will only play a role in the luring process. To ensure that the fingerprinted data object B is not accessible without passing through the identification step explained above, a second set of elements are modified so that the fingerprinted data object B is not accessible without passing through the de-luring process.
For this second set of element, the supplemental object Ss further comprises for each element of the second set, the position P′ and the original value OV′.
In an embodiment of the invention, the pre-fingerprinting and forensic luring processes are combined into one process on the same device. In another embodiment, they are performed in separated devices. The fingerprinting-ready data objects D are the interface exchanged between the two devices over the traditional broadcasting via terrestrial, cable or satellite channel.
In a preferred embodiment of the invention, the alternate value AV replacing the original one OV in the modified data object C is chosen among the candidates so that the maximal perceptive difference (degradation) according to the original data object A is produced.
In a preferred embodiment of the invention, the replacement value RV associated to the value of the identifier ID is chosen among the candidates so that it produces the minimum perceptive difference (degradation) in comparison with the replacement of the original value OV.
In a preferred embodiment of the invention, one of the replacement values can be the original value OV. In this case, the supplementary object Ss comprises one replacement value chosen to have little impact on the perception of the content as well as the original value.
In an embodiment of the invention, the marking subset MS consists of all modified element Es in the fingerprinting-ready data object D.
In an embodiment of the invention, the data object A, the fingerprinting-ready data object D and the fingerprinted data object B are in the format of the MPEG-2 transport stream format.
In an embodiment of the invention, the identifier is calculated from a unique internal parameter of the device where the forensic luring process is performed.
In a preferred embodiment of the invention, the calculating operation incorporates an anti-collusion encoding scheme to reinforce the affect/presence of the fingerprinting identifier in the fingerprinted data object B.
Throughout the description of the present invention, we often use several terms. To avoid any ambiguity, each term is associated uniquely with a symbol. The terms and their associated symbol (in parentheses) are summarized in the following:
Reference will now be made in detail to the preferred embodiments of the invention, examples of which are illustrated in the accompanying drawings. While the invention will describe in conjunction with the preferred embodiments, it will be understood that they are not intended to limit the invention to these embodiments. On the contrary, the invention is intended to cover alternatives, modifications and equivalents, which may be included within the spirit and scope of the invention as defined by the appended claims. Furthermore, in the following detailed description of the present invention, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be obvious to one of ordinary skill in the art that the present invention may be practiced without these specific details. In other instances, well known methods, procedures, components, and circuits have not been described in detail as not to unnecessarily obscure aspects of the present invention.
FIG. 1 outlines the two main functionalities as well as the exchanged data according to one embodiment of the present invention.
According to a preferred embodiment of the present invention, the process 1: Pre-fingerprinting in FIG. 1 is performed in a server, i.e. a transmission device, located at the providers or distributors side or at one of their head-ends within the distributing network. In another embodiment, the process 1 is performed at client side, having a secondary network of multimedia distribution. In the latter case, the process 1 is found in the center-device to prepare the content before transmission to other devices located separately in different rooms of the house.
An original audiovisual content A, handled by the process 1: Pre-fingerprinting becomes a lured content D. The latter has several following properties:
FIG. 2 describes in detail the operations of the process 1 over a content A according to one embodiment of the invention. At first, the content A is partially parsed by the analyzer 11 to detect plurality of the Elements Es to be modified. In a preferred embodiment of the invention, an element E is a syntax element of the format F. Yet in another embodiment of the invention, an element E corresponds to a binary bit-segment of the format F, which may contain entirely (or partially) several syntax elements including the stuffing bit and reserved bits.
An element E is considered as a valid candidate if and only if it is a kind of multi-value. Besides the Original Value OV, the candidate E will have at least one other value called Alternate Value AV.
In a preferred embodiment of the invention, all AVs reserve the same size in the stream of the format F, which causes no shifting offset at all while alternating among the values AVs and OVs. In other embodiment of the invention, the size of the values AVs can be different from each other as well as from the OVs.
In a preferred embodiment of the invention, among the plurality of AVs, there are two special candidates as the following:
We now provide several such elements Es found in the format H264-CABAC (mostly used in broadcast environment). In a referred embodiment of the invention, the modifications are applied to some special syntax elements in the slice header, which is encoded with variable length codes. Therefore, when its OV is replaced with either LV or MV, the intact syntax elements in the successive slice data (encoded with an arithmetic encoder) can be correctly reused. These special syntax elements are: the NALType, the Quantification Parameter, the First MacroBlock Address and the Deblocking Filter.
In other embodiment of the invention, the element E can be the syntax element encoded in the CABAC bypass mode. In this special mode of the CABAC coder, the internal states (the Range and the Probability) of the arithmetic coder remain constant. Hence, there are more chances to restore the states of the arithmetic coder after an OV is replaced with an AV. That is the modification can be restrained to a limit number of bits in the stream F assigned to this kind of syntax element. They are the sign of coefficient, the suffix of a coefficient and the suffix of a motion vector differential. Yet in other embodiment of the invention, several bits at the end of a slice data (corresponding to several syntax elements of type DCT coefficient) can be together considered as an element E. Doing so, propagation of bit-modification is limited up to the end of the slice in question.
Possessing plurality of the elements Es, the unit 12 in FIG. 2 modifies the original content A accordingly. The following procedure will be performed iteratively:
The selected elements Es are also fed to the unit 13 in FIG. 2 to be formatted so that the resulting output 130 corresponds to the supplementary object Ss and is ready multiplexed into the lured data C. In a preferred embodiment of the invention, the supplementary object Ss comprises means for locating the elements Es in the stream F, the size of each element E as well as replacements values RV (which could be determined based on the original value OV), are treated and encapsulated in the data 130. An example of a means for locating an element E is a relative (or absolute) offset from a predefined marker up to the first bit of that element E. In the case of MPEG-2 TS format, the said marker can be the start byte of the containing TS packet or the first byte of its payload.
In one embodiment of the invention, the unit 13 compresses the Properties Of the Elements (PoE)—including their positions, their sizes, their RVs and/or any derived values from these quantities—before any other treatment. It is obvious to one of ordinary skill in the art that the compression technique here may refer to any technique to reduce the quantitative amount of data, which may or may not lead to a reduction in data quality. Such compressing techniques not exclusively include LVZIP, Delta coder and the likes.
Taking the format MPEG-2 TS as a preferred embodiment of the invention, the compressed PoEs are formatted into a structure of private data, occurring in the adaptation field of a TS packet. They are assigned to the data 130 in FIG. 2.
Upon receiving lured content C and the data 130, the muxer 14 in FIG. 2 ensures the syntactical correctness of the so-called fingerprinting-ready content D, the output data stream of the same format F.
FIG. 4 illustrates the stream MPEG-2 TS of such fingerprinting-ready content D according to a preferred embodiment of the invention. There are 8 successive TS packets of the same Packet Identification (PID). Among them, there are 7 packets of type Elementary Transport Packet ETP, which already exist in the original stream A. These packets contain elementary data (audio or video) for the given content. The order of these ETPs is represented with the subsequent integer value of the continuity_counter, a standard syntax element of a TS packet. Supposing that two elements Es can be found in the ETPs with continuity_counter equal to N+1 and N+2. Their PoEs (including Offset, Size and Values OV as well as AVs in FIG. 4) for each ETP are collected into a structure called CO_TS_packet, which is in turn grouped into a special TS packet called Control Session Transport Packet (CSTP).
In one embodiment of the invention, the packets CSTP altogether are considered as the supplementary data Ss, which are merged/multiplexed with the lured content C to provide the fingerprinting-ready content D.
Thanks to the parameter TS_packet_offset, each structure CO_TS_packet in CSTP is linked to an ETP, which contains the associated elements Es. In fact, the parameter TS_packet_offset expresses the relative distance from the CSTP to the linked ETP, measured in the value of continuity_counter. For instance, the right CO_TS_packet in FIG. 4 having TS_packet_offset equal to 3 indicates that its PoEs belong to the elements Es in the ETP, whose Continuity_counter takes the value N+3. N is the continuity_counter value of the CSTP itself.
In this preferred embodiment of the invention, the CSTP does not contain any data in its payload. Its section adaptation_field is extended to the last data byte in that TS packet. The plurality of the structures CO_TS_packet are inserted as the private data byte in the section adaptation_field. According to the standard MPEG-2, such TS packet (having only adaptation field), must be signed with the field adaptation_field_control equal to 2.
In a preferred embodiment of the invention, the CO_TS_packet is entirely encrypted with any conventional cryptography algorithm. In another embodiment of the invention, only the critical data of the CO_TS_packet—the PoEs—are protected with a cryptography algorithm.
FIG. 4 also shows that the continuity_value of the CSTP is set to N, which is identical to an existing value of an ETP packet in the original content A. According to the standard, such duplication is acceptable for all packets containing only adaptation field like CSTP. In other words, the inserting method of the supplementary packet CSTP does not need a reassignment of the continuity_counter for all following packets; the discontinuity of the TS packets does not violate the standard syntax of a TS stream.
2. Forensic Luring
According to a preferred embodiment of the present invention, the process 2: Forensic luring in FIG. 1 is performed in client devices, such as a Set-top-Box. According to another embodiment of the invention, the process 2 is performed in the same device as process 1. Such devices can be a server of the distributor, a head-end machine or even a centre-device at client side.
Input of the process 2 is the fingerprinting-ready content D generated by the process 1. In a preferred embodiment of the invention, the content D is transmitted to the process 2 via conventional distributing network such as DVB-T/S/C, ADSL link, . . . In another embodiment of the invention, the transmission of the content D is carried out between two processes in a same host machine.
According to a preferred embodiment of the invention, the first unit handling the content D in the process 2 is the demuxer 21 (see FIG. 3). Thanks to a PID value conveyed in a private descriptor in the Program Map Table (PMT) of a multiplexed MPEG-2 TS, the demuxer 21 can first detect the fingerprinting-ready content D having that given PID from any other multiplexed programs. According to a preferred embodiment of the invention, another private descriptor is also added to the PMT to signal that the private data byte in the adaptation field (if available) should be interpreted as in FIG. 4.
According to a preferred embodiment of the invention, the demuxer performs selection of the CSTPs from the ETPs. As a reminder, any TS packet of the given PID can be identified as CSTP if and only if it satisfies all following conditions
According to a preferred embodiment of the invention, the demuxer 21 removes all CSTPs from the content D to reproduce the lured content C. This scenario is denoted in FIG. 3. Yet in another embodiment of the invention, the demuxer 21 just makes a copy of the CSTPs into the data 210 without deleting them from the stream D.
In a preferred embodiment of the invention, the decoder 23 parses the structure CSTP in detail to extract all the CO_TS_packets as well as its properties, including:
In the necessary case, the decoder 23 performs also the decryption to retrieve the data 230.
FIG. 3 shows another input data of the process 2, called internal parameter 200. A simple example of such internal parameter is the unique address of the security module in a Set-top-Box. The internal parameter 200 is then encoded by the encoder 22.
In a preferred embodiment of the invention, the encoder deploys several encoding schemes in a concatenated manner to generate the so-called fingerprinting identifier 220, which is resistant to some targeted attack. For instance, the internal data 200 can be first encoded with Reed-Solomon encoder having certain block-size. The resulting data is then further encoded with Tardos code. It is obvious to one of ordinary skill in the art that any source coding technique can be deployed in the encoder 22 to reinforce the fingerprinting identifier 220 against some sensible attacks.
According to a preferred embodiment of the invention, one function of the mapping unit 24 is to select a subset of the elements Es in data 230 to be the carrier of the fingerprinting identification ID. This subset is the first set of elements E. This subset of elements Es is hereafter referred to as Marking Subset (MS). According to another embodiment of the invention, the MS consists in all elements Es in the data 230.
According to a preferred embodiment of the invention, another function of the mapping unit 24 is to interpret the identifier into a 2-tuple sequence. Each 2-tuple value contains 2 components: Position Index (PI) and Replacement Value Index (RVI). The former refers to the index of the element E in the marking subset MS, while the latter points to one of the RVs associated to that element E.
According to a preferred embodiment of the invention, the RVI is a binary value. A given element E (in respecting to PI) will be recovered to the first replacement value RVa or the second replacement value RVb in correspondence with the value 0 or 1 of the RVI respectively.
According to one embodiment of the invention, the RVI has a range of N. In this case, each element E must have at least N replacement values RVs, there is enough dimension for a one-to-one mapping from the space of RVI onto the space of AVs.
For the sake of clarity, an example is now demonstrated for mapping operation with the following conditions:
The unit 24 then translates this sequence into the position and the value of the element E in the marking subset MS, producing the data 240 (FIG. 3). Remaining within the scope of the above example, the data 240 is also a sequence of 4 records as the following: (E1,MV1),(E2,OV2),(E3,MV3),(E4,OV4). It is to be noted that in this example, one of the replacement value RV is the original value OV. The first components in each record refer to one element E of MS in a predefined order (for instance in the ascend order of appearance in the content A). The second components can be either MVN or OVN according to the RVI of the associated record is 1 or 0 respectively. The sub-index N of MV/OV refers to the value MV/OV of the Nth element E in the marking subset MS.
The data 240 is finally fed to the unit 25 to perform the fingerprinted decryption. An iterative procedure is performed in the unit 25 as the following:
According to a preferred embodiment of the invention, all other elements Es, i.e., the second set of elements E′, which are found in the input stream of unit 25 but not belonging to MS, are replaced with their original values OVs.
According to a preferred embodiment of the invention, the unit 22, 23 and 24 are deployed in a security module at client side. The data 240 is the only one information circulating between the secured and unsecured environment. Apparently, it has the same role as the control word in a conventional Set-top-box. Note that the structure of the 240 is already integrated with the fingerprinting identifier. An abusive distribution of the data 240 in the same manner as the control word sharing can be traced back to the leaking source.
According to one embodiment of the invention, the Marking Value MV can be any AVs, even the LV. In the latter case, the Marking Subset MS can be tuned appropriately to reduce the artifacts number under a still acceptable threshold, which depends on a concrete application.
The FIG. 5 illustrates the original data object A. Several elements E1, E2, E3 . . . En are selected for embedding the luring and fingerprinting processes. For a given element E1, the original value OV1 is replaced by the alternate value AV1. The element E1 is located thanks to the position P1 within the data object A.
In the manner, in all selected elements E1, E2, E3 . . . En the original values OV1, OV2, OV3 . . . OVn are replaced by alternate values AV1, AV2, AV3 . . . AVn. The system in charge of these operations additionally generates replacement values RVa, RVb, at least two replacement values per element E.
The FIG. 6 illustrates the data object C in which a supplementary object Ss was inserted. This supplementary object comprises a plurality of supplementary subset Ms, each subset being associated with an element E. The subset Ms comprises at least the position of the element P, the original value OV and replacement values RVa and RVb.
The FIG. 7 illustrates the step of fingerprinting based on the identifier selected among the identifier of the transmission device or the reception device. Once the identifier ID is selected, the bits of the identifier are used as a selector in order to determine which value will finally be in the element E. It is worth noting that the identifier used for the selection step can be the result of a transformation from an internal value of either the transmission device or the reception device. This transformation can be a two-ways function (encryption for example) or a one-way function (Hash function).
The FIG. 8 illustrates the final result according to the selection made by the identifier ID. The element E1 was associated with the first bit of the identifier (bit=0→ replace with replacement value RVa, bit=1→ replace with replacement value RVb), and so on for the other bits.
In case where the identifier ID comprises more bits than the number of elements associated with one supplementary object, part of the identifier is used in relation with a first supplementary object, and another part is used in relation with another supplementary object.
As already explained, the subset Ms can comprise more than two values and the identifier can be used as a selector to select one value among these values.
One of the replacement values can be the original value OV. In this case, the elements E contain the Original Value OV instead one of the replacement value RV. During the selection step, in case that the identifier has selected the original value OV, the element E will return to its original value. The other elements will contain the replacement values.