KR101804426B1 - Parallel processing method of data anonymization using gpgpu - Google Patents

Parallel processing method of data anonymization using gpgpu Download PDF

Info

Publication number
KR101804426B1
KR101804426B1 KR1020160075467A KR20160075467A KR101804426B1 KR 101804426 B1 KR101804426 B1 KR 101804426B1 KR 1020160075467 A KR1020160075467 A KR 1020160075467A KR 20160075467 A KR20160075467 A KR 20160075467A KR 101804426 B1 KR101804426 B1 KR 101804426B1
Authority
KR
South Korea
Prior art keywords
data
anonymization
processing unit
gpgpu
category tree
Prior art date
Application number
KR1020160075467A
Other languages
Korean (ko)
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 고려대학교 산학협력단
Priority to KR1020160075467A priority Critical patent/KR101804426B1/en
Application granted granted Critical
Publication of KR101804426B1 publication Critical patent/KR101804426B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • G06F17/30327
    • G06F17/30445
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3818Decoding for concurrent execution
    • G06F9/3822Parallel decoding, e.g. parallel decode units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

According to the present invention, a parallel processing method of data anonymization using a general purpose graphic processing unit (GPGPU) comprises: an anonymization information input step of receiving original data composed of at least one data record, a category tree on each semi-identifier forming the original data, and a search lattice composed of a combination of the category trees; an anonymization information generalization step of generating generalization data on the data record by performing parallel anonymization on each of the data records by using the category tree on the semi-identifier and the search lattice through a GPU; and a privacy verification step of comparing the general data on the data record with a preset privacy model. Therefore, the parallel processing method of data anonymization using a GPGPU can reduce a calculation time for anonymizing the original data.

Description

GPGPU를 이용한 데이터 익명화의 병렬적 처리 방법{PARALLEL PROCESSING METHOD OF DATA ANONYMIZATION USING GPGPU}{PARALLEL PROCESSING METHOD OF DATA ANONYMIZATION USING GPGPU}

본 발명은 GPGPU를 이용한 데이터 익명화의 병렬적 처리 방법에 관한 것으로서, 특히 GPU를 이용한 데이터 익명화의 병렬적 처리를 통하여 방대한 데이터에 대한 익명화를 빠르게 수행할 수 있는 데이터 익명화의 병렬적 처리 방법에 관한 것이다.The present invention relates to a parallel processing method of data anonymization using GPGPU, and more particularly, to a parallel processing method of data anonymization that can rapidly anonymize large data through parallel processing of data anonymization using a GPU .

최근 다양한 기관과 기업들이 여러 분야에서 마이크로데이터를 생성하고 이를 배포하고 있다. 이 과정에서 개인을 식별할 수 있는 정보와 민감한 정보가 함께 배포되어 개인의 프라이버시가 유출될 수 있다. 안전한 마이크로데이터 배포를 위하여 k-anonymity와 이를 보완한 l-diversity 등의 프라이버시 모델들이 널리 활용되고 있다. 이때, 프라이버시 모델을 만족하면서 동시에 데이터셋(dataset)의 정보 손실을 최소화하는 것은 NP-Hard 문제이기 때문에, 적은 시간 안에 최적에 가까운 익명화 해를 찾으려는 다양한 근사 알고리즘들이 제안되었다. 그러나 빅데이터(big data) 시대의 도래로 인해 배포되는 데이터의 크기와 속성의 수가 증가하면서 더 빠른 익명화의 필요성이 강조되고 있다.Recently, various organizations and corporations have been creating and distributing microdata in various fields. In this process, information that can identify an individual and sensitive information are distributed together, which may leak personal privacy. In order to distribute secure microdata, privacy models such as k-anonymity and l-diversity complementing it are widely used. At this time, since it is an NP-Hard problem to minimize the information loss of the dataset while satisfying the privacy model, various approximation algorithms for finding an optimal anisotropy solution in a short time have been proposed. However, with the advent of the big data era, the need for faster anonymization has been emphasized as the size and number of attributes distributed increases.

대한민국 공개특허 제2012-0063050호 (2012.06.15. 공개)Korea Public Patent No. 2012-0063050 (2012.06.15. Public)

본 발명은 GPGPU를 이용하여, 원본 데이터를 구성하는 각 레코드에 대한 연산을 병렬적으로 처리함으로써, 원본 데이터의 익명화를 위한 연산시간을 줄일 수 있는 GPGPU를 이용한 데이터 익명화의 병렬적 처리 방법에 관한 것이다. The present invention relates to a parallel processing method of data anonymization using GPGPU, which can reduce computation time for anonymizing original data by parallelly processing computations for each record constituting original data using GPGPU .

