Re: Federated realms and PAD

Sam Hartman <[email protected]>
Newsgroups gmane.ietf.krb-wg
Message-ID <[email protected]>
>>>>> "Simo" == Simo Sorce <[email protected]> writes:

    Simo> On Thu, 2012-02-16 at 10:09 -0500, Sam Hartman wrote:
    >> >>>>> "Simo" == Simo Sorce <[email protected]> writes:
    >> 
    Simo> On Thu, 2012-02-16 at 08:36 -0500, Sam Hartman wrote:
> >> >>>>> "Nico" == Nico Williams <[email protected]> writes:
    >> >> 
    Nico> so that it can get backed into scripts (I know, use $HOME).
    Nico> And if we could rely on a global namespace, then I'd just drop
    Nico> the URI thing.  But I don't think we can, not in federated
    Nico> realms that aren't remotely in the same "administrative
    Nico> domain", which I thought was part of what the PAD was all
    Nico> about.
    >> >> 
    >> >> 
    >> >> So, I've been thinking about federated contexts a lot lately
    >> >> mostly for ABFAB but certainly beyond that.  When I explain
    >> why >> Kerberos is not federated, one of the biggest things I
    >> cite is >> that Kerberos has assumptions that bind it within one
    >> >> organization.
    >> 
    Simo> Do you have a write-up of what these assumptions are ?
    >> 
    >> No, but here are some:
    >> 
    >> 1) You can trust whatever the KDC says. IN a federated context,
    >> elements may forward you things that are not fully trusted, and
    >> you need to figure out how much you want to trust them.  While
    >> possible in Kerberos this is not normally how people think.

    Simo> When you say "the KDC" you mean your own Realm KDC, or do you
    Simo> include "any KDC your Realm's KDC trusts" ?

I think making statements like "your own realm KDC trusts," illustrates
my point.
having one realm "trust" another is just not how you think in a
federated context.
You trust another realm to make statements within a limited context in a
federated context.
But people thinking about implementing and extending Kerberos are very
willing to make statements like "realm a trusts realm b,.

I'm very confident that you're not interested in spending the time to
refine the specification of the PAD to make it clear what fine-grained
trust assumptions are involved and to make your identifier choice etc
compatible with this.
So, I think we should say the PAD is not intended as a federated access
management tool but instead is a lot closer to the AD trust model.
You can import federated information into such a context, but you have
to do all the vetting at the point of import.

    >> 2) The ability to authenticate implies something about how
    >> trusted you are. That is people grant access to all authenticated
    >> users to some resources.

    Simo> This is sort-of true, but it is not a problem inherent in
    Simo> Kerberos, it is an implementation issue. In fact we do have
    Simo> anonymous tickets now, and they already break this assumption
    Simo> within a single realm.  I would characterize this as an
    Simo> implementation consideration (that may make federation
    Simo> problematic) but not an assumption.

Deployment assumption not an implementation assumption.
To be clear, I think there's nothing prior to the PAD in the Kerberos
specifications that cannot be federated.
There is a lot in implementations and deployments.
    >> 
    >> I don't think I'm going to be comfortable with a trust model that
    >> vague--vague enough to permit both a federated and internal
    >> context.  I agree with you that you could have something
    >> PAD-like--possibly even the same data structure that was intended
    >> to be filtered heavily enough to be used in a federated context.
    >> I'd expect you to consider something more heirarchical as a
    >> unique identifier for domains to make filtering easier and stuff
    >> like that.

    Simo> You can use the DNS Domain name to do that. You have it.

The issue for a federated context is that there are a lot of identifiers
I can only filter by knowing what the exact values are.
They are not hierarchically filterable.
That makes federation really tricky.
So, yes I have things like the dns-domain.
That's fine.
But I have short identifiers convenient for hashing and storing on disk.
The PAD needs them, but they suck for federation because there's no good
way to set up reasonable filters for inter-federation.
If some federation member suddenly wants to claim some UUID or the like,
how do I know they've newly minted it, rather than picking a UUId that's
been in long use by someone not yet in the federation.

Even having the mechanisms necessary to make sure that one UUID claimed
by someone does not conflict with a UUID used by someone else in the
federation in a manner that is security-sensitive is tricky.
I think Project Moonshot is developing mechanisms good enough to at
least detect the conflicts, but such mechanisms are not deployed today.


    >> However even if was exactly the same encoding I'd expect the
    >> federated context PAD to have a different ad-type number than the
    >> internal context PAD.  Why? In part because I'd expect
    >> applications to make different assumptions about it.

    Simo> I think we disagree 100% on this point unfortunately.  I see
    Simo> no point in having different AD numbers for something that has
    Simo> to be vetted by your own realm KDC anyway.

    Simo> My intent is that once your KDC signs the PAD that clients in
    Simo> the realm can fully trust what's in it. If you can't then you
    Simo> can never trust the PAD at all.

I'm fine using the same ad-type numbers for any case where that's the
client and cross-realm behavior you want.
remember that a KDC is a client of a PAD when issuing a new ticket.
I'm even OK with the same ad-type when you expect the KDC to apply some
filtering and to make a decision about whether to pass along a PAD to
the sorts of levels we're likely to implement.

However that's not a federation-friendly trust model.

When you start talking about things that are mostly filtered with some
few values getting through, or when you start talking about rigorous
federation-level filtering to allow mutually distrusting parties to send
a lot of attributes across without stepping on each others' toes you're
talking about federation. That will require different processing rules
and thus should have a different ad-type.
It's even more true when you want services to be suspicious of the attributes.
_______________________________________________
ietf-krb-wg mailing list
[email protected]
https://lists.anl.gov/mailman/listinfo/ietf-krb-wg
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.