Home
Explore
Submit Search
Upload
Login
Signup
Advertisement
今なら間に合う分散型IDとEntra Verified ID
Report
Naohiro Fujie
Follow
Deputy General Manager at CTC
Jun. 30, 2022
•
0 likes
7 likes
×
Be the first to like this
Show More
•
9,559 views
views
×
Total views
0
On Slideshare
0
From embeds
0
Number of embeds
0
Check these out next
FIDOのキホン
Yahoo!デベロッパーネットワーク
パスワード氾濫時代のID管理とは? ~最新のOpenIDが目指すユーザー認証の効率的な強化~
Tatsuo Kudo
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
Masaru Kurahayashi
FIDO認証によるパスワードレスログイン実装入門
Yahoo!デベロッパーネットワーク
なぜOpenID Connectが必要となったのか、その歴史的背景
Tatsuo Kudo
MicrosoftのDID/VC実装概要
Naohiro Fujie
マイクロにしすぎた結果がこれだよ!
mosa siru
これからの KYC と Identity on Blockchain の動向
Naohiro Fujie
1
of
71
Top clipped slide
今なら間に合う分散型IDとEntra Verified ID
Jun. 30, 2022
•
0 likes
7 likes
×
Be the first to like this
Show More
•
9,559 views
views
×
Total views
0
On Slideshare
0
From embeds
0
Number of embeds
0
Download Now
Download to read offline
Report
Technology
6/30のOffice365勉強会のEntra Verified ID特集の資料です。 分散型ID、Entra Verified IDの解説をしています。
Naohiro Fujie
Follow
Deputy General Manager at CTC
Advertisement
Advertisement
Advertisement
Recommended
SSIとDIDで何を解決したいのか?(β版)
Naohiro Fujie
23.8K views
•
80 slides
認証の課題とID連携の実装 〜ハンズオン〜
Masaru Kurahayashi
8.7K views
•
170 slides
自己主権型IDと分散型ID
Naohiro Fujie
4.8K views
•
35 slides
OpenIDConnectを活用したgBizID(法人共通認証基盤)の現状と今後の展望 - OpenID Summit 2020
OpenID Foundation Japan
1.8K views
•
15 slides
分散型IDと検証可能なアイデンティティ技術概要
Naohiro Fujie
2.7K views
•
20 slides
S13_レガシー ID 管理者でも分かる Verifiable Credentials のセッション [Microsoft Japan Digital D...
日本マイクロソフト株式会社
671 views
•
23 slides
More Related Content
Slideshows for you
(20)
FIDOのキホン
Yahoo!デベロッパーネットワーク
•
4.7K views
パスワード氾濫時代のID管理とは? ~最新のOpenIDが目指すユーザー認証の効率的な強化~
Tatsuo Kudo
•
19.2K views
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
Masaru Kurahayashi
•
144.9K views
FIDO認証によるパスワードレスログイン実装入門
Yahoo!デベロッパーネットワーク
•
21.4K views
なぜOpenID Connectが必要となったのか、その歴史的背景
Tatsuo Kudo
•
48.1K views
MicrosoftのDID/VC実装概要
Naohiro Fujie
•
3.7K views
マイクロにしすぎた結果がこれだよ!
mosa siru
•
131.3K views
これからの KYC と Identity on Blockchain の動向
Naohiro Fujie
•
10.4K views
KeycloakでAPI認可に入門する
Hitachi, Ltd. OSS Solution Center.
•
2.8K views
韓国における FIDO/ eKYC /DID の現状と今後の取り組み - OpenID Summit 2020
OpenID Foundation Japan
•
1.6K views
Keycloak拡張入門
Hiroyuki Wada
•
9.6K views
マルチテナント化で知っておきたいデータベースのこと
Amazon Web Services Japan
•
6.4K views
ざっくり解説 LINE ログイン
Naohiro Fujie
•
947 views
実装して理解するLINE LoginとOpenID Connect入門
Naohiro Fujie
•
21K views
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
Amazon Web Services Japan
•
55.4K views
俺が考えた最強のID連携デザインパターン
Masaru Kurahayashi
•
9.4K views
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
Yoshiki Hayama
•
51.3K views
Keycloakの最近のトピック
Hitachi, Ltd. OSS Solution Center.
•
1.3K views
LINE Login総復習
Naohiro Fujie
•
767 views
OpenID ConnectとSCIMの標準化動向
Tatsuo Kudo
•
17.2K views
Similar to 今なら間に合う分散型IDとEntra Verified ID
(20)
IDA,VC,DID関連仕様 最新情報 - OpenID BizDay #15
OpenID Foundation Japan
•
699 views
OpenIDファウンデーション・ジャパンKYC WGの活動報告 - OpenID Summit 2020
OpenID Foundation Japan
•
1.6K views
SSI DIDs VCs 入門資料
KAYATO SAITO
•
160 views
OpenID ConnectとSCIMのエンタープライズ利用ガイドライン
Takashi Yahata
•
1.3K views
Azure ADとWindows 10によるドメイン環境の拡張
Naohiro Fujie
•
11.3K views
PID:the Protocol for Programmable Identity.pdf
KAYATO SAITO
•
23 views
組織におけるアイデンティティ管理の基本的な考え方
Naohiro Fujie
•
5K views
クラウドにおける Windows Azure Active Directory の役割
junichi anno
•
5.2K views
Auth0 node fest2017-workshop
Hideya Furuta
•
789 views
認証技術、デジタルアイデンティティ技術の最新動向
Tatsuo Kudo
•
10.6K views
既存RailsアプリをSSO化して、本番環境で活用した話【WESEEK Tech Conf #12】
WESEEKWESEEK
•
207 views
クラウド過渡期、Identityに注目だ! idit2014
Egawa Junichi
•
2.7K views
IDaaSにSign in with Appleをつないでみた
Naohiro Fujie
•
5.1K views
ID Management
Kohei MATSUOKA
•
1.4K views
Idcon gomi-052715-pub
Hidehito Gomi
•
5.7K views
テレワーク本格導入におけるID認証考察
FIDO Alliance
•
1.2K views
認証/メッセージング領域へのモバイル/ソーシャルネットワークIDの活用
Naohiro Fujie
•
694 views
指紋認証と「FIDO」について
Device WebAPI Consortium
•
4.1K views
OpenID Connect のビジネスチャンス
OpenID Foundation Japan
•
6.4K views
「Windows Phone アプリ と 認証」のまとめ
junichi anno
•
1.6K views
Advertisement
More from Naohiro Fujie
(18)
LINEログインの最新アップデートとアプリ連携ウォークスルー
Naohiro Fujie
•
838 views
Azure AD x LINE x Auth0
Naohiro Fujie
•
551 views
LINE Payも取り組んでいるKYCってなんだろう?KYCの基本と最近の動向
Naohiro Fujie
•
694 views
LIFFとの連携でさらに強力に。こんなに使えるLINEログイン
Naohiro Fujie
•
2K views
Azure ADの外部コラボレーションとBYOID
Naohiro Fujie
•
1.7K views
祝!公式サポート Auth0 + LINE Login
Naohiro Fujie
•
4.6K views
次世代KYCと自己主権型アイデンティティの動向
Naohiro Fujie
•
3.7K views
教育機関におけるBYOIDとKYC
Naohiro Fujie
•
1.2K views
コンシューマIDのエンタープライズ領域での活用
Naohiro Fujie
•
2.6K views
大学等におけるAzure AD B2Cを使用したSNS認証の活用
Naohiro Fujie
•
2K views
Azure AD B2C + LINE 学校や企業における次世代 ID/ メッセージ基盤
Naohiro Fujie
•
1.9K views
Azure ADとLINE連携により実現する学校や企業における次世代ID/メッセージ基盤
Naohiro Fujie
•
1.3K views
大学等におけるAzure AD B2Cを使用したSNS認証の活用
Naohiro Fujie
•
6.5K views
アイデンティティ API とデータ統合プラットフォームの活用
Naohiro Fujie
•
6K views
Office365のID基盤活用とセキュリティ上の注意点
Naohiro Fujie
•
3.8K views
OAuth2.0によるWeb APIの保護
Naohiro Fujie
•
13.6K views
ID管理/認証システム導入の理想と現実
Naohiro Fujie
•
7.9K views
オンライン・アイデンティティの自己コントロールと活用
Naohiro Fujie
•
4.6K views
Recently uploaded
(20)
初学者のためのプロンプトエンジニアリング実践.pptx
Akifumi Niida
•
196 views
①【威斯康星大学麦迪逊分校毕业证文凭学位证书|工艺完美复刻】
C25lokh12
•
3 views
【DL輪読会】Visual Classification via Description from Large Language Models (ICLR...
Deep Learning JP
•
1K views
本科/硕士《德国雷根斯堡大学毕业证成绩单》
nxj1dsa
•
3 views
SoftwareControl.pdf
ssusercd9928
•
6 views
第2回Matlantis User Conference_20230421_久間薫先生
Matlantis
•
280 views
統計学の攻略_推測統計学の考え方.pdf
akipii Oga
•
0 views
突如登場したAzure Developer CLIでなにができるのか?検証してみる
Kazumi IWANAGA
•
27 views
☀️【中央兰开夏大学毕业证成绩单留学生首选】
25mjhd12
•
4 views
☀️【杜兰大学毕业证成绩单留学生首选】
2125nuh
•
2 views
PCベース制御による集中制御.pdf
ssusercd9928
•
19 views
Apache EventMesh を使ってみた
Yoshiyasu SAEKI
•
39 views
シン3次元表示装置 ーその1ー
Takashi Yamanoue
•
121 views
20230516 @Mix Leap Hirohiko_Suwa
Masashi Nakagawa
•
82 views
本科/硕士《加拿大温莎大学毕业证成绩单》
1523dsa
•
2 views
JSTQB_テストマネジメントとレビュープロセス.pdf
akipii Oga
•
0 views
①【戴尔豪斯大学毕业证文凭学位证书|工艺完美复刻】
love445ds
•
2 views
ヘッドレス化したbaserCMS5とその機能
Ryuji Egashira
•
10 views
留信网认证可查【拜欧拉大学文凭证书毕业证购买】
1lkjhg
•
3 views
SoftwareControl.pdf
ssusercd9928
•
15 views
Advertisement
今なら間に合う分散型IDとEntra Verified ID
今なら間に合う 分散型ID & Entra
Verified ID 2022/06/30 富⼠榮 尚寛 @phr_eidentity
自己紹介 役割/活動 • OpenIDファウンデーション・ジャパン代表理事、KYC WG設立 •
米国OpenID Foundation eKYC and Identity Assurance WG, co-chair • 色々と委員(ISO、某官房、某研究所など) • 某SIerでビジネス開発 書き物など • Blog:IdM実験室(https://idmlab.eidentity.jp) • 監訳 : クラウド時代の認証基盤 Azure Active Directory 完全解説 • 共著 : クラウド環境におけるアイデンティティ管理ガイドライン その他活動 • 日本ネットワークセキュリティ協会アイデンティティ管理WG • Microsoft MVP for Enterprise Mobility(Jan 2010 -) • LINE API Expert (Feb 2018 -) • Auth0 Ambassador(Sep 2018 -)
本日のネタ • 分散型IDとは? • なんで必要? •
コンセプトは? • 何ができる? • 何に使える? • Entra Verified IDとは? • どんなもの? • 使い方は? ※なるべく深いところまで掘り下げず、まんべんなく語るよう努力!
インターネットにおける根本課題 新しい信頼モデルを作れないか? 新しい信頼モデルをベースとした新しい 経済圏を作れないか?
ID領域における未解決問題 • アイデンティティ保証 • 誰がその属性を発行・保証しているのか? •
発行主体が無くなったらどうするのか? • 否認/アカウント停止(中央集権からのネグレクト) • なりすまし防止 • O2O Binding(本人確認)、安全なID連携 • プライバシー保護 • IDを握った企業が行動履歴を掌握 • 事業者間の名寄せによるプライバシー侵害
ID領域における未解決問題 • アイデンティティ保証 • 誰がその属性を発行・保証しているのか? •
発行主体が無くなったらどうするのか? • 否認/アカウント停止(中央集権からのネグレクト) • なりすまし防止 • O2O Binding(本人確認)、安全なID連携 • プライバシー保護 • IDを握った企業が行動履歴を掌握 • 事業者間の名寄せによるプライバシー侵害 属性発行元が無くなっても 真正性を証明する方法 ID情報を 安全に伝える方法 IDプロバイダに行動履歴を 把握されない方法
必要な要素と分散型IDにかかる技術要素 属性発行元が無くなっても 真正性を証明する方法 ID情報を 安全に伝える方法 IDプロバイダに行動履歴を 把握されない方法 自己主権型アイデンティティ (Self Sovereign Identity
– SSI) 分散型識別子 (Decentralized Identifiers – DID) 検証可能な属性情報 (Verifiable Credentials – VC) 技術要素 コンセプト
分散型ID – 関連キーワードの整理 ž
自己主権型アイデンティティ(Self Sovereign Identity) ž 分散型識別子(Decentralized Identifiers) ž 検証可能な属性情報(Verifiable Credentials)
自己主権型アイデンティティ(SSI) https://blog.goodaudience.com/how-blockchain-could-become-the-onramp-towards-self-sovereign-identity-dd234a0ea2a3
自己主権型アイデンティティ(SSI) ž Sovrin foundationの定義 ž
自己主権型アイデンティティ(SSI)とは「個人は、管理主体が介在することなく、自身のア イデンティティを所有しコントロールできるべきである」、と考えるデジタル・ムーブメン トを表す言葉である。SSIを使うと、人々は現実世界で彼らが行っているのと同じ自由度と信 頼性をもってデジタル世界でも活動することが出来る。(https://sovrin.org/faq/what-is-self- sovereign-identity/) ž インテンション・エコノミー(Doc Searls / 2012) ž 顧客の意思に基づく経済(VRM)の実現 ž 企業が顧客の関心(アテンション)を中心に行う経済活動(CRM)と対局 ž 顧客が企業に自分自身の意思を持ってアイデンティティ情報を提供することで、 ž 企業がBig Dataをもとに推測したリコメンド・広告表示による気持ち悪さからの脱却 ž 企業が大量データを収集・分析を行うためのコストの削減 いつの間にか「アイデンティティの所有」の話になってきている??
ž アテンション・エコノミー:顧客の関心が中心の経済 ž インテンション・エコノミー:顧客の意思が中心の経済 アテンション・エコノミーからインテンション・エコノミー
ž 物理世界におけるお財布モデル 実現したいこと レンタル ビデオ店 コンビニ 会社 病院 利用者が自身で 選択して提示 発行元を信頼 発行元への問い 合わせは不要 IDの発行
ž 物理世界におけるお財布モデル 提示されたID情報の信頼性の担保 レンタル ビデオ店 コンビニ 会社 病院 利用者が自身で 選択して提示 発行元を信頼 発行元への問い 合わせは不要 IDの発行 どうやって提示されたID情報の 真正性を発行元に問い合わせを せずに確認・検証するか
ž 物理世界におけるお財布モデル 公開鍵基盤の利用 レンタル ビデオ店 コンビニ 会社 病院 利用者が自身で 選択して提示 発行元を信頼 IDの発行 公開鍵基盤
ž 物理世界におけるお財布モデル 課題①:誰が公開鍵基盤を運営するか? レンタル ビデオ店 コンビニ 会社 病院 利用者が自身で 選択して提示 発行元を信頼 IDの発行 誰が公開鍵基盤を運営するか? 公開鍵基盤
ž 物理世界におけるお財布モデル 課題②:そこに悪意はないのか? レンタル ビデオ店 コンビニ 会社 病院 利用者が自身で 選択して提示 発行元を信頼 IDの発行 IDの発行元、公開鍵基盤運営側 による改竄や否認はないのか? 公開鍵基盤
ž 物理世界におけるお財布モデル 分散台帳の利用 レンタル ビデオ店 コンビニ 会社 病院 利用者が自身で 選択して提示 発行元を信頼 IDの発行 公開鍵基盤 on 分散台帳 財布の登録 +IDとの紐づけ
自分の意思を持ってアイデンティティ情報を提供 ž 利用者目線で必要なこと→ポータブルであること ž 事業者になるべく依存せず(例:IdPが落ちていたり、IdPによってBANされることなく)自 身の属性情報をサービス提供者へ選択的に開示 ž
一方でサービス事業者目線では→高度な信頼 ž 提供された属性情報を信頼できること(事業者の介在なく提供された情報への信頼) ž 「No trust, more truth」に通じる?「Trust, but verify(信じよ、されど確認せよ)」 ※信頼とは? 事実の確認をしない状態で、相手先が期待したとおりに振る舞うと信じる度合い (内閣官房/Trusted Web推進協議会の定義より)
信頼のDXの要が「DID、VC」 ポータブル ⾼度な信頼 従来のデジタルID 物理世界のID 分散型ID (DID/VC) ポイント 利⽤者の意思で、 • いつでも使える • 使い分けができる (持ち運べること) •
スマホ、NFCチップ等に IDを⼊れて持ち運ぶ • 提⽰属性の選択・使い分 けができる 中⼼となる技術要素 • 分散台帳上で管理される分散型識別⼦(Decentralized Identifiers / DID) • 分散型識別⼦と関連付けされた公開鍵で検証可能な属性情報(Verifiable Credentials / VC) • 財布に⼊れて免許証、社 員証などを持ち運ぶ • 使い分けができる • IDシステム状態に依存す る(システム停⽌、アカ ウント停⽌等) • 提⽰情報の使い分けは難 しい(利⽤者の意思は反 映されにくい) 受取った側が、 • 真贋判別が出来る (検証可能であること) • 分散台帳上の公開鍵を使 い、ID発⾏元への問い合 わせせずに検証可能(永 続性の担保、事業者依存 からの脱却) • IDシステムでユーザ認証 して検証する(認証強度 によりID漏洩の危険性) • IDシステム状態に依存す る(システム停⽌等) • 対⾯で表情などを含め総 合的に判断 • 勘と経験で免許証の真贋 を判断 ID漏洩、プライバシ問題 対⾯前提、勘と経験 真のDXの要として注⽬
分散型識別子(DID/Decentralized Identifiers) ž 特定の事業者に依存しない識別子(Identifier) ž
Identity(属性の集合)ではなく、Identifier(識別子) ž W3Cにより標準化(did:method:xxxx) ž DIDと紐づく鍵ペアを生成、秘密鍵へのアクセス=「所有」 ž 識別子に紐づくDID Documentが分散台帳上等で公開される ž DIDに紐づく秘密鍵で署名したデータをDID Document上の公開鍵で検証する ことでDIDの「持ち主」が発行したデータであることを検証できる(VCはこ の仕組みを利用) ž 事業者の都合(倒産やアカBANなど)で公開鍵の取り消しや改竄ができない ため、自己主権っぽく見える(そのためにはPermissionlessなチェーンが望ま しいが実態は・・・)
何が分散 ž 系の分散:特定の系への依存度を下げる(ソーシャルログオンと同レベル) ž 系の中でのノード分散:系を運営する事業者への依存度を下げる(本質) 基盤レイヤ データレイヤ APIレイヤ sovrin
bitcoin ethereum ION(sidetree) N N … N N N … N N N … N ・・・ did:sov:xxx did:btcr:xxx did:ion:xxx did:eth:xxx ・・・ Discovery Service(Universal resolver等) driver driver driver driver ・・・
ざっくり言うと ž 各エンティティがメソッド単位で鍵ペアに紐づくDIDを取得する ž メソッド(ionとかbtcrとかethrとか)ごとのノードの運営が特定事業者に限定されないので、 少なくとも識別子の単位で勝手に消されたり、公開されるDID
Documentが改ざんされる恐れ は少ない=分散、事業者非依存、SSIというキーワードへ繋がっている ž よくある質問 ž メソッドを跨いでDIDを引っ越すことはできる? ž できません。SSIと言いつつメソッドの系への依存はします。 ž DID Documentを分散台帳へ記録するためのコストは誰が負担するの? ž 系によってまちまちです。Sovrin foundationだとFoundationへの参加した組織だけが書き込めて、トランザクショ ンごとに費用が発生していたはず。 ž 鍵のローテーションはどうする? ž DID Documentの更新(公開鍵の追加)を行います。過去の秘密鍵で署名されたVCは過去の公開鍵で検証ができる ので、少なくとも当該のDIDを管理しているエンティティにより署名された過去があることはわかります。
検証可能な属性情報(VC/Verifiable Credentials) ž 検証可能なデータモデル ž
発行者(Issuer)のDIDに紐づく秘密鍵によりデジタル署名される ž 発行者のDID Documentに含まれる公開鍵を使って検証可能 ž エンティティ間でのトランスポートはW3C定義外。ここはOIDC4VCやDIDCommの範囲 分散台帳(DID Documentを配置) ⾏政/キャリア/企業 など 個⼈のID Wallet アプリケーション VP: Verifiable Presentation VCを複数束ねたもの
メリット ž Issuerの事業継続性を気にする必要がない(OIDCとの対比で言うと、IdPがなく てもRPがid_tokenの検証ができる)⇒過去のVCを検証可能、疎結合でOK ž 複数Issuerから発行されたVCをまとめて提示可能 分散台帳(公開鍵基盤) 個⼈のID
Wallet アプリケーション
ざっくり言うと ž 関連エンティティ ž VC発行者(Issuer)、利用者(Holder)、VC消費アプリ(Verifier) ž
単なるJSON/JSON-LDであるVCやVPへ、DIDに紐づく秘密鍵で署名をする ž OIDCと対比し、RP(Verifier)目線で言うとこんな感じ。 ž よくある質問 ž VCの発行元(VC内のIssuerとして指定されているDIDの持ち主)は誰か?をどうやって判 別・信頼するのか? ž DNSにバインド。DID Document内のLinked Domainに記載のあるドメイン配下に/.well-known/did- configuration.jsonを配置。受け取ったら検証 → よく考えると結局疎結合になりきれない・・・ 取得元 Verify用の公開鍵 含めることのできる属性 何を信じるか Id_token IdP Jwks_uriから取得 IdPが発行したもの (Aggregatedだと元CPの署名検証は不 可) IdP VP Holder DID Documentから取得 複数のVCをVPに含めることで複数の発 行元から検証可能な状態で取得可能 DID Documentが格納され る分散台帳の系
実は最も重要なこと)DIDとVCを切り離す ž VCはあくまでデジタル署名されたデータセット ž id_tokenとほぼ変わらない ž
iss/subにDIDを用いる必要はない ž 実際、ワクチン接種証明はVerifiable Credentials ž スキーマ:FHIR ž Issuer:https://vc.vrs.digital.go.jp/issuer ž 署名:デジタル庁の自己証明書書 ž 参考) ž https://idmlab.eidentity.jp/2021/12/verifiable-credentials.html ž DIDと組み合わせることで得られるのは疎結合 ž 署名検証を行う際にIssuerの公開鍵を取得する方法の違い ž jwks_uriエンドポイントへのアクセスによる取得 → DID Documentから取得 ž DID Documentが分散台帳上にあることでIdP(Issuer)とRP(Verifier)の直接通信は不要となる
分散型IDは自己主権型IDを実現するのか? ž 「IDの所有」と呼ぶにはあまりにも限定的 ž 確かに事業者の都合で署名済みのVC=デジタルIDが使えなくなるリスクは低減できる ž
WalletにVCを入れればポータビリティっぽく見える ž 真の価値は「IDプロバイダへの依存度を下げる」ことではないか? ž ユーザ目線では、「IdPが落ちていてもサービスが継続して利用できる」 ž 事業者目線では、「IdPの可用性要件を下げられる」「継続的なID管理が不要となる」 ž こう考えるとユースケースが見えてくる ž 情報管理はしたくないが、ID発行事業者として身元保証はしたい ž ID発行事業者に知られることなくサービスを利用したい ž IdPとサービスが連携できないスケールのサービス ž 例)大学における卒業生の管理、資格証明(資格試験、所属等)、スマートシティ、etc
ID基盤のパラダイム変化 従来のID基盤 分散型IDによる変化 ü ID管理は最低限
→ ID管理は利⽤者側へシフト ü 本⼈確認(eKYC等)によるIDリカバリが重要 ü 提供するIDサービス(認証等)も最低限 → 影響度低 ü サービスとID基盤が疎結合 → スケールしやすい ü 利⽤者のIDの維持が重要 ü 滅多にログインしないユーザでもID維持が必要 ü 利⽤者へIDサービス(認証等)を提供 → 可⽤性が⼤切 ü サービスとID基盤が密結合 → スケールしにくい ID基盤 サービス ID管理 管理者 利⽤者 利⽤者 頻度低 攻撃者 ID搾取 ID連携(密結合) なりす まし サービス 利⽤ 認証 滅多に使わない⼈の IDも維持・管理が必要 (ライセンス費⽤増) 滅多に使わない⼈の 認証情報は漏洩しても 気が付きにくい (リスク増) ID基盤 サービス ID管理 管理者 利⽤者 利⽤者 頻度低 ID情報 ID連携不要(疎結合) サービス 利⽤ 最低限のID管理で⼗分 (ライセンス最適化、 リスク低減) ID情報を個⼈に持たせ る=ロストした場合の リカバリが必要 (本⼈確認) ID発⾏ /取消 ID情報 本⼈確認 〜リカバリ
ID基盤のパラダイム変化 従来のID基盤 分散型IDによる変化 ü ID管理は最低限
→ ID管理は利⽤者側へシフト ü 本⼈確認(eKYC等)によるIDリカバリが重要 ü 提供するIDサービス(認証等)も最低限 → 影響度低 ü サービスとID基盤が疎結合 → スケールしやすい ü 利⽤者のIDの維持が重要 ü 滅多にログインしないユーザでもID維持が必要 ü 利⽤者へIDサービス(認証等)を提供 → 可⽤性が⼤切 ü サービスとID基盤が密結合 → スケールしにくい ID基盤 サービス ID管理 管理者 利⽤者 利⽤者 頻度低 攻撃者 ID搾取 ID連携(密結合) なりす まし サービス 利⽤ 認証 滅多に使わない⼈の IDも維持・管理が必要 (ライセンス費⽤増) 滅多に使わない⼈の 認証情報は漏洩しても 気が付きにくい (リスク増) ID基盤 サービス ID管理 管理者 利⽤者 利⽤者 頻度低 ID情報 ID連携不要(疎結合) サービス 利⽤ 最低限のID管理で⼗分 (ライセンス最適化、 リスク低減) ID情報を個⼈に持たせ る=ロストした場合の リカバリが必要 (本⼈確認) ID発⾏ /取消 ID情報 本⼈確認 〜リカバリ 卒業⽣、研究者のID管理シナリオ • 過去に在籍したことの証明 • 卒業・離籍後も⼤学に残した研究データへ継続的にアクセス許可 サプライチェーンのID管理シナリオ • 企業への所属証明、アクセス権限の証明 • OEM企業側でのID管理・パスワード管理の⼿間を⼤幅に削減 顧客、⾃治体における個⼈ID管理シナリオ • SNSを使った簡易ID登録と⾝元保証の両⽴、事業者への依存度低減 • 年齢等の⾝元確認(公的な⾝分証明の電⼦化) 従業員、学⽣のID管理シナリオ • ⼊社、⼊学時の⾝元確認(公的な⾝分証明の電⼦化) • パスワードレス、オンラインでのアカウント払い出し
Microsoft Entra
Microsoft Entra 3つのコンポーネントをまとめてリブランド ž Azure
Active Directory ž Permissions Management(旧CloudKnox Permissions Management) ž Verified ID(旧Azure AD Verifiable Credentials) https://news.microsoft.com/ja-jp/2022/06/01/220601-secure-access-for-a-connected-worldmeet-microsoft-entra/
新ポータル:https://entra.microsoft.com
新ポータル:https://entra.microsoft.com 本日の主役 Entra Verified ID 8月にGAらしい https://www.microsoft.com/security/blog/2022/05/31/secure-access-for-a-connected-worldmeet-microsoft-entra/
キーワードの整理 先に紹介したキーワード ž 分散型ID(Decentralized Identifiers) ž
検証可能な資格情報(Verifiable Credentials) Microsoft Entraにおけるキーワード ž 検証済みID(Verified ID) 読み解けること • 分散型ID(DID)とは切り離して考え、本質的な検証可能な資格情報(VC)にフォーカス • 資格情報(Credentials)だけではなくもっと幅広くIdentity(属性の集合)を扱う • 検証可能/検証済みの差についてはIdentity Proofing(KYC)とのセットで考えている
想定されているシナリオ群 ž リモートオンボーディング ž アクセスのセキュリティ強化 ž
アカウント回復 ž その他 https://www.microsoft.com/ja-jp/security/business/identity-access/microsoft-entra-verified-id
本人確認プロバイダーとの提携 ž 公的身分証明書(免許、パスポート、マイナンバーカードなど)を 使った本人確認(Identity Proofing/KYC)サービスを提供している 事業者との連携による本人確認済みIDを発行 https://www.microsoft.com/ja-jp/security/business/identity-access/microsoft-entra-verified-id
ユースケース ž 日本においても慶應義塾が初期ユーザとなっている https://www.microsoft.com/ja-jp/security/business/identity-access/microsoft-entra-verified-id
パートナープログラム ž まだまだ少ない。現状アジア圏ではCTCが唯一。 https://www.microsoft.com/ja-jp/security/business/identity-access/microsoft-entra-verified-id
Entra Verified IDの歩き方 ž
組織IDの設定 ž 要するにIssuer設定 ž 資格情報 ž 要するにVerifiable Credentialsの設定 ž 発行と検証 ž Verifiable Credentialsの発行と検証 ž 発行済みVCの取り消し
準備 ž 最低限必要なもの ž キーコンテナ(Key
Vault) ž Azure Key VaultじゃなくてKey Vault ž ストレージアカウント(Blob) ž Verifiable Credentialsに表示するロゴファイル ž 定義体(Rules、Display)※Managedを使う場合は不要 ž Webサーバー ž Static Web AppでもOK(.well-knownというパスを作るのでStorageじゃダメ) ž DNSベースでIssuerを信頼するためのファイルを公開 ž did:web(既定)を使う場合はdid documentも公開 ž 合わせてデプロイ元となるGithubアカウントとレポジトリ ž API実行用のアプリ登録 ž Azure ADへのアプリ(client)登録とAPIアクセス許可 ž Preview時代に必要だったAzure AD Premium P2は不要になった
Key Vault設定 ž Entra
Verified IDの設定を行 う管理ユーザへ[署名]権限の 付与(アクセスポリシー) ž Entra Verified IDの管理APIが Application Permissionでは なくDelegated Permissionで 動作するため管理ユーザに 権限付与が必要
Storageアカウント設定 ž Blobにロゴファイルを置く場合は匿名アクセスを許可 (AuthenticatorからInternet経由でアクセスされるため)
Webサーバ設定 ž Entra Verified
ID(Issuer)の所有権確認を行う ž /.well-known/did-configuration.jsonファイルの配置 ž DIFのWell Known DID Configuration仕様に従った実装 ž DIDがどの組織のものなのかを確認するため、DID Document内のLinked Domainとして設定 されたドメイン直下の.well-known/did-configuration.jsonにIssuerのDIDに関連するデータを 配置する ž VCを受け取ったエンティティ(HolderやVerifier)はVCのIssuerのDIDからDID Documentを取 得、Linked Domainに指定されたドメインからdid-configuration.jsonを取得、正しい発行者の DIDであることを検証する(DNSのガバナンスに依拠している) ž Webサーバはなんでも良いが、.well-knownというパスを作れる必要があるのでStorageだと ダメ([.]始まりがNG) ž どっちにしろ後でIssuerのプログラムを配置することになるので、Web Appとかで良い
Entra Verified ID設定:組織IDの設定(Issuer設定) ž
組織名 ž Issuerの組織名 ž ドメイン ž IssuerのDIDにリンクされるドメイン名 ž DID Document内のLinked Domainの値 ž キーコンテナ ž Issuer DIDに紐づく鍵ペアの管理 ž 代替信頼システム ž DIDメソッド(did:webかdid:ion) ž 既定はdid:web
DIDメソッドの選択について ž did:web(既定) ž did:web:{リンクされたドメイン名}という形式。例)did:web:pharaoh.entraid.xyz ž
DID Documentはhttps://{リンクされたドメイン名}/.well-known/did.jsonに配置される ž つまり、厳密には分散型IDではない ž did:ion ž did:ion:{内部識別子}という形式。例) did:ion:EiDBUQo0aGP1tSnp2….Wm13In19 ž Bitcoin上に構成されたSidetreeプロトコルであるION(Identity Overlay Network)を利用 ž DID/DPKIをサポートするため、Bitcoin上にLayer2を構成、多数のオペレーションを直接 Bitcoinネットワークへ流さないことで省エネ、省コストを実現 ž トランザクションがある程度溜まるまではIPFS上で管理(この間はlong-formの識別子を利用) ž 一定数溜まったらBitcoinへ書き込み(書き込み終わったらshort-formの識別子を利用)※現状のMicrosoftの実装で は書き込んでいない
ドメインの検証 ž did-configuration.jsonを 配置して所有権を検証 ž did:webの場合はdid.json (DID
Documentそのも の)も配置する必要あり ž did:ionの場合はIONネッ トワーク上にDID Documentが浸透するま では検証できないのでし ばらく待ち(ion explorer で確認可) ION Explorer https://identity.foundation/ion/explorer
Universal ResolverでDID Documentを確認 https://dev.uniresolver.io/
資格情報 ž Verifiable Credentialsの定義を作成する
資格情報の定義 ž 資格情報名 ž 表示の定義(Display) ž
Authenticator上に表示される資格情報 ž ロゴ、色、文言 ž ルールの定義(Rules) ž 発行方法 ž 属性のマッピング
表示の定義 ž locale:表示言語 ž card:資格情報(カード表記) ž
backgroudColor:背景色(RGB) ž description:説明 ž issuedBy:発行者 ž textColor:テキスト色(RGB) ž title:タイトル ž logo:URL、description ž consent:同意に関する表記 ž claims:属性の表記 https://docs.microsoft.com/ja-jp/azure/active-directory/verifiable-credentials/credential-design
表示の定義(例) { "locale": "en-US", "card": { "backgroundColor":
"#000000", "description": "Entra Seminar Attendee's Proof", "issuedBy": "M365 Study Group", "textColor": "#ffffff", "title": "Entra Seminar", "logo": { "description": "Mokudai-san", "uri": "https://entrapharaohguitar.blob.core.windows.net/logo/ mokudai.jpeg" } }, "consent": { "instructions": "M365勉強会に参加した証です。", "title": "発行します。同意してね" }, "claims": [ { "claim": "vc.credentialSubject.firstName", "label": "Name", "type": "String" }, { "claim": "vc.credentialSubject.lastName", "label": "Surname", "type": "String" } ] }
ルールの定義 ž attestations:発行する資格情報のもととなる属性取得元 ž IdTokenAttestation: ž
Authenticator内で外部IdP(OpenID Connect)で認証しid_tokenを取得 ž IdTokenHintAttestation: ž 事前にIssuer側で外部IdPで認証、発行リクエスト内に属性を指定(id_token_hint) ž verifiablePresentaionAttestation ž 別の資格情報から属性を取得 ž selfIssuedAttestation ž Authenticator内で属性値を自分で入力させ取得 ž mappings:発行元の属性と資格情報内の属性のマッピング ž validityInterval:資格情報の有効期間 ž vc/type:資格情報のタイプ https://docs.microsoft.com/ja-jp/azure/active-directory/verifiable-credentials/credential-design
ルールの定義(例) { "attestations": { "selfIssued": { "mapping":
[ { "outputClaim": "firstName", "required": true, "inputClaim": "firstName", "indexed": false }, { "outputClaim": "lasttName", "required": true, "inputClaim": "lastName", "indexed": true } ], "required": false } }, "validityInterval": 2592001, "vc": { "type": [ "VerifiedCredentialExpert" ] } }
資格情報の定義 ž 作成するとマニフェストが生成される(表示・ルールの定義) ž 例)https://beta.did.msidentity.com/v1.0/0fd7c1d1-82e9-42f6-9bd4- 8ea45e372d11/verifiableCredential/contracts/Entra%20Seminar%2020220630
資格情報の発行 ž 2通りの発行方法 ž Issuance
APIを実行する ž Azure ADに登録したアプリケーションの権限で実行する(client_credentialsで取得したaccess_tokenを使用) ž Issuance APIを使う発行用のWebアプリケーションの開発が必要 ž 一般コンシューマ向けの資格情報発行シナリオ ž OpenID for Verifiable Credential Issuanceの仕様に則ったやりとり ž https://openid.net/specs/openid-4-verifiable-credential-issuance-1_0.html ž 組織に登録されたAuthenticatorへプッシュ通知を送る ž Azure ADのグループ単位でプッシュ ž 従業員向けの資格情報(社員証、学生証など)発行シナリオ ž 現状はIssuance APIを利用する方法のみ利用可能
資格情報の発行 ž 呼び出すAPIエンドポイントとRequest Bodyのテンプレート ž
値を置き換えて利用 ž Callback ž Authority ž Registration ž Issuance ž 通常はアプリ内でAPI を呼び出すがPostmanで テストする
資格情報の発行 ž client_credentialsでaccess_tokenを取得しAuthorizationヘッダへ設定
資格情報の発行 ž エンドポイントとBodyをセットしてPOST
資格情報の発行 ž Callbackには発行状態に関する 情報がPOSTされてくるのでテ スト時はローカルにエンドポイ ントを立てて、ngrok等でイン ターネットへ公開
資格情報の発行 ž リクエストが成功するとurlが返ってくるので、QRコード化して Authenticatorで読み込む QRコード生成は適当なサイトで 例)https://www.cman.jp/QRcode/
資格情報の発行 ちなみにWalletはMS Authenticatorだけでなく、自作 してもOK(SDK利用、もしくはAPIを素で叩く)
資格情報の検証 ž Presentation APIを実行する ž
基本的な考え方はIssuance APIと一緒 ž エンドポイントも同じ ž Request BodyのIssuance部分をPresentationに変えるだけ "presentation": { "includeReceipt": true, "requestedCredentials": [ { "type": "VerifiedCredentialExpert", "purpose": "the purpose why the verifier asks for a VC", "acceptedIssuers": [ "did:ion:pQy1oU0ZVblRfkhqZ2Y5bjFOamJUQnZ1Wm13In19" ] }] }
資格情報の検証 ž callbackに指定したURLへ提示されたVCの情報が送られてくる ž OpenID
for Verifiable Presentationに則ったやりとり ž https://openid.net/specs/openid-4-verifiable-presentations-1_0.html ž Body ž id_token ž Subject ž Audience ž VP(Verifiable Presentation)に関するメタデータ ž vp_token ž 提示されたVCを含むトークン
資格情報の検証 ž 結構深いネストでJWTが構成されているが解いていくと属性発見
発行済みVCの取り消し ž VCのライフサイクル ž 有効期限:VC発行時に設定(Verify時に期限切れとわかる) ž
明示的な取り消し:管理ポータルから取り消し(現状APIは未提供) ž 明示的な取り消し ž Index属性をベースに取り消し(ルール定義でIndexed: trueにした属性)
まとめ+α
再掲)ID基盤のパラダイム変化 従来のID基盤 分散型IDによる変化 ü ID管理は最低限
→ ID管理は利⽤者側へシフト ü 本⼈確認(eKYC等)によるIDリカバリが重要 ü 提供するIDサービス(認証等)も最低限 → 影響度低 ü サービスとID基盤が疎結合 → スケールしやすい ü 利⽤者のIDの維持が重要 ü 滅多にログインしないユーザでもID維持が必要 ü 利⽤者へIDサービス(認証等)を提供 → 可⽤性が⼤切 ü サービスとID基盤が密結合 → スケールしにくい ID基盤 サービス ID管理 管理者 利⽤者 利⽤者 頻度低 攻撃者 ID搾取 ID連携(密結合) なりす まし サービス 利⽤ 認証 滅多に使わない⼈の IDも維持・管理が必要 (ライセンス費⽤増) 滅多に使わない⼈の 認証情報は漏洩しても 気が付きにくい (リスク増) ID基盤 サービス ID管理 管理者 利⽤者 利⽤者 頻度低 ID情報 ID連携不要(疎結合) サービス 利⽤ 最低限のID管理で⼗分 (ライセンス最適化、 リスク低減) ID情報を個⼈に持たせ る=ロストした場合の リカバリが必要 (本⼈確認) ID発⾏ /取消 ID情報 本⼈確認 〜リカバリ
再掲)ID基盤のパラダイム変化 従来のID基盤 分散型IDによる変化 ü ID管理は最低限
→ ID管理は利⽤者側へシフト ü 本⼈確認(eKYC等)によるIDリカバリが重要 ü 提供するIDサービス(認証等)も最低限 → 影響度低 ü サービスとID基盤が疎結合 → スケールしやすい ü 利⽤者のIDの維持が重要 ü 滅多にログインしないユーザでもID維持が必要 ü 利⽤者へIDサービス(認証等)を提供 → 可⽤性が⼤切 ü サービスとID基盤が密結合 → スケールしにくい ID基盤 サービス ID管理 管理者 利⽤者 利⽤者 頻度低 攻撃者 ID搾取 ID連携(密結合) なりす まし サービス 利⽤ 認証 滅多に使わない⼈の IDも維持・管理が必要 (ライセンス費⽤増) 滅多に使わない⼈の 認証情報は漏洩しても 気が付きにくい (リスク増) ID基盤 サービス ID管理 管理者 利⽤者 利⽤者 頻度低 ID情報 ID連携不要(疎結合) サービス 利⽤ 最低限のID管理で⼗分 (ライセンス最適化、 リスク低減) ID情報を個⼈に持たせ る=ロストした場合の リカバリが必要 (本⼈確認) ID発⾏ /取消 ID情報 本⼈確認 〜リカバリ 卒業⽣、研究者のID管理シナリオ • 過去に在籍したことの証明 • 卒業・離籍後も⼤学に残した研究データへ継続的にアクセス許可 サプライチェーンのID管理シナリオ • 企業への所属証明、アクセス権限の証明 • OEM企業側でのID管理・パスワード管理の⼿間を⼤幅に削減 顧客、⾃治体における個⼈ID管理シナリオ • SNSを使った簡易ID登録と⾝元保証の両⽴、事業者への依存度低減 • 年齢等の⾝元確認(公的な⾝分証明の電⼦化) 従業員、学⽣のID管理シナリオ • ⼊社、⼊学時の⾝元確認(公的な⾝分証明の電⼦化) • パスワードレス、オンラインでのアカウント払い出し
再掲)想定されているシナリオ群 ž リモートオンボーディング ž アクセスのセキュリティ強化 ž
アカウント回復 ž その他 https://www.microsoft.com/ja-jp/security/business/identity-access/microsoft-entra-verified-id
DID/VC開発者向けコミュニティを立ち上げます Japan DID Developer
Community ž DID/VCに興味がある人が集まる場 ž Discordチャネル開設しました ž https://discord.gg/nn53BRRz ž これからのコミュニティなので一緒に盛り 上げていってもらいたいです!
Advertisement