> Right, Gotcha!
>
> There is one flaw in this design however.
>
> Peers:
> A, B, E
>
> By this scenario all three peers would be able to communicate, not
> just A and B, but also E.

Do you want the server to have to approve A to talk specifically to B? Or do
you just want A and B to be able to identify each other and make the
decision of whether or not to speak?

The scheme, as I described it, will allow A, B, and E, to confirm who they
are speaking to. Someone with no identity will be rejected, and E cannot
impersonate A or B.

Is the idea is that the server must specifically approve the A<->B link? In
other words, it's not enough for A to know that it's talking to B and vice
versa but each must specifically know that the server has approved its
communication with the other?

In that case, the server should give either peer a signed object that
contains both parties' public keys. Whichever peer has that object can then
send it to the other. Each peer can validate the other peer's public key and
the object from the server, see a match to both its own key and the other
party's key, and approve the connection.

This may be needlessly complex. If the server is actually in communication
with both A and B at the time, it can simply send each side the other side's
IP address, port, and the other side's public key. No need for any special
certificates or the like since there's already a secure channel to both
peers. In that case, each side simply confirms that the other side knows the
secret key corresponding to the public key the server gave it.

DS


______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to