Resaerch

研究

  • 高機能暗号
    • ゼロ知識証明、範囲証明
    • 匿名認証(ABC, Attribute-based Anonymous Credential)
    • 自己主権型アイデンティティ(SSI, Self-sovereign Identity)

その他の興味ある研究分野:

  • 組合せ最適化
    • スケジューリング問題(バス乗務員スケジュールなど)
  • 機械学習
    • 異常検知(故障検知など)
    • ヒューマンセンシング(運転手の眠気推定など)

ゼロ知識証明

高機能暗号とは、従来の暗号技術よりも高度な機能を提供する暗号技術全般のことを指します。高度な機能の中には、プライバシ保護とデータ利活用の両立を可能とするものがあり、認証に着目した高機能暗号技術にゼロ知識証明があります。

ゼロ知識証明とは、 証明したい事柄を持っている人(Prover)が、それを確かめたい相手(Verifier)に対して、 事柄を知っている事実以外は明かさずに、その事実を証明する技術です。 結果的に、VerifierはProverが事実を知っているということは納得でき、更に、その事実以外の何の情報も得ることができません。

例えば、映画館で学生割引を受けたいと考えます。この時、学生証を提示して学生であることを証明することが一般的です。 しかしその際、学校名や年齢など、証明したいこと以上の過剰な情報までもが相手に提示されてしまいます。 もし相手を信頼できない場合、安易に余分な情報を渡すことは抵抗を感じるでしょう。 一方、映画館としては学生であることを納得する必要があります。 学生が映画館に、余分な情報は一切明かさず、学生であるという事実のみ示すことができれば理想です。これを実現する技術が、ゼロ知識証明です。

ゼロ知識証明には、以下の3つの性質を満たす必要があります:

  • 完全性:Proverが正しい知識を持っているなら、Verifierは必ず正しいと判断できる
  • 健全性:Proverが正しい知識を持たないなら、Verifierは高い確率で誤りと判断できる
  • ゼロ知識性:VerifierはProverが証明したい事柄以外の知識を得られない

直感的な理解

アミット・サハイ教授によるゼロ知識証明の方法を直感的に理解する動画(※)を紹介します。

動画では、教授が子どもに多数のペンギンが写った写真を見せ、以下のように言います。
「この中に実は1羽だけ"ツノメドリ"がいる。私はその場所を知っている。場所は教えないけど、いると知っていることだけを示そうと思う」

This is a table

教授は写真より数倍大きな厚紙で写真を隠します。 ただし厚紙には小さな穴が開いており、その穴からは"ツノメドリ"だけが見えています。
厚紙の後ろのどの位置に写真があるか分からないため、“ツノメドリ"の場所は子どもにはわかりません。 一方、「ツノメドリがいる」ことは示せています。 This is a table

教授をProver、子どもをVerifierと捉え直し、ゼロ知識証明の3性質を満たすか直感的に確認してみましょう。
Proverがツノメドリの場所を知っているならば、小さい穴とツノメドリの位置を必ず合わせることができます。そのため、完全性を満たしています。
また、Proverがツノメドリの場所を知らないならば、偶然が起こらない限り、小さい穴とツノメドリの位置を合わせることができず、知っているという主張は嘘であると分かります。そのため健全性を満たします。
最後に、Verifierは「Proverはツノメドリがいると知っている」事実以外に情報を得ていません。つまり、数倍大きな厚紙に写真が隠されているため、ツノメドリのいる位置に関する情報を得ていません。そのため、ゼロ知識性を満たします。
以上より、上記の証明方法が、ゼロ知識性の満たすべき3性質を満たしていることを直感的に示しました。

<出典>
YouTube, 「ゼロ知識証明」って何?5段階のレベルで説明,WIRED.jp(リンク
Martin Wettstein, Unsplash
sdm2019, Pixaday

ゼロ知識証明の応用

ゼロ知識証明では、まず何を隠したいかを定めることが重要です。 一般に以下の3つの対象を考えることができます。 This is a table

ゼロ知識証明の応用により、プライバシ保護とデータ利活用を両立が可能になります。 例えば、ブロックチェーンのプライバシ強化、所得証明、年齢証明、パスワードを秘匿した認証、などにゼロ知識証明が役立ちます。
また、自己主権型ID(Self-Sovereign IDentity, SSI) におけるプライバシ保護にも、ゼロ知識証明の応用が期待されています。

SSI へのゼロ知識証明の応用

SSIは、従来のように国や事業者などIDプロバイダにID管理を依存することなく、個人が自身でデジタルアイデンティティを管理するというID管理方法です。 SSIは分散型社会の実現に向けたID管理方法として、世界レベルで注目を集めつつあります。 実際、欧州全体でのデータ流通基盤を開発するプロジェクトGAIA-Xや、 また日本でも、Society5.0を見据え、政府主導で検討が進む次世代webのアーキテクチャTrusted Webでも、ID管理のベースはSSIです。 SSIによる認証時のプライバシ保護を目的に、「必要最小限の情報のみを開示する(選択的開示)」ことが可能な技術として、ゼロ知識証明の応用が期待されています。

ゼロ知識証明の研究開発に向けて

計算効率化

ゼロ知識証明では、知識を隠したまま相手に納得させる必要があるため、 そのための暗号処理の演算量が一般的に大きくなります。 歴史的な流れから、Verifier側の演算量を削減する研究が盛んに行われてきました。 しかし、GAIA-XやSociety5.0に代表される分散型社会において、プライバシを守り安全にデータを流通させるためには、 Proverの演算量削減にも注力する必要があると考えており、私の研究の注力ポイントとして捉えています。

研究における志

実社会への適用を意識し、研究開発を進めています。 「プライバシ保護とデータ利活用を両立する」と一言で言ったとしても、実際の社会適用のために考えるべきことは沢山あります。 守るべき対象は何か、どういったシステムへ適用されるか、どういった攻撃者を仮定するか、安全性をどういった数学的仮定に依拠するか(耐量子性はあるか)、などなどです。 これらの要求をまず定義すること、そして要求を満足できるようなプライバシ保護技術を開発していくことが重要です。 そのためには、「要求やシステムに対する深い理解」「要求を数学的定義にモデル化する力」 「モデルの構成法を提案するための経験や思いつきに基づくアイデア」「構成法の安全性を数学的に証明する数学の力」などが必要となります。 時にはゼロ知識証明だけではなく高機能暗号技術、あるいはコンピュータサイエンスで扱われている手法を上手に取り込むことが解決策ともなり得ます。 例えば数理最適化では離散問題の困難性を克服するための手法が研究されますが、暗号では逆にその困難性を利用して安全な暗号を構築していきます。 データサイエンスにおいても代数方程式を予測に用いるか、暗号構築に用いるかの違いであり、用いる道具は似ています。 私は過去より数理最適化やデータサイエンスの研究に取り組んでいましたが、そこで得られた知見を融合し、 次世代の「プライバシ保護とデータ利活用を両立する」高機能暗号技術の提案に繋げていければと考えています。


ホームへ戻る