위험 분석

위험 분석은 민감한 정보를 분석하여 대상이 식별되거나 개인의 민감한 정보가 누출되는 위험을 높일 수 있는 속성을 찾는 프로세스입니다. 위험 분석 방법을 재식별 전에 사용하여 효과적인 익명화 전략을 결정하거나, 익명화 이후에 사용하여 변경 또는 이상점을 모니터링할 수 있습니다.

익명화는 데이터에서 식별 정보를 삭제하는 프로세스입니다. Cloud Data Loss Prevention(DLP)는 조직 요구사항에 맞게 구성한 방식에 따라 민감한 정보를 감지하고 익명화할 수 있습니다.

반대로, 재식별은 익명화된 데이터를 다른 가용 데이터와 대조하여 해당 데이터의 소유자를 확인하는 프로세스입니다. 재식별은 대부분 의료 또는 금융 데이터와 같은 민감한 개인정보 맥락에서 논의됩니다.

Cloud DLP를 사용하여 다양한 유형의 위험을 측정하는 방법에 대한 자세한 내용은 재식별 및 공개 위험 측정을 참조하세요.

위험 분석 용어 및 기술

민감한 정보를 올바르게 또는 충분히 익명화하지 않는 경우 공격자가 데이터를 재식별하거나 개인에 대한 민감한 정보를 습득하게 될 위험이 발생하며, 이는 개인정보 보호 측면에서 심각한 결과를 야기할 수 있습니다. Cloud DLP는 여러 측정항목에 따라 이 위험을 계산하고 수량화하는 데 도움이 될 수 있습니다.

측정항목을 설명하기 전에 먼저 몇 가지 일반적인 용어를 참조하세요.

  • 식별자: 식별자는 개인을 고유하게 식별하는 데 사용될 수 있습니다. 예를 들어 개인의 전체 이름 또는 정부 ID 번호는 식별자로 간주됩니다.
  • 유사 식별자: 유사 식별자는 개인을 고유하게 식별하지는 않지만 개인 레코드와 조합 및 교차 참조할 경우 공격자가 개인을 재식별할 가능성을 현저히 높일 수 있습니다. 예를 들어 우편번호와 연령은 유사 식별자로 간주됩니다.
  • 민감한 정보: 민감한 정보는 승인되지 않은 노출로부터 보호되는 데이터입니다. 건강 상태, 급여, 전과, 지리적 위치와 같은 속성은 일반적으로 민감한 정보로 간주됩니다. 식별자와 민감한 정보는 겹칠 수 있습니다.
  • 등가 클래스: 등가 클래스는 동일한 유사 식별자를 가진 행 그룹입니다.

Cloud DLP는 다음 네 가지 기술을 통해 데이터세트와 관련된 위험 레벨을 수량화할 수 있습니다.

  • k-익명성: 레코드의 재식별성을 나타내는 데이터세트의 속성입니다. 데이터세트에 있는 각 개인의 유사 식별자가 동일한 데이터세트에 있는 최소 k – 1명의 다른 사람과 동일한 경우 해당 데이터세트는 k-익명성을 가집니다.
  • l-다양성: k-익명성의 확장으로, 해당 값이 발생하는 각 열에서 민감한 값의 다양성을 추가로 측정합니다. 동일한 유사 식별자를 가진 모든 행 집합에서 각 민감한 속성의 고유 값이 최소 l개 있는 경우 데이터세트는 l-다양성을 가집니다.
  • k-맵: 대상의 주어진 익명화된 데이터세트를 더 큰 재식별 또는 '공격' 데이터세트와 비교함으로써 재식별성 위험을 계산합니다. Cloud DLP는 공격 데이터세트를 인식하지 못하지만, 미국 인구조사국 데이터와 같은 공개적으로 제공되는 데이터를 사용하거나 커스텀 통계 모델을 사용하거나(하나 이상의 BigQuery 테이블로 나타남) 입력 데이터세트 값의 분포에서 추론함으로써 공격 데이터세트를 통계적으로 모델링합니다. 각 데이터세트(샘플 데이터세트와 재식별 데이터세트)는 하나 이상의 유사 식별자 열을 공유합니다.
  • 델타-존재(δ-존재): 더 큰 인구 범위에 있는 특정 사용자가 데이터세트에 존재할 가능성을 추정합니다. 데이터세트의 멤버십 자체가 민감한 정보인 경우 사용됩니다. k-맵과 마찬가지로 Cloud DLP는 공격 데이터세트를 인식하지 못하지만, 공개적으로 제공되는 데이터, 사용자가 지정한 분포, 입력 데이터세트를 통한 추론을 사용하여 통계적으로 공격 데이터세트를 모델링합니다.

