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

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

Info

Publication number
KR20240007529A
KR20240007529A KR1020220084577A KR20220084577A KR20240007529A KR 20240007529 A KR20240007529 A KR 20240007529A KR 1020220084577 A KR1020220084577 A KR 1020220084577A KR 20220084577 A KR20220084577 A KR 20220084577A KR 20240007529 A KR20240007529 A KR 20240007529A
Authority
KR
South Korea
Prior art keywords
data
attribute
parameter
personal information
column
Prior art date
Application number
KR1020220084577A
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 KR1020220084577A priority Critical patent/KR20240007529A/ko
Publication of KR20240007529A publication Critical patent/KR20240007529A/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/221Column-oriented storage; 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/23Updating
    • G06F16/2358Change logging, detection, and notification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification

Landscapes

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

Abstract

개인정보 비식별화 장치 및 방법이 개시된다. 상기 개인정보 비식별화 장치는 각각이 동일 속성의 레코드들을 포함하는 열(column)들로 구성된 타겟 데이터를 획득하는 데이터 획득부, 상기 타겟 데이터에 포함된 열 데이터들 각각의 속성을 분류하는 속성 분류부, 및 분류된 속성에 기초하여 상기 열 데이터들 각각을 비식별화하는 비식별화부를 포함한다.

Description

