KR20180060390A - 목적에 따라 비식별화된 데이터를 최적화하는 방법 및 장치 - Google Patents

목적에 따라 비식별화된 데이터를 최적화하는 방법 및 장치 Download PDF

Info

Publication number
KR20180060390A
KR20180060390A KR1020160159827A KR20160159827A KR20180060390A KR 20180060390 A KR20180060390 A KR 20180060390A KR 1020160159827 A KR1020160159827 A KR 1020160159827A KR 20160159827 A KR20160159827 A KR 20160159827A KR 20180060390 A KR20180060390 A KR 20180060390A
Authority
KR
South Korea
Prior art keywords
data
condition
size class
class
optimization target
Prior art date
Application number
KR1020160159827A
Other languages
English (en)
Other versions
KR101973949B1 (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 KR1020160159827A priority Critical patent/KR101973949B1/ko
Publication of KR20180060390A publication Critical patent/KR20180060390A/ko
Application granted granted Critical
Publication of KR101973949B1 publication Critical patent/KR101973949B1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]

Landscapes

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

Abstract

목적에 따라 비식별화된 데이터를 최적화하는 방법이 개시된다. 비식별화된 데이터를 최적화하는 방법은, 익명화 알고리즘의 조건을 만족하도록 선택된 일반화 레벨(selected level)로 비식별화된 최적화 대상 테이블을 획득하는 단계, 최적화 대상 테이블에서 빅 사이즈 클래스(big size class)를 선정하는 단계, 빅 사이즈 클래스에 포함된 레코드에 대하여, 일반화 레벨을 감소시켜 익명화 알고리즘의 조건을 만족하는 제1 데이터를 도출하는 단계 및 빅 사이즈 클래스 내에서 제1 데이터를 제외한 나머지 데이터에 대하여, 선택된 일반화 레벨(selected level)로 비식별화하여 제2 데이터를 도출하는 단계를 포함한다. 따라서, 사용자의 목적에 맞게 일반화 레벨을 증가 또는 감소시키는 구성을 유연하게 적용할 수 있다.

Description

