환자 질병 유무 데이터를 공개할 때 데이터셋에 불확실성을 추가함으로써 개별 환자의 질병 유무를 확정할 수 없도록 만들 수 있습니다.
예를 들어 어떤 병원이 데이터 분석을 목적으로 10,000명 규모의 환자 데이터셋을 만들고 그 중에서 무작위로 약 1,000명을 선택하여 그들의 질병 유무를 반대로 바꾼다고 생각해 봅시다. 이렇게 만들어진 데이터셋과 무작위 선택 방법을 공개하지만 누구의 질병 유무를 바꾸었는지는 공개하지 않습니다. 따라서 공개된 데이터셋을 보게 되더라도 특정 환자의 질병 유무를 100% 수준으로는 확신할 수 없게 됩니다.
이때 적용하는 방법과 알고리즘을 차등 정보보호(Differential Privacy, DP)라고 하고 처리된 데이터셋을 Differentially Private Data라고 합니다.
개인정보보호에 대한 하나의 수학적 정의인 차등정보보호는 다음과 같은 특징을 가지고 있습니다.
차등 정보보호에서 가장 보편적으로 사용되는 기법입니다. 핵심 원리는 데이터베이스에 대한 통계적 질의(Query)의 결과값에 수학적으로 생성된 '노이즈(noise)'라고 불리는 무작위 숫자를 더하여, 개별 데이터의 기여도를 모호하게 만드는 것입니다.
작동 원리
쿼리 실행: 데이터 분석가가 데이터베이스에 쿼리(예: "30대 사용자들의 평균 소득은 얼마인가?")를 실행하면, 시스템은 먼저 실제 결과값을 계산합니다.
민감도(Sensitivity) 계산: 쿼리 결과가 데이터베이스 내의 단 한 사람의 데이터 변화에 의해 얼마나 크게 변할 수 있는지를 측정합니다. 예를 들어, 한 사람의 데이터를 추가하거나 제거했을 때 평균 소득의 최댓값 변화가 '민감도'가 됩니다. 민감도가 높을수록 더 많은 노이즈가 필요합니다.
노이즈 생성 및 추가: 계산된 민감도와 목표 프라이버시 수준(엡실론, ε)에 따라 노이즈의 크기가 결정됩니다. 이 노이즈를 실제 쿼리 결과에 더하여 최종 결과를 만듭니다.
대표적인 노이즈 메커니즘
라플라스 메커니즘 (Laplace Mechanism): 평균, 합계, 개수 등 수치형 결과를 반환하는 쿼리에 주로 사용됩니다. 민감도에 비례하는 라플라스 분포에서 추출된 노이즈를 추가합니다.
가우시안 메커니즘 (Gaussian Mechanism): 라플라스 메커니즘과 유사하지만, 정규분포(가우시안 분포)에서 노이즈를 추출합니다. 여러 쿼리를 조합하거나 머신러닝 모델의 학습 파라미터를 보호하는 등 더 복잡한 분석에 적합합니다.
결론적으로, 노이즈 추가 기법은 분석 결과에 약간의 불확실성을 주입하여 "이 결과가 특정 개인의 정보 때문에 이렇게 나온 것"이라고 확신할 수 없게 만듦으로써 개인의 프라이버시를 보호합니다.
무작위 응답
주로 설문조사와 같이 사용자로부터 직접 데이터를 수집하는 단계에서 적용되는 기법입니다. 응답자가 자신의 민감한 정보(예: 위법 행위 경험, 특정 정치 성향 등)를 직접적으로 노출하지 않고도 통계적으로 유의미한 데이터를 제공할 수 있게 합니다.
작동 원리
이해를 돕기 위해 "불법 다운로드 경험이 있습니까?"라는 민감한 질문을 예로 들어보겠습니다.
응답자 답변: 응답자는 이 규칙에 따라 답변합니다. 질문자는 응답자가 어떤 규칙에 따라 답변했는지(진실을 말했는지, 무작위로 답했는지) 알 수 없습니다. 따라서 "예"라는 답변이 실제 경험 때문인지, 아니면 동전 던지기 결과 때문인지 구분할 수 없습니다.
통계적 보정: 데이터 수집가는 이렇게 수집된 수많은 응답을 바탕으로 통계적 보정을 통해 실제 "예"의 비율을 추정할 수 있습니다. 예를 들어, 전체 응답 중 70%가 "예"라고 나왔다면, 무작위 응답으로 인해 "예"가 나올 확률(이 경우 25%)을 제외하여 실제 불법 다운로드 경험자의 비율을 수학적으로 계산해낼 수 있습니다.
이 기법은 각 응답의 신뢰도를 희생하는 대신, 응답자에게 그럴듯한 부인 가능성(Plausible Deniability)을 제공하여 더 솔직한 답변을 유도하고, 전체 데이터셋의 통계적 정확성을 확보하는 데 목적이 있습니다. 지역형 차등 정보보호(Local DP)의 근간이 되는 중요한 기술입니다.
구현 모델에 따른 분류
중앙형 차등 정보보호 (Central DP):
개념: 신뢰할 수 있는 중앙 데이터 관리자(서버)가 원본 데이터를 모두 수집합니다.
처리: 관리자는 수집된 전체 데이터에 대해 쿼리를 실행하고, 그 결과값에 노이즈를 추가하여 외부에 공개합니다.
장점: 데이터 전체의 통계적 특성을 파악한 후 최소한의 노이즈를 추가하므로 데이터의 정확성과 유용성이 높습니다.
단점: 모든 원본 데이터가 중앙 서버에 집중되므로, 서버 관리자에 대한 높은 신뢰가 필요하며 서버가 해킹당할 경우 개인정보 유출 위험이 있습니다.
지역형 차등 정보보호 (Local DP):
개념: 중앙 관리자를 신뢰하지 않는 모델입니다. 각 사용자의 기기(로컬)에서 데이터가 중앙 서버로 전송되기 전에 프라이버시 처리가 이루어집니다.
처리: 각 사용자가 자신의 데이터에 직접 노이즈를 추가한 후, 처리된 데이터를 서버로 전송합니다. 서버는 노이즈가 포함된 데이터들을 수집하여 통계를 분석합니다.
장점: 원본 데이터가 기기를 떠나지 않으므로 강력한 프라이버시를 보장합니다. 중앙 서버 관리자를 신뢰할 필요가 없습니다.
단점: 각 데이터에 개별적으로 노이즈가 추가되므로 전체적으로 노이즈의 양이 많아져 데이터의 정확성과 유용성이 중앙형 모델에 비해 낮아질 수 있습니다.
'공격 벡터'에서 '벡터(vector)' 라는 단어를 사용하는 이유는 이 단어가 가진 '방향과 경로를 통해 무언가를 전달하는 매개체' 라는 핵심 의미 때문입니다. 이는 주로 생물학과 수학/물리학에서 유래한 비유입니다.
1. 생물학적 비유 (질병의 전파)
가장 강력한 비유는 생물학의 '매개체(vector)'입니다.
생물학에서 벡터란? 말라리아를 옮기는 모기처럼, 병원균을 한 숙주에서 다른 숙주로 옮기는 생물을 의미합니다. 모기 자체가 질병은 아니지만, 질병을 전달하는 경로이자 수단이 됩니다.
사이버 보안의 적용: 이와 마찬가지로, 피싱 이메일은 악성코드라는 '병원균(pathogen)'을 공격자로부터 사용자 컴퓨터라는 '숙주(host)'로 전달하는 '공격 벡터'가 됩니다. 이메일 자체가 해킹은 아니지만, 해킹을 성공시키는 결정적인 경로와 수단의 역할을 하는 것입니다.
2. 수학/물리학적 비유 (방향과 경로)
수학이나 물리학에서 벡터는 '크기와 방향을 가진 양'을 나타내며, 특정 시작점에서 끝점으로의 경로를 의미합니다.
수학에서 벡터란? 점 A에서 점 B로 향하는 화살표(→)로 표현되며, 명확한 방향과 경로를 나타냅니다.
사이버 보안의 적용: 공격 벡터는 공격자(시작점)가 시스템의 취약점(목표 지점)에 도달하기 위해 사용하는 구체적인 공격 경로(path)를 의미합니다. 공격이 어떤 방향과 방법으로 진행되는지를 명확하게 설명해주는 용어입니다.
결론적으로 '공격 벡터'라는 용어는 단순히 '공격 방법'이라고 말하는 것보다, 공격이 어떤 경로를 통해, 어떤 매개체를 이용하여 전달되고 실행되는지를 보다 전문적이고 명확하게 표현하기 위해 사용됩니다.