k-익명성 정보

연구 목적으로 데이터를 수집하는 경우 개인정보 보호를 위해 익명화가 필수적일 수 있습니다. 이와 동시에 익명화로 인해 데이터세트의 실질적인 유용성이 사라질 수 있습니다. k-익명성은 데이터세트의 재식별 가능성을 정량화하고, 익명화된 사람들의 데이터가 가진 유용성과 사용되는 데이터의 주체인 사람들의 개인정보 보호 사이에서 균형을 맞추기 위한 목적으로 탄생되었습니다. 데이터세트 내에서 레코드의 재식별 가능성을 평가하는 데 데이터세트의 속성을 사용할 수 있습니다.

예를 들어 환자 데이터 집합을 보겠습니다.

환자 ID 전체 이름 우편번호 연령 상태 ...
746572 존 J. 제이콥슨 98122 29 심장 질환
652978 데브라 D. 드렙 98115 29 제2형 당뇨병
075321 에이브러햄 A. 애버내시 98122 54 간암
339012 캐런 K. 크래코우 98115 88 심장 질환
995212 윌리엄 W. 워사이머 98115 54 천식
...

이 데이터세트에는 앞서 설명한 식별자, 유사 식별자, 민감한 정보와 같은 세 가지 유형의 데이터가 모두 포함되어 있습니다.

건강 상태와 같은 민감한 정보를 가리거나 수정하지 않을 경우 공격자가 각 환자와 연결된 유사 식별자를 사용하고 비슷한 유사 식별자가 포함된 다른 데이터세트와 교차 참조하여 민감한 정보의 당사자가 누구인지 재식별할 가능성이 있습니다.

데이터세트의 인구통계 열의 모든 값 조합이 최소한 k개의 다른 레코드에 나타나는 경우 그 데이터세트는 k-익명성을 가집니다. 동일한 유사 식별자를 가진 행 그룹을 '등가 클래스'로 지칭한다는 점을 기억하세요. 예를 들어 유사 식별자 값이 동일한 행이 최소 4개 있도록 유사 식별자를 충분히 익명화했다면 그 데이터세트의 k-익명성 값은 4입니다.

항목 ID 및 k-익명성 계산

k-익명성을 계산할 때 Cloud DLP에서 제공하는 중요 옵션은 선택적인 항목 식별자(ID)입니다. 항목 ID는 데이터세트의 여러 행이 동일한 사용자에 해당하는 일반적인 시나리오에서 더 정확하게 k-익명성을 판단할 수 있게 해줍니다. 그렇지 않고 사용자에 관계없이 모든 행이 별도로 계산된다면 데이터세트의 k-익명성 값을 계산하는 데 사용되는 총 사용자 수가 인위적으로 많아집니다. 이로 인해 계산된 k-익명성 값이 부정확해집니다.

다음과 같은 간단한 데이터세트를 예로 들어 보겠습니다.

사용자 ID 우편번호
01 42000
02 17000
02 42000
03 17000
03 42000
03 42000
04 42000
04 17000

항목 ID를 사용하여 다른 여러 행이 동일한 사용자에 속함을 나타내지 않을 경우 실제 사용자 수는 4명임에도 k-익명성을 계산할 때 사용되는 총 사용자 수는 8명이 됩니다. 데이터베이스에 있는 실제 사람 수는 4명이지만 이 데이터세트에서 일반적인 k-익명성 계산 방법(항목 ID 없음)을 사용하면 3명이 k-익명성 값 3을 갖고, 5명이 k-익명성 값 5를 갖게 됩니다.

