- EUのオンライン年齢確認は、身分証明書のアップロードや顔スキャンをデフォルトにするのではなく、必要な事実だけを証明する構造であるため、多くの批判は核心を外している
- サイトが氏名・生年月日・ID番号を受け取る代わりに、
age >= required_age のようなしきい値を満たしているかだけを確認する、署名付きの年齢証明が基本単位となる
- 同じ資格情報を複数のサイトで繰り返し提示すると訪問履歴が結び付けられる可能性があるため、選択的開示やゼロ知識証明によって相関を減らす方法が必要になる
- EU Age Verification Blueprintは、Proof of Age attestations、relying parties、attestation providers、age-verification apps、trust listsを使用し、European Digital Identity Walletの構造と連動している
- プライバシー保護は設計だけでは保証されず、安定した識別子の再利用・発行者へのリアルタイム照会・中央ログ・ウォレットのテレメトリ・フィンガープリンティング・非公開実装といった実装上の失敗を防ぐ必要がある
年齢制限論争の核心
- オンライン年齢確認をめぐる議論には、技術的実装とは別に、年齢制限そのものを受け入れない立場が混在している
- こうした立場では、どのようなプライバシー保護型の設計も十分な解決策になりにくい
- 9歳、10歳、14歳の子どもや青少年は、操作、依存を生むループ、性的コンテンツ、ギャンブル的メカニクス、グルーミング、いじめ、アルゴリズムによる急進化といったリスクに一人で対処する準備ができていない
- 親は幼い子どもに強い境界線を設けることができるが、思春期には自立して行動し、判断し、他者と会話するための空間も必要になる
- 社会はすでに運転、飲酒、ギャンブル、特定の場所への入場に年齢制限を適用しており、インターネットの一部領域にも同じ原則を適用できる
- より難しい問題は、年齢制限の正当性ではなく、インターネットを身元検問所にせずに執行する方法である
誤った方式が生む監視リスク
- オンライン年齢確認を身分証明書スキャン、パスポートのアップロード、自撮り、顔スキャンで実装すると、プライバシーリスクが大きくなる
- ポルノサイト、ギャンブルサイト、オンライン酒販店、宗教フォーラムで成人であることを証明するために、氏名、生年月日、ID番号、顔、住所、パスポートを渡す必要はない
- 信頼できる第三者でログインする方式も別の問題を生む
- 銀行、Google、Apple、携帯通信事業者、政府の身元確認サービスが認証を担えば、Webサイトに文書を渡さなくてもよい
- その代わり、身元提供者がユーザーがどの年齢制限サイトを訪れているかを知ることになる
- ある方式ではWebサイトがユーザーの身元を知り、別の方式では身元提供者がユーザーの訪問先を知るため、どちらも危険である
より良い基本単位:署名付き年齢証明
- より良い設計は、証明すべき事実だけを証明するところから始まる
- Webサイトは、ユーザーの氏名、生年月日、ID番号、実年齢が19歳なのか37歳なのか74歳なのかを知る必要はない
- 必要な情報は、次の条件を満たしているかどうかだけである
age >= required_age
- オフラインでたとえるなら、「over 18」とだけ記された公式カードを発行してもらい、年齢制限のある場所の入口で提示する方式である
- 政府機関でパスポートや国民IDにより年齢を確認する
- 発行されたカードは「18歳以上」のような1つの事実だけを表示する
- 施設運営者はカードの真正性だけを確認し、氏名、生年月日、ID番号は知ることができない
- デジタル方式では、暗号技術で同じ構造を実装する
- 承認された発行者が一度だけ年齢を確認する
- その後、署名付き資格情報を発行する
{
"claim": "age_over_18",
"value": true,
"issuer": "Trusted Age Attestation Provider",
"valid_until": "2027-12-31"
}
signature = Sign(issuer_private_key, attestation)
Verify(issuer_public_key, attestation, signature)
- 重要な性質は、Webサイトが発行者に毎回連絡する必要がない点である
- Webサイトは、証明が信頼された発行者の署名を受けており、まだ有効であるかだけを確認する
- 発行者は、ユーザーがどこで証明を使ったのか、実際に使ったのかを知ることができない
EUのアプローチの構造
- EU Age Verification Blueprintの核心は、Proof of Age attestationに基づく構造である
- システムは、relying parties、attestation providers、age-verification apps、trust listsで構成される
- このアプローチはEuropean Digital Identity Walletのアーキテクチャと整合している
- ユーザーは正確な年齢や身元を公開せずに、特定の年齢以上であることを証明できる
- 関連文書
選択的開示とゼロ知識証明
- 署名付き証明は、各サイトに身分証明書をアップロードする方式より優れているが、同じ資格情報を複数のWebサイトに提示すると訪問の相関が生じる可能性がある
- 氏名がなくても、複数のサイトが同じ匿名の成人がsite A、site B、site Cを訪れたという事実を結び付けることができる
- より強力な方式では、選択的開示またはゼロ知識証明を使用する
- ウォレットは元の証明をそのまま見せず、次の命題を証明する
- 信頼された発行者が署名した有効なProof of Age attestationを保有している
- その証明は
age >= 18 を満たしている
- EUの技術文書は、Proof of Age attestationからzkSNARK証明を生成する方式を扱っている
- アプリは証明を回路の非公開入力としてエンコードする
- attestation providerの公開鍵などの公開入力を使用する
- 検証可能なzkSNARK proofを生成する
- この方式は、「ここに私のIDがある」「ここに私の生年月日がある」「ここに私の署名付き年齢資格情報がある」のではなく、「私が18歳以上であることを証明する有効な資格情報を保有しているという暗号学的証拠」を提示する構造である
- 関連文書
- EU ZKP technical annex: Proof of Age attestationを非公開入力としてエンコードし、attestation providerの公開鍵のような公開検証入力だけを公開してzkSNARK proofを生成する
- Verifier developer guide: 標準の
mdoc attestationは、ユーザーが年齢しきい値を満たすという署名付き証明であり、ZKPはより強いプライバシー保護と、リンク可能な識別子が存在しないことを提供する強化された証明形式である
プライバシー保護を壊す実装条件
- プライバシー保護型アーキテクチャでも、誤って実装されれば約束を守れない
- 次の条件は、EU式アプローチのプライバシー保証を損なう可能性がある
- Webサイト間で再利用される安定した識別子
- すべての年齢確認のたびに発行者へ連絡する構造
- 検証イベントの中央集権的なログ
- どのrelying partyが証明を要求したかを記録するウォレットのテレメトリ
- Webサイトが必要以上に多くの属性を要求する動作
- 脆弱なウォレットセキュリティ
- ユーザーに過度な情報共有を促す悪いUX
- 匿名証明同士を結び付けるブラウザまたはデバイスのフィンガープリンティング
- 資格情報の使用先を明らかにする失効確認
- 閉鎖的で監査されていない国別実装
- プライバシー保護に関する議論の焦点は、年齢確認システム自体を無条件に反対することではなく、実際の実装がこの構造を守るよう必要な検査を入れることにある
1件のコメント
Lobste.rs の意見
この記事で全面的に同意できる点がある。原則として年齢確認に反対するなら、どんな解決策にも満足できないということ。それはその通りだと思う
ただし今回のEU方式は悪くなさそうに見える。できるだけ早く義務化されるといいが、現実的な理由でそうならない可能性があることも認める
ブログ記事は、操作、中毒ループ、ギャンブル的な仕掛け、グルーミング、嫌がらせ、アルゴリズムによる過激化のように人に害を与えるオンライン空間を根拠にしているが、記事自体もこれらが大人にも有害だと認めている
それなのに、なぜ有害な行為を法律で直接禁止して全員を助けるのではなく、被害の可能性の代理指標として年齢を使い、一部の管理可能な空間から若者を排除し、コミュニティやリソースから遠ざけ、特にクィアの若者のような脆弱な集団にとって重要な場所を奪ったり、管理外の空間へ押しやったりする方がよいというのか理解できない
批判を「無知または意図的に誤解を招く」と呼んだ直後に偽の二分法で始まるブログとは、実にいいね
年齢確認の議論で一番いら立つのは、根本原因に触れる人がほとんどいないことだ。子どもや大人を継続的なドーパミン刺激に中毒にさせるテクノ封建主義者たちの会社こそが問題だ
年齢確認を導入するより、YouTube Shorts、TikTok、Facebook のような中毒に最適化されたアルゴリズムフィードを違法化すべきだと思う。子どもにも大人にも有害で、嘘・偽情報・分断の助長などを主流化し、民主主義の織物を引き裂いている
社会を破壊しながら何十億も稼ぐことを、これ以上許してはいけない
ギャンブルや酒を例にすると、ノルウェーでは政府が税を上乗せし、不便にすることで有害な活動を抑制しようとすることはできるが、同時に困っている人を助けるサービスにも資金を出している。完全に禁止していたら反発を招き、違法市場へ移っていただろう
だから一部の大人が被害を受けるとしても、大人には自分で選択させる方を選ぶ。一方で子どもはまだ完全には発達しておらず、自分に有害な選択から守られるべきだという認識が一般的だ。年齢が上がるほど、より多くの判断を認め、小さな被害もある程度は許容する
だから現実世界では、子どもは酒やスクラッチくじも買えない
オンライン世界の一部は、大人も含めてもっと適切に規制されるべきだと思う。だが、子どもには禁止されるべき一方で、大人に禁止すればばかげたことになり得る領域もある
それぞれの場合に使われる技術を説明する記事は非常に少なく、EU・英国・米国州別の解決策は技術的にかなり異なる
オンラインプラットフォームに、人へ与えた被害について責任を負わせるのはどうだろう? 憎悪、女性蔑視、過激化についてすべて責任を負わせたらどうだろう?
プラットフォームがあらゆるコンテンツをホストせず、クリックや広告エンゲージメントを最大化するためにエンゲージメントや怒りの誘発へ最適化することをやめれば、インターネットは人々にとって、子どもだけでなく全員にとって、ここまで有害ではないかもしれない
何がそのようなプラットフォームに該当するのか、考え直す必要がある。もともとの論理は、ユーザー生成コンテンツを単に提供しているだけなので、通報を受けたら有害なものを削除する限り責任を負わないというものだ
しかしフィードのアルゴリズムが何を見せるかを決めているなら、それでも同じなのか? 人による判断であれアルゴリズムによる判断であれ、そうした編集判断には編集責任も伴うべきだと思う
違法ではないが子どもに適していないオンラインサービスやプラットフォームもある。たとえばベッティングサイトや、9歳の子どもには不適切なコンテンツがそうだ。親として「まだ君にはだめだ」と言わなければならない場面は多く、ここ10年でそうした場面がますますオンラインへ移っている
試す価値がないという意味ではないが、こうした複雑な問題は複数の方向から同時に攻める必要がある
「年齢確認は存在すべきではない」と原則として反対する理由は、まさに適切な技術的解決策などあり得ないと信じているからだ
また、インターネット上の多くの被害は子どもだけでなく全員を標的にしているのに、コンテンツ規制の負担をさらに消費者へ押しつけることになる
証明書ベースの確認は、全員が文書化されていて、常にその文書へアクセスでき、その証明を処理するのに「十分安全な」デバイスを持ち、その証明を使ってよいと認められたウェブサイトにアクセスし、その文書要求が正当かどうかを理解する教育まで十分に受けている、という前提でのみ優れている
私たちが標準化するどんな技術的解決策も、テック企業や詐欺師に悪用されるだろう。過去にもそうだったし、実質的な代償を払ってこなかったからだ。ロビイストたちも、「許容される」サービスやデバイスの範囲を狭めるために悪用するだろう
暗号技術をかぶせても安全にはならない。「子どもたちのことを考えろ」という提案はどれも、「親の身分証を盗んだ子ども」まで想定するため、結局ウェブサイトに写真を記録させることになる
文言としては「所有者確認のために画像認識を行う」程度かもしれず、そこに記録するとは書かれていないかもしれない。しかし、確認を適切に行わなかった、または検証が不十分だったとして訴えられた瞬間、記録が必要になる
取れる対策はいくつかあるが、核心はそこではない。検閲は2つの形で機能する。1つはサイトにユーザーを識別させ、追跡可能にすること。もう1つは、サイト運営自体をあまりにも高価で危険なものにすること
同性愛嫌悪者たちが「子どもを守れ」というくだらない論理を使うのを見ればいい
身分証の要求は、子どもたちが自分を病んだ犯罪者扱いしないコンテンツにアクセスすることを困難、あるいは不可能にする。これからサイトを運営するには、自分たちを防御するための記録情報を安全に保管するセキュリティ費用と、十分に検閲しなかったとして訴えられる費用まで負担しなければならない
「提示された身分証が実際にそのユーザー本人のものだと証明しなければならない」という段階を扱えない数学ベースの論証は、全プロセスで最も重要な段階を飛ばしている
私が18歳以上なら、このIDを受け取って望むリクエストに好きなだけ署名できるのか? そうなら、この方式はプライバシーは保護するが効果はない
事実上、GoogleとAppleの規約に同意し、この寡占企業のスマートフォンを持っていなければソーシャルメディアを使えないという法的義務が生じる。今後、このシステムが有用だと判断されるポルノ、オンラインビデオゲーム、映画レンタルのような他のサービスにも拡張されるだろう
Googleからブロックされたら終わり。Linuxを使っていてもやはり終わり
記憶では、承認済みOSの信頼ウォレットが必須にならないようにできるという構想で、理論上はPostIdentのように郵便局で身分証を見せ、暗号化ファイルに保存された署名を受け取る形も可能だった
たとえば署名1000個を受け取り、それぞれは一度だけ有効。さらに必要なら新しい束を受け取ればよい。各署名はプライバシーを保護する
子どもは欲しいものを手に入れるのが得意だ。十分に何度も頼めば、誰かがやってくれる
個人的には、すべての子どもが同じように動機付けられているとか、同じ目標を持っているとか、長期目標のために同じように努力できるとは思わない
原則としてブログ記事に大きく反対しているわけではなく、プライバシー保護型の年齢確認システムがあればよいという点にも同意する。ただ、現実にきちんと実装されるかについては本当に、本当に懐疑的だ
筆者も記事の最後に、プライバシーを損なう実装上の問題一覧を親切に載せている。年齢確認が法律で義務化されれば、迅速性と青少年保護という名目の下で、その問題の一部または全部が受け入れられてしまうのではないかと非常に心配している
悪い年齢確認システムは年齢確認がまったくないよりも悪いと思うなら、私もそう思うが、そうした微妙な線を通そうとするより、最初から概念そのものに反対するほうが政治的にはより実現可能だと思う
「9歳、10歳、14歳の子どもが、何の制限もなく開かれたインターネットを歩き回る準備ができているわけではない」
私たちの多くを今ここまで来させた、子ども時代と青春期の最も良い部分を、未来の世代から奪ってはならない
私は12歳だった1993年から、FIDOnetに似たネットワークで他のBBSと接続された地域のBBSを制限なく巡回していたし、14歳だった1995年からは開かれたインターネットを制限なく使っていた。母がモデム付きPCをもっと早く買ってくれていれば、BBSはもっと早く始めていたかもしれない
だから中毒ループ、ギャンブル性のある仕掛け、アルゴリズムによる過激化は、すべての人のためになくし、インターネットの良い部分は制限なくすべての人に開いておこう。そうすれば未来の世代は、私たちが持っていたものより良いものを手にできる
ゼロ知識証明だけでは、私がEUの全員を39歳だと証明できない理由がない。これを緩和するには、事実上身元証明とデバイス証明が必要になり、滑りやすい坂は技術そのものに組み込まれている
このアーキテクチャの形は、決済確認や法的文書への署名には合っている。私の金で誰か第三者が決済したり、私の名前で契約書に署名したりさせないという強い利害関係があるからだ
しかし年齢証明では、私が他人の代わりに証明しても失うものがない