연합학습/안전한 집계 4

SecAgg+ 프로토콜에서 악의적인 서버의 공격 시나리오

클라이언트별로 다른 조작된 이탈 목록을 보냄으로써 특정 온라인 상태의 클라이언트를 대상으로 모델 원본 파라미터를 복원하는 것이 가능한가? 만약 프로토콜에 추가적인 안전장치가 없다면, 이러한 공격은 실제로 가능하며 특정 클라이언트의 모델 원본을 복원할 수 있습니다.이 공격은 '선택적 참여자 목록 공격(Selective Client List Attack)'이라고 볼 수 있으며, 악의적인 서버(Malicious Server)가 시도할 수 있는 대표적인 공격 시나리오입니다.악의적인 서버의 공격 시나리오서버가 온라인 상태인 클라이언트 $u$의 모델 $x_u$를 탈취하려고 한다고 가정해 보겠습니다. 이 서버는 또 다른 온라인 클라이언트 $v$를 이 공격에 이용합니다.서버의 이중 플레이: 서버는 $u$와 $v$에게 ..

SecAgg+ 프로토콜에서 서버와 클라이언트 간 상태 확인 절차

클라이언트는 다른 클라이언트의 상태를 알아야만 올바른 키를 서버에 전송할 수 있습니다. 이는 SecAgg+ 프로토콜의 중요한 단계이며, 서버가 중앙에서 조정자(Coordinator) 역할을 수행함으로써 가능해집니다. 클라이언트가 서로의 상태를 직접 확인하는 것이 아니라, 서버가 상태를 판별하고 그 결과를 온라인 클라이언트들에게 알려주는 방식으로 동작합니다.서버와 클라이언트 간 상태 확인 절차프로토콜의 '이탈자 처리' 단계는 다음과 같은 명확한 순서로 진행됩니다.1단계: 마스킹된 값 제출 및 대기모든 클라이언트는 자신의 마스킹된 모델 업데이트($y_u$)를 서버에 전송합니다. 서버는 정해진 시간 동안 클라이언트들의 제출을 기다립니다.2단계: 서버의 상태 판별 및 목록 생성제출 시간이 마감되면, 서버는 성공..

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

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

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

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