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 ¡ ¡

Recommend


More recommend