A real-time disease control and epidemic investigation method with location privacy protection

By encrypting user location information through smart terminals and uploading it to the cloud server for screening, the privacy, security and efficiency issues of health codes and Bluetooth contact logs are resolved, precise positioning and dynamic screening are achieved, and the security and efficiency of the epidemic investigation system are improved.

CN115618400BActive Publication Date: 2025-09-30XIDIAN UNIV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202210893765.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-07-27
Publication Date
2025-09-30
Estimated Expiration
2042-07-27

AI Technical Summary

Technical Problem

Existing health code products and Bluetooth contact logs have data privacy and security issues in epidemic prevention and control, low screening efficiency, inability to accurately locate and screen, high system power consumption and privacy leakage risks.

Method used

The user location information and quadtree node information are encrypted by smart terminals and uploaded to the cloud server. The cloud server performs screening tasks and uses quadtree node information and security search algorithms to identify close contacts. The disease control and epidemic investigation organization assists in the intermediate process.

Benefits of technology

It solves the privacy and security issues of health code data, improves screening efficiency, avoids the risk of privacy leakage caused by turning on Bluetooth, realizes precise positioning and dynamic screening, and improves the security and efficiency of the epidemic investigation system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115618400B_ABST
    Figure CN115618400B_ABST
Patent Text Reader

Abstract

The present invention discloses a real-time disease control and epidemic investigation method with location privacy protection, comprising: an intelligent terminal obtains current location information and quadtree node information, encrypts the information, and uploads the encrypted current location information and quadtree node information to a cloud server; the cloud server sends the encrypted quadtree node information to a disease control and epidemic investigation organization, and the disease control and epidemic investigation organization obtains the quadtree node information by decryption and returns a one-to-one corresponding obfuscated quadtree node; the cloud server stores the encrypted current location information into a quadtree storage node according to the obfuscated quadtree node; when a positive case is found, the disease control and epidemic investigation organization sends a query request containing a first identity identifier to the cloud server; the cloud server obtains the positive case between t1 and t n The first current location information and the corresponding first quadtree node information within the time window are used to determine the close contacts, and after screening out the second current location information and the second quadtree information of non-positive cases within the time window at each moment.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of epidemic prevention and control, and specifically relates to a real-time disease control and epidemiological investigation method with location privacy protection. Background Art

[0002] At present, the commonly used close contact screening methods are mainly divided into health code products and Bluetooth contact log products.

[0003] The health code product is a location tracking application developed by the National Integrated Government Service Platform during the COVID-19 epidemic. It is based on big data analysis and uses mini-programs as a carrier. It is used as a personal electronic pass. Users fill in personal information such as health status, travel history, place of residence, and whether they have been in contact with suspected or confirmed pneumonia patients. A QR code is automatically generated in three colors: red, yellow, and green, which dynamically displays the individual's epidemic risk level. The color of the health code can be used to indicate the user's health status in real time to assist in epidemic prevention and control. Although the health code product is technically very mature, it still has problems such as data security and privacy infringement, low efficiency in close contact screening, and inability to achieve accurate positioning and screening.

[0004] The Bluetooth contact log product uses the Bluetooth of the user's device as a communication medium to record the Bluetooth identification information of the user's close contacts in order to achieve a screening method for recording infected close contacts. Each user device records the Bluetooth device information of the current user's infection risk area in real time. When the user is infected with the new coronavirus, the contact information in the device will be uploaded to the server to track and remind close contacts. Through the Bluetooth contact log method, close contacts of positive infected persons can be tracked without leaking user information. Although the use of Bluetooth contact logs for epidemiological investigation can protect user personal data and has the advantages of efficiency and convenience, the need to turn on Bluetooth and obtain location permissions at the same time during use not only leads to higher system power consumption, but also poses a risk of privacy leakage when Bluetooth is turned on for a long time; in addition, the Bluetooth log product cannot dynamically adjust the time threshold, and when the epidemic prevention and control measures are adjusted, the close contact determination method cannot be dynamically adjusted. Summary of the Invention

[0005] In order to solve the above problems existing in the prior art, the present invention provides a real-time disease control and epidemic investigation method with location privacy protection. The technical problem to be solved by the present invention is achieved through the following technical solutions:

[0006] The present invention provides a real-time disease control and epidemic investigation method with location privacy protection, which is applied to an epidemic investigation system. The epidemic investigation system includes: an intelligent terminal, a cloud server, and a disease control and epidemic investigation organization;

[0007] The real-time disease control and epidemiological investigation method includes:

[0008] After the smart terminal obtains the user's current location information and the quadtree node information corresponding to the current location information, it encrypts the current location information and the quadtree node information, and uploads the encrypted current location information and the encrypted quadtree node information to the cloud server;

[0009] After the cloud server sends the encrypted quadtree node information to the disease control and epidemic investigation organization, the disease control and epidemic investigation organization obtains the quadtree node information by decryption, and returns the obfuscated quadtree nodes corresponding to each quadtree node in the quadtree node information to the cloud server;

[0010] The cloud server stores the encrypted current location information into a storage node of the quadtree according to the obfuscated quadtree node;

[0011] When a positive case is found, the disease control and epidemic investigation organization sends a query request containing a first identity identifier to the cloud server, where the first identity identifier is the identity identifier of the positive case;

