Aus Linux-Magazin 04/2018

Kaleidoskop der Wissenschaft: Online shoppen, ohne Daten preiszugeben

© maxkrasnov, 123RF

Selbst beim Bezahlen per Bitcoin ist Anonymität nicht garantiert, erklärt der Krypto-Experte Andy Rupp. Sein Team arbeitet an einem Bezahldienst, der Personendaten besser schützt.

Linux-Magazin: Wenn ich ein Kundenkonto etwa bei Amazon habe, wird sich Amazon merken, was ich wie oft gekauft habe. Es kann sicherlich aus den Waren auf meine Interessen schließen. Was macht es mit diesen Informationen? Es blendet mir zum Beispiel personalisierte Werbung für verwandte Artikel ein. Mancher würde sagen: Die Werbung kann ich ohnehin nicht verhindern, dann ist es doch besser, sie dreht sich um Sachen, die mich tatsächlich interessieren. Wo liegt das Problem?

Andy Rupp: Firmen wie Amazon, Payback & Co. sammeln eine Vielzahl an Informationen über ihre Kunden. Diese Informationen benutzen sie zu Marktforschungszwecken und für personalisierte Werbung. Auf Basis dieser personenbezogenen Rohdaten lassen sich aber auch individuelle Bewegungs- oder Personenprofile ableiten, die sehr sensitive Informationen enthalten können, etwa über den Gesundheitszustand, die Religionszugehörigkeit oder sexuelle Vorlieben. Das wollen die Kunden vermutlich nicht offenlegen. Ich kann mir beispielsweise nicht vorstellen, dass Kunden bereitwillig öffentlich preisgeben würden, dass sie unter Inkontinenz oder Prostatabeschwerden leiden und wie viele Kondome sie im Monat verbrauchen.

Derartige Informationen können aber von jedem erfasst und missbraucht werden, der Zugang zu den gesammelten Rohdaten erhält. Seien es Firmenmitarbeiter, die die Daten weiterverkaufen, oder Hacker und Regierungsorganisationen, die sich Zugang verschaffen. Dass es auch für große Firmen anscheinend schwer ist, Kundendaten adäquat zu schützen, wird ja regelmäßig unter Beweis gestellt. Es kann also jederzeit passieren, dass über diese Wege sensitive Kundendaten im Internet landen.

Meine Forschung beschäftigt sich mit dieser Problematik. Wir versuchen Systeme zu entwickeln, die einerseits die Privatsphäre der Nutzer schützen, andererseits aber auch Anbietern Mehrwerte wie etwa die Möglichkeit personalisierter Werbung bieten. Denn solche Features sind ja oft die Grundlage von Geschäftsmodellen.

Linux-Magazin: Sie haben ein anonymes Zahlungssystem entwickelt. Was ist der Unterschied zum Bezahlen mit einer anonymen Währung wie Bitcoin, bei der der Kunde ja ebenfalls nichts über sich verrät?

Andy Rupp: Bei unserem Zahlungssystem BBA+ einerseits und Bitcoin andererseits handelt es sich bei genauerem Hinsehen um zwei sehr unterschiedliche Konzepte mit unterschiedlichen Zielen und Eigenschaften. Unsere Zielsetzung war ein Echtzeitsystem für dedizierte Szenarien wie Zahlungen im öffentlichen Nahverkehr, Mautsysteme, Bonuskartensysteme wie Payback oder auch Stored-Value-Kartensysteme im Einzelhandel.

Für derartige Szenarien erscheint Bitcoin ungeeignet, vor allem aufgrund der langen Zeit von mehreren Minuten, die nötig ist, um Betrugsfälle (Double Spending) auszuschließen. Als Kunde möchte man nicht 10 Minuten vor dem U-Bahn-Drehkreuz stehen, bis die Bitcoin-Transaktion endlich akzeptiert wird.

Andere praktische Hindernisse für den Einsatz von Bitcoin sind die oft notwendige permanente Internetverbindung am Point of Sale, die starken Währungsfluktuationen oder auch das mangelnde Vertrauen aufgrund fehlender staatlicher Regulierungsmöglichkeiten.

Zudem bietet Bitcoin Kunden lediglich Pseudo-Anonymität. Das bedeutet: Jedermann kann normalerweise durch Betrachten der öffentlich bekannten Blockchain (wenn keine guten Coin-Mixing-Techniken verwendet werden) nachvollziehen, welche Transaktionen durch das gleiche Individuum getätigt wurden, auch wenn der Name, der sich dahinter verbirgt, zunächst unbekannt bleibt.

