Module TransportSecurity

Module TransportSecurity

The Transport Security Module contains the data definitions and Application Programmers Interface for dealing with ORB security at the Transport Layer. This security is commonly known as Common Secure Interoperability Version 1 (CSIv1).

This module uses the data and valuetype definitions of the SecurityLevel3 module, to give a common representation of important security information, such as Principals and Statements about Principals.

In order to let this module stand on its own, many of the primitive data definitions parallel those of the Security Level 3 module, such as string types, and integer constants. For example, CredentialsType, CredentialsUsage, CredentialsState, CredsDirective, FeatureDirective, all have type names and constant names that parallel in both name and values to their counterparts in the SecurityLevel3 module. At least in Java, where the IDL language mapping dereferences types to their most primitive type (such as int), these values can be used interchangeably between modules, in your Java code.

The Transport Security Service parallels the Security Level 3 module in that brings forth the security service (for the Transport Layer) with two objects that are returned by the ORB's resolve_initial_references call. These two objects are: the TransportSecurity::SecurityManager, and TransportSecurity::SecurityCurrent objects.

The Transport Security Service has the same Credentials model we use in SecurityLevel3. This model, which is heavily based on the Principal Calculus, yields an API for accessing principal information. The credentials represent the ORB's credentials, as well as the establishment of security contexts between client and servers.

The Transport Security Service is currently CSIv1 Level 0 and Level 1 compliant depending on the ORB options

Each mechanism (SSL, TCPIP, Kerberos) has its own security characteristics which are illustrated by the credentials initiator (client side) or acceptor (server side). These security characteristics are:

The Credentials Curator is an object that is retrievable off of the TransportSecurity::SecurityManager. You use this object to acquire transport OwnCredentials. Transport Credentials give you the ability to communicate with other clients and servers with transport security protection. However, we model plain IIOP (GIOP/TCP/IP) with the same credentials model. This gives you the ability to extract information from clients and target objects, such as their Internet addresses, which may be useful in your access control and auditing decisions.

You cannot communicate with IIOP ORBs unless you acquire TCPIP credentials.

Local Interface Index

AcceptingContext
An AcceptingContext is an extension of ClientCredentials and represents a live connection with the client.
AcceptingContextClosedListener
The AcceptingContextClosedListener local interface is used by auditing functions that want to monitor the closing or shutdown of existing accepting contexts.
AcceptingContextEstablishmentListener
This local interface is used by mostly by auditing functions that want to monitor the establishment of new accepting contexts.
ClientCredentials
An object of this interface represents an established secure association with a client.
ContextEstablisher
A ContextEstablisher represents the potential connection to a remote target with which to establish an InitiatingContext.
ContextEstablishmentPolicy
The ContextEstablishmentPolicy policy object directs the establishment of security contexts with a target.
CredentialsAcceptor
This interface represents the acceptor side of the OwnCredentials.
CredentialsAcquirer
An object of this interface is created by the CredentialsCurator in managing the acquisition of an OwnCredentials object.
CredentialsCreationListener
This local interface may be used by transport components to get notified when credentials have been created and are enabled.
CredentialsCurator
The CredentialsCurator object is a single object per an ORB instance's Transport Security Service.
CredentialsInitiator
This interface represents the initiator side of the OwnCredentials.
IdentityTokenGenerator
An object of theIdentityTokenGenerator interface may be used by the TokenGenerator to assert a particular identity over the transport.
InitiatingContext
An Initiating Context is an extension of TargetCredentials and represents a live connection with the target.
InitiatingContextClosedListener
The InitiatingContextClosedListener local interface is used by auditing functions that want to monitor the closing or shutdown of existing initiating contexts.
InitiatingContextEstablishmentListener
This local interface is used by auditing functions that want to monitor the establishment of new initiating contexts.
ObjectCredentialsPolicy
This policy is placed on a POA to indicate the own credentials that govern the accepting contexts for objects underneath that POA.
OwnCredentials
This interface is the own credentials.
RelinquishedCredentialsListener
This local interface is used to notify the user when the credentials have been relinquished.
SecurityCurrent
The SecurityCurrent object holds thread specific data pertaining to the security service.
SecurityManager
The SecurityManager holds TransportSecurity Service information and operations.
TargetCredentials
Objects of this interface are returned by the SecurityManager's get_target_credentials operation.
TransportAcceptor
An object of the TransportAcceptor interface is part of the Own Credentials and is used to accept secure associations from clients.
TransportAcceptorShutdownListener
The TransportAcceptorShutdownListener local interface is used by auditing functions that want to monitor the shutdown of a TransportAcceptor.
TransportCredentials
This interface is the base interface for all the transport credentials, own, target, and client.
TransportCredentialsCurator
The TransportCredentialsCurator local interface is used by the ORB Interceptor to enable any of its valid credentials to start accepting security contexts if not already doing so.
TransportInitiator
An object of the TransportInitiator interface is associated with Transport OwnCredentials.
TransportOwnCredentials
The TransportOwnCredentials extension of the OwnCredentials is used to give the ability for users these credentials to get notification when these credentials finally become relinquished.

