Problem Datenbank bzw. Anonymisierung - Verschlüsselung Hash das Richtige?

Hallo, ich habe folgendes Problem:

  • ich bin im Vertrieb tätig, wegen dem gerade brisant diskutierten Thema Datenschutz erlaubt mir mein Arbeitgeber Lieferscheine offiziell nicht mit einem Pseudonym abzuspeichern (bislang wurden die Initialen und Geburtsdatum des Kunden als Dateiname benutzt)
  • Zumeist habe ich für einen Kunden 2 Lieferscheine, die in Abstand von einigen Wochen erstellt werden. Und erst nach Ausstellung des 2. Lieferscheines erfolgt die Rechnungsstellung - dafür brauche ich den ersten und den aktuellen (zweiten) Lieferschein.
  • Da ich den ersten Lieferschein (offiziell demnächst ohne Initialen+Geburtsdatum des Kunden ) inzwischen auf einem Laufwerk abgespeichert habe, ist es mir nicht möglich den richtigen (alten) Lieferschein rauszusuchen.

Jetzt meine Idee (und bitte andere Vorschläge wenn jemand was einfacheres weiß)
Mit den Initialen und Geburtsdatum erstelle ich mit einem Online-Generator (gibt es auch Apps dafür?) einen Hash-Wert und verwende diesen als Dateinamen. Ist dann Folgendes erfüllt?
a.) mit dem Dateinamen (Hash) ist kein Rückschluss auf Initialen+Geburtsdatum möglich, richtig?
b.) wenn ich für den 2. Lieferschein die selben Initialen+Geburtsdatum verwende kommt wieder der selbe Hash-Wert raus, sodass ich weiß welche beiden Lieferscheine zusammengehören, richtig?
c.) welche Funktion liefert einen möglichst kurzen Hash-Wert, damit mein Dateiname nicht zu lang wird?

Sorry, blöde Fragen aber ich bin kein Mann vom Fach :-/

Das Dilemma klingt wirklich umständlich und konstruiert, ist aber tatsächlich die Wahrheit :-/ Daher bitte keine Fragen warum es so ist wie es ist… ich weiß es selbst nicht.

Im Lieferschein steht doch schon drin, für wen das ist. Was in aller Welt sollte denn der Datenschutz dagegen haben, den Lieferschein auch gemäß seines Inhalts zu benennen?

Was das Geburtsdatum des Empfängers aber in diesen Daten zu suchen hat verstehe ich in keiner Weise. Das war schon bislang Unsinn und gesetzeswidrig und bleibt es auch nach der Gesetzesänderung.

Hallo,

