¿Cómo combinar tar y clave cifrada cifrada con la cual se cifró tar?

2

Estamos utilizando una placa personalizada basada en Beaglebone Black (AM335x), por lo que para las actualizaciones de firmware de la placa usaremos una imagen de firmware cifrada.

Como ya habrías adivinado, usaremos el cifrado simétrico para cifrar un gran archivo de firmware (fimware tar) y luego cifrar la clave simétrica con una clave asimétrica. Así que tenemos dos archivos que se le darán al usuario para actualizar su tablero. Ahora no queremos hacer eso, queremos dar solo un archivo al usuario.

Por lo tanto, debemos combinar de alguna manera la imagen del firmware cifrada y la clave simétrica cifrada.

Pensé en dos estrategias, cifraré el firmware utilizando el script bash,

  • Firmware cifrado con tar y clave simétrica cifrada. Pero es muy lento.
  • Agregue la clave simétrica cifrada al archivo tar cifrado. No sientas que este es un enfoque limpio, ¿no?

¿Alguna sugerencia sobre cómo manejar esto de una manera mejor y más rápida?

Nota
He publicado esta pregunta en Stack Overflow pero pensé que esta pregunta también podría pertenecer a la Seguridad de la Información. Déjame saber si no te parece correcto.

    
pregunta AnkurTank 08.06.2016 - 12:56
fuente

2 respuestas

2

Creo que solo necesita usar el cifrado PGP / GPG y cifrar el archivo usando su clave privada (bajo el capó, PGP / GPG hará lo mismo que usted describió: generará una clave simétrica aleatoria, cifrará el cuerpo del carga con él, luego cifrará la clave simétrica con su clave asimétrica privada).

Esto le dará un solo archivo cifrado. Todo lo que queda es incorporar su clave pública en el sistema base de su tablero (también puede publicar su clave pública en su sitio web, de modo que los usuarios podrán descifrar el archivo si lo desean).

La mayoría de los fabricantes están implementando este enfoque y están utilizando la clave pública incorporada para garantizar que el proceso de actualización / actualización funcione con los firmwares producidos por el fabricante (el que tiene la clave privada correspondiente). Este enfoque funciona hasta que haya un flujo en el sistema de su placa que permitiría a un atacante manipular la clave pública incorporada.

    
respondido por el galaxy 25.07.2016 - 15:35
fuente
1

Debería utilizar la función de archivo simple (predeterminado) de tar para agrupar algunos datos:

tar cvf output.tar data.tar.gz key

También puede hacer que el archivo (solo lectura) esté disponible en una red privada (o tal vez en una red pública) y enviar la clave sym y la url a los usuarios cifrados por sus claves públicas.

    
respondido por el BlackCat 08.06.2016 - 15:25
fuente

Lea otras preguntas en las etiquetas