Alias Index

AcceptingContextList
AcquisitionMethod
This type specifies a method for acquiring the transport credentials which is specific to the MechanismId.
AcquisitionMethodList
AcquisitionStatus
An acquisition of credentials may quite possibly fail as well as be a multistep process.
CSIVersion
The CSIVersion type has two constants which represent the versions of Common Security Interoperability as defined by the OMG.
ContextEstablisherId
ContextEstablisherIdList
ContextEstablisherList
ContextId
A Context Id is a system generated unique identifier for identifying a security context to the application.
ContextIdList
CredentialsId
CredentialsIdList
CredentialsState
A Credentials object has a validity state.
CredentialsType
Credentials.
CredentialsUsage
Credentials Usage refers to the concept that Credentials may be used to initiate security context, accept security contexts, or do both.
CredsDirective
A CredsDirective is a directive on a invocation as to the effects of the initiated security context will have on the the accepting side.
ExternalizationType
The ExternalizationType is a string that is used for requesting the externalization format/type of Transport Security credentials, if it is supported by the particular mechanism.
FeatureDirective
A Feature Directive is a general directive used in policy that stipulates the of a particular feature.
InitiatingContextList
ListenerId
This type is used to identify listeners for removal.
MechanismId
This type specifies the transport mechanisms, such as TCPIP, TLS, SECIOP-Kerberos.
MechanismList
OwnCredentialsList

Constant Index

