LabHub
배우기 러닝패스 코스

보험 도메인 심화 · 누구인지 모르게 내보내기 · 이론

이름을 지웠는데 그 사람이 누구인지 알 수 있었다

LabHub 에서 이어서 보기

한 줄 요약

비식별은 이름을 지우는 일이 아니라 남은 값들의 조합으로도 한 사람이 지목되지 않게 만드는 일이고, 그것이 됐는지는 기분이 아니라 k를 세어 확인한다.

왜 이게 필요했나

청구 지급이 왜 늦어지는지 분석하겠다며 자료를 달라는 요청이 들어온다. 요청하는 쪽은 사내 분석팀일 수도, 외부 컨설팅일 수도 있다. 이름과 회원번호를 지우고 넘기면 될 것 같지만, 남은 것만으로도 사람이 드러나는 경우가 많다. 생년월일과 성별과 사는 곳 우편번호, 이 세 가지가 붙어 있으면 대부분의 사람은 자기 자료를 알아볼 수 있고, 동창회 명부나 사내 주소록을 가진 사람은 남의 자료도 알아본다. 이것이 준식별자(quasi-identifier) 문제다. 직접 식별자는 혼자서 사람을 가리키고, 준식별자는 여럿이 모여 사람을 가린다.

건강 정보는 여기에 한 겹이 더 있다. 진단코드는 분석에 꼭 필요한 값인데 동시에 가장 민감한 값이다. 국내에서는 [개인정보 보호법](https://www.law.go.kr/%EB%B2%95%EB%A0%B9/%EA%B0%9C%EC%9D%B8%EC%A0%95%EB%B3%B4%20%EB%B3%B4%ED%98%B8%EB%B2%95)이 건강에 관한 정보를 민감정보로 따로 규정해 더 엄하게 다루도록 하고([제23조](https://www.law.go.kr/%EB%B2%95%EB%A0%B9/%EA%B0%9C%EC%9D%B8%EC%A0%95%EB%B3%B4%20%EB%B3%B4%ED%98%B8%EB%B2%95/%EC%A0%9C23%EC%A1%B0)), 그래서 "이름만 지웠다" 는 설명으로는 반출 승인을 받기 어렵다.

어떻게 동작하나

점검 항목의 본보기로 자주 인용되는 것이 미국 HIPAA 의 비식별 기준이다. [45 CFR 164.514](https://www.ecfr.gov/current/title-45/part-164/section-164.514)는 두 가지 길을 준다. 하나는 전문가 판단(expert determination)이고, 다른 하나는 Safe Harbor 다. Safe Harbor 는 식별자 18가지를 없애라고 열거하는데, 그 안에 눈여겨볼 규칙이 셋 있다.

이 규정은 미국 의료기관과 그 협력사에 적용되는 것이고, 한국 보험사에 그대로 적용되지 않는다. 하지만 "무엇을 빠뜨렸는가" 를 확인하는 목록으로는 여전히 쓸모가 있다.

목록을 다 지켜도 남는 위험을 재는 자가 k-익명성 이다. 준식별자 조합이 같은 줄이 몇 개나 있는지 세어, 그 최솟값을 k라고 부른다. k가 1이면 그 조합을 아는 사람은 한 줄을 정확히 집어낼 수 있다. k를 올리는 방법은 두 가지뿐이다. 값을 뭉개거나(일반화) 줄을 빼거나(억제). 일반화는 정보를 덜 잃고, 억제는 확실하지만 분석에 쓸 자료가 줄어든다. 그래서 순서가 중요하다. 먼저 일반화하고, 그래도 남는 작은 조합만 억제한다. 반대로 하면 버리는 줄이 눈덩이처럼 늘어난다.

원본:      1971-04-02 · F · 80712  →  이 조합을 가진 줄이 1개 (k=1)일반화:    1971 · F · 807          →  이 조합을 가진 줄이 9개 (k=9)작은 지역: 1943 · M · 000          →  인구가 적어 앞자리까지 지움억제:      조합이 5개 미만인 줄은 반출하지 않음

현장에서 만나는 모습

가장 흔한 사고는 한 파일만 보고 안전하다고 판단하는 것 이다. 지난달 보낸 추출본과 이번 추출본을 나란히 놓으면, 두 번 모두 나온 사람의 조합이 줄어들어 서로를 좁혀 준다. 그래서 반출 기록에 무엇을 언제 누구에게 어떤 규칙으로 내보냈는지를 남긴다. 기록이 없으면 다음 요청이 왔을 때 위험을 다시 계산할 수도 없다.

두 번째는 k만 보고 안심하는 것 이다. k가 5여도 그 다섯 줄의 진단코드가 전부 같으면, 누구인지는 몰라도 그 사람이 어떤 병으로 청구했는지는 드러난다. 값 자체가 새는 이 문제는 k로 막히지 않는다. 민감한 열은 조합 안에서 값이 몇 종류인지를 따로 보는 편이 좋다.

세 번째는 되돌리기 위한 열쇠를 함께 보내는 것 이다. 같은 조문의 재식별 조항은, 되돌릴 수 있는 코드를 붙이더라도 그 코드가 원래 값에서 유도되지 않아야 하고 그 방법을 공개하지 말아야 한다고 적는다. 회원번호를 그대로 쓰거나 회원번호를 해시해 붙이면 이 조건을 어긴다.

실무에서 진짜 중요한 것

다음 실습에서 할 것

합성 청구 자료 800건을 만들어, 직접 식별자를 걷어 내고 k를 세어 본 뒤, 날짜 일반화와 고령 묶기, 작은 지역과 드문 진단코드 처리를 차례로 적용한다. 그러고 나서 k가 5 미만인 조합을 억제해 반출본을 만들고, 재식별을 직접 시도해 그 사람이 몇 명 속에 숨었는지 재고, 반출 기록과 점검 목록을 남긴다. 채점기는 단계마다 앞 단계 파일에서 결과를 다시 계산해 한 줄씩 대조한다.