KR101798377B1 - 개인정보의 비식별화 방법 및 장치 - Google Patents

개인정보의 비식별화 방법 및 장치 Download PDF

Info

Publication number
KR101798377B1
KR101798377B1 KR1020160082839A KR20160082839A KR101798377B1 KR 101798377 B1 KR101798377 B1 KR 101798377B1 KR 1020160082839 A KR1020160082839 A KR 1020160082839A KR 20160082839 A KR20160082839 A KR 20160082839A KR 101798377 B1 KR101798377 B1 KR 101798377B1
Authority
KR
South Korea
Prior art keywords
attribute
personal information
record
lattice
node
Prior art date
Application number
KR1020160082839A
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 KR1020160082839A priority Critical patent/KR101798377B1/ko
Priority to CN201780048000.0A priority patent/CN109564616A/zh
Priority to PCT/KR2017/006765 priority patent/WO2018004236A1/ko
Priority to US16/314,202 priority patent/US11354436B2/en
Priority to JP2018569022A priority patent/JP6825016B2/ja
Priority to EP17820512.6A priority patent/EP3480721A4/en
Application granted granted Critical
Publication of KR101798377B1 publication Critical patent/KR101798377B1/ko
Priority to US17/744,630 priority patent/US20220277106A1/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

Landscapes

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

Abstract

개인정보의 비식별화 방법 및 장치가 개시된다. 개인정보 비식별화 방법은 데이터베이스로부터 개인정보를 지시하는 원시 데이터가 기록된 레코드들을 포함하는 원시 테이블을 획득하는 단계, 원시 테이블에 포함된 레코드들 각각에 기록된 원시 데이터를 일반화함으로써 일반화된 데이터를 생성하는 단계, 원시 데이터 및 일반화된 데이터로 구성되는 일반화 계층 모델을 설정하는 단계, 일반화 계층 모델에 기초하여 복수의 후보 노드들을 포함하는 원시 래티스를 생성하는 단계, 및 원시 래티스에 포함된 복수의 후보 노드들 중에서 미리 설정된 기준을 만족하는 적어도 하나의 후보 노드를 포함하는 최종 래티스를 설정하는 단계를 포함한다. 따라서, 개인정보가 효율적으로 비식별화될 수 있다.

Description

