Next: Algorithm
Up: Secure Data Replication over
Previous: Introduction
System Model
In this paper we consider a system model consisting of the
following elements:
- The data content; this can be a database, the
contents of a large Web site, or a file system. The data content
needs to support both read and write operations; however, in our
model we expect the number of reads to be at least an order of
magnitude larger than the number of writes. The read operations
can be very complex; they can request parts of the data content,
but also the results of applying aggregation functions on this
content. Taking the example of a file system, it should not only
support operations of the type read FileName, but also
operations of the type grep Expression Path.
- The content owner; this is one individual or
organization which administers the content, and is in charge of
setting an access control policy for it. For the purpose of this
paper, we assume that data secrecy is not an issue, so the access
control policy is only concerned with operations that modify the
content.
- The content key; this is a public/private key pair
associated with the data content. The content private key is
known only by the content owner, while the content public key
needs to be known by every client that wants to use the
data. The latter can be accomplished by making this key part of
the content identifier, as suggested in
[5].
- The master servers; these are trusted hosts directly
controlled by the content owner, each of them holding a copy of
the data content. All the master servers in the system form the
master set. There is a public/private key pair associated
with each master server. The master servers' public keys are
certified through digital certificates issued by the content
owner (and signed with the content key). These certificates bind
each server's contact address (IP address and port number) to its
public key, and are stored in a public directory, indexed by
content public key. Thus, by knowing the content public key and
the address of the directory, any client can securely get the
addresses and public keys of all the master servers replicating
that content.
- The slave servers; they hold copies of the data content
but are not directly controlled by the content owner, and because of
this, they are only marginally trusted. They can be part of a content
delivery network run by a separate organization, or managed by a
number of cooperating, but mutually-suspicious institutions. There is
a public/private key pair associated with each slave, and each master
keeps track of the contact addresses and public keys of the slaves it
has been assigned.
- The clients; they perform read/write operations on
the data content. For a client to use the system, it first has to
go through a setup phase, when it connects to exactly one master
and one slave. First, the client queries the directory and
selects one master (the closest one for example) to which it
establishes a secure connection (using the master's certified
public key). The master then sends the client the address and
public key of one of its slaves (the one closest to the client
for example) to which the client also establishes a secure
connection. This concludes the setup phase; at this point the
client can start issuing read/write requests - by sending them to
either the master or the slave - according to the algorithm
described in the next section.
Next: Algorithm
Up: Secure Data Replication over
Previous: Introduction
Popescu Bogdan
2003-06-11