Diciendo que tenemos un oráculo que un atacante puede usar tantas veces como desee. El atacante puede enviar un password
no vacío a este Oracle. Oracle haheado la contraseña usando sha256(password + pepper)
, y la envía al atacante.
El valor de la pimienta nunca cambia (es una sal mala constante).
¿Hay alguna forma en que un atacante pueda adivinar la pimienta? ¿Cómo llamaría el atacante al Oráculo para obtener esa pimienta?
¿Se aplica el mismo ataque si Oracle utiliza un método hash_hmac('sha256', password, pepper)
en lugar de simple sha256(password + pepper)
? ¿Esto aplica para sha256(pepper + password)
en lugar de sha256(password + pepper)
?
He visto la pregunta ¿Es posible obtener el salt si tengo el hash y la contraseña original? pero tenemos una condición más: el atacante puede obtener la cantidad de hash; original password
couple que desee. para recuperar la pimienta constante, por lo que esta condición podría cambiar mucho?
Mi conjetura es que uno puede hacer recuperar la pimienta, pero no estoy seguro de cómo se haría. El proceso para recuperarlo no es tan importante, pero quiero obtener una prueba de que tal proceso existe y es factible.