Crittografia asimmetrica sui dati utente per consentire l'input non autenticato

0

Normalmente vorrei sviluppare un'app che codifica i dati dell'utente con la crittografia simmetrica (AES 256) da una chiave derivata basata su password (PBKDF2).

Per un nuovo progetto, vorrei che gli utenti fossero in grado di aggiungere dati al proprio account senza autenticazione. Tutto quello che dovrebbero sapere è il loro identificatore di account (username, email, ecc.).

Potrei realizzare questo con la crittografia asimmetrica come RSA? L'input non autenticato verrebbe crittografato con la chiave pubblica di un account e solo il titolare dell'account potrebbe decrittografarlo con la sua chiave privata.

Questo sarebbe un approccio accettabile, o sono totalmente fuori?

Modifica: per chiarire, un caso d'uso sarebbe la capacità del sistema stesso di generare dati per conto di un utente che possono essere decodificati solo dall'utente. Supponendo che il sistema non registri di questo.

    
posta Sterling Beason 21.11.2018 - 07:13
fonte

1 risposta

0

Penso che i tuoi utenti debbano essere autenticati per aggiungere dati nei loro account. Tieni presente che se qualcuno potrebbe perfezionare i dati solo conoscendo le credenziali.

Un altro approccio che puoi seguire è che l'applicazione scriverà solo i dati dell'utente se sono stati firmati correttamente. Durante la creazione dell'account, la chiave pubblica dell'utente viene archiviata e per l'aggiunta di dati a quell'account solo i dati che sono stati firmati con la chiave privake che l'applicazione può verificare. Ecco un esempio:

  1. L'utente genera una chiave privata e pubblica.
  2. La tua applicazione genera un account con (nome utente, email, chiave pubblica) (account1)
  3. Alcuni utenti desiderano scrivere dati sull'account1.
  4. La tua applicazione verifica che i dati ricevuti abbiano una firma che può essere verificata con la chiave pubblica dell'account1. Se questa operazione è vera, significa che i dati ricevuti sono stati firmati con la chiave privata dell'account1, in qualsiasi altro caso si rifiutano i dati.

Spero che questo ti aiuti

    
risposta data 21.11.2018 - 10:04
fonte

Leggi altre domande sui tag