El censo catalán infinito

Dario Castañé
5 min readOct 7, 2017

Este artículo consiste en un pequeño experimento mental para reflexionar sobre la privacidad de datos personales que pueden generarse proceduralmente, aunque determinar su correspondencia con una persona física sea inaccesible para cualquiera salvo el Estado.

El superordenador MareNostrum del Barcelona Supercomputing Center — CC BY-NC

Desde el pasado 21 de septiembre corren hilos, hilos y más hilos sobre si el sistema de información censal (también conocido como “dónde votar”) del referéndum del 1O es seguro o no.

Si no sabes cómo funciona la web, te recomiendo leer el artículo de Entre Dev y Ops.

Si has visitado los primeros enlaces, quizás hayas visto que yo también hice un hilo y te preguntes “Dario, ¿para qué sigues?”. Eso tiene una sencilla explicación, ya que no me centraré en si el sistema está mejor o peor diseñado, sino en otro aspecto que plantea David Maeztu en su artículo Función hash, datos de carácter personal y delitos: la naturaleza privada de la combinación de datos usada por la Generalitat; DNI, fecha de nacimiento y código postal.

Hecha la introducción, que empiece el experimento. Imaginemos que queremos un censo de todos los catalanes en todas las realidades infinitas del Universo.

¿Realidades infinitas? Para los seguidores de Rick & Morty seguramente no os costará imaginarlo pero, para al ajeno a esta joya de la ciencia ficción, comentar que estamos partiendo de la premisa que existen infinitas realidades para todas las combinaciones posibles. Es decir, que en la realidad, digamos C-137, tu DNI pertenezca ahora mismo a alguien que nació 10 años antes o un día antes que tú, es irrelevante, en este instante que estás leyendo este texto.

Volviendo a nuestro censo: infinitas realidades, infinitas combinaciones. Eso implica combinar todos los DNIs posibles con todas las fechas posibles, dentro de un rango de poco más de un siglo, y todos los códigos postales.

Vamos a asumir, para simplificar el experimento, que en todas aquellas realidades donde Catalunya existe, sus códigos postales son inmutables en todas las realidades, que usan el mismo calendario gregoriano y que se empezaron a emitir en los últimos 100 años.

¿De qué cifras estamos hablando? En primer lugar, ¿cuántos DNI válidos son posibles? Respuesta: 99.999.998, incluyendo los reservados para la familia real. Se asignan en bloques aleatorios que se rotan periódicamente, por lo que cualquier persona nacida hoy puede obtener un número bajo y otra uno alto, o incluso (casi) consecutivos si se expiden en la misma comisaría en fechas próximas.

El factor aleatorio refuerza el hecho que debamos multiplicar todos los DNIs por todos los códigos postales y todas las fechas de nacimiento.

Siguiente, fechas de nacimiento. Asumiendo un siglo, para redondear cifras a pesar de la existencia de cientos de personas centenarias, hablamos de 36.524 fechas de nacimiento.

Y último, ¿cuántos códigos postales tiene Catalunya? Exactamente 946: 183 de Tarragona (43), 221 de Girona (17), 231 de Lleida (25) y 311 de Barcelona (08).

Las combinaciones se obtienen fácilmente multiplicando. Juzga tú mismo el resultado: 3.455.170.330.896.592 personas. 3,5 cuatrillones (sí, con 15 cifras tras la primera cifra).

Obviamente he hecho trampa al restringir algunos parámetros, porque partíamos de un infinito y tenemos un número finito. Enorme pero finito. Ahora, prosigamos.

Imaginemos que alguien implementa un programa que tome estos valores y escriba una línea por cada combinación posible. Asumiendo que cada componente de la combinación estará separado por coma (formato CSV) y la representación más compacta posible, el fichero resultante ocuparía 76 petabytes (22 bytes por línea).

Por si no manejas estos volúmenes de información, serían 79.691.776 gigabytes.

Supongamos que el espacio no es un problema y lo publicamos en Internet, sin cifrar ni nada. Tal y cómo el programa generador lo creó. También supongamos que una web nos facilita realizar consultas por DNI, fecha de nacimiento y código postal.

Llegados a este punto y centrándonos en nuestra realidad, podemos afirmar que el fichero publicado contiene los datos de carácter personal de todos los catalanes vivos ahora mismo (e incluso los muertos desde que se empezó a asignar números de identificación en 1951, en nuestra realidad).

Entonces, ¿su publicación supone una violación de la LOPD? Técnicamente sí, tal y cómo afirmaba David Maeztu en su artículo. Pero en ningún caso se ha accedido ilícitamente a los datos, se han calculado y publicado todas las combinaciones posibles.

Por tanto, ¿son realmente privados? El valor de los datos y/o utilidad (delictiva o no) depende de la capacidad de confirmar que una combinación corresponde a una persona viva y censada. Debido a que los boletines oficiales publican nombres y DNI completos quizás se pueda usar para confirmar manualmente algunos casos, pero ¿sería posible hacerlo para todos los catalanes masivamente?

La idea es factible, pero los recursos necesarios son inaccesibles legalmente a cualquiera salvo el Estado, que ya tiene los datos completos. Ilícitamente hay maneras más sencillas de obtener el censo que cribar cuatrillones de registros y a un coste muy inferior. Nuestros datos están a la venta al mejor postor, sólo debemos pensar en cómo “aparecen” en manos de empresas de telemarketing.

Así, ¿hasta que punto la combinación DNI, fecha de nacimiento y código postal es relevante? No nos equivoquemos, identificados de forma inequívoca, esa información puede ser crítica y facilitar ataques de ingeniería social.

Pero yendo al caso concreto de la web de votar del referéndum del 1O, sabemos que la información personal usada es parcial, porque truncan el DNI a sus últimos cinco dígitos y la letra. Dados cinco dígitos y letra hay 45 números de DNI posibles. A 5.313.564 personas censadas, un ataque de fuerza bruta resultaría en 239.110.380 registros posibles.

Cómo ya hemos establecido con el experimento mental, es difícil cribar millones de registros para verificar que corresponden a personas reales, no por viabilidad técnica sino por ser inaccesible a un método de verificación.

Pero la cosa empeora si entendemos que un ataque de fuerza bruta requiere invertir recursos informáticos para generar las claves y comprobar que estas tienen un registro asociado. Concretamente, se tardaría la friolera de 198 años con los recursos más potentes a nuestro alcance, a un coste de 86.700$.

¿Merece la pena? ¿Está justificado el alboroto y las acusaciones de ilegalidad? ¿Son realmente privados unos datos que se pueden calcular proceduralmente? Personalmente, creo que no.

--

--

Dario Castañé

Pirate, gopher, bofher, trollslayer, speaker, senior software engineer @ Datadog