프라이버시 예산

Python으로 배우는 데이터 프라이버시와 익명화

Rebeca Gonzalez

Instructor

차등 프라이버시의 정의

  • Cynthia Dwork는 차등 프라이버시를 수학적으로 정의합니다.

원본 데이터셋에 누군가 포함되든 말든 차등 프라이버시 메커니즘의 출력이 거의 동일함을 보여주는 다이어그램

  • 엡실론과 정확도가 가장 중요한 지표입니다.
Python으로 배우는 데이터 프라이버시와 익명화

프라이버시 매개변수 $\epsilon$

  • 프라이버시 손실의 지표
  • 값이 작을수록 보호가 더 뛰어남
Python으로 배우는 데이터 프라이버시와 익명화

프라이버시 예산

왼쪽의 데이터 큐레이터 그림

Python으로 배우는 데이터 프라이버시와 익명화

프라이버시 예산

왼쪽의 데이터 큐레이터와 제3자 그림. 데이터베이스 질의를 나타내는 화살표 위에 엡실론 1이 표시됨

Python으로 배우는 데이터 프라이버시와 익명화

프라이버시 예산

왼쪽의 데이터 큐레이터와 제3자 그림. 또 다른 화살표 위에 엡실론 1이 표시되어 또 한 번의 질의를 나타냄 같은 프라이빗 질의를 $\epsilon$ = 1로 두 번 하면, $\epsilon$ = 2인 한 번의 질의와 같습니다.

Python으로 배우는 데이터 프라이버시와 익명화

프라이버시 예산

이전에 수집한 데이터로 계산을 수행하는 제3자의 그림 제3자는 답변을 평균내어 노이즈를 상쇄할 수 있습니다.

Python으로 배우는 데이터 프라이버시와 익명화

프라이버시 예산

  • 개인 또는 그룹이 누적할 수 있는 프라이버시 손실의 한도
  • 데이터에 대한 질의를 추적

질의에 답하기 전에 노이즈를 추가하는 데이터베이스로 팀이 데이터 추출을 수행하는 다이어그램

Python으로 배우는 데이터 프라이버시와 익명화

얼마나 사생활이 보장되어야 할까요?

  • 품질은 질의와 데이터 모두에 좌우됩니다
  • 엡실론의 값 범위는 매우 넓습니다
Python으로 배우는 데이터 프라이버시와 익명화

얼마나 사생활이 보장되어야 할까요?

엡실론 $\epsilon$

  • 0~1 사이면 매우 우수
  • 10 초과는 바람직하지 않음
  • 1~10 사이는 “없는 것보단 나음”

엡실론은 지수적임을 기억하세요.

  • $\epsilon$ = 1인 시스템은 $\epsilon$ = 10보다 프라이버시가 8,000배 이상 높습니다.
Python으로 배우는 데이터 프라이버시와 익명화

얼마나 사생활이 보장되어야 할까요?

이모지 사용 막대그래프와 Apple 로고 이미지

1 Apple이 수집한 데이터에 따른 미국 영어 사용자의 상위 이모지 스크린샷.
Python으로 배우는 데이터 프라이버시와 익명화

프라이버시 예산: 추적 방법

from diffprivlib import BudgetAccountant

acc = BudgetAccountant(epsilon=5) acc
BudgetAccountant(epsilon=5)
Python으로 배우는 데이터 프라이버시와 익명화

프라이버시 예산: 추적 방법

# 급여의 프라이빗 평균을 epsilon=0.5로 계산
# Budget Accountant acc를 사용하고 경계를 0~230000으로 설정
dp_mean = tools.mean(salaries, epsilon=0.5, accountant=acc, bounds=(0, 230000))

# 결과 프라이빗 평균 출력 print("Private mean: ", dp_mean)
Private mean: 82524.72611901595
Python으로 배우는 데이터 프라이버시와 익명화

프라이버시 예산: 추적 방법

# 총 프라이버시 사용량 
print("Total spent: ", acc.total())

# 남은 프라이버시 예산 print("Remaining budget: ", acc.remaining())
# 지금까지 수행한 질의 수 print("Number of queries recorded: ", len(acc))
Total spent: (epsilon=0.5, delta=0.0)

Remaining budget: (epsilon=4.5, delta=1.0)
Number of queries recorded: 1
Python으로 배우는 데이터 프라이버시와 익명화

프라이버시 예산: 추적 방법

# 2개 질의에 대한 남은 프라이버시 예산
print("Remaining budget for 2 queries: ", acc.remaining(2))
Remaining budget for 2 queries: (epsilon=2.25, delta=1.0)
Python으로 배우는 데이터 프라이버시와 익명화

연습해 봅시다!

Python으로 배우는 데이터 프라이버시와 익명화

Preparing Video For Download...