Algoritmo Luhn applicato all'accesso ai file

0

Mi trovo nella seguente configurazione: dati ID di reparto, ID di dipendente e ID di file Voglio verificare se il dipendente xy del dipartimento AB è autorizzato ad accedere al file f.

es. dipartimento id="012", ID dipendente="123" e ID file "012"

Quindi l'applicazione di l'algoritmo di Luhn a "012123012" o qualche variazione dell'algoritmo dovrebbe negare o concedere l'accesso. Sono di fronte a questo problema perché l'uomo che ha impostato l'algoritmo è partito.

Esiste qualche nota applicazione o variazione dell'algoritmo di Luhn per questo tipo di problema?

    
posta Richard 30.09.2013 - 16:02
fonte

1 risposta

1

L'algoritmo di Luhn è una scelta molto scarsa per questa applicazione. Stai cercando di applicare un algoritmo facilmente reversibile per uno scopo di sicurezza.

L'algoritmo di Luhn fa una cosa: controlla le cifre. L'unico scopo a cui deve essere applicato è una piccola quantità di controllo degli input, in particolare il controllo degli errori di battitura come cifre mancanti o cifre scambiate. Funziona anche per la convalida dei codici a barre, come il controllo dei codici UPC o del codice 3 di 9 per garantire che il lettore di codici a barre legga correttamente tutte le strisce. Ma quelli sono i limiti di ciò che dovrebbe essere affidato.

Ad esempio, nel tuo caso potrei scorrere da "01212301-0" a "01212301-9" finché uno di questi non mi ha concesso l'accesso. Devo solo provare dieci volte al massimo. Posso farlo facilmente a mano. L'algoritmo di Luhn non può proteggere il tuo sistema.

Per l'uso in un'applicazione di sicurezza, probabilmente richiederebbe uno schema usando un hash crittograficamente sicuro, come SHA-2. Ovviamente, questo tipo di cambiamento comporta un enorme cambiamento nel sistema: un algoritmo Luhn emette un valore compreso tra 0 e 9, mentre un hash crittografico produce un digest di 40 cifre esadecimali. Ma probabilmente non è rilevante, perché sarebbe meglio avere un sistema progettato per eseguire il controllo dell'accesso gestendo tale responsabilità. Un sistema come Active Directory o LDAP è progettato esattamente per abilitare questo tipo di funzionalità in modo sicuro e risolve le insicurezze della soluzione sviluppata in proprio.

    
risposta data 30.09.2013 - 17:50
fonte

Leggi altre domande sui tag