feature image

2024年4月10日 | ブログ記事

OpenID Summit Tokyo 2024 参加記

この記事は新歓ブログリレーではありません。

こんにちは、24Mの@hijiki51です。先日(1/19)@kyosu とOpenID Summit Tokyo 2024に参加してきました。そこで、今回はそこで聞いたセッションなどについて気になった・印象に残ったところをピックアップしながら記事にしたいと思います。(traQの会話ログと写真とにらめっこしながら)

 

今は四月ですよ?なにしてたんですか?
----------2024-04-07-190443

----------2024-04-07-190720

先日録画が公開されたようです(復習します)

OpenID Foundation Japan
OpenID Foundation Japan の公式 YouTube チャネルです。

OIDF Strategic Outlook for 2024 and Briefing on the Sustainable Interoperable Digital Identity (SIDI) Summit in Paris

まずはOIDF(OpenID Foundation)における 2024年の活動計画です。こうしてみると様々なWG(Working Group)が動いているのがわかります。調べてみたら現在(2024/4) 12のWG が動いているらしいです。ミーティングのURLや議事録も公開されているので後で見てみようと思います。

続いてSIDI(Sustainable Interoperable Digital Identity)の話です。国境を越えて相互運用可能なデジタルアイデンティティを作ろうという試みです。これを実現するために上に示したような様々な国(日本を含む)や標準化団体、企業が参加しています。

これらの国:団体がSIDIに対して何を求めているか(Champion Use Case)についてSIDI Summit中に調査をしたらしく、その結果が載っていました。

票数を見ると、やはり資格や金融関係は正確な本人確認が要求されることから、需要が高いことが見て取れます。一方、実現難易度に関しては需要が高いものでも半分ぐらいに割れていて、認識や実装コストに対するギャップがあることもわかります。このギャップをどう埋めていくかが持続可能性、相互運用性を担保するために重要なのかなと思いました。

OpenID ファウンデーション・ジャパン ワーキンググループ活動報告

個人的に今最も熱い仕様である OIDC4IA(OpenID Connect for Identity Assurance) の話が出てきました。OIDC4IAが何かというのは、その仕様書のIntroから引用すると、

for providing Relying Parties with identity information, i.e., Verified Claims, along with an explicit statement about the verification status of these Claims (what, how, when, according to what rules, using what evidence).
RPに Identity 、すなわち検証されたClaims を提供し、そのクレームの検証状況(なにを、いつ、どうやって、どのような手段で、どの証拠に基づいて)を明示するためのものである。(by DEEPL)

となっています。例えば、ある人の名前がOP(OpenID Provider)から取得できたとき、その名前が手で入力したものなのか、免許証から取得したものか、また登録時に本人確認を実行しているのか否かのような情報を一緒に返してくれます。これを用いれば、得られた情報に対する信頼性の保証を行うことができるというメリットがあります。

ちなみにOIDC4IAには日本の Trusted Framework として jp_aml (犯罪収益移転防止法) 、Documents(情報源) として jp_drivers_license (運転免許証)などがpre-defined valueとして登録されていたりします。

育成推進WG面白そう

Panel: Celebrating Ten Years of OpenID Connect

こんな話がさらっとされてた記憶があるんですが、調べてもわかりませんでした。詳しい人見てたら教えてほしいです。

25 years of OpenID

前夜祭と称して 時間切れ対策のため? 同じ内容が前日夜にYoutube Liveで配信されていたのでそれを貼っておきます。

昼食

下の階にあったカフェでラザニアを食べました。おいしかった~


EU Digital Identity Wallets (eIDAS 2) - status and way forward

ここからは Identity Wallet が中心となるセッションでした。Identity Walletはその名前の通り各個人の個人情報(Personal Identity Data, PID)を集約し、各RP(Relying Party)に提供するものです。いままでのResource Server とは違って各個人にデータの所有権が移るあたりが違うらしいですが、まだちゃんと理解してないです・・・(まだeIDAS (2014) のほうもちゃんと読めてない)気になる人は eIDAS 2.0 とかを読むといいらしい?  

