Skip to content

Implementação de mecanismos de autenticação e segurança em aplicações críticas: Caso de estudo - Sistema de gestão bancária

License

Notifications You must be signed in to change notification settings

D1ogoCS/Projeto-Final

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Projeto Final

Implementação de mecanismos de autenticação e segurança em aplicações críticas: Caso de estudo - Sistema de gestão bancária

No meu projeto final de curso, realizei um caso de estudo/protótipo de um sistema de gestão bancária, com o objetivo de criar uma base de dados, uma aplicação de gestão e uma aplicação Web.

Nota final: 19 valores.

Nota: Este não é o projeto completo. Como o projeto é extenso, aqui estão apenas descritos os objetivos, os temas abordados, as funcionalidades, as ferramentas utilizadas, as tecnologias utilizadas e os resultados práticos obtidos. Os resultados apresentados são o reflexo do meu trabalho no desenvolvimento deste projeto. O código e os algoritmos não estão disponíveis para visualização, porque estou apenas a exibir o essencial.

Objetivos do projeto:

  • Análise, avaliação e integração de mecanismos de proteção e segurança (blockchain, criptografia, etc...)
  • Desenvolver dois protótipos funcionais que implementem e integrem vários mecanismos de segurança

Temas abordados:

  • Criptografia e Encriptação
  • Tecnologia blockchain
  • Chave Móvel Digital como método de autenticação
  • Segurança em aplicações criticas
  • Modelação do sistema - Casos de uso
  • Diagrama de classes
  • Modelo de dados
  • Desenvolver e integrar serviços Web (SOAP)
  • Desenvolver uma aplicação de gestão e uma aplicação Web

Algumas implementações feitas no projeto:

  • Relatórios em tempo real através do Report Viewer
  • Códigos QR em relatórios
  • Manipulação de ficheiros (documentos) através da aplicação de gestão
  • Autenticação de dois fatores com a utilização do Google Authenticator
  • Palavras-passe guardadas na base de dados encriptadas em código hash

Funcionalidades:

  • Registar novo Cliente
  • Alterar estado de um cliente
  • Alterar dados de um cliente
  • Adicionar documentos
  • Apagar documentos
  • Abrir documentos
  • Editar o nome de um documento
  • Gestão de certificados
  • Subscrever certificados
  • Gestão de empréstimos
  • Subscrever empréstimos
  • Serviços HomeBanking
  • Alterar estado do HomeBanking
  • Consultar histórico de atividades do HomeBanking
  • Adicionar titulares
  • Remover titulares
  • Alterar tipo de titularidade
  • Alterar tipo de conta
  • Visualizar movimentos bancários
  • Visualizar detalhes de uma transação
  • Efetuar transações
  • Criar contas bancárias
  • Alterar estado de uma conta
  • Gestão de cartões bancários
  • Renovar cartão bancário
  • Criar novos cartões bancários
  • Visualizar perfil pessoal
  • Visualizar histórico de atividades
  • Alterar palavra-passe
  • Visualizar o perfil de um gestor
  • Repor acesso
  • Excluir e reativar gestores
  • Adicionar um novo gestor
  • etc...

Ferramentas utilizadas:

  • StarUML
  • Oracle SQL Developer Data Modeler
  • Microsoft SQL Server Management Studio 19
  • Visual Studio 2022 Community Edition

Tecnologias utilizadas:

  • C#
  • HTML
  • CSS
  • SQL
  • Windows Forms
  • ASP .NET
  • .NET Framework

Resultados:

1. Serviços Web

Os serviços Web (ou Web services) são métodos que permitem a comunicação entre diferentes sistemas através da Web.

Os serviços Web são API’s (Application Programming Interface) que se comunicam por meio de redes e podem ser combinados para executar operações complexas. Utilizam principalmente o protocolo HTTP (Hyper Text Transfer Protocol), protocolo de comunicação responsável pela transferência de dados entre sistemas.

Os serviços Web não são aplicações Web, apenas transmitem informações entre sistemas.

