Using Security in CORBA Applications

     Previous  Next    Open TOC in new window  Open Index in new window  View as PDF - New Window  Get Adobe Reader - New Window
Content starts here

Overview of the CORBA Security Features

This topic includes the following sections:

Notes: The BEA Tuxedo product includes environments that allow you to build both Application-to-Transaction Monitor Interfaces (ATMI) and CORBA applications. This topic explains how to implement security in a CORBA application. For information about implementing security in an ATMI application, see Using Security in ATMI Applications.
Note: The BEA Tuxedo CORBA Java client and BEA Tuxedo CORBA Java client ORB were deprecated in Tuxedo 8.1 and are no longer supported. All BEA Tuxedo CORBA Java client and BEA Tuxedo CORBA Java client ORB text references, associated code samples, should only be used to help implement/run third party Java ORB libraries, and for programmer reference only.
Note: Technical support for third party CORBA Java ORBs should be provided by their respective vendors. BEA Tuxedo does not provide any technical support or documentation for third party CORBA Java ORBs.


The CORBA Security Features

Security refers to techniques for ensuring that data stored in a computer or passed between computers is not compromised. Most security measures involve proof material and data encryption, where the proof material is a secret word or phrase that gives a user access to a particular program or system, and data encryption is the translation of data into a form that cannot be interpreted.

Distributed applications such as those used for electronic commerce (e-commerce) offer many access points for malicious people to intercept data, disrupt operations, or generate fraudulent input; the more distributed a business becomes, the more vulnerable it is to attack. Thus, the distributed computing software, or middleware, upon which such applications are built must provide security.

The CORBA security features of the BEA Tuxedo product lets you establish secure connections between client and server applications. It has the following features:

To access the full security features of the CORBA environment, you need to install a license that enable the use of the SSL protocol, LLE, and PKI. For information about installing the license for the security features, see the Installing the BEA Tuxedo System.

Note: Using Security in CORBA Applications describes the security features of the CORBA environment in the BEA Tuxedo product. For a complete description of using the security features in the ATMI environment in the BEA Tuxedo product, see Using Security in ATMI Applications.

Table 1-1 summarizes the features in the CORBA security features in the BEA Tuxedo product.


The CORBA Security Environment

Direct end-to-end mutual authentication in a distributed enterprise middleware environment such as the BEA Tuxedo CORBA environment can be prohibitively expensive, especially when accomplished through security mechanisms optimized for long duration connections. It is not efficient for principals to establish direct network connections with each server application, nor is it practical to exchange and verify multiple authentication messages as part of processing each service request. Instead, CORBA applications in a BEA Tuxedo product implements a delegated trust authentication model as shown in Figure 1-1.

Figure 1-1 Delegated Trust Model

Delegated Trust Model

In a delegated trust model, principals (generally users of client applications) authenticate to a trusted system gateway process. In the case of the CORBA applications, the trusted system gateway process is the IIOP Listener/Handler. As part of successful authentication, security tokens are assigned to the initiating principal. A security token is an opaque data structure suitable for transfer between processes.

When a request from an authenticated principal reaches the IIOP Listener/Handler, the IIOP Listener/Handler attaches the principal's security tokens to the request and delivers the request to the target server application for authorization and auditing purposes.

In a delegated trust authentication model, the IIOP Listener/Handler trusts that the authentication software in the BEA Tuxedo domain will verify the identity of the principal and generates the appropriate security tokens. Server applications, in turn, trust that the IIOP Listener/Handler will attach the correct security tokens. Server applications also trust that any other server applications involved in the process of a request from a principal will safely deliver the security tokens.

