AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Realdaten konsistent verwürfeln?

Ein Thema von stahli · begonnen am 26. Aug 2016 · letzter Beitrag vom 29. Aug 2016
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.336 Beiträge
 
Delphi 11 Alexandria
 
#1

Realdaten konsistent verwürfeln?

  Alt 26. Aug 2016, 13:12
Ich glaube es ja nicht, aber kennt jemand evtl. ein Tool für folgende Aufgabenstellung?


Ich habe diverse größere CSV´s in der Form

"KdNr";"Vorname";"Nachname";"KontoNr"
"01";"Klaus";"Müller";"2222"
"09";"Gerhard";"Müller";"3333"
"02";"Klaus";"Meier";"1111"
"03";"Bernd";"Lehmann";"4444"

"KontoNr";"Guthaben"
"1111","999"
"2222","9999"
"3333","99"
"4444","99999"

Jetzt möchte ich die Daten anonymisieren.
Ich könnte z.B. alle oder einige Spalten beider Dateien im Excel jeweils isoliert aufsteigend sortieren. Dann gäbe es keine Bezüge mehr zu den realen Datensätzen.
Lediglich die KontoNr als Bezug der Tabellen untereinander wäre noch vorhanden.

Optimaler Weise würde ich aber gern einen zeitlichen Stapel solcher Dateien "transferieren".
Ich habe diese Dateien nämlich monatlich vorliegen und würde daraus gern konsistente monatliche Testdaten generieren.

Das heisst, die csv´s müssten automatisiert zerlegt, mit Hilfe eines Dictionarys in Demodaten umgeschrieben und wieder in gleicher Form ausgegeben werden.

Dazu müsste pro Datei ein Schlüsselfeld angegeben werden und es müsste für jeden Monat konsistent aus
original
"KdNr";"Vorname";"Nachname";"KontoNr"
"01";"Klaus";"Müller";"2222"
nun
"01";"Gerhard";"Lehmann";"4444"

Erst wenn Klaus Müller wegen Heirat Klaus Maier heisst, sollte auch der Demo-Nachname geändert werden.


Kennt jemand Lösungen für so etwas?
Ich denke ja eher nicht, da das Ganze ja doch recht komplex werden kann.

Andererseits kann es Bedarf für solche "konsistenten" Anonymisierungen ja schon gelegentlich geben.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.733 Beiträge
 
Delphi 6 Enterprise
 
#2

AW: Realdaten konsistent verwürfeln?

  Alt 26. Aug 2016, 13:47
Habe gerade ein ähnliches Problem, aber auf Datenbank ebene, nicht in einer Datei.
Ich plane, z.B. einmalig eine Vornamens-Nachschlage-tabelle zu machen ala:

SQL-Code:
Create Table VornamenNachschlageTabelle
Select Distinct Rownum as ID, Vorname From Tabelle
Where Rownum<=500
Das wäre dann sowas wie bei dir das Dictionary.

Dann, um das reproduzierbar zu halten, wird anhand der Personalnummer aus dieser Tabelle ein Name gezogen, ungefähr so:

SQL-Code:
Update Personaltabelle P
Set P.Vorname= (Select V.Vorname von VornamenNachschlageTabelle V Where V.ID=MOD(Personalnummer,500))
Analog dann bei Nachname, Strasse usw.

Keine Ahnung ob es da nicht schlauere Lösungen gibt um Testdaten zu generieren. Den Namenswechsel bei Hochzeit, bekommt man so in den Testdaaten nicht mit, aber das ist auch nicht nötig für uns.
Ralph
  Mit Zitat antworten Zitat
mensch72

Registriert seit: 6. Feb 2008
838 Beiträge
 
#3

AW: Realdaten konsistent verwürfeln?

  Alt 26. Aug 2016, 13:59
Wir nutzen simpel einen MD5 Hash zur Anonymisierung...

Also würde ich einen MD5 aus ("KdNr";"Vorname";"Nachname") berechnen und dann habe ich im Test/Demo-CSV nur noch "HASH";"KontoNr"
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.336 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Realdaten konsistent verwürfeln?

  Alt 26. Aug 2016, 14:10
