[OpenAFS] fs setcrypt forcing

Ted Anderson TedAnderson@mindspring.com
Tue, 17 Jun 2003 07:14:54 -0400


On 6/16/2003 17:32, Derrick J Brashear wrote:
> On Sat, 14 Jun 2003, Ryan Underwood wrote:
>>>>Hmm, what about connections to particular volumes, in that case?
>>>
>>>Came up in the usenix AFS workshop. Store the attribute where?
>>
>>Good question.  Perhaps in the vldb?
> 
> That's the logical place. You'd need a spare bit assuming there are any,
> and a way to reasonably set it. If there aren't any, new RPCs and a new
> version of the database incompatible but upgradable from the old

Putting this bit in the VLDB would seem straightforward, but then the 
file server would have to contact the VLDB periodically to get this 
information for each volume it serves.  This would add a new 
communication path to the system, I think, as the file server doesn't 
talk to the VLDB at all.  Or has that changed?

A more logical approach would be to look at the ACL and require crypt 
level connections if it doesn't include read access for system:anyuser. 
  The server can easily query the connection for the rxkad state after 
checking the ACL and refuse to leak information through this channel.

The question with this approach is whether there is a smooth way for the 
server to tell the client to use an encrypted connection if the ACL 
requires it and the client is using an unencrypted one.  Otherwise, the 
client has to use an encrypted connection all the time, or use some 
error code dependent retry loop.  Maybe the server's inclination to 
behave this way could be encoded in some server configuration bit.  Can 
this be reported to the client using a spare bit during connection 
setup?  If the client can find this out, it could use an encypted 
connection for lookups by default and safely determine the file's 
permissions.  When a file's access does allow read for system:anyother, 
it can switch to using an unencrypted connection when fetching or 
storing for improved performance.

Ted Anderson