a simula on of document detec on methods and reducing
play

A Simula)on of Document Detec)on Methods and Reducing - PowerPoint PPT Presentation

A Simula)on of Document Detec)on Methods and Reducing False Posi)ves for Private Stream Searching Michael Oehler University of Maryland Bal)more County


  1. A ¡Simula)on ¡of ¡Document ¡Detec)on ¡Methods ¡ ¡ and ¡Reducing ¡False ¡Posi)ves ¡for ¡ ¡Private ¡Stream ¡Searching ¡ Michael ¡Oehler ¡ University ¡of ¡Maryland ¡Bal)more ¡County ¡(UMBC) ¡ ¡ Data ¡Privacy ¡Management ¡ 13 ¡September ¡2013 ¡

  2. Mo8va8on ¡ • Private ¡Stream ¡Searching ¡ – A ¡system ¡of ¡cryptographic ¡methods ¡that ¡ • ¡ Preserves ¡the ¡confiden8ality ¡of ¡the ¡search ¡terms ¡and ¡results ¡ – Operates ¡over ¡a ¡stream ¡of ¡data ¡ • Results ¡are ¡saved ¡to ¡an ¡output ¡buffer ¡ – Collisions ¡are ¡possible. ¡False ¡Posi8ves ¡are ¡possible. ¡ – False ¡posi8ves ¡lead ¡to ¡a ¡non-­‑recoverable ¡error. ¡ • Build ¡a ¡“BeJer” ¡Document ¡Detec8on ¡Method ¡

  3. Outline ¡ • Concrete ¡Example ¡ • Introduc8on ¡ • A ¡“BeJer” ¡Detec8on ¡Method ¡ • Simula8on ¡Results ¡ • What’s ¡Next ¡

  4. Concrete ¡Example: ¡Document ¡Detec8on ¡ • “Documents” ¡are ¡tagged ¡with ¡k ¡bits ¡ – That ¡are ¡Par88oned ¡into ¡k/3 ¡triples ¡(3-­‑bits ¡each) ¡ • Each ¡triple ¡has ¡a ¡Hamming ¡weight ¡of ¡1 ¡ • A ¡document ¡is ¡detected ¡ – If ¡each ¡triple ¡has ¡a ¡Hamming ¡weight ¡of ¡1 ¡ triple 3 triple 2 A document triple 1 “How ¡now ¡brown ¡cow” ¡ 1, ¡0, ¡0 ¡ 0, ¡1, ¡0 ¡ 0, ¡0, ¡1 ¡

  5. Concrete ¡Example: ¡False ¡Posi8ve ¡ • The ¡client ¡receives ¡an ¡output ¡buffer ¡ – Interprets ¡this ¡as ¡a ¡valid ¡result ¡ ¡ triple 3 triple 2 A document triple 1 “!#@J%^U*&N!%K” ¡ 1, ¡0, ¡0 ¡ 0, ¡1, ¡0 ¡ 0, ¡0, ¡1 ¡ – And ¡(improperly) ¡subtracts ¡this ¡false ¡posi8ve ¡from ¡ the ¡output ¡buffer ¡ • Leading ¡to ¡an ¡Error ¡ • Do ¡“BeJer”? ¡

  6. Document ¡ Detec8on ¡ Client Information Provider Private ¡Stream ¡Searching ¡ The ¡Paillier ¡Cryptosystem ¡

  7. Paillier ¡Encryp8on ¡ Homomorphic Encryption Multiplication in the encrypted domain is addition in the plaintext domain: ( ) × E y ( ) → E x + y ( ) E x Decryption Reveals the Summation of the plaintext ( ) = x+y ( ) D E x + y

  8. The ¡Leap ¡ A one is used when the packet is of interest document = E document ( ) ( ) E 1 A zero is used when the packet is not relevant document = E 0 ( ) ( ) E 0 3 = E 1 ( ) ( ) × E 1 ( ) × E 1 ( ) = E 3 ( ) E 1 Exponentiation is just Multiplication…

  9. Document ¡ Detec8on ¡ Client Information Provider Private ¡Stream ¡Searching ¡ The ¡Paillier ¡Cryptosystem ¡

  10. Private ¡Stream ¡Searching ¡ • Ostrovsky ¡and ¡Skeith ¡ – A ¡system ¡of ¡cryptographic ¡methods ¡ ¡ – That ¡conceals ¡the ¡search ¡criteria ¡and ¡result ¡ – Based ¡extensively ¡on ¡the ¡homomorphic ¡property ¡of ¡the ¡ Paillier ¡Cryptosystem ¡

  11. Private ¡Stream ¡Search: ¡The ¡Query ¡ Client: ¡The ¡Query ¡ D = { w 1 , w 2 , w 3 , … } Define ¡ Public ¡Dic8onary ¡D ¡ ¡ Define ¡ Private ¡keywords ¡K ¡ K ⊆ D ¡ Create ¡ ¡ # E (1) w i ∈ K ¡ % an ¡encrypted ¡Keyword ¡ ∀ f i ∈ F f i = ¡ $ Filter ¡F ¡ ¡ ¡ E (0) otherwise % & ¡ ¡ Send ¡D ¡and ¡F ¡to ¡the ¡Informa8on ¡Provider ¡ ¡

  12. The ¡Query ¡ Create the Encrypted Keyword Filter F Lets define two private keywords: “dog” and “lazy” Dic)onary ¡ Encrypted ¡Filter ¡F ¡ apple ¡ f 0 =E(0) ¡ Set the dictionary entries: brown ¡ f 1 =E(0) ¡ cat ¡ f 2 =E(0) ¡ “dog” is of interest, f 3 = E(1) dog ¡ f 3 =E(1) ¡ “lazy” is of interest, f 4 = E(1) lazy ¡ f 4 =E(1) ¡ sunshine ¡ f 5 =E(0) ¡ vanilla ¡ f 6 =E(0) ¡ zulu ¡ f 7 =E(0) ¡

  13. Informa)on ¡Provider: ¡The ¡search ¡ Private ¡Stream ¡Search: ¡The ¡Search ¡ Receives ¡the ¡Filter ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡F ¡ Construct ¡the ¡output ¡ { } { ( ) , E 0 ( ) } , E 0 { ( ) , E 0 ( ) } B = E 0 Buffer ¡ d = "See the quick brown fox..." For ¡each ¡ Document ¡do ¡ Append ¡ ¡the ¡triples ¡ d ' = d || triples Extract ¡ dic8onary ¡words ¡ ¡ w ∈ d ¡ ¡ ∏ Calculate ¡Match ¡Value ¡ s = E ( m d ) = f k ∀ w k ∈ d ∈ D ¡ k Calculate ¡search ¡result ¡ r = s d ' = E ( m ) d ' = E ( m × d ') ¡ { } { } , E 0 { } Save ¡the ¡result ¡to ¡buffer ¡ ( ) , E m × d ' ( ) ( ) , E 0 ( ) B = E m Send ¡the ¡buffer ¡to ¡the ¡Defender ¡

  14. The ¡Search ¡ Given a document with appended triples: d’ = 4 ¡ 2 ¡ 1 ¡ See ¡the ¡quick ¡brown ¡fox ¡jump ¡over ¡the ¡lazy ¡dog. ¡ Calculate the The encrypted filter, F Encrypted Match Value for d’: Dic)onary ¡ Encrypted ¡Keyword ¡Filter ¡ apple ¡ f 0 =E(0) ¡ E ( m d ) = f 1 ⋅ f 3 ⋅ f 4 brown ¡ f 1 =E(0) ¡ cat ¡ f 2 =E(0) ¡ = E (0 + 1 + 1) = E (2) dog ¡ f 3 =E(1) ¡ lazy ¡ f 4 =E(1) ¡ sunshine ¡ f 5 =E(0) ¡ vanilla ¡ f 6 =E(0) ¡ Two words match zulu ¡ f 7 =E(0) ¡

  15. The ¡Search ¡ Continuing our “quick brown fox” example Calculate the result i = s d i = E (2) d ' r = E (2 × d ') Document and triples are scaled by the number of matching keywords: 2

  16. The ¡Search ¡ Match ¡Value ¡ Document ¡ Save the result E(2) ¡ E(2×d’) ¡ 0 ¡ 0 ¡ { E (2), E (2) × E ( d ') } 0 ¡ 0 ¡ E(2) ¡ E(2×d’) ¡ E(2) ¡ E(2×d’) ¡ Into three buffer positions: 0 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡

  17. Private ¡Stream ¡Search: ¡The ¡Result ¡ Client: ¡The ¡Result ¡ Receive ¡the ¡Buffer ¡ Decrypt ¡the ¡Buffer ¡ ¡ ¡ ( ) { } { } , E (0), E (0) ( ) , E 2 × d ' ( ) B = D E 2 { } ¡ ¡ Detect ¡Document ¡ To ¡extract ¡a ¡matching ¡document ¡Each ¡triple ¡must ¡have ¡a ¡ Hamming ¡weight ¡of ¡one ¡ Return ¡ Matching ¡ ¡ ¡ { } = "See the quick brown fox..." Documents ¡ ¡ ¡

  18. Document ¡ Detec8on ¡ Client Information Provider Private ¡Stream ¡Searching ¡ The ¡Paillier ¡Cryptosystem ¡

  19. False ¡Posi8ves ¡with ¡Triples ¡ For example, let d 1 =576 8 . Let the triples be 4, 2, 1. And there is a match on 2 keywords 576 8 ¡ 4 8 ¡ 2 8 ¡ 1 8 ¡ { } Gets saved Then E (2), E (1375042 8 ) Let d 2 =675 8 . Let the triples be 1, 2, 4. And a match on 5 keywords 675 8 ¡ 1 8 ¡ 2 8 ¡ 4 8 ¡ Then { E (5), E (4261644 8 ) } Gets saved

  20. False ¡Posi8ves ¡with ¡Triples ¡ If the provider saved both of these results to the same buffer position: b 0 = E (2), E (1375042 8 ) { } × E (5), E (4261644 8 ) { } { } = E (7), E (5656706 8 ) Multiple results can be saved to the same buffer position forming a linear combination

  21. False ¡Posi8ves ¡with ¡Triples ¡ Then and for Document Detection, the client divides: = 5656706 8 / 7 = 653212 8 And Confirms the Hamming weight on each triple is 1 653 8 ¡ 2 8 ¡ 1 8 ¡ 2 8 ¡ Returns the document: 653 8 a False Positive

  22. Consequence: ¡ non-­‑recoverable ¡error ¡ Client subtracts the false positive. Induces an error. Preventing further document detection After Subtracting The New Buffer Original Decrypted Output Buffer B holds errant values Match ¡Value ¡ Document ¡ Match ¡Value ¡ Document ¡ Subtract 7 ¡ 653212 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ 1 ¡ 888421 ¡ 1 ¡ 888421 ¡ 2 ¡ 1776222 ¡ -­‑5 ¡ 1123010 ¡ 0 ¡ 0 ¡ -­‑7 ¡ -­‑653212 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡

  23. A ¡New ¡Document ¡Detec8on ¡Method ¡ • Informa8on ¡Provider ¡Appends ¡a ¡k-­‑bit ¡ truncated ¡hash ¡of ¡the ¡document: ¡ d ' = d ||( H ( d )&(2 k − 1)) • Client ¡Document ¡Detec8on: ¡If ¡the ¡append ¡ hash ¡matches ¡a ¡calculated ¡hash ¡ • Subtle ¡change ¡with ¡big ¡effect ¡

  24. Simula8on: ¡Parameters ¡ • Simula8on ¡addresses ¡a ¡variety ¡of ¡parameters ¡ – Number ¡of ¡bits: ¡k ¡= ¡{9,12,15,21, ¡…} ¡ • the ¡number ¡of ¡triples ¡or ¡size ¡of ¡the ¡truncated ¡hash ¡ – More ¡bits ¡decreases ¡the ¡rate ¡of ¡false ¡posi8ves ¡ – Number ¡of ¡documents ¡(1000 ¡in ¡each ¡trial) ¡ • Number ¡of ¡documents ¡added ¡in ¡a ¡collision ¡(2,3,4,5) ¡ – Ten ¡(10) ¡trials ¡over ¡each ¡set ¡of ¡1000 ¡ ¡

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