Re: [jose] JWS Counter Signatures

Bret Jordan <jordan.ietf@gmail.com> Fri, 23 November 2018 20:21 UTC

Return-Path: <jordan.ietf@gmail.com>
X-Original-To: jose@ietfa.amsl.com
Delivered-To: jose@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5EC71130DF5 for <jose@ietfa.amsl.com>; Fri, 23 Nov 2018 12:21:38 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 SSfhpWtVKwGV for <jose@ietfa.amsl.com>; Fri, 23 Nov 2018 12:21:35 -0800 (PST)
Received: from mail-yb1-xb2c.google.com (mail-yb1-xb2c.google.com [IPv6:2607:f8b0:4864:20::b2c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 440F112D4EB for <jose@ietf.org>; Fri, 23 Nov 2018 12:21:35 -0800 (PST)
Received: by mail-yb1-xb2c.google.com with SMTP id i78-v6so5164476ybg.0 for <jose@ietf.org>; Fri, 23 Nov 2018 12:21:35 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:message-id:mime-version:subject:date:in-reply-to:cc:to :references; bh=usSqP6/ajh5fsmICWMZQuFkN3EYQj4LlvNEBm1WVinU=; b=tVxxU/Te9f3Z4vrrQVqc4q7UT9PlwAArCqZlXvEwRhf2T0YgGNtvdrJ8Q/N7ItA7YF v3mcl4pqENAz3vLtrSglzeeq6dWtyUVvzg6hQ11v4H28y2VW62cQYUTayG3nGKUFzKRz 85fQzNmT8WWtTf2qGD8vXZe0I8VXcV7zrGrYQaSPPerghGSGzM+u+TJdB+hrFWRLsVx0 +0ivZQoD70wY7UcsLH3S2qQEijhoVzn3z1Hd7RX5xfGnXai8/nX+ohUAteRFb17jo2mg GHcQzziGApWjq2Gtl2DDG2UGcNNikoY/KSGDLx6NzV65GVYnfglB26qVqicb8BR8J+Mb jCXA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:message-id:mime-version:subject:date :in-reply-to:cc:to:references; bh=usSqP6/ajh5fsmICWMZQuFkN3EYQj4LlvNEBm1WVinU=; b=QH1HtR2XHzdQglgMoFRIVHhV5560jMLLXppVnqUNGeXfd4zsf41dfhODmBOvX4LTQg roaCJ7WtdNwbO2KN+3RWMw5qHHWR00+jTLTK0CvJhgWeFSYMALk715fjAq51Y6XHii0O yKHcByj/gKv9E5lNR16xQvbVT9KI7TbWJuiynwu+crbtrjn5yh8V7tC2rRiKuGlyYbCU Gf4eNC4migooYZqUgC/AFvqrhDSV7ZVjxVY5HjZLUUEgXUGzSwbjTNcBrASkMK+R+DqK Kirr2XyIaxtvWUztYGS8MVMblTihZO4o/xtoYvIGrsfKAmTE8J9vD6T/BR6ZvpXbaKkf Goaw==
X-Gm-Message-State: AA+aEWYj9Vcz893Z6v8aLfZm7AhW56dMKNVN8zlqf6Uf7aOwPF9jGAuK OQdejxh7zOaZ+Z+rRWSNEWQ=
X-Google-Smtp-Source: AFSGD/U7OjimvVwucuOsFjUGaPbp41D33JIObKQvwKq7XoOzM/luDseF1JZ1r7RbeO8bZGWl/ub5Jg==
X-Received: by 2002:a25:70c6:: with SMTP id l189-v6mr17071207ybc.299.1543004494496; Fri, 23 Nov 2018 12:21:34 -0800 (PST)
Received: from ?IPv6:2605:a601:3260:266:9458:1fa4:6e64:89f2? ([2605:a601:3260:266:9458:1fa4:6e64:89f2]) by smtp.gmail.com with ESMTPSA id e189sm9187117ywc.101.2018.11.23.12.21.32 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 23 Nov 2018 12:21:33 -0800 (PST)
From: Bret Jordan <jordan.ietf@gmail.com>
Message-Id: <E31AC422-22FA-4E24-8BBE-7DE19976C754@gmail.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_BE6AB703-D99A-4C2E-BB8B-48594C4C56BC"
Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\))
Date: Fri, 23 Nov 2018 13:21:23 -0700
In-Reply-To: <CABzCy2DTGyTeZ9ZFM5CrFizVOdJRYM5OhkKOzTngjWc9EXJdjg@mail.gmail.com>
Cc: Jim Schaad <ietf@augustcellars.com>, jose@ietf.org, Anders Rundgren <anders.rundgren.net@gmail.com>
To: Nat Sakimura <sakimura@gmail.com>
References: <12DD2F97-80C3-4606-9C6B-03F7A4BF19DE@gmail.com> <CAOASepNX4aYVmPWXyODn0E2Om_rimACPECqJBvZSOXVVd_p8LA@mail.gmail.com> <D21F3A95-0085-4DB7-A882-3496CC091B34@gmail.com> <CAOASepM=hB_k7Syqw4+b7L2vd6E_J0DSAAW0mHYdLExBZ6VBuw@mail.gmail.com> <00ad01d460f4$69ae8a00$3d0b9e00$@augustcellars.com> <8436AEE7-B25A-4538-B8F6-16D558D9A504@gmail.com> <MEAPR01MB35428606C09BF315DE04CC79E5E10@MEAPR01MB3542.ausprd01.prod.outlook.com> <CAHbuEH6DCD7Zc+PK3TnCBkKv1esnROwyCcDb8ZR+TKwgQQ+yXQ@mail.gmail.com> <0E6BD488-74D5-4640-BC31-5E45B0531AFC@gmail.com> <CAHbuEH5oH-Km6uAjrSr0pEHswFBLuDpfVweQ+gpj472yk+8iTQ@mail.gmail.com> <073CB50F-8D91-4EF6-90BE-FC897D557AA6@oracle.com> <A37D69B1-6B77-4E11-8BB9-A0209C77752C@tzi.org> <434fbdb6-0202-5a02-4cec-9332fbbe548c@gmail.com> <FBBFA6FA-4B0C-4239-9145-0B713120EC98@tzi.org> <01fd01d47f5f$4c4889f0$e4d99dd0$@augustcellars.com> <7b1d293c-1d97-44e4-0cd8-55ec1db6c3b5@gmail.com> <AD2DB2EB-3F06-4C55-94E4-CED60F6FF4CF@alkaline-solutions.com> <017701d48353$395f0600$ac1d1200$@augustcellars.com> <8A085454-EC20-469E-866B-BB867367D396@gmail.com> <CABzCy2DTGyTeZ9ZFM5CrFizVOdJRYM5OhkKOzTngjWc9EXJdjg@mail.gmail.com>
X-Mailer: Apple Mail (2.3445.9.1)
Archived-At: <https://mailarchive.ietf.org/arch/msg/jose/8ABV851gN2sTACKnTK3AzMxWgB0>
Subject: Re: [jose] JWS Counter Signatures
X-BeenThere: jose@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Javascript Object Signing and Encryption <jose.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/jose>, <mailto:jose-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/jose/>
List-Post: <mailto:jose@ietf.org>
List-Help: <mailto:jose-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/jose>, <mailto:jose-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Nov 2018 20:21:38 -0000

