ece738 advanced image processing data hiding (3 of 3) curtsey of professor min wu electrical &...

23
ECE738 Advanced Image Processing Data Hiding (3 of 3) Curtsey of Professor Min Wu Electrical & Computer Engineering Univ. of Maryland, College Park

Upload: beatrix-may

Post on 29-Dec-2015

214 views

Category:

Documents


1 download

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 2ECE738 Advanced Image Processing

Watermark-Based Authentication

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 9ECE738 Advanced Image Processing

Issues Beyond Embedding Mechanism

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