Embed
Email

crypto_pres

Document Sample

Shared by: linxiaoqin
Categories
Tags
Stats
views:
0
posted:
12/31/2011
language:
pages:
102
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 Ciphertext Decryption









Plaintext Plaintext

The Shift Cipher

 We “shift” each letter over by a certain

amount five red balloons

Plaintext









Key = 3 Encryption

f+3=I

i+3=L

v+3=Y









ILYH UHG EDOORRQV Ciphertext

The Shift Cipher cont.

 To decrypt, we just subtract the key

ILYH UHG EDOORRQV Ciphertext









Key = 3 Decryption

I-3=f

L-3=i

Y-3=v









five red balloons 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 Ciphertext

 Rather than having a

a G

fixed shift, change

every plaintext letter b X

to an arbitrary c N

ciphertext letter d S

e D

… …

z Q

The Substitution Cipher cont.

a G Plaintext

n B five red balloons

b X o Y

c N p Z

d S q P

Key =

e D r H

f A s W f =A Encryption

g F t I i =L

h V u J

v =R



i L v R

j M w U

k C x K

l O y T ALRD HDS XGOOYYBW Ciphertext

m E z Q

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





0.1

Relative Frequency









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

 Thinkof an Enigma machine that has 2128 pairs of

symbols on each rotor, and 20 rotors





 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

 Ifa 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

 Differentialanalysis 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

 Aliceand 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 Ciphertext Decryption









Plaintext 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!

 Securityof 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



Then sends the Alice decrypts the

key to Alice symmetric key using her

private key

Bob encrypts his

message using

the symmetric

key

Alice decrypts the

Then sends the

hi message using the

message to

symmetric key

Alice

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

Internet Decrypt with

public key 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 Private Message



Encryption 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





1 KB +(A, RA)

?

2 KA+(RA, RB,KA,B)

Alice









Bob

3 KA,B(RB)









51

Authentication Using Public-Key

Cryptography





 KA+, KB+: public keys



1 KB+(A, RA)





2 KA+(RA, RB,KA,B)

Alice









Bob

3 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 public key

Alice Alice







 Bob generates his own key pair.



private key public key

Bob 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 column-

wise, 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. Alice sends her identity to Bob.

2. Bob sends a challenge (random number).

3. Alice must encrypt and return.

4. Alice then sends a challenge to Bob.

5. Bob must encrypt and return.

An Optimization









 Authentication based on a shared secret key, but

using three instead of five messages.

Attack Attempt



Chuck…er…Alice









?







 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)



 Relate messages 1 and 2: use challenge response mechanism

 RA1, RA2, RB: nonces

- Nonce: random number used only once to relate two messages





1 RA1,A,B









KDC

2 KA,KDC(RA1,B,KA,B, KB,KDC(A,KA,B))

Alice









Bob

3 KA,B(RA2), KB,KDC(A, KA,B)



4 KA,B(RA2-1, RB)



5 KA,B(RB-1)









96

What if RA1 is Missing?



 Assume Chuck intercepted

- KA,KDC(B,KA,B, KB,KDCold(A,KA,B))

- Knows KB,KDCold





1 A,B









KDC

KA,KDC(B,KA,B, KB,KDCold(A,KA,B))









Chuck (KB,KDCold)

2









Bob (KB,KDC)

(replayed message)

Alice









3 KA,B(RA2), KB,KDCold(A, KA,B)

Here Chuck

4 KA,B(RA2-1, RB) gets KA,B !

5 KA,B(RB-1)







97

Authentication using KDC

(Needham-Schroeder Protocol)



 Why do we need to include B in message 2?







1 RA1,A,B









KDC

2 KA,KDC(RA1,B,KA,B, KB,KDC(A,KA,B))

Alice









Bob

3 KA,B(RA2), KB,KDC(A, KA,B)



4 KA,B(RA2-1, RB)



5 KA,B(RB-1)









98

What if B is Missing from Message 2?



 Assume Chuck intercepts message 1





1 RA1,A,B RA1,A,C









KDC

2 KA,KDC(RA1,KA,C, KC,KDC(A,KA,C))









Bob (KB,KDC)

Chuck

Alice









3 KA,C(RA2), KC,KDC(A, KA,C)

Here Chuck

4 KA,C(RA2-1, RB) gets KA,C !



5 KA,C(RB-1)









99

Authentication using KDC

(Needham-Schroeder Protocol)



 Vulnerable to replay attacks if Chuck gets hold on KA,B





1 RA1,A,B









KDC

2 KA,KDC(RA1,B,KA,B, KB,KDC(A,KA,B))

Alice









Bob

3 KA,B(RA2), KB,KDC(A, KA,B)



4 KA,B(RA2-1, RB)



5 KA,B(RB-1)









100

What if Chuck gets KA,B?

 Assume Chuck intercepted

- KA,B(RA2), KB,KDC,(A,KA,B)

- Knows KA,B





1 RA1,A,B









KDC

2 KA,KDC(RA1,B,KA,B, KB,KDC(A,KA,B))

Alice









Bob

3 KA,B(RA2), KB,KDC(A, KA,B)

Chuck (KA,B)









(replayed message)



4 KA,B(RA2-1, RB)



5 KA,B(RB-1)





101

Defend Against leaking of KA,B

 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.

1 A



2 KB,KDC(RB1)





3 RA1,A,B, KB,KDC(RB1)









KDC

4 KA,KDC(RA1,B,KA,B, KB,KDC(A,KA,B,RB1))

Alice









Bob

5 KA,B(RA2), KB,KDC(A, KA,B,RB1)



6 KA,B(RA2-1, RB2)



7 KA,B(RB2-1)

102



Other docs by linxiaoqin
Volume 9 Issue 1- Winter 2-4-2004 _Read-Only_
Views: 13  |  Downloads: 0
VOLUME 35_ NUMBER 5 DECEMBER 10_ 2007
Views: 8  |  Downloads: 0
Volmer Axel-Antero
Views: 23  |  Downloads: 0
Voices for Change
Views: 7  |  Downloads: 0
Vocation Vacation
Views: 8  |  Downloads: 0
VISIT OUR SHOP CONTACT US
Views: 9  |  Downloads: 0
Visit of cellars
Views: 7  |  Downloads: 0
By registering with docstoc.com you agree to our
privacy policy

You are almost ready to download!

You are almost ready to download!