Quoting Andres from a few messages back:

>> BEGIN

The problem set is described, here is a short version:
- Keeping signed JSON in JSON format
- Enabling a consistent message structure regardless if messages are signed or not
- Supporting signed JavaScript objects

>>END

Thanks,
Bret
PGP Fingerprint: 63B4 FC53 680A 6B7D 1447  F2C0 74F8 ACAE 7415 0050
"Without cryptography vihv vivc ce xhrnrw, however, the only thing that can not be unscrambled is an egg."

> On Nov 23, 2018, at 12:32 PM, Nat Sakimura <sakimura@gmail.com> wrote:
> 
> Hmmm. I am failing to understand the problem. In JWS:  
> 
> 1) you can have multiple signatures on the same hash: Parallel signature; as well as 
> 2) you could encapsulate the signed blob into a new signature: Serial signature. 
> 
> What is the problem? 
> 
> Nat
> 
> On Sat, Nov 24, 2018 at 4:16 AM Bret Jordan <jordan.ietf@gmail.com <mailto:jordan.ietf@gmail.com>> wrote:
> I have need have having both parallel and nested signatures of JSON content. 
> 
> 
> Thanks,
> Bret
> PGP Fingerprint: 63B4 FC53 680A 6B7D 1447  F2C0 74F8 ACAE 7415 0050
> "Without cryptography vihv vivc ce xhrnrw, however, the only thing that can not be unscrambled is an egg."
> 
>> On Nov 23, 2018, at 10:37 AM, Jim Schaad <ietf@augustcellars.com <mailto:ietf@augustcellars.com>> wrote:
>> 
>> I am having a potential terminology problem.  When I read the term Counter
>> Signature, I am used to this meaning that I am signing a signature,
>> potentially with some additional information.   I am not sure that this is
>> what you have going on below.  Are these signatures "nested" or "parallel"
>> or "on the previous signature"?
>> 
>> Jim
>> 
>> 
>>> -----Original Message-----
>>> From: jose <jose-bounces@ietf.org <mailto:jose-bounces@ietf.org>> On Behalf Of Anders Rundgren
>>> Sent: Thursday, November 22, 2018 11:50 PM
>>> To: jose@ietf.org <mailto:jose@ietf.org>
>>> Subject: [jose] JWS Counter Signatures
>>> 
>>> Counter signatures were actually the major "inspiration" for Canonical
>> JSON
>>> since JWS based dittos are hard to debug and document due to the deep
>>> nesting of Base64Url encoded objects but it is still fully doable.
>>> 
>>> However, in a system which I will present at Trustech 2018, I came up with
>> a
>>> counter signature scheme where JOSE simply put ran out of gas.
>>> 
>>> https://cyberphone.github.io/doc/payments/payment-decentralization-scheme- <https://cyberphone.github.io/doc/payments/payment-decentralization-scheme->
>>> 1a.pdf
>>> 
>>> In this system (very briefly):
>>> 1. a Merchant creates a Payment Request and sends it to the Payer for
>>> authorization 2. the Payer authorizes the Payment Request with his/her
>>> signature key.  The signed authorization data includes a hash of the
>> Payment
>>> Request 3. the Payer (for privacy reasons) encrypts the authorization data
>> and
>>> returns it to the Merchant together with an unencrypted URL pointing to
>> the
>>> Payer's bank 4. the Merchant sends the original Payment Request + the
>>> encrypted Payer authorization data to the Payer's banks for fulfillment 5.
>> the
>>> Payer's bank decrypts and validates the authorization data, including
>> verifying
>>> that the hash of the Merchant-supplied Payment Request matches the hash in
>>> the authorization data
>>> 
>>> It seems to me that a JOSE based design would have to be architected in a
>>> fundamentally different way.
>>> 
>>> Anders
>>> 
>>> 
>>> 
>>> _______________________________________________
>>> jose mailing list
>>> jose@ietf.org <mailto:jose@ietf.org>
>>> https://www.ietf.org/mailman/listinfo/jose <https://www.ietf.org/mailman/listinfo/jose>
>> 
>> _______________________________________________
>> jose mailing list
>> jose@ietf.org <mailto:jose@ietf.org>
>> https://www.ietf.org/mailman/listinfo/jose <https://www.ietf.org/mailman/listinfo/jose>
> 
> _______________________________________________
> jose mailing list
> jose@ietf.org <mailto:jose@ietf.org>
> https://www.ietf.org/mailman/listinfo/jose <https://www.ietf.org/mailman/listinfo/jose>
> 
> 
> -- 
> Nat Sakimura (=nat)
> Chairman, OpenID Foundation
> http://nat.sakimura.org/ <http://nat.sakimura.org/>
> @_nat_en