marq24 / UUID0xFD6FTracer

Scan your current environment for devices running an app that make us of the ExposureNotification Service
GNU General Public License v3.0
122 stars 6 forks source link

Time interval of measuring #1

Open cannothing opened 4 years ago

cannothing commented 4 years ago

I used the app in the subway. The results were a little bit puzzling. The numbers of active apps changed massively in the middle of the tunnel, far away from the station, but no change of the situation in the wagon. So what is the time interval of measuring?

Die Zahlen verändern sich in U-Bahn-Tunneln so stark, sodass ich mich frage, wie und wann misst die App. Es sieht teilweise so aus, als würde die CWA, die in relevanter Riskiodistanz sind, die Verbindung verlieren.

marq24 commented 4 years ago

Moin!

erst einmal vorweg - und das ist mir wirklich wichtig - ob man sich in einer "Riskiodistanz" befindet oder nicht, wird von der App nicht festgestellt. Ob also das ExposureNotification Framework tatsächlich Daten mit den Geräten in der Umgebung austauscht oder nicht ist und bleibt für uns alle eine BlackBox. Also z.b. ab welcher Signalstärke angenommen wird, ob man sich dem Risiko einer Infizierung aussetzt - oder wie lange diese Nähe bestehen muss.

Der UUID 0xFD6F Tracer stellt nur fest, wie viele Geräte aktuell überhaupt zu einem Austausch von anonymen - nicht nach verfolgbaren kontakten bereit wären. Also überhaupt von Deiner installierten CWA (bzw dem darunter liegenden Framework von Google & Apple) erkannt werden könnten.

Die "Magie" (die keine ist) passiert "hier" :-) https://github.com/marq24/UUID0xFD6FTracer/blob/df7a7d00c5387511053aaf8cadcaed2169f3e6a6/app/src/main/java/com/emacberry/uuid0xfd6ftracer/ScannerService.java#L542

Wenn der Service der App gestartet wird, läuft ein permanenter Scann der Umgebung nach diesen BluetoothLE Beacons mit der UUID 0xFD6F - Jedes Beacon sollte im Abstand von 250ms ein Signal aussenden... Allerdings werden diese Signale nicht alle 250ms von dem gestarteten scanner als "gefunden" gemeldet - das ist (leider) total unterschiedlich - mal sind es 2 sec - mal 5 - manchmal aber auch 10-15... [die nächste Stadt mit U-Bahn ist hier etwas weiter entfernt - und als Gütersloher ist man aktuell sowieso nicht gerne irgendwo anders gesehen - ich muss mich hier aus Radfahren beschränken]...

Also wie wird nun gezählt?

  1. Jede neue BeaconAdresse wird sich auf einer Liste gemerkt
  2. Wenn eine bereits bekannte Adresse erneut gefunden wird, wird diese als "gerade aktiv" markiert
  3. Beim eintreffen einer neuen Adresse spätestens aber nach 30sek wird geprüft, ob für alle auf der Liste stehenden Adressen in den letzten 15sek ein Signal empfangen wurde (sie also "aktiv" sind) - wenn ja bleibt die Adresse auf der Liste, wenn nein, wird sie aus der liste der aktiven Beacons gestrichen.
  4. Die Summer aller Adressen auf der Liste wird Dir in der App angezeigt

Im ungünstigsten Fall dauert es also 44 Sekunden (+nächster BluetoothLE ScannCycle) bis ein Gerät das einmal gefunden wurde, wieder von der Liste gestrichen wird (sich die Zahl also um eins reduziert).

Wenn Du jetzt also ind er U-Bahn sitzt und in eine Station einfährst, und es stehen 100 Leute mit CWA auf dem Bahnsteig, dann geht der Counter in der App deutlich nach oben - sicherlich nicht auf 100... aber man wird es schon merken - wenn der Zug jetzt wieder in den Tunnel einfährt, dann erwarte ich min. 30-50 Sekunden, die die Zahl weiter oben bleibt, bis sie dann wieder auf die Geräte abfällt, die mit Dir im Zug sitzen (und ich in Deiner Nähe befinden)...