개인정보의 비식별화 방법 및 장치{METHOD FOR DE-IDENTIFICATION OF PERSONAL INFORMATION AND APPARATUS FOR THE SAME}
본 발명은 데이터 처리 기술에 관한 것으로, 더욱 상세하게는 개인정보를 포함하는 테이블에 대한 비식별화를 효율적으로 수행하기 위한 기술에 관한 것이다.
정보통신기술(예를 들어, 빅데이터 관련 기술)이 발전함에 따라 개인정보를 수집하는 기술, 수집된 개인정보를 분석하는 기술 등이 발전하고 있다. 개인정보는 주민번호, 주소, 우편번호, 이름, 생일, 성별, 질병, 연봉 등을 포함할 수 있다. 이와 같이, 빅데이터 관련 기술이 발전함에 따라 개인정보는 다양한 분야에서 사용될 수 있다. 예를 들어, 기업은 개인정보에 기초하여 특정 소비자에게 자신의 상품, 서비스 등을 광고할 수 있고, 이에 따라 소비자는 자신이 원하는 상품, 서비스에 대한 정보를 기업으로부터 용이하게 획득할 수 있다.
그러나 개인정보가 무분별하게 사용됨으로써 정보주체인 개인의 기본권이 침해될 수 있다. 이러한 문제를 해소하기 위해 개인정보의 비식별화 기술이 고려될 수 있다. 비식별화 기술은 개인정보의 일부 또는 전부를 삭제하거나 대체(즉, 개인정보를 지시하는 데이터에 대한 일반화 수행)함으로써 다른 정보와 결합하여도 특정 개인을 식별할 수 없도록 하는 것을 의미한다. 개인정보에 대한 비식별화가 수행되는 경우, 일반화 레벨(level)에 따라 개인정보가 일반화되는 범위가 달라질 수 있다. 모든 일반화 레벨들 각각에 대한 개인정보의 비식별화가 수행되는 경우, 비식별화된 개인정보를 생성하기 위해 많은 시간이 소모될 수 있다.
또한, 일반화 레벨에 따라 개인정보의 사용성, 재식별화 위험성 등이 달라질 수 있다. 예를 들어, 개인정보 중에서 상대적으로 많은 부분이 일반화되는 경우, 비식별화된 개인정보의 분석시에 상대적으로 많은 오류가 발생하게 되고, 이에 따라 비식별화된 개인정보의 사용성은 저하될 수 있다. 반대로, 개인정보 중에서 상대적으로 적은 부분이 일반화되는 경우, 비식별화된 개인정보는 상대적으로 용이하게 추론되거나 재식별될 수 있으며, 이에 따라 비식별화된 개인정보의 재식별화 위험성은 증가될 수 있다.
또한, 개인정보의 비식별화를 위해 먼저 데이터베이스로부터 개인정보를 포함하는 테이블이 획득되어야 한다. 데이터베이스로부터 획득된 테이블은 다양하고 많은 정보를 포함하고 있으며, 필요한 정보를 포함하는 테이블을 생성하기 위해 많은 시간이 소요될 수 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 개인정보를 효율적으로 비식별화하기 위한 방법 및 장치를 제공하는 데 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 개인정보 비식별화 장치에서 수행되는 개인정보 비식별화 방법은, 데이터베이스로부터 개인정보를 지시하는 원시 데이터가 기록된 레코드들을 포함하는 원시 테이블을 획득하는 단계, 일반화 레벨에 기초하여 상기 원시 테이블에 포함된 레코드들 각각에 기록된 원시 데이터를 일반화함으로써 일반화된 데이터를 생성하는 단계, 상기 원시 데이터 및 상기 일반화된 데이터로 구성되는 일반화 계층 모델을 설정하는 단계, 상기 일반화 계층 모델에 의해 지시되는 계층 구조에 기초하여, 개인정보의 종류별 일반화 레벨을 지시하는 테이블을 지시하는 복수의 후보 노드들을 포함하는 원시 래티스를 생성하는 단계, 및 상기 원시 래티스에 포함된 상기 복수의 후보 노드들 중에서 미리 설정된 기준을 만족하는 적어도 하나의 후보 노드를 포함하는 최종 래티스를 설정하는 단계를 포함한다.
여기서, 상기 개인정보 비식별화 방법은 상기 원시 테이블에 포함된 레코드들 각각의 속성을 설정하는 단계를 더 포함할 수 있다.
여기서, 상기 속성은 ID, QI, SA 및 IA로 분류될 수 있고, 특정 개인이 명시적으로 식별되는 개인정보를 지시하는 원시 데이터가 기록된 레코드는 ID로 설정될 수 있고, 특정 개인이 묵시적으로 식별되는 개인정보를 지시하는 원시 데이터가 기록된 레코드는 QI로 설정될 수 있고, 미리 설정된 기준 이상의 민감도를 가지는 개인정보를 지시하는 원시 데이터가 기록된 레코드는 SA로 설정될 수 있고, SA보다 낮은 민감도를 가지는 개인정보를 지시하는 원시 데이터가 기록된 레코드는 IA로 설정될 수 있다.
여기서, 상기 개인정보 비식별화 방법은 상기 원시 테이블에 포함된 레코드들 중에서 상기 속성이 ID로 설정된 레코드를 마스킹 처리하는 단계를 더 포함할 수 있다.
여기서, 상기 개인정보 비식별화 방법은 상기 원시 테이블에 포함된 레코드들 중에서 상기 속성이 QI로 설정된 레코드에 기록된 원시 데이터에 의해 지시되는 개인정보의 종류에 따라 상기 일반화 레벨을 설정하는 단계를 더 포함할 수 있다.
여기서, 상기 테이블에 포함된 레코드들 중에서 상기 속성이 QI로 설정된 레코드에 기록된 원시 데이터는 일반화 레벨에 기초하여 일반화될 수 있다.
여기서, 상기 최종 래티스를 설정하는 단계는 상기 원시 래티스에 포함된 복수의 후보 노드들 중에서 적어도 하나의 후보 노드를 선택하는 단계, 상기 적어도 하나의 후보 노드에 의해 지시되는 일반화 레벨에 기초하여 상기 원시 테이블에 대한 비식별화를 수행함으로써 비식별화된 테이블을 생성하는 단계, 미리 설정된 억제 기준을 만족하는 비식별화된 테이블에 대응하는 후보 노드를 최종 노드로 설정하는 단계, 및 상기 미리 설정된 기준을 만족하는 후보 노드에 대응하는 상기 최종 노드를 포함하는 상기 최종 래티스를 설정하는 단계를 포함할 수 있다.
여기서, 상기 비식별화된 테이블은 K-익명성을 기초로 생성되거나, 상기 K-익명성 및 L-다양성을 기초로 생성되거나, 또는 상기 K-익명성 및 T-근접성을 기초로 생성될 수 있다.
여기서, 상기 미리 설정된 억제 기준은 상기 비식별화된 테이블을 구성하는 동등 클래스들 중에서 상기 미리 설정된 K-익명성을 만족하지 않는 동등 클래스의 비율을 지시할 수 있다.
여기서, 상기 개인정보 비식별화 방법은 상기 최종 래티스에 포함된 적어도 하나의 최종 노드에 대응하는 비식별화된 테이블의 재식별화 위험성 및 유용성을 계산하는 단계를 더 포함할 수 있다.
상기 목적을 달성하기 위한 본 발명의 다른 실시예에 따른 개인정보 비식별화 장치는 프로세서 및 상기 프로세서를 통해 실행되는 적어도 하나의 명령이 저장된 메모리를 포함하고, 상기 적어도 하나의 명령은 데이터베이스로부터 개인정보를 지시하는 원시 데이터가 기록된 레코드들을 포함하는 원시 테이블을 획득하고, 일반화 레벨에 기초하여 상기 원시 테이블에 포함된 레코드들 각각에 기록된 원시 데이터를 일반화함으로써 일반화된 데이터를 생성하고, 상기 원시 데이터 및 상기 일반화된 데이터로 구성되는 일반화 계층 모델을 설정하고, 상기 일반화 계층 모델에 의해 지시되는 계층 구조에 기초하여, 개인정보의 종류별 일반화 레벨을 지시하는 테이블을 지시하는 복수의 후보 노드들을 포함하는 원시 래티스를 생성하고, 그리고 상기 원시 래티스에 포함된 상기 복수의 후보 노드들 중에서 미리 설정된 기준을 만족하는 적어도 하나의 후보 노드를 포함하는 최종 래티스를 설정하도록 실행 가능하다.
여기서, 상기 적어도 하나의 명령은 상기 원시 테이블에 포함된 레코드들 각각의 속성을 설정하도록 더 실행 가능할 수 있다.
여기서, 상기 속성은 ID, QI, SA 및 IA로 분류될 수 있고, 특정 개인이 명시적으로 식별되는 개인정보를 지시하는 원시 데이터가 기록된 레코드는 ID로 설정될 수 있고, 특정 개인이 묵시적으로 식별되는 개인정보를 지시하는 원시 데이터가 기록된 레코드는 QI로 설정될 수 있고, 미리 설정된 기준 이상의 민감도를 가지는 개인정보를 지시하는 원시 데이터가 기록된 레코드는 SA로 설정될 수 있고, SA보다 낮은 민감도를 가지는 개인정보를 지시하는 원시 데이터가 기록된 레코드는 IA로 설정될 수 있다.
여기서, 상기 적어도 하나의 명령은 상기 원시 테이블에 포함된 레코드들 중에서 상기 속성이 ID로 설정된 레코드를 마스킹 처리하도록 더 실행 가능할 수 있다.
여기서, 상기 적어도 하나의 명령은 상기 원시 테이블에 포함된 레코드들 중에서 상기 속성이 QI로 설정된 레코드에 기록된 원시 데이터에 의해 지시되는 개인정보의 종류에 따라 상기 일반화 레벨을 설정하도록 더 실행 가능할 수 있다.
여기서, 상기 테이블에 포함된 레코드들 중에서 상기 속성이 QI로 설정된 레코드에 기록된 원시 데이터는 일반화 레벨에 기초하여 일반화될 수 있다.
여기서, 상기 적어도 하나의 명령은 상기 최종 래티스를 설정하는 경우, 상기 원시 래티스에 포함된 복수의 후보 노드들 중에서 적어도 하나의 후보 노드를 선택하고, 상기 적어도 하나의 후보 노드에 의해 지시되는 일반화 레벨에 기초하여 상기 원시 테이블에 대한 비식별화를 수행함으로써 비식별화된 테이블을 생성하고, 미리 설정된 억제 기준을 만족하는 비식별화된 테이블에 대응하는 후보 노드를 최종 노드로 설정하고, 그리고 상기 미리 설정된 기준을 만족하는 후보 노드에 대응하는 상기 최종 노드를 포함하는 상기 최종 래티스를 설정하도록 실행 가능할 수 있다.
여기서, 상기 비식별화된 테이블은 K-익명성을 기초로 생성되거나, 상기 K-익명성 및 L-다양성을 기초로 생성되거나, 또는 상기 K-익명성 및 T-근접성을 기초로 생성될 수 있다.
여기서, 상기 미리 설정된 억제 기준은 상기 비식별화된 테이블을 구성하는 동등 클래스들 중에서 상기 미리 설정된 K-익명성을 만족하지 않는 동등 클래스의 비율을 지시할 수 있다.
여기서, 상기 적어도 하나의 명령은 상기 최종 래티스에 포함된 적어도 하나의 최종 노드에 대응하는 비식별화된 테이블의 재식별화 위험성 및 유용성을 계산하도록 더 실행 가능할 수 있다.
본 발명에 의하면, 미리 설정된 기준을 만족하는 일반화 레벨에 대응하는 개인정보에 대한 비식별화가 수행되므로, 비식별화 절차가 신속히 수행될 수 있다. 또한, 비식별화된 개인정보의 사용성이 향상될 수 있고, 비식별화된 개인정보의 재식별화 위험성이 감소(또는, 개인정보의 재식별화 위험성이 제거)될 수 있다.
또한, 고객의 데이터 유형, 사용 목적 등을 고려하여 개인정보의 비식별화가 수행될 수 있으며, 이에 따라 비식별화된 개인정보의 사용성이 보다 향상될 수 있다. 개인정보의 비식별화를 위해 유전 알고리즘이 사용됨으로써 개인정보의 비식별화가 신속히 수행될 수 있다.
또한, 개인정보를 포함하는 테이블의 레코드에 대한 속성이 효율적으로(또는, 신속하게) 설정될 수 있다. 따라서, 개인정보의 비식별화가 보다 신속히 수행될 수 있다.
도 1은 본 발명에 따른 방법들을 수행하는 개인정보 비식별화 장치의 일 실시예를 도시한 블록도이다.
도 2는 개인정보 비식별화 방법에 대한 일 실시예를 도시한 흐름도이다.
도 3은 레코드의 속성 설정 방법에 대한 일 실시예를 도시한 흐름도이다.
도 4는 테이블의 일 실시예를 도시한 개념도이다.
도 5는 GH 모델을 설정하는 방법에 대한 일 실시예를 도시한 흐름도이다.
도 6은 우편번호 레코드에 대한 GH 모델의 일 실시예를 도시한 개념도이다.
도 7은 나이 레코드에 대한 GH 모델의 일 실시예를 도시한 개념도이다.
도 8은 국적 레코드에 대한 GH 모델의 일 실시예를 도시한 개념도이다.
도 9는 성별 레코드에 대한 GH 모델의 일 실시예를 도시한 개념도이다.
도 10은 비식별화된 테이블의 일 실시예를 도시한 개념도이다.
도 11은 비식별화된 테이블의 다른 실시예를 도시한 개념도이다.
도 12는 원시 래티스의 일 실시예를 도시한 개념도이다.
도 13은 최종 래티스의 설정 방법을 도시한 흐름도이다.
도 14는 마스킹 처리된 레코드들을 포함하는 테이블의 일 실시예를 도시한 개념도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명에 따른 방법들을 수행하는 개인정보 비식별화 장치의 일 실시예를 도시한 블록도이다.
도 1을 참조하면, 개인정보 비식별화 장치(100)는 적어도 하나의 프로세서(110) 및 메모리(120)를 포함할 수 있다. 또한, 개인정보 비식별화 장치(100)는 네트워크와 연결되어 통신을 수행하는 네트워크 인터페이스 장치(130), 입력 인터페이스 장치(140), 출력 인터페이스 장치(150), 저장 장치(160) 등을 더 포함할 수 있다. 개인정보 비식별화 장치(100)에 포함된 각각의 구성 요소들은 버스(bus)(170)에 의해 연결되어 서로 통신을 수행할 수 있다. 개인정보 비식별화 장치(100)는 간략히 "비식별화 장치(100)"로 지칭될 수 있다.
프로세서(110)는 메모리(120) 및/또는 저장 장치(160)에 저장된 프로그램 명령(program command)을 실행할 수 있다. 프로세서(110)는 중앙 처리 장치(central processing unit; CPU), 그래픽 처리 장치(graphics processing unit; GPU) 또는 본 발명에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 메모리(120)와 저장 장치(160)는 휘발성 저장 매체 및/또는 비휘발성 저장 매체로 구성될 수 있다. 예를 들어, 메모리(120)는 읽기 전용 메모리(read only memory; ROM) 및/또는 랜덤 액세스 메모리(random access memory; RAM)로 구성될 수 있다.
여기서, 비식별화 장치(100)는 데스크탑 컴퓨터(desktop computer), 랩탑 컴퓨터(laptop computer), 태블릿(tablet) PC, 무선전화기(wireless phone), 모바일폰(mobile phone), 스마트 폰(smart phone) 등을 일 수 있다.
한편, 비식별화 장치(100)에서 수행되는 방법(예를 들어, 신호의 전송 또는 수신)이 설명되는 경우에도 이에 대응하는 다른 장치는 비식별화 장치(100)에서 수행되는 방법과 상응하는 방법(예를 들어, 신호의 수신 또는 전송)을 수행할 수 있다. 즉, 비식별화 장치(100)의 동작이 설명된 경우에 이에 대응하는 다른 장치는 비식별화 장치(100)의 동작과 상응하는 동작을 수행할 수 있다. 반대로, 다른 장치의 동작이 설명된 경우에 이에 대응하는 비식별화 장치(100)는 다른 장치의 동작과 상응하는 동작을 수행할 수 있다.
도 2는 개인정보 비식별화 방법에 대한 일 실시예를 도시한 흐름도이다.
도 2를 참조하면, 개인정보 비식별화 방법은 도 1을 참조하여 설명된 비식별화 장치(100)(예를 들어, 비식별화 장치(100)에 포함된 프로세서(110))에 의해 수행될 수 있다. 비식별화 장치(100)는 데이터베이스(database)(또는, CSV(comma-separated values) 파일 등)로부터 복수의 레코드(record)들로 구성되는 테이블(table)을 획득할 수 있다(S200). 복수의 레코드들 각각에 개인정보를 지시하는 원시 데이터가 기록될 수 있다. 또한, 복수의 레코드들 각각에 개인정보 외의 정보(이하, "비-개인정보"라 함)를 지시하는 원시 데이터가 기록될 수 있다. 데이터베이스는 비식별화 장치(100) 내에 위치할 수 있고, 또는 다른 장치(예를 들어, 서버) 내에 위치할 수 있다.
테이블을 획득하기 위해 비식별화 장치(100)는 데이터베이스로의 접속을 위해 사용되는 접속 정보(예를 들어, IP(internet protocol) 주소, 포트(port) 번호, ID(identifier), SID(system ID), 비밀번호 등)를 생성할 수 있다. 또는, 접속 정보는 비식별화 장치(100)의 입력 인터페이스 장치(140)를 통해 사용자로부터 획득될 수 있다. 비식별화 장치(100)는 생성된 접속 정보에 기초하여 데이터베이스로의 접속이 승인된 경우 데이터베이스로부터 복수의 레코드들로 구성되는 테이블을 획득할 수 있다.
비식별화 장치(100)는 테이블에 포함된 복수의 레코드들 각각의 속성을 설정할 수 있다(S210). 레코드에 대한 속성은 다음과 같이 설정될 수 있다.
도 3은 레코드의 속성 설정 방법에 대한 일 실시예를 도시한 흐름도이다.
도 3을 참조하면, 비식별화 장치(100)는 정규 표현식(regular expression)을 설정할 수 있다(S211). 정규 표현식은 테이블의 레코드에 기록된 개인정보, 비-개인정보 등을 검색하기 위해 사용될 수 있다. 따라서, 비식별화 장치(100)는 정규 표현식에 의해 검색될 개인정보의 종류를 설정할 수 있다. 개인정보의 종류로 주민번호(또는, 여권번호, SSN(social security number)), 이름, 주소, 우편번호, 나이, 국적, 성별, 질병 등이 존재할 수 있다. 또한, 비식별화 장치(100)는 정규 표현식에 의해 검색될 비-개인정보의 종류를 설정할 수 있다. 비-개인정보의 종류로 환자번호 등이 존재할 수 있다. 개인정보 및 비-개인정보의 종류 정보는 비식별화 장치(100)의 입력 인터페이스 장치(140)를 통해 사용자로부터 획득될 수 있다.
또한, 정규 표현식은 검색된 개인정보, 비-개인정보 등이 기록된 레코드의 속성을 설정하기 위해 사용될 수 있다. 레코드의 속성은 ID(identifier), QI(quasi-identifier), SA(sensitive attribute), IA(insensitive attribute)(또는, NSA(non-SA)) 등으로 분류될 수 있다. ID는 특정 개인이 명시적(explicit)으로 식별되는 개인정보를 지시할 수 있다. 특정 개인은 ID로 설정된 하나의 개인정보만으로 식별될 수 있다. 예를 들어, 비식별화 장치(100)는 주민번호, 이름, 주소 등이 기록된 레코드의 속성이 ID로 설정되도록 정규 표현식을 설정할 수 있다. QI는 특정 개인이 묵시적(non-explicit)으로 식별되는 개인정보를 지시할 수 있다. 특정 개인은 QI로 설정된 하나의 개인정보만으로 식별될 수 없으나, QI로 설정된 하나의 개인정보와 다른 개인정보의 조합으로 식별될 수 있다. 예를 들어, 비식별화 장치(100)는 우편번호, 나이, 국적, 성별 등이 기록된 레코드의 속성이 QI로 설정되도록 정규 표현식을 설정할 수 있다.
SA는 보호가 요구되는 민감한 개인정보(예를 들어, 미리 설정된 기준 이상의 민감도를 가지는 개인정보)를 지시할 수 있다. SA로 설정된 개인정보가 공개되는 경우 특정 개인의 신상에 문제가 발생될 수 있다. 예를 들어, 비식별화 장치(100)는 질병 등이 기록된 레코드의 속성이 SA로 설정되도록 정규 표현식을 설정할 수 있다. IA는 민감하지 않은 개인정보를 지시할 수 있다. 또는, IA는 SA보다 낮은 민감도를 가지는 개인정보를 지시할 수 있다. IA로 설정된 개인정보가 공개되는 경우 특정 개인의 신상에 문제가 발생되지 않을 수 있다. 예를 들어, 비식별화 장치(100)는 우편번호, 나이, 국적, 성별 등이 기록된 레코드의 속성이 IA로 설정되도록 정규 표현식을 설정할 수 있다.
비식별화 장치(100)는 테이블의 검색 대상 범위를 설정할 수 있다(S212). 검색 대상 범위는 테이블의 일부 영역을 지시할 수 있으며, 검색 대상 범위에 의해 지시되는 영역에 단계 S211에서 설정된 정규 표현식이 적용될 수 있다. 즉, 검색 대상 범위 내의 원시 데이터만을 사용함으로써 테이블 내의 모든 원시 데이터가 지시하는 개인정보의 종류(또는, 비-개인정보의 종류)가 파악될 수 있고, 원시 데이터가 기록된 레코드의 속성이 결정될 수 있다. 검색 대상 범위는 레코드의 개수(예를 들어, 테이블 중에서 로우(row)의 개수)를 지시할 수 있다. 예를 들어, 검색 대상 범위는 100개, 1000개 등으로 설정될 수 있다. 여기서, 단계 S212는 필요에 따라 생략될 수 있다. 검색 대상 범위 정보는 비식별화 장치(100)의 입력 인터페이스 장치(140)를 통해 사용자로부터 획득될 수 있다.
비식별화 장치(100)는 ID 속성을 가지는 레코드의 처리 방식을 설정할 수 있다(S213). 예를 들어, ID 속성을 가지는 레코드의 처리 방식은 다음과 같이 분류될 수 있다. 첫 번째 처리 방식으로, 비식별화 장치(100)는 ID 속성을 가지는 레코드를 테이블에서 제외할 수 있다. 따라서, 테이블은 ID 속성을 가지는 레코드를 포함하지 않을 수 있다. 두 번째 처리 방식으로, 비식별화 장치(100)는 ID 속성을 가지는 레코드에 기록된 원시 데이터에 대한 마스킹(masking) 처리를 할 수 있다. 따라서, 테이블은 ID 속성을 가지는 레코드 등을 포함할 수 있으며, ID 속성을 가지는 레코드에 마스킹 처리된 데이터가 기록될 수 있다. 세 번째 처리 방식으로, 비식별화 장치(100)는 ID 속성을 가지는 레코드에 기록된 원시 데이터를 그대로 사용할 수 있다.
비식별화 장치(100)는 테이블 중에서 검색 대상 범위에 의해 지시되는 영역에 정규 표현식을 적용할 수 있다(S214). 예를 들어, 비식별화 장치(100)는 정규 표현식을 기반으로 검색 대상 범위 내에서 개인정보에 해당하는 원시 데이터를 검색할 수 있고, 검색된 원시 데이터에 대응하는 개인정보의 종류를 확인할 수 있다. 비식별화 장치(100)는 확인된 개인정보의 종류에 기초하여 레코드의 속성을 설정할 수 있다.
구체적으로, 비식별화 장치(100)는 테이블에 포함된 주민번호 레코드(즉, 주민번호를 지시하는 원시 데이터가 기록된 레코드), 이름 레코드(즉, 이름을 지시하는 원시 데이터가 기록된 레코드) 및 주소 레코드(즉, 주소를 지시하는 원시 데이터가 기록된 레코드)의 속성을 ID로 설정할 수 있다. ID 속성을 가지는 레코드는 "ID 레코드"로 지칭될 수 있으며, 이에 따라 ID 레코드는 주민번호 레코드, 이름 레코드 및 주소 레코드를 포함할 수 있다. 비식별화 장치(100)는 테이블에 포함된 우편번호 레코드(즉, 우편번호를 지시하는 원시 데이터가 기록된 레코드), 나이 레코드(즉, 나이를 지시하는 원시 데이터가 기록된 레코드), 국적 레코드(즉, 국적을 지시하는 원시 데이터가 기록된 레코드) 및 성별 레코드(즉, 성별을 지시하는 원시 데이터가 기록된 레코드)의 속성을 QI로 설정할 수 있다. QI 속성을 가지는 레코드는 "QI 레코드"로 지칭될 수 있으며, 이에 따라 QI 레코드는 우편번호 레코드, 나이 레코드, 국적 레코드 및 성별 레코드를 포함할 수 있다.
비식별화 장치(100)는 테이블에 포함된 질병 레코드(즉, 질병을 지시하는 원시 데이터가 기록된 레코드)의 속성을 SA로 설정할 수 있다. SA 속성을 가지는 레코드는 "SA 레코드"로 지칭될 수 있으며, 이에 따라 SA 레코드는 질병 레코드를 포함할 수 있다. 비식별화 장치(100)는 테이블에 포함된 우편번호 레코드, 나이 레코드, 국적 레코드 및 성별 레코드의 속성을 IA로 설정할 수 있다. IA 속성을 가지는 레코드는 "IA 레코드"로 지칭될 수 있으며, 이에 따라 IA 레코드는 우편번호 레코드, 나이 레코드, 국적 레코드 및 성별 레코드를 포함할 수 있다. 여기서, 테이블에 포함된 우편번호 레코드, 나이 레코드, 국적 레코드 및 성별 레코드의 속성은 QI 및 IA로 설정될 수 있다. 앞서 설명된 방법에 의해 처리된 테이블은 다음과 같을 수 있다.
도 4는 테이블의 일 실시예를 도시한 개념도이다.
도 4를 참조하면, 테이블(400)은 복수의 레코드들을 포함할 수 있다. 복수의 레코드들 각각에 기록된 원시 데이터는 개인정보인 주민번호(또는, 여권번호, SSN), 이름, 주소, 우편번호, 나이, 국적, 성별, 질병 등을 지시할 수 있다. 테이블(400)을 구성하는 주민번호 레코드, 이름 레코드 및 주소 레코드는 ID 레코드로 설정될 수 있다. 테이블(400)을 구성하는 우편번호 레코드, 나이 레코드, 국적 레코드 및 성별 레코드는 QI 레코드로 설정될 수 있다. 테이블(400)을 구성하는 질병 레코드는 SA 레코드로 설정될 수 있다. 테이블(400)을 구성하는 우편번호 레코드, 나이 레코드, 국적 레코드 및 성별 레코드는 IA 레코드로 설정될 수 있다.
다시 도 3을 참조하면, 비식별화 장치(100)는 단계 S213에서 설정된 처리 방식에 기초하여 ID 속성을 가지는 레코드를 처리할 수 있다. 비식별화 장치(100)는 속성 설정이 완료된 복수의 레코드들을 포함하는 테이블을 출력 인테페이스 장치(150)를 통해 디스플레이할 수 있다(S215). 여기서, 테이블에 포함된 복수의 레코드들 각각은 원시 데이터(즉, 개인정보)와 설정된 속성을 함께 지시할 수 있다. 비식별화 장치(100)는 사용자로부터 설정된 속성에 대한 수정 요청을 지시하는 메시지를 수신할 수 있고, 수신된 메시지에 기초하여 해당 레코드의 속성을 수정할 수 있다. 그 후에, 비식별화 장치(100)는 속성 수정이 완료된 복수의 레코드들을 포함하는 테이블을 출력 인테페이스 장치(150)를 통해 디스플레이할 수 있다. 비식별화 장치(100)는 사용자로부터 속성에 대한 확인 완료를 지시하는 메시지를 수신할 수 있고, 이 경우에 다음 단계를 수행할 수 있다. 여기서, 속성에 대한 수정 요청을 지시하는 메시지 및 속성에 대한 확인 완료를 지시하는 메시지는 비식별화 장치(100)의 입력 인터페이스 장치(140)를 통해 수신될 수 있다.
다시 도 2를 참조하면, 비식별화 장치(100)는 테이블에 포함된 QI 레코드에 대한 일반화 계층(generalization hierarchy; GH) 모델(model)을 설정할 수 있다(S220). GH 모델의 설정 방법은 다음과 같을 수 있다.
도 5는 GH 모델을 설정하는 방법에 대한 일 실시예를 도시한 흐름도이다.
도 5를 참조하면, 비식별화 장치(100)는 QI 레코드에 기록된 원시 데이터에 대한 일반화 레벨(level)을 설정할 수 있다(S221). 비식별화 장치(100)는 QI 레코드의 종류(즉, 우편번호 레코드, 나이 레코드, 국적 레코드, 성별 레코드)에 따라 일반화 레벨을 설정할 수 있다. 예를 들어, 비식별화 장치(100)는 우편번호 레코드에 대한 일반화 레벨의 범위를 일반화 레벨-0부터 일반화 레벨-2까지로 설정할 수 있고, 나이 레코드에 대한 일반화 레벨의 범위를 일반화 레벨-0부터 일반화 레벨-3까지로 설정할 수 있고, 국적 레코드에 대한 일반화 레벨의 범위를 일반화 레벨-0부터 일반화 레벨-2까지로 설정할 수 있고, 성별 레코드에 대한 일반화 레벨의 범위를 일반화 레벨-0부터 일반화 레벨-1까지로 설정할 수 있다.
원시 데이터에 대한 일반화 범위는 일반화 레벨별로 동일할 수 있다. 예를 들어, 일반화 레벨-1인 경우에 일반화 범위는 일 단위일 수 있으며, 이에 따라 나이를 지시하는 "28", "29", "21" 및 "23"은 "2*"로 일반화될 수 있다. 일반화 레벨-2인 경우에 일반화 범위는 십 단위일 수 있으며, 이에 따라 우편번호를 지시하는 "13053" 및 "13068"은 "130**"로 일반화될 수 있다.
비식별화 장치(100)는 QI 레코드에 기록된 원시 데이터를 일반화 레벨-0으로 설정할 수 있다(S222). 그 후에, 비식별화 장치(100)는 일반화 레벨의 범위에 기초하여 일반화가 수행될 데이터의 범위를 설정할 수 있고, 일반화가 수행될 데이터의 범위에 기초하여 원시 데이터를 일반화할 수 있고, 일반화된 데이터를 해당 일반화 레벨(예를 들어, 일반화 레벨-1, 일반화 레벨-2, 일반화 레벨-3 등)로 설정할 수 있다(S223). 일반화가 수행된 데이터의 범위는 일반화 레벨-0에서 가장 작으며, 일반화 레벨이 높아질수록 증가될 수 있다.
비식별화 장치(100)는 낮은 일반화 레벨에 대응하는 데이터와 높은 일반화 레벨에 대응하는 데이터를 순차적으로 연결함으로써, GH 모델을 생성할 수 있다(S224). GH 모델에서 최하위 계층에 일반화 레벨-0과 대응하는 원시 데이터가 위치할 수 있고, 일반화 레벨-0보다 상위 계층에 일반화 레벨-1과 대응하는 일반화된 데이터가 위치할 수 있고, 일반화 레벨-1보다 상위 계층에 일반화 레벨-2와 대응하는 일반화된 데이터가 위치할 수 있고, 일반화 레벨-2보다 상위 계층에 일반화 레벨-3과 대응하는 일반화된 데이터가 위치할 수 있다. GH 모델 중 최상위 계층에서 모든 데이터는 하나의 데이터로 일반화될 수 있다. GH 모델의 실시예들은 다음과 같다.
도 6은 우편번호 레코드에 대한 GH 모델의 일 실시예를 도시한 개념도이다.
도 6을 참조하면, 우편번호 레코드에 대한 GH 모델은 일반화 레벨-0 내지 일반화 레벨-2로 구성될 수 있다. 우편번호 레코드에 기록된 원시 데이터인 "13053", "13068", "14850" 및 "14853"은 일반화 레벨-0으로 설정될 수 있다. 우편번호 레코드에 기록된 원시 데이터 중에서 "13053" 및 "13068"은 "130**"으로 일반화될 수 있고, 일반화된 데이터인 "130**"은 일반화 레벨-1로 설정될 수 있다. 우편번호 레코드에 기록된 원시 데이터 중에서 "14850" 및 "14853"은 "148**"로 일반화될 수 있고, 일반화된 데이터인 "148**"는 일반화 레벨-1로 설정될 수 있다. 일반화 레벨-1에 대응하는 "130**" 및 "148**"는 "*****"(또는, "1****")로 일반화될 수 있고, 일반화된 데이터인 "*****"(또는, "1****")은 일반화 레벨-2로 설정될 수 있다. 우편번호 레코드에 대한 GH 모델은 앞서 설명된 내용에 한정되지 않으며, 다양하게 설정될 수 있다.
도 7은 나이 레코드에 대한 GH 모델의 일 실시예를 도시한 개념도이다.
도 7을 참조하면, 나이 레코드에 대한 GH 모델은 일반화 레벨-0 내지 일반화 레벨-3으로 구성될 수 있다. 나이 레코드에 기록된 원시 데이터인 "28", "29", "21", "23", "31", "37", "36", "35", "47", "49", "50" 및 "55"는 일반화 레벨-0으로 설정될 수 있다. 나이 레코드에 기록된 원시 데이터 중에서 "28", "29", "21" 및 "23"은 "2*"으로 일반화될 수 있고, 일반화된 데이터인 "2*"은 일반화 레벨-1로 설정될 수 있다. 나이 레코드에 기록된 원시 데이터 중에서 "31", "37", "36" 및 "35"는 "3*"으로 일반화될 수 있고, 일반화된 데이터인 "3*"은 일반화 레벨-1로 설정될 수 있다. 나이 레코드에 기록된 원시 데이터 중에서 "47" 및 "49"는 "4*"로 일반화될 수 있고, 일반화된 데이터인 "4*"는 일반화 레벨-1로 설정될 수 있다. 나이 레코드에 기록된 원시 데이터 중에서 "50" 및 "55"는 "5*"로 일반화될 수 있고, 일반화된 데이터인 "5*"는 일반화 레벨-1로 설정될 수 있다.
일반화 레벨-1에 대응하는 "2*" 및 "3*"은 "<40"으로 일반화될 수 있고, 일반화된 데이터인 "<40"은 일반화 레벨-2로 설정될 수 있다. 일반화 레벨-1에 대응하는 "4*" 및 "5*"는 "≥40"으로 일반화될 수 있고, 일반화된 데이터인 "≥40"은 일반화 레벨-2로 설정될 수 있다. 일반화 레벨-2에 대응하는 "<40" 및 "≥40"은 "**"로 일반화될 수 있고, 일반화된 데이터인 "**"은 일반화 레벨-3으로 설정될 수 있다. 나이 레코드에 대한 GH 모델은 앞서 설명된 내용에 한정되지 않으며, 다양하게 설정될 수 있다.
도 8은 국적 레코드에 대한 GH 모델의 일 실시예를 도시한 개념도이다.
도 8을 참조하면, 국적 레코드에 대한 GH 모델은 일반화 레벨-0 내지 일반화 레벨-2로 구성될 수 있다. 국적 레코드에 기록된 원시 데이터인 "한국", "일본", "영국" 및 "독일"은 일반화 레벨-0으로 설정될 수 있다. 국적 레코드에 기록된 원시 데이터 중에서 "한국" 및 "일본"은 "아시아"로 일반화될 수 있고, 일반화된 데이터인 "아시아"는 일반화 레벨-1로 설정될 수 있다. 국적 레코드에 기록된 원시 데이터 중에서 "영국" 및 "독일"은 "유럽"으로 일반화될 수 있고, 일반화된 데이터인 "유럽"은 일반화 레벨-1로 설정될 수 있다. 일반화 레벨-1에 대응하는 "아시아" 및 "유럽"은 "전세계"(또는, "**")로 일반화될 수 있고, 일반화된 데이터인 "전세계"(또는, "**")는 일반화 레벨-2로 설정될 수 있다. 국적 레코드에 대한 GH 모델은 앞서 설명된 내용에 한정되지 않으며, 다양하게 설정될 수 있다.
도 9는 성별 레코드에 대한 GH 모델의 일 실시예를 도시한 개념도이다.
도 9를 참조하면, 성별 레코드에 대한 GH 모델은 일반화 레벨-0 및 일반화 레벨-1로 구성될 수 있다. 성별 레코드에 기록된 원시 데이터인 "남" 및 "여"는 일반화 레벨-0으로 설정될 수 있다. 일반화 레벨-0에 대응하는 "남" 및 "여"는 "사람"(또는, "*")으로 일반화될 수 있고, 일반화된 데이터인 "사람"(또는, "*")은 일반화 레벨-1로 설정될 수 있다. 성별 레코드에 대한 GH 모델은 앞서 설명된 내용에 한정되지 않으며, 다양하게 설정될 수 있다.
다시 도 2를 참조하면, 비식별화 장치(100)는 테이블의 비식별화를 위해 사용되는 파라미터(parameter)(이하, "비식별화 파라미터"라 함)를 설정할 수 있다(S230). 비식별화 파라미터는 K-익명성(anonymity), L-다양성(diversity), T-근접성(closeness) 등을 포함할 수 있다. 테이블의 비식별화를 위해 K-익명성, "K-익명성 + L-다양성" 또는 "K-익명성 + T-근접성"이 사용될 수 있다. 따라서, 비식별화 장치(100)는 K-익명성을 기본적으로 설정할 수 있고, 추가로 L-다양성 또는 T-근접성을 설정할 수 있다.
구체적으로, 비식별화 장치(100)는 K-익명성의 K 값을 설정할 수 있다. 또는, 비식별화 장치(100)는 입력 인터페이스 장치(140)를 통해 사용자로부터 K-익명성의 K 값을 획득할 수 있고, 획득된 K-익명성의 K 값을 사용할 수 있다. K-익명성의 K 값은 동등 클래스를 구성하는 로우 개수를 지시할 수 있다.
여기서, 테이블은 적어도 하나의 동등 클래스(equivalence class)를 포함할 수 있으며, 하나의 동등 클래스 내에서 ID 레코드는 동일한 데이터(예를 들어, 원시 데이터, 일반화된 데이터)를 지시할 수 있다. 즉, 동일한 데이터가 기록된 ID 레코드와 해당 ID 레코드와 관련되는 다른 레코드(예를 들어, QI 레코드, SA 레코드, IA 레코드 등)는 하나의 동등 클래스를 구성할 수 있다. 테이블은 K-익명성에 기초하여 비식별화될 수 있으며, K-익명성의 K 값이 4인 경우(즉, 4-익명성의 경우)에 비식별화된 테이블은 다음과 같을 수 있다.
도 10은 비식별화된 테이블의 일 실시예를 도시한 개념도이다.
도 10을 참조하면, 동등 클래스들 각각은 우편번호 레코드, 나이 레코드, 국적 레코드, 성별 레코드 및 질병 레코드를 포함할 수 있다. 여기서, 도 10에 도시된 비식별화된 테이블(400)은 도 4에 도시된 테이블(400) 중에서 주민번호 레코드, 이름 레코드 및 주소 레코드가 제외된 것일 수 있다. 동등 클래스들 각각에서 우편번호 레코드는 동일한 데이터를 지시할 수 있고, 나이 레코드는 동일한 데이터를 지시할 수 있다.
예를 들어, 동등 클래스-1에서 우편번호 레코드는 "130**"을 지시할 수 있고, 나이 레코드는 "<30"을 지시할 수 있다. 동등 클래스-2에서 우편번호 레코드는 "1485*"을 지시할 수 있고, 나이 레코드는 "≥40"을 지시할 수 있다. 동등 클래스-3에서 우편번호 레코드는 "130**"을 지시할 수 있고, 나이 레코드는 "3*"을 지시할 수 있다.
다시 도 2를 참조하면, 비식별화 장치(100)는 L-다양성의 L 값을 설정할 수 있다. 또는, 비식별화 장치(100)는 입력 인터페이스 장치(140)를 통해 사용자로부터 L-다양성의 L 값을 획득할 수 있고, 획득된 L-다양성의 L 값을 사용할 수 있다. L-다양성의 L 값은 테이블 내의 동등 클래스들 각각에 속하는 SA 레코드에 기록된 데이터 중에서 서로 다른 데이터의 개수일 수 있다. 도 11에 도시된 비식별화된 테이블(400) 내의 동등 클래스-1에서 L-다양성의 L 값은 2(즉, 질병 레코드에 지시되는 서로 다른 질병의 개수)일 수 있고, 동등 클래스-2에서 L-다양성의 L 값은 3일 수 있고, 동등 클래스-3에서 L-다양성의 L 값은 1일 수 있다. 테이블은 K-익명성 및 L-다양성에 기초하여 비식별화될 수 있으며, K-익명성의 K 값이 4이고 L-다양성의 L 값이 3인 경우(즉, 4-익명성 및 3-다양성의 경우)에 비식별화된 테이블은 다음과 같을 수 있다.
도 11은 비식별화된 테이블의 다른 실시예를 도시한 개념도이다.
도 11을 참조하면, 비식별화된 테이블(400)의 동등 클래스-1에서 질병 레코드는 3개의 서로 다른 질병(즉, 위염, 기관지염, 폐렴)을 지시할 수 있고, 동등 클래스-2에서 질병 레코드는 3개의 서로 다른 질병(즉, 폐렴, 위염, 기관지염)을 지시할 수 있고, 동등 클래스-3에서 질병 레코드는 3개의 서로 다른 질병(즉, 위염, 기관지염, 폐렴)을 지시할 수 있다.
다시 도 2를 참조하면, 비식별화 장치(100)는 T-근접성의 T 값을 설정할 수 있다. 또는, 비식별화 장치(100)는 입력 인터페이스 장치(140)를 통해 사용자로부터 T-근접성의 T 값을 획득할 수 있고, 획득된 T-근접성의 T 값을 사용할 수 있다. 테이블은 K-익명성, L-다양성 및 T-근접성(또는, K-익명성 및 T-근접성)에 기초하여 비식별화될 수 있다. T-근접성의 T 값은 테이블 내의 동등 클래스들 각각에 속하는 SA 레코드에 의해 지시되는 데이터들 간의 거리일 수 있다. 예를 들어, 테이블이 연봉 레코드를 포함하는 경우, 테이블의 동등 클래스들 각각에서 연봉 레코드에 의해 지시되는 연봉들 간의 거리(즉, 차이)가 T-근접성의 T 값 이내가 되도록 테이블이 비식별화될 수 있다.
비식별화 장치(100)는 억제 값 비율에 대한 임계값(이하, "억제 임계값"이라 함)을 설정할 수 있다(S240). 또는, 비식별화 장치(100)는 입력 인터페이스 장치(140)를 통해 사용자로부터 억제 임계값을 획득할 수 있고, 획득된 억제 임계값을 사용할 수 있다. 억제 값 비율은 비식별화된 테이블 중에서 K-익명성을 만족하지 않는 동등 클래스의 비율을 지시할 수 있다. 또는, 억제 값 비율은 비식별화된 테이블 중에서 K-익명성을 만족하지 않는 레코드의 비율을 지시할 수 있다. 억제 값 비율은 아래 수학식 1을 기초로 계산될 수 있다.
Figure 112016063615462-pat00001
억제 임계값은 다양한 값으로 설정될 수 있다. 예를 들어, 억제 임계값은 10%로 설정될 수 있다.
비식별화 장치(100)는 GH 모델을 기반으로 원시 래티스(lattice)를 생성할 수 있다(S250). 원시 래티스는 복수의 노드들을 포함할 수 있으며, 복수의 노드들 각각은 GH 모델에 의해 지시되는 일반화 레벨과 해당 일반화 레벨에 대응하는 레코드를 지시할 수 있다. 즉, 비식별화 장치(100)는 GH 모델에 의해 지시되는 일반화 레벨과 해당 일반화 레벨에 대응하는 레코드를 지시하는 노드들을 설정할 수 있고, 노드들을 일반화 레벨의 순서에 따라 연결함으로써 원시 래티스를 생성할 수 있다. 도 6에 도시된 우편번호 레코드의 GH 모델, 도 7에 도시된 나이 레코드의 GH 모델 및 도 9에 도시된 성별 레코드의 GH 모델을 기반으로 생성된 원시 래티스는 다음과 같을 수 있다.
도 12는 원시 래티스의 일 실시예를 도시한 개념도이다.
도 12를 참조하면, 원시 래티스는 복수의 노드들을 포함할 수 있고, 계층-0부터 계층-6으로 구성될 수 있다. 계층들 각각에 적어도 하나의 노드가 위치할 수 있다. 예를 들어, 최하위 계층(즉, 계층-0) 및 최상위 계층(즉, 계층-6) 각각에 하나의 노드가 위치할 수 있다. 계층-1 및 계층-5 각각에 3개의 노드들이 위치할 수 있다. 계층-2에 5개의 노드들이 위치할 수 있다. 계층-3 및 계층-4 각각에 6개의 노드들이 위치할 수 있다.
여기서, a0은 도 7에 도시된 GH 모델에서 레벨-0인 나이 레코드를 지시할 수 있고, a1은 도 7에 도시된 GH 모델에서 레벨-1인 나이 레코드를 지시할 수 있고, a2는 도 7에 도시된 GH 모델에서 레벨-2인 나이 레코드를 지시할 수 있고, a3은 도 7에 도시된 GH 모델에서 레벨-3인 나이 레코드를 지시할 수 있다. b0은 도 6에 도시된 GH 모델에서 레벨-0인 우편번호 레코드를 지시할 수 있고, b1은 도 6에 도시된 GH 모델에서 레벨-1인 우편번호 레코드를 지시할 수 있고, b2는 도 6에 도시된 GH 모델에서 레벨-2인 우편번호 레코드를 지시할 수 있다. c0은 도 9에 도시된 GH 모델에서 레벨-0인 성별 레코드를 지시할 수 있고, c1은 도 9에 도시된 GH 모델에서 레벨-1인 성별 레코드를 지시할 수 있다.
따라서, "a0, b0, c0" 노드는 레벨-0인 나이 레코드, 레벨-0인 우편번호 레코드 및 레벨-0인 성별 레코드를 지시할 수 있다. "a1, b0, c0" 노드는 레벨-1인 나이 레코드, 레벨-0인 우편번호 레코드 및 레벨-0인 성별 레코드를 지시할 수 있다. "a1, b1, c0" 노드는 레벨-1인 나이 레코드, 레벨-1인 우편번호 레코드 및 레벨-0인 성별 레코드를 지시할 수 있다.
비식별화 장치(100)는 유전 알고리즘(genetic algorithm)을 사용하여 원시 래티스 내에서 최종 래티스를 설정할 수 있다(S260). 최종 래티스의 설정 방법은 다음과 같을 수 있다.
도 13은 최종 래티스의 설정 방법을 도시한 흐름도이다.
도 13을 참조하면, 비식별화 장치(100)는 도 12에 도시된 원시 래티스 중에서 최하위 계층으로부터 2/3 지점에 해당하는 계층-4에 속하는 노드들 중에서 임의의 노드를 선택 노드 A로 설정할 수 있고, 최하위 계층으로부터 1/3 지점에 해당하는 계층-2에 속하는 노드들 중에서 임의의 노드를 선택 노드 B로 설정할 수 있다(S261). 선택 노드 A는 선택 노드 B와 연결될 수 있다. 예를 들어, 비식별화 장치(100)는 계층-4에 속하는 "a2, b2, c0" 노드를 선택 노드 A로 설정할 수 있고, 계층-2에 속하는 "a1, b1, c0" 노드를 선택 노드 B로 설정할 수 있다.
비식별화 장치(100)는 선택 노드 A 및 선택 노드 B 각각에 대응하는 테이블에 대한 비식별화를 수행할 수 있다(S262). 비식별화 장치(100)는 앞서 설명된 단계 S230에서 설정된 비식별화 파라미터(예를 들어, K-익명성, L-다양성, T-근접성)를 만족하는 비식별화된 테이블을 생성할 수 있다. 선택 노드 A에 대응하는 테이블에 대한 비식별화 결과는 "비식별화된 테이블 A"로 지칭될 수 있고, 선택 노드 B에 대응하는 테이블에 대한 비식별화 결과는 "비식별화된 테이블 B"로 지칭될 수 있다.
비식별화 장치(100)는 비식별화된 테이블 A 및 비식별화된 테이블 B 각각의 억제 값 비율이 모두 억제 임계값 이하인지 여부를 판단할 수 있다(S263). 비식별화된 테이블 A 및 비식별화된 테이블 B 각각의 억제 값 비율이 모두 억제 임계값 이하인 경우(이하, "케이스 1"이라 함), 비식별화 장치(100)는 다음과 같이 최종 래티스를 설정할 수 있다.
케이스 1. 최종 래티스 설정 방법
비식별화 장치(100)는 원시 래티스에서 선택 노드 B가 속한 계층-2와 최하위 계층(즉, 계층-0) 사이의 1/2 지점에 해당하는 계층-1에 속하는 노드들 중에서 임의의 노드를 교차 노드로 설정할 수 있고, 계층-2에 속하는 노드들 중에서 선택 노드 B를 제외한 임의의 노드를 변이 노드로 설정할 수 있다(S263-1). 예를 들어, 비식별화 장치(100)는 계층-1에 속하는 "a0, b1, c0" 노드를 교차 노드로 설정할 수 있고, 계층-2에 속하는 "a0, b2, c0" 노드를 변이 노드로 설정할 수 있다.
비식별화 장치(100)는 교차 노드 및 변이 노드 각각에 대응하는 테이블에 대한 비식별화를 수행할 수 있다(S266). 즉, 비식별화된 테이블 B의 억제 값 비율이 억제 임계값 이하이므로, 선택 노드 B보다 상위 계층에 속하는 노드들에 대응하는 테이블에 대한 비식별화는 수행되지 않을 수 있다. 비식별화 장치(100)는 앞서 설명된 단계 S230에서 설정된 비식별화 파라미터(예를 들어, K-익명성, L-다양성, T-근접성)를 만족하는 비식별화된 테이블을 생성할 수 있다.
또한, 비식별화 장치(100)는 단계 S266에 의해 생성된 비식별화된 테이블의 억제 값 비율이 억제 임계값 이하인지 판단할 수 있다. 비식별화 장치(100)는 "억제 값 비율 ≤ 억제 임계값"을 만족하는 노드(예를 들어, 선택 노드 B, 교차 노드, 변이 노드)의 개수를 카운팅(counting)할 수 있다.
단계 S261 내지 단계 S266은 "억제 값 비율 ≤ 억제 임계값"을 만족하는 노드(예를 들어, 선택 노드 B, 교차 노드, 변이 노드)의 개수가 원시 래티스를 구성하는 계층들 중에서 가장 많은 노드를 포함하는 계층의 노드 개수(예를 들어, 도 14에서 6개)의 x배보다 클 때까지 반복하여 수행될 수 있다. 여기서, x는 0보다 큰 실수일 수 있다. 예를 들어, x는 0.8, 1 또는 1.2로 설정될 수 있다. x는 앞서 설명된 내용에 한정되지 않으며, 다양하게 설정될 수 있다.
예를 들어, 선택 노드 B가 속한 계층-2와 최하위 계층(즉, 계층-0) 사이의 2/3 지점에 해당하는 계층에 속한 임의의 노드가 선택 노드 A'로 설정될 수 있다. 또한, 선택 노드 B가 속한 계층-2와 최하위 계층(즉, 계층-0) 사이의 1/3 지점에 해당하는 계층에 속한 임의의 노드가 선택 노드 B'로 설정될 수 있다. 선택 노드 A' 및 선택 노드 B'에 기초하여 단계 S262 내지 단계 S266이 다시 수행될 수 있다. 이러한 과정은 "억제 값 비율 ≤ 억제 임계값"을 만족하는 노드의 개수가 원시 래티스를 구성하는 계층들 중에서 가장 많은 노드를 포함하는 계층의 노드 개수의 x배보다 클 때까지 반복하여 수행될 수 있다.
비식별화 장치(100)는 "억제 값 비율 ≤ 억제 임계값"을 만족하는 노드(예를 들어, 선택 노드 B, 교차 노드, 변이 노드 등)를 포함하는 최종 래티스를 설정할 수 있다(S267).
한편, 케이스 1에 해당하지 않는 경우, 비식별화 장치(100)는 비식별화된 테이블 A의 억제 값 비율이 억제 임계값 이하이고 비식별화된 테이블 B의 억제 값 비율이 억제 임계값을 초과하는지 여부를 판단할 수 있다(S264). 비식별화된 테이블 A의 억제 값 비율이 억제 임계값 이하이고 비식별화된 테이블 B의 억제 값 비율이 억제 임계값을 초과하는 경우(이하, "케이스 2"라 함), 비식별화 장치(100)는 다음과 같이 최종 래티스를 선택할 수 있다.
케이스 2. 최종 래티스 설정 방법
비식별화 장치(100)는 원시 래티스에서 선택 노드 A가 속한 계층-4와 선택 노드 B가 속한 계층-2 사이의 1/2 지점에 해당하는 계층-3에 속하는 노드들 중에서 임의의 노드를 교차 노드로 설정할 수 있고, 계층-4에 속하는 노드들 중에서 선택 노드 A를 제외한 임의의 노드를 변이 노드로 설정할 수 있다(S264-1). 예를 들어, 비식별화 장치(100)는 계층-3에 속하는 "a1, b1, c1" 노드를 교차 노드로 설정할 수 있고, 계층-4에 속하는 "a2, b1, c1" 노드를 변이 노드로 설정할 수 있다.
비식별화 장치(100)는 교차 노드 및 변이 노드 각각에 대응하는 테이블에 대한 비식별화를 수행할 수 있다(S266). 즉, 비식별화된 테이블 B의 억제 값 비율이 억제 임계값을 초과하므로, 선택 노드 B보다 하위 계층에 속하는 노드들에 대한 비식별화는 수행되지 않을 수 있다. 비식별화 장치(100)는 앞서 설명된 단계 S230에서 설정된 비식별화 파라미터(예를 들어, K-익명성, L-다양성, T-근접성)를 만족하는 비식별화된 테이블을 생성할 수 있다.
또한, 비식별화 장치(100)는 단계 S266에 의해 생성된 비식별화된 테이블의 억제 값 비율이 억제 임계값 이하인지 판단할 수 있다. 비식별화 장치(100)는 "억제 값 비율 ≤ 억제 임계값"을 만족하는 노드(예를 들어, 선택 노드 A, 교차 노드, 변이 노드)의 개수를 카운팅할 수 있다.
단계 S261 내지 단계 S266은 "억제 값 비율 ≤ 억제 임계값"을 만족하는 노드(예를 들어, 선택 노드 A, 교차 노드, 변이 노드)의 개수가 원시 래티스를 구성하는 계층들 중에서 가장 많은 노드를 포함하는 계층의 노드 개수(예를 들어, 도 14에서 6개)의 x배보다 클 때까지 반복하여 수행될 수 있다. 여기서, x는 0보다 큰 실수일 수 있다. 예를 들어, x는 0.8, 1 또는 1.2로 설정될 수 있다. x는 앞서 설명된 내용에 한정되지 않으며, 다양하게 설정될 수 있다.
예를 들어, 선택 노드 A가 속한 계층-4와 선택 노드 B가 속한 계층-2 사이의 2/3 지점에 해당하는 계층에 속한 임의의 노드가 선택 노드 A'로 설정될 수 있다. 또한, 선택 노드 A가 속한 계층-4와 선택 노드 B가 속한 계층-2 사이의 1/3 지점에 해당하는 계층에 속한 임의의 노드가 선택 노드 B'로 설정될 수 있다. 선택 노드 A' 및 선택 노드 B'에 기초하여 단계 S262 내지 단계 S266이 다시 수행될 수 있다. 이러한 과정은 "억제 값 비율 ≤ 억제 임계값"을 만족하는 노드의 개수가 원시 래티스를 구성하는 계층들 중에서 가장 많은 노드를 포함하는 계층의 노드 개수의 x배보다 클 때까지 반복하여 수행될 수 있다.
비식별화 장치(100)는 "억제 값 비율 ≤ 억제 임계값"을 만족하는 노드(예를 들어, 선택 노드 A, 교차 노드, 변이 노드)를 포함하는 최종 래티스를 설정할 수 있다(S267).
한편, 케이스 1 및 2에 해당하지 않는 경우, 비식별화 장치(100)는 비식별화된 테이블 A 및 비식별화된 테이블 B 각각의 억제 값 비율이 모두 억제 임계값을 초과하는지 여부를 판단할 수 있다(S265). 비식별화된 테이블 A 및 비식별화된 테이블 B 각각의 억제 값 비율이 모두 억제 임계값을 초과하는 경우(이하, "케이스 3"이라 함), 비식별화 장치(100)는 다음과 같이 최종 래티스를 선택할 수 있다.
케이스 3. 최종 래티스 설정 방법
비식별화 장치(100)는 원시 래티스에서 선택 노드 A가 속한 계층-4와 최상위 계층(즉, 계층-6) 사이의 1/2 지점에 해당하는 계층-5에 속하는 노드들 중에서 임의의 노드를 교차 노드로 설정할 수 있고, 계층-4에 속하는 노드들 중에서 선택 노드 A를 제외한 임의의 노드를 변이 노드로 설정할 수 있다(S265-1). 예를 들어, 비식별화 장치(100)는 계층-5에 속하는 "a3, b1, c1" 노드를 교차 노드로 설정할 수 있고, 계층-4에 속하는 "a2, b1, c1" 노드를 변이 노드로 설정할 수 있다.
비식별화 장치(100)는 교차 노드 및 변이 노드 각각에 대응하는 테이블에 대한 비식별화를 수행할 수 있다(S266). 비식별화 장치(100)는 앞서 설명된 단계 S230에서 설정된 비식별화 파라미터(예를 들어, K-익명성, L-다양성, T-근접성)를 만족하는 비식별화된 테이블을 생성할 수 있다.
또한, 비식별화 장치(100)는 단계 S266에 의해 생성된 비식별화된 테이블의 억제 값 비율이 억제 임계값 이하인지 판단할 수 있다. 비식별화 장치(100)는 "억제 값 비율 ≤ 억제 임계값"을 만족하는 노드(예를 들어, 교차 노드, 변이 노드)의 개수를 카운팅할 수 있다.
단계 S261 내지 단계 S266은 "억제 값 비율 ≤ 억제 임계값"을 만족하는 노드(예를 들어, 교차 노드, 변이 노드)의 개수가 원시 래티스를 구성하는 계층들 중에서 가장 많은 노드를 포함하는 계층의 노드 개수(예를 들어, 도 14에서 6개)의 x배보다 클 때까지 반복하여 수행될 수 있다. 여기서, x는 0보다 큰 실수일 수 있다. 예를 들어, x는 0.8, 1 또는 1.2로 설정될 수 있다. x는 앞서 설명된 내용에 한정되지 않으며, 다양하게 설정될 수 있다.
예를 들어, 선택 노드 A가 속한 계층-4와 최상위 계층(즉, 계층-6) 사이의 2/3 지점에 해당하는 계층에 속한 임의의 노드가 선택 노드 A'로 설정될 수 있다. 또한, 선택 노드 A가 속한 계층-4와 최상위 계층(즉, 계층-6) 사이의 1/3 지점에 해당하는 계층에 속한 임의의 노드가 선택 노드 B'로 설정될 수 있다. 선택 노드 A' 및 선택 노드 B'에 기초하여 단계 S262 내지 단계 S266이 다시 수행될 수 있다. 이러한 과정은 "억제 값 비율 ≤ 억제 임계값"을 만족하는 노드의 개수가 원시 래티스를 구성하는 계층들 중에서 가장 많은 노드를 포함하는 계층의 노드 개수의 x배보다 클 때까지 반복하여 수행될 수 있다.
비식별화 장치(100)는 "억제 값 비율 ≤ 억제 임계값"을 만족하는 노드(예를 들어, 교차 노드, 변이 노드)를 포함하는 최종 래티스를 설정할 수 있다(S267).
또한, 비식별화 장치(100)는 출력 인터페이스 장치(150)를 통해 최종 래티스를 디스플레이할 수 있고, 저장 장치(160)(또는, 데이터베이스)에 최종 래티스를 저장할 수 있고, 네트워크 인터페이스 장치(130)를 통해 다른 장치에 최종 래티스를 전송할 수 있다.
다시 도 2를 참조하면, 비식별화 장치(100)는 비식별화된 테이블에 포함된 ID 레코드에 기록된 원시 데이터의 전체 영역 또는 일부 영역에 대해 마스킹 처리를 할 수 있다(S270). 예를 들어, ID 레코드에 기록된 원시 데이터 중에서 마스킹 처리될 영역(예를 들어, 일부 영역)이 미리 설정된 경우, 미리 설정된 영역에 대한 마스킹 처리가 수행될 수 있다. ID 레코드에 기록된 원시 데이터 중에서 마스킹 처리될 영역이 미리 설정되지 않은 경우, 전체 영역에 대한 마스킹 처리가 수행될 수 있다. 단계 S270은 개인정보 비식별화 방법에서 필수적인 단계는 아니며, 필요에 따라 생략될 수 있다. 마스킹 처리된 레코드들을 포함하는 테이블의 일 실시예는 다음과 같다.
도 14는 마스킹 처리된 레코드들을 포함하는 테이블의 일 실시예를 도시한 개념도이다.
도 14를 참조하면, 테이블(400)에 포함된 주민번호 레코드에 기록된 원시 데이터 중에서 일부 영역은 마스킹 처리될 수 있다. 예를 들어, 주민번호 레코드에 기록된 원시 데이터 중에서 "-" 이후의 영역은 마스킹 처리될 수 있다. 테이블(400)에 포함된 이름 레코드에 기록된 원시 데이터 중에서 전체 영역은 마스킹 처리될 수 있다. 테이블(400)에 포함된 주소 레코드에 기록된 원시 데이터 중에서 일부 영역은 마스킹 처리될 수 있다. 예를 들어, 주소 레코드에 기록된 원시 데이터 중에서 "서울시" 이후의 영역은 마스킹 처리될 수 있다.
다음으로, 비식별화된 테이블의 위험성을 지시하는 파라미터가 설명될 것이다.
재식별화 위험성(re-identification risk)은 비식별화된 테이블의 동등 클래스를 구성하는 로우 개수의 역수에 의해 지시될 수 있다. 재식별화 위험성은 동등 클래스를 구성하는 로우의 최대 개수, 최소 개수, 평균 개수에 따라 달라질 수 있다.
샘플(sample) 위험성은 아래 수학식 2에 기초하여 계산될 수 있다.
Figure 112016063615462-pat00002
집단(population) 위험성은 아래 표 1과 같을 수 있다. 샘플 레이트는 모집단으로부터 샘플링된 비율을 지시할 수 있다.
Figure 112016063615462-pat00003
다음으로, 비식별화된 테이블의 사용성을 지시하는 파라미터가 설명될 것이다.
정확성(precision)은 래티스에 속하는 각각의 노드에 대한 정확성을 측정하기 위해 사용될 수 있고, GH 모델의 평균 높이를 지시할 수 있다. GH 모델에서 일반화 레벨이 높을수록 정확성은 낮아질 수 있고, 데이터의 손실은 증가될 수 있다. 정확성은 아래 수학식 3을 기초로 계산될 수 있다.
Figure 112016063615462-pat00004
Prec(GT)는 일반화 테이블(generalization table; GT)(즉, 비식별화된 테이블)에 대한 정확성을 지시할 수 있다. NA는 테이블에 속하는 변수(예를 들어, 도 12에서 우편번호, 나이, 국적, 성별, 질병)의 개수를 지시할 수 있다. N은 테이블을 구성하는 로우의 개수를 지시할 수 있다.
Figure 112016063615462-pat00005
는 GH 모델에서 해당 변수의 일반화 레벨을 지시할 수 있다.
Figure 112016063615462-pat00006
는 GH 모델에서 해당 변수의 일반화 레벨의 최대 값을 지시할 수 있다.
분별력 메트릭(discernability metric)은 동등 클래스의 크기, GH 모델에서 일반화 레벨 등을 고려하는 파라미터일 수 있다. 분별력 메트릭은 동등 클래스 내의 일반화된 데이터를 구별하는 능력을 지시할 수 있다. 분별력 메트릭은 아래 수학식 4에 기초하여 계산될 수 있다.
Figure 112016063615462-pat00007
DM은 분별력 메트릭을 지시할 수 있다. fi는 동등 클래스의 크기를 지시할 수 있다. k는 동등 클래스의 개수를 지시할 수 있다. N은 로우(예를 들어, 테이블을 구성하는 로우)의 개수를 지시할 수 있다.
엔트로피(entropy)는 동등 클래스 내의 일반화된 데이터의 구별 능력 또는 정보량을 지시할 수 있다. 엔트로피는 아래 수학식 5에 기초하여 계산될 수 있다.
Figure 112016063615462-pat00008
Figure 112016063615462-pat00009
는 엔트로피를 지시할 수 있다. αr는 원시 데이터를 지시할 수 있다. br는 일반화된 데이터를 지시할 수 있다. Rij는 원시 데이터가 기록된 레코드를 지시할 수 있다. Rij'는 일반화된 데이터가 기록된 레코드를 지시할 수 있다. I는 지시자 함수(indicator function)를 지시할 수 있다.
한편, 비식별화 장치(100)는 최종 래티스에 속하는 노드에 대한 위험성 파라미터(예를 들어, 재식별화 위험성, 샘플 위험성, 집단 위험성 등), 사용성 파라미터(예를 들어, 정확성, 분별력 메트릭, 엔트로피 등)를 출력 인터페이스 장치(150)를 통해 디스플레이할 수 있다. 또한, 비식별화 장치(100)는 최종 래티스에 속하는 노드에 대응하는 테이블의 비식별화 이전과 이후(즉, 원시 테이블과 비식별된 테이블의 비교 결과)를 출력 인터페이스 장치(150)를 통해 디스플레이할 수 있다.
본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능 매체의 예에는 롬(rom), 램(ram), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (20)

  1. 개인정보 비식별화(de-identification) 장치에서 수행되는 개인정보 비식별화 방법으로서,
    데이터베이스(database)로부터 개인정보가 기록된 복수의 레코드(record)를 포함하는 원시 테이블(original table)을 획득하는 단계;
    상기 복수의 레코드의 개인정보 종류를 지시하는 적어도 하나의 속성(attribute)에 대하여 일반화 레벨에 따른 일반화 계층 모델(hierarchy model)을 설정하는 단계;
    설정된 일반화 계층 모델에 기초하여 상기 적어도 하나의 속성 각각에 대한 일반화 레벨을 지시하는 복수의 노드를 포함하는 원시 래티스(lattice)를 생성하는 단계; 및
    상기 복수의 노드 중에서 미리 설정된 억제(suppression) 기준을 충족하는 노드로 최종 래티스를 생성하는 단계를 포함하고,
    상기 원시 래티스는 계층 구조로 구성되고, 각각의 계층은 상기 적어도 하나의 속성 각각의 일반화 레벨들의 합이 같은 노드들을 포함하는, 개인정보 비식별화 방법.
  2. 청구항 1에 있어서,
    상기 개인정보 비식별화 방법은,
    상기 적어도 하나의 속성을 분류하는 단계를 더 포함하는, 개인정보 비식별화 방법.
  3. 청구항 2에 있어서,
    상기 적어도 하나의 속성을 분류하는 단계는,
    상기 적어도 하나의 속성을 ID(identifier), QI(quasi-identifier), SA(sensitive attribute) 및 IA(insensitive attribute)로 분류하고, 특정 개인이 명시적(explicit)으로 식별되는 개인정보를 지시하는 속성은 ID로 분류하고, 특정 개인이 묵시적(non-explicit)으로 식별되는 개인정보를 지시하는 속성은 QI로 분류하고, 미리 설정된 기준 이상의 민감도를 가지는 개인정보를 지시하는 속성은 SA로 분류하고, SA보다 낮은 민감도를 가지는 개인정보를 지시하는 속성은 IA로 분류하는, 개인정보 비식별화 방법.
  4. 청구항 3에 있어서,
    상기 개인정보 비식별화 방법은,
    상기 복수의 레코드에서 ID로 분류된 속성 데이터를 마스킹(masking) 처리하는 단계를 더 포함하는, 개인정보 비식별화 방법.
  5. 청구항 3에 있어서,
    상기 개인정보 비식별화 방법은,
    상기 복수의 레코드에서 상기 속성이 QI로 분류된 속성에 대하여 상기 일반화 레벨을 설정하는 단계를 포함하는, 개인정보 비식별화 방법.
  6. 청구항 5에 있어서,
    상기 속성이 QI로 분류된 속성 데이터는 일반화 레벨에 기초하여 일반화되는, 개인정보 비식별화 방법.
  7. 청구항 1에 있어서,
    상기 최종 래티스를 생성하는 단계는,
    상기 원시 래티스에 포함된 복수의 노드 중에서 서로 다른 계층을 갖는 두 개 이상의 노드를 선택하는 단계;
    상기 두 개 이상의 노드에 의해 지시되는 일반화 레벨에 기초하여 상기 원시 테이블에 대한 비식별화를 수행함으로써 두 개 이상의 비식별화된 테이블을 생성하는 단계;
    상기 두 개 이상의 비식별화된 테이블에 대하여 상기 미리 설정된 억제(suppression) 기준을 만족하는지 여부를 판단하는 단계;
    판단 결과 상기 미리 설정된 억제 기준을 만족하지 않는 테이블에 상응하는 노드보다 하위에 있는 계층 또는 상기 미리 설정된 억제 기준을 만족하는 테이블에 상응하는 노드보다 상위에 있는 계층을 상기 원시 래티스에서 제외하는 단계; 및
    상기 두 개 이상의 노드를 선택하는 단계부터 재수행하여 상기 미리 설정된 억제 기준을 만족하는 테이블에 상응하는 노드를 포함하는 최종 래티스를 생성하는 단계를 포함하는, 개인정보 비식별화 방법.
  8. 청구항 7에 있어서,
    상기 비식별화된 테이블은 K-익명성(anonymity)을 기초로 생성되거나, 상기 K-익명성 및 L-다양성(diversity)을 기초로 생성되거나, 또는 상기 K-익명성 및 T-근접성(closeness)을 기초로 생성되는, 개인정보 비식별화 방법.
  9. 청구항 8에 있어서,
    상기 미리 설정된 억제 기준은 상기 비식별화된 테이블을 구성하는 동등 클래스(equivalence class)들 중에서 상기 미리 설정된 K-익명성을 만족하지 않는 동등 클래스의 비율이 임계값 이하인지 여부를 지시하는, 개인정보 비식별화 방법.
  10. 청구항 1에 있어서,
    상기 개인정보 비식별화 방법은,
    상기 최종 래티스에 포함된 적어도 하나의 노드에 대응하는 비식별화된 테이블의 재식별화 위험성(re-identification risk) 및 유용성(utility)을 계산하는 단계를 더 포함하는, 개인정보 비식별화 방법.
  11. 개인정보 비식별화(de-identification) 장치로서,
    프로세서(processor); 및
    상기 프로세서를 통해 실행되는 적어도 하나의 명령이 저장된 메모리(memory)를 포함하고,
    상기 적어도 하나의 명령은,
    데이터베이스(database)로부터 개인정보가 기록된 복수의 레코드(record)를 포함하는 원시 테이블(original table)을 획득하고;
    상기 복수의 레코드의 개인정보 종류를 지시하는 적어도 하나의 속성(attribute)에 대하여 일반화 레벨에 따른 일반화 계층 모델(hierarchy model)을 설정하고;
    설정된 일반화 계층 모델에 기초하여 상기 적어도 하나의 속성 각각에 대한 일반화 레벨을 지시하는 복수의 노드를 포함하는 원시 래티스(lattice)를 생성하고;
    상기 복수의 노드 중에서 미리 설정된 억제(suppression) 기준을 충족하는 노드로 최종 래티스를 생성하도록 실행되고,
    상기 원시 래티스는 계층 구조로 구성되고, 각각의 계층은 상기 적어도 하나의 속성 각각의 일반화 레벨들의 합이 같은 노드들을 포함하는, 개인정보 비식별화 장치.
  12. 청구항 11에 있어서,
    상기 적어도 하나의 명령은,
    상기 적어도 하나의 속성을 분류하도록 더 실행 가능한, 개인정보 비식별화 장치.
  13. 청구항 12에 있어서,
    상기 적어도 하나의 명령은,
    상기 적어도 하나의 속성을 ID(identifier), QI(quasi-identifier), SA(sensitive attribute) 및 IA(insensitive attribute)로 분류하고, 특정 개인이 명시적(explicit)으로 식별되는 개인정보를 지시하는 속성은 ID로 분류하고, 특정 개인이 묵시적(non-explicit)으로 식별되는 개인정보를 지시하는 속성은 QI로 분류하고, 미리 설정된 기준 이상의 민감도를 가지는 개인정보를 지시하는 속성은 SA로 분류하고, SA보다 낮은 민감도를 가지는 개인정보를 지시하는 속성은 IA로 분류하도록 실행되는, 개인정보 비식별화 장치.
  14. 청구항 13에 있어서,
    상기 적어도 하나의 명령은,
    상기 복수의 레코드에서 ID로 분류된 속성 데이터를 마스킹(masking) 처리하도록 더 실행 가능한, 개인정보 비식별화 장치.
  15. 청구항 13에 있어서,
    상기 적어도 하나의 명령은,
    상기 복수의 레코드에서 상기 속성이 QI로 분류된 속성에 대하여 상기 일반화 레벨을 설정하도록 더 실행 가능한, 개인정보 비식별화 장치.
  16. 청구항 13에 있어서,
    상기 속성이 QI로 분류된 속성 데이터는 일반화 레벨에 기초하여 일반화되는, 개인정보 비식별화 장치.
  17. 청구항 11에 있어서,
    상기 적어도 하나의 명령은 상기 최종 래티스를 생성하는 경우,
    상기 원시 래티스에 포함된 복수의 노드 중에서 서로 다른 계층을 갖는 두 개 이상의 노드를 선택하고;
    상기 두 개 이상의 노드에 의해 지시되는 일반화 레벨에 기초하여 상기 원시 테이블에 대한 비식별화를 수행함으로써 두 개 이상의 비식별화된 테이블을 생성하고;
    상기 두 개 이상의 비식별화된 테이블에 대하여 상기 미리 설정된 억제(suppression) 기준을 만족하는지 여부를 판단하고; 및
    판단 결과 상기 미리 설정된 억제 기준을 만족하지 않는 테이블에 상응하는 노드보다 하위에 있는 계층 또는 상기 미리 설정된 억제 기준을 만족하는 테이블에 상응하는 노드보다 상위에 있는 계층을 상기 원시 래티스에서 제외하고, 상기 두 개 이상의 노드를 선택하는 단계부터 재수행하여 상기 미리 설정된 억제 기준을 만족하는 테이블에 상응하는 노드를 포함하는 최종 래티스를 생성하도록 실행 가능한, 개인정보 비식별화 장치.
  18. 청구항 17에 있어서,
    상기 비식별화된 테이블은 K-익명성(anonymity)을 기초로 생성되거나, 상기 K-익명성 및 L-다양성(diversity)을 기초로 생성되거나, 또는 상기 K-익명성 및 T-근접성(closeness)을 기초로 생성되는, 개인정보 비식별화 장치.
  19. 청구항 18에 있어서,
    상기 미리 설정된 억제 기준은 상기 비식별화된 테이블을 구성하는 동등 클래스(equivalence class)들 중에서 상기 미리 설정된 K-익명성을 만족하지 않는 동등 클래스의 비율이 임계값 이하인지 여부를 지시하는, 개인정보 비식별화 장치.
  20. 청구항 11에 있어서,
    상기 적어도 하나의 명령은,
    상기 최종 래티스에 포함된 적어도 하나의 노드에 대응하는 비식별화된 테이블의 재식별화 위험성(re-identification risk) 및 유용성(utility)을 계산하도록 더 실행 가능한, 개인정보 비식별화 장치.
