Hallo,
ich beschäftige mich gerade mit der Programmierung einer Software. Im Ergebnis sollen Kundendaten elektronisch verfügbar sein, wenn der Kunde das möchte. Es muß (aus anderen rechtlichen Gründen) sichergestellt sein, daß sich niemand anderes als dieser Kunde ausgeben kann.
Dazu habe ich nun folgende Idee entwickelt, die ich mit der zum Verständnis notwendigen technischen Detailtiefe kurz beschreibe:
Der Kunde gibt seine persönlichen Daten (Namen, Adresse) an, die eine Mitarbeiterin mit einem Computerprogramm (die Software, die ich gerade programmiere) erfaßt.
Dann legt der Kunde einen beliebigen Finger auf einen Fingerabdruckscanner und es wird ein ca. 600 Bytes langer String erzeugt, der alle Informationen zu diesem Fingerabdruck enthält.
Diese Daten befinden sich nur im Arbeitsspeicher und werden nicht dauerhaft gespeichert. Sie werden zu einer Zeichenkette (String) zusammengesetzt. Die Trennung der Personendaten und des Fingerabdrucks erfolgt mit nur einem Zeichen, das ansonsten nicht vorkommt (z.B. einem Semikolon). Es gibt keine festen Bestandteile wie z.B. eine XML-Struktur. Insgesamt entsteht ein String mit einer Länge von ca. 700-800 Zeichen (Bytes).
Das Computerprogramm geniert nun einen zufälligen String mit einer Länge von 300 Bytes, dessen Bytes Werte (01h bis FFh) haben. Dieser Verschlüsselungs-String wird auf einer Chipkarte gespeichert.
Das Computerprogramm führt nun eine XOR-Verknüpfung (symmetrisches Verschlüsselungsverfahren) von Kundendaten und dem (mit sich selbst verlängerten) Zufallsstring durch und speichert das Ergebnis in einer Datei auf der Festplatte des Computers ab. Der Dateiname ist eine eindeutige und zufällige Zeichenfolge, die ebenfalls auf der Chipkarte gespeichert wird.
Die Chipkarte wird dem Kunden ausgehändigt. Die Datei liegt ohne jeden herstellbaren Personenbezug auf der Festplatte des Computers.
Kommt der Kunde erneut ins Ladenlokal und möchte, daß seine Daten nutzbar sind, läuft das so:
1. Die Chipkarte wird ausgelesen.
2. Die Datei (der Dateiname steht auf der Chipkarte) wird geöffnet und ausgelesen.
3. Der Dateiinhalt wird mit dem Verschlüsselungs-String (der steht ebenfalls auf der Chipkarte) entschlüsselt.
4. Der Kunde legt seinen Finger auf den Fingerabdruckscanner und das Computerprogramm vergleicht die Signatur des gerade gescannten Fingerabdrucks mit dem, der verschlüsselt auf der Chipkarte gespeichert ist.
5. Seine persönlichen Daten sind dann (wieder nur im Arbeitsspeicher, also ohne Dauerhafte Speicherung) für die Aktion verfügbar, die der Kunde möchte.
Technischer Hinweis:
Ohne den Verschlüsselungsstring auf der Chipkarte ist es, unter den hier vorliegenden informationstechnischen Gegebenheiten, unmöglich, die persönlichen Daten zu entschlüsseln. Da hilft selbst in 100 Jahren kein Quantencomputer, kein Brute-Force-Angriff und auch nicht der CCC.
Wie ist das aus Sicht des Datenschutzes zu beurteilen? Der Knackpunkt dürfte wohl sein, ob der Inhalt der auf der Festplatte des Computers gespeicherten Datei als identifizierbare personenbezogene Daten anzusehen ist. Hier handelt es sich erstmal um einen Datensalat, aus dem man – je nach Verschlüsselungs-String – jedes beliebige (natürlich falsche!) Ergebnis „entschlüsseln“ kann. Ausschließlich durch den echten Verschlüsselungs-String auf der Karte (und die hat ja der Kunde) wird eine zutreffende Entschlüsselung möglich.
Wenn der Kunde die Karte die Karte verliert, könnte der Finder (sofern er Zugriff auf den Computer erlangt), die Daten entschlüsseln. Aber vielleicht hat der Kunde auch gleich seinen BPA mit verloren; und da steht alles im Klartext drauf…
Über Hinweise und Denkanstöße würde ich mich sehr freuen!