Die Demodaten will ich ggf. weiter geben können.
Es sollen also umfangreiche echte Daten sein, aber ohne realen Personen-Bezug (originale Form der Dateien und innere - auch zeitliche - Konsistenz).
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.733 Beiträge
 
Delphi 6 Enterprise
 
#5

AW: Realdaten konsistent verwürfeln?

  Alt 26. Aug 2016, 14:28
Wir nutzen simpel einen MD5 Hash zur Anonymisierung...

Also würde ich einen MD5 aus ("KdNr";"Vorname";"Nachname") berechnen und dann habe ich im Test/Demo-CSV nur noch "HASH";"KontoNr"
War auch unser erster Ansatz. Leider wollte der Kunde, das auch bei den Testdaten die Vornamen noch wie Vornamen aussehen usw.
Ralph
  Mit Zitat antworten Zitat
mensch72

Registriert seit: 6. Feb 2008
838 Beiträge
 
#6

AW: Realdaten konsistent verwürfeln?

  Alt 26. Aug 2016, 14:38
aus den 16Bytes MD5 kann man auch 2x 8Bytes machen und eine sagen wir CRC16 darüber rechen umd dann diese nochmal per Modulo auf die Anzahl der verfügbaren Records zu begrenzen... dann bekommt man 2x einen "Index", welchen Vornamen und welchen Nachnamen man jeweils kombinieren soll.

Das sollte ausreichend flexibel sein, um genug anonyme Verwürfelung der Klarnamen zu bekommen... vorwärts eindeutig zu bestimmen, aber rückwärts nicht rückrechenbar
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.126 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: Realdaten konsistent verwürfeln?

  Alt 26. Aug 2016, 14:43
Die Demodaten will ich ggf. weiter geben können.
Es sollen also umfangreiche echte Daten sein, aber ohne realen Personen-Bezug (originale Form der Dateien und innere - auch zeitliche - Konsistenz).
Leg dir einfach eine Liste mit Vornamen und Nachnamen an und stelle diese per Random zu neuen Namen zusammen...

Original

[0] Petra;Putzig;Gartenstraße 7;53111; Bonn
[1] Rudi;Rastlos;Hofgarten 42;52223 Stolberg;

Daraus 5 Listen machen

Dann 5x Random; Randomwerte 1-5 müssen unterschiedlich sein.
Randomwert verbraucht, aus der Liste werfen..

So hast Du n Adressen aber keine ist real...
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#8

AW: Realdaten konsistent verwürfeln?

  Alt 26. Aug 2016, 21:17
Das sollte ausreichend flexibel sein, um genug anonyme Verwürfelung der Klarnamen zu bekommen... vorwärts eindeutig zu bestimmen, aber rückwärts nicht rückrechenbar
Das kann man sehr leicht mit einer Wörterbuchattacke zurückrechnen. Bitte auf keinen Fall MD5 oder sonstige Hashes zur „Anonymisierung“ verwenden! Außer du verwendest einen zufälligen, ausreichend langen Salt, den du anschließend wegschmeißt.
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#9

AW: Realdaten konsistent verwürfeln?

  Alt 26. Aug 2016, 22:17
Da gabs doch auch mal was aus der c't.
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.126 Beiträge
 
Delphi 10.3 Rio
 
#10

AW: Realdaten konsistent verwürfeln?

  Alt 27. Aug 2016, 11:36
Das sollte ausreichend flexibel sein, um genug anonyme Verwürfelung der Klarnamen zu bekommen... vorwärts eindeutig zu bestimmen, aber rückwärts nicht rückrechenbar
Das kann man sehr leicht mit einer Wörterbuchattacke zurückrechnen. Bitte auf keinen Fall MD5 oder sonstige Hashes zur „Anonymisierung“ verwenden! Außer du verwendest einen zufälligen, ausreichend langen Salt, den du anschließend wegschmeißt.
Es geht nicht um Hashing.... Es geht um ganz normal lesbare Demo-Daten!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz