Informationen zur tokenbasierten Authentifizierungssicherheit

8

Ich lese die authentifizierten Dienste mit Token. Ich verstehe, dass ein Benutzer ein Token für die Nutzung von Arcgis-Diensten erhalten muss. Beispiel: https://domain.com/arcgis/rest/services/myMap/MapServer ist mein Dienst. Mein Serveradministrator gibt mir ein solches Token. Token = AJSJK876548sjjs7

Und ich habe diesen Dienst in meiner Javascript-API wie folgt verwendet: https://domain.com/arcgis/rest/services/myMap/MapServer?token=AJSJK876548sjjs7

Ein Benutzer kann meine Anwendungsquelle über den Browser anzeigen und mein Token abrufen. Und er / sie kann auf meinen Dienst zugreifen. Ist das ein Sicherheitsproblem?

Bartelom
quelle

Antworten:

8

Ja, es ist ein Sicherheitsproblem.

Eine übliche Lösung besteht darin, einen Proxy-Dienst zu verwenden, den Ihr Client aufrufen kann und der wiederum den Endpunkt aufruft. Ihr Client ruft Ihren Dienst mit allen Argumenten außer dem Token auf. Der Dienst kopiert alle an ihn übergebenen Argumente, fügt das Token hinzu, ruft den Endpunkt auf und gibt die Antwort an Ihren Client zurück.

Russell bei ISC
quelle
2
Es ist wichtig zu beachten, dass bei diesem Ansatz der Entwickler verpflichtet ist, den Proxy irgendwie zu sichern. Schließlich kann der Benutzer jetzt einfach so tun, als wäre er die Anwendung, und den Proxy auffordern, Informationen indirekt vom zugrunde liegenden Dienst zurückzugeben. Letztendlich muss Ihre Sicherheit berücksichtigen, dass ein autorisierter Benutzer letztendlich Zugriff auf die Rohdaten hat. Wenn Sie die Daten einschränken müssen, auf die ein autorisierter Benutzer zugreifen kann, sollten Sie im Proxy eine Logik hinzufügen.
Philip
Guter Punkt, Phillip.
Russell bei ISC