|
Eric, Eric Rescorla wrote: This is vague. It should be explicitly stated using SSL terminology "client authentication". SSL started as a client-server protocol, and in its most common use HTTPS, clients are almost always anonymous. This draft should be explicit about the client authentication mandate.On Thu, Oct 1, 2009 at 1:44 PM, Michael Chen <michaelc at idssoftware.com> wrote: Here should again explicitly echo that mutual authentication refers to TLS/DTLS server and client authentication during handshake.12.6.2. Admission to an RELOAD Overlay Instance is controlled by requiring that each peer have a certificate containing its peer ID. The requirement to have a certificate is enforced by using certificate- based mutual authentication on each connection. This optimization requires hardly any effort either in your part to write or in mine to implement. A short paragraph in the draft saying, "If the message is originated from a directly connected peer, the security block may contain a zero length certificates list, zero length signer ID and zero length signature." In the attack by Y described above, Y would sign and put its own certificate chain in the security block, so the whole message is verifiably correct. The only way Z can know this is an attack is by enforcing other constrain of this draft. For example, if the STORE resource ID is between Y and Z, then this is an attack. Aha! What if the resource ID in X's request is between X and Y or before X in the ring? Then Z will never notice the attack. Y can map calls to X at domain to Y's destination list. Am I right? A security warning should be included in this draft about the potential danger of trusting the certificate in the SecurityBlock. It's the proper thing to do.Now, it's true that there is no SECURITY value in sending the certificate along with the message. Data origin authentication authentication is supplied by a digital signature computed using the private key that corresponds to the public key in the certificate. The certificate is attached to the message to avoid the complexity of a system where you have to hold the message while you try to retrieve the certificate. -Ek One more thing about SecurityBlock.certificates, in an overlay that requires an enrollment server, what is the use case in which the peer's certificate is not issued/signed by the enrollment server? In another word, what is the use case where SecurityBlock.certificates contains more than one (the peer's) certificate? By the way, there is no need to include the certificate chain that issued the enrollment server's certificate, because that chain would have been verified during enrollment by each peer. Thanks --Michael |