Southern Island

[ BigData ] 개인정보 가명·익명처리(비식별화) 기술

by 월루

《 식별자 · 준식별자 · 민감정보 차이 및 처리방법  》

* 식별자(Identifiers)

특별한 추가 정보가 없어도 특정 개인을 추론할 수 있는 속성들(개인과 1:1 매칭 되는 모든 정보)을 뜻합니다. 비식별화 과정에서 무조건 "삭제처리"를 진행하여야 합니다. + 암호화된 식별자 값도 식별자로 분류됩니다.

ex) 주민번호, 전화번호, 이름, 이메일, 계좌번호, 유전 정보 등

 

* 준식별자(QI: Quasi-Identifiers)

자체로는 식별자가 아니지만 추가적인 정보를 활용하여 특정 개인을 추론할 수 있는 속성들을 뜻합니다. 비식별화 과정에서 기술적용의 대상이 되는 속성입니다.

ex) 주소, 키, 몸무게, 나이, 혈액형 등

 

* 민감정보(SA:Sensitive Attributes)

데이터 분석시 주로 사용되는 속성들입니다. 프라이버시 모델에 맞춰 최대한 값을 보존합니다.

ex) 입원일, 입원기간, 예금 잔고, 카드 결제 액, 병명 등

 

《 비식별화 기술 및 효과  》

★ : 많이 사용함

 

# 삭제기술 #

1-1. ★삭제(Suppression) : 특정 속성 값을 단순 삭제, 보통 식별자 속성 값에 사용합니다.

ex) [성명, 성별, 나이] => [성별, 나이]

 

1-2. 부분삭제(Partial Suppression) : 특정 속성 값의 데이터를 일부만을 삭제

ex) [김철수, 남, 23세] => [김, 남, 41세]

 

1-3. ★행 항목 삭제(Record Suppression) : 다른 정보와 뚜렷하게 구별되는(평균에 비하여 오차범위를 벗어나는 값) 행 삭제

ex) [김철수, 남, 3만원], [이영희, 여, 2만 원], [박민호, 남, 200만 원] => [김철수, 남, 3만 원], [이영희, 여, 2만 원]

 

1-4. 로컬 삭제(Local Suppresion) : 다른 정보와 뚜렷하게 구별되는(평균에 비하여 오차범위를 벗어나는 값) 값 삭제

ex) [김철수, 남, 3만 원], [이영희, 여, 2만 원], [박민호, 남, 200만원] => [김철수, 남, 3만원], [이영희, 여, 2만원], [박민호, 남]

 

1-5. ★마스킹(Masking) : 특정 속성 값의 일부 또는 전부를 공백 또는 문자(‘ * ’, ‘ _ ’ 등이나 전각 기호)로 대체

ex) [김철수, 남, 23세] => [김OO, 남, 2*세]

 

# 통계 도구 #

2-1. ★총계 처리(Aggregation) : 특정 속성 값의 전체를 평균값, 최댓값, 최솟값, 최빈값, 중간값 등으로 처리

ex) [김철수, 3만 원], [이영희, 2만원], [박민호, 5만원] =(평균값)> [김철수, 3만원], [이영희, 3만원], [박민호, 3만원]

 

2-2. 부분 총계(Micro Aggregation) : 다른 정보에 비하여 오차 범위가 큰 항목을 준식별자를 기준으로 동질 집합을 형성하여 해당 부분만 총계 처리

ex)

오차범위가 큰 2번째 행 소득금액을 준식별자인 지역과 나이로 동질집합을 형성하여 부분적으로 총계처리를 진행한 모습입니다.

 

# 일반화 기술 #

3-1-1. 일반 라운딩(Rounding) : 특정 속성 값의 데이터 전체를 올림, 내림, 반올림 등의 기준을 적용하여 집계 처리하는 기술

ex) [33세], [61세], [47세], [66세], [40세] =(반올림)> [30세], [60세], [50세], [70세], [40세]

 

