KR102379331B1 - 익명성 확보와 정보손실 제어를 위한 빈도표 생성 및 제공방법 - Google Patents

익명성 확보와 정보손실 제어를 위한 빈도표 생성 및 제공방법 Download PDF

Info

Publication number
KR102379331B1
KR102379331B1 KR1020210090073A KR20210090073A KR102379331B1 KR 102379331 B1 KR102379331 B1 KR 102379331B1 KR 1020210090073 A KR1020210090073 A KR 1020210090073A KR 20210090073 A KR20210090073 A KR 20210090073A KR 102379331 B1 KR102379331 B1 KR 102379331B1
Authority
KR
South Korea
Prior art keywords
value
frequency
frequency table
level
cells
Prior art date
Application number
KR1020210090073A
Other languages
English (en)
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 KR1020210090073A priority Critical patent/KR102379331B1/ko
Application granted granted Critical
Publication of KR102379331B1 publication Critical patent/KR102379331B1/ko

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Pure & Applied Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Algebra (AREA)
  • Probability & Statistics with Applications (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Operations Research (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Medical Informatics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 하나의 통계자료, 즉, 마이크로데이터(일련의 속성에 대하여 얻어진 개체별 정보 벡터를 쌓아 행렬 형태로 구축한 자료)로부터 생성 가능한 모든 빈도표를 산출할 때, 빈도값이 작은 셀에 대한 익명성을 확보하면서 동시에 빈도값이 큰 셀에서의 정보손실을 일정한 범위 이내로 제어하는 방법에 관한 것이다. 이는 랜덤 라운딩(random rounding, 무작위 반올림)에 의하여 익명성을 확보한 빈도가 작은 셀 값들을 집계할 때, 집계한 값에 대한 정보손실을 제어하면서 빈도값이 작은 셀에 대해서는 익명성을 유지하도록 고안된 방법(Information Loss Bounded Aggregation, 유계 정보손실을 가지는 작은 셀 집계 방법, 'LBA')에 관한 것으로, 더욱 상세하게는 자료 제공자와 자료 이용자의 정보를 비교하는 방법, 이를 시스템으로 구현하기 위한 자료 처리 방법, 처리한 자료의 결과를 설명하는 방법을 포함한다.
이를 위해 본 발명은, a) 빈도표를 구성하기 위한 전체 키변수(p개)와 빈도표를 산출하는 각 그룹을 구성하기 위한 가장 상세 수준의 위계변수(h개)를 이용하여 빈도표를 유형화하는 단계; b) 위계변수의 가장 상세 수준(h)과 최고 상위 수준(1) 및 모든 키변수(p)를 이용하여 생성한 빈도표를 고차원 빈도표라 할 때, 위계 변수의 가장 상세한 수준(h)에서 고차원 빈도표들을 재집계하여 상위 수준(i)에서 (i < h) 고차원 빈도표를 생성하는 단계; c) 위계변수의 가장 상세 수준(h)에서 고차원 빈도표들을 재집계하여, 모든 위계 수준에서 q개 (q < p) 키변수로 구성된 빈도표를 생성하는 단계; d) 고차원 빈도표를 통해 이용자가 추론하는 정보의 집합(D)을 규정하는 단계; e) 기준값(B)보다 작은 빈도값을 갖는 작은 셀들을 집계한 값을 비식별 처리하여 집계값을 결정할 때, 정보손실을 제어하기 위해 자연수를 길이가 기준값(B)으로 동일한 구간들로 나누고 집계 참값이 해당하는 구간의 중앙값을 제공값으로 할당하며, 이를 구간(C)로 규정하는 단계; f) 할당된 구간(C)과 이용자가 추론하는 정보의 집합(D)을 비교 후, 익명성 확보 및 노출위험 제어를 위해 상기 할당된 구간(C)을 이웃 구간으로 조정하는 단계; g) 조정된 값이 빈도값이 작은 셀이 되는 경우 값을 기준값(B)으로 재조정하는 단계; 및 h) 빈도값이 기준값(B)보다 작은 셀의 집계 값을 결정하고, 빈도값이 기준값(B)보다 큰 셀을 사후에 더하여 전체 합을 계산하는 단계를 포함한다.

Description

