Kontaktnachverfolgung mit luca

Basis des luca-Systems: Das Verschlüsselungs­konzept

By März 11, 2022August 11th, 2022No Comments

11 Mrz 2022

Datenschutz und Datensicherheit stehen bei luca von jeher an erster Stelle. Aus diesem Grund ist das Verschlüsselungskonzept der Kernbaustein des luca-Systems. Dieser Fokus auf IT-Sicherheit und die beständige Überprüfung aller Prozesse durch interne und externe Expert:innen sorgen dafür, dass die Kontaktdaten von Nutzer:innen zu jedem Zeitpunkt sicher sind. Hier erfährst du, wie die Verschlüsselung im luca-System genau funktioniert. 

luca nutzt ein Public-Key-Verschlüsselungsverfahren. Es basiert auf Schlüssel-Paaren aus privaten und öffentlichen Schlüsseln. Die öffentlichen Schlüssel werden nur zum Verschlüsseln benutzt, die privaten zum Entschlüsseln.  

Das luca-System hat vier Schlüsselpaare aus privaten und öffentlichen Schlüsseln: Je eins für Nutzer:innen und Betreiber:innen von luca Locations sowie zwei für die Gesundheitsämter (G.A.s): Privater Tagesschlüssel und öffentlicher Tagesschlüssel (für alle G.A.s gleich) und privater G.A.(-spezifischer) Schlüssel und öffentlicher G.A.(-spezifischer) Schlüssel, für jedes Gesundheitsamt ein spezifisches Paar. 

Hybride Verschlüsselung

Dieses Prinzip nennt sich asymmetrische Verschlüsselung, weil verschiedene Schlüssel zum Verschlüsseln und Entschlüsseln der Daten verwendet werden. Zusätzlich verwendet das luca-System symmetrische Schlüssel. (Dabei werden die Daten mit ein und demselben Schlüssel ver– und wieder entschlüsselt). Diese Kombination von symmetrischen und asymmetrischen Schlüsseln heißt hybride Verschlüsselung. 

Beispiel 1: Was passiert nach dem Download der luca App? 

  • Nach Eingabe der Kontaktdaten und der Verifikation der Telefonnummer erzeugt die luca App einen geheimen Userschlüssel, der die persönlichen Kontaktdaten chiffriert. Dabei handelt es sich um einen symmetrischen Schlüssel. 
  • Die so verschlüsselten Daten werden an das luca-Backend gesendet und auf Servern innerhalb der EU gespeichert.  
  • Der geheime Userschlüssel liegt vorerst ausschließlich lokal auf dem Smartphone des betreffenden Nutzers. 

Beispiel 2: Was passiert beim Check-in? 

  • Die luca App lädt den öffentlichen Tagesschlüssel der Gesundheitsämter herunter – dieser wird alle 24 h von einem G.A. neu generiert – und legt damit eine erste „innere Verschlüsselungsschicht“ um den geheimen Userschlüssel. 
  • Die luca App legt mithilfe des öffentlichen Schlüssels des luca-Standorts (Öffentlicher Locationschlüssel), an dem eben eingecheckt worden ist, eine zweite „äußere Verschlüsselungsschicht“ um den geheimen Userschlüssel. Das Datenpaket wird also mittels dreier Bausteine erstellt: Den Daten (geheimer Userschlüssel und Referenz auf die Kontaktdaten, die, wie in Beispiel 1 beschrieben, verschlüsselt im luca-Backend liegen), dem öffentlichen Tagesschlüssel (hüllt die Daten in eine innere Verschlüsselungsschicht“) und dem öffentlichen Locationschlüssel (hüllt die innere in eine äußere Verschlüsselungsschicht). 
  • Außerdem erzeugt die luca App eine Trace-ID. Diese Trace-ID entspricht einem „Pfad“ = jemand hat zu Zeit XY an Ort XY eingecheckt. Bei ihrem allerersten Check-in generiert die luca App zusätzlich einen Trace-ID-Schlüssel, der als Referenz zum Auffinden aller zu diese:r Nutzer:in gehörenden Trace-IDs dient. Anschließend lädt die App die Trace-ID und das oben beschriebene Datenpaket auf den luca-Server hoch.   

Beispiel 3: Was passiert bei einer Datenanfrage in der App? 

  • Auf Anfrage des Gesundheitsamts klickt ein:e Nutzer:in in der luca App auf „Historie teilen“. Dabei erzeugt das luca-Backend eine TAN zur einmaligen Freigabe der Daten, damit nur das zuständige G.A. die Historie auslesen kann. 
  • Die App legt anschließend mithilfe des öffentlichen Tagesschlüssels der Gesundheitsämter eine Verschlüsselungsschicht um ihren Trace-ID-Schlüssel (mit dessen Hilfe das luca-System alle Check-ins mit einer zu diese:r Nutzer:in gehörenden Trace-ID einsammeln kann) und übermittelt dieses Paket an das anfragende G.A. 
  • Das Gesundheitsamt erhält von der App-Nutzer:in per Telefon, Mail oder sonstigem Kontakt die zuvor vom luca-Backend erzeugte TAN. 
  • Nachdem das zuständige G.A. diese TAN in luca Gesundheitsamt eingegeben hat, erhält es vom luca-Backend den Trace-ID-Schlüssel. Mit dem privaten Tagesschlüssel der Gesundheitsämter entfernt das zuständige G.A. die Verschlüsselungsschicht, die den Trace-ID-Schlüssel „einhüllt“. 
  • Mit diesem Schlüssel erstellt das G.A. eine Liste aller zugehörigen Trace-IDs, schickt diese Trace-IDs an das luca-Backend, das anschließend alle betreffenden Check-ins einsammelt.   
  • Die Mitarbeiter:innen des zuständigen G.A. können jetzt sehen, wann und wo Check-ins der infizierten Nutzer:in stattgefunden haben. Anschließend können sie bei den betreffenden luca-Standorten Anfragen stellen. 

Beispiel 4: Was passiert bei einer Datenanfrage in Betrieben? 

  • Auf Datenanfrage des G.A. entschlüsselt eine verantwortliche Person des luca-Standorts die Kontaktdaten der Gästeliste mit dem privaten LocationSchlüssel. Damit ist die „äußere Verschlüsselungsschicht“ aufgehoben.  
  • Dieses Datenpaket wird vom luca-System für den Datentransfer mit dem öffentlichen G.A.-spezifischen-Schlüssel gesichert.  
  • Das zuständige Gesundheitsamt hebt anschließend mit seinem privaten G.A.-spezifischen-Schlüssel die Verschlüsselungsschicht für den Datentransfer und mit dem privaten Tagesschlüssel der Gesundheitsämter die zusätzlich noch bestehende „innere“ Verschlüsselungsschicht des Datensatzes auf.  
  • Die Mitarbeiter:innen des G.A. haben jetzt die geheimen Userschlüssel der betroffenen Personen und die Referenzen zu deren verschlüsselten Kontaktdaten.  
  • Mithilfe dieser Referenzen sucht das luca-System die betreffenden Kontaktdaten zusammen, die das G.A. anschließend mit den geheimen Userschlüsseln in Klartext verwandeln kann und so die Gästeliste eines Standorts einsehen kann. 

Das bedeutet: Das Ver– und Entschlüsseln von Datensätzen ist nur mithilfe des Zusammenspiels verschiedener Schlüssel möglich: Symmetrische Schlüssel und asymmetrische Schlüsselpaare – wobei die symmetrischen Schlüssel und die privaten Schlüssel der Schlüsselpaare jeweils nur lokal bei Gesundheitsämtern, Betrieben und Nutzer:innen gespeichert sind, die öffentlichen Schlüssel dagegen über das luca-System verteilt werden. Dadurch hat weder culture4life noch ein:e Betreiber:in eines luca-Standorts Zugriff auf den Klartext von Kontaktdaten.

Sinn und Zweck dieses Verschlüsselungskonzepts ist es, dass ausschließlich die Mitarbeiter:innen des für eine bestimmte Region zuständigen Gesundheitsamts die Kontaktdaten von Nutzer:innen auslesen können, und das nur, wenn sowohl die Nutzer:innen als auch die Beitreiber:innen von luca-Standorten dem zustimmen. 

Weitere technische Details findest du in der luca Security Overview. 

Bleib gesund!

Dein luca-Team

Die Kontaktnachverfolgung mit luca ist zurzeit ausgesetzt. Die luca-Infrastruktur bleibt erhalten, sodass Gesundheitsämter bei Bedarf jederzeit wieder über luca Kontaktdaten abrufen können. luca bietet Nutzer:innen neue Funktionen, die dir weiterhin helfen, deinen Alltag angenehmer zu gestalten. Mehr dazu findest du hier.