WO2022163991A1 - 특정인에 대한 근접성을 결정하기 위한 장치, 방법 및 명령을 기록한 기록 매체 - Google Patents

특정인에 대한 근접성을 결정하기 위한 장치, 방법 및 명령을 기록한 기록 매체 Download PDF

Info

Publication number
WO2022163991A1
WO2022163991A1 PCT/KR2021/017606 KR2021017606W WO2022163991A1 WO 2022163991 A1 WO2022163991 A1 WO 2022163991A1 KR 2021017606 W KR2021017606 W KR 2021017606W WO 2022163991 A1 WO2022163991 A1 WO 2022163991A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
movement
user
encrypted
specific person
Prior art date
Application number
PCT/KR2021/017606
Other languages
English (en)
French (fr)
Inventor
이승명
박준홍
안용대
정승우
Original Assignee
주식회사 디사일로
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 디사일로 filed Critical 주식회사 디사일로
Publication of WO2022163991A1 publication Critical patent/WO2022163991A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/26Government or public services
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B21/00Alarms responsive to a single specified undesired or abnormal condition and not otherwise provided for
    • G08B21/02Alarms for ensuring the safety of persons
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/80ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for detecting, monitoring or modelling epidemics or pandemics, e.g. flu
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols

Definitions

  • This disclosure relates to techniques for determining proximity to a particular person.
  • quarantine authorities are mobilizing various methods.
  • a method of tracing and isolating people who have been close by determining whether people have been close to a confirmed person based on the movement of the confirmed person can be used.
  • the movement of the confirmed person is disclosed to the public, and people can judge whether or not they have been close to the confirmed person by preparing for their own movement and the movement of the confirmed person.
  • Disaster messages can be used to inform the public of the movement of a confirmed patient.
  • people are less likely to check the disaster text message, so there is a problem that the warning effect is reduced.
  • a method in which the quarantine authorities disclose the movement of the confirmed person on a designated web page can be utilized.
  • access to the information may be relatively low.
  • information about the movement of a confirmed patient is disclosed to the public in any way, there may be concerns about invasion of privacy and human rights.
  • This disclosure provides techniques for determining proximity to a particular person.
  • An apparatus for determining proximity to a specific person includes one or more processors; and one or more memories storing instructions that, when executed by the one or more processors, cause the one or more processors to perform an operation, wherein the one or more processors converts first movement information indicating a movement of a specific person to a homomorphic encryption algorithm Obtaining the homomorphic-encrypted first movement line information from a server that homomorphically encrypts based on, and obtaining, from the one or more memories, second movement information indicating the user's movement line information, the homomorphic-encrypted first movement line information and Based on the second movement line information, determine homomorphic encrypted proximity information indicating whether the user has been close to the specific person, and deliver the isomorphic encrypted proximity information to the server - the homomorphic encrypted proximity information
  • the information is decrypted by the server - and an alarm delivered from the server may be acquired based on the decrypted proximity information
  • the first movement line information includes time information indicating one time point and location information indicating the location of the specific person at the one time point, and the second movement line information indicates the one time point. and location information indicating the location of the user at the one point in time.
  • the homomorphic-encrypted first movement line information is converted to indicate a grid corresponding to the location of the specific person in a grid system in which the location information of the first movement line information discretizes and represents geographic space. It is a homomorphic encryption of first movement information, and the one or more processors convert the second movement information so that the location information of the second movement information indicates a grid corresponding to the location of the user in the grid system, and the Determine the homomorphic-encrypted proximity information indicating whether the specific person and the user were located in the same grid or an adjacent grid in the grid system, based on the isomorphic-encrypted first movement information and the converted second movement information can
  • the decoded proximity information indicates a single preset reference value when the specific person and the user are located in the same grid or an adjacent grid, and the specific person and the user are located in the same grid or adjacent grid. If not, a value other than the reference value may be indicated.
  • the one or more processors obtain, according to a determination of the server that the decrypted proximity information indicates the reference value, a first alarm indicating that the user has been close to the specific person, According to the determination of the server that the decoded proximity information indicates a value other than the reference value, a second alarm indicating that the user does not have a history of proximity to the specific person may be acquired.
  • the first alarm may include time information and location information of the first movement line information.
  • the one or more processors obtain information indicating the size of the grid of the grid system from the server, and based on the information indicating the size of the grid, the location information of the second movement line information is The second movement line information may be converted to indicate a grid corresponding to the user's location in the grid system.
  • the location information of the second movement line information may be Global Positioning System (GPS) coordinates indicating the location of the user at the one time point.
  • GPS Global Positioning System
  • each of the first movement information and the second movement information may include one or more pairs of viewpoint information and location information.
  • the first movement information indicates only a movement line corresponding to a preset period among the movement lines of the specific person, and the one or more processors, from the one or more memories, correspond to the preset period among the movement lines of the user It is possible to obtain the second movement line information indicating the movement line.
  • the homomorphic encryption algorithm is a Brakerski/Fan-Vercauteren (BFV) algorithm, a Brakerski-Gentry-Vaikuntanathan (BGV) algorithm, a Torus Fully Homomorphic Encryption (TFHE) algorithm, and a Cheon-Kim-Kim-Song (CKKS) algorithm.
  • BFV Brakerski/Fan-Vercauteren
  • BGV Brakerski-Gentry-Vaikuntanathan
  • TFHE Torus Fully Homomorphic Encryption
  • CKKS Cheon-Kim-Kim-Song
  • a method for determining proximity to a specific person includes, by one or more processors, obtaining, from a server that homogeneously encrypts first movement information indicating a movement of a specific person based on a homomorphic encryption algorithm, the homomorphic-encrypted first movement information ; obtaining, by the one or more processors, second movement information indicating the user's movement route from one or more memories; determining, by the one or more processors, homomorphic-encrypted proximity information indicating whether the user was close to the specific person, based on the homomorphically-encrypted first movement information and the second movement information; forwarding, by the one or more processors, the isomorphic encrypted proximity information to the server, wherein the isomorphic encrypted proximity information is decrypted by the server; and obtaining, by the one or more processors, an alarm transmitted from the server based on the decrypted proximity information.
  • the first movement line information includes time information indicating one time point and location information indicating the location of the specific person at the one time point, and the second movement line information indicates the one time point. and location information indicating the location of the user at the one point in time.
  • the homomorphic-encrypted first movement line information is the first movement line converted to indicate a grid corresponding to the location of the specific person in a grid system in which the location information of the first movement line information discretizes geographic space
  • the decoded proximity information indicates a single preset reference value when the specific person and the user are located in the same grid or an adjacent grid, and the specific person and the user are located in the same grid or adjacent grid. If not, a value other than the reference value may be indicated.
  • the acquiring of the alarm transmitted from the server includes: a first indicating that the user was close to the specific person according to the determination of the server that the decoded proximity information indicates the reference value acquiring an alarm; Alternatively, according to the server's determination that the decoded proximity information indicates a value other than the reference value, acquiring a second alarm indicating that the user does not have a history of proximity to the specific person.
  • the first alarm may include time information and location information of the first movement line information.
  • the location information of the second movement line information may be GPS coordinates indicating the location of the user at the one time point.
  • each of the first movement information and the second movement information may include one or more pairs of viewpoint information and location information.
  • a non-transitory computer-readable recording medium recording instructions for determining proximity to a specific person.
  • the instructions recorded on the recording medium are instructions to be executed on a computer, and when executed by one or more processors, the one or more processors converts first movement information indicating the movement of a specific person to a homomorphic encryption algorithm Obtaining the homomorphic-encrypted first movement line information from a server that performs homomorphic encryption based on, obtains second movement line information indicating the user's movement line from one or more memories, the homomorphic-encrypted first movement line information and the Based on the second movement line information, determine homomorphic-encrypted proximity information indicating whether the user was close to the specific person, and transmit the homomorphic-encrypted proximity information to the server -
  • the homomorphic-encrypted proximity information may be decrypted by the server, and an alarm delivered from the server may be obtained based on the decrypted proximity information.
  • FIG. 2 is a diagram illustrating a block diagram of an apparatus 100 according to an embodiment of the present disclosure.
  • FIG. 4 is a diagram illustrating a type of a grating system according to an embodiment of the present disclosure.
  • FIG. 5 is a diagram illustrating a moving line information conversion process and a proximity information determination process according to an embodiment of the present disclosure.
  • FIG. 6 is a diagram illustrating a user interface of the apparatus 100 according to an embodiment of the present disclosure.
  • FIG. 8 is a diagram illustrating a proximity determination method 800 according to an embodiment of the present disclosure.
  • the expression "based on” is used to describe one or more factors affecting the act or action of a decision, judgment, or action described in the phrase or sentence in which the expression is included, and the expression is It does not exclude additional factors influencing the actions or actions of decisions, judgments or actions.
  • the expression “configured to” means “configured to”, “having the ability to”, “modified to”, “made to”, “to do”, depending on the context. It can have the meaning of “can be”.
  • the expression is not limited to the meaning of "specially designed in terms of hardware", and for example, a processor configured to perform a specific operation means a generic-purpose processor capable of performing the specific operation by executing software. can mean
  • the specific person 120 may be a person to be determined whether or not each user was in proximity.
  • the specific person 120 may be a person determined according to a predetermined criterion.
  • the specific person 120 is a confirmed person or infected with any infectious disease (eg, flu, severe acute respiratory syndrome (SARS), Middle East Respiratory Syndrome (MERS), COVID-19, etc.) It could be someone with potential.
  • the server 110 may exchange information with each of the users of the user group 140 .
  • the server 110 may be a device operated by one or more entities (eg, quarantine authorities).
  • each of the users of the user group 140 may be a target for determining proximity to a specific person 120 according to the proximity determination technique of the present disclosure.
  • the proximity determination technique of the present disclosure will be described with reference to one user of the user group 140 (hereinafter, the user 130 ).
  • the specific person 120 may transmit movement information indicating the movement of the specific person 120 (hereinafter, the first movement information 150 ) to the server 110 or the quarantine authority.
  • the specific person 120 may register by directly inputting the first movement line information 150 to the server 110 .
  • the quarantine authority may contact the specific person 120 to collect the first movement line information 150 and input it to the server 110 for registration.
  • the first movement information 150 may indicate the movement of the specific person 120 for a preset period (eg, from the onset of symptoms of an infectious disease to the present).
  • the first movement line information 150 may include time information indicating a point in time (eg, a time stamp) and location information indicating the location of the specific person 120 at the point in time. Viewpoint information and location information may be paired with each other.
  • the first movement line information 150 may include one or more pairs of viewpoint information and location information.
  • the server 110 may transmit the same type-encrypted first movement line information 160 to the device 100 of the user 130 .
  • the device 100 may be a device of various types.
  • the device 100 may be a portable communication device (eg, a smartphone), a computer device (eg, a tablet PC, a laptop), a portable multimedia device, a wearable device, a device according to a combination of the above-mentioned devices, or the above-mentioned device. It may be a chip, board, circuit, etc. in one device.
  • the device 100 may collect and store information indicating the movement of the user 130 .
  • the device 100 may store information indicating the movement of the user 130 for a period (eg, two weeks) set according to the collection purpose.
  • the device 100 may discard information that exceeds a predetermined period (eg, 2 weeks) among information indicating the movement of the user 130 .
  • the device 100 provides information indicating the movement of the user 130 for a preset period (eg, a period corresponding to the period of the first movement information 150 ) from information indicating the movement of the user 130 (hereinafter referred to as information indicating the movement of the user 130 ).
  • the second movement line information 170 may be obtained.
  • the movement line comparison is performed based on the movement line information (eg, GPS information, etc.) collected electronically through the user's device, it is possible to accurately and effectively determine whether or not to approach the specific person 120 .
  • the operation of preparing for movement and determining proximity is performed individually in each user's device, there is no need for the server 110 to perform movement preparation for a large number of people, thereby reducing the computational burden of the server 110 .
  • device 100 may include one or more processors 210 and/or one or more memories 220 as components. In an embodiment, at least one of the components of the device 100 may be omitted or another component may be added to the device 100 . In an embodiment, additionally or alternatively, some components may be integrated and implemented, or a singular or plural entity may be implemented.
  • processors 210 may be referred to as processors 210 .
  • the expression processor 210 may mean a set of one or more processors, unless the context clearly indicates otherwise.
  • one or more memories 220 may be referred to as memories 220 .
  • the expression memory 220 may mean a set of one or more memories, unless the context clearly indicates otherwise.
  • the components inside/outside the device 100 may include a bus, a general purpose input/output (GPIO), a serial peripheral interface (SPI) or a mobile industry processor interface (MIPI), etc. They can be connected to each other through the exchange of information (data, signals, etc.).
  • GPIO general purpose input/output
  • SPI serial peripheral interface
  • MIPI mobile industry processor interface
  • the device 100 may further include a communication circuit 230 .
  • the communication circuit 230 may be omitted from the device 100 according to an embodiment.
  • the communication circuit 230 may perform wireless or wired communication between the device 100 and the server 110 , or between the device 100 and another device.
  • the communication circuit 230 may include enhanced Mobile Broadband (eMBB), Ultra Reliable Low-Latency Communications (URLLC), Massive Machine Type Communications (MMTC), Long-Term Evolution (LTE), LTE Advance (LTE-A).
  • eMBB enhanced Mobile Broadband
  • URLLC Ultra Reliable Low-Latency Communications
  • MMTC Massive Machine Type Communications
  • LTE Long-Term Evolution
  • LTE-A LTE Advance
  • the server 110 may include one or more processors and/or one or more memories.
  • the memory of the server 110 may store instructions that, when executed by the processor, cause the processor to perform an operation.
  • the processor of the server 110 may perform operations corresponding to the above-described operations of the device 100 according to the proximity determination technique according to the present disclosure.
  • the server 110 may transmit the same type-encrypted first movement line information 160 to the device 100 of the user 130 .
  • the device 100 may have been collecting information on the user's 130 movement. As the device 100 obtains the homomorphic-encrypted first movement line information 160 , it may obtain the second movement line information 170 .
  • the processor 210 of the device 100 may store a second corresponding to a preset period (eg, a period corresponding to the period of the first movement information 150 ) among the movement information of the user 130 stored in the memory 220 . 2 It is possible to acquire the movement line information 170 .
  • the device 100 may convert the second movement line information 170 before determining the proximity information. The conversion process of the second moving line information 170 will be described later.
  • the device 100 may determine the homomorphic-encrypted proximity information 180 based on the homomorphically-encrypted first and second movement information.
  • the device 100 may transmit the homomorphic encrypted proximity information 180 to the server 110 .
  • the server 110 may obtain the proximity information 185 by decrypting the homomorphic-encrypted proximity information 180 .
  • the server 110 may forward the alarm 190 to the device 100 based on the proximity information 185 .
  • the device 100 may convert the second movement information 170 so that the location information of the second movement information 170 indicates a grid corresponding to the location of the user 130 in the grid system.
  • the two positions are expressed as a grid on the grid system, thereby simplifying the operation and reducing the computational burden.
  • the grid system may be represented by discretizing geographic space.
  • Real geographic space is continuous.
  • the grid system can discretely represent real geographic space by dividing it into unit grids of a certain size.
  • the grating used in the grating system may have various shapes and sizes.
  • the grid system may use a triangular grid 410 , a square grid 420 , or a hexagonal grid 430 .
  • the length of one side of the grid can be set in various ways (eg 24.91 meters).
  • the distance between two adjacent grids may be expressed by three different values.
  • the distance between two adjacent grids may be expressed by two different values.
  • the hexagonal grid 430 the distance between two adjacent grids may be expressed by only one value. Therefore, when the hexagonal grid 430 is used, the operation of determining whether two grids are adjacent to each other can be further simplified. In the present disclosure, when two grids are adjacent to each other, it means that the two grids share at least one side or at least one vertex on the grid system.
  • a moving line information conversion process will be described.
  • the corresponding moving line information conversion process may be similarly applied when the server 110 converts the first moving line information 150 .
  • the processor 210 of the device 100 may convert the second movement information 170 so that the location information of the second movement information 170 indicates a grid corresponding to the location of the user 130 in the grid system.
  • the location of the user 130 indicated by the location information of the second movement line information 170 may be included in an area occupied by any one grid on the grid system.
  • the processor 210 may convert the location information into information indicating a corresponding grid.
  • the location information of the second movement information 170 represents the location P of the user 130 as (U x0 , U y0 ), such as GPS coordinates, and the like, and the processor 210 is (P (i) , P (j) ) can be converted to (510).
  • P (i) may be 1, which is a coordinate on the I-axis of the corresponding grid
  • P (j) may be 1, which is a coordinate on the J-axis of the corresponding grid.
  • homomorphic encryption is a method of encrypting data so that it can be operated in an encrypted state.
  • An operation can be performed between homomorphic ciphertexts or between homomorphic ciphertext and plaintext, and the result of the operation may be a new homomorphic ciphertext.
  • the plaintext obtained by decrypting the operation result may be the same as the operation result of the original data before encryption.
  • (P (i) , P (j) ) may be a homomorphic encrypted state according to a homomorphic encryption algorithm. In order to indicate that it is in the isomorphic encrypted state, it can be expressed as ( c (P (i) ), c (P (j) )). Since it is isomorphically encrypted, ( c (P (i) ), c (P (j) )) can perform operations according to the Dist 2 function and (Q (i) , Q (j) ), which are plaintexts. Accordingly, the above-described Equation 1 can be rewritten as Equation 2 below. c Dist2 determined by the operation according to Equation 2 may also be a homomorphic ciphertext.
  • the decrypted proximity information 185 can indicate only whether the grid of the specific person 120 and the grid of the user 130 are the same grid or adjacent to each other, so that the processor The 210 may process the value of c Dist2 and determine the processed value, c RProx , as the homomorphic-encrypted proximity information 180 .
  • the decoded proximity information 185 indicates a single preset reference value (eg, 0), and the specific person 120 and the user ( If 130 is not located in the same grid or adjacent grids, the homomorphic encrypted proximity information 180 that allows the decrypted proximity information 185 to indicate a value other than the reference value may be determined.
  • the processor 210 may transmit the processed homomorphic encrypted proximity information 180 to the server 110 .
  • c Dist2 may be processed in various ways, and c RProx may be determined. That is, c RProx may be determined as the homomorphic encrypted proximity information 180 and transmitted to the server 110 . For example, c RProx may be determined as in Equation 3 below. Since c Dist2 is a homomorphic ciphertext, c RProx calculated by Equation 3 may also be a homomorphic ciphertext in a homomorphic encrypted state.
  • r' can be a value that can be output by an operation such as Equation 4 below. That is, r ⁇ may be the decoded proximity information 185 .
  • the value of the Dist 2 function is 0 or has a value of 1. If the value of the Dist 2 function is 0 or 1, the value of r ⁇ becomes 0. When the grid of the specific person 120 and the grid of the user 130 are neither the same grid nor adjacent grids, the Dist 2 function value has an integer value of 2 or more. When the value of the Dist 2 function is an integer greater than or equal to 2, the value of r ⁇ has any real value other than 0.
  • the decrypted proximity information 185 is the same grid as the grid of the specific person 120 and the grid of the user 130, or is the grid n spaces apart from each other?
  • the c Dist2 value may be processed to determine c RProx (ie, homomorphic encrypted proximity information 180 ).
  • n may be an integer of 1 or more.
  • c RProx may be determined as in Equation 5 below. Equation 5 is a modification of Equation 3, and the descriptions of r and c 0 are the same.
  • Equation 6 is a modification of Equation 4.
  • the Dist 2 function value is 0, if the grid is adjacent to each other, the Dist 2 function value is 1, if the grid is 2 spaces apart, the Dist 2 function value is 2, If the grid is n spaces apart, the value of the Dist 2 function can be n. For example, if it is determined that the specific person 120 and the user 130 are close to each other until they are within two grids on the grid system, n may be set to 2. In this case, if the grid of the specific person 120 and the grid of the user 130 are the same grid, adjacent grids, or grids that are two spaces apart, the Dist 2 function value becomes 0, 1, or 2, and the r ⁇ value is becomes 0.
  • the server 110 decrypts the isomorphic encrypted state c RProx to obtain the r' value, and if the r' value is 0, it is determined that the corresponding user 130 was close to the specific person 120, and if not 0, It may be determined that the corresponding user 130 has no history of proximity to the specific person 120 .
  • the value of n may be set differently according to the intention of an implementer (eg, a quarantine authority) of the technology according to the present disclosure.
  • the server 110 determines that the decoded proximity information 185 indicates a preset reference value (eg, 0), the server 110 indicates that the user 130 was close to the specific person 120 .
  • An alarm (hereinafter, referred to as a first alarm) may be transmitted to the device 100 .
  • the processor 210 of the device 100 may acquire the first alarm.
  • the server 110 determines that the decoded proximity information 185 indicates a value other than a preset reference value (eg, 0)
  • the server 110 indicates that the user 130 has no history of proximity to the specific person 120 .
  • An alarm (hereinafter, referred to as a second alarm) may be transmitted to the device 100 .
  • the processor 210 of the device 100 may acquire the second alarm.
  • the server 110 may not transmit the second alarm to the device 100 . This may be to minimize unnecessary alarms.
  • the movement line information may include one or more pairs of viewpoint information and location information (eg, (t 0 , S x0 , S y0 ) or (t 0 , P (i) , P (j) )). have. Accordingly, the above-described proximity information determination process may be performed for each pair of movement information. That is, the homomorphic encrypted proximity information 180 determined for each pair may be determined. Accordingly, the movement of the specific person 120 and the movement of the user 130 may be contrasted. The homomorphic encrypted proximity information 180 determined for each pair may be transmitted to the server 110 . The server 110 may decode information about each pair.
  • the server 110 may transmit the first alarm to the device 100 .
  • the first alarm may include time information and location information of the first movement line information 150 corresponding to the pair indicating the reference value. That is, in the case of proximity to the specific person 120 , it may be necessary to notify the location of the specific person 120 at the corresponding point in time when the user 130 was in proximity. Accordingly, it is possible to inform only the specific user 130 of information that needs to be informed for quarantine, etc. (the time of proximity and the location of the specific person 120 at that time) without completely disclosing the movement of the specific person 120 to the public. If all of the proximity information 185 for each pair indicates a value other than the reference value, the server 110 may transmit a second alarm to the device 100 or may not transmit any alarm to the device 100 .
  • the server 110 may transmit information about the grid system used for the conversion of the first movement information 150 to the device 100 .
  • the corresponding information may indicate a type of a grid (eg, a rectangle, a hexagon, etc.) and/or a length (r) of one side of the corresponding grid.
  • the processor 210 of the apparatus 100 may perform a conversion process of the second movement line information 170 based on the information on the grid system. For example, the server 110 transmits information indicating the grid size r of the grid system to the device 100 , and the processor 210 transmits the second movement information 170 based on the information indicating the grid size. ) can be converted.
  • the respective viewpoint information of the first movement information 150 and the second movement information 170 may have different intervals.
  • the first movement line information 150 may have viewpoint information with an interval of 5 seconds
  • the second movement information 170 may have viewpoint information with an interval of 2 seconds.
  • the processor 210 may perform a proximity determination process for viewpoints corresponding to the least common multiple (eg, 10 seconds) of the interval between the two viewpoint information.
  • the processor 210 may align the two viewpoint information based on a predetermined time alignment algorithm and then perform a proximity determination process.
  • the processor 210 may determine the homomorphic-encrypted proximity information 180 based on the unconverted and homogeneously-encrypted first movement information 160 and the unconverted second movement information 170 . .
  • the distance between the respective location information of the first and second movement information 150 and 170 may be determined.
  • a first alarm or a second alarm may be transmitted according to whether the determined distance satisfies a predetermined criterion.
  • FIG. 6 is a diagram illustrating a user interface of the apparatus 100 according to an embodiment of the present disclosure.
  • a program eg, an application
  • the device 100 may access a web page providing a proximity determination technique according to the present disclosure.
  • the device 100 may communicate with the server 110 through the above-described program or web page.
  • the illustrated user interface may be provided through the aforementioned program or web page.
  • the first interface 610 may be a screen displaying information indicating the movement of the user 130 .
  • the memory 220 may collect information indicating the movement of the user 130 .
  • the memory 220 may collect and store information indicating the movement of the user 130 for a period from August 16, 2020 to September 1, 2020.
  • the interface 610 may indicate a movement line stored on each day during the corresponding period. For example, on August 16, 2020, 73 locations where the user 130 was located may be recorded.
  • a “view on map” button on the interface 610 is selected, corresponding locations may be displayed on a map.
  • the "download movement" button is selected on the interface 610 , the first movement information 150 of the specific person 120 may be obtained from the server 110 .
  • the user 130 When the user 130 is confirmed with an infectious disease and selects the “Register confirmed patient” button on the interface 610 , the user 130 may register information indicating his/her movement with the server 110 .
  • the first alarm may transmit time information indicating a point in time when the sixth confirmed patient and the user 130 were close to each other and location information of the sixth confirmed patient at that time to the device 100 .
  • the interface 620 expresses that there are 291 pairs of time information and location information when the user 130 was close to the sixth confirmed patient. If the "check result" button is selected on the interface 620, detailed information of the corresponding 291 pairs can be checked.
  • the third interface 630 may be a screen that is displayed when a “check result” button is selected on the second interface 620 .
  • the interface 630 may display detailed information about each pair of time information and location information that the user 130 was close to the 6th confirmed patient. For example, in the first pair, at 23:04 on August 17, 2020, the sixth patient was located at the location specified by the GPS coordinates of (37.4715852, 127.0260082), and the user 130 at that point and location 6 It indicates that it was close to the second confirmed patient. In addition, in the second pair, the sixth confirmed patient was located at the location specified by the GPS coordinates of (37.4715912, 127.0260159) at 23:10 on August 17, 2020, and the user 130 confirmed the sixth confirmed case at that time and that location. indicates that it was close to the ruler. Each of these pairs of viewpoint information and location information may be displayed on a map.
  • the proximity determination method 700 may be performed by the apparatus 100 .
  • the method 700 includes the steps of obtaining homogeneously-encrypted first movement information (S710), obtaining second movement information (S720), determining homomorphic-encrypted proximity information (S730), isomorphically encrypted It may include transmitting the proximity information to the server (S740), and/or obtaining an alarm transmitted from the server (S750).
  • step S710 the processor 210, from the server 110 that homogeneously encrypts the first movement information 150 indicating the movement of the specific person 120 based on the homomorphic encryption algorithm, the homomorphically encrypted first movement information ( 160) can be obtained.
  • step S720 the processor 210 may obtain, from the memory 220 , the second movement information 170 indicating the movement of the user 130 .
  • step S730 the processor 210 is isomorphic indicating whether the user 130 was close to the specific person 120 based on the homomorphic-encrypted first movement information 160 and the second movement information 170 .
  • the encrypted proximity information 180 may be determined.
  • step S740 the processor 210 may transmit the homomorphic encrypted proximity information 180 to the server 110 .
  • the homomorphic encrypted proximity information 180 may be decrypted by the server 110 .
  • step S750 the processor 210 may acquire the alarm 190 delivered from the server 110 based on the decoded proximity information 185 .
  • the processor 210 may communicate with the server 110 using the communication circuit 230 if necessary.
  • the first movement line information 150 may include point information indicating a point in time and location information indicating the location of the specific person 120 at the point in time.
  • the second movement line information 170 may include the above-described point information indicating one time point and location information indicating the location of the user 130 at the one time point.
  • the decoded proximity information 185 may indicate a single preset reference value when the specific person 120 and the user 130 are located in the same grid or an adjacent grid. Also, the decoded proximity information 185 may indicate a value other than a reference value when the specific person 120 and the user 130 are not located in the same grid or adjacent grid.
  • step S750 includes, according to the determination of the server 110 that the decrypted proximity information 185 indicates a reference value, the processor 210 obtaining a first alarm, and/or the decrypted proximity information According to the determination of the server 110 that 185 indicates a value other than the reference value, the processor 210 may include acquiring a second alarm.
  • the first alarm may include time information and location information of the first movement line information 150 . That is, the first alarm may include corresponding time information indicating a point in time when the specific person 120 and the user 130 were located in the same or adjacent grid and corresponding location information indicating the location of the specific person 120 at that point in time.
  • the location information of the second movement line information 170 may be GPS coordinates indicating the location of the user 130 at a point in time.
  • each of the first movement information 150 and the second movement information 170 may include one or more pairs of viewpoint information and location information.
  • the proximity determination method 800 may be performed by the server 110 .
  • the method 800 includes the steps of obtaining the first moving line information (S810), converting the first moving line information (S820), homomorphically encrypting the converted first moving line information (S830), the homomorphically encrypted first moving line information 1 Transmitting the movement line information to the device 100 (S840), obtaining the homomorphic encrypted proximity information (S850), decrypting the homomorphic encrypted proximity information (S860), and/or to the decrypted proximity information It may include transmitting the alarm to the device 100 based on the step (S870).
  • the server 110 may obtain the first movement line information 150 from the specific person 120 . Alternatively, the server 110 may acquire the first movement line information 150 from the quarantine authority. In step S820 , the processor of the server 110 may convert the first movement line information 150 according to the above-described conversion process. In step S830, the processor of the server 110 may homomorphically encrypt the converted first moving line information. In operation S840 , the processor of the server 110 may transmit the homomorphically encrypted first movement line information 160 to the device 100 .
  • step S850 the processor of the server 110 may obtain the homomorphic encrypted proximity information 180 from the device 100 .
  • step S860 the processor of the server 110 may decrypt the homomorphic encrypted proximity information 180 .
  • step S870 the processor of the server 110 may transmit the alarm 190 to the device 100 based on the decrypted proximity information 185 .
  • the processor of the server 110 may determine whether the decoded proximity information 185 indicates a preset reference value. When the proximity information 185 indicates the reference value, the processor of the server 110 may transmit the first alarm to the device 100 . When the proximity information 185 indicates a value other than the reference value, the processor of the server 110 may transmit a second alarm to the device 100 .
  • Methods according to the present disclosure may be computer-implemented methods.
  • each step of the methods is shown and described in a predetermined order, but each step may be performed in an order that can be arbitrarily combined according to the present disclosure, in addition to being performed sequentially.
  • at least some of the steps may be performed in parallel, iteratively, or heuristically. This disclosure does not exclude making changes or modifications to the methods.
  • at least some steps may be omitted or other steps may be added.
  • the software may be software for implementing various embodiments of the present disclosure described above.
  • Software may be inferred from various embodiments of the present disclosure by programmers in the art.
  • software may be machine-readable instructions (eg, code or code segments) or programs.
  • the device is a device capable of operating according to a command called from a recording medium, and may be, for example, a computer.
  • the device may be the device 100 according to embodiments of the present disclosure.
  • the processor of the device may execute the called command to cause the components of the device to perform a function corresponding to the command.
  • the processor may be the processor 210 according to embodiments of the present disclosure.
  • the recording medium may refer to any type of recording medium in which data that can be read by a device is stored.
  • the recording medium may include, for example, ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, and the like.
  • the recording medium may be the memory 220 .
  • the recording medium may be implemented as a distributed form in a computer system connected to a network, or the like.
  • the software may be distributed, stored, and executed in a computer system or the like.
  • the recording medium may be a non-transitory recording medium.
  • a non-transitory recording medium means a tangible medium irrespective of whether data is semi-permanently or temporarily stored, and does not include a transitory propagated signal.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Public Health (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Tourism & Hospitality (AREA)
  • Medical Informatics (AREA)
  • Primary Health Care (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Remote Sensing (AREA)
  • Data Mining & Analysis (AREA)
  • Human Resources & Organizations (AREA)
  • Emergency Management (AREA)
  • Pathology (AREA)
  • Databases & Information Systems (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Biomedical Technology (AREA)
  • Economics (AREA)
  • Epidemiology (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Alarm Systems (AREA)
  • Child & Adolescent Psychology (AREA)

Abstract

본 개시는 특정인에 대한 근접성을 결정하기 위한 장치를 제안한다. 본 개시에 따른 장치는 하나 이상의 프로세서 및 하나 이상의 메모리를 포함할 수 있다. 하나 이상의 프로세서는, 특정인의 동선을 지시하는 제1 동선 정보를 동형 암호 알고리즘에 기초하여 동형 암호화하는 서버로부터 동형 암호화된 제1 동선 정보를 획득하고, 하나 이상의 메모리로부터 사용자의 동선을 지시하는 제2 동선 정보를 획득하고, 동형 암호화된 제1 동선 정보 및 제2 동선 정보에 기초하여, 사용자가 특정인에 대해 근접했었는지 여부를 지시하는 동형 암호화된 근접성 정보를 결정하고, 동형 암호화된 근접성 정보를 서버로 전달하고, 복호화된 근접성 정보에 기초해 서버로부터 전달된 알람을 획득할 수 있다.

Description

특정인에 대한 근접성을 결정하기 위한 장치, 방법 및 명령을 기록한 기록 매체
본 개시는 특정인에 대한 근접성을 결정하기 위한 기술에 관한 것이다.
감염병(예: COVID-19(Coronavirus Disease-19))의 확산을 막기 위하여, 방역 당국은 다양한 방법을 동원하고 있다. 그 일환으로, 감염병 확진자의 동선을 기초로 사람들이 확진자에게 근접했었는지 여부를 판단해, 근접했던 사람들을 추적, 격리시키는 방법이 활용될 수 있다. 이를 위해 확진자의 동선을 대중에 공개하고, 사람들은 각자 자신의 동선과 확진자의 동선을 대비하여 자신이 확진자에게 근접했었는지 여부를 판단할 수 있다.
확진자의 동선을 대중에게 알리기 위해, 재난 문자가 활용될 수 있다. 그러나 재난 문자는 문자 발송 빈도가 잦아질수록 사람들이 잘 확인하지 않게 되어, 경고 효과가 떨어지는 문제가 있다. 또한 방역 당국이 지정된 웹 페이지에 확진자의 동선을 공개하는 방식이 활용될 수 있다. 그러나 이러한 방식은 해당 정보에의 접근성이 상대적으로 떨어질 수 있다. 더욱이 어떠한 방식으로든 확진자의 동선 정보를 대중에게 공개하는 경우, 사생활 침해 및 인권 침해의 우려가 발생할 수 있다. 또한 대중이 확진자 동선 정보를 입수하여도, 자신의 기억에 의존하여 직접 확진자의 동선과 자신의 동선을 대비해야 하므로, 자신이 확진자에게 근접했었는지 여부의 판단이 어렵고, 그 판단 결과의 신뢰성도 낮을 수 있다.
따라서 확진자의 동선을 대중에게 공개하지 않고도 확진자와 근접했었을 것으로 판단되는 사람을 선별하는 것이 요구된다. 또한 선별된 사람에게만 알람(alarm)을 발송함으로써 경고 효과를 높이는 것이 요구된다. 또한 정확하고 효과적으로 동선 대비를 수행하고, 확진자에 대한 근접 여부를 판단하는 것이 요구된다.
본 개시는 특정인에 대한 근접성을 결정하기 위한 기술을 제공한다.
본 개시의 한 측면으로서, 특정인에 대한 근접성을 결정하기 위한 장치가 제안될 수 있다. 본 개시의 한 측면에 따른 장치는, 하나 이상의 프로세서; 및 상기 하나 이상의 프로세서에 의한 실행 시, 상기 하나 이상의 프로세서가 연산을 수행하도록 하는 명령들이 저장된 하나 이상의 메모리를 포함하고, 상기 하나 이상의 프로세서는, 특정인의 동선을 지시하는 제1 동선 정보를 동형 암호 알고리즘에 기초하여 동형 암호화하는 서버로부터, 상기 동형 암호화된 제1 동선 정보를 획득하고, 상기 하나 이상의 메모리로부터, 사용자의 동선을 지시하는 제2 동선 정보를 획득하고, 상기 동형 암호화된 제1 동선 정보 및 상기 제2 동선 정보에 기초하여, 상기 사용자가 상기 특정인에 대해 근접했었는지 여부를 지시하는 동형 암호화된 근접성 정보를 결정하고, 상기 동형 암호화된 근접성 정보를 상기 서버로 전달하고 - 상기 동형 암호화된 근접성 정보는 상기 서버에 의해 복호화되고 - , 상기 복호화된 근접성 정보에 기초해 상기 서버로부터 전달된 알람을 획득할 수 있다.
일 실시예에서, 상기 제1 동선 정보는, 일 시점을 지시하는 시점 정보 및 상기 일 시점에서의 상기 특정인의 위치를 지시하는 위치 정보를 포함하고, 상기 제2 동선 정보는, 상기 일 시점을 지시하는 시점 정보 및 상기 일 시점에서의 상기 사용자의 위치를 지시하는 위치 정보를 포함할 수 있다.
일 실시예에서, 상기 동형 암호화된 제1 동선 정보는, 상기 제1 동선 정보의 위치 정보가 지리적 공간을 이산화하여 나타내는 격자(grid) 시스템에서 상기 특정인의 위치에 해당하는 격자를 지시하도록 변환된 상기 제1 동선 정보를 동형 암호화한 것이고, 상기 하나 이상의 프로세서는, 상기 제2 동선 정보의 위치 정보가 상기 격자 시스템에서 상기 사용자의 위치에 해당하는 격자를 지시하도록 상기 제2 동선 정보를 변환하고, 상기 동형 암호화된 제1 동선 정보 및 상기 변환된 제2 동선 정보에 기초하여, 상기 특정인과 상기 사용자가 상기 격자 시스템에서 동일한 격자 또는 인접한 격자에 위치했었는지 여부를 지시하는 상기 동형 암호화된 근접성 정보를 결정할 수 있다.
일 실시예에서, 상기 복호화된 근접성 정보는, 상기 특정인과 상기 사용자가 동일한 격자 또는 인접한 격자에 위치했던 경우 미리 설정된 단일의 기준값을 지시하고, 상기 특정인과 상기 사용자가 동일한 격자 또는 인접한 격자에 위치하지 않았던 경우 상기 기준값이 아닌 값을 지시할 수 있다.
일 실시예에서, 상기 하나 이상의 프로세서는, 상기 복호화된 근접성 정보가 상기 기준값을 지시한다는 상기 서버의 결정에 따라, 상기 사용자가 상기 특정인에 대해 근접했었음을 지시하는 제1 알람을 획득하고, 상기 복호화된 근접성 정보가 상기 기준값이 아닌 값을 지시한다는 상기 서버의 결정에 따라, 상기 사용자가 상기 특정인에 대해 근접한 이력이 없음을 지시하는 제2 알람을 획득할 수 있다.
일 실시예에서, 상기 제1 알람은 상기 제1 동선 정보의 시점 정보 및 위치 정보를 포함할 수 있다.
일 실시예에서, 상기 하나 이상의 프로세서는, 상기 서버로부터 상기 격자 시스템의 격자의 크기를 지시하는 정보를 획득하고, 상기 격자의 크기를 지시하는 정보에 기초하여, 상기 제2 동선 정보의 위치 정보가 상기 격자 시스템에서 상기 사용자의 위치에 해당하는 격자를 지시하도록 상기 제2 동선 정보를 변환할 수 있다.
일 실시예에서, 상기 제2 동선 정보의 위치 정보는 상기 일 시점에서 상기 사용자의 위치를 지시하는 GPS(Global Positioning System) 좌표일 수 있다.
일 실시예에서, 상기 제1 동선 정보 및 상기 제2 동선 정보 각각은, 시점 정보 및 위치 정보의 쌍을 하나 이상 포함할 수 있다.
일 실시예에서, 상기 제1 동선 정보는 상기 특정인의 동선 중 미리 설정된 기간에 해당하는 동선만을 지시하고, 상기 하나 이상의 프로세서는, 상기 하나 이상의 메모리로부터, 상기 사용자의 동선 중 상기 미리 설정된 기간에 해당하는 동선을 지시하는 상기 제2 동선 정보를 획득할 수 있다.
일 실시예에서, 상기 동형 암호 알고리즘은 BFV(Brakerski/Fan-Vercauteren) 알고리즘, BGV(Brakerski-Gentry-Vaikuntanathan) 알고리즘, TFHE(Torus Fully Homomorphic Encryption) 알고리즘 및 CKKS(Cheon-Kim-Kim-Song) 알고리즘 중 하나일 수 있다.
본 개시의 한 측면으로서, 특정인에 대한 근접성을 결정하기 위한 방법이 제안될 수 있다. 본 개시의 한 측면에 따른 방법은, 하나 이상의 프로세서가, 특정인의 동선을 지시하는 제1 동선 정보를 동형 암호 알고리즘에 기초하여 동형 암호화하는 서버로부터, 상기 동형 암호화된 제1 동선 정보를 획득하는 단계; 상기 하나 이상의 프로세서가, 하나 이상의 메모리로부터, 사용자의 동선을 지시하는 제2 동선 정보를 획득하는 단계; 상기 하나 이상의 프로세서가, 상기 동형 암호화된 제1 동선 정보 및 상기 제2 동선 정보에 기초하여, 상기 사용자가 상기 특정인에 대해 근접했었는지 여부를 지시하는 동형 암호화된 근접성 정보를 결정하는 단계; 상기 하나 이상의 프로세서가, 상기 동형 암호화된 근접성 정보를 상기 서버로 전달하는 단계 - 상기 동형 암호화된 근접성 정보는 상기 서버에 의해 복호화되고 - ; 및 상기 하나 이상의 프로세서가, 상기 복호화된 근접성 정보에 기초해 상기 서버로부터 전달된 알람을 획득하는 단계를 포함할 수 있다.
일 실시예에서, 상기 제1 동선 정보는, 일 시점을 지시하는 시점 정보 및 상기 일 시점에서의 상기 특정인의 위치를 지시하는 위치 정보를 포함하고, 상기 제2 동선 정보는, 상기 일 시점을 지시하는 시점 정보 및 상기 일 시점에서의 상기 사용자의 위치를 지시하는 위치 정보를 포함할 수 있다.
일 실시예에서, 상기 동형 암호화된 제1 동선 정보는, 상기 제1 동선 정보의 위치 정보가 지리적 공간을 이산화하여 나타내는 격자 시스템에서 상기 특정인의 위치에 해당하는 격자를 지시하도록 변환된 상기 제1 동선 정보를 동형 암호화한 것이고, 상기 동형 암호화된 근접성 정보를 결정하는 단계는, 상기 제2 동선 정보의 위치 정보가 상기 격자 시스템에서 상기 사용자의 위치에 해당하는 격자를 지시하도록 상기 제2 동선 정보를 변환하는 단계; 및 상기 동형 암호화된 제1 동선 정보 및 상기 변환된 제2 동선 정보에 기초하여, 상기 특정인과 상기 사용자가 상기 격자 시스템에서 동일한 격자 또는 인접한 격자에 위치했었는지 여부를 지시하는 상기 동형 암호화된 근접성 정보를 결정하는 단계를 포함할 수 있다.
일 실시예에서, 상기 복호화된 근접성 정보는, 상기 특정인과 상기 사용자가 동일한 격자 또는 인접한 격자에 위치했던 경우 미리 설정된 단일의 기준값을 지시하고, 상기 특정인과 상기 사용자가 동일한 격자 또는 인접한 격자에 위치하지 않았던 경우 상기 기준값이 아닌 값을 지시할 수 있다.
일 실시예에서, 상기 서버로부터 전달된 알람을 획득하는 단계는, 상기 복호화된 근접성 정보가 상기 기준값을 지시한다는 상기 서버의 결정에 따라, 상기 사용자가 상기 특정인에 대해 근접했었음을 지시하는 제1 알람을 획득하는 단계; 또는 상기 복호화된 근접성 정보가 상기 기준값이 아닌 값을 지시한다는 상기 서버의 결정에 따라, 상기 사용자가 상기 특정인에 대해 근접한 이력이 없음을 지시하는 제2 알람을 획득하는 단계를 포함할 수 있다.
일 실시예에서, 상기 제1 알람은 상기 제1 동선 정보의 시점 정보 및 위치 정보를 포함할 수 있다.
일 실시예에서, 상기 제2 동선 정보의 위치 정보는 상기 일 시점에서 상기 사용자의 위치를 지시하는 GPS 좌표일 수 있다.
일 실시예에서, 상기 제1 동선 정보 및 상기 제2 동선 정보 각각은, 시점 정보 및 위치 정보의 쌍을 하나 이상 포함할 수 있다.
본 개시의 한 측면으로서, 특정인에 대한 근접성을 결정하기 위한 명령들을 기록한 비일시적 컴퓨터 판독 가능 기록 매체가 제안될 수 있다. 본 개시의 한 측면에 따른 기록 매체에 기록된 명령들은, 컴퓨터 상에서 수행되기 위한 명령들로서, 하나 이상의 프로세서에 의한 실행시, 하나 이상의 프로세서가, 특정인의 동선을 지시하는 제1 동선 정보를 동형 암호 알고리즘에 기초하여 동형 암호화하는 서버로부터, 상기 동형 암호화된 제1 동선 정보를 획득하고, 하나 이상의 메모리로부터, 사용자의 동선을 지시하는 제2 동선 정보를 획득하고, 상기 동형 암호화된 제1 동선 정보 및 상기 제2 동선 정보에 기초하여, 상기 사용자가 상기 특정인에 대해 근접했었는지 여부를 지시하는 동형 암호화된 근접성 정보를 결정하고, 상기 동형 암호화된 근접성 정보를 상기 서버로 전달하고 - 상기 동형 암호화된 근접성 정보는 상기 서버에 의해 복호화되고 - , 상기 복호화된 근접성 정보에 기초해 상기 서버로부터 전달된 알람을 획득하도록 할 수 있다.
본 개시의 다양한 실시예들에 의하면, 확진자의 동선을 대중에게 공개하지 않고도, 확진자와 근접했을 것으로 판단되는 사람을 결정할 수 있다.
본 개시의 다양한 실시예들에 의하면, 사람들의 동선 정보를 수집하지 않고도, 확진자와 근접했을 것으로 판단되는 사람을 결정할 수 있다.
본 개시의 다양한 실시예들에 의하면, 확진자와 근접했었을 것으로 판단되는 사람들에게만 알람을 발송할 수 있다.
본 개시의 다양한 실시예들에 의하면, 정확하고 효과적으로 확진자와 사람들과의 동선을 대비하고, 확진자에 대한 근접 여부를 판단할 수 있다.
본 개시의 다양한 실시예들에 의하면, 사람들 각각의 동선과 확진자의 동선을 대비하면서도, 방역 당국 서버에서의 연산 부담을 줄일 수 있다.
도 1은 본 개시의 일 실시예에 따른 장치(100)의 동작 과정을 도시한 도면이다.
도 2는 본 개시의 일 실시예에 따른 장치(100)의 블록도를 나타낸 도면이다.
도 3은 본 개시의 일 실시예에 따른 장치(100)의 동작 과정을 도시한 도면이다.
도 4는 본 개시의 일 실시예에 따른 격자 시스템의 종류를 도시한 도면이다.
도 5는 본 개시의 일 실시예에 따른, 동선 정보 변환 과정 및 근접성 정보 결정 과정을 도시한 도면이다.
도 6은 본 개시의 일 실시예에 따른 장치(100)의 사용자 인터페이스를 도시한 도면이다.
도 7은 본 개시의 일 실시예에 따른 근접성 결정 방법(700)을 나타낸 도면이다.
도 8은 본 개시의 일 실시예에 따른 근접성 결정 방법(800)을 나타낸 도면이다.
본 문서에 기재된 다양한 실시예들은, 본 개시의 기술적 사상을 명확히 설명하기 위한 목적으로 예시된 것이며, 이를 특정한 실시 형태로 한정하려는 것이 아니다. 본 개시의 기술적 사상은, 본 문서에 기재된 각 실시예의 다양한 변경(modifications), 균등물(equivalents), 대체물(alternatives) 및 각 실시예의 전부 또는 일부로부터 선택적으로 조합된 실시예를 포함한다. 또한 본 개시의 기술적 사상의 권리 범위는 이하에 제시되는 다양한 실시예들이나 이에 대한 구체적 설명으로 한정되지 않는다.
기술적이거나 과학적인 용어를 포함해서, 본 문서에서 사용되는 용어들은, 달리 정의되지 않는 한, 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 일반적으로 이해되는 의미를 가질 수 있다.
본 문서에서 사용되는 "포함한다", "포함할 수 있다", "구비한다", "구비할 수 있다", "가진다", "가질 수 있다" 등과 같은 표현들은, 대상이 되는 특징(예: 기능, 동작 또는 구성요소 등)이 존재함을 의미하며, 다른 추가적인 특징의 존재를 배제하지 않는다. 즉, 이와 같은 표현들은 다른 실시예를 포함할 가능성을 내포하는 개방형 용어(open-ended terms)로 이해되어야 한다.
본 문서에서 사용되는 단수형의 표현은, 문맥상 다르게 뜻하지 않는 한 복수형의 의미를 포함할 수 있으며, 이는 청구항에 기재된 단수형의 표현에도 마찬가지로 적용된다.
본 문서에서 사용되는 "제1", "제2", 또는 "첫째", "둘째" 등의 표현은, 문맥상 다르게 뜻하지 않는 한, 복수의 동종 대상들을 지칭함에 있어 한 대상을 다른 대상과 구분하기 위해 사용되며, 해당 대상들간의 순서 또는 중요도를 한정하는 것은 아니다.
본 문서에서 사용되는 "A, B, 및 C," "A, B, 또는 C," "A, B, 및/또는 C" 또는 "A, B, 및 C 중 적어도 하나," "A, B, 또는 C 중 적어도 하나," "A, B, 및/또는 C 중 적어도 하나," "A, B, 및 C 중에서 선택된 적어도 하나," "A, B, 또는 C 중에서 선택된 적어도 하나," "A, B, 및/또는 C 중에서 선택된 적어도 하나" 등의 표현은, 각각의 나열된 항목 또는 나열된 항목들의 가능한 모든 조합들을 의미할 수 있다. 예를 들어, "A 및 B 중에서 선택된 적어도 하나"는, (1) A, (2) A 중 적어도 하나, (3) B, (4) B 중 적어도 하나, (5) A 중 적어도 하나 및 B 중 적어도 하나, (6) A 중 적어도 하나 및 B, (7) B 중 적어도 하나 및 A, (8) A 및 B를 모두 지칭할 수 있다.
본 문서에서 사용되는 "~에 기초하여"라는 표현은, 해당 표현이 포함되는 어구 또는 문장에서 기술되는, 결정, 판단의 행위 또는 동작에 영향을 주는 하나 이상의 인자를 기술하는데 사용되고, 이 표현은 해당 결정, 판단의 행위 또는 동작에 영향을 주는 추가적인 인자를 배제하지 않는다.
본 문서에서 사용되는, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "연결되어" 있다거나 "접속되어" 있다는 표현은, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결 또는 접속되는 것뿐 아니라, 새로운 다른 구성요소(예: 제3 구성요소)를 매개로 하여 연결 또는 접속되는 것을 의미할 수 있다.
본 문서에서 사용된 표현 "~하도록 구성된(configured to)"은 문맥에 따라, "~하도록 설정된", "~하는 능력을 가지는", "~하도록 변경된", "~하도록 만들어진", "~를 할 수 있는" 등의 의미를 가질 수 있다. 해당 표현은, "하드웨어적으로 특별히 설계된"의 의미로 제한되지 않으며, 예를 들어 특정 동작을 수행하도록 구성된 프로세서란, 소프트웨어를 실행함으로써 그 특정 동작을 수행할 수 있는 범용 프로세서(generic-purpose processor)를 의미할 수 있다.
본 문서에서 사용되는 "부"라는 표현은, 소프트웨어, 또는 FPGA(field-programmable gate array), ASIC(application specific integrated circuit)과 같은 하드웨어 구성요소를 의미할 수 있다. 그러나, "부"는 하드웨어 및 소프트웨어에 한정되는 것은 아니다. "부"는 어드레싱할 수 있는 저장 매체에 저장되어 있도록 구성될 수도 있고, 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 일 실시예에서, "부"는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세서, 함수, 속성, 프로시저, 서브루틴, 프로그램 코드의 세그먼트, 드라이버, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조, 테이블, 어레이 및 변수를 포함할 수 있다.
이하, 첨부된 도면들을 참조하여, 본 개시의 다양한 실시예들을 설명한다. 첨부된 도면 및 도면에 대한 설명에서, 동일하거나 실질적으로 동등한(substantially equivalent) 구성요소에는 동일한 참조부호가 부여될 수 있다. 또한, 이하 다양한 실시예들의 설명에 있어서, 동일하거나 대응하는 구성요소를 중복하여 기술하는 것이 생략될 수 있으나, 이는 해당 구성요소가 그 실시예에 포함되지 않는 것을 의미하지는 않는다.
도 1은 본 개시의 일 실시예에 따른 장치(100)의 동작 과정을 도시한 도면이다. 본 개시의 일 실시예에 따른 장치(100)는 한 사용자(130)가 특정인(120)에 대해 근접했었는지 여부를 결정하기 위한 동작을 수행할 수 있다.
특정인에 대한 근접성을 결정하기 위해, 특정인(120), 서버(110) 및 사용자 군(140)의 사용자들은 서로 정보를 주고 받을 수 있다. 본 개시에서, 특정인(120)은 각 사용자와 근접했었는지 여부를 판단할 대상이 되는 사람일 수 있다. 특정인(120)은 소정의 기준에 따라 결정된 사람일 수 있다. 일 실시예에서, 특정인(120)은 임의의 감염병(예: 독감(flu), SARS(Severe Acute Respiratory Syndrome), MERS(Middle East Respiratory Syndrome), COVID-19 등)에 감염된 확진자이거나, 감염되었을 가능성이 있는 사람일 수 있다. 본 개시에서, 서버(110)는 사용자 군(140)의 사용자들 각각과 정보를 주고 받을 수 있다. 서버(110)는 하나 이상의 주체(entity, 예: 방역 당국)가 운영하는 장치일 수 있다. 본 개시에서, 사용자 군(140)의 사용자들 각각은 본 개시의 근접성 결정 기술에 따라 특정인(120)과의 근접성을 판단하기 위한 대상이 되는 사람일 수 있다. 이하 설명의 편의를 위해, 사용자 군(140)의 한 사용자(이하, 사용자(130))를 중심으로 본 개시의 근접성 결정 기술에 대해 설명한다.
특정인(120)은 특정인(120)의 동선을 지시하는 동선 정보(이하, 제1 동선 정보(150))를 서버(110) 내지 방역 당국으로 전달할 수 있다. 일 실시예에서, 특정인(120)은 서버(110)에 직접 제1 동선 정보(150)를 입력하여 등록할 수 있다. 일 실시예에서, 방역 당국이 특정인(120)과 접촉하여 제1 동선 정보(150)를 수집하고, 이를 서버(110)에 입력하여 등록할 수도 있다.
제1 동선 정보(150)는 미리 설정된 기간(예: 감염병 증상 발현부터 현재까지) 동안의 특정인(120)의 동선을 지시할 수 있다. 일 실시예에서, 제1 동선 정보(150)는 일 시점을 지시하는 시점 정보(예: 타임 스탬프) 및 해당 일 시점에서 특정인(120)의 위치를 지시하는 위치 정보를 포함할 수 있다. 시점 정보와 위치 정보는 서로 쌍(pair)을 이룰 수 있다. 일 실시예에서, 제1 동선 정보(150)는 시점 정보 및 위치 정보의 쌍을 하나 이상 포함할 수 있다. 예를 들어 제1 동선 정보(150)는 {(t0, Sx0, Sy0), (t1, Sx1, Sy1), (t2, Sx2, Sy2), ..., (tn, Sxn, Syn)}과 같은 형태의 정보를 포함할 수 있다(n은 0 이상의 정수). 여기서 tn은 시점 정보로서 한 시점을 지시할 수 있다. Sxn 및 Syn은 위치 정보로서, 각각 tn에서의 특정인(120) 위치의 좌표값을 지시할 수 있다. 일 실시예에서, 제1 동선 정보(150)의 위치 정보는 GPS(Global Positioning System) 좌표일 수 있다. 일 실시예에서, 제1 동선 정보(150)는 특정인(120)의 장치(예: 스마트폰, 웨어러블(wearable) 장치 등)에 의해 수집된 것일 수 있다.
서버(110)는 제1 동선 정보(150)를 동형 암호화(Homomorphic encryption)할 수 있다. 동형 암호는 데이터를 암호화된 상태에서 연산할 수 있도록 암호화하는 방법이다. 동형 암호문 간에, 또는 동형 암호문과 평문 간에 연산이 가능하며, 연산 결과는 새로운 동형 암호문이 될 수 있다. 연산 결과를 복호화하여 얻은 평문은 암호화하기 전 원래 데이터의 연산 결과와 같을 수 있다. 일 실시예에서, 동형 암호화는 다양한 동형 암호 알고리즘 중 적어도 하나에 기초하여 수행될 수 있다. 일 실시예에서, 동형 암호 알고리즘으로 BFV(Brakerski/Fan-Vercauteren) 알고리즘, BGV(Brakerski-Gentry-Vaikuntanathan) 알고리즘, TFHE(Torus Fully Homomorphic Encryption) 알고리즘 및 CKKS(Cheon-Kim-Kim-Song) 알고리즘 중 하나가 사용될 수 있다.
서버(110)는 동형 암호화된 제1 동선 정보(160)를 사용자(130)의 장치(100)로 전달할 수 있다. 장치(100)는 다양한 형태의 장치일 수 있다. 예를 들어 장치(100)는 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치(예: 태블릿 PC, 랩탑(laptop)), 휴대용 멀티미디어 장치, 웨어러블 장치, 전술한 장치들의 조합에 따른 장치, 또는 전술한 장치들 내의 칩, 보드, 회로 등일 수 있다.
장치(100)는 사용자(130)의 동선을 지시하는 정보를 수집하여 저장하고 있을 수 있다. 일 실시예에서, 장치(100)는 수집 목적에 따라 설정된 기간(예: 2주) 동안의 사용자(130) 동선을 지시하는 정보를 저장할 수 있다. 일 실시예에서, 장치(100)는 사용자(130)의 동선을 지시하는 정보 중 일정 기간(예: 2주)이 초과한 정보는 폐기할 수 있다. 장치(100)는 사용자(130) 동선을 지시하는 정보로부터, 미리 설정된 기간(예: 제1 동선 정보(150)의 기간에 대응되는 기간) 동안의 사용자(130)의 동선을 지시하는 정보(이하, 제2 동선 정보(170))를 획득할 수 있다.
일 실시예에서, 제2 동선 정보(170)는 암호화되지 않은 평문 상태의 정보일 수 있다. 일 실시예에서, 제2 동선 정보(170)는 제1 동선 정보(150)와 대응되는 형태의 정보일 수 있다. 일 실시예에서, 제2 동선 정보(170)는 일 시점을 지시하는 시점 정보(예: 타임 스탬프) 및 해당 일 시점에서 사용자(130)의 위치를 지시하는 위치 정보를 포함할 수 있다. 시점 정보와 위치 정보는 서로 쌍을 이룰 수 있다. 일 실시예에서, 제2 동선 정보(170)는 시점 정보 및 위치 정보의 쌍을 하나 이상 포함할 수 있다. 예를 들어 제2 동선 정보(170)는 {(t0, Ux0, Uy0), (t1, Ux1, Uy1), (t2, Ux2, Uy2), ..., (tn, Uxn, Uyn)}과 같은 형태의 정보를 포함할 수 있다(n은 0 이상의 정수). 여기서 tn은 시점 정보로서 한 시점을 지시할 수 있다. 일 실시예에서, tn의 간격은 제1 동선 정보(150)의 시점 정보 tn의 간격과 같을 수 있다. Uxn 및 Uyn은 위치 정보로서, 각각 tn에서의 사용자(130) 위치의 좌표값을 지시할 수 있다. 일 실시예에서, 제2 동선 정보(170)의 위치 정보는 GPS 좌표일 수 있다.
장치(100)는 동형 암호화된 제1 동선 정보(160) 및 제2 동선 정보(170)에 기초하여, 동형 암호화된 근접성 정보(180)를 결정할 수 있다. 즉, 장치(100)는 특정인(120)과 사용자(130)의 동선을 대비할 수 있다. 근접성 정보(185)는 해당 사용자(130)가 특정인(120)에 대해 근접했었는지 여부를 지시하는 정보일 수 있다. 근접성 정보(185)는 제1 동선 정보(150)가 나타내는 기간 중 해당 사용자(130)가 특정인(120)에게 근접했었는지 여부를 지시할 수 있다. 제1 동선 정보(150)가 동형 암호화된 상태이므로, 동형 암호화된 형태의 근접성 정보가 결정될 수 있다.
장치(100)는 동형 암호화된 근접성 정보(180)를 서버(110)로 전달할 수 있다. 서버(110)는 동형 암호화된 근접성 정보(180)를 복호화할 수 있다. 서버(110)는 복호화로 획득된 근접성 정보(185)에 기초하여, 해당 사용자(130)가 특정인(120)과 과거에 근접한 범위 내에 존재한 적이 있었는지, 즉 근접했었는지 여부를 결정할 수 있다. 서버(110)는 근접성 정보(185)에 기초하여, 해당 사용자(130)의 장치(100)로 알람(190)을 전달할 수 있다. 알람(190)은 사용자(130)가 특정인(120)에 대해 근접했었음을 지시하거나, 사용자(130)가 특정인(120)에 대해 근접한 이력이 없음을 지시하는 정보일 수 있다. 일 실시예에서, 알람(190)은 특정인(120)에게 근접했을 것으로 판단되는 사용자의 장치로만 전달될 수도 있다.
특정인(120)의 제1 동선 정보(150)는 암호화되어 있으므로, 제1 동선 정보(150)를 사용자 군(140)에 전파한다고 하여도 특정인(120)의 사생활 및 인권이 침해될 소지가 적다. 또한 서버(110)는 암호화되어 있는 근접성 정보를 획득할 뿐 사용자(130)의 제2 동선 정보(170)는 수집하지 않으므로, 개인 정보 수집에 따른 문제도 발생하지 않을 수 있다. 또한 서버(110)는 특정인(120)에게 근접했을 것으로 판단되는 사용자에게만 알람을 발송하는 것이 가능하므로, 무분별한 알람에 의해 알람의 경고 효과가 떨어지는 것을 막을 수 있다. 또한 사용자의 장치를 통해 전자적으로 수집된 동선 정보(예: GPS 정보 등)에 기초하여 동선 대비가 수행되므로, 정확하고 효과적으로 특정인(120)과의 근접 여부가 판단될 수 있다. 또한 동선을 대비하고 근접성을 판단하는 연산이 각 사용자의 장치에서 개별적으로 수행되므로, 서버(110)가 다수의 사람들에 대한 동선 대비를 수행할 필요가 없어, 서버(110)의 연산 부담이 감소할 수 있다.
일 실시예에서, 특정인(120)은 방역이 아닌 목적(예: 방범, 수사, 군사, 산업 기밀 등)을 위해 소정의 기준에 따라 결정된 사람일 수도 있다. 일 실시예에서, 특정인(120), 각 사용자 등은 자연인에 한정되지 아니하고, 차량, 드론, 로봇, 장치 등일 수도 있다.
도 2는 본 개시의 일 실시예에 따른 장치(100)의 블록도를 나타낸 도면이다. 일 실시예에서, 장치(100)는 하나 이상의 프로세서(210) 및/또는 하나 이상의 메모리(220)를 구성요소로서 포함할 수 있다. 일 실시예에서, 장치(100)의 구성요소들 중 적어도 하나가 생략되거나, 다른 구성요소가 장치(100)에 추가될 수 있다. 일 실시예에서, 추가적으로(additionally) 또는 대체적으로(alternatively), 일부의 구성요소들이 통합되어 구현되거나, 단수 또는 복수의 개체로 구현될 수 있다. 본 개시에서, 하나 이상의 프로세서(210)는 프로세서(210)라고 표현될 수 있다. 프로세서(210)라는 표현은, 문맥상 명백히 다르게 표현하지 않는 이상, 하나 또는 그 이상의 프로세서의 집합을 의미할 수 있다. 본 개시에서, 하나 이상의 메모리(220)는 메모리(220)라고 표현될 수 있다. 메모리(220)라는 표현은, 문맥상 명백히 다르게 표현하지 않는 이상, 하나 또는 그 이상의 메모리의 집합을 의미할 수 있다. 일 실시예에서, 장치(100) 내/외부의 구성요소들 중 적어도 일부의 구성요소들은 버스, GPIO(general purpose input/output), SPI(serial peripheral interface) 또는 MIPI(mobile industry processor interface) 등을 통해 서로 연결되어, 정보(데이터, 신호 등)를 주고 받을 수 있다.
프로세서(210)는 소프트웨어(예: 명령, 프로그램 등)를 구동하여 프로세서(210)에 연결된 장치(100)의 적어도 한 구성요소를 제어할 수 있다. 또한 프로세서(210)는 본 개시와 관련된 다양한 연산, 처리, 데이터 생성, 가공 등의 동작을 수행할 수 있다. 또한 프로세서(210)는 데이터 등을 메모리(220)로부터 로드하거나, 메모리(220)에 저장할 수 있다. 일 실시예에서, 프로세서(210)는 통신 회로를 이용하여 동형 암호화된 제1 동선 정보(160)를 획득하고, 메모리(220)로부터 제2 동선 정보(170)를 획득하고, 동형 암호화된 근접성 정보(180)를 결정하고, 통신 회로를 이용하여 동형 암호화된 근접성 정보(180)를 서버(110)로 전달하고, 복호화된 근접성 정보(185)에 기초해 서버(110)로부터 전달된 알람(190)을 획득할 수 있다.
메모리(220)는 다양한 정보(데이터)를 저장할 수 있다. 메모리(220)에 저장되는 정보는, 장치(100)의 적어도 한 구성요소에 의해 획득되거나, 처리되거나, 사용되는 정보로서, 소프트웨어(예: 명령, 프로그램 등)를 포함할 수 있다. 메모리(220)는 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 본 개시에서, 명령 내지 프로그램은 메모리(220)에 저장되는 소프트웨어로서, 장치(100)의 리소스를 제어하기 위한 운영체제, 어플리케이션 및/또는 어플리케이션이 장치(100)의 리소스들을 활용할 수 있도록 다양한 기능을 어플리케이션에 제공하는 미들 웨어 등을 포함할 수 있다. 일 실시예에서, 메모리(220)는 프로세서(210)에 의한 실행 시 프로세서(210)가 연산을 수행하도록 하는 명령들을 저장할 수 있다. 일 실시예에서, 메모리(220)는 사용자(130)의 동선을 지시하는 정보, 제2 동선 정보(170), 동형 암호화된 제1 동선 정보(160), 동형 암호 알고리즘 관련 정보, 동형 암호화된 근접성 정보(180) 및/또는 알람(190) 등을 저장할 수 있다. 일 실시예에서, 프로세서(210)는 통신 회로를 제어하여 소정의 서버(예: 서버(110))로부터 정보를 획득하고, 이를 메모리(220)에 저장할 수 있다.
일 실시예에서, 장치(100)는 통신 회로(communication circuit, 230)를 더 포함할 수 있다. 통신 회로(230)는 실시예에 따라 장치(100)에서 생략될 수 있다. 통신 회로(230)는, 장치(100)와 서버(110), 또는 장치(100)와 다른 장치 간의 무선 또는 유선 통신을 수행할 수 있다. 예를 들어, 통신 회로(230)는 eMBB(enhanced Mobile Broadband), URLLC(Ultra Reliable Low-Latency Communications), MMTC(Massive Machine Type Communications), LTE(Long-Term Evolution), LTE-A(LTE Advance), NR(New Radio), UMTS(Universal Mobile Telecommunications System), GSM(Global System for Mobile communications), CDMA(Code Division Multiple Access), WCDMA(Wideband CDMA), WiBro(Wireless Broadband), WiFi(Wireless Fidelity), 블루투스(Bluetooth), NFC(Near Field Communication), GPS(Global Positioning System) 또는 GNSS(Global Navigation Satellite System) 등의 방식에 따른 무선 통신을 수행할 수 있다. 예를 들어, 통신 회로(230)는 USB(Universal Serial Bus), HDMI(High Definition Multimedia Interface), RS-232(Recommended Standard-232) 또는 POTS(Plain Old Telephone Service) 등의 방식에 따른 유선 통신을 수행할 수 있다. 일 실시예에서, 장치(100)는 다른 장치와 통합되어 구현될 수도 있다. 이 경우, 통신 회로(230)는 장치(100)와 해당 다른 장치를 연결하는 접속 회로 내지 인터페이스로서 기능할 수 있다.
일 실시예에서, 장치(100)는 입출력 인터페이스를 더 포함할 수 있다. 입출력 인터페이스는 실시예에 따라 장치(100)에서 생략될 수 있다. 일 실시예에서, 입출력 인터페이스는 사용자(130)로부터 다양한 정보를 입력 받아 장치(100)의 적어도 한 구성요소로 전달하거나, 장치(100)의 적어도 한 구성요소가 출력한 다양한 정보를 전달 받아 사용자(130)에게 시청각적 형태로 제공(표출)할 수 있다. 입출력 인터페이스는 예를 들어 터치 입력이 가능한 디스플레이일 수 있다.
본 개시에서, 서버(110)는 하나 이상의 프로세서 및/또는 하나 이상의 메모리를 포함할 수 있다. 서버(110)의 메모리는, 프로세서에 의한 실행 시, 프로세서가 연산을 수행하도록 하는 명령들을 저장할 수 있다. 서버(110)의 프로세서는, 본 개시에 따른 근접성 결정 기술에 따라, 장치(100)의 전술한 동작들에 대응되는 동작들을 수행할 수 있다.
도 3은 본 개시의 일 실시예에 따른 장치(100)의 동작 과정을 도시한 도면이다. 특정인(120)은 제1 동선 정보(150)를 서버(110)에 등록할 수 있다. 또는 방역 당국이 특정인(120)으로부터 획득한 제1 동선 정보(150)가 방역 당국에 의해 서버(110)에 등록될 수 있다. 서버(110)는 제1 동선 정보(150)를 동형 암호화할 수 있다. 실시예에 따라, 서버(110)는 제1 동선 정보(150)를 먼저 변환한 후에, 변환된 제1 동선 정보(150)를 동형 암호화할 수도 있다. 제1 동선 정보(150)의 변환 과정은 후술한다.
서버(110)는 동형 암호화된 제1 동선 정보(160)를 사용자(130)의 장치(100)로 전달할 수 있다. 장치(100)는 사용자(130)의 동선 정보를 수집해 오고 있을 수 있다. 장치(100)는 동형 암호화된 제1 동선 정보(160)를 획득함에 따라, 제2 동선 정보(170)를 획득할 수 있다. 구체적으로 장치(100)의 프로세서(210)는 메모리(220)에 저장된 사용자(130)의 동선 정보 중 미리 설정된 기간(예: 제1 동선 정보(150)의 기간에 대응되는 기간)에 해당하는 제2 동선 정보(170)를 획득할 수 있다. 실시예에 따라, 근접성 정보를 결정하기에 앞서, 장치(100)는 제2 동선 정보(170)를 변환할 수 있다. 제2 동선 정보(170)의 변환 과정은 후술한다.
장치(100)는 동형 암호화된 제1 동선 정보 및 제2 동선 정보에 기초하여, 동형 암호화된 근접성 정보(180)를 결정할 수 있다. 장치(100)는 동형 암호화된 근접성 정보(180)를 서버(110)로 전달할 수 있다. 서버(110)는 동형 암호화된 근접성 정보(180)를 복호화하여, 근접성 정보(185)를 획득할 수 있다. 서버(110)는 근접성 정보(185)에 기초하여 장치(100)로 알람(190)을 전달할 수 있다.
도 4는 본 개시의 일 실시예에 따른 격자 시스템의 종류를 도시한 도면이다. 전술한 바와 같이, 동선 정보(예: 제1 동선 정보(150), 제2 동선 정보(170))에는 변환 과정이 수행될 수 있다. 해당 변환 과정은 동선 정보의 위치 정보가 격자(grid) 시스템 상에서 특정인(120) 또는 사용자(130)의 위치에 해당하는 격자를 지시하도록, 해당 동선 정보를 변환하는 과정일 수 있다. 즉, 서버(110)는 제1 동선 정보(150)의 위치 정보가 격자 시스템에서 특정인(120)의 위치에 해당하는 격자를 지시하도록, 제1 동선 정보(150)를 변환할 수 있다. 또한 장치(100)는 제2 동선 정보(170)의 위치 정보가 격자 시스템에서 사용자(130)의 위치에 해당하는 격자를 지시하도록, 제2 동선 정보(170)를 변환할 수 있다. 특정인(120)과 사용자(130)의 위치 사이의 거리를 산출하기에 앞서, 두 위치를 격자 시스템 상의 격자로 표현함으로써, 연산이 간단해지고 연산 부담도 줄어들 수 있다.
본 개시에서, 격자 시스템은 지리적 공간을 이산화(discretization)하여 나타낸 것일 수 있다. 실제 지리적 공간은 연속적이다. 격자 시스템은 실제 지리적 공간을 일정 크기의 단위 격자로 나누어 이산적으로 표현할 수 있다. 격자 시스템에 사용되는 격자는 다양한 형태와 크기를 가질 수 있다. 예를 들어 격자 시스템은 삼각형 격자(410), 사각형 격자(420) 또는 육각형 격자(430) 등을 사용할 수 있다. 또한 격자의 한 변의 길이는 다양하게 설정될 수 있다(예: 24.91 미터).
삼각형 격자(410)를 사용하는 경우, 인접한 두 격자 사이의 거리는 3개의 다른 값으로 표현될 수 있다. 사각형 격자(420)를 사용하는 경우, 인접한 두 격자 사이의 거리는 2개의 다른 값으로 표현될 수 있다. 그러나 육각형 격자(430)를 사용하는 경우, 인접한 두 격자 사이의 거리는 단 1개의 값으로 표현될 수 있다. 따라서 육각형 격자(430)를 사용하는 경우 두 격자가 서로 인접한 격자인지 여부를 판단하는 연산이 보다 단순화될 수 있다. 본 개시에서, 두 격자가 서로 인접한다는 것은 격자 시스템 상에서 두 격자가 적어도 한 변 또는 적어도 한 꼭지점을 공유하는 경우를 의미한다.
이하 설명의 편의를 위해, 격자 시스템이 육각형 격자(430)를 사용하는 경우를 중심으로 본 개시의 근접성 결정 기술에 대해 설명한다. 예를 들어, 격자 시스템은 H3(Hexagonal Hierarchical Spatial Index) 시스템일 수 있다. 그러나 본 개시는 육각형 격자(430)에 따른 격자 시스템을 사용하는 것으로 한정되지 않으며, 다양한 형태와 크기의 격자에 따른 격자 시스템이 본 개시의 근접성 결정 기술에 사용될 수 있다.
도 5는 본 개시의 일 실시예에 따른, 동선 정보 변환 과정 및 근접성 정보 결정 과정을 도시한 도면이다. 전술한 바와 같이, 동선 정보는 시점 정보 및 위치 정보의 쌍을 하나 이상 포함할 수 있다. 한 위치 정보는, 그 위치 정보에 대응하는 시점 정보가 지시하는 일 시점에서의 특정인(120) 또는 사용자(130)의 위치를 지시할 수 있다. 해당 위치 정보는 연속적인 지리적 공간 내에서 특정인(120) 또는 사용자(130)의 위치를 실수(real number) 값으로 지시할 수 있다.
먼저 장치(100)가 제2 동선 정보(170)를 변환하는 과정을 기준으로, 동선 정보 변환 과정에 대해 설명한다. 해당 동선 정보 변환 과정은 서버(110)가 제1 동선 정보(150)를 변환할 때에도 유사하게 적용될 수 있다.
장치(100)의 프로세서(210)는 제2 동선 정보(170)의 위치 정보가 격자 시스템에서 사용자(130)의 위치에 해당하는 격자를 지시하도록, 제2 동선 정보(170)를 변환할 수 있다. 도시된 격자 시스템은 I축과 J축을 가질 수 있다. 격자 시스템의 각 격자는 I축 및 J축 상의 좌표로 표시될 수 있다. 예를 들어 도 5에서 음영 처리된 격자는 (-1, 1)로 표시될 수 있다. I축과 J축 사이의 각도는 예를 들어 120도일 수 있다(α=120). 제2 동선 정보(170)의 위치 정보가 지시하는 사용자(130)의 위치는, 격자 시스템 상에서 어느 한 격자가 차지하는 영역 내에 포함될 수 있다. 프로세서(210)는 위치 정보를 해당 격자를 지시하는 정보로 변환할 수 있다. 예를 들어 제2 동선 정보(170)의 위치 정보는 사용자(130)의 위치 P를 (Ux0, Uy0)와 같은 GPS 좌표 등으로 나타내는데, 프로세서(210)는 이를 (P(i), P(j))로 변환할 수 있다(510). P(i)는 해당 격자의 I축 상 좌표인 1, P(j)는 해당 격자의 J축상 좌표인 1일 수 있다. 마찬가지로 Q, U 및 V 위치는, 각각 (Q(i), Q(j)), (U(i), U(j)) 및 (V(i), V(j))로 변환될 수 있다(510). (Q(i), Q(j)), (U(i), U(j)) 및 (V(i), V(j))는 각각 (2, 2), (1, 1) 및 (2, 0)일 수 있다. 이러한 변환 과정을 수행하는 함수를 H로 표기할 수 있다. 즉 H(P) = H(P(Ux0, Uy0)) = (P(i), P(j))일 수 있다. 예를 들어 H 함수는 전술한 H3 시스템에서 제공하는 H 함수일 수 있다.
다음으로 근접성 정보 결정 과정에 대해 설명한다. 전술한 바와 같이, 프로세서(210)는 동형 암호화된 제1 동선 정보(160) 및 제2 동선 정보(170)에 기초하여, 동형 암호화된 근접성 정보(180)를 결정할 수 있다. 일 실시예에서, 동형 암호화된 제1 동선 정보(160)의 위치 정보는 서버(110)에 의해 상술한 변환 과정을 거친 정보일 수 있다. 즉 서버(110)는 제1 동선 정보(150)를 변환한 뒤, 변환된 제1 동선 정보(150)를 동형 암호화하여, 장치(100)로 전달한 것일 수 있다. 또한 여기서 제2 동선 정보(170)는 프로세서(210)에 의해 상술한 변환 과정을 거친 정보일 수 있다.
프로세서(210)는 변환되고 동형 암호화된 제1 동선 정보(160)의 위치 정보가 지시하는 격자와, 변환된 제2 동선 정보(170)의 위치 정보가 지시하는 격자 사이의 거리를 결정할 수 있다. 예를 들어 특정인(120)의 위치가 P이고 사용자(130)의 위치가 Q라면, 특정인(120)의 격자와 사용자(130)의 격자 사이의 거리는 아래 수학식 1과 같이 산출될 수 있다.
Figure PCTKR2021017606-appb-img-000001
여기서 Dist2 함수는 두 격자 사이의 거리를 결정하는 함수이다. H(P)는 변환된 제1 동선 정보(150)의 위치 정보로서 특정인(120)의 격자 (P(i), P(j))에 해당한다. H(Q)는 변환된 제2 동선 정보의 위치 정보로서 사용자(130)의 격자 (Q(i), Q(j))에 해당한다.
전술한 바와 같이, 동형 암호는 데이터를 암호화된 상태에서 연산할 수 있도록 암호화하는 방법이다. 동형 암호문 간에, 또는 동형 암호문과 평문 간에 연산이 가능하며, 연산 결과는 새로운 동형 암호문이 될 수 있다. 연산 결과를 복호화하여 얻은 평문은 암호화하기 전 원래 데이터의 연산 결과와 같을 수 있다.
여기서 (P(i), P(j))는 동형 암호 알고리즘에 따라 동형 암호화된 상태일 수 있다. 동형 암호화된 상태임을 표시하기 위해, 이를 (c(P(i)), c(P(j)))와 같이 표기할 수 있다. 동형 암호화된 상태이므로, (c(P(i)), c(P(j)))는 평문인 (Q(i), Q(j))와 Dist2 함수에 따른 연산을 수행할 수 있다. 이에 따라 상술한 수학식 1을 다시 쓰면 아래 수학식 2와 같을 수 있다. 수학식 2에 따른 연산으로 결정되는 c Dist2 역시 동형 암호문일 수 있다.
Figure PCTKR2021017606-appb-img-000002
(P(i), P(j)) = (1, 1)이고, (Q(i), Q(j)) = (2, 2)이므로, Dist2(P, Q)는 1일 수 있다(520). 이 경우, c Dist2는 1이 동형 암호화된 암호문일 수 있다. Dist2(P, Q)의 값이 1이라는 것은, 특정인(120)의 격자 H(P)와 사용자(130)의 격자 H(Q)가 서로 인접한 격자임을 지시한다. 한편 사용자(130)의 위치가 U라면, Dist2(P, U)의 값은 0이 된다(530). 이 경우, c Dist2는 0이 동형 암호화된 암호문일 수 있다. Dist2(P, U)의 값이 0이라는 것은, 특정인(120)의 격자 H(P)와 사용자(130)의 격자 H(U)가 동일한 격자임을 지시한다. 사용자(130)의 위치가 V라면, Dist2(P, V)의 값은 2가 된다(540). 이 경우, c Dist2는 2가 동형 암호화된 암호문일 수 있다. Dist2(P, V)의 값이 2라는 것은, 특정인(120)의 격자 H(P)와 사용자(130)의 격자 H(V)가 동일한 격자도 아니고 서로 인접한 격자도 아님을 지시한다. 일 실시예에서, Dist2(P, V)의 값이 2라는 것은, 특정인(120)의 격자 H(P)와 사용자(130)의 격자 H(V)가 2칸 이상 떨어져 있음을 지시할 수 있다.
일 실시예에서, 프로세서(210)는 c Dist2 값을 동형 암호화된 근접성 정보(180)로 결정하고, 이를 서버(110)로 전달할 수도 있다. 그러나 이 경우 서버(110)는 동형 암호화된 근접성 정보(180)(즉, c Dist2)를 복호화하여 Dist2 함수의 값을 알아낼 수 있다. 서버(110) 내지 방역 당국이 Dist2 함수 값의 크기에 기초하여 해당 사용자(130)의 동선을 일정 수준 예상하는 것이 가능해 진다. 이는 사용자(130)의 사생활 침해 및 인권 침해의 우려를 발생시킬 수 있다.
따라서 동형 암호화된 근접성 정보(180)를 복호화하였을 때 복호화된 근접성 정보(185)가 특정인(120)의 격자와 사용자(130)의 격자가 동일한 격자이거나 서로 인접한 격자인지 여부만을 지시할 수 있도록, 프로세서(210)는 c Dist2 값을 처리하고, 처리된 값인 c RProx를 동형 암호화된 근접성 정보(180)로 결정할 수 있다. 즉 특정인(120)과 사용자(130)가 동일한 격자 또는 인접한 격자에 위치했던 경우, 복호화된 근접성 정보(185)가 미리 설정된 단일의 기준값(예: 0)을 지시하고, 특정인(120)과 사용자(130)가 동일한 격자 또는 인접한 격자에 위치하지 않았던 경우에는, 복호화된 근접성 정보(185)가 기준값이 아닌 값을 지시하도록 하는 동형 암호화된 근접성 정보(180)가 결정될 수 있다. 프로세서(210)는 이렇게 처리된 동형 암호화된 근접성 정보(180)를 서버(110)로 전달할 수 있다.
이를 위해 c Dist2가 다양한 방식으로 처리되어, c RProx가 결정될 수 있다. 즉 c RProx가 동형 암호화된 근접성 정보(180)로서 결정되어, 서버(110)로 전달될 수 있다. 예를 들어 c RProx는 아래 수학식 3과 같이 결정될 수 있다. c Dist2는 동형 암호문이므로, 수학식 3에 의해 산출된 c RProx 역시 동형 암호화된 상태의 동형 암호문일 수 있다.
Figure PCTKR2021017606-appb-img-000003
여기서 r은 0이 아닌 임의의 실수일 수 있다. 일 실시예에서, r은 제1, 2 동선 정보(150, 170)의 시점 정보 및 위치 정보의 쌍마다 다른 임의의 값으로 설정될 수 있다. 일 실시예에서, 수학식 3과 같이 c0가 추가로 더해질 수도 있고, 그렇지 않을 수도 있다. c0는 보안을 위해 추가로 더해지는 값일 수 있다. 일 실시예에서, c0는 0을 큰 노이즈 파라미터 값으로 임의 암호화한 값일 수 있다. 일 실시예에서, 서버(110) 역시 c0 값 내지 노이즈 파라미터 값을 저장하였다가 c RProx를 복호화하는 데에 사용할 수 있다. 서버(110)가 c RProx 를 복호화하면 소정의 r`값을 획득할 수 있는데, r`는 아래 수학식 4와 같은 연산에 의해 출력될 수 있는 값일 수 있다. 즉 r`는 복호화된 근접성 정보(185)일 수 있다.
Figure PCTKR2021017606-appb-img-000004
특정인(120)의 격자와 사용자(130)의 격자가 동일한 격자이거나 서로 인접한 격자인 경우, Dist2 함수 값은 0이거나 1의 값을 가진다. Dist2 함수 값이 0이거나 1인 경우, r` 값은 0이 된다. 특정인(120)의 격자와 사용자(130)의 격자가 동일한 격자도 아니고 서로 인접한 격자도 아닌 경우, Dist2 함수 값은 2 이상의 정수 값을 가진다. Dist2 함수 값이 2 이상의 정수인 경우, r` 값은 0이 아닌 임의의 실수 값을 가지게 된다.
따라서 서버(110)는 동형 암호화된 상태인 c RProx 를 복호화하여 r` 값을 획득하고, r` 값이 0이라면 해당 사용자(130)가 특정인(120)에 대해 근접했었다고 판단하고, 0이 아니라면 해당 사용자(130)가 특정인(120)에 대해 근접한 이력이 없다고 판단할 수 있다. 서버(110)는 복호화된 값 r`가 0인지 아닌지 여부만을 알 수 있을 뿐이므로, 방역 당국이 해당 사용자(130)의 동선을 예상하는 것이 불가능하다.
일 실시예에서, 동형 암호화된 근접성 정보(180)를 복호화하였을 때 복호화된 근접성 정보(185)가 특정인(120)의 격자와 사용자(130)의 격자가 동일한 격자이거나, 서로 n칸 떨어져 있는 격자인지 여부만을 지시할 수 있도록, c Dist2 값이 처리되어 c RProx (즉, 동형 암호화된 근접성 정보(180))가 결정될 수 있다. 여기서 n은 1 이상의 정수일 수 있다. 이 경우, c RProx는 아래 수학식 5와 같이 결정될 수 있다. 수학식 5는 수학식 3의 변형으로서, r 및 c0에 대한 설명은 동일하다.
Figure PCTKR2021017606-appb-img-000005
서버(110)가 수학식 5에 따른 c RProx 를 복호화하면, 아래 수학식 6과 같은 연산에 의해 출력될 수 있는 소정의 r`값을 획득할 수 있다. 수학식 6은 수학식 4의 변형이다.
Figure PCTKR2021017606-appb-img-000006
특정인(120)의 격자와 사용자(130)의 격자가 동일한 격자이면 Dist2 함수 값은 0, 서로 인접한 격자이면 Dist2 함수 값은 1, 서로 2칸 떨어져 있는 격자이면 Dist2 함수 값은 2, 서로 n칸 떨어져 있는 격자이면 Dist2 함수 값은 n일 수 있다. 예를 들어 격자 시스템 상에서 격자 2칸 이내에 있던 경우까지 특정인(120)과 사용자(130)가 근접했던 것으로 보기로 한다면, n은 2로 설정될 수 있다. 이 경우 특정인(120)의 격자와 사용자(130)의 격자가 동일한 격자이거나, 서로 인접한 격자이거나, 서로 2칸 떨어져 있는 격자라면, Dist2 함수 값은 0, 1 또는 2가 되고, r`값은 0이 된다. 특정인(120)의 격자와 사용자(130)의 격자가 3칸 이상 떨어져 있었다면, Dist2 함수 값은 3 이상의 정수가 되고, r`값은 0이 0이 아닌 임의의 실수 값을 가지게 된다. 이에 따라 서버(110)는 동형 암호화된 상태인 c RProx 를 복호화하여 r` 값을 획득하고, r` 값이 0이라면 해당 사용자(130)가 특정인(120)에 대해 근접했었다고 판단하고, 0이 아니라면 해당 사용자(130)가 특정인(120)에 대해 근접한 이력이 없다고 판단할 수 있다. 일 실시예에서, n의 값은 본 개시에 따른 기술의 실시자(예: 방역 당국)의 의도에 따라 다르게 설정될 수 있다.
일 실시예에서, 서버(110)는 복호화된 근접성 정보(185)가 미리 설정된 기준값(예: 0)을 지시한다고 결정함에 따라, 해당 사용자(130)가 특정인(120)에 대해 근접했었음을 지시하는 알람(이하, 제1 알람)을 장치(100)로 전달할 수 있다. 장치(100)의 프로세서(210)는 제1 알람을 획득할 수 있다. 한편 서버(110)는 복호화된 근접성 정보(185)가 미리 설정된 기준값(예: 0)이 아닌 값을 지시한다고 결정함에 따라, 해당 사용자(130)가 특정인(120)에 대해 근접한 이력이 없음을 지시하는 알람(이하, 제2 알람)을 장치(100)로 전달할 수 있다. 장치(100)의 프로세서(210)는 제2 알람을 획득할 수 있다. 일 실시예에서, 서버(110)는 근접성 정보(185)가 미리 설정된 기준값이 아닌 값을 지시하는 경우 제2 알람을 장치(100)로 전달하지 않을 수 있다. 불필요한 알람을 최소화하기 위함일 수 있다.
전술한 바와 같이, 동선 정보는 시점 정보 및 위치 정보의 쌍(예: (t0, Sx0, Sy0) 또는 (t0, P(i), P(j)))을 하나 이상 포함할 수 있다. 따라서 전술한 근접성 정보 결정 과정은 동선 정보의 각 쌍 별로 수행될 수 있다. 즉, 각 쌍에 대해 결정된 동형 암호화된 근접성 정보(180)가 결정될 수 있다. 이에 따라 특정인(120)의 동선과 사용자(130)의 동선이 대비될 수 있다. 각 쌍에 대해 결정된 동형 암호화된 근접성 정보(180)는 서버(110)로 전달될 수 있다. 서버(110)는 각 쌍에 대한 정보들을 복호화할 수 있다. 서버(110)는 각 쌍에 대한 근접성 정보(185) 중 어느 하나라도 미리 설정된 기준값을 지시하는 것이 있다면, 장치(100)로 제1 알람을 전달할 수 있다. 이 때 제1 알람은 기준값을 지시하는 쌍에 해당하는 제1 동선 정보(150)의 시점 정보 및 위치 정보를 포함할 수 있다. 즉 특정인(120)과 근접했던 경우에, 사용자(130)에게 근접했던 해당 시점에서 특정인(120)이 어느 위치에 있었는지를 알리는 것이 필요할 수 있기 때문이다. 이에 따라 특정인(120)의 동선을 완전히 대중에게 공개하지 않으면서도, 방역 등을 위해 알려야 할 정보(근접했던 시점 및 그 때의 특정인(120)의 위치)만을 특정 사용자(130)에게만 알릴 수 있다. 서버(110)는 각 쌍에 대한 근접성 정보(185) 모두가 기준값이 아닌 값을 지시한다면, 장치(100)로 제2 알람을 전달하거나, 장치(100)로 어떠한 알람도 전달하지 않을 수 있다.
일 실시예에서, 서버(110)는 제1 동선 정보(150)의 변환에 사용되었던 격자 시스템에 대한 정보를 장치(100)로 전달할 수 있다. 해당 정보는 격자의 종류(예: 사각형, 육각형 등) 및/또는 해당 격자의 한 변의 길이(r)를 지시할 수 있다. 장치(100)의 프로세서(210)는 격자 시스템에 대한 정보에 기초하여, 제2 동선 정보(170)의 변환 과정을 수행할 수 있다. 예를 들어 서버(110)는 격자 시스템의 격자 크기(r)를 지시하는 정보를 장치(100)로 전달하고, 프로세서(210)는 격자의 크기를 지시하는 정보에 기초하여 제2 동선 정보(170)의 변환 과정을 수행할 수 있다.
일 실시예에서, 제1 동선 정보(150)와 제2 동선 정보(170) 각각의 시점 정보들은 그 간격이 상이할 수 있다. 예를 들어 제1 동선 정보(150)는 5초 간격의 시점 정보들을 가질 수 있고, 제2 동선 정보(170)는 2초 간격의 시점 정보들을 가질 수 있다. 이 경우 프로세서(210)는 두 시점 정보들 간격의 최소 공배수(예: 10초)에 해당하는 시점들에 대해서 근접성 여부 결정 과정을 수행할 수 있다. 또는 프로세서(210)는 소정의 시간 정렬(time alignment) 알고리즘에 기초하여 두 시점 정보들을 정렬한 후, 근접성 여부 결정 과정을 수행할 수 있다.
일 실시예에서, 프로세서(210)는 변환되지 않고 동형 암호화된 제1 동선 정보(160) 및 변환되지 않은 제2 동선 정보(170)에 기초하여, 동형 암호화된 근접성 정보(180)를 결정할 수도 있다. 이 경우 두 지리적 위치 간의 거리를 결정하는 알고리즘(예: 두 GPS 좌표 간의 거리를 결정하는 알고리즘)에 따라, 제1, 2 동선 정보(150, 170) 각각의 위치 정보 사이의 거리가 결정될 수 있다. 결정된 거리가 미리 결정된 기준을 만족하는지 여부에 따라 제1 알람 또는 제2 알람이 전달될 수 있다.
도 6은 본 개시의 일 실시예에 따른 장치(100)의 사용자 인터페이스를 도시한 도면이다. 일 실시예에서, 장치(100)에는 본 개시에 따른 근접성 결정 기술을 제공하는 프로그램(예: 어플리케이션)이 설치되어 있을 수 있다. 일 실시예에서, 장치(100)는 본 개시에 따른 근접성 결정 기술을 제공하는 웹 페이지에 접근할 수 있다. 장치(100)는 전술한 프로그램 내지 웹 페이지를 통하여 서버(110)와 통신할 수 있다. 도시된 사용자 인터페이스는 전술한 프로그램 내지 웹 페이지를 통해 제공될 수 있다.
첫 번째 인터페이스(610)는 사용자(130)의 동선을 지시하는 정보를 표출하는 화면일 수 있다. 전술한 바와 같이, 메모리(220)는 사용자(130)의 동선을 지시하는 정보를 수집할 수 있다. 예를 들어 메모리(220)는 2020년 8월 16일부터 2020년 9월 1일까지의 기간 동안 사용자(130)의 동선을 지시하는 정보를 수집하여 저장하고 있을 수 있다. 인터페이스(610)는 해당 기간 동안 각 일자에 저장된 동선을 나타낼 수 있다. 예를 들어 2020년 8월 16일에는 사용자(130)가 위치했던 73개의 위치가 기록되어 있을 수 있다. 인터페이스(610) 상 "지도에서 보기" 버튼을 선택하면, 해당 위치들이 지도 상에 표시될 수도 있다. 인터페이스(610) 상 "동선 다운로드" 버튼을 선택하면, 특정인(120)의 제1 동선 정보(150)를 서버(110)로부터 획득할 수 있다. 사용자(130)가 감염병에 확진된 경우, 인터페이스(610) 상 "확진자 등록" 버튼을 선택하면, 사용자(130)는 자신의 동선을 지시하는 정보를 서버(110)에 등록할 수 있다.
두 번째 인터페이스(620)는 한 특정인이 지정되었을 때 그 특정인과 사용자(130) 자신의 동선을 대비한 결과를 간략히 표출하는 화면일 수 있다. 예를 들어 소정 감염병의 6번째 확진자가 2020년 8월 31일 23시 4분에 발생했을 수 있다. 프로세서(210)는 전술한 바와 같이 6번째 확진자(즉, 특정인(120))의 동형 암호화된 제1 동선 정보(160)를 획득하고, 사용자(130)의 제2 동선 정보(170)와 대비하여 동형 암호화된 근접성 정보(180)를 결정하고, 이를 서버(110)로 전달할 수 있다. 서버(110)는 6번째 확진자와 사용자(130)가 근접했었다면 제1 알람을 장치(100)로 전달할 수 있다. 또한 전술한 바와 같이 제1 알람은 6번째 확진자와 사용자(130)가 근접했었던 시점을 지시하는 시점 정보와 해당 시점에서의 6번째 확진자의 위치 정보를 장치(100)로 전달할 수 있다. 인터페이스(620)는 사용자(130)가 6번째 확진자에 근접했었던 시점 정보 및 위치 정보 쌍이 291개 있음을 표출하고 있다. 인터페이스(620)에서 "결과 확인" 버튼을 선택하면, 해당 291개 쌍의 상세 정보를 확인할 수 있다.
세 번째 인터페이스(630)는 두 번째 인터페이스(620)에서 "결과 확인" 버튼을 선택하면 표출되는 화면일 수 있다. 인터페이스(630)는 사용자(130) 6번째 확진자에 근접했었던 시점 정보 및 위치 정보 쌍 각각에 대한 상세 정보를 표출할 수 있다. 예를 들어 첫 번째 쌍은 2020년 8월 17일 23시 4분에 (37.4715852, 127.0260082)의 GPS 좌표로 특정되는 위치에 6번째 확진자가 위치했었으며, 사용자(130)가 해당 시점 및 해당 위치에서 6번째 확진자에 근접했었음을 나타낸다. 또한 두 번째 쌍은 2020년 8월 17일 23시 10분에 (37.4715912, 127.0260159)의 GPS 좌표로 특정되는 위치에 6번째 확진자가 위치했었으며, 사용자(130)가 해당 시점 및 해당 위치에서 6번째 확진자에 근접했었음을 나타낸다. 이러한 시점 정보 및 위치 정보의 쌍 각각은 지도 상에 표시될 수도 있다.
도 7은 본 개시의 일 실시예에 따른 근접성 결정 방법(700)을 나타낸 도면이다. 근접성 결정 방법(700)은 장치(100)에 의해 수행될 수 있다. 본 방법(700)은, 동형 암호화된 제1 동선 정보를 획득하는 단계(S710), 제2 동선 정보를 획득하는 단계(S720), 동형 암호화된 근접성 정보를 결정하는 단계(S730), 동형 암호화된 근접성 정보를 서버로 전달하는 단계(S740), 및/또는 서버로부터 전달된 알람을 획득하는 단계(S750)를 포함할 수 있다.
단계 S710에서, 프로세서(210)는, 특정인(120)의 동선을 지시하는 제1 동선 정보(150)를 동형 암호 알고리즘에 기초하여 동형 암호화하는 서버(110)로부터, 동형 암호화된 제1 동선 정보(160)를 획득할 수 있다. 단계 S720에서, 프로세서(210)는 메모리(220)로부터, 사용자(130)의 동선을 지시하는 제2 동선 정보(170)를 획득할 수 있다.
단계 S730에서, 프로세서(210)는 동형 암호화된 제1 동선 정보(160) 및 제2 동선 정보(170)에 기초하여, 사용자(130)가 특정인(120)에 대해 근접했었는지 여부를 지시하는 동형 암호화된 근접성 정보(180)를 결정할 수 있다. 단계 S740에서, 프로세서(210)는 동형 암호화된 근접성 정보(180)를 서버(110)로 전달할 수 있다. 동형 암호화된 근접성 정보(180)는 서버(110)에 의해 복호화될 수 있다. 단계 S750에서, 프로세서(210)는, 복호화된 근접성 정보(185)에 기초해 서버(110)로부터 전달된 알람(190)을 획득할 수 있다. 본 개시에서 프로세서(210)는 필요한 경우 통신 회로(230)를 이용하여 서버(110)와 통신할 수 있다.
일 실시예에서, 제1 동선 정보(150)는 일 시점을 지시하는 시점 정보 및 해당 일 시점에서의 특정인(120)의 위치를 지시하는 위치 정보를 포함할 수 있다. 일 실시예에서, 제2 동선 정보(170)는 상술한 일 시점을 지시하는 시점 정보 및 해당 일 시점에서의 사용자(130)의 위치를 지시하는 위치 정보를 포함할 수 있다.
일 실시예에서, 동형 암호화된 제1 동선 정보(160)는 격자 시스템에서 특정인(120)의 위치에 해당하는 격자를 지시하도록 변환된 제1 동선 정보(150)를 동형 암호화한 것일 수 있다. 단계 S730은, 프로세서(210)가, 제2 동선 정보(170)를 전술한 변환 과정에 따라 변환하는 단계, 및/또는 동형 암호화된 제1 동선 정보(160) 및 변환된 제2 동선 정보(170)에 기초하여 동형 암호화된 근접성 정보(180)를 결정하는 단계를 포함할 수 있다. 여기서 동형 암호화된 근접성 정보(180)는, 특정인(120)과 사용자(130)가 격자 시스템에서 동일한 격자 또는 인접한 격자에 위치했었는지 여부를 지시할 수 있다.
일 실시예에서, 복호화된 근접성 정보(185)는, 특정인(120)과 사용자(130)가 동일한 격자 또는 인접한 격자에 위치했던 경우 미리 설정된 단일의 기준값을 지시할 수 있다. 또한 복호화된 근접성 정보(185)는, 특정인(120)과 사용자(130)가 동일한 격자 또는 인접한 격자에 위치하지 않았던 경우 기준값이 아닌 값을 지시할 수 있다.
일 실시예에서, 단계 S750은, 복호화된 근접성 정보(185)가 기준값을 지시한다는 서버(110)의 결정에 따라, 프로세서(210)가 제1 알람을 획득하는 단계, 및/또는 복호화된 근접성 정보(185)가 기준값이 아닌 값을 지시한다는 서버(110)의 결정에 따라, 프로세서(210)가 제2 알람을 획득하는 단계를 포함할 수 있다.
일 실시예에서, 제1 알람은 제1 동선 정보(150)의 시점 정보 및 위치 정보를 포함할 수 있다. 즉, 제1 알람은 특정인(120)과 사용자(130)가 동일 또는 인접한 격자에 위치했던 시점을 지시하는 해당 시점 정보 및 그 시점에서의 특정인(120)의 위치를 지시하는 해당 위치 정보를 포함할 수 있다.
일 실시예에서, 제2 동선 정보(170)의 위치 정보는 일 시점에서 사용자(130)의 위치를 지시하는 GPS 좌표일 수 있다. 일 실시예에서, 제1 동선 정보(150) 및 제2 동선 정보(170) 각각은, 시점 정보 및 위치 정보의 쌍을 하나 이상 포함할 수 있다.
도 8은 본 개시의 일 실시예에 따른 근접성 결정 방법(800)을 나타낸 도면이다. 근접성 결정 방법(800)은 서버(110)에 의해 수행될 수 있다. 본 방법(800)은, 제1 동선 정보를 획득하는 단계(S810), 제1 동선 정보를 변환하는 단계(S820), 변환된 제1 동선 정보를 동형 암호화하는 단계(S830), 동형 암호화된 제1 동선 정보를 장치(100)로 전달하는 단계(S840), 동형 암호화된 근접성 정보를 획득하는 단계(S850), 동형 암호화된 근접성 정보를 복호화하는 단계(S860), 및/또는 복호화된 근접성 정보에 기초하여 장치(100)로 알람을 전달하는 단계(S870)를 포함할 수 있다.
단계 S810에서, 서버(110)는 특정인(120)으로부터 제1 동선 정보(150)를 획득할 수 있다. 또는 서버(110)는 방역 당국으로부터 제1 동선 정보(150)를 획득할 수 있다. 단계 S820에서, 서버(110)의 프로세서는 제1 동선 정보(150)를 전술한 변환 과정에 따라 변환할 수 있다. 단계 S830에서, 서버(110)의 프로세서는 변환된 제1 동선 정보를 동형 암호화할 수 있다. 단계 S840에서, 서버(110)의 프로세서는 동형 암호화된 제1 동선 정보(160)를 장치(100)로 전달할 수 있다.
단계 S850에서, 서버(110)의 프로세서는 장치(100)로부터 동형 암호화된 근접성 정보(180)를 획득할 수 있다. 단계 S860에서, 서버(110)의 프로세서는 동형 암호화된 근접성 정보(180)를 복호화할 수 있다. 단계 S870에서, 서버(110)의 프로세서는 복호화된 근접성 정보(185)에 기초하여 장치(100)로 알람(190)을 전달할 수 있다.
일 실시예에서, 서버(110)의 프로세서는 복호화된 근접성 정보(185)가 미리 설정된 기준값을 지시하는지 여부를 결정할 수 있다. 근접성 정보(185)가 기준값을 지시하는 경우, 서버(110)의 프로세서는 제1 알람을 장치(100)로 전달할 수 있다. 근접성 정보(185)가 기준값이 아닌 값을 지시하는 경우, 서버(110)의 프로세서는 제2 알람을 장치(100)로 전달할 수 있다.
본 개시에 따른 방법들은 컴퓨터로 구현된 방법들일 수 있다. 본 개시에서, 해당 방법들의 각 단계가 소정의 순서대로 도시되고 설명되었지만, 각 단계들은 순차적으로 수행되는 것 이외에, 본 개시에 따라 임의로 조합될 수 있는 순서로 수행될 수도 있다. 일 실시예에서, 적어도 일부의 단계가 병렬적, 반복적 또는 휴리스틱하게 수행될 수 있다. 본 개시는 해당 방법들에 변화 또는 수정을 가하는 것을 제외하지 않는다. 일 실시예에서, 적어도 일부의 단계가 생략되거나, 다른 단계가 추가될 수 있다.
본 개시의 다양한 실시예들은 기기(machine)가 읽을 수 있는 기록 매체(machine-readable recording medium)에 기록된 소프트웨어로 구현될 수 있다. 소프트웨어는 상술한 본 개시의 다양한 실시예들을 구현하기 위한 소프트웨어일 수 있다. 소프트웨어는 본 개시가 속하는 기술분야의 프로그래머들에 의해 본 개시의 다양한 실시예들로부터 추론될 수 있다. 예를 들어 소프트웨어는 기기가 읽을 수 있는 명령(예: 코드 또는 코드 세그먼트) 또는 프로그램일 수 있다. 기기는 기록 매체로부터 호출된 명령어에 따라 동작이 가능한 장치로서, 예를 들어 컴퓨터일 수 있다. 일 실시예에서, 기기는 본 개시의 실시예들에 따른 장치(100)일 수 있다. 일 실시예에서, 기기의 프로세서는 호출된 명령을 실행하여, 기기의 구성요소들이 해당 명령에 해당하는 기능을 수행하게 할 수 있다. 일 실시예에서, 프로세서는 본 개시의 실시예들에 따른 프로세서(210)일 수 있다. 기록 매체는 기기에 의해 읽혀질 수 있는, 데이터가 저장되는 모든 종류의 기록 매체(recording medium)를 의미할 수 있다. 기록 매체는, 예를 들어 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등을 포함할 수 있다. 일 실시예에서, 기록 매체는 메모리(220)일 수 있다. 일 실시예에서, 기록 매체는 네트워크로 연결된 컴퓨터 시스템 등에 분산된 형태로서 구현될 수도 있다. 소프트웨어는 컴퓨터 시스템 등에 분산되어 저장되고, 실행될 수 있다. 기록 매체는 비일시적(non-transitory) 기록 매체일 수 있다. 비일시적 기록 매체는, 데이터가 반영구적 또는 임시적으로 저장되는 것과 무관하게 실재하는 매체(tangible medium)를 의미하며, 일시적(transitory)으로 전파되는 신호(signal)를 포함하지 않는다.
이상 다양한 실시예들에 의해 본 개시의 기술적 사상이 설명되었지만, 본 개시의 기술적 사상은 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 이해할 수 있는 범위에서 이루어질 수 있는 다양한 치환, 변형 및 변경을 포함한다. 또한, 그러한 치환, 변형 및 변경은 첨부된 청구범위 내에 포함될 수 있는 것으로 이해되어야 한다. 본 개시에 따른 실시예들은 서로 조합될 수 있다. 각 실시예들은 경우의 수에 따라 다양하게 조합될 수 있으며, 조합되어 만들어진 실시예 역시 본 개시의 범위에 속한다.

Claims (20)

  1. 하나 이상의 프로세서; 및
    상기 하나 이상의 프로세서에 의한 실행 시, 상기 하나 이상의 프로세서가 연산을 수행하도록 하는 명령들이 저장된 하나 이상의 메모리를 포함하고,
    상기 하나 이상의 프로세서는,
    특정인의 동선을 지시하는 제1 동선 정보를 동형 암호 알고리즘에 기초하여 동형 암호화하는 서버로부터, 상기 동형 암호화된 제1 동선 정보를 획득하고,
    상기 하나 이상의 메모리로부터, 사용자의 동선을 지시하는 제2 동선 정보를 획득하고,
    상기 동형 암호화된 제1 동선 정보 및 상기 제2 동선 정보에 기초하여, 상기 사용자가 상기 특정인에 대해 근접했었는지 여부를 지시하는 동형 암호화된 근접성 정보를 결정하고,
    상기 동형 암호화된 근접성 정보를 상기 서버로 전달하고 - 상기 동형 암호화된 근접성 정보는 상기 서버에 의해 복호화되고 - ,
    상기 복호화된 근접성 정보에 기초해 상기 서버로부터 전달된 알람을 획득하는, 장치.
  2. 제1항에 있어서,
    상기 제1 동선 정보는, 일 시점을 지시하는 시점 정보 및 상기 일 시점에서의 상기 특정인의 위치를 지시하는 위치 정보를 포함하고,
    상기 제2 동선 정보는, 상기 일 시점을 지시하는 시점 정보 및 상기 일 시점에서의 상기 사용자의 위치를 지시하는 위치 정보를 포함하는, 장치.
  3. 제2항에 있어서,
    상기 동형 암호화된 제1 동선 정보는, 상기 제1 동선 정보의 위치 정보가 지리적 공간을 이산화하여 나타내는 격자(grid) 시스템에서 상기 특정인의 위치에 해당하는 격자를 지시하도록 변환된 상기 제1 동선 정보를 동형 암호화한 것이고,
    상기 하나 이상의 프로세서는,
    상기 제2 동선 정보의 위치 정보가 상기 격자 시스템에서 상기 사용자의 위치에 해당하는 격자를 지시하도록 상기 제2 동선 정보를 변환하고,
    상기 동형 암호화된 제1 동선 정보 및 상기 변환된 제2 동선 정보에 기초하여, 상기 특정인과 상기 사용자가 상기 격자 시스템에서 동일한 격자 또는 인접한 격자에 위치했었는지 여부를 지시하는 상기 동형 암호화된 근접성 정보를 결정하는, 장치.
  4. 제3항에 있어서,
    상기 복호화된 근접성 정보는,
    상기 특정인과 상기 사용자가 동일한 격자 또는 인접한 격자에 위치했던 경우 미리 설정된 단일의 기준값을 지시하고,
    상기 특정인과 상기 사용자가 동일한 격자 또는 인접한 격자에 위치하지 않았던 경우 상기 기준값이 아닌 값을 지시하는, 장치.
  5. 제4항에 있어서,
    상기 하나 이상의 프로세서는,
    상기 복호화된 근접성 정보가 상기 기준값을 지시한다는 상기 서버의 결정에 따라, 상기 사용자가 상기 특정인에 대해 근접했었음을 지시하는 제1 알람을 획득하고,
    상기 복호화된 근접성 정보가 상기 기준값이 아닌 값을 지시한다는 상기 서버의 결정에 따라, 상기 사용자가 상기 특정인에 대해 근접한 이력이 없음을 지시하는 제2 알람을 획득하는, 장치.
  6. 제5항에 있어서,
    상기 제1 알람은 상기 제1 동선 정보의 시점 정보 및 위치 정보를 포함하는, 장치.
  7. 제3항에 있어서,
    상기 하나 이상의 프로세서는,
    상기 서버로부터 상기 격자 시스템의 격자의 크기를 지시하는 정보를 획득하고,
    상기 격자의 크기를 지시하는 정보에 기초하여, 상기 제2 동선 정보의 위치 정보가 상기 격자 시스템에서 상기 사용자의 위치에 해당하는 격자를 지시하도록 상기 제2 동선 정보를 변환하는, 장치.
  8. 제2항에 있어서,
    상기 제2 동선 정보의 위치 정보는 상기 일 시점에서 상기 사용자의 위치를 지시하는 GPS(Global Positioning System) 좌표인, 장치.
  9. 제2항에 있어서,
    상기 제1 동선 정보 및 상기 제2 동선 정보 각각은, 시점 정보 및 위치 정보의 쌍을 하나 이상 포함하는, 장치.
  10. 제1항에 있어서,
    상기 제1 동선 정보는 상기 특정인의 동선 중 미리 설정된 기간에 해당하는 동선만을 지시하고,
    상기 하나 이상의 프로세서는, 상기 하나 이상의 메모리로부터, 상기 사용자의 동선 중 상기 미리 설정된 기간에 해당하는 동선을 지시하는 상기 제2 동선 정보를 획득하는, 장치.
  11. 제1항에 있어서,
    상기 동형 암호 알고리즘은 BFV(Brakerski/Fan-Vercauteren) 알고리즘, BGV(Brakerski-Gentry-Vaikuntanathan) 알고리즘, TFHE(Torus Fully Homomorphic Encryption) 알고리즘 및 CKKS(Cheon-Kim-Kim-Song) 알고리즘 중 하나인, 장치.
  12. 하나 이상의 프로세서가, 특정인의 동선을 지시하는 제1 동선 정보를 동형 암호 알고리즘에 기초하여 동형 암호화하는 서버로부터, 상기 동형 암호화된 제1 동선 정보를 획득하는 단계;
    상기 하나 이상의 프로세서가, 하나 이상의 메모리로부터, 사용자의 동선을 지시하는 제2 동선 정보를 획득하는 단계;
    상기 하나 이상의 프로세서가, 상기 동형 암호화된 제1 동선 정보 및 상기 제2 동선 정보에 기초하여, 상기 사용자가 상기 특정인에 대해 근접했었는지 여부를 지시하는 동형 암호화된 근접성 정보를 결정하는 단계;
    상기 하나 이상의 프로세서가, 상기 동형 암호화된 근접성 정보를 상기 서버로 전달하는 단계 - 상기 동형 암호화된 근접성 정보는 상기 서버에 의해 복호화되고 - ; 및
    상기 하나 이상의 프로세서가, 상기 복호화된 근접성 정보에 기초해 상기 서버로부터 전달된 알람을 획득하는 단계를 포함하는, 방법.
  13. 제12항에 있어서,
    상기 제1 동선 정보는, 일 시점을 지시하는 시점 정보 및 상기 일 시점에서의 상기 특정인의 위치를 지시하는 위치 정보를 포함하고,
    상기 제2 동선 정보는, 상기 일 시점을 지시하는 시점 정보 및 상기 일 시점에서의 상기 사용자의 위치를 지시하는 위치 정보를 포함하는, 방법.
  14. 제13항에 있어서,
    상기 동형 암호화된 제1 동선 정보는, 상기 제1 동선 정보의 위치 정보가 지리적 공간을 이산화하여 나타내는 격자 시스템에서 상기 특정인의 위치에 해당하는 격자를 지시하도록 변환된 상기 제1 동선 정보를 동형 암호화한 것이고,
    상기 동형 암호화된 근접성 정보를 결정하는 단계는,
    상기 제2 동선 정보의 위치 정보가 상기 격자 시스템에서 상기 사용자의 위치에 해당하는 격자를 지시하도록 상기 제2 동선 정보를 변환하는 단계; 및
    상기 동형 암호화된 제1 동선 정보 및 상기 변환된 제2 동선 정보에 기초하여, 상기 특정인과 상기 사용자가 상기 격자 시스템에서 동일한 격자 또는 인접한 격자에 위치했었는지 여부를 지시하는 상기 동형 암호화된 근접성 정보를 결정하는 단계를 포함하는, 방법.
  15. 제14항에 있어서,
    상기 복호화된 근접성 정보는,
    상기 특정인과 상기 사용자가 동일한 격자 또는 인접한 격자에 위치했던 경우 미리 설정된 단일의 기준값을 지시하고,
    상기 특정인과 상기 사용자가 동일한 격자 또는 인접한 격자에 위치하지 않았던 경우 상기 기준값이 아닌 값을 지시하는, 방법.
  16. 제15항에 있어서,
    상기 서버로부터 전달된 알람을 획득하는 단계는,
    상기 복호화된 근접성 정보가 상기 기준값을 지시한다는 상기 서버의 결정에 따라, 상기 사용자가 상기 특정인에 대해 근접했었음을 지시하는 제1 알람을 획득하는 단계; 또는
    상기 복호화된 근접성 정보가 상기 기준값이 아닌 값을 지시한다는 상기 서버의 결정에 따라, 상기 사용자가 상기 특정인에 대해 근접한 이력이 없음을 지시하는 제2 알람을 획득하는 단계를 포함하는, 방법.
  17. 제16항에 있어서,
    상기 제1 알람은 상기 제1 동선 정보의 시점 정보 및 위치 정보를 포함하는, 방법.
  18. 제13항에 있어서,
    상기 제2 동선 정보의 위치 정보는 상기 일 시점에서 상기 사용자의 위치를 지시하는 GPS 좌표인, 방법.
  19. 제13항에 있어서,
    상기 제1 동선 정보 및 상기 제2 동선 정보 각각은, 시점 정보 및 위치 정보의 쌍을 하나 이상 포함하는, 방법.
  20. 하나 이상의 프로세서에 의한 실행 시, 상기 하나 이상의 프로세서가 연산을 수행하도록 하는 명령들을 기록한 비일시적 컴퓨터 판독 가능 기록 매체에 있어서,
    상기 명령들은, 상기 하나 이상의 프로세서가,
    특정인의 동선을 지시하는 제1 동선 정보를 동형 암호 알고리즘에 기초하여 동형 암호화하는 서버로부터, 상기 동형 암호화된 제1 동선 정보를 획득하고,
    하나 이상의 메모리로부터, 사용자의 동선을 지시하는 제2 동선 정보를 획득하고,
    상기 동형 암호화된 제1 동선 정보 및 상기 제2 동선 정보에 기초하여, 상기 사용자가 상기 특정인에 대해 근접했었는지 여부를 지시하는 동형 암호화된 근접성 정보를 결정하고,
    상기 동형 암호화된 근접성 정보를 상기 서버로 전달하고 - 상기 동형 암호화된 근접성 정보는 상기 서버에 의해 복호화되고 - ,
    상기 복호화된 근접성 정보에 기초해 상기 서버로부터 전달된 알람을 획득하도록 하는, 컴퓨터 판독 가능 기록 매체.
PCT/KR2021/017606 2021-01-29 2021-11-26 특정인에 대한 근접성을 결정하기 위한 장치, 방법 및 명령을 기록한 기록 매체 WO2022163991A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2021-0013090 2021-01-29
KR1020210013090A KR102346081B1 (ko) 2021-01-29 2021-01-29 특정인에 대한 근접성을 결정하기 위한 장치, 방법 및 명령을 기록한 기록 매체

Publications (1)

Publication Number Publication Date
WO2022163991A1 true WO2022163991A1 (ko) 2022-08-04

Family

ID=79348223

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/017606 WO2022163991A1 (ko) 2021-01-29 2021-11-26 특정인에 대한 근접성을 결정하기 위한 장치, 방법 및 명령을 기록한 기록 매체

Country Status (2)

Country Link
KR (1) KR102346081B1 (ko)
WO (1) WO2022163991A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011070248A (ja) * 2009-09-24 2011-04-07 Hitachi Solutions Ltd 感染症患者行動履歴収集・分析システム
JP2015161987A (ja) * 2014-02-26 2015-09-07 日本電気株式会社 情報提供システム、情報提供ネットワークシステム、情報提供方法および情報提供プログラム
JP2016035554A (ja) * 2014-05-15 2016-03-17 ゼロックス コーポレイションXerox Corporation 完全準同型暗号化方式を使用したコンパクトなファジープライベートマッチング
KR102083122B1 (ko) * 2019-06-28 2020-02-28 주식회사 한국유전자정보연구원 퇴행성 뇌질환자의 이동경로 추적 시스템
KR20200047457A (ko) * 2020-03-30 2020-05-07 주식회사 올라운드 전염병 환자 추척 시스템 및 이를 이용한 전염병 환자 추적 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011070248A (ja) * 2009-09-24 2011-04-07 Hitachi Solutions Ltd 感染症患者行動履歴収集・分析システム
JP2015161987A (ja) * 2014-02-26 2015-09-07 日本電気株式会社 情報提供システム、情報提供ネットワークシステム、情報提供方法および情報提供プログラム
JP2016035554A (ja) * 2014-05-15 2016-03-17 ゼロックス コーポレイションXerox Corporation 完全準同型暗号化方式を使用したコンパクトなファジープライベートマッチング
KR102083122B1 (ko) * 2019-06-28 2020-02-28 주식회사 한국유전자정보연구원 퇴행성 뇌질환자의 이동경로 추적 시스템
KR20200047457A (ko) * 2020-03-30 2020-05-07 주식회사 올라운드 전염병 환자 추척 시스템 및 이를 이용한 전염병 환자 추적 방법

Also Published As

Publication number Publication date
KR102346081B1 (ko) 2022-01-03

Similar Documents

Publication Publication Date Title
KR101320350B1 (ko) 보안관제서버 및 보안관제서버의 영상데이터 관리 방법
US8121284B2 (en) Information processing system, information processing method, and information processing program
WO2014171797A1 (ko) 파일 보안 방법 및 이를 위한 장치
CN103401834B (zh) 基于位置信息的限定区域文件保密方法
US10097443B2 (en) System and method for secure communications between a computer test tool and a cloud-based server
JP5698614B2 (ja) コンテキスト情報処理システム及び方法
WO2014063455A1 (zh) 即时通信方法和系统
WO2014071703A1 (zh) 通信信息传输方法和系统
WO2022163991A1 (ko) 특정인에 대한 근접성을 결정하기 위한 장치, 방법 및 명령을 기록한 기록 매체
WO2020111403A1 (ko) 스트림 암호 기반의 제로-워터마킹을 이용한 영상 보안 방법, 서버, 및 컴퓨터 판독 가능한 기록 매체
JP2001359165A (ja) モバイル通信システム
KR102561306B1 (ko) 영상 처리 장치 및 방법
JP4414803B2 (ja) 監視システム
CN110190947B (zh) 信息加密、解密方法、终端及计算机可读存储介质
JP2003333031A (ja) 通信装置、通信システム、通信方法、記憶媒体、及びプログラム
JP2005286849A6 (ja) 監視システムおよび監視方法
JP2012222410A (ja) 通信装置、通信システムおよび通信方法
EP2840722A2 (en) Wireless relay device and method of processing data using the same
JP2005318281A (ja) 通信システムおよび通信装置
JP2014078875A (ja) 暗号通信システム、暗号通信中継装置、暗号通信端末および暗号通信方法
JP2018148349A (ja) センサネットワークシステムおよびデータ収集方法
JP2005223838A (ja) 通信システムおよび中継装置
KR101714306B1 (ko) 이동체 정보 보안 시스템 및 방법
JP2006332903A (ja) 鍵取得機器、鍵提供機器、鍵交換システム及び鍵交換方法
KR102569487B1 (ko) 외부 잡음원으로부터 불규칙적인 암호키를 생성하는 cctv 영상 데이터 암호화 시스템 및 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21923400

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 27/11/2023)