Pratiche di sicurezza per interrogare in modo sicuro le API di terze parti autenticate per conto dei clienti

1

Risulta che è necessario che la nostra applicazione sia in grado di eseguire il polling dei dati su una pianificazione specifica da un'API esterna per conto dei clienti. L'API può essere qualsiasi API di riposo scelta dal cliente. Dobbiamo essere in grado di eseguire il polling dell'API senza input client dopo l'installazione iniziale. Tutti i componenti dell'applicazione saranno ospitati su cloud utilizzando il sistema di gestione dei cluster.

Nota: le API client possono o non possono supportare Oauth.

Per supportare questo, abbiamo realizzato che dobbiamo memorizzare le credenziali dell'API in modo sicuro e in modo reversibile.

Per raggiungere questo obiettivo, riteniamo che siano necessari i seguenti passaggi:

  1. Una volta impostata la pianificazione dell'API, il client deve fornire le credenziali all'API
  2. Viene trasferito in modo sicuro utilizzando HTTPS ai server
  3. I server crittografano le credenziali tramite Symmetric Key Encryption
  4. Quando lo scheduler rileva una chiamata all'API deve essere effettuata, decrittografa le credenziali - > Autentica con l'API - > Chiama l'API
  5. Archivia i dati

I passaggi 3 e 4 credo che richiedano di essere molto cauti.

  1. Dobbiamo mantenere le chiavi di crittografia disponibili per decrittografare i dati. Stiamo pensando di utilizzare soluzioni cloud KMS (AWS o google o qualcos'altro)

  2. Archiviazione di dati crittografati riteniamo sia un aspetto importante.

Quindi le domande sono:

  1. A un livello elevato abbiamo perso una fase / processo di sicurezza? Se è così, dove posso saperne di più.
  2. Dove dovremmo memorizzare il dati crittografati? Possiamo tenerlo in un database (SQL, No-SQL)? È lì un approccio migliore rispetto al database, come ad esempio il gestore delle credenziali in Windows o qualcos'altro?
  3. se memorizziamo dati crittografati in database quali passi dovrebbero essere necessari per garantire il database sicuro?

Ho letto i seguenti link, quindi le mie domande riguardano maggiormente l'archiviazione e la comprensione della mancanza di elementi:

Come crittografare i dati sensibili degli utenti e trasportarli in sicurezza tra client e server?

Come archiviare e utilizzare in modo sicuro 3rd Chiavi API party?

    
posta Varun Dave 02.11.2017 - 13:55
fonte

0 risposte

Leggi altre domande sui tag