crypto_pres

advertisement
Introduction to
Security
Attacks
Interception (eavesdropping):
unauthorized party gains access to service
or data
 Interruption (denial of service attack):
services or data become unavailable
 Modification: unauthorized party changes
the data or tampers with the service
 Fabrication: unauthorized party generates
additional data or activity

Cryptography
Given credit where it is due

Most slides are from B. A. Miller at Mount Allison
University, Kenneth Chiu at SUNY Binghamton,
and Daniel M. Zimmerman at CALTECH

Some slides are from Scott Shenker and Ion
Stoica at University of California, Berkeley and
Ariel J. Frank at Bar-Ilan University

I modified and added some slides
What is cryptography?
kryptos – “hidden”
 grafo – “write”


Keeping messages secret
 Usually
by making the message unintelligible
to anyone that intercepts it
The Problem
Private Message
Bob
Alice
Eavesdropping
Eve
The Solution
Private Message
Private Message
Encryption
Decryption
Scrambled Message
Bob
Alice
Eavesdropping
Eve
What do we need?
Bob and Alice want to be able to
encrypt/decrypt easily
 But no one else should be able to decrypt
 How do we do this?

 Keys!
Using Keys
Nonsense
Encryption
Plaintext
Ciphertext
Decryption
Plaintext
The Shift Cipher

We “shift” each letter over by a certain
amount
Plaintext
five red balloons
Key = 3
f+3=I
i+3=L
v+3=Y
…
Encryption
ILYH UHG EDOORRQV Ciphertext
The Shift Cipher cont.

To decrypt, we just subtract the key
ILYH UHG EDOORRQV Ciphertext
Key = 3
I-3=f
L-3=i
Y-3=v
…
five red balloons
Decryption
Plaintext
What’s wrong with the shift cipher?
Not enough keys!
 If we shift a letter 26 times, we get the
same letter back

A
shift of 27 is the same as a shift of 1, etc.
 So we only have 25 keys (1 to 25)

Eve just tries every key until she finds the
right one
The Substitution Cipher
Plaintext

Rather than having a
fixed shift, change
every plaintext letter
to an arbitrary
ciphertext letter
a
b
c
d
e
…
z
Ciphertext
G
X
N
S
D
…
Q
The Substitution Cipher cont.
Key =
a
G
n
B
b
X
o
Y
c
N
p
Z
d
S
q
P
e
D
r
H
f
A
s
W
g
F
t
I
h
V
u
J
i
L
v
R
j
M
w
U
k
C
x
K
l
O
y
T
m
E
z
Q
five red balloons
f =A
i =L
v =R
…
Plaintext
Encryption
ALRD HDS XGOOYYBW Ciphertext
The Substitution Cipher cont.

To decrypt we just look up the ciphertext letter in
the table and then write down the matching
plaintext letter

How many keys do we have now?
A
key is just a permutation of the letters of the
alphabet
 There are 26! permutations

403291461126605635584000000
Frequency Analysis

In English (or any language) certain letters are
used more often than others

If we look at a ciphertext, certain ciphertext
letters are going to appear more often than
others

It would be a good guess that the letters that
occur most often in the ciphertext are actually
the most common English letters
Letter Frequency



This is the letter
frequency in
English
The most
common letter
is ‘e’ by a large
margin,
followed by ‘t’,
‘a’, and ‘o’
‘J’, ‘q’, ‘x’, and
‘z’ hardly occur
at all
Frequency Analysis in Practice

Suppose this is our ciphertext
 dq