항목 ID를 사용하면 Cloud DLP는 k-익명성을 계산할 때 사용자가 연결된 우편번호의 다중세트를 유사 식별자로 간주합니다. 이 예의 경우 사용자에게 할당되는 유사 식별자의 고유한 조합은 42000, 17000과 42000의 다중세트, 17000과 42000과 42000의 다중세트로 3개이므로 실제 3개의 '복합' 유사 식별자 값이 있습니다. 이는 다음과 같이 사용자에 해당됩니다.

  • [42000]은 1명의 고유 사용자와 연결됩니다(01).
  • [17000, 42000]은 2명의 고유 사용자와 연결됩니다(02와 04).
  • [17000, 42000, 42000]은 1명의 고유 사용자와 연결됩니다(03).

여기서 볼 수 있듯이 이 방법은 우편번호 데이터베이스에서 사용자가 두 번 이상 나타날 수 있음을 감안하며 k-익명성을 계산할 때 이를 적절히 반영합니다.

k-익명성 리소스

k-익명성에 대한 자세한 내용은 하버드 대학 데이터 개인정보 보호 연구실 소속 피에란젤라 사마라티와 라타냐 스위니의 정보 공개 시 개인정보 보호: k-익명성과 일반화 및 억제를 통한 그 구현을 참조하세요.

Cloud DLP에서 항목 ID에 관계없이 k-익명성을 계산하는 방법은 DLP API로 k-익명성 계산을 참조하세요.

l-다양성 정보

l-다양성은 k-익명성과 긴밀히 관련되며 다음과 같은 익명화된 데이터세트 공격에 대한 취약성에 대처하기 위해 만들어졌습니다.

  • 균질성 공격. 공격자는 k개의 레코드 내에 있는 값의 균질성을 이용하여 k-익명화된 데이터의 민감한 값을 예측합니다.
  • 배경 지식 공격. 공격자는 특정 민감한 속성이 있는 유사 식별자 값 사이의 연관성을 이용하여 이 속성의 가능한 값 범위를 좁힙니다.

l-다양성은 k-익명성과 등가 클래스(유사 식별자 값이 동일한 행 집합) 측면에서 공격자가 사람들에 대해 얼만큼 알아낼 수 있는지를 측정합니다. 모든 등가 클래스에 대해 각각의 민감한 속성에 최소 l개의 고유한 값이 있는 경우 데이터세트는 l-다양성을 가집니다. 각 등가 클래스에 대해 얼마나 많은 민감한 속성이 데이터세트에 있나요? 예를 들어 l-다양성 = 1인 경우 모두에게 동일한 민감한 속성이 있다는 의미이며 l-다양성 = 2인 경우 모두에게 두 개의 민감한 속성 중 하나가 있다는 의미입니다. 이런 식으로 계속 진행됩니다.

l-다양성 리소스

l-다양성에 대한 자세한 내용은 코넬 대학 컴퓨터 공학 학부의 애쉰 마카나바지할라, 조안 거크, 다니엘 키퍼의 l-다양성: k-익명성 이상의 개인정보 보호를 참조하세요.

Cloud DLP로 l-다양성을 계산하는 방법은 DLP API로 l-다양성 계산을 참조하세요.

k-맵 정보

k-맵은 공격자가 데이터세트에 누가 있는지 모를 가능성이 높다고 전제한다는 점을 제외하면 k-익명성과 상당히 비슷합니다. 데이터세트가 비교적 작거나, 속성 일반화에 투입되는 노력의 정도가 지나치게 높다고 판단되는 경우 k-맵을 사용합니다.

k-익명성과 마찬가지로 k-맵에서도 데이터베이스의 어느 열이 유사 식별자인지를 확인해야 합니다. 이 과정에서 공격자가 대상을 재식별하기 위해 사용할 가능성이 가장 높은 데이터를 명시합니다. 또한 k-맵 값을 계산하기 위해서는 재식별 데이터세트, 즉 원본 데이터세트의 행을 비교할 더 큰 테이블이 필요합니다.

