Domanda

Sto usando un fantastico FPS e devo memorizzare la chiave segreta nel codice Java.Tuttavia temo che qualcuno decompili il mio apk e trovi la chiave.Ho decompilato personalmente l'apk e non sono riuscito a trovare la chiave, ma non sono un esperto di VM.Qualsiasi aiuto?

È stato utile?

Soluzione

Non puoi inserire la chiave di crittografia nella tua applicazione e aspettarti che rimanga un segreto. Tutto ciò che serve è che un programmatore determinato lo decompila e trovi la chiave, e possono condividerla con il mondo.

La crittografia asimmetrica/pubblica è esattamente la soluzione che desideri. Crea una coppia di chiavi pubbliche/private, quindi inserisci la chiave pubblica nella tua applicazione e mantieni la chiave privata da solo. Allora puoi fare due cose:

  • La tua applicazione può crittografare Un messaggio che utilizza la chiave pubblica, che può essere decrittografato solo usando la chiave privata.
  • O puoi cartello Un messaggio che utilizza la chiave privata, che può essere autenticato utilizzando la chiave pubblica nell'applicazione.

Altri suggerimenti

Un individuo abbastanza determinato sarà in grado di estrarre la tua chiave, e in realtà non c'è molto che si possa fare al riguardo.Puoi tentare di offuscare le chiavi in ​​qualche modo (alzando il livello di quanto debbano essere determinate), ma non puoi impedire loro di ottenere la chiave.

Tuttavia, a seconda del motivo per cui è necessario archiviare la chiave segreta, potresti essere in grado di utilizzarla Crittografia a chiave asimmetrica.Sarai in grado di archiviare una chiave pubblica che potrebbe essere limitata alla crittografia (non alla decrittografia) o a scopi di autenticazione, pur essendo in grado di mantenere al sicuro la chiave privata.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top