1/ Ein kleiner Thread für Journalistïnnen und alle, die sich mit dem dezentralen #CoronaApp-Ansatz beschäftigen wollen. Es ist in der Tat nicht so ganz einfach zu verstehen.
So funktioniert eine Corona-App mit den Apple/Google-Schnittstellen (vereinfacht)
https://abs.twimg.com/emoji/v2/... draggable="false" alt="📱" title="Mobile phone" aria-label="Emoji: Mobile phone">:
https://abs.twimg.com/emoji/v2/... draggable="false" alt="👇" title="Down pointing backhand index" aria-label="Emoji: Down pointing backhand index">
https://abs.twimg.com/emoji/v2/... draggable="false" alt="👇" title="Down pointing backhand index" aria-label="Emoji: Down pointing backhand index">
https://abs.twimg.com/emoji/v2/... draggable="false" alt="👇" title="Down pointing backhand index" aria-label="Emoji: Down pointing backhand index">
So funktioniert eine Corona-App mit den Apple/Google-Schnittstellen (vereinfacht)
2/ Es wird Bluetooth verwendet. Dies funktioniert nur im nahen Umfeld eines Geräts. Über Signalstärken lässt sich Abstand einschätzen. Apple/Google arbeiten an Schnittstellen für ihre Betriebssysteme, die eine Hintergrundsuche per BT ermöglichen.
3/ Auf jedem Gerät wird ein Tagesschlüssel (TS, eine Zeichenfolge) generiert. Dieser wird NICHT mit anderen Geräten getauscht
https://abs.twimg.com/emoji/v2/... draggable="false" alt="🚫" title="No entry sign" aria-label="Emoji: No entry sign">. Alle ~15 Min (!) wird, ausgehend vom Tagesschlüssel, ein Kurzschlüssel (KS) generiert. Dabei gilt: man kann aus dem TS den KS bilden, nicht andersrum!
4/ Wenn zwei Geräte für eine gewisse Zeit einen definierbaren Schwellwert bei der Signalstärke überschreiten, werden nur die KS untereinander (ohne Server!) ausgetauscht und der ungefähre Zeitpunkt vermerkt
https://abs.twimg.com/emoji/v2/... draggable="false" alt="👫" title="Woman and man holding hands" aria-label="Emoji: Woman and man holding hands">. Die TS werden nicht getauscht!
5/ Wenn Person
https://abs.twimg.com/emoji/v2/... draggable="false" alt="👨🏻" title="Man (light skin tone)" aria-label="Emoji: Man (light skin tone)"> positiv getestet wird, kann er dies in der App vermerken. Gleichzeitig muss er das Testergebnis belegen, z. B. durch einen Scan eines QR-Codes vom Gesundheitsamt
https://abs.twimg.com/emoji/v2/... draggable="false" alt="📃" title="Page with curl" aria-label="Emoji: Page with curl">. Dann werden die TS der letzten Tage von
https://abs.twimg.com/emoji/v2/... draggable="false" alt="👨🏻" title="Man (light skin tone)" aria-label="Emoji: Man (light skin tone)"> an den Server der lokalen Corona App hochgeladen.
6/
https://abs.twimg.com/emoji/v2/... draggable="false" alt="‼️" title="Double exclamation mark" aria-label="Emoji: Double exclamation mark"> Wichtig zu wissen: Apple/Google bieten keine eigene App an, sondern liefern nur Schnittstellen. Die lokale App wäre also die deutsche App. Wichtig auch: wer sich hinter einem TS als Person verbirgt, bleibt dem App-Anbieter unbekannt (wenn sie sich an die Regeln halten).
7/ Der App-Anbieter verteilt dann mehrmals am Tag an alle Nutzerïnnen die Liste an TS, die positiv getestet wurden
https://abs.twimg.com/emoji/v2/... draggable="false" alt="🔬" title="Microscope" aria-label="Emoji: Microscope">
https://abs.twimg.com/emoji/v2/... draggable="false" alt="📑" title="Bookmark tabs" aria-label="Emoji: Bookmark tabs">
https://abs.twimg.com/emoji/v2/... draggable="false" alt="📲" title="Mobile phone with rightwards arrow at left" aria-label="Emoji: Mobile phone with rightwards arrow at left">. Mit dieser Liste selbst kann niemand etwas anfangen. Aber: aus den TS lassen sich (siehe Tweet 3) ja KS generieren!
https://abs.twimg.com/emoji/v2/... draggable="false" alt="💡" title="Electric light bulb" aria-label="Emoji: Electric light bulb">
8/ Smartphone checkt nun lokal im Hintergrund, ob sich aus der TS-Liste irgendeine KS generieren lässt, mit der man in den letzten Tagen Kontakt hatte. Wenn ja, erscheint eine Meldung mit dem ungefähren Zeitpunkt des Kontakts
https://abs.twimg.com/emoji/v2/... draggable="false" alt="⚠️" title="Warning sign" aria-label="Emoji: Warning sign">. Die Person sollte dann bevorzugt getestet werden.
9/ Die TS und KS allein sind wertlos, beide werden aber nur einzeln rausgegeben (KS an Geräte in der Nähe, TS nur bei Positivtest an Server). Schnittstellen erlauben, dass App-Anbieter den Schwellwert (siehe Tweet 4) mitbestimmen können (zB anpassen, wenn neue Infektionswelle).
10/10 Fazit: Ansatz ist geschickt, Angriffsvektoren gering (klar aber auch: nichts ist 100% sicher). Problem bleibt Bluetooth: für Abstandsmessung ist es eigentlich nicht ausgelegt. Wie gut das alles funktioniert, bleibt abzuwarten und wird man im Laufe d. Sommers sehen. Geduld!
10+1/10 Ich habe häufiger die Frage erhalten, ob die Datenmenge nicht sehr groß sei, die jeden Tag an alle Nutzerïnnen verschickt werden müsste (siehe Tweet 7). Hier habe ich die Frage beantwortet: https://twitter.com/henningtillmann/status/1254746611110105089?s=21">https://twitter.com/henningti... https://twitter.com/henningtillmann/status/1254746611110105089">https://twitter.com/henningti...
10+2/10 Apple/Google haben Schnittstellen um Risikoeinschätzung erweitert. Diese hängt von Signalstärke, Dauer, Zeitpunkt u App-spezifischen Faktoren ab
https://abs.twimg.com/emoji/v2/... draggable="false" alt="📶" title="Antenne mit Balken" aria-label="Emoji: Antenne mit Balken">
https://abs.twimg.com/emoji/v2/... draggable="false" alt="⏱" title="Stoppuhr" aria-label="Emoji: Stoppuhr">
https://abs.twimg.com/emoji/v2/... draggable="false" alt="📆" title="Abreißkalender" aria-label="Emoji: Abreißkalender">
https://abs.twimg.com/emoji/v2/... draggable="false" alt="📱" title="Mobiltelefon" aria-label="Emoji: Mobiltelefon">. Interessant: Mindestdauer ist 5 Minuten. Kontakte von
https://abs.twimg.com/emoji/v2/... draggable="false" alt="👨🏻" title="Mann (heller Hautton)" aria-label="Emoji: Mann (heller Hautton)"> (siehe Tweets 5-8) erhalten somit eine Einschätzung.
10+3/10 Damit dieser Thread eine Sammlung zu dem Thema „Dezentrale #CoronaApp“ bleibt, hefte ich folgenden Thread an. Hier geht es um die Bedeutung der Schnittstellenerweiterung von Apple/Google (siehe Tweet 10+2) im Detail: https://twitter.com/henningtillmann/status/1256193000201486336?s=21">https://twitter.com/henningti... https://twitter.com/henningtillmann/status/1256193000201486336">https://twitter.com/henningti...
10+4/10 Apple/Google haben Beispiel- #CoronaApp online gestellt und klare Regeln festgelegt:
https://abs.twimg.com/emoji/v2/... draggable="false" alt="🚫" title=""Betreten verboten!"-Zeichen" aria-label="Emoji: "Betreten verboten!"-Zeichen"> Starke Beschränkung beim Sammeln pers. Daten
https://abs.twimg.com/emoji/v2/... draggable="false" alt="🚫" title=""Betreten verboten!"-Zeichen" aria-label="Emoji: "Betreten verboten!"-Zeichen"> Nur TS (im Positiv-Fall) dürfen verarbeitet werden
https://abs.twimg.com/emoji/v2/... draggable="false" alt="🚫" title=""Betreten verboten!"-Zeichen" aria-label="Emoji: "Betreten verboten!"-Zeichen"> Keine Ortspeicherung, kein Tracking, kein Adressbuch
https://abs.twimg.com/emoji/v2/... draggable="false" alt="👉" title="Rückhand Zeigefinger nach rechts" aria-label="Emoji: Rückhand Zeigefinger nach rechts"> https://www.google.com/covid19/exposurenotifications/">https://www.google.com/covid19/e...
10+5/10 Die deutsche #CoronaApp ( #CoronaWarnApp) nimmt Formen an. In diesem Thread habe ich mir das Konzept von SAP/Telekom angeschaut. Der erste Quellcode für den Server (empfängt/verteilt positive TS) ist auch hier online: https://github.com/corona-warn-app/cwa-server">https://github.com/corona-wa... https://twitter.com/henningtillmann/status/1262380632040185856?s=21">https://twitter.com/henningti... https://twitter.com/henningtillmann/status/1262380632040185856">https://twitter.com/henningti...
10+6/10 Die Schnittstellen sind nun für die breite Masse verfügbar. Beim iPhone muss auf iOS 13.5 aktualisiert werden (ab iPhone 6s, 2015). Auf Android-Geräten werden die Schnittstellen automatisch im Hintergrund installiert. Es wird mindestens Android 6 (2015) benötigt.
10+7/10 Alle Codebestandteile der #CoronaWarnApp, sowohl für den Server als auch für die mobilen Apps (iOS und Android), sind nun verfügbar. Einen ersten Blick auf das Look & Feel der App gibt es hier: https://twitter.com/henningtillmann/status/1266848913228804098
Code">https://twitter.com/henningti... auf GitHub: https://github.com/corona-warn-app ">https://github.com/corona-wa...
Code">https://twitter.com/henningti... auf GitHub: https://github.com/corona-warn-app ">https://github.com/corona-wa...
10+8/10 #CoronaWarnApp-Datenschutzerklärung ist nun verfügbar.
https://abs.twimg.com/emoji/v2/... draggable="false" alt="➡️" title="Pfeil nach rechts" aria-label="Emoji: Pfeil nach rechts"> Verantwortlich ist RKI
https://abs.twimg.com/emoji/v2/... draggable="false" alt="➡️" title="Pfeil nach rechts" aria-label="Emoji: Pfeil nach rechts"> Mindestalter ist 16
https://abs.twimg.com/emoji/v2/... draggable="false" alt="➡️" title="Pfeil nach rechts" aria-label="Emoji: Pfeil nach rechts"> Freiwilligkeit u. Datensparsamkeit werden betont
https://abs.twimg.com/emoji/v2/... draggable="false" alt="➡️" title="Pfeil nach rechts" aria-label="Emoji: Pfeil nach rechts"> Android: „Standortermittlung“-Berechtigung (leider ein Android-Problem, kein GPS).
PDF: https://www.coronawarn.app/assets/documents/cwa-privacy-notice-de.pdf">https://www.coronawarn.app/assets/do...
PDF: https://www.coronawarn.app/assets/documents/cwa-privacy-notice-de.pdf">https://www.coronawarn.app/assets/do...
10+9/10 Die #CoronaWarnApp ist nun verfügbar. Alle in dem Thread beschriebenen Eigenschaften gelten für die App, da sie nach dem Apple/Google-Konzept funktioniert.
iOS: https://apps.apple.com/de/app/corona-warn-app/id1512595757
Android:https://apps.apple.com/de/app/co... href=" https://play.google.com/store/apps/details?id=de.rki.coronawarnapp">https://play.google.com/store/app...
iOS: https://apps.apple.com/de/app/corona-warn-app/id1512595757
Android:https://apps.apple.com/de/app/co... href=" https://play.google.com/store/apps/details?id=de.rki.coronawarnapp">https://play.google.com/store/app...