SOAP (Simple Object Access Protocol): Utiliza XML (Extensible Markup Language) para enviar mensagens e geralmente usa o protocolo HTTP para transportar dados. O SOAP define um padrão de protocolo de comunicação para a troca de mensagens realizadas em XML entre o cliente e o servidor.

Os serviços Web possuem as seguintes vantagens:

  • Integração de informações e sistemas: Os serviços Web simplificam a comunicação entre sistemas e aplicações.
  • Reutilização de sistemas existentes: Permitem adicionar funcionalidades a sistemas já existentes sem criar tudo do zero.

Foram desenvolvidos Serviços Web com a utilização do protocolo SOAP, de modo que a aplicação de gestão possa utilizar esses métodos.

Web Service SOAP

Web Service SOAP

2. Base de dados

Uma base de dados é um conjunto de informações organizadas, armazenadas e geridas de forma estruturada.

Funciona como se fosse uma caixa onde podemos guardar nomes, números de telefone, endereços e outras informações. Essa caixa ajuda-nos a encontrar essas informações rapidamente quando precisamos. As bases de dados são utilizadas noscomputadores para guardar os dados de forma organizada e segura.

A implementação de uma base de dados numa organização é fundamental nos dias atuais, pois permite gerir grandes quantidades de dados e facilita a organização, manutenção e pesquisa dos mesmos. Além disso, as bases de dados são vitais para as organizações, pois são a principal peça dos sistemas de informação e segurança.

2.1 Tabelas

A base de dados do sistema, contém um total de 26 tabelas que resultam da aplicação das regras de transposição do modelo de classes para o modelo relacional, mas apenas oito são responsáveis por garantir as funcionalidades de autenticação e segurança da aplicação. As oito tabelas são as seguintes:

  • Tabela “Atividades”

Tabela “Atividades”

  • Tabela "Clientes"

Tabela "Clientes"

  • Tabela "Contas"

Tabela "Contas"

  • Tabela "Credenciais"

Tabela "Credenciais"

  • Tabela "Gestores"

Tabela "Gestores"

  • Tabela "HistoricoAtividadesClientes"

Tabela "HistoricoAtividadesClientes"

  • Tabela "HistoricoAtividades"

Tabela "HistoricoAtividades"

  • Tabela "Transacoes"

Tabela "Transacoes"

2.2 Medidas de segurança

  • Para evitar os ataques por SQL Injection, são utilizadas consultas parametrizadas ou parâmetros preparados nas aplicações, para evitar a introdução direta de valores nos comandos SQL (Structured Query Language).

  • Para uma maior segurança, as palavras-passe guardadas na base de dados, estão codificadas em hash através da utilização do algoritmo SHA-256.

Palavras-passe codificadas em hash

Palavras-passe codificadas em hash através do algoritmo SHA-256

  • Todas as atividades que possam ser executadas nas aplicações (incluindo a autenticação) e que seja necessário o registo do utilizador que as realizou, são executadas através de procedimentos armazenados que estão presentes na base de dados. Todos os procedimentos armazenados possuem em comum alguns parâmetros que identificam o utilizador e indicam a data em que a atividade é realizada. Como medida de segurança e auditoria, as atividades realizadas no sistema pelos utilizadores, são registadas nas tabelas apropriadas, nomeadamente na tabela “HistoricoAtividades” e na tabela “HistoricoAtividadesClientes”. Ambas as tabelas possuem trigger’s que não permitem registar atividades em utilizadores que não estejam ativos no sistema, nem permitem que os dados registados sejam alterados.

  • A base de dados possui diversos trigger´s em diversas tabelas, o que permite automatizar o sistema.

3. Aplicação de gestão

Uma aplicação de gestão (ou aplicação standalone) é uma aplicação completamente autossuficiente. Isso significa que não depende de nenhum software auxiliar para ser executada.

O protótipo da aplicação foi desenvolvido com a utilização do Windows Forms, que é projetado para ser executado em sistemas operativos Windows.

Oferece uma interface gráfica que permite aos utilizadores interagirem com a aplicação de forma intuitiva.

A aplicação de gestão é utilizada apenas pelos gestores e administradores.

