(57)【要約】【課題】悪意で作成されたデータサーバへアプリケーションの認証関連情報が漏れてしまうことを防止する。【解決手段】サーバシステム９は、アプリケーションサーバ２とデータサーバ３とを有する。アプリケーションサーバ２は、通信端末１から受信した当該端末が有するアプリケーション１０に係る情報に基づいて、アプリケーション１０を認証するアプリ認証部２２と、アプリケーション１０の正当性が認証された場合に、アプリケーション１０がアクセスするデータを記憶するサーバを示すサーバ情報を含んだ署名情報を発行するトークン発行部２３とを有する。データサーバ３は、通信端末１から受信した署名情報に基づいて、当該署名情報に含まれるサーバ情報がデータサーバ３を示すか否かを判定する認証部３２と、サーバ情報がデータサーバ３を示す場合に、通信端末１のアプリケーション１０によるデータへのアクセスを許可する制御部３３とを有する。【選択図】図１
2014106652.tif 000002
【特許請求の範囲】
【請求項１】
第１および第２の情報処理装置を含むデータ参照システムであって、
前記第１の情報処理装置は、
アプリケーションを通じたアクセスを受けたときに、前記アプリケーションに係る情報に基づいて、前記アプリケーションの正当性を認証する認証部と、
前記アプリケーションの正当性が認証された場合に、前記アプリケーションがアクセスするデータを記憶する情報処理装置を示す処理装置情報を含んだ署名情報を発行する発行部とを有し、
前記第２の情報処理装置は、
アプリケーションを通じた署名情報を伴うアクセスを受けたときに、前記アクセスに伴う署名情報に基づいて、当該署名情報に含まれる処理装置情報が前記第２の情報処理装置を示すか否かを判定する判定部と、
前記処理装置情報が前記第２の情報処理装置と対応する場合に、前記アプリケーションによるデータへのアクセスを許可する制御部とを有する
ことを特徴とするデータ参照システム。
【請求項２】
前記発行部は、さらに、前記アプリケーションに係る情報によって定められるアクセスレベルを含む署名情報を発行し、
前記制御部は、前記署名情報に含まれるアクセスレベルに応じて、前記アプリケーションによるデータへのアクセスを許可する
ことを特徴とする請求項１に記載のデータ参照システム。
【請求項３】
前記発行部は、ユーザから指定された前記処理装置情報を含んだ署名情報を発行し、
前記判定部は、前記アプリケーションを通じた署名情報を伴うアクセスによって、前記署名情報およびユーザのユーザ情報を受け付けると、前記署名情報に基づいて、当該署名情報に含まれる前記処理装置情報が前記第２の情報処理装置を示すか否かを判定し、前記処理装置情報が前記第２の情報処理装置を示す場合に、前記ユーザ情報に基づいて、前記ユーザが正当であるか否かを判定し、
前記制御部は、
前記処理装置情報が前記第２の情報処理装置を示す場合且つ前記ユーザが正当である場合に、前記アプリケーションによるデータへのアクセスを許可する
ことを特徴とする請求項１または請求項２に記載のデータ参照システム。
【請求項４】
前記発行部は、ユーザから指定された前記処理装置情報を含んだ署名情報を発行し、
前記判定部は、前記アプリケーションを通じた署名情報を伴うアクセスによって、前記署名情報のみを受け付けると、前記署名情報に基づいて、当該署名情報に含まれる前記処理装置情報が前記第２の情報処理装置を示すか否かを判定する
ことを特徴とする請求項１または請求項２に記載のデータ参照システム。
【請求項５】
前記発行部は、自情報処理装置によって決定された前記処理装置情報を含んだ署名情報を発行し、
前記判定部は、前記アプリケーションを通じた署名情報を伴うアクセスによって、前記署名情報のみを受け付けると、前記署名情報に基づいて、当該署名情報に含まれる前記処理装置情報が前記第２の情報処理装置を示すか否かを判定する
ことを特徴とする請求項１または請求項２に記載のデータ参照システム。
【請求項６】
第１の情報処理装置と第２の情報処理装置とを有するデータ参照システムにおけるアプリケーション認証方法であって、
前記第１の情報処理装置が、
アプリケーションを通じたアクセスを受けたときに、前記アプリケーションに係る情報に基づいて、前記アプリケーションの正当性を認証し、
前記アプリケーションの正当性が認証された場合に、前記アプリケーションがアクセスするデータを記憶する情報処理装置を示す処理装置情報を含んだ署名情報を発行し、
第２の情報処理装置は、
アプリケーションを通じた署名情報を伴うアクセスを受けたときに、前記アクセスに伴う署名情報に基づいて、当該署名情報に含まれる処理装置情報が前記第２の情報処理装置を示すか否かを判定し、
前記処理装置情報が前記第２の情報処理装置と対応する場合に、前記アプリケーションによるデータへのアクセスを許可する
各処理を実行することを特徴とするアプリケーション認証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ参照システムおよびアプリケーション認証方法に関する。
【背景技術】
【０００２】
インターネットなどを通じて、ユーザがネットワーク上で提供されるサービスを利用することが行われている。ユーザは、サービスを提供する側がデータを管理するサービスに、ネットワークを通じてアクセスする。
【０００３】
ユーザは、例えばブラウザ等により直接、サービスにアクセスする形式がある。ユーザ毎のデータは、サービスを提供する側によって管理されている。ユーザがネットワーク上で提供されるサービスを利用する際、サービス提供側は、ユーザのデータによって個別に設定された利用許可等の内容に応じてサービスを提供する。
【０００４】
また、ユーザは、アプリケーションを通じてサービスにアクセスする形式がある。この形式では、アプリケーションが必ずしもサービス提供側で作成されたものと限らないため、サービス提供側は、ユーザのアプリケーションを用いてのサービスへの接続許可に対する認証のほかにアプリケーションのアクセス許可に対する認証を行う。
【０００５】
アプリケーションのアクセス許可に対する認証では、サービス提供側がアプリケーションからのアクセスを許可した際に、アプリケーションの識別ＩＤおよびパスワードを発行する。そして、サービス提供側は、アプリケーションからサービスへの接続の際に、アプリケーションの識別ＩＤおよびパスワードを利用した認証を行う。認証が完了すると、サービス提供側は、トークンを発行し、アプリケーションはトークンを用いて、ユーザからの操作に応じて、サービスへのアクセスを行う。このアプリケーションの認証手法として、ＯＡｕｔｈが知られている（例えば、特許文献１）。
【０００６】
ところで、通常、サービスと、サービスに伴い生成されるデータは常に連携している必要があることから、サービス提供側がデータを管理する形式となる。このため、データの内容自体はユーザから派生しているものであるにも関わらず、ユーザは当該サービスに関連したデータを自由に利用したり、サービス提供者に秘匿したり、確実に処分することができない。
【０００７】
このため、サービス提供側がデータを管理する形態では、例えば、ユーザが入力または編集したデータであるにも関わらず、ネットワーク上で提供される他のサービスからのアクセスや利用は困難である。また、仮に、他のサービスからのアクセスが許可された場合でも、サービスのセキュリティ、および、データのセキュリティを十分に保ちつつ、他のサービスからのデータの利用を行うことは難しい。
【０００８】
そこで、サービスとデータとを分離することにより、ユーザが自身のデータを自身のコントロール配下で一元管理することが可能となる技術がある（例えば、特許文献２）。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１２−１９４７２２号公報
【特許文献２】国際公開第２０１２／０７７２２３号
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、サービスとデータとを分離することにより、ユーザが自身のデータを自身のコントロール配下で一元管理する場合、サービスを利用するアプリケーションは、データにアクセスを行うためには、サービス提供元とともに、データの保存場所にもアクセスを行う必要がある。サービス提供側がデータを管理する形態では、アプリケーションはサービス提供側のみに認証関連情報を伝えれば十分であるが、サービス提供元とデータ保存場所が分離されている場合、認証関連情報は、サービス提供元とデータ保存場所の双方に伝える必要がある。
【００１１】
また、アプリケーションの認証関連情報が漏洩した場合、サービス提供側がデータを管理する形態では、サービス提供側の対応による悪用防止が可能であるが、サービス提供元とデータ保存場所が分離されている場合、その漏洩による影響の度合いは大きい。
【００１２】
このため、例えば、悪意で作成されたデータの保存場所にアプリケーションの認証関連情報が漏れた場合、アプリケーションの認証関連情報を利用した、正当でないアプリケーションを生成してしまうという問題がある。なお、データの保存場所のことを、例えば「データストア」という。
【００１３】
ここで、この問題について、図１３を参照して説明する。図１３は、悪意で作成されたデータストアにアプリケーションの認証関連情報が漏れた状況を示す図である。図１３に示すように、サービスとデータストアとが分離されることにより、ユーザＵ１，Ｕ２が自身のデータを自身のコントロール配下で一元管理できる。ここでは、データストア１が通常のデータストアであり、ユーザＵ２は悪意のユーザであり、データストア２が入手した情報を利用可能であるとする。
【００１４】
悪意のユーザＵ２がアプリケーションＡを用いて悪意のデータストア２にアクセスする場合、アプリケーションＡは、悪意のデータストア２に対してアプリケーションＡの識別ＩＤおよびパスワードを利用した認証を行う。ここで、アプリケーションＡは、認証関連情報として、アプリケーションＡの識別ＩＤおよびパスワードを用いる。
【００１５】
これにより、データストア２は、アプリケーションＡの識別ＩＤおよびパスワードを利用した、正当でないアプリケーションＡｍを生成することが可能となる。アプリケーションＡｍが生成されると、アプリケーションＡｍは他のデータストアやサービスに対し、アプリケーションＡの認証関連情報を用いることができるから、アプリケーションＡｍはアプリケーションＡになりすますことが可能となる。すなわち、データストア経由でアプリケーションＡの認証関連情報が入手可能な状況は、セキュリティ上、望ましくない。
【００１６】
なお、サービス提供側がデータを管理する場合では、アプリケーションのアクセス先はサービスのみに限られ、サービスがアプリケーションを認証するので、アプリケーションの認証関連情報が、通常の利用態様でサービス提供者以外に用いられるという状況は生じないし、アプリケーションの認証関連情報は、当該サービスのみに通常用いられるから、サービス提供側で認証関連情報漏洩に対応可能である。
【００１７】
１つの側面では、悪意で作成されたデータの保存場所へアプリケーションの認証関連情報が漏れてしまうことを防止することを目的とする。
【課題を解決するための手段】
【００１８】
本願の開示するデータ参照システムは、第１の情報処理装置と第２の情報処理装置とを有する。第１の情報処理装置は、アプリケーションを通じたアクセスを受けたときに、前記アプリケーションに係る情報に基づいて、前記アプリケーションの正当性を認証する認証部と、前記アプリケーションの正当性が認証された場合に、前記アプリケーションがアクセスするデータを記憶する情報処理装置を示す処理装置情報を含んだ署名情報を発行する発行部とを有する。第２の情報処理装置は、アプリケーションを通じた署名情報を伴うアクセスを受けたときに、前記アクセスに伴う署名情報に基づいて、当該署名情報に含まれる処理装置情報が前記第２の情報処理装置を示すか否かを判定する判定部と、前記処理装置情報が前記第２の情報処理装置と対応する場合に、前記アプリケーションによるデータへのアクセスを許可する制御部とを有する。
【発明の効果】
【００１９】
本願の開示するデータ参照システムの１つの態様によれば、悪意で作成されたデータの保存場所へアプリケーションの認証関連情報が漏れてしまうことを防止することができる。
【図面の簡単な説明】
【００２０】
【図１】図１は、実施例１に係るサーバシステムの全体構成を示すブロック図である。
【図２】図２は、アプリ認証トークンの内容の一例を示す図である。
【図３】図３は、データアクセストークンの内容の一例を示す図である。
【図４】図４は、実施例１に係る端末装置側での処理のフローチャートを示す図である。
【図５】図５は、実施例１に係るアプリケーションサーバでのアプリ認証処理のフローチャートを示す図である。
【図６】図６は、実施例１に係るデータサーバでの認証処理のフローチャートを示す図である。
【図７】図７は、実施例２に係るサーバシステムの全体構成を示すブロック図である。
【図８】図８は、実施例２に係る端末装置側での処理のフローチャートを示す図である。
【図９】図９は、実施例２に係るデータサーバでの認証処理のフローチャートを示す図である。
【図１０】図１０は、実施例３に係るサーバシステムの全体構成を示すブロック図である。
【図１１】図１１は、実施例３に係る端末装置側での処理のフローチャートを示す図である。
【図１２】図１２は、実施例３に係るアプリケーションサーバでのアプリ認証処理のフローチャートを示す図である。
【図１３】図１３は、悪意で作成されたデータストアにアプリケーションの認証関連情報が漏れてしまうという問題を説明するための図である。
【発明を実施するための形態】
【００２１】
以下に、本願の開示するデータ参照システムおよびアプリケーション認証方法の実施例を図面に基づいて詳細に説明する。なお、実施例によりこの発明が限定されるものではない。
【実施例１】
【００２２】
［サーバシステムの構成］
図１は、実施例に係るサーバシステムの全体を示す図である。図１に示すように、サーバシステム９は、通信端末１を含む端末装置側と、複数のアプリケーションサーバ２を含むサービス側と、複数のデータサーバ３を含む個別データストア側とを有する。端末装置側は、サービス側および個別データストア側とそれぞれインターネット網を示すネットワーク４で接続されている。すなわち、サーバシステム９は、サービス側と個別データストア側とを分離することにより、端末装置側が自身のデータをコントロールすることを可能とする。つまり、サーバシステム９は、複数のサービスそれぞれで提供されるアプリケーションを端末装置側に利用させながらも、端末装置側のユーザが指定したデータサーバ３にアクセスしてユーザ個人のデータを当該データサーバ３で一括して管理する。
【００２３】
端末装置側には、通信端末１が備えられる。通信端末１には、例えば、アプリケーションサーバ２によって配信されるアプリケーション１０が記憶されている。通信端末１は、例えば、スマートフォンであったり、ＰＨＳ（Personal  Handyphone  System）であったり、ＰＤＡ（Personal  Digital  Assistants）であっても良く、通信可能な通信端末であれば良い。アプリケーション１０は、サービス側のアプリケーションサーバ２によって携帯端末側がサービスの提供を受けるためのプログラムである。通信端末１は、ユーザが提供を受けたいサービスに対応するアプリケーションを、当該サービスを提供するアプリケーションサーバ２から取得し、ＲＡＭ（Random  Access  Memory）やＨＤＤ（Hard  Disk  Drive）に格納する。
【００２４】
なお、端末装置側には、アプリケーション１０を記憶する通信端末１が備えられると説明したが、これに限定されず、通信端末１と異なる種類の端末が備えられるとしても良い。例えば、アプリケーション１０を記憶するＰＣ（Personal  Computer）やアプリケーション１０を記憶するサーバが備えられるとしても良い。また、アプリケーション１０を記憶しないＰＣがアプリケーション１０を記憶するサーバにアクセスする場合であっても良い。
【００２５】
サービス側には、アプリケーションサーバ２が備えられる。アプリケーションサーバ２は、通信装置１にインストールされたアプリケーション１０を通じて、通信装置１にサービスを提供する。アプリケーション１０は、アプリケーションサーバ２から配信されることによりインストールされても良いし、その他の手段によりインストールされても良い。アプリケーションサーバ２は、１つのサービスを提供するサーバであっても良いし、複数のサービスを提供するサーバであっても良い。ここでは、アプリケーションサーバ２は、１つのサービスを提供するサーバの例である。さらに、アプリケーションサーバ２は、記憶部２１と、アプリ認証部２２と、トークン発行部２３とを有する。
【００２６】
個別データストア側には、データサーバ３が備えられる。データサーバ３は、データの格納領域（「データストア」という）を有するサーバである。データサーバ３は、例えばデータストアを提供するプロバイダを指す。さらに、データサーバ３は、ユーザ単位毎に、記憶部３１と、認証部３２と、制御部３３とを有する。
【００２７】
通信端末１のアプリケーション１０は、データアクセス先を含むデータのアクセス要求を取得すると、自身の認証をアプリケーションサーバ２に依頼する。例えば、アプリケーション１０は、ユーザからユーザＩＤ（Identification）、ユーザパスワードおよび、データアクセス先としてユーザが所望するデータサーバ３の情報を取得する。そして、アプリケーション１０は、アプリケーション１０に係る情報およびデータサーバ３の情報を、アプリケーションサーバ２へ送信する。ここで、アプリケーションに係る情報とは、例えばアプリケーション固有のアプリケーションＩＤ（以降、アプリＩＤと略記）およびアプリケーションのパスワード（以降、アプリパスワードと略記）である。アプリケーションに係る情報は、アプリケーション１０の所定の領域に埋め込まれている。データサーバ３の情報は、例えばデータサーバ３のＵＲＬである。なお、アプリＩＤは、端末の種類によって異なるようにしても良い。
【００２８】
また、通信端末１のアプリケーション１０は、アプリケーションサーバ２によって正当であることが認証された場合に発行されるアプリ認証トークンを用いて、ユーザが所望するデータアクセス先のデータサーバ３へアクセスする。例えば、アプリケーション１０は、ユーザＩＤ、ユーザパスワードおよびアプリ認証トークンを、ユーザから指定されたデータアクセス先のデータサーバ３に送信する。なお、アプリ認証トークンの内容は、後述する。
【００２９】
また、通信端末１のアプリケーション１０は、データサーバ３によって正当であることが認証された場合に発行されるデータアクセストークンを用いて、当該データサーバ３のデータの詳細なアクセス先へアクセスする。データの詳細なアクセス先は、ユーザから取得される。なお、データアクセストークンの内容は、後述する。
【００３０】
アプリケーションサーバ２の記憶部２１は、例えばフラッシュメモリ（Flash  Memory）やＦＲＡＭ（登録商標）（Ferroelectric  Random  Access  Memory）等の不揮発性の半導体メモリ素子等や、ハードディスク（ＨＤＤ）等の記憶装置に対応する。そして、記憶部２１は、例えば、アプリケーション１０を有する。このアプリケーション１０が通信端末１に配信される。
【００３１】
アプリケーションサーバ２のアプリ認証部２２は、通信端末１から受信した当該端末が有するアプリケーション１０に係る情報に基づいて、アプリケーション１０を認証する。例えば、アプリ認証部２２は、通信端末１からアプリケーション１０に係る情報およびデータアクセス先の情報を取得する。そして、アプリ認証部２２は、アプリケーション１０に係る情報、すなわちアプリＩＤおよびアプリパスワードが正当であるか否かを認証する。
【００３２】
アプリケーションサーバ２のトークン発行部２３は、アプリケーション１０の正当性が認証された場合に、通信端末１から受信したデータアクセス先であるデータサーバ３の情報を含んだアプリ認証トークンを発行する。ここで、アプリ認証トークンの内容を、図２を参照して説明する。図２は、アプリ認証トークンの内容の一例を示す図である。
【００３３】
図２に示すように、アプリ認証トークンには、発行ＵＲＬ（Uniform  Resource  Locator）ａ１、有効期限ａ２、アプリＩＤａ３、電子署名ａ４およびアクセス先データサーバａ５が対応付けて設定される。発行ＵＲＬａ１は、アプリ認証トークンを発行する発行元のＵＲＬを示す。ここでは、発行ＵＲＬａ１には、アプリ認証トークンを発行するサービスのＵＲＬが設定される。有効期限ａ２は、発行されるアプリ認証トークンの有効期限を示し、一例として１時間が設定される。
【００３４】
アプリＩＤａ３は、アプリ認証トークンを使用する端末のアプリケーション１０のアプリＩＤを示す。ここでは、アプリＩＤａ３には、通信端末１から受信したアプリＩＤが設定される。アプリＩＤａ３が端末の種類によって異なれば、端末の種類毎に異なる機能制限を設けることができる。一例として、端末の種類毎にアクセス機能のレベルを変えることができる。
【００３５】
電子署名ａ４は、アプリ認証トークンの正当性を保証し、改ざんや偽造がないことを示す。アクセス先データサーバａ５は、アプリケーション１０がデータをアクセスするデータサーバ３の宛先を示す。ここでは、アクセス先データサーバａ５には、通信端末１から受信したデータアクセス先であるデータサーバ３の情報が設定される。
【００３６】
図１に戻って、トークン発行部２３は、アプリケーション１０の正当性が認証された場合に、正当性が認証されたことを示す認証結果とアプリ認証トークンを、通信端末１に送信する。また、トークン発行部２３は、アプリケーション１０の正当性が認証されなかった場合に、正当性が認証されなかったことを示す認証結果を、通信端末１に送信する。
【００３７】
データサーバ３の記憶部３１は、例えばフラッシュメモリ（Flash  Memory）やＦＲＡＭ（登録商標）（Ferroelectric  Random  Access  Memory）等の不揮発性の半導体メモリ素子等や、ハードディスク等の記憶装置に対応する。記憶部３１は、ユーザ単位毎に区分され管理されている。ここでいうユーザとは、通信端末１のユーザに対応する。ここでいうサービスとは、アプリケーションサーバ２によって提供されるサービスに対応する。例えば、ユーザ１００の通信端末１が、サービスＡのアプリケーション１０によってサービスの提供を受けているとする。すると、ユーザ１００の通信端末１は、ユーザ１００が指定するデータサーバ３の、ユーザ１００で区分される記憶領域のうち、サービスＡに対応するデータ領域にアクセスできる。
【００３８】
データサーバ３の認証部３２は、通信端末１から受信したアプリ認証トークンに基づいて、アプリ認証トークンの正当性を認証する。例えば、認証部３２は、アプリ認証トークンに含まれるアクセス先データサーバａ５が自装置のデータサーバ３を示すか否かを判定する。これにより、認証部３２は、アプリ認証トークンに含まれるアクセス先データサーバａ５の正当性を認証できる。また、認証部３２は、アプリ認証トークンに基づいて、アプリ認証トークンに含まれる発行ＵＲＬａ１がサービスのＵＲＬを示すか否かを判定する。これにより、認証部３２は、アプリ認証トークンに含まれる発行ＵＲＬａ１の正当性を認証できる。また、認証部３２は、アプリ認証トークンに基づいて、アプリ認証トークンに電子署名ａ４が含まれているか否かを判定する。また、認証部３２は、アプリ認証トークンに基づいて、現在がアプリ認証トークンに含まれる有効期限ａ４内であるか否かを判定する。これにより、認証部３２は、アプリ認証トークン自体の正当性を認証できる。
【００３９】
また、データサーバ３の認証部３２は、通信端末１から受信したユーザＩＤおよびユーザパスワードに基づいて、ユーザの正当性を認証する。例えば、認証部３２は、ユーザＩＤおよびユーザパスワードが、自身が管轄するユーザに合致するか否かを判定する。
【００４０】
また、認証部３２は、アプリ認証トークンおよびユーザの正当性が認証された場合に、データアクセストークンを生成する。そして、認証部３２は、正当性が認証されたことを示す認証結果と生成したデータアクセストークンを、通信端末１に送信する。これにより、通信端末１のアプリケーション１０は、生成されたデータアクセストークンにより、発行ＵＲＬａ１で示されるサービスに対応するデータのアクセス先へアクセスすることが可能となる。ここで、データアクセストークンの内容を、図３を参照して説明する。図３は、データアクセストークンの内容の一例を示す図である。
【００４１】
図３に示すように、データアクセストークンには、識別子ｄ１および有効期限ｄ２が対応付けて設定される。識別子ｄ１は、データアクセストークンを一意に表す情報である。一例として、識別子ｄ１は、識別番号であるが、識別名であっても良く、データアクセストークンを識別することができれば良い。有効期限ｄ２は、発行されるデータアクセストークンの有効期限を示し、一例として１時間が設定される。
【００４２】
図１に戻って、認証部３２は、アプリ認証トークンの正当性が認証されなかった場合に、正当性が認証されなかったことを示す認証結果を、通信端末１に送信する。
【００４３】
制御部３３は、通信端末１から受信したデータアクセストークンに基づいて、通信端末１のアプリケーション１０によるデータへのアクセスを制御する。例えば、制御部３３は、通信端末１から受信したデータアクセストークンに基づいて、現在がデータアクセストークンに含まれる有効期限ｄ２内であるか否かを判定する。これにより、制御部３３は、データアクセストークンの有効性を確認できる。そして、制御部３３は、有効期限ｄ２内であると判定した場合に、通信端末１から受信した詳細なアクセス先のデータへのアクセスを許可する。
【００４４】
なお、制御部３３は、認証部３２によって用いられたアプリ認証トークンに含まれるアプリＩＤａ３が端末の種類によって異なれば、端末の種類毎に異なるアクセス制限を設けることができる。すなわち、制御部３３は、アプリ認証トークンに含まれるアプリＩＤａ３に応じて、通信端末１から受信した詳細なアクセス先のデータへのアクセスを制御する。一例として、アプリＩＤａ３が通信端末１用のＩＤであれば、アクセス先のデータへのアクセスをリードのみとし、アプリＩＤａ３がサーバ用のＩＤであれば、アクセス先のデータへのアクセスをライト可能とするように制御する。
【００４５】
［端末装置側での処理手順］
次に、端末装置側での処理手順について、図４を参照して説明する。図４は、実施例１に係る端末装置側での処理のフローチャートを示す図である。なお、端末装置側の端末を通信端末１として説明する。
【００４６】
まず、通信端末１のアプリケーション１０は、ユーザ入力によりデータアクセス先を取得する（ステップＳ１１）。ここで、データアクセス先は、例えば、ユーザがアクセスしたいデータサーバ３のＵＲＬである。
【００４７】
そして、アプリケーション１０は、アプリＩＤ、アプリパスワードおよびデータアクセス先をサービス側に送信する（ステップＳ１２）。例えば、アプリＩＤおよびアプリパスワードは、アプリケーション１０の所定の領域に埋め込まれている。アプリケーション１０は、所定の領域に埋め込まれているアプリＩＤおよびアプリパスワードを抽出し、抽出したアプリＩＤおよびアプリパスワードを自身に対応するサービスに送信する。
【００４８】
続いて、アプリケーション１０は、アプリケーション１０の認証（アプリ認証）が成功したことを示す認証結果をサービス側から受信したか否かを判定する（ステップＳ１３）。アプリ認証が成功したことを示す認証結果を受信したと判定した場合（ステップＳ１３；Ｙｅｓ）、アプリケーション１０は、ユーザ入力によりユーザＩＤおよびユーザパスワードを取得する（ステップＳ１３Ａ）。
【００４９】
そして、アプリケーション１０は、ユーザＩＤ、ユーザパスワードおよびサービス側から受信したアプリ認証トークンをデータアクセス先に送信する（ステップＳ１４）。つまり、アプリケーション１０は、ユーザから取得したデータアクセス先、すなわち、ユーザがアクセスしたいデータサーバ３のＵＲＬに、ユーザＩＤ、ユーザパスワードおよびアプリ認証トークンを送信する。
【００５０】
一方、アプリ認証が成功したことを示す認証結果を受信しなかったと判定した場合（ステップＳ１３；Ｎｏ）、アプリケーション１０は、アプリ認証が失敗したことを示す認証結果を、例えばモニタに出力する（ステップＳ１７）。
【００５１】
続いて、アプリケーション１０は、認証が成功したことを示す認証結果をデータサーバ３から受信したか否かを判定する（ステップＳ１５）。認証が成功したことを示す認証結果を受信したと判定した場合（ステップＳ１５；Ｙｅｓ）、アプリケーション１０は、データサーバ３から受信したデータアクセストークンを用いて、データアクセスを実行する（ステップＳ１６）。例えば、アプリケーション１０は、データアクセストークンを用いて、ユーザから取得するデータの詳細なアクセス先へアクセスする。すなわち、アプリケーション１０は、ユーザによって指定されるデータサーバ３の記憶領域のうち、自ユーザで区分され且つサービスに対応するデータ領域にアクセスできる。
【００５２】
一方、認証が成功したことを示す認証結果を受信しなかったと判定した場合（ステップＳ１５；Ｎｏ）、アプリケーション１０は、認証が失敗したことを示す認証結果を、例えばモニタに出力する（ステップＳ１７）。
【００５３】
［アプリケーションサーバでのアプリ認証処理の手順］
次に、アプリケーションサーバ２でのアプリ認証処理の手順について、図５を参照して説明する。図５は、実施例１に係るアプリケーションサーバでのアプリ認証処理のフローチャートを示す図である。
【００５４】
アプリケーションサーバ２のアプリ認証部２２は、端末装置側からアプリＩＤ、アプリパスワードおよびデータアクセス先を受信したか否かを判定する（ステップＳ２１）。アプリＩＤ、アプリパスワードおよびデータアクセス先を受信していないと判定した場合（ステップＳ２１；Ｎｏ）、アプリ認証部２２は、アプリ認証が失敗したことを示す認証結果を送信元の通信端末１に送信すべく、ステップＳ２６に移行する。
【００５５】
一方、アプリＩＤ、アプリパスワードおよびデータアクセス先を受信したと判定した場合（ステップＳ２１；Ｙｅｓ）、アプリ認証部２２は、アプリＩＤおよびアプリパスワードを用いて、アプリケーション１０を認証する（ステップＳ２２）。
【００５６】
続いて、アプリ認証部２２は、アプリケーション１０の認証（アプリ認証）が成功したか否かを判定する（ステップＳ２３）。アプリ認証が成功したと判定した場合（ステップＳ２３；Ｙｅｓ）、トークン発行部２３は、データアクセス先を含むアプリ認証トークンを生成する（ステップＳ２４）。そして、トークン発行部２３は、アプリ認証が成功したことを示す認証結果と、生成されたアプリ認証トークンとを送信元の通信端末１に送信する（ステップＳ２５）。
【００５７】
一方、アプリ認証が成功しなかったと判定した場合（ステップＳ２３；Ｎｏ）、トークン発行部２３は、アプリ認証が失敗したことを示す認証結果を送信元の通信端末１に送信する（ステップＳ２６）。
【００５８】
［データサーバでの認証処理の手順］
次に、データサーバ３での認証処理の手順について、図６を参照して説明する。図６は、実施例１に係るデータサーバでの認証処理のフローチャートを示す図である。
【００５９】
データサーバ３の認証部３２は、通信端末１からユーザＩＤ、ユーザパスワードおよびアプリ認証トークンを受信したか否かを判定する（ステップＳ３１）。ユーザＩＤ、ユーザパスワードおよびアプリ認証トークンを受信していないと判定した場合（ステップＳ３１；Ｎｏ）、認証部３２は、認証が失敗したことを示す認証結果を送信元の通信端末１に送信すべく、ステップＳ３６に移行する。
【００６０】
一方、ユーザＩＤ、ユーザパスワードおよびアプリ認証トークンを受信したと判定した場合（ステップＳ３１；Ｙｅｓ）、認証部３２は、アプリ認証トークンを検証する（ステップＳ３１Ａ）。そして、認証部３２は、アプリ認証トークンの検証に成功したか否かを判定する（ステップＳ３１Ｂ）。アプリ認証トークンの検証に成功しなかったと判定した場合（ステップＳ３１Ｂ；Ｎｏ）、認証部３２は、認証が失敗したことを示す認証結果を送信元の通信端末１に送信すべく、ステップＳ３６に移行する。
【００６１】
一方、アプリ認証トークンの検証に成功したと判定した場合（ステップＳ３１Ｂ；Ｙｅｓ）、認証部３２は、ユーザＩＤおよびユーザパスワードを用いて、ユーザの正当性を認証する（ステップＳ３２）。
【００６２】
続いて、認証部３２は、認証が成功したか否かを判定する（ステップＳ３３）。認証が成功したと判定した場合（ステップＳ３３；Ｙｅｓ）、認証部３２は、データアクセストークンを生成する（ステップＳ３４）。そして、認証部３２は、認証が成功したことを示す認証結果と、生成されたデータアクセストークンとを送信元の通信端末１に送信する（ステップＳ３５）。
【００６３】
一方、認証が成功しなかったと判定した場合（ステップＳ３３；Ｎｏ）、認証部３２は、認証が失敗したことを示す認証結果を送信元の通信端末１に送信する（ステップＳ３６）。
【００６４】
その後、制御部３３は、通信端末１からデータアクセストークンおよびデータの詳細なアクセス先を受信すると、データアクセストークンに基づいて、詳細なアクセス先のデータへのアクセスを制御する。例えば、制御部３３は、現在がデータアクセストークンに含まれる有効期限内であるか否かを判定し、有効期限内であれば、詳細なアクセス先のデータへのアクセスを許可する。一方、制御部３３は、有効期限内でなければ、詳細なアクセス先のデータへのアクセスを不許可とする。
【００６５】
なお、アプリケーションサーバ２のトークン発行部２３は、アプリ認証トークンの有効期限ａ２をアプリ認証トークンに含めるものとした。また、データサーバ３の認証部３２は、データアクセストークンの有効期限ｄ２をデータアクセストークンに含めるものとした。これらの有効期限は、端末装置側の端末の種類毎に異なる期限にしても良い。例えば、サーバはＰＣや移動可能な通信端末と比較して、アプリケーション１０の動作を不正に検証される危険性が低い。そこで、サーバに関する有効期限は、ＰＣや移動可能な通信端末に関する有効期限より長く設定されても良い。アプリＩＤａ３が端末の種類によって異なれば、サーバ、ＰＣおよび移動可能な通信端末のいずれの端末であるかが判別できる。これにより、サーバシステム９は、システム全体のセキュリティを向上させることができる。
【００６６】
［実施例１の効果］
上記実施例によれば、アプリケーションサーバ２は、通信端末１から受信した当該端末が有するアプリケーション１０のアプリＩＤおよびアプリパスワードに基づいて、アプリケーション１０を認証する。そして、アプリケーションサーバ２は、アプリケーション１０の正当性が認証された場合に、アプリケーション１０がアクセスするデータを記憶するデータサーバ３を示すサーバ情報を含んだアプリ認証トークンを発行する。そして、データサーバ３は、通信端末１から受信したアプリ認証トークンに基づいて、アプリ認証トークンに含まれるサーバ情報が自装置のデータサーバ３を示すか否かを判定する。そして、データサーバ３は、サーバ情報が自装置のデータサーバ３を示す場合に、通信端末１のアプリケーション１０によるデータへのアクセスを許可する。かかる構成によれば、通信端末１は、アプリケーションサーバ２によって認証された結果発行されるアプリ認証トークンを用いて、データサーバ３のデータへのアクセスを行う。したがって、アプリケーション１０のアプリＩＤおよびアプリパスワードがデータサーバ３に通知されないので、アプリケーション１０のアプリＩＤおよびアプリパスワードが悪意のデータサーバ３に漏れない。この結果、アプリケーションサーバ２とデータサーバ３とを含むサーバシステム９は、悪意のデータサーバ３における、アプリケーション１０のアプリＩＤおよびアプリパスワードを用いたアプリケーション１０のなりすましを防止できる。
【００６７】
また、上記実施例によれば、アプリケーションサーバ２は、アプリＩＤによって定められるデータのアクセスレベルを含むアプリ認証トークンを発行する。そして、データサーバ３は、アプリ認証トークンに含まれるアクセスレベルに応じて、通信端末１のアプリケーション１０によるデータへのアクセスを許可する。かかる構成によれば、アプリケーションサーバ２は、アプリ認証トークンにアプリＩＤによって定められるデータのアクセスレベルを含めることで、データサーバ３のデータのアクセスを間接的に管理することができる。すなわち、アプリケーションサーバ２は、データのアクセスレベルを含むアプリ認証トークンを用いて、データサーバ３に対して、データへのアクセスレベルに応じたデータへのアクセスを許可させることができる。
【００６８】
また、上記実施例によれば、アプリケーションサーバ２は、通信端末１のユーザから指定されたデータサーバ３を示すサーバ情報を含んだアプリ認証トークンを発行する。かかる構成によれば、アプリケーションサーバ２は、アプリ認証トークンを用いて通信端末１に対してデータサーバ３にアクセスさせるので、アプリ認証トークンに含まれたユーザから指定されたデータサーバ３にアクセスさせることができる。この結果、ユーザは、自身が指定したデータサーバ３で自身のデータを管理することが可能となる。
【実施例２】
【００６９】
ところで、実施例１に係るサーバシステム９では、データサーバ３がユーザの正当性を認証する場合について説明した。すなわち、通信端末１にインストールされたアプリケーション１０が、アプリケーションサーバ２によってアプリケーション１０の認証がされた結果得られるアプリ認証トークン、ユーザＩＤ、ユーザパスワードをデータサーバ３へ送信する。データサーバ３は、アプリ認証トークンの検証とともにユーザの正当性の認証に成功すれば、ユーザによって指定されたデータアクセス先のデータサーバ３へアクセスできる。しかしながら、サーバシステム９では、これに限定されず、データサーバ３がユーザの正当性を認証しない場合であっても良い。すなわち、データサーバ３は、ユーザの正当性の認証をしなくても、アプリ認証トークンの検証に成功すれば、ユーザによって指定されたデータアクセス先のデータサーバ３へアクセスできる。
【００７０】
そこで、実施例２では、データサーバ３がユーザの正当性を認証しなくても、アプリ認証トークンの検証に成功すれば、ユーザによって指定されたデータアクセス先のデータサーバ３へアクセスできるサーバシステム９について説明する。
【００７１】
［実施例２に係るサーバシステム］
図７は、実施例２に係るサーバシステムの構成を示す機能ブロック図である。なお、図１に示すサーバシステム９と同一の構成については同一符号を付すことで、その重複する構成および動作の説明については省略する。実施例１と実施例２とが異なるところは、データサーバ３の認証部３２を認証部３２Ａに変更した点である。
【００７２】
通信端末１のアプリケーション１０は、ユーザからユーザＩＤ、ユーザパスワードおよび、データアクセス先としてユーザが所望するデータサーバ３の情報を取得する。そして、アプリケーション１０は、アプリケーション１０に係る情報およびデータサーバ３の情報を、アプリケーションサーバ２へ送信する。また、通信端末１のアプリケーション１０は、アプリケーションサーバ２によって正当であることが認証された場合に発行されるアプリ認証トークンを、ユーザから指定されたデータアクセス先のデータサーバ３に送信する。
【００７３】
データサーバ３の認証部３２Ａは、通信端末１から受信したアプリ認証トークンに基づいて、アプリ認証トークンの正当性を認証する。また、認証部３２は、アプリ認証トークンの正当性が認証された場合に、データアクセストークンを生成する。そして、認証部３２は、正当性が認証されたことを示す認証結果と生成したデータアクセストークンを、通信端末１に送信する。これにより、通信端末１のアプリケーション１０は、生成されたデータアクセストークンにより、発行ＵＲＬａ１で示されるサービスに対応するデータのアクセス先へアクセスすることが可能となる。すなわち、アプリケーション１０は、アプリケーション１０が認証されたアプリ認証トークンさえあれば、ユーザ認証を必要としない簡易な形でデータをアクセスすることが可能となる。例えば、アクセス先のデータとして、書き込みは不可であるが、読み出しは可能であるデータが挙げられる。このようなアクセス先のデータの具体例として、特定のアプリケーション１０を利用するユーザのみに公開したいマニュアル情報や、公開のみに限定された内部動作情報が挙げられる。
【００７４】
［端末装置側での処理手順］
次に、端末装置側での処理手順について、図８を参照して説明する。図８は、実施例２に係る端末装置側での処理のフローチャートを示す図である。なお、端末装置側の端末を通信端末１として説明する。
【００７５】
まず、通信端末１のアプリケーション１０は、ユーザ入力によりデータアクセス先を取得する（ステップＳ４１）。ここで、データアクセス先は、例えば、ユーザがアクセスしたいデータサーバ３のＵＲＬである。
【００７６】
そして、アプリケーション１０は、アプリＩＤ、アプリパスワードおよびデータアクセス先をサービス側に送信する（ステップＳ４２）。例えば、アプリＩＤおよびアプリパスワードは、アプリケーション１０の所定の領域に埋め込まれている。アプリケーション１０は、所定の領域に埋め込まれているアプリＩＤおよびアプリパスワードを抽出し、抽出したアプリＩＤおよびアプリパスワードを自身に対応するサービスに送信する。
【００７７】
続いて、アプリケーション１０は、アプリケーション１０の認証（アプリ認証）が成功したことを示す認証結果をサービス側から受信したか否かを判定する（ステップＳ４３）。アプリ認証が成功したことを示す認証結果を受信したと判定した場合（ステップＳ４３；Ｙｅｓ）、アプリケーション１０は、ユーザ入力によりユーザＩＤおよびユーザパスワードを取得し、認証処理に進む旨指示を受ける（ステップＳ４４）。
【００７８】
そして、アプリケーション１０は、サービス側から受信したアプリ認証トークンをデータアクセス先に送信する（ステップＳ４５）。つまり、アプリケーション１０は、ユーザから取得したデータアクセス先、すなわち、ユーザがアクセスしたいデータサーバ３のＵＲＬに、アプリ認証トークンを送信する。
【００７９】
一方、アプリ認証が成功したことを示す認証結果を受信しなかったと判定した場合（ステップＳ４３；Ｎｏ）、アプリケーション１０は、アプリ認証が失敗したことを示す認証結果を、例えばモニタに出力する（ステップＳ４８）。
【００８０】
続いて、アプリケーション１０は、認証が成功したことを示す認証結果をデータサーバ３から受信したか否かを判定する（ステップＳ４６）。認証が成功したことを示す認証結果を受信したと判定した場合（ステップＳ４６；Ｙｅｓ）、アプリケーション１０は、データサーバ３から受信したデータアクセストークンを用いて、データアクセスを実行する（ステップＳ４７）。例えば、アプリケーション１０は、データアクセストークンを用いて、ユーザから取得するデータの詳細なアクセス先へアクセスする。すなわち、アプリケーション１０は、ユーザの認証がされなくても、ユーザによって指定されるデータサーバ３の記憶領域のうち、自ユーザで区分され且つサービスに対応するデータ領域にアクセスできる。
【００８１】
一方、認証が成功したことを示す認証結果を受信しなかったと判定した場合（ステップＳ４６；Ｎｏ）、アプリケーション１０は、認証が失敗したことを示す認証結果を、例えばモニタに出力する（ステップＳ４８）。
【００８２】
［アプリケーションサーバでのアプリ認証処理の手順］
アプリケーションサーバ２でのアプリ認証処理の手順は、図５で説明したとおりであるので、その説明を省略する。
【００８３】
［データサーバでの認証処理の手順］
次に、データサーバ３での認証処理の手順について、図９を参照して説明する。図９は、実施例２に係るデータサーバでの認証処理のフローチャートを示す図である。
【００８４】
データサーバ３の認証部３２は、通信端末１からアプリ認証トークンを受信したか否かを判定する（ステップＳ５１）。アプリ認証トークンを受信していないと判定した場合（ステップＳ５１；Ｎｏ）、認証部３２Ａは、認証が失敗したことを示す認証結果を送信元の通信端末１に送信すべく、ステップＳ５６に移行する。
【００８５】
一方、アプリ認証トークンを受信したと判定した場合（ステップＳ５１；Ｙｅｓ）、認証部３２Ａは、アプリ認証トークンを検証する（ステップＳ５２）。そして、認証部３２Ａは、アプリ認証トークンの検証に成功したか否かを判定する（ステップＳ５３）。アプリ認証トークンの検証に成功しなかったと判定した場合（ステップＳ５３；Ｎｏ）、認証部３２Ａは、認証が失敗したことを示す認証結果を送信元の通信端末１に送信すべく、ステップＳ５６に移行する。
【００８６】
一方、アプリ認証トークンの検証に成功したと判定した場合（ステップＳ５３；Ｙｅｓ）、認証部３２Ａは、データアクセストークンを生成する（ステップＳ５４）。そして、認証部３２Ａは、認証が成功したことを示す認証結果と、生成されたデータアクセストークンとを送信元の通信端末１に送信する（ステップＳ５５）。
【００８７】
一方、アプリ認証トークンの検証に成功しなかったと判定した場合（ステップＳ５３；Ｎｏ）、認証部３２Ａは、認証が失敗したことを示す認証結果を送信元の通信端末１に送信する（ステップＳ５６）。
【００８８】
その後、制御部３３は、通信端末１からデータアクセストークンおよびデータの詳細なアクセス先を受信すると、データアクセストークンに基づいて、詳細なアクセス先のデータへのアクセスを制御する。例えば、制御部３３は、現在がデータアクセストークンに含まれる有効期限内であるか否かを判定し、有効期限内であれば、詳細なアクセス先のデータへのアクセスを許可する。一方、制御部３３は、有効期限内でなければ、詳細なアクセス先のデータへのアクセスを不許可とする。
【００８９】
［実施例２の効果］
上記実施例２によれば、アプリケーションサーバ２は、通信端末１から受信した当該端末が有するアプリケーション１０のアプリＩＤおよびアプリパスワードに基づいて、アプリケーション１０を認証する。そして、アプリケーションサーバ２は、アプリケーション１０の正当性が認証された場合に、アプリケーション１０がアクセスするデータを記憶するデータサーバ３を示すサーバ情報を含んだアプリ認証トークンを発行する。そして、データサーバ３の認証部３２Ａは、通信端末１からアプリ認証トークンのみを受け付けると、アプリ認証トークンに基づいて、当該アプリ認証トークンに含まれるサーバ情報が自装置のデータサーバ３を示すか否かを判定する。そして、データサーバ３は、サーバ情報が自装置のデータサーバ３を示す場合に、通信端末１のアプリケーション１０によるデータへのアクセスを許可する。かかる構成によれば、通信端末１のアプリケーション１０は、アプリケーション１０が認証されたアプリ認証トークンさえあれば、ユーザ認証を必要としない簡易な形でデータをアクセスすることが可能となる。
【実施例３】
【００９０】
ところで、実施例２に係るサーバシステム９では、通信端末１にインストールされたアプリケーション１０がユーザによって指定されるデータアクセス先にアクセスする場合について説明した。すなわち、通信端末１にインストールされたアプリケーション１０が、ユーザによって指定されたデータアクセス先のデータサーバ３の情報を含んだアプリ認証トークンのみをデータサーバ３へ送信する。データサーバ３が、アプリ認証トークンを検証し、検証に成功すれば、ユーザによって指定されたデータアクセス先のデータサーバ３へアクセスする。しかしながら、サーバシステム９では、これに限定されず、通信端末１にインストールされたアプリケーション１０が、サービスによって決定されるデータアクセス先、例えばユーザが事前に知らない、ユーザ共通のデータアクセス先にアクセスする場合であっても良い。
【００９１】
そこで、実施例２では、通信端末１にインストールされたアプリケーション１０がサービスによって決定されるデータアクセス先にアクセスすることができるサーバシステム９について説明する。
【００９２】
［実施例３に係るサーバシステム］
図１０は、実施例３に係るサーバシステムの構成を示す機能ブロック図である。なお、図７に示すサーバシステム９と同一の構成については同一符号を付すことで、その重複する構成および動作の説明については省略する。実施例２と実施例３の構成では、アプリケーションサーバ２のトークン発行部２３Ａ、および、個別データストア側にユーザ単位毎でない記憶部３１、すなわち各サービスが管理する記憶部３１を有するデータサーバ３Ａが異なる。
【００９３】
通信端末１のアプリケーション１０は、データアクセス先のキーワードを含むデータのアクセス要求を取得すると、自身の認証をアプリケーションサーバ２に依頼する。例えば、アプリケーション１０は、ユーザが所望するデータアクセス先のキーワードを取得する。そして、アプリケーション１０は、アプリケーション１０に係る情報およびデータアクセス先のキーワードを、アプリケーションサーバ２へ送信する。アプリケーションに係る情報とは、アプリＩＤおよびアプリパスワードのことである。アプリケーションに係る情報は、アプリケーション１０の所定の領域に埋め込まれている。
【００９４】
ここで、データアクセス先のキーワードとは、サービスがデータアクセス先（データサーバ３Ａの情報）を決定できる情報を示す。例えば、データアクセス先のキーワードとして、ＸＸＸ関係のユーザサポートフォーラムのデータアクセス先を決定できる「ＸＸＸ関係」やＹＹＹ関係のＦＡＱ（Frequently  Asked  Questions）のデータアクセス先を決定できる「ＹＹＹ関係」等が挙げられる。
【００９５】
また、通信端末１のアプリケーション１０は、アプリケーションサーバ２によって正当であることが認証された場合に発行されるアプリ認証トークンおよびデータアクセス先情報を、アプリケーションサーバ２から取得する。データアクセス先情報とは、データアクセス先のキーワードからアプリケーションサーバ２によって決定されたデータアクセス先のデータサーバ３Ａの情報である。そして、アプリケーション１０は、アプリ認証トークンを用いて、データアクセス先情報に設定されたデータアクセス先のデータサーバ３Ａへアクセスする。例えば、アプリケーション１０は、アプリ認証トークンを、アプリケーションサーバ２から取得されたデータアクセス先情報に設定されたデータアクセス先のデータサーバ３Ａに送信する。
【００９６】
アプリケーションサーバ２のトークン発行部２３Ａは、アプリケーション１０の正当性が認証された場合に、データアクセス先のキーワードから決定して得られたデータアクセス先（データサーバ３Ａの情報）を含んだアプリ認証トークンを発行する。例えば、トークン発行部２３Ａは、通信端末１から受信されたデータアクセス先のキーワードから、自身のサービスが管理する所定のデータアクセス先を決定する。そして、トークン発行部２３Ａは、決定して得られた所定のデータアクセス先を含んだアプリ認証トークンを発行する。所定のデータアクセス先は、アプリ認証トークンのアクセス先データサーバａ５に設定される。そして、トークン発行部２３Ａは、所定のデータアクセス先を知らせるべく、当該アクセス先を含んだデータアクセス先情報を生成する。
【００９７】
また、トークン発行部２３Ａは、アプリケーション１０の正当性が認証された場合に、正当性が認証されたことを示す認証結果とアプリ認証トークンとデータアクセス先情報を、通信端末１に送信する。これにより、トークン発行部２３Ａは、データアクセス先のキーワードに応じたデータアクセス先をトークンに含めてアプリケーション１０に返せるので、アプリケーション１０自体を個別に変更することなく、データアクセス先にアクセスさせることができる。
【００９８】
データサーバ３Ａの認証部３２Ａは、通信端末１から受信したアプリ認証トークンに基づいて、アプリ認証トークンの正当性を認証する。また、認証部３２Ａは、アプリ認証トークンの正当性が認証された場合に、データアクセストークンを生成する。そして、認証部３２Ａは、正当性が認証されたことを示す認証結果と生成したデータアクセストークンを、通信端末１に送信する。これにより、通信端末１のアプリケーション１０は、生成されたデータアクセストークンにより、発行ＵＲＬａ１で示されるサービスに対応するデータのアクセス先へアクセスすることが可能となる。また、認証部３２Ａは、アプリ認証トークンの正当性が認証されなかった場合に、正当性が認証されなかったことを示す認証結果を、通信端末１に送信する。
【００９９】
［端末装置側での処理手順］
次に、端末装置側での処理手順について、図１１を参照して説明する。図１１は、実施例３に係る端末装置側での処理のフローチャートを示す図である。なお、端末装置側の端末を通信端末１として説明する。
【０１００】
まず、通信端末１のアプリケーション１０は、ユーザ入力よりデータアクセス先キーワードを取得する（ステップＳ６１）。ここで、データアクセス先キーワードとは、例えば、サービスがデータアクセス先であるデータサーバ３Ａを決定できる情報である。そして、アプリケーション１０は、アプリＩＤ、アプリパスワードおよびデータアクセス先キーワードをサービス側に送信する（ステップＳ６２）。
【０１０１】
続いて、アプリケーション１０は、アプリケーション１０の認証（アプリ認証）が成功したことを示す認証結果をサービス側から受信したか否かを判定する（ステップＳ６３）。アプリ認証が成功したことを示す認証結果を受信したと判定した場合（ステップＳ６３；Ｙｅｓ）、アプリケーション１０は、サービス側から受信したアプリ認証トークンとデータアクセス先情報を取得する（ステップＳ６４）。そして、アプリケーション１０は、ユーザ入力よりユーザＩＤ、ユーザパスワードを取得し、認証処理に進む旨指示を受ける（ステップＳ６５）。
【０１０２】
続いて、アプリケーション１０は、アプリ認証トークンを、データアクセス先情報に設定されたデータアクセス先のデータサーバ３Ａに送信する（ステップＳ６６）。つまり、アプリケーション１０は、データアクセス先キーワードからサービスによって決定されるデータアクセス先に、アプリ認証トークンを送信する。
【０１０３】
一方、アプリ認証が成功したことを示す認証結果を受信しなかったと判定した場合（ステップＳ６３；Ｎｏ）、アプリケーション１０は、アプリ認証が失敗したことを示す認証結果を、例えばモニタに出力する（ステップＳ６９）。
【０１０４】
続いて、アプリケーション１０は、認証が成功したことを示す認証結果をデータサーバ３Ａから受信したか否かを判定する（ステップＳ６７）。認証が成功したことを示す認証結果を受信したと判定した場合（ステップＳ６７；Ｙｅｓ）、アプリケーション１０は、データサーバ３Ａから受信したデータアクセストークンを用いて、データアクセスを実行する（ステップＳ６８）。例えば、アプリケーション１０は、データアクセストークンを用いて、ユーザから取得するデータの詳細なアクセス先へアクセスする。すなわち、アプリケーション１０は、サービスによって指定されるデータサーバ３Ａの記憶領域のうち、サービスに対応するデータ領域にアクセスできる。
【０１０５】
一方、認証が成功したことを示す認証結果を受信しなかったと判定した場合（ステップＳ６７；Ｎｏ）、アプリケーション１０は、認証が失敗したことを示す認証結果を、例えばモニタに出力する（ステップＳ６９）。
【０１０６】
［アプリケーションサーバでのアプリ認証処理の手順］
次に、アプリケーションサーバ２でのアプリ認証処理の手順について、図１２を参照して説明する。図１２は、実施例３に係るアプリケーションサーバでのアプリ認証処理のフローチャートを示す図である。
【０１０７】
アプリケーションサーバ２のアプリ認証部２２は、端末装置側からアプリＩＤ、アプリパスワードおよびデータアクセス先キーワードを受信したか否かを判定する（ステップＳ７１）。アプリＩＤ、アプリパスワードおよびデータアクセス先キーワードを受信していないと判定した場合（ステップＳ７１；Ｎｏ）、アプリ認証部２２は、アプリ認証が失敗したことを示す認証結果を送信元の通信端末１に送信すべく、ステップＳ７８に移行する。
【０１０８】
一方、アプリＩＤ、アプリパスワードおよびデータアクセス先キーワードを受信したと判定した場合（ステップＳ７１；Ｙｅｓ）、アプリ認証部２２は、アプリＩＤおよびアプリパスワードを用いて、アプリケーション１０を認証する（ステップＳ７２）。
【０１０９】
続いて、アプリ認証部２２は、アプリケーション１０の認証（アプリ認証）が成功したか否かを判定する（ステップＳ７３）。アプリ認証が成功したと判定した場合（ステップＳ７３；Ｙｅｓ）、トークン発行部２３Ａは、データアクセス先キーワードからデータアクセス先を決定する（ステップＳ７４）。例えば、トークン発行部２３Ａは、データアクセス先キーワードから、自身のサービスが管理する所定のデータアクセス先を決定する。
【０１１０】
続いて、トークン発行部２３Ａは、決定したデータアクセス先を含むアプリ認証トークンを生成する（ステップＳ７５）。そして、トークン発行部２３Ａは、決定したデータアクセス先を送信元の通信端末１に知らせるべく、当該アクセス先を含んだデータアクセス先情報を生成する（ステップＳ７６）。そして、トークン発行部２３Ａは、アプリ認証が成功したことを示す認証結果と、生成されたアプリ認証トークンと、生成されたデータアクセス先情報とを送信元の通信端末１に送信する（ステップＳ７７）。
【０１１１】
一方、アプリ認証が成功しなかったと判定した場合（ステップＳ７３；Ｎｏ）、トークン発行部２３Ａは、アプリ認証が失敗したことを示す認証結果を送信元の通信端末１に送信する（ステップＳ７８）。
【０１１２】
［データサーバでの認証処理の手順］
データサーバ３Ａでの認証処理の手順は、図９で説明したとおりであるので、その説明を省略する。
【０１１３】
なお、トークン発行部２３Ａは、アプリ認証トークンとデータアクセス先情報を、通信端末１に送信するようにした。しかしながら、トークン発行部２３Ａは、データアクセス先情報の代わりにアプリ認証トークンのアクセス先データサーバａ５を参照させることで、データアクセス先情報を通信端末１に送信しないようにしても良い。この場合、通信端末１のアプリケーション１０は、アプリ認証トークンをアプリケーションサーバ２から取得し、アプリ認証トークンに含まれるアクセス先データサーバａ５を参照する。そして、アプリケーション１０は、アプリ認証トークンを、アクセス先データサーバａ５が示すデータサーバ３Ａに送信するようにすれば良い。これにより、トークン発行部２３Ａはデータアクセス先情報を通信端末１へ送信しなくて良いので、通信端末１とアプリケーションサーバ２間の通信負荷を軽減できる。
【０１１４】
また、データアクセス先のキーワードは、サービスがデータアクセス先（データサーバ３Ａの情報）を決定できる情報を示すものと説明した。しかしながら、データアクセス先のキーワードは、これに限定されず、サービスがデータアクセス先（データサーバ３Ａの情報）を管理している情報（例えばＵＲＬ）そのものを含むものであっても良い。この場合、アプリケーションサーバ２のトークン発行部２３Ａは、アプリケーション１０の正当性が認証された場合に、データアクセス先のキーワードをサービスが管理しているか否かを判定する。そして、トークン発行部２３Ａは、サービスが管理していると判定した場合、データアクセス先のキーワードをアクセス先データサーバａ５にそのまま設定したアプリ認証トークンを発行する。一方、トークン発行部２３Ａは、サービスが管理していないと判定した場合、自身のサービスが管理する所定のデータアクセス先を決定し、決定して得られた所定のデータアクセス先をアクセス先データサーバａ５に設定したアプリ認証トークンを発行する。そして、トークン発行部２３Ａは、アプリケーション１０の正当性が認証された場合に、正当性が認証されたことを示す認証結果とアプリ認証トークンを、通信端末１に送信する。これにより、トークン発行部２３Ａは、サービスがデータアクセス先を管理している情報そのものであってもユーザに指定できるようにすることで、ユーザに対して汎用性のあるデータアクセスをさせることができる。また、トークン発行部２３Ａは、データアクセス先情報を通信端末１へ送信しなくて良いので、通信端末１とアプリケーションサーバ２間の通信負荷を軽減できる。
【０１１５】
また、トークン発行部２３Ａは、データアクセス先のキーワードから決定して得られたデータアクセス先（データサーバ３Ａの情報）を含んだアプリ認証トークンを発行するようにした。しかしながら、トークン発行部２３Ａは、これに限定されず、データアクセス先のキーワードのみならずアプリＩＤから決定して得られたデータアクセス先（データサーバ３Ａの情報）を含んだアプリ認証トークンを発行するようにしても良い。これにより、トークン発行部２３Ａは、データアクセス先のキーワードに加えてアプリＩＤに応じたデータアクセス先を決定できることになるので、さらに、決定できるデータアクセス先の幅を拡げることができる。例えば、トークン発行部２３Ａは、アプリＩＤによってバージョンを区別できるとすると、異なるバージョン違いに応じてデータアクセス先を変えることができる。
【０１１６】
［実施例３の効果］
上記実施例３によれば、アプリケーションサーバ２は、通信端末１から受信した当該端末が有するアプリケーション１０のアプリＩＤおよびアプリパスワードに基づいて、アプリケーション１０を認証する。そして、アプリケーションサーバ２のトークン発行部２３Ａは、通信端末１のユーザから指定されたデータアクセス先のキーワードから、自サーバによって決定されたデータアクセス先であるデータサーバ３Ａの情報を含んだアプリ認証トークンを発行する。そして、データサーバ３Ａは、通信端末１からアプリ認証トークンのみを受け付けると、アプリ認証トークンに基づいて、当該アプリ認証トークンに含まれるサーバ情報が自装置のデータサーバ３Ａを示すか否かを判定する。そして、データサーバ３Ａは、サーバ情報が自装置のデータサーバ３Ａを示す場合に、通信端末１のアプリケーション１０によるデータへのアクセスを許可する。かかる構成によれば、アプリケーションサーバ２は、ユーザから指定されたデータアクセス先のキーワードに応じたデータアクセス先をアプリ認証トークンに含めて通信端末１のアプリケーション１０に返せる。この結果、アプリケーションサーバ２は、アプリケーション１０自体を個別に変更することなく、自サーバによって決定されたデータアクセス先へ通信端末１にアクセスさせることができる。また、アプリケーション１０のユーザが事前にデータアクセス先の情報を知らなくても、アプリケーション１０を共通に利用するユーザ同士が、アプリケーションサーバ２によって決定されたユーザ共通のデータアクセス先に対してアクセスすることが可能となる。言い替えれば、通信端末１のアプリケーション１０は、アプリケーション１０が認証されたアプリ認証トークンさえあれば、ユーザ認証を必要とせずに、ユーザ共通のデータアクセス先に対してアクセスすることが可能となる。
【０１１７】
なお、アプリケーションサーバ２は、既知のパーソナルコンピュータ、ワークステーション等の情報処理装置に、上記した記憶部２１とアプリ認証部２２等の各機能を搭載することによって実現することができる。また、データサーバ３は、既知のパーソナルコンピュータ、ワークステーション等の情報処理装置に、上記した記憶部３１と認証部３２等の各機能を搭載することによって実現することができる。
【０１１８】
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、アプリ認証部２２とトークン発行部２３とを１個の部として統合しても良い。一方、認証部３２を、ユーザの正当性を認証する第１の認証部とアプリ認証トークンを認証する第２の認証部とに分散しても良い。また、記憶部２１をアプリケーションサーバ２の外部装置としてネットワーク経由で接続するようにしても良い。
【符号の説明】
【０１１９】
１  通信端末
２  アプリケーションサーバ
３、３Ａ  データサーバ
１０  アプリケーション
２１，３１  記憶部
２２  アプリ認証部
２３、２３Ａ  トークン発行部
３２、３２Ａ  認証部
３３  制御部
【図１】
2014106652.tif 000003
【図２】
2014106652.tif 000004
【図３】
2014106652.tif 000005
【図４】
2014106652.tif 000006
【図５】
2014106652.tif 000007
【図６】
2014106652.tif 000008
【図７】
2014106652.tif 000009
【図８】
2014106652.tif 000010
【図９】
2014106652.tif 000011
【図１０】
2014106652.tif 000012
【図１１】
2014106652.tif 000013
【図１２】
2014106652.tif 000014
【図１３】
2014106652.tif 000015