Professor Steve Schneider


Director of Computer Science Research Centre
PhD, FBCS, FIET
PA: Denise Myers
+44 (0)1483 686058

About

Areas of specialism

Secure Electronic Voting; Distributed Ledger Technologies; Rail and Automotive Security; Security and Privacy; Formal modeling and verification

University roles and responsibilities

  • Director of the Computer Science Research Centre

    Previous roles

    2004 - 2010
    Head of Department of Computer Science
    University of Surrey
    2015 - 2019
    Associate Dean (Research and Innovation), Faculty of Engineering and Physical Sciences
    University of Surrey

    Research

    Research interests

    Research projects

    Research collaborations

    Indicators of esteem

    • My work on secure electronic voting has led to the development of a verifiable voting system used in the November 2014 State election in the State of Victoria, Australia.

      Teaching

      Publications

      Z Xia, C Culnane, J Heather, H Jonker, P Ryan, S Schneider, S Srinivasan Versatile Pret a Voter: Handling multiple election methods with a unified interface
      SA Schneider (2015)vVote evaluation survey University of Surrey
      J Heather, S Schneider (2005)A decision procedure for the existence of a rank function, In: Journal of Computer Security13(2)pp. 317-344 IOS Press

      Schneider’s work on rank functions [17] provides a formal approach to verification of certain properties of a security protocol. However, he illustrates the approach only with a protocol running on a small network; and no help is given with the somewhat hit-and-miss process of finding the rank function that underpins the central theorem. In this paper, we develop the theory to allow for an arbitrarily large network, and give a clearly defined decision procedure by which one may either construct a rank function, proving correctness of the protocol, or show that no rank function exists. We briefly discuss the implications of the absence of a rank function, and the open question of completeness of the rank function theorem.

      P. Y. Ryan, Steve A. Schneider (2001)Process algebra and non-interference, In: Journal of Computer Security9pp. 75-103

      The information security community has long debated the exact definition of the term ‘security’. Even if we focus on the more specific notion of confidentiality the precise definition remains controversial. In their seminal paper, Goguen and Meseguer took an important step towards a formalisation of the notion of absence of information flow with the concept of non-interference. This too was found to have problems and limitations, particularly when applied to systems displaying non-determinism which led to a proliferation of refinements of this notion and there is still no consensus as to which of these is ‘correct’. We show that this central concept in information security is closely related to a central concept of computer science: that of the equivalence of systems. The notion of non-interference depends ultimately on our notion of process equivalence. However what constitutes the equivalence of two processes is itself a deep and controversial question in computer science with a number of distinct definitions proposed in the literature. We illustrate how several of the leading candidates for a definition of non-interference mirror notions of system equivalence. Casting these security concepts in a process algebraic framework clarifies the relationship between them and allows many results to be carried over regarding, for example, composition and the completeness of unwinding rules. We also outline some generalisations of a CSP formulation of non-interference to handle partial and conditional information flows.

      Jorden Whitefield, Liqun Chen, F Kargl, A Paverd, Steven Schneider, Helen Treharne, Stephan Wesemeyer (2017)Formal Analysis of V2X Revocation Protocols., In: Proceedings of STM’17. Lecture Notes in Computer Science10547pp. 147-163 Springer

      Research on vehicular networking (V2X) security has produced a range of security mechanisms and protocols tailored for this domain, addressing both security and privacy. Typically, the security analysis of these proposals has largely been informal. However, formal analysis can be used to expose flaws and ultimately provide a higher level of assurance in the protocols. This paper focusses on the formal analysis of a particular element of security mechanisms for V2X found in many proposals, that is the revocation of malicious or misbehaving vehicles from the V2X system by invalidating their credentials. This revocation needs to be performed in an unlinkable way for vehicle privacy even in the context of vehicles regularly changing their pseudonyms. The Rewire scheme by Förster et al. and its subschemes Plain and R-token aim to solve this challenge by means of cryptographic solutions and trusted hardware. Formal analysis using the Tamarin prover identifies two flaws: one previously reported in the literature concerned with functional correctness of the protocol, and one previously unknown flaw concerning an authentication property of the R-token scheme. In response to these flaws we propose Obscure Token (O-token), an extension of Rewire to enable revocation in a privacy preserving manner. Our approach addresses the functional and authentication properties by introducing an additional key-pair, which offers a stronger and verifiable guarantee of successful revocation of vehicles without resolving the long-term identity. Moreover O-token is the first V2X revocation protocol to be co-designed with a formal model.

      F Moller, HN Nguyen, M Roggenbach, S Schneider, H Treharne (2012)Defining and Model Checking Abstractions of Complex Railway Models Using CSP||B., In: A Biere, A Nahir, TEJ Vos (eds.), Haifa Verification Conference7857pp. 193-208
      I Abdelhalim, SA Schneider, H Treharne (2013)An integrated framework for checking the behaviour of fUML models using CSP, In: International Journal on Software Tools for Technology Transfer15(4)pp. 375-396 Springer

      Transforming Unified Modelling Language (UML) models into a formal representation to check certain properties has been addressed many times in the literature. However, the lack of automatic formalization for executable UML models and provision of model checking results as modeller-friendly feedback has inhibited the practical use of such approaches in real life projects. In this paper, we address those issues by performing the automatic formalization of the Foundational subset for executable UML (fUML) models into communicating sequential processes without any interaction with the modeller, who should be isolated from the formal methods domain. The formal analysis provides the modeller with a UML sequence diagram that represents the model checking result in the case where an error has been found in the model. This work also considers the formalization of systems that depend on asynchronous communication between components in order to allow checking of the dynamic concurrent behaviour of systems.We have designed a comprehensive framework that is implemented as a plugin to MagicDraw (the CASE tool we use) that we call Compass. The framework depends on Epsilon as a model transformation tool that utilizes the Model Driven Engineering approach. It also implements an optimization approach to be able to model check concurrent systems using FDR2, and at the same time comply with the fUML inter-object communication mechanism. In order to validate our framework, we have checked a Tokeneer fUML model against deadlock using Compass. The model checking results are reported in this paper showing the advantages of our framework.

      Rob Delicata, Steve A. Schneider (2005)Temporal rank functions for forward secrecy, In: Proceedings of the 18th IEEE Computer Security Foundations Workshop (CSFW’05)pp. 126-139

      A number of cryptographic protocols have appeared in the literature that claim to provide forward secrecy. The idea of forward secrecy is that if a long-term key is compromised then any session-keys that were previously established using the long-term key should remain secret. Forward secrecy is important in scenarios where session-keys need protection beyond the time-span during which they are used. These situations typically arise when session-keys are used for data encryption, rather than just authentication. There appears to be a disparity between the growing number of protocols that claim forward secrecy, and the work carried out on its formal analysis. In contrast to secrecy and authentication, the formal verification of forward secrecy has, with some exceptions received little attention in the literature. This paper fills the gap for the rank function approach.

      MW Mislove, AW Roscoe, SA Schneider (1995)Fixed points without Completeness, In: Theoretical Computer Science138pp. 273-314
      J Davies, S Schneider (1995)A Brief History of Timed CSP., In: Theoretical Computer Science138(2)pp. 243-271
      J Heather, G Lowe, S Schneider (2003)How to prevent type flaw attacks on security protocols, In: Journal of Computer Security11(2)pp. 217-244 IOS Press

      A type flaw attack on a security protocol is an attack where a field that was originally intended to have one type is subsequently interpreted as having another type. A number of type flaw attacks have appeared in the academic literature. In this paper we prove that type flaw attacks can be prevented using a simple technique of tagging each field with some information indicating its intended type.

      JA Heather, SA Schneider, VJ Teague (2013)Proceedings of Vote-ID 2013
      Z Xia, SA Schneider, J Heather, PYA Ryan, D Lundin, P Howard (2007)Pret a Voter: All-in-onepp. 47-56
      Burkhard Schafer, Glenn Charles Parry, John Philip Collomosse, Steven Alfred Schneider, Chris Speed, Christopher Elsden (2022)DeCaDE Contribution to the Law Commission Call for Evidence on The Changing Law on Ownership in Digital Assets

      This response to the Law Commission Call for Evidence on The Changing Law on Ownership in Digital Assetsis written on behalf of DeCaDe, the UKRI funded Centre for the decentralised digital economy. DECaDE is a multi-disciplinary collaboration between the Universities of Surrey, Edinburgh and the Digital Catapult. https://decade.ac.uk/ The response was coordinated by Professor Burkhard Schafer, University of Edinburgh 

      D Chaum, PYA Ryan, SA Schneider (2005)A Practical Voter-Verifiable Election Scheme., In: SDC di Vemircati, PF Syverson, D Gollmann (eds.), Lecture Notes in Computer Science3679pp. 118-139

      We present an election scheme designed to allow voters to verify that their vote is accurately included in the count. The scheme provides a high degree of transparency whilst ensuring the secrecy of votes. Assurance is derived from close auditing of all the steps of the vote recording and counting process with minimal dependence on the system components. Thus, assurance arises from verification of the election rather than having to place trust in the correct behaviour of components of the voting system. The scheme also seeks to make the voter interface as familiar as possible.

      W Ifill, S Schneider, H Treharne (2007)Augmenting B with control annotations, In: J Julliand, O Kouchnarenko (eds.), B 2007: Formal Specification and Development in B, Proceedings/Lecture Notes in Computer Science4355pp. 34-48

      CSP||B is an integration of the process algebra Communicating Sequential Processes (CSP), and the B-Method, which enables consistent controllers to be written for B machines in a verifiable way. Controllers are consistent if they call operations only when they are enabled. Previous work has established a way of verifying consistency between controllers and machines by translating control flow to AMN and showing that a control loop invariant is preserved. This paper offers an alternative approach, which allows fragments of control flow expressed as annotations to be associated with machine operations. This enables designers’ understanding about local relationships between successive operations to be captured at the point the operations are written, and used later when the controller is developed. Annotations provide a bridge between controllers and machines, expressing the relevant aspects of control flow so that controllers can be verified simply by reference to the annotations without the need to consider the details of the machine operations. This paper presents the approach through two instances of annotations with their associated control languages, covering recursion, prefixing, choice, and interrupt.

      J Heather, G Lowe, S Schneider (2003)How to prevent type flaw attacks on security protocols, In: Journal of Computer Security11(2)pp. 217-244
      Ali Alshehri, Steve Schneider (2013)Formally defining NFC M-coupon requirements, with a case study, In: 8th International Conference for Internet Technology and Secured Transactions (ICITST-2013)pp. 52-58 Infonomics Society

      An NFC-based mobile coupon (M-coupon) is a cryptographically secured electronic message with some value stored at user's mobile. In the literature, a number of NFC M-coupon protocols were proposed in order to meet particular security requirements. However, formal security analysis is required to check the security of these protocols and whether they address their requirements. This paper mainly focuses on the formal definition of the NFC M-coupon requirements, which is the first, and most important, part of the formal analysis. The formal definitions can apply to a variety of protocols. Then, we illustrate the concept on a case study.

      J Ouaknine, S Schneider (2006)Timed CSP: A Retrospective., In: Electr. Notes Theor. Comput. Sci.162pp. 273-276
      James Heather, Steve Schneider (2012)A Formal Framework for Modelling Coercion Resistance and Receipt Freeness, In: FM 2012: Formal Methodspp. 217-231 Springer Berlin Heidelberg

      Coercion resistance and receipt freeness are critical properties for any voting system. However, many different definitions of these properties have been proposed, some formal and some informal; and there has been little attempt to tie these definitions together or identify relations between them. We give here a general framework for specifying different coercion resistance and receipt freeness properties using the process algebra CSP. The framework is general enough to accommodate a wide range of definitions, and strong enough to cover both randomization attacks and forced abstention attacks. We provide models of some simple voting systems, and show how the framework can be used to analyze these models under different definitions of coercion resistance and receipt freeness. Our formalisation highlights the variation between the definitions, and the importance of understanding the relations between them.

      Li Gong, Joshua Guttman, Peter Ryan, Steve A. Schneider (2003)Guest Editorial - Overview, In: the IEEE Journal on Selected Areas in Communications, Issue on Design and Analysis Techniques for Security Assurance21pp. 1-4
      M Llewellyn, SA Schneider, Z Xia, C Culnane, J Heather, PYA Ryan, S Srinivasan (2013)Testing Voters’ Understanding of a Security Mechanism Used in Verifiable Voting, In: The USENIX Journal of Election Technology and Systems11pp. 53-61 USENIX Association
      S Schneider, H Treharne (2009)Changing System Interfaces Consistently: A New Refinement Strategy for CSP||B, In: M Leuschel, H Wehrheim (eds.), INTEGRATED FORMAL METHODS, PROCEEDINGS5423pp. 103-117

      This paper introduces action refinement in the context of CSP||B. Our motivation to include this notion of refinement within the CSP parallel to B framework is the desire to increase flexibility in the refinement process. We introduce the ability to change the events of a CSP process and the B machines when refining a system. Notions of refinement based on traces and on traces/divergences are introduced in which abstract, events arc, refined by sequences of concrete events. A complementary notion of refinement between B machines is also introduced, yielding compositionality results for refinement of CSP parallel to B controlled components. The paper also introduces a notion of I/O refinement into our action refinement framework.

      AW Roscoe, GM Reed, SA Schneider (2017)CSP and Timewise Refinement
      A McEwan, S Schneider, P Welch, W Ifil (2007)Concurrent Systems Engineering Series: Preface, In: Concurrent Systems Engineering Series65
      R Delicata, S Schneider (2006)A formal approach for reasoning about a class of Diffle-Hellman protocols, In: T Dimitrakos, F Martinelli, PYA Ryan, S Schneider (eds.), FORMAL ASPECTS IN SECURITY AND TRUST3866pp. 34-46

      We present a framework for reasoning about secrecy in a class of Diffie-Hellman protocols. The technique, which shares a conceptual origin with the idea of a rank function, uses the notion of a message-template to determine whether a given value is generable by an intruder in a protocol model. Traditionally, the rich algebraic structure of Diffie-Hellman messages has made it difficult to reason about such protocols using formal, rather than complexity-theoretic, techniques. We describe the approach in the context of the MTI A(0) protocol, and derive the conditions under which this protocol can be considered secure.

      E Aktoudianakis, J Crampton, S Schneider, H Treharne, A Waller (2013)Policy templates for relationship-based access control., In: J Castellà-Roca, J Domingo-Ferrer, J García-Alfaro, AA Ghorbani, CD Jensen, JA Manjón, I-V Onut, N Stakhanova, V Torra, J Zhang, (eds.), PSTpp. 221-228
      H Treharne, S Schneider (1999)Using a Process Algebra to Control B Operations., In: K Araki, A Galloway, K Taguchi, (eds.), IFM'99pp. 437-456
      PYA Ryan, SA Schneider (1998)An attack on a recursive authentication protocol. A cautionary tale, In: INFORMATION PROCESSING LETTERS65(1)pp. 7-10 ELSEVIER SCIENCE BV
      WL Yeung, SA Schneider (2003)Design and verification of distributed recovery blocks with CSP, In: FORM METHOD SYST DES22(3)pp. 225-248 KLUWER ACADEMIC PUBL

      A case study on the application of Communicating Sequential Processes (CSP) to the design and verification of fault-tolerant real-time systems is presented. The distributed recovery block (DRB) scheme is a design technique for the uniform treatment of hardware and software faults in real-time systems. Through a simple fault-tolerant real-time system design using the DRB scheme, the case study illustrates a paradigm for specifying fault-tolerant software and demonstrates how the different behavioural aspects of a fault-tolerant real-time system design can be separately and systematically specified, formulated, and verified using an integrated set of formal techniques based on CSP.

      S Stathakidis, Steven Schneider, J Heather (2014)Robustness Modelling and Verification of a Mix Net Protocol, In: SSR 2014: Security Standardisation ResearchLNCS 8pp. 131-150

      Re-encryption Mix Nets are used to provide anonymity by passing encrypted messages through a collection of servers which each permute and re-encrypt messages. They are used in secure electronic voting protocols because they provide a combination of anonymity and verifiability. The use of several peers also provides for robustness, since a Mix Net can run even in the presence of a minority of dishonest or incorrectly behaving peers. However, in practice the protocols for peers to decide when to exclude a peer are complex distributed algorithms, and it is non-trivial to gain confidence that the Mix Net will be robust and live in the presence of faulty or malicious peers. In this paper we model and analyse the algorithm used by Ximix, a particular Mix Net implementation, using the CSP process algebra and the FDR model checker. We model and analyse the protocol in the presence of a realistic intruder based on Roscoe and Goldsmith’s perfect Spy. We show that in the current implementation the protocol does not satisfy the robustness requirement. Finally, we propose a method of making it robust, and verify in FDR that the proposed solution is sound and provides this robustness. Along the way, we highlight the omissions and deviations from the original RPC proposal; Mix Net protocols are extremely fragile, and small and seemingly benign changes may result in security flaws. Our experimental results show that, with our modification, Ximix guarantees termination and produces a correct output in the presence of an intruder who can corrupt a minority of mix servers.

      M Moran, JA Heather, SA Schneider (2013)Automated Anonymity Verification of ThreeBallot Voting System, In: Integrated Formal Methods 2013 (iFM 2013)7940pp. 94-108

      In recent years, a large number of secure voting protocols have been proposed in the literature. Often these protocols contain flaws, but because they are complex protocols, rigorous formal analysis has proven hard to come by. Rivest’s ThreeBallot voting system is important because it aims to provide security (voter anonymity and voter verifiability) without requiring cryptography. In this paper, we construct a CSP model of ThreeBallot, and use it to produce the first automated formal analysis of its anonymity property. Along the way, we discover that one of the crucial assumptions under which ThreeBallot (and many other voting systems) operates-the Short Ballot Assumption-is highly ambiguous in the literature.We give various plausible precise interpretations, and discover that in each case, the interpretation either is unrealistically strong, or else fails to ensure anonymity. Therefore, we give a version of the Short Ballot Assumption for ThreeBallot that is realistic but still provides a guarantee of anonymity.

      ASHLEY FRASER, STEVE SCHNEIDER (2022)On the role of blockchain for self-sovereign identity

      Self-sovereign identity (SSI) is a model for digital identity in which users control their identity. Users are issued with credentials and can use such credentials to construct verifiable proofs of identity to a third party. Typically, blockchain technologies are leveraged to implement a verifiable data registry, which is a constituent part of the SSI architecture. It is often suggested that blockchain enables the decentralised and trusted ecosystem required for an SSI system. We evaluate whether blockchain can provide the necessary decentralisation and trust. We argue that blockchain has the potential to enable this ecosystem, but this is dependent on the type of blockchain used to implement an SSI system. Moreover, with respect to trust, we argue that blockchain alone is not sufficient and must be accompanied with other mechanisms to provide a trusted ecosystem for SSI systems.

      S Schneider, H Treharne (2011)Changing system interfaces consistently: A new refinement strategy for CSP||B, In: Science of Computer Programming76(10)pp. 837-860 Elsevier

      This paper is concerned with event refinement in the context of CSP‖B. Our motivation to include this notion within the CSP‖B framework is the desire to increase flexibility in the refinement process. This approach provides the ability to change the events of CSP processes and B machines when refining a system. Notions of refinement based on traces and on traces/divergences allow abstract events to be refined by sequences of concrete events. A complementary notion of refinement between B machines is also proposed, yielding compositionality results for refinement of CSP‖B controlled components. The paper also introduces a notion of I/O refinement into our event refinement framework.

      Jinguang Han, Liqun Chen, Steve Schneider, Helen Treharne, Stephan Wesemeyer (2018)Anonymous Single-Sign-On for n designated services with traceability, In: Javier Lopez, Jianying Zhou, Miguel Soriano (eds.), Computer Security: 23rd European Symposium on Research in Computer Security, ESORICS 2018, Barcelona, Spain, September 3-7, 2018, Proceedings, Part I (Lecture Notes in Computer Science Book 11098)11098 Springer

      Anonymous Single-Sign-On authentication schemes have been proposed to allow users to access a service protected by a verifier without revealing their identity. This has become more important with the introduction of strong privacy regulations. In this paper we describe a new approach whereby anonymous authentication to different verifiers is achieved via authorisation tags and pseudonyms. The particular innovation of our scheme is that authentication can occur only between a user and its designated verifier for a service, and the verification cannot be performed by any other verifier. The benefit of this authentication approach is that it prevents information leakage of a user's service access information, even if the verifiers for these services collude. Our scheme also supports a trusted third party who is authorised to de-anonymise the user and reveal her whole service access information if required. Furthermore, our scheme is lightweight because it does not rely on attribute or policy-based signature schemes to enable access to multiple services. The scheme's security model is given together with a security proof, an implementation and a performance evaluation.

      SA Schneider, HE Treharne, H Wehrheim (2012)The Behavioural Semantics of Event-B Refinement, In: Formal Aspects of Computing: applicable formal methodspp. ?-?

      Event-B provides a flexible framework for stepwise system development via refinement. The framework supports steps for (a) refining events (one-by-one), (b) splitting events (one-by-many), and (c) introducing new events. In each of the steps events can be indicated as convergent (to be made internal) or anticipated (treatment deferred to a later refinement step). All such steps are accompanied with precise proof obligations. However, no behavioural semantics has been provided to validate the proof obligations, and no formal justification has previously been given for the application of these rules in a refinement chain. Behavioural semantics expresses a clear relationship between the first and last machines in a refinement chain. The framework we present provides a coherent justification for Abrial’s approach to refinement in Event-B, and its generalisation to interface extension: adding events to the interface. In this paper, we give a behavioural semantics for Event-B refinement, with a treatment for the first time of splitting events and of anticipated events, adding to the well-understood treatment of convergent events. To this end, we define a CSP semantics for Event-B and show how the different forms of Event-B refinement can be captured as CSP refinement. It turns out that the appropriate CSP refinement relationship is influenced by the particular Event-B development strategy taken. We present two such strategies, one allowing, the other disallowing interface extensions.

      MOHAMMED ALSADI, Matthew Casey, Constantin-Catalin Dragan, François Dupressoir, Luke Riley, Muntadher Sallal, Steven Alfred Schneider, Helen Treharne, Joe Wadsworth, Philip Wright (2023)Towards End-to-End Verifiable Online Voting: Adding Verifiability to Established Voting Systems, In: IEEE transactions on dependable and secure computing IEEE

      Online voting for independent elections is generally supported by trusted election providers. Typically these providers do not offer any way in which a voter can verify their vote, and hence the providers are trusted with ballot privacy and in ensuring correctness. Despite the desire to offer online voting for political elections, this lack of transparency and verifiability is often seen as a significant barrier to the large-scale adoption of online elections. Adding verifiability to an online election increases transparency and integrity, as well as allowing voters to verify that the vote they cast has been recorded correctly and included in the tally. However, replacing existing online systems with those that provide verifiable voting requires new algorithms and code to be deployed, and this presents a significant business risk to commercial election providers, as well as the societal risk for official elections selecting for public office. In this paper we present the first step in an incremental approach which minimises the business risk but demonstrates the advantages of verifiability, by developing an implementation of key elements of a Selene-based verifiability layer and adding it to an operational online voting system. Selene is a verifiable voting protocol that publishes votes in plaintext alongside a voter's tracker. These trackers enable voters to confirm that their votes have been captured correctly by the system, such that the election provider does not know which tracker has been allocated to which voter. This results in a system where even a " dishonest but cautious " election authority running the system cannot be sure of changing the result in an undetectable way, and hence gives stronger guarantees on the integrity of the election than were previously present. We explore the challenges presented by adding a verifiability layer to an operational system. The system was used in two initial trials conducted within real contested elections. We conclude by outlining the further steps in the road-map towards the deployment of a fully trustworthy online voting system.

      S Schneider, H Treharne, N Evans (2005)Chunks: Component verification in CSP||B, In: J Romijn, G Smith, J VanDePol, (eds.), Integrated formal methods - LNCS3771pp. 89-108

      CSP||B is an approach to combining the process algebra CSP with the formal development method B, enabling the formal description of systems involving both event-oriented and state-oriented aspects of behaviour. The approach provides architectures which enable the application of CSP verification tools and B verification tools to the appropriate parts of the overall description. Previous work has considered how large descriptions can be verified using coarse grained component parts. This paper presents a generalisation of that work so that CSP vertical bar vertical bar B descriptions can be decomposed into finer grained components, chunks, which focus on demonstrating the absence of particular divergent behaviour separately. The theory underpinning chunks is applicable not only to CSP vertical bar vertical bar B specification but to CSP specifications. This makes it an attractive technique to decomposing large systems for analysing with FDR.

      D Demirel, M Henning, PYA Ryan, S Schneider, M Volkamer (2011)Feasibility Analysis of Prêt à Voter for German Federal Elections., In: A Kiayias, H Lipmaa (eds.), VOTE-ID7187pp. 158-173
      Ksenia Budykho, Ioana Boureanu, Steve Wesemeyer, Daniel Romero, Matt Lewis, Yogaratnam Rahulan, Fortunat Rajaona, Steve Schneider (2023)Fine-Grained Trackability in Protocol Executions, In: Proceedings 2023 Network and Distributed System Security Symposium Internet Society

      We introduce a new framework, TrackDev, for encoding and analysing what we call the “tracking” of an entity via its executions of a protocol or its usages of a system. TrackDev considers multiple dimensions combined: whether the attacker is active or passive, whether an entity is trackable in its every single appearance on the network or just in a compound set thereof, and whether the entity can be explicitly or implicitly identified. TrackDev can be applied to most identification-based systems, and, interestingly, in practice, i.e., over actual executions of systems. To this end, we test TrackDev on real-life traffic for two well-known protocols, the LoRaWAN Join and 5G handovers, showing new trackability/privacy attacks on these and proposing countermeasures. We study the strength of TrackDev’s various trackability properties and show that many of our notions are incomparable amongst each other, thus justifying the fine-grained nature of TrackDev. Finally, we detail how the main thrust of TrackDev can be mechanised in formal-verification tools. We exemplify this fully on the LoRaWAN Join, in the Tamarin prover. We also uncover and discuss within two important aspects: (a) TrackDev’s separation between “explicit” and “implicit” trackability offers new formal-verification insights; (b) our analyses of the LoRaWAN Join protocol in Tamarin against TrackDev’s privacy notions, as well as against existing approximations of unlinkability by Baelde et al., concretely show that the latter approximations can be coarser than our notions.

      B Vajar, S Schneider, H Treharne (2009)Mobile CSP||B., In: AVOCS'09ECEASS

      Electronic voting has attracted much interest recently and a variety of schemes have been proposed. Generally speaking, all these schemes can be divided into three main approaches: based on blind signature, based on mix networks and based on homomorphic encryption. Schemes based on blind signature are thought to be simple, efficient, and suitable for large scale elections. Fujioka, Okamoto and Ohta introduced a scheme typical of this approach in 1992. This scheme achieved a number of attractive properties, however, it did not provide receipt-freeness and public verifiability. Later, Okamoto extended this work to provide receiptfreeness and public verifiability, but the later work lost a useful property of the original scheme: each voter can only verify the ballot recording process but not the ballot counting process any more. In this paper, we propose a simple and efficient method, applying the secret ballot technique introduced by the Prˆet ´a Voter scheme to improve individual verifiability to the later work. To the best of our knowledge, our scheme is the only receipt-free scheme in which voters can verify both the ballot recording process and the ballot counting process, and our scheme provides some mechanisms for honest voters to accuse dishonest authorities during the election process.

      S Schneider (1995)An Operational Semantics for Timed CSP, In: Information and Computation116pp. 193-213 Elsevier
      David M. Williams, Salaheddin Darwish, Steve Schneider, David R. Michael (2020)Legislation-driven development of a Gift Aid system using Event-B, In: Formal aspects of computing32(2-3)pp. 251-273 Springer Nature

      This work presents our approach to formally model the Swiftaid system design, a digital platform that enables donors to automatically add Gift Aid to donations made via card payments. Following principles of Behaviour-Driven Development, we use Gherkin to capture requirements specified in legislation, specifically the UK Charity (Gift Aid Declarations) Regulations 2016. The Gherkin scenarios provide a basis for subsequent formal modelling and analysis using Event-B, Rodin and ProB. Interactive model simulations assist communication between domain experts, software architects and other stakeholders during requirements capture and system design, enabling the emergent system behaviour to be validated. Our approach was employed within the development of the real Swiftaid product, launched by Streeva in February 2019. Our analysis helped conclude that there was not a strong enough business case for one of the features, whichwas shown to provide nominal user convenience at the expense of increased complexity. This work provides a case study in allying formal and agile software development to enable rapid development of robust software.

      C Culnane, D Bismark, JA Heather, SA Schneider, S Srinivasan, Z Xia (2012)Authentication Codes, In: H Shacham, VJ Teague (eds.), Electronic Voting Technology Workshop on Trustworthy Elections

      The Prêt à Voter end-to-end verifiable voting system makes use of receipts, retained by voters, to provide individual verifiability that their vote has been recorded as cast. The paper discusses issues around the production and acceptance of receipts, and presents an alternative approach to individual verifiability based on Authentication Codes. These codes are constructed, in the encrypted domain, by the peered Web Bulletin Board when the vote is cast, and provide the voter with an assurance that their vote has been properly received. The approach is designed to work in a uniform way with ranked elections and single preference elections.

      J Heather, G Lowe, S Schneider (2003)How to Prevent Type Flaw Attacks on Security Protocols., In: Journal of Computer Security11(2)pp. 217-244 IOS Press
      Z Xia, C Culnane, JA Heather, H Jonker, PYA Ryan, SA Schneider, S Srinivasan (2010)Versatile Pret a Voter: Handling Multiple Election Methods with a Unified Interface, In: Lecture Notes in Computer Science6498pp. 98-114

      A number of end-to-end veri¯able voting schemes have been introduced recently. These schemes aim to allow voters to verify that their votes have contributed in the way they intended to the tally and in addition allow anyone to verify that the tally has been generated correctly. These goals must be achieved while maintaining voter privacy and providing receipt-freeness. However, most of these end-to-end voting schemes are only designed to handle a single election method and the voter interface varies greatly between different schemes. In this paper, we introduce a scheme which handles many of the popular election methods that are currently used around the world. Our scheme not only ensures privacy, receipt-freeness and end-to-end veri¯ability, but also keeps the voter interface simple and consistent between various election methods.

      F Moler, HN Nguyen, M Roggenbach, SA Schneider, H Treharne (2012)Combining event-based and state-based modelling for railway verification

      This paper is concerned with the formal modelling of sig- nalling and point control in the domain of railway engineering. Rules for handling interlocking to ensure railway safety and liveness are often intricate and challenging to verify. We develop a CSP||B model taking a “natural modelling” approach, where the models are as close as possible to the domain model, providing traceability and ease of understanding to the domain expert. This leads to a natural separation between the global modelling of the tracks in B, and the CSP encapsulation of the local views of the individual trains following the driving rules. The ap- proach is illustrated through a small case study (Mini-Alvey), and the model provides verification through formal proofs or informative counter example traces if verification fails.

      Zhe Xia, Chris Culnane, James Heather, Hugo Jonker, Peter Y. A. Ryan, Steve Schneider, Sriramkrishnan Srinivasan (2010)Versatile Pret a Voter: Handling Multiple Election Methods with a Unified Interface, In: G Gong, K C Gupta (eds.), PROGRESS IN CRYPTOLOGY - INDOCRYPT 20106498pp. 98-114 Springer Nature

      A number of end-to-end verifiable voting schemes have been introduced recently. These schemes aim to allow voters to verify that their votes have contributed in the way they intended to the tally and in addition allow anyone to verify that the tally has been generated correctly. These goals must be achieved while maintaining voter privacy and providing receipt-freeness. However, most of these end-to-end voting schemes are only designed to handle a single election method and the voter interface varies greatly between different schemes. In this paper, we introduce a scheme which handles many of the popular election methods that are currently used around the world. Our scheme not only ensures privacy, receipt-freeness and end-to-end verifiability, but also keeps the voter interface simple and consistent between various election methods.

      P James, M Trumble, H Treharne, M Roggenbach, S Schneider (2013)OnTrack: An Open Tooling Environment for Railway Verification., In: G Brat, N Rungta, A Venet (eds.), NASA Formal Methods7871pp. 435-440 Springer
      P.Y.A. Ryan, D. Bismark, J. Heather, S. Schneider, Z. Xia (2009)Prêt à Voter: a voter-verifiable voting system, In: Information Forensics and Security, IEEE Transactions on4(4)pp. 662-673 IEEE
      Kent Leeding, Steve Schneider, Helen Treharne (2024)Formal Modelling of Peercoin and Proof-of-Stake Protocols, In: The Application of Formal Methods: Essays Dedicated to Jim Woodcock on the Occasion of His Retirement14900pp. 123-143 Springer LNCS

      The Blockchain approach to Distributed Ledger Technology aims for a decentralised approach to the writing of information onto a digital Ledger, an append-only sequence of blocks. Different blockchain protocols provide a variety of mechanisms for achieving consensus on selecting the agent to add the next block. Consensus is important to ensure agreement across the different agents maintaining their own record of the state of the blockchain and updates on it. Proof-of-stake protocols use the amount of `stake' agents hold in the blockchain to determine who should produce the next block, so that agents with greater commitment produce more of the blocks. This is a technology where the practice sometimes runs ahead of the theory: a number of implementations have been developed, however the protocols are complex and not always underpinned by analysis. This chapter explores an approach to formal modelling of such protocols using the PRISM model-checker, and their analysis with respect to some fairness properties expected of proof-of-stake protocols, also captured within PRISM, and in the presence of particular attacks on fairness. The approach is exemplified on the Peercoin protocol where the analysis reveals some vulnerabilities.

      AA McEwan, S Schneider (2006)A verified development of hardware using CSP||B, In: Fourth ACM & IEEE International Conference on Formal Methods and Models for Co-Design, Proceedingspp. 81-81

      In this paper, we show a combination of the process algebra CSP and the state-based formalism B, combined into a single notation called CSP________B (pronounced CSP parallel B) being used in the formal development of reconfigurable hardware, implemented in. Handel-C. The use of CSP________B and associated tools is demonstrated using a significant, realistic application. This paper is the first recorded use of CSP________B in hardware development although it has been previously used for software. The contribution of this paper may be summarised as follows:Demonstration of formal CSP________B development, guided by engineering intuition and domain knowledge.Evidence that CSP________B forms a feasible technology upon which to build high assurance hardware systems.Examples of proof techniques and tool usage for CSP________B in giving these high levels of assurance.Development is top-down and piece-wise: refinement is from. an abstract sequential specification into a highly concurrent implementation. Justification of refinement steps employs the use of control loop invariants, which are used to show the consistency of the interaction of the CSP and the B components.In introducing concurrency, additional requirements appear which could be met by software, dedicated hardware components, or by custom hardware on an FPGA. The piece-wise nature of the development allow for this choice to be postponed while other components are implemented- possibly in different technologies. The choice of where concurrency may be introduced in order to meet timing requirements, whilst still attaining reasonable area usage is guided by a knowledge of the application domain and the target FPGA platform. Safety and functional properties of the abstract specification are automatically verified; theoretical results concerning refinement guarantee that these hold for the implementation. Proof obligations are discharged using the CSP model-checker FDR and the theorem prover B-Toolkit.The central conclusion of this paper is that CSP________B forrns the basis of a valid technology for the exploration and development of high assurance hardware and software systems. Further research is to investigate co-design, understand how a design calculus may be incorporated, and how further automatic tool support may be provided in discharging CLI proofs.

      Z Xia, SA Schneider, JA Heather, J Traoré (2008)Analysis, improvement and simplification of the Prêt à Voter with Paillier encryption, In: USENIX/ACCURATE Electronic Voting Technology Workshop (EVT’08)
      I Abdelhalim, S Schneider, H Treharne (2011)Towards a practical approach to check UML/fUML models consistency using CSP, In: Lecture Notes in Computer Science: Formal Methods and Software Engineering6991pp. 33-48
      Steve Schneider, Helen Treharne, Heike Wehrheim (2011)Stepwise Refinement in Event-B CSP. Part 1: Safety Department of Computing, University of Surrey

      This technical report provides the CSP semantic basis for stepwise refinement in Event-B!CSP. It provides the foundation for combining Event- B machines with CSP control processes in the context of refinement. A number of proof rules are presented which are sufficient to establish refinement of an Event-B!CSP combination. This report focuses on traces, both finite and infinite, which allows consideration of safety specifications and also consideration of divergence-freedom. Several refinement steps in Event-B!CSP in the development of a simple bounded retransmission protocol are presented to illustrate the approach.

      Steve A. Schneider, Helen Treharne (2004)Verifying controlled components2999pp. 87-107

      Recent work on combining CSP and B has provided ways of describing systems comprised of components described in both B (to express requirements on state) and CSP (to express interactive and controller behaviour). This approach is driven by the desire to exploit existing tool support for both CSP and B, and by the need for compositional proof techniques. This paper is concerned with the theory underpinning the approach, and proves a number of results for the development and verification of systems described using a combination of CSP and B. In particular, new results are obtained for the use of the hiding operator, which is essential for abstraction. The paper provides theorems which enable results obtained (possibly with tools) on the CSP part of the description to be lifted to the combination. Also, a better understanding of the interaction between CSP controllers and B machines in terms of non-discriminating and open behaviour on channels is introduced, and applied to the deadlock-freedom theorem. The results are illustrated with a toy lift controller running example.

      N Evans, S Schneider (2000)Analysing Time Dependent Security Properties in CSP Using PVS., In: F Cuppens, Y Deswarte, D Gollmann, M Waidner (eds.), Lecture Notes in Computer Science1895pp. 222-237

      This paper details an approach to verifying time dependent authentication properties of security protocols. We discuss the introduction of time into the Communicating Sequential Processes (CSP) protocol verification framework of [11]. The embedding of CSP in the theorem prover PVS (Prototype Verification System) is extended to incorporate event-based time, retaining the use of the existing rank function approach to verify such properties. An example analysis is demonstrated using the Wide-Mouthed Frog protocol.

      B Dutertre, S Schneider (1997)Using a PVS Embedding of CSP to Verify Authentication Protocols., In: EL Gunter, AP Felty (eds.), Lecture Notes in Computer Science1275pp. 121-136

      This paper presents an application of PVS to the verification of security protocols. The objective is to provide mechanical support for a verification method described in [14]. The PVS formalization consists of a semantic embedding of CSP and of a collection of theorems and proof rules for reasoning about authentication properties. We present an application to the Needham-Schroeder public key protocol.

      S Schneider (1993)Timewise Refinement for Communicating Processes., In: SD Brookes, MG Main, A Melton, MW Mislove, DA Schmidt (eds.), MFPS 1993LNCS 8pp. 177-214

      A theory of timewise refinement is presented. This allows the translation of specifications and proofs of correctness between semantic models, permitting each stage in the verification of a system to take place at the appropriate level of abstraction. The theory is presented within the context of CSP. A denotational characterisation is given in terms of relations between behaviours at different levels of abstraction, and various properties for the preservation of refinement through parallel composition are discussed. An operational characterisation is also given in terms of timed and untimed tests, and observed to coincide with the denotational characterisation.

      M Roggenbach, F Moller, S Schneider, H Treharne, HN Nguyen (2012)Railway modelling in CSP||B: the double junction case study., In: ECEASST53
      Jinguang Han, Liqun Chen, Steve Schneider, Helen Treharne, Stephan Wesemeyer, Nick Wilson (2020)Anonymous Single Sign-On With Proxy Re-Verification, In: IEEE Transactions on Information Forensics and Security15(1)pp. 223-236 Institute of Electrical and Electronics Engineers (IEEE)

      An anonymous single sign-on (ASSO) scheme allows users to access multiple services anonymously using one credential. We propose a new ASSO scheme, where users can access services anonymously through the use of anonymous credentials and unlinkably through the provision of designated verifiers. Notably, verifiers cannot link a user’s service requests even if they collude. The novelty is that when a designated verifier is unavailable, a central authority can authorize new verifiers to authenticate the user on behalf of the original verifier. Furthermore, a central verifier can also be authorized to de-anonymize users and trace their service requests. We formalize the scheme along with a security proof and provide an empirical evaluation of its performance. This scheme can be applied to smart ticketing where minimizing the collection of personal information of users is increasingly important to transport organizations due to privacy regulations such as general data protection regulations (GDPRs).

      S Schneider (2000)Abstraction and Testing in CSP., In: Formal Aspects of Computing12(3)pp. 165-181 Springer
      S Schneider (1997)Timewise Refinement for Communicating Processes., In: Science of Computer Programming28(1)pp. 43-90 Elsevier
      WL Yeung, SA Schneider (2003)Design and verification of distributed recovery blocks with CSP, In: FORMAL METHODS IN SYSTEM DESIGN22(3)pp. 225-248 KLUWER ACADEMIC PUBL

      A case study on the application of Communicating Sequential Processes (CSP) to the design and verification of fault-tolerant real-time systems is presented. The distributed recovery block (DRB) scheme is a design technique for the uniform treatment of hardware and software faults in real-time systems. Through a simple fault-tolerant real-time system design using the DRB scheme, the case study illustrates a paradigm for specifying fault-tolerant software and demonstrates how the different behavioural aspects of a fault-tolerant real-time system design can be separately and systematically specified, formulated, and verified using an integrated set of formal techniques based on CSP.

      J Heather, C Culnane, S Schneider, S Srinivasan, Z Xia (2013)Solving the Discrete Logarithm Problem for Packing Candidate Preferences., In: A Cuzzocrea, C Kittl, DE Simos, E Weippl, L Xu, A Cuzzocrea, C Kittl, DE Simos, E Weippl, L Xu (eds.), CD-ARES Workshops8128pp. 209-221
      TS Hoang, SA Schneider, H Treharne, DM Williams (2016)Foundations for using Linear Temporal Logic in Event-B refinement, In: Formal Aspects of Computing28(6)pp. 909-935 Springer London

      In this paper we present a new way of reconciling Event-B refinement with linear temporal logic (LTL) properties. In particular, the results presented in this paper allow properties to be established for abstract system models, and identify conditions to ensure that the properties (suitably translated) continue to hold as those models are developed through refinement. There are several novel elements to this achievement: (1) we identify conditions that allow LTL properties to be mapped across refinement chains; (2) we provide translations of LTL predicates to reflect the introduction through refinement of new events and the renaming and splitting of existing events; (3) we do this for an extended version of LTL particularly suited to Event-B, including state predicates and enabledness of events, which can be model-checked at the abstract level. Our results are more general than any previous work in this area, covering liveness in the context of anticipated events, and relaxing constraints between adjacent refinement levels. The approach is illustrated with a case study. This enables designers to develop event based models and to consider their execution patterns so that liveness and fairness properties can be verified for Event-B systems.

      Helen Treharne, J. Draper, Steve A. Schneider (1998)Test case preparation using a prototype

      This paper reports on the preparation of test cases using a prototype within the context of a formal development. It describes an approach to building a prototype using an example. It discusses how a prototype contributes to the testing activity as part of a lifecycle based on the use of formal methods. The results of applying the approach to an embedded avionics case study are also presented.

      PYA Ryan, SA Schneider (2001)Process Algebra and Non-Interference., In: Journal of Computer Security9(1/2)pp. 75-103 IOS Press
      Steve Schneider, Thai Son Hoang, Ken Robinson, Helen Treharne (2005)Tank monitoring: a pAMN case study, In: Electronic Notes in Theoretical Computer Science137(2)pp. 183-204

      The introduction of probabilistic behaviour into the B-Method is a recent development. In addition to allowing probabilistic behaviour to be modelled, the relationship between expected values of the machine state can be expressed and verified. This paper explores the application of probabilistic B to a simple case study: tracking the volume of liquid held in a tank by measuring the flow of liquid into it. The flow can change as time progresses, and sensors are used to measure the flow with some degree of accuracy and reliability, modelled as non-deterministic and probabilistic behaviour respectively. At the specification level, the analysis is concerned with the expectation clause in the probabilistic B machine and its consistency with machine operations. At the refinement level, refinement and equivalence laws on probabilistic GSL are used to establish that a particular design of sensors delivers the required level of reliability.

      M Moran, JA Heather, SA Schneider (2011)Anonymity and CSP for Voting Systems
      S Srinivasan, C Culnane, J Heather, SA Schneider, Z Xia (2014)Countering Ballot Stuffing and Incorporating Eligibility Verifiability in Helios, In: LNCS 87928pp. 335-348

      Helios is a web-based end-to-end verifiable electronic voting system which has been said to be suitable for low-coercion environments. Although many Internet voting schemes have been proposed in the literature, Helios stands out for its real world relevance. It has been used in a number of elections in university campuses around the world and it has also been used recently by the IACR to elect its board members. It was noted that a dishonest server in Helios can stuff ballots and this seems to limit the claims of end-to-end verifiability of the system. In this work, we investigate how the issue of ballot stuffing can be addressed with minimum change to the current vote casting experience in Helios and we argue formally about the security of our techniques. Our ideas are intuitive and general enough to be applied in the context of other Internet voting scheme and they also address recent attacks exploiting the malleability of ballots in Helios.

      PYA Ryan, SA Schneider (1999)Process Algebra and Non-Interference., In: Proceedings of the 12th IEEE Computer Security Foundations Workshop, 1999.pp. 214-227

      The information security community has long debated the exact definition of the term “security”. Even if we focus on the more modest notion of confidentiality the precise definition remains controversial. In their seminal paper, Goguen and Meseguer (1982) took an important step towards a formalisation of the notion of absence of information flow with the concept of non-interference. This too was found to have problems and limitations, particularly when applied to systems displaying non-determinism which led to a proliferation of refinements of this notion and there is still no consensus as to which of these is “correct”. We show that this central concept in information security is closely related to a central concept of computer science: that of the equivalence of systems. The notion of non-interference depends ultimately on our notion of process equivalence. However what constitutes the equivalence of two processes is itself a deep and controversial question in computer science with a number of distinct definitions proposed in the literature. We illustrate how several of the leading candidates for a definition of non-interference mirror notions of system equivalence. Casting these security concepts in a process algebraic framework clarifies the relationship between them and allows many results to be carried over regarding, for example, composition and unwinding. We also outline some generalisations of non-interference to handle partial and conditional information flows

      SA Schneider (2011)Security Analysis using Rank Functions in CSP, In: V Courtier, S Kremer (eds.), Formal Models and Techniques for Analyzing Security Protocols(10) IOS Press
      S Schneider, H Treharne, H Wehrheim, DM Williams (2014)Managing LTL properties in Event-B refinement., In: CoRRabs/14
      SA Shaikh, VJ Bush, SA Schneider (2005)Specifying authentication using signal events in CSP, In: D Feng, DD Lin (eds.), INFORMATION SECURITY AND CRYPTOLOGY, PROCEEDINGS3822pp. 63-74
      Jorden Whitefield, Liqun Chen, Ralf Sasse, Steve Schneider, Helen Treharne, Stephan Wesemeyer (2019)A Symbolic Analysis of ECC-based Direct Anonymous Attestation, In: 2019 4TH IEEE EUROPEAN SYMPOSIUM ON SECURITY AND PRIVACY (EUROS&P)pp. 127-141 IEEE

      Direct Anonymous Attestation (DAA) is a cryptographic scheme that provides Trusted Platform Module (TPM)backed anonymous credentials. We develop TAMARIN modelling of the ECC-based version of the protocol as it is standardised and provide the first mechanised analysis of this standard. Our analysis confirms that the scheme is secure when all TPMS are assumed honest, but reveals a break in the protocol's expected authentication and secrecy properties for all TPMs even if only one is compromised. We propose and formally verify a minimal fix to the standard. In addition to developing the first formal analysis of ECC-DAA, the paper contributes to the growing body of work demonstrating the use of formal tools in supporting standardisation processes for cryptographic protocols.

      L Gong, JD Guttman, PYA Ryan, SA Schneider (2003)Guest editorial overview, In: IEEE Journal of Selected Papers in Communications21(1)pp. 1-4 IEEE
      S. Schneider (1995)An Operational Semantics for Timed CSP, In: Information and computation116(2)pp. 193-213 Elsevier Inc

      An operational semantics is defined for the language of timed CSP, in terms of two relations: an evolution relation, which describes when a process becomes another simply by allowing time to pass; and a timed transition relation, which describes when a process may become another by performing an action at a particular time. It is shown how the timed behaviours used as the basis for the denotational models of the language may be extracted from the operational semantics. Finally, the failures model for timed CSP is shown to be equivalent to may-testing and, thus, to trace congruence.

      SA Shaikh, VJ Bush, SA Schneider (2009)Specifying authentication using signal events in CSP, In: Computers and Security28(5)pp. 310-324 Elsevier

      The formal analysis of cryptographic protocols has developed into a comprehensive body of knowledge, building on a wide variety of formalisms and treating a diverse range of security properties, foremost of which is authentication. The formal specification of authentication has long been a subject of examination. In this paper, we discuss the use of correspondence to formally specify authentication and focus on Schneider's use of signal events in the process algebra Communicating Sequential Processes (CSP) to specify authentication. The purpose of this effort is to strengthen this formalism further. We develop a formal structure for these events and use them to specify a general authentication property. We then develop specifications for recentness and injectivity as sub-properties, and use them to refine authentication further. Finally, we use signal events to specify a range of authentication definitions and protocol examples to clarify their use and make explicit related theoretical issues. our work is motivated by the desire to effectively analyse and express security properties in formal terms, so as to make them precise and clear. (C) 2008 Elsevier Ltd. All rights reserved.

      Steve Schneider, Peter Ryan (2000)Preface, In: Electronic Notes in Theoretical Computer Science32pp. 113-114 Elsevier BV
      A Alshehri, SA Schneider (2015)A Formal Framework for Security Analysis of NFC Mobile Coupon Protocols, In: Journal of Computer Security

      Near Field Communication (NFC) is a Radio Frequency (RF) technology that allows data to be exchanged between devices that are in close proximity. An NFC-based mobile coupon (M-coupon) is a coupon that is retrieved by the user from a source such as a newspaper or a smart poster and redeemed afterwards. The M-coupon is a cryptographically secured electronic message with some value stored on user’s mobile.We develop a formal framework for security analysis of NFC mobile coupons protocols using formal methods (CasperFDR). The framework aims to check whether NFC M-coupon protocols address their security requirements. The paper starts with a formal definition of the NFC M-coupon requirements in which can be applied to a variety of protocols. Then, we apply the framework to a quadratic residue-based NFC M-coupon protocol proposed in the literature. The analysis shows an attack against User Authentication property. An additional contribution is that we model the protocol with a challenge of modelling the quadratic residue theorem (QR). We propose two ways of abstracting QR in the model with the pros and cons of both methods. We show how to overcome some limitations of CasperFDR, the protocol analysis tool used, that prevent us from modelling the protocol in a natural way. Moreover, we discuss an interesting observation regarding how found attacks can be affected by a divided long message in CasperFDR

      C Culnane, S Schneider (2014)A Peered Bulletin Board for Robust Use in Verifiable Voting Systems, In: Proceedings of the Computer Security Foundations Symposiumpp. 169-183 IEEE

      The Web Bulletin Board (WBB) is a key component of verifiable election systems. It is used in the context of election verification to publish evidence of voting and tallying that voters and officials can check, and where challenges can be launched in the event of malfeasance. In practice, the election authority has responsibility for implementing the web bulletin board correctly and reliably, and will wish to ensure that it behaves correctly even in the presence of failures and attacks. To ensure robustness, an implementation will typically use a number of peers to be able to provide a correct service even when some peers go down or behave dishonestly. In this paper we propose a new protocol to implement such a Web Bulletin Board, motivated by the needs of the vVote verifiable voting system. Using a distributed algorithm increases the complexity of the protocol and requires careful reasoning in order to establish correctness. Here we use the Event-B modelling and refinement approach to establish correctness of the peered design against an idealised specification of the bulletin board behaviour. In particular we show that for n peers, a threshold of t > 2n/3 peers behaving correctly is sufficient to ensure correct behaviour of the bulletin board distributed design. The algorithm also behaves correctly even if honest or dishonest peers temporarily drop out of the protocol and then return. The verification approach also establishes that the protocols used within the bulletin board do not interfere with each other. This is the first time a peered web bulletin board suite of protocols has been formally verified.

      PYA Ryan, D Bismark, JA Heather, SA Schneider, Z Xia (2009)The Prêt à Voter Verifiable Election System, In: IEEE Transactions on Information Forensics and Security4(4)pp. 662-673 IEEE

      The Prˆet `a Voter election system has undergone several revisions and enhancements since its inception in 2004, resulting in a family of election systems designed to provide end-to-end verifiability and a high degree of transparency while ensuring secrecy of the ballot. Assurance for these systems arises from the auditability of the election itself, rather than the need to place trust in the system components. This paper brings together the variations of Prˆet `a Voter, presents their design, describes the voter experience, and considers the security properties that they provide.

      Wojciech Jamroga, Peter Y. A Ryan, Steve Schneider, Carsten Schurmann, Philip B Stark A Declaration of Software Independence, In: arXiv.org

      A voting system should not merely report the outcome: it should also provide sufficient evidence to convince reasonable observers that the reported outcome is correct. Many deployed systems, notably paperless DRE machines still in use in US elections, fail certainly the second, and quite possibly the first of these requirements. Rivest and Wack proposed the principle of software independence (SI) as a guiding principle and requirement for voting systems. In essence, a voting system is SI if its reliance on software is ``tamper-evident'', that is, if there is a way to detect that material changes were made to the software without inspecting that software. This important notion has so far been formulated only informally. Here, we provide more formal mathematical definitions of SI. This exposes some subtleties and gaps in the original definition, among them: what elements of a system must be trusted for an election or system to be SI, how to formalize ``detection'' of a change to an election outcome, the fact that SI is with respect to a set of detection mechanisms (which must be legal and practical), the need to limit false alarms, and how SI applies when the social choice function is not deterministic.

      Eerke Boiten, Steve Schneider (2014)Editorial, In: Formal aspects of computing26(1)pp. 1-2
      S Schneider (2001)The B-Method: an Introduction Palgrave

      This book provides a textbook introduction to the B-Method, a rigorous methodology for the development of correct software, underpinned by powerful ...

      Wojciech Jamroga, Peter Y. A. Ryan, Steve Schneider, Carsten Schürmann, Philip B. Stark (2021)A Declaration of Software Independence, In: Protocols, Strands, and Logicpp. 198-217 Springer International Publishing

      A voting system should not merely report the outcome: it should also provide sufficient evidence to convince reasonable observers that the reported outcome is correct. Many deployed systems, notably paperless DRE machines still in use in US elections, fail certainly the second, and quite possibly the first of these requirements. Rivest and Wack proposed the principle of software independence (SI) as a guiding principle and requirement for voting systems. In essence, a voting system is SI if its reliance on software is “tamper-evident”, that is, if there is a way to detect that material changes were made to the software without inspecting that software. This important notion has so far been formulated only informally. Here, we provide more formal mathematical definitions of SI. This exposes some subtleties and gaps in the original definition, among them: what elements of a system must be trusted for an election or system to be SI, how to formalize “detection” of a change to an election outcome, the fact that SI is with respect to a set of detection mechanisms (which must be legal and practical), the need to limit false alarms, and how SI applies when the social choice function is not deterministic.

      S Schneider, H Treharne (2005)CSP theorems for communicating B machines, In: FORMAL ASPECTS OF COMPUTING17(4)pp. 390-422 SPRINGER

      Recent work on combining CSP and B has provided ways of describing systems comprised of components described in both B (to express requirements on state) and CSP (to express interactive and controller behaviour). This approach is driven by the desire to exploit existing tool support for both CSP and B, and by the need for compositional proof techniques. This paper is concerned with the theory underpinning the approach, and proves a number of results for the development and verification of systems described using a combination of CSP and B. In particular, new results are obtained for the use of the hiding operator, which is essential for abstraction. The paper provides theorems which enable results obtained (possibly with tools) on the CSP part of the description to be lifted to the combination. Also, a better understanding of the interaction between CSP controllers and B machines in terms of non-discriminating and open behaviour on channels is introduced, and applied to the deadlock-freedom theorem. The results are illustrated with a toy lift controller running example.

      H Treharne, S Schneider, N Grant, N Evans, W Ifill (2009)A step towards merging xUML and CSP ∥ B, In: Lecture Notes in Computer Science: Rigorous Methods for Software Construction and Analysis5115pp. 130-146 Springer

      Much research work has been done on linking UML and formal methods but few have focused on using formal methods to check the integrity of the UML models so that the models can be verified. In this paper we focus on executable UML and on the issues related to concurrent state machines. We show that one integrated formal methods approach, CSP || B, has the potential to be tailored to support reasoning about concurrent state machines and in turn expose any weaknesses in the UML model. We identify future avenues of research so that a system methodology based on executable UML can be enhanced by formal reasoning.

      Z Xia, SA Schneider, JA Heather, PYA Ryan, D Lundin, RMA Peel, PJ Howard (2007)Prêt à Voter: All-in-one

      A number of voter-verifiable electronic voting schemes have been introduced in the recent decades. These schemes not only provide each voter with a receipt without the threat of coercion and ballot selling, but also the ballot tallying phase can be publicly verified. Furthermore, these schemes are robust because the power of authorities can be threshold distributed. Generally speaking, the homomorphic encryption schemes are efficient but they are unable to handle some preferential elections, such as STV elections and Condorcet elections. The mix network schemes are versatile, but they are not as efficient as the homomorphic encryption schemes in approval elections. In this paper, we will present a new electronic voting schemes which is secure, versatile and efficient. We call our proposal scheme the Prˆet `a Voter: All-In-One because it is based on the re-encryption version of the Prˆet `a Voter scheme and inherits most of its security properties. Our scheme not only handles both approval elections and preferential elections, but also the ballot tallying phase will always be the most efficient because according to different elections, different tally strategies can be applied.

      S Schneider (1999)Abstraction and Testing., In: JM Wing, J Woodcock, J Davies (eds.), World Congress on Formal MethodsLNCS 1pp. 738-757
      Thomas Gittings, Steve Schneider, John Collomosse (2019)Robust Synthesis of Adversarial Visual Examples Using a Deep Image Prior

      We present a novel method for generating robust adversarial image examples building upon the recent `deep image prior' (DIP) that exploits convolutional network architectures to enforce plausible texture in image synthesis. Adversarial images are commonly generated by perturbing images to introduce high frequency noise that induces image misclassification, but that is fragile to subsequent digital manipulation of the image. We show that using DIP to reconstruct an image under adversarial constraint induces perturbations that are more robust to affine deformation, whilst remaining visually imperceptible. Furthermore we show that our DIP approach can also be adapted to produce local adversarial patches (`adversarial stickers'). We demonstrate robust adversarial examples over a broad gamut of images and object classes drawn from the ImageNet dataset.

      Ioana Boureanu, Steven Alfred Schneider (2023)Proceedings of the 16th ACM Conference on Security and Privacy in Wireless and Mobile Networks Association for Computing Machinery

      Welcome to the 2023 ACM Conference on Security and Privacy in Wireless and Mobile Networks (ACM WiSec)! Now in its 16th year, WiSec continues to be the premier venue for research on all aspects of security and privacy in wireless and mobile networks, their systems, and their applications. We are hosted by the Surrey Centre for Cyber Security on the beautiful campus of the University of Surrey in Guildford, UK. We begin our exciting three-day main conference program on May 29th with single-track technical paper sessions, a poster and demo session, two excellent keynotes from cellular experts Prof. Yongdae Kim (KAIST) and David Rogers (GSMA Fraud and Security Group), and a panel on "Academic and Industry Views of Cellular Security Research." The WiseML Workshop follows the main program on June 1st. We invite participants to attend the exciting paper presentations and keynotes, interact with the presenters during the Q&A sessions after each talk, network during the coffee breaks and lunches each day, and socialize during the combined reception/poster/demo session and the banquet dinner. We will make talk recordings available to the public after the conference. This year's technical program features 34 outstanding papers: 27 full papers, 5 short papers, and 2 SoK papers. We also have 5 posters and 3 demonstrations of early results and working prototypes. The technical program covers a wide range of security and privacy issues related to IoT security, cellular communication security, wireless technologies (e.g., Wi-Fi), application of cryptographic protocols, authentication, applications using machine learning for identity verification, machine learning for security, and machine learning for privacy.

      S Schneider, M Llewellyn, C Culnane, J Heather, S Srinivasan, Z Xia (2011)Focus group views on Prêt à Voter 1.0, In: Proc. of 2011 Int. Workshop on Requirements Engineering for Electronic Voting Systems, REVOTE 2011 - In Conjunction with the 19th IEEE International Requirements Engineering Conference 2011, RE 2011pp. 56-65

      This paper discusses the findings of a series of four focus group sessions carried out on a variant of the original Prêt à Voter prototype implementation [2]. The aim of these sessions was to investigate users' ability to use the system, to discover any inadequacies of the system, and to gauge the participants' understanding of its security mechanisms. The groups also discussed general issues around security in election systems.

      H Rothgang, S Schneider (2015)Preface and Acknowledgements, In: State Transformations in OECD Countries Palgrave Macmillan UK
      Steve Schneider, Robert Delicata (2005)Verifying Security Protocols: An Application of CSP3525pp. 243-263

      The field of protocol analysis is one area in which CSP has proven particularly successful, and several techniques have been proposed that use CSP to reason about security properties such as confidentiality and authentication. In this paper we describe one such approach, based on theorem-proving, that uses the idea of a rank function to establish the correctness of protocols. This description is motivated by the consideration of a simple, but flawed, authentication protocol. We show how a rank function analysis can be used to locate this flaw and prove that a modified version of the protocol is correct.

      J Heather, S Schneider (2005)A decision procedure for the existence of a rank function., In: Journal of Computer Security13(2)pp. 317-344 IOS Press
      H Treharne, E Turner, S Schneider, N Evans (2008)Object Modelling in the SystemB Industrial Project, In: E Borger, M Butler, JP Bowen, P Boca (eds.), ABSTRACT STATE MACHINES, B AND Z, PROCEEDINGS5238pp. 359-359
      J Heather, S Schneider, V Teague (2013)Cryptographic protocols with everyday objects, In: Formal Aspects of Computingpp. 1-26

      Most security protocols appearing in the literature make use of cryptographic primitives that assume that the participants have access to some sort of computational device. However, there are times when there is need for a security mechanism to evaluate some result without leaking sensitive information, but computational devices are unavailable. We discuss here various protocols for solving cryptographic problems using everyday objects: coins, dice, cards, and envelopes. © 2013 British Computer Society.

      M Moran, J Heather, S Schneider (2014)Verifying anonymity in voting systems using CSP, In: FORMAL ASPECTS OF COMPUTING26(1)pp. 63-98 SPRINGER
      S Schneider, H Treharne (2015)Special issue on Automated Verification of Critical Systems (AVoCS 2013), In: SCIENCE OF COMPUTER PROGRAMMING111pp. 213-213 Elsevier
      CB Adekunle, S Schneider (1999)Detecting Feature Interactions in the Terrestrial Trunked Radio (TETRA) Network Using Promela and Xspin., In: D Dams, R Gerth, S Leue, M Massink (eds.), SPIN 1999LNCS 1pp. 136-151
      D Karkinsky, S Schneider, H Treharne (2007)Combining mobility with state, In: J Davies, J Gibbons (eds.), Integrated Formal Methods, Proceedings4591pp. 373-392
      Kazue Sako, Steve Schneider, Peter Y. A Ryan (2019)Computer Security – ESORICS 2019 Springer International Publishing

      The two volume set, LNCS 11735 and 11736, constitutes the proceedings of the 24th European Symposium on Research in Computer Security, ESORIC 2019, held in Luxembourg, in September 2019. The total of 67 full papers included in these proceedings was carefully reviewed and selected from 344 submissions. The papers were organized in topical sections named as follows: Part I: machine learning; information leakage; signatures and re-encryption; side channels; formal modelling and verification; attacks; secure protocols; useful tools; blockchain and smart contracts. Part II: software security; cryptographic protocols; security models; searchable encryption; privacy; key exchange protocols; and web security.

      H Treharne, J Draper, S Schneider (1998)Test Case Preparation Using a Prototype., In: D Bert (eds.), Lecture Notes in Computer Science1393pp. 293-311

      This paper reports on the preparation of test cases using a prototype within the context of a formal development. It describes an approach to building a prototype using an example. It discusses how a prototype contributes to the testing activity as part of a lifecycle based on the use of formal methods. The results of applying the approach to an embedded avionics case study are also presented.

      Tomas Kulik, Brijesh Dongol, Peter Gorm Larsen, Hugo Daniel Macedo, Steve Schneider, Peter W. Tran-Jorgensen, James Woodcock (2022)A Survey of Practical Formal Methods for Security, In: Formal aspects of computing34(1)pp. 1-39 Assoc Computing Machinery

      In today???s world, critical infrastructure is often controlled by computing systems. This introduces new risks for cyber attacks, which can compromise the security and disrupt the functionality of these systems. It is therefore necessary to build such systems with strong guarantees of resiliency against cyber attacks. One way to achieve this level of assurance is using formal verification, which provides proofs of system compli-ance with desired cyber security properties. The use of Formal Methods (FM) in aspects of cyber security and safety-critical systems are reviewed in this article. We split FM into the three main classes: theorem proving, model checking, and lightweight FM. To allow the different uses of FM to be compared, we define a common set of terms. We further develop categories based on the type of computing system FM are applied in. Solu-tions in each class and category are presented, discussed, compared, and summarised. We describe historical highlights and developments and present a state-of-the-art review in the area of FM in cyber security. This review is presented from the point of view of FM practitioners and researchers, commenting on the trends in each of the classes and categories. This is achieved by considering all types of FM, several types of se-curity and safety-critical systems, and by structuring the taxonomy accordingly. The article hence provides a comprehensive overview of FM and techniques available to system designers of security-critical systems, simplifying the process of choosing the right tool for the task. The article concludes by summarising the dis-cussion of the review, focusing on best practices, challenges, general future trends, and directions of research within this field.

      J Heather, S Schneider (2002)Equal To The Task?, In: D Gollmann, G Karjoth, M Waidner (eds.), ESORICS'02LNCS 2pp. 162-177
      M.W Mislove, A.W Roscoe, S.A Schneider (1995)Fixed points without completeness, In: Theoretical computer science138(2)pp. 273-314 Elsevier B.V

      This paper presents a simplification and generalisation of Barren's “Fixed point theory of unbounded nondeterminism (FACS 3)” for untimed CSP. The difficulties of modeling unbounded nondeterminism in the untimed world persist to the timed case, where it remains the case that there is no reasonable complete partial order over the timed infinite traces model. The fact that the timed predeterministic processes are not a complete partial order means that the untimed approach is not directly applicable to the timed setting. The approach is extended here to a general theory of locally complete partial orders and dominating spaces. If every CSP operator is dominated by some operator on the dominating space, then the fixed point theory of the dominating space may be used to guarantee the existence of fixed points in the underlying CSP model. The application of this theory to untimed CSP is reviewed. The theory is then used to underpin the fixed point theory for timed CSP with infinite nondeterminism, by employing the complete metric space of deterministic timed processes to dominate the model.

      C Culnane, J Heather, R Joaquim, PYA Ryan, S Schneider, V Teague (2014)Faster Print on Demand for Prêt à Voter., In: EVT/WOTE
      SA Schneider, R Delicata (2004)Verifying Security Protocols: An Application of CSP., In: AE Abdallah, CB Jones, JW Sanders (eds.), Lecture Notes in Computer Science3525pp. 243-263

      The field of protocol analysis is one area in which CSP has proven particularly successful, and several techniques have been proposed that use CSP to reason about security properties such as confidentiality and authentication. In this paper we describe one such approach, based on theorem-proving, that uses the idea of a rank function to establish the correctness of protocols. This description is motivated by the consideration of a simple, but flawed, authentication protocol. We show how a rank function analysis can be used to locate this flaw and prove that a modified version of the protocol is correct.

      S Schneider, H Treharne (2004)Verifying Controlled Components., In: EA Boiten, J Derrick, G Smith (eds.), Lecture Notes in Computer Science2999pp. 87-107

      Recent work on combining CSP and B has provided ways of describing systems comprised of components described in both B (to express requirements on state) and CSP (to express interactive and controller behaviour). This approach is driven by the desire to exploit existing tool support for both CSP and B, and by the need for compositional proof techniques. This paper is concerned with the theory underpinning the approach, and proves a number of results for the development and verification of systems described using a combination of CSP and B. In particular, new results are obtained for the use of the hiding operator, which is essential for abstraction. The paper provides theorems which enable results obtained (possibly with tools) on the CSP part of the description to be lifted to the combination. Also, a better understanding of the interaction between CSP controllers and B machines in terms of non-discriminating and open behaviour on channels is introduced, and applied to the deadlock-freedom theorem. The results are illustrated with a toy lift controller running example.

      P James, F Moller, HN Nguyen, M Roggenbach, S Schneider, H Treharne (2014)Techniques for modelling and verifying railway interlockings, In: International Journal on Software Tools for Technology Transfer16(6)pp. 685-711

      We describe a novel framework for modelling railway interlockings which has been developed in conjunction with railway engineers. The modelling language used is CSP(Formula presented.)B. Beyond the modelling we present a variety of abstraction techniques which make the analysis of medium- to large-scale networks feasible. The paper notably introduces a covering technique that allows railway scheme plans to be decomposed into a set of smaller scheme plans. The finitisation and topological abstraction techniques are extended from previous work and are given formal foundations. All three techniques are applicable to other modelling frameworks besides CSP(Formula presented.)B. Being able to apply abstractions and simplifications on the domain model before performing model checking is the key strength of our approach. We demonstrate the use of the framework on a real-life, medium-size scheme plan.

      SA Schneider, TS Hoang, K Robinson, H Treharne (2005)Tank Monitoring: A pAMN Case Study., In: Electronic Notes in Theoretical Computer Science2(137)pp. 183-204

      The introduction of probabilistic behaviour into the B-Method is a recent development. In addition to allowing probabilistic behaviour to be modelled, the relationship between expected values of the machine state can be expressed and verified. This paper explores the application of probabilistic B to a simple casestudy: tracking the volume of liquid held in atank by measuring the flow of liquid into it. The flow can change as time progresses, and sensors are used to measure the flow with some degree of accuracy and reliability, modelled as non-deterministic and probabilistic behaviour respectively. At the specification level, the analysis is concerned with the expectation clause in the probabilistic B machine and its consistency with machine operations. At the refinement level, refinement and equivalence laws on probabilistic GSL are used to establish that a particular design of sensors delivers the required level of reliability.

      S Schneider, V Teague, C Culnane, J Heather (2014)Special Section on Vote-ID 2013., In: J. Inf. Sec. Appl.192pp. 103-104

      Prˆet `a Voter and Punchscan are two electronic voting schemes that both use paper based ballot forms, part of which is detached and destroyed, to provide receipt-free voter verifiability. However, both schemes share the chain voting problem and the part destruction problem. The first is where anyone who can see the ballot form before it is used can coerce a voter who uses it and the latter where a voter who can leave with the complete form can prove to a coercer the contents of the vote. In this paper we provide a comparison of the schemes from a systems perspective. We also introduce a visual encryption solution to both the above problems.

      S Schneider, A Sidiropoulos (1996)CSP and Anonymity., In: E Bertino, H Kurth, G Martella, E Montolivo (eds.), Lecture Notes in Computer Science ESORICS'961146pp. 198-218

      Security protocols are designed to meet particular security properties. In order to analyse such protocols formally, it is necessary to provide a formal definition of the property that they are intended to provide. This paper is concerned with the property of anonymity. It proposes a definition of anonymity within the CSP notation, discusses the approach taken by CSP to anonymity with respect to different viewpoints, and illustrates this approach on some toy examples, and then applies it to a machine-assisted analysis of the dining cryptographers example and some variants.

      S Schneider (2001)Process Algebra and Security., In: KG Larsen, M Nielsen (eds.), CONCUR 2001LNCS 2pp. 37-38
      S Schneider, J Davies, DM Jackson, GM Reed, JN Reed, AW Roscoe (1991)Timed CSP: Theory and Practice., In: JW de Bakker, C Huizing, WP de Roever, G Rozenberg (eds.), REX WorkshopLNCS 6pp. 640-675
      SA Schneider, HE Treharne, H Wehrheim (2010)A CSP approach to Control in Event-B, In: D Mery, S Merz (eds.), Integrated Formal Methods/Lecture Notes in Computer Science6396pp. 260-274

      Event-B has emerged as one of the dominant state-based formal techniques used for modelling control-intensive applications. Due to the blocking semantics of events, their ordering is controlled by their guards. In this paper we explore how process algebra descriptions can be defined alongside an Event-B model. We will use CSP to provide explicit control flow for an Event-B model and alternatively to provide a way of separating out requirements which are dependent on control flow information. We propose and verify new conditions on combined specifications which establish deadlock freedom. We discuss how combined specifications can be refined and the challenges arising from this. The paper uses Abrial’s Bridge example as the basis of a running example to illustrate the framework.

      Murat Moran, James Heather, Steve Schneider (2016)Automated anonymity verification of the ThreeBallot and VAV voting systems, In: Software and systems modeling15(4)pp. 1049-1062 Springer Nature

      In recent years, a large number of secure voting protocols have been proposed in the literature. Often these protocols contain flaws, but because they are complex protocols, rigorous formal analysis has proven hard to come by. Rivest's ThreeBallot and Vote/Anti-Vote/Vote (VAV) voting systems are important because they aim to provide security (voter anonymity and voter verifiability) without requiring cryptography. In this paper, we construct CSP models of ThreeBallot and VAV, and use them to produce the first automated formal analysis of their anonymity properties. Along the way, we discover that one of the crucial assumptions under which ThreeBallot and VAV (and many other voting systems) operate-the short ballot assumption-is highly ambiguous in the literature. We give various plausible precise interpretations and discover that in each case, the interpretation either is unrealistically strong or else fails to ensure anonymity. We give a revised version of the short ballot assumption for ThreeBallot and VAV that is realistic but still provides a guarantee of anonymity.

      James Heather, Steve A. Schneider (2011)A formal framework for modelling coercion resistance and receipt freeness Department of Computing, University of Surrey

      Coercion resistance and receipt freeness are critical properties for any voting system. However, many definitions of these properties have been proposed, with varying levels of formality, and there has been little attempt to tie these definitions together or identify relations between them. We give here a general framework for specifying different coercion resistance and receipt freeness properties using the process algebra CSP. The framework is general enough to accommodate a wide range of definitions, including dealing with randomization attacks and forced abstention. We provide models of some simple voting systems, and show how the framework can be used to analyze these models under different definitions of coercion resistance and receipt freeness. Our formalisation highlights the variation between the definitions in the literature.

      The November 2014 Australian State of Victoria election was the first statutory political election worldwide at State level which deployed an end-to-end verifiable electronic voting system in polling places. This was the first time blind voters have been able to cast a fully secret ballot in a verifiable way, and the first time a verifiable voting system has been used to collect remote votes in a political election. The code is open source, and the output from the election is verifiable. The system took 1121 votes from these particular groups, an increase on 2010 and with fewer polling places.

      Mohammed Alsadi, Matthew Casey, Constantin Catalin Dragan, Francois Dupressoir, Luke Riley, Muntadher Sallal, Steve Schneider, Helen Treharne, Joe Wadsworth, Phil Wright Towards end-to-end verifiable online voting: adding verifiability to established voting systems

      Online voting for independent elections is generally supported by trusted election providers. Typically these providers do not offer any way in which a voter can verify their vote, so the providers are trusted with ballot privacy and ensuring correctness. Despite the desire to offer online voting for political elections, this lack of transparency and verifiability is often seen as a significant barrier to the large-scale adoption of online elections. Adding verifiability to an online election increases transparency and integrity, allowing voters to verify that their vote has been recorded correctly and included in the tally. However, replacing existing online systems with those that provide verifiable voting requires new algorithms and code to be deployed, and this presents a significant business risk to commercial election providers. In this paper we present the first step in an incremental approach which minimises the business risk but demonstrates the advantages of verifiability, by developing an implementation of key elements of a Selene-based verifiability layer and adding it to an operational online voting system. Selene is a verifiable voting protocol that uses trackers to enable voters to confirm that their votes have been captured correctly while protecting voter anonymity. This results in a system where even the election authority running the system cannot change the result in an undetectable way, and gives stronger guarantees on the integrity of the election than were previously present. We explore the challenges presented by adding a verifiability layer to an operational system. We describe the results of two initial trials, which obtained that survey respondents found this form of verifiability easy to use and that they broadly appreciated it. We conclude by outlining the further steps in the road-map towards the deployment of a fully trustworthy online voting system.

      S Schneider, H Treharne (2002)Communicating B Machines., In: D Bert, JP Bowen, MC Henson, K Robinson (eds.), Lecture Notes in Computer Science2272pp. 416-435

      This paper describes a way of using the process algebra CSP to enable controlled interaction between B machines. This approach supports compositional verification: each of the controlled machines, and the combination of controller processes, can be analysed and verified separately in such a way as to guarantee correctness of the combined communicating system. Reasoning about controlled machines separately is possible due to the introduction of guards and assertions into description of the controller processes in order to capture assumptions about other controlled machines and provide guarantees to the rest of the system. The verification process can be completely supported by difierent tools. The use of separate controller processes facilitates the iterative development and analysis of complex control flows within the system. The approach is motivated and illustrated with a non-trivial running example.

      AA McEwan, S Schneider (2010)Modelling and analysis of the AMBA bus using CSP and B, In: Concurrency and Computation: Practise and Experience22(8)pp. 949-964 wiley

      In this paper, we present a formal model and analysis of the Advanced Microcontroller Bus Architecture (AMBA) Advanced High-performance Bus (AHB). The model is given in CSP parallel to B an integration of the process algebra CSP and the state-based formalism B. We describe the theory behind the integration of CSP and B, and present the model in this theory. Analysis is performed using the model-checker ProB. The contribution of this paper may be summarized as follows: presentation of a formal model of the AMBA AHB protocol such that it may be used for analysis of co-design systems incorporating the bus, an evaluation of the integration of CSP and B in the production of such a model, and a demonstration and evaluation of ProB in performing this analysis. Copyright (C) 2009 John Wiley & Sons, Ltd.

      Jinguang Han, Liqun Chen, Steve Schneider, Helen Treharne, Steve Wesemeyer (2019)Privacy-Preserving Electronic Ticket Scheme with Attribute-Based Credentials, In: IEEE Transactions on Dependable and Secure Computingpp. 1-1 IEEE

      Users accessing services are often required to provide personal information, for example, age, profession and location, in order to satisfy access polices. This personal information is evident in the application of e-ticketing where discounted access is granted to visitor attractions or transport services if users satisfy policies related to their age or disability or other defined over attributes. We propose a privacy-preserving electronic ticket scheme using attribute-based credentials to protect users’ privacy. The benefit of our scheme is that the attributes of a user are certified by a trusted third party so that the scheme can provide assurances to a seller that a user’s attributes are valid. The scheme makes the following contributions: (1) users can buy different tickets from ticket sellers without releasing their exact attributes; (2) two tickets of the same user cannot be linked; (3) a ticket cannot be transferred to another user; (4) a ticket cannot be double spent. The novelty of our scheme is to enable users to convince ticket sellers that their attributes satisfy the ticket policies and buy discounted tickets anonymously. This is a step towards identifying an e-ticketing scheme that captures user privacy requirements in transport services. The security of our scheme is proved and reduced to a well-known complexity assumption. The scheme is also implemented and its performance is empirically evaluated.

      J Davies, S Schneider (1989)Factorizing Proofs in Timed CSP., In: MG Main, A Melton, MW Mislove, DA Schmidt (eds.), MFPS 1989LNCS 4pp. 129-159
      Steve A. Schneider (1998)Formal analysis of a non-repudiation protocol, In: Proceedings of the 11th IEEE Computer Security Foundations Workshoppp. 9-11

      This paper applies the theory of Communicating Sequential Processes (CSP) to the modelling and analysis of a non-repudiation protocol. Non-repudiation protocols differ from authentication and key-exchange protocols in that the participants require protection from each other, rather than from an external hostile agent. This means that the kinds of properties that are required of such a protocol, and the way it needs to be modelled to enable analysis, are different to the standard approaches taken to the more widely studied class of protocols and properties. A non-repudiation protocol proposed by Zhou and Gollmann is analysed within this framework, and this highlights some novel considerations that are required for this kind of protocol.

      Steve A. Schneider (1998)Verifying authentication protocols in CSP, In: IEEE Transactions on Software Engineering24(9)pp. 741-758 IEEE

      This paper presents a general approach for analysis and verification of authentication properties using the theory of Communicating Sequential Processes (CSP). The paper aims to develop a specific theory appropriate to the analysis of authentication protocols, built on top of the general CSP semantic framework. This approach aims to combine the ability to express such protocols in a natural and precise way with the ability to reason formally about the properties they exhibit. The theory is illustrated by an examination of the Needham-Schroeder Public-Key protocol. The protocol is first examined with respect to a single run and then more generally with respect to multiple concurrent runs.

      Chris Culnane, James Heather, Steve Schneider, Sriramkrishnan Srinivasan, Zhe Xia (2011)Trustworthy Voting Systems Technical Report: System Design Department of Computing, University of Surrey

      This document aims to provide a detailed overview of the design for the electronic voting system that is to be implemented by the University of Surrey as part of the Trustworthy Voting Systems (TVS) Project. In addition to the overview, the document aims to provide a record of the discussions and thoughts that led to the nal design.

      A Alshehri, S Schneider (2013)Formally defining NFC M-coupon requirements, with a case study, In: 2013 8TH INTERNATIONAL CONFERENCE FOR INTERNET TECHNOLOGY AND SECURED TRANSACTIONS (ICITST)pp. 52-58 IEEE
      SA Schneider, S Srinivasan, C Culnane, JA Heather, Z Xia (2012)Prêt à Voter with Write-Ins, In: H Lipmaa, A Kiayias (eds.), Lecture Notes in Computer Science: E-Voting and Identity7187pp. 174-189

      This paper presents an extension of the Pret a Voter verifiable voting system to handle write-ins. This is achieved by introducing an additional `Write-In' option and allowing the voter optionally to enter a write-in candidate of their choice. The voter obtains a receipt which includes their write-in, but that receipt does not indicate whether the write-in candidate was selected or not. The system provides flexibility with respect to the tallying of write-in votes. We also introduce null ballots in order to achieve receipt-freeness with respect to write-ins.

      P James, F Moller, HN Nguyen, M Roggenbach, SA Schneider, H Treharne (2013)On Modelling and Verifying Railway Interlockings: Tracking Train Lengths

      The safety analysis of interlocking railway systems involves verifying freedom from collision, derailment and run-through (that is, trains rolling over wrongly-set points). Typically, various unrealistic assumptions are made in order to facilitate their analyses. In particular, trains are invariably assumed to be shorter than track segments; and generally only a very few trains are allowed to be introduced into the network under consideration. In this paper we propose modelling methodologies which elegantly dismiss these assumptions. We first provide a framework for modelling arbitrarily many trains of arbitrary length in a network; and then we demonstrate that it is enough with our modelling approach to consider only two trains when verifying safety conditions. That is, if a safety violation appears in the original model with any number of trains of any and varying lengths, then a violation will be exposed in the simpler model with only two trains. Importantly, our modelling framework has been developed alongside – and in conjunction with – railway engineers. It is vital that they can validate the models and verification conditions, and – in the case of design errors – obtain comprehensible feedback. We demonstrate our modelling and abstraction techniques on two simple interlocking systems proposed by our industrial partner. As our formalization is, by design, near to their way of thinking, they are comfortable with it and trust it

      S Schneider, A Cavalcanti, H Treharne, J Woodcock (2006)A layered behavioural model of platelets, In: S Kawada (eds.), ICECCS 2006: 11TH IEEE INTERNATIONAL CONFERENCE ON ENGINEERING OF COMPLEX COMPUTER SYSTEMS, PROCEEDINGSpp. 98-106

      There is great interest in the application of nanotechnology to medicine, but concerns for safety are paramount. We present a modelling technique based on CSP and B as a starting point for simulation of networks of nano-robots. The model and the simulations are central features of our proposed approach to the construction of safety cases for nanomedicine applications, and complex networks of cooperating components in general. Our work is based on a case study: the clotting behaviour of (artificial) platelets. We present a model, and discuss its analysis and uses

      S Schneider (1997)Verifying authentication protocols with CSP., In: CSFW'97pp. 3-17

      This paper presents a general approach for analysis and veri cation of authentication properties in the language of Communicating Sequential Processes CSP It is il lustrated by an examination of the Needham Schroeder public key protocol The contribution of this paper is to develop a speci c theory appropriate to the analy sis of authentication protocols built on top of the gen eral CSP semantic framework This approach aims to combine the ability to express such protocols in a natu ral and precise way with the facility to reason formally about the properties they exhibit

      J Davies, D Jackson, S Schneider (1992)Broadcast Communication for Real-time Processes., In: J Vytopil (eds.), FTRTFT'92LNCS 5pp. 149-169
      WL Yeung, SA Schneider (2005)Formal verification of fault-tolerant software design: the CSP approach, In: MICROPROCESSORS AND MICROSYSTEMS29(5)pp. 197-209 ELSEVIER SCIENCE BV
      A Alshehri, S Schneider, A Francillon, P Rohatgi (2014)Formal Security Analysis and Improvement of a Hash-Based NFC M-Coupon Protocol, In: SMART CARD RESEARCH AND ADVANCED APPLICATIONS (CARDIS 2013)8419pp. 152-167 SPRINGER-VERLAG BERLIN
      SA Schneider, HE Treharne, H Wehrheim (2014)The Behavioural Semantics of Event-B Re finement, In: Formal Aspects of Computing: applicable formal methods26pp. 251-280 Springer

      Event-B provides a flexible framework for stepwise system development via re finement. The framework supports steps for (a) re fining events (one-by-one), (b) splitting events (one-by-many), and (c) introducing new events. In each of the steps events can be indicated as convergent (to be made internal) or anticipated (treatment deferred to a later refi nement step). All such steps are accompanied with precise proof obligations. However, no behavioural semantics has been provided to validate the proof obligations, and no formal justifi cation has previously been given for the application of these rules in a re finement chain. Behavioural semantics expresses a clear relationship between the first and last machines in a re finement chain. The framework we present provides a coherent justi fication for Abrial's approach to re finement in Event-B, and its generalisation to interface extension: adding events to the interface. In this paper, we give a behavioural semantics for Event-B refi nement, with a treatment for the first time of splitting events and of anticipated events, adding to the well-understood treatment of convergent events. To this end, we de fine a CSP semantics for Event-B and show how the di fferent forms of Event-B refi nement can be captured as CSP re finement. It turns out that the appropriate CSP refi nement relationship is influenced by the particular Event-B development strategy taken. We present two such strategies, one allowing, the other disallowing interface extensions.

      Steve A Schneider (2002)Verifying authentication protocol implementations, In: B Jacobs, A Rensink (eds.), Formal Methods for Open Object-Based Distributed Systems Vpp. 5-24 Springer

      Formal methods for verifying authentication protocols tend to assume an idealised, perfect form of encryption. This approach has been spectacularly successful in finding flaws, but when we aim for proofs of correctness then we need to consider this assumption more carefully, and perhaps to weaken it to reflect properties of real cryptographic mechanisms. This paper reviews the existing CSP approach to verifying protocols, and considers how algebraic properties of real cryptographic mechanisms can be incorporated within a rank function verification. The approach is illustrated with an authentication protocol which makes use of exclusive-or.

      N Evans, SA Schneider (2005)Verifying security protocols with PVS: widening the rank function approach., In: Journal of Logic and Algebraic Programming64(2)pp. 253-284
      AA Alshehri, JA Briffa, SA Schneider, S Wesemeyer (2013)Formal Security Analysis of NFC M-coupon Protocols using Casper/FDR

      Near field communication (NFC) is a standard-based, radio frequency (RF), wireless communication technology that allows data to be exchanged between devices that are less than 20 cm apart. NFC security protocols require formal security analysis before massive adoptions, in order to check whether these protocols meet its requirements and goals. In this paper we formally analyse NFC-based mobile coupon protocols using formal methods (Casper/FDR). We find an attack against the advanced protocol, and then we provide a solution that addresses the vulnerability formally.

      Steve A. Schneider (1996)Security properties and CSP, In: Proceedings of the 1996 IEEE Symposium on Security and Privacypp. 174-187

      Security properties such as confidentiality and authenticity may be considered in terms of the flow of messages within a network. To the extent that this characterisation is justified, the use of a process algebra such as Communicating Sequential Processes (CSP) seems appropriate to describe and analyse them. This paper explores ways in which security properties may be described as CSP specifications, how security mechanisms may be captured, and how particular protocols designed to provide these properties may be analysed within the CSP framework. The paper is concerned with the theoretical basis for such analysis. A sketch verification of a simple example is carried out as an illustration.

      SA Schneider, HE Treharne, H Wehrheim (2011)Bounded Retransmission in Event-B||CSP: a Case Study, In: Electronic Notes in Theoretical Computer Science280pp. 69-80 Elsevier
      J Davies, S Schneider (1994)Recursion Induction for Real-Time Processes., In: Formal Aspects of Computing5(6)pp. 530-553
      J Davies, J Bryans, S Schneider (1995)Real-time LOTOS and Timed Observations., In: GV Bochmann, R Dssouli, O Rafiq (eds.), FORTE 199543pp. 383-397
      P Ryan, S Schneider, M Goldsmith, G Lowe, B Roscoe (2001)Modelling and Analysis of Security Protocols Addison-Wesley

      This is the definitive technical reference to security protocols: their goals, mechanisms, properties, and especially their vulnerabilities.

      S Schneider, H Treharne, A McEwan, W Ifill (2008)Experiments in Translating CSP||B to Handel-C, In: PH Welch, S Stepney, FAC Polack, FRM Barnes, AA McEwan, GS Stiles (eds.), Concurrent Systems Engineering Series66pp. 115-133

      This paper considers the issues involved in translating specifications described in the CSP||B formal method into Handel-C. There have previously been approaches to translating CSP descriptions to Handel-C, and the work presented ill this paper is part of a programme of work to extend it to include the B component of a CSP parallel to B description. Handel-C is a suitable target language because of its capability of programming communication and state. and its compilation route to hardware. The paper presents two case studies that investigate aspects of the translation: a buffer case study, and all abstract arbiter case Study. These investigations have exposed a number of issues relating to the translation of the B component, and have identified a range of options available, informing more recent work oil the development of a style for CSP parallel to B specifications particularly appropriate to translation to Handel-C.

      Jorden Whitefield, Liqun Chen, Ralf Sasse, Steve Schneider, Helen Treharne, Stephan Wesemeyer (2019)A Symbolic Analysis of ECC-based Direct Anonymous Attestation, In: Proceedings of the 4th IEEE European Symposium on Security and Privacy Institute of Electrical and Electronics Engineers (IEEE)

      Direct Anonymous Attestation (DAA) is a cryptographic scheme that provides Trusted Platform Module (TPM)- backed anonymous credentials. We develop TAMARIN modelling of the ECC-based version of the protocol as it is standardised and provide the first mechanised analysis of this standard. Our analysis confirms that the scheme is secure when all TPMs are assumed honest, but reveals a break in the protocol’s expected authentication and secrecy properties for all TPMs even if only one is compromised. We propose and formally verify a minimal fix to the standard. In addition to developing the first formal analysis of ECC-DAA, the paper contributes to the growing body of work demonstrating the use of formal tools in supporting standardisation processes for cryptographic protocols.

      SA Schneider, H Treharne, B Vajar (2011)Introducing mobility into CSP||B
      D Bismark, JA Heather, RMA Peel, SA Schneider, Z Xia, PYA Ryan (2009)Experiences Gained from the first Prêt à Voter Implementation, In: Requirements Engineering for E-voting systems (RE-Vote) ’09pp. 19-28

      Implementing an electronic voting system for the first time can be difficult, since requirements are sometimes hard to specify and keep changing, resources are scarce in an academic setting, the gap between theory and practice is wider than anticipated, adhering to a formal development lifecycle is inconvenient and delivery on time is very hard. This paper describes all of the work done by the Pret a Voter team in the run-up to VoComp in 2007 and enumerates a number of lessons learned.

      PYA Ryan, SA Schneider, D Gollmann, J Meier, A Sabelfeld (2006)Pret a Voter with Re-encryption Mixes, In: Computer Security - ESORICS 2006, Proceedings4189pp. 313-326
      S Schneider (2001)May Testing, Non-interference, and Compositionality., In: Electronic Notes in Theoretical Computer Science40pp. 361-391

      This paper uses CSP to introduce a characterisation of noninterference in terms of the deductions that may be made about high level processes by low level tests. May testing yields classic noninference, and has a concise formulation in CSP. It is preserved by a wider range of composition operators than are normally considered in the context of non-interference, and thus also composes under the operators traditionally studied with non-interference. The CSP characterisation of may noninterference also permits some attractive and simple Compositionality proofs. This work has benefitted from discussions with Peter Ryan, and from the careful reading and comments of the anonymous referees. The work has also received financial support from DERA.

      SA Schneider, JA Heather (2012)A Formal Framework for Modelling Coercion Resistance and Receipt Freeness, In: Lecture Notes in Computer Science7436pp. 217-231

      Coercion resistance and receipt freeness are critical properties for any voting system. However, many di fferent de finitions of these properties have been proposed, some formal and some informal; and there has been little attempt to tie these definitions together or identify relations between them. We give here a general framework for specifying di fferent coercion resistance and receipt freeness properties using the process algebra CSP. The framework is general enough to accommodate a wide range of defi nitions, and strong enough to cover both randomization attacks and forced abstention attacks. We provide models of some simple voting systems, and show how the framework can be used to analyze these models under di fferent de finitions of coercion resistance and receipt freeness. Our formalisation highlights the variation between the defi nitions, and the importance of understanding the relations between them.

      R Delicata, S Schneider (2007)An algebraic approach to the verification of a class of Diffie-Hellman protocols, In: INT J INF SECUR6(2-3)pp. 183-196 SPRINGER
      S Schneider (1993)Rigorous Specification of Real-Time Systems., In: M Nivat, C Rattray, T Rus, G Scollo (eds.), AMASTpp. 59-74
      C Burton, C Culnane, S Schneider (2016)vVote: Verifiable Electronic Voting in Practice, In: IEEE Security & Privacy14(4)pp. 64-73 IEEE

      This paper reports on the experience of deploying the vVote verifiable voting system in the November 2014 State election in Victoria, Australia. It describes the system that was deployed, discusses its end-to-end verifiability, and reports on the voters’ and poll workers’ experience with the system. Blind voters were able to cast a fully secret ballot in a verifiable way, as were voters in remote locations. The feedback finds the system to be acceptably usable with an electronic interface, though with some lessons for the future. It finds that new verifiability checks in the voting ceremony did not impede function nor satisfaction. There were challenges in the complexity of the equipment, in training, and in limited levels of attendance at several sites. One important verifiability audit was not effectively offered to electors in this deployment. The system took 1121 votes from the specific groups to whom it was made available.

      H Treharne, S Schneider, M Bramble (2003)Composing Specifications Using Communication., In: D Bert, JP Bowen, S King, MA Waldén (eds.), Lecture Notes in Computer Science2651pp. 58-78

      This paper develops a case study using the process algebra CSP to enable controlled interaction between B machines. This illustrates how B machines are essential components within a combined communicating system. The development steps used to build the case study are new: they are applications of theoretical results which allow us to focus on the external interface of a combined communicating system, compositionally verify it, and show that it is a refinement of a more abstract specification described in CSP. This allows safety and liveness properties to be established for combinations of communicating B machines.

      Steve A. Schneider, Helen Treharne, Heike Wehrheim (2011)Bounded Retransmission in Event-B||CSP: A Case Study Department of Computing, University of Surrey

      Event-B!CSP is a combination of Event-B and CSP in which CSP controllers are used in conjunction with Event-B machines to allow a more explicit approach to control flow. Recent results have provided an approach to stepwise refinement of such combinations. This paper presents a simplified Bounded Retransmission Protocol case study, inspired by Abrial’s treatment of this example, to illustrate several aspects new in the approach. The case study includes refinement steps to illustrate four different aspects of this approach to refinement: (1) splitting events; (2) introducing convergent looping behaviour; (3) the relationship between anticipated, convergent, and devolved events; and (4) converging anticipated events.

      Jorden Whitefield, Liqun Chen, Athanasios Giannetsos, Steven Schneider, Helen Treharne (2017)Privacy-Enhanced Capabilities for VANETs using Direct Anonymous Attestation
      SA Schneider (1996)Specification and Verification in Timed CSP, In: M Joseph (eds.), Real-time systems(6)pp. 147-181

      Real-time Systems: Specification, Verification and Analysis provides a detailed account of three major aspects of real-time systems: program structures for real ...

      J Davies, S Schneider (1992)Using CSP to Verify a Timed Protocol over a Fair Medium., In: R Cleaveland (eds.), CONCUR'92LNCS 6pp. 355-369
      E Turner, H Treharne, S Schneider, N Evans (2008)Automatic generation of CSP || B skeletons from xUML models, In: Lecture Notes in Computer Science: Theoretical Aspects of Computing5160pp. 364-379

      CSP ∥ B is a formal approach to specification that combines CSP and B. In this paper we present our tool that automatically translates a subset of executable UML (xUML) models into CSP ∥ B, for the purpose of verification and increased validation at the early stages of a software engineering development lifecycle. The tool is being developed for our industrial collaborators, AWE plc, in order to strengthen their software engineering process which uses xUML. As part of this process, AWE and Kennedy Carter Ltd. have built an xUML to SPARK Ada code generator, which is also employed to contribute a higher level of safety assurance at the latter stages of the lifecycle. Our tool is based on a model-text transformation strategy that uses the xUML meta-model to map to CSP and B constructs. The tool generates machine readable CSP and B; we present a simple example to demonstrate the transformation strategy, and the analysis of the resulting specification.

      H Treharne, S Schneider, N Grant, N Evans, W Ifill (2006)A Step towards Merging xUML and CSP||B, In: JR Abrial, U Glasser (eds.), RIGOROUS METHODS FOR SOFTWARE CONSTRUCTION AND ANALYSIS5115pp. 130-146

      Much research work has been done on linking UML, and formal methods but few have focused on using formal methods to check the integrity of the UML models so that the models can be verified. In this paper we focus on executable UML and on the issues related to concurrent state machines. We show that one integrated formal methods approach, CSP parallel to B, has the potential to be tailored to support reasoning about concurrent state machines and in turn expose any weaknesses in the UML model. We identify future avenues of research so that a system methodology based on executable UML can be enhanced by formal reasoning.

      WL Yeung, SA Schneider (2005)Formal verification of fault-tolerant software design: the CSP approach, In: MICROPROCESS MICROSY29(5)pp. 197-209 ELSEVIER SCIENCE BV

      Software design techniques for tolerating both hardware and software faults have been developed over the past few decades. Paradoxically, it is essential that fault-tolerant software is designed with the highest possible rigour to prevent faults in itself. Such rigour is provided by formal methods and aided by model checking. We illustrate an approach to fault-tolerant software design based on communicating sequential processes through a running example.

      M Moran, J Heather, S Schneider (2013)Automated Anonymity Verification of the ThreeBallot Voting System., In: EB Johnsen, L Petre (eds.), IFM7940pp. 94-108
      P James, F Moller, HN Nguyen, M Roggenbach, S Schneider, H Treharne, M Trumble, DM Williams (2013)Verification of Scheme Plans Using CSP $$||$$ | | B., In: S Counsell, M Núñez (eds.), SEFM Workshops8368pp. 189-204 Springer
      J Bryans, J Davies, S Schneider (1995)Towards a denotational semantics for ET-LOTOS., In: I Lee, SA Smolka (eds.), CONCUR'95LNCS 9pp. 269-283
      H Treharne, S Schneider (2000)How to Drive a B Machine., In: JP Bowen, S Dunne, A Galloway, S King (eds.), Lecture Notes in Computer Science1878pp. 188-208

      The B-Method is a state-based formal method that describes behaviour in terms of MACHINES whose states change under OPERATIONS. The process algebra CSP is an event-based formalism that enables descriptions of patterns of system behaviour. We present a combination of the two views where a CSP process acts as a control executive and its events simply drive corresponding OPERATIONS. We define consistency between the two views in terms of existing semantic models. We identify proof conditions which are strong enough to ensure consistency and thus guarantee safety and liveness properties.

      T Dimitrakos, F Martinelli, PYA Ryan, S Schneider (2007)Guest editors' preface, In: INTERNATIONAL JOURNAL OF INFORMATION SECURITY6(2-3)pp. 65-66 SPRINGER
      B Vajar, S Schneider, H Treharne (2011)Mobile CSP||B, In: Electronic Communications of the EASST23pp. ?-?
      I Abdel Halim, J Sharp, S Schneider, H Treharne (2010)Formal Verification of Tokeneer Behaviours Modelled in fUML Using CSP, In: Lecture Notes in Computer Science6447pp. 371-387

      Much research work has been done on formalizing UML diagrams, but less has focused on using this formalization to analyze the dynamic behaviours between formalized components. In this paper we propose using a subset of fUML (Foundational Subset for Executable UML) as a semi-formal language, and formalizing it to the process algebraic specification language CSP, to make use of FDR as a model checker. Our formalization includes modelling the asynchronous communication framework used within fUML. This allows different interpretations of the communications model to be evaluated. To illustrate the approach, we use the modelling of the Tokeneer ID Station specifications into fUML, and formalize them in CSP to check if the model is deadlock free.

      S Schneider (1998)Formal Analysis of a Non-Repudiation Protocol., In: Proceedings of the 11th IEEE Computer Security Foundations Workshop, 1998.pp. 54-65

      The paper applies the theory of communicating sequential processes (CSP) to the modelling and analysis of a non-repudiation protocol. Non-repudiation protocols differ from authentication and key-exchange protocols in that the participants require protection from each other, rather than from an external hostile agent. This means that the kinds of properties that are required of such a protocol, and the way it needs to be modelled to enable analysis, are different to the standard approaches taken to the more widely studied class of protocols and properties. A non-repudiation protocol proposed by Zhou and Gollmann (1996) is analysed within this framework, and this highlights some novel considerations that are required for this kind of protocol