O gestor realiza diversas atividades no sistema, como a manutenção das contas bancárias e dos produtos dos clientes. O administrador pode realizar as mesmas atividades do gestor e ainda pode fazer a administração dos gestores do sistema.

Aplicação de gestão

Aplicação de gestão

3.1 Adicionar um serviço Web

A aplicação de gestão executa alguns serviços Web. Para adicionar os serviços Web à aplicação, foi necessário executar os passos a seguir:

1 - No gestor de soluções do Visual Studio, é necessário clicar com o botão direito do rato em Connected Services e de seguida em Adicionar Referência de Serviço.

Gestor de soluções do Visual Studio

Gestor de soluções do Visual Studio

Adicionar Referência de Serviço

Adicionar referência de serviço no Visual Studio

2 - Por fim, é necessário configurar o endereço do serviço na janela de Adicionar Referência de Serviço e clicar no botão Ok.

Configurar o serviço Web no Visual Studio

Configurar o serviço Web no Visual Studio

3.2 Atenticação

Quando a aplicação é executada, a janela de autenticação é exibida para que o utilizador possa introduzir as suas credenciais e entrar na aplicação.

Janela de autenticação

Janela de autenticação

Para o utilizador entrar na aplicação, necessita introduzir o seu nome de utilizador e a sua palavra-passe e depois clicar no botão Entrar.

Introdução das credenciais na janela de autenticação

Introdução das credenciais na janela de autenticação

Se as informações introduzidas pelo o utilizador estiverem corretas, o que indica que as credenciais correspondem a um utilizador que está registado no sistema, a autenticação passa para a etapa a seguir, onde o utilizador deve introduzir o código de autenticação de dois fatores associado à sua conta.

Janela para introduzir código de autenticação de dois fatores

Janela para introduzir código de autenticação de dois fatores

Introdução do código de autenticação de dois fatores

Introdução do código de autenticação de dois fatores

Quando o utilizador introduz o código de autenticação de dois fatores e clica novamente no botão Entrar, o código introduzido é verificado por um algoritmo de autenticação de dois fatores da biblioteca “Google.Authenticator”, que oferece métodos para gerar códigos de verificação e verificar a autenticidade dos códigos introduzidos pelo utilizador.

