[OpenAFS] OpenAFS and single DES
Benjamin Kaduk
kaduk@MIT.EDU
Fri, 5 Oct 2012 17:25:36 -0400 (EDT)
On Fri, 5 Oct 2012, Booker Bense wrote:
> On Fri, Oct 5, 2012 at 11:23 AM, Benjamin Kaduk <kaduk@mit.edu> wrote:
>
>>
>> You can limit your exposure by having the afs/cell@realm principal be the
>> only principal in the database with a single DES key. The default_enctypes
>> do not need to include single-DES, and you can safely make both user
>> principals and krbtgt/realm have no weak keys, the weak crypto will only be
>> used to obtain an afs service ticket (and the corresponding token).
>
> Are you absolutely sure this is true? I have vague recollections that you
> need single DES keys on the krbtgt key to get single DES tickets. But
> it's late and I haven't had lunch yet so I may be misremembering.
I am not 100% sure, no. I am actually working on a document with a
procedure for upgrading away from single-DES, and will test it in practice
during the course of that work. (I will send a link when it is finished.)
The main question here is what algorithm the KDC uses to choose the
encryption type for the key in a service ticket: this involves comparing
the supported enctypes sent by the client and the available keys for the
service principal. I don't remember there being an external comparison
involved (if there was, it would probably be the enctypes available in the
highest-kvno krbtgt entry), but there should also be a permitted_enctypes
check against KDC configuration in there. DES must remain permitted as
long as a single service needs keys issued with it, but if all other
service principals do not have DES keys, they cannot have service tickets
issued.
>
>> I would expect that completely removing single DES (with the exception of
>> AFS) would require a year or more to transition fully, in a large
>> deployment.
>>
>
> I'm puzzled here as well. Once you remove them offending service keys
> from the KDC,
> isn't the process more or less done? I know in hiemdal at least that
> it's trivial to remove
> just a specific enctype from a service principal w/o affecting the
> rest of the keys.
Server keytabs and user principals will need rekeying as well, if they
only have single-DES keys in the database. Here at MIT, there are many
kerberized application servers that are not maintained by central IT, so
both those and user principals require user outreach. (I don't have
insight into the situation at Michican State, of course.) At universities
with tenured faculty, I expect it to be politically infeasible to require
a password change more often than once a year. User password changes and
manually rolling new application keytabs is where I am seeing this large
timescale come in.
This is starting from a rather pessimistic mindset; it is possible that
the situation at MSU is better than my model, with most principals already
having both DES and AES keys present. That would simplify things greatly,
as you say.
-Ben