본 발명에 따른 GPGPU를 이용한 데이터 익명화의 병렬적 처리 방법은 적어도 하나 이상의 데이터 레코드로 구성되는 원본 데이터, 상기 원본 데이터를 구성하는 각각의 준식별자에 대한 범주 트리와 상기 범주 트리의 조합으로 구성되는 탐색 격자를 입력받는 익명화 정보의 입력단계, 그래픽 프로세싱 유닛(Graphics Processing Unit)을 통해, 상기 준식별자에 대한 범주 트리와 상기 탐색 격자를 이용하여, 상기 각각의 데이터 레코드에 대한 익명화를 병렬적으로 수행함으로써, 상기 데이터 레코드에 대한 일반화 데이터를 생성하는 익명화 정보의 일반화 단계, 및 상기 데이터 레코드에 대한 일반화 데이터를 상기 기설정된 프라이버시 모델과 비교하는 프라이버시 검증단계를 포함한다.A parallel processing method of data anonymization using a GPGPU according to the present invention is a method for parallel processing of data anonymization using GPGPU, comprising the steps of: extracting original data composed of at least one data record, a category tree for each quasi-identifier constituting the original data, An anonymization information input step of inputting an anonymizing information for inputting a grid, an anonymization for each of the data records is performed in parallel using a category tree and the search grid for the quasi-identifier through a graphics processing unit A generalization step of anonymizing information for generating generalized data for the data record, and a privacy verification step for comparing the generalized data for the data record with the predetermined privacy model.

또한, 상기 익명화 정보의 일반화 단계는 기설정된 치환 테이블을 기초로 하여, 상기 원본 데이터를 구성하는 데이터와 문자열을 정수 형태의 식별값으로 치환하는 단계, 상기 각각의 준식별자에 대한 트리 구조의 범주 트리를 선형 형태의 범주 트리 구조로 변환하는 단계, 및 그래픽 프로세싱 유닛을 통해, 상기 탐색 격자를 기초로 하여, 상기 선형 형태의 범주 트리를 너비우선 방식으로 탐색하여, 상기 데이터 레코드에 대한 익명화를 병렬적으로 수행하는 단계를 포함한다. The generalization of the anonymization information may include replacing data and a string constituting the original data with an identification value of an integer type based on a predetermined replacement table, To a category tree structure in a linear form, and by means of a graphic processing unit, searching the category tree of the linear form in a breadth first manner on the basis of the search grid, thereby anonymizing the data records in parallel . ≪ / RTI >

본 발명에 따른 GPGPU를 이용한 데이터 익명화의 병렬적 처리 방법은 원본 데이터를 구성하는 데이터 레코드 별로 데이터 일반화를 위한 연산을 그래픽 프로세싱 유닛(GPU)을 이용하여, 병렬적으로 수행함으로써, 중앙처리장치(CPU)를 이용한 연산보다 약 3.5배 정도의 처리속도를 향상시킬 수 있다. The parallel processing method of data anonymization using the GPGPU according to the present invention is a method for parallelizing data anonymization using GPGPU by performing operations for data generalization for each data record constituting original data in parallel using a graphics processing unit (GPU) ), The processing speed of about 3.5 times can be improved.

또한, 본 발명에 따른 GPGPU를 이용한 데이터 익명화의 병렬적 처리방법은 그래픽 프로세싱 유닛(GPU) 환경에서, 데이터의 일반화를 효율적으로 수행하기 위하여 원본 데이터를 구성하는 문자열 형태의 데이터를 치환 테이블을 이용하여 정수 형태의 식별값(ID)으로 치환하는 과정과 준식별자의 범주 트리를 선형자료구조로 변환하는 과정을 통해, 준식별자의 수가 많은 상황에서도 데이터 일반화를 위한 연산속도를 현저히 개선할 수 있다. In order to efficiently perform generalization of data in a graphics processing unit (GPU) environment, a parallel processing method of data anonymization using a GPGPU according to the present invention uses a substitution table Through the process of replacing with the identification value (ID) of the integer type and the process of converting the category tree of the semi-identifier into the linear data structure, the operation speed for data generalization can be remarkably improved even in the case of a large number of semi-identifiers.

도 1은 본 발명의 일 실시 예에 따른 GPGUP를 이용한 데이터 익명화의 병렬적 처리방법에 대한 흐름도이다.
도 2a 내지 2d는 본 발명의 일 실시 예에 따른 기설정된 치환 테이블을 이용하여, 원본 데이터를 정수형태의 식별값으로 치환하는 내용을 나타낸 도면이다.
도 3a와 3b는 본 발명의 일 실시 예에 따른 비선형구조의 준식별자에 대한 범주 트리를 선형구조로 변환하는 내용을 나타낸 도면이다.
도 4a와 4b는 본 발명의 일 실시 예에 따라 제1 데이터셋을 GPU와 CPU를 이용해 익명화하는 연산속도의 비교를 나타낸 도면이다.
도 5a와 5b는 본 발명의 일 실시 예에 따라 제2 데이터셋을 GPU와 CPU를 이용해 익명화하는 연산속도의 비교를 나타낸 도면이다.
1 is a flowchart illustrating a parallel processing method of data anonymization using a GPGUP according to an embodiment of the present invention.
FIGS. 2A to 2D are diagrams illustrating replacement of original data with an identification value of an integer type using a predetermined replacement table according to an embodiment of the present invention.
3A and 3B are diagrams for converting a category tree to a linear structure for a semi-identifier of a non-linear structure according to an embodiment of the present invention.
4A and 4B are diagrams illustrating a comparison of operation speeds for anonymizing a first data set using a GPU and a CPU according to an embodiment of the present invention.
5A and 5B are diagrams illustrating a comparison of operation speeds for anonymizing a second data set using a GPU and a CPU according to an embodiment of the present invention.

본 발명의 목적, 특정한 장점들 및 신규한 특징들은 첨부된 도면들과 연관되어지는 이하의 상세한 설명과 바람직한 실시 예들로부터 더욱 명백해질 것이다. 본 명세서에서 각 도면의 구성요소들에 참조번호를 부가함에 있어서, 동일한 구성 요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 번호를 가지도록 하고 있음에 유의하여야 한다. 또한, "일면", "타면", "제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위해 사용되는 것으로, 구성요소가 상기 용어들에 의해 제한되는 것은 아니다. 이하, 본 발명을 설명함에 있어서, 본 발명의 요지를 불필요하게 흐릴 수 있는 관련된 공지 기술에 대한 상세한 설명은 생략한다. BRIEF DESCRIPTION OF THE DRAWINGS The objectives, specific advantages, and novel features of the present invention will become more apparent from the following detailed description taken in conjunction with the accompanying drawings, in which: FIG. It should be noted that, in the present specification, the reference numerals are added to the constituent elements of the drawings, and the same constituent elements are assigned the same number as much as possible even if they are displayed on different drawings. Also, the terms "one side," " first, "" first," " second, "and the like are used to distinguish one element from another, no. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS In the following description of the present invention, detailed description of related arts which may unnecessarily obscure the gist of the present invention will be omitted.

이하, 첨부된 도면을 참고하여, 본 발명에 따른 GPGPU(General purpose graphics processing units)를 이용한 데이터 익명화의 병렬적 처리방법에 대해 보다 상세히 설명할 것이며, GPGPU는 그래픽 연산에 적합하도록 다수의 코어를 가지고 있어 병렬처리에 적합한 그래픽 프로세싱 유닛(GPU)의 병렬처리 능력을 범용적으로 사용하는 기술을 의미한다. Hereinafter, a parallel processing method of data anonymization using general purpose graphics processing units (GPGPU) according to the present invention will be described in detail with reference to the accompanying drawings. The GPGPU has a plurality of cores Which means a general-purpose technology that uses the parallel processing capability of a graphics processing unit (GPU) suitable for parallel processing.

또한, 데이터의 일반화는 프라이버시 보호를 위하여, 원본 데이터를 구성하는 준식별자(Quasi-Identifier), 상기 준식별자로 구성된 범주 트리 등을 이용하여, 데이터의 범위를 확장하는 것을 의미한다.The generalization of data means extending the range of data by using a quasi-identifier constituting original data and a category tree constituted of the quasi-identifiers in order to protect privacy.

도 1은 본 발명의 일 실시 예에 따른 GPGPU를 이용한 데이터 익명화의 병렬적 처리방법에 대한 흐름도이며, 본 발명인 GPGPU를 이용한 데이터 익명화의 병렬적 처리방법은 익명화 정보의 입력단계, 익명화 정보의 일반화 단계 및 프라이버시 검증단계를 포함한다. FIG. 1 is a flowchart of a parallel processing method of data anonymization using a GPGPU according to an embodiment of the present invention. The parallel processing method of data anonymization using the GPGPU of the present invention includes an input step of anonymization information, And a privacy verification step.

