2024年11月18日月曜日

続々々)リンク可能性、リンク不可能性の話

こんにちは、富士榮です。

引き続きWalletモデルを考える時のクレデンシャルのリンクの件についてみていきましょう。

元記事はSpruce IDのWayneのこの記事です。

なんだかんだで長くなってしまいましたが、ようやく中身の話です。



前回、RP同士の結託の話をしましたが、課題についてこのように続きます。
To maximize privacy, these pieces of data presented using a VDC should be “unlinkable.” For instance, if the same user who’d proven their age at a content website later went to a bank and proved their name, no one should be able to connect those two data points to the same ID holder, not even if the content website and the bank work together. We wouldn’t want the bank to make unfair financial credit decisions based on the perceived web browsing habits of the user.

プライバシーを最大化するために、VDCを使って提示されるこれらのデータは 「リンク不可能 」であるべきだ。例えば、コンテンツ・ウェブサイトで年齢を証明した同じユーザーが、その後銀行に行って名前を証明した場合、コンテンツ・ウェブサイトと銀行が連携していたとしても、この2つのデータを同じID保持者に結びつけることは誰にもできないはずだ。たとえコンテンツサイトと銀行が連携していたとしてもだ。私たちは、銀行がユーザーのウェブ閲覧の習慣に基づいて、不公正な金融上の信用判断を下すことを望まない。

However, VDCs are sometimes built on a single digital signature, a unique value that can be used to track or collate information about a user if shared repeatedly with one or more parties. If the content website in our example retains the single digital signature created by the issuing authority, and that same digital signature was also shared with the bank, then the content website and the bank could collude to discover more information about the user than what was intended.

しかし、VDCは、1つまたは複数の当事者と繰り返し共有された場合、ユーザーに関する情報を追跡または照合するために使用することができる一意の値である単一のデジタル署名に基づいて構築されることがあります。この例のコンテンツ・ウェブサイトが、発行機関によって作成された単一のデジタル署名を保持し、その同じデジタル署名が銀行とも共有された場合、コンテンツ・ウェブサイトと銀行が結託して、意図された以上のユーザーに関する情報を発見する可能性がある。

The case where two or more verifiers of information can collude to learn more about the user is known as verifier-verifier collusion and can violate user privacy. While a name-age combination may seem innocuous, a third-party data collector could, over time, assemble a variety of data about a user simply by tracking their usage of unique values across many different verifiers, whether online or in-person. At scale, these issues can compound into dystopian surveillance schemes by allowing every digital interaction to be tracked and made available to the highest bidders or an unchecked central authority.

2つ以上の情報検証者が結託してユーザーについてより多くのことを知ることができるケースは、検証者と検証者の結託として知られ、ユーザーのプライバシーを侵害する可能性がある。名前と年齢の組み合わせは無害に見えるかもしれないが、第三者のデータ収集者は、オンラインであれ対面であれ、多くの異なる検証者間でユニークな値の使用状況を追跡するだけで、時間の経過とともに、ユーザーに関するさまざまなデータを組み立てることができる。規模が大きくなれば、このような問題は、あらゆるデジタル交流が追跡され、最も高い入札者やチェックされていない中央当局が利用できるようになることで、ディストピア的な監視スキームへと複雑化する可能性がある。

書いてあることとしては、フェデレーションモデルでも課題となっていた一つまたは複数の事業者への複数回ID情報を同一の識別子で渡す場合に意図しない属性のLookupができてしまう可能性がある、ということです。Verifiable Credentials(最近のNISTの資料ではVerifiable Digital Credentials/VDCと記載されていることが多い)だとデジタル署名が共通であることで同じことが起きてしまう、ということについて問題視されています。

まさに上記の図に記載されていることですね。

で、どうするの?という話ですが、フェデレーションの時と同じようにPairwiseな値をVerifier単位で渡してあげるということです。