lqwurgxfwlrq wr frpsxwlqj surylglqj d eurdg vxuyhb
ri wkh glvflsolqh dqg dq lqwurgxfwlrq wr surjudpplqj.
vxuyhb wrslfv zloo eh fkrvhq iurp: ruljlqv ri frpsxwhuv,
gdwd uhsuhvhqwdwlrq dqg vwrudjh, errohdq dojheud,
gljlwdo orjlf jdwhv, frpsxwhu dufklwhfwxuh,
dvvhpeohuv dqg frpslohuv, rshudwlqj vbvwhpv,
qhwzrunv dqg wkh lqwhuqhw, wkhrulhv ri
frpsxwdwlrq, dqg duwlilfldo lqwhooljhqfh.
0.12
Relative Frequency
0.1
0.08
0.06
0.04
0.02
0
a b c d e f g h i j k l m n o p q r s t u v w x y z
Letter
Ciphertext distribution
English distribution
In our ciphertext we have one letter that occurs more often than any other (h), and
6 that occur a good deal more than any others (d, l, q, r, u, and w)
There is a good chance that h corresponds to e, and d, l, q, r, u, and w correspond
to the 6 next most common English letters
Frequency Analysis cont.

If we replace ‘e’ with ‘h’ and the 6 next most
common letters with their matches, the
ciphertext becomes
 an
intro???tion to ?o?p?tin? pro?i?in? a ?roa? ??r?e?
o? t?e ?i??ip?ine an? an intro???tion to pro?ra??in?.
??r?e? topi?? ?i?? ?e ??o?en ?ro?: ori?in? o?
?o?p?ter?, ?ata repre?entation an? ?tora?e, ?oo?ean
a??e?ra, ?i?ita? ?o?i? ?ate?, ?o?p?ter ar??ite?t?re,
a??e???er? an? ?o?pi?er?, operatin? ???te??,
net?or?? an? t?e internet, t?eorie? o? ?o?p?tation,
an? arti?i?ia? inte??i?en?e.
Classical to Modern Cryptography

Classical cryptography
 Encryption/decryption

done by hand
Modern cryptography
 Computers
to encrypt and decrypt
 Same principles, but automation allows
ciphers to become much more complex
The Enigma Machine


German
encryption and
decryption
machine used in
WWII
Essentially a
complex,
automated
substitution cipher
How did Enigma work?

Rotors have different
wiring connecting input
to output

Rotors move after each
keypress

The key is the initial
position of the three
rotors
Breaking the Enigma



Britain set up its cryptanalysis team in
Bletchley Park
They consistently broke German codes
throughout the war
Important location in the history of computing


Alan Turing
COLOSSUS
Cryptography in the Computer Age

Working with binary instead of letters

We can do things many, many times
of an Enigma machine that has 2128 pairs of
symbols on each rotor, and 20 rotors
 Think

Other than that, the basic principles are the
same as classical cryptography
Modern Ciphers

We design one relatively simple scrambling method
(called a round) and repeat it many times



Think of each round as a rotor on the Enigma
One round may be easy to break, but when you put them all
together it becomes very hard
Almost all ciphers follow one of two structures



SPN (Substitution Permutation Network)
Feistel Network (basis for DES)
These describe the basic structure of a round
Modern Ciphers in Practice

Follow SPN/Feistel structure in general,
but with added twists for security

There are two important ciphers in the
history of modern cryptography
 DES
(Data Encryption Standard)
 AES (Advanced Encryption Standard)
DES
U.S. Government recognized the need to
have a standardized cipher for secret
documents
 DES was developed by IBM in 1976
 Analysis of DES was the beginning of
modern cryptographic research

Breaking DES

The key length of DES was too short
 If
a key is 56 bits long, that means there are
256 possible keys
 “DES Cracker” machines were designed to
simply try all possible keys
Increase key length to 128 bit
 Triple DES

Breaking DES cont.

DES was further weakened by the discovery of
differential cryptanalysis
 Biham
and Shamir in 1990; The most significant
advance in cryptanalysis since frequency analysis

Ideally a ciphertext should be completely random,
there should be no connection to its matching
plaintext
 Differential
analysis exploits the fact that this is never
actually the case; Uses patterns between plaintext and
ciphertext to discover the key
Developing the AES

With DES effectively broken, a new standard
was needed

In 2001, the Rijndael cipher was selected to
become the Advanced Encryption Standard
The Problem of Symmetric Key
Cryptography

Up until now we’ve been talking about symmetric
key cryptography
 Alice
and Bob are using the same key to
encrypt/decrypt

Problem: How does Bob get the key to Alice
when Eve is eavesdropping?

Up until 1976 the only solution was to physically
give Alice the key in a secure environment
Public Key Cryptography



Diffie and Hellman published a paper in 1976
providing a solution
We use one key for encryption (the public key),
and a different key for decryption (the private
key)
Everyone knows Alice’s public key, so they can
encrypt messages and send them to her
 But

only Alice has the key to decrypt those messages
No one can figure out Alice’s private key even if
they know her public key
Using Public Keys
Nonsense
Encryption
Plaintext
Ciphertext
Decryption
Plaintext
Public Key Cryptography in
Practice

The problem is that public key algorithms are too
slow to encrypt large messages
 Instead
Bob uses a public key algorithm to send Alice
the symmetric key, and then uses a symmetric key
algorithm to send the message

The best of both worlds!
 Security
of public key cryptography
 Speed of symmetric key cryptography
Sending a Message
What’s your public key?
Bob picks a
symmetric key and
encrypts it using
Alice’s public key
Alice decrypts the
symmetric key using her
private key
Then sends the
key to Alice
Bob encrypts his
message using
the symmetric
key
Then sends the
message to
Alice
hi
Alice decrypts the
message using the
symmetric key
The RSA Public Key Cipher

The most popular public key cipher is RSA, developed in
1977


Named after its creators: Rivest, Shamir, and Adleman
Uses the idea that it is really hard to factor large
numbers




Create public and private keys using two large prime numbers
Then forget about the prime numbers and just tell people their
product
Anyone can encrypt using the product, but they can’t decrypt
unless they know the factors
If Eve could factor the large number efficiently she could get the
private key, but there is no known way to do this
Public-Key Cryptography: RSA (Rivest,
Shamir, and Adleman)

Sender uses a public key
- Advertised to everyone

Receiver uses a private key
Plaintext
Plaintext
Encrypt with
public key
Internet
Decrypt with
private key
Ciphertext
38
Generating Public and Private Keys





Choose two large prime numbers p and q (~ 256 bit
long) and multiply them: n = p*q
Chose encryption key e such that e and (p-1)*(q-1)
are relatively prime
Compute decryption key d, where
d = e-1 mod ((p-1)*(q-1))
(equivalent to d*e = 1 mod ((p-1)*(q-1)))
Public key consist of pair (n, e)
Private key consists of pair (n, d)
39
RSA Encryption and Decryption

Encryption of message block m:
- c = me mod n

Decryption of ciphertext c:
- m = cd mod n
40
Example (1/2)

Choose p = 7 and q = 11  n = p*q = 77

Compute encryption key e: (p-1)*(q-1) = 6*10 = 60 
chose e = 13 (13 and 60 are relatively prime numbers)

Compute decryption key d such that 13*d = 1 mod 60 
d = 37 (37*13 = 481)
41
Example (2/2)

n = 77; e = 13; d = 37

Send message block m = 7

Encryption: c = me mod n = 713 mod 77 = 35

Decryption: m = cd mod n = 3537 mod 77 = 7
42
Properties


Confidentiality
A receiver B computes n, e, d, and sends out (n, e)
- Everyone who wants to send a message to B uses (n, e) to
encrypt it



How difficult is to recover d ? (Someone that can do
this can decrypt any message sent to B!)
Recall that
d = e-1 mod ((p-1)*(q-1))
So to find d, you need to find primes factors p and q
- This is provable very difficult
43
RSA Factoring Challenge

RSA-768 has 232 decimal digits and was factored on
December 12, 2009. It’s the largest factored RSA
number to date.

RSA-2048 may not be factorizable for many years to
come, unless considerable advances are made in
integer factorization or computational power in the
near future.
44
RSA Factoring Challenge

