Segurança no PagRN: Implementação do processo de autenticação e autorização usando OAuth 2.0 e programação orientada a aspectos

Detalhes bibliográficos
Autor(a) principal: Boussiengui, Pedro Henrique Wilfride de Lima
Data de Publicação: 2023
Tipo de documento: Trabalho de conclusão de curso
Idioma: por
Título da fonte: Repositório Institucional da UFRN
Texto Completo: https://repositorio.ufrn.br/handle/123456789/54873
Resumo: Em vários sistemas de software, a implementação de segurança referente a parte de autenticação e autorização pode ser um processo complexo, muitas das vezes devido aos requisitos de segurança demandada pela criticidade do sistema, como é o caso do PagRN. Nesse trabalho foi realizada a implementação do processo de autorização e de autenticação do sistema PagRN. Os objetivos da implementação foi criar um sistema de segurança robusto e modular que atendam os requisitos de segurança e lide com a complexidade das regras que estão atreladas a ela. Referente a parte de autenticação, foi usado o fluxo de protocolo do OAuth 2.0 como modelo de autorização e o software aberto Keycloak como servidor de autorização API do PagRN. Já para a parte de autorização foi utilizado as técnicas de programação orientada a aspectos com o intuito de criar módulos reutilizáveis e parametrizáveis que realizam uma tarefa específica e atuam interceptando os endpoints do sistema. A validações acerca da autenticação e autorização foram realizadas por meio de testes automatizados passando por todas as etapas, desde o login no sistema até o controle de acesso aos recursos. Devido a isso pode se concluir que os resultados estão dentro do esperado.
id UFRN_8b6de1e33c4c00d9147e1ecb8b3ca52d
oai_identifier_str oai:https://repositorio.ufrn.br:123456789/54873
network_acronym_str UFRN
network_name_str Repositório Institucional da UFRN
repository_id_str
spelling Boussiengui, Pedro Henrique Wilfride de Limahttp://lattes.cnpq.br/9188135362888819http://lattes.cnpq.br/0295503822342359Lima, Jean Mário Moreira dehttp://lattes.cnpq.br/7467476735834560Santos, Givanildo de Jesushttp://lattes.cnpq.br/4196618613530438Fontes, Ramon dos Reis2023-09-20T15:23:08Z2023-09-20T15:23:08Z2023-08-14BOUSSIENGUI, Pedro Henrique Wilfride de Lima. Segurança no PagRN: Implementação do processo de autenticação e autorização usando OAuth 2.0 e programação orientada a aspectos. 2023. 73 f. Trabalho de Conclusão de Curso (Especialização em Residência em Tecnologia da Informação) - Instituto Metrópole Digital, Universidade Federal do Rio Grande do Norte, Natal, 2023.https://repositorio.ufrn.br/handle/123456789/54873Em vários sistemas de software, a implementação de segurança referente a parte de autenticação e autorização pode ser um processo complexo, muitas das vezes devido aos requisitos de segurança demandada pela criticidade do sistema, como é o caso do PagRN. Nesse trabalho foi realizada a implementação do processo de autorização e de autenticação do sistema PagRN. Os objetivos da implementação foi criar um sistema de segurança robusto e modular que atendam os requisitos de segurança e lide com a complexidade das regras que estão atreladas a ela. Referente a parte de autenticação, foi usado o fluxo de protocolo do OAuth 2.0 como modelo de autorização e o software aberto Keycloak como servidor de autorização API do PagRN. Já para a parte de autorização foi utilizado as técnicas de programação orientada a aspectos com o intuito de criar módulos reutilizáveis e parametrizáveis que realizam uma tarefa específica e atuam interceptando os endpoints do sistema. A validações acerca da autenticação e autorização foram realizadas por meio de testes automatizados passando por todas as etapas, desde o login no sistema até o controle de acesso aos recursos. Devido a isso pode se concluir que os resultados estão dentro do esperado.In several software systems, implementing security for authentication and authorization can be a complex process, often due to the security requirements demanded by the criticality of the system, as is the case with PagRN. In this work, the implementation of the authorization and authentication process of the PagRN system was performed. The implementation aims to create a robust and modular security system that meets the security requirements and deals with the complexity of the rules associated with it. For authentication, the OAuth 2.0 protocol flow was used as the authorization model, and the open-source software Keycloak was used as the PagRN API authorization server. For authorization, aspect-oriented programming techniques were used to create reusable and parameterizable modules that perform specific tasks and intercept system endpoints. Validation of authentication and authorization was done through automated tests covering all stages, from system login to resoUniversidade Federal do Rio Grande do NorteEspecialização em Residência em Tecnologia da InformaçãoUFRNBrasilInstituto Metrópole DigitalAttribution-NonCommercial-NoDerivs 3.0 Brazilhttp://creativecommons.org/licenses/by-nc-nd/3.0/br/info:eu-repo/semantics/openAccessCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::ENGENHARIA DE SOFTWAREAutenticaçãoAutorizaçãoOAuth 2.0KeycloakProgramação orientada a aspectosSegurança no PagRN: Implementação do processo de autenticação e autorização usando OAuth 2.0 e programação orientada a aspectosinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisporreponame:Repositório Institucional da UFRNinstname:Universidade Federal do Rio Grande do Norte (UFRN)instacron:UFRNORIGINALfinal.pdffinal.pdfapplication/pdf1584819https://repositorio.ufrn.br/bitstream/123456789/54873/1/final.pdfd8d9a65adf823f3af6a96f3fdb55d214MD51CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8811https://repositorio.ufrn.br/bitstream/123456789/54873/2/license_rdfe39d27027a6cc9cb039ad269a5db8e34MD52LICENSElicense.txtlicense.txttext/plain; charset=utf-81484https://repositorio.ufrn.br/bitstream/123456789/54873/3/license.txte9597aa2854d128fd968be5edc8a28d9MD53123456789/548732023-09-20 12:23:10.53oai:https://repositorio.ufrn.br:123456789/54873Tk9OLUVYQ0xVU0lWRSBESVNUUklCVVRJT04gTElDRU5TRQoKCkJ5IHNpZ25pbmcgYW5kIGRlbGl2ZXJpbmcgdGhpcyBsaWNlbnNlLCBNci4gKGF1dGhvciBvciBjb3B5cmlnaHQgaG9sZGVyKToKCgphKSBHcmFudHMgdGhlIFVuaXZlcnNpZGFkZSBGZWRlcmFsIFJpbyBHcmFuZGUgZG8gTm9ydGUgdGhlIG5vbi1leGNsdXNpdmUgcmlnaHQgb2YKcmVwcm9kdWNlLCBjb252ZXJ0IChhcyBkZWZpbmVkIGJlbG93KSwgY29tbXVuaWNhdGUgYW5kIC8gb3IKZGlzdHJpYnV0ZSB0aGUgZGVsaXZlcmVkIGRvY3VtZW50IChpbmNsdWRpbmcgYWJzdHJhY3QgLyBhYnN0cmFjdCkgaW4KZGlnaXRhbCBvciBwcmludGVkIGZvcm1hdCBhbmQgaW4gYW55IG1lZGl1bS4KCmIpIERlY2xhcmVzIHRoYXQgdGhlIGRvY3VtZW50IHN1Ym1pdHRlZCBpcyBpdHMgb3JpZ2luYWwgd29yaywgYW5kIHRoYXQKeW91IGhhdmUgdGhlIHJpZ2h0IHRvIGdyYW50IHRoZSByaWdodHMgY29udGFpbmVkIGluIHRoaXMgbGljZW5zZS4gRGVjbGFyZXMKdGhhdCB0aGUgZGVsaXZlcnkgb2YgdGhlIGRvY3VtZW50IGRvZXMgbm90IGluZnJpbmdlLCBhcyBmYXIgYXMgaXQgaXMKdGhlIHJpZ2h0cyBvZiBhbnkgb3RoZXIgcGVyc29uIG9yIGVudGl0eS4KCmMpIElmIHRoZSBkb2N1bWVudCBkZWxpdmVyZWQgY29udGFpbnMgbWF0ZXJpYWwgd2hpY2ggZG9lcyBub3QKcmlnaHRzLCBkZWNsYXJlcyB0aGF0IGl0IGhhcyBvYnRhaW5lZCBhdXRob3JpemF0aW9uIGZyb20gdGhlIGhvbGRlciBvZiB0aGUKY29weXJpZ2h0IHRvIGdyYW50IHRoZSBVbml2ZXJzaWRhZGUgRmVkZXJhbCBkbyBSaW8gR3JhbmRlIGRvIE5vcnRlIHRoZSByaWdodHMgcmVxdWlyZWQgYnkgdGhpcyBsaWNlbnNlLCBhbmQgdGhhdCB0aGlzIG1hdGVyaWFsIHdob3NlIHJpZ2h0cyBhcmUgb2YKdGhpcmQgcGFydGllcyBpcyBjbGVhcmx5IGlkZW50aWZpZWQgYW5kIHJlY29nbml6ZWQgaW4gdGhlIHRleHQgb3IKY29udGVudCBvZiB0aGUgZG9jdW1lbnQgZGVsaXZlcmVkLgoKSWYgdGhlIGRvY3VtZW50IHN1Ym1pdHRlZCBpcyBiYXNlZCBvbiBmdW5kZWQgb3Igc3VwcG9ydGVkIHdvcmsKYnkgYW5vdGhlciBpbnN0aXR1dGlvbiBvdGhlciB0aGFuIHRoZSBVbml2ZXJzaWRhZGUgRmVkZXJhbCBkbyBSaW8gR3JhbmRlIGRvIE5vcnRlLCBkZWNsYXJlcyB0aGF0IGl0IGhhcyBmdWxmaWxsZWQgYW55IG9ibGlnYXRpb25zIHJlcXVpcmVkIGJ5IHRoZSByZXNwZWN0aXZlIGFncmVlbWVudCBvciBhZ3JlZW1lbnQuCgpUaGUgVW5pdmVyc2lkYWRlIEZlZGVyYWwgZG8gUmlvIEdyYW5kZSBkbyBOb3J0ZSB3aWxsIGNsZWFybHkgaWRlbnRpZnkgaXRzIG5hbWUgKHMpIGFzIHRoZSBhdXRob3IgKHMpIG9yIGhvbGRlciAocykgb2YgdGhlIGRvY3VtZW50J3MgcmlnaHRzCmRlbGl2ZXJlZCwgYW5kIHdpbGwgbm90IG1ha2UgYW55IGNoYW5nZXMsIG90aGVyIHRoYW4gdGhvc2UgcGVybWl0dGVkIGJ5CnRoaXMgbGljZW5zZQo=Repositório de PublicaçõesPUBhttp://repositorio.ufrn.br/oai/opendoar:2023-09-20T15:23:10Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN)false
dc.title.pt_BR.fl_str_mv Segurança no PagRN: Implementação do processo de autenticação e autorização usando OAuth 2.0 e programação orientada a aspectos
title Segurança no PagRN: Implementação do processo de autenticação e autorização usando OAuth 2.0 e programação orientada a aspectos
spellingShingle Segurança no PagRN: Implementação do processo de autenticação e autorização usando OAuth 2.0 e programação orientada a aspectos
Boussiengui, Pedro Henrique Wilfride de Lima
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::ENGENHARIA DE SOFTWARE
Autenticação
Autorização
OAuth 2.0
Keycloak
Programação orientada a aspectos
title_short Segurança no PagRN: Implementação do processo de autenticação e autorização usando OAuth 2.0 e programação orientada a aspectos
title_full Segurança no PagRN: Implementação do processo de autenticação e autorização usando OAuth 2.0 e programação orientada a aspectos
title_fullStr Segurança no PagRN: Implementação do processo de autenticação e autorização usando OAuth 2.0 e programação orientada a aspectos
title_full_unstemmed Segurança no PagRN: Implementação do processo de autenticação e autorização usando OAuth 2.0 e programação orientada a aspectos
title_sort Segurança no PagRN: Implementação do processo de autenticação e autorização usando OAuth 2.0 e programação orientada a aspectos
author Boussiengui, Pedro Henrique Wilfride de Lima
author_facet Boussiengui, Pedro Henrique Wilfride de Lima
author_role author
dc.contributor.authorLattes.pt_BR.fl_str_mv http://lattes.cnpq.br/9188135362888819
dc.contributor.advisorLattes.pt_BR.fl_str_mv http://lattes.cnpq.br/0295503822342359
dc.contributor.referees1.none.fl_str_mv Lima, Jean Mário Moreira de
dc.contributor.referees1Lattes.pt_BR.fl_str_mv http://lattes.cnpq.br/7467476735834560
dc.contributor.referees2.none.fl_str_mv Santos, Givanildo de Jesus
dc.contributor.referees2Lattes.pt_BR.fl_str_mv http://lattes.cnpq.br/4196618613530438
dc.contributor.author.fl_str_mv Boussiengui, Pedro Henrique Wilfride de Lima
dc.contributor.advisor1.fl_str_mv Fontes, Ramon dos Reis
contributor_str_mv Fontes, Ramon dos Reis
dc.subject.cnpq.fl_str_mv CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::ENGENHARIA DE SOFTWARE
topic CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::ENGENHARIA DE SOFTWARE
Autenticação
Autorização
OAuth 2.0
Keycloak
Programação orientada a aspectos
dc.subject.por.fl_str_mv Autenticação
Autorização
OAuth 2.0
Keycloak
Programação orientada a aspectos
description Em vários sistemas de software, a implementação de segurança referente a parte de autenticação e autorização pode ser um processo complexo, muitas das vezes devido aos requisitos de segurança demandada pela criticidade do sistema, como é o caso do PagRN. Nesse trabalho foi realizada a implementação do processo de autorização e de autenticação do sistema PagRN. Os objetivos da implementação foi criar um sistema de segurança robusto e modular que atendam os requisitos de segurança e lide com a complexidade das regras que estão atreladas a ela. Referente a parte de autenticação, foi usado o fluxo de protocolo do OAuth 2.0 como modelo de autorização e o software aberto Keycloak como servidor de autorização API do PagRN. Já para a parte de autorização foi utilizado as técnicas de programação orientada a aspectos com o intuito de criar módulos reutilizáveis e parametrizáveis que realizam uma tarefa específica e atuam interceptando os endpoints do sistema. A validações acerca da autenticação e autorização foram realizadas por meio de testes automatizados passando por todas as etapas, desde o login no sistema até o controle de acesso aos recursos. Devido a isso pode se concluir que os resultados estão dentro do esperado.
publishDate 2023
dc.date.accessioned.fl_str_mv 2023-09-20T15:23:08Z
dc.date.available.fl_str_mv 2023-09-20T15:23:08Z
dc.date.issued.fl_str_mv 2023-08-14
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/bachelorThesis
format bachelorThesis
status_str publishedVersion
dc.identifier.citation.fl_str_mv BOUSSIENGUI, Pedro Henrique Wilfride de Lima. Segurança no PagRN: Implementação do processo de autenticação e autorização usando OAuth 2.0 e programação orientada a aspectos. 2023. 73 f. Trabalho de Conclusão de Curso (Especialização em Residência em Tecnologia da Informação) - Instituto Metrópole Digital, Universidade Federal do Rio Grande do Norte, Natal, 2023.
dc.identifier.uri.fl_str_mv https://repositorio.ufrn.br/handle/123456789/54873
identifier_str_mv BOUSSIENGUI, Pedro Henrique Wilfride de Lima. Segurança no PagRN: Implementação do processo de autenticação e autorização usando OAuth 2.0 e programação orientada a aspectos. 2023. 73 f. Trabalho de Conclusão de Curso (Especialização em Residência em Tecnologia da Informação) - Instituto Metrópole Digital, Universidade Federal do Rio Grande do Norte, Natal, 2023.
url https://repositorio.ufrn.br/handle/123456789/54873
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal do Rio Grande do Norte
dc.publisher.program.fl_str_mv Especialização em Residência em Tecnologia da Informação
dc.publisher.initials.fl_str_mv UFRN
dc.publisher.country.fl_str_mv Brasil
dc.publisher.department.fl_str_mv Instituto Metrópole Digital
publisher.none.fl_str_mv Universidade Federal do Rio Grande do Norte
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFRN
instname:Universidade Federal do Rio Grande do Norte (UFRN)
instacron:UFRN
instname_str Universidade Federal do Rio Grande do Norte (UFRN)
instacron_str UFRN
institution UFRN
reponame_str Repositório Institucional da UFRN
collection Repositório Institucional da UFRN
bitstream.url.fl_str_mv https://repositorio.ufrn.br/bitstream/123456789/54873/1/final.pdf
https://repositorio.ufrn.br/bitstream/123456789/54873/2/license_rdf
https://repositorio.ufrn.br/bitstream/123456789/54873/3/license.txt
bitstream.checksum.fl_str_mv d8d9a65adf823f3af6a96f3fdb55d214
e39d27027a6cc9cb039ad269a5db8e34
e9597aa2854d128fd968be5edc8a28d9
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN)
repository.mail.fl_str_mv
_version_ 1802117628644294656