Download presentation
Presentation is loading. Please wait.
Published byBeatrix May Modified over 9 years ago
1
ECE738 Advanced Image Processing Data Hiding (3 of 3) Curtsey of Professor Min Wu Electrical & Computer Engineering Univ. of Maryland, College Park
2
ECE738 Advanced Image Processing Min Wu @ U. Maryland 2002 2 Watermark-Based Authentication
3
ECE738 Advanced Image Processing Min Wu @ U. Maryland 2002 3 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)
4
ECE738 Advanced Image Processing Min Wu @ U. Maryland 2002 4 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?
5
ECE738 Advanced Image Processing Min Wu @ U. Maryland 2002 5 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 quickly 2) 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
6
ECE738 Advanced Image Processing Min Wu @ U. Maryland 2002 6 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 3 rd 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
7
ECE738 Advanced Image Processing Min Wu @ U. Maryland 2002 7 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 26Q lookup table mapping… 0 0 1 0 …
8
ECE738 Advanced Image Processing Min Wu @ U. Maryland 2002 8 unchangedcontent 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
9
ECE738 Advanced Image Processing Min Wu @ U. Maryland 2002 9 Issues Beyond Embedding Mechanism
10
ECE738 Advanced Image Processing Min Wu @ U. Maryland 2002 10 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 Upper Layers Uneven capacity equalization Error correction Security …… Lower Layers Imperceptible embedding of one bit Multiple-bit embedding Coding of embedded data Robustness Capacity Imperceptibility
11
ECE738 Advanced Image Processing Min Wu @ U. Maryland 2002 11 Techniques For Multi-bit Embedding Amplitude modulation –Use M different amplitude of watermark to represent log 2 M 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 log 2 M or log 2 (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 patterns 1st bit 2nd bit...
12
ECE738 Advanced Image Processing Min Wu @ U. Maryland 2002 12 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 of M. 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
13
ECE738 Advanced Image Processing Min Wu @ U. Maryland 2002 13 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
14
ECE738 Advanced Image Processing Min Wu @ U. Maryland 2002 14 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
15
ECE738 Advanced Image Processing Min Wu @ U. Maryland 2002 15 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
16
ECE738 Advanced Image Processing Min Wu @ U. Maryland 2002 16 What Data to Embed? Recall: Important to determine what data to embed in authentication applications
17
ECE738 Advanced Image Processing Min Wu @ U. Maryland 2002 17 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 w1w1 w2w2 w3w3 Sell
18
ECE738 Advanced Image Processing Min Wu @ U. Maryland 2002 18 Embedded Fingerprinting for Multimedia embed Fingerprint original mediacompress extract 101101 … Customer: Eve Sell Content Suspicious Suspicious 101101 … CandidateFingerprint Search Database Customer: Eve Fingerprint Tracing:
19
ECE738 Advanced Image Processing Min Wu @ U. Maryland 2002 19 Collusion Scenarios... Averaging Attack Interleaving Attack Result of collusion: Fingerprint energy decreases Jointly design encoding and embedding of fingerprints
20
ECE738 Advanced Image Processing Min Wu @ U. Maryland 2002 20 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 Averaging Uniquely Identify User 1 & 4
21
ECE738 Advanced Image Processing Min Wu @ U. Maryland 2002 21 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={c 1, c 2, …, c n } 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) Simple 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).
22
ECE738 Advanced Image Processing Min Wu @ U. Maryland 2002 22 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( n 0.5 ) ~ dozens bits –Prior art by Boneh-Shaw O( (log n) 4 ) ~ thousands bits
23
ECE738 Advanced Image Processing Min Wu @ U. Maryland 2002 23 Efficient Collusion Detection for Orth. Mod. EffDet(y,S): Break S into S 0 and S 1 if then if |S j | =1 then Output S j, else EffDet(y,S j ); Amount of correlations needed: Considerable reductions in computation!
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.