Come mostrare in modo sicuro del testo su una pagina Web?

2

Voglio mostrare alcune informazioni molto sensibili su una pagina web e voglio assicurarmi che nessuno, eccetto l'utente davanti al browser, sia in grado di accedere a queste informazioni. Sono consapevole che in generale non è una buona idea, ma alcuni siti riescono a farlo. Ad esempio: LastPass

Quali sono i rischi per la sicurezza da considerare?

Come procederesti a implementarlo in modo sicuro?

Supponiamo che il computer client non sia compromesso e che sia il problema del client per essere sicuro che nessun altro stia guardando in alto.

Ora, se hai intenzione di rispondere "NO", non farlo. È chiaramente possibile perché alcuni siti lo stanno facendo o stai dicendo che non sono tutti sicuri? Se questo è il caso, potresti elaborarlo?

E, prima che qualcuno contrassegni questa domanda come duplicata, ho appena chiesto la stessa cosa qui ma non ha ricevuto alcuna buona risposta e la domanda è stata messa in attesa, forse perché non l'ho t formulare correttamente la domanda.

Inoltre, se qualcosa non è chiaro nella domanda, si prega di lasciare un commento qui sotto e io risponderò.

    
posta Gudradain 27.06.2014 - 17:39
fonte

5 risposte

5

Non esiste un modo magico per visualizzare il testo in modo sicuro su una pagina web. O è sicuro da visualizzare o non lo è, e quale di quei bucket in cui cadono i tuoi dati dipende dal tuo modello di minaccia. Quale minaccia specifica si desidera proteggere contro e qual è il rischio che la minaccia venga utilizzata in un attacco? Per contrastare il rischio, qual è il valore della visualizzazione dei dati all'utente? È abbastanza importante che vedano i dati che il valore supera il rischio?

Nel caso di LassPass, l'intera applicazione è progettata per consentire all'utente di gestire le password. A volte ciò significa che è necessario vedere le password in testo normale. È una caratteristica importante dell'app e, quindi, vale il rischio che un navigatore sulla spalla scopra la password. Per la maggior parte delle altre applicazioni, non c'è davvero molto valore nella visualizzazione di una password in testo semplice per l'utente, quindi la sua visualizzazione non compenserebbe nemmeno i rischi minori.

Quindi, devi decidere per il tuo caso di utilizzo è il valore di visualizzare i dati per l'utente maggiore del rischio, o no?

Oltre a questo, vale la pena ricordare che esiste una terza via. Potresti lasciarlo all'utente. Potresti chiedere loro (tramite una casella di controllo o un collegamento, ad esempio) se vogliono i dati da visualizzare. Quindi spetta a loro determinare se il valore di vedere i dati supera non solo il rischio generale, ma il rischio specifico in quell'istante. (Potrebbero scegliere in modo diverso se si utilizza un computer a casa contro un chiosco in un centro commerciale affollato, ad esempio.) Quindi è possibile impostare l'opzione più sicura di non visualizzare i dati, ma dare all'utente la possibilità di ignorare tale impostazione predefinita. Realisticamente, tuttavia, è necessario avere un valore significativo nella visualizzazione dei dati per poterli persino visualizzare. Generalmente nel caso specifico di visualizzazione della password di un utente in testo semplice, quel valore semplicemente non esiste.

    
risposta data 27.06.2014 - 18:09
fonte
2

Se davvero non vuoi che chiunque, tranne l'utente davanti al browser, abbia accesso, è necessario crittografare i dati a riposo (lato server) e il canale di comunicazione (HTTPS). Avresti bisogno di avere un qualche tipo di algoritmo di decrittografia implementato lato client.

Per i dettagli, consulta link .

Lo stesso modello sarebbe applicabile qui.

    
risposta data 27.06.2014 - 18:05
fonte
2

L'uso di SSL, richiedendo che l'intera pagina sia SSL e l'autenticazione dell'utente durante la sessione, garantisce che solo il browser utilizzato dall'utente abbia accesso ai dati, ma non è possibile garantire che non vi sia software sul il computer dell'utente che sta copiando i dati, né è realmente tua responsabilità garantire l'integrità del computer del cliente nella maggior parte dei casi.

I siti Web non hanno quasi alcun controllo sull'ambiente client, quindi sei costretto a credere che il browser che l'utente sta usando sia sicuro e si comporti correttamente.

    
risposta data 27.06.2014 - 18:37
fonte
1

Non è assolutamente possibile che tu, il proprietario del sito web, possa garantire che solo l'utente possa visualizzare tutto ciò che il tuo sito web visualizza per loro. L'utente è un'entità completamente fuori dal tuo controllo e, nella maggior parte dei casi, sta visualizzando il tuo sito su un sistema che è quasi ugualmente fuori dal tuo controllo.

La sicurezza delle informazioni visualizzate su una pagina Web, una volta raggiunto il computer dell'utente, dipende interamente dalla sicurezza del computer dell'utente e dell'ambiente in cui risiedono. Non c'è modo in cui tu, come proprietario di un sito web, puoi controllarlo completamente.

Il meglio che puoi fare è proteggere i dati sui tuoi sistemi e implementare meccanismi di crittografia e autenticazione potenti per garantire che solo gli utenti autorizzati siano in grado di recuperare tali dati in remoto. Una volta che i dati sono nell'ambiente dell'utente, la sua sicurezza non è più sotto il tuo controllo, né dovrebbe essere considerata una tua responsabilità fintanto che puoi dimostrare che tu e / o il tuo sistema siete stati autorizzati a fornire i dati all'utente nel momento in cui è stato fornito.

    
risposta data 27.06.2014 - 20:31
fonte
0

Ci sono tre approcci a questo problema:

  • Cifrare i dati sensibili sul server e decrittografarli su richiesta. Questo è ciò che ha fatto Lavabit , e non è finito bene Il problema è che, indipendentemente da quanto crypto voodoo tu faccia, l'intera sicurezza dipende sempre dal tuo server. Il tuo servizio sarà vulnerabile agli attacchi di qualsiasi altro sito web standard.

  • Delega la crittografia al client, ma fornisci gli strumenti. Ad esempio, nel tuo sito includi un programma JavaScript che crittografa i dati prima di essere inviato al server e decrittografa i dati crittografati provenienti dal server. Può sembrare una buona idea, ma in realtà è solo la prima opzione sotto mentite spoglie. La sicurezza dei dati dipende ancora dal tuo server. Un utente malintenzionato che ha il controllo del server potrebbe essere in grado di interrompere gli strumenti e sovvertire la crittografia.

  • Togli le mani dai dati e della crittografia e lascia tutto al cliente. In altre parole, si tratta solo di dati crittografati e non si conosce nemmeno il testo in chiaro. Questa è davvero l'unica soluzione onesta. Tuttavia, significa che gli utenti necessitano di strumenti aggiuntivi come PGP / GPG. Questo potrebbe essere un problema.

risposta data 27.06.2014 - 19:56
fonte

Leggi altre domande sui tag