Pregunta

Estoy usando FPS increíble y tengo que almacenar la clave secreta en el código Java. Sin embargo, me temo que alguien descompilaría mi APK y encontraría la clave. Yo mismo descompilé el APK y no pude encontrar la clave, pero no soy un experto en VM. ¿Alguna ayuda?

¿Fue útil?

Solución

No puede poner su clave de cifrado en su aplicación y esperar que siga siendo un secreto. Todo lo que se necesita es para un programador determinado que lo descompile y encuentre la clave, y pueden compartirla con el mundo.

La criptografía asimétrica/de clave pública es exactamente la solución que desea. Cree un par de claves públicas/privadas, luego coloque la clave pública en su aplicación y mantenga la clave privada usted mismo. Entonces puedes hacer dos cosas:

  • Tu aplicación puede encriptar Un mensaje que usa la clave pública, que solo se puede descifrar utilizando la clave privada.
  • O tu puedes señal Un mensaje que usa la clave privada, que puede autenticarse utilizando la clave pública en su aplicación.

Otros consejos

Un individuo lo suficientemente determinado podrá extraer su llave, y realmente no hay mucho que se pueda hacer al respecto. Puede intentar ofuscar las claves de alguna manera (elevando la barra sobre cuán determinados deben estar), pero no puede evitar que obtengan la llave.

Sin embargo, dependiendo de por qué necesita almacenar la clave secreta, es posible que pueda usar Criptografía de clave asimétrica. Podrá almacenar una clave pública que pueda limitarse al cifrado (no descifrado) o fines de autenticación, mientras que puede mantener la clave privada segura.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top