[KEYPROV] Updated: Re: Giving up on XML DSig => JSON

Anders Rundgren <anders.rundgren@telia.com> Sat, 31 August 2013 03:23 UTC

Return-Path: <anders.rundgren@telia.com>
X-Original-To: keyprov@ietfa.amsl.com
Delivered-To: keyprov@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8A6D611E8111 for <keyprov@ietfa.amsl.com>; Fri, 30 Aug 2013 20:23:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.858
X-Spam-Level:
X-Spam-Status: No, score=-0.858 tagged_above=-999 required=5 tests=[AWL=-0.833, BAYES_00=-2.599, RCVD_ILLEGAL_IP=1.908, RCVD_IN_DNSWL_LOW=-1, SARE_URI_EQUALS=1.666]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ULmEW0RG4Icy for <keyprov@ietfa.amsl.com>; Fri, 30 Aug 2013 20:23:00 -0700 (PDT)
Received: from smtp-out21.han.skanova.net (smtp-out21.han.skanova.net [195.67.226.208]) by ietfa.amsl.com (Postfix) with ESMTP id F1A8811E8107 for <keyprov@ietf.org>; Fri, 30 Aug 2013 20:22:48 -0700 (PDT)
Received: from [192.168.0.5] (2.68.45.16) by smtp-out21.han.skanova.net (8.5.133) (authenticated as u36408181) id 521DAD6E001463C5 for keyprov@ietf.org; Sat, 31 Aug 2013 05:22:47 +0200
Message-ID: <52216178.4050701@telia.com>
Date: Sat, 31 Aug 2013 05:22:32 +0200
From: Anders Rundgren <anders.rundgren@telia.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130801 Thunderbird/17.0.8
MIME-Version: 1.0
To: keyprov@ietf.org
References: <521ED34C.5020605@gmail.com> <522015DC.9090609@digitalbazaar.com> <5220A2F9.8050505@gmail.com>
In-Reply-To: <5220A2F9.8050505@gmail.com>
X-Enigmail-Version: 1.5.2
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit
Subject: [KEYPROV] Updated: Re: Giving up on XML DSig => JSON
X-BeenThere: keyprov@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: "Provisioning of Symmetric Keys \(keyprov\)" <keyprov.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/keyprov>, <mailto:keyprov-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/keyprov>
List-Post: <mailto:keyprov@ietf.org>
List-Help: <mailto:keyprov-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/keyprov>, <mailto:keyprov-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 31 Aug 2013 03:23:06 -0000

Hi,
Based on the _extremely_ useful feedback received, I have decided to update the proposed clear-text JSON Signature scheme.

Canonicalization:
- Remove whitespace
- Unescape "strings"
- Sort properties

Signature scope: a JSON Signature signs the object (including possible child objects) it is declared in.

That is, the final XML DSig "leftover", the awkward Reference has been shelved.
I expect the resulting code to be even shorter than today :-)

   {
    "@context": "http://example.com/test-signature",
    "Now": "2013-08-30T07:56:08+02:00",
    "ID": "lADU_sO067Wlgoo52-9L",
    "STRINGS": ["One","Two","Three"],
    "EscapeMe": "A\\\n\"",
    "Intra": 78,
    "Signature":
      {
        "SignatureInfo":
          {
            "Algorithm": "http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha256",
            "KeyInfo":
              {
                "SignatureCertificate":
                  {
                    "Issuer": "CN=Demo Sub CA,DC=webpki,DC=org",
                    "SerialNumber": 1377713637130,
                    "Subject": "CN=example.com,O=Example Organization,C=US"
                  },
                "X509CertificatePath":
                  [
                    "MIIClzCCAX+gAwIBAgIG...RBYG3uk9W/uNIHdoyQn19w=="
                  ]
              }
          },
        "SignatureValue": "MEYCIQCCAxLBoPw5h8hW4M...L5t0XscOTPWXE67c1SCT"
      },
  }

The sample shows the new KeyGen2 message structure which has been derived from JSON-LD (@context)

Cheers
Anders