Crittografia PGP per l'app basata sul server

1

Ecco il contesto:

Sto utilizzando PGP per crittografare i messaggi in un'app web di chat. Dopo aver esaminato alcuni articoli, ho una breve idea di come funzioni PGP ed ecco come lo faccio con openPGPJs :

  • Client (browser web) genera public/private key-pairs e invia la chiave pubblica al server per memorizzarlo.
  • Il mittente utilizza il public key del destinatario per crittografare i dati e inviarli.
  • Il destinatario utilizza il proprio private key per decrittografare il messaggio.

Come app di chat ho bisogno di memorizzare tutti i messaggi e decifrarli quando l'utente vuole vedere il vecchio messaggio. la decrittazione dei messaggi richiede la chiave privata. qui il client è un browser Web che non può memorizzare le chiavi private a lungo né può tenerle al sicuro. così ho deciso di memorizzare la chiave privata sul server web. Ora il client (browser Web) richiede al server la chiave privata ogni volta che viene decrittografato il messaggio.

Considerando PGP un protocollo End-to-End, l'archiviazione della chiave privata sul server è vulnerabile. la mia domanda è:

  • In che modo la crittografia PGP funziona per le applicazioni Web in cui il client non è in grado di mantenere private key sicuro e riservato?

  • Va bene memorizzare private key sul server?

  • C'è un modo migliore per farlo?

Grazie per eventuali suggerimenti.

    
posta Suraj 12.08.2017 - 20:44
fonte

1 risposta

0

Ho lavorato su qualcosa di simile per la firma dei messaggi. La risposta breve è: è supportata solo in Chrome, ma il futuro non è brillante.

Puoi farlo utilizzando l' API del filesystem . Tuttavia, il problema è: questo non viene standardizzato dal w3c, il supporto per esso in qualsiasi browser diverso da chrome non funziona , ed è del tutto possibile che uno script canaglia possa accedere all'API del filesystem e rubare la tua chiave.

Alla fine ho abbandonato il progetto. Saresti saggio a riconsiderare su cosa stai lavorando. CryptoCat ha già risolto il problema della chat browser sicura ...

Modifica :

Sembra che Crypto Cat sia stato riscritto nel 2016 e ora abbia versioni basate su PC. C'è un repository legacy cripto-gatto che sembra avere il codice originale di CryptoCat.

    
risposta data 12.08.2017 - 23:15
fonte

Leggi altre domande sui tag