Differential Privacy (1. Overview)

Yujin Choi
slcf
Published in
6 min readJun 23, 2021

본문은 James HonakerSalil Vadhan의 Computer Science 208: Applied Privacy for Data Science 강의의 overview와 서울대학교 산업공학과 slcf 연구실의 발표 자료를요약한 글입니다.

  1. 프라이버시의 중요성

데이터의 활용도가 커짐에 따라 프라이버시의 중요성 또한 대두되고 있습니다. EU에서는 2018년 5월에 GDPR(General Data Protection Regulation)를 발효했으며, 이는정보를 제공받을 권리, 잊힐 권리, 프로파일링을 포함한 자동화된 의사 결정 등 세계적인 Privacy 규범에 영향을 미쳤습니다. GDPR 규정을 위반할 경우 최대 전세계 연간 매출액의 4% 혹은 약 2천만 유로 중 높은 금액을 부과할 수 있기 때문에 기업에서 프라이버시의 중요성이 더욱 커졌습니다.

과거에는 프라이버시를 보호하기 위해서 단순히 이름만 지우는 익명화로 충분하다고 생각했습니다. 하지만 넷플릭스의 추천 알고리즘을 개선하는 대회인 Netflix Prize에서 알고리즘의 학습을 위해 학습 데이터를 익명화 시켜 공개했는데, 이를 인터넷 상에 공개된 다른 평점데이터와 연결해 각 데이터가 어떤 사람의 것인지 알아내는 공격(linking attack)을 통해 익명화는 프라이버시를 보장하지 못함이 밝혀졌습니다.

데이터가 ‘사람’과 관련이 있다면 더욱 민감하게 처리를 해야 하는데, 그 이유는 기술의 발전으로 예상하지 못한 정보 유출을 야기할 수 있기 때문입니다. 예를 들어서 앞선 예시에서 넷플릭스의 시청 데이터를 통해 한 여성의 성적 취향이 밝혀져 넷플릭스가 고소당한 사건이 있습니다. 혹은 미국 한 의원의 시청 데이터가 평소의 발언과 달라 파문이 된 사건도 있습니다.

의료 데이터는 특히 더 민감하게 다뤄져야 합니다. 예를 들어 아래 사진의 뇌 이미지를 이용해 성별과 나이를 판단할 수 있습니다.

그림 출처: https://www.biorxiv.org/content/10.1101/2019.12.17.879346v1

더 나아가, 이 뇌 사진을 통해 유추한 얼굴은 다음과 같습니다. 실제 얼굴은 왼쪽, 예측한 얼굴은 오른쪽으로 성별, 인종, 나이 뿐 아니라 얼굴까지 유사하게 맞출 수 있음을 알 수 있습니다.

그림 출처: https://www.pnas.org/content/114/38/10166

이러한 내용을 요약하자면 단순히 식별 가능한 정보만을 삭제한다고 프라이버시가 보호되는 것이 아니며, 사람과 관련된 데이터는 민감하게 처리해야 합니다. 또한, 특히 의료 데이터의 경우 민감하게 처리를 해야 합니다.

2. 데이터 프라이버시 보호

앞서 데이터 프라이버시의 중요성에 대해 설명드렸습니다. 하지만 데이터의 프라이버시가 중요하다고 해서 데이터가 가져오는 사회/경제적 이익을 포기하는 것은 매우 비효율적입니다. 즉, 데이터의 프라이버시는 보호하면서 데이터를 활용하는 방안을 고민해볼 수 있습니다.

먼저 데이터의 프라이버시를 보호하기 위한 다양한 방법을 소개해드리겠습니다. 가장 일반적으로 생각할 수 있는 방안으로 데이터를 암호화 하는 방식이 있습니다. 다양한 암호가 있지만, 데이터를 보호하기 위해서는 IND-CPA(0과 1을 암호화 할 때 암호문이 0과 1 중에 무엇을 암호화 한 것인지 0.5보다 높은 확률로 맞출 수 없다)가 성립하는 암호를 사용합니다. 하지만 일반적인 암호화 방식으로는 key를 가지고 있지 않다면 데이터를 활용할 수 없습니다. 그래서 나온 것이 수학의 Homomorphism을 활용한 Homomorphic Encryption(HE, 동형암호)입니다.

