アイデンティティ管理とその動向

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

Yahoo! JAPAN Tech Advent Calendar 2014の15日目の記事です。一覧はこちら

Yahoo! JAPAN 研究所の五味です。

アイデンティティ管理とは、ネット社会における利用者個人やその個人に関わる情報を適切に保護しながら活用する技術の総称です。従来は、AAA(Authentication、Authorization、Auditing、それぞれ、認証、認可、監査)に関わる基盤技術でしたが、近年ではネットワークの発展に伴い、ドメインをまたがる分散システムにおけるデータ連携のための基盤技術と位置づけられてきています。そこで、本稿では、特に、ID連携に関する以下のような話題について説明いたします。

  • ID連携とは
  • ID連携モデル
  • ID連携の応用
  • ID連携トラストフレームワーク
  • ID連携トラストフレームワーク アイデアソン
  • ID連携を促進する取り組み

ID連携とは

ID連携(Identity Federation)とは、分散システムにおいて、事業者や組織 のサービスごとに管理される利用者の識別子(IDentifier)どうしを紐付ける手法です。もともと、アイデンティティ管理に関する業界団体 Liberty Alliance(現 Kantara Initiative)で策定された技術仕様 Liberty ID-FF にて採用された手法ですが、その後、それを基礎として策定された SAML、さらに、OpenID、OpenID Connect などの技術仕様においても採用されています。

図1はその一例を示しており、サービス1、2、3でそれぞればらばらに管理されている利用者の複数の識別子ID1、ID2、ID3 を、唯一のものに統合するのではなく、それぞれを維持しながら疎結合します。

id-federation

図1: ID連携

ID1とID2は直接的に連携している一方で、ID1とID3は、「xyz」という仮名(中間識別子)を通じて間接的に連携しています。これはプライバシー保護のための技術的アプローチの一例であり、サービス1とサービス3は、互いのID1とID3という識別子名を知らせる必要がありませんし、この仮名を連携するサービス間(ここではサービス1と3)の間だけで有効なものに設定すれば、識別子を通じた利用者の行動トラッキングを防止することもでき、仮に連携を解除するなどの管理も容易になります。

ID連携を行うことで、サービス間で利用者に関する情報をやり取りできるようになります。上記のような技術仕様では、利用者に関する情報をセキュリティ上安全にやり取りするためのプロトコル(通信規約)を規定しています。そこで、実際のサービスでは、先のプロトコルを実装したライブラリなどのソフトウェアに加えて、利用者への確認(同意)や ID 連携を行うサービス間での情報の取扱いに対する制御の機能も実装することになります。

ID連携モデル

ID連携のモデルでは、利用者に関する情報の送付元と送付先を、それぞれ、IdP(Identity Provider)、RP(Relying Party)と呼びます。利用者に関する情報 としては、利用者の認証結果情報や個人属性情報などが該当します。上記IdPとRPは、あくまで ID連携モデルの上での「役割(ロール)」であり、個々の事業者や組織はどちらの役割を演じることも可能なのですが、ネット上で広く認証サービスを提供していたり、多くのお客様の個人属性情報を管理している事業者や組織はIdPに該当され、一方、利用者に関する情報をIdPから受け取り、その情報を用いて利用者に対するサービスを提供することが主な役割であればRPと位置づけられることが多いです(図2)。

federation model

図2: ID連携モデル

例えば、Yahoo! JAPAN の場合は、IdP事業者として、「Yahoo! ID連携」というサービスで、お客様のYahoo! JAPAN IDとパートナーのサービスで管理するIDを紐付けできます。開発者の皆さまには、SDKや関連文書を公開しており、Yahoo! ID連携を用いたアプリケーションが簡単に開発していただけるようにしていますので、ぜひご覧ください。

ID連携の応用

