Cosa succede quando la tua chiave API segreta viene rubata e utilizzata da altri?

4

L'uso dell'API a pagamento aumenta di anno in anno. Ad esempio, IBM, Google e Microsoft forniscono API a pagamento come Sintesi vocale , Discorso al testo e Immagine al testo e viceversa.

Ho una domanda su cosa succede se costruisco un'app e la pubblichi:

1 . Cosa succede quando un'altra persona usa Wireshack o il reverse engineering per ottenere la chiave di questa API e quindi utilizzarla nella sua app o venderla?

2 . Lo pagherò anche se i miei clienti non sono le persone che utilizzano questa API?

3 . C'è un modo per ridurre o impedire che ciò accada?

Sono solo preoccupato per questo e sicuramente questo sta accadendo o deve essere successo ad un certo punto.

Nota :

L'ho chiesto perché ho visto la mia API di Google Maps con il software Wireshark.

La mia soluzione iniziale è far sì che ogni utente crei nome utente e password e applichi restrizioni a ciascun singolo utente, ma quelle società che ho citato non lo fanno. Semplicemente usano una sola chiave per i loro servizi.

    
posta Programmer 06.03.2017 - 21:09
fonte

2 risposte

8
  1. Come ci si può aspettare, non c'è modo di proteggere completamente la tua chiave API se è direttamente utilizzato da un'applicazione client. L'utente può annusare il suo netowrk (l'uso di https o di un canale criptato potrebbe ancora aiuto ma è solo una questione di tempo in quanto l'utente può vedere il pieno handshake) o il reverse engineering del software (lo stesso qui, è possibile crittografare la chiave API ma con un po 'di lavoro, è sempre possibile ottenere la chiave di nuovo).
  2. Sì, ti verrà comunque addebitato anche se la chiave API non viene utilizzata in base a ciò che potresti aspettarti semplicemente perché il servizio api non ha modo di sapere se è parte del tuo uso intenzionale.
  3. Esiste solo una soluzione che può proteggere completamente la tua chiave API dall'essere afferrata e utilizzata come non voluta: fai tutto con il lato server chiave API. Il server fungerà da proxy tra l'applicazione client e il servizio API e, quindi, il client non può essere a conoscenza della chiave API. In ogni caso, potrebbe costarti un costo aggiuntivo per configurare un server.
risposta data 06.03.2017 - 21:30
fonte
1

Se chiami API da siti web aperti pubblicamente, non esiste una soluzione sicura al 100%.

È possibile rendere difficile l'uso di crittografia / decrittografia, offuscamento, proxy, alcuni controlli di intestazione, modifiche al codice su ogni build e tutto - ma non sarà protetto al 100%.

Perché qualunque cosa tu abbia fatto, può essere facilmente capovolta da un buon hacker perché può essere l'utente legittimo e non ha bisogno di alcun login o IP valido per usare siti web aperti pubblicamente, quindi ha accesso a tutto il codice JavaScript / HTML e può monitorare le richieste di rete dal sito web e analizzare il modello.

    
risposta data 04.11.2018 - 23:38
fonte

Leggi altre domande sui tag