Re: [Ietf-krb-wg] Review of draft-sorce-krbwg-general-pac-02

Simo Sorce <simo@redhat.com> Tue, 21 June 2011 12:44 UTC

Return-Path: <ietf-krb-wg-bounces@lists.anl.gov>
X-Original-To: ietfarch-krb-wg-archive@ietfa.amsl.com
Delivered-To: ietfarch-krb-wg-archive@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E42DF9E8021 for <ietfarch-krb-wg-archive@ietfa.amsl.com>; Tue, 21 Jun 2011 05:44:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -106.599
X-Spam-Level:
X-Spam-Status: No, score=-106.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id tVMpI0xyEB5Z for <ietfarch-krb-wg-archive@ietfa.amsl.com>; Tue, 21 Jun 2011 05:44:40 -0700 (PDT)
Received: from mailhost.anl.gov (mailhost.anl.gov [130.202.113.50]) by ietfa.amsl.com (Postfix) with ESMTP id DEAB19E8014 for <krb-wg-archive@lists.ietf.org>; Tue, 21 Jun 2011 05:44:39 -0700 (PDT)
Received: from mailhost.anl.gov (mailhost.anl.gov [130.202.113.50]) by localhost.anl.gov (Postfix) with ESMTP id 67F6F4E; Tue, 21 Jun 2011 07:44:39 -0500 (CDT)
Received: from lists.anl.gov (katydid.it.anl.gov [146.137.96.32]) by mailhost.anl.gov (Postfix) with ESMTP id 0092A49; Tue, 21 Jun 2011 07:44:38 -0500 (CDT)
Received: from katydid.it.anl.gov (localhost [127.0.0.1]) by lists.anl.gov (Postfix) with ESMTP id B6F6A80E9A; Tue, 21 Jun 2011 07:44:38 -0500 (CDT)
X-Original-To: ietf-krb-wg@lists.anl.gov
Delivered-To: ietf-krb-wg@lists.anl.gov
Received: from mailrelay.anl.gov (mailrelay.anl.gov [130.202.101.22]) by lists.anl.gov (Postfix) with ESMTP id 797EF80E88 for <ietf-krb-wg@lists.anl.gov>; Tue, 21 Jun 2011 07:44:37 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1]) by localhost.it.anl.gov (Postfix) with ESMTP id 603EF7CC05F; Tue, 21 Jun 2011 07:44:37 -0500 (CDT)
Received: from mailrelay.anl.gov ([127.0.0.1]) by localhost (mailrelay.anl.gov [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 11032-02; Tue, 21 Jun 2011 07:44:37 -0500 (CDT)
Received: from mailgateway.anl.gov (mailgateway.anl.gov [130.202.101.28]) by mailrelay.anl.gov (Postfix) with ESMTP id 2F2FB7CC05A for <ietf-krb-wg@lists.anl.gov>; Tue, 21 Jun 2011 07:44:37 -0500 (CDT)
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AuIBADyRAE7RhLcckWdsb2JhbABUhEmiJRQBAQEBCQsLBxQGH4hzrnuRGIErg3WBCgSWSItA
X-IronPort-AV: E=Sophos;i="4.65,401,1304312400"; d="scan'208";a="62214300"
Received: from mx1.redhat.com ([209.132.183.28]) by mailgateway.anl.gov with ESMTP; 21 Jun 2011 07:44:36 -0500
Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id p5LCiW7Y010747 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Tue, 21 Jun 2011 08:44:32 -0400
Received: from [172.17.32.2] (pilototp-int.redhat.com [10.11.232.41]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id p5LCiVQx012530; Tue, 21 Jun 2011 08:44:32 -0400
From: Simo Sorce <simo@redhat.com>
To: Josh Howlett <Josh.Howlett@ja.net>
In-Reply-To: <CA265779.21018%josh.howlett@ja.net>
References: <CA265779.21018%josh.howlett@ja.net>
Organization: Red Hat, Inc.
Date: Tue, 21 Jun 2011 08:44:31 -0400
Message-ID: <1308660271.25324.20.camel@willson.li.ssimo.org>
Mime-Version: 1.0
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23
X-Virus-Scanned: Debian amavisd-new at frigga.it.anl.gov
Cc: "ietf-krb-wg@lists.anl.gov" <ietf-krb-wg@lists.anl.gov>
Subject: Re: [Ietf-krb-wg] Review of draft-sorce-krbwg-general-pac-02
X-BeenThere: ietf-krb-wg@lists.anl.gov
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "This is a list for the IETF Kerberos Working Group. {WORLDPUB, EXTERNAL}" <ietf-krb-wg.lists.anl.gov>
List-Unsubscribe: <https://lists.anl.gov/mailman/options/ietf-krb-wg>, <mailto:ietf-krb-wg-request@lists.anl.gov?subject=unsubscribe>
List-Archive: <https://lists.anl.gov/pipermail/ietf-krb-wg>
List-Post: <mailto:ietf-krb-wg@lists.anl.gov>
List-Help: <mailto:ietf-krb-wg-request@lists.anl.gov?subject=help>
List-Subscribe: <https://lists.anl.gov/mailman/listinfo/ietf-krb-wg>, <mailto:ietf-krb-wg-request@lists.anl.gov?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: ietf-krb-wg-bounces@lists.anl.gov
Sender: ietf-krb-wg-bounces@lists.anl.gov

On Tue, 2011-06-21 at 12:12 +0000, Josh Howlett wrote:
> I took an action at the Prague meeting to review this document.
> 
> 0. Attribute definition
> 
> The document defines a set of attributes, and outlines an extensibility
> mechanism for incorporating other attributes. While the semantics
> associated with the attributes defined in section 4 seem entirely
> reasonable, I am curious why the authors chose to define a
> document-specific attribute schema rather than adopt the semantics from
> existing attribute schema (e.g. RFC 2307) where equivalent semantics may
> have already been defined.

This is a good suggestion, we were still working out some of the
necessary fields, and as you can see there are more than what RFC2307
defines. But I think it is a good idea to redefine those that match by
pointing at RFC2307. Although there are some attributes that may require
further explanation.

For example I haven't mentioned names case-sensitivity, and although I
really would like to define all names as case insensitive I am sure some
people may object because theoretically POSIX define user and group
names as case sensitive.

So if it is ok to refer to RFC2307 and then further explain/define some
aspects of the attributes I think we can do that.

> 1. Encoding
> 
> The document specifies the use of ASN.1 encoding of attributes, on the
> basis that this is what Kerberos uses. As a general principle the choice
> of encoding should, IMO, be determined principally by the preferences of
> the parties expected to issue and consume the PAD. For the purposes of
> this document, I would expect those to be the KDC (issuer) and -- for
> modern usage of Kerberos -- the GSS acceptor (consumer). So, in the former
> case the choice of ASN.1 is reasonable. However, in the second case I
> would expect that application developers would prefer to use GSS-API
> naming extensions, rather than parse the PAD directly. Quoting
> draft-ietf-kitten-gssapi-naming-exts:
> 
> "The goal is to make information modelled as "name attributes" available
> to applications.  Such information MAY for instance be used by
> applications to make authorization-decisions.  For example, Kerberos V
> authorization data elements, both in their raw forms, as well as mapped to
> more useful value types, can be made available to GSS-API applications
> through these interfaces."

Luke Howard also proposed in private conversations to also expose PAD
attributes through named extensions, the way the PAD is encoded should
not be an obstacle to that, and I genewrally agree it is a good idea.

> GSS naming extensions is encoding agnostic and so GSS implementations
> could in principle be extended to support the proposed PAD format, but in
> practice it may be more efficient to re-use encodings that GSS acceptor
> implementations already (or are likely to) support, such as SAML, rather
> than invent a new one.

While GSS may find SAML slightly easier, we have to consider also the
KDC implementations. And space constraints. In the KDC SAML parsers are
not available, plus SAML tends to be quite more verbose and eat more
space (the PAD is attached to the ticket and we do not want overly large
tickets if possible). Plus there is the signatures part, which requires
us to treat the PAD as a buffer.

> It is worth noting that the SAML Assertion element has the semantics
> described in section 5.1 ("PAD Format"); consequently, in principle a SAML
> attribute assertion could be used as the PAD payload.

It could, but I didn't want to add SAML as a dependency for a KDC. ASN.1
while not fancy is available already in both the KDC and the Kerberos
client libraries, so it seems a more common denominator.

> 2. Attribute semantics
> 
> The use-case that motivates the document is authorisation in cross-realm
> scenarios. The document notes that there are some challenges with some of
> the proposed authorisation semantics in cross-realm scenario (e.g.
> identifier collisions), and that local manipulation of incoming attribute
> values may be necessary.
> 
> In contemporary federated deployments, it is common to manage this
> manipulation explicitly by passing 'entitlement' values rather than
> explicit authorisations: the privileges associated with an entitlement are
> derived locally.
> 
> I encourage the authors to consider the potential of attributes with
> entitlement semantics, and also entitlement values that may have general
> applicability.

I wanted to push this kind of authorization attributes as an optional
extension. The reason is that POSIX like attributes are quite easy to
agree on, their use and need is well understood and the need for mapping
is also well understood.

I didn't want to go beyond that in this first standard because it would
require much more work to reach consensus. That's why the format allows
for optional additional buffers, there is where I see additional future
work adding more complex authorization attributes, including, possibly
SAML assertions and entitlement semantics.

> 3. Summary
> 
> I recommend that the authors consider the use of SAML encoding for the
> PAD, and whether exposing these values through GSS-API naming extensions
> provides a better integration story for application developers. The
> authors should also consider whether section 4 could be re-factored to
> make greater use of existing attribute schema. In particular, it might be
> useful to consider the use of entitlements in addition to explicit
> authorisations.
> 
> Hope this helps.

It certainly hepls, and I welcome further thoughts along these lines.
This is exactly the kind of feedback I am looking forward to.

Simo.

-- 
Simo Sorce * Red Hat, Inc * New York

_______________________________________________
ietf-krb-wg mailing list
ietf-krb-wg@lists.anl.gov
https://lists.anl.gov/mailman/listinfo/ietf-krb-wg