上の図はEUDI Wallet(EU Digital Identity Wallet) の概観図です。青い四角がWalletで、そこからRPにPIDを提示しているのがわかります。このPIDはその上流にあるPID Provider (国、機関など)によって発行されます。

これらのデータをどのように提供するか、保証するかについても検討が進んでいて、OIDC が強く関連するものとしては OpenID for Verifiable Credentials が提供のプロトコルとして、そのフォーマットとしては Selective Disclosure JWTs (SD-JWTs, これに関してはあとのセッションで詳しいのがあったので後述します) とかが採用されようとしています。(まだDraftの仕様も多い)

Waiting for the EUDI Wallet: Securing the transition from SAML 2.0 to OpenID Connect

イタリアでのEUDI Wallet の実装状況とその技術背景の説明がありました。
が、新しめの仕様が多く出てきて、ほとんど理解できていないです・・・。

Passkeys and Identity Federation

パスキーとID連携に関するritouさんのセッションです。主要なブラウザ・OSベンダーがパスキーに対応したことで、続々と各サービスがパスキーに対応し始めています。ここ1年は「○○がパスキーに対応」といったニュース記事をたくさん見かけた記憶です。

発表ではパスキーとID連携についてそれぞれのセキュリティ特性とUX、そしてそれらを組み合わせることによる効果を解説されました。

パスキー認証とID連携を認証方式として組み合わせることで、高いUXをパスキーによって実現したり、パスキー非対応の環境においてもID連携による認証手段が使えるなど、お互いの弱点を補完しあうことができます。

また後半にはパスキー認証とID連携の組み合わせに関連する仕様の紹介がありました。

セキュリティ要件の高いアプリケーションでは、OP側でのユーザー認証強度が低い場合に利用不可に or (RPがOPに)再認証を要求したいことがあります。その実現の手段として acr 等のクレームや acr_values 等のパラメータを使う方法が紹介されました。

ここらで登場するパラメータは仕様においてはOPTIONALで、最初に仕様を読んだ時にはその重要性をあまり実感できていませんでしたが、今回の説明を受けて理解がとても深まりました。

acr について、OIDC Core 1.0では具体的な値は定義されていないのですが、パスキーに関連する値は OpenID Connect Extended Authentication Profile (EAP) ACR Values 1.0 - draft 01 で定義されています。

最後に RFC 9470: OAuth 2.0 Step Up Authentication Challenge Protocol の仕様の紹介が行われました。

パスキーとID連携は普段アプリケーションを作る上でも認証方式として検討する部分でもあり、今後の開発の参考になるようなセッションでした。また、個人的にパスキーやOIDC関連のritouさんの記事をよく読んでいたので、対面でお話を聴けて良かったです。

実際の発表内容は以下のritouさんの記事で公開されています。(画像を一部引用させていただいています。)

OpenID Summit Tokyo 2024 でパスキーとID連携について話しました

OIDFシェアードシグナルフレームワーク(ID2)を利用してリアルタイムでセキュリティシグナルを共有するための最新情報

ここから二つはBreakout roomによるセッションです。

,

まずはShared Signal Frameworkの話です。これはOIDCの認証がログイン時のみに行われ、継続したモニタリングが行われていないという問題点に対する解決策の一つです。

シグナルの種類としては、ユーザーの状態(セッション、認証レベル)の変更を通知するCASP(Continuous Access Evaluation Profile)やパスワード漏洩、アカウント停止などのセキュリティリスクを通知するRISC(Risk Incident Sharing and Coordination) が挙げられていました。

このあたりの状態通知周りは私が知っているものだと、現状 OIDC Front-Channel/Back-Channel/RP-Initiated Logout 1.0 程度しかなく、その実装としても微妙に使いにくかったりしたのでこの仕様の登場はとてもありがたいです。今後の仕様の策定に期待&注視していきたいです。

Verifiable Credential Demo ~ SD-JWT VC & mdoc/mDL issuance using OpenID for Verifiable Credential Issuance

Authlete社の川崎さんによるセッションです。このセッションではVC(Verifiable Credential)フォーマットとして指定されているSD-JWT VC フォーマットとmdoc/mDLフォーマットのVCをOID4VCIの仕様に基づいて二つ同時に発行するデモが行われました。