3-1-2. ★랜덤 라운딩(Random Rounding) : 특정 속성값의 데이터를 임의의 자릿수 또는 실제 수 기준으로 라운딩 처리하는 기술

ex) [869,250원], [4,559,120원], [13,601,564원] => [900,000원], [4,000,000원], [14,000,000원]

 

3-1-3. ★제어 라운딩(Controlled Rounding) : 라운딩 기술 적용 시 해당 속성 값의 데이터 합계나 평균이 변하는 문제를 해결하기 위하여 원본과 합계, 평균이 일치하도록 라운딩 하는 기술

* 구현이 어렵고 복잡한 통계표의 적용이 어려워 실무에선 잘 사용하지 않음

 

3-2. ★상하단 코딩(Top and bottom coding) : 정규분포의 특성을 가진 속성 데이터에서 양쪽 끝에 치우친 정보가 식별성을 가질 수 있어, 이를 해결하기 위해 적은 수의 분포를 가진 양 끝단의 정보를 비식별화 기술을 적용하여 식별성을 낮추는 기법

 

3-3. 로컬 일반화(Local Generalization) : 부분 총계와 동일한 경우 총계 처리 대신 다른 일반화 기술 사용

준식별자인 지역, 나이로 동질집합을 형성하여 소득금액을 일반화 기술의 범위방법 처리한 모습입니다.

 

3-4. ★범위 방법(Data Range) : 수치 데이터를 임의의 수 기준의 범위를 구간으로 나타내는 기술

ex) [소득 3,300만 원] => [소득 3,000만 원 ~ 4,000만 원]

 

3-5. ★문자 데이터 범주화(Categorization of character data) : 특정 속성의 문자 데이터에 대해 상위 개념으로 범주화하는 기술

ex) [분유], [기저귀], [젖병] => [육아용품]

 

# 암호화 #

4-1. 양방향 암호화(Two-way Encryption) : 특정 속성의 데이터를 암호화 및 복호화가 가능한 암호 함수를 적용하는 기술

+ 양방향 암호화는 암호화 및 복호화에 동일한 비밀키로 암호화하는 AES, ARIA 등 대칭키 방식과 공개키와 개인키를 이용하는 RSA 등 비대칭키 방식으로 구분됩니다.

 

4-2. ★일방향 암호화(One-way Encryption) : 특정 속성의 데이터를 복호화가 불가능한 해쉬 함수를 적용하는 기술

+ 키가 없는 해쉬 함수, 키 있는 해쉬함수, 솔크가 있는 해쉬 함수로 구분

 

4-3. 순서 보존 암호화(Order-preserving Encryption) : 원본 데이터의 순서와 함호 값의 순서가 동일하게 유지되는 암호화 방식, 암호화된 상태에서도 암호정보의 순서가 유지되어 값들 간의 크기에 대한 비교 분석이 가능함.

ex) [200, 100, 300] => [2214, 1342, 3452]

 

4-4. 형태 보존 암호화(Format-preserving Encryption) : 원본 데이터의 형태와 암호화된 암호 값의 형태가 동일하게 유지되는 암호화 방식, 원본 정보와의 동일한 크기와 구성을 가지고 있어, 저장 공간의 스키마 변경 이슈가 없고, 시스템의 수정이 거의 발생하지 않아 토큰화, 신용카드 번호의 암호화 등에서 사용함.

ex) [8AE7-48F5-8GG8-98QE] => [4SD4-15QW-8F45-8VD6]

 

4-5. 동형 암호화(Homomorphic Encryption) : 암호화된 상태에서 연산이 가능하고, 암호화된 상태에서 연산한 결과는 복호화를 통해 원본 데이터에서 연산한 값을 그대로 얻을 수 있는 4세대 암호화 기법

ex) [10] =(암호화)> [31234] + 4 = [31238] =(복호화)> [14]

 

4-6. 다형성 암호화(Polymorphic Encryption) : 가명 정보의 부당한 결합을 차단하기 위해 각 도메인(기관, 회사) 별로 서로 다른 암호화 방식으로 정보를 제공하는 방법

