Re: [jose] Payment Perspective on draft-jones-jose-jws-signing-input-options 00

Anders Rundgren <anders.rundgren.net@gmail.com> Wed, 12 August 2015 12:35 UTC

Return-Path: <anders.rundgren.net@gmail.com>
X-Original-To: jose@ietfa.amsl.com
Delivered-To: jose@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id AB0141B2D08 for <jose@ietfa.amsl.com>; Wed, 12 Aug 2015 05:35:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4
X-Spam-Level:
X-Spam-Status: No, score=-4 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, GB_I_INVITATION=-2, SPF_PASS=-0.001] autolearn=ham
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 yVPejQHDqoa0 for <jose@ietfa.amsl.com>; Wed, 12 Aug 2015 05:35:05 -0700 (PDT)
Received: from mail-wi0-x234.google.com (mail-wi0-x234.google.com [IPv6:2a00:1450:400c:c05::234]) (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 C8B5E1B2CF3 for <jose@ietf.org>; Wed, 12 Aug 2015 05:35:04 -0700 (PDT)
Received: by wicne3 with SMTP id ne3so98241456wic.0 for <jose@ietf.org>; Wed, 12 Aug 2015 05:35:03 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:subject:to:references:message-id:date:user-agent:mime-version :in-reply-to:content-type:content-transfer-encoding; bh=JKMZmkL0LGJeo0CIhOyXZIryIEMDmBVcjVO+NpuP2qY=; b=gcoMZbuOWb8Gbe4AcjDrypuC4FajEKrMDbvNGSenVG4ex+w4at9ZNy+LGYEz70ujWr 37784T0lUITxrRWr7jBdMEepSq4niFAOiUSRMeAeuAqD1/O6y+tBWEkczKyKTcJXKQ0X BsJP60Qxf9mITUOW/n2LQoXGBIE2Eb3AzxLn0e0hgxRPBfwt3LwP8lm97IUZLC9vpVY8 7Mhpe+09SHpJBSZ3bkmELqGr045iXfHzdIk8AevQekUEIenkdFVm3+A36g0L+Xvckvc6 rsNfpNu53jTPw9L5PZMUkU+Jls+kJ4ypkEpjhGDvWQy1GWMjocWAyRz/Z9bM+I2ubQu5 iUcg==
X-Received: by 10.194.89.72 with SMTP id bm8mr67703740wjb.116.1439382903526; Wed, 12 Aug 2015 05:35:03 -0700 (PDT)
Received: from [192.168.1.79] (27.195.130.77.rev.sfr.net. [77.130.195.27]) by smtp.googlemail.com with ESMTPSA id s1sm8154179wix.13.2015.08.12.05.35.01 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 12 Aug 2015 05:35:02 -0700 (PDT)
From: Anders Rundgren <anders.rundgren.net@gmail.com>
To: Sergey Beryozkin <sberyozkin@gmail.com>, Mike Jones <Michael.Jones@microsoft.com>, Jim Schaad <ietf@augustcellars.com>, "jose@ietf.org" <jose@ietf.org>, Nat Sakimura <n-sakimura@nri.co.jp>
References: <55C632B0.9060304@gmail.com> <BY2PR03MB4426293ACF249D70D18B800F5700@BY2PR03MB442.namprd03.prod.outlook.com> <55C83258.5050405@gmail.com> <002e01d0d339$711eb9a0$535c2ce0$@augustcellars.com> <55C85C90.8010605@gmail.com> <018101d0d3a2$8fc1a660$af44f320$@augustcellars.com> <55C90F20.2090508@gmail.com> <01a601d0d3af$9af01ff0$d0d05fd0$@augustcellars.com> <55C98306.8000308@gmail.com> <BY2PR03MB442FF08617228C104684638F57F0@BY2PR03MB442.namprd03.prod.outlook.com> <55C99BA8.9040106@gmail.com> <55C9C701.6060307@gmail.com> <55C9CBD8.3070006@gmail.com> <55CB1DFA.3030101@gmail.com>
Message-ID: <55CB3D6F.10307@gmail.com>
Date: Wed, 12 Aug 2015 14:34:55 +0200
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.1.0
MIME-Version: 1.0
In-Reply-To: <55CB1DFA.3030101@gmail.com>
Content-Type: text/plain; charset="windows-1252"; format="flowed"
Content-Transfer-Encoding: 7bit
Archived-At: <http://mailarchive.ietf.org/arch/msg/jose/vUZZK8UieNgiN__EY7GjjJ9EMqE>
Subject: Re: [jose] Payment Perspective on draft-jones-jose-jws-signing-input-options 00
X-BeenThere: jose@ietf.org
X-Mailman-Version: 2.1.15
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: Wed, 12 Aug 2015 12:35:07 -0000

On 2015-08-12 12:20, Sergey Beryozkin wrote:
> Hi Anders
>
> I'm interesting in experimenting with JCS in our project, possibly
> implemented, I've created an issue to keep it on the map. It does not
> have to be RFC :-)...
> Now that I think about it I'm not even sure I understand why the
> ordering constraint is a problem, even the most primitive reader/writer
> I did myself uses LinkedHashMap.
>
> The situation where an intermediary uses some 3rd party parser that
> reads a payload then add something new and produces a different order
> appears to be somewhat isolated (in fact I'm not sure it is practically
> realistic because this intermediary would also need to have the same
> same signing/validating key and the problem of distributing the key
> securely between many parties in the chain appears to be much more
> complex for the actual exercise even to tale place). Sorry all if I
> misunderstood something :-)


