June 24, 2026
森山和道 k_moriyama
広島大学理学部卒。TV局勤務を経て1997年からサイエンスライターとして活動開始。科学技術全般のほか、製造、物流、医療、農業、食品、アパレルなど多分野で使われているロボットやAI関連の取材・執筆がメイン。WirelessWire & Schrodinger's では主に日立製作所・研究開発グループの「最先端技術の源流」を担当。
ゼロ知識証明とは自身が持つ知識や命題の真実を、それ以上の情報を提供せずに証明する技術である。「不正していないこと」を保証できることから、これまでミッションクリティカルシステムの構築で培ってきたセキュリティ技術や分散データ処理技術を活用しブロックチェーンの研究開発を加速させる日立にとっても、プライバシーと透明性のトレードオフを解決する手段として急速に進展しつつある。加えて、サーバー計算の検証や電子証明書の一部の情報開示と検証、耐量子計算機暗号など広範なセキュリティ基盤に貢献する技術として期待されているので、量子コンピュータにおいても研究の先頭を切る同社との相性も良い。セキュリティの基盤として、いわば「本当のゼロトラスト」を実現し得るゼロ知識証明の現在と社会実装の可能性について、日立製作所研究開発グループ Digital Innovation R&D システムイノベーションセンタ セキュリティ&トラスト研究部の長沼健 主任研究員に話を伺った。
(本記事は、日立製作所・研究開発グループ「最先端技術の源流」の抄録です。図解付きの全文はこちら )
ゼロ知識証明(Zero-Knowledge Proof、ZKP)とは、ある人(証明者)が「特定の秘密を知っている」という事実を、その秘密自体を一切明かすことなく相手(検証者)に証明するための暗号技術である。証明者は「自分は答えを知っている」ことを示せる。だが検証者は「答えが何であるか」については一切の情報を得られない。つまり、ある主張が正しいことを証明するために、その主張の中身(たとえば秘密の情報)そのものは明かさないで済む仕組みが「ゼロ知識証明」だ。日立でゼロ知識証明の研究を行なっている長沼は「ゼロ知識証明は暗号のコンテキストで長年研究されてきた技術だが、ブロックチェーンに取り込まれてから一気に進んだ」と紹介する。「特にここ1〜2年では、1年が10年分に相当するほどの急激な進歩を遂げ、実用性が大幅に向上している」という。ゼロ知識証明を使うことで、自分が持っている知識や命題—-たとえば「自分は20歳以上だ」とか「暗号の鍵を持っている」ということを、余計な情報を与えることなく他者に証明することができる。たとえば、「20歳以上だ」ということを証明するときには、運転免許証やマイナンバーカードなどの適当な身分証明書を提示するのが一般的だ。しかしそうすると、単に20歳以上であることを証明したいだけなのに、余計な情報まで漏れてしまう。ゼロ知識証明はこれを防ぐための技術だと考えれば良い。
「暗号の鍵を知っている」ことを証明したいとき、一番単純な方法は鍵を渡すことだ。しかし渡したくないときには、暗号を復号してみせればいい。これを洞窟の出口探索で例えたものである。
「アリババの洞窟」では二つの出口を想定する。この二つの出口は奥で繋がっているが、通路には「呪文」を唱えないと開かない扉がある。この状況で、検証者は洞窟の外で待つ。証明者は洞窟に入って、どちらかの出口から出る。検証者は証明者が秘密の呪文を知っているかどうか疑っており、ランダムに、どちらからの出口から出てくるよう要求する。この要求に証明者が何度でもこたえることができたら、検証者は証明者が「本当に呪文を知っているのだな」とみなせる。だが、呪文そのものについての知識は得られない。これがゼロ知識証明の例え話である。要するに「秘密を知っている証拠は示すが、秘密そのものは守ることができる」のだ。この利点からゼロ知識証明は、ブロックチェーンを使った暗号資産、認証システム、プライバシー保護などに用いられている。
「アリババの洞窟」は、証明者と検証者が何度もやりとりする必要がある対話型の「Interactive ZKP」だ。だがこれでは現実には使えないケースも多い。現在のブロックチェーンなどに実装されている主流の技術は非対話型「Non-Interactive ZKP(NIZK)」特に、非対話型の中でもデータサイズの小さい「zk-SNARK(Zero-Knowledge Succinct Non-interactive Argument of Knowledge) 」と呼ばれている。zk-SNARKでは、証明者は「証明(proof)」と呼ばれる短いデータを作成し、送り検証者はそれをチェックするだけで真か偽かを判定できる。つまり一度のやりとりだけで済むのである。ブロックチェーン上でゼロ知識証明を利用する場合、サーバーを介さずに直接通信をおこなうP2P(Peer to Peer)ネットワーク上の不特定多数が検証者となるため、証明者との対話を行うことは非現実的だ。よって、ゼロ知識証明をブロックチェーンに活用する際にはzk-SNARKが必須条件だ。
zk-SNARK最大の利点は、生成される証明データサイズが小さく、検証も高速で済む点である。ブロックチェーンでゼロ知識証明を利用する際には、トランザクションデータ(取引内容のデータ)に証明データを追加することになるが、ブロックチェーンのブロックサイズは限られており、手数料もデータサイズに比例する。コスト削減のためにもデータサイズは小さいことも重要なのだ。ただし課題もある。現在の主流のzk-SNARKは楕円曲線暗号やペアリング暗号に依存している。これらの安全性は現実的な時間で暗号のベースとなっている数学的な問題を解くことが難しいことを根拠としている。しかしながら将来、これらの問題を高速に解ける量子コンピュータが実用化されると破られる可能性がある。その結果、秘匿したい情報が暴かれてしまうかもしれない。金融庁なども2030年頃を目標に現在の暗号を、量子コンピュータでも解くことが難しい数学的構造を基盤にした「耐量子計算機暗号(Post-Quantum Cryptography、PQC)」へと移行する必要性を指摘している。
日立は2020年、この課題に対応するために量子コンピュータでも解読されないと期待されている「量子コンピュータ耐性」を持つzk-SNARK方式を開発した。耐量子性を実現するためのアプローチとしてハッシュベース暗号や格子ベース暗号などが研究されている。長沼は耐量子性を持ちつつ、証明のデータサイズが小さいといった利点を持つプロトコルの研究開発に取り組んでいる。目標は、仮想通貨の盗難などを防ぐこと、そして安全なゼロ知識証明技術の確立だ。日立の強みは、量子コンピュータそのものの研究と、それによって新たに生まれる脆弱性をカバーする暗号研究双方に取り組んでいる点にある、と言えるだろう。
(森山和道/サイエンスライター)