개인정보 비식별 조치 적정성 평가와 재식별 위험 관리

개인정보 비식별 조치의 적정성을 K-익명성, L-다양성, T-근접성으로 평가하고 재식별 위험을 관리하는 방법

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

비식별 처리 뒤에도 남는 재식별 경로

개인정보 비식별 조치는 데이터에서 개인을 알아볼 수 있는 요소를 제거하거나 다른 값으로 바꾸는 작업이다. 다만 처리된 데이터라도 다른 정보와 맞물리면 개인을 다시 특정할 가능성이 있다. 빅데이터와 AI 활용이 늘어나는 환경에서는 데이터를 쓰기 전에 비식별 조치가 충분했는지 별도로 평가해야 한다.

재식별 위험은 주로 다음 방식으로 나타난다.

  • 결합 공격(Linkage Attack): 여러 데이터셋을 결합해 개인을 식별하는 방식이다. Netflix Prize 데이터셋과 IMDB 공개 데이터를 결합해 사용자를 식별한 사건이 사례로 언급된다.
  • 추론 공격(Inference Attack): 통계적 추론으로 개인정보를 유추하는 방식이다. 특정 지역, 연령대, 직업 정보만으로도 소규모 마을의 개인을 특정할 수 있다.
  • 차분 공격(Differential Attack): 시차를 두고 공개된 데이터셋의 차이를 분석해 개인정보를 복원하는 방식이다. 발표 시점이 다른 통계 데이터의 변화를 비교해 특정 개인의 정보를 유추할 수 있다.
부적합적합결합 위험추론 위험원본 데이터비식별 조치비식별 데이터적정성 평가추가 비식별 조치안전한 활용외부 데이터통계적 추론

K-익명성으로 확인하는 기본 보호 수준

K-익명성(K-anonymity)은 특정 레코드를 식별하는 데 쓰일 수 있는 준식별자(Quasi-identifier) 조합이 데이터셋 안에 최소 K개 이상 존재하도록 하는 기준이다. 이 조건을 만족하면 데이터셋 안에서 한 개인을 특정할 확률은 최대 1/K 이하가 된다.

적용에는 정확한 값을 범주로 바꾸는 일반화(Generalization)와, 일부 값을 삭제하거나 대체하는 억제(Suppression)가 쓰인다. 예를 들어 정확한 나이는 연령대로 바꾸고, 희귀 질병명은 *로 대체할 수 있다.

| 원본 데이터 | | | | K=3 적용 후 | | | | ----------- | ---- | -------- | ------ | ----------- | ---- | -------- | ------ | | 나이 | 성별 | 우편번호 | 질병 | 나이 | 성별 | 우편번호 | 질병 | | 23 | 남 | 12345 | 감기 | 20-25 | 남 | 123** | 감기 | | 24 | 남 | 12346 | 고혈압 | 20-25 | 남 | 123** | 고혈압 | | 25 | 남 | 12347 | 당뇨 | 20-25 | 남 | 123** | 당뇨 | | 47 | 여 | 45678 | 천식 | 45-50 | 여 | 456** | 천식 | | 49 | 여 | 45679 | 관절염 | 45-50 | 여 | 456** | 관절염 | | 50 | 여 | 45680 | 두통 | 45-50 | 여 | 456** | 두통 |

K값을 높이면 보호 수준은 높아지지만 데이터의 유용성은 낮아질 수 있다. 따라서 값 자체보다 활용 목적에 맞는 균형을 판단하는 일이 중요하다.

민감정보의 쏠림까지 검토하는 L-다양성

K-익명성만으로는 같은 그룹의 민감 속성(Sensitive Attribute)이 모두 같은 경우를 막지 못한다. L-다양성(L-diversity)은 동일한 준식별자 조합을 가진 레코드 그룹 안에 민감 속성의 서로 다른 값이 최소 L개 이상 존재하도록 요구한다.

아래 표는 K=3 익명성만 적용했을 때 남는 취약점을 보여 준다.

나이 성별 우편번호 질병
20-25 123** HIV
20-25 123** HIV
20-25 123** HIV

이 경우 20-25세 남성이고 123**에 거주하는 사람의 질병이 모두 HIV라는 사실을 알 수 있다. L-다양성은 이런 동질성 공격 가능성을 줄이기 위한 추가 평가 수단이다.

분포 차이를 보는 T-근접성

L-다양성을 충족해도 민감 속성의 분포가 전체 데이터셋과 크게 다르면 배경지식 공격이나 스큐 공격에 취약할 수 있다. T-근접성(T-closeness)은 각 동질 그룹의 민감 속성 분포가 전체 데이터셋 분포와 T 이하의 거리를 유지하는지 평가한다.

