My Authors
Read all threads
Ich habe über Security-Implikationen einer #ContactTracingApp mit der Mechanik, die Google und Apple unter apple.com/covid19/contac… beschreiben, nachgedacht und habe eine unschöne Idee. Thread ->
Kurz und vereinfacht zur Funktionsweise:
Der "Exposure Notification Service" benutzt Bluetooth LE auf dem Mobiltelefon. Ein Telefon sendet ca. 4x pro Minute eine kurze Nachricht in die Welt, die einen 128bit Code enthält. Dieser Code heisst Rolling Proximity Identifier (RPI).
Das Telefon weiss nicht ob und von wem die Nachricht empfangen wurde. Gleichzeitig hört das Telefon auf die selben Nachrichten von anderen Telefonen und speichert diese zusammen mit einem Zeitstempel lokal ab.
Der RPI wird alle 15 Minuten geändert und folgendermaßen erzeugt: Sobald das Contact Tracing am Telefon aktiviert wird, erzeugt dieses einen anderen zufälligen 128bit Code, den Temporary Exposure Key (TEK). Dieser Code wird alle 24 Stunden neu erzeugt.
Durch ein kryptografisches Verfahren wird alle 15 Minuten aus dem aktuellen TEK und einer Sequenznummer der RPI errechnet. Es ist nach aktuellem Kenntnisstand nicht möglich, den TEK aus dem RPI zurückzurechnen. Deshalb können 2 RPIs nicht demselben User zugeordnet werden.
Das Telefon speichert seine bisherigen TEKs lokal ab. Diese verlassen im Normalfall nicht das Telefon. Die versendeten RPIs müssen nicht gespeichert werden, da sie jederzeit wieder aus den TEKs erzeugt werden können.
Nur, wenn über die App getriggert wird, dass ein positiver Befund vorliegt, gibt das Telefon die TEKs an die App weiter. Dieses muss vom User explizit über das Betriebssystem bestätigt werden. Die App selber kann die TEKs ohne die Bestätigung nicht einsehen.
Nach der Freigabe läd die App alle TEKs der letzten 14 Tage an einen Server ins Internet. Da es sich nur um 15 TEKs mit 128 byte länge handelt ist das ein sehr kleines Datenpaket.
Die App läd regelmässig die aktuelle Liste aller 'infizierten' TEKs herunter und übergibt die ans Betriebssystem weiter. Dieses berechnet die RPIs aus den TEKs und vergleicht diese mit den von anderen Telefonen empfangenen RPIs.
Wenn das Betriebssystem feststellt, dass einer dieser RPIs für eine längere Zeit und mit einer passenden Sendestärke empfangen wurde wird dieses der App zurückgemeldet, die dann den User über eine mögliche Infektion informieren kann.
Soviel zur Funktionsweise. Meiner Meinung nach ist das eine sehr saubere Methodik, wenn sie korrekt implementiert wird.

Nun zu den Angriffspunkten:
Ich lasse aussen vor, dass es für eine Malware-App möglich sein könnte, die TEKs aus dem Betriebssystem auszulesen. Wenn das möglich ist, können auch auf alle anderen privaten Informationen zugegriffen werden - die TEKs sind dann das kleinste Problem.
Ich sehe da ein anderes grundliegendes Problem. Wenn ich meine Zeit nicht mit dem Schreiben von 10 Meter langen Twitter Threads verschwenden würde, könnte ich in relativ kurzer Zeit folgendes bauen:
Man nehme einen Raspberry Pi oder ein ähnliches Device mit angeschlossener Kamera (kostet ca. 50 Euro). Darauf installiert man ein Programm, dass mittels dem integrierten Bluetooth-Modul auf alle Exposure Notification Service Nachrichten lauscht.
Sobald eine solche Nachricht empfangen wird macht das Gerät ein Foto mit der Kamera und speichert dieses zusammen mit der RPI aus der Nachricht auf seine SD-Karte (Das geht mit ein paar Zeilen Python Script).
Jetzt läd das Device regelmässig automatisiert die 'infizierten' TEKs herunter, berechnet daraus die RPIs und schickt mir eine Mail oder ähnliches mit dem entsprechenden Fotos.
Wenn nur eine Person auf dem Foto ist oder ich 10 Bilder habe, auf denen immer dieselbe Person zusammen mit anderen ist, weiss ich genau, das diese Person positiv getestet wurde.
Nun stellt Euch mal vor ich verstecke diese Gerät am Eingang meines Wohnkomplexes, im Eingangsbereich meines Büros oder in meinem Ladengeschäft. Was ist wenn ich eine Fastfood-Kette betreibe und solche Geräte in diesen installiere.
Nachtrag: Falls derjenige, der das Backend zum Abladen und Verteilen der TEKs baut, nicht aufpasst und die Reihenfolge dieser täglichen Keys aller User nicht randomisiert wäre ich bei genügend verteilten Devices in der Lage, jeden Infizierten über die letzten 14 Tage zu tracken.
PPS: Kickstarter project coming soon! ;)
Missing some Tweet in this thread? You can try to force a refresh.

Enjoying this thread?

Keep Current with Rick

Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Follow Us on Twitter!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3.00/month or $30.00/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!