도 1에 도시된 바와 같이, 먼저 적어도 하나 이상의 데이터 레코드 구성되는 원본 데이터, 상기 원본 데이터를 구성하는 각각의 준식별자에 대한 범주 트리와 상기 범주 트리의 조합으로 구성되는 탐색 격자를 입력받는다(S100, 익명화 정보의 입력단계).As shown in FIG. 1, first of all, source data composed of at least one data record, a category tree for each of the semi-identifiers constituting the original data, and a search grid composed of a combination of the category tree are inputted (S100, Anonymization information input step).

여기에서, 1) 원본 데이터는 마이크로데이터(microdata)로 구성될 수 있으며, 상기 마이크로데이터는 레코드 하나가 한 명의 개인을 나타내는 데이터를 의미한다. 2) 준식별자는 개인을 특정할 수는 없지만, 개인의 특성을 나타내는 정보(Quasi-identifier)를 의미한다. 일 예로, 생년월일, 성별, 주소 등을 조합할 경우 개인을 식별할 수 있는데, 이와 같이 개인을 특정할 수는 없지만 개인의 특성을 나타내는 정보를 준식별자라 한다. 3) 범주 트리는 준식별자 값의 일반화 수준을 단계별로 나타낸 트리이다. 4) 탐색 격자는 각 준식별자별 범주 트리 높이의 조합으로 구성되며, 최하위 노드는 모든 준식별자(속성)의 원본값으로 이루어져 있고, 최상위 노드는 모든 준식별자(속성)들의 최대 일반화 값의 조합으로 이루어지며, 각 노드는 현재 자신이 가지고 있는 속성값들 중 하나를 한 단계 더 일반화한 노드들을 부모로 가진다.Here, 1) original data may be composed of microdata, and the microdata means data in which one record represents one individual. 2) A quasi-identifier is a quasi-identifier that can not specify an individual but is a characteristic of an individual. For example, when the date of birth, sex, address, etc. are combined, the individual can be identified. 3) The category tree is a tree showing the generalization level of the semi-identifier value step by step. 4) The search grid consists of a combination of the category tree height for each quasi-identifier, the lowest node consists of the original values of all quasi identifiers (attributes), and the top node is the combination of the maximum generalizations of all quasi identifiers Each node has one of the attribute values of the current node as a parent node.

다음으로, GPGPU를 효율적으로 활용하기 위하여, 원본 데이터와 상기 각각의 준식별자에 대한 범주 트리를 GPU에서 이용하기 적합한 자료구조로 변형한다. Next, in order to utilize the GPGPU effectively, the original data and the category tree for each of the quasi-identifiers are transformed into a data structure suitable for use in the GPU.

먼저, 기설정된 치환 테이블을 기초로 하여, 상기 원본 데이터를 구성하는 데이터와 문자열을 정수 형태의 식별값으로 치환한다(S110). 그래픽 프로세싱 유닛(GPU)에서 연산을 하기 위해서는 중앙처리장치(CPU)의 메모리에서 필요한 값들을 복사해야 하고, 연산이 끝난 후에는 다시 결과값을 중앙처리장치(CPU)의 메모리로 복사하여야 한다.First, based on the preset replacement table, the data and the string constituting the original data are replaced with identification values of the integer type (S110). In order to perform operations in the GPU, it is necessary to copy the necessary values from the memory of the central processing unit (CPU), and after the operation is finished, copy the result to the memory of the central processing unit (CPU).

이때, 임의의 문자열과 같은 크기가 일정하지 않은 데이터가 있을 경우, 그 크기를 정확히 알기 어렵다. 그리고, 값을 치환함으로써, 해당 속성의 크기가 줄어들어 복사해야 할 메모리의 크기를 줄일 수 있다. 또한, 문자열은 비교연산을 할 때, 문자열의 길이만큼 비교해야 하기 때문에, 긴 문자열을 하나의 숫자값으로 치환하는 것이 더 효율적이다. At this time, if there is uneven data of the same size as an arbitrary character string, it is difficult to know the size accurately. By replacing the value, the size of the attribute is reduced, and the size of the memory to be copied can be reduced. Also, since a string must be compared with the length of a string when performing a comparison operation, it is more efficient to replace a long string with a single numerical value.

예를 들면, 도 2a 내지 2d에 도시된 바와 같이, 기설정된 '성별'에 대한 치환 테이블(도 2a) 과 '국가'에 대한 치환 테이블(도 2b)을 기준으로, 원본 데이터(도 2c)를 구성하는 각 데이터 레코드(R)의 문자열에 대응되는 상기 치환 테이블 상의 정수 형태의 식별값(id)으로 치환한다. For example, as shown in FIGS. 2A to 2D, original data (FIG. 2C) is generated based on a substitution table (FIG. 2A) for a predetermined 'sex' and a substitution table (Id) of the integer type on the substitution table corresponding to the character string of each data record R constituting it.

