1

I am working with application which acts as a server and uses GSSAPI for kerberos authentication.

Application working
At start application do Acquire credentials
when ever client sends negotiate : token
accepts context using gss_accept_sec_context
calls display name to get the User name like MyName@DOMAIN

Currently application is performing authentication for each and every session.

SSO authentication with caching

But i would like modify the application to perform the authentication once for first session and cache the something to re authenticate user using something. Here i can't cache the User name (MyName@DOMAIN) because to get the user name application again accept the context and call display name.

Is there any way to perform SSO authentication with caching?

Gangadhar
  • 10,248
  • 3
  • 31
  • 50

1 Answers1

1

The ability to send a message with integrity verified via an existing security context is the access to a cached establishment of credentials. With each new message successfully unwrapped it is fine to associate data like the source principle from the context that unwrapped it by using gss_inquire_context().

If the client does not either request a new context or send a message unwrappable with an existing context then nothing with integrity is being received so the server should be ignoring the client. (But the server could be using cached credentials on behalf of the client for ongoing tasks if the underlying mechanism and configuration support delegation.)

A standard to organize relationship lookup between channels and security contexts is not part of GSS; it only provides an optional means to verify the channel matches in case alteration is relevant to your application.

So, you normally have a unique but insecure channel that is associated by either side with its security context. That could always be emulated and more transient by having the server send an opaque reference back to the client. The client then sends this along with each wrapped request to replace the server side app's need for mapping with new issues like safe bounds checking in a pool.

I would discourage you from building a solution to approving authentication longer than the system is willing to issue you a security context. Normally, creating new security contexts has no impact on the human user unless that is part of the system policy or they are using an underlying mechanism that lacks a TGT-like mechanism..

lossleader
  • 13,182
  • 2
  • 31
  • 45