CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

77
CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004

Transcript of CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Page 1: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

CIS/TCOM 551Computer and Network SecuritySlide Set 5

Carl A. GunterSpring 2004

Page 2: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Protocols

Overview Entity Authentication Key Establishment

Page 3: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

General Definition of “Protocol”

A protocol is a multi-party algorithm, defined by a sequence of steps precisely specifying the actions required of two or more parties in order to achieve a specified objective.

Page 4: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Arbitrated Protocols

Page 5: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Adjudicated Protocols

Page 6: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Self-Enforcing Protocols

Page 7: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Protocol Sample Threat

Common strategy. Encrypt for confidentiality. Sign for integrity.

Is it better to sign then encrypt? Or is it better to encrypt then sign? There is a pitfall.

Page 8: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Messages

P -> R : ER(M, DP(M)) R decodes with DR Verifies with EP:

EP(DP(M)) = M ?

P -> R : ER(M), DP(ER(M)) R decodes with DR Verifies with EP:

EP(DP(ER(M))) = ER(M) ?

Page 9: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Pitfall

Interception Scenario P -> O (R) : ER(M), DP(ER(M)) O -> R : ER(M), DO(ER(M))

R might think that M came from O. Is this really a problem? To be safe: sign then encrypt.

Page 10: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Foundations of Authentication

Authentication is based on one or more of the following: Something you know. Something you have. Something inherent about you.

Page 11: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Entity Authentication

Aims and Threats Weak Security: Passwords Strong Security: Challenge-Response

Page 12: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Typical Setup

Claimant Verifier

Userid:Password:

IdentificationAuthentication

Terminology: identification will be used to refer to thecombination of claimed identity and its authentication.

Page 13: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Aim

For honest parties, the claimant A is able to authenticate itself to the verifier B. That is, B will complete the protocol having accepted A’s identity.

Page 14: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Threats

Transferability: B cannot reuse an identification exchange with A to successfully impersonate A to a third party C.

Impersonation: The probability is negligible that a party C distinct from A can carry out the protocol in the role of A and cause B to accept it as having A’s identity.

Page 15: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Assumptions

A large number of previous authentications between A and B may have been observed.

The adversary C has participated in previous protocol executions with A and/or B.

Multiple instances of the protocol, possibly instantiated by C, may be run simultaneously.

Page 16: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Attacks Not Addressed

Identification affirms that communication with the expected party occurred at a given point in time.

Two active attacks are not addressed: Usurpation: The session beginning with

the identification is “usurped” by the attacker as a man-in-the-middle.

Grand Master Postal Attack Problem: A man-in-the-middle relays messages between two parties without changing them.

Page 17: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Unix Passwords

Humans need memorable keys, care must be taken to use these keys properly.

Password Security: A Case History, Robert Morris and Ken Thompson, CACM v22(1979), 594-597.

Page 18: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Make a File of Passwords At first Unix was implemented with a

password file holding the actual passwords of users.

This was vulnerable to many lapses Copies were made by privileged users Copies were made by bugs: classic

example posted password file on daily message file

Physical access to backup was a vulnerability

Information from the password file needed to be replicated into many other files

Page 19: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

First Approach

Encrypt the passwords and keep the encrypted version.

Take the password from the user, encrypt it, and compare with password file entry.

Problems poor user selection of passwords online dictionary attack

On a PDP-11/70 it was possible to compute the encryptions of all passwords using 6 lower-case letters in about 107 hours.

Page 20: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Heuristics for Guessing

The dictionary with the words spelled backwards

A list of first names (best obtained from some mailing list). Last names, street names, and city names also work well.

The above with initial upper-case letters. All valid license plate numbers in your

state. (About 5 hours work in 1979 for New Jersey.)

Room numbers, social security numbers, telephone numbers, and the like.

Page 21: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

A Survey of 3,289 Passwords

