Towards Model Checking of Voting Protocols in Uppaal Wojciech - - PowerPoint PPT Presentation

towards model checking of voting protocols in uppaal
SMART_READER_LITE
LIVE PREVIEW

Towards Model Checking of Voting Protocols in Uppaal Wojciech - - PowerPoint PPT Presentation

Introduction Uppaal Pr et ` a Voter Demo Towards Model Checking of Voting Protocols in Uppaal Wojciech Jamroga, Peter Y. A. Ryan, Damian Kurpiewski, Yan Kim October 1, 2020 W.Jamroga, P.Y.A.Ryan, D.Kurpierwski, Y.Kim Towards Model


slide-1
SLIDE 1

Introduction Uppaal Prˆ et ` a Voter Demo

Towards Model Checking of Voting Protocols in Uppaal

Wojciech Jamroga, Peter Y. A. Ryan, Damian Kurpiewski, Yan Kim October 1, 2020

W.Jamroga, P.Y.A.Ryan, D.Kurpierwski, Y.Kim Towards Model Checking of Voting Protocols in Uppaal

slide-2
SLIDE 2
slide-3
SLIDE 3

Introduction Uppaal Prˆ et ` a Voter Demo W.Jamroga, P.Y.A.Ryan, D.Kurpierwski, Y.Kim Towards Model Checking of Voting Protocols in Uppaal

slide-4
SLIDE 4

Introduction Uppaal Prˆ et ` a Voter Demo W.Jamroga, P.Y.A.Ryan, D.Kurpierwski, Y.Kim Towards Model Checking of Voting Protocols in Uppaal

slide-5
SLIDE 5

Introduction Uppaal Prˆ et ` a Voter Demo W.Jamroga, P.Y.A.Ryan, D.Kurpierwski, Y.Kim Towards Model Checking of Voting Protocols in Uppaal

slide-6
SLIDE 6

Introduction Uppaal Prˆ et ` a Voter Demo

Modelling in Uppaal

An Uppaal model is a set of concurrent processes. Processes are instantiated of templates, each possibly having a list

  • f parameters.

Templates allow to define a large number of almost identical processes.

W.Jamroga, P.Y.A.Ryan, D.Kurpierwski, Y.Kim Towards Model Checking of Voting Protocols in Uppaal

slide-7
SLIDE 7

Introduction Uppaal Prˆ et ` a Voter Demo

Nodes (locations)

Depicted by circles and represent a local state of module. Can be annotated by name label (unique within a template). Initial nodes are marked by double circle. Committed nodes are marked by circled C.

W.Jamroga, P.Y.A.Ryan, D.Kurpierwski, Y.Kim Towards Model Checking of Voting Protocols in Uppaal

slide-8
SLIDE 8

Introduction Uppaal Prˆ et ` a Voter Demo

Edges

Define the local transitions in the module. Can be annotated by: selection guard synchronization update

W.Jamroga, P.Y.A.Ryan, D.Kurpierwski, Y.Kim Towards Model Checking of Voting Protocols in Uppaal

slide-9
SLIDE 9

Introduction Uppaal Prˆ et ` a Voter Demo

Selection&Update example

Selection binds the identifier (on the left) to a value from a given range (on the right) in a non-deterministic way. Update expression is evaluated when transition is taken. ≈

W.Jamroga, P.Y.A.Ryan, D.Kurpierwski, Y.Kim Towards Model Checking of Voting Protocols in Uppaal

slide-10
SLIDE 10

Introduction Uppaal Prˆ et ` a Voter Demo

Guard example

Guard enables the the transition if and only if the guard condition evaluates to True.

W.Jamroga, P.Y.A.Ryan, D.Kurpierwski, Y.Kim Towards Model Checking of Voting Protocols in Uppaal

slide-11
SLIDE 11

Introduction Uppaal Prˆ et ` a Voter Demo

Synchronization example

Synchronization allows two or more processes to synchronize over a common channel. In order to pass value over a channel, one has to use shared global variables for transmission. Sender Receiver

W.Jamroga, P.Y.A.Ryan, D.Kurpierwski, Y.Kim Towards Model Checking of Voting Protocols in Uppaal

slide-12
SLIDE 12

Introduction Uppaal Prˆ et ` a Voter Demo

