Title: Part I: Introduction
1Chapter 8???? ??
Computer Networking A Top Down Approach ,5th
edition. Jim Kurose, Keith RossAddison-Wesley,
April 2009.
2Chapter 8 ??
- 8.1 ???? ???? ?????
- 8.2 ???? ??
- 8.3 ??? ???
- 8.4 ??? ??
- 8.5 ?? ??? ??
- 8.6 TCP ??? ?? SSL
- 8.7 ???? ??? ?? IPsec
- 8.8 ?? ?? ??
- 8.9 ??? ?? ???? ?? ?? ???
3???? ??? ??
- ???(confidentiality) ?? ???? ??? ????? ??? ???
??? ? ??. - ???? ??
- ??(authentication) ???? ???? ?? ??? ??? ? ???
??. - ???(integrity) ???? ?? ?(?? ??) ???? ?? ?? ??? ?
??? ??. - ?? ??(access control)? ???(availability) ????
???? ?? ?? ???? ?? ? ??? ??.
4??? ?? Alice, Bob, Trudy
- Bob? Alice? ???? ??? ?? ??.
- Trudy (???)? ? ??? ???? ???? ????? ????? ??.
Alice
Bob
data, control messages
channel
secure sender
secure receiver
data
data
Trudy
5?? Bob, Alice? ? ? ????
- ?? ???? ???
- ?? ???? ?? ? ????? ??
- ??? ??? ?? client/server
- DNS ??
- ??? ??? ???? ????
- ??
6???? ??? ???
- ??? ??? ????
- ????? ?? ???? ????.
- ??? ?? ??
- ?? ???? ??? ???? ?? ??(replay)
- ?? ??? ?? ??? ?? ??? ??.(spoof)
- ???? ??? ??? ?? ???? ?? ??? ??.
- ??? ??(denial of service) ?? ??? ???? ?? ????
??. - ??? ??? ????? ??.
- ?????? ??? ??? ?, ???? ??
7Chapter 8 ??
- 8.1 ???? ???? ?????
- 8.2 ???? ??
- 8.3 ??? ???
- 8.4 ?? ??? ??
- 8.5 TCP ??? ?? SSL
- 8.6 ???? ??? ?? IPsec
- 8.7 ?? ?? ??
- 8.8 ??? ?? ???? ?? ?? ???
8??? ?? ??
- m ?? ???
- KA(m) ? KA ? ???? ???
- m KB(KA(m))
9??? ??? ??
- ?? ??(substitution cipher)
- ?? ?? ?? ??
?? abcdefghijklmnopqrstuvwxyz
??? mnbvcxzasdfghjklpoiuytrewq
?
?? bob. i love you. alice
??? nkn. s gktc wky. mgsbc
Key the mapping from the set of 26 letters to
the set of 26 letters
10??? ?(crypto key)
- ???? ? ?? ??? ?(key)? ????
- ??? ????? ?? ???? ??? ??.
- ?? ?(key)? ??? ????.
- ? ??? ????? ??? ?? ?? ?(key)? ??? ???
11?? ?? ?? ??
- ??? ??? ??
- ? ?? ?? ??
- ?? ?? ?? ? ??? ??.
- ?? ??
- ??? ?? ?? ???? ?? ???? ?? ??? ?? ?? ??.
- ?? ?? ?? ???? ?? ???? ??? ? ?? ?? ???? ??? ???
?? ? ??.
12??? ??
- ???(Symmetric key) ???
- ???(Public key) ???
13??? ???
encryption algorithm
decryption algorithm
?? ??? m
???
??
m KS(KS(m))
K (m)
S
- ??? Bob? Alice? ???? ???? K
- Q Bob? Alice? ??? ? ?? ?? ???? ??? ? ????
- - ? ??? ??
S
14??? ???? ? ??
- ??? ???(stream cipher)
- ? ?? ? ??? ???
- ?? ???(block cipher)
- ?? ???? ??? ??? ???? ???? ?? ??? ?????.
15??? ???
pseudo random
keystream generator
key
keystream
- ? ???(key stream)? ? ??? ??? ? ??? ???? ???? ???
????. - m(i) ?? ???? i?? ??
- ks(i) ? ???? i?? ??
- c(i) ???? i?? ??
- c(i) ks(i) ? m(i) (? exclusive or)
- m(i) ks(i) ? c(i)
16RC4 ??? ???
- RC4? ?? ??? ??? ??? ????.
- ?? 1????? 256????? ??
- 802.11? WEP?? ??
- SSL??? ??? ? ??.
17?? ???
- ???? k ??? ???? ???? ?????. (?, 64-bit ??).
- K ?? ??? ?? ??? ??? k ?? ??? ??? ??? 1?1? ????.
- ?(k3)
input output 000 110 001 111 010
101 011 100
input output 100 011 101 010 110
000 111 001
?? 010110001111? ?????
18?? ???
- ?? ??? ?? ?? ?? ?? k3?
- How many 3-bit inputs?
- 3-bit ???? ?? ??(permutation)? ???
- 2k! mappings
- ? 40,320 ?? ??!
- ?? ??? ?? ? ??, ?? ?? k64
- ???? ?? ??? ?? 264!
- ???, 64??? ? ???? ??? 264 ?? ?? ???? ???? ??.
- ???? ?? ???.
19?? ???? ?
From Kaufman et al
S-box
8-bit to 8-bit mapping
20?? ??? ? n? ??????
- ?????? ??? 1 ??? ???? ?? 8??? ??? ??.
- ??? ???? ? 8??? ?? ???? ?? ?? S-box? ???? ????
??. - ??? ???? ???
- ??? ???? ?? ?? ????.
- n? ???? ?? ??? ????.
21One Round of DES
22? ???? ???? ?
- ? ?? ?? ???? ???? ???,
- ?? ?? ??? ??? ?? ???? ?? ???? ?? ??? ??? ?? ????
???? ????. ???? ???? ??? ? ?? ??? ??? ??. - ?? ? ???? ?? ?? ?????
- ? ?? m(i) ?? 64-bit? r(i)? ???? ??
- c(i) KS( m(i) ? r(i) )? ??
- ?? c(i), r(i), i1,2,
- ???? ?? m(i) KS(c(i)) ? r(i)
- ??? ?? ???(??)? ?? ? ?? ?? ?? ?? ??? ?? c(i)?
r(i)
23?? ?? ??? ??? ?? ????
- Alice? ??? ??? ????? ??? ?
- ??? ??? ?????
- ??? ??? ?? ? ??? ???!
24?? ?? ??(CBC)
- ??? ??? ???? ? ?? ??? ??? ????.
- c(i) KS( m(i) ? c(i-1) )
- m(i) KS( c(i)) ? c(i-1)
- ??? ??? ??? ??? ???? ????
- ?? ??(IV) ???? ??? ?? c(0)
- IV? ???? ??? ??.
- ? ??? ??(?? ????) IV?? ????.
- ??? ???? ???? ?????? ???? ?? ????? ??.
25Cipher Block Chaining(CBC)
- ?? ?? ??? ????? ??? ???? ??? ??.
m(1) HTTP/1.1
c(1) k329aM02
t1
block cipher
m(17) HTTP/1.1
c(17) k329aM02
t17
block cipher
- cipher block chaining i?? ?? ??? ?? ???? ??? XOR
m(i)
c(i-1)
block cipher
c(i)
26CBC ??? ???
- Alice? ???? ?? ???? CBC (TEA)? ???? ??????.
- ? ??? ?????
- ??? ?????? ?? ???? ?????!
27??? ??? ??? ?? DES
- DES Data Encryption Standard
- US ?? ???? ??NIST 1993
- 56-bit ??? ??, 64-bit ??? ??
- ??? ?? ?? (cipher block chaining)
- DES? ??? ?????
- ??? ??(brute force)?? ?? ?? ??? ? ? ??.
- ??? ??? ?? ??? ???? ??? ?? ???? ?? ??? ?? ??.
- 3DES
- ?? ??? DES? 3?? ?? ?????.
28AES Advanced Encryption Standard
- ??? ??? ?? ???? ?? 2001 DES? ??
- ?? ?? 128 bit
- ?? ?? 128, 192, or 256 bits
- ??? ??(brute force)?? ??? ???? ? ??, DES? ?? 1??
???? AES? 149 trillion years? ???.
29??? ???
- ??? ???? ???? ?? ???? ???? ??? ??.
- Q ??? ? ?? ???? ?? ? ???(?? ?? ?? ?? ?? ? ???)?
- ??? ???
- ??? ?? ?? ??Diffie-Hellman76, RSA78
- ???? ???? ???? ???? ???.
- ???? ???? ????.
- ???? ?? ? ???? ?? ??.
30??? ???
Bob? ???
K
B
-
Bob? ???
K
B
encryption algorithm
decryption algorithm
plaintext message
plaintext message, m
ciphertext
31??? ??? ????
????
-
B
B
-
??? K ?? ??? K ? ??? ? ??.
B
B
RSA Rivest, Shamir, Adelson algorithm
32??? modular arithmetic
- x mod n x? n?? ???? ? ???(remainder)
- ??
- (a mod n) (b mod n) mod n (ab) mod n
- (a mod n) - (b mod n) mod n (a-b) mod n
- (a mod n) (b mod n) mod n (ab) mod n
- ???
- (a mod n)d mod n ad mod n
- ? x14, n10, d2(x mod n)d mod n 42 mod 10
6xd 142 196 xd mod 10 6
33RSA ???? ??? ??
1. ? ?? ? ?? p, q? ????.
2. n? z? ?? n pq, z (p-1)(q-1)
3. e (with eltn)? ????. e? z? ?? ?(???? ??).
4. d ? ????. ed-1 ? z? ?????. (ed mod z 1
).
5. ??? (n,e). ??? (n,d).
34RSA ???? ???
0. (n,e)? (n,d)? ???? ?? ??
2. c? ???
Magic happens!
c
35- c me mod n, cd mod n m
- for any x and y xy mod n x(y mod z) mod n
- where n pq and z (p-1)(q-1)
- ???, cd mod n (me mod n)d mod n
- med mod n
- m(ed mod z) mod n
- m1 mod n
- m
36RSA ?
p5, q7. Then n35, z24.
e5 (??? e? z? ?? ?). d29 (??? ed-1? z?
?????).
e
m
m
bit pattern
encrypt
0000l000
12
24832
17
c
decrypt
17
12
481968572106750915091411825223071697
37RSA ? ?? ??? ??
?? ???? ??, ??? ???? ??
???? ?? ??, ??? ???? ??
??? ????!
38?
?
- ??? ?? modular ??? ??? ??
- (me mod n)d mod n med mod n
- mde mod n
- (md mod n)e mod n
39? RSA? ?????
- Bob (n,e)? ???? ?? ?? ?, d? ?? ?? ??? ?????
- ??? n? ?????? ? ?? ?? p? q? ??? ?? ?? ? ????
????. - ??? ?? ? ?? p,q? ?? ?? ???.
RSA ? ??
- ? ?? ??? ?? p? q? ??? ??.
40???? ??
- ??? ??? ???
- ?? ??? ?? ??? ?? ????.
- DES? ??? RSA ?? 100? ???.
- ??? ???? ? ??? ??? ??????? ???? ???.
- ???? ??
- ???? ???? ???? ????? ???? ???? ???? ???? ????.
- ??? ??
- ??
41Chapter 8 ??
- 8.1 ???? ???? ?????
- 8.2 ???? ??
- 8.3 ??? ???
- 8.4 ?? ??? ??
- 8.5 TCP ??? ?? SSL
- 8.6 ???? ??? ?? IPsec
- 8.7 ?? ?? ??
- 8.8 ??? ?? ???? ?? ?? ???
42??? ???(integrity)
- ?? ???? ??? ???? ??? ?? ??
- ???? ??? ???? ???.
- ???? ???? ?? ?? ??? ?? ?? ????.
- ?? ???? ?? ???? ???.
- ???? ???? ??? ?????.
- ?? ??
- ??? ?????(message digest)
43?? ??? ??? ?????
- ?? H( )? ??? ??? ???? ???? ??? ??? ??? ??? ????
?????. - H( ) many-to-1 ??
- H( )? ?? ??(hash function)?? ????.
- ???? ??
- ??? ??
- ??? H(m)?? m? ?? ? ??.
- ?? ?? H(m) H(m)? m? m? ???? ?? ???? ??.
- ???? ???? ??.
44checksum ???? ?? ??
- ?? ??? ???? checksum? ?? ??? ??? ?? ??
- ??? ??? ??? ?????(16-bit sum)? ????.
- many-to-one
- ??? ?? ???? ?????? ?? ? ??? ???? ?? ? ?? ???? ??
?? ? ??. - ? ??? ???
-
message
ASCII format
message
ASCII format
I O U 9 0 0 . 1 9 B O B
49 4F 55 39 30 30 2E 31 39 42 D2 42
I O U 1 0 0 . 9 9 B O B
49 4F 55 31 30 30 2E 39 39 42 D2 42
B2 C1 D2 AC
B2 C1 D2 AC
?? ??? ??? ??? checksum!
45?? ??(hash function) ????
- MD5 (RFC 1321)
- ?? ???? ??.
- 4??? ???? 128-bit ??? ?????? ????.
- SHA-1
- US ?? NIST, FIPS PUB 180-1
- 160-bit ??? ?????
46??? ?? ??(MAC)
- ???? ????(authenticate)
- ??? ???? ??
- ???? ?? !
- keyed hash??? ???
- MDm H(sm) ?? mMDm
47HMAC (RFC 2104)
- ?? ???? ?? MAC ??
- MD5? SHA-1 ?? ??? ?? ??? ? ??.
- ?? ? OSPF
- ??
- ??? ??
- ??? ??
- ??? ??
- ??? ???? ???? ???? ???? ? ? ????
48?? ?? ??(End-point authentication)
- Bob? Alice??? ???(m)? ?? MAC? ???.
- Bob? ? ???? ??? ???? ???? ?? ??? ? ????
- Bob? ? ???? Alice? ????? ?? ??? ? ????
- Bob? ? ???? Alice? ???? ?? ??? ? ????
49??? ???(playback) ??
MAC f(msg,s)
50??? ??? ??? ?? ?? nonce
I am Alice
R
MAC f(msg,s,R)
51??? ??(digital signature)
- ??? ?? ??? ??? ??.
- ??? (Bob)? ??? ??? ???/????? ???? ??? ??.
- ??? MAC? ??, ??? ??? ???? ????.
- ?? ??? ???(Alice)? ?? Bob?? ? ??? ????? ?? ??? ?
??.
52??? ??
- ??? m? ?? ??? ??
- Bob? ??? ???? ???? ??? ????.
Bobs private key
Bobs message, m
(m)
Dear Alice Oh, how I have missed you. I think of
you all the time! (blah blah blah) Bob
Bobs message, m, signed (encrypted) with his
private key
Public key encryption algorithm
53??? ?????? ??? ??? ??
Bob? ??? ??? ???? ????.
H(m)
Bobs private key
Bobs public key
equal ?
54??? ??
-
- Alice? ??? m? ??? ?? KB(m)? ???? ??.
- Alice? Bob? ???(KB )? KB(m)? ????? KB(KB(m) )
m. - ??? KB(KB(m) ) m?? Bob? ??? ?? ??? ? ??.
-
-
-
- Alice? ??? ??
- ?? Bob?? m? ??, ??? ??? Bob? m? ???.
- ???? ?????
- ?? ??(Non-repudiation)
- Alice? Bob? m? ??? ?? ????? ??? ???? ??? ? ??.
-
55?? ??(non-repudiation)
- Alice? Bob???? ?? 100?? ????.
- Alice? ???? MAC? ????.
- ??? ???? ????, Alice? ??? ??? ?? ????.
- Bob? Alice? ??? ?? ??? ? ????
- No! Bob?? ???? ?? ?? ??? ??? ??? ? ??.
- ?? Bob? Alice? ??? ?? ?? ??. ??? ??? ??? ? ??.
56?? ??(Non-repudiation)
- Alice? Bob???? ?? 100?? ????.
- Alice? ??? ???? ??? ??? ??.
- ??? ???? ????, Alice? ??? ??? ?? ????.
- Bob? Alice? ??? ?? ??? ? ????
- Yes! Alice? ???? ?? ?? ?? ?? ??? ??? ? ? ??.
- ?? Alice? ???? ????? ???? ??? ?? ??.(? ?? ??)
57??? ??
- ?? Bob? ????? ??? ?? Bob? ????? ??? ?? ? ????
- Trudy? Bob? ???? ??? ??
- Trudy? ??? ???? ???? ????.
- Trudy? ?? ??? ???? ????.
- Trudy? ?? ??? ??? ???? ??? Bob? ????? ????.
- ?? ??? ??? ???? ??? Bob? ??? ??? ???.
58?? ??(Certification Authoritie)
- ?? ?? (CA) ?? ??? ???? ??? ?? ????.
- E (person, router)? CA? ??? ???? ????.
- E? CA? ??? ????.
- CA? E? E? ???? ???? ???? ???.
- ???? CA? ???? ?????.
- ?? CA? ??? ? ??? E? ???? ?? ? ??.
Bobs public key
CA private key
certificate for Bobs public key, signed by CA
-
Bobs identifying information
59?? ??
- Alice? Bob? ???? ????
- Bob? ???? ???.
- Bob? ???? CA? ???? ????? Bob? ???? ???.
Bobs public key
CA public key
60???
- ?? X.509 (RFC 2459)
- ???? ??? ????.
- ??? ??
- ?? ??, ??, ??? ?? ?.
- ??? ???
- ?? ?? (???? ???? ??)
- ??? ??(PKI)
- ???? ?? ??? ??? ?? ??.
61X.509 ??? ?(1)
- ?? ??? www.freesoft.org? ???? ???? ?????.
- ?? ??? Thwate
- Thwate? ???? ???? ??? ???? ??? ??? ??? ???? sign?
???(signature). - ? ???? ?? ??? Thwate? ???? ???? ??? ???
signature? ??? ? ??.
62(No Transcript)
63X.509 ??? ?(2)
- ???, ???? Thwate? ???? ??? ? ? ????
- Thwate? ??? ???? ??? ???? ??? ???? ??? ?????
????. - ?? ??? Thwate? ??? ???? ???? ?????.
64(No Transcript)
65X.509 ??? ?(3)
- ??? ? ???? ?? ???? Thwate? ??? ? ?? ?? ???? ???
??? ? ???? - ??? ? ?? ??? Root certificate? ????? ??? ???? ??.
- ??? ?? ???? ????? ??? ??? ? ?? ??? ?? ??.