ID連携を用いれば、以下のような応用が可能になります。
  • 認証連携・シングルサインオン:ID連携によって、IdP が利用者の認証結果情報を RP に送付することで、RP はアクセスしてきた利用者を識別できます(認証連携)。
  • これに伴い、利用者は、IdP の認証サービスにひとたび認証されると、追加的な認証手続きなしでRPのサービスも利用できるようになり、ログインする手間が削減できます(シングルサインオン)。RPは、IdPを通じて利用者を間接的に認証することになり、IdPを経由してアクセスする利用者の増加が見込まれますし、RP 自らがパスワード管理などを行うことに伴って生じる情報流出リスクを低減できます。

    例えば、上記「Yahoo JAPAN ID連携」では、図3のような手順でシングルサインオンを実現します。

    sso

    図3: Yahoo! ID連携によるシングルサインオンの例

    利用者は、パートナー(RP)の提供するサービスのサイトにアクセスし、認証が必要な場合、RPの ID・パスワードを入力するのではなく、Yahoo! JAPAN のログインボタンを押下します(手順1)。すると、Yahoo! JAPAN のログイン画面が現れますので、利用者は、Yahoo! JAPAN ID とそのパスワードを入力します(手順2)。認証が成功すると、もともとアクセスしようとしていたパートナーのサービスサイトにアクセスできます(手順3)。この後、例えば、同じ利用者が、上記パートナーとは異なるパートナーサイトにアクセスする際には、(既に Yahoo! JAPAN で認証されているので) 認証手続きをすることなく、直ちにサービスが利用可能となります。

  • 個人属性共有:IdP で管理する利用者の個人属性情報を RP に、利用者が確認の上で、共有します。
  • 例えば、上記「Yahoo ID連携」では、図 4 に示すように、パートナー(RP)サイトの会員登録フォームにおいて、通常はお客様が逐一入力する必要があるのですが、Yahoo! JAPAN ID にてお預かりしているお客様の個人属性情報をもとにして、必要な属性情報を自動入力できます(もちろん、必要に応じて修正することもできます)。お客様は、入力の手間が省けて便利になりますし、パートナーさまは、お客様の登録機会を逃さず会員を増やし、サイトへの来訪率を高められます。

    attribute exchange

    図4: Yahoo! ID連携による個人属性共有の例

  • API連携: パートナーさまの公開するAPI(Application Programming Interface)を呼び出すことにより、連携サービスを提供できるようになります。
  • 例えば、Yahoo! JAPAN のお客様は、Yahoo! JAPAN ID とFacebookのID を紐付けすることにより、Yahoo! JAPANのトップページで、お客様ご自身のFacebookのニュースフィードが閲覧できます。

このように、ID連携では、プライバシーやセキュリティ、および、利便性も考慮に入れられており、利用者個人に特化しパーソナライズされたサービスの提供のための基本的アプローチであると言えます。

ID連携トラストフレームワーク

上記のとおり、ID連携を用いたサービスは既に広く展開されているのですが、さらなる普及・促進をはかるべく、経済産業省では、技術のみならず、政策・制度上の取り組みとして、ID連携トラストフレームワークの構築を目指し、同フレームワーク検討委員会を立ち上げています。私も検討委員として参加し、活動しています。

ここでの課題は、トラスト(信頼性)を構築するためにどうすればよいか? ということです。

前述のとおり、ID連携はネット社会において、利用者に関する情報を安全に利用するための強力な手段になりうるのですが、利用者を含め、IdP および RP に適切な信頼関係が必要であると考えられます(図5)。

trust framework

図5: トラストフレームワーク構築のための課題

例えば、IdPにとっては、たとえ利用者本人が自らに関する情報をRPに提供してよいと考えていても、RPが信頼に足る事業者か否かを判断できなければ、提供された情報を不適切に扱われる可能性があります。当然ながら、サービスを利用していただいているお客様にとって不利益となることは避けたいですし、また、情報を不適切に取扱う事業者との関わりはビジネス上のリスクを負います。一方、RPの立場では、いくらIdPが情報を提供すると言っても、受け取ってしまうとその情報に対する取扱いの責任が問われることになりますので、できる限り余計な情報は保持したくないものです。

そこで、ID連携を使って、適切に利用者の情報が適切に安全に活用できるように、また、IdPやRPの相互の連携が活性化するように、IdPやRPに必要な要件やルールを設定しましょうというわけです。このような取り組みを通じて、安心・安全な社会が実現できるとよいですね。

ID連携トラストフレームワーク アイデアソン

上記 ID連携トラストフレームワークを構築するため、ID連携が有効に機能するビジネスユースケースのアイデアを出し合おうという企画「ID連携トラストフレームワークアイデアソン」が先月11月7日に開催されましたので、ご紹介いたします。私も、ファシリテータとして参加させていただきました (写真1)。

ideathon

写真1: ID連携フレームワーク アイデアソンの様子
(一般財団法人日本情報経済社会推進協会(JIPDEC)ご提供)

会議室に参加者が集い、5 名から 10 名程度で構成される 5 つのチームに分かれて、ID連携をつかったビジネスアイデアをブレーンストーミング的に自由に意見を出し合い、議論しながら掘り下げていきました。やはり、一人で考えるよりも、複数の人たちと議論し合うと良いものが生み出されるように思います。他人の意見をむげに批判するのではなく、良いところを見つけて膨らませていくのがポイントですね。このような企画は、経済産業省としても今回が初めての取り組みということでした。

アイデアソンの最後には、各チームで取りまとめたアイデアを発表しました。ここでは、私のチームからの発表「匿名感染症検査サービス」というものをご紹介いたします(図6)。

anonymous service

図6: 匿名感染症検査サービス(アイデアソンでの発表)

例えば、感染症のような疑いを感じる人にとっては、検査を受けたいものの、自らの身元情報を知られたくなくて、なかなか検査に踏み切れないという場合もあるだろうと思われます。そこで、このような検査を匿名にて実施するサービスをID連携で実現できないか? というアイデアです。