Die große Gefahr besteht nun aber darin, dass dieser Name durch weitere Analysen der Transaktionen, vielleicht auch unter Einbeziehung zusätzlicher Informationsquellen, ermittelbar ist. Beispielsweise könnte ein Kunde bei einer Zahlung im Onlinehandel dazu gezwungen sein, seinen Namen und seine Adresse anzugeben. Dann kann zumindest der Onlinehändler alle weiteren Bitcoin-Zahlungen dieses Kunden auch bei anderen Händlern nachvollziehen – und die Anonymität ist dahin.

BBA+ bietet stärkere Privacy-Garantien. Hier lassen sich die verschiedenen Zahlungstransaktionen eines Individuums nicht miteinander in Beziehung setzen. Auch wenn der Kunde bei einer Zahlung seinen Name preisgibt, bleiben so seine weiteren Zahlungen anonym.

Linux-Magazin: Können Sie kurz erläutern, wie das von Ihnen geschaffene anonyme Bezahlsystem funktioniert?

Andy Rupp: Das von uns vorgeschlagene Zahlungssystem ist ein anonymes Stored-Value-System. Das bedeutet, jeder Benutzer wird mit einer elektronischen Geldbörse ausgestattet, die zum Beispiel auf einem Smartphone gespeichert und verwaltet wird. Das aktuelle Guthaben wird dabei ausschließlich in dieser Geldbörse vermerkt! Der Systemoperator hat zum Schutz der Privatsphäre keine Möglichkeit, ein Schattenkonto für den Benutzer zu führen. Um eine solche Geldbörse zu erhalten, muss man sich allerdings namentlich beim Operator registrieren, damit der einen im Falle eines Betrugs haftbar machen kann. Dabei erhält die Geldbörse eine eindeutige, dem Benutzer zugeordnete ID und wird als eine echte Geldbörse zertifiziert (durch eine digitale Signatur).

Die spannende Frage ist nun, wie man gleichzeitig garantiert, dass Kunden beim Bezahlen anonym bleiben – auch gegenüber dem Systemoperator –, aber dennoch nicht betrügen können. Bei einem Bezahlvorgang im Geschäft wird die Geldbörse zum Beispiel mit der Near-Field-Communication-Technologie des Smartphones an die Kasse geschickt, die dann den Rechnungsbetrag entnimmt und die so modifizierte Geldbörse erneut zertifiziert.

Zum Schutz der Privatsphäre ist es jedoch nicht möglich, bei jedem Bezahlvorgang die gleiche Repräsentation der Geldbörse an die Kasse zu schicken. Eine Repräsentation der digitalen Geldbörse ist ein eindeutiger Bitstring, der natürlich wiedererkannt werden könnte. Damit würden die verschiedenen Einkäufe verkettbar. Stattdessen muss ein Algorithmus die Geldbörse vor jedem Bezahlvorgang sozusagen umlackieren, um nicht wiedererkennbar zu sein. Sie muss re-randomisiert werden.

Andererseits muss die Kasse, wenn sie eine solche re-randomisierte Geldbörse erhält, sicherstellen können, dass dies eine echte, zertifizierte Geldbörse ist. Sonst könnte sich ja der Benutzer beliebige Geldbörsen mit beliebigen Beträgen selbst generieren. Unglücklicherweise gilt das Zertifikat, das der Benutzer für seine ursprüngliche Geldbörse erhalten hat, nur für die Originalrepräsentation und nicht für die re-randomisierten Repräsentationen.

Abbildung 1: Beim Online-Einkauf bezahlt der Kunde oft auch mit seinen Daten.

Abbildung 1: Beim Online-Einkauf bezahlt der Kunde oft auch mit seinen Daten. Strelok, 123RF

An dieser Stelle kommt kryptographische Magie ins Spiel, so genannte Zero-Knowlege-Beweise. Mit deren Hilfe kann der Kunde der Kasse beweisen, dass die erhaltene re-randomisierte Geldbörse aus der eigenen Geldbörse hervorging, für die er ein Zertifikat besitzt. Das Verfahren verrät jedoch nichts über die ursprüngliche Geldbörse oder ihr Zertifikat.

Auch gilt es noch zu verhindern, dass ein Benutzer sich vor dem Bezahlvorgang eine Kopie der Geldbörse anlegt (die damit noch das ursprüngliche Guthaben enthielte) und mit dieser ein weiteres Mal ungestraft bezahlt. Hier kommt wieder Kryptomagie zum Einsatz, nämlich Secret Sharing: Das Verfahren zerlegt die ID einer Geldbörse in Teile, sodass die Kenntnis eines Teils keine Rückschlüsse auf die ID zulässt, der Besitz zweier verschiedener Teile aber die Rekonstruktion der ID erlaubt. Der Bezahlvorgang zwingt den Benutzer nun, jedes Mal einen von der Kasse gewählten Teil der ID aufzudecken. Zweimaliges Zahlen mit der gleichen Version liefert die dem Benutzer zugeordnete ID, und der lässt sich so zur Verantwortung ziehen.

