03.12.2012 Views

Security - Telenor

Security - Telenor

Security - Telenor

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

not be compatible with the security policy<br />

within which the host platform operates.<br />

• Regardless of whether data are passed on to<br />

the host or not, the second issue after policy<br />

compatibility is the enforcement of legitimate<br />

data usage. This has a lot in common with<br />

copyright issues.<br />

Policy data that an agent carries with it, may<br />

therefore end up having a lifetime significantly<br />

longer than the agent’s entire computation. This<br />

in turn implies that agent visits may entail irreversible<br />

changes to remote security policies or<br />

access control structures.<br />

Enforcing security policies is a problem that is<br />

generally difficult, particularly when the policies<br />

also say something about how data may be used,<br />

distributed, etc. There are mainly two sides of<br />

this problem in the mobile agent context:<br />

• securing the host against policy violations by<br />

an agent running on the host’s agent platform;<br />

and<br />

• securing an agent against policy violations by<br />

the host platform on which it is running.<br />

A lot of work has already been done on the first<br />

half of this problem. Schneider recently proposed<br />

in [8] a mechanism that handles a class of<br />

policies more sophisticated than those that can<br />

be modeled by the classic access control matrix.<br />

The real challenge is providing the same protection<br />

to the agent and its data. This appears to be<br />

a very hard problem, as the agent computation is<br />

running on a platform completely under the control<br />

of a potential attacker. Therefore one must<br />

assume that the attacker effectively has read and<br />

write access to all parts of the agent.<br />

2 Terminology<br />

For the sake of brevity, the term agent will hereafter<br />

refer to mobile, autonomous processes<br />

(sometimes also called mobile agents), or code<br />

for processes embedded within data (sometimes<br />

also called embedded agents), unless otherwise<br />

is stated. The main practical difference between<br />

the two types of processes covered by the term<br />

mobile agent is that code embedded in data most<br />

often is not autonomous. A platform is the environment<br />

within which an agent executes.<br />

Denote by Ψ the set of all possible executions<br />

(terminating and non-terminating) by any single<br />

process. Each element in Ψ is a string where<br />

each symbol represents an event, a state, or a<br />

combination of these; the type of representation<br />

is not relevant for the purposes of this article.<br />

Telektronikk 3.2000<br />

A process p has an associated set of possible<br />

executions Ψ p .<br />

Let φ be the set of all algorithmically definable<br />

operations. A very general model of access control<br />

is an extension of the access control matrix.<br />

The normal access control matrix model consists<br />

of a matrix of elements A[s, o], which contains<br />

the rights subject s has to object o. An object is<br />

merely a named data structure. A subject is an<br />

object that happens to represent executable code<br />

or a hardware processor of some kind. A right is<br />

a reference to an operation in φ that may be<br />

applied to an object. Note also that s may apply<br />

some right r ∈ A[s, o] to o at any time. This<br />

model may be generalized by:<br />

• letting A[s, o] be a set of triples (r, q, c),<br />

where<br />

- r is a reference to an algorithmically<br />

expressible operation selected from φ;<br />

- q is a state of some sort;<br />

- c is an algorithm that takes q as a parameter<br />

and checks if s may apply r to o; and<br />

• requiring c to return the decision result as well<br />

as a q' that replaces the q stored in A[s, o]<br />

prior to the access attempt.<br />

By dropping the informal requirement of algorithmic<br />

expressibility, as well as allowing subjects<br />

to be both legal persons and automated<br />

components, the above model can accommodate<br />

both the automated and manual parts of a system<br />

(read: both computers and people).<br />

A subject s has a right (r, q, c) to an object o<br />

if and only if it has the legitimate authority to<br />

apply r to o under the constraints defined by<br />

c and q. A security policy can be viewed as a<br />

system for assigning and managing rights.<br />

An interesting model proposed by Schneider in<br />

[8] is one based on execution monitoring. In the<br />

execution monitoring model, a security policy<br />

is defined by a predicate P operating on a set<br />

P Ψ. Since it is not practical to evaluate predicates<br />

on sets, another predicate ^ P is defined,<br />

which operates on the elements of each set: the<br />

execution of a process. ^ P is necessarily at least as<br />

restrictive as P (see [8] for details), and one says<br />

that a process p adheres to its security policy if<br />

for any given execution σ, ^ ⊆<br />

P (σ) holds.<br />

35

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!