프라이버시 보호모델과 재식별 위험 관리

k-익명성, l-다양성, t-근접성의 원리와 한계, 의료 데이터 익명화에 적용하는 프라이버시 보호모델을 정리한다.

2026-08-14 · 최초 발행 2025-06-08

익명화만으로 재식별 위험이 사라지지는 않는다

데이터 활용이 늘면서 개인정보를 보호한 상태로 데이터를 공유하는 일이 중요해졌다. 그러나 비식별 처리된 데이터도 외부 정보와 결합되면 개인을 다시 식별할 수 있다.

AOL 검색 데이터 사례(2006)에서는 익명화된 검색 기록으로 개인이 식별됐고, Netflix Prize 사례(2007)에서는 익명화된 영화 평점 데이터와 IMDB 데이터를 결합해 사용자를 식별할 수 있었다. 이런 재식별 위험에 대응하기 위해 데이터 유용성을 유지하면서 개인정보를 보호하는 수학적 프라이버시 보호모델이 활용된다.

대표 모델인 k-익명성, l-다양성, t-근접성은 서로 다른 취약점을 보완하는 방향으로 발전했다.

준식별자를 흐리게 만드는 k-익명성

k-익명성은 2002년 Latanya Sweeney가 제안한 최초의 프라이버시 보호모델이다. 데이터셋의 각 레코드가 최소 k-1개의 다른 레코드와 구별되지 않도록 처리하는 것이 핵심이다.

여기서 준식별자(Quasi-identifier)는 직접 식별자는 아니지만 결합하면 개인 식별에 쓰일 수 있는 속성이다. 생년월일, 우편번호, 성별이 이에 해당한다.

세부 값을 넓은 범주로 바꾸는 일반화(Generalization)와 일부 값을 제거하는 억제(Suppression)를 주로 사용한다. 예를 들어 생년월일은 출생년도나 연령대로 일반화할 수 있고, 32세30-39세로 바꿀 수 있다. 억제에서는 특정 값을 *로 대체한다. 서울시 강남구서울시 *처럼 처리할 수 있다.

원본 데이터는 다음과 같다.

ID 나이 우편번호 성별 질병(민감정보)
1 28 12345 고혈압
2 32 12346 당뇨
3 30 12347 천식
4 27 12348 고혈압
5 31 12349 비만

이를 3-익명성으로 처리하면 준식별자의 세부성이 줄어든다.

ID 나이 우편번호 성별 질병(민감정보)
1 25-35 1234* 고혈압
2 25-35 1234* 당뇨
3 25-35 1234* 천식
4 25-35 1234* 고혈압
5 25-35 1234* 비만

다만 같은 준식별자를 가진 그룹의 민감정보가 모두 같다면 동질성 공격(Homogeneity Attack)에 노출된다. 공격자가 추가 정보를 갖고 있을 때 민감정보를 추론하는 배경지식 공격(Background Knowledge Attack)도 가능하다.

민감정보 값의 쏠림을 다루는 l-다양성

2006년 Machanavajjhala 등이 제안한 l-다양성은 k-익명성에서 형성된 동질 집합마다 민감한 속성이 최소 l개 이상의 서로 다른 값을 갖도록 요구한다. k-익명성의 동질성 공격 취약점을 보완하려는 모델이다.

Distinct l-diversity는 각 동질 집합에 적어도 l개의 서로 다른 민감한 값이 있어야 한다. Entropy l-diversity는 동질 집합 내 민감 속성의 엔트로피가 log(l) 이상이어야 하며, 더 균등한 민감정보 분포를 요구한다. Recursive (c,l)-diversity는 가장 빈번한 값이 다른 값보다 지나치게 많이 나타나는 상황을 제한한다.

아래 데이터는 3-익명성이 적용됐지만 민감정보가 모두 고혈압이어서 l-다양성이 부족한 경우다.

나이 우편번호 성별 질병(민감정보)
25-35 1234* 고혈압
25-35 1234* 고혈압
25-35 1234* 고혈압

3-익명성과 2-다양성을 함께 적용하면 동질 집합 안에 서로 다른 진단값이 포함된다.

나이 우편번호 성별 질병(민감정보)
25-35 1234* 고혈압
25-35 1234* 당뇨
25-35 1234* 비만

l-다양성도 서로 다른 민감한 값이 의미상 유사한 경우의 유사성 공격(Similarity Attack)을 막지 못할 수 있다. 데이터 전체 분포와 동질 집합 안의 분포가 크게 다를 때 발생하는 왜곡 공격(Skewness Attack) 역시 남는다.