With no constraints on choice of password, Morris and Thompson got the following results: 15 were a single ASCII letter. 72 were strings of two ASCII letters. 464 were strings of three ASCII letters. 47 were strings of four alphanumerics. 706 were five letters, all upper-case or

all lower-case. 605 were six letters, all lower case.

Page 22: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Risk in Password Restrictions

An installation required users to accept a machine-selected password.

These were 8 characters long (lower case and digits) and generated from a pseudorandom number generator.

There were only 2**15 starting values (seeds).

Time to search strings of length 8 required 112 years (on machines of the time).

Time to check 2**15 seeds, not long!

Page 23: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Improvements to First Approach

Slower encryption: use password to create a key, then encrypt a constant using 25 iterations of the DES algorithm.

Enforce password rules. “Mess up” DES: change algorithm so

that stock hardware cannot be used.

Page 24: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Slowing Dictionary Attacks

“Salt” the passwords by adding random bits. Makes dictionary attacks more

expensive. Decreases the likelihood that two

identical passwords will appear as identical entries in the password file.

12 bit salt results in 4,096 versions of each password.

Page 25: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Classic Unix Crypt – part 1

Supplied by the user: a password P, truncated to 8 characters by the system.

Held by the system: a 77 bit value consisting of a 12 bit salt S and cryptographic hash derived as follows.

Pad password with zeros if necessary to get 56 bit key K.

Page 26: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Classic Unix Crypt – part 2

Create a modified DES with expansion permutations (32 to 48 bits) determined by S.

Use K as a DES key to encrypt a 64 bit block of zeros, running the encryption 25 times.

This yields a 64 bit ciphertext. Add the 12 bit salt and represent this as 11 7-bit characters.

Page 27: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

One Time Passwords

Shared lists. Sequentially updated. One-time password sequences based

on a one-way function.

Page 28: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Hash-based 1-time Passwords

A claimant identifies itself to verifier B using a one-way hash function H.

One-time setup. A chooses a secret w. Fixes a constant t for the number of

times the verification can be done. A securely transfers H**t(w) to B.

Protocol messages. For the i’th identification where 1 <=i <= t: A -> B: A, i, H**(t-i)(w)

Page 29: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Hash-based 1-time Passwords

Protocol actions. For session i, claimant A does the following to identify itself: A computes w’ = H**(t-i)(w) and transmits

the value to B. B checks that i is the correct session (ie.

that the previous session was i-1) and checks to see if H(v) = w’ where v was the last value provided by A (as part of session i-1).

B saves w’ and i for use in the next session.

Page 30: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Challenge-Response

Background. Random numbers (nonces). Sequence numbers. Timestamps.

Symmetric keys. With timestamps or random numbers.

MAC’s. Asymmetric keys.

With encryption or signature.

Page 31: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Replay

Replay is the treat in which a transmission is observed by an eavesdropper who subsequently reuses it as part of a protocol, possibly to impersonate the original sender.

Example: monitor the first part of a telnet session to obtain a sequence of transmissions sufficient to get a log-in.

There are 3 general strategies for defeating replay attacks: nonces, timestamps, and sequence numbers.

Page 32: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Random Numbers

A random number is a number chosen unpredictably in a range.

In a challenge-response protocol they are used as follows. The verifier chooses a (new) random number

and provides it to the claimant. The claimant performs an operation on it

showing knowledge of a secret. This information is bound inseparably to the

random number and returned to the verifier for examination.

A timeout period is used to ensure “freshness”.

Page 33: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Sequence Numbers

Sequence numbers provide a sequential or monotonic counter on messages.

If a message is replayed and the original message was received, the replay will have an old or too-small sequence number and be discarded.

Cannot detect forced delay. Difficult to maintain when there are

system failures.

Page 34: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Time Stamps

The claimant sends a message with a timestamp.

The verifier checks that it falls within an acceptance window of time.

The last timestamp received is held, and identification requests with older timestamps are ignored.

