E2EAuth
Suas Chaves. Seus Dispositivos. Totalmente Protegidos.
Visão Geral
E2EAuth é uma especificação de autenticador de código aberto e multiplataforma, projetada para fornecer gerenciamento seguro, privado e confiável de credenciais de autenticação multifator em dispositivos desktop e móveis. Ela suporta Senhas de Uso Único Baseadas em Tempo (TOTP) e Senhas de Uso Único Baseadas em HMAC (HOTP), com sincronização criptografada de ponta a ponta, armazenamento local-first e recuperação social por meio de contatos confiáveis.
O E2EAuth é projetado em torno da propriedade do usuário, arquitetura de conhecimento zero, interoperabilidade, práticas de segurança transparentes e liberdade de dependência de fornecedores. Os segredos de autenticação permanecem sob o controle do usuário, e os serviços de sincronização ou recuperação não devem obter acesso independente ao cofre de credenciais do usuário.
Princípios Fundamentais
- Segurança em Primeiro Lugar: Proteger os segredos de autenticação durante armazenamento, sincronização, recuperação e uso.
- Criptografia de Ponta a Ponta: Garantir que apenas dispositivos autorizados do usuário possam descriptografar o cofre de credenciais.
- Operação Local-First: Permitir que os usuários gerem códigos de autenticação sem conexão à internet.
- Propriedade do Usuário: Dar aos usuários controle sobre credenciais, dispositivos, chaves de criptografia, backups e arranjos de recuperação.
- Compatibilidade Multiplataforma: Suportar acesso seguro em ambientes desktop e móveis.
- Arquitetura de Conhecimento Zero: Impedir que servidores, operadores de serviço e contatos de recuperação leiam independentemente o conteúdo do cofre.
- Transparência de Código Aberto: Permitir revisão pública da especificação, implementação, controles de segurança e alterações.
- Interoperabilidade: Suportar padrões de autenticação estabelecidos e migração portátil de credenciais.
- Recuperação Resiliente: Fornecer opções de recuperação seguras sem introduzir acesso não autorizado ou backdoors de recuperação centralizados.
- Operações Auditáveis: Manter registros transparentes de ações relevantes para a segurança sem expor desnecessariamente segredos de autenticação.
Módulos Principais
Gerenciamento de Credenciais de Autenticação
- Suportar credenciais TOTP de acordo com a RFC 6238.
- Suportar credenciais HOTP de acordo com a RFC 4226.
- Permitir que os usuários adicionem credenciais escaneando códigos QR compatíveis.
- Suportar entrada manual de nomes de emissor, identificadores de conta, segredos compartilhados, algoritmos, comprimentos de dígitos e outros parâmetros necessários.
- Validar parâmetros de credenciais importadas e identificar configurações não suportadas.
- Gerar códigos de autenticação localmente usando o algoritmo e os parâmetros de credencial apropriados.
- Exibir indicadores de contagem regressiva para códigos baseados em tempo.
- Rastrear o estado do contador HOTP e sincronizar atualizações de contador com segurança entre dispositivos autorizados.
- Suportar nomes de credenciais, informações de emissor, rótulos de conta, ícones, categorias, tags e notas.
- Fornecer busca, ordenação, filtragem e favoritos.
- Exibir claramente o status de expiração e regeneração de códigos.
- Suportar cópia segura de códigos de autenticação com comportamento configurável de limpeza da área de transferência.
- Minimizar a exposição de segredos e códigos em logs de aplicação, notificações, relatórios de falhas e saída de diagnóstico.
- Identificar claramente credenciais inválidas, expiradas, não suportadas ou potencialmente conflitantes.
- Preservar a funcionalidade das credenciais quando o dispositivo estiver offline.
Cofre Seguro e Armazenamento Local
- Armazenar credenciais de autenticação em um cofre local protegido.
- Criptografar dados sensíveis de credenciais em repouso.
- Separar as chaves de criptografia do cofre dos dados de credenciais armazenados.
- Utilizar recursos seguros da plataforma para proteger o material de chave específico do dispositivo quando disponíveis.
- Suportar um mecanismo de desbloqueio do cofre controlado pelo usuário.
- Suportar derivação de chave forte baseada em senha onde senhas forem utilizadas.
- Proporcionar desbloqueio biométrico opcional por meio dos recursos de segurança do sistema operacional suportados.
- Aplicar bloqueio automático configurável após inatividade ou quando o aplicativo for para segundo plano.
- Exigir reautenticação para operações sensíveis de acordo com políticas de segurança definidas pelo usuário.
- Proteger contra exposição acidental por meio de visualizações do aplicativo, capturas de tela quando suportado, histórico da área de transferência e conteúdo de notificações.
- Proporcionar bloqueio seguro do cofre e encerramento de sessão.
- Evitar o armazenamento de segredos de autenticação em texto simples em logs, arquivos temporários ou backups desprotegidos.
- Comunicar as limitações da proteção em nível de dispositivo e os riscos de sistemas operacionais comprometidos.
Criptografia de Ponta a Ponta e Gerenciamento de Chaves
- Criptografar o conteúdo do cofre antes que ele saia do dispositivo de origem.
- Garantir que os provedores de sincronização não possam descriptografar os dados de credenciais de forma independente.
- Utilizar algoritmos e protocolos criptográficos estabelecidos e revisados de forma independente.
- Definir requisitos de criptografia autenticada, derivação segura de chaves, tratamento de nonce e rotação de chaves.
- Estabelecer identidades autenticadas de dispositivos e troca segura de chaves para o emparelhamento de dispositivos.
- Impedir que dispositivos não autorizados entrem na rede de sincronização de um usuário.
- Proteger os dados sincronizados contra adulteração, replay e modificação não autorizada.
- Vincular registros criptografados aos metadados contextuais apropriados para evitar substituição não intencional entre cofres ou registros.
- Separar as responsabilidades de autenticação, criptografia, identidade de dispositivo e recuperação.
- Impedir que senhas, chaves de criptografia, partes de recuperação e segredos de autenticação apareçam em telemetria ou saída de diagnóstico.
- Suportar a revogação do acesso de dispositivos e a rotação das chaves de criptografia relevantes.
- Comunicar claramente que dispositivos previamente autorizados ou comprometidos podem reter informações que já descriptografaram.
- Documentar as premissas criptográficas, os modelos de ameaça, os ciclos de vida das chaves e as limitações de recuperação.
Sincronização entre Dispositivos