SD-JWTSelective Disclosure(選択的開示)を実現するためのフォーマットの一つです。また、mdocは、ISO/IEC 18013-5:2021 で定義されているデータ構造で、 CBORというバイナリフォーマットに基づくものです。mDLはmdocの一種で、同 ISO 文書内で定義されており、モバイル運転免許証を表します。そして、OID4VCIはVCの発行手順を定義する仕様です。

SD-JWT, mdoc/mDL といったフォーマットや、OID4VCIの仕様は事前知識がほとんどない状態でしたが、丁寧な解説と実際のデモによって理解を一歩進めることが出来ました。

発表内容は以下の記事でも公開されています。(川崎さんの記事にはいつもお世話になっています。)

eIDAS 2.0でサポート必須のSD-JWT VCフォーマットとmdoc/mDLフォーマットのVerifiable Credentialを同時に発行してみた (たぶん世界初) - Qiita
はじめにデジタルアイデンティティ業界は Verifiable Credential (検証可能な資格証明) の話題で持ちきりです。特にヨーロッパでは、Verifiable Credential を…

また、OID4VCI 仕様の詳細な解説がAuthleteの公式サイトから出ています。ここら辺の仕様は今後しっかりと読みこんでキャッチアップしていきたいです。

OpenID for Verifiable Credential Issuance - Authlete
OpenID for Verifiable Credential Issuance 仕様と、Authlete が当仕様をどのようにサポートするかを説明する文書

分散の誤謬

最後は崎村さんによるクロージングです。「分散の誤謬」というインパクトのあるタイトルですが、内容も非常に印象に残るものでした。

話はWeb1.0、Web2.0の流れの解説から始まり、そしてWeb3(と言われているもの)の世界が本当に分散を実現するものなのか?というものでした。

Web2.0の特徴はAPIエコノミーで、各サイトがAPIを提供し、それを組み合わせることでサービスを実現するものでした。これは中央に集中的なデータベースを構える必要なく、分散されたデータをAPIを通じて必要に応じ取得します。このような分散の特徴を持つWeb2.0にも関わらず、現在はGAFAのような巨大企業が支配的になっています。

ではWeb3(分散ID/Walletの世界)はどうでしょうか。分散の度合いは集中と分散の二択ではなく、グラデーションを持ちます。

IdPの実行インスタンスの数の観点だとWalletモデルでは個人のデバイスの数以上になると考えられ、このことから分散と言われています。

一方で分散ID/Walletモデルは、データの保持場所の観点では個人のデータはWalletに超集中されることが想定されます。

また、IdP提供者の観点でも、最終的にWalletはプラットフォームへの集中が行われるのではないかと指摘されています。

このように皆で分散を目指していたはずが、結果として集中が発生してしまうという話でした。

Web3のマーケティング用語として「分散」や「自己主権」といった単語が使われているのを度々見かけますが、ある種の幻想のような話が多いです。Justinさんのと合わせて最後のセクションはそのような幻想に対し現実を教え、そしてDigital Identityのあり方を考えさせられるものでした。

発表と同様の内容のものが崎村さんのYoutubeで公開されています。

感想

おまけ

夕食(破産)

参考文献

