MCOP security considerations

Since MCOP servers will listen on a TCP port, potentially everybody (if you are on the internet) may try to connect MCOP services. Thus, it is important to authenticate clients.

The general function of the "md5auth" protocol

The md5-auth protocol does the following to ensure that only selected (trusted) clients may connect to a server:

The secret cookie

To give each client the secret cookie, MCOP will (normally) put it in the mcop directory (under /tmp/mcop-<username>/secret-cookie). Of course, you can copy it to other computers. However, if you do so, use a secure transfer mechanism, such as scp (from ssh).

Authentication of clients

The authentication of clients uses the following steps:

This algorithm should be secure, given that a) the secret cookies and random cookies are "random enough", and b) the MD5 hashing algorithm doesn't allow to find out the "original text", that is the secret cookie S and the random cookie R (which is known, anyway), from the mangled cookie M.

How it is implemented with the MCOP messages

The MCOP protocol will start every new connection with an authentication process. Basically, it looks like that.

To see that the security actually works, we should look at how messages are processed on unauthenticated connections.


back to index