KR102377535B1 - 빅데이터 개인정보의 익명화 및 익명화 데이터의 결합 방법 - Google Patents

빅데이터 개인정보의 익명화 및 익명화 데이터의 결합 방법 Download PDF

Info

Publication number
KR102377535B1
KR102377535B1 KR1020207027105A KR20207027105A KR102377535B1 KR 102377535 B1 KR102377535 B1 KR 102377535B1 KR 1020207027105 A KR1020207027105 A KR 1020207027105A KR 20207027105 A KR20207027105 A KR 20207027105A KR 102377535 B1 KR102377535 B1 KR 102377535B1
Authority
KR
South Korea
Prior art keywords
synchronization
value
anonymous
cell
attribute
Prior art date
Application number
KR1020207027105A
Other languages
English (en)
Other versions
KR20200120740A (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 주식회사 보아라
Publication of KR20200120740A publication Critical patent/KR20200120740A/ko
Application granted granted Critical
Publication of KR102377535B1 publication Critical patent/KR102377535B1/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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2465Query processing support for facilitating data mining operations in structured databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Medical Informatics (AREA)
  • Computer Security & Cryptography (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Linguistics (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은, 개인정보의 유출우려 없이 외부 시스템에 자유롭게 유통시킬 수 있도록 빅데이터를 익명화하면서도, 유통된 데이터 간의 결합이 가능하도록 하는 빅데이터의 개인정보 익명화 및 결합 방법에 관한 발명으로서,
본 발명에 따르면, 원본 개인식별 데이터셋의 동기화 대상 개인식별 속성값을 대리하는 대리값을 그룹화하고, 각 그룹에 에러를 적용하여 셀로 정의하고, 정의된 셀의 구간 정보를 기반으로 형성된 동기화 속성을 개인식별 속성값을 대신하여 익명화데이터에 부여함으로서, 원본의 개인식별 속성값이 모두 제거되고, 에러값이 무작위로 추가되어 개인 재식별이 극히 어려운 익명화 데이터를 개인정보의 유출 우려 없이 외부 유통하는 것이 가능하게 되며, 유통되는 복수의 익명 데이터셋은 동기화 속성에 포함되어 있는 구간 정보를 기반으로 서로 결합하여 통계 분석 등에 활용하는 것이 가능하게 된다.

Description

빅데이터 개인정보의 익명화 및 익명화 데이터의 결합 방법
본 발명은, 빅데이터의 개인정보 익명화 및 익명화된 데이터의 결합 방법에 관한 것으로서, 특히, 개인정보의 유출 우려 없이 외부 시스템에 자유롭게 유통시킬 수 있도록 빅데이터를 확실하게 익명화하면서도, 유통된 데이터를 결합하여 분석 가능하도록 하는 빅데이터의 개인정보 익명화 및 익명화 데이터의 결합 방법에 관한 것이다.
빅데이터란, 기존의 기업 환경이나 공공 기관에서 사용되는 정형화된 데이터는 물론, 전자상거래 데이터, 메타 데이터, 웹로그, 무선식별(RFID) 데이터, 센서 네트워크 데이터, 소셜 네트워크 데이터, 소셜 데이터, 인터넷 텍스트와 문서, 인터넷 검색 인덱싱 등 기존에 미처 활용되지 못하던 비정형화 또는 반정형화된 데이터를 모두 포함하는 데이터로서, 이와 같은 데이터는 일반적으로 보통의 소프트웨어 툴 및 컴퓨터 시스템으로는 다루기 어려운 수준의 데이터 양을 갖게 된다는 의미에서 빅데이터(Big Data)라 칭하고 있다.
최근 들어, 기업뿐만 아니라 정부에서도, 다양하게 수집된 빅데이터 정보 및 그를 활용한 통계 분석 데이터를 의사 결정과 정책 결정 등에 적극적으로 활용하고자하는 시도가 이어지고 있으며, 빅데이터를 활용하여 데이터 중심의 컴퓨팅 환경을 구축하기 위한 빅데이터 처리 기술이 활발하게 연구되고 있다.
한편, 빅데이터는 해당 자료가 수집되는 조직 내에서 분석하여 활용하게 되지만, 자료를 수집하는 조직에 따라 수집되는 데이터의 속성에 차이가 있어 다른 조직의 자료를 활용할 필요가 발생하며, 자료를 수집할 능력이나 시스템이 갖추어져 있지 않은 조직의 경우에도 타 조직의 빅데이터나 그들의 조합으로부터 해당 조직이 독특하게 필요로 하는 정보를 분석하여 의사결정에 활용할 필요성이 대두되고 있다.
그러나, 빅데이터의 성격상 데이터의 양이 방대할 뿐만 아니라, 대부분의 빅데이터에는 개인신상에 대한 정보가 필연적으로 포함될 수밖에 없는 바, 개인 신상 정보의 유출에 따른 법적 분쟁이 발생할 소지가 다분하기 때문에, 빅데이터를 조직간에 교류하거나 유통하는 데는 한계가 있었다.
이에 따라, 빅데이터의 수집이 가능한 조직의 입장에서는, 개인 신상정보 유출에 따른 법적 분쟁의 발생을 피하기 위해 빅데이터를 사업적 목적으로 가공하여 유통하기보다는 대부분 통계적 정보 수준으로 가공하여 제공하고 있는 실정이며, 빅데이터의 활용을 필요로 하는 조직의 입장에서는 조직의 독특한 사업 환경에 꼭 필요로 하는 분석 자료를 획득하기가 어렵다는 문제점이 있었다.
상기의 문제점을 해결하기 위한 것으로, 데이터를 그룹화한다거나, 마스킹, 치환, 반식별화, 유형화를 통해 개인 속성을 익명화(비식별화) 하는 빅데이터 처리 시스템 및 방법이 일각에서 적용되고 있다.
마스킹은, 대상정보를 마스킹 또는 삭제하는 것이고(예; 670101-10491910 → **************), 치환은 대상정보에 대응하여 생성된 정보로 치환하는 것이며(예; 670101-10491910 → ID2311331), 반식별화는 대상 정보의 일부만 나타내도록 반식별화하는 것이며(예; 670101-10491910 → 67-1), 유형화는 대상정보를 유형화시켜 구분하는 방식(예; 670101-10491910 → 남자)이다.
한편, 빅데이터 시대의 도래를 통해 데이터의 복잡성이 증대됨에 따라 보다 효율적인 데이터 분석을 위한 데이터 사이의 결합이 더욱 중요해지고 있다.
특히 서로 다른 분야의 개인 정보 데이터를 동일한 개인 레코드에 대해 결합함으로써 개개인에 대한 보다 광범위한 분석이 가능해지고 있다.
서로 다른 개인 정보 데이터에 존재하는 동일한 개인의 레코드를 결합하기 위해서는 결합 대상 데이터셋(Data Set)에 동일한 개인식별자가 존재하여야 하며, 그 식별자를 기준으로 서로 대상 레코드들을 결합(Join)하여 분석에 활용하게 된다.
하지만 전술한 바와 같은 종래의 익명화 방식이 적용된 데이터의 경우에는, 개인과 1 대 1로 대응되는 개인식별자로 인해 특정 개인이 재식별될 수 있다는 문제점이 있었으며, 다른 한편으로는, 결합 대상 데이터셋에 개인식별 속성이 익명화되어 제거되어 있기 때문에, 복수의 데이터셋에 공통되는 개인식별 속성을 기준으로 결합하기가 용이하지 않으며, 그에 따라 복수의 데이터셋으로부터 동일한 개인에 대한 정보를 하나로 결합하여 분석에 활용하기 어렵다는 문제점이 있었다.
본 발명은 상기와 같은 종래 익명화 빅데이터의 문제점을 해결하기 위한 발명으로, 익명화 데이터의 개인정보 재식별을 방지하여 빅데이터를 개인정보의 유출우려 없이 외부 시스템에 자유롭게 유통시킬 수 있도록 하면서도, 유통된 데이터 간의 결합을 효율적으로 수행할 수 있도록 하는 개인정보 익명화 방법 및 익명화 데이터의 결합 방법을 제공하는 데 그 목적이 있다.
상기의 목적을 달성하기 위한 본 발명에 따른 빅데이터 처리방법은, 통신부, 처리부 및 저장부를 구비하는 데이터 서버에서 수행되며, 빅데이터의 개인정보를 익명화 처리하는 빅데이터 처리방법에 있어서, 원본 개인식별 데이터셋의 동기화 대상 개인식별 속성값을 해당 속성값을 대리하는 대리값으로 변환하여 동기화 사전을 형성하는 단계; 상기 동기화 사전 값들을 한 개 이상의 연속한 k(k≥1)개씩 그룹화하여, 각 그룹의 시작값과 끝값 정보를 갖는 동기화 테이블을 형성하는 단계; 상기 원본 개인식별 데이터셋의 각각의 개인식별 속성값에 대해, 상기 개인식별 속성값에 대응되는 상기 동기화 테이블 그룹의 시작값과 끝값 정보에 각각 에러값을 적용하여 새로운 시작값과 끝값 정보를 갖도록 구간화하는 셀 구간화 단계; 상기 원본 개인식별 데이터셋의 각각의 개인식별 속성값을 상기 셀의 구간 값에 대응되게 변경하여 익명 데이터셋의 동기화 속성값으로 부여하는 단계;를 구비하는 것을 특징으로 한다.
본 발명의 이러한 특징에 따르면, 원본 개인식별 데이터셋의 동기화 대상 개인식별 속성값을 대리하는 대리값을 그룹화하고, 각 그룹에 에러를 적용하여 셀로 정의하고, 정의된 셀의 구간 정보를 기반으로 형성된 동기화 속성을 개인식별 속성값을 대신하여 익명화데이터에 부여함으로서, 원본의 개인식별 속성값이 모두 제거되고, 에러값이 무작위로 추가되어 개인 재식별이 극히 어려운 익명화 데이터를 개인정보의 유출 우려 없이 외부 유통하는 것이 가능하게 되며, 유통되는 복수의 익명 데이터셋은 동기화 속성에 포함되어 있는 구간 정보를 기반으로 서로 결합하여 통계 분석 등에 활용하는 것이 가능하게 된다.
바람직하게, 상기 동기화 사전은, 상기 동기화 대상 속성값에 미리 정의된 함수를 적용하여 형성된다.
바람직하게, 상기 셀 구간화 단계는, 상기 동기화 테이블 그룹에 대하여, 상기 그룹내 최소값으로부터, 최소 에러값과 최대 에러값 사이의 임의의 에러값을 뺀 값을 해당 셀의 시작값으로 설정하고, 상기 그룹내 최대값에, 최소 에러값과 최대 에러값 사이의 임의의 에러값을 더한 값을 해당 셀의 끝값으로 설정하는 단계;를 구비한다.
바람직하게, 상기 동기화 속성의 속성값은, 상기 셀의 시작값과 끝값을 연결하여 하나의 데이터값으로 형성된다.
바람직하게, 상기 동기화 사전은, 서로 다른 복수의 원본 데이터셋에 있는 동일한 원본 개인식별 속성을 동기화 대상 속성으로 선정하여 형성된 각각의 개별 동기화 사전들을 합집합하여 형성된다.
바람직하게, 상기 동기화 사전은, 상기 동기화 대상 속성값의 일부분을 사용하여 형성된다.
바람직하게, 상기 동기화 속성 생성시, 두 명 이상의 개인식별 속성값들에 대해 생성된 상기 동기화속성의 구간값의 범위가 중첩되게 생성되는 경우, 새로운 에러값이 적용되도록 상기 동기화속성을 재생성한다.
바람직하게, 복수의 익명 데이터셋의 동기화 속성들을 포괄하는 동기화 지도의 셀 구간 정보를 참조하여, 복수 익명 데이터셋의 각각의 레코드의 동기화 속성에 대응되는 셀 구간의 중복 여부를 판단하고, 동기화 속성의 셀 구간이 미리 정해진 소정치 이상 중복되는 경우, 이들 레코드를 동일한 개인에 대응되는 것으로 판단하여 익명매칭 결합한다.
바람직하게, 두 개의 익명식별자(a, b)에 대응되는 셀들의 중복 여부 판단은 다음으로 정의되는 익명매칭 연산에 의해 수행된다.
익명매칭 연산 a # b = (true, C(a,b)) or (false,0)
- 익명식별자 a = (a.s, a.e) a.s: a의 셀 시작값, a.e: a의 셀 끝값
- 익명식별자 b = (b.s, b.e) b.s: b의 셀 시작값, b.e: b의 셀 끝값
- C(a,b) = a, b레코드가 겹치는 구간에 존재할 확률값
바람직하게, 동기화속성 값의 전체 도메인을 고정 크기의 단위로 이산화하여, 이산화 구간 단위로 각 구간에 빈 익명식별자 버켓을 생성한 후, 상기 버켓에 공통으로 속하는 익명식별자를 대상으로 상기 익명매칭 연산을 수행한다.
바람직하게, 두 원본 데이터셋의 레코드 쌍 단위로 상기 익명매칭 결합작업을 수행한다.
바람직하게, 두 원본 데이터셋의 개인식별자들의 익명식별자들을 모아서 두 익명데이터셋의 익명식별자 집합에 대해 상기 익명매칭 결합작업을 수행한다.
본 발명에 따르면, 원본 개인식별 데이터셋의 동기화 대상 개인식별 속성값을 대리하는 대리값을 그룹화하고, 각 그룹에 에러를 적용하여 셀로 정의하고, 정의된 셀의 구간 정보를 기반으로 형성된 동기화 속성을 개인식별 속성값을 대신하여 익명화데이터에 부여함으로서, 원본의 개인식별 속성값이 모두 제거되고, 에러값이 무작위로 추가되어 개인 재식별이 극히 어려운 익명화 데이터를 개인정보의 유출 우려 없이 외부 유통하는 것이 가능하게 되며,
유통되는 복수의 익명 데이터셋은 동기화 속성에 포함되어 있는 구간 정보를 기반으로 서로 결합하여 통계 분석 등에 활용하는 것이 가능하게 된다.
도 1은 본 발명의 빅데이터 처리 시스템을 형성하는 데이터 중심 컴퓨팅 환경을 설명하는 예시도.
도 2는 도 1에 도시한 데이터 서버의 주요 구성을 나타내는 블록도.
도 3은 개별 동기화 사전의 예시도
도 4는 지역 동기화 사전의 예시도
도 5a는 원본 개인식별 속성값 전부를 사용하여 생성되는 동기화 사전의 예시도
도 5b는 원본 개인식별 속성값의 일부를 사용하여 생성되는 동기화 사전의 예시도
도 6a는 셀 구간화 절차 설명도
도 6b는 구간화된 셀의 예시도
도 6c는 셀 크기 최적화의 예시도
도 7a는 개별 동기화 사전을 기반으로 하는 셀 구간화 및 동기화 속성 생성 예시도
도 7b는 지역 동기화 사전을 기반으로 하는 셀 구간화 및 동기화 속성 생성 예시도
도 7c는 도 7a와 도 7b의 동기화 속성 생성 과정에서의 셀 구간화 결과 예시도
도 8은 동기화 속성의 한 형태인 익명 식별자의 예시도
도 9a는 단일 익명식별자의 예시도
도 9b는 다중 익명식별자의 예시도
도 10a는 익명 식별자의 배치 생성방식의 예시도
도 10b는 익명 식별자의 단위 생성방식의 예시도
도 11a는 두 익명 데이터의 중복 구간을 설명하는 예시도
도 11b는 동기화 유효성 신뢰도의 예시도
도 12는 이산화 익명매칭의 예시도
도 13a는 익명식별자 단위 결합방법의 예시도
도 13b는 익명식별자 배치 결합방법의 예시도
도 13c는 익명식별자 혼합 결합방법의 예시도
도 14a는 정보전달형 익명데이터 활용 방법의 예시도
도 14b는 정보결합형 익명데이터 활용 방법의 예시도
도 14c는 정보집계형 익명데이터 활용 방법의 예시도
이하, 본 발명에 따른 빅데이터 개인정보 익명화 방법 및 익명화 데이터의 결합 방법을 구체적으로 설명한다.
본 발명에 따르면, 복수의 원본 개인식별 데이터셋을 익명 결합하여 활용하기 위해, 원본 데이터셋 각각을 익명화하여 익명 데이터셋를 생성하게 된다.
이때, 원본 개인식별 데이터셋의 결합 대상 개인식별 속성을 대신하여 익명 데이터셋 각각에 이들의 결합시 이용되는 동기화 속성을 부여한다.
본 발명에 있어서, '동기화 속성'이란 익명 데이터셋의 결합을 위해, 원본 데이터셋에 있는 개인식별 속성값을 익명화하여 익명 데이터셋에 부여한 속성을 의미하며, '동기화 작업'은 익명 데이터셋에 부여된 동기화 속성을 기준으로, 데이터셋의 레코드들을 결합하는 작업을 의미한다.
동기화 속성은, 원본 개인식별 데이터셋의 동기화 대상 개인식별 속성값을 해당 속성값을 대리할 수 있는 대리값으로 변환하여 동기화 사전을 생성하고, 동기화 사전값들을 그룹화하여 그룹의 시작값과 끝값을 갖는 동기화 테이블을 형성하고, 원본 개인식별 속성값에 대응되는 동기화 테이블 그룹의 시작값과 끝값에 에러값을 적용하여 셀로 정의하는 셀 구간화 단계를 거친 후, 원본 개인식별 데이터셋의 개인식별 속성값들을 셀의 구간값에 대응되게 변경하여 익명 데이터셋의 동기화 속성값으로 부여하는 단계를 거쳐 생성된다.
익명 데이터셋에서 하나 이상의 동기화 속성들을 포괄적으로 해당 데이터셋의 '동기화 지도'라고 정의한다.
동기화 작업은, 동기화 속성의 집합인 동기화 지도를 통해 익명 데이터를 결합하는 것으로서, 동일 원본 개인식별 속성으로부터 생성된 두 동기화 지도의 각 셀 구간을 비교하여 각 동기화 속성값에 해당되는 셀을 기준으로 익명 데이터를 결합하게 된다.
이하, 동기화 사전 생성단계, 셀 구간화 단계, 동기화 사전과 셀 구간화를 이용한 동기화 속성 생성 단계 및 이와 같이 생성된 익명 데이터셋의 결합 즉, 동기화 작업에 대해 순차적으로 설명하기로 한다.
동기화 사전은, 개별 동기화 사전, 개별 동기화 사전의 합집합인 지역 동기화 사전, 해당 개인식별 속성에 대해서 모든 가능한 값을 정의역으로 하여 작성되는 전역 동기화 사전으로 구분된다.
개별 동기화 사전의 생성 단계는 다음과 같다.
먼저, 원본 데이터셋에 있는 하나의 원본 개인식별 속성을 동기화 대상 속성으로 선정한다.
동기화 대상 속성을 개인식별 속성값 그 자체로 사용하면 개인이 식별되므로, 주민등록번호나 이동전화번호, 이메일 주소 등 각기 다른 의미를 갖는 동기화 대상 속성 유형에 대해 미리 정의된 고유함수를 적용하여 개인식별 속성값을 대리하는 대리값으로 변환한다.
동일 개인식별 속성에 대해서는 동일한 고유함수를 적용하며, 각 고유함수는 일대일 대응 함수이면서 치역이 원본 개인식별 속성값처럼 정렬 가능한 값이 되는 함수가 바람직하다.
주민등록번호, 이동전화번호, 이메일 주소 등 각각의 개인식별 속성 유형마다 정해진 고유함수를 적용하여 개인식별 속성값에 변형을 가함으로서, 개인 식별 속성을 제거하면서, 정렬가능한 속성값으로 변환할 수 있게 된다.
변환된 속성을 해당 원본 개인식별 속성에 대한 동기화 사전이라 정의한다.
도 3은 주민등록번호 속성과 이동전화번호 속성 각각에 대해 개별 동기화 사전을 형성하는 과정을 예시한 것이다.
어떤 데이터셋이라도 주민등록번호 속성을 갖는다면 해당하는 원본 개인식별 속성에 대해 동일한 고유함수 f(주민등록번호)를 적용한다.
도 3에 예시된 바와 같이, 원본 데이터셋에서 동기화 대상 속성을 선정하고, 해당 원본 데이터셋에 있는 개인식별 속성값을 대리값으로 변환하여 생성한 동기화 속성을 개별 동기화 사전이라 한다.
고유함수는 주민등록번호와 같이 원본 개인식별 속성값들의 정의역에 있는 개별 값들이 1:1로 대응되는 정렬 가능한 치역 도메인으로 매핑하는 함수로서, 다양한 방법으로 고유함수를 정의할 수 있다.
특히, 해싱(hashing) 방법을 적용하는 경우, 원본 개인식별 속성값들 사이의 정렬 순서를 무작위(random)하게 변경할 수 있어서 개인 재식별을 최대한 불가능하게 할 수 있다. 해싱 방법 적용시, 해시 충돌을 최소화하기 위해, 해시 함수의 홈 주소를 최대한 많이 설정하는 것이 바람직하다.
지역 동기화 사전은, 서로 다른 여러 원본 데이터셋에 있는 동일한 원본 개인식별 속성을 동기화 대상 속성으로 선정하여 만든 각각의 개별 동기화 사전들을 모두 합집합(union)한 것을 의미한다.
예를 들어 안전공간 내에 원본 개인식별 데이터셋 A와 원본 개인식별 데이터셋 B가 모두 주민등록번호 속성을 가지고 있고, 이를 각각에 대해 개별 동기화 사전를 생성하였다면, 도 4에 예시된 바와 같이, 이들을 합집합하여 지역 동기화 사전을 생성하게 된다.
전역 동기화 사전은 해당 개인식별 속성에 대해서 가능한 모든 값을 정의역으로 하여 생성되는 사전이다.
예를 들어 주민등록번호의 전역 동기화 사전은 대한민국 전 국민의 주민등록번호에 해당하는 데이터가 포함된 데이터셋으로부터 생성되는 동기화 사전을 의미한다.
전 국민의 모든 주민등록번호 값이 단일 안전공간 내에 존재한다면, 해당 데이터셋에 대해 주민등록번호 고유함수를 적용하여 주민등록번호 개별 동기화 사전을 생성함으로서 주민등록번호 전역 동기화 사전을 생성할 수 있다.
주민등록번호 지역 동기화 사전에 계속해서 개별 동기화 사전을 합집합하면 전역 동기화 사전에 수렴하게 된다.
한편, 동기화 사전을 생성할 때 동기화 대상 속성은 원본 개인 개인식별 속성이기 때문에, 도 5a에 예시된 바와 같이, 개인과 속성값이 1:1 대응되므로, 구간화하여 동기화 속성이 되기 전에는 재식별 위험성의 문제가 있다.
이러한 위험성을 원천적으로 제거하려면, 원본 개인식별 속성을 부분적으로 사용하면 된다. 원본 개인식별 속성값을 그대로 사용하지 않고 일부분만 사용하면, 한 값에 여러 개인이 대응되어, 동기화 속성 생성 이전의 데이터에 대해서도 재식별 위험성을 제거할 수 있게 된다.
예를 들어, 도 5b에 예시된 바와 같이, 주민등록번호 속성의 경우 13자리를 사용하지 않고 앞 10자리만 취하여 사용하게 되면, 더 이상 개인과 속성값이 1:1 대응되지 않으므로 재식별 위험성이 제거된다.
그러나, 13자리를 그대로 사용하는 방법에 비해 동기화 결합 정확도는 다소 낮을 수 있다.
이를 보완하기 위한 방법으로, 원본속성 부분사용으로 만들어진 동기화 속성을 두 개 이상 생성하여 동기화 지도를 구성하는 방법이 있다.
예를 들어 주민등록번호 13자리 중 10자리만 취할 때, 앞 10자리만 취하여 만든 동기화 속성, 뒤 10자리만 취하여 만든 동기화 속성 두 속성으로 동기화 지도를 구성한다. 이와 같이 동기화 지도의 동기화 속성 수가 많아지면 동기화 결합 정확도는 향상된다.
다음으로, 셀 구간화 단계에 대해 설명한다.
셀 구간화란 주어진 동기화 사전 도메인에서 동기화 사전 값들을 그룹화하고 각 그룹에 에러를 적용하여 셀로 정의하는 것을 의미하는 바, 셀 구간화의 구체적 절차는 다음과 같다.
1) 주어진 동기화 사전 값들을 연속한 k개씩 그룹화하여, 각 그룹의 시작값과 끝값 정보를 갖는 동기화 테이블을 형성한다(k:셀 고정빈도로서, 1 이상의 자연수).
2) 동기화 테이블의 각 그룹에 대하여 그룹 내 최소값으로부터 최소 에러값 emin과 최대 에러값 emax 사이의 임의의 에러값을 뺀 값을 해당 셀 시작값으로 결정한다.
3) 동기화 테이블의 각 그룹에 대하여 그룹 내 최대값으로부터 최소 에러값 emin과 최대 에러값 emax 사이의 임의의 에러값을 더한 값을 해당 셀의 끝값으로 결정한다.
위 단계를 예를 들어 설명하면 다음과 같다.
먼저 동기화 지도 값들 중 연속된 k개씩 그룹을 생성한다.
각 그룹은 하나의 셀로 정의되는데, 각 셀의 셀 시작값과 셀 끝값은 다음과 같이 결정된다.
Vsi = (그룹내 동기화 대리속성 최소값) - (emin과 emax 사이의 난수)
Vfi = (그룹내 동기화 대리속성 최대값) + (emin과 emax 사이의 난수)
(emin: 최소 에러값, emax:최대 에러값)
도 6a는 고정 빈도가 2이고(k = 2) 최소 에러와 최대 에러가 각각 2와 8(emin = 2, emax = 8)로 주어졌을 때의 셀 구간화 절차를 예시한 것이다.
먼저 동기화 사전 값 중 연속된 2개의 값들로 그룹을 만들고, 각 그룹에 주어진 최소 에러와 최대 에러 사이의 임의의 에러값을 추가하여 셀 시작값과 셀 끝값을 결정한다.
위에 설명한 바와 같이, 셀은 동기화 사전 도메인을 구간화하는 단위로, 시작값과 끝값이 있어서, 그 시작값과 끝값 사이에 동기화 사전 값이 정해진 숫자 이상 포함되도록 정의하는 데, 셀의 시작값과 끝값 사이에 존재하는 동기화 사전 값의 개수를 셀 빈도라고 한다.
셀의 시작값과 끝값은 동기화 사전에 존재하는 동기화 사전 값과 같을 수 없으며, 셀의 시작값은 셀 내 가장 작은 동기화 사전 값보다 임의의 값(e1)만큼 작은 값, 셀의 끝값은 셀 내 가장 큰 동기화 사전 값보다 임의의 값(e2)만큼 큰 값으로 하는 데, e1과 e2는 에러값으로서, 해당 셀에 포함된 동기화 사전 값의 재식별 불가성을 보장한다.
셀을 수식적으로 정의하면 다음과 같다.
1) 동기화 사전 D의 도메인(Dom(D))에서 i번째 셀 Ci는 다음과 같은 속성으로 정의된다.
Ci = (Vsi,Vfii), Vsi,Vfi Dom(D), Vsi > Vfi, θi >= 1
(Vsi: i번째 셀의 시작값, Vfi: i번째 셀의 끝값, θi : i번째 셀 빈도 )
θi는 Vsi보다 크고 Vfi보다 작은 서로 다른 동기화 사전 값의 개수로, 동기화 사전값이 존재하지 않는 셀은 정의하지 않으므로 셀 빈도 값은 1 이상의 자연수)
2) 셀 Ci의 크기는 다음과 같이 정의된다.
크기(Ci) = Vfi - Vsi
도 6b는 구간화된 셀의 예시도로서, 도 6a의 그룹 g1에 해당하는 셀을 일례로 나타낸 도면으로, C = (550, 580, 2), 크기(C) = Vfi - Vsi = 580 - 550 = 30, 임으로 추가된 에러값 e1은 18, e2는 8인 셀을 예로 셀의 구성을 설명하고 있다 (emin = 4, emax = 20).
도 6은, 고정 빈도 k를 2로. 즉, 동기화 사전의 값 중 연속한 2개의 값을 그룹화하여 셀 구간화한 경우를 예로 들어 설명하였으나, 고정빈도 k를 1로 설정하여 셀 구간화를 진행하는 경우, 동기화 사전의 각 값은 해당 그룹의 최소값이자 최대값에 해당되는 것으로 볼 수 있으므로, 각 셀의 최소값은 해당 동기화 사전값에서 에러값(e1)을 뺀 값이 되고, 각 셀의 최대값은 해당 동기화 사전값에 에러값(e2)을 더한 값이 된다.
그룹화 과정에서, k를 크게 할수록 셀의 크기가 커지고 그에 따라 에러가 커질 수 있는 데, 셀 구간화를 진행할 때 최대 셀 크기(Cmax)를 설정하여, 연속된 k개씩 그룹화할 때 최대 셀 크기보다 커지면 그 값은 그룹화에서 제외함으로서, 에러가 커지는 것을 방지하는 것이 바람직하다.
도 6c의 위쪽은, 연속된 2개씩 셀로 정의하였을 때 셀의 크기가 최적화되지 않는 결과를 보여주며, 아래쪽은, 최대 셀 크기(Cmax = 10)를 적용, 셀의 크기를 최적화하여 셀 구간화를 수행한 결과를 보여준다.
동기화 속성은, 이와 같이 형성된 셀의 구간 정보 즉, 셀 구간화에 의해 얻어진 시작값과 끝값를 기반으로 형성되는 속성으로서, 익명 데이터셋에 부여되어 익명 데이터간의 결합에 활용되는 속성이다.
원본 개인식별 속성인 동기화 대상 속성값은 개인과 속성값이 1:1로 대응된다는 점에서 개인 재식별 위험성이 매우 높으며, 동기화 사전값 역시 고유함수가 1:1 대응 함수이므로 개인 재식별 위험성이 높다.
반면에, 동기화 속성은, 원본의 개인식별 속성값이 모두 제거되고, 에러값이 무작위로 추가되어 개인 재식별 가능성이 없는 속성값을 갖게 되므로, 원본 개인식별 속성을 대치하여 동기화 속성이 부여된 익명 데이터셋은 개인정보의 유출 우려 없이 자유롭게 외부 유통하는 것이 가능하게 되며, 유통되는 복수의 익명 데이터셋은 동기화속성을 기반으로 서로 결합하여 통계 분석 등에 활용하는 것이 가능하게 된다.
앞서 설명한 바와 같이, 동기화 속성의 생성에 적용되는 동기화 사전에는, 개별 동기화 사전과 지역/전역 동기화 사전이 있는 데, 도 7a은 개별 동기화 사전을 기반으로 셀 구간화를 진행하여 동기화 속성을 생성하는 과정(k = 2) 및 그 결과를 예시하는 도면이며, 도 7b는 지역 동기화 사전을 기반으로 셀 구간화를 진행하여 동기화 속성을 생성하는 과정(k = 2) 및 그 결과를 예로서 나타내는 도면이다.
지역 동기화 사전을 적용하는 경우, 해당 데이터셋의 동기화 대상 속성으로부터 추출된 개별 동기화 사전을 동일한 속성 유형의 기존에 존재하는 지역 동기화 사전에 포함시킨(합집합) 새로운 지역 동기화 사전을 기반으로 셀 구간화를 진행한 뒤 동기화 속성을 생성하게 된다.
지역 동기화 사전을 적용하게 되면, 셀 구간화 과정에서 개별 동기화 사전보다 많은 동기화 사전 값을 기반으로 구간화 할 수 있기 때문에, 각 셀을 정의할 때 추가되는 에러값이 적게 들어간다. 또한 재식별 불가성을 보장하면서 각 셀의 유효한 빈도는 낮출 수 있으므로 결합 정확도가 높아질 수 있다.
도 7c는 도 7a와 도 7b의 동기화 속성 생성 과정에서의 각각의 셀 구간화 결과를 도시한 것으로, 개별 동기화 사전을 이용하는 경우, 동기화 사전 A의 값 두 개가 한 셀에 정의되어, 에러값이 상대적으로 크고 정확도가 낮을 수 있다는 것을 알 수 있으며, 지역 동기화 사전을 이용하는 경우, 한 셀에 A의 값이 한 개 또는 두 개로 정의되어, 개별 동기화 사전을 적용할 때보다 에러가 최적화되어 추가될 수 있어서 정확도가 높다는 것을 알 수 있다.
전역 동기화 사전을 이용하는 방법은 지역 동기화 사전을 사용하는 방법과 동일하나, 전역 동기화 사전의 서로 다른 사전값은 지역 동기화 사전의 서로 다른 사전값보다 훨씬 많아, 셀을 세밀하게 정의할 수 있으므로, 전역 동기화 사전을 이용하는 경우, 에러의 크기를 보다 적게 할 수 있다.
앞서 정의한 바와 같이, 동기화 속성은 원본 개인식별 데이터셋의 결합 대상 개인식별 속성을 대신하여 익명 데이터셋 각각에 이들의 결합시 이용되는 속성으로서, 구간화된 셀의 시작값과 끝값에 대한 정보가 익명 데이터셋의 결합시 사용되며, 동기화 속성에는 구간화된 셀의 시작값과 끝값에 대한 정보가 저장된다.
그러나, 익명 데이터셋의 동기화 속성값을 저장할 때, 셀 구간의 시작값과 끝값 각각을 동기화 속성의 데이터값으로 저장하는 것보다는, 시작값과 끝값을 결합하여 하나의 데이터값으로 저장한 후, 익명 데이터셋의 결합시 해당 데어터값으로부터 시작값과 끝값 정보를 분리하여 결합에 활용하는 것이 바람직하다.
일례로, 셀 구간의 두 값인 시작값과 끝값을 연결한 값을 동기화 속성의 속성값으로 적용할 수 있는 데, 동기화 속성은 구간화된 셀의 시작값과 끝값에 대한 정보를 갖으며, 이를 분리해 낼 수 있는 형태면 어느 형태든 무방하다.
앞서 예시한 ‘셀 구간의 시작값과 끝값을 연결한 값을 갖는 동기화 속성’은 동기화 속성의 가장 전형적인 형태로서 이를 '익명 식별자’라 칭하기로 하며, 이하 동기화 속성이 연관되는 설명에서는, 설명의 편의를 위해, '익명 식별자’를 예로 들어 설명을 진행하며, '익명식별자'를 '동기화 속성'을 대신하는 동의어 개념으로서 설명을 진행하기로 한다.
도 8은 도 6a의 질병 현황 익명 데이터셋의 주민등록번호 동기화 속성의 셀 시작값과 끝값을 연결하여 하나의 데이터로 결합하여 동기화 속성 즉, 익명 식별자의 데이터값으로 저장하는 예를 나타내는 바, 소숫점 이하는 반올림이나 버림 처리를 하여도 무방하다.
한편, 익명 식별자, 즉, 동기화 속성은 하나의 셀에 오직 하나의 개인식별 속성값만을 대응시켜 생성되는 단일 익명식별자와 하나의 셀에 복수개의 개인식별 속성값들을 대응시켜 생성되는 다중 익명식별자로 생성될 수 있다.
도 9a에 예시된 바와 같이, 단일 익명식별자는 동일인에게 복수개의 상이한 익명 식별자가 생성될 수 있어서 개인:익명식별자 = 1:n의 관계가 되지만, 각각의 익명 식별자는 오직 한 개인에 대응된다.
이에 대해, 다중 익명식별자는 도 9b에 예시된 바와 같이, 한 개인이 복수개의 익명 식별자값에 대응되면서(개인:익명식별자값 = 1:n), 동시에 한 익명 식별자값이 복수의 개인들에 대응(익명식별자값:개인 = 1:m)되는 바, 한 셀에 최대로 허용되는 개인식별자의 수가 k일 때 'k-다중 익명식별자'라고 정의한다.
k값이 클수록 k-다중 익명식별자의 익명성이 높아지며, 단일 익명식별자는 1-다중 익명식별자에 해당되며, 다중 익명식별자보다는 익명성이 낮아지게 된다.
이상의 설명은, 설명 및 이해의 편의를 위해, 원본 데이터셋에 있는 모든 개인식별자가 서로 다른 경우를 예를 들어 설명하였으나, 본 발명의 익명 식별자는 원본 데이터셋에 한 개인식별자가 여러 번 중복되어 나타나는 경우에도 물론 적용된다.
원본 데이터셋에 한 개인식별자가 여러 번 중복되어 나타나는 경우, 원본 데이터셋의 개인식별자 중복 레코드 각각에 대해 동기화 테이블을 참조하여 셀 구간화가 별도로 진행되며, 그에 따라 동일 개인식별자에 대응되는 동기화 테이블값에 에러값이 서로 다르게 부가되므로, 동일한 개인에 대해서도 서로 다른 값을 갖는 복수 개의 익명식별자 값이 존재하게 된다.
한편, 익명식별자를 생성하는 과정은 그 작업 환경에 따라, 도 10a에 예시된 바와 같이, 복수의 개인식별자들에 대한 익명식별자들을 한꺼번에 생성하는 배치 생성방식과 도 10b에 예시된 바와 같이, 한번에 한 개인식별자를 익명식별자로 생성하는 단위 생성방식으로 구분될 수 있는 데, 하나의 개인레코드 단위로 처리하는 실시간 데이터 스트림 환경에서는 단위 생성방식을 적용하는 것이 바람직하다.
다음으로, 동기화 작업에 대해 상세히 설명한다.
서로 다른 안전공간에서 생성되어 외부로 유통되는 두 익명 데이터셋이 동일한 동기화 속성(익명 식별자)을 갖을 때, 이 두 데이터셋을 공통의 익명 식별자를 기준으로 결합하는 작업을‘동기화 작업’ 또는 ‘익명 매칭’이라 정의한다.
익명 데이터셋에서 하나 이상의 동기화 속성들을 포괄적으로 해당 데이터셋의 '동기화 지도'라고 정의하는 데, 익명 데이터셋에 있는 동기화 지도는 원본 개인식별 속성값이 아닌 임의의 에러가 추가된 셀 구간 정보로 구성되어 있기 때문에 개인 레코드 결합시 기준이 되는 개인 식별자값이 존재하지 않는다.
주민등록번호와 같이 한 개인에 오직 하나의 값이 허용되는 일반적인 개인식별자는 동일인 여부를 파악하기 위한 매칭 작업에 별도의 연산자를 정의할 필요없이 두 식별자가 동일한 값인지를 기존의 수치나 문자 비교연산자 비교하면 된다.
그러나, 본 발명에 따른 익명식별자는 동일한 개인에 대해서도 서로 다른 값을 갖는 복수 개의 익명식별자 값이 존재할 수 있으므로 단순히 숫자나 문자 매칭작업으로 동일 개인을 찾을 수 없다.
따라서, 본 발명에 따르면, 동일한 개인식별자 도메인에 대해 동일한 고유함수 f를 적용하여 생성한 두 개의 익명식별자가 동일한 개인에 대응되는지를 판단하기 위해, 아래와 같이 정의되는 ‘익명매칭 연산자’를 적용하는 데, 익명매칭 연산자를‘#’으로 표시하기로 한다.
익명매칭 연산 a # b = (true, C(a,b)) or (false,0)
- 익명식별자 a = (a.s, a.e) a.s: a의 셀 시작값, a.e: a의 셀 끝값
- 익명식별자 b = (b.s, b.e) b.s: b의 셀 시작값, b.e: b의 셀 끝값
- C(a,b) = 동기화 유효성 신뢰도
즉, 익명매칭 연산자는 두 익명식별자들의 셀에 중복된 부분이 있으면 매칭 성공으로 처리하고, 두 셀이 얼마나 중복되는지(익명식별자 a와 b가 동일인일 유효성 신뢰도)를 나타내는 동기화 유효성 신뢰도 값을 익명결합의 결과로 제공한다.
만일, 익명식별자 a와 b의 셀 구간이 전혀 중복된 영역이 없다면 익명매칭의 결과값은 false가 되며 이때 동기화 유효성 신뢰도 값은 0이 된다.
반면에 익명식별자 a와 b의 셀 구간이 중복된 영역이 존재한다면 결과는 true가 되며, 동기화 유효성 신뢰도 값이 높을수록 두 익명식별자가 동일한 개인을 나타낼 확률이 높다는 것을 의미한다.
동기화 유효성 신뢰도 값은 0보다 크고 1보다 작은 값이 된다.
사용자는 최소 동기화유효성 신뢰도 임계치 Cmin를 사전에 설정하여, 이 임계치 미만의 신뢰도를 갖는 익명매칭 성공 결과는 실패로 간주하여 결합에서 제외시킬 수 있다.
앞서 언급한 바와 같이, 동기화 유효성 신뢰도란 두 익명 데이터셋에 있는 레코드 쌍의 결합 유효성이 얼마나 되는지를 나타내는 지표, 즉, 각각의 결합에 대한 신뢰도를 나타내는 지표로서, 동기화 유효성 신뢰도는 다음과 같이 산정된다.
두 원본 데이터셋 A, B로부터 동일한 원본 식별자에 대해 생성된 동기화 지도 MA과 MB가 있고,
MA의 셀 Ci MA (1≤i≤n, n은 MA의 셀 개수)와 MB의 셀 Cj MB (1≤j≤m, m은 MB의 셀 개수)가 있다 하면, Ci에 대하여 다음 과정을 진행한다.
1) 셀 Ci MA와 구간이 중첩되는 셀 Cj MB를 탐색.
2) 셀 Ci MA와 구간이 중첩되는 셀 Cj MB에 대하여, 두 셀에 해당하는 레코드들을 곱집합하여 레코드 결합 수행.
3) 동기화 유효성 신뢰도 계산하여 곱집합 결합 결과 레코드에 대한 신뢰도 값으로 지정.
셀 Ci MA와 셀 Cj MB의 동기화 유효성 신뢰도 w(Ci MA, Cj MB)는 다음과 같이 계산된다.
w(Ci MA, Cj MB) = (크기(Ci MA∩ Cj MB)/크기(Ci MA))*(크기(Ci MA ∩, Cj MB)/크기(Cj MA))
셀 Ci MA의 레코드와 셀 Cj MB의 레코드의 결합이 실제 유효한 레코드 결합이 되려면, 실제 동일한 개인의 레코드가 같은 구간 내에 존재해야 하므로, 도 11a에 예시된 바와 같이, 두 레코드가 겹치는 구간에 존재할 수 있으며, 이와 같이, 두 레코드가 겹치는 구간에 존재할 확률값을 '동기화 유효성 신뢰도'로 정의한다.
도 11b는 동기화 유효성 신뢰도를 이용한 두 데이터셋의 익명 결합 및 신뢰도 계산 결과를 예시하는 도면으로, 중첩되는 셀 쌍에 대하여 모든 레코드를 결합하고 해당 레코드 결합의 동기화 유효성 신뢰도를 계산하여 추가하는 것을 나타낸다.
도 11b의 두 데이터셋의 동기화 속성에서 중복된 두 구간의 동기화 유효성 신뢰도는 다음과 같이 계산된다.
w(C1 M1, C1 M2) = (크기(C1 M1∩ C1 M2)/크기(Ci M1))*(크기(C1 M1 ∩, C1 M2)/크기(C1 M2)) = (20/40)*(20/30) = 1/3 = 0.333
w(C1 M1, C2 M2) = (크기(C1 M1∩ C2 M2)/크기(Ci M1))*(크기(C1 M1 ∩, C2 M2)/크기(C2 M2)) = (10/40)*(10/30) = 1/12 = 0.083
이상 설명한 바와 같이, 동기화 작업(익명 매칭)은, 주어진 동기화 지도(익명식별자 집합)에 특정 익명 식별자를 갖는 개인이 존재하는지를 찾는 작업과 더불어 두 익명 식별자 집합의 레코드를 동일한 개인에 대해 연결하는 작업으로 이루어진다.
이때, 모든 익명 식별자쌍의 범위를 비교하는 방법, 즉 단순 범위비교방법도 가능하지만 매우 비효율적이므로, 익명 식별자 매칭 작업을 효과적으로 수행하기 위해서는, 다음에 설명하는 바와 같은, 이산화 익명매칭 방법을 적용하는 것이 바람직하다.
도 12는 복수개의 익명 식별자를 갖는 익명 식별자 집합 A와 하나의 익명 식별자 b 사이의 이산화 익명매칭 작업(A#b)에 대한 예시도로서, 먼저, 동기화속성 값 f의 전체 도메인을 고정 크기의 단위로 이산화하여, 이산화 구간 단위로 각 구간에 빈 익명식별자 버켓(bucket)을 초기화하여 생성한다.
이때, A와 b가 모두 단일 익명식별자이면, 셀의 시작값 s에서부터 최대 에러 emax 를 더한 범위(s, s+emax)내에, 이 셀에 해당하는 개인식별자 대리값이 항상 존재하게 된다. 따라서 익명식별자집합 A의 각 익명식별자 ai에 대해서, 익명식별자 ai 셀의 시작점 ai.s 값이 포함되는 이산화 구간부터 ai + emax 값이 포함되는 이산화 구간까지, 즉 (ai.s, emax) 구간에 해당하는 연속된 이산화 구간들의 버켓들에 ai를 삽입한다.
이후, 익명결합 대상이 되는 단일 익명식별자 b에 대해, 익명식별자 b 셀의 시작점 b.s의 이산화 구간부터 이산화 구간의 버켓을 탐색하면서, ai가 버켓에 있으면 ai # b 작업을 수행하여 A#b 익명매칭 작업의 결과로 리턴하고 종료한다.
만일 해당 이산화 구간의 버켓에 ai가 없으면 이 작업을, b.s + emax의 이산화 구간까지, 즉 (b.s, b.s + emax) 범위에 해당하는 이산화 구간의 베켓들을 순차적으로 검사하면서 이 작업을 반복하며, 마지막 이산화 구간까지 모든 버켓들에 ai가 없으면 A#b 익명매칭 작업으로 false를 리턴하고 종료한다.
한편, k-다중 익명식별자(k>1)간의 익명매칭인 경우에는, 한 셀에 여러 개의 개인식별자 대리값이 존재할 수 있고, 그 범위는 셀의 모든 구간이 된다.
따라서, A와 b가 k-다중 익명식별자(k>1)들인 경우, 먼저, 익명식별자집합A의 각 익명식별자 ai에 대해서 ai 셀의 시작점 ai.s 값이 포함되는 이산화 구간부터 ai셀의 끝점 ai.e의 이산화 구간까지의 모든 이산화 구간들의 버켓에 ai를 삽입한다.
이후, 익명식별자 b에 대해, b 셀의 시작점 b.s의 이산화 구간부터 이산화 구간의 버켓을 탐색하면서 ai가 버켓에 있으면 ai # b 작업을 수행한 후 그 결과를 A#b의 결과로 리턴하고 종료하며, 만약 b.e의 이산화 구간까지 ai가 있는 버켓이 없으면 A#b 익명매칭 작업은 false를 리턴하고 종료한다.
도 12는 설명의 편의를 위해 익명 식별자 집합 A와 하나의 익명 식별자 b간의 이산화 익명매칭 작업(A#b)을 예를 들어 설명하였으나, 두 익명식별자 집합 A와 B 사이의 익명매칭 작업(A#B) 역시 유사한 방법으로 진행된다.
예를 들어, A와 B가 모두 단일 익명식별자인 경우에는 셀 시작값부터 최대 에러 emax까지의 이산화 구간들만 비교하며, k-익명식별자(k>1)이면 전체 셀 구간에 해당하는 이산화 구간들을 모두 비교한다.
먼저 A의 각 익명식별자 ai의 탐색 범위에 해당하는 모든 이산화 구간들의 버켓에 각 익명식별자 ai 를 차례로 삽입한다. 동일한 방법으로 익명식별자집합 B의 각 익명식별자 bj에 대해서 bj 의 탐색 범위 시작점에 해당하는 이산화 구간부터 각 구간의 버켓에 A의 익명식별자 ai가 있다면 ai#bj 작업을 수행한 결과를 return하고 익명식별자집합 B의 다음 익명식별자 bj+1에 대해 동일한 작업을 수행한다. B에 더 이상 익명식별자가 없으면 A#B를 종료한다.
한편, 두 익명 식별자 집합의 결합 방법은, 그 작업 환경에 따라 단위 결합방법과 배치 결합방법, 혼합 결합방법이 적용될 수 있다.
단위 결합방식은, 도 13a에 예시된 바와 같이, 두 원본 데이터셋 A와 B의 레코드 a와 b 쌍 단위로 익명매칭 작업(a#b)을 반복적으로 수행하는 방법이다.
이 방법은 새로운 레코드가 지속적으로 발생하는 데이터 스트림 환경에 적합하며 새로 생성된 레코드 하나씩 단위생성방식으로 익명식별자들을 생성하고 이렇게 생성된 두 익명 데이터스트림들의 레코드별로 익명식별자 a와 b를 익명매칭 작업(a#b)을 수행하여 결합된 결과 데이터 스트림을 생성하는 방법이다.
배치 결합방법은, 도 13b에 예시된 바와 같이, 두 원본 데이터셋의 개인식별자들의 익명식별자들을 모아서 두 익명데이터셋의 익명식별자 집합 A와 B에 대해 익명매칭 작업(A#B)을 수행하는 방법이다.
마지막으로, 혼합 결합방법은, 도 13c에 예시된 바와 같이, 두 원본 데이터셋 중에 하나는 익명식별자들 모은 익명식별자집합 A이고, 다른 하나는 단위 생성방식으로 익명식별자 b를 생성하는 환경에서 수행되는 방법으로, 익명식별자집합 A와 익명식별자 b를 결합하는 방법이다.
이상 설명한 바와 같이, 익명매칭 연산자를 적용하여 두 개의 익명 식별자가 동일한 개인에 대응되는지를 판단하게 되는 데, 익명 식별자를 생성하는 과정에서 첨가되는 에러의 양에 따라, 동일한 개인에 대해 만들어진 익명 식별자가 동일한 개인이 아닌 것으로 판정되거나, 다른 개인을 동일한 개인으로 틀리게 판정될 수 있다.
이러한 오류 발생의 빈도는 무작위 에러의 최대 에러값에 의존적이므로, 익명식별자 생성시의 오류를 최소화하면 익명식별자들 사이의 익명매칭 결과의 오류를 최소화할 수 있다.
따라서, 원본데이터셋에 대해 익명 식별자를 생성할 때, 익명식별자 생성 정합성을 검증하고, 필요할 경우 최소 정합성을 만족하도록 익명식별자들을 재생성하는 것이 바람직하다.
이하, 익명 식별자의 생성 정합성 판단 방법 및 재생성 방법에 대해 설명한다.
먼저, 원본 데이터셋에 있는 모든 개인식별자가 서로 다른 경우에 대한 익명 식별자 생성 정합성 판단 방법을 설명한다.
원본 개인식별자 데이터셋 D로부터 익명식별자를 생성하는 경우, 데이터셋 D의 총 레코드 수를 |D|, 데이터셋 D 중 서로 다른 개인식별자들의 수를 |PD|, D의 개인화 비율(PR(D))을 |PD|/|D|라 정의하면, 원본 데이터셋 D에 있는 모든 개인식별자가 서로 다른 값일 때 D의 개인화 비율 PR(D)는 1이 된다.
원본의 모든 개인식별자에 대해서 각각 익명식별자를 생성한 이후, 생성 정합성을 판단하기 위해, 생성된 익명데이터에 대해 각 개인식별자에 대응되는 익명식별자 그룹들을 찾는다.
각 개인식별자에 대응되는 익명식별자는 후술하는 정보집계형 익명데이터 결합을 수행하여 찾을 수 있다.
앞서 언급한 최소 동기화유효성 신뢰도 임계치 Cmin를 기준으로 익명매칭 연산(#)의 결과가 true로 판정되는 익명식별자들을 하나의 군집으로 묶는다. 즉, 하나의 군집의 모든 익명식별자 쌍들 사이의 익명매칭 결과가 임계치 Cmin에 대해 모두 true인 조건을 만족하도록 한다.
이렇게 묶인 한 군집은 원본의 한 개인식별자에 대응되는 익명식별자들이 된다. 모든 군집을 구한 후, 군집 집합 G(D)를 각 군집의 크기에 따라 정리한다.
원본 데이터셋 D에 대해 생성된 익명식별자 군집 집합 G(D)에 있어서,
- 1개의 익명식별자를 갖는 군집들의 수 = |G1|
- 2개의 익명식별자를 갖는 군집들의 수 = |G2|
- 3개의 익명식별자를 갖는 군집들의 수 = |G3|
...
- v개의 익명식별자를 작는 군집들의 수 = |Gv|라 하면,
G(D)의 총 군집 수 |G(D)|는 |G1|+|G2|+|G3|+…+|Gv|가 되며, 생성된 총 익명식별자들의 수 |A|는 |G1|+2|G2|+3|G3|+…+v|Gv|가 된다.
최소 동기화 유효성 신뢰도 임계치(Cmin)를 기준으로, 데이터셋 D에 있는 개인식별자 집합 PD에 대응되는 익명식별자 집합 A(PD)를 생성하는 작업을 M(PD,A(PD))라 정의하고, 익명식별자가 하나의 개인 식별자와 1:1 대응되는 정도를 이 작업 M(PD,A(PD))의 익명화 정합성 EA(M(PD,A(PD)))라 정의할 때, 익명화 정합성은 |G1|/|PD|가 된다.
만일 |G1| = |PD|이면, 익명화 정합성이 1이 되어, 익명식별자의 생성 정합성이 완벽하게 보장되는 경우이다.
익명화 정합성이 1보다 작다면, 두 명 이상의 개인식별자들에 대해 생성된 익명식별자들의 범위가 중첩되어, 익명식별자가 개인식별자에 잘못 대응되게 생성되었다는 것을 의미하며, 오류 비율은 1 - EA(M(PD,A(PD)))가 된다.
오류로 생성된 익명식별자들은 2개 이상의 단일 익명식별자들을 갖는 군집에 있는 모든 익명식별자들이다. 따라서, 오류로 생성된 단일 익명식별자의 총수(TA)는 |G(D)|-|G1|이 되며, 오류비율(ETA)은 (|G(D)|- |G1|)/|G(D)|가 된다.
익명식별자 생성작업(M(PD,A(PD))의 결과가 익명화 정합성의 최소 허용 임계값(EAmin) 이하인 경우, 오류로 생성된 익명식별자들을 다음 방법으로 각각 재생성하여 보정한다.
앞서의 예에서, 군집 G2부터 Gv까지의 군집에 있는 익명식별자는 잘못 생성된 것이므로, 이들 군집들의 익명식별자들에 해당하는 개인식별자들에 대해 새로운 익명식별자를 다시 생성하되, 새로 생성된 익명식별자 셀의 이산화 구간이 올바르게 생성된 G1의 군집의 범위와 중복되지 않을 때까지 익명식별자를 재생성한다.
반복 회수를 줄이기 위해서는 최대 에러값(emax)을 작게 하여 재생성 작업을 진행한다.
일반적으로는, Gk(1<k≤v)의 군집에서 한 익명 식별자를 남기고 나머지 (k-1)개의 익명식별자들을 삭제한 후, 삭제한 익명식별자들에 해당되는 (k-1)개의 개인식별자들 각각에 대해 새로운 익명식별자를 생성하면서, 새 익명식별자가 기존의 군집에 속하지 않고 독자적인 군집을 형성할 때까지 반복하되, 새 군집이 생성될 때마다 익명화 정합성 EA((PD,A(PD)))를 다시 검증하여 최소 정합성이 만족되면 종결한다.
다음으로, 원본 데이터셋에 있는 모든 개인식별자가 서로 다른 값이 아니고, 원본 데이터셋에 한 개인식별자가 여러 번 중복되어 나타나는 경우의 정합성 판단 및 익명식별자 재생성 과정에 대해 설명한다.
원본 데이터셋에 한 개인식별자가 여러 번 중복되어 나타나는 경우, 동일 개인에 대해 개인식별자의 중복 횟수만큼 익명식별자가 생성되어야 하므로, 원본 데이터셋의 개인식별자 중복 특징을 아래와 같이 추출한다.
- 원본 데이터셋 D의 총 레코드 수= |D|
- 개인식별자가 1회 중복되는 레코드 수 = P1
- 개인식별자가 2회 중복되는 레코드 수 = P2
- 개인식별자가 3회 중복되는 레코드 수 = P3
- 개인식별자가 w회 중복되는 레코드 수 = Pw
이 경우, 총 개인수 |PD|는 P1 + P2 + … +Pw이고, 총 레코드 수 |D|는 P1 + 2P2 + 3P3 +…+ wPw 이며, 생성된 단일 익명식별자들은 아래의 조건이 만족될 때 완벽한 정합성을 보장한다.
|PD| = |G1| + |G2| + |G3| … +|Gv|
and P1=|G1| and P2=|G2| … and Pw=|Gv|
익명화 정합성이 1보다 작은 경우, 오류로 생성된 익명식별자의 총수는 (P1-|G1|)+(P2-|G2|)+ … (Pv-|Gv|)가 된다.
오류로 생성된 익명식별자들을 재생성하여 보정하는 방법은 전술한 방법과 유사하나, 각 군집별로 아래와 같이 보정한다.
각 군집별로 동일 개인의 개인식별자에 대응되는 익명식별자들로만 구성되었는지 검사하여, 다른 개인에 대응되는 익명식별자가 있는 경우 이들을 모두 삭제한다.
삭제된 익명식별자에 해당하는 개인식별자별로 새로운 익명식별자를 생성하되, 해당 개인의 군집에 포함되는지를 검사하여, 새로운 익명식별자가 해당 개인의 군집에 포함될 때까지 반복한다.
반복 생성 횟수를 줄이기 위해서는 최대 에러값(emax)을 작게 한다.
이러한 방법으로 익명화 정합성의 최소 허용 임계값(EAmin) 조건이 만족될 ‹š까지 오류 개인식별자들에 대해 새 익명식별자를 재생성한다.
다음으로는, 원본 데이터셋의 개인식별자에 대해 k-다중 익명식별자(k>1)를 생성하는 과정에서의 정합성 판단 및 익명 식별자 재생성 방법에 대해 설명한다.
원본 데이터셋의 모든 개인식별자가 서로 다른 |PD|개의 개인식별자일 때(|PD|/|D|=1), 개별동기화사전을 사용한다면 원본 데이터셋에 있는 개인식별자들만을 가지고 익명식별자를 생성하므로 하나의 k-익명식별자가 k개의 개인식별자들에 대응되며, |PD|/k 개의 서로 다른 k-다중 익명식별자를 생성하게 된다.
실제로 생성된 익명식별자의 숫자가 이보다 작거나 크면 오류가 발생한 것으로서, 올바른 숫자가 되도록 재생성한다.
원본 데이터셋의 개인식별자들이 모두 서로 다른 값이 경우에 생성된 k-다중 익명식별자들간의 정합성을 검증하기 위해 원본 데이터셋에 대해서 아래와 같은 특징 정보를 추출한다.
원본 데이터 셋 D에 대해 생성된 익명식별자 군집 집합 G(D)에 대해
- 1개의 익명식별자를 갖는 군집들의 수 = |G1|
- 2개의 익명식별자를 갖는 군집들의 수 = |G2|
- 3개의 익명식별자를 갖는 군집들의 수 = |G3|
- v개의 익명식별자를 갖는 군집들의 수 = |Gv|
이때, G(D)의 총 군집 수 |G(D)|는 |G1| + |G2| + |G3|…+ |Gm|이 되며, 생성된 총 익명식별자들의 수(|A|)는 |G1| + 2|G2| + 3|G3|…+ v|Gv|가 된다.
k=2일 때, G2 군집만이 올바르게 생성된 2-다중 익명식별자들이며, 주어진 k값에 대해 올바르게 생성된 k-다중익명식별자들은 Gk 군집들에 있는 다중 익명식별자들이다.
즉 k-다중익명식별자 생성 작업 M(PD, A(PD)의 올바르게 생성된 익명식별자들은 군집 Gk에 있는 식별자들이며, 나머지 군집에 있는 모든 익명식별자들을 잘못 생성된 식별자들이다.
최소 동기화 유효성 신뢰도 임계치(Cmin)를 기준으로, 데이터셋 D에 있는 개인식별자 집합 PD에 대응되는 k-다중 익명식별자 집합 Ak(PD)를 생성하는 작업을 M(PD,Ak(PD))라 정의하고, 어느 하나의 k-다중 익명식별자(k>1)가 k명의 개인식별자와 1:k 대응이 되는 정도 즉, 익명화 정합성을 EA(M(PD,Ak(PD)))라 정의하면, 익명화 정합성은 |Gk|/|PD|가 된다.
만일 |Gk|=|PD|/k이면 익명화 정합성이 1이 되어, 익명식별자의 생성 정합성이 완벽하게 보장되는 경우이다.
익명화 정합성이 1보다 작다면 k-다중 익명식별자들이 k명보다 작거나 많은 개인식별자들과 대응되도록 잘못 생성되었다는 의미이며, 오류 비율은 1 - EA(M(PD,Ak(PD)))가 된다.
앞서의 예에서, G1,… G(k-1) 군집 각각은 대응되는 개인식별자수가 (k-1)개, (k-2)개, …, 1개씩 모자라게 생성된 군집에 해당되며, 반면에 G(k+1), ,,, Gv 군집 각각은 대응되는 개인식별자수가 1개, 2개, ... , (v-k)개씩 더 많게 생성된 군집에 해당된다.
따라서, 오류로 생성된 k-다중 익명식별자의 총수(TA)는 |G(D)|-|Gk|가 되며, 오류비율(ETA)은 (|G(D)|- |Gk|)/|G(D)|가 된다.
오류로 생성된 k-다중 익명식별자들은 다음 방법으로 각각 재생성하여 보정한다.
더 많은 개인식별자들이 대응된 군집 G(k+1)부터 Gv에 대해서 k개의 익명식별자들만 남기고 삭제한다. 이들 삭제된 k-다중 익명식별자들에 해당하는 개인식별자들을 대상으로 새로운 k-다중 익명식별자를 하나씩 생성한다.
새로 생성된 k-다중 익명식별자 셀의 이산화 구간이 G1, G2, G(k-1)의 군집에 추가되어 이들 군집들의 익명식별자 수가 각각 k개가 될 때까지 반복해서 생성한다.
반복 회수를 줄이기 위해서는 최대 에러값(emax)을 작게 하여 재생성 작업을 진행한다.
이러한 방법으로 익명화 정합성의 최소 허용 임계값(EAmin) 조건이 만족될 ‹š까지 오류 개인식별자들에 대해 새 익명식별자를 재생성한다.
다음으로, 원본 데이터셋에 있는 모든 개인식별자가 서로 다른 값이 아니고, 원본 데이터셋에 한 개인식별자가 여러 번 중복되어 나타나는 경우의 정합성 판단 및 익명식별자 재생성 과정에 대해 설명한다.
원본 데이터셋에 한 개인식별자가 여러 번 중복되어 나타나는 경우, 동일 개인에 대해 개인식별자의 중복 횟수만큼 익명식별자가 생성되어야 하므로, 원본 데이터셋의 개인식별자 중복 특징을 아래와 같이 추출한다.
- 원본 데이터셋 D의 총 레코드 수= |D|
- 개인식별자가 1회 중복되는 레코드 수 = P1
- 개인식별자가 2회 중복되는 레코드 수 = P2
- 개인식별자가 3회 중복되는 레코드 수 = P3
- 개인식별자가 w회 중복되는 레코드 수 = Pw
이 경우, 총 개인수 |PD|는 P1 + P2 + … +Pw이고, 총 레코드 수 |D|는 P1 + 2P2 + 3P3 +…+ wPw 이며, 생성된 k-다중 익명식별자들은 아래의 조건이 만족될 때 익명화 정합성이 1이 되어, 완벽한 정합성을 보장한다.
|PD|/k = |G1| + |G2| + |G3| … +|Gv|
and P1=|G1| and P2=|G2| … and Pw=|Gv|
익명화 정합성이 1보다 작은 경우, 오류로 생성된 익명식별자들을 재생성하여 보정하는 방법은 전술한 방법과 유사하나, 각 군집별로 아래와 같이 보정한다.
각 군집별로 동일한 k명의 개인식별자들에 대응되는 k-다중 익명식별자들로만 구성되었는지 검사하여, 동일한 k명에 대응되지 않는 익명식별자들을 모두 삭제한다. 삭제된 k-다중 익명식별자에 해당하는 모든 개인식별자들을 대상으로 새로운 k-다중 익명식별자를 생성하되, 기존 군집에 포함되는지를 검사하여, 새로운 익명식별자가 기존의 군집에 포함될 ‹š까지 반복한다.
반복 생성 횟수를 줄이기 위해서는 최대 에러값(emax)을 작게 한다.
이러한 방법으로 익명화 정합성의 최소 허용 임계값(EAmin) 조건이 만족될 ‹š까지 오류 개인식별자들에 대해 k-다중 익명식별자를 재생성한다.
이상 설명한 본 발명에 따른 익명화 데이터는, 이를 결합하여 활용하는 방법에 따라, 정보전달형 익명데이터 결합 활용 방법, 정보결합형 익명데이터 결합 활용 방법, 정보집계형 익명데이터 결합 활용 방법 등이 가능하다.
정보전달형 익명데이터 결합 활용 방법은, 필요로 하는 정보를 정보 생산영역에서 익명화하여 정보 소비영역에 익명데이터로 전달하여 활용할 수 있도록 하는 방법이다.
정보생산영역에서 생산되는 정보 (P, Up)는 개인식별자 P에 대해 생산된 개인화 정보 Up로서, 정보 Up는 개인정보가 아닌 일반 정보라고 가정할 때, 생산영역에서 정보 (P, Up)가 발생하면, 생산영역의 안전공간에서 개인식별자 P에 대한 익명식별자 AP를 생성하여 (익명식별자 AP, 생산정보 Up)로 변환한다.
이렇게 익명화된 정보는 안전공간 밖으로 전달이 가능하므로 정보소비영역에 전달된다.
정보소비영역에서는 전달받은 익명정보들을 시간순서로 모아 놓는다.
정보소비영역에서 개인식별자 Q의 개인화 정보 활용 요청이 발생하면, 개인식별자 Q에 대한 익명식별자 AQ를 독자적으로 생성하고, 정보생산영역에서 받아서 모아 놓은 개인화 정보 DB의 익명식별자들과 익명매칭을 수행하여 동일한 개인에 해당하는 생산정보를 활용한다.
개인식별자 Q의 익명식별자 AQ와 익명매칭에 성공한 AP들의 (AP, Up) 정보들은 정보생산 영역에서 개인식별자 Q = P에 대해 생산된 정보로서, 정보소비영역에서 개인 Q에 대해 이용한다. 이때 익명식별자 생성방법, 익명식별자 매칭방법 및 익명데이터 결합방법은 앞에서 기술한 다양한 방법들의 조합으로 진행될 수 있다.
정보생산영역과 정보소비영역이 직접 연결될 수도 있지만, 중간에 독자적인 개인정보 관리영역이 여러 단계 존재할 수 있으며, 각 중간영역에서 동일한 개인식별자에 대한 익명매칭을 릴레이식으로 수행하여 그 결과를 최종적으로 정보소비영역에 전달할 수 있다.
정보결합형 익명데이터 결합 활용 방법은, 도 14b에 예시된 바와 같이, 개인화된 정보를 지속적으로 생산하는 다수의 정보생산영역 각각이 생산하는 개인화 정보를 모두 결합하여 활용하는 방법이다.
정보의 결합방법은 직렬결합방법과 병렬결합방법으로 구분될 수 있는 데, 직렬결합방법에 따르면, 여러 정보생산영역 R1, R2, ... Rn을 두 개씩 쌍으로 연결하여((R1,R2)->(R2,R3)->(R3,R4) …->(Rn-1,Rn)), 각 영역 쌍에 대해, 앞서 정보전달형 결합 활용 방법에서 설명한 바와 같이, 익명데이터 결합을 반복적으로 수행하여 마지막 쌍까지 수행하면 모두 합쳐진 개인화정보가 마지막 영역인 Rn에 만들어지게 된다.
병렬결합방식에 따르면, 모든 정보생산영역 R1,..,Rn에 대해 최종 결합 데이터가 모이는 Rp 영역이 지정되어, (R1, Rp), (R2, Pp), …|, (Rn,Rp) 영역쌍 간의 익명데이터 결합을 수행하여 최종 결과가 Rp 영역에 저장된다.
정보집계형 익명데이터 결합 활용 방법은, 도 14c에 예시된 바와 같이, 정보생산영역에서 생산된 익명데이터들을 동일한 개인별로 별도로 분리하거나 또는 개인별로 집계하여 활용하기 위한 방법으로서, 본 발명의 익명식별자에 따르면, 동일 개인이 여러 개의 익명식별자로 표현될 수 있으므로 동일한 개인에 대한 익명식별자들을 분리할 수 있어야 한다. 이는 데이터베이스에서 익명식별자 속성에 대해 개인식별자로 Group-by를 수행하는 것과 같다.
정보생산영역 R에서 생성한 익명데이터셋 D가 있을 때 동일한 개인의 익명식별자들을 찾기 위해서 앞서 설명한 이산화 익명매칭 방법과 유사한 방법을 이용한다.
개인식별자 도메인을 정해진 이산화 구간으로 나누고 R에서 생산한 익명데이터셋의 각 익명식별자 AP의 이산화 구간에 해당하는 이산화 구간의 버켓에 생산된 정보 (AP, Up)을 저장한다. R의 모든 익명식별자들에 대해서 위 작업이 수행된 후, 첫 이산화 구간부터 해당 구간의 버켓에 있는 익명식별자가 2 개 이상 예를 들어 a, b, c일 경우에, 각 쌍에 대해서 익명매칭연산 a#b, a#c, b#c를 수행하여, 각 결과가 동일한 개인의 익명식별자들을 모아 별도의 목록을 만든다. 이때 동일인 여부는 사용자가 정한 동기화 유효성 최소 신뢰도 임계치를 기준으로 판단한다.
이러한 방법으로 모든 이산화구간의 버켓에 있는 익명식별자들간의 익명매칭을 수행하면 정보생산영역의 개별 개인별로 생성된 익명식별자와 생산정보를 별도의 목록으로 파악하는 것이 가능하다. 이후 생산정보 Up에 대해 필요한 집계 연산을 수행하면 익명데이터셋으로부터 개별 개인의 집계 결과를 얻을 수 있으며, 다른 정보소비영역으로 익명데이터를 전달할 수도 있다.

Claims (12)

  1. 통신부, 처리부 및 저장부를 구비하는 데이터 서버에서 수행되며, 빅데이터의 개인정보를 익명화 처리하는 빅데이터 처리방법에 있어서,
    원본 개인식별 데이터셋의 동기화 대상 개인식별 속성값을 해당 속성값을 대리하는 대리값으로 변환하여 동기화 사전을 형성하는 단계;
    상기 동기화 사전 값들을 한 개 이상의 연속한 k(k≥1)개씩 그룹화하여, 각 그룹의 시작값과 끝값 정보를 갖는 동기화 테이블을 형성하는 단계;
    상기 원본 개인식별 데이터셋의 각각의 개인식별 속성값에 대해, 상기 개인식별 속성값에 대응되는 상기 동기화 테이블 그룹의 시작값과 끝값 정보에 각각 에러값을 적용하여 새로운 시작값과 끝값 정보를 갖도록 구간화하는 셀 구간화 단계;
    상기 원본 개인식별 데이터셋의 각각의 개인식별 속성값을 상기 셀의 구간 값에 대응되게 변경하여 익명 데이터셋의 동기화 속성값으로 부여하는 단계;를 구비하고,
    상기 셀 구간화 단계는,
    상기 동기화 테이블 그룹에 대하여, 상기 그룹내 최소값으로부터, 최소 에러값과 최대 에러값 사이의 임의의 에러값을 뺀 값을 해당 셀의 시작값으로 설정하고,
    상기 그룹내 최대값에, 최소 에러값과 최대 에러값 사이의 임의의 에러값을 더한 값을 해당 셀의 끝값으로 설정하는 단계;를 구비하는 것을 특징으로 하는 빅데이터 처리방법.
  2. 제 1 항에 있어서,
    상기 동기화 사전은, 상기 동기화 대상 속성값에 미리 정의된 함수를 적용하여 형성되는 것을 특징으로 하는 빅데이터 처리방법.
  3. 삭제
  4. 제 1 항에 있어서,
    상기 동기화 속성의 속성값은, 상기 셀의 시작값과 끝값을 연결하여 하나의 데이터값으로 형성되는 것을 특징으로 하는 빅데이터 처리방법.
  5. 제 1 항에 있어서,
    상기 동기화 사전은, 서로 다른 복수의 원본 데이터셋에 있는 동일한 원본 개인식별 속성을 동기화 대상 속성으로 선정하여 형성된 각각의 개별 동기화 사전들을 합집합하여 형성되는 것을 특징으로 하는 빅데이터 처리방법.
  6. 제 1 항에 있어서,
    상기 동기화 사전은, 상기 동기화 대상 속성값의 일부분을 사용하여 형성되는 것을 특징으로 하는 빅데이터 처리방법.
  7. 제 1 항에 있어서,
    상기 동기화 속성 생성시, 두 명 이상의 개인식별 속성값들에 대해 생성된 상기 동기화속성의 구간값의 범위가 중첩되게 생성되는 경우, 새로운 에러값이 적용되도록 상기 동기화속성을 재생성하는 것을 특징으로 하는 빅데이터 처리방법.
  8. 제 1 항, 제 2 항, 제 4 항 내지 제 7 항 중 어느 한 항에 있어서,
    복수의 익명 데이터셋의 동기화 속성들을 포괄하는 동기화 지도의 셀 구간 정보를 참조하여, 복수 익명 데이터셋의 각각의 레코드의 동기화 속성에 대응되는 셀 구간의 중복 여부를 판단하고, 동기화 속성의 셀 구간이 미리 정해진 소정치 이상 중복되는 경우, 이들 레코드를 동일한 개인에 대응되는 것으로 판단하여 익명매칭 결합하는 것을 특징을 하는 빅데이터 처리방법.
  9. 제 8 항에 있어서,
    하기에서 정의되는 익명매칭 연산에 의해, 두 개의 익명식별자(a, b)에 대응되는 셀들의 중복 여부를 판단하는 것을 특징으로 하는 빅데이터 처리방법.
    익명매칭 연산 a # b = (true, C(a,b)) or (false,0)
    - 익명식별자 a = (a.s, a.e) a.s: a의 셀 시작값, a.e: a의 셀 끝값
    - 익명식별자 b = (b.s, b.e) b.s: b의 셀 시작값, b.e: b의 셀 끝값
    - C(a,b) = a, b레코드가 겹치는 구간에 존재할 확률값
  10. 제 9 항에 있어서,
    동기화속성 값의 전체 도메인을 고정 크기의 단위로 이산화하여, 이산화 구간 단위로 각 구간에 빈 익명식별자 버켓을 생성하여, 상기 버켓에 공통으로 속하는 익명식별자를 대상으로 상기 익명매칭 연산을 수행하는 것을 특징으로 하는 빅데이터 처리방법.
  11. 제 8 항에 있어서, 두 원본 데이터셋의 레코드 쌍 단위로 상기 익명매칭 결합작업을 수행하는 것을 특징으로 하는 빅데이터 처리방법.
  12. 제 8 항에 있어서, 두 원본 데이터셋의 개인식별자들의 익명식별자들을 모아서 두 익명데이터셋의 익명식별자 집합에 대해 상기 익명매칭 결합작업을 수행하는 것을 특징으로 하는 빅데이터 처리방법.
KR1020207027105A 2018-03-30 2018-12-30 빅데이터 개인정보의 익명화 및 익명화 데이터의 결합 방법 KR102377535B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
PCT/KR2018/003795 WO2019189969A1 (ko) 2018-03-30 2018-03-30 빅데이터 개인정보 익명화 및 익명 데이터 결합 방법
KRPCT/KR2018/003795 2018-03-30
PCT/KR2018/016945 WO2019190030A1 (ko) 2018-03-30 2018-12-30 빅데이터 개인정보의 익명화 및 익명화 데이터의 결합 방법

Publications (2)

Publication Number Publication Date
KR20200120740A KR20200120740A (ko) 2020-10-21
KR102377535B1 true KR102377535B1 (ko) 2022-03-23

Family

ID=68059107

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207027105A KR102377535B1 (ko) 2018-03-30 2018-12-30 빅데이터 개인정보의 익명화 및 익명화 데이터의 결합 방법

Country Status (3)

Country Link
US (1) US11501020B2 (ko)
KR (1) KR102377535B1 (ko)
WO (2) WO2019189969A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114303205A (zh) * 2019-06-19 2022-04-08 电子健康记录数据有限公司 电子健康记录数据区块链系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012247882A (ja) * 2011-05-26 2012-12-13 Hitachi Ltd 情報のマッチングシステム
JP6007969B2 (ja) * 2012-02-17 2016-10-19 日本電気株式会社 匿名化装置及び匿名化方法
KR101784265B1 (ko) * 2016-06-09 2017-10-12 주식회사 그리즐리 빅데이터의 비식별화 처리 방법

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6754651B2 (en) * 2001-04-17 2004-06-22 International Business Machines Corporation Mining of generalized disjunctive association rules
JP6079783B2 (ja) * 2012-09-26 2017-02-15 日本電気株式会社 匿名化を実行する情報処理装置及び匿名化方法、及びプログラム
US9202081B2 (en) * 2012-12-17 2015-12-01 Telefonaktiebolaget L M Ericsson (Publ) Apparatus and methods for anonymizing a data set
JP6015777B2 (ja) * 2013-01-16 2016-10-26 富士通株式会社 秘匿化データ生成方法及び装置
JP2015232863A (ja) * 2014-06-11 2015-12-24 日本電気株式会社 情報処理装置、匿名化方法、及び、プログラム
JP2016114971A (ja) * 2014-12-11 2016-06-23 株式会社日立ソリューションズ 匿名化装置
US9842215B2 (en) * 2015-11-03 2017-12-12 Palo Alto Research Center Incorporated Computer-implemented system and method for anonymizing encrypted data
WO2017077600A1 (ja) * 2015-11-04 2017-05-11 株式会社 東芝 匿名化システム
CN109074858B (zh) * 2016-04-19 2023-08-18 皇家飞利浦有限公司 没有明显准标识符的去识别的健康护理数据库的医院匹配

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012247882A (ja) * 2011-05-26 2012-12-13 Hitachi Ltd 情報のマッチングシステム
JP6007969B2 (ja) * 2012-02-17 2016-10-19 日本電気株式会社 匿名化装置及び匿名化方法
KR101784265B1 (ko) * 2016-06-09 2017-10-12 주식회사 그리즐리 빅데이터의 비식별화 처리 방법

Also Published As

Publication number Publication date
WO2019190030A1 (ko) 2019-10-03
US20210004490A1 (en) 2021-01-07
WO2019189969A1 (ko) 2019-10-03
KR20200120740A (ko) 2020-10-21
US11501020B2 (en) 2022-11-15

Similar Documents

Publication Publication Date Title
US11283616B2 (en) Method for index-based and integrity-assured search in a blockchain
CN107766745B (zh) 层次数据发布中的分级隐私保护方法
US11853329B2 (en) Metadata classification
US10528761B2 (en) Data anonymization in an in-memory database
Vatsalan et al. Efficient two-party private blocking based on sorted nearest neighborhood clustering
Karakasidis et al. Privacy preserving record linkage using phonetic codes
CN109117669B (zh) MapReduce相似连接查询的隐私保护方法及系统
JP2000324094A (ja) 情報を非個人化する装置および方法
Vidanage et al. Efficient pattern mining based cryptanalysis for privacy-preserving record linkage
Christen et al. Pattern-mining based cryptanalysis of Bloom filters for privacy-preserving record linkage
Karakasidis et al. Scalable blocking for privacy preserving record linkage
Vatsalan et al. An iterative two-party protocol for scalable privacy-preserving record linkage
Vatsalan et al. Sorted nearest neighborhood clustering for efficient private blocking
Ranbaduge et al. Tree based scalable indexing for multi-party privacy-preserving record linkage
KR102377535B1 (ko) 빅데이터 개인정보의 익명화 및 익명화 데이터의 결합 방법
Shaham et al. Machine learning aided anonymization of spatiotemporal trajectory datasets
Karakasidis et al. Advances in privacy preserving record linkage
Karapiperis et al. FEMRL: A framework for large-scale privacy-preserving linkage of patients’ electronic health records
He et al. FMSM: A fuzzy multi-keyword search scheme for encrypted cloud data based on multi-chain network
CN109063097B (zh) 基于区块链的数据对比及共识方法
Sehili et al. Multi-party privacy preserving record linkage in dynamic metric space
Karakasidis et al. Privacy preserving blocking and meta-blocking
Vatsalan et al. P-signature-based blocking to improve the scalability of privacy-preserving record linkage
CN115439118B (zh) 一种基于区块链的数字存证管理方法
Boussis et al. MapReduce Implementations for Privacy Preserving Record Linkage

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right