Internet Security CSCE 813 Communicating Sequential Processes CSCE

  • Slides: 27
Download presentation
Internet Security CSCE 813 Communicating Sequential Processes CSCE 813 - Farkas

Internet Security CSCE 813 Communicating Sequential Processes CSCE 813 - Farkas

Project Related Work l Need to know by now: l – What is the

Project Related Work l Need to know by now: l – What is the problem domain? – What is the specific problem you’re addressing? – What solutions are out there (if there is any)? – What are the limitations of these solutions? – How your proposed approach overcome some of these limitations? CSCE 813 - Farkas 2

Related Work Format: 1. Problem Overview 2. Related work 2. 1 Research on problem

Related Work Format: 1. Problem Overview 2. Related work 2. 1 Research on problem domain 2. 2 Research on specific problem 2. 3 Limitation of existing research References l CSCE 813 - Farkas 3

Related Work l Organize existing work into categories, e. g. , on what specific

Related Work l Organize existing work into categories, e. g. , on what specific problem they solve, what is the nature of the proposed solution, etc. l Don’t just list the different papers in a sequential order! l Briefly explain what problems they address and what the main contributions are. l Be critical! CSCE 813 - Farkas 4

References l l l Be precise! Use full references, with authors, title, where it

References l l l Be precise! Use full references, with authors, title, where it was published, when, and the page numbers If you supply URLs, list when the URL was downloaded Organize references in alphabetical order Use one of the accepted bibliography format See http: //www. asij. ac. jp/middle/lib/Bibliography. For mat/Bibliography%20 Format. htm for more formatting on references CSCE 813 - Farkas 5

Back to CSP CSCE 813 - Farkas

Back to CSP CSCE 813 - Farkas

Reading l Today: – Modelling and analysis of security protocols: Chapter 1 l Next

Reading l Today: – Modelling and analysis of security protocols: Chapter 1 l Next Class: – Modelling and analysis of security protocols: Chapter 1 and 2 CSCE 813 - Farkas 7

CSP Objectives l Model dynamics l Model and analyze concurrency – E. g. ,

CSP Objectives l Model dynamics l Model and analyze concurrency – E. g. , calculation intensive systems, distributed applications l Support parallelism CSCE 813 - Farkas 8

Prefix l Offering a single action l Offering of choice: any set of visible

Prefix l Offering a single action l Offering of choice: any set of visible actions – If A , ? x : A → P(x) represent all the actions in A – x is the parameter of P -- parameters can be used in events or manipulated – When a A is chosen, it behaves like P(a) CSCE 813 - Farkas 9

Choice Operator Choice operator: – Gives the option between the actions of two processes

Choice Operator Choice operator: – Gives the option between the actions of two processes then – Behaves like the one chosen l Revisit: if A = B C then ? x : A → P(x) = (? x : B → P(x)) (? x : C → Q(x) ) l If B and C are disjoint: together they give all the choices in A l What happens if B and C overlap? l CSCE 813 - Farkas 10

Non-Deterministic Choice l P Q – behaves like P or like Q – User

Non-Deterministic Choice l P Q – behaves like P or like Q – User has no control over which – Can be implemented using two internal actions – Implementer is not required to implement this way (can choose either P or Q or (P or Q)) l Useful for model degree of unpredictability, like communication medium that transmits data correctly or loose it. CSCE 813 - Farkas 11

Time-Based Choice l. P t Q – Chose choices offered by P for t

Time-Based Choice l. P t Q – Chose choices offered by P for t time units and – If nothing is chosen, it behaves like Q l Similar traces than other choice if no time is recorded l Can be P Q where t is non-deterministic CSCE 813 - Farkas 12

Conditional Choice If-then-else l Choice is based on condition l – if b then

Conditional Choice If-then-else l Choice is based on condition l – if b then P else Q l Example: FW(s) = in? x → (if valid(x, s) then out!x → FW(newstate(s, x)) else FW(newstate(s, x)) ) l Revisit non-deterministic machine: NDM = in? x → (NDM out!x → NDM) CSCE 813 - Farkas 13

Parallel Operators l Put sequential processes parallel l System state: state of each component

Parallel Operators l Put sequential processes parallel l System state: state of each component – Number of possible states increases exponentially with the size of the network l How to put processes together for parallel network? l How to check whether such a network satisfies a specification? CSCE 813 - Farkas 14

Parallel Combination l Just an other process to which any of the previous operators

