Академический Документы
Профессиональный Документы
Культура Документы
Foundations:
❒ what is security?
❒ cryptography
❒ authentication
❒ message integrity
❒ key distribution and certification
Security in practice:
❒ application layer: secure e-mail
❒ transport layer: Internet commerce, SSL, SET
❒ network layer: IP security
Friends and enemies: Alice, Bob, Trudy
A C
A C
B
Internet security threats
Denial of service (DOS):
❍ flood of maliciously generated packets “swamp” receiver
❍ Distributed DOS (DDOS): multiple coordinated sources
swamp receiver
❍ e.g., C and remote host SYN-attack A
A C
SYN
SYN
SYN SYN SYN
B
SYN
SYN
The language of cryptography
plaintext K K plaintext
A B
ciphertext
plaintext: abcdefghijklmnopqrstuvwxyz
ciphertext: mnbvcxzasdfghjklpoiuytrewq
1
B
. B
.
need d ( ) and e ( ) such that
d (e (m)) = m
B B
m = (m e mod n) d mod n
Magic
happens!
RSA example:
Bob chooses p=5, q=7. Then n=35, z=24.
e=5 (so e, z relatively prime).
d=29 (so ed-1 exactly divisible by z.
letter m me c = me mod n
encrypt:
l 12 1524832 17
d
decrypt:
c c m = cd mod n letter
17 481968572106750915091411825223072000 12 l
RSA: Why: m = (m e mod n) d mod n
e
(m mod n) d mod n = med mod n
ed mod (p-1)(q-1)
= m mod n
(using number theory result above)
1
= m mod n
(since we chose ed to be divisible by
(p-1)(q-1) with remainder 1 )
= m
Authentication
Goal: Bob wants Alice to “prove” her identity to
him
Protocol ap1.0: Alice says “I am Alice”
Failure scenario??
Authentication
Goal: Bob wants Alice to “prove” her identity to
him
Protocol ap1.0: Alice says “I am Alice”
Authentication: another try
Protocol ap2.0: Alice says “I am Alice” and sends her IP
address along to “prove” it.
Failure scenario??
Authentication: another try
Protocol ap2.0: Alice says “I am Alice” and sends her IP
address along to “prove” it.
Authentication: another try
Protocol ap3.0: Alice says “I am Alice” and sends her
secret password to “prove” it.
Failure scenario?
Authentication: another try
Protocol ap3.0: Alice says “I am Alice” and sends her
secret password to “prove” it.
Failure scenario?
Authentication: yet another try
Protocol ap3.1: Alice says “I am Alice” and sends her
encrypted secret password to “prove” it.
I am Alice
encrypt(password)
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
Failures, drawbacks?
Authentication: ap5.0
ap4.0 requires shared symmetric key
❍ problem: how do Bob, Alice agree on key
❍ can we authenticate using public key techniques?
Problem: Problem:
❍ How do two entities ❍ When Alice obtains
establish shared Bob’s public key (from
secret key over web site, e-mail,
network? diskette), how does she
Solution: know it is Bob’s public
❍ trusted key
key, not Trudy’s?
distribution center Solution:
(KDC) acting as ❍ trusted certification
intermediary between authority (CA)
entities
Key Distribution Center (KDC)
❒ Alice,Bob need shared
symmetric key.
❒ KDC: server shares
different secret key
with each registered
user.
❒ Alice, Bob know own
❒ Alice communicates with
symmetric keys, KA-KDC KDC, gets session key R1, and
KB-KDC , for KB-KDC(A,R1)
communicating with ❒ Alice sends Bob
KDC. KB-KDC(A,R1), Bob extracts R1
❒ Alice, Bob now share the
symmetric key R1.
Certification Authorities
❒ Certification authority
(CA) binds public key to
particular entity.
❒ Entity (person, router,
etc.) can register its public
key with CA.
❍ Entity provides “proof
of identity” to CA.
❍ CA creates certificate ❒ When Alice wants Bob’s public
binding entity to public key:
key. ❒ gets Bob’s certificate (Bob or
❍ Certificate digitally elsewhere).
signed by CA. ❒ Apply CA’s public key to Bob’s
certificate, get Bob’s public
key
Secure e-mail
• Alice wants to send secret e-mail message, m, to Bob.
❒ Server authentication:
❒ PGP provides security for a
specific network app. ❍ SSL-enabled browser includes
public keys for trusted CAs.
❒ SSL works at transport
❍ Browser requests server
layer. Provides security to certificate, issued by trusted
any TCP-based app using CA.
SSL services. ❍ Browser uses CA’s public key
❒ SSL: used between WWW to extract server’s public key
browsers, servers for I- from certificate.
commerce (shttp). ❒ Visit your browser’s security
❒ SSL security services: menu to see its trusted CAs.
❍ server authentication
❍ data encryption
❍ client authentication
(optional)
SSL (continued)
❍ merchant
stealing, leaking payment
card numbers.
❍ merchant’s bank
❒ Three software components:
All must have certificates.
❍ Browser wallet
❒ SET specifies legal
❍ Merchant server
meanings of certificates.
❍ Acquirer gateway
❍ apportionment of
liabilities for ❒ See text for description of
transactions SET transaction.
IPsec: Network Layer Security
❒ Network-layer secrecy:
❍ sending host encrypts the ❒ For both AH and ESP, source,
data in IP datagram destination handshake:
❍ TCP and UDP segments; ❍ create network-layer
ICMP and SNMP logical channel called a
messages. service agreement (SA)
❒ Network-layer authentication ❒ Each SA unidirectional.
❍ destination host can ❒ Uniquely determined by:
authenticate source IP
address ❍ security protocol (AH or
AH header includes:
❒ Provides source host
authentication, data ❒ connection identifier
integrity, but not secrecy. ❒ authentication data: signed
❒ AH header inserted message digest, calculated
between IP header and IP over original IP datagram,
data field. providing source
authentication, data integrity.
❒ Protocol field = 51.
❒ Next header field: specifies
❒ Intermediate routers
type of data (TCP, UDP, ICMP,
process datagrams as usual.
etc.)
Network Security (summary)
Basic techniques…...
❒ cryptography (symmetric and public)
❒ authentication
❒ message integrity
…. used in many different security scenarios
❒ secure email
❒ secure transport (SSL)
❒ IP sec
Firewalls To prevent denial of service
attacks:
firewall ❍ SYN flooding: attacker
establishes many bogus
isolates organization’s internal
TCP connections.
net from larger Internet,
Attacked host alloc’s
allowing some packets to pass,
TCP buffers for bogus
blocking others.
connections, none left
for “real” connections.
To prevent illegal modification
of internal data.
Two firewall types: ❍ e.g., attacker replaces
❍ packet filter CIA’s homepage with
something else
❍ application gateways
To prevent intruders from
obtaining secret info.
Packet Filtering
❒ Internal network is ❒ Example 1: block incoming
connected to Internet and outgoing datagrams
through a router. with IP protocol field = 17
and with either source or
❒ Router manufacturer
dest port = 23.
provides options for ❍ All incoming and outgoing
filtering packets, based on: UDP flows and telnet
❍ source IP address connections are blocked.
❍ destination IP address ❒ Example 2: Block inbound
❍ TCP/UDP source and TCP segments with ACK=0.
destination port numbers ❍ Prevents external clients
from making TCP
❍ ICMP message type
connections with internal
❍ TCP SYN and ACK bits clients, but allows internal
clients to connect to
outside.
Application gateways gateway-to-remote
host telnet session
host-to-gateway
telnet session
❒ Filters packets on
application data as well application router and filter
as on IP/TCP/UDP fields.
gateway