internet security csce 813 communicating sequential processes

27
Internet Security Internet Security CSCE 813 CSCE 813 Communicating Sequential Communicating Sequential Processes Processes

Upload: fraley

Post on 19-Feb-2016

39 views

Category:

Documents


0 download

DESCRIPTION

Internet Security CSCE 813 Communicating Sequential Processes. Project. Related Work Need to know by now: 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? - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Internet Security  CSCE 813 Communicating Sequential Processes

Internet Security Internet Security CSCE 813CSCE 813

Communicating Sequential Communicating Sequential ProcessesProcesses

Page 2: Internet Security  CSCE 813 Communicating Sequential Processes

CSCE 813 - Farkas 2

ProjectProject Related Work Need to know by now:

– 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?

Page 3: Internet Security  CSCE 813 Communicating Sequential Processes

CSCE 813 - Farkas 3

Related WorkRelated Work

Format:1. Problem Overview2. Related work

2.1 Research on problem domain2.2 Research on specific problem2.3 Limitation of existing research

References

Page 4: Internet Security  CSCE 813 Communicating Sequential Processes

CSCE 813 - Farkas 4

Related WorkRelated WorkOrganize existing work into categories, e.g.,

on what specific problem they solve, what is the nature of the proposed solution, etc.

Don’t just list the different papers in a sequential order!

Briefly explain what problems they address and what the main contributions are.

Be critical!

Page 5: Internet Security  CSCE 813 Communicating Sequential Processes

CSCE 813 - Farkas 5

ReferencesReferences 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/BibliographyFormat/Bibliography%20Format.htm for more formatting on references

Page 6: Internet Security  CSCE 813 Communicating Sequential Processes

Back to CSPBack to CSP

Page 7: Internet Security  CSCE 813 Communicating Sequential Processes

CSCE 813 - Farkas 7

ReadingReading

Today: – Modelling and analysis of security protocols:

Chapter 1

Next Class: – Modelling and analysis of security protocols:

Chapter 1 and 2

Page 8: Internet Security  CSCE 813 Communicating Sequential Processes

CSCE 813 - Farkas 8

CSP ObjectivesCSP Objectives

Model dynamicsModel and analyze concurrency

– E.g., calculation intensive systems, distributed applications

Support parallelism

Page 9: Internet Security  CSCE 813 Communicating Sequential Processes

CSCE 813 - Farkas 9

PrefixPrefix

Offering a single actionOffering 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)

Page 10: Internet Security  CSCE 813 Communicating Sequential Processes

CSCE 813 - Farkas 10

Choice OperatorChoice Operator Choice operator:

– Gives the option between the actions of two processes then

– Behaves like the one chosen Revisit: if A = B C then

?x : A → P(x) = (?x : B → P(x)) (?x : C → Q(x) )

If B and C are disjoint: together they give all the choices in A

What happens if B and C overlap?

Page 11: Internet Security  CSCE 813 Communicating Sequential Processes

CSCE 813 - Farkas 11

Non-Deterministic Non-Deterministic ChoiceChoice

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)) Useful for model degree of unpredictability, like

communication medium that transmits data correctly or loose it.

Page 12: Internet Security  CSCE 813 Communicating Sequential Processes

CSCE 813 - Farkas 12

Time-Based ChoiceTime-Based Choice

P t Q– Chose choices offered by P for t time units and – If nothing is chosen, it behaves like Q

Similar traces than other choice if no time is recorded

Can be P Q where t is non-deterministic

Page 13: Internet Security  CSCE 813 Communicating Sequential Processes

CSCE 813 - Farkas 13

Conditional ChoiceConditional Choice If-then-else Choice is based on condition

– if b then P else Q Example:

FW(s) = in?x → (if valid(x,s) then out!x → FW(newstate(s,x)) else FW(newstate(s,x)) )

Revisit non-deterministic machine:NDM = in?x → (NDM out!x → NDM)

Page 14: Internet Security  CSCE 813 Communicating Sequential Processes

CSCE 813 - Farkas 14

Parallel OperatorsParallel OperatorsPut sequential processes parallelSystem state: state of each component

– Number of possible states increases exponentially with the size of the network

How to put processes together for parallel network?

How to check whether such a network satisfies a specification?

Page 15: Internet Security  CSCE 813 Communicating Sequential Processes

CSCE 813 - Farkas 15

Parallel CombinationParallel Combination

Just an other process to which any of the previous operators can be applied.

Each parallel process is equivalent to a sequential one (with infeasibly large number of states)

CSP processes influence each other by affecting what communications they can perform.

Page 16: Internet Security  CSCE 813 Communicating Sequential Processes

CSCE 813 - Farkas 16

Parallel CombinationParallel Combination

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))

Page 17: Internet Security  CSCE 813 Communicating Sequential Processes

CSCE 813 - Farkas 17

Parallel CombinationsParallel Combinations

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

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))

Page 18: Internet Security  CSCE 813 Communicating Sequential Processes

CSCE 813 - Farkas 18

General InterleavingGeneral Interleaving

P ||| Q when P ||Ø QP and Q use disjoint sets of events

Page 19: Internet Security  CSCE 813 Communicating Sequential Processes

CSCE 813 - Farkas 19

Alphabet ControlledAlphabet Controlled

P X ||Y QEach process is given control of a particular

set of eventsNo process is ever permitted to

communicate outside of its own alphabetInterface between two processes:

intersection of their alphabet

Page 20: Internet Security  CSCE 813 Communicating Sequential Processes

CSCE 813 - Farkas 20

Use of Parallel Use of Parallel OperatorsOperators

Achieve a particular overall behaviorFor 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

Page 21: Internet Security  CSCE 813 Communicating Sequential Processes

CSCE 813 - Farkas 21

Hiding and RenamingHiding and Renaming 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) 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

Page 22: Internet Security  CSCE 813 Communicating Sequential Processes

CSCE 813 - Farkas 22

Additional operatorsAdditional operators Sequential composition P ; Q

– Does whatever P does until terminates and then does what Q does

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

Page 23: Internet Security  CSCE 813 Communicating Sequential Processes

CSCE 813 - Farkas 23

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

Page 24: Internet Security  CSCE 813 Communicating Sequential Processes

CSCE 813 - Farkas 24

CSP OperatorsCSP OperatorsP \ X event hidingP[[R]] process relation

renamingSkip successful terminationP ; Q sequential composition

Page 25: Internet Security  CSCE 813 Communicating Sequential Processes

CSCE 813 - Farkas 25

Process BehaviorProcess Behavior Concurrent processes may lead to: Deadlock: each process is willing to do something

but the entire system cannot agree on any action Livelock: infinite sequence of internal (hidden)

communication occur between the components. Similar external appearance to deadlock

Non-determinism: both processes P1 and p2 are willing to talk to a third one Q which has to make a choice.

Page 26: Internet Security  CSCE 813 Communicating Sequential Processes

CSCE 813 - Farkas 26

TracesTraces Sequences of visible events until an arbitrary finite

time 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)

We can calculate traces(P) for any CSP P

Page 27: Internet Security  CSCE 813 Communicating Sequential Processes

CSCE 813 - Farkas 27

Next Class: Next Class: Modeling security protocols in CSPModeling security protocols in CSP