O KeePass possui uma chave mestra interna permanente para criptografar dados?

-1

O KeePass possui chave interna permanente para criptografar dados? Ou a chave para criptografia é uma senha (e arquivo de chaves)? Em algum site, eu analisei as discussões sobre maneiras de invadir a base do KeePass. Uma das suposições era a de que existem duas maneiras: uma para forçar a frase - senha e outra estava prestes a forçar a força- chave da  chave mestra criptografada  . Existe realmente uma chave mestra interna realmente permanente para criptografia de dados?

Cryptor
fonte
2
é de código aberto, para que todos que se importam possam ler o código-fonte. Se houver uma chave mestra no código-fonte, ela seria pública e tornaria a coisa toda inútil.
Aganju
Quero dizer chave mestra que pode ser gerada uma vez na criação da base de senha e é criptografada pela senha do usuário (e arquivo de chave).
Cryptor
Isso é o que acontece por padrão ....
Ramhound
Eu não entendo ... Você quer dizer que quando a base de senha é criada, a chave mestra é gerada? Em caso afirmativo, existe uma maneira de forçar a chave mestra do KeePass e criptografar a base ao alterar a senha do usuário? Imagine a situação em que alguém descobre a senha e recupera a chave mestra. Mas o dono base não saber sobre ele e simplesmente ficar mudando base de senha uma vez em algum período de tempo ... As coisas não estão bem, então ...
Cryptor

Respostas:

2

Depois de ler este artigo , parece que alguns bytes aleatórios são realmente gerados, mas apenas com o objetivo de concluir a chave completa de 256 bits:

Para gerar a chave de 256 bits para as cifras de bloco, o algoritmo Secure Hash SHA-256 é usado. Esse algoritmo compacta a chave do usuário fornecida pelo usuário (consistindo em senha e / ou arquivo de chave) em uma chave de tamanho fixo de 256 bits. Essa transformação é unidirecional, ou seja, é inviável computacionalmente inverter a função hash ou encontrar uma segunda mensagem que seja compactada no mesmo hash.

O ataque recentemente descoberto contra o SHA-1 [2] não afeta a segurança do SHA-256. O SHA-256 ainda é considerado muito seguro [3].

Derivação de chave:

Se apenas uma senha for usada (ou seja, nenhum arquivo de chave), a senha mais um sal aleatório de 128 bits será hash usando o SHA-256 para formar a chave final (mas observe que há algum pré-processamento: Proteção contra ataques de dicionário). O sal aleatório evita ataques baseados em hashes pré-calculados.

Ao usar a senha e o arquivo de chaves, a chave final é derivada da seguinte forma: SHA-256 (SHA-256 (senha), conteúdo do arquivo de chaves), ou seja, o hash da senha principal é concatenado com os bytes do arquivo de chaves e o byte resultante string é hash com SHA-256 novamente. Se o arquivo de chave não contiver exatamente 32 bytes (256 bits), ele também será hash com SHA-256, para formar uma chave de 256 bits. A fórmula acima muda para: SHA-256 (SHA-256 (senha), SHA-256 (conteúdo do arquivo-chave)).

Então, concluo que não há chave mestra interna. Quando a senha do usuário (e o arquivo da chave) é alterada, a base da senha é criptografada novamente com uma nova chave.

Cryptor
fonte