다음과 같은 소규모 데이터세트 예를 살펴보겠습니다. 이 샘플 데이터는 더 큰 가상의 데이터베이스에 속한 일부분으로, 민감한 정보가 응답에 포함된 설문을 통해 수집되었습니다.

우편번호 연령
85535 79
60629 42

이 자체만 보면 두 개인에게 각각 동일한 양의 정보가 있는 것처럼 보입니다. 사실 더 큰 데이터세트의 k-익명성을 고려하면 두 번째 행에 해당하는 대상의 식별 가능성이 높다고 생각할 수 있습니다. 그러나 한 걸음 물러나서 데이터를 살펴보면 그렇지 않다는 것을 알 수 있습니다. 특히 미국 우편번호인 85535에는 현재 약 20명의 사람들이 거주하고 있음을 감안해 보세요. 85535 우편번호에 거주하며 나이가 정확히 79세인 사람은 1명밖에 없을 수도 있습니다. 반면 우편번호 60629는 시카고 대도시 지역의 일부로, 100,000명 이상의 사람들이 거주합니다. 이 우편번호에서 나이가 정확히 42세인 사람은 약 1,000명입니다.

위의 작은 데이터세트에서 첫 번째 행은 손쉽게 재식별이 가능하지만 두 번째 행은 그렇지 않습니다. 그러나 k-익명성에 따르면 큰 데이터세트에서는 두 행 모두 더 완전히 고유할 수 있습니다.

k-익명성과 마찬가지로 k-맵에서도 데이터베이스의 어느 열이 유사 식별자인지를 확인해야 합니다. Cloud DLP의 위험 분석 API는 재식별 데이터세트를 시뮬레이션하여 공격자가 데이터 재식별을 목적으로 원본 데이터세트를 비교할 때 수행하는 단계를 추정합니다. 이전 예에서는 미국 위치(우편번호)와 개인 데이터(연령)를 다루고, 공격자가 설문에 참여한 사람이 누구인지 모른다고 가정했으므로 재식별 데이터세트는 미국에 거주하는 모든 사람이 될 수 있습니다.

이제 유사 식별자 및 재식별 데이터세트가 있으므로 k-맵 값을 계산할 수 있습니다. 재식별 데이터세트에서 유사 식별자의 모든 값 조합이 최소 k번 나오는 경우 데이터는 k 값이 있는 k-맵을 충족합니다.

이 정의와 데이터베이스의 첫 번째 행이 미국에서 1명에게만 해당할 가능성이 높다는 점을 감안하면 예 데이터세트는 2 이상인 k-맵 값 요구사항을 충족하지 않습니다. 더 큰 k-맵 값을 얻기 위해 다음과 같이 연령 값을 삭제할 수 있습니다.

우편번호 연령
85535 **
60629 **

앞서 언급한 우편번호 85535에는 약 20명, 60629에는 100,000명 이상이 거주합니다. 따라서 새로운 일반화된 데이터세트의 k-맵 값을 약 20으로 추정할 수 있습니다.

k-맵 리소스

k-맵 및 k-익명성과의 관계에 대한 자세한 내용은 칼레드 엘 에맘과 피다 카말 단카르가 Journal of the American Medical Informatics Association에 기고한 k-익명성을 사용한 개인정보 보호를 참조하세요.

Cloud DLP로 k-맵 추정값을 계산하는 방법은 DLP API로 k-맵 추정값 계산을 참조하세요.

δ-존재 정보

델타-존재(δ-존재)는 공격 대상이 데이터세트에 있는지 여부를 확인하려고 하는 공격자와 관련된 위험을 추정합니다. 목표가 정확히 어느 레코드가 개인에 해당하는지 찾는 것이 아니라 개인이 데이터세트에 속하는지 여부만 아는 것이라는 측면에서 재식별 위험과는 약간 다릅니다. 이 측정항목 사용은 특히 데이터세트의 여러 개인이 공통적인 민감한 속성을 공유하는 경우(예를 들어 의료 진단 항목이 모두 동일한 경우) 적합합니다.

