보안다자간계산 11

정보 보안 vs. PETs: 데이터를 '지키는' 기술과 '안전하게 활용하는' 기술

정보 보안 기술과 개인정보보호 강화 기술(PETs)은 데이터를 보호한다는 공통점을 갖지만, 목표와 범위, 핵심 기능에서 뚜렷한 차이를 보입니다. 정보 보안 기술이 외부의 위협으로부터 데이터라는 성을 지키는 '견고한 방패'라면, PETs는 성 안의 중요한 개인정보를 보호하면서도 안전하게 바깥과 교류(활용)할 수 있도록 길을 열어주는 '마법 열쇠'에 비유할 수 있습니다. 핵심 목표의 차이 가장 큰 차이는 기술이 추구하는 핵심 목표에 있습니다. 정보 보안 기술: 정보의 기밀성(Confidentiality), 무결성(Integrity), 가용성(Availability), 즉 '정보 보안의 3요소(CIA Triad)' 보장을 최우선으로 합니다. 허가되지 않은 접근을 막고, 데이터 위변조를 방지하며, 필요할 때 언..

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+는 개별 클라이언트의 모델 업데이트에 대한 기밀성..

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

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

SMPC-05. 다차원 벡터를 위한 덧셈 기반 비밀 공유 기법

보안 다자간 계산(Secure Multi-Party Computation, SMPC)에서 덧셈 기반 비밀 공유 기법을 다차원 벡터나 행렬에 적용하는 것은 기본적으로 벡터의 개별 요소 각각에 독립적으로 비밀 공유 기법을 적용하는 방식입니다.하나의 비밀 값을 여러 조각(share)으로 나누어 서로 다른 참여자에게 분배하는 것처럼, 다차원 벡터의 각 요소를 별개의 비밀 값으로 간주하고 각각에 대해 동일한 비밀 공유 절차를 진행하는 것입니다.작동 방식: 2x2 행렬 예시2차원 벡터 (행렬) $M$을 예로 들어보겠습니다.$$M = \begin{pmatrix} m_{11} & m_{12} \\ m_{21} & m_{22} \end{pmatrix} $$이 행렬 $M$을 세 명의 참여자(P1, P2, P3)에게 덧셈 ..

SMPC-04. 샤미르 비밀 공유(Shamir's Secret Sharing)를 이용한 평균 연봉 계산 방법

보안 다자간 계산(SMPC)은 여러 참여자가 각자 가진 비밀 정보를 노출하지 않으면서, 그 정보들을 종합하여 특정 함수(예: 합산, 평균)의 결과만을 얻고자 할 때 사용하는 암호 기술입니다.핵심 원리: 다항식의 덧셈 속성 활용각자의 비밀(연봉)을 $y$절편으로 하는 다항식을 만듭니다. 이 다항식들을 모두 더하면, 새로운 합계 다항식이 만들어지는데, 이 다항식의 $y$절편은 모든 비밀(연봉)의 합과 같습니다.계산 과정3명의 직원(철수, 영희, 민수)이 평균 연봉을 계산하는 상황을 예시로 들어보겠습니다.참여자($N$): 3명비밀 복원에 필요한 최소 인원($t$): 3명 (모두의 정보가 합산되어야 하므로)비밀 정보:철수 연봉: 5,000만 원영희 연봉: 6,000만 원민수 연봉: 7,000만 원1단계: 비밀 ..

SMPC-03. 덧셈 기반 비밀 공유를 이용한 평균 연봉 계산 방법

보안 다자간 계산(SMPC)은 여러 참여자가 각자 가진 비밀 정보를 노출하지 않으면서, 그 정보들을 종합하여 특정 함수(예: 합산, 평균)의 결과만을 얻고자 할 때 사용하는 암호 기술입니다. '덧셈 기반 비밀 공유'는 이를 구현하는 간단하면서도 강력한 방법 중 하나입니다.핵심 원리: 비밀을 조각내어 분배하기핵심 아이디어는 각자의 비밀 값을 의미 없는 여러 개의 '조각(share)'으로 나눈 뒤, 이 조각들을 서로에게 교환하는 것입니다. 어떤 참여자도 비밀 값의 조각 하나만으로는 원래 정보를 추측할 수 없지만, 모든 조각이 모이면 원래 정보를 복원할 수 있습니다. 덧셈 기반 비밀 공유에서는 비밀 값 $S$를 $S = s1 + s2 + s3 + ...$ 와 같이 여러 조각의 합으로 표현합니다.계산 절차여기서..

SMPC-02. 보안 다자간 계산(SMPC)의 핵심: 비밀 공유 기법

1. 비밀 공유(Secret Sharing)란 무엇인가?비밀 공유는 하나의 비밀 정보를 여러 개의 조각으로 나누어 서로 다른 참여자들에게 분배하는 암호 기술입니다. 이 기술의 핵심은, 정해진 수(임계값) 이상의 조각이 모여야만 원래의 비밀 정보를 복원할 수 있고, 그보다 적은 수의 조각으로는 비밀에 대한 어떠한 정보도 얻을 수 없다는 점입니다. 이러한 특성 때문에 비밀 공유는 참여자들이 자신의 입력값을 직접 노출하지 않고도 공동의 함수를 계산할 수 있게 하는 보안 다자간 계산(SMPC)의 근간이 됩니다. 예를 들어, 여러 사람이 각자의 연봉을 공개하지 않으면서 평균 연봉을 계산하고 싶을 때, 각자의 연봉을 비밀 공유 기법으로 분배한 뒤 연산을 수행하면 안전하게 결과를 얻을 수 있습니다.2. 주요 비밀 공..