ISUToCNP: Extragerea CNP-ului din identificatorul unic

… autoritățile și instituțiile publice și furnizorii de date sunt autorizați și au obligația să pună la dispoziția I.N.S., cu titlu gratuit, baze de date cu înregistrări individuale, cuprinzând date corecte, actuale și complete, prin raportare la scopul colectării, unic identificate prin CNP sau ISU (identificator statistic unic) /sursă

see also: HOTĂRÂRE privind aprobarea specificațiilor tehnice pentru transmiterea datelor din sursele administrative pentru efectuarea recensământului populației și locuințelor din România

2 Likes

Suferind de timp liber astazi, am decis sa public algoritmul banal care ataca identificatorul statistic unic (ISU) folosit de Institutul National de Statistica pentru “anonimizarea” datelor de recensamant 2022. Practic putem extrage CNP-ul din orice ISU. Publicare vine ca un raspuns din partea mea la declaratia Presedintelui INS: “datele sunt 100% sigure” data intr-o conferinta de presa acum cateva zile. Avand in vedere ca timpul de “spargere” a ISU/CNP-ului este mai mic de o milisecunda, consider ca protectia este cel mult zero.

https://www.facebook.com/story.php?story_fbid=5069346519794280&id=100001569461029

Si codul: GitHub - eduardsui/ISUToCNP: Extragerea CNP-ului din identificatorul unic statistic (ISU) folosit de Institutul National de Statistica

2 Likes

Practic, trebuie reluat recensământul de la 0 ca să fie anonimizate datele.

In cel mai bun caz iau toate datele după ISU și o cripteaza o dată cu ceva cheie pe care o țin pentru ei… Asta implica duplicarea datelor cu id-ul criptat și stergea celor existente. Totuși anonimitatea e imposibil de garantat.

Nu văd un easy fix.

Problema e foarte mare dacă cineva pune mâna pe aceste date, poate face social engineering de FB cu Cambridge Analytica ar fi o glumă.

1 Like

Interesanta idee, mi-a dat inspiratie sa ma joc putin cu golang sa fac ceva multithreaded ca sa foloseasca tot CPU-ul, am reusit sa fac un programel care genereaza in <2.5h (cu un ryzen 5 2600) fisiere CSV cu toate cnp-urile valide din 1900 pana in 2023, sex 1-6 (fara 7-8), si sha1 corespunzator fiecaruia. 148GB de fisisere CSV.

Astept datele de la INS :sweat_smile:

Cu hash facut pe GPU (CUDA sau OpenCL) cred ca se poate scoate sub 30 min pentru generearea si salvarea tuturor.

Intrebarea mea e, de unde se stie ca algoritmul folosit e SHA1 (inafara de acel document unde spune ca nr. de caractere e 40), sau ca e calculat dintr-o singura iteratie, sau ca nu are si un salt static? Am facut si eu putin research si inafara de proiectul ala de pe git n-am gasit nimic care sa afirme asta.

Vezi in comentariile la postul de pe Facebook.

Se pare că a avut acces la ceva documentație care nu mai e disponibila. Deci codul nu e făcut după intuiție și încercări.

Chiar și așa, problema rămâne. Cum nu înțeleg mare lucru cei de la INS, poate vor invoca “security by obscurity” și cum nu a fost destul “obscurity”, nu sunt ei de vină. Mă aștept și la răspunsul asta penibil.

Nu știu dacă vor publica liste cu hash-urile alea. Problema de fond e că un om din interior, angajat INS, care are acces la hash-uri și răspunsuri poate afla informații private despre un cetățean.

Pe principiul datelor deschise, ar trebui publicate, fiind “anonimizate” și să poată fi analizate de oricine. Doar că nu mai sunt anonimizate.

1 Like