Hello Tcpcrypt authors,

I have skimmed the internet draft and the USENIX Security paper on tcpcrypt, and while it is interesting and thought-provoking work, I have a hard time understanding what the goals of the I-D are relative to the TCP standard. The draft says "Standards Track"; would Experimental be more appropriate? It mentions the following objectives:

"Tcpcrypt maintains the confidentiality of data transmitted in TCP segments against a passive eavesdropper. It can be used to protect already established TCP connections against denial-of-service attacks involving injection of forged RST segments or desynchronizing of sequence numbers." Yes, but TLS and IPsec perform the former function, and IPsec and TCP-AO perform the latter. In addition, running TCP over DTLS would also accomplishes the latter function; this practice is done in some (so-called) SSLVPNs.

"Finally, applications that perform authentication can obtain end-to- end confidentiality and integrity guarantees by tying authentication to tcpcrypt Session ID values." This seems like a potentially useful feature, though it seems similar to channel binding (RFCs 5056 and 5929).

"Tcpcrypt is designed to require relatively low overhead, particularly at servers, so as to be useful even in the case of servers accepting many TCP connections per second." The idea of batching signatures seems like a useful contribution that could be put to good use by servers that are under heavy loads. But why not implement this idea in a way that could be used by multiple applications and protocols? It should not be hard to define a format for digital signatures that carries a few extra hash values, and allows a verifying party to check the signature on the message that they care about, while ignoring the rest. The idea of reversing the client/server association between RSA encryption/decryption is a pragmatic way to help out servers, though it is tied to a specific algorithm (the results would be quite different for ECDH or ECDSA, say). Both of those performance optimizations are definitely interesting, but I don't understand why the best way utilize those ideas would be through a new cryptographic protocol within the TCP layer.

I also have some comments on some other points. The USENIX Security paper mentions the goal of ubiquitous encryption (though the draft does not). Requiring changes to the TCP stack would hinder deployment and work against the goal of ubiquity.

The draft describes the RSA public keys as "ephemeral", and the companion paper says that the protocol achieves forward secrecy. However, if it was really the case that a new RSA keypair was generated for each exchange, then the performance would be significantly worse than what is shown in the paper, because the cost of that operation is significantly higher than that of RSA decryption. I think the claims and/or guidance to implementers needs to be clarified.

The Security Considerations section looks like boilerplate, while it seems that there is a lot to be discussed, such as the security properties of Session IDs.

Is it possible to relate the protocol to a previously analyzed protocol? It is similar to ISO/IEC 11770-3, in that it relies on public key encryption of nonces, without signatures. Perhaps there is some analysis of that protocol, or of a protocol with cryptosuite negotiation, that could be leveraged. The companion paper does have a brief analysis of the security of the protocol, but it would be good if it were possible to benefit from detailed analyses of all aspects of protocol security. (I do realize that the analysis is made easier by the relative simplicity of the protocol; that's a good thing.)

The security analysis defines the parameter "k ~ 256 is the minimum of the min-entropy of a public key". Surely that doesn't match the 2048- bit RSA examples in the paper?

As a side note, I am surprised to see a proposal to add so much cryptographic functionality into the TCP standard, considering that not many years have passed since the transport area declined to add (much simpler) key transport functionality into TCP in support of TCP- AO. Perhaps "Experimental" was intended, or perhaps I have missed or misunderstood some aspect of this work.

regards,

David


On May 8, 2011, at 9:31 AM, Sean Turner wrote:

The authors of the following draft have asked that I forward this to saag for comment:

https://datatracker.ietf.org/doc/draft-bittau-tcp-crypt/

They also noted that there's a Usenix Security paper and video:
http://tcpcrypt.org/docs.php

Please direct discussion to [email protected].

Cheers,

spt



_______________________________________________
saag mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/saag

Reply via email to