2017-12-08 4 views
0

Ich arbeite vor kurzem an einem WebAPI-Projekt, bei dem ich einige Endpunkte für andere Intranet-Webanwendungen öffnen werde, um einige meiner Daten in meinem OracleDB-Tabellenbereich auszuwählen. Eines meiner Hauptanliegen ist jetzt das Sichern der WebAPI gegen ungültige Aufrufe meiner API.HMAC Auth-Ansatz in WebAPI/Web-Anwendungen

Ich schaue mir den HMAC-Ansatz an, bei dem ich eindeutige Schlüssel mit verschiedenen autorisierten Web-Apps teile, die meine API aufrufen können.

Meine Frage ist,
Angenommen, ich Key A mit WebApp A und Key B mit WebApp B teilen, kann der Entwickler von WebApp A verwenden Key A mit seinem anderen WebApp C Zugriff auf meine API zu gewinnen und machen ‚zugelassen‘ Anrufe? Der für sie freigegebene Schlüssel ist anfällig für Missbrauch in anderen Anwendungen.

Antwort

0

Natürlich könnten Ihre Schlüssel überall verwendet werden. Im Allgemeinen dient der HMAC-Ansatz zur Authentifizierung von Nachrichten. Mit anderen Worten, wenn Sie HMAC verwenden, sind Sie 100% sicher, dass der Schlüsseleigentümer (mit Ausnahme des Szenarios, bei dem der Schlüssel kompromittiert wurde) Ihnen eine Anfrage gesendet hat. Nichts kann den Schlüsselbesitzer davon abhalten, diesen Schlüssel zu teilen. Aber die Hauptsache ist, dass aus der Perspektive Ihrer "Host" -API, alle Anfragen mit bestimmten Schlüssel als die gleichen Client, unabhängig davon sind sie physikalisch die gleiche Anwendung oder nicht betrachtet werden.