Doble cifrado con diferentes claves [duplicado]

0

Tengo un kit de desarrollo de software que empaqueta los datos para el programa terminado en una serie de paquetes LZMA. Quiero asegurarme de que mi software es el único que puede leer los paquetes, aunque estén comprimidos en un formato de código abierto. También quiero poder cifrarlo, si el usuario lo desea, para que solo el programa terminado pueda leerlo y no el SDK original. Si simplemente lo ejecuto dos veces mediante un método de cifrado, ¿funcionará?

Para ponerlo en pseudocódigo:

encrypt_file(filename, "SDK key")
user_key = get_input()
encrypt_file(filename, user_key)

Los paquetes comprimidos contienen formatos de archivo comunes como imágenes PNG, archivos de audio MP3, etc. ¿Funcionará correctamente este método, de modo que puedo decodificarlo haciendo algo como esto?

user_key = getkey() //Retrieve it from some configuration setting
decrypt_file(filename, user_key)
decrypt_file(filename, "SDK key")
    
pregunta Morgan Patch 13.09.2013 - 17:35
fuente

2 respuestas

1

Si desea asegurarse de que solo las personas que tienen su software puedan descifrarlo y las personas con el programa finalizado tengan que poder descifrarlo, entonces debería estar bien, ya que solo las personas con esas versiones particulares de Los programas tienen la clave.

No se puede enfatizar lo suficiente, sin embargo, que cualquier persona que posea una instalación del software también posee una copia de la clave. Si el software puede descifrarlo, también lo puede hacer la persona que ejecuta el hardware en el que se ejecuta el software. Intentar hacerlo para que el usuario no pueda acceder a él ingresa al ámbito de DRM y es realmente una causa desesperada a menos que usted controle el hardware.

Tenga en cuenta que, para aumentar la eficiencia, puede lograr lo mismo cifrando con una clave única cada vez y luego cifrando la clave solo dos veces. Esto mejoraría en gran medida la velocidad de cifrado y descifrado, ya que una cantidad mucho menor de datos (la clave) se debe cifrar / descifrar dos veces. También simplificó el cambio de una de las claves si una clave se ve comprometida, ya que solo es necesario volver a cifrar las claves de archivo.

    
respondido por el AJ Henderson 13.09.2013 - 17:41
fuente
0

Mientras en la superficie funcionará lo que está proponiendo, es importante entender que es trivial extraer la clave de descifrado del software para que el usuario pueda descifrar el archivo sin su programa, y distribuya esa llave al mundo en general, permitiendo que cualquier persona haga lo mismo.

No hay forma de evitar esto.

    
respondido por el tylerl 13.09.2013 - 18:33
fuente

Lea otras preguntas en las etiquetas