목적에 따라 비식별화된 데이터를 최적화하는 방법 및 장치{METHOD FOR OPTIMIZING DE-IDENTIFIED DATA ACCORDING TO PURPOSE AND APPARATUS USING THE METHOD}
본 발명은 목적에 따라 비식별화된 데이터를 최적화하는 방법 및 장치에 관한 것으로, 더욱 상세하게는 1차적으로 비식별화가 이루어진 데이터에 대하여 사용자의 목적에 따라 일반화 단계를 증가 또는 감소시킴으로써 최적화하는 방법 및 장치에 관한 것이다.
인터넷의 발달로 수많은 정보들이 생산 및 전파되면서, 수많은 정보들을 생산하는 것뿐만 아니라 이를 활용하기 위한 기술들이 연구되고 있는데, 이러한 연구의 일환으로 수많은 정보들을 잘 활용하여 유통할 수 있도록 빅데이터 기반 기술들이 속속 등장하고 있다.
그런데, 이러한 빅데이터 기반 기술의 발달의 이면에는 개인 정보가 동의없이 무분별하게 전파되고 유출되고 있어 문제되고 있다. 이 때문에 세계 각국에서는 빅데이터 활용시 발생하는 문제를 해결하기 위하여 개인정보 비식별화 지침을 마련하여 운용중에 있다. 예를 들면, 미국의 경우 개인정보 비식별화 가이드라인(FTC) 및 의료정보 비식별화 가이드라인(OCR)을 규정하고 있다.
비식별화(De-Identification)란 수집된 개인정보의 식별성을 제거하거나 데이터 셋과 정보 주체의 연관성을 제거하는 과정을 의미한다. 예를 들면, 연구 목적으로 의료 정보를 공개할 때, 이름, 주민등록번호, 연락처, 주소와 같은 특정 개인을 식별할 수 있는 요소를 제거하는 것으로 가명처리(Pseudonymisation), 총계처리(Aggregation), 데이터 값 삭제 또는 치환(Data Reduction or Redaction), 범주화(Data Suppression), 데이터 마스킹(Data Masking) 등의 처리 기법이 있다.
그러나, 비식별화를 무분별하게 적용하면 활용하고자 하는 정보가 지나치게 소실되어 정보 활용성이 감소하고, 반대로 비식별화가 제대로 이루어지지 않으면, 비식별화된 데이터에서 개인을 특정할 수 있는 재식별 문제가 발생할 수 있다.
따라서, 재식별 가능성을 최대한 줄이면서, 정보 사용자의 목적에 부합하고 수집된 데이터를 충분히 활용할 수 있는 최적화 기술이 필요한 실정이다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 비식별화된 데이터를 최적화하는 방법을 제공하는 데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은, 비식별화된 데이터의 최적화 장치를 제공하는 데 있다.
상기 목적을 달성하기 위한 본 발명은, 비식별화된 데이터를 최적화하는 방법 또는 장치를 제공한다.
상기 목적을 달성하기 위한 본 발명의 일 측면에 따른 비식별화된 데이터의 최적화 방법은, 익명화 알고리즘의 조건을 만족하도록 선택된 일반화 레벨(selected level)로 비식별화된 최적화 대상 테이블을 획득하는 단계, 최적화 대상 테이블에서 빅 사이즈 클래스(big size class)를 선정하는 단계, 빅 사이즈 클래스에 포함된 레코드에 대하여, 일반화 레벨을 감소시켜 익명화 알고리즘의 조건을 만족하는 제1 데이터를 도출하는 단계 및 빅 사이즈 클래스 내에서 제1 데이터를 제외한 나머지 데이터에 대하여, 선택된 일반화 레벨(selected level)로 비식별화하여 제2 데이터를 도출하는 단계를 포함한다.
여기서, 빅 사이즈 클래스는, 최적화 대상 테이블에 존재하는 동등 클래스(equivalence class) 중에서 익명화 알고리즘의 조건을 기초로 결정된 빅 사이즈 임계 조건을 만족하는 클래스를 포함할 수 있다.
여기서, 제1 데이터를 도출하는 단계는, 사용자로부터 입력된 속성 우선순위를 고려하여 익명화 레벨을 감소시킬 수 있다.
여기서, 제1 데이터를 도출하는 단계는, 속성 우선순위가 높은 속성에 대한 일반화 레벨을 우선적으로 감소시킬 수 있다.
여기서, 최적화 대상 테이블에 대하여 빅 사이즈 클래스 내의 데이터를 제1 데이터 및 제2 데이터로 치환하여 재구성된 비식별화 테이블을 획득하는 단계를 더 포함할 수 있다.
여기서, 제2 데이터 중에서, 익명화 알고리즘의 조건을 만족하는 제3 데이터 및 익명화 알고리즘의 조건을 만족하지 않는 제4 데이터를 확인하는 단계 및 제1 데이터, 제3 데이터 및 제4 데이터가 각각 재구성된 비식별화 테이블에서 차지하는 비율을 사용자에게 제공하는 단계를 더 포함할 수 있다.
여기서, 재구성된 비식별화 테이블을 최적화 대상 테이블로 하여 빅 사이즈 클래스를 선정하는 단계부터 재수행하는 단계를 더 포함할 수 있다.
상기 목적을 달성하기 위한 본 발명의 다른 측면에 따른 비식별화된 데이터의 최적화 방법은, 익명화 알고리즘의 조건을 만족하도록 선택된 일반화 레벨(selected level)로 비식별화된 최적화 대상 테이블을 획득하는 단계, 최적화 대상 테이블에서 스몰 사이즈 클래스(small size class)를 선정하는 단계 및 스몰 사이즈 클래스에 포함된 레코드에 대하여, 일반화 레벨을 증가시켜 익명화 알고리즘의 조건을 만족하는 제1 데이터 및 익명화 알고리즘의 조건을 만족하지 않는 제2 데이터를 도출하는 단계를 포함한다.
여기서, 제2 데이터를 도출하는 단계는, 사용자로부터 입력된 속성 우선순위를 고려하여 일반화 레벨을 증가시킬 수 있다.
여기서, 제2 데이터를 도출하는 단계는, 사용자로부터 입력된 타겟 속성(target attribute)는 제외하고 나머지 속성에 대해서 일반화 레벨을 증가시킬 수 있다.
여기서, 스몰 사이즈 클래스는, 최적화 대상 테이블에 존재하는 동등 클래스(equivalence class) 중에서 익명화 알고리즘의 조건을 기초로 결정된 스몰 사이즈 임계 조건을 만족하는 클래스를 포함할 수 있다.
여기서, 최적화 대상 테이블에 대하여 스몰 사이즈 클래스 내의 데이터를 제1 데이터 및 제2 데이터로 치환하여 재구성된 비식별화 테이블을 획득하는 단계를 더 포함할 수 있다.
여기서, 재구성된 비식별화 테이블을 최적화 대상 테이블로 하여 스몰 사이즈 클래스를 선정하는 단계부터 재구성된 비식별화 테이블을 획득하는 단계까지 재수행하는 단계를 더 포함할 수 있다.
상기 목적을 달성하기 위한 본 발명의 다른 측면에 따른 비식별화된 데이터의 최적화 장치는, 적어도 하나의 명령어를 실행하는 프로세서(processor, 11) 및 적어도 하나의 명령어를 저장하는 메모리(memory, 12)를 포함한다.
여기서, 프로세서는, 익명화 알고리즘의 조건을 만족하도록 선택된 일반화 레벨(selected level)로 비식별화된 최적화 대상 테이블을 획득하고, 최적화 대상 테이블에서 빅 사이즈 클래스(big size class)를 선정하고, 빅 사이즈 클래스에 포함된 레코드에 대하여, 일반화 레벨을 감소시켜 익명화 알고리즘의 조건을 만족하는 제1 데이터를 도출하고, 빅 사이즈 클래스 내에서 제1 데이터를 제외한 나머지 데이터에 대하여, 선택된 일반화 레벨(selected level)로 비식별화하여 제2 데이터를 도출할 수 있다.
여기서, 프로세서는, 최적화 대상 테이블에 대하여 빅 사이즈 클래스 내의 데이터를 제1 데이터 및 제2 데이터로 치환하여 재구성된 비식별화 테이블을 획득할 수 있다.
여기서, 프로세서는, 재구성된 비식별화 테이블에서 스몰 사이즈 클래스(small size class)를 선정하고, 스몰 사이즈 클래스에 포함된 레코드에 대하여, 일반화 레벨을 증가시켜 익명화 알고리즘의 조건을 만족하는 제3 데이터 및 익명화 알고리즘의 조건을 만족하지 않는 제4 데이터를 도출할 수 있다.
여기서, 프로세서는, 재구성된 비식별화 테이블에 대하여 스몰 사이즈 클래스 내의 데이터를 제1 데이터 및 제2 데이터로 치환하여 2차 재구성된 비식별화 테이블을 획득할 수 있다.
여기서, 빅 사이즈 클래스는, 최적화 대상 테이블에 존재하는 동등 클래스(equivalence class) 중에서 익명화 알고리즘의 조건을 기초로 결정된 빅 사이즈 임계 조건을 만족하는 클래스를 포함할 수 있다.
여기서, 스몰 사이즈 클래스는, 재구성된 비식별화 테이블에 존재하는 동등 클래스(equivalence class) 중에서 익명화 알고리즘의 조건을 기초로 결정된 스몰 사이즈 임계 조건을 만족하는 클래스를 포함할 수 있다.
여기서, 프로세서는, 사용자로부터 입력된 속성 우선순위를 고려하여 익명화 레벨을 증가시키거나 감소시킬 수 있다.
상기와 같은 본 발명에 따른 비식별화된 데이터를 최적화하는 방법 또는 장치를 이용할 경우에는 사용자의 용도에 따라 최적화된 비식별화 데이터를 얻을 수 있다.
또한, 모든 데이터를 일괄하여 하나의 일반화 레벨로 사용하는 것이 아니기 때문에 유동적으로 일반화를 적용할 수 있는 장점이 있다.
사용자의 목적에 맞게 일반화 레벨을 증가 또는 감소시키는 구성을 유연하게 적용할 수 있어, 활용 범위가 넓은 장점이 있다.
도 1은 원시 테이블을 설명하기 위한 예시도이다.
도 2는 일반화 및 일반화 단계(level)를 설명하기 위한 제1 예시도이다.
도 3은 일반화 및 일반화 단계를 설명하기 위한 제2 예시도이다.
도 4는 비식별화된 테이블에 대한 예시도이다.
도 5는 최적화 대상 테이블에 대한 예시도이다.
도 6은 본 발명의 일 실시예에 따른 비식별화된 데이터를 최적화하는 제1 방법에 대한 흐름도이다.
도 7은 빅 사이즈 클래스에 대하여 일반화 레벨을 감소한 결과를 설명하기 위한 예시도이다.
도 8은 익명화 알고리즘의 조건을 만족하지 않게된 레코드에 대한 처리 방법을 설명하는 예시도이다.
도 9는 일반화 레벨을 감소하여 재구성된 비식별화 테이블에 대한 정보를 사용자에게 제공하는 사용자 인터페이스에 대한 예시도이다.
도 10은 본 발명의 일 실시예에 따른 비식별화된 데이터를 최적화하는 제1 방법에 따라 재구성된 비식별화 테이블에 관한 예시도이다.
도 11은 본 발명의 일 실시예에 따른 비식별화된 데이터를 최적화하는 제2 방법에 대한 흐름도이다.
도 12는 본 발명의 일 실시예에 따른 비식별화된 데이터의 최적화 장치에 대한 구성도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
본 발명의 일 실시예에서 비식별화는 데이터 내에 개인을 식별할 수 있는 정보가 있는 경우, 이의 일부 또는 전부를 삭제 또는 일부를 속성 정보로 대체 처리함으로써 다른 정보와 결합하여도 특정 개인을 식별하기 어렵도록 하는 조치를 의미할 수 있다.
도 1은 원시 테이블을 설명하기 위한 예시도이다.
도 1을 참조하면, 원시 테이블은 각각의 개체 또는 대상(각각 개체번호로 표시)에 대하여 수집된 적어도 하나 이상의 레코드들의 집합으로 구성될 수 있다.
여기서, 레코드(record)는 하나의 대상(object) 또는 개체(entity)에 대하여 적어도 하나의 속성(attribute)에 따라 수집된 데이터를 의미할 수 있다. 예를 들면, 한 사람에 대하여 나이, 직업, 주소 등을 수집한 데이터를 의미할 수 있다.
또한, 원시 테이블에서의 각각의 레코드는 하나 이상의 속성을 가질 수 있는데, 여기서 속성은 수집된 최소의 데이터 단위(이름, 나이 직업 등)를 의미할 수 있으나, 적어도 하나 이상의 속성을 묶어 새롭게 정의한 속성으로 지칭할 수도 있다. 예를 들면, 그 자체로 개인을 식별할 수 있는 이름, 전화번호, 주소, 생년월일 등에 대한 속성을 ID(Identifier) 속성으로 지시할 수 있고, 다른 정보와 결합하여 개인을 식별할 수 있는 성별, 생년, 생일, 연령, 국적, 고향 등에 대한 속성을 SA(sensitive attribute) 속성으로 지시할 수 있다.
또한, 원시 테이블은 사용자에 의해 입력되거나 사용자가 사용하는 사용자 단말로부터 수신된 개인정보를 포함한 데이터로부터 구성될 수 있는데, 사용자에 의해 제공된 데이터는 매우 다양한 형식을 가질 수 있다.
따라서, 본 발명에서는 각 레코드의 속성, 속성 각각의 데이터 형식을 인식하고 분류하거나 일반화를 수행할 수 있도록 하기 위하여 개인정보를 포함한 데이터를 정규 표현식으로 표현 가능한 테이블(table)로 관리할 수 있다.
정규 표현식의 예를 들면, 수집된 주민 등록 번호를 [0-9]{6}-[0-9]{7} 과 같이 표현할 수 있는데, 이것은 0부터 9까지의 숫자가 6개 순서대로 나오고 - 기호로 연결된 후에 다시 0부터9까지의 숫자가 7개 순서대로 나온다는 의미일 수 있다.
한편, 여기서 원시 테이블은 주민등록번호와 같이 해당 정보만으로 개인을 즉시 특정할 수 있는 속성과 나이, 우편번호, 주소와 같이 다른 정보와 결합하여 개인을 특정할 수 있는 속성이 있을 수 있다.
이때, 도 1의 주민등록번호와 같이 해당 정보만으로 개인을 즉시 특정할 수 있는 정보에 대해서는 개인이 누구인지 식별되어 개인정보가 유출되는 문제점을 방지하기 위하여 당사자의 동의가 없는 한 삭제하거나 전부 마스킹(masking) 처리하여 관리할 수 있다.
또한, 도 1의 나이, 우편번호, 주소에 대해서는 해당 정보를 이용하여 개인이 재식별되는 문제점을 방지하기 위하여 여러 비식별화 기법이 적용될 수 있다. 예를 들면, 가명처리, 총계처리, 데이터 값 삭제, 범주화, 데이터 마스킹이 있을 수 있다.
이때, 범주화(data suppression) 또는 일반화(generalization)로 정의되는 기법은 단일 식별 정보(또는 속성)를 해당 그룹의 대표값으로 변환하거나 구간값으로 변환하는 기법으로 이하에서 예를 들어 설명할 수 있다.
도 2는 일반화 및 일반화 단계(level)를 설명하기 위한 제1 예시도이다. 도 3은 일반화 및 일반화 단계를 설명하기 위한 제2 예시도이다.
도 2를 참조하면, 도 1에서 수집된 우편 번호에 대하여 일반화를 수행하는 방법의 예시를 설명할 수 있다.
먼저, 각각의 수집된 우편 번호인 13053, 13068, 14850, 14853 각각을 일반화 레벨 0으로 지칭할 수 있다.
또한, 13053 과 13068은 하위 두자리 정보에 대해 130** 과 같이 일반화할 수 있고, 14850, 14853은 하위 한자리 정보에 대해 1485* 과 같이 일반화할 수 있으며, 이를 일반화 레벨 1로 지칭할 수 있다.
또한, 130** 과 1485* 은 다시 일반화를 수행하여 최종적으로는 모든 자리가 일반화된 *****로 표현될 수 있으며 이를 일반화 레벨 2로 지칭할 수 있다.
도 3을 참조하면, 도 1에서 수집된 나이에 대하여 일반화를 수행하는 방법의 예시를 설명할 수 있다.
먼저, 각각 수집된 나이 정보 자체인 28, 29, 21 등을 일반화 레벨 0으로 지칭할 수 있다.
또한, 0 내지 9 사이의 단위를 일반화하여 2*, 3* 등과 같이 표현할 수 있고, 이를 일반화 레벨 1로 지칭할 수 있다.
또한, 40 이상(≥40)과 40 미만(<40)으로 일반화하여, 일반화 레벨 2로 지칭할 수 있다.
최종적으로는 모든 나이 정보가 ** 으로 일반화될 수 있고, 이를 일반화 레벨 3으로 지칭할 수 있다.
따라서, 정리하면, 각각의 속성을 다양한 일반화 레벨로 일반화함으로써 비식별화할 수 있고, 이때 일반화 레벨의 정도 및 기준은 속성에 따라 또는 본 발명의 하는 기술분야의 통상의 기술자에 따른 구현 방식에 따라 다양하게 설정될 수 있다. 따라서, 본 발명의 일 실시예에서 일반화 레벨 및 방법은 특정 방법에 한정되지 않는 것으로 해석되어야 한다.
도 4는 비식별화된 테이블에 대한 예시도이다.
도 4를 참조하면, 도 1에서의 원시 테이블이 비식별화된 예시를 설명할 수 있다.
먼저, 도 1에서의 원시 테이블에서 주민등록번호는 개인을 그 자체로 식별할 수 있어 삭제되었을 수 있다.
나이와 우편번호에 대해서는 도 2 및 도 3에서 설명한 일반화 과정에 따라 각각의 일반화 레벨로 일반화가 수행되었을 수 있다.
주소 및 직업에 대해서도 일반화가 진행될 수 있으나, 본 예시에서는 일반화되지 않은 것으로 표시하였다.
도 4를 참조하면, 나이 및 우편번호가 일반화됨에 따라 두 개 이상의 레코드가 나이와 우편번호에서 동일한 정보를 지시하게 될 수 있다. 이와 같이 일반화가 진행됨으로써 동일한 정보를 지시하게 된 레코드의 그룹을 동등 클래스(equivalence class)로 지칭할 수 있다.
따라서, 동등 클래스 A 부터 동등 클래스 D까지 생겨날 수 있다.
이때, 도 4와 같이 비식별화가 이루어지는 기준이 문제될 수 있는데, 다양한 익명화 알고리즘이 활용될 수 있고, 익명화 알고리즘을 적용하는 방식 또한 매우 다양하다.
익명화 알고리즘의 예를 들면, K-anomality(K-익명성), I-diversity(I-다양성), T-closeness(T-인접성) 등이 있을 수 있다.
여기서, K-익명성 알고리즘은 주어진 데이터에 있는 동등 클래스내에 포함된 레코드가 최소 k 개 이상 존재하도록 익명화(비식별화) 해야 된다는 것을 의미할 수 있고, 따라서 k가 익명화 알고리즘의 기준이 될 수 있다.
여기서, I-다양성 알고리즘은 주어진 데이터에서 동등 클래스 내에 포함된 민감 정보의 레코드 종류가 최소 I개 이상 존재하도록 익명화해야 된다는 것을 의미할 수 있고 이때 I는 익명화 알고리즘의 기준이 될 수 있다.
여기서, T-인접성 알고리즘은 주어진 데이터에서 동등 클래스 내의 민감 정보의 종류와 전체 데이터의 민감 정보 종류 사이의 차이가 T개 이하여야 한다는 것을 의미할 수 있고, 이때 T는 익명화 알고리즘의 기준이 될 수 있다.
따라서 도 4에서 비식별화된 테이블은 이러한 익명화 알고리즘의 기준에 따라 각각의 개인정보에 관한 속성에 대하여 일반화 레벨이 각각 적용되어 일반화가 이루어진 테이블일 수 있다.
본 발명의 일 실시예에서 익명화 알고리즘이나 그 적용 방법 등에 대해서는 특정 알고리즘이나 방법에 한정되지 않는 것으로 해석되어야 하며, 다양한 익명화 알고리즘의 기준에 따라 비식별화가 이루어진 테이블 모두 적용대상이 될 수 있는 것으로 해석되어야 한다.
도 5는 최적화 대상 테이블에 대한 예시도이다.
도 5를 참조하면, 최적화 대상 테이블이 갖는 문제점을 토대로 최적화를 설명할 수 있는데, 본 발명의 일 실시예에 따른 최적화 방법은 앞의 도 4에서와 같이 비식별화된 테이블을 최적화 대상 테이블로 할 수 있다.
여기서, 최적화 대상 테이블은 도 4에서와 마찬가지로 여러 동등 클래스 즉, 동등 클래스 A 내지 동등 클래스 D를 가질 수 있다.
또한, 최적화 대상 테이블은 1차적으로 비식별화가 수행된 테이블이 될 수 있는데, 이때 각 속성별로 다양한 일반화 레벨을 가질 수 있고, 적용된 일반화 레벨 또한 속성에 따라 달리 이루어졌을 수 있다.
예를 들면, 속성 1에 대해서는 일반화 레벨 0 내지 5 단계로 구성되었을 수 있고, 이때 비식별화과정에서 적용된 일반화는 일반화 레벨 3이 적용되었을 수 있다.
또한, 속성 2에 대해서는 일반화레벨 0 내지 3 단계로 구성되었을 수 있고, 이때 비식별화과정에서 적용된 일반화는 일반화 레벨 1이 적용되었을 수 있다.
또한, 속성 3에 대해서는 일반화레벨 0 내지 9 단계로 구성되었을 수 있고, 이때 비식별화과정에서 적용된 일반화는 일반화 레벨 7이 적용되었을 수 있다.
또한, 속성 4에 대해서는 일반화레벨 0 내지 1 단계로 구성되었을 수 있고, 이때 비식별화과정에서 적용된 일반화는 일반화 레벨 1이 적용되었을 수 있다.
한편, 각각의 동등 클래스는 레코드의 개수가 서로 다를 수 있는데, 도 5를 참조하면 동등 클래스 A는 100개의 레코드(100 rows)를 가질 수 있고, 동등 클래스 B는 15개의 레코드(15 rows)를 가질 수 있고, 동등 클래스 C는 3개의 레코드(3 rows)를 가질 수 있고, 동등 클래스 D는 25개의 레코드(25 rows)를 가질 수 있다.
이때, 동등 클래스 A는 상대적으로 많은 100개의 레코드가 같은 개인 정보로 표현되므로 정보 활용성이 다소 떨어질 수 있고, 동등 클래스 C는 상대적으로 적은 3개의 레코드가 같은 개인 정보로 표현되므로 개인의 재식별 문제가 생길 수 있다.
따라서, 익명화 알고리즘에서 K-익명성 알고리즘을 예로 들면, K-익명성 알고리즘의 기준인 k값이 5로 설정된 경우, 동등 클래스 C는 그 익명화 알고리즘 기준에 미달하여 해당 데이터의 사용이 제한되거나 정보 제공시 제외시킬 수 있다.
따라서, 어느 동등 클래스가 매우 많은 레코드로 이루어지거나 매우 적은 레코드로 이루어지면, 사용자의 목적에 따라서는 활용이 불가능하거나, 지나치게 활용가능성이 떨어지는 문제가 발생할 수 있으므로, 이에 대한 최적화 필요성이 있을 수 있다.
도 6은 본 발명의 일 실시예에 따른 비식별화된 데이터를 최적화하는 제1 방법에 대한 흐름도이다.
도 6을 참조하면, 비식별화된 데이터를 최적화하는 방법은, 익명화 알고리즘의 조건을 만족하도록 선택된 일반화 레벨(selected level)로 비식별화된 최적화 대상 테이블을 획득하는 단계(S600), 상기 최적화 대상 테이블에서 빅 사이즈 클래스(big size class)를 선정하는 단계(S610), 상기 빅 사이즈 클래스에 포함된 레코드에 대하여, 일반화 레벨을 감소시켜 상기 익명화 알고리즘의 조건을 만족하는 제1 데이터를 도출하는 단계(S620), 상기 빅 사이즈 클래스 내에서 상기 제1 데이터를 제외한 나머지 데이터에 대하여, 상기 선택된 일반화 레벨(selected level)로 비식별화하여 제2 데이터를 도출하는 단계(S630)를 포함할 수 있다.
여기서, 최적화 대상 테이블에 대해서는 도 5를 참조할 수 있고, 다양한 익명화 알고리즘의 조건 및 그에 따라 다양하게 선택된 일반화 레벨로 비식별화된 어떠한 테이블이라도 적용 대상이 될 수 있는 것으로 해석되어야 한다.
여기서, 상기 빅 사이즈 클래스는, 상기 최적화 대상 테이블에 존재하는 동등 클래스(equivalence class) 중에서 상기 익명화 알고리즘의 조건을 기초로 결정된 빅 사이즈 임계 조건을 만족하는 클래스를 포함할 수 있다.
예를 들면, 익명화 알고리즘이 K-익명성 알고리즘인 경우, K-익명성 알고리즘의 k 값을 기준으로 빅 사이즈 임계 조건을 결정할 수 있는데, 하나의 동등 클래스 내에서 3개 이상의 레코드가 포함되어야 한다면, 익명화 알고리즘의 조건은 3이 될 수 있고, 3의 10배 또는 100배와 같이 익명화 알고리즘의 조건을 기초로 빅 사이즈 임계 조건을 결정할 수 있다. 더 자세하게 예를 들면, 3의 100배인 300을 k-익명성 알고리즘의 k값으로 하여 300개 이상의 레코드를 갖는 동등 클래스를 빅 사이즈 클래스로 포함할 수 있다.
또한, 도 5를 다시 참조하여 익명화 레벨을 감소하는 과정을 예로 들면, 속성 1에 대해서는 일반화 레벨 3, 속성 2에 대해서는 일반화 레벨 1, 속성 3에 대해서는 일반화 레벨 7, 속성 4에 대해서는 일반화 레벨 1로 적용되어 있는 경우를 설명할 수 있다.
먼저, 속성 1이 일반화 레벨이 감소되는 경우는 0~3까지 이므로 4가지 경우가 있을 수 있고, 속성 2가 일반화 레벨이 감소되는 경우는 0~1까지 이므로 2가지 경우가 있을 수 있으며, 속성 3이 일반화 레벨이 감소되는 경우는 0~7까지 이므로 8가지 경우가 있을 수 있고, 속성 4가 일반화 레벨이 감소되는 경우는 0~1까지 2가지 경우가 있을 수 있다.
따라서, 일반화 레벨을 감소시키는 경우의 수는 4×2×8×2 = 128 가지가 있을 수 있다. 128가지의 경우를 모두 수행하여 익명화 알고리즘의 조건을 만족하는 결과 모두를 도출할 수도 있으나, 이것은 시스템 성능 저하를 초래할 수 있다.
따라서, 익명화 알고리즘의 조건을 만족하는 결과 중 일부만을 도출할 수 있는데, 어느 결과를 먼저 도출할 것인지 문제될 수 있다.
다시 도 6을 참조하면, 상기 제1 데이터를 도출하는 단계(S620)는, 사용자로부터 입력된 속성 우선순위를 고려하여 익명화 레벨을 감소시킬 수 있다.
여기서, 사용자로부터 입력받는 것은 본 발명의 일 실시예에 따른 비식별화된 데이터의 최적화 방법이 구동되는 비식별화된 데이터의 최적화 장치에서 직접 입력받을 수도 있고, 사용자가 사용하는 사용자 단말로부터 수신될 수도 있다.
여기서, 속성 우선순위는 사용자가 분석하는데 가장 중요하다고 판단되는 속성간의 우열을 의미할 수 있는데, 우선순위가 높을수록 일반화 레벨을 낮게 설정하여야 사용자가 해당 속성에 대한 정보를 충분히 목적에 맞게 활용할 수가 있다. 즉, 앞에서 도 5에 따른 일반화 레벨을 감소시키는 경우의 수를 예로 들면, 속성 1이 우선순위가 가장 높다면, 속성 1의 일반화 레벨을 0으로 설정하는 경우를 먼저 수행하여, 익명화 알고리즘의 조건을 만족하는 제1 데이터를 도출할 수 있다.
따라서, 상기 제1 데이터를 도출하는 단계(S620)는, 상기 속성 우선순위가 높은 속성에 대한 일반화 레벨을 우선적으로 감소시킬 수 있다.
도 7은 빅 사이즈 클래스에 대하여 일반화 레벨을 감소한 결과를 설명하기 위한 예시도이다.
도 7을 참조하면, 동등 클래스 A가 빅 사이즈 클래스로 확인되어 일반화 레벨을 감소시킬 수 있고, 이에 따라, 20개의 레코드는 익명화 알고리즘의 조건을 만족할 수 있고, 80개의 레코드는 익명화 알고리즘의 조건을 만족하지 않을 수 있다.
이 경우, 80개의 레코드에 대하여 익명화 알고리즘의 조건을 만족하지 않아 사용이 제한되는 문제가 발생할 수 있다. 이하에서 이 경우 처리과정을 이어서 설명할 수 있다.
도 8은 익명화 알고리즘의 조건을 만족하지 않게된 레코드에 대한 처리 방법을 설명하는 예시도이다.
도 8을 참조하면, 앞서 일반화 레벨을 감소시킨 빅 사이즈 클래스인 동등 클래스 A에서 익명화 알고리즘 조건을 만족하는 20개의 레코드(앞에서 제1 데이터로 지칭)는 그대로 유지하고 나머지 80개의 레코드(80 rows)는 다시 선택된 일반화 레벨로 복원할 수 있다.
이때 복원된 80개의 레코드를 제2 데이터로 지칭할 수 있다.
이처럼 제1 데이터와 제2 데이터는 다시 최적화 대상 테이블에 빅 사이즈 클래스를 대신하여 포함될 수 있고, 이에 따라 각각의 동등 클래스가 새롭게 구성되어 재구성된 비식별화 테이블이 도출될 수 있다.
구체적으로, 일반화 레벨이 감소되어 K-익명성 알고리즘의 조건을 만족하는 20개의 레코드가 생길 수 있고, 다시 선택된 일반화 레벨로 복원된 제2 데이터는 여러 동등 클래스에 편입되거나, 새롭게 동등 클래스로 구성될 수도 있다.
다시 도 6을 참조하면, 상기 최적화 대상 테이블에 대하여 상기 빅 사이즈 클래스 내의 데이터를 상기 제1 데이터 및 상기 제2 데이터로 치환하여 재구성된 비식별화 테이블을 획득하는 단계(S640)를 더 포함할 수 있다.
즉, 제 1 데이터와 제2 데이터로 치환하면, 최적화 대상 테이블은 다시 동등 클래스가 새롭게 구성될 수 있고, 이와 같이 재구성된 비식별화 테이블을 획득할 수 있다.
여기서, 앞에서 설명한 익명화 레벨을 감소시키는 경우의 수에서 익명화 알고리즘의 조건을 만족하는 제1 데이터가 도출되는 경우는 하나 이상 있을 수 있다. 따라서 이에따라 재구성될 수 있는 비식별화 테이블 모두를 사용자에게 제공하는 것은 시스템 성능 저하 및 효율성 측면에서 바람직하지 않을 수 있다. 따라서, 사용자의 피드백을 입력받아 사용자가 원하는 테이블만을 도출하여 제공할 수 있다.
예를 들면, 상기 제2 데이터 중에서, 상기 익명화 알고리즘의 조건을 만족하는 제3 데이터 및 상기 익명화 알고리즘의 조건을 만족하지 않는 제4 데이터를 확인하는 단계 및 상기 제1 데이터, 상기 제3 데이터 및 상기 제4 데이터가 각각 상기 재구성된 비식별화 테이블에서 차지하는 비율을 사용자에게 제공하는 단계를 더 포함할 수 있다.
이하에서 도면을 참조하여 사용자에게 제공하는 단계를 상세하게 설명할 수 있다.
도 9는 일반화 레벨을 감소하여 재구성된 비식별화 테이블에 대한 정보를 사용자에게 제공하는 사용자 인터페이스에 대한 예시도이다.
도 9를 참조하면, 일반화 레벨을 감소시킴에 따라 재구성된 비식별화 테이블에 대한 정보를 사용자에게 제공할 수 있다.
예를 들면, 재구성된 비식별화 테이블에 대하여, 일반화 레벨을 감소시켜 익명화 알고리즘의 조건을 만족하는 레코드(앞의 제1 데이터)의 전체 비율과, 익명화 알고리즘의 조건을 만족하지 않아 선택된 익명화 레벨로 다시 일반화하여 익명화 알고리즘의 조건을 만족하게된 레코드(앞의 제3 데이터)의 비율 및 선택된 익명화 레벨로 다시 일반화하였음에도 익명화 알고리즘의 조건을 만족하지 않게되어 사용이 제한되는 레코드(앞의 제4 데이터)의 비율을 사용자에게 제공할 수 있다.
사용자는 이와 같이 제공된 비율 정보를 참조하여 재구성된 비식별화 테이블의 선택 여부를 입력할 수 있는데, 사용자의 목적에 부합하는 비율이 제시되지 않는 한 재구성된 비식별화 테이블 선택 여부에 대하여 거부를 입력할 수 있다.
선택을 거부하면, 다시 익명화 알고리즘의 조건을 만족하도록 일반화 레벨이 감소되어 재구성된 비식별화 테이블을 도출하여 그에 대한 비율을 제공할 수 있고, 사용자는 제공된 비율을 참조하여 재구성된 비식별화 테이블의 선택 여부를 다시 입력할 수 있다.
이와 같은 과정은 사용자가 재구성된 비식별화 테이블을 선택할 때까지 반복하여 수행될 수 있다.
한편, 다시 도 6을 참조하면 상기 재구성된 비식별화 테이블을 획득하는 단계(S640) 이후에, 상기 재구성된 비식별화 테이블을 상기 최적화 대상 테이블로 하여 상기 빅 사이즈 클래스를 선정하는 단계부터 재수행하는 단계를 더 포함할 수 있다.
이와 같이 재귀적으로 빅 사이즈 클래스의 일반화 레벨을 감소시킬 수 있고, 지나치게 일반화되어있는 레코드를 재정리함으로써 최적화를 수행할 수 있다.
또한, 여기서의 재수행은 재구성된 비식별화 테이블을 획득하는 단계(S640) 직후로 한정 해석되는 것이 아니라, 사용자로부터 재구성된 비식별화 테이블이 선택된 후에 수행될 수 있다.
도 10은 본 발명의 일 실시예에 따른 비식별화된 데이터를 최적화하는 제1 방법에 따라 재구성된 비식별화 테이블에 관한 예시도이다.
도 10을 참조하면, 최적화 대상 테이블이 최적화되어 재구성된 비식별화 테이블이 도출될 수 있고, 이때, 최적화 전과 비교하면 익명화 알고리즘의 조건을 만족하지 않아 사용이 제한되는 레코드들은 더 증가할 수 있다.
K-익명화 알고리즘을 예로 들면, 익명화 알고리즘의 k값보다 작은 레코드 개수를 갖는 동등 클래스는 사용이 제한될 수 있다.
여기서, k값이 10이라고 하면, 8 개의 레코드를 갖는 동등 클래스, 7개의 레코드를 갖는 동등 클래스, 3개의 레코드를 갖는 동등 클래스가 이에 해당될 수 있고, 이처럼 사용이 제한되는 동등 클래스를 스몰 사이즈 클래스로 지칭할 수 있다.
다만, 스몰 사이즈 클래스의 기준에 대해서는 유동적으로 변동될 수 있으며, 이에 대해서는 도 11에서의 설명을 참조할 수 있다.
정리하면, 이와 같이 버려지는 레코드들이 증가하면, 사용자로서는 수집된 데이터의 일부를 활용하지 못하게 되어 문제되므로 재식별 가능성을 차단하면서 일반화 레벨을 증가시킬 필요성이 있다.
따라서, 이하에서는 이러한 경우의 최적화 방법을 설명할 수 있다.
도 11은 본 발명의 일 실시예에 따른 비식별화된 데이터를 최적화하는 제2 방법에 대한 흐름도이다.
도 11을 참조하면, 비식별화된 데이터를 최적화하는 방법은, 익명화 알고리즘의 조건을 만족하도록 선택된 일반화 레벨(selected level)로 비식별화된 최적화 대상 테이블을 획득하는 단계(S1100), 상기 최적화 대상 테이블에서 스몰 사이즈 클래스(small size class)를 선정하는 단계(S1110) 및 상기 스몰 사이즈 클래스에 포함된 레코드에 대하여, 일반화 레벨을 증가시켜 상기 익명화 알고리즘의 조건을 만족하는 제1 데이터 및 상기 익명화 알고리즘의 조건을 만족하지 않는 제2 데이터를 도출하는 단계(S1120)를 포함할 수 있다.
여기서 최적화 대상 테이블은 도 6에 따른 방법과 마찬가지로 특정 비식별화 방법이나 일반화 레벨에 제한되지 않는 것으로 해석되어야 한다. 예를 들면, 도 6을 다시 참조하였을 때 재구성된 비식별화 테이블을 획득하는 단계(S640) 이후에, 재구성된 비식별화 테이블을 최적화 대상 테이블로 하여 도 11에서의 스몰 사이즈 클래스(small size class)를 선정하는 단계(S1110)부터 수행할 수 있다.
한편, 제2 데이터를 도출하는 단계(S1120)에서, 일반화 레벨을 증가시키는 것은 앞서 도 6에서의 설명에서 일반화 레벨을 감소시키는 경우와 같이 적용된 일반화 레벨에 따라 다양한 경우의 수가 있을 수 있고, 이와 같은 경우의 수에서 익명화 알고리즘의 조건을 만족하는 경우 역시 하나 이상 존재할 수 있다.
따라서, 익명화 알고리즘의 조건을 만족하는 결과 모두를 도출할 수 있다고 할 것이나, 성능 저하를 고려하여 일부만을 도출할 수도 있고 이 경우 어느 결과를 먼저 도출할 것인지 문제될 수 있다.
이에 따른 문제점을 해결하는 일 실시예로, 상기 제2 데이터를 도출하는 단계(S1120)는, 사용자로부터 입력된 속성 우선순위를 고려하여 일반화 레벨을 증가시킬 수 있다.
예를 들면, 사용자로부터 입력된 속성 우선순위가 높을수록 일반화 레벨이 낮아야한다는 의미일 수 있으므로, 입력된 속성 우선순위의 역순에 따라 우선적으로 일반화 레벨을 증가시키고, 그 중에서 익명화 알고리즘의 조건을 만족하는 경우의 제1 데이터 및 제2 데이터를 먼저 도출할 수 있다.
한편, 사용자가 분석에 가장 필요하다고 판단된 타겟 속성(target attribute)이 있는 경우, 해당 타겟 속성의 일반화 레벨이 증가되는 것은 바람직하지 않을 수 있다.
따라서, 제2 데이터를 도출하는 단계(S1120)는, 사용자로부터 입력된 타겟 속성(target attribute)은 제외하고 나머지 속성에 대해서 일반화 레벨을 증가시킬 수 있다.
또한, 상기 스몰 사이즈 클래스는, 상기 최적화 대상 테이블에 존재하는 동등 클래스(equivalence class) 중에서 상기 익명화 알고리즘의 조건을 기초로 결정된 스몰 사이즈 임계 조건을 만족하는 클래스를 포함할 수 있다.
예를 들면, 스몰 사이즈 클래스는 K-익명성 알고리즘을 기초로 할 경우 k값보다 1 이상 작은 값을 스몰 사이즈 임계 조건으로 할 수 있으며, 더 구체적으로는 k값보다 1 작은 값을 스몰 사이즈 임계 조건으로 할 수 있다. 다만, 이것은 예시적인 것이고 스몰 사이즈 임계 조건을 크게 잡을수록 최적화가 필요한 스몰 사이즈 클래스의 수는 증가하고, 작게 잡을수록 스몰 사이즈 클래스의 수는 감소하므로, 본 발명이 속하는 기술분야에서 통상의 기술자가 필요에 따라 유동적으로 결정할 수 있다.
여기서, 비식별화된 데이터의 최적화 방법은, 상기 최적화 대상 테이블에 대하여 상기 스몰 사이즈 클래스 내의 데이터를 상기 제1 데이터 및 상기 제2 데이터로 치환하여 재구성된 비식별화 테이블을 획득하는 단계(S1130)를 더 포함할 수 있다.
여기서, 도 6에서의 설명과 마찬가지로 재구성된 비식별화 테이블에서 제1 데이터 및 제2 데이터가 차지하는 비율을 사용자에게 제공할 수 있고, 이에 따라 사용자로부터 재구성된 비식별화 테이블의 선택 여부를 피드백 받을 수 있다.
사용자로부터 재구성된 비식별화 테이블의 선택을 거부하는 것으로 입력받은 경우에는 다시 다른 경우에 따라 익명화 레벨을 증가시켜 익명화 알고리즘의 조건을 만족하는 다른 결과를 도출할 수 있고, 이에 대하여 사용자가 도출된 결과를 선택할 때까지 반복하여 수행될 수 있다.
여기서, 상기 재구성된 비식별화 테이블을 획득하는 단계 이후에, 상기 재구성된 비식별화 테이블을 상기 최적화 대상 테이블로 하여 상기 스몰 사이즈 클래스를 선정하는 단계부터 재수행하는 단계를 더 포함할 수 있다.
여기서 재수행하는 단계는 재구성된 비식별화 테이블을 획득하는 단계 직후뿐만 아니라, 사용자로부터 재구성된 비식별화 테이블을 선택하는 입력을 받은 이후에 수행될 수 있는 것으로 해석되어야 한다.
도 12는 본 발명의 일 실시예에 따른 비식별화된 데이터의 최적화 장치에 대한 구성도이다.
도 12를 참조하면, 비식별화된 데이터의 최적화 장치(10)는 적어도 하나의 명령어를 실행하는 프로세서(processor, 11) 및 상기 적어도 하나의 명령어를 저장하는 메모리(memory, 12)를 포함할 수 있다.
여기서, 비식별화된 데이터의 최적화 장치(10)는 사용자에 의해 조작되는 사용자 단말과 유무선 네트워크를 이용하여 통신하는 통신부(13)를 더 포함할 수 있다.
여기서, 비식별화된 데이터의 최적화 장치는 사용자로부터 입력을 수신하는 입력부(14)를 더 포함할 수 있다. 입력부의 예를 들면, 키보드, 마우스, 터치스크린 등이 있을 수 있다.
여기서, 비식별화된 데이터의 최적화 장치의 예를 들면, 통신 가능한 데스크탑 컴퓨터(desktop computer), 랩탑 컴퓨터(laptop computer), 노트북(notebook), 스마트폰(smart phone), 태블릿 PC(tablet PC), 모바일폰(mobile phone), 스마트 워치(smart watch), 스마트 글래스(smart glass), e-book 리더기, PMP(portable multimedia player), 휴대용 게임기, 네비게이션(navigation) 장치, 디지털 카메라(digital camera), DMB(digital multimedia broadcasting) 재생기, 디지털 음성 녹음기(digital audio recorder), 디지털 음성 재생기(digital audio player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player), PDA(Personal Digital Assistant) 등일 수 있다.
여기서 프로세서(11)는, 익명화 알고리즘의 조건을 만족하도록 선택된 일반화 레벨(selected level)로 비식별화된 최적화 대상 테이블을 획득하고, 상기 최적화 대상 테이블에서 빅 사이즈 클래스(big size class)를 선정하고, 상기 빅 사이즈 클래스에 포함된 레코드에 대하여, 일반화 레벨을 감소시켜 상기 익명화 알고리즘의 조건을 만족하는 제1 데이터를 도출하고, 상기 빅 사이즈 클래스 내에서 상기 제1 데이터를 제외한 나머지 데이터에 대하여, 상기 선택된 일반화 레벨(selected level)로 비식별화하여 제2 데이터를 도출할 수 있다.
여기서 프로세서(11)는, 상기 최적화 대상 테이블에 대하여 상기 빅 사이즈 클래스 내의 데이터를 상기 제1 데이터 및 상기 제2 데이터로 치환하여 재구성된 비식별화 테이블을 획득할 수 있다.
여기서 프로세서(11)는, 상기 재구성된 비식별화 테이블에서 스몰 사이즈 클래스(small size class)를 선정하고, 상기 스몰 사이즈 클래스에 포함된 레코드에 대하여, 일반화 레벨을 증가시켜 상기 익명화 알고리즘의 조건을 만족하는 제3 데이터 및 상기 익명화 알고리즘의 조건을 만족하지 않는 제4 데이터를 도출할 수 있다.
여기서 프로세서(11)는, 상기 재구성된 비식별화 테이블에 대하여 상기 스몰 사이즈 클래스 내의 데이터를 상기 제3 데이터 및 상기 제4 데이터로 치환하여 2차 재구성된 비식별화 테이블을 획득할 수 있다.
여기서 상기 빅 사이즈 클래스는, 상기 최적화 대상 테이블에 존재하는 동등 클래스(equivalence class) 중에서 상기 익명화 알고리즘의 조건을 기초로 결정된 빅 사이즈 임계 조건을 만족하는 클래스를 포함할 수 있다.
여기서, 상기 스몰 사이즈 클래스는, 상기 재구성된 비식별화 테이블에 존재하는 동등 클래스(equivalence class) 중에서 상기 익명화 알고리즘의 조건을 기초로 결정된 스몰 사이즈 임계 조건을 만족하는 클래스를 포함할 수 있다.
여기서, 프로세서(11)는, 사용자로부터 입력된 속성 우선순위를 고려하여 익명화 레벨을 증가시키거나 감소시킬 수 있다.
본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능 매체의 예에는 롬(ROM), 램(RAM), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
또한, 상술한 방법 또는 장치는 그 구성이나 기능의 전부 또는 일부가 결합되어 구현되거나, 분리되어 구현될 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (20)

  1. 익명화 알고리즘의 조건을 만족하도록 선택된 일반화 레벨(selected level)로 비식별화된 최적화 대상 테이블을 획득하는 단계;
    상기 최적화 대상 테이블에서 빅 사이즈 클래스(big size class)를 선정하는 단계;
    상기 빅 사이즈 클래스에 포함된 레코드에 대하여, 일반화 레벨을 감소시켜 상기 익명화 알고리즘의 조건을 만족하는 제1 데이터를 도출하는 단계; 및
    상기 빅 사이즈 클래스 내에서 상기 제1 데이터를 제외한 나머지 데이터에 대하여, 상기 선택된 일반화 레벨(selected level)로 비식별화하여 제2 데이터를 도출하는 단계를 포함하는, 비식별화된 데이터의 최적화 방법.
  2. 청구항 1에 있어서,
    상기 빅 사이즈 클래스는,
    상기 최적화 대상 테이블에 존재하는 동등 클래스(equivalence class) 중에서 상기 익명화 알고리즘의 조건을 기초로 결정된 빅 사이즈 임계 조건을 만족하는 클래스를 포함하는, 비식별화된 데이터의 최적화 방법.
  3. 청구항 1에 있어서,
    상기 제1 데이터를 도출하는 단계는,
    사용자로부터 입력된 속성 우선순위를 고려하여 익명화 레벨을 감소시키는, 비식별화된 데이터의 최적화 방법.
  4. 청구항 3에 있어서,
    상기 제1 데이터를 도출하는 단계는,
    상기 속성 우선순위가 높은 속성에 대한 일반화 레벨을 우선적으로 감소시키는, 비식별화된 데이터의 최적화 방법.
  5. 청구항 1에 있어서,
    상기 최적화 대상 테이블에 대하여 상기 빅 사이즈 클래스 내의 데이터를 상기 제1 데이터 및 상기 제2 데이터로 치환하여 재구성된 비식별화 테이블을 획득하는 단계를 더 포함하는, 비식별화된 데이터의 최적화 방법.
  6. 청구항 5에 있어서,
    상기 제2 데이터 중에서, 상기 익명화 알고리즘의 조건을 만족하는 제3 데이터 및 상기 익명화 알고리즘의 조건을 만족하지 않는 제4 데이터를 확인하는 단계; 및
    상기 제1 데이터, 상기 제3 데이터 및 상기 제4 데이터가 각각 상기 재구성된 비식별화 테이블에서 차지하는 비율을 사용자에게 제공하는 단계를 더 포함하는, 비식별화된 데이터의 최적화 방법.
  7. 청구항 5에 있어서,
    상기 재구성된 비식별화 테이블을 상기 최적화 대상 테이블로 하여 상기 빅 사이즈 클래스를 선정하는 단계부터 재수행하는 단계를 더 포함하는, 비식별화된 데이터의 최적화 방법.
  8. 익명화 알고리즘의 조건을 만족하도록 선택된 일반화 레벨(selected level)로 비식별화된 최적화 대상 테이블을 획득하는 단계;
    상기 최적화 대상 테이블에서 스몰 사이즈 클래스(small size class)를 선정하는 단계; 및
    상기 스몰 사이즈 클래스에 포함된 레코드에 대하여, 일반화 레벨을 증가시켜 상기 익명화 알고리즘의 조건을 만족하는 제1 데이터 및 상기 익명화 알고리즘의 조건을 만족하지 않는 제2 데이터를 도출하는 단계를 포함하는, 비식별화된 데이터의 최적화 방법.
  9. 청구항 8에 있어서,
    상기 제2 데이터를 도출하는 단계는,
    사용자로부터 입력된 속성 우선순위를 고려하여 일반화 레벨을 증가시키는, 비식별화된 데이터의 최적화 방법.
  10. 청구항 8에 있어서,
    상기 제2 데이터를 도출하는 단계는,
    사용자로부터 입력된 타겟 속성(target attribute)는 제외하고 나머지 속성에 대해서 일반화 레벨을 증가시키는, 비식별화된 데이터의 최적화 방법.
  11. 청구항 8에 있어서,
    상기 스몰 사이즈 클래스는,
    상기 최적화 대상 테이블에 존재하는 동등 클래스(equivalence class) 중에서 상기 익명화 알고리즘의 조건을 기초로 결정된 스몰 사이즈 임계 조건을 만족하는 클래스를 포함하는, 비식별화된 데이터의 최적화 방법.
  12. 청구항 8에 있어서,
    상기 최적화 대상 테이블에 대하여 상기 스몰 사이즈 클래스 내의 데이터를 상기 제1 데이터 및 상기 제2 데이터로 치환하여 재구성된 비식별화 테이블을 획득하는 단계를 더 포함하는, 비식별화된 데이터의 최적화 방법.
  13. 청구항 12에 있어서,
    상기 재구성된 비식별화 테이블을 상기 최적화 대상 테이블로 하여 상기 스몰 사이즈 클래스를 선정하는 단계부터 상기 재구성된 비식별화 테이블을 획득하는 단계까지 재수행하는 단계를 더 포함하는, 비식별화된 데이터의 최적화 방법.
  14. 적어도 하나의 명령어를 실행하는 프로세서(processor, 11) 및
    상기 적어도 하나의 명령어를 저장하는 메모리(memory, 12)를 포함하는 비식별화된 데이터의 최적화 장치에서,
    상기 프로세서는,
    익명화 알고리즘의 조건을 만족하도록 선택된 일반화 레벨(selected level)로 비식별화된 최적화 대상 테이블을 획득하고, 상기 최적화 대상 테이블에서 빅 사이즈 클래스(big size class)를 선정하고, 상기 빅 사이즈 클래스에 포함된 레코드에 대하여, 일반화 레벨을 감소시켜 상기 익명화 알고리즘의 조건을 만족하는 제1 데이터를 도출하고, 상기 빅 사이즈 클래스 내에서 상기 제1 데이터를 제외한 나머지 데이터에 대하여, 상기 선택된 일반화 레벨(selected level)로 비식별화하여 제2 데이터를 도출하는, 비식별화된 데이터의 최적화 장치.
  15. 청구항 14에 있어서,
    상기 프로세서는,
    상기 최적화 대상 테이블에 대하여 상기 빅 사이즈 클래스 내의 데이터를 상기 제1 데이터 및 상기 제2 데이터로 치환하여 재구성된 비식별화 테이블을 획득하는, 비식별화된 데이터의 최적화 장치.
  16. 청구항 15에 있어서,
    상기 프로세서는,
    상기 재구성된 비식별화 테이블에서 스몰 사이즈 클래스(small size class)를 선정하고, 상기 스몰 사이즈 클래스에 포함된 레코드에 대하여, 일반화 레벨을 증가시켜 상기 익명화 알고리즘의 조건을 만족하는 제3 데이터 및 상기 익명화 알고리즘의 조건을 만족하지 않는 제4 데이터를 도출하는, 비식별화된 데이터의 최적화 장치.
  17. 청구항 16에 있어서,
    상기 프로세서는,
    상기 재구성된 비식별화 테이블에 대하여 상기 스몰 사이즈 클래스 내의 데이터를 상기 제1 데이터 및 상기 제2 데이터로 치환하여 2차 재구성된 비식별화 테이블을 획득하는, 비식별화된 데이터의 최적화 장치.
  18. 청구항 14에 있어서,
    상기 빅 사이즈 클래스는,
    상기 최적화 대상 테이블에 존재하는 동등 클래스(equivalence class) 중에서 상기 익명화 알고리즘의 조건을 기초로 결정된 빅 사이즈 임계 조건을 만족하는 클래스를 포함하는, 비식별화된 데이터의 최적화 장치.
  19. 청구항 16에 있어서,
    상기 스몰 사이즈 클래스는,
    상기 재구성된 비식별화 테이블에 존재하는 동등 클래스(equivalence class) 중에서 상기 익명화 알고리즘의 조건을 기초로 결정된 스몰 사이즈 임계 조건을 만족하는 클래스를 포함하는, 비식별화된 데이터의 최적화 장치.
  20. 청구항 16에 있어서,
    상기 프로세서는,
    사용자로부터 입력된 속성 우선순위를 고려하여 익명화 레벨을 증가시키거나 감소시키는, 비식별화된 데이터의 최적화 장치.