Good only if clock synchronization is close enough for acceptance window.

Page 35: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Unilateral Symmetric Key

Unilateral authentication with timestamp generated by A. A -> B : E(K, (t, B))

Unilateral authentication with random number generated by B. B -> A : r A -> B : E(K, (r, B))

Page 36: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Mutual Symmetric Key

Using random numbers: B -> A: rB A -> B: E(K, (rA, rB, B)) B -> A: E(K, (rB, rA))

Page 37: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Mutual MAC Function

Let H be a hash function and K be a shared secret between A and B. B -> A: rB A -> B: rA, H(K, (rA, rB, B)) B -> A: H(K, (rB, rA, A))

Page 38: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Passkey Systems

F

S

PIN

A

Display

Claimant A Verifier B

e

y

ChallengeGenerator

Login Request

PasscodeGenerator

F

Secret Database

Compare

(challenge)

(response)

PIN

S

Page 39: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Unilateral Public Key Decryption

Encryption under A’s public key is EA: B -> A : H(r), B, EA(r, B) A -> B : r

The witness H(r) shows knowledge of r and prevents chosen plaintext attacks on EA.

Page 40: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Mutual Public Key Decryption

Let EA and EB be the encryption functions for the public keys of A and B respectively. A -> B: EB(rA, A) B -> A: EA(rA, rB) A -> B: rB

Page 41: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Unilateral Digital Signatures

Let SA and SB be the signature functions of A and B respectively.

Unilateral authentication with timestamps: A -> B: t, B, SA(t, B)

Unilateral authentication with random numbers: B -> A: rB A -> B: rA, B, SA(rA, rB, B) The rA prevents chosen plaintext

attacks.

Page 42: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Mutual Digital Signatures

Using random numbers. B -> A: rB A -> B: rA, B, SA(rA, rB, B) B -> A: A, SB(rB, rA, A)

Page 43: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Primary Attacks

Impersonation. Replay. Interleaving. Reflection. Forced delay. Chosen plaintext.

Page 44: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Primary Controls

Replay: use of challenge-response techniques and embedding target identity in response.

Interleaving: link messages in a run with chained nonces.

Reflection: embed identifier of target party in challenge response, use asymmetric message formats, use uni-directional keys.

Page 45: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Primary Controls, continued

Chosen text: embed self-chosen random numbers (“confounders”) in responses, use “zero knowledge” techniques.

Forced delays: use random numbers with short timeouts, use timestamps with other techniques.

Page 46: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Multiple Use of Keys

There are risks in using keys for multiple purposes.

Using an RSA key for both entity authentication and signatures may allow a chosen-text attack.

B attacker/verifier, rB=H(M) for some message M. B -> A: rB A -> B: B, SA(rB) B(A) -> C: M, SA(H(M))

B, pretending to be A

Page 47: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Effective Control

Notice how the protocol described earlier foils this. Here’s the protocol: B -> A: rB A -> B: rA, B, SA(rA, rB, B)

Here’s what happens: B -> A: rB A -> B: rA, B, SA(rA, rB, B) B(A) -> C: M, SA(rA, H(M), B) C finds that SA(rA, H(M), B) SA(H(M))

and rejects the signature.

Page 48: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Usurpation Attacks

Identification protocols provide assurances corroborating the identity of an entity only at a given instant in time.

Techniques to assure ongoing authenticity: Periodic re-identification. Tying identification to an ongoing

integrity service. For example: key establishment and encryption.

Page 49: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Key Establishment

Symmetric keys. Point-to-Point. Needham-Schroeder. Kerberos.

Asymmetric keys. X.509 key establishment. Attack example. Station To Station (STS) protocol. Bellovin-Merritt protocol.

Page 50: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Symmetric Keys

Key establishment using only symmetric keys requires use of pre-distribution keys to get things going.

