¿Cuál es el punto de usar el algoritmo de suma de comprobación múltiple con "ayudante"?

5

En aide el autor ofrece más de un algoritmo hash para realizar la suma de comprobación, ¿por qué?

¿No es uno solo, es decir, sha512 suficiente para determinar los cambios de archivo? Creo que estos algoritmos están todos testificados en el área matemática, no debería ser un problema aquí, ¿me equivoco?

    
pregunta daisy 03.01.2013 - 16:30
fuente

2 respuestas

6

Hay pocas razones para usar más de un hash al mismo tiempo. No hay colisiones conocidas contra SHA-2. En teoría, usar varios al mismo tiempo puede ser un seguro contra ataques a la función hash, pero no creo que sea un gran problema para AIDE.

Pero permitir la elección puede ser útil. El valor predeterminado actual podría romperse en algún momento. Una vez que eso sucede, cambiar el hash en un archivo de configuración es más fácil que lanzar una nueva versión del software.

Hashes también tienen diferentes características de rendimiento. Por ejemplo, SHA-256 es más rápido que SHA-512 en sistemas de 32 bits, pero más lento en sistemas de 64 bits. Por lo tanto, es posible que desee elegir el que coincida con la arquitectura de su CPU.
O si necesita un alto rendimiento (por ejemplo, usa SSD RAID) puede usar hashes más rápidos que no están aprobados por NIST.

    
respondido por el CodesInChaos 03.01.2013 - 16:36
fuente
3

Para agregar información sobre la buena respuesta de @ CodesInChaos:

El uso de varios hashes simultáneamente se ha sugerido como una forma de hacer frente a las debilidades futuras de las funciones de hash. Por ejemplo, hash con MD5 y con SHA-1, para que tu sistema permanezca robusto incluso si uno de ellos se rompe (independientemente de cuál esté roto). Esto equivale a definir una nueva función hash (llamémosla SHAMD-51) que ofrece como salida la concatenación de lo que SHA-1 y MD5, respectivamente, producirían sobre los datos de entrada.

Es fácil ver que la concatenación le dará una función que será al menos tan resistente a la colisión como la más fuerte de las dos. Desafortunadamente, la resistencia a las imágenes previas estará más cerca de la más débil de las dos funciones. En términos generales, la concatenación no es una buena forma de crear funciones hash: no vale la pena pagar su dinero, es decir, no es tan segura como podría suponer, dado su esfuerzo informático y el tamaño de salida con el que tiene que lidiar. Consulte esta respuesta para más información. Análisis y punteros.

Ofrecer la opción entre varias funciones hash es mucho mejor, ya que le permite seleccionar una que coincida con su arquitectura, para un mejor rendimiento. Tenga en cuenta que el hashing tiende a ser rápido de todos modos; cuando los archivos de hashing del disco, o los datos de la red, la función de hash rara vez es el cuello de botella. Al igual que con todos los problemas de rendimiento, lo primero que debe hacer es medir : no hay ningún problema de rendimiento a menos que se haya detectado y cuantificado de manera confiable.

La elección de la función hash también es clara cuando tiene que cumplir con regulaciones inflexibles (que podrían exigir el uso de una función "Aprobada", con una letra mayúscula).

En la práctica, muchos sistemas en los que se pueden utilizar múltiples funciones hash juntas lo hacen debido a la creencia irracional de que la criptografía es como la salsa ranchera, que puede hacer que el peor roadkill sea comestible, siempre y cuando se agregue lo suficiente.

Nota: no hay pruebas matemáticas de que alguna función hash determinada sea segura. En realidad, no hay ninguna prueba matemática de que pueda existir una función hash segura. Lo mejor que tenemos es la función hash que se implementó "en la naturaleza" durante mucho tiempo, y sobrevivió a los asaltos sin sentido de las hordas de criptógrafos enfurecidos. Las funciones SHA-2 (SHA-256, SHA-512) son tales funciones.

    
respondido por el Thomas Pornin 03.01.2013 - 17:42
fuente

Lea otras preguntas en las etiquetas