Se tutte le chiamate API vengono inviate tramite https, HMAC aggiunge ulteriore sicurezza? Ad esempio, in oauth 2, il client invia la sua chiave segreta al provider senza alcun tipo di hashing. Questo è considerato sicuro perché è finito su https? Anche se non rigorosamente oauth, usare HMAC in questa chiamata rende oauth 2 più sicuro? Se è così, perché non è una parte standard di oauth 2?HMAC è necessario se tutte le chiamate API vengono effettuate tramite https?
risposta
Lo standard OAuth 2 richiede che il server di autorizzazione DEVE utilizzare HTTPS su tutti i suoi endpoint e il client DOVREBBE utilizzare un callback protetto con HTTPS. Poiché i contenuti dei messaggi (intestazioni, parametri di query e frammenti che considerano OAuth) sono noti solo al server e al client, l'utilizzo di una connessione HTTPS è considerato sicuro. Quindi non c'è alcun vantaggio nell'usare una firma separata per la richiesta di autorizzazione, ecco perché tali firme non sono nemmeno menzionate nello standard.
Questo non è necessariamente valido per la risposta. Se il client riceve la risposta di autorizzazione a un callback non protetto, non può verificarne la validità. In tali casi, un utente malintenzionato può inviare risultati di autorizzazione arbitrari al client. Aggiungendo una firma con i parametri di callback, puoi evitare questo. Tuttavia, sembra essere una soluzione migliore per utilizzare l'autenticazione reciproca client/server con un callback HTTPS.
Mentre non vi è alcun reale vantaggio nell'utilizzare le firme durante l'autorizzazione, possono essere utili per accedere alle risorse protette per evitare di rubare i token di accesso. Questo è il motivo per cui il tipo di token MAC è nello standard, vedere section 7.1.
HMAC è per l'autenticazione che determina chi sei, https è per la sicurezza del trasporto che garantisce che uno nel mezzo possa vedere il contenuto del tuo trasporto.
Il server di autorizzazione Oauth 2 utilizza la chiave segreta o la password per determinare chi sei. Il server di risorse Oauth2 utilizza token dal server di autorizzazione per determinare chi sei. L'utilizzo di https o meno dipende dalla protezione della chiave segreta e dei token.
- 1. Rileva se e quando vengono effettuate chiamate jQuery AJAX
- 2. Elenco di tutte le chiamate di funzione effettuate in un'applicazione
- 3. Qual è il punto di SSL se Fiddler 2 può decifrare tutte le chiamate su HTTPS?
- 4. Aggiunta di un parametro generale a tutte le chiamate ajax effettuate con jQuery
- 5. Come monitorare le chiamate di rete effettuate da iOS Simulator
- 6. È necessario accedere a Google Ricerca personalizzata API tramite R
- 7. Visualizzazione di tutte le chiamate di sistema effettuate da un programma Java
- 8. Come registrare tutte le chiamate API usando Guzzle 6
- 9. Fare più api di recupero chiama come controllare se tutte le chiamate sono finite?
- 10. Le transazioni effettuate utilizzando l'API REST vengono visualizzate quando si utilizza l'API classica?
- 11. Le chiamate differite vengono chiamate quando si chiama log.Fatalln?
- 12. SmtpClient.SendAsync Le chiamate vengono annullate automaticamente
- 13. Come includere file CSS e JS tramite HTTPS quando necessario?
- 14. Chiamate API Mocking e Win32
- 15. Come rendere sequenziali tutte le chiamate AJAX?
- 16. Se le applet vengono eseguite nel JRE del browser, perché è necessario un JRE sulla macchina?
- 17. È possibile agganciare le chiamate API su Mac OS?
- 18. Chiamate API di monitoraggio
- 19. Le immagini WebView non vengono visualizzate con HTTPS
- 20. Quando e come vengono interrotte le chiamate di sistema?
- 21. I post programmati tramite Graph API spesso non vengono pubblicati
- 22. Cercando di firmare digitalmente tramite HMAC-SHA1 con PHP
- 23. Come ottenere il contesto dell'utente durante le chiamate Web Api?
- 24. accesso registro chiamate iOS api
- 25. Le risorse Crossrider vengono offerte da HTTP anziché da Https
- 26. Dopo l'accesso, tutte le pagine dovrebbero essere https?
- 27. test se tutte le immagini sono caricate
- 28. Android: come registrare tutte le chiamate dei metodi di attività?
- 29. Le API di Instagram supportano le chiamate batch?
- 30. Impostazioni predefinite per tutte le chiamate jQuery ajax