Differential Privacy in APPLE
본문은 애플의 Differential Privacy Overview를 요약한 글입니다.
A privacy-preserving system
애플은 각각의 사용자의 프라이버시는 보호하면서 사람들의 행동을 분석하기 위해 local differential privacy를 사용하고 있습니다. Local DP는 각각의 데이터에 노이즈를 넣어 애플에게 제공하는 것으로, 애플은 각각의 true data는 알 수 없습니다. 많은 사람들이 자신의 정보를 노이즈를 추가해 제공한다면 애플은 이 정보들의 평균을 계산합니다. 이 때 노이즈는 평균이 0이기 때문에 평균을 취한다면 노이즈는 영향을 미치지 않고, 애플은 개인의 프라이버시는 침해하지 않으면서 의미있는 결과값을 얻을 수 있습니다.
Privacy budget
애플은 DP에서 ε으로 측정되는 privacy budge 이라는 개념을 사용하며, 개인의 프라이버시 침해를 막기 위해 한 사람이 제공하는 정보의 양을 제한하고 있습니다. 애플은 local DP를 이용해 주어진 time period 내에서 개인의 프라이버시는 보호하면서 다음과 같이 데이터를 활용할 수 있습니다.
- QuickType suggestions
- Emoji suggestions
- Lookup Hints
- Safari Energy Draining Domains
- Safari Autoplay Intent Detection (macOS High Sierra)
- Safari Crashing Domains (iOS 11)
- Health Type Usage (iOS 10.2)
각각의 상황에서 애플이 사용하는 privacy budget (ε값)은 다릅니다. 예를 들어서 Lookup Hints를 위해서는 ε는 4, 정보를 받는 주기는 하루에 2번입니다(정보를 받는 주기를 설정하는 이유는 한번에 많은 정보를 주게 된다면 개인의 프라이버시가 침해될 수 있기 때문). emoji 정보는 ε는 4, 주기는 하루 한 번 이며, QuickType에서는 ε는 8, 주기는 하루 2번입니다. 건강 정보는 ε는 2, 주기는 하루 한 번이며, 건강 정보는 민감하기 때문에 수정된 형태로 제공됩니다. Safari는 ε값을 4, 주기는 하루 2번이며, Safari Auto-Play는 ε을 8로 설정합니다.
각각의 상황에서 더 민감한 정보는 ε값을 작게 주어 프라이버시를 더 강하게 보호합니다.
Techniques
Local DP는 사용자가 데이터를 공유할 때 약간의 노이즈를 추가해 개인의 데이터가 학습에 사용되었는지 판단할 수 없도록 합니다. 그러나 노이즈를 더하기 전에 개인 인풋의 sketch을 적은 수의 비트로 캡쳐해주는 데이터 구조를 정의해야 합니다. 애플은 이를 위해 두가지 테크닉을 사용합니다.
- Count Mean Sketch
Count Mean Sketch를 사용하면 원래의 정보는 해쉬함수(hash function)를 사용해 인코딩되므로 다양한 크기의 데이터를 고정된 크기의 matrix에서 나타낼 수 있습니다. 데이터는 보통 SHA-256 해쉬 함수를 이용해 인코딩되며, privatization step 후에 0으로 초기화 되고, sketch matrix에 기록됩니다.
노이즈를 추가하는 단계는 먼저 해쉬 함수를 이용해 input을 벡터로 인코딩 한 후, 각각의 coordinate를 1/(1 + e^ε/2)의 확률로 변형합니다. 여기서 ε는 프라이버시 파라미터이며, 이렇게 변형하면 실제 값과 변형된 값을 구분할 수 없기 때문에 프라이버시가 보호됩니다.
프라이버시 보호를 위해서 sketch matrix 전체를 보내지 않고, random row만 전송을 합니다. sketch matrix로 인코딩된 정보가 애플로 전송되면 애플 서버는 이 정보를 공유하는 모든 디바이스의 응답을 기록하고, 각 array의 element의 평균을 출력합니다. 각각은 노이즈가 포함되어 있지만, 이렇게 나온 평균값은 노이즈가 상쇄되어 의미있는 결과값을 도출합니다.
2. Hadamard Count Mean Sketch
Hadamard Count Mean-based Sketch는 Count Mean Sketch와 비슷한 노이즈 추가 단계를 거칩니다. 하지만 Hadamard Count Mean-based Sketch는 privatization step을 하기 전에 Hadamard basis transformation이라고 불리는 수학적인 연산을 해쉬 인코딩에 적용한다는 차이점이 있습니다.
또한, Hadamard Count Mean-based Sketch도 전체 행을 전송하지 않고, 1bit만 샘플링해서 전송합니다. 즉, 정확도는 다소 낮아지지만 통신 비용을 1bit로 절감할 수 있습니다.