Authentication
Goal: Bob wants Alice to “prove” her identity
to him
Protocol ap1.0: Alice says “I am Alice”
“I am Alice”
Failure scenario??
Network Security 7-1
Authentication
Goal: Bob wants Alice to “prove” her identity
to him
Protocol ap1.0: Alice says “I am Alice”
in a network,
Bob can not “see”
Alice, so Trudy simply
“I am Alice” declares
herself to be Alice
Network Security 7-2
Authentication: another try
Protocol ap2.0: Alice says “I am Alice” in an IP packet
containing her source IP address
Alice’s
IP address
“I am Alice”
Failure scenario??
Network Security 7-3
Authentication: another try
Protocol ap2.0: Alice says “I am Alice” in an IP packet
containing her source IP address
Trudy can create
a packet
Alice’s
“spoofing”
IP address
“I am Alice” Alice’s address
Network Security 7-4
Authentication: another try
Protocol ap3.0: Alice says “I am Alice” and sends her
secret password to “prove” it.
Alice’s Alice’s
“I’m Alice”
IP addr password
Alice’s Failure scenario??
OK
IP addr
Network Security 7-5
Authentication: another try
Protocol ap3.0: Alice says “I am Alice” and sends her
secret password to “prove” it.
Alice’s Alice’s
“I’m Alice”
IP addr password
playback attack: Trudy
Alice’s records Alice’s packet
OK
IP addr and later
plays it back to Bob
Alice’s Alice’s
“I’m Alice”
IP addr password
Network Security 7-6
Authentication: yet another try
Protocol ap3.1: Alice says “I am Alice” and sends her
encrypted secret password to “prove” it.
Alice’s encrypted
“I’m Alice”
IP addr password
Alice’s Failure scenario??
OK
IP addr
Network Security 7-7
Authentication: another try
Protocol ap3.1: Alice says “I am Alice” and sends her
encrypted secret password to “prove” it.
Alice’s encrypted
“I’m Alice” record
IP addr password
and
Alice’s
OK playback
IP addr
still works!
Alice’s encrypted
“I’m Alice”
IP addr password
Network Security 7-8
Authentication: yet another try
Goal: avoid playback attack
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
KA-B(R) Alice is live, and
only Alice knows
key to encrypt
nonce, so it must
Failures, drawbacks? be Alice!
Network Security 7-9
Authentication: ap5.0
ap4.0 requires shared symmetric key
can we authenticate using public key techniques?
ap5.0: use nonce, public key cryptography
“I am Alice”
Bob computes
R + -
- KA(KA (R)) = R
K A (R) and knows only Alice
“send me your public key”
could have the private
+ key, that encrypted R
KA such that
+ -
K (K (R)) = R
A A
Failures?
Network Security 7-10
ap5.0: security hole
Man (woman) in the middle attack: Trudy poses as
Alice (to Bob) and as Bob (to Alice)
I am Alice I am Alice
R -
K (R)
T
R - Send me your public key
K (R) +
A K
T
Send me your public key
+
K
A +
K (m)
Trudy gets T
- +
+ m = K (K (m))
K (m)
A sends T T Alice
m to
- + ennrypted with
m = K (K (m))
A A Alice’s public key
Network Security 7-11
ap5.0: security hole
Man (woman) in the middle attack: Trudy poses as
Alice (to Bob) and as Bob (to Alice)
Difficult to detect:
Bob receives everything that Alice sends, and vice
versa. (e.g., so Bob, Alice can meet one week later and
recall conversation)
problem is that Trudy receives all messages as well!
Causing:
No reliable authority to distribute public keys
We will discuss how to solve it in web security
Network Security 7-12
Digital Signatures
Cryptographic technique analogous to hand-
written signatures.
sender (Bob) digitally signs document,
establishing he is document owner/creator.
verifiable, nonforgeable: recipient (Alice) can
prove to someone that Bob, and no one else
(including Alice), must have signed document
Network Security 7-13
Digital Signatures
Simple digital signature for message m:
Bob signs m by encrypting with his private key
- -
KB, creating “signed” message, KB(m)
-
Bob’s message, m K B Bob’s private -
K B(m)
key
Dear Alice
Bob’s message, m,
Oh, how I have missed Public key signed (encrypted)
you. I think of you all the
time! …(blah blah blah) encryption with his private key
algorithm
Bob
Network Security 7-14
Digital Signatures (more)
-
Suppose Alice receives msg m, digital signature KB(m)
Alice verifies m signed by Bob by applying Bob’s
+ - + -
public key KB to KB(m) then checks KB(KB(m) ) = m.
+ -
If KB(KB(m) ) = m, whoever signed m must have used
Bob’s private key.
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 K (m) to court and
B
prove that Bob signed m. -
Network Security 7-15
Message Digests large
H: Hash
message
Function
m
Computationally expensive
to public-key-encrypt
H(m)
long messages
Goal: fixed-length, easy- Hash function properties:
to-compute digital many-to-1
“fingerprint”
produces fixed-size msg
apply hash function H to
m, get fixed size digest (fingerprint)
message digest, H(m). given message digest x,
computationally
infeasible to find m such
that x = H(m)
Network Security 7-16
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:
message ASCII format message ASCII format
I O U 1 49 4F 55 31 I O U 9 49 4F 55 39
0 0 . 9 30 30 2E 39 0 0 . 1 30 30 2E 31
9 B O B 39 42 D2 42 9 B O B 39 42 D2 42
B2 C1 D2 AC different messages B2 C1 D2 AC
but identical checksums!
Network Security 7-17
Hash Function Algorithms
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.
SHA-1 is also used.
US standard [NIST, FIPS PUB 180-1]
160-bit message digest
Network Security 7-18
Digital signature = signed message digest
Alice verifies signature and
Bob sends digitally signed integrity of digitally signed
message: message:
large
message H: Hash encrypted
m function H(m)
msg digest
-
KB(H(m))
Bob’s digital large
private signature message
- Bob’s
key KB (encrypt) m digital
public
+ signature
key KB
encrypted H: Hash (decrypt)
msg digest function
-
+ KB(H(m))
H(m) H(m)
equal
No confidentiality !
?
Network Security 7-19
Trusted Intermediaries
Symmetric key problem: Public key problem:
How do two entities When Alice obtains
establish shared secret Bob’s public key (from
key over network? web site, e-mail,
Solution: diskette), how does she
know it is Bob’s public
trusted key distribution
key, not Trudy’s?
center (KDC) acting as
intermediary between Solution:
entities trusted certification
authority (CA)
Network Security 7-20
Key Distribution Center (KDC)
Alice, Bob need shared symmetric key.
KDC: server shares different secret key with each
registered user (many users)
Alice, Bob know own symmetric keys, KA-KDC KB-KDC , for
communicating with KDC.
KDC
KA-KDC KP-KDC
KX-KDC
KP-KDC KB-KDC
KY-KDC
KZ-KDC
KA-KDC KB-KDC
Network Security 7-21
Key Distribution Center (KDC)
Q: How does KDC allow Bob, Alice to determine shared
symmetric secret key to communicate with each other?
KDC
KA-KDC(A,B) generates
R1
Alice KA-KDC(R1, KB-KDC(A,R1) )
Bob knows to
knows use R1 to
R1 KB-KDC(A,R1) communicate
with Alice
Alice and Bob communicate: using R1 as
session key for shared symmetric encryption
Why not R1=KB-KDC?
Network Security 7-22
Certification Authorities
Certification authority (CA): binds public key to
particular entity, E.
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”
- +
K CA(KB )
Bob’s digital
+
public +
signature KB
key KB (encrypt)
CA
certificate for
K-
Bob’s private
identifying key CA Bob’s public key,
information signed by CA
Network Security 7-23
Certification Authorities
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
+
- +
K CA(KB ) digital Bob’s
KB signature public
+
(decrypt) K B key
CA
public +
K CA
key
Network Security 7-24
A certificate contains:
Serial number (unique to issuer)
info about certificate owner, including algorithm
and key value itself (not shown) info about certificate
issuer
valid dates
digital signature by
issuer
Network Security 7-25
Internet Web Security
Architecture
CA
B )
+ B Web Server B
Client A -
(K
A
KC
K+B(KAB, R)
KAB(R)
KAB(m)
Network Security 7-26
Internet Web Security Conditions
Clients’ web browsers have built-in CAs.
CAs are trustable
Web servers have certificates in CAs.
Q: What if a server has no certificate?
Example: SSH servers
Network Security 7-27
SSH Example
Client A Web Server B
K+B(KAB, R)
KAB(R)
KAB(m)
Initial setup:
Trust the first-time connection
Save the server’s public key
Network Security 7-28