Estoy implementando una API REST y generé claves de API aleatorias de 128 bits que se utilizan con HMAC-SHA1 para la autorización. ¿Debería guardar la clave secreta tanto en el cliente como en el servidor antes de usarla, tal vez con SHA1 o bcrypt? Esto evitaría almacenar la clave secreta en texto simple. Sin embargo, he tenido problemas para encontrar a otras personas haciendo esto, lo que me hace sospechar de esta idea.
- Los datos que se transfieren no son confidenciales, solo lo es la clave de la API, ya que un usuario en particular puede agregar datos o iniciar trabajos.
- Principalmente intento evitar el acceso fácil a la clave API, ya sea por alguien que esté ejecutando el servidor o por alguien que esté escuchando.
- Este es un complemento para un sistema existente que otras personas pueden instalar en otros sistemas, por lo que SSL no es una opción.