Sé que ambos evitan el abuso de las API RESTful. Hmac firmado api es comúnmente utilizado que el otro. Pero creo que usar un par de usuarios / pases para la autorización es más seguridad, aquí está la razón:
-
Para firmar una API utilizando hmac, se necesita un secreto compartido entre el cliente y el servidor. Así que el servidor DEBE almacenar el secreto en un formato legible por la computadora (reversible). Si el servidor se rompe (no es un evento de pequeña probabilidad), todos los usuarios están en peligro.
-
Al usar user / pass para autorizar al cliente, el servidor podría guardar la contraseña del cliente con hash (con salt) en la base de datos. Entonces es inútil después de robado. Además de usar tls / ssl para proteger la contraseña durante la transferencia, no hay ningún ataque MITM.
Entonces, la verdad es que la mayoría de las empresas utilizan hmac firmadas por hmac. ¿Podría alguien decirme lo que me he perdido?