ADIRON_VMCID
The Adiron VMCID, which is used in Minor Error Codes, Policy Tags, etc.
AQST_Continued
Acquisition needs more processing.
AQST_Expired
Acquisition has expired.
AQST_Failed
Acquisition has failed.
AQST_Initialized
Acquisition is initialized.
AQST_Succeeded
Acquisition has succeeded.
CD_Default
The CD_Default CredsDirective is a value that signifies to use the capabilities of the selected credentials.
CD_EmbodyTarget
The CD_EmbodyTarget CredsDirective is a value that signifies that the selected credentials, if capable, should attempt to embody the target.
CD_EndorseTarget
The CD_EndorseTarget CredsDirective is a value that signifies that the selected credentials, if capable, should attempt to endorse the target.
CD_InvokeTarget
The CD_InvokeTarget CredsDirective is a value that signifies that the selected credentials should only be used in a simple invocation fashion.
CSIv1
This constant represents CSIv1, which is the ability to handle security only at the transport layer.
CSIv2
This constant represents CSIv2, which has the the ability to associate and process CSIv2 requests over its transport protection layer.
CS_Expired
Credentials with a CredentialsState of CS_Expired can no longer be used for initiating or accepting establishment of any security contexts.
CS_Initialized
Credentials with a CredentialsState of CS_Initialized can not be used for initiating or accepting establishment of any security contexts.
CS_Invalid
The Credentials with a CredentialsState of CS_Invalid cannot be used in any the initiating or accepting establishment of any security contexts.
CS_PendingRelease
Credentials with a CredentialsState of CS_PendingRelease can no longer be used for initiating or accepting establishment of any security contexts.
CS_Valid
Credentials with a CredentialsState of CS_Valid can be used for initiating or accepting establishment of security contexts.
CT_ClientCredentials
The CT_ClientCredentials CredentialsTypes signifies that the Credentials can be extended to the ClientCredentials Type.
CT_OwnCredentials
The CT_OwnCredentials CredentialsTypes signifies that the Credentials can be extended to the OwnCredentials Type.
CT_TargetCredentials
The CT_TargetCredentials CredentialsTypes signifies that the Credentials can be extended to the ClientCredentials Type.
CU_AcceptOnly
The CU_AcceptOnly CredentialsUsage type is a value that signifies that the credentials can only be used to accept the establishment of security contexts.
CU_Indefinite
The CU_Indefinite CredentialsUsage type is a value that signifies the default.
CU_InitiateAndAccept
The CU_InitiateAndAccept CredentialsUsage type is a value that signifies that the credentials can be used to both initiate and accept the establishment of security contexts.
CU_InitiateOnly
The CU_InitiateOnly CredentialsUsage type is a value that signifies that the credentials can only be used to initiate the establishment of security contexts.
CU_None
The CU_None CredentialsUsage type is a value that states the credentials can not be used to make or accept security contexts.
ContextEstablishmentPolicyType
The ContextEstablishmentPolicyType constant is holds value used to denote the ContextEstablishmentPolicy.
FD_DoNotUse
The FD_DoNotUse FeatureDirective means definitely not to use the feature.
FD_DoNotUseIfPossible
The FD_DoNotUseIfPossible FeatureDirective means not to use the feature if it is possible.
FD_Use
The FD_Use FeatureDirective means definitely to use the feature.
FD_UseDefault
The FD_UseDefault FeatureDirective means to use or not to use the feature depending on defaults.
FD_UseIfPossible
The FD_UseIfPossible FeatureDirective means to use the feature if it is possible.
ObjectCredentialsPolicyType
The ObjectCredentialsPolicyType constant is holds value used to denote the ObjectCredentialsPolicy.

Struct Index

IdentityTokenInfo
The IdentityTokenInfo structure is returned by the IdentityTokenGenerator when it generates a CSI Identity token.

Aliases

AcceptingContextList
typedef sequence<AcceptingContext> AcceptingContextList;

AcquisitionMethod
typedef string AcquisitionMethod;

This type specifies a method for acquiring the transport credentials which is specific to the MechanismId. It is the AcquisitionMethod that specifies the arguments needed to acquire the credentials.

AcquisitionMethodList
typedef sequence<AcquisitionMethod> AcquisitionMethodList;

AcquisitionStatus
typedef long AcquisitionStatus;

An acquisition of credentials may quite possibly fail as well as be a multistep process. A status defines the current state of an acquisition.

CSIVersion
typedef long CSIVersion;

The CSIVersion type has two constants which represent the versions of Common Security Interoperability as defined by the OMG. These constants are used to indicate whether a transport will handle CSIv1 or CSIv2 requests. This is important, since CSIv2 transports handle state retention of CSIv2 security contexts that are associated with the transports.

ContextEstablisherId
typedef string ContextEstablisherId;

ContextEstablisherIdList
typedef sequence<ContextEstablisherId> ContextEstablisherIdList;

ContextEstablisherList
typedef sequence<ContextEstablisher> ContextEstablisherList;

ContextId
typedef string ContextId;

A Context Id is a system generated unique identifier for identifying a security context to the application. Security Contexts may be long lived and not established on every request. Therefore, an identifier is assigned.

ContextIdList
typedef sequence<ContextId> ContextIdList;

CredentialsId
typedef string CredentialsId;

CredentialsIdList
typedef sequence<CredentialsId> CredentialsIdList;

CredentialsState
typedef long CredentialsState;

A Credentials object has a validity state. Some credentials may be time or use dependent.

CredentialsType
typedef unsigned long CredentialsType;

Credentials.

Credentials come in three types. OwnCredentials, ClientCredentials, and TargetCredentials. OwnCredentials represent the ORB instance's credentials. Each Credentials has initiating and accepting capability. ClientCredentials represent an established security context with a client. TargetCredentials represent an established security context with a Target's Server.

