Antes de dar mi respuesta, veamos primero el tema de HMAC.
El código de autenticación de mensaje basado en hash (o HMAC) es un mecanismo para calcular un código de autenticación de mensaje que involucra una función hash en combinación con una clave secreta. Esto se puede usar para verificar la integridad y autenticidad de un mensaje.
Ahora la autenticación HMAC garantiza la autenticidad de la solicitud firmando los encabezados, especialmente en el caso de que content-md5 esté firmado y verificado por el servidor Y el cliente. En la mayoría de las situaciones, he usado HMAC para tener un nivel de seguridad más sólido.
Pero tenga en cuenta que el uso de HMAC le ayuda a comprender mejor cómo funciona HTTP, lo que puede dificultarle las cosas o facilitar su uso.
HMAC junto con AES es un gran conjunto para tener. En mi opinión lo usaría.
También tenga en cuenta que si tiende a mantener esta información encriptada en un servidor durante largos períodos de tiempo, debe mantener la clave secreta actualizada mensualmente o tal vez dos veces al mes sobre cómo estructurar su seguridad.