Barnraising is a cooperative Web mirroring system consisting of a dynamic set of "volunteer" hosts. The idea is that anybody behind a cheap DSL line ought to be able to run his own Web server. Since a residential network connection is not likely to have enough upstream bandwidth to support a large client base, Barnraising allows volunteers who like the Web site to donate some of their bandwidth to it by becoming a mirror.

What makes this difficult is that without any security protocol, a rogue "volunteer" can lie to clients about what's on the site. To deal with this problem, Barnraising uses a new technique called "SSL splitting", which uses SSL to provide end-to-end data integrity between the clients and the server.


Chris Lesniewski-Laas and M. Frans Kaashoek. SSL splitting: securely serving data from untrusted caches. In 12th USENIX Security Symposium. Washington, D.C. August 2003. HTML, PDF. Slides from the presentation: compressed Postscript, PDF.


Barnraising is research-grade code; the documentation's still very, very rough. Feel free to contact us with questions.

Release 0.1.0 can be downloaded here: barnraising-0.1.0.tar.gz


Chris Lesniewski-Laas
M. Frans Kaashoek

$Date: 2003/08/07 21:19:01 $