Bob

EE515/IS523
Think Like an
Adversary
Lecture 3
Cryptography in a Nutshell
Yongdae Kim
Recap
http://syssec.kaist.ac.kr/courses/ee515
E-mail policy
 Include [ee515] or [is523] in the subject of your e-mail
Student Survey
 http://bit.ly/SiK9M3
News posting
 KLMS http://edu3.kaist.ac.kr/course/view.php?id=14461
Match making, criticism
 KLMS
Text only posting, email!
In a Nutshell
Security by Obscurity is not secure!
Conservative modeling for adversary
State-sponsored, Hacktivists, Hacker+Criminals, Researchers ;-)
Care for the weakest link.
Plan for unknown attacks.
Check for environmental changes
All stages are important
Attacker modeling, design, implementation, deployment,
operation
Check News!
Cyber Warfare?
Security & Risk
We only have finite resources for security…
Product A
Product B
Prevents
Attacks:
U,W,Y,Z
Prevents
Attacks:
V,X
Cost $10K
Cost $20K
If we only have $20K, which should we buy?
Risk
The risk due to a set of attacks is the
expected (or average) cost per unit of time.
One measure of risk is Annualized Loss
Expectancy, or ALE:
ALE of attack A
Σ
( pA × L A )
attack A
Annualized attack
incidence
Cost per attack
Risk Reduction
A defense mechanism may reduce the risk
of a set of attacks by reducing LA or pA. This
is the gross risk reduction (GRR):
Σ
(pA ×LA – p’A×L’A)
attack A
The mechanism also has a cost. The net
risk reduction (NRR) is GRR – cost.
Basic Cryptography
Yongdae Kim
The main players
Eve
Yves?
Alice
Bob
Attacks
Normal Flow
Source
Interruption: Availability
Source
Destination
Modification: Integrity
Source
Destination
Destination
Interception: Confidentiality
Source
Destination
Fabrication: Authenticity
Source
Destination
Taxonomy of Attacks
Passive attacks
Eavesdropping
Traffic analysis
Active attacks
Masquerade
Replay
Modification of message content
Denial of service
Big picture
Trusted third party
(e.g. arbiter, distributor
of secret information)
Bob
Alice
Message
Information
Channel
Secret
Information
Message
Secret
Information
Eve
Terminology for Encryption
A denotes a finite set called the alphabet
M denotes a set called the message space
M consists of strings of symbols from an alphabet
An element of M is called a plaintext
C denotes a set called the ciphertext space
C consists of strings of symbols from an alphabet
An element of C is called a ciphertext
 K denotes a set called the key space
 An element of K is called a key
Ee is an encryption function where e  K
Dd called a decryption function where d  K
Encryption
Adversary
Encryption
Ee(m) = c
c
insecure channel
m
Decryption
Dd(c) = m
m
Plaintext source
destination
Alice
Bob
Why do we use key?
Or why not use just a shared encryption function?
SKE with Secure channel
Adversary
Key source
d
Secure channel
e
Encryption
Ee(m) = c
m
c
Insecure channel
Decryption
Dd(c) = m
m
Plaintext source
destination
Alice
Bob
PKE with insecure channel
Passive
Adversary
e
Insecure channel
Key source
d
Encryption
Ee(m) = c
m
c
Insecure channel
Decryption
Dd(c) = m
m
Plaintext source
destination
Alice
Bob
Public key should be authentic!
e
e’
Ee(m)
Ee’(m)
e
Ee(m)
Need to authenticate public keys
Digital Signatures
Primitive in authentication and nonrepudiation
Signature
Process of transforming the message and some
secret information into a tag
Nomenclature
M is set of messages
S is set of signatures
SA: M ! S for A, kept private
VA is verification transformation from M to S for
A, publicly known
Key Establishment, Management
Key establishment
Process to whereby a shared secret key becomes
available to two or more parties
Subdivided into key agreement and key
transport.
Key management
The set of processes and mechanisms which
support key establishment
The maintenance of ongoing keying relationships
between parties
Symmetric vs. Public key
Pros
Cons
 High data throughput
SKE
 Relatively short key size
The key must remain secret
at both ends
O(n2) keys to be managed
Relatively short lifetime of
the key
O(n) keys
Only the private key
must be kept secret
PKE
longer key life time
digital signature
Low data throughput
Much larger key sizes
Symmetric key Encryption
Symmetric key encryption
if for each (e,d) it is easy computationally easy to
compute e knowing d and d knowing e
Usually e = d
Block cipher
breaks up the plaintext messages to be
transmitted into blocks of a fixed length, and
encrypts one block at a time
Stream cipher
encrypt individual characters of plaintext
message one at a time, using encryption
transformation which varies with time
Hash function and MAC
A hash function is a function h
 compression
 ease of computation
 Properties