다음으로, GPU는 선형 자료 구조에 최적화되어 있기 때문에, 비선형 구조인 트리를 사용하기에 적합하지 않으므로, 상기 준식별자의 범주 트리를 GPU의 메모리로 복사하기 전에 상기 각각의 준식별자에 대한 트리 구조의 범주 트리를 선형형태의 범주 트리 구조로 변환한다(S120).Next, since the GPU is optimized for a linear data structure, it is not suitable to use a tree that is a nonlinear structure. Therefore, before copying the category tree of the quasi-identifier into the memory of the GPU, The category tree is converted into a category tree structure in a linear form (S120).

즉, 도 3a에 도시된 '나이'를 나타내는 준식별자에 대한 비선형적인 트리 구조의 범주 트리(7개의 노드로 구성)를, 도 3b에 도시된 상기 준식별자에 대한 범주 트리의 선형적 자료 구조로 변환할 수 있다. That is, a category tree (composed of seven nodes) of a non-linear tree structure with respect to a semi-identifier indicating 'age' shown in FIG. 3A is divided into a linear data structure of a category tree for the quasi-identifier shown in FIG. Can be converted.

예를 들면, '65세'를 1단계로 일반화(익명화)할 경우, 상기 트리 구조의 범주 트리를 이용할 경우, 3개의 노드([0~80]노드 -> [40~80]노드 -> [60 ~80]노드)를 방문하지만, 상기 선형 구조로 변환된 범주 트리를 이용할 경우에는 7개의 노드( ID : 0 ~ 6)를 방문할 수 있다. For example, when the '65 years old' is generalized (anonymized) in one step, when using the category tree of the tree structure, three nodes ([0-80] -> [40-80] 60 to 80] node), but when using the category tree converted into the linear structure, seven nodes (ID: 0 to 6) can be visited.

그리고, 그래픽 프로세싱 유닛(GPU)을 통해, 상기 탐색 격자를 기초로 하여, 상기 선형형태의 범주 트리를 너비 우선 방식으로 탐색하여, 상기 데이터 레코드에 대한 익명화를 병렬적으로 수행함으로써(S130), 상기 데이터 레코드에 대한 일반화 데이터를 생성한다. Then, the category tree of the linear form is searched in a width-wise manner on the basis of the search grid through a graphics processing unit (GPU), and anonymization of the data record is performed in parallel (S130) Generates generalized data for a data record.

즉, 비선형 형태의 범주 트리를 이용하여, 중앙처리장치(CPU)에서 원본 데이터를 일반화할 경우, 상기 데이터 레코드에 대한 일반화는 한 개씩 이루어지지만, 그래픽 프로세싱 유닛(GPU)을 이용하여 일반화할 경우, 한 번에 수천 개의 레코드를 동시에 익명화할 수 있다. GPGPU를 이용하여, 일반화를 완료한 후에 그래픽 프로세싱 유닛(GPU)의 메모리에 있는 상기 데이터 레코드에 대한 일반화 데이터를 중앙처리장치(CPU)의 메모리에 복사한다. That is, when generalizing the original data in the central processing unit (CPU) using the category tree of the non-linear type, generalization of the data record is performed once, but when generalization is performed using a graphics processing unit (GPU) Thousands of records can be anonymized at the same time. GPGPU is used to copy the generalized data for the data record in the memory of the graphics processing unit (GPU) to the memory of the central processing unit (CPU) after completing the generalization.

즉, 1) 도 4a와 도 4b에 도시된 바와 같이, 제1 데이터셋(Adult dataset)을 5-anonymity 모델로 익명화했을 때, 상기 제1 데이터셋의 준식별자의 개수에 따른 익명화를 중앙처리장치(CPU)를 이용한 연산(도 4b의 a1)과 그래픽 프로세싱 유닛(GPU)을 이용한 연산(도 4b의 b1)을 비교했을 경우, 상기 준식별자의 수가 증가할수록, 중앙처리장치(CPU)로 연산을 수행하는 경우보다, 그래픽 프로세싱 유닛(GPU)으로 연산을 수행하는 속도가 더 빨라지는 것을 확인할 수 있다. 4A and 4B, when the first data set is anonymized with the 5-anonymity model, anonymization according to the number of the semi-identifiers of the first data set is performed by the central processing unit (A1 in FIG. 4B) and an operation using the graphics processing unit (GPU) (b1 in FIG. 4B) are compared with each other, It can be seen that the speed of performing operations with the graphics processing unit (GPU) is faster than with the GPU.

