¿Una función manual para tener identidad?

1

Espero que no cierres la pregunta. Aunque no hay computadoras involucradas, aún se trata de información y seguridad, y creo que los expertos en seguridad son los que mejor pueden ayudar.

Quiero hacer una investigación de usuario. Necesito que la gente llene un cuestionario, y luego llene otro cuestionario dos meses después. Necesito garantizarles el anonimato, pero aún así será muy bueno si puedo hacer coincidir las respuestas de una persona de la ronda A con las respuestas de la misma persona de la ronda B.

Incluso si esto se hace en línea, no creo que pueda dejar que un sistema informático descubra algo sobre ellos para que pueda hacer la comparación por mí. En teoría, podría pedirles un nombre y almacenar su hash md5. En la práctica, si les digo a los participantes que serán anónimos y luego les pido un nombre, perderé su confianza. Y el comienzo de un cuestionario no es un buen lugar para educar a personas al azar sobre qué es md5. Pero para hacer esto aún más difícil, creo que haré mi próxima encuesta con lápiz y papel, por razones logísticas.

Si empecé a darle tokens a las personas, creo que las perderán durante los dos meses. Así que la mejor solución que se me ocurre es algún tipo de hash manual. Por ejemplo, podría preguntarles "por favor llene la segunda y quinta letra de su apellido y el día del mes en que nació". Entonces mi pregunta es, ¿cómo se me ocurre una buena función de este tipo?

  • ¿Qué puntos de datos sobre una persona pueden usarse? Debe garantizarse su existencia (mi ejemplo anterior se descompone si la persona tiene un apellido de cuatro letras), es altamente individual (pero no 100% único), y la persona debe conocerlos sin tener que buscarlos en alguna parte.
  • ¿Hay alguna forma conveniente de calcular cuántos dígitos / letras debo solicitar para garantizar una probabilidad de colisión por debajo del X% en un grupo de personas Y?
  • ¿Algunos de los datos posibles son más problemáticos que otros? Por ejemplo, podría ser que las personas sean más reacias a escribir la primera letra de su apellido que la segunda, porque piensan que sería fácil para alguien tratar de buscarlos en un "ataque de fuerza bruta" y descubrirlo. ¿Quienes son?
  • ¿Cómo puedo averiguar el nivel más alto de complejidad más allá del cual las personas no juegan o comienzan a cometer errores?
pregunta rumtscho 07.06.2014 - 14:30
fuente

2 respuestas

2

Se realizó un estudio, al cual desafortunadamente no tengo un enlace, mediante el cual descubrieron que incluso cuando los datos del usuario no contenían información de identificación personal, podían rastrear individuos de otros atributos siempre que tuvieran una idea aproximada de su ubicación. Ahora esto puede o no puede ser tan aplicable a áreas densas como a áreas dispersas, pero si alguien promete el anonimato, puede ser una preocupación.

Con el enfoque que está sugiriendo, ¿cómo garantiza que llegarán al mismo código en ambas ocasiones y no cometerán el menor error al llegar a un código diferente? Recuerda, no tienen forma de verificarlo.

Dado que su pregunta es abierta, hay varios tipos de enfoques que puede tomar:

1) Cuando los distribuyes por los cuestionarios, ¿puedes dar ambos por adelantado? Por ejemplo, pídales que llenen uno de inmediato y luego el otro en un sobre cerrado que abren dos meses más tarde y luego lo llenan. Si eso es posible, por supuesto, puede tener la misma identificación en ambas encuestas. Por supuesto, existe la posibilidad de que pierdan la encuesta, pero creo que tendrá que asumir en su muestra que algunas personas que son encuestadas la primera vez no proporcionarán encuestas la segunda vez. Probablemente sea un poco menos probable que pierdan encuestas en comparación con un código que usted proporcionó.

2) Tal vez pueda hacer que usen una función hash CRC32 o MD5 en línea usando sus últimos cuatro dígitos de su teléfono, dos dígitos de su dirección, etc. o alguna combinación simple como esa. Aún no darán demasiada información de identificación personal, y pueden verificar que el sitio del que están recibiendo el hash no está relacionado con usted, si tienen alguna inquietud. Esto no es tan fácil de usar, pero definitivamente es más amigable que el cálculo de su propio hash, usando el esquema que especificó en su pregunta. (Por ejemplo, consulte aquí: enlace - también puede buscar "calcular hash en línea" o algo similar. Estoy seguro de que también habrá algunas aplicaciones para teléfonos.)

En cuanto al enfoque de código que tiene, tenga en cuenta que cada vez que use cualquier variable que esté en una base de datos en algún lugar, los usuarios podrán realizar un seguimiento. Por ejemplo, el consultorio de mi médico tiene mi seguridad social, mi fecha de nacimiento, mi nombre; no importa cómo me pida que lo incluya en la encuesta, alguien puede ejecutar fácilmente una herramienta automatizada para averiguar para qué se calcularán los códigos. Cada uno de esos registros y encontrar la encuesta. Por supuesto, se reduce a lo importante que es ser anónimo y lo que prometes y el impacto si alguien tuviera que rastrear la encuesta a un individuo.

FYI. El enfoque hash en # 2 también es vulnerable al mismo enfoque, aunque se requiere un poco más de esfuerzo dependiendo del hash utilizado.

Lo siento, es lo mejor que puedo imaginar ahora, con suerte, te ayudará a encontrar una solución. En mi opinión, si puede utilizar el enfoque # 1 arriba (dar ambas encuestas por adelantado), esa es la mejor manera de abordarlo y garantizar un alto nivel de anonimato.

    
respondido por el Omer Iqbal 07.06.2014 - 22:47
fuente
1

Puedes preguntar los últimos tres dígitos de su número de teléfono celular.

Solo tenga claro por qué lo está haciendo y explique por qué no se pueden rastrear de esta manera. De lo contrario, te dirán números (o letras, o cualquier cosa) al azar, y el propósito será derrotado.

En cuanto a la probabilidad, suponiendo que la distribución es plana y el "token" puede asumir N valores (en este ejemplo, sería 998; creo que "000" podría no ser un final válido en algunos países), y usted están preguntando a M personas, entonces la probabilidad de tener una colisión es 1 - (998/998) (997/998) (996/998) ... ((998 -M) / 998).

Con 200 personas, tiene una probabilidad máxima de tener alrededor de 18-19 colisiones, y es muy poco probable que obtenga menos de 10 colisiones, o más de 30. Lo que significa que "reconocerá" a 170 personas de 200.

Con cuatro dígitos y 200 personas, puede esperar 1-2 colisiones; las posibilidades son insignificantes de obtener más de 8-9 colisiones.

Con 500 personas y cuatro dígitos (o cualquier otra cosa que pueda suponer alrededor de diez mil valores distribuidos aleatoriamente), puede obtener un dígito de la placa del vehículo, uno del último número de direcciones, uno del último dígito del año de nacimiento, y así sucesivamente) puede esperar 12-13 colisiones y, de nuevo, no hay ninguna posibilidad real de obtener menos de 2 colisiones, o más de 22.

    
respondido por el LSerni 07.06.2014 - 22:48
fuente

Lea otras preguntas en las etiquetas