Static vs Dynamic Typing for Access Control in Pi-Calculus
نویسندگان
چکیده
Traditional static typing systems for the pi-calculus are built around capability types that control the read/write access rights on channels and describe the type of their payload. While static typing has proved adequate for reasoning on process behavior in typed contexts, dynamic techniques have often been advocated as more effective for access control in distributed/untyped contexts. We study the relationships between the two approaches – static versus dynamic – by contrasting two versions of the asynchronous pi-calculus. The former, P, comes with an entirely standard static typing system. The latter, P@, combines static and dynamic typing: a static type system associates channels with flat types that only express read/write capabilities and disregard the payload type; a dynamically typed synchronization complements the static type system to guarantee type soundness. We show that P@ can be encoded into P in a fully abstract manner, preserving the respective behavioral equivalences of the two calculi. Besides yielding an interesting expressivity result, the encoding also sheds light on the effectiveness of dynamic typing as a mechanism for access control.
منابع مشابه
Access Control Based on Code Identity for Open Distributed Systems
In computing systems, trust is an expectation on the dynamic behavior of an agent; static analysis is a collection of techniques for establishing static bounds on the dynamic behavior of an agent. We study the relationship between code identity, static analysis and trust in open distributed systems. Our primary result is a robust safety theorem expressed in terms of a distributed higher-order p...
متن کاملInformation Flow vs. Resource Access in the Asynchronous Pi-calculus (extended Abstract)
We propose an extension of the asynchronous-calculus in which a variety of security properties may be captured using types. These are an extension of the Input/Output types for the-calculus in which I/O capabilities are assigned speciic security levels. We deene a typing system which ensures that processes running at security level cannot access resources with a security level higher than. The ...
متن کاملPict: a programming language based on the Pi-Calculus
The -calculus o ers an attractive basis for concurrent programming. It is small, elegant, and well studied, and supports (via simple encodings) a wide range of high-level constructs including data structures, higher-order functional programming, concurrent control structures, and objects. Moreover, familiar type systems for the -calculus have direct counterparts in the -calculus, yielding stron...
متن کاملA type system for Discretionary Access Control
Discretionary Access Control (DAC) systems provide powerful resource management mechanisms based on the selective distribution of capabilities to selected classes of principals. We study a type-based theory of DAC models for a process calculus that extends Cardelli, Ghelli and Gordon’s pi-calculus with groups (Cardelli et al., 2005). In our theory, groups play the rôle of principals, the unit o...
متن کاملGradual Typing for Functional Languages
Static and dynamic type systems have well-known strengths and weaknesses, and each is better suited for different programming tasks. There have been many efforts to integrate static and dynamic typing and thereby combine the benefits of both typing disciplines in the same language. The flexibility of static typing can be improved by adding a type Dynamic and a typecase form. The safety and perf...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2007