one-way: for a given y, find x’ such that h(x’) = y
collision resistance: find x and x’ such that h(x) = h(x’)
 Examples: SHA-1, MD-5
MAC (message authentication codes)
 both authentication and integrity
 MAC is a family of functions hk
ease of computation (if k is known !!)
compression, x is of arbitrary length, hk(x) has fixed length
computation resistance
 Example: HMAC
How Random is the Hash function?
Applications of Hash Function
File integrity
File identifier
Hash table
Digital signature
Sign = SSK(h(m))
Password verification
stored hash = h(password)
Generating random
numbers
Hash function and MAC
A hash function is a function h
 compression
 ease of computation
 Properties
one-way: for a given y, find x’ such that h(x’) = y
collision resistance: find x and x’ such that h(x) = h(x’)
 Examples: SHA-1, MD-5
MAC (message authentication codes)
 both authentication and integrity
 MAC is a family of functions hk
ease of computation (if k is known !!)
compression, x is of arbitrary length, hk(x) has fixed length
computation resistance
 Example: HMAC
MAC construction from Hash
Prefix
 M=h(k||x)
 appending y and deducing h(k||x||y) form h(k||x) without
knowing k
Suffix
 M=h(x||k)
 possible a birthday attack, an adversary that can choose x
can construct x’ for which h(x)=h(x’) in O(2n/2)
STATE OF THE ART: HMAC (RFC 2104)
 HMAC(x)=h(k||p1||h(k|| p2||x)), p1 and p2 are padding
 The outer hash operates on an input of two blocks
 Provably secure
How to use MAC?
A & B share a secret key k
A sends the message x and the MAC
M←Hk(x)
B receives x and M from A
B computes Hk(x) with received M
B checks if M=Hk(x)
PKE with insecure channel
Passive
Adversary
e
Insecure channel
Key source
d
Encryption
Ee(m) = c
m
c
Insecure channel
Decryption
Dd(c) = m
m
Plaintext source
destination
Alice
Bob
Digital Signature
I did not
have
intimate
relations
with that
woman,…,
Ms.
Lewinsky
Integrity
Authentication
Non-repudiation
Digital Signature with Appendix
Schemes with appendix
Requires the message as input to verification
algorithm
Rely on cryptographic hash functions rather than
customized redundancy functions
DSA, ElGamal, Schnorr etc.
Digital Signature with Appendix
M
Mh
h
m
Mh x S
VA
mh
S
SA,k
s*
s* = SA,k(mh)
u 2 {True, False}
u = VA(mh, s*)
Authentication
How to prove your identity?
Prove that you know a secret information
When key K is shared between A and Server
A  S: HMACK(M) where M can provide freshness
Why freshness?
Digital signature?
A  S: SigSK(M) where M can provide freshness
Comparison?
Encryption and Authentication
EK(M)
Redundancy-then-Encrypt: EK(M, R(M))
Hash-then-Encrypt: EK(M, h(M))
Hash and Encrypt: EK(M), h(M)
MAC and Encrypt: Eh1(K)(M), HMACh2(K)(M)
MAC-then-Encrypt: Eh1(K)(M, HMACh2(K)(M))
Challenge-response authentication
Alice is identified by a secret she possesses
Bob needs to know that Alice does indeed possess
this secret
Alice provides response to a time-variant
challenge
Response depends on both secret and challenge
Using
Symmetric encryption
One way functions
Challenge Response using SKE
Alice and Bob share a key K
Taxonomy
Unidirectional authentication using
timestamps
Unidirectional authentication using random
numbers
Mutual authentication using random numbers
Unilateral authentication using timestamps
Alice  Bob: EK(tA, B)
Bob decrypts and verified that timestamp is OK
Parameter B prevents replay of same message in
B  A direction
Challenge Response using SKE
Unilateral authentication using random
numbers
Bob  Alice: rb
Alice  Bob: EK(rb, B)
Bob checks to see if rb is the one it sent out
Also checks “B” - prevents reflection attack
rb must be non-repeating
Mutual authentication using random
numbers
Bob  Alice: rb
Alice  Bob: EK(ra, rb, B)
Bob  Alice: EK(ra, rb)
Alice checks that ra, rb are the ones used earlier
Challenge-response using OWF
Instead of encryption, used keyed MAC hK
Check: compute MAC from known
quantities, and check with message
SKID3
Bob  Alice: rb
Alice  Bob: ra, hK(ra, rb, B)
Bob  Alice: hK(ra, rb, A)
Key Establishment, Management
Key establishment
Process to whereby a shared secret key becomes
available to two or more parties
Subdivided into key agreement and key
transport.
Key management
The set of processes and mechanisms which
support key establishment
The maintenance of ongoing keying relationships
between parties