Fortunately, a simple solution exists to help prevent verifier-verifier collusion by cycling digital signatures so that each is used only once. When a new VDC is issued by a post office, DMV, or other issuer, it can be provisioned not with a single signature from the issuing authority that produces linkable usage, but with many different signatures from the issuing authority. If user device keys are necessary for using the VDC, as in the case of mobile driver’s licenses, several different keys can be used as well. A properly configured digital wallet would then use a fresh signature (and potentially a fresh key) every time an ID holder uses their VDC to attest to particular pieces of information, ideally preventing linkage to the user through the signatures.

幸いなことに、デジタル署名を循環させ、各署名が一度しか使用されないようにすることで、 検証者と検証者の癒着を防ぐシンプルなソリューションが存在する。新しいVDCが郵便局、陸運局、またはその他の発行者から発行される場合、リンク可能な使用法を生成する発行機関の単一の署名ではなく、発行機関の多くの異なる署名でプロビジョニングすることができる。モバイル運転免許証の場合のように、VDCを使用するためにユーザーデバイスキーが必要な場合、複数の異なるキーを使用することもできる。適切に構成されたデジタル・ウォレットは、ID保有者がVDCを使用して特定の情報を証明するたびに、新しい署名(および潜在的に新しい鍵)を使用し、理想的には署名を通じてユーザーへのリンクを防止する。

Using our earlier example of a user who goes to a content website and uses their VDC to prove they are over 18, the digital wallet presents a signature for this interaction, and doesn’t use that signature again. When the user then visits their bank and uses a VDC to prove their name for account verification purposes, the digital wallet uses a new signature for that interaction.

コンテンツ・ウェブサイトにアクセスし、18歳以上であることを証明するためにVDCを使用するユーザーを例にとると、デジタルウォレットはこのインタラクションのために署名を提示し、その署名を再度使用することはありません。その後、ユーザが銀行を訪れ、口座確認のために自分の名前を証明するためにVDCを使用すると、デジタルウォレットはそのインタラクションのために新しい署名を使用します。

Because the signatures are different across each presentation, the content website and the bank cannot collude to link these two interactions back to the same user without additional information. The user can even use different signatures every time they visit the same content website, so that the content website cannot even tell how often the user visits from repeated use of their digital ID.

署名は各プレゼンテーションで異なるため、コンテンツ・ウェブサイトと銀行は結託して、追加情報なしにこれら2つのインタラクションを同じユーザーに結びつけることはできない。ユーザーは、同じコンテンツ・ウェブサイトを訪問するたびに異なる署名を使用することもできるため、コンテンツ・ウェブサイトは、デジタルIDの繰り返し使用からユーザーの訪問頻度を知ることさえできない。 


要はキーローテーションで鍵が一度しか使われないようにすればいいじゃん、って話ですね。まぁ、Transientにするにはこの方法でも良さそうですが、結構実装コスト高そうです。過去の署名に使った公開鍵をひたすら公開し続ける(もしくはクレデンシャル自体に含める)ことになるような気もしますし、同一VerifierでPersistentにすることができません。もう少し工夫も必要になりそうな気がします。


次回はIssuer/Verifierの結託のケースをみていきましょう。

 

2024年11月17日日曜日

続々)リンク可能性、リンク不可能性の話

こんにちは、富士榮です。

引き続きWalletモデルを考える時のクレデンシャルのリンクの件についてみていきましょう。

元記事はSpruce IDのWayneのこの記事です。


これはFederationモデルとも当然共通ですが、リンク可能性には大きく2つのパターンがあります。一つはRP(Verifier)同士が結託するパターン、もう一つはIdP(Issuer)とRP(Verifier)が結託するパターンです。

まずはRP(Verifier)同士が結託するパターンです。

One goal for a verifiable digital credential system is that a credential can be used to present only the necessary facts in a particular situation, and nothing more. For instance, a VDC could prove to an age-restricted content website that someone is over a certain age, without revealing their address, date of birth, or full name. This ability to limit disclosures allows the use of functional identity, and it’s one big privacy advantage of a VDC system over today’s identity systems that store a complete scan of a passport or driver’s license. However, even with selective disclosure of data fields, it is possible to unintentionally have those presentations linkable if the same unique values are used across verifiers.

