[논문 리뷰] Wys*: A Verified Language Extension for Secure Multi-party Computations
WYS*는 F*에 통합된 도메인 특화 언어 확장으로, 보안 다자간 계산(MPC)을 위한 검증된 언어이다. 깊은 임bedding과 기계화된 메타이론을 통해 MPC 프로그램의 형식적 검증을 가능하게 하며, 정확한 인터프리터로의 검증된 추출을 제공한다. 이는 소스 프로그램의 형식적 검증과 검증된 구현을 모두 제공하는 최초의 MPC DSL이다.
Secure multi-party computation (MPC) enables a set of mutually distrusting parties to cooperatively compute, using a cryptographic protocol, a function over their private data. This paper presents WYS*, a new domain-specific language (DSL) implementation for writing MPCs. WYS* is a Verified, Domain-Specific Integrated Language Extension (VDSILE), a new kind of embedded DSL hosted in F*, a full-featured, verification-oriented programming language. WYS* source programs are essentially F* programs written against an MPC library, meaning that programmers can use F*'s logic to verify the correctness and security properties of their programs. To reason about the distributed semantics of these programs, we formalize a deep embedding of WYS*, also in F*. We mechanize the necessary metatheory to prove that the properties verified for the WYS* source programs carry over to the distributed, multi-party semantics. Finally, we use F*'s extraction mechanism to extract an interpreter that we have proved matches this semantics, yielding a verified implementation. WYS* is the first DSL to enable formal verification of source MPC programs, and also the first MPC DSL to provide a verified implementation. With WYS* we have implemented several MPC protocols, including private set intersection, joint median, and an MPC-based card dealing application, and have verified their security and correctness.
연구 동기 및 목표
- 기존 도메인 특화 언어에서 MPC 프로그램에 대한 형식적 검증 지원의 부족을 해결하기 위해.
- 개발자가 고수준의 검증된 프로그래밍 언어를 사용해 강력한 보안 및 정확성 보장을 받는 MPC 프로토콜을 작성하고 검증할 수 있도록 하기 위해.
- MPC의 고수준 프로그램 검증과 분산 다자 실행 의미론 사이의 격차를 메우기 위해.
- F*의 깊은 임bedding에서 유도된 정확한 인터프리터로, MPC 프로토콜의 검증된 구현을 제공하기 위해.
- 실제 MPC 프로토콜인 비공개 집합 교차 및 카드 나누기와 같은 사례를 통해 접근의 실용성을 입증하기 위해.
제안 방법
- WYS*는 F*의 종속형 타입과 검증 기능을 활용해 F*에 임bedded된 도메인 특화 언어로 구현된다.
- F* 내부에서 WYS*의 깊은 임bedding이 형식화되어 있으며, 언어의 문법과 의미를 기계로 검증 가능한 방식으로 표현한다.
- 메타이론이 F*에서 기계화되어, 소스 프로그램 수준에서 검증된 성질이 분산 실행 의미론 하에서도 유지됨을 증명한다.
- 깊은 임bedding을 사용해 MPC 프로그램의 다자 분산 동작을 포괄하는 의미론을 정의한다.
- F*의 추출 기능을 사용해 깊은 임bedding에서 인터프리터를 추출하며, 이 인터프리터가 형식적 의미론과 일치함을 증명한다.
- 소스 프로그램에서 검증된 구현에 이르는 전체 파이프라인은 F*의 검증 프레임워크를 사용해 형식적으로 검증된다.
실험 결과
연구 질문
- RQ1MPC를 위한 도메인 특화 언어가 소스 수준에서 형식적으로 검증 가능할 수 있으며, 분산 실행 하에서 보안성과 정확성이 유지될 수 있는가?
- RQ2MPC DSL의 메타이론을 기계화하여, 소스 수준에서 검증된 성질이 분산 환경에서도 유지됨을 보장할 수 있는가?
- RQ3검증된, 정확한 인터프리터로의 자동 추출이 검증 중심 언어의 깊은 임bedding에서 가능할 수 있는가?
- RQ4F*와 같은 고수준의 검증된 프로그래밍 언어를 어떻게 사용해 종단 간 MPC 프로토콜을 구축하고 검증할 수 있는가?
- RQ5제안된 접근법은 비공개 집합 교차 및 공동 중앙값 계산과 같은 실제 MPC 프로토콜을 실제로 구현하고 검증하는 데 적용될 수 있는가?
주요 결과
- WYS*는 소스 프로그램의 형식적 검증을 제공하는 최초의 MPC DSL로, F*의 검증 논리로 정확성과 보안을 보장한다.
- F* 내의 WYS* 깊은 임bedding은 분산 의미론에 대한 정밀한 추론을 가능하게 하며, 의미론의 타당성을 보장하는 메타이론을 제공한다.
- 추출된 인터프리터는 깊은 임bedding 의미론과 정확히 일치함이 증명되어 구현의 정확성을 보장한다.
- 이 접근법은 비공개 집합 교차, 공동 중앙값, 카드 나누기 프로토콜을 포함한 여러 MPC 프로토콜에 성공적으로 적용되었다.
- F*의 통합 덕분에 개발자는 MPC 프로그램에 대해 전체 기능을 갖춘 검증 기법을 사용할 수 있어, 구현 오류의 위험을 크게 줄였다.
- 고수준 명세에서 검증된 구현에 이르는 종단 간 MPC 시스템의 검증이 실현 가능하고 실용적임을 입증했다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.