31 research outputs found
Recommended from our members
Reconciling Shannon and Scott with a Lattice of Computable Information
This paper proposes a reconciliation of two different theories of information. The first, originally proposed in a lesser-known work by Claude Shannon (some five years after the publication of his celebrated quantitative theory of communication), describes how the information content of channels can be described qualitatively, but still abstractly, in terms of information elements, where information elements can be viewed as equivalence relations over the data source domain. Shannon showed that these elements have a partial ordering, expressing when one information element is more informative than another, and that these partially ordered information elements form a complete lattice. In the context of security and information flow this structure has been independently rediscovered several times, and used as a foundation for understanding and reasoning about information flow. The second theory of information is Dana Scott\u27s domain theory, a mathematical framework for giving meaning to programs as continuous functions over a particular topology. Scott\u27s partial ordering also represents when one element is more informative than another, but in the sense of computational progress - i.e. when one element is a more defined or evolved version of another. To give a satisfactory account of information flow in computer programs it is necessary to consider both theories together, in order to understand not only what information is conveyed by a program (viewed as a channel, \ue0 la Shannon) but also how the precision with which that information can be observed is determined by the definedness of its encoding (\ue0 la Scott). To this end we show how these theories can be fruitfully combined, by defining the Lattice of Computable Information (LoCI), a lattice of preorders rather than equivalence relations. LoCI retains the rich lattice structure of Shannon\u27s theory, filters out elements that do not make computational sense, and refines the remaining information elements to reflect how Scott\u27s ordering captures possible varieties in the way that information is presented. We show how the new theory facilitates the first general definition of termination-insensitive information flow properties, a weakened form of information flow property commonly targeted by static program analyses
Software Engineering with Incomplete Information
Information may be the common currency of the universe, the stuff of creation. As the physicist John Wheeler claimed, we get ``it from bit''. Measuring information, however, is a hard problem. Knowing the meaning of information is a hard problem. Directing the movement of information is a hard problem. This hardness comes when our information about information is incomplete. Yet we need to offer decision making guidance, to the computer or developer, when facing this incompleteness. This work addresses this insufficiency within the universe of software engineering.
This thesis addresses the first problem by demonstrating that obtaining the relative magnitude of information flow is computationally less expensive than an exact measurement. We propose ranked information flow, or RIF, where different flows are ordered according to their FlowForward, a new measure designed for ease of ordering. To demonstrate the utility of FlowForward, we introduce information contour maps: heatmapped callgraphs of information flow within software. These maps serve multiple engineering uses, such as security and refactoring.
By mixing a type system with RIF, we address the problem of meaning. Information security is a common concern in software engineering. We present OaST, the world's first gradual security type system that replaces dynamic monitoring with information theoretic risk assessment. OaST now contextualises FlowForward within a formally verified framework: secure program components communicate over insecure channels ranked by how much information flows through them. This context helps the developer interpret the flows and enables security policy discovery, adaptation and refactoring.
Finally, we introduce safestrings, a type-based system for controlling how the information embedded within a string moves through a program. This takes a structural approach, whereby a string subtype is a more precise, information limited, subset of string, ie a string that contains an email address, rather than anything else
A Cut Principle for Information Flow
We view a distributed system as a graph of active locations with
unidirectional channels between them, through which they pass messages. In this
context, the graph structure of a system constrains the propagation of
information through it.
Suppose a set of channels is a cut set between an information source and a
potential sink. We prove that, if there is no disclosure from the source to the
cut set, then there can be no disclosure to the sink. We introduce a new
formalization of partial disclosure, called *blur operators*, and show that the
same cut property is preserved for disclosure to within a blur operator. This
cut-blur property also implies a compositional principle, which ensures limited
disclosure for a class of systems that differ only beyond the cut.Comment: 31 page
Principles of Security and Trust
This open access book constitutes the proceedings of the 8th International Conference on Principles of Security and Trust, POST 2019, which took place in Prague, Czech Republic, in April 2019, held as part of the European Joint Conference on Theory and Practice of Software, ETAPS 2019. The 10 papers presented in this volume were carefully reviewed and selected from 27 submissions. They deal with theoretical and foundational aspects of security and trust, including on new theoretical results, practical applications of existing foundational ideas, and innovative approaches stimulated by pressing practical problems
Principles of Security and Trust
This open access book constitutes the proceedings of the 8th International Conference on Principles of Security and Trust, POST 2019, which took place in Prague, Czech Republic, in April 2019, held as part of the European Joint Conference on Theory and Practice of Software, ETAPS 2019. The 10 papers presented in this volume were carefully reviewed and selected from 27 submissions. They deal with theoretical and foundational aspects of security and trust, including on new theoretical results, practical applications of existing foundational ideas, and innovative approaches stimulated by pressing practical problems
Language-based Techniques for Practical and Trustworthy Secure Multi-party Computations
Secure Multi-party Computation (MPC) enables a set of parties to
collaboratively compute, using cryptographic protocols, a function
over their private data in a way that the participants do not see
each other's data, they only see the final output. Typical MPC
examples include statistical computations over joint private data,
private set intersection, and auctions. While these applications are
examples of monolithic MPC, richer MPC
applications move between "normal" (i.e., per-party local)
and "secure" (i.e., joint, multi-party secure) modes
repeatedly, resulting overall in mixed-mode computations. For
example, we might use MPC to implement the role of the dealer in a
game of mental poker -- the game will be divided into rounds of
local decision-making (e.g. bidding) and joint interaction
(e.g. dealing). Mixed-mode computations are also used to improve
performance over monolithic secure computations.
Starting with the Fairplay project, several MPC frameworks have been
proposed in the last decade to help programmers write MPC applications in
a high-level language, while the toolchain manages the
low-level details. However, these frameworks are either not expressive
enough to allow writing mixed-mode applications or lack formal
specification, and reasoning capabilities, thereby diminishing the
parties' trust in such tools, and the programs written using
them. Furthermore, none of the frameworks provides a verified
toolchain to run the MPC programs, leaving the potential of security holes
that can compromise the privacy of parties' data.
This dissertation presents language-based techniques to make MPC more
practical and trustworthy. First, it presents the design and
implementation of a new MPC Domain Specific Language, called Wysteria,
for writing rich mixed-mode MPC applications. Wysteria provides several
benefits over previous languages, including a conceptual single thread of
control, generic support for more than two parties, high-level abstractions
for secret shares, and a fully formalized type system and operational
semantics. Using Wysteria, we have implemented several MPC applications,
including, for the first time, a card dealing application.
The dissertation next
presents Wys*, an embedding of Wysteria in F*, a
full-featured verification oriented programming language. Wys*
improves on Wysteria along three lines: (a) It enables programmers to
formally verify the correctness and security properties of their
programs. As far as we know, Wys* is the first language to
provide verification capabilities for MPC programs. (b) It provides a
partially verified toolchain to run MPC programs, and finally (c) It
enables the MPC programs to use, with no extra effort, standard
language constructs from the host language F*, thereby making it
more usable and scalable.
Finally, the dissertation develops static analyses that help optimize
monolithic MPC programs into mixed-mode MPC programs, while providing
similar privacy guarantees as the monolithic versions
Do children have rights : five theoretical reflections on children's rights
The existence of children's rights in law does not resolve the question as to whether children have rights in reality. In 1973 Hillary Rodham Clinton claimed that children's rights were a 'slogan in search of a definition'. Since then many advances have been made in children's rights: the United Nations Convention on the Rights of the Child was adopted in 1989 and many countries have introduced national legislation protecting the rights of children. Despite these advances the rights of children remain under theorised and poorly implemented. The fundamental question 'do children have rights?' remains contested. This thesis defends and applies a theoretical argument for children's rights over five papers. It does so in two parts. The first part builds a theory for children's rights across three papers: paper one 'Capacity, claims and children's rights', paper two, ''Capacity' and 'Competence' in the Language of Children's Rights' and paper three 'Children's Rights and the Future Interest Problem'. Children have rights because they have interests that are of sufficient importance to be protected and these interests ground claims that produce duties in others to act or refrain from acting. Rights are therefore understood as Hohfeldian claims with correlative duties. This thesis sets out the relationship between a child's capacity and their rights. It is not conceptually necessary for a child to hold the power to enforce or waive their claim in order to hold a right. However a child must be competent in realising the interest to which a particular claim pertains. Furthermore the duty correlated with a child's claim must be reasonable and achievable and the duty-holder must hold the capacity to fulfil the correlative duty. Children are in a special category of right holders as their capacities are rapidly evolving. As a consequence they hold claims to the development of core capacities that produce duties in others to assist in their development. The second part of the thesis applies this theory of children's rights to two cases in two papers: paper four, 'What's Love Got to do with it? Why children do not have a right to be loved' and paper five, 'No harm, no foul: donor conceived children and the right to know their genetic parents'. The case of a child's right to be loved demonstrates what children's rights are not. Children do not have a right to be loved because love as a duty cannot be reasonably fulfilled or enforced. The case of a right to know one's genetic parents illustrates what children's right are. Children have a right to identifying information as they have an interest in being free from psycho-social harm. They have a corresponding right to be told that they are donor conceived. These two cases demonstrate the importance in locating the interest grounding the claim in order to determine the shape of the corresponding duty. This is essential for addressing real policy problems. Understanding why children have rights presents effective pathways for moving children's rights from 'a slogan' into reality. - provided by Candidate