Decrittografia con autenticazione a due vie

1

Abbiamo un cliente che desidera che i suoi dati sensibili dell'utente vengano archiviati con una crittografia.

Questi sono i requisiti di base:

  • I dati sensibili dell'utente vengono memorizzati in un database utilizzando la crittografia
  • Un utente remoto che ha accesso al server web e / o al database non ha accesso ai dati sensibili
  • L'utente che ha effettuato l'accesso deve poter accedere ai dati

Siamo arrivati con il seguente ambiente & Flusso di lavoro

Ambiente

  • Server 1

    • Webserver che applica HTTPS
    • Database con dati utente crittografati
    • Non ha accesso al Server 2 - solo a un servizio
  • Server 2

    • Servizio con autenticazione a 2 vie
    • Ha accesso al database crittografato sul server 1
    • Ha una chiave di crittografia per i dati utente nel Database sul Server 1

Flusso di lavoro

  1. L'utente accede al sito web con nome utente & password [Login parte 1]
  2. Il server 1 richiede un token sul server 2
  3. Il server 2 decrittografa il numero di cellulare dai dati utente sul Server 1 e invia un SMS di auth-code
  4. L'utente inserisce il codice di autorizzazione dall'SMS nel modulo [Login parte 2]
  5. Il server 1 richiede la chiave di crittografia dal server 2 utilizzando il token e il codice di autorizzazione
  6. Il server 1 memorizza la chiave richiesta nella sessione utente (sessione PHP, l'utente del server web non ha accesso) . Il server 1 utilizza alcuni dati di connessione degli utenti Web (indirizzo IP e stringa utente-agente) per crittografare la chiave nella sessione utente

Questa è una soluzione abbastanza buona per proteggere i dati sensibili?

    
posta nick 26.05.2016 - 15:32
fonte

0 risposte

Leggi altre domande sui tag