Totally agree (of course) :-)

JCS (and GraphSignature) were designed to add a "Signed" capability to existing
JSON objects while keeping the message structure intact since business folks
tend to care more about their messages than about signatures.

This may sound a bit sloppy but assuming that both interests actually can be met, why not? :-)

I'm considering an RFC in the same vein as JSON-I where "Predictive Serialization"
would be outlined since this is really the core idea and a possible quality factor
for future JSON tools.

Cheers,
Anders

>
> Thanks, Sergey
> On 11/08/15 11:18, Anders Rundgren wrote:
>> On 2015-08-11 11:57, Sergey Beryozkin wrote:
>>> Hi Anders
>>> Not sure if it makes sense, but can the ordering requirement be relaxed
>>> and instead JSON keys are sorted first (natural string sorting) before
>>> the signature is created or validated ? Though it is probably not
>>> effective as it can block streaming...
>>
>> Hi Sergey,
>>
>> The point I have tried to make (and failed with) is that "Predictable
>> Serialization"
>> is a generic usable JSON feature.
>>
>> http://docs.oracle.com/javase/8/docs/api/java/util/LinkedHashMap.html
>>
>>     "This technique is particularly useful if a module takes a map on input,
>>      copies it, and later returns results whose order is determined by that
>>      of the copy. (Clients generally appreciate having things returned in
>> the
>>      same order they were presented.)"
>>
>> Clients = Users.
>>
>> Sorting would defeat the readability requirement and also depend on
>> external
>> signature processing code.  In my take on this topic, the parser/serializer
>> does all signature processing except for the core cryptographic operations.
>>
>> Anders
>>
>>> Cheers, Sergey
>>> On 11/08/15 07:52, Anders Rundgren wrote:
>>>> On 2015-08-11 07:41, Mike Jones wrote:
>>>>> I would think that the financial community would want a reliable
>>>>> signature method,
>>>>
>>>> Indeed.
>>>>
>>>>
>>>>> without the interop problems that relying on canonicalization creates,
>>>>> as so
>>>>    > thoroughly demonstrated in practice by XML Canonicalization.
>>>>
>>>> Absolutely!
>>>>
>>>>
>>>>> For starters, there isn't actually a JSON canonicalization standard in
>>>>> the first place.
>>>>
>>>> True.  As I have shown in specifications, code, etc. there's no need for
>>>> such a thing either.
>>>>
>>>>
>>>>> And relying on intermediaries not modifying the JSON in any way is
>>>>> also fraught with
>>>>    > danger and an invitation to attacks.
>>>>
>>>> It is possible that my analysis is flawed, but as far as I can tell, the
>>>> only thing
>>>> an adversary (or poorly working intermediary), could succeed with by a
>>>> substitution
>>>> attack on JCS [1], is invalidating signatures which I (FWIW) wouldn't
>>>> characterize
>>>> as a security problem but as a nuisance and interoperability issue.
>>>>
>>>>
>>>>> Would using JWS with detached payloads really be that onerous for this
>>>>> community,
>>>>    > provided they actually have a way to preserve the payload exactly?
>>>>
>>>> If nothing else helps they would go for that but as shown there are (at
>>>> least)
>>>> a couple of efforts out there pointing to more "JSONesque" schemes.
>>>>
>>>> My guess is that there are many other JSON signature schemes in the
>>>> workings we
>>>> don't know of, since financial communities tend to be rather
>>>> tight-lipped :-)
>>>>
>>>> It is important to realize that I'm in _no way_ "dissing" the JOSE work,
>>>> I only
>>>> see it as less suitable for the target market I mentioned.
>>>>
>>>> Best regards,
>>>> Anders
>>>>
>>>> 1]
>>>> https://cyberphone.github.io/openkeystore/resources/docs/jcs.html#Sample_Signature
>>>>
>>>>
>>>>
>>>>>
>>>>>                   -- Mike
>>>>>
>>>>> -----Original Message-----
>>>>> From: jose [mailto:jose-bounces@ietf.org] On Behalf Of Anders Rundgren
>>>>> Sent: Monday, August 10, 2015 10:07 PM
>>>>> To: Jim Schaad; jose@ietf.org
>>>>> Subject: Re: [jose] Payment Perspective on
>>>>> draft-jones-jose-jws-signing-input-options 00
>>>>>
>>>>> On 2015-08-10 23:00, Jim Schaad wrote:
>>>>>> I am just not interested in this I guess.
>>>>>
>>>>> Yes, the JOSE WG have more or less unanimously decided to ignore the
>>>>> needs of the financial community who wants to sign JSON objects [1]
>>>>> rather than signing arbitrary data using JSON-based signature
>>>>> containers.
>>>>>
>>>>> Anders
>>>>>
>>>>> 1] Although entirely different with respect to JSON normalization, the
>>>>> following independently developed schemes proposals seem to support
>>>>> this statement:
>>>>>
>>>>> https://web-payments.org/specs/source/vocabs/security.html#GraphSignature2012
>>>>>
>>>>>
>>>>> https://cyberphone.github.io/openkeystore/resources/docs/jcs.html#Sample_Signature
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> jose mailing list
>>>>> jose@ietf.org
>>>>> https://www.ietf.org/mailman/listinfo/jose
>>>>>
>>>>
>>>> _______________________________________________
>>>> jose mailing list
>>>> jose@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/jose
>>>
>>
>