Re: Presence service identifiers

Graham Klyne <[email protected]>
Newsgroups gmane.ietf.impp
Message-ID <[email protected]>
At 10:14 AM 7/26/02 -0400, John D. Ramsdell wrote:
> > It seems to me that the presence service is implicitly that for the
> > domain of the presentity -- the presentity identifier indicates a
> > service, which is the same service for different presentities in the
> > same domain.
>
>To allow signing presence services to prove only they are allowed to
>use an given identity, they must have an identity no one else can
>use.  For strong end-to-end authentication, it is critical that
>principals identify only one subject.  See the other note I sent to
>this list today for details.

OK, I read through that.  Let's see if I'm separating the right principle 
(sic) from the details...

First, what you propose:  (a) move details of the principal whose presence 
information is provided into the <presence> structure, replacing 
'entityInfo' -- previously this was the target in the <notify> 
element;  (b) make the source of the <notify> element be the presence 
service that provides the information.  So what was:
[[
           <notify watcher='pres:[email protected]'
           target='pres:[email protected]'
           transID='1234'>
           <presence entityInfo='http://www.example.com/fred/'>
           <tuple destination='im:[email protected]' status='open'
           />
           </presence>
           </notify>
]]
becomes:
[[
           <notify watcher='pres:[email protected]'
           source='pres:[email protected]'
           transID='1234'>
           <presence entity='pres:[email protected]'>
           <tuple destination='im:[email protected]' status='open'
           />
           </presence>
           </notify>
]]

Hmmm... I'm not sure:  the DTD in the revised document doesn't match that.

(I must confess, I'm not entirely recollecting what purpose was previously 
served by 'entityInfo' in the original document, but I think it may have 
been a hook for providing additional information about the entity whose 
presence information is provided.  I can't offhand think of a reason that 
it's loss would be a problem.)

The goal seems to be to allow the authenticated entity to be separate from 
the authorized entity?  The certificate (via alternate subject name values) 
provide the chain of authority?  Thus, the signing identity may be 
different from the identity of the subject (principal) that is authorized 
to perform an operation on the object?

And I think you are saying there are pertinent security reasons that 
require this separation to be possible (at least, if the presence service 
is doing the signing on behalf of a subject)?

(Leaving aside signing) in your model, the 'source' entity is simply 
authorized to submit a notify operation to the watcher object entity?

And if I'm understanding correctly, one advantage of your proposal is that 
it means the same authorization framework applies to both IM and presence 
notification?

But, I'm sorry to say, I'm still not getting it.  I think this paragraph 
might need some work:
[[
      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.
]]

It's not clear to me who is meant here by the "request's originator", and 
what the From header is an alternative to.  Would it change the meaning 
significantly if you just said:
[[
The CPIM protocol has been designed so that the 'From' header of an instant 
message or a presence notification identifies the request's originator.
]]
?

I think the text dealing with what protocol element identifies what would 
usefully be separated from discussion of X.509 certificates.  To understand 
this properly, I think I'd need to understand how the authorization (access 
control) model works independently of any authentication mechanism.

At this point, I've just re-read your longer message - I think I'm getting 
closer to understanding but I still think the text needs improving.  I 
think that giving a clear (and brief) discussion of authorization (access 
control) in terms of the from: header, and completely separately discussing 
the use certificates and other paraphernalia to authenticate/validate the 
from: header would be helpful here.

I find myself in a peculiar position here:  I think I find your suggested 
changes are reasonable, but I'm still not fully convinced I understand them 
so I cannot be sure.  Hence this  picking over the wording ahead of 
formally agreeing with the intent.

#g

-------------------
Graham Klyne
<[email protected]>



  [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.