Specification syntax

Supported properties: Possibly: E<>p Invariantly: A[]p Potentially always: E[]p Eventually: A<>p Leads To: p-->q (= A[](p imply A<>q) )

W.Jamroga, P.Y.A.Ryan, D.Kurpierwski, Y.Kim Towards Model Checking of Voting Protocols in Uppaal

slide-13
SLIDE 13

Introduction Uppaal Prˆ et ` a Voter Demo

Voter verifiable system

Common scenario: at the time of casting an encr./enc. of the vote is created and posted to a secure public BB voter can later check that her encr. ballot appears correctly set of posted ballots are then processed (in some verifiable way) to reveal the tally or outcome

W.Jamroga, P.Y.A.Ryan, D.Kurpierwski, Y.Kim Towards Model Checking of Voting Protocols in Uppaal

slide-14
SLIDE 14

Introduction Uppaal Prˆ et ` a Voter Demo

Voter verifiable system

Common scenario: at the time of casting an encr./enc. of the vote is created and posted to a secure public BB voter can later check that her encr. ballot appears correctly set of posted ballots are then processed (in some verifiable way) to reveal the tally or outcome Challenge: assurance of the accurate outcome avoid introducing any coercion threats

W.Jamroga, P.Y.A.Ryan, D.Kurpierwski, Y.Kim Towards Model Checking of Voting Protocols in Uppaal

slide-15
SLIDE 15

Introduction Uppaal Prˆ et ` a Voter Demo

Ballot form

W.Jamroga, P.Y.A.Ryan, D.Kurpierwski, Y.Kim Towards Model Checking of Voting Protocols in Uppaal

slide-16
SLIDE 16

Introduction Uppaal Prˆ et ` a Voter Demo

Ballot form

W.Jamroga, P.Y.A.Ryan, D.Kurpierwski, Y.Kim Towards Model Checking of Voting Protocols in Uppaal

slide-17
SLIDE 17

Introduction Uppaal Prˆ et ` a Voter Demo

Ballot form

W.Jamroga, P.Y.A.Ryan, D.Kurpierwski, Y.Kim Towards Model Checking of Voting Protocols in Uppaal

slide-18
SLIDE 18

Introduction Uppaal Prˆ et ` a Voter Demo

Presentation of the model in Uppaal

W.Jamroga, P.Y.A.Ryan, D.Kurpierwski, Y.Kim Towards Model Checking of Voting Protocols in Uppaal

slide-19
SLIDE 19

Introduction Uppaal Prˆ et ` a Voter Demo

⋯ ⋯ ci ⋯ ⋯

W.Jamroga, P.Y.A.Ryan, D.Kurpierwski, Y.Kim Towards Model Checking of Voting Protocols in Uppaal

slide-20
SLIDE 20

Introduction Uppaal Prˆ et ` a Voter Demo

⋯ ⋯ ci ⋯ ⋯ ↝ ⋯ E(ci) ⋯ (ci)δ ⋯

W.Jamroga, P.Y.A.Ryan, D.Kurpierwski, Y.Kim Towards Model Checking of Voting Protocols in Uppaal

slide-21
SLIDE 21

Introduction Uppaal Prˆ et ` a Voter Demo

⋯ ⋯ ci ⋯ ⋯ ↝ ⋯ E(ci) ⋯ (ci)δ ⋯ ↝ ⋯ mi ⋯ mδ

i

W.Jamroga, P.Y.A.Ryan, D.Kurpierwski, Y.Kim Towards Model Checking of Voting Protocols in Uppaal

slide-22
SLIDE 22

Introduction Uppaal Prˆ et ` a Voter Demo

Thank You for Your time! Q&A

W.Jamroga, P.Y.A.Ryan, D.Kurpierwski, Y.Kim Towards Model Checking of Voting Protocols in Uppaal