Sicurezza di eseguire openpgp.js in un browser con la chiave privata in HTML5 localStorage

16

Se dovessi scrivere un'applicazione web utilizzando openpgp.js ( link ) per la creazione di messaggi crittografati / firmati PGP e se ho archiviato l'utente chiave privata in localStorage, sarebbe vulnerabile alle stesse lamentele sulla crittografia JavaScript sulla pagina web di Matasano ( link )?

Per quanto posso dire, i punti principali delineati da Matasano sono:

  • "La consegna sicura di Javascript ai browser è un problema dell'uovo di gallina". (Questo potrebbe essere risolto usando HTTPS)
  • JavaScript non è adatto alla crittografia
  • I browser sono troppo complessi per la crittografia poiché hanno il potenziale per contenere più vettori di attacco.

Se localStorage non è il posto migliore per memorizzare qualcosa di sensibile come una chiave privata, quale sarebbe il posto migliore?

    
posta Souvik Banerjee 30.06.2013 - 18:41
fonte

2 risposte

10

HTTPS è ancora un requisito assoluto e il punto principale di Matasano è che JavaScript non può mai sostituire HTTPS. Un attacco MITM potrebbe fornire un payload JavaScript personalizzato in grado di leggere qualsiasi segreto in localstorage e un carico utile XSS potrebbe anche compromettere questi dati.

Matasano ha torto riguardo ai generatori di numeri casuali in JavaScript. La maggior parte dei browser fornisce un generatore di numeri casuali molto sicuro window.crypto.getRandomValues() . Immagino che Matasano non abbia letto la API di crittografia w3c per JavaScript . Questa API contiene un generatore di numeri casuali che utilizza il pool di entropia del sistema operativo.

    
risposta data 30.06.2013 - 18:49
fonte
0

Se decidi di memorizzare il segreto in localStorage, dovrai assicurarti di non archiviare mai la chiave della sessione di testo libero lì. Non ho familiarità con openpgpjs, ma probabilmente facilita l'archiviazione sicura delle chiavi (qualche forma di classe keyring credo).

    
risposta data 01.07.2013 - 16:55
fonte

Leggi altre domande sui tag