Notification authentication in CPIM (proposed changes)

[email protected] (John D. Ramsdell)
Newsgroups gmane.ietf.impp
Message-ID <[email protected]>
Enclosed is a set of proposed changes to the CPIM document focused
only on the issue of allowing notifications to be authenticated.  It
incorporates the idea of having a presence service identifier being
derived from the presentity's identifier it serves.  The changes are
supplied as a unified patch produced by diff against the CPIM V2
document.  Perform 'man patch' to see how to apply the patch.

John

bash-2.01$ diff -u draft-ietf-impp-cpim-02.txt draft-ietf-impp-jdr.txt
--- draft-ietf-impp-cpim-02.txt	Tue Dec  4 09:59:53 2001
+++ draft-ietf-impp-jdr.txt	Sun Jul 21 09:19:06 2002
@@ -444,9 +444,9 @@
           +-------+                    +-------+
           
           <notify watcher='pres:[email protected]'
-          target='pres:[email protected]'
+          source='pres:[email protected]'
           transID='1234'>
-          <presence entityInfo='http://www.example.com/fred/'>
+          <presence entity='pres:[email protected]'>
           <tuple destination='im:[email protected]' status='open'
           />
           </presence>
@@ -508,13 +508,36 @@
      lookup is performed for:
           _pres._pepp.example.com.
 
+3.2 1/2  Identification of PRESENCE SERVICES
+
+     A PRESENCE SEVICE is specified using the PRES URI scheme.  A
+     presence URI specifies a presence service only if its local part
+     is the string 'notifier'.  A presence URI that specifies a
+     presentity may not have a local part of 'notifier', and the
+     presence service identifier associated with a presentity is
+     derived from it by replacing the local part with the string
+     'notifier'.
+
+
 3.3. Format of Presence Information
      
-     The format of a Presence message is a MIME
-     "Message/cpim,profile=pres" object, as defined in
-     MESSAGE/CPIM PROFILE FOR PRESENCE and XML/MIME[6].
-     Representation of non-ASCII character sets in MIME is a
-     standard feature of MIME.
+     The format of a Presence message is a MIME "Message/cpim" object
+     that wraps a PIDF document with three headers, a 'To' header
+     giving the watcher attribute of the notification request, a
+     'Datetime' header to avoid replay, and a 'From' header used to
+     identify the PRESENCE SERVER, the source attribute of the
+     request.  The document can be signed using the same mechanisms
+     used for an instant message.  An example follows.
+
+         Content-type: Message/CPIM
+ 
+         To: pres:client@laptop
+         From: pres:notifier@rack
+         Datetime: 2002-07-18T13:38:22-8:00
+ 
+         Content-type: application/cpim-pdif+xml	
+ 
+         <presence entity='pres:info@rack'>...</presence>
 
 3.4. The Presence Service
      
@@ -599,16 +622,17 @@
      *    The watcher parameter specifies the WATCHER associated with
           the subscription;
 
-     *    The target parameter specifies the PRESENTITY associated
-          with the presence information;
+     *    The source parameter specifies the PRESENCE SERVICE providing
+          the presence information;
 
      *    The transID parameter specifies the transaction-identifier
           associated with this operation; and,
 
      *    The presence information for the PRESENTITY.
-     
-     There is no application response to the notify
-     operation.
+
+     The presence information specifies the PRESENTITY associated with
+     the presence information.  There is no application response to
+     the notify operation.
 
 3.4.3.    The Unsubscribe Operation
      
@@ -749,29 +773,32 @@
      of the public key across multiple messages, would
      greatly reduce instant messaging overhead.
 
-4.3.1.    Instant messages
+4.3.1.    Instant messages and presence service
      
-     End to end security for instant messages can be provided
-     using any of the MIME-based security mechanisms (S/MIME
-     [8], OpenPGP [7]), as instant message payload content is
-     not interpreted or reformatted in transit.
-     
-     This specification allows any pair of communicating
-     parties to use any MIME-based security framework for
-     instant messages (c.f. section 2.3), but mechanisms for
-     establishing the required bilateral arrangements and key
-     exchange are not specified here.
-
-4.3.2.    Presence service
-     
-     The situation regarding end-to-end security for presence
-     services is unclear, as there is no common encapsulation
-     framework specified for presence, and the presence data
-     itself is not invariant across different IM services.
-     
-     [[[NOTE: this raises a case for fixing the presence
-     information to a specific format if end-to-end security
-     capability is to be a requirement.]]]
+     End to end security for instant messages and presence information
+     can be provided using any of the MIME-based security mechanisms
+     (S/MIME [8], OpenPGP [7]), as the payload content is not
+     interpreted or reformatted in transit.
+     
+     This specification allows any pair of communicating parties to
+     use any MIME-based security framework for instant messages
+     (c.f. section 2.3) and presence information (c.f. section 3.3),
+     but mechanisms for establishing the required bilateral
+     arrangements and key exchange are not specified here.
+
+     The CPIM protocol has been designed so that the 'From' header of
+     an instant message or a presence notification can be used as an
+     alternative name for the request's originator.  When using X.509
+     V3 Certificates [?], these alternative names can be bound to a
+     public key by including them in the certificate's Subject
+     Alternative Names.  Clients and servers receiving signed requests
+     with an X.509 V3 Certificate, can determine if the sender is
+     allowed to place the given alternative name in the 'From' header
+     of the request.  When employed, this check prevents spoofing by
+     limiting the use of an alternative name to only the possessor of
+     the certificate's private key.  In secure applications, this
+     check should be employed whenever the 'From' header names a
+     trusted entity.
 
 
 5.   IANA Considerations
@@ -875,6 +902,7 @@
           =============================
           PRESENTITY c.f., Section 5.2 pres:[email protected] -->
           <!ENTITY % PRESENTITY "CDATA">
+          <!ENTITY % PRESENCESERVICE "CDATA">
           <!-- Abstract syntax for presence information -->
           <!ELEMENT presence (tuple+)>
           <!ATTLIST presence entityInfo %URI; "" >
@@ -892,7 +920,7 @@
           <!-- Abstract syntax for the notify operation -->
           <!ELEMENT notify (presence)>
           <!ATTLIST notify watcher %PRESENTITY;
-          #REQUIRED target %PRESENTITY;
+          #REQUIRED source %PRESENCESERVICE;
           #REQUIRED transID %UNIQID;
           #REQUIRED>
           <!-- Abstract syntax for the unsubscribe operation -->
@@ -957,6 +985,9 @@
            February 2000.
      [12]  Allocchio, C., "GSTN ADDRESS ELEMENT EXTENSIONS IN E-MAIL
           SERVICES", RFC 2846, June 2000.
+     [?] R. Housley, W. Polk, W. Ford, and D. Solo, "Internet X.509
+         Public Key Infrastructure Certificate and Certificate Revocation
+         List (CRL) Pro­ file", RFC 3280, April 2002.
 
 
 11.  Authors' Addresses
@@ -1040,7 +1071,8 @@
 
 Appendix B.    Message/CPIM for Presence
      
-     
+
+     [[ This needs work. ]]     
      <<<This section contains detail that creates a profile
      of Content-Type=Message/CPIM, to cover use for Presence
      transactions. Text to be partly extracted from draft-
bash-2.01$ 



  [reminder: [email protected] for non-technical discussions, please]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.