Harvesting Verifiable Challenges from Oblivious Online Sources
description
Transcript of Harvesting Verifiable Challenges from Oblivious Online Sources
Harvesting Verifiable Challenges from Oblivious Online Sources
J. Alex Halderman Brent Waters Princeton University SRI International
Complete audit expensive seek probabilistic guarantee
Who chooses what to audit?
Motivating Example
Peer
Peer
Peer
PeerPeer
Peer
Peer
Peer
Peer
Peer
Sybil Attack
Peer
Peer
Peer
PeerPeer
Peer
Peer
Peer
Peer
Peer
One machine,multiple identities
Defense: Require each peer to expend resources (CPU time).Verify probabilistically?
Solution
Proof of Work: Client Puzzles
ChallengerSolverChallenge
Verify
Sol., Chal., Cert.
Verifier 1
Solver
Verify
Puzzle Server
Verifier 2
Verify
Sol., Chal., C
ert.Challenge,Certificate
P2P Client Puzzles?
Solve puzzle once for many (unknown) challengersDecentralized: no puzzle server
Our Approach: Harvested Challenges
• Unified tool and framework for producing random challenges from oblivious sources– Decentralized– Noninteractive– Reusable
• Useful for many verification applications
Oblivious Online Sources
Abstraction: Logs of discrete items, appended over timeDifficult to control or predict before published*Past items stable, accessible for some period
RSS Feeds(news stories, blogs posts, …)
Physical Observations(weather, earthquakes,
sunspots, …)
Financial Data(market prices,
volumes, …)
Harvesting Challenges
Puzzle server replaced by oblivious Internet sourcesSolver derives challenges from sources’ fresh contentVerifiers check source content to confirm derivation
Sol., Chal., Cert.
Puzzle Server
Verifier
Verify
Challenge,Certificate
Derivation,Solution
Solver
Slashdot NYTimes Stock Quotes
Using Source Data4:00 Item 14:15 Item 24:30 Item 34:45 Item 45:00 Item 55:15 Item 65:30 Item 75:45 Item 86:00 Item 9
5:00 Item 55:15 Item 65:30 Item 75:45 Item 8 Revised Item 86:00 Item 96:15 Item 106:30 Item 116:45 Item 127:00 Item 13
Challenge := H( )Derivation :=
Mismatch:
Take Deriver’s word?
Challenge := H( )
Robustness vs. Security: Adversary controls some inputs
6 P.M. − Deriver harvests challenge 7 P.M. − Verifier verifies challenge
OS X Leopard Firewall Flaw
ed
Claim of a Blu-ray BD+ Crack
Ubuntu Killing Your Hard Drive
a936b29d497
Random Oracle
OS X Leopard Firewall Flaw
ed
Claim of a Blu-ray BD+ Crack
000000000000000000000000
18e039ca12b
Random Oracle
a936b29d497
OS X Leopard Firewall Flaw
ed
Claim of a Blu-ray BD+ Crack
000000000000000000000001
6400dd3fc1a
Random Oracle
a936b29d497
18e039ca12bAdversary gets to pick frombounded set
1% sample from set with 10% fraud
Application Policies
Derivers and verifiers share a common policy
Sources: where content will be harvestedConditions: what source content will be acceptable for application purposes– Quantity– Freshness
Policies: acceptable combinations of content from different sources
Source: RSS Feed
source NYTimes (type = RSSFeedurl = “http://nytimes.com/stories.xml”min_entries = 5max_entries = 20max_age = 86400)
Source: Stock Quotes
source TechStocks(type = DailyQuotessymbols = “GOOG,YHOO,MSFT,INTC,IBM”min_entries = 4)
Policies
policy PickOne { NYTimes, CNN, Slashdot }
policy PickTwo { NYTimes, CNN, Slashdot }[2,2]
Complex Policy
policy Nested {{ NYTimes, CNN, Slashdot }[2,2],Recent
} policy Recent {
NYTimes(min_entries=1, max_age=3600)CNN(min_entries=1, max_age=3600)
}[2,2]
Our Implementation: “Combine”
• Python API and command line utility• Open source• Supports RSS feeds, stock prices,
dedicated beacons• Extensible
Combine Usage
$combine –policyfile example.pol –derivation alice.d –derive
derived: Example, a936b29d497…, 1169960994
$combine –policyfile example.pol –derivation alice.d –verify
verified: Example, a936b29d497…, 1169960994(or failure)
Experimental Evaluation
• RSS feeds suitability?Availability?Rate of new posts?Time before posts age out?Frequency old posts are changed?
• Monitored 275 “popular” and “longtail” feeds• Simulated satisfaction of policies
Results: RSS Feed Suitability
A. Fresh within one hour, verifiable 6 hours laterB. Fresh within one hour, verifiable 12 hours laterC. Fresh within one day, verifiable 7 days laterD. Fresh within one day, verifiable 14 days later
7 Days
Satisfaction periods for policy “Short”
Satisfaction periods for policy “Long”
7 RS
S So
urce
s7
RSS
Sour
ces
Conclusion
• Harvested challenges: a general tool to aid in randomly auditing systems– Create and verify challenges noninteractively using
data from oblivious sources• “Combine” library and policy language,
available for use• Future: building applications
Harvesting Verifiable Challenges from Oblivious Online Sources
J. Alex Halderman Brent Waters
www.cs.princeton.edu/~jhalderm/projects/combine/
Harvesting Challenges
Item 1: Source 1, Hash, Time
Derivation
Item 2: Source 1, Hash, TimeItem 3: Source 1, Hash, TimeItem 4: Source 2, Hash, TimeItem 5: Source 2, Hash, Time
…
Deriver
Item 1
Policy:Freshness?Max quantity?
Source 1Source 2
Verifier
Policy:Freshness?Matches derivation?
Source 1
Challenge := H(Derivation)Uses challenge
Source 2Item 1
Item 1
Item 3
Item 3≠=
Satisfied?Uses challenge