Contact tracing methods and related devices
By generating periodic keys and deriving working keys on electronic devices, and utilizing low-power Bluetooth broadcast messages and contact chains, the problem of incomplete or inaccurate user information is solved, enabling efficient contact tracing and infection source identification.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-04-30
- Publication Date
- 2026-03-31
AI Technical Summary
In existing technologies, applications often upload incomplete or inaccurate user information when tracking people in contact, resulting in inefficient tracking and the inability to generate contact chains for tracing the source of infection.
By generating periodic keys on electronic devices and deriving working keys based on these periodic keys, communication is achieved using Bluetooth Low Energy broadcast messages. The server derives the target user's working key set based on the periodic keys, generating a contact chain for traceability and ensuring user privacy and security.
It enables the complete uploading and accurate tracking of user information, generates contact chains to assist staff in tracing the source of infection, solves the problem of incomplete or inaccurate user information, and improves tracking efficiency.
Smart Images

Figure CN115278617B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to a contact tracking method and related equipment. Background Technology
[0002] Currently, many applications involve the efficient tracking of contacts. For example, in the prevention and control of infectious diseases, it is necessary to promptly track people who have had contact with patients with infectious diseases. In the process of contact tracing, servers typically need to use certain applications to obtain user information. However, these applications often suffer from incomplete or inaccurate user information uploads, hindering efficient tracking. Summary of the Invention
[0003] This application provides a contact tracking method that can efficiently track contacts of a target user, solving the problem of incomplete or inaccurate user information uploads.
[0004] In a first aspect, embodiments of this application provide a contact tracing method applied to a communication system including a first electronic device, a second electronic device, and a first server. The method includes: the first electronic device establishing a short-range wireless communication connection with the second electronic device; the first electronic device generating a first periodic key and sending the first periodic key to the first server; the first electronic device sending a first working key to the second electronic device via the short-range wireless communication connection, the first working key being derived by the first electronic device based on the first periodic key; the second electronic device receiving and storing the first working key; the first server confirming that the user of the first electronic device is a target user; the first server deriving a first working key set based on the first periodic key and sending the first working key set to the second electronic device; if the second electronic device obtains the first working key set and determines that the first working key set contains the first working key, then the second electronic device determines that the user of the second electronic device is a suspected target user.
[0005] This application embodiment, through the method provided in the first aspect, allows electronic devices to upload and store a user's periodic key to a server, and periodically derive working keys based on the periodic key. When Bluetooth Low Energy is enabled on the electronic device, it can generate Bluetooth Low Energy broadcast messages based on the working keys. Different electronic devices can send and receive Bluetooth Low Energy broadcast messages. When a target user is identified, the server can find the target user's periodic key, derive all working keys based on the periodic key, obtain the target user's working key set, and send it to all users' electronic devices. The electronic devices can perform contact tracing and prediction of suspected target users based on the target user's working key set and previously received Bluetooth Low Energy broadcast messages, solving the problem of incomplete or inaccurate user information uploads. Furthermore, after receiving contact information uploaded by a suspected target user, the server can generate a contact chain based on the aforementioned contact information, assisting relevant personnel in tracing the source of infection for the target user.
[0006] In one possible implementation, the first periodic key is periodically generated by the first electronic device and sent to the first server. This protects user privacy and security.
[0007] In one possible implementation, before the first electronic device sends the first working key to the second electronic device via a short-range wireless communication connection, the method further includes: the first electronic device sending first user information to a first server, the first user information being associated with a first periodic key; and the second electronic device sending second user information to the first server. In this way, the server can store the user information and associate it with the periodic key.
[0008] In one possible implementation, after the first electronic device and the second electronic device establish a short-range wireless communication connection, the method further includes: the second electronic device sending a second working key to the first electronic device. The second working key is derived by the second electronic device using a first derivation algorithm based on a second periodic key. The second periodic key is associated with second user information and is periodically generated by the second electronic device and sent to a first server. The first electronic device receives and stores the second working key. This enables the sending and receiving of working keys between electronic devices.
[0009] In one possible implementation, the first working key is derived from the first periodic key by the first electronic device using the first derivation algorithm, and the first working key set is derived from the first periodic key by the first server using the first derivation algorithm. This ensures that the electronic device and the server use the same derivation algorithm.
[0010] In one possible implementation, after the second electronic device determines that its user is a suspected target user, the method further includes: the second electronic device sending first contact information and second user information to a first server, the first contact information including a first working key; the first server generating a first contact chain based on the first contact information and the second user information, the first contact chain indicating that the user of the first electronic device has been in contact with the user of the second electronic device. In this way, the contact chain can assist staff in tracing the source of infection for target users.
[0011] In one possible implementation, before the second electronic device sends the first contact information and the second user information to the first server, the method further includes: the second electronic device outputting a first prompt message, the first prompt message being used to indicate to the second electronic device that the user is a suspected target user; and the second electronic device detecting the user's first operation. In this way, the user can be prompted whether they are a suspected target user, and if so, the user can be prompted to upload contact information.
[0012] In one possible implementation, the communication system further includes a third electronic device. Before the first server generates the first contact chain based on the first contact information and the second user information, the method further includes: the third electronic device sending third user information to the first server, the third user information being associated with a third periodic key, the third periodic key being periodically generated by the third electronic device and sent to the first server; the third electronic device establishing a short-range wireless communication connection with the second electronic device; the third electronic device sending a third working key to the second electronic device via the short-range wireless communication connection, the third working key being derived by the third electronic device based on the third periodic key; the second electronic device receiving and storing the third working key; the second electronic device sending a second working key to the third electronic device via the short-range wireless communication connection; and the third electronic device receiving and storing the second working key. This enables the sending and receiving of working keys between electronic devices.
[0013] In one possible implementation, after the first server generates a first contact chain based on the first contact information and the second user information, the method further includes: the first server obtaining a second periodic key based on the second user information; the first server deriving a second working key set based on the second periodic key and sending the second working key set to a third electronic device; if the third electronic device obtains the second working key set and determines that the second working key set contains the second working key, then the third electronic device determines that its user is a contact user of the suspected target user. In this way, it is possible to determine whether a user is a contact user of the suspected target user.
[0014] In one possible implementation, after the third electronic device determines that its user is a contact of the suspected target user, the method further includes: the third electronic device sending second contact information and third user information to a first server, the second contact information including a second working key; the first server generating a second contact chain based on the second contact information and the third user information, the second contact chain indicating that the user of the third electronic device has been in contact with the user of the second electronic device. In this way, contact tracing can be performed on more users through contact chains.
[0015] In one possible implementation, before the third electronic device sends the second contact information and the third user information to the first server, the method further includes: the third electronic device outputting a second prompt message, the second prompt message being used to indicate to the third electronic device that the user is a contact user of the suspected target user; and the third electronic device detecting the user's second operation. In this way, the user can be prompted whether they are a contact user of the suspected target user, and if so, the user can be prompted to upload contact information.
[0016] Secondly, embodiments of this application provide a contact tracing method applied to a communication system including a first electronic device, a second electronic device, a first server, and a second server. The method comprises: establishing a short-range wireless communication connection between the first electronic device and the second electronic device; the first electronic device generating a first periodic key and sending the first periodic key to the second server; the first electronic device sending a first working key, derived from the first periodic key, to the second electronic device via the short-range wireless communication connection; the second electronic device receiving and storing the first working key; the first server sending first information to the second server; the second server determining, based on the first information, that the user of the first electronic device is a target user; the second server deriving a first working key set based on the first periodic key and sending the first working key set to the second electronic device; if the second electronic device obtains the first working key set and determines that the first working key set contains the first working key, then the second electronic device determines that the user of the second electronic device is a suspected target user. This allows for contact tracing prediction of suspected target users.
[0017] In one possible implementation, the first piece of information is a set of target user information. This allows for contact tracing prediction without requiring users to actively upload diagnostic information.
[0018] In one possible implementation, the first information is confirmation information, used to indicate that the user of the first electronic device is the target user. Before the first server sends the first information to the second server, the method further includes: the first electronic device sending diagnostic information to the second server; the second server sending diagnostic information to the first server; and the first server generating confirmation information based on the diagnostic information. In this way, contact tracing prediction can be achieved by the user actively uploading diagnostic information.
[0019] In one possible implementation, the first periodic key is periodically generated by the first electronic device and sent to the second server. This protects user privacy and security.
[0020] In one possible implementation, before the first electronic device sends the first working key to the second electronic device via a short-range wireless communication connection, the method further includes: the first electronic device sending first user information to a second server, the first user information being associated with a first periodic key; and the second electronic device sending second user information to the second server. In this way, the server can store the user information and associate it with the periodic key.
[0021] In one possible implementation, the second electronic device sends a second working key to the first electronic device. This second working key is derived by the second electronic device using a first derivation algorithm based on a second periodic key. The second periodic key is associated with second user information and is periodically generated by the second electronic device and sent to a second server. The first electronic device receives and stores the second working key. This enables the sending and receiving of working keys between electronic devices.
[0022] In one possible implementation, the first working key is derived from the first periodic key by the first electronic device using the first derivation algorithm, and the first working key set is derived from the first periodic key by the second server using the first derivation algorithm. This ensures that the electronic device and the server use the same derivation algorithm.
[0023] In one possible implementation, after the second electronic device determines that its user is a suspected target user, the method further includes: the second electronic device sending first contact information and second user information to a second server, the first contact information including a first working key; and the second server generating a first contact chain based on the first contact information and the second user information, the first contact chain indicating that the user of the first electronic device has been in contact with the user of the second electronic device. In this way, the contact chain can assist staff in tracing the source of infection for target users.
[0024] In one possible implementation, before the second electronic device sends the first contact information and the second user information to the second server, the method further includes: the second electronic device outputting a first prompt message, the first prompt message being used to indicate to the second electronic device that the user is a suspected target user; and the second electronic device detecting the user's first operation. In this way, the user can be prompted whether they are a suspected target user, and if so, the user can be prompted to upload contact information.
[0025] In one possible implementation, the communication system further includes a third electronic device. Before the second server generates the first contact chain based on the first contact information and the second user information, the method further includes: the third electronic device sending third user information to the second server, the third user information being associated with a third periodic key, which is periodically generated by the third electronic device and sent to the second server; the third electronic device establishing a short-range wireless communication connection with the second electronic device; the third electronic device sending a third working key to the second electronic device via the short-range wireless communication connection, the third working key being derived by the third electronic device based on the third periodic key; and the second electronic device receiving and storing the third working key. The second electronic device then sends a second working key to the third electronic device; the third electronic device receives and stores the second working key. This enables the sending and receiving of working keys between electronic devices.
[0026] In one possible implementation, after the second server generates the first contact chain based on the first contact information and the second user information, the method further includes: the second server obtaining a second periodic key based on the second user information; the second server deriving a second working key set using a first derivation algorithm based on the second periodic key, and sending the second working key set to the third electronic device; if the third electronic device obtains the second working key set and determines that the second working key set contains the second working key, then the third electronic device determines that its user is a contact user of the suspected target user. In this way, it is possible to determine whether a user is a contact user of the suspected target user.
[0027] In one possible implementation, after the third electronic device determines that its user is a contact of the suspected target user, the method further includes: the third electronic device sending second contact information and third user information to a second server, the second contact information including a second working key; the second server generating a second contact chain based on the second contact information and the third user information, the second contact chain indicating that the user of the third electronic device has been in contact with the user of the second electronic device. In this way, contact tracing can be performed on more users through contact chains.
[0028] In one possible implementation, before the third electronic device sends the second contact information and the third user information to the second server, the method further includes: the third electronic device outputting a second prompt message, the second prompt message being used to indicate to the third electronic device that the user is a contact user of the suspected target user; and the third electronic device detecting the user's second operation. In this way, the user can be prompted whether they are a contact user of the suspected target user, and if so, the user can be prompted to upload contact information.
[0029] Thirdly, embodiments of this application provide a contact tracing method applied to a second electronic device. The method includes: establishing a short-range wireless communication connection between the second electronic device and a first electronic device; receiving a first working key sent by the first electronic device through the short-range wireless communication connection, the first working key being derived by the first electronic device based on a first periodic key, which is generated by the first electronic device and sent to a first server; receiving and storing the first working key; receiving a first working key set, the first working key set being sent to the second electronic device by the first server after confirming that the user of the first electronic device is a target user, the first working key set being derived by the first server based on the first periodic key; and if the second electronic device determines that the first working key set contains the first working key, then the second electronic device determines that the user of the second electronic device is a suspected target user. In this way, contact tracing prediction can be performed on suspected target users.
[0030] In one possible implementation, the first periodic key is periodically generated by the first electronic device and sent to the first server. This protects user privacy and security.
[0031] In one possible implementation, a first periodic key is associated with first user information, which is sent by the first electronic device to the first server before the second electronic device receives the first working key sent by the first electronic device via a short-range wireless communication connection. In this way, the server can store the user information and associate it with the periodic key.
[0032] In one possible implementation, before the second electronic device receives the first working key sent by the first electronic device via a short-range wireless communication connection, the method further includes: the second electronic device sending second user information to the first server. In this way, the server can store the user information and associate it with the periodic key.
[0033] In one possible implementation, after the second electronic device establishes a short-range wireless communication connection with the first electronic device, the method further includes: the second electronic device sending a second working key to the first electronic device via the short-range wireless communication connection. The second working key is derived by the second electronic device using a first derivation algorithm based on a second periodic key. The second periodic key is associated with second user information and is periodically generated by the second electronic device and sent to the first server. This enables the sending and receiving of working keys between electronic devices.
[0034] In one possible implementation, the first working key is derived from the first periodic key by the first electronic device using the first derivation algorithm, and the first working key set is derived from the first periodic key by the first server using the first derivation algorithm. This ensures that the electronic device and the server use the same derivation algorithm.
[0035] In one possible implementation, after the second electronic device determines that its user is a suspected target user, the method further includes: the second electronic device sending first contact information and second user information to a first server. The first contact information includes a first working key. The first contact information and the second user information are used by the first server to generate a first contact chain, which indicates that the user of the first electronic device has been in contact with the user of the second electronic device. In this way, the contact chain can assist staff in tracing the source of infection for target users.
[0036] In one possible implementation, before the second electronic device sends the first contact information and the second user information to the first server, the method further includes: the second electronic device outputting a first prompt message, the first prompt message being used to indicate to the second electronic device that the user is a suspected target user; and the second electronic device detecting the user's first operation. In this way, the user can be prompted whether they are a suspected target user, and if so, the user can be prompted to upload contact information.
[0037] In one possible implementation, before the second electronic device sends the first contact information and the second user information to the first server, the method further includes: establishing a short-range wireless communication connection between the second electronic device and the third electronic device; the second electronic device receiving a third working key sent by the third electronic device through the short-range wireless communication connection, the third working key being derived by the third electronic device from a third periodic key using a first derivation algorithm, the third periodic key being periodically generated by the third electronic device and sent to the first server, the third periodic key being associated with third user information, the third user information being sent by the third electronic device to the first server before the second electronic device receives the third working key sent by the third electronic device through the short-range wireless communication connection; and the second electronic device sending a second working key to the third electronic device through the short-range wireless communication connection. This enables the sending and receiving of working keys between electronic devices.
[0038] Fourthly, embodiments of this application provide an electronic device, which includes one or more processors and one or more memories; wherein the one or more memories are coupled to the one or more processors, and the one or more memories are used to store computer program code, the computer program code including computer instructions, which, when the one or more processors execute the computer instructions, cause the electronic device to perform the method described in the third aspect.
[0039] Fifthly, embodiments of this application provide a computer storage medium storing a computer program, the computer program including program instructions, which, when executed on an electronic device, cause the electronic device to perform the method described in the third aspect. Attached Figure Description
[0040] Figure 1 This is a schematic diagram illustrating an application scenario of a contact tracking method provided in an embodiment of this application;
[0041] Figure 2 This is a schematic flowchart of a contact tracking method provided in an embodiment of this application;
[0042] Figures 3A-3G These are schematic diagrams of a set of user interfaces provided in the embodiments of this application;
[0043] Figure 4 This is a flowchart illustrating another contact tracking method provided in an embodiment of this application;
[0044] Figure 5 This is a flowchart illustrating another contact tracking method provided in an embodiment of this application;
[0045] Figures 6A-6B This is another set of user interface diagrams provided in the embodiments of this application;
[0046] Figure 7 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application;
[0047] Figure 8 This is a schematic diagram of the software structure of an electronic device provided in an embodiment of this application;
[0048] Figure 9 This is a schematic diagram of the structure of another electronic device provided in an embodiment of this application;
[0049] Figure 10 This is a schematic diagram of the structure of a server provided in an embodiment of this application;
[0050] Figure 11 This is a schematic diagram of another server structure provided in an embodiment of this application. Detailed Implementation
[0051] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. In the description of the embodiments of this application, unless otherwise stated, " / " means "or," for example, A / B can mean A or B; "and / or" in the text is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, and B existing alone. Furthermore, in the description of the embodiments of this application, "multiple" refers to two or more than two.
[0052] It should be understood that the terms "first," "second," etc., in the specification, claims, and drawings of this application are used to distinguish different objects, not to describe a specific order. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to these processes, methods, products, or apparatuses.
[0053] In this application, the reference to "embodiment" means that a specific feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of this application. The appearance of this phrase in various places throughout the specification does not necessarily refer to the same embodiment, nor is it a mutually exclusive, independent, or alternative embodiment. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described in this application can be combined with other embodiments.
[0054] Currently, in the process of controlling some infectious diseases, it is necessary to promptly trace people who have had contact with patients with infectious diseases. In the process of tracing contacts, servers typically need to use certain applications to obtain user information. However, these applications often suffer from incomplete or inaccurate information uploads, hindering efficient tracing.
[0055] The following describes an application scenario of a contact tracking method provided in an embodiment of this application.
[0056] Figure 1 An example illustration shows an application scenario of a contact tracking method provided in an embodiment of this application.
[0057] like Figure 1 As shown, this application scenario may include electronic device 100, electronic device 101, and server 200. This contact tracing method uses Bluetooth Low Energy to perform contact tracing of people with infectious diseases. The specific implementation process of this contact tracing method is described below:
[0058] After receiving a user's request to install and register a contact tracing application, the electronic device generates a Temporary Exposure Key (TEK). This TEK is randomly generated and updated every 24 hours. This TEK can be used to derive a Rolling Proximity Identifier Key (RPIK), which is used to generate... Figure 1 The Rolling Proximity Identifier (RPI) shown here updates approximately every 10 minutes, the same as the Bluetooth Low Energy address update cycle.
[0059] After an electronic device detects that a user has enabled Bluetooth Low Energy (BLE), it will periodically broadcast and receive signals via BLE. For example, within the propagation range of the BLE signal, different electronic devices (e.g., electronic device 100 and electronic device 101) can periodically exchange beacons via BLE. For instance, electronic device 101 can send a beacon to electronic device 100, and electronic device 100 will store the received beacon. Similarly, electronic device 100 can send a beacon to electronic device 101, and electronic device 101 will also store the received beacon. The information in the beacons may include a rolling proximity identifier, etc.
[0060] When a user of electronic device 101 is identified as a target user, electronic device 101, after receiving the target user's uploaded Diagnosis Keys (DK) information, can send the diagnostic key information to server 200 (e.g., a public health institution's server). This diagnostic key information may include temporary exposure keys for up to 14 days and the date each temporary exposure key was generated; that is, the temporary exposure key and date for each day starting 14 days prior to the date the user is identified as a target. After receiving the diagnostic key information, server 200 can send it to electronic device 100. Upon receiving the diagnostic key information, electronic device 100 can decrypt it and calculate the corresponding rolling proximity identifier. If the rolling proximity identifier stored on electronic device 100 matches the calculated rolling proximity identifier, electronic device 100 can display a prompt message informing the user that they are a suspected target user.
[0061] Among them, target users can be users with infectious diseases, and suspected target users can be users who have had contact with target users (such as those who have stayed in the same place at the same time), that is, users who have been in contact with target users.
[0062] from Figure 1 It can be seen that the above-mentioned contact tracing methods are prone to problems such as incomplete or inaccurate user information uploads. Furthermore, these methods are executed entirely in a distributed manner on electronic devices, failing to generate contact chains. This means that the server cannot use contact chains to assist relevant personnel in tracing the source of infection for target users.
[0063] In the embodiments of this application, electronic devices 100 and 101 may also be referred to as user equipment (UE), access terminal, user unit, user station, mobile station, mobile station, remote terminal, mobile device, user terminal, terminal, wireless communication device, user agent, or user device. The electronic devices in the embodiments of this application may be mobile phones, tablets, computers with wireless transceiver capabilities, virtual reality (VR) terminal devices, augmented reality (AR) terminal devices, handheld devices, vehicle-mounted devices, wearable devices, etc., and are not limited thereto.
[0064] Server 200 can be a traditional server or a cloud server, and is not limited thereto. In this embodiment, server 200 is mainly used for periodic key storage, distribution of working key sets to target users, and generation of contact chains. Server 200 can be a server of a public health institution, which is responsible for building and maintaining it to complete a centralized deployment of unified backend services.
[0065] It should be noted that, Figure 1 The following is a schematic diagram illustrating an application scenario of a contact tracking method, using electronic devices 100 and 101 as examples only. This schematic diagram could also include a greater number of electronic devices, which is not limited here.
[0066] This application provides a contact tracing method that employs partially centralized management while protecting user privacy. Electronic devices can automatically upload and store users' periodic keys to a server, and periodically derive working keys based on these periodic keys. When Bluetooth Low Energy (BLE) is enabled on the electronic devices, they can generate BLE broadcast messages based on the working keys. Different electronic devices can send and receive BLE broadcast messages. When a target user is identified, the server can find the target user's periodic key, derive all working keys from it, obtain the target user's working key set, and send it to all users' electronic devices. The electronic devices can then perform contact tracing prediction of suspected target users based on the target user's working key set and previously received BLE broadcast messages. This solves the problem of incomplete or inaccurate user information uploads. Furthermore, after receiving contact information uploaded by a suspected target user, the server can generate a contact chain based on this information, assisting relevant personnel in tracing the source of infection for the target user.
[0067] For ease of understanding, some related concepts involved in the embodiments of this application are explained below.
[0068] 1. Hierarchical structure of key management:
[0069] Secure key management typically requires a hierarchical protection approach. A hierarchical key management structure can divide keys into two layers: lower-level keys and upper-level keys. Lower-level keys provide encryption protection for upper-level keys. Adopting a hierarchical key management structure helps key management meet relevant regulatory requirements.
[0070] 2. Periodic Key:
[0071] Periodic keys reside at the lower layer of the key management hierarchy and are used to protect the confidentiality of upper-layer keys. Taking the working key as an example, the periodic key can provide cryptographic protection for the working key, and the periodic key can generate the working key using a key derivation algorithm.
[0072] 3. Working key:
[0073] Working keys reside at the upper layer of the key management hierarchy. They are used to provide confidentiality and integrity protection for locally stored sensitive data and data that needs to be transmitted over insecure channels. They can also provide cryptographic services such as authentication and signing. Working keys can be directly used by applications and include keys used for storage encryption, pre-shared keys, media access control (MAC) keys, and signing private keys.
[0074] 4. Trusted Execution Environment (TEE)
[0075] A Trusted Execution Environment (REE) is a secure environment in mobile electronic devices. A Rich Execution Environment (REE) is a generic execution environment in mobile electronic devices, running a common operating system (OS), such as Android or iOS. The REE runs in an independent environment, in parallel with the common operating system, and provides security services to the operating system. The REE has its own execution controls, offering a higher level of security than the common operating system. The hardware and software resources accessible to the REE are separate from those of the common operating system.
[0076] A Trusted Execution Environment (TA) provides a secure execution environment for authorized Trusted Applications (TAs), while also protecting the confidentiality, integrity, and access permissions of the TA's resources and data. A TA includes internal and external application programming interfaces (APIs). The internal APIs primarily include APIs for key management, cryptographic algorithms, secure storage, secure clock resources and services, and trusted user interfaces. The external APIs are the underlying communication interfaces that allow client applications (CAs) running on general-purpose operating systems to access the services and data of the trusted application.
[0077] Trusted Execution Environments (TEEs) can be used in various scenarios, including content protection (e.g., preventing the theft of high-definition movies and music), mobile financial services (e.g., mobile payments), authentication (e.g., fingerprint and facial recognition), and confidential information protection (e.g., secure storage of keys and certificates). For example, sensitive information such as user identity, keys, and certificates requires high protection. TEEs can rely on encryption and integrity protection technologies to protect data and keys. A TEE stores sensitive information such as user identity, keys, and certificates in a secure area. This sensitive information can only be accessed or modified by trusted applications authorized by the TEE, and the TEE provides encryption and integrity protection mechanisms for the processing of this sensitive information. Simultaneously, keys stored in the TEE can be used to encrypt sensitive information such as contact lists and SMS messages stored in a general execution environment, ensuring the security of sensitive information stored in the general execution environment.
[0078] In this application embodiment, the trusted execution environment is mainly used for the application scenario of protecting confidential information.
[0079] The following describes a contact tracking method provided by an embodiment of this application.
[0080] Figure 2 The specific flow of a contact tracking method provided in an embodiment of this application is illustrated by way of example.
[0081] Application scenario: Contact tracing of people with infectious diseases
[0082] like Figure 2 As shown, this contact tracing method can be applied to a communication system including electronic device 100 and server 200. Electronic device 100 can be an electronic device suspected of being a target user, and server 200 can be a server of a public service organization. The specific steps of this contact tracing method are described in detail below:
[0083] Phase 1: Registration Initialization
[0084] S201-S202, Electronic device 100 detects that a user has registered and logged in on the contact tracking application. In response to this operation, electronic device 100 sends the user registration information to server 200.
[0085] Specifically, the contact tracking application can be manually downloaded and installed on the electronic device 100 by the user. With the contact tracking application installed on the electronic device 100 and Bluetooth Low Energy enabled, the electronic device 100 detects the user's registration and login activity on the contact tracking application. In response to this activity, the electronic device 100 can send the user registration information to the server 200, which can then store the user registration information.
[0086] The aforementioned user registration information is obtained after the user completes the registration process on the aforementioned contact tracing application, and may include information such as the user's name, gender, and identification information.
[0087] The contact tracing apps mentioned above are typically provided by public health agencies.
[0088] For example, such as Figure 3A The image shows the user interface 310 of the electronic device 100 with Bluetooth Low Energy enabled. The electronic device 100 can detect user actions (e.g., clicks) on the "Contact Tracking" application 314C, and in response to these actions, the electronic device 100 can display... Figure 3B The user interface 320 is shown. The electronic device 100 can detect user registration and login operations (e.g., the user enters "name," "gender," "ID number," and "password" on the user interface 320 and clicks the "Register / Login" option). In response to this operation, the electronic device 100 can send the user-inputted information to the server 200 and display as shown... Figure 3C The user interface 330 shown can be an interface for a contact tracking application.
[0089] In some embodiments, if the electronic device 100 does not turn on Bluetooth Low Energy, the electronic device 100 may prompt the user to turn on Bluetooth Low Energy.
[0090] It should be noted that the above-mentioned contact tracking application is an application installed on the electronic device 100. In this embodiment of the application, the name of the application is merely exemplarily called contact tracking application. The application can also be set to other names, which are not limited here.
[0091] S203, Electronic device 100 generates a periodic key.
[0092] Specifically, after detecting that a user has completed information registration, the electronic device 100 can generate a periodic key in response to the operation. This periodic key is randomly generated by the contact tracking application.
[0093] To protect user privacy, electronic device 100 can update the periodic key. If the periodic key generated by each electronic device remains unchanged, since the working keys in subsequent steps are generated based on this periodic key, a leak of this periodic key would cause a significant privacy breach.
[0094] For example, the electronic device 100 may update the periodic key in the following two ways, including but not limited to:
[0095] Implementation method 1:
[0096] After the electronic device 100 generates the periodic key for the first time, it can periodically update the periodic key. Similarly, the periodic key is also randomly generated each time it is updated. The update period of the periodic key can be set by the user, for example, the update period can be 1 day, 3 days, 5 days, etc.
[0097] Implementation method 2:
[0098] After the electronic device 100 generates a periodic key for the first time, the electronic device 100 can detect the user's operation of opening the aforementioned contact tracking application. In response to this operation, the electronic device 100 can generate a new periodic key. That is to say, the electronic device 100 will generate a new periodic key every time the user opens the aforementioned contact tracking application.
[0099] S204-S205, the contact tracking application of electronic device 100 sends the cycle key to the trusted execution environment. After receiving the cycle key, the trusted execution environment encrypts and stores the cycle key.
[0100] Specifically, the contact tracking application of electronic device 100 sends the periodic key to the trusted execution environment after the first generation of the periodic key and after each update of the periodic key. After receiving the periodic key, the trusted execution environment can encrypt and store the periodic key.
[0101] The principle of encrypted storage is an existing technology, and relevant information on encryption technology can be found therein, so it will not be elaborated here.
[0102] S206-S207, Electronic device 100 sends the periodic key to server 200. After receiving the periodic key, server 200 encrypts and stores the periodic key.
[0103] Specifically, the contact tracking application of electronic device 100 sends the periodic key to server 200 after the first generation of the periodic key and after each update of the periodic key. Upon receiving the periodic key, server 200 can encrypt and store it. After detecting a user's registration operation on the contact tracking application, electronic device 100 can generate a periodic key (i.e., the periodic key generated by electronic device 100 for the first time) and send this periodic key along with the user registration information to server 200. Subsequently, when electronic device 100 sends each updated periodic key to server 200, it can also include a user identifier. This user identifier can be generated based on the aforementioned user registration information, or it can be the name, identification information, etc., from the user registration information, used to indicate to server 200 which registered user's electronic device sent the periodic key.
[0104] The principle of encrypted storage is an existing technology, and relevant information on encryption technology can be found therein, so it will not be elaborated here.
[0105] During the process of electronic device 100 sending the periodic key to server 200, to ensure that the periodic key is not leaked, server 200 can generate a pair of temporary public and private keys when the user registers or when the periodic key is updated. The temporary public key is then sent to electronic device 100, and the temporary private key is used by server 200 to encrypt and store the periodic key. Electronic device 100 can use the temporary public key to encrypt the periodic key before sending it to server 200, thus ensuring the security of the periodic key.
[0106] Phase Two: Bluetooth Low Energy Broadcast Message Transmission and Reception
[0107] S208, the contact tracking application of electronic device 100 derives the working key based on the periodic key.
[0108] Specifically, taking a periodic key that is updated every 3 days as an example, within these 3 days, the aforementioned periodic key can periodically derive working keys through a key derivation algorithm, that is, a new working key will be derived every certain period of time. For example, a periodic key can derive one working key every day, which means that when the periodic key is updated every 3 days, the periodic key can derive 3 working keys in one update cycle.
[0109] The derivation algorithm used to derive the working key from the periodic key can be any key derivation algorithm in the existing technology, and is not limited here.
[0110] It should be noted that the embodiments of this application are only illustrated with the example of a 3-day update cycle for the periodic key and a 1-day update cycle for the working key. The update cycles for the periodic key and the working key can also be set to other values, which are not limited here.
[0111] S209, the contact tracking application of electronic device 100 sends the working key derived from the periodic key to Bluetooth Low Energy.
[0112] Specifically, the contact tracking application of electronic device 100 can periodically derive working keys based on periodic keys. Each time a new working key is derived, the contact tracking application of electronic device 100 will send this new working key to Bluetooth Low Energy.
[0113] S210 and electronic device 100 generate Bluetooth Low Energy broadcast messages based on the working key and periodically broadcast the messages.
[0114] Specifically, after receiving the working key sent by the contact tracking application of the electronic device 100, the Bluetooth Low Energy (BLE) of the electronic device 100 can generate a BLE broadcast message based on the working key.
[0115] Subsequently, upon detecting that Bluetooth Low Energy of electronic device 100 is turned on and that the contact tracking application is running in the foreground, background, or background, Bluetooth Low Energy of electronic device 100 can periodically broadcast messages to other nearby electronic devices. The broadcast message transmission period can be preset.
[0116] When the Bluetooth Low Energy (BLE) of other electronic devices in the vicinity is turned on and within the propagation range of the BLE signal, the BLE of other electronic devices in the vicinity can receive the broadcast message sent by the BLE of electronic device 100 and record the time point of receiving the broadcast message and the Bluetooth signal strength.
[0117] S211, The contact tracking application of electronic device 100 sends a Bluetooth Low Energy broadcast message scan request to Bluetooth Low Energy.
[0118] The scan request is used to instruct the Bluetooth Low Energy of the electronic device 100 to perform the following step S212.
[0119] The above scan request can be sent once or periodically, and there is no limitation on this.
[0120] For example, if the above scan request is sent only once, the Bluetooth Low Energy (BLE) of electronic device 100 can continuously execute step S212 without stopping. Alternatively, if the above scan request is sent periodically at 5-minute intervals, the BLE of electronic device 100 can execute step S212 for a period of time (e.g., 3 minutes) and then stop, continuing to execute step S212 only after receiving the next scan request.
[0121] S212, Electronic device 100 periodically scans for and receives Bluetooth Low Energy broadcast messages sent by other electronic devices in the vicinity via Bluetooth Low Energy.
[0122] Specifically, after receiving a Bluetooth Low Energy broadcast message scanning request sent by the contact tracking application of the electronic device 100, the Bluetooth Low Energy device 100 can periodically scan for Bluetooth Low Energy broadcast messages sent by other surrounding electronic devices. The aforementioned Bluetooth Low Energy broadcast messages are generated based on the working keys of the surrounding electronic devices.
[0123] Subsequently, the Bluetooth Low Energy (BLE) of electronic device 100 can receive BLE broadcast messages sent by other nearby electronic devices and record the time of receipt and Bluetooth signal strength. The scanning period for the broadcast messages can be preset.
[0124] S213, the Bluetooth Low Energy (BLE) of electronic device 100 sends a Bluetooth Low Energy broadcast message of the aforementioned other surrounding electronic devices to the contact tracking application of electronic device 100.
[0125] Specifically, after receiving a Bluetooth Low Energy (BLE) broadcast message from other nearby electronic devices, the Bluetooth Low Energy (BLE) of electronic device 100 can send the aforementioned BLE broadcast message to the contact tracking application of electronic device 100. Simultaneously, the Bluetooth Low Energy (BLE) of electronic device 100 can also send the time of receipt of the broadcast message and the Bluetooth signal strength to the contact tracking application of electronic device 100.
[0126] S214, The contact tracking application of electronic device 100 receives and saves the low-power Bluetooth broadcast messages from the aforementioned surrounding other electronic devices.
[0127] Specifically, after receiving a Bluetooth Low Energy (BLE) broadcast message from other nearby electronic devices transmitted via Bluetooth Low Energy (BLE) of electronic device 100, the contact tracking application of electronic device 100 can save it. Simultaneously, the contact tracking application of electronic device 100 can also save the time point of receiving the broadcast message and the Bluetooth signal strength transmitted via Bluetooth Low Energy of electronic device 100.
[0128] Phase 3: Prediction, Assessment and Display of Exposure Outcomes
[0129] S215, Server 200 obtains target user information.
[0130] Specifically, server 200 can obtain target user information from public service institutions in real time. Server 200 can be a server of the public service institution, and the target user information can include the target user's name, gender, identification information, etc.
[0131] In one possible implementation, server 200 may also centrally retrieve all target user information from the public service institution at regular intervals. For example, server 200 may retrieve all target user information from the public service institution for the previous hour every hour. Or, for another example, server 200 may retrieve all target user information from the public service institution for the previous day every day.
[0132] S216-S217, Server 200 searches for the target user's periodic key, derives a working key based on the periodic key, obtains a working key set, and then sends the target user's working key set to Electronic Device 100.
[0133] Specifically, server 200 can find the target user's periodic key based on the aforementioned target user information, and derive all working keys from the periodic key. These working keys can form a working key set. The periodic key can be all periodic keys generated by the target user within the last N days, where N is a positive integer. The value of N can be set arbitrarily; for example, N can be set to 14 or 21. The key derivation algorithm used by server 200 to derive working keys from the periodic key is the same as the key derivation algorithm used by electronic devices to derive working keys from the periodic key. Afterward, server 200 can send the target user's working key set to all users' electronic devices, or it can send it to all electronic devices registered and logged into the contact tracing application (e.g., electronic device 100) except for the target user's electronic devices. The target user's working key set can include all working keys derived by server 200 from the target user's periodic key.
[0134] For example, the target user's electronic device can be electronic device 101. Electronic device 101 has a contact tracking application installed and Bluetooth Low Energy enabled. Before the target user is confirmed, electronic device 101 detects that the user has registered and logged in on the contact tracking application. In response to this operation, electronic device 101 can send the user registration information to server 200, which can store the user registration information. The user registration information may include the target user's name, gender, and identification information. Electronic device 101 can also send a generated periodic key to server 200. After the target user is confirmed, server 200 can find the target user's registration information on the contact tracking application based on the obtained target user information. Then, server 200 can find the target user's periodic key based on the user registration information. For example, server 200 can find all periodic keys generated by the target user in the 14 days prior to confirmation, i.e., periodic keys generated periodically for each period starting 14 days prior to the date of confirmation. Subsequently, server 200 can derive working keys based on the aforementioned periodic keys; that is, each periodic key can generate a corresponding working key through a key derivation algorithm. Then, server 200 can send the target user's set of working keys to electronic device 100. This set of working keys includes all working keys derived from the target user's periodic keys.
[0135] In some embodiments of this application, the set of working keys of the target user sent by the server 200 to the electronic device 100 may also refer to the set of working keys of multiple target users. That is to say, the server 200 may send the set of working keys of multiple target users to the electronic device 100 at the same time.
[0136] In some embodiments of this application, the aforementioned Bluetooth broadcast messages can also be generated by an electronic device using a key derived from a working key. For example, the electronic device can periodically derive a working key based on a periodic key using a key derivation algorithm. Assuming the working key update cycle is one day, within one day, the electronic device can periodically derive multiple keys based on the working key using the same key derivation algorithm, that is, a new key can be derived every certain period of time (e.g., every 10 minutes). The electronic device can generate Bluetooth broadcast messages based on the keys derived from the working key and broadcast them, while also receiving and saving Bluetooth broadcast messages broadcast by other surrounding electronic devices. Compared to generating Bluetooth broadcast messages based on a working key, generating Bluetooth broadcast messages based on keys derived from the working key can improve security and enhance the protection of user privacy. Similarly, after finding the target user's periodic key, the server 200 can first derive all working keys based on the target user's periodic key using the same key derivation algorithm as described above, and send all working keys to all users' electronic devices. Then, all users' electronic devices can use the same key derivation algorithm as described above to derive all working keys. After that, based on the derived keys and the previously saved keys for generating low-power Bluetooth broadcast messages, subsequent contact prediction and evaluation can be completed.
[0137] S218-S219, Electronic device 100 performs contact prediction assessment based on the target user's working key set. After the prediction assessment is completed, electronic device 100 displays the contact prediction assessment result.
[0138] Specifically, after receiving the working key set of the target user sent by the server 200, the electronic device 100 can perform contact prediction and evaluation based on the working key set of the target user to determine whether the user of the electronic device 100 has had contact with the target user, and to estimate information such as contact time and contact distance.
[0139] The specific implementation of the contact prediction assessment is as follows: Electronic device 100 parses and calculates all previously saved low-power Bluetooth broadcast messages from other surrounding electronic devices to determine whether the working key used to generate the aforementioned low-power Bluetooth broadcast message matches the working key set for the target user sent by server 200. If the match fails (i.e., the working key used to generate the aforementioned low-power Bluetooth broadcast message does not match any of the working keys in the working key set for the target user sent by server 200), it indicates that the user of electronic device 100 has not had contact with the target user, and the user of electronic device 100 is not a suspected target user; if the match succeeds (i.e., the working key used to generate the aforementioned low-power Bluetooth broadcast message matches at least one working key in the working key set for the target user sent by server 200), it indicates that electronic device 100... If the user of the electronic device 100 has had contact with the target user, and the user of the electronic device 100 is a suspected target user, then the electronic device 100 can further identify the contact time between the user of the electronic device 100 and the target user based on the recorded time of receiving the broadcast message, and calculate the contact distance between the user of the electronic device 100 and the target user based on the recorded Bluetooth signal strength. The contact distance can be a range of distances calculated by the electronic device 100 based on the Bluetooth signal strength and the contact time. The actual contact distance can be included in the above-mentioned distance range, and the contact distance does not have to be a specific value.
[0140] After the electronic device 100 completes the contact prediction assessment, it can display the assessment results. These results may include information such as whether the user of the electronic device 100 has had contact with the target user, the duration of the contact, and the distance between the contacts. If the user of the electronic device 100 has had contact with the target user, meaning the user is a suspected target user, the assessment results may also include a prompt asking the user to confirm uploading contact information. This prompt is used to remind the suspected target user to upload contact information.
[0141] For example, if the user of electronic device 100 is not the suspected target user, electronic device 100 may display as follows: Figure 3D The pop-up interface 340 shown displays the contact prediction assessment result, which is used to indicate that the user of the electronic device 100 is not a suspected target user. If the user of the electronic device 100 is a suspected target user, the electronic device 100 can display as follows: Figure 3E The pop-up interface 350 shown displays the contact prediction assessment result, which is used to indicate that the user of the electronic device 100 is a suspected target user and to prompt the suspected target user to upload contact information.
[0142] Optionally, if the user of electronic device 100 is not a suspected target user, electronic device 100 may not display pop-up interface 340, that is, electronic device 100 does not need to display any relevant information after contact prediction assessment.
[0143] It should be noted that all the steps in Stage 1, Stage 2, and Stage 3 described above are only used as an example of electronic device 100 being a suspected target user's electronic device, and are not limited to the aforementioned suspected target user's electronic device. All users' (such as target users, non-suspected target users, etc.) electronic devices can perform all the steps in Stage 1, Stage 2, and Stage 3 described above, and this application embodiment does not limit this.
[0144] Phase Four: Contact Information Upload and Contact Chain Generation
[0145] S220-S221, Electronic device 100 detects an operation by a suspected target user confirming the upload of contact information. In response to this operation, electronic device 100 sends the contact information to server 200.
[0146] Specifically, if the user of electronic device 100 is a suspected target user, and after electronic device 100 displays the contact prediction assessment result, electronic device 100 can detect the operation of the suspected target user confirming the upload of contact information (e.g., the user's actions regarding the target user). Figure 3E (As shown in the image, clicking the "Upload" option) responds to which the electronic device 100 can send the aforementioned contact information to the server 200. This contact information may include details such as the target user's working key, contact time, and contact distance.
[0147] S222, Server 200 generates a contact chain based on the above contact information.
[0148] Specifically, the server 200 has a key association storage model. After the server 200 receives contact information sent by the electronic device (e.g., electronic device 100) of a suspected target user, the server can determine the association between the working keys of each user based on the contact information and save the association. Then, the server 200 can deduce and generate a contact chain based on the saved association to assist staff in tracing the source of infection of the target user.
[0149] It is easy to understand that there may be one or more suspected target users, and the above contact information can be sent to the server 200 from the electronic devices of all suspected target users.
[0150] The following example illustrates the generation of the contact chain:
[0151] Assume User 1 has been in contact with Users 2 and 3, and User 2 has been in contact with User 4. Once User 1 is identified as the target user, Users 2 and 3 both become suspected target users. If User 2 is also identified as a target user after contact isolation observation, then User 4 also becomes a suspected target user (or, if User 2's electronic device sends contact information to Server 200, then User 4 becomes a contact user of a suspected target user), thus forming a contact chain of User 1-User 2-User 4. The specific implementation of generating this contact chain is as follows: After User 1 is identified as the target user, Server 200 can determine the association between User 1's working key and the working keys of User 2 and User 3 based on the working keys in the contact information uploaded by all suspected target users, and save this as association relationship 1. If User 2 is also identified as the target user after contact isolation observation, Server 200 can determine the association between User 2's working key and the working key of User 4 based on the working keys in the contact information uploaded by all suspected target users who have been in contact with User 2, and save this as association relationship 2. Server 200 can form a contact chain including user 1-user 2-user 4 based on the above association 1 and association 2. And so on, a contact chain can include n users, where n is a positive integer greater than 1.
[0152] After a contact chain is generated, server 200 can trace the source of infection for the target user based on the contact chain. For example, server 200 can find the earliest user who had contact with the target user based on the contact chain. Then, it can combine the analysis results of public service personnel based on the detection information of environmental samples and physiological data samples (such as respiratory samples, blood samples, etc.) of the earliest user who had contact with the target user to find the source of infection for the target user and complete the source tracing.
[0153] In one possible implementation, considering that some suspected target users may be unwilling to upload contact information, or that some suspected target users may fail to upload contact information in a timely manner, the contact information received by server 200 within a certain period after server 200 completes sending the working key set of target users (i.e., after executing step S217) can be considered as contact information sent to server 200 by all electronic devices carried by suspected target users, or it can be considered as valid contact information. After the aforementioned period of time, contact information received by server 200 can be considered as invalid contact information, and server 200 will not generate contact chains based on this invalid contact information. The aforementioned period of time can be 1 hour, 2 hours, etc., and is not limited here.
[0154] It should be noted that this application embodiment uses the aforementioned contact tracking application as an example to implement the contact tracking method, but it is not limited thereto. The contact tracking method can also be implemented through applets (i.e., other applications called by certain applications), background services, etc., within certain applications. This application embodiment limits this to such implementations. For example, the aforementioned contact tracking function can also be implemented in the "Settings" application, such as... Figure 3F As shown, the electronic device 100 can detect a user's click on the "contact tracking" option, and in response to this action, the electronic device 100 can display... Figure 3G The user interface 370 shown is then displayed. Afterwards, the electronic device 100 can detect the user's click operation to turn on the "contact tracking" switch control. In response to this operation, the electronic device 100 can enable the contact tracking function.
[0155] This application provides a contact tracing method that employs partially centralized management while protecting user privacy. Electronic devices can automatically upload and store users' periodic keys to a server, and periodically derive working keys based on these periodic keys. When Bluetooth Low Energy (BLE) is enabled on the electronic device, it can generate BLE broadcast messages based on the working keys. Different electronic devices can send and receive BLE broadcast messages. When a target user is identified, the server can find the target user's periodic key, derive all working keys from it, obtain the target user's working key set, and send it to all users' electronic devices. The electronic devices can then perform contact tracing prediction of suspected target users based on the target user's working key set and previously received BLE broadcast messages. This solves the problem of incomplete or inaccurate user information uploads. Furthermore, after receiving contact information uploaded by a suspected target user, the server can generate a contact chain based on this information, assisting relevant personnel in tracing the source of infection for the target user.
[0156] It should be noted that the embodiments of this application only take the application scenario of contact tracing of people with infectious diseases as an example to introduce the specific process of the contact tracing method in detail. It is not limited to the application scenario of contact tracing of people with infectious diseases. Other application scenarios (such as lost and found) are also applicable to the contact tracing method provided in the embodiments of this application, and are not limited here.
[0157] The following describes another contact tracking method provided by an embodiment of this application.
[0158] Figure 4 The specific process of another contact tracking method provided in the embodiments of this application is illustrated by way of example.
[0159] Application scenario: Contact tracing of people with infectious diseases
[0160] like Figure 4As shown, this contact tracking method can be applied to a communication system including electronic device 100, electronic device 101, electronic device 102, and server 200. Server 200 can be a server belonging to a public service organization. Contact tracking applications are installed on electronic devices 100, 101, and 102, and Bluetooth Low Energy is enabled. The specific steps of this contact tracking method are described in detail below:
[0161] Phase 1: Registration Initialization
[0162] S401-S403, when electronic device 102 detects a user registration and login operation, in response to the operation, electronic device 102 sends user registration information 1 and periodic key 1 to server 200. After receiving user registration information 1 and periodic key 1, server 200 can encrypt and store periodic key 1, and at the same time save user registration information 1.
[0163] S404-S406, when electronic device 100 detects a user registration and login operation, in response to the operation, electronic device 100 sends user registration information 2 and periodic key 2 to server 200. After receiving user registration information 2 and periodic key 2, server 200 can encrypt and store periodic key 2, and at the same time save user registration information 2.
[0164] S407-S409, when electronic device 101 detects a user registration and login operation, in response to the operation, electronic device 101 sends user registration information 3 and periodic key 3 to server 200. After receiving user registration information 3 and periodic key 3, server 200 can encrypt and store periodic key 3, and at the same time save user registration information 3.
[0165] The user registration information 1, user registration information 2, and user registration information 3 mentioned above may include information such as the user's name, gender, and identification information. The periodic keys 1, 2, and 3 mentioned above can all be periodically updated and sent to server 200.
[0166] In this embodiment, the specific process of the electronic device 100 executing steps S404-406 can be referred to Figure 2 The specific processes of electronic device 101 executing steps S407-409, electronic device 102 executing steps S401-403, and electronic device 100 executing steps S404-406 in the first stage of the embodiment are similar and will not be described again here.
[0167] This application embodiment does not limit the time order in which electronic devices 100, 101, and 102 complete the registration initialization of the above-mentioned stage one.
[0168] Phase Two: Bluetooth Broadcast Message Sending and Receiving
[0169] S410, Electronic device 100 and electronic device 102 establish a Bluetooth communication connection 1.
[0170] S411, Electronic device 100 and electronic device 101 establish a Bluetooth communication connection 2.
[0171] S412, Electronic device 102 sends a Bluetooth broadcast message 1 generated by a working key periodically derived from periodic key 1 to electronic device 100 via Bluetooth communication connection 1.
[0172] S413, Electronic device 100 sends a Bluetooth broadcast message 2 generated by a working key periodically derived from periodic key 2 to electronic device 102 via Bluetooth communication connection 1.
[0173] S414. Electronic device 100 sends a Bluetooth broadcast message 2 generated by the working key periodically derived from the periodic key 2 to electronic device 101 via Bluetooth communication connection 2.
[0174] S415, Electronic device 101 sends a Bluetooth broadcast message 3 generated by a working key periodically derived from periodic key 3 to electronic device 100 via Bluetooth communication connection 2.
[0175] S416, Electronic device 102 receives and saves Bluetooth broadcast message 2.
[0176] S417, Electronic device 100 receives and saves Bluetooth broadcast message 1 and Bluetooth broadcast message 3.
[0177] S418, Electronic device 101 receives and saves Bluetooth broadcast message 2.
[0178] Among them, Bluetooth broadcast message 1, Bluetooth broadcast message 2, and Bluetooth broadcast message 3 can all be sent, received, and saved periodically.
[0179] In this embodiment, the specific processes for sending, receiving, and storing Bluetooth broadcast messages between electronic device 102 and electronic device 100, and between electronic device 101 and electronic device 100, can be referred to... Figure 2 The details of Phase Two in the embodiments will not be repeated here.
[0180] This application embodiment does not limit the time order of Bluetooth broadcast message transmission and reception between electronic device 102 and electronic device 100, or between electronic device 101 and electronic device 100.
[0181] Phase 3: Prediction, Assessment, and Display of Contact Outcomes
[0182] S419, Server 200 obtains target user information, which is used to indicate that the user of electronic device 101 is the target user.
[0183] S420 and Server 200 search for the target user's periodic key based on the target user information, and derive the working key from the periodic key to obtain the working key set.
[0184] S421, Server 200 simultaneously sends the working key set of the aforementioned target user to Electronic Device 100, Electronic Device 101, and Electronic Device 102.
[0185] S422-S423, Electronic device 102 performs contact prediction assessment based on the target user's working key set and displays the contact prediction assessment results for "non-suspected target users".
[0186] Among them, the contact prediction assessment results of the user of electronic device 102 can display information related to "non-suspected target user", which is used to indicate that the user of electronic device 102 is a non-suspected target user, that is, the user of electronic device 102 has not been in contact with the target user.
[0187] S424-S425, Electronic device 100 performs contact prediction assessment based on the target user's working key set and displays the "suspected target user" contact prediction assessment result. This contact prediction assessment result is used to notify the user that they have been in contact with the target user.
[0188] Among them, the contact prediction assessment results of the user of electronic device 100 can display information related to "suspected target user", which is used to indicate that the user of electronic device 100 is a suspected target user, that is, the user of electronic device 100 has been in contact with a target user.
[0189] Specifically, the contact prediction assessment performed by electronic device 100 based on the target user's working key set may include: electronic device 100 parsing and calculating the received and stored Bluetooth broadcast messages (including Bluetooth broadcast message 1 and Bluetooth broadcast message 3). If electronic device 100 determines that the target user's working key set contains one or more of the working keys used to generate the Bluetooth broadcast messages, then the user of electronic device 100 is a suspected target user. Since the user of electronic device 101 is a target user, and the working key set of the user of electronic device 101 contains the working key used to generate Bluetooth broadcast message 3, therefore, the user of electronic device 100 is a suspected target user.
[0190] In this application embodiment, the timing order of the electronic device 102 and electronic device 100 completing the contact result prediction, evaluation and display of the above-mentioned stage three is not limited.
[0191] Phase 4: Uploading contact information and generating contact chains.
[0192] S426-S427 After detecting the user's confirmation of uploading the first contact information, the electronic device 100 sends the first contact information to the server 200. The first contact information may include information such as the target user's working key, contact time, and contact distance.
[0193] S428, Server 200 generates a first contact chain based on the aforementioned first contact information.
[0194] Upon receiving the aforementioned first contact information, since server 200 stores the target user's working key set, server 200 can determine that the target user's working key in the first contact information is the working key of the user of electronic device 101. Simultaneously, since electronic device 100 carries a user identifier when sending the contact information to server 200, server 200 can determine that the first contact information was sent by electronic device 100 based on this user identifier. Therefore, server 200 can determine that there is an association between the user of electronic device 101 and the user of electronic device 100, that is, there is an association between the working keys of the user of electronic device 101 and the user of electronic device 100, and save this as association relationship 1. Server 200 can generate a first contact chain based on this association relationship 1, including the user of electronic device 101 and the user of electronic device 100. This first contact chain indicates that the user of electronic device 101 and the user of electronic device 100 have been in contact.
[0195] S429, Server 200 searches for the periodic key of the suspected target user based on the suspected target user information, and derives the working key from the periodic key to obtain the working key set.
[0196] S430, The server sends the set of working keys of the suspected target user to the electronic device 102.
[0197] S431-S432, electronic device 102 performs contact prediction assessment based on the working key set of the suspected target user and displays the contact prediction assessment result, which is used to indicate that the user of electronic device 102 has had contact with the suspected target user.
[0198] After S433-S434, electronic device 102 detects that the user has confirmed the upload of the second contact information, it sends the second contact information to server 200. The second contact information may include information such as the working key of the suspected target user, the contact time, and the contact distance.
[0199] S435, Server 200 generates a second contact chain based on the aforementioned second contact information.
[0200] Upon receiving the aforementioned second contact information, since server 200 stores a set of working keys for suspected target users, server 200 can determine that the working key of the suspected target user in the second contact information is the working key of the user of electronic device 100. Simultaneously, since electronic device 102 carries a user identifier when sending the second contact information to server 200, server 200 can determine that the second contact information was sent by electronic device 102 based on this user identifier. Therefore, server 200 can determine that there is an association between the user of electronic device 102 and the user of electronic device 100, that is, there is an association between the working key of the user of electronic device 102 and the working key of the user of electronic device 100, and save this as association relationship 2. Server 200 can generate a second contact chain based on the first contact chain and association relationship 2, including the user of electronic device 101 - the user of electronic device 100 - the user of electronic device 102. This second contact chain is used to indicate that the user of electronic device 102 and the user of electronic device 100 have been in contact.
[0201] The following describes another contact tracking method provided by an embodiment of this application.
[0202] Figure 5 The specific process of another contact tracking method provided in the embodiments of this application is illustrated by way of example.
[0203] Application scenario: Contact tracing of people with infectious diseases
[0204] like Figure 5 As shown, this contact tracing method can be applied to a communication system including electronic device 100, server 200, and server 300. Electronic device 100 can be an electronic device suspected of being a target user, server 200 can be a server of a public service organization, and server 300 can be a server of the contact tracing application. The specific steps of this contact tracing method are described in detail below:
[0205] Phase 1: Registration Initialization
[0206] S501-S502, Electronic device 100 detects that a user has registered and logged in on the contact tracking application. In response to this operation, electronic device 100 sends the user registration information to server 300.
[0207] S503, Electronic device 100 generates a periodic key.
[0208] S504-S505, the contact tracking application of electronic device 100 sends the cycle key to the trusted execution environment. After receiving the cycle key, the trusted execution environment encrypts and stores the cycle key.
[0209] S506-S507, Electronic device 100 sends the periodic key to server 300. After receiving the periodic key, server 300 encrypts and stores the periodic key.
[0210] The specific execution process of steps S501-S507 can be referred to the above. Figure 2 The relevant content in steps S201-S207 of the illustrated embodiment will not be repeated here.
[0211] Phase Two: Bluetooth Low Energy Broadcast Message Transmission and Reception
[0212] The S508 electronic device 100's contact tracking application periodically derives working keys based on periodic keys.
[0213] S509, the contact tracking application of electronic device 100 sends a working key, which is periodically derived from the periodic key, to Bluetooth Low Energy.
[0214] The S510 and electronic device 100 generate Bluetooth Low Energy broadcast messages based on the aforementioned working key and periodically send these broadcast messages.
[0215] S511, the contact tracking application of electronic device 100 sends a Bluetooth Low Energy broadcast message scan request to Bluetooth Low Energy.
[0216] S512, Electronic device 100 periodically scans for and receives Bluetooth Low Energy broadcast messages sent by other electronic devices in the vicinity via Bluetooth Low Energy.
[0217] S513, the Bluetooth Low Energy (BLE) of electronic device 100 sends BLE broadcast messages of the aforementioned other surrounding electronic devices to the contact tracking application of electronic device 100.
[0218] S514, the contact tracking application of electronic device 100 receives and saves low-power Bluetooth broadcast messages from other surrounding electronic devices.
[0219] The specific execution process of steps S508-S514 can be referred to the above. Figure 2 The relevant content in steps S208-S214 of the illustrated embodiment will not be repeated here.
[0220] Phase 3: Prediction, Assessment and Display of Exposure Outcomes
[0221] S515-S516, Server 300 receives the target user information uploaded by the target user, and then sends the target user information to Server 200.
[0222] Specifically, the target user's electronic device can be electronic device 101, which has a contact tracking application installed and Bluetooth Low Energy enabled. If the target user has already registered and logged into the contact tracking application before being identified as the target user, electronic device 101 can detect the target user's upload of diagnostic information (e.g., the target user's actions regarding diagnostic information uploads). Figure 6A (Clicking the "Diagnostic Information Upload" switch control in the user interface 610 shown) In response to this operation, the electronic device 101 can send diagnostic information to the server 300. Simultaneously, if... Figure 6B As shown, electronic device 101 can display that the "Diagnostic Information Upload" switch control is in the "on" state. After receiving the diagnostic information sent by electronic device 101, server 300 can send the diagnostic information to server 200. The diagnostic information may include information such as the target user's name, gender, and identification information.
[0223] S517-S518, Server 200 confirms the authenticity of the above diagnostic information, and after confirmation, sends the confirmation information to Server 300.
[0224] Specifically, after receiving the diagnostic information sent by server 300, server 200 can verify the authenticity of the diagnostic information sent by server 300 based on the target user information in the public service institution, so as to avoid social panic caused by some users falsely reporting target user information.
[0225] If server 200 confirms the authenticity of the above diagnostic information, server 200 can send the confirmation information to server 300 to prompt server 300 to perform subsequent steps based on the above diagnostic information.
[0226] If server 200 confirms that the above diagnostic information is not authentic, server 200 may also send the confirmation information to server 300 to indicate that server 300 does not need to perform subsequent steps.
[0227] In one possible implementation, server 200 can periodically send target user information to server 300 without server 300 actively sending diagnostic information to server 200. That is, server 300 can match the target user information periodically sent by server 200 with the diagnostic information uploaded by the target user. If the match is successful, step S519 and subsequent steps are executed.
[0228] In one possible implementation, server 300 does not require users to actively report diagnostic information to server 300. That is, server 300 does not need to execute steps S515-S518. Server 200 can periodically send target user information to server 300. The target user information sent by server 200 each time can be the user information of one target user (such as name, gender, identification information, etc.) or a collection of user information of multiple target users. After receiving the above target user information, server 300 can execute step S519 and subsequent steps.
[0229] S519-S520: Server 300 searches for the target user's periodic key, derives the working key based on the periodic key, obtains the working key set, and then sends the target user's working key set to electronic device 100.
[0230] S521-S522, Electronic device 100 performs contact prediction assessment based on the target user's working key set. After the prediction assessment is completed, electronic device 100 displays the contact prediction assessment results.
[0231] The specific execution process of steps S519-S522 can be referred to the above. Figure 2 The relevant content in steps S216-S219 of the illustrated embodiment will not be repeated here.
[0232] Phase Four: Contact Information Upload and Contact Chain Generation
[0233] S523-S524, Electronic device 100 detects an operation by a suspected target user confirming the upload of contact information. In response to this operation, electronic device 100 sends the aforementioned contact information to server 300.
[0234] S525 and Server 300 generate contact chains based on contact information.
[0235] The specific execution process of steps S523-S525 can be referred to the above. Figure 2 The relevant content in steps S220-S222 of the illustrated embodiment will not be repeated here.
[0236] In some embodiments, server 300 may also generate a contact chain from user of electronic device 101 to user of electronic device 102 to user of electronic device 103. For details, please refer to the section on... Figure 4 The relevant textual explanations will not be repeated here.
[0237] It should be noted that the embodiments of this application only take the application scenario of contact tracing of people with infectious diseases as an example to introduce the specific process of the contact tracing method in detail. It is not limited to the application scenario of contact tracing of people with infectious diseases. Other application scenarios (such as lost and found) are also applicable to the contact tracing method provided in the embodiments of this application, and are not limited here.
[0238] In this embodiment, the first electronic device can be electronic device 101, the second electronic device can be electronic device 100, and the third electronic device can be electronic device 102. The first server can be server 200, and the second server can be server 300. The short-range wireless communication connection can be a Bluetooth communication connection. The first periodic key can be the periodic key of electronic device 101. The first working key can be the working key derived by electronic device 101 based on the first periodic key. The first working key set can include all working keys derived by electronic device 101 based on the first periodic key. The first user information can be the user registration information of electronic device 101, the second user information can be the user registration information of electronic device 100, and the third user information can be the user registration information of electronic device 102. The first derivation algorithm can be a key derivation algorithm; the first contact information can be contact information sent by electronic device 100 to the server; the second periodic key can be the periodic key of electronic device 100; the second working key can be the working key derived by electronic device 100 based on the first periodic key; the second working key set can include all working keys derived by electronic device 100 based on the second periodic key; the first prompt information can be information output by electronic device 100 prompting the user whether they have had contact with the user of electronic device 101; the first operation can be the operation of the user of electronic device 100 confirming the upload of the first contact information; the first contact information can be contact information sent by electronic device 102 to the server; the second prompt information can be information output by electronic device 102 prompting the user whether they have had contact with the user of electronic device 100; and the second operation can be the operation of the user of electronic device 100 confirming the upload of the second contact information.
[0239] The structure of an electronic device 100 provided in the embodiments of this application is described below.
[0240] Figure 7 An exemplary embodiment of an electronic device 100 provided in this application is shown.
[0241] like Figure 7As shown, the electronic device 100 may include: a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, a headphone jack 170D, a sensor module 180, buttons 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195, etc. The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, a barometric pressure sensor 180C, a magnetic sensor 180D, an accelerometer sensor 180E, a distance sensor 180F, a proximity sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, etc.
[0242] It is understood that the structures illustrated in the embodiments of the present invention do not constitute a specific limitation on the electronic device 100. In other embodiments of this application, the electronic device 100 may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
[0243] Processor 110 may include one or more processing units, such as: application processor (AP), modem processor, graphics processing unit (GPU), image signal processor (ISP), controller, memory, video codec, digital signal processor (DSP), baseband processor, and / or neural network processing unit (NPU), etc. Different processing units may be independent devices or integrated into one or more processors.
[0244] The controller can be the nerve center and command center of the electronic device 100. The controller can generate operation control signals according to the instruction opcode and timing signals to complete the control of instruction fetching and execution.
[0245] The processor 110 may also include a memory for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. This memory can store instructions or data that the processor 110 has just used or that are used repeatedly. If the processor 110 needs to use the instruction or data again, it can retrieve it directly from the memory. This avoids repeated accesses, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.
[0246] In some embodiments, the processor 110 may include one or more interfaces. Interfaces may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface, etc.
[0247] The I2C interface is a bidirectional synchronous serial bus, including a serial data line (SDA) and a serial clock line (SCL). In some embodiments, the processor 110 may include multiple I2C buses. The processor 110 can couple to the touch sensor 180K, charger, flash, camera 193, etc., through different I2C bus interfaces. For example, the processor 110 can couple to the touch sensor 180K through the I2C interface, enabling the processor 110 and the touch sensor 180K to communicate through the I2C bus interface, thereby realizing the touch function of the electronic device 100.
[0248] The I2S interface can be used for audio communication. In some embodiments, the processor 110 may include multiple I2S buses. The processor 110 can be coupled to the audio module 170 via the I2S bus to enable communication between the processor 110 and the audio module 170. In some embodiments, the audio module 170 can transmit audio signals to the wireless communication module 160 via the I2S interface to enable the function of answering phone calls through a Bluetooth headset.
[0249] The PCM interface can also be used for audio communication, sampling, quantizing, and encoding analog signals. In some embodiments, the audio module 170 and the wireless communication module 160 can be coupled via the PCM bus interface. In some embodiments, the audio module 170 can also transmit audio signals to the wireless communication module 160 via the PCM interface, enabling the function of answering phone calls through a Bluetooth headset. Both the I2S interface and the PCM interface can be used for audio communication.
[0250] The UART interface is a universal serial data bus used for asynchronous communication. This bus can be a bidirectional communication bus. It converts the data to be transmitted between serial and parallel communication. In some embodiments, the UART interface is typically used to connect the processor 110 and the wireless communication module 160. For example, the processor 110 communicates with the Bluetooth module in the wireless communication module 160 via the UART interface to implement Bluetooth functionality. In some embodiments, the audio module 170 can transmit audio signals to the wireless communication module 160 via the UART interface to enable music playback through Bluetooth headphones.
[0251] The MIPI interface can be used to connect the processor 110 to peripheral devices such as the display screen 194 and the camera 193. The MIPI interface includes a camera serial interface (CSI) and a display serial interface (DSI). In some embodiments, the processor 110 and the camera 193 communicate via the CSI interface to enable the electronic device 100 to capture images. The processor 110 and the display screen 194 communicate via the DSI interface to enable the electronic device 100 to display images.
[0252] The GPIO interface is configurable via software. It can be configured as a control signal or a data signal. In some embodiments, the GPIO interface can be used to connect the processor 110 to a camera 193, a display screen 194, a wireless communication module 160, an audio module 170, a sensor module 180, etc. The GPIO interface can also be configured as an I2C interface, an I2S interface, a UART interface, a MIPI interface, etc.
[0253] USB port 130 is a USB standard compliant interface, specifically a Mini USB port, Micro USB port, USB Type-C port, etc. USB port 130 can be used to connect a charger to charge electronic device 100, and can also be used for data transfer between electronic device 100 and peripheral devices. It can also be used to connect headphones for audio playback. This interface can also be used to connect other terminal devices, such as AR devices.
[0254] It is understood that the interface connection relationships between the modules illustrated in the embodiments of the present invention are merely illustrative and do not constitute a structural limitation on the electronic device 100. In other embodiments of this application, the electronic device 100 may also employ different interface connection methods or combinations of multiple interface connection methods as described in the above embodiments.
[0255] The charging management module 140 receives charging input from a charger. The charger can be a wireless charger or a wired charger. In some wired charging embodiments, the charging management module 140 receives charging input from the wired charger via a USB interface 130. In some wireless charging embodiments, the charging management module 140 receives wireless charging input via the wireless charging coil of the electronic device 100. While charging the battery 142, the charging management module 140 can also supply power to the electronic device 100 via the power management module 141.
[0256] The power management module 141 connects the battery 142, the charging management module 140, and the processor 110. The power management module 141 receives input from the battery 142 and / or the charging management module 140, providing power to the processor 110, internal memory 121, external memory, display screen 194, camera 193, and wireless communication module 160, etc. The power management module 141 can also monitor parameters such as battery capacity, battery cycle count, and battery health status (leakage current, impedance). In some other embodiments, the power management module 141 may also be located within the processor 110. In other embodiments, the power management module 141 and the charging management module 140 may be located in the same device.
[0257] The wireless communication function of electronic device 100 can be realized through antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, modem processor and baseband processor, etc.
[0258] Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in electronic device 100 can be used to cover one or more communication frequency bands. Different antennas can also be multiplexed to improve antenna utilization. For example, antenna 1 can be multiplexed as a diversity antenna for a wireless local area network. In some other embodiments, the antennas can be used in conjunction with tuning switches.
[0259] The mobile communication module 150 can provide solutions for wireless communication, including 2G / 3G / 4G / 5G, applied to the electronic device 100. The mobile communication module 150 may include at least one filter, switch, power amplifier, low noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves via antenna 1, and perform filtering, amplification, and other processing on the received electromagnetic waves before transmitting them to a modem processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modem processor and convert it into electromagnetic waves for radiation via antenna 1. In some embodiments, at least some functional modules of the mobile communication module 150 may be housed in the processor 110. In some embodiments, at least some functional modules of the mobile communication module 150 and at least some modules of the processor 110 may be housed in the same device.
[0260] The modem processor may include a modulator and a demodulator. The modulator modulates the low-frequency baseband signal to be transmitted into a mid-to-high frequency signal. The demodulator demodulates the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After processing by the baseband processor, the low-frequency baseband signal is transmitted to the application processor. The application processor outputs sound signals through an audio device (not limited to speaker 170A, receiver 170B, etc.) or displays images or videos through the display screen 194. In some embodiments, the modem processor may be a separate device. In other embodiments, the modem processor may be independent of the processor 110 and may be housed in the same device as the mobile communication module 150 or other functional modules.
[0261] The wireless communication module 160 can provide solutions for wireless communication applications on the electronic device 100, including wireless local area networks (WLANs) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), and infrared (IR) technologies. The wireless communication module 160 can be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via antenna 2, performs frequency modulation and filtering of the electromagnetic wave signals, and sends the processed signal to processor 110. The wireless communication module 160 can also receive signals to be transmitted from processor 110, perform frequency modulation and amplification, and convert them into electromagnetic waves for radiation via antenna 2.
[0262] In some embodiments, antenna 1 of electronic device 100 is coupled to mobile communication module 150, and antenna 2 is coupled to wireless communication module 160, enabling electronic device 100 to communicate with networks and other devices via wireless communication technology. The wireless communication technology may include Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Time-Division Code Division Multiple Access (TD-SCDMA), Long Term Evolution (LTE), BT, GNSS, WLAN, NFC, FM, and / or IR technologies, etc. The GNSS may include the Global Positioning System (GPS), the Global Navigation Satellite System (GLONASS), the BeiDou Navigation Satellite System (BDS), the Quasi-Zenith Satellite System (QZSS), and / or satellite-based augmentation systems (SBAS).
[0263] Electronic device 100 implements display functions through a GPU, a display screen 194, and an application processor. The GPU is a microprocessor for image processing, connected to the display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations and for graphics rendering. Processor 110 may include one or more GPUs, which execute program instructions to generate or modify display information.
[0264] Display screen 194 is used to display images, videos, etc. Display screen 194 includes a display panel. The display panel may be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), a miniature LED, a microLED, a quantum dot light-emitting diode (QLED), etc. In some embodiments, electronic device 100 may include one or N displays 194, where N is a positive integer greater than 1.
[0265] Electronic device 100 can perform shooting functions through ISP, camera 193, video codec, GPU, display 194 and application processor.
[0266] The ISP (Image Signal Processor) is used to process data fed back from the camera 193. For example, when taking a picture, the shutter is opened, and light is transmitted through the lens to the camera's photosensitive element. The light signal is converted into an electrical signal, and the camera's photosensitive element transmits the electrical signal to the ISP for processing, transforming it into an image visible to the naked eye. The ISP can also perform algorithmic optimization of image noise, brightness, and skin tone. The ISP can also optimize parameters such as exposure and color temperature of the shooting scene. In some embodiments, the ISP can be set in the camera 193.
[0267] Camera 193 is used to capture still images or videos. An object is projected onto a photosensitive element by generating an optical image through the lens. The photosensitive element can be a charge-coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The photosensitive element converts the light signal into an electrical signal, which is then passed to an ISP for conversion into a digital image signal. The ISP outputs the digital image signal to a DSP for processing. The DSP converts the digital image signal into image signals in standard RGB, YUV, or other formats. In some embodiments, the electronic device 100 may include one or N cameras 193, where N is a positive integer greater than 1.
[0268] Digital signal processors (DSPs) are used to process digital signals. Besides digital image signals, they can also process other digital signals. For example, when electronic device 100 selects a frequency, the DSP can perform Fourier transforms on the frequency energy.
[0269] Video codecs are used to compress or decompress digital video. Electronic device 100 may support one or more video codecs. Thus, electronic device 100 can play or record videos in various encoding formats, such as Moving Picture Experts Group (MPEG) 1, MPEG2, MPEG3, MPEG4, etc.
[0270] An NPU (Neural Processing Unit) is a computational processor for neural networks (NNs). By borrowing the structure of biological neural networks, such as the transmission patterns between neurons in the human brain, it can rapidly process input information and continuously learn on its own. NPUs enable intelligent cognitive applications in electronic devices, such as image recognition, facial recognition, speech recognition, and text understanding.
[0271] The external storage interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the electronic device 100. The external memory card communicates with the processor 110 through the external storage interface 120 to perform data storage functions. For example, music, video, and other files can be saved on the external memory card.
[0272] Internal memory 121 can be used to store computer executable program code, which includes instructions. Processor 110 executes various functional applications and data processing of electronic device 100 by running the instructions stored in internal memory 121. Internal memory 121 may include a program storage area and a data storage area. The program storage area may store the operating system, at least one application program required for a function (such as sound playback, image playback, etc.), etc. The data storage area may store data created during the use of electronic device 100 (such as audio data, phonebook, etc.). Furthermore, internal memory 121 may include high-speed random access memory and may also include non-volatile memory, such as at least one disk storage device, flash memory device, universal flash storage (UFS), etc.
[0273] Electronic device 100 can implement audio functions, such as music playback and recording, through audio module 170, speaker 170A, receiver 170B, microphone 170C, headphone jack 170D, and application processor.
[0274] The audio module 170 is used to convert digital audio information into analog audio signals for output, and also to convert analog audio input into digital audio signals. The audio module 170 can also be used for encoding and decoding audio signals. In some embodiments, the audio module 170 may be located in the processor 110, or some functional modules of the audio module 170 may be located in the processor 110.
[0275] The speaker 170A, also known as a "loudspeaker," is used to convert audio electrical signals into sound signals. The electronic device 100 can listen to music or make hands-free calls through the speaker 170A.
[0276] The receiver 170B, also known as the "earpiece," is used to convert audio electrical signals into sound signals. When the electronic device 100 answers a telephone call or voice message, the receiver 170B can be brought close to the ear to listen to the voice.
[0277] Microphone 170C, also known as a "microphone" or "voice transducer," is used to convert sound signals into electrical signals. When making a phone call or sending a voice message, the user can speak by bringing their mouth close to microphone 170C, inputting the sound signal into microphone 170C. Electronic device 100 may have at least one microphone 170C. In some embodiments, electronic device 100 may have two microphones 170C, which, in addition to collecting sound signals, can also perform noise reduction. In other embodiments, electronic device 100 may also have three, four, or more microphones 170C, which can collect sound signals, reduce noise, identify the sound source, and perform directional recording, etc.
[0278] The 170D headphone jack is used to connect wired headphones. The 170D headphone jack can be a USB 130 interface or a 3.5mm Open Mobile Terminal Platform (OMTP) standard interface, a CTIA (Cellular Telecommunications Industry Association of the USA) standard interface.
[0279] Pressure sensor 180A is used to sense pressure signals and convert them into electrical signals. In some embodiments, pressure sensor 180A can be disposed on display screen 194. There are many types of pressure sensors 180A, such as resistive pressure sensors, inductive pressure sensors, and capacitive pressure sensors. A capacitive pressure sensor may include at least two parallel plates with conductive material. When force is applied to pressure sensor 180A, the capacitance between the electrodes changes. Electronic device 100 determines the pressure intensity based on the change in capacitance. When a touch operation is applied to display screen 194, electronic device 100 detects the intensity of the touch operation based on pressure sensor 180A. Electronic device 100 can also calculate the touch position based on the detection signal from pressure sensor 180A. In some embodiments, touch operations applied to the same touch position but with different touch operation intensities can correspond to different operation commands. For example, when a touch operation with an intensity less than a first pressure threshold is applied to the SMS application icon, a command to view an SMS is executed. When a touch operation with an intensity greater than or equal to the first pressure threshold is applied to the SMS application icon, a command to create a new SMS is executed.
[0280] The gyroscope sensor 180B can be used to determine the motion attitude of the electronic device 100. In some embodiments, the gyroscope sensor 180B can determine the angular velocity of the electronic device 100 around three axes (i.e., the x, y, and z axes). The gyroscope sensor 180B can be used for image stabilization. For example, when the shutter is pressed, the gyroscope sensor 180B detects the angle of the electronic device 100's shake, calculates the distance that the lens module needs to compensate based on the angle, and allows the lens to counteract the shake of the electronic device 100 through reverse movement, thus achieving image stabilization. The gyroscope sensor 180B can also be used in navigation and motion-sensing game scenarios.
[0281] The barometric pressure sensor 180C is used to measure air pressure. In some embodiments, the electronic device 100 calculates altitude using the air pressure value measured by the barometric pressure sensor 180C to assist in positioning and navigation.
[0282] The magnetic sensor 180D includes a Hall sensor. The electronic device 100 can use the magnetic sensor 180D to detect the opening and closing of the flip cover. In some embodiments, when the electronic device 100 is a flip phone, the electronic device 100 can detect the opening and closing of the flip cover based on the magnetic sensor 180D. Then, based on the detected opening and closing state of the cover or the flip cover, features such as automatic flip unlocking can be set.
[0283] The accelerometer 180E can detect the magnitude of acceleration of electronic device 100 in various directions (typically three axes). When electronic device 100 is stationary, it can detect the magnitude and direction of gravity. It can also be used to identify the posture of electronic device 100, and can be applied to applications such as screen orientation switching and pedometers.
[0284] A distance sensor 180F is used to measure distance. Electronic device 100 can measure distance via infrared or laser. In some embodiments, during a shooting scene, electronic device 100 can utilize the distance sensor 180F to measure distance for rapid focusing.
[0285] The proximity sensor 180G may include, for example, a light-emitting diode (LED) and a light detector, such as a photodiode. The LED may be an infrared LED. The electronic device 100 emits infrared light outward through the LED. The electronic device 100 uses the photodiode to detect infrared reflected light from nearby objects. When sufficient reflected light is detected, it can be determined that there is an object near the electronic device 100. When insufficient reflected light is detected, the electronic device 100 can determine that there is no object near the electronic device 100. The electronic device 100 may use the proximity sensor 180G to detect when a user holds the electronic device 100 close to their ear for a call, so as to automatically turn off the screen to save power. The proximity sensor 180G can also be used in holster mode and pocket mode for automatic unlocking and locking of the screen.
[0286] The ambient light sensor 180L is used to sense the brightness of ambient light. The electronic device 100 can adaptively adjust the brightness of the display screen 194 based on the sensed ambient light brightness. The ambient light sensor 180L can also be used to automatically adjust the white balance when taking pictures. The ambient light sensor 180L can also work with the proximity sensor 180G to detect whether the electronic device 100 is in a pocket to prevent accidental touches.
[0287] The fingerprint sensor 180H is used to collect fingerprints. The electronic device 100 can utilize the characteristics of the collected fingerprints to achieve fingerprint unlocking, accessing application locks, taking photos with fingerprints, answering calls with fingerprints, etc.
[0288] Temperature sensor 180J is used to detect temperature. In some embodiments, electronic device 100 uses the temperature detected by temperature sensor 180J to execute a temperature handling strategy. For example, when the temperature reported by temperature sensor 180J exceeds a threshold, electronic device 100 performs thermal protection by reducing the performance of a processor located near temperature sensor 180J to reduce power consumption. In other embodiments, when the temperature is below another threshold, electronic device 100 heats battery 142 to prevent abnormal shutdown of electronic device 100 due to low temperature. In still other embodiments, when the temperature is below yet another threshold, electronic device 100 boosts the output voltage of battery 142 to prevent abnormal shutdown due to low temperature.
[0289] Touch sensor 180K, also known as a "touch panel," can be located on display screen 194. The touch sensor 180K and display screen 194 together form a touchscreen, also known as a "touch screen." Touch sensor 180K detects touch operations applied to or near it. The touch sensor can transmit the detected touch operation to the application processor to determine the type of touch event. Visual output related to the touch operation can be provided through display screen 194. In other embodiments, touch sensor 180K may also be located on the surface of electronic device 100, in a different position than display screen 194.
[0290] The bone conduction sensor 180M can acquire vibration signals. In some embodiments, the bone conduction sensor 180M can acquire vibration signals from the vibrating bone segments of the human vocal cords. The bone conduction sensor 180M can also contact the human pulse to receive blood pressure signals. In some embodiments, the bone conduction sensor 180M can also be incorporated into headphones to form bone conduction headphones. The audio module 170 can parse the voice signals from the vibrating bone segments of the vocal cords acquired by the bone conduction sensor 180M to realize voice functionality. The application processor can parse heart rate information from the blood pressure signals acquired by the bone conduction sensor 180M to realize heart rate detection functionality.
[0291] Buttons 190 include a power button, volume buttons, etc. Buttons 190 can be mechanical buttons or touch-sensitive buttons. Electronic device 100 can receive button input and generate key signal inputs related to user settings and function control of electronic device 100.
[0292] Motor 191 can generate vibration alerts. Motor 191 can be used for incoming call vibration alerts or for touch vibration feedback. For example, different vibration feedback effects can correspond to touch operations performed on different applications (such as taking photos, playing audio, etc.). Motor 191 can also correspond to different vibration feedback effects for touch operations performed on different areas of the display screen 194. Different application scenarios (such as time reminders, receiving messages, alarm clocks, games, etc.) can also correspond to different vibration feedback effects. The touch vibration feedback effect can also be customized.
[0293] Indicator 192 can be an indicator light, used to indicate charging status, power changes, or to indicate messages, missed calls, notifications, etc.
[0294] The SIM card interface 195 is used to connect a SIM card. The SIM card can be inserted into or removed from the SIM card interface 195 to make contact with and separate from the electronic device 100. The electronic device 100 can support one or N SIM card interfaces, where N is a positive integer greater than 1. The SIM card interface 195 can support Nano SIM cards, Micro SIM cards, SIM cards, etc. Multiple cards can be inserted into the same SIM card interface 195 simultaneously. The multiple cards can be of the same or different types. The SIM card interface 195 is also compatible with different types of SIM cards. The SIM card interface 195 is also compatible with external memory cards. The electronic device 100 interacts with the network through the SIM card to realize functions such as calls and data communication. In some embodiments, the electronic device 100 uses an eSIM, i.e., an embedded SIM card. The eSIM card can be embedded in the electronic device 100 and cannot be separated from the electronic device 100.
[0295] It should be understood that, Figure 7 The electronic device 100 shown is merely an example, and the electronic device 100 may have more or fewer components than those shown in FIG. 7, may combine two or more components, or may have different component configurations. Figure 7 The various components shown can be implemented in hardware, software, or a combination of hardware and software, including one or more signal processing and / or application-specific integrated circuits.
[0296] The following describes the software structure of an electronic device 100 provided in an embodiment of this application.
[0297] Figure 8 The software structure of an electronic device 100 provided in an embodiment of this application is illustrated by way of example.
[0298] like Figure 8 As shown, the software system of electronic device 100 can adopt a layered architecture, event-driven architecture, microkernel architecture, microservice architecture, or cloud architecture. This application embodiment uses the layered architecture Android system as an example to exemplify the software structure of electronic device 100.
[0299] A layered architecture divides software into several layers, each with a clear role and function. Layers communicate with each other through software interfaces. In some embodiments, the Android system is divided into four layers, from top to bottom: the application layer, the application framework layer, the Android runtime and system libraries, and the kernel layer.
[0300] The application layer can include a series of application packages.
[0301] like Figure 8As shown, the application package may include applications such as camera, gallery, calendar, call, map, contact tracking, WLAN, Bluetooth, music, video, and SMS.
[0302] The application framework layer provides application programming interfaces (APIs) and a programming framework for applications in the application layer. The application framework layer includes some predefined functions.
[0303] like Figure 8 As shown, the application framework layer may include a window manager, content provider, view system, phone manager, resource manager, notification manager, etc.
[0304] The window manager is used to manage windowed applications. It can retrieve screen size, determine the presence of a status bar, lock the screen, and capture screenshots, among other things.
[0305] Content providers store and retrieve data, making that data accessible to applications. This data may include videos, images, audio, made and received phone calls, browsing history and bookmarks, phone books, etc.
[0306] A view system includes visual controls, such as controls for displaying text and controls for displaying images. View systems can be used to build applications. A display interface can consist of one or more views. For example, a display interface including a text notification icon could include views for displaying text and views for displaying images.
[0307] The phone manager is used to provide communication functions for electronic device 100. For example, it manages call status (including connection and disconnection).
[0308] The file explorer provides applications with various resources, such as localized strings, icons, images, layout files, video files, and more.
[0309] The notification manager allows applications to display notifications in the status bar. These notifications can be used to deliver informational messages and can disappear automatically after a short pause, requiring no user interaction. For example, the notification manager can be used to notify users of completed downloads or message alerts. The notification manager can also display notifications as icons or scrolling text in the top status bar, such as notifications from background applications, or as dialog boxes on the screen. Examples include displaying text messages in the status bar, emitting sounds, vibrating electronic devices, and flashing indicator lights.
[0310] The Android Runtime consists of core libraries and a virtual machine. The Android runtime is responsible for scheduling and managing the Android system.
[0311] The core library consists of two parts: one part is the functionalities that need to be called by the Java language, and the other part is the Android core library.
[0312] The application layer and application framework layer run in a virtual machine. The virtual machine executes the Java files of the application layer and application framework layer as binary files. The virtual machine is used to perform functions such as object lifecycle management, stack management, thread management, security and exception management, and garbage collection.
[0313] System libraries can include multiple functional modules. For example: surface manager, media libraries, 3D graphics processing libraries (e.g., OpenGL ES), 2D graphics engines (e.g., SGL), etc.
[0314] The Surface Manager is used to manage the display subsystem and provides the blending of 2D and 3D layers for multiple applications.
[0315] The media library supports playback and recording of various common audio and video formats, as well as still image files. It supports multiple audio and video encoding formats, such as MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG.
[0316] The 3D graphics processing library is used to implement 3D graphics drawing, image rendering, compositing, and layer processing.
[0317] A 2D graphics engine is a graphics engine for 2D drawing.
[0318] The kernel layer is the layer between hardware and software. The kernel layer includes at least the display driver, camera driver, Bluetooth driver, and sensor driver.
[0319] The following example, using a scene of capturing a photograph, illustrates the workflow of the software and hardware of the electronic device 100.
[0320] When touch sensor 180K receives a touch operation, a corresponding hardware interrupt is sent to the kernel layer. The kernel layer processes the touch operation into a raw input event (including touch coordinates, timestamp of the touch operation, etc.). The raw input event is stored in the kernel layer. The application framework layer retrieves the raw input event from the kernel layer and identifies the control corresponding to the input event. Taking a touch click as an example, where the corresponding control is the camera application icon, the camera application calls the application framework layer's interface to launch the camera application, and then calls the kernel layer to launch the camera driver, capturing still images or videos through camera 193.
[0321] The structure of another electronic device 100 provided in the embodiments of this application is described below.
[0322] Figure 9 The structure of another electronic device 100 provided in an embodiment of this application is illustrated by way of example.
[0323] like Figure 9 As shown, the electronic device 100 may include: Bluetooth Low Energy 901, application 902, and trusted execution environment 903.
[0324] Bluetooth Low Energy (BLE) 901 can be used to send and receive BLE broadcast messages between different electronic devices. For example, electronic device 100 can generate BLE broadcast messages based on a working key, and then periodically send BLE broadcast messages to other surrounding electronic devices via BLE 901. Alternatively, electronic device 100 can also periodically scan for and receive BLE broadcast messages sent by other surrounding electronic devices via BLE 901.
[0325] Application 902 is the contact tracing application described above, which can be used to generate a user's periodic key and working key, predict and evaluate contact results, and report contact information. For example, after a user completes registration and login, application 902 can generate a periodic key and derive a working key from it. Another example is that application 902 can perform contact prediction and evaluation based on the target user's working key set, and display the results upon completion. Yet another example is that application 902 can send contact information of suspected target users to the server.
[0326] The Trusted Execution Environment 903 can be used to encrypt and store the periodic keys generated in the application 902.
[0327] For more details regarding the functions and working principles of the electronic device 100, please refer to the relevant content in the above embodiments, which will not be repeated here.
[0328] The following describes the structure of a server 200 provided in an embodiment of this application.
[0329] Figure 10 An exemplary embodiment of the structure of a server 200 provided in this application is shown.
[0330] like Figure 10As shown, server 200 may include: processor 1001, receiver 1002, transmitter 1003, memory 1004, and bus 1005. Processor 1001, receiver 1002, transmitter 1003, and memory 1004 are interconnected via bus 1005. Processor 1001 includes one or more processing cores, and executes various application and information processing functions by running software programs and modules. Receiver 1002 and transmitter 1003 can be implemented as a communication component, which may be a baseband chip. Memory 1004 can be used to store at least one program instruction, and processor 1001 is used to execute at least one program instruction to implement the technical solutions of the above embodiments.
[0331] Processor 1001 can be used to execute at least one program instruction stored in memory 1004 to perform the following operations:
[0332] Find the target user's periodic key and derive the working key based on that periodic key;
[0333] Confirm the authenticity of the received diagnostic information;
[0334] A contact chain is generated based on the contact information of suspected target users.
[0335] Receiver 1002 can be used to receive information sent by electronic device 100 and server 300. For example, receiver 1002 can receive user registration information, periodic keys, and contact information sent by electronic device 100. As another example, receiver 1002 can receive diagnostic information sent by server 300.
[0336] Transmitter 1003 can be used to send information to electronic device 100 and server 300. For example, transmitter 1003 can send a set of working keys of a target user to electronic device 100. As another example, transmitter 1003 can send confirmation information to server 300 to verify the authenticity of diagnostic information.
[0337] The memory 1004 can be used to store information sent by the electronic device 100. For example, the memory 1004 can store user registration information, periodic keys, and contact information sent by the electronic device 100.
[0338] For more details on the functions and working principles of server 200, please refer to the relevant content in the above embodiments, which will not be repeated here.
[0339] The following describes another structure of server 300 provided in an embodiment of this application.
[0340] Figure 11An exemplary embodiment of another server 300 provided in this application is shown.
[0341] like Figure 11 As shown, server 300 may include: processor 1101, receiver 1102, transmitter 1103, memory 1104, and bus 1105. Processor 1101, receiver 1102, transmitter 1103, and memory 1104 are interconnected via bus 1105. Processor 1101 includes one or more processing cores, and executes various application and information processing functions by running software programs and modules. Receiver 1102 and transmitter 1103 can be implemented as a communication component, which may be a baseband chip. Memory 1104 can be used to store at least one program instruction, and processor 1101 is used to execute at least one program instruction to implement the technical solutions of the above embodiments.
[0342] Processor 1101 can be used to execute at least one program instruction stored in memory 1104 to perform the following operations:
[0343] Find the target user's periodic key and derive the working key based on that periodic key;
[0344] A contact chain is generated based on the contact information of suspected target users.
[0345] Receiver 1102 can be used to receive information sent by electronic device 100 and server 200. For example, receiver 1102 can receive user registration information, periodic keys, and contact information sent by electronic device 100. As another example, receiver 1102 can receive confirmation information sent by server 200 confirming the authenticity of diagnostic information.
[0346] Transmitter 1103 can be used to send information to electronic device 100 and server 200. For example, transmitter 1103 can send a set of working keys of a target user to electronic device 100. As another example, transmitter 1103 can send diagnostic information to server 200.
[0347] The memory 1104 can be used to store information sent by the electronic device 100. For example, the memory 1104 can store user registration information, periodic keys, and contact information sent by the electronic device 100.
[0348] For more details on the functions and working principles of server 300, please refer to the relevant content in the above embodiments, which will not be repeated here.
[0349] The above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit it. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application.
Claims
1. A contact tracking method, applied to a communication system including a first electronic device, a second electronic device, and a first server, characterized in that, The method comprises: The first electronic device and the second electronic device establish a short-distance wireless communication connection; At a first time, the first electronic device generates a first periodic key and sends the first periodic key to the first server; The first electronic device sends a first working key to the second electronic device through the short-distance wireless communication connection, the first working key being derived by the first electronic device based on the first periodic key; The second electronic device receives and saves the first working key; At a second time, the first server confirms that the user of the first electronic device is a target user, wherein the second time is later than the first time, and at the first time, the user of the first electronic device is not the target user; The first server derives a first working key set based on the first periodic key and sends the first working key set to the second electronic device; If the second electronic device obtains the first working key set and determines that the first working key is included in the first working key set, the second electronic device determines that the user of the second electronic device is a suspected target user; The second electronic device sends first contact information to the first server, the first contact information comprising the first working key, a third time, and a first distance, wherein the third time is the time at which the second electronic device receives the first working key, and the first distance is the distance between the first electronic device and the second electronic device when the second electronic device receives the first working key, the first distance being determined based on the signal strength of the short-distance wireless communication connection; The first server generates and saves a first association relationship based on the first working key, the third time, and the first distance; The first server generates a first contact chain based on the first association relationship, the first contact chain being used to indicate that the user of the first electronic device and the user of the second electronic device had contact at the third time, the distance of the contact being the first distance.
2. The method of claim 1, wherein, The first periodic key is periodically generated by the first electronic device and sent to the first server.
3. The method according to claim 1 or 2, characterized in that, Before the first electronic device sends the first working key to the second electronic device through the short-distance wireless communication connection, the method further comprises: The first electronic device sends first user information to the first server, the first user information being associated with the first periodic key; The second electronic device sends second user information to the first server.
4. The method of claim 3, wherein, After the first electronic device and the second electronic device establish a short-distance wireless communication connection, the method further comprises: The second electronic device sends a second working key to the first electronic device, the second working key being derived by the second electronic device based on a second periodic key using a first derivation algorithm, the second periodic key being associated with the second user information, the second periodic key being periodically generated by the second electronic device and sent to the first server; The first electronic device receives and stores the second working key.
5. The method of claim 4, wherein, The first working key is derived by the first electronic device from the first periodic key using the first derivation algorithm, and the first working key set is derived by the first server from the first periodic key using the first derivation algorithm.
6. The method according to claim 1 or 2 or 4 or 5, characterized in that, Before the second electronic device sends the first contact information to the first server, the method further includes: The second electronic device outputs first prompt information, the first prompt information being used to prompt a user of the second electronic device to be a suspected target user; The second electronic device detects a first operation of the user.
7. The method of claim 4, wherein, The communication system further includes a third electronic device, and before the first server generates the first contact chain based on the first association relationship, the method further includes: The third electronic device sends third user information to the first server, the third user information being associated with a third periodic key, the third periodic key being periodically generated by the third electronic device and sent to the first server; The third electronic device establishes a short-distance wireless communication connection with the second electronic device; The third electronic device sends a third working key to the second electronic device through the short-distance wireless communication connection, the third working key being derived by the third electronic device based on the third periodic key; The second electronic device receives and stores the third working key; The second electronic device sends the second working key to the third electronic device through the short-distance wireless communication connection; The third electronic device receives and stores the second working key.
8. The method of claim 7, wherein, After the first server generates the first contact chain based on the first association relationship, the method further includes: The first server obtains the second periodic key based on the second user information; The first server derives a second working key set based on the second periodic key and sends the second working key set to the third electronic device; If the third electronic device obtains the second working key set and determines that the second working key is included in the second working key set, the third electronic device determines that a user of the third electronic device is a contact user of the suspected target user.
9. The method of claim 8, wherein, After the third electronic device determines that the user of the third electronic device is the contact user of the suspected target user, the method further includes: The third electronic device sends second contact information and the third user information to the first server, the second contact information including the second working key; The first server generates a second contact chain based on the second contact information and the third user information, the second contact chain being used to indicate that the user of the third electronic device has contacted the user of the second electronic device.
10. The method of claim 9, wherein, Before the third electronic device sends the second contact information and the third user information to the first server, the method further includes: The third electronic device outputs second prompt information, and the second prompt information is used to prompt a user of the third electronic device to be a contact user of the suspected target user. The third electronic device detects a second operation of the user. 11.A contact tracking method applied to a communication system including a first electronic device, a second electronic device, a first server, and a second server, the method comprising: The method comprises: The first electronic device establishes a short-distance wireless communication connection with the second electronic device; At a first time, the first electronic device generates a first periodic key and sends the first periodic key to the second server; The first electronic device sends a first working key to the second electronic device through the short-distance wireless communication connection, and the first working key is derived by the first electronic device based on the first periodic key; The second electronic device receives and saves the first working key; At a second time, the first server sends first information to the second server; The second server determines that the user of the first electronic device is a target user based on the first information, wherein the second time is later than the first time, and at the first time, the user of the first electronic device is not the target user; The second server derives a first working key set based on the first periodic key and sends the first working key set to the second electronic device; If the second electronic device obtains the first working key set and determines that the first working key is included in the first working key set, the second electronic device determines that the user of the second electronic device is a suspected target user; The second electronic device sends first contact information to the second server, and the first contact information includes the first working key, a third time, and a first distance, wherein the third time is a time at which the second electronic device receives the first working key, and the first distance is a distance between the first electronic device and the second electronic device when the second electronic device receives the first working key, and the first distance is determined based on a signal strength of the short-distance wireless communication connection; The second server generates and saves a first association relationship based on the first working key, the third time, and the first distance; The second server generates a first contact chain based on the first association relationship, and the first contact chain is used to indicate that the user of the first electronic device has contacted the user of the second electronic device at the third time, and the distance of the contact is the first distance.
12. The method of claim 11, wherein, The first information is a set of target user information.
13. The method according to claim 11 or 12, characterized in that, The first information is confirmation information, and the confirmation information is used to indicate that the user of the first electronic device is a target user, and before the first server sends the first information to the second server, the method further comprises: The first electronic device sends diagnostic information to the second server; The second server sends the diagnostic information to the first server; The first server generates the confirmation information based on the diagnostic information.
14. The method of claim 11 or 12, wherein, Before the first electronic device sends the first working key to the second electronic device through the short-distance wireless communication connection, the method further comprises: The first electronic device sends first user information to the second server, the first user information being associated with the first periodic key; The second electronic device sends second user information to the second server.
15. The method of claim 11 or 12, wherein, Before the second electronic device sends first contact information to the second server, the method further comprises: The second electronic device outputs first prompt information, the first prompt information being used to prompt a user of the second electronic device to be a suspected target user; The second electronic device detects a first operation of the user. 16.A contact tracking method applied to a second electronic device, the method comprising: The method comprises: The second electronic device establishes a short-distance wireless communication connection with the first electronic device; The second electronic device receives the first working key sent by the first electronic device through the short-distance wireless communication connection, the first working key being derived by the first electronic device based on a first periodic key, the first periodic key being generated by the first electronic device at a first time and sent to a first server; The second electronic device receives and saves the first working key; The second electronic device receives a first working key set, the first working key set being sent by the first server to the second electronic device after the first server confirms that the user of the first electronic device is a target user at a second time, the first working key set being derived by the first server based on the first periodic key, wherein the second time is later than the first time, and at the first time, the user of the first electronic device is not the target user; If the second electronic device determines that the first working key is included in the first working key set, the second electronic device determines that the user of the second electronic device is a suspected target user; The second electronic device sends first contact information to the first server, the first contact information comprising the first working key, a third time, and a first distance, wherein the third time is the time at which the second electronic device receives the first working key, and the first distance is the distance between the first electronic device and the second electronic device when the second electronic device receives the first working key, the first distance being determined based on the signal strength of the short-distance wireless communication connection; The first server is configured to generate and save a first association relationship based on the first working key, the third time, and the first distance; and the first server is further configured to generate a first contact chain based on the first association relationship, the first contact chain being used to indicate that the user of the first electronic device has contacted the user of the second electronic device at the third time, and the distance of the contact is the first distance.
17. The method of claim 16, wherein, The first periodic key is periodically generated by the first electronic device and sent to the first server.
18. The method of claim 16 or 17, wherein, The first periodic key is associated with first user information, the first user information being sent by the first electronic device to the first server before the second electronic device receives the first working key sent by the first electronic device through the short-distance wireless communication connection.
19. The method of claim 16 or 17, wherein, Before the second electronic device receives the first working key sent by the first electronic device through the short-distance wireless communication connection, the method further includes: The second electronic device sends second user information to the first server.
20. The method of claim 19, wherein, After the second electronic device establishes the short-distance wireless communication connection with the first electronic device, the method further includes: The second electronic device sends a second working key to the first electronic device through the short-distance wireless communication connection, the second working key being derived by the second electronic device based on a second periodic key using a first derivation algorithm, the second periodic key being associated with the second user information, the second periodic key being periodically generated by the second electronic device and sent to the first server.
21. The method of claim 20, wherein, The first working key is derived by the first electronic device using the first derivation algorithm on the first periodic key, and the first working key set is derived by the first server using the first derivation algorithm on the first periodic key.
22. The method of claim 16 or 17 or 20 or 21, wherein, Before the second electronic device sends the first contact information to the first server, the method further includes: The second electronic device outputs first prompt information, the first prompt information being used to prompt a user of the second electronic device to be a suspected target user; The second electronic device detects a first operation of the user.
23. The method of claim 20, before the second electronic device sends the first contact information to the first server, the method further includes: The second electronic device establishes a short-distance wireless communication connection with a third electronic device; The second electronic device receives a third working key sent by the third electronic device through the short-distance wireless communication connection, the third working key being derived by the third electronic device based on a third periodic key, the third periodic key being periodically generated by the third electronic device and sent to the first server, the third periodic key being associated with third user information, the third user information being sent by the third electronic device to the first server before the second electronic device receives the third working key sent by the third electronic device through the short-distance wireless communication connection; The second electronic device sends the second working key to the third electronic device through the short-distance wireless communication connection.
24. An electronic device, comprising: The electronic device includes one or more processors and one or more memories; wherein the one or more memories are coupled with the one or more processors, the one or more memories are used to store computer program codes, the computer program codes include computer instructions, when the one or more processors execute the computer instructions, the electronic device executes the method as claimed in any one of claims 16-23.
25. A computer storage medium, comprising, The computer storage medium stores a computer program, the computer program includes program instructions, when the program instructions run on an electronic device, the electronic device executes the method as claimed in any one of claims 16-23.