2. April 2020

Die Corona App. Von technischem Kokolores und einer politischen Bombe.

Seit einiger Zeit, den meisten spätestens seit gestern bekannt, geistert die "Corona-App" durch die Presse. Ein Handy-Programm (neudeutsche eben App), dass die Kontakte einer Person überwachen soll und dann, im Falle einer Infektion, alle Kontakte dieser Person warnen soll, dass sie eventuell infiziert sein könnten.
Der Verfasser dieser Zeilen hält das Erreichen des Zieles für extrem unwahrscheinlich, um nicht zu sagen das ganze für technischen Kokolores, der aber politisch extrem gefährlich ist. 


Dies wird ein sehr langer und auch technischer Artikel werden. Deswegen teile ich ihn in zwei Teile. Im ersten Teil werde ich das Grundproblem ansprechen und die technischen Details. Gerade dieser technische Teil kann für den Laien sehr spannend, aber ebenso vielleicht auch sehr langweilig werden. Wenn das nicht ihrs ist, verehrter Leser, können Sie die Lektüre des ersten Teiles ab der Stelle wo es technisch wird, abbrechen und direkt zum zweiten übergehen. 

Eines möchte ich ebenso vorneweg schicken: Ich bin ein Fan von Technologie und begeistert, wenn technische Lösungen ein vorher kaum lösbares Problem in den Bereich des Lösbaren verschieben. Ich will niemanden diskreditieren oder gar entmutigen, sich tolle technische Lösungen für ein Problem zu überlegen. Ich glaube nur das diese spezielle Lösung nicht die richtige ist.

Die Idee der Corona-App kann hier nachgelesen werden. Ich möchte das nicht alles wiederholen, ich gehe davon aus, dass der geneigte Leser sich vorstellen kann, worum es geht. Ich denke das diese technische Lösung nicht sinnvoll ist, und das aus (mindestens) drei gewichtigen Gründen, die ich ausführen möchte, einen vierten werde ich am Ende auch noch verlinken. 

1. Es ist technisch kaum machbar, um nicht zu sagen technischen Kokolores.
2. Es ist politisch brandgefährlich, und das drückt es noch harmlos aus.
3. Es wird sozial nicht funktionieren.

Ich beginne mit dem ersten. Dazu muss man etwas ausholen (jetzt kommt der Technobabble). Wenn zwei Handy wechselseitig feststellen sollen, ob sie sich in der Nähe zueinander befinden, so haben sie dazu prinzipiell zwar eine Vielzahl von Möglichkeiten (NFC, WLAN, Bluetooth, Schall, GSM, 4G, etc.), davon sind aber eigentlich nur zwei wirklich praktikabel. Diese zwei sind Bluetooth oder ein gemeinsamer Server, der per Funknetz erreicht wird und GPS Koordinaten vergleicht. Letzteres ist die Domain von Google und zieht in aller Regel einen ganzen Rattenschwanz an datenschutzrechtlichen Problemen mit sich, daher ist die Methode der Wahl, die wohl auch die Corona-App verwendet, Bluetooth. Bluetooth LE ("low energy") wohl um genau zu sein (wobei diese genaue Unterscheidung eigentlich Makulatur ist, deswegen werde ich im weiteren auch von BT sprechen, ich könnte auch BLE schreiben, das macht aber keinen großen Unterschied im Ergebnis). 