익명성 확보와 정보손실 제어를 위한 빈도표 생성 및 제공방법{The method of generating and providing frequency tables for securing anonymity and controlling information loss}
본 발명은 하나의 통계자료, 즉, 마이크로데이터(일련의 속성에 대하여 얻어진 개체별 정보 벡터를 쌓아 행렬 형태로 구축한 자료)로부터 생성 가능한 모든 빈도표를 산출할 때, 빈도값이 작은 셀에 대한 익명성을 확보하면서 동시에 빈도값이 큰 셀에서의 정보손실을 일정한 범위 이내로 제어하는 방법에 관한 것이다. 이는 랜덤 라운딩(random rounding, 무작위 반올림)에 의하여 익명성을 확보한 빈도가 작은 셀 값들을 집계할 때, 집계한 값에 대한 정보손실을 제어하면서 빈도값이 작은 셀에 대해서는 익명성을 유지하도록 고안된 방법(Information Loss Bounded Aggregation, 유계 정보손실을 가지는 작은 셀 집계 방법, 이하 'LBA'라 한다)에 대한 것으로, 더욱 상세하게는 자료 제공자와 자료 이용자의 정보를 비교하는 방법, 이를 시스템으로 구현하기 위한 자료 처리 방법, 처리한 자료의 결과를 설명하는 방법을 포함한다.
최근 다양한 통계자료를 이용자들이 손쉽게 이용할 수 있도록 제공하는 노력이 활발하게 나타나고 있다. 특히 정부 각 부처에서는 공개용 자료 분석을 위한 온라인 플랫폼을 제공하거나, 이용자가 방문하여 인가용 자료를 분석할 수 있도록 데이터센터를 운영하고 있다. 다만 자료를 광범위하게 이용할 때, 분석을 위해 제공하는 자료 및 이를 분석하여 공표·반출하는 통계(자료분석결과)에 의하여 개인정보 노출이 발생할 수 있다. 이를 방지하기 위한 기법을 연구하는 분야를 데이터 정보보호(Data Privacy) 또는 통계적 비밀보호 노출제어(Statistical Data Confidentiality, Statistical Disclosure Control)라고 부른다.
이를 각국 통계기관에서는 전통적으로 매스킹(masking) 기법이라고 지칭하였으며, 최근 국내 각 기관에서는 비식별화 기법이라고 부르고 있다. 데이터 정보보호는 전통적인 매스킹(비식별화) 처리뿐만 아니라 최신 기법인 재현자료(synthetic data) 생성, 차등정보보호(differential privacy) 적용 등을 포괄하는 용어이다. 여기서는 데이터 정보보호, 통계적 비밀보호 노출제어, 매스킹, 비식별화를 같은 의미로 사용한다.
빈도표는 빈도표를 구성하는 변수 조합에 의해 생기는 셀마다 해당 빈도를 기재하여 작성하게 되며, 이용자에게 상기 빈도표를 제공할 때 아무런 조치없이 각 셀의 참값을 그대로 제공한다면, 셀의 값이 작은 경우 개인이 특정되거나 민감한 정보가 드러날 수 있는 문제가 있다.
예를 들어, 특정 아파트 단지에 거주하는 이용자가 몇몇 변수에 대한 빈도표를 동별로 산출할 수 있다고 가정하고, 이용자가 성별, 연령, 교육수준, 혼인정보를 선택하여 빈도표를 작성하여 다음과 같은 결과를 얻는 경우를 생각할 수 있다고하자.
선택조건1 : A동 + 남 + 50세 + 박사 → 빈도 : 1
선택조건2 : A동 + 남 + 50세 + 박사 + 이혼 → 빈도 : 1
이 예에서 A동에 사는 어떤 사람이 선택조건1을 통하여 박사인 이웃을 특정할 수 있고, 선택조건2를 통하여 그 사람이 이혼했다는 정보를 파악할 수 있으므로 빈도표 제공으로 인하여 개인정보보호에 문제가 발생하는 것을 알 수 있다. 만약 이 예제에서 산출된 빈도가 충분히 크다면 익명성이 확보되어 노출위험이 낮다고 판단할 수 있을 것이다.
선택조건에 사용된 변수들(성별, 연령, 교육수준, 혼인정보)의 범주 조합에 의하여 빈도표를 생성할 때, 개인정보보호를 위해서는 주어진 기준값 B보다 빈도값이 작은 셀에 대해서 그 결과를 제공하지 않을 필요가 있다. 예를 들어 기준값 B = 5일 때, 이용자가 빈도값이 작은 셀에 대해 5보다 작은 값이라는 것은 알지만 1~4중에서 어느 값인지 특정할 수 없다면, 빈도값이 작은 셀의 값에 대하여 익명성이 어느 정도 확보되며 동시에 노출위험도 제어되는 것으로 판단할 수 있다.
따라서 개인정보 노출을 방지하기 위하여 빈도값이 기준값 B보다 작은 셀들을 적절히 변형하고, 그 값이 특정되지 않도록 처리하는 과정이 필요하다. 우리나라 통계청에서는 빈도값이 작은 셀을 판단하는 기준 값 B로서, 인구, 가구 자료에 대해서는 5를, 사업체 자료에 대해서는 3을 사용하는 경향이 있다. 위의 예에서는 5보다 작은 값을 N/A라고 표기하거나(local suppression), 0 또는 5의 값으로 랜덤 라운딩(random rounding)할 수 있다. 참고로 빈도값이 작은 셀만 랜덤 라운딩하고 큰 셀은 그대로 제공하는 기법을 작은 셀 조정(small cell adjustments, SCA)이라고 하는데, 하나의 마이크로데이터에서 하나의 빈도표를 작성하는 경우 빈도값이 작은 셀에 대하여 감추기 또는 랜덤 라운딩을 수행하는 것으로 충분할 수 있다. 그러나 여러 개의 빈도표를 생성하는 경우 빈도값이 작은 셀에 대하여 익명성을 확보하기 어려운 문제가 있다.
이 어려움을 이해하기 위한 예를 설명하면 다음과 같다. 앞의 예에서 빈도값이 5 미만을 N/A로 표기하고 다양한 빈도표를 제공한다고 가정하면 다음과 같은 경우가 발생할 수 있다.
선택조건1 : A동 + 남 + 50세 + 박사 + 이혼 → 빈도 : N/A
선택조건2 : A동 + 남 + 50~65세 + 박사 + 기혼 → 빈도 : 5
선택조건3 : A동 + 남 + 50~65세 + 박사 + 기혼 및 이혼 → 빈도 : 6
선택조건4 : A동 + 남 + 51~65세 + 박사 + 기혼 및 이혼 → 빈도 : 5
.
.
이를 통하여 다음과 같이 빈도표를 구성할 수 있다.
A동, 남, 박사 50세 51~65세 50~65세(margin)
기혼 5 (조건2)
이혼 N/A (조건1)
기혼 및 이혼
(margin)
5 (조건4) 6 (조건3)
조건 2~4, 조건 2 및 3의 차이, 조건 3 및 4의 차이를 통해 아래 [표 2]의 빈도표에서 주변합(marginal cells)을 결정할 수 있다. 또한 주변합을 통해 기울어진 글꼴로 표현된 내부 빈도값(interior cells)의 값을 알아낼 수 있다. 이로써 아래 [표 2]에 나타난 모든 빈도값이 작은 셀 값이 노출되지 않도록 N/A라고 표기하더라도, 결국 모두 노출되는 문제가 있음을 알 수 있다.
A동, 남, 박사 50세 51~65세 50~65세(margin)
기혼 0 5 5
이혼 1 0 1
기혼 및 이혼
(margin)
1 5 6
따라서, 하나의 마이크로데이터에서 다수의 빈도표를 작성할 때, 개인정보보호를 위하여 익명성 확보를 가능하게 하는 매스킹 처리 방안을 찾는 것은 쉽지 않은 문제로 여겨지고 있다.
이와 같이, 데이터 프라이버시 또는 개인정보보호 규정 준수를 위하여 통계기관은 빈도값이 작은 셀의 값을 노출시키지 않는 것이 바람직하다. 따라서, 기준값 B보다 빈도값이 작은 셀의 값을 N/A로 표기하거나, 0 또는 B로 랜덤 라운딩(random rounding, 확률적 반올림)으로 변환하고 자료를 제공할 필요가 있는 것이다.
다른 모든 빈도표를 생성하는데 사용되는 상세수준 고차원 빈도표는 기존에 알려진 방식으로 매스킹 처리를 한다. 그러나 이 상세수준 고차원 빈도표를 집계하여 상위수준 고차원 빈도표나 모든 수준의 저차원 빈도표를 집계할 때는 상세수준 고차원 빈도표의 작은 셀 값을 보호하기 어렵다.
간단한 예를 들면 다음 [표 3]과 같다. 기준값 B = 5일 때, 상세수준 고차원 빈도표가 총 5개의 셀로 구성되어 있고, 각 셀에서 빈도 참값이 모두 1이고, 이들이 모두 우연히 5로 변환되었다고 하자. 이용자는 제공받은 5라는 값 및 랜덤 라운딩을 사용하여 매스킹 처리를 수행하였다는 정보를 이용해, 참값은 1~5 사이의 값임을 알 수 있다.
만약 상위수준 고차원 빈도표에서 해당 셀은 작은 셀이 아니므로 참값 5를 그대로 제공한다면, 이용자는 합이 5이고, 각각은 1~5인 5개의 숫자라는 정보를 통하여 보호하고자 했던 작은 셀의 참값 1을 모두 파악할 수 있다. 반대로 상세수준 고차원 빈도표의 제공값을 그대로 더하여 25를 제공한다면 상위수준 고차원 빈도표는 정보손실이 매우 큰 결과를 초래할 우려가 있게 된다.
상세수준 고차원 빈도표 상위수준 고차원 빈도표
참값 1 1 1 1 1 5
제공값 5 5 5 5 5 ?
Hundepool, A., Domingo-Ferrer, J., Franconi, L., Giessing, S., Nordhold, E. S., Spicer, K. and de Wolf, P. P. (2012). Statistical Disclosure Control, John Wiley & Sons. Shlomo, N. (2007). Statistical disclosure control methods for census frequency tables, International Statistical Review, 75(2), 199-217. Park, M.-J. (2018). Bounded small cell adjustments for flexible frequency table generators, In: Domingo-Ferrer, J. and Montes, F. (eds.) PSD 2018. LNCS, vol. 11126, 13-27. Springer, Cham. 박민정, 신우람, 박천영, 서영오 (2018). 『그리드별 통계서비스의 비밀보호 방안』, 통계청 통계개발원. (2019년 4월 발간)
통계기관은 하나의 마이크로데이터(각 항목에 대한 개체의 정보로 구성된 레코드를 쌓은 자료)에 대하여 이용자의 요청에 따라 생성한 빈도표를 제공하게 되는데, 만약 빈도표에서 1인 값이 존재하면 빈도표를 구성하는 항목의 정보에 대하여 개인이 특정되고, 민감 정보가 노출될 수 있는 문제가 있다.
따라서 각국 통계기관은 전통적으로 빈도표에서 작은 값은 제공되지 않도록 하기 위하여 일정한 자료처리 과정을 수행해 왔다. 참고로 국내에서 개인정보보호를 위한 자료처리 기법을 지칭하는 용어로, 통계청에서는 주로 매스킹(masking) 기법을 사용해왔고, 그 외 기관에서는 비식별화 기법이라는 표현을 사용하는 경향이 있다.
최근 개정된 데이터 3법은 개인정보보호를 위하여 제공하는 데이터가 익명성을 만족할 것을 요구하며, 개인정보보호위원회 등 여러 부처의 가이드라인에서는 그 기준으로 익명성을 이용할 수 있다고 언급한다. 단일 빈도표를 제공할 때는 알려진 매스킹 기법을 이용하여 작은 셀의 빈도값이 드러나지 않게 할 수 있으며, 매스킹 처리를 시행한 이후 이용자가 셀의 빈도값이 작다는 것은 알지만 값이 얼마인지 특정할 수는 없으므로, 작은 셀 값에 대하여 익명성을 만족시킬 수 있다.
그러나 하나의 마이크로데이터로부터 다양한 변수 조합에 대한 다수의 빈도표를 생성하면, 얻어진 값들의 차이를 이용하여 감추려던 작은 값이 드러날 수 있는 문제가 있다. 또한 빈도표를 생성하는 변수 중에 위계구조가 존재하면 개인정보가 더욱 쉽게 노출될 수 있다. 위계구조를 가지는 변수에는 지역변수(시도, 시군구, 읍면동, 집계구) 혹은 산업분류변수(대분류, 중분류, 세분류, 세세분류) 등을 생각할 수 있다.
이용자가 여러 변수에 대해 빈도표를 손쉽게 산출할 수 있도록 통계기관이 플랫폼을 통해 자료를 제공하는 경우, 산출되는 빈도표의 차이를 통해 빈도가 작은 셀의 값이 익명성을 상실하고 개인정보가 드러날 수 있으므로, 이를 방지하기 위한 기술적 조치가 필요하다. 이러한 기술은 정보손실(원래 값과 제공 값의 차이)이 과도하지 않게 값을 제공할 수 있어야 하며, 실제 시스템에서 실시간 자료 제공을 위해 활용할 수 있도록 빠른 자료처리가 필요하다.
본 발명은 상기 종래기술이 갖는 문제를 해결하기 위해 창출된 것으로서, 하나의 통계자료, 즉 마이크로데이터(일련의 속성에 대하여 얻어진 개체별 정보 벡터를 쌓아 행렬 형태로 구축한 자료)로부터 작은 셀 조정(SCA)을 이용하여 상세수준 고차원 빈도표에 매스킹을 실시한 후, 이를 집계하여 생성 가능한 모든 빈도표를 산출할 때, 빈도값이 작은 셀에 대한 익명성을 확보하면서 동시에 빈도값이 큰 셀에서의 정보손실을 일정한 범위 이내로 제어하는 방법을 제공하고자 한다.
이를 위해 본 발명의 익명성 확보와 정보손실 제어를 위한 빈도표 생성 및 제공방법은, a) 빈도표를 구성하기 위한 전체 키변수(p개)와 빈도표를 산출하는 각 그룹을 구성하기 위한 가장 상세 수준의 위계변수(h개)를 이용하여 빈도표를 유형화하는 단계; b) 위계변수의 가장 상세 수준(h)과 최고 상위 수준(1) 및 모든 키변수(p)를 이용하여 생성한 빈도표를 고차원 빈도표라 할 때, 위계 변수의 가장 상세한 수준(h)에서 고차원 빈도표들을 재집계하여 상위 수준(i)에서 (i < h) 고차원 빈도표를 생성하는 단계; c) 위계변수의 가장 상세 수준(h)에서 고차원 빈도표들을 재집계하여, 모든 위계 수준에서 q개 (q < p) 키변수로 구성된 빈도표를 생성하는 단계; d) 고차원 빈도표를 통해 이용자가 추론하는 정보의 집합(D)을 규정하는 단계; e) 기준값(B)보다 작은 빈도값을 갖는 작은 셀들을 집계한 값을 비식별 처리하여 집계값을 결정할 때, 정보손실을 제어하기 위해 자연수를 길이가 기준값(B)으로 동일한 구간들로 나누고 집계 참값이 해당하는 구간의 중앙값을 제공값으로 할당하며, 이를 구간(C)로 규정하는 단계; f) 할당된 구간(C)과 이용자가 추론하는 정보의 집합(D)을 비교 후, 익명성 확보 및 노출위험 제어를 위해 상기 할당된 구간(C)을 이웃 구간으로 조정하는 단계; g) 조정된 값이 빈도값이 작은 셀이 되는 경우 값을 기준값(B)으로 재조정하는 단계; 및 h) 빈도값이 기준값(B)보다 작은 셀의 집계 값을 결정하고, 빈도값이 기준값(B)보다 큰 셀을 사후에 더하여 전체 합을 계산하는 단계를 포함하는 것을 특징으로 한다.
또한 본 발명의 다른 실시 예에 따른 빈도표 생성 및 제공방법은, a) 빈도표를 구성하기 위한 전체 키변수(p개)와 빈도표를 산출하는 각 그룹을 구성하기 위한 가장 상세 수준의 위계변수(h개)를 이용하여 빈도표를 유형화하는 단계; b-1) 위계변수의 가장 상세 수준(h)과 최고 상위 수준(1) 및 모든 키변수(p)를 이용하여 생성한 빈도표를 고차원 빈도표라 할 때, 수준 i의 고차원 빈도표를 계산하기 위하여 수준 h 대신 수준 j(i < j < h)의 고차원 빈도표를 생성하여 사용하는 단계; c-1) 이용자가 추론하는 정보의 집합(D)이 자료 제공자가 고차원 빈도표의 빈도값이 작은 셀에 대해 참값의 범위로 제공하는 범위를 통해 계산될 수 있도록, 상기 이용자가 추론하는 정보의 집합(D)을 얻는데 사용되는 메타 정보를 각 위계 수준의 고차원 빈도표 DB에 추가하여 저장하는 단계; c-2) 메타 정보를 활용하여 각 위계 수준의 고차원 빈도표를 재집계하여 q 개 (q < p) 키변수로 구성된 빈도표를 계산하는 단계; d) 고차원 빈도표를 통해 이용자가 추론하는 정보의 집합(D)을 규정하는 단계; e) 기준값(B)보다 작은 빈도값을 갖는 작은 셀들을 집계한 값을 비식별 처리하여 집계값을 결정할 때, 정보손실을 제어하기 위해 자연수를 길이가 기준값(B)으로 동일한 구간들로 나누고 집계 참값이 해당하는 구간의 중앙값을 제공값으로 할당하며, 이를 구간(C)로 규정하는 단계; f) 할당된 구간(C)과 이용자가 추론하는 정보의 집합(D)을 비교 후, 익명성 확보 및 노출위험 제어를 위해 상기 할당된 구간(C)을 이웃 구간으로 조정하는 단계; g) 조정된 값이 빈도값이 작은 셀이 되는 경우 값을 기준값(B)으로 재조정하는 단계; 및 h) 빈도값이 기준값(B)보다 작은 셀의 집계 값을 결정하고, 빈도값이 기준값(B)보다 큰 셀을 사후에 더하여 전체 합을 계산하는 단계를 포함하는 것을 특징으로 한다.
통계청은 인구주택총조사와 같은 하나의 전수조사 자료에서 무수히 많은 빈도표를 산출하여 일반 국민에게 제공한다. 이를 구현한 플랫폼이 SGIS(통계지리정보서비스)이다. 또한 통계데이터센터에서는 다수의 행정자료에 대하여 이용자가 산출한 빈도표의 반출을 허용한다. 빈도표 자체는 단순한 통계분석 결과의 하나이지만, 하나의 마이크로데이터에서 다수의 빈도표 산출을 허용하는 경우 개인정보보호, 데이터 정보보호에 있어 문제가 발생할 수 있다. 그렇다고 하여 다양한 빈도표의 반출을 불허하는 것은 자료 이용을 저해하는 것으로 4차 산업 혁명 시대에 걸맞지 않은 대응이다.
본 발명을 통해 빈도표를 제공할 때, 시스템을 통한 자동화된 매스킹(비식별화) 처리를 이용할 수 있으며, 빈도값이 작은 셀에 대한 기준값을
Figure 112021079201275-pat00001
라 할 때, 사전에 고정된 선택조건 하에서 기존의 매스킹 기법이 이루고자 하는 빈도값이 작은 셀에 대한 익명성을 기준값
Figure 112021079201275-pat00002
만큼 확보하면서도, 대부분의 셀에 대한 정보손실을
Figure 112021079201275-pat00003
이하로 제어할 수 있다.
또한. 노출위험이 높은 셀을 자동으로 선별하여 정보손실을 기준값
Figure 112021079201275-pat00004
만큼 추가로 발생시킴으로써, 원래 의도한 익명성을 유지할 수 있다.
더불어, 실제 시스템에서 데이터베이스를 관리하는 방식을 반영하였으므로, 과중한 계산 부담을 발생시키지 않는 장점이 있다.
즉, 노출위험과 정보손실을 정량적으로 제어하되, 실제 시스템에서 기존의 빈도표 산출 과정을 크게 바꾸지 않는 특성상 정보 제공 속도의 문제 또한 해결할 수 있어, 정량적인 데이터 정보보호 기법으로 널리 활용될 수 있다.
도 1은 본 발명에 따른 익명성 확보와 정보손실 제어를 위한 빈도표 생성 및 제공방법을 나타내는 흐름도.
도 2는 본 발명에 따라 빈도값이 작은 셀을 집계한 결과인
Figure 112021079201275-pat00005
를 구성하는 순서도.
도 3은 본 발명에 따라 정보손실을 제어하기 위하여 자연수를 기준값 B 단위의 구간으로 나누고,
Figure 112021079201275-pat00006
가 속한 구간의 중앙값을
Figure 112021079201275-pat00007
로 결정하는 과정을 나타내는 도면.
도 4는 본 발명에 따라 이용자가 얻는 정보
Figure 112021079201275-pat00008
Figure 112021079201275-pat00009
를 비교하여 발생할 수 있는 경우를 나타내는 도면.
도 5는 본 발명에 따라 노출위험을 의도한 수준으로 제어할 수 있음을 보여주는 도면.
도 6은 본 발명에 따라
Figure 112021079201275-pat00010
를 구성하는 상세수준 고차원 빈도표의
Figure 112021079201275-pat00011
값들로 구성된 벡터는 dd1으로, 작은 셀 조정이 이루어진
Figure 112021079201275-pat00012
로 이루어진 벡터는 dd2로 표현되는 것을 보여주는 코드.
도 7은 본 발명에 따라 도 6에서 dd1 및 dd2를 호출하는 대신, dd1에서 작은 셀의 개수
Figure 112021079201275-pat00013
, dd1의 작은 셀들 중
Figure 112021079201275-pat00014
로 변환되어 dd2에서
Figure 112021079201275-pat00015
로 표기된 값들의 개수
Figure 112021079201275-pat00016
, dd1에서 작은 셀들의 합계 참값 d1small, dd1에서 작은 셀과 동일한 위치에 있는 dd2 셀들의 합계 d2small 등을 데이터베이스화하는 것을 보여주는 코드.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 쉽게 실시할 수 있도록 본 발명에 관한 실시 예를 상세히 설명한다. 이는 본 발명의 이해를 돕기 위한 상세한 설명이며, 본 발명의 권리 범위를 제한하는 것은 아니다. 따라서 본 발명과 동일한 기능을 수행하는 범위의 발명 역시 본 발명의 권리 범위에 속할 것이다.
도 1은 본 발명에 따른 익명성 확보와 정보손실 제어를 위한 빈도표 생성 및 제공방법을 나타내는 흐름도이고, 도 2는 본 발명에 따라 빈도값이 작은 셀을 집계한 결과인
Figure 112021079201275-pat00017
를 구성하는 순서도이다.
도 1 및 도 2를 참조하면, 하나의 마이크로데이터에서 생성 가능한 모든 빈도표를 산출할 때, 빈도가 작은 셀 값에 대한 익명성을 확보하면서도, 또한 정보손실을 일정한 범위 이내로 제어하여 빈도표를 생성 및 제공하는 방법에 있어서, 본 발명은 먼저, 빈도표를 구성하기 위한 전체 키변수(p개)와 빈도표를 산출하는 각 그룹을 구성하기 위한 가장 상세 수준의 위계변수(h개)를 이용하여 빈도표를 유형화한다(S10).
빈도표를 생성하기 위한 통계자료(마이크로데이터)는 다음 [표 4]와 같이 나타낼 수 있다. 이 예에서 빈도표 작성에 사용할 수 있는 변수(p)는 p = 6개로 하며, 이를 키변수라 한다. 이 예에서 키변수는 성별(GEN, 2), 연령(AGE, 21), 혼인상태(MRG, 5), 교육수준(EDU, 8), 가구구성(HHLD, 6) 및 주택점유유형(OCP, 7)으로서, 괄호안의 영문은 마이크로데이터에서 변수명을 나타내며, 숫자는 각 변수가 가지는 범주의 개수이다. 예를 들며, 성별은 남자, 여자 2개의 범주가 있고, 연령은 5세 단위로 마지막 21번째 범주는 100세 이상을 나타낼 수 있다.
한편 아래 [표 4]에는 위계구조를 가지는 지역변수가 포함되어 있으며, 이 예에서 가장 상세한 지역 수준, 즉 위계수준(h)은 h = 4가 된다. 이 예에서 L1은 광역시, L2는 시군구, L3는 읍면동, L4는 집계구를 나타내고, 각 지역변수 사이에 위계구조가 존재하므로 지역변수를 위계변수로 판단하게 된다.
이를 통해 L1~L4 코드를 연결하면 가장 상세한 지역 수준인 집계구가 특정된다. 예를 들어 [표 4]의 첫 번째 개체 행은 집계구 '2501053010001'에 속한다. 위계변수 수준은 가장 하위인 Lh(L4)를 상세수준, L3~L1을 상위수준이라 한다.
Figure 112021079201275-pat00018
이 예에서 생성할 수 있는 빈도표는 다음과 같다. 먼저 키변수(p)인 p = 6개 변수를 모두 이용하여 빈도표를 작성할 수 있으며 이를 고차원 빈도표(p-way full frequency table)라고 한다. 가장 상세한 지역 단위마다 작성하는 상세수준 고차원 빈도표는 마이크로데이터로부터 직접 생성해야 한다.
[표 5]는 Lh(L4) 상세수준에서의 고차원 빈도표를 보여준다. 마이크로데이터 대신, 상세수준 고차원 빈도표를 재집계하여 다른 모든 빈도표를 생성할 수 있다. 이는 L4 상세수준의 고차원 빈도표의 셀들이 내부 셀(interior cell)로 기능하여 주변합(marginal cell)을 계산하는데 사용된다는 것을 의미한다. 계산된 주변합은 다른 빈도표의 내부 셀이 될 수 있다.
Figure 112021079201275-pat00019
[표 5]를 재집계하여 생성할 수 있는 빈도표로 먼저 지역변수 L3~L1에 해당하는 상위수준 고차원 빈도표가 있다. [표 6]은 상위수준 고차원 빈도표를 나타낸다.
상위수준 고차원 빈도표를 마이크로데이터에서 직접 산출할 수도 있으나, 본 발명에서는 상세수준 고차원 빈도표를 데이터베이스로 이용하여 산출하도록 한다. 예를 들어 [표 6]에서
Figure 112021079201275-pat00020
읍면동은 총 45개의
Figure 112021079201275-pat00021
집계구를 포함한다. 따라서 L3 첫 번째 열
Figure 112021079201275-pat00022
은 [표 5]의 처음 45개 열을 행별로 집계하여 산출하게 되는데, 더욱 상세하게는
Figure 112021079201275-pat00023
열에서 6,042번째 행의 242라는 값은 [표 5]에서 6,042번째 열의 처음 45개 행을 더하여 산출하는 것이다.
이러한 집계과정에서 위계변수 사이의 포함관계를 메타 정보로 저장하여 활용한다. 즉, 상위수준 변수에 포함되는 하위수준 변수의 목록을 메타 정보로 작성하게 된다.
Figure 112021079201275-pat00024
다음으로 변수들에 대해 집계된 빈도표를 생성할 수 있다. 변수들에 대해 집계된 빈도표를 저차원 빈도표(q-way marginal frequency table, q < p)라고 한다. [표 7]은 6개의 모든 키변수를 가지는 빈도표로부터 집계된 2개 키변수를 가지는 빈도표의 예를 나타내며, 선택된 2개 변수에 대하여 모든 위계수준의 저차원 빈도표를 보여주고 있다.
예를 들어 [표 7]의
Figure 112021079201275-pat00025
열의 24번째 행은 [표 5]의
Figure 112021079201275-pat00026
열에 대하여 AGE=4 및 HHLD = 02 인 경우의 값들을 더하여 산출한 것이다. 이러한 방식으로 [표 7]의 각 열은 [표 5]에서 해당하는
Figure 112021079201275-pat00027
열들 및 키변수 조합에 대하여 재집계하여 산출한다.
Figure 112021079201275-pat00028
이제 [표 4]의 마이크로데이터 생성할 수 있는 빈도표를 유형화하면 [표 8]과 같다.
Figure 112021079201275-pat00029
는 빈도표를 나타내며, 위첨자
Figure 112021079201275-pat00030
기호는 위계변수의 수준을 나타낸다. 여기서, 숫자 i의 값이 작을수록 위계구조가 높은 상위 수준을 나타낸다. 또한, 아래 첨자 숫자는 빈도표를 작성하는데 사용된 키변수의 개수를 나타낸다.
키변수(p) p = 6를 모두 사용한 고차원 빈도표는 p로 표기하고, 고차원 빈도표를 집계하여 키변수의 개수가 줄어든 저차원 빈도표는 q라고 표기한다. 이때 q < p 이다.
[표 8]에서
Figure 112021079201275-pat00031
는 상세수준 고차원 빈도표,
Figure 112021079201275-pat00032
는 상위수준 고차원 빈도표라 한다. 이 예에서는
Figure 112021079201275-pat00033
,
Figure 112021079201275-pat00034
이다.
한편
Figure 112021079201275-pat00035
Figure 112021079201275-pat00036
는 저차원 빈도표이다. 이 예에서는
Figure 112021079201275-pat00037
Figure 112021079201275-pat00038
이다.
Figure 112021079201275-pat00039
이후, 본 발명은 위계변수의 가장 상세 수준(h)과 최고 상위 수준(1) 및 모든 키변수(p)를 이용하여 생성한 빈도표를 고차원 빈도표라 할 때, 위계변수의 가장 상세한 수준(h)에서 고차원 빈도표들을 재집계하여 상위 수준(i)에서 (i < h) 고차원 빈도표를 생성하며(S20), 위계변수의 가장 상세 수준(h)에서 고차원 빈도표들을 재집계하여, 모든 위계 수준에서 q개 (q < p) 키변수로 구성된 빈도표를 생성한다(S30).
본 발명에서는, 상세수준 고차원 빈도표를 재집계하여 상위수준 고차원 빈도표를 생성(
Figure 112021079201275-pat00040
)할 수 있다. 또한 상세수준 고차원 빈도표를 재집계하여 저차원 빈도표도 생성(
Figure 112021079201275-pat00041
)할 수 있다. 이를 통해 본 발명이 구현되는 실제 시스템에서 DB를 관리할 수 있다.
한편 연산속도를 빠르게 하기 위하여, 저장공간을 많이 사용하더라도 각 위계수준에서 모든 고차원 빈도표를 DB로 운용하고, 각 수준마다 저차원 빈도표를 산출(
Figure 112021079201275-pat00042
)할 수도 있다.
일반적으로 상세수준 고차원 빈도표
Figure 112021079201275-pat00043
는 실제 시스템에서 데이터베이스로 활용될 수 있으며, 이를 다른 빈도표를 작성하는데 사용할 수 있다.
Figure 112021079201275-pat00044
에서 데이터 정보보호를 위하여 빈도가 작은 셀 값이 익명성을 확보하도록 작은 셀 조정(small cell adjustments)을 시행하는데, 이를
Figure 112021079201275-pat00045
라고 표현한다. 즉, 빈도표 원래의 값을 나타낼 때는
Figure 112021079201275-pat00046
를, 매스킹 또는 비식별 처리된 빈도표를 나타낼 때는
Figure 112021079201275-pat00047
를 기호로 사용한다.
이제
Figure 112021079201275-pat00048
Figure 112021079201275-pat00049
를 데이터베이스로 사용하여 다른 유형의 빈도표(상위수준 고차원 빈도표 및 모든 수준의 저차원 빈도표)에서 셀 값을 결정하는 것이 본 발명의 목표이다. 다만 다른 빈도표를 작성할 때,
Figure 112021079201275-pat00050
의 작은 셀에 대한 익명성이 유지되면서, 다른 빈도표의 정보손실 범위가 제어되고, 실제 시스템에 적용 가능한 빠른 속도를 가지는 방법이 필요하다. 작은 셀을 규정하는데 사용한 기준값은 B라고 표기한다.
이후 본 발명은, 고차원 빈도표를 통해 이용자가 추론하는 정보의 집합(D)을 규정한다(S40).
본 발명에서는, 상세수준 고차원 빈도표를 재집계하여 산출하는 모든 빈도표, 즉
Figure 112021079201275-pat00051
를 제외한 상위수준 고차원 빈도표 혹은 모든 위계수준 저차원 빈도표에서 셀 값을
Figure 112021079201275-pat00052
라고 한다. 상기
Figure 112021079201275-pat00053
를 생성하는데 사용되는 상세수준 고차원 빈도표의 셀 값들을
Figure 112021079201275-pat00054
라고 표현하며 그 중
Figure 112021079201275-pat00055
이하인 셀들의 개수를
Figure 112021079201275-pat00056
라고 한다.
상세수준 고차원 빈도표는 작은 셀 조정을 통하여
Figure 112021079201275-pat00057
로 매스킹 처리되어 있다. 이제 이용자가
Figure 112021079201275-pat00058
를 관측하여 획득하는 정보는 다음 [표 9]와 같이 정리된다.
Figure 112021079201275-pat00059
이용자는
Figure 112021079201275-pat00060
를 관측할 수 없으며 대신 제공받은
Figure 112021079201275-pat00061
를 관측하게 된다.
Figure 112021079201275-pat00062
를 계산하기 위하여 제공받은 총
Figure 112021079201275-pat00063
개의 0 또는 B로 표기된
Figure 112021079201275-pat00064
에 대하여 각각의 개수를 셀 수 있다. B로 표기된
Figure 112021079201275-pat00065
의 개수를
Figure 112021079201275-pat00066
라고 할 때, 0으로 표기된
Figure 112021079201275-pat00067
에 대하여 이용자는
Figure 112021079201275-pat00068
의 범위를
Figure 112021079201275-pat00069
라고 추론할 수 있고, B로 표기된
Figure 112021079201275-pat00070
에 대하여
Figure 112021079201275-pat00071
의 범위를
Figure 112021079201275-pat00072
라고 추론할 수 있다.
따라서 이용자가
Figure 112021079201275-pat00073
에 대해 추론할 수 있는 범위는
Figure 112021079201275-pat00074
가 되며 이를
Figure 112021079201275-pat00075
라고 표기하면,
Figure 112021079201275-pat00076
Figure 112021079201275-pat00077
가 된다.
통계기관이 제공하는
Figure 112021079201275-pat00078
값에 대한 정보가
Figure 112021079201275-pat00079
에 비하여 새로운 경우, 빈도값이 작은 셀에 대한 노출위험이 증가하게 된다. 데이터 정보보호를 위해서는 이러한 일이 일어나지 않도록 해야 하며, [표 3]과 같은 일이 일어나지 않도록
Figure 112021079201275-pat00080
를 결정하여 제공해야 한다.
이후 본 발명은, 기준값(B)보다 작은 빈도값을 갖는 작은 셀들을 집계한 값을 비식별 처리하여 집계값을 결정할 때, 정보손실을 제어하기 위해 자연수를 길이가 기준값(B)으로 동일한 구간들로 나누고 집계 참값이 해당하는 구간의 중앙값을 제공값으로 할당하며, 이를 구간(C)로 규정한다(S50).
도 2를 참조하면, 통계기관이
Figure 112021079201275-pat00081
를 제공할 때 정보손실을 제어하기 위하여 다음과 같이 자연수를 B 단위의 구간으로 나누고(segmentation),
Figure 112021079201275-pat00082
가 속한 구간의 중앙값을
Figure 112021079201275-pat00083
로 결정한다. 이를 LBA 단계 1(step i)이라고 한다.
이를 모드 함수를 이용하여 나타내면 [수식 1]과 같다. 이때
Figure 112021079201275-pat00084
Figure 112021079201275-pat00085
Figure 112021079201275-pat00086
로 나눈 나머지를 나타내고
Figure 112021079201275-pat00087
는 몫, Z는 정수의 집합을 나타낸다.
Figure 112021079201275-pat00088
[수식 1]
동일한 내용을 도면으로 표현하면 [도 3]과 같다. 화살표는 중앙값을 표현하고 있다. 원래의 값이 0인 경우는 값을 그대로 보존한다.
본 발명에서는, LBA 단계 1(step i)의 결과를 이용자에게 제공하면, 이용자는
Figure 112021079201275-pat00089
에 대하여
Figure 112021079201275-pat00090
라는 정보를 얻게 되는데, 이를
Figure 112021079201275-pat00091
라고 표기한다. C는 통계기관이 이용자에게 직접적으로 제공하는 참값에 대한 정보의 집합을 나타낸다.
이제
Figure 112021079201275-pat00092
이며,
Figure 112021079201275-pat00093
이다. 이때 이용자는 참값과 차이가
Figure 112021079201275-pat00094
이하인 값을 제공받을 수 있다. 따라서 본 발명의 LBA 1단계(step i)에서 빈도값이 작은 셀들의 집계 결과에 대하여 정보손실을 제어할 수 있게 된다.
이후 본 발명은, 할당된 구간(C)과 이용자가 추론하는 정보의 집합(D)을 비교한 후, 익명성 확보 및 노출위험 제어를 위해 상기 할당된 구간(C)을 이웃 구간으로 조정한다(S60).
LBA 1단계(step i) 이후 본 발명의 LBA 단계 2(step ii)에서는 노출위험을 검토하게 된다. 이용자가 얻는 정보
Figure 112021079201275-pat00095
Figure 112021079201275-pat00096
를 비교하여 발생할 수 있는 경우는 [도 4]와 같이 정리된다. 여기서, 오른쪽의 세 경우는 발생하지 않는다. 왼쪽의 세 경우에 대하여 첫 번째
Figure 112021079201275-pat00097
인 경우에는 노출위험에 변화가 없으므로,
Figure 112021079201275-pat00098
를 그대로 제공할 수 있다. 왼쪽 열 아래 두 경우에 대하여는
Figure 112021079201275-pat00099
로 표현되는 구간을 옆으로 이동하여 이동한 구간이
Figure 112021079201275-pat00100
에 포함되도록 조정하게 된다.
이를 수식으로 표현하면 [수식 2]와 같고, 이 단계가 LBA 2단계(step ii)이다.
Figure 112021079201275-pat00101
[수식 2]
이를 도면으로 표현하면 [도 5]와 같다.
LBA 2단계(step ii)를 통하여 얻어진
Figure 112021079201275-pat00102
및 새로운 구간
Figure 112021079201275-pat00103
는 언제나
Figure 112021079201275-pat00104
에 속하여 있으므로, 빈도값이 작은 셀 조정이 의도한 정보보호 목표를 달성하게 된다. 즉, 노출위험을 의도한 수준으로 제어할 수 있게 되는 것이다.
이때 노출위험 제어의 목표가 빈도값이 작은 셀 값에 대하여 익명성
Figure 112021079201275-pat00105
를 확보하는 것인 바, 노출위험 제어를 위하여 구간을 이동시킨 경우, 정보손실은
Figure 112021079201275-pat00106
만큼 증가할 수 있으나, 본 발명에서 이러한 정보손실 증가가 일어나는 비율은 대부분의 경우 높지 않다.
이후 본 발명은, 조정된 값이 빈도값이 작은 셀이 되는 경우의 값을 기준값(B)으로 재조정한다(S70).
본 발명에서, LAB 1단계(step i) 및 2단계(step ii)를 거쳐 결정된 최종 구간이 첫 번째 구간인
Figure 112021079201275-pat00107
인 경우가 존재할 수 있다. 이 때는 값을
Figure 112021079201275-pat00108
로 조정하게 되며, 이 단계가 LBA 3단계(step iii)로서 추가단계에 해당된다.
본 발명에서는, 이상의 세 단계를 모두 거쳐 얻은 값을 빈도값이 작은 셀들을 집계한 결과인
Figure 112021079201275-pat00109
로 결정하게 되며, 빈도값이 작은 셀을 집계한 결과인
Figure 112021079201275-pat00110
를 구성하는 순서도가 [도 2]인 것이다.
마지막으로 본 발명은, 빈도값이 기준값(B)보다 작은 셀의 집계값을 결정하고, 빈도값이 기준값(B)보다 큰 셀을 사후에 더하여 전체 합을 계산한다(S80).
즉, 상세수준 고차원 빈도표에서
Figure 112021079201275-pat00111
를 구성하는
Figure 112021079201275-pat00112
Figure 112021079201275-pat00113
를 초과하는 큰 셀들은 참값 그대로 집계하여 작은 셀의 합계
Figure 112021079201275-pat00114
에 그대로 더하여
Figure 112021079201275-pat00115
를 갱신하도록 한다. 한편 빈도값이 작은 셀이 하나만 존재하는 경우(
Figure 112021079201275-pat00116
),
Figure 112021079201275-pat00117
를 그대로 사용하여
Figure 112021079201275-pat00118
로 사용하고, 빈도값이 큰 셀들을 더하여 최종 값으로 결정한다.
이상의 과정을 통계 프로그램 R을 이용하여 작성한 코드는 [도 6]과 같다. [도 6]의 코드에서
Figure 112021079201275-pat00119
를 구성하는 상세수준 고차원 빈도표의
Figure 112021079201275-pat00120
값들로 구성된 벡터는 dd1으로, 작은 셀 조정이 이루어진
Figure 112021079201275-pat00121
로 이루어진 벡터는 dd2로 표현되어 있다. 빈도값이 작은 셀의 집계 결과를 LBA 알고리즘(방법)으로 비식별화한 결과
Figure 112021079201275-pat00122
는 d2로 표현되어 있다.
이상의 내용을 간략히 정리하면 [표 10]과 같다. [표 10]에서 LBA라고 나타낸 것은 [R코드 1]을 이용하여 [도 2]를 구현하는 함수를 일컫는다. 또한, SCA는 빈도값이 작은 셀에 대한 랜던 라운딩된 작은 셀 조정을 나타낸다.
Figure 112021079201275-pat00123
또한, 본 발명에서는 데이터의 처리속도 향상 및 대용량 데이터에서 생성하는 다량의 빈도표를 '실시간'서비스 하기 위하여 위 LBA 알고리즘(방법)을 일부 변형한 다른 실시 예를 제시하고자 하며, 이를 위해 전술한 과정 중 S30 단계를 개선하여, 각 위계 수준마다 고차원 빈도표를 재집계하여 q개 (q < p) 키변수로 구성된 빈도표를 생성할 수 있다.
즉, 이용자가 추론하는 정보의 집합(D)이 자료 제공자가 고차원 빈도표의 빈도값이 작은 셀에 대해 참값의 범위로 제공하는 범위를 통해 계산될 수 있도록, 상기 이용자가 추론하는 정보의 집합(D)을 얻는데 사용되는 메타 정보를 각 위계 수준의 고차원 빈도표 DB에 추가하여 저장한다(S30-1).
모든 빈도표를 상세수준 고차원 빈도표로부터 집계할 때, 상대적으로 너무 많은 데이터베이스를 불러와야 하는 어려움을 해결하기 위해, 각 위계수준에서 고차원 빈도표를 데이터베이스화할 수 있도록 한다. 이 경우, 각 위계수준에서 저차원 빈도표를 산출할 때 해당 위계수준의 고차원 빈도표를 불러올 수 있게 된다. 이는 다양한 위계수준에서 빠른 속도로 빈도표를 산출해야 하는 통계청 SGIS(통계지리정보서비스)와 같은 시스템에 필수적이다.
이후 본 발명은, 메타 정보를 활용하여 각 위계 수준의 고차원 빈도표를 재집계하여 q 개 (q < p) 키변수로 구성된 빈도표를 계산하며(S30-2), 이 때, 수준 i의 고차원 빈도표를 계산하기 위하여 수준 h 대신 수준 j의 고차원 빈도표를 사용한다(i < j < h)(S20-1).
각 위계수준에서 고차원 빈도표를 데이터베이스로 구축할 때, LBA 알고리즘을 연산하기 위하여 필요한
Figure 112021079201275-pat00124
,
Figure 112021079201275-pat00125
,
Figure 112021079201275-pat00126
,
Figure 112021079201275-pat00127
및 빈도값이 큰 셀의 합계를 데이터베이스에 함께 저장할 필요가 있다. 이를 통해, 관련된 상세수준 고차원 빈도표를 호출하지 않고도 LBA 알고리즘(방법)을 수행할 수 있게 된다.
이를 R코드로 구현하면 [도 7]의 [R코드 2]와 같다. 이는 [도 6]의 [R코드 1]에서 dd1 및 dd2를 호출하는 대신, dd1에서 작은 셀의 개수
Figure 112021079201275-pat00128
, dd1의 작은 셀들 중
Figure 112021079201275-pat00129
로 변환되어 dd2에서
Figure 112021079201275-pat00130
로 표기된 값들의 개수
Figure 112021079201275-pat00131
, dd1에서 작은 셀들의 합계 참값 d1small, dd1에서 작은 셀과 동일한 위치에 있는 dd2 셀들의 합계 d2small 등을 데이터베이스화한다. 이를 이용하여 LBA과정을 수행하는 코드가 바로 [도 7]의 [R코드 2]인 것이다.
전술한 각 위계수준에서 LBA알고리즘을 수행하는 것을 정리하면 [표 11]과 같다. [표 11]에서 LBA라고 표기된 것은 [도 6]의 [R코드 1] 및 [도 7]의 [R코드 2]를 함께 활용하여 [도 2]가 나타내는 LBA 알고리즘을 수행하는 것을 의미한다.
Figure 112021079201275-pat00132
이상의 과정을 예로 나타내면 [표 12]와 같다. [표 12]가 고차원 빈도표를 나타낼 때, 왼쪽 격자들은 상세수준을 나타내고 이는
Figure 112021079201275-pat00133
에 해당하며, 오른쪽 격자들은 상위수준을 나타내고 이는
Figure 112021079201275-pat00134
에 해당한다.
Figure 112021079201275-pat00135
Figure 112021079201275-pat00136
Figure 112021079201275-pat00137
Figure 112021079201275-pat00138
[표 13]은 상위수준 저차원 빈도표를 계산할 때, [도 6]의 [R코드 1]을 적용하면 상세수준 고차원 빈도표를 불러와서 계산을 해야한다는 것을 나타낸 것으로서, [도 6]의 실시 예를 통해서는 데이터베이스에 접근하는 부담을 늘어나게 하여 속도가 저하되게된다.
Figure 112021079201275-pat00139
Figure 112021079201275-pat00140
Figure 112021079201275-pat00141
Figure 112021079201275-pat00142
[표 14]는 본 발명의 다른 실시 예인 [도 7]의 알고리즘을 통해, 각 수준에서 고차원 빈도표를 불러와서 저차원 빈도표를 산출하는 것을 보여준다. 이러한 방식은 속도를 빠르게 할 수 있으므로 실제 시스템에서 LBA 알고리즘(방법)을 구현할 때 필수적이다.
Figure 112021079201275-pat00143
Figure 112021079201275-pat00144
Figure 112021079201275-pat00145
+
Figure 112021079201275-pat00146
Figure 112021079201275-pat00147
Figure 112021079201275-pat00148
본 발명에 따르면, 빈도표를 제공할 때 시스템을 통한 자동화된 매스킹(비식별화) 처리를 이용할 수 있으며, 사전에 고정된 선택조건 하에서 기존의 매스킹 기법이 이루고자 하는 빈도값이 작은 셀에 대한 익명성을 기준값
Figure 112021079201275-pat00149
만큼 확보하면서도, 대부분의 셀에 대한 정보손실을
Figure 112021079201275-pat00150
이하로 제어할 수 있다.
또한. 노출위험이 높은 셀을 자동으로 선별하여 정보손실을 기준값
Figure 112021079201275-pat00151
만큼 추가로 발생시킴으로써, 원래 의도한 익명성을 유지할 수 있음과 함께, 실제 시스템에서 데이터베이스를 관리하는 방식을 반영하였으므로, 과중한 계산 부담을 발생시키지 않는 장점이 있다. 즉, 노출위험과 정보손실을 정량적으로 제어하되, 실제 시스템에서 기존의 빈도표 산출 과정을 크게 바꾸지 않는 특성상 정보 제공 속도의 문제 또한 해결할 수 있어, 정량적인 데이터 정보보호 기법으로 널리 활용될 수 있다.
이상에서 본 발명의 바람직한 실시예를 설명하였으나, 본 발명의 권리범위는 이에 한정되지 아니하며 본 발명의 실시예와 실질적으로 균등한 범위에 있는 것까지 본 발명의 권리범위가 미치는 것으로 이해되어야 하며, 본 발명의 정신을 벗어나지 않는 범위 내에서 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형 실시가 가능하다.

