Evidencias analisis seguridad S7 - JohannPaezU/MISW4501-MediSupply GitHub Wiki

Experimento de Seguridad – Evidencias, Análisis y Conclusiones

📋 Tabla de Contenidos

📌 Evidencias

El experimento de seguridad se validó mediante la interacción con los microservicios de Registro, Autorizador y Gestor de Inventario, tanto desde la documentación automática de FastAPI como desde Postman. Se recopiló evidencia gráfica para demostrar la efectividad de los mecanismos de autenticación y autorización.

🔹 Registro de usuarios

  • Registro exitoso: el sistema confirma cuando un nuevo usuario es creado correctamente.

  • Registro duplicado: cuando se intenta registrar un usuario ya existente, el sistema devuelve un mensaje de error.


🔹 Autenticación y OTP

  • Inicio de sesión correcto: credenciales válidas permiten acceder al flujo de autenticación.

  • Verificación OTP válida: el sistema genera un token JWT cuando el código OTP suministrado es correcto.

  • Verificación OTP inválida o inexistente: el sistema rechaza códigos erróneos o inexistentes.


🔹 Acceso al inventario protegido

  • Token válido: permite consultar el inventario y obtener los datos almacenados.

  • Token inválido o ausente: el sistema responde con error, impidiendo el acceso a la información sensible.

  • Creación de producto: utilizando un token válido, se puede añadir un producto al inventario.


  • Validación de integridad: tras crear un producto, la consulta al inventario muestra el nuevo registro, confirmando la correcta persistencia y seguridad de los datos.


📊 Análisis de Resultados

  1. Autenticación robusta mediante OTP

    • El uso de códigos de un solo uso (OTP) añade una capa adicional de seguridad frente a intentos de acceso no autorizado.
    • Los tokens generados tras la validación OTP son temporales y permiten proteger los datos sensibles.
  2. Seguridad en múltiples niveles

    • Se validó que el acceso al inventario solo es posible con un token válido emitido por el Autorizador.
    • Los intentos con credenciales inválidas o tokens incorrectos fueron bloqueados exitosamente.
  3. Protección de la integridad de la información

    • El sistema asegura que únicamente usuarios autenticados puedan crear y consultar productos en el inventario.
    • Se verificó que los datos creados persisten de manera segura y solo son accesibles con autorización.
  4. Arquitectura distribuida segura

    • La separación de responsabilidades en tres microservicios (registro, autorizador e inventario) fortalece el principio de mínimo privilegio.
    • Cada servicio cumple una función específica y depende de la validación de los demás para mantener la seguridad global.

🎯 Cumplimiento de la hipótesis de diseño

La hipótesis de diseño planteaba que, mediante un autorizador con OTP y JWT, únicamente los usuarios o servicios con los permisos adecuados podrían acceder al inventario de productos médicos, garantizando la confidencialidad e integridad de la información.

Con base en la evidencia recopilada durante las pruebas:

  • El Registro permitió crear usuarios y almacenar credenciales encriptadas de forma confiable.
  • El Autorizador gestionó correctamente la autenticación con OTP y la emisión de tokens JWT, rechazando intentos con credenciales inválidas o códigos OTP incorrectos.
  • El Gestor de Inventario solo respondió a peticiones que incluyeran un token JWT válido y vigente, bloqueando accesos no autorizados o manipulados.
  • Las pruebas de simulación de intrusiones (tokens caducados, modificados o credenciales inválidas) confirmaron que el sistema rechazó de forma adecuada dichos intentos.

Conclusión: La hipótesis de diseño se cumplió.
El uso combinado de OTP, JWT y validación estricta en cada microservicio permitió garantizar la confidencialidad e integridad del inventario, asegurando que únicamente los usuarios autenticados y autorizados accedan a los datos sensibles.


✅ Conclusiones

  • El sistema implementa de forma correcta la táctica de autenticación reforzada mediante OTP, mitigando riesgos de reutilización de credenciales y ataques de interceptación.
  • La arquitectura distribuida con separación de servicios garantiza confidencialidad, integridad y control de acceso sobre la información sensible del inventario.
  • El flujo de pruebas demostró que:
    1. Los usuarios deben autenticarse antes de acceder a datos sensibles.
    2. Los intentos no autorizados fueron correctamente bloqueados.
    3. El inventario mantiene la integridad de la información al validar estrictamente los tokens.
  • Este enfoque aporta una base sólida para sistemas seguros en entornos distribuidos, reforzando la confianza en la protección de datos críticos.

🎥 Demostración

Se puede revisar la ejecución y explicación completa del experimento en el siguiente video:
📺 Video de demostración