Subject: Re: [Ietf-krb-wg] framework-12 comments

From: Sam Hartman <[email-masked]>
Date: Tue, 28 Jul 2009 12:57:18 -0400

I've re-read Love's comments about  the following phrase:
   o  Whether the contents of the KDC reply can be verified by the
         client principal

AFter a couple of round trips, I'm not sure that I completely
understood Love's concern.

Re-reading, I think Love is saying that client principal typically
referrs to a string not to a human.  obviously, the string sometimes
names a human.
He proposed removing the word principal.

I didn't like that because in my mind it confuses the verified by
client human issue from verified by client host.  Pkinit can be
verified by both, but because of spoofed KDCs, traditional Kerberos
can only be verified by the client human.

Love then started asking me which flag tracked the client host verification and I never really responded.

This draft never actually deals with client host verification of the KDC, only client human verification of the KDC.

So, I propose to remove the term principal as Love originally
suggested and to explain that there is a stronger form of KDC
verification that sometimes matters in Kerberos but that is not
discussed in this draft in the text.
_______________________________________________
ietf-krb-wg mailing list
[email-masked]
https://lists.anl.gov/mailman/listinfo/ietf-krb-wg

---

From: Jeffrey Hutzelman <[email-masked]>
Date: Tue, 28 Jul 2009 14:27:26 -0400

> He proposed removing the word principal.

I'm confused.  Typically a "client" is a piece of software.
A "principal name" is a string; a "principal" is the entity named by that 
string.  Though we typically refer to principals as objects to be 
manipulated rather than as actors, the latter usage is certainly consistent 
with the traditional terminology.

Generally, the distinction between me and code running on my behalf is 
irrelevant.  There is no practical difference between "me" being able to 
verify the KDC is real, and a piece of software doing it given things like 
my password or a certificate that I assert (through configuration) belongs 
to the KDC.  So I'd say we're splitting hairs here, that it doesn't matter 
whether we're talking about a human or not, and that in practice, it reads 
better without the word "principal".

However, you seem to be throwing in a new twist, by distinguishing between 
the "client principal", by which you mean me and/or code running on my 
behalf, and the "client host", by which you mean privileged system software 
running on the same machine, which I trust but which doesn't trust me.  It 
is true that depending on the method being used, that code may or may not 
be able to gain assurance that it is talking to a real KDC.  For example, 
if all it has is initial authentication with my password, then it cannot 
know that I am not impersonating the KDC, because no secret was used that 
is known to the KDC but not to me.  On the other hand, as Love points out, 
if public key crypto is used, the KDC's identity can be confirmed.  The 
same is true if FAST armor is used keyed by a ticket in the name of some 
principal whose key is known to the system software but not to me.

However, it's unclear to me why this matters at all.  The "client host" is 
not a party to the Kerberos exchange, or at least not to the exchange 
between the KDC and myself.  It may be party to a later AP exchange between 
me and the system software, as is traditionally done for login validation. 
But that really has nothing to do with the preauth framework.

-- Jeff

---

From: Sam Hartman <[email-masked]>
Date: Wed, 29 Jul 2009 06:53:01 -0400

Jeff, I think we're in violent agreement.
_______________________________________________
ietf-krb-wg mailing list
[email-masked]
https://lists.anl.gov/mailman/listinfo/ietf-krb-wg

---

From: Love Hörnquist Åstrand <[email-masked]>
Date: Wed, 29 Jul 2009 13:15:31 +0200

> The "client host" is not a party to the Kerberos exchange

I don't agree, you don't enter your trustanchors when using pkinit,  
they come from the client host, it its not the user/principal that  
verfies the response.

Love

---

From: Sam Hartman <[email-masked]>
Date: Wed, 29 Jul 2009 09:17:43 -0400

>>>>> "Love" == Love Hörnquist Åstrand <[email-masked]> writes:

    >> The "client host" is not a party to the Kerberos exchange
    Love> I don't agree, you don't enter your trustanchors when using
    Love> pkinit, they come from the client host, it its not the
    Love> user/principal that verfies the response.

Love are you happy with my proposed changes:

* Remove the word principal

* Talk about how in FAST by KDC verification we're focusing on
  verification as least as good as what 4120 gives you; there are
  other forms of verification that may be better provided by some
  mechanisms but that's not what this flag tracks.

---

From: Love Hörnquist Åstrand <[email-masked]>
Date: Wed, 29 Jul 2009 15:25:47 +0200

yes.

Love