JavaScript crittografia asimmetrica basata su password

1

Voglio codificare un'app web che consente a 2 utenti di inviare messaggi crittografati l'un l'altro e voglio massimizzare la sicurezza, quindi voglio ridurre al minimo la quantità di fiducia che ho inserito nel mio provider cloud (sia il database che il server in cui si trova il codice dell'app).

Quindi ho pensato di provare a imparare come eseguire tutte le operazioni di crittografia / decrittografia lato client (in javascript).

Ma ho letto vari articoli come da 2013 , 2011 e 2017 raccomandando caldamente che nessuno abbia mai codificato alcun elemento legato alla crittografia in JS.

Se presumo che gli avvertimenti degli esperti di crittografia su JS siano corretti, ho queste domande:

  1. Da quello che posso dire, Libsodium sembra essere una libreria di crittografia molto rispettata, quindi perché it offre un versione javascript se JS è debole? (E così fa Stanford , W3C e Segnale .)
  2. È possibile sviluppare un'app come immaginavo (crittografia end-to-end da client a client) senza che dovessi imparare a codificare Android o iOS? (Se no, allora quale approccio mi avvicina di più al mio obiettivo? )

Voglio anche comodità: voglio che gli utenti siano in grado di accedere al sito Web da qualsiasi dispositivo purché possano anche fornire un codice di autenticazione a più fattori dal proprio telefono.

(Ie Utilizzando l'app non è possibile richiedere localStorage specifico per un dispositivo o richiede il caricamento di file di chiavi troppo lunghi per essere memorizzati, gli utenti devono essere in grado di accedere solo fornendo le credenziali memorizzate.)

Spero che qualcuno tipo mi indichi la giusta direzione invece di chiudere le mie domande con il tipico " se devi chiedere di sicurezza, dovresti lasciarlo ai professionisti". Voglio imparare . Grazie.

    
posta Ryan 11.08.2018 - 06:30
fonte

0 risposte

Leggi altre domande sui tag