Linux-Magazin: Bitcoins kann ihr Besitzer zwischen Konten transferieren. Kann man auch bei Ihrem System Guthaben an andere Geldbörsen überweisen oder sich bar auszahlen lassen?

Andy Rupp: Im Unterschied zu Bitcoin erlaubt unser Zahlungssystem keine direkten Nutzer-zu-Nutzer-Transaktionen. Das war auch nicht geplant, da unser System für andere Szenarien als Bitcoin entworfen wurde, zum Beispiel für die Realisierung von Bonuskarten-Programmen oder Mautsystemen. Hier sind Nutzer-zu-Nutzer-Transaktionen meistens nicht erwünscht.

Möchte man solche Transaktionen dennoch erlauben, müssten sie den Operator praktisch als Bank in die Transaktion mit einbeziehen. Er würde dann den angewiesenen Betrag aus einer Geldbörse entnehmen, zur anderen hinzufügen und beide erneut zertifizieren. Trotzdem wüsste der Operator nicht, wem die beiden Geldbörsen gehören und welche Beträge sie enthalten. So eine zusätzliche Funktionalität ließe sich leicht integrieren. Das anonyme Auszahlen von Guthaben unterstützen bereits die jetzigen Protokolle.

Linux-Magazin: Ein Problem der Bitcoin-Währung ist, dass sie massiv für Geldwäsche benutzt wird. Kann man auch ihre Geldbörse dafür missbrauchen?

Andy Rupp: Geldwäsche ist tatsächlich ein großes Problem anonymer digitaler Währungen und wird vermutlich auch eine steile Hürde für deren staatliche Akzeptanz darstellen. Unser System ist keine Währung und auch nicht als universelles Zahlungssystem gedacht. Für jene Szenarien, auf die unser Zahlungsprotokoll abzielt, spielt Geldwäsche eigentlich keine Rolle. Hier haben wir typischerweise nur den Operator, der für den Kunden echtes Geld in digitales Guthaben umwandelt und bei dem die Kunden dann dieses Guthaben zum Erwerb von Produkten oder Leistungen nutzen können. Nutzer-zu-Nutzer-Transaktionen sind nicht vorgesehen.

Falls das System dennoch für ein Szenario eingesetzt werden soll, in dem Geldwäsche durch den letztgenannten Transaktionstyp ein Problem darstellt, könnten wir es auch so modifizieren, dass verdächtige Zahlungen selektiv, nämlich nur mit Unterstützung einer dritten Partei, zu de-anonymisieren wären.

So eine dritte Partei könnte zum Beispiel der Bundesdatenschutzbeauftragte sein. Dieser würde dann ein Geheimnis erhalten mit dessen Hilfe er, zum Beispiel nach Vorlage eines richterlichen Beschlusses, ein oder mehrere Zahlungstranskripte einer Person zuordnen könnte. Ohne Zuhilfenahme dieser dritten Partei wären aber für den Operator und jeden anderen die Zahlungen nach wie vor unverkettbar. Im Moment ist so etwas in unserem System jedoch nicht vorgesehen, ließe sich aber einfach integrieren.

Linux-Magazin: Was würde ein anonym zahlender Kunde gewinnen, der sich anschließend freimütig über die gekauften Produkte bei Youtube, Instagram oder Twitter verbreitet und damit die gleichen Informationen liefert wie beim Kauf?

Andy Rupp: Durch unser System hat ein Kunde (unter gewissen Voraussetzungen) die Möglichkeit, in sozialen Medien selektiv preiszugeben, was er gekauft hat, ohne dabei etwas über seine anderen sensitiveren Einkäufe zu verraten. Dies ist durch die Unverkettbarkeit der Bezahlvorgänge garantiert. Praktisch bedeutet dies, dass ein Kunde auf Facebook den Kauf seines neuen 65-Zoll-Smart-TV bei Saturn unmittelbar verkünden kann, ohne dass selbst der Betreiber des Zahlungssystems, der nun womöglich die entsprechende Zahlung dem Kunden zuordnen kann, lernt, dass der gleiche Kunde zwei Wochen früher Inkontinenzwindeln für Erwachsene bei einer Drogeriekette erworben hat.

Natürlich bringt diese Eigenschaft des Zahlungssystems einem Kunden nichts, der all seine Einkäufe bei ein und demselben Onlinehändler tätigt, zum Beispiel bei Amazon, da dieser sowieso zwingend Name und Adresse des Kunden sowie alle gekauften Produkte kennt.

Linux-Magazin: Angenommen ich könnte bei einem Onlineversender anonym einkaufen. Dann wäre es dem Händler nicht möglich, meine Bonität zu beurteilen, weil er etwa nicht wüsste, ob ich mit dem Bezahlen schon einmal in Rückstand geraten bin oder ob ich Produkte mit einem sehr viel höheren Preisniveau auswähle als gewöhnlich. Vermutlich würde der Händler sein Risiko auf alle Kunden umlegen und es würde für alle teurer.

