KR102055864B1 - 차분 프라이버시를 적용한 시간 간격 데이터 공개 방법 - Google Patents

차분 프라이버시를 적용한 시간 간격 데이터 공개 방법 Download PDF

Info

Publication number
KR102055864B1
KR102055864B1 KR1020190053743A KR20190053743A KR102055864B1 KR 102055864 B1 KR102055864 B1 KR 102055864B1 KR 1020190053743 A KR1020190053743 A KR 1020190053743A KR 20190053743 A KR20190053743 A KR 20190053743A KR 102055864 B1 KR102055864 B1 KR 102055864B1
Authority
KR
South Korea
Prior art keywords
matrix
frequency
vector
sub
differential privacy
Prior art date
Application number
KR1020190053743A
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 KR1020190053743A priority Critical patent/KR102055864B1/ko
Application granted granted Critical
Publication of KR102055864B1 publication Critical patent/KR102055864B1/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
    • 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/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Mathematics (AREA)
  • Bioethics (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Complex Calculations (AREA)

Abstract

시간 간격 데이터 공개 시스템은 시작시간과 종료시간으로 구성된 복수의 레코드들을 상삼각행렬과 하삼각행렬로 구성된 사각의 빈도행렬로 생성하고, 빈도행렬에 포함된 레코드 개수와 미리 설정한 제1 임계값을 비교하여, 빈도행렬에 차분 프라이버시를 적용할지 결정한다. 빈도 행렬에 차분 프라이버시를 적용하지 않는 것으로 결정하면, 상삼각행렬을 분할 개수로 분할하여 생성된 복수의 서브삼각행렬들 중 어느 하나의 서브삼각행렬을 선택한다. 그리고, 선택한 서브삼각행렬에 포함된 레코드 개수를 미리 설정한 제2 임계값과 비교하여 서브삼각행렬 또는 서브삼각행렬에서 생성된 빈도 벡터 중 어느 하나에 차분 프라이버시를 적용할지 결정하여 빈도 벡터 또는 서브삼각행렬 중 어느 하나에 차분 프라이버시를 적용한다.

Description

차분 프라이버시를 적용한 시간 간격 데이터 공개 방법{Method for publish a differentially private time interval dataset}
본 발명은 차분 프라이버시를 적용한 시간 간격 데이터 공개 방법에 관한 것이다.
일반적으로, 외부에 공개되는 데이터가 차분 프라이버시를 만족하기 위해서는, 주어진 데이터를 그와 동일한 정보를 가지는 빈도행렬(frequency matrix)로 나타낸다. 시간 1부터 T까지 관측된 자료로부터 얻은 시간 간격 데이터로부터 구성된 빈도행렬 M은 T×T 행렬이다. 빈도 행렬에서 i번째 행, j번째 열의 값 mij는, 시간 i에서 시작해 j에서 종료된 레코드의 개수를 나타낸다.
이때, 종료시간은 시작시간보다 앞설 수 없기 때문에, 빈도행렬은 주대각선을 기준으로 아래쪽 값이 모두 0인 상삼각행렬로 형성된다. 이러한 빈도행렬을 이용하면 기존 시간 간격 데이터를 공개하는 차분 프라이버시 알고리즘을 만들 수 있다.
차분 프라이버시를 만족하면서 빈도행렬을 공개하는 방법은, 빈도행렬에 라플라스 메커니즘을 적용하는 것이다. 그러나, 빈도행렬의 각 원소에 독립 시행으로 얻은 노이즈를 삽입하기 때문에, 넓은 영역에 걸쳐 질의를 하는 경우 많은 노이즈가 삽입되어 큰 오차가 발생된다.
이를 극복하기 위해, 종래 기술들은 대부분 빈도행렬을 여러 개의 사각형들로 나눈다. 그리고, 각 사각형 영역들의 부분 합을 계산한 뒤, 부분 합에 노이즈를 삽입하는 방법을 이용하였다.
그러나, 이 경우 사각형 영역에 걸치는 질의를 처리할 부에서 실제 질의 영역에 들어오는 레코드의 수는 추정할 수 밖에 없어, 추가적인 오차가 발생한다. 이 오차는 노이즈가 없더라도 발생하기 때문에 구조에 따른 오차라 불리며, 구조에 따른 오차로 인한 문제점이 발생한다. 따라서, 넓은 영역에 걸쳐 노이즈가 삽입되는 것에 의한 오차 발생과 구조에 따른 오차로 인한 문제점을 함께 줄일 수 있는 방법의 개발이 요구된다.
따라서, 본 발명은 삼각 빈도행렬을 이용하여, 노이즈 삽입과 구조에 따른 오차를 최소화하는 시간 간격 차분 프라이버시를 적용한 시간 간격 데이터 공개 방법을 제공한다.
상기 본 발명의 기술적 과제를 달성하기 위한 본 발명의 하나의 특징인 적어도 하나의 프로세서에 의해 구동되는 시간 간격 데이터 공개 시스템이 시간 간격 데이터를 처리하는 방법으로서,
시작시간과 종료시간으로 구성된 복수의 레코드들을 상삼각행렬과 하삼각행렬로 구성된 사각의 빈도행렬로 생성하는 단계, 상기 빈도행렬에 포함된 레코드 개수와 미리 설정한 제1 임계값을 비교하여, 상기 빈도행렬에 차분 프라이버시를 적용할지 결정하는 단계, 상기 빈도 행렬에 차분 프라이버시를 적용하지 않는 것으로 결정하면, 상기 상삼각행렬을 분할 개수로 분할하여 생성된 복수의 서브삼각행렬들 중 어느 하나의 서브삼각행렬을 선택하고, 상기 선택한 서브삼각행렬에 포함된 레코드 개수를 미리 설정한 제2 임계값과 비교하여 상기 서브삼각행렬 또는 상기 서브삼각행렬에서 생성된 빈도 벡터 중 어느 하나에 차분 프라이버시를 적용할지 결정하는 단계, 그리고 상기 빈도 벡터 또는 상기 서브삼각행렬 중 어느 하나에 차분 프라이버시를 적용하는 단계를 포함한다.
상기 빈도행렬로 생성하는 단계는, 상기 상삼각행렬을 분할할 분할 개수를 계산하는 단계를 포함할 수 있다.
상기 분할 개수를 계산하는 단계는, 상기 빈도행렬에 포함되어 있는 레코드 개수와 외부로부터 입력된 정보보호 수준을 토대로, 상기 빈도행렬의 노이즈에 의한 오차와 구조에 의한 오차의 합이 최소가 되도록 분할 개수를 결정할 수 있다.
상기 빈도 행렬에 차분 프라이버시를 적용할지 결정하는 단계는, 상기 빈도행렬에 포함된 레코드 개수가 상기 제1 임계값보다 많은지 확인하는 단계, 그리고 상기 빈도행렬에 포함된 레코드 개수가 상기 제1 임계값보다 적으면, 상기 빈도행렬에 노이즈를 삽입하는 차분 프라이버시를 적용하는 것으로 결정하는 단계를 결정할 수 있다.
상기 어느 하나에 차분 프라이버시를 적용할지 결정하는 단계는, 상기 선택한 서브삼각행렬에 포함된 레코드 개수가 상기 제2 임계값보다 많은지 확인하는 단계, 상기 서브삼각행렬에 포함된 레코드 개수가 상기 제2 임계값보다 적으면, 상기 서브삼각행렬에 노이즈를 삽입하는 차분 프라이버시를 적용하는 것으로 결정하는 단계, 그리고 상기 서브삼각행렬에 포함된 레코드 개수가 상기 제2 임계값보다 많으면, 상기 빈도 벡터에 노이즈를 삽입하는 차분 프라이버시를 적용하는 것으로 결정하는 단계를 포함할 수 있다.
상기 어느 하나에 차분 프라이버시를 적용하는 단계는,
상기 빈도 벡터에 노이즈를 삽입하는 차분 프라이버시를 적용하는 것으로 결정하면, 상기 서브삼각행렬로부터 시작시간을 기준으로 하는 시작시간 벡터, 종료시간을 기준으로 하는 종료시간 벡터, 그리고 지속 시간에 대한 지속 시간 벡터를 각각 생성하는 단계, 상기 각각 생성한 시작시간 벡터, 종료시간 벡터, 그리고 지속 시간 벡터에 노이즈를 삽입하는 단계, 그리고 각각의 시작시간, 종료시간 쌍에 대한 빈도 기대값을 계산하는 단계, 그리고 계산한 빈도 기대값을 상기 노이즈가 삽입된 시작시간 벡터, 종료시간 벡터 그리고 지속 시간 벡터에 반영하여, 노이즈가 삽입된 서브삼각행렬로 재구성하는 단계를 포함할 수 있다.
상기 서브삼각행렬로 재구성하는 단계는, i 시간을 시작시간으로 하는 복수의 레코드들 중에서, j 시간까지 종료되지 않은 복수개의 활성 레코드를 생성하는 단계, 상기 복수개의 활성 레코드들에 종료시간을 지정하고, 상기 j 시간에서 종료되는 레코드가 i 시간에서 시작한 레코드일 확률을 계산하는 단계, 그리고 상기 계산한 확률과 상기 종료시간 벡터를 이용하여 빈도 기대값을 계산하여, 상기 빈도 벡터를 서브삼각행렬로 재구성하는 단계를 포함할 수 있다.
상기 본 발명의 기술적 과제를 달성하기 위한 본 발명의 또 다른 특징인 시간 간격 데이터에 차분 프라이버시를 적용하는 시간 간격 데이터 공개 시스템으로서,
시작시간과 종료시간으로 이루어진 복수의 레코드들을 수신하고, 수신한 복수의 레코드들을 이용하여 사각의 빈도행렬로 생성하는 입력 정보 수신부, 상기 빈도행렬을 상삼각행렬과 하삼각행렬로 분할하고, 상기 상삼각행렬을 분할할 분할 개수를 결정하며, 결정한 분할 개수로 상기 상삼각행렬을 분할하여 복수의 서브삼각행렬들을 생성하는 빈도행렬 분할부, 상기 빈도행렬에 포함된 레코드 수와 미리 설정된 제1 임계값 또는 복수의 서브삼각행렬들에 각각 포함된 레코드 수와 미리 설정된 제2 임계값을 비교하여, 차분 프라이버시를 적용할 행렬 형태를 결정하는 비식별화부, 그리고 상기 비식별화부에서 복수의 서브삼각행렬 중 선택된 하나의 서브삼각행렬을 기초로 생성된 빈도 벡터에 차분 프라이버시를 적용하는 것으로 결정하면, 상기 선택된 서브삼각행렬을 빈도 벡터로 생성하고, 생성한 빈도 벡터에 노이즈를 삽입하여 차분 프라이버시를 적용하는 빈도 벡터 생성부를 포함한다.
상기 빈도행렬 분할부는, 상기 빈도행렬을 주대각선 행렬을 기준으로 상기 상삼각행렬과 하삼각행렬로 분할하고, 상기 빈도행렬에 포함되어 있는 레코드 개수와 상기 정보보호 수준을 토대로, 상기 빈도행렬의 노이즈에 의한 오차와 구조에 의한 오차의 합이 최소가 되도록 분할 개수를 결정할 수 있다.
상기 빈도행렬 분할부는, 상기 빈도행렬의 상삼각행렬을 분할 개수의 제곱에 해당하는 수만큼의 서브삼각행렬들로 분할할 수 있다.
상기 비식별화부는, 상기 빈도행렬에 포함된 레코드 수가 상기 제1 임계값보다 적으면 상기 빈도행렬에 차분 프라이버시를 적용하는 것으로 결정할 수 있다.
상기 비식별화부는, 상기 빈도행렬에 포함된 레코드 수가 상기 제1 임계값 보다 많으면, 상기 서브삼각행렬들 중 선택된 서브삼각행렬에 포함된 레코드 수와 상기 제2 임계값을 비교하고, 상기 서브삼각행렬에 포함된 레코드 수가 상기 제2 임계값보다 적으면 상기 서브삼각행렬에 차분 프라이버시를 적용하는 것으로 결정하고, 상기 서브삼각행렬에 포함된 레코드 수가 상기 제2 임계값보다 많으면, 상기 서브삼각행렬로부터 생성된 빈도 벡터에 차분 프라이버시를 적용하는 것으로 결정할 수 있다.
상기 빈도벡터 생성부는, 상기 서브삼각행렬을 시작시간 벡터, 종료시간 벡터, 그리고 지속 시간 벡터로 생성하고, 상기 시작시간 벡터, 종료시간 벡터, 지속 시간 벡터에 노이즈를 삽입한 후, 노이즈가 삽입된 서브삼각행렬로 재구성할 수 있다.
본 발명에 따르면, 빈도 벡터를 이용하여 변으로 나뉘어진 구역을 정확히 표현함으로써, 구조에 의한 에러를 줄일 수 있다.
도 1은 상삼각행렬과 하삼각행렬로 이루어진 서브행렬의 예시도이다.
도 2는 다양한 시간 간격의 질의를 나타낸 예시도이다.
도 3은 본 발명의 실시예에 따른 시간 간격 데이터 공개 시스템의 구조도이다.
도 4는 본 발명의 실시예에 따른 차분 프라이버시를 적용한 시간 간격 데이터 공개 방법에 대한 흐름도이다.
도 5는 본 발명의 실시예에 따른 분할된 빈도 행렬의 예시도이다.
도 6은 본 발명의 실시예에 따른 상삼각 빈도행렬로부터 생성된 빈도벡터의 예시도이다.
도 7은 본 발명의 실시예에 따라 차분 프라이버시가 적용된 빈도행렬의 재구성을 나타낸 예시도이다.
도 8은 기존 방법과 본 발명의 실시예에 따른 빈도 벡터 방법의 구조 오차 발생 차이를 비교한 예시도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
이하 도면을 참조로 하여 차분 프라이버시를 적용한 시간 간격 데이터 공개 방법에 대해 상세히 설명한다. 본 발명의 실시예를 설명하기 앞서, 일반적인 서브행렬과 시간 간격 질의에 대해 도 1 및 도 2를 참조로 설명한다.
도 1은 상삼각행렬과 하삼각행렬로 이루어진 서브행렬의 예시도이고, 도 2는 다양한 시간 간격의 질의를 나타낸 예시도이다.
도 1에 도시된 바와 같이, 시작시간과 종료시간으로 구성된 시간 간격 레코드(예를 들어, 방송 시청 정보 등)를 공개하고자 할 때, 시간 1부터 T까지 관측된 레코드로부터 얻은 시간 간격 데이터를 이용하여 T×T의 빈도행렬 M을 구성한다. 이때, i 번째 행의 j 번째 열의 값 mij는 시간 i에서 시작해 j에서 종료된 레코드의 개수를 나타낸다.
만약 [시작시간, 종료시간]으로 구성된 레코드를 3개 수집하였다고 가정하고, 수집한 레코드 1이 [1, 3], 레코드 2가 [2, 4], 레코드 3이 [1, 3]이라고 가정한다. 그러면, 시간 1에서 시작해 3에서 종료된 레코드 개수인 2가 도 1에 나타낸 바와 같이 빈도행렬 M에 삽입된다.
이렇게 생성된 빈도행렬 M에 차분 프라이버시를 적용하면, 다양한 시간간격 질의를 처리할 수 있다. 일반적으로 시간 간격 데이터에 대해 널리 이용되는 질의로는 Timeslice, Start, Finish, Overlap, Contained, Contain, Equal 등이 있다. 이들 질의들이 포함되는 영역을 빈도행렬상에 나타내면 도 2에 도시된 바와 같다.
따라서, 원래의 빈도행렬 대신에 차분 프라이버시가 적용된 빈도행렬에서 시간간격 질의를 처리하면, 차분 프라이버시가 적용된 결과를 얻을 수 있다. 여기서, 차분 프라이버시를 만족하면서 빈도행렬을 공개하는 방법은, 빈도행렬에 노이즈를 삽입하는 라플라스 메커니즘을 적용하는 것이다. 라플라스 메커니즘은 레코드 하나가 추가되거나 삭제됨에 따라, 임의의 함수 f의 결과값이 최대 Δf 만큼 바뀔 수 있을 때, 함수의 결과값 f(D)에 노이즈 Lap(Δf/ε)를 더하여 차분 프라이버시를 만족시킬 수 있도록 하는 것이다. 라플라스 메커니즘은 이미 알려진 사항으로, 본 발명의 실시예에서는 상세한 설명을 생략한다.
그러나, 종래의 라플라스 메커니즘은 빈도행을 구성하는 각각의 원소에 노이즈를 삽입하게 된다. 따라서, 넓은 영역에 걸쳐 질의를 하는 경우 많은 노이즈가 삽입되어 큰 오차가 발생된다.
이를 극복하기 위해, 빈도행렬을 여러 개의 사각형의 서브 행렬들로 나누고, 각 사각형의 서브 행렬들의 부분 합을 계산한 뒤, 부분 합에 노이즈를 삽입하는 방법이 이용되고 있다. 그러나, 이 경우 구조적 오차에 의해, 사각형의 서브 행렬들의 영역에 걸쳐지는 질의를 처리할 때, 사각형 내부에서 실제 질의 영역에 포함되는 레코드의 수를 추정할 수 밖에 없어, 추가적인 오차가 발생하는 문제점이 있다.
따라서, 본 발명의 실시예에서는 넓은 영역에 걸쳐 노이즈가 삽입되는 것에 의한 오차 발생과 구조에 따른 오차로 인한 문제점을 함께 줄일 수 있는 방법을 제안한다.
도 3은 본 발명의 실시예에 따른 시간 간격 데이터 공개 시스템의 구조도이다.
도 3에 도시된 바와 같이, 시간 간격 데이터 공개 시스템(100)은 입력 정보 수신부(110), 빈도행렬 분할부(120), 비식별화부(130), 빈도 벡터 생성부(140), 그리고 정보 저장부(150)를 포함한다.
입력 정보 수신부(110)는 외부로부터 시작시간과 종료시간으로 이루어진 복수의 레코드들을 수신하면, 수신한 복수의 레코드들을 이용하여 빈도행렬 M으로 생성한다. 본 발명의 실시예에서는 레코드의 수를 n이라 가정하고, 레코드의 형태나 레코드들로 빈도행렬 M을 생성하는 방법은 다양한 방법으로 실행할 수 있으므로, 본 발명의 실시예에서는 상세한 설명을 생략한다.
또한, 입력 정보 수신부(110)는 정보보호 수준 ε, 예산 배분율 α도 수신한다. 여기서 정보보호 수준은 사용자에 의해 입력되는 정보로, 정보보호 수준에 대한 사항은 이미 알려진 것으로 본 발명의 실시예에서는 상세한 설명을 생략한다. 그리고 예산 배분율에 대한 사항은 사용자에 의해 입력되는 수치로, 그 값을 어느 하나의 수치로 한정하지 않는다.
빈도행렬 분할부(120)는 빈도행렬 M을 주대각선 행렬을 기준으로 상삼각행렬과 하삼각행렬로 나눈다. 그리고, 상삼각행렬을 분할할 분할 개수(B)를 결정한다. 빈도행렬 분할부(120)가 빈도행렬 M을 분할할 분할 개수를 결정할 때, 빈도행렬 M에 포함된 총 n개의 레코드가 있는 데이터셋을 B2개의 서브삼각행렬들로 나눈다. 그리고 각 삼각행렬들에 대해 차분 프라이버시를 지키도록 하기 위해서는 노이즈에 의한 오차와 구조에 의한 오차의 합이 최소화가 되도록 분할 개수를 결정한다.
본 발명의 실시예에서는 다음 수학식 1을 이용하여 빈도행렬 M을 분할할 분할 개수(B)를 결정하는 것을 예로 하여 설명하나, 반드시 이와 같이 한정되는 것은 아니다.
Figure 112019046974958-pat00001
여기서, n은 빈도 행렬에 포함되어 있는 전체 레코드 개수를 의미하고, εn은 정보보호 수준과 예산 배분율의 곱(ε*α)으로 계산된다.
빈도행렬 분할부(120)는 분할 개수를 결정하면, 빈도행렬 M을 분할 개수로 분할하여, 복수의 삼각 행렬을 생성한다. 빈도행렬 분할부(120)가 계산한 분할 개수가 3이라고 가정하고, 도 5를 참조로 먼저 빈도행렬의 분할 예에 대해 설명한다.
도 5는 본 발명의 실시예에 따른 분할된 빈도행렬의 예시도이다.
도 5의 (a)에 도시된 바와 같이, 시작시간(ts)이 1에서부터 12까지, 종료시간(tf)이 1에서부터 12까지인 12×12의 빈도행렬 M을 3개로 분할한다고 가정한다. 그러면 도 5의 (b)에 나타낸 바와 같이, 상삼각행렬을 기준으로 6개의 서브행렬들이 생성된다.
한편, 도 3을 이어 설명하면, 비식별화부(130)는 주어진 T×T의 빈도행렬 M을 어떤 방식의 라플라스 메커니즘을 이용하여, 레코드 개수를 나타내는 데이터에 노이즈를 삽입할지 결정한다.
즉, 비식별화부(130)는 상삼각행렬과 하삼각행렬로 이루어진 사각행렬에 포함되어 있는 레코드 개수가 미리 정의되어 있는 제1 임계값보다 많은지 확인한다. 만약 레코드 개수가 제1 임계값보다 적으면 사각행렬에 노이즈를 삽입하는 제1 방식을 이용하는 것으로 결정한다. 여기서, 사각행렬은 빈도행렬 M일수도 있고, 빈도행렬을 분할하여 생성된 서브행렬들 중에 어느 하나일 수도 있다.
만약 사각행렬에 포함된 레코드 개수가 제1 임계값보다 많은 경우, 비식별화부(130)는 사각행렬을 대각선으로 나누어, 상삼각행렬과 하삼각행렬로 생성한다. 그리고 상삼각행렬과 하삼각행렬 각각에 포함된 레코드 개수를 미리 설정한 제2 임계값과 비교하여, 제2 임계값보다 많은 레코드를 가지는 행렬은 삼각행렬에 노이즈를 삽입하는 제2 방식을 이용하는 것으로 결정한다. 또는 레코드가 제2 임계값보다 많은 삼각행렬은 삼각행렬을 빈도 벡터로 생성하여, 빈도 벡터에 노이즈를 삽입하는 제3 방식을 이용하는 것으로 결정한다.
빈도 벡터 생성부(140)는 비식별화부(130)에서 빈도 벡터에 노이즈를 삽입하는 것으로 결정하면, 제2 임계값 보다 많은 레코르드를 가지는 삼각행렬을 벡터로 생성한다. 삼각행렬을 벡터로 표현할 때, 상삼각행렬의 경우에는 시작시간을 기준으로 하는 시작시간 벡터, 종료시간을 기준으로 하는 종료시간 벡터, 그리고 지속 시간에 대한 지속 시간 벡터를 각각 생성한다. 그리고 하삼각행렬의 경우에는 행렬을 전치(transpose)하여 상삼각행렬로 변경한 뒤, 시작시간을 기준으로 하는 시작시간 벡터, 종료시간을 기준으로 하는 종료시간 벡터, 그리고 지속 시간에 대한 지속 시간 벡터를 각각 생성한다.
여기서, 빈도 벡터 생성부(140)가 삼각행렬을 벡터로 생성하는 방법은 다양하므로, 본 발명의 실시예에서는 어느 하나의 방법으로 한정하지 않는다. 그리고, 빈도 벡터 생성부(140)는 생성한 벡터들에 노이즈를 삽입한 후, 삼각행렬로 재구성한다.
정보 저장부(150)는 외부로부터 입력된 정보보호 수준, 빈도행렬 분할부(120)가 결정한 빈도행렬 분할 개수 등의 정보를 저장, 관리한다. 또한, 정보 저장부(150)는 시간 간격 데이터 공개 시스템(100)을 구동하기 위한 프로그램을 저장, 관리한다.
이상에서 설명한 시간 간격 데이터 공개 시스템(100)이 차분 프라이버시를 적용한 시간 간격 데이터를 공개하는 방법에 대해 도 4를 참조로 설명한다.
도 4는 본 발명의 실시예에 따른 차분 프라이버시를 적용한 시간 간격 데이터 공개 방법에 대한 흐름도이다.
도 4에 도시된 바와 같이, 시간 간격 데이터 공개 시스템(100)은 외부로부터 시작시간과 종료시간으로 이루어진 복수의 레코드들과, 정보보호 수준, 예산 배분율 등을 입력으로 수신한다.
시간 간격 데이터 공개 시스템(100)은 수신한 복수의 레코드들을 이용하여 빈도행렬 M을 생성한다(S100). 시간 간격 데이터 공개 시스템(100)이 복수의 레코드들을 이용하여 빈도행렬 M을 생성하는 방법은 다양한 방법으로 실행될 수 있으므로, 본 발명의 실시예에서는 상세한 설명을 생략한다.
시간 간격 데이터 공개 시스템(100)은 S100 단계에서 생성한 빈도행렬 M에서 주대각선을 기준으로 상삼각행렬과 하삼각행렬로 분할한다. 그리고 시간 간격 데이터 공개 시스템(100)은 상삼각행렬을 분할할 분할 개수 B를 계산한다(S101).
즉, 빈도행렬 M의 상삼각행렬을 나누어 몇 개의 서브 행렬을 생성할지 결정하는 분할 개수를 계산한다. 여기서 시간 간격 데이터 공개 시스템(100)은 빈도행렬 M을 분할할 분할 횟수를, 정보보호 수준과 빈도행렬 M에 포함된 레코드 수를 토대로 계산한다.
분할 개수 B는 전체 n개의 시간간격 레코드가 있는 빈도행렬을 B2개의 서브 행렬들로 나눈다. 그리고, 각각의 서브 행렬에 대해 차분 프라이버시를 지키도록 빈도 벡터를 활용한 방법을 적용하면, 노이즈에 의한 오차가
Figure 112019046974958-pat00002
가 되고, 구조에 의한 오차는
Figure 112019046974958-pat00003
가 된다. 이 두 오차의 합이 최소화가 되도록 분할 개수를 상기 수학식 1과 같이 결정한다.
시간 간격 데이터 공개 시스템(100)은 S101 단계에서 계산한 분할 개수로, 빈도행렬 M을 복수의 서브행렬들로 분할한 후, 어느 하나의 행렬을 선택한다(S102). 그리고, 시간 간격 데이터 공개 시스템(100)은 선택한 행렬을 어떤 알고리즘을 이용하여 시간 간격 데이터를 공개할지 결정한다. 여기서, S102 단계가 처음 실행되는 경우라면 빈도행렬이 선택되고, 빈도행렬이 선택된 후라면 복수의 서브행렬들 중 어느 하나의 서브삼각행렬이 선택된다. 이때, 서브삼각행렬은 서브상삼삭행렬 또는 서브하삼각행렬 중 어느 하나이다.
만약 최초 선택된 행렬이 빈도행렬인 경우, 선택한 행렬에 포함된 레코드 개수와 미리 설정한 제1 임계값을 비교하여, 삼각행렬에 노이즈를 삽입할지 빈도행렬 전체에 노이즈를 삽입할지 확인한다(S103). 만약 빈도행렬 내에 포함된 전체 레코드 개수 즉, 상삼각행렬의 레코드 개수(nu)와 하삼각행렬의 레코드 개수(nL)가 제1 임계값보다 적을 경우, 시간 간격 데이터 공개 시스템(100)은 사각행렬인 빈도행렬 M에 노이즈를 삽입하는 사각행렬 균일 비식별화를 수행한 후 시간 간격 데이터를 공개하는 것으로 결정한다(S104).
즉, 사각행렬인 빈도행렬의 영역에 포함된 모든 레코드 개수 합계를 구한 뒤, 라플라스 메커니즘을 적용하여 시간 간격 데이터를 공개하는 것으로 결정한다. 여기서 제1 임계값은
Figure 112019046974958-pat00004
으로 계산될 수 있다.
그러나, 빈도행렬에 포함된 전체 레코드 개수가 제1 임계값 보다 많을 경우, 시간 간격 데이터 공개 시스템(100)은 상삼각행렬을 S102 단계에서 분할하여 생성한 복수의 서브삼각행렬들 중 어느 하나의 행렬을 선택한다. 그리고 선택한 서브삼각행렬에 포함된 레코드 개수를 미리 설정한 제2 임계값과 비교하여 빈도 벡터 방식을 이용할지 삼각행렬 균일 비식별화 방식을 이용할지 결정한다(S105).
즉, 서브삼각행렬의 레코드 개수가 제2 임계값 이하인 경우에는, 서브삼각행렬에 대한 레코드 개수 합계를 구한 후 노이즈를 삽입하는 삼각행렬 균일 비식별화 방식을 적용한다(S106). 즉, 선택된 서브삼각행렬이 서브상삼각행렬인 경우에는
Figure 112019046974958-pat00005
를 확인하고, 선택된 서브삼각행렬이 서브하삼각행렬인 경우에는
Figure 112019046974958-pat00006
를 확인한다.
Figure 112019046974958-pat00007
이거나
Figure 112019046974958-pat00008
인 경우, 시간 간격 데이터 공개 시스템(100)은 서브상삼각행렬 또는 서브하삼각행렬에 포함된 레코드 개수 합계를 구한 후 노이즈를 삽입하는 것으로 결정한다.
그러나, 서브상삼각행렬의 레코드 개수 또는 서브하삼각행렬의 레코드 개수가 제2 임계값보다 많은 경우, 해당 서브삼각행렬을 1차원 빈도벡터로 생성한다. 그리고 생성한 빈도 벡터에 노이즈를 삽입하는 비식별화 방식을 적용한다(S107). S107 단계에서 빈도 벡터에 노이즈를 삽입한 후, 시간 간격 데이터 공개 시스템(100)은 빈도 벡터를 다시 서브행렬로 재구성한다(S108).
여기서, S108 단계에서 빈도 벡터를 빈도 행렬로 다시 재구성하는 방법은, 라플라스 메커니즘이 적용된 빈도 벡터로부터 각 시작시간, 종료시간 쌍에 대한 빈도의 기대값을 계산하여, 서브삼각행렬로 복원한다. 여기서 빈도의 기대값을 다음 수학식 2 내지 수학식 5를 통해 계산할 수 있다.
Figure 112019046974958-pat00009
Figure 112019046974958-pat00010
Figure 112019046974958-pat00011
Figure 112019046974958-pat00012
여기서,
Figure 112019046974958-pat00013
는 노이즈가 삽입된 시작시간 빈도벡터, 종료시간 빈도벡터, 지속시간 빈도벡터를 의미한다. 그리고, ai,j는 시작시간 i에서 시작하여, j 시점에 아직 종료되지 않은 레코드의 빈도수를 의미하고, θi,j는 시간 j에서 종료되는 레코드가 시간 i에서 시작한 레코드일 확률을 의미한다.
Figure 112019046974958-pat00014
는 normalization factor로, 확률인 θi,j
Figure 112019046974958-pat00015
을 만족시키기 위한 정규화 인자를 의미한다. 또한, E[mi,j]는 빈도 기대값을 의미한다.
시간 간격 데이터 공개 시스템(100)은 모든 빈도행렬 M에 대한 비식별화가 완료되었는지 확인하고(S109), 비식별화가 완료되었다면 절차를 종료한다. 그러나, 비식별화가 완료되지 않았다면 S103 단계의 절차부터 반복 수행한다.
이상의 절차를 의사코드로 설명하면, 다음 표 1과 같다.
Figure 112019046974958-pat00016
한편, 도 4의 S107 단계에서 서브삼각행렬을 빈도벡터로 생성하는 예에 대해, 도 6을 참조로 하여, 빈도행렬을 시작시간 빈도벡터, 종료시간 빈도벡터, 그리고 지속시간 빈도벡터로 생성하는 예로 설명한다.
도 6은 본 발명의 실시예에 따른 상삼각 빈도행렬로부터 생성된 빈도벡터의 예시도이다.
도 6에 도시된 바와 같이, 시작시간이 1에서 4까지, 종료시간이 1에서 4까지인 복수의 레코드들을 통해 빈도행렬 M이 생성되어 있다. 그리고, 생성된 빈도행렬 M 중 상삼각행렬에 나타낸 숫자들은 실제 시간간격 데이터 개수를 의미한다. 즉, 1의 시간에 시작되어 2의 시간에 종료된 레코드는 2개가 있음을 의미한다.
빈도행렬 M에서 시작시간 벡터 vs=<vs(1), vs(2),…, vs(T)> 종료시간 벡터 vf=<vf(1), vf(2),…, vf(T)>, 지속시간 벡터 vd=<vd(1), vd(2),…, vd(T)>의 세 가지 빈도벡터로 나타낼 수 있다. 이때, vs(i)는 시작시간이 i인 레코드의 수, vf(j)는 종료시간이 j인 레코드의 수, vd(f)는 지속시간이 k인 레코드의 수를 나타낸다.
예를 들어, 도 6에서 시간 1에서 시작한 레코드 개수를 모두 합하여 시작시간 벡터의 첫 번째 원소값을 구할 수 있다(vs(1)=1+2+2+1=6). 마찬가지로 시작시간 벡터는 vs=<6,4,2,3>, 종료시간 벡터는 vf=<1,3,5,6>, 지속시간 벡터는 vd=<6,5,3,1>로 구할 수 있다.
그리고, S108 단계에서 빈도벡터에 노이즈가 삽입된 후, 해당 빈도벡터를 다시 서브 행렬로 재구성한 예에 대해 도 7을 참조로 설명한다. 도 7에서도 빈도행렬에서 생성된 빈도벡터를 다시 빈도행렬로 재구성하는 예로 설명한다.
도 7은 본 발명의 실시예에 따라 차분 프라이버시가 적용된 서브행렬의 재구성을 나타낸 예시도이다.
도 7에 도시된 바와 같이, 노이즈가 삽입되어 라플라스 메커니즘이 적용된 시작 빈도벡터, 종료 빈도벡터, 지속 빈도벡터를 다시 빈도 행렬로 구성하기 위해서는 각각의 시간간격 레코드의 빈도 기대값 E[mi,j]을 계산해야 한다. 빈도 기대값은 수학식 2 내지 수학식 5를 이용하여 계산할 수 있다.
노이즈가 삽입된 시작시간 벡터는 vs=<6.1, 4.1, 1.9, 3.1>, 노이즈가 삽입된 종료시간 벡터는 vf=<0.9, 3.2, 4.9, 6.2>, 그리고 노이즈가 삽입된 지속시간 벡터 vd=<6.1, 4.9, 3.1, 1.1>을 빈도행렬로 재구성하면 도 7에 나타낸 바와 같이 재구성된다.
즉, 시간 간격 데이터 공개 시스템(100)은 시간 t를 1부터 T까지 바꿔가면서, 매 시간마다 vs(t) 개의 레코드를 종료시간의 지정 없이 생성한다. 그리고, 현재까지 생성된 레코드 중 vd(t)개의 레코드를 종료한다. 여기서, 종료시간이 지정되지 않은 레코드를 활성 레코드라 지칭한다.
활성 레코드에 종료시간이 지정되면, 해당 활성 레코드는 시작시간과 종료시간이 결정되기 때문에 시간 간격 레코드가 생성되었다고 한다. 이를 이용하여 빈도 행렬을 갱신한다. 여기서, 종료할 레코드를 결정할 때에는 기대값을 이용하는데, 빈도벡터를 빈도행렬로 재구성하는 절차를 의사코드로 표현하면, 다음 표 2와 같다.
Figure 112019046974958-pat00017
수도 코드는 시간을 1부터 T까지 변경해가면서 활성 레코드를 생성하고 종료시간 지정을 통하여 활성 레코드 종료 및 빈도 업데이트를 반복한다. 활성 레코드를 생성할 때, i시간에 시작한 레코드 중에 j시간까지 종료되지 않은 레코드의 개수 ai,j를 ai,j = vs(j)로 설정하면, vs(j)개의 활성 레코드를 생성한 것으로 생각할 수 있다.
종료시간 지정을 통한 활성 레코드 종료 및 빈도 갱신 시, 수학식 4를 이용해 θ를 계산하고, 수학식 5를 이용해 빈도 기대값 E[mi,j]을 계산하여, 빈도행렬을 갱신한다. 또한 각 i에 대해 mi,j 만큼의 활성레코드가 종료되었기 때문에, 그만큼 활성레코드의 개수를 줄여준다.
시작 빈도벡터, 종료 빈도벡터, 지속 빈도벡터를 다시 빈도 행렬로 구성하는 예에 대해 vs=<3,0,0,0>, vf=<0,2,0,1>, vd=<0,2,0,1>를 입력으로 받는다고 가정하고 설명하면 다음과 같다.
빈도 벡터들이 입력되면, 모든 변수가 0으로 설정된 빈도 행렬이 생성된다. 그리고 vs(1) = 3이므로, a1 = <3>, θ1 = <θ1 , 1> = <1.0>로 계산된다. θ는 확률분포이기 때문에, 합이 1이 되도록 계산된다.
계산된 θ1 ,1과 vf(1) 값을 곱한 값인 0(1.0 * 0.0)은 빈도 행렬의 1행 1열(m1,1)에 입력된다. 다음 ai,j 값이 계산되는데, ai,j는 ai,j-mi,j로 계산되므로, 3.0(3.0-0.0)으로 계산된다.
이와 같이 vs(1) = 3에 대한 값으로 계산이 모두 이루어진 후, vs(2) = 0에 대한 값을 입력으로 받아 동일한 방법으로 계산이 실행된다.
다음은 기존 사각형 기반 방법과 본 발명의 실시예에 따른 빈도벡터를 이용한 방법에 대한 구조 오차 발생 차이에 대해 도 8을 참조로 설명한다.
도 8은 기존 방법과 본 발명의 실시예에 따른 빈도 벡터 방법의 구조 오차 발생 차이를 비교한 예시도이다.
도 8에 도시된 바와 같이, 빈도행렬 상에서 질의 영역은 사각형(①)으로 표시된다. 기존 방법을 이용하여 구간을 사각형으로만 나눌 경우, 질의를 나타내는 사각형(①)의 한 변이나 꼭지점을 지나는 모든 서브 행렬(②)에서 구조에 의한 오차가 발생한다.
그러나, 본 발명의 실시예에 따라 빈도 벡터를 이용해 나타내면 변으로 나누어진 구역을 정확히 표현할 수 있으므로, 꼭지점이 포함된 경우(③)에만 구조에 의한 오차가 발생한다. 위의 질의들에서 꼭지점은 최대 하나의 분할에만 포함될 수 있으므로 구조 오차를 획기적으로 줄일 수 있다.
그리고, 주어진 임계값 8보다 작은 경우 기존 방법보다 본 발명의 실시예에 따른 빈도 벡터 방법에서 더 작은 구간으로 나눈 것을 확인할 수 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (16)

  1. 적어도 하나의 프로세서에 의해 구동되는 시간 간격 데이터 공개 시스템이 시간 간격 데이터를 처리하는 방법으로서,
    시작시간과 종료시간으로 구성된 복수의 레코드들을 상삼각행렬과 하삼각행렬로 구성된 사각의 빈도행렬로 생성하고, 상기 상삼각행렬을 분할할 분할 개수를 계산하는 단계,
    상기 빈도행렬에 포함된 레코드 개수와 미리 설정한 제1 임계값을 비교하여, 상기 빈도행렬에 차분 프라이버시를 적용할지 결정하는 단계,
    상기 빈도 행렬에 차분 프라이버시를 적용하지 않는 것으로 결정하면, 상기 상삼각행렬을 상기 계산한 분할 개수로 분할하여 생성된 복수의 서브삼각행렬들 중 어느 하나의 서브삼각행렬을 선택하고, 상기 선택한 서브삼각행렬에 포함된 레코드 개수를 미리 설정한 제2 임계값과 비교하여 상기 서브삼각행렬 또는 상기 서브삼각행렬에서 생성된 빈도 벡터 중 어느 하나에 차분 프라이버시를 적용할지 결정하는 단계, 그리고
    상기 빈도 벡터 또는 상기 서브삼각행렬 중 어느 하나에 차분 프라이버시를 적용하는 단계
    를 포함하는 시간 간격 데이터 처리 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 분할 개수를 계산하는 단계는,
    상기 빈도행렬에 포함되어 있는 레코드 개수와 외부로부터 입력된 정보보호 수준을 토대로, 상기 빈도행렬의 노이즈에 의한 오차와 구조에 의한 오차의 합이 최소가 되도록 분할 개수를 결정하는 시간 간격 데이터 처리 방법.
  4. 제3항에 있어서,
    상기 빈도 행렬에 차분 프라이버시를 적용할지 결정하는 단계는,
    상기 빈도행렬에 포함된 레코드 개수가 상기 제1 임계값보다 많은지 확인하는 단계, 그리고
    상기 빈도행렬에 포함된 레코드 개수가 상기 제1 임계값보다 적으면, 상기 빈도행렬에 노이즈를 삽입하는 차분 프라이버시를 적용하는 것으로 결정하는 단계
    를 포함하는 시간 간격 데이터 처리 방법.
  5. 제4항에 있어서,
    상기 빈도행렬에 포함된 레코드 개수가 상기 제1 임계값보다 많으면, 상기 빈도 행렬에 차분 프라이버시를 적용하지 않는 것으로 결정하는 단계
    를 포함하는 시간 간격 데이터 처리 방법.
  6. 제5항에 있어서,
    상기 어느 하나에 차분 프라이버시를 적용할지 결정하는 단계는,
    상기 선택한 서브삼각행렬에 포함된 레코드 개수가 상기 제2 임계값보다 많은지 확인하는 단계,
    상기 서브삼각행렬에 포함된 레코드 개수가 상기 제2 임계값보다 적으면, 상기 서브삼각행렬에 노이즈를 삽입하는 차분 프라이버시를 적용하는 것으로 결정하는 단계, 그리고
    상기 서브삼각행렬에 포함된 레코드 개수가 상기 제2 임계값보다 많으면, 상기 빈도 벡터에 노이즈를 삽입하는 차분 프라이버시를 적용하는 것으로 결정하는 단계
    를 포함하는 시간 간격 데이터 처리 방법.
  7. 제6항에 있어서,
    상기 어느 하나에 차분 프라이버시를 적용하는 단계는,
    상기 빈도 벡터에 노이즈를 삽입하는 차분 프라이버시를 적용하는 것으로 결정하면, 상기 서브삼각행렬로부터 시작시간을 기준으로 하는 시작시간 벡터, 종료시간을 기준으로 하는 종료시간 벡터, 그리고 지속 시간에 대한 지속 시간 벡터를 각각 생성하는 단계,
    상기 각각 생성한 시작시간 벡터, 종료시간 벡터, 그리고 지속 시간 벡터에 노이즈를 삽입하는 단계, 그리고
    각각의 시작시간, 종료시간 쌍에 대한 빈도 기대값을 계산하는 단계, 그리고
    계산한 빈도 기대값을 상기 노이즈가 삽입된 시작시간 벡터, 종료시간 벡터 그리고 지속 시간 벡터에 반영하여, 노이즈가 삽입된 서브삼각행렬로 재구성하는 단계
    를 포함하는 시간 간격 데이터 처리 방법.
  8. 제7항에 있어서,
    상기 서브삼각행렬로 재구성하는 단계는,
    i 시간을 시작시간으로 하는 복수의 레코드들 중에서, j 시간까지 종료되지 않은 복수개의 활성 레코드를 생성하는 단계,
    상기 복수개의 활성 레코드들에 종료시간을 지정하고, 상기 j 시간에서 종료되는 레코드가 i 시간에서 시작한 레코드일 확률을 계산하는 단계, 그리고
    상기 계산한 확률과 상기 종료시간 벡터를 이용하여 빈도 기대값을 계산하여, 상기 빈도 벡터를 서브삼각행렬로 재구성하는 단계
    를 포함하는 시간 간격 데이터 처리 방법.
  9. 시간 간격 데이터에 차분 프라이버시를 적용하는 시간 간격 데이터 공개 시스템으로서,
    시작시간과 종료시간으로 이루어진 복수의 레코드들과 사용자에 의해 입력되는 정보보호 수준을 수신하고, 상기 복수의 레코드들을 이용하여 사각의 빈도행렬로 생성하는 입력 정보 수신부,
    상기 빈도행렬을 상삼각행렬과 하삼각행렬로 분할하고, 상기 상삼각행렬을 분할할 분할 개수를 결정하며, 결정한 분할 개수로 상기 상삼각행렬을 분할하여 복수의 서브삼각행렬들을 생성하는 빈도행렬 분할부,
    상기 빈도행렬에 포함된 레코드 수와 미리 설정된 제1 임계값 또는 복수의 서브삼각행렬들에 각각 포함된 레코드 수와 미리 설정된 제2 임계값을 비교하여, 차분 프라이버시를 적용할 행렬 형태를 결정하는 비식별화부, 그리고
    상기 비식별화부에서 복수의 서브삼각행렬 중 선택된 하나의 서브삼각행렬을 기초로 생성된 빈도 벡터에 차분 프라이버시를 적용하는 것으로 결정하면, 상기 선택된 서브삼각행렬을 빈도 벡터로 생성하고, 생성한 빈도 벡터에 노이즈를 삽입하여 차분 프라이버시를 적용하는 빈도 벡터 생성부
    를 포함하는 시간 간격 데이터 공개 시스템.
  10. 삭제
  11. 제9항에 있어서,
    상기 빈도행렬 분할부는,
    상기 빈도행렬을 주대각선 행렬을 기준으로 상기 상삼각행렬과 하삼각행렬로 분할하고,
    상기 빈도행렬에 포함되어 있는 레코드 개수와 상기 정보보호 수준을 토대로, 상기 빈도행렬의 노이즈에 의한 오차와 구조에 의한 오차의 합이 최소가 되도록 분할 개수를 결정하는 시간 간격 데이터 공개 시스템.
  12. 제11항에 있어서,
    상기 빈도행렬 분할부는,
    상기 빈도행렬의 상삼각행렬을 분할 개수의 제곱에 해당하는 수만큼의 서브삼각행렬들로 분할하는 시간 간격 데이터 공개 시스템.
  13. 제12항에 있어서,
    상기 비식별화부는,
    상기 빈도행렬에 포함된 레코드 수가 상기 제1 임계값보다 적으면 상기 빈도행렬에 차분 프라이버시를 적용하는 것으로 결정하는 시간 간격 데이터 공개 시스템.
  14. 제13항에 있어서,
    상기 비식별화부는,
    상기 빈도행렬에 포함된 레코드 수가 상기 제1 임계값 보다 많으면, 상기 서브삼각행렬들 중 선택된 서브삼각행렬에 포함된 레코드 수와 상기 제2 임계값을 비교하고,
    상기 서브삼각행렬에 포함된 레코드 수가 상기 제2 임계값보다 적으면 상기 서브삼각행렬에 차분 프라이버시를 적용하는 것으로 결정하고,
    상기 서브삼각행렬에 포함된 레코드 수가 상기 제2 임계값보다 많으면, 상기 서브삼각행렬로부터 생성된 빈도 벡터에 차분 프라이버시를 적용하는 것으로 결정하는 시간 간격 데이터 공개 시스템.
  15. 제14항에 있어서,
    상기 빈도벡터 생성부는,
    상기 서브삼각행렬을 시작시간 벡터, 종료시간 벡터, 그리고 지속 시간 벡터로 생성하고,
    상기 시작시간 벡터, 종료시간 벡터, 지속 시간 벡터에 노이즈를 삽입한 후, 노이즈가 삽입된 서브삼각행렬로 재구성하는 시간 간격 데이터 공개 시스템.
  16. 제15항에 있어서,
    상기 빈도벡터 생성부는,
    각각의 빈도 벡터로부터, 시작시간과 종료시간 쌍에 대한 빈도 기대값을 계산하는 시간 간격 데이터 공개 시스템.
KR1020190053743A 2019-05-08 2019-05-08 차분 프라이버시를 적용한 시간 간격 데이터 공개 방법 KR102055864B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190053743A KR102055864B1 (ko) 2019-05-08 2019-05-08 차분 프라이버시를 적용한 시간 간격 데이터 공개 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190053743A KR102055864B1 (ko) 2019-05-08 2019-05-08 차분 프라이버시를 적용한 시간 간격 데이터 공개 방법

Publications (1)

Publication Number Publication Date
KR102055864B1 true KR102055864B1 (ko) 2019-12-13

Family

ID=68847388

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190053743A KR102055864B1 (ko) 2019-05-08 2019-05-08 차분 프라이버시를 적용한 시간 간격 데이터 공개 방법

Country Status (1)

Country Link
KR (1) KR102055864B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230065073A (ko) 2021-11-04 2023-05-11 고려대학교 산학협력단 차분 프라이버시를 보장하는 히스토그램 생성 장치 및 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140283091A1 (en) * 2013-03-15 2014-09-18 Microsoft Corporation Differentially private linear queries on histograms
KR20160044553A (ko) * 2013-08-19 2016-04-25 톰슨 라이센싱 가산성 잡음을 통한 유틸리티-인식 프라이버시 보호 매핑을 위한 방법 및 장치
JP2018055057A (ja) * 2016-09-30 2018-04-05 日本電信電話株式会社 データ撹乱装置、方法及びプログラム
KR20180081261A (ko) * 2017-01-06 2018-07-16 경희대학교 산학협력단 왜곡된 데이터에 대한 프라이버시 보호 시스템 및 방법
KR101935528B1 (ko) * 2017-11-28 2019-01-04 서강대학교 산학협력단 차분 프라이버시를 적용한 교통량 배포 시스템 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140283091A1 (en) * 2013-03-15 2014-09-18 Microsoft Corporation Differentially private linear queries on histograms
KR20160044553A (ko) * 2013-08-19 2016-04-25 톰슨 라이센싱 가산성 잡음을 통한 유틸리티-인식 프라이버시 보호 매핑을 위한 방법 및 장치
JP2018055057A (ja) * 2016-09-30 2018-04-05 日本電信電話株式会社 データ撹乱装置、方法及びプログラム
KR20180081261A (ko) * 2017-01-06 2018-07-16 경희대학교 산학협력단 왜곡된 데이터에 대한 프라이버시 보호 시스템 및 방법
KR101935528B1 (ko) * 2017-11-28 2019-01-04 서강대학교 산학협력단 차분 프라이버시를 적용한 교통량 배포 시스템 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230065073A (ko) 2021-11-04 2023-05-11 고려대학교 산학협력단 차분 프라이버시를 보장하는 히스토그램 생성 장치 및 방법

Similar Documents

Publication Publication Date Title
US8627488B2 (en) Methods and apparatus to anonymize a dataset of spatial data
Davie et al. Convergence of numerical schemes for the solution of parabolic stochastic partial differential equations
Erdős et al. Delocalization and diffusion profile for random band matrices
Fessler et al. Space-alternating generalized expectation-maximization algorithm
Atamtürk et al. Conflict graphs in solving integer programming problems
Cignoni et al. Parallel 3d delaunay triangulation
Gumerov et al. Fast radial basis function interpolation via preconditioned Krylov iteration
Trifunovic et al. Par k way 2.0: A Parallel Multilevel Hypergraph Partitioning Tool
US20130054608A1 (en) Computer-Implemented Systems And Methods For Processing A Multi-Dimensional Data Structure
KR102055864B1 (ko) 차분 프라이버시를 적용한 시간 간격 데이터 공개 방법
Diakonov et al. Meson current correlation functions in instanton vacuum
Kaneko et al. Characterizing complexity of many-body quantum dynamics by higher-order eigenstate thermalization
Damerdji et al. Two-stage multiple-comparison procedures for steady-state simulations
Alekhnovich et al. Linear upper bounds for random walk on small density random 3-CNFs
Boukaram et al. Randomized GPU algorithms for the construction of hierarchical matrices from matrix-vector operations
Bishop et al. Spectral gap and edge excitations of d-dimensional PVBS models on half-spaces
Berryman Analysis of approximate inverses in tomography II. Iterative inverses
Karisch et al. A dual framework for lower bounds of the quadratic assignment problem based on linearization
Huber et al. Three-way symbolic tree-maps and ultrametrics
MacRury et al. The phase transition of discrepancy in random hypergraphs
Brunetta et al. Solving the feedback vertex set problem on undirected graphs
Erhard et al. The parabolic Anderson model in a dynamic random environment: space-time ergodicity for the quenched Lyapunov exponent
Satoh et al. Variable selection for the growth curve model
Lin et al. The reliability analysis of distributed computing systems with imperfect nodes
Majewski et al. A solution to the extended gcd problem

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant