edu.nyu.cs.pdsg.drbac.trust
Class DrbacAuthorizationMonitor

java.lang.Object
  extended byedu.nyu.cs.pdsg.drbac.trust.DrbacAuthorizationMonitor
All Implemented Interfaces:
AuthorizationMonitor, ProofChangedListener

public class DrbacAuthorizationMonitor
extends java.lang.Object
implements AuthorizationMonitor, ProofChangedListener


Nested Class Summary
private  class DrbacAuthorizationMonitor.CallbackCallerThread
           
 
Field Summary
private  boolean alreadyRetried
           
private  AttributeSet attributes
          The modulated values accumulated in forming the proof
private  java.util.LinkedList callbacks
          AuthorizationMonitorCallbacks
private  java.security.PublicKey identity
          The identity of the subject
private  Role object
          The credentials and the permissions they map to
private  ProofCredentials proofCreds
          Proof provided as credentials
private  ProofMonitor proofMonitor
          The dRBAC monitor on the elements of the proof
private  boolean state
          Master state of the proof
private  Role subject
          The credentials and the permissions they map to
 
Constructor Summary
DrbacAuthorizationMonitor(Credentials _credentials, Role _object, java.security.PublicKey _identity, AttributeSet _attributes)
          Constructing a DrbacAuthorizationMonitor is equivalent to:
 
Method Summary
 void addCallback(AuthorizationMonitorCallback amc)
          Add a callback that will be informed of changes to the credentialed trust status
private  void addCallbackSync(AuthorizationMonitorCallback amc)
           
private  void callbacksAuthorizationInform()
           
private  boolean compareKeys(java.security.PublicKey keyA, java.security.PublicKey keyB)
          Checks that two keys match
private  void enterCredentialsIntoSystem()
           
 java.lang.Object getConstraint(Role attributeRole)
           
 AttributeSet getConstraints()
           
 java.lang.String getSubjectName()
           
 void init()
          System-specific initialization
 boolean isAuthorized()
          Gets the current state of authorization
 void proofChanged(ProofChangedEvent evt)
          The event contains an Object source and an Object status.
 void removeCallback(AuthorizationMonitorCallback amc)
          Remove a callback
private  void removeCallbackSync(AuthorizationMonitorCallback amc)
           
private  void setState(boolean newState)
          Changes the state variable and informs the AuthorizationMonitorCallback of the state change
 java.lang.String toString()
           
 void updateCredentials(Credentials creds)
          Allows the auhorized party to provide a new set of credentials.
private  boolean verifyCredential()
          Does most of the work of proving/disproving the delegation
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

state

private boolean state
Master state of the proof


callbacks

private java.util.LinkedList callbacks
AuthorizationMonitorCallbacks


proofCreds

private ProofCredentials proofCreds
Proof provided as credentials


subject

private Role subject
The credentials and the permissions they map to


object

private Role object
The credentials and the permissions they map to


attributes

private AttributeSet attributes
The modulated values accumulated in forming the proof


identity

private java.security.PublicKey identity
The identity of the subject


proofMonitor

private ProofMonitor proofMonitor
The dRBAC monitor on the elements of the proof


alreadyRetried

private boolean alreadyRetried
Constructor Detail

DrbacAuthorizationMonitor

public DrbacAuthorizationMonitor(Credentials _credentials,
                                 Role _object,
                                 java.security.PublicKey _identity,
                                 AttributeSet _attributes)
                          throws AuthorizationException
Constructing a DrbacAuthorizationMonitor is equivalent to:

verify that _subject is _identity, and
prove [_subject -> _object w/ [_attributes]]

Method Detail

isAuthorized

public boolean isAuthorized()
Gets the current state of authorization

Specified by:
isAuthorized in interface AuthorizationMonitor

updateCredentials

public void updateCredentials(Credentials creds)
                       throws AuthorizationException
Allows the auhorized party to provide a new set of credentials. The AuthorizationMonitor should check the new credentials, see that they are valid, and seamlessly change its focus to the new credentials.

Specified by:
updateCredentials in interface AuthorizationMonitor
Throws:
AuthorizationException

addCallback

public void addCallback(AuthorizationMonitorCallback amc)
Add a callback that will be informed of changes to the credentialed trust status

Specified by:
addCallback in interface AuthorizationMonitor

addCallbackSync

private void addCallbackSync(AuthorizationMonitorCallback amc)

removeCallback

public void removeCallback(AuthorizationMonitorCallback amc)
Remove a callback

Specified by:
removeCallback in interface AuthorizationMonitor

removeCallbackSync

private void removeCallbackSync(AuthorizationMonitorCallback amc)

init

public void init()
Description copied from interface: AuthorizationMonitor
System-specific initialization

Specified by:
init in interface AuthorizationMonitor

proofChanged

public void proofChanged(ProofChangedEvent evt)
The event contains an Object source and an Object status. What the application decides to do with these is app-dependent.

Specified by:
proofChanged in interface ProofChangedListener

compareKeys

private boolean compareKeys(java.security.PublicKey keyA,
                            java.security.PublicKey keyB)
Checks that two keys match


enterCredentialsIntoSystem

private void enterCredentialsIntoSystem()

verifyCredential

private boolean verifyCredential()
Does most of the work of proving/disproving the delegation


setState

private void setState(boolean newState)
Changes the state variable and informs the AuthorizationMonitorCallback of the state change


callbacksAuthorizationInform

private void callbacksAuthorizationInform()

getConstraint

public java.lang.Object getConstraint(Role attributeRole)

getConstraints

public AttributeSet getConstraints()

getSubjectName

public java.lang.String getSubjectName()

toString

public java.lang.String toString()


Copyright (c) 2002-2003 New York University RLAB