はじめに
こんにちは!オプティムの吉村、糸井、宍戸です。私たちは、OpenID ファウンデーション・ジャパン (以下、OIDF-J) のデジタルアイデンティティ人材育成推進 WG (Working Group) に参加し、ID に関する基礎知識を学び、その内容を発信する活動をしています。
この記事では、私たちが 2024 年度にデジタルアイデンティティ人材育成推進 WG での活動で取り組んだ内容について、ご紹介します。
デジタルアイデンティティ人材育成推進 WG について
デジタルアイデンティティ人材育成推進 WG は 2023 年 12 月に発足した団体で、ID に関する最新のビジネスと技術動向の調査や専門書の翻訳を通じ、次世代の ID 人材育成を目指しています。SWG(SubWorkingGroup) による学習の形式をとっており、2024 年度はビジネス、技術、翻訳の 3 つの SWG に分かれて活動しました。
各 SWG での活動内容は、活動報告会の形で 2024 年 6 月と 2025 年 1 月の 2 度に分けて発表しています。YouTube Live のアーカイブも公開されておりますので、ぜひご覧ください。
- 中間活動報告会 (2024 年 6 月)
- 活動報告会 (2025 年 1 月)
活動内容
吉村
私は日頃社内の ID 基盤の開発に従事しておりますが、日々の業務の中で社内の他サービス開発者より ID に関する相談を受けることが多く、「ID 業界に属していない、多くのサービス開発者にとって、ID をより学びやすくするような活動に貢献したい」との思いから、この活動に参加しました。
活動の中では、技術 SWG 内にて、OAuth 2.0、OpenID Connect に関する以下の領域について担当し、中間活動報告会と活動報告会のそれぞれで発表しました。
OAuth 2.0 と OpenID Connect のユースケースの分類 (中間活動報告会)
メールアドレスをユーザー識別子として使用するリスク (活動報告会)
アクセストークンの検証と取り扱い (活動報告会)
「OAuth 2.0 と OpenID Connect のユースケースの分類」では、OAuth 2.0 と OpenID Connect の登場人物に着目し、ユースケースの分類を行なっています。OAuth 2.0 でのリソースアクセスに関する側面と、OpenID Connect の ID 連携に関する側面をそれぞれ分離して整理することで、複数の Entity (ユーザーやサーバーなど) の関連性をよりシンプルに理解できるよう、整理しました。
また、「メールアドレスをユーザー識別子として使用するリスク」では、OpenID Connect による ID 連携の際のユーザーの紐付けに使う識別子として、メールアドレスを用いることのリスクについて整理しました。
「アクセストークンの検証と取り扱い」では、OAuth 2.0 における、アクセストークンの形式とそれによる情報取得の手段の違い、アクセストークンを受け取ったリソースサーバーがその内容をどう検証すべきかについて整理しました。
下図は、「OAuth 2.0 と OpenID Connect のユースケースの分類」の資料の一部です。このパートでは、OAuth 2.0 と OpenID Connect について、それぞれの仕様での登場人物に着目し、ユースケースを分類しました。それぞれの登場人物がどういう関係性を持っているかに注意してユースケースを分類することで、OAuth 2.0 でのリソースアクセスに関する側面と、OpenID Connect での ID 連携に関する側面を分離して考えられるようになり、自身の理解が大きく進んだと実感しています。
糸井
私は以下を目的・目標としてデジタルアイデンティティ人材育成推進 WG に応募しました。
- OAuth 2.0 や OpenID Connect は参考文献を読みながら入門書レベルでの実装はできるが、詳細仕様・ベストプラクティス・セキュリティ・プライバシーについては不勉強なので、理解を深めて実践できるようになりたい。
- ID の領域も他の IT 系の分野と同じく変化のスピードが早いし、領域も多岐に渡っている。いちエンジニアとして技術的な理解を深めると同時に、ビジネス的な優位点を理解し、将来的に要求分析に役立てることを目指す。
技術 SWG 内にて、認証に関する以下の領域について担当し、活動報告会で発表しました。
認証の定義
AAL の定義
7 つの認証器
toB, toC での事例
2024 年の WG の活動を終えて、
1 つ目の目的について、技術 SWG の他の参加者の方々が平易な言葉での説明をしてくださっていたことや、SWG のリーダーをされていた OIDF-J のエバンジェリストである倉林さんが背景や理由も含めて補足をしてくださっていたので OAuth 2.0 や OpenID Connect に対する理解が深まりました。
2 つ目の目的について、自身が認証の領域の資料作成を担当したので、NIST-SP-800-63 という文書の存在を知り、Identity Proofing、Authentication、Federation という定義についても勉強する機会となりました。
技術 SWG の勉強会だけでなく、ビジネス SWG の勉強会にも参加させていただいたので、普段関わることのない CIAM (Customer Identity and Access Management), EIAM (Enterprise Identity and Access Management) といった製品についても概要を知る機会となりました。
普段何気なくログインという行動をしている裏にはこんなにも広くて奥深い領域が広がっていることが興味深く、さらに沼にハマりに行きたいと思うようにもなりました。
倉林さんの WG にかける熱い思いが吐露されている わたしが ID コミュニティで活動する理由 という記事にもある、カッコいいID厨
に自分もなりたいと思うようにもなりました。
社内でも OIDF-J での活動報告を行いましたが、私が担当した認証という領域は普段から身近にあるものなので、多くの質問をいただきました。
勉強不足なところもあり満足に回答できない質問もありましたが、私が認証に対して興味深く思ったところが伝搬できたと思うと嬉しかったです。
宍戸
私は業務では認証系などの開発をしていたわけではありませんでしたが、OAuth 2.0 などの認証における知識がなく、セキュリティなど幅広い部分で理解できるようになりたいという目的で応募しました。
上半期は会の中の勉強会に参加するだけでしたが、下半期では、PKCE (Proof Key for Code Exchange, RFC 7636 で定義) 関連の内容について登壇しました。
最初は認可サーバーやクライアントなどの OAuth 2.0 における登場人物を理解している程度でしたが、参加するにあたってセキュリティリスクを様々なユースケースを通して対策していく面などに非常に興味を持ち始め、認可コード横取り攻撃に対する拡張としての PKCE についての興味も広がっていきました。
また資料を作成していく中で自社で IdP を提案する場面などに使えそうな部分も含まれているように感じました。
登壇の中ではモバイルアプリにケースを絞り、どのように対策をしていくかという前提で PKCE がなかった場合にどのように攻撃が成立するのかという内容を中心にケース別に紹介をしていき、実際に導入するにあたって、認可サーバーやクライアントがどのような観点を持つことが重要なのかという内容まで発表しました。
モバイルアプリの中でも利用する OS に応じて悪意のあるアプリケーションに認可コードが渡るまでの動作が異なる点が興味深く、モバイルアプリ以外のケースでの攻撃対策としての PKCE の関係など資料には投影していない部分もありましたが、資料作成にあたってその辺りも指摘していただくことで学びも多くありました。
弊社糸井の発表やビジネス側での発表の中でも出てきた NIST (National Institute of Standards and Technology) などの話は聞いたこともなく、知識を深めるだけではなく広げる経験としても有益な部分が多かったです。
参加してみて、自分の理解が足りない部分 (主にセキュリティやアクセストークンまわり) に対しての解像度も高くなり、理解をするためのモチベーションにもなりました。
また参加者の中にも認証認可に明るい人が多く、自分で調べた内容以上の情報についてのフィードバックを求められることがコミュニティとしての価値を強く感じるきっかけとなりました。
これをもとに、これまで以上に理解を深めていきたいのと、2025 年度は社内でもアウトプットできるような機会を増やしていきたいと思います。
おわりに
私たちは、個々に異なる課題感をもとに、デジタルアイデンティティ人材育成推進 WG での活動に取り組んできました。
2024 年度の活動終了後に、この活動で得た知識をもとに社内のメンバー (エンジニア、非エンジニアを問わず) に対する ID 勉強会を実施したところ、「とても分かりやすかった」というフィードバックをいただき、この活動を通じて自身の ID に対する理解と説明力が向上していることを実感できました。2025 年度も引き続き精力的に活動し、我々自身の理解を深めるとともに、我々と同じくこれから ID を学ぶ方々の力になれるような情報を発信していきたいです。
オプティムではデジタルアイデンティティ領域を含めた、さまざまな領域に興味のあるエンジニアを募集しています。ぜひ以下の採用ページもご覧ください!