IETF-SSH archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: GSS-APIv2 Extension for Storing Delegated Credentials
Nicolas Williams wrote:
>
> > to the abstract it seems to address similar area as the "GSS-API Extensions"
> > draft by GGF (available from
> > http://www.ietf.org/internet-drafts/draft-engert-ggf-gss-extensions-00.txt).
> > Perhaps it would make sense to coordinate the effort with GGF?
>
> Unfortunately, the GGF's export-credential-to-environment-variable
> proposal has a problem: it imposes the use of environment variables as
> the method for referencing credentials stores, as well as the "current"
> credential store.
I would very much like to give some feedback on the proposal,
however I completely underwater these days. :(
Here are a few quick problems that come to my mind:
GSS-API doesn't distinguish different credential stores, although
the new I-D claims that it would. With GSS-API a mechanism is
free to use an arbitrary number of different credential stores
and employ whatever implementation-specific magic it desires
to decide individually which credential stores to use each time
an application asks to acquire a credentials handle.
My biggest criticism about the SPKM design was that it uses
the keypair of the longterm credentials to perform each
GSS-API level authentication. This causes some problems when
an implementation wants to use RSA-SmartCards for credential
storage and crypto-operations:
- "Smart"Cards that deserve their name do not ever reveal the private
RSA key that they hold. So it is completely impossible to copy
credentials that are stored on such smartcards.
- Since every single gssapi-level authentication requires access to
the longterm credentials, the use of SmartCards in Single Sign-On
environments that perform a large amount of gssapi-level security
context establishments require unrestricted access to the cards
signing/encryption capabilities without additional user intervention,
rendering the contained keypair utterly useless for any kind of
legally relevant digital signature operations
- SPKM 1/2 (rfc2025) doesn't support credential delegation, and
when smartcards are used it is physically impossible
- Common PC SmartCard (TCos 1.2 and 2.0) readers and SmartCard interfaces
use a serial communication interface with 9600 or 19200 baud, which
makes all operations involving the SmartCard *EXTREMELY* slow,
and the software has to solve the issue of multiple concurrent
access from different processes in a Single Sign-On environment
(a mutual authentication involving two smartcards with 1024-bit
RSA keys take about 20 Seconds...)
- when an SPKM-implementation is stupid enough to use RSA digital
signatures for Message Integrity Protection of each individual
message of application data, then the problem gets exponentially worse.
- message protection operations become extremely slow due to PK-operations
- it's a real PITA when a SmartCard is involved, in particular the
contention with parallel access becomes a nightmare in busy
Single Sign-On environments
- security context transfer at the GSS-API level must somehow pass
along credentials access with the exported context token,
the session key(s) alone as in all reasonable GSS-API mechanisms
is not sufficient -- again this is particularly "entertaining"
problem to solve if credentials are on a SmartCard.
Also keep in mind that GSS-API was designed to cover GSS-API mechanisms
that live entirely in a TCB and do not reveal krypto keys or credentials
(in whatever shape or form and for whatever (political) reason),
so both, credential delegation and copying credentials can never be
a generic concept for GSS-API fitting the level of the abstraction
of the current spec.
-Martin
Home |
Main Index |
Thread Index |
Old Index