Ist diese Antwort verständlich für Dich?

cannothing commented 4 years ago

Vielen Dank für die ausführliche Antwort. Ich verstehe die Antwort.

Deine Antwort lesend, ist mir klar geworden, was mich an den Zahlen stört. In den Stationen haben tendenziell prozentual mehr Leute die App an als in den Tunnels. Und deswegen stellt sich mir die Frage, warum ist das so?. Aber ich muss mal schauen, wie das ist, wenn die U-Bahn überirdisch fährt. Habe ich aber erst morgen.

marq24 commented 4 years ago

Ich finde das überhaupt nicht verwunderlich - im Tunnel können maximal alle Personen die mit Dir im Zug/Wagen sitzen erkannt werden - wenn Du in die Stadtion einfährst, dann stehen dort sicherlich noch eine ganze Menge mehr Menschen auf dem Bahnsteig - viele davon hoffentlich mit installierter Corona-Warn-App. Diese Geräte werden dann ebenfalls vom Scanner erfasst - die Reichweite der Beacons kann schon etliche Meter weit reichen...

Wenn ich draußen am Radfahren bin (Landstraße) und von hinten ein Auto kommt, dann erkennt die App auch sehr häufig ein BluetoothLE Beacon vom Fahrer oder Beifahrer - oder beiden...

Die App erfasst nur ob technisch die Möglichkeit bestünde, dass die Corona-Warn-App mit anderen Geräten Daten austauschen könnte - OB sie es tatsächlich tut - das ist eine ganz andere Frage.

cannothing commented 4 years ago

Das entscheidende Wort war „prozentual“. Im Tunnel haben in Prozenten gesehen weniger Leute die App als wenn man in der Station ist. Der Prozentsatz müsste eigentlich gleich sein.

marq24 commented 4 years ago

Es ist sehr gut möglich, dass im Tunnel der Empfang generell schlechter ist als an einer Station - aber das müsste man in der tat dann tatsächlich statistisch genauer untersuchen... Wieviel Personen befinden sich auf der Station - wie viel im Zug... Ich glaube um da wirklich aussagekräftige Ergebnisse zu ermitteln müsste man ein paar Tage unterwegs sein...

Bin Neugierig, was Du so in den nächsten Tagen noch so ermitteln kannst...

cannothing commented 4 years ago

Screenshot_20200702-205307_UUID 0xFD6F Tracer Ich habe mir Beacon Scope runtergeladen, um festzustellen, ob sich die Distanzen verändern. Es ist eher so, dass die Distanz der Bluetoothsender bei Beschleunigung und Bremsen reagiert.

Aber dabei ist dieser Screenshot entstanden. Beacon Scope sieht keinen einzigen Bluetoothsender, aber dein App sieht 7 CWAs. Also ich weiß nicht, ob man da so viel feststellen kann.

marq24 commented 4 years ago

Zwei mögliche Erklärungen 1) die 6 Sender sind alle schon nicht mehr in Reichweite (und wir haben die Situation, das sie in Theorie in den 45+Sec verschwinden) - möglich - aber da hast Du sicherlich schon drauf geachtet, dass die eine ganze Weile stehen bleiben...

2) Der Beacon Scope scannt vielleicht nach Bluetooth (und nicht nach BluetoothLE) Devices? Bis zu dieser App habe ich auch immer nur den Bluetooth Scanner Teil in der Android API verwendet (im GPSLogger um meine Di2, POW und HR Sensoren zu finden) - der ist ganz schön träge... also wirklich träääääääge... Der BluetoothLE Scanner ist wesentlich flotter und scannt im Gegensatz zum normalen Bluetooth Scanner auch permanent... Wissen kann ich das natürlich nicht - könnte aber eine Erklärung sein...

paulens12 commented 2 years ago

ok, what is happening here? I want to know the answer but it's all in German...