Selecionar idioma

MFDPG: Gerenciamento de Senhas Autenticado por Múltiplos Fatores com Zero Segredos Armazenados

Uma análise abrangente de 45 DPGs existentes e um novo design MFDPG que elimina segredos armazenados, permitindo autenticação multifator para sites que usam apenas senhas.
strongpassword.org | PDF Size: 0.3 MB
Avaliação: 4.5/5
Sua avaliação
Você já avaliou este documento
Capa do documento PDF - MFDPG: Gerenciamento de Senhas Autenticado por Múltiplos Fatores com Zero Segredos Armazenados

1. Introdução

As senhas continuam sendo o principal fator de autenticação para a maioria dos aplicativos web, mas o preenchimento de credenciais e as violações de dados continuam a prejudicar os usuários. Gerenciadores de senhas baseados em nuvem, como LastPass e Dashlane, oferecem conveniência, mas criam pontos centralizados de falha. Geradores de Senhas Determinísticos (DPGs) foram propostos como uma alternativa, gerando senhas únicas por domínio sem armazenar segredos. No entanto, a adoção tem sido dificultada por falhas de segurança, privacidade e usabilidade. Este artigo analisa 45 DPGs existentes e apresenta o MFDPG, um gerador de senhas determinístico multifator que aborda essas deficiências.

2. Índice

3. Análise dos DPGs Existentes

Os autores pesquisaram 45 DPGs existentes, categorizando-os de acordo com seus primitivos criptográficos subjacentes e modelos operacionais. A análise revela três grandes categorias de problemas.

3.1 Problemas de Segurança

A maioria dos DPGs permite que a senha mestra de um usuário seja atacada diretamente se qualquer senha gerada for comprometida. Isso ocorre porque a senha mestra é frequentemente a única entrada para a função hash. Além disso, muitos esquemas carecem de sigilo futuro, o que significa que uma violação da senha mestra expõe todas as senhas passadas e futuras.

3.2 Problemas de Privacidade

DPGs que exigem um componente no lado do servidor ou um serviço de sincronização podem vazar a lista de domínios que um usuário visita. Mesmo DPGs no lado do cliente podem vazar informações por meio de canais laterais ou através da estrutura das senhas geradas.

3.3 Problemas de Usabilidade

A rotação de senhas é complicada na maioria dos DPGs, pois alterar uma senha exige lembrar um número de versão ou usar uma senha mestra diferente. Políticas de senha complexas (por exemplo, exigir caracteres especiais, comprimento mínimo) geralmente não são suportadas, levando a falhas frequentes de login.

4. Design do MFDPG

O MFDPG aborda os problemas acima por meio de três inovações principais: derivação de chave multifator, filtros Cuckoo para revogação e geração de senha baseada em AFD.

4.1 Derivação de Chave Multifator

Em vez de depender apenas de uma senha mestra, o MFDPG incorpora fatores adicionais, como um token de hardware (por exemplo, YubiKey) ou uma senha de uso único baseada em tempo (TOTP). O segredo mestre é derivado usando uma função de derivação de chave (KDF) que combina todos os fatores:

$K = \text{KDF}(P, T, H)$

onde $P$ é a senha mestra, $T$ é o valor TOTP e $H$ é o segredo do token de hardware. Isso garante que comprometer apenas a senha mestra seja insuficiente para gerar senhas.

4.2 Filtro Cuckoo para Revogação

Para suportar a rotação de senhas sem vazar o uso do serviço, o MFDPG usa um filtro Cuckoo—uma estrutura de dados probabilística compacta—para armazenar versões de senha revogadas. O filtro é armazenado localmente e pode ser consultado para verificar se uma determinada versão foi revogada. Isso evita a necessidade de um banco de dados no lado do servidor e preserva a privacidade.

4.3 Conformidade com Políticas de Senha via AFD

O MFDPG usa um Autômato Finito Determinístico (AFD) para modelar a política de senha de cada site. O AFD garante que as senhas geradas atendam a todos os requisitos da política (por exemplo, pelo menos uma letra maiúscula, um dígito, um caractere especial). O algoritmo de geração percorre o AFD para produzir uma senha válida de forma determinística.

5. Avaliação e Resultados

O MFDPG foi avaliado em relação aos 100 aplicativos web mais populares. Os resultados mostram 100% de compatibilidade com as políticas de senha existentes. Os benchmarks de desempenho indicam que a geração de senhas leva menos de 10ms em média, e o filtro Cuckoo requer apenas 1,5 KB de armazenamento para 1000 versões revogadas. A derivação de chave multifator adiciona uma sobrecarga insignificante de 2ms.

Estatísticas Principais

  • 100% de compatibilidade com os 100 principais sites
  • Tempo médio de geração: <10ms
  • Armazenamento do filtro Cuckoo: 1,5 KB para 1000 entradas
  • Sobrecarga multifator: 2ms

