org.ccnx.ccn.profiles.security.access.AccessControlProfile Class Reference

This is a Profile defining basic naming and data standards to apply access control on a particular subtree and all the data contained below it. More...

Inheritance diagram for org.ccnx.ccn.profiles.security.access.AccessControlProfile:

org.ccnx.ccn.profiles.CCNProfile org.ccnx.ccn.profiles.security.access.group.GroupAccessControlProfile

List of all members.

Static Public Member Functions

static boolean isAccessName (ContentName name)
 Returns whether the specified name contains the access control marker.
static ContentName accessRoot (ContentName name)
 Truncates the specified name at the access control marker.
static ContentName rootName (ContentName nodeName)
 Return the name of the root access control policy information object, if it is stored at node nodeName.
static ContentName rootPostfix ()
 Return the set of name components to add to an access root to get the root name.
static ContentName dataKeyName (ContentName nodeName)
 Get the name of the data key for a given content node.
static boolean isDataKeyName (ContentName name)
 Returns whether the specified name is a data key name.
static final ContentName getAccessControlPolicyName (ContentName policyPrefix)
 Return the name of the access control policy under a known policy prefix.
static ContentName AccessControlPolicyContentName ()
static boolean isAccessControlPolicyName (ContentName name)
 Returns whether the specified name contains the access control policy marker.
static ContentName getAccessControlPolicyMarkerName (ContentName accessControlNamespace)
 Get the policy marker name for a given namespace to access control.

Static Public Attributes

static final CommandMarker ACCESS_CONTROL_MARKER
static final byte[] ACCESS_CONTROL_MARKER_BYTES = ACCESS_CONTROL_MARKER.getBytes()
static final String ROOT_NAME = "ROOT"
static final byte[] ROOT_NAME_BYTES = ContentName.componentParseNative(ROOT_NAME)
static final String DATA_KEY_NAME = "DK"
static final byte[] DATA_KEY_NAME_BYTES = ContentName.componentParseNative(DATA_KEY_NAME)
static final String ACCESS_CONTROL_POLICY_NAME = "AccessControl"
static final byte[] ACCESS_CONTROL_POLICY_NAME_BYTES = ACCESS_CONTROL_POLICY_NAME.getBytes()

Static Protected Attributes

static final ContentName ACCESS_CONTROL_POLICY_CONTENTNAME = new ContentName(new byte [][] {ACCESS_CONTROL_POLICY_NAME_BYTES})
static final ContentName ROOT_POSTFIX_NAME = new ContentName(new byte [][] {ACCESS_CONTROL_MARKER_BYTES, ROOT_NAME_BYTES})


Detailed Description

This is a Profile defining basic naming and data standards to apply access control on a particular subtree and all the data contained below it.

It is intended to be generic, and specialized by further protocols (e.g. GroupAccessControlProfile), that would definte particular access control schemes. It focuses primarily on the definition of names for namespace control data, policy data, and keys. For descriptions of data, and how this access control system functions, see the separate CCNx Access Control Specifications Document.

It is not clear that the division between "generic" and "specific" is yet correct; what we want to do is define a small set of common features that need to be agreed on by all access control (by encryption) schemes that want to participate in this framework, and put all and only those common elements here. This is a first or 2nd cut; future iterations may move elements in or out.


Member Function Documentation

static boolean org.ccnx.ccn.profiles.security.access.AccessControlProfile.isAccessName ( ContentName  name  )  [static]

Returns whether the specified name contains the access control marker.

Parameters:
name the name
Returns:

static ContentName org.ccnx.ccn.profiles.security.access.AccessControlProfile.accessRoot ( ContentName  name  )  [static]

Truncates the specified name at the access control marker.

Parameters:
name the name
Returns:
the truncated name

static ContentName org.ccnx.ccn.profiles.security.access.AccessControlProfile.dataKeyName ( ContentName  nodeName  )  [static]

Get the name of the data key for a given content node.

This is nodeName/_access_/DK.

Parameters:
nodeName the name of the content node
Returns:
the name of the corresponding data key

static boolean org.ccnx.ccn.profiles.security.access.AccessControlProfile.isDataKeyName ( ContentName  name  )  [static]

Returns whether the specified name is a data key name.

Parameters:
name the name
Returns:

static final ContentName org.ccnx.ccn.profiles.security.access.AccessControlProfile.getAccessControlPolicyName ( ContentName  policyPrefix  )  [static]

Return the name of the access control policy under a known policy prefix.

Parameters:
policyPrefix 
Returns:

static boolean org.ccnx.ccn.profiles.security.access.AccessControlProfile.isAccessControlPolicyName ( ContentName  name  )  [static]

Returns whether the specified name contains the access control policy marker.

Parameters:
name the name
Returns:


Member Data Documentation

final CommandMarker org.ccnx.ccn.profiles.security.access.AccessControlProfile.ACCESS_CONTROL_MARKER [static]

Initial value:

 
                CommandMarker.commandMarker(CommandMarker.MARKER_NAMESPACE, "ACCESS")


The documentation for this class was generated from the following file:

Generated on Thu Feb 16 00:45:04 2012 for Content-Centric Networking in Java by  doxygen 1.5.6