Digital Identity Community Unites to Drive Cross-border Interoperability
Dozens of digital identity schemes have now been launched or are underway around the world at both national and regional levels, and across the public and private sectors. Yet to date, there is no …
OpenID Connect for Identity Assurance 1.0
This specification defines an extension of OpenID Connect for providing Relying Parties with Verified Claims about End-Users. This extension facilitates the verification of the identity of a natural person.
openid / ekyc-ida / wiki / identifiers — Bitbucket
ワーキンググループ:翻訳・教育WG
OpenIDファウンデーション・ジャパンは、米国OpenID Foundation公認団体です。日本国内におけるOpenID技術のさらなる普及・啓蒙と、OpenID技術の国際化の支援ならびに仕様の日本語化により一層注力し、社会に貢献していきたいと考えています。
OpenID for Verifiable Credential Issuance - draft 13
This specification defines an API for the issuance of Verifiable Credentials.
パスキー (パスキー認証)
(通常はGoogleアカウントやAppleIDなどのユーザーのプラットフォームアカウントに)バックアップされ、ユーザーが別のデバイスに認証情報を復元したり、別のデバイスから使用したりできるFIDO認証情報。 ユーザーエクスペリエンスの観点から見ると、これは、Webサイトへの安全な登録とサインインを支援するために、現在のパスワードマネージャーと対話する方法と非常によく似ていますが、はるかに安全です。 これにより、サービスプロバイダーにとっては、フィッシングに強い最新の認証を導入するためのオプションの範囲が広がります。
OpenID Connect Extended Authentication Profile (EAP) ACR Values 1.0 - draft 01
OpenID Connect 1.0 is a simple identity layer on top of the OAuth 2.0 protocol. It enables Clients to verify the identity of the End-User based on the authentication performed by an Authorization Server, as well as to obtain basic profile information about the End-User in an interoperable and REST-like manner. This specification enables OpenID Connect Relying Parties to request that specific authentication context classes be applied to authentications performed and for OpenID Providers to inform Relying Parties whether these requests were satisfied. Specifically, an authentication context class reference value is defined that requests that phishing-resistant authentication be performed and another is defined that requests that phishing-resistant authentication with a hardware-protected key be performed. These policies can be satisfied, for instance, by using W3C scoped credentials or FIDO authenticators.
RFC 9470: OAuth 2.0 Step Up Authentication Challenge Protocol
It is not uncommon for resource servers to require different authentication strengths or recentness according to the characteristics of a request. This document introduces a mechanism that resource servers can use to signal to a client that the authentication event associated with the access token of the current request does not meet its authentication requirements and, further, how to meet them.This document also codifies a mechanism for a client to request that an authorization server achieve a specific authentication strength or recentness when processing an authorization request.
Selective Disclosure for JWTs (SD-JWT)
This specification defines a mechanism for selective disclosure of individual elements of a JSON objectused as the payload of a JSON Web Signature (JWS) structure.It encompasses various applications, including but not limited to the selective disclosure of JSON Web Token (JWT) claims.
OpenID for Verifiable Credential Issuance - Editor’s draft
This specification defines an API for the issuance of Verifiable Credentials.
OpenID Shared Signals Framework Specification 1.0 - draft 02
This Shared Signals Framework (SSF) enables sharing of signals and eventsbetween cooperating peers. It enables multiple applications such as Risk Incident Sharingand Coordination (RISC) and the Continuous Access Evaluation Profile ( ) This specification defines: A profile for Security Events Tokens Subject Principals Subject Claims in SSF Events Event Types Event Properties Configuration information and discovery method for Transmitters A Management API for Event Streams This spec also directly profiles several IETF Security Events drafts: Security Event Token (SET) Subject Identifiers for Security Event Tokens Push-Based SET Token Delivery Using HTTP Poll-Based SET Token Delivery Using HTTP
hijiki51 icon
この記事を書いた人
hijiki51

24M/理学院物理学系/コード書いてる

kyosu icon
この記事を書いた人
kyosu

この記事をシェア

このエントリーをはてなブックマークに追加
共有

関連する記事

2023年12月11日
DIGI-CON HACKATHON 2023『Mikage』
toshi00 icon toshi00
2023年10月20日
DIGI-CON HACKATHON 参加記事「Comic DoQ」
mehm8128 icon mehm8128
2022年4月5日
アーキテクチャとディレクトリ構造
mazrean icon mazrean
2021年5月16日
CPCTFを支えたインフラ
mazrean icon mazrean
2024年3月25日
ちょっとわかる!!!!!【Web Speed Hackathon2024 参加記】
mehm8128 icon mehm8128
2023年12月24日
2024年はSolid.jsを使いませんか?【部内PaaS基盤 NeoShowcase フロント開発ログ】
d_etteiu8383 icon d_etteiu8383
記事一覧 タグ一覧 Google アナリティクスについて 特定商取引法に基づく表記