Ohne zu tief aufs Bluetooth Protokoll einzugehen, seien dennoch ein paar Grundzüge erklärt. Normalerweise ist BT ein verbindungsorientiertes Protokoll (die meisten werden das kennen, wenn sie ein Headset per BT mit einem anderen Gerät koppeln). Betonung liegt auf normalerweise. Dem Protokoll ist es ebenso gegeben verbindungslose Pakete zu verschicken, so genannte Advertisement Pakete. Sie werden aus verschiedenen Gründen gebraucht (beispielsweise um erst die Verbindung zwischen neuen Geräten zu ermöglichen), wichtig ist nur, dass jedes BT Gerät solche Pakete verschicken kann, wichtiger noch, jedes BT Gerät kann solche empfangen. Ein solches Paket darf nicht all zu viele Daten enthalten (maximal 31 Bytes), aber für ein paar Kleinigkeiten reicht es. 
Also kann jetzt ein Handy A solche Pakete verschicken und alle Handys in Reichweite wissen dann, dass sie in der Nähe von A sind? Nein, so leicht ist es dann doch nicht. Jedenfalls nicht für diese Anwendung. Bluetooth (zumindest vor der Einführung von Bluetooth 5, die Corona App soll aber auf BLE (BT4)  basieren) hat eine Reichweite von bis zu 100 Metern. Die werden nicht wirklich erreicht, aber 50 Meter kann es schon mal sein. Das ist ziemlich viel. Zur Belustigung, lieber Leser: Schalten Sie mal ihr Handy ein und gehen unter Bluetooth Optionen auf alle Geräte in ihrer Nähe. Sie werden sich wundern wie viele es sind. Und Sie sind zuhause. Ich habe hier zu Hause fast ein Dutzend, auf der Arbeit etliche Dutzend. Das sind alles Geräte, die Advertisement Pakete schicken. Ein Teil davon wird von ihren Nachbarn sein. Sie können sogar von der Strasse kommen. In der Innenstadt kommen sie überall her. Ziemlich viel, oder?
Ja, sagen jetzt natürlich die Vertreter der Corona-App. Da fehlt ja auch was wichtiges. Das stimmt. Das sogeschimpfte RSSI ("radio signal strengt indicator"). Simpel gesprochen: Die Empfangsstärke. Zu jedem Advertisement Paket, dass das Handy empfängt, gibt der eigentlich BT-Empfangschip auch die Signalstärke aus, mit der er das Paket empfangen hat. Theoretisch(!) kann man diese Empfangsstärke in eine Distanz umwandeln, bzw. schätzen wie weit der Sender vom Empfänger entfernt ist. Also kann man ja sagen, wie nahe man dran ist. Oder nicht? Ja, eher nicht. Denn hier kommt ein gewaltiges Problem: Funkwellenausbreitung ist ein lausiges Thema und das drückt es noch sehr harmlos aus. Wellen werden reflektiert, absorbiert, abgeschwächt und noch vielerlei Dinge mehr. Der menschliche Körper (an dem das Handy in der Regel "klebt") besteht im wesentlichen aus Dipol-Molekülen (vulgo Wasser), und schirmt die Wellen wunderbar ab. Allerdings nur in eine Richtung. Wer also das Handy in der Gesäßtasche trägt gibt ein ganz anderes Bild ab, als jemand der es in der Hosentasche oder Handtasche trägt.  
Die RSSI Werte kommen selbst unter Idealverhältnissen mit einer Mordsstandardabweichung. Das kann man sich ungefähr so vorstellen: (2m),(2,5m)(3m)(1,5m)(3m),(2,20m) .....
Es ist wirklich extrem schwierig. Und wir sind noch nicht fertig: Wir sprachen von der Empfangstärke. Diese ist aber nicht nur abhängig von der Ausbreitung der Funkwelle sondern (trivialweise) auch von der Sendeleistung des Gegenübers. Aber ist die denn nicht immer gleich? Nein, ist sie nicht. Denn alles was wirklich genormt ist, ist, dass die Hersteller eine maximale Sendeenergie nicht überschreiten. Wie sie darüber hinaus ihre Antennengeometrie auslegen ist Sache des Chipherstellers und davon gibt es höchst unterschiedliche.
Aber ich bin immer noch nicht fertig. Bluetooth spielt im 2,4Ghz Band. So wie die allermeisten "Consumer" Geräte. Und dieses Band ist nicht so breit wie man meint und alle Geräte in einem bestimmten Umkreis müssen sich dieses Band teilen. Bluetooth definiert deshalb 80 Kanäle auf denen Daten verschickt werden können. Aus signaltechnischen Gründen können nur 40 davon gleichzeitig benutzt werden (real sogar weniger), weil man zu einem anderen immer mindestens einen Kanal Abstand einhalten muss. Damit die Advertisement Pakete nicht den regulären Verkehr stören sind sie auf drei Kanäle eingeschränkt. D.h. alle Teilnehmer teilen sich diese drei Kanäle.  Jetzt wirds gemein: Umso mehr Menschen sich in einem Umfeld befinden, umso enger wird das Medium. Ich bin im letzten Jahr mit einem Bluetooth-Modul auf einer Messe gewesen. Da hats in der Mittagszeit nur noch gerappelt, Verbindungsabbrüche ohne Ende, Fehler ohne Ende. Das passiert in Innenstädten auch. D.h. umso höher man die Datenrate der Advertisement Pakete dreht (um beispielsweise das Problem der Standardabweichung in den Griff zu kriegen), umso voller wird das Medium.

Das sind schon eine ganze Menge Flöhe, die die Programmierer da zu hüten haben. Natürlich kann man einige von diesen Problemen adressieren, beispielsweise indem man sich auf Begegnungen beschränkt, die mehrere Minuten dauern, um wenigstens die irrsinnigen Standardabweichungen in den Griff zu kriegen (hoffentlich wird man dann bei Begegnungen, die weniger als 5 Minuten dauern nicht angehustet). Man kann da schon was machen. Und wenn es Ingenieure von Google (oder einem vergleichbaren Unternehmen wären), die ein paar Monate Zeit hätten, könnte ich mir schon was vorstellen. Aber nicht mit den Leuten, die aktuell daran arbeiten. In einem weiteren Artikel der Welt steigern sie sich in die Aussage, dass sie erkennen könnten, ob sich zwischen den beiden Personen (oder Handys) eine Scheibe befindet. Da wirds endgültig mystisch oder um es direkter zu sagen: Da wird offen zugegeben, dass man keine Ahnung hat. Davon ab, dass es tausend verschiedene Arten von Scheiben gibt, sind die allermeisten funktechnisch langweilig und eher unsichtbar. Das unter den Bedingungen der oben genannten Standardabweichungen sehen zu wollen ist schlichter Mumpitz. 

(Zweiter Teil hier)

­
Llarian

© Llarian. Für Kommentare bitte hier klicken.