Subject: PKINIT KDC generated key

From: Saber Zrelli <[email-masked]>
Date: Thu, 05 May 2005 17:43:36 +0900

Hello ,

I would like to ask for some clarifications about the key generated during
the first authentication as defined in draft-ietf-cat-kerberos-pk-init-25.txt

If my understanding is correct, the client is not necessarely registeres as
a principal in the KDC, the successful authentication based on the realm's
PKI is enough to grant the TGT to the client.

Inorder to encrypt the credentials back to the client, the KDC must use a
key. This key is generated by a DH exchange with between the KDC and the
client or generated locally (randomly) by the KDC and then included in the
credentials which in this case are encrypted using the client's public key.

If the key was generated using a DH exchange, the credentials are encrypted
using this key.

In both cases the client can decrypt the credentials and obtain the TGT as
follows :

        - The client uses the DH genereted key 
        - The client uses his private key (certificate) to decrypt the
          credentials in order to read the key generated by the KDC. and
          use that key to decrypt the credentials and obtain the TGT.

So, If my understanding is correct.

I'm wondering why does the KDC and the client needs to generate a key. I
have the impression that the KDC can just encrypt the credentials using the
client's public key. The client in the other side can check the identity of
the KDC by checking its signtaure in the received reply.

Best regards,

--
Saber ZRELLI <[email-masked]>
Japan Advanced Institute of Science and Technology
Center of Information Science
Shinoda Laboratory
url     : http://www.jaist.ac.jp/~zrelli
gpg-id  : 0x7119EA78

---

From: Love Hörnquist Åstrand <[email-masked]>
Date: Tue, 10 May 2005 22:03:10 +0200

> So, If my understanding is correct.

Yes, it seems correct.

> the KDC by checking its signtaure in the received reply.

yes, that is how the enckey case work, but since the ticket might be larger
then the public key can encrypt with, pk-init uses CMS encryption mode to
be able to transport more data. That the pk-init passes over a encrypted
key instead of a encrypted ticket is just because of that make a less of an
impact on the rest of the protocol.

Love