SIMS: A Secure Information Management System for Large

advertisement
SIMS: A Secure Information Management System
1
for Large-Scale Dynamic Coalitions
Keyu Jiang and Partha Dasgupta
Arizona State University
keyu.jiang@asu.edu, partha@asu.edu
Abstract
When two (or more) entities (or members) enter into
a coalition, they agree to share information, resources
and other assets according to some set of negotiated
rules. This paper addresses the issue of controlled and
secure information sharing.
Each member may have a large number of agents
(people) who run programs that access information
from the large number of servers run by the other member. The problem arises in managing the authentication
and the access control at these service points. The issues are technical, as well as administrative. Compounding the problem is the large number of autonomous information servers that contain the information
published by a single member. Administering and securing these is in reality intractable.
We present a solution to the secure informationsharing problem, by separating the authentication function from the data access function. Then, by having only
one authenticator per member and the use of digital
certificates we show how a multiplicity of information
sources can be managed and secured.
1. Introduction
A coalition is a collection of entities that collaborate
for some major purpose or goal by cooperating, exchanging information sharing resources and pooling
capabilities. Resources and capabilities may include
information, assets, computing infrastructures, military
capabilities and so on. Sharing, collaboration and exchanges have to be performed in a secure and controlled fashion. A Dynamic Coalition is a type of coalition, in which the membership of the coalition and trust
relationship between members could dynamically
change, and the non-symmetric trust relationships may
exist.
This paper focuses on the issue of sharing information among the participants of a dynamic coalition. This
information is typically in the form of files, possibly
1
published via a web-style interface. However there are
rules (which must be strictly and infallibly enforced)
that control who (and under what circumstances) can
access the information (or update the information). The
management of the access control, as we shall show
later, can be a daunting challenge. It is also of concern
that the access management system may be compromised using unknown loopholes and/or bugs.
In the following sections, we will first define, in
brief, our view of and terminology for a dynamic coalition. Then in section 3 will present the problems and
possible shortcomings of secure information management and motivate the need for an innovative solution.
Section 4 presents a new approach that separates the
authentication and access functions and thus provides a
significantly more manageable and secure solution.
Section 5 presents an architectural design of the implementation of the proposed system and section 6 presents results from the actual implementation of the prototype. Section 7 discusses enhancements that are in
progress and approaches to reduce vulnerabilities.
2. Dynamic Coalitions
A dynamic coalition, as mentioned above, is a collection of “members”, where the members consist of
organizations, companies, governments or such large
entities. To share resources, the members in a coalition
need to have trust relationships between each other.
According to some a-priori (but dynamic) agreements
between each pair of members, they define their own
resource access policies. In addition to members there
are a significant number of other entities participating
in the coalition, and these include people, computers,
information, programs, processes, rules and so on. We
define the following terminology to refer to these entities in a consistent manner [Da*99]
• Member: A member is a self-controlled and independent entity in a Dynamic Coalition. A member decides to join or leave the Dynamic
Coalition autonomously. A member may also be
This research is partially supported by grants from DARPA (F30602-99-1-0517, N66001-00-1-8920), NSF (CCR9988204) and Microsoft, and is a joint research effort between Arizona State University and New York University.
disenfranchised by other members. Example: a
country in the United Nations.
• Agent: An agent is an identifiable and an accountable actor. An agent belongs to a specific
member and each member may possess potentially unlimited number of agents. In general, and
agent is a human being or “intelligent” computerized device with some autonomy. Example: an
interactive human user.
• Delegate: An activity (mostly computerized) of
limited lifetime (at most the lifetime of a coalition) created by an agent, or by another delegate.
An agent can create any number of delegates and
then these delegates may create more delegates
forming a forest, each tree rooted at a delegate
created by an agent. The agent who created the
root delegate, owns all the delegates in the tree.
Example: a process.
• Resource: Any entity accessible to agents and
delegates. Examples: File, Database.
• Asset: A physical resource or host for delegates
and objects. The asset is owned by a particular
member. Example: A computer.
• Directive: The partners, agents, and delegates
operate, adhering to a set of directives. The
directives are access control rules which specify
what resources can be accessed, and which trust
levels have to be obeyed under what
circumstances
While Agents make the high level decisions on how
activity is managed, delegates do all actions inside a
coalition. The delegates are actively running computa-
Delegates
tions. These delegates execute on assets and access objects. Suppose a delegate D is executing on an asset X.
An agent A owns the delegate D and A is owned by the
member M. The owner of the asset X, however, need
not be M. When the delegate D accesses a resource R
(on X) the directives that specify access control between
M and the owner of X determine if and how D can access R. Thus the directives contain rules for every possible access pair of delegate and resource.
Of course, creating and storing directives for every
delegate-resource pair is obviously infeasible. We have
devised practically feasible methods of defining these
access control rules [Ji00]– a description of these techniques are beyond the scope of this paper. Hence, in this
paper we assume, that these rules are maintained and
are publicly available.
The thrust of our research in the Dynamic Coalitions
area is to develop and prototype management systems
that handle the infrastructure of Dynamic Coalitions.
That is, we are inventing mechanisms, policies, methodologies and techniques that will enable the actual
control and execution of a real dynamic coalition. Our
research is expected to provide a set of software modules that can be used to build the infrastructure needed
for cooperating members along with their agents, delegates, objects and assets. In this paper we focus on one
aspect of the Dynamic Coalition infrastructure, that is
the management of shared information. In order to do
this, we will rely on some well-known underlying
mechanisms such as encryption (public and private
key), digital certificates, signatures and one-way
hashes.
InterMember
Resource
Access
Agent
Directives
Asset
Resources
Figure 1: The elements of the Dynamic Coalition Management System
3. Access Control for Information
We now present the secure information sharing problem. To illustrate this, let us start with an example. Suppose there are three corporations – AirMan manufactures aircraft, PartMan provides aircraft parts to AirMan and ModelShop provides CAD support to both
AirMan and PartMan. These three corporations form a
coalition and decide to share information according to a
comprehensive set of rules, a few of which are stated
below for illustrative purposes:
• All Engineers working for AirMan should have
access to all part specifications and prices of
PartMan parts.
• PartMan engineers can also access AirMan requirement databases.
• Management personnel at AirMan can access
summary personnel files of PartMan, but not the
parts information.
• Various design data from ModelShop are available to AirMan and to PartMan, however some
data is visible only to AirMan and some to PartMan (and some to both).
Given the above scenario, we wish to provide a secure, yet simple to use and maintain, information management system to enable such collaborations.
First, we choose to make the data available on file
servers (could also be web servers). The people who are
authorized to see the data can then access the data over
the Internet (securely). However, this produces an instant complex problem. The issues are:
1. If James, an engineer at AirMan wants to access
some parts information at PartMan, how does the
PartMan file server authenticate James?
2. If James gets promoted to manager, he looses his
access rights to Parts, but gets access rights to
some Personnel files. How do the PartMan file
servers know of this change?
3. All file servers (and there could be thousands of
them) have to be intimately aware of all personnel and personnel changes at all members of the
coalition – this is infeasible.
4. James needs to have accounts at all file servers of
PartMan and hence probably has hundred of different id’s and passwords (having the same id and
password is a security risk). This is impractical.
5. It is not a feasible task to ensure the security of
thousands of file servers on the Internet from attackers – all of the file servers cannot be adequately secured.
Any solution for this problem based on conventional
authentication and access control methods are doomed
to be complex and hence prone to failure. In fact the
scale and dynamic nature of the coalitions; and the dynamic nature of the rules and the dynamic nature of
personnel classifications and such other dynamic properties makes the problem quite intractable.
Our solution however is interestingly simple. By disassociating the authentication function with the data
dissemination function, we can take the access control
responsibility off of the file servers and thus drastically
reduce the complexity of access control. Preliminary
results of this idea are reported in [Da*99]
4. Separating Authentication and Access
As stated earlier our solution consists of the separation of authentication and data access, and this approach is motivated by the premise that the security of
information (or files) cannot be entrusted to file servers.
In our design, file servers are “dumb” entities that
PartMan
AirMan
Parts
Database
Engineers
Personnel
Database
Managers
Model Shop
Summary
Information
Requirements
Database
Design Data
A
B
C
Figure 2: Access provisions for the example in Section 3
store files and deliver the files upon request. In order to
ensure the security of such files, all files that are stored
on file servers are encrypted with strong keys. There is
one unique key per file. The keys are not stored on file
servers.
Using this approach, a file is no longer useful without the key. Hence the file servers need not authenticate
the service request. If a delegate requests a file, the file
server delivers the file without regard to which agent
owns the delegate, or where the delegate is running.
In order for the delegate to use the information in the
file, the file needs to be decrypted, and hence the key
has to be acquired by the delegate. The resulting security of the information system resides in the mechanisms used for key distribution. The key distribution is
provided by having a repository of all the keys for all
the files belonging to a member. We call this repository
the key server.
Actually the authentication problem that we separated out of the file servers is now the job of the key
server—and all the same problems seem to exist. However, we argue that this is a better solution (than having
the file servers authenticate delegates) for the following
reasons:
• While performance and other issues necessitate
the use of many file servers, all the key handling
can be centralized into one (possible two—or a
small number) of key servers.
• Managing the security of one (or a small number)
of key servers is much more tractable that ensuring the secure operation of possibly hundreds of
file servers
• When the trust relationships change, the directives have to be updates only at a few key servers
and not at all the file servers.
• Maintaining audit logs and monitoring intrusions
and other compromise are possible when the
number of secure sites is few.
In order to further simplify the management of authentication, we make use of digital certificates. Our scheme
of digital certificate based authentication allows us to
quickly authenticate a delegate and determine its access
privilege for a particular object it wants to access.
4.1 Digital Certificates
As is well known, a digital certificate is a trusted
proof of identity. A well known, trusted authority called
the Certificate Authority or CA issues a digital certificate. The CA grants the digital certificate to an agent
(or entity) after verifying the existence and identity of
the agent, often through some out of band means. The
certificate itself is a set of data items, such as the identity of the agent, class of the agent (e.g. engineer, manager, student) level of trustworthiness and so on; and
the public key of this agent. The certifying authority
then signs this data, using its private key. The private
key corresponding to the public key in the certificate is
kept secret by the owner of the certificate (generally the
agent).
In our design, every coalition has a designated,
trusted Certificate Authority, called the Coalition-CA.
The Coalition-CA issues certificates to subordinate CAs
administered by members, thus identifying these CAs.
These other CAs are CAs run and maintained by each
member of the coalition and are called member-CAs.
The public key of the Coalition-CA is well known and
publicly available and verifiable (maybe through out of
band channels). The public keys of the member-CAs
are known by accessing the certificate of that CA. The
level of trust a member A has for the member B depends upon what A knows about B’s procedures for
keeping its CA secure.
In addition to one member-CA, a member may have
subordinate CA’s, however certificates issued by the
subordinate CA’s may not enjoy the same level of
trustworthiness as the member-CA. Again, the level of
trust for such situations are contained in the directives.
For the scope of this paper, we will assume there is only
one member-CA for each member.
The member-CA issues certificates to all agents and
services of the member. The agent certificate contains
not only the agent’s identification, but also its affiliation
to the member, its class, and its capabilities
4.2 Key Server and Access Control
Recall that all sharable information is placed on
some file server, in an encrypted form. No access control is imposed on the file and anyone (of course, even
unauthorized agents) can obtain a copy of this file. It is
assumed very strong encryption is used and thus obtaining the encrypted file is of no use to any agent.
Now we discuss, in concept, how an agent, authorized to obtain the information in the file, gets the key to
decrypt the file. Suppose a delegate D belonging to an
agent A needs information contained in file F. F is
stored at a file server S (in encrypted form), in the domain of member M. The steps are:
• The delegate D downloads a copy of file F from
the server S. (Steps 1 and 2 in Figure 3.)
• The delegate D obtains a copy of the certificate
of agent A and sends it to the Key Server of the
member M. (Step 3 of Figure 3.)
• They key server of M then authenticates D by using a challenge response algorithm by which D
proves it has access to the private key of A, and
hence is authorized by A to act in his/her behalf.
• The Key Server now uses the identification and
classification data in A’s certificate and consults
the rules in the directives to decide whether D
should access F or not.
Coalition
Certificate
Authority
A member of the coalition
Key Server
Member
Certificate
Authority
Certificate
Database
History
Database
File Server
4
File Server
3
File Server
2
File Server
1
Delegate
File Server
Figure 3: The functional modules of the Dynamic Coalition Management System
•
If access of F by D is permitted, the Key Server
sends the key of F to D (of course using a secure
communication channel). (Step 4 of Figure 3.)
As is obvious, in the above scheme there is no authentication at the file server and there is no communication between the key server and the certificate authorities. Also, due to the certificate scheme, the key
server of M does not have to be cognizant of the personnel changes of any other member in the coalition—
the key server can determine the standing of an agent
and its access rights form the certificate and the directives. Note that it is impossible for an agent to tamper
with the information in its certificate (unless if the CA’s
private key is compromised). Also a stolen certificate
cannot be used, as it will fail the challenge-response
test, which needs the private key of the agent owning
the certificate.
We also assume that the integrity and confidentiality
of messages between servers are maintained using conventional encryption, signatures and MAC techniques.
5. Architecture of SIMS
So far we have presented a conceptual design of a
secure information management system that uses encrypted files to store information and controls the information access by controlling the key distribution. We
now describe the architecture, the protocols and the
implementation of SIMS, the Secure Information Management System. In order to describe SIMS, we first
present some details of the architecture of a dynamic
coalition system and then show how SIMS fits into this
environment.
The Dynamic Coalition Management System we are
building consists of one Coalition-CA (as described
before) and a set of modules on a per-member basis.
Each member maintains servers for the following (see
Figure 3):
1. A Member CA.
2. A History Database. This database contains records of “aberrant” behaviors – that is a record of
denied access and other faults on a per-agent basis. The information in this database is used as a
“credit-report” when judging trust relationships.
3.
A Certificate Database. This contains all the certificates issued by the member-CA. This allows
any server (or service provider) to get a certificate of any agent requesting service.
4. A Key Server: The server responsible for authenticating requests and validating the access privileges of the agent.
5. A set of file servers: These provide access to the
shared information.
The above set of modules form the basic infrastructure of the Dynamic Coalition Management System and
is closely relevant to the secure information management system we are describing in this paper. SIMS is
heavily dependant on the certificate services, file services and the key services. It also depends upon the
Certificate Database and the History database. Other
parts of the system include directive databases, intrusion detection systems, trust level negotiators and so on,
which are outside the scope of this paper.
SIMS, as described in the following subsections, is a
flat file system, which stores files along with file names
on a set of servers. It is the responsibility of the reader
to know the name and location of each file it wants to
read. Also, filenames are not hidden. The reason for
such an exposition is to eliminate the complexities of
directory services, name hiding and such artifacts from
the crux of the design. A brief discussion of adding features to the basic design is in section 7.
The basic concepts and working of SIMS has already been discussed, in the next few subsections we
show the steps needed for creating, updating and deleting files in SIMS.
5.1 Creating a file
In order to publish some information, an agent has to
create a file, containing this information. A delegate
running on behalf of the agent does the actual creation.
We assume, that if delegate D running on behalf of
Agent A does the file creation, and if A belongs to
member M, then the file is created and stored on assets
and servers belonging to M. This assumption can be
relaxed, but makes the discussion more complex. Note
that the creation of a file is not a security risk – any
agent belonging to a member can create a file and publish information it wants to publish. The steps involved
are:
1. The delegate D produces the file F and then encrypts it using a key Kf producing eF.
2. D then creates an access control list (ACL) for
the file. If this ACL is null, the coalition directives apply for access control, else the access
control list supersedes coalition rules.
3. D sends the filename, size, ACL in a secure message to the file server FS.
4.
FS sends D a port number FS and expects the file
to be received at this port.
5. D sends eF to FS. MACs are used to ensure uncorrupted transmission. This communication
does not have to be encrypted as the file is already encrypted.
6. D sends the identity of the agent A and the filename, ACL and Kf using secure communications
to KS.
7. KS retrieves the certificate for A from the certificate database, and then authenticates D.
8. If D passes authentication and is in good standing (according to the history database) then KS
stores the filename, ACL and Kf in its data store.
The above procedure allows a delegate to store a file
on a file server of its own member. The encryption step
(as we will show later) is one of the expensive steps,
but note that this step is performed on the machine that
the delegate is running upon and does not cause loads
on the file server or network. The file transmission is
also time consuming, but this is the normal function of
the file server – scalability can be achieved by increasing the number of file servers. The transactions with the
key servers happen only once per file creation and is of
low overhead.
5.2 Reading a file
Reading a file from a file server is expected to be the
most common operation in the system. This is also the
simplest operation in SIMS. The steps are:
• The delegate D that wishes to read a file F, sends
a request with the filename to the file server FS.
• FS sends the entire encrypted file eF to D. This
communication does not have to be encrypted as
the file is already encrypted. Also, MACs are not
necessary as the delegate can discover tampering,
see section 7.
• D sends a key request to the Key Server, KS with
the identity of the agent A and file name.
• KS retrieves the certificate of A and then checks
the directives and the ACL associated with F to
ensure D can have the key Kf.
• If the directive test passes, KS authenticates D.
• If authentication passes, KS sends Kf to D (securely).
• If any of the above two tests fail, a record of the
failure is entered into the history database.
As before, the performance of the read operation is
determined by the download and decryption times. Decryption is a local operation, and the download is a raw
download – does not involve encryption. Hence the
performance is quite close to the performance of unsecured data access.
5.3 Updating a file
The SIMS is expected to be used in a read-mainly
situation and is designed with this in mind. The read
operation is the most efficient and straightforward. The
update operation is the most complex. There are two
approaches to manage updates.
The first approach is to use immutable files, i.e. a
file once created cannot be updated. File updates are
done by actually creating a new version. Since creation
is supported, the updating delegate attaches a version
number to the updated file, essentially creating a new
file. It is the responsibility of the reader to determine
which version to read and which version to trust.
The immutable file strategy is cumbersome and
user-unfriendly. However it is the most secure, as it puts
no intelligence into the file server. The second approach
allows files to be actually file updated, but this needs
the file server to have a securely stored private key.
Compromise of this private key can cause a limited (but
detectable) security risk.
Suppose a delegate D needs to update a file F stored
at file server FS
• D creates an updated version of F and then selects a new encryption key Kf and encrypts the
file producing eF
• D sends an “update request” to the Key Server
KS along with the identity of the owning agent A
the filename and the key Kf.
• KS checks the certificate of A, authenticates D
and then checks the directives and ACL of F to
ensure D is allowed to update F.
• KS stores the new key and informs the file server
FS of the update and obtains an “update port
number”, securely.
• KS informs D of the update port number
• D sends eF to the update port number and FS replaces the old file with the new one.
The possible weakness in this scheme is the need for
a file server public key. In order for the key server to
communicate securely with the file server, the file
server must have a public-private key pair (i.e. must
have a certificate). If a hacker steals the file server certificate then the security of the file server is compromised and files may be corrupted. This vulnerability
does not exist in the other cases:
1. In the file creation step there is also a need for
secure communication with the file server, however if the private key of the file server is compromised, no existing file can be changed – only
new files may be added which are spurious.
2. In the immutable file scheme, a new but spurious,
version of a file can be added, but no existing
version can be deleted.
In any case, please note that a file server can be
compromised and all its files deleted (or changed) but
this can be detected and files restored from backup. No
information can be stolen by compromising a file
server.
6. Prototype and Performance
We have implemented SIMS as a prototype with
some limitations. Firstly, the directive handling scheme
has not been implemented; hence the ACL scheme is
used as the sole enforcer of access rights. Secondly,
several planned enhancements are not completed and
are described in section 7.
The implementation of SIMS runs on Windows
2000. It uses the Windows Crypto API for generation of
encryptions, hashes, signatures and so on. It uses the
Win-2000 certificate server for generating certificates
for agents and servers. The implementation consists of
all the servers described above, that is file server, key
server, history database and certificate database. The
servers are Windows console applications and a set of
library routines exists for handling file creation, reading
and updates. The operation of the system has been
tested and it works as expected.
The performance of the system is also as expected.
Encrypting or decrypting a 1 MB file on an 800Mhz
system takes 0.27 secs (a 10MB file takes 1.7 secs).
Downloading from a file server is the slowest operation, at 1.5 secs for a 1MB file (3.4 secs for 10MB).
Comparatively, the key server request is fast. A request
for a key, including database lookup and authentication
takes 0.02 secs. Note that these numbers are for a preliminary, un-optimized implementation and are expected to improve substantially if the software is optimized.
7. Enhancements and Vulnerabilities
In the following sections we discuss some observed
shortcomings or perceived vulnerabilities and show
how to fix them, if necessary.
File Names: The main shortcoming of the above design
is the use of a flat file system with publicly accessible
names, that is, all file names are visible to everyone.
The solution to this problem is to publish the directory
information about files in the SIMS, using SIMS itself.
This will ensure, only those that are authorized to see a
certain file name, can see that file name. The idea is
simple—all files stored on the server are assigned random names. These system-generated names are stored
in a hierarchical directory system where the actual user
defined names are present. The directory itself is a set
of files, one file per directory. In order to traverse the
directory, the delegate has to fetch each directory file
and decrypt its contents. This way, each directory can
have directives or ACLs specifying the access rights.
File Server Compromises: A vulnerability of the file
server scheme is what happens if a particular file server
is compromised. The compromised file server can be
then made to give out false or misleading information.
Building in a detection mechanism as follows can stop
such errant behavior. We add to each file the following:
1. A hash of the file contents that is signed by the
creator.
2. A description of the file, and its contents, signed
by the creator.
Then a reader can securely verify the received contents and detect any tampering. Note that the signatures
and hashes are added before the file is encrypted.
Performance: The performance of the system is somewhat limited by using the whole file approach, that is
the files are transmitted in totality – unlike conventional
file service where files are fetched in blocks, on
demand. We are working on a block structured file system where each block can be requested on demand
from the file server. This is however different from
normal file service as each block must be verified and
decrypted independently—hence the hashes, signatures
and descriptions have to be attached separately to each
block. Note that partial updates of blocks have to be
handled using different update mechanisms than what
we have discussed.
Access Right Overriding: Suppose Alice creates a file
and Bob is not allowed to access it. However, Alice
decides to provide Bob with temporary access. It should
be possible for Alice to provide Bob with a signed certificate that the key server will honor for a limited lifetime. This functionality is being added.
Denial of Service: In an open “trust-based” network
like TCP-IP, denial of service attacks are very difficult
if not impossible to prevent. However we can minimize
the effects of such attacks. Simply flooding the network
with packets is an attack we cannot prevent or insulate
against. In our system, however unauthorized file
downloading is made difficult by the directory structure. The attacker has to know the name of the file –
which can only be obtained by downloading and decrypting the directory and hence attackers not within
the member organizations cannot launch this attack.
Sending spurious requests can launch a denial of
service attack against the key server. Our design discourages such attacks—because of the need for authentication. All requests to the Key Server needs a sender
identifier. Wrong or forged identifiers are easily detected and a high traffic of these immediately causes the
attack to be detected.
Enhanced ACL: The ACL used for access control can
be enhanced for synchronization purposes. For example, a delegate, after authentication with the key server,
can request notification of modification if a certain file.
The key server enters this in the ACL of the file. Next
time the file is updated, the key server can detect the
notification request in the ACL and notify the requestor.
Other such enhancements are possible and are being
researched.
8. Related Work
The majority of the work in information security is
about authentication techniques and data security using
ACL’s and authentication. Separation of authentication
and access is a new concept; the only other work that
uses this idea is the secure file system or SFS [Ma*99,
Ma00, Fu*00]. In SFS the main focus is to ensure that a
file server does not spoof the client. Hence SFS used
Self-certifying pathnames and this ensures that the client can easily certify the server. In our case however,
the problem is reverse, we need the servers to ensure
that information does not fall in the wrong hands.
Other related research includes encrypting file systems such as PGP and Window 2000 encrypted file
systems [Ho99]. These systems encrypt and decrypt
storage on the fly such that the data on the disk is always encrypted. Our system also keeps the disk encrypted as a side effect.
Work in Dynamic Coalitions is a new area. Some results use secure group communications [Ca*98] and are
orthogonal to our research.
9. References
[Ab*93]
[Ca*98]
[Da*99]
[Fu*00]
[Go*96]
M.D. Abrams, Renewed Understanding of
Access Control Policies, Proceeding of the
16th National Computer Security Conference, pp.87-96, Oct. 1993.
Caronni G, Waldvogel K, Sun D., and Plattner B, Efficient Security for large and dynamic multicast groups, Proceedings Seventh IEEE International Workshop on Enabling Technologies: Infrastucture for Collaborative Enterprises, 1998.
P. Dasgupta, V. Karamcheti, and Z. Kedem.
Efficient and Secure Information Sharing in
Distributed, Collaborative Environments. In
Proc. of 3rd Intl. Workshop on Communication-based Systems, April 2000.
Kevin Fu, Frans Kaashoek, and David
Mazières, Fast and secure distributed readonly file system, Proceedings of the 4th
Symposium on Operating Systems Design
and Implementation, 2000.
I. Goldberg, D. Wagner, R. Thomas, and E.
A. Brewer. A secure environment for untrusted helper applications, Proceeding of
the 16th Usenix Security Symposium, July
1996.
[Gr*99]
R. Grimm and B. N. Bershad, Providing
Policy-neutral And Transparent Access Control in Extensible Systems, June, 1999.
[Ha*95] Martin Hardwich, Blair R. Downie, Mike
Kutcher, and David L. Spooner, Concurrent
Engineering with Delta Files, IEEE Computer Graphics and Applications, PP.62-68,
Jan. 1995.
[Ho99]
Jerry Honeycutt, The Encrypting File System, Introducing Microsoft Windows 2000
Professional, pp.230-235, 1999.
[Ke*98] S. Kent, and R. Atkinson, Security Architecture for the Internet Protocol, RFC 2401,
Internet Engineering Task Force, Nov. 1998,
ftp://ftp.isi.edu/in-notes/rfc2401.txt.
[Ji00]
Keyu Jiang, Dynamic Coalition Management Systems, Ph.D. proposal, Arizona State
University, December 2000.
[Ma00] David Mazières, Self-certifying file system.
PhD thesis, MIT, May 2000.
[Ma*98] D. Maughan, M. Schertler, M. Schneider,
and J. Turner, Internet Security Association
and Key Management Protocol (ISAKMP),
RFC 2408, Internet Engineering Task Force,
Nov. 1998
[Ma*99] David Mazieres, Michael Kaminsky, M.
Frans Kaashoek, and Emmett Witchel, Separating Key Management From File System
Security, 17th ACM Symposium on Operating Systems Principles (SOSP '99) PP.124139, Dec. 1999.
[Rj*98] R. J. Hayton, J. M. Bacon, and K. Moody,
Access Control In An Open Distributed Environment, 1998 IEEE Symposium on Security and Privacy, pp.3-14, 1998.
[Sc96]
Bruce Schneier, Applied Cryptography, second edition 1996
[Sp*99] Ray Spencer, Stephen Smalley, Peter Loscocco, Mike Hibler, Dave Andersen, and
Jay Lepreau, The Flask Security Architecture: System Support For Diverse Security
Policies, Proceedings of the 8th USENIX
Security Symposium, August, 1999.
Sponsor Acknowledgment: Effort sponsored by the Defense
Advanced Research Projects Agency, under agreement numbers F30602-99-1-0517 and N66001-00-1-8920. The U.S.
Government is authorized to reproduce and distribute reprints
for governmental purposes notwithstanding any copyright
annotation thereon.
Sponsor Disclaimer: The views and conclusions contained
herein are those of the authors and should not be interpreted
as necessarily representing the official policies or endorsements, either expressed or implied, of the Defense Advanced
Research Projects Agency or the U.S. Government.
Download