CredentialsUsage
typedef unsigned long CredentialsUsage;

Credentials Usage refers to the concept that Credentials may be used to initiate security context, accept security contexts, or do both. its values are used in the acquisition of credentials for the purpose of designating the abilities of the credentials acquired.

CredsDirective
typedef unsigned long CredsDirective;

A CredsDirective is a directive on a invocation as to the effects of the initiated security context will have on the the accepting side. Please see ContextEstablishmentPolicy for is use in context with establishing security contexts.

See Also:
ContextEstablishmentPolicy

ExternalizationType
typedef string ExternalizationType;

The ExternalizationType is a string that is used for requesting the externalization format/type of Transport Security credentials, if it is supported by the particular mechanism.

FeatureDirective
typedef long FeatureDirective;

A Feature Directive is a general directive used in policy that stipulates the of a particular feature. Such examples include, confidentiality, integrity, client authentication, etc.

InitiatingContextList
typedef sequence<InitiatingContext> InitiatingContextList;

ListenerId
typedef string ListenerId;

This type is used to identify listeners for removal. A Listener identity will be assigned to a listener when it is assigned to a particular object.

MechanismId
typedef string MechanismId;

This type specifies the transport mechanisms, such as TCPIP, TLS, SECIOP-Kerberos.

MechanismList
typedef sequence<MechanismId> MechanismList;

OwnCredentialsList
typedef sequence<OwnCredentials> OwnCredentialsList;


Constants

ADIRON_VMCID
const unsigned long ADIRON_VMCID = 168935424;

The Adiron VMCID, which is used in Minor Error Codes, Policy Tags, etc.

AQST_Continued
const AcquisitionStatus AQST_Continued = 1;

Acquisition needs more processing.

AQST_Expired
const AcquisitionStatus AQST_Expired = -1;

Acquisition has expired.

AQST_Failed
const AcquisitionStatus AQST_Failed = -2;

Acquisition has failed.

AQST_Initialized
const AcquisitionStatus AQST_Initialized = 0;

Acquisition is initialized.

AQST_Succeeded
const AcquisitionStatus AQST_Succeeded = 2;

Acquisition has succeeded.

CD_Default
const CredsDirective CD_Default = 0;

The CD_Default CredsDirective is a value that signifies to use the capabilities of the selected credentials.

CD_EmbodyTarget
const CredsDirective CD_EmbodyTarget = 3;

The CD_EmbodyTarget CredsDirective is a value that signifies that the selected credentials, if capable, should attempt to embody the target. In other words, it gives the accepting side the ability to impersonate the initiating side.

CD_EndorseTarget
const CredsDirective CD_EndorseTarget = 2;

The CD_EndorseTarget CredsDirective is a value that signifies that the selected credentials, if capable, should attempt to endorse the target. In other words, it gives the accepting side the ability to act on behalf of the initiating side.

CD_InvokeTarget
const CredsDirective CD_InvokeTarget = 1;

The CD_InvokeTarget CredsDirective is a value that signifies that the selected credentials should only be used in a simple invocation fashion. They shall not attempt to endorse or embody the target to act on its behalf.

CSIv1
const CSIVersion CSIv1 = 1;

This constant represents CSIv1, which is the ability to handle security only at the transport layer. When credentials are acquired at the Transport Security Layer they usually support CSIv1 and not CSIv2. CSIv2 may have to be explicitly activated. Check with the parameters given to the Credentials Acquirer of a particular mechanism.

CSIv2
const CSIVersion CSIv2 = 2;

This constant represents CSIv2, which has the the ability to associate and process CSIv2 requests over its transport protection layer. This option is not supported by default unless TransportSecurity Credentials are implicitly acquired by the SecurityLevel3 Credentials Acquire in support of those CSIv2 enabled Credentials.

CS_Expired
const CredentialsState CS_Expired = -2;

Credentials with a CredentialsState of CS_Expired can no longer be used for initiating or accepting establishment of any security contexts.

CS_Initialized
const CredentialsState CS_Initialized = 0;

Credentials with a CredentialsState of CS_Initialized can not be used for initiating or accepting establishment of any security contexts. It means that credentials are in an initial state. This value is for internal use, and there is no reason a SecurityLevel3 user should see credentials in this state.

