Re: Sub/Not Security, Presence service identifiers

[email protected] (John D. Ramsdell)
Newsgroups gmane.ietf.impp
Message-ID <[email protected]>
"Peterson, Jon" <[email protected]> writes:

> I also take it from recent list discussion that there is not a demonstrated
> need for a presence service to have an explicit identifier in a notify
> operation. Without security, such an identifier serves no purpose (it could
> be trivially forged). With the identifier, it would be redundant with the
> subjectAltName of an X.509 certificate that could be used to sign a
> notification. Regardless of whether or not such an identifier is present,
> the signature on the notification and the presentity should have some
> reference integrity, but I don't see how this identifier helps with that.

Simplicity and regularity in protocols facilitate code reuse and
correctness.  The purpose of including a 'From' header in a
notification operation is to provide a principal that identifies the
subject that initiated the operation, i.e., the name of the presence
service.  Given the principal, a client can make an access control
decision as to whether it will accept the contents of the notification
operation.  This decision can be made in the absence of a signed
request.  A client can simply choose to believe the contents in a
'From' header without a proof that it is accurate.

A client's security policy may require that any operation that claims
to be from a member of a set of trusted principals must be signed.
When this policy is in force, the client must reject any unsigned
operation that claims to be from one of the trusted principals.  As a
result, one should have greater confidence in the authenticity of
operations from trusted principals.

Notice that this security story equally applies to instant messages.
The only difference is that the 'From' header of a message contains a
principal that identifies a person instead of a service.  The software
that handles instant messaging authentication can be applied unchanged
to notification authentication.

Think about it this way.  When a presence service generates a signed
notification operation, part of the signed content must include a
timestamp, otherwise, the protocol will be vulnerable to replay
attacks.  The instant message format includes a 'DateTime' header
which is included in the signed content, and thereby protects it
against replay attacks.  Is anyone on this list seriously proposing to
not use instant messaging's timestamp syntax for notification
operations?  I don't think so.  When this group gets around to
defining a subscription operation format that can be signed, I am
confident it will also use instant messaging's timestamp syntax.  In
that case, the software that handles instant messaging timestamp
processing can be applied unchanged to every presence operation.  We
should strive to ensure that the software that handles instant
messaging authentication can be applied unchanged to every presence
operation too.

There are proven practical reasons for preferring simple, regular
protocols.  I have direct experience in this area.  The SIMP protocol
embodies these design principles.  I wrote the SIMP server and the
security module used in all SIMP clients.  The code review of the
security elements was quick because the high-level security story was
easily conveyed, and the amount of code was small.

I think the people that specified the format used for instant
messaging did a fine job.  Their design was so good that I think the
presence protocol should reuse their ideas wherever possible.  People
promoting an irregular protocol should explain why they believe ideas
from the instant messaging format are not worthy of reuse.

John

  There are two ways of constructing a software design.
  One way is to make it so simple that there are obviously
  no deficiencies.  And the other way is to make it so
  complicated that there are no obvious deficiencies.
                                          --- C.A.R. Hoare



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