Prévia do material em texto
Pró-Reitoria Acadêmica Escola de Educação, Tecnologia e Comunicação Curso de Bacharelado em Engenharia de Software Trabalho de Disciplina de Modelagem de Banco de Dados Gerenciamento e Autenticação de Senhas Autor:Arthur Carneiro da Rocha Menezes Orientador: Prof. Oscar Galdino de Oliveira Junior Brasília - DF 2024 ARTHUR CARNEIRO DA ROCHA MENEZES Gerenciamento e Autenticação de Senhas Documento apresentado ao Curso de graduação de Bacharelado em Engenharia de Software da Universidade Católica de Brasília, como requisito parcial para obtenção da aprovação na disciplina de Banco de Dados. Orientador: Prof. Oscar Galdino de Oliveira Junior Brasília 2024 LISTA DE FIGURAS Figura 1 - Diagrama de Casos de Uso de Software. 24 Figura 2 - Tela de criação de novo projeto. 25 Figura 3 - MER: Modelo de Entidade-Relacionamento. 26 Figura 4 - MFD: Modelo Físico de Dados. 27 SUMÁRIO RESUMO 3 ABSTRACT 4 LISTA DE FIGURAS 5 LISTA DE TABELAS 6 LISTA DE QUADROS 7 LISTA DE GRÁFICOS 8 1 INTRODUÇÃO 11 1.1 DIAGNÓSTICO DA EMPRESA / TEMA 11 2 OBJETIVOS 12 2.1 OBJETIVO GERAL 12 2.2 OBJETIVOS ESPECÍFICOS 12 3 DOCUMENTO DE VISÃO 13 1. INTRODUÇÃO 13 2. POSICIONAMENTO 13 2.1 DESCRIÇÃO DO PROBLEMA 13 2.2 SENTENÇA DE POSIÇÃO DO PRODUTO 14 3. DESCRIÇÕES DOS ENVOLVIDOS E DOS USUÁRIOS 14 3.1 RESUMO DOS ENVOLVIDOS 14 3.2 RESUMO DOS USUÁRIOS 15 4. VISÃO GERAL DO PRODUTO 15 4.1 NECESSIDADES E FUNCIONALIDADES 16 5. OUTROS REQUISITOS DO PRODUTO 16 4 PROPOSTA DO SISTEMA 17 4.1 DESCRIÇÃO DO SISTEMA PROPOSTO 17 4.2 RESULTADOS ESPERADOS 17 4.3 RELAÇÃO CUSTO X BENEFÍCIO: ANÁLISE DA VIABILIDADE ECONÔMICA DO NOVO SISTEMA 18 4.4 ÁREAS AFETADAS PELO NOVO SISTEMA: ÓRGÃOS OU FUNÇÕES ALTERADAS PELO SISTEMA. ESPECIFICAR AS ALTERAÇÕES PREVISTAS 18 5 FERRAMENTAS UTILIZADAS 19 6 ANÁLISE DE NEGÓCIO 20 6.1 REGRAS DE NEGÓCIO 20 7 ANÁLISE DE SISTEMAS 21 7.1 DESCRIÇÃO DAS CARACTERÍSTICAS DO SISTEMA 21 8 ANÁLISE DE REQUISITOS 22 8.1 REQUISITOS FUNCIONAIS 22 8.2 REQUISITOS NÃO-FUNCIONAIS 22 8.3 DIAGRAMA DE CASOS DE USO DA SOLUÇÃO 22 8.3.1 Visão Geral dos Casos de Uso e Atores 22 9 MODELAGEM DO BANCO DE DADOS 25 9.1 MODELO CONCEITUAL DE DADOS (MODELO ENTIDADE RELACIONAMENTO) 25 9.2 MODELO FÍSICO DE DADOS 26 9.3 SCHEMA DO BANCO DE DADOS (SCRIPT) 26 9.4 DICIONÁRIO DE DADOS (SE A FERRAMENTA CASE UTILIZADA GERAR) 26 10 CONCLUSÃO 29 REFERÊNCIAS (SE FOR USADA NO TRABALHO) 30 1 INTRODUÇÃO A maior das funções da tecnologia nas organizações é sua capacidade de gestão de dados e processos, com isso pode se executar as tarefas mais rapidamente, com mais agilidade e consequentemente gerando mais produtividade. Em qualquer sistema é necessário a autenticação e gerenciamento de senhas, sendo uma das tarefas mais complexas e importantes de se fazer, o sistema o ajuda a criar senhas e gerenciá-las com mais facilidade, utilizando de métodos e boas práticas. A proposta do trabalho é passar informações sobre boas práticas de gerenciamento de senha, seus métodos e como autenticá-las, informar como as senhas podem ser descobertas e quais são os perigos caso ocorra. O motivo da escolha do tema foi devido ao meu interesse pela área de segurança da informação, especificamente o quão frágil são as senhas, como são importantes e poder que uma senha tem de carregar informações. 1.1 DIAGNÓSTICO DA EMPRESA / TEMA A área necessita do produto devido a inúmeros roubos de dados, a segurança das empresas e usuários é a questão mais importante ao se por dados na Internet, o produto será um facilitador para este meio. 2 OBJETIVOS Ensinar boas práticas e métodos de segurança, quais são os riscos e as possíveis consequências de se ter um vazamento de dados, facilitar o gerenciamento de senhas e indicar 2.1 OBJETIVO GERAL O objetivo geral deste trabalho é desenvolver um sistema de gerenciamento e autenticação de senhas que seja eficiente, seguro e fácil de usar. Este sistema deve ser capaz de auxiliar as organizações a protegerem seus dados sensíveis, garantindo a segurança das informações através da implementação de boas práticas e métodos avançados de autenticação. 2.2 OBJETIVOS ESPECÍFICOS O objetivo geral deste trabalho é desenvolver um sistema de gerenciamento e autenticação de senhas que seja eficiente, seguro e fácil de usar. Este sistema deve ser capaz de auxiliar as organizações a protegerem seus dados sensíveis, garantindo a segurança das informações através da implementação de boas práticas e métodos avançados de autenticação. 3 PROPOSTA DO SISTEMA A seguir será apresentada a proposta do sistema, visando detalhar os principais pontos a serem seguidos. 3.1 DESCRIÇÃO DO SISTEMA PROPOSTO O sistema descrito neste documento irá atender às necessidades de gerenciamento e autenticação de senhas em organizações, com funcionalidades voltadas para usuários, administradores de TI e profissionais de segurança da informação. Este sistema diferencia-se dos demais concorrentes ao oferecer uma abordagem abrangente e integrada para a criação, armazenamento, autenticação e monitoramento de senhas, proporcionando uma solução completa que atende às exigências de segurança das empresas modernas. Uma das principais funcionalidades do sistema é o gerador de senhas, que permite aos usuários criar senhas fortes e seguras de forma automática. Este gerador seguirá as melhores práticas de segurança, garantindo que as senhas criadas sejam complexas, combinando letras maiúsculas e minúsculas, números e caracteres especiais. Além disso, o sistema oferecerá sugestões de boas práticas na criação de senhas, educando os usuários sobre a importância de senhas seguras. 3.2 RESULTADOS ESPERADOS Com a implantação do sistema de gerenciamento e autenticação de senhas, esperam-se os seguintes resultados: 1. Melhoria na Segurança de Senhas: · Redução significativa do número de incidentes relacionados a senhas comprometidas, graças à implementação de senhas fortes e práticas de segurança avançadas. · Adoção de métodos de autenticação multifator (MFA) e biometria, aumentando a dificuldade para acessos não autorizados e reforçando a segurança das informações. 2. Aumento da Produtividade e Eficiência: · Simplificação do processo de criação e gerenciamento de senhas, permitindo que os usuários economizem tempo e se concentrem em suas atividades principais. · Facilitação do acesso a contas e sistemas sem a necessidade de lembrar múltiplas senhas complexas, graças ao armazenamento seguro no cofre digital. 3. Conformidade com Normas e Regulamentos: · Alinhamento com padrões internacionais de segurança da informação, como ISO/IEC 27001 e GDPR, assegurando que o sistema esteja em conformidade com as exigências legais e regulatórias. 4. Educação e Conscientização dos Usuários: · Aumento da conscientização dos usuários sobre a importância da segurança de senhas e as melhores práticas a serem adotadas, através de materiais educacionais, tutoriais e dicas de segurança integrados ao sistema. · Capacitação dos usuários para criar e gerenciar senhas de forma mais segura, reduzindo o risco de erros humanos que possam comprometer a segurança. 5. Melhoria na Gestão de Recursos de TI: · Redução da carga de trabalho dos administradores de TI, através de funcionalidades automatizadas de gerenciamento e recuperação de senhas, permitindo que se concentrem em tarefas estratégicas de segurança. · Melhor organização e controle de acessos, facilitando a administração e o suporte técnico. 6. Aumento da Satisfação e Confiança dos Usuários: · Maior comodidade e facilidade de uso do sistema, resultando em uma experiência positiva para os usuários. · Aumento da confiança dos usuários na segurança das suas informações, graças à robustez e confiabilidade do sistema de gerenciamento e autenticação de senhas. 4 FERRAMENTAS UTILIZADAS No desenvolvimento desse projeto foi utilizado linguagens e frameworks Javascript, Node.js e React no desenvolvimento deste projeto. O banco de dados utilizado foi o PostgreSQL, configurado em um ambiente na AWS, utilizando o API Gateway e Lambdaspara consultas e gerenciamento dos dados armazenados. 5 ANÁLISE DE NEGÓCIO Neste capítulo será descrito, através de diagramas e especificações, o processo do negócio em que o software em questão será inserido, sendo estes o diagrama do modelo de caso de uso de negócio, diagrama do modelo de classes do negócio, e, por fim, o diagrama de atividades. 5.1 REGRAS DE NEGÓCIO Número Nome Descrição Setor RN1 Criação de Senhas Fortes Todas as senhas criadas no sistema devem seguir critérios de complexidade, incluindo pelo menos 8 caracteres, letras maiúsculas e minúsculas, números e caracteres especiais. Segurança da Informação RN2 Armazenamento Seguro de Senhas Todas as senhas devem ser armazenadas no banco de dados utilizando criptografia avançada. Segurança da Informação RN3 Autenticação Multifator (MFA) O sistema deve exigir autenticação multifator para acessar áreas sensíveis ou realizar ações críticas, combinando senha, dispositivo móvel e biometria. Segurança da Informação RN4 Recuperação de Senhas O sistema deve oferecer um processo seguro para recuperação de senhas, incluindo verificação de identidade por meio de email, SMS ou perguntas de segurança. Suporte Técnico RN5 Testes de Penetração Regulares O sistema deve ser submetido a testes de penetração periódicos para identificar e corrigir vulnerabilidades de segurança. Segurança da Informação RN6 Conformidade com Normas e Regulamentos O sistema deve estar em conformidade com normas internacionais de segurança, como ISO/IEC 27001 e GDPR, assegurando que todas as práticas estejam alinhadas com as exigências legais. Segurança da Informação RN7 Educação de Usuários O sistema deve fornecer materiais educacionais e dicas de segurança para os usuários, aumentando a conscientização sobre a importância da segurança de senhas. Recursos Humanos / Treinamento RN8 Gestão de Permissões O sistema deve permitir a definição de níveis de acesso e permissões para diferentes tipos de usuários, garantindo que apenas indivíduos autorizados possam acessar ou modificar informações sensíveis. Administração de TI RN9 Suporte a Dispositivos Móveis O sistema deve ser compatível com dispositivos móveis, permitindo que os usuários acessem e gerenciem suas senhas de qualquer lugar com segurança. Desenvolvimento de Software 6 ANÁLISE DE REQUISITOS A análise de requisitos é uma etapa fundamental no processo de desenvolvimento de software, onde são identificadas, documentadas e analisadas as necessidades e expectativas dos usuários e stakeholders em relação ao sistema a ser desenvolvido. Esta análise é essencial para garantir que o sistema atenda aos requisitos de negócio e às expectativas dos usuários finais. 6.1 REQUISITOS FUNCIONAIS Os requisitos funcionais descrevem as funcionalidades específicas que o sistema deve oferecer, ou seja, o que o sistema deve fazer. Eles detalham as principais características e comportamentos do sistema, incluindo operações, serviços e interações com os usuários. Número Requisitos Funcionais RN RF1 Gerador de Senhas Fortes 1 RF2 Armazenamento Seguro de Senhas 2 Rf3 Autenticação Multifator (MFA) 3 RF4 Recuperação de Senhas 4 RF5 Testes de Penetração Regulares 5 RF6 Conformidade com Normas e Regulamentos 6 RF7 Educação de Usuários 7 RF8 Gestão de Permissões 8 RF9 Suporte a Dispositivos Móveis 9 6.2 REQUISITOS NÃO-FUNCIONAIS Os requisitos não funcionais descrevem as características não relacionadas diretamente com as funcionalidades específicas do sistema, mas sim com suas qualidades globais, como desempenho, segurança, usabilidade, confiabilidade e escalabilidade. Número Requisitos Não-Funcionais RF RNF1 O sistema deve garantir a segurança das informações armazenadas, transmitidas e processadas, protegendo contra acessos não autorizados, ataques cibernéticos e vazamentos de dados. RF’s:2,3,5,6,7e 10. RNF2 O sistema deve ser intuitivo e fácil de usar, proporcionando uma experiência amigável para o usuário final, com interfaces claras, instruções acessíveis e fluxos de trabalho simplificados RNF3 O sistema deve ser capaz de lidar com um grande volume de requisições simultâneas de forma eficiente, garantindo tempos de resposta rápidos e minimizando a latência. Todos os RF’s RNF4 O sistema deve ser altamente confiável e disponível, minimizando o tempo de inatividade e garantindo a integridade e consistência dos dados em todas as circunstâncias RF10 RNF5 O sistema deve ser capaz de escalar horizontal e verticalmente para atender às demandas crescentes de usuários e volume de dados sem comprometer o desempenho ou a disponibilidade RF9 RNF6 O sistema deve estar em conformidade com todas as normas, regulamentos e padrões relevantes de segurança da informação e proteção de dados. RF6 RNF7 Usuabilidade RF7 RNF8 O sistema deve ser capaz de escalar horizontal e verticalmente para atender às demandas crescentes de usuários e volume de dados sem comprometer o desempenho ou a disponibilidade RF8 RNF9 Usuabilidade RF9 6.3 DIAGRAMA DE CASOS DE USO DA SOLUÇÃO < um texto que descreva este capítulo e seu conteúdo > <desenho> Nesta seção serão definidos os modelos de casos de uso. Primeiramente será mostrada uma visão geral dos casos de uso que definem as funcionalidades do sistema, com seus respectivos atores. Posteriormente será feita a descrição de cada caso de uso que deverá ser implementado no sistema. 6.3.1 Visão Geral dos Casos de Uso e Atores A Figura 1 a seguir será apresentado o Diagrama de Casos de Uso de Software com a visão de cada ator do sistema, síndico, subsíndico, condômino e contador, abrangendo assim todas as funcionalidades previstas para a implementação. Figura 1 - Diagrama de Casos de Uso de Software. Fonte: Elaboração própria, 2021. 6.3.1.1.1 Histórias de Usuário Identificação da história Número: 001 Nome: Tela de Login Descrição: Como um usuário, quero fazer login no sistema para acessar minhas informações de forma segura. Critérios de aceitação Nº Descrição CA1 O sistema deve permitir ao usuário inserir o nome de usuário e senha em campos apropriados. CA2 O sistema deve validar as credenciais inseridas com as informações armazenadas no banco de dados. CA3 Caso as credenciais sejam válidas, o sistema deve redirecionar o usuário para a página principal do sistema. CA4 Caso as credenciais sejam inválidas, o sistema deve exibir uma mensagem de erro indicando que o nome de usuário ou a senha estão incorretos. Especificação de tela Imagem do protótipo Campos da tela Label Nome do campo Tipo de dado Tamanho Obrigatório Máscara Regra vinculada Observações Quadrante 1 - Dados Nome de usuário Nome de usuário Alfanumérico 50 [SIM] N/A RN001, RN002 N/A Senha Senha Alfanumérico 20 [SIM] N/A RN003 N/A Botão de Ação Login Botão para submeter o login Botão de Ação N/A [SIM] N/A RN004 N/A 1.1 Regras de apresentação (RAP) ID Regra Descrição da regra Itens relacionados RAP001 Login O botão de login deve estar desativado até que ambos os campos sejam preenchidos Nome de usuário, Senha, Botão de Ação Login Identificação da história Número: 002 Nome: Recuperação de Senha Descrição: Como um usuário, quero recuperar minha senha para acessar o sistema caso eu a esqueça. Critérios de aceitação Nº Descrição CA1 O sistema deve permitir ao usuário inserir seu endereço de e-mail registrado. CA2 O sistema deve enviar um e-mail de recuperação com um link para redefinição de senha. CA3 O link de redefinição deve redirecionar o usuário para uma página onde ele pode definir uma nova senha. CA4 A nova senha deve ser validada e confirmada antes de ser atualizada no sistema. Especificação de tela Imagem do protótipo Campos da tela Label Nome do campo Tipo de dado Tamanho Obrigatório Máscara Regra vinculada Observações Tela 2 - Esqueci minha senha Email Endereço de e-mail do usuárioAlfanumérico 100 [SIM] N/A RN005 N/A Botão de Ação Enviar Botão para enviar email Botão de Ação N/A [SIM] N/A RN006 N/A 1.2 Regras de apresentação (RAP) ID Regra Descrição da regra Itens relacionados RAP001 Recuperação de SEnha O botão de enviar deve estar desativado até que o campo de e-mail seja preenchido E-mail, Botão de Ação Enviar A tela de recuperação de senha deve ser acessível a partir de um link "Esqueci minha senha" na tela de login. Identificação da história Número: 003 Nome: Registro Descrição: Como um novo usuário, quero me registrar no sistema para criar uma conta e poder acessar suas funcionalidades. Nº Descrição CA1 O sistema deve permitir ao usuário inserir seus dados pessoais, incluindo nome, e-mail, e senha. CA2 O sistema deve validar o e-mail inserido para garantir que não haja duplicidade de registros. CA3 O sistema deve confirmar a criação da conta enviando um e-mail de verificação ao usuário. CA4 A conta deve ser ativada somente após o usuário clicar no link de verificação enviado para o seu e-mail. Especificação de tela Imagem do protótipo Campos da tela Label Nome do campo Tipo de dado Tamanho Obrigatório Máscara Regra vinculada Observações Tela 3 - Tela de registro Nome Endereço de e-mail do usuário Alfanumérico 70 [SIM] N/A RN004 N/A E-mail Botão para enviar email Alfanumérico 100 [SIM] N/A RN004 N/A Senha Senha do usuário Alfanumérico 20 RN006 Confirmar Senha Confirmação da senha do usuário Alfanumérico 20 RN006 Botão de Ação Registrar Botão para registrar a conta Botão de Ação N/A RN008 1.3 Regras de apresentação (RAP) ID Regra Descrição da regra Itens relacionados RAP003 Registro O botão de registrar deve estar desativado até que todos os campos obrigatórios sejam preenchidos e as senhas coincidam Nome, E-mail, Senha, Confirmar Senha, Botão de Ação Registrar A tela de registro deve ser acessível a partir de um link "Registrar" na tela de login. 7 CONCLUSÃO Este trabalho desenvolveu uma documentação completa para um sistema de gerenciamento de senhas, cobrindo desde os requisitos até as histórias de usuário para login, recuperação de senha e registro de novo usuário. Objetivos Atendidos: 1. Requisitos: · Definição clara das necessidades dos usuários e funcionalidades do sistema. 2. Histórias de Usuário: · Criação de histórias detalhadas para login, recuperação de senha e registro. 3. Critérios de Aceitação: · Estabelecimento de critérios claros para validar as funcionalidades. 4. Especificações de Campos e Regras: · Detalhamento das telas com campos, tipos de dados, obrigatoriedade e regras. Resultados Atingidos: · Login Seguro: · Validação segura das credenciais de usuário. · Recuperação de Senha Eficaz: · Processo seguro de redefinição de senhas via e-mail. · Registro de Usuário: · Coleta e validação de informações para novos registros. A documentação criada atende aos objetivos e resultados esperados, fornecendo uma base sólida para o desenvolvimento do sistema de gerenciamento de senhas, garantindo segurança, eficiência e uma boa experiência do usuário. REFERÊNCIAS (SE FOR USADA NO TRABALHO) < listar as referências bibliográficas como no manual do site da biblioteca > LAUREANO, MARCOS A. P.; MORAES, PAULO E. S.. Segurança como estratégia de gestão da informação. Revista Economia & Tecnologia – ISSN 1415-451X, Vol. 8 – Fascículo 3 – P. 38-44. 2005. image6.png image4.png image3.png image5.png image2.png image1.jpg image9.png image7.png image8.png