C'è qualche merito al metodo password-to-key RFC 3414 (SNMPv3 User Security Model)?

7

RFC 3414 (pubblicato nel 2002) specifica un metodo per generare le chiavi in base alla password nella sua Appendice , che in pratica prende ogni "passphrase" e continua a ripeterlo fino a quando non c'è una stringa da 1 MB, a quel punto prende lo SHA1 o MD5 di quei dati da usare come chiave:

  /**********************************************/
  /* Use while loop until we've done 1 Megabyte */
  /**********************************************/
  while (count < 1048576) {
     cp = password_buf;
     for (i = 0; i < 64; i++) {
         /*************************************************/
         /* Take the next octet of the password, wrapping */
         /* to the beginning of the password as necessary.*/
         /*************************************************/
         *cp++ = password[password_index++ % passwordlen];
     }
     SHAUpdate (&SH, password_buf, 64);
     count += 64;
  }
  SHAFinal (key, &SH);          /* tell SHA we're done */

Dichiara inoltre un requisito di sicurezza di lunghezza minima:

SNMP implementations (and SNMP configuration applications) must ensure that passwords are at least 8 characters in length.

E poi fa l'osservazione:

Please note that longer passwords with repetitive strings may result in exactly the same key. For example, a password 'bertbert' will result in exactly the same key as password 'bertbertbert'.

Sembra essere una ben nota "soluzione" al minimo di 8 caratteri per ripetere il tuo input: Se vuoi usare la password a , inserisci aaaaaaaa . Infatti, in entrambi i casi verrà effettivamente convertito in a ripetuto 1048576 volte (1 MB) e quindi sottoposto a hash. Se stai provando a forzare la password, le password a , aa , aaa e aaaaaa....aaaaaa sono tutte identiche (e non è necessario provare tutte le varianti).

Tutto quello che ho capito sulla sicurezza delle password e l'hashing mi dicono che questo non è solo un disegno stupido, ma in realtà mina l'algoritmo hash e riduce la sicurezza. Esiste davvero un vantaggio per questo metodo di generazione delle chiavi? Come diavolo è entrato in una RFC esplicitamente preoccupata per la sicurezza?

    
posta gregmac 30.03.2015 - 21:11
fonte

0 risposte

Leggi altre domande sui tag