3,350 research outputs found
High-level Cryptographic Abstractions
The interfaces exposed by commonly used cryptographic libraries are clumsy,
complicated, and assume an understanding of cryptographic algorithms. The
challenge is to design high-level abstractions that require minimum knowledge
and effort to use while also allowing maximum control when needed.
This paper proposes such high-level abstractions consisting of simple
cryptographic primitives and full declarative configuration. These abstractions
can be implemented on top of any cryptographic library in any language. We have
implemented these abstractions in Python, and used them to write a wide variety
of well-known security protocols, including Signal, Kerberos, and TLS.
We show that programs using our abstractions are much smaller and easier to
write than using low-level libraries, where size of security protocols
implemented is reduced by about a third on average. We show our implementation
incurs a small overhead, less than 5 microseconds for shared key operations and
less than 341 microseconds (< 1%) for public key operations. We also show our
abstractions are safe against main types of cryptographic misuse reported in
the literature
A Component-Based Simplex Architecture for High-Assurance Cyber-Physical Systems
We present Component-Based Simplex Architecture (CBSA), a new framework for
assuring the runtime safety of component-based cyber-physical systems (CPSs).
CBSA integrates Assume-Guarantee (A-G) reasoning with the core principles of
the Simplex control architecture to allow component-based CPSs to run advanced,
uncertified controllers while still providing runtime assurance that A-G
contracts and global properties are satisfied. In CBSA, multiple Simplex
instances, which can be composed in a nested, serial or parallel manner,
coordinate to assure system-wide properties. Combining A-G reasoning and the
Simplex architecture is a challenging problem that yields significant benefits.
By utilizing A-G contracts, we are able to compositionally determine the
switching logic for CBSAs, thereby alleviating the state explosion encountered
by other approaches. Another benefit is that we can use A-G proof rules to
decompose the proof of system-wide safety assurance into sub-proofs
corresponding to the component-based structure of the system architecture. We
also introduce the notion of coordinated switching between Simplex instances, a
key component of our compositional approach to reasoning about CBSA switching
logic. We illustrate our framework with a component-based control system for a
ground rover. We formally prove that the CBSA for this system guarantees energy
safety (the rover never runs out of power), and collision freedom (the rover
never collides with a stationary obstacle). We also consider a CBSA for the
rover that guarantees mission completion: all target destinations visited
within a prescribed amount of time.Comment: Extended version of a paper to be presented at ACSD 2017, 12 pages, 3
figures, 1 appendi
Benchmark and Framework for Encouraging Research on Multi-Threaded Testing Tools
A problem that has been getting prominence in testing is that of looking for intermittent bugs. Multi-threaded code is becoming very common, mostly on the server side. As there is no silver bullet solution, research focuses on a variety of partial solutions. In this paper (invited by PADTAD 2003) we outline a proposed project to facilitate research. The project goals are as follows. The first goal is to create a benchmark that can be used to evaluate different solutions. The benchmark, apart from containing programs with documented bugs, will include other artifacts, such as traces, that are useful for evaluating some of the technologies. The second goal is to create a set of tools with open API s that can be used to check ideas without building a large system. For example an instrumentor will be available, that could be used to test temporal noise making heuristics. The third goal is to create a focus for the research in this area around which a community of people who try to solve similar problems with different techniques, could congregate
- …
