金融機関のローン審査や暗号通貨の取引などにおいて、プライバシーを保護しながらデータの正しさを証明する技術として昨今注目を集めているのが「ゼロ知識証明」だ。
ゼロ知識証明とは、相手に追加情報を与えることなく主張の真実性だけを証明する暗号プロトコルの1つ。例えば、37歳であるA氏が「30代である」ことを証明したい場合、マイナンバーカードや戸籍情報を相手に提示すれば、性別や住所、年齢、家族構成など余分な情報まで相手に漏れてしまう可能性がある。
ゼロ知識証明とは
こうした弊害を無くし、「30代である」ことだけを安全に証明できるようにするのが、ゼロ知識証明の使用例だ。データ利活用時におけるプライバシー保護が課題となる中、特にWeb3の信頼性を高めるキー技術の1つとして、多くの研究機関がこのゼロ知識証明の実用化に向けた研究を進めている。
現時点では、パスワードを開示せずに正しいパスワードを持っていることを証明する、暗号通貨において取引内容を秘匿したまま取引が正しく実行されたことを証明する、といった用途に特化したかたちで使われているが、用途ごとに暗号化と証明の仕組みを作り込む必要があるため、これまで利用シーンが広がっていなかった。
これを汎用的に用いることができるようになれば、金融取引や医療/ヘルスケアなど様々な分野に利用が広がることが期待できる。
ゼロ知識証明が「汎用的に使える世界を」
このゼロ知識証明の研究開発を行うNTTが2024年9月19日、その研究成果を発表した。NTT社会情報研究所 情報保護技術研究プロジェクト 研究主任の清島奨氏によれば、ゼロ知識証明の中でも非常に安全性が高い「リセット可能統計的ゼロ知識アーギュメント」の実用化に大きく貢献するものだという。
研究ターゲットである「リセット可能統計的ゼロ知識アーギュメント」の概要
同氏によれば、ゼロ知識証明の理論および技術は1980年代から知られており、前述のように用途特化型で実用化もされている。だが、「今注目されているのは、『どんな主張でも証明できるタイプ』だ」。リセット可能統計的ゼロ知識アーギュメントはそれに当たり、例えば「30代である」「東京在住である」「8月生まれである」などが、すべて1つの方式で証明可能になる。
具体的にどんなシーンで利用できるのか。清島氏は次の2つを例に挙げた。
1つは、暗号通貨の取引において、支払元の口座残高が十分であることを証明したい場合。ブロックチェーン上の口座残高や取引記録を暗号化したまま、取引の正しさを証明できる。
もう1つは、金融機関のローン審査におけるプライバシー保護だ。ローン審査時に顧客は年収が特定の範囲内であることのみを証明できる。顧客は具体的な年収額を伝えなくてもすみ、金融機関側も個人情報の所有範囲を最小化できる。
ゼロ知識証明で可能になることの例
また、リセット可能統計的ゼロ知識アーギュメントの特徴である「安全性が非常に高い」という点は、清島氏によれば、「計算能力が乏しい『証明者』でも、ゼロ知識証明を実行できる」ということであり、PCやスマートフォンと比べて計算能力が低い端末、「例えばIoTデバイスなどでも、データの秘匿性を保証できる」という。