Re: [stir] Alexey Melnikov's Discuss on draft-ietf-stir-certificates-11: (with DISCUSS and COMMENT)
Alexey Melnikov <aamelnikov@fastmail.fm> Wed, 02 November 2016 19:17 UTC
Return-Path: <aamelnikov@fastmail.fm>
X-Original-To: stir@ietfa.amsl.com
Delivered-To: stir@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0BB01129B51; Wed, 2 Nov 2016 12:17:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.72
X-Spam-Level:
X-Spam-Status: No, score=-2.72 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=fastmail.fm header.b=eS4zZraU; dkim=pass (1024-bit key) header.d=messagingengine.com header.b=IoXnNiWg
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 32SAt2cowrhu; Wed, 2 Nov 2016 12:17:45 -0700 (PDT)
Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com [66.111.4.26]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 221B41297CD; Wed, 2 Nov 2016 12:17:45 -0700 (PDT)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 8541720775; Wed, 2 Nov 2016 15:17:44 -0400 (EDT)
Received: from web5 ([10.202.2.215]) by compute1.internal (MEProxy); Wed, 02 Nov 2016 15:17:44 -0400
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=fastmail.fm; h= x-me-sender:message-id:from:to:cc:mime-version :content-transfer-encoding:content-type:in-reply-to:date :references:subject; s=mesmtp; bh=DIhgbWuyxkTrR6S58ZDzu1sCdv8=; b= eS4zZraUMKwICM7DxGr78h7kdvQTPvavQHjPM2t/x4ooHUDlAuYXOmIFuDGG2QyJ gj44Wc2+wcMbXQiOvwcfgHGyRFPxVaMwUg92IKW84f5xeqwG6FuLdM5Ho73H4fUN lmLHBNG/CvXfvhygrP0YJC+eg9lon5u9ow7/Pn3M6j4=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=x-me-sender:message-id:from:to:cc :mime-version:content-transfer-encoding:content-type:in-reply-to :date:references:subject; s=smtpout; bh=DIhgbWuyxkTrR6S58ZDzu1sC dv8=; b=IoXnNiWgzbBkKNEr6ZAciDnqDeWwF0QCnKjEzQ8jdwLpDn4vylTfVCMg BUi5+hEgZtBP/3snYDdGilWjxYUrveyVjOGT7yTAYgWfvQU5OG6ozsihRNw83tXm MGj4NfIIrUJUNH+34LgOcduBoPzxY7P70DfM+HXXnOe+qTCdW7Q=
X-ME-Sender: <xms:2DsaWECviyujKIj3ePUhWedysAqX563YPCIdLIgsTQ8X4LMAA9V0lg>
Received: by mailuser.nyi.internal (Postfix, from userid 99) id 5414B5A678; Wed, 2 Nov 2016 15:17:44 -0400 (EDT)
Message-Id: <1478114264.260284.775416225.782F8598@webmail.messagingengine.com>
From: Alexey Melnikov <aamelnikov@fastmail.fm>
To: Alissa Cooper <alissa@cooperw.in>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="utf-8"
X-Mailer: MessagingEngine.com Webmail Interface - ajax-037c6db9
In-Reply-To: <26856EBB-3272-4D70-A60E-2714E8B1FB15@cooperw.in>
Date: Wed, 02 Nov 2016 19:17:44 +0000
References: <147800730286.23932.1515952198717955239.idtracker@ietfa.amsl.com> <BE53511C-3C37-4C94-8C01-681EB413C670@sn3rd.com> <1478101725.216255.775166569.1BD2E379@webmail.messagingengine.com> <58F5F6BD-02E0-4DC9-8A69-D918AB5A4B65@vigilsec.com> <26856EBB-3272-4D70-A60E-2714E8B1FB15@cooperw.in>
Archived-At: <https://mailarchive.ietf.org/arch/msg/stir/QrndYORKc-M7zMeW-c8f7TV2M2Q>
Cc: Russ Housley <housley@vigilsec.com>, IETF STIR Mail List <stir@ietf.org>, IESG <iesg@ietf.org>, draft-ietf-stir-certificates@ietf.org, stir-chairs@ietf.org, Robert Sparks <rjsparks@nostrum.com>
Subject: Re: [stir] Alexey Melnikov's Discuss on draft-ietf-stir-certificates-11: (with DISCUSS and COMMENT)
X-BeenThere: stir@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Secure Telephone Identity Revisited <stir.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/stir>, <mailto:stir-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/stir/>
List-Post: <mailto:stir@ietf.org>
List-Help: <mailto:stir-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/stir>, <mailto:stir-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 02 Nov 2016 19:17:47 -0000
Hi Alissa, On Wed, Nov 2, 2016, at 06:41 PM, Alissa Cooper wrote: > Alexey, > > My understanding of the JWT Claim Constraints is that a CA can use them > to constrain which claims it expects to receive when asked to validate a > cert. Let’s imagine a context in which the base set of claims defined in > this spec has been extended to include a “confidence” claim that allows a > carrier to differentiate between cases where a number block is fully > operated by a customer (e.g., Carrier X assigns a block to Enterprise Y), > delegated to a wholesaler, or operating via an SBC. Imagine that the > “full,” “delegated,” and “sbc” claims about a “confidence” claim have all > been specified. The permitted and excluded constraints could be used to > limit claims to one of these categories, e.g., permitted would be set to > “full” for the claim “confidence” for numbers in the block used by > Enterprise Y. Ok, this makes some sense. A followup question: what is the syntax of claim name? (I understand that IA5String provides a restriction, but I am wondering if many people outside of Security area actually know what these restrictions are). Are claim tokens likely to be allocated by IANA? > The syntax for expressing permitted and excluded is analogous to the > syntax used for name constraints and policy constraints in RFC 5280 > (sections 4.2.1.10 and 4.2.1.11). > > I realize this is a little hard to grasp because it is defining a > constraint mechanism largely for use cases involving claims that have yet > to be specified. Does it make sense conceptually, though? If so, > hopefully the authors can figure out some text to add that would clarify > it, if necessary. Yes, that is why I've asked about an example. Adding something along the lines of your hypothetical example is fine. > Thanks, > Alissa > > > On Nov 2, 2016, at 11:54 AM, Russ Housley <housley@vigilsec.com> wrote: > > > > > > On Nov 2, 2016, at 11:48 AM, Alexey Melnikov <aamelnikov@fastmail.fm> wrote: > > > >> Hi Sean, > >> > >> On Tue, Nov 1, 2016, at 03:15 PM, Sean Turner wrote: > >>> > >>>> On Nov 01, 2016, at 09:35, Alexey Melnikov <aamelnikov@fastmail.fm> wrote: > >> > >> (snip) > >> > >>>> ---------------------------------------------------------------------- > >>>> DISCUSS: > >>>> ---------------------------------------------------------------------- > >>>> > >>>> I have one small issue that I would like to discuss before recommending > >>>> approval of this document: > >>>> > >>>> Reading Section 8 I was unable to figure out what are "claim", > >>>> "permitted" and "excluded" and what exact syntaxes they use. I think this > >>>> is underspecified. > >>>> You are probably missing some references, examples or both. > >>> > >>> From s5.1: > >>> > >>> The public key in the certificate is used to validate the signature > >>> on a JSON Web Token (JWT) [RFC7519] that conforms to the conventions > >>> specified in PASSporT [I-D.ietf-stir-passport]. This specification > >>> supports constraints on the JWT claims, which allows the CA to > >>> differentiate those enrolled from proof-of-possession versus > >>> delegation. > >>> > >>> the JWT claims for STIR are found in s5 of [I-D.ietf-stir-passport]. We > >>> define our own but also use some existing ones so we could add a > >>> reference as follows to clear this up: > >>> > >>> …, This specification > >>> supports constraints on the JWT claims [I-D.ietf-stir-passport], > >>> which allows the CA to differentiate those enrolled from > >>> proof-of-possession versus delegation. > >> > >> Adding this somewhere in section 8 would help. > >> > >>> Permitted and excluded are in s8 (they’re just IA5Strings): > >>> > >>> JWTClaimConstraint ::= SEQUENCE { > >>> claim IA5String, > >>> -> permitted [1] SEQUENCE OF IA5String OPTIONAL, > >>> -> excluded [2] SEQUENCE OF IA5String OPTIONAL } > >>> ( WITH COMPONENTS { ..., permitted PRESENT } | > >>> WITH COMPONENTS { ..., excluded PRESENT } ) > >>> > >>> These are analogous to the permitted and excluded name and policy > >>> constraints in X.509/RFC 5280. > >> > >> I am sorry if I am being thick, but I still don't get what is this all > >> about. Doing a quick scan of RFC 5280 I only found permittedSubtrees. > >> Can you give me an example or two on how this is going to be used? > > > > Alexey: > > > > For a named claim, the extension limits the possible values that can appear. > > > > If the permitted SEQUENCE is populated, then the listed claim MUST contain one of the listed values. > > > > If the excluded SEQUENCE is populated, then the listed claim MUST NOT contain one of the listed values. > > > > Russ > > _______________________________________________ > > stir mailing list > > stir@ietf.org > > https://www.ietf.org/mailman/listinfo/stir >
- [stir] Alexey Melnikov's Discuss on draft-ietf-st… Alexey Melnikov
- Re: [stir] Alexey Melnikov's Discuss on draft-iet… Sean Turner
- Re: [stir] Alexey Melnikov's Discuss on draft-iet… Alexey Melnikov
- Re: [stir] Alexey Melnikov's Discuss on draft-iet… Russ Housley
- Re: [stir] Alexey Melnikov's Discuss on draft-iet… Alissa Cooper
- Re: [stir] Alexey Melnikov's Discuss on draft-iet… Dave Crocker
- Re: [stir] Alexey Melnikov's Discuss on draft-iet… Alexey Melnikov
- Re: [stir] Alexey Melnikov's Discuss on draft-iet… Peterson, Jon
- Re: [stir] Alexey Melnikov's Discuss on draft-iet… Alexey Melnikov
- Re: [stir] Alexey Melnikov's Discuss on draft-iet… Peterson, Jon
- Re: [stir] Alexey Melnikov's Discuss on draft-iet… Alexey Melnikov
- Re: [stir] Alexey Melnikov's Discuss on draft-iet… Peterson, Jon
- Re: [stir] Alexey Melnikov's Discuss on draft-iet… Alissa Cooper
- Re: [stir] Alexey Melnikov's Discuss on draft-iet… Dave Crocker