8-1
Network Security
All material copyright 1996-2012
J.F Kurose and K.W. Ross, All Rights Reserved
George Parisis
School of Engineering and Informatics
University of Sussex
8-2 Network Security
Network Security
v What is network security?
v Principles of cryptography
v Message integrity, authentication
v Securing e-mail
v Securing TCP connections: SSL
v Network layer security: IPsec
v Operational security: firewalls and IDS
8-3 Network Security
Message digests
computationally
expensive to public-
key-encrypt long
messages
goal: fixed-length, easy-
to-compute digital
“fingerprint”
v apply hash function H to
m, get fixed size
message digest, H(m).
Hash function properties:
v produces fixed-size msg
digest (fingerprint)
v given message digest x,
computationally infeasible
to find m such that x =
H(m)
large
message
m
H: Hash
Function
H(m)
8-4 Network Security
Internet checksum: poor crypto hash
function
Internet checksum has some properties of hash function:
➼ produces fixed length digest (16-bit sum) of message
➼ is many-to-one
But given message with given hash value, it is easy to find
another message with same hash value:
I O U 1
0 0 . 9
9 B O B
49 4F 55 31
30 30 2E 39
39 42 D2 42
message ASCII format
B2 C1 D2 AC
I O U 9
0 0 . 1
9 B O B
49 4F 55 39
30 30 2E 31
39 42 D2 42
message ASCII format
B2 C1 D2 AC different messages
but identical checksums!
8-5 Network Security
Hash function algorithms
v MD5 hash function widely used (RFC 1321)
§ computes 128-bit message digest in 4-step process.
§ arbitrary 128-bit string x, appears difficult to construct
msg m whose MD5 hash is equal to x
v SHA-1 is also used
§ US standard [NIST, FIPS PUB 180-1]
§ 160-bit message digest
8-6
Secrecy and Integrity (and
authenticity)
• Alice and Bob share a secret key KAB
• Alice uses KAB and an agreed encryption function E(KAB, M) to encrypt and
send any number of messages {Mi}KAB to Bob
• Bob reads the encrypted messages using the decryption function D(KAB, M)
• Alice and Bob can go on using KAB as long as it is safe to assume that the
key has not been compromised
If the decrypted message makes sense (what does that mean?) then Bob
knows that the message is from Alice and that it hasn’t been tampered with
• Each message can contain an agreed value
• It makes sense if this value is in the message – what value to use?
8-7
Secrecy and Integrity (and
authenticity)
• Alice can include a Message Authentication Code (MAC) in the plaintext
• A MAC can be the result of applying a secure hash function to the message
• Computationally infeasible to construct another message which, when
decrypted, will contain the same MAC
• Bob verifies that the MAC is correct by applying the same hash function to
the decrypted message
Bob can infer that the sender of the message possessed the corresponding
encryption key and hence deduce the identity of the sender if the key is known
only to two parties
• Message integrity is also preserved
8-8 Network Security
Authentication
Goal: Bob wants Alice to “prove” her identity to
him
Protocol ap1.0: Alice says “I am Alice”
Failure scenario??
“I am Alice”
8-9 Network Security
in a network,
Bob can not “see” Alice,
so Trudy simply declares
herself to be Alice “I am Alice”
Authentication
Goal: Bob wants Alice to “prove” her identity to
him
Protocol ap1.0: Alice says “I am Alice”
8-10 Network Security
Authentication: another try
Protocol ap2.0: Alice says “I am Alice” in an IP packet
containing her source IP address
Failure scenario??
“I am Alice”
Alice’s
IP address
8-11 Network Security
Trudy can create
a packet
“spoofing”
Alice’s address “I am Alice”
Alice’s
IP address
Authentication: another try
Protocol ap2.0: Alice says “I am Alice” in an IP packet
containing her source IP address
8-12 Network Security
Protocol ap3.0: Alice says “I am Alice” and sends her
secret password to “prove” it.
Failure scenario??
“I’m Alice” Alice’s
IP addr
Alice’s
password
OK Alice’s
IP addr
Authentication: another try
8-13 Network Security
playback attack: Trudy
records Alice’s packet
and later
plays it back to Bob
“I’m Alice” Alice’s
IP addr
Alice’s
password
OK Alice’s
IP addr
“I’m Alice” Alice’s
IP addr
Alice’s
password
Protocol ap3.0: Alice says “I am Alice” and sends her
secret password to “prove” it.
Authentication: another try
8-14 Network Security
Authentication: yet another try
Protocol ap3.1: Alice says “I am Alice” and sends her
encrypted secret password to “prove” it.
Failure scenario??
“I’m Alice” Alice’s
IP addr
encrypted
password
OK Alice’s
IP addr
8-15 Network Security
record
and
playback
still works!
“I’m Alice” Alice’s
IP addr
encrypted
password
OK Alice’s
IP addr
“I’m Alice” Alice’s
IP addr
encrypted
password
Authentication: yet another try
Protocol ap3.1: Alice says “I am Alice” and sends her
encrypted secret password to “prove” it.
8-16 Network Security
Goal: avoid playback attack
Failures, drawbacks?
nonce: number (R) used only once-in-a-lifetime
ap4.0: to prove Alice “live”, Bob sends Alice nonce,
R. Alice
must return R, encrypted with shared secret key
“I am Alice”
R
K (R) A-B
Alice is live, and
only Alice knows
key to encrypt
nonce, so it must
be Alice!
Authentication: yet another try
8-17 Network Security
Authentication: ap5.0
ap4.0 requires shared symmetric key
v can we authenticate using public key techniques?
ap5.0: use nonce, public key cryptography
“I am Alice”
R
Bob computes
K (R) A
–
“send me your public key”
K A
+
(K (R)) = R A
–
K A
+
and knows only Alice
could have the private
key, that encrypted R
such that
(K (R)) = R A
–
K A
+
8-18 Network Security
ap5.0: security
hole
man (or woman) in the middle attack: Trudy poses as
Alice (to Bob) and as Bob (to Alice)
I am Alice I am Alice
R
T
K (R)
–
Send me your public key
T
K
+
A
K (R)
–
Send me your public key
A
K +
T K (m)
+
T
m = K (K (m)) +
T
–
Trudy gets
sends m to Alice
encrypted with
Alice’s public key
A K (m)
+
A
m = K (K (m)) +
A
–
R
8-19 Network Security
difficult to detect:
v Bob receives everything that Alice sends, and vice
versa. (e.g., so Bob, Alice can meet one week later
and recall conversation!)
v problem is that Trudy receives all messages as well!
ap5.0: security
hole
man (or woman) in the middle attack: Trudy poses as
Alice (to Bob) and as Bob (to Alice)
8-20 Network Security
Digital signatures
cryptographic technique analogous to hand-
written signatures:
v sender (Bob) digitally signs document,
establishing he is document owner/creator.
v verifiable, non-forgeable: recipient (Alice) can
prove to someone that Bob, and no one else
(including Alice), must have signed document
8-21 Network Security
simple digital signature for message m:
v Bob signs m by encrypting with his private key KB,
creating “signed” message, KB(m)
–
–
Dear Alice
Oh, how I have missed
you. I think of you all the
time! …(blah blah blah)
Bob
Bob’s message, m
Public key
encryption
algorithm
Bob’s private
key
K B
–
Bob’s message,
m, signed
(encrypted) with
his private key
m,K B
–
(m)
Digital signatures
8-22 Network Security
–
Alice thus verifies that:
➼ Bob signed m
➼ no one else signed m
➼ Bob signed m and not m‘
non-repudiation:
ü Alice can take m, and signature KB(m) to court
and prove that Bob signed m
–
Digital signatures
v suppose Alice receives msg m, with signature: m, KB(m)
v Alice verifies m signed by Bob by applying Bob’s public
key KB to KB(m) then checks KB(KB(m) ) = m.
v If KB(KB(m) ) = m, whoever signed m must have used
Bob’s private key.
–
– –
+
+ +
8-23 Network Security
large
message
m
H: Hash
function H(m)
digital
signature
(encrypt)
Bob’s
private
key K B
–
+
Bob sends digitally signed
message:
Alice verifies signature,
integrity of digitally signed
message:
KB(H(m))
–
encrypted
msg digest
KB(H(m))
–
encrypted
msg digest
large
message
m
H: Hash
function
H(m)
digital
signature
(decrypt)
H(m)
Bob’s
public
key K B
+
equal
?
Digital signature = signed message
digest
8-24 Network Security
Recall: ap5.0 security
hole
man (or woman) in the middle attack: Trudy poses as
Alice (to Bob) and as Bob (to Alice)
I am Alice I am Alice
R
T
K (R)
–
Send me your public key
T
K
+
A
K (R)
–
Send me your public key
A
K +
T K (m)
+
T
m = K (K (m)) +
T
–
Trudy gets
sends m to Alice
encrypted with
Alice’s public key
A K (m)
+
A
m = K (K (m)) +
A
–
R
8-25 Network Security
Public-key certification
v motivation: Trudy plays pizza prank on Bob
§ Trudy creates e-mail order:
Dear Pizza Store, Please deliver to me four
pepperoni pizzas. Thank you, Bob
§ Trudy signs order with her private key
§ Trudy sends order to Pizza Store
§ Trudy sends to Pizza Store her public key, but
says it’s Bob’s public key
§ Pizza Store verifies signature; then delivers four
pepperoni pizzas to Bob
§ Bob doesn’t even like pepperoni
8-26 Network Security
Certification authorities
v certification authority (CA): binds public key to
particular entity, E.
v E (person, router) registers its public key with CA.
§ E provides “proof of identity” to CA.
§ CA creates certificate binding E to its public key.
§ certificate containing E’s public key digitally signed by CA –
CA says “this is E’s public key”
Bob’s
public
key K B
+
Bob’s
identifying
information
digital
signature
(encrypt)
CA
private
key K CA
–
K B
+
certificate for
Bob’s public key,
signed by CA
8-27 Network Security
v when Alice wants Bob’s public key:
§ gets Bob’s certificate (Bob or elsewhere).
§ apply CA’s public key to Bob’s certificate, get
Bob’s public key
Bob’s
public
key K B
+
digital
signature
(decrypt)
CA
public
key
K CA
+
K B
+
Certification authorities
8-28 Network Security
Network Security (summary)
basic techniques……
§ message integrity
§ end-point authentication