Claims (2)

  1. 하나의 마이크로데이터에서 생성 가능한 모든 빈도표를 산출할 때, 빈도가 작은 셀 값에 대한 익명성을 확보하면서 정보손실을 일정한 범위 이내로 제어하여 빈도표를 생성 및 제공하는 방법에 있어서,
    a) 빈도표를 구성하기 위한 전체 키변수(p개)와 빈도표를 산출하는 각 그룹을 구성하기 위한 가장 상세 수준의 위계변수(h개)를 이용하여 빈도표를 유형화하는 단계(S10);
    b) 위계변수의 가장 상세 수준(h)과 최고 상위 수준(1) 및 모든 키변수(p)를 이용하여 생성한 빈도표를 고차원 빈도표라 할 때, 위계변수의 가장 상세한 수준(h)에서 고차원 빈도표들을 재집계하여 상위 수준(i)에서 (i < h) 고차원 빈도표를 생성하는 단계(S20);
    c) 위계변수의 가장 상세 수준(h)에서 고차원 빈도표들을 재집계하여, 모든 위계 수준에서 q개 (q < p) 키변수로 구성된 빈도표를 생성하는 단계(S30);
    d) 고차원 빈도표를 통해 이용자가 추론하는 정보의 집합(D)을 규정하는 단계(S40);
    e) 기준값(B)보다 작은 빈도값을 갖는 작은 셀들을 집계한 값을 비식별 처리하여 집계값을 결정할 때, 정보손실을 제어하기 위해 자연수를 길이가 기준값(B)으로 동일한 구간들로 나누고 집계 참값이 해당하는 구간의 중앙값을 제공값으로 할당하며, 이를 구간(C)로 규정하는 단계(S50);
    f) 할당된 구간(C)과 이용자가 추론하는 정보의 집합(D)을 비교 후, 익명성 확보 및 노출위험 제어를 위해 상기 할당된 구간(C)을 이웃 구간으로 조정하는 단계(S60);
    g) 조정된 값이 빈도값이 작은 셀이 되는 경우 값을 기준값(B)으로 재조정하는 단계(S70); 및
    h) 상세수준 고차원 빈도표에서
    Figure 112021130959442-pat00159
    를 구성하는
    Figure 112021130959442-pat00160
    Figure 112021130959442-pat00161
    를 초과하는 큰 셀들은 참값 그대로 집계하여 작은 셀의 합계
    Figure 112021130959442-pat00162
    에 그대로 더하여
    Figure 112021130959442-pat00163
    를 갱신하도록, 빈도값이 기준값(B)보다 작은 셀의 집계 값을 결정하고, 빈도값이 기준값(B)보다 큰 셀을 사후에 더하여 전체 합을 계산하는 단계(S80);
    를 포함하는 것을 특징으로 하는 익명성 확보와 정보손실 제어를 위한 빈도표 생성 및 제공방법.

  2. 하나의 마이크로데이터에서 생성 가능한 모든 빈도표를 산출할 때, 빈도가 작은 셀 값에 대한 익명성을 확보하면서 정보손실을 일정한 범위 이내로 제어하여 빈도표를 생성 및 제공하는 방법에 있어서,
    a) 빈도표를 구성하기 위한 전체 키변수(p개)와 빈도표를 산출하는 각 그룹을 구성하기 위한 가장 상세 수준의 위계변수(h개)를 이용하여 빈도표를 유형화하는 단계(S10);
    b-1) 위계변수의 가장 상세 수준(h)과 최고 상위 수준(1) 및 모든 키변수(p)를 이용하여 생성한 빈도표를 고차원 빈도표라 할 때, 수준 i의 고차원 빈도표를 계산하기 위하여 수준 h 대신 수준 j(i < j < h)의 고차원 빈도표를 생성하여 사용하는 단계(S20-1);
    c-1) 이용자가 추론하는 정보의 집합(D)이 자료 제공자가 고차원 빈도표의 빈도값이 작은 셀에 대해 참값의 범위로 제공하는 범위를 통해 계산될 수 있도록, 상기 이용자가 추론하는 정보의 집합(D)을 얻는데 사용되는 메타 정보를 각 위계 수준의 고차원 빈도표 DB에 추가하여 저장하는 단계(S30-1);
    c-2) 메타 정보를 활용하여 각 위계 수준의 고차원 빈도표를 재집계하여 q 개 (q < p) 키변수로 구성된 빈도표를 계산하는 단계(S30-2);
    d) 고차원 빈도표를 통해 이용자가 추론하는 정보의 집합(D)을 규정하는 단계(S40);
    e) 기준값(B)보다 작은 빈도값을 갖는 작은 셀들을 집계한 값을 비식별 처리하여 집계값을 결정할 때, 정보손실을 제어하기 위해 자연수를 길이가 기준값(B)으로 동일한 구간들로 나누고 집계 참값이 해당하는 구간의 중앙값을 제공값으로 할당하며, 이를 구간(C)로 규정하는 단계(S50);
    f) 할당된 구간(C)과 이용자가 추론하는 정보의 집합(D)을 비교 후, 익명성 확보 및 노출위험 제어를 위해 상기 할당된 구간(C)을 이웃 구간으로 조정하는 단계(S60);
    g) 조정된 값이 빈도값이 작은 셀이 되는 경우 값을 기준값(B)으로 재조정하는 단계(S70); 및
    h) 상세수준 고차원 빈도표에서
    Figure 112021130959442-pat00164
    를 구성하는
    Figure 112021130959442-pat00165
    Figure 112021130959442-pat00166
    를 초과하는 큰 셀들은 참값 그대로 집계하여 작은 셀의 합계
    Figure 112021130959442-pat00167
    에 그대로 더하여
    Figure 112021130959442-pat00168
    를 갱신하도록, 빈도값이 기준값(B)보다 작은 셀의 집계 값을 결정하고, 빈도값이 기준값(B)보다 큰 셀을 사후에 더하여 전체 합을 계산하는 단계(S80);
    를 포함하는 것을 특징으로 하는 익명성 확보와 정보손실 제어를 위한 빈도표 생성 및 제공방법.
KR1020210090073A 2021-07-09 2021-07-09 익명성 확보와 정보손실 제어를 위한 빈도표 생성 및 제공방법 KR102379331B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210090073A KR102379331B1 (ko) 2021-07-09 2021-07-09 익명성 확보와 정보손실 제어를 위한 빈도표 생성 및 제공방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210090073A KR102379331B1 (ko) 2021-07-09 2021-07-09 익명성 확보와 정보손실 제어를 위한 빈도표 생성 및 제공방법

Publications (1)

Publication Number Publication Date
KR102379331B1 true KR102379331B1 (ko) 2022-03-30

Family

ID=80947931

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210090073A KR102379331B1 (ko) 2021-07-09 2021-07-09 익명성 확보와 정보손실 제어를 위한 빈도표 생성 및 제공방법

Country Status (1)

Country Link
KR (1) KR102379331B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102670080B1 (ko) * 2023-08-09 2024-05-28 (주)이지서티 데이터 재식별 가능성 감소를 위한 데이터 처리 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120063050A (ko) * 2010-12-07 2012-06-15 서울대학교산학협력단 K-익명성을 제공하는 정보 보호 방법 및 장치
JP2013200659A (ja) * 2012-03-23 2013-10-03 Nippon Telegraph & Telephone West Corp 属性選択装置、情報匿名化装置、属性選択方法、情報匿名化方法、属性選択プログラム、及び情報匿名化プログラム
KR20140047182A (ko) * 2012-09-18 2014-04-22 한국과학기술원 익명화를 위한 시드 선택 방법, 익명화 방법 및 이를 이용하는 정보 보호 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120063050A (ko) * 2010-12-07 2012-06-15 서울대학교산학협력단 K-익명성을 제공하는 정보 보호 방법 및 장치
JP2013200659A (ja) * 2012-03-23 2013-10-03 Nippon Telegraph & Telephone West Corp 属性選択装置、情報匿名化装置、属性選択方法、情報匿名化方法、属性選択プログラム、及び情報匿名化プログラム
KR20140047182A (ko) * 2012-09-18 2014-04-22 한국과학기술원 익명화를 위한 시드 선택 방법, 익명화 방법 및 이를 이용하는 정보 보호 장치

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Hundepool, A., Domingo-Ferrer, J., Franconi, L., Giessing, S., Nordhold, E. S., Spicer, K. and de Wolf, P. P. (2012). Statistical Disclosure Control, John Wiley & Sons.
Park Min-jung, Shin Woo-ram, Park Cheon-young, Seo Young-oh (2018). 『Measures to Protect Confidentiality of Statistical Services by Grid』, Statistics Development Institute, Statistics Korea. (Published in April 2019)
Park, M.-J. (2018). Bounded small cell adjustments for flexible frequency table generators, In: Domingo-Ferrer, J. and Montes, F. (eds.) PSD 2018. LNCS, vol. 11126, 13-27. Springer, Cham.
Shlomo, N. (2007). Statistical disclosure control methods for census frequency tables, International Statistical Review, 75(2), 199-217.

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102670080B1 (ko) * 2023-08-09 2024-05-28 (주)이지서티 데이터 재식별 가능성 감소를 위한 데이터 처리 방법

Similar Documents

Publication Publication Date Title
Skinner et al. Estimating the re-identification risk per record in microdata
Chang et al. TFRP: An efficient microaggregation algorithm for statistical disclosure control
US8713207B2 (en) Instrumenting configuration and system settings
KR102379331B1 (ko) 익명성 확보와 정보손실 제어를 위한 빈도표 생성 및 제공방법
CN101996218B (zh) 一种实现数据访问权限控制的方法
Krippner et al. The person of the category: The pricing of risk and the politics of classification in insurance and credit
Kenny et al. Comment: The essential role of policy evaluation for the 2020 census disclosure avoidance system
Crowell Renting under racial capitalism: Residential segregation and rent exploitation in the United States
Kiani et al. On business cycle asymmetries in G7 countries
WO2022095422A1 (zh) 区块链网络节点权限分配方法及装置、计算机设备、介质
Spitzer et al. The impact of redlining on modern-day firearm injuries: a nationwide study of federal policy
Leiwant Locked out: How Algorithmic Tenant Screening Exacerbates the Eviction Crisis in the United States
CN117499124A (zh) 一种访问控制方法及装置
Daniele et al. Dynasties and the political budget cycle
Smith Operationalizing Max Weber's probability concept of class situation: the concept of social class 1
CN111563529A (zh) 一种数据类别属性表示方法及访问控制方法
Leach et al. Multiobjective risk‐impact analysis method
Georgiou Extracting statistical offices from policy-making bodies to buttress official statistical production
CN110990869B (zh) 一种应用于隐私保护的电力大数据脱敏方法
CN114265560A (zh) 一种亿级合规指标业务数据的自规范存储系统
CN114881551A (zh) 基于证据融合的目标对象确定方法、装置、设备和介质
Truta et al. Privacy and confidentiality management for the microaggregation disclosure control method: disclosure risk and information loss measures
Hwang et al. Multidimensional poverty among different age cohorts in South Korea
US7908298B1 (en) Calculating list
CN113836313B (zh) 一种基于图谱的审计信息识别方法与系统

Legal Events

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