Re: CPIM changes and XMPP
Ben Schumacher <[email protected]> Thu, 07 Nov 2002 14:01:55 -0700
| Newsgroups | gmane.ietf.impp |
|---|---|
| Message-ID | <[email protected]> |
John- As somebody who is familiar with XMPP, IM and has had experience deploying solutions in various business and consumer environments, I'll try to address your concerns below. > On another subject, I just read drafts from the Jabber Software > Foundation on the eXtensible Messaging and Presence Protocol (XMPP). > The first issue that that stood out to me is that no request is > time-stamped in this protocol! Replay attacks seem to be of no > concern to the authors. I'm not convinced that this particular problem is one we need to worry about in consumer IM. If I'm just chatting with a friend, and somebody decides to take a packet and resend it across the line, so that I get a message twice, I can probably figure out that something fishy is up by the context of the conversation. I could even ask my friend why he decided to say "Hello" twice. I'm just not convinced that this is something that is needed in a consumer IM solution. Business solutions are different, especially when we start talking about implementing applications on top of these protocols, something which XMPP is well suited for. But one of the strengths of XMPP makes this almost a non-issue. Since XMPP is XML-based, and easily extensible, there is nothing preventing anybody from defining an extension to the protocol by way of a new element and new namespace. My application will, of course, react appropriately if this element isn't present, or the data is suspect. FYI- your mention of this potential issue has lead to discussions of work on a JEP [1] in this area that could be integrated into the XMPP draft, or a related draft, in the future. > XMPP's support for end-to-end security appears to be an afterthought. > I found no end-to-end security for presence information or > subscription requests. Instant messages can be encrypted using PGP, > as described in Appendix C of the XMPP Core document. Because XML > syntax is used thoughout the protocol, encrypted data is encoded in > ASCII. The protocol does not appear to be able to correctly interpret > signed or encrypted messages in the CPIM-MSG format. My guess is the > authors think that security needs can be satisfied using weak > techniques such as hop-by-hop encryption, which require that a user > trust all servers that route the user's messages. Again, I'm not certain why the protocol needs to address this particular issue, and not rely on existing technology. PGP/OpenPGP is an existing solution, that is designed to be secure by people who have expertise in that area. XMPP is a protocol for transmitting presence and messages across a wire, designed by people who have expertise in that area. A solution based on combining this two technologies makes sense. RFC2821 and RFC2822 don't require support for interoperable exchange of encrypted messages, but instead implementers of those protocols have found ways to layer security on top of open and easy to use protocols. The XMPP authors have even taken the time to outline the details on how to support OpenPGP in XMPP in Appendix C of xmpp-core-02 [2]. In which way is XMPP not able to correctly interpret signed or encrypted messages in CPIM-MSG format? There are various ways that opaque payloads can be carried in XML, and the XMPP protocol already has one example of this in its ability to carry SASL blobs within the protocol. This particular issue seems almost like a non-starter, while there aren't specific provisions for dealing with MIME data, currently, the flexibility of an XML-based protocol should make this merely a clerical exercise, should the CPIM-MSG format ever be finalized. > What is the relation of XMPP to the IMPP working group? I believe the relationship is outlined in the XMPP charter. Cheers, bs. Links: [1] http://www.jabber.org/jeps/ [2] http://www.jabber.org/ietf/ [reminder: [email protected] for non-technical discussions, please]