Como impedir o acesso de usuários para ler e extrair meus arquivos binários

0

Eu configurei arquivos de dados binários entre um dos meus aplicativos e, para problemas de segurança, eu deveria criptografar e descriptografar arquivos para cada uso. Isso é muito bom, mas o processo está matando. Eu uso o Blowfish para executar a cifragem e é muito lento em ambas as funções. Eu posso entender que, se alguém quiser extrair meus dados dos arquivos binários, ele deve ter um reconhecimento sobre meu padrão de arquivo, mas temo que isso não seja nada difícil de adivinhar.

Existe alguma maneira de bloquear o acesso de usuários para ler arquivos binários com o uso de criptografia ou outras coisas?

    
por MahanGM 06.10.2012 / 12:24

1 resposta

0

A regra geral é que tudo o que você dá ao usuário não é mais seu. Quando você criptografa os dados, você mantém a chave de criptografia em seu aplicativo e a chave pode ser extraída. A única solução relativamente confiável é colocar a chave no dispositivo de hardware (USB cryptotoken), mas isso não é aceitável em muitos cenários. E é relativamente confiável, já que os dados podem ser capturados e existem ataques em alguns tokens USB.

Se você quiser apenas proteger os dados do Joe médio, poderá usar o CEP criptografado como um contêiner (a criptografia dupla afastaria mais usuários). E você precisa substituir o algoritmo - Blowfish é realmente muito lento. AES seria mais rápido.

Se a quantidade de dados for grande, é melhor empregar a criptografia-criptografia on-the-fly, ou seja, você deve criptografar ou descriptografar apenas os blocos de dados que são usados e não o fluxo completo. Isso torna a tarefa mais sofisticada. Ou você pode usar um sistema de arquivos virtual que suporta criptografia no nível inferior (o nosso Solid File System é um dos exemplos e existem alguns outros).

    
por 06.10.2012 / 13:01