Re: [COSE] Multicast Use Case

Hannes Tschofenig <hannes.tschofenig@gmx.net> Sat, 05 September 2015 11:41 UTC

Return-Path: <hannes.tschofenig@gmx.net>
X-Original-To: cose@ietfa.amsl.com
Delivered-To: cose@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7B4AA1A1ACC for <cose@ietfa.amsl.com>; Sat, 5 Sep 2015 04:41:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.71
X-Spam-Level:
X-Spam-Status: No, score=-1.71 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_FROM=0.001, J_CHICKENPOX_42=0.6, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=no
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 FT427ycWo99o for <cose@ietfa.amsl.com>; Sat, 5 Sep 2015 04:41:18 -0700 (PDT)
Received: from mout.gmx.net (mout.gmx.net [212.227.17.22]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D513C1A906C for <cose@ietf.org>; Sat, 5 Sep 2015 04:41:17 -0700 (PDT)
Received: from [192.168.10.167] ([203.118.14.76]) by mail.gmx.com (mrgmx103) with ESMTPSA (Nemesis) id 0LdYSM-1YpXdR33Zq-00io7a; Sat, 05 Sep 2015 13:41:16 +0200
To: Göran Selander <goran.selander@ericsson.com>, "cose@ietf.org" <cose@ietf.org>
References: <55E400AC.7090507@gmx.net> <D20F54E9.34F4C%goran.selander@ericsson.com>
From: Hannes Tschofenig <hannes.tschofenig@gmx.net>
Openpgp: id=071A97A9ECBADCA8E31E678554D9CEEF4D776BC9
Message-ID: <55EAD4D7.4030605@gmx.net>
Date: Sat, 05 Sep 2015 13:41:11 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0
MIME-Version: 1.0
In-Reply-To: <D20F54E9.34F4C%goran.selander@ericsson.com>
Content-Type: multipart/signed; micalg="pgp-sha512"; protocol="application/pgp-signature"; boundary="9xc5BDQ7OfGXOVAf3K4EoKnfmrU62Ax7w"
X-Provags-ID: V03:K0:AvlwTaERh/TSYex3v7l8iOgsb1b1mxtp3LNBiUdOLy3OLvZXB9Q LA/tasg2mLZiOj0H8H5dOglLok57Sn71kVhZRsvGBTELVA+t05gd72pKS9S5ashQspD9e7G jmOO6Y/i3eLcziePgnjevpth9yDoPPX6Qva/sq0ko13Bpe3k5sb+f/iVE72t6AGSZk+QOaF pr5YJjlZfv8O2F97VCAMA==
X-UI-Out-Filterresults: notjunk:1;V01:K0:NpIyXb82mgg=:WgZ9zOSygOraHqtcfNhQcN 0VTUP0KII+g7AipCRfJVueoetclXIDJt488dFuWO/M7rraBp6s5zMEPY+cmn87sOUrthu2Bqn JdlhH1DHwNT0p93kqGgvhQcu+tIzWZi8NLVypvR4j2RB0YRe3quWq6Fob5i5APvbAjLAH3ibd I8xdXvdA/rQYVBWZ7ZDe+0gUJfqtCoE6KX/aVNwhvM1+h8VVfQ7sWC8GRZvxMQ45kzG0zsW04 cl5cjItwdQjDVIXS758KOHrMnt1vYyy9SY7uCVgR4R+KmrWbcfTYLq0PsqFh79VC9hN/ekVn/ 7b2Az0ZUGk72BkN3VzEcYI9ZPxdDhNlm7FOyZUX4ByCu06XLyl9Hjtuu+Vpeq5OwpvvttsKvM j4NMReTys9C0n6qnQlv06fk2Ht4qhKH7e4MRhMG9jw9pwe0NRpv0db506OKmTB1141Y30UN23 S6u2YychLbIRpjLG7dn9dDEA3sjXre29lTtEN02G2FQimwOZ+X8e5H1c7NOhhcCt4JSCJyST9 v3NbcyQVEZhvfoZuTW9QvtCAi5+iU/3d2HR37OlF4U3fhjiA2rDUuT7QET8GW2kPshPyOptqb uKfHPA61AAmu6vMwtjr/IzydXZpyxpd468vXu/PT/Em5rn7J+FpA8TgXbNBeN8QDkM87VkzY8 THUdzO5QxwL61eDBGJIYVzzciMOBrmjEL+EspLF5SoysDcOe4HdPqhDIgxKE3ybNyn4jycj4t Bk6Q6HC5q/FDQj3o4uvfO8wodfmDaTvc01P+NQ==
Archived-At: <http://mailarchive.ietf.org/arch/msg/cose/9ld_VGnCVkfPjloLXSKk7tDF4L4>
Subject: Re: [COSE] Multicast Use Case
X-BeenThere: cose@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: CBOR Object Signing and Encryption <cose.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/cose>, <mailto:cose-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/cose/>
List-Post: <mailto:cose@ietf.org>
List-Help: <mailto:cose-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/cose>, <mailto:cose-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 05 Sep 2015 11:41:19 -0000

Hi Goeran,

I completely agree with you that having an already established security
context will be common for a number of use cases. I posted the use case
for multicast in the lighting environment since this is something I am
currently working on with Sandeep and Abhinav.

The OAuth access token is another such use case.

Ciao
Hannes


On 09/04/2015 03:15 PM, Göran Selander wrote:
> Hi,
> 
> Independently of the multicast use case, there is a secure communication
> setting that is similar to this example which I think deserves being
> considered in COSE.
> 
> What I expect to be a common setting is that the receiver has already
> established a security context, including algorithm, key, sequence
> number/used nonces etc. with a context identifier that is locally unique.
> In this case the only information that needs to be passed in the message
> is context identifier and nonce/sequence number together with ciphertext +
> tag.
> 
> You may of course argue that you should use the existing COSE_encrypt
> format.  But since a) the assumptions are quite different, b) the
> optimizations may be significant and c) this may be a common mode of
> operation, I think it actually deserves a (sub-)format of its own. If we
> don’t define this in COSE, someone may be tempted to do this elsewhere.
> 
> 
> Regards
> Göran
> 
> 
> 
> On 2015-08-31 09:22, "Hannes Tschofenig" <hannes.tschofenig@gmx.net> wrote:
> 
>> Hi Jim, Brian, all,
>>
>> I am trying to compare the work on multicast security done by Sandeed &
>> co against an application layer solution using CBOR/COSE.
>>
>> The DTLS multicast includes the following relevant components:
>> - Epoch: 2 Byte
>> - Sender ID: 1 Byte
>> - Sequence Number: 5 Byte
>>
>> The combination of epoch, sender id and sequence number are used as a
>> nonce for the cipher and the use of the sender id ensures that no member
>> of the group accidentally selects values that will cause re-use.
>>
>> The 1 byte sender id is chosen small to reflect the expected size of a
>> group in the professional lighting environment, as explained in the DTLS
>> multicast document.
>>
>> Ciphersuite related information includes:
>> - Encrypted Content (variable length)
>> - MAC (variable length)
>>
>> Content Type, Version and Length are DTLS-specific aspects that cannot
>> be removed without re-design of the record layer.
>>
>> Data based on Figure 4 of
>> http://tools.ietf.org/html/draft-keoh-dice-multicast-security-08.txt.
>>
>> Since there is no sequence number defined in COSE I put the epoch and
>> the sequence number together into the nonce field.
>>
>> Here is the commented version of the COSE message I came up with:
>>
>> [
>>     2, // Encrypted COSE message
>>     {
>>       1: 10, // Algorithm - AES-CCM-16-64-128
>>       5: h'89f52fa' // 7-byte nonce
>>     },
>>     h'7b9dcfa42c4e1d3182c402dc18ef8b5637de4fb62cf1dd156ea6e6e0',
>>      // encrypted payload.
>>     [
>>       [
>>         h'',
>>         {
>>           1: -6, // Direct use of CEK
>>           4: h'01' // Key ID - 0x01
>>         },
>>         h''
>>       ]
>>     ]
>>   ]
>>
>> According to cbor.me the resulting COSE encoding has 59 bytes whereby 28
>> bytes are purely used for message encryption.  This means that there is
>> 31 bytes overhead with COSE compared to 12 bytes [= 8 for Epoch +
>> Sequence Number + Sender ID, 3 bytes for Content Type and Version fields].
>>
>> Ciao
>> Hannes
>>
>