Securing Internet Communication: TLS
CS 161: Computer Security
- Prof. David Wagner
Communication: TLS CS 161: Computer Security Prof. David Wagner - - PowerPoint PPT Presentation
Securing Internet Communication: TLS CS 161: Computer Security Prof. David Wagner March 11, 2016 Todays Lecture Applying crypto technology in practice Two simple abstractions cover 80% of the use cases for crypto: Sealed blob:
What’s missing? Availability …
EKA(keys) M A C
k1
( … ) M A C
k 2
( … )
Ek3(message), MACk1(…)
(TLS+RSA+AES128+SHA1) or (SSL+RSA+3DES+MD5) or … My rnd # = R
S
. Let’s use TLS+RSA+AES128+SHA1 Here’s my cert
~ 2
K B
d a t a
SYN S Y N A C K A C K
(TLS+RSA+AES128+SHA1) or (SSL+RSA+3DES+MD5) or … My rnd # = R
S
. Let’s use TLS+RSA+AES128+SHA1 Here’s my cert
~ 2
K B
d a t a
“Premaster Secret” PS
Amazon’s public RSA key KAmazon
server derive symm. cipher keys (CB, CS) & MAC integrity keys (IB, IS)
– One pair to use in each direction
Here’s my cert
~ 2
K B
d a t a { P S }
KAmazon
PS PS
“Premaster Secret” PS
Amazon’s public RSA key KAmazon
server derive symm. cipher keys (CB, CS) & MAC integrity keys (IB, IS)
– One pair to use in each direction
Here’s my cert
~ 2
K B
d a t a { P S }
KAmazon
PS PS
“Premaster Secret” PS
Amazon’s public RSA key KAmazon
server derive symm. cipher keys (CB, CS) & MAC integrity keys (IB, IS)
– One pair to use in each direction
computed over entire dialog so far
encrypted w/ symmetric cipher (e.g., AES128) cipher keys, MACs
– Sequence #’s thwart replay attacks
Here’s my cert
~ 2
K B
d a t a { P S }
KAmazon
PS PS {M1, MAC(M1,IB)}CB { M
2
, M A C ( M
2
, I
S
) }
CS
M A C ( d i a l
, I
S
) MAC(dialog,IB)
generates random a, sends public params and ga mod p
– Signed with server’s private key
computes PS = gab mod p, sends to server
PS = gab mod p
RB, and RS, browser & server derive symm. cipher keys (CB, CS) and MAC integrity keys (IB, IS), etc…
Here’s my cert
~ 2
K B
d a t a g
b
m
p PS PS {M1, MAC(M1,IB)}CB M A C ( d i a l
, I
S
) MAC(dialog,IB) { g , p , g
a
m
p }
K
Amazon
…
SYN S Y N A C K A C K
(TLS+RSA+AES128+SHA1) or (SSL+RSA+3DES+MD5) or … My rnd # = R
S
. Let’s use TLS+RSA+AES128+SHA1 Here’s my cert
~ 2
K B
d a t a
different public/private key pair, say from Verisign
= assuming didn’t lose private key; assuming didn’t sign thoughtlessly
(note: an actual Windows error message!)