Suppose, for example, that in the year 2020 a
factorization of RSA-1024 is announced that requires 6
months of effort on 100,000 workstations. In this
hypothetical situation, would all 1024-bit RSA keys
need to be replaced?
- The answer is no. If the data being protected needs security
for significantly less than six months, and its value is
considerably less than the cost of running 100,000
workstations for that period, then 1024-bit keys may continue
to be used.
45
So Far: The Problem
Private Message
Bob
Alice
Eavesdropping
Eve
46
Private Message
So Far: The Solution
Encryption
Private Message
Decryption
Scrambled Message
Bob
Alice
Eavesdropping
Eve
47
Other Security Problems
- Are you who you say you are?
• Authentication
- How does Bob know that he’s really talking to Alice?
- How does Alice know the message was sent by Bob?
• Mutual authentication
- How does Alice know that the message she receives
hasn’t been tampered with?
• Message Integrity
48
Secure Channels

Can you have authentication without message integrity?
- I know that Bob sent the message, but someone may have
tampered with it.
- I know that no one tampered with it, but I don’t know whether or
not it was really Bob who sent it.
- Authentication & message integrity cannot do without each other !
• Set-up phase precedes message exchange
• Session keys to ensure message integrity
49
Notation for Cryptography
Notation Description
KA, B
Secret key shared by A and B
K A
Public key of A
K A
Private key of A
50
Authentication Using Public-Key
Cryptography
- How does Bob know that he’s really talking to Alice?
- How does Alice know the message was sent by Bob?
• Mutual authentication
KA+, KB+: public keys
KB
+(A,
RA)
2 KA+(RA, RB,KA,B)
3
?
Bob
1
Alice

KA,B(RB)
51
Authentication Using Public-Key
Cryptography
KA+, KB+: public keys
Alice
1
KB+(A, RA)
2 KA+(RA, RB,KA,B)
3

Bob

KA,B(RB)
What if KB+ is faked?
52
Security Management

Problem: how do you get keys in the first place?

Key distribution: securely associate an entity with a key
- Example: Public Key Infrastructure (PKI), a system that manages
public key distribution on a wide-scale

Key establishment: establish session keys
- Use public key cryptography (we already know how to do it)
53
Components of a PKI
54
Digital Certificate

Signed data structure that binds an entity (E) with its
corresponding public key (KE+)
- Signed by a recognized and trusted authority, i.e.,
Certification Authority (CA)
- Provide assurance that a particular public key belongs to a
specific entity

How?
- CA generates KCA-(E, KE+)
- Everyone can verify signature using KCA+
55
Certification Authority (CA)


People, processes responsible for creation, delivery
and management of digital certificates
Organized in a hierarchy (use delegation – see
next)
Root CA
CA-1
CA-2
56
Registration Authority

People, processes and/or tools that are responsible
for
- Authenticating the identity of new entities (users or
computing devices)
- Requiring certificates from CA’s.
57
Certificate Repository

A database which is accessible to all users of a PKI,
contains:
- Digital certificates,
- Certificate revocation information
- Policy information
58
Example

Alice generates her own key pair.
private key
Alice
public key
Alice
 Bob generates his own key pair.
private key
Bob
public key
Bob
 Both sent their public key to a CA and receive a digital
certificate
59
Example

Alice gets Bob’s public key from the CA
private key
Alice

Bob gets Alice’s public key from the CA
private key
Bob
60
Certificate Revocation


Process of publicly announcing that a certificate has been
revoked and should no longer be used.
Approaches:
- Use certificates that automatically time out
- Use certificate revocation list
61
More on Secure Channels

In addition to authentication, a secure channel also
requires that messages are confidential, and that they
maintain their integrity.
62
More on Secure Channels

For example: Alice needs to be sure that Bob cannot
change a received message and claim it came from her.
And Bob needs to be sure that he can prove the message
was sent by/from Alice, just in case she decides to deny
ever having sent it in the first place.

Solution: Digital Signing.
?
63
Digital Signatures



Digital signing a message using public-key
cryptography.
This is implemented in the RSA technology.
Note: the entire document is encrypted/signed this can sometimes be a costly overkill.
64
Message Digest (MD) 5

Can provide data integrity and non-repudiation
- Used to verify the authentication of a message


