Protezione REST utilizzando solo la chiave API e SSL

5

Sto cercando di creare una serie di semplici servizi web REST in cui:

  • devono essere richiamati solo dai client lato server (cioè senza cellulare / javascript / desktop)
  • sono accessibili solo da HTTPS (nessun downgrade a HTTP)
  • I client
  • verranno distribuiti solo in posizioni sicure e affidabili
  • I client
  • avranno ciascuno una chiave API univoca
  • ogni servizio terrà un elenco di chiavi client consentite

Quando si accede a un servizio Web, un client fornirà la sua chiave client univoca nel corpo di ogni richiesta per l'autenticazione a quel servizio.

Domanda: questo semplice approccio è sufficiente per limitare l'accesso ai servizi solo ai client conosciuti?

    
posta rogersillito 02.04.2014 - 15:29
fonte

1 risposta

5

Quindi, in linea di massima, se hai una situazione in cui è la comunicazione da server a server, alcune delle preoccupazioni standard sull'autenticazione dell'utente non sono in gioco e ciò che hai sembra ragionevole, alcune cose a cui pensare (anche se se questi sono relvant dipenderà molto dal tuo modello di minaccia)

  • Le chiavi API utilizzate hanno un'entropia sufficiente a impedire congetture o attacchi brute-forzanti?
  • È in atto un processo per la revoca / re-emissione chiave nel caso in cui una delle sicurezza del client sia compromessa.
  • Si sta utilizzando il blocco dei certificati o qualcosa di simile per attenuare i rischi delle macchine client che subiscono un attacco MITM, in cui l'autore dell'attacco ha la possibilità di emettere un certificato da una CA "attendibile".
  • Il processo di caricamento delle chiavi su client e server riduce il rischio di un partecipante nel processo di copiare / abusare della chiave?
  • Come stai memorizzando le chiavi sul lato server? In chiaro, nel formato crittografato in modo reversibile o in un formato hash?
risposta data 02.04.2014 - 15:48
fonte

Leggi altre domande sui tag