78 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			78 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
/***********************************************************************
 | 
						|
 *
 | 
						|
 *  README for libcasa_s_authtoken
 | 
						|
 *
 | 
						|
 ***********************************************************************/
 | 
						|
 | 
						|
INTRODUCTION
 | 
						|
 | 
						|
libcasa_s_authtoken provides an API for the validation of CASA Authentication Tokens.
 | 
						|
The API provides a means for obtaining identity information about authenticated
 | 
						|
entities.
 | 
						|
 | 
						|
Applications should avoid calling directly into this library's APIs. Instead, applications
 | 
						|
should code to the PAM API to validate authentication credentials or allow an external
 | 
						|
module to perform the credential validation. To facilitate this, CASA Authentication
 | 
						|
provides PAM, Apache, and JAAS modules that can be used to validate credentials containing
 | 
						|
CASA Authentication tokens,
 | 
						|
 | 
						|
CONFIGURING TRUSTED AUTHENTICATION TOKEN SERVICES
 | 
						|
 | 
						|
tbd. Add info about the installation of public certificates and trusted certificate authorities.
 | 
						|
 | 
						|
CONFIGURING ADDITIONAL IDENTITY TOKEN PROVIDER MODULES
 | 
						|
 | 
						|
CASA Authentication Tokens contain Identity Tokens. The Identity Tokens contain the identity
 | 
						|
information about the entity being authenticated. Identity Tokens can be of different types,
 | 
						|
the type utilized for use with a particular service is configured at the time that the service
 | 
						|
is configured for CASA Authentication. The default identity token type is CasaIdentityToken.
 | 
						|
 | 
						|
libcasa_s_authtoken supports different identity token types through an API that allows for the
 | 
						|
configuration of different Identity Token Provider plug-ins. An Identity Token Provider plug-in
 | 
						|
is configured by placing a configuration file for the plug-ins in the
 | 
						|
/etc/opt/CASA/authtoken.d/modules.d folder. The name of the plug-in configuration file is related
 | 
						|
to the identity token type in the following manner: IdentityTokenTypeName.conf.
 | 
						|
 | 
						|
Identity Token Provider plug-in configuration files must must contain a directive indicating the
 | 
						|
path to the library implementing the Identity Token Provider plug-in (See the configuration file
 | 
						|
for the CasaIdentityToken plug-in for an example).
 | 
						|
 | 
						|
SERVER APPLICATION PROGRAMMING NOTES
 | 
						|
 | 
						|
The Validate CASA Authentication Token API is defined in casa_s_authtoken.h.
 | 
						|
 | 
						|
The API consists of a call to validate authentication tokens. The caller must supply a service
 | 
						|
name which must match the service name provided by the client when requesting the authentication
 | 
						|
token. Successful calls to the validate authentication token API will return a handle to a principal
 | 
						|
interface object. The principal interface object handle can be used to obtain identity information
 | 
						|
about the authenticated entity as well as information about the authentication realm. The principal
 | 
						|
interface object must be released after it is no longer needed. The amount and type of identity
 | 
						|
information associated with the principal interface is dependent on what is configured at the
 | 
						|
time that the service is enabled for CASA Authentication.
 | 
						|
 | 
						|
For examples of code which uses the Validate CASA Authentication Token API look at the implementations
 | 
						|
of the CASA Authentication PAM module and the CASA Authentication Provider Apache module. 
 | 
						|
 | 
						|
IDENTITY TOKEN PROVIDER PROGRAMMING NOTES
 | 
						|
 | 
						|
The Identity Token Provider API is defined in iden_token_provider.h.
 | 
						|
 | 
						|
For an example see the implementation of the CASA Identity Token Provider.
 | 
						|
 | 
						|
SECURITY CONSIDERATIONS
 | 
						|
 | 
						|
CASA Authentication 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.
 | 
						|
 
 | 
						|
 | 
						|
 | 
						|
 | 
						|
                
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 |