A biblioteca “Google.Authenticator” é gratuita e necessita de ser instalada a partir do gestor NuGet presente no Visual Studio (https://www.nuget.org/packages/GoogleAuthenticator/3.2.0).

A biblioteca funciona em conjunto com a aplicação Google Authenticator para dispositivos móveis. O Google Authenticator é uma ferramenta gratuita para autenticação de dois fatores,que gera códigos temporários que são usados em combinação com a palavra-passe para adicionar uma camada extra de segurança à autenticação (https://support.google.com/accounts/answer/1066447?hl=en&co=GENIE.Platform%3DAndroid).

3.3 Menu

Após a autenticação do utilizador na aplicação, é apresentado o menu. Existe um menu específico para cada tipo de utilizador.

Menu dos gestores

Menu dos gestores

Menu dos administradores

Menu dos administradores

Se for a primeira vez que o utilizador entra na aplicação é exibida uma janela solicitando altere a palavra-passe da sua conta.

Janela para o utilizador alterar a palavra-passe quando faz login pela primeira vez

Janela para o utilizador alterar a palavra-passe quando faz login pela primeira vez

3.4 Gestão de clientes

É possivel visualizar todos os clientes que estão registados no sistema. É exibida uma janela que contém uma tabela com todos os clientes registados no sistema.

Janela "Ver Clientes"

Janela "Ver Clientes"

O utilizador pode pesquisar um cliente na barra de pesquisa através do NIF (Número de Identificação Fiscal).

Para o utilizador conseguir visualizar os dados de um cliente em específico, necessita de clicar no botão Ver detalhes da tabela de clientes. Em seguida, é exibida uma janela com todas as informações pessoais do cliente, documentos pessoais e outros dados.

Janela com as informações do cliente

Janela com as informações do cliente

Tabela com os documentos pessoais do cliente

Tabela com os documentos pessoais do cliente

Outros dados do cliente

Outros dados do cliente

3.4 Registar novo cliente

Janela “Adicionar cliente”

Janela “Adicionar cliente”

Campos obrigatórios que não foram preenchidos

Campos obrigatórios que não foram preenchidos

Se necessário, é possivel imprimir um documento com os dados do registo do novo cliente

Janela para confirmar a impressão do documento

Janela para confirmar a impressão do documento

Impresso com os dados pessoais do client

Impresso com os dados pessoais do cliente (dados fictícios)

Os documentos da aplicação são construídos através da biblioteca Microsoft Report Viewer, que oferece diversas ferramentas para o desenvolvimento de relatórios. É uma biblioteca gratuita e necessita de ser instalada a partir do gestor NuGet presente no Visual Studio (https://learn.microsoft.com/en-us/sql/reporting-services/application-integration/using-the-winforms-reportviewer-control?view=sql-server-ver16).

3.5 Adicionar documentos

Quando um documento é adicionado, uma cópia do mesmo é guardada numa pasta do computador que guarda os documentos pessoais dos clientes. Os documentos nunca são guardados na base de dados, apenas é guardado a localização dos mesmos.

Tabela "Documentos"

Tabela "Documentos"

3.6 Apagar documentos

Antes de apagar o documento, é verificado na base de dados se existe alguma referenciação do documento que se pretende apagar do sistema. Se existir, o documento não é apagado do sistema, apenas o valor da coluna “documentoAtivo” da tabela “Documentos” é alterado para “False”, o que faz com que o documento deixe de aparecer na tabela de documentos pessoais. Se não existir referenciação, a linha que está associada ao documento na tabela “Documentos” é apagada, e consequentemente também é apagado o documento da pasta do computador onde o mesmo está guardado.

3.7 Gestão de certificados

Janela com os dados de um certificado

Janela com os dados de um certificado

Campo para indicar as unidades que o cliente quer resgatar

Campo para indicar as unidades que o cliente quer resgatar

É possivel alterar o número da conta bancária associada ao certificado e também resgatar unidades do certificado, imprimir os dados do certificado e visualizar os documentos associados ao mesmo.

Para resgatar unidades do certificado, é necessário indicar a quantidade que o cliente pretende retirar do certificado. A quantia introduzida é adicionada à conta bancária que está associada ao certificado.

3.8 Subscrever certificados

Janela “Adicionar certificado”

Janela “Adicionar certificado”

Se for necessário anexar algum documento pessoal do cliente à subscrição do certificado, o utilizador deve selecionar as caixas de seleção correspondentes aos documentos pretendidos.

Escolher documentos para anexar na subscrição do certificado

Escolher documentos para anexar na subscrição do certificado

Gráfico com a projeção dos lucros do certificado

Gráfico com a projeção dos lucros do certificado

É possivel imprimir os dados do novo certificado subscrito.

Impresso com os dados do novo certificado

Impresso com os dados do novo certificado (dados fictícios)

3.9 Gestão de empréstimos

Janela com os dados de um empréstimo

Janela com os dados de um empréstimo

Tabela com todas as prestações do empréstimo

Tabela com todas as prestações do empréstimo

Tabela com as prestações pendentes do empréstimo

Tabela com as prestações pendentes do empréstimo

3.10 Subscrever empréstimos

Janela “Adicionar empréstimo”

Janela “Adicionar empréstimo”

Escolher documentos para anexar na subscrição do empréstimo

Escolher documentos para anexar na subscrição do empréstimo

Após a subscrição, é possivel imprimir os dados do novo empréstimo.

Impresso com os dados do novo empréstimo

Impresso com os dados do novo empréstimo (dados fictícios)

3.11 Serviços HomeBanking

Quando um novo cliente é adicionado ao sistema, o mesmo ainda não possui as credenciais de acesso necessárias para utilizar os serviços online. Apenas os utilizadores que têm acesso à aplicação de gestão podem alterar o estado das credenciais dos clientes. Quando o cliente não possui credenciais de acesso para o HomeBanking, o campo “Estado” possui o valor de “Inativo”.

Janela “HomeBanking”

Janela “HomeBanking”

Botões HomeBanking

Botões HomeBanking

Para atribuir credenciais de acesso ao cliente, o gestor necessita de clicar no botão Ativar.

O botão Cancelar HomeBanking, serve para o gestor cancelar as credenciais de acesso do cliente à aplicação Web.

Quando o cliente falha cinco vezes a autenticação na aplicação Web, as credenciais ficam bloqueadas. Para as desbloquear o gestor necessita de clicar no botão Desbloquear Acesso. Também é possível executar a operação inversa, ou seja, bloquear as credenciais, para isso o gestor necessita de clicar no botão Bloquear Acesso.

O botão Repor Acesso, permite ao gestor gerar novas credenciais de acesso para o cliente, se o mesmo se esquecer das credenciais atuais ou se houver suspeita de alguém saber das suas informações de acesso à aplicação Web.

Sempre que o gestor desbloqueia, ativa, ou repõe o acesso das credenciais do cliente, necessita de imprimir um documento que contém o nome de utilizador, a palavra-passe e um código QR (código de resposta rápida) para utilizar na aplicação Google Authenticator.

Impresso com as credenciais de acesso do HomeBanking do cliente

Impresso com as credenciais de acesso do HomeBanking do cliente (dados fictícios)

Na janela “HomeBanking”, é possível consultar as atividades que o cliente executa na aplicação Web. Para o gestor visualizar as atividades, necessita de escolher um intervalo de tempo e se for necessário, filtrar os resultados por tipo de atividade.

Tabela do histórico de atividades do HomeBanking preenchida com algumas atividades

Tabela do histórico de atividades do HomeBanking preenchida com algumas atividades

Tabela do histórico de atividades do HomeBanking preenchida com algumas atividades através do filtro

Tabela do histórico de atividades do HomeBanking preenchida com algumas atividades através do filtro

3.12 Gestão de contas bancárias

Janela com as informações de uma conta bancária

Janela com as informações de uma conta bancária

É possivel modificar os titulares da conta, imprimir as informações, efetuar transações, associar cartões bancários, visualizar os movimentos de conta e ainda alterar o estado da conta.

Para se adicionar um novo titular a uma conta bancária, é necessário introduzir o NIF do novo titular no campo “NIF do titular” (o novo titular já deve estar previamente registado no sistema) e de seguida clicar no botão Adicionar.

Quando um cliente deixa de ser titular de uma conta, um trigger é responsável por alterar a conta que está associada aos empréstimos e certificados do cliente que foi removido e que tinham essa mesma conta associada. Assim, os certificados e empréstimos do cliente ficam associados à primeira conta bancária que está registada e que o cliente possui.

Quando um cliente deixa de ser titular de uma conta, um trigger é responsável por desativar todos os cartões que estão associados ao cliente e à conta bancária.

Quando uma conta bancária é excluida do sistema (a conta nunca sai do sistema, é apenas alterado o valor do seu estado na base de dados), todos os cartões bancários associados a esta conta são desativados.

Para se conseguir visualizar os movimentos bancários de uma conta, é necessário na secção “Transações” selecionar a partir de que data se deseja obter os movimentos bancários (mensal, anual ou personalizado). O botão Extrato mensal exibe todos os movimentos do mês atual do sistema, o botão Extrato anual exibe todos os movimentos do ano atual do sistema e o botão Pesquisar exibe todos os movimentos entre as datas selecionadas (a data inicial necessita de ser inferior à data final).

Secção “Transações”

Secção “Transações”

Tabela com os movimentos bancários (extrato mensal)

Tabela com os movimentos bancários (extrato mensal)

Os movimentos bancários também podem ser impressos.

Excerto do impresso com os movimentos bancários

Excerto do impresso com os movimentos bancários (dados fictícios)

Para visualizar as informações de uma transação, é necessário de clicar no botão Ver detalhes e de seguida, é exibida uma janela com as informações da transação pretendida.

Janela com informações sobre o pagamento de uma prestação

Janela com informações sobre o pagamento de uma prestação

Janela com informações sobre uma transferência bancária

Janela com informações sobre uma transferência bancária

Impresso com os detalhes de uma transferência bancária

Impresso com os detalhes de uma transferência bancária

3.13 Transação

Janela "Transação"

Janela "Transação"

É necessário escolher qual é o tipo da transação, podendo ser um dos seguintes:

→ Levantamento;

→ Depósito;

→ Transferência.

Se a transação for um levantamento ou um depósito, só é necessário indicar a quantia a depositar ou a debitar.

No levantamento, a quantia introduzida deve ser sempre menor ou igual ao saldo disponível na conta.

No caso de ser uma transferência, é necessário indicar a quantia que o cliente quer que seja transferida, bem como o número da conta do destinatário.

Transação do tipo "Transferência"

Transação do tipo "Transferência"

Quando se clica no botão Procurar, é obtido o nome do titular da conta do destinatário.

Quando se clica no botão Confirmar, independentemente do tipo de transação, é executado o Serviço Web “inserirTransacao()”

Depois de se clicar no botão Confirmar, para confirmar a transação, é possivel imprimir um documento com informações sobre a transação realizada.

3.14 Criar conta bancária

Janela "Adicionar conta"

Janela "Adicionar conta"

Para indicar os clientes que serão titulares da conta, é necessário inserir o NIF de cada titular no campo “NIF do titular” e de seguida, clicar no botão Adicionar.

Os titulares da nova conta são exibidos na tabela

Os titulares da nova conta são exibidos na tabela

Para cada titular da conta, deve ser indicado o tipo de titularidade. Depois de indicar os titulares da nova conta bancária, é necessário especificar qual é o tipo de conta bancária.

Impresso com os dados da nova conta bancária

Impresso com os dados da nova conta bancária (dados fictícios)

3.15 Alterar o estado de uma conta bancária

Botões para alterar o estado da conta

Botões para alterar o estado da conta

Os botões quando são acionados, alteram o valor que está presente na coluna “estadoConta” da tabela “Contas”.

Quando se clica no botão Bloquear Conta, a coluna “estadoConta” fica com o valor “Bloqueada”. Nesse estado, não é possível alterar os dados da conta, criar cartões bancários para a conta, realizar transações ou receber transferências bancárias. Apenas é possível visualizar os movimentos bancários da conta. Para reverter esse estado, é necessário clicar no botão Ativar Conta, para alterar o valor da coluna “estadoConta” para “Ativa”.

Através do botão Apagar Conta, é possivel fechar uma conta bancária. No entanto, a conta não é excluída do sistema, apenas o valor da coluna “estadoConta” é alterado para “Inativa”. Isso faz com que a conta nunca mais seja visível na aplicação, ou seja, é como se nunca tivesse existido. Por outro lado, as informações relacionadas à conta na base de dados permanecem visíveis. Quando uma conta bancária é excluida do sistema, todos os cartões bancários associados a esta conta são desativados.

Para excluir uma conta, o saldo necessita de ser nulo, e não pode haver certificados ou empréstimos associados à conta, em que o estado dos mesmos seja "Pendente".

3.16 Gestão de cartões

Janela com informações de um cartão bancário

Janela com informações de um cartão bancário

Na janela, é possível visualizar o número do cartão, a data de validade, o estado do cartão, o número da conta bancária associada, e ainda se podem realizar as operações de bloquear e desbloquear o cartão, restaurar o PIN (Personal Identification Number) e cancelar o cartão.

Janela "Adicionar cartão"

Janela "Adicionar cartão"

3.17 Perfil Pessoal (utilizador da aplicação de gestão)

Janela do perfil pessoal

Janela do perfil pessoal

O utilizador consegue visualizar as atividades e a data em que as mesmas foram realizadas no sistema. Para visualizar as atividades, o utilizador deve selecionar um intervalo de tempo e, se necessário, escolher um tipo de atividade na lista de opções para filtrar as atividades.

Lista de opções de atividades realizadas pelo utilizador

Lista de opções de atividades realizadas pelo utilizador

As atividades presentes na lista de opções, são atividades que o utilizador já realizou no sistema.

Depois de o utilizador escolher o intervalo de tempo e eventualmente uma atividade para filtrar, necessita de clicar no botão Pesquisar para a tabela ser preenchida com as atividades realizadas no intervalo de tempo escolhido.

3.18 Alterar Palavra-passe

Janela para alterar a palavra-passe

Janela para alterar a palavra-passe

Para alterar a palavra-passe, o utilizador deve cumprir algumas regras mínimas de segurança. Estas incluem:

→ Ter entre 10 e 20 caracteres;

→ Ter no mínimo um caracter especial;

→ Ter no mínimo um caracter maiúsculo.

Após o utilizador preencher os campos para alterar a palavra-passe, se todas as regras tiverem sido cumpridas, as linhas que exibem as regras ficarão verdes

Janela de alterar a palavra-passe com as regras cumpridas

Janela de alterar a palavra-passe com as regras cumpridas

3.19 Gestão de gestores

A gestão dos utilizadores da aplicação de gestão está disponível apenas para utilizadores que sejam administradores do sistema.

Janela "Ver Gestores"

Janela "Ver Gestores"

Para facilitar a procura de um gestor em específico, pode-se utilizar a barra de pesquisa para filtrar os gestores por nome de utilizador.

Filtrar os gestores por nome de utilizador

Filtrar os gestores por nome de utilizador

Para o administrador visualizar o perfil de um gestor, necessita de clicar no botão Ver detalhes

Janela do perfil de um gestor

Janela do perfil de um gestor

O administrador tem a capacidade de aceder ao histórico de atividades do gestor, repor o acesso do gestor à aplicação, alterar o nome e a função do gestor no sistema e ainda, excluir o gestor do sistema.

Se um gestor ou administrador perder o acesso à aplicação, um outro administrador pode repor o acesso.

Após repor o acesso, o administrador deve imprimir o comprovativo com os novos dados de acesso que o gestor vai utilizar para efetuar login na aplicação.

Impresso com os novos dados do gestor

Impresso com os novos dados do gestor

O administrador pode ainda excluir e reativar os gestores do sistema. O gestores nunca são apagados do sistema, apenas o valor da coluna “estadoGestor” da tabela “Gestores” é alterado para “Inativo”.

3.20 Adicionar gestor

Janela "Adicionar Gestores"

Janela "Adicionar Gestores"

É necessário indicar o nome do novo gestor e o tipo de função que vai desempenhar no sistema.

Após o administrador preencher todos os campos obrigatórios, necessita de clicar no botão Confirmar e por fim imprimir o documento que contém os dados de acesso à aplicação.

4. Aplicação Web

As aplicações Web são acessíveis de qualquer lugar do mundo com conexão à internet. Isso permite que os utilizadores usem serviços e funcionalidades sem restrições geográficas. Podem ser protegidas centralmente no servidor, reduzindo riscos de segurança nos dispositivos dos utilizadores e atendendo a um grande número de utilizadores em simultâneo.

4.1 Autenticação

Para utilizar qualquer funcionalidade da aplicação Web, é necessário estar previamente autenticado. Todas as páginas Web da aplicação possuem um algoritmo que deteta se o utilizador se encontra autenticado ou não. Se o utilizador ainda não estiver autenticado, é redirecionado para a página de autenticação.

A autenticação é essencial na aplicação, para registar todas as atividades realizadas pelo utilizador autenticado no sistema. Cada ação realizada pelo utilizador é registada na tabela “HistoricoAtividadeClientes”, que armazena informações como a data, a atividade e a identificação do utilizador.

A autenticação da aplicação Web, segue a mesma lógica de implementação da autenticação da aplicação standalone.

Na página de autenticação, o cliente (utilizador da aplicação) deve introduzir as suas credenciais de acesso e, se estiverem corretas, inserir o código de autenticação de dois fatores.

Página de autenticação da aplicação

Página de autenticação da aplicação

Página para introduzir o código da autenticação de dois fatores

Página para introduzir o código da autenticação de dois fatores

Código de autenticação de dois fatores introduzidos na página Web

Código de autenticação de dois fatores introduzidos na página Web

A palavra-passe que o utilizador introduz, é enviada para o servidor para depois ser encriptada em código hash.

Como o valor introduzido é enviado para o servidor, sem estar previamenteencriptado em hash, qualquer pessoa com acesso ao canal de comunicação, pode visualizar as informações que estão a ser transmitidas. Assim, para melhorar a segurança da aplicação Web, são utilizados os protocolos HTTPS e SSL (Secure Sockets Layer).

O SSL é um protocolo de segurança da Internet que faz a autenticação da identidade de um website e cria um canal criptografado entre o utilizador e o servidor.

Se o cliente inserir uma palavra-passe incorreta, um contador presente na base de dados aumenta, até um máximo de cinco tentativas erradas. Quando o limite máximo de tentativas erradas é atingido, as credenciais de acesso do cliente à aplicação Web ficam bloqueadas e só podem ser desbloqueadas por meio da aplicação de gestão.

Quando o cliente acede à aplicação Web com as credenciais temporárias pela primeira vez, após inserir as credenciais e o código de autenticação de dois fatores, é redirecionado para uma página para alterar o nome de utilizador e a palavra-passe

Página Web para alterar as credenciais de acesso à aplicação

Página Web para alterar as credenciais de acesso à aplicação

Para alterar as credenciais de acesso à aplicação, o cliente tem de seguir algumas regras de segurança ao alterar o nome de utilizador e a palavra-passe. As regras aplicadas à alteração das credenciais são as seguintes:

→ O nome de utilizador tem de ser único, necessita de ter no mínimo 10 caracteres e pelo menos um caracter maiúsculo;

→ A palavra-passe necessita de ter no mínimo 10 caracteres e precisa de ter pelo menos um caractere especial e um caracter maiúsculo;

→ O nome de utilizador não pode ser igual a palavra-passe.

Após a autenticação do cliente, o menu da aplicação Web é exibido.

Menu da aplicação Web

Menu da aplicação Web

4.2 Perfil

Perfil do cliente na aplicação Web

Perfil do cliente na aplicação Web

4.3 Alterar palavra-passe

Página Web para alterar a palavra-passe

Página Web para alterar a palavra-passe

O cliente deve inserir a palavra-passe atual e a nova palavra-passe e, em seguida, clicar no botão Continuar. As regras aplicadas à alteração da palavra-passe são as mesmas descritas anteriormente.

Após clicar no botão, é exibida uma página web para o cliente inserir o código de autenticação de dois fatores e confirmar a alteração da senha.

Introdução do código de autenticação dois fatores para confirmar alteração da palavra-passe

Introdução do código de autenticação dois fatores para confirmar alteração da palavra-passe

4.4 Histórico de atividades

Através da aplicação Web, o cliente tem acesso às atividades que realizou na aplicação.

Página Web do histórico de atividades do cliente

Página Web do histórico de atividades do cliente

4.5 Gestão de contas

Com a aplicação, o cliente tem acesso a várias informações sobre as suas contas bancárias, incluindo as últimas transações realizadas, o saldo disponível, os titulares da conta, entre outros.

Página Web da gestão de contas

Página Web da gestão de contas

4.6 Gestão de cartões

A aplicação Web permite que o cliente visualize os cartões bancários das suas contas.

Página Web com informações dos cartões bancários

Página Web com informações dos cartões bancários

4.7 Transferência bancária

O cliente através da aplicação Web pode efetuar uma transferência bancária.

Página Web para realizar uma transferência bancária

Página Web para realizar uma transferência bancária

O cliente, por meio da lista de opções, pode escolher a conta da qual deseja debitar o dinheiro para a transferência. Após o preenchimento de todos os campos, é apenas necessário clicar no botão Continuar, que vai exibir uma página Web para confirmar a transferência.

Página Web de confirmação da transferência

Página Web da confirmação da transferência

Releases

No releases published

Packages

No packages published