[0012] The cloud server obtains the positive case from t1 to t n The first current location information and the corresponding first quadtree node information at each moment in the time window are obtained, and the second current location information and the corresponding second quadtree information of non-positive cases in the time window at each moment are selected;

[0013] The cloud server determines t1 to t2 according to the first current location information and the second current location information. n Close contacts within.

[0014] In one embodiment of the present invention, before the step of obtaining the user's current location information and the quadtree node information corresponding to the current location information, the smart terminal further includes:

[0015] The disease control and epidemic investigation organization receives the registration request sent by the smart terminal, where the registration request includes a user name and password;

[0016] When the user name and password meet the registration requirements, the disease control and epidemic investigation organization sends an identity identifier to the smart terminal;

[0017] When the disease control and epidemic investigation organization receives a login request from the smart terminal, it sends an encrypted public key to the smart terminal.

[0018] In one embodiment of the present invention, the intelligent terminal includes a data acquisition module, a quadtree node information acquisition module and a data encryption module;

[0019] After the smart terminal obtains the user's current location information and the quadtree node information corresponding to the current location information, the step of encrypting the current location information and the quadtree node information, and uploading the encrypted current location information and the encrypted quadtree node information to the cloud server includes:

[0020] The data acquisition module acquires the user's current GPS coordinates every preset time period and the current time t i and the current GPS coordinates Convert to current Mercator plane coordinates Get current location information;

[0021] The quadtree node information acquisition module obtains information based on the current location information and the preset infection risk distance d danger , calculation point The corresponding quadtree node position and point Centered at 2*d in length danger The quadtree node positions corresponding to the square vertices of subtrees i =[subtree i,1 ,subtree i,2 ,subtree i,3 ,subtree i,4 ], get the quadtree node information.

[0022] The data encryption module uses the PSHE encryption algorithm and the encryption public key to encrypt the current location information and the quadtree node information, and the encrypted current location information And the encrypted quadtree node information is uploaded to the cloud server.

[0023] In one embodiment of the present invention, the disease control and epidemic investigation organization includes a decryption module;

[0024] After the cloud server sends the encrypted quadtree node information to the disease control and epidemic investigation organization, the disease control and epidemic investigation organization obtains the quadtree node information by decryption, and returns the obfuscated quadtree node corresponding to each quadtree node in the quadtree node information to the cloud server, including:

[0025] After the cloud server sends the encrypted quadtree node information to the disease control and epidemic investigation organization, the decryption module obtains the quadtree node information through decryption, maps the quadtree node information according to a preset quadtree node list, and returns the obfuscated quadtree node corresponding to each quadtree node in the quadtree node information to the cloud server;

[0026] The preset quadtree node list is generated according to quadtrees of different structures in the cloud server.

[0027] In one embodiment of the present invention, the cloud server includes a quadtree access module, the first current location information includes first current Mercator plane coordinates of a positive case, and the second current location information includes second current Mercator plane coordinates of a non-positive case;

[0028] The cloud server determines t1 to t2 according to the first current location information and the second current location information. n The steps for close contacts within the

[0029] The quadtree access module determines whether the second current Mercator plane coordinate is within the rectangle using a rectangle fast and safe search algorithm based on the first current Mercator plane coordinate and the second current Mercator plane coordinate;

[0030] If not, the non-positive case is not a close contact; if so, the circular fast safety search algorithm is further used to determine whether the second current Mercator plane coordinate is within the circular risk area;

[0031] If so, the non-positive case is a close contact; if not, the non-positive case is not a close contact.

[0032] In one embodiment of the present invention, the cloud server determines t1 to t2 based on the first current location information and the second current location information. n Following the steps of close contact, it also includes:

[0033] Return the user IDs of all close contacts to the disease control and epidemic investigation organization;

[0034] The disease control and epidemic investigation organization notifies the corresponding smart terminal based on the user identification of the close contact.

[0035] In one embodiment of the present invention, it further comprises:

[0036] When an environmental positive test is detected, the disease control and epidemic investigation organization draws a convex polygon and a circumscribed rectangle of the convex polygon based on the preset area to be screened;

[0037] Get the vertex coordinate set of the convex polygon and the x-axis and y-axis ranges of the vertices of the circumscribed rectangle

[0038] Determine, from the quadtree, a first node where the vertices of the circumscribed rectangle intersect, and determine a first obfuscated node corresponding to the first node;

[0039] The PSHE encryption algorithm is used to encrypt the vertex coordinates and Points′ of the convex polygon.rectangle After encryption, the encrypted convex polygon vertex coordinates and encrypted Points′ rectangle , preset start time t start , preset end time t end and the first obfuscation node to the cloud server;

[0040] The cloud server determines [t start ,t end ] the identities of all non-positive cases passing through the circumscribed rectangle;

[0041] Obtaining the current position information to be filtered corresponding to the first obfuscated node, wherein the current position information to be filtered includes the current coordinates to be filtered;

[0042] The cloud server uses a rectangular fast safety search algorithm to determine whether the current coordinate to be screened is within the rectangle; if not, the non-positive case corresponding to the current coordinate to be screened is not a close contact; if so, the convex polygon inside and outside point safety discrimination algorithm is further used to determine whether the current coordinate to be screened is within the convex polygon;

[0043] If so, the non-positive case is a close contact; if not, the non-positive case is not a close contact.

[0044] Compared with the prior art, the present invention has the following beneficial effects:

[0045] The present invention realizes epidemic investigation based on the three-party architecture of disease control and epidemic investigation organization, cloud server and smart terminal. The smart terminal encrypts the user's current location information and the quadtree node information corresponding to the current location information and uploads it to the cloud server. All screening tasks are completed on the cloud server side. The disease control and epidemic investigation organization assists in the intermediate process, but the cloud server cannot obtain the user's specific real data. It not only solves the privacy and security issues of health code data, but also helps to improve screening efficiency.

[0046] The present invention will be further described in detail below with reference to the accompanying drawings and embodiments. BRIEF DESCRIPTION OF THE DRAWINGS

[0047] Figure 1 This is a flow chart of a real-time disease control and epidemic investigation method with location privacy protection provided by an embodiment of the present invention;

[0048] Figure 2 This is a structural block diagram of the flow adjustment system provided by an embodiment of the present invention;

[0049] Figure 3 This is a schematic diagram of a real-time disease control and epidemic investigation method with location privacy protection provided by an embodiment of the present invention;

[0050] Figure 4This is another schematic diagram of a real-time disease control and epidemic investigation method with location privacy protection provided by an embodiment of the present invention;

[0051] Figure 5 This is another schematic diagram of the real-time disease control and epidemic investigation method with location privacy protection provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0052] The present invention will be further described in detail below with reference to specific examples, but the embodiments of the present invention are not limited thereto.

[0053] Figure 1 This is a flow chart of a real-time disease control and epidemic investigation method with location privacy protection provided by an embodiment of the present invention. Figure 2 This is a structural block diagram of the flow adjustment system provided by the embodiment of the present invention. Figure 1-2 As shown, an embodiment of the present invention provides a real-time disease control and epidemic investigation method with location privacy protection, which is applied to an epidemic investigation system. The epidemic investigation system includes: an intelligent terminal, a cloud server, and a disease control and epidemic investigation organization;

[0054] The above-mentioned real-time disease control and epidemiological investigation methods include:

[0055] S1. After obtaining the user's current location information and the quadtree node information corresponding to the current location information, the smart terminal encrypts the current location information and the quadtree node information, and uploads the encrypted current location information and the encrypted quadtree node information to the cloud server;

[0056] S2. After the cloud server sends the encrypted quadtree node information to the disease control and epidemic investigation organization, the disease control and epidemic investigation organization obtains the quadtree node information by decryption and returns the obfuscated quadtree node corresponding to each quadtree node in the quadtree node information to the cloud server;

[0057] S3. The cloud server stores the encrypted current location information into the storage node of the quadtree according to the obfuscated quadtree node;

[0058] S4. When a positive case is found, the disease control and epidemic investigation organization sends a query request containing a first identity identifier to the cloud server, where the first identity identifier is the identity identifier of the positive case;

[0059] S5. The cloud server obtains the positive case from t1 to t n The first current location information and the corresponding first quadtree node information at each moment in the time window are obtained, and the second current location information and the corresponding second quadtree information of non-positive cases in the time window at each moment are selected;

[0060] S6. The cloud server determines t1 to t2 based on the first current location information and the second current location information. n Close contacts within.

[0061] Optionally, before the step of the smart terminal obtaining the user's current location information and the quadtree node information corresponding to the current location information, the step further includes:

[0062] The disease control and epidemic investigation organization receives the registration request sent by the smart terminal, which includes the user name and password;

[0063] When the username and password meet the registration requirements, the disease control and epidemic investigation organization sends the identity identifier to the smart terminal;

[0064] When the disease control and epidemic investigation organization receives a login request from a smart terminal, it sends an encrypted public key to the smart terminal.

[0065] Specifically, before the smart terminal obtains the user's current location information and the quadtree node information corresponding to the current location information, the flow adjustment system first initializes the parameters, which include: the number of quadtree layers is d tree , infection risk distance d danger Etc., and the cloud server, smart terminal and disease control and epidemic investigation organization initialize the quadtree structure; when the user registers on the smart terminal, he can enter his own user name, password and confirmation password. The smart terminal determines whether the password and confirmation password are the same. If they are the same, it sends a registration request to the disease control and epidemic investigation organization. Otherwise, it prompts that the password and confirmation password are different. After receiving the registration request, the disease control and epidemic investigation organization determines whether there is a user with the same name in the database. If so, it returns a prompt that the username is repeated. If not, the username and the password hash processed by the pbkdf2:sha256 algorithm are stored in the database, and then a randomly generated and unused identity identifier UUID is returned for subsequent data upload.

[0066] Furthermore, after the user successfully registers, they log in using their username and password. The smart terminal sends the username and password to the disease control and epidemic investigation organization. The disease control and epidemic investigation organization uses the pbkdf2:sha256 algorithm to calculate the password hash value and determines whether the result is the same as the password hash value when the username was registered. If they are the same, the login is successful; if they are different, the login fails. After the login is successful, the smart terminal requests the disease control and epidemic investigation organization to allocate a public key, and the disease control and epidemic investigation organization returns the public keys E(0)1 and E(0)2.

[0067] Optionally, the intelligent terminal includes a data acquisition module, a quadtree node information acquisition module and a data encryption module;

[0068] In the above step S1, after the smart terminal obtains the user's current location information and the quadtree node information corresponding to the current location information, the current location information and the quadtree node information are encrypted, and the encrypted current location information and the encrypted quadtree node information are uploaded to the cloud server, including:

[0069] S101: The data acquisition module acquires the user's current GPS coordinates every preset time period. and the current time t i and the current GPS coordinates Convert to current Mercator plane coordinates Get current location information;

[0070] S102, the quadtree node information acquisition module obtains information based on the current location information and the preset infection risk distance d danger , calculation point The corresponding quadtree node position and point Centered at 2*d in length danger The quadtree node positions corresponding to the square vertices of subtrees i =[subtree i,1 ,subtree i,2 ,subtree i,3 ,subtree i,4 ], get the quadtree node information.

[0071] S103, the data encryption module uses the PSHE encryption algorithm and the encryption public key to encrypt the current position information and the quadtree node information, and the encrypted current position information And the encrypted quadtree node information is uploaded to the cloud server.

[0072] Specifically, in step S101, the smart terminal obtains the current GPS (WGS84) position coordinates every preset time period. and the current time t i , and use the WGS84_to_Mercator coordinate conversion algorithm to Convert to Mercator plane coordinates Then convert the floating point Mercator plane coordinates into integer Mercator plane coordinates, that is, the current Mercator plane coordinates Get current location information.

[0073] Furthermore, the intelligent terminal uses the quadtree structure stored in itself to convert the current Mercator plane coordinates and the preset infection risk distance d danger Input into the quadtree access module of the cloud server and calculate The corresponding quadtree node position and point Centered at 2*d in length danger The quadtree node position corresponding to the square vertex is returned. Corresponding quadtree node position subtree i Quadtree node positions corresponding to square vertices subtrees i ; Among them, subtrees i =[subtree i,1 ,subtree i,2 ,subtree i,3 ,subtree i,4 ].

[0074] Smart terminals use the PSHE encryption algorithm and encrypted public key pair subtree i and subtrees i After processing, we get E(subtree i )、E(subtrees i )and Among them, E(subtrees i )=[E(subtree i,1 ),E(subtree i,2 ),E(subtree i,3 ),E(subtree i,4 )].

[0075] Smart terminals will include E(subtree i )、E(subtrees i )and The data information is encoded in JSON format and sent to the cloud server. For example, the data information is shown in Table 1:

[0076] Table 1

[0077]

[0078] Optionally, the disease control and epidemic investigation organization includes a decryption module;

[0079] After the cloud server sends the encrypted quadtree node information to the disease control and epidemic investigation organization, the disease control and epidemic investigation organization obtains the quadtree node information by decryption, and returns the obfuscated quadtree node corresponding to each quadtree node in the quadtree node information to the cloud server, including:

[0080] After the cloud server sends the encrypted quadtree node information to the disease control and epidemic investigation organization, the decryption module obtains the quadtree node information through decryption, maps the quadtree node information according to the preset quadtree node list, and returns the obfuscated quadtree node corresponding to each quadtree node in the quadtree node information to the cloud server;

[0081] The preset quadtree node list is generated according to quadtrees of different structures in the cloud server.

[0082] In this embodiment, after the cloud server receives the data information sent by the smart terminal, it takes out E(subtree i ) and E(subtrees i ), and E(subtree i ) and E(subtrees i ) is sent to the disease control and epidemic investigation organization, and the decryption module in the disease control and epidemic investigation organization uses the PSHE decryption algorithm to decrypt and obtain subtree i and subtrees i ; Then, the disease control and epidemic investigation organization will decrypt the obtained subtree i and subtrees i According to the quadtree node list mapping, the actual quadtree is mapped with the quadtree of different structures on the server side to obtain the corresponding obfuscated quadtree node: subtree′ i and subtrees′ i ,in:

[0083] subtrees′ i =[E(subtree′ i,1 ),E(subtree′ i,2 ),E(subtree′ i,3 ),E(subtree′ i,4 )].

[0084] Furthermore, the disease control and epidemiological investigation organization will subtree i and subtrees′ i Return to the cloud server, the cloud service stores the data information in subtree′ i The corresponding cloud server storage node.

[0085] Optionally, the cloud server includes a quadtree access module, the first current location information includes a first current Mercator plane coordinate of the positive case, and the second current location information includes a second current Mercator plane coordinate of the non-positive case;

[0086] In the above step S5, the cloud server determines t1 to t2 based on the first current location information and the second current location information.n The steps for close contacts within the

[0087] S501, the quadtree access module uses a rectangle fast and safe search algorithm to determine whether the second current Mercator plane coordinate is within a rectangle based on the first current Mercator plane coordinate and the second current Mercator plane coordinate;

[0088] S502: If not, the non-positive case is not a close contact; if so, further use the circular fast safety search algorithm to determine whether the second current Mercator plane coordinate is within the circular risk area;

[0089] S503. If yes, the non-positive case is a close contact; if no, the non-positive case is not a close contact.

[0090] Figure 3 This is a schematic diagram of a real-time disease control and epidemic investigation method with location privacy protection provided by an embodiment of the present invention. Figure 3 During the close contact screening process for positive transmission of the virus, the disease control and epidemic investigation organization sends the UUID of the positive case to the cloud server and requests to query the close contacts of the user in the past 14 days. The cloud server selects the first current location information of the positive case in the past 14 days based on the UUID of the positive case. ill For example, Track ill As shown in Table 2 below:

[0091] Table 2

[0092]

[0093] Where n represents the total amount of first current location information uploaded by positive cases in the past 14 days;

[0094] Next, from Track ill Starting from the first line, first use the quadtree access module to obtain the data to be screened according to subtrees′1, and then filter out the second current position information Track within the time period [t1-period, t1+period] from the non-positive track according to time t1 mayill It should be understood that Track mayill with Track ill The form is consistent. The quadtree access module uses a rectangular fast and safe search algorithm to determine Track in turn. mayill Each second current Mercator plane coordinate (Ex mayill ,Ey mayill ) is within the rectangle; if not, the non-positive case is not a close contact; if so, the circular fast and safe search algorithm is further used to determine the second current Mercator plane coordinate (Ex mayill,Ey mayill ) is within the circular risk area; if so, the non-positive case is a close contact; if not, the non-positive case is not a close contact.

[0095] From t1 to t n After repeating the above process to obtain close contacts at each moment, the UUIDs of all close contacts finally screened out are returned to the disease control and epidemic investigation organization, which notifies the corresponding smart terminal based on the user ID of the close contact.

[0096] Furthermore, this embodiment illustrates a rectangular fast and safe search algorithm and a circular fast and safe search algorithm.

[0097] Specifically, in the rectangle search algorithm, the input parameters include: the coordinates of the center point of the rectangle are (x0, y0), which are (E(x0), E(y0)) in ciphertext, the coordinates of the point to be screened are (x, y), which are (E(x), E(y)) in ciphertext, the length of the rectangle is length, and the width is width. Constants can be obtained based on the length and width values. These constants are mainly used to determine the coordinate range of the rectangle later.

[0098] In plain text, as long as (x0, y0) and (x, y) meet the following conditions, they can be judged to be inside the rectangle:

[0099]

[0100]

[0101] The above inequality can also be transformed into:

[0102]

[0103]

[0104] If the input meets the above conditions, it returns True, otherwise it returns False.

[0105] Subtraction cannot be performed under ciphertext, but it can be converted into addition for calculation, that is, E(m1)+E(-m2)=E(m1-m2).

[0106] Under ciphertext, the following conditions need to be met:

[0107]

[0108]

[0109] Or the following conditions:

[0110]

[0111]

[0112] If the input meets the above conditions, it returns True, otherwise it returns False.

[0113] Algorithm output:

[0114] If (x,y) is in the rectangle centered at (x0,y0), output True; if (x,y) is not in the rectangle centered at (x0,y0), output False.

[0115] For the specific algorithm of fast and safe circle search, its input includes the center of the circle (x0, y0), the radius of the circle r and the point to be judged (x, y);

[0116] In plain text, if the point to be judged (x, y) is inside or on the circle, then the following conditions are met:

[0117] (x-x0)·(x-x0)+(y-y0)·(y-y0)≤r 2

[0118] If the above conditions are met, the point is inside or on the circle and the output is True; otherwise, the point is outside the circle and the output is False.

[0119] Since only addition and multiplication can be performed under ciphertext, the following conditions must be met under ciphertext:

[0120] Dec(E(x)·E(x)+E(y)·E(y)+E(x0)·E(x0)+E(y0)·E(y0))

[0121] ≤Dec(r 2 +2*E(x0)*E(x)+2*E(y0)*E(y))

[0122] If the above conditions are met, the point is inside or on the circle and True is output; if the above conditions are not met, the point is outside the circle and False is output.

[0123] Figure 4 This is another schematic diagram of the real-time disease control and epidemic investigation method with location privacy protection provided by an embodiment of the present invention. Figure 4 As shown, when an environmental positive test occurs, the disease control and epidemic investigation organization draws a convex polygon and the circumscribed rectangle of the convex polygon based on the preset area to be screened;

[0124] Get the vertex coordinate set of the convex polygon and the x-axis and y-axis ranges of the vertices of the circumscribed rectangle

[0125] Determine the first node where the vertices of the circumscribed rectangle intersect from the quadtree, and determine the first confusion node corresponding to the first node;

[0126] Use PSHE encryption algorithm to encrypt the vertex coordinates and Points′ of convex polygons rectangke After encryption, the encrypted convex polygon vertex coordinates and encrypted Points′ rectangle , preset start time t start , preset end time t end and the first obfuscation node to the cloud server;

[0127] Cloud Server Confirmation start ,t end ] The identities of all non-positive cases passing through the circumscribed rectangle;

[0128] Obtaining the current position information to be filtered corresponding to the first obfuscation node, where the current position information to be filtered includes the current coordinates to be filtered;

[0129] The cloud server uses a fast rectangular security search algorithm to determine whether the current coordinates to be screened are within the rectangle; if not, the non-positive case corresponding to the current coordinates to be screened is not a close contact; if so, the convex polygon inside and outside point security judgment algorithm is further used to determine whether the current coordinates to be screened are within the convex polygon;

[0130] If yes, the non-positive case is a close contact; if no, the non-positive case is not a close contact.

[0131] Specifically, when screening close contacts of positive environmental transmission, the disease control and epidemic investigation organization delineates a convex polygon based on the preset area to be screened, and can obtain the point set Points of the convex polygon in the clockwise direction.

[0132]

[0133] According to Points, you can get the x and y axis ranges of the convex polygon's circumscribed rectangle. rectangle ,

[0134] Then, use the WGS84_to_Mercator coordinate conversion algorithm to convert Points and Points rectangle Convert to Mercator plane coordinates Points mercator and Then Points mercator and All floating point data in are converted into integers to get Points′ and Points′ rectangle .

[0135] in,

[0136] Disease control and epidemic investigation organization based on Points′ rectangle Determine the quadtree child nodes where the convex polygon's bounding rectangle intersects. Here, the quadtree efficient access module can be used to determine

[0137]

[0138]

[0139] The four points are located in the quadtree nodes, so we can get PointTree.

[0140] PointTree=[subtree1,subtree2,…,subtree n ]

[0141] PointTree contains subtree nodes that intersect with the convex polygon's circumscribed rectangle. Because the convex polygon's circumscribed rectangle contains the convex polygon, PointTree here can represent the quadtree node occupied by the convex polygon.

[0142] The disease control and epidemic investigation organization maps the obtained real-world quadtree node PointTree, that is, maps the real-world quadtree with the quadtree of different structures on the server to obtain the first confused node PointTree′; where PointTree′=[subtree′1,subtree′2,…,subtree′ n ].

[0143] The disease control and epidemic investigation organization uses the PSHE encryption algorithm to encrypt Points′ and Points′ rectangle Encrypt the data in and get EPoints′ and EPoints′ rectangle ;

[0144]

[0145]

[0146] Disease control and epidemic investigation organizations define a specific time range [t start ,t end ], t start and t end A timestamp in integer form;

[0147] The disease control and epidemic investigation organization organizes the above data into json format

[0148] Sdata={

[0149] "start_time":t start ,

[0150] "end_time":t end ,

[0151] "subtree":PointTree′,

[0152] "points":EPoints′,

[0153] "rectangle":EPoints′ rectangle}

[0154] Then send the data Sdata to the cloud server and query [t start ,t end ]The UUIDs of all people who passed through the convex polygon area surrounded by Points during the time period.

[0155] The cloud server receives the data Sdata from the disease control and epidemic investigation organization, and uses the quadtree access module according to PointTree′ to extract all the node data in PointTree′, and then calculates the data according to the time period [t start ,t end ]Filter all data within this period Track healthy ; Cloud server for Track healthy Each row of data in (E(x j ),E(y j )), using the rectangular fast and safe search algorithm, the judgment point (E(x j ),E(y j )) Is it in the rectangle Points rectangle Get the data table Track within the rectangle rectangle ; Cloud server for Track rectangle In each row of data (E(x m ),E(y m )), using the convex polygon internal and external point security judgment algorithm, judge (E(x m ),E(y m )) is within the convex polygon enclosed by EPoints′. If so, it is a close contact. Finally, the UUIDs of all close contacts are obtained - UUIDs;

[0156] UUIDs=[UUID1,UUID2,UUID3,…]

[0157] The cloud server returns UUIDs to the disease control and epidemic investigation organization.

[0158] Next, this embodiment describes the algorithm for determining the safety of internal and external points of a convex polygon.

[0159] It should be understood that the algorithm for safely distinguishing points inside and outside a convex polygon based on the vector inner product method is mainly used to determine whether a point is inside any specified convex polygon.

[0160] Specifically, given a point and a line, the inner product can be used to determine which side of the line the point is on; if Then point O is On the right side, if Then point O is On the left side, if Then point O is By analogy, if point O is inside the convex polygon or on its edge, then:

[0161]

[0162]

[0163]

[0164]

[0165]

[0166] For the algorithm of safety judgment of internal and external points of convex polygon, its input includes the point to be judged O(x0,y o ) and the convex polygon clockwise point set area==[A(x1,y1),B(x2,y2),C(x3,y3),…,E(x n ,y n )], the output is True or False, True means the point is inside or on the edge of the convex polygon, False otherwise.

[0167] For the sake of convenience, take the case where the convex polygon is a pentagon as an example, and its vertices are in clockwise order: A(x a ,y a ),B(x b ,y b ),C(x c ,y c ),D(x d ,y d ),E(x e ,y e ).

[0168] The following conditions must be met in plain text:

[0169]

[0170]

[0171]

[0172]

[0173]

[0174]

[0175]

[0176]

[0177]

[0178]

[0179] The following conditions must be met in plaintext and ciphertext:

[0180]

[0181]

[0182] The calculation method is the same as and The corresponding ciphertext expression can be derived in the same way.

[0183] If the point O(x0,y o ) is within the convex polygon enclosed by the point set area, that is, if the above conditions are met, then return True; otherwise, return False.

[0184] In addition, the epidemiological investigation method provided by the present invention can also trace the correlation of existing positive patients.

[0185] Figure 5 This is another schematic diagram of a real-time disease control and epidemic investigation method with location privacy protection provided by an embodiment of the present invention. Figure 5 As shown, the disease control and epidemic investigation organization will use the UUIDs of known positive cases = [UUID1, UUID2, UUID3, ..., UUID n ] is sent to the cloud server, and the cloud server obtains the trajectory data of all positive patients in UUIDs Track ill ; Select each patient's track in turn i Track the trajectory of other patients -i , then for Track i The time t in each row of data iDo the filtering on the time dimension and get [t i -period,t i All data within the [+period] time period use The coordinates and Track of each row of data i The first row of data in (E(x i ),E(y i )) Perform a circular fast and safe search algorithm to determine Whether the coordinate points of each row of data are in (E(x i ),E(y i )) is the center of the circle and the radius is d danger If yes, it means that there may be an infection connection between the two positive cases. Otherwise, screen Track i The next row of data until Track i The last line ends;

[0186] Repeat the above steps until all positive patients are screened, obtain the edges of the association network of all positive patients, and return them to the disease control and epidemic investigation organization. The disease control and epidemic investigation organization can obtain the infection relationship association graph of all patients based on the association network.

[0187] It should be noted that when using the rectangle, circle, and convex polygon fast security screening algorithm for judgment, the decryption module also needs to perform decryption. For example, when determining whether a point is within the above rectangle / circle / convex polygon, the size judgment operation requires decryption judgment. Because only the disease control and epidemic investigation organization has the encryption private key, it is the only one that can decrypt. Therefore, the corresponding data needs to be sent to the disease control and epidemic investigation organization. After the decryption judgment is performed, the size relationship between the data can be returned.

[0188] It can be seen from the above embodiments that the beneficial effects of the present invention are:

[0189] (1) The present invention implements epidemiological investigation based on a three-party architecture consisting of a disease control and epidemic investigation organization, a cloud server, and an intelligent terminal. The intelligent terminal encrypts the user's current location information and the quadtree node information corresponding to the current location information and uploads it to the cloud server. All screening tasks are completed on the cloud server side. The disease control and epidemic investigation organization assists in the intermediate process, but the cloud server cannot obtain the user's specific real data. This not only solves the privacy and security issues of health code data, but also helps to improve screening efficiency.

[0190] (2) The screening function of the present invention is coordinated by the cloud server and the disease control and epidemic investigation organization, which can solve the problem of low efficiency of health code screening.

[0191] (3) The smart terminal of the present invention can upload location information in any place with a signal, and is not limited to closed areas, thus solving the problem that the health code cannot achieve accurate positioning and screening.

[0192] (4) The smart terminal of the present invention only needs to enable location permission, which solves the problem that the Bluetooth contact log requires the location permission and Bluetooth to be enabled at the same time and the security problem caused by long-term Bluetooth activation.

[0193] (5) Based on encrypted location information, the present invention can screen users passing through a fixed area, solving the problem that Bluetooth contact logs cannot screen people who are infected due to positive environmental factors.

[0194] (6) The cloud server in the present invention stores the user's real-time encrypted location information, so the screening findings can be dynamically adjusted during screening, solving the problem of the inability to dynamically adjust the time threshold of the Bluetooth contact log and the problem of the inaccurate "time-space infected person screening" method.

[0195] In the description of the present invention, the terms "first" and "second" are used for descriptive purposes only and should not be understood to indicate or imply relative importance or implicitly specify the number of the technical features indicated. Therefore, a feature specified as "first" or "second" may explicitly or implicitly include one or more of the features. In the description of the present invention, "plurality" means two or more, unless otherwise specifically defined.

[0196] In the description of this specification, the reference terms "one embodiment", "some embodiments", "example", "specific example", or "some examples" mean that the specific features, structures, materials, or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present invention. In this specification, the schematic representations of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials, or characteristics described can be combined in any appropriate manner in any one or more embodiments or examples. In addition, those skilled in the art can combine and combine different embodiments or examples described in this specification.

[0197] Although the present application is described herein in conjunction with various embodiments, in the process of implementing the claimed application, those skilled in the art may understand and implement other variations of the disclosed embodiments by reviewing the drawings, the disclosure, and the appended claims. In the claims, the word "comprising" does not exclude other components or steps, and "a" or "an" does not exclude a plurality of components or steps. The fact that certain measures are recited in different dependent claims does not mean that these measures cannot be combined to produce good results.

[0198] The above is a further detailed description of the present invention in conjunction with specific preferred embodiments, and the specific implementation of the present invention should not be considered to be limited to these descriptions. For those skilled in the art of the present invention, without departing from the concept of the present invention, several simple deductions or substitutions can be made, which should be considered to fall within the scope of protection of the present invention.

Claims

