Publius Censorship Resistant Publishing System
[
Publius Home
|
Use Publius
|
Download Paper
|
Code
|
Volunteer
|
Thank You
]
Overview
Publius is a Web publishing system
that is highly resistant to censorship and provides publishers
with a high degree of anonymity. Publius was the pen name used by the
authors of the Federalist Papers, Alexander Hamilton, John Jay, and
James Madison. This collection of 85 articles, published
pseudonymously in New York State newspapers form October 1787 through
May 1788, was influential in convincing New York voters to ratify the
proposed United States constitution.
Why this is important
The publication of written words has long been a tool for spreading
new (and sometimes controversial) ideas, often with the goal of
bringing about social change. Thus the printing press, and more
recently, the World Wide Web, are powerful revolutionary tools. But
those who seek to suppress revolutions possess powerful tools of
their own. These tools give them the ability to stop publication,
destroy published materials, or prevent the distribution of
publications. And even if they cannot successfully censor the
publication, they may intimidate and physically or financially harm
the author or publisher in order to send a message to other
would-be-revolutionaries that they would be well advised to consider
an alternative occupation. Even without a threat of personal harm,
authors may wish to publish their works anonymously or pseudonymously
because they believe they will be more readily accepted if not
associated with a person of their gender, race, ethnic background, or
other characteristics.
How it works
Our system consists of publishers who post Publius content
to the web, servers who host random-looking content,
and retrievers who browse Publius content on the web.
At present the system supports any static content such as
HTML pages, images, and other files such as postscript, pdf, etc.
Javascript also works.
We assume that there is a static, system-wide list of available servers.
Publius content is encrypted by the publisher
and spread over some of the web servers.
In our current system, the set of servers is static. The publisher
takes the key, K that is used to encrypt the file and
splits it into n shares, such that any k of them can
reproduce the original K, but k-1 give no hints as to the
key.
Each server receives the encrypted Publius content and
one of the shares. At this point, the server has no idea
what it is hosting -- it simply stores some random looking data.
To browse content, a retriever must get the encrypted Publius
content from some server and k of the shares. Mechanisms are in
place to detect if the content has been tampered with.
The publishing process produces a special URL that is used
to recover the data and the shares. The published content
is cryptographically tied to the URL, so that any modification
to the content or the URL results in the retriever being
unable to find the information, or a failed verification.
In addition to the publishing mechanism, we provide a way for
publishers (and nobody else) to update or delete their Publius content.
Publius also provides a way to publish several files at once
and to publish mutually hyperlinked material.
Project Members
Lorrie Cranor
Avi Rubin
Marc Waldman
User Contributions
John Lewis - Java Servlet version of the Publius server software
Publius In The News
The Industry Standard (9/13/2000)
The Industry Standard (8/21/2000)
eWeek
Yahoo News
Washington Post
New York Times
CNET News 8/7/2000
CNET News 6/30/2000
Associated Press
Some Related Sites
Anderson's Eternity
Service
Usenet Eternity
Charles University Eternity Service
TAZ and Rewebber
Freenet Project
Freedom
Intermemory Project
Free Haven
Crowds
Hash Cash
Publius is supported by