Alguien me envió una tarjeta de regalo de Starbucks. El correo electrónico contenía un enlace de redención, y ese enlace de redención terminó en un hash seguro durante mucho tiempo, muy parecido a los que se encuentran en las gists secretas github.
Al hacer clic en el enlace de canje, me llevó a una página con un único campo de formulario y me pidió que ingresara la dirección de correo electrónico a la que se envió el enlace. Después de ingresar mi correo electrónico, me llevaron a una página que mostraba la imagen equivalente a una tarjeta de regalo con el recubrimiento protector raspado: un número similar a una tarjeta de crédito que, al ingresar o escanear en la aplicación de Starbucks, acredita dinero en su cuenta . Creo que ese número podría haber sido ingresado por cualquier persona para reclamar el efectivo.
Mi pregunta es: ¿Por qué me pide que confirme la dirección de correo electrónico? ¿Proporciona eso alguna seguridad adicional más allá del propio enlace hash? Me parece que la seguridad es proporcionada por el enlace hash, y si ese enlace estaba comprometido, en todos los casos mi dirección de correo electrónico también estaría comprometida (por ejemplo, si alguien hubiera pirateado mi cuenta de correo electrónico o leyó el correo electrónico en tránsito).
Por supuesto, en teoría está evitando un ataque de fuerza bruta por parte de alguien que adivina hash aleatoriamente, pero el espacio de búsqueda es tan masivo que parece una precaución innecesaria suponiendo que el hash se haya generado de manera segura.