Diga que tengo una gran aplicación para la que me gustaría crear una API segura. La forma estándar de hacerlo sería trabajar con una clave de API pública y una clave de API secreta y proporcionárselas al usuario. A continuación, en cada solicitud de API, los mensajes se firman utilizando un MAC en la clave secreta y (en parte) el mensaje.
Ahora, ya que esta aplicación es grande, no quiero tener que seleccionar mi campo de mensaje por cada puerta de enlace API (por ejemplo, si mi solicitud de API fue para responder una pregunta, message=answer
, si mi solicitud de API fue para publicar un comentario message=comment
etc ...).
Por conveniencia, me gustaría agregar un campo aleatorio criptográficamente seguro, que se agrega en cada solicitud (llamemos a este campo nuestro salt
). De esta manera puedo escribir una verificación de solicitud que cubra todas las situaciones.
Mis preguntas son ahora:
¿Es una buena idea y por qué (no)?