Luhn algorithm aplicado al acceso a archivos

0

Estoy en la siguiente configuración: determinados identificadores de departamento, identificadores de empleado e identificadores de archivo Quiero verificar si el empleado xy del departamento AB tiene permiso para acceder al archivo f.

Por ejemplo, department id="012", employee id="123" y el archivo id "012"

Luego, la aplicación del algoritmo de Luhn a "012123012" o alguna variación del algoritmo debe negar o conceder acceso. Me enfrento a este problema porque el hombre que configuró el algoritmo se ha ido.

¿Existe alguna aplicación o variación bien conocida del algoritmo de Luhn para este tipo de problema?

    
pregunta Richard 30.09.2013 - 16:02
fuente

1 respuesta

1

El algoritmo de Luhn es una opción muy pobre para esta aplicación. Está buscando aplicar un algoritmo fácilmente reversible para un propósito de seguridad.

El algoritmo de Luhn hace una cosa: verificar dígitos. El único propósito al que se debe aplicar es para una pequeña cantidad de verificación de entrada, específicamente para detectar errores tipográficos, como los dígitos faltantes o los dígitos intercambiados. También funciona para la validación de códigos de barras, como verificar las UPC o el Código 3 de 9 para garantizar que el lector de códigos de barras lea correctamente todas las franjas. Pero esos son los límites de lo que se debe confiar.

Por ejemplo, en su caso podría iterar desde "01212301-0" hasta "01212301-9" hasta que uno de ellos me otorgue el acceso. Solo tengo que intentar diez veces como máximo. Puedo hacer esto fácilmente a mano. El algoritmo de Luhn no puede proteger su sistema.

Para su uso en una aplicación de seguridad, probablemente requiera un esquema que utilice un hash criptográficamente seguro, como SHA-2. Por supuesto, ese tipo de cambio implica un gran cambio en su sistema: un algoritmo de Luhn genera un valor de 0 a 9, mientras que un hash criptográfico produce un resumen de 40 dígitos hexadecimales. Pero es probable que todo eso no sea relevante, porque sería mejor tener un sistema diseñado para realizar el control de acceso manejando esa responsabilidad. Un sistema como Active Directory o LDAP está diseñado exactamente para habilitar este tipo de funcionalidad de manera segura, y resuelve las inseguridades de su solución local.

    
respondido por el John Deters 30.09.2013 - 17:50
fuente

Lea otras preguntas en las etiquetas