기본 콘텐츠로 건너뛰기

차등 정보보호 - 12. 라플라스 노이즈에서 프라이버시 손실 관계식 유도

차등 정보보호(Differential Privacy)는 데이터셋에 포함된 특정 개인의 정보 유무가 분석 결과에 미치는 영향을 제한하여 개인의 프라이버시를 수학적으로 보장하는 강력한 기술입니다. 이는 질의 결과에 의도적인 '노이즈'를 추가함으로써 달성됩니다. 이때 추가되는 노이즈의 양을 결정하는 핵심 개념이 바로 전역 민감도(Global Sensitivity)입니다.

차등 정보보호와 전역 민감도의 정의

차등 정보보호(ε-Differential Privacy)는 알고리즘 $M$이 비슷한 두 데이터베이스(단 한 명의 개인 정보만 차이 나는)에 대해 거의 동일한 결과를 출력하도록 보장하는 개념입니다. 수학적으로는 다음과 같이 정의됩니다.

$$
Pr[M(D) \in S] \le e^\epsilon \cdot Pr[M(D') \in S]
$$

여기서 $D$와 $D'$는 이웃 데이터베이스, $S$는 가능한 출력 결과의 집합, 그리고 ε(엡실론)은 프라이버시 손실(privacy loss)을 나타내는 매개변수입니다. ε 값이 0에 가까울수록 프라이버시 보호 수준이 높아집니다.

전역 민감도($\Delta f$)는 질의 함수 $f$가 이웃 데이터베이스에 적용될 때 나타날 수 있는 결과값의 최대 변화량을 의미합니다. 이는 데이터셋 자체와는 무관하게 오직 질의 함수에 의해서만 결정됩니다.

$$
\Delta f = \max_{D, D'} \|f(D) - f(D')\|_1
$$

전역 민감도는 차등 정보보호를 구현하기 위해 추가해야 할 노이즈의 크기를 결정하는 데 핵심적인 역할을 합니다.

전역 민감도 적용 사례: 질병 보유자 수 계산

특정 질병(예: 당뇨병)을 앓고 있는 환자 수를 계산하는 간단한 시나리오를 통해 전역 민감도를 구체적으로 살펴보겠습니다.

  • 데이터베이스 ($D$): 병원의 환자 기록 목록
  • 질의 함수 ($f$): 데이터베이스에서 '당뇨병' 진단을 받은 환자의 수를 계산하는 함수 (COUNT 질의)

이 질의 함수의 전역 민감도를 계산해 보겠습니다. 데이터베이스 $D$와 여기서 한 명의 환자 기록이 추가되거나 삭제된 이웃 데이터베이스 $D'$를 가정합니다.

  • 환자 추가:
    • 만약 새로 추가된 환자가 당뇨병 환자라면, 질의 결과는 1 증가합니다.
      • $f(D')=f(D)+1$
    • 당뇨병 환자가 아니라면 결과는 변하지 않습니다.
      • $f(D')=f(D)$
  • 환자 제거:
    • 만약 제거된 환자가 당뇨병 환자였다면, 질의 결과는 1 감소합니다.
      • $f(D')=f(D)−1$
    • 당뇨병 환자가 아니었다면 결과는 그대로입니다.
      • $f(D')=f(D)$

두 경우 모두 질의 결과값의 최대 변화량은 1입니다. 따라서 이 COUNT 질의의 전역 민감도($\Delta f$)는 1이 됩니다.

프라이버시 손실 관계 수식 유도

이제 위 사례에 라플라스 메커니즘(Laplace Mechanism)을 적용하여 프라이버시 손실 관계를 도출해 보겠습니다. 라플라스 메커니즘은 질의 결과값에 라플라스 분포를 따르는 노이즈를 추가하여 차등 정보보호를 만족시키는 가장 일반적인 방법입니다.

알고리즘 $M$은 실제 질의 결과 $f(D)$에 스케일 $b$를 가지는 라플라스 노이즈를 추가하여 최종 결과를 반환합니다.

$$
M(D)=f(D)+Laplace(b)
$$

이때, 라플라스 노이즈의 확률 밀도 함수(PDF)는 다음과 같습니다.

$$
pdf(x|b) = \frac{1}{2b} ​exp\left(− \frac{|x|}{b}\right)
$$

알고리즘 $M$이 특정 결과 $k$를 출력할 확률의 비율을 계산하여 프라이버시 손실 관계를 유도할 수 있습니다.

$$
\frac{Pr[M(D)=k]}{Pr[M(D')=k]} 
= \frac{\frac{1}{2b} ​exp\left(−\frac{|k-f(D)|}{b}​\right)}{\frac{1}{2b} ​exp\left(−\frac{|k-f(D')|}{b}\right)}
= exp\left(\frac{|k-f(D')|-|k-f(D)|}{b}\right)
$$

삼각 부등식($|x|−|y| \le |x−y|$)에 따라 위 식의 지수 부분은 다음과 같이 제한됩니다.

$$
|k-f(D')|-|k-f(D)| \le |(k-f(D')) - (k-f(D))| = |f(D) - f(D')|
$$

전역 민감도의 정의($|f(D)−f(D')| \le \Delta f$)를 적용하면, 확률의 비율은 다음과 같은 상한을 가집니다.

$$
\frac{Pr[M(D)=k]}{Pr[M(D')=k]} \le exp\left(\frac{\Delta f}{b}\right)
$$

ε-차등 정보보호를 만족시키기 위해 상한을 ε 값으로 정합니다.

$$
\frac{\Delta f}{b} = \epsilon
$$

이로부터 라플라스 노이즈의 확률 밀도 함수에서 스케일 $b$와 프라이버시 손실을 나타내는 매개변수 ε 간의 관계식을 얻을 수 있습니다.

$$
b = \frac{\Delta f}{\epsilon}
$$

결론적으로, 전역 민감도가 1인 COUNT 질의에 스케일 $b$가 

$$
b = \frac{1}{\epsilon}
$$

인 라플라스 노이즈를 추가하면, 특정 개인의 데이터 포함 여부가 최종 결과에 미치는 영향이 $e^{\epsilon}$ 배를 넘지 않도록 보장하여 개인의 프라이버시를 효과적으로 보호할 수 있습니다.

댓글

이 블로그의 인기 게시물

Windows에 AMP와 MediaWiki 설치하기

1. 들어가기     AMP는 Apache + MySQL +  Perl/PHP/Python에 대한 줄임말이다. LAMP (Linux + AMP)라고 하여 Linux에 설치하는 것으로 많이 소개하고 있지만 Windows에서도 간편하게 설치하여 사용할 수 있다.       이 글은 Windows 7에 Apache + MySQL + PHP를 설치하고 그 기반에서 MediaWiki를 설치하여 실행하는 과정을 간략히 정리한 것이다. 2. MySQL     * 버전 5.6.12     1) 다운로드         http://dev.mysql.com/downloads/installer/         MySQL Installer 5.6.12         Windows (x86, 32-bit), MSI Installer         (mysql-installer-web-community-5.6.12.0.msi)     2) 다운로드한 MSI 파일을 더블클릭하여 설치를 진행한다.           설치 위치:                   C:\Program Files\MySQL               선택 사항:                       Install MySQL Products             Choosing a Se...

MATLAB Rutime 설치하기

MATLAB Rutime 설치하기 미설치시 에러 MATLAB Runtime 을 설치하지 않은 환경에서 MATLAB 응용프로그램이나 공유 라이브러리를 사용하려고 하면 아래와 같은 에러 메시지가 표시될 것입니다. 처리되지 않은 예외: System.TypeInitializationException: 'MathWorks.MATLAB.NET.Utility.MWMCR'의 형식 이니셜라이저에서 예 외를 Throw했습니다. ---> System.TypeInitializationException: 'MathWorks.MATLAB.NET.Arrays.MWArray'의 형식 이니셜라이저에서 예외를 Throw했습니다. ---> System.DllNotFoundException: DLL 'mclmcrrt9_3.dll'을(를) 로드할 수 없습니다. 지정된 모듈을 찾을 수 없습니다. (예외가 발생한 HRESULT: 0x8007007E) 위치: MathWorks.MATLAB.NET.Arrays.MWArray.mclmcrInitialize2(Int32 primaryMode) 위치: MathWorks.MATLAB.NET.Arrays.MWArray..cctor() --- 내부 예외 스택 추적의 끝 --- 위치: MathWorks.MATLAB.NET.Utility.MWMCR..cctor() --- 내부 예외 스택 추적의 끝 --- 위치: MathWorks.MATLAB.NET.Utility.MWMCR.processExiting(Exception exception) 해결 방법 이 문제를 해결하기 위해서는 MATLAB Runtime 을 설치해야 합니다. 여러 가지 방법으로 MATLAB Runtime 을 설치할 수 있습니다. MATLAB 이 설치되어 있는 경우에는 MATLAB 설치 폴더 아래에 있는 MATLAB Runtime 설치 프로그램을 실행하여 설치합니다. ...

Wi-Fi 카드 2.4GHz로만 동작시키기

Wi-Fi 카드 2.4GHz로만 동작시키기 별도의 Wi-Fi AP 장치를 두지 않고 아래와 같은 기기들로만 Wi-Fi 네트워크를 구성하고자 할 때 주변 기기들이 2.4GHz만 지원하기 때문에 PC에서 실행하는 AP가 항상 2.4GHz를 사용하도록 Wi-Fi 카드를 설정해 주어야 합니다. 기기 Wi-Fi 카드 주파수 대역 Wi-Fi Direct 지원 PC (Windows 10) 2.4GHz, 5GHz O 주변 기기들 2.4GHz X Wi-Fi 카드별 주파수 대역 선택 방법 Windows 시작 메뉴에서 설정 을 클릭합니다. Windows 설정 화면에서 네트워크 및 인터넷 을 클릭합니다. 설정 화면의 왼쪽 메뉴바에서 Wi-Fi 를 클릭합니다. 화면 오른쪽 관련 설정 구역에 있는 어댑터 옵션 변경 을 클릭합니다. 설정을 바꾸고자 하는 Wi-Fi 카드 항목을 선택하고 마우스 오른쪽을 누른 다음 속성 메뉴를 클릭합니다. 대화상자의 네트워킹 탭 화면에 있는 구성 버튼을 클릭합니다. 장치 속성 대화상자의 고급 탭 화면으로 이동합니다. 제시되는 속성 항목들은 제품별로 다르며 자세한 사항은 아래의 제품별 설명을 참고하여 값을 설정하시기 바랍니다. Intel Dual Band Wireless-AC 7265 기술 사양 주파수 대역: 2.4GHz, 5GHz 무선 표준: 802.11ac 주파수 대역 선택 장치 속성 대화상자에서 아래와 같이 선택합니다. Wireless Mode 1. 802.11a => 5GHz 4. 802.11b/g => 2.4GHz (이 항목 선택) 6. 802.11a/b/g => 2.4GHz, 5GHz Intel Dual Band Wireless-AC 8265 기술 사양 주파수 대역: 2.4GHz, 5GHz 무선 표준: 802.11ac 주파수 대역 선택 장치 속성 대화상자에서 아래와 같이 ...