2025/10 74

SecAgg+ 프로토콜에서 개별 클라이언트의 모델 원본 복원이 가능한가?

서버는 개별 클라이언트의 모델 원본을 복원할 수 없습니다. SecAgg+ 프로토콜의 핵심적인 보안 설계가 바로 그 지점에 있습니다. 서버가 특정 클라이언트와 관련된 키 정보들을 수집하는 것은 사실이지만, 그 정보는 전체 합산 값에서 불필요한 마스크를 제거하기 위한 최소한의 정보일 뿐, 개별 클라이언트의 원본 값을 역산하기에는 불충분합니다. 왜 그런지 클라이언트가 온라인(online) 상태일 때와 이탈(dropped) 상태일 때로 나누어 살펴보겠습니다.1. 대상 클라이언트가 '온라인(Online)' 상태일 경우가장 중요한 시나리오입니다. 클라이언트 $u$가 정상적으로 참여하여 마스킹된 값 $y_u$를 서버에 제출했다고 가정해 봅시다. 서버가 $u$의 원본 모델 $x_u$를 복원하려면 $y_u$에서 $u$가..

독일 V2 로켓과 런던 폭격 - 푸아송 분포와 카이제곱 검정

아래 자료들을 참고하면서 실습을 하였습니다.AN APPLICATION OF THE POISSON DISTRIBUTION, by R. D. CLARKEThe flying bomb and the actuary - Royal Statistical Society, Wiley푸아송 분포실제값n_squares = 576n_bombs = 537# 구역당 떨어진 폭탄 수의 평균m = n_bombs / n_squaresprint(f'{m:.3f}')0.932# 구역당 떨어진 폭탄 수n_bombs_per_square = [0, 1, 2, 3, 4, 5]# 해당 구역 수 (관찰도수)observed_num_of_squares = [229, 211, 93, 35, 7, 1]print(f'# of squares: {sum(obs..

연합학습의 안전한 집계를 위한 SecAgg+ 프로토콜

SecAgg+는 다수의 클라이언트(예: 스마트폰)가 각자 학습한 모델 업데이트 값(가중치)을 서버에 전송할 때, 서버가 개별 클라이언트의 값을 알 수 없도록 암호화하면서도 전체 합산 결과는 정확하게 얻을 수 있도록 하는 프로토콜입니다. 이 과정에서 일부 클라이언트가 통신 문제 등으로 중도에 이탈하더라도 전체 집계 과정이 안전하게 완료될 수 있도록 설계된 것이 핵심입니다. 보안 모델 및 가정:SecAgg+는 주로 반-정직(Semi-honest) 위협 모델을 가정합니다. 이는 프로토콜에 참여하는 모든 당사자가 프로토콜의 명세를 그대로 따르지만, 중간 계산 결과를 엿보아 추가적인 정보를 얻으려고 시도할 수 있다는 것을 의미합니다. 이러한 가정 하에 SecAgg+는 개별 클라이언트의 모델 업데이트에 대한 기밀성..

독일 V2 로켓과 런던 폭격 - 푸아송 분포 응용

관심을 가졌던 사항은 2차 세계 대전 말기 독일 V2 로켓에 의한 런던 폭격 지점의 분포와 푸아송 분포 응용 사례였는데 우연히 접한 기사를 흥미있게 읽다가 오류로 의심되는 부분을 발견하고 이를 확인하는 과정에서 글을 쓰게 되었습니다.기사 인용- [문학이 사랑한 통계⑬] 로저 멕시코와 함께하는 확률론 강의, 2019.01.03, 시사위크도서 내용 중 일부 - 토머스 핀천, 중력의 무지개, 이상국 옮김, 새물결로저는 그녀에게 V폭탄의 통계에 대해 애써 설명했다. 천사의 눈에나 보일 영국 지도 안의 분포와 이 아래 인간의 눈에 보이는, 그들 자신이 살아남을 기회의 차이에 대해.“그러나 이미 폭격을 몇 번이나 받은 곳도 있잖아. 그러니까-” “미안하지만 그게 바로 몬테카를로 오류라는 거야. 특정한 지역에 얼마나..

DP-06. 질의 함수에 의해서만 결정되는 전역 민감도

전역 민감도(Global Sensitivity)는 데이터셋 자체와는 무관하게, 오직 질의(query) 함수에 의해서만 결정된다.1. 간단한 비유로 시작하기학교 선생님이 학생들의 키를 조사한다고 상상해 봅시다. 선생님은 두 가지 질문(질의)을 할 수 있습니다.질의 1(COUNT): "우리 반 학생은 총 몇 명인가요?"질의 2(SUM): "우리 반 학생들의 키(cm)를 모두 더하면 얼마인가요?"이때, '민감도'란 "학생 한 명이 전학을 오거나 갔을 때, 질문의 답이 얼마나 크게 변할 수 있는가?"를 의미합니다.질의 1(COUNT): 학생 한 명이 추가되거나 빠지면, '총 학생 수'는 언제나 정확히 1만큼 변합니다. 우리 반에 어떤 학생들이 있는지, 그들의 키가 몇인지는 전혀 중요하지 않습니다. 이 질의의 민..

