Método de seguridad para APIs REST, bajo enfoque API First, para el aseguramiento de la integridad y la validez de datos sensibles

dc.contributor.advisorVergara Vargas, Jeisson Andrés
dc.contributor.authorGrisales González, Andrés
dc.contributor.orcidGrisales González, Andres [0009000645661752]
dc.contributor.researchgroupColectivo de Investigación en Ingeniería de Software Colswe
dc.date.accessioned2025-11-24T12:32:08Z
dc.date.available2025-11-24T12:32:08Z
dc.date.issued2025
dc.descriptionilustraciones, diagramas, tablasspa
dc.description.abstractEste trabajo final se enfoca en el desarrollo de un método de seguridad para APIs REST bajo en- foque API First, con el propósito de asegurar la integridad y validez de datos sensibles mediante cifrado y firma digital de atributos específicos. Se investigaron en profundidad las vulnerabil- idades actuales en sistemas que exponen APIs REST, identificando brechas significativas en la protección de atributos sensibles que van más allá de los mecanismos tradicionales de autenti- cación y autorización. Como resultado, se desarrolló una librería para Java con Spring Boot que implementa protección granular a nivel de atributo utilizando JSON Web Tokens (JWT) para firma digital y encriptación AES-256-GCM para confidencialidad. La solución ofrece dos modal- idades de implementación: mediante extensiones de metadatos en especificaciones OpenAPI (x-security-metadata) y a través del uso directo de anotaciones declarativas sobre atributos sen- sibles en DTOs, parámetros de ruta y parámetros de consulta. Se validó la efectividad del método mediante evaluaciones exhaustivas que demostraron 100% de precisión en detección de manip- ulaciones y un impacto de rendimiento inferior al 15% de overhead. En conjunto, el trabajo presenta una solución práctica y flexible para la protección automática de datos sensibles en APIs REST, abriendo la puerta a futuras implementaciones en otros frameworks y lenguajes de programación, así como la extensión a protocolos adicionales de comunicación entre sistemas (Texto tomado de la fuente).spa
dc.description.abstractThis final work focuses on the development of a security method for REST APIs under an API First approach, with the purpose of ensuring the integrity and validity of sensitive data through encryption and digital signature of specific attributes. Current vulnerabilities in systems that expose REST APIs were thoroughly investigated, identifying significant gaps in the protection of sensitive attributes that go beyond traditional authentication and authorization mechanisms. As a result, a library for Java with Spring Boot was developed that implements granular protection at the attribute level using JSON Web Tokens (JWT) for digital signature and AES-256-GCM encryp- tion for confidentiality. The solution offers two implementation modalities: through metadata extensions in OpenAPI specifications (x-security-metadata) and through direct use of declarative annotations on sensitive attributes in DTOs, path parameters, and query parameters. The effec- tiveness of the method was validated through comprehensive evaluations that demonstrated 100% accuracy in manipulation detection and a performance impact of less than 15% overhead. Overall, the work presents a practical and flexible solution for automatic protection of sensi- tive data in REST APIs, opening the door to future implementations in other frameworks and programming languages, as well as extension to additional communication protocols between systems.eng
dc.description.degreelevelMaestría
dc.description.degreenameMagíster en Ingeniería - Ingeniería de Sistemas y Computación
dc.description.methodsLa metodología propuesta se fundamenta en el enfoque de Design Science Research (DSR), un marco muy reconocido en la investigación aplicada por su capacidad para abordar problemas complejos a través de la creación de artefactos innovadores. Este enfoque resulta idóneo para el desarrollo de la librería planteada, ya que no solo se genera conocimiento teórico, sino también soluciones prácticas y aplicables a contextos y sistemas reales. El Design Science Research se basa en un proceso iterativo que combina el diseño y construcción de artefactos con su evaluación rigurosa, asegurando que los resultados obtenidos sean útiles, reproducibles y válidos. Fases de la Metodología DSR El desarrollo del presente trabajo se estructuró siguiendo las fases características del Design Science Research, adaptadas específicamente para el contexto de desarrollo de herramientas de seguridad para APIs REST: Fase 1: Identificación y definición del problema Fase 2: Diseño de la solución Fase 3: Implementación de la solución Fase 4: Evaluación y validación
dc.description.researchareaIngeniería de Software
dc.description.researchareaArquitectura de Software
dc.description.technicalinfoEl diseño presenta tanto la estructura del método como su implementación para el lenguaje de programación Java, utilizando el framework Spring Boot 3 y OpenAPI en su versión 3.0.0 bajo Maven. No obstante, es posible trasladarlo a otros lenguajes y frameworks de programación, realizando los ajustes necesarios en el diseño del método para adaptarlo a las características propias de cada entorno. Asimismo, futuras versiones del framework o de OpenAPI podrían requerir modificaciones en la librería implementada para garantizar su compatibilidad. También es factible desarrollar variantes de la librería que ofrezcan soporte para versiones anteriores del lenguaje, del framework o de OpenAPI.spa
dc.format.extentxv, 101 páginas
dc.format.mimetypeapplication/pdf
dc.identifier.instnameUniversidad Nacional de Colombiaspa
dc.identifier.reponameRepositorio Institucional Universidad Nacional de Colombiaspa
dc.identifier.repourlhttps://repositorio.unal.edu.co/spa
dc.identifier.urihttps://repositorio.unal.edu.co/handle/unal/89143
dc.language.isospa
dc.publisherUniversidad Nacional de Colombia
dc.publisher.branchUniversidad Nacional de Colombia - Sede Bogotá
dc.publisher.facultyFacultad de Ingeniería
dc.publisher.placeBogotá, Colombia
dc.publisher.programBogotá - Ingeniería - Maestría en Ingeniería - Ingeniería de Sistemas y Computación
dc.relation.referencesARCURI, Andrea: RESTful API Automated Test Case Generation. In: 2017 IEEE International Conference on Software Quality, Reliability and Security (QRS), IEEE, 2017, S. 9–20
dc.relation.referencesASHRAF, Zeeshan ; SOHAIL, Adnan ; YOUSAF, Muhammad: Lightweight and authentic sym- metric session key cryptosystem for client–server mobile communication. In: The Jour- nal of Supercomputing 79 (2023), Nr. 14, S. 16181–16205. http://dx.doi.org/10.1007/ s11227-023-05239-7. – DOI 10.1007/s11227–023–05239–7
dc.relation.referencesBASS, Len ; CLEMENTS, Paul ; KAZMAN, Rick: Software Architecture in Practice. 3rd. Addison- Wesley Professional, 2012. – ISBN 9780321815736
dc.relation.referencesCASAS, S. ; CRUZ, D. ; VIDAL, G. ; CONSTANZO, M.: Uses and applications of the Ope- nAPI/Swagger specification: a systematic mapping of the literature. In: 2021 40th Inter- national Conference of the Chilean Computer Science Society (SCCC). La Serena, Chile, 2021, S. 1–8
dc.relation.referencesFIELDING, Roy T.: Architectural Styles and the Design of Network-based Software Architectures, Univer- sity of California, Irvine, Dissertation, 2000. – Dissertation Committee: Professor Richard N. Taylor, Chair; Professor Mark S. Ackerman; Professor David S. Rosenblum
dc.relation.referencesGAMMA, Erich ; HELM, Richard ; JOHNSON, Ralph ; VLISSIDES, John: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional, 1994. – ISBN 9780201633612
dc.relation.referencesHARDT, D.: The OAuth 2.0 Authorization Framework. RFC 6749. https://tools.ietf.org/ rfc/rfc6749.txt. Version: October 2012
dc.relation.referencesHARDT, Dick: The OAuth 2.0 Authorization Framework. In: Internet Engineering Task Force (2012). – RFC 6749
dc.relation.referencesHEVNER, Alan R. ; MARCH, Salvatore T. ; PARK, Jinsoo ; RAM, Sudha: Design Science in Information Systems Research. In: MIS Quarterly 28 (2004), Nr. 1, S. 75–105
dc.relation.referencesHUSSAIN, F. ; HUSSAIN, R. ; NOYE, B. ; SHARIEH, S.: Enterprise API Security and GDPR Compliance: Design and Implementation Perspective. In: IT Professional 22 (2020), Sept.–Oct., Nr. 5, S. 81–89. http://dx.doi.org/10.1109/MITP.2020.2973852. – DOI 10.1109/MITP.2020.2973852
dc.relation.referencesJENSEN, Meiko ; GRUSCHKA, Nils ; HERKENHÖNER, Ralph: A Survey of Attacks on Web Services. In: Computer Science - Research and Development 24 (2009), Nr. 4, S. 185–197. http: //dx.doi.org/10.1007/s00450-007-0027-0. – DOI 10.1007/s00450–007–0027–0
dc.relation.referencesJOHNSON, Rod ; HOELLER, Juergen ; DONALD, Keith ; SAMPALEANU, Colin ; HARROP, Rob: Pro- fessional Java Development with the Spring Framework. Wrox Press, 2005. – ISBN 9780764574832
dc.relation.referencesJONES, M. ; BRADLEY, J. ; SAKIMURA, N.: JSON Web Signature (JWS). RFC 7515. https: //tools.ietf.org/rfc/rfc7515.txt. Version: May 2015
dc.relation.referencesJONES, M. ; BRADLEY, J. ; SAKIMURA, N.: JSON Web Token (JWT). RFC 7519. https://tools. ietf.org/rfc/rfc7519.txt. Version: May 2015
dc.relation.referencesMAGHRABI, Louai A.: The threats of data security over the Cloud as perceived by experts and university students. In: Proceedings of the 2014 World Symposium on Computer Applications & Research (WSCAR). Sousse, Tunisia, 2014, S. 1–6
dc.relation.referencesMALISOW, Ben: Cloud Application Security. Version: 2020. http://dx.doi.org/10. 1002/9781119603351.ch7. In: (ISC)² CCSP Certified Cloud Security Professional Official Study Guide. Wiley, 2020. – DOI 10.1002/9781119603351.ch7, S. 149–180
dc.relation.referencesMATHEW, G.: Elements of application security in the cloud computing environment. In: 2012 IEEE Conference on Open Systems. Kuala Lumpur, Malaysia, 2012, S. 1–6
dc.relation.referencesMULARIEN, Peter: Spring Security 3.1. Packt Publishing, 2012. – ISBN 9781849518260
dc.relation.referencesNATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY: (AES) / NIST. 2001 (FIPS PUB 197). – Forschungsbericht Advanced Encryption Standard
dc.relation.referencesNEWMAN, Sam: Building Microservices: Designing Fine-Grained Systems. O’Reilly Media, 2015. – ISBN 9781491950357
dc.relation.referencesOWASP FOUNDATION: OWASP API Security Top 10. https://owasp.org/ www-project-api-security/. Version: 2019
dc.relation.referencesRICHARDSON, Leonard ; AMUNDSEN, Mike ; RUBY, Sam: RESTful Web APIs. O’Reilly Media, 2013. – ISBN 9781449358068
dc.relation.referencesSCHNEIER, Bruce: Applied Cryptography: Protocols, Algorithms, and Source Code in C. 2nd. John Wiley & Sons, 2015. – ISBN 9781119096726
dc.relation.referencesSTUTTARD, Dafydd ; PINTO, Marcus: The Web Application Hacker’s Handbook: Finding and Ex- ploiting Security Flaws. 2nd. Wiley, 2011. – ISBN 9781118026472
dc.relation.referencesWALLS, Craig: Spring Boot in Action. 2nd. Manning Publications, 2018. – ISBN 9781617294136
dc.relation.referencesWU, Y.: Encryption of accounting data using DES algorithm in computing environment. In: Journal of Intelligent & Fuzzy Systems 39 (2020), Nr. 4, S. 5085–5095. http://dx.doi.org/ 10.3233/JIFS-179994. – DOI 10.3233/JIFS–179994
dc.relation.referencesYARYGINA, Tetiana ; BAGGE, Anya H.: Overcoming Security Challenges in Microservice Architectures. In: 2018 IEEE Symposium on Service-Oriented System Engineering (SOSE), IEEE, 2018, S. 11–20
dc.rights.accessrightsinfo:eu-repo/semantics/openAccess
dc.rights.licenseReconocimiento 4.0 Internacional
dc.rights.urihttp://creativecommons.org/licenses/by/4.0/
dc.subject.ddc000 - Ciencias de la computación, información y obras generales::004 - Procesamiento de datos Ciencia de los computadores
dc.subject.ddc000 - Ciencias de la computación, información y obras generales::001 - Conocimiento
dc.subject.ddc000 - Ciencias de la computación, información y obras generales::005 - Programación, programas, datos de computación
dc.subject.ddc000 - Ciencias de la computación, información y obras generales::006 - Métodos especiales de computación
dc.subject.lembMETADATOSspa
dc.subject.lembMetadataeng
dc.subject.lembPROCESAMIENTO ELECTRONICO DE DATOSspa
dc.subject.lembElectronic data processingeng
dc.subject.lembESTRUCTURA DE DATOS (COMPUTADORES)spa
dc.subject.lembData structure (computer science)eng
dc.subject.lembCIFRADO DE DATOS (INFORMATICA)spa
dc.subject.lembData encryption (computer science)eng
dc.subject.lembCRIPTOGRAFIAspa
dc.subject.lembCryptographyeng
dc.subject.lembSEGURIDAD EN COMPUTADORESspa
dc.subject.lembComputer securityeng
dc.subject.proposalAPIS RESTspa
dc.subject.proposalSeguridadspa
dc.subject.proposalJavaspa
dc.subject.proposalJWTspa
dc.subject.proposalCifrado digitalspa
dc.subject.proposalFirma digitalspa
dc.subject.proposalArquitectura de softwarespa
dc.subject.proposalREST APIspa
dc.subject.proposalSecurityeng
dc.subject.proposalJavaeng
dc.subject.proposalSpring Booteng
dc.subject.proposalDigital Encryptioneng
dc.subject.proposalDigital Encryptioneng
dc.subject.proposalDigital Signatureeng
dc.subject.proposalSoftware Architectureeng
dc.titleMétodo de seguridad para APIs REST, bajo enfoque API First, para el aseguramiento de la integridad y la validez de datos sensiblesspa
dc.title.translatedSecurity method for REST APIs, under an API-First approach, for ensuring the integrity and validity of sensitive dataeng
dc.typeTrabajo de grado - Maestría
dc.type.coarhttp://purl.org/coar/resource_type/c_bdcc
dc.type.coarversionhttp://purl.org/coar/version/c_ab4af688f83e57aa
dc.type.contentText
dc.type.driverinfo:eu-repo/semantics/masterThesis
dc.type.redcolhttp://purl.org/redcol/resource_type/TM
dc.type.versioninfo:eu-repo/semantics/acceptedVersion
dcterms.audience.professionaldevelopmentInvestigadores
dcterms.audience.professionaldevelopmentMaestros
dcterms.audience.professionaldevelopmentPúblico general
oaire.accessrightshttp://purl.org/coar/access_right/c_abf2

Archivos

Bloque original

Mostrando 1 - 1 de 1
Cargando...
Miniatura
Nombre:
TrabajoFinal_Maestria_1040051467_AndresGrisales.pdf
Tamaño:
1.46 MB
Formato:
Adobe Portable Document Format
Descripción:
Tesis de Maestría en Ingeniería - Ingeniería de Sistemas y Computación

Bloque de licencias

Mostrando 1 - 1 de 1
Cargando...
Miniatura
Nombre:
license.txt
Tamaño:
5.74 KB
Formato:
Item-specific license agreed upon to submission
Descripción: