Contact tracing

czyli aplikacją w wirusa

Trzy słowa o mnie

disclaimer: nie jestem specjalistą od BLE

Po
Co
To

Ale czy na pewno?

Metody w aplikacjach

- Lokalizacja (np. GPS, dane operatorów)

- Bluetooth

- Kody QR

- Dane z płatności

- Bilety

Jak
To
Działa

Scentralizowane protokoły

Zdecentralizowany* protokół

Dlaczego *?

Problem pojedynczego spotkania

prywatność vs skuteczność

Exposure Notification

Klucze w GAEN

d6be898e46222af5531a3f5d03036ffd17166ffd7c2ed741a85180d623b04107ed1abf6633150f29ab2ea9


d6be898e - access address

4622 - header BLE (m.in. flaga random MAC)

2af5531a3f5d - MAC (5d:3f:1a:53:f5:2a)

ab2ea9 - CRC

ProteGo Safe

Wszystko w Twoich rękach

Publikowanie kluczy

Ataki

Backend impersonation

Deanonymizing infected person

  • paparazzi

  • militia
  • konkurencja
  • heatmapa

Device tracking

def link_devices(devices: List[Device]) -> None:
    device_to_delete = None
    for old_device in devices:
        if datetime.now() - old_device.last_time < INACTIVE_DEVICE:
            continue
        for device in devices:
            if device.first_time < old_device.last_time:
                continue
            if device.first_time - old_device.last_time > TOO_LONG_GAP:
                continue
            if abs(old_device.last_rssi - device.first_rssi) > RSSI_THRESHOLD:
                continue
            device_to_delete = old_device
            print(f"{old_device.service_data}) is now {device.service_data}")
            break

    if device_to_delete:
        devices.remove(device_to_delete)

Linking devices

Relay/Replay

Czy używać?

Oby świadomie!

Made with Slides.com