Privacy-‑Preserving ¡Publish/Subscribe: ¡ ¡ Efficient ¡Protocols ¡in ¡a ¡Distributed ¡Model ¡ Giovanni ¡Di ¡Crescenzo 1 ¡ Brian ¡Coan 1 ¡ John ¡Schultz 3 ¡ Simon ¡Tsang 1 ¡ Rebecca ¡N. ¡Wright 2 ¡ Presented ¡to: ¡ Affilia>on ¡of ¡Authors: ¡ The ¡8th ¡Interna+onal ¡Workshop ¡on ¡ ¡ 1 ¡ Applied ¡Communica+on ¡Sciences, ¡NJ, ¡USA ¡ Data ¡Privacy ¡Management ¡ ¡ {gdicrescenzo,bcoan,stsang}@appcomsci.com ¡ ¡ (DPM ¡2013, ¡an ¡ESORICS ¡2013 ¡Workshop) ¡ ¡ 2 ¡Rutgers ¡University, ¡NJ, ¡USA ¡ Egham, ¡UK, ¡ ¡ rebecca.wright@rutgers.edu ¡ Sep ¡13, ¡2013 ¡ ¡ 3 ¡Spread ¡Concepts, ¡MD, ¡USA ¡ jschultz@spreadconcepts.com ¡ ¡ 1
Objective: Efficient & Private Publish/Subscribe • Publish/subscribe ¡protocols: ¡publishing ¡data ¡items ¡to ¡interested ¡ subscribers ¡ ¡ • They ¡come ¡in ¡many ¡different ¡formula+ons ¡and ¡varia+ons; ¡this ¡paper: ¡ ¡ − a ¡distributed ¡protocol ¡ ¡ − par+cipants ¡can, ¡at ¡any ¡given ¡+me, ¡act ¡as ¡subscribers ¡(with ¡subscrip+on ¡keywords, ¡ called ¡interests) ¡or ¡publishers ¡(with ¡data ¡items ¡and ¡related ¡publica+on ¡keywords, ¡ called ¡topics) ¡ ¡ • Have ¡applica+ons ¡in ¡a ¡large ¡number ¡of ¡areas ¡(e.g.: ¡news, ¡finance, ¡ web ¡content) ¡and ¡are ¡rou+nely ¡used ¡in ¡prac+ce ¡(e.g.: ¡RSS ¡feeds) ¡ • Mo+va+ons: ¡efficiency ¡and ¡privacy ¡are ¡cri+cal ¡features, ¡lack ¡of ¡ privacy ¡may ¡even ¡deter ¡from ¡the ¡implementa+on ¡or ¡use ¡of ¡a ¡ publish/subscribe ¡system ¡ − for ¡instance, ¡in ¡finance, ¡a ¡publish/subscribe ¡system ¡assis+ng ¡a ¡market ¡maker ¡could ¡ allow ¡subscribers ¡to ¡submit ¡their ¡interest ¡in ¡companies ¡and ¡publishers ¡to ¡issue ¡data ¡ rela+ve ¡to ¡companies; ¡however, ¡by ¡revealing ¡company ¡names ¡and ¡data ¡from ¡either ¡the ¡ subscribers ¡or ¡the ¡publishers, ¡it ¡may ¡not ¡only ¡impact ¡par+cipants’ ¡privacy ¡but ¡also ¡ significantly ¡alter ¡the ¡market’s ¡pricing ¡process ¡and ¡overall ¡integrity ¡ 2
Modeling ¡Publish/Subscribe ¡Protocols • Par+cipant ¡and ¡execu+on ¡model: ¡a ¡distributed ¡model ¡with ¡many ¡par+es; ¡aber ¡ possibly ¡a ¡preliminary ¡ini+aliza+on ¡phase, ¡at ¡any ¡+me ¡ ¡ − any ¡party ¡can ¡subscribe ¡by ¡pos+ng ¡his ¡subscrip+ons ¡on ¡a ¡public ¡file ¡ − any ¡one ¡party ¡acts ¡as ¡a ¡publisher ¡and ¡any ¡subset ¡of ¡the ¡remaining ¡par+es ¡act ¡as ¡subscribers ¡in ¡one ¡ publica+on ¡subprotocol ¡ • Adversary ¡model: ¡ − Honest ¡but ¡curious ¡adversaries ¡(i.e., ¡adversary ¡corrupts ¡party, ¡follows ¡its ¡protocol, ¡and ¡at ¡the ¡end ¡ tries ¡to ¡violate ¡privacy) ¡ − Malicious ¡adversaries, ¡aber ¡authorized ¡subscrip+ons ¡(i.e., ¡adversary ¡performs ¡only ¡authorized ¡ subscrip+ons, ¡then ¡violates ¡from ¡the ¡protocol ¡in ¡an ¡acempt ¡to ¡violate ¡privacy) ¡ • Requirements ¡(formal ¡defini+ons ¡are ¡in ¡the ¡paper): ¡ − Publica+on ¡correctness: ¡at ¡the ¡end ¡of ¡each ¡publica+on, ¡matching ¡subscribers ¡(and ¡only ¡them) ¡get ¡the ¡ data ¡item ¡and ¡topics ¡ ¡ − Privacy ¡(formalized ¡usual ¡adapta+ons ¡of ¡standard ¡crypto ¡defini+ons): ¡at ¡the ¡end ¡of ¡each ¡ subscrip+on, ¡noone ¡else ¡learns ¡anything ¡more ¡than ¡the ¡number ¡of ¡subscrip+ons; ¡at ¡the ¡end ¡of ¡each ¡ publica+on, ¡matching ¡subscribers ¡learn ¡the ¡data ¡item ¡and ¡topics, ¡non-‑matching ¡subscribers ¡only ¡ learn ¡the ¡number ¡of ¡topics ¡and ¡the ¡length ¡of ¡the ¡data ¡item, ¡publisher ¡learns ¡nothing ¡new ¡ − Efficiency: ¡standard ¡no+ons ¡of ¡low ¡communica+on ¡complexity, ¡round ¡complexity, ¡+me ¡complexity ¡+ ¡ efficient ¡publica+on ¡latency ¡(i.e.: ¡up ¡to ¡a ¡constant ¡+mes ¡the ¡latency ¡in ¡a ¡non-‑private ¡protocol, ¡for ¡a ¡ prac+cally ¡large ¡range ¡of ¡input ¡parameters) ¡ ¡ 3
Publish/Subscribe ¡Protocol ¡Architecture ¡ Data item + Topics Interests Interests Streaming data item + topics Subscriber … Publisher Subscribe INIT Interests Public ¡ ¡ SUBSCRIBE (OR ¡ ¡ ¡file ¡ UNSUBSCRIBE) Subscriptions Data item + Topics PUBLISH 4
Private Publish/Subscribe: Limitations on Efficiency • The ¡stated ¡privacy ¡demands ¡come ¡with ¡at ¡least ¡two ¡main ¡efficiency ¡ limita+ons: ¡ − Proposi+on ¡1: ¡the ¡publisher ¡must ¡send ¡a ¡message ¡as ¡long ¡as ¡the ¡data ¡item ¡to ¡each ¡of ¡the ¡ subscribers, ¡regardless ¡of ¡whether ¡the ¡publica+on ¡matches ¡their ¡interests ¡or ¡not ¡ − Observa+on ¡2: ¡privately ¡compu+ng ¡which ¡subscribers ¡are ¡en+tled ¡to ¡data ¡items ¡can ¡be ¡ shown, ¡using ¡well-‑known ¡fundamental ¡results ¡in ¡cryptography, ¡to ¡require ¡asymmetric ¡ cryptographic ¡opera+ons ¡ • Note: ¡general ¡solu+ons ¡from ¡the ¡area ¡of ¡secure ¡func+on ¡evalua+on ¡ protocols ¡would ¡solve ¡our ¡problem ¡but ¡suffer ¡from ¡similar ¡or ¡worse ¡ inefficiency ¡drawbacks ¡ • We ¡overcome ¡the ¡two ¡efficiency ¡limita+ons ¡as ¡follows: ¡ ¡ − we ¡perform ¡cryptographic ¡processing ¡of ¡data ¡items ¡only ¡once ¡for ¡all ¡subscribers, ¡by ¡ encryp+ng ¡the ¡data ¡item ¡once ¡and ¡distribu+ng ¡the ¡key ¡only ¡to ¡matching ¡subscribers; ¡in ¡ one ¡variant, ¡we ¡use ¡a ¡repository ¡server ¡ − we ¡minimize ¡the ¡use ¡of ¡asymmetric ¡cryptographic ¡opera+ons ¡in ¡distribu+ng ¡the ¡ encryp+ng ¡key ¡by ¡using ¡hybrid ¡COT, ¡a ¡novel ¡hybrid ¡cryptographic ¡primi+ve ¡(i.e., ¡star+ng ¡ with ¡asymmetric ¡cryptographic ¡opera+ons ¡and ¡then ¡con+nuing ¡with ¡symmetric ¡ones ¡for ¡ the ¡rest ¡of ¡the ¡protocol ¡life+me) ¡ 5
Solu+on ¡building ¡block ¡1: ¡cryptographic ¡pseudonyms • Compu+ng ¡on ¡encrypted ¡interests ¡ ¡ − Client ¡interests ¡and ¡item ¡topics ¡are ¡mapped ¡to ¡cryptographic ¡pseudonyms ¡(i.e., ¡ encryp+ons ¡of ¡interests, ¡topics), ¡based ¡on ¡a ¡variant ¡of ¡El-‑Gamal ¡encryp+on ¡ ¡ ¡ − Aberwards ¡all ¡computa+ons ¡(i.e., ¡the ¡actual ¡publica+on) ¡are ¡performed ¡on ¡encrypted ¡ values ¡ • Construc+on: ¡ − Each ¡interest/topic ¡pseudonym ¡is ¡a ¡triple ¡(h,u,v) ¡where ¡ ¡ ¡ ¡ ¡ ¡h=g r ¡mod ¡p, ¡u=g s ¡mod ¡p, ¡v=h s ¡·√ ¡x ¡mod ¡p ¡ ¡ • Proper+es: ¡ − The ¡value ¡v ¡(hiding ¡x) ¡is ¡“division-‑malleable” ¡into ¡a ¡value ¡v’ ¡(hiding ¡x/y ¡for ¡any ¡given ¡y) ¡ ¡ − The ¡value ¡v’ ¡(hiding ¡x/y) ¡is ¡“randomiza+on-‑malleable” ¡into ¡value ¡v’’ ¡(hiding ¡x z ¡for ¡any ¡given ¡ random ¡z) ¡ − x≠y ¡ à ¡applying ¡to ¡v ¡division ¡+ ¡randomiza+on ¡malleability ¡returns ¡v’’=h s ¡(x/y) z ¡mod ¡p ¡ ¡ − x=y ¡ à ¡applying ¡to ¡v ¡division ¡+ ¡randomiza+on ¡malleability ¡returns ¡v’’=h s ¡mod ¡p ¡ ¡ 6
Recommend
More recommend