Il nostro cliente (una banca) ha bisogno di pubblicare un'API del servizio web per l'utilizzo da parte di applicazioni di terze parti. La sicurezza coinvolgerà OAuth2 e JWT (Token Web JSON). Il problema è che il cliente ha paura dell'uso improprio delle API pubblicate dalle terze parti a cui non si fidano completamente (per favore, non commentare su questo). Uno scenario di base è simile a questo:
L'API pubblica contiene un'operazione IsOurCustomer () che restituisce true / false se la persona ha un prodotto nella banca. L'operazione successiva è CreateNewCustomer () e viene chiamata quando IsOurCustomer () restituisce false.
La banca teme che una terza parte possa analizzare la propria base di clienti controllando chi è / non è il loro cliente chiamando IsOurCustomer () in sequenza per tutte le persone prese da un'altra fonte (ad esempio da un registro pubblico). (Non posso dire se il presunto danno è reale o se è solo una paranoia.)
C'è un modo per prevenire la possibilità di scansione dei dati?
Ci sono alcune soluzioni parziali con cui siamo venuti, ma nessuno di loro attenua completamente il problema:
- Throttling - È difficile impostare il limite corretto che non limiti il lavoro legale della società di terze parti, ma impedirebbe loro di utilizzare male l'API nello stesso momento. Soprattutto quando la terza parte ha molti dipendenti e abbastanza tempo. La terza parte potrebbe emettere migliaia di assegni cliente (giustificati) al giorno, che potrebbero consentire loro di eseguire la scansione di 1 milione di persone all'anno.
- Minacce legali - quando viene rilevato un uso improprio dell'API (che richiede registrazione e monitoraggio).
- Pagamenti per chiamata API - sopra un limite concordato
- Euristica - ad es. segnala un avviso quando il rapporto delle chiamate verso IsOurCustomer () e CreateNewCustomer () è troppo alto.
- "Sistema Prevenzione delle perdite di dati" - Non conosco nessun DLP utilizzabile per il nostro scopo.