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 15:48 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 BFCC612950D; Wed, 2 Nov 2016 08:48: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=WPLamXnW; dkim=pass (1024-bit key) header.d=messagingengine.com header.b=tdFzvicf
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 aeNEqL3hxPPV; Wed, 2 Nov 2016 08:48:46 -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 80A4B128874; Wed, 2 Nov 2016 08:48:46 -0700 (PDT)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id D4C8A209BF; Wed, 2 Nov 2016 11:48:45 -0400 (EDT)
Received: from web5 ([10.202.2.215]) by compute1.internal (MEProxy); Wed, 02 Nov 2016 11:48:45 -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:references:in-reply-to :subject:date; s=mesmtp; bh=TQbU6kfkrxza4YnwRInTx5kl3ZY=; b=WPLa mXnWL6piU6kMMs1ln/fJvq3LvQQ5Z0ZEnB155R5PgVQ2w2RboAeUBx0QfdOQhYuG QLh225xybU4Ox7x0odhIlaenXlCKf4KUM/LP02neveYNF3r9YWkI1lYBUki5/XmD d1iYzg3jmqNNQTU66j85Qvp/FGSTSFiSZidBpS0=
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:references :in-reply-to:subject:date; s=smtpout; bh=TQbU6kfkrxza4YnwRInTx5k l3ZY=; b=tdFzvicfxjrzmLC+Y8GoUzOPz0Kys6l/shlDOEztPvDabFoZd6fQ217 gqeo/5e+DCusqHkCwRbuaCx1AqWcpMeTTIj0yD8042WlYc0JIOQZf/+DDXZxuL0U hUdBVS96BWbWmwG8fB0FKgmYaDPjt9MsfbnX0Fp09xyZbjFDCtFY=
X-ME-Sender: <xms:3QoaWA0s1vih0MUE4D23S2hVJk1tAsK-QXOVWy9Ri8eVdoNNvhAbDw>
Received: by mailuser.nyi.internal (Postfix, from userid 99) id A877A5A678; Wed, 2 Nov 2016 11:48:45 -0400 (EDT)
Message-Id: <1478101725.216255.775166569.1BD2E379@webmail.messagingengine.com>
From: Alexey Melnikov <aamelnikov@fastmail.fm>
To: Sean Turner <sean@sn3rd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="utf-8"
X-Mailer: MessagingEngine.com Webmail Interface - ajax-037c6db9
References: <147800730286.23932.1515952198717955239.idtracker@ietfa.amsl.com> <BE53511C-3C37-4C94-8C01-681EB413C670@sn3rd.com>
In-Reply-To: <BE53511C-3C37-4C94-8C01-681EB413C670@sn3rd.com>
Date: Wed, 02 Nov 2016 15:48:45 +0000
Archived-At: <https://mailarchive.ietf.org/arch/msg/stir/w02PkS6LjbIMC7-oQX8PlHLgP7Q>
Cc: draft-ietf-stir-certificates@ietf.org, stir-chairs@ietf.org, The IESG <iesg@ietf.org>, stir@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 15:48:47 -0000

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?