Collusion-resistant fingerprinting for multimedia

advertisement
Collusion-resistant
fingerprinting for
multimedia
Wade Trappe, Min Wu,
K.J. Ray Liu
Anti-collusion codes
• Anti-collusion codes (ACC) are
designed to be resistant to averaging,
and able to exactly identify groups of
colluders.
ACC (1)
•
We shall describe codes using the binary
symbols {0,1} to {-1,1} via f ( x)  2 x  1
for use in CDMA-based watermarking.
We assume that when a sequence of
watermarks is averaged, the effect it has is
that the resulting binary is the logical AND of
j
the codewords c
For example ,when the codes (1110) and (1101)
are combined, the result is (1100).
f ( x)  2 x  1
•
•
ACC (2)
• Definition 1.
A binary code C  {c1 ,  , c n } such that the
logical AND of any subset of k or fewer
codevectors in non-zero and distinct from the
logical AND of any other subset of k or fewer
codevectors is a k-resilient anti-collusion code,
or an ACC code.
• For example, when n=4,C={1110,1101,1011,0111}.
It is easy to see when k  n  1 of these
vectors are combined under AND, that this
combination is unique .
ACC -BIBD (1)
• Definition 2:
A (v, k ,  ) balanced incomplete block
design (BIBD) is a pair (  , ) ,where
is a
collection of k-element subsets (blocks) of a
v-element set  ,such that each pair of
elements of  occur together in exactly 
blocks.

ACC –BIBD (2)
• A (v, k ,  ) -(BIBD) has b  (v2  v) /(k 2  k ) blocks.
Corresponding to a block design is the v  b
incidence matrix M  (mij ) defined by
1 if theith elementbelongs to the jth block
mij  
otherwise
0
• If we assign the codewords as the bitcomplement of the column vectors of M then we
have a (k-1)-resilient ACC.
ACC –BIBD (3)
• Theorem 1.
Let (  , ) be a (v,k,1)-BIBD, and M the
corresponding incidence matrix. If the
codevectors are assigned as the bit
complement of the columns of M ,then
the resulting scheme is a (k-1)-collusion
resistant code.
ACC – BIBD (4)
• We now present an example. The
following is the bit-complement of the
incidence matrix for a (7,3,1)-BIBD:
0

0
1

M  0
1

1

1
0
0
1
1
1
1
0
1
1
1
1
0
0
1
0
1
1
1
0
0
1
0
0
1
1
0
1
1
0
1
1
0
1
0
0
1

1
1

0
0

0

1
ACC – BIBD (5)
• This code requires 7 bits for 7 users and provides
2-resiliency since any two column vectors share a
unique pair of 1 bits.
• Each column vector c of M is mapped to {1}
by f ( x)  2 x  1 .
v
• The CDMA watermark is then w 
f
(
c
)
s
j
j
j1
• When two watermarks are averaged, the locations
where the corresponding ACC codes agree and
have a value of 1 identify the colluding users.

ACC –BIBD (6)
• For example, let
w1   s1  s2  s3  s4  s5  s6  s7
w 2   s1  s2  s3  s4  s5  s6  s7
be the watermarks for the first two
columns of the above (7,3,1) code, then
(w1  w 2 ) / 2 has coefficient vector
(-1,0,0,0,1,0,1).
Restriction of BIBD
• In general, (v, k ,  )  BIBDs do not necessarily exist
for an arbitrary choice of v, and k.
• The condition that b must be an integer restricts
some possibilities for v, and k, and for a given
triple there may not exist a (v, k ,  )  BIBD
.
• The Bose construction builds Steiner triple systems
when v  1 (mod6) ,and the Skolem construction
builds Steniner triple systems when v  3 (mod6) .
Additionally,( p d , p,1)  BIBD can be constructed
when p is of prime power.
Subgroup-based
constructions
• In many application, a group of users will be
suspected of likely colluding, but not with others.
This could be due to geographical of social
variables, or based upon a pervious precedent.
• Suppose the code matrix C is constructed as a
block diagonal matrix C  diag(C1 , C2 ,  , Cs )
,
where the matrices C j on the diagonal
correspond to matrices for smaller codes.
Simulation (1)
• In order to demonstrate the capabilities of using
an ACC code with CDMA watermarking to
fingerprint users and detect colluders, we used an
additive spread spectrum watermarking scheme,
where the perceptually weighted watermark was
added to block DCT coefficients.
• The detection of the watermark is performed
without the knowledge of the host image via the Z
detection statistic.
• We used the 512*512 lenna as the host image for
the fingerprints.
Simulation(2)
• We assigned the code vectors as the column vectors
of the bit complement of the incidence matrix for a
(15,3,1) –BIBD that was constructed using the Bose
method with a symmetric idempotent quasigroup
structure on Z given by the binary
operation x  y 5(3x  3 y)(mod5)
.
• Two example code vectors that were assigned to
user 1 and 6 are
User 1 : (-1,-1,-1, 1, 1,1,1,1,1,1, 1,1,1,1,1)
User 6 : (-1,1, 1, -1, 1,1,1,1,1,1,-1,1,1,1,1)
Average:(-1, 0, 0, 0, 1,1,1,1,1,1, 0,1,1,1,1)
Simulation (3)
• An example of the behavior of the Z
statistic when two users collude is
depicted in figure 1, where we depict the
values of the Z statistic for the 15
different spreading sequences used when
user 1 and user6 average their differently
marked images and then compress using
JPEG with quality factor 50%.
Simulation (4)
• We present a histogram containing the
Z statistics form roughly 200 pairs of
users in figure 2 when the watermarked
images are compressed using JPEG with
a quality factor of 50%.
Download