Questa è una domanda sull'architettura dei sistemi.
Sono in procinto di pianificare una piattaforma online che raccoglierà le informazioni mediche delle persone. A causa della natura estremamente delicata dei dati presentati, voglio garantire il completo anonimato.
Verrà creato un profilo che conterrà tutti i dati, ma nessuno di essi sarebbe personalmente identificabile - le loro condizioni, sintomi, farmaci, esiti di test, informazioni dietetiche, ecc., ma nessun nome, date (forse l'anno di nascita), posizione, ecc. Vorrei anche evitare di avere qualsiasi informazione di contatto, incluso l'indirizzo email.
Tuttavia, questo presenta alcune sfide logistiche, per non dire altro:
- Come prevenire lo spam e duplicare le registrazioni
- Come fornire strumenti per il reset della password se non ho un indirizzo email (o non faccio nulla riguardo al dirottamento dell'account, se la password viene divulgata)
- Come ospitare "registrazione solo su invito" mantenendo l'anonimato
Mi chiedevo se un approccio a due sistemi potesse funzionare. Se avessi il sito A in cui le persone potessero inserire i loro dettagli di identità di base: nome, email, ecc. E essere convalidati come persona reale, e magari emettere inviti e permessi ad altre persone per registrarsi.
Ciò fornirebbe loro un hash che potrebbe essere inserito nel Sito B che verificherebbe contro tutti gli hash disponibili dal Sito A, e se trovasse una corrispondenza, permetterebbe alle persone di procedere con la loro registrazione anonima sul Sito B .
L'hash verrebbe rimosso dall'elenco di hash disponibili del sito A e l'hash non verrebbe registrato dal sito B- rimuovendo qualsiasi collegamento specifico, pur garantendo la convalida dell'utente reale e controllando le registrazioni ripetute. Funzionerebbe?
So quanto suona complicato, ma non voglio che i dati personali vengano archiviati perché le persone possano hackerare. Se una violazione del Sito A è stata in grado di determinare che una persona specifica si è registrata e quindi ha usato il proprio token sul Sito B, ma non c'era un collegamento 1-a-1 tra un utente del Sito A e un record del Sito B, allora potrei vivere con che.
Per quanto riguarda la logistica della verifica- propongo che l'utente, essendo stato autenticato con l'hash, sia in grado di impostare un nome utente e una password che utilizzano per accedere al sito.
Per fornire sicurezza, potrei suggerire di utilizzare 2FA, ma ciò richiederebbe la memorizzazione di tutto ciò che potrebbe essere utilizzato per collegare l'account a un determinato individuo? Qualcosa di simile ad un 2FA veramente anonimo? Sarei a posto senza avere una politica di registrazione, ma non so se 2FA richieda un indirizzo email o un ID memorizzato con google che potrebbe essere utilizzato per stabilire una connessione.
Id essere molto contento se qualcuno fosse a conoscenza di un caso di utilizzo simile in cui è stata trovata una soluzione accettabile. Forse esiste già un provider che può essere utilizzato (come Sito A)?