O seu gestor de palavras-passe não cifra o seu cofre com a sua palavra-passe mestra. Não pode: uma frase escrita por uma pessoa não tem a forma nem a robustez de uma chave criptográfica.
Em vez disso passa-a por uma função de derivação de chave, ou KDF, que a transforma numa chave de comprimento fixo. E essa função é feita para ser lenta de propósito.
Porque a lentidão é a funcionalidade
Se derivar a chave demorasse um microssegundo, um atacante na posse de um cofre roubado poderia testar milhares de milhões de palavras-passe candidatas por segundo. Fazer a derivação demorar uma fração de segundo nada lhe muda - escreve a palavra-passe uma vez - e multiplica na mesma medida o custo do atacante em cada tentativa.
É todo o desenho. O atraso que mal nota é o que o atacante paga, vezes sem conta.
O número que comanda isto
A lentidão da derivação depende de um fator de trabalho: iterações no PBKDF2, memória e passagens no Argon2.
O OWASP Password Storage Cheat Sheet coloca agora o Argon2id à cabeça das suas recomendações, com um mínimo de 19 MiB de memória, 2 iterações e 1 grau de paralelismo. Onde é exigida conformidade FIPS-140, recomenda PBKDF2 com 600 000 iterações ou mais, com HMAC-SHA-256.
Vale a pena deter-se na progressão histórica. O número recomendado de iterações PBKDF2 passou de 10 000 em 2010 para 600 000 hoje - sessenta vezes mais, porque o hardware dos atacantes acelerou enquanto a matemática ficou na mesma.
A definição que ninguém revê
Eis a consequência prática, e a razão de ser deste artigo.
A sua conta foi configurada no dia em que a criou, com o valor por omissão desse dia. Se a abriu há anos, o fator de trabalho guardado pode ser ainda o que se considerava suficiente então, não o que se considera suficiente agora. As recomendações mudaram; a sua conta não as seguiu sozinha.
A maioria dos gestores sérios expõe a definição, e vários migraram o seu valor por omissão para Argon2id. Alterá-la costuma ser um campo nas definições de segurança, e a chave é rederivada no desbloqueio seguinte.
Duas cautelas antes de lhe mexer. Subir o fator de trabalho torna o desbloqueio mais lento no seu dispositivo mais lento - o telemóvel antigo, não o computador de secretária -, por isso teste aí. E exporte primeiro uma cópia do cofre: a operação volta a cifrar, e uma interrupção na altura errada não é o momento de descobrir que não tinha cópia.
O que protege realmente o cofre
A ordem importa mais do que qualquer número isolado.
Uma palavra-passe mestra longa e única vem primeiro. Nenhum fator de trabalho salva uma frase fraca; apenas multiplica o tempo necessário para a quebrar, e o múltiplo de um número muito pequeno continua pequeno.
Depois as definições do KDF, que decidem quanto custa atacar um cofre roubado.
Depois tudo o resto - a autenticação de dois fatores protege a conta nos servidores do fornecedor, mas não protege um ficheiro de cofre exportado que o atacante já tem. Contra esse, só a palavra-passe mestra e o KDF agem.
Em resumo
A sua palavra-passe mestra não é a chave; é a entrada de uma função deliberadamente lenta que produz a chave. Essa função tem um fator de trabalho, a orientação atual é Argon2id ou PBKDF2 com 600 000 iterações, e o valor na sua conta é provavelmente o de omissão do dia em que se registou. Merece um olhar, uma vez.

★ Audit Cure53 2024 · ✓ Plan gratuit · Cross-platform
Obter NordPassGarantia de reembolso de 30 dias · Plano gratuito disponível→Perguntas frequentes
O que é um KDF num gestor de palavras-passe?
Uma função de derivação de chave transforma a sua palavra-passe mestra numa chave criptográfica. Uma frase escrita não tem o comprimento nem a robustez para cifrar um cofre diretamente, por isso o gestor passa-a por uma função como o PBKDF2 ou o Argon2id, que produz uma chave de comprimento fixo. A função é lenta de propósito, porque é essa lentidão que torna caro adivinhar.
Quantas iterações KDF devo usar?
A orientação atual da OWASP põe o Argon2id em primeiro, com um mínimo de 19 MiB de memória, 2 iterações e 1 grau de paralelismo. Onde é exigida conformidade FIPS-140, recomenda PBKDF2 com 600 000 iterações ou mais usando HMAC-SHA-256. Para comparação, o número recomendado era 10 000 em 2010: sobe à medida que o hardware dos atacantes acelera.
Porque é bom que a função seja lenta?
Porque você paga o atraso uma vez, ao desbloquear, e o atacante paga-o em cada palavra-passe candidata. Uma derivação de uma fração de segundo é impercetível para si e multiplica na mesma medida o custo de um ataque de força bruta, em cada uma de milhares de milhões de tentativas. A rapidez só ajudaria o atacante.
Devo mudar a definição KDF numa conta antiga?
Vale a pena verificar, porque a sua conta guarda o valor por omissão do dia em que foi criada e as recomendações subiram bastante desde então. Duas cautelas: um fator de trabalho maior torna o desbloqueio mais lento no seu dispositivo mais lento, por isso teste aí e não num computador rápido, e exporte antes uma cópia do cofre, já que a alteração volta a cifrá-lo.
A autenticação de dois fatores torna o KDF menos importante?
Não, protegem coisas diferentes. A autenticação de dois fatores protege a sua conta nos servidores do fornecedor. Não faz nada por um ficheiro de cofre exportado ou roubado, no qual um atacante pode trabalhar offline ao seu ritmo. Contra esse ficheiro só contam a robustez da palavra-passe mestra e o fator de trabalho do KDF.