동형암호는 평문을 연산한 값이 암호문에 동일한 연산을 해 복호화 한 값과 같도록 만든 암호로, 데이터의 프라이버시를 강하게 보호할 수 있지만 연산속도가 매우 느리다는 단점이 있습니다. 그렇다면 데이터를 그대로 두고 식별이 가능한 정보(이름, ID 등)만 가리는 anonymize 어떨까요? 앞서 말씀드렸듯 익명화는 linking attack 등을 통해 정보가 유출될 수 있습니다.

이번에는 ‘Trusted Curator’가 존재해 모든 데이터를 알고 있고, 데이터를 분석하기 원하는 사람이 질의를 하는 상황은 어떨까요? 예를 들어서 선생님이 반 아이들의 성적을 모두 알고 있고, 외부에서 아이들의 성적을 분석하고 싶은 상황이라고 생각해 봅시다. 선생님은 외부에 각 학생의 성적을 공개하지 않지만 반별 성적을 분석하기 원하는 사람이 질의를 하면 평균을 알려줄 수 있습니다. 이 경우 데이터가 아닌 통계값을 알려주기 때문에 개인의 프라이버시는 지켜지면서 데이터 분석이 가능합니다. 하지만 이 시나리오도 문제가 존재합니다.

만약 학생 A의 성적을 알고 싶어하는 악의적인 질문자가 있다고 가정합시다. 질문자는 먼저 전체 평균을 질의합니다. 그 뒤 A의 성적을 제외한 나머지 사람들의 평균을 질의합니다. 각각의 질의는 통계량이지만, 이 두 정보를 통해 질문자는 A의 성적을 계산할 수 있습니다.

3. Differential Privacy

그렇다면 이 상황에서 데이터의 프라이버시는 보호하면서 데이터를 이용할 수 있을까요?

프라이버시를 보호하면서 데이터를 이용하기 위해서는 단 한 사람의 데이터가 빠지더라도 질의를 통해 얻어지는 통계값이 거의 변하지 않아야 합니다. 단 한사람의 정보가 다르기 때문에 이러한 기법을 ‘차등 정보 보호 기법(Differential Privacy)’라고 합니다.

이를 수식으로 쓰면 다음과 같습니다.

P[M(D)] ≤ exp(ε) ∙ P[M(D’)] + δ

여기서 D은 데이터의 집합을 의미하며, D’은 D에서 단 하나의 데이터만 차이나는 데이터 집합을 의미합니다. 위의 예시에서는 D는 반 전체, D’는 A가 없는 반 전체라고 할 수 있습니다(D와 D’은 반대로 설정해도 괜찮습니다. 혹은 A대신 새로운 학생으로 바꾼 데이터 집합도 가능합니다). M은 randomized function입니다. 위의 예시는 이 식을 만족하지 않지만, 이 예시에 random noise를 추가한다면 이 식을 만족시키도록 할 수 있습니다.

여기서 δ는 0인 경우도 많으며(특히 라플라스 분포를 따르는 노이즈를 추가한 경우이며, 자세히 다루지는 않겠습니다.) ε가 클 수록 더 작은 노이즈를 추가해 정확도가 높아짐을 알 수 있습니다. 하지만 정확도가 높아진 만큼 프라이버시를 보호하는 수준은 낮아집니다. ε가 작으면 노이즈가 커져야 하며, 정확도는 낮아지게 됩니다. 반대로 ε가 작을 수록 프라이버시 보호 수준은 높아지며, 이것은 trade-off 관계입니다.

즉, Differential Privacy는 ε의 수준을 결정해 프라이버시 보호 수준을 결정해 줄 수 있습니다.

--

--