Thanks for starting the discussion Joe,

I strongly support the work on COSE. My view is that to be relevant for the IoT 
use cases, and in particular devices using IEEE 802.15.4, COSE must be highly 
optimized compared to JOSE:

In our draft on end-to-end security for IoT 
(draft-selander-ace-object-security-01) were we plan to use COSE, our 
measurements show that usage of JWS can easily add 135 bytes, filling up more 
than an entire IEEE 802.15.4 frame.  COSE (according to 
draft-bormann-jose-cose-00) would be far better but still use 70 bytes. My view 
is that this is still to large for IEEE 802.15.4 and that the following three 
optimizations are needed (imperative):

- Carsten has already suggested replacing certain member names ("alg"...) with 
predefined numbers. I strongly support this.

- Even without base64 encoding, the JWS MACs takes 32 bytes. IoT devices using 
DTLS use 8 byte MACs. I strongly think IoT specific algorithms with truncated 
MACs (maybe 16 and 8 bytes) are necessary.

- The JWE Initialization Vector takes up 12 bytes, IoT devices would likely 
want to save a nonce together with the key to save bandwidth (and therefore 
battery).

With these changes, the overhead of COSE (both CWS and CWE) could be below 30 
bytes. I think this not only desirable, but also necessary. The algorithm and 
IV optimizations could be done in parallel to the COSE encoding work.

Cheers,
John

———————————————————————
John Mattsson
Ericsson IETF Security Coordinator
Senior Researcher, Security

On 06 Mar 2015, at 20:19, Joe Hildebrand (jhildebr) 
<[email protected]<mailto:[email protected]>> wrote:

In talking with several folks about COSE, it appears that there are differing 
views on how much to change in the JOSE/COSE translation.  I would like to 
explore the points of agreement and disagreement a little.


It seems like most people agree that maintaining signature compatibility is a 
non-goal; I agree that is the only way for us to have a chance at success.


I think we're also likely to get agreement that we should do our best to use 
CBOR idioms in COSE (such as mixed-type keys for maps) once they are explained 
to the group in enough detail for everyone to understand the proposals.

Finally, I think one of the reasons people are interested in COSE is a chance 
to optimize for a different set of use cases than we had for JOSE.


The main source of disagreement seems to be what we would change in COSE of the 
things some might have wanted to done differently in JOSE.  I'm sympathetic to 
both the group that wants to crank something out quickly without re-litigating 
the past, as well as to the group that wants to re-optimize as many things as 
possible given the removal of the pressure of existing codebases that we had 
with JOSE.


An approach that might work for this would be to set a bar for changes along 
the lines of "significant improvement in security, performance (wire size, code 
size, CPU, power, etc.), or deployability" would be required to justify a 
change.  To see if that approach would work, it would be nice to see a list of 
things that folks would want to change, and to get early agreement on a couple 
of those changes as being above the bar that we set, so that we have some 
precedent to reason from.


To that end, I propose that those that want changes produce a list, perhaps 
annotated with whether the change is seen as imperative or merely nice-to-have. 
 The folks that want a quick outcome would then select several changes they see 
as being definitely above the line.  My hope is that this exercise would build 
trust that we all want something similar: a high quality protocol standardized 
in as short a time as possible.


--
Joe Hildebrand



_______________________________________________
jose mailing list
[email protected]<mailto:[email protected]>
https://www.ietf.org/mailman/listinfo/jose

_______________________________________________
jose mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/jose

Reply via email to