Network Protocols Abstractions of communication between two processes over a network Define message formats Define legitimate sequence of messages Take care of physical details of
Trang 1Network Protocols
Network Systems Security
Mort Anvari
Trang 2Network Protocols
Abstractions of communication between two processes over a network
Define message formats
Define legitimate sequence of messages
Take care of physical details of different network hardware and machines
Separate tasks in complex
Trang 3Protocol Layering
Many problems need to be solved in a communication network
These problems can be divided into
smaller sets and different protocols
are designed for each set of problem
Protocols can be organized into layers
to keep them easy to manage
Trang 4Properties of Protocol
Layer
independent of functions of other
Trang 5Protocol Stack: OSI Model
Application Presentation Session Transport Network Data link Physical
Trang 6Communicating End Hosts
Network Data link Physical
Route r
Trang 7 It is desirable to verify that a
protocol can correctly perform
functions that it was designed for
Particularly important for security protocols
Trang 9Shortcomings of Plain English
Ambiguity
Different words can have similar meanings
process p sends message m to process q
process p transmits message m to process q process p forwards message m to process q process p delivers message m to process q
Same word can have different meanings
process p sends message m to process q
process p sends file f to process q
Trang 10Shortcoming of Time Chart
Not scalable
Many legitimate sequences of messages
Cannot list all possible legitimate sequences when the number of sequences grows
exponentially
Trang 11Shortcoming of Using
Programming Language
Hard to prove correctness of protocol
specification
For example, protocol specified in C
language may involve overlap, and may involve transmission delay
Trang 13authentication protocols and
uncover various protocol
weaknesses
Trang 14Logical Constructs
Assume P and Q are network agents, X is a message,
and K is an encryption key
P believes X: P acts as if X is true, and may assert X in
other messages
P has jurisdiction over X: P's beliefs about X should
be trusted
P said X: At one time, P transmitted (and believed)
message X, although P might no longer believe X
P sees X: P receives message X, and can read and
repeat X
Trang 15 If P believes that Q said <X, Y>, the
concatenation of X and Y, then P also believes that Q said X, and P also
Trang 16Shortcomings of BAN Logic
High level of abstraction
Need for a protocol idealization step, in which user is required to transform each message in a
protocol into formulas
Can only verify a round everytime
Trang 17Abstract Protocol Notation
Presented by Mohamed Gouda in the
book Elements of Network Protocol
Design
Formal and scalable
Proof of correctness of protocol
specification can be easily done using state transition diagram
Trang 19<name of input> : <type of input>
var <name of variable> : <type of variable>
Trang 20Action Execution
Specified as <guard> -> <statement>
Satisfy three conditions
executed one at a time; one action cannot start while another action execution is in progress
Trang 21State Transition Diagram
Define semantic of a protocol
State is defined by a value for each
variable in protocol and by a message set for each channel in protocol
Transition is movement from current state to next state triggered by an
action execution
Trang 22Adversary Model
Adversary can change contents of protocol channels by executing the following actions a finite number of times
Message loss: lose an original message
Message modification: modify the field of an
original message to cause a modified message
Message replay: replace an original message by
another original message to cause a replayed
Trang 23Prove Correctness of Secure
Protocol
Execution of adversary actions may lead the protocol to a bad state
Protocol is said to be correct if it
converges to its good cycle in a finite
number of steps after adversary finishes executing its actions