Autenticazione API con un singolo ID

1

Una tipica autenticazione API di solito si basa su una coppia di API ID + SECRET, la mia domanda è: se l'ID API è unico e generato casualmente ed è considerato abbastanza strong (ad es. SHA512), perché è necessario un SECRET?

Che cosa succede se, ho creato un'API che richiede solo un ID API per l'autenticazione, quale sarebbe lo svantaggio, soprattutto in termini di sicurezza?

Alcuni potrebbero dire che è facile revocare il SECRET senza modificare l'ID API, ma ciò non suona, poiché se è necessario aggiornare il SECRET, è necessario modificare il codice di configurazione / sorgente anche.

Internamente il programma API può ancora avere qualche ID univoco per identificare il client, ma questa informazione non ha bisogno di esporre al codice client , basta usare un singolo ID è sufficiente, giusto?

In realtà avrei considerato l'utilizzo di un singolo ID API più sicuro - dal momento che quando si cambia, è più difficile identificare il client (poiché non esiste un ID API costante)

Qualsiasi convocazione?

    
posta Yoga 21.05.2015 - 20:00
fonte

1 risposta

2

Questo è un po 'come chiedere perché abbiamo sia un nome utente sia una password per tutti i nostri normali account internet, quando è discutibile che sia sufficiente una password.

Il primo motivo è in realtà contenuto nella tua domanda:

Actually I would considered using a single API ID is more secure - since when you change , it is more hard to identify the client (as there is no constant API ID)

Questo è il problema. Molti servizi semplicemente non funzionano se non riescono a ricordare chi sei . Immagina se un provider di posta elettronica "perdesse" tutta la posta che avevi inviato o ricevuto ogni volta che avevi cambiato la password. Nessuno li userebbe mai.

La seconda ragione è che non è più sicuro. In ogni caso, l'hacker deve solo capire il segreto per impersonare te. La presenza di un non segreto non rende automaticamente il segreto meno sicuro (assumendo che il metodo utilizzato per generare il segreto e non segreto sia crittograficamente sicuro).

    
risposta data 21.05.2015 - 22:00
fonte

Leggi altre domande sui tag