Frage

Wie kann ich sicherstellen, dass nur mein iphone app erlaubt ist meine App Engine-Anwendung für das Senden und Empfangen von Daten zu benutzen? Ich habe wahrscheinlich einen geheimen Schlüssel verwenden, aber ich weiß nicht, wie. Kann ich nur Post verwenden / meinen statischen Schlüssel über https schicken? Oder muß ich geheimen Schlüssel Algorithmus einig dynamischen verwenden?

Jede mögliche Hilfe würde geschätzt! Bjorn

War es hilfreich?

Lösung

Unter der Annahme, denken Sie, das Geheimnis auf dem iPhone App halten können aus entdeckt zu werden, was Sie brauchen, ist ein HMAC . Für jede Anfrage Sie machen, übergeben Sie den Text der Anfrage in eine Funktion wie HMAC-SHA1, zusammen mit dem geheimen Schlüssel als der Schlüssel, und fügen Sie das Ergebnis auf die Anfrage Sie machen. Wenn der Server die Anforderung empfängt, den gleichen Vorgang, und stellen Sie sicher, dass die HMACs entsprechen.

Andere Tipps

Ich bin mir nicht ganz sicher, was yo versuchen zu erreichen.

Aber, mit gemeinsamen Geheimnissen oder API-Schlüssel in Ihrem iPhone App generell eine schlechte Idee ist.

Sie sprechen über Ihre eigene App Engine-Anwendung. Warum nicht eine einfache (JSON basierten) Web-Service auf der App Engine-Seite, dass Ihre App Gespräche schaffen? Ich bezweifle, dass es erforderlich ist, direkt an Ihre App Engine-Anmeldeinformationen von Ihrem iPhone App verwenden.

Wenn Ihre Frage nicht beantworten, bitte weitere Informationen zur Verfügung stellen.

Verwenden Sie ein SSL-Zertifikat auf Ihrem Web-Service wie alle an diese übergebenen Daten verschlüsselt ist.

  

Eine verschlüsselte SSL-Verbindung erfordert   alle Informationen zwischen einem Client gesendet   und ein Server verschlüsselt werden, indem die   Versand-Software und durch die entschlüsselte   Empfangen von Software, den Schutz von Privat   Informationen abhör über die   Internet.

Auch bei jedem Aufruf an den Dienst ein einzelnes guid senden up, dass Sie zusammen mit Ihren Daten definiert haben. Diese guid hat validiert werden, bevor der Webdienst eine Aktion ausführt. So sperren Sie noch weiter nach unten können Sie einen Dienst erstellen, die eine GUID erzeugt, die für einen späteren Telefonie-Dienst werden muss zurückgeführt werden.

Auch stellen Sie sicher nicht zulassen, dass jemand Ihre WSDL-Datei auf dem Server sehen, sonst können sie Ihre Parameter erraten.

Eine SSL ceritifcate von RapidSSL kostet $ 17 pro Jahr, so dass die Kosten über nichts zu befürchten ist.

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