KR1020160082839A 2016-06-30 2016-06-30 개인정보의 비식별화 방법 및 장치 KR101798377B1 (ko)

Priority Applications (7)

Application Number Priority Date Filing Date Title
KR1020160082839A KR101798377B1 (ko) 2016-06-30 2016-06-30 개인정보의 비식별화 방법 및 장치
CN201780048000.0A CN109564616A (zh) 2016-06-30 2017-06-27 个人信息去标识化方法及装置
PCT/KR2017/006765 WO2018004236A1 (ko) 2016-06-30 2017-06-27 개인정보의 비식별화 방법 및 장치
US16/314,202 US11354436B2 (en) 2016-06-30 2017-06-27 Method and apparatus for de-identification of personal information
JP2018569022A JP6825016B2 (ja) 2016-06-30 2017-06-27 個人情報の非識別化方法および装置
EP17820512.6A EP3480721A4 (en) 2016-06-30 2017-06-27 METHOD AND DEVICE FOR ANONYMOUSING PERSONAL INFORMATION
US17/744,630 US20220277106A1 (en) 2016-06-30 2022-05-14 Method and apparatus for de-identification of personal information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160082839A KR101798377B1 (ko) 2016-06-30 2016-06-30 개인정보의 비식별화 방법 및 장치

Publications (1)

