Equipment searching method and device, equipment and medium
By using the randomly generated first identifier and encryption key in the device search method to encrypt the geolocation information, the problem of user privacy information leakage during the device search process is solved, and information security and anonymity are improved.
Patent Information
- Application Number
- CN202411606829.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-11
- Publication Date
- 2025-02-18
AI Technical Summary
在寻找丢失设备时,现有技术容易导致用户隐私信息的泄露。
By receiving the randomly generated first identifier broadcast by the second electronic device, a first key pair is generated, and the encryption key is determined based on the first identifier and the first private key, the geographical location information of the first electronic device is encrypted and uploaded to Server side, for decryption and tracking of third electronic devices.
It realizes that users' privacy information is not disclosed when searching for lost devices, improves information security, and prevents the anonymity of assisting devices from being destroyed.
Smart Images

Figure CN119485162A_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the technical field of electronic equipment, and specifically relates to a device search method, apparatus, device and medium. Background Art
[0002] In daily life, the same user may own multiple electronic devices. The user will leave some important user information when using these electronic devices. If an electronic device is lost, the user generally hopes to find it back quickly.
[0003] Currently, when a lost device discovers that it is lost through the rules defined by the device manufacturer and switches to a lost state, in order to facilitate recovery, the lost device needs to expose the user information therein.
[0004] However, this method of existing technology causes the leakage of user privacy. Summary of the invention
[0005] The purpose of the embodiments of the present application is to provide a device search method, apparatus, device and medium, which can solve the technical problem existing in the related art that user privacy information is easily leaked when searching for lost devices.
[0006] In a first aspect, an embodiment of the present application provides a device search method, which is applied to a first electronic device, and the method includes:
[0007] receiving a first identifier broadcast by a second electronic device, where the first identifier is randomly generated by the server after the second electronic device requests the server according to first information input by a user;
[0008] Generate a first key pair, the first key pair comprising a first public key and a first private key;
[0009] Determine an encryption key according to the first identifier and the first private key;
[0010] Encrypting the current geographical location information of the first electronic device according to the encryption key;
[0011] Upload second information to the server, the second information at least including the encrypted geographic location information and the first public key, and after the second information is requested and decrypted by a third electronic device carrying the first information from the server, the third electronic device is used to track the location of the second electronic device.
[0012] In a second aspect, an embodiment of the present application provides a device search method, which is applied to a second electronic device, and the method includes:
[0013] Determining whether the second electronic device meets a device loss condition;
[0014] In case the second electronic device meets the device loss condition, a first identifier is broadcast to the first electronic device, the first identifier is randomly generated by the server after requesting the server based on the first information input by the user, the first electronic device is used to upload second information to the server, the second information at least includes encrypted geographic location information and a first public key, and the second information is used by the third electronic device carrying the first information to track the location of the second electronic device after being requested and decrypted by the third electronic device from the server.
[0015] In a third aspect, an embodiment of the present application provides a device search method, which is applied to a third electronic device, and the method includes:
[0016] Acquire first information, a second key pair associated with the first information, and index information of the second key pair;
[0017] Requesting the server to obtain second information and a first identifier associated with the first information, wherein the first identifier is randomly generated by the server after the second electronic device carrying the first information requests the server, and the second information at least includes encrypted geographic location information and a first public key, and the second information is uploaded to the server by the first electronic device after receiving the first identifier broadcast by the second electronic device;
[0018] The encrypted geographic location information is decrypted according to the first identifier, the first public key, the second key pair and the index information, and the decrypted geographic location information is used to track the geographic location of the second electronic device.
[0019] In a fourth aspect, an embodiment of the present application provides a device search method, which is applied to a server, and the method includes:
[0020] Randomly generate a first identifier based on the first information uploaded by the second electronic device and send it to the second electronic device;
[0021] receiving second information uploaded by a first electronic device, where the second information is uploaded by the first electronic device when the first electronic device receives a first identifier broadcast by the second electronic device, and the second information at least includes encrypted geographic location information and a first public key;
[0022] The first information uploaded by the third electronic device is received, and the second information and the first identifier associated with the first information are sent to the third electronic device, and the third electronic device is used to track the geographical location of the second electronic device according to the second information.
[0023] In a fifth aspect, an embodiment of the present application provides a device search apparatus, including:
[0024] an identification receiving module, configured to receive a first identification broadcast by a second electronic device, wherein the first identification is randomly generated by the server after the second electronic device requests the server according to first information input by a user;
[0025] A key generation module, configured to generate a first key pair, wherein the first key pair includes a first public key and a first private key;
[0026] A key determination module, used to determine an encryption key according to the first identifier and the first private key;
[0027] A location encryption module, used to encrypt the current location information of the first electronic device according to the encryption key;
[0028] An information uploading module is used to upload second information to the server, wherein the second information at least includes encrypted geographic location information and the first public key, and after the second information is requested and decrypted by a third electronic device carrying the first information from the server, the third electronic device is used to track the location of the second electronic device.
[0029] In a sixth aspect, an embodiment of the present application provides a device search apparatus, including:
[0030] A condition determination module, used to determine whether the second electronic device meets the device loss condition;
[0031] An identification broadcasting module is used to broadcast a first identification to a first electronic device when the second electronic device meets the device loss condition, the first identification being randomly generated by the server after requesting the server based on the first information input by the user, the first electronic device is used to upload second information to the server, the second information at least including encrypted geographic location information and a first public key, and the second information is used by a third electronic device carrying the first information to track the location of the second electronic device after being requested and decrypted by the third electronic device from the server.
[0032] In a seventh aspect, an embodiment of the present application provides a device search apparatus, including:
[0033] An information acquisition module, used to acquire first information, a second key pair associated with the first information, and index information of the second key pair;
[0034] an information search module, configured to request the server to obtain second information and a first identifier associated with the first information, wherein the first identifier is randomly generated by the server after the second electronic device carrying the first information requests the server, and the second information at least includes encrypted geographic location information and a first public key, and the second information is uploaded to the server by the first electronic device after receiving the first identifier broadcast by the second electronic device;
[0035] The location decryption module is used to decrypt the encrypted geographic location information according to the first identifier, the first public key, the second key pair and the index information, and the decrypted geographic location information is used to track the geographic location of the second electronic device.
[0036] In an eighth aspect, an embodiment of the present application provides a device search apparatus, including:
[0037] An identification sending module, used to randomly generate a first identification according to the first information uploaded by the second electronic device and send the first identification to the second electronic device;
[0038] A second information receiving module, configured to receive second information uploaded by a first electronic device, wherein the second information is uploaded by the first electronic device when the first electronic device receives a first identifier broadcast by the second electronic device, and the second information at least includes encrypted geographic location information and a first public key;
[0039] The first information receiving module is used to receive the first information uploaded by the third electronic device, and send the second information and the first identifier associated with the first information to the third electronic device, and the third electronic device is used to track the geographical location of the second electronic device according to the second information.
[0040] In a ninth aspect, an embodiment of the present application provides an electronic device, comprising a processor and a memory, wherein the memory stores programs or instructions that can be run on the processor, and when the programs or instructions are executed by the processor, the steps of the method described in the first aspect are implemented.
[0041] In the tenth aspect, an embodiment of the present application provides a readable storage medium, on which a program or instruction is stored, and when the program or instruction is executed by a processor, the steps of the method described in the first aspect are implemented.
[0042] In the eleventh aspect, an embodiment of the present application provides a chip, the chip including a processor and a communication interface, the communication interface and the processor are coupled, and the processor is used to run programs or instructions to implement the steps of the method described in the first aspect.
[0043] In a sixth aspect, an embodiment of the present application provides a computer program product, which is stored in a storage medium and is executed by at least one processor to implement the steps of the method described in the first aspect.
[0044] In an embodiment of the present application, by configuring the first identifier, the lost second device broadcasts the first identifier, and after receiving the first identifier, the first electronic device that assists in the search automatically encrypts the geographic location information and reports it to the server. In this way, a third device logged in with the same account can obtain the encrypted geographic location information from the server and decrypt it, thereby tracking the lost second device based on the decrypted geographic location information. The entire process does not involve user privacy information, thereby avoiding the exposure of user privacy information and improving information security when recovering the lost device. BRIEF DESCRIPTION OF THE DRAWINGS
[0045] Figure 1 A schematic diagram of the interaction between the devices in the device search method provided in the embodiment of the present application;
[0046] Figure 2 A schematic diagram of interaction during the first identification pulling process provided in an embodiment of the present application;
[0047] Figure 3 A schematic diagram of the interaction between various electronic devices during the lost search process provided in an embodiment of the present application;
[0048] Figure 4 A schematic diagram of a flow chart of a device search method provided in an embodiment of the present application;
[0049] Figure 5 A schematic diagram of a flow chart of a device search method provided in another embodiment of the present application;
[0050] Figure 6 A schematic diagram of a flow chart of a device search method provided in yet another embodiment of the present application;
[0051] Figure 7 A schematic diagram of a flow chart of a device search method provided in another embodiment of the present application;
[0052] Figure 8 A schematic diagram of the structure of a device search apparatus provided in an embodiment of the present application;
[0053] Fig. 9 A schematic diagram of the structure of a device search apparatus provided in another embodiment of the present application;
[0054] Fig.10 A schematic diagram of the structure of a device search apparatus provided in another embodiment of the present application;
[0055] Fig.11A schematic diagram of the structure of a device search apparatus provided in another embodiment of the present application;
[0056] Fig.12 A schematic diagram of the framework of an electronic device provided in an embodiment of the present application;
[0057] Fig.13 A schematic diagram of the hardware structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0058] The following will be combined with the drawings in the embodiments of the present application to clearly describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, rather than all the embodiments. All other embodiments obtained by ordinary technicians in this field based on the embodiments in the present application belong to the scope of protection of this application.
[0059] The terms "first", "second", etc. in the specification of the present application are used to distinguish similar objects, and are not used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable under appropriate circumstances, so that the embodiments of the present application can be implemented in an order other than those illustrated or described here, and the objects distinguished by "first", "second", etc. are usually a class, and the number of objects is not limited. For example, the first object can be one or more. In addition, "and / or" in the specification represents at least one of the connected objects, and the character " / " generally indicates that the objects associated with each other are in an "or" relationship.
[0060] The current process of finding lost devices mainly includes the following three steps: (1) After the lost device finds that it is lost according to the rules defined by the device manufacturer, it switches to the lost state and broadcasts the device information and the communication information of the user through Bluetooth at the time interval preset by the manufacturer's software; (2) After receiving the broadcast of the lost device, the auxiliary device passing near the lost device packages its current location information together with the information broadcast by the lost device and uploads it to the server; (3) After receiving the information of the lost device, the server updates the time and location related information of the lost device in the database. And synchronize the relevant information to the user. The relevant synchronization methods are: ① Based on the device and communication information reserved by the user in the manufacturer's database by any means, the information of the lost device is pushed to other non-lost devices belonging to the same user; ② When the user initiates a query through the search application on the non-lost device, the manufacturer's device search browser entrance or through after-sales channels, the information of the lost device is returned to the user.
[0061] The current method of finding lost devices has the following problems: (1) The information broadcast by the lost device contains relatively sensitive user information, which causes the leakage of user information; (2) The location information reported by the assisting device is visible to the server in plain text, and the user of the assisting device is at risk of being tracked and located: If there are enough lost devices, analyzing the location information reported by the same assisting device can track the user holding the device and where he passed at what time.
[0062] In response to the above problems, the embodiments of the present application improve the current device search method to ensure the security of user information in the process of searching for lost devices and avoid user information leakage, while also ensuring the anonymity and untraceability of the assisting device.
[0063] Among them, the device search method provided in the embodiment of the present application can be applied to at least the following two scenarios: 1. The search scenario for lost devices. When a user's electronic device is accidentally lost in some place, the user can track the lost location of the electronic device through this method. 2. The electronic device can be bundled with certain specific people to achieve the search for certain specific people. For example, to locate specific people such as young children, elderly people, Alzheimer's patients, etc., they may get lost after going out. At this time, their family members can use the device search method to track the location of the devices bundled with them to further find these specific people.
[0064] The device search method, apparatus, device and medium provided in the embodiments of the present application are described in detail below in combination with specific embodiments and their application scenarios. It should be noted that the following embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments.
[0065] First, the multi-party device interaction involved in the device search method provided in the embodiments of the present application is introduced through some embodiments. Figure 1 A schematic diagram of the interaction between the devices in the device search method provided in the embodiment of the present application, such as Figure 1 As shown, it includes a viewing device, a server, a lost device, and an assisting device. Among them, the viewing device may refer to the third electronic device mentioned later, the lost device may refer to the second electronic device mentioned later, and the assisting device may refer to the first electronic device mentioned later. In addition, the number of these electronic devices is not limited. The electronic device can be a mobile phone, a tablet computer, a laptop computer, a desktop computer, a wearable device, a vehicle-mounted terminal, etc.
[0066] In this embodiment, the lost device may refer to an electronic device that carries specific first information (the first information may be an account of a certain application of the user) and has a signal transmission module (such as a Bluetooth chip), and is lost by the user. In addition, the lost device is associated with the viewing device with the first information. The assisting device may refer to an electronic device that has independent networking capabilities, can receive the transmission signal of the lost device, and has joined the device offline search network. The viewing device refers to an electronic device used to view the geographic location information of the lost device reported by the assisting device.
[0067] In order to ensure information security, the device search method provided in the embodiment of the present application involves encryption and decryption of information to prevent information leakage. It enables the viewing device, lost device and assisting device to meet some implicit prerequisites and support corresponding functions. The prerequisites and functions are described in detail below:
[0068] First, we define a trusted device. A trusted device refers to an electronic device that has a secure execution environment and secure storage, can pass the device trust verification on the server side (the implicit condition is that the trusted device can be independently connected to the Internet), and has a Bluetooth module that supports the ability to set broadcast content.
[0069] In this embodiment, the viewing device meets the definition of a trusted device to ensure that the key used to decrypt the ciphertext of the geographic location information can be securely synchronized to the secure storage. The assisting device also meets the definition of a trusted device so that the server can confirm that the reported address location report is relatively credible.
[0070] Among them, the lost device does not need to meet the definition of a trusted device. For example, the lost device can be the original viewing device. After the original viewing device carrying the first information is lost by the user, the original viewing device will be converted into a lost device. For example, some untrusted devices that do not have a secure execution environment and secure storage, or cannot pass the server-side set trusted verification process (for example, they do not have independent networking capabilities), if they have a signal transmission module that supports broadcasting the first identifier, then they can also establish a binding relationship with other trusted devices (that is, the untrusted device establishes a communication connection with other trusted devices through the signal transmission module, which is regarded as establishing a binding relationship), and then use other trusted devices to request a random first identifier for it, then the untrusted device can also be used as a lost device.
[0071] In addition, the assisting device has signal receiving capability and independent networking capability. After the search service is turned on, it can carry third information (such as an account number), but the third information is different from the first information. If the assisting device is also an electronic device that synchronizes the first information, then it is equivalent to directly finding the lost device.
[0072] In this embodiment, the server can verify and confirm whether the device that initiates the request for related services (such as search services) is a trusted device. For example, if the implementation method based on the Public Key Infrastructure (PKI) system is adopted, a pair of asymmetric keys {devicePK, deviceSK} is generated in a secure environment before the device leaves the factory, the public key devicePK is exported, and the public key certificate chain devicePKCert issued by the manufacturer's server based on the certificate authority (CA) for the public key is injected. If the subsequent request initiated by the device has a signature of the public key devicePK and carries the public key certificate chain devicePKCert, the server can confirm that the device that initiated the request is produced by the manufacturer or a manufacturer certified by the manufacturer, and is not a malicious counterfeit. This device that can pass the verification of the server is the trusted device mentioned above.
[0073] The trusted device supports an end-to-end secure key transmission channel. The service that supports this capability must have at least the following functions:
[0074] a) Generate and manage keys for the caller, and perform key change synchronization between each trusted device carrying the first information, wherein the private key and symmetric key data involved in the process do not leave the security environment of the trusted device in plain text, and the end-to-end key ciphertext uploaded to the server is protected by information known only to the user. The server can only perform intermediate storage and forwarding, and cannot decrypt and obtain the plain text of the user key.
[0075] b) Support the caller to export the device identity verification information deviceAuthInfo containing the specified public key. For example, if the identity verification deviceAuthInfo is implemented based on the aforementioned PKI system, the device identity verification information deviceAuthInfo is the secondary certificate issued by the electronic device for the public key in a secure environment using deviceSK based on devicePKCert.
[0076] c) The server supports confirming whether the identity of the electronic device initiating the request is credible and whether the public key therein is generated for the electronic device based on the device identity verification information deviceAuthInfo.
[0077] In the following text, end-to-end encryption service is used to refer to the services that support this capability on devices and servers. The viewing device, lost device, and assisting device described later all implicitly meet the above prerequisites or have the above functions, and will not be elaborated on in detail.
[0078] Continue to refer to the above Figure 1 ,like Figure 1As shown, the interaction process between the electronic devices includes the following steps:
[0079] Step S110: Synchronize the first information.
[0080] Step S120: Pull a first identifier associated with the first information.
[0081] Step S130: randomly broadcast the first identifier.
[0082] Step S140: Pull the sub-public key.
[0083] Step S150: Upload the second information.
[0084] Step S160: Pull the second information.
[0085] For step S110, the first information may be information input by the user. Usually, the user will inevitably input some information, such as the user's account information, when using the electronic device he / she holds. In order to realize device search, the user needs to synchronize the first information to all the electronic devices he / she holds. For example, if the user holds electronic device A, electronic device B, and electronic device C, then it is necessary to ensure that electronic device A, electronic device B, and electronic device C all contain the first information.
[0086] In addition, the roles of the lost device and the viewing device can be switched. For example, when the viewing device is lost, it switches to the lost device. When the lost device is found, it switches to the viewing device.
[0087] For step S120, the first identifier can be randomly generated by the server, and the server stores the association between the first identifier and the first information. Exemplarily, the first identifier can include multiple identifiers, and randIdNi represents the i-th first identifier of the N-th lost device, where the value of i is [1, n], and n is a positive integer greater than 1, then there are n first identifiers: [randIdN1, randIdN2, ..., randIdNi, ..., randIdNn].
[0088] For example, Figure 2 The interactive diagram of the first identification pulling process provided in the embodiment of the present application, the trusted device may include a search device and a lost device (for example, when the search device is lost, it is converted into a lost device, and when the lost device is found, it can be converted into a search device). The untrusted device may include the lost device. Assume that the lost device is divided into a trusted device that meets the prerequisite, such as Figure 2 If the lost device is Figure 2 The steps to start the lost device search service include:
[0089] 1. Information synchronization.
[0090] 2. Initiate a request.
[0091] 3.1. Confirm that the request is credible, generate the identifier randId1s, and store the relevant data.
[0092] 3.2. Return the identifier randId1s.
[0093] 4. Set the identifier randId1s to the signal transmission module.
[0094] Among them, the trusted device contains the first information (such as account accountId), and the synchronized information includes an asymmetric public-private key pair {PK, SK} and the corresponding key index information keyId. This information will be synchronized to the search device and used for decryption of the subsequent search device. Among them, when the lost device is synchronized with the server, {PK, SK} needs to be kept in ciphertext form, or PK and keyId are synchronized to the server in plaintext form, and SK is synchronized in ciphertext form. This is mainly to avoid the server itself from decrypting the subsequent geographic location information based on the plaintext asymmetric key {PK, SK}, so as to improve the security of information transmission.
[0095] When initiating a request, the lost device initiates a request to the server with the first information (such as account accountId), its own device identifier deviceld1, PK and keyId. The server verifies whether the lost device is credible. If it is credible, it generates randId1s = [randId11, randId12, ..., randId1i, ..., randId1n] and returns it to the lost device as the first identifier. At the same time, the server stores the association between randId1s and the first information.
[0096] Continue to refer Figure 2 , if the lost device is Figure 2 If the device is an untrusted device, the steps to start the search service for the lost device include:
[0097] 5.1. After establishing the communication connection, bind and build a secure channel.
[0098] 5.2. Get the device ID {deviceId2}.
[0099] 6. Initiate a request.
[0100] 7.1. Confirm that the request is credible, generate the identifier randId2s, and store the relevant data.
[0101] 7.2. Return the identifier randId2s.
[0102] 8.1. Return the identifier randId2s.
[0103] 8.2. Set the identifier randId2s to the signal transmission module.
[0104] Among them, the lost device needs to establish a communication connection with the trusted device first, bind with the trusted device and transmit its own device identifier deviceId2. The trusted device continues to initiate a request to the server with the first information (such as account accountId), the device identifier deviceId2 of the lost device, PK and keyId, and the server will return randId2s, which will eventually be given to the lost device. In this way, even if the lost device is not a trusted device and does not have independent networking capabilities, it can also obtain randId2s = [randId21, randId22, ..., randId2i, ..., randId2n] through the signal transmission module, and broadcast the randId2s when it is lost.
[0105] For step S130, the lost device can select randIdNi from the n first identifiers [randIdN1, randIdN2, …, randIdNi, …, randIdNn] for broadcasting. Among them, it has been mentioned above that the lost device has a signal transmission module (such as a Bluetooth module), and the broadcast of the first identifier is realized through the signal transmission module. In the process of the lost device continuously broadcasting the first identifier, the assisting device may enter the broadcast range and receive the first identifier broadcast by the lost device. At this time, it is equivalent to the assisting device passing by the vicinity of the lost device.
[0106] For step S140, after receiving the first identifier, the assisting device can upload the first identifier randIdNi to the server, and the server will return the sub-public key subPKNi to the assisting device based on randIdNi. The assisting device will then generate a pair of temporary public-private key pairs {tempPK, tempSK}, and negotiate a shared key shareKey based on the temporary private key tempSK and the sub-public key subPKNi. The assisting device will then encrypt the current time and geographic location information using the shared key shareKey to form ciphertext location information.
[0107] For step S150, the second information includes the ciphertext location information and the temporary public key tempPK. After the temporary public key tempPK is subsequently acquired by the viewing device, the viewing device can decrypt the ciphertext location information based on the temporary public key tempPK.
[0108] As for step S160, it has been mentioned above that the assisting device uses a shared key shareKey when encrypting, and the shared key shareKey is obtained by negotiation of the temporary private key tempSK and the sub-public key subPKNi. Therefore, if the viewing device decrypts, it needs at least the corresponding sub-private key subSKNi and the temporary public key tempPK. Among them, it has been mentioned above that the second information contains the temporary public key tempPK, so the viewing device only needs to obtain the sub-private key subSKNi, and then it can negotiate the shared key shareKey used by the assisting device for encryption based on {tempPK, subSKNi} in the secure execution environment. Finally, the shared key shareKey is used to decrypt the ciphertext location information in the second information, that is, the geographical location information reported by the assisting device. The rough location of the lost device can be estimated through the geographical location information.
[0109] The following is a supplementary explanation of how to obtain the sub-private key subSKNi by viewing the device:
[0110] (1) The viewing device can generate a pair of asymmetric keys {PK, SK}, and use keyId to represent the index information of the asymmetric key {PK, SK}. The viewing device can synchronize {PK, SK} and keyId to the server in advance. Among them, {PK, SK} need to be kept in ciphertext form, or the viewing device synchronizes PK and keyId in plaintext form and SK in ciphertext form to the server. This is mainly to avoid the server itself from decrypting the subsequent geographic location information based on the plaintext asymmetric key {PK, SK}, thereby improving the security of information transmission.
[0111] (2) In step S140 above, the sub-public key subPKNi returned by the server to the assisting device is generated based on keyId, the first identifier randIdNi and the public key PK. Therefore, the viewing device can use keyId, randIdNi and the private key SK to infer the sub-private key subSKNi.
[0112] For example, Figure 3 The following is a schematic diagram of the interaction between electronic devices during the lost search process provided in the embodiment of the present application, such as Figure 3 As shown in the figure, the process of assisting the device to report the location information of the lost device specifically includes the following steps:
[0113] 9.2. Request to pull all identifiers and sub-public keys.
[0114] 10.1. Based on the first identifier, all identifiers are retrieved and sub-public keys are derived.
[0115] 10.2. Return all identities and sub-public keys.
[0116] 11.1. Generate a temporary public key pair, generate an encryption key in combination with the sub-public key, encrypt the geographic location information, and use the third public key to sign the second information.
[0117] 11.2. Return the signed second message.
[0118] 12. Use the third private key to verify the signature and store the second information together with other associated information.
[0119] In this embodiment, after the lost device broadcasts the first identifier randIdNi and is received by the assisting device, it first confirms whether the sub-public key subPKNi corresponding to the first identifier randIdNi exists locally. If not, it goes to step 9.2, uploads randIdNi to the server, and requests to retrieve all random identifiers randIdNs and sub-public keys subPKNs associated with the lost device associated with this randIdNi.
[0120] For step 10.1 and step 10.2, after receiving the request from the assisting device, the server queries the device identifier deviceIdN, randIdNs, the first information (such as account accountId), the public key PK associated with the first information, and the index information keyId of the lost device associated with randIdNi.
[0121] Among them, for each random first identifier randIdNi in randIdNs, a sub-public key subPKNi is derived based on {keyid, randIdNi, PK}:
[0122] subPKNi=PKDerive(keyid, randIdNi, PK)
[0123] The server sends {randIdNs, subPKNs} and other necessary related information to the assisting device that initiated the request.
[0124] For steps 11.1 and 11.2, the assisting device generates a temporary public-private key pair {tempPK, tempSK}, and negotiates a shared key shareKey based on {subPKNi, tempSK} as the encryption key:
[0125] shareKey=KeyAgreement(subPKNi,tempSK)
[0126] At the same time, assist the device to obtain the current time timestamp and geographic location gpsInfo to construct geographic location information locInfo = {timestamp, gpsInfo}, and use shareKey to encrypt locInfo to obtain ciphertext location information cipherLocInfo as the encrypted geographic location information:
[0127] cipherLocInfo=Encrypt(shareKey,locInfo)
[0128] Assist the device to package {randIdNi, tempPKj, cipherLocInfo} and upload it to the server. The server stores {accountId, deviceIdN, keyId, randIdNi, tempPK, cipherLocInfo}.
[0129] Further, such as Figure 3 As shown, the search device can be a trusted device with the same account, that is, the first information in the search device is the same as the first information in the lost device (that is, the same account). The interactive process of the device search process includes the following steps:
[0130] Step 14: Pull the second information of all lost devices under the first information. There may be many lost devices under the user name, and each lost device may have multiple second information.
[0131] Step 15: Return K pieces of second information.
[0132] Step 16.1, obtain the Kth second information.
[0133] Step 16.2: Synchronously obtain an asymmetric public-private key pair.
[0134] Step 16.3. Calculate the child private key.
[0135] Step 17: Decrypt and present the lost device track.
[0136] In this embodiment, the Kth second information may include {accountId, deviceIdN, keyId, randIdNi, tempPK, cipherLocInfo}. For the search device, it first confirms whether the asymmetric public-private key pair {SK, PK} corresponding to keyId exists in the local secure storage. If not, the end-to-end encryption service is triggered to synchronize it to the local secure execution environment. Then the search device disperses the sub-private key subSKNi based on {keyId, randIdNi, SK} in the secure execution environment:
[0137] subSKNi=SKDerive(keyid, randIdNi, SK)
[0138] Among them, the search device negotiates the shared key shareKey as the decryption key based on {tempPK, subSKNi}:
[0139] shareKey=KeyAgreement(tempPKj, subSKNi)
[0140] Among them, cryptography ensures that the shared key is consistent with the one negotiated in step 9. Finally, the search device uses the shared key shareKey to decrypt cipherLocInfo to obtain the plaintext location locInfo:
[0141] locInfo=Decrypt(shareKey, cipherLocInfo)
[0142] After executing all the second information returned by the search device to the server in a loop and performing the operation of step 16 in sequence, all encrypted locations are decrypted, and the track of the lost device is presented to the user according to the time and geographical location. The user can find the lost device on the spot based on this information.
[0143] After introducing the multi-party interaction between various electronic devices, the actions performed by each electronic device are described in detail below through some embodiments. Figure 4 A schematic diagram of a device search method provided in an embodiment of the present application, which introduces a first electronic device side (ie Figure 1 The action performed by the assisting device side in the Figure 4 As shown, the method may specifically include the following steps:
[0144] Step S410: receiving a first identifier broadcast by a second electronic device.
[0145] The first identifier is randomly generated by the server after the second electronic device requests the server according to the first information input by the user.
[0146] In this embodiment, the second electronic device can broadcast the first identifier according to the signal transmission module carried by the second electronic device. Different electronic devices have different broadcasting forms due to the different signal transmission modules carried by them. For example, assuming that the second electronic device is a smart phone, the smart phone can be equipped with a Bluetooth module as a signal transmission module. In this case, the second electronic device uses Bluetooth to broadcast the first identifier. For another example, assuming that the second electronic device is a smart watch, the smart phone can be equipped with a near field communication (NFC) module. In this case, the second electronic device uses NFC to broadcast the first identifier.
[0147] In this embodiment, when the first electronic device enters the broadcast range of the second electronic device, it will receive the first identifier broadcast by the second electronic device. The first identifier may refer to any one of [randIdN1, randIdN2, ..., randIdNi, ..., randIdNn], such as randIdNi. In addition, the second electronic device may also select multiple first identifiers from [randIdN1, randIdN2, ..., randIdNi, ..., randIdNn] and broadcast them simultaneously.
[0148] In this embodiment, the assisting device needs to enable the search service, which is basically the same as the process of enabling the search service by the trusted device (since the text will introduce how to enable the search service by the search device later, it will not be repeated here), except that the information carried in the assisting device is different from the first information carried in the trusted device. For example, if the first information in the trusted device is the account information accountId1, then the information in the assisting device is the account information accountId2.
[0149] Step S420: Generate a first key pair.
[0150] Among them, the first key pair may refer to the temporary public-private key pair {tempPK, tempSK} introduced above, specifically including a first public key (ie, temporary public key tempPK) and a first private key (ie, temporary private key tempSK).
[0151] In this embodiment, the first electronic device can generate a temporary public-private key pair {tempPK, tempSK} according to an encryption algorithm. The generated temporary private key is used to encrypt information, and the temporary public key is used to decrypt information encrypted using the temporary private key.
[0152] Step S430: Determine an encryption key according to the first identifier and the first private key.
[0153] In this embodiment, the purpose of using the first identifier and the first private key to generate the encryption key is to facilitate decryption by the third electronic device while ensuring information security.
[0154] Specifically, the first public key corresponding to the first private key will be used as the second information and subsequently uploaded to the server through the first electronic device. When the third electronic device initiates a request to the server to obtain the second information, the third electronic device needs to report the first information.
[0155] Among them, it has been mentioned above that the server stores the first information and the first identifier in an associated relationship, so the server can return the first identifier to the third electronic device based on the first information reported by the third electronic device, so that the third electronic device obtains the first identifier and the first public key at the same time. The third electronic device can infer the encryption key through the first identifier and the first public key to decrypt the second information later.
[0156] In some implementations, the encryption key may also be generated by the following steps:
[0157] Step 1000: According to the first identifier, obtain the sub-public key corresponding to the first identifier from the server.
[0158] Step 1001: Generate an encryption key based on the sub-public key and the first private key.
[0159] Among them, the sub-public key is generated by the server according to the second key pair, the index information of the second key pair and the first identifier, and the second key pair and the index information are pre-synchronized to the server by the third electronic device.
[0160] In this embodiment, the second key pair, i.e., the asymmetric public-private key pair {PK, SK} mentioned above, and the index information keyid of the second key pair are synchronized to the server in advance by the search device. The second key pair {PK, SK} and the index information keyid of the second key pair are associated with the first information, and the first information is associated with the first identifier.
[0161] Among them, when the first electronic device uploads the received first identifier randIdNi to the server and requests to pull all random first identifiers randIdNs = [randIdN1, randIdN2, ..., randIdNi, ..., randIdNn] of the lost device associated with this first identifier and the associated sub-public key subPKNs, the server queries the device identifier deviceIdN, randIdNs, the first information (such as account ID accountId), the second public key PK in the second key pair associated with the first information, and the index information keyId of the lost device associated with randIdNi. Then the server derives the sub-public key subPKNi for each random first identifier in randIdNs based on {keyid, randIdNi, PK}:
[0162] subPKNi=PKDerive(keyid, randIdNi, PK)
[0163] Then {randIdNs, subPKNs} and other necessary related information are sent to the assisting device that initiated the request. The assisting device caches {randIdNs, subPKNs} locally.
[0164] In addition, in some embodiments, the assisting device may also search locally for a sub-public key subPKNi corresponding to the first identifier randIdNi based on the received first identifier randIdNi. This is mainly because when the server generates all random first identifiers randIdNs in advance, it needs to ensure that the server itself can retrieve the first information, keyId, PK, and deviceIdN associated with the first identifier randIdNi based on one of the first identifiers randIdNi. After the assisting device receives a first identifier randIdNi of the lost device, it uploads it to the server. Based on the first identifier randIdNi, the server can retrieve all random first identifiers randIdNs = [randIdN1, randIdN2, …, randIdNi, …, randIdNn] of the lost device associated with the first identifier randIdNi.
[0165] Among them, according to different specific implementations, the server can directly generate a sub-public key corresponding to each random first identifier randIdNi based on randIdNs at one time, and thus can directly send {randIdNs, subPKNs} to the assisting device at one time. In this way, the assisting device can request the server to send a sub-public-private key pair corresponding to the first identifier randIdNi without receiving a random first identifier randIdNi. That is, the assisting device may have locally cached the sub-public key corresponding to the first identifier randIdNi.
[0166] Step S440: Encrypt the current geographical location information of the first electronic device according to the encryption key.
[0167] In this embodiment, the current geographical location information may refer to the location of the first electronic device when the first identifier broadcast by the second electronic device is received.
[0168] In other embodiments, after the first electronic device receives the first identifier broadcast by the second electronic device, the second electronic device may also transmit its own location to the first electronic device again, so that the first electronic device may also encrypt the location information of the second electronic device.
[0169] For example, when the second electronic device broadcasts the first identifier, it can add its current location (such as longitude and latitude) to the first identifier. After the first electronic device receives the first identifier, it extracts the location information from the first identifier based on the pre-negotiated information extraction rules.
[0170] In some embodiments, in order to facilitate the user to more conveniently and quickly track the location of the lost second electronic device, the first electronic device may also package and encrypt the current time together with the current geographical location when encrypting the current geographical location information as the encrypted geographical location information. In other embodiments, the current time may also be added to the second information alone, that is, not encrypted together with the current geographical location, which can improve encryption efficiency.
[0171] Specifically, the first electronic device can obtain the current time timestamp and the geographical location gpsInfo, construct the geographical location information locInfo={timestamp, gpsInfo}, and use the encryption key shareKey to encrypt locInfo to obtain the ciphertext location information cipherLocInfo as the encrypted geographical location information:
[0172] cipherLocInfo=Encrypt(shareKey,locInfo)
[0173] Step S450: Upload the second information to the server.
[0174] The second information at least includes the encrypted geographic location information and the first public key. After being requested and decrypted by the third electronic device carrying the first information from the server, the second information is used by the third electronic device to track the location of the second electronic device.
[0175] In this embodiment, the first electronic device is utilized to have independent networking capability so as to upload the second information to the server.
[0176] Furthermore, in some embodiments, the second information may also include the first identifier received by the first electronic device. For example, the first electronic device may package {randIdNi, tempPKj, cipherLocInfo} and upload it to the search server.
[0177] The purpose of adding the first identifier to the second information is to prevent other electronic devices except the third electronic device from requesting the second information from the server. Specifically: when the third electronic device requests the second information from the server, it needs to at least upload the first information to the server. Since the server pre-stores the association between the first information and the first identifier, a matching strategy can be configured on the server. The server searches for the first identifier in the second information based on the association to see if it matches the first information uploaded by the third electronic device. If so, the second information is sent to the third electronic device.
[0178] For example: the server stores the association relationship G1 between the first identifier B1 and the first information X1, and the association relationship G2 between the first identifier B2 and the first information X2. The second information uploaded by the first electronic device contains the first identifier B1. At this time, if the third electronic device uploads the first information X2 to the server, then based on the association relationships G1 and G2, the server finds that the first information X2 does not match the first identifier B1, and the server will not send the second information uploaded by the first electronic device to the third electronic device. The third electronic device can only obtain the second information after uploading the correct first information X1.
[0179] In the embodiment of the present application, the lost second electronic device only needs to broadcast the randomly generated first identifier, and no longer needs to broadcast user information, thus avoiding the leakage of user information and improving information security. At the same time, the location reported by the assisting device is encrypted, so the actual identity and geographic location information of the assisting device are anonymous to the server, and thus cannot be tracked and located, thereby improving the security of the assisting device.
[0180] In addition, in some embodiments, in order to prevent the server from receiving massive amounts of various interference data, when the first electronic device uploads the second information to the server, a verification process can be configured to verify whether the second information is what the server wants. If it is not what the server wants, the server can refuse to receive it.
[0181] Specifically, when uploading the second information, the first electronic device can first obtain the third key pair, and sign the second information using the third private key in the third key pair. The server can verify the signed second information using the third public key, and receive the second information if the verification passes, or refuse to receive if the verification fails.
[0182] For example, assuming that the first electronic device has a private key deviceSK and a public key devicePK, the first electronic device generates encrypted geographic location information cipherLocInfo. After the generation, the signature deviceSignature of the device private key deviceSK on cipherLocInfo is added to the second information that the assisting device packages and uploads, and the devicePK is exported to the device identity verification information deviceAuthInfo. At this time, the first electronic device packages {randIdNi, tempPKj, cipherLocInfo, deviceSignature, deviceAuthInfo} as the second information and uploads it to the server together. The server confirms that deviceAuthInfo is credible, and after confirming that the devicePK therein is valid, it uses devicePK to verify the signature of deviceSignature. The second information is associated and stored only after all verifications are passed. In this way, the server can reject dirty data reports to prevent the approximate lost location of the lost device from being maliciously interfered with due to dirty data.
[0183] For another example, assuming that an asymmetric public-private key pair {commonPK, commonSK} is synchronized in the first electronic device, then when the assisting device reports the second information, it is not necessary to use the key signature associated with the device (i.e., the signature deviceSignature of the private key deviceSK on cipherLocInfo) to prove that the reported second information is credible, but commonSK is used to sign the reported cipherLocInfo, that is, after the second device obtains {randIdNi, tempPK, cipherLocInfo}, it calculates signature = Sign(commonSK, {randIdNi, tempPK, cipherLocInfo}, and the assisting device then packages {randIdNi, tempPK, cipherLocInfo, signature} into the second information and uploads it to the server.
[0184] The server uses commonPK to verify the signature before saving {randIdNi, tempPK, cipherLocInfo}.
[0185] In the embodiment of the present application, by using a synchronized asymmetric public-private key pair {commonPK, commonSK} to sign, the server can confirm whether the second information reported by the client is credible, and further enhance the anti-tracking capability based on the second information reported by the assisting device. Specifically, if no signature is added, a forged assisting device can upload dirty data at will; if a private key such as deviceSK that is strongly bound to the device is used for signing, due to the limited broadcast communication distance of the second electronic device, the server can record the location records signed by the device public key devicePK of the same assisting device and reported at a similar time, and then analyze which users of lost devices may be close in space, resulting in information leakage.
[0186] The following describes the actions performed by the lost device through some embodiments. Figure 5 A schematic diagram of a device search method provided by another embodiment of the present application is shown in FIG. Figure 5 As shown, it includes the following steps:
[0187] Step S510: Determine whether the second electronic device meets the device loss condition;
[0188] Step S520: when the second electronic device meets the device loss condition, broadcast the first identifier to the first electronic device.
[0189] Among them, the first identifier is randomly generated by the server after requesting the server based on the first information input by the user. The first electronic device is used to upload the second information to the server. The second information at least includes the encrypted geographic location information and the first public key. After the second information is requested and decrypted from the server by the third electronic device carrying the first information, it is used by the third electronic device to track the location of the second electronic device.
[0190] In this embodiment, after the second electronic device (ie, the lost device) confirms that it is in a lost state (ie, satisfies the device loss condition) according to the rules defined by the manufacturer, it changes its state to a "lost state".
[0191] The second electronic device can be automatically shut down, but the signal transmission module (such as a Bluetooth chip) is kept powered. The signal transmission module then broadcasts a previously set group of identifiers randIdNs = [randIdN1, randIdN2, ..., randIdNi, ..., randIdNn]. The signal transmission module can select the first identifier randIdNi from the group of identifiers one by one and broadcast them in turn.
[0192] The device loss condition may include at least one of the following: (1) time condition, such as the second electronic device has not been connected to the Internet or mobile network for several consecutive days. (2) location condition, such as the location information of the second electronic device shows that it has left a predetermined area or range. (3) activity rule, such as the second electronic device has no activity for a period of time, such as unlocking the screen, using applications, etc.
[0193] In an embodiment of the present application, when the second electronic device is lost, it only needs to broadcast a series of random first identifiers, which do not contain the user's sensitive information, thereby avoiding the leakage of user information and ensuring information security.
[0194] Further, based on the above embodiment, the second electronic device can obtain a set of pre-set identifiers randIdNs=[randIdN1, randIdN2, ..., randIdNi, ..., randIdNn] in the following two ways, and the set of identifiers includes at least one first identifier. The second electronic device can be a trusted device or not, and can have independent networking capability or not.
[0195] Method 1: If the second electronic device is a trusted device with independent networking capability, it receives the first information (such as account accountId) input by the user, and carries the second key pair {PK, SK} associated with the first information, the index information keyid of the second key pair, and the device identifier deviceId1. Based on this information, the second electronic device generates a request, generates device identity authentication information for the request, and requests the server to obtain the first identifier associated with the first information.
[0196] After the server confirms that the second electronic device initiating the request is credible, it generates a set of random identifiers randId1s = [randId11, randId12, ..., randId1i, ..., randId1n] and stores {accountId, keyId, PK, deviceId1, randId1s}. If the random identifier randId1s specified by {accountId, deviceId1} already exists, it is directly overwritten) and randId1s is returned to the second electronic device. The second device receives randId1s and sets it in the signal transmission module for broadcasting in turns after the device is lost.
[0197] In addition, when the login status of the account accountId on the second electronic device changes (such as confirmation after the login status is invalid, account re-login) or the lost device status changes to found, the second electronic device needs to request the server to regenerate and issue a new set of random identifiers, and re-import them into the signal transmission module. Further, in some embodiments, when the second electronic device is a trusted device and conditions permit, the set of random identifiers can also be refreshed regularly to ensure that it is difficult to track and locate the user. The generation of this set of random identifiers needs to meet the condition that {accountId, keyId, PK, deviceId1} associated with a first identifier randIdNi can be retrieved.
[0198] Method 2: For a second electronic device that is not a trusted device or cannot be independently connected to the Internet due to its own hardware and software resource limitations and / or cannot synchronize the first information, it can communicate and bind with a trusted device through a signal transmission module, that is, bind to a trusted device carrying the first information, and obtain the random identifier randId1s associated with the second electronic device under the first information from the server through the trusted device. Among them, the trusted device is the fourth electronic device.
[0199] Specifically, the second electronic device is bound to the trusted device (ie, the fourth electronic device) carrying the first information through a communication connection established between signal transmission modules. After the communication connection is established, the second electronic device sends its own device identification deviceId2 to the fourth electronic device.
[0200] Among them, the fourth electronic device packages {accountId, deviceId2} to the server to request to generate device identity authentication information and request to obtain a set of random identifiers randId2s for the first information (such as account accountId) carried by itself.
[0201] After receiving the request, the server confirms that the fourth electronic device initiating the request is credible, generates a set of random identifiers randId2s = [randId21, randId22, ..., randId2i, ..., randId2m] for deviceId2, and stores {randId2s, accountId, keyId, PK, deviceId2} (if a set of random identifiers specified by {accountId, deviceId2} already exists, it is directly overwritten), and returns randId2s to the second electronic device through the fourth electronic device. The second electronic device sets randId2s in the signal transmission module for broadcasting in turns after the device is lost.
[0202] In the embodiment of the present application, for electronic devices that are trusted and have independent networking capabilities, they can be added to the search list, and can be found once lost. For untrusted devices or electronic devices that cannot be independently networked due to their own hardware and software resource limitations and / or have not achieved first information synchronization, they can also be bound to the fourth electronic device and added to the search list, and can be found when lost, reducing the requirements for electronic devices and improving the adaptability of device search.
[0203] The following describes the actions performed by the search device side through some embodiments. For example, Figure 6 A flow chart of a device search method provided in another embodiment of the present application is shown as follows: Figure 6 As shown, it includes the following steps:
[0204] Step S610: Acquire first information, a second key pair associated with the first information, and index information of the second key pair.
[0205] Step S620: Request the server to obtain the second information and the first identifier associated with the first information.
[0206] Step S630: decrypt the encrypted geographic location information according to the first identifier, the first public key, the second key pair and the index information, and use the decrypted geographic location information to track the geographic location of the second electronic device.
[0207] Among them, the first identifier is randomly generated by the server after the second electronic device carrying the first information requests the server, and the second information at least includes the encrypted geographic location information and the first public key. The second information is uploaded to the server by the first electronic device after receiving the first identifier broadcast by the second electronic device.
[0208] In this embodiment, the first information can be input by the user. The third electronic device needs to start the search service in advance. Specifically, the end-to-end service of the third electronic device first carries the first information input by the current user (for example, the account accountId logged in by the user) to the server to pull the key ciphertext previously generated by other devices of the account accountId for the search service to the local.
[0209] Among them, if the key does not exist, the third electronic device triggers the end-to-end service to generate an asymmetric public-private key pair {PK, SK} and corresponding key index information keyId for the search service of the current account in a secure execution environment, and encrypts it with a key derived from information known only to the user and then synchronizes it to the cloud. Exemplarily, the information known to the user may include the user's account password, the device's lock screen password, other forms of security codes, etc. If the key already exists, the third electronic device triggers the synchronization of the key to a secure storage environment through the end-to-end service. Among them, the key index information is keyId and the key plaintext is {PK, SK}, {PK, SK} is the second key pair.
[0210] In this embodiment, the third electronic device can synchronize keyId (plain text), PK (plain text) and SK (ciphertext) or {PK, SK} (ciphertext) to the server to ensure that the server cannot obtain SK (plain text), thereby preventing the server from decrypting the second information and leaking the location of the assisting device.
[0211] In this embodiment, the geographic location query of the lost device must be performed on a trusted device to ensure that the plaintext key for decrypting the encrypted geographic location information will not be exposed to malicious counterfeit devices, and to ensure that only the plaintext and decrypted geographic location information synchronized with the first information can be viewed by a third device.
[0212] Among them, the user logs in the first information synchronized with the lost device on the trusted device that has not been lost, turns on the search service, and triggers the search for the lost device on the Mth electronic device. At this time, the Mth electronic device (i.e., the third electronic device) carries the first information and requests from the server to pull all the second information associated with the first information to the local.
[0213] Exemplarily, for one of the second information returned by the server, assumed to be {accountId, deviceIdN, keyId, randIdNi, tempPK, cipherLocInfo}, the third electronic device first confirms whether there is an end-to-end public-private key pair {PK, SK} corresponding to keyId in the local secure storage. If not, the end-to-end encryption service is triggered to synchronize it to the local secure execution environment; then, the third electronic device performs decryption in the secure execution environment.
[0214] Exemplarily, the decryption method can be divided into the following steps:
[0215] Step 2000: Generate a sub-private key according to the first identifier, the second key pair and the index information;
[0216] Step 2001: Generate a decryption key based on the first public key and the sub-private key;
[0217] Step 2002: Decrypt the encrypted geographic location information according to the decryption key.
[0218] Assuming that the first identifier is randIdNi, the sub-private key subSKNi can be dispersed through the private key SK in the second key pair and the index information keyId of the second key pair:
[0219] subSKNi=SKDerive(keyid, randIdNi, SK)
[0220] Then, based on the first public key tempPK and subSKNi previously uploaded by the first electronic device, a shared key shareKey is negotiated (consistent with the shareKey mentioned above for easy decryption)
[0221] shareKey=KeyAgreement(tempPK, subSKNi)
[0222] Finally, the shared key shareKey is used to decrypt the encrypted geographic location information cipherLocInfo uploaded by the first electronic device to obtain the plaintext location locInfo:
[0223] locInfo=Decrypt(shareKey, cipherLocInfo)
[0224] Among them, for a lost device, there may be a lot of assisting devices reporting locations. By sorting out these location records, these location record sets can be presented to the user, and then based on these location record sets, the user can be presented with the trajectory of the lost device. The presentation of the lost device trajectory can be specifically achieved in the following ways: for example, the reported location records of the assisting devices can be directly listed in chronological order; for example, the location records can be combined with the map to time-mark the relevant locations; for example, a dynamic motion trajectory can be generated according to the location reporting time and location in combination with the map.
[0225] In the embodiment of the present application, since the location reported by the assisting device is encrypted and invisible to the server, the encrypted location can be decrypted by the search device and the decrypted location can be finally viewed on the search device, thereby avoiding location leakage and preventing the assisting device from being tracked and located.
[0226] After introducing the actions performed by the search device side, the assisting device side and the lost device side, the following further introduces the actions performed by the server side in combination with the actions performed by the devices on these three sides. Figure 7 A schematic diagram of a device search method provided by another embodiment of the present application is shown in FIG. Figure 7 As shown, it includes the following steps:
[0227] Step S710: randomly generate a first identifier based on the first information uploaded by the second electronic device and send it to the second electronic device.
[0228] Step S720: receiving second information uploaded by the first electronic device.
[0229] The second information is uploaded by the first electronic device when the first electronic device receives the first identifier broadcast by the second electronic device, and the second information at least includes the encrypted geographic location information and the first public key.
[0230] Step S730: receiving the first information uploaded by the third electronic device, and sending the second information and the first identifier associated with the first information to the third electronic device.
[0231] The third electronic device is used to track the geographical location of the second electronic device according to the second information.
[0232] In this embodiment, since there is interaction between the server and the search device, the assisting device and the lost device, the actions in the interaction process are the actions that need to be performed by the server side. Therefore, the execution actions of the server side in this embodiment can specifically refer to the description in the above-mentioned search device side, assisting device side and lost device side embodiments.
[0233] The following is an embodiment of the device of the present application, which can be used to execute the embodiment of the method of the present application. For details not disclosed in the embodiment of the device of the present application, please refer to the embodiment of the method of the present application.
[0234] Figure 8 This is a schematic diagram of the structure of the device search device provided in the embodiment of the present application. Figure 8 As shown, the device search apparatus 800 includes an identification receiving module 810 , a key generating module 820 , a key determining module 830 , a position encryption module 840 and an information uploading module 850 .
[0235] The identification receiving module 810 is used to receive the first identification broadcast by the second electronic device. The first identification is randomly generated by the server after the second electronic device requests the server according to the first information input by the user;
[0236] The key generation module 820 is used to generate a first key pair, where the first key pair includes a first public key and a first private key.
[0237] The key determination module 830 is used to determine the encryption key according to the first identifier and the first private key;
[0238] The location encryption module 840 is used to encrypt the current location information of the first electronic device according to the encryption key;
[0239] The information uploading module 850 is used to upload the second information to the server.
[0240] The second information at least includes the encrypted geographic location information and the first public key. After being requested and decrypted by the third electronic device carrying the first information from the server, the second information is used by the third electronic device to track the location of the second electronic device.
[0241] In the embodiment of the present application, the lost second electronic device only needs to broadcast the randomly generated first identifier, and no longer needs to broadcast user information, thus avoiding the leakage of user information and improving information security. At the same time, the location reported by the assisting device is encrypted, so the actual identity and geographical location of the assisting device are anonymous to the server, and thus cannot be tracked and located, thereby improving the security of the assisting device.
[0242] In some possible implementations of the embodiments of the present application, the key determination module can be specifically used to: obtain a sub-public key corresponding to the first identifier from the server according to the first identifier, the sub-public key is generated by the server according to the second key pair, the index information of the second key pair and the first identifier, and the second key pair and the index information are pre-synchronized to the server by the third electronic device; then generate an encryption key based on the sub-public key and the first private key.
[0243] In some possible implementations of the embodiments of the present application, the information upload module can be specifically used to: obtain a third key pair, the third key pair includes a third public key and a third private key; then sign the second information according to the third private key; and upload the signed second information to the server, and the third public key is used by the server to verify the signed first information.
[0244] Fig. 9 This is a schematic diagram of the structure of a device search apparatus provided by another embodiment of the present application. Fig. 9 As shown, the device search apparatus 900 includes a conditional determination module 910 and an identification broadcast module 920 .
[0245] The condition determination module 910 is used to determine whether the second electronic device meets the device loss condition.
[0246] The identification broadcasting module 920 is used to broadcast the first identification to the first electronic device when the second electronic device meets the device loss condition.
[0247] Among them, the first identifier is randomly generated by the server after requesting the server based on the first information input by the user. The first electronic device is used to upload the second information to the server. The second information at least includes the encrypted geographic location information and the first public key. After the second information is requested and decrypted from the server by the third electronic device carrying the first information, it is used by the third electronic device to track the location of the second electronic device.
[0248] In an embodiment of the present application, when the second electronic device is lost, it only needs to broadcast a series of random first identifiers, which do not contain the user's sensitive information, thereby avoiding the leakage of user information and ensuring information security.
[0249] In some possible implementations of the embodiments of the present application, it also includes a first identification request module, which is used to obtain the first information, the device identification of the second electronic device, the second key pair associated with the first information, and the index information of the second key pair; and based on the first information, the device identification, the second key pair and the index information, request the first identification from the server.
[0250] In some possible implementations of the embodiments of the present application, it also includes an identification request first module, which obtains the device identification of the second electronic device; and based on the device identification, requests a first identification from a fourth electronic device carrying the first information.
[0251] The fourth electronic device is used to initiate a request to the server to obtain the first identification according to the first information and the device identification.
[0252] Fig.10 This is a schematic diagram of the structure of a device search apparatus provided by another embodiment of the present application. Fig.10 As shown, the device search apparatus 1000 includes an information acquisition module 1010 , an information search module 1020 and a location decryption module 1030 .
[0253] The information acquisition module 1010 is used to acquire first information, a second key pair associated with the first information, and index information of the second key pair.
[0254] The information search module 1020 is used to request the server to obtain the second information and the first identifier associated with the first information.
[0255] The location decryption module 1030 is used to decrypt the encrypted geographic location information according to the first identifier, the first public key, the second key pair and the index information, and the decrypted geographic location information is used to track the geographic location of the second electronic device.
[0256] Among them, the first identifier is randomly generated by the server after the second electronic device carrying the first information requests the server, and the second information at least includes the encrypted geographic location information and the first public key. The second information is uploaded to the server by the first electronic device after receiving the first identifier broadcast by the second electronic device.
[0257] In the embodiment of the present application, since the location reported by the assisting device is encrypted and invisible to the server, the encrypted location can be decrypted by the search device and the decrypted location can be finally viewed on the search device, thus avoiding location leakage and preventing the assisting device from being tracked and located.
[0258] In some possible implementations of the embodiments of the present application, the location decryption module 1030 can be specifically used to: generate a sub-private key based on the first identifier, the second key pair and the index information; generate a decryption key based on the first public key and the sub-private key; and decrypt the encrypted geographic location information based on the decryption key.
[0259] Fig.11 This is a schematic diagram of the structure of a device search apparatus provided by another embodiment of the present application. Fig.11 As shown, the device search apparatus 1100 includes an identification issuing module 1110 , a second information receiving module 1120 and a first information receiving module 1130 .
[0260] The identification sending module 1110 is used to randomly generate a first identification according to the first information uploaded by the second electronic device and send the first identification to the second electronic device.
[0261] The second information receiving module 1120 is used to receive second information uploaded by the first electronic device. The second information is uploaded by the first electronic device when receiving the first identifier broadcast by the second electronic device. The second information at least includes encrypted geographic location information and the first public key.
[0262] The first information receiving module 1130 is used to receive the first information uploaded by the third electronic device, and send the second information associated with the first information and the first identifier to the third electronic device. The third electronic device is used to track the geographic location of the second electronic device according to the second information.
[0263] In some possible implementations of the embodiments of the present application, a public key sending module is also included, which is used to receive a first identifier uploaded by a first electronic device, and send a sub-public key corresponding to the first identifier to the first electronic device, where the sub-public key is generated based on the first identifier, a second key pair uploaded by a third electronic device, and index information of the second key pair.
[0264] In some possible implementations of the embodiments of the present application, a signature verification module is also included, which is used to send a third key pair to the first electronic device, the third key pair includes a third public key and a third private key, and the third private key is used by the first electronic device to sign the second information; according to the third public key, the signed second information uploaded by the first electronic device is verified.
[0265] In some possible implementations of the embodiments of the present application, an identification generation and sending module is used to receive first information uploaded by a fourth electronic device and a device identification of a second electronic device; based on the first information and the device identification, a first identification corresponding to the device identification is generated and sent to the fourth electronic device, and the fourth electronic device is used to forward the first identification to the second electronic device.
[0266] The device search device in the embodiment of the present application can be a device, or a component in an electronic device, such as an integrated circuit or a chip. Exemplarily, the electronic device can be a mobile phone, a tablet computer, a laptop computer, a PDA, an in-vehicle electronic device, a mobile Internet device (Mobile Internet Device, MID), an augmented reality (augmentedreality, AR) / virtual reality (virtual reality, VR) device, a robot, a wearable device, an ultra-mobile personal computer (ultra-mobile personal computer, UMPC), a netbook or a personal digital assistant (personal digital assistant, PDA), etc., and can also be a server, a network attached storage (Network Attached Storage, NAS), a personal computer (personal computer, PC), a television (television, TV), a teller machine or a self-service machine, etc., which is not specifically limited in the embodiment of the present application.
[0267] The electronic device in the embodiment of the present application may be a terminal with an operating system. The operating system may be an Android operating system, an iOS operating system, or other possible operating systems, which are not specifically limited in the embodiment of the present application.
[0268] The device provided in the embodiment of the present application can be used to execute the method in the above embodiment. Its implementation principle and technical effect are similar and will not be repeated here.
[0269] Fig.12 A schematic diagram of a framework of an electronic device provided in an embodiment of the present application, such as Fig.12 As shown, the electronic device 1200 includes a processor 1201 and a memory 1202. The memory 1202 stores programs or instructions that can be executed on the processor 1201. When the program or instructions are executed by the processor 1201, the various steps of the above-mentioned shooting method embodiment are implemented and the same technical effect can be achieved. To avoid repetition, they are not described here.
[0270] It should be noted that the electronic devices in the embodiments of the present application include the above-mentioned mobile terminals and non-mobile terminals.
[0271] Fig.13 Schematic diagram of the hardware structure of the electronic device provided in the embodiment of the present application. When the electronic device is the first electronic device mentioned above, Fig.13As shown, the electronic device 1300 includes but is not limited to: a radio frequency unit 1301, a network module 1302, an audio output unit 1303, an input unit 1304, a sensor 1305, a display unit 1306, a user input unit 1307, an interface unit 1308, a memory 1309, and a processor 1310 and other components.
[0272] Those skilled in the art will appreciate that the electronic device 1300 may also include a power source (such as a battery) for supplying power to each component, and the power source may be logically connected to the processor 1310 through a power management system, thereby implementing functions such as managing charging, discharging, and power consumption management through the power management system. Fig.13 The structure of the electronic device 1300 shown in the figure does not constitute a limitation on the electronic device 1300. The electronic device 1300 may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently, which will not be described in detail here.
[0273] Among them, the processor 1310 is used to receive the first identifier broadcast by the second electronic device, generate a first key pair, determine the encryption key according to the first identifier and the first private key; encrypt the current geographical location information of the first electronic device according to the encryption key; and upload the second information to the server.
[0274] In the embodiment of the present application, the lost second electronic device only needs to broadcast the randomly generated first identifier, and no longer needs to broadcast user information, thus avoiding the leakage of user information and improving information security. At the same time, the location reported by the assisting device is encrypted, so the actual identity and geographical location of the assisting device are anonymous to the server, and thus cannot be tracked and located, thereby improving the security of the assisting device.
[0275] In some possible implementations of the embodiments of the present application, the processor 1310 is specifically used to: obtain a sub-public key corresponding to the first identifier from the server according to the first identifier; and generate an encryption key according to the sub-public key and the first private key.
[0276] In some possible implementations of the embodiments of the present application, the processor 1310 is specifically used to: obtain a third key pair, the third key pair including a third public key and a third private key; sign the second information according to the third private key; and upload the signed second information to the server.
[0277] In some embodiments, when the electronic device is the second electronic device mentioned above, the processor 1310 is specifically used to: determine whether the second electronic device meets the device loss condition; if the second electronic device meets the device loss condition, broadcast the first identifier to the first electronic device.
[0278] In an embodiment of the present application, when the second electronic device is lost, it only needs to broadcast a series of random first identifiers, which do not contain the user's sensitive information, thereby avoiding the leakage of user information and ensuring information security.
[0279] In some embodiments, when the electronic device is the above-mentioned second electronic device, the processor 1310 is specifically used to: obtain the first information, the device identification of the second electronic device, the second key pair associated with the first information and the index information of the second key pair; and request the first identification from the server based on the first information, the device identification, the second key pair and the index information.
[0280] In some embodiments, when the electronic device is the second electronic device mentioned above, the processor 1310 is specifically used to: obtain a device identification of the second electronic device; and request a first identification from a fourth electronic device carrying the first information according to the device identification.
[0281] In some embodiments, when the electronic device is the third electronic device mentioned above, the processor 1310 is specifically used to: obtain first information, a second key pair associated with the first information, and index information of the second key pair; request the server to obtain the second information associated with the first information and the first identifier; decrypt the encrypted geographic location information according to the first identifier, the first public key, the second key pair and the index information.
[0282] In the embodiment of the present application, since the location reported by the assisting device is encrypted and invisible to the server, the encrypted location can be decrypted by the search device and the decrypted location can be finally viewed on the search device, thereby avoiding location leakage and preventing the assisting device from being tracked and located.
[0283] In some embodiments, when the electronic device is the third electronic device mentioned above, the processor 1310 is specifically used to: generate a sub-private key based on the first identifier, the second key pair and the index information; generate a decryption key based on the first public key and the sub-private key; and decrypt the encrypted geographic location information based on the decryption key.
[0284] An embodiment of the present application also provides a server, which is specifically used to: randomly generate a first identifier based on first information uploaded by a second electronic device and send it to the second electronic device; receive second information uploaded by the first electronic device; receive first information uploaded by a third electronic device, and send the second information associated with the first information and the first identifier to the third electronic device.
[0285] In some embodiments, the server is specifically used to: receive a first identifier uploaded by a first electronic device, and send a sub-public key corresponding to the first identifier to the first electronic device.
[0286] In some embodiments, the server is specifically used to: send the third key pair to the first electronic device, and verify the signed second information uploaded by the first electronic device based on the third public key.
[0287] In some embodiments, the server is specifically used to: receive first information uploaded by a fourth electronic device and a device identifier of a second electronic device; generate a first identifier corresponding to the device identifier based on the first information and the device identifier and send it to the fourth electronic device.
[0288] It should be understood that in the embodiment of the present application, the input unit 1304 may include a graphics processor (Graphics Processing Unit, GPU) 13041 and a microphone 13042, and the graphics processor 13041 processes the image data of the static picture or video obtained by the image capture device (such as a camera) in the video capture mode or the image capture mode. The display unit 1306 may include a display panel 13061, and the display panel 13061 may be configured in the form of a liquid crystal display, an organic light emitting diode, etc. The user input unit 1307 includes a touch panel 13071 and at least one of other input devices 13072. The touch panel 13071 is also called a touch screen. The touch panel 13071 may include two parts: a touch detection device and a touch controller. Other input devices 13072 may include, but are not limited to, a physical keyboard, function keys (such as volume control keys, switch keys, etc.), a trackball, a mouse, and a joystick, which will not be repeated here.
[0289] The memory 1309 can be used to store software programs and various data. The memory 1309 may mainly include a first storage area for storing programs or instructions and a second storage area for storing data, wherein the first storage area may store an operating system, an application program or instructions required for at least one function (such as a sound playback function, an image playback function, etc.), etc. In addition, the memory 1309 may include a volatile memory or a non-volatile memory, or the memory 1309 may include both volatile and non-volatile memories. Among them, the non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM), a static random access memory (SRAM), a dynamic random access memory (DRAM), a synchronous dynamic random access memory (SDRAM), a double data rate synchronous dynamic random access memory (DDRSDRAM), an enhanced synchronous dynamic random access memory (ESDRAM), a synchronous link dynamic random access memory (SLDRAM) and a direct memory bus random access memory (DRRAM). The memory 1309 in the embodiment of the present application includes but is not limited to these and any other suitable types of memory.
[0290] The processor 1310 may include one or more processing units; optionally, the processor 1310 integrates an application processor and a modem processor, wherein the application processor mainly processes operations related to an operating system, a user interface, and application programs, and the modem processor mainly processes wireless communication signals, such as a baseband processor. It is understandable that the modem processor may not be integrated into the processor 1310.
[0291] An embodiment of the present application also provides a readable storage medium, on which a program or instruction is stored. When the program or instruction is executed by a processor, each process of the above-mentioned shooting method embodiment is implemented, and the same technical effect can be achieved. To avoid repetition, it will not be repeated here.
[0292] The processor is the processor in the electronic device in the above embodiment. The readable storage medium includes a computer readable storage medium, such as a computer read-only memory ROM, a random access memory RAM, a magnetic disk or an optical disk.
[0293] An embodiment of the present application further provides a chip, which includes a processor and a communication interface, the communication interface and the processor are coupled, and the processor is used to run programs or instructions to implement the various processes of the above-mentioned shooting method embodiment, and can achieve the same technical effect. To avoid repetition, it will not be repeated here.
[0294] It should be understood that the chip mentioned in the embodiments of the present application can also be called a system-level chip, a system chip, a chip system or a system-on-chip chip, etc.
[0295] An embodiment of the present application provides a computer program product, which is stored in a storage medium. The program product is executed by at least one processor to implement the various processes of the above-mentioned shooting method embodiment and can achieve the same technical effect. To avoid repetition, it will not be repeated here.
[0296] It should be noted that, in this article, the terms "comprise", "include" or any other variant thereof are intended to cover non-exclusive inclusion, so that the process, method, article or device including a series of elements includes not only those elements, but also includes other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise one..." do not exclude the presence of other identical elements in the process, method, article or device including the element. In addition, it should be pointed out that the scope of the methods and devices in the embodiments of the present application is not limited to performing functions in the order shown or discussed, and may also include performing functions in a substantially simultaneous manner or in reverse order according to the functions involved, for example, the described method may be performed in an order different from that described, and various steps may also be added, omitted, or combined. In addition, the features described with reference to certain examples may be combined in other examples.
[0297] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present application, or the part that contributes to the relevant technology, can be embodied in the form of a computer software product, which is stored in a storage medium (such as ROM / RAM, a disk, or an optical disk), and includes a number of instructions for a terminal (which can be a mobile phone, a computer, a server, or a network device, etc.) to execute the methods described in each embodiment of the present application.
[0298] The embodiments of the present application are described above in conjunction with the accompanying drawings, but the present application is not limited to the above-mentioned specific implementation methods. The above-mentioned specific implementation methods are merely illustrative and not restrictive. Under the guidance of the present application, ordinary technicians in this field can also make many forms without departing from the purpose of the present application and the scope of protection of the claims, all of which are within the protection of the present application.
Claims
1. A device search method, characterized in that: Applied to a first electronic device, the method includes: receiving a first identifier broadcast by a second electronic device, where the first identifier is randomly generated by the server after the second electronic device requests the server according to first information input by a user; Generate a first key pair, the first key pair comprising a first public key and a first private key; Determine an encryption key according to the first identifier and the first private key; Encrypting the current geographical location information of the first electronic device according to the encryption key; Upload second information to the server, the second information at least including the encrypted geographic location information and the first public key, and after the second information is requested and decrypted by a third electronic device carrying the first information from the server, the third electronic device is used to track the location of the second electronic device.
2. The method according to claim 1, characterized in that The step of determining an encryption key according to the first identifier and the first private key includes: According to the first identifier, obtaining, from the server, a sub-public key corresponding to the first identifier, the sub-public key being generated by the server according to a second key pair, index information of the second key pair, and the first identifier, the second key pair and index information being pre-synchronized from the third electronic device to the server; An encryption key is generated according to the sub-public key and the first private key.
3. The method according to claim 1, characterized in that Uploading the second information to the server includes: Acquire a third key pair, wherein the third key pair includes a third public key and a third private key; Signing the second information according to the third private key; The signed second information is uploaded to the server, and the third public key is used by the server to verify the signed first information.
4. A device search method, characterized in that: Applied to a second electronic device, the method includes: Determining whether the second electronic device meets a device loss condition; In case the second electronic device meets the device loss condition, a first identifier is broadcast to the first electronic device, the first identifier is randomly generated by the server after requesting the server based on the first information input by the user, the first electronic device is used to upload second information to the server, the second information at least includes encrypted geographic location information and a first public key, and the second information is used by the third electronic device carrying the first information to track the location of the second electronic device after being requested and decrypted by the third electronic device from the server.
5. The method according to claim 4, characterized in that Before determining whether the second electronic device meets the device loss condition, the method further includes: Acquire the first information, a device identification of a second electronic device, a second key pair associated with the first information, and index information of the second key pair; The first identifier is obtained from the server by requesting the server according to the first information, the device identifier, the second key pair and the index information.
6. The method according to claim 4, characterized in that Before determining whether the second electronic device meets the device loss condition, the method further includes: Acquire a device identification of the second electronic device; According to the device identification, the first identification is requested from a fourth electronic device carrying the first information, and the fourth electronic device is used to initiate a request to a server to obtain the first identification according to the first information and the device identification.
7. A device search method, characterized in that: Applied to a third electronic device, the method includes: Acquire first information, a second key pair associated with the first information, and index information of the second key pair; Requesting the server to obtain second information and a first identifier associated with the first information, wherein the first identifier is randomly generated by the server after the second electronic device carrying the first information requests the server, and the second information at least includes encrypted geographic location information and a first public key, and the second information is uploaded to the server by the first electronic device after receiving the first identifier broadcast by the second electronic device; The encrypted geographic location information is decrypted according to the first identifier, the first public key, the second key pair and the index information, and the decrypted geographic location information is used to track the geographic location of the second electronic device.
8. The method according to claim 7, characterized in that The decrypting the encrypted geographic location information according to the first public key, the second key pair and the index information includes: Generate a sub-private key according to the first identifier, the second key pair and the index information; Generate a decryption key according to the first public key and the sub-private key; The encrypted geographical location information is decrypted according to the decryption key.
9. A device search method, characterized in that: Applied to the server, the method includes: Randomly generate a first identifier based on the first information uploaded by the second electronic device and send it to the second electronic device; receiving second information uploaded by a first electronic device, where the second information is uploaded by the first electronic device when the first electronic device receives a first identifier broadcast by the second electronic device, and the second information at least includes encrypted geographic location information and a first public key; The first information uploaded by the third electronic device is received, and the second information and the first identifier associated with the first information are sent to the third electronic device, and the third electronic device is used to track the geographical location of the second electronic device according to the second information.
10. The method according to claim 9, characterized in that Also includes: Receive a first identifier uploaded by the first electronic device, and send a sub-public key corresponding to the first identifier to the first electronic device, where the sub-public key is generated based on the first identifier, the second key pair uploaded by the third electronic device, and the index information of the second key pair.
11. The method according to claim 9, characterized in that Also includes: Sending a third key pair to the first electronic device, the third key pair including a third public key and a third private key, the third private key being used by the first electronic device to sign the second information; The signed second information uploaded by the first electronic device is verified according to the third public key.
12. The method according to claim 9, characterized in that Also includes: Receiving the first information uploaded by the fourth electronic device and the device identification of the second electronic device; A first identification corresponding to the device identification is generated according to the first information and the device identification and sent to the fourth electronic device, and the fourth electronic device is used to forward the first identification to the second electronic device.
13. A device search apparatus, characterized in that: include: an identification receiving module, configured to receive a first identification broadcast by a second electronic device, wherein the first identification is randomly generated by the server after the second electronic device requests the server according to first information input by a user; A key generation module, configured to generate a first key pair, wherein the first key pair includes a first public key and a first private key; A key determination module, used to determine an encryption key according to the first identifier and the first private key; A location encryption module, used to encrypt the current location information of the first electronic device according to the encryption key; An information uploading module is used to upload second information to the server, wherein the second information at least includes encrypted geographic location information and the first public key, and after the second information is requested and decrypted by a third electronic device carrying the first information from the server, the third electronic device is used to track the location of the second electronic device.
14. A device search apparatus, characterized in that: include: A condition determination module, used to determine whether the second electronic device meets the device loss condition; An identification broadcasting module is used to broadcast a first identification to a first electronic device when the second electronic device meets the device loss condition, the first identification being randomly generated by the server after requesting the server based on the first information input by the user, the first electronic device is used to upload second information to the server, the second information at least including encrypted geographic location information and a first public key, and the second information is used by a third electronic device carrying the first information to track the location of the second electronic device after being requested and decrypted by the third electronic device from the server.
15. A device search apparatus, characterized in that: include: An information acquisition module, used to acquire first information, a second key pair associated with the first information, and index information of the second key pair; an information search module, configured to request the server to obtain second information and a first identifier associated with the first information, wherein the first identifier is randomly generated by the server after the second electronic device carrying the first information requests the server, and the second information at least includes encrypted geographic location information and a first public key, and the second information is uploaded to the server by the first electronic device after receiving the first identifier broadcast by the second electronic device; The location decryption module is used to decrypt the encrypted geographic location information according to the first identifier, the first public key, the second key pair and the index information, and the decrypted geographic location information is used to track the geographic location of the second electronic device.
16. A device search apparatus, characterized in that: include: An identification sending module, used to randomly generate a first identification according to the first information uploaded by the second electronic device and send the first identification to the second electronic device; A second information receiving module, configured to receive second information uploaded by a first electronic device, wherein the second information is uploaded by the first electronic device when the first electronic device receives a first identifier broadcast by the second electronic device, and the second information at least includes encrypted geographic location information and a first public key; The first information receiving module is used to receive the first information uploaded by the third electronic device, and send the second information and the first identifier associated with the first information to the third electronic device, and the third electronic device is used to track the geographical location of the second electronic device according to the second information.
17. An electronic device, characterized in that: The electronic device includes a processor and a memory, wherein the memory stores programs or instructions that can be run on the processor, and when the programs or instructions are executed by the processor, the steps of the method as described in any one of claims 1 to 3 or 4-6 or 7-8 or 9-12 are implemented.
18. A readable storage medium, characterized in that: The readable storage medium stores programs or instructions, and when the programs or instructions are executed by the processor, the steps of the method as described in any one of claims 1 to 3 or 4-6 or 7-8 or 9-12 are implemented.