Asegurando comunicación entre microservicios con HMAC

En las arquitecturas basadas en microservicios, uno de los desafíos más importantes es asegurar que las comunicaciones internas entre servicios sean seguras. Aunque existen soluciones como proxies y mallas de servicios (service meshes) que ayudan a controlar y asegurar las comunicaciones, muchas veces es necesario añadir capas adicionales de seguridad sin depender completamente de herramientas externas.
Un mecanismo efectivo para reforzar la seguridad en la comunicación entre microservicios es utilizar firmas criptográficas como HMAC-SHA256. Este mecanismo asegura que cada petición que viaja entre microservicios esté validada por el remitente y pueda ser autenticada por el destinatario, previniendo que actores externos interfieran en estas comunicaciones.
En este artículo, exploraremos cómo implementar un esquema de validación basado en HMAC-SHA256, utilizando Python como ejemplo de desarrollo. Veremos cómo se genera la firma, cómo se validan las solicitudes y qué consideraciones debemos tener al implementar esta solución.