
Information security has proven to be a notoriously diffi-
cult topic. To understand and define security one must have
a clear understanding of what a system is supposed to ac-
complish and in which ways a potential attacker can try to
prevent the system from operating correctly. In this section
we address these issues at a very general level. It serves as
a basis to address database security in the later sections.
2.1 Unilateral Security
In many security-relevant applications, security is seen as
a unilateral problem: Some system (or entity, or collection
of entities) must be protected against a malicious outsider,
often called an attacker. The system is secure if no attacker
(with certain capabilities) can cause any (significant) devi-
ation of the system from the specified behavior. This in-
cludes, for example, that the attacker cannot extract secret
information.
In order to define security, one must hence define the sys-
tem specification, i.e., what the system is supposed to do
under normal circumstances, as well as the adversary’s ca-
pabilities. Such a specification of capabilities can include
the available computing power, access to side information,
etc.
Typical examples of unilateral security problems are the
protection of a computer system by security mechanisms of
the operating system, as well as the protection of an orga-
nization’s internal network against hackers, for instance by
firewalls and intrusion detection technology.
Another, perhaps less obvious example of unilateral se-
curity is the protection of the communication between two
parties against an eavesdropper, for example by encryption.
Although b oth parties must be protected, the situation is
nevertheless a unilateral one because the required protection
of the two parties is (jointly) against an external eavesdrop-
p er, not against each other.
Database security is often seen as a unilateral security
problem: The database system must be protected against
outsiders and possibly also against potentially malicious users,
but is itself assumed to be trustworthy.
2
2.2 Multilateral Security
In contrast to unilateral security, many security-relevant
applications require the protection of several parties, each
against the potential misbehavior of some other parties, pos-
sibly against all other parties.
A simple example of bilateral security are on-line trans-
actions where both the customer and the vendor want to
b e protected against malicious behavior by the other. In
practice, such bilateral security issues are often not really
addressed and instead “solved” by assuming that one of the
parties (e.g. the vendor) is trustworthy.
Another such example, which needs some more explana-
tion, is the classical software piracy problem. The software
vendor has developed some useful functionality (e.g. a col-
lection of statistical tools), while the customer wants to ap-
ply the functionality to his data. The (idealized) specifica-
tion is that a customer who pays is allowed to use the func-
tionality. This specification is implemented by the vendor
by encoding the functionality in a software package, sending
the software to the customer, and the customer running the
2
Note that one need not distinguish between users and out-
siders. The outsider could be defined as a user with no
privileges.
software on his machine. However, this achieves more than
the specification, in an undesirable way: The user cannot
only apply the functionality to his data, he can pass this ca-
pability on to other parties (software piracy). This problem
is sometimes addressed by extra hardware mechanisms, but
usually it is addressed only by legal deterrence, which means
that from a purely technical viewpoint (which we take in this
paper) the user is assumed to be trusted.
There is a dual (for now quite theoretical) solution to this
problem. Instead of having the vendor send the software to
the user, the user could send his data to the vendor for pro-
cessing. More precisely, the vendor could run a web-service
which manages, stores, and processes a customer’s data. In
this case, the customer need not receive the software but
must of course fully trust the service provider.
Ideally, one would like to solve the software piracy prob-
lem in a fair and symmetric manner such that neither the
vendor must send the software to the user nor must the user
send the data to the vendor. This is a typical example of
a specification which could easily be solved if a mutually
trusted party were available. This party could obtain the
software and the user’s data and perform all operations for
the user, giving only him access to the result of the com-
putation. We will discuss in Section 6 that many security
solutions can be seen as the simulation of a virtual trusted
party by the actual involved parties.
Another example of multi-lateral security, involving three
entities, are on-line auctions. The auctioneer, the bidder,
and the party offering an object need to be protected against
possible fraud by another party (and, of course, also against
external attackers). An even higher level of security is ach-
ieved if each party is protected against the other two parties
cheating collectively with a joint strategy.
Yet another example of multilateral security is e-voting
discussed below.
2.3 Defining Security
As mentioned above, in order to define security one must
define the system specification, i.e., what the system is sup-
posed to do under normal circumstances, as well as the ad-
versary’s capabilities. But how should one model the ad-
versary if one wants to achieve security simultaneously for
different groups of potential cheaters?
Let us address the system specification first. In the above
software example, the specification is simply that the user
should obtain the result of applying the software to his data.
However, both discussed implementations achieve more, ac-
tually too much from a security point of view. The speci-
fication can be seen as an idealized system which performs
exactly (and only) the desired operations.
As another example, a secure communication channel is
an idealized system with three parties, the sender, the re-
ceiver, and the eavesdropp er. The specification is such that
the sender can choose a message, the receiver gets it, and
the eavesdropper gets nothing. Encryption is a secure im-
plementation of this specification if one can argue that the
ciphertext seen by the eavesdropper gives no information (in
a computational sense) about the message.
For e-voting the specification is that each voter can choose
his vote and that all voters should learn the correct outcome
of the vote evaluated according to the rules. The fact that
votes need to be communicated is not part of the actual
specification, but of course some form of communication is
评论