¿Por qué las empresas no almacenan valores hash de direcciones IP, en lugar de almacenar direcciones IP en formato de texto sin formato?

Uno de los problemas con los hashes unidireccionales es que necesitan una base suficientemente amplia de valores iniciales para hacer que sea difícil intentar revertir el proceso. Las contraseñas generalmente pueden ser buenas para esto, ya que tiene la opción de elegir hasta 100 caracteres y puede tener de 4 a 40 o más caracteres. Esto da un espacio de problema de 1 seguido de más de lo que puedo contar con mis dedos de manos y pies muchas veces.

Las direcciones IP actuales (IPv4) se componen de solo 2 ^ 32 valores, o alrededor de 4.300 millones. De eso, puede tirar rápidamente 350 millones más o menos para rangos de direcciones privadas, multidifusión, pruebas, host local, etc., por lo que incluso con ese pequeño espacio para comenzar, puede deshacerse de casi el 10% de inmediato.

Entonces tienes computadoras modernas. Las CPU de escritorio estándar probablemente puedan calcular la mayoría de los hashes en el rango de unos pocos millones por segundo por núcleo. Entonces, 10-25 millones por segundo probablemente no sea irrazonable (mi i7-4470K es de alrededor de 5.5 millones de MD5 por segundo y 3.3 millones de SHA-512 por segundo). Para las tarjetas gráficas, una buena es del orden de un par de miles de millones por segundo.

El espacio del problema es demasiado pequeño para evitar la inversión de fuerza bruta de los hashes, incluso en una pequeña cantidad de tiempo.

Salar el hachís puede ayudar a limitar el método de fuerza bruta, pero dependiendo de cómo se calcule la sal, puede no ser de mucha utilidad. Si desea rastrear a alguien mientras mantiene la dirección del visitante anónima, por ejemplo, entonces la sal debería ser coherente en múltiples solicitudes de página. Esto limitaría el cálculo de la sal a algo estático y una vez más reduciría este espacio adicional de problemas.

A la inversa, pasar a IPv6 podría hacer que esto sea más efectivo. Aquí el espacio del problema es 2 ^ 128 (aunque en la práctica es aproximadamente 2 ^ 125 en este momento debido a la forma en que se asignan los prefijos actualmente). Pero incluso con una máquina monstruo multi-gpu (una de las cuales se demostró recientemente que calcula en la región de 350 mil millones de hashes por segundo), solo intentar revertir 2 ^ 125 tomaría 254 mil millones de veces más de lo que ha existido el universo.

Pero, y esto es un gran pero, además, como dijiste en la pregunta, hay algo más grande que los problemas computacionales involucrados aquí: La Ley. Varios condados tienen leyes y regulaciones que requieren la captura de estos datos por razones de seguridad y / o protección. Dudo mucho que estas personas estén interesadas en proteger estos datos con hashes unidireccionales, ya que evitaría su acceso a esta información a pedido u orden judicial. Ese es probablemente un obstáculo mucho mayor.

A pesar de esto, si algunas organizaciones de seguridad están capturando datos en el cable, entonces los están sacando de la fibra troncal. El hash simplemente no importará de ninguna manera: obtendrán las direcciones IP y los metadatos asociados directamente de los paquetes mismos. En ese caso, no importa lo que haga un host con los datos, lo habrán leído antes de que el host los obtenga de todos modos.

Porque la solución de problemas basada en valores hash es inútil; mirar en sus archivos de registro y ver un montón de solicitudes fallidas de diferentes valores hash no transmite que todos provengan del mismo prefijo IP, y puede que tenga una entrada de ACL incorrecta, o puede haber problemas de ruta entre usted y ese prefijo .
Hasta que Internet funcione perfectamente, tener la dirección IP real del extremo más alejado de una conexión no tiene precio para solucionar problemas * por qué * no funciona perfectamente.

Porque no quieren perder la información contenida en esa dirección. Esa información tiene valor. Es posible que no tengan una forma de monetizarlo en este momento, y el valor puede no ser aparente durante algún tiempo, pero parece probable que pueda tener valor para su uso futuro. Por lo tanto, no tiene sentido descartarlo.