Re: [jose] issue #25 TEXT
"Jim Schaad" <ietf@augustcellars.com> Mon, 04 November 2013 19:37 UTC
Return-Path: <ietf@augustcellars.com>
X-Original-To: jose@ietfa.amsl.com
Delivered-To: jose@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 204DB21E80C7 for <jose@ietfa.amsl.com>; Mon, 4 Nov 2013 11:37:02 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.599
X-Spam-Level:
X-Spam-Status: No, score=-3.599 tagged_above=-999 required=5 tests=[AWL=-0.001, BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-1]
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 4cgxVFWofJM5 for <jose@ietfa.amsl.com>; Mon, 4 Nov 2013 11:36:56 -0800 (PST)
Received: from smtp3.pacifier.net (smtp3.pacifier.net [64.255.237.177]) by ietfa.amsl.com (Postfix) with ESMTP id E620E21E80CF for <jose@ietf.org>; Mon, 4 Nov 2013 11:36:53 -0800 (PST)
Received: from Philemon (dhcp-a059.meeting.ietf.org [31.133.160.89]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: jimsch@nwlink.com) by smtp3.pacifier.net (Postfix) with ESMTPSA id 434DB38F15; Mon, 4 Nov 2013 11:36:53 -0800 (PST)
From: Jim Schaad <ietf@augustcellars.com>
To: 'Mike Jones' <Michael.Jones@microsoft.com>, 'Jim Schaad' <ietf@augutscellars.com>
References: <013501cebd4f$98fd82a0$caf887e0$@augutscellars.com> <4E1F6AAD24975D4BA5B168042967394377E3A6D4@TK5EX14MBXC288.redmond.corp.microsoft.com>
In-Reply-To: <4E1F6AAD24975D4BA5B168042967394377E3A6D4@TK5EX14MBXC288.redmond.corp.microsoft.com>
Date: Mon, 04 Nov 2013 11:35:32 -0800
Message-ID: <002c01ced995$07989e00$16c9da00$@augustcellars.com>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="----=_NextPart_000_002D_01CED951.F977A7F0"
X-Mailer: Microsoft Outlook 14.0
Thread-Index: AQFECYYeKE2Vu7OUOCqw8lTSH0o8EQICLuQtmxsEqaA=
Content-Language: en-us
Cc: jose@ietf.org
Subject: Re: [jose] issue #25 TEXT
X-BeenThere: jose@ietf.org
X-Mailman-Version: 2.1.12
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: <http://www.ietf.org/mail-archive/web/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: Mon, 04 Nov 2013 19:37:02 -0000
The only problem that I have with the text in the last paragraph is that it does not discuss where and how the hash algorithm is registered so that each application does not create its own registry of hash algorithms but uses a common one. This could be done by having a new document that defines a body type for this and point, but that is a new document that would need to be written and discussed. I also don't care for the second sentence. The assumption is that the recipient can create the exact payload rather than has access to it. For example adding the base64 wrapping is not an issue in terms of re-creating the content. Jim From: jose-bounces@ietf.org [mailto:jose-bounces@ietf.org] On Behalf Of Mike Jones Sent: Monday, November 04, 2013 10:34 AM To: Jim Schaad Cc: jose@ietf.org Subject: Re: [jose] issue #25 TEXT Per my action item from the last call, I propose the following text to address issue #25: 8. Detached Content In some contexts, it is useful integrity protect content that is not itself contained in a JWS object. There are two suggested ways of accomplishing this using JWS objects. One way is create a JWS object containing the payload in the normal fashion, but then delete the payload representation, and send this modified object to the recipient, rather than the JWS. This method assumes that the recipient has access to the exact payload used in the JWS. When using the JWS Compact Serialization, the deletion is accomplished by replacing the second field (which contains BASE64URL(JWS Payload)) value with the empty string; when using the JWS JSON Serialization, the deletion is accomplished by deleting the "payload" member. To use the modified object, the recipient reconstructs the JWS by re-inserting the payload representation into the modified object, and uses the resulting JWS in the usual manner. Note that this method needs no support from JWS libraries, as applications can use this method by modifying the inputs and outputs of standard JWS libraries. Another way to accomplish this is to have the JWS Payload be or include a cryptographic hash of the detached content. The application might also include an identifier for the hash algorithm used in the JWS payload. To use this JWS, the recipient validates the JWS in the usual way and verifies that the hash value contained in the JWS payload matches a cryptographic hash of the detached content computed by the recipient. This method also needs no support from JWS libraries. -- Mike From: Jim Schaad [mailto:ietf@augutscellars.com] Sent: Sunday, September 29, 2013 1:08 PM To: Mike Jones Cc: jose@ietf.org Subject: issue #25 TEXT The following provides suggested text for addressing Issue #25 Jim Text for the JWS document: Section 7.2.1 Detached Content Applications can do detached content with the JSON serialization. Detached content has the benefit of allowing the content to be transmitted in a more natural format, and to avoid the expansion associated with applying the base64 transformation. It has the downside that how the content is serialized into a text string is not preserved and therefore some type of canonicalization process may need to be applied by both the sender and the recipient. In some circumstances this is not an issue (signing a binary file), while in other circumstances it can be problematic (end of line characters or ordering of JSON objects). Applications cannot rely on this feature to be implemented by libraries but need to do it themselves. On serialization, the application removes the payload value from the JSON structure before writing it out. The contents of the signed field are then transmitted separately from the JWS structure. For instance, the JWS serialized JSON structure could be transmitted as an HTTP header field, while the content is transmitted as the content of the HTTP body. On deserialization, the application obtains the to be signed value from where it is transferred, applies the necessary canonicalization and encoding to it before creating the "payload" member of the JSON structure and passing the resulting object to the library for processing. Text for the JWE document: Section 7.2.1 Detached Content Applications can do detached content with the JSON serialization. Detached content has the benefit of allowing the content to be transmitted in a more natural format, and to avoid the expansion associated with applying the base64 transformation. Since the output of the encryption process is always an octet string, there are no canonicalization issues associated with transporting the encrypted string separately from the encryption header. On serialization, the application removes the "ciphertext" field from the JSON structure before writing it out. The contents of the "ciphertext" field then have the base64 encoding removed and it is transmitted separated from the JWE structure. For instance, the JWE serialized JSON structure could be transmitted as an HTTP header field, while the cipher text could be transmitted using binary transfer encoding as the HTTP body. On deserialization, the application obtains the cipher text from where it was transferred, applies the base64 transfer encoding and places it in the "ciphertext" member of the JWE JSON structure. The resulting object is then passed to the JOSE library for process.
- [jose] FW: issue #25 TEXT Jim Schaad
- Re: [jose] issue #25 TEXT Mike Jones
- Re: [jose] issue #25 TEXT Jim Schaad
- Re: [jose] issue #25 TEXT Mike Jones
- Re: [jose] issue #25 TEXT Richard Barnes