Quando si utilizza la propria API (Cibo per cani). Come eviti di dare via la chiave segreta?

3

Ho letto questo articolo su api di soundcloud:
link
Parla del consumo della tua API. Quello che non capisco è come evitano di dare via la chiave segreta. Se di solito fornisci la chiave segreta a uno sviluppatore che la utilizzerà nella sua API, come ti dai la chiave segreta e non la divulga senza trasferirla sul filo? Presumo che ci sia una nuova chiave segreta per ogni utente. Altrimenti ogni utente avrebbe la stessa chiave segreta e una nuova chiave pubblica e non sono sicuro che funzionerebbe.

Non sto parlando di sviluppatori. Sto parlando di utenti come noi di Stack Exchange (utenti effettivi dell'app stessa). La mia app consumerà la propria API. Ogni utente che si registra per l'app (presumo) otterrebbe una chiave privata e pubblica. Ogni chiamata all'API dovrebbe (potenzialmente) autenticare con una chiave pubblica e privata. Se in questa situazione l'utente è un utente regolare dell'app, come si ottiene la chiave privata per l'utente. O non è questo il modo migliore per farlo?

    
posta user974407 02.09.2013 - 21:27
fonte

2 risposte

3

Il modo crittograficamente sicuro è che ogni client generi la propria chiave segreta e generi una richiesta di firma della chiave sul server. Il server quindi rivede le richieste in entrata e decide se desidera firmare quella chiave.

Il servizio API funziona quindi in questo modo. Richiede l'autenticazione del client tramite certificati. Se il certificato è firmato dall'autorità dei server e non si trova nell'elenco bloccato, la connessione viene accettata, altrimenti la connessione viene rifiutata.

Il risultato finale, purché tu firmi una richiesta di firma solo quando sei sicuro della sua origine, puoi essere certo che il client è chi afferma di essere (o la sua chiave privata è stata compromessa) Mantenendo un blocco elenco sul server, i certificati firmati validamente possono ancora fallire nel consentire l'accesso.

    
risposta data 04.09.2013 - 18:37
fonte
1

Direi che allo stesso modo di https funziona ora: non pubblicizzi la chiave privata, ma solo la chiave pubblica. Solo il tuo codice interno confermerà la chiave pubblica contro la chiave privata.

    
risposta data 04.09.2013 - 18:09
fonte

Leggi altre domande sui tag