These can be based on: Point to point distribution, or Key Distribution Center (KDC).

Page 51: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Point-to-Point

Timestamp. A -> B : E(K, (k, t, B))

Nonce. B -> A : r A -> B : E(K, (k, r, B))

Session Key

ISO/IEC 11770-2

Page 52: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Key Distribution Center

Page 53: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Distribution Center Setup

A wishes to communicate with B. T is a trusted third party that

provides session keys. T has a key KAT in common with A

and a key KBT in common with B. A authenticates T using a nonce rA

and obtains a session key from T. A authenticates to B and transports

the session key securely.

Page 54: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Needham-Schroeder

1. A -> T : A, B, rA2. T -> A : E( KAT, (k, rA, B, E( KBT, (k, A)) ))

A decrypts with KAT and checks rA and B. Holds k for future correspondence with B.

3. A -> B : E( KBT, (k, A))B decrypts with KBT.

4. B -> A : E(k, rB)A decrypts with k.

5. A -> B : E(k, rB – 1)B checks rB-1.

Page 55: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Attack Scenario 1

1. A -> T : A, B, rA2. T -> C (A) : E( KAT, (k, rA, B, E( KBT,

(k, A)) ))C is unable to decrypt the message to A; passing it along unchanged does no harm. Any change will be detected by A.

Page 56: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Attack Scenario 2

1. A -> C (T) : A, B, rA2. C (A) -> T : A, C, rA3. T -> A : E( KAT, (k, rA, C, E( KCT, (k,

A)) ))Rejected by A because C rather than B.

Page 57: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Attack Scenario 3

1. A -> C (T) : A, B, rA2. C -> T : C, B, rA3. T -> C : E( KCT, (k, rA, B, E( KBT, (k,

C)) ))4. C (T) -> A : E( KCT, (k, rA, B, E( KBT,

(k, C)) ))A is unable to decrypt the message.

Page 58: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Attack Scenario 4

1. C -> T : C, B, rA2. T -> C : E( KCT, (k, rA, B, E( KBT, (k,

C)) ))3. C (A) -> B : E( KBT, (k, C))

B will see that the purported origin (A) does not match the identity indicated by the distribution center.

Page 59: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Kerberos Setup

A,T,B, shared keys KAT, KBT as in distribution center.

Nonce rA generated by A. Trusted synchronous clocks for

generating a time t and checking expiration of a lifetime L.

Page 60: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Kerberos Messages

1. A -> T : A, B, rA2. T -> A : E( KBT, (k, A, L)), E( KAT, (k,

rA, L, B))3. A -> B : E( KBT, (k, A, L)), E( k, (A,

t))4. B -> A : E(k, t)

Ticket

Authenticator

Page 61: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Kerberos Actions

1. A -> T : A, B, rA2. T -> A : E( KBT, (k, A, L)), E( KAT, (k, rA,

L, B))Decrypt using KAT, check rA, B, and hold L for future reference.

3. A -> B : E( KBT, (k, A, L)), E( k, (A, t))Decrypt the ticket using KBT to get the session key and lifetime. Use the session key to decrypt the authenticator. Check A, t, L.

4. B -> A : E(k, t)Check t.

Page 62: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Asymmetric Key Exchange

X.509 key establishment. Impersonation case study. STS. Bellovin-Merritt protocol.

Page 63: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

X.509 Key Establishment Setup

X.509 is part of the X.500 series of ISO/IEC standards.

certA and certB are certificates for the public keys of A and B.

A has encryption function EA and signature function SA. B has signature function SB.

rA and rB are nonces. LA and LB are lifetimes (validity

periods).

Page 64: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

X.509 Key Est. Messages

Let DA = EB(k), rA, LA, A. Let DB = rB, LB, rA, A Two messages:

1. A -> B : certA, DA, SA(DA)Check that the nonce rA has not been seen, and is not expired according to LA. Remember it for its lifetime LA.