CS_Invalid
const CredentialsState CS_Invalid = -3;

The Credentials with a CredentialsState of CS_Invalid cannot be used in any the initiating or accepting establishment of any security contexts.

CS_PendingRelease
const CredentialsState CS_PendingRelease = -1;

Credentials with a CredentialsState of CS_PendingRelease can no longer be used for initiating or accepting establishment of any security contexts. It means that "release_credentials" has been called on the credentials.

CS_Valid
const CredentialsState CS_Valid = 1;

Credentials with a CredentialsState of CS_Valid can be used for initiating or accepting establishment of security contexts.

CT_ClientCredentials
const CredentialsType CT_ClientCredentials = 1;

The CT_ClientCredentials CredentialsTypes signifies that the Credentials can be extended to the ClientCredentials Type.

CT_OwnCredentials
const CredentialsType CT_OwnCredentials = 0;

The CT_OwnCredentials CredentialsTypes signifies that the Credentials can be extended to the OwnCredentials Type.

CT_TargetCredentials
const CredentialsType CT_TargetCredentials = 2;

The CT_TargetCredentials CredentialsTypes signifies that the Credentials can be extended to the ClientCredentials Type.

CU_AcceptOnly
const CredentialsUsage CU_AcceptOnly = 3;

The CU_AcceptOnly CredentialsUsage type is a value that signifies that the credentials can only be used to accept the establishment of security contexts.

CU_Indefinite
const CredentialsUsage CU_Indefinite = 1;

The CU_Indefinite CredentialsUsage type is a value that signifies the default. Depending on some other acquisition arguments, the credentials usage may be able to be implicitly determined.

CU_InitiateAndAccept
const CredentialsUsage CU_InitiateAndAccept = 5;

The CU_InitiateAndAccept CredentialsUsage type is a value that signifies that the credentials can be used to both initiate and accept the establishment of security contexts.

CU_InitiateOnly
const CredentialsUsage CU_InitiateOnly = 4;

The CU_InitiateOnly CredentialsUsage type is a value that signifies that the credentials can only be used to initiate the establishment of security contexts.

CU_None
const CredentialsUsage CU_None = 2;

The CU_None CredentialsUsage type is a value that states the credentials can not be used to make or accept security contexts. ClientCredentials and TargetCredentials have this credentials usage.

ContextEstablishmentPolicyType
const CORBA::PolicyType ContextEstablishmentPolicyType = 168937425;

The ContextEstablishmentPolicyType constant is holds value used to denote the ContextEstablishmentPolicy.

FD_DoNotUse
const FeatureDirective FD_DoNotUse = -2;

The FD_DoNotUse FeatureDirective means definitely not to use the feature.

FD_DoNotUseIfPossible
const FeatureDirective FD_DoNotUseIfPossible = -1;

The FD_DoNotUseIfPossible FeatureDirective means not to use the feature if it is possible. Note, some mechanisms may always use confidentiality.

FD_Use
const FeatureDirective FD_Use = 2;

The FD_Use FeatureDirective means definitely to use the feature.

FD_UseDefault
const FeatureDirective FD_UseDefault = 0;

The FD_UseDefault FeatureDirective means to use or not to use the feature depending on defaults.

FD_UseIfPossible
const FeatureDirective FD_UseIfPossible = 1;

The FD_UseIfPossible FeatureDirective means to use the feature if it is possible.

ObjectCredentialsPolicyType
const CORBA::PolicyType ObjectCredentialsPolicyType = 168937426;

The ObjectCredentialsPolicyType constant is holds value used to denote the ObjectCredentialsPolicy.


Structs

IdentityTokenInfo
struct IdentityTokenInfo
{
    boolean is_absent;
    boolean is_anonymous;
    CSI::IdentityToken the_token;
    SecurityLevel3::SimplePrincipal the_principal;
    SecurityLevel3::IdentityStatement the_statement;
};

The IdentityTokenInfo structure is returned by the IdentityTokenGenerator when it generates a CSI Identity token.


Generated by the ORBacus IDL-to-HTML translator