예를 들면, 도 4a에 도시된 바와 같이, 준식별자의 개수가 '3'일 때의 중앙처리장치(CPU)와 그래픽 프로세싱 유닛(GPU)의 연산속도의 비(CPU/GPU)는 '1.479' 인 반면, 준식별자의 개수가 '7'일 때의 중앙처리장치(CPU)와 그래픽 프로세싱 유닛(GPU)의 연산속도의 비(CPU/GPU)는 '2.567'로, 준식별자의 수가 증가할수록, 중앙처리장치(CPU)로 연산을 수행하는 경우보다, 그래픽 프로세싱 유닛(GPU)으로 연산을 수행하는 속도가 더 빨라지는 것을 확인할 수 있다.For example, as shown in FIG. 4A, the CPU / GPU ratio of the central processing unit (CPU) and the graphics processing unit (GPU) when the number of the semi-identifiers is '3' (CPU / GPU) of the central processing unit (CPU) and the graphics processing unit (GPU) is '2.567' when the number of quasi identifiers is '7'. As the number of quasi identifiers increases, It can be confirmed that the speed of performing the operation in the graphics processing unit (GPU) is faster than in the case of performing the operation in the central processing unit (CPU).

또한, 2) 도 5a와 도 5b에 도시된 바와 같이, 제2 데이터셋(HIRA-NPS dataset)을 10-anonymity 모델로 익명화했을 때, 상기 제1 데이터셋의 준식별자의 개수에 따른 익명화를 중앙처리장치(CPU)를 이용하여 연산했을 때(도 5b의 a2)와 그래픽 프로세싱 유닛(GPU)으로 연산하는 경우(도 5b의 b2)를 비교했을 경우, 상기 준식별자의 수가 증가할수록, 중앙처리장치(CPU)로 연산을 수행하는 경우보다, 그래픽 프로세싱 유닛(GPU)으로 연산을 수행하는 속도가 더 빨라지는 것을 확인할 수 있다. As shown in FIGS. 5A and 5B, when an HIRA-NPS dataset is anonymized with a 10-anonymity model, anonymization according to the number of quasi-identifiers of the first data set is performed at the center When a calculation is performed using a processing unit (CPU) (a2 in FIG. 5B) and when a calculation is performed with a graphics processing unit (GPU) (b2 in FIG. 5B), as the number of quasi identifiers increases, It can be seen that the speed of performing operations in the graphics processing unit (GPU) is faster than in the case of performing operations with the CPU (CPU).

예를 들면, 도 5a에 도시된 바와 같이, 준식별자의 개수가 '3'일 때의 중앙처리장치(CPU)와 그래픽 프로세싱 유닛(GPU)의 연산속도의 비(CPU/GPU)는 '2.829' 인 반면, 준식별자의 개수가 '6'일 때의 중앙처리장치(CPU)와 그래픽 프로세싱 유닛(GPU)의 연산속도의 비(CPU/GPU)는 '3.663'로, 준식별자의 수가 증가할수록, 중앙처리장치(CPU)로 연산을 수행하는 경우보다, 그래픽 프로세싱 유닛(GPU)으로 연산을 수행하는 속도가 더 빨라지는 것을 확인할 수 있다. For example, as shown in FIG. 5A, the CPU / GPU ratio (CPU / GPU) of the central processing unit (CPU) and the graphic processing unit (GPU) when the number of the semi- (CPU / GPU) of the central processing unit (CPU) and the graphics processing unit (GPU) is '3.663' when the number of quasi identifiers is '6' It can be confirmed that the speed of performing the operation in the graphics processing unit (GPU) is faster than in the case of performing the operation in the central processing unit (CPU).

마지막으로, 상기 원본 데이터의 데이터 레코드에 대한 일반화 데이터를 상기 기설정된 프라이버시 모델과 비교하는 과정을 반복적으로 수행한다(S140). 탐색 격자는 동적계획법을 이용하여, 프라이버시 모델을 만족하지 못하는 탐색 격자 노드의 부모노드를 탐색하며, 탐색을 종료한 후 프라이버시 모델을 만족한 데이터 중 가장 정보손실이 적은 데이터를 반환한다. Finally, the process of comparing the generalized data of the data record of the original data with the predetermined privacy model is repeatedly performed (S140). The search grid searches the parent node of the search lattice node that does not satisfy the privacy model, and returns data with the least information loss among the data satisfying the privacy model after ending the search.

이상 본 발명을 구체적인 실시 예를 통하여 상세히 설명하였으나, 이는 본 발명을 구체적으로 설명하기 위한 것으로, 본 발명에 따른 GPGPU를 이용한 데이터 익명화의 병렬적 처리방법은 이에 한정되지 않으며, Incognito 뿐만 아니라 일반화를 이용하는 다른 익명화 알고리즘에 적용될 수 있다. While the present invention has been described in detail with reference to the specific embodiments thereof, it is to be understood that the present invention is not limited to the above-described embodiments. The present invention is not limited to the parallel processing method of data anonymization using GPGPU according to the present invention. It can be applied to other anonymization algorithms.

