580 likes | 703 Views
A video authentication scheme for H.264/AVC Main profile. Nandakishore Ramaswamy Multimedia Processing Lab July 9 th , 2004. Agenda. Objectives Introduction Previous work Encoder/Decoder description Simulation Results Conclusion and Future work References. Objectives.
E N D
A video authentication scheme for H.264/AVC Main profile Nandakishore Ramaswamy Multimedia Processing Lab July 9th, 2004.
Agenda • Objectives • Introduction • Previous work • Encoder/Decoder description • Simulation Results • Conclusion and Future work • References
Objectives • Verify the integrity of the video bitstream compressed by H.264/AVC Main Profile • Identify the originator (sender) of the video
Introduction • Multimedia authentication: - Verify the integrity of the multimedia signal a) Hard authentication: -Allows no alteration of the pixel values. b) Soft authentication: -Accepts manipulations of the pixel values which preserve the semantic structure of the multimedia signal. Typically, cryptographic techniques are used for authentication and verification.
Digital Signature Vs Encryption • Digital Signature Alice wants to sign and send a message to Bob Alice Digital Signature Encryption algorithm Original Message Alice’s private key Bob Messages match Encryption algorithm Yes = Signature Verified No= Signature Verification failed Received Digital Signature Alice’s public key Received Message
Digital Signature Vs Encryption (contd.) • Encryption Alice wants to encrypt and send a message to Bob Alice Cipher message Encryption algorithm Original Message Bob’s public key Bob Encryption algorithm Original Message Received cipher message Bob’s private key
Introduction (contd.) • A generic video authentication process [1]
Introduction (contd.) • A generic video verification process [1]
Digital Signature Standard • Digital signature standard (DSS) a) Developed by NIST b) Consists of two parts - Secure Hash Algorithm (SHA) - Digital Signature Algorithm (DSA)
(DSA and SHA)’s relationship Signature Generation Signature Verification Received Message Original Message Secure Hash Algorithm Secure Hash Algorithm 160 bits Message Digest Message Digest 160 bits DSA Verify Operation DSA Sign operation Public Key 320 bits 320 bits Private Key Signature Yes = Signature Verified No= Signature Verification failed Source:- Federal Information Processing Standards Publications –180 http://www.itl.nist.gov/fipspubs/fip180-1.htm
Rivest Shamir and Adleman (RSA) Encryption Let m = Input Message e = Encrypted message n = Common parameter pr = Private Key pb = Public Key • Encryption e = mpr * mod(n) • Decryption m = epb * mod(n)
Previous Work • Digital signature generation using block means [2] Division into 8x8 blocks Block mean computation Quantization Encryption Sender’s secret key Original Image Digital Signature
Previous Work (contd.) • Digital signature verification using block means [2] Division into 8x8 blocks Extract Block means before inverse quantization Block means match No Decryption Received Image Image NOT Authentic Yes Received signature Sender’s public key Image Authentic
Previous Work (contd.) • Digital signature in JPEG-2000 [3] Every code-block of the compressed image is hashed using Secure Hash Algorithm and appended at the end of the bitstream. 160 bit digest Encrypt using RSA JPEG-2000 code-block Compute hash using SHA Sender’s public key Append to bitstream • For verification, received image’s code-blocks are hashed and matched with decrypted hash.
Encoder/Decoder description A video authentication scheme for H.264/AVC Main profile
Encoder • Luma values only • Features taken in transform domain • Intra and Inter MB’s • Signature for every coded video sequence
Encoder (contd.) • Intra 4x4 and Inter MB (0,3) (0,3) (0,0) 4X4 integer DCT (0,0) T Q (3,0) (3,0) (3,3) (3,3) Original residual block Transformed and quantized block Feature data
Encoder (contd.) • Intra 16x16 MB Transformed 16x16 MB 4X4 Hadamard transform T Q 4X4 integer DCT T Original 16x16 MB residual Quantized Hadamard coefficients Q Feature data
Encoder (contd.) • Collect all feature data of a MB for every picture. • Insert picture number after a picture is coded • Repeat process until end of sequence
Encoder (contd.) • Signature generation for a coded video sequence H Generate signature D=DSA(H) Feature data Hash (SHA) D Sender’s private key Append as SEI to video bitstream Encryption E= RSA(D) E Receiver’s public key
Encoder (contd.) • Multiple signature generation a) Video = 1 or more video sequences b) Generate signature for every video sequence c) Append every signature as SEI in the corresponding video sequence
Decoder (contd.) • Luma values only • Features taken in transform domain • Signature verification for every coded video sequence
Decoder (contd.) • Intra 4x4 and Inter MB’s (0,0) (0,3) Feature data (3,0) (3,3) 4x4 block of transform coefficients before inverse quantization
Decoder (contd.) • Intra 16x16 MB 15 AC coefficients Transformed 16x16 MB before inverse quantization Hadamard coefficients before inverse quantization Feature data
Decoder (contd.) • Collect all feature data of a MB for every picture. • Insert picture number after a picture is decoded • Repeat process until end of sequence
Decoder (contd.) • Signature verification for a coded video sequence Feature data H’ Hash (SHA) Verify signature D’’ = DSV(H’,D’) Sender’s public key D’’ D’ D’’=D’ E’ Received video and signature Video Authenticated Decryption D’=RSA-1(E’) Yes No Receiver’s private key Video NOT Authenticated
Decoder (contd.) • Tampering frames = Signature failure • Sender forgery = Signature failure • Cannot point out the reason of signature failure • If tampered, cannot point out location of tampering • Modify encoder to accommodate these issues
Revised Encoder • Compute hash of every picture in the coded video sequence. • Signature failure = Match decoder hash • Inter and Intra for hash computation • Transform domain values only • Luma frames • Authentication data = Signature + Hash
Hash computation • Intra 4x4 and Inter MB (0,3) (0,3) (0,0) 4X4 integer DCT (0,0) T Q (3,0) (3,0) (3,3) (3,3) Original residual block Transformed and quantized block Feature data
Hash computation (contd.) • Intra 16x16 MB Transformed 16x16 MB 4X4 Hadamard transform T Q 4X4 integer DCT T Original 16x16 MB residual Quantized Hadamard coefficients Q Feature data
Hash computation (contd.) • Hash generation for a picture PH Feature data for a picture Hash PH = SHA(data) Encryption EH= RSA(PH) EH Receiver’s public key Append as SEI to video bitstream Repeat process for every picture in the coded video sequence
Tampered locations and sender forgery Signature Failure Receiver’s private key Decrypt hashes Compute Hash for every picture All Hashes match? Signature failure due to sender forgery Signature failure due to tampering. (Identify tampered locations) No Yes
Decoder Hash Computation • Intra 4x4 and Inter MB: - DC and AC coefficients of every 4x4 block before inverse quantization (0,3) (0,0) Feature data (3,0) (3,3) 4x4 block of transform coefficients before inverse quantization
Decoder Hash Computation (contd.) • Intra 16x16 MB 15 AC coefficients Transformed 16x16 MB before inverse quantization Hadamard coefficients before inverse quantization Feature data
Simulation Results A video authentication scheme for H.264/AVC Main profile
DSA common parameters • Private Key 932308816105877193346324924405238358561797363453 • Public Key 49250364518976760201935612031242625664970300784488999206628913898684885553279548885211476769179063848086265981390552828860770995411616739007429069330033064008697384549473384637876060915808531747270579608164016570165925297909070695052210446426918824013612814674507994466578915575028597282519755964472561590380
Results for one coded video sequence • Common Parameters Total frames encoded = 59 Total coefficients = 12501 Encoder signature r = 258230994199886379618680381531392644375747268307 s = 553921005467375065529673563440116158716908054793 • Without tampering or forgery Decoder Signature v = 258230994199886379618680381531392644375747268307 Since r = v, signature is verified.
Results for one coded video sequence (contd.) • Frame tampering Frame 0 = I frame = tampered Location = 1st Intra 16x16 block, DC coefficient at (0,0) after Hadamard transform and quantization Original value = 5 Modified value = 15 Decoder signature v = 363510879679629003962752313295967888200812862057 But r = 258230994199886379618680381531392644375747268307 Since, r is not equal to v, Signature is NOT verified.
Results for one coded video sequence (contd.) • Hash of all pictures in the video sequence are compared. Picture 0 Encoder Hash = 244521134779192871239422005322433514569730613982 Decoder Hash =564856327811211747778209339112070483726931840033 Hashes are NOT equal. Tampered location = Picture 0
Results for one coded video sequence (contd.) • Detecting malicious activity Private key used to sign video = Imposter’s Public key used to verify = Legal user’s Original Private Key = 932308816105877193346324924405238358561797363453 Imposter’s private key = 13230881610587719334632492440523835856179736345
Results for one coded video sequence (contd.) • Encoder signature r = 258230994199886379618680381531392644375747268307 s = 659115584368708655163218960845447884312706027895 • Decoder signature v = 757611328353143787983558147251463660400321700712 Since r is NOT equal to v,signature is NOT verified. • Encoder hashes = Decoder hashes Thus, signature failure due to malicious activity.
Results for one coded video sequence (contd.) • Robustness to quantization Sequence is encoded with QP 29 Encoder signature r = 258230994199886379618680381531392644375747268307 s = 553921005467375065529673563440116158716908054793
Results for one coded video sequence (contd.) • Sequence is re-encoded with QP 35 Decoder signature v = 450045542578458967124875488958087354781835818707 Since r is NOT equal to v, Video is NOT authenticated.
Results for one coded video sequence (contd.) • Frame reordering attack Original Re-ordered
Results for one coded video sequence (contd.) • DC Attack : - Block mean kept the same but values modified. T Q Original Block Transformed Block Quantized Block T Q Modified Block Transformed Block Quantized Block
Results for one coded video sequence (contd.) • When using only DC coefficient Encoder Signature (Original Block) Decoder Signature (Modified Block) Video is authenticated (Signatures match) even though the block has changed!
Results for one coded video sequence (contd.) • When using DC and AC coefficients Encoder Signature (Original Block) Decoder Signature (Modified Block) Video is NOT authenticated. Robust to DC attack!
Results for one coded video sequence (contd.) • Encoder signature r = 258230994199886379618680381531392644375747268307 s = 553921005467375065529673563440116158716908054793 • Decoder signature v = 796457292123352592426447215935643118188436156788 Since r is NOT equal to v,signature is NOT verified.
Results for multiple coded video sequence (contd.) • Total number of frames encoded = 59 • Total number of video sequences = 6 • Total number of signatures = 6 Encoder Signature 1 Total number of coefficients = 4334 r = 258230994199886379618680381531392644375747268307 s = 602843151256385963511141755924782867386260766615
Results for multiple coded video sequence (contd.) Encoder Signature 2 Total number of coefficients = 3724 r = 258230994199886379618680381531392644375747268307 s = 909298954038809272308410772111508639025580732794 Encoder Signature 3 Total number of coefficients = 3896 r = 258230994199886379618680381531392644375747268307 s = 37131761566210379177239004151768998162822235640 Encoder Signature 4 Total number of coefficients = 4561 r = 258230994199886379618680381531392644375747268307 s = 219871236647467187087134837911922129305756281586