SOFSEM 2008 Filtering unwanted Proofs of communication and its application e-mails Proof-of-work for fighting spam Proof-of- communication Location generation Preparing proofs Verifying proof Marek Klonowski Tomasz Strumi´ nski Open problems Conclusions Wrocław University of Technology Nov´ y Smokovec, January 2008
Agenda SOFSEM 2008 Filtering unwanted e-mails filtering unwanted mail Proof-of-work previous work: regular proof-of-work Proof-of- communication proofs-of-communication (POC) Location generation creating the POC Preparing proofs Verifying proof verifying the POC Open problems open problems Conclusions conclusions
SOFSEM 2008 Filtering unwanted e-mails Proof-of-work Proof-of- communication Filtering unwanted e-mails Location generation Preparing proofs Verifying proof Open problems Conclusions
Filtering unwanted e-mails SOFSEM 2008 Filtering Spam filtering unwanted e-mails 1 content filtering Proof-of-work even the most sophisticated methods can be fooled Proof-of- communication new spam types demand instant filters adjustment Location generation (image spam, pdf spam) Preparing proofs Verifying proof 2 address filtering (blacklist, whitelist) Open problems address spoofing/forgering Conclusions 3 challenge-response systems (CAPTCHA) 4 hybrid systems – the most popular presently
SOFSEM 2008 Filtering unwanted e-mails Proof-of-work Proof-of- communication Proof-of-work for spam filtering Location generation Preparing proofs Verifying proof Open problems Conclusions
Idea of Proof-of-work SOFSEM C. Dwork and M. Naor (in 1992) proposed proof-of-work as 2008 an electronic stamp Filtering Proof-of-work (POW) unwanted e-mails 1 the sender performs some computation to prove his Proof-of-work honesty – computation increases costs of sending Proof-of- spam (it is believed that computing proper POW for communication Location generation every single mail is not feasible for the spammer) Preparing proofs Verifying proof 2 e-mail with attached POW is sent to the recipient Open problems 3 the recipient checks if the POW is valid Conclusions
Idea of Proof-of-work SOFSEM C. Dwork and M. Naor (in 1992) proposed proof-of-work as 2008 an electronic stamp Filtering Proof-of-work (POW) unwanted e-mails 1 the sender performs some computation to prove his Proof-of-work honesty – computation increases costs of sending Proof-of- spam (it is believed that computing proper POW for communication Location generation every single mail is not feasible for the spammer) Preparing proofs Verifying proof 2 e-mail with attached POW is sent to the recipient Open problems 3 the recipient checks if the POW is valid Conclusions POW essential properties 1 moderatly hard to compute 2 very easy to verify 3 any preprocessing should be useless
Example – POW for spam prevention SOFSEM 2008 POW must depend on Filtering 1 sender and recipient addresses ( sender, recipient ) unwanted e-mails 2 e-mail content ( message ) Proof-of-work 3 date and time of sending ( timestamp ) Proof-of- communication Location generation Preparing proofs Verifying proof Open problems Conclusions
Example – POW for spam prevention SOFSEM 2008 POW must depend on Filtering 1 sender and recipient addresses ( sender, recipient ) unwanted e-mails 2 e-mail content ( message ) Proof-of-work 3 date and time of sending ( timestamp ) Proof-of- communication Location generation Preparing proofs POW example – Hashcash – partial SHA-1 collision Verifying proof Open 1 find k such that the l most significant bits of problems SHA-1 ( message || sender || receiver || timestamp || k ) Conclusions are zeros 2 2 l − 1 tries required on average 3 one computation of SHA-1 function for verifying
Proof-of-work SOFSEM 2008 the hardness of the POW should be high enough to Filtering unwanted make a spamming too expensive e-mails Proof-of-work ... but it also should not be inconvenient for honest Proof-of- sender communication Location generation Preparing proofs Problems Verifying proof Open 1 after one time investement spammer can still send a lot problems of e-mails (parallel computing of POWs) Conclusions 2 effort for the recipient (checking proof) 3 POW computation can be irritating for honest senders
SOFSEM 2008 Filtering unwanted e-mails Proof-of-work Proof-of- Our approach: communication Location generation Preparing proofs Proof-of-communication Verifying proof Open problems Conclusions
Proof-of-communication (POC) SOFSEM 2008 POC are based on a sender’s Internet connection bandwith Filtering unwanted The idea e-mails 1 sender uses a particular e-mail to generate list of hosts Proof-of-work Proof-of- 2 he communicates with each of the host from the list communication Location generation 3 communication involves some resource/documents Preparing proofs Verifying proof exchanging Open problems 4 the POC is a sequence of bytes which proves that for a Conclusions particular e-mail communication with hosts from list was performed 5 an e-mail with an attached POC is sent to the recipient 6 the recipient checks if attached POC is valid
Proof-of-communication (POC) SOFSEM 2008 Filtering unwanted Important advantages e-mails Proof-of-work 1 a spammer cannot control even a significant Proof-of- number of hosts in the network communication Location generation 2 even powerful spammer with fast computer cannot Preparing proofs Verifying proof create POC significantly faster Open problems 3 proof-of-communication does not depend on CPU Conclusions speed
POC requirements SOFSEM 2008 Filtering POC is similar to POW therefore it also depends on unwanted e-mails message , recipient and sender address, timestamp . Proof-of-work Proof-of- communication Specific POC requirements Location generation Preparing proofs 1 low traffic overhead Verifying proof Open 2 dynamic content tolerance problems 3 no dedicated infrastructure required Conclusions 4 low connection overhead for POC verification
POC Construction – proof of concept SOFSEM 2008 Our implementation Filtering unwanted without dedicated infrastructure e-mails on the top of existing Internet protocol Proof-of-work Proof-of- communication Location generation Preparing proofs Verifying proof Open problems Conclusions
POC Construction – proof of concept SOFSEM 2008 Our implementation Filtering unwanted without dedicated infrastructure e-mails on the top of existing Internet protocol Proof-of-work Proof-of- communication Location generation HTTP Based POC Preparing proofs Verifying proof 1 generating a list of random webpage locations from a Open particular e-mail data problems Conclusions 2 transfering all the webpages 3 making a digest from transfered documents 4 later: verifying generated proof
HTTP Based POC Location generation SOFSEM 2008 Transforming an e-mail to a sequence of webpage locations Filtering unwanted 1 use a collision-free hash function to generate some e-mails pseudorandom bytes Proof-of-work Proof-of- seq = H ( body || recipient || sender || timestamp ) communication Location generation 2 get the ( seq mod dictionarySize )-th word from Preparing proofs Verifying proof dictionary Open problems 3 use a search service to transform word to some Conclusions webpage location 4 if it is neccessery repeat the procedure from point 2 using a seq = H ( seq )
HTTP Based POC Preparing proofs SOFSEM 2008 Filtering Preparing proof from downloaded documents unwanted e-mails 1 the proof should be in form which allows partial Proof-of-work checking Proof-of- communication 2 the proof should be as short as possible Location generation Preparing proofs 3 simple proposal: Verifying proof Open proof = H ( page 1 ) || H ( page 2 ) || .. || H ( page n ) problems where Conclusions H is a hash function with a small range page n is a downloaded document/resource
HTTP Based POC Verifying proof (1) SOFSEM 2008 Partial checking Filtering unwanted e-mails To save the verifier’s resources he checks only a part of Proof-of-work POC Proof-of- communication 1 receive an e-mail with attached proof Location generation Preparing proofs 2 generate a list of webpages as described before (based Verifying proof on a received e-mail) Open problems 3 randomly choose a subset of k webpage locations Conclusions 4 download every document from this subset 5 check if every part of the proof is correct
HTTP Based POC Verifying proof (2) SOFSEM 2008 The adversary wants to forge POC. Filtering unwanted e-mails Probability of cheating Proof-of-work 1 n - number of all parts of proof Proof-of- communication 2 k - number of parts checked by verifier Location generation Preparing proofs 3 f - number of forged parts Verifying proof = 1 − ( n − f )!( n − k )! Open � n − f � n � � 4 Pr [ forgery found ] = 1 − / problems k k n !( n − k − f ) Conclusions For n = 20, k = 5 and f = 5 (only 5 forged parts) the probability of founding a forgery is ∼ 0 . 81 (but the adversary had to do as much as 15 correct communication parts!).
Recommend
More recommend