| CPC H04L 9/3213 (2013.01) [G16H 50/80 (2018.01); H04W 4/021 (2013.01); H04W 4/029 (2018.02); H04W 4/80 (2018.02); H04W 12/64 (2021.01)] | 16 Claims |

|
1. An automated contact tracing system for anonymously identifying contacts between users, the system comprising:
a tracing server comprising at least one memory and one or more processors;
more than one mobile device or wearable device of a user each comprising at least
one memory, means for short-range proximity communication, and one or more processors for carrying out a computer program for generating Encounter-Tokens, when the mobile device or wearable device of one user spends a pre-defined amount of time in a pre-defined proximity range of the mobile device or wearable device of another user; and
a health authority server distinct from and connectable to the tracing server and connectable to the more than one mobile device or wearable device of a user, wherein the health authority server comprises at least one memory and one or more processors, issues authentication codes to users infected with diseases, and sends a list of valid authentication codes issued to infected users to the tracing server;
wherein, upon receiving an authentication code of a user from a mobile device or wearable device of the user, at least one processor of the one or more processors of the tracing server is configured to:
verify the infection status of the user by checking that the authentication code of the user is among the list of valid authentication codes received from the health authority server; and
upon verifying that the authentication code of the user is among the list of valid authentication codes received from the health authority server, generate and send one or more nonces to the mobile device or wearable device of the user; and
wherein the computer program of the mobile device or wearable device of the user comprises instructions which, when the computer program is executed by at least one processor of the one or more processors for carrying out the computer program, cause the at least one processor of the one or more processors for carrying out the computer program to:
upon receipt of the one or more nonces from the tracing server by the mobile device or wearable device of the user, derive one or more authenticator values, each of which comprises a cryptographic message authentication code (MAC), from one or more Encounter Tokens generated by the computer program using the authentication code or a nonce of the one or more nonces as a key to the cryptographic MAC;
upload one or more Encounter-Tokens generated by the computer program to the tracing server with the one or more authenticator values;
download at least one verified Encounter-Token from the tracing server; compare each downloaded verified Encounter-Token to each Encounter-Token
generated by the computer program and stored in the at least one memory of the mobile device or wearable device of the user; and
upon finding a match between a downloaded verified Encounter-Token and a generated Encounter-Token, notify the respective user that the respective user had an encounter with another user who tested positive with an infectious disease.
|