ece738 advanced image processing data hiding (3 of 3) curtsey of professor min wu electrical &...
TRANSCRIPT
ECE738 Advanced Image Processing
Data Hiding (3 of 3)
Curtsey of Professor Min Wu Electrical & Computer EngineeringUniv. of Maryland, College Park
Min Wu @ U. Maryland 2002 3ECE738 Advanced Image Processing
Document Authentication
– Embed pre-determined pattern or content features beforehand– Verify hidden data’s integrity to decide on authenticity
(f)
alter(a)
(b)
(g)
after alteration
(e)
(c)
(d)
Min Wu @ U. Maryland 2002 4ECE738 Advanced Image Processing
Image/Video Authentication via Watermarking
• Motivation– “Picture never lies”? Easy to edit digital media ~ Photoshop
– Important to detect tampering ~ evidence in litigation, insurance & government archive
– Original “true” image cannot be used to convince judge
• Basic idea for detecting tampering– Recall authentication problem in crypto
– Embed some data in the image and certain relationship/property gets changed upon tampering
– Rely on• fragility of embedding scheme, and/or• embedding content features of original true image
• Two issues to address– how to embed data?
– what data to embed?
Min Wu @ U. Maryland 2002 5ECE738 Advanced Image Processing
Useful Crypto Tools/Building-Blocks• Crypto’ly strong hash or digest function H( )
– One-way “compression” function • M-bit input to N-bit output often with fixed N and M >> N• Often used to produce a short ID for identifying the input
– Properties to be satisfied:1) Given a message m, H(m) can be calculated very quickly2) Given a digest y, it is computationally infeasible to find a message m
s.t. H(m) = y (i.e., H is one-way)3) It is computationally infeasible to find messages m1 & m2
s.t. H(m1) = H(m2) (i.e. H is strongly collision-free)
– Keyed Hash: • H( k, m ) = Hash( concatenated string derived from k & m )
– Commonly used crypto hash• 160-bit SHA (Secure Hash Algorithm) by NIST• 128-bit MD4 and MD5 by Rivest
Min Wu @ U. Maryland 2002 6ECE738 Advanced Image Processing
Data Integrity Verification (data authentication)
• Authentication is always “relative” – with respect to a reference
• How to establish and use a reference[Method-1] Give a “genuine” copy to a trusted 3rd party
[Method-2] Append “check bits”
– Want hard to find a different meaningful msg. with same “check bits”=> use crypto’ly strong hash
– Want tamper-proof if hash func. is public• Encrypt concatenated version of message and hash • Keyed Hash (Message Authentication Code) ~ no extra encryption needed
• Digital signature algorithm (using public-key crypto)• Signed Msg|Hash ~ i.e., encrypt by private key s.t. others can’t forge
Min Wu @ U. Maryland 2002 7ECE738 Advanced Image Processing
Extension to Grayscale/Color Images
• “Semi-fragile” watermarking– Want to distinguish content-preserving changes (e.g. moderate
compression) vs. content tampering– Achieve controlled robustness often via quantization
• How to embed– One approach: enforce pre-quantized DCT coefficients using a
look-up table
• What to embed– A visually meaningful pattern and/or a pre-selected one
• facilitate quick visual check and locate alteration
– Content features to avoid malicious counterfeiting attack • limited precision (e.g., most significant bits)
DCT coefficient 23Q 24Q 25Q 26Qlookup table mapping … 0 0 1 0 …
Min Wu @ U. Maryland 2002 8ECE738 Advanced Image Processing
unchanged content changed
– Embed patterns and content features using a lookup-table
– High embedding capacity/security via shuffling
• locate alteration
• differentiate content vs. non-content change (compression)
Watermark-based Authentication
Min Wu @ U. Maryland 2002 10ECE738 Advanced Image Processing
Issues and Challenges
• Tradeoff among conflicting requirements
– Imperceptibility– Robustness & security– Capacity
• Key elements of data hiding– Perceptual model– Embedding one bit– Multiple bits– Uneven embedding capacity– Robustness and security– What data to embed
Up
per
L
ayer
s
Uneven capacity equalization
Error correction
Security
……
Low
er
Lay
ers
Imperceptible embeddingof one bit
Multiple-bit embedding
Coding of embedded data
Robustness
Capacity
Imperceptibility
Min Wu @ U. Maryland 2002 11ECE738 Advanced Image Processing
Techniques For Multi-bit Embedding
• Amplitude modulation– Use M different amplitude of watermark to represent log2M bits
i {- J, -(M-3)J/(M-1), …, (M-3)J/(M-1), J} where J is JND• accurate detection require clear distinction in received amplitudes• use modulo-M operation for enforcement embedding
• Orthogonal and Biorthogonal– Embed one of M orth. patterns representing log2M or log2(2M) bits
• TDMA-type (temporal or spatial or both)– Embed each bit in different non-overlapped region or frame– Unevenness in embedding capacity due to non-stationarity
• CDMA-type(Coded Modulation)
– Use plus vs. minus a pattern to embed one bit• detector need to know the mutually orthogonal patterns1st 1st
bitbit2nd 2nd
bitbit......
Min Wu @ U. Maryland 2002 12ECE738 Advanced Image Processing
Comparison (brief)• TDMA vs. CDMA
– Equivalent in terms of watermark energy allocation– Need to handle uneven embedding capacity for TDMA– Need to set up and store orthogonal vectors for CDMA
• Orthogonal vs. TDMA/CDMA– Orthogonal modulation has higher energy efficiency
To explore further, See Section V and the reference therein ofM. Wu, B. Liu: "Data Hiding in Image and Video: Part-I -- Fundamental Issues and Solutions'', submitted to IEEE Trans. on Image Proc., Jan. 2002
Orthogonal Modulation TDMA/CDMA
Min Wu @ U. Maryland 2002 13ECE738 Advanced Image Processing
Comparison (1)
• Applicable Media Types– not always easy to find many CDMA orthogonal directions (e.g.,
binary image)
– Amplitude is applicable to most features
– TDMA can be applied temporally and spatially
• TDMA vs. CDMA– Equivalent in terms of watermark energy allocation
– Need to handle uneven embedding capacity for TDMA• Variable Embedding Rate (need to embed some side info.)• Constant Embedding Rate (shuffling helps increase embed.rate)
– Need to set up and store orthogonal vectors for CDMA
Min Wu @ U. Maryland 2002 14ECE738 Advanced Image Processing
Orthogonal Modulation TDMA/CDMA
Comparison (2)• TDMA / CDMA vs. Orthogonal Modulation
– Constant minimum separation for orthogonal modulation as # of embedded bits B increases but total wmk energy unchanged
– Orthogonal modulation require book-keeping more orthogonal vectors and more computation in classic detection
– Combining the two to improve embedding rate with small increase in computation and storage
Min Wu @ U. Maryland 2002 15ECE738 Advanced Image Processing
Comparison (3)• Amplitude Modulation vs. Other Techniques
– Amplitude modulation can embed multiple bits on a single feature/direction • Without the need of many orthogonal vectors
– Minimum separation for same avg. wmk energy and # embedding bits B
• O( 2 -B 1/2 ) for amplitude modulation
• O( B -1/2 1/2 ) for TDMA/CDMA
• O( 1/2 ) for orthogonal modulation
• Modulation techniques for communications [Proakis]– Bandwidth-efficient techniques vs. Energy-efficient techniques
– Non-trivial amplitude modulation is not good when signal energy is limited (very low SNR), esp. for blind detection
Min Wu @ U. Maryland 2002 16ECE738 Advanced Image Processing
What Data to Embed?
Recall: Important to determine what data
to embed in authentication applications
Min Wu @ U. Maryland 2002 17ECE738 Advanced Image Processing
Tracing Traitors
• Robustly embed digital fingerprint– Insert ID or “fingerprint” to identify each customer
– Prevent improper redistribution of multimedia content
• Collusion: A cost-effective attack– Users with same content but different fingerprints come together to
produce a new copy with diminished or attenuated fingerprints
• Anti-collusion fingerprinting– Trace traitors and colluders to actively deter collusion/redistribution
– Rely on joint fingerprint encoding & embedding
cable co.
Shakespeare in Love
Alice
Bob
Carl
w1w2w3
SellSell
Min Wu @ U. Maryland 2002 18ECE738 Advanced Image Processing
Embedded Fingerprinting for Multimedia
embedembedFingerprintFingerprint
original media
compresscompress
extractextract
101101 …101101 …
Customer: EveCustomer: Eve
Sell Sell ContentContent
SuspiciousSuspicious
101101 …101101 …
CandidateCandidateFingerprintFingerprint
SearchDatabase
Customer: EveCustomer: Eve
Fingerprint Tracing:
Min Wu @ U. Maryland 2002 19ECE738 Advanced Image Processing
Collusion Scenarios
. . .
Averaging Attack Interleaving Attack
• Result of collusion: Fingerprint energy decreases
• Jointly design encoding and embedding of fingerprints
Min Wu @ U. Maryland 2002 20ECE738 Advanced Image Processing
16-bit ACC Example for Detecting ≤ 3 Colluders
User-1 ( -1,-1, -1, -1, 1, 1, 1, 1, …, 1 ) ( -1, 1, 1, 1, 1, 1, …, -1, 1, 1, 1 ) User-4
Extracted fingerprint code ( -1, 0, 0, 0, 1, …, 0, 0, 0, 1, 1, 1 )
Collude by AveragingUniquely Identify User 1 & 4
Min Wu @ U. Maryland 2002 21ECE738 Advanced Image Processing
Anti-Collusion Fingerprint Codes• Simplified assumption
– Assume fingerprint codes follow logic-AND op in colluded images• K-resilient AND ACC code
– A binary code C={c1, c2, …, cn} such that the logical AND of any subset of K or fewer codevectors is non-zero and distinct from the logical AND of any other subset of K or fewer codevectors
– Example: {(1110), (1101), (1011), (0111)}• ACC code via combinatorial design
– Balanced Incomplete Block Design (BIBD)
1001011
0101101
0110011
0011110
1010101
1100110
1111000
CSimple Example ACC code via (7,3,1) BIBD for handling up to 2 colluders among 7 users
To explore further, see Trappe-Wu-Liu paper (2001).
Min Wu @ U. Maryland 2002 22ECE738 Advanced Image Processing
Anti-Collusion Fingerprint Codes (cont’d)
• (v,k,)-BIBD code is an (k-1)-resilient ACC– Defined as a pair (X,A) – X is a set of v points– A is a collection of blocks of X, each with k points– Every pair of distinct points is in exactly blocks
– # blocks
• Example (7,3,1) BIBD code– X={1,2,3,4,5,6,7}– A={123, 145, 167, 246, 257, 347, 356}
• Code length for n=1000 users– This code O( n0.5 ) ~ dozens bits– Prior art by Boneh-Shaw O( (log n)4) ~ thousands bits
kk
vvn
2
2
Min Wu @ U. Maryland 2002 23ECE738 Advanced Image Processing
Efficient Collusion Detection for Orth. Mod.
EffDet(y,S):
Break S into S0 and S1
if then
if |Sj| =1 then Output Sj,
else EffDet(y,Sj);
U1 U2 U3 U4 U5 U6 U7 U8
Lenna Fingerprinted with U1
TN | U1 ~ 4 = 20.75 TN | U5 ~ 8 = -0.22
TN | U1,2 = 29.53 TN | U3,4 = -0.85
TN | U1 = 42.72
TN | U2 = -0.59
U1 U2 U3 U4 U5 U6 U7 U8
Lenna Colluded with Fingerprints U1, U2 & U4
TN | U1 ~ 4 = 23.77 TN | U5 ~ 8 = -0.01
TN | U1,2 = 21.88 TN | U3,4 = 10.00
TN | U1 = 15.18
TN | U2 = 14.55
TN | U3 = -0.15
TN | U4 = 14.09
)S(SUM,y j
Amount of correlations needed:
Considerable reductions in computation!
1K/2logK12)K,n(C nlog2
2