このアイデアでは、IdPとしては、例えば Yahoo! JAPANのようなネット企業、RPは感染症検査機関、利用者は検査希望者を想定します。検査キットを購入し、検査を実施した利用者は、IdPには認証するわけですが、RPにはその身元を知らせることなく、RPのサイト上で検査結果の詳細を確認できます。IdPは、検査結果を受け取りませんが、利用者が RPの何らかのサービスを利用したことはわかるので、RPに代わって本サービスに対する決済を代行できます。

ここのユースケースでは、ID連携を通じて、IdPと RPの認証・サービス提供・決済などの機能を分散的に配備させつつ、必要なロールにだけ必要な情報が与えられるように利用者に関する情報を制御しているという点において、従来の ID連携にはない新しい付加価値を提供できているのではないかと考えています。なお、今回は感染症検査というユースケースに特化して説明していますが、それに限定されず、何らかのサービスを匿名のまま利用したいというような需要は数多くあるだろうと思われます。今後、従来の枠組みにとらわれない斬新なユースケースが生み出されるとよいですね。

ID連携を促進する取り組み

最後に ID 連携に関連する新たな取り組みとして、FIDO(Fast IDentity Online、「ファイド」と読みます)Allianceという次世代認証のための業界団体に関わる活動をご紹介いたします。FIDOでは、生体認証や所有物などを組み合わせた多要素認証によって、パスワードなどの記憶に頼らない認証技術の標準化を目指しており、Yahoo! JAPAN も他のグローバル企業と共に参加しています。

この取り組みの一環として、10月10日に東京電機大学におきまして、「FIDO Alliance セミナー 」を開催しましたので、ご紹介いたします。日本スマートフォンセキュリティ協会のご協力のもと、指紋認証のベンダー企業 DDS 社と共に Yahoo! JAPAN も協賛させていただきました。

fido seminar

写真2: FIDO セミナー(東京電機大学)の様子

写真2の通り、大きなホールが、300人近くの来場者の皆さまで埋まり、熱気に包まれました。セミナーの最後まで人が減ることなく、非常に関心を持っていただきました。
私も講演者として、「FIDO技術の適用による安心・安全なサービスの実現」というタイトルで、FIDOの狙いや位置づけを中心にご説明させていただきました。特に、強調したかったのは、従来の ID連携との関係でした(図7)。

fido architecture

図7: FIDOのアーキテクチャと ID連携との関係

図2で示すような ID連携モデルは先に述べたような業界団体などで技術仕様の策定が進められてきたのですが、FIDOでは、ID連携そのものではなく、認証の部分の標準的な技術仕様の策定に注力しています。特に、所有物や生体による多要素認証を採用しており、利用者の認証は、あらかじめ登録された、利用者の端末上の認証器(Authenticator)で行い、認証結果情報を生成します。端末上のクライアント(FIDO Client)は、認証器で生成された認証結果情報を、FIDO Serverに、FIDOの規定するプロトコルに準拠した形式のメッセージで送付します、サーバー(FIDO Server)は、クライアントからの認証結果情報を含むメッセージを受け取って検証し、適切なメッセージであると判断する場合に、利用者の認証が端末で適切に行われたと認識し、利用者を認証することになります。

上記FIDO Serverは、従来の ID連携モデルにおける IdPが備える機能であってよいので、IdPは、上記で示したFIDOの形式で認証した後に、RPに対する認証結果情報(認証アサーション)を所定の形式で作成し送付できます。すなわち、FIDOによる認証は、従来の ID連携と補完関係にあるということになり、認証の強度を高めつつ、ID連携を促進するものになり得ます。

まとめ

以上、ID連携に関する技術とサービスに関する概要、また、政策や制度面も含めた ID連携普及のための取り組み、さらに、ID連携を促進するための認証の強化のための取り組みに関してご説明いたしました。

ネット社会におけるアイデンティティ管理は、プライバシー・セキュリティ・利便性などの観点から、ますます重要になってきています。今後もさまざまな活動に挑戦してまいります。今回は、最近の取り組みや動向をまとめて書いてしまいましたので、次回は、個別の話題を掘り下げていきたいと思います。

参考情報

  • 経済産業省 ID連携トラストフレームワーク
  • ID連携トラストフレームワークアイデアソン
  • FIDO Alliance 東京セミナー
  • FIDO技術の適用による安心・安全なサービスの実現 (FIDO Alliance セミナー資料)
  • ID・認証連携の動向(高度情報通信ネットワーク社会推進戦略本部 新戦略推進専門調査会 マイナンバー等分科会資料)
  • Yahoo! JAPANでは情報技術を駆使して人々や社会の課題を一緒に解決していける方を募集しています。詳しくは採用情報をご覧ください。

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