Parallel Combination l Just an other process to which any of the previous operators can be applied. l Each parallel process is equivalent to a sequential one (with infeasibly large number of states) l CSP processes influence each other by affecting what communications they can perform. CSCE 813 - Farkas 15

Parallel Combination l Synchronize all visible actions – P || Q can perform a

Parallel Combination l Synchronize all visible actions – P || Q can perform a only when P and Q can – (? x : A → P(x)) || (? x : B → Q(x)) = ? x : A B → (P(x) || Q(x)) CSCE 813 - Farkas 16

Parallel Combinations l Interfaces parallel operator: P ||X Q – Synchronize all events in

Parallel Combinations l Interfaces parallel operator: P ||X Q – Synchronize all events in X l Example: – P = ? x : A → P’(x) – Q = ? x : B → Q’(x) – P ||X Q = ? x : X A B → (P’(x) || Q’(x)) ? x : A X → (P’(x) ||X Q) ? x : B X → (P||X Q’(x)) CSCE 813 - Farkas 17

General Interleaving l. P ||| Q when P ||Ø Q l P and Q

General Interleaving l. P ||| Q when P ||Ø Q l P and Q use disjoint sets of events CSCE 813 - Farkas 18

Alphabet Controlled l P X ||Y Q l Each process is given control of

Alphabet Controlled l P X ||Y Q l Each process is given control of a particular set of events l No process is ever permitted to communicate outside of its own alphabet l Interface between two processes: intersection of their alphabet CSCE 813 - Farkas 19

Use of Parallel Operators l Achieve a particular overall behavior l For example, build

Use of Parallel Operators l Achieve a particular overall behavior l For example, build constraints on traces – P ||X Q, where P is any process, and all Q’s processes belong to X => P is only allowed to do things in X that Q permits. – E. g. , example on page 54 CSCE 813 - Farkas 20

Hiding and Renaming l Hiding: – Internal details are not visible to outsiders –

Hiding and Renaming l Hiding: – Internal details are not visible to outsiders – If X in and P is a process than P X behaves like P but all events in X are hidden (turned into invisible actions) l Renaming: – Alphabet replacement (relation) – P[[R]] behaves like P but all visible events a from P are renamed by whatever R associates a with – Use to make copies – e. g. , P[[a, a/b, c]] – both b and c are mapped to a – e. g. , P[[b, c/a, a]] – both a is mapped to b and c (offers the choice of b and c to the environment but the state after either of these choices is the same CSCE 813 - Farkas 21

Additional operators l Sequential composition P ; Q – Does whatever P does until

Additional operators l Sequential composition P ; Q – Does whatever P does until terminates and then does what Q does l Process Skip : successful termination – Special event: -- always the final event – e. g. , a → – b → Skip, terminates successfully after events a and b e. g. , (a → Skip) ; P same external behavior as a → P CSCE 813 - Farkas 22

CSP Operators l Stop l a→P process does nothing l event prefix choice l

CSP Operators l Stop l a→P process does nothing l event prefix choice l l l ? x: A → P P Q P ||X Q P X ||Y Q choice between two processes nondeterministic choice lockstep parallel interface parallel synchronizing parallel CSCE 813 - Farkas 23

CSP Operators l. P X event hiding l Skip process relation renaming successful termination

CSP Operators l. P X event hiding l Skip process relation renaming successful termination l. P; Q sequential composition l P[[R]] CSCE 813 - Farkas 24

Process Behavior Concurrent processes may lead to: l Deadlock: each process is willing to

Process Behavior Concurrent processes may lead to: l Deadlock: each process is willing to do something but the entire system cannot agree on any action l Livelock: infinite sequence of internal (hidden) communication occur between the components. Similar external appearance to deadlock l Non-determinism: both processes P 1 and p 2 are willing to talk to a third one Q which has to make a choice. l CSCE 813 - Farkas 25

Traces l Sequences of visible events until an arbitrary finite time l E. g.

Traces l Sequences of visible events until an arbitrary finite time l E. g. , – traces(Stop) = { < > } – traces(a → P b → Skip) = { <a > n, <a > n^ <b >, <a > n^ <b, > n in N } Traces model – Nonempty – Prefix closed (if s^t is in trace, so is s) l We can calculate traces(P) for any CSP P l CSCE 813 - Farkas 26

Next Class: Modeling security protocols in CSP CSCE 813 - Farkas 27

Next Class: Modeling security protocols in CSP CSCE 813 - Farkas 27