2. B -> A : certB, DB, SB(DB)Check the rA and A. Check that rB has not been seen and is not expired according to LB.

Page 65: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

X.509 Variant

X.509 supports several variants on the previously-described protocol.

Let DA = EB(kA), rA, LA, A. Let DB = EA(kB), rB, LB, rA, A Two messages:

1. A -> B : certA, DA, SA(DA)2. B -> A : certB, DB, SB(DB)

Both A and B compute a session key f(kA, kB) as a function of subkeys supplied by A and B.

Page 66: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Impersonation Case Study

Page 67: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Protocol X

1. A -> T : A, B2. T -> A : ST(EB, B)3. A -> B : EB(kA, A)4. B -> T : B, A5. T -> B : ST(EA, A)6. B -> A : EA(kA, kB)

Check kA. Calculate session key as f(kA,kB).

7. A -> B : EB(kB) Check kB. Calculate session key as f(kA,kB).

Page 68: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Interleaving Attack on Protocol X

An interleaving attack on this protocol is possible.

An adversary C convinces: A that he is talking to C using session

key k = f(kA, kB). B that his is talking to A using session

key k. C has access to the key k and can

use it to decrypt the responses that B makes to A.

Page 69: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Compromise Scenario

B, C are taxpayers. A is the IRS. A contacts C, (presumably)

authenticates and sets up a session key k. C uses the interleaving attack with B.

B now thinks he is talking to the IRS. C answers questions directed to him

by the IRS. Meanwhile C, pretending to be IRS,

asks B for information about his income for the last 5 years.

Page 70: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

What Went Wrong?

Entity authentication: determining who you are talking to.

Key establishment: settling on a shared session key.

Protocol X admits an interleaving attack that allows an adversary to exploit entity authentication and then step in to exploit key establishment.

Page 71: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Station-To-Station Protocol

Provides key confirmation and mutual authentication without revealing the identities of the participants to other parties.

Based on: Diffie-Hellman. Digital signatures using public key pairs. Symmetric encryption.

Page 72: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Station-To-Station Setup

q prime with primitive root where 1< < q-1. q and are agreed upon by A and B.

XA is the private key of A where 1 <= XA < q. The public key of A is YA = **XA mod q.

XB is the private key of B where 1 <= XB < q. The public key of B is YB = **XB mod q.

k = **(XA * XB) is the session key.

Page 73: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

STS Messages

1. A -> B : YACalculate k.

2. B –> A : YB, E(k, SB(YB, YA))Calculate k, use it to decrypt the signature, check the signature using the verification function of B and known values YB, YA.

3. A -> B : E(k, SA(YA, YB))Decrypt the signature and check it using the verification function of A.

Page 74: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Passwords as Keys

Humans are not good at remembering 56 bit keys.

Solution: use passwords as keys. Setup: P is a password known to both

A and B. EA is a public key for A. Simple protocol:

A -> B : E(P, K) B -> A : E(K, “Terminal type:”)

Page 75: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Simple Protocol Vulnerability

Use a dictionary attack on the password.

This protocol enables an offline attack.

Let P* be a word in a dictionary of likely passwords.

Compute: D(P*, E(P,K)) = K* D(K*, E(K, “Terminal type:”)) = S If S makes sense, then P* = P.

Page 76: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Countermeasure

The server supplies the session key, encrypted under the public key of A.

Guessing P only reveals EA(K), which is not useful in attacking the last message.

1. A -> B : E(P, EA)2. B -> A : E(P, EA(K))3. B -> A : E(K, “Terminal type:”)

Page 77: CIS/TCOM 551 Computer and Network Security Slide Set 5 Carl A. Gunter Spring 2004.

Bellovin-Merritt Protocol

A -> B : A, E(P, EA) B -> A : E(P, EA(K)) A -> B : E(K, rA) B -> A : E(K, (rA, rB)) A -> B : E(K, rB)