Segurança no PagRN: Implementação do processo de autenticação e autorização usando OAuth 2.0 e programação orientada a aspectos
Autor(a) principal: | |
---|---|
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 |