¿Cómo proteger archivos de alguien que tiene acceso a la computadora que contiene esos archivos?

3

Básicamente, tengo una Raspberry Pi que está instalada en un automóvil. Si me roban el auto, ¿cómo puedo asegurarme de que los archivos no puedan ser descifrados?

La Raspberry Pi contiene un script de Python que registra los movimientos en el automóvil. Cuando finaliza una secuencia, se encripta, por lo que el script debe tener acceso a la clave de encriptación.

La secuencia de comandos de Python también necesita descifrar el archivo, ya que debe poder enviar la secuencia a un cliente a través de una red en HTTPS. Debe tener acceso a la clave de descifrado.

Si las claves están codificadas en el script, será fácil para el ladrón descifrar los archivos.

¿Puedo usar una clave generada por la contraseña del usuario (he visto a algunas personas hablar sobre PBKDF2)? Si es así, ¿cómo funcionaría si el cliente envía esa contraseña a través de HTTPS al servidor (el servidor es la Raspberry Pi)? La clave generada aún tendría que almacenarse en algún lugar, por lo que no veo cómo podría ayudar.

    
pregunta maximedupre 21.01.2016 - 02:51
fuente

2 respuestas

7

Si tu Raspberry Pi no necesita descifrar los datos, utiliza en su lugar el cifrado asimétrico (clave pública / privada). Luego, la clave pública (cifrada) se puede usar en la Raspberry Pi y solo cuando llega a su cliente (a través de HTTPS) se puede descifrar con la clave privada.

No he usado Python de esta manera, pero la siguiente URL parece ser un buen comienzo:

Blog de Laurent Luce - Python y criptografía con pycrypto

EDITAR: Dado que su Raspberry Pi necesita capacidades de cifrado y descifrado, el método más seguro es incorporar un cifrado asimétrico. Al igual que su método actual de uso de cifrado simétrico (clave compartida), uno tiene que tener cuidado con dónde almacenar las claves. Al incorporar tarjetas inteligentes, la clave privada (descifrado) se almacenará en la propia tarjeta. Al igual que tener una llave para encender su auto, se podría requerir una tarjeta inteligente para usar su Raspberry Pi. Si bien esto aumentaría sus costos (compra de tarjeta inteligente, lector de tarjetas, etc.), es la opción más segura.

Si esta solución no es viable, entonces el cifrado completo del disco es su mejor apuesta, tal como lo menciona pjc50 .

    
respondido por el user2320464 21.01.2016 - 03:24
fuente
2

Dependiendo de qué tan crítico sea esto y la probabilidad de un ataque sofisticado (su modelo de amenaza), puede probar el enfoque de la radio del coche:

Utilice el cifrado de disco completo o una base de datos cifrada para almacenar los datos. El Pi necesitará una contraseña ingresada cada vez que arranque. Para evitar que el usuario tenga que hacer esto cada vez que arranca el automóvil, agregue una SRAM serie SPI a la Pi con la contraseña. La SRAM olvidará los datos siempre que pierda energía. Póngalo en una fuente de alimentación separada siempre conectada a la batería (probablemente el Pi no lo está), y ponga todo en un estuche con un microinterruptor de seguridad que controla la tapa. Al abrir la tapa, se elimina la energía de la SRAM y la Pi, lo que hace que se olvide la contraseña.

No es una prueba del 100% contra un atacante dedicado, pero debería funcionar razonablemente bien contra los ladrones normales.

    
respondido por el pjc50 21.01.2016 - 15:27
fuente

Lea otras preguntas en las etiquetas