Pepper (crittografia)

In crittografia, un pepper è una sequenza di bit segreta aggiunta ad un input, per esempio una password, prima di effettuarne l'hash con una funzione crittografica di hash. Il pepper ha funzione similare al salt, ma a differenza di quest'ultimo non viene salvato insieme all'output della funzione di hash. Le configurazioni più comuni per il pepper sono le seguenti:

  • il pepper è lungo almeno quanto il salt, è salvato separatamente dal valore di cui deve essere fatto l'hash, e spesso è segreto all'interno dell'applicazione;
  • il pepper è un valore di piccole dimensioni generato casualmente, che non viene mai salvato; per verificare se l'input è corretto, l'applicazione itera sull'insieme dei possibili valori che il pepper può assumere (per evitare timing attacks) valutando per ognuno di questi l'output della funzione di hash.[1]

Il pepper aumenta la sicurezza del database in cui vengono salvati i valori di output della funzione di hash, perché aumenta il numero di elementi di cui bisogna essere in possesso per recuperare l'input, rendendo più difficoltoso un attacco brute force.

  1. ^ Catena: A Memory-Consuming Password-Scrambling Framework, su citeseerx.ist.psu.edu. URL consultato il 9 dicembre 2016.

© MMXXIII Rich X Search. We shall prevail. All rights reserved. Rich X Search