Authentication mechanisms

 

Authentication mechanisms

An authentication mechanism defines rules about security information, for example, whether a credential is forwardable to another Java process, and the format of how security information is stored in both credentials and tokens.

Authentication is the process of establishing whether a client is who or what it claims to be in a particular context. A client can be either an end user, a machine, or an application.

An authentication mechanism in WebSphere Application Server typically collaborates closely with a user registry. The user registry is the user and groups account repository that the authentication mechanism consults with when performing authentication. The authentication mechanism is responsible for creating a credential, which is an internal product representation of a successfully authenticated client user. Not all credentials are created equally. The abilities of the credential are determined by the configured authentication mechanism. Although this product provides multiple authentication mechanisms, you can configure only a single active authentication mechanism at a time. The active authentication mechanism is selected when configuring WebSphere Application Server global security.

Authentication process

The figure demonstrates the authentication process. Authentication is required for enterprise bean clients and Web clients when they access protected resources. Enterprise bean clients, like a servlet or other enterprise beans or a pure client, send the authentication information to a Web application server using one of the following protocols:

Web clients use the HTTP or HTTPS protocol to send the authentication information, as shown in the previous figure.

The authentication information can be basic authentication (user ID and password), credential token (in case of Lightweight Third Party Authentication (LTPA)), or client certificate. The Web authentication is performed by the Web Authentication module.

The enterprise bean authentication is performed by the Enterprise JavaBean (EJB) authentication module, which resides in the CSIv2 and SAS layer.

The authentication module is implemented using the Java Authentication and Authorization Service (JAAS) login module. The Web authenticator and the EJB authenticator pass the authentication data to the login module (2), which uses LTPA to authenticate the data.

The authentication module uses the registry that is configured on the system to perform the authentication (4). Three types of registries are supported: local OS, Lightweight Directory Access Protocol (LDAP), and custom registry. External registry implementation following the registry interface that is specified by IBM can replace either the local OS or the LDAP user registry.

The login module creates a JAAS subject after authentication and stores the credential that is derived from the authentication data in the public credentials list of the subject. The credential is returned to the Web authenticator or to the
enterprise beans authenticator (5).

The Web authenticator and the enterprise beans authenticator store the received credentials in the Object Request Broker (ORB) current for the authorization service to use in performing further access control checks. If the credentials are forwardable, they are sent to other application servers.


Sub-topics

User registries

Lightweight Third Party Authentication

Trust associations

Single signon

Security attribute propagation

Related tasks
Authenticating users


Searchable topic ID: csec_aumech