K-익명성으로 준식별자 기반 개인정보 보호 설계하기

K-익명성의 준식별자 처리 방식과 일반화·억제 기법, 공격 한계 및 L-다양성·T-근접성 보완 모델을 정리한다.

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

준식별자 조합이 재식별 위험을 만든다

이름이나 주민등록번호를 제거했다고 해서 데이터가 자동으로 안전해지는 것은 아니다. 우편번호, 생년월일, 성별처럼 각각은 직접 식별자가 아니더라도 결합하면 개인을 좁혀 갈 수 있는 값이 남기 때문이다.

K-익명성(K-anonymity)은 데이터베이스에서 동일한 준식별자(Quasi-identifier) 속성값을 가진 레코드가 최소 K개 이상 존재하도록 만드는 프라이버시 보호 모델이다. 2002년 Latanya Sweeney가 제안했으며, 공개 데이터셋에서 특정 개인을 식별할 확률을 1/K 이하로 제한하는 방식으로 설명된다.

가령 3-익명성 데이터셋이라면 특정 준식별자 조합으로 한 사람을 식별할 확률은 1/3을 넘지 않는다.

데이터 항목을 역할별로 나누기

식별자(Identifier)는 주민등록번호나 이름처럼 개인을 직접 알아낼 수 있는 정보다. 준식별자는 우편번호, 생년월일, 성별처럼 다른 정보와 조합될 때 개인 식별에 쓰일 수 있는 속성이다.

민감한 정보(Sensitive Attribute)는 질병이나 소득처럼 보호해야 할 개인 정보이며, K 값은 동일한 준식별자 값을 공유하는 최소 레코드 수를 뜻한다. 익명화 설계에서는 식별자를 제거하는 데서 멈추지 않고, 준식별자와 민감한 정보를 구분해 다뤄야 한다.

정밀도를 낮추거나 값을 감춘다

K-익명성을 만들 때는 일반화(Generalization)와 억제(Suppression)를 주로 사용한다. 일반화는 값의 세부 수준을 낮춰 더 넓은 범주로 바꾸는 방법이다.

예시:
- 나이 37세 → 30대
- 우편번호 12345 → 123**
- 생년월일 1986-03-15 → 1986년

억제는 특정 값이나 레코드를 제거하거나 *로 대체하는 방식이다. 희귀한 값이 남아 있으면 일반화만으로는 충분한 동질 집합을 만들기 어려울 수 있다.

예시:
- 나이 37세 → *
- 희귀 직업 "우주비행사" → *

3-익명성으로 바뀌는 데이터셋

다음 원본 데이터셋에서는 나이, 성별, 우편번호가 개인을 좁힐 수 있는 준식별자 역할을 한다.

ID 나이 성별 우편번호 질병
1 28 12345 고혈압
2 29 12346 당뇨
3 30 12347 천식
4 31 12348 관절염
5 32 12349 우울증
6 33 12350 고혈압

일반화를 거친 뒤에는 각 준식별자 조합에 최소 3개의 레코드가 남는다.

나이 성별 우편번호 질병
20대 1234* 고혈압
20대 1234* 당뇨
20대 1234* 천식
30-35 123** 관절염
30-35 123** 우울증
30-35 123** 고혈압

이 사례에서는 나이, 성별, 우편번호를 준식별자로 보고 일반화를 적용했다. 그 결과 각 조합에 최소 3개의 레코드가 존재한다.

익명화는 검증 단계까지 이어진다

식별자를 제거한 뒤 준식별자를 찾아 동질 집합을 형성하고, 일반화 또는 억제를 적용한다. K-익명성 조건이 충족되지 않으면 동질 집합 구성 단계로 돌아가 다시 조정한다.

불충분충분원본 데이터식별자 제거준식별자 식별동질 집합 형성일반화/억제 적용K-익명성 검증최종 익명화 데이터

K-익명성만으로 남는 공격 경로

동질성 공격(Homogeneity Attack)은 동일한 준식별자 그룹의 민감한 속성이 모두 같을 때 발생한다. 예를 들어 모든 "30대, 남성, 서울 강남구" 거주자가 "에이즈" 질병을 가지고 있다면, 그룹 안에서 특정 개인을 구분할 수 없어도 그 사람이 에이즈 환자라는 정보는 유추할 수 있다.

배경지식 공격(Background Knowledge Attack)은 공격자가 이미 알고 있는 사실을 결합할 때 문제가 된다. "30대, 여성, 서울 강남구" 그룹에 "유방암", "피부암", "폐암" 환자가 있고 특정 여성이 비흡연자라는 사실을 안다면, 폐암 가능성이 낮아 다른 암일 가능성이 높아진다.

속성연관 공격(Attribute Linkage Attack)은 서로 다른 준식별자 그룹 사이에서 속성값 분포가 크게 다를 때 생길 수 있는 취약점이다.

민감 정보 분포까지 다루는 보완 모델

L-다양성(L-diversity)은 동질성 공격을 줄이기 위해 각 준식별자 그룹에 민감한 속성의 다양한 값이 최소 L개 이상 존재하도록 요구한다.

T-근접성(T-closeness)은 그룹 내부 민감 속성 분포와 전체 데이터셋 분포 사이의 거리가 T 이하가 되도록 제한한다.

δ-존재성(δ-presence)은 공개 데이터셋에서 특정 개인이 존재하는지 판단할 확률을 제한하는 모델이다.

공유 목적에 맞춰 조정할 항목

K-익명성은 의료 데이터 공유, 인구 조사 데이터 공개, 위치 정보 기반 트래픽 분석, 소셜 네트워크 관계 데이터 익명화에 활용될 수 있다.

K 값이 커질수록 프라이버시 보호 수준은 높아지는 반면 데이터 유용성은 낮아진다. 일반적으로 K=5~10 정도가 많이 사용된다. 일반화와 억제의 수준을 정할 때는 정보 손실을 최소화하는 방향이 필요하다.

K-익명성 달성은 NP-hard 문제이므로 효율적인 휴리스틱 알고리즘도 검토 대상이 된다.

  • Incognito 알고리즘
  • Mondrian 다차원 파티셔닝
  • Bottom-up 일반화

평가에서는 일반화 높이(Generalization Height), 원본 데이터 대비 정보 손실(Information Loss), 동일한 준식별자 값을 가진 레코드 수인 등가 클래스 크기(Equivalence Class Size), 레코드 구분 정도를 나타내는 분산도(Discernibility)를 함께 본다.

K-익명성은 데이터 활용과 개인정보 보호 사이의 균형을 잡는 기본 모델이다. 다만 동질성 공격 같은 한계가 있으므로 L-다양성이나 T-근접성 같은 보완 모델을 함께 고려해야 한다. 데이터 관리자와 정보보호 담당자는 데이터 특성과 활용 목적에 맞춰 K 값과 익명화 방법을 선택해야 한다.

K-익명성개인정보보호데이터 익명화준식별자정보보안