Hi,

In the context of the discussion about protecting or not the TCP headers, i was considering the following case.

Consider that A and B have an established TCPINC connection with a TCPINC solution that does not protect the TCP header. Now C would like to eavesdrop the connection, but unfortunately for him, the payload is encrypted. C decides then to send a FIN (or a RST) with the expectation to force the restart of the connection.

Now, there are two possible way forward for C's attack:

- Option 1) when A restarts the connection, C simply removes the TCPINC options, forcing the connection to fall back to regular TCP, so it can eavesdrop it. This would allow an attacker to cherry-pick which connection to eavesdrop, even when protected with TCPINC. (I guess a solution for this is to establish a policy in the endpoints that if a previous connection with a given endpoint was TCPINC, then only allow TCPINC connections in the future. This may be a problem for mobile endpoints, where different access networks may have different filters).

- Option 2) when A restarts the connection, A performs the key exchange again, so C can act as a Man in the Middle (changing the keys and all) and eavesdrop the connection. I guess this really depends whether it will be normal to perform the key exchange again. I guess this depends on who restarts the connection. I mean if the user was downloading a file and the user himself clicks reload, maybe a new TCP connection (with a different ephemeral port) is reloaded and keys are exchanged again and C can have its way. I am not very sure how this would pay out, actually.

C can even combine 1) and 2) i.e. if he can tell in the new SYN if the old key will be reused, he can use option 1) and if the key wont be reused it can do option 2).

Is this a concern? Am i missing something?
Regards, marcelo




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

Reply via email to