Andy Rupp: Bei unserem Zahlungssystem ist so eine Bonitätsprüfung gar nicht notwendig, da der Kunde Produkte direkt beim Kauf bezahlt. Der Onlinehändler würde lediglich überprüfen, ob die vorgezeigte digitale Geldbörse einen Betrag aufweist, der ausreicht, um die Rechnung zu begleichen. Dazu würde der Kunde entweder einfach mitteilen, wie hoch sein derzeitiges Guthaben ist, oder durch den Einsatz weiterer Kryptomagie, beweisen, dass sein Guthaben ausreicht, ohne den genauen Betrag offenzulegen.

Linux-Magazin: Welches Interesse könnte ein Händler haben, sich einem solchen Bezahlsystem anzuschließen? Er verliert für ihn nützliche Informationen — aber was kann er gewinnen?

Andy Rupp: Zunächst einmal haben vielleicht nicht alle Anbieter von Zahlungssystemen ein Interesse daran, Marktforschung basierend auf den gesammelten Kundendaten zu betreiben. Vielmehr fallen diese nur an, um die Konten verwalten und Betrugsfälle aufdecken zu können. Durch unser Protokoll wäre dann das Sammeln derartiger Daten gar nicht notwendig und die Händler müssten diese so auch nicht mehr aufwendig vor unbefugtem Zugriff, zum Beispiel durch Hacker, schützen.

Zudem beschäftigt sich meine Forschung auch damit, wie man Systembetreibern solche Mehrwerte bieten kann, ohne dass die Rohdaten der Kunden zentral beim Betreiber gesammelt werden müssen. Beispielsweise könnte man sich ja auch vorstellen, dass das Smartphone eines Kunden selbst seine Einkaufshistorie speichert und darauf basierend eine für den Kunden interessante Werbung beim Systembetreiber abruft.

Andy Rupp: Für unser System sind keine speziellen Anpassungen am Smartphone notwendig. Ein NFC-Smartphone reicht für den Einkauf im Offlinehandel aus. Wir sind derzeit mit der Entwicklung eines Demonstrators beschäftigt. Erste Tests zeigen, dass das System recht performant ist. Eine Zahlungstransaktion sollte nicht mehr als eine Sekunde benötigen.

Linux-Magazin: Ist das System auch sicher, wenn das Smartphone oder eine dafür genutzte Kundenkarte abhanden kommen?

Andy Rupp: Um sich vor Diebstahl zu schützen, sollte der Zugang zur entsprechenden App durch PIN/Passwort oder Ähnliches geschützt und die digitale Geldbörse verschlüsselt gespeichert sein. Um bei Verlust des Smartphones nicht auch gleichzeitig das Guthaben in der Geldbörse zu verlieren, könnte die App nach jeder Zahlung eine verschlüsselte Kopie der Geldbörse in der Cloud ablegen. Mit dem entsprechenden geheimen Schlüssel, der auf dem heimischen PC gespeichert ist, könnte man dann die aktuelle Geldbörse wiederherstellen.

Linux-Magazin: Können Sie schon sagen, wann ich mit ihrem System tatsächlich bezahlen kann?

Andy Rupp: Das ist eine schwierige Frage. Zurzeit laufen Arbeiten an einem Demonstrator für das System, mit dessen Hilfe wir Interessierten zeigen wollen, dass ein beweisbar sicheres, die Privatsphäre schützendes Zahlungssystem basierend auf fortgeschrittener Kryptographie tatsächlich hinreichend performant sein kann. Um aus einem Demonstrator ein einsetzbares System zu machen, ist jedoch zwingend ein Industriepartner nötig. Ich hoffe, dass wir durch entsprechende Presseartikel wie diesen und unseren Demonstrator einen solchen Industriepartner für unser Projekt gewinnen können.

Andy Rupp

Dr. Andy Rupp ist seit September 2016 Leiter der KIT-Nachwuchsgruppe Cyphycrypt im Kompetenzzentrum für Angewandte Sicherheitstechnologie Kastel am Karlsruher Institut für Technologie. Er und seine Gruppe beschäftigen sich mit dem Schutz der Sicherheit und der Privatsphäre in Cyber-physischen Systemen und dem Internet of Things. Dabei versucht er fortgeschrittene kryptographische Methoden und Protokolle aus der Forschung in der Praxis einsetzbar zu machen.

Vor seiner Zeit am KIT war Rupp mehrere Jahre als Postdoc in Deutschland, Dänemark und den USA, aber auch als Projektmanager in der Industrie tätig. Er promovierte 2008 am Hörst-Görtz-Institut für IT-Sicherheit der Ruhr-Universität Bochum und studierte zuvor Informatik an der Universität des Saarlands.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 4 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben