KR102514819B1 - Method and System for Private information retrieval of requested data from a single database through user crowding - Google Patents
Method and System for Private information retrieval of requested data from a single database through user crowding Download PDFInfo
- Publication number
- KR102514819B1 KR102514819B1 KR1020210088071A KR20210088071A KR102514819B1 KR 102514819 B1 KR102514819 B1 KR 102514819B1 KR 1020210088071 A KR1020210088071 A KR 1020210088071A KR 20210088071 A KR20210088071 A KR 20210088071A KR 102514819 B1 KR102514819 B1 KR 102514819B1
- Authority
- KR
- South Korea
- Prior art keywords
- crowd
- data
- user terminals
- requested
- request query
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24547—Optimisations to support specific applications; Extensibility of optimisers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9032—Query formulation
- G06F16/90324—Query formulation using system suggestions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Environmental & Geological Engineering (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
사용자 군중 형성을 통한 단일 데이터베이스로부터의 요청 데이터 비공개적 회수 달성 방법 및 시스템이 제시된다. 본 발명에서 제안하는 사용자 군중 형성을 통한 단일 데이터베이스로부터의 요청 데이터 비공개적 회수 달성 방법은 네트워크에 존재하는 복수의 사용자 단말이 군중을 통한 요청 데이터 비공개적 회수 달성(private information retrieval) 기법을 위해 군중을 형성하는 단계, 상기 군중 내 복수의 사용자 단말 각각이 요청하고자 하는 데이터 파일에 대한 데이터 요청 큐어리를 생성하는 단계, 상기 군중 내 모든 복수의 사용자 단말 간에 상기 데이터 요청 큐어리를 상호 공유하는 단계, 상기 복수의 사용자 단말 각각이 합의된 군중 요청 데이터 리스트를 생성하는 단계, 상기 복수의 사용자 단말 중 하나의 사용자 단말이 상기 군중 요청 데이터 리스트에 기초하여 군중 데이터 요청 큐어리를 단일 데이터베이스에 전송하는 단계 및 상기 군중 데이터 요청 큐어리를 수신 받은 단일 데이터베이스가 군중 내 복수의 사용자 단말에게 요청된 데이터 파일들을 전송하는 단계를 포함한다. A method and system for achieving private retrieval of requested data from a single database through user crowd formation is presented. The method for achieving private retrieval of requested data from a single database through the formation of a crowd of users proposed in the present invention is a method in which a plurality of user terminals existing in a network collect a crowd for private information retrieval of requested data through a crowd. forming a data request query for a data file that each of a plurality of user terminals in the crowd wants to request; mutually sharing the data request query among all plurality of user terminals in the crowd; Generating a crowd request data list agreed upon by each of a plurality of user terminals, transmitting a crowd data request query to a single database based on the crowd request data list by one user terminal among the plurality of user terminals; and The single database receiving the crowd data request query transmits the requested data files to a plurality of user terminals within the crowd.
Description
본 발명은 사용자 군중 형성을 통한 단일 데이터베이스로부터의 요청 데이터 비공개적 회수 달성 방법 및 시스템에 관한 것이다. The present invention relates to a method and system for achieving private retrieval of requested data from a single database through user crowd formation.
최근 데이터 검색 기술에 있어서, 단말이 데이터베이스에 데이터를 요청할 경우 원하는 데이터를 노출하지 않기 위한 큐어리의 정보량의 최소량에 대해서 알려져 있다[1],[2]. 종래기술[1]에서는 그리디 반복 알고리즘(greedy iterative algorithm)을 통해 큐어리를 생성하는 기법을 제시하였으며, 또 다른 종래기술[2]에서는 큐어리의 길이가 충분히 길 경우, 확률적 생성기법을 통해 신속하게 종래기술[1]에서 입증한 큐어리의 최소 정보량으로 원하는 데이터를 노출하지 않으면서 데이터베이스에 데이터를 요청할 수 있음을 보였다. In recent data retrieval technology, when a terminal requests data from a database, it is known about the minimum amount of information in a query for not exposing desired data [1], [2]. In the prior art [1], a technique for generating a queue through a greedy iterative algorithm was proposed, and in another prior art [2], when the length of a queue is sufficiently long, a rapid generation is performed through a stochastic generation technique. It was shown that data can be requested from the database without exposing the desired data with the minimum amount of information of Curiosity, which was proven in the prior art [1].
하지만 이러한 연구들은 기본적으로 단일 단말과 복수의 데이터베이스가 존재하는 네트워크를 가정하였다. 따라서, 복수의 단말이 존재할 때 늘어나는 트래픽 양에 대해서는 고려되지 않았으며, 데이터베이스의 수가 하나인 경우에는 비공개적 회수 달성 기법이 가져다 주는 이점이 없다. 만약 데이터를 요청하고자 하는 복수의 사용자가 군중을 이루어 서로 협력하여 데이터를 요청한다면, 각 단말이 개별적으로 단일 데이터베이스에 데이터를 요청하는 경우보다 더 적은 지연시간으로도 각 단말이 원하는 데이터를 프라이버시를 보장하면서 수신할 수 있다. However, these studies basically assumed a network with a single terminal and multiple databases. Therefore, when a plurality of terminals exist, the increased amount of traffic is not considered, and when the number of databases is one, there is no advantage brought by the non-public recovery achievement technique. If a plurality of users who want to request data form a crowd and cooperate with each other to request data, the privacy of the data each terminal wants is guaranteed with less latency than when each terminal individually requests data to a single database. You can receive while
네트워크 상의 데이터베이스는 개인이 최신 데이터를 검색하는 데 있어서 필수적인 자원이다. 그러나 공개적으로 접속이 가능한 데이터베이스는 역으로 사용자의 요청 내역을 통해 어떤 데이터를 요청했는지 추론할 수 있기에 개인 프라이버시를 침해할 수 있는 위험이 존재한다. Databases on the network are essential resources for individuals to search for up-to-date data. However, there is a risk of invading personal privacy because a publicly accessible database can infer which data has been requested through the user's request details.
따라서 개인이 요청한 데이터에 대한 정보를 데이터베이스 측에서 추론할 수 없도록 하는 통신 기법이 요구된다. 비공개적 회수 달성(private information retrieval)이라고도 불리는 이 기술은 개인 프라이버시 보장을 위한 필수적인 기술 중 하나로 제시되고 있으며, 데이터베이스로부터 개인이 프라이버시를 보장하면서 데이터를 빠르게 수신하는 기술 중 하나로 대두되고 있다. Therefore, a communication technique that prevents the database from inferring information about data requested by an individual is required. This technology, also called private information retrieval, has been proposed as one of the essential technologies for guaranteeing personal privacy, and has emerged as one of the technologies for quickly receiving data from a database while ensuring privacy for individuals.
비공개적 회수 달성 통신 기법에 대한 연구는 기본적으로 개인이 데이터베이스로부터 원하는 데이터와 원하는 데이터 이외의 다른 데이터를 함께 요청하여 원하는 데이터에 대한 정보를 숨기는 기법이 제안되고 있다. 이를 위해, 사용자는 큐어리(query)를 통해 원하는 데이터와 다른 데이터를 함께 데이터베이스에 요청한다. 이 과정에서 종래기술에 따른 비공개적 회수 달성을 위한 기술은 개인이 단순히 불필요한 데이터를 함께 요청하는 기법과 더불어 다수의 데이터베이스에 효율적으로 데이터를 나누어 요청함으로써 데이터 양을 줄이는 방향으로 진행되었다. Research on communication techniques for achieving non-public recall is basically proposing a technique in which an individual requests both desired data and data other than the desired data from the database and hides information about the desired data. To this end, a user requests desired data and other data to the database through a query. In this process, the technology for achieving private recovery according to the prior art has progressed in the direction of reducing the amount of data by efficiently dividing and requesting data to a plurality of databases together with a technique in which an individual simply requests unnecessary data together.
하지만 이러한 기법은 데이터 요청에 참여하는 사용자의 수가 늘어날수록 데이터 양이 빠르게 증가한다는 한계가 있으며 데이터베이스가 하나만 존재하는 상황에서는 효율성이 없어진다. However, this technique has a limitation that the amount of data increases rapidly as the number of users participating in data requests increases, and efficiency is lost in a situation where only one database exists.
본 발명이 이루고자 하는 기술적 과제는 복수의 사용자와 단일 데이터베이스가 존재하는 네트워크에서 사용자들이 군중을 이루어 보다 효율적으로 데이터를 프라이빗하게 요청하는 비공개적 회수 달성 방법 및 시스템을 제공하는데 있다. A technical problem to be achieved by the present invention is to provide a method and system for achieving private recovery in which users form a crowd and more efficiently request private data in a network in which a plurality of users and a single database exist.
일 측면에 있어서, 본 발명에서 제안하는 사용자 군중 형성을 통한 단일 데이터베이스로부터의 요청 데이터 비공개적 회수 달성 방법은 네트워크에 존재하는 복수의 사용자 단말이 군중을 통한 요청 데이터 비공개적 회수 달성(private information retrieval) 기법을 위해 군중을 형성하는 단계, 상기 군중 내 복수의 사용자 단말 각각이 요청하고자 하는 데이터 파일에 대한 데이터 요청 큐어리를 생성하는 단계, 상기 군중 내 모든 복수의 사용자 단말 간에 상기 데이터 요청 큐어리를 상호 공유하는 단계, 상기 복수의 사용자 단말 각각이 합의된 군중 요청 데이터 리스트를 생성하는 단계, 상기 복수의 사용자 단말 중 하나의 사용자 단말이 상기 군중 요청 데이터 리스트에 기초하여 군중 데이터 요청 큐어리를 단일 데이터베이스에 전송하는 단계 및 상기 군중 데이터 요청 큐어리를 수신 받은 단일 데이터베이스가 군중 내 복수의 사용자 단말에게 요청된 데이터 파일들을 전송하는 단계를 포함한다. In one aspect, the method for achieving private information retrieval of requested data from a single database through the formation of a crowd of users proposed in the present invention achieves private information retrieval of requested data through a crowd of a plurality of user terminals existing in the network. Forming a crowd for the technique, generating a data request query for a data file to be requested by each of a plurality of user terminals in the crowd, and mutually passing the data request query among all plurality of user terminals in the crowd. Sharing, generating a crowd request data list agreed upon by each of the plurality of user terminals, and one user terminal among the plurality of user terminals putting a crowd data request query into a single database based on the crowd request data list. and transmitting, by the single database receiving the crowd data request query, requested data files to a plurality of user terminals within the crowd.
상기 군중 내 모든 복수의 사용자 단말 간에 상기 데이터 요청 큐어리를 상호 공유하는 단계는 상기 군중 내 모든 복수의 사용자 단말 간에 상기 데이터 요청 큐어리를 상호 공유하는 단계까지 소요되는 지연시간()은 하기식과 같고, The step of mutually sharing the data request query among all the plurality of user terminals in the crowd is the delay time required until the step of mutually sharing the data request query among all the plurality of user terminals in the crowd ( ) is the same as the following formula,
여기서, 은 복수의 사용자 단말의 수, 는 데이터 요청 큐어리를 전송하는데 소요되는 시간을 나타낸다. here, is the number of a plurality of user terminals, represents the time required to transmit the data request query.
상기 복수의 사용자 단말 중 하나의 사용자 단말이 상기 군중 요청 데이터 리스트에 기초하여 군중 데이터 요청 큐어리를 단일 데이터베이스에 전송하는 단계는 군중 데이터 요청 큐어리를 단일 데이터베이스에 전송하는데 소요되는 지연시간은 군중 내 복수의 사용자 단말의 데이터 요청 큐어리들 중 서로 다른 데이터 파일 개수에 비례하여 증가한다. In the step of transmitting, by one user terminal among the plurality of user terminals, a crowd data request query to a single database based on the crowd request data list, the delay time required for transmitting the crowd data request query to a single database is It increases in proportion to the number of different data files among data request queries of a plurality of user terminals.
상기 군중 데이터 요청 큐어리를 단일 데이터베이스에 전송하는데 소요되는 지연시간()은 하기식과 같고, Delay time required to transmit the crowd data request query to a single database ( ) is the same as the following formula,
여기서, 은 개의 복수의 사용자 단말이 요청하고자 하는 데이터 파일의 수가 개인 경우 서로 다른 데이터 파일의 종류 수를 나타낸다. here, silver The number of data files that a plurality of user terminals want to request In the case of individuals, it indicates the number of different data file types.
상기 군중 데이터 요청 큐어리를 수신 받은 단일 데이터베이스가 군중 내 복수의 사용자 단말에게 요청된 데이터 파일들을 전송하는 단계는 복수의 사용자 단말에게 요청된 데이터 파일들을 전송하는데 소요되는 지연시간()은 하기식과 같고, The step of transmitting the requested data files to a plurality of user terminals in the crowd by the single database receiving the crowd data request query is the delay time required to transmit the requested data files to the plurality of user terminals ( ) is the same as the following formula,
여기서, 은 개의 복수의 사용자 단말이 요청하고자 하는 데이터 파일의 수가 개인 경우 서로 다른 데이터 파일의 종류 수, 는 단일 데이터베이스가 단일 데이터 파일을 전송하는데 소요되는 시간을 나타내며, 요청된 데이터 파일들을 전송하는데 소요되는 지연시간()은 데이터 파일 수에 비례하여 증가한다. here, silver The number of data files that a plurality of user terminals want to request the number of different types of data files in the case of individuals; represents the time required for a single database to transmit a single data file, and the delay time required to transmit the requested data files ( ) increases in proportion to the number of data files.
상기 요청 데이터 비공개적 회수 달성을 위한 복수의 사용자 단말의 프라이버시가 보호되기 위해 하기식을 만족하고, In order to protect the privacy of a plurality of user terminals for achieving the private collection of the requested data, the following formula is satisfied,
여기서, 는 군중 데이터 요청 큐어리, 는 중에서 유니폼한 확률로 정해지는 파일 인덱스, 는 단일 데이터베이스에 저장된 서로 다른 데이터 파일의 수, 는 와 사이의 상호 정보량(mutual information)을 나타낸다. here, is the crowd data request query, Is A file index determined with a uniform probability among is the number of different data files stored in a single database, Is and represents the amount of mutual information between
상기 요청 데이터 비공개적 회수 달성하기 위한 프라이버시 레벨()은 하기식과 같고, Privacy level to achieve the private collection of the requested data ( ) is the same as the following formula,
최적의 요청 데이터 비공개적 회수 달성 조건은 프라이버시 레벨이 를 만족할 때 달성할 수 있으며, 일 때는 요청된 데이터 파일에 대한 정보가 공개된 상태이며, 에 대한 불확실성이 없는 상태이다. The optimal condition for achieving private retrieval of requested data is that the privacy level is can be achieved when satisfying When , information about the requested data file is open, There is no uncertainty about
또 다른 일 측면에 있어서, 본 발명에서 제안하는 사용자 군중 형성을 통한 단일 데이터베이스로부터의 요청 데이터 비공개적 회수 달성 시스템은 네트워크에서 군중을 통한 요청 데이터 비공개적 회수 달성(private information retrieval) 기법을 위해 군중을 형성하고, 요청하고자 하는 데이터 파일에 대한 군중 데이터 요청 큐어리를 단일 데이터베이스에 전송하는 복수의 사용자 단말 및 상기 복수의 사용자 단말 중 하나의 사용자 단말로부터 상기 군중 데이터 요청 큐어리를 수신 받아 군중 내 복수의 사용자 단말에게 요청된 데이터 파일들을 전송하는 단일 데이터베이스를 포함하고, 상기 복수의 사용자 단말은 네트워크에 존재하는 복수의 사용자 단말이 군중을 통한 요청 데이터 비공개적 회수 달성 기법을 위해 군중을 형성하고, 상기 군중 내 복수의 사용자 단말 각각이 요청하고자 하는 데이터 파일에 대한 데이터 요청 큐어리를 생성하고, 상기 군중 내 모든 복수의 사용자 단말 간에 상기 데이터 요청 큐어리를 상호 공유하고, 상기 복수의 사용자 단말 각각이 합의된 군중 요청 데이터 리스트를 생성하고, 상기 복수의 사용자 단말 중 하나의 사용자 단말이 상기 군중 요청 데이터 리스트에 기초하여 군중 데이터 요청 큐어리를 단일 데이터베이스에 전송한다. In another aspect, the system for achieving private information retrieval of requested data from a single database through the formation of a crowd of users proposed in the present invention uses a crowd for private information retrieval of requested data through a crowd in a network. A plurality of user terminals transmitting the crowd data request query for the data file to be formed and requested to a single database, and receiving the crowd data request query from one of the plurality of user terminals It includes a single database that transmits requested data files to user terminals, wherein a plurality of user terminals existing in a network form a crowd for a method of achieving private collection of requested data through a crowd, and the crowd Create a data request query for a data file that each of the plurality of user terminals within the crowd wants to request, mutually share the data request query among all the plurality of user terminals in the crowd, and each of the plurality of user terminals A crowd request data list is generated, and one user terminal among the plurality of user terminals transmits a crowd request data list to a single database based on the crowd request data list.
본 발명의 실시예들에 따른 비공개적 회수 달성 기법을 통해 복수의 사용자 단말이 군중을 이루어 보다 효율적으로 원하는 데이터를 노출하지 않으면서 단일 데이터베이스에 데이터를 요청할 수 있다. 또한, 사용자들의 수가 늘어남에 따라 증가하는 트래픽 양에 대한 문제도 개선할 수 있다. A plurality of user terminals can request data from a single database more efficiently without exposing desired data by forming a crowd through the non-public retrieval achievement technique according to embodiments of the present invention. In addition, the problem of increasing traffic volume as the number of users increases can also be improved.
도 1은 본 발명의 일 실시예에 따른 사용자 군중 형성을 통한 단일 데이터베이스로부터의 요청 데이터 비공개적 회수 달성 시스템의 구성을 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 사용자 군중 형성을 통한 단일 데이터베이스로부터의 요청 데이터 비공개적 회수 달성 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 요청 데이터 비공개적 회수 달성 시스템의 각 구성이 동작하는 과정을 설명하기 위한 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 군중 내 사용자 단말 수에 따른 전체 지연시간 및 프라이버시 레벨을 나타내는 도면이다.
도 5는 본 발명의 일 실시예에 따른 군중 내 사용자 단말 수에 따른 기존 기법과 제안 기법의 전체 지연시간을 나타내는 도면이다.
도 6은 본 발명의 일 실시예에 따른 사용자 단말 간 프라이버시 레벨에 따른 전체 지연시간과 데이터베이스에 대한 프라이버시 레벨을 나타내는 도면이다.
도 7은 본 발명의 일 실시예에 따른 사용자 단말의 데이터 요청 빈도에 따른 전체 지연시간과 데이터베이스에 대한 프라이버시 레벨을 나타내는 도면이다. 1 is a diagram showing the configuration of a system for achieving non-public retrieval of requested data from a single database through the formation of a crowd of users according to an embodiment of the present invention.
2 is a flow chart illustrating a method for achieving non-public retrieval of requested data from a single database through the formation of a crowd of users according to an embodiment of the present invention.
3 is a flowchart for explaining the operation of each component of the system for achieving private collection of requested data according to an embodiment of the present invention.
4 is a diagram illustrating total delay time and privacy level according to the number of user terminals in a crowd according to an embodiment of the present invention.
5 is a diagram showing total delay times of existing and proposed techniques according to the number of user terminals in a crowd according to an embodiment of the present invention.
6 is a diagram illustrating a total delay time according to a privacy level between user terminals and a privacy level for a database according to an embodiment of the present invention.
7 is a diagram illustrating a total delay time according to data request frequency of a user terminal and a privacy level for a database according to an embodiment of the present invention.
본 발명에서는 사용자가 단일 데이터베이스에 데이터를 요청할 때 복수의 사용자들이 군중을 이루어 요청 데이터의 프라이버시를 보장하는 비공개적 회수 달성 방법 및 시스템을 제안한다. 일반적으로 사용자가 네트워크 상의 데이터베이스에 원하는 데이터를 요청할 경우, 사용자가 원하는 데이터가 무엇인지 데이터베이스는 알 수 있으며 이를 노출하지 않기 위해서는 원하는 데이터 이외에 추가적인 데이터도 함께 요청해야 한다. 종래기술에 따른 비공개적 회수 달성을 위한 기술에서는 개인이 불필요한 데이터를 함께 요청하는 기법과 다수의 데이터베이스에 데이터를 나누어 요청하는 상황만을 다루었다. 이에 따라 사용자들의 수가 늘어남에 따라 증가하는 트래픽 양에 대한 해결책을 필요로 한다. In the present invention, when a user requests data to a single database, a plurality of users form a crowd to provide a method and system for achieving private recovery, which guarantees the privacy of requested data. In general, when a user requests desired data from a database on the network, the database knows what data the user wants, and in order not to expose it, additional data must be requested in addition to the desired data. In the technology for achieving private recovery according to the prior art, only the technique of requesting unnecessary data by an individual and the situation of dividing and requesting data to a plurality of databases have been dealt with. Accordingly, a solution to the increasing amount of traffic is required as the number of users increases.
네트워크 상의 데이터베이스는 개인이 최신 데이터를 검색하는 데 있어서 필수적인 자원이다. 그러나 공개적으로 접속이 가능한 데이터베이스는 역으로 사용자의 요청 내역을 통해 어떤 데이터를 요청했는지 추론할 수 있기에 개인 프라이버시를 침해할 수 있는 위험이 존재한다. Databases on the network are essential resources for individuals to search for up-to-date data. However, there is a risk of invading personal privacy because a publicly accessible database can infer which data has been requested through the user's request details.
따라서 개인이 요청한 데이터에 대한 정보를 데이터베이스 측에서 추론할 수 없도록 하는 통신 기법이 요구된다. 비공개적 회수 달성(private information retrieval)이라고도 불리는 이 기술은 개인 프라이버시 보장을 위한 필수적인 기술 중 하나로 제시되고 있으며, 데이터베이스로부터 개인이 프라이버시를 보장하면서 데이터를 빠르게 수신하는 기술 중 하나로 대두되고 있다. Therefore, a communication technique that prevents the database from inferring information about data requested by an individual is required. This technology, also called private information retrieval, has been proposed as one of the essential technologies for guaranteeing personal privacy, and has emerged as one of the technologies for quickly receiving data from a database while ensuring privacy for individuals.
이러한 추세와 더불어 본 발명에서는 네트워크에 데이터베이스가 하나만 존재할 때 복수의 개인 단말이 군중을 이루어 효율적인 비공개적 회수 달성을 위한 통신 시스템 기법을 다루고 있다. In line with this trend, the present invention deals with a communication system technique for achieving efficient private collection by forming a crowd of a plurality of personal terminals when there is only one database in the network.
본 발명에서는 사용자들이 군중을 이루어 데이터를 요청할 경우 단일 데이터베이스가 존재하는 네트워크에서도 복수의 사용자가 보다 효율적으로 프라이빗하게 데이터를 요청하는 비공개적 회수 달성 기법을 제시하며, 제안하는 기법은 TRL 2단계 정도의 원천 기술에 해당한다고 볼 수 있다. 이하, 본 발명의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.In the present invention, when users request data in a crowd, a method for achieving private retrieval is proposed in which a plurality of users request data more efficiently and privately even in a network where a single database exists. It can be considered as a source technology. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일 실시예에 따른 사용자 군중 형성을 통한 단일 데이터베이스로부터의 요청 데이터 비공개적 회수 달성 시스템의 구성을 나타내는 도면이다. 1 is a diagram showing the configuration of a system for achieving non-public retrieval of requested data from a single database through the formation of a crowd of users according to an embodiment of the present invention.
도 1을 참조하면, 개의 사용자 단말(110)과 사용자 단말이 요청하는 데이터를 전송해주는 단일 데이터베이스(120)로 구성된 네트워크를 가정한다. 데이터베이스는 서로 다른 개의 데이터 파일 (121)를 저장하고 있다. 개의 파일은 모두 동일한 크기를 갖는다. 각각의 사용자 단말은 임의의 파일 하나를 단일 데이터베이스(120)에 요청하고자 한다. 사용자 단말이 각각의 요청하고자 하는 파일을 원하는 확률은 유니폼(uniform)하며 이때 임의의 사용자 단말 가 요청하는 파일을 로 나타낸다. Referring to Figure 1, Assume a network composed of two
복수의 사용자 단말(110) 간 통신과 복수의 사용자 단말(110)과 단일 데이터베이스(120) 사이의 통신은 무소음 채널을 통해 이루어지며 양방향 통신이 가능하며 복수의 사용자 단말(110) 간 통신은 단일 데이터베이스(120) 측에서 엿들을 수 없다고 가정한다. Communication between the plurality of
복수의 사용자 단말(110)이 단일 데이터 파일을 요청하는 데이터 요청 큐어리를 전송하는데 소용되는 시간은 이며 단일 데이터베이스가 단일 데이터 파일을 전송하는데 소요되는 시간은 이다. 데이터 요청 큐어리 전송 시간 및 데이터 파일 전송 시간은 파일의 수에 비례하여 늘어난다. The time required for the plurality of
본 발명의 일 실시예에 따른 사용자 군중 형성을 통한 단일 데이터베이스로부터의 요청 데이터 비공개적 회수 달성 시스템은 복수의 사용자 단말(110) 및 단일 데이터베이스(120)를 포함한다. A system for achieving private retrieval of requested data from a single database through user crowd formation according to an embodiment of the present invention includes a plurality of
본 발명의 일 실시예에 따른 복수의 사용자 단말(110)은 네트워크에서 군중을 통한 요청 데이터 비공개적 회수 달성(private information retrieval) 기법을 위해 군중을 형성하고, 요청하고자 하는 데이터 파일에 대한 군중 데이터 요청 큐어리를 단일 데이터베이스에 전송한다. A plurality of
먼저, 네트워크에 존재하는 복수의 사용자 단말(110)이 군중을 통한 요청 데이터 비공개적 회수 달성 기법을 위해 군중을 형성한다. 도 1을 참조하면, 본 발명의 일 실시예에 따른 군중 내 복수의 사용자 단말(110)은 사용자 단말1(111), 사용자 단말2(112), ..., 사용자 단말N(113)을 포함한다. First, a plurality of
이후, 형성된 군중 내 복수의 사용자 단말 각각이 요청하고자 하는 데이터 파일에 대한 데이터 요청 큐어리를 생성한다. 도 1을 참조하면, 본 발명의 일 실시예에 따른 사용자 단말1(111)은 데이터 요청 큐어리(F1)를 생성하고, 사용자 단말2(112)는 데이터 요청 큐어리(F2)를 생성하고, 사용자 단말N(113)은 데이터 요청 큐어리(FN)를 생성한다. Thereafter, each of a plurality of user terminals in the formed crowd creates a data request query for a data file to be requested. Referring to FIG. 1 ,
군중 내 복수의 사용자 단말(110) 간에 데이터 요청 큐어리(F1, F2, ..., FN)를 상호 공유한다. The data request query (F 1 , F 2 , ... , F N ) is mutually shared among the plurality of
군중 내 모든 복수의 사용자 단말(110) 간에 데이터 요청 큐어리(F1, F2, ..., FN) 공유를 완료하면, 복수의 사용자 단말 각각이 합의된 군중 요청 데이터 리스트를 생성한다. When sharing of the data request query (F 1 , F 2 , ... , F N ) is completed among all the plurality of
이후, 복수의 사용자 단말(110) 중 임의의 하나의 사용자 단말이 합의된 군중 요청 데이터 리스트에 기초하여 군중 데이터 요청 큐어리를 단일 데이터베이스에 전송한다(131). Thereafter, any one of the plurality of
본 발명의 일 실시예에 따른 단일 데이터베이스(120)는 복수의 사용자 단말(110) 중 하나의 사용자 단말로부터 군중 데이터 요청 큐어리를 수신 받아 군중 내 복수의 사용자 단(110)말에게 요청된 데이터 파일들을 전송한다(132). 단일 데이터베이스(120)에는 복수의 데이터베이스 데이터(121)가 저장될 수 있다. The
도 2는 본 발명의 일 실시예에 따른 사용자 군중 형성을 통한 단일 데이터베이스로부터의 요청 데이터 비공개적 회수 달성 방법을 설명하기 위한 흐름도이다. 2 is a flow chart illustrating a method for achieving non-public retrieval of requested data from a single database through the formation of a crowd of users according to an embodiment of the present invention.
제안하는 사용자 군중 형성을 통한 단일 데이터베이스로부터의 요청 데이터 비공개적 회수 달성 방법은 네트워크에 존재하는 복수의 사용자 단말이 군중을 통한 요청 데이터 비공개적 회수 달성(private information retrieval) 기법을 위해 군중을 형성하는 단계(210), 상기 군중 내 복수의 사용자 단말 각각이 요청하고자 하는 데이터 파일에 대한 데이터 요청 큐어리를 생성하는 단계(220), 상기 군중 내 모든 복수의 사용자 단말 간에 상기 데이터 요청 큐어리를 상호 공유하는 단계(230), 상기 복수의 사용자 단말 각각이 합의된 군중 요청 데이터 리스트를 생성하는 단계(240), 상기 복수의 사용자 단말 중 하나의 사용자 단말이 상기 군중 요청 데이터 리스트에 기초하여 군중 데이터 요청 큐어리를 단일 데이터베이스에 전송하는 단계(250) 및 상기 군중 데이터 요청 큐어리를 수신 받은 단일 데이터베이스가 군중 내 복수의 사용자 단말에게 요청된 데이터 파일들을 전송하는 단계(260)를 포함한다. The proposed method for achieving private retrieval of requested data from a single database through formation of a crowd of users is a step in which a plurality of user terminals existing in the network form a crowd for private information retrieval of requested data through a crowd. (210), generating a data request query for a data file to be requested by each of the plurality of user terminals in the crowd (220), mutually sharing the data request query among all the plurality of user terminals in the
단계(210)에서, 네트워크에 존재하는 복수의 사용자 단말이 군중을 통한 요청 데이터 비공개적 회수 달성(private information retrieval) 기법을 위해 군중을 형성한다. 도 1을 참조하면, 본 발명의 일 실시예에 따른 군중 내 복수의 사용자 단말(110)은 사용자 단말1(111), 사용자 단말2(112), ..., 사용자 단말N(113)을 포함한다. In
단계(220)에서, 군중 내 복수의 사용자 단말 각각이 요청하고자 하는 데이터 파일에 대한 데이터 요청 큐어리를 생성한다. 도 1을 참조하면, 본 발명의 일 실시예에 따른 사용자 단말1(111)은 데이터 요청 큐어리(F1)를 생성하고, 사용자 단말2(112)는 데이터 요청 큐어리(F2)를 생성하고, 사용자 단말N(113)은 데이터 요청 큐어리(FN)를 생성한다. In
단계(230)에서, 군중 내 모든 복수의 사용자 단말 간에 상기 데이터 요청 큐어리(F1, F2, ..., FN)를 상호 공유한다. In
단계(240)에서, 군중 내 모든 복수의 사용자 단말 간에 데이터 요청 큐어리(F1, F2, ..., FN) 공유를 완료하면, 복수의 사용자 단말 각각이 합의된 군중 요청 데이터 리스트를 생성한다. In
단계(250)에서, 복수의 사용자 단말 중 하나의 사용자 단말이 상기 군중 요청 데이터 리스트에 기초하여 군중 데이터 요청 큐어리를 단일 데이터베이스에 전송한다. In
단계(260)에서, 군중 데이터 요청 큐어리를 수신 받은 단일 데이터베이스가 군중 내 복수의 사용자 단말에게 요청된 데이터 파일들을 전송한다. In
도 3을 참조하여, 본 발명의 일 실시예에 따른 사용자 군중 형성을 통한 단일 데이터베이스로부터의 요청 데이터 비공개적 회수 달성 시스템의 각 구성이 동작하는 과정을 더욱 상세히 설명한다. Referring to FIG. 3 , the operation process of each component of the system for achieving non-public retrieval of requested data from a single database through the formation of a crowd of users according to an embodiment of the present invention will be described in more detail.
도 3은 본 발명의 일 실시예에 따른 요청 데이터 비공개적 회수 달성 시스템의 각 구성이 동작하는 과정을 설명하기 위한 흐름도이다. 3 is a flowchart for explaining the operation of each component of the system for achieving private collection of requested data according to an embodiment of the present invention.
본 발명의 일 실시예에 따른 사용자 군중 형성을 통한 단일 데이터베이스로부터의 요청 데이터 비공개적 회수 달성 시스템은 복수의 사용자 단말 및 단일 데이터베이스를 포함한다. A system for achieving private retrieval of requested data from a single database through user crowd formation according to an embodiment of the present invention includes a plurality of user terminals and a single database.
도 3을 참조하면, 단계(320)은 복수의 사용자 단말 중 군중 데이터 요청 큐어리를 단일 데이터베이스에 전송하는 하나의 사용자 단말이 동작하는 과정을 나타내고, 단계(310)은 복수의 사용자 단말 중 군중 데이터 요청 큐어리를 전송하지 않는 나머지 사용자 단말들이 동작하는 과정을 나타내고, 단계(330)은 단일 데이터베이스가 동작하는 과정을 나타낸다. Referring to FIG. 3, step 320 shows a process in which one user terminal transmitting a crowd data request query to a single database among a plurality of user terminals operates, and step 310 shows a process of operating crowd data among a plurality of user terminals. The process of operating the remaining user terminals not transmitting the request query is shown, and step 330 shows the process of operating a single database.
먼저, 네트워크에 존재하는 복수의 사용자 단말에서 원하는 데이터가 발생한다고 가정한다(311, 321). 그러면, 네트워크에 존재하는 복수의 사용자 단말이 군중을 통한 요청 데이터 비공개적 회수 달성(private information retrieval) 기법을 위해 군중을 형성한다. First, it is assumed that desired data is generated from a plurality of user terminals existing in the network (311, 321). Then, a plurality of user terminals present in the network form a crowd for private information retrieval of requested data through the crowd.
형성된 군중 내 복수의 사용자 단말 각각이 요청하고자 하는 데이터 파일에 대한 데이터 요청 큐어리를 생성한다(312, 322). Each of a plurality of user terminals in the formed crowd creates a data request query for a data file to be requested (312, 322).
이후, 군중 내 모든 복수의 사용자 단말 간에 상기 데이터 요청 큐어리를 상호 공유한다(313, 323). Thereafter, the data request query is mutually shared among all the plurality of user terminals in the crowd (313, 323).
군중 내 모든 복수의 사용자 단말 간에 데이터 요청 큐어리를 상호 공유하는 단계까지 소요되는 지연시간()은 하기식과 같다: Delay time required to mutually share the data request query among all the plurality of user terminals in the crowd ( ) is equal to:
. .
여기서, 은 복수의 사용자 단말의 수, 는 데이터 요청 큐어리를 전송하는데 소요되는 시간을 나타낸다. here, is the number of a plurality of user terminals, represents the time required to transmit the data request query.
군중 내 모든 복수의 사용자 단말 간에 데이터 요청 큐어리 공유를 완료하면, 복수의 사용자 단말 각각이 합의된 군중 요청 데이터 리스트를 생성한다(314, 324). When sharing of the data request query is completed among all the plurality of user terminals in the crowd, each of the plurality of user terminals generates an agreed upon crowd request data list (314, 324).
복수의 사용자 단말 중 하나의 사용자 단말이 군중 요청 데이터 리스트에 기초하여 군중 데이터 요청 큐어리를 단일 데이터베이스에 전송한다(325). One user terminal among a plurality of user terminals transmits a crowd data request query to a single database based on the crowd request data list (325).
이때 군중 내 복수의 사용자 단말의 요청 데이터 중 서로 다른 데이터 파일의 수에 비례하여 군중 데이터 요청 단계에 소요되는 지연시간이 늘어난다. 예를 들어, 3명의 사용자가 요청하고자 하는 데이터 파일이 일 경우 은 겹치기 때문에 전체 소요 시간은 가 된다. At this time, the delay time required for the crowd data request step increases in proportion to the number of different data files among the requested data of a plurality of user terminals in the crowd. For example, a data file that 3 users want to request is case overlap, so the total time required is becomes
군중 데이터 요청 큐어리를 단일 데이터베이스에 전송하는데 소요되는 지연시간()은 하기식과 같다: Latency to send crowd data request queries to a single database ( ) is equal to:
. .
여기서, 은 개의 복수의 사용자 단말이 요청하고자 하는 데이터 파일의 수가 개인 경우 서로 다른 데이터 파일의 종류 수를 나타낸다. here, silver The number of data files that a plurality of user terminals want to request In the case of individuals, it indicates the number of different data file types.
단일 데이터베이스는 복수의 사용자 단말 중 하나의 사용자 단말로부터 군중 데이터 요청 큐어리를 수신 받는다(330). A single database receives a crowd data request query from one user terminal among a plurality of user terminals (330).
단일 데이터베이스는 저장된 데이터 파일 중 요청된 데이터 파일을 군중 내 복수의 사용자 단말에게 전송한다(332). The single database transmits the requested data file among the stored data files to a plurality of user terminals in the crowd (332).
이때 멀티캐스트 시간, 다시 말해 복수의 사용자 단말에게 요청된 데이터 파일들을 전송하는데 소요되는 지연시간()은 하기식과 같다: At this time, the multicast time, that is, the delay time required to transmit the data files requested to the plurality of user terminals ( ) is equal to:
. .
여기서, 은 개의 복수의 사용자 단말이 요청하고자 하는 데이터 파일의 수가 개인 경우 서로 다른 데이터 파일의 종류 수, 는 단일 데이터베이스가 단일 데이터 파일을 전송하는데 소요되는 시간을 나타내다. 요청된 데이터 파일들을 전송하는데 소요되는 지연시간()은 데이터 파일 수에 비례하여 증가한다. here, silver The number of data files that a plurality of user terminals want to request the number of different types of data files in the case of individuals; represents the time required for a single database to transfer a single data file. Delay time required to transmit the requested data files ( ) increases in proportion to the number of data files.
따라서 전체 지연시간 는 으로 나타낼 수 있다. Therefore, the total delay time Is can be expressed as
군중 내 복수의 사용자 단말은 요청했던 데이터 파일을 데이터베이스로부터 수신한다(316, 326). A plurality of user terminals in the crowd receive the requested data file from the database (316, 326).
임의의 사용자 단말이 데이터베이스에 데이터 파일 를 요청하기 위해 군중 데이터 요청 큐어리 를 보낸다고 하자. 파일 인덱스 는 중에서 유니폼한 확률로 정해진다. 그러면 정보이론의 관점에서 사용자 단말의 프라이버시가 완벽하게 보호되기 위해서는 다음 식을 만족하여야 한다(perfect privacy condition): Arbitrary user terminal files data files in the database Crowd data request query to request Suppose we send file index Is determined by uniform probability. Then, from the point of view of information theory, in order to perfectly protect the privacy of the user terminal, the following equation must be satisfied (perfect privacy condition):
. .
여기서, 는 군중 데이터 요청 큐어리, 는 중에서 유니폼한 확률로 정해지는 파일 인덱스, 는 단일 데이터베이스에 저장된 서로 다른 데이터 파일의 수, 는 와 사이의 상호 정보량(mutual information)을 나타낸다. here, is the crowd data request query, Is A file index determined with a uniform probability among is the number of different data files stored in a single database, Is and represents the amount of mutual information between
하지만, 완벽한 프라이버시 조건은 전체 파일의 카디널리티(cardinality)에 영향을 받는다. 따라서 전체 파일의 수 가 늘어남에 따라 완벽한 프라이버시 조건은 만족하기 어려워진다. 따라서, 본 발명에서는 프라이버시가 보장되는 정도를 측정하기 위해 프라이버시 레벨(privacy level)이라는 메트릭을 제안한다. 제안하는 프라이버시 레벨()은 다음과 같은 식으로 나타낼 수 있다: However, the perfect privacy condition is affected by the cardinality of the entire file. Therefore, the total number of files As , the perfect privacy condition becomes difficult to satisfy. Therefore, in the present invention, a metric called a privacy level is proposed to measure the degree to which privacy is guaranteed. The suggested privacy level ( ) can be expressed as:
. .
완벽한 프라이버시 조건은 프라이버시 레벨이 를 만족할 때 달성할 수 있으며 일 때는 사용자가 요청한 데이터 파일에 대한 정보가 공개된 상태이며 에 대한 불확실성이 없는 상태이다. The perfect privacy condition is that the privacy level can be achieved when satisfying When , the information about the data file requested by the user is public. There is no uncertainty about
도 4는 본 발명의 일 실시예에 따른 군중 내 사용자 단말 수에 따른 전체 지연시간 및 프라이버시 레벨을 나타내는 도면이다. 4 is a diagram illustrating total delay time and privacy level according to the number of user terminals in a crowd according to an embodiment of the present invention.
본 발명의 일 실시예에 따른 성능은 네트워크 내에 개의 사용자 단말이 단일 데이터베이스에 데이터를 요청할 때 각각의 단말 별로 데이터를 요청하는 상황과 군중을 형성하여 데이터를 요청할 때 소요되는 전체 지연시간(Overall latency) 와 프라이버시 레벨 로 측정하였다. Performance according to an embodiment of the present invention is within the network When two user terminals request data from a single database, the situation in which each terminal requests data and the overall latency required when requesting data by forming a crowd (Overall latency) and privacy level was measured.
도 4를 참조하면, 복수의 사용자 단말 간 프라이버시 레벨 조건과 데이터베이스에 대한 프라이버시 레벨 조건이 없는 경우를 나타낸다. Referring to FIG. 4 , a case in which there is no privacy level condition between a plurality of user terminals and a privacy level condition for a database is shown.
시뮬레이션 환경은 단일 데이터베이스에 개의 파일이 저장되어있는 환경을 가정하였다. 또한 단일 데이터 파일을 전송하는데 소요되는 시간은 이며, 단일 데이터 요청 큐어리를 전송하는데 소요되는 시간은 이라고 가정하였다. The simulation environment is in a single database It is assumed that an environment in which two files are stored. Also, the time taken to transfer a single data file is , and the time required to transmit a single data request query is was assumed.
시뮬레이션 결과를 살펴보면 군중 내 사용자 단말 수가 증가하는 경우 전체 지연시간(CIA Privacy Level)이 선형적으로 증가하는 것을 확인할 수 있다. 또한 데이터베이스에 대한 프라이버시 레벨(CIA Latency)도 함께 증가하여 사용자 단말 수가 많을수록 높은 수준의 프라이버시를 보장하는 것이 가능함을 확인할 수 있다.Looking at the simulation results, it can be seen that the total latency (CIA Privacy Level) increases linearly when the number of user terminals in the crowd increases. In addition, it can be seen that the privacy level (CIA Latency) for the database also increases, so that a higher level of privacy can be guaranteed as the number of user terminals increases.
도 5는 본 발명의 일 실시예에 따른 군중 내 사용자 단말 수에 따른 기존 기법과 제안 기법의 전체 지연시간을 나타내는 도면이다. 5 is a diagram showing total delay times of existing and proposed techniques according to the number of user terminals in a crowd according to an embodiment of the present invention.
도 5를 참조하면, 데이터베이스에 대한 프라이버시 레벨 조건()이 존재하는 경우를 나타낸다. Referring to FIG. 5, the privacy level condition for the database ( ) indicates the presence of
시뮬레이션 환경은 단일 데이터베이스에 개의 파일이 저장되어있는 환경을 가정하였다. 또한 단일 데이터 파일을 전송하는데 소요되는 시간은 이며 단일 데이터 요청 큐어리를 전송하는데 소요되는 시간은 이라고 가정하였으며, 서버에 대한 프라이버시 레벨 조건 를 만족하도록 데이터를 요청한다.The simulation environment is in a single database It is assumed that an environment in which two files are stored. Also, the time taken to transfer a single data file is and the time taken to transmit a single data request query is , and the privacy level condition for the server request data to satisfy
시뮬레이션 결과를 살펴보면 기존 기법과 제안기법 모두 군중 내 사용자 단말 수가 증가함에 따라 전체 지연시간이 증가하는 것을 확인할 수 있다. 하지만 제안 기법을 사용하는 경우에는 일정 수 이상의 사용자가 존재하면 군중 내 사용자 단말들의 요청 데이터만으로도 서버에 대한 프라이버시 레벨 조건을 만족할 수 있기에 증가 속도가 기존 기법에 비해 매우 적음을 알 수 있다. Looking at the simulation results, it can be seen that the total delay time increases as the number of user terminals in the crowd increases in both the existing and proposed methods. However, in the case of using the proposed technique, if there are more than a certain number of users, the privacy level condition for the server can be satisfied with only the requested data of the user terminals in the crowd, so the increase rate is very small compared to the existing technique.
도 6은 본 발명의 일 실시예에 따른 사용자 단말 간 프라이버시 레벨에 따른 전체 지연시간과 데이터베이스에 대한 프라이버시 레벨을 나타내는 도면이다. 6 is a diagram illustrating a total delay time according to a privacy level between user terminals and a privacy level for a database according to an embodiment of the present invention.
도 6을 참조하면, 사용자 단말 간 프라이버시 레벨 조건()이 존재하는 경우를 나타낸다. Referring to FIG. 6, the privacy level condition between user terminals ( ) indicates the presence of
시뮬레이션 환경은 명의 사용자 단말이 군중을 이루며 단일 데이터베이스에 개의 파일이 저장되어있는 환경을 가정하였다. 또한 단일 데이터 파일을 전송하는데 소요되는 시간은 이며 단일 데이터 요청 큐어리를 전송하는데 소요되는 시간은 이라고 가정하였다.the simulation environment A crowd of user terminals is stored in a single database. It is assumed that an environment in which two files are stored. Also, the time taken to transfer a single data file is and the time taken to transmit a single data request query is was assumed.
시뮬레이션 결과를 살펴보면 사용자간 프라이버시 레벨 조건이 높아질수록 데이터베이스에 대한 프라이버시 레벨(CIA Privacy Level)도 함께 증가하는 것을 볼 수 있다. 하지만 어느 수준 이상이 되면 요청 데이터 리스트가 데이터베이스 내 모든 파일을 포함하게 되어 더 이상 데이터베이스에 대한 프라이버시 레벨이 높아지지 않는다. 또한 일정 수준 이하의 사용자 단말 간 프라이버시 레벨 조건에서는 전체 지연시간(CIA Overall Latency)이 느리게 증가하는 것을 볼 수 있다. 이는 사용자 단말 간 프라이버시 레벨 조건이 낮을 때에는 전체 지연시간이 데이터베이스에 대한 프라이버시 레벨 조건에 영향을 받다가 사용자 단말 간 프라이버시 레벨 조건이 높아지면 전체 지연시간이 사용자 단말 간 프라이버시 레벨 조건에 따라 함께 증가하기 때문이다. Looking at the simulation results, it can be seen that as the privacy level condition between users increases, the privacy level for the database (CIA Privacy Level) also increases. However, above a certain level, the requested data list includes all files in the database, so the privacy level for the database does not increase any more. In addition, under the condition of the privacy level between user terminals below a certain level, it can be seen that the overall latency (CIA Overall Latency) increases slowly. This is because when the privacy level condition between user terminals is low, the total delay time is affected by the privacy level condition for the database, but when the privacy level condition between user terminals increases, the total delay time increases according to the privacy level condition between user terminals. .
도 7은 본 발명의 일 실시예에 따른 사용자 단말의 데이터 요청 빈도에 따른 전체 지연시간과 데이터베이스에 대한 프라이버시 레벨을 나타내는 도면이다.7 is a diagram illustrating a total delay time according to data request frequency of a user terminal and a privacy level for a database according to an embodiment of the present invention.
도 7을 참조하면, 사용자 단말 간 프라이버시 레벨 조건()이 존재하는 경우를 나타낸다. Referring to FIG. 7, the privacy level condition between user terminals ( ) indicates the presence of
시뮬레이션 환경은 명의 사용자 단말이 모일 때까지 군중을 형성하며 단일 데이터베이스에 개의 파일이 저장되어있는 환경을 가정하였다. 또한 단일 데이터 파일을 전송하는데 소요되는 시간은 이며 단일 데이터 요청 큐어리를 전송하는데 소요되는 시간은 이라고 가정하였다. the simulation environment form a crowd until a number of user terminals are gathered and stored in a single database It is assumed that an environment in which two files are stored. Also, the time taken to transfer a single data file is and the time taken to transmit a single data request query is was assumed.
시뮬레이션 결과를 보면 사용자 단말의 데이터 요청 빈도가 높아짐에 따라 전체 지연시간이 감소하는 것을 확인할 수 있다. 이는 군중 내 사용자 단말 수를 모집하기 위해 소요되는 평균 시간이 에 반비례하여 감소하기 때문이다. 데이터베이스에 대한 프라이버시 레벨은 동일한 것을 확인할 수 있는데 이는 군중 내 사용자 단말 수가 동일하기에 요청하는 데이터 파일 리스트의 수가 일정하기 때문이다. Looking at the simulation results, it can be seen that the total delay time decreases as the frequency of requesting data from the user terminal increases. This means that the average time taken to recruit the number of user terminals in the crowd is because it decreases in inverse proportion to It can be confirmed that the privacy level for the database is the same because the number of user terminals in the crowd is the same and the number of requested data file lists is constant.
본 발명에서 제안하는 기법을 사용하여 네트워크 내에 개의 사용자 단말이 단일 데이터베이스에 데이터를 요청할 때 각 상황 별로 전체 지연시간을 다음과 같이 분석할 수 있다. 각 사용자 단말이 중에서 각 파일을 원하는 확률은 유니폼 하다고 가정하였다.In the network using the technique proposed in the present invention When the number of user terminals request data from a single database, the total delay time for each situation can be analyzed as follows. each user terminal It is assumed that the probability of wanting each file is uniform.
사용자 단말 간 프라이버시 레벨 조건과 데이터베이스에 대한 프라이버시 레벨 조건이 없는 경우, 전체 지연시간에 대한 계산 값은 다음과 같이 나타낼 수 있다: When there is no privacy level condition between user terminals and a privacy level condition for the database, the calculated value for the total delay time can be expressed as follows:
. .
또한 은 다음 확률 분포를 따른다: also follows the probability distribution:
. .
이때 은 값을 갖는 확률 값이다. 사용자 단말 간 프라이버시 레벨 조건이 없기에 각 사용자 단말이 요청하는 데이터 파일 수 은 1이다. At this time silver It is a probability value that has a value. The number of data files requested by each user terminal because there is no privacy level condition between user terminals is 1.
따라서, 에 대한 전체 지연시간 의 기댓값인 평균 전체 지연시간 는 다음과 같이 나타낼 수 있다: thus, total delay time for Average overall latency, which is the expected value of can be expressed as:
. .
이때 은 이다. At this time silver am.
또한, 제안하는 기법으로 데이터를 요청하는 경우 달성할 수 있는 평균 프라이버시 레벨은 다음과 같이 나타낼 수 있다: In addition, the average privacy level that can be achieved when requesting data with the proposed technique can be expressed as follows:
. .
데이터베이스에 대한 프라이버시 레벨 조건()이 존재하는 경우, 데이터베이스에 대한 프라이버시 레벨이 이상이 되어야 하는 네트워크 상황에서는 군중 내 사용자 단말이 요청하는 서로 다른 데이터 파일의 수 이 을 만족하여야 한다. 그렇지 못하는 경우에는 데이터베이스에 요청 데이터 리스트를 전송하는 사용자 단말이 임의로 다른 파일을 추가하여 프라이버시 레벨 조건을 만족하도록 한다.Privacy level condition for the database ( ) is present, the privacy level for the database is The number of different data files requested by user terminals in the crowd in a network situation that must be this should be satisfied. If not, the user terminal transmitting the requested data list to the database arbitrarily adds another file to satisfy the privacy level condition.
따라서, 전체 지연시간은 다음과 같이 나타낼 수 있다: Therefore, the total delay time can be expressed as:
. .
따라서, 에 대한 전체 지연시간 의 기댓값인 평균 전체 지연시간 는 다음과 같이 나타낼 수 있다: thus, total delay time for Average overall latency, which is the expected value of can be expressed as:
. .
이때, 는 이다. At this time, Is am.
사용자 단말 간 프라이버시 레벨 조건()이 존재하는 경우, 일반적으로 사용자 단말 간 요청 데이터 공유 과정에서도 프라이버시가 보장되어야 한다. 이를 위해 사용자 단말 간 요청 데이터 정보 공유과정에 프라이버시 레벨 조건 을 만족하여야 하는 상황도 고려하였다. 사용자 단말들이 요청 데이터를 공유할 때 본인이 원하는 데이터 이외에 추가적으로 부가적인 데이터도 함께 요청하게 되며 각 사용자 단말이 요청하는 데이터 파일 수는 이 된다. 따라서 전체 지연시간은 다음과 같이 나타낼 수 있다: Privacy level conditions between user terminals ( ) exists, in general, privacy must be guaranteed even in the process of sharing requested data between user terminals. To this end, privacy level conditions in the process of sharing requested data information between user terminals were also considered. When user terminals share requested data, they request additional data in addition to the data they want, and the number of data files requested by each user terminal is becomes Therefore, the total delay time can be expressed as:
. .
따라서, 에 대한 전체 지연시간 의 기댓값인 평균 전체 지연시간 는 다음과 같이 나타낼 수 있다: thus, total delay time for Average overall latency, which is the expected value of can be expressed as:
. .
이때, 는 이다.At this time, Is am.
사용자 단말 요청이 비동기적으로 이루어지는 경우, 실제 네트워크 환경에서는 사용자 단말이 비동기적으로 데이터를 요청하게 된다. 따라서 사용자 단말의 데이터 요청이 푸아송 도착 과정(Poisson arrival process) 모델을 따라 의 빈도수로 발생한다고 가정하였다. 이때 는 시간 동안 평균적으로 도달하는 사용자 단말 데이터 요청 수이다. 사용자 단말들은 군중 내 사용자 단말의 수가 개가 될 때까지 기다리며, 군중이 형성되는데 소요되는 군중 형성 시간은 다음과 같이 나타낼 수 있다: When a user terminal request is made asynchronously, in an actual network environment, the user terminal requests data asynchronously. Therefore, the data request of the user terminal follows the Poisson arrival process model. It was assumed that it occurs with a frequency of . At this time Is This is the number of user terminal data requests arriving on average over time. User terminals are determined by the number of user terminals in the crowd. Waiting for a dog, the crowd formation time required to form a crowd can be expressed as:
. .
이때, 는 각 사용자 단말 요청이 도달하기까지의 사용자 단말 도착 간 시간의 집합이다. 일반적으로 데이터 요청 큐어리를 교환하는 시간은 사용자 단말 도착 간 시간에 비해 매우 작아 군중 형성 시간에서는 도착 간 시간만 고려한다.At this time, is the set of user terminal arrival time until each user terminal request arrives. In general, the time for exchanging data request queues is very small compared to the time between arrivals of user terminals, and only the time between arrivals is considered in the crowd formation time.
따라서, 사용자 단말이 비동기적으로 데이터를 요청하는 상황에서의 전체 지연시간은 다음과 같이 나타낼 수 있다: Therefore, the total delay time in a situation where the user terminal asynchronously requests data can be expressed as follows:
. .
따라서, 과 에 대한 전체 지연시간 의 기댓값인 평균 전체 지연시간 는 다음과 같이 나타낼 수 있다.thus, class total delay time for Average overall latency, which is the expected value of can be expressed as:
. .
본 발명의 실시예에 따른 사용자 군중 형성을 통한 단일 데이터베이스로부터의 요청 데이터 비공개적 회수 달성 방법 및 시스템은 개인 프라이버시 보장 데이터 요청 기법의 원천 기술로 활용될 수 있다. 또한, 데이터베이스에 데이터를 요청하는 핵심적인 기술이기 때문에 모바일 및 개인 PC 사용자 단말의 데이터베이스 접속이 요구되는 분야에 적용할 수 있다.The method and system for achieving non-public collection of requested data from a single database through the formation of a crowd of users according to an embodiment of the present invention can be used as a source technology for a personal privacy guarantee data request technique. In addition, since it is a key technology for requesting data from a database, it can be applied to fields requiring database access of mobile and personal PC user terminals.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The devices described above may be implemented as hardware components, software components, and/or a combination of hardware components and software components. For example, devices and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable array (FPA), It may be implemented using one or more general purpose or special purpose computers, such as a programmable logic unit (PLU), microprocessor, or any other device capable of executing and responding to instructions. A processing device may run an operating system (OS) and one or more software applications running on the operating system. A processing device may also access, store, manipulate, process, and generate data in response to execution of software. For convenience of understanding, there are cases in which one processing device is used, but those skilled in the art will understand that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that it can include. For example, a processing device may include a plurality of processors or a processor and a controller. Other processing configurations are also possible, such as parallel processors.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.Software may include a computer program, code, instructions, or a combination of one or more of the foregoing, which configures a processing device to operate as desired or processes independently or collectively. The device can be commanded. Software and/or data may be any tangible machine, component, physical device, virtual equipment, computer storage medium or device, intended to be interpreted by or provide instructions or data to a processing device. can be embodied in The software may be distributed on networked computer systems and stored or executed in a distributed manner. Software and data may be stored on one or more computer readable media.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. Program commands recorded on the medium may be specially designed and configured for the embodiment or may be known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. - includes hardware devices specially configured to store and execute program instructions, such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include high-level language codes that can be executed by a computer using an interpreter, as well as machine language codes such as those produced by a compiler.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with limited examples and drawings, those skilled in the art can make various modifications and variations from the above description. For example, the described techniques may be performed in an order different from the method described, and/or components of the described system, structure, device, circuit, etc. may be combined or combined in a different form than the method described, or other components may be used. Or even if it is replaced or substituted by equivalents, appropriate results can be achieved.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents of the claims are within the scope of the following claims.
Claims (14)
상기 군중 내 복수의 사용자 단말 각각이 요청하고자 하는 데이터 파일에 대한 데이터 요청 큐어리를 생성하는 단계;
상기 군중 내 모든 복수의 사용자 단말 간에 상기 데이터 요청 큐어리를 상호 공유하는 단계;
상기 복수의 사용자 단말 각각이 합의된 군중 요청 데이터 리스트를 생성하는 단계;
상기 복수의 사용자 단말 중 하나의 사용자 단말이 상기 군중 요청 데이터 리스트에 기초하여 군중 데이터 요청 큐어리를 단일 데이터베이스에 전송하는 단계; 및
상기 군중 데이터 요청 큐어리를 수신 받은 단일 데이터베이스가 군중 내 복수의 사용자 단말에게 요청된 데이터 파일들을 전송하는 단계
를 포함하고,
상기 군중 내 모든 복수의 사용자 단말 간에 상기 데이터 요청 큐어리를 상호 공유하는 단계는,
상기 군중 내 모든 복수의 사용자 단말 간에 상기 데이터 요청 큐어리를 상호 공유하는 단계까지 소요되는 지연시간()은 하기식과 같고,
여기서, 은 복수의 사용자 단말의 수, 는 데이터 요청 큐어리를 전송하는데 소요되는 시간을 나타내는
요청 데이터 비공개적 회수 달성 방법. Forming a crowd by a plurality of user terminals existing in the network for private information retrieval of requested data through the crowd;
generating a data request query for a data file to be requested by each of a plurality of user terminals in the crowd;
mutually sharing the data request query among all the plurality of user terminals in the crowd;
Generating a crowd request data list agreed upon by each of the plurality of user terminals;
transmitting a crowd data request query to a single database based on the crowd request data list by one user terminal among the plurality of user terminals; and
Transmitting, by the single database receiving the crowd data request query, requested data files to a plurality of user terminals within the crowd
including,
The step of mutually sharing the data request query among all the plurality of user terminals in the crowd,
Delay time required until the step of mutually sharing the data request query among all the plurality of user terminals in the crowd ( ) is the same as the following formula,
here, is the number of a plurality of user terminals, represents the time taken to transmit the data request query
How to achieve private retrieval of requested data.
상기 군중 내 복수의 사용자 단말 각각이 요청하고자 하는 데이터 파일에 대한 데이터 요청 큐어리를 생성하는 단계;
상기 군중 내 모든 복수의 사용자 단말 간에 상기 데이터 요청 큐어리를 상호 공유하는 단계;
상기 복수의 사용자 단말 각각이 합의된 군중 요청 데이터 리스트를 생성하는 단계;
상기 복수의 사용자 단말 중 하나의 사용자 단말이 상기 군중 요청 데이터 리스트에 기초하여 군중 데이터 요청 큐어리를 단일 데이터베이스에 전송하는 단계; 및
상기 군중 데이터 요청 큐어리를 수신 받은 단일 데이터베이스가 군중 내 복수의 사용자 단말에게 요청된 데이터 파일들을 전송하는 단계
를 포함하고,
상기 복수의 사용자 단말 중 하나의 사용자 단말이 상기 군중 요청 데이터 리스트에 기초하여 군중 데이터 요청 큐어리를 단일 데이터베이스에 전송하는 단계는,
군중 데이터 요청 큐어리를 단일 데이터베이스에 전송하는데 소요되는 지연시간은 군중 내 복수의 사용자 단말의 데이터 요청 큐어리들 중 서로 다른 데이터 파일 개수에 비례하여 증가하고,
상기 군중 데이터 요청 큐어리를 단일 데이터베이스에 전송하는데 소요되는 지연시간()은 하기식과 같고,
여기서, 은 개의 복수의 사용자 단말이 요청하고자 하는 데이터 파일의 수가 개인 경우 서로 다른 데이터 파일의 종류 수를 나타내는
요청 데이터 비공개적 회수 달성 방법. Forming a crowd by a plurality of user terminals existing in the network for private information retrieval of requested data through the crowd;
generating a data request query for a data file to be requested by each of a plurality of user terminals in the crowd;
mutually sharing the data request query among all the plurality of user terminals in the crowd;
Generating a crowd request data list agreed upon by each of the plurality of user terminals;
transmitting a crowd data request query to a single database based on the crowd request data list by one user terminal among the plurality of user terminals; and
Transmitting, by the single database receiving the crowd data request query, requested data files to a plurality of user terminals within the crowd
including,
Transmitting, by one user terminal among the plurality of user terminals, a crowd data request query to a single database based on the crowd request data list,
The delay time required to transmit the crowd data request query to a single database increases in proportion to the number of different data files among the data request queries of a plurality of user terminals in the crowd,
Delay time required to transmit the crowd data request query to a single database ( ) is the same as the following formula,
here, silver The number of data files that a plurality of user terminals want to request Indicates the number of different types of data files in the case of individuals.
How to achieve private retrieval of requested data.
상기 군중 내 복수의 사용자 단말 각각이 요청하고자 하는 데이터 파일에 대한 데이터 요청 큐어리를 생성하는 단계;
상기 군중 내 모든 복수의 사용자 단말 간에 상기 데이터 요청 큐어리를 상호 공유하는 단계;
상기 복수의 사용자 단말 각각이 합의된 군중 요청 데이터 리스트를 생성하는 단계;
상기 복수의 사용자 단말 중 하나의 사용자 단말이 상기 군중 요청 데이터 리스트에 기초하여 군중 데이터 요청 큐어리를 단일 데이터베이스에 전송하는 단계; 및
상기 군중 데이터 요청 큐어리를 수신 받은 단일 데이터베이스가 군중 내 복수의 사용자 단말에게 요청된 데이터 파일들을 전송하는 단계
를 포함하고,
상기 군중 데이터 요청 큐어리를 수신 받은 단일 데이터베이스가 군중 내 복수의 사용자 단말에게 요청된 데이터 파일들을 전송하는 단계는,
복수의 사용자 단말에게 요청된 데이터 파일들을 전송하는데 소요되는 지연시간()은 하기식과 같고,
여기서, 은 개의 복수의 사용자 단말이 요청하고자 하는 데이터 파일의 수가 개인 경우 서로 다른 데이터 파일의 종류 수, 는 단일 데이터베이스가 단일 데이터 파일을 전송하는데 소요되는 시간을 나타내고,
요청된 데이터 파일들을 전송하는데 소요되는 지연시간()은 데이터 파일 수에 비례하여 증가하는
요청 데이터 비공개적 회수 달성 방법. Forming a crowd by a plurality of user terminals existing in the network for private information retrieval of requested data through the crowd;
generating a data request query for a data file to be requested by each of a plurality of user terminals in the crowd;
mutually sharing the data request query among all the plurality of user terminals in the crowd;
Generating a crowd request data list agreed upon by each of the plurality of user terminals;
transmitting a crowd data request query to a single database based on the crowd request data list by one user terminal among the plurality of user terminals; and
Transmitting, by the single database receiving the crowd data request query, requested data files to a plurality of user terminals within the crowd
including,
The step of transmitting the requested data files to a plurality of user terminals in the crowd by the single database receiving the crowd data request query,
Delay time required to transmit requested data files to a plurality of user terminals ( ) is the same as the following formula,
here, silver The number of data files that a plurality of user terminals want to request the number of different types of data files in the case of individuals; represents the time taken for a single database to transfer a single data file,
Delay time required to transmit the requested data files ( ) increases in proportion to the number of data files.
How to achieve private retrieval of requested data.
상기 군중 내 복수의 사용자 단말 각각이 요청하고자 하는 데이터 파일에 대한 데이터 요청 큐어리를 생성하는 단계;
상기 군중 내 모든 복수의 사용자 단말 간에 상기 데이터 요청 큐어리를 상호 공유하는 단계;
상기 복수의 사용자 단말 각각이 합의된 군중 요청 데이터 리스트를 생성하는 단계;
상기 복수의 사용자 단말 중 하나의 사용자 단말이 상기 군중 요청 데이터 리스트에 기초하여 군중 데이터 요청 큐어리를 단일 데이터베이스에 전송하는 단계; 및
상기 군중 데이터 요청 큐어리를 수신 받은 단일 데이터베이스가 군중 내 복수의 사용자 단말에게 요청된 데이터 파일들을 전송하는 단계
를 포함하고,
상기 요청 데이터 비공개적 회수 달성을 위한 복수의 사용자 단말의 프라이버시가 보호되기 위해 하기식을 만족하고,
여기서, 는 군중 데이터 요청 큐어리, 는 중에서 유니폼한 확률로 정해지는 파일 인덱스, 는 단일 데이터베이스에 저장된 서로 다른 데이터 파일의 수, 는 와 사이의 상호 정보량(mutual information)을 나타내는
요청 데이터 비공개적 회수 달성 방법. Forming a crowd by a plurality of user terminals existing in the network for private information retrieval of requested data through the crowd;
generating a data request query for a data file to be requested by each of a plurality of user terminals in the crowd;
mutually sharing the data request query among all the plurality of user terminals in the crowd;
Generating a crowd request data list agreed upon by each of the plurality of user terminals;
transmitting a crowd data request query to a single database based on the crowd request data list by one user terminal among the plurality of user terminals; and
Transmitting, by the single database receiving the crowd data request query, requested data files to a plurality of user terminals within the crowd
including,
In order to protect the privacy of a plurality of user terminals for achieving the private collection of the requested data, the following formula is satisfied,
here, is the crowd data request query, Is A file index determined with a uniform probability among is the number of different data files stored in a single database, Is and representing the amount of mutual information between
How to achieve private retrieval of requested data.
상기 요청 데이터 비공개적 회수 달성하기 위한 프라이버시 레벨()은 하기식과 같고,
최적의 요청 데이터 비공개적 회수 달성 조건은 프라이버시 레벨이 를 만족할 때 달성할 수 있으며, 일 때는 요청된 데이터 파일에 대한 정보가 공개된 상태이며, 에 대한 불확실성이 없는 상태인
요청 데이터 비공개적 회수 달성 방법. According to claim 4,
Privacy level to achieve the private collection of the requested data ( ) is the same as the following formula,
The optimal condition for achieving private retrieval of requested data is that the privacy level is can be achieved when satisfying When , information about the requested data file is open, in which there is no uncertainty about
How to achieve private retrieval of requested data.
상기 복수의 사용자 단말 중 하나의 사용자 단말로부터 상기 군중 데이터 요청 큐어리를 수신 받아 군중 내 복수의 사용자 단말에게 요청된 데이터 파일들을 전송하는 단일 데이터베이스
를 포함하고,
상기 복수의 사용자 단말은,
네트워크에 존재하는 복수의 사용자 단말이 군중을 통한 요청 데이터 비공개적 회수 달성 기법을 위해 군중을 형성하고,
상기 군중 내 복수의 사용자 단말 각각이 요청하고자 하는 데이터 파일에 대한 데이터 요청 큐어리를 생성하고,
상기 군중 내 모든 복수의 사용자 단말 간에 상기 데이터 요청 큐어리를 상호 공유하고,
상기 복수의 사용자 단말 각각이 합의된 군중 요청 데이터 리스트를 생성하고,
상기 복수의 사용자 단말 중 하나의 사용자 단말이 상기 군중 요청 데이터 리스트에 기초하여 군중 데이터 요청 큐어리를 단일 데이터베이스에 전송하고,
상기 군중 내 모든 복수의 사용자 단말 간에 상기 데이터 요청 큐어리를 상호 공유하는 단계까지 소요되는 지연시간()은 하기식과 같고,
여기서, 은 복수의 사용자 단말의 수, 는 데이터 요청 큐어리를 전송하는데 소요되는 시간을 나타내는 요청 데이터 비공개적 회수 달성 시스템. A plurality of user terminals that form a crowd for private information retrieval of requested data through a crowd in a network and transmit a crowd data request query for a data file to be requested to a single database; and
A single database that receives the crowd data request query from one of the plurality of user terminals and transmits requested data files to a plurality of user terminals in the crowd.
including,
The plurality of user terminals,
A plurality of user terminals existing in the network form a crowd for the technique of achieving private collection of requested data through the crowd;
Creating a data request query for a data file to be requested by each of a plurality of user terminals in the crowd;
Mutually sharing the data request query among all the plurality of user terminals in the crowd;
Each of the plurality of user terminals generates an agreed crowd request data list,
One user terminal among the plurality of user terminals transmits a crowd data request query to a single database based on the crowd request data list;
Delay time required until the step of mutually sharing the data request query among all the plurality of user terminals in the crowd ( ) is the same as the following formula,
here, is the number of a plurality of user terminals, A system for achieving request data private retrieval where R represents the time taken to transmit the data request queue.
상기 복수의 사용자 단말 중 하나의 사용자 단말로부터 상기 군중 데이터 요청 큐어리를 수신 받아 군중 내 복수의 사용자 단말에게 요청된 데이터 파일들을 전송하는 단일 데이터베이스
를 포함하고,
상기 복수의 사용자 단말은,
네트워크에 존재하는 복수의 사용자 단말이 군중을 통한 요청 데이터 비공개적 회수 달성 기법을 위해 군중을 형성하고,
상기 군중 내 복수의 사용자 단말 각각이 요청하고자 하는 데이터 파일에 대한 데이터 요청 큐어리를 생성하고,
상기 군중 내 모든 복수의 사용자 단말 간에 상기 데이터 요청 큐어리를 상호 공유하고,
상기 복수의 사용자 단말 각각이 합의된 군중 요청 데이터 리스트를 생성하고,
상기 복수의 사용자 단말 중 하나의 사용자 단말이 상기 군중 요청 데이터 리스트에 기초하여 군중 데이터 요청 큐어리를 단일 데이터베이스에 전송하고,
상기 복수의 사용자 단말 중 하나의 사용자 단말이 상기 군중 요청 데이터 리스트에 기초하여 군중 데이터 요청 큐어리를 단일 데이터베이스에 전송하는데 소요되는 지연시간은 군중 내 복수의 사용자 단말의 데이터 요청 큐어리들 중 서로 다른 데이터 파일 개수에 비례하여 증가하며,
상기 군중 데이터 요청 큐어리를 단일 데이터베이스에 전송하는데 소요되는 지연시간()은 하기식과 같고,
여기서, 은 개의 복수의 사용자 단말이 요청하고자 하는 데이터 파일의 수가 개인 경우 서로 다른 데이터 파일의 종류 수를 나타내는
요청 데이터 비공개적 회수 달성 시스템. A plurality of user terminals that form a crowd for private information retrieval of requested data through a crowd in a network and transmit a crowd data request query for a data file to be requested to a single database; and
A single database that receives the crowd data request query from one of the plurality of user terminals and transmits requested data files to a plurality of user terminals in the crowd.
including,
The plurality of user terminals,
A plurality of user terminals existing in the network form a crowd for the technique of achieving private collection of requested data through the crowd;
Creating a data request query for a data file to be requested by each of a plurality of user terminals in the crowd;
Mutually sharing the data request query among all the plurality of user terminals in the crowd;
Each of the plurality of user terminals generates an agreed crowd request data list,
One user terminal among the plurality of user terminals transmits a crowd data request query to a single database based on the crowd request data list;
The delay time required for one user terminal among the plurality of user terminals to transmit a crowd data request query to a single database based on the crowd request data list is different from data request queries among data request queries of a plurality of user terminals in the crowd. Increases in proportion to the number of files,
Delay time required to transmit the crowd data request query to a single database ( ) is the same as the following formula,
here, silver The number of data files that a plurality of user terminals want to request Indicates the number of different types of data files in the case of individuals.
A system for achieving private retrieval of requested data.
상기 복수의 사용자 단말 중 하나의 사용자 단말로부터 상기 군중 데이터 요청 큐어리를 수신 받아 군중 내 복수의 사용자 단말에게 요청된 데이터 파일들을 전송하는 단일 데이터베이스
를 포함하고,
상기 복수의 사용자 단말은,
네트워크에 존재하는 복수의 사용자 단말이 군중을 통한 요청 데이터 비공개적 회수 달성 기법을 위해 군중을 형성하고,
상기 군중 내 복수의 사용자 단말 각각이 요청하고자 하는 데이터 파일에 대한 데이터 요청 큐어리를 생성하고,
상기 군중 내 모든 복수의 사용자 단말 간에 상기 데이터 요청 큐어리를 상호 공유하고,
상기 복수의 사용자 단말 각각이 합의된 군중 요청 데이터 리스트를 생성하고,
상기 복수의 사용자 단말 중 하나의 사용자 단말이 상기 군중 요청 데이터 리스트에 기초하여 군중 데이터 요청 큐어리를 단일 데이터베이스에 전송하고,
상기 단일 데이터베이스가 상기 군중 데이터 요청 큐어리를 수신 받아 군중 내 복수의 사용자 단말에게 요청된 데이터 파일들을 전송하는데 소요되는 지연시간()은 하기식과 같고,
여기서, 은 개의 복수의 사용자 단말이 요청하고자 하는 데이터 파일의 수가 개인 경우 서로 다른 데이터 파일의 종류 수, 는 데이터베이스가 단일 데이터 파일을 전송하는데 소요되는 시간을 나타내고,
요청된 데이터 파일들을 전송하는데 소요되는 지연시간()은 데이터 파일 수에 비례하여 증가하는
요청 데이터 비공개적 회수 달성 시스템. A plurality of user terminals that form a crowd for private information retrieval of requested data through a crowd in a network and transmit a crowd data request query for a data file to be requested to a single database; and
A single database that receives the crowd data request query from one of the plurality of user terminals and transmits requested data files to a plurality of user terminals in the crowd.
including,
The plurality of user terminals,
A plurality of user terminals existing in the network form a crowd for the technique of achieving private collection of requested data through the crowd;
Creating a data request query for a data file to be requested by each of a plurality of user terminals in the crowd;
Mutually sharing the data request query among all the plurality of user terminals in the crowd;
Each of the plurality of user terminals generates an agreed crowd request data list,
One user terminal among the plurality of user terminals transmits a crowd data request query to a single database based on the crowd request data list;
Delay time required for the single database to receive the crowd data request query and transmit requested data files to a plurality of user terminals in the crowd ( ) is the same as the following formula,
here, silver The number of data files that a plurality of user terminals want to request the number of different types of data files in the case of individuals; represents the time taken by the database to transfer a single data file,
Delay time required to transmit the requested data files ( ) increases in proportion to the number of data files.
A system for achieving private retrieval of requested data.
상기 복수의 사용자 단말 중 하나의 사용자 단말로부터 상기 군중 데이터 요청 큐어리를 수신 받아 군중 내 복수의 사용자 단말에게 요청된 데이터 파일들을 전송하는 단일 데이터베이스
를 포함하고,
상기 복수의 사용자 단말은,
네트워크에 존재하는 복수의 사용자 단말이 군중을 통한 요청 데이터 비공개적 회수 달성 기법을 위해 군중을 형성하고,
상기 군중 내 복수의 사용자 단말 각각이 요청하고자 하는 데이터 파일에 대한 데이터 요청 큐어리를 생성하고,
상기 군중 내 모든 복수의 사용자 단말 간에 상기 데이터 요청 큐어리를 상호 공유하고,
상기 복수의 사용자 단말 각각이 합의된 군중 요청 데이터 리스트를 생성하고,
상기 복수의 사용자 단말 중 하나의 사용자 단말이 상기 군중 요청 데이터 리스트에 기초하여 군중 데이터 요청 큐어리를 단일 데이터베이스에 전송하고,
상기 복수의 사용자 단말은,
상기 요청 데이터 비공개적 회수 달성을 위한 프라이버시가 보호되기 위해 하기식을 만족하고,
여기서, 는 군중 데이터 요청 큐어리, 는 중에서 유니폼한 확률로 정해지는 파일 인덱스, 는 데이터베이스에 저장된 서로 다른 데이터 파일의 수, 는 와 사이의 상호 정보량(mutual information)을 나타내는
요청 데이터 비공개적 회수 달성 시스템. A plurality of user terminals that form a crowd for private information retrieval of requested data through a crowd in a network and transmit a crowd data request query for a data file to be requested to a single database; and
A single database that receives the crowd data request query from one of the plurality of user terminals and transmits requested data files to a plurality of user terminals in the crowd.
including,
The plurality of user terminals,
A plurality of user terminals existing in the network form a crowd for the technique of achieving private collection of requested data through the crowd;
Creating a data request query for a data file to be requested by each of a plurality of user terminals in the crowd;
Mutually sharing the data request query among all the plurality of user terminals in the crowd;
Each of the plurality of user terminals generates an agreed crowd request data list,
One user terminal among the plurality of user terminals transmits a crowd data request query to a single database based on the crowd request data list;
The plurality of user terminals,
Satisfies the following formula in order to protect the privacy for achieving the private recovery of the requested data,
here, is the crowd data request query, Is A file index determined with a uniform probability among is the number of different data files stored in the database, Is and representing the amount of mutual information between
A system for achieving private retrieval of requested data.
상기 요청 데이터 비공개적 회수 달성을 위한 상기 복수의 사용자 단말의 프라이버시 레벨()은 하기식과 같고,
최적의 요청 데이터 비공개적 회수 달성 조건은 프라이버시 레벨이 를 만족할 때 달성할 수 있으며, 일 때는 요청된 데이터 파일에 대한 정보가 공개된 상태이며, 에 대한 불확실성이 없는 상태인
요청 데이터 비공개적 회수 달성 시스템.
According to claim 9,
The privacy level of the plurality of user terminals for achieving the private collection of the requested data ( ) is the same as the following formula,
The optimal condition for achieving private retrieval of requested data is that the privacy level is can be achieved when satisfying When , information about the requested data file is open, in which there is no uncertainty about
A system for achieving private retrieval of requested data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210088071A KR102514819B1 (en) | 2021-07-05 | 2021-07-05 | Method and System for Private information retrieval of requested data from a single database through user crowding |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210088071A KR102514819B1 (en) | 2021-07-05 | 2021-07-05 | Method and System for Private information retrieval of requested data from a single database through user crowding |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20230007170A KR20230007170A (en) | 2023-01-12 |
KR102514819B1 true KR102514819B1 (en) | 2023-03-29 |
Family
ID=84923769
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210088071A KR102514819B1 (en) | 2021-07-05 | 2021-07-05 | Method and System for Private information retrieval of requested data from a single database through user crowding |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102514819B1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102145687B1 (en) * | 2019-04-24 | 2020-08-19 | 한국과학기술원 | Carrier aggregation system, and method and apparatus for transmission based on cached information of user equipment in the same |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201812646A (en) * | 2016-07-18 | 2018-04-01 | 美商南坦奧美克公司 | Distributed machine learning system, method of distributed machine learning, and method of generating proxy data |
KR102184275B1 (en) * | 2019-04-03 | 2020-11-30 | 한국과학기술원 | Electronic apparatus and communication system for optimally achieving private information retrieval with low upload cost based on probabilistic technique, and operating method of the same |
-
2021
- 2021-07-05 KR KR1020210088071A patent/KR102514819B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102145687B1 (en) * | 2019-04-24 | 2020-08-19 | 한국과학기술원 | Carrier aggregation system, and method and apparatus for transmission based on cached information of user equipment in the same |
Non-Patent Citations (1)
Title |
---|
서효운, ‘분산 정보의 빠르고 안전한 검색 및 합의에 대한 연구’, 한국과학기술원 박사학위 논문, 2020.02.20.,* |
Also Published As
Publication number | Publication date |
---|---|
KR20230007170A (en) | 2023-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Movahedi et al. | An efficient population-based multi-objective task scheduling approach in fog computing systems | |
Wang et al. | Maptask scheduling in mapreduce with data locality: Throughput and heavy-traffic optimality | |
US9922051B2 (en) | Image-based faceted system and method | |
Potu et al. | Optimizing resource scheduling based on extended particle swarm optimization in fog computing environments | |
Maguluri et al. | Stochastic models of load balancing and scheduling in cloud computing clusters | |
Yang et al. | Timely-throughput optimal coded computing over cloud networks | |
CN110308984B (en) | Cross-cluster computing system for processing geographically distributed data | |
Martha et al. | h-MapReduce: a framework for workload balancing in MapReduce | |
Vakilinia et al. | Analysis and optimization of big-data stream processing | |
CN106294778A (en) | Information-pushing method and device | |
Xiang et al. | Optimizing differentiated latency in multi-tenant, erasure-coded storage | |
Shafik et al. | Admitting new requests in fog networks according to erlang b distribution | |
KR102514819B1 (en) | Method and System for Private information retrieval of requested data from a single database through user crowding | |
Kiamari et al. | Coding for edge-facilitated wireless distributed computing with heterogeneous users | |
US10970250B2 (en) | System, data management method, and file server | |
Li et al. | Hybrid DE-EM algorithm for Gaussian mixture model-based wireless channel multipath clustering | |
CN110958666A (en) | Network slice resource mapping method based on reinforcement learning | |
Joshi et al. | Synergy via redundancy: Adaptive replication strategies and fundamental limits | |
KR102235149B1 (en) | Decoding order selecting method for improvement the fairness of secure communication in uplink noma network with cooperative jamming, and the system thereof | |
Gamgam et al. | Water-Filling Based Scheduling for Weighted Binary Freshness in Cache Update Systems | |
Liu et al. | ROUTE: run‐time robust reducer workload estimation for MapReduce | |
Wu et al. | A new heuristic computation offloading method based on cache-assisted model | |
Kundu et al. | Swarm intelligence in cloud environment | |
JP2006023948A (en) | Resource search method, cluster system, computer, and cluster | |
Rakhee et al. | Analysis of G–queue with unreliable server |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right |