Ce diaporama a bien été signalé.
Le téléchargement de votre SlideShare est en cours. ×

IDA,VC,DID関連仕様 最新情報 - OpenID BizDay #15

Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Chargement dans…3
×

Consultez-les par la suite

1 sur 27 Publicité

Plus De Contenu Connexe

Similaire à IDA,VC,DID関連仕様 最新情報 - OpenID BizDay #15 (20)

Plus par OpenID Foundation Japan (20)

Publicité

Plus récents (20)

IDA,VC,DID関連仕様 最新情報 - OpenID BizDay #15

  1. 1. 1 Copyright © 2023, OpenIDファウンデーションジャパン, All Rights Reserved
  2. 2. 今⽇はこれだけ覚えて帰ってください。 •IDA: OpenID Connect for Identity Assurance • OpenID Connectの仕組みを使い、本⼈確認済みの ID情報を連携するための仕様 • 本⼈確認プロセスに関するメタデータを定義 •OpenID4VC: VC/DID関連3仕様の俗称 • SIOPv2: OpenID Connect(OIDC)の既存仕様を拡張し、 DIDやhttps型のアプリ連携やクラウドウォレットに対応 • OpenID for VP: VC/VPを提⽰するためのOAuth2.0の拡張 新たにVPトークンを定義 • OpenID for VC Issuance: VCを発⾏するためのOAuth2.0の拡 張。QRコードによる認可コードの連携が可能
  3. 3. ⾃⼰紹介 • ⼩岩井 航介/Kosuke Koiwai • 2017年より KDDI株式会社でID/認証関係等を担当 • 2020年より OpenID Foundation Board Member • eKYC-IDA仕様の共著者、FAPI1.0仕様の貢献者 • 2022年より OpenIDファウンデーション・ジャパン KYC WGリーダ • その他、FIDO Alliance, W3C でも標準化活動に参画中。 • KDDI は2015年より OpenID Foundation の Sustaining Corporate Sponsor として活動 https://openid.net/foundation/leadership/ https://news.kddi.com/kddi/corporate/newsrelease/2015/11/10/1444.html
  4. 4. 認証関連仕様の外観 • OAuth2.0をベースに、あらゆる仕様が策定されている。 • Extension(拡張): 新たなユースケースのために既存の仕様にないものを追加する • Profile(プロファイル): 仕様の範囲内で、特定のユースケースのために利⽤法(設定 値等)を制限するもの • ユースケースに合わせて、組み合わせて利⽤する。 OAuth2.0 API Authorization Framework (RFC6749) OpenID Connect Core (OIDC) Financial-grade API (FAPI) eKYC-IDA OpenID for Verifiable Presentations Self-issued OP v2 OpenID for VC Issuance
  5. 5. OpenID Connect とは • 認証連携のためのOAuth2.0の拡張仕様 ⾃分のSNSアカウント 占い・○○診断アプリ ⾃分の銀⾏アカウント 家計簿サービス ログイン ⾃分 ログイン ログイン
  6. 6. OAuth2.0 を認証に使ってはいけない • OAuth2.0で得られるのは特定のAPIを使う権限であり、 本⼈であることの証明ではない 占いサイト・○○診断 ⾃分のSNSプロフィール ⾃分の銀⾏残⾼ 認可 (権限委譲) アクセス 不正アクセス ⾃分
  7. 7. OpenID Connect (OIDC) とは • API「認可」フレームワークである OAuth2.0 を拡張し、 「認証イベント」を連携できるようにしたもの • 「パスワード」を受け渡すものではない。 • OAuth2.0, OIDC, JWxの⼀連の仕様は、2007-2015にかけて並⾏して 開発された。 • OAuth2.0 のみを利⽤して「認証連携」をすることは推奨されない。 (過去に⼤規模なセキュリティ事案が発⽣している) • OAuthでは「特定のサービス(API)を使う権限」を委譲するが、それだけでは 本⼈の認証とはいえない。(権限移譲された他者が本⼈を詐称できてしまう 場合がある。) • OpenID Connectは、「特定の⼈物が、特定のサービスにログインするため、 特定の認証⽅法を⽤いてこの時間に認証した」という情報を「IDトークン」 を⽤いて連携する。 https://www.sakimura.org/2012/02/1487/ https://qiita.com/TakahikoKawasaki/items/498ca08bbfcc341691fe https://qiita.com/TakahikoKawasaki/items/8f0e422c7edd2d220e06
  8. 8. IDA: OpenID Connect for Identity Assurance OpenID Connectの仕組みを使い、本⼈確認済みの ID情報を連携するための仕様
  9. 9. OpenID Connect の課題 • 「⽒名」「メルアド」「⽣年⽉⽇」「住所」など、様々な個⼈ 情報を連携できる⼀⽅、その情報の確からしさは不明 • SNSプロフィールで20歳以上と書いてあっても、それを根拠に お酒を売っていいわけではない •そこで、 IDA が爆誕
  10. 10. IDA とは • 本⼈確認済みのID情報(Identity Assurance) を連携するための、 OpenID Connect の拡張仕様(Extension) • 現在 4th Implementerʼs Draft。 • OpenID Connectでサポートされている各種個⼈情報に対して、 「誰が」「どのように」「いつ」「何を元に」確認したかを、 メタデータとして付与することができる。 • Verified Claims というオブジェクトを新たに定義 • 共著者として⼩岩井も名を連ねる • 詳細は次世代KYC(作⽥さん)のセッションで紹介済み
  11. 11. IDA: さらなる拡張 • Selective Abort/Omit • 例えば「⽇本の犯収法に基づかない結果であれば不要」など、 結果を受領する条件を規定することができる • ⼿数料を徴求するようなビジネスモデルで有⽤ • Claims Transformation • 「20歳以上」「東京都か千葉県在住かどうか」など、個⼈情報本体ではな く、その条件をTrue/Falseで返却する • いずれも、Advanced Syntax for Claimsという新たな仕様として 策定中 • OIDC単体に対する拡張としても利⽤可能だが、IDAと併⽤するとさらに有⽤
  12. 12. OpenID4VC: OpenID for Verifiable Credentials OpenID ConnectやそのベースであるOAuth2.0の仕組みを使い、 DIDやVerifiable Credentialを連携するための関連3仕様の俗称 https://openid.net/openid4vc/
  13. 13. DID: Decentralized Identifier (分散型識別⼦) • 特定の事業者に依存しない識別⼦(Identifier) • Identity(属性の集合)ではなく、Identifier(識別⼦) • OpenID Connectでいうところの Sub値に該当 • W3Cにより標準化(did:method:xxxx) • DIDと紐づく鍵ペアを⽣成、秘密鍵へのアクセス=「所有」 • 識別⼦に紐づくDID Documentが分散台帳上等で公開される • DIDに紐づく秘密鍵で署名したデータをDID Document上の公 開鍵で検証する ことでDIDの「持ち主」が発⾏したデータであ ることを検証できる
  14. 14. VC: Verifiable Credentials (検証可能なクレデンシャル) • 検証可能なデータモデル • Issuerから発⾏されたVCをユーザはHolder(Wallet)に保管。 Verifierに提⽰する時は、複数のVCを取捨選択した VP (Verifiable Presentation)として提⽰する。 • DIDと組み合わせて利⽤されることが多いが、必須ではない。 • 発⾏者(Issuer)のDIDに紐づく秘密鍵によりデジタル署名される • 発⾏者のDID Documentに含まれる公開鍵を使って検証可能 VCの発⾏ VPの提⽰
  15. 15. Credential の定義の違い • OpenID Connect Coreと、W3C Verifiable Credentialsで、 "Credential”の定義が異なる • OIDC: アイデンティティやその他のリソースを使う権利の証明 • W3C: 同⼀エンティティによって⽰されたクレーム(属性)のセット
  16. 16. 2つのVC • W3C の策定する Verifiable Credentialsと eKYC-IDA仕様で連携す るVerified Claimsとの間に直接的な互換性はない。 • Verified Claimsは、OpenID Connect仕様の IDトークンの中に格納 されるため、IDトークンとして署名され、検証可能。 • Verified Claimsは、属性情報とそのメタデータの記載⽅法も含め標 準化されている⼀⽅、Verifiable Credentialsの中⾝の標準化はこれ から。(ワクチン証明書のFHIRが⼀例) • Verifiable Credentials はそれ⾃体が署名され、検証可能。 • Verifiable Credentials を発⾏したり、関係者間で授受するための プロトコルは、複数提案されており、まだデファクトが存在しな い。OpenID Foundation が策定している仕様案もそのうちの⼀つ。
  17. 17. VC関連で策定中の関連OpenID仕様は3つ https://openid.net/wordpress-content/uploads/2022/05/OIDF-Whitepaper_OpenID-for-Verifiable-Credentials_FINAL_2022-05-12.pdf • VC/VPの授受(トランスポート)の仕様はW3Cでは⾮定義。 • OpenID Connectの拡張としてトランスポート仕様を策定中。 • 著者は、W3CのVerifiable Credentials WGのChairが兼任 VCの発⾏ VPの提⽰
  18. 18. OpenID4VCでサポートするVCの種類 W3C Verifiable Credentials Data Model https://www.w3.org/TR/vc-data-model/ ISO/IEC 18013-5 mobile Driving License (mDL) https://www.iso.org/standard/69084.html ISO/IEC 23220-2 electronic Identification (eID) https://www.iso.org/standard/79124.html Anonymous Credentials https://www.hyperledger.org/use/hyperle dger-indy SMART Health Card(SHC) / FHIR (Fast Healthcare Interoperability Resources) https://ecqi.healthit.gov/fhir https://spec.smarthealth.cards/ • Verifiable Credentials には、いくつか仕様が存在。 • W3C のVCと、ISOのmDL (モバイル運転免許証) には互換性はない。 • ワクチン証明書に使われるSMART Health Cardは W3C VCベース。 • OpenID4VCは、下記いずれもサポートするよう設計されている。
  19. 19. Self-Issued OpenID Provider v2 • OpenID Connect Core仕様のSIOPを拡張 • openid:// だけでなく、https://も使えるように • App Links, Universal Linksや、クラウド連携のWalletも想定 • sub値として、jwt Fingerprintだけでなく、DIDも使えるように • OpenID Connect⾃体にsub値の制限はないが、SIOP仕様ではjwt fingerprintと規定 WalletからVerifierに対してVCを提⽰する際に、 OIDC4VPと組み合わせて利⽤することを想定 VCの発⾏ VPの提⽰
  20. 20. Self-Issued OpenID Provider v1 とは? • OpenID Connect Core 仕様に当初から 定義されていた!! https://openid.net/specs/openid-connect-core-1_0.html
  21. 21. Self-Issued OpenID Provider v1 とは? • ⾃分の端末(スマホやPC)⾃⾝がOP/IdPになるための仕様 • ログイン時に、GoogleやFacebookにリダイレクトする代わり に、openid://スキーマを使ってスマホアプリを起動する • 通常であれば、OP(Googleなど)を信頼して、IDトークン内の 情報(claims)を信頼するが、SIOPの場合は、IDトークンを署 名した署名鍵を信頼する。 • SIOPの場合、IDトークン内のsub値以外の情報(claims)は⾃ ⼰申告ななので信頼できないが、Aggregated Claimsを組み合 わせることで信頼できる情報を提供できるようになる。
  22. 22. Self-Issued OpenID Provider v2 • OpenID Connect Core仕様のSIOPを拡張 • openid:// だけでなく、https://も使えるように • App Links, Universal Linksや、クラウド連携のWalletも想定 • sub値として、jwt Fingerprintだけでなく、DIDも使えるように • OpenID Connect⾃体にsub値の制限はないが、SIOPv1仕様では jwt fingerprintと規定 WalletからVerifierに対してVCを提⽰する際に、 OIDC4VPと組み合わせて利⽤することを想定 VCの発⾏ VPの提⽰
  23. 23. OpenID for Verifiable Presentations • OAuth2.0のプロトコルでVC/VPを返却する拡張 • 直近のドラフトで、OIDCからOAuth2.0ベースになっているので注意 • 新たに VP トークン を定義し、IDトークンと独⽴して返却 • OAuth2.0のスコープ(scope)に、求めるVC/VPの種類を指定、 もしくは presentation_definition で細かく指定 WalletからVerifierに対してVCを提⽰する際に、 SIOPV2と組み合わせて利⽤することを想定 VCの発⾏ VPの提⽰
  24. 24. OpenID4VP: リクエストとレスポンスの例 リクエスト レスポンス vp_token には、JSONを格納したり、 mDL で使われる CBOR を base64 エンコードして格納して返却 presentation_definition に 欲しいVP/VCの形式等を指定
  25. 25. OpenID for Verifiable Credentials Issuance • IssuerからWalletにVCを発⾏するためのOAuth2.0の拡張 • OAuth2.0のスコープ(scope)に、VCの種類を簡易的に指定、 もしくは authorization_details (RAR)で種類、形式を細かく指定 • 最初の認証をスキップし、認可コードをQRコードにして Walletに読み込ませることも可能 (pre-authorized code flow) IssuerがVCをWalletに対し発⾏する際に利⽤ Issuerがユーザを認証する際にVC/VPを提⽰させる場合、IssuerがVerifierにもなる VCの発⾏ VPの提⽰
  26. 26. pre-authorized code flow の例 • 対⾯で本⼈確認を⾏った後、ユーザの端末にVCを発⾏する ユースケースで有⽤ 店頭などで本⼈確認を⾏った後、 Walletに読み込ませるQRコードの例 access tokenを受領して(中略) Credential EndpointからVCを取得 Walletはcredential_issuerのmetadataを 確認し、Token Endpointにアクセスする QRコードに含まれる Credential Offer オブジェクトの例 通常のOAuthフローで認可後に得られる 認可コードの代わりに、プレ認可コードが ここで得られる。 JWT形式のVCがここで得られる。
  27. 27. 今⽇はこれだけ覚えて帰ってください。 •IDA: OpenID Connect for Identity Assurance • OpenID Connectの仕組みを使い、本⼈確認済みの ID情報を連携するための仕様 • 本⼈確認プロセスに関するメタデータを定義 •OpenID4VC: VC/DID関連3仕様の俗称 • SIOPv2: OpenID Connect(OIDC)の既存仕様を拡張し、 DIDやhttps型のアプリ連携やクラウドウォレットに対応 • OpenID for VP: VC/VPを提⽰するためのOAuth2.0の拡張 新たにVPトークンを定義 • OpenID for VC Issuance: VCを発⾏するためのOAuth2.0の 拡張。QRコードによる認可コードの連携が可能

×