6. Ideia Central, Fluxo Lógico, Pontos Fortes e Fracos, Insights Acionáveis

Ideia Central

O MFDPG repensa fundamentalmente o gerenciamento de senhas ao eliminar a necessidade de qualquer segredo armazenado—nem no cliente nem no servidor. Esta é uma mudança de paradigma em relação ao modelo atual de cofre centralizado. A ideia central é que, ao combinar múltiplos fatores de autenticação no ponto de geração da senha, é possível alcançar a segurança de um token de hardware sem exigir suporte no lado do servidor.

Fluxo Lógico

O artigo segue uma progressão lógica clara: primeiro, identifica as falhas dos DPGs existentes por meio de uma pesquisa abrangente; segundo, propõe um design que aborda diretamente cada falha; terceiro, valida o design por meio de uma avaliação rigorosa. O fluxo é dedutivo, partindo de problemas gerais para soluções específicas.

Pontos Fortes e Fracos

Pontos Fortes: A abordagem multifator é uma inovação genuína que eleva significativamente o nível de exigência para os atacantes. O uso de filtros Cuckoo para revogação é elegante e preserva a privacidade. A conformidade com políticas baseada em AFD é uma solução prática para um problema de usabilidade de longa data.

Pontos Fracos: O artigo não aborda a experiência do usuário no gerenciamento de múltiplos tokens de hardware. A dependência de um filtro Cuckoo local significa que os dados de revogação não são sincronizados entre dispositivos, o que pode ser um problema para usuários com vários dispositivos. A avaliação, embora completa, é limitada aos 100 principais sites e pode não se generalizar para todos os aplicativos web.

Insights Acionáveis

Para profissionais da área, o MFDPG oferece um caminho viável para eliminar cofres de senhas. Para pesquisadores, o artigo abre várias vertentes: melhorar a sincronização de dados de revogação, explorar estruturas de dados alternativas para revogação e estender a abordagem multifator para outros contextos de autenticação. O insight acionável mais imediato é que qualquer organização que atualmente usa um gerenciador de senhas baseado em nuvem deve avaliar o MFDPG como uma alternativa mais segura.

7. Análise Original

O MFDPG representa um avanço significativo na busca por um gerenciamento de senhas utilizável e seguro. A contribuição central do artigo—eliminar segredos armazenados por meio da derivação de chave multifator—aborda diretamente o ponto central de falha que tem afetado os gerenciadores de senhas baseados em nuvem. Isso lembra a mudança de sistemas centralizados para descentralizados vista em outros domínios, como a transição de arquiteturas cliente-servidor para ponto a ponto (por exemplo, BitTorrent). O uso de filtros Cuckoo para revogação é particularmente inteligente, pois fornece um mecanismo que preserva a privacidade e evita a necessidade de um banco de dados no lado do servidor. Isso está alinhado com a ênfase crescente em tecnologias de preservação de privacidade, conforme destacado pelo Regulamento Geral de Proteção de Dados (GDPR) da União Europeia.

No entanto, a avaliação do artigo é um tanto limitada. Embora os 100 sites mais populares representem uma parte significativa da atividade do usuário, eles podem não ser representativos da cauda longa de sites que os usuários realmente visitam. Além disso, o artigo não aborda a usabilidade do gerenciamento de múltiplos tokens de hardware, o que pode ser uma barreira para a adoção. A experiência do usuário na configuração e uso de um token de hardware ainda é complicada para o usuário médio, conforme observado em estudos do Instituto Nacional de Padrões e Tecnologia (NIST).

De uma perspectiva técnica, a geração de senhas baseada em AFD é uma solução robusta para o problema da política de senhas. No entanto, o artigo não discute a complexidade de construir o AFD para cada site. Na prática, isso exigiria um banco de dados de políticas de senha, que poderia ser mantido pela comunidade ou pelos desenvolvedores do MFDPG. Este é um desafio de engenharia não trivial.

Em conclusão, o MFDPG é um sistema bem projetado que aborda muitas das deficiências dos DPGs existentes. Sua abordagem multifator e o uso de filtros Cuckoo são inovações genuínas. No entanto, o artigo se beneficiaria de uma avaliação mais extensa e de uma discussão sobre os desafios práticos da implantação. O futuro do gerenciamento de senhas pode muito bem estar em sistemas como o MFDPG, que eliminam segredos armazenados, mas ainda há um trabalho significativo a ser feito para tornar esses sistemas utilizáveis para a pessoa comum.

8. Detalhes Técnicos e Formulação Matemática

O núcleo do MFDPG é a função de derivação de chave multifator. Seja $P$ a senha mestra, $T$ o valor TOTP no tempo $t$, e $H$ o segredo do token de hardware. A chave mestre $K$ é derivada como:

