Un sito web può consentire agli utenti di postare in modo sicuro in modo anonimo, consentendo comunque che questi post vengano modificati dall'autore originale in un secondo momento e impedendo la modifica da parte di altri utenti?
In questo contesto, "in modo sicuro post anonimo" significa che un utente malintenzionato con accesso completo al server fisico dopo il fatto (ad esempio il sequestro governativo) non può determinare quale utente ha creato un determinato post anonimo. Non sono stato in grado di trovare un algoritmo che soddisfi questi requisiti.
I miei primi pensieri:
- Quando un utente accede (indipendentemente dall'attività anonima),
hash(
password + sale 1)
viene utilizzato per l'autenticazione utente come normale ehash(
password + sale 2)
è memorizzato sul server come "chiave anonima" mentre l'utente ha effettuato l'accesso (mai scritto sull'archivio). - Quando un utente crea un post anonimo,
hash(
ID post + chiave anonima)
è memorizzato come 'token di proprietà' per il post anonimo. - Quando un utente desidera modificare un post anonimo, il sistema autentica la proprietà ripetendo il processo di generazione del token proprietario e controllando se il risultato corrisponde al token esistente.
Nota che:
- Un utente malintenzionato non può cercare l'autore di un post anonimo senza catturare la chiave anonima dell'autore dalla memoria del server mentre l'utente ha effettuato l'accesso.
- Poiché gli ID post sono unici, ogni post anonimo avrà un token di proprietà diverso anche se sono creati dallo stesso utente, quindi un utente malintenzionato non può determinare quali post anonimi condividono un autore.
Detrazioni a questo algoritmo:
- Un utente che desidera pubblicare in modo anonimo deve avere un account normale sul sistema.
- Il profilo di un utente non può collegarsi ai suoi post anonimi, in quanto il sistema non memorizza questo collegamento. L'utente deve ricordare e trovare il post tramite altri mezzi e chiedere di modificare, a quel punto verrà eseguito il controllo della proprietà. Questo distingue questa domanda da una domanda simile dove profilo l'obiettivo era la linkabilità con l'anonimato.
- Quando si modifica una password, un utente dovrebbe comunicare al server tutti i post anonimi in modo che i token di proprietà possano essere aggiornati o perdere definitivamente l'accesso a tali post.
- Un utente malintenzionato con accesso amministrativo al sistema mentre è in esecuzione sarebbe in grado di registrare le chiavi anonime degli utenti mentre si collegano e successivamente utilizzarle per rompere l'anonimato dei token proprietari.
Mi mancano alcune grandi cose che renderebbero questa insicurezza sotto la definizione di 'sicuro postare anonimamente' sopra? C'è un sistema migliore (più semplice, più sicuro o meno detrazioni) per questo? Esiste già un algoritmo per qualcosa di simile?