cryptographic program watermarking
play

Cryptographic Program Watermarking Julien Braine , ENS Lyon 2015 - PowerPoint PPT Presentation

Introduction Basic Watermarking scheme Additional goals Applications Limits Conclusion Cryptographic Program Watermarking Julien Braine , ENS Lyon 2015 Internship with Ron Steinfeld , Faculty of IT 17 August 2015 Julien Braine Cryptographic


  1. Introduction Basic Watermarking scheme Additional goals Applications Limits Conclusion Cryptographic Program Watermarking Julien Braine , ENS Lyon 2015 Internship with Ron Steinfeld , Faculty of IT 17 August 2015 Julien Braine Cryptographic Program Watermarking 17 August 2015 1/28

  2. Introduction Basic Watermarking scheme Additional goals Applications Limits Conclusion What is watermarking ? Company C Program P Bob Alice Protecting Authorship Julien Braine Cryptographic Program Watermarking 17 August 2015 2/28

  3. Introduction Basic Watermarking scheme Additional goals Applications Limits Conclusion What is watermarking ? Company C Program P Jon Bob Alice Program P Protecting Authorship Prove that Jon’s P was produced by C Julien Braine Cryptographic Program Watermarking 17 August 2015 2/28

  4. Introduction Basic Watermarking scheme Additional goals Applications Limits Conclusion What is watermarking ? Company C Program P Jon Bob Alice Program P Protecting Authorship Prove that Jon’s P was produced by C Bonus : who gave P to Jon ? Julien Braine Cryptographic Program Watermarking 17 August 2015 2/28

  5. Introduction Basic Watermarking scheme Additional goals Applications Limits Conclusion Embedding a mark To protect authorship, the company C will add a mark, to P indicating that it is their program. Figure: Image watermarking [PMA11] Mark properties • Must not alter the program’s functionality • Must be hard to remove • The presence of a mark is deliberate Julien Braine Cryptographic Program Watermarking 17 August 2015 3/28

  6. Introduction Basic Watermarking scheme Additional goals Applications Limits Conclusion Program Watermarking By changing the implementation [IN10]. Simple examples : 1. Change order creation of variables 2. Change instructions to equivalent ones x = x + 1 ⇔ x = x − ( − 1) Issues • Hard to do : decompilers • No formal security proof framework • There might be a general attack [GGH + 13] Julien Braine Cryptographic Program Watermarking 17 August 2015 4/28

  7. Introduction Basic Watermarking scheme Additional goals Applications Limits Conclusion Indistinguishability Obfuscation Indistinguishability Definition We say that distributions D 1 and D 2 are indistinguishable if for all polynomial time adversary A , | Pr ( A ( D 1 ) = 1) − Pr ( A ( D 2 ) = 1) | ≃ 0. Indistinguishability Obfuscation Definition [BGI + 01] iO is an indistinguishability obfuscator* if ∀ C , C ′ ( ∀ x , C ( x ) = C ′ ( x )) ⇒ iO ( C ) indistinguishable of iO ( C ′ ) Consequence • Implementation changes only can not work • Functionality changes needed, but must be invisible Julien Braine Cryptographic Program Watermarking 17 August 2015 5/28

  8. Introduction Basic Watermarking scheme Additional goals Applications Limits Conclusion A brief History of IO IO definition proposal. First impossibility First IO IO for watermarking result on software construction starts. watermarking proposal. [CHV15] [NW15] [BGI + 01] 2001 [GGH + 13] 2013 2015 - Now Nothing happens. An IO era of Implementation cryptography. Watermarking 2013 - Now continues. [IN10] 2010 Julien Braine Cryptographic Program Watermarking 17 August 2015 6/28

  9. Introduction Basic Watermarking scheme Additional goals Applications Limits Conclusion Watermarking definition [CHV15] Let C be set of circuits we want to watermark or hide watermarked circuits in. Scheme = ( Setup , Mark , Verify ) • Functionality preservation : Pr ( Mark ( C ) ≡ C | C ← ֓ U ( C )) ≃ 1. • Correctness : Pr ( Verify ( Mark ( C )) = 1 | C ← ֓ U ( C )) ≃ 1. • Unremovability : ∀ A , Pr ( A ( C ′ ) ≡ C and Verify ( A ( C ′ )) = 0 | C ′ = Mark ( C ) , C ← ֓ U ( C )) ≃ 0. • Meaningfulness : most circuits are unmarked or marked circuits can not be forged Remarks 1. C is given ⇒ we are hiding the circuit within C 2. Properties satisfied for an average C � = for all C Julien Braine Cryptographic Program Watermarking 17 August 2015 7/28

  10. Introduction Basic Watermarking scheme Additional goals Applications Limits Conclusion Table of contents Basic Watermarking scheme Additional goals Applications Limits Julien Braine Cryptographic Program Watermarking 17 August 2015 8/28

  11. Introduction Basic Watermarking scheme Additional goals Applications Limits Conclusion Construction Setup () x ∗ ← ֓ D ( I ) y ∗ ← ֓ D ′ ( O ) Mark(C) = return iO ( : function x ∗ → y ∗ x → C( x ) when x � = x ∗ ) ; V e r i f y (C) = return C( x ∗ )== y ∗ Properties • Have : functionality, correctness and meaningfulness. • Need : Unremovability Julien Braine Cryptographic Program Watermarking 17 August 2015 9/28

  12. Introduction Basic Watermarking scheme Additional goals Applications Limits Conclusion Input and Output Distribution Attack Setup () x ∗ ← ֓ D ( I ) y ∗ ← UnMark(C) = ֓ D ′ ( O ) function : x → ⊥ when D ( x ) big Mark (C) = return iO ( f u n c t i o n : | x → ⊥ when D ′ ( C ( x )) � = C ( I ) x ∗ → y ∗ x → C( x ) when x � = x ∗ | x − > C( x ) in other cases ) ; ) ; V e r i f y (C) = return C( x ∗ )== y ∗ Conclusion • Pick x ∗ uniformly in I ⇒ Have Sampler in I • Pick y ∗ uniformly in C (I) ⇒ Have Sampler in C (I) Julien Braine Cryptographic Program Watermarking 17 August 2015 10/28

  13. Introduction Basic Watermarking scheme Additional goals Applications Limits Conclusion The property Attack Assume circuits in C have a property. For example C ( x + 1) = xC ( x ). Setup () x ∗ ← ֓ D ( I ) y ∗ ← UnMark(C) = ֓ D ′ ( O ) function : Mark (C) = return iO ( f u n c t i o n : x → ⊥ when C ( x + 1) � = xC ( x ) x ∗ → y ∗ x → C( x ) when x � = x ∗ | x → C( x ) otherwise ) ; ) ; V e r i f y (C) = return C( x ∗ )== y ∗ Conclusion • Properties ⇒ hard to watermark • Sets of circuits with no properties ? Julien Braine Cryptographic Program Watermarking 17 August 2015 11/28

  14. Introduction Basic Watermarking scheme Additional goals Applications Limits Conclusion PPRFs Definition [BW13] A set C = { C k } is a PPRF set iff • C is a PRF : ∀ PPT A , | Pr ( A C k () = 1 | C k ← ֓ C ) − Pr ( A C () = 1 | C ← ֓ U ( O I )) | ≃ 0. • C is puncturable (resistant to property attacks) : ∀ C , ∀ x ∗ , ∃ punctured key k ′ • Given only k ′ and x we can calculate C ( x ) for any x � = x ∗ • Given k ′ , C ( x ∗ ) is indistinguishable from uniform. Julien Braine Cryptographic Program Watermarking 17 August 2015 12/28

  15. Introduction Basic Watermarking scheme Additional goals Applications Limits Conclusion Proof of Unremovability for PPRFs Proof by contradiction [NW15]. Mark (C) = return iO ( f u n c t i o n : x ∗ → y ∗ 1. Remover R for our scheme. x → C( x ) when x � = x ∗ ) ; Julien Braine Cryptographic Program Watermarking 17 August 2015 13/28

  16. Introduction Basic Watermarking scheme Additional goals Applications Limits Conclusion Proof of Unremovability for PPRFs Proof by contradiction [NW15]. Mark (C) = return iO ( f u n c t i o n : x ∗ → y ∗ 1. Remover R for our scheme. x → C( x ) when x � = x ∗ ) ; 2. Distinguisher for ( Mark ( C ) , x ∗ ) and ( Mark ( C ) , U ( I )) Julien Braine Cryptographic Program Watermarking 17 August 2015 13/28

  17. Introduction Basic Watermarking scheme Additional goals Applications Limits Conclusion Proof of Unremovability for PPRFs Proof by contradiction [NW15]. Mark (C) = return iO ( f u n c t i o n : x ∗ → y ∗ 1. Remover R for our scheme. x → C( x ) when x � = x ∗ ) ; 2. Distinguisher for ( Mark ( C ) , x ∗ ) and ( Mark ( C ) , U ( I )) Mark (1) (C) = return iO ( 3. Distinguisher for ( Mark (1) ( C ) , x ∗ ) and f u n c t i o n : x ∗ → y ∗ ( Mark (1) ( C ) , U ( I )) x → P x ∗ ( C ) ( x ) when x � = x ∗ ) ; Julien Braine Cryptographic Program Watermarking 17 August 2015 13/28

  18. Introduction Basic Watermarking scheme Additional goals Applications Limits Conclusion Proof of Unremovability for PPRFs Proof by contradiction [NW15]. Mark (C) = return iO ( f u n c t i o n : x ∗ → y ∗ 1. Remover R for our scheme. x → C( x ) when x � = x ∗ ) ; 2. Distinguisher for ( Mark ( C ) , x ∗ ) and ( Mark ( C ) , U ( I )) Mark (1) (C) = return iO ( 3. Distinguisher for ( Mark (1) ( C ) , x ∗ ) and f u n c t i o n : x ∗ → y ∗ ( Mark (1) ( C ) , U ( I )) x → P x ∗ ( C ) ( x ) when x � = x ∗ ) ; 4. Distinguisher for ( Mark (2) ( C ) , x ∗ ) and ( Mark (2) ( C ) , U ( I )) Mark (2) (C) = return iO ( f u n c t i o n : x ∗ → C ( x ∗ ) x → P x ∗ ( C )( x ) when x � = x ∗ ) ; Julien Braine Cryptographic Program Watermarking 17 August 2015 13/28

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend