ostore.mac
Class PartyInfo

java.lang.Object
  |
  +--ostore.mac.PartyInfo

public class PartyInfo
extends Object

Party information for DHMessage and MacStage to keep track of what stage of STS is established between this computer and another party

This is tailored specifically for internal HMACDHHandler usage


Field Summary
 javax.crypto.interfaces.DHPrivateKey dhpri
          My private Diffie-Hellman key
 javax.crypto.interfaces.DHPublicKey dhpub
          My public Diffie-Hellman key
 javax.crypto.interfaces.DHPublicKey dhpubOther
          The other party's public Diffie-Hellman key
static int ESTABLISHED
          A connection has been established and secret ready for use.
 javax.crypto.SecretKey secret
          Our little secret (generated from the DH handshake, acts as seed for other shared secrets, in this case the HMAC)
 int sessionRetries
          A counter for number of restarts during a handshake session.
 QSPublicKey sigpub
          Their public signature key
 int state
          The my current state during the handshake
 Object timerToken
          Timer token for use with session timeouts.
static int UNINIT
          Uninitiated State.
 Vector usedKeys
          Keeps track of DH keys that have been used with this DH key pair as a protection against replay attacks.
static int WAITFORFINAL
          Waiting for DHMessage.FINALIZE from other party
static int WAITFORRESPONSE
          Waiting for DHMessage.RESPOND from other party
 
Method Summary
 void print()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

UNINIT

public static int UNINIT
Uninitiated State.

WAITFORRESPONSE

public static int WAITFORRESPONSE
Waiting for DHMessage.RESPOND from other party

WAITFORFINAL

public static int WAITFORFINAL
Waiting for DHMessage.FINALIZE from other party

ESTABLISHED

public static int ESTABLISHED
A connection has been established and secret ready for use.

dhpub

public javax.crypto.interfaces.DHPublicKey dhpub
My public Diffie-Hellman key

dhpri

public javax.crypto.interfaces.DHPrivateKey dhpri
My private Diffie-Hellman key

secret

public javax.crypto.SecretKey secret
Our little secret (generated from the DH handshake, acts as seed for other shared secrets, in this case the HMAC)

dhpubOther

public javax.crypto.interfaces.DHPublicKey dhpubOther
The other party's public Diffie-Hellman key

sigpub

public QSPublicKey sigpub
Their public signature key

state

public int state
The my current state during the handshake

sessionRetries

public int sessionRetries
A counter for number of restarts during a handshake session. An implementing MacHandler will decide what a reasonable ceiling for this is. Should be set to zero upon a sucessful handshake session.

timerToken

public Object timerToken
Timer token for use with session timeouts.

usedKeys

public Vector usedKeys
Keeps track of DH keys that have been used with this DH key pair as a protection against replay attacks. TODO: if too big need to stop talking to this person. threshold at 100, then we'd have to worry about an attacker changing their guid over and over again to fill up memory space. DDOS attack.
Method Detail

print

public void print()