![]() |
Rest Service Authentifizierung und Sicherheit Konzept
Hallo,
derzeit entwickle ich eine Anwendung, die mit einem REST Webservice kommunizieren soll. Die Frage, wie sichere ich das ganze vernünftig ab? Bisher ist mein Vorgehen wie folgt (grob gezeichnet):
Viele Grüße... |
AW: Rest Service Authentifizierung und Sicherheit Konzept
Mir ist nicht ganz klar warum du das Passwort auf dem Cient verschlüsselt (statt gehasht) speicherst.
Überhaupt könntest du darauf verzichten: Nachdem sich der Benutzer auf dem Server angemeldet hat, generierst du einen komplett zufälligen Zugriffsschlüssel. (oder wie du es nennen möchtest) Ein Zugriffsschlüssel ist genau einem Benutzer und einer Anwendung zugeordnet. Der Benutzer kopiert diesen jetzt in den Client. Der Client meldet sich mit Username, Passwort-Hash (?) und Zugriffsschlüssel an und bekommt damit (falls alles gültig ist) Zugriff. So (oder so ähnlich) läuft das ja auch bei Twitter oder Facebook, vll. kannst du dir das Prinzip abgucken ;-) |
AW: Rest Service Authentifizierung und Sicherheit Konzept
Hi,
danke für deine Antwort! Zitat:
Die von dir skizzierte Vorgehensweise klingt logisch! Allerdings ist mir nicht klar, wieso der Bentutzer sich mit Username, Passwort und Zugriffsschlüssel anmelden soll. Nur Zugriffsschlüssel würd ja eigentlich reichen, oder? Viele Grüße ... |
AW: Rest Service Authentifizierung und Sicherheit Konzept
Ja, schon. Das wird dann wohl OAuth sein. (
![]() Zumindest bei Twitter braucht man keinen Passwort Hash (der Client bekommt also zu keinem Zeitpunkt dass Passwort zu sehen) aber da ist noch einiges an Hashing und so dabei. ( ![]() Die Sache mit "Kein Passwort beim Client" ist dann auch schon das Sicherheitsfeature. Den Zugriffsschlüssel sollte man natürlich im online Account sperren können. |
AW: Rest Service Authentifizierung und Sicherheit Konzept
Zitat:
![]() tl;dr: Normales Hashing geht zu schnell um sicher zu sein, nutze daher: bcrypt oder PBKDF2. Wenn du eh SSL nutzt, könntest du auch "einfach" Zertifikate zur Authentifizierung von Client und Server nehmen. Das Problem das ein Client potenziell immer feindlich ist, wirst du nicht überwinden können. Wenn es sinnvoll/nötig ist, könntest du serverseitig ein Rechtesystem verwalten um den Schaden gering zu halten. |
AW: Rest Service Authentifizierung und Sicherheit Konzept
Hi,
@jfheins: ich glaube in diese Richtung wird die Reise gehen. Diesen API-Key könnte man ja dann zusätzlich auf dem Clienten verschlüsselt speichern (je nach Implementierung (Delphi, Android ...) unterschiedlich). Zitat:
Vielen Dank und viele Grüße ... |
AW: Rest Service Authentifizierung und Sicherheit Konzept
Zitat:
Der Schaden den man mit einem geklauten API-Key anstellen kann, ist genauso groß, wie der zum Key gehörige Nutzer auf dem Server Rechte dazu hat. Wenn nicht eh jeder Benutzer alles machen kann, sollte die Überprüfung, ob der Nutzer etwas darf, (auch) auf dem Server stattfinden. Eigentlich ist es klar, aber im Eifer des Gefechts neigt man ja dazu, sowas zu vergessen :mrgreen: |
AW: Rest Service Authentifizierung und Sicherheit Konzept
Hi,
Zitat:
Danke für eure Antworten! |
AW: Rest Service Authentifizierung und Sicherheit Konzept
Zitat:
Zum Thema: OAuth? Benutzen (fast) alle anderen ja auch. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz