bluto

bluto ist eine datensparsame App zur Identifikation potenziell virusübertragender Begegnungen (z.B. COVID-19). Dafür setzen wir auf Bluetooth Low Energy (BLE) sowie Wi-Fi Direct und das Prinzip, so wenig Daten wie nur unbedingt notwendig zu speichern. Vorteil der Nutzung von Bluetooth gegenüber dem GPS-Tracking ist die Möglichkeit, auch Begegnungen in geschlossenen Räumen aufzunehmen.

Bei der Begegnung zweier Personen mit der aktivierten App werden vollkommen automatisch über Bluetooth die zufällig erstellten User-IDs ausgetauscht. Diese IDs werden zyklisch erneuert und nur lokal mit einem Zeit- und Ortsstempel gespeichert, so dass sie nicht nachverfolgbar sind und keine Identifizierung des Benutzers möglich ist. So kann jede Begegnung mit einem anderen App-User eindeutig zugeordnet werden bei gleichzeitiger Wahrung der Anonymität.

Für den Fall einer Infektion mit einem Virus werden die User-IDs des Infizierten eines einstellbaren Zeitraums (z.B. 14 Tage bei COVID-19) online freigeschaltet. Die App checkt zyklisch im Hintergrund, ob eine Begegnung mit einer der als infiziert gemeldeten User-IDs stattgefunden hat. Der Nutzer wird durch die App über den Kontakt mit dem zugehörigen Datum und dem Ort der Begegnung informiert.

Konzept

Eine wirksame Methode bei der Bekämpfung von Infektionskrankheiten ist es, potenziell infizierte Personen möglichst schnell zu identifizieren und zu isolieren, um eine weitere Verbreitung der Krankheit zu verhindern. Mittels Smartphones könnten hierfür schon heute Bewegungsdaten aufgezeichnet und ausgewertet werden. Dies ist allerdings aus Datenschutzgründen problematisch. Die dadurch entstehenden Überwachungsmöglichkeiten würden zudem die Akzeptanz stark verringern.

Das Projekt bluto hat zum Ziel, eine datenschutzkonforme Lösung für dieses Problem zu entwickeln. Kernidee ist es, Bewegungsdaten nicht global zu erheben und zentral zu sammeln, sondern lediglich anonymisierte Annäherungen von Smartphones mittels Bluetooth Low Energy (BLE) lokal auf den Smartphones zu speichern. Hierfür sollen Smartphones, die sich innerhalb der gleichen Umgebung befinden, automatisch sich regelmäßig ändernde anonymisierte User-IDs austauschen und mit Zeit- und Ortsstempel speichern. Sollte ein Smartphone-Nutzer positiv getestet werden, werden die User-IDs des Infizierten für einen einstellbaren Zeitraum (z.B. 14 Tage bei COVID-19) online veröffentlicht. Da die Erkennungsmerkmale anonymisiert sind, ist es nicht möglich die positiv getestete Person zu identifizieren. Durch das Verteilen der Daten kann jede teilnehmende Person selbst überprüfen, ob sie eine User-ID der infizierten Person gesammelt hat, um festzustellen, ob sich beide Smartphones begegnet sind. Personen, die sich in der Nähe der positiv getesteten Person befunden haben, können dann ebenfalls getestet werden. Durch das lokale Sammeln der Daten ist es für zentrale Stellen nicht möglich, Bewegungsprofile oder Ähnliches zu erstellen.

Technische Details

Anstatt nur zu versprechen, mit den Daten sparsam umzugehen, haben wir die Anwendung so konzeptioniert, dass möglichst wenig Daten erhoben werden und diese nach Veröffentlichung nicht mehr einer Person zugeordnet werden können. Dies funktioniert so: Jedes teilnehmende Gerät weist sich für einen bestimmten Zeitraum mittels einer zufällig generierten ID (die UUID v4) aus. In der ID sind keine Informationen über das Gerät gespeichert. Wird nun ein anderes Gerät mit der bluto-App im Umfeld erkannt, tauschen die beiden Geräte ihre aktuellen IDs aus und speichern diese ab. Nur die beiden kommunizierenden Geräte erhalten die ID des jeweils anderen. Für den Fall, dass bei einem bluto-Nutzer nun eine stark infektiöse Erkrankung wie COVID-19 diagnostiziert wird, werden seine IDs der letzten 14 Tage (oder einem anderen für die jeweilige Krankheit relevanten Zeitraum) auf den bluto-Server hochgeladen. Ist eine der hochgeladenen IDs auch auf einem anderen Gerät gespeichert, so war diese Person mit dem Erkrankten offensichtlich in Kontakt. Sie kann nun darüber benachrichtigt werden, dass eine Untersuchung erfolgen sollte. Dabei erfährt sie nicht, wer die erkrankte Person ist.

Genaue Messung: Ein großer Vorteil dieses Ansatzes ist zudem, dass der Kontakt zwischen zwei Personen gemessen wird. So sind keine aufwändigen Abgleiche zwischen GPS-Tracks notwendig, die zudem häufig ungenau sind oder innerhalb von geschlossenen Gebäuden wie Geschäften oder in der U-Bahn nicht funktionieren.

Skalierbarkeit: Um die herunterzuladende Datenmenge für einen Nutzer zu begrenzen, clustert bluto die hochgeladenen IDs grob nach Region. So müssen nicht alle verfügbaren IDs von jedem Nutzer heruntergeladen werden, sondern nur die für die Region, in der sich der Nutzer selbst aufgehalten hat. Durch die Einordnung der Datensätze in verschiedene Regionen lässt sich bei Bedarf die Serverinfrastruktur einfach erweitern. Es können dadurch Server nach Region gestaffelt aufgesetzt werden (beispielsweise ein Server für 6°E-9°E, einer für 9°E-12°E und einer für 12°E-15°E). Die Datenmenge, die ein Client herunterladen muss, lässt sich hingegen über die Feinheit der Zuordnung zu Regionen einstellen. Somit bestehen Stellschrauben sowohl um die Auslastung der Backends als auch die Netzwerklast zum Client kontrollieren zu können. Veraltete Schlüssel werden aus der Datenbank regelmäßig gelöscht, da diese nach einer bestimmten Zeit ohnehin nicht mehr relevant sind.

Komponenten: Smartphone App, Backend Server

Ausblick

Eine weitere Idee ist es, das Infektionsrisiko über die Dauer und Entfernung zum Kontakt abzuschätzen. Hierfür wird für jede Begegnung die Dauer und die Verläufe der Signalpegel auf dem Gerät gespeichert. Wird eine Begegnung als Kontakt zu einer infizierten Person eingestuft, werden diese Daten ausgewertet und ein Risikowert ermittelt. Eine eventuelle Empfehlung, ob ein Test auf die Krankheit erfolgen sollte, wird dann unter Berücksichtigung der Berechnung ausgegeben.

+ 12 more
Share this project:

Updates

posted an update

Wir haben uns nach dem Wochenende weiter um das Projekt gekümmert und uns mit anderen Teams zusammengeschlossen, die ähnliche Ansätze haben, um schneller zu dem gewünschten Ziel zu gelangen. Diese Projekte arbeiten aktuell zusammen mit uns an der Lösung:

https://devpost.com/software/008_a_corona_tracking_infectionchain https://devpost.com/software/rsub1 https://devpost.com/software/01_031_coronatracking_privacy-preserving-disease-tracking

Log in or sign up for Devpost to join the conversation.