또한, 상술한 데이터 익명화의 병렬적 처리 방법은 GPU가 포함되는 컴퓨팅 환경을 제공하는 PC(personal computer) 등과 같은 컴퓨팅 시스템 또는 데이터 처리 시스템(data processing system)에서 구현될 수 있다.In addition, the parallel processing method of data anonymization described above can be implemented in a computing system or a data processing system such as a personal computer (PC) that provides a computing environment including a GPU.

본 발명의 기술적 사상 내에서 당해 분야의 통상의 지식을 가진 자에 의해 그 변형이나 개량이 가능함은 명백하다고 할 것이다. 본 발명의 단순한 변형 내지 변경은 모두 본 발명의 영역에 속하는 것으로 본 발명의 구체적인 보호범위는 첨부된 특허청구범위에 의하여 명확해질 것이다.It will be apparent to those skilled in the art that variations and modifications may be made without departing from the scope of the present invention. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims.

Claims (4)

삭제delete 그래픽 프로세싱 유닛(Graphics Processing Unit; GPU)을 포함하는 데이터 처리 시스템에서 수행되는, GPGPU(General Purpose Graphics Processing Unit)를 이용한 데이터 익명화의 병렬적 처리 방법에 있어서,
적어도 하나 이상의 데이터 레코드로 구성되는 원본 데이터, 상기 원본 데이터를 구성하는 각각의 준식별자(Quasi-Identifier)에 대한 범주 트리, 및 상기 범주 트리의 조합으로 구성되는 탐색 격자를 입력받는 익명화 정보의 입력단계;
상기 그래픽 프로세싱 유닛(GPU)을 통해, 상기 준식별자에 대한 범주 트리와 상기 탐색 격자를 이용하여, 상기 각각의 데이터 레코드에 대한 익명화를 병렬적으로 수행함으로써, 상기 데이터 레코드에 대한 일반화 데이터를 생성하는 익명화 정보의 일반화 단계; 및
상기 데이터 레코드에 대한 일반화 데이터를 기설정된 프라이버시 모델과 비교하는 프라이버시 검증단계를 포함하고,
상기 익명화 정보의 일반화 단계는,
기설정된 치환 테이블을 기초로 하여, 상기 원본 데이터를 구성하는 데이터 와 문자열을 정수 형태의 식별값으로 치환하는 단계;
상기 각각의 준식별자에 대한 트리 구조의 범주 트리를 선형 형태의 범주 트리 구조로 변환하는 단계; 및
상기 그래픽 프로세싱 유닛을 통해, 상기 탐색 격자를 기초로 하여, 상기 선형 형태의 범주 트리를 너비우선 방식으로 탐색하여, 상기 데이터 레코드에 대한 익명화를 병렬적으로 수행하여, 상기 데이터 레코드에 대한 일반화 데이터를 생성하는 단계를 포함하는,
GPGPU(General Purpose Graphics Processing Unit)를 이용한 데이터 익명화의 병렬적 처리 방법.
A parallel processing method of data anonymization using General Purpose Graphics Processing Unit (GPGPU), which is performed in a data processing system including a graphics processing unit (GPU)
An input step of inputting an anonymizing information for inputting original data composed of at least one data record, a category tree for each quasi-identifier constituting the original data, and a search grid composed of a combination of the category trees ;
Generating generalized data for the data record by performing an anonymization for each of the data records in parallel using the category tree and the search grid for the quasi-identifiers via the graphics processing unit (GPU) Generalization of anonymization information; And
And a privacy verification step of comparing generalized data for the data record with a predetermined privacy model,
The generalization of the anonymization information may include:
Replacing the data and the string constituting the original data with an identification value of an integer type based on a preset replacement table;
Converting a category tree of the tree structure for each of the semi-identifiers into a category tree structure of a linear shape; And
Searching the category tree of the linear form in a breadth first manner on the basis of the search grid through the graphic processing unit and parallelizing anonymization of the data record to obtain generalized data for the data record ≪ / RTI >
A Parallel Processing Method of Data Anonymization Using GPGPU (General Purpose Graphics Processing Unit).
제2항에 있어서,
상기 정수 형태의 식별값으로 치환하는 단계와 상기 선형 형태의 범주 트리 구조로 변환하는 단계는 상기 데이터 처리 시스템에 포함되는 CPU(Central Processing Unit)에 의해 수행되는,
GPGPU를 이용한 데이터 익명화의 병렬적 처리 방법.
3. The method of claim 2,
Wherein the step of replacing the category tree with the identification value of the integer type and the step of converting into the category tree structure of the linear type are performed by a CPU (Central Processing Unit) included in the data processing system,
A Parallel Processing Method of Data Anonymization Using GPGPU.
제3항에 있어서,
상기 익명화 정보의 일반화 단계는 상기 일반화 데이터가 상기 프라이버시 모델에 적합할 때까지 반복적으로 수행되는,
GPGPU를 이용한 데이터 익명화의 병렬적 처리 방법.
The method of claim 3,
Wherein the generalization of the anonymization information is performed repeatedly until the generalized data is suitable for the privacy model.
A Parallel Processing Method of Data Anonymization Using GPGPU.
KR1020160075467A 2016-06-17 2016-06-17 Parallel processing method of data anonymization using gpgpu KR101804426B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160075467A KR101804426B1 (en) 2016-06-17 2016-06-17 Parallel processing method of data anonymization using gpgpu

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160075467A KR101804426B1 (en) 2016-06-17 2016-06-17 Parallel processing method of data anonymization using gpgpu