DP-05. 차등 정보보호의 핵심 개념: 인접 데이터셋

차등 정보보호(Differential Privacy)는 "어떤 한 개인이 데이터셋에 포함되거나 포함되지 않더라도, 분석 결과는 거의 바뀌지 않아야 한다"는 강력한 개인정보보호 모델입니다. 여기서 '거의 바뀌지 않음'을 수학적으로 엄밀하게 정의하기 위해 사용되는 핵심 도구가 바로 인접 데이터셋(Adjacent Datasets)입니다. 간단히 말해, 인접 데이터셋이란 단 한 사람의 데이터만 다른 두 개의 데이터셋을 의미합니다.인접 데이터셋의 두 가지 주요 정의인접 데이터셋을 정의하는 방식은 크게 두 가지로 나뉩니다. 어떤 시나리오에서 개인정보를 보호하고 싶은지에 따라 적절한 정의를 사용합니다.1. 레코드 추가/삭제 (비제한적 인접성, Unbounded Adjacency)가장 일반적인 정의입니다. 두 데이터셋..

허깅 페이스 Transformers에서 DistilBERT 기반 작업 클래스들

허깅 페이스의 Transformers 라이브러리는 DistilBERT 모델을 기반으로 구체적인 작업을 수행하도록 구현한 클래스들을 제공합니다. 이 문서에서는 이들의 작업 유형, 출력층, 그리고 손실함수들을 표로 정리하였습니다.작업 구현 클래스1. DistilBertForMaskedLM작업 유형출력층손실함수빈 칸의 단어 맞추기vocab_transformactivationvocab_layer_normvocab_projectornn.CrossEntropyLoss2. DistilBertForSequenceClassification작업 유형출력층손실함수점수 매기기 (예: 호감도)pre_classiferdropoutclassifenn.MSELoss한 개의 라벨 할당 (예: 감정 분석)pre_classiferdrop..

DP-04. 데이터 처리 방식 및 구현 모델에 따른 분류

데이터 처리 방식에 따른 분류데이터에 직접 적용되어 프라이버시를 보장하는 핵심 알고리즘들입니다.노이즈 추가차등 정보보호에서 가장 보편적으로 사용되는 기법입니다. 핵심 원리는 데이터베이스에 대한 통계적 질의(Query)의 결과값에 수학적으로 생성된 '노이즈(noise)'라고 불리는 무작위 숫자를 더하여, 개별 데이터의 기여도를 모호하게 만드는 것입니다.작동 원리쿼리 실행: 데이터 분석가가 데이터베이스에 쿼리(예: "30대 사용자들의 평균 소득은 얼마인가?")를 실행하면, 시스템은 먼저 실제 결과값을 계산합니다.민감도(Sensitivity) 계산: 쿼리 결과가 데이터베이스 내의 단 한 사람의 데이터 변화에 의해 얼마나 크게 변할 수 있는지를 측정합니다. 예를 들어, 한 사람의 데이터를 추가하거나 제거했을 때..

DP-03. 차등의 의미 및 수학적 정의

차등의 의미차등 정보보호(Differential Privacy)에서 '차등(differential)'이라는 단어는 '차이(difference)'를 의미하며, 데이터베이스에 특정 개인의 데이터가 포함되거나 포함되지 않았을 때, 또는 변경되었을 때 발생하는 '결과의 차이를 제어'하는 기술의 핵심 개념을 직접적으로 나타냅니다.이 용어는 2006년 컴퓨터 과학자 신시아 드워크(Cynthia Dwork)가 발표한 논문 "Differential Privacy"에서 처음으로 공식화되었습니다. 이 개념의 핵심은 데이터베이스에 대한 질의(query) 결과가 특정 개인의 데이터 유무, 또는 변경에 따라 크게 달라지지 않도록 보장하는 것입니다. 즉, 데이터베이스에서 한 사람의 정보를 추가, 삭제, 또는 변경하더라도 분석 결..

SMPC-06. 연합학습에서 비밀 공유 적용 시 통신 부하

연합학습(Federated Learning)에서 보안 다자간 계산(Secure Multi-Party Computation, SMPC)의 한 기법인 덧셈 기반 비밀 공유를 적용할 때 발생하는 통신 오버헤드 증가에 대해 살펴보겠습니다.결론부터 말씀드리면, 통신 오버헤드는 참여하는 클라이언트(사용자) 수에 따라 이차적($O(N^2)$)으로 매우 크게 증가합니다.기본 연합학습 vs. 비밀 공유 적용 연합학습먼저 두 시나리오의 통신 방식을 비교해 보면 오버헤드 증가를 명확히 이해할 수 있습니다.기본 연합학습 (Federated Averaging):서버가 글로벌 모델을 클라이언트들에게 전송합니다.각 클라이언트는 자신의 로컬 데이터로 모델을 학습시킨 후, 업데이트된 모델 파라미터(또는 그래디언트)를 서버에만 전송합니..