머신 러닝의 개인 정보 보호 및 보안을 위한 다자간 연산( MPC)

최근 IEEE에 게재 논문을 바탕으로

Benny
10 min readOct 7, 2024

--

소개

최근 몇 년 동안 머신 러닝(ML)은 의료, 금융, 운송, 엔터테인먼트를 포함한 다양한 분야에 혁명을 일으켰습니다. 그러나 ML 기술의 채택으로 데이터 프라이버시와 보안에 대한 상당한 우려가 제기되었습니다. ML 모델은 종종 훈련을 위해 방대한 양의 민감한 데이터가 필요하기 때문에 데이터 침해와 악의적인 공격의 위험이 시급한 문제가 되었습니다. 여기서 다자간 연산(MPC, Multi-Party Computation)이 ML 애플리케이션에서 프라이버시와 보안을 강화하는 유망한 솔루션을 제시합니다.

이 블로그에서는 MPC의 원리, 머신 러닝에서의 응용, 직면한 과제, 이 기술의 미래 잠재력을 살펴봅니다. 또한 2023 IEEE 사이버 보안 및 회복력 국제 컨퍼런스에서 발표된 최근의 실용적 검토 결과에 대해서도 논의합니다.

참고. MPC에 대하여

서로 신뢰하지 않는 다수가 각자의 입력 값을 공유하지 않고, 암호화된 입력값의 계산 결과를 출력하는 것을 의미합니다.​

MPC(다자간 연산)는 1982년 앤드류 야오가 두 명의 백만장자의 재산 대결이라는 문제 기반으로 처음 제시했습니다. 간단히 그 내용을 살펴보면, 백만장자 A와 B 중 누구의 재산이 더 많은지 비교할 때 자신의 재산을 직접 노출시키고 싶지 않은 경우 신뢰가 있는 제3자를 두고 확인하는게 일반적인 방법입니다. 하지만 제3자도 신뢰할 수 없는 경우는 어떻게 해야 할까요? 이때 MPC가 솔루션이 될 수 있습니다. 백만장자 A와 B가 MPC 시스템에 각각 자신의 자산을 공유하지 않고 등록하면, 시스템이 자산의 총량을 연산하여 누구의 재산의 크기가 더 큰지 출력해줍니다. 이런 경우 서로의 재산을 공개하지 않은채 원하는 결과값인 재산의 크기만을 얻을 수 있습니다.​

MPC는 여러 참여자들이 서로의 투입값을 모르게 하면서, 함수의 연산에 안전하게 참여하면서 민감한 정보를 전달하지 않고 자신의 신원이나 내용을 증명하는 기술이기 때문에 다방면에서 응용이 가능합니다. 비밀투표, 비밀경매, 시큐어 머신러닝, 개인정보를 비공개로하는 유전자 분석등이 그 대표적인 예입니다.

최근에는 MPC 기술을 암호화폐 보안을 위해 개인 키 관리에 활용하기 위한 움직임도 있습니다. 블록체인상 암호화폐에 접근할 수 있는 개인 키 조각을 나누어 안전하게 관리하는 방법입니다. 암호화폐에 단독으로 접근할 수 없도록 하기 위해 3명 중 2명 이상이 합의할 경우 암호화폐에 대한 권한을 부여합니다. 그렇기 때문에 개인 키 조각을 분실하거나 해킹 당해도, 개인 키 조각 하나만 가진 해커는 암호화폐에 접근할 수 없습니다.​

얼핏보면 지난 번에 소개해드렸던 멀티시그 방식과 비슷해 보일 수 있습니다. 하지만 MPC는 애초에 개인 키가 존재하지 않는다는 것이 가장 큰 차이점입니다. 즉 멀티시그 방식은 다수의 키를 동시에 서명하여 거래를 발생시키는 방식이라면, MPC는 개인 키 조각이 모였을 때 암호화폐에 접근할 수 있는 개인 키 기능이 발생하는 형태입니다.

출처: https://blog.naver.com/pentamkt/221572995351

다자간 연산 이해

MPC는 여러 당사자가 입력에 대한 함수를 공동으로 계산하는 동시에 입력을 비공개로 유지할 수 있는 암호화 기술입니다. MPC의 기본 아이디어는 계산에 관련된 다른 당사자에게 개별 데이터를 공개하지 않고도 협업 계산을 가능하게 하는 것입니다. 이는 의료 또는 금융 서비스와 같이 데이터 개인 정보 보호가 가장 중요한 시나리오에서 특히 유용합니다.

MPC 프로토콜은 두 가지 주요 유형으로 분류할 수 있습니다.

1. 동형 암호화(Homomorphic Encryption): 이를 통해 암호화된 데이터에 대한 계산을 먼저 해독할 필요 없이 수행할 수 있습니다. 계산 결과는 데이터 소유자가 해독할 때까지 암호화된 상태로 유지됩니다.

2. 비밀 공유(Secret Sharing): 이 접근 방식에서 데이터는 여러 개의 공유로 나뉘고 , 이는 서로 다른 당사자에게 분배됩니다. 어느 한 당사자도 전체 데이터에 액세스할 수 없으므로 프라이버시가 보장됩니다. 계산은 이러한 공유에서 수행되고 최종 결과는 공유에서 재구성됩니다.

머신 러닝에서 MPC의 역할

머신 러닝 모델은 데이터 포이즈닝(data poisoning), 모델 역전(, 멤버십 추론 공격을 포함한 다양한 공격에 본질적으로 취약합니다. 이러한 취약성은 종종 민감한 정보를 포함하는 대규모 데이터 세트에 액세스하고 처리해야 하는 필요성에서 발생합니다. MPC는 다음과 같은 여러 가지 방법으로 이러한 위험을 완화할 수 있습니다.

1. 개인정보 보호(Privacy Preservation): MPC를 사용하면 조직은 기본 데이터를 다른 당사자에게 노출하지 않고도 민감한 데이터에 대한 ML 모델을 훈련할 수 있습니다. 이는 여러 조직이 독점 데이터를 공개하지 않고도 통찰력을 공유하려는 협업 환경에서 특히 유용합니다.

2. 안전한 모델 훈련(Secure Model Training): MPC는 여러 당사자가 데이터를 기밀로 유지하면서 기여할 수 있도록 하여 ML 모델의 안전한 훈련을 가능하게 합니다. 이러한 협력적 접근 방식은 다양한 데이터 세트에서 더 잘 일반화되는 더욱 견고한 모델로 이어질 수 있습니다.

3. 연합 학습(Federated Learning): MPC는 연합 학습 기술과 통합될 수 있으며, 여기서 모델은 로컬 데이터 샘플을 보유한 분산 장치 또는 서버에서 학습됩니다. 이 접근 방식은 민감한 데이터를 중앙 집중화할 필요 없이 모델을 개선할 수 있으므로 개인 정보 보호가 강화됩니다.

4. 지속적인 모델 테스트(Continuous Model Testing): MPC는 ML 모델이 의도한 대로 동작하고 변조나 공격에 강하다는 것을 보장하기 위해 지속적인 ML 모델 테스트를 용이하게 할 수 있습니다. 이는 실제 애플리케이션에 배포된 모델의 무결성을 유지하는 데 중요합니다.

실제 검토의 주요 결과

2023 IEEE 사이버 보안 및 복원력 국제 컨퍼런스에서 발표된 실용적 검토는 머신 러닝에서 MPC 적용과 관련된 몇 가지 중요한 추세와 결과를 강조했습니다.

1. 오픈 소스 협업: 이 리뷰는 MPC 프로토콜 개발에서 오픈 소스 프로젝트의 중요성을 강조했습니다. 소스 코드를 접근 가능하게 함으로써 개발자와 연구자는 보안을 개선하고, 취약성을 식별하고, 수정 사항을 제안하기 위해 협업할 수 있습니다. 이러한 공동의 노력은 더 높은 품질의 코드와 더 강력한 보안 조치로 이어질 수 있습니다.

2. 채택 및 표준화: MPC 프로토콜의 오픈 소스 구현을 사용하면 다양한 플랫폼에서 더 광범위한 채택 및 표준화를 촉진할 수 있습니다. 이러한 상호 운용성은 다양한 당사자와 시스템 간의 안전한 계산을 가능하게 하는 데 필수적입니다.

3. 성능 고려 사항: 이 리뷰에서는 MPC가 상당한 프라이버시 및 보안 이점을 제공하지만 계산 집약적일 수도 있다는 점을 언급했습니다. MPC 프로토콜의 성능은 관련 당사자 수와 계산되는 기능의 복잡성에 영향을 받을 수 있습니다. 따라서 이러한 프로토콜을 효율성을 위해 최적화하는 것은 실용적인 애플리케이션에 필수적입니다.

4. 제한 및 과제: 잠재력에도 불구하고 MPC는 상당한 계산 리소스의 필요성과 구현의 복잡성을 포함한 여러 과제에 직면해 있습니다. 또한 다양한 공격 벡터에 대한 MPC 프로토콜의 보안을 보장하는 것은 여전히 진행 중인 연구 분야입니다.

다양한 도메인에서의 MPC 응용 프로그램

MPC는 머신 러닝 애플리케이션에서 데이터 프라이버시와 보안을 강화하여 여러 산업을 혁신할 잠재력이 있습니다. 다음은 몇 가지 주목할 만한 애플리케이션입니다.

1. 헬스케어: 헬스케어 부문에서 환자 데이터는 매우 민감하며 엄격한 규제를 받습니다. MPC는 환자의 프라이버시를 침해하지 않고 병원과 연구 기관 간의 협력 연구를 가능하게 할 수 있습니다. 예를 들어, 여러 병원은 환자 데이터를 사용하여 질병 진단을 위한 예측 모델을 공동으로 훈련하면서 데이터를 기밀로 유지할 수 있습니다.

2. 금융: 금융 기관은 MPC를 활용하여 민감한 고객 정보를 노출하지 않고도 통찰력을 공유하고 위험 평가 모델에 대해 협업할 수 있습니다. 이를 통해 데이터 보호 규정을 준수하는 동시에 사기 탐지 및 위험 관리가 개선될 수 있습니다.

3. 소매: 소매업체는 MPC를 사용하여 개별 고객 데이터를 공개하지 않고도 고객 행동과 선호도를 분석할 수 있습니다. 이를 통해 마케팅 전략을 개인화하고 고객 경험을 개선하는 동시에 프라이버시를 보장하는 데 도움이 될 수 있습니다.

4. 스마트 시티: 스마트 시티 애플리케이션에서 MPC는 정부 기관, 유틸리티 제공자, 시민 등 다양한 이해 관계자 간의 안전한 데이터 공유를 용이하게 할 수 있습니다. 이를 통해 도시 계획 및 자원 관리를 강화하는 동시에 개인의 프라이버시를 보호할 수 있습니다.

미래 방향 및 연구 기회

MPC가 계속 발전함에 따라 여러 연구 기회와 미래 방향을 탐색할 수 있습니다.

1. 효율성 개선: 성능과 확장성을 위해 MPC 프로토콜을 최적화하는 데 중점을 둔 연구가 중요합니다. 여기에는 더 효율적인 알고리즘을 개발하고 MPC와 관련된 계산 오버헤드를 줄이는 것이 포함됩니다.

2. 신흥 기술과의 통합: MPC를 블록체인 및 엣지 컴퓨팅과 같은 다른 신흥 기술과 통합하면 기능을 향상시키고 응용 프로그램을 확대할 수 있습니다. 예를 들어, MPC를 블록체인과 결합하면 데이터 공유를 위한 안전하고 투명한 프레임워크를 제공할 수 있습니다.

3. 사용자 친화적 구현: MPC 프로토콜을 구현하기 위한 사용자 친화적 도구와 라이브러리를 개발하면 개발자와 조직에서 더 폭넓은 채택을 장려할 수 있습니다. 구현 프로세스를 단순화하면 전문가가 아닌 사람들도 더 쉽게 접근할 수 있습니다.

4. 규정 준수: 데이터 보호 규정이 더욱 엄격해짐에 따라 MPC가 조직이 이러한 규정을 준수하도록 어떻게 도울 수 있는지에 대한 연구가 필수적입니다. 여기에는 다양한 관할권에서 MPC를 사용하는 것의 법적 의미를 탐구하는 것이 포함됩니다.

5. 실제 사례 연구: 다양한 애플리케이션에서 MPC의 효과를 입증하기 위해 실제 사례 연구를 수행하면 귀중한 통찰력을 제공하고 추가 채택을 장려할 수 있습니다. 이러한 사례 연구는 다양한 도메인에서 MPC를 구현하여 얻은 모범 사례와 교훈을 강조할 수 있습니다.

결론

MPC는 머신 러닝과 관련된 프라이버시 및 보안 문제를 해결하는 데 있어 상당한 진전을 나타냅니다. 안전한 협업 계산을 가능하게 함으로써 MPC는 조직이 개인 프라이버시를 침해하지 않고 민감한 데이터를 활용할 수 있도록 합니다. 최근의 실용적인 검토 결과는 다양한 애플리케이션에서 MPC의 잠재력을 최대한 활용하기 위해 오픈 소스 협업, 표준화 및 진행 중인 연구의 중요성을 강조합니다.

머신 러닝이 다양한 분야에 계속 침투함에 따라 MPC 통합은 데이터 프라이버시와 보안을 최우선 순위로 유지하는 데 중요할 것입니다. 조직은 연구 개발에 투자함으로써 MPC의 힘을 활용하여 머신 러닝의 발전을 촉진하는 동시에 민감한 데이터를 보호하는 혁신적인 솔루션을 만들 수 있습니다.

결론적으로, 머신 러닝의 미래는 혁신과 프라이버시, 보안을 균형 있게 조절할 수 있는 능력에 달려 있으며, MPC는 이러한 균형을 이루는 데 중요한 역할을 합니다. 앞으로 나아가면서 MPC가 제공하는 가능성을 계속 탐색하고 머신 러닝에서 보다 안전하고 프라이버시를 보호하는 미래를 향해 협력하는 것이 필수적입니다.

--

--

Benny

Sovrin, W3C CCG 및 ToIP 멤버. 다수의 블록체인 프로젝트 수행/어드바이저 담당. GDG, GIST, Udemy(온라인 강좌) 등에서 강의 진행. 마스터링 자기주권신원 한글판 번역 및 마스터링 이더리움의 한글판 베타리딩에 참여. 공공기관의 사업평가위원 및 EBRD 자문