Publication Number Publication Date
KR101798377B1 true KR101798377B1 (ko) 2017-11-16

Family

ID=60806806

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160082839A KR101798377B1 (ko) 2016-06-30 2016-06-30 개인정보의 비식별화 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101798377B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190079017A (ko) * 2017-12-27 2019-07-05 펜타시스템테크놀러지 주식회사 프라이버시 보호를 위한 데이터의 비식별화 방법 및 장치
KR20210049546A (ko) * 2019-10-25 2021-05-06 중앙대학교 산학협력단 개인정보 보호를 위한 비식별화 방법 및 장치
KR102670041B1 (ko) * 2023-09-19 2024-05-28 (주)이지서티 실시간 수집 데이터에 대한 실시간 가명 처리 방법

Citations (2)

* 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 公開情報のプライバシー保護装置、公開情報のプライバシー保護方法およびプログラム
JP2013080375A (ja) * 2011-10-04 2013-05-02 Hitachi Ltd 個人情報匿名化装置及び方法

Patent Citations (2)

* 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 公開情報のプライバシー保護装置、公開情報のプライバシー保護方法およびプログラム
JP2013080375A (ja) * 2011-10-04 2013-05-02 Hitachi Ltd 個人情報匿名化装置及び方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190079017A (ko) * 2017-12-27 2019-07-05 펜타시스템테크놀러지 주식회사 프라이버시 보호를 위한 데이터의 비식별화 방법 및 장치
KR102097857B1 (ko) * 2017-12-27 2020-04-06 펜타시스템테크놀러지 주식회사 프라이버시 보호를 위한 데이터의 비식별화 방법 및 장치
KR20210049546A (ko) * 2019-10-25 2021-05-06 중앙대학교 산학협력단 개인정보 보호를 위한 비식별화 방법 및 장치
KR102345142B1 (ko) * 2019-10-25 2021-12-30 중앙대학교 산학협력단 개인정보 보호를 위한 비식별화 방법 및 장치
KR102670041B1 (ko) * 2023-09-19 2024-05-28 (주)이지서티 실시간 수집 데이터에 대한 실시간 가명 처리 방법

