Neue Version des Apple & Google Contact Tracing Protocol

Apple & Google

Am 24. April 2020 kĂŒndigten Apple und Google ein Update des gemeinsam entwickelten Contact & Tracing-Protokolls (Apple & Google Contact Tracing Protocol) an, das sie jetzt als Exposure Notification Technology bezeichnen, da der Name das Protokoll besser beschreibt.


Am 29. April wurde iOS 13.5 Beta mit der ersten Implementierung dieses Protokolls veröffentlicht. Beta zielt darauf ab, Entwicklern eine neue API zu testen und Feedback zu erhalten. Der Zugriff auf die API soll nur fĂŒr AntrĂ€ge gewĂ€hrt werden, die offiziell mit staatlichen medizinischen Einrichtungen verbunden sind.


In diesem Artikel wird erlĂ€utert, was die Änderungen im Protokoll verursacht hat, ob die SicherheitsanfĂ€lligkeiten nach dem Update bestehen geblieben sind und ob Apple und Google auf Kritik reagieren konnten (hĂ€ufig unangemessen).


NamensÀnderung


Wie Unternehmen bemerken, ist die Kontaktverfolgung zwar notwendig, aber nur ein Teil des Protokolls.

Ziel der entwickelten Lösung ist es, Personen, die möglicherweise mit COVID-19 infiziert sind, im Voraus zu benachrichtigen, um die Ausbreitung der Krankheit zu verringern.




, , , COVID-19 ( 14 ), , , , .

, , .

. , Apple Google .


, .



Das Arbeitsschema des alten Apple / Google-Protokolls

iOS Android , Apple & Google Contact Tracing API .


:


  1. Tracing Key.
  2. Daily Tracing Key HKDF Tracing Key .
  3. 10 Rolling Proximity ID HMAC Daily Tracing Key .
  4. Bluetooth Low Energy. , , .
  5. - , 14 , 14 , Rolling Proximity ID’s 14 .
  6. , .

.



Das Arbeitsschema des neuen Apple / Google-Protokolls

  1. 16- Exposure Key.
    Rolling Proximity Key (RPIKey) Associated Encrypted Metadata Key (AEMKey):


    RPIKey = HKDF(ExpKey, NULL, UTF8("EN-RPIK"),16)

    AEMKey = HKDF(ExpKey, NULL, UTF8("EN-AEMK"),16)

    :


    • HKDF – - HKDF(Key, Salt, Info, OutputLength) RFC 5869, SHA-256
    • NULL – ,
      UTF8("EN-RPIK") – , EN-RPIK UTF8

    Bluetooth LE MAC 15-20 , .

    MAC Rolling Proximity ID (RPID)


    RPID = AES128(RPIKey, UTF8("EN-RPI") || 0x000000000000 || Ti)

    :


    • AES128(Key, Data) – - AES 128- . 128-
    • RPIKey – Rolling Proximity Key
    • || – , :
      • UTF8("EN-RPI") – 6 , EN-RPI UTF8
      • 0x000000000000 – 6 ( 128- )
      • Ti – 4- 10- , unix_timestamp div (60 * 10), div –

    4 Associated Encrypted Metadata (AEM). , . , .

    .


    AEM = AES128−CTR(AEMKey, RPID,  Metadata)
    

    :
    AES128−CTR(Key, IV, Data) – - AES-CTR, 128- AEMKey. , .

    IV Rolling Proximity Key.


    Rolling Proximity ID Associated Encrypted Metadata , BLE Payload:





    Bluetooth Low Energy. , , .

  2. - , 14 . , 14 , Rolling Proximity ID’s 14 .



“ ” Apple Google.

Apple Google . , , , . (, ) .



Tracing Key, Daily Tracing Key’s, .

Exposure Key ( Daily Tracing Key) , .. .

DP-3T, . .


Apple / Google , 2- :


  • , Tracing Key. , .
  • Daily Tracing Key Tracing Key, , BLE ( Tracing Key).

AES HMAC-SHA-256


AES HMAC-SHA-256 .

10 , .

, - 10K .

140K 140K*144 ~ 20 ( 144 24*60/10), .

, , , , . , 10 , .. 140 2 , 140*10K=1,4M , .

AES , .


MAC RPI


.

, Rolling Proximity Identifier 10 , MAC Bluetooth LE 15-20 .

, RPI MAC , RPI MAC MAC RPI.

, , Bluetooth .

MAC RPI .

:

The key schedule is fixed and defined by operating system components, preventing applications from including static or predictable information that could be used for tracking.

, , , MAC RPI .

DP-3T OpenCovidTrace Bluetooth LE .


Associated Metadata


– . , , .


:

  • -, 15-20 , 4 .

    : 1) , 2) , 3) (, .. 4 ), 4) , 5) , 6) , ID, , .
  • -, ( ) , .

    , , . , , , .. ( , ). , , .
  • , , , .

    , .

, :

  • Bluetooth , .
  • /, , , .
  • , , ID, , . , , ID .

    ID .


, .

, , . , .


– IT – .


OpenCovidTrace , open-source, .



open-source OpenCovidTrace, DP-3T Apple/Google , iOS.


Github!

, .


OpenCovidTrace, .


, .




All Articles