Idea: compute a hash on the message and send it along
with the message
Receiver can apply the same hash function on the message
and see whether the result coincides with the received hash
65
Message Digest Operation

Transformation contains complex operations
Initial digest
(constant)
Message (padded)
512 bits 512 bits
512 bits
Transformation
Transformation
..
.
Transformation
Message digest
66
Digital Signature

In practice someone cannot alter the message without modifying the
digest
- Digest operation very hard to invert


Encrypt digest with sender’s private key
KA-, KA+: private and public keys of A
67
Access Control
Access Control



Once a client and a server have established a secure
channel, the client can issue requests to the server
Requests can only be carried out if the client has
sufficient access rights
The verification of access rights is access control, and
the granting of access rights is authorization

These two terms are often used interchangeably
The Basic Model for Access Control


This model is generally used to help understand the
various issues involved in access control
The subject issues requests to access the object, and
protection is enforced by a reference monitor that
knows which subjects are allowed to issue which
requests
Access Control Matrix



The access control matrix is a matrix with each
subject represented by a row, and each object
represented by a column
The entry M[s, o] lists the operations that subject s
may carry out on object o
?
Of course, we don’t really want to implement it as
a matrix in any system of reasonable size, because
there would be a whole lot of wasted space…
71
Access Control Matrix

There are two main approaches that are used
instead of an actual matrix:


Each object can maintain a list, the access control list, of
the access rights of subjects that want to access that
object - this effectively distributes the matrix columnwise, leaving out empty entries
Each subject can maintain a list of capabilities for each
object - this effectively distributes the matrix row-wise,
leaving out empty entries

Of course, capabilities can’t be totally maintained by the
subjects - they must be given to the subjects by some other
trusted entity (like the reference monitor)
72
Access Control Lists vs. Capabilities
73
Access Matrix
Access Control List
Capability Lists
Protection Domains



ACLs and capabilities help to efficiently implement
the access control matrix, but can still become
quite cumbersome
A protection domain is a set of (object, access
rights) pairs, where each pair specifies for a given
object exactly what operations can be carried out
By associating a protection domain with each
request, we can cut down on redundant
information in access control lists
77
Protection Domains


One approach to using protection domains is to
construct groups of users
Another approach is to use roles instead of groups

Roles: head of a department, manager of a project,
member of a personnel search committee
78
Authorization Management
79
Authorization Management

Granting authorization rights

Related with access control which verifies access rights
80
Capabilities (1)

How to grant a capability?

How to verify a capability?
81
Capabilities (2)

Capability:
- Unforgeable data structure for a specific resource R
- Specify access right the holder has with respect to R

An example:
48 bits
24 bits
8 bits
48 bits
Server port
Object
Rights
Check
82
Capabilities (3)
Owner

Generation of a restricted capability from an owner capability
83
Delegation: Motivation Example

A user Alice has read-only access rights on a large file F

Alice wants to print F on printer P no earlier than 2am
- Method A: Alice sends the entire file F to the printer P;
- Method B: Alice passes the file name to P and printer P copies the
file F to its spooling directory when F is actually needed.
- For method B, Alice needs to delegate her read-only access rights
on F to printer P
84
Delegation: Neuman Scheme

The general structure of a proxy as used for delegation:
85
Delegation: Neuman Scheme

Using a proxy to delegate and prove ownership of access
rights

In practice S+proxy, S-proxy can be a public-private key pair
and N can be a nonce
86
Appendix
87
Shared Secret Key
Authentication

Suppose Alice and Bob share a secret key (KA, B). How can
they setup a secure channel over an insecure medium?
88
1.
2.
3.
4.
5.
Alice sends her identity to Bob.
Bob sends a challenge (random number).
Alice must encrypt and return.
Alice then sends a challenge to Bob.
Bob must encrypt and return.
An Optimization

Authentication based on a shared secret key, but
using three instead of five messages.
Chuck…er…Alice
Attack Attempt




?
Chuck tries to pretend to be Alice.
He sends the initial message to Bob.
Bob responds with the encrypted challenge, but then his own challenge.
Chuck cannot properly respond to the challenge because he doesn’t have
the key.
Reflection Attack

