Via per due parti per stabilire che non sono precedentemente noti l'un l'altro

3

(Scusa se questo non è nel giusto SE / non è rilevante per security.stackexchange - mi è sembrata la scelta migliore)

C'è un modo per due parti anonime di stabilire che sono non precedentemente noti l'uno all'altro, prima di rivelare le loro identità?

Supponiamo che Alice e Bob siano in grado di comunicare in modo anonimo e desiderano impegnarsi in una sorta di attività imbarazzante in un secondo momento. A loro non importa se rivelano la propria identità se l'altra parte è qualcuno che non conoscono, ma non vogliono rivelare il proprio desiderio di partecipare a questa attività a qualcuno che conoscono. Vogliono un modo per confermare che nessuno dei due conosce l'altro senza dover rivelare la propria identità nel processo (ma riveleranno inevitabilmente la propria identità se procedono con qualsiasi attività stiano pianificando).

Finora la mia unica idea è coinvolgere una terza parte fidata che riceve un elenco di nomi da entrambe le parti (compresi i loro nomi) e controlla le corrispondenze. La terza parte conferma solo la presenza o l'assenza di una partita. Potrebbe essere possibile per ciascuna parte presentare solo un elenco di hash invece di nomi identificabili per ridurre il rischio che le identità rivelatrici di terze parti, se alcuni standard di denominazione e hashing potrebbero essere concordati da Alice e Bob.

In questo modo se c'è una corrispondenza, Alice e Bob sanno solo che l'altro è qualcuno dalla loro lista. Questo non è l'ideale, tuttavia, poiché entrambe le parti potrebbero manipolare il processo fornendo nomi limitati o mirati per consentire loro di indovinare l'identità dell'altro.

Esistono approcci più eleganti a questa situazione?

    
posta user39583 06.02.2014 - 12:17
fonte

3 risposte

4

Se supponi che Alice o Bob possano essere maliziosi e proverebbero attivamente a sovvertire il processo (ad esempio mentendo sulla loro identità o sulla loro lista di "identità conosciute"), allora sembrerebbe probabile che tu abbia bisogno di un terzi di fiducia coinvolti.

Suggerirei che la strada da percorrere è coinvolgere fin dall'inizio il TTP. Quindi, se assumiamo che all'inizio del servizio Alice e Bob non abbiano nessuno nelle loro liste, il TTP può mediare ogni transazione ed essere il custode delle liste di chi sa chi (usando identità dirette o usando qualche forma di pseudoname)

Una sfida è ciò che impedisce ad Alice o Bob di inviare un'altra identità e quindi di iniziare da zero, per così dire. Sarebbe più difficile da superare senza che il TTP assuma una sorta di controllo dell'identità relativamente immutabile, per rendere più difficile avere più account.

    
risposta data 06.02.2014 - 12:41
fonte
0

Supponendo che non ci si possa fidare dell'altra parte, è necessario che una terza parte identifichi entrambe le persone, ma anche in quel caso, sarà un processo meno accurato. Se una delle parti non si comporta in buona fede, allora non ci saranno intersezioni nella lista di altre persone oltre alla loro effettiva identità.

Poiché la persona media conosce almeno diverse migliaia di persone ed è improbabile che sia in grado di richiamarle tutte, le probabilità che qualcuno scivoli tra le fessure del partecipante ben educato sono eccezionalmente alte. So che probabilmente ho incontrato più di diecimila persone che potrei riconoscere (almeno visivamente) se le vedessi. Non conosco nemmeno molti dei loro nomi, ma posso identificarli visivamente. La memoria umana non è semplicemente buona o affidabile per farlo con una parte non fidata.

Ora, se ci si può fidare di entrambe le parti, diventa molto più semplice ottenere un'approssimazione cercando le intersezioni tra gli elenchi a cui le persone possono pensare. Anche se probabilmente non mi ricordo il nome di Bob in Accounting, ricordo abbastanza dei miei colleghi che se conosciamo un sacco di persone dal lavoro, ci sono buone probabilità che ci siamo già incontrati. Non è ancora una cosa sicura e richiede ad entrambe le parti di essere degna di fiducia nell'interazione e non c'è modo di verificare che i controlli di background estesi siano a corto di una terza parte. (cioè, contattando ogni persona sulla loro lista, verificando la relazione e chiedendo loro un elenco di persone che conoscono che la persona conosce e continua fino a quando non si hanno perdite, e anche questo non è perfetto se hanno diversi sottoinsiemi di persone che non si conoscono l'un l'altro.)

    
risposta data 06.02.2014 - 15:43
fonte
0

In un commento hai detto che ti piacerebbe che il tuo sistema fosse in grado di dire se due utenti si conoscono nella vita reale o qualcosa del genere. E se ho capito bene, conoscersi sarebbe un disastro, quindi l'equilibrio penderebbe "nella più piccola possibilità, considera che si conoscono".

In tal caso, Alice si limita ad accedere per il tuo servizio e informare tutte le persone che conosce non è sufficiente, dato che Hubert (suo marito) potrebbe semplicemente accedere utilizzando un altro nome e avresti un problema.

È necessario che chiunque effettui l'accesso fornisca ulteriori informazioni, per costruire quella rete di relazioni. E non puoi semplicemente fidarti di quello che ognuno dice, perché potrebbe essere falso (di nuovo, Hubert potrebbe fornire qualsiasi informazione desideri).

Quindi dovresti avere fiducia nelle informazioni fornite da terze parti. Ci sono siti realizzati interamente sulla base di reti di costruzione: Facebook, MySpace, Orkut, Google+, creazione automatica dei contatti di Gmail, Linkedin ... Potresti provare a fare affidamento sulle loro informazioni, allo stesso modo di Lulu, per dedurre chi sa chi.

E di nuovo dovrai occuparti di informazioni false. Il tipo di Lulu lo fa, controllando alcuni vincoli per ridurre la probabilità che un profilo falso abbia successo. Ciò può essere fatto verificando quanti anni ha l'account, quanti amici ha, quanti amici ha ogni amico e così via. Una lunga strada da percorrere.

E segneresti come "si conoscono" come trovi conveniente: hanno studiato nello stesso college, a loro piace lo stesso ristorante, hanno amici in comune (in 1 ° o 2 ° grado, come sa Alice Bob che conosce Peter che conosce Hubert, il marito di Alice).

Avresti bisogno di una grande potenza di elaborazione, di un enorme database e fondamentalmente dovresti replicare le informazioni che Facebook, ecc. hanno.

Oltre a questo, è impossibile sapere se due persone si conoscono nella vita reale, se non hanno alcuna informazione fornita in quei siti social. Quindi dovresti lasciarli uscire dal tuo sistema.

    
risposta data 07.02.2014 - 13:34
fonte

Leggi altre domande sui tag