Abstract
El paso del tiempo y el crecimiento exponencial de la tecnología, han provocado que muchos de los procedimientos manuales llevados a cabo en las organizaciones se hayan visto adaptados de tal manera que sean accesibles desde un programa informático o desde internet, debido a que la digitalización se ha convertido en un requisito actualmente. Puesto que en la mayoría de las ocasiones estos servicios publicados en una red, como puede ser internet, solo deben ser accesibles para un usuario o conjunto de usuarios concretos, surge la necesidad de identificar a las personas antes de poder acceder a ellos. Estos sistemas de identificación han evolucionado adaptándose a las nuevas tecnologías y se han convertido en un servicio imprescindible para cualquier organización. Es por ello y debido a la creciente demanda que está habiendo en el sector de los servicios de internet, que el presente trabajo con el que se concluye el Grado de Ingeniería Informática, se enmarca dentro de los mecanismos de identidad digital y concretamente, en los sistemas de autenticación única (Single SignOn) y la gestión de identidades. La idea del proyecto consiste en la elaboración de una plataforma que unifique tres herramientas diferentes de código abierto integradas entre sí y ofrezca al usuario la capacidad de acceder a diferentes servicios para gestionar las identidades de otros usuarios dentro de una misma aplicación y cuyo acceso esté unificado en un inicio de sesión único. Todo ello siguiendo los flujos de los protocolos de seguridad estándar del sector, OAuth 2.0 y OpenID Connect. Para ello, a lo largo del documento se explicará el mecanismo a través del cual el sistema Single Sign-On basado en la tecnología Open-Source CAS (Central Authentication Service), es capaz de gestionar los accesos a diferentes aplicaciones, autorizando y/o denegando cuando proceda, e identificando en todo momento al usuario que accede a través de la gestión de su cookie de sesión. También se describe todo el proceso de diseño de una arquitectura base, partiendo desde cero e indicando todos los elementos necesarios, la cual permita desplegar e integrar las diferentes herramientas de código abierto elegidas y el desarrollo de una aplicación prototipo basada en el modelo vistacontrolador donde se puede comprobar el correcto funcionamiento de esta integración a través de un servicio de gestión de identidades.---ABSTRACT---Over time and due to the exponential growth of technology, many of the manual procedures carried out in organizations have been adapted in such ways that they have become accessible from a computer program or the Internet because digitization is a requirement nowadays. Since in most cases these services published on a network, such as the Internet, should only be accessible to a specific user or group of users, the need arises to identify people before being able to get access to them. These identification systems have evolved adapting to new technologies, becoming an essential service for any organization. It is for this reason and because of the growing demand that is taking place in the internet services industry, that this essay which the Computer Engineering Degree is concluded with, is framed within the mechanisms of digital identity, and more specifically the single authentication systems (Single Sign-On) and identity management. The idea of the project is to develop a platform that unifies three integrated open source tools, offering the user the ability to access different services in order to manage the identities of other users within the same application and whose access is unified in a single sign-on. All of this is to be achieved by following the flows of the industry-standard security protocols, OAuth 2.0 and OpenID Connect. To this end, throughout the document I will explain the mechanism by wich the Single Sign-On system, based on Open-Source CAS (Central Authentication Service) technology, is capable of managing access to different applications, authorizing and/or denying when appropriate, and also identifying at all times the user who accesses through the management of their session cookie. The entire design process of a base architecture is also described, starting from scratch, indicating all the necessary elements, which allows the deployment and integration of the chosen open source tools and the development of a prototype application based on the view-controller model that gives the possibility to check the proper functioning of this integration through an identity management service.