비식별 조치 적정성 평가K-익명성L-다양성T-근접성준식별자 동일 레코드 K개 이상민감 속성 L개 이상 다양화그룹 민감 속성 분포 유사성기본 안전성 확보동질성 공격 방어배경지식 스큐 공격 방어

K-익명성은 기본 안전성을, L-다양성은 민감정보의 동질성 위험을, T-근접성은 그룹과 전체 분포의 편차를 각각 다룬다.

평가 대상부터 재평가까지 이어지는 작업

평가는 먼저 개인정보가 포함된 데이터셋을 정하고 속성을 구분하는 데서 시작한다. 이름과 주민번호처럼 직접 개인을 식별할 수 있는 정보는 식별자(Identifier)이며, 나이·성별·우편번호처럼 다른 정보와 결합할 때 식별 가능해지는 정보는 준식별자다. 질병과 소득은 민감 속성(Sensitive Attribute)으로, 개인 식별과 무관한 정보는 비민감 속성(Non-sensitive Attribute)으로 분류한다.

식별자는 삭제하거나 대체하고, 준식별자에는 일반화·랜덤화·가명화 등을 적용한다. 민감 속성은 필요에 따라 추가 보호 조치를 적용한다.

평가 단계에서는 K-익명성을 필수로 확인한다. 최소 K값을 설정하고 준식별자 조합별로 조건 충족 여부를 점검하며, 일반적으로 K≥5가 권장된다. 추가 평가에서는 민감 속성의 다양성과 동질성 공격 위험을 확인하고, 전체 데이터셋과 각 동질 그룹 사이의 민감 속성 분포를 비교한다. 분포 간 거리 측정에는 일반적으로 Earth Mover's Distance를 사용한다.

기준을 충족하지 못하면 K, L, T 값을 조정하거나 일반화·억제·랜덤화를 추가한 뒤 다시 평가한다. 최종 판단은 개인정보 보호 수준과 데이터 유용성 사이의 균형을 기준으로 이뤄진다.

의료 연구 데이터에 적용하는 방식

대형 병원이 환자 데이터를 연구 목적으로 활용하는 상황에서는 환자명, 생년월일, 주소, 진료기록, 처방약 등이 원본 데이터에 포함될 수 있다.

환자명은 가명 또는 ID로 대체하고, 생년월일은 연령대로 일반화한다. 주소는 시/군/구 수준으로 바꾸며, 희귀질환은 상위 카테고리로 분류한다. 이후 K=5 익명성을 적용하고 질병 같은 민감정보에는 L=3 다양성을 적용한다. 희귀질환자 데이터에는 추가 보호조치를 둔다.

평가와 비식별 처리에는 다음 도구를 활용할 수 있다.

  • ARX Data Anonymization Tool: 오픈소스 비식별화 및 평가 도구로, K-익명성·L-다양성·T-근접성 자동 평가와 다양한 비식별화 알고리즘을 제공한다.
  • Anonymization ToolBox(Cornell University): 여러 익명화 기법과 재식별 위험 시각화 기능을 제공한다.
  • Python 라이브러리: pandas-anonymizer는 판다스 데이터프레임 비식별화에 사용하며, ARX-Python은 ARX 기능을 파이썬에서 활용한다.

정형 데이터 밖에서 남는 과제

현재의 평가 방법은 정형 데이터에 치우쳐 있어 텍스트와 이미지 같은 비정형 데이터에 적용할 표준화된 방법이 부족하다. 시간에 따라 변하는 동적 데이터는 지속적인 보호가 어렵고, 대용량 데이터셋의 평가는 계산 비용을 키운다.

차등 프라이버시(Differential Privacy)를 기존 방법과 결합하는 연구도 과제다. 데이터셋에 노이즈를 추가하는 방식과 K-익명성 등의 방법을 함께 검토할 수 있다. 머신러닝 기반 재식별 공격 시뮬레이션, 자동화된 취약점 탐지와 개선 제안도 발전 방향에 포함된다. 글로벌 데이터 이동에 대응할 국제 표준 평가 방법론과 산업별 특화 평가 기준 역시 필요하다.

비식별 조치의 적정성 평가는 한 번의 처리 결과를 승인하는 절차에 그치지 않는다. 위협 환경과 기술 변화에 맞춰 재식별 가능성을 반복해서 점검하고, 데이터 활용과 개인정보 보호의 균형을 조정하는 과정이다.

개인정보보호비식별화재식별 위험K-익명성데이터 익명화