다른 위험 측정항목과 마찬가지로 δ-존재에서도 데이터베이스의 어느 열이 유사 식별자인지를 확인해야 합니다. 이 과정에서 공격자가 데이터세트에 포함된 개인이 누구인지 찾아내기 위해 사용할 가능성이 가장 높은 데이터를 명시하게 됩니다. k-맵과 마찬가지로, δ-존재를 계산하려면 공격 데이터세트, 즉 원본 데이터세트의 행을 비교할 더 큰 테이블이 필요합니다.

다음과 같은 소규모 데이터세트 예를 살펴보겠습니다. 이 샘플 데이터는 특정 유전병이 있는 사람들로 구성된 더 큰 가상의 데이터베이스의 일부분입니다.

우편번호 연령
85942 72
85942 72
62083 53

미국 우편번호 85942에 72세인 사람은 약 2명이며 우편번호 77970에 53세인 사람은 약 5명입니다. 처음 두 개의 레코드는 동일한 유사 식별자가 있으므로 엄밀한 의미에서 재식별 가능 레코드는 아닙니다. 그러나 더 큰 인구 집합에서 이러한 유사 식별자를 공유하는 개인이 2명에 불과하므로 공격자는 유전병을 앓고 있는 2명을 추론할 수 있습니다. δ-존재는 데이터세트의 특정 유사 식별자를 가진 사람의 비율을 계산하여 이 특정 위험을 정량화합니다.

다른 위험 측정항목과 마찬가지로 δ-존재에서도 데이터베이스의 어느 열이 유사 식별자인지를 확인해야 합니다. 또한 k-맵 추정과 마찬가지로 Cloud DLP의 위험 분석 API는 인구 데이터세트를 시뮬레이션하여 공격자가 데이터세트에 포함된 사람을 찾기 위해 사용할 가능성이 높은 데이터세트를 추정합니다. 이전 예에서는 미국 위치(우편번호)와 개인 데이터(연령)를 다루고, 공격자가 누구에게 유전병이 있는지 모른다고 가정했으므로 이 인구 데이터세트는 미국에 거주하는 모든 사람이 될 수 있습니다.

이제 유사 식별자 및 재식별 데이터세트가 있으므로 δ-존재 값을 계산할 수 있습니다. 데이터세트에서 유사 식별자의 모든 값 조합이 δ * k개 이하인 경우(여기서 k는 인구 데이터세트에서 이러한 유사 식별자 값이 있는 사람들의 총 수) 데이터는 δ 값이 있는 δ-존재를 충족합니다. k-익명성 또는 k-맵의 k와 달리 δ-존재의 δ는 0과 1 사이의 실수입니다.

이 정의와, 총 인구의 우편번호 85942에 있는 72세인 사람 2명 모두 데이터베이스에 있음을 감안하면 이 데이터세트는 1보다 엄격히 작은 δ에 대해 δ-존재를 충족하지 않습니다. 더 낮은 δ-존재 값을 얻기 위해 처음 두 행에서 연령 값을 삭제할 수 있습니다.

우편번호 연령
85942 **
85942 **
62083 53

우편번호 85942에 거주하는 사람 수는 80명이므로 이제 처음 두 레코드의 δ 값은 약 2 / 80 = 2.5%이며, 세 번째 레코드의 δ 값은 약 1 / 5 = 20%입니다. 따라서 새로운 일반화된 데이터세트의 δ-존재 값을 약 20%로 추정할 수 있습니다.

δ-존재 리소스

통계 데이터에 근거한 δ-존재 추정에 대한 자세한 내용은 메메트 에르칸 네르기즈 및 크리스 클리프톤이 쓴 퍼듀 대학 컴퓨터 공학부 기술 보고서세계에 대한 완전한 지식이 없는 δ-존재를 참조하세요.

Cloud DLP로 δ-존재 추정값을 계산하는 방법은 DLP API로 δ-존재 추정값 계산을 참조하세요.