[論文レビュー] Wys*: A Verified Language Extension for Secure Multi-party Computations
WYS* は、F* に埋め込まれた形式的検証済みドメイン固有言語拡張であり、安全なマルチパーティ計算(MPC)を対象としている。これは、深さ埋め込みと機械化されたメタ理論を用いて、MPC プログラムの形式的検証を可能にし、正しく構築されたインタプリタへの検証抽出を実現する。これは、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* における深さ埋め込みから、正しく構築されたインタプリタへの自動抽出を用いて、MPCプロトコルの検証済み実装を提供すること。
- 実世界のMPCプロトコル(例:プライベートセット積集合、カードディーリング)の検証実装を通じて、アプローチの実用性を示すこと。
提案手法
- WYS* は、F* の依存型と検証機能を活用して、F* に埋め込まれたドメイン固有言語として実装されている。
- F* 内でWYS* の深さ埋め込みが形式化され、言語の構文と意味論が機械的に検証可能な形で表現されている。
- メタ理論が F* で機械化され、ソースプログラムレベルで検証された性質が分散実行意味論下でも保持されることを証明している。
- 深さ埋め込みが、MPCプログラムのマルチパーティ的・分散的振る舞いを捉える意味論を定義するために用いられている。
- F* の抽出メカニズムを用いて深さ埋め込みからインタプリタが抽出され、形式的にその意味論と一致することを証明している。
- ソースプログラムから検証済み実装に至るまでの一連のパイプラインが、F* の検証フレームワークを用いて形式的に検証されている。
実験結果
リサーチクエスチョン
- RQ1MPC のためのドメイン固有言語を、分散実行下でのセキュリティと正しさを保ちつつ、ソースレベルで形式的検証可能にできるか?
- RQ2MPC DSL のメタ理論を機械化することで、ソースレベルで検証された性質が分散環境でも成り立つことを保証できるか?
- RQ3検証済みで正しく構築されたMPC DSL 実装を、検証指向言語における深さ埋め込みから自動抽出できるか?
- RQ4F* のような高水準で検証済みのプログラミング言語を用いて、エンドツーエンドのMPCプロトコルを構築・検証できるか?
- RQ5提案手法を、プライベートセット積集合や共同中央値計算といった実世界のMPCプロトコルの実装・検証に実用的に応用できるか?
主な発見
- WYS* は、F* の検証論理を用いて、分散実行下でも正しさとセキュリティを保証するソースプログラムの形式的検証を提供する最初のMPC DSLである。
- F* におけるWYS* の深さ埋め込みにより、分散意味論についての正確な推論が可能となり、意味論の整合性を保証するメタ理論が構築されている。
- 抽出されたインタプリタは、深さ埋め込みの意味論と形式的に一致することが証明されており、実装の正しさが保証されている。
- このアプローチは、プライベートセット積集合、共同中央値、およびカードディーリングプロトコルを含む複数のMPCプロトコルの検証に成功して適用されている。
- F* の統合により、開発者はMPCプログラムに対して包括的な検証技術を活用でき、実装エラーのリスクを顕著に低減できる。
- 本研究は、高水準な仕様から検証済み実装に至るまで、MPCシステムのエンドツーエンド検証が実現可能かつ実用的であることを示している。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。