¿Cómo puedo asegurar las claves de cifrado en el código? [duplicar]

0

Tengo archivos en el servidor que están cifrados con AES. Estoy desarrollando aplicaciones de iOS y Android para descifrar y procesar esos archivos en el teléfono o tableta. Para descifrar archivos en las aplicaciones cliente, tengo que usar / almacenar las mismas claves AES en la aplicación. Eso significa que tengo que poner mis claves AES en el código para poder usarlas directamente desde la fuente o enviarlas al dispositivo del cliente para poder almacenarlas allí. Mantener / enviar claves de cifrado en el código es una mala idea, pero necesito esas claves para procesar archivos.

¿Cómo puedo mantener de forma segura las claves en mi código? ¿O hay alguna otra manera de obtener mis claves AES en el cliente para poder descifrar archivos?

    
pregunta Walt S. 11.08.2015 - 20:31
fuente

1 respuesta

1

Tienes razón para sospechar de este proceso. Las aplicaciones de Android son super fácil de descompilar , por lo que debe suponer que cualquier clave que esté incrustada en la aplicación también podría ser publicado en un blog público.

Sin más información sobre por qué necesita cifrar los archivos de datos, es difícil dar consejos detallados. Una forma habitual de resolver problemas similares es usar el cifrado de clave pública. Cada aplicación cliente genera su propia clave pública, y cuando solicita los datos del servidor, el servidor la cifra específicamente para ese cliente, utilizando su clave pública.

A menos que haya detalles que hagan que su problema sea más complejo, probablemente podría lograrlo utilizando bibliotecas PGP estándar para generar claves de cliente y cifrar / descifrar los archivos.

    
respondido por el Mike Ounsworth 11.08.2015 - 20:48
fuente

Lea otras preguntas en las etiquetas