das kommt sehr darauf an, welcher Hash wie verwendet wird. Das klassische Gegenmittel zu Hashes sind sogenannte „Rainbow Tables“ (https://de.wikipedia.org/wiki/Rainbow_Table). Ich nehme einfach alle möglichen Kombinationen aus Initialien und Geburtsdatum und bilde den Hash darüber. Dann kann ich einfach nachsehen, welcher Hash wozu passt. Das ist natürlich Arbeit aber keine Herausforderung.

Ich habe beruflich mit einer großen deutschen Telekommunikationsfirma zusammengearbeitet, wo auch die Idee eines Hashs im Raum stand. Der Verantwortliche für den Datenschutz hat diese genau mit obigem Argument zerschlagen.

Besser wäre es, eine sogenannte GUID (https://de.wikipedia.org/wiki/Globally_Unique_Identifier) zu verwenden, die ein echtes Pseudonym darstellt. Wie du das dann aber mit deinen bestehenden Daten verknüpfst ist eine neue Herausforderung.

Gruß,
Steve

Aus Neugier: Wie machen das denn Anbieter, die Waren verkaufen, die einer Altersbeschränkung unterliegen?

Gruß,
Steve

Sorry, aber genau diese Diskussion um Prinzipien möchte ich an dieser Stelle eigentlich gerne vermeiden. Du weißt nicht um welche Kunden es geht, und es hat sehr wohl bislang Sinn gemacht genau diese Daten abzuspeichern, da es auch vom Kunden gewünscht war (eigentlich immer noch ist) aber mein Arbeitgeber dies verlangt nicht mehr so zu machen. Es hilft auch nicht eine Einverständniserklärung vom Kunden geben zu lassen, da dies mir nicht erlaubt ist. Klingt blöd, aber ist so.

Ich meine mich erinnern zu können, dass man Daten in einer DATENBANK erfassen kann statt in einem Dateinamen. Und dass man auch dort nicht das Geburtsdatum, sonden einfach das Bit ‚alt genug‘ speichern könnte.

Aber natürlich kann ich mich auch irren und es gibt eine selten bekannte gesetzliche Vorgabe, dass alle Dateinamen, die mit einer Person in Verbindung stehen, alle erfassten Daten über diese Person enthalten müssen.

Vielleicht sollte sich der Arbeitgeber mal von irgendwem über die DSGVO informieren lassen. Er hat ja nun offensichtlich gar keine Ahnung und KANN nur ins Messer kostenpflichtiger Abmahnungen laufen.

1 Like

Aus diesem Grund frage ich mich, warum dir dein Arbeitgeber nicht eine datenschutzkonforme Lösung liefert, mit der du deine Arbeit(en) verrichten kannst.

Ich danke dir Steve, das ist ein sehr berechtigter Einwand. Ein GUID wird leider keine Option sein, da wir uns keine Registraturstelle leisten können (oder nicht wollen). Genau wie du schreibst: „Wie du das dann aber mit deinen bestehenden Daten verknüpfst ist eine neue Herausforderung“
Da sehe ich keine Möglichkeit.

Das Problem der Rainbow Tables ist mir bekannt (danke dennoch!)
Sollte sich kein anderer Weg finden, wird wahrscheinlich der TradeOff gewinnen: Hash ist zwar (mit RainbowTable) entschlüsselbar, aber das einzige was mit vertretbarem Aufwand machbar ist.

Und um euch mal zu erschrecken: einen Datenschutzbeauftragten der (nicht nur rechtlich sondern auch fachlich) Ahnung hat haben wir leider nicht… der hätte wahrscheinlich zusätzlich zu dem neu geltendem Verbot gleich eine gangbare Lösung geliefert.

ja, das frage ich mich auch. aber ich versuche einen Gangbaren weg mit diesem tollem Forum zu finden das mir schon oft bei anderen Sachen geholfen hat.
Nochmal wirklich nett gemeinte Bitte: bitte nicht das drumherum diskutieren, hilft jetzt nicht weiter. Bitte 5 Tage damit warten, dann habe ich vielleicht ne Lösung oder zumindest eine Entscheidung getroffen und dann regen wir uns gemeinsam nochmal über Sinn und Unsinn des Vorgehens durch den Arbeitgeber auf :smile:

Wenn dir Rainbow Tables schon bekannt sind schau mal nach „Salted Hash“.

Die Idee ist dabei, dass du nicht nur Initialen und Geburtstag verwendest, sondern zusätzlich noch einen „geheimen“ String. Wenn der Angreifer diesen String nicht kennt (bzw. in Erfahrung bringen kann), kann er auch keine einfache Rainbow Table bauen.

Gruß,
Steve

1 Like

und nein in unseren Lieferscheinen steht nicht drin für wen das ist, auch keine Adresse. Das noch als zusätzliche Info, sonst würde sich mein Problem ja garnicht stellen.
Beste Grüße

  • es geht nicht um eine Altersbeschränkung. Daher ist eine Lösung mit einem Bit „alt genug“ hier keine Option.
  • " selten bekannte gesetzliche Vorgabe" dazu möchte ich nicht spekulieren, sondern nur sagen: es gibt die Vorgabe meines Arbeitgebers und mit der muss ich (und meine Kollegen) demnächst leben.
  • „Vielleicht sollte sich der Arbeitgeber“ ja, guter Punkt, würde ich auch in jedem Forum so schreiben. Aber ich kann dies nicht in einer E-Mail an die Führungsetage schreiben. Ich stimme dir sachlich zu. Es hilft aber nicht bei meinem Problem (ich würde auch gern polemisch mit meinem Chef diskutieren was denen da oben so einfällt). Hilft jetzt aber nicht beim Problem - bitte lass uns die Hass-Posts noch einige Tage aufsparen bis „ich vielleicht ne Lösung oder zumindest eine Entscheidung getroffen und dann regen wir uns gemeinsam nochmal über Sinn und Unsinn des Vorgehens durch den Arbeitgeber auf“

Danke nochmals Steve, sehr guter Punkt.
„geheime String“ bringt mir aber in dem Fall nicht viel, denn es geht mir garnicht um „Angreifer“ von aussen, sondern nur darum Initialen+Geburtstag nicht (auch ich selbst nicht) wieder aus dem Dateinamen rück-konstruieren zu können (nehmen wir weiter an ich speichere die Lieferscheine auf meiner Disk unter einem Dateinamen mittels dessen unsere Rechnungsstellung 2 Lieferscheine einander zuordnen muss)

Wenn nicht mal du die Dateinamen rekonstruieren können sollst: wozu brauchst du noch die Initialen und das Geburtsdatum??

1 Like

Richtig. Unmittelbar nicht. Mögliche Angriffe wurden ja schon diskutiert.

Ich werfe als Alternative HMAC in den Raum. Salopp gesprochen ist das ein fest vorgegebener Algorithmus, wie man Nachrichten zu salzen hat (denn auch beim Salzen kann man Fehler machen).

Korrekt. Im Salz-Fall muß natürlich immer dasselbe Salz, im HMAC-Fall immer derselbe Schlüssel verwendet werden.

Du kannst (und solltest) eine der modernen Hash-Familien verwenden, SHA-2 (z.B. SHA-224) ist üblich, SHA-3 (Keccak) ist in den Augen der Amerikaner empfohlen.

Zum Thema kurz: Die statistischen Eigenschaften kryptographischer Hashverfahren gelten auch für beliebige Teil-Strings. Soll heißen, Du kannst ein Standardverfahren wählen und dann einfach die ersten oder letzten n Bytes wählen. N sollte natürlich nicht zu klein sein,

Die Standard-„App“ dafür ist openssl, eigentlich eine Bibliothek, aber es liegt auch ein Kommandozeilenprogramm bei, mit dem sich alles hiergesagte realisieren läßt. Auf dieser Implementation basieren auch die zahlreichen Online- und Android-Apps.

Gehört nicht zu einer „Lieferung“ immer eine „Liefernummer“, „Bestellnummer“, „Kundennummer“?
Dann sollte es doch möglich sein, aus solchen Nummern die passenden Dateinamen algorithmisch zu generieren, ohne auch nur irgendeine persönliche Angabe des Kunden zu nehmen…

Beatrix

ui, na vielleicht in vielen Fällen bestimmt schon, aber in diesem Fall halt nicht, sonst würde sich das Problem nicht stellen. Danke dennoch

:disappointed: um beide Lieferscheine einander zuordnen zu können. Es sei denn du hast eine bessere Idee

Jeah! neben den Hinweisen von Steve ist dein Beitrag (hroptatyr) echt genial. du hast meine Fragen ohne Trollen beantwortet und ohne „wozu eigentlich“.
Wenn ich könnte würd ich euch auf’n Bier einladen!

Ganz blöde Frage: was spricht denn gegen eine laufende Nr. oder meinetwegen eine Kombination aus Zahlen und Buchstaben, beide zugehörigen Lieferscheine den gleichen Namen, nur dass die erste Datei des Lieferscheins _1 und die andere _2 hinten im Dateinamen hat?