Lecture 4 (Weds 10/8/97), part 2

Scribe: Martin Sweitzer

Kerberos Authentication


Flaws in Authentication Protocols

4 parts of Kerberos
  1. Kerberos
  2. Client
  3. Tickeing Granting Service
  4. Server



Steps:

0) Request for Ticket-Granting Ticket (sent as plaintext)
1) Kerberos sends back a Ticket-Granting Ticket
2) Request for Server Ticket from the TGS
3) Server Tciket is sent back to the client
4) Request for Service sent to the server


Message contents
0) c, tgs
1) {Kc, tgs}Kc, {Tc, tgsKtgs
2) {Ac,s}Kc, tgs, {Tc,tgs} Ktgs
3) {Kc,s} Kc,tgs, {Tc,s}Ks
4) {Ac,s}Kc,s, {Tc,s}Ks


A Kerberos Ticket
{Tc,s}Ks = {s, c, addr, timestamp, lifetim, Kc,s} Ks

Authenticator

{Ac}Kc,s = {c, addr, timestamp}Kc,s



Kerberos Has Weaknesses


Replay Attacks

Authenticator relies on the timestamp to guard against reuse

The idea of the timestamp was that by the time the key is stolen the timestamp will have made it irrelevant. This is NOT true, everything the hackers need to use the key is already set up!


You can not do Live Authentication becuase of the limitations with current software (ie unix TCP forks a separate process to handle each incoming request.

Secure Time Services

Relies on clock Synchronization

Hosts can be misled about the time

     Really hard problem to solve here. Can use a challenge and response mechanism, may have to expand the protocol... tho


Password Guessing

Kerberos relies on the client's password And one can guess the password as the initial request is encrypted with Kc
     Can use Exponential Key Exchange (in Applied Cryptography) Encrypt first request (thos this adds 2 more messages to the protocol)


Spoofing Login

The Bad guys can just replace the login with a loging that records everyones password that uses that machine. (ie kerberos assumes that the login procedure is secure)

One time password might work here.


Session Key Exposure.

The key is used in multiple Sessions and is vulnerable to substituion.

Solution:
     Have the session key be generated by the server. Computer as a session-specific function of the mult-session key



Ticket Scope


Tickets have a limited time.

Tickets are limited to realms

There has been much talk about the pseudo random number generator. About if you know cen ata you are able to find the state of the pseudo random generator andthen able to find the session key. Once you have this you are IN!

Need better key generation



Kerberos Summary:


It assumes that ALL parts are secure. This is NOT true.






Neuman-Stubblebine


0) A generates Nonce Ra
1) Uses A1Ra with timestamp then sends with B timestamp
2) Creates 3 part message:
     gives nonce to A
     sends session key Kab to A
     sends nonce also
3) A can now send a message


Why is Neuman-Stubblebine good?
Does not rely on synchronized clocks
Smaller set of message than kerberos
Client and Server can re-authenticate without relying on auth. server it is bad form to double encrypt: gives more info opponent


Why is it bad?

Bad form to doubel encrypt. Gives the opponent more information.


Paradox Attack


X -> A, Rx -> B
B -> B, (A, Rx, Tb)Kbs, Rb -> S
S -> Ignore all -> X
X -> (A, Rx, Tb)Kbs, (Rb)Rx -> B


Parallel Session Attack


Rx, Stolen Ticket -->

<-- Rb, (Rx)Kab

Rb, Stolen Ticket ---->

<---- R'b (Rb)Kab

(Rb)Kab -->


Attacker uses the first run's bits to attack the second time.


Counter Measures:

Modiefied Initial Exchange Protocol

ciphertext of MSG 2 = ticket of MSG 3 (ie so you can look at the encrypted text and see if it the same)


Modiefied the Authen Protocol such that there is a Time stamp. That way the K is different



Over view of the Cryptographic Protocol Flaws




Oracle Flaws


Three Pass Protocol

A to B {M}kA
B to A: {{M}Ka}Kb
A to B: {M}Kb



Single-role oracle attack

Alice to Eve-bob: {M}Ka
Eve-bob to Alice: {M}Ka
Alice to Eve-bob: M


Multi-role Environment


AliceA to Eve-bobB: {M}Ka
Eve-bobA to AliceB: {M}Ka
AliceB to Eve-bobA: M
Eve-bobB to AliceA: bogus
AliceA to Eve-bobB: {bogus}Ka


Eve gets Alice to generate a Bogus Message!!!


Type Flaws


Are a sub-class of Oracle Flaws

Type information can distinguish

- Cryptographic Protocol Identification
- Run Number
- Transmission Step
- Sub-component Identification
- Distinct words have primitive types



A Taxonomy of Replay Attacks


"Replay"- The capture of a message or a piece of a message that is then used at a later time

"Protocol Run" - any singl execution of a protocol by the relevant participants

Originnation Taxonomy
    - Run External Attacks
       - Interleavings
       - Classic Reaplys

   - Run Interna Attacks

Destination Taxonomy



Interleavings


Ban-Yahalom Protocol

0) A to B : A, Na
1) B to S: B, Nb, {A, Na}Kbs
2) S to A: Nb, {B, Kab, Na}Kas, {A, Kab, Nb}Kbs

{B, Kab, Na} = ticket

3) A to B: {A, Kab, Nb}Kbs, {Nb}Kab


0) A to B: A, Na
1) B to S: B, Nb, {A, Na}Kbs
    (0') Ea to B: A,{Na, Nb)
    (1') B to Es: B, N'b, {A, Na, Nb}Kbs
2) Omitted
3) Ea to B: {A, Na(=Kab), Nb}Kbs, {Nb}Kab



Destination Taxonomy Summary


Deflections - Message is directed to other than the intened recipient
    -Reflections-Message is sent back to sender
    -Deflections-Message is sent to a third party

Straight replays - Intended principal receives message, but message is delayed




Countermeasures

Taxonomies provide insight to countermeasures


Proposed Countermeasures
  - message typing
  - sender and reciever identification
  - asymmetrical message types

Useful for determining appropriate analysis techniques