Re: Fixing documents and proposed agenda for Minneapolis
Graham Klyne <[email protected]> Mon, 13 Oct 2003 10:05:37 +0100
| Newsgroups | gmane.ietf.impp |
|---|---|
| Message-ID | <[email protected]> |
At 16:15 12/10/03 -0400, Mark Day wrote:
>The IESG has responded to our various drafts and so it makes sense to
>discuss how we should proceed. It is really hard to figure out in the ID
>tracker where the comments are (I had to ask our AD for help), so here's the
>link:
>https://www1.ietf.org/IESG/EVALUATIONS/draft-ietf-impp-im.bal
In my previous message, I didn't respond to the comments concerning
reference to S/MIME.
On reviewing these as they apply to <draft-ietf-impp-cpim-msgfmt>, I think
there is some confusion about the intended scope of the message format
specification.
Steve Bellovin comments:
[[
draft-ietf-impp-cpim-msgfmt
Why isn't it using S/MIME or CMS used? The problem statement
sounds about the same.
(I'd really like Russ to see these documents; he's the S/MIME
expert.)
]]
and:
[[
The problem I have is that draft-ietf-impp-cpim-msgfmt lays out a
detailed set of requirements and explains how to use MIME. If S/MIME
is the right answer, much of the rationale can be omitted, except
perhaps a short statement that the environmental model is very much
like the one that email has. This is the message format RFC; it should
really point to the authoritative source for the desired encoding and
encapsulation. The rationale, if needed at all, should have been in
draft-ietf-impp-im, which is setting out the framework.
Beyond that, it isn't clear to me that they've said enough about how to
use CMS and S/MIME. There are lots of possible options and variations;
I don't know that all are useful or correct here. That's where I want
to defer to Russ.
]]
I'm finding this comment hard to fathom, so maybe I'm, missing the point,
but here in my initial response:
This draft was never intended to tell people how to apply security to the
message format. As far as security is concerned, the requirement was to
provide a consistent message content format to which security could be
applied, and the only references to security that I recall are:
[[
To adequately meet the security requirements of RFC 2779, a common
message format is needed so that end-to-end signatures and encryption
may be applied. This document describes a common canonical message
format that must be used by any CPIM-compliant message transfer
protocol, and over which signatures are calculated for end-to-end
security.
]] -- sect 1.1
[[
For example RFC2822/MIME comments may be encoded in multiple ways.
For security purposes, a single encoding method must be defined as
a basis for computing message digest values. Protocols that
transmit data in a different format would otherwise lose
information needed to verify a signature.
]] -- sect 1.2
[[
o Mutability -- addition, modification or removal of header
information. Because it is not explicitly forbidden, many
applications that process MIME content (e.g. MIME gateways)
rebuild or restructure messages in transit. This obliterates most
attempt at achieving security (e.g. signatures), leaving receiving
applications unable to verify the received data.
]] -- sect 1.2
[[
The Message/CPIM format encapsulates an arbitrary MIME message
content, together with message- and content-related metadata. This
can optionally be signed or encrypted using MIME security multiparts
in conjunction with an appropriate security scheme.
]] -- sect 2
[[
In order to secure a Message/CPIM, an application or implementation
should use RFC 1847 and some appropriate cryptographic scheme.
Using S/MIME and pkcs7, the above message would look like this:
...
]] -- sect 5.2, noting this is just an example
[[
The Message/CPIM format is designed with security in mind. In
particular it is designed to be used with MIME security multiparts
for signatures and encryption. To this end, Message/CPIM messages
must be considered immutable once created.
Because Message/CPIM messages are binary messages (due to UTF-8
encoding), if they are transmitted across non-8-bit-clean transports
then the transfer agent must tunnel the entire message. Changing the
message data encoding is not an allowable option. This implies that
the Message/CPIM must be encapsulated by the message tranfer system
and unencapsulated at the receiving end of the tunnel.
The resulting message must have no data loss due to the encoding and
unencoding of the message. For example, an application may choose to
apply the MIME base64 content-transfer-encoding to the Message/CPIM
object to meet this requirement.
]] -- sect 9 (security considerations)
It seems to me that much of the text here is about saying why pure MIME is
insufficient for the purposes set out by the WG, viz to be able to
reconstruct a verifiable message even when it has been transmitted using a
different format for the message headers. The message format itself is
clearly specified to be NOT MIME (even if it uses a few syntactic
conventions of RFC2822/MIME). And (apart from one illustrative example)
this document does not attempt to specify how security should be applied --
that is for the application to specify.
...
In response to Steve's comments, I propose to add some text to section 1.1
to try and clarify the scope of this specification, along the lines of:
[[
The common message format is intended to allow the use of security
techniques, without saying what techniques should be used, or how those
techniques should be applied. It is a matter for the instant messaging and
presence application specifications to describe any specific security
mechanisms that are needed. Because the message format can be encapsulated
as a MIME object, it is possible (but not required) to use MIME security
techniques, such as RFC1847, S/MIME and PGP-MIME.
]]
Arguably, in light of the this, the suggestion to use RFC1847 should be
toned down, or removed, to avoid any appearance of specifying how to apply
security. So, the (lower case) "should" in section 5.2 would become a "may".
Also, section 6 (application design considerations) should include a bullet:
[[
[Applications using this specification must also specify:]
o Any specific security techniques and algorithms that are used to to
protect the integrity and/or confidentiality of the message content.
]]
Returning to Steve's comment: "If S/MIME is the right answer ...". From
the scope of the message format specification, it is not at all clear that
S/MIME is the right answer. The message format is truly agnostic about
what specific security technology is appropriate, and just tries to ensure
that they can be applied.
A possible point of misunderstanding here is that the message format itself
is *not* MIME, but a new format that employs some syntactic conventions
from MIME. This might be clarified by adding something like this in
section 1.1:
[[
The CPIM message format is associated with a new MIME type, but the message
format itself is NOT MIME. Message headers and message payload are all
part of a specified format that may be conveyed within a MIME object
wrapper using the indicated MIME content-type. In this way, many of the
problems associated with securing headers in RFC2822/MIME message formats
are avoided.
]]
...
Note that these comments are made with respect to the message format
specification (only): it may be that the issues raised do need to be
addressed in (say) the CPIM service specification.
#g
------------
Graham Klyne
For email:
http://www.ninebynine.org/#Contact
[reminder: [email protected] for non-technical discussions, please]