[AFS3-std] Re: rxgk token expiry

Benjamin Kaduk kaduk@MIT.EDU
Fri, 2 Nov 2012 16:34:29 -0400 (EDT)


On Thu, 1 Nov 2012, Jeffrey Hutzelman wrote:

> On Wed, 2012-10-31 at 23:42 -0400, Benjamin Kaduk wrote:
>
>> Per Russ' follow-up to this, we cannot realistically make any strong
>> statement at the level of the rxgk specification document.  If we want to
>> get into a more detailed discussion of these issues, it should probably
>> belong on an application-specific list, e.g., openafs-devel.
>
> <hat role="chair">
> Oh, no.  The application-protocol-specific issues are very much in scope
> for this list, at least to the extent that the application protocol is
> AFS.  They are simply not in scope for this _document_.
> </hat>

Ah, okay.


>
>> I think we can only make a weak statement in this document, and proposed
>> as such in my commit:
>>         <t hangText="expiration">The time, expressed as an rxgkTime, at which
>> -       this token expires.</t>
>> +       this token expires. The expiration time MAY be set administratively
>> +       by the server, and SHOULD reflect the expiration time of the
>> +       underlying GSSAPI credential.</t>
>>
>> The server application has freedom to lower, or increase, the expiry time
>> of the underlying credential, but should take that underlying credential
>> into account as appropriate for the application.
>
> That's not quite strong enough; I think you should explicitly say the
> token SHOULD NOT expire later than the underlying credential.  In any
> case, this needs to be discussed somewhat in security considerations.

Mentioned in my previous mail.
Am I on the hook for drafting text to go in the security considerations 
section?

>
> It is important to realize that both GSS-API contexts and credentials
> can have expirations, and it is not entirely unreasonable for a context
> to have expiration longer than the credentials used to expire it.  IMHO
> it is necessary to point this out and to recommend that an rxgk token,
> as a derived credential, must take into account the lifetime of the
> underlying _credential_ and not just that of the context.
>
>
> Finally, it may be desirable to apply "connection" semantics to an Rx
> connection, such that an "expired" token may continue to be used to
> protect an already-established connection.  However, this must be
> optional at best, should not be enabled by default, and in any case may
> turn out to be too difficult to implement, given the stateless nature of
> Rx server connections.

It would be a nice feature to have connection semantics on connections, 
but I share the sentiment that it may be too difficult to implement.  We 
shall see.  I'm not sure I see the argument for "optional at best, not 
enabled by default", though.

-Ben