Dada la aclaración en el comentario (¡debería estar en cuestión, la información más importante!), la respuesta es sí.
La modificación accidental es algo que, en teoría, debería ser bastante improbable, ya que existen CRC a nivel de enlace, así como sumas de comprobación en la pila TCP / IP. La posibilidad teórica de que un paquete modificado accidentalmente pase la capa de enlace sin ser detectado es de uno en cuatro mil millones, lo que parece casi "nunca va a suceder", pero en realidad no sucede muy raramente. Tenga en cuenta que hay bastantes paquetes por el cable, no solo uno o dos. Por lo tanto, la pila TCP / IP casi seguramente debe atrapar a los que lo hacen. ¿Verdad?
Pues sí, en teoría. En la práctica, las investigaciones muestran que aproximadamente uno de cada 16 millones de paquetes lo logra, aunque no debería (Stone, J., Partridge, C. SIGCOMM 2000).
Aunque nunca puede reducir a cero la probabilidad de falla, lanzar una suma de comprobación SHA-1 de la forma que sugiere disminuirá el riesgo hasta el punto de que cuente como "no importa". Técnicamente es una mentira decirlo, pero puedes considerarlo "garantizado" por todos los medios prácticos.
Si bien la modificación maliciosa puede ser una preocupación válida (aunque no es para usted como se indica), la expectativa de encontrar una colisión accidental en SHA-1 es absolutamente ridícula. Esto no va a suceder durante su vida o la de sus hijos o nietos.
Sin embargo, tenga en cuenta que crear un socket que use TLS es de aproximadamente 5 a 6 líneas de código en Java (incluidas las declaraciones import
), que no es realmente más trabajo que crear un socket de vainilla simple, y será también hace que la modificación maliciosa sea más difícil en varios órdenes de magnitud. La sobrecarga de TLS tampoco es tan mala , por lo que generalmente es algo aceptable.