Frage

Ich verwende erstaunliche FPS und muss den geheimen Schlüssel im Java -Code speichern. Ich befürchte jedoch, dass jemand meine APK zerlegt und den Schlüssel finden würde. Ich habe die APK selbst zerlegt und konnte den Schlüssel nicht finden, aber ich bin kein VM -Experte. Irgendeine Hilfe?

War es hilfreich?

Lösung

Sie können Ihren Verschlüsselungsschlüssel nicht in Ihre Anwendung einfügen und erwarten, dass er ein Geheimnis bleibt. Alles, was es braucht, ist, dass ein entschlossener Programmierer es zerlegt und den Schlüssel finden, und sie können ihn mit der Welt teilen.

Asymmetrische/öffentliche Kryptographie ist genau die gewünschte Lösung. Erstellen Sie ein öffentliches/privates Schlüsselpaar, geben Sie den öffentlichen Schlüssel in Ihre Bewerbung ein und behalten Sie den privaten Schlüssel selbst. Dann können Sie zwei Dinge tun:

  • Ihre Bewerbung kann Verschlüsseln Eine Nachricht mit dem öffentlichen Schlüssel, der nur mit dem privaten Schlüssel entschlüsselt werden kann.
  • Oder du kannst Schild Eine Nachricht mit dem privaten Schlüssel, der mithilfe des öffentlichen Schlüssels in Ihrer Anwendung authentifiziert werden kann.

Andere Tipps

Eine entschlossene Person kann Ihren Schlüssel extrahieren, und es gibt wirklich nicht so viel, was dagegen unternommen werden kann. Sie können versuchen, die Schlüssel irgendwie zu verschleiern (erhöhen die Messlatte darüber, wie entschlossen sie sein müssen), aber Sie können sie nicht davon abhalten, den Schlüssel zu erhalten.

Je nachdem, warum Sie den geheimen Schlüssel speichern müssen, können Sie möglicherweise verwenden Asymmetrische Schlüsselkryptographie. Sie können einen öffentlichen Schlüssel speichern, der auf Verschlüsselung (nicht entschlüsselt) oder Authentifizierungszwecke beschränkt ist, während Sie den privaten Schlüssel sicher halten können.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top