전체 분포와의 차이를 제한하는 t-근접성

t-근접성은 2007년 Li 등이 제안했다. 각 동질 집합의 민감한 속성 분포가 전체 데이터셋 분포와 t 이하의 차이를 갖도록 하는 모델이다. l-다양성의 유사성 공격과 왜곡 공격에 대응한다.

두 분포의 거리는 Earth Mover's Distance(EMD)로 측정한다. 수치형 데이터와 범주형 데이터에는 서로 다른 거리 측정 방법을 적용하며, t값이 작을수록 프라이버시 보호 수준은 강해진다.

전체 데이터셋의 질병 분포가 다음과 같다고 하자.

  • 고혈압: 30%
  • 당뇨: 25%
  • 천식: 20%
  • 비만: 15%
  • 기타: 10%

다음 동질 집합은 0.2-근접성을 만족한다.

  • 고혈압: 35%
  • 당뇨: 30%
  • 천식: 15%
  • 비만: 12%
  • 기타: 8%

각 질병 카테고리의 분포 차이가 모두 0.2 이하이기 때문이다.

t-근접성은 계산 복잡성이 높아 구현이 어렵고 데이터 유용성이 감소할 가능성이 크다. 또한 전체 데이터셋의 분포에 강하게 의존한다.

모델별로 보호하는 위험이 다르다

프라이버시 보호모델k-익명성l-다양성t-근접성장점: 구현 간단, 직관적단점: 동질성/배경지식 공격취약장점: 동질성 공격 방지단점: 유사성/왜곡 공격 취약장점: 분포 기반 강력한 보호단점: 구현 복잡, 유용성 감소

k-익명성은 구별 가능성을 낮추는 데 초점을 두고, l-다양성은 민감정보 값의 다양성을 요구한다. t-근접성은 여기서 더 나아가 동질 집합과 전체 데이터셋의 분포 차이까지 제한한다.

데이터의 성격에 맞춰 적용 범위를 정한다

모델 선택은 데이터 민감도와 활용 목적에 따라 달라진다. 의료 데이터에는 t-근접성이 권장되며, 일반 인구통계 데이터는 k-익명성만으로도 충분할 수 있다.

k, l, t의 값도 보호 수준과 데이터 유용성 사이의 균형을 좌우한다. 값이 클수록 보호 수준은 높아지지만 데이터 유용성은 감소한다. 일반적으로 k=3~5, l=2~4, t=0.15~0.2 범위에서 시작해 조정한다.

보호 수준을 높여야 한다면 k-익명성, l-다양성, 필요시 t-근접성을 순차적으로 적용할 수 있다. 구현에서는 Incognito, Mondrian 등의 알고리즘을 활용하고, 대용량 데이터에는 분산 처리 기술을 고려한다.

의료 데이터에 적용한 익명화 흐름

병원이 연구 목적으로 환자 데이터를 공유하는 상황을 가정한다. 원본 데이터 일부는 다음과 같다.

환자ID 나이 우편번호 성별 진단명 입원일수
P001 42 13579 당뇨병 5
P002 38 13580 고혈압 3
P003 43 13579 관상동맥질환 8
P004 39 13581 당뇨병 4
P005 41 13582 천식 6

처리 과정에서는 환자ID 같은 직접 식별자를 제거한다. 이어 나이, 우편번호, 성별을 범주화해 4-익명성을 적용하고, 진단명이 최소 3가지 이상 포함되도록 3-다양성을 적용한다. 마지막으로 진단명 분포가 전체 데이터셋과 비슷한지 0.2-근접성으로 검증한다.

최종 익명화 데이터는 다음과 같다.

나이 우편번호 성별 진단명 입원일수
35-45 1357* * 당뇨병 3-6
35-45 1357* * 고혈압 3-6
35-45 1357* * 관상동맥질환 7-10
35-45 1357* * 당뇨병 3-6
35-45 1358* * 천식 3-6

프라이버시 보호모델은 데이터 활용과 개인정보 보호 사이의 균형을 다루는 수학적 프레임워크다. 실제 적용에서는 데이터 특성, 활용 목적, 위험 평가를 함께 검토해 모델과 매개변수를 선택한다. 빅데이터와 AI 환경에서는 차분 프라이버시(Differential Privacy) 같은 보호 기법도 함께 고려할 수 있다.

프라이버시 보호데이터 익명화개인정보 보호재식별 위험민감정보