CASA/CASA-auth-token/server/PamSupport
2006-06-27 16:15:30 +00:00
..
linux Finished modifications to allow CASA-auth-token to build under 2006-06-27 16:15:30 +00:00
test major source structure and module name changes 2006-06-07 16:34:19 +00:00
Makefile.am major source structure and module name changes 2006-06-07 16:34:19 +00:00
pam_authtoken.c major source structure and module name changes 2006-06-07 16:34:19 +00:00
README major source structure and module name changes 2006-06-07 16:34:19 +00:00
TODO major source structure and module name changes 2006-06-07 16:34:19 +00:00

/***********************************************************************
 *
 *  README for pam_casaauthtok
 *
 ***********************************************************************/

INTRODUCTION

pam_casaauthtok is a PAM authentication module which can be configured
to validate credentials consisting of CASA Authentication Tokens.

CONFIGURATION

To use pam_casaauthtok as a PAM authentication module for your service,
add the following line to the service's PAM configuration file:

auth     required       pam_casaauthtok.so

pam_casaauthtok supports the following input parameters:

U - This parameter tells pam_casaauthtok that it must verify that
    the username is set to "CasaPrincipal". If the parameter is not
    specified then pam_casaauthtok does not check the username.

CLIENT PROGRAMMING NOTES

Clients must specify the same service name when requesting Authentication
Tokens from the CASA Client as the service name specified by the server
when opening a PAM handle.

SERVER PROGRAMMING NOTES

Server applications validating credentials containing CASA Authentication
tokens can obtain the following information about the authenticated identity:

username - This is obtained by querying PAM using the pam_get_item() call with
the item type set to PAM_USER. This can also be obtained by querying PAM
using the pam_getenv() call with the variable name set to "IdentityId".  The
username is the user's unique id within the authentication realm. When the
authentication realm is an LDAP database, the username consists of the user's fdn.
Note that PAM applications using pam_casaauthtok need to set username to
"CasaPrincipal" when opening a PAM handle and then the variable is updated by
pam_casaauthtok during the authentication process with the identity information
of the authenticated entity.

Name of the source of identity data (Authentication Realm) - This is obtained
by querying PAM using the pam_getenv() call with the variable name set to
"IdentityDataSourceName".

URL to the source of identity data - This is obtained
by querying PAM using the pam_getenv() call with the variable name set to
"IdentityDataSourceUrl".

Attributes of the authenticated identity - The attributes are set as environment
variables associated with the PAM handle. The environment variable names match
the names of the attributes. The attributes associated with the authenticated
identity and expressed as environment variables are configured at the time that
the service is enabled for CASA Authentication.

EXAMPLE SERVER APPLICATION

See test/test.c for an example application using PAM to authenticate credentials
consisting of CASA Authentication Tokens.

SECURITY CONSIDERATIONS

CASA Authenticatication Tokens when compromised can be used to either impersonate
a user or to obtain identity information about the user. Because of this it is
important that the tokens be secured by applications making use of them. It is
recommended that the tokens be transmitted using SSL.