개인정보 비식별화 장치 및 방법{DEVICE AND METHOD FOR DE-IDENTIFYING PERSONAL INFORMATION}
본 발명은 개인정보나 개인신용정보 등에 대한 비식별화 처리 방법에 관한 발명으로, 기존에 인력으로 수행했던 데이터에 대한 가명/익명화 작업을 자동화 혹은 반자동화하는 장치 및 방법에 관한 것이다.
개인정보 및 개인신용정보를 활용하려면 가명 처리 및/또는 익명 처리와 같은 비식별화 처리가 필수적이다. 기존에는 데이터의 가명/익명 처리를 위해 사람이 직접 데이터의 내용과 속성을 이해하고, 그에 따라 적절한 가명/익명 처리 기법을 선택하여야 했다. 그러나, 이러한 방법은 실무자 개인의 능력에 지나치게 의존하고, 실무자에 따라 서로 다른 가명/익명 처리 방법을 사용하게 될 뿐만 아니라, 시간적으로도 많은 비용이 든다.
본 발명은 개인(신용)정보에 관한 데이터 파일을 프로그램이 이해한 후, 각 속성별로 데이터의 형태(문자열 혹은 숫자; 정수 혹은 실수; 연속형 혹은 범주형), 데이터의 분포(최댓값 및 최솟값; 범주별 빈도수), 그리고 데이터의 내용(예: 주소 값)에 따라 적절한 가명/익명 처리 기법을 자동으로 적용(또는 추천)하는 방법을 제안한다.
대한민국 등록특허 제1948603호 (2019.02.15. 공고) 대한민국 공개특허 제2022-0027961호 (2022.03.08. 공개)
본 발명이 이루고자 하는 기술적인 과제는 데이터에 포함된 레코드의 속성에 따라 적절한 가명/익명 처리 기법을 적용하는 개인정보의 비식별화 장치 및 방법을 제공하는 것이다.
본 발명의 일 실시예에 따른 개인정보 비식별화 장치는 각각이 동일 속성의 레코드들을 포함하는 열(column)들로 구성된 타겟 데이터를 획득하는 데이터 획득부, 상기 타겟 데이터에 포함된 열 데이터들 각각의 속성을 분류하는 속성 분류부, 및 분류된 속성에 기초하여 상기 열 데이터들 각각을 비식별화하는 비식별화부를 포함한다.
또한, 본 발명의 일 실시예에 따른 개인정보 비식별화 방법은 각각이 동일 속성의 레코드들을 포함하는 열(column)들로 구성된 타겟 데이터를 획득하는 단계, 상기 타겟 데이터에 포함된 열 데이터들 각각의 속성을 분류하는 단계, 및 분류된 속성에 기초하여 상기 열 데이터들 각각을 비식별화하는 단계를 포함한다.
개인(신용)정보 가명/익명화(또는 비식별화) 방법, 장치, 자동 추천 시스템, 자동 추천 방법은 아래와 같은 효과를 얻을 수 있다.
첫째로, 일정한 메커니즘으로 가명/익명 처리 결과가 실무자에 따라 지나치게 달라지는 상황을 피할 수 있다. 현재 시중에서 사용하고 있는 대부분의 가명/익명 처리 시스템들은, 데이터 파일에 포함되어 있는 각 속성(attribute, 애트리뷰트)별로 사용자(즉, 사람)가 가명/익명 처리 방법을 지정하도록 되어 있다. 이는 실무자가 바뀔 경우 개인의 능력에 따라 처리 결과가 달라짐을 의미한다. 기관별로 일정한 규칙을 사용하여 가이드 라인을 제시할 수 있으나, 사람이 판단하여 처리하는 이상 일관된 결과를 기대하기 어렵다. 본 발명은 이러한 비일관성을 최대한 줄일 수 있다.
둘째로, 자동화를 통한 시간 및 인력 측면의 비용 감소를 기대할 수 있다. 가명/익명화 처리가 필요한 데이터의 양은 방대하며, 속성 또한 매우 다양하다. 방대한 종류의 속성들을 포함한 대용량 개인(신용)정보 데이터를, 사람(전문가)을 이용하여 가명/익명 처리 기법을 일일이 판단하면 인적, 시간적 비용이 매우 크다. 본 발명의 자동 추천 시스템 기술을 사용할 경우, 컴퓨터 프로그램을 통해 (인력의 개입 없이) 자동으로 빠른 시간에 가명/익명 처리 작업이 완료될 수 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 일 실시예에 따른 비식별화 장치의 기능 블럭도이다.
도 2는 도 1에 도시된 속성 분류부에 의한 식별자 판단 동작과 비식별화부에 의한 식별자 제거 동작을 위한 의사코드를 도시한다.
도 3은 도 1에 도시된 속성 분류부에 의한 식별자 판단 동작과 비식별화부에 의한 식별자 제거 동작을 설명하기 위한 데이터의 예시를 도시한다.
도 4는 도 1에 도시된 속성 분류부에 의한 숫자형 속성 분류를 위한 의사코드를 도시한다.
도 5는 도 1에 도시된 비식별화부에 의한 숫자형 데이터의 비식별화 동작을 설명하기 위한 데이터의 예시를 도시한다.
도 6은 도 1에 도시된 속성 분류부에 의한 정수형 속성 데이터 중 범주형 데이터에 대한 분류 동작을 위한 의사코드를 도시한다.
도 7은 정수형 속성 데이터 중 범주형 속성이 데이터에 대한 비식별화 동작을 설명하기 위한 데이터에 대한 히스토그램의 일 예시를 도시한다.
도 8은 도 1에 도시된 속성 분류부에 의한 문자형 속성 데이터의 분류 동작을 위한 의사코드를 도시한다.
도 9는 문자형 속성 데이터 중 범주형 속성 데이터에 대한 비식별화 동작을 설명하기 위한 데이터의 예를 도시한다.
도 10은 문자형 속성 데이터 중 주소형 속성 데이터에 대한 비식별화 동작을 설명하기 위한 데이터의 예를 도시한다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.
본 발명의 개념에 따른 실시예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제1 구성 요소는 제2 구성 요소로 명명될 수 있고 유사하게 제2 구성 요소는 제1 구성 요소로도 명명될 수 있다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 명세서에 첨부된 도면들을 참조하여 본 발명의 실시예들을 상세히 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일 실시예에 따른 비식별화 장치의 기능 블럭도이다.
도 1을 참조하면, 익명화 장치, 가명화 장치, 익명 및 가명화 장치 등으로 명명될 수도 있는 비식별화 장치(10)는 적어도 프로세서(processor) 및/또는 메모리(memory)를 포함하는 컴퓨팅 장치로써, 소정의 데이터에 대한 비식별화(또는 익명화) 동작을 수행할 수 있다. 컴퓨팅 장치는 PC(Personal Computer), 태블릿 PC, 서버, 랩탑 컴퓨터 등으로 구현될 수 있다.
비식별화 장치(10)는 데이터 획득부(110), 매개변수 설정부(120), 속성 분류부(130), 및 비식별화부(140)를 포함할 수 있다. 실시예에 따라, 비식별화 장치(10)는 저장부(150)를 더 포함할 수도 있다.
데이터 획득부(110)는 비식별화의 대상인 데이터(또는 데이터 파일)를 획득할 수 있다. 구체적으로, 데이터 획득부(110)는 유무선 통신망을 통하여 데이터를 수신하거나, USB 장치와 같은 휴대용 저장 장치를 통해 데이터를 수신할 수 있다. 데이터 획득부(110)에 의해 수신된 데이터는 저장부(150)에 저장될 수 있다. 실시예에 따라, 비식별화 대상인 데이터는 저장부(150)에 미리 저장되어 있을 수도 있다.
실시예에 따라, 데이터는 소정의 파일 형식을 갖는 파일, 예컨대 확장자가 csv인 파일로 수신될 수도 있다. 수신된 파일에는 열(column)별로 서로 다른 속성을 갖는 레코드들이 포함될 수 있다. 일 예로, 수신된 파일의 제1 열에는 고객번호가 포함되고, 제2 열에는 연락처가 포함되고, 제3 열에는 결혼여부에 대한 정보가 포함될 수 있다.
매개변수 설정부(120)는 데이터에 포함된 레코드들의 속성을 분류하는 과정에서 이용되는 매개변수, 범주형 데이터의 삭제 여부를 결정하는 기준이 되는 매개변수, 및 상·하단 코딩의 기준이 되는 매개변수 중 적어도 하나를 설정할 수 있다. 이를 위해, 매개변수 설정부(120)는 소정의 입력 인터페이스를 통해 매개변수를 사용자(또는 관리자)로부터 수신할 수 있다. 매개변수 설정부(120)에 의해 수신된 매개변수는 저장부(150)에 저장될 수 있다.
매개변수 설정부(120)에 의해 설정(또는 수신)된 매개변수는 제1 매개변수(k')를 포함할 수 있다. 제1 매개변수(k')는 범주형 데이터에서 범주 내 최소 데이터 개수(또는 레코드의 개수)를 의미할 수 있다. k'개 이상의 충분한 데이터(또는 레코드)가 있을 경우 익명화(또는 비식별화)가 불필요하지만, k'개보다 적은 수의 데이터(또는 레코드)를 가지는 범주형 데이터는 익명화(또는 비식별화) 처리가 필요하다. 보다 구체적으로, 제1 매개변수(k')는 제1-1 매개변수(k1')와 제1-2 매개변수(k2')를 포함할 수 있다. 이때, 제1-1 매개변수(k1')와 제1-2 매개변수(k2')는 서로 동일하거나 상이할 수 있다. 제1-1 매개변수(k1')는 정수형 데이터 중 범주형 데이터에 해당하는 데이터(또는 레코드)의 삭제 여부를 결정하는 기준을 의미하고, 제1-2 매개변수(k2')는 문자형 데이터 중 범주형 데이터에 해당하는 데이터(또는 레코드)의 삭제 여부를 결정하는 기준을 의미할 수 있다.
또한, 매개변수 설정부(120)에 의해 설정(또는 수신)된 매개변수는 제2 매개변수(h')를 포함할 수 있다. 제2 매개변수(h')는 범주형 데이터와 비범주형 데이터(연속형 데이터 또는 주소형 데이터)의 구분을 위한 속성의 정의역(domain) 크기를 의미할 수 있다. 즉, 데이터(레코드)의 종류가 h'개 이하인 경우 범주형 데이터로 구분되고, h'개보다 많은 종류의 데이터(또는 레코드)가 있을 경우 비범주형 데이터(연속형 데이터 또는 주소형 데이터)로 구분될 수 있다. 보다 구체적으로, 제2 매개변수(h')는 제2-1 매개변수(h1')와 제2-2 매개변수(h2')를 포함할 수 있다. 이때, 제2-1 매개변수(h1')와 제2-2 매개변수(h2')는 서로 동일하거나 상이할 수 있다. 제2-1 매개변수(h1')는 정수형 데이터를 범주형 데이터와 연속형 데이터로 구분하는 기준을 의미하고, 제2-2 매개변수(h2')는 문자형 데이터를 범주형 데이터와 주소형 데이터로 구분하는 기준을 의미할 수 있다.
또한, 매개변수 설정부(120)에 의해 설정(또는 수신)된 매개변수는 제3 매개변수(m')를 포함할 수 있다. 제3 매개변수(m')는 상·하단 코딩에서 코딩 대상 레코드에 대한 범위를 의미할 수 있다. 즉, 연속형 데이터 및/또는 실수형 데이터의 전체 데이터 범위에서 상위 m'%에 속하는 레코드는 상위 m'%에 속하지 않는 레코드들의 값들 중 가장 큰 값으로 코딩(또는 변경)될 수 있고, 연속형 데이터 및/또는 실수형 데이터의 전체 데이터 범위에서 하위 m'%에 속하는 레코드는 하위 m'%에 속하지 않는 레코드들의 값들 중 가장 작은 값으로 코딩(또는 변경)될 수 있다. 보다 구체적으로, 제3 매개변수(m')는 제3-1 매개변수(m1')와 제3-2 매개변수(m2')를 포함할 수 있다. 이때, 제3-1 매개변수(m1')와 제3-2 매개변수(m2')는 서로 동일하거나 상이할 수 있다. 제3-1 매개변수(m1')는 정수형 데이터 중 연속형 데이터에 대한 상·하단 코딩에 적용되는 매개변수를 의미하고, 제3-2 매개변수(m2')는 실수형 데이터에 대한 상·하단 코딩에 적용되는 매개변수를 의미할 수 있다.
속성 분류부(130)는 데이터 획득부(110)에 의해 수신된 데이터 또는 저장부(150)에 저장된 데이터의 각 열 데이터(column data)를 속성별로 분류할 수 있다(또는 각 열 데이터의 속성을 결정(판단)할 수 있다). 속성 분류부(130)에 의한 속성 분류 동작에 관한 상세한 설명은 후술하기로 한다.
비식별화부(140)는 각 열 데이터에 속성별로 미리 정해진 비식별화(또는 익명화) 기법을 적용하여 수신된 데이터를 비식별화(또는 익명화)할 수 있다.
저장부(150)에는 비식별화 장치(10)의 동작을 위한 프로그램, 소프트웨어, 소스 코드 등이 저장되어 있을 수 있다. 또한, 저장부(150)에는 비식별화의 대상인 데이터, 매개변수 설정부(120)에 의해 수신된(또는 설정된) 적어도 하나의 매개변수, 속성 분류부(130)에 의한 속성 분류의 결과, 비식별화부(140)에 의한 비식별화의 결과, 행정안전부 주소명 DB 등이 저장될 수 있다.
도 2는 도 1에 도시된 속성 분류부에 의한 식별자 판단 동작과 비식별화부에 의한 식별자 제거 동작을 위한 의사코드를 도시하고, 도 3은 도 1에 도시된 속성 분류부에 의한 식별자 판단 동작과 비식별화부에 의한 식별자 제거 동작을 설명하기 위한 데이터의 예시를 도시한다.
도 2와 도 3을 참조하면, 속성 분류부(130)는 수신된 데이터를 열별로 해당 속성을 분류한다. 다시 말해, 속성 분류부(130)는 수신된 데이터에 포함된 열 데이터의 속성을 분류할 수 있다. 구체적으로, 속성 분류부(130)는 도 2에 도시된 의사코드에 따라 식별자에 해당하는 열(또는 열 데이터)을 분류할 수 있다. 즉, 속성 분류부(130)는 중복되는 데이터(또는 레코드)가 존재하지 않는 열 데이터의 속성을 식별자로 분류할 수 있다. 속성이 식별자로 분류된 열 데이터는 비식별화부(140)에 의해 데이터에서 제거(또는 삭제)될 수 있다(열 삭제(Column Suppression)).
수신된 데이터의 일 예를 도시하는 도 3을 참조하면, 데이터에는 고객번호, 연락처, 결혼여부, 신용등급, 나이, 및 한도금액(원)에 대한 정보가 포함되어 있다. 파란색으로 표시된 2개의 열 데이터의 속성은 식별자이다. 동일한 열에서 중복되는 레코드가 존재하지 않기 때문이다. 식별자 속성은 개인 특정이 가능한 속성으로, 익명화(비식별화)가 필요하다. 본 발명에서는 식별자 속성을 갖는 데이터를 삭제함으로써 익명화(비식별화)를 수행한다. 나머지 4개의 속성(결혼여부, 신용등급, 나이, 한도금액(원)은 추가적인 속성 분류를 거치게 되고, 분류된 속성에 따른 익명화(비식별화) 동작이 수행되게 된다.
도 4는 도 1에 도시된 속성 분류부에 의한 숫자형 속성 분류를 위한 의사코드를 도시하고, 도 5는 도 1에 도시된 비식별화부에 의한 숫자형 데이터의 비식별화 동작을 설명하기 위한 데이터의 예시를 도시한다.
속성 분류부(130)는 열 데이터에 포함된 텍스트를 기준으로 해당 열 데이터의 속성을 분류할 수 있다. 우선, 속성 분류부(130)는 열 데이터에 포함된 텍스트를 기준으로 해당 열 데이터를 숫자형 속성의 데이터와 문자형 속성의 데이터로 분류할 수 있다. 구체적으로, 속성 분류부(130)는 열 데이터에 포함된 모든 텍스트가 '0' ~ '9', ',', 및 '.' 중 하나로 이루어진 경우(즉, 열 데이터가 '0' ~ '9', ',', 및 '.'의 조합만으로 구성되는 경우) 해당 열 데이터를 숫자형 속성의 데이터로 분류하고, 그렇지 않은 경우에는 해당 열 데이터를 문자형 속성의 데이터로 분류할 수 있다. 또한, 속성 분류부(130)는 숫자형 속성으로 분류된 열 데이터에 '.'이 포함되어 있는 경우 해당 열 데이터를 실수형 속성의 데이터로 분류하고, 그렇지 않은 경우 해당 열 데이터를 정수형 속성의 데이터로 분류할 수 있다.
구체적인 예로써, 도 5에 도시된 데이터에서 제1 열(나이)은 정수형 속성의 데이터로, 제2 열(키(cm))는 실수형 속성의 데이터로, 제3 열(직업코드)는 정수형 속성의 데이터로, 제4 열(성별)은 문자형 속성의 데이터로, 제5 열(주소)은 문자형 속성의 데이터로 분류될 수 있다.
비식별화부(140)는 실수형 속성의 열 데이터에 대하여 상·하단 코딩(Top and bottom coding) 기법을 적용함으로써 실수형 속성의 열 데이터에 대한 익명화(비식별화) 동작을 수행할 수 있다. 구체적으로, 제3 매개변수(m') 또는 제3-2 매개변수(m2')를 기준으로 상·하단 코딩이 진행될 수 있다. 예컨대, 제2 열 데이터에서 상위 m'%(또는 상위 m2'%)에 속하는 두번째 레코드(201.6)는 상위 m'%(또는 상위 m2'%)에 속하지 않는 레코드들의 값들 중 가장 큰 값으로 변경(또는 코딩)될 수 있다. 마찬가지로, 제2 열 데이터에서 하위 m'%(또는 하위 m2'%)에 속하는 네번째 레코드(139.5)는 하위 m'%(또는 하위 m2'%)에 속하지 않는 레코드들의 값들 중 가장 작은 값으로 변경(또는 코딩)될 수 있다. 도 5의 실수형 속성 '키'에서 파란색 음영 표시된 부분처럼 다른 데이터들보다 월등히 크거나 작은 경우에는 개인 특정이 가능할 수 있지만, 사용자가 지정한 상·하단 범위만큼 코딩하여 익명/가명(또는 비식별화) 처리를 진행했을 때 개인 특정을 피할 수 있다.
도 6은 도 1에 도시된 속성 분류부에 의한 정수형 속성 데이터 중 범주형 데이터에 대한 분류 동작을 위한 의사코드를 도시하고, 도 7은 정수형 속성 데이터 중 범주형 속성이 데이터에 대한 비식별화 동작을 설명하기 위한 데이터에 대한 히스트로그램의 일 예시를 도시한다.
속성 분류부(130)는 정수형 속성이 데이터를 범주형 속성의 데이터와 연속형 속성의 데이터로 분류할 수 있다. 구체적으로, 속성 분류부(130)는 제2 매개변수(h') 또는 제2-1 매개변수(h1')를 기준으로 정수형 속성의 데이터를 분류할 수 있다. 즉, 정수형 속성의 데이터(열 데이터)에 포함된 데이터의 종류(또는 레코드의 종류)가 제2 매개변수(h') 또는 제2-1 매개변수(h1') 이하일 경우 범주형 속성의 데이터로 분류되고, 그렇지 않은경우 연속형 속성의 데이터로 분류된다.
정수형 속성의 데이터 중 연속형 속성의 데이터로 분류된 열 데이터에 대하여, 비식별화부(140)는 제3 매개변수(m') 또는 제3-1 매개변수(m1')를 이용하여 상·하단 코딩을 진행함으로서 비식별화(익명화) 처리를 수행할 수 있다.
정수형 속성의 데이터 중 범주형 속성의 데이터로 분류된 열 데이터에 대하여, 비식별화부(140)는 열 데이터에 대한 히스토그램을 생성한다. 히스토그램을 기초로, 동일 범주의 레코드 수(즉, 동일한 값을 갖는 레코드의 수)가 제1 매개변수(k') 또는 제1-1 매개변수(k1')보다 작을 경우 해당 범주의 레코드는 행 항목 삭제(Record suppression) 기법을 적용한다. 이와는 달리, 동일 범주의 레코드 수가 제1 매개변수(k') 또는 제1-1 매개변수(k1') 이상일 경우, 해당 범주의 레코드에 대한 별도의 비식별화(익명화) 처리는 수행되지 않는다. 익명 처리(비식별화 처리)가 불필요하여, 기존 데이터를 그대로 사용하여 개인정보가 유출되더라도 해당 개인정보의 소유자를 특정할 수 없기 때문이다.
도 7의 예시적인 히스토그램에서, k'이 10이라고 가정하면, 붉은색으로 표시된 두 범위의 레코드가 행 항목 삭제의 대상이 된다. 해당 범위의 레코드들은 삭제하여 익명화(비식별화) 처리하고, k'보다 많은 레코드를 가지는 나머지 범위는 그대로 활용한다.
도 8은 도 1에 도시된 속성 분류부에 의한 문자형 속성 데이터의 분류 동작을 위한 의사코드를 도시하고, 도 9는 문자형 속성 데이터 중 범주형 속성 데이터에 대한 비식별화 동작을 설명하기 위한 데이터의 예를 도시하고, 도 10은 문자형 속성 데이터 중 주소형 속성 데이터에 대한 비식별화 동작을 설명하기 위한 데이터의 예를 도시한다.
속성 분류부(130)는 문자형 속성의 데이터를 범주형 속성의 데이터와 주소형 속성의 데이터로 분류할 수 있다. 구체적으로, 속성 분류부(130)는 주소명 DB(예컨대, 행정안전부 주소명 DB)를 활용하여 문자형 속성의 데이터를 범주형 속성의 데이터와 주소형 속성이 데이터로 구분할 수 있다. 즉, 행정안전부 주소명 DB에 포함된 주소명이 열 데이터에 포함되는 경우 해당 열 데이터는 주소형 속성이 데이터로 구분되고, 그렇지 않은 경우 해당 열 데이터는 범주형 속성의 데이터로 구분된다. 따라서, 비식별화 장치(10)의 저장부(150)에는 주소명 리스트(또는 주소명 DB)가 미리 저장되어 있을 수 있다.
실시예에 따라, 속성 분류부(130)는 속성 내 데이터의 종류(레코드의 종류)가 제2 매개변수(h') 또는 제2-2 매개변수(h2') 이하인 경우에 해당 열 데이터를 범주형 속성의 데이터로 분류할 수도 있다.
문자형 속성의 데이터 중 범주형 속성의 데이터에 대하여, 비식별화부(140)는 열 데이터에 대응하는 히스토그램을 생성한다. 또한, 비식별화부(140)는 동일 범주의 레코드 수가 제1 매개변수(k') 또는 제1-2 매개변수(k2')보다 작을 경우 해당 범주의 레코드를 삭제할 수 있다(행 항목 삭제(Record suppression)). 충분히 많은, 즉 제1 매개변수(k') 또는 제1-2 매개변수(k2') 이상의 레코드가 존재하는 경우에는 해당 레코드에 대한 익명 처리가 불필요하며, 기존 데이터를 그대로 사용할 수 있다.
도 9의 예시에서, k'(또는 k2')이 30이라고 가정하고, '성별', '혈액형', '가입상품코드'는 범주별 30개 이상의 충분한 데이터(레코드)를 가지고 있다고 가정한다. 이때, 앞서 말한 3가지 속성은 별도의 익명화(비식별화) 처리가 불필요하다. 고객 등급 속성에서 VVIP등급 고객이 20명이고 나머지 등급의 고객은 30명 이상이라고 가정했을 때, VVIP 값을 가지는 레코드는 행 항목 삭제(record suppression) 대상으로 해당 범주의 레코드가 삭제될 수 있다. 물론, 상술한 비식별화(익명화) 처리는 비식별화부(140)에 의해 수행될 수 있다.
문자형 속성이 데이터 중 주소형 속성이 데이터의 경우, 비식별화부(140)는 부분 삭제(local suppression) 기법을 적용하여 비식별화(익명화) 처리를 수행한다. 도 10이 예시에서, (토큰화된) 레코드 중 지번 주소의 경우 지번 이하의 주소를 삭제하고, 도로명 주소의 경우 dictionary(주소명 DB나 주소명 리스트를 의미할 수 있음) 내 포함되지 않은 뒷 부분(상세 주소로 표기되는 부분)을 삭제함으로써 비식별화(익명화) 처리를 수행할 수 있다. 즉, 비식별화부(140)는 주소형 속성의 데이터의 적어도 일부를 삭제함으로서 비식별화(익명화) 처리를 수행할 수 있다.
이상에서 설명된 장치는 하드웨어 구성 요소, 소프트웨어 구성 요소, 및/또는 하드웨어 구성 요소 및 소프트웨어 구성 요소의 집합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성 요소는, 예를 들어, 프로세서, 콘트롤러, ALU(Arithmetic Logic Unit), 디지털 신호 프로세서(Digital Signal Processor), 마이크로컴퓨터, FPA(Field Programmable array), PLU(Programmable Logic Unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(Operation System, OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술 분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(Processing Element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(Parallel Processor)와 같은, 다른 처리 구성(Processing Configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(Computer Program), 코드(Code), 명령(Instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(Collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성 요소(Component), 물리적 장치, 가상 장치(Virtual Equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(Signal Wave)에 영구적으로, 또는 일시적으로 구체화(Embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM, DVD와 같은 광기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-optical Media), 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성 요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성 요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
10 : 비식별화 장치
110 : 데이터 획득부
120 : 매개변수 설정부
130 : 속성 분류부
140 : 비식별화부
150 : 저장부

Claims (12)

  1. 각각이 동일 속성의 레코드들을 포함하는 열(column)들로 구성된 타겟 데이터를 획득하는 데이터 획득부;
    상기 타겟 데이터에 포함된 열 데이터들 각각의 속성을 분류하는 속성 분류부; 및
    분류된 속성에 기초하여 상기 열 데이터들 각각을 비식별화하는 비식별화부를 포함하는 개인정보 비식별화 장치.
  2. 제1항에 있어서,
    상기 개인정보 비식별화 장치는 적어도 하나의 매개변수를 설정하는 매개변수 설정부를 더 포함하고,
    상기 속성 분류부는 상기 적어도 하나의 매개변수를 이용하여 속성을 분류하는,
    개인정보 비식별화 장치.
  3. 제2항에 있어서,
    상기 속성 분류부는 상기 타겟 데이터에 포함된 열 데이터들 중에서 중복되는 레코드를 포함하지 않는 열 데이터의 속성을 식별자로 분류하고,
    상기 비식별화부는 속성이 식별자로 분류된 열 데이터를 상기 타겟 데이터에서 제거하는,
    개인정보 비식별화 장치.
  4. 제3항에 있어서,
    상기 속성 분류부는 상기 타겟 데이터에 포함된 열 데이터들 중에서 '0' ~ '9', ',', 및 '.'의 조합만으로 구성된 열 데이터를 숫자형 속성의 데이터로 분류하고, 상기 타겟 데이터에 포함된 열 데이터들 중에서 '0' ~ '9', ',', 및 '.'의 조합만으로 구성되지 않은 열 데이터를 문자형 속성의 데이터로 분류하는,
    개인정보 비식별화 장치.
  5. 제4항에 있어서,
    상기 분류부는 상기 숫자형 속성이 데이터로 분류된 열 데이터들 중에서 '.'를 포함하는 열 데이터를 실수형 속성의 데이터로 분류하고, '.'를 포함하지 않는 열 데이터를 정수형 속성의 데이터로 분류하는,
    개인정보 비식별화 장치.
  6. 제5항에 있어서,
    상기 비식별화부는 상기 실수형 속성의 데이터로 분류된 열 데이터들 각각에 상·하단 코딩을 적용하여 비식별화하는,
    개인정보 비식별화 장치.
  7. 제6항에 있어서,
    상기 적어도 하나의 매개변수는 제2 매개변수를 포함하고,
    상기 속성 분류부는 상기 정수형 속성의 데이터로 분류된 열 데이터들 중 레코드의 종류가 상기 제2 매개변수 이하인 열 데이터를 범주형 속성의 데이터로 분류하고, 레코드의 종류가 상기 제2 매개변수 보다 큰 열 데이터를 연속형 속성의 데이터로 분류하는,
    개인정보 비식별화 장치.
  8. 제7항에 있어서,
    상기 비식별화부는 상기 연속형 속성의 데이터로 분류된 열 데이터들 각각에 상·하단 코딩을 적용하여 비식별화하는,
    개인정보 비식별화 장치.
  9. 제8항에 있어서,
    상기 적어도 하나의 매개변수는 제1 매개변수를 포함하고,
    상기 비식별화부는 상기 범주형 속성의 데이터로 분류된 열 데이터들 각각에 대하여, 히스토그램을 생성하고, 상기 제1 매개변수보다 작은 레코드 수를 갖는 범주의 레코드들을 삭제하는,
    개인정보 비식별화 장치.
  10. 제9항에 있어서,
    상기 속성 분류부는 상기 문자형 속성의 데이터로 분류된 열 데이터들 중 레코드의 종류가 상기 제2 매개변수 이하인 열 데이터를 범주형 속성의 데이터로 분류하고,
    상기 비식별화부는 상기 무자형 속성의 데이터로 분류된 열 데이터들 중 범주형 속성의 데이터로 분류된 열 데이터들 각각에 대하여, 히스토그램을 생성하고, 상기 제1 매개변수보다 작은 레코드 수를 갖는 범주의 레코드들을 삭제하는,
    개인정보 비식별화 장치.
  11. 제9항에 있어서,
    상기 속성 분류부는 상기 문자형 속성의 데이터로 분류된 열 데이터들 중 미리 저장된 수소명 리스트에 포함된 주소명이 포함된 데이터를 갖는 열 데이터를 주소형 속성의 데이터로 분류하고,
    상기 비식별화부는 상기 주소형 속성의 데이터로 분류된 열 데이터에 포함된 각각의 레코드의 적어도 일부를 삭제하여 비식별화하는,
    개인정보 비식별화 장치.
  12. 각각이 동일 속성의 레코드들을 포함하는 열(column)들로 구성된 타겟 데이터를 획득하는 단계;
    상기 타겟 데이터에 포함된 열 데이터들 각각의 속성을 분류하는 단계; 및
    분류된 속성에 기초하여 상기 열 데이터들 각각을 비식별화하는 단계를 포함하는 개인정보 비식별화 방법.
KR1020220084577A 2022-07-08 2022-07-08 개인정보 비식별화 장치 및 방법 KR20240007529A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220084577A KR20240007529A (ko) 2022-07-08 2022-07-08 개인정보 비식별화 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220084577A KR20240007529A (ko) 2022-07-08 2022-07-08 개인정보 비식별화 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20240007529A true KR20240007529A (ko) 2024-01-16

Family

ID=89719618

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220084577A KR20240007529A (ko) 2022-07-08 2022-07-08 개인정보 비식별화 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20240007529A (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101948603B1 (ko) 2017-07-21 2019-02-15 고려대학교 산학협력단 데이터의 유용성 보존을 위한 익명화 장치 및 그 방법
KR20220027961A (ko) 2019-05-31 2022-03-08 주식회사 보아라 빅데이터의 비식별화 처리방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101948603B1 (ko) 2017-07-21 2019-02-15 고려대학교 산학협력단 데이터의 유용성 보존을 위한 익명화 장치 및 그 방법
KR20220027961A (ko) 2019-05-31 2022-03-08 주식회사 보아라 빅데이터의 비식별화 처리방법

Similar Documents

Publication Publication Date Title
Prasser et al. Flexible data anonymization using ARX—Current status and challenges ahead
JP7288903B2 (ja) データ匿名化のためコンピュータが実行する方法、システム、コンピュータ・プログラム、コンピュータ・プログラム、および記憶媒体
US10972506B2 (en) Policy enforcement for compute nodes
US10817621B2 (en) Anonymization processing device, anonymization processing method, and program
US10452992B2 (en) Interactive interfaces for machine learning model evaluations
US9703808B2 (en) Data masking setup
US10528761B2 (en) Data anonymization in an in-memory database
US10158641B2 (en) System and method for evaluating a reverse query
US20190188416A1 (en) Data de-identification based on detection of allowable configurations for data de-identification processes
Haufe et al. Proposal for a security management in cloud computing for health care
JP2023542632A (ja) 文書内の機密データの保護
CN107409040A (zh) 用于推荐数据加密而不影响程序语义的代码分析工具
CA3163408A1 (en) Creating predictor variables for prediction models from unstructured data using natural language processing
Marques et al. Analysis of Data Anonymization Techniques.
US10878128B2 (en) Data de-identification with minimal data change operations to maintain privacy and data utility
US11295326B2 (en) Insights on a data platform
JP2014066831A (ja) データ処理プログラム、データ処理装置及びデータ処理システム
CN106326760B (zh) 一种用于数据分析的访问控制规则描述方法
KR20240007529A (ko) 개인정보 비식별화 장치 및 방법
US11275732B2 (en) Extracting data utility requirements
Fotache et al. Framework for the Assessment of Data Masking Performance Penalties in SQL Database Servers. Case Study: Oracle
KR101948603B1 (ko) 데이터의 유용성 보존을 위한 익명화 장치 및 그 방법
US20220383093A1 (en) Leveraging and Training an Artificial Intelligence Model for Control Identification
US20200117833A1 (en) Longitudinal data de-identification
US20230334176A1 (en) Data treatment apparatus and methods

Legal Events

Date Code Title Description
E902 Notification of reason for refusal