Lesson: never encrypt anything without knowing
who you are encrypting it for.
92
Key Distribution Centers

If there are N parties using shared secret keys, how many
keys are needed?

Alternative is to use a trusted KDC. It has a shared key with
every host.
93
Key Distribution Centers

Disadvantage is that Bob has to get into the loop first.
94
Tickets


Using a ticket and letting Alice set up a connection
to Bob.
Vulnerable to replay attacks if Chuck gets hold on
KB,KDCold
95
Authentication using KDC
(Needham-Schroeder Protocol)
- Nonce: random number used only once to relate two messages
RA1,A,B
2 KA,KDC(RA1,B,KA,B, KB,KDC(A,KA,B))
3
KA,B(RA2), KB,KDC(A, KA,B)
4
KA,B(RA2-1, RB)
5
KA,B(RB-1)
Bob
1
KDC

Relate messages 1 and 2: use challenge response mechanism
RA1, RA2, RB: nonces
Alice

96
What if RA1 is Missing?
Assume Chuck intercepted
KA,KDC(B,KA,B, KB,KDCold(A,KA,B))
(replayed message)
3
KA,B(RA2), KB,KDCold(A, KA,B)
4
KA,B(RA2-1, RB)
5
KA,B(RB-1)
Here Chuck
gets KA,B !
Bob (KB,KDC)
2
A,B
Chuck (KB,KDCold)
1
KDC
- KA,KDC(B,KA,B, KB,KDCold(A,KA,B))
- Knows KB,KDCold
Alice

97
Authentication using KDC
(Needham-Schroeder Protocol)
RA1,A,B
2 KA,KDC(RA1,B,KA,B, KB,KDC(A,KA,B))
3
KA,B(RA2), KB,KDC(A, KA,B)
4
KA,B(RA2-1, RB)
5
KA,B(RB-1)
Bob
1
KDC
Why do we need to include B in message 2?
Alice

98
What if B is Missing from Message 2?
RA1,A,B
2
KA,KDC(RA1,KA,C, KC,KDC(A,KA,C))
3
KA,C(RA2), KC,KDC(A, KA,C)
4
KA,C(RA2-1, RB)
5
KA,C(RB-1)
RA1,A,C
Bob (KB,KDC)
Alice
1
KDC
Assume Chuck intercepts message 1
Chuck

Here Chuck
gets KA,C !
99
Authentication using KDC
(Needham-Schroeder Protocol)
RA1,A,B
2 KA,KDC(RA1,B,KA,B, KB,KDC(A,KA,B))
3
KA,B(RA2), KB,KDC(A, KA,B)
4
KA,B(RA2-1, RB)
5
KA,B(RB-1)
Bob
1
KDC
Vulnerable to replay attacks if Chuck gets hold on KA,B
Alice

100
What if Chuck gets KA,B?
Assume Chuck intercepted
RA1,A,B
Chuck (KA,B)
2 KA,KDC(RA1,B,KA,B, KB,KDC(A,KA,B))
3
KA,B(RA2), KB,KDC(A, KA,B)
Bob
1
KDC
- KA,B(RA2), KB,KDC,(A,KA,B)
- Knows KA,B
Alice

(replayed message)
4
KA,B(RA2-1, RB)
5
KA,B(RB-1)
101
Defend Against leaking of KA,B
A
2
KB,KDC(RB1)
3
RA1,A,B, KB,KDC(RB1)
4 KA,KDC(RA1,B,KA,B, KB,KDC(A,KA,B,RB1))
5
KA,B(RA2), KB,KDC(A, KA,B,RB1)
6
KA,B(RA2-1, RB2)
7
KA,B(RB2-1)
Bob
1
KDC

Message 5 (former 3) contains an encrypted nonce (KB,KDC(RB1)) provided
by Bob.
Chuck can no longer simply replay message 5 (former 3) to fool Bob,
cause message 5 is now related to message 2 by including nonce RB1.
Alice

102
Download