Maneira correta de criptografar um pacote .deb

0

Eu quero poder enviar atualizações de "firmware" do meu cliente para máquinas já vendidas para eles. Eles não são dispositivos em rede, então é preciso que algo seja feito manualmente. Esses ganchos para colocar os arquivos no sistema já estão no lugar.

Eu não quero que eles consigam ver o código nessas atualizações, então vejo duas opções:

  • Compactar um diretório de arquivos para implantar. Criptografar esse diretório. Carregar para o dispositivo. Descriptografar no dispositivo. Peça a um script que implemente manualmente o código para onde ele precisa ir.
  • Crie um pacote .deb para permitir que o dpkg lide com a implementação. Criptografe esse pacote. Carregar para o dispositivo. Faça com que um script (mais simples) descompacte o pacote .deb.

Estou mais inclinado para a segunda opção, já que parece mais limpo. Dito isto, não tenho muita experiência em segurança e quero fazê-lo da melhor forma possível.

Meu primeiro instinto é fazer algo como esta resposta para ambos os casos. I.E. usando openssl para criptografar e descriptografar nos respectivos lados.

MAS, existe uma maneira melhor? Talvez haja algo no dpkg (ou seus parentes) que o criptografe de alguma maneira específica? Criptografar manualmente um pacote só parece errado para mim. Estou fazendo isso corretamente?

EDIT 1

Para esclarecer, minha pergunta não é necessariamente uma recomendação sobre qual ferramenta usar. Eu vou usar o openssl a menos que seja esclarecido. Eu estou perguntando se usar o openssl é inferior a alguma outra ferramenta para esse propósito, e entender essas diferenças, se aplicável.

por MD-7 26.06.2017 / 17:37

1 resposta

0

O dpkg não pretende usar criptografia, então você precisa de uma ferramenta externa.

Pergunta principal - onde a chave de descriptografia é armazenada e como é usada.

Deve ser pelo menos já armazenado na máquina do cliente e usado automaticamente pelo "firmware".

"firmware" deve saber como se atualizar a partir do arquivo criptografado.

UPD 1

No aspecto da segurança, o GPG e o OpenSSL parecem quase iguais, mas usam principalmente formatos e certificados incompatíveis. Como dizemos security.stackexchange

Sobre a criptografia "manual". Deve ser bom incluir criptografia de pacote no processo de criação automatizado.

    
por 26.06.2017 / 18:26