Seguridad en el enrutamiento utilizando tecnología Blockchain

Detalles Bibliográficos
Autor Principal: Gómez, Marcelo Alberto
Otros autores o Colaboradores: Bazán, Patricia Alejandra (Director/a), Río, Nicolás del (Codirector/a), Morandi, Miguel A. (Asesor/a científico/a)
Formato: Tesis
Lengua:español
Datos de publicación: [2023]
Temas:
Acceso en línea:http://catalogo.info.unlp.edu.ar/meran/getDocument.pl?id=2608
Consultar en el Cátalogo
Descripción Física:1 archivo (5,2 MB) : il. col.
Tabla de Contenidos:
  • 1 Introducción
  • 1.1 Estructura
  • 1.2 Objetivos
  • 1.3 Motivación
  • 2 Estado del Arte
  • 2.1 Gobernanza y gestión de información de ruteo global
  • 2.1.1 Historia de los RIRs
  • 2.1.2 Historia de los IRR
  • 2.1.3 Mecanismos actuales de seguridad en el ruteo
  • 2.2 Uso de la tecnología blockchain para validar la información de ruteo
  • 2.2.1 Antecedentes
  • II MARCO TEÓRICO
  • 3 Recursos de internet
  • 3.1 Sistemas Autónomos
  • 3.2 Números IPv4 e IPv6
  • 3.3 Administración global de los recursos
  • 4 Conceptos de BGP
  • 4.1 Introducción a BGP
  • 4.2 Características de BGP
  • 4.3 Principales tipos de mensaje BGP
  • 4.4 Principales atributos de BGP
  • 4.5 Criterios de selección de rutas
  • 5 Seguridad de ruteo en Internet
  • 5.1 Secuestro de rutas - Route Hijacking
  • 5.1.1 Antecedentes de secuestros de rutas
  • 5.1.1.1 2008 - Denegación de servicio, Caso Pakistan - Youtube
  • 5.1.1.2 2014 - Secuestro de BGP para obtener beneficios de criptomonedas
  • 5.2 Fuga de ruta - Route Leak
  • 5.2.1 Clasificación de Fugas de Ruta
  • 5.2.2 Propuesta para solucionar los problemas de fugas de ruta: RFC 9234
  • 5.2.2.1 Introducción
  • 5.2.2.2 Relaciones entre peers
  • 5.2.2.3 Corrección de roles
  • 5.2.2.4 Atributo BGP solo para el cliente (OTC)
  • 5.3 RPKI
  • 5.3.1 Introducción a RPKI
  • 5.3.2 Validación del origen de la ruta
  • 5.4 MANRS
  • 5.5 BGPSEC
  • 5.6 ASPA - Autonomous System Path Authorization
  • 5.6.1 Procedimiento de verificación cliente-proveedor
  • 5.6.2 Procedimiento de verificación de AS_PATH
  • 6 Conceptos de Sistemas Distribuidos
  • 6.1 Definición de Sistemas distribuidos
  • 6.2 Problema de los generales bizantinos
  • 6.3 Teorema CAP
  • 7 Conceptos de Criptografía
  • 7.1 Introducción
  • 7.2 Servicios de la criptografía
  • 7.3 Primitivas criptográficas
  • 7.3.1 Primitivas criptográficas sin clave
  • 7.3.1.1 Secuencias aleatorias
  • 7.3.1.2 Funciones hash
  • 7.3.2 Criptografía simétrica
  • 7.3.3 Criptografía de clave asimétrica
  • 7.4 Firma digital
  • 7.5 Árbol de Merkle
  • 7.6 Árbol Patricia Trie
  • 8 Conceptos de Blockchain
  • 8.1 Definición de blockchain
  • 8.2 Componentes de una Blockchain
  • 8.3 Arquitectura de una blockchain
  • 8.4 Clasificación de una blockchain
  • 8.4.1 Blockchain pública
  • 8.4.2 Blockchain privadas o permisionadas
  • 8.4.3 Blockchain público-permisionadas
  • 8.5 Descentralización
  • 8.6 Mecanismos de consenso
  • 8.6.1 PBFT
  • 8.6.2 RAFT
  • 8.6.3 Proof of Work (PoW) ó Prueba de trabajo
  • 8.6.4 Proof of Stake (PoS) ó Prueba de Participación
  • 8.6.5 Committee-based PoS
  • 8.6.6 DPoS - Delegated PoS
  • 8.6.7 Proof of Authority ó Prueba de Autoridad
  • 8.6.8 Tower Byzantine Fault Tolerance - Tower BFT
  • 8.7 Escalabilidad de una blockchain
  • 9 Plataformas blockchain consideradas
  • 9.1 Bitcoin
  • 9.1.1 Transacciones en la red Bitcoin
  • 9.1.2 Red Bitcoin
  • 9.1.3 RSK: Contratos inteligentes sobre la red Bitcoin
  • 9.2 Ethereum
  • 9.2.1 ¿Qué es Ethereum?
  • 9.2.2 Características de la red Ethereum
  • 9.2.3 Historia de la red Ethereum
  • 9.2.4 Ecosistema de la red Ethereum
  • 9.2.4.1 Claves y direcciones
  • 9.2.4.2 Cuentas (Addresses)
  • 9.2.4.3 Abstracción de cuentas ERC-4337
  • 9.2.4.4 Contratos inteligentes
  • 9.2.4.5 Éter criptomoneda/tokens
  • 9.2.4.6 Transacciones y mensajes
  • 9.2.4.7 Tarifas y gas
  • 9.2.4.8 EVM
  • 9.3 Escalabilidad de la Blockchain Ethereum
  • 9.3.1 Soluciones de escalado on-chain
  • 9.3.2 Soluciones de escalado off-chain
  • 9.3.2.1 Sidechain o cadena lateral
  • 9.3.2.2 Soluciones de escalado de capa 2
  • 9.4 Arbitrum
  • III DESARROLLO DEL TRABAJO
  • 10 Desarrollo de la solución propuesta
  • 10.1 Introducción
  • 10.2 Arquitectura de la solución propuesta
  • 10.2.1 Aportes realizados al contrato inteligente
  • 10.2.1.1 Soporte IPv6
  • 10.2.1.2 Utilización de funciones para verificación de firmas realizadas offchain
  • 10.2.1.3 Ataques de repetición de firmas (Signature replay attacks)
  • 10.2.1.4 Heartbeat function
  • 10.2.1.5 Migración a Solidity v0.8.18
  • 10.2.1.6 Verificación del AS_PATH
  • 10.3 Despliegue del contrato inteligente
  • 10.4 Asignación y delegación de recursos de Internet mediante blockchain
  • 10.4.1 Secuencia de pasos para dar de alta un SA
  • 10.4.2 Secuencia de pasos para asignar el prefijo IPv6 al SA
  • 10.4.3 Los SAs indican mediante transacciones cuales son sus SAs vecinos
  • 10.4.4 Conclusiones del trabajo experimental con Remix
  • 10.5 Despliegue del contrato inteligente con Hardhat
  • 10.6 Prueba del contrato inteligente
  • 10.7 Reporte de gas utilizado
  • 11 Validación de la solución
  • 11.1 Introducción
  • 11.2 Entorno de software utilizado para la realización de pruebas
  • 11.3 Emulación de ataque de Route Hijacking existoso
  • 11.4 Emulación de ataque de Route Hijacking evitado mediante el uso de tecnología
  • blockchain
  • 12 Conclusiones
  • 13 Futuras líneas de investigación
  • 13.1 Información adicional on-chain
  • 13.2 Soporte dual stack IPv6/IPv4
  • 13.3 Verificación del AS-PATH mediante el método ASPA
  • 13.4 Pruebas de la solución en redes público-permisionadas
  • 14 Anexos
  • 14.1 Contrato inteligente IANA.sol
  • 14.2 Archivo de configuración de Hardhat
  • 14.3 Scripts para el deploy del contrato inteligente
  • 14.4 Scripts para testing del contrato inteligente
  • 14.5 Script Python para validación de paquetes UPDATE de BGP
  • 14.6 Servidores WEB en NodeJS en SA64503
  • 14.7 Servidores WEB en NodeJS en sistema autónomo atacante SA64504
  • 14.8 Configuración del R1
  • 14.9 Configuración del cliente docker C1
  • 14.10Configuración del router R1-2
  • 14.11Configuración del router R2
  • 14.12Configuración del router R3
  • 14.13Configuración del router R3-2
  • 14.14Configuración del router R4
  • 14.15Configuración del router R4-2