Verification of Contact Tracing Protocols via SMT-based Model Checking and Counting Abstraction

We present an automata-based model specifically devised to formalise abstractions of distributed protocols used by contact-tracing applications that combine Bluetooth and TCP/IP communication with a centralised server. The model provides pure names, store and read operations on both value and set variables, synchronous and asynchronous communication primitives for both kind of variables. A protocol configuration consists of the current state of a finite set of local states containing the states of individual devices. The transition system models the interaction between devices in the same physical location and between a single device and possible distributed servers. We will use the resulting model to specify the logic underlying contact tracing protocols. To automatically validate our formal models, we employ an extension of the Cubicle infinite-state model checker based on the Alt-Ergo SMT solver. To overcome spurious results due to the application of monotone abstraction, we propose to refine the predecessor computation adopted in Cubicle by combining predicates on the Theory of Arrays (as provided by Cubicle) with Presburger predicates inferred via a counting abstraction applied on a subset of control states of individual processes.

[1]  Parosh Aziz Abdulla,et al.  On the Formalization of Decentralized Contact Tracing Protocols , 2020, OVERLAY.

[2]  Serge Vaudenay,et al.  Centralized or Decentralized? The Contact Tracing Dilemma , 2020, IACR Cryptol. ePrint Arch..

[3]  Vincenzo Iovino,et al.  Towards Defeating Mass Surveillance and SARS-CoV-2: The Pronto-C2 Fully Decentralized Automatic Contact Tracing System , 2020, IACR Cryptol. ePrint Arch..

[4]  Helmut Veith,et al.  Decidability of Parameterized Verification , 2015, Synthesis Lectures on Distributed Computing Theory.

[5]  Alain Mebsout,et al.  Inférence d'invariants pour le model checking de systèmes paramétrés. (Invariants inference for model checking of parameterized systems) , 2014 .

[6]  Giorgio Delzanno,et al.  Parameterized Verification of Broadcast Networks of Register Automata , 2013, RP.

[7]  Sylvain Conchon,et al.  Cubicle: A Parallel SMT-Based Model Checker for Parameterized Systems - Tool Paper , 2012, CAV.

[8]  Giorgio Delzanno,et al.  A lightweight regular model checking approach for parameterized systems , 2012, International Journal on Software Tools for Technology Transfer.

[9]  Giorgio Delzanno,et al.  Parameterized Verification of Ad Hoc Networks , 2010, CONCUR.

[10]  Parosh Aziz Abdulla,et al.  Monotonic Abstraction: on Efficient Verification of Parameterized Systems , 2009, Int. J. Found. Comput. Sci..

[11]  Parosh Aziz Abdulla,et al.  Approximated parameterized verification of infinite-state processes with global conditions , 2009, Formal Methods Syst. Des..

[12]  Joël Ouaknine,et al.  Nets with Tokens which Carry Data , 2008, Fundam. Informaticae.

[13]  Giorgio Delzanno,et al.  Constraint-Based Analysis of Broadcast Protocols , 1999, CSL.

[14]  Alain Finkel,et al.  On the verification of broadcast protocols , 1999, Proceedings. 14th Symposium on Logic in Computer Science (Cat. No. PR00158).

[15]  David L. Dill,et al.  The Murphi Verification System , 1996, CAV.