ex) A 회사에게 제공된 A 데이터셋 : [3123DWE1], [A1332FFW] | B 회사에 제공된 B 데이터셋 [31DWWDQ], [A1332FFW] = 같은 암호화로 처리된 [A1332FFW]는 서로 동일한 값이라는 걸 알 수 있음, 따라서 같은 값이라도 서로 다른 암호화를 통해 부정한 결합을 차단함

 

# 무작위화 기술 #

5-1. ★잡음 추가(Noise Addition) : 특정 속성 값의 데이터에 임의의 숫자 등 잡음을 추가하는 기술

+ 잡음 추가 시 서로 연관되는 속성 값끼리는 동일한 잡음을 추가해줘야 함

ex) 입원일 : [12월 05일], [10월 12일] =(각 잡음 +3일)> [12월 08일], [10월 15일] 단 퇴원일 자라는 서로 연관되는 속성 값이 존재한다면 퇴원 일자에도 동일한 잡음을 추가하여 총입원일에 영향을 가지 않도록 처리해야 함

 

5-2. 순열(치환)(Permutation) : 원본 값은 유지하면서 특정 속성 값의 행 항목의 정보를 무작위로 순서를 변경하는 기술

+ 테이터의 훼손 정도가 매우 큰 기법으로 무작위로 순서를 변경하는 조건 선정에 주의 필요

5-3. 토큰화(Tokenisation) : 개인을 식별할 수 있는 정보를 토큰으로 변환 후 대체함으로써 개인정보를 직접 사용하여 발생하는 개인의 대한 식별 위험을 제거하여 개인정보를 보호하는 기술

5-4. (의사) 난수 생성기((P) RNG, (Pseudo) Random Number Generator) : 특정 속성의 원본 데이터에 대해 예측이 불가능하고 패턴이 없는 임의의 값을 생성하여 적용하는 기술

 

《 프라이버시 모델이란?

프라이버시 모델이란 가능한 추론의 형태와 프라이버시 노출에 대한 정량적인 위험성을 규정하는 방법입니다.

프라이버시 모델에는 크게 K-Anonymity(익명성), L-Diversity(다양성), T-Closeness(근접성)이 있습니다.

 

1. K-익명성비식별화된 데이터의 연결 공격에 대응하기 위해 필요한 모델입니다.

 

# 연결 공격 #

공개된 준식별자 정보들의 조합(나이, 성별, 지역번호 등의 조합)을 통해 배포된 다른 데이터의 정보와 비교하여 특정 개인을 추론하는 공격입니다.

 

2. L-다양성K-익명성 모델의 동질성 공격에 대응하기 위해 필요한 모델입니다.

 

# 동질성 공격 #

K-익명성을 통해 준식별자를 조합하여 많은 민감정보가 나올 때, 해당 민감정보가 모두 같은 값일 경우, 특정 개인의 민감정보를 알아낼 수 있는 공격입니다.

 

3. T-근접성L-다양성을 만족하더라도 민감정보의 분포 차이를 통해 특정 개인의 민감정보를 추론하는 공격이 가능합니다. 이를 대비하기 위해 필요한 모델입니다.

ex) 준식별자를 동질 집합으로 하여 추론한 질병이 모두 ["위궤양", "급성 위염", "만성위염"] 일 경우 K-3와 L-3을 만족하지만 3개의 민감정보 모두 위와 관련된 질병이므로 T-값은 1이 됩니다.

 

《 마치며... 》

제가 글을 쓰는 가장 큰 이유는 배운 내용을 정리하고 나중에 다시 공부하기 위해서입니다, 따라서 잘못된 정보가 포함되어 있거나 중요한 내용이 빠져 있을 수 있습니다, 잘못된 내용이나 빠진 내용이 있는 경우 댓글로 말씀해주시면 정말 감사드리겠습니다!

 

블로그의 정보

남쪽의 외딴섬

월루

활동하기