Similar Documents

Publication Publication Date Title
TWI718643B (zh) 異常群體識別方法及裝置
JP6825016B2 (ja) 個人情報の非識別化方法および装置
EP3258397A1 (en) Text address processing method and apparatus
CN107358116B (zh) 一种多敏感属性数据发布中的隐私保护方法
KR102227593B1 (ko) 학습-기반 그룹 태깅을 위한 시스템 및 방법
WO2021068563A1 (zh) 样本数据处理方法、装置、计算机设备及存储介质
CN112231592A (zh) 基于图的网络社团发现方法、装置、设备以及存储介质
KR101450453B1 (ko) 컨텐츠 추천 방법 및 장치
KR101798377B1 (ko) 개인정보의 비식별화 방법 및 장치
CN109582906A (zh) 数据可靠度的确定方法、装置、设备和存储介质
KR101519449B1 (ko) 전자의무기록의 정보 이론을 이용한 익명화 장치 및 방법
CN116805039A (zh) 特征筛选方法、装置、计算机设备和数据扰动方法
KR101821219B1 (ko) 개인정보를 포함하는 테이블의 속성 설정 방법 및 장치
KR101798378B1 (ko) 유전 알고리즘에 기초한 개인정보의 비식별화 방법 및 장치
CN114170000A (zh) 信用卡用户风险类别识别方法、装置、计算机设备和介质
CN113722484A (zh) 基于深度学习的谣言检测方法、装置、设备及存储介质
JP2018156332A (ja) 生成装置、生成方法および生成プログラム
CN109614456B (zh) 一种基于深度学习的地理信息的定位分区方法及装置
WO2016021039A1 (ja) k-匿名化処理システム及びk-匿名化処理方法
Xu et al. Optimal two‐phase sampling design for comparing accuracies of two binary classification rules
US10296990B2 (en) Verifying compliance of a land parcel to an approved usage
KR102661768B1 (ko) 추천 질의문 생성 방법
KR102097857B1 (ko) 프라이버시 보호를 위한 데이터의 비식별화 방법 및 장치
WO2023029065A1 (zh) 数据集质量评估方法、装置、计算机设备及存储介质
CN116383154A (zh) 文件处理方法、文件处理装置、电子设备及存储介质

Legal Events

Date Code Title Description
GRNT Written decision to grant