Advanced Network Security
- 1. Course Outline
Advanced Network Security 1. Course Outline Jaap-Henk Hoepman - - PowerPoint PPT Presentation
Advanced Network Security 1. Course Outline Jaap-Henk Hoepman Digital Security (DS) Radboud University Nijmegen, the Netherlands @xotoxot // * jhh@cs.ru.nl // 8 www.cs.ru.nl/~jhh About me Jaap-Henk Hoepman // Radboud University Nijmegen //
Advanced Network Security
About me
28-01-2019 // Course outline 2About you
28-01-2019 // Course outline 3 Applied cryptography?Administrative details
n Course code:Schedule: see website
28-01-2019 // Course outline 5Rough lecture setup
n Several papers per lectureCourse contents
7Advanced Network Security
n Two quite separate and distinct partsCIA Availability
28-01-2019 // Course outline 8Distributed algorithms
28-01-2019 // Course outline 9Fault tolerance: Consensus
28-01-2019 // Course outline 10Consensus
n How could you solve it? 28-01-2019 // Course outline 12Fault tolerance: self stabilisation
28-01-2019 // Course outline 13Self-stabilisation
n How could it be achieved? 28-01-2019 // Course outline 14Meta-knowledge
n Distributed algorithmsQuestions? If not, let’s hit the road!
28-01-2019 // Course outline 16 twitter: @xotoxot 8 blog.xot.nl * jhh@cs.ru.nl 8 www.cs.ru.nl/~jhhBasics of distributed algorithms
Distributed algorithms are everywhere!
n Computer networksA distributed system has concurrency
n Several processesConcurrency: a basic example
28-01-2019 // Course outline 20 i := 1, j := 0, thread i := 2 end thread; thread j := i end thread; print jA basic example: answer
n 0 n 1 n 2 28-01-2019 // Course outline 21 i := 1, j := 0, thread i := 2 end thread; thread j := i end thread; print jA slightly more complex example
n Again, what will be the output of this program? 28-01-2019 // Course outline 22 i := 1, j := 0, thread i := 2; print j end thread; thread j := i; print j end thread;A slightly more complex example: answer
n 2 2 n 0 2 n 1 1 n 0 1??# ?
e- innen? ,„ + nu;?
}
} }
Er?
Indivisibility of events/atomicity
n If j:=i and print j are ‘indivisible’O
tj :
1 1-print ;Äj
i - c- prints.É
→ c- i. =LWhat about infinite executions?
n Possible outputs: 28-01-2019 // Course outline 25 i := 0; thread while i == 0 do print i ; print i end thread; thread i := 1 end thread; Note: indentation! 11 1 611 01 0011 001 00011 000 1Scheduling
n Scheduler determines next action to be executedNon determinism vs randomness
Non-deterministic Random 28-01-2019 // Course outline 27 i := 0, thread while i == 0 do print i; print i thread i := 1 Possible outputs: 1 01 001 0001 00001 i := 0, while i == 0 do i := random(0,1) ; print i We cannot say anything about likelihood! Possible outputs: 1 p = 0.5 01 p = 0.25 001 p = 0.125 0001 p = 0.063 00001 p = 0.031Modelling a distributed system
n Node (aka process)Some common topologies
28-01-2019 // Course outline 29ü:
:
in
)
ircompletely
a connected STAR( no
/ l
I
I
it
\
A
in
° .try
broadcastCausality: Ordering events
n Let , be the set of events, and let -, . ∈ , be events n Define the ‘happened before’ relation - → . as follows .ftp.nnti-lhodeb
: 1- te 2-1 1- r 1-1 ⑨ →Execution
n When we run a distributed system, the nodes execute theirState, configuration, evolution
n Every node has a local state n Every edge has also a stateExecution, evolution
n A node 9 may have 0 or more actions enabledExecution, evolution (continued)
n If we want to prove property P about a distributed system, we need to prove P for all possible executions.Exploiting causality
n The happens before relation → (i.e. causality) restricts the set of possible executions n Designing a distributed system that satisfies or reaches a certain property means we have to use the design to shape the → relation so it ensures this property is acheived n Example: how to guarantee message delivery? 28-01-2019 // Course outline 35= 3-2-2020
Guaranteeing message delivery
28-01-2019 // Course outline 36÷ :
Ë
"
Én
t
:3
Én
Atomicity
n So far we have assumed events are instantaneousgft
1- 1
1=1
|
"¥-4
'I
I
a ⇒ b b ⇒ aBack to slightly more complex example
n Serialisationtestes
→ reed"
%
"(
teIII]?
" """"
return b1*-1+11
taslb)Logical clocks (Lamport paper): model
n Goal=)
Logical clocks (Lamport paper)
n ImplementationCommunication
n Shared memory# # ← ÷
;
send ( 3) Senda ) Senda )( receive
3 receive 2 receive IProperties of distributed systems
n CommunicationReasoning about distributed systems
n Prove global property based on local actions n Measure the cost of achieving thisRound complexity
n RoundRound complexity
n Round