Enctype configuration

Zhanna Tsitkova tsitkova at MIT.EDU
Wed Jul 22 12:06:03 EDT 2009

On Jul 22, 2009, at 11:20 AM, ghudson at MIT.EDU wrote:

> I'm soliciting ideas on enctype configuration changes for 1.8.  Tom
> has a skeletal early project page at:
>  http://k5wiki.kerberos.org/wiki/Projects/Enctype_config_enhancements
> The primary deliverable here is the ability to modify the default list
> of enctypes without completely replacing it.  So the first question is
> what syntax to introduce for that.  OpenSSL has one but it's probably
> too complicated for our purposes.  Tom proposed one in the project
> page which is probably fine.
> A secondary deliverable is making such modifications easier.  We
> currently have four basic families of enctypes: des, des3, rc4, and
> aes.  For each family we have 1-3 entries on the default enctypes list
> and some anciliary enctypes which you wouldn't generally want to use
> (e.g. rc4-hmac-exp and des-cbc-raw).  To remove DES from today's
> default list in Tom's proposed syntax, you would have to write:
>  DEFAULT -des-cbc-crc -des-cbc-md5 -des-cbc-md4
How is DEFAULT defined? The list of the default enctypes may be  
different between krb releases  and be effected by the security  
> and if you're paranoid about the non-default DES enctypes, you might
> decide to write:
>  DEFAULT -des-cbc-crc -des-cbc-md5 -des-cbc-md4 -des-cbc-raw -des- 
> hmac-sha1
> We could make this easier through some kind of globbing, or through
> syntaxes for adding or disabling enctypes based on algorithmic
> components ("exclude anything using DES", "exclude anything using
> MD5").  Alternatively, we could formally define the four enctype
> families and allow inclusion and exclusion by family.  The presence of
> undesirable enctypes like rc4-hmac-exp complicates the issue a bit; if
> an configuration option says "include the RC4 family" then we wouldn't
> want to add 40-bit RC4 to the list, but if an option says "exclude the
> RC4 family" we would definitely want to exclude it.  Of course, these
> undesirable enctypes aren't on the default list in the first place, so
> perhaps there's no real issue.
My  suggestion of using "globs" came as a desire to make admin's  
experience more transparent.
For example, admin wants only DES3 and AES crypto without MD5. So one  
indicates: +DES3 +AES -MD5.
in addition, perhaps: +rc4-hmac

> If we're going to address the secondary deliverable at all, I would
> lean towards using the families option, because it gives the
> administrator less rope than globbing or algorithmic component
> matching.
> Finally, there is a third, ancillary issue, which is the
> supported_enctypes variable tells kadmin what key/salt combinations to
> create keys for from a user's password.  Because the variable includes
> salt types as well as enctypes, it would be complicated to directly
> apply any new syntax to this variable.
> What I would like to see happen here is for us to stop supporting salt
> type configuration.  Ken suggested some time ago that we should just
> generate a random explicit salt for every new principal.  If we make
> that change, supported_enctypes can become a straight enctype list
> using the same syntax as the other three enctype variables.  For
> backward compatibility, we would have to accept and ignore :salttype
> specifiers after enctypes, of course.  It would take a little extra
> time to implement this, but it would also carry side benefits.
> _______________________________________________
> krbdev mailing list             krbdev at mit.edu
> https://mailman.mit.edu/mailman/listinfo/krbdev

More information about the krbdev mailing list