Tools

Cryptographic algorithms and protocols

Cryptography is a key enabling technology for protecting distributed systems, providing us with tools and building blocks that underlie most modern security protocols. The theory of cryptography is concerned with the (in)feasibility of securely realizing cryptographic tasks and their efficiency. The challenge is to design new cryptographic algorithms that reflect better the requirements posed by the systems to be secured.

In distributed cryptography, more parties than the conventional two implement their tasks securely and efficiently, even in the face of some entities becoming malicious. We use primitives such as secret sharing and secure multi-party computation to improve privacy in storage and policies, e.g. for Personal Health Records. Attribute-based encryption is used to build new flexible schemes to enforce the policy, but also protect the privacy of the record and the policy against curious service providers.

Formal methods and statistics

Distributed and embedded systems are often so complex that theoretical development must be driven by experiments. As a basis for experiments we develop models of different types, for example logical models of security protocols, or simulation models of network protocols. We use various types of tools to validate these models. To study qualitative aspects of systems we use model checkers such as SPIN to help us construct, explore and verify abstract models of systems. To study quantitative aspects of systems we use MatLab. A new generation of model checkers, such as Uppaal supports the analysis of both qualitative and quantitative aspects, particularly timing. Where necessary we build our own tools. For example, we built Portunes to check penetration testing scenarios. Several anomaly-based models have been developed for intrusion detection, such as MELISSa.

As always the proof of the pudding is in the eating, so we build prototypes of systems to validate our models, which more often than not leads to a complete overhaul of the models until after a number of iterations, when we are satisfied that we have gained a deep understanding of the system under investigation. Since modelling is central to our work we are also investigating methods for systematic and effective model construction.

Simulation and case studies

We work together with industrial and government partners to apply our models in real-world environments. These case studies contribute to:

  • insights in real-world problems
  • empirical comparison of different situations
  • evaluation of the quality of our models
We have conducted a case study in trust management, which resulted in TuLiP. We also aim at simulating attacks and measuring associated security properties. We have developed methodologies for penetration testing that include physical security (building access) and social security (security awareness). These are based on controlled experiments within our own university's premises, in close cooperation with the university's security department. We are currently studying the possibilities of simulating security in virtual worlds, where Portunes is the first step. For evaluation of complex and dynamic networks, we use network simulations like ns-2/-3 and JiST/SWANS which we enhance and extent to allow us simulation of complex environments like traffic scenarios and inter-vehicle networking.