ポスト量子化時代のための「ゼロ知識証明」:暗号のまま真であることを証明
情報を暗号化したまま処理できる「ゼロ知識証明」の重要性が高まっている。ゼロ知識証明とは何か。なぜ重要なのか。その分野の専門家に話を聞いた。
イェンス・グロス氏はデンマークのオーフス大学の学生時代に暗号学に興味を持ち、数学の修士号とコンピュータサイエンスの博士号を取得した。その後、米カリフォルニア大学ロサンゼルス校(UCLA)に進み、そこで「ゼロ知識証明」に革命をもたらす博士研究員になった。
ゼロ知識証明は「証明者」と「検証者」間のプロトコルで、ブロックチェーンにおいて非常に重要になった技術だ。証明者は、対話によって命題が真であることを検証者に示す。だが、真である理由についての具体的な情報は一切明らかにしない。
「この考え方は1980年代にさかのぼる。実際には命題が真であること以外の情報を提供する必要がないという、魔法のような事実にコンピュータ科学者は気付いた」
「ゼロ知識証明をより効率的に構築するために新しい技法を取り入れ、この証明を非常にコンパクト化できた。数GBもの巨大で複雑なステートメントが正しいことをわずか数百バイトで証明できる」
「この分野に足を踏み入れたのは、博士号を取得して投票プロトコルを検討していたときだった。投票者は、投票内容を暗号化して他人には分からないようにする。暗号文の内容を見なくても暗号化された投票を集計でき、適切な結果が得られる集計メカニズムは幾つかある」
「だが従来の手法では、投票者が無効票を投じると混乱が生じる。例えば、暗号文を使って『マイナス1000票』を投じることができる。暗号文に含まれる投票が適正であることを証明するのに、ゼロ知識証明が使えることが分かった。正しい投票であることは適格な選択肢の一つで、他の選択肢を示す必要はない」
このプロトコルは他の用途にも使える。具体的な年齢を明らかにすることなく、ある年齢層に含まれていることだけを示すことができる。正確な収入や出身を開示することなく、ローンを受けるのに十分な収入があることを証明できる。
グロス氏は、ゼロ知識は保証のための「スイスアーミーナイフ」のようなものだと説明する。コンピュータがあるプロトコルを実行する際、そのプロトコルを逸脱することなく正しく実行されていることをゼロ知識証明で確認できる。この方法ならばプライバシーが完全に保たれる。ゼロ知識証明では、そのコンピュータが保持している機密データが明らかになることはない。
課題として残るのは、ゼロ知識証明を現実的なレベルの速度で処理することだ。グロス氏の発明はゼロ知識証明の負荷を大幅に削減し、多くの研究に影響を与えた。そして効率をさらに高める方法を見つけることが非常に活発な研究分野になった。
Internet Computer
グロス氏は学界から産業界に移り、現在は専門知識を「Internet Computer」の開発に生かしている。インターネットがあるのと同じように、誰でもアクセスできる共有コンピューティングサービスを用意するというのがInternet Computerの考え方だ。分散型のガバナンスを利用して技術的なミスや攻撃から保護するだけでなく、企業による管理からも解放する。
全ての演算は世界中のデータセンターで運用される複数のコンピュータに複製される。そのため、そのうちの1台が故障したりハッキングされたりしてもInternet Computerの運用は続けられる。
グロス氏は、非営利組織DFINITY Foundationのリサーチ部門ディレクターを務めている。Internet Computerはオープンソースであり、現在これに最も貢献しているのがDFINITY Foundationだ。長期的にはInternet Computerを中心にコミュニティーを成長させ、DFINITY Foundationは多くの貢献者の一つにすぎなくなることが目標だ。
Internet Computerは世界中のコンピュータが入力を実行する順序に合意できるようにするため、ブロックチェーンを使う。ただし、コンピュータ間の合意形成にはコストがかかる。
「どのブロックチェーンも書き込みにはコストがかかる。書き込むたびに毎回全てのコンピュータを同じ方法で更新する必要があり、その方法について合意を形成しなければならない。全てのコンピュータが相互にやりとりし、数千人のユーザーからの全ての着信メッセージを実行する順序に合意する」
「コンピュータの一つがダウンしたり他のコンピュータに接続できなかったりすると、メッセージ順序の合意形成に参加できない。こうした状況に耐えられるメカニズムがInternet Computerにはある。Internet Computerでは圧倒的多数のコンピュータが合意するだけでいい」
Internet Computerの重要な側面の一つは、汎用(はんよう)コンピューティングを提供することだ。任意の言語でアプリケーションを作成できるが、大半の開発者は「Rust」または「Motoko」でプログラミングしている。コードは「WebAssembly」というマシンコードに近いものにコンパイルする。Internet Computerで開発およびデプロイすることで、セキュアなアプリケーションを実行できる。
Internet ComputerはWeb3の実現に寄与すると期待されている。未来学者は、この分散型WebによってGoogleやFacebookなどの大手IT企業への依存度が下がり、広告収入に頼らない協調的なビジネスモデルが開発されると推測する。
Web3は分散型金融にもつながる。銀行や政府が関わることなく、トークン形式で通貨を交換できるようになる。
だが、これらが今後10年以内に実現するとは想定されていない。Web3またはそのバリエーションが支配的になるころには、量子コンピュータが実用化されている可能性がある。そうなれば、セキュリティについて全く新しい懸念事項を解決しなければならなくなる。
ポスト量子のセキュリティ
「今日使われている暗号の幾つかは、量子コンピュータによって解読されるといわれている。全ての暗号化アルゴリズムが量子の攻撃を受けやすいわけではない。だが、最も広く使われている暗号化アルゴリズムの幾つかは影響を受けるだろう。離散対数問題または因数分解問題に基づくアルゴリズムは全て変更する必要がある」
「量子コンピューティングはまだ、インターネットで展開されている鍵暗号を解読できる段階には至っていない。だが鍵暗号が解読される事態は間違いなく迫っている。量子コンピュータから保護できる暗号方式を考え出して導入するには時間がかかる」
「物事の確認に使う暗号化と情報の保管や交換に使う暗号化は区別しなければならない。ドキュメントにデジタル署名して送信し、署名の有効性を確認するのであれば現時点の量子コンピュータはデジタル署名を偽造できる段階ではないので心配する必要はない。ただし、情報を暗号化して格納または交換している場合は、ポスト量子の暗号方式を検討しておくことが重要だ。そのメッセージを傍受して5〜10年保存すれば、量子コンピュータでそのメッセージを解読できるようになるかもしれない」
「ポスト量子の保護が必要なものの一つがセキュアマルチパーティー計算だ。セキュアマルチパーティー計算は、プライバシーに配慮した計算を容易にする。機密情報を非公開にするにはデータを暗号化しなければならない。計算に使うストレージも問題になる」
グロス氏によると、量子コンピュータの実現後にそれを使って解読することを前提に、米国では国家安全保障局などの機関が暗号化された情報を既に保管しているという。各国の諜報(ちょうほう)機関も間違いなく同じことをしているだろう。
暗号化コミュニティーはこの懸念に気付いている。NIST(米国立標準技術研究所)は、量子コンピュータに対してセキュアな暗号化プロトコルを標準化するために、研究者が競い合う場を設けている。
「DFINITY Foundationはポスト量子のセキュリティに関心を寄せている。現在の暗号は離散対数問題を利用している。現時点では適切に機能しているが、長い目で見ればInternet Computerを危険にさらすことになる。例えばデジタル署名だ。Internet Computerの全てのデータはデジタル署名で認定される。量子コンピュータを使えば誰かになりすませる可能性がある。代わりの技術を見つける必要がある。今すぐ実装する必要はないとしても、量子コンピュータが現実になる前に準備しなければならない」
ポスト量子のセキュリティは、Internet Computerの将来だけでなくブロックチェーン全般や銀行取引などの将来にとっても重要だ。Internet Computerは多くの場面で広く採用されている標準プロトコルを利用している。
広範な暗号化コミュニティーがポスト量子のデジタル署名やTLSの標準化に取り組んでいるため、こうした標準プロトコルで多くの作業を行う必要はないとグロス氏は考えている。Internet Computerで働く研究者の仕事は、それらの中で最善のツールを見つけて実装することになるだろう。課題となるのは、Internet Computerで使われている高度なソリューションだ。
「ポスト量子のセキュリティのためにプロトコルの微調整や幾つかのツールを自分たちで考案しなければならない。コミュニティーが問題を解決することを期待できない領域や特殊な目的のソリューションがある。量子の攻撃に対して脆弱(ぜいじゃく)になることなく、Internet Computerの機能とセキュリティを現在と同じレベルに維持したいと考えている。研究すべきことはたくさんある」
「最後に必要なのがポスト量子に対してもセキュアな暗号化だ。これはまだ実現していない。現在行っている研究プロジェクトの一つは、Internet Computerに機密性を組み込むことだ。Internet Computerが保持しているデータを暗号化できるようにしたい。何を行っているかを誰にも分からないように、その暗号化したデータで計算したい。そのためには信頼できる実行環境が必要だ」
「これにはさまざまなアプローチがある。一つは、基本的には信頼できると信じられる実行環境を用意するアプローチだ。これはチップが改ざんされたら機能しないという考え方だ。問題は、ハードウェアに依存するのは難しいということだ。ハードウェアの出荷後にバグが見つかったら、交換するのは難しい」
「もう一つは、セキュアマルチパーティー計算のアプローチで暗号化を利用する。このアプローチは暗号化に大きく依存するため、ポスト量子でもセキュアである必要がある」
変化する信頼の役割
公開鍵暗号の発明などでインターネットコマースが可能になった。インターネットコマースでは、会ったこともない当事者がセキュアなリンクを確立して金銭を交換できる。分散化が進み、ピア・ツー・ピアへの依存度が高まるにつれ、10年後のサイバーセキュリティの重要度はさらに高まる可能性がある。
経済はますます電子交換に依存するようになり、銀行や政府は以前のようにこれを制御できなくなる。一見、信頼の必要性が高まるように思える。だが、グロス氏のような研究者のおかげで、信頼の必要性は減少している。コンピュータシステムは、中央の統制者に頼ることなく連携できるようになる。
Copyright © ITmedia, Inc. All Rights Reserved.