KR1020160159827A 2016-11-29 2016-11-29 목적에 따라 비식별화된 데이터를 최적화하는 방법 및 장치 KR101973949B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160159827A KR101973949B1 (ko) 2016-11-29 2016-11-29 목적에 따라 비식별화된 데이터를 최적화하는 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160159827A KR101973949B1 (ko) 2016-11-29 2016-11-29 목적에 따라 비식별화된 데이터를 최적화하는 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20180060390A true KR20180060390A (ko) 2018-06-07
KR101973949B1 KR101973949B1 (ko) 2019-04-30

Family

ID=62621450

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160159827A KR101973949B1 (ko) 2016-11-29 2016-11-29 목적에 따라 비식별화된 데이터를 최적화하는 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101973949B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200026559A (ko) * 2018-09-03 2020-03-11 (주)아이알컴퍼니 K-익명성 모델 이용 데이터 셋 비식별화 방법 및 장치
KR102129031B1 (ko) * 2020-02-27 2020-07-02 주식회사 지란지교데이터 동영상 내의 보안정보 비식별화 방법 및 장치
WO2020241943A1 (ko) * 2019-05-31 2020-12-03 주식회사 보아라 빅데이터의 비식별화 처리방법
KR20230029048A (ko) 2021-08-23 2023-03-03 한국전자통신연구원 운전자 이미지 데이터셋 비식별화 방법 및 장치

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011113285A (ja) * 2009-11-26 2011-06-09 Kddi Corp 公開情報のプライバシー保護装置、公開情報のプライバシー保護方法およびプログラム
JP2011128862A (ja) * 2009-12-17 2011-06-30 Kddi Corp 公開情報のプライバシー保護装置、公開情報のプライバシー保護方法およびプログラム
WO2013031997A1 (ja) * 2011-09-02 2013-03-07 日本電気株式会社 匿名化装置、及び、匿名化方法
WO2013121739A1 (ja) * 2012-02-17 2013-08-22 日本電気株式会社 匿名化装置及び匿名化方法
JP2015046030A (ja) * 2013-08-28 2015-03-12 株式会社日立ソリューションズ パーソナル情報匿名化システム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011113285A (ja) * 2009-11-26 2011-06-09 Kddi Corp 公開情報のプライバシー保護装置、公開情報のプライバシー保護方法およびプログラム
JP2011128862A (ja) * 2009-12-17 2011-06-30 Kddi Corp 公開情報のプライバシー保護装置、公開情報のプライバシー保護方法およびプログラム
WO2013031997A1 (ja) * 2011-09-02 2013-03-07 日本電気株式会社 匿名化装置、及び、匿名化方法
WO2013121739A1 (ja) * 2012-02-17 2013-08-22 日本電気株式会社 匿名化装置及び匿名化方法
JP2015046030A (ja) * 2013-08-28 2015-03-12 株式会社日立ソリューションズ パーソナル情報匿名化システム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200026559A (ko) * 2018-09-03 2020-03-11 (주)아이알컴퍼니 K-익명성 모델 이용 데이터 셋 비식별화 방법 및 장치
WO2020241943A1 (ko) * 2019-05-31 2020-12-03 주식회사 보아라 빅데이터의 비식별화 처리방법
KR20220027961A (ko) * 2019-05-31 2022-03-08 주식회사 보아라 빅데이터의 비식별화 처리방법
US11941153B2 (en) 2019-05-31 2024-03-26 Boala Co., Ltd. De-identification method for big data
KR102129031B1 (ko) * 2020-02-27 2020-07-02 주식회사 지란지교데이터 동영상 내의 보안정보 비식별화 방법 및 장치
KR20230029048A (ko) 2021-08-23 2023-03-03 한국전자통신연구원 운전자 이미지 데이터셋 비식별화 방법 및 장치

Also Published As

Publication number Publication date
KR101973949B1 (ko) 2019-04-30

Similar Documents

Publication Publication Date Title
US11334685B2 (en) Smart de-identification using date jittering
TWI718643B (zh) 異常群體識別方法及裝置
KR101973949B1 (ko) 목적에 따라 비식별화된 데이터를 최적화하는 방법 및 장치
US10817621B2 (en) Anonymization processing device, anonymization processing method, and program
US9230132B2 (en) Anonymization for data having a relational part and sequential part
US9892278B2 (en) Focused personal identifying information redaction
US10565399B2 (en) Bottom up data anonymization in an in-memory database
US10289869B2 (en) Personal information anonymization method, recording medium, and information processing apparatus
US10360405B2 (en) Anonymization apparatus, and program
US20150033356A1 (en) Anonymization device, anonymization method and computer readable medium
US11449674B2 (en) Utility-preserving text de-identification with privacy guarantees
US10528761B2 (en) Data anonymization in an in-memory database
US11475029B2 (en) Presenting user information suggestions
US10565398B2 (en) K-anonymity and L-diversity data anonymization in an in-memory database
US20180218066A1 (en) Method and system for information retreival
KR102345142B1 (ko) 개인정보 보호를 위한 비식별화 방법 및 장치
WO2021169217A1 (zh) 摘要提取方法、装置、设备及计算机可读存储介质
JP2015114871A (ja) 公開情報のプライバシー保護装置、公開情報のプライバシー保護方法およびプログラム
CN107491484B (zh) 一种数据匹配方法、装置及设备
KR101948603B1 (ko) 데이터의 유용성 보존을 위한 익명화 장치 및 그 방법
US11874951B2 (en) System and method for risk aware data anonymization
US20170308829A1 (en) Method, system and computer program product for managing health care risk exposure of an organization
CN103488693A (zh) 数据处理装置和数据处理方法
CN108062379B (zh) 数据处理方法、平台、装置和计算机可读存储介质
EP4060542B1 (en) System and method for data anonymization using optimization techniques

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant