Re: [Anima-bootstrap] voucher yang

Michael Richardson <> Fri, 03 March 2017 14:12 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id E5A211295E0 for <>; Fri, 3 Mar 2017 06:12:35 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 5iHkGPgSdqVm for <>; Fri, 3 Mar 2017 06:12:34 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 77F6B12944C for <>; Fri, 3 Mar 2017 06:12:34 -0800 (PST)
Received: from ( [IPv6:2607:f0b0:f:2::247]) by (Postfix) with ESMTP id C881F2009E; Fri, 3 Mar 2017 09:34:57 -0500 (EST)
Received: from (localhost [IPv6:::1]) by (Postfix) with ESMTP id 2115D636BB; Fri, 3 Mar 2017 09:12:33 -0500 (EST)
From: Michael Richardson <>
To: Kent Watsen <>
In-Reply-To: <>
References: <> <> <> <>
X-Mailer: MH-E 8.6; nmh 1.6+dev; GNU Emacs 24.5.1
X-Face: $\n1pF)h^`}$H>Hk{L"x@)JS7<%Az}5RyS@k9X%29-lHB$Ti.V>2bi.~ehC0; <'$9xN5Ub# z!G,p`nR&p7Fz@^UXIn156S8.~^@MJ*mMsD7=QFeq%AL4m<nPbLgmtKK-5dC@#:k
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-="; micalg="pgp-sha256"; protocol="application/pgp-signature"
Date: Fri, 03 Mar 2017 09:12:33 -0500
Message-ID: <>
Archived-At: <>
Cc: anima-bootstrap <>
Subject: Re: [Anima-bootstrap] voucher yang
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Mailing list for the bootstrap design team of the ANIMA WG <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Fri, 03 Mar 2017 14:12:36 -0000

Kent Watsen <> wrote:
    >> What I'm saying is that the pledge can't know how the owner was verified.
    >> The pledge actually has to process the same as for "verified" as for
    >> "logged".  It doesn't change the pledge's behaviour.

    > But it does.  Some pledges may be coded to only support 'verified'
    > vouchers.

I agree, but the verification involved can't be confirmed by the pledge.

    > The DER itself works for me (the privacy concern seems minor).  It's
    > also more code (relative to just using an openssl command line option),
    > but actually it's
    > one step less code than calculating the SHA256 fingerprint.

A constrained device might not have a shell to run an openssl command line :-)

    >>> I'm okay with PCRE in theory, but I've read that a compiled stripped
    >>> library is large, do you know?
    >> I don't know. I don't want either :-)
    >> If I have to pick a regex library (vs shell-style globbing...) then
    >> I'd rather pick PCRE if we can find a stable reference.

    > As discussed in another thread, I'm beginning to think that we should
    > do away with having a single voucher for many devices, because we'd
    > want revocations to be as granular as possible.


    >>> A 'binary' type would allow the nonce to be any length octet sequence,
    >>> which is converted to base64 encoded string for JSON.  Is this what
    >>> you want?
    >> I want as much entropy in as small a space as possible.
    >> string seems to waste 2-bits per byte if it's base64 encoded in a binary
    >> format (CBOR).  If JSON has to base64 encode things, I'm okay with that.
    >> I would assume that integers get network-byte order considerations which
    >> might lead to implementation bugs, where as binary[8] (if such a thing
    >> exists) would not.  I think uint64 might be too small.

    > Okay, let's change the nonce to a binary type.

Can we say the nonce is 8 to 32 bytes in size?
If we have to pick a single number, I'd say 16 bytes.

Michael Richardson <>, Sandelman Software Works
 -= IPv6 IoT consulting =-