I messaggi privati devono essere crittografati?

2

Voglio implementare un sistema di messaggistica privato sul mio sito Web, ma mi chiedo se il contenuto del messaggio privato tra Alice e Bob debba essere memorizzato in testo normale nel database o essere crittografato prima di quello, in modo che anche se il database viene dirottato, gli aggressori non sarebbero in grado di leggere i messaggi.

Quindi le mie domande sono:

  • È necessario farlo se il tuo sito non è bancario / PayPal -come posto? Fai Facebook , YouTube , ecc. Fallo questo modo?

  • Come faccio a lasciare che solo Alice e Bob lo decodifichino?

Potrebbe essere eccessivo farlo (almeno nel sito web su cui sto lavorando), ma se lo farò, suppongo che sia meglio farlo prima di avviare il sito.

    
posta 11.03.2013 - 20:10
fonte

3 risposte

2

probabilmente la risposta sta usando RSA per crittografare i messaggi privati. Ogni utente ha una coppia di chiavi, e Alice usa la chiave pubblica di Bob per crittografare il suo messaggio, e Bob lo decifra con la sua chiave privata. Il problema arriva con la distribuzione e la sicurezza di questi keypair

Poiché l'unica informazione conosciuta solo da un utente all'interno di un sistema come questo è una password, sarà difficile memorizzare in maniera efficace e sicura la chiave privata dell'utente. L'unico meccanismo a cui riesco a pensare è la crittografia della chiave privata con una chiave derivata dalla password dell'utente. Questa chiave privata viene quindi archiviata, probabilmente sul lato client, e utilizzata per crittografare e decrittografare i messaggi mentre l'utente ha effettuato l'accesso.

Sfortunatamente, questo sistema ti mette in balia dei problemi di sicurezza di qualsiasi tecnologia tu scelga di usare (cookie, dati di sessione lato server, localStorage, ecc.) e un aggressore motivato può probabilmente eluderlo abbastanza facilmente. Probabilmente richiederebbe una sorta di plug-in del browser per fornire un brigde a gpg o equivalente per arrivare anche vicino alla sicurezza, e questo finirà per essere più un problema che vale la pena.

Per farla breve: probabilmente non puoi farlo in un modo che è effettivamente sicuro contro un aggressore motivato

    
risposta data 11.03.2013 - 21:13
fonte
4

Bene, come già spiegato dai precedenti manifesti, una crittografia reale che convalida il destinatario è molto difficile da implementare.

Quello che puoi fare con metodi più semplici - come la crittografia simmetrica a livello di applicazione - è creare un livello di astrazione:
Quando un utente malintenzionato accede a solo il datastore (come quando c'era una vunerabilità nel sistema di autorizzazione / ACL del datastore o una possibilità per l'iniezione di query - quelli sono difetti comuni), i dati rimarranno al sicuro. L'applicazione sarà necessaria per ottenere testo normale.

Suppongo (non ci sono fatti, però) che i social network e le comunità difficilmente possano fare di più - o addirittura fare qualsiasi cosa.

L'unica vera risposta alla tua domanda è: Dipende (come sempre)

Se stai creando un forum su sweet cats , probabilmente la crittografia PN non è un problema che dovresti affrontare principalmente.

    
risposta data 12.03.2013 - 00:49
fonte
1

Bene I messaggi "privati" dovrebbero rimanere privati. È possibile farlo crittografando i PM con un algoritmo di crittografia simmetrica (come AES) e avendo un secondo server (per maggiore sicurezza) che accetta l'id di sessione, l'id PM e risponde con la chiave pm se l'utente è mittente / destinatario . Spero che la mia risposta sia chiara.

    
risposta data 11.03.2013 - 20:18
fonte

Leggi altre domande sui tag