Results 1 - 10
of
14
Types for mobile ambients
- In Proc. 26th POPL
, 1999
"... Java has demonstrated the utility of type systems for mobile code, and in particular their use and implications for security. Security properties rest on the fact that a well-typed Java program (or the corresponding verified bytecode) cannot cause certain kinds of damage. In this paper we provide a ..."
Abstract
-
Cited by 142 (12 self)
- Add to MetaCart
Java has demonstrated the utility of type systems for mobile code, and in particular their use and implications for security. Security properties rest on the fact that a well-typed Java program (or the corresponding verified bytecode) cannot cause certain kinds of damage. In this paper we provide a type system for mobile computation, that is, for computation that is continuously active before and after movement. We show that a well-typed mobile computation cannot cause certain kinds of run-time fault: it cannot cause the exchange of values of the wrong kind, anywhere in a mobile system. 1
Decoding Choice Encodings
, 1999
"... We study two encodings of the asynchronous #-calculus with input-guarded choice into its choice-free fragment. One encoding is divergence-free, but refines the atomic commitment of choice into gradual commitment. The other preserves atomicity, but introduces divergence. The divergent encoding is ..."
Abstract
-
Cited by 87 (5 self)
- Add to MetaCart
We study two encodings of the asynchronous #-calculus with input-guarded choice into its choice-free fragment. One encoding is divergence-free, but refines the atomic commitment of choice into gradual commitment. The other preserves atomicity, but introduces divergence. The divergent encoding is fully abstract with respect to weak bisimulation, but the more natural divergence-free encoding is not. Instead, we show that it is fully abstract with respect to coupled simulation, a slightly coarser---but still coinductively defined---equivalence that does not enforce bisimilarity of internal branching decisions. The correctness proofs for the two choice encodings introduce a novel proof technique exploiting the properties of explicit decodings from translations to source terms.
Secrecy and Group Creation
, 2000
"... We add an operation of group creation to the typed pi-calculus, where a group is a type for channels. Creation of fresh groups has the effect of statically preventing certain communications, and can block the accidental or malicious leakage of secrets. Intuitively, no channel belonging to a fresh ..."
Abstract
-
Cited by 48 (3 self)
- Add to MetaCart
We add an operation of group creation to the typed pi-calculus, where a group is a type for channels. Creation of fresh groups has the effect of statically preventing certain communications, and can block the accidental or malicious leakage of secrets. Intuitively, no channel belonging to a fresh group can be received by processes outside the initial scope of the group, even if those processes are untyped. We formalize this intuition by adapting a notion of secrecy introduced by Abadi, and proving a preservation of secrecy property.
Secrecy despite compromise: Types, cryptography, and the pi-calculus
- In CONCUR’05: Concurrency Theory
, 2005
"... Abstract. A realistic threat model for cryptographic protocols or for languagebased security should include a dynamically growing population of principals (or security levels), some of which may be compromised, that is, come under the control of the adversary. We explore such a threat model within a ..."
Abstract
-
Cited by 21 (6 self)
- Add to MetaCart
Abstract. A realistic threat model for cryptographic protocols or for languagebased security should include a dynamically growing population of principals (or security levels), some of which may be compromised, that is, come under the control of the adversary. We explore such a threat model within a pi-calculus. A new process construct records the ordering between security levels, including the possibility of compromise. Another expresses the expectation of conditional secrecy of a message—that a particular message is unknown to the adversary unless particular levels are compromised. Our main technical contribution is the first system of secrecy types for a process calculus to support multiple, dynamically-generated security levels, together with the controlled compromise or downgrading of security levels. A series of examples illustrates the effectiveness of the type system in proving secrecy of messages, including dynamically-generated messages. It also demonstrates the improvement over prior work obtained by including a security ordering in the type system. Perhaps surprisingly, the soundness proof for our type system for symbolic cryptography is via a simple translation into a core typed pi-calculus, with no need to take symbolic cryptography as primitive. 1
Typing Confluence
, 1997
"... We investigate confluence properties for concurrent systems of message-passing processes, because such properties have proved to be useful for a variety of applications, ranging from reasoning about concurrent objects to mobile and high-speed telecommunication protocols. Roughly, confluence means th ..."
Abstract
-
Cited by 8 (0 self)
- Add to MetaCart
We investigate confluence properties for concurrent systems of message-passing processes, because such properties have proved to be useful for a variety of applications, ranging from reasoning about concurrent objects to mobile and high-speed telecommunication protocols. Roughly, confluence means that for every two computations starting from a common system state, it is possible to continue the computations, so to reach a common state again. In order to prove confluence for a given system, we are required to demonstrate that for all states reachable by computation from the starting state, the `flowing together' of possible computations is possible. In this paper, we aim at proving con#uence properties for concurrent systems without having to generate all reachable states. Instead, we use a type system that supports a static analysis of possible sources of non-confluence. In message-passing systems, confluence is invalidated whenever two processes compete for communication with another proce...
Type-safe higher-order channels in ML-like languages, in
- Proceedings of the 12th ACM SIGPLAN International Conference on Functional Programming, ACM
, 2007
"... As a means of transmitting not only data but also code encapsulated within functions, higher-order channels provide an advanced form of task parallelism in parallel computations. In the presence of mutable references, however, they pose a safety problem because references may be transmitted to remot ..."
Abstract
-
Cited by 4 (1 self)
- Add to MetaCart
As a means of transmitting not only data but also code encapsulated within functions, higher-order channels provide an advanced form of task parallelism in parallel computations. In the presence of mutable references, however, they pose a safety problem because references may be transmitted to remote threads where they are no longer valid. This paper presents an ML-like parallel language with typesafe higher-order channels. By type safety, we mean that no value written to a channel contains references, or equivalently, that no reference escapes via a channel from the thread where it is created. The type system uses a typing judgment that is capable of deciding whether the value to which a term evaluates contains references or not. The use of such a typing judgment also makes it easy to achieve another desirable feature of channels, channel locality, that associates every channel with a unique thread for serving all values addressed to it. Our type system permits mutable references in sequential computations and also ensures that mutable references never interfere with parallel computations. Thus it provides both flexibility in sequential programming and ease of implementing parallel computations.
Dynamic policy discovery with remote attestation
- In FoSSaCS, volume 3921 of LNCS
, 2006
"... Abstract. Remote attestation allows programs running on trusted hardware to prove their identity (and that of their environment) to programs on other hosts. Remote attestation can be used to address security concerns if programs agree on the meaning of data in attestations. This paper studies the en ..."
Abstract
-
Cited by 3 (2 self)
- Add to MetaCart
Abstract. Remote attestation allows programs running on trusted hardware to prove their identity (and that of their environment) to programs on other hosts. Remote attestation can be used to address security concerns if programs agree on the meaning of data in attestations. This paper studies the enforcement of codeidentity based access control policies in a hostile distributed environment, using a combination of remote attestation, dynamic types, and typechecking. This ensures that programs agree on the meaning of data and cannot violate the access control policy, even in the presence of opponent processes. The formal setting is a π-calculus with secure channels, process identity, and remote attestation. Our approach allows executables to be typechecked and deployed independently, without the need for secure initial key and policy distribution beyond the trusted hardware itself.
Responsive Bisimulation
- In Proceedings of the 2nd IFIP InternationalConference on Theoretical Computer Science
, 2002
"... This paper introduces the responsive bisimulation, which treats local delays of incoming messages the same as external delays, as long as potential interference by competing receptors is avoided. By this bisimulation, the -calculus process , representing a lock with a message receptor , is ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
This paper introduces the responsive bisimulation, which treats local delays of incoming messages the same as external delays, as long as potential interference by competing receptors is avoided. By this bisimulation, the -calculus process , representing a lock with a message receptor , is equivalent to the 22824 ; the first process will delay messages externally, the second locally. Existing bisimulations distinguish between these processes. The responsive bisimulation is a congruence for the family of processes which model objects. It is useful for studying compositional synchronisation in such models. 1.
Global/Local Subtyping for a Distributed π-calculus
, 1997
"... In the design of mobile agent programming languages there is a tension between the implementation cost and the expressiveness of the communication mechanisms provided. This paper gives a static type system for a distributed ß-calculus in which the input and output capabilities of channels may be eit ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
In the design of mobile agent programming languages there is a tension between the implementation cost and the expressiveness of the communication mechanisms provided. This paper gives a static type system for a distributed ß-calculus in which the input and output capabilities of channels may be either global or local. This allows compile-time optimization where possible but retains the expressiveness of channel communication. Subtyping allows all communications to be invoked uniformly. Recursive types and products are included. The distributed ß-calculus used integrates location and migration primitives from the Distributed Join Calculus with asynchronous ß communication, taking a simple reduction semantics. Some alternative calculi are discussed. Contents 1 Introduction 2 2 A distributed ß-calculus 5 2.1 Syntax . . . . . . . . . . . . . . . . . . . . . 5 2.1.1 Types . . . . . . . . . . . . . . . . . 6 2.1.2 Processes . . . . . . . . . . . . . . . 6 2.2 Reduction semantics . . . ...

