Re: [jose] RESEND: JSON Web Key support for private and symmetric keys

Mark Watson <> Mon, 12 November 2012 02:53 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 0568B21F8430 for <>; Sun, 11 Nov 2012 18:53:37 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -9.213
X-Spam-Status: No, score=-9.213 tagged_above=-999 required=5 tests=[AWL=-1.052, BAYES_00=-2.599, FH_RELAY_NODNS=1.451, HELO_MISMATCH_COM=0.553, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_HI=-8, RDNS_NONE=0.1]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id S8H0OlaChYmI for <>; Sun, 11 Nov 2012 18:53:36 -0800 (PST)
Received: from (unknown []) by (Postfix) with ESMTP id 1D46B21F842E for <>; Sun, 11 Nov 2012 18:53:36 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; s=s2048;; h=from:to:cc:subject:date:message-id:references:in-reply-to :content-type:mime-version; bh=St2JjkDOsQ8RuoFDkLXlOIsWgNw=; b=oL966n7W+O5zzq9EAnkNF+k9BGtxBiHIjgrHeldnE7a0PsCJU8ObdiPz0pgOG6qetkEk5IHQ OxvYKNTjQJAgPl6TzyLlqdmZZOnAqF5qzdHkkf6tBJJvTOLDxoL+w4gBZ11ts3rN84wWUSgd wILlvp3cYCmhG52zrRxtYVwB9Xdq5QFX7CLZi/mwWPk1fw5cn3TZrxa1gEKMOl6tsahR+3Az Axj4QyD2XQI7ROWg2Z40sXf9ydMS9tId1Y53rmljGHjXepKp//QcM6+XR2ARv7m8dlQqRy5P RIn/flPA3v4ByGcomRhdBR3OdbcZRv31FVnW+ektFJXQ6xwVFa73Bg==
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s2048;; h=from:to:cc:subject:date:message-id:references:in-reply-to :content-type:mime-version; b=UHHFu/LWY3oQNZXpk1V24etRkmilK5AaNkl+IguapuPfDIEnreCrW+W9jIaD1cXQ2q9ACC1N la51bMWFIb+cic2s3NrV2MdMuio6Dt/8St+7EZhsynsyLln67Ax2ORX0LIZ64VYRIUnL5Os+ q21MWp6vL2FuJCVssVvqHrT+yM6Uc5CMd6K1ntQVPviMYNAS65FTdQ12Y10em1t42epojrOn Slgzqty4It0VKQP26Ks+/DjusThn9+7XBKYkaYDh/Q/4n/e5hEdXWpOmqdNDQwyq5IUIRDL1 faICvzl3eczi06wuxbk7TEWUiojkbYrG5pHVevaqwjfXilcjrjbRQA==
Received: from ( by ( with Microsoft SMTP Server (TLS) id; Sun, 11 Nov 2012 18:53:38 -0800
Received: from ([]) by ([]) with mapi id 14.02.0283.003; Sun, 11 Nov 2012 18:53:35 -0800
From: Mark Watson <>
To: "Richard L. Barnes" <>
Thread-Topic: [jose] RESEND: JSON Web Key support for private and symmetric keys
Thread-Index: AQHNu4w1mKMK4AWfQEKkA5HPNCBJqJfl+2GAgAAVdYA=
Date: Mon, 12 Nov 2012 02:53:35 +0000
Message-ID: <>
References: <> <> <>
In-Reply-To: <>
Accept-Language: en-US
Content-Language: en-US
x-originating-ip: []
Content-Type: text/plain; charset="Windows-1252"
Content-ID: <>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: "" <>
Subject: Re: [jose] RESEND: JSON Web Key support for private and symmetric keys
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Javascript Object Signing and Encryption <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Mon, 12 Nov 2012 02:53:37 -0000

On Nov 11, 2012, at 5:36 PM, Richard L. Barnes wrote:

> Hey Mark,
> Do you mind if I incorporate these in the JOSE use cases document?
> <>

Please go ahead!


> --Richard
> On Nov 7, 2012, at 4:45 PM, Mark Watson <> wrote:
>>> All, I was hoping to get this to you before your meeting, but get repeated delivery failures. One more try ...
>>> Begin forwarded message:
>>>> From: Mark Watson <>
>>>> Subject: JSON Web Key support for private and symmetric keys
>>>> Date: November 5, 2012 11:31:53 AM PST
>>>> To: <>
>>>> All,
>>>> First let me introduce myself. I work for Netflix and have been working on standardization of various components that we need for support of our service in pure HTML/Javascript. Specifically, the HTML Encrypted Media Extensions [1], Media Source Extension [1] and the WebCrypto API [3] in W3C (the latter to provide us the ability to implement a secure application protocol in Javascript).
>>>> At last week's W3C meeting in Lyon, two requirements came up that we believe could be met very well by the extension of JWK to support private and symmetric keys:
>>>> (1) Key wrap/unwrap in the WebCrypto API
>>>> The WebCrypto API can manage keys below the API boundary, avoiding the sharing of keying material with the Javascript environment. This has advantage in certain security models where the JS is less trusted than the UA.
>>>> We are working on the specification of key import/export functions including import/export of wrapped keys. Both these functions require an explicit binary representation of the key material to be defined. In the latter case it is required that not only the key itself is protected by the wrapping operation, but also attributes associated with the key, most importantly the "exportable" attribute which determines whether the key can later be exported back to the JS layer.
>>>> JWK seems attractive for this purpose since it is straightforward to define additional attributes to be carried with the key. The entire JWK JSON structure would then be wrapped using the key wrapping algorithm (for example AES Key Wrap).
>>>> WebCrypto supports public/private key pairs and symmetric keys. Hence JWK would need to be extended to support private and symmetric keys to be used for this purpose.
>>>> (2) Provision of keys to the HTML Encrypted Media Extensions "clear key" keysystem 
>>>> The Encrypted Media Extensions provide an API for a script to interact with a "Content Decryption Module" within the UA that provides key exchange and content decryption capabilities. It is expected that the well-known DRM vendors will provide "Content Decryption Modules" that are integrated into browsers and/or that platform APIs for such modules will be available for browsers to integrate with (e.g. in the case that the capability is present within the OS on a given platform.)
>>>> Additionally, the W3C group itself will define a simple "clearkey" Content Decryption Module in which the key is passed, in the clear, directly from the JS to the UA. This keysystem has application in certain specific security models (for example if the user is also the owner of the content) and for testing.
>>>> The keying material is passed to the CDM in the form of an opaque keysystem-specific byte array, which for clearkey must specify one or more (symmetric, likely AES) keys and associated Key Ids. Again, JWK seems an excellent simple candidate for this purpose, if it supported symmetric keys.
>>>> I understand that the JWK specification can be extended by registering the necessary additional attributes with IANA on a "Specification Required" basis. However, it was generally agreed in last week's W3C meetings that it would be better if this work was done in the IETF JOSE group.
>>>> Therefore, the upshot of this email is to ask if there is support in the IETF JOSE group for adding private and symmetric keys to JWK ?
>>>> I understand there is a draft for private keys already existing. I would be more than happy to propose a draft for symmetric keys if there is interest in progressing that here.
>>>> Finally, just to avoid any confusion, I should say that whilst the above approaches had general support in last week's W3C meeting, this is not a formal communication from the W3C (W3C groups tend not to send formal "liaisons").
>>>> Best regards,
>>>> Mark Watson
>>>> Netflix
>>>> [1]
>>>> [2]
>>>> [3]
>> _______________________________________________
>> jose mailing list