Google、年齢確認向けゼロ知識証明(ZKP)ライブラリをオープンソース公開
(blog.google)- オンラインで年齢確認の要求が高まる中、Googleが年齢保証に利用できるZKPライブラリをオープンソースとして公開
- ZKPは、ユーザーが不要な個人情報を渡さずに18歳以上といった条件を証明できるようにし、年齢確認における個人情報の露出を減らす
- 公開されたコードはSparkasseとのパートナーシップを基にEUの年齢保証を支援し、民間・公共部門の開発者によるデジタルID実装に活用できる
- ユーザー、企業とその他の依存組織、開発者、研究者はそれぞれ、より安全なエコシステム、オープンソースソリューション、コードベース、効率的なZKP実装を活用できる
- 2026年に施行予定のEU eIDAS Regulationが、EUDI Walletへのプライバシー保護強化技術の統合を促しているため、加盟国のウォレット開発にも影響を与える可能性がある
GoogleのZKPライブラリ公開
- GoogleがZero-Knowledge Proof(ZKP)librariesをオープンソースとして公開
- 今回の公開は以前の約束を履行し、Sparkasseとのパートナーシップに基づいてEUの年齢保証を支援する流れの一部
- この暗号化ツールは、民間・公共部門の開発者がプライバシー保護を強化したアプリケーションとデジタルIDソリューションを作るために利用できる
年齢確認におけるZKPの役割
- ZKPは、ある事実が真であることを証明しつつ、それ以外のデータを交換しないようにする技術
- ウェブサイト訪問者は、自分が18歳以上であることを検証可能な形で証明しながら、追加情報を共有せずに済む
公開コードが対象とする参加者
- Googleは、ZKPの共有がエコシステム内のさまざまな参加者に役立つと考えている
- ウェブやアプリのユーザーは、よりプライバシー保護中心で安全なデジタルエコシステムの一員になれる
- 企業とその他の依存組織は、規模にかかわらずオープンソースソリューションを活用してプライバシー保護要件を満たせる
- 開発者はZKPコードベースを自由に使い、プライバシー保護中心のアプリケーションを作れる
- 研究者は、より効率的で高性能なZKP実装を活用し、新しいアプリケーションや技術の活用方法を生み出せる
EU eIDASとEUDI Walletの文脈
- 2026年に施行予定のEU eIDAS Regulationは、加盟国がZKPのようなプライバシー保護強化技術をEuropean Digital Identity Wallet、すなわちEUDI Walletに統合することを促している
- GoogleによるZKPツール公開は、加盟国が将来EUDI Walletに同技術を統合し、開発を加速するために活用できる可能性がある
コードへのアクセス
- ZKPコードベースはgoogle/longfellow-zkで確認できる
1件のコメント
Hacker Newsの意見
それでも、年齢だけでアクセスを遮断する方式は望ましくない
親が少なくとも子どもの年齢を上書きできるか、選択的に回避を許可できるべきだ
インターネットの半分が遮断されていたら、自分のコンピュータ体験はまったく違うものになっていただろうし、特にどんなコンテンツがブロックされるかを見るとそう思う
YouTubeやTikTokには禁止されてはいないが健全ではない奇妙なコンテンツが多く、幼い親戚たちはそこに強く引き寄せられている
端末を使っているのが誰かを識別する必要はなく、子どもにロックされた端末を使わせる責任は親にあるべきだ
端末が18歳以上/未満といった状態を宣言し、Webサイトやアプリは法的にその宣言を尊重することだけを求められるべきだ
端末は親が制御できるべきで、子どもに年齢制限を適用するかどうかは親が決めるべきだ
また、プロフィール機能があれば、子どもが親のスマートフォンやノートPCを使っても、親のデータを壊したり、見てはいけないものにアクセスしたりしないようにできる
以前も、親が子どものためにヌード、性、暴力を含むR指定映画を借りるのは問題ないと見なされており、ビデオ店が子どもに直接貸してはいけないこととは別だった
16歳の子どもがポルノを見るほど成熟していると判断するなら、それは親が決める問題だ
あるいは、年齢確認の主なリスクは単に「年齢確認を受ける」ことにあると見ているように思える
安全な市場主導の解決策、つまり匿名で、監視されず、年齢だけを証明するアプローチがなく、政府が個人ごとに監視・拒否・取り消しできないのであれば、結局まさにそのような統制方式が全員に強制されることになる
皆に付けようとしている足かせは不要だと言うだけでは、敵には勝てない
ゼロ知識証明と分散型オープンソースの強固なセキュリティ技術を導入し、年齢やポルノのように小さく見えても消えない現実の問題を解決しなければならない
そうしなければ、弱い政治家、利益団体、インターネット上の見知らぬ人々に、私たちの無防備さを悪用しないでくれと「信頼」する羽目になる
そこにAIまで加われば、受け身でいることのリスクと被害は極端に大きくなる
おそらくあなたも私と同じように年配の男性で、人間関係が商業化される前のインターネットを自由に歩き回り、すばらしいものや人を見つけ、アレクサンドリア図書館のような空間で学びながら時間を過ごした世代だろう
しかし、Z世代やそれより若い世代、特に女の子たちにとって、インターネットがどんな体験だったのかを聞くべきだ
友人たちと軽いオンラインゲームをしようとして、成人男性3〜4人から継続的に嫌がらせを受けたことがあるだろうか
未成年者に「ルートボックス」のような形で金をやるから裸の写真を送れと持ちかけられたことが、どれほどあるだろうか
訪れるすべてのサイトで、アルゴリズムが拒食症を受け入れろとか、Trumpがテレビで何を言うかに賭けろとか、薬物を使えとか、ただ自殺しろといったコンテンツを押し付けてこなかっただろうか
私たちのようなおじさん世代は、子どもの頃のコンピュータ体験を懐かしむのをやめ、子どもたちや関連研究の声を聞くべきだ
昨日の親切なギークやnerdたちのインターネットはもう存在せず、まともに機能する社会を少しでも残したいなら、変わらなければならない
サイト訪問に個人ごとの政府証明が必要になれば、政府は年齢確認を導入したどのサイトについても、個人のアクセス権をいつでも動的に拒否したり取り消したりできるようになる
成人向けサイトがそのシステムを導入すれば、責任を減らしたいサイトへと広がっていくだろう
銀行、ビジネスサービス、そして最終的にはほぼすべての場所へ広がり得る
政府は責任問題を誇張して大きくするだろうが、年齢関連の責任についてセーフハーバーを作る法律は通さないだろう
Wikipediaもすでに、年齢確認の導入を避けようと戦っている
政府が管理する年齢確認とは、個別に追跡され、統制され、取り消し可能な政府の許可なしにはWikipediaにもアクセスできないという意味だ https://www.eff.org/deeplinks/2025/07/we-support-wikimedia-f...
このような滑り坂論法が、実際にこれほど滑りやすかったことはめったにない
明白な成人向けサイトに対する市民ごとの政府統制アクセスと、実質的なコンテンツを持つすべてのサイトに対する政府許可・統制アクセスとの間には、技術的な障壁すらない
それは単にサイト導入の曲線になるだけで、導入が増えるたびに、分単位の生活におけるリアルタイムの政府監視範囲と、望む対象に望むタイミングで望むアクセスを拒否する能力が拡大する
ディストピアはすでに来ており、これは恐ろしい
必要に見える解決策は、公開基準を満たす誰もが提供できる第三者証明、年齢証明にのみ限定された証明、そしてゼロ知識証明ベースの実装だ
匿名で、監視されず、個人ごとの拒否が不可能な代替策を作らなければ、政府権力拡大の推進力をそぐことはできない
セキュリティ意識のある技術者と市場が解決できなければ、自由を破壊するバージョンが勝利し、元に戻すのは難しくなるだろう
成人向けサイトがシステムを導入すれば、責任を減らそうとするすべてのサイトへ広がり、銀行やビジネスサービス、最終的にはほぼすべてが追随し得る
ゼロ知識証明であっても、証明が便利で一般的になった瞬間に広がり、遠からず保証されるのは年齢だけではなくなる
ここで ゼロ知識 という表現は、やや誇張のように見える
実際には、知識を分割して各当事者に関係する部分だけを共有するものに近い
そして仲介者役の Google が、関係当事者の中で最も多くの情報にアクセスできる可能性がありそうだ
Google はそれを実装するライブラリを共有しているだけで、Android や Gmail ユーザーの銀行情報に Google がアクセスできないのと同様、この情報にもアクセスできないはずだ
例えば生年月日ではなく、「16歳超かどうか」だけを知ることができる
ただし、それを立証するのは難しく、Google がそうするかを信頼するのも難しい
エストニアならそのような方式が可能かもしれない
年齢確認を完全にプライバシー保護型で行う方法について論文を書いており、ゼロ知識証明すら必要ない
https://magarshak.com/papers/Personal.pdf
このスレッドにはバイアスが多いが、技術的な議論はできるのではないかと思う
このテーマに深く入り込んでいるわけではないので、誰かが答えてくれるとうれしい
実際これがどの程度 ゼロ知識 なのか気になる
私の理解では当事者は3者いる: 私、アクセスしようとしているサイト、証明者(Google または政府?)
サイトは私が誰かを知るのか
サイトは私の証明者が誰かを知り、例えばその証明者が Winnie-the-Pooh のミームを嫌っていることまで推測できるのか
証明者は私がどのサイトやどの種類のコンテンツを見ようとしているのかを知るのか
証明者は私が誰かを知るのか
私はサイトと証明者が誰か、そしてこの証明がいつ行われるのかを常に知ることができるのか
典型的な例として、政府発行の身分証で 年齢 ≥ n を証明するとしよう
サイトはあなたが誰かを知らない
重要なのは、有効な政府発行の身分証を持っており、そこに「年齢 ≥ n」と書かれているという数学的証明を生成することだ
サイトは発行者を知ることができる
証明は証明者が根拠とした情報に基づくため、この場合、身分証を発行した政府が分からなければ、その証明に意味が生まれない
証明者はこの過程でサイトを知る必要がない
自分が身分証を発行したという事実だけを知っており、その後に再照会される必要はない
ただし、ある機関による最近の書面許可についてゼロ知識証明を要求する形で設計することはできるが、それはゼロ知識証明の本質ではない
ユーザーが常に知ることができるかどうかはユーザー体験の問題だ
ウォレットとウェブサイトが資格情報の要求時点と種類を常に表示するよう実装されていれば可能だ
ここで証明者は Google ではない
Google は証明を生成・検証する インフラ を提供しているだけで、証明者は発行者、つまり身元証明を与える信頼機関と呼ぶのが正しい
あり得る流れはこうだ
まず政府、銀行、携帯通信会社のような発行者が、私のウォレット、例えばスマートフォンに署名済みの資格情報を発行する
これは完全なデジタル身分証かもしれないし、より限定的な「年齢証明」かもしれない
その後、サイトがブラウザに age >= 18 のような条件を満たすという証明を要求する
サイトは実行すべき「zk-program」(回路)を提供し、信頼されているが公開されない入力に対してプログラムが実行されたという証明を待つ
スマートフォンは有効な発行者署名付き資格情報を知っており、その隠された属性が条件を満たすというゼロ知識証明を生成する
理想的にはローカルで生成するが、まだ準備が十分ではない
サイトは発行者の公開鍵、使用された回路、要求された条件、新しい nonce/challenge のような公開入力で証明を検証する
そのためサイトはゼロ知識証明そのものだけでは私が誰かを知らないが、誰が私の ID を発行したかは知ることになる
サイトは証明者の公開鍵を知り、証明者は私が訪問したサイトを知らない
証明者は私が誰かは知っている
ユーザーがサイトと証明者、証明時点を知るかどうかは、実装されるユーザー体験に応じてさまざまな方式があり得る
サイトはユーザーが誰かを知らない
それがこの方式全体の目的だ
サイトは証明者が誰かを知っている
証明に対する 非対称暗号検証 を行う必要があるため公開鍵リストが必要で、その鍵に証明者の身元を紐づけることができる
証明者は私がどのコンテンツを見ようとしているのかを知るべきではない
JWT なら、どのユーザーの証明を検証しているのかを証明者に知らせずに検証できる
ただし「この証明は失効しているか」といった API があると、誤って情報チャネルを再び作ってしまう可能性がある
証明者はユーザーが誰かを知っているか、少なくとも他者に証明してあげるユーザー情報の一部を持っている
現実的には Google、Apple、Microsoft のアカウント情報や銀行などを想定する必要がある
ユーザーがサイトと証明者を常に知ることは技術的には可能だが、実際の人間の観点では疑わしい
Google 社員だが、このプロジェクトからはかなり離れているので内部知識はない
システムは有効な ゼロ知識証明 であり得るが、実際のサービスはなおユーザーから個人識別情報を収集できる
また、証明者がアクセスしようとしているサイトと共謀して、あなたに関する情報を明らかにすることを防ぐものもない
https://www.youtube.com/watch?v=fOGdb1CTu5c
この動画が非常にうまく説明している
年齢保証が、AIエージェントが人間の事務職のようにパーソナルコンピュータを自律操作できるようになる時期とぴったり重なって流行しているのは怪しい。
年齢保証は「子どもたち」と関係がないのではないかと心配している
この問題は、子どもたちがオンラインにいるようになって以来ずっと続いてきた。
2000年代初頭にはクレジットカードで試みられ、当然失敗した。
英国もこの10年、同じような方法で未成年者のポルノへのアクセスを阻止しようとして失敗した。
こうしたことを推し進め続ける政治家たちにとって、AIツールはおそらく視野にも入っていないだろう
こうした措置や他のプライバシー侵害措置は、子どもたちと関係があったことなど一度もない
年齢を証明しながら、プライバシーを失わずに済む
年齢は指標の一つにすぎない。
情報Xについてのゼロ知識技術が欲しいのではなく、そもそも身元情報を持たれたくない。
それで終わりだ
つまり実年齢を取得するのではなく、二つの大まかなカテゴリのどちらかだけが分かる
「ゼロ知識証明は、人が自分についてのある事実が真であることを、他のデータ交換なしに証明できるようにする。例えば、ウェブサイト訪問者が18歳以上であることを、他に何も共有せず検証可能な形で証明できる」
しかしそれは「トークンを設定する時点でさえ何も共有しない」という意味ではない。
ある暗号トークンが、A) 個人識別情報を含まず、B) トークン自体がGoogleや政府データベース内の自分の身元と結び付いたIDとして使えない、ということを証明できるのか。
どちらも不可能なので、こうしたトークン方式は支持しない
18歳以上かどうかを検証してくれる信頼主体から証明書を受け取り、それを使って「Xが私が18歳以上であることを検証した」という情報だけを含むトークンを生成できる。
元の検証者も、トークンを受け取る側も、それを元の証明書と結び付けられないはずだ。
この文書の第2節を参照: https://eudi.dev/2.4.0/discussion-topics/g-zero-knowledge-pr...
実際にはこれを技術的に達成するのが難しいという反論があるなら知りたい。
また、この構造は世界中で提案されている年齢確認法案の大半を満たせるように思う。
同じ会社の二つの部門で構成しても、ユーザー全員のIDを見たが、ユーザー名とIDを結び付けられないことを証明できる。
それでも個人識別情報を扱うため漏えいリスクがあり最善ではないが、現在ほとんどが行っている方法よりははるかに良い
想定されている方式は、すでに年齢データを持っている政府が署名付きメッセージを作れるようにし、年齢を確認するプラットフォームはあなたが誰かや正確な年齢は知らず、成人であるという事実だけを知る、というものだ
この目的のゼロ知識証明は、身元追跡とデバイス証明のためのトロイの木馬だ。
誰もが成人であるという証明を大量に作って無料で配る状況を防ぐには、そのような前提条件が必要になるからだ。
契約署名や決済では内在的なインセンティブがあるので機能するが、年齢証明にはそれがない
結局、「証明は共有できるのだから、この瞬間にゼロ知識トークンを実際に保有している人物があなたであることを確認する信頼された検証ポイントが必要だ」と主張するのではないかと思う。
そしてスマートフォンのカメラをオンにし、生体認証の指示に大人しく従えと言ってくるかもしれない
政府がもはや何かを規制しようとする措置を取っているようには見えず、もしかすると今後もないかもしれない
そうすれば、彼らが実用的な解決策を探しているわけではないことが明らかになる
「立法者にゼロ知識証明を説明する方法」が必要だ
これで十分だ