Especificación de Requisitos de Software (SRS)

Software Requirements Specification (SRS)

1. Introducción

1.1 Propósito

Definir los requisitos para desarrollar un sistema de identidad descentralizada que garantice transparencia en procesos de creación de partidos políticos.

1.2 Alcance

La solución está dirigida a ciudadanos, organizaciones políticas y organismos electorales, permitiendo la gestión segura y verificable de identidades digitales.

1.3 Definiciones, Acrónimos y Abreviaturas

  • SSI: Identidad Autosoberana. Un modelo de identidad digital donde las personas tienen control total sobre sus datos, sin depender de intermediarios.
  • VC: Credencial Verificable. Un documento digital emitido por una entidad confiable que puede ser verificado criptográficamente.
  • DID: Identificador Descentralizado. Un identificador único basado en estándares de blockchain, utilizado para representar entidades digitales.
  • Blockchain: Una tecnología de registro distribuido que garantiza la inmutabilidad, seguridad y transparencia de las transacciones.
  • Cardano: Una plataforma blockchain de tercera generación que utiliza un enfoque basado en la investigación para garantizar escalabilidad, seguridad y sostenibilidad.
  • Identidad Autosoberana: Un enfoque para gestionar la identidad digital donde los individuos son los únicos dueños y administradores de sus datos personales.

2. Descripción General

2.1 Perspectiva del Producto

El sistema utiliza blockchain para proporcionar una solución escalable y segura para la gestión de identidades electorales.

2.2 Funcionalidades Clave

Ciudadanos

  • Registro de ciudadanos mediante DIDs.
  • Emisión de credenciales verificables para afiliación política.
  • Validación de identidades y credenciales mediante blockchain.

Organizaciones políticas

  • Registro organizaciones.
  • Busqueda y reportes.
  • Organismos electorales.

    • Registro organizaciones.
    • Busqueda y reportes.
    • 3. Requisitos

      3.1 Requisitos Funcionales

      • Creación de identidades únicas.
      • Emisión de credenciales verificables.
      • Auditoría de afiliaciones políticas y credenciales.
      • Afiliacón a un partido político
      • Registro de un partido político.

      3.2 Requisitos No Funcionales

      • Tiempo de respuesta menor a 3 segundos.
      • Disponibilidad del sistema al 99.9%.

      4. Interfaces

      4.1 Pantallas Clave

      • Pantalla de Registro: Permite el ingreso de datos personales para la generación de un DID único.
      • Pantalla de Gestión: Muestra credenciales verificables y permite su administración.
      • Pantalla de Validación: Organismos pueden validar credenciales en tiempo real.

      5. Tecnología

      5.1 Lenguajes y Frameworks

      • Frontend: React.js – Una biblioteca de JavaScript para construir interfaces de usuario dinámicas y reutilizables, ampliamente utilizada por su eficiencia y flexibilidad.
      • Backend: Node.js – Un entorno de ejecución de JavaScript basado en el motor V8 de Chrome, diseñado para crear aplicaciones escalables y rápidas, especialmente en tiempo real.
      • Mobile: Flutter – Un framework de desarrollo de aplicaciones móviles de código abierto creado por Google, que permite construir aplicaciones multiplataforma con un único código base.
      • Blockchain: Cardano (Atala Prism) – Cardano es una plataforma blockchain de tercera generación diseñada para ser sostenible y escalable. Atala Prism, su herramienta de identidad descentralizada, facilita la emisión, verificación y gestión de credenciales verificables.

      5.2 Base de Datos

      Se utiliza PostgreSQL para almacenamiento estructurado de datos y un repositorio descentralizado (IPFS) para almacenar imágenes de credenciales.

      6. Requisitos de Rendimiento

      El sistema debe garantizar un tiempo de respuesta menor a 3 segundos y soportar hasta 1 millón de usuarios simultáneamente.

      7. Restricciones

      7.1 Hardware

      El sistema debe operar en servidores Linux con soporte para contenedores Docker.

      7.2 Normativas

      Cumplimiento de estándares W3C para la gestión de datos personales.

      Cumplimiento de norma legales.

      8. Atributos

      8.1 Seguridad

      El sistema empleará autenticación multifactor y cifrado AES-256 para garantizar la seguridad de la información.

      8.2 Mantenibilidad

      El sistema será modular y permitirá actualizaciones sin interrupciones.

      9. Apéndices

      9.1 Referencias

      • Documentación de Atala Prism
      • Estándares de Identidades Descentralizadas del W3C