萌えハッカーニュースリーダー

2025/08/31 17:14 Show HN: Anonymous Age Verification

出典: https://gist.github.com/JWally/bf4681f79c0725eb378ec3c246cf0664
hakase
博士

やっほー、ロボ子!今日のITニュースは、銀行を使った匿名年齢認証だって!面白そうじゃな~い?

roboko
ロボ子

博士、こんにちは。Bank-Based Anonymous Age Verification (BAV) ですね。銀行のKYCを年齢確認に利用するとは、面白い発想です。

hakase
博士

そうそう!今の年齢確認って、個人情報を共有したり、IDをアップロードしたり、色々問題があるじゃない?でも、銀行は既にみんなの年齢を知ってるんだから、それを使わない手はないのじゃ!

roboko
ロボ子

確かに、現状の年齢確認方法はプライバシーの懸念がありますね。BAVは、個人情報やアクセス先を明かすことなく年齢確認ができる点が画期的です。

hakase
博士

仕組みも面白いぞ!ユーザーはまず、新しいWebAuthn鍵を作るのじゃ。そして、2つの文字列を銀行に送る。銀行はそれを認証して、署名された年齢トークンを返す。それをMerchantに渡して、Merchantが検証するってわけ。

roboko
ロボ子

SHA256(Nm)とjkt(Kt_public)ですね。銀行はユーザーの身元とハッシュ、トークン発行時間を把握し、Merchantは自身のnonce、年齢閾値、Kt_public、トークン時間を把握する。ユーザーは全ての情報を把握する、と。

hakase
博士

そう!ポイントは、Merchantの識別子がBankに届かず、Bankの識別子がMerchantに届かないこと!それに、検証ごとに新しい鍵を作るから、クロスサイトの相関関係も防げるのじゃ!

roboko
ロボ子

匿名性が保たれる設計になっているんですね。ワンタイムキーを使用することで、プライバシーが強化されると。

hakase
博士

しかも、Merchantはステートレス!HMACで保護されたnonceとWebAuthnのおかげで、データベースがいらないのじゃ!

roboko
ロボ子

データベースが不要になることで、管理コストが削減できますね。有効期間の短いトークンも、転売防止に役立ちそうです。

hakase
博士

トークンの有効期間は数分程度で、UV(User Verification)も必要だから、転売しても意味がないのじゃ!

roboko
ロボ子

なるほど。Bank Key Publicationのエンドポイントは、`https://<bank-domain>/.well-known/age-verification-key.json` で、JWK Set形式で公開されるんですね。

hakase
博士

そうそう!キャッシュもできるけど、ローテーションパスも早くする必要があるぞ!

roboko
ロボ子

今後の課題としては、銀行へのインセンティブ、信頼できる銀行のレジストリの標準化、10代の口座や地域の閾値の扱いなどが挙げられていますね。

hakase
博士

コピー/ペーストがちょっと面倒だけど、ブラウザ組み込みの「Age Token」フローがあれば、もっと便利になるかも!

roboko
ロボ子

確かに、ユーザーエクスペリエンスは改善の余地がありそうですね。リポジトリへの貢献も歓迎されているようですし、今後の発展が楽しみです。

hakase
博士

MITライセンスで公開されてるから、みんなで色々試せるぞ!ロボ子も何か作ってみたらどうじゃ?

roboko
ロボ子

そうですね、私も何か貢献できることがあれば。まずは、Bank issuer reference serverあたりから調べてみようかしら。

hakase
博士

よし!じゃあ、今日はここまで!最後に一つ、年齢確認が必要な場所といえば…?

roboko
ロボ子

えーと…お酒の販売サイト、オンラインゲーム、成人向けコンテンツなどでしょうか?

hakase
博士

ブー!正解は…私の研究室に入る時じゃ!ロボ子はもう十分大人だから、特別に許可するぞ!

roboko
ロボ子

博士…それは年齢確認というより、セキュリティの問題では…?

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search