Using a master key and principal name to derive password for principal
Roland C. Dowdeswell
elric at imrryr.org
Wed Oct 16 06:12:08 EDT 2019
On Wed, Oct 16, 2019 at 09:32:17AM +0000, Ts7 Coe wrote:
>
> > do you actually need the principals to have keys that you can
> predict?
> I want to have the key to be predictable only on the KDC side,
> and the only purpose is to make KDC stateless(store nothing).
> The keys are used only internally in kerberos. keys are
> distributed automatically by kerberos, and no anther party has
> the need to know the keys, nor be able to predict the keys.
Then you don't actually need keys at all. If no one is going to
make an AS_REQ or TGS_REQ with the principal as a target, then you
do not need keys.
That said, what you want is possible in Heimdal out of the box:
https://github.com/heimdal/heimdal/wiki/Setting-up-PK-INIT-and-Certificates
You will still need to maintain service principals and their keys,
though.
> > You will still want to have an entry in the Kerberos DB in most cases
> because it may
>
> contain ancilliary data such as the existence of the name
>
> A krb DB is essential, but I'm thinking a workaround for this: using a
> dummy DB plugin
>
> (by modifing the offical kdb_db2 plugin), which will return dynamically
> generated principal
>
> record when KDC querying a principal info. The db file on disk may only
> store admin principals.
>
> I've done some demo code on kdb_db2 plugin, which will read a
> template principal from db,
>
> then modify the princ/key_data field of the template entry, and return
> it to KDC. Not sure
>
> if this could work.
>
> Regards,
> tm3y
> __________________________________________________________________
>
> From: Roland C. Dowdeswell <elric at imrryr.org>
> Sent: Wednesday, October 16, 2019 16:04
> To: Coe Ts7 <tm3y at hotmail.com>
> Cc: krbdev at mit.edu <krbdev at mit.edu>
> Subject: Re: Using a master key and principal name to derive password
> for principal
>
> On Wed, Oct 16, 2019 at 02:45:19AM +0000, Coe Ts7 wrote:
> >
> > > get the impression that you are interested in using PKI for
> clients
> >
> > > who will use PKINIT to obtain a TGT. In this case, is there any
> > > reason that you need to know the client's key or password? If
> you
> > > never need to know a key or a password, then just randomise the
> > > key and forget it on the creation of the client principal.
> > Thanks for the reply.
> > The reason why I need the keys to be predictable is that I don't
> want
> > kerberos to store anything,
> I understand that.
> What I am asking is: do you actually need the principals to have
> keys that you can predict? What are you going to use the keys for?
> If you are simply going to have PKINIT clients, then you do not
> need to _know_ the keys. And if you do not need to know the keys,
> then it is sufficient to randomise them. You will still want to
> have an entry in the Kerberos DB in most cases because it may contain
> ancilliary data such as the existence of the name.
> When I say, "What are you going to use the keys for?", the question
> really is made up of two parts:
> 1. what AS_REQs do you expect to issue and serve for the
> principal in question? and
> 2. what TGS_REQs do you expect to issue and serve for the
> principal in question?
> --
> Roland C. Dowdeswell [1]http://Imrryr.ORG/~elric/
>
> References
>
> 1. http://Imrryr.ORG/~elric/
--
Roland C. Dowdeswell http://Imrryr.ORG/~elric/
More information about the krbdev
mailing list