Publications (1)

Publication Number Publication Date
KR101804426B1 true KR101804426B1 (en) 2017-12-05

Family

ID=60920793

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160075467A KR101804426B1 (en) 2016-06-17 2016-06-17 Parallel processing method of data anonymization using gpgpu

Country Status (1)

Country Link
KR (1) KR101804426B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101948603B1 (en) 2017-07-21 2019-02-15 고려대학교 산학협력단 Anonymization Device for Preserving Utility of Data and Method thereof
KR20200062737A (en) 2018-11-27 2020-06-04 디노플러스 (주) Health care information anonymization system and method thereof

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013540313A (en) 2010-09-30 2013-10-31 アノナ コーポレーション ソシエテ アノニム System, method and computer readable medium for distributing target data using anonymous profile

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013540313A (en) 2010-09-30 2013-10-31 アノナ コーポレーション ソシエテ アノニム System, method and computer readable medium for distributing target data using anonymous profile

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
권용진 외 2인, ‘실제 의료 데이터 분석을 통한 데이터 익명화 방법 제시’, 한국정보과학회 학술발표논문집, Vol.38, No.1(C), 2011.06, pp.80-83
조병길 외 3인, ‘중복제거 알고리즘 가속화를 위한 GPGPU 병렬화 기법’, 한국정보과학회 학술발표논문집, 2014.12, pp.1246-1248

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101948603B1 (en) 2017-07-21 2019-02-15 고려대학교 산학협력단 Anonymization Device for Preserving Utility of Data and Method thereof
KR20200062737A (en) 2018-11-27 2020-06-04 디노플러스 (주) Health care information anonymization system and method thereof

Similar Documents

Publication Publication Date Title
TWI616762B (en) Dynamic data masking method and data library system
US20130138698A1 (en) Identity information de-identification device
US11630853B2 (en) Metadata classification
JP5626733B2 (en) Personal information anonymization apparatus and method
JP6755864B2 (en) Database security
US20220286509A1 (en) Dynamic routing of file system objects
US10482263B2 (en) Computing on encrypted data using deferred evaluation
US20180144061A1 (en) Edge store designs for graph databases
JP6940239B2 (en) Methods and systems for anonymizing data stock
Zhang et al. Scalable local-recoding anonymization using locality sensitive hashing for big data privacy preservation
Zhang et al. SaC‐FRAPP: a scalable and cost‐effective framework for privacy preservation over big data on cloud
US20180357278A1 (en) Processing aggregate queries in a graph database
CN114969819A (en) Data asset risk discovery method and device
KR101804426B1 (en) Parallel processing method of data anonymization using gpgpu
CN110720097A (en) Functional equivalence of tuples and edges in graph databases
US10885453B2 (en) Calculation device, calculation method, and non-transitory computer-readable recording medium
US20210004360A1 (en) Indexing structured data with security information
Jeon et al. Distributed L-diversity using spark-based algorithm for large resource description frameworks data
US20180349443A1 (en) Edge store compression in graph databases
US20180144060A1 (en) Processing deleted edges in graph databases
US20230153455A1 (en) Query-based database redaction
US20180121512A1 (en) Encoding edges in graph databases
JP2013149056A (en) Method, apparatus, and program for processing computer-assisted name identification
Lin et al. Anonymization of multiple and personalized sensitive attributes
Raj et al. Scalable two-phase top-down specification for big data anonymization using apache pig

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant