Software Requirements Specification (SRS)
1. Introducción
1.1 Propósito
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
Organismos electorales.
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