1. A real-time disease control and epidemic investigation method with location privacy protection, characterized in that: Applied to the epidemic investigation system, which includes: intelligent terminals, cloud servers and disease control epidemic investigation organizations; The real-time disease control and epidemiological investigation method includes: After the smart terminal obtains the user's current location information and the quadtree node information corresponding to the current location information, it encrypts the current location information and the quadtree node information, and uploads the encrypted current location information and the encrypted quadtree node information to the cloud server; After the cloud server sends the encrypted quadtree node information to the disease control and epidemic investigation organization, the disease control and epidemic investigation organization obtains the quadtree node information by decryption, and returns the obfuscated quadtree nodes corresponding to each quadtree node in the quadtree node information to the cloud server; The cloud server stores the encrypted current location information into a storage node of the quadtree according to the obfuscated quadtree node; When a positive case is found, the disease control and epidemic investigation organization sends a query request containing a first identity identifier to the cloud server, where the first identity identifier is the identity identifier of the positive case; The cloud server obtains the positive case from t1 to t n The first current location information and the corresponding first quadtree node information at each moment in the time window are obtained, and the second current location information and the corresponding second quadtree information of non-positive cases in the time window at each moment are selected; The cloud server determines t1 to t2 according to the first current location information and the second current location information. n Close contacts within; The disease control and epidemic investigation organization includes a decryption module; After the cloud server sends the encrypted quadtree node information to the disease control and epidemic investigation organization, the disease control and epidemic investigation organization obtains the quadtree node information by decryption, and returns the obfuscated quadtree node corresponding to each quadtree node in the quadtree node information to the cloud server, including: After the cloud server sends the encrypted quadtree node information to the disease control and epidemic investigation organization, the decryption module obtains the quadtree node information through decryption, maps the quadtree node information according to a preset quadtree node list, and returns the obfuscated quadtree node corresponding to each quadtree node in the quadtree node information to the cloud server; Wherein, the preset quadtree node list is generated according to the quadtrees of different structures in the cloud server; The cloud server includes a quadtree access module, the first current location information includes a first current Mercator plane coordinate of a positive case, and the second current location information includes a second current Mercator plane coordinate of a non-positive case; The cloud server determines t1 to t2 according to the first current location information and the second current location information. n The steps for close contacts within the The quadtree access module determines whether the second current Mercator plane coordinate is within the rectangle using a rectangle fast and safe search algorithm based on the first current Mercator plane coordinate and the second current Mercator plane coordinate; If not, the non-positive case is not a close contact; if so, the circular fast safety search algorithm is further used to determine whether the second current Mercator plane coordinate is within the circular risk area; If so, the non-positive case is a close contact; if not, the non-positive case is not a close contact.

2. The real-time disease control and epidemic investigation method with location privacy protection according to claim 1 is characterized in that: Before the step of the smart terminal acquiring the user's current location information and the quadtree node information corresponding to the current location information, the method further includes: The disease control and epidemic investigation organization receives the registration request sent by the smart terminal, where the registration request includes a user name and password; When the user name and password meet the registration requirements, the disease control and epidemic investigation organization sends an identity identifier to the smart terminal; When the disease control and epidemic investigation organization receives a login request from the smart terminal, it sends an encrypted public key to the smart terminal.

3. The real-time disease control and epidemic investigation method with location privacy protection according to claim 2 is characterized in that: The intelligent terminal includes a data acquisition module, a quadtree node information acquisition module and a data encryption module; After the smart terminal obtains the user's current location information and the quadtree node information corresponding to the current location information, the step of encrypting the current location information and the quadtree node information, and uploading the encrypted current location information and the encrypted quadtree node information to the cloud server includes: The data acquisition module acquires the user's current GPS coordinates every preset time period and the current time t i and the current GPS coordinates Convert to current Mercator plane coordinates Get current location information; The quadtree node information acquisition module obtains information based on the current location information and the preset infection risk distance d danger , calculation point The corresponding quadtree node position and point Centered at 2*d in length danger The quadtree node positions corresponding to the square vertices of subtrees i =[subtree i,1 ,subtree i,2 ,subtree i,3 ,subtree i,4 ], get the quadtree node information; The data encryption module uses the PSHE encryption algorithm and the encryption public key to encrypt the current location information and the quadtree node information, and the encrypted current location information And the encrypted quadtree node information is uploaded to the cloud server.

4. The real-time disease control and epidemic investigation method with location privacy protection according to claim 1 is characterized in that: The cloud server determines t1 to t2 according to the first current location information and the second current location information. n Following the steps of close contact, it also includes: Return the user IDs of all close contacts to the disease control and epidemic investigation organization; The disease control and epidemic investigation organization notifies the corresponding smart terminal based on the user identification of the close contact.

5. The real-time disease control and epidemic investigation method with location privacy protection according to claim 1 is characterized in that: Also includes: When an environmental positive test is detected, the disease control and epidemic investigation organization draws a convex polygon and a circumscribed rectangle of the convex polygon based on the preset area to be screened; Get the vertex coordinate set of the convex polygon and the x-axis and y-axis ranges of the vertices of the circumscribed rectangle Determine, from the quadtree, a first node where the vertices of the circumscribed rectangle intersect, and determine a first obfuscated node corresponding to the first node; The PSHE encryption algorithm is used to encrypt the vertex coordinates and Points′ of the convex polygon. rectangle After encryption, the encrypted convex polygon vertex coordinates and encrypted Points′ rectabgle , preset start time t start , preset end time t end and the first obfuscation node to the cloud server; The cloud server determines [t start ,t end ] the identities of all non-positive cases passing through the circumscribed rectangle; Obtaining the current position information to be filtered corresponding to the first obfuscated node, wherein the current position information to be filtered includes the current coordinates to be filtered; The cloud server uses a rectangular fast safety search algorithm to determine whether the current coordinate to be screened is within the rectangle; if not, the non-positive case corresponding to the current coordinate to be screened is not a close contact; if so, the convex polygon inside and outside point safety discrimination algorithm is further used to determine whether the current coordinate to be screened is within the convex polygon; If so, the non-positive case is a close contact; if not, the non-positive case is not a close contact.