448 bits é muito de entropia. Para corresponder à segurança da chave, a senha deve fornecer um nível semelhante de entropia. Se houver alguma diferença significativa na entropia entre os dois, um invasor irá atacar o que tiver menos entropia.
Não me lembro do número exato, e provavelmente varia com a linguagem, mas a linguagem natural tem entre 1 e 2 bits de entropia por caractere.
Então, para chegar a um nível de segurança semelhante a uma chave verdadeiramente aleatória de 448 bits, você precisaria de uma senha de, na ordem de, 300 caracteres. Ele também não deve ser conhecido por ninguém, ou ter sido usado por qualquer outra pessoa, por isso citações famosas, citações de seus livros favoritos, e assim por diante, estão praticamente fora de questão. Essa provavelmente seria a primeira coisa que alguém jogaria ao cracker tentando usar.
Para comparação, para obter o nível requerido de entropia, você precisa de uma senha com aproximadamente a duração do parágrafo anterior. E você deve ser capaz de digitá-lo 100% corretamente, toda vez, possivelmente sem ver o que está digitando.
Com uma senha verdadeiramente aleatória feita a partir de um conjunto de 85 caracteres (digamos, o conjunto Base85), você está olhando sobre log2 (85) ~ 6,4 bits por caractere. Então, para chegar a 448 bits, você precisaria de cerca de 70 caracteres verdadeiramente aleatórios de um conjunto de 85 caracteres.
Desconsiderando a questão de saber se o pool de entropia tem essa entropia verdadeira para começar, você precisa ser capaz de lembrar a senha e mantê-la segura. Eu te atrevo a lembrar até mesmo uma única senha verdadeiramente aleatória de 70 caracteres consistindo virtualmente em todos os caracteres imprimíveis no conjunto ASCII.
Há também a questão de qual vetor de ataque alguém escolherá. Ninguém vai atacar uma chave de 448 bits através de tentativa de força bruta e tentativas de decriptografia de erros ; . Qualquer ataque a essa criptografia será feito por meio de outros métodos, seja ataques de canal lateral, criptografia de mangueira de borracha (como exemplificado pelo XKCD), roubo total (não riem!), Ataques de criptografia mais eficientes que força bruta ou qualquer outra coisa. É um muito mais fácil contratar alguns bandidos para invadir sua casa e roubar seu laptop, do que para atacar corretamente implementada até mesmo criptografia simétrica de 128 bits.
O que nos leva a:
It seems like the difference between option 2 and 3 is that, which option 3, there is the onus of me needing to keep a copy of this keyfile, which is cumbersome (vs. a password). My question is this: how much more secure is option 3?
Na prática, com as duas opções (senha segura criptografando o arquivo localmente e arquivo-chave seguro criptografando o arquivo localmente), você terá que salvaguardar uma cópia do material-chave. Então, a partir do "quão incômodo é?" ponto de vista, eles são aproximadamente semelhantes. Do ponto de vista da segurança, a quantidade de entropia no material secreto (keyfile ou passphrase) é reduzida.
Então:
-
Se você estiver preocupado com o acesso de alguém a seus arquivos no Dropbox, use um arquivo de chave armazenado localmente e criptografe os arquivos antes de fazer o upload. Será mais conveniente para você, mas se um adversário for capaz de obter acesso ao seu computador, ele terá, é claro, o arquivo de chave. Você pode resolver parcialmente isso combinando um arquivo de chave com uma senha ou senha mais simples.
-
Se você estiver preocupado com o roubo do seu computador, use uma senha strong que não exista e nunca tenha existido em seu computador fora desse uso específico. Ele apresentará maior dificuldade para um invasor, pois precisará convencê-lo a revelar a frase secreta. Note que isso não precisa ser difícil; algumas dicas sobre o que acontece com as pessoas protegendo terroristas, ou uma sugestão para algumas conexões de mídia bem colocadas de que uma pessoa que combina com sua descrição está sendo investigada por abuso infantil, ou algo assim, pode ser suficiente.
-
Se você está preocupado com ambos, use ambos, supondo que o software permita que você faça isso.