On Dec 5, 2008, at 2:57 AM, Dirk Meyer wrote:

Kurt Zeilenga wrote:
On Dec 4, 2008, at 10:18 AM, Dirk Meyer wrote:

Kurt Zeilenga wrote:
On Dec 4, 2008, at 2:04 AM, Dirk Meyer wrote:

It is part of urn:xmpp:tmp:saslcert (or will be once I write the
schema). The problem is that there are two reason to revoke a
certificate:

1. A certificate is about to expire. The client uploads a new one
and
revokes the old. The client should stay connected.

More interestingly, is what about other sesssions using the old
certificate.

There is only one. Each client has its own certificate,

I don't see why a user would not use a single certificate in multiple
clients, especially for certificates issued by a non-user-operated CA.

The idea behind this proposal ist to make it possible to remove one
client from the system later.

I know little of what's behind the proposal, I'm just reading the proposal.

The proposal talks about:
This specification defines a method to manage client certificates that can be used with SASL External to allow clients to log in without a password.

It's a very general certificate management protocol.

If there are some hidden assumptions/use cases, I think they should be more clearly called out and discussed in the proposal.

If all clients share the same certificate,
there isn't much difference to the password based login or the current
SASL EXTERNAL XEP.

Right, this is no better than sharing a password amongst multiple clients.

The whole idea is that each client has its own
certificate so every client uses something different to log in which can
be revoked on a per-client-bases.

Some XMPP server implementations already support multiple passwords per user. Of course, the server has no clue how such passwords are shared amongst a user's clients, likewise for user certificates.

I think this proposal needs to be written from a perspective that users will share certificates, to some degree, between their clients. What this proposal offers is a mechanism to manage multiple user certificates, such that if one (or more) is comprised, that certificate can be deactivated and hence disallowing continued use of those clients that rely on that particular certificate. While a user may choose to have per-client certificates, and thereby having per- client deactivation control, a user may choose to share client certificates.

Deactivation, to me, means that it has been removed from a list of
acceptable user certificates. A deactivated certificate can certainly
be used in the future.  For instance, by adding back to the list of
acceptable user certificates. Deactivation does not imply revocation.

I have to think about what I want here. I guess deactivation is easier
because it does not require a list of certificates that can not be added again later. The revoke/deactivate has nothing to do with the mechanism
defined by X.509.

Then don't use the term "revoke" as this term has quite a different meaning than disable or deactivate.

There is no URL were you can check if a certificate is
valid or not.

Information about how to check for revocation may be in the certificate itself, the CA certificate (if known), or otherwise known. (but see my comment below about avoiding discussion of revocation in this proposal).

They may be self-signed and the list handled by my
proposal ist the list of certificates that are allowed to be used for
login.

A user can request its CA revoke the certificate, but a user can
deactivate the certificate (remove it from the list of acceptable
certificates).

With self-signed certificates this is not possible.

Yes, but your proposal covers cases where it is possible.

I think what your proposal needs to focus on activation/deactivation of user certificates, leaving revocation handling to other documents (but noting that leave revocation handling to other documents).




Dirk

--
Freedom of speech is wonderful - right up there with the freedom not to
listen.

Reply via email to