DE112021002632T5 - Kontaktverfolgung zwischen arbeitern und angestellten - Google Patents

Kontaktverfolgung zwischen arbeitern und angestellten Download PDF

Info

Publication number
DE112021002632T5
DE112021002632T5 DE112021002632.1T DE112021002632T DE112021002632T5 DE 112021002632 T5 DE112021002632 T5 DE 112021002632T5 DE 112021002632 T DE112021002632 T DE 112021002632T DE 112021002632 T5 DE112021002632 T5 DE 112021002632T5
Authority
DE
Germany
Prior art keywords
endpoint device
ephemeral
endpoint
devices
anonymized
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112021002632.1T
Other languages
English (en)
Inventor
Eliott Quentin Eric Teissonniere
Lucien Jean Baptiste Loiseau
Garrett Edward Kinsman
Micha Anthenor Benoliel
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Noodle Technology Inc
Original Assignee
Noodle Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Noodle Technology Inc filed Critical Noodle Technology Inc
Publication of DE112021002632T5 publication Critical patent/DE112021002632T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H40/00ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
    • G16H40/60ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices
    • G16H40/63ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices for local operation
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H40/00ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
    • G16H40/60ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices
    • G16H40/67ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices for remote operation
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/30ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for calculating health indices; for individual health risk assessment
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/80ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for detecting, monitoring or modelling epidemics or pandemics, e.g. flu
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • H04L9/16Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/88Medical equipments

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Medical Informatics (AREA)
  • Public Health (AREA)
  • General Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Biomedical Technology (AREA)
  • Databases & Information Systems (AREA)
  • Epidemiology (AREA)
  • Primary Health Care (AREA)
  • Bioethics (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Pathology (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Computer And Data Communications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Ein Verfahren kann das Sammeln, von jeder von vielen Endpunktvorrichtungen, eines Satzes von anonymisierten Interaktionen der entsprechenden Endpunktvorrichtung mit anderen Endpunktvorrichtungen umfassen. Jede anonymisierte Interaktion in dem Satz von anonymisierten Interaktionen kann auf einer ephemeren eindeutigen Kennung einer anderen Endpunktvorrichtung basieren, die an einer entsprechenden anonymisierten Interaktion mit der entsprechenden Endpunktvorrichtung beteiligt ist. Das Verfahren kann, für jede Endpunktvorrichtung, ein Klären von Identitäten der anderen Endpunktvorrichtungen, mit denen die entsprechende Endpunktvorrichtung interagiert hat, aus dem entsprechenden Satz anonymisierter Interaktionen umfassen.

Description

  • QUERVERWEIS AUF EINE VERWANDTE ANMELDUNG
  • Diese Anmeldung beansprucht den Vorteil und die Priorität der vorläufigen US-Anmeldung Nr. 63/021,040 , die am 6. Mai 2020 eingereicht wurde und durch Bezugnahme in vollem Umfang hierin aufgenommen ist.
  • GEBIET
  • Die hier erörterten Ausführungsformen beziehen sich auf die Kontaktverfolgung zwischen Arbeitern und Angestellten.
  • HINTERGRUND
  • Die Welt befindet sich derzeit mitten in der globalen Covid-19-Pandemie. Überall auf der Welt wird versucht, die Ausbreitung des Covid-19-Virus zu stoppen, indem die Kurve durch soziale Distanzierungsmaßnahmen und das Tragen von Masken abgeflacht wird. In vielen Fällen haben die Bemühungen um den Einsatz dieser Distanzierungsmaßnahmen nationale Regierungen zu dem Schluss gebracht, dass die Eindämmung der Ausbreitung eine vollständige Abriegelung der lokalen Bevölkerung und die Akzeptanz der verheerenden Auswirkungen erfordert, die dies sowohl für die lokale Bevölkerung als auch für die Wirtschaft haben wird.
  • Eine andere Methode, die so genannte Kontaktverfolgung, zielt darauf ab, eine gezielte häusliche Quarantäne durchzusetzen. Dazu muss man jedoch zunächst in der Lage sein, Infektionscluster sowie Personen zu identifizieren, die mit infizierten Einzelpersonen in Kontakt gekommen sind. Die Herausforderung bei diesem Ansatz besteht darin, dass eine mit dem Virus infizierte Person bis zu 20 Tage lang unbemerkt bleiben kann, bevor sie Symptome zeigt oder positiv getestet wird. In dieser Zeit kann diese Person mit vielen anderen Einzelpersonen in Kontakt gekommen sein und die Krankheit an diese weitergegeben haben.
  • Der beanspruchte Gegenstand ist nicht auf Ausführungsformen beschränkt, die irgendwelche Nachteile beheben oder nur in Umgebungen wie den oben beschriebenen funktionieren. Dieser Hintergrund dient lediglich zur Veranschaulichung von Beispielen, in denen die vorliegende Offenbarung verwendet werden kann.
  • ZUSAMMENFASSUNG
  • Die vorliegende Offenbarung bezieht sich allgemein auf die Kontaktverfolgung zwischen Arbeitern und Angestellten.
  • In einem Aspekt der Offenbarung umfasst ein Verfahren das Sammeln, von jeder von mehreren Endpunktvorrichtungen, eines Satzes von anonymisierten Interaktionen der entsprechenden Endpunktvorrichtung mit anderen Endpunktvorrichtungen. Jede anonymisierte Interaktion in dem Satz von anonymisierten Interaktionen basiert auf einer ephemeren eindeutigen Kennung einer anderen Endpunktvorrichtung, die an einer entsprechenden anonymisierten Interaktion mit der entsprechenden Endpunktvorrichtung beteiligt ist. Das Verfahren umfasst, für jede Endpunktvorrichtung, ein Klären von Identitäten der anderen Endpunktvorrichtungen, mit denen die entsprechende Endpunktvorrichtung interagiert hat, aus dem entsprechenden Satz anonymisierter Interaktionen.
  • Ein weiterer Aspekt der Offenbarung kann eine beliebige Kombination der oben genannten Merkmale umfassen und kann darüber hinaus ein Vorberechnen von ephemeren eindeutigen Kennungen für jede Endpunktvorrichtung und das Speichern der vorberechneten ephemeren eindeutigen Kennungen für jede Endpunktvorrichtung umfassen. Jede anonymisierte Interaktion kann eine ephemere eindeutige Kennung einer entsprechenden der anderen Endpunktvorrichtungen umfassen, mit denen die entsprechende Vorrichtung interagiert hat. Das Klären von Identitäten der anderen Endpunktvorrichtungen, mit denen die entsprechende Vorrichtung interagiert hat, kann ein Suchen nach ephemeren eindeutigen Kennungen aus den anonymisierten Interaktionen in den gespeicherten vorberechneten ephemeren eindeutigen Kennungen umfassen.
  • Ein weiterer Aspekt der Offenbarung kann eine beliebige Kombination der oben genannten Merkmale umfassen und kann ferner umfassen, dass das Klären von Identitäten der anderen Endpunktvorrichtungen, mit denen die entsprechende Vorrichtung interagiert hat, als Reaktion auf eine bestimmte anonymisierte Interaktion, die mit einer bestimmten gespeicherten vorberechneten ephemeren eindeutigen Kennung übereinstimmt, die einer bestimmten Endpunktvorrichtung zugeordnet ist, darüber hinaus ein Bestimmen umfasst, dass die entsprechende Endpunktvorrichtung mit der bestimmten Endpunktvorrichtung interagiert hat.
  • Ein weiterer Aspekt der Offenbarung kann eine beliebige Kombination der oben genannten Merkmale umfassen und kann ferner umfassen, dass jede Endpunktvorrichtung einen entsprechenden geheimen Schlüssel hat, der einem Netzbetreiber bekannt ist, und jede ephemere eindeutige Kennung zumindest teilweise auf der Grundlage eines entsprechenden geheimen Schlüssels und eines Zählers vorberechnet wird.
  • Ein weiterer Aspekt der Offenbarung kann eine beliebige Kombination der oben genannten Merkmale umfassen und kann ferner umfassen, dass das Vorberechnen ephemerer eindeutiger Kennungen für jede Endpunktvorrichtung Folgendes umfasst: Erzeugen mehrerer deterministischer Seeds aus dem entsprechenden geheimen Schlüssel und mehreren Zählerwerten und Erzeugen mehrerer ephemerer öffentlicher Schlüsselpaare aus den deterministischen Seeds. Jede vorberechnete ephemere eindeutige Kennung kann ein anderes der ephemeren öffentlichen Schlüsselpaare umfassen.
  • Ein weiterer Aspekt der Offenbarung kann eine beliebige Kombination der oben genannten Merkmale umfassen und kann ferner umfassen, dass das Erzeugen der deterministischen Seeds das Erzeugen mehrerer Hash-Werte umfasst. Jeder Hashwert kann ein Hash des entsprechenden geheimen Schlüssels und eines anderen Zählerwertes sein.
  • Ein weiterer Aspekt der Offenbarung kann eine beliebige Kombination der oben genannten Merkmale umfassen und kann ferner das Erzeugen der ephemeren öffentlichen Schlüsselpaare umfassen, einschließlich der Erzeugung mehrerer öffentlicher Curve25519-Schlüssel, wobei jeder öffentliche Curve25519-Schlüssel unter Verwendung eines anderen deterministischen Seeds als Eingabe erzeugt wird.
  • Ein weiterer Aspekt der Offenbarung kann eine beliebige Kombination der oben genannten Merkmale umfassen und kann außerdem das Bestimmen umfassen, ob ein erster Benutzer der entsprechenden Endpunktvorrichtung einem zweiten Benutzer einer anderen Endpunktvorrichtung ausgesetzt war, basierend darauf, ob sich eine Identität der anderen Endpunktvorrichtung unter den geklärten Identitäten der anderen Endpunktvorrichtungen befindet, mit denen die entsprechende Endpunktvorrichtung interagiert hat.
  • Ein weiterer Aspekt der Offenbarung kann eine beliebige Kombination der oben genannten Merkmale umfassen und kann ferner umfassen, dass die Endpunktvorrichtungen von Benutzern an einem Arbeitsplatz getragen werden, wobei das Verfahren, basierend auf Interaktionen mit Endpunktvorrichtungen mit bekannten Standorten innerhalb des Arbeitsplatzes, darüber hinaus das Bestimmen von mindestens einem der folgenden Elemente umfasst: ein oder mehrere Bewegungsmuster der Benutzer am Arbeitsplatz, Analysen bezüglich der Häufigkeit von Besuchen durch Benutzer an jedem von einem oder mehreren Standorten innerhalb des Arbeitsplatzes, oder Analysen bezüglich der Anzahl von Interaktionen zwischen den Benutzern an jedem von einem oder mehreren Standorten innerhalb des Arbeitsplatzes.
  • Ein weiterer Aspekt der Offenbarung kann eine beliebige Kombination der oben genannten Merkmale umfassen und kann ferner ein nichtflüchtiges computerlesbares Speichermedium mit darauf gespeicherten computerlesbaren Anweisungen umfassen, die von einem Prozessor ausgeführt werden können, um die Durchführung des Verfahrens durchzuführen oder zu steuern.
  • Ein weiterer Aspekt der Offenbarung kann eine beliebige Kombination der oben genannten Merkmale umfassen und kann darüber hinaus umfassen oder für sich alleine stehen, indem er Folgendes umfasst: Erzeugen von mehreren ephemeren eindeutigen Kennungen für eine erste Endpunktvorrichtung im Laufe der Zeit, wobei jede der ephemeren eindeutigen Kennungen spezifisch für die erste Endpunktvorrichtung ist und so konfiguriert ist, dass sie die erste Endpunktvorrichtung identifiziert; Scannen nach anderen Endpunktvorrichtungen; und, als Reaktion auf die Erfassung einer zweiten Endpunktvorrichtung während des Scannens: Bereitstellen einer aktuellen ephemeren eindeutigen Kennung der ersten Endpunktvorrichtung an die zweite Endpunktvorrichtung; und Empfangen einer aktuellen ephemeren eindeutigen Kennung der zweiten Endpunktvorrichtung an der ersten Endpunktvorrichtung.
  • Ein weiterer Aspekt der Offenbarung kann eine beliebige Kombination der oben genannten Merkmale umfassen und kann ferner das Hinzufügen einer anonymisierten Interaktion mit der zweiten Endpunktvorrichtung zu einem Satz von anonymisierten Interaktionen der ersten Endpunktvorrichtung mit anderen Endpunktvorrichtungen umfassen. Jede anonymisierte Interaktion in dem Satz anonymisierter Interaktionen kann auf einer entsprechenden ephemeren eindeutigen Kennung der entsprechenden Endpunktvorrichtung basieren, die während einer entsprechenden Interaktion zwischen der ersten Endpunktvorrichtung und der entsprechenden Endpunktvorrichtung empfangen wurde.
  • Ein weiterer Aspekt der Offenbarung kann eine beliebige Kombination der oben genannten Merkmale umfassen und kann außerdem die gemeinsame Nutzung des Satzes anonymisierter Interaktionen der ersten Endpunktvorrichtung mit einem Backend-Server umfassen, um Identitäten der anderen Endpunktvorrichtungen zu klären, mit denen die erste Endpunktvorrichtung interagiert hat.
  • Ein weiterer Aspekt der Offenbarung kann eine beliebige Kombination der oben genannten Merkmale umfassen und kann ferner umfassen, dass die erste Endpunktvorrichtung einen geheimen Schlüssel hat, der einem Netzbetreiber bekannt ist, und jede der ephemeren eindeutigen Kennungen für die erste Endpunktvorrichtung auf dem geheimen Schlüssel und einem Zähler basiert.
  • Ein weiterer Aspekt der Offenbarung kann eine beliebige Kombination der oben genannten Merkmale umfassen und kann ferner umfassen, dass das Erzeugen der ephemeren eindeutigen Kennungen im Laufe der Zeit für jede der ephemeren eindeutigen Kennungen umfasst: Erzeugen eines deterministischen Seeds aus dem geheimen Schlüssel und einem Zählerwert, der von einer Zeit abhängt, zu der der deterministische Seed erzeugt wird, und Erzeugen eines ephemeren öffentlichen Schlüsselpaares aus dem deterministischen Seed zur Verwendung als eine entsprechende der ephemeren eindeutigen Kennungen.
  • Ein weiterer Aspekt der Offenbarung kann eine beliebige Kombination der oben genannten Merkmale umfassen und kann ferner umfassen, dass das Erzeugen des deterministischen Seeds das Erzeugen eines Hash-Wertes als Hash des geheimen Schlüssels und des Zählerwertes umfasst.
  • Ein anderer Aspekt der Offenbarung kann eine beliebige Kombination der oben genannten Merkmale umfassen und kann ferner umfassen, dass der Zählerwert einen Wert einer Differenz zwischen einer aktuellen Zeit und einer Referenzzeit geteilt durch einen Zeitschritt umfasst.
  • Ein weiterer Aspekt der Offenbarung kann eine beliebige Kombination der oben genannten Merkmale umfassen und kann ferner umfassen, dass das Erzeugen des ephemeren öffentlichen Schlüsselpaares das Erzeugen eines öffentlichen Curve25519-Schlüssels unter Verwendung des deterministischen Seeds als Eingabe umfasst.
  • Ein weiterer Aspekt der Offenbarung kann eine beliebige Kombination der oben genannten Merkmale umfassen und kann ferner das Bestimmen einer Entfernung zwischen der ersten Endpunktvorrichtung und der zweiten Endpunktvorrichtung und als Reaktion darauf, dass der Entfernung kleiner als ein Schwellenwert ist, das Ausgeben einer Warnung an einen Benutzer der ersten Endpunktvorrichtung umfassen.
  • Ein weiterer Aspekt der Offenbarung kann eine beliebige Kombination der oben genannten Merkmale umfassen und kann ferner ein nichtflüchtiges computerlesbares Speichermedium mit darauf gespeicherten computerlesbaren Anweisungen umfassen, die von einem Prozessor ausgeführt werden können, um die Durchführung des Verfahrens durchzuführen oder zu steuern.
  • In dieser Zusammenfassung ist eine Auswahl von Konzepten in vereinfachter Form vorgestellt, die weiter unten in der ausführlichen Beschreibung beschrieben werden. Diese Zusammenfassung soll nicht dazu dienen, Schlüsselmerkmale oder wesentliche Eigenschaften des beanspruchten Gegenstands zu identifizieren, und sie soll auch nicht als Hilfe bei der Bestimmung des Umfangs des beanspruchten Gegenstands dienen.
  • Figurenliste
    • 1 zeigt ein Beispiel für eine Betriebsumgebung 100, in der Ausführungsformen der vorliegenden Offenbarung implementiert werden können.
    • 2A und 2B umfassen eine perspektivische Vorderansicht von oben und eine perspektivische Rückansicht von unten auf ein Beispiel für eine Endpunktvorrichtung.
    • 3 zeigt ein Flussdiagramm eines beispielhaften Verfahrens zur Kontaktverfolgung.
    • 4 zeigt ein Flussdiagramm eines weiteren Beispiels für ein Verfahren zur Kontaktverfolgung.
    • 5 zeigt eine schematische Darstellung einer Maschine in der beispielhaften Form einer Datenverarbeitungsvorrichtung, in der ein Satz von Anweisungen ausgeführt werden kann, um die Maschine zu veranlassen, eines oder mehrere der hier erörterten Verfahren durchzuführen.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Es wird auf die Zeichnungen verwiesen, und es werden spezifische Ausdrücke verwendet, um verschiedene Aspekte der Offenbarung zu beschreiben. Die Verwendung der Zeichnungen und Beschreibungen in dieser Weise ist nicht als Einschränkung des Umfangs auszulegen. Zusätzliche Aspekte können im Lichte der Offenbarung, einschließlich der Ansprüche, ersichtlich sein oder durch die Praxis erlernt werden.
  • Einige Ausführungsformen hierin beziehen sich auf die Verfolgung von Kontakten zwischen Arbeitern und Angestellten. Die Ausführungsformen können Angestellten, Arbeitern, Bewohnern, Besuchern oder dergleichen an einer bestimmten Arbeitsstätte, einem Arbeitsplatz, einem Standort oder dergleichen eine relativ kleine elektronische Vorrichtung zur Verfügung stellen. Diese kleinen elektronischen Vorrichtungen können im Folgenden als Endpunktvorrichtungen bezeichnet sein. Wenn sich Einzelpersonen, die solche Endpunktvorrichtungen tragen, in der Nähe zueinander befinden, können sie Informationen austauschen, die später dazu verwendet werden können, Kontakte oder Interaktionen zu identifizieren, die jede elektronische Vorrichtung (und damit jeder Benutzer) mit anderen elektronischen Vorrichtungen (und damit anderen Benutzern) hatte. Die Endpunktvorrichtungen können ihre Daten auf einen Backend-Server hochladen, um Identitäten anderer Endpunktvorrichtungen zu klären, die an Interaktionen mit der jeweiligen Endpunktvorrichtung beteiligt waren. Die Daten können unter Verwendung eines verzögerungstoleranten Netzwerkansatzes hochgeladen werden, wie er im US-Patent Nr. 10,448,238 für „DELAY TOLERANT DECENTRALIZED NETWORK“ beschrieben ist, das hier durch Bezugnahme in seiner Gesamtheit enthalten ist. Alternativ können die Daten auch zu anderen Zeiten und/oder in Verbindung mit einem oder mehreren Ereignissen hochgeladen werden, z. B. wenn die Endpunktvorrichtung für Ladezwecke in einen Adapter oder eine Dockingstation eingesteckt wird, wenn die Endpunktvorrichtung an einem oder mehreren vorbestimmten Standorten abgestellt wird, wenn die Endpunktvorrichtung einen oder mehrere vorbestimmte Standorte (z. B. eine Tür, eine Umkleidekabine oder ähnliches) durchläuft oder passiert.
  • Die Endpunktvorrichtung kann diese Daten regelmäßig an eine andere Vorrichtung senden oder auf diese hochladen, z. B. an ein Smartphone, einen Router, einen Computer, einen Server, einen Mobilfunkmast oder dergleichen. Die Endpunktvorrichtung kann die Daten so strukturieren oder kodieren, dass die Daten klein sind und eine relativ geringe Batterielebensdauer für die Datenspeicherung und Datenübertragung benötigen. Die Endpunktvorrichtung kann auch im Allgemeinen in einem stromsparenden Zustand arbeiten. Zum Beispiel kann es so sein, dass die Endpunktvorrichtung im Ruhezustand keine Daten sammelt. Die Endpunktvorrichtung kann einen Auslöser wie z. B. einen Beschleunigungsmesser enthalten, um Bewegungen zu erfassen. Die erfasste Bewegung kann einen Datensammel- und/oder Datenübertragungsmodus auslösen, woraufhin die Endpunktvorrichtung wieder in den Stromsparzustand übergehen kann.
  • Die Endpunktvorrichtung kann mit einer Smartphone-App verwendet oder gekoppelt werden, oder sie kann in einer eigenständigen Anordnung implementiert werden, um die Effizienz einer solchen Lösung zu verbessern. Die Endpunktvorrichtung kann an den Gürtel des Benutzers geklipst, um den Hals, am Handgelenk, an einem Rucksack oder dergleichen getragen werden.
  • Die Endpunktvorrichtung kann eine verschlüsselte und/oder anonyme und/oder zufällige Kennung (ID) senden, nach anderen IDs in der Nähe suchen (z. B. anderen Endpunktvorrichtungen) und Daten über ein Netzwerk an die Cloud und/oder den Backend-Server übertragen. Die Endpunktvorrichtung kann über die IDs hinaus weitere verschlüsselte Peer-to-Peer-Daten austauschen, wie etwa Sensordaten (z. B. Temperatur, Licht, Feuchtigkeit, Druck, Strahlung, O2, CO2, CO, CH4, Beschleunigung, Herzfrequenz, Neuronen-Aktivität), Positions- oder Standortinformationen, Karten, Nachrichten, Status oder dergleichen.
  • Ein oder mehrere in der Nähe befindliche zwischengeschaltete Vorrichtungen (z. B. Smartphones, Router) können zusammen als System verwendet werden, um ein Peer-to-Peer-Mesh-Netzwerk zu bilden, mit einer optionalen externen Rundum- oder Richtantenne, die drahtlose Protokolle jenseits von Bluetooth (wie Wi-Fi, LTE oder Gemeinschaftsfunk) verwendet, um drahtlose IP-Backhauls aufzubauen. Das/die zwischengeschaltete(n) Vorrichtung(en) kann/können ein Offline-Knoten im Netzwerk werden und für ihre Teilnahme Belohnungen in Kryptowährung erhalten.
  • Die Endpunktvorrichtung kann mit einer Batterie betrieben werden und/oder über einen Lade- oder Datenanschluss (z. B. USB-C) wiederaufladbar sein. Alternativ oder zusätzlich kann die Endpunktvorrichtung Komponenten und/oder Fähigkeiten zur Energiegewinnung enthalten, von denen einige Beispiele an anderer Stelle hierin beschrieben werden.
  • Die Endpunktvorrichtung kann über eine Anwendungsprogrammierschnittstelle (API) mit der Cloud und/oder dem Backend-Server interagieren, kann aber auch die Interaktion mit einem Smartphone oder einer anderen Vorrichtung direkt unterstützen. Benutzereingaben und/oder Ausgaben an der Endpunktvorrichtung können über LEDs an der Endpunktvorrichtung, Vibrationen der Vorrichtung (z. B. über eine haptische Vorrichtung), Antippen der Endpunktvorrichtung oder dergleichen erfolgen.
  • Die Endpunktvorrichtung kann eine Firmware enthalten, die Funksignale in der Nähe (z. B. Bluetooth@ Low Energy (BLE) Bakensignale) sammelt und sie lokal speichert, falls sie nicht sofort weitergegeben werden können. Sie können zum Beispiel in einem Flash-Speicher gespeichert werden. Alternativ oder zusätzlich kann die Firmware jeden passenden Speicheralgorithmus enthalten oder implementieren, wie z. B. ein natives Schreiben der Daten oder einen Time Aware Least Recent Used (TLRU) Cache, aber nicht drauf beschränkt.
  • Die Endpunktvorrichtung kann ihre eigene ID senden, die im Verlauf der Zeit nach einem bestimmten Algorithmus wechseln kann, um die Privatsphäre des Benutzers zu schützen.
  • Zu einem bestimmten Zeitpunkt werden die gesammelten Kennungen an jeder Endpunktvorrichtung auf den Backend-Server hochgeladen, der auf einer Cloud eines Drittanbieters oder auf einem Server einer Organisation laufen kann, die eine Lösung zur Kontaktverfolgung einsetzt.
  • In einigen Ausführungsformen kann die Endpunktvorrichtung die Entfernung zwischen ihr und anderen Endpunktvorrichtungen überwachen. Die Entfernung kann beispielsweise durch ein auf der Laufzeit basierendes Protokoll überwacht werden. Die Endpunktvorrichtung kann dem Benutzer durch eine optische Anzeige (z. B. blinkende LEDs), eine haptische Rückmeldung (z. B. Vibration) oder eine andere Ausgabe eine Warnungsrückmeldung geben.
  • Die von den einzelnen Endpunktvorrichtungen gesammelten Daten können über eine oder mehrere zwischengeschaltete Vorrichtungen, wie z. B. BLE-Router, die an einem oder mehreren Standorten innerhalb einer Arbeitsstätte (oder eines Arbeitsplatzes oder dgl.) eingesetzt sein können, oder über Smartphones der Arbeiter (oder Angestellten usw.) auf den Backend-Server hochgeladen werden.
  • Der Backend-Server kann IDs und deren Interaktionen mit anderen IDs oder anderen von den Endpunktvorrichtungen gemeinsam genutzten Daten zusammenfassen. Der Backend-Server kann sie unter der Identität der entsprechenden Benutzer zusammenfassen oder nicht. Der Backend-Server kann sie dann über eine API veröffentlichen, sie über einen WebHook weiterleiten oder auf einer grafischen Oberfläche für alle Administratoren anzeigen. Sie kann verwendet werden, um zu analysieren, wie sich Menschen am Arbeitsplatz verhalten, um Warnungen zu senden, um zu verstehen, wie sich Angestellte oder andere Personen an einem Arbeitsplatz bewegen, um Analysen über die am meisten frequentierten Plätze oder Orte, an denen die meisten Kontakte stattfinden, bereitzustellen, und dergleichen.
  • 1 zeigt ein Beispiel für eine Betriebsumgebung 100, in der Ausführungsformen der vorliegenden Offenbarung implementiert werden können. Die Betriebsumgebung 100 kann ein oder mehrere Endpunktvorrichtungen 102A-102F (zusammen „Endpunktvorrichtungen 102“ oder allgemein „Endpunktvorrichtung 102“), eine oder mehrere zwischengeschaltete Vorrichtungen 104A-104B (zusammen „zwischengeschaltete Vorrichtungen 104“ oder allgemein „zwischengeschaltete Vorrichtung 104“), einen oder mehrere Benutzer 106A-106C (zusammen „Benutzer 106“ oder allgemein „ein/der Benutzer 106“), einen Backend-Server 110 und ein Netzwerk 112 umfassen. In einigen Ausführungsformen kann die Kontaktverfolgung zwischen den Benutzern 106 innerhalb der Betriebsumgebung 100 aktiviert sein.
  • Im Allgemeinen kann das Netzwerk 112 ein oder mehrere Weitverkehrsnetze (WANs) und/oder lokale Netze (LANs) umfassen, die es den Endpunktvorrichtungen 102, den zwischengeschalteten Vorrichtungen 104 und/oder dem Backend-Server 110 ermöglichen, miteinander zu kommunizieren. In einigen Ausführungsformen kann das Netzwerk 112 das Internet umfassen, einschließlich eines globalen Netzwerkverbunds, der aus logischen und physischen Verbindungen zwischen mehreren WANs und/oder LANs besteht. Alternativ oder zusätzlich kann das Netzwerk 112 ein oder mehrere Mobilfunk-Hochfrequenz-(RF)-Netzwerke und/oder ein oder mehrere verdrahtete und/oder drahtlose Netzwerke wie 802.xx-Netzwerke, Bluetooth®-Zugangspunkte, drahtlose Zugangspunkte, Internet Protocol (IP)-basierte Netzwerke oder andere verdrahtete und/oder drahtlose Netzwerke umfassen. Das Netzwerk 112 kann auch Server enthalten, die es ermöglichen, dass eine Art von Netzwerk mit einer anderen Art von Netzwerk verbunden werden kann.
  • Jede Endpunktvorrichtung 102 kann eine oder mehrere Internet-of-Things-Vorrichtungen (IoT) umfassen. Jede Endpunktvorrichtung 102 kann eine Stromversorgung, eine Netzwerkvorrichtung und optional eine Datenerfassungsvorrichtung (z. B. einen Sensor) umfassen. Die Stromversorgung kann eine Batterie oder eine Verbindung zu einem Stromnetz umfassen. Zusätzlich oder alternativ kann die Stromversorgung eine Vorrichtung zur Energiegewinnung umfassen, wie z. B. ein Solarpanel, eine Solarzelle, eine Photovoltaikanlage, ein elektromagnetisches, induktives Ladegerät, einen Ladeanschluss, eine Betavoltaik-Vorrichtung, einen thermoelektrischen Generator, einen Nanogenerator oder dergleichen. Zumindest in einigen Ausführungsformen enthält die Endpunktvorrichtung 102 möglicherweise gar keine Stromversorgung und verwendet stattdessen Umgebungs-Rückstreutechniken. Eine oder mehrere der Endpunktvorrichtungen 102 können auch einen oder mehrere Sensoren enthalten. Der eine oder die mehreren Sensoren können so konfiguriert sein, dass sie jede Art von Zustand erkennen und elektronische Daten auf der Grundlage eines erfassten Zustands erzeugen. Beispielsweise kann eine oder mehrere der Endpunktvorrichtungen 102 eine intelligente Uhr mit einem Herzfrequenzmesser umfassen, der so konfiguriert ist, dass er Herzfrequenzdaten unter Verwendung der vom Herzfrequenzmesser erfassten Herzfrequenzbedingungen erzeugt. In einigen Ausführungsformen ist eine oder sind mehrere der Endpunktvorrichtungen 102 nicht in der Lage, über das Internet zu kommunizieren, und umfassen nur Hardware und/oder Software, die in der Lage ist, mit nahegelegenen Vorrichtungen, wie z. B. einer nahegelegenen zwischengeschalteten Vorrichtung 104, zu kommunizieren. In anderen Ausführungsformen kann die Endpunktvorrichtung 102 Hardware und/oder Software für die Kommunikation über das Internet enthalten.
  • Die Netzwerkvorrichtung der Endpunktvorrichtung 102 kann jede Hardware, Software oder eine Kombination davon umfassen, die in der Lage ist, mit einer anderen Vorrichtung über ein Netzwerk zu kommunizieren. In mindestens einer Ausführungsform kann die Netzwerkvorrichtung eine beliebige Netzwerksteuerung umfassen, die für die Kommunikation über ein Kurzstreckennetzwerk wie Bluetooth@ oder ein anderes Kurzstreckennetzwerk konfiguriert ist. In mindestens einer Ausführungsform kann die Netzwerkvorrichtung eine beliebige Netzwerksteuerung umfassen, die für die Kommunikation über ein Netzwerk mit geringem Stromverbrauch konfiguriert ist. Beispiele für Endpunktvorrichtungen 102 umfassen Industriegeräte, Haushaltsgeräte, kommerzielle Vorrichtungen, Inventar-Tracker, Smartwatches, Wearables, Herzfrequenzmesser, Logistik-Tracker, Umweltsensoren, Registrierkassen, Kreditkartenleser, POS-Terminals, Fahrräder, Elektroroller, Elektro-Skateboards, Autos, Elektroautos, Satelliten oder jede andere Vorrichtung (mobil oder nicht mobil), die eine drahtlose Funkschnittstelle umfasst. Die Betriebsumgebung 100 kann eine beliebige Anzahl von Endpunktvorrichtungen 102 umfassen, und die Endpunktvorrichtungen 102 in der Betriebsumgebung 100 können jede Art von Endpunktvorrichtung 102 sein, einschließlich jeder Art von netzwerkfähiger Vorrichtung. Die Endpunktvorrichtungen 102 können ortsfest oder relativ stationär in der Betriebsumgebung 100 sein, wie z. B. ein POS-Terminal oder ein Verschmutzungssensor. Zusätzlich oder alternativ können die Endpunktvorrichtungen 102 mobil sein, wie z. B. eine Smartwatch oder ein beliebiges Auto oder Fahrzeug.
  • In mindestens einer Ausführungsform ist jede der Endpunktvorrichtungen 102A-102C mobil und so konfiguriert, dass sie von einem Benutzer, wie z. B. den Benutzern 106A-106C, getragen wird (am Körper oder in der Hand), während jede der Endpunktvorrichtungen 102D-102F feststehend ist. Jede der Endpunktvorrichtungen 102A-102C kann an einen Gürtel des Benutzers 106 geklipst, als Anhänger getragen (z. B. an einem Trageband, das um den Hals des Benutzers 106 getragen wird), am Handgelenk des Benutzers 106 getragen, in einer Tasche des Benutzers 106 mitgeführt, an einem Rucksack des Benutzers 106 befestigt oder auf andere Weise vom Benutzer 106 getragen werden. Die Endpunktvorrichtungen 102D-102F können an stationären Objekten oder Strukturen (z. B. einer Wand) angebracht sein und/oder sich an Standorten befinden, die einem Netzbetreiber bekannt sind, der ein Netz von Endpunktvorrichtungen betreibt, zu dem die Endpunktvorrichtungen 102 gehören. Die Endpunktvorrichtungen 102 können Eigentum eines bestimmten Unternehmens, einer Gesellschaft oder einer anderen Einheit sein, von dieser geleast werden oder anderweitig mit ihr verbunden sein. Die Endpunktvorrichtungen 102A-102C können Mitarbeitern oder anderen Personen (z. B. den Benutzern 106) an einem Arbeitsplatz zur Verfügung gestellt werden, und ihre Interaktionen untereinander und/oder mit den Endpunktvorrichtungen 102D-102F können zur Kontaktverfolgung oder für andere Zwecke verfolgt werden.
  • Das eine oder die mehreren Endpunktvorrichtungen 102 können so konfiguriert sein, dass sie mit anderen Vorrichtungen gemäß einem geeigneten drahtlosen Kommunikationsstandard oder einer Technologie kommunizieren, wie z. B. Bluetooth®, Bluetooth® Low Energy (BLE), eines der 802.11-Protokolle (allgemein als Wi-Fi® bezeichnet) oder dergleichen oder eine Kombination davon. In einigen Ausführungsformen kann eines oder können mehrere der Endpunktvorrichtungen 102 ein Bakensignal senden, nach Bakensignalen scannen, eine Verbindung mit anderen Vorrichtungen herstellen, ephemere eindeutige Kennungen austauschen und/oder anderweitig mit anderen Vorrichtungen kommunizieren. Wenn beispielsweise die Benutzer 106A, 106B die Endpunktvorrichtungen 102A, 102B tragen und sich einander nähern (z. B. nahe genug, damit die Endpunktvorrichtungen 102A, 102B kommunizieren können), können die Endpunktvorrichtungen 102A, 102B drahtlos eine Verbindung herstellen und ephemere eindeutige Kennungen austauschen. Jede der Endpunktvorrichtungen 102A-102F kann in ähnlicher Weise arbeiten, wenn sie sich in der Nähe einer anderen Endpunktvorrichtung 102 oder potenziell anderer Vorrichtungen befindet. Wenn ephemere eindeutige Kennungen ausgetauscht werden, kann jede Endpunktvorrichtung 102 die empfangenen ephemeren eindeutigen Kennungen speichern und/oder ein oder mehrere Interaktions-Token aus den ephemeren eindeutigen Kennungen erzeugen. Die ephemeren eindeutigen Kennungen und/oder die Interaktions-Token können an der entsprechenden Endpunktvorrichtung 102 und/oder am Backend-Server 110 verwendet werden, um Kontakte der Benutzer 106 nachzuverfolgen, ihre Bewegungsmuster zu verfolgen und/oder für andere Zwecke.
  • Das eine oder die mehreren zwischengeschalteten Vorrichtungen 104 können jede Art von Vorrichtung umfassen, die mit der Endpunktvorrichtung 102 und dem Backend-Server 110 kommunizieren kann. In mindestens einer Ausführungsform kann die zwischengeschaltete Vorrichtung 104 zwei Netzwerksteuerungen umfassen, darunter eine erste Netzwerksteuerung, die über eine erste drahtlose Technologie (z. B. BLE) mit den Endpunktvorrichtungen 102 kommuniziert, und eine zweite Netzwerksteuerung, die über eine zweite drahtlose Technologie (z. B. Wi-Fi®) mit dem Backend-Server 110 kommuniziert. Zu den zwischengeschalteten Vorrichtungen 104 gehören beispielsweise mobile Vorrichtungen, PCs, Laptops, Smartphones, Netbooks, E-Reader, PDAs (Personal Digital Assistants), Mobiltelefone, Funktelefone, Tablets, Fahrzeuge, Drohnen, Autos, Lastwagen, tragbare Vorrichtungen, Router, Fernsehgeräte, Set-Top-Boxen oder dergleichen.
  • In einigen Ausführungsformen können eine oder mehrere der Endpunktvorrichtungen 102 über das Netzwerk 112 mit dem Backend-Server 110 kommunizieren. Zum Beispiel zeigen die bidirektionalen Pfeile in 1 zwischen der Endpunktvorrichtung 102B und dem Netzwerk 112 und zwischen dem Netzwerk 112 und dem Backend-Server 110 an, dass die Endpunktvorrichtung 102B mit dem Backend-Server 110 über das Netzwerk 112 kommunizieren kann. In einigen Ausführungsformen kann eines oder können mehrere der Endpunktvorrichtungen 102 eine relativ kleine Vorrichtung sein und/oder mit begrenzten Verarbeitungs- und/oder Netzwerkfähigkeiten ausgestattet sein. Beispielsweise können die Endpunktvorrichtungen 102A, 102C eine einzelne Netzwerksteuerung, z. B. eine BLE-Netzwerksteuerung, für die Kommunikation über relativ kurze Entfernungen haben und mit dem Backend-Server 110 über die zwischengeschaltete Vorrichtung 104 kommunizieren. Allgemeiner ausgedrückt, kann jede der Endpunktvorrichtungen 102A-102F mit dem Backend-Server 110 direkt über das Netzwerk 112 oder weniger direkt über die zwischengeschaltete Vorrichtung 104A und das Netzwerk 112 kommunizieren, je nach den Netzwerkfähigkeiten der Endpunktvorrichtung 102.
  • Eine oder mehrere der Endpunktvorrichtungen 102 und der Backend-Server 110 können ein oder mehrere computerlesbare Speichermedien (im Folgenden „Speicher“) enthalten oder mit diesen gekoppelt sein, wie zum Beispiel Flash-Speichervorrichtungen (z. B. Festkörperspeichervorrichtungen), einen Direktzugriffsspeicher (RAM), Nur-Lese-Speicher (ROM), einen elektrisch löschbaren programmierbaren Nur-Lese-Speicher (EEPROM) oder jedes andere Speichermedium, das zum Tragen oder Speichern von gewünschtem Programmcode in Form von computerausführbaren Anweisungen oder Datenstrukturen verwendet werden kann. Auch Kombinationen der vorgenannten Speichermedien können in den Umfang der Speicherung einbezogen werden. 1 veranschaulicht ein Beispiel für einen Speicher 114, der in der Endpunktvorrichtung 102A enthalten oder mit ihr verbunden ist. Die anderen Endpunktvorrichtungen 102 können in ähnlicher Weise einen Speicher enthalten oder mit diesem gekoppelt sein. 1 stellt zusätzlich einen beispielhaften Speicher 116 dar, der im Backend-Server 110 enthalten oder mit diesem verbunden ist. In den Speichern 114, 116 gespeicherten Daten können für oder in Verbindung mit einem Algorithmus zur Kontaktverfolgung verwendet werden. Im Folgenden wird ein Beispiel für einen Kontaktverfolgungsalgorithmus beschrieben, der in der Betriebsumgebung 100 implementiert werden kann.
  • Einige Ausführungsformen des Algorithmus zur Kontaktverfolgung können Personen über ihre Exposition gegenüber einer biologischen Bedrohung (z. B. Covid-19) warnen und gleichzeitig die Privatsphäre des Benutzers und die damit verbundenen Daten schützen. Die Benutzer 106 können sich für einen zugehörigen Kontaktverfolgungsdienst entscheiden. Interaktionen mit Peers können privat und lokal aufgezeichnet werden (z. B. auf den Endpunktvorrichtungen 102A-102C), und Interaktionen mit Backend-Diensten (z. B. dem Backend-Server 110) können freiwillig sein. Einige Ausführungsformen können ohne eine Verknüpfung von Daten mit privat identifizierbaren Informationen funktionieren und können gegen Kompromittierung oder Leckage widerstandsfähig sein. Beispielsweise können die Endpunktvorrichtungen 102 anonyme Identitäten austauschen, die untereinander und mit dem Backend-Server 110 nicht verknüpfbar sind, um die Wahrscheinlichkeit zu verringern oder zu beseitigen, dass selbst im Falle eines Datenlecks aussagekräftige Informationen aus dem Datenleck extrahiert werden können. Alternativ oder zusätzlich können von den Endpunktvorrichtungen 102 und/oder dem Backend-Server 110 gemeinsam genutzte Informationen mit einem Zeitstempel versehen werden, so dass ältere Daten, z. B. Daten außerhalb eines bestimmten relevanten Zeitfensters, gelöscht werden können, um den Speicheraufwand zu verringern.
  • Um Kontakte oder Interaktionen zu erfassen, können die Endpunktvorrichtungen 102 untereinander eindeutige Kennungen (IDs) austauschen. Die eindeutigen IDs können öffentliche Schlüssel oder andere geeignete eindeutige IDs umfassen. Der Austausch kann über eine BLE-Verbindung oder eine andere geeignete drahtlose Verbindung erfolgen. In einigen Ausführungsformen können die Endpunktvorrichtungen 102 ihre eindeutigen IDs anderen Endpunktvorrichtungen 102 in unmittelbarer Nähe bekanntgeben oder an sie senden. Im Falle von BLE kann die „Nähe“ innerhalb von 20 Metern, innerhalb von 10 Metern oder innerhalb eines anderen relativ kurzen Entfernung zueinander liegen. In 1 sind die Endpunktvorrichtungen 102A, 102B in unmittelbarer Nähe dargestellt und tauschen untereinander eindeutige IDs aus. In ähnlicher Weise sind die Endpunktvorrichtungen 102C, 102D in unmittelbarer Nähe dargestellt und tauschen eindeutige IDs miteinander aus.
  • Um die Benutzer 106 davor zu schützen, versehentlich eine Spur zu hinterlassen, können die Endpunktvorrichtungen 102 regelmäßig, zufällig, pseudozufällig, nach einem Zeitplan oder auf andere Weise ihre eindeutigen IDs neu generieren. Dies kann auch als Wechseln ihrer IDs bezeichnet werden. Die von einer bestimmten Endpunktvorrichtung 102 verwendeten eindeutigen IDs können als ephemere eindeutige IDs oder wechselnde IDs bezeichnet werden, da sie zeitlich nicht festgelegt oder dauerhaft sind.
  • Es wird nun ein Beispiel erörtert, bei dem die ephemeren eindeutigen IDs ephemere öffentliche Schlüssel sind (z. B. von entsprechenden ephemeren privaten öffentlichen Schlüsselpaaren). In anderen Ausführungsformen können die ephemeren eindeutigen IDs auf andere Weise erzeugt werden. In einigen Ausführungsformen können ephemere private öffentliche Schlüsselpaare nach dem Zufallsprinzip oder als Ausgabe einer Schlüsselableitungsfunktion, wie unten beschrieben, erzeugt werden.
  • In einigen Ausführungsformen kann ein deterministischer Seed I als Hash H auf der Grundlage eines oder mehrerer deterministischer Parameter erzeugt werden. Der Hash kann dann später als Seed für eine Funktion zur Erzeugung von Schlüsselpaaren verwendet werden. In einem Beispiel wird der deterministische Seed IC gemäß Gleichung 1 erzeugt: I C = H b l a k e 2 b 160 ( S ,   C )
    Figure DE112021002632T5_0001
  • In Gleichung 1 ist C ein Zähler, S ist ein geheimer Schlüssel, der einer entsprechenden Endpunktvorrichtung 102 und dem Backend-Server 110 (oder allgemeiner einem Netzbetreiber) bekannt ist, und Hblake2b-160 ist ein kryptografischer Hash, wie er in Markku-Juhani O. Saarinen und Jean-Philippe Aumasson, The BLAKE2 Cryptographic Hash and Message Authentication Code (MAC), RFC 7693, Nov. 2015, DOI: 10.17487/RFC7693, offenbart ist, der hier durch Bezugnahme in vollem Umfang aufgenommen wird. Es können auch andere Hash-Funktionen und/oder Parameter verwendet werden. In einigen Ausführungsformen wird die Zeit als Parameter verwendet und Czu einem beliebigen Zeitpunkt now (im Folgenden Cnow) aus drei zeitbezogenen Parametern - einer Zeitreferenz TReference, einem Zeitschritt TStep und einem beliebigen bestimmten Zeitpunkt now -gemäß Gleichung 2 berechnet: C n o w = f l o o r [ ( n o w T r e f e r e n c e ) / T S t e p ]
    Figure DE112021002632T5_0002
  • In Gleichung 2 steht floor[] für die Floor-Funktion.
  • Setzt man Gleichung 2, z. B. Cnow, anstelle von Cin Gleichung 1 ein, so erhält man Gleichung 3: I n o w = H b l a k e 2 b 160 ( S ,   f l o o r [ ( n o w T R e f e r e n c e ) / T s t e p ] )
    Figure DE112021002632T5_0003
  • Gleichung 3 generiert den deterministischen Seed zu jedem beliebigen Zeitpunkt Inow als Blake2b-Digest des geheimen Schlüssels 5 und Cnow. Die Parameter des kryptografischen Hash Hblake2b-160 gemäß einer beispielhaften Ausführungsform sind in Tabelle 1 aufgeführt: Tabelle 1
    Sichere ID blake2b-Parameter
    Schlüssel 256-Bits Random
    Salt Cals 128-Bit
    Parameter ~WhisperSecureId
  • In einigen Ausführungsformen kann der deterministische Seed Inow in einer Schlüsselpaar-Generierungsfunktion verwendet werden, um ein ephemeres öffentliches Schlüsselpaar PKi gemäß Gleichung 4 zu erzeugen: K i = K u r v e 25519 ( I n o w )
    Figure DE112021002632T5_0004
  • Die Endpunktvorrichtungen 102 können einen gemeinsamen Basispunkt 9 für das Erzeugen von ephemeren öffentlichen Schlüsselpaaren PKi verwenden. Jede der Endpunktvorrichtungen 102 kann ephemere öffentliche Schlüssel, wie hier beschrieben, oder andere ephemere eindeutige IDs erzeugen und sie zur Kontaktverfolgung untereinander austauschen.
  • Um neue Peers zu entdecken, kann jede Endpunktvorrichtung 102 sowohl ihre Anwesenheit durch regelmäßiges Aussenden eines Bakensignals ankündigen als auch regelmäßige Scans ihrer Nachbarschaft durchführen, um Bakensignale anderer Peers (z. B. anderer Endpunktvorrichtungen 102) zu erfassen. Die Endpunktvorrichtungen 102 können sich selbst mit BLE-Anzeigedaten oder anderen geeigneten Daten ankündigen. Jede Endpunktvorrichtung 102 kann eine UUID des Kontaktverfolgungsdienstes in ihr Bakensignal aufnehmen, um ihre Unterstützung für den Kontaktverfolgungsalgorithmus anzukündigen. Der Prozess der Initiierung einer Verbindung zwischen zwei am selben Ort befindliche Endpunktvorrichtungen 102 kann so optimiert werden, dass nur eine von ihnen die Verbindung initiiert, während die andere wartet, bis sie verbunden wird. Dies kann dadurch realisiert werden, dass jede Endpunktvorrichtung 102 ein zufälliges Einzelbyte als Prioritätsmarkierung in den BLE-Anzeigedaten erzeugt. In einigen Ausführungsformen kann die Endpunktvorrichtung 102 mit der höchsten Prioritätsmarkierung die Verbindung initiieren. In anderen Ausführungsformen kann die Endpunktvorrichtung 102 mit der niedrigsten Prioritätsmarkierung die Verbindung einleiten.
  • Jede Endpunktvorrichtung 102 kann ihre Umgebung auf der Grundlage von zwei Zeitgebern, tscan und twait, scannen. Der Zeitgeber tscan kann die Dauer jedes Scans festlegen, während der Zeitgeber twait die Dauer zwischen aufeinanderfolgenden Scan-Zyklen festlegen kann. Ein niedriger Wert für den Zeitgeber twait kann zu einer aggressiven Abtastung führen, die relativ mehr Ressourcen (z. B. Netzwerk, Batterie) verbraucht. Ein hoher Wert für den Zeitgeber twait kann effizienter sein, aber es können Kontaktmöglichkeiten verpasst werden. In einigen Ausführungsformen kann jede Endpunktvorrichtung 102 den Wert des Zeitgebers twait für die entsprechende Endpunktvorrichtung 102 dynamisch anpassen. Beispielsweise können die Endpunktvorrichtungen den Trickle-Algorithmus oder einen anderen geeigneten Algorithmus implementieren, um den Wert des Zeitgebers twait dynamisch anzupassen. Einzelheiten zum Trickle-Algorithmus sind in P. Levis et al. offenbart, The Trickle Algorithm, RFC 6206, März 2011, DOI: 10.17487/RFC6206, was hier durch Bezugnahme mitaufgenommen ist. In einem solchen Algorithmus kann ein Parameter ttickle eine Größe des Fensters festlegen, in dem twait zufällig ausgewählt wird. Wenn sich am Ende eines Scans herausstellt, dass die aktuelle Nachbarschaft mit dem vorherigen Scan übereinstimmt, kann der Parameter ttrickle mit zwei multipliziert werden, es sei denn, er erreicht einen Maximalwert tmax. Immer dann, wenn eine Inkonsistenz auftritt, kann ttrickle auf einen Standard-Minimalwert zurückgesetzt werden. Eine Nachbarschaft kann als inkonsistent mit einer vorherigen betrachtet werden, wenn die Differenz zwischen zwei Gruppen von Peers (eine für jede Nachbarschaft) höher ist als ein Schwellenwert Imax. Dementsprechend können einige Ausführungsformen des hier beschriebenen Algorithmus zur Kontaktverfolgung aggressiv sein und jede Kontaktmöglichkeit nutzen, während sich eine Endpunktvorrichtung 102 bewegt, und sie kann immer noch „ruhend“ sein mit reduziertem/geringem Batterieverbrauch, wenn sie im Leerlauf bleibt (z. B. wenn ein Benutzer am Schreibtisch sitzt). Tabelle 2 umfasst Standard-Scanparameter gemäß einem Ausführungsbeispiel: Tabelle 2
    Parameter für das Scannen
    t trickle 60 Sekunden
    t max 5 Minuten
    t scan 8 Sekunden
    I max 2
  • Nach der Durchführung eines Scan-Zyklus an einer bestimmten Endpunktvorrichtung 102 können alle Peripherievorrichtungen (z. B. die Endpunktvorrichtungen 102), die bei dem Scan aufgefunden wurden und die UUID des Kontaktverfolgungsdienstes anzeigen, zu einer Peer-Gruppe Speer hinzugefügt werden. Peripherievorrichtungen, die die UUID des Kontaktverfolgungsdienstes nicht anzeigen, können ignoriert werden. Einige beispielhafte UUIDs, die in mindestens einer Ausführungsform dem Kontaktverfolgungsdienst zugeordnet sind, sind in Tabelle 3 aufgeführt: Tabelle 3
    UUIDs für den Kontaktverfolgungsdienst
    Dienst 1e91022a-42a-434d-be23-d39eb6cd4952
    Eigenschaften 4d5c8851-6210-425f-8ab9-df679779a3b4
  • Wie an anderer Stelle erwähnt, können die Endpunktvorrichtungen 102 eine Prioritätsmarkierung bekanntgeben, was eine Doppelverbindung verhindern kann. Jeder Peer in der Peer-Gruppe Speer, der keine Prioritätsmarkierung hat, oder aber eine Prioritätsmarkierung aufweist, die niedriger ist als die Prioritätsmarkierung einer bestimmten Endpunktvorrichtung 102, kann zu einer Connect-Gruppe Sconnect der bestimmten Endpunktvorrichtung 102 hinzugefügt werden. Jeder Peer in der Peer-Gruppe Speer, der eine Prioritätsmarkierung hat, die höher ist als die Prioritätsmarkierung der bestimmten Endpunktvorrichtung 102, kann von der bestimmten Endpunktvorrichtung 102 ignoriert werden, da der Peer mit der höheren Prioritätsmarkierung die Verbindung mit der bestimmten Endpunktvorrichtung 102 initiieren kann.
  • Der Scan kann in regelmäßigen Abständen erfolgen, z. B. etwa jede Minute in einigen Ausführungsformen, und es ist möglicherweise nicht sinnvoll, nach jedem Scan-Zyklus eine Verbindung zu einem Peer herzustellen, nachdem bereits eine Verbindung und ein Austausch ephemerer eindeutiger IDs erfolgt ist. In einigen Ausführungsformen würde eine solche Verbindung keine wertvollen Informationen liefern und möglicherweise Ressourcen verschwenden, es sei denn, die ephemere eindeutige ID des Peers ist eine andere. Daher kann die bestimmte Endpunktvorrichtung 102 für jeden Peer in der Connect-Gruppe Sconnect prüfen, ob die periphere Adresse (z. B. die Mac-Adresse) kürzlich erfolgreich verbunden wurde. Ist die seit der letzten Verbindung verstrichene Zeit kürzer als tthrottle, kann der Peer aus der Connect-Gruppe Sconnect entfernt werden, doch kann der Zeitstempel, zu dem der Scan stattfand, in einer Ping-Tabelle aufgezeichnet werden, die weiter unten näher beschrieben wird.
  • Die in der Ping-Tabelle aufgezeichneten Pings können indirekt Aufschluss über die Zeit geben, die neben einer bestimmten ephemeren eindeutigen ID verbracht wurde. Dies kann nützlich sein, wenn die Expositionszeit für eine bestimmte ephemer eindeutige ID berechnet werden soll.
  • Für jeden Peer in der Connect-Gruppe Sconnect kann sich die bestimmte Endpunktvorrichtung 102 mit dem Peer verbinden, z. B. über eine BLE-Verbindung, sich mit dem Generic Attribute Profile (GATT)-Server verbinden und mit dem Austausch von ephemeren öffentlichen Schlüsseln oder anderen ephemeren eindeutigen IDs zwischen den beiden Vorrichtungen fortfahren. Es ei angenommen, dass z. B. die Endpunktvorrichtung 102A eine Verbindung mit der Endpunktvorrichtung 102B initiiert hat. Nachdem die Verbindung hergestellt wurde, kann die Endpunktvorrichtung 102A eine GATT-Leseabfrage durchführen, um den ephemeren öffentlichen Schlüssel der Endpunktvorrichtung 102B abzurufen. Nach Empfang des ephemeren öffentlichen Schlüssels der Endpunktvorrichtung 102B kann die Endpunktvorrichtung 102A eine GATT-Schreibabfrage durchführen, um die ephemere eindeutige ID der Endpunktvorrichtung 102A an die Endpunktvorrichtung 102B zu senden. In einigen Ausführungsformen kann die Verbindung nach dem Austausch von ephemeren eindeutigen IDs beendet werden. Alternativ oder zusätzlich kann jede Endpunktvorrichtung 102A, 102B nach dem Austausch von ephemeren eindeutigen IDs ein gemeinsames Geheimnis K unter Verwendung von Elliptischen Kurven nach Diffie-Hellman (ECDH) oder einem anderen Schlüsselvereinbarungsprotokoll berechnen. K kann dann mit beiden Schlüsseln gehasht werden, um ein oder mehrere private Begegnungs-Token (PET) gemäß Gleichungen 5 und 6 zu erzeugen: P E T 1 = H b l a k e 2 b 160 ( K / P K L )
    Figure DE112021002632T5_0005
    P E T 2 = H b l a k e 2 b 160 ( K / P K R )
    Figure DE112021002632T5_0006
  • In den Gleichungen 5 und 6 ist PKL ein lokaler ephemerer öffentlicher Schlüssel, z. B. der ephemere öffentliche Schlüssel der bestimmten Endpunktvorrichtung 102, und PKR ist ein entfernter ephemerer öffentlicher Schlüssel, z. B. der ephemere öffentliche Schlüssel der Peer-Endpunktvorrichtung 102.
  • Eines der PETs, das so genannte „Hear-Token“, kann zur Abfrage einer Datenbank verwendet werden, um den Infektionsstatus dieser Interaktion zu überprüfen, während das andere PET, das so genannte „Tell-Token“, in derselben oder einer anderen Datenbank veröffentlicht werden kann, wenn der Benutzer der bestimmten Endpunktvorrichtung 102 positiv auf eine Infektion getestet wird. In einigen Ausführungsformen ist das Tell-Token das PET, das auf dem lokalen ephemeren öffentlichen Schlüssel basiert, z. B. PET1 in Gleichung 5, während das Hear-Token das PET ist, das auf dem entfernten ephemeren öffentlichen Schlüssel basiert, z. B. PET2 in Gleichung 6. In anderen Ausführungsformen kann das Tell-Token das PET sein, das auf dem entfernten ephemeren öffentlichen Schlüssel basiert, während das Hear-Token das PET ist, das auf dem lokalen ephemeren öffentlichen Schlüssel basiert.
  • Eine oder mehrere der Endpunktvorrichtungen 102 können eine lokale Datenbank unterhalten, um Ereignisse und Informationen zu speichern, die mit dem Kontaktverfolgungsalgorithmus zusammenhängen. Die lokale Datenbank kann in einem Speicher gespeichert sein, der in der Endpunktvorrichtung 102 enthalten oder mit dieser verbunden ist. Beispielsweise kann die lokale Datenbank der Endpunktvorrichtung 102A im Speicher 114 gespeichert sein. Die lokale Datenbank der Endpunktvorrichtung 102A kann einen geheimen Schlüssel 118, eine Tabelle 120 mit ephemeren IDs, eine Token-Tabelle 122, eine Ping-Tabelle 124, eine Tabelle 126 mit IDs anderer Vorrichtungen und/oder eine Ereignistabelle 128 enthalten. Jede der anderen Endpunktvorrichtungen 102B-102F kann einen ähnlichen Speicher mit einer entsprechenden lokalen, für die Endpunktvorrichtung 102 spezifischen Datenbank enthalten oder mit diesem verbunden sein.
  • Der geheime Schlüssel 118 kann sowohl der Endpunktvorrichtung 102A als auch dem Backend-Server 110 (oder allgemeiner einem Netzbetreiber) bekannt sein. Der geheime Schlüssel 118 kann lokal von der Endpunktvorrichtung 102A verwendet werden, um ihre ephemeren eindeutigen IDs zu generieren, z. B. gemäß den Gleichungen 3 und 4.
  • Die Tabelle 120 mit ephemeren IDs kann die ephemeren eindeutigen IDs der Endpunktvorrichtung 102A enthalten, wie z. B. ephemere öffentliche Schlüsselpaare, die auf der Endpunktvorrichtung 102A gemäß den Gleichungen 3 und 4 erzeugt wurden.
  • Die Token-Tabelle 122 kann alle eindeutigen PETs enthalten, die Interaktionen der Endpunktvorrichtung 102A mit anderen Endpunktvorrichtungen 102 darstellen. Alternativ oder zusätzlich kann die Token-Tabelle 122 für jedes PET einen Zeitstempel enthalten, der den Zeitpunkt einer entsprechenden Interaktion mit einer anderen Endpunktvorrichtung 102 angibt. Die Zeitstempel der PETs können verwendet werden, um alte Daten zu bereinigen. So kann die Endpunktvorrichtung 102A beispielsweise PETs mit Zeitstempeln, die älter als 3 Wochen sind (oder einen anderen Schwellenwert), aus der Token-Tabelle 122 entfernen.
  • In der Ping-Tabelle 124 kann jedes Mal, wenn eine Peripherieadresse gesehen wird, gespeichert werden. Jede periphere Adresse kann gehasht werden.
  • Die Tabelle 126 mit IDs anderer Vorrichtungen kann ephemere eindeutige IDs anderer Endpunktvorrichtungen 102 enthalten, mit denen die Endpunktvorrichtung 102A interagiert hat. Alternativ oder zusätzlich kann die Tabelle 126 mit IDs anderer Vorrichtungen für jede ephemere eindeutige ID einer anderen Endpunktvorrichtung 102 einen Zeitstempel enthalten, der den Zeitpunkt angibt, zu dem der entsprechende Austausch ephemerer eindeutiger IDs zwischen der anderen Endpunktvorrichtung 102 und der Endpunktvorrichtung 102A stattgefunden hat.
  • Die Ereignistabelle 128 kann Start-/Stopp-Ereignisse des Scannens verfolgen. Alternativ oder zusätzlich kann die Ereignistabelle 128 die Anzahl der Endpunktvorrichtungen 102 erfassen, die den Algorithmus zur Kontaktverfolgung implementieren, der bei jedem Scan-Zyklus angetroffen wird. Die Informationen in der Ereignistabelle 128 können bei der Abschätzung des Expositionsrisikos nützlich sein, da sie blinde Flecken aufzeigen können.
  • Wenn der Benutzer 106 positiv getestet wurde oder weiß, dass er eine Infektionskrankheit in sich trägt, kann der Benutzer 106 seine Endpunktvorrichtung 102 bedienen, um ihr Tell-Token (z. B. in der Token-Tabelle 122) der letzten zwei Wochen oder eines anderen Zeitraums auf den Backend-Server 110 hochzuladen. Die genaue Dauer ist konfigurierbar und kann von der jeweiligen Infektionskrankheit abhängen. Die Infektions-Tell-Token können auf dem Backend-Server 110 als Infektions-Tell-Token 130 gespeichert werden.
  • Jede Endpunktvorrichtung 102 kann ihre Hear-Token regelmäßig auf den Backend-Server 110 hochladen, die als vorrichtungsspezifische Sätze von Hear-Token 132 auf dem Backend-Server 110 gespeichert werden können. Der Backend-Server 110 kann für jede Endpunktvorrichtung 102 (oder für jeden Benutzer 106, dem eine jeweilige Endpunktvorrichtung 102 zugeordnet ist) einen Abgleich durchführen, indem er prüft, ob eines der Hear-Token in den Hear-Tokensätzen 132 mit einem der Infektions-Tell-Token 130 übereinstimmt. Basierend auf der Anzahl der Übereinstimmungen, der Kontaktdauer und/oder anderen Informationen kann der Backend-Server 110 einen Risikowert für den entsprechenden Benutzer 106 und/oder die Endpunktvorrichtung 102 ableiten. Alternativ oder zusätzlich kann der Backend-Server 110 den Risikowert an den Benutzer 106 ausgeben und/oder dem Benutzer 106 einen Hinweis auf eine Infektionskrankheit (oder -krankheiten) geben, der der Benutzer 106 ausgesetzt war, eine Anzahl von Expositionen gegenüber der Infektionskrankheit (oder -krankheiten), einen Zeitraum, der von dem Risikowert abgedeckt wird und/oder in dem die Anzahl der Expositionen aufgetreten ist, oder dergleichen. Bei diesem Ansatz hat jeder Benutzer 106 keine Möglichkeit zu erfahren, welche seiner Interaktionen infektiös war, was die Privatsphäre der infizierten Benutzer 106 schützen kann.
  • In einer anderen Ausführungsform kann jede Endpunktvorrichtung 102 in regelmäßigen Abständen alle Infektions-Tell-Token 130 vom Backend-Server 110 herunterladen. Die Endpunktvorrichtung 102 kann dann lokal einen Abgleich durchführen, indem es prüft, ob eines der Infektions-Tell-Token 130 in ihrer Token-Tabelle 122 existiert. Basierend auf der Anzahl der Übereinstimmungen, der Kontaktdauer und/oder anderen Informationen kann die Endpunktvorrichtung 102 einen Risikowert für den entsprechenden Benutzer 106 und/oder die Endpunktvorrichtung 102 ableiten. Alternativ oder zusätzlich kann die Endpunktvorrichtung 102 den Risikowert an den Benutzer 106 ausgeben und/oder dem Benutzer 106 einen Hinweis auf eine Infektionskrankheit (oder -krankheiten) geben, der der Benutzer 106 ausgesetzt war, eine Anzahl von Expositionen gegenüber der Infektionskrankheit (oder -krankheiten), einen Zeitraum, der von dem Risikowert abgedeckt wird und/oder in dem die Anzahl der Expositionen aufgetreten ist, oder dergleichen.
  • In noch einer weiteren Ausführungsform kann jede Endpunktvorrichtung 102 im Besitz desselben Netzbetreibers sein oder von diesem betrieben werden wie der Backend-Server 110. Der Backend-Server 110 kann Zugang zu geheimen Schlüsseln 134 der Endpunktvorrichtungen 102 haben. Die geheimen Schlüssel 134 können zum Beispiel den geheimen Schlüssel 118 der Endpunktvorrichtung 102A und der anderen Endpunktvorrichtungen 102 enthalten und/oder im Speicher 116 des Backend-Servers 110 gespeichert sein. Der Backend-Server 110 kann die geheimen Schlüssel 134 verwenden, um einen Satz ephemerer eindeutiger IDs für jede der Endpunktvorrichtungen 102 zu erzeugen, z. B. gemäß den Gleichungen 3 und 4, die dann als Sätze wechselnder IDs 136 gespeichert werden können. Jeder Satz von wechselnden IDs 136 kann einer entsprechenden Endpunktvorrichtung 102 im Speicher 116 zugeordnet werden. Jede Endpunktvorrichtung 102 kann in regelmäßigen Abständen oder nach einem anderen Zeitplan einen Satz anonymisierter Interaktionen 138 (im Folgenden „Interaktionssatz 138“) auf den Backend-Server 110 hochladen. Jeder Interaktionssatz 138 kann den Inhalt der Tabelle 126 mit IDs anderer Vorrichtungen einer bestimmten Endpunktvorrichtung enthalten, z. B. ephemere eindeutige IDs (wie ephemere öffentliche Schlüssel) anderer Endpunktvorrichtungen 102, mit denen die bestimmte Endpunktvorrichtung 102 interagiert hat, einen Zeitstempel, zu dem der entsprechende Austausch ephemere eindeutiger IDs stattfand, oder dergleichen. Alternativ oder zusätzlich kann jeder Satz von Hear-Tokens 132, der von einer entsprechenden Endpunktvorrichtung 102 hochgeladen wurde, als Interaktionssatz 138 für diese Endpunktvorrichtung 102 verwendet werden. Der Backend-Server 110 kann Identitäten anderer Endpunktvorrichtungen 102, mit denen die bestimmte Endpunktvorrichtung 102 interagiert hat, aus dem entsprechenden Interaktionssatz 138 der bestimmten Endpunktvorrichtung 102 klären. Zum Beispiel kann der Backend-Server 110 Identitäten klären, indem er z. B. nach jeder ephemeren eindeutigen ID aus einem entsprechenden Interaktionssatz 138 in den Sätzen wechselnder IDs 136 sucht. Wenn der Backend-Server 110 eine bestimmte ephemere eindeutige ID in einem bestimmten Satz wechselnder IDs 136 auffindet, kann der Backend-Server 110 feststellen, dass die Endpunktvorrichtung 102, mit der die bestimmte Endpunktvorrichtung 102 interagiert hat, die Endpunktvorrichtung 102 ist, die dem bestimmten Satz wechselnder IDs 136 zugeordnet ist.
  • Wie bereits erwähnt, können einige der Endpunktvorrichtungen 102 ortsfest oder statisch sein und/oder bekannten Standorten zugeordnet sein. Zum Beispiel können die Endpunktvorrichtungen 102D-102F ortsfest oder statisch sein. Dementsprechend können Interaktionen mit den Endpunktvorrichtungen 102D-102F und ähnlich ortsfesten oder statischen Endpunktvorrichtungen dazu verwendet werden, die Bewegung von mobilen Endpunktvorrichtungen 102, wie den Endpunktvorrichtungen 102A-102C, zu verfolgen. Wenn beispielsweise der Interaktionssatz 138 der Endpunktvorrichtung 102A ephemere eindeutige IDs von irgendwelchen der ortsfesten oder statischen Endpunktvorrichtungen 102D-102F umfasst, kann die Klärung der Identitäten der ortsfesten oder statischen Endpunktvorrichtungen 102D-102F gleichzeitig die Standorte der entsprechenden Interaktionen (und damit der mobilen Endpunktvorrichtung 102A zu den Zeiten der Interaktionen) klären, wenn die Standorte der ortsfesten oder statischen Endpunktvorrichtungen 102D-102F bekannt sind oder vom Backend-Server 110 bestimmt werden können. Wenn die Zeiten der Interaktionen ebenfalls bekannt sind (z. B. wenn Zeitstempel für jede Interaktion im Interaktionssatz 138 enthalten sind), können die Bewegungsmuster der Endpunktvorrichtungen 102 und damit der Benutzer 106 bestimmt werden. Die Bewegungsmuster können dazu verwendet werden, den Arbeitsplatz besser zu verstehen, den Arbeitsplatz zu aktualisieren, die Effizienz zu verbessern, oder für andere Zwecke.
  • Die 2A und 2B zeigen eine perspektivische Vorderansicht von oben und eine perspektivische Rückansicht von unten auf eine beispielhafte Endpunktvorrichtung 200. Die Endpunktvorrichtung 200 kann andere hier beschriebene Endpunktvorrichtungen umfassen, in ihnen enthalten sein oder ihnen entsprechen. Verschiedene elektronische Komponenten (z. B. Netzwerksteuerung, Batterie, Prozessor) können mit einer Leiterplatte (PCB) verbunden und in einem Gehäuse 202 untergebracht sein. Die Endpunktvorrichtung 200 kann einen Ladeanschluss und/oder einen Datenübertragungsanschluss 204 enthalten, der auf der Unterseite der Endpunktvorrichtung 200 in 2B dargestellt ist. Die Endpunktvorrichtung 200 kann einen Gürtelclip 206 oder eine andere Struktur zur Befestigung oder Kopplung der Endpunktvorrichtung 200 an bzw. mit einem Benutzer, der Kleidung des Benutzers oder dergleichen umfassen. In anderen Ausführungsformen kann der Gürtelclip 206 weggelassen werden und der Benutzer kann die Endpunktvorrichtung 200 in der Tasche des Benutzers oder dergleichen tragen.
  • In einigen Ausführungsformen kann die Endpunktvorrichtung 200 eine oder mehrere Benutzereingabevorrichtungen und/oder Ausgabevorrichtungen enthalten. Beispielsweise kann die Endpunktvorrichtung 200 eine oder mehrere Tasten, LEDs oder andere Leuchten, haptische Vorrichtungen oder dergleichen umfassen. Obwohl in 2A und 2B nicht sichtbar, können LEDs und eine haptische Vorrichtung innerhalb des Gehäuses 202 positioniert und mit der sonstigen Elektronik und/oder der Leiterplatte verbunden sein. Das Gehäuse 202 kann zumindest in einem Bereich zwischen den LEDs und einer Außenseite des Gehäuses 202 transparent sein, so dass die LEDs für den Benutzer wahrnehmbar sind, um eine Ausgabe von der Endpunktvorrichtung 200 zu erhalten. Alternativ oder zusätzlich kann die haptische Vorrichtung vibrieren und/oder nach einem oder mehreren Mustern vibrieren, was wiederum die Endpunktvorrichtung 200 als Ganzes in Schwingung versetzen kann, was vom Benutzer als eine andere Form der Ausgabe wahrgenommen werden kann.
  • Der Einfachheit halber sind die hier beschriebenen Verfahren als eine Reihe von Handlungen dargestellt und beschrieben. Die Handlungen im Sinne dieser Offenbarung können jedoch in verschiedenen Reihenfolgen und/oder gleichzeitig sowie mit anderen, hier nicht dargestellten und beschriebenen Handlungen erfolgen. Ferner können nicht alle dargestellten Handlungen zur Durchführung der Verfahren gemäß dem offenbarten Gegenstand verwendet werden. Darüber hinaus wird der Fachmann verstehen und anerkennen, dass die Verfahren alternativ als eine Reihe von miteinander verbundenen Zuständen über ein Zustandsdiagramm oder Ereignisse dargestellt werden können. Darüber hinaus können die in dieser Beschreibung offenbarten Verfahren auf einem Herstellungsgegenstand, wie z. B. einem nichtflüchtigen computerlesbaren Medium, gespeichert werden, um den Transport und die Übertragung solcher Verfahren auf Datenverarbeitungsvorrichtungen zu erleichtern. Der Begriff „Herstellungsgegenstand“, wie er hier verwendet wird, soll ein Computerprogramm umfassen, auf das von einer beliebigen computerlesbaren Vorrichtung oder einem beliebigen Speichermedium aus zugegriffen werden kann. Obwohl als einzelne Blöcke dargestellt, können verschiedene Blöcke in zusätzliche Blöcke aufgeteilt, zu weniger Blöcken kombiniert oder entfernt werden, je nach gewünschter Implementierung.
  • 3 zeigt ein Flussdiagramm eines beispielhaften Verfahrens 300 zur Kontaktverfolgung, das in Übereinstimmung mit mindestens einer hier beschriebenen Ausführungsform eingerichtet ist. Das Verfahren 300 kann von jedem geeigneten System, jeder geeigneten Einrichtung oder Vorrichtung durchgeführt werden. Beispielsweise kann der Backend-Server 110 eine oder mehrere der mit dem Verfahren 300 zusammenhängenden Operationen durchführen oder deren Durchführung anweisen. In diesen und anderen Ausführungsformen kann das Verfahren 300 von einem oder mehreren Prozessoren auf der Grundlage einer oder mehrerer computerlesbarer Anweisungen, die auf einem oder mehreren nichtflüchtigen computerlesbaren Medien gespeichert sind, durchgeführt oder gesteuert werden. Das Verfahren 300 kann einen oder mehrere der Blöcke 302 und/oder 304 umfassen.
  • In Block 302 kann das Verfahren 300 das Sammeln, von jeder von mehreren Endpunktvorrichtungen, eines Satzes anonymisierter Interaktionen der entsprechenden Endpunktvorrichtung mit anderen Endpunktvorrichtungen umfassen. Zum Beispiel kann der Backend-Server 110 Interaktionssätze 138 von den Endpunktvorrichtungen 102 von 1 sammeln. Jede anonymisierte Interaktion in dem Satz anonymisierter Interaktionen kann auf einer ephemeren eindeutigen ID einer anderen Endpunktvorrichtung basieren, die an einer entsprechenden anonymisierten Interaktion mit der entsprechenden Endpunktvorrichtung beteiligt ist. Beispielsweise kann der Interaktionssatz 138 der Endpunktvorrichtung 102A mehrere Interaktionen zwischen der Endpunktvorrichtung 102A und anderen Endpunktvorrichtungen 102 enthalten, wobei jede Interaktion ephemere eindeutige IDs der anderen Endpunktvorrichtungen 102 umfasst, die in der Tabelle 126 mit IDs anderer Vorrichtungen gespeichert worden sein können. Auf den Block 302 kann der Block 304 folgen.
  • In Block 304 kann das Verfahren 300 für jede Endpunktvorrichtung das Klären der Identitäten der anderen Endpunktvorrichtungen, mit denen die entsprechende Endpunktvorrichtung interagiert hat, aus dem entsprechenden Satz anonymisierter Interaktionen umfassen. In einigen Ausführungsformen umfasst das Verfahren 300 ferner das Vorberechnen ephemerer eindeutiger IDs für jede Endpunktvorrichtung und das Speichern der vorberechneten ephemeren eindeutigen IDs für jede Endpunktvorrichtung, z. B. als ein entsprechender Satz wechselnder IDs 136 im Speicher 116. In dieser und anderen Ausführungsformen kann jede anonymisierte Interaktion eine ephemere eindeutige ID einer entsprechenden der anderen Endpunktvorrichtungen enthalten, mit denen die entsprechende Vorrichtung interagiert hat. Alternativ oder zusätzlich kann die Klärung der Identitäten der anderen Endpunktvorrichtungen, mit denen die entsprechende Vorrichtung in Block 304 interagiert hat, die Suche nach ephemeren eindeutigen IDs aus den anonymisierten Interaktionen in den gespeicherten vorberechneten ephemeren eindeutigen IDs umfassen.
  • In einigen Ausführungsformen kann das Klären von Identitäten der anderen Endpunktvorrichtungen, mit denen die entsprechende Vorrichtung in Block 304 interagiert hat, als Reaktion auf eine bestimmte anonymisierte Interaktion, die mit einer bestimmten gespeicherten vorberechneten ephemeren eindeutigen ID übereinstimmt, die mit einer bestimmten Endpunktvorrichtung assoziiert ist, ferner das Bestimmen umfassen, dass die entsprechende Endpunktvorrichtung mit der bestimmten Endpunktvorrichtung interagiert hat. Wenn beispielsweise eine ephemere eindeutige ID aus der Tabelle 126 mit IDs anderer Vorrichtungen der Endpunktvorrichtung 102A mit einer vorberechneten ephemeren eindeutigen ID in dem Satz von wechselnden IDs 136 für die Endpunktvorrichtung 102B übereinstimmt, kann der Backend-Server 110 feststellen, dass die Endpunktvorrichtung 102A mit der Endpunktvorrichtung 102B interagiert hat.
  • In einigen Ausführungsformen hat jede Endpunktvorrichtung einen entsprechenden geheimen Schlüssel, der einem Netzbetreiber bekannt ist, und jede ephemere eindeutige ID wird zumindest teilweise auf der Grundlage eines entsprechenden geheimen Schlüssels und eines Zählers vorberechnet. Beispielsweise kann jede der Endpunktvorrichtungen 102 einen geheimen Schlüssel enthalten (wie etwa der geheime Schlüssel 118 der Endpunktvorrichtung 102A), die alle als geheime Schlüssel 134 auf dem Backend-Server 110 gespeichert sein können. Der Backend-Server 110 kann auch über die Zeitparameter der Gleichung 2 verfügen oder diese kennen, um Werte für den Zähler C zu bestimmen, oder er kann einfach eine Reihe von ganzen Zahlen für den Zähler C verwenden. Unter Verwendung der geheimen Schlüssel 134 der Endpunktvorrichtungen 102 und des Zählers C kann der Backend-Server 110 für jede der Endpunktvorrichtungen 102 einen entsprechenden Satz wechselnder IDs 136 vorberechnen.
  • Das Vorberechnen ephemerer eindeutiger IDs kann für jede Endpunktvorrichtung das Erzeugen mehrerer deterministischer Seeds aus dem entsprechenden geheimen Schlüssel und mehreren Zählerwerten sowie das Erzeugen mehrerer ephemerer öffentlicher Schlüsselpaare aus den deterministischen Seeds umfassen. Jede vorberechnete ephemere eindeutige ID kann ein anderes der ephemeren öffentlichen Schlüsselpaare enthalten. Beispielsweise kann der Backend-Server 110 die deterministischen Seeds gemäß Gleichung 3 erzeugen, z. B. durch Generierung von Hash-Werten, wobei jeder Hash-Wert ein Hash des entsprechenden geheimen Schlüssels und eines anderen Zählerwertes ist. Alternativ oder zusätzlich kann der Backend-Server 110 die ephemeren öffentlichen Schlüsselpaare gemäß Gleichung 4 generieren, z. B. durch Generierung öffentlicher Curve25519-Schlüssel, wobei jeder öffentliche Curve25519-Schlüssel unter Verwendung eines anderen deterministischen Seeds als Eingabe generiert wird.
  • In einigen Ausführungsformen kann das Verfahren 300 ferner das Bestimmen umfassen, ob ein erster Benutzer der entsprechenden Endpunktvorrichtung einem zweiten Benutzer einer anderen Endpunktvorrichtung ausgesetzt war, basierend darauf, ob sich eine Identität der anderen Endpunktvorrichtung unter den geklärten Identitäten der anderen Endpunktvorrichtungen befindet, mit denen die entsprechende Endpunktvorrichtung interagiert hat.
  • In einigen Ausführungsformen können die Endpunktvorrichtungen von Benutzern an einem Arbeitsplatz getragen werden. Das Verfahren 300 kann ferner das Bestimmen, basierend auf Interaktionen mit Endpunktvorrichtungen mit bekannten Standorten innerhalb des Arbeitsplatzes, von mindestens einem der folgenden Elemente umfassen: ein oder mehrere Bewegungsmuster der Benutzer am Arbeitsplatz; Analysen bezüglich der Häufigkeit von Besuchen durch Benutzer an jedem von einem oder mehreren Standorten innerhalb des Arbeitsplatzes; oder Analysen bezüglich der Anzahl von Interaktionen zwischen den Benutzern an jedem von einem oder mehreren Standorten innerhalb des Arbeitsplatzes.
  • 4 zeigt ein Flussdiagramm eines weiteren beispielhaften Verfahrens 400 zur Kontaktverfolgung, das in Übereinstimmung mit mindestens einer hierin beschriebenen Ausführungsform eingerichtet ist. Das Verfahren 400 kann von jedem geeigneten System, geeigneten Einrichtung oder Vorrichtung durchgeführt werden. Beispielsweise können eine oder mehrere der Endpunktvorrichtungen 102, 200 eine oder mehrere der mit dem Verfahren 400 zusammenhängenden Operationen durchführen oder deren Durchführung anweisen. In diesen und anderen Ausführungsformen kann das Verfahren 400 von einem oder mehreren Prozessoren auf der Grundlage einer oder mehrerer computerlesbarer Anweisungen, die auf einem oder mehreren nichtflüchtigen computerlesbaren Medien gespeichert sind, durchgeführt oder gesteuert werden. Das Verfahren 400 kann einen oder mehrere der Blöcke 402, 404, 406, 408 und/oder 410 umfassen.
  • In Block 402 kann das Verfahren 400 das Erzeugen mehrerer ephemerer eindeutiger IDs für eine erste Endpunktvorrichtung im Laufe der Zeit umfassen. Jede der ephemeren eindeutigen IDs kann spezifisch für die Endpunktvorrichtung sein und so konfiguriert sein, dass sie die erste Endpunktvorrichtung identifiziert. Beispielsweise kann die Endpunktvorrichtung 102A periodisch oder nach einem anderen Zeitplan eine ephemere eindeutige ID zu einem bestimmten Zeitpunkt nowerzeugen und sie zur Tabelle 120 für ephemere IDs hinzufügen.
  • In Block 404 kann das Verfahren 400 das Scannen nach anderen Endpunktvorrichtungen umfassen. Zum Beispiel kann die Endpunktvorrichtung 102A periodisch oder nach einem anderen Zeitplan ihre Umgebung nach anderen Endpunktvorrichtungen 102 absuchen. In einigen Ausführungsformen kann der Scan eine Dauer tscan mit einer Dauer von twait zwischen den Scans haben. Alternativ oder zusätzlich kann die Dauer twait dynamisch angepasst werden, z. B. auf der Grundlage des Trickle-Algorithmus.
  • In Block 406 kann das Verfahren 400 die Feststellung umfassen, ob eine andere Endpunktvorrichtung während des Scannens erfasst wurde. Wenn in Block 406 keine weitere Endpunktvorrichtung erfasst wird, kann das Verfahren 400 zu Block 404 zurückkehren. Wenn in Block 406 eine andere Endpunktvorrichtung erfasst wird, kann das Verfahren mit Block 408 fortfahren. Wenn zum Beispiel die Endpunktvorrichtung 102A die Endpunktvorrichtung 102B bei ihrem Scan erfasst, kann das Verfahren 400 mit Block 408 fortfahren.
  • In Block 408 und als Reaktion auf die Erfassung einer anderen Endpunktvorrichtung, z. B. einer zweiten Endpunktvorrichtung, während des Scannens, kann das Verfahren 400 die Bereitstellung einer aktuellen ephemeren eindeutigen ID der ersten Endpunktvorrichtung an die zweite Endpunktvorrichtung umfassen. Wenn beispielsweise die Endpunktvorrichtung 102A die Endpunktvorrichtung 102B während eines Scans ihrer Nachbarschaft erfasst, kann die Endpunktvorrichtung 102A ihre aktuelle ephemere eindeutige ID an die Endpunktvorrichtung 102B weitergeben. In einigen Ausführungsformen führt die Endpunktvorrichtung 102A eine GATT-Schreibabfrage durch, um ihre aktuelle ephemere eindeutige ID an die Endpunktvorrichtung 102B zu senden. In einigen Ausführungsformen liefert die Endpunktvorrichtung 102A ihre aktuelle ephemere eindeutige ID an die Endpunktvorrichtung 102B als Antwort auf eine GATT-Leseabfrage von der Endpunktvorrichtung 102B.
  • In Block 410 kann das Verfahren 400 ferner den Empfang einer aktuellen ephemeren eindeutigen ID der zweiten Endpunktvorrichtung an der ersten Endpunktvorrichtung umfassen. Zum Beispiel kann die Endpunktvorrichtung 102A eine aktuelle ephemere eindeutige ID der zweiten Endpunktvorrichtung empfangen. In einigen Ausführungsformen führt die Endpunktvorrichtung 102A eine GATT-Leseabfrage durch, um den aktuellen ephemeren öffentlichen Schlüssel der Endpunktvorrichtung 102B abzurufen. In einigen Ausführungsformen erhält die Endpunktvorrichtung 102A die aktuelle ephemere eindeutige ID der Endpunktvorrichtung 102B als Ergebnis der Durchführung einer GATT-Schreibabfrage durch die Endpunktvorrichtung 102B.
  • In einigen Ausführungsformen kann das Verfahren 400 ferner das Hinzufügen einer anonymisierten Interaktion mit der zweiten Endpunktvorrichtung zu einem Satz von anonymisierten Interaktionen der ersten Endpunktvorrichtung mit anderen Endpunktvorrichtungen umfassen. Jede anonymisierte Interaktion in dem Satz anonymisierter Interaktionen kann auf einer entsprechenden ephemeren eindeutigen ID der entsprechenden Endpunktvorrichtung basieren, die während einer entsprechenden Interaktion zwischen der ersten Endpunktvorrichtung und der entsprechenden Endpunktvorrichtung empfangen wurde. In einigen Ausführungsformen umfasst jede anonymisierte Interaktion ein oder mehrere Token und/oder kann z. B. in der Token-Tabelle 122 der entsprechenden Endpunktvorrichtung 102 gespeichert werden. In einigen Ausführungsformen umfasst jede anonymisierte Interaktion eine ephemere eindeutige ID der entsprechenden Endpunktvorrichtung, mit der die erste Endpunktvorrichtung interagiert hat, und/oder kann z. B. in der Tabelle 126 mit IDs anderer Vorrichtungen gespeichert werden.
  • In einigen Ausführungsformen kann das Verfahren 400 ferner die gemeinsame Nutzung des Satzes anonymisierter Interaktionen der ersten Endpunktvorrichtung mit einem Backend-Server umfassen, um Identitäten der anderen Endpunktvorrichtungen zu klären, mit denen die erste Endpunktvorrichtung interagiert hat. Zum Beispiel kann die Endpunktvorrichtung 102A den Inhalt ihrer Tabelle 126 mit IDs anderer Vorrichtungen mit dem Backend-Server 110 teilen, damit der Backend-Server 110 die Identitäten anderer Endpunktvorrichtungen 102 klären kann, mit denen die Endpunktvorrichtung 102A interagiert hat.
  • In einigen Ausführungsformen verfügt die erste Endpunktvorrichtung über einen geheimen Schlüssel, der einem Netzbetreiber bekannt ist, und jede der ephemeren eindeutigen Kennungen für die erste Endpunktvorrichtung basiert auf dem geheimen Schlüssel und einem Zähler. In diesen und anderen Ausführungsformen kann das Erzeugen der ephemeren eindeutigen Kennungen im Laufe der Zeit für jede der ephemeren eindeutigen Kennungen das Erzeugen eines deterministischen Seeds und das Erzeugen eines ephemeren öffentlichen Schlüsselpaars umfassen. Der deterministische Seed kann aus dem geheimen Schlüssel und einem Zählerwert erzeugt werden, der von der Zeit abhängt, zu der der deterministische Seed erzeugt wird, z. B. gemäß Gleichung 3. Das ephemere öffentliche Schlüsselpaar kann aus dem deterministischen Seed erzeugt werden, um es als eine entsprechende der ephemeren eindeutigen Kennungen zu verwenden, z. B. gemäß Gleichung 4. In einigen Ausführungsformen kann das Erzeugen des deterministischen Seeds das Erzeugen eines Hash-Wertes als Hash des geheimen Schlüssels und des Zählerwertes umfassen. In einigen Ausführungsformen umfasst der Zählerwert einen Wert einer Differenz zwischen einer aktuellen Zeit und einer Referenzzeit geteilt durch einen Zeitschritt, z. B. gemäß Gleichung 2. Alternativ oder zusätzlich kann das Erzeugen des ephemeren öffentlichen Schlüsselpaares das Erzeugen eines öffentlichen Curve25519-Schlüssels unter Verwendung des deterministischen Seeds als Eingabe umfassen.
  • In einigen Ausführungsformen kann das Verfahren 400 ferner das Bestimmen einer Entfernung zwischen der ersten Endpunktvorrichtung und zweiten Endpunktvorrichtung umfassen. Als Reaktion darauf, dass die Entfernung kleiner als ein Schwellenwert ist, kann das Verfahren 400 weiterhin die Ausgabe einer Warnung an einen Benutzer der ersten Endpunktvorrichtung umfassen. Zum Beispiel kann die Endpunktvorrichtung 400 vibrieren, eine oder mehrere LEDs einschalten oder eine andere Ausgabe an den Benutzer als Warnung ausgeben. Der Schwellenwert kann von einer oder mehreren betreffenden Infektionen abhängen. Während der Covid-19-Pandemie, die ca. Anfang 2020 begann, wurde den Menschen beispielsweise geraten, sich von anderen Personen, die nicht zu ihrem Haushalt gehören, mehr als 6 Fuß (ca. zwei Meter) zu entfernen, um das Infektionsrisiko zu verringern. Demgemäß kann der Schwellenwert auf 6 Fuß oder einen anderen Schwellenwert festgelegt werden. In diesem und in anderen Beispielen kann die Warnung dazu dienen, den Benutzer daran zu erinnern, sich weiter von anderen Benutzern in seiner Nähe zu entfernen.
  • 5 veranschaulicht eine schematische Darstellung einer Maschine in der beispielhaften Form einer Datenverarbeitungsvorrichtung 500, in der ein Satz von Anweisungen ausgeführt werden kann, um die Maschine zu veranlassen, eines oder mehrere der hier beschriebenen Verfahren durchzuführen. Die Datenverarbeitungsvorrichtung 500 kann beispielsweise eine der hierin beschriebenen Endpunktvorrichtungen 102, 200 oder den hierin beschriebenen Backend-Server 110 umfassen, darin enthalten sein oder einer/einem solchen entsprechen. Die Datenverarbeitungsvorrichtung 500 kann ein Mobiltelefon, ein Smartphone, einen Netbook-Computer, einen Rackmount-Server, einen Router-Computer, einen Server-Computer, einen Personal-Computer, einen Mainframe-Computer, einen Laptop-Computer, einen Tablet-Computer, einen Desktop-Computer usw. umfassen, in denen ein Satz von Anweisungen ausgeführt werden kann, um die Maschine zu veranlassen, eines oder mehrere der hierin beschriebenen Verfahren durchzuführen. In alternativen Ausführungsformen kann die Maschine mit anderen Maschinen in einem LAN, einem Intranet, einem Extranet oder dem Internet verbunden (z. B. vernetzt) sein. Die Maschine kann in der Funktion einer Server-Maschine in einer Client-Server-Netzwerkumgebung arbeiten. Die Maschine kann einen Personal Computer (PC), eine Set-Top-Box (STB), einen Server, einen Netzwerk-Router, eine Vermittlungsstelle oder Brückeneinheit oder jede andere Maschine umfassen, die in der Lage ist, eine Reihe von Anweisungen (sequentiell oder anderweitig) auszuführen, die von dieser Maschine auszuführende Aktionen spezifizieren. Auch wenn nur eine einzige Maschine dargestellt ist, kann der Begriff „Maschine“ darüber hinaus auch eine beliebige Sammlung von Maschinen umfassen, die einzeln oder gemeinsam einen Satz (oder mehrere Sätze) von Anweisungen ausführen, um eines oder mehrere der hier erörterten Verfahren durchzuführen.
  • Die beispielhafte Datenverarbeitungsvorrichtung 500 umfasst eine Verarbeitungsvorrichtung (z. B. einen Prozessor) 502, einen Hauptspeicher 504 (z. B. einen Festwertspeicher (ROM), Flash-Speicher, dynamischen Direktzugriffsspeicher (DRAM) wie synchronen DRAM (SDRAM)), einen statischen Speicher 506 (z. B. Flash-Speicher, statischen Direktzugriffsspeicher (SRAM)) und eine Datenspeichervorrichtung 516, die über einen Bus 508 miteinander kommunizieren.
  • Bei der Verarbeitungsvorrichtung 502 handelt es sich um eine oder mehrere Allzweckverarbeitungsvorrichtungen wie z. B. einen Mikroprozessor, eine zentrale Verarbeitungseinheit oder ähnliches. Insbesondere kann die Verarbeitungsvorrichtung 502 einen CISC-Mikroprozessor (Complex Instruction Set Computing), einen RISC-Mikroprozessor (Reduced Instruction Set Computing), einen VLIW-Mikroprozessor (Very Long Instruction Word) oder einen Prozessor umfassen, der andere Befehlssätze implementiert, oder Prozessoren, die eine Kombination von Befehlssätzen implementieren. Die Verarbeitungsvorrichtung 502 kann auch eine oder mehrere spezielle Verarbeitungsvorrichtungen enthalten, wie z. B. eine anwendungsspezifische integrierte Schaltung (ASIC), ein Field Programmable Gate Array (FPGA), einen digitalen Signalprozessor (DSP), einen Netzwerkprozessor oder dergleichen. Die Verarbeitungsvorrichtung 502 ist so konfiguriert, dass sie Anweisungen 526 zur Durchführung der hier beschriebenen Vorgänge und Schritte ausführt.
  • Die Datenverarbeitungsvorrichtung 500 kann ferner eine Netzwerkschnittstellenvorrichtung 522 enthalten, die mit einem Netzwerk 518 kommunizieren kann. Das Netzwerk 518 kann das Netzwerk 112 von 1 umfassen, darin enthalten sein oder diesem entsprechen. Die Datenverarbeitungsvorrichtung 500 kann auch eine Anzeigevorrichtung 510 (z. B. eine Flüssigkristallanzeige (LCD) oder eine Kathodenstrahlröhre (CRT)), eine alphanumerische Eingabevorrichtung 512 (z. B. eine Tastatur), eine Cursorsteuerungsvorrichtung 514 (z. B. eine Maus) und eine Signalerzeugungsvorrichtung 520 (z. B. einen Lautsprecher) umfassen. In mindestens einer Ausführungsform können die Anzeigevorrichtung 510, die alphanumerische Eingabevorrichtung 512 und die Cursorsteuerungsvorrichtung 514 zu einer einzigen Komponente oder Vorrichtung (z. B. einem LCD-Touchscreen) kombiniert sein.
  • Die Datenspeichervorrichtung 516 kann ein computerlesbares Speichermedium 524 enthalten, auf dem ein oder mehrere Sätze von Anweisungen 526 gespeichert sind, die eine oder mehrere der hier beschriebenen Verfahren oder Funktionen verkörpern. Die Anweisungen 526 können sich auch vollständig oder zumindest teilweise im Hauptspeicher 504 und/oder in der Verarbeitungsvorrichtung 502 befinden, während sie von der Datenverarbeitungsvorrichtung 500 ausgeführt werden, wobei der Hauptspeicher 504 und die Verarbeitungsvorrichtung 502 ebenfalls computerlesbare Medien darstellen. Die Anweisungen 526 können ferner über das Netzwerk 518 über die Netzwerkschnittstellenvorrichtung 522 übertragen oder empfangen werden.
  • Während das computerlesbare Speichermedium 526 in einem Ausführungsbeispiel als einzelnes Medium dargestellt ist, kann der Begriff „computerlesbares Speichermedium“ ein einzelnes Medium oder mehrere Medien (z. B. eine zentralisierte oder verteilte Datenbank und/oder zugehörige Caches und Server) umfassen, die den einen oder die mehrere Sätze von Anweisungen speichern. Der Begriff „computerlesbares Speichermedium“ kann auch jedes Medium umfassen, das in der Lage ist, einen Satz von Anweisungen zur Ausführung durch die Maschine zu speichern, zu kodieren oder zu tragen, und das die Maschine veranlasst, eines oder mehrere der Verfahren der vorliegenden Offenbarung durchzuführen. Der Begriff „computerlesbares Speichermedium“ kann dementsprechend so aufgefasst werden, dass er Festkörperspeicher, optische Medien und magnetische Medien umfasst, ist aber nicht auf diese beschränkt.
  • Die hier und insbesondere in den beigefügten Ansprüchen (z. B. in den Hauptteilen der beigefügten Ansprüche) verwendeten Begriffe sind im Allgemeinen als „offene“ Begriffe zu verstehen (z. B. kann der Begriff „umfassend“ als „umfassend, aber nicht beschränkt auf“ ausgelegt werden, der Begriff „mit“ kann als „mit mindestens“ ausgelegt werden, der Begriff „umfasst“ kann als „umfasst, aber nicht beschränkt auf“ ausgelegt werden usw.).
  • Wenn ferner eine bestimmte Anzahl von eingeführten Nennungen in einem Anspruch beabsichtigt ist, wird diese Absicht ausdrücklich im Anspruch erwähnt; fehlt eine solche Erwähnung, liegt keine solche Absicht vor. Zum besseren Verständnis können in den folgenden beigefügten Ansprüchen beispielsweise die einleitenden Ausdrücke „mindestens ein/e“ und „ein/e oder mehrere“ verwendet sein, um Nennungen in den Ansprüchen einzuleiten. Die Verwendung solcher Ausdrücke darf jedoch nicht so ausgelegt werden, dass die Einführung einer Anspruchsnennung durch die unbestimmten Artikel „ein“ oder „eine/n“ einen bestimmten Anspruch, der eine solche eingeführte Anspruchsnennung umfasst, auf Ausführungsformen beschränkt, die nur eine solche Nennung enthalten, selbst wenn derselbe Anspruch die einleitenden Ausdrücke „ein/e oder mehrere“ oder „mindestens ein/e“ und unbestimmte Artikel wie „ein“ oder „eine/n“ umfasst (z. B., „ein“ und/oder „eine/n“ können so ausgelegt werden, dass sie „mindestens ein/e“ oder „ein/e oder mehrere“ bedeuten); dasselbe gilt für die Verwendung bestimmter Artikel, die zur Einleitung von Anspruchsnennungen verwendet werden.
  • Selbst wenn eine bestimmte Anzahl von eingeführten Nennungen in den Ansprüchen ausdrücklich genannt wird, erkennt der Fachmann, dass eine solche Nennung so ausgelegt werden kann, dass sie mindestens die genannte Anzahl bedeutet (z. B. bedeutet die bloße Nennung von „zwei Nennungen“ ohne andere Modifikatoren mindestens zwei Nennungen oder zwei oder mehr Nennungen). In den Fällen, in denen eine Konvention analog zu „mindestens eines von A, B und C usw.“ oder „eines oder mehrere von A, B und C usw.“ verwendet wird, soll diese Konstruktion im Allgemeinen A allein, B allein, C allein, A und B zusammen, A und C zusammen, B und C zusammen oder A, B und C zusammen usw. einschließen. So ist beispielsweise die Verwendung des Begriffs „und/oder“ in diesem Sinne zu verstehen.
  • Darüber hinaus kann jedes disjunktive Wort oder jeder disjunktive Satz, der zwei oder mehr alternative Begriffe umfasst, sei es in der Beschreibung, den Ansprüchen oder den Zeichnungen, so verstanden werden, dass die Möglichkeit besteht, einen der Begriffe, den anderen der Begriffe oder beide Begriffe einzuschließen. So kann beispielsweise die Formulierung „A oder B“ so verstanden werden, dass sie die Möglichkeiten „A“ oder „B“ und „A und B“ einschließt.
  • Die hier beschriebenen Ausführungsformen können mit Hilfe von computerlesbaren Medien implementiert werden, auf denen computerausführbare Anweisungen oder Datenstrukturen gespeichert sind. Solche computerlesbaren Medien können alle verfügbaren Medien sein, auf die ein Universal- oder Spezialcomputer zugreifen kann. Als Beispiel und ohne Einschränkung können solche computerlesbaren Medien nichtflüchtige computerlesbare Speichermedien umfassen, darunter ein Direktzugriffsspeicher (RAM), Nur-Lese-Speicher (ROM), ein elektrisch löschbarer, programmierbarer Nur-Lese-Speicher (EEPROM), ein Compact Disc Festwertspeicher (CD-ROM) oder andere optische Plattenspeicher, Magnetplattenspeicher oder andere magnetische Speichervorrichtungen, Flash-Speichervorrichtungen (z. B. Festkörperspeicher) oder jedes andere Speichermedium, das dazu verwendet werden kann, den gewünschten Programmcode in Form von computerausführbaren Anweisungen oder Datenstrukturen zu tragen oder zu speichern, und auf die ein Allzweck- oder Spezialcomputer zugreifen kann. Auch Kombinationen der oben genannten Medien können in den Bereich der computerlesbaren Medien fallen.
  • Zu den computerausführbaren Anweisungen können beispielsweise Anweisungen und Daten gehören, die einen Allzweckcomputer, einen Spezialcomputer oder eine spezielle Verarbeitungsvorrichtung (z. B. einen oder mehrere Prozessoren) veranlassen, eine bestimmte Funktion oder Gruppe von Funktionen auszuführen. Obwohl der Gegenstand in einer Sprache beschrieben wurde, die für strukturelle Merkmale und/oder methodische Handlungen spezifisch ist, sollte klar sein, dass der in den beigefügten Ansprüchen definierte Gegenstand nicht notwendigerweise auf die oben beschriebenen spezifischen Merkmale oder Handlungen beschränkt ist. Vielmehr werden die oben beschriebenen spezifischen Merkmale und Handlungen als Beispiel für die Umsetzung der Ansprüche offenbart.
  • Wie hierin verwendet, können sich die Begriffe „Modul“ oder „Komponente“ auf spezifische Hardware-Implementierungen beziehen, die zur Durchführung der Operationen des Moduls oder der Komponente konfiguriert sind, und/oder auf Software-Objekte oder Software-Routinen, die auf Allzweck-Hardware (z. B. computerlesbare Medien, Verarbeitungsvorrichtungen usw.) des Computersystems gespeichert und/oder von dieser ausgeführt werden können. In einigen Ausführungsformen können die verschiedenen hier beschriebenen Komponenten, Module, Engines und Dienste als Objekte oder Prozesse implementiert werden, die auf dem Computersystem ausgeführt werden (z. B. als separate Threads). Während einige der hier beschriebenen Systeme und Verfahren im Allgemeinen als in Software implementiert beschrieben sind (die auf Allzweck-Hardware gespeichert ist und/oder von dieser ausgeführt wird), sind auch spezifische Hardware-Implementierungen oder eine Kombination aus Software- und spezifischen Hardware-Implementierungen möglich und in Betracht zu ziehen. In dieser Beschreibung kann eine „Rechenentität“ ein beliebiges Computersystem im Sinne der vorstehenden Definition oder ein Modul oder eine Kombination von Modulen sein, die auf einem Computersystem laufen.
  • Bei offenbarten Prozessen und/oder Verfahren können die in den Prozessen und Verfahren ausgeführten Funktionen in unterschiedlicher Reihenfolge ausgeführt werden, wie dies aus dem Kontext hervorgehen kann. Darüber hinaus sind die skizzierten Schritte und Vorgänge nur als Beispiele angeführt, und einige der Schritte und Vorgänge können optional sein, zu weniger Schritten und Vorgängen zusammengefasst oder zu zusätzlichen Schritten und Vorgängen erweitert werden.
  • Diese Offenbarung kann manchmal verschiedene Komponenten zeigen, die in verschiedenen anderen Komponenten enthalten oder mit diesen verbunden sind. Solche dargestellten Architekturen sind lediglich beispielhaft und es können viele andere Architekturen implementiert werden, die die gleiche oder eine ähnliche Funktionalität erreichen.
  • Aspekte der vorliegenden Offenbarung können in anderen Formen verkörpert werden, ohne von ihrem Sinngehalt oder ihren wesentlichen Merkmalen abzuweichen. Die beschriebenen Aspekte sind in jeder Hinsicht als illustrativ und nicht einschränkend zu betrachten. Der beanspruchte Gegenstand wird durch die beigefügten Ansprüche und nicht durch die vorstehende Beschreibung angegeben. Alle Änderungen, die unter die Bedeutung und den Äquivalenzbereich der Ansprüche fallen, sind in deren Umfang einzubeziehen.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 63021040 [0001]

Claims (20)

  1. Verfahren, das Folgendes umfasst: Sammeln, von jeder Endpunktvorrichtung einer Vielzahl von Endpunktvorrichtungen, eines Satzes von anonymisierten Interaktionen der entsprechenden Endpunktvorrichtung mit anderen Endpunktvorrichtungen, wobei jede anonymisierte Interaktion in dem Satz von anonymisierten Interaktionen auf einer ephemeren eindeutigen Kennung einer anderen Endpunktvorrichtung basiert, die an einer entsprechenden anonymisierten Interaktion mit der entsprechenden Endpunktvorrichtung beteiligt ist; und, für jede Endpunktvorrichtung, Klären von Identitäten der anderen Endpunktvorrichtungen, mit denen die entsprechende Endpunktvorrichtung interagiert hat, aus dem entsprechenden Satz anonymisierter Interaktionen.
  2. Verfahren nach Anspruch 1, das ferner umfasst: Vorberechnen von ephemeren eindeutigen Kennungen für jede Endpunktvorrichtung; und Speichern der vorberechneten ephemeren eindeutigen Kennungen für jede Endpunktvorrichtung, wobei: jede anonymisierte Interaktion eine ephemere eindeutige Kennung einer entsprechenden der anderen Endpunktvorrichtungen umfasst, mit denen die entsprechende Vorrichtung interagiert hat; und das Klären von Identitäten der anderen Endpunktvorrichtungen, mit denen die entsprechende Vorrichtung interagiert hat, ein Suchen nach ephemeren eindeutigen Kennungen aus den anonymisierten Interaktionen in den gespeicherten vorberechneten ephemeren eindeutigen Kennungen umfasst.
  3. Verfahren nach Anspruch 2, wobei das Klären von Identitäten der anderen Endpunktvorrichtungen, mit denen die entsprechende Vorrichtung interagiert hat, als Reaktion auf eine bestimmte anonymisierte Interaktion, die mit einer bestimmten gespeicherten vorberechneten ephemeren eindeutigen Kennung übereinstimmt, die einer bestimmten Endpunktvorrichtung zugeordnet ist, darüber hinaus ein Bestimmen umfasst, dass die entsprechende Endpunktvorrichtung mit der bestimmten Endpunktvorrichtung interagiert hat.
  4. Verfahren nach Anspruch 2, wobei: jede Endpunktvorrichtung einen entsprechenden geheimen Schlüssel hat, der einem Netzbetreiber bekannt ist; und jede ephemere eindeutige Kennung zumindest teilweise auf der Grundlage eines entsprechenden geheimen Schlüssels und eines Zählers vorberechnet wird.
  5. Verfahren nach Anspruch 4, wobei das Vorberechnen ephemerer eindeutiger Kennungen für jede Endpunktvorrichtung Folgendes umfasst: Erzeugen einer Vielzahl von deterministischen Seeds aus dem entsprechenden geheimen Schlüssel und einer Vielzahl von Zählerwerten; und Erzeugen einer Vielzahl von ephemeren öffentlichen Schlüsselpaaren aus der Vielzahl von deterministischen Seeds, wobei jede vorberechnete ephemere eindeutige Kennung ein anderes aus der Vielzahl von ephemeren öffentlichen Schlüsselpaaren aufweist.
  6. Verfahren nach Anspruch 5, wobei das Erzeugen der mehreren deterministischen Seeds das Erzeugen einer Vielzahl von Hash-Werten umfasst, wobei jeder Hash-Wert ein Hash des entsprechenden geheimen Schlüssels und eines anderen Zählerwertes der Vielzahl von Zählerwerten ist.
  7. Verfahren nach Anspruch 5, wobei das Erzeugen der Vielzahl von ephemeren öffentlichen Schlüsselpaaren das Erzeugen einer Vielzahl von öffentlichen Curve25519-Schlüsseln umfasst, wobei jeder öffentliche Curve25519-Schlüssel unter Verwendung eines anderen deterministischen Seeds aus der Vielzahl der deterministischen Seeds als Eingabe erzeugt wird.
  8. Verfahren nach Anspruch 1, das ferner das Bestimmen umfasst, ob ein erster Benutzer der entsprechenden Endpunktvorrichtung einem zweiten Benutzer einer anderen Endpunktvorrichtung ausgesetzt war, basierend darauf, ob sich eine Identität der anderen Endpunktvorrichtung unter den geklärten Identitäten der anderen Endpunktvorrichtungen befindet, mit denen die entsprechende Endpunktvorrichtung interagiert hat.
  9. Verfahren nach Anspruch 1, wobei die Vielzahl von Endpunktvorrichtungen von Benutzern an einem Arbeitsplatz getragen werden, wobei das Verfahren, basierend auf einer Vielzahl von Interaktionen mit Endpunktvorrichtungen, die bekannte Standorte innerhalb des Arbeitsplatzes haben, das Bestimmen von mindestens einem der folgenden Elemente umfasst: ein oder mehrere Bewegungsmuster der Benutzer am Arbeitsplatz; Analysen bezüglich der Häufigkeit von Besuchen durch Benutzer an jedem von einem oder mehreren Standorten innerhalb des Arbeitsplatzes; oder Analysen bezüglich der Anzahl von Interaktionen zwischen den Benutzern an jedem von einem oder mehreren Standorten innerhalb des Arbeitsplatzes.
  10. Nichtflüchtiges computerlesbares Speichermedium mit darauf gespeicherten computerlesbaren Anweisungen, die von einem Prozessor ausgeführt werden können, um die Durchführung des Verfahrens nach Anspruch 1 durchzuführen oder zu steuern.
  11. Verfahren, umfassend: Erzeugen einer Vielzahl von ephemeren eindeutigen Kennungen für eine erste Endpunktvorrichtung im Laufe der Zeit, wobei jede der Vielzahl von ephemeren eindeutigen Kennungen spezifisch für die erste Endpunktvorrichtung ist und so konfiguriert ist, dass sie die erste Endpunktvorrichtung identifiziert; Scannen nach anderen Endpunktvorrichtungen; und als Reaktion auf die Erfassung einer zweiten Endpunktvorrichtung während des Scannens: Bereitstellen einer aktuellen ephemeren eindeutigen Kennung der ersten Endpunktvorrichtung an die zweite Endpunktvorrichtung; und Empfangen einer aktuellen ephemeren eindeutigen Kennung der zweiten Endpunktvorrichtung an der ersten Endpunktvorrichtung.
  12. Verfahren nach Anspruch 11, ferner umfassend das Hinzufügen einer anonymisierten Interaktion mit der zweiten Endpunktvorrichtung zu einem Satz von anonymisierten Interaktionen der ersten Endpunktvorrichtung mit anderen Endpunktvorrichtungen, wobei jede anonymisierte Interaktion in dem Satz anonymisierter Interaktionen auf einer entsprechenden ephemeren eindeutigen Kennung der entsprechenden Endpunktvorrichtung basiert, die während einer entsprechenden Interaktion zwischen der ersten Endpunktvorrichtung und der entsprechenden Endpunktvorrichtung empfangen wurde.
  13. Verfahren nach Anspruch 12, das ferner die gemeinsame Nutzung des Satzes anonymisierter Interaktionen der ersten Endpunktvorrichtung mit einem Backend-Server umfasst, um Identitäten der anderen Endpunktvorrichtungen zu klären, mit denen die erste Endpunktvorrichtung interagiert hat.
  14. Verfahren nach Anspruch 11, wobei: die erste Endpunktvorrichtung einen geheimen Schlüssel hat, der einem Netzbetreiber bekannt ist; und jede der Vielzahl der ephemeren eindeutigen Kennungen für die erste Endpunktvorrichtung auf dem geheimen Schlüssel und einem Zähler basiert.
  15. Verfahren nach Anspruch 14, wobei das Erzeugen der Vielzahl der ephemeren eindeutigen Kennungen im Laufe der Zeit für jede der Vielzahl der ephemeren eindeutigen Kennungen umfasst: Erzeugen eines deterministischen Seeds aus dem geheimen Schlüssel und einem Zählerwert, der von einer Zeit abhängt, zu der der deterministische Seed erzeugt wird; und Erzeugen eines ephemeren öffentlichen Schlüsselpaares aus dem deterministischen Seed zur Verwendung als eine entsprechende aus der Vielzahl der ephemeren eindeutigen Kennungen.
  16. Verfahren nach Anspruch 15, wobei das Erzeugen des deterministischen Seeds das Erzeugen eines Hash-Wertes als Hash des geheimen Schlüssels und des Zählerwertes umfasst.
  17. Verfahren nach Anspruch 15, wobei der Zählerwert einen Wert einer Differenz zwischen einer aktuellen Zeit und einer Referenzzeit geteilt durch einen Zeitschritt umfasst.
  18. Verfahren nach Anspruch 15, wobei das Erzeugen des ephemeren öffentlichen Schlüsselpaares das Erzeugen eines öffentlichen Curve25519-Schlüssels unter Verwendung des deterministischen Seeds als Eingabe umfasst.
  19. Verfahren nach Anspruch 11, das ferner umfasst: Bestimmen einer Entfernung zwischen der ersten Endpunktvorrichtung und der zweiten Endpunktvorrichtung; und als Reaktion darauf, dass die Entfernung kleiner als ein Schwellenwert ist, Ausgeben einer Warnung an einen Benutzer der ersten Endpunktvorrichtung.
  20. Nichtflüchtiges computerlesbares Speichermedium mit darauf gespeicherten computerlesbaren Anweisungen, die von einem Prozessor ausgeführt werden können, um die Durchführung des Verfahrens nach Anspruch 11 durchzuführen oder zu steuern.
DE112021002632.1T 2020-05-06 2021-04-29 Kontaktverfolgung zwischen arbeitern und angestellten Pending DE112021002632T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063021040P 2020-05-06 2020-05-06
US63/021,040 2020-05-06
PCT/US2021/029991 WO2021225867A1 (en) 2020-05-06 2021-04-29 Contact tracing among workers and employees

Publications (1)

Publication Number Publication Date
DE112021002632T5 true DE112021002632T5 (de) 2023-04-13

Family

ID=78413018

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112021002632.1T Pending DE112021002632T5 (de) 2020-05-06 2021-04-29 Kontaktverfolgung zwischen arbeitern und angestellten

Country Status (4)

Country Link
US (2) US11842818B2 (de)
CN (1) CN115836361A (de)
DE (1) DE112021002632T5 (de)
WO (1) WO2021225867A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021211314A1 (en) * 2020-04-15 2021-10-21 Google Llc Three-party cryptographic handshake protocol
US11622257B1 (en) * 2020-05-20 2023-04-04 Proxy, Inc. Methods and apparatus for presence monitoring
US20240048382A1 (en) * 2022-08-03 2024-02-08 1080 Network, Llc Systems, methods, and computing platforms for executing credential-less network-based communication exchanges

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011054044A1 (en) * 2009-11-06 2011-05-12 Emue Holdings Pty Ltd A method and a system for validating identifiers
US9883388B2 (en) * 2012-12-12 2018-01-30 Intel Corporation Ephemeral identity for device and service discovery
US10251610B2 (en) * 2016-01-26 2019-04-09 International Business Machines Corporation Contact tracing analytics
US20180052970A1 (en) * 2016-08-16 2018-02-22 International Business Machines Corporation Tracking pathogen exposure
KR102289305B1 (ko) 2017-06-07 2021-08-12 누들 테크놀로지 인코포레이티드 지연 허용 분산형 네트워크를 위한 방법, 시스템 및 비일시적 기계 판독가능 저장 매체
US11102650B2 (en) 2018-05-15 2021-08-24 Noodle Technology Inc. Secure beacon identity
US20200028841A1 (en) * 2018-06-15 2020-01-23 Proxy, Inc. Method and apparatus for providing multiple user credentials
US11683163B2 (en) * 2018-06-20 2023-06-20 Iot And M2M Technologies, Llc ECDHE key exchange for server authentication and a key server
CN114556861A (zh) * 2019-08-23 2022-05-27 诺得技术公司 设备身份的匿名化和随机化
CN111446006A (zh) * 2020-04-08 2020-07-24 陈恬慧 一种传染病疫情中密切接触者的追踪方法
SE545232C2 (en) * 2020-05-04 2023-05-30 Crunchfish Digital Cash Ab Beacon-based privacy-enabling communication system for tracing of mobile device users
EP3907928A1 (de) * 2020-05-06 2021-11-10 INRIA - Institut National de Recherche en Informatique et en Automatique Verbessertes computerimplementiertes verfahren zur anonymen annäherungsverfolgung

Also Published As

Publication number Publication date
WO2021225867A1 (en) 2021-11-11
CN115836361A (zh) 2023-03-21
US20210350938A1 (en) 2021-11-11
US20240112820A1 (en) 2024-04-04
US11842818B2 (en) 2023-12-12

Similar Documents

Publication Publication Date Title
DE112021002632T5 (de) Kontaktverfolgung zwischen arbeitern und angestellten
DE112019001144T5 (de) VERFAHREN UND VORRICHTUNGEN ZUR BESTIMMUNG VON GEWICHTUNGEN FÜR DEN EINSATZ MIT CNNs (CONVOLUATIONAL NEURAL NETWORKS)
DE202012013473U1 (de) Vorhersage von Ebene und Position in Innenbereichen
DE202016008208U1 (de) Peer-Gestützte Offline-Übermittlung von Benachrichtigungen
DE102016207736A1 (de) Verfahren zur gemeinsamen Nutzung eines Schlüssels zwischen Geräten unter Verwendung einer physikalischen Zugriffsbeschränkung
DE102015106778A1 (de) Ein Verfahren und Technisches Gerät für die Nahbereichsdatenübertragung
DE102015017304B3 (de) Synchronisierte Niedrigenergie-Erkennungstechnik
DE102017115315A1 (de) Elektronisches Gerät mit Gestenbetätigung von Begleitgeräten und entsprechende Systeme und Verfahren
DE112011105609T5 (de) Gruppen-Medienzugriffssteuerungsnachricht für Maschine-zu-Maschine-Geräte und Verfahren zur Aktualisierung einer Gruppenkennung
DE112017004979T5 (de) Gemeinsame nutzung von umgebungsdaten zur client-vorrichtungsverwendung
Garcia et al. EPMOSt: An energy-efficient passive monitoring system for wireless sensor networks
CN109996220A (zh) 基于蓝牙寻找移动终端的方法、装置及存储介质
DE112018008032T5 (de) Interaktive umgebungen unter verwendung von visueller berechnung und immersiver realität
DE102022122084A1 (de) Umgebungs-Mapping basierend auf UWB-Tags
DE102022122462A1 (de) Objektverfolgung basierend auf UWB-Tags
DE102014014687B4 (de) Verfahren und Vorrichtung zur Bereitstellung von Diensten an einen geographischen Bereich
Rehena Internet of things
CN108810057A (zh) 用户行为数据的采集方法、装置及存储介质
DE112018007750T5 (de) Wiederherstellung mobiler Computergeräte bei geringem Stromverbrauch nach Betriebsausfall
Del Campo et al. Analysis and tools for improved management of connectionless and connection-oriented BLE devices coexistence
DE102020129219A1 (de) Optimale Geräteposition für drahtlose Kommunikation
CN105956127A (zh) 一种类目数据处理方法和装置
DE102019128187A1 (de) Verteilte Sperre für Datenerfassungssysteme
DE102021124287A1 (de) Verteilter und synchronisierter bluetooth-scan über mehrere vorrichtungen hinweg für schnellere bluetooth-erkennung
Liu et al. Low-Power Failure Detection for Environmental Monitoring Based on IoT

Legal Events

Date Code Title Description
R012 Request for examination validly filed