KR20170052464A - 익명화를 위해 속성들을 자동으로 식별하기 위한 컴퓨터 구현 시스템 및 방법 - Google Patents

익명화를 위해 속성들을 자동으로 식별하기 위한 컴퓨터 구현 시스템 및 방법 Download PDF

Info

Publication number
KR20170052464A
KR20170052464A KR1020160136414A KR20160136414A KR20170052464A KR 20170052464 A KR20170052464 A KR 20170052464A KR 1020160136414 A KR1020160136414 A KR 1020160136414A KR 20160136414 A KR20160136414 A KR 20160136414A KR 20170052464 A KR20170052464 A KR 20170052464A
Authority
KR
South Korea
Prior art keywords
attributes
anonymization
data
attribute
sensitivity
Prior art date
Application number
KR1020160136414A
Other languages
English (en)
Other versions
KR102430649B1 (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 KR20170052464A publication Critical patent/KR20170052464A/ko
Application granted granted Critical
Publication of KR102430649B1 publication Critical patent/KR102430649B1/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/602Providing cryptographic facilities or services
    • 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
    • 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
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/105Multiple levels of security

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • Medical Informatics (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

익명화를 위해 속성들을 자동으로 식별하기 위한 컴퓨터 구현 시스템 및 방법이 제공된다. 속성들의 데이터세트가 액세스된다. 데이터세트에서의 각각의 속성은 복수의 값들과 연관된다. 데이터세트의 값들은 암호화되고 속성들은 속성들의 각각에 감도(sensitivity) 레벨을 할당함으로써 프로세싱된다. 속성들 중 하나 이상은 할당된 감도 레벨들에 기초하여 익명화를 위해 데이터세트로부터 선택된다.

Description

익명화를 위해 속성들을 자동으로 식별하기 위한 컴퓨터 구현 시스템 및 방법{COMPUTER-IMPLEMENTED SYSTEM AND METHOD FOR AUTOMATICALLY IDENTIFYING ATTRIBUTES FOR ANONYMIZATION}
본 출원은 일반적으로, 데이터를 익명화하는(anonymize) 것에 관한 것이고 특히, 익명화를 위해 속성들을 자동으로 식별하기 위한 컴퓨터 구현 시스템 및 방법에 관한 것이다.
비즈니스에 대한 일반 과정 동안, 회사들은 많은 양의 데이터를 축적한다. 최근에, 일부 회사들은 그들의 데이터를 광고주들, 연구원들, 또는 협업 파트너들과 같은, 제 3 자들과 공유함으로써 이 데이터를 현금화하기 시작했다. 제 3 자들은 통화 수수료를 지불하고 그 대신, 데이터 소유자로부터 관련 데이터를 수신한다. 제 3 자는 그 다음, 광고를 목적으로 하거나 연구를 행하기 위해 데이터를 사용할 수 있다. 그러나, 제 3 자들에 의해 요청된 데이터는 종종, 데이터가 수집되는 하나 이상의 개인들에 개인적인 정보를 포함한다.
데이터가 수집되는 개인들의 프라이버시를 보호하기 위해, 데이터의 익명화가 제 3 자에 제공되기 이전에 발생할 수 있다. 데이터 익명화는 요청하는 제 3 자가 데이터를 사용하는 것을 허용하는 피쳐(feature)들을 유지하면서, 중요한(sensitive) 정보를 보호하기 위해 데이터의 변경을 포함한다. 데이터 변경은 잡음을 부가하거나, 데이터의 정밀도를 감소시키거나, 데이터의 부분들 그 자체를 삭제하는 것을 포함할 수 있다. 일반적으로, 데이터 소유자들은 익명화에 관한 충분한 지식을 갖지 않고, 따라서 익명화에 대한 중요한 정보를 식별할 뿐만 아니라, 제 3 자에 데이터를 제공하기 이전에 그들의 데이터를 익명화하기 위해 제 3 자들에 의존한다.
익명화를 위한 하나의 접근법은 데이터 익명화에 도움을 주기 위해 개인 인력을 제공하는 익명화 서비스 제공자에 접촉하는 것을 포함한다. 익명화에 할당된 인력은 신뢰되지 않은 제 3 자임에도 불구하고 데이터에 액세스한다. 현재, 많은 회사들은 익명화 서비스에, 데이터가 익명화되기 이전 및 익명화된 후에 데이터를 보호하기 위해 양해각서(Memorandum of Understanding) 또는 기밀 유지 협약서(Non-Disclosure Agreement)와 같은, 비밀보장 협약서들에 서명할 것을 요청한다. 또 다른 접근법은 익명화를 위해 소프트웨어 애플리케이션들에 의존하는 것을 포함한다. 그러나, 소프트웨어는 일반적으로, 데이터에 완전하게 액세스되어야 하고 보안 문제들이 여전히 발생한다. 게다가, 대부분의 소프트웨어는 일반적으로, 데이터 소유자가, 어떤 데이터 속성들이 익명화되어야 하는지를 명시할 뿐만 아니라, 익명화 파라미터들을 식별하도록 요구한다. 불행하게도, 대부분의 데이터 소유자들은, 어떤 속성들이 익명화 및 개인의 계정(identity)이 폭로되는 것을 방지하는데 필요한 익명화의 레벨을 요구하는지를 정확하게 식별하기 위한 지식 및 전문지식이 부족하다. 따라서, 익명화를 위해 분석될 데이터가, 데이터가 익명화될 필요가 있는지의 여부를 결정하기 이전에 개인 또는 소프트웨어에 폭로되어야 하는 기술적 문제점이 존재하고, 이는 중요한 데이터가 신뢰되지 않은 당사자에 의해 발견되는 것을 허용할 수 있다.
따라서, 데이터 폭로를 방지하거나 데이터 보호를 위반하고 보장하기 위해, 익명화를 위한 특정 데이터 속성들을 식별하는 것을 포함하는 데이터 익명화를 자동화하기 위한 접근법에 대한 필요성이 존재한다.
회사들이 익명화를 위해 중요한 데이터를 식별하는데 도움을 주기 위해, 정보의 폭로를 방지하면서, 익명화기는 맹목적으로(blindly) 데이터를 분석하고 어떤 데이터 항목들이 익명화되어야 하는지를 식별할 수 있다. 구체적으로, 분석을 위한 데이터 세트는 프로세싱을 위해 암호화되고 데이터 소유자로부터 익명화기로 제공될 수 있다. 익명화기는 데이터세트 내의 어떤 속성들이 익명화되어야 하고 어떤 익명화 레벨이 필요한지를 결정할 수 있다. 식별된 속성들은 그 다음, 속성들의 확인을 위해 데이터 소유자에 제공될 수 있다. 일단, 데이터 소유자에 의해 승인되면, 익명화기는 각각의 속성에 대한 데이터 값들을 익명화한다.
일 실시예는 익명화를 위해 속성들을 자동으로 식별하기 위한 컴퓨터 구현 시스템 및 방법을 제공한다. 속성들의 데이터세트가 액세스된다. 데이터세트에서의 각각의 속성은 복수의 값들과 연관된다. 데이터세트의 값들은 암호화되고 속성들은 속성들의 각각에 감도(sensitivity) 레벨을 할당함으로써 프로세싱된다. 속성들 중 하나 이상은 할당된 감도 레벨들에 기초하여 익명화를 위해 데이터세트로부터 선택된다.
여전히, 본 발명의 다른 실시예들은 다음의 상세한 설명으로부터 당업자들에게 용이하게 명백해질 것이고, 본 발명의 실시예들은 본 발명을 실행하기 위해 고려된 최상의 모드를 도시함으로써 설명된다. 실현될 바와 같이, 본 발명은 다른 그리고 상이한 실시예들을 가능하게 하고 그것의 몇몇 상세들은 모두 본 발명의 사상 및 범위를 벗어나지 않고, 다양한 명백한 측면들에서 수정할 수 있다. 그에 따라, 도면들 및 상세한 설명은 제한적인 것으로서가 아닌 사실상 예시적인 것으로서 간주될 것이다.
도 1은 하나의 실시예에 따른, 익명화를 위해 속성들을 자동으로 식별하기 위한 컴퓨터 구현 시스템을 도시하는 블록도.
도 2는 하나의 실시예에 따른, 익명화를 위해 속성들을 식별하기 위한 컴퓨터 구현 방법을 도시하는 흐름도.
도 3은 규칙 기반 분류를 위한 프로세스를 예로서 도시하는 흐름도.
도 4는 통계 기반 분류를 위한 프로세스를 예로서 도시하는 흐름도.
도 5는 집 코드(zip code)들의 분포에 대한 그래프를 예로서 도시하는 블록도.
도 6은 데이터세트에서 집 코드들의 분포에 대한 그래프를 예로서 도시하는 블록도.
도 7은 데이터세트에서 집 코드들의 상이한 분포에 대한 그래프를 예로서 도시하는 블록도.
도 8은 평문(plaintext) 샘플링을 위한 프로세스를 예로서 도시하는 흐름도.
비즈니스에 대한 일반 과정에서 많은 양의 데이터를 수집하는 회사들 및 기관들은 이제, 데이터를 익명화하고 시장 조사 또는 의학 연구와 같은, 연구를 위해 다른 회사들 및 기관들에 데이터를 제공함으로써 그들의 데이터를 현금화할 수 있다. 그러나, 데이터 중 일부는 중요한 것으로 고려될 수 있거나 데이터가 보호되고, 데이터가 언급하는 개인의 계정이 기밀로 유지됨을 보장하기 위해 연합으로 규제된다. 중요한 정보를 포함하거나 연합으로 규제되는 데이터 수집들은 데이터에 대한 엑세스를 방지하기 위해 익명화되어야 한다. 현재, 많은 회사들은 제 3 자가 데이터와 연관된 개인을 식별하는 것을 방지하기 위해 어떤 데이터가 익명화될 필요가 있고 얼마나 많은 익명화가 필요한지를 식별하는데 있어서 경험 및 전문지식을 갖지 않는다. 중요한 정보를 보호하고 데이터의 폭로를 방지하기 위해, 정보는 암호화될 수 있고 익명화의 자동 결정이 행해질 수 있다.
자동 익명화는 암호화된 데이터를 맹목적으로 프로세싱하는 익명화기(anonymizer)를 통해 발생할 수 있다. 도 1은 하나의 실시예에 따른, 익명화를 위해 속성들을 자동으로 식별하기 위한 컴퓨터 구현 시스템을 도시하는 블록도이다. 데이터 소유자는 시간에 걸쳐 수집된 많은 양의 데이터(25)를 유지한다. 데이터(25)는 비즈니스의 데이터 소유자의 장소에 또는 원격으로 위치된 신뢰된 서버(21)에 상호접속된 데이터베이스(24)에 저장될 수 있다. 대안적으로, 데이터(25)는 다수의 서버들 상의 풀(pool)들을 포함하는, 클라우드(cloud)에 저장될 수 있다. 데이터 소유자는 데스크탑(11a) 또는 랩탑(11b) 컴퓨터를 통해, 또는 모바일 컴퓨팅 디바이스(도시되지 않음)와 같은, 다른 유형들의 컴퓨팅 디바이스들을 통해 데이터(25)에 액세스할 수 있다. 저장된 데이터(25)는 하나 이상의 데이터 세트들(25)을 포함할 수 있고, 각각의 데이터 세트는 복수의 속성들과 연관된다. 게다가, 각각의 속성은 개인들의 그룹에 대한 데이터 값들과 연관된다.
신뢰된 서버(21)는 암호화기(22) 및 송신기(23)를 포함한다. 데이터 소유자가 예를 들면, 돈 대신에 제 3 자에 제공하기를 원하는 데이터(25)는 암호화기(19)를 통해 암호화될 수 있고(25) 송신기(23)는 익명화기(13)로 암호화된 데이터(26)를 전송할 수 있다. 익명화기(13)는 신뢰되거나 신뢰되지 않을 수 있고, 인터넷 또는 특수화된 네트워크와 같은, 인터네트워크(12)를 통해 신뢰된 데이터 서버(21)에 상호접속된다. 익명화기(13)는 비교기(14), 선택기(15), 감도 할당 모듈(28), 검증기(16), 및 익명화기 모듈(17)을 포함할 수 있다.
익명화기에 의한 데이터세트의 프로세싱 동안, 비교기(14)는 데이터세트의 속성들을 유사(quasi) 식별자들, 분산 모델들(20)을 언급하는 스트링(string)들의 연관된 어레이에 대한 사전(dictionary)(19), 또는 정규 표현들(29)과 비교한다. 비교 동안, 감도 모듈(16)은 각각의 속성에 감도 값을 할당하고 할당된 감도 값들에 기초하여 하나 이상의 속성들을 중요한 것으로서 식별할 수 있다. 감도 값은 데이터가, 대응하는 개인의 식별을 방지하기에 충분히 강하게(strongly) 마스킹(masking)됨을 보장하기 위해 필요한 상당한 익명화를 반영한다. 예를 들면, 더 중요한 속성들은 덜 중요한 속성들보다 강하게 익명화되어야 한다. 익명화는 예를 들면, 잡음을 부가하거나, 데이터의 정밀도를 감소시킴으로써, 또는 데이터의 일부를 삭제함으로써 중요한 정보를 보호하기 위해 데이터를 변경시킨다. 후속적으로, 익명화 모듈(17)은 감도 레벨들에 기초하여 중요한 속성들을 익명화한다. 익명화된 데이터(27)는 그 다음, 제 3 자에 제공하기 위해 데이터 소유자로 다시 송신된다.
컴퓨팅 디바이스들 및 서버들은 각각, 중앙 처리 장치, 랜덤 액세스 메모리(RAM), 입력/출력 포트들, 하드 드라이브 또는 CD ROM 드라이브와 같은, 비 휘발성 부 저장장치, 네트워크 인터페이스들, 키보드 및 디스플레이와 같은 사용자 인터페이싱 수단을 포함하는, 주변 디바이스들, 및 본 명세서에 개시된 실시예들을 실행하기 위한 하나 이상의 모듈들을 포함할 수 있다. 소프트웨어 프로그램들을 포함하는, 프로그램 코드, 및 데이터는 CPU에 의해 실행 및 프로세싱하기 위해 RAM에 로딩되고 결과들은 디스플레이, 출력, 송신, 또는 저장하기 위해 생성된다.
모듈들은 컴퓨터 프로그램 또는 종래의 프로그래밍 언어로 소스 코드로서 기록된 절차로서 구현될 수 있고 중앙 처리 장치에 의해 객체(object) 또는 바이트 코드로서 실행하기 위해 제공된다. 대안적으로, 모듈들은 또한, 집적 회로로서 또는 판독 전용 메모리 구성요소들로 버닝(burning)되는 것으로서, 하드웨어로 구현될 수 있고, 컴퓨터 디바이스들의 각각 및 서버는 특수화된 컴퓨터의 역할을 할 수 있다. 예를 들면, 모듈들이 하드웨어로서 구현될 때, 그 특정한 하드웨어는 메시지 우선순위화를 수행하기 위해 특수화되고 다른 컴퓨터들은 사용될 수 없다. 부가적으로, 모듈들이 판독 전용 메모리 구성요소들로 버닝될 때, 판독 전용 메모리를 저장하는 컴퓨팅 디바이스 또는 서버는, 다른 컴퓨터들이 할 수 없는 메시지 우선순위화를 수행하기 위해 특수화된다. 다른 유형들의 특수화된 컴퓨터들이 가능하다. 게다가, 관리 시스템은, 관리 시스템이 구현되는 특정 클라이언트들 및 특정 하드웨어로 제한될 뿐만 아니라, 단지 가입하는 클라이언트들에 대한 가입 서비스에 의해 제한될 수 있다. 소스 코드 및 객체 및 바이트 코드들의 다양한 구현들은 플로피 디스크, 하드 드라이브, 디지털 비디오 디스크(DVD), 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM) 및 유사 저장 매체들과 같은, 컴퓨터 판독가능한 저장 매체 상에서 보유될 수 있다. 다른 유형들의 모듈들 및 모듈 기능들 뿐만 아니라, 다른 물리적 하드웨어 구성요소들이 가능하다.
각각의 속성에 대해 감도 레벨을 결정하는 것은 익명화기가 익명화를 위한 하나 이상의 속성들 및 필요한 익명화의 레벨을 식별하는 것을 허용한다. 도 2는 하나의 실시예에 따른, 익명화를 위해 속성들을 자동으로 식별하기 위한 컴퓨터 구현 방법을 도시하는 흐름도이다. 데이터 소유자는 잠재적 익명화를 위해 데이터세트를 식별한다. 데이터세트는 하나 이상의 개인들에 대해, 이름, 사회 보장 번호, 주소, 전화 번호, 질병, 및 계좌 번호와 같은, 속성들, 및 각각의 속성에 대한 데이터 값들을 포함할 수 있다. 예를 들면, 집 코드에 대한 속성은 노스 시애틀에 위치된, 제 1 개인에 대해 98125의 값, 및 시애틀 다운타운에 위치된 제 2 개인에 대해 98101의 값을 포함할 수 있다. 다른 속성들 및 데이터 값들이 가능하다.
데이터 값들은 속성들의 각각에 대해 암호화될 수 있고(블록(31)) 그 다음, 암호화된 데이터 값들은 프로세싱하기 위해 익명화기로 송신된다(블록(32)). 또 다른 실시예에서, 속성들 그들 자신이 또한 암호화된다. 암호화는 CBC 모드에서 진화된 암호화 표준(AES)과 같은, 결정적 대칭 키 암호화 방식을 사용하거나 순차적(order-preserving) 암호화를 사용하여 발생할 수 있다. 순차적 암호화 동안, 데이터 값들은 암호화되지 않은 데이터 값들의 순서를 유지하면서, 각각의 데이터 값에 암호화된 값들을 할당하는 의사 랜덤 생성기를 통해 실행된다. AES와 같은, 대부분의 암호화 알고리즘들과는 달리, 순차적 암호화는 그들의 암호화된 형태로 평문 데이터의 순서화를 유지한다.
예를 들면, 평문 버전의 데이터 값들은 숫자들(0 내지 5)을 포함한다. 평문 데이터 값들의 순서는 순서화된 암호문(ciphertext) 데이터 값들을 생성하기 위해 순차적 암호화 시에 유지된다. 구체적으로, 의사 랜덤 생성기는 암호문 값들로서 순차적 암호화 값들에 대한 평문 값들의 의사 랜덤 매핑들을 수행한다. 순차적 암호화를 위한 유일한 기준은, 평문 값들 및 암호문 값들의 순서화가 보존된다는 것이다. 하나의 예에서, 숫자(0)는 457에 매핑되는 반면에, 1은 473에 매핑되고, 2는 510에 매핑되고, 3은 625에 매핑되고, 4는 635에 매핑되며, 5는 1001에 매핑된다. 제로(Zero)는 최소 평문 데이터 값이고 제로의 암호화된 값(457)은 데이터세트의 최소 암호문 값이다. 부가적으로, 평문 값(5)은 최대인 반면에, 5에 대한 암호화된 값(1001)은 또한 최대이다. 암호화된 값들의 순서를 보존하는 것은 데이터가, 암호화됨에도 불구하고 제한된 양의 프로세싱 및 추론을 위해 여전히 유용함을 보장하는데 도움을 준다.
암호화된 데이터세트의 프로세싱 동안, 데이터 값들은 할당된 감지 값에 기초하여 익명화를 위한 하나 이상의 속성들을 선택하기 위해(블록(33)) 규칙 기반 분류, 통계 기반 분류 또는 평문 샘플링을 사용하여 분석될 수 있다. 규칙 기반 분류 하에서, 암호화된 데이터 값들의 속성들은 다양한 사전 스트링들과 비교되고, 상기 다양한 사전 스트링들의 각각은 감도 값과 연관된다. 미리 결정된 임계치를 초과하는 감도 값들을 갖는 그들 속성들은 중요한 것으로서 식별되고 익명화를 위해 선택될 수 있다. 규칙 기반 분류를 통해 중요한 속성들을 식별하는 것은 또한, 도 3에 관하여 하기에 식별된다. 통계 기반 분류와 관련하여, 각각의 속성의 데이터 값들이 모델링(modeling)되고 익명화기에 이미 공지된 속성들의 분포들과 비교된다. 후속적으로, 하나 이상의 중요한 속성들을 식별하고 각각의 속성에 대한 감도의 레벨을 결정하기 위해 공지된 분포와 익명화기에 의해 관측된 분포 사이의 발산의 측정치가 결정되고 미리 결정된 임계치와 비교된다. 통계 기반 결정은 예를 들면, 속성 값들 그들 자신이 암호화될 때, 규칙 기반 분류의 조사 결과들(findings)을 확인하거나 속성들을 식별하기 위해 사용될 수 있다. 통계 기반 결정은 또한, 도 4에 관하여 하기에 설명된다.
마지막으로, 평문 샘플링 하에서, 데이터세트의 일부는 암호화 이전에 익명화기에 제공된다. 익명화기는 암호화되지 않은 데이터에 기초하여 하나 이상의 속성들에 대한 표현들의 세트를 생성한다. 후속적으로, 데이터 세트의 나머지는 특정한 속성들 및 그들의 감도들을 식별하기 위해 암호화되고 표현들에 대해 비교된다. 평문 샘플링은 도 8에 관하여 하기에 또한 설명된 바와 같이, 속성들 및 속성들에 대한 감도 값들을 식별하기 위해 사용될 수 있다.
일단 선택되면, 속성들은 그 다음, 검토 및 검증을 위해 데이터 소유자에 선택적으로 제공될 수 있다(블록(34)). 선택된 속성들의 검토 시에, 데이터 소유자는 익명화를 위해 선택된 속성들 중 하나 이상을 삭제하거나, 하나 이상의 속성들을 부가하거나, 선택된 속성들을 검증하는 것을 포함하는, 피드백을 제공할 수 있다(블록(35)). 그 다음, 익명화기는 할당된 감도 레벨들에 따라 선택된 속성들의 데이터 값들을 익명화한다(블록(36)). 하나의 실시예에서, 익명화는 2015년 11월 3일에 출원되고, 명칭이 "암호화된 데이터를 익명화하기 위한 컴퓨터 구현 시스템 및 방법(Computer-Implemented System and Method for Anonymizing Encrypted Data)"이며, 대리인 사건 번호 제 022.1455.US.UTL 호인 미국 특허 출원 일련 번호 제 14/931,774 호에서 설명된 바와 같이 발생할 수 있다. 익명화를 위한 다른 방법들이 가능하다.
익명화를 위해 속성들을 자동으로 식별하기 위해, 익명화기는 과거 경험에 기초하여 데이터세트를 프로세싱한다. 도 3은 규칙 기반 분류를 위한 프로세스를 예로서 도시하는 흐름도이다. 익명화기는 데이터 소유자로부터, 하나의 실시예에서, 암호화되지 않은 속성들 및 암호화된 데이터 값들을 포함할 수 있는 암호화된 데이터세트를 수신하고, 공지된 속성들과 같은, 유사 식별자들을 언급하는 스트링들의 사전, 및 감도 값들에 액세스한다(블록(41)). 익명화기는 이전 경험 분석 속성들에 기초하여 스트링들의 사전을 컴파일링(compiling)할 수 있다. 예를 들면, 익명화기가 사회 보장 번호를 매우 높은 감도와 연관되는 것으로서 이전에 식별했으면, 사전에서의 감도 값은 또한, 높은 값을 반영할 것이거나, 나이와 같은 속성이 일반적으로, 더 낮은 감도와 연관되었으면, 감도 값은 그에 따라 설정될 것이다.
각각의 감도 값은, 스트링이 속성에 대한 데이터 값과 연관된 개인을 식별하기 위해 사용될 수 있는 유사 식별자 또는 속성을 포함할 가능성이 얼마나 있는지를 표현한다. 하나의 예에서, 감도 값들은 그 범위가 0과 1 사이에 있고, 더 높은 값들은 유사 식별자 데이터 값이 개인을 연관시킬 수 있는 더 높은 가능성을 표현한다. 예를 들면, 사전은 사회 보장, 위치, 이름, 및 심박동(heart rate) 모니터를 통한 것과 같은, 센서 판독들을 포함하는, 유사 식별자들에 대한 스트링들을 포함할 수 있다. 사회 보장은 1.0의 가중치와 연관되는데, 이는 사회 보장 데이터 값이 그 특정한 사회 보장 번호와 연관된 개인의 계정을 폭로할 것이기 때문이다. 대조적으로, 위치는 0.6의 가중치와 연관되고, 완전한 이름은 1의 가중치와 연관되며 센서 판독은 0.01의 가중치와 연관된다.
0 내지 100 또는 -1 내지 1 뿐만 아니라, 질병, 신용 카드 번호, 및 등급들과 같은, 다른 유사 식별자들과 같은, 다른 가중치들이 가능하다. 또 다른 실시예에서, 감도 값들은 사전에서 모든 스트링들에 걸친 값들이 1의 총 합을 갖고 각각의 감도 값이 제로와 같거나 더 크도록, 구성가능할 수 있다. 또 다른 실시예에서, 감도 값들은 확률들로서 해석될 수 있어서, 좀 더 익명화될 것 같은 속성을 표현하는, 사전에서의 스트링들이 덜 익명화될 것 같은 속성들과 연관된 스트링들보다 큰 감도 값과 연관되도록 한다. 감도에 대한 다른 유형들의 값들이 가능하다.
데이터세트에서의 속성들의 각각은 그 다음, 사전과 연관되고(블록(42)) 하나 이상의 매치들은 속성들의 각각에 대해 식별될 수 있다(블록(43)). 매치는 스트링 서브세트(subset) 매칭 또는 유사성 메트릭(metric)에 기초하는 것을 포함하는, 다수의 방식들로 결정될 수 있다. 스트링 매칭은 속성을 사전 스트링 엔트리들의 각각과 비교하고 속성을 포함하거나 속성 내에 포함되는 하나 이상의 엔트리들을 식별하는 것을 포함한다. 예를 들면, 속성 "전화 번호"는 사전 엔트리들과 비교될 수 있고 "전화기 번호", "전화기 넘버" 또는 "전화 넘버"에 대한 하나 이상의 엔트리들은 매치로서 식별될 수 있는데, 이는 엔트리들의 각각이 용어 "전화"를 포함하기 때문이다. 스트링 매칭은 나이브(
Figure pat00001
) 스트링 검색 알고리즘 또는 다른 유형들의 패턴 알고리즘들을 통해 발생할 수 있다. 용어 "번호"의 유사성으로 인한 "사회 보장 번호"에 대한 사전 엔트리로 매칭되는 "전화 번호"에 대한 속성과 같은, 부정확한 매치들을 방지하기 위해, 알고리즘은 상이한 구들을 분리하도록 트레이닝(training)될 수 있다. 대안적으로, 속성들의 각각에 대한 규칙들이 적용될 수 있다. 예를 들면, 사회 보장 번호에 대한 규칙은 3개의 번호들 다음에 대시 기호, 다음에 2개의 번호들, 다음에 대시 기호, 다음에 4개의 번호들을 포함할 수 있다. 대조적으로, 전화 번호 규칙은 3개의 번호들 다음에 대시 기호, 다음에 3개의 번호들, 다음에 대시 기호, 다음에 4개의 번호들을 포함할 수 있다.
게다가, 유사성 메트릭을 통한 속성 비교는 각각의 속성과 각각의 사전 스트링 사이의 유사성의 측정치를 산출하는 것을 포함한다. 유사성 임계치는 어떤 사전 스트링이 속성과 가장 유사한지를 결정하기 위해 규정되고 각각의 유사성 측정치에 적용된다. 유사성 측정치들은 코사인 유사성, 교차 상관, 또는 로그 표현 뿐만 아니라, 다른 유사성 메트릭들을 사용하여 결정될 수 있다. 예를 들면, 코사인 유사성이 사용될 때, 벡터는 사전에서의 각각의 스트링 및 각각의 속성을 위해 생성되고, 유사성의 측정치는 속성 및 각각의 스트링에 대한 벡터들 사이에서 산출된다. 각각의 벡터는 대응하는 속성의 이름으로부터 결정된다. 예를 들면, 후보 속성("age")에 대한 벡터는 ["a", "g", "e"]를 포함한다. 일단 결정되면, 벡터는, 벡터가 익명화될 데이터베이스에서 다른 속성들에 대한 벡터들과 얼마나 가깝게 매칭하는지를 결정하기 위해 거리 산출들을 편집하는데 있어서 사용될 수 있다. 유사성 측정치들은 그 다음, 어떤 사전 스트링이 속성에 매칭하거나 가장 가깝게 매칭하는지를 식별하기 위해 사용된다. 구체적으로, 임계치는 속성에 대한 각각의 유사성 측정치에 적용되고 임계치를 초과하는 유사성 측정치와 연관된 사전 스트링은 속성에 대한 매치로서 식별된다.
일단, 매칭 스트링이 식별되었으면, 그 스트링과 연관된 가중치는 속성에 할당되고 미리 결정된 임계치는 감도 값에 적용된다(블록(45)). 감도 값이 임계치를 초과하면, 속성은 식별된 감도에 기초하여 익명화를 위해 추천된다(블록(46)). 그러나, 감도 값이 임계치를 초과하지 않으면, 어떠한 익명화의 추천도 제공되지 않는다(블록(47)). 또한, 매치가 식별되지 않으면, 또 다른 속성은 데이터세트에서의 모든 속성들이 프로세싱될 때까지 선택된다(도시되지 않음).
대안적으로, 익명화 및 익명화의 레벨에 대한 필요성은 단지 단일 임계치보다, 감도 값들의 범위에 기초하여 결정될 수 있다. 예를 들면, 0 내지 0.2의 감도 값들을 갖는 속성들은 익명화될 필요가 없고, 0.3 내지 0.5의 가중치들을 갖는 속성들은 낮은 레벨의 익명화를 필요로하고, 0.6으로부터 0.7까지의 가중치들을 갖는 속성들은 중간 익명화를 필요로하며, 0.8로부터 1까지의 가중치들을 갖는 속성들은 최고 레벨의 익명화를 필요로한다.
규칙 기반 분류의 또 다른 실시예에서, 데이터 소유자는 익명화기에 감도 값을 결정하도록 요구하기보다, 익명화기에 속성들의 목록 및 연관된 감도 값들을 제공한다. 일단 수신되면, 익명화기는 익명화의 레벨을 결정하기 위해 감도 값들을 활용하고 결정된 익명화 레벨에 따라 각각의 속성에 대한 데이터 값들을 익명화한다. 구체적으로, 익명화기는 이전 익명화 경험에 기초하여 또는 임계치를 통해 익명화의 레벨을 결정할 수 있다. 예를 들면, 하나의 실시예에서, 익명화기는 속성들의 과거 익명화에 기초하여 익명화되어야 하는 그들 속성들의 목록을 유지할 수 있다. 후속적으로, 목록에 포함되는 데이터 소유자로부터의 속성들이 그 다음, 익명화될 수 있다. 대안적으로, 임계치는 속성의 익명화가 필요한지의 여부를 결정하기 위해 사용될 수 있다. 예를 들면, 0.7보다 큰 감도 값을 갖는 모든 속성들은 익명화되어야 한다. 또한, 단일 임계치 대신에, 상기 설명된 바와 같이, 감도 값들의 범위가 익명화가 필요한지의 여부 및 발생해야 하는 익명화의 레벨을 결정하기 위해 사용될 수 있다.
익명화를 위해 속성들을 식별할 시에, 속성들의 목록이 생성되고 검토를 위해 데이터 소유자에 제공될 수 있다. 하나의 실시예에서, 감도 레벨 및 대응하는 익명화 레벨이 또한 제공될 수 있다. 일단 수신되면, 데이터 소유자는 목록 상의 속성들을 확인하거나, 부인하거나, 증가시키거나, 삭제할 뿐만 아니라, 다른 유형들의 피드백을 제공할 수 있다. 데이터 소유자의 피드백에 응답하여, 익명화기는 통계 기반 분류를 사용하여 익명화를 위해 속성들의 목록을 수정할 수 있다. 그러나, 또 다른 실시예에서, 통계 기반 분류는 예를 들면, 속성들 그들 자신이 암호화될 때 또는 심지어 속성들이 암호화되지 않을 때, 익명화를 위해 속성들을 식별하도록 규칙 기반 분류 대신에 사용될 수 있다. 도 4는 통계 기반 분류를 위한 프로세스(50)를 예로서 도시하는 흐름도이다. 익명화기는, 각각이 속성에 대한 데이터 값들의 공지된 분포들을 표현하는 확률 밀도 함수들(PDFs)에 액세스하고(블록(51)) 주어진 값을 표현하기 위해 특정한 데이터 값의 가능성을 설명한다. 각각의 PDF는 그 속성에 대한 데이터 값과 연관된 개인의 식별을 방지하기 위해 필요한 익명화의 레벨을 나타내는 감도 값과 연관될 수 있다.
예를 들면, 하나 이상의 PDF들은 미국에서 모든 집 코드들에 대한 분포를 포함하는 집 코드들 및 미국에서 하나 이상의 주들에 대한 모든 집 코드들을 제공받을 수 있다. 도 5는 미국에서 모든 집 코드들의 분포에 대한 그래프(60)를 예로서 도시하는 블록도이다. 그래프의 x축(61)은 인접 미국에서 모든 집 코드들을 표현하는 반면에, y축(62)은 각각의 집 코드의 모집단(population)을 표현한다. 집 코드 분포에 대한 함수(63)는 축들 내에 매핑된다. 최고 모집단들을 갖는 집 코드들은 약 10000 범위에 나타나고, 이는 동쪽 해안의 부분들 특히, 뉴욕 시티를 커버(cover)하고; 90000 범위는 캘리포니아 대부분을 커버하며; 95000 범위는 태평양 연안 북서부를 커버한다. 한편, 최저 인구밀도의 집 코드들은 미국 중서부에서 나타난다. 일반적으로, 더 낮은 모집단 밀도를 갖는 집 코드들은 더 높은 모집단 밀도를 갖는 집 코드들보다 개인에 관한 정보를 좀더 폭로할 것 같은데, 이는 더 많은 사람들이 동일한 집 코드를 공유하기 때문이다. 다른 속성들 및 그래프들이 가능하다. 예를 들면, 이름 또는 성은 이름의 인기에 기초하여 매핑될 수 있고, 급여는 이름 또는 위치에 기초하여 매핑될 수 있고, 계좌 번호는 지리구(geographical region)에 의해 매핑될 수 있으며, 전화 번호는 지역 코드와 연관된 위치에 기초될 수 있다.
도 4에 관한 논의로 리턴하면, 익명화기는 그 다음, 데이터세트에서 각각의 속성에 대한 데이터 값들의 분포를 매핑한다(블록(52)). 암호화됨에도 불구하고, 데이터 값들은 데이터의 순서화가 유지되기 때문에 순차적 암호화가 사용될 때, 그들의 암호화된 값들에 기초하여 매핑될 수 있다. 데이터세트에 대한 각각의 속성 분포는 각각의 공지된 PDF들과 비교된다(블록(53)). 발산은 PDF들 중 하나가 데이터세트 속성에 대한 분포에 매칭하는지의 여부를 결정하기 위해 데이터세트 속성과 각각의 공지된 PDF 사이에서 측정된다(블록(54)). 발산은 공지된 PDF의 분포와 데이터세트 속성의 분포 사이의 거리를 측정하기 위해 쿨백-라이블러(Kullback-Leibler) 발산, 옌센-샤논(Jensen-Shannon) 발산, 또는 변화 거리를 사용하여 측정될 수 있다. 그러나, 다른 발산 측정치들이 가능하다.
후속적으로, 미리 결정된 임계치는 발산 측정치에 적용될 수 있다. 발산의 측정치가 임계치 미만이면(블록(55)), 유사성의 높은 측정치가 존재하고 분포들은 매치인 것으로 고려된다. 매칭 PDF의 속성이 그 다음, 암호화된 속성에 할당된다(블록(56)). 부가적으로, 매칭 PDF와 연관된 감도 값은 또한, 암호화된 속성에 할당되고(블록(56)) 암호화된 속성의 데이터 값들에 대한 익명화의 레벨을 결정하기 위해 사용될 수 있다. 그러나, 발산의 측정치가 임계치를 초과하면, 분포들 사이에 어떠한 매치도 식별되지 않는데(블록(57)), 이는 비유사성(dissimilarity)의 높은 측정치가 존재하기 때문이다. 데이터세트에서의 각각의 속성은 데이터세트의 속성을 식별하고 어떤 속성들이 익명화되어야 하는지를 결정하려는 시도로 공지된 PDF들의 전부와 비교된다.
하나의 예에서, 통계 기반 분류를 사용하여, 암호화된 속성은 PDF들을 매핑하고 그들과의 비교를 위해 데이터세트로부터 선택된다. 도 6은 데이터세트에서 집 코드들의 분포에 대한 그래프(70)를 예로서 도시하는 블록도이다. 그래프의 x축(71)은 데이터 소유자로부터 데이터세트에 포함된 집 코드들을 표현하는 반면에, y축(72)은 각각의 집 코드의 빈도(frequency)를 표현한다. 구체적으로, 빈도는 하나의 이러한 집 코드를 표현하는 데이터세트에서의 데이터 값들의 수에 기초하여 결정된다. 데이터세트의 집 코드 분포에 대한 함수(73)는 축들 내에 매핑된다. 함수(73)는 약 10000 집 코드 범위, 약 90000 범위, 및 약 95000 범위에서 마루(crest)들을 포함한다. 게다가, 함수는 약 50000 및 60000 집 코드 범위들에서 골(trough)들을 포함한다. 분포는 그 다음, 공지된 PDF들의 각각과 비교되고 발산의 측정치가 결정된다. 임계치는 발산 측정치들의 각각에 적용되고 임계치는 임계치를 만족시키는 발산 측정치를 갖는 공지된 PDF를 결정하기 위해 적용된다. 암호화된 속성은 그 다음, 공지된 PDF의 속성으로서 식별되고 공지된 PDF와 연관된 감도 레벨은 식별된 속성에 할당된다.
대안적으로, 속성이 이미 공지될 때, 비교는 그 속성의 데이터 값들에 대한 익명화의 레벨을 결정하기 위해 사용될 수 있다. 예를 들면, 도 7은 데이터세트에서 집 코드들의 상이한 분포에 대한 그래프(80)를 예로서 도시하는 블록도이다. 그래프의 x축(81)은 데이터 소유자로부터 데이터세트에 포함된 집 코드들을 표현하는 반면에, y축(82)은 각각의 집 코드의 빈도를 표현한다. 빈도는 하나의 이러한 집 코드를 표현하는 데이터세트에서의 데이터 값들의 수에 기초하여 결정된다. 데이터세트의 집 코드 분포에 대한 함수(83)는 축들 내에 매핑된다. 구체적으로, 이 경우에, 데이터세트는 약 90000 집 코드에서 시작하는 곡선의 증가에 의해 표현된 바와 같이, 서해안을 따라 주로 집 코드들을 포함한다. 따라서, 데이터세트는 PDF에 의해 표현된 집 코드들의 단지 일부를 포함하고, 이는 데이터세트에서 집 코드에 대한 속성 값들의 상이한 표현에 의해 보여진다.
표현들의 비교에 기초하여, 익명화기는 익명화 레벨을 결정할 수 있다. 예를 들면, 이 예에서, 집 코드에 대한 공지된 PDF는, 낮은 레벨의 익명화가 요구됨을 나타내는 0.4의 감도 값과 연관될 수 있다. 그러나, 데이터세트가 서해안에 집중되는 집 코드 속성에 대한 값들의 더 적은 세트를 표현하기 때문에, 더 높은 레벨의 익명화가 요구될 수 있는데, 이는 데이터가, 집 코드에 대한 공지된 PDF에 의해 보여진 바와 같은, 모두가 서해안을 따라 대(versus) 전체 국가에 걸쳐 상주하는 개인들의 더 작은 그룹에 관한 정보를 드러내고 있기 때문이다. 감도 레벨은 익명화기의 이전 경험에 기초하여 또는 집 코드들의 범위에 기초하여 할당될 수 있다. 예를 들면, 익명화기는 서해안에 촛점이 맞춰진 집 코드들이 이전에 익명화되었는지의 여부를 결정함으로써, 그리고 그렇다면, 어떤 레벨의 익명화에서 집 코드들을 익명화하는데 있어서 이전 경험을 사용할 수 있다. 익명화 레벨은 그 다음, 데이터세트의 집 코드 속성에 할당될 수 있다.
대안적으로, 집 코드들의 범위는 감도 값 따라서, 익명화의 레벨을 결정하기 위해 사용될 수 있다. 하나의 실시예에서, 범위는 집 코드들의 수에 기초한다. 예를 들면, 데이터세트에서 제공된 1 내지 25개의 상이한 집 코드들은 높은 감도 값과 연관될 수 있는데, 이는 개인의 계정을 결정하는 것이 전체 국가 내에서 보다 특정 지역 내에서 더 용이하기 때문이다. 게다가, 26 내지 100개의 상이한 집 코드들은 중간 감도 레벨과 연관될 수 있고, 100개 이상의 상이한 집 코드들은 낮은 감도 레벨과 또는 그 속성에 대한 PDF와 연관된 감도 레벨과 연관될 수 있다.
부가적으로, 2개 이상의 속성들은 결합(joint) 분포로서 함께 매핑될 수 있다. 예를 들면, 나이 및 질병은 데이터세트에 대해 매핑될 수 있다. 결합 분포에 대한 공지된 PDF가 이용가능하면 액세스되고, 데이터세트로부터 매핑된 분포와 비교될 수 있다. 분포의 차이가 식별될 수 있고, 이는 고유 속성이 PDF와 상이한 데이터세트 값들의 매핑된 분포를 형성하고 있는 데이터세트에 존재함을 제안한다. 차이는 도 7에 관하여 설명된 예에서 제공된 바와 같은, 특정 지리적 위치, 인구 그룹, 또는 나이 그룹으로 제한되는 데이터세트의 값들로 인해 발생할 수 있다. 감도 레벨 및 익명화의 대응하는 레벨은 그 다음, 차이에 기초하여 결정된다. 예를 들면, 평균 레벨보다 큰 감도는, 데이터 값들이 그들 값들과 연관된 개인들의 폭로를 방지하기 위해 제한되는 속성에 할당될 수 있다.
게다가, 데이터세트 속성들의 매핑된 표현들은 매우 상관되는 속성들 중 또 다른 하나에 대한 감도 레벨을 결정하기 위해 사용될 수 있다. 예를 들면, 데이터세트로부터의 제 1 속성은 이미 감도 값과 연관된다. 제 1 속성의 매핑은, 데이터세트에서의 또 다른 속성이 제 1 속성의 데이터 값들 및 상관된 속성이 유사하게 익명화되어야하는 것에 매우 가깝게 상관되는지의 여부를 결정하기 위해 데이터세트에서의 다른 속성들의 매핑들과 비교된다. 구체적으로, 속성들의 분포들은 비교되고 발산의 측정치가 결정된다. 미리 결정된 임계치가 적용되고 발산 측정치가 임계치 미만이면, 데이터세트로부터의 2개의 속성들은 매칭하는 것으로 결정되고 공지된 감도 레벨은 매칭 속성에 할당된다. 2개의 매우 상관된 속성들의 일례는 국가 및 집 코드를 포함할 수 있다.
일단 속성들이 식별되고 감도 레벨이 할당되었으면, 익명화를 위해 선택된 속성들은 검토 및 확인을 위해 데이터 소유자에 대한 감도 레벨들 또는 익명화 레벨들을 제공받을 수 있다. 그러나, 데이터 소유자로부터의 피드백 이전 또는 이후에, 익명화를 위한 속성들은 평문 샘플링을 사용하여 검증될 수 있다. 게다가, 평문 샘플링은 또한, 규칙 기반 분류 또는 통계 기반 분류 대신에 익명화를 위해 속성들을 식별하기 위해 사용될 수 있다.
평문 샘플링은 분석될 데이터세트로부터 공지된 샘플을 활용하는 것을 포함한다. 도 8은 평문 샘플링을 위한 프로세스(90)를 예로서 도시하는 흐름도이다. 익명화기는 데이터 소유자로 분석될 데이터세트의 평문 샘플을 위한 요청을 송신한다(블록(91)). 샘플은 데이터세트에서 데이터 값들의 일부를 포함시킬 수 있다. 하나의 실시예에서, 각각의 속성에 대한 미리 결정된 수의 데이터 값들은 샘플로서 제공될 수 있다. 대안적으로, 미리 결정된 수의 데이터 값들 또는 1%와 같은, 미리 결정된 부분의 데이터 값들은 데이터세트로부터 랜덤으로 제공될 수 있다. 게다가, 데이터 소유자는 샘플의 크기 및 샘플로서 어떤 데이터 값들을 제공할 것인지를 결정할 수 있다.
요청에 응답하여, 데이터 소유자는 익명화기에 샘플을 제공한다(블록(92)). 하나의 실시예에서, 암호화된 형태의 완전한 데이터세트는 또한, 평문 샘플을 제공받을 수 있다. 샘플의 수신 이전에, 샘플의 수신과 동시에, 또는 샘플의 수신 후에, 익명화기는 표현들의 목록에 액세스할 수 있다(블록(93)). 표현 목록은 각각의 속성에 대한 적어도 하나의 패턴 및 각각의 패턴과 연관된 감도 값을 포함할 수 있다. 예를 들면, 사회 보장 번호에 대한 표현은 3개의 공간들 다음에 대시 기호, 다음에 2개의 공간들, 다음에 또 다른 대시 기호, 다음에 4개의 공간들을 포함할 수 있다. 공간들은 각각 제로부터 9까지의 수치를 표현할 수 있다. 반면에, 나이에 대한 패턴은 1 내지 3개의 공간들의 범위를 포함할 수 있고, 차량 번호판에 대한 패턴은 특정한 일련의 번호들 및 문자들을 포함할 수 있다. 예를 들면, 더 오래된 워싱턴 주 번호판들은 3개의 번호들 다음에 대시 기호, 다음에 3개의 문자들을 포함하는 반면에, 더 새로운 번호판들은 하나의 번호, 다음에 하나의 문자, 다음에 2개의 번호들, 다음에 3개의 문자들로 시작하는 7개의 문자들을 포함한다. 또 다른 예에서, 2개의 대문자들에 대한 표현은 주를 표현할 수 있다. 표현들은 속성 데이터 값들을 식별하고 분류하는데 있어서 익명화기의 이전 경험에 기초하여 익명화기에 의해 생성될 수 있다.
평문 샘플에서의 각각의 데이터 값은 표현들과 비교되고(블록(94)) 그 데이터 값이 표현들 중 하나에 매칭하는지의 여부에 관한 결정이 행해진다(블록(95)). 평문 샘플링이 예를 들면, 통계 기반 분류가 수행된 후에 속성들을 검증하기 위해 사용될 때, 식별된 매치는 속성의 이전 분류를 확인하거나 부정할 수 있다. 예를 들면, 데이터 값(98125)에 대한 속성은 통계 기반 분류를 사용하여, 집 코드로서 식별되었다. 데이터 값은 그 다음, 평문 샘플의 일부로서 제공되고 표현들의 목록과 비교된다. 집 코드에 대한 표현은 제로와 9 사이의 5개의 번호들을 포함할 수 있고 98125의 데이터 값에 매칭하도록 결정된다. 매치에 기초하여, 데이터 값은 집 코드 속성에 속하도록 고려되고(블록(96)), 상기 집 코드 속성은 통계 기반 분류를 사용하는 집 코드로서 속성의 이전 할당에 매칭한다. 게다가, 표현과 연관된 감도 값은 그 다음, 데이터 값에 할당될 수 있다. 감도 값은 통계 기반 분류 동안 할당된 감도 값과 동일하거나 상이할 수 있다. 그러나, 어떠한 매치도 행해지지 않으면, 데이터 값은 비교된 표현에 대한 속성에 속하는 것으로서 식별되거나 분류되지 않는다. 게다가, 어떠한 매치도 행해지지 않으면, 데이터 값은 중요하지 않은 것으로서 고려될 수 있다.
프로세싱된 샘플은 그 다음, 데이터세트의 암호화된 데이터 값들을 또한 프로세싱하기 위해 사용될 수 있다. 구체적으로, 프로세싱된 데이터 값들 중 하나는 샘플로부터 선택되고, 프로세싱된 데이터 값이 속하는, 데이터세트의 그룹 또는 속성이 식별된다. 속성 및 평문 데이터 값에 할당된 연관된 감도 값은 그 다음, 익명화 및 익명화의 레벨들을 위해, 대응하는 데이터 값들을 포함하는, 그들 속성들을 식별하기 위해 동일한 그룹에서의 데이터 값들의 각각 또는 데이터세트에 대한 속성에 할당된다.
또 다른 실시예에서, 평문 샘플링이 규칙 기반 분류 및 통계 기반 분류 대신에, 익명화를 위해 속성들을 식별하기 위해 사용되면, 평문 데이터 값과 표현 사이의 매치는 평문 데이터 값의 속성을 분류하기 위해 사용될 수 있다. 예를 들면, 평문 데이터 값은 번호판의 표현 따라서, 데이터 값이 번호판으로서 식별되는 속성에 매칭한다. 부가적으로, 속성과 연관된 모든 암호화된 데이터 값들은 또한, 번호판 번호인 것으로서 식별될 수 있다. 번호판과 연관된 감도 값은 데이터 값에 할당되고, 데이터 값이 익명화되어야 하는지의 여부를 결정하기 위해 사용될 수 있으며, 그렇다면, 그 레벨에 대하여 상기 설명된 바와 같다. 그러나, 어떠한 표현도 데이터 값에 매칭하도록 결정되지 않으면, 데이터 값은 중요하지 않은 것으로서 분류될 수 있고, 따라서 어떠한 익명화도 필요하지 않다.
상기 설명된 바와 같이, 일단 프로세싱되면, 샘플은 어떤 데이터 값들이 익명화되어야 하는지를 결정하기 위해 데이터세트로부터 암호화된 데이터 값들에 감도 값들을 할당하기 위해 사용된다. 예를 들면, 프로세싱된 데이터 값들 중 하나는 샘플로부터 선택되고, 프로세싱된 데이터 값이 속하는, 데이터세트의 그룹 또는 속성이 식별된다. 속성 및 프로세싱된 평문 데이터 값에 할당된 연관된 감도 값은 그 다음, 익명화 및 익명화의 레벨들을 위해, 대응하는 데이터 값들을 포함하는, 그들 속성들을 식별하기 위해 동일한 그룹에서의 데이터 값들의 각각 또는 데이터세트에 대한 속성에 할당된다.

Claims (10)

  1. 익명화(anonymization)를 위해 속성들을 자동으로 식별하기 위한 컴퓨터 구현 시스템에 있어서:
    속성들의 데이터세트를 저장하기 위한 데이터베이스로서, 각각의 속성은 복수의 값들과 연관되는, 상기 데이터베이스:
    상기 데이터세트의 상기 값들을 암호화하기 위한 암호화 모듈;
    상기 속성들의 각각에 감도(sensitivity) 레벨을 할당함으로써 상기 속성들을 프로세싱하기 위한 프로세싱 모듈;
    상기 할당된 감도 레벨들에 기초하여 익명화를 위해 상기 데이터세트로부터 상기 속성들 중 하나 이상을 선택하기 위한 선택 모듈; 및
    상기 모듈들을 실행하기 위한 프로세서를 포함하는, 컴퓨터 구현 시스템.
  2. 제 1 항에 있어서,
    각각의 속성의 상기 감도 레벨에 미리 결정된 임계치를 적용함으로써 그리고 익명화를 위해 상기 미리 결정된 임계치를 상기 선택된 속성들로서 만족시키는 감도 레벨들을 갖는 상기 속성들을 지정함으로써 익명화를 위해 상기 선택된 속성들을 식별하기 위한 식별 모듈을 더 포함하는, 컴퓨터 구현 시스템.
  3. 제 1 항에 있어서,
    상기 할당된 감도 레벨에 기초하여 상기 속성들의 각각에 대한 익명화의 레벨을 결정하기 위한 결정 모듈을 더 포함하는, 컴퓨터 구현 시스템.
  4. 제 3 항에 있어서,
    익명화 레벨이 결정되고,
    감도 레벨들의 2개 이상의 범위들에 각각의 속성의 상기 감도 레벨을 적용하기 위한 적용 모듈로서, 상기 범위들의 각각은 익명화의 레벨과 연관되는, 상기 적용 모듈;
    각각의 데이터세트 속성에 대한, 상기 감도 레벨이 포함되는 상기 범위를 식별하기 위한 식별 모듈; 및
    상기 데이터세트 속성에 상기 식별된 범위에 대한 상기 익명화의 레벨을 할당하기 위한 할당 모듈을 포함하는, 컴퓨터 구현 시스템.
  5. 제 1 항에 있어서,
    상기 감도 레벨들을 결정하기 위한 결정 모듈을 더 포함하고,
    상기 결정 모듈은:
    상기 속성들을, 각각 감도 레벨과 연관되는 알려진 속성들의 사전(dictionary)과 비교하기 위한 비교 모듈;
    상기 속성들 중 적어도 하나에 대한 상기 사전에서 알려진 속성의 매치를 식별하기 위한 식별 모듈; 및
    적어도 하나의 상기 속성에 대한 매칭하는 상기 알려진 속성의 상기 감도 레벨을 지정하기 위한 지정 모듈을 포함하는, 컴퓨터 구현 시스템.
  6. 익명화를 위해 속성들을 자동으로 식별하기 위한 컴퓨터 구현 방법에 있어서:
    속성들의 데이터세트에 액세스하는 단계로서, 각각의 속성은 복수의 값들과 연관되는, 상기 데이터세트에 액세스하는 단계:
    상기 데이터세트의 상기 값들을 암호화하는 단계;
    상기 속성들의 각각에 감도 레벨을 할당함으로써 상기 속성들을 프로세싱하는 단계; 및
    상기 할당된 감도 레벨들에 기초하여 익명화를 위해 상기 데이터세트로부터 상기 속성들 중 하나 이상을 선택하는 단계를 포함하는, 컴퓨터 구현 방법.
  7. 제 6 항에 있어서,
    익명화를 위해 상기 속성들을 식별하는 단계를 더 포함하고,
    상기 속성들을 식별하는 단계는:
    각각의 속성의 상기 감도 레벨에 미리 결정된 임계치를 적용하는 단계; 및
    익명화를 위해 상기 미리 결정된 임계치를 상기 선택된 속성들로서 만족시키는 감도 레벨들을 갖는 상기 속성들을 지정하는 단계를 포함하는, 컴퓨터 구현 방법.
  8. 제 6 항에 있어서,
    상기 할당된 감도 레벨에 기초하여 상기 속성들의 각각에 대한 익명화의 레벨을 결정하는 단계를 더 포함하는, 컴퓨터 구현 방법.
  9. 제 8 항에 있어서,
    익명화 레벨이 결정되고,
    감도 레벨들의 2개 이상의 범위들에 각각의 속성의 상기 감도 레벨을 적용하는 단계로서, 상기 범위들의 각각은 익명화의 레벨과 연관되는, 상기 감도 레벨을 적용하는 단계;
    각각의 데이터세트 속성에 대한, 상기 감도 레벨이 포함되는 상기 범위를 식별하는 단계; 및
    상기 데이터세트 속성에 상기 식별된 범위에 대한 상기 익명화의 레벨을 할당하는 단계를 포함하는, 컴퓨터 구현 방법.
  10. 제 6 항에 있어서,
    상기 감도 레벨들을 결정하는 단계를 더 포함하고,
    상기 감도 레벨들을 결정하는 단계는:
    상기 속성들을, 각각 감도 레벨과 연관되는 알려진 속성들의 사전과 비교하는 단계;
    상기 속성들 중 적어도 하나에 대한 상기 사전에서 공지된 속성의 매치를 식별하는 단계; 및
    상기 적어도 하나의 속성에 대한 매칭하는 상기 알려진 속성의 상기 감도 레벨을 지정하는 단계를 포함하는, 컴퓨터 구현 방법.
KR1020160136414A 2015-11-03 2016-10-20 익명화를 위해 속성들을 자동으로 식별하기 위한 컴퓨터 구현 시스템 및 방법 KR102430649B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/931,802 US9858426B2 (en) 2015-11-03 2015-11-03 Computer-implemented system and method for automatically identifying attributes for anonymization
US14/931,802 2015-11-03

Publications (2)

Publication Number Publication Date
KR20170052464A true KR20170052464A (ko) 2017-05-12
KR102430649B1 KR102430649B1 (ko) 2022-08-09

Family

ID=57178367

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160136414A KR102430649B1 (ko) 2015-11-03 2016-10-20 익명화를 위해 속성들을 자동으로 식별하기 위한 컴퓨터 구현 시스템 및 방법

Country Status (4)

Country Link
US (1) US9858426B2 (ko)
EP (1) EP3166053A1 (ko)
JP (1) JP6814017B2 (ko)
KR (1) KR102430649B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190079017A (ko) * 2017-12-27 2019-07-05 펜타시스템테크놀러지 주식회사 프라이버시 보호를 위한 데이터의 비식별화 방법 및 장치

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11120163B2 (en) * 2014-11-14 2021-09-14 Oracle International Corporation Associating anonymous information with personally identifiable information in a non-identifiable manner
US10192278B2 (en) * 2016-03-16 2019-01-29 Institute For Information Industry Traceable data audit apparatus, method, and non-transitory computer readable storage medium thereof
US11157520B2 (en) * 2016-03-28 2021-10-26 DataSpark, Pte Ltd. Uniqueness level for anonymized datasets
US10360372B1 (en) * 2016-07-29 2019-07-23 Microsoft Technology Licensing, Llc Preventing timestamp-based inference attacks
US10713382B1 (en) * 2017-01-09 2020-07-14 Microsoft Technology Licensing, Llc Ensuring consistency between confidential data value types
US11316831B2 (en) 2017-02-28 2022-04-26 Telefonaktiebolaget Lm Ericsson (Publ) Partition-based prefix preserving anonymization approach for network traces containing IP addresses
US11663358B2 (en) * 2017-05-08 2023-05-30 Autodesk, Inc. Perturbation-based techniques for anonymizing datasets
JP2018198038A (ja) * 2017-05-25 2018-12-13 ソニー株式会社 情報処理装置、情報処理方法及びコンピュータプログラム
US10554669B2 (en) * 2017-05-31 2020-02-04 International Business Machines Corporation Graphical user interface privacy, security and anonymization
KR102058030B1 (ko) * 2017-09-20 2019-12-20 주식회사 티지360테크놀로지스 익명성 유지 시스템 및 그 방법
US10831927B2 (en) * 2017-11-22 2020-11-10 International Business Machines Corporation Noise propagation-based data anonymization
WO2019116112A1 (en) * 2017-12-12 2019-06-20 Telefonaktiebolaget Lm Ericsson (Publ) Privacy-preserving data verification
FR3077894B1 (fr) * 2018-02-13 2021-10-29 Digital & Ethics Procede de traitement automatique pour l’anonymisation d’un jeu de donnees numeriques
US11106820B2 (en) 2018-03-19 2021-08-31 International Business Machines Corporation Data anonymization
US11301230B2 (en) * 2018-04-13 2022-04-12 Kyndryl, Inc. Machine learning multimedia conversion assignment
US11316662B2 (en) * 2018-07-30 2022-04-26 Koninklijke Philips N.V. Method and apparatus for policy hiding on ciphertext-policy attribute-based encryption
US20200074104A1 (en) * 2018-08-28 2020-03-05 Ca, Inc. Controlling access to data in a database based on density of sensitive data in the database
JP7143696B2 (ja) * 2018-09-13 2022-09-29 日本電気株式会社 匿名加工装置、匿名加工システム、匿名加工方法、およびプログラム
JP7121276B2 (ja) * 2018-09-19 2022-08-18 富士通株式会社 データ管理レベル判定プログラム、およびデータ管理レベル判定方法
CN109815715A (zh) * 2019-01-04 2019-05-28 平安科技(深圳)有限公司 一种数据加密方法和相关装置
WO2020179606A1 (ja) * 2019-03-05 2020-09-10 日本電信電話株式会社 一般化階層集合生成装置、一般化階層集合生成方法、プログラム
US11340863B2 (en) * 2019-03-29 2022-05-24 Tata Consultancy Services Limited Systems and methods for muting audio information in multimedia files and retrieval thereof
JP7176625B2 (ja) * 2019-05-21 2022-11-22 日本電信電話株式会社 情報処理装置、情報処理方法及びプログラム
US11675976B2 (en) * 2019-07-07 2023-06-13 International Business Machines Corporation Exploitation of domain restrictions for data classification
US11431682B2 (en) 2019-09-24 2022-08-30 International Business Machines Corporation Anonymizing a network using network attributes and entity based access rights
CN111079186B (zh) * 2019-12-20 2022-05-03 百度在线网络技术(北京)有限公司 数据分析的方法、装置、设备和存储介质
US11216589B2 (en) * 2020-03-11 2022-01-04 International Business Machines Corporation Dataset origin anonymization and filtration
TR202018785A1 (tr) * 2020-11-23 2022-06-21 Aselsan Elektroni̇k Sanayi̇ Ve Ti̇caret Anoni̇m Şi̇rketi̇ Veri̇ anoni̇mleşti̇rme yöntemi̇
US11816068B2 (en) 2021-05-12 2023-11-14 Pure Storage, Inc. Compliance monitoring for datasets stored at rest
US11789651B2 (en) 2021-05-12 2023-10-17 Pure Storage, Inc. Compliance monitoring event-based driving of an orchestrator by a storage system
US11888835B2 (en) 2021-06-01 2024-01-30 Pure Storage, Inc. Authentication of a node added to a cluster of a container system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7673153B1 (en) * 1999-03-15 2010-03-02 Sony Corporation Data processing method, apparatus and system for encrypted data transfer
US7992010B2 (en) * 2003-03-13 2011-08-02 International Business Machines Corporation Secure database access through partial encryption
US20140189777A1 (en) * 2012-12-28 2014-07-03 Tarun Viswanathan Policy-based secure containers for multiple enterprise applications

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6963980B1 (en) * 2000-11-16 2005-11-08 Protegrity Corporation Combined hardware and software based encryption of databases
JP4622514B2 (ja) * 2004-12-28 2011-02-02 日本電気株式会社 文書匿名化装置、文書管理装置、文書匿名化方法及び文書匿名化プログラム
US8682910B2 (en) * 2010-08-03 2014-03-25 Accenture Global Services Limited Database anonymization for use in testing database-centric applications
US8677148B2 (en) * 2011-01-27 2014-03-18 Security First Corp. Systems and methods for securing data
JP5839460B2 (ja) * 2011-10-06 2016-01-06 Kddi株式会社 公開情報のプライバシー保護装置、公開情報のプライバシー保護方法およびプログラム
JP5782637B2 (ja) * 2012-03-23 2015-09-24 西日本電信電話株式会社 属性選択装置、情報匿名化装置、属性選択方法、情報匿名化方法、属性選択プログラム、及び情報匿名化プログラム
US9665722B2 (en) * 2012-08-10 2017-05-30 Visa International Service Association Privacy firewall
EP2731040B1 (en) * 2012-11-08 2017-04-19 CompuGroup Medical SE Computer system for storing and retrieval of encrypted data items, client computer, computer program product and computer-implemented method
JP5962472B2 (ja) * 2012-12-03 2016-08-03 富士通株式会社 匿名化データ生成方法、装置及びプログラム
JP2014211607A (ja) * 2013-04-04 2014-11-13 キヤノン株式会社 情報処理装置およびその方法
US9460311B2 (en) * 2013-06-26 2016-10-04 Sap Se Method and system for on-the-fly anonymization on in-memory databases
CA2929269C (en) * 2013-11-01 2019-06-04 Anonos Inc. Dynamic de-identification and anonymity
US9230132B2 (en) * 2013-12-18 2016-01-05 International Business Machines Corporation Anonymization for data having a relational part and sequential part
JP2015138277A (ja) * 2014-01-20 2015-07-30 日本電気株式会社 情報処理装置及びデータ処理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7673153B1 (en) * 1999-03-15 2010-03-02 Sony Corporation Data processing method, apparatus and system for encrypted data transfer
US7992010B2 (en) * 2003-03-13 2011-08-02 International Business Machines Corporation Secure database access through partial encryption
US20140189777A1 (en) * 2012-12-28 2014-07-03 Tarun Viswanathan Policy-based secure containers for multiple enterprise applications

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190079017A (ko) * 2017-12-27 2019-07-05 펜타시스템테크놀러지 주식회사 프라이버시 보호를 위한 데이터의 비식별화 방법 및 장치

Also Published As

Publication number Publication date
US9858426B2 (en) 2018-01-02
JP6814017B2 (ja) 2021-01-13
EP3166053A1 (en) 2017-05-10
JP2017091515A (ja) 2017-05-25
US20170124336A1 (en) 2017-05-04
KR102430649B1 (ko) 2022-08-09

Similar Documents

Publication Publication Date Title
KR102430649B1 (ko) 익명화를 위해 속성들을 자동으로 식별하기 위한 컴퓨터 구현 시스템 및 방법
AU2018258656B2 (en) Systems and methods for enforcing centralized privacy controls in de-centralized systems
US10572684B2 (en) Systems and methods for enforcing centralized privacy controls in de-centralized systems
Liu et al. A Clustering K‐Anonymity Privacy‐Preserving Method for Wearable IoT Devices
CN104346418B (zh) 用于数据的关系型上下文敏感匿名化的方法和系统
Xiang et al. Privacy protection and secondary use of health data: strategies and methods
EP3166042B1 (en) Computer-implemented system and method for anonymizing encrypted data
US20220100899A1 (en) Protecting sensitive data in documents
CN115380288B (zh) 用于对数据进行安全分类和令牌化的方法和计算机可读介质
US8346774B1 (en) Protecting network entity data while preserving network properties
Ead A general framework information loss of utility-based anonymization in Data Publishing
US11714919B2 (en) Methods and systems for managing third-party data risk
Thorleuchter et al. Improved multilevel security with latent semantic indexing
Li et al. PhotoSafer: content-based and context-aware private photo protection for smartphones
Tachepun et al. A Data masking guideline for optimizing insights and privacy under GDPR compliance
Vasupula et al. Modern privacy risks and protection strategies in data analytics
FR3077894A1 (fr) Procede de traitement automatique pour l’anonymisation d’un jeu de donnees numeriques
Peng et al. Differential attribute desensitization system for personal information protection
Zhang et al. Data Privacy Quantification and De-identification Model Based on Information Theory
Bogdanov et al. K-Anonymity Versus PSI3 for Depersonalization and Security Assessment of Large Data Structures
Kabwe et al. Identity attributes metric modelling based on mathematical distance metrics models
Chakraborty Data Security and Privacy of Individuals in Data Mining: A Critical Analysis of Data Mining in India
Grusho et al. System to track access in digital economy systems
Al-Suqri et al. User privacy and security online: the role of information professionals
Chetty Privacy preserving data anonymisation: an experimental examination of customer data for POPI compliance in South Africa

Legal Events

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