(57)【要約】【課題】ユーザがネットワークを介して提供されるサービスを利用する際の利便性を向上させる。【解決手段】サービスにアクセスするクライアント装置からの要求に応じて、上記サービスで用いられるユーザ関連情報を取得するユーザ関連情報取得部と、上記クライアント装置に上記ユーザ関連情報を提供するユーザ関連情報提供部とを含む端末装置が提供される。【選択図】図１
2014006843.tif 000002
【特許請求の範囲】
【請求項１】
サービスにアクセスするクライアント装置からの要求に応じて、前記サービスで用いられるユーザ関連情報を取得するユーザ関連情報取得部と、
前記クライアント装置に前記ユーザ関連情報を提供するユーザ関連情報提供部と
を備える端末装置。
【請求項２】
前記ユーザ関連情報提供部は、前記クライアント装置を管理するサーバを介して前記クライアント装置に前記ユーザ関連情報を提供する、請求項１に記載の端末装置。
【請求項３】
前記ユーザ関連情報提供部は、前記クライアント装置が保持する秘密鍵に対応する公開鍵を用いて暗号化された前記ユーザ関連情報を前記クライアント装置に提供する、請求項２に記載の端末装置。
【請求項４】
前記クライアント装置からの要求があった場合にユーザに対する通知を出力し、前記ユーザ関連情報の提供についての前記ユーザの許可を取得するユーザ許可取得部をさらに備え、
前記ユーザ関連情報取得部は、前記ユーザの許可が取得された場合に前記ユーザ関連情報を取得する、請求項１に記載の端末装置。
【請求項５】
前記ユーザ関連情報取得部は、複数のデータノードに分散して格納された前記ユーザ関連情報を取得する、請求項１に記載の端末装置。
【請求項６】
前記データノードを管理するサーバから取得した情報に従って前記ユーザ関連情報を前記データノードに分散させて格納するユーザ関連情報格納部をさらに備える、請求項５に記載の端末装置。
【請求項７】
前記データノードは、ユーザの挙動に関連する要素を含む、請求項５に記載の端末装置。
【請求項８】
前記データノードは、前記ユーザによるパスフレーズの入力、前記ユーザの生体情報、前記ユーザの位置情報、または前記ユーザの動き情報のうちの少なくとも１つを含む、請求項７に記載の端末装置。
【請求項９】
前記サービスは、異なる種類の複数のサービスを含み、
前記ユーザ関連情報取得部は、前記クライアント装置がアクセスする前記サービスの種類に応じて前記ユーザ関連情報を選択して取得する、請求項１に記載の端末装置。
【請求項１０】
前記ユーザ関連情報取得部は、前記クライアント装置からの要求に含まれる、前記異なる種類の複数のサービスのうちのいずれかを利用するための認証情報によって前記クライアント装置を認証する、請求項９に記載の端末装置。
【請求項１１】
前記ユーザ関連情報は、前記サービスを利用するための認証情報である、請求項１に記載の端末装置。
【請求項１２】
前記ユーザ関連情報は、前記サービスを利用するためのトークン情報であり、
前記ユーザ関連情報取得部は、前記サービスを利用するための認証情報を用いて前記サービスにアクセスして前記トークン情報を取得する、請求項１に記載の端末装置。
【請求項１３】
サービスにアクセスするクライアント装置と、
前記サービスで用いられるユーザ関連情報を取得可能な端末装置と
を含み、
前記クライアント装置は、前記端末装置に前記ユーザ関連情報を要求し、
前記端末装置は、前記要求に応じて前記ユーザ関連情報を取得し、該取得されたユーザ関連情報を前記クライアント装置に提供する情報処理システム。
【請求項１４】
前記クライアント装置および前記端末装置を管理するサーバをさらに含み、
前記クライアント装置は、前記サーバを介して前記端末装置に前記ユーザ関連情報を要求し、
前記端末装置は、前記サーバを介して前記クライアント装置に前記ユーザ関連情報を提供する、請求項１３に記載の情報処理システム。
【請求項１５】
前記サーバは、１対の秘密鍵および公開鍵を生成して、前記秘密鍵を前記クライアント装置に、前記公開鍵を前記端末装置にそれぞれ提供した後に少なくとも前記秘密鍵を破棄し、
前記端末装置は、前記公開鍵を用いて暗号化された前記ユーザ関連情報を前記クライアント装置に提供し、
前記クライアント装置は、前記秘密鍵を用いて前記ユーザ関連情報を復号化する、請求項１４に記載の情報処理システム。
【請求項１６】
前記端末装置は、前記ユーザ関連情報の要求があった場合にユーザに対する通知を出力し、前記ユーザ関連情報の提供についての前記ユーザの許可が取得された場合に前記クライアント装置に前記ユーザ関連情報を提供する、請求項１３に記載の情報処理システム。
【請求項１７】
サービスにアクセスするクライアント装置が、前記サービスで用いられるユーザ関連情報を取得可能な端末装置に前記ユーザ関連情報を要求することと、
前記端末装置が、前記要求に応じて前記ユーザ関連情報を取得し、該取得されたユーザ関連情報を前記クライアント装置に提供することと
を含む情報処理方法。
【請求項１８】
サービスにアクセスするクライアント装置からの要求に応じて、前記サービスで用いられるユーザ関連情報を取得する機能と、
前記クライアント装置に前記ユーザ関連情報を提供する機能と
をコンピュータに実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、端末装置、情報処理システム、情報処理方法およびプログラムに関する。
【背景技術】
【０００２】
ネットワークを介して提供されるサービス、例えばＳＮＳ（Social  Networking  Service）、画像共有サービス、ブログ、オンラインストレージサービスなどは、拡大の一途をたどっている。サービスの利用にあたっては、ユーザ側から何らかの個人情報が送信されることが一般的である。例えば、ほとんどのサービスでは、ＩＤおよびパスワードの入力によってユーザを識別し、それぞれのユーザに対してサービスを提供している。また、サービスの利用にあたって、メールアドレスや氏名、電話番号など、その他の個人情報を送信する場合もある。
【０００３】
こうした情報の入力は、ユーザが安全にサービスを利用したり、サービスの内容を充実させたりするために必要なものであるが、反面、ユーザに煩雑さを感じさせる場合もある。そこで、サービスにおいて用いられる情報の入力を容易にするために、多くの技術が提案されている。例えば、特許文献１には、ネットワーク上のサービスを利用して画像や動画などのコンテンツをアップロードする際に、カメラでＩＤおよびパスワードの情報を含むコード画像を撮像することで、これらの入力を容易にする技術が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２８２７３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記の通り、ネットワークを介して提供されるサービスは拡大しており、ユーザが複数のサービスを利用することも一般的である。ユーザについて登録される情報は、サービスごとに異なる。それゆえ、ユーザは、サービスごとに異なるＩＤやパスワードを入力したり、サービスごとにそれぞれ個人情報を送信したりしている。上記の特許文献１などに記載の技術によって情報の入力自体が容易になったとしても、例えばサービスを利用する場合の情報入力の煩雑さは依然として残る。
【０００６】
そこで、本開示では、ユーザがネットワークを介して提供されるサービスを利用する際の利便性を向上させることが可能な、新規かつ改良された端末装置、情報処理システム、情報処理方法およびプログラムを提案する。
【課題を解決するための手段】
【０００７】
本開示によれば、サービスにアクセスするクライアント装置からの要求に応じて、上記サービスで用いられるユーザ関連情報を取得するユーザ関連情報取得部と、上記クライアント装置に上記ユーザ関連情報を提供するユーザ関連情報提供部とを含む端末装置が提供される。
【０００８】
また、本開示によれば、サービスにアクセスするクライアント装置と、上記サービスで用いられるユーザ関連情報を取得可能な端末装置とを含み、上記クライアント装置は、上記端末装置に上記ユーザ関連情報を要求し、上記端末装置は、上記要求に応じて上記ユーザ関連情報を取得し、該取得されたユーザ関連情報を上記クライアント装置に提供する情報処理システムが提供される。
【０００９】
また、本開示によれば、サービスにアクセスするクライアント装置が、上記サービスで用いられるユーザ関連情報を取得可能な端末装置に上記ユーザ関連情報を要求することと、上記端末装置が、上記要求に応じて上記ユーザ関連情報を取得し、該取得されたユーザ関連情報を上記クライアント装置に提供することとを含む情報処理方法が提供される。
【００１０】
また、本開示によれば、サービスにアクセスするクライアント装置からの要求に応じて、上記サービスで用いられるユーザ関連情報を取得する機能と、上記クライアント装置に上記ユーザ関連情報を提供する機能とをコンピュータに実現させるためのプログラムが提供される。
【００１１】
このように、クライアント装置がサービスにアクセスするときに、端末装置が取得するユーザ関連情報を当該端末装置への要求によって利用することができれば、クライアント装置でユーザ関連情報を入力したり保持したりしなくてよいため、ユーザの利便性が向上する。
【発明の効果】
【００１２】
以上説明したように本開示によれば、ユーザがネットワークを介して提供されるサービスを利用する際の利便性を向上させることができる。
【図面の簡単な説明】
【００１３】
【図１】本開示の一実施形態に係るシステム構成を概略的に示す図である。
【図２】本開示の一実施形態におけるデータストアの利用について説明するための図である。
【図３】本開示の一実施形態における機能構成を概略的に示す図である。
【図４】本開示の一実施形態における事前処理の処理フローを示す図である。
【図５】本開示の一実施形態におけるＩＤ提供処理の処理フローを示す図である。
【図６】本開示の一実施形態におけるトークン提供処理の処理フローを示す図である。
【図７】本開示の一実施形態において端末装置がオンラインの場合の利用形態の例を示す図である。
【図８】本開示の一実施形態において端末装置がオフラインの場合の利用形態の例を示す図である。
【図９】本開示の一実施形態に係る端末装置におけるデータフローの一例を示す図である。
【図１０】本開示の一実施形態に係るクライアント装置におけるデータフローの一例を示す図である。
【図１１】本開示の一実施形態に係るサーバにおけるデータフローの一例を示す図である。
【図１２】本開示の一実施形態に係るデータストアにおけるデータフローの一例を示す図である。
【図１３】情報処理装置のハードウェア構成を説明するためのブロック図である。
【発明を実施するための形態】
【００１４】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書および図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１５】
なお、説明は以下の順序で行うものとする。
１．はじめに
２．システム構成
３．機能構成
４．処理フローの例
４−１．事前処理
４−２．クライアント装置にＩＤを提供する場合
４−３．クライアント装置にトークンを提供する場合
５．利用形態の例
５−１．端末装置がオンラインの場合
５−２．端末装置がオフラインの場合
６．データフロー
７．一実施形態のまとめ
８．ハードウェア構成
９．補足
【００１６】
（１．はじめに）
ユーザが複数のサービスを利用する際に、サービスごとに異なるＩＤやパスワードを入力したり、サービスごとにそれぞれ個人情報を送信したりする必要が生じることについては既に述べた。このような入力のための操作は、ユーザに煩雑さを感じさせる場合があった。
【００１７】
そこで考えられるのが、ユーザの個人情報を包括的に管理するサービス（以下、サービスＳとする）の提供である。例えば、サービスＳを利用するユーザは、利用登録をしている任意のサービスのＩＤおよびパスワードを用いてサービスＳにアクセスすることが可能である。ユーザがサービスＳを介して他のサービスを利用する場合、サービスＳがＩＤおよびパスワードを保管しているため、ユーザはサービスごとに異なるＩＤやパスワードを入力しなくてもよい。
【００１８】
しかしながら、このようなサービスＳの実現には困難もある。例えば、サービスＳを提供するサーバから、不正アクセスなどによって情報が漏洩した場合、様々なサービスのＩＤやパスワードが一度に漏洩してしまうことになる。また、他のサービスのそれぞれが、サービスＳにアクセスすることを可能にするＩＤやパスワードを保持していることになるため、これらの他のサービスを介してサービスＳが不正アクセスを受ける可能性もある。
【００１９】
また、仮に、サービスＳのセキュリティが完全なものであったとしても、自らの個人情報がサーバで管理されているという状態は、少なくとも一部のユーザにとっては好ましいものではない可能性がある。
【００２０】
そこで、本開示では、このような技術をさらに改善し、テクノロジーとしての安全性と、ユーザに感じられる安心感とを両立させることが可能な技術を提案する。
【００２１】
（２．システム構成）
まず、図１を参照して、本開示の一実施形態に係るシステム構成について説明する。図１は、本開示の一実施形態に係るシステム構成を概略的に示す図である。
【００２２】
システム１０は、端末装置１００と、クライアント装置２００と、サーバ３００と、データストア４００とを含む。
【００２３】
システム１０は、クライアント装置２００が、ユーザＵのＩＤおよびパスワード（ユーザ関連情報）を用いて外部サービスにアクセスするために用いられうる。なお、以下の説明では、システム１０自体によって提供されるサービスと区別するために、クライアント装置２００がアクセスするサービスを外部サービスと称する。外部サービスは、例えばＳＮＳ（Social  Networking  Service）、画像共有サービス、ブログ、オンラインストレージサービスなどでありうる。
【００２４】
外部サービスにアクセスしようとするクライアント装置２００（利用者）は、端末装置１００（認証局）にＩＤおよびパスワードの情報を要求する（ＩＤ要求）。要求を受けた端末装置１００は、ユーザＵに対して要求を受けたことを通知する。ユーザＵは、クライアント装置２００による外部サービスへのアクセスを認める場合は、この通知に対して許可を与える。
【００２５】
許可を受けた端末装置１００は、データストア４００に分散して格納されたＩＤおよびパスワードの情報を結合する。さらに、端末装置１００は、結合された情報をクライアント装置２００に提供する（ＩＤ提供）。これによって、クライアント装置２００は、ＩＤおよびパスワードを用いて外部サービスにアクセスすることが可能になる。
【００２６】
一方、サーバ３００は、上記のＩＤおよびパスワードのやりとりに直接的には関与しない。サーバ３００は、端末装置１００や、クライアント装置２００、データストア４００を管理する。ここでいう管理とは、それぞれの装置の存在の把握や、装置間のセキュアな通信経路の確立などを含みうる。
【００２７】
つまり、システム１０では、端末装置１００がＩＤおよびパスワードを直接的に管理することで、サーバ３００が不正にアクセスされた場合にもＩＤおよびパスワードの情報が漏洩することが防止される。また、ユーザＵの意に反してクライアント装置２００が外部サービスにアクセスしようとした場合にも、端末装置１００からの通知によってユーザＵがこれを認知し、許可を与えないことによってアクセスを阻止することが可能である。
【００２８】
なお、ＩＤやパスワードの情報は、端末装置１００の内部に格納されてもよいが、データストア４００に分散して格納することによって、安全性をより高めることができる。本実施形態では、端末装置１００が、取得した外部サービスのＩＤおよびパスワードを分割し、データストア４００に分散させて格納する。かかるデータストア４００の利用について、続いて図２を参照してさらに説明する。
【００２９】
（データストアの構成例）
図２は、本開示の一実施形態におけるデータストアの利用について説明するための図である。まず、ＩＤが、端末装置１００に入力される。ここでいう入力は、例えばユーザＵによる直接的な入力であってもよいし、外部サービスから発行されたＩＤなどの情報を端末装置１００が受信することによる入力であってもよい。なお、以下の説明では、ＩＤおよびパスワードを、簡単のために一括してＩＤと称する場合がある。
【００３０】
端末装置１００は、入力されたＩＤを分割し、Ｓ＿ＩＤ（分割されたＩＤ）にする。さらに、端末装置１００は、Ｓ＿ＩＤをデータストア４００として機能する各ノード４１０に配置する。端末装置１００は、この配置をサーバ３００に依頼して実行してもよい。サーバ３００は、各ノード４１０にそれぞれＳ＿ＩＤの一部を配布する。なお、この際も、Ｓ＿ＩＤは、例えば配布先のノード４１０の公開鍵を用いて暗号化されており、サーバ３００でＳ＿ＩＤが結合されてＩＤが取得されることはない。
【００３１】
ここで、ノード４１０は、ＩＤの一部を格納するための様々な手段である。本実施形態において、データストア４００は複数のノード４１０を含む。仮に一部のノード４１０が不正アクセスされたとしても、アクセス者はＳ＿ＩＤの一部を取得するにすぎず、取得された情報は用をなさない。以下に、ノード４１０の例を示す。ノード４１０は、以下の例のいずれか、またはすべてを含んでもよい。
【００３２】
・各装置が有する記憶部
装置は、モバイル装置や据え置き装置など、どのようなものであってもよい。例えば、端末装置１００やクライアント装置２００、サーバ３００も、ノード４１０として機能しうる。ノード４１０として機能する各装置の記憶部には、Ｓ＿ＩＤの一部が格納される。
【００３３】
・外部サービス
Ｓ＿ＩＤの一部は、例えばシステム１０に含まれない、外部サービスのサーバに格納される。
【００３４】
・ＩＣ（Integrated  Circuit）カード
Ｓ＿ＩＤの一部は、例えばユーザＵが所有するＩＣカードに書き込まれる。Ｓ＿ＩＤを結合させてＩＤを得るときには、このＩＣカードからＳ＿ＩＤの一部を読み取る。あるいは、所定のＩＣカードから情報が読み取られることを、Ｓ＿ＩＤを結合するための条件にしてもよい。
【００３５】
・ユーザの挙動
Ｓ＿ＩＤの一部は、例えばユーザＵの何らかの挙動に対応付けられてもよい。例えば、Ｓ＿ＩＤの一部は、ユーザＵによって入力されるＰＩＮ（Personal  Identification  Number）コードなどに置き換えられてもよい。また、Ｓ＿ＩＤの一部は、ユーザＵの位置情報や振る舞い（例えば、所定の位置で立つ／座る、など）に置き換えられてもよい。この場合、例えば、ユーザＵの位置情報や振る舞いをセンシングした結果からＳ＿ＩＤの一部を抽出する。あるいは、ユーザＵの生体情報の入力を、Ｓ＿ＩＤを結合するための条件にしてもよい。
【００３６】
なお、データストア４００で、Ｓ＿ＩＤの分散レベル、すなわちＩＤをどの程度細かく分割してＳ＿ＩＤにするかは、ユーザＵの設定に基づいて決定されうる。例えば、ＩＤを細かく分割してＳ＿ＩＤにすれば、Ｓ＿ＩＤの一部が何らかの要因で他人に取得されたとしても、その他人がそこからＩＤを得られる可能性がより低くなる。その一方で、細かく分割されたＳ＿ＩＤが多くのノード４１０に分散して格納されていると、何らかの要因で一部のノード４１０からＳ＿ＩＤが取得されなかった場合に、Ｓ＿ＩＤを結合させてＩＤを取得することが困難になる。
【００３７】
また、データストア４００で、Ｓ＿ＩＤの配置の多重度、すなわちＳ＿ＩＤをどのように各ノード４１０に格納するかも、ユーザＵの設定に基づいて決定されうる。例えば、Ｓ＿ＩＤの配置の多重度を高くし、いくつかのノード４１０に同じＳ＿ＩＤを格納すれば、何らかの要因で一部のノード４１０からＳ＿ＩＤが取得されなかったとしても、Ｓ＿ＩＤを結合させてＩＤを取得することが可能である。その一方で、Ｓ＿ＩＤの配置の多重度が高いと、ＩＤを取得するためにアクセスすべきノード４１０の数が少なくなるため、多重度が低い場合に比べれば他人がＩＤの不正な取得に成功する可能性は高くなる。
【００３８】
サーバ３００は、ノード４１０を管理し、例えば上記のようにＳ＿ＩＤの分散レベルや配置の多重度をユーザＵが設定するにあたり、どのような設定が可能であるかの情報を、端末装置１００を介してユーザＵに提供してもよい。また、サーバ３００は、管理しているノード４１０の情報をユーザＵに提示し、どのノード４１０を利用するかの設定を可能にしてもよい。
【００３９】
（３．機能構成）
次に、図３を参照して、本開示の一実施形態における機能構成について説明する。図３は、本開示の一実施形態における機能構成を概略的に示す図である。
【００４０】
（端末装置）
端末装置１００は、ＩＤコントローラ１１０と、ＩＤサーバ１２０と、キーストア１３０と、データストアマネージャ１４０とを含む。ＩＤコントローラ１１０は、認可／認証ＵＩ（User  Interface）１１２と、プラグイン認証ロジック１１４とを含む。なお、これらの機能構成は、例えば、後述するような情報処理装置のハードウェア構成を用いて実現される。
【００４１】
端末装置１００は、例えばＰＣ（Personal  Computer）またはスマートフォンなどの、ユーザＵによって携帯される各種の装置でありうる。なお、端末装置１００は、以下で説明する機能以外にも、例えば通常のＰＣやスマートフォンとしての機能構成（図示せず）を有しうる。
【００４２】
認可／認証ＵＩ１１２は、クライアント装置２００からＩＤ利用要求を受けたことをユーザＵに対して通知し、当該通知によって示されるＩＤの提供に対するユーザＵの許可を取得する。認可／認証ＵＩ１１２は、ウェブブラウザと連携したＵＩとして提供されてもよい。
【００４３】
プラグイン認証ロジック１１４は、クライアント装置２００を介して利用される外部サービスのそれぞれの認証プロトコルに対応した認証ロジックである。プラグイン認証ロジック１１４は、各外部サービスで用いられるＩＤを取得することが可能である。本実施形態において、プラグイン認証ロジック１１４は、クライアント装置２００からのＩＤ要求に応じて、データストアマネージャ１４０を介してデータストア４００からＩＤを取得し、ＩＤサーバ１２０を介してＩＤをクライアント装置２００に提供する。この過程で、プラグイン認証ロジック１１４は、認可／認証ＵＩ１１２を介してＩＤの提供に対するユーザＵの許可を取得する。
【００４４】
あるいは、プラグイン認証ロジック１１４は、自らＩＤを用いて外部サービスにアクセスし、外部サービスを利用するためのトークンを取得してもよい。取得されたトークンは、ＩＤサーバ１２０を介してクライアント装置２００に提供される。本実施形態において、トークンは、所定の期間の外部サービスへのアクセスを可能にする。かかるトークンを取得してクライアント装置２００に提供することで、例えば、ＩＤを直接クライアント装置２００に提供しなくてもよくなり、ＩＤを利用する際の安全性がさらに向上する。また、トークンの有効期間中は、例えば端末装置１００がオフラインであるような場合にも、クライアント装置２００で外部サービスへのアクセスが可能になる。
【００４５】
ＩＤサーバ１２０は、クライアント装置２００からのＩＤ要求に応じて、クライアント装置２００に適切なＩＤを提供する。ＩＤサーバ１２０は、受信されたＩＤ要求に従って、プラグイン認証ロジック１１４にＩＤの取得を依頼する。認可／認証ＵＩによってユーザＵの許可が得られた場合、プラグイン認証ロジック１１４からＩＤが提供され、ＩＤサーバ１２０はこれをクライアント装置２００に提供する。
【００４６】
キーストア１３０は、端末装置１００で使用される暗号の鍵を保持する。後述するように公開鍵暗号方式が用いられる本実施形態において、キーストア１３０は、各クライアント装置２００の公開鍵と、端末装置１００自身の秘密鍵とを保持する。ＩＤサーバ１２０は、キーストア１３０が保持するクライアント装置２００の公開鍵を用いて暗号化されたＩＤをクライアント装置２００に向けて送信する。また、ＩＤサーバ１２０は、クライアント装置２００が保持する端末装置１００の公開鍵を用いて暗号化されたＩＤ要求を、キーストア１３０が保持する端末装置１００自身の秘密鍵を用いて復号化する。
【００４７】
データストアマネージャ１４０は、データストア４００に分散して格納されるＩＤを管理する。例えば、データストアマネージャ１４０は、ＩＤを分割してＳ＿ＩＤにし、データストア４００のノード４１０に配置する。また、データストアマネージャ１４０は、データストア４００のノード４１０に分散されたＳ＿ＩＤを結合させてＩＤを取得し、プラグイン認証ロジック１１４に提供する。データストアマネージャ１４０は、サーバ３００から提供されるデータストア４００およびノード４１０の情報に従ってＩＤを管理してもよい。
【００４８】
（クライアント装置）
クライアント装置２００は、ＩＤクライアント２１０と、キーストア２２０とを含む。なお、これらの機能構成は、例えば、後述するような情報処理装置のハードウェア構成を用いて実現される。
【００４９】
クライアント装置２００は、例えばＰＣ、カメラ、またはテレビなど、ネットワーク上のサービスを利用しうる各種の装置である。なお、クライアント装置２００は、サービスを利用する機能（例えば、表示や撮像などに関する機能）のための通常の構成（図示せず）を有しうる。
【００５０】
ＩＤクライアント２１０は、クライアント装置２００が外部サービスを利用しようとするときに、ＩＤの取得要求、または代理認証要求を端末装置１００に送信する。ＩＤクライアント２１０は、例えばサーバ３００から提供された情報に従って、端末装置１００に向けて要求を送信する。
【００５１】
キーストア２２０は、クライアント装置２００で使用される暗号の鍵を保持する。後述するように公開鍵暗号方式が用いられる本実施形態において、キーストア２２０は、端末装置１００の公開鍵と、クライアント装置２００自身の秘密鍵とを保持する。ＩＤクライアント２１０は、キーストア２２０が保持する端末装置１００の公開鍵を用いて暗号化されたＩＤ要求を端末装置１００に向けて送信する。また、ＩＤクライアント２１０は、端末装置１００が保持するクライアント装置２００の公開鍵を用いて暗号化されたＩＤを、キーストア２２０が保持するクライアント装置２００自身の秘密鍵を用いて復号化する。
【００５２】
（サーバ）
サーバ３００は、キープロバイダ３１０と、キーストア３２０とを含む。なお、これらの機能構成は、例えば、後述するような情報処理装置のハードウェア構成を用いて実現される。
【００５３】
サーバ３００の機能は、ネットワーク上にある単一の装置によって提供されてもよく、また複数の装置を協働させることによって提供されてもよい。サーバ３００は、必ずしも、以下で説明する機能だけを提供するものでなくてもよい。つまり、サーバ３００は、あるサービスの一機能として、以下で説明する機能を提供するものであってもよい。
【００５４】
キープロバイダ３１０は、端末装置１００およびクライアント装置２００で使用される暗号の鍵を保持する。後述するように公開鍵暗号方式が用いられる本実施形態において、キープロバイダ３１０は、端末装置１００の秘密鍵ならびに公開鍵のペア、およびクライアント装置２００の秘密鍵ならびに公開鍵のペアを生成する。キープロバイダ３１０は、生成された暗号の鍵を、端末装置１００およびクライアント装置２００にそれぞれ提供する。具体的には、端末装置１００には端末装置１００の秘密鍵とクライアント装置２００の公開鍵とが、クライアント装置２００にはクライアント装置２００の秘密鍵と端末装置１００の公開鍵とが、それぞれ提供される。
【００５５】
ここで、キープロバイダ３１０は、生成した鍵のうち、端末装置１００およびクライアント装置２００の秘密鍵を、それぞれの装置に提供した後に破棄する。これによって、サーバ３００では、端末装置１００とクライアント装置２００との間でやりとりされるＩＤ要求やＩＤの内容が読み取られない。従って、仮にサーバ３００が不正アクセスを受けたとしても、ＩＤ要求やＩＤの内容が第三者に知られない。
【００５６】
一方、キープロバイダ３１０は、生成した鍵のうち、端末装置１００およびクライアント装置２００の公開鍵を、キーストア３２０に保管してもよい。このようにすることには、いくつかの利点がある。
【００５７】
例えば、付加的な構成として、クライアント装置２００から送信されるＩＤ要求を端末装置１００の公開鍵で暗号化し、これを端末装置１００で秘密鍵を用いて復号化してもよい。この場合、クライアント装置２００からどのようなＩＤ要求が送信されたかが、サーバ３００で読み取られることがない。また、端末装置１００から送信される、クライアント装置２００の公開鍵で暗号化されたＩＤを、さらに端末装置１００の秘密鍵でも暗号化し、これをサーバ３００に保管された公開鍵を用いて復号化してもよい。この場合、ＩＤを送信した端末装置１００が偽装されていないかを判別することが可能である。
【００５８】
また、例えば、新たにクライアント装置２００が追加された場合、サーバ３００に端末装置１００の公開鍵が保管されていれば、例えば、端末装置１００がオフラインであるような場合にも、新たなクライアント装置２００に端末装置１００の公開鍵を提供することが可能である。逆に、端末装置１００を追加または交換した場合、サーバ３００に各クライアント装置２００の公開鍵が保管されていれば、各クライアント装置２００に問い合わせをしなくても、新たな端末装置１００にクライアント装置２００の公開鍵を提供することが可能である。
【００５９】
（データストア）
データストア４００は、ＩＤディストリビュータ４２０と、セキュリティマネージャ４３０とを含む。ノード４１０が装置の記憶部または外部サービスなどである場合、これらの機能構成は、例えば、後述するような情報処理装置のハードウェア構成を用いて実現される。あるいは、ノード４１０がＩＣカードまたはユーザの挙動などである場合、これらの機能構成は、例えば、ＩＣカードと通信したり、ユーザの挙動をセンシングしたりする装置において、後述するような情報処理装置のハードウェア構成を用いて実現される。
【００６０】
ＩＤディストリビュータ４２０は、端末装置１００のデータストアマネージャ１４０の指示に従って、分割されたＩＤ（Ｓ＿ＩＤ）を分散して格納する。例えばＳ＿ＩＤを装置の記憶部に格納する場合、ＩＤディストリビュータ４２０は、データストアマネージャ１４０から配置を依頼されたＳ＿ＩＤを記憶部に格納し、データストアマネージャ１４０からの要求に応じてこれを読み出す。また、例えばＳ＿ＩＤをＩＣカードやユーザの挙動によって格納する場合、ＩＤディストリビュータ４２０は、データストアマネージャ１４０から配置を依頼されたＳ＿ＩＤをＩＣカードに書き込んだり、ユーザの挙動に置き換えたりする。また、この場合、ＩＤディストリビュータ４２０は、データストアマネージャ１４０からの要求に応じて、ＩＣカードからの情報の読み取りをユーザに要求したり、何らかの挙動を実行することをユーザに要求したりする。
【００６１】
セキュリティマネージャ４３０は、データストア４００に含まれるノード４１０のそれぞれについて適切な処理によって、格納されるＳ＿ＩＤのセキュリティを確保する。例えばＳ＿ＩＤを装置の記憶部に格納する場合、セキュリティマネージャ４３０は、Ｓ＿ＩＤを暗号化された状態で記憶部に格納する。また、例えばＳ＿ＩＤをＩＣカードやユーザの挙動によって格納する場合、セキュリティマネージャ４３０は、Ｓ＿ＩＤを暗号化された状態でＩＣカードに書き込んだり、容易に推定されない仕方でユーザの挙動に置き換えたりする。
【００６２】
（４．処理フローの例）
次に、図４〜図６を参照して、本開示の一実施形態における処理フローの例について説明する。なお、各処理は、必ずしも以下で説明する通りの順番で実行されなくてもよく、その少なくとも一部が並行して、または異なる順序で実行されてもよい。
【００６３】
（４−１．事前処理）
図４は、本開示の一実施形態における事前処理の処理フローを示す図である。事前処理では、端末装置１００とクライアント装置２００とが、それぞれサーバ３００に登録される。また、端末装置１００において、ユーザＵによってＩＤが登録される。
【００６４】
（端末装置の登録処理）
まず、端末装置１００の登録処理（ステップＳ１０１〜Ｓ１０７）について説明する。端末装置１００は、サーバ３００に対して、登録依頼を送信する（ステップＳ１０１）。これは、端末装置１００をシステム１０におけるＩＤの認証局として登録することの依頼ともいえる。この依頼に応じて、サーバ３００は、端末装置１００を認証局として登録する。ここで、サーバ３００は、例えば端末装置１００との間のセキュアな通信経路の情報を登録してもよい。
【００６５】
さらに、サーバ３００は、認証局用の暗号化鍵のペア（秘密鍵Ｋ１１、公開鍵Ｋ１２）を発行する（ステップＳ１０２）。サーバ３００は、発行した鍵のペアのうち、公開鍵Ｋ１２を保存する（ステップＳ１０３）。一方で、サーバ３００は、秘密鍵Ｋ１１を端末装置１００に送信して保存を依頼し（ステップＳ１０４）、その後秘密鍵Ｋ１１を破棄する。また、サーバ３００は、公開鍵Ｋ１２をクライアント装置２００（後述する処理によって既に登録されている）に送信して保存を依頼する（ステップＳ１０５）。
【００６６】
サーバ３００から秘密鍵Ｋ１１を受信した端末装置１００は、秘密鍵Ｋ１１を保存する（ステップＳ１０６）。また、サーバ３００から公開鍵Ｋ１２を受信したクライアント装置２００も、公開鍵Ｋ１２を保存する（ステップＳ１０７）。なお、クライアント装置２００が端末装置１００よりも後に登録される場合、ステップＳ１０５およびステップＳ１０７の各処理は、クライアント装置２００の登録後に実行される。上述のように、サーバ３００には公開鍵Ｋ１２が保存されているため、クライアント装置２００が後から登録された場合でも容易に公開鍵Ｋ１２を配布することができる。以上で、端末装置１００の登録処理が終了する。
【００６７】
（クライアント装置の登録処理）
続いて、クライアント装置２００の登録処理（ステップＳ２０１〜Ｓ２０７）について説明する。クライアント装置２００は、サーバ３００に対して、登録依頼を送信する（ステップＳ２０１）。これは、クライアント装置２００をシステム１０におけるＩＤの利用者として登録することの依頼ともいえる。この依頼に応じて、サーバ３００は、クライアント装置２００を利用者として登録する。ここで、サーバ３００は、例えば、クライアント装置２００との間のセキュアな通信経路の情報を登録してもよい。
【００６８】
さらに、サーバ３００は、利用者用の暗号化鍵のペア（秘密鍵Ｋ２１、公開鍵Ｋ２２）を発行する（ステップＳ２０２）。サーバ３００は、発行した鍵のペアのうち、公開鍵Ｋ２２を保存する（ステップＳ２０３）。一方で、サーバ３００は、秘密鍵Ｋ２１をクライアント装置２００に送信して保存を依頼し（ステップＳ２０４）、その後秘密鍵Ｋ２１を破棄する。また、サーバ３００は、公開鍵Ｋ２２を端末装置１００（上述した処理によって既に登録されている）に送信して保存を依頼する（ステップＳ２０５）。
【００６９】
サーバ３００から秘密鍵Ｋ２１を受信したクライアント装置２００は、秘密鍵Ｋ２１を保存する（ステップＳ２０６）。また、サーバ３００から公開鍵Ｋ２２を受信した端末装置１００も、公開鍵Ｋ２２を保存する（ステップＳ２０７）。なお、端末装置１００がクライアント装置２００よりも後に登録される場合、ステップＳ２０５およびステップＳ２０７の各処理は、端末装置１００の登録後に実行される。上述のように、サーバ３００には公開鍵Ｋ２２が保存されているため、端末装置１００が後から登録された場合でも容易に公開鍵Ｋ２２を配布することができる。以上で、クライアント装置２００の登録処理が終了する。
【００７０】
（ＩＤの登録処理）
最後に、端末装置１００でのＩＤの登録処理（ステップＳ３０１，Ｓ３０２）について説明する。上述のように、ＩＤは、ＩＤおよびパスワードを含みうる。ＩＤは、クライアント装置２００がアクセスする外部サービスにおいてユーザＵを認証するために用いられる認証情報といってもよい。ＩＤは、ユーザＵの入力によって、端末装置１００に入力される（ステップＳ３０１）。ここでいう入力は、例えばユーザＵによる直接的な入力であってもよいし、外部サービスから発行されたＩＤなどの情報を端末装置１００が受信することによる入力であってもよい。
【００７１】
次に、端末装置１００で、ＩＤが保存される（ステップＳ３０２）。ここでいうＩＤの保存は、例えば、この図には示されていないデータストア４００に、分割されたＩＤ（Ｓ＿ＩＤ）を暗号化して分散させて格納することであってもよい。以上で、ＩＤの登録処理は終了する。なお、ここで説明されたように、登録されたＩＤは、事前処理の段階ではサーバ３００にもクライアント装置２００にも送信されない。従って、ＩＤの登録は、例えば端末装置１００がサーバ３００に認証局として登録される前後を問わず（もちろん、クライアント装置２００がサーバ３００に利用者として登録される前後をも問わず）、任意のタイミングで実行されうる。
【００７２】
（４−２．クライアント装置にＩＤを提供する場合）
図５は、本開示の一実施形態におけるＩＤ提供処理の処理フローを示す図である。ＩＤ提供処理では、クライアント装置２００が外部サービス５００を利用するためのＩＤの提供を端末装置１００に対して要求し、端末装置１００がユーザＵの許可を得てＩＤをクライアント装置２００に提供する。
【００７３】
まず、クライアント装置２００は、サーバ３００に対して、ＩＤ利用要求を送信する（ステップＳ４０１）。サーバ３００は、ＩＤ利用要求を端末装置１００に転送する（ステップＳ４０２）。なお、このＩＤ利用要求は、平文で送信されてもよいし、任意の形式で暗号化されていてもよい。例えば、クライアント装置２００は、保持している公開鍵Ｋ１２を用いてＩＤ利用要求を暗号化してサーバ３００に送信してもよい。この場合、ＩＤ利用要求は、端末装置１００が保持している、公開鍵Ｋ１２に対応する秘密鍵Ｋ１１を用いて復号化される。
【００７４】
ＩＤ利用要求を受信した端末装置１００は、ユーザＵに対して、ＩＤ利用要求の通知を出力する（ステップＳ４０３）。ユーザＵは、この通知を確認し、ＩＤの利用を認める場合は、ＩＤ利用の許可を入力する（ステップＳ４０４）。ＩＤ利用が許可されると、端末装置１００は、ＩＤを公開鍵Ｋ２２（クライアント装置２００が保持する秘密鍵Ｋ２１に対応）で暗号化する（ステップＳ４０５）。端末装置１００は、公開鍵Ｋ２２で暗号化されたＩＤを、さらに自らの秘密鍵Ｋ１１を用いて暗号化してもよい（ステップＳ４０６）。なお、暗号化されたＩＤを、以下ではＥ＿ＩＤとも表記する。
【００７５】
端末装置１００は、Ｅ＿ＩＤを、サーバ３００に送信する（ステップＳ４０７）。Ｅ＿ＩＤが秘密鍵Ｋ１１を用いて暗号化されている場合、サーバ３００は、Ｅ＿ＩＤを公開鍵Ｋ１２（秘密鍵Ｋ１１に対応）で復号化する（ステップＳ４０８）。ただし、サーバ３００は、公開鍵Ｋ２２に対応する秘密鍵Ｋ２１を生成後に破棄しているため、Ｅ＿ＩＤを完全に復号化してＩＤを取得することはない。なお、本実施形態では、クライアント装置２００も公開鍵Ｋ１２を保持しているため、公開鍵Ｋ１２を用いた復号化はクライアント装置２００で実行されてもよい。
【００７６】
Ｅ＿ＩＤは、少なくとも公開鍵Ｋ２２によって暗号化された状態で、クライアント装置２００に送信される（ステップＳ４０９）。クライアント装置２００は、Ｅ＿ＩＤを自らの秘密鍵Ｋ２１を用いて復号化し、ＩＤを取得する（ステップＳ４１０）。このＩＤを用いて、クライアント装置２００は、外部サービス５００にアクセスする（ステップＳ４１１）。
【００７７】
（４−３．クライアント装置にトークンを提供する場合）
図６は、本開示の一実施形態におけるトークン提供処理の処理フローを示す図である。トークン提供処理では、外部サービス５００を利用するためのトークンを、端末装置１００がクライアント装置２００に代わって取得する。取得されたトークンはクライアント装置２００に提供されて保持され、所定の期間の外部サービス５００へのアクセスを可能にする。
まず、クライアント装置２００は、サーバ３００に対して、トークン取得要求を送信する（ステップＳ５０１）。サーバ３００は、トークン取得要求を端末装置１００に転送する（ステップＳ５０２）。なお、トークン取得要求も、上記の例のＩＤ利用要求と同様に、平文で送信されてもよいし、任意の形式で暗号化されていてもよい。
【００７８】
トークン取得要求を受信した端末装置１００は、ユーザＵに対して、ＩＤ利用要求の通知を出力する（ステップＳ５０３）。ユーザＵは、この通知を確認し、ＩＤの利用（トークンの取得）を認める場合は、ＩＤ利用の許可を入力する（ステップＳ５０４）。ＩＤ利用が許可されると、端末装置１００は、保持しているＩＤを用いて外部サービス５００にアクセスし（ステップＳ５０５）、トークンＴＫを取得する（ステップＳ５０６）。ステップＳ５０５，Ｓ５０６におけるトークンＴＫの取得処理は、例えば外部サービス５００が通常提供しているトークンＴＫの取得処理と同様でありうる。
【００７９】
トークンＴＫを取得した端末装置１００は、トークンＴＫを公開鍵Ｋ２２（クライアント装置２００が保持する秘密鍵Ｋ２１に対応）で暗号化する（ステップＳ５０７）。端末装置１００は、公開鍵Ｋ２２で暗号化されたトークンＴＫを、さらに自らの秘密鍵Ｋ１１を用いて暗号化してもよい（ステップＳ５０８）。なお、暗号化されたトークンを、以下ではＥ＿ＴＫとも表記する。
【００８０】
端末装置１００は、Ｅ＿ＴＫを、サーバ３００に送信する（ステップＳ５０９）。Ｅ＿ＴＫが秘密鍵Ｋ１１を用いて暗号化されている場合、サーバ３００は、Ｅ＿ＴＫを公開鍵Ｋ１２（秘密鍵Ｋ１１に対応）で復号化する（ステップＳ５１０）。ただし、サーバ３００は、公開鍵Ｋ２２に対応する秘密鍵Ｋ２１を生成後に破棄しているため、Ｅ＿ＴＫを完全に復号化してトークンＴＫを取得することはない。なお、クライアント装置２００も公開鍵Ｋ１２を保持しているため、公開鍵Ｋ１２を用いた復号化はクライアント装置２００で実行されてもよい。
【００８１】
Ｅ＿ＴＫは、少なくとも公開鍵Ｋ２２によって暗号化された状態で、クライアント装置２００に送信される（ステップＳ５１１）。クライアント装置２００は、Ｅ＿ＴＫを自らの秘密鍵Ｋ２１を用いて復号化し、トークンＴＫを取得する（ステップＳ５１２）。このトークンＴＫを用いて、クライアント装置２００は、外部サービス５００にアクセスする（ステップＳ５１３）。
【００８２】
（５．利用形態の例）
次に、図７および図８を参照して、本開示の一実施形態の利用形態の例について説明する。
【００８３】
（５−１．端末装置がオンラインの場合）
図７は、本開示の一実施形態において端末装置がオンラインの場合の利用形態の例を示す図である。この場合、クライアント装置２００は、サーバ３００を介して、端末装置１００にＩＤ利用要求、またはトークン取得要求を送信する。端末装置１００は、同様にサーバ３００を介して、クライアント装置２００にＩＤまたはトークンを提供する。
【００８４】
図示された例において、クライアント装置２００を利用するユーザ（ユーザＵであってもよいし、他のユーザであってもよい）は、ＵＩを介して、ＩＤおよびパスワードを入力し、利用する外部サービスを選択する。このように、クライアント装置２００は、異なる種類の複数の外部サービスを利用可能であってもよい。ここで入力されるＩＤおよびパスワードによって、端末装置１００がクライアント装置２００を認証する。ＩＤおよびパスワードは、例えば、ユーザＵが利用するいずれかの外部サービスのＩＤおよびパスワードであってもよく、また本実施形態に係るサービスを利用するために用意されるＩＤおよびパスワードであってもよい。後者の場合、ＩＤおよびパスワードは、クライアント装置２００ごとに用意されていてもよい。
【００８５】
一方、クライアント装置２００からのＩＤ利用要求またはトークン取得要求を受けた端末装置１００では、ＩＤ利用要求の通知として、クライアント装置２００の名称（Ｃｌｉｅｎｔ  Ａ）、および利用される外部サービスの名称（Ｓｅｒｖｉｃｅ  Ａ）を含むＵＩが表示される。これに対して、ユーザＵは、許可（ＯＫ）、不許可（ＮＧ）の他に、所定期間の許可（しばらくＯＫ）を選択することが可能であってもよい。この場合、「所定期間の許可」は、今回のＩＤ利用要求に限らず、所定の回数、または所定の期間の間、クライアント装置２００からのＩＤ利用要求またはトークン取得要求に対して許可を与えることを意味しうる。一方、「許可」は、クライアント装置２００からの今回のＩＤ利用要求またはトークン取得要求に対してのみ許可を与えることを意味しうる。
【００８６】
（５−２．端末装置がオフラインの場合）
図８は、本開示の一実施形態において端末装置がオフラインの場合の利用形態の例を示す図である。この場合、クライアント装置２００は、サーバ３００とは通信可能であるものの、端末装置１００にＩＤ利用要求やトークン取得要求を送信することができない。
【００８７】
しかし、このような場合も、例えば上記のトークン提供処理のような処理によって、外部サービスを利用するためのトークンや、トークンに相当する認証結果の情報がサーバ３００またはクライアント装置２００に保持されていれば、トークンや認証結果の有効期間の間は、クライアント装置２００が外部サービスにアクセスすることが可能である。この場合、クライアント装置２００では、上記の端末装置１００がオンラインの場合と同様のＵＩが提示されてもよい。これによって、トークンや認証結果の有効期間内であるために外部サービスを利用可能である間、クライアント装置２００のユーザは端末装置１００のオンライン状態を気にすることなく外部サービスを利用することができる。
【００８８】
（６．データフロー）
次に、図９〜図１２を参照して、本開示の一実施形態におけるデータフローの一例について説明する。
【００８９】
（端末装置）
図９は、本開示の一実施形態に係る端末装置におけるデータフローの一例を示す図である。図示された例では、端末装置１００にクライアント装置２００から暗号化されたＩＤ（Encrypted  ID）が提供され、復号化されている（１５１）。このように、端末装置１００へのＩＤの入力は、クライアント装置２００が取得したＩＤを端末装置１００が受信することによって実行されてもよい。ここでクライアント装置２００から提供されるＩＤは、例えばクライアント装置２００が保持している公開鍵Ｋ１２（端末装置１００が保持する秘密鍵Ｋ１１に対応）で暗号化されていてもよい。この場合、端末装置１００は、暗号化されたＩＤを自らの秘密鍵Ｋ１１を用いて復号化し（１５１）、ＩＤを取得する。
【００９０】
端末装置１００は、取得および復号化されたＩＤを分割し（１５２）、分割されたＩＤ（Segmented  IDs）を暗号化してデータストア４００に配置する（１５３）。このとき、付加的に、ユーザＵによるパスワードの入力が必要とされてもよい（１６０）。
【００９１】
一方、クライアント装置２００からＩＤ利用要求を受けた場合、端末装置１００は、データストア４００に配置されたデータを収集および復号化し（１５４）、分割されたＩＤ（Segmented  IDs）を取得する。さらに、端末装置１００は、分割されたＩＤを結合し（１５５）、ＩＤを取得する。このときにも、付加的に、ユーザＵによるパスワードの入力が必要とされてもよい（１６０）。端末装置１００は、このＩＤを公開鍵Ｋ２２を用いて暗号化し（１５６）、クライアント装置２００に提供する。
【００９２】
上記のデータフローにおいて、クライアント装置２００から取得したデータの復号化に用いられる秘密鍵Ｋ１１、およびクライアント装置２００に提供するデータの暗号化に用いられる公開鍵Ｋ２２は、サーバ３００から提供されてキーストア１３０に保存される。さらに、キーストア１３０には、データストア４００に格納される分割されたＩＤを暗号化（１５３）および復号化（１５４）するための暗号化鍵Ｋ３１が保存されていてもよい。暗号化鍵Ｋ３１も、サーバ３００から提供されてもよい。データストア４００側で分割されたＩＤを暗号化または復号化することはないため、暗号化鍵Ｋ３１は、端末装置１００の内部に限定して使用される共通鍵とすることが可能である。
【００９３】
また、ＩＤの分割（１５２）、分割されたＩＤの配置（１５３）、分割されたＩＤの収集（１５４）、および分割されたＩＤの結合（１５５）にあたり、端末装置１００は、サーバ３００から提供されるデータストア設定情報（１５７）を参照しうる。すでに述べたように、本実施形態では、ＩＤを分割してデータストア４００に格納するにあたり、分散レベルや配置の多重度をユーザＵが任意に設定することが可能である。この場合に、どのような設定が可能であるかの情報は、装置設定情報（１５７）に基づいてユーザＵに提示されてもよい。
【００９４】
また、端末装置１００は、自らの装置プロファイル／能力の情報（１５８）を、例えば認証局としての登録を依頼するときにサーバ３００に送信する。
【００９５】
（クライアント装置）
図１０は、本開示の一実施形態に係るクライアント装置におけるデータフローの一例を示す図である。図９の例と同様に、図示された例では、クライアント装置２００が外部サービス５００から取得したＩＤを暗号化して（２５１）、端末装置１００に提供する。ここで端末装置１００に提供されるＩＤは、例えばキーストア２２０に保管された公開鍵Ｋ１２（端末装置１００が保持する秘密鍵Ｋ１１に対応）で暗号化されてもよい。
【００９６】
なお、本実施形態において、クライアント装置２００は、このように外部サービス５００から自らＩＤを取得する場合にも、取得したＩＤをそのまま保持しない。ＩＤ利用の安全性の観点から、ＩＤを端末装置１００に提供した後は、クライアント装置２００ではＩＤを破棄することが望ましい。あるいは、クライアント装置２００は、自らが取得したＩＤに限って、端末装置１００に提供した後も保持していてもよい。
【００９７】
外部サービス５００へのアクセスのためにＩＤを利用する場合、クライアント装置２００は、端末装置１００から暗号化されたＩＤ（Encrypted  ID）を受信し、これを復号化する（２５２）。この復号化には、例えばキーストア２２０に保管された秘密鍵Ｋ２１（端末装置１００が保持する公開鍵Ｋ２２に対応）が用いられうる。
【００９８】
また、クライアント装置２００は、自らの装置プロファイル／能力の情報（２５３）を、例えば利用者としての登録を依頼するときにサーバ３００に送信する。
【００９９】
（サーバ）
図１１は、本開示の一実施形態に係るサーバにおけるデータフローの一例を示す図である。サーバ３００は、クライアント装置２００から提供された装置プロファイル／能力の情報（２５３）に基づいて、クライアント装置２００を登録する（３５１）。このとき、秘密鍵Ｋ２１と公開鍵Ｋ１２とがクライアント装置２００に提供される。上述の通り、秘密鍵Ｋ２１は、公開鍵Ｋ２２とペアになってクライアント装置２００に対して発行されるものであるため、クライアント装置２００の登録時に提供されうる。一方、公開鍵Ｋ１２は、秘密鍵Ｋ１１とペアになって端末装置１００に対して発行されるものであるため、端末装置１００が未登録であれば発行されていない。この場合、公開鍵Ｋ１２は、端末装置１００の登録後にクライアント装置２００に提供される。公開鍵Ｋ１２は、サーバ３００のキーストア３２０にも保管される。
【０１００】
また、サーバ３００は、端末装置１００から提供された装置プロファイル／能力の情報（１５８）に基づいて、端末装置１００を登録する（３５２）。このとき、公開鍵Ｋ２２と秘密鍵Ｋ１１とが端末装置１００に提供される。上述の通り、秘密鍵Ｋ１１は、公開鍵Ｋ１２とペアになって端末装置１００に対して発行されるものであるため、端末装置１００の登録時に提供されうる。一方、公開鍵Ｋ２２は、秘密鍵Ｋ２１とペアになってクライアント装置２００に対して発行されるものであるため、クライアント装置２００が未登録であれば発行されていない。この場合、公開鍵Ｋ２２は、クライアント装置２００の登録後に端末装置１００に提供される。公開鍵Ｋ２２は、サーバ３００のキーストア３２０にも保管される。
【０１０１】
さらに、サーバ３００は、データストア４００から提供された装置プロファイル／能力の情報（１５８）に基づいて、データストア４００を登録する（３５３）。クライアント装置２００の登録（３５１）、端末装置１００の登録（３５２）、およびデータストア４００の登録（３５３）によって登録された情報は、装置設定情報（３５４）としてサーバ３００内に保持され、必要に応じて端末装置１００などに提供される。装置設定情報（３５４）には、例えばユーザＵのパーミッション情報（３５５）やユーザＵによる設定（３５６）が反映されてもよい。
【０１０２】
（データストア）
図１２は、本開示の一実施形態に係るデータストアにおけるデータフローの一例を示す図である。データストア４００は、端末装置１００から提供された、分割および暗号化されたＩＤ（４５１）を、データストア（４５２）に格納する。また、データストア４００は、自らの装置プロファイル／能力の情報（４５３）を、サーバ３００に送信する。上述の通り、本実施形態において、データストア４００は、複数のノード４１０を含むため、このようなデータフローが、各ノード４１０において発生しうる。
【０１０３】
（７．一実施形態のまとめ）
以上で説明した本開示の一実施形態によれば、例えば以下のような効果が得られる。
【０１０４】
・情報が手元に存在することによる安全性および安心感
本実施形態では、ユーザＵにとって守るべき情報（ＩＤ）が、ユーザＵが携帯している端末装置１００に一元的に管理される。従って、ユーザＵにとってみれば、自らの個人情報として守るべき対象が明確であるといえ、サーバ運営者などの他人任せで個人情報を管理する場合よりも高い安心感を得ることができる。
【０１０５】
また、本実施形態において、サーバ３００はＩＤを保管しない。従って、サーバ３００からＩＤが盗まれることがない。また、端末装置１００とクライアント装置２００とがサーバ３００を介してＩＤをやりとりする場合にも、上述したような暗号化を施し、復号化に使用可能な鍵をサーバ３００では破棄することによって、サーバ３００でＩＤが読み取られることを防ぐことができる。
【０１０６】
なお、例えばクライアント装置２００が外部サービスにアクセスする度に端末装置１００にＩＤ使用の許可を求めることがユーザＵにとって煩雑に感じられるような場合や、端末装置１００がオフラインになる可能性がある場合、付加的に、外部サービスへのアクセスを一時的に可能にするトークンを、端末装置１００が取得してクライアント装置２００またはサーバ３００に一時的に保持してもよい。
【０１０７】
・情報が奪われた場合の安全性の確保
既に述べたように、本実施形態では、サーバ３００がＩＤを保管しない。従って、サーバ３００に保持されている情報が何らかの要因で奪われたとしても、ＩＤが漏洩することはない。また、仮に端末装置１００が奪われた場合でも、例えばサーバ３００が端末装置１００とクライアント装置２００とのＩＤのやりとりを遮断すれば、端末装置１００が管理するＩＤが不正に利用されることを防ぐことができる（端末装置１００とクライアント装置２００とが同一の装置である場合もありうるが、そのような場合でも、クライアント装置２００の機能部分がＩＤを利用する際には一旦サーバ３００を経由して端末装置１００の機能部分にアクセスするように設定されていれば、ＩＤを不正に利用することは容易ではない）。
【０１０８】
また、ＩＤを端末装置１００からデータストア４００に分散させて格納することも、端末装置１００またはデータストア４００のノード４１０の一部が奪われた際にＩＤが不正に利用されることを防ぐ効果がある。
【０１０９】
・ＩＤ利用タイミングの明確化
外部サービス間の連携の進展によって、いつどのようなＩＤが利用されているかがユーザにわかりにくくなっている。本実施形態では、端末装置１００がユーザＵに対してＩＤ利用要求の通知を出力することによって、いつどのような形でＩＤが利用されているかをユーザＵが容易に把握することができる。もちろん、ユーザＵは、ＩＤ利用要求の通知に対して、これを拒否し、クライアント装置２００によるＩＤの利用を遮断することもできる。
【０１１０】
（８．ハードウェア構成）
最後に、図１３を参照して、本開示の実施形態に係る情報処理装置のハードウェア構成について説明する。図１３は、情報処理装置のハードウェア構成を説明するためのブロック図である。図示された情報処理装置９００は、上記の実施形態で説明したように、端末装置１００、クライアント装置２００、サーバ３００、およびデータストア４００のノード４１０を実現しうる。
【０１１１】
情報処理装置９００は、ＣＰＵ（Central  Processing  unit）９０１、ＲＯＭ（Read  Only  Memory）９０３、およびＲＡＭ（Random  Access  Memory）９０５を含む。また、情報処理装置９００は、ホストバス９０７、ブリッジ９０９、外部バス９１１、インターフェース９１３、入力装置９１５、出力装置９１７、ストレージ装置９１９、ドライブ９２１、接続ポート９２３、通信装置９２５を含んでもよい。さらに、情報処理装置９００は、必要に応じて、撮像装置９３３、およびセンサ９３５を含んでもよい。情報処理装置９００は、ＣＰＵ９０１に代えて、またはこれとともに、ＤＳＰ（Digital  Signal  Processor）などの処理回路を有してもよい。
【０１１２】
ＣＰＵ９０１は、演算処理装置および制御装置として機能し、ＲＯＭ９０３、ＲＡＭ９０５、ストレージ装置９１９、またはリムーバブル記録媒体９２７に記録された各種プログラムに従って、情報処理装置９００内の動作全般またはその一部を制御する。ＲＯＭ９０３は、ＣＰＵ９０１が使用するプログラムや演算パラメータなどを記憶する。ＲＡＭ９０５は、ＣＰＵ９０１の実行において使用するプログラムや、その実行において適宜変化するパラメータなどを一次記憶する。ＣＰＵ９０１、ＲＯＭ９０３、およびＲＡＭ９０５は、ＣＰＵバスなどの内部バスにより構成されるホストバス９０７により相互に接続されている。さらに、ホストバス９０７は、ブリッジ９０９を介して、ＰＣＩ（Peripheral  Component  Interconnect/Interface）バスなどの外部バス９１１に接続されている。
【０１１３】
入力装置９１５は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチおよびレバーなど、ユーザによって操作される装置である。入力装置９１５は、例えば、赤外線やその他の電波を利用したリモートコントロール装置であってもよいし、情報処理装置９００の操作に対応した携帯電話などの外部接続機器９２９であってもよい。入力装置９１５は、ユーザが入力した情報に基づいて入力信号を生成してＣＰＵ９０１に出力する入力制御回路を含む。ユーザは、この入力装置９１５を操作することによって、情報処理装置９００に対して各種のデータを入力したり処理動作を指示したりする。
【０１１４】
出力装置９１７は、取得した情報をユーザに対して視覚的または聴覚的に通知することが可能な装置で構成される。出力装置９１７は、例えば、ＬＣＤ（Liquid  Crystal  Display）、ＰＤＰ（Plasma  Display  Panel）、有機ＥＬ（Electro-Luminescence）ディスプレイなどの表示装置、スピーカおよびヘッドホンなどの音声出力装置、ならびにプリンタ装置などでありうる。出力装置９１７は、情報処理装置９００の処理により得られた結果を、テキストまたは画像などの映像として出力したり、音声または音響などの音声として出力したりする。
【０１１５】
ストレージ装置９１９は、情報処理装置９００の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置９１９は、例えば、ＨＤＤ（Hard  Disk  Drive）などの磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイスなどにより構成される。このストレージ装置９１９は、ＣＰＵ９０１が実行するプログラムや各種データ、および外部から取得した各種のデータなどを格納する。
【０１１６】
ドライブ９２１は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブル記録媒体９２７のためのリーダライタであり、情報処理装置９００に内蔵、あるいは外付けされる。ドライブ９２１は、装着されているリムーバブル記録媒体９２７に記録されている情報を読み出して、ＲＡＭ９０５に出力する。また、ドライブ９２１は、装着されているリムーバブル記録媒体９２７に記録を書き込む。
【０１１７】
接続ポート９２３は、機器を情報処理装置９００に直接接続するためのポートである。接続ポート９２３は、例えば、ＵＳＢ（Universal  Serial  Bus）ポート、ＩＥＥＥ１３９４ポート、ＳＣＳＩ（Small  Computer  System  Interface）ポートなどでありうる。また、接続ポート９２３は、ＲＳ−２３２Ｃポート、光オーディオ端子、ＨＤＭＩ（High-Definition  Multimedia  Interface）ポートなどであってもよい。接続ポート９２３に外部接続機器９２９を接続することで、情報処理装置９００と外部接続機器９２９との間で各種のデータが交換されうる。
【０１１８】
通信装置９２５は、例えば、通信ネットワーク９３１に接続するための通信デバイスなどで構成された通信インターフェースである。通信装置９２５は、例えば、有線または無線ＬＡＮ（Local  Area  Network）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、またはＷＵＳＢ（Wireless  USB）用の通信カードなどでありうる。また、通信装置９２５は、光通信用のルータ、ＡＤＳＬ（Asymmetric  Digital  Subscriber  Line）用のルータ、または、各種通信用のモデムなどであってもよい。通信装置９２５は、例えば、インターネットや他の通信機器との間で、ＴＣＰ／ＩＰなどの所定のプロトコルを用いて信号などを送受信する。また、通信装置９２５に接続される通信ネットワーク９３１は、有線または無線によって接続されたネットワークであり、例えば、インターネット、家庭内ＬＡＮ、赤外線通信、ラジオ波通信または衛星通信などである。
【０１１９】
撮像装置９３３は、例えば、ＣＣＤ（Charge  Coupled  Device）またはＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）などの撮像素子、および撮像素子への被写体像の結像を制御するためのレンズなどの各種の部材を用いて実空間を撮像し、撮像画像を生成する装置である。撮像装置９３３は、静止画を撮像するものであってもよいし、また動画を撮像するものであってもよい。
【０１２０】
センサ９３５は、例えば、加速度センサ、ジャイロセンサ、地磁気センサ、光センサ、音センサなどの各種のセンサである。センサ９３５は、例えば情報処理装置９００の筐体の姿勢など、情報処理装置９００自体の状態に関する情報や、情報処理装置９００の周辺の明るさや騒音など、情報処理装置９００の周辺環境に関する情報を取得する。また、センサ９３５は、ＧＰＳ（Global  Positioning  System）信号を受信して装置の緯度、経度および高度を測定するＧＰＳセンサを含んでもよい。
【０１２１】
以上、情報処理装置９００のハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。かかる構成は、実施する時々の技術レベルに応じて適宜変更されうる。
【０１２２】
（９．補足）
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０１２３】
例えば、上記の実施形態では、端末装置とクライアント装置とがサーバを介してＩＤ利用要求やＩＤをやりとりすることとしたが、本技術はかかる例に限定されない。例えば、端末装置とクライアント装置とは、Ｐ２Ｐ（Peer  to  Peer）方式でネットワークを介して直接ＩＤ利用要求やＩＤをやりとりしてもよい。また、端末装置とクライアント装置とが近接しているような場合には、ＮＦＣ（Near  Field  Communication）やＬＡＮ（Local  Area  Network）を介して両装置が互いに通信することも可能である。
【０１２４】
また、例えば、上記の実施形態では、端末装置が外部サービスを利用する際のＩＤおよびパスワードを管理することとしたが、本技術はかかる例に限定されない。例えば、端末装置によって管理されるのは、例えばメールアドレスや氏名、電話番号などのような、ユーザの他の個人情報であってもよい。このような情報も、外部サービスで用いるために入力される可能性があり、また情報の漏えいから守る必要という点では、ＩＤおよびパスワードのような認証情報と同様である。本明細書では、上述したＩＤ、パスワード、およびその他の個人情報のような情報を、ユーザ関連情報と称する。
【０１２５】
また、例えば、上記の実施形態では、ＩＤがデータストアに格納され、端末装置がデータストアからＩＤを取得することとしたが、本技術はかかる例に限定されない。例えば、端末装置は、自らの記憶部にＩＤを格納していてもよく、これを内部的に取得してクライアント装置に提供してもよい。
【０１２６】
本開示の実施形態は、例えば、上記で説明したような端末装置、システム（情報処理システム）、方法（情報処理方法）、端末装置を機能させるためのプログラム、およびプログラムが記録された記録媒体を含む。
【０１２７】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）サービスにアクセスするクライアント装置からの要求に応じて、前記サービスで用いられるユーザ関連情報を取得するユーザ関連情報取得部と、
前記クライアント装置に前記ユーザ関連情報を提供するユーザ関連情報提供部と
を備える端末装置。
（２）前記ユーザ関連情報提供部は、前記クライアント装置を管理するサーバを介して前記クライアント装置に前記ユーザ関連情報を提供する、前記（１）に記載の端末装置。
（３）前記ユーザ関連情報提供部は、前記クライアント装置が保持する秘密鍵に対応する公開鍵を用いて暗号化された前記ユーザ関連情報を前記クライアント装置に提供する、前記（２）に記載の端末装置。
（４）前記クライアント装置からの要求があった場合にユーザに対する通知を出力し、前記ユーザ関連情報の提供についての前記ユーザの許可を取得するユーザ許可取得部をさらに備え、
前記ユーザ関連情報取得部は、前記ユーザの許可が取得された場合に前記ユーザ関連情報を取得する、前記（１）〜（３）のいずれか１項に記載の端末装置。
（５）前記ユーザ関連情報取得部は、複数のデータノードに分散して格納された前記ユーザ関連情報を取得する、前記（１）〜（４）のいずれか１項に記載の端末装置。
（６）前記データノードを管理するサーバから取得した情報に従って前記ユーザ関連情報を前記データノードに分散させて格納するユーザ関連情報格納部をさらに備える、前記（５）に記載の端末装置。
（７）前記データノードは、ユーザの挙動に関連する要素を含む、前記（５）または（６）に記載の端末装置。
（８）前記データノードは、前記ユーザによるパスフレーズの入力、前記ユーザの生体情報、前記ユーザの位置情報、または前記ユーザの動き情報のうちの少なくとも１つを含む、前記（７）に記載の端末装置。
（９）前記サービスは、異なる種類の複数のサービスを含み、
前記ユーザ関連情報取得部は、前記クライアント装置がアクセスする前記サービスの種類に応じて前記ユーザ関連情報を選択して取得する、前記（１）〜（８）のいずれか１項に記載の端末装置。
（１０）前記ユーザ関連情報取得部は、前記クライアント装置からの要求に含まれる、前記異なる種類の複数のサービスのうちのいずれかを利用するための認証情報によって前記クライアント装置を認証する、前記（９）に記載の端末装置。
（１１）前記ユーザ関連情報は、前記サービスを利用するための認証情報である、前記（１）〜（１０）のいずれか１項に記載の端末装置。
（１２）前記ユーザ関連情報は、前記サービスを利用するためのトークン情報であり、
前記ユーザ関連情報取得部は、前記サービスを利用するための認証情報を用いて前記サービスにアクセスして前記トークン情報を取得する、前記（１）〜（１０）のいずれか１項に記載の端末装置。
（１３）サービスにアクセスするクライアント装置と、
前記サービスで用いられるユーザ関連情報を取得可能な端末装置と
を含み、
前記クライアント装置は、前記端末装置に前記ユーザ関連情報を要求し、
前記端末装置は、前記要求に応じて前記ユーザ関連情報を取得し、該取得されたユーザ関連情報を前記クライアント装置に提供する情報処理システム。
（１４）前記クライアント装置および前記端末装置を管理するサーバをさらに含み、
前記クライアント装置は、前記サーバを介して前記端末装置に前記ユーザ関連情報を要求し、
前記端末装置は、前記サーバを介して前記クライアント装置に前記ユーザ関連情報を提供する、前記（１３）に記載の情報処理システム。
（１５）前記サーバは、１対の秘密鍵および公開鍵を生成して、前記秘密鍵を前記クライアント装置に、前記公開鍵を前記端末装置にそれぞれ提供した後に少なくとも前記秘密鍵を破棄し、
前記端末装置は、前記公開鍵を用いて暗号化された前記ユーザ関連情報を前記クライアント装置に提供し、
前記クライアント装置は、前記秘密鍵を用いて前記ユーザ関連情報を復号化する、前記（１４）に記載の情報処理システム。
（１６）前記端末装置は、前記ユーザ関連情報の要求があった場合にユーザに対する通知を出力し、前記ユーザ関連情報の提供についての前記ユーザの許可が取得された場合に前記クライアント装置に前記ユーザ関連情報を提供する、前記（１３）〜（１５）のいずれか１項に記載の情報処理システム。
（１７）サービスにアクセスするクライアント装置が、前記サービスで用いられるユーザ関連情報を取得可能な端末装置に前記ユーザ関連情報を要求することと、
前記端末装置が、前記要求に応じて前記ユーザ関連情報を取得し、該取得されたユーザ関連情報を前記クライアント装置に提供することと
を含む情報処理方法。
（１８）サービスにアクセスするクライアント装置からの要求に応じて、前記サービスで用いられるユーザ関連情報を取得する機能と、
前記クライアント装置に前記ユーザ関連情報を提供する機能と
をコンピュータに実現させるためのプログラム。
【符号の説明】
【０１２８】
１０      システム
１００    端末装置
１１０    ＩＤコントローラ
１１２    認可／認証ＵＩ
１１４    プラグイン認証ロジック
１２０    ＩＤサーバ
１３０    キーストア
１４０    データストアマネージャ
２００    クライアント装置
２１０    ＩＤクライアント
２２０    キーストア
３００    サーバ
３１０    キープロバイダ
３２０    キーストア
４００    データストア
４１０    ノード
４２０    ＩＤディストリビュータ
４３０    セキュリティマネージャ
【図１】
2014006843.tif 000003
【図２】
2014006843.tif 000004
【図３】
2014006843.tif 000005
【図４】
2014006843.tif 000006
【図５】
2014006843.tif 000007
【図６】
2014006843.tif 000008
【図７】
2014006843.tif 000009
【図８】
2014006843.tif 000010
【図９】
2014006843.tif 000011
【図１０】
2014006843.tif 000012
【図１１】
2014006843.tif 000013
【図１２】
2014006843.tif 000014
【図１３】
2014006843.tif 000015