Ist HMAC notwendig, wenn alle API-Aufrufe über https?
Wenn alle api-Aufrufe gesendet werden über https, hat HMAC fügt keine zusätzliche Sicherheit? Zum Beispiel, in oauth 2, der client sendet seinen geheimen Schlüssel, um die Anbieter ohne hashing löschen. Wird dieses als sicher betrachtet, weil es über https? Wärend das nicht strikt oauth, würde die Verwendung von HMAC-auf diesen Anruf machen oauth 2 sicherer? Wenn ja, warum ist das nicht ein standard-Teil von oauth 2?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den OAuth-2-standard verlangt, dass der authorization-server MUSS HTTPS verwenden auf alle Ihre Endgeräte, und der client SOLLTE eine callback-geschützt mit HTTPS. Da der Inhalt der Nachricht (Header, query-Parameter und Fragmente in Anbetracht OAuth) bekannt sind, nur von dem server und dem client, die Nutzung einer HTTPS-Verbindung gilt als sicher. Folglich gibt es keinen Gewinn mit einer separaten Unterschrift für die Genehmigung ersuchen, das ist, warum solche Signaturen sind nicht einmal erwähnt wird in der Norm.
Diese nicht unbedingt zu halten, für die Antwort obwohl. Wenn der AUFTRAGGEBER erhält die Berechtigung Reaktion auf eine ungeschützte Rückruf, dann kann es nicht überprüfen Ihre Gültigkeit. In solchen Fällen kann ein Angreifer senden beliebiger Autorisierung Ergebnisse an den client. Hinzufügen einer Signatur mit dem callback-Parameter, können Sie dies vermeiden. Es scheint jedoch, um eine bessere Lösung für gegenseitige client - /server-Authentifizierung mit einem HTTPS-Rückruf statt.
Zwar gibt es keine echten Gewinn die Verwendung von Signaturen im Rahmen der Autorisierung, Sie können nützlich sein, um den Zugriff auf geschützte Ressourcen zu vermeiden, stehlen access-Token. Dies ist der Grund, warum die MAC-token-Typ ist im standard, siehe Abschnitt 7.1.
HMAC ist für die Authentifizierung, dass die Bestimmung, wer Sie sind, https ist für die Sicherheit des Verkehrs gewährleisten, dass auf einer in der Mitte sehen Sie den Inhalt Ihrer transport.
Oauth 2 Autorisierungs-server-secret-key-oder Passwort bestimmen Sie, wer Sie sind. Oauth2 resource server verwenden token authorization server zu bestimmen, wer Sie sind. Mit https oder nicht, hängt davon ab, ob Sie möchten, schützen Sie Ihre geheimen Schlüssel und Token.