formal specification and verification of voting software
play

Formal Specification and Verification of Voting Software Bernhard - PowerPoint PPT Presentation

Formal Specification and Verification of Voting Software Bernhard Beckert | ComSoC, 14.04.13 K ARLSRUHE I NSTITUTE OF T ECHNOLOGY | D EPARTMENT OF C OMPUTER S CIENCE www.kit.edu KIT University of the State of Baden-Wuerttemberg and National


  1. Formal Specification and Verification of Voting Software Bernhard Beckert | ComSoC, 14.04.13 K ARLSRUHE I NSTITUTE OF T ECHNOLOGY | D EPARTMENT OF C OMPUTER S CIENCE www.kit.edu KIT – University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz Association

  2. FORMAL SPECIFICATION AND VERIFICATION

  3. Formal Specification and Verification What? Logic-based methods for specification (describing a system’s properties) verification (proving that a system satisfies its specification) Specification and Verification Information-flow Single Transferable Vote @CADE ComSoC, 14.04.13 3/27 Bernhard Beckert – Formal Specification and Verification of Voting Software

  4. Formal Specification and Verification Tool Support is Essential Automate repetitive tasks Avoid clerical errors, etc. Cope with large/complex systems Make verification certifiable Specification and Verification Information-flow Single Transferable Vote @CADE ComSoC, 14.04.13 4/27 Bernhard Beckert – Formal Specification and Verification of Voting Software

  5. Formal Specification and Verification Why? Dependable Systems Safety Security Specification and Verification Information-flow Single Transferable Vote @CADE ComSoC, 14.04.13 5/27 Bernhard Beckert – Formal Specification and Verification of Voting Software

  6. Formal Specification and Verification Why? Dependable Systems Safety Security Specification and Verification Information-flow Single Transferable Vote @CADE ComSoC, 14.04.13 5/27 Bernhard Beckert – Formal Specification and Verification of Voting Software

  7. Formal Specification and Verification Why? Dependable Systems Safety Security Specification and Verification Information-flow Single Transferable Vote @CADE ComSoC, 14.04.13 5/27 Bernhard Beckert – Formal Specification and Verification of Voting Software

  8. Formal Specification and Verification Why? Better Understanding of System’s Properties Specification and Verification Information-flow Single Transferable Vote @CADE ComSoC, 14.04.13 6/27 Bernhard Beckert – Formal Specification and Verification of Voting Software

  9. Formal Specification and Verification Why? Better Understanding of System’s Properties classical science THEORY EXPERIMENT Specification and Verification Information-flow Single Transferable Vote @CADE ComSoC, 14.04.13 6/27 Bernhard Beckert – Formal Specification and Verification of Voting Software

  10. Formal Specification and Verification Why? Better Understanding of System’s Properties classical science THEORY EXPERIMENT computational science Specification and Verification Information-flow Single Transferable Vote @CADE ComSoC, 14.04.13 6/27 Bernhard Beckert – Formal Specification and Verification of Voting Software

  11. Formal Specification and Verification Why? Better Understanding of System’s Properties classical science THEORY EXPERIMENT computational science SIMULATION Specification and Verification Information-flow Single Transferable Vote @CADE ComSoC, 14.04.13 6/27 Bernhard Beckert – Formal Specification and Verification of Voting Software

  12. Formal Specification and Verification Why? Better Understanding of System’s Properties classical science THEORY EXPERIMENT computational science AUTOMATED SIMULATION REASONING Specification and Verification Information-flow Single Transferable Vote @CADE ComSoC, 14.04.13 6/27 Bernhard Beckert – Formal Specification and Verification of Voting Software

  13. Formal Specification and Verification Specification may be Declarative or Algorithmic Specification and Verification Information-flow Single Transferable Vote @CADE ComSoC, 14.04.13 7/27 Bernhard Beckert – Formal Specification and Verification of Voting Software

  14. Formal Specification and Verification Specification may be Declarative or Algorithmic Algorithmic Specification and Verification Information-flow Single Transferable Vote @CADE ComSoC, 14.04.13 7/27 Bernhard Beckert – Formal Specification and Verification of Voting Software

  15. Formal Specification and Verification Specification may be Declarative or Algorithmic Algorithmic Declarative F = N ! Specification and Verification Information-flow Single Transferable Vote @CADE ComSoC, 14.04.13 7/27 Bernhard Beckert – Formal Specification and Verification of Voting Software

  16. Formal Specification and Verification It is important to know . . . What System Vote casting Vote counting Vote transmission Result verification What Specification Functional Resources Security . . . What Level of Abstraction Declarative description Abstract automaton Abstract algorithm / Implementation flow chart Specification and Verification Information-flow Single Transferable Vote @CADE ComSoC, 14.04.13 8/27 Bernhard Beckert – Formal Specification and Verification of Voting Software

  17. Formal Specification and Verification It is important to know . . . What System Vote casting Vote counting Vote transmission Result verification What Specification Functional Resources Security . . . What Level of Abstraction Declarative description Abstract automaton Abstract algorithm / Implementation flow chart Specification and Verification Information-flow Single Transferable Vote @CADE ComSoC, 14.04.13 8/27 Bernhard Beckert – Formal Specification and Verification of Voting Software

  18. Formal Specification and Verification It is important to know . . . What System Vote casting Vote counting Vote transmission Result verification What Specification Functional Resources Security . . . What Level of Abstraction Declarative description Abstract automaton Abstract algorithm / Implementation flow chart Specification and Verification Information-flow Single Transferable Vote @CADE ComSoC, 14.04.13 8/27 Bernhard Beckert – Formal Specification and Verification of Voting Software

  19. VERIFYING INFORMATION-FLOW PROPERTIES Joint work with Daniel Bruns, Christoph Scheben, Peter H. Schmitt Karlsruhe Institute of Technology (KeY Tool) Ralf K¨ usters, Thomas Truderung University of Trier J¨ urgen Graf Karlsruhe Institute of Technology (Joanna Tool)

  20. System, Specification, Abstraction Level System Part of simple e-voting system Transfer of vote from client to server, computation of result by server Specification Nothing can be learned about votes except the result Abstraction Level System: Implementation in Java Specification: Java Modelling Language Specification and Verification Information-flow Single Transferable Vote @CADE ComSoC, 14.04.13 10/27 Bernhard Beckert – Formal Specification and Verification of Voting Software

  21. System, Specification, Abstraction Level System Part of simple e-voting system Transfer of vote from client to server, computation of result by server Specification Nothing can be learned about votes except the result Abstraction Level System: Implementation in Java Specification: Java Modelling Language Specification and Verification Information-flow Single Transferable Vote @CADE ComSoC, 14.04.13 10/27 Bernhard Beckert – Formal Specification and Verification of Voting Software

  22. System, Specification, Abstraction Level System Part of simple e-voting system Transfer of vote from client to server, computation of result by server Specification Nothing can be learned about votes except the result Abstraction Level System: Implementation in Java Specification: Java Modelling Language Specification and Verification Information-flow Single Transferable Vote @CADE ComSoC, 14.04.13 10/27 Bernhard Beckert – Formal Specification and Verification of Voting Software

  23. KeY Project Deductive Program Verification Java Specification: Java Modeling Language Source-code level www.key-project.org KeY Tool Deductive rules for all Java features Sequent calculus for Dynamic Logic 100% Java Card High degree of automation / usability > 10 , 000 LOC / expert year Specification and Verification Information-flow Single Transferable Vote @CADE ComSoC, 14.04.13 11/27 Bernhard Beckert – Formal Specification and Verification of Voting Software

  24. KeY Project Deductive Program Verification Java Specification: Java Modeling Language Source-code level www.key-project.org KeY Tool Deductive rules for all Java features Sequent calculus for Dynamic Logic 100% Java Card High degree of automation / usability > 10 , 000 LOC / expert year Specification and Verification Information-flow Single Transferable Vote @CADE ComSoC, 14.04.13 11/27 Bernhard Beckert – Formal Specification and Verification of Voting Software

  25. KeY Project Deductive Program Verification Java Specification: Java Modeling Language Source-code level www.key-project.org KeY Tool Deductive rules for all Java features Sequent calculus for Dynamic Logic 100% Java Card High degree of automation / usability > 10 , 000 LOC / expert year Specification and Verification Information-flow Single Transferable Vote @CADE ComSoC, 14.04.13 11/27 Bernhard Beckert – Formal Specification and Verification of Voting Software

Recommend


More recommend