検証可能なデジタル資格情報システムにおける目標のひとつは、特定の状況において、資格情報は必要な事実のみを提示し、それ以上の提示は行わないというものです。例えば、年齢制限のあるコンテンツウェブサイトに対して、VDCは、住所、生年月日、フルネームを明らかにすることなく、ある人が一定の年齢以上であることを証明することができます。この開示を制限する能力により、機能的なIDの利用が可能となり、パスポートや運転免許証の完全なスキャン情報を保存する現在のIDシステムに比べ、VDCシステムのプライバシー保護の面で大きな利点となります。しかし、データフィールドを選択的に開示する場合でも、検証者間で同じ固有の値が使用されていると、意図せずにそれらの提示がリンク可能となる可能性があります。

In our example, if a user proves their age to access an age-restricted content website (henceforth referred to simply as “content website”), and then later verifies their name at a bank, both interactions may run the risk of revealing more information than the user wanted if the content website and bank colluded by comparing common data elements they received. Although a check for “over 18 years old” and a name don’t have any apparent overlap, there are technical implementation details such as digital signatures and signing keys that, when reused across interactions, can create a smoking gun.

この例では、ユーザーが年齢制限のあるコンテンツ・ウェブサイト(以後、単に「コンテンツ・ウェブサイト」と呼ぶ)にアクセスするために年齢を証明し、その後、銀行で名前を確認した場合、コンテンツ・ウェブサイトと銀行が受け取った共通のデータ要素を比較することで結託すれば、両方のインタラクションで、ユーザーが望んだ以上の情報が明らかになる危険性がある。18歳以上」のチェックと名前には明らかな重複はないが、デジタル署名や署名キーのような技術的な実装の詳細があり、それが相互作用を超えて再利用されると、決定的な証拠を作り出す可能性がある。

Notably, the same digital signature is uniquely distinguishable, and also new signatures made from the same user key can be correlated. This can all work against the user to reveal more information than intended.

特筆すべきは、同じデジタル署名は一意に区別され、また同じユーザー・キーから作成された新しい署名は相関することができることである。これはすべてユーザーに不利に働き、意図した以上の情報を明らかにする可能性がある。

これまではPairwiseによる識別子の紐付けを中心に考えてきていたわけですが、デジタル署名による紐付けが問題になってきています。


こういうことですね。

数年前にIIWで初めてSD-JWTの話を聞いた時に、この質問をTorstenにしてみたんですが、まだその段階ではリンク可能性についてはそこまで大きなトピックスになっていませんでした。まずは選択的情報開示がちゃんとできるようにならないといけないよね、という。

ようやくここまで議論がすすんだなぁ、というところです。


次回もこの辺りを引き続き深掘りしていきます。


 

 

 

 

 


2024年11月16日土曜日

続)リンク可能性、リンク不可能性の話

こんにちは、富士榮です。

デジタルIDウォレット時代にもアイデンティティの名寄せ・紐付けによるコンテキストを超えた属性情報の意図せぬ開示によるプライバシー問題については無くなることはありません。
デジタルクレデンシャルに関するリンク可能性については各所で議論されており、早く解決されないと本格的な社会実装を行う上で大きな障壁となると思います。



ということで、昨日紹介したWayneの資料を読んで行きましょう。

ちなみにこのネタ、9月にNISTでもプレゼンしたみたいです。

EUでもウォレットの管理とリンカビリティの問題が結構話題になっているようなので、この領域は実際に国が管理や認定するウォレットを使って行こうとすると課題になるんでしょうね。

ということで中身をかいつまんで。

まず背景と課題提起の部分です。
Developing models to implement this VDC future requires carefully thinking through every risk of the new model–including risks in the future. One of the edge-case risks privacy researchers have identified is sometimes known as “linkability.”