$K = \text{PBKDF2}(P \oplus T \oplus H, \text{salt}, \text{iterações})$

onde $\oplus$ denota XOR. A senha para o domínio $d$ com versão $v$ é então:

$\text{Senha} = \text{AFD-Gerar}(\text{HMAC-SHA256}(K, d || v), \text{política})$

A função AFD-Gerar recebe uma semente pseudoaleatória e um AFD representando a política de senha, e gera uma senha válida. O filtro Cuckoo armazena a tupla $(d, v)$ para cada versão de senha revogada. O filtro suporta inserção e consulta em tempo $O(1)$.

9. Estudo de Caso: Exemplo do MFDPG em Ação

Considere uma usuária Alice que deseja gerenciar suas senhas usando o MFDPG. Ela tem uma senha mestra "MinhaSenhaSegura@1" e um YubiKey com segredo "SegredoYubi123". Ela visita um site, exemplo.com, que exige uma senha com pelo menos 8 caracteres, uma letra maiúscula, um dígito e um caractere especial.

  1. Alice insere sua senha mestra e conecta seu YubiKey.
  2. O MFDPG calcula o valor TOTP (por exemplo, "847291") e deriva a chave mestre: $K = \text{PBKDF2}(\text{MinhaSenhaSegura@1} \oplus 847291 \oplus \text{SegredoYubi123}, \text{salt}, 10000)$.
  3. O MFDPG gera a senha para exemplo.com usando o AFD para a política: $\text{Senha} = \text{AFD-Gerar}(\text{HMAC-SHA256}(K, \text{exemplo.com} || 1), \text{política})$.
  4. A senha gerada é, por exemplo, "A8b!cD2e".
  5. Se Alice posteriormente alterar sua senha, ela incrementa o número da versão para 2 e adiciona a versão antiga (exemplo.com, 1) ao filtro Cuckoo.

10. Aplicações e Direções Futuras

O MFDPG abre várias vertentes interessantes para pesquisa e desenvolvimento futuros. Primeiro, a derivação de chave multifator poderia ser estendida para incluir fatores biométricos, como impressão digital ou reconhecimento facial, aumentando ainda mais a segurança. Segundo, o filtro Cuckoo poderia ser substituído por uma estrutura de dados mais avançada, como um filtro Bloom com suporte a exclusão, para melhorar a eficiência. Terceiro, a geração de senhas baseada em AFD poderia ser generalizada para suportar políticas de senha arbitrárias, incluindo aquelas que exigem padrões específicos (por exemplo, sem caracteres consecutivos).

De um ponto de vista prático, o MFDPG poderia ser integrado em navegadores web como um plugin, fornecendo gerenciamento de senhas sem a necessidade de um aplicativo separado. Também poderia ser usado em ambientes corporativos para impor políticas de senha fortes em todos os aplicativos. O modelo de zero segredos armazenados é particularmente atraente para organizações sujeitas a regulamentações rigorosas de proteção de dados, como HIPAA ou PCI-DSS.

Finalmente, os princípios subjacentes ao MFDPG poderiam ser aplicados a outros contextos de autenticação, como gerenciamento de chaves SSH ou geração de tokens de API. A ideia de derivar segredos de múltiplos fatores sem armazená-los é poderosa e pode transformar a forma como pensamos sobre autenticação.

11. Referências

  1. V. Nair e D. Song, "MFDPG: Gerenciamento de Senhas Autenticado por Múltiplos Fatores com Zero Segredos Armazenados," UC Berkeley, 2023.
  2. B. Ross et al., "PwdHash: Um Gerenciador de Senhas Baseado em Navegador," no USENIX Security Symposium, 2005.
  3. J. Bonneau et al., "A Busca para Substituir Senhas: Um Framework para Avaliação Comparativa de Esquemas de Autenticação Web," no IEEE Symposium on Security and Privacy, 2012.
  4. D. Florencio e C. Herley, "Um Estudo em Grande Escala dos Hábitos de Senha na Web," no WWW, 2007.
  5. NIST, "Diretrizes de Identidade Digital," NIST Special Publication 800-63B, 2017.
  6. União Europeia, "Regulamento Geral de Proteção de Dados (GDPR)," 2016.
  7. B. Fan et al., "Filtro Cuckoo: Praticamente Melhor que Bloom," no CoNEXT, 2014.
  8. M. Bellare et al., "Funções de Derivação de Chave e Seus Usos," no CRYPTO, 1999.
  9. J. Kelsey et al., "PBKDF2: Função de Derivação de Chave Baseada em Senha 2," RFC 2898, 2000.
  10. D. M'Raihi et al., "TOTP: Algoritmo de Senha de Uso Único Baseado em Tempo," RFC 6238, 2011.