Todos os projetos

Multifactor

Concluído

Autenticador multifator gratuito e de código aberto — meu TCC da graduação.

2022IonicAngularTypeScriptTOTPOpen source

Visão geral

Trabalho de conclusão do bacharelado em Sistemas de Informação na Universidade Federal de Uberlândia (UFU). É um aplicativo mobile gratuito e de código aberto para autenticação multifator: gera os códigos temporários (TOTP) que serviços como bancos, e-mail e redes sociais pedem como segundo fator. O código foi publicado aberto de propósito — para qualquer pessoa usar, auditar e aprender com ele — e o README documenta passo a passo como construir o app do zero.

Por que existe

Senha sozinha é um fator só, e é o fator que vaza. O segundo fator resolve isso, mas boa parte dos autenticadores populares é fechada: quem usa precisa confiar sem poder conferir onde e como os segredos ficam guardados. A proposta do TCC foi devolver isso à sociedade como código aberto — um autenticador que qualquer um pode ler, compilar e usar sem custo, implementando o TOTP de ponta a ponta em vez de só ligar uma biblioteca e confiar nela.

Módulos

Geração de códigos TOTP

HMAC com jsSHA sobre o segredo e a janela de tempo, gerando o código de seis dígitos de cada serviço.

Para que serve

Serve para o app funcionar com qualquer serviço que siga o padrão, sem depender de servidor.

Segredos no próprio aparelho

Armazenamento em SQLite local, em vez de localStorage do navegador embutido.

Para que serve

Serve para uma limpeza de cache não apagar as credenciais — e para o segredo nunca sair do celular.

Copiar e usar

Toque no código para copiá-lo para a área de transferência, com aviso nativo de confirmação.

Para que serve

Serve para o segundo fator não virar atrito no dia a dia.

Stack

  • Ionic 6
  • Angular 13
  • TypeScript
  • Capacitor
  • Cordova
  • SQLite
  • jsSHA