このVDCの将来を実現するためのモデルを開発するには、新しいモデルのあらゆるリスクを慎重に検討する必要があります。プライバシー研究者が特定したエッジケースのリスクの1つは、時として「リンク可能性」として知られています。

ちなみにVDCはVerifiable Digital Credentialsの略です。VCとかmDLとかですね。

 

Linkability refers to the possibility of profiling people by collating data from their use of digital credentials. This risk commonly arises when traceable digital signatures or identifiers are used repeatedly, allowing different parties to correlate many interactions back to the same individual, thus compromising privacy. This can create surveillance potential across societies, whether conducted by the private sector, state actors, or even foreign adversaries.

リンク可能性とは、デジタル認証の利用に関するデータを照合することで、人々をプロファイリングできる可能性を指します。このリスクは一般的に、追跡可能なデジタル署名や識別子が繰り返し使用される場合に発生し、さまざまな当事者が多くのやりとりを同一人物に相関させることを可能にし、プライバシーを侵害します。これは、民間部門、国家、さらには外国の敵対者によって実施されるかどうかに関わらず、社会全体にわたって監視の可能性を生み出す可能性があります。

リンク可能性そのものについての説明です。前回書いたように識別子による名寄せの課題はこれまでもありましたが、デジタル署名についても明記されていますね。今回の話のキモは署名による名寄せですね(後述)。まぁ、名寄せできる=リンクできてしまう、という話でプライバシーリスクにつながるって話です。 


In this work, we explore an approach that adds privacy by upgrading existing systems to prevent linkability (or “correlation”) and instead of overhauling them entirely. It aims to be compatible with already-deployed implementations of digital credential standards such as ISO/IEC 18013-5 mDL, SD-JWT, and W3C Verifiable Credentials, while also aligning with cryptographic security standards such as FIPS 140-2/3. It is compatible with and can even pave the way for future privacy technologies such as post-quantum cryptography (PQC) or zero-knowledge proofs (ZKPs) while unlocking beneficial use cases today. 

今回の研究では、既存のシステムを全面的に再構築するのではなく、リンク可能性(または「相関性」)を防止するためにアップグレードすることでプライバシーを追加するアプローチを模索しています。ISO/IEC 18013-5 mDL、SD-JWT、W3C Verifiable Credentials などのデジタル認証基準の実装と互換性を保ちつつ、FIPS 140-2/3 などの暗号化セキュリティ基準にも適合することを目指しています。また、ポスト量子暗号(PQC)やゼロ知識証明(ZKPs)などの将来のプライバシー技術との互換性があり、それらの技術への道筋をつけることさえ可能です。同時に、今日有益なユースケースの鍵を開けることにもなります。 

PQCやZKPをうまく使ってこの問題を解けないか?というのはIIWでも語られていたことなので、やはり注目を集めている分野なのかと。


前回も仮名の話を紹介しましたが、この話はSAMLの時代からずっとあった話なのですが、なぜ今、改めて課題として取り上げられているのか?について以下のように触れられています。

Governments are rapidly implementing digital identity programs. In the US, 13 states already have live mobile driver’s license (mDL) programs, with over 30 states considering them, and growing. Earlier this year, the EU has approved a digital wallet framework which will mandate live digital wallets across its member states by 2026. This is continuing the momentum of the last generation of digital identity programs with remarkable uptake, such as India’s Aadhaar which is used by over 1.3 billion people. However, it is not clear that these frameworks plan for guarantees like unlinkability in the base technology, yet the adoption momentum increases.

各国政府はデジタルIDプログラムを急速に導入している。米国では、すでに13の州がライブ・モバイル運転免許証(mDL)プログラムを導入しており、30以上の州が検討中で、その数は増加している。今年初め、EUは2026年までに加盟国全体でライブ・デジタル・ウォレットを義務付けるデジタル・ウォレット枠組みを承認した。これは、13億人以上に利用されているインドのAadhaarのような、顕著な普及を遂げた前世代のデジタルIDプログラムの勢いを引き継いでいる。しかし、これらのフレームワークが、ベース技術におけるリンク不能性のような保証を計画 していることは明らかではないが、それでも採用の勢いは増している。 

Some think that progress on digital identity programs should stop entirely until perfect privacy is solved. However, that train has long left the station, and calls to dismantle what already exists, has sunk costs, and seems to function may fall on deaf ears. There are indeed incentives for the momentum to continue: demands for convenient online access to government services or new security systems that can curb the tide of AI-generated fraud. Also, it’s not clear that the best approach is to design the “perfect” system upfront, without the benefit of iterative learning from real-world deployments.

完全なプライバシーが解決されるまで、デジタルIDプログラムの進展は完全に停止すべきだという意見もある。しかし、その列車はとっくに駅を出発しており、すでに存在し、サンク・コストがあり、 機能しているように見えるものを解体しようという声は耳に入らないかもしれない。政府サービスへの便利なオンライン・アクセスの要求や、AIが生み出す詐欺の流れを抑制する新しいセキュリティ・システムなどだ。また、「完璧な」システムを前もって設計することが最良のアプローチなのかどうかも定かではない。 

国民IDやモバイル運転免許証をはじめ、ウォレットを中心としたモデルが導入されてきており、改めてこの問題について解決が必要になっている、というところですね。

具体的な課題と緩和策については次回以降で見ていきたいと思います。

2024年11月15日金曜日

リンク可能性、リンク不可能性の話

こんにちは、富士榮です。

先日のInternet Identity Workshop(IIW)でもVerifiable Credentialsのフォーマットやウォレットの管理方式とリンク可能性(Linkability)・リンク不可能性(Unlinkability)について議論がありましたが、そもそもどういうことなの?って話です。


要するにKim CameronのThe laws of identityでいうところの「Directed Identity」の話で、例えば複数のリライングパーティ同士が結託すると意図しないアイデンティティの紐付け(名寄せ)が行われて開示していない属性についても知られてしまうので、例えば識別子をリライングパーティごとに分ける(いわゆるPairwise identifier)を使って仮名化しようよ、みたいな話です。

そういえば昔、仮名と匿名の話をしたな、って思い出しました。(昔すぎて恥ずかしい)


この名寄せの話がVCやウォレットにどう関係するの?ってところですが、ちょうど良い資料をSpruceIDのWayneがいい資料を公開しているのでご紹介を。


Provably Forgotten Signatures: Adding Privacy to Digital Identity

https://blog.spruceid.com/provably-forgotten-signatures-adding-privacy-to-digital-identity/


次回かいつまんで読んでいこうと思います。

2024年11月14日木曜日

OpenID Foundation Workshopの資料が公開されています

こんにちは、富士榮です。

先日お伝えしたIIWの前日にMicrosoftシリコンバレーで行われたOpenID Foundation Workshopの資料が公開されています。



先日のレビューポスト

公開されたサイト

2024年11月13日水曜日

パスキーのテストサイトがリニューアル

こんにちは、富士榮です。

以前も何度かWebAuthnのテストをするためのサイトを紹介しましたが、今回Okta(Auth0)がパスキー学習サイトをリニューアルしてきたので試してみます。



なんと日本語に対応しています。

ユーザIDやユーザ名など登録に使う情報はあらかじめ決まっていますが、デモとして試すこともできますし、API仕様などを含むリソースもまとまっています。

スクラッチで実装する人も、パスキーを基礎から学習したい人にもとても良いサイトなのでぜひアクセスしてみると良いと思います。


2024年11月12日火曜日

iddanceイベントが開催されます。今回はVCがテーマ!

こんにちは、富士榮です。


年末です。iddanceの季節です(嘘)。


https://idance.connpass.com/event/336798/

テーマは「VCに未来がないって聞いたんですけど?」とのこと。なかなか刺激的です。

元ネタはこれですねw

崎村さんのBlog

https://www.sakimura.org/2024/11/6488/


今回はフルオンラインなので参加しやすいですね。

ぜひ参加しましょう。