Reimposta automaticamente la chiave API se inviata tramite HTTP non protetto

3

Ho un'API in cui i client eseguono l'autenticazione tramite l'autenticazione di base Http (account: apikey). Gli utenti possono generare (e revocare) molti apikey per lo stesso account.

Al momento accetto solo richieste HTTPS, ma mi piace l'idea di abilitare HTTP e, dopo aver eseguito correttamente l'autenticazione dell'account: apikey, disabilita automaticamente quell'apikey sul base che è stato inviato tramite un canale non criptato.

Questo schema può migliorare la sicurezza dell'autenticazione nella mia Api?

    
posta Victor 30.04.2018 - 17:37
fonte

1 risposta

4

Non penso che ciò migliorerebbe la sicurezza. Se il tuo endpoint API non ha la porta 80 / tcp aperta, nessuno potrà mai avviare una connessione, figuriamoci inviare le chiavi API ad essa.

Con una porta 80 / tcp chiusa, non appena qualcuno invia un pacchetto SYN , l'endpoint risponderà con una RST , l'handshake non verrà mai completato e nessun dato verrà inviato.

Se hai la funzione "scadenza da HTTP" sull'endpoint, dovrai aprire un'altra porta, ascoltare l'autenticazione, verificare che i dettagli di accesso siano validi e revocarli. Fino a quando l'utente non scopre che ha inviato accidentalmente dati da HTTP, lo frusterà e lo costringerà a riconnettersi, ricreare una chiave, modificare tutti i file di configurazione e riavviare la programmazione. Senza questo, e con la porta 80 chiusa, l'utente prova a inviare dati, ottiene un errore di connection refused , cambia porta e continua a programmare con piacere.

    
risposta data 30.04.2018 - 20:20
fonte

Leggi altre domande sui tag