A session is established between the initiating client application and the IIOP Listener/Handler in the following way:

  1. When a client application wants to access an object within a BEA Tuxedo domain, the client application uses either a username and password or a X.509 digital certificate to authenticate over the connection with the IIOP Listener/Handler.
  2. A security association called a security context is established between a principal and the IIOP Listener/Handler. This security context is used to control access to objects in the BEA Tuxedo domain.
  3. The IIOP Listener/Handler retrieves the authorization and auditing tokens from the security context. Together, the authorization and auditing tokens represent the principal's identity associated with the security context.

  4. Once the authentication process is complete, the principal invokes an object in the BEA Tuxedo domain. The request is packaged into an IIOP request and forwarded to the IIOP Listener/Handler. The IIOP Listener/Handler associates the request with the previously established security context.
  5. The IIOP Listener/Handler receives the request from the initiating principal.
  6. The protection of messages between the client application and the IIOP Listener/Handler is dependent on the security technology used in the CORBA application. The default behavior of the BEA Tuxedo product is to encrypt the authentication information but not to protect the message sent between the client application and the BEA Tuxedo domain. The message is sent in clear text. The SSL protocol can be used to protect the message. If the SSL protocol is configured to protect messages for integrity and confidentiality, the request is digitally signed and sealed (encrypted) before it is sent to the IIOP Listener/Handler.

  7. The IIOP Listener/Handler forwards the request along with the authorization and auditing tokens of the initiating principal to the appropriate server application.
  8. When the request is received by the server application, the BEA Tuxedo system interrogates the forwarded tokens of the requesting principal to determine if the request should be processed or denied. The CORBA security features will, based on the decision of the authorization implementation, deny the processing of any request on an object for which the requesting principal has no permission to access.


BEA Tuxedo Security SPIs

As shown in Figure 1-2, the authentication, authorization, auditing, and public key security features available with the BEA Tuxedo product are implemented through a plug-in interface, which allows security plug-ins to be integrated into the CORBA environment. A security plug-in is a code module that implements a particular security feature.

Figure 1-2 Architecture for the BEA Tuxedo Security Service Provider Interfaces

Architecture for the BEA Tuxedo Security Service Provider Interfaces

The BEA Tuxedo product provides interfaces for the types of security plug-ins listed in Table 1-2.

Table 1-2 The BEA Tuxedo Security Plug-Ins 
Allows communicating processes to mutually prove identification.
Allows system administrators to control access to CORBA applications. Specifically, an administrator can use authorization to allow or disallow principals to use resources or services provided by a CORBA application.
Provides a means to collect, store, and distribute information about operating requests and their outcomes. Audit-trail records may be used to determine which principals performed, or attempted to perform, actions that violated the configured security policies of a CORBA application. They may also be used to determine which operations were attempted, which ones failed, and which ones successfully completed.
Public key initialization
Allows public key software to open public and private keys. For example, gateway processes may need to have access to a specific private key in order to decrypt messages before routing them.
Key management
Allows public key software to manage and use public and private keys. Note that message digests and session keys are encrypted and decrypted using this interface, but no bulk data encryption is performed using public key cryptography. Bulk data encryption is performed using symmetric key cryptography.
Certificate lookup
Allows public key software to retrieve X.509v3 digital certificates for a given principal. Digital certificates may be stored using any appropriate certificate repository, such as Lightweight Directory Access Protocol (LDAP).
Certificate parsing
Allows public key software to associate a simple principal name with an X.509v3 digital certificate. The parser analyzes a digital certificate to generate a principal name to be associated with the digital certificate.
Certificate validation
Allows public key software to validate an X.509v3 digital certificate in accordance with specific business logic.
Proof material mapping
Allows public key software to access the proof materials needed to open keys, provide authorization tokens, and provide auditing tokens.

The specifications for the SPIs are currently only available to third-party security vendors who have entered into a special agreement with BEA Systems, Inc. Customers who want to customize a security feature must contact one of these vendors or BEA Professional Services. For example, a BEA customer who wants a custom implementation of public key security must contact a third-party vendor who can provide the appropriate security plug-in or BEA Professional Services.

For more information about security plug-ins, including installation and configuration procedures, see your BEA account executive.

  Back to Top       Previous  Next