3 research outputs found
Causality & Control flow
Causality has been the issue of philosophic debate since
Hippocrates. It is used in formal verification and testing, e.g.,
to explain counterexamples or construct fault trees. Recent work
defines actual causation in terms of Pearl's causality framework,
but most definitions brought forward so far struggle with examples
where one event preempts another one. A key point to capturing
such examples in the context of programs or distributed systems is
a sound treatment of control flow. We discuss how causal models
should incorporate control flow and discover that much of what
Pearl/Halpern's notion of contingencies tries to capture is
captured better by an explicit modelling of the control flow in
terms of structural equations and an arguably simpler definition.
Inspired by causality notions in the security domain, we bring
forward a definition of causality that takes these
control-variables into account. This definition provides a clear
picture of the interaction between control flow and causality and
captures these notoriously difficult preemption examples without
secondary concepts. We give convincing results on a benchmark of
34 examples from the literature
Automated Verification of Accountability in Security Protocols
Accountability is a recent paradigm in security protocol design which aims to
eliminate traditional trust assumptions on parties and hold
them accountable for their misbehavior.
It is meant to establish trust in the first place and to
recognize and react if this trust is violated.
In this work, we discuss a protocol-agnostic definition of accountability:
a protocol provides accountability (w.r.t. some security property)
if it can identify all misbehaving parties, where
misbehavior is defined as a deviation from the protocol that causes
a security violation.
We provide a mechanized method for the
verification of accountability and demonstrate its use for
verification and attack finding on various examples from the
accountability and causality literature, including Certificate Transparency and
Kroll’s Accountable Algorithms protocol.
We reach a high degree of automation by expressing accountability in terms of
a set of trace properties and show their soundness and completeness
Accountability in Security Protocols
A promising paradigm in protocol design is to hold parties
accountable for misbehavior, instead of postulating that they are
trustworthy.
Recent approaches in defining this property, called accountability,
characterized malicious behavior as a deviation from the protocol
that causes a violation of the desired security property, but did so
under the assumption that all deviating parties are controlled by
a single, centralized adversary. In this work, we investigate the
setting where multiple parties can deviate with or without
coordination in a variant of the applied-pi calculus.
We first
demonstrate that, under realistic assumptions,
it is impossible to determine all misbehaving parties; however,
we show that accountability can be relaxed to exclude causal
dependencies that arise from the behavior of deviating parties, and
not from the protocol as specified.
We map out the design space for the relaxation,
point out protocol classes separating these notions
and define
conditions under which we can guarantee fairness and completeness.
Most importantly, we discover under which circumstances
it is correct to consider accountability in the single-adversary setting,
where this property can be verified with off-the-shelf protocol verification tools