Sistemas de arquivos simplesmente não funcionam somente para gravação; é somente leitura ou leitura-gravação. Em um sistema de arquivos você cd
em algum lugar e ls
em algum lugar, tudo isso são operações de leitura. Se você só pode criptografar (escrever), mas não descriptografar (ler), você simplesmente não vai chegar a lugar algum (com um sistema de arquivos em uma camada de bloco).
Então, para você, são arquivos ou cachimbos, ou talvez usando um dispositivo de bloco como uma unidade de fita (sem sistema de arquivos, buscas / leituras arbitrárias) ou arquivos como o tar criados de forma completamente linear que nunca precisam ser relidos alguns dados antigos.
Se o seu aplicativo oferecer suporte à saída de tubulação, você poderá usar gpg
ou openssl
ou outros programas que suportem criptografia / descriptografia de chave pública / privada.
Gere uma chave apenas para isso:
gpg --quick-generate-key myproject
(Claro, você também pode usar as chaves existentes, se preferir).
Criptografar (usando echo Hello World.
em vez de yourprogram
):
echo Hello World | gpg --batch --encrypt --recipient myproject > file.encrypted
Descriptografar:
gpg --batch --decrypt < file.encrypted > file.decrypted
A máquina que faz a criptografia só precisa da chave pública. Ao descriptografar, se sua chave privada tiver uma senha adicional, você será solicitado a fornecê-la (se gpg
não se lembrar dela para você).
O GnuPG oferece uma infinidade de opções, isso deve ser explicado com muito mais detalhes aqui link e em vários wikis do Linux.
Se isso é prático ou não ... a criptografia é computacionalmente cara, uma dashcam pode não estar à altura da tarefa (além da carga de trabalho de vídeo que ela já tem a fazer), ...
Supostamente, havia algumas câmeras digitais que funcionavam dessa maneira (tire fotos criptografadas que você só pode ver em casa). Não tenho certeza por que essa ideia não é mais popular ou segura, seja qual for o método que eles usaram realmente.