Thread (1 message) 1 message, 1 author, 2011-02-05

Re: [LSF/MM TOPIC] Unified keys for NFS, CIFS and AFS for security data

From: Steve French <hidden>
Date: 2011-02-05 15:55:18
Also in: linux-fsdevel, linux-nfs

On Sat, Feb 5, 2011 at 7:03 AM, Jeff Layton [off-list ref] wrote:
On Fri, 21 Jan 2011 15:34:27 +0000
David Howells [off-list ref] wrote:
quoted
I'd like to propose a discussion topic for the LSF: how best to implement a
common key type for use by NFS, CIFS and AFS such that, say, a kerberos key
can be encapsulated within one and then be pulled out by various filesystems.

Furthermore, it would be necessary to allow the request_key() upcall mechanism
to perform GSSAPI queries.
I would be interested in discussing this as well. Currently CIFS
"punts" to some degree and offloads almost all of the SPNEGO blob
construction to userspace. So, for CIFS this would involve moving more
of this code into the kernel. I think that's a good thing since it will
make it easier to do mutual-authentication, etc...
Yes. I also agree, in part because the more the upcall has to go
to userspace the more likely a reconnect (network connection
drop) can cause problems when memory available to userspace
is constrained by a large amount of cached data on the network mount.

This would make it more plausible to store krb5 credcaches in the
kernel keyring too. Modern MIT krb5 libs can do this today (I think),
yes
The difficulty here is that request_key() is "stateless", so we need to
think about how to manage GSSAPI contexts across multiple upcalls...or
plan to implement large swaths of the GSSAPI in-kernel.
It might also be helpful to couple this with some consolidation and
cleanup of the ASN.1 parsing code in the kernel. There are at least 3
separate implementations in the kernel today (one in cifs, one in
sunrpc, and one in iptables).
This is harder, but would also simplify future work as well
(such as SMB2, which will require this more often in
sessionsetup than cifs)



-- 
Thanks,

Steve
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help