Sabelfeld, AndreiAndreiSabelfeldMantel, HeikoHeikoMantel2022-11-112022-11-112002-09Lecture Notes in Computer Science 2477 LNCS: 376-394 (2002)http://hdl.handle.net/11420/14009Preserving the confidentiality of data in a distributed system is an increasingly important problem of current security research. Distributed programming often involves message passing over a publicly observable medium, which opens up various opportunities for eavesdropping. Not only may the contents of messages sent on a public channel reveal confidential data, but merely observing the presence of a message on a channel for encrypted traffic may leak information. Another source of leaks is blocking, which may change the observable behavior of a process that attempts to receive on an empty channel. In this article, we investigate the interplay between, on the one side, public, encrypted, and private (or hidden) channels of communication and, on the other side, blocking and nonblocking communication primitives for a simple multi-threaded language. We argue for timing-sensitive security and give a compositional timing-sensitive confidentiality specification. A key contribution of this article is a security-type system that statically enforces confidentiality. That the type system is not over-restrictive is exemplified by a typable distributed file-server program.enInformatikStatic confidentiality enforcement for distributed programsConference Paper10.1007/3-540-45789-5_27Other