Abspeicherung des Key eines Endsystem

  • 3 Antworten
  • Letztes Antwortdatum
A

AndrejT

Neues Mitglied
5
Hallo zusammen

Ich plane aktuell eine App zu machen welche die Google Maps API verwendet. Um dies zu machen benötigt man einen Key von Google, welche man generieren kann. Nun wollte ich euch fragen, ist es sicher wenn die App direkt mit der API von Google kommuniziert? Dafür ist ja die Hinterlegung des Keys im Code notwendig. Oder sollte ich eine Art proxy machen, wo die App mit meinem eigenen Server kommuniziert und der Server fragt dann die Google API ab? Bei diesem vorgang würde der Key versteckt bzw. auf der Serverseite sein, anstonsten auf der Clientseite. Bei der Clientseite kann ja ein Benutzer die App dekompilieren danach hat er den Key und kann selbstständig Requests auslösen und kosten verursachen. Stimmt das so? Oder sehe ich da was falsch? Oder kann ich den Key trotzdem in der App hinterlegen und der Benutzer kann damit nichts anfangen da sie für ihn nicht freigeschaltet ist? Wie funktioniert dieser Prozess?
 
Für dein key brauchst du den sha-1 fingerprint und den package name. Da aber nur der sha-1 fingerprint dir bekannt ist, und im Appstore nur eine App pro package name möglich ist, wüsste ich nicht was jemand anderes damit anfangen sollte.

Und an deiner Stelle würde ich nicht den Server dafür benutzen, da viele User ihre Karten auf das Handy herunter geladen haben, damit ihr Datenvolumen geschont wird. So machst du Dich nur unbeliebt. Und außerdem ist diese Vorgehensweise recht langsam.
 
  • Danke
Reaktionen: Kardroid
Ich habe zu dem Thema folgenden recht interessanten Link gefunden:
Best practice for storing and protecting private API keys in applications

Da werden einige Ansätze diskutiert.
Ich würde den Apikey verschlüsselt speichern und nur dann entschlüsseln, wenn er gesendet werden soll. Das macht das auslesen nicht unmöglich aber der Key ist nicht als String sofort zu entdecken.
 
Nochmal verschlüsseln macht hier kein Sinn. Ein Teil des Keys liegt bei Google, Und der andere Teil ist der Key des benutzten Entwicklerzertifikat.
 
  • Danke
Reaktionen: keen
Zurück
Oben Unten