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.advisor | Vergara Vargas, Jeisson Andrés | |
| dc.contributor.author | Grisales González, Andrés | |
| dc.contributor.orcid | Grisales González, Andres [0009000645661752] | |
| dc.contributor.researchgroup | Colectivo de Investigación en Ingeniería de Software Colswe | |
| dc.date.accessioned | 2025-11-24T12:32:08Z | |
| dc.date.available | 2025-11-24T12:32:08Z | |
| dc.date.issued | 2025 | |
| dc.description | ilustraciones, diagramas, tablas | spa |
| dc.description.abstract | Este 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.abstract | This 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.degreelevel | Maestría | |
| dc.description.degreename | Magíster en Ingeniería - Ingeniería de Sistemas y Computación | |
| dc.description.methods | La 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.researcharea | Ingeniería de Software | |
| dc.description.researcharea | Arquitectura de Software | |
| dc.description.technicalinfo | El 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.extent | xv, 101 páginas | |
| dc.format.mimetype | application/pdf | |
| dc.identifier.instname | Universidad Nacional de Colombia | spa |
| dc.identifier.reponame | Repositorio Institucional Universidad Nacional de Colombia | spa |
| dc.identifier.repourl | https://repositorio.unal.edu.co/ | spa |
| dc.identifier.uri | https://repositorio.unal.edu.co/handle/unal/89143 | |
| dc.language.iso | spa | |
| dc.publisher | Universidad Nacional de Colombia | |
| dc.publisher.branch | Universidad Nacional de Colombia - Sede Bogotá | |
| dc.publisher.faculty | Facultad de Ingeniería | |
| dc.publisher.place | Bogotá, Colombia | |
| dc.publisher.program | Bogotá - Ingeniería - Maestría en Ingeniería - Ingeniería de Sistemas y Computación | |
| dc.relation.references | ARCURI, 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.references | ASHRAF, 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.references | BASS, Len ; CLEMENTS, Paul ; KAZMAN, Rick: Software Architecture in Practice. 3rd. Addison- Wesley Professional, 2012. – ISBN 9780321815736 | |
| dc.relation.references | CASAS, 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.references | FIELDING, 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.references | GAMMA, Erich ; HELM, Richard ; JOHNSON, Ralph ; VLISSIDES, John: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional, 1994. – ISBN 9780201633612 | |
| dc.relation.references | HARDT, D.: The OAuth 2.0 Authorization Framework. RFC 6749. https://tools.ietf.org/ rfc/rfc6749.txt. Version: October 2012 | |
| dc.relation.references | HARDT, Dick: The OAuth 2.0 Authorization Framework. In: Internet Engineering Task Force (2012). – RFC 6749 | |
| dc.relation.references | HEVNER, 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.references | HUSSAIN, 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.references | JENSEN, 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.references | JOHNSON, Rod ; HOELLER, Juergen ; DONALD, Keith ; SAMPALEANU, Colin ; HARROP, Rob: Pro- fessional Java Development with the Spring Framework. Wrox Press, 2005. – ISBN 9780764574832 | |
| dc.relation.references | JONES, M. ; BRADLEY, J. ; SAKIMURA, N.: JSON Web Signature (JWS). RFC 7515. https: //tools.ietf.org/rfc/rfc7515.txt. Version: May 2015 | |
| dc.relation.references | JONES, M. ; BRADLEY, J. ; SAKIMURA, N.: JSON Web Token (JWT). RFC 7519. https://tools. ietf.org/rfc/rfc7519.txt. Version: May 2015 | |
| dc.relation.references | MAGHRABI, 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.references | MALISOW, 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.references | MATHEW, 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.references | MULARIEN, Peter: Spring Security 3.1. Packt Publishing, 2012. – ISBN 9781849518260 | |
| dc.relation.references | NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY: (AES) / NIST. 2001 (FIPS PUB 197). – Forschungsbericht Advanced Encryption Standard | |
| dc.relation.references | NEWMAN, Sam: Building Microservices: Designing Fine-Grained Systems. O’Reilly Media, 2015. – ISBN 9781491950357 | |
| dc.relation.references | OWASP FOUNDATION: OWASP API Security Top 10. https://owasp.org/ www-project-api-security/. Version: 2019 | |
| dc.relation.references | RICHARDSON, Leonard ; AMUNDSEN, Mike ; RUBY, Sam: RESTful Web APIs. O’Reilly Media, 2013. – ISBN 9781449358068 | |
| dc.relation.references | SCHNEIER, Bruce: Applied Cryptography: Protocols, Algorithms, and Source Code in C. 2nd. John Wiley & Sons, 2015. – ISBN 9781119096726 | |
| dc.relation.references | STUTTARD, Dafydd ; PINTO, Marcus: The Web Application Hacker’s Handbook: Finding and Ex- ploiting Security Flaws. 2nd. Wiley, 2011. – ISBN 9781118026472 | |
| dc.relation.references | WALLS, Craig: Spring Boot in Action. 2nd. Manning Publications, 2018. – ISBN 9781617294136 | |
| dc.relation.references | WU, 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.references | YARYGINA, 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.accessrights | info:eu-repo/semantics/openAccess | |
| dc.rights.license | Reconocimiento 4.0 Internacional | |
| dc.rights.uri | http://creativecommons.org/licenses/by/4.0/ | |
| dc.subject.ddc | 000 - Ciencias de la computación, información y obras generales::004 - Procesamiento de datos Ciencia de los computadores | |
| dc.subject.ddc | 000 - Ciencias de la computación, información y obras generales::001 - Conocimiento | |
| dc.subject.ddc | 000 - Ciencias de la computación, información y obras generales::005 - Programación, programas, datos de computación | |
| dc.subject.ddc | 000 - Ciencias de la computación, información y obras generales::006 - Métodos especiales de computación | |
| dc.subject.lemb | METADATOS | spa |
| dc.subject.lemb | Metadata | eng |
| dc.subject.lemb | PROCESAMIENTO ELECTRONICO DE DATOS | spa |
| dc.subject.lemb | Electronic data processing | eng |
| dc.subject.lemb | ESTRUCTURA DE DATOS (COMPUTADORES) | spa |
| dc.subject.lemb | Data structure (computer science) | eng |
| dc.subject.lemb | CIFRADO DE DATOS (INFORMATICA) | spa |
| dc.subject.lemb | Data encryption (computer science) | eng |
| dc.subject.lemb | CRIPTOGRAFIA | spa |
| dc.subject.lemb | Cryptography | eng |
| dc.subject.lemb | SEGURIDAD EN COMPUTADORES | spa |
| dc.subject.lemb | Computer security | eng |
| dc.subject.proposal | APIS REST | spa |
| dc.subject.proposal | Seguridad | spa |
| dc.subject.proposal | Java | spa |
| dc.subject.proposal | JWT | spa |
| dc.subject.proposal | Cifrado digital | spa |
| dc.subject.proposal | Firma digital | spa |
| dc.subject.proposal | Arquitectura de software | spa |
| dc.subject.proposal | REST API | spa |
| dc.subject.proposal | Security | eng |
| dc.subject.proposal | Java | eng |
| dc.subject.proposal | Spring Boot | eng |
| dc.subject.proposal | Digital Encryption | eng |
| dc.subject.proposal | Digital Encryption | eng |
| dc.subject.proposal | Digital Signature | eng |
| dc.subject.proposal | Software Architecture | eng |
| dc.title | Método de seguridad para APIs REST, bajo enfoque API First, para el aseguramiento de la integridad y la validez de datos sensibles | spa |
| dc.title.translated | Security method for REST APIs, under an API-First approach, for ensuring the integrity and validity of sensitive data | eng |
| dc.type | Trabajo de grado - Maestría | |
| dc.type.coar | http://purl.org/coar/resource_type/c_bdcc | |
| dc.type.coarversion | http://purl.org/coar/version/c_ab4af688f83e57aa | |
| dc.type.content | Text | |
| dc.type.driver | info:eu-repo/semantics/masterThesis | |
| dc.type.redcol | http://purl.org/redcol/resource_type/TM | |
| dc.type.version | info:eu-repo/semantics/acceptedVersion | |
| dcterms.audience.professionaldevelopment | Investigadores | |
| dcterms.audience.professionaldevelopment | Maestros | |
| dcterms.audience.professionaldevelopment | Público general | |
| oaire.accessrights | http://purl.org/coar/access_right/c_abf2 |
Archivos
Bloque original
1 - 1 de 1
Cargando...
- 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
1 - 1 de 1
Cargando...
- Nombre:
- license.txt
- Tamaño:
- 5.74 KB
- Formato:
- Item-specific license agreed upon to submission
- Descripción:

