JP2014106652A - データ参照システムおよびアプリケーション認証方法 - Google Patents

データ参照システムおよびアプリケーション認証方法 Download PDF

Info

Publication number
JP2014106652A
JP2014106652A JP2012258043A JP2012258043A JP2014106652A JP 2014106652 A JP2014106652 A JP 2014106652A JP 2012258043 A JP2012258043 A JP 2012258043A JP 2012258043 A JP2012258043 A JP 2012258043A JP 2014106652 A JP2014106652 A JP 2014106652A
Authority
JP
Japan
Prior art keywords
application
information
data
authentication
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012258043A
Other languages
English (en)
Other versions
JP6044299B2 (ja
Inventor
Akio Shimono
暁生 下野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012258043A priority Critical patent/JP6044299B2/ja
Priority to US14/036,663 priority patent/US20140150055A1/en
Publication of JP2014106652A publication Critical patent/JP2014106652A/ja
Application granted granted Critical
Publication of JP6044299B2 publication Critical patent/JP6044299B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • G06F21/335User authentication using certificates for accessing specific resources, e.g. using Kerberos tickets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】悪意で作成されたデータサーバへアプリケーションの認証関連情報が漏れてしまうことを防止する。
【解決手段】サーバシステム9は、アプリケーションサーバ2とデータサーバ3とを有する。アプリケーションサーバ2は、通信端末1から受信した当該端末が有するアプリケーション10に係る情報に基づいて、アプリケーション10を認証するアプリ認証部22と、アプリケーション10の正当性が認証された場合に、アプリケーション10がアクセスするデータを記憶するサーバを示すサーバ情報を含んだ署名情報を発行するトークン発行部23とを有する。データサーバ3は、通信端末1から受信した署名情報に基づいて、当該署名情報に含まれるサーバ情報がデータサーバ3を示すか否かを判定する認証部32と、サーバ情報がデータサーバ3を示す場合に、通信端末1のアプリケーション10によるデータへのアクセスを許可する制御部33とを有する。
【選択図】図1

Description

本発明は、データ参照システムおよびアプリケーション認証方法に関する。
インターネットなどを通じて、ユーザがネットワーク上で提供されるサービスを利用することが行われている。ユーザは、サービスを提供する側がデータを管理するサービスに、ネットワークを通じてアクセスする。
ユーザは、例えばブラウザ等により直接、サービスにアクセスする形式がある。ユーザ毎のデータは、サービスを提供する側によって管理されている。ユーザがネットワーク上で提供されるサービスを利用する際、サービス提供側は、ユーザのデータによって個別に設定された利用許可等の内容に応じてサービスを提供する。
また、ユーザは、アプリケーションを通じてサービスにアクセスする形式がある。この形式では、アプリケーションが必ずしもサービス提供側で作成されたものと限らないため、サービス提供側は、ユーザのアプリケーションを用いてのサービスへの接続許可に対する認証のほかにアプリケーションのアクセス許可に対する認証を行う。
アプリケーションのアクセス許可に対する認証では、サービス提供側がアプリケーションからのアクセスを許可した際に、アプリケーションの識別IDおよびパスワードを発行する。そして、サービス提供側は、アプリケーションからサービスへの接続の際に、アプリケーションの識別IDおよびパスワードを利用した認証を行う。認証が完了すると、サービス提供側は、トークンを発行し、アプリケーションはトークンを用いて、ユーザからの操作に応じて、サービスへのアクセスを行う。このアプリケーションの認証手法として、OAuthが知られている(例えば、特許文献1)。
ところで、通常、サービスと、サービスに伴い生成されるデータは常に連携している必要があることから、サービス提供側がデータを管理する形式となる。このため、データの内容自体はユーザから派生しているものであるにも関わらず、ユーザは当該サービスに関連したデータを自由に利用したり、サービス提供者に秘匿したり、確実に処分することができない。
このため、サービス提供側がデータを管理する形態では、例えば、ユーザが入力または編集したデータであるにも関わらず、ネットワーク上で提供される他のサービスからのアクセスや利用は困難である。また、仮に、他のサービスからのアクセスが許可された場合でも、サービスのセキュリティ、および、データのセキュリティを十分に保ちつつ、他のサービスからのデータの利用を行うことは難しい。
そこで、サービスとデータとを分離することにより、ユーザが自身のデータを自身のコントロール配下で一元管理することが可能となる技術がある(例えば、特許文献2)。
特開2012−194722号公報 国際公開第2012/077223号
しかしながら、サービスとデータとを分離することにより、ユーザが自身のデータを自身のコントロール配下で一元管理する場合、サービスを利用するアプリケーションは、データにアクセスを行うためには、サービス提供元とともに、データの保存場所にもアクセスを行う必要がある。サービス提供側がデータを管理する形態では、アプリケーションはサービス提供側のみに認証関連情報を伝えれば十分であるが、サービス提供元とデータ保存場所が分離されている場合、認証関連情報は、サービス提供元とデータ保存場所の双方に伝える必要がある。
また、アプリケーションの認証関連情報が漏洩した場合、サービス提供側がデータを管理する形態では、サービス提供側の対応による悪用防止が可能であるが、サービス提供元とデータ保存場所が分離されている場合、その漏洩による影響の度合いは大きい。
このため、例えば、悪意で作成されたデータの保存場所にアプリケーションの認証関連情報が漏れた場合、アプリケーションの認証関連情報を利用した、正当でないアプリケーションを生成してしまうという問題がある。なお、データの保存場所のことを、例えば「データストア」という。
ここで、この問題について、図13を参照して説明する。図13は、悪意で作成されたデータストアにアプリケーションの認証関連情報が漏れた状況を示す図である。図13に示すように、サービスとデータストアとが分離されることにより、ユーザU1,U2が自身のデータを自身のコントロール配下で一元管理できる。ここでは、データストア1が通常のデータストアであり、ユーザU2は悪意のユーザであり、データストア2が入手した情報を利用可能であるとする。
悪意のユーザU2がアプリケーションAを用いて悪意のデータストア2にアクセスする場合、アプリケーションAは、悪意のデータストア2に対してアプリケーションAの識別IDおよびパスワードを利用した認証を行う。ここで、アプリケーションAは、認証関連情報として、アプリケーションAの識別IDおよびパスワードを用いる。
これにより、データストア2は、アプリケーションAの識別IDおよびパスワードを利用した、正当でないアプリケーションAを生成することが可能となる。アプリケーションAが生成されると、アプリケーションAは他のデータストアやサービスに対し、アプリケーションAの認証関連情報を用いることができるから、アプリケーションAはアプリケーションAになりすますことが可能となる。すなわち、データストア経由でアプリケーションAの認証関連情報が入手可能な状況は、セキュリティ上、望ましくない。
なお、サービス提供側がデータを管理する場合では、アプリケーションのアクセス先はサービスのみに限られ、サービスがアプリケーションを認証するので、アプリケーションの認証関連情報が、通常の利用態様でサービス提供者以外に用いられるという状況は生じないし、アプリケーションの認証関連情報は、当該サービスのみに通常用いられるから、サービス提供側で認証関連情報漏洩に対応可能である。
1つの側面では、悪意で作成されたデータの保存場所へアプリケーションの認証関連情報が漏れてしまうことを防止することを目的とする。
本願の開示するデータ参照システムは、第1の情報処理装置と第2の情報処理装置とを有する。第1の情報処理装置は、アプリケーションを通じたアクセスを受けたときに、前記アプリケーションに係る情報に基づいて、前記アプリケーションの正当性を認証する認証部と、前記アプリケーションの正当性が認証された場合に、前記アプリケーションがアクセスするデータを記憶する情報処理装置を示す処理装置情報を含んだ署名情報を発行する発行部とを有する。第2の情報処理装置は、アプリケーションを通じた署名情報を伴うアクセスを受けたときに、前記アクセスに伴う署名情報に基づいて、当該署名情報に含まれる処理装置情報が前記第2の情報処理装置を示すか否かを判定する判定部と、前記処理装置情報が前記第2の情報処理装置と対応する場合に、前記アプリケーションによるデータへのアクセスを許可する制御部とを有する。
本願の開示するデータ参照システムの1つの態様によれば、悪意で作成されたデータの保存場所へアプリケーションの認証関連情報が漏れてしまうことを防止することができる。
図1は、実施例1に係るサーバシステムの全体構成を示すブロック図である。 図2は、アプリ認証トークンの内容の一例を示す図である。 図3は、データアクセストークンの内容の一例を示す図である。 図4は、実施例1に係る端末装置側での処理のフローチャートを示す図である。 図5は、実施例1に係るアプリケーションサーバでのアプリ認証処理のフローチャートを示す図である。 図6は、実施例1に係るデータサーバでの認証処理のフローチャートを示す図である。 図7は、実施例2に係るサーバシステムの全体構成を示すブロック図である。 図8は、実施例2に係る端末装置側での処理のフローチャートを示す図である。 図9は、実施例2に係るデータサーバでの認証処理のフローチャートを示す図である。 図10は、実施例3に係るサーバシステムの全体構成を示すブロック図である。 図11は、実施例3に係る端末装置側での処理のフローチャートを示す図である。 図12は、実施例3に係るアプリケーションサーバでのアプリ認証処理のフローチャートを示す図である。 図13は、悪意で作成されたデータストアにアプリケーションの認証関連情報が漏れてしまうという問題を説明するための図である。
以下に、本願の開示するデータ参照システムおよびアプリケーション認証方法の実施例を図面に基づいて詳細に説明する。なお、実施例によりこの発明が限定されるものではない。
[サーバシステムの構成]
図1は、実施例に係るサーバシステムの全体を示す図である。図1に示すように、サーバシステム9は、通信端末1を含む端末装置側と、複数のアプリケーションサーバ2を含むサービス側と、複数のデータサーバ3を含む個別データストア側とを有する。端末装置側は、サービス側および個別データストア側とそれぞれインターネット網を示すネットワーク4で接続されている。すなわち、サーバシステム9は、サービス側と個別データストア側とを分離することにより、端末装置側が自身のデータをコントロールすることを可能とする。つまり、サーバシステム9は、複数のサービスそれぞれで提供されるアプリケーションを端末装置側に利用させながらも、端末装置側のユーザが指定したデータサーバ3にアクセスしてユーザ個人のデータを当該データサーバ3で一括して管理する。
端末装置側には、通信端末1が備えられる。通信端末1には、例えば、アプリケーションサーバ2によって配信されるアプリケーション10が記憶されている。通信端末1は、例えば、スマートフォンであったり、PHS(Personal Handyphone System)であったり、PDA(Personal Digital Assistants)であっても良く、通信可能な通信端末であれば良い。アプリケーション10は、サービス側のアプリケーションサーバ2によって携帯端末側がサービスの提供を受けるためのプログラムである。通信端末1は、ユーザが提供を受けたいサービスに対応するアプリケーションを、当該サービスを提供するアプリケーションサーバ2から取得し、RAM(Random Access Memory)やHDD(Hard Disk Drive)に格納する。
なお、端末装置側には、アプリケーション10を記憶する通信端末1が備えられると説明したが、これに限定されず、通信端末1と異なる種類の端末が備えられるとしても良い。例えば、アプリケーション10を記憶するPC(Personal Computer)やアプリケーション10を記憶するサーバが備えられるとしても良い。また、アプリケーション10を記憶しないPCがアプリケーション10を記憶するサーバにアクセスする場合であっても良い。
サービス側には、アプリケーションサーバ2が備えられる。アプリケーションサーバ2は、通信装置1にインストールされたアプリケーション10を通じて、通信装置1にサービスを提供する。アプリケーション10は、アプリケーションサーバ2から配信されることによりインストールされても良いし、その他の手段によりインストールされても良い。アプリケーションサーバ2は、1つのサービスを提供するサーバであっても良いし、複数のサービスを提供するサーバであっても良い。ここでは、アプリケーションサーバ2は、1つのサービスを提供するサーバの例である。さらに、アプリケーションサーバ2は、記憶部21と、アプリ認証部22と、トークン発行部23とを有する。
個別データストア側には、データサーバ3が備えられる。データサーバ3は、データの格納領域(「データストア」という)を有するサーバである。データサーバ3は、例えばデータストアを提供するプロバイダを指す。さらに、データサーバ3は、ユーザ単位毎に、記憶部31と、認証部32と、制御部33とを有する。
通信端末1のアプリケーション10は、データアクセス先を含むデータのアクセス要求を取得すると、自身の認証をアプリケーションサーバ2に依頼する。例えば、アプリケーション10は、ユーザからユーザID(Identification)、ユーザパスワードおよび、データアクセス先としてユーザが所望するデータサーバ3の情報を取得する。そして、アプリケーション10は、アプリケーション10に係る情報およびデータサーバ3の情報を、アプリケーションサーバ2へ送信する。ここで、アプリケーションに係る情報とは、例えばアプリケーション固有のアプリケーションID(以降、アプリIDと略記)およびアプリケーションのパスワード(以降、アプリパスワードと略記)である。アプリケーションに係る情報は、アプリケーション10の所定の領域に埋め込まれている。データサーバ3の情報は、例えばデータサーバ3のURLである。なお、アプリIDは、端末の種類によって異なるようにしても良い。
また、通信端末1のアプリケーション10は、アプリケーションサーバ2によって正当であることが認証された場合に発行されるアプリ認証トークンを用いて、ユーザが所望するデータアクセス先のデータサーバ3へアクセスする。例えば、アプリケーション10は、ユーザID、ユーザパスワードおよびアプリ認証トークンを、ユーザから指定されたデータアクセス先のデータサーバ3に送信する。なお、アプリ認証トークンの内容は、後述する。
また、通信端末1のアプリケーション10は、データサーバ3によって正当であることが認証された場合に発行されるデータアクセストークンを用いて、当該データサーバ3のデータの詳細なアクセス先へアクセスする。データの詳細なアクセス先は、ユーザから取得される。なお、データアクセストークンの内容は、後述する。
アプリケーションサーバ2の記憶部21は、例えばフラッシュメモリ(Flash Memory)やFRAM(登録商標)(Ferroelectric Random Access Memory)等の不揮発性の半導体メモリ素子等や、ハードディスク(HDD)等の記憶装置に対応する。そして、記憶部21は、例えば、アプリケーション10を有する。このアプリケーション10が通信端末1に配信される。
アプリケーションサーバ2のアプリ認証部22は、通信端末1から受信した当該端末が有するアプリケーション10に係る情報に基づいて、アプリケーション10を認証する。例えば、アプリ認証部22は、通信端末1からアプリケーション10に係る情報およびデータアクセス先の情報を取得する。そして、アプリ認証部22は、アプリケーション10に係る情報、すなわちアプリIDおよびアプリパスワードが正当であるか否かを認証する。
アプリケーションサーバ2のトークン発行部23は、アプリケーション10の正当性が認証された場合に、通信端末1から受信したデータアクセス先であるデータサーバ3の情報を含んだアプリ認証トークンを発行する。ここで、アプリ認証トークンの内容を、図2を参照して説明する。図2は、アプリ認証トークンの内容の一例を示す図である。
図2に示すように、アプリ認証トークンには、発行URL(Uniform Resource Locator)a1、有効期限a2、アプリIDa3、電子署名a4およびアクセス先データサーバa5が対応付けて設定される。発行URLa1は、アプリ認証トークンを発行する発行元のURLを示す。ここでは、発行URLa1には、アプリ認証トークンを発行するサービスのURLが設定される。有効期限a2は、発行されるアプリ認証トークンの有効期限を示し、一例として1時間が設定される。
アプリIDa3は、アプリ認証トークンを使用する端末のアプリケーション10のアプリIDを示す。ここでは、アプリIDa3には、通信端末1から受信したアプリIDが設定される。アプリIDa3が端末の種類によって異なれば、端末の種類毎に異なる機能制限を設けることができる。一例として、端末の種類毎にアクセス機能のレベルを変えることができる。
電子署名a4は、アプリ認証トークンの正当性を保証し、改ざんや偽造がないことを示す。アクセス先データサーバa5は、アプリケーション10がデータをアクセスするデータサーバ3の宛先を示す。ここでは、アクセス先データサーバa5には、通信端末1から受信したデータアクセス先であるデータサーバ3の情報が設定される。
図1に戻って、トークン発行部23は、アプリケーション10の正当性が認証された場合に、正当性が認証されたことを示す認証結果とアプリ認証トークンを、通信端末1に送信する。また、トークン発行部23は、アプリケーション10の正当性が認証されなかった場合に、正当性が認証されなかったことを示す認証結果を、通信端末1に送信する。
データサーバ3の記憶部31は、例えばフラッシュメモリ(Flash Memory)やFRAM(登録商標)(Ferroelectric Random Access Memory)等の不揮発性の半導体メモリ素子等や、ハードディスク等の記憶装置に対応する。記憶部31は、ユーザ単位毎に区分され管理されている。ここでいうユーザとは、通信端末1のユーザに対応する。ここでいうサービスとは、アプリケーションサーバ2によって提供されるサービスに対応する。例えば、ユーザ100の通信端末1が、サービスAのアプリケーション10によってサービスの提供を受けているとする。すると、ユーザ100の通信端末1は、ユーザ100が指定するデータサーバ3の、ユーザ100で区分される記憶領域のうち、サービスAに対応するデータ領域にアクセスできる。
データサーバ3の認証部32は、通信端末1から受信したアプリ認証トークンに基づいて、アプリ認証トークンの正当性を認証する。例えば、認証部32は、アプリ認証トークンに含まれるアクセス先データサーバa5が自装置のデータサーバ3を示すか否かを判定する。これにより、認証部32は、アプリ認証トークンに含まれるアクセス先データサーバa5の正当性を認証できる。また、認証部32は、アプリ認証トークンに基づいて、アプリ認証トークンに含まれる発行URLa1がサービスのURLを示すか否かを判定する。これにより、認証部32は、アプリ認証トークンに含まれる発行URLa1の正当性を認証できる。また、認証部32は、アプリ認証トークンに基づいて、アプリ認証トークンに電子署名a4が含まれているか否かを判定する。また、認証部32は、アプリ認証トークンに基づいて、現在がアプリ認証トークンに含まれる有効期限a4内であるか否かを判定する。これにより、認証部32は、アプリ認証トークン自体の正当性を認証できる。
また、データサーバ3の認証部32は、通信端末1から受信したユーザIDおよびユーザパスワードに基づいて、ユーザの正当性を認証する。例えば、認証部32は、ユーザIDおよびユーザパスワードが、自身が管轄するユーザに合致するか否かを判定する。
また、認証部32は、アプリ認証トークンおよびユーザの正当性が認証された場合に、データアクセストークンを生成する。そして、認証部32は、正当性が認証されたことを示す認証結果と生成したデータアクセストークンを、通信端末1に送信する。これにより、通信端末1のアプリケーション10は、生成されたデータアクセストークンにより、発行URLa1で示されるサービスに対応するデータのアクセス先へアクセスすることが可能となる。ここで、データアクセストークンの内容を、図3を参照して説明する。図3は、データアクセストークンの内容の一例を示す図である。
図3に示すように、データアクセストークンには、識別子d1および有効期限d2が対応付けて設定される。識別子d1は、データアクセストークンを一意に表す情報である。一例として、識別子d1は、識別番号であるが、識別名であっても良く、データアクセストークンを識別することができれば良い。有効期限d2は、発行されるデータアクセストークンの有効期限を示し、一例として1時間が設定される。
図1に戻って、認証部32は、アプリ認証トークンの正当性が認証されなかった場合に、正当性が認証されなかったことを示す認証結果を、通信端末1に送信する。
制御部33は、通信端末1から受信したデータアクセストークンに基づいて、通信端末1のアプリケーション10によるデータへのアクセスを制御する。例えば、制御部33は、通信端末1から受信したデータアクセストークンに基づいて、現在がデータアクセストークンに含まれる有効期限d2内であるか否かを判定する。これにより、制御部33は、データアクセストークンの有効性を確認できる。そして、制御部33は、有効期限d2内であると判定した場合に、通信端末1から受信した詳細なアクセス先のデータへのアクセスを許可する。
なお、制御部33は、認証部32によって用いられたアプリ認証トークンに含まれるアプリIDa3が端末の種類によって異なれば、端末の種類毎に異なるアクセス制限を設けることができる。すなわち、制御部33は、アプリ認証トークンに含まれるアプリIDa3に応じて、通信端末1から受信した詳細なアクセス先のデータへのアクセスを制御する。一例として、アプリIDa3が通信端末1用のIDであれば、アクセス先のデータへのアクセスをリードのみとし、アプリIDa3がサーバ用のIDであれば、アクセス先のデータへのアクセスをライト可能とするように制御する。
[端末装置側での処理手順]
次に、端末装置側での処理手順について、図4を参照して説明する。図4は、実施例1に係る端末装置側での処理のフローチャートを示す図である。なお、端末装置側の端末を通信端末1として説明する。
まず、通信端末1のアプリケーション10は、ユーザ入力によりデータアクセス先を取得する(ステップS11)。ここで、データアクセス先は、例えば、ユーザがアクセスしたいデータサーバ3のURLである。
そして、アプリケーション10は、アプリID、アプリパスワードおよびデータアクセス先をサービス側に送信する(ステップS12)。例えば、アプリIDおよびアプリパスワードは、アプリケーション10の所定の領域に埋め込まれている。アプリケーション10は、所定の領域に埋め込まれているアプリIDおよびアプリパスワードを抽出し、抽出したアプリIDおよびアプリパスワードを自身に対応するサービスに送信する。
続いて、アプリケーション10は、アプリケーション10の認証(アプリ認証)が成功したことを示す認証結果をサービス側から受信したか否かを判定する(ステップS13)。アプリ認証が成功したことを示す認証結果を受信したと判定した場合(ステップS13;Yes)、アプリケーション10は、ユーザ入力によりユーザIDおよびユーザパスワードを取得する(ステップS13A)。
そして、アプリケーション10は、ユーザID、ユーザパスワードおよびサービス側から受信したアプリ認証トークンをデータアクセス先に送信する(ステップS14)。つまり、アプリケーション10は、ユーザから取得したデータアクセス先、すなわち、ユーザがアクセスしたいデータサーバ3のURLに、ユーザID、ユーザパスワードおよびアプリ認証トークンを送信する。
一方、アプリ認証が成功したことを示す認証結果を受信しなかったと判定した場合(ステップS13;No)、アプリケーション10は、アプリ認証が失敗したことを示す認証結果を、例えばモニタに出力する(ステップS17)。
続いて、アプリケーション10は、認証が成功したことを示す認証結果をデータサーバ3から受信したか否かを判定する(ステップS15)。認証が成功したことを示す認証結果を受信したと判定した場合(ステップS15;Yes)、アプリケーション10は、データサーバ3から受信したデータアクセストークンを用いて、データアクセスを実行する(ステップS16)。例えば、アプリケーション10は、データアクセストークンを用いて、ユーザから取得するデータの詳細なアクセス先へアクセスする。すなわち、アプリケーション10は、ユーザによって指定されるデータサーバ3の記憶領域のうち、自ユーザで区分され且つサービスに対応するデータ領域にアクセスできる。
一方、認証が成功したことを示す認証結果を受信しなかったと判定した場合(ステップS15;No)、アプリケーション10は、認証が失敗したことを示す認証結果を、例えばモニタに出力する(ステップS17)。
[アプリケーションサーバでのアプリ認証処理の手順]
次に、アプリケーションサーバ2でのアプリ認証処理の手順について、図5を参照して説明する。図5は、実施例1に係るアプリケーションサーバでのアプリ認証処理のフローチャートを示す図である。
アプリケーションサーバ2のアプリ認証部22は、端末装置側からアプリID、アプリパスワードおよびデータアクセス先を受信したか否かを判定する(ステップS21)。アプリID、アプリパスワードおよびデータアクセス先を受信していないと判定した場合(ステップS21;No)、アプリ認証部22は、アプリ認証が失敗したことを示す認証結果を送信元の通信端末1に送信すべく、ステップS26に移行する。
一方、アプリID、アプリパスワードおよびデータアクセス先を受信したと判定した場合(ステップS21;Yes)、アプリ認証部22は、アプリIDおよびアプリパスワードを用いて、アプリケーション10を認証する(ステップS22)。
続いて、アプリ認証部22は、アプリケーション10の認証(アプリ認証)が成功したか否かを判定する(ステップS23)。アプリ認証が成功したと判定した場合(ステップS23;Yes)、トークン発行部23は、データアクセス先を含むアプリ認証トークンを生成する(ステップS24)。そして、トークン発行部23は、アプリ認証が成功したことを示す認証結果と、生成されたアプリ認証トークンとを送信元の通信端末1に送信する(ステップS25)。
一方、アプリ認証が成功しなかったと判定した場合(ステップS23;No)、トークン発行部23は、アプリ認証が失敗したことを示す認証結果を送信元の通信端末1に送信する(ステップS26)。
[データサーバでの認証処理の手順]
次に、データサーバ3での認証処理の手順について、図6を参照して説明する。図6は、実施例1に係るデータサーバでの認証処理のフローチャートを示す図である。
データサーバ3の認証部32は、通信端末1からユーザID、ユーザパスワードおよびアプリ認証トークンを受信したか否かを判定する(ステップS31)。ユーザID、ユーザパスワードおよびアプリ認証トークンを受信していないと判定した場合(ステップS31;No)、認証部32は、認証が失敗したことを示す認証結果を送信元の通信端末1に送信すべく、ステップS36に移行する。
一方、ユーザID、ユーザパスワードおよびアプリ認証トークンを受信したと判定した場合(ステップS31;Yes)、認証部32は、アプリ認証トークンを検証する(ステップS31A)。そして、認証部32は、アプリ認証トークンの検証に成功したか否かを判定する(ステップS31B)。アプリ認証トークンの検証に成功しなかったと判定した場合(ステップS31B;No)、認証部32は、認証が失敗したことを示す認証結果を送信元の通信端末1に送信すべく、ステップS36に移行する。
一方、アプリ認証トークンの検証に成功したと判定した場合(ステップS31B;Yes)、認証部32は、ユーザIDおよびユーザパスワードを用いて、ユーザの正当性を認証する(ステップS32)。
続いて、認証部32は、認証が成功したか否かを判定する(ステップS33)。認証が成功したと判定した場合(ステップS33;Yes)、認証部32は、データアクセストークンを生成する(ステップS34)。そして、認証部32は、認証が成功したことを示す認証結果と、生成されたデータアクセストークンとを送信元の通信端末1に送信する(ステップS35)。
一方、認証が成功しなかったと判定した場合(ステップS33;No)、認証部32は、認証が失敗したことを示す認証結果を送信元の通信端末1に送信する(ステップS36)。
その後、制御部33は、通信端末1からデータアクセストークンおよびデータの詳細なアクセス先を受信すると、データアクセストークンに基づいて、詳細なアクセス先のデータへのアクセスを制御する。例えば、制御部33は、現在がデータアクセストークンに含まれる有効期限内であるか否かを判定し、有効期限内であれば、詳細なアクセス先のデータへのアクセスを許可する。一方、制御部33は、有効期限内でなければ、詳細なアクセス先のデータへのアクセスを不許可とする。
なお、アプリケーションサーバ2のトークン発行部23は、アプリ認証トークンの有効期限a2をアプリ認証トークンに含めるものとした。また、データサーバ3の認証部32は、データアクセストークンの有効期限d2をデータアクセストークンに含めるものとした。これらの有効期限は、端末装置側の端末の種類毎に異なる期限にしても良い。例えば、サーバはPCや移動可能な通信端末と比較して、アプリケーション10の動作を不正に検証される危険性が低い。そこで、サーバに関する有効期限は、PCや移動可能な通信端末に関する有効期限より長く設定されても良い。アプリIDa3が端末の種類によって異なれば、サーバ、PCおよび移動可能な通信端末のいずれの端末であるかが判別できる。これにより、サーバシステム9は、システム全体のセキュリティを向上させることができる。
[実施例1の効果]
上記実施例によれば、アプリケーションサーバ2は、通信端末1から受信した当該端末が有するアプリケーション10のアプリIDおよびアプリパスワードに基づいて、アプリケーション10を認証する。そして、アプリケーションサーバ2は、アプリケーション10の正当性が認証された場合に、アプリケーション10がアクセスするデータを記憶するデータサーバ3を示すサーバ情報を含んだアプリ認証トークンを発行する。そして、データサーバ3は、通信端末1から受信したアプリ認証トークンに基づいて、アプリ認証トークンに含まれるサーバ情報が自装置のデータサーバ3を示すか否かを判定する。そして、データサーバ3は、サーバ情報が自装置のデータサーバ3を示す場合に、通信端末1のアプリケーション10によるデータへのアクセスを許可する。かかる構成によれば、通信端末1は、アプリケーションサーバ2によって認証された結果発行されるアプリ認証トークンを用いて、データサーバ3のデータへのアクセスを行う。したがって、アプリケーション10のアプリIDおよびアプリパスワードがデータサーバ3に通知されないので、アプリケーション10のアプリIDおよびアプリパスワードが悪意のデータサーバ3に漏れない。この結果、アプリケーションサーバ2とデータサーバ3とを含むサーバシステム9は、悪意のデータサーバ3における、アプリケーション10のアプリIDおよびアプリパスワードを用いたアプリケーション10のなりすましを防止できる。
また、上記実施例によれば、アプリケーションサーバ2は、アプリIDによって定められるデータのアクセスレベルを含むアプリ認証トークンを発行する。そして、データサーバ3は、アプリ認証トークンに含まれるアクセスレベルに応じて、通信端末1のアプリケーション10によるデータへのアクセスを許可する。かかる構成によれば、アプリケーションサーバ2は、アプリ認証トークンにアプリIDによって定められるデータのアクセスレベルを含めることで、データサーバ3のデータのアクセスを間接的に管理することができる。すなわち、アプリケーションサーバ2は、データのアクセスレベルを含むアプリ認証トークンを用いて、データサーバ3に対して、データへのアクセスレベルに応じたデータへのアクセスを許可させることができる。
また、上記実施例によれば、アプリケーションサーバ2は、通信端末1のユーザから指定されたデータサーバ3を示すサーバ情報を含んだアプリ認証トークンを発行する。かかる構成によれば、アプリケーションサーバ2は、アプリ認証トークンを用いて通信端末1に対してデータサーバ3にアクセスさせるので、アプリ認証トークンに含まれたユーザから指定されたデータサーバ3にアクセスさせることができる。この結果、ユーザは、自身が指定したデータサーバ3で自身のデータを管理することが可能となる。
ところで、実施例1に係るサーバシステム9では、データサーバ3がユーザの正当性を認証する場合について説明した。すなわち、通信端末1にインストールされたアプリケーション10が、アプリケーションサーバ2によってアプリケーション10の認証がされた結果得られるアプリ認証トークン、ユーザID、ユーザパスワードをデータサーバ3へ送信する。データサーバ3は、アプリ認証トークンの検証とともにユーザの正当性の認証に成功すれば、ユーザによって指定されたデータアクセス先のデータサーバ3へアクセスできる。しかしながら、サーバシステム9では、これに限定されず、データサーバ3がユーザの正当性を認証しない場合であっても良い。すなわち、データサーバ3は、ユーザの正当性の認証をしなくても、アプリ認証トークンの検証に成功すれば、ユーザによって指定されたデータアクセス先のデータサーバ3へアクセスできる。
そこで、実施例2では、データサーバ3がユーザの正当性を認証しなくても、アプリ認証トークンの検証に成功すれば、ユーザによって指定されたデータアクセス先のデータサーバ3へアクセスできるサーバシステム9について説明する。
[実施例2に係るサーバシステム]
図7は、実施例2に係るサーバシステムの構成を示す機能ブロック図である。なお、図1に示すサーバシステム9と同一の構成については同一符号を付すことで、その重複する構成および動作の説明については省略する。実施例1と実施例2とが異なるところは、データサーバ3の認証部32を認証部32Aに変更した点である。
通信端末1のアプリケーション10は、ユーザからユーザID、ユーザパスワードおよび、データアクセス先としてユーザが所望するデータサーバ3の情報を取得する。そして、アプリケーション10は、アプリケーション10に係る情報およびデータサーバ3の情報を、アプリケーションサーバ2へ送信する。また、通信端末1のアプリケーション10は、アプリケーションサーバ2によって正当であることが認証された場合に発行されるアプリ認証トークンを、ユーザから指定されたデータアクセス先のデータサーバ3に送信する。
データサーバ3の認証部32Aは、通信端末1から受信したアプリ認証トークンに基づいて、アプリ認証トークンの正当性を認証する。また、認証部32は、アプリ認証トークンの正当性が認証された場合に、データアクセストークンを生成する。そして、認証部32は、正当性が認証されたことを示す認証結果と生成したデータアクセストークンを、通信端末1に送信する。これにより、通信端末1のアプリケーション10は、生成されたデータアクセストークンにより、発行URLa1で示されるサービスに対応するデータのアクセス先へアクセスすることが可能となる。すなわち、アプリケーション10は、アプリケーション10が認証されたアプリ認証トークンさえあれば、ユーザ認証を必要としない簡易な形でデータをアクセスすることが可能となる。例えば、アクセス先のデータとして、書き込みは不可であるが、読み出しは可能であるデータが挙げられる。このようなアクセス先のデータの具体例として、特定のアプリケーション10を利用するユーザのみに公開したいマニュアル情報や、公開のみに限定された内部動作情報が挙げられる。
[端末装置側での処理手順]
次に、端末装置側での処理手順について、図8を参照して説明する。図8は、実施例2に係る端末装置側での処理のフローチャートを示す図である。なお、端末装置側の端末を通信端末1として説明する。
まず、通信端末1のアプリケーション10は、ユーザ入力によりデータアクセス先を取得する(ステップS41)。ここで、データアクセス先は、例えば、ユーザがアクセスしたいデータサーバ3のURLである。
そして、アプリケーション10は、アプリID、アプリパスワードおよびデータアクセス先をサービス側に送信する(ステップS42)。例えば、アプリIDおよびアプリパスワードは、アプリケーション10の所定の領域に埋め込まれている。アプリケーション10は、所定の領域に埋め込まれているアプリIDおよびアプリパスワードを抽出し、抽出したアプリIDおよびアプリパスワードを自身に対応するサービスに送信する。
続いて、アプリケーション10は、アプリケーション10の認証(アプリ認証)が成功したことを示す認証結果をサービス側から受信したか否かを判定する(ステップS43)。アプリ認証が成功したことを示す認証結果を受信したと判定した場合(ステップS43;Yes)、アプリケーション10は、ユーザ入力によりユーザIDおよびユーザパスワードを取得し、認証処理に進む旨指示を受ける(ステップS44)。
そして、アプリケーション10は、サービス側から受信したアプリ認証トークンをデータアクセス先に送信する(ステップS45)。つまり、アプリケーション10は、ユーザから取得したデータアクセス先、すなわち、ユーザがアクセスしたいデータサーバ3のURLに、アプリ認証トークンを送信する。
一方、アプリ認証が成功したことを示す認証結果を受信しなかったと判定した場合(ステップS43;No)、アプリケーション10は、アプリ認証が失敗したことを示す認証結果を、例えばモニタに出力する(ステップS48)。
続いて、アプリケーション10は、認証が成功したことを示す認証結果をデータサーバ3から受信したか否かを判定する(ステップS46)。認証が成功したことを示す認証結果を受信したと判定した場合(ステップS46;Yes)、アプリケーション10は、データサーバ3から受信したデータアクセストークンを用いて、データアクセスを実行する(ステップS47)。例えば、アプリケーション10は、データアクセストークンを用いて、ユーザから取得するデータの詳細なアクセス先へアクセスする。すなわち、アプリケーション10は、ユーザの認証がされなくても、ユーザによって指定されるデータサーバ3の記憶領域のうち、自ユーザで区分され且つサービスに対応するデータ領域にアクセスできる。
一方、認証が成功したことを示す認証結果を受信しなかったと判定した場合(ステップS46;No)、アプリケーション10は、認証が失敗したことを示す認証結果を、例えばモニタに出力する(ステップS48)。
[アプリケーションサーバでのアプリ認証処理の手順]
アプリケーションサーバ2でのアプリ認証処理の手順は、図5で説明したとおりであるので、その説明を省略する。
[データサーバでの認証処理の手順]
次に、データサーバ3での認証処理の手順について、図9を参照して説明する。図9は、実施例2に係るデータサーバでの認証処理のフローチャートを示す図である。
データサーバ3の認証部32は、通信端末1からアプリ認証トークンを受信したか否かを判定する(ステップS51)。アプリ認証トークンを受信していないと判定した場合(ステップS51;No)、認証部32Aは、認証が失敗したことを示す認証結果を送信元の通信端末1に送信すべく、ステップS56に移行する。
一方、アプリ認証トークンを受信したと判定した場合(ステップS51;Yes)、認証部32Aは、アプリ認証トークンを検証する(ステップS52)。そして、認証部32Aは、アプリ認証トークンの検証に成功したか否かを判定する(ステップS53)。アプリ認証トークンの検証に成功しなかったと判定した場合(ステップS53;No)、認証部32Aは、認証が失敗したことを示す認証結果を送信元の通信端末1に送信すべく、ステップS56に移行する。
一方、アプリ認証トークンの検証に成功したと判定した場合(ステップS53;Yes)、認証部32Aは、データアクセストークンを生成する(ステップS54)。そして、認証部32Aは、認証が成功したことを示す認証結果と、生成されたデータアクセストークンとを送信元の通信端末1に送信する(ステップS55)。
一方、アプリ認証トークンの検証に成功しなかったと判定した場合(ステップS53;No)、認証部32Aは、認証が失敗したことを示す認証結果を送信元の通信端末1に送信する(ステップS56)。
その後、制御部33は、通信端末1からデータアクセストークンおよびデータの詳細なアクセス先を受信すると、データアクセストークンに基づいて、詳細なアクセス先のデータへのアクセスを制御する。例えば、制御部33は、現在がデータアクセストークンに含まれる有効期限内であるか否かを判定し、有効期限内であれば、詳細なアクセス先のデータへのアクセスを許可する。一方、制御部33は、有効期限内でなければ、詳細なアクセス先のデータへのアクセスを不許可とする。
[実施例2の効果]
上記実施例2によれば、アプリケーションサーバ2は、通信端末1から受信した当該端末が有するアプリケーション10のアプリIDおよびアプリパスワードに基づいて、アプリケーション10を認証する。そして、アプリケーションサーバ2は、アプリケーション10の正当性が認証された場合に、アプリケーション10がアクセスするデータを記憶するデータサーバ3を示すサーバ情報を含んだアプリ認証トークンを発行する。そして、データサーバ3の認証部32Aは、通信端末1からアプリ認証トークンのみを受け付けると、アプリ認証トークンに基づいて、当該アプリ認証トークンに含まれるサーバ情報が自装置のデータサーバ3を示すか否かを判定する。そして、データサーバ3は、サーバ情報が自装置のデータサーバ3を示す場合に、通信端末1のアプリケーション10によるデータへのアクセスを許可する。かかる構成によれば、通信端末1のアプリケーション10は、アプリケーション10が認証されたアプリ認証トークンさえあれば、ユーザ認証を必要としない簡易な形でデータをアクセスすることが可能となる。
ところで、実施例2に係るサーバシステム9では、通信端末1にインストールされたアプリケーション10がユーザによって指定されるデータアクセス先にアクセスする場合について説明した。すなわち、通信端末1にインストールされたアプリケーション10が、ユーザによって指定されたデータアクセス先のデータサーバ3の情報を含んだアプリ認証トークンのみをデータサーバ3へ送信する。データサーバ3が、アプリ認証トークンを検証し、検証に成功すれば、ユーザによって指定されたデータアクセス先のデータサーバ3へアクセスする。しかしながら、サーバシステム9では、これに限定されず、通信端末1にインストールされたアプリケーション10が、サービスによって決定されるデータアクセス先、例えばユーザが事前に知らない、ユーザ共通のデータアクセス先にアクセスする場合であっても良い。
そこで、実施例2では、通信端末1にインストールされたアプリケーション10がサービスによって決定されるデータアクセス先にアクセスすることができるサーバシステム9について説明する。
[実施例3に係るサーバシステム]
図10は、実施例3に係るサーバシステムの構成を示す機能ブロック図である。なお、図7に示すサーバシステム9と同一の構成については同一符号を付すことで、その重複する構成および動作の説明については省略する。実施例2と実施例3の構成では、アプリケーションサーバ2のトークン発行部23A、および、個別データストア側にユーザ単位毎でない記憶部31、すなわち各サービスが管理する記憶部31を有するデータサーバ3Aが異なる。
通信端末1のアプリケーション10は、データアクセス先のキーワードを含むデータのアクセス要求を取得すると、自身の認証をアプリケーションサーバ2に依頼する。例えば、アプリケーション10は、ユーザが所望するデータアクセス先のキーワードを取得する。そして、アプリケーション10は、アプリケーション10に係る情報およびデータアクセス先のキーワードを、アプリケーションサーバ2へ送信する。アプリケーションに係る情報とは、アプリIDおよびアプリパスワードのことである。アプリケーションに係る情報は、アプリケーション10の所定の領域に埋め込まれている。
ここで、データアクセス先のキーワードとは、サービスがデータアクセス先(データサーバ3Aの情報)を決定できる情報を示す。例えば、データアクセス先のキーワードとして、XXX関係のユーザサポートフォーラムのデータアクセス先を決定できる「XXX関係」やYYY関係のFAQ(Frequently Asked Questions)のデータアクセス先を決定できる「YYY関係」等が挙げられる。
また、通信端末1のアプリケーション10は、アプリケーションサーバ2によって正当であることが認証された場合に発行されるアプリ認証トークンおよびデータアクセス先情報を、アプリケーションサーバ2から取得する。データアクセス先情報とは、データアクセス先のキーワードからアプリケーションサーバ2によって決定されたデータアクセス先のデータサーバ3Aの情報である。そして、アプリケーション10は、アプリ認証トークンを用いて、データアクセス先情報に設定されたデータアクセス先のデータサーバ3Aへアクセスする。例えば、アプリケーション10は、アプリ認証トークンを、アプリケーションサーバ2から取得されたデータアクセス先情報に設定されたデータアクセス先のデータサーバ3Aに送信する。
アプリケーションサーバ2のトークン発行部23Aは、アプリケーション10の正当性が認証された場合に、データアクセス先のキーワードから決定して得られたデータアクセス先(データサーバ3Aの情報)を含んだアプリ認証トークンを発行する。例えば、トークン発行部23Aは、通信端末1から受信されたデータアクセス先のキーワードから、自身のサービスが管理する所定のデータアクセス先を決定する。そして、トークン発行部23Aは、決定して得られた所定のデータアクセス先を含んだアプリ認証トークンを発行する。所定のデータアクセス先は、アプリ認証トークンのアクセス先データサーバa5に設定される。そして、トークン発行部23Aは、所定のデータアクセス先を知らせるべく、当該アクセス先を含んだデータアクセス先情報を生成する。
また、トークン発行部23Aは、アプリケーション10の正当性が認証された場合に、正当性が認証されたことを示す認証結果とアプリ認証トークンとデータアクセス先情報を、通信端末1に送信する。これにより、トークン発行部23Aは、データアクセス先のキーワードに応じたデータアクセス先をトークンに含めてアプリケーション10に返せるので、アプリケーション10自体を個別に変更することなく、データアクセス先にアクセスさせることができる。
データサーバ3Aの認証部32Aは、通信端末1から受信したアプリ認証トークンに基づいて、アプリ認証トークンの正当性を認証する。また、認証部32Aは、アプリ認証トークンの正当性が認証された場合に、データアクセストークンを生成する。そして、認証部32Aは、正当性が認証されたことを示す認証結果と生成したデータアクセストークンを、通信端末1に送信する。これにより、通信端末1のアプリケーション10は、生成されたデータアクセストークンにより、発行URLa1で示されるサービスに対応するデータのアクセス先へアクセスすることが可能となる。また、認証部32Aは、アプリ認証トークンの正当性が認証されなかった場合に、正当性が認証されなかったことを示す認証結果を、通信端末1に送信する。
[端末装置側での処理手順]
次に、端末装置側での処理手順について、図11を参照して説明する。図11は、実施例3に係る端末装置側での処理のフローチャートを示す図である。なお、端末装置側の端末を通信端末1として説明する。
まず、通信端末1のアプリケーション10は、ユーザ入力よりデータアクセス先キーワードを取得する(ステップS61)。ここで、データアクセス先キーワードとは、例えば、サービスがデータアクセス先であるデータサーバ3Aを決定できる情報である。そして、アプリケーション10は、アプリID、アプリパスワードおよびデータアクセス先キーワードをサービス側に送信する(ステップS62)。
続いて、アプリケーション10は、アプリケーション10の認証(アプリ認証)が成功したことを示す認証結果をサービス側から受信したか否かを判定する(ステップS63)。アプリ認証が成功したことを示す認証結果を受信したと判定した場合(ステップS63;Yes)、アプリケーション10は、サービス側から受信したアプリ認証トークンとデータアクセス先情報を取得する(ステップS64)。そして、アプリケーション10は、ユーザ入力よりユーザID、ユーザパスワードを取得し、認証処理に進む旨指示を受ける(ステップS65)。
続いて、アプリケーション10は、アプリ認証トークンを、データアクセス先情報に設定されたデータアクセス先のデータサーバ3Aに送信する(ステップS66)。つまり、アプリケーション10は、データアクセス先キーワードからサービスによって決定されるデータアクセス先に、アプリ認証トークンを送信する。
一方、アプリ認証が成功したことを示す認証結果を受信しなかったと判定した場合(ステップS63;No)、アプリケーション10は、アプリ認証が失敗したことを示す認証結果を、例えばモニタに出力する(ステップS69)。
続いて、アプリケーション10は、認証が成功したことを示す認証結果をデータサーバ3Aから受信したか否かを判定する(ステップS67)。認証が成功したことを示す認証結果を受信したと判定した場合(ステップS67;Yes)、アプリケーション10は、データサーバ3Aから受信したデータアクセストークンを用いて、データアクセスを実行する(ステップS68)。例えば、アプリケーション10は、データアクセストークンを用いて、ユーザから取得するデータの詳細なアクセス先へアクセスする。すなわち、アプリケーション10は、サービスによって指定されるデータサーバ3Aの記憶領域のうち、サービスに対応するデータ領域にアクセスできる。
一方、認証が成功したことを示す認証結果を受信しなかったと判定した場合(ステップS67;No)、アプリケーション10は、認証が失敗したことを示す認証結果を、例えばモニタに出力する(ステップS69)。
[アプリケーションサーバでのアプリ認証処理の手順]
次に、アプリケーションサーバ2でのアプリ認証処理の手順について、図12を参照して説明する。図12は、実施例3に係るアプリケーションサーバでのアプリ認証処理のフローチャートを示す図である。
アプリケーションサーバ2のアプリ認証部22は、端末装置側からアプリID、アプリパスワードおよびデータアクセス先キーワードを受信したか否かを判定する(ステップS71)。アプリID、アプリパスワードおよびデータアクセス先キーワードを受信していないと判定した場合(ステップS71;No)、アプリ認証部22は、アプリ認証が失敗したことを示す認証結果を送信元の通信端末1に送信すべく、ステップS78に移行する。
一方、アプリID、アプリパスワードおよびデータアクセス先キーワードを受信したと判定した場合(ステップS71;Yes)、アプリ認証部22は、アプリIDおよびアプリパスワードを用いて、アプリケーション10を認証する(ステップS72)。
続いて、アプリ認証部22は、アプリケーション10の認証(アプリ認証)が成功したか否かを判定する(ステップS73)。アプリ認証が成功したと判定した場合(ステップS73;Yes)、トークン発行部23Aは、データアクセス先キーワードからデータアクセス先を決定する(ステップS74)。例えば、トークン発行部23Aは、データアクセス先キーワードから、自身のサービスが管理する所定のデータアクセス先を決定する。
続いて、トークン発行部23Aは、決定したデータアクセス先を含むアプリ認証トークンを生成する(ステップS75)。そして、トークン発行部23Aは、決定したデータアクセス先を送信元の通信端末1に知らせるべく、当該アクセス先を含んだデータアクセス先情報を生成する(ステップS76)。そして、トークン発行部23Aは、アプリ認証が成功したことを示す認証結果と、生成されたアプリ認証トークンと、生成されたデータアクセス先情報とを送信元の通信端末1に送信する(ステップS77)。
一方、アプリ認証が成功しなかったと判定した場合(ステップS73;No)、トークン発行部23Aは、アプリ認証が失敗したことを示す認証結果を送信元の通信端末1に送信する(ステップS78)。
[データサーバでの認証処理の手順]
データサーバ3Aでの認証処理の手順は、図9で説明したとおりであるので、その説明を省略する。
なお、トークン発行部23Aは、アプリ認証トークンとデータアクセス先情報を、通信端末1に送信するようにした。しかしながら、トークン発行部23Aは、データアクセス先情報の代わりにアプリ認証トークンのアクセス先データサーバa5を参照させることで、データアクセス先情報を通信端末1に送信しないようにしても良い。この場合、通信端末1のアプリケーション10は、アプリ認証トークンをアプリケーションサーバ2から取得し、アプリ認証トークンに含まれるアクセス先データサーバa5を参照する。そして、アプリケーション10は、アプリ認証トークンを、アクセス先データサーバa5が示すデータサーバ3Aに送信するようにすれば良い。これにより、トークン発行部23Aはデータアクセス先情報を通信端末1へ送信しなくて良いので、通信端末1とアプリケーションサーバ2間の通信負荷を軽減できる。
また、データアクセス先のキーワードは、サービスがデータアクセス先(データサーバ3Aの情報)を決定できる情報を示すものと説明した。しかしながら、データアクセス先のキーワードは、これに限定されず、サービスがデータアクセス先(データサーバ3Aの情報)を管理している情報(例えばURL)そのものを含むものであっても良い。この場合、アプリケーションサーバ2のトークン発行部23Aは、アプリケーション10の正当性が認証された場合に、データアクセス先のキーワードをサービスが管理しているか否かを判定する。そして、トークン発行部23Aは、サービスが管理していると判定した場合、データアクセス先のキーワードをアクセス先データサーバa5にそのまま設定したアプリ認証トークンを発行する。一方、トークン発行部23Aは、サービスが管理していないと判定した場合、自身のサービスが管理する所定のデータアクセス先を決定し、決定して得られた所定のデータアクセス先をアクセス先データサーバa5に設定したアプリ認証トークンを発行する。そして、トークン発行部23Aは、アプリケーション10の正当性が認証された場合に、正当性が認証されたことを示す認証結果とアプリ認証トークンを、通信端末1に送信する。これにより、トークン発行部23Aは、サービスがデータアクセス先を管理している情報そのものであってもユーザに指定できるようにすることで、ユーザに対して汎用性のあるデータアクセスをさせることができる。また、トークン発行部23Aは、データアクセス先情報を通信端末1へ送信しなくて良いので、通信端末1とアプリケーションサーバ2間の通信負荷を軽減できる。
また、トークン発行部23Aは、データアクセス先のキーワードから決定して得られたデータアクセス先(データサーバ3Aの情報)を含んだアプリ認証トークンを発行するようにした。しかしながら、トークン発行部23Aは、これに限定されず、データアクセス先のキーワードのみならずアプリIDから決定して得られたデータアクセス先(データサーバ3Aの情報)を含んだアプリ認証トークンを発行するようにしても良い。これにより、トークン発行部23Aは、データアクセス先のキーワードに加えてアプリIDに応じたデータアクセス先を決定できることになるので、さらに、決定できるデータアクセス先の幅を拡げることができる。例えば、トークン発行部23Aは、アプリIDによってバージョンを区別できるとすると、異なるバージョン違いに応じてデータアクセス先を変えることができる。
[実施例3の効果]
上記実施例3によれば、アプリケーションサーバ2は、通信端末1から受信した当該端末が有するアプリケーション10のアプリIDおよびアプリパスワードに基づいて、アプリケーション10を認証する。そして、アプリケーションサーバ2のトークン発行部23Aは、通信端末1のユーザから指定されたデータアクセス先のキーワードから、自サーバによって決定されたデータアクセス先であるデータサーバ3Aの情報を含んだアプリ認証トークンを発行する。そして、データサーバ3Aは、通信端末1からアプリ認証トークンのみを受け付けると、アプリ認証トークンに基づいて、当該アプリ認証トークンに含まれるサーバ情報が自装置のデータサーバ3Aを示すか否かを判定する。そして、データサーバ3Aは、サーバ情報が自装置のデータサーバ3Aを示す場合に、通信端末1のアプリケーション10によるデータへのアクセスを許可する。かかる構成によれば、アプリケーションサーバ2は、ユーザから指定されたデータアクセス先のキーワードに応じたデータアクセス先をアプリ認証トークンに含めて通信端末1のアプリケーション10に返せる。この結果、アプリケーションサーバ2は、アプリケーション10自体を個別に変更することなく、自サーバによって決定されたデータアクセス先へ通信端末1にアクセスさせることができる。また、アプリケーション10のユーザが事前にデータアクセス先の情報を知らなくても、アプリケーション10を共通に利用するユーザ同士が、アプリケーションサーバ2によって決定されたユーザ共通のデータアクセス先に対してアクセスすることが可能となる。言い替えれば、通信端末1のアプリケーション10は、アプリケーション10が認証されたアプリ認証トークンさえあれば、ユーザ認証を必要とせずに、ユーザ共通のデータアクセス先に対してアクセスすることが可能となる。
なお、アプリケーションサーバ2は、既知のパーソナルコンピュータ、ワークステーション等の情報処理装置に、上記した記憶部21とアプリ認証部22等の各機能を搭載することによって実現することができる。また、データサーバ3は、既知のパーソナルコンピュータ、ワークステーション等の情報処理装置に、上記した記憶部31と認証部32等の各機能を搭載することによって実現することができる。
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、アプリ認証部22とトークン発行部23とを1個の部として統合しても良い。一方、認証部32を、ユーザの正当性を認証する第1の認証部とアプリ認証トークンを認証する第2の認証部とに分散しても良い。また、記憶部21をアプリケーションサーバ2の外部装置としてネットワーク経由で接続するようにしても良い。
1 通信端末
2 アプリケーションサーバ
3、3A データサーバ
10 アプリケーション
21,31 記憶部
22 アプリ認証部
23、23A トークン発行部
32、32A 認証部
33 制御部

Claims (6)

  1. 第1および第2の情報処理装置を含むデータ参照システムであって、
    前記第1の情報処理装置は、
    アプリケーションを通じたアクセスを受けたときに、前記アプリケーションに係る情報に基づいて、前記アプリケーションの正当性を認証する認証部と、
    前記アプリケーションの正当性が認証された場合に、前記アプリケーションがアクセスするデータを記憶する情報処理装置を示す処理装置情報を含んだ署名情報を発行する発行部とを有し、
    前記第2の情報処理装置は、
    アプリケーションを通じた署名情報を伴うアクセスを受けたときに、前記アクセスに伴う署名情報に基づいて、当該署名情報に含まれる処理装置情報が前記第2の情報処理装置を示すか否かを判定する判定部と、
    前記処理装置情報が前記第2の情報処理装置と対応する場合に、前記アプリケーションによるデータへのアクセスを許可する制御部とを有する
    ことを特徴とするデータ参照システム。
  2. 前記発行部は、さらに、前記アプリケーションに係る情報によって定められるアクセスレベルを含む署名情報を発行し、
    前記制御部は、前記署名情報に含まれるアクセスレベルに応じて、前記アプリケーションによるデータへのアクセスを許可する
    ことを特徴とする請求項1に記載のデータ参照システム。
  3. 前記発行部は、ユーザから指定された前記処理装置情報を含んだ署名情報を発行し、
    前記判定部は、前記アプリケーションを通じた署名情報を伴うアクセスによって、前記署名情報およびユーザのユーザ情報を受け付けると、前記署名情報に基づいて、当該署名情報に含まれる前記処理装置情報が前記第2の情報処理装置を示すか否かを判定し、前記処理装置情報が前記第2の情報処理装置を示す場合に、前記ユーザ情報に基づいて、前記ユーザが正当であるか否かを判定し、
    前記制御部は、
    前記処理装置情報が前記第2の情報処理装置を示す場合且つ前記ユーザが正当である場合に、前記アプリケーションによるデータへのアクセスを許可する
    ことを特徴とする請求項1または請求項2に記載のデータ参照システム。
  4. 前記発行部は、ユーザから指定された前記処理装置情報を含んだ署名情報を発行し、
    前記判定部は、前記アプリケーションを通じた署名情報を伴うアクセスによって、前記署名情報のみを受け付けると、前記署名情報に基づいて、当該署名情報に含まれる前記処理装置情報が前記第2の情報処理装置を示すか否かを判定する
    ことを特徴とする請求項1または請求項2に記載のデータ参照システム。
  5. 前記発行部は、自情報処理装置によって決定された前記処理装置情報を含んだ署名情報を発行し、
    前記判定部は、前記アプリケーションを通じた署名情報を伴うアクセスによって、前記署名情報のみを受け付けると、前記署名情報に基づいて、当該署名情報に含まれる前記処理装置情報が前記第2の情報処理装置を示すか否かを判定する
    ことを特徴とする請求項1または請求項2に記載のデータ参照システム。
  6. 第1の情報処理装置と第2の情報処理装置とを有するデータ参照システムにおけるアプリケーション認証方法であって、
    前記第1の情報処理装置が、
    アプリケーションを通じたアクセスを受けたときに、前記アプリケーションに係る情報に基づいて、前記アプリケーションの正当性を認証し、
    前記アプリケーションの正当性が認証された場合に、前記アプリケーションがアクセスするデータを記憶する情報処理装置を示す処理装置情報を含んだ署名情報を発行し、
    第2の情報処理装置は、
    アプリケーションを通じた署名情報を伴うアクセスを受けたときに、前記アクセスに伴う署名情報に基づいて、当該署名情報に含まれる処理装置情報が前記第2の情報処理装置を示すか否かを判定し、
    前記処理装置情報が前記第2の情報処理装置と対応する場合に、前記アプリケーションによるデータへのアクセスを許可する
    各処理を実行することを特徴とするアプリケーション認証方法。
JP2012258043A 2012-11-26 2012-11-26 データ参照システムおよびアプリケーション認証方法 Active JP6044299B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012258043A JP6044299B2 (ja) 2012-11-26 2012-11-26 データ参照システムおよびアプリケーション認証方法
US14/036,663 US20140150055A1 (en) 2012-11-26 2013-09-25 Data reference system and application authentication method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012258043A JP6044299B2 (ja) 2012-11-26 2012-11-26 データ参照システムおよびアプリケーション認証方法

Publications (2)

Publication Number Publication Date
JP2014106652A true JP2014106652A (ja) 2014-06-09
JP6044299B2 JP6044299B2 (ja) 2016-12-14

Family

ID=50774527

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012258043A Active JP6044299B2 (ja) 2012-11-26 2012-11-26 データ参照システムおよびアプリケーション認証方法

Country Status (2)

Country Link
US (1) US20140150055A1 (ja)
JP (1) JP6044299B2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016219054A (ja) * 2016-08-26 2016-12-22 カブドットコム証券株式会社 リクエスト受付サーバ及びリクエストの受付方法
JP6268242B1 (ja) * 2016-08-22 2018-01-24 株式会社エヌ・ティ・ティ・データ サーバおよびトークン発行方法
JP2018049667A (ja) * 2017-12-25 2018-03-29 株式会社エヌ・ティ・ティ・データ サーバおよびトークン発行方法
JP2018106669A (ja) * 2016-12-22 2018-07-05 富士通株式会社 デジタルコミュニティシステム
JP2018525722A (ja) * 2015-07-02 2018-09-06 コンヴィーダ ワイヤレス, エルエルシー リソース駆動動的承認フレームワーク
JP2019036347A (ja) * 2018-10-24 2019-03-07 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、情報処理システム、およびコンピュータプログラム
JPWO2018109897A1 (ja) * 2016-12-15 2019-07-25 日本電気株式会社 アクセストークンシステム、情報処理装置、情報処理方法および情報処理プログラム
JP2023521901A (ja) * 2020-05-06 2023-05-25 ネイバー クラウド コーポレーション ユーザ識別子および署名収集を利用したモバイルアプリケーション偽造・変造探知方法、コンピュータプログラム、コンピュータ読み取り可能な記録媒体およびコンピュータ装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3829108A1 (en) * 2019-11-29 2021-06-02 Ricoh Company, Ltd. Information processing apparatus, information processing system, and remote sharing method
EP3897019A1 (en) * 2020-04-17 2021-10-20 Secure Thingz Limited A provisioning control apparatus, system and method

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040088260A1 (en) * 2002-10-31 2004-05-06 Foster Ward Scott Secure user authentication
JP2009015816A (ja) * 2007-06-05 2009-01-22 Hitachi Ltd Webアプリケーションの構成方法とそのシステム
JP2010191908A (ja) * 2009-02-20 2010-09-02 Hitachi Ltd 分散処理システム、分散処理方法、分散処理システムの開発支援装置および開発支援方法
US20110225643A1 (en) * 2010-03-12 2011-09-15 Igor Faynberg Secure dynamic authority delegation
JP2012510655A (ja) * 2008-11-28 2012-05-10 インターナショナル・ビジネス・マシーンズ・コーポレーション 認証のための方法、システム、およびコンピュータ・プログラム(1次認証済み通信チャネルによる2次通信チャネルのトークンベースのクライアント・サーバ認証)
JP2012098839A (ja) * 2010-10-29 2012-05-24 Toshiba Corp アクセス認可装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030188193A1 (en) * 2002-03-28 2003-10-02 International Business Machines Corporation Single sign on for kerberos authentication
US7694139B2 (en) * 2002-10-24 2010-04-06 Symantec Corporation Securing executable content using a trusted computing platform
JP4320195B2 (ja) * 2003-03-19 2009-08-26 株式会社日立製作所 ファイルストレージサービスシステム、ファイル管理装置、ファイル管理方法、id指定型nasサーバ、および、ファイル読出方法
WO2007089503A2 (en) * 2006-01-26 2007-08-09 Imprivata, Inc. Systems and methods for multi-factor authentication
GB2458470A (en) * 2008-03-17 2009-09-23 Vodafone Plc Mobile terminal authorisation arrangements
US8578461B2 (en) * 2010-09-27 2013-11-05 Blackberry Limited Authenticating an auxiliary device from a portable electronic device
US9418216B2 (en) * 2011-07-21 2016-08-16 Microsoft Technology Licensing, Llc Cloud service authentication
US8478693B1 (en) * 2012-02-13 2013-07-02 Google Inc. Framework for specifying access to protected content
US20140032392A1 (en) * 2012-07-30 2014-01-30 Apple Inc. Financing systems integration

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040088260A1 (en) * 2002-10-31 2004-05-06 Foster Ward Scott Secure user authentication
JP2009015816A (ja) * 2007-06-05 2009-01-22 Hitachi Ltd Webアプリケーションの構成方法とそのシステム
JP2012510655A (ja) * 2008-11-28 2012-05-10 インターナショナル・ビジネス・マシーンズ・コーポレーション 認証のための方法、システム、およびコンピュータ・プログラム(1次認証済み通信チャネルによる2次通信チャネルのトークンベースのクライアント・サーバ認証)
JP2010191908A (ja) * 2009-02-20 2010-09-02 Hitachi Ltd 分散処理システム、分散処理方法、分散処理システムの開発支援装置および開発支援方法
US20110225643A1 (en) * 2010-03-12 2011-09-15 Igor Faynberg Secure dynamic authority delegation
JP2012098839A (ja) * 2010-10-29 2012-05-24 Toshiba Corp アクセス認可装置

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11451555B2 (en) 2015-07-02 2022-09-20 Convida Wireless, Llc Resource-driven dynamic authorization framework
JP2018525722A (ja) * 2015-07-02 2018-09-06 コンヴィーダ ワイヤレス, エルエルシー リソース駆動動的承認フレームワーク
US10893051B2 (en) 2015-07-02 2021-01-12 Convida Wireless, Llc Resource-driven dynamic authorization framework
JP6268242B1 (ja) * 2016-08-22 2018-01-24 株式会社エヌ・ティ・ティ・データ サーバおよびトークン発行方法
JP2018032088A (ja) * 2016-08-22 2018-03-01 株式会社エヌ・ティ・ティ・データ サーバおよびトークン発行方法
JP2016219054A (ja) * 2016-08-26 2016-12-22 カブドットコム証券株式会社 リクエスト受付サーバ及びリクエストの受付方法
US11895240B2 (en) 2016-12-15 2024-02-06 Nec Corporation System, apparatus, method and program for preventing illegal distribution of an access token
JPWO2018109897A1 (ja) * 2016-12-15 2019-07-25 日本電気株式会社 アクセストークンシステム、情報処理装置、情報処理方法および情報処理プログラム
JP2018106669A (ja) * 2016-12-22 2018-07-05 富士通株式会社 デジタルコミュニティシステム
JP7013711B2 (ja) 2016-12-22 2022-02-01 富士通株式会社 デジタルコミュニティシステム
JP2018049667A (ja) * 2017-12-25 2018-03-29 株式会社エヌ・ティ・ティ・データ サーバおよびトークン発行方法
JP2019036347A (ja) * 2018-10-24 2019-03-07 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、情報処理システム、およびコンピュータプログラム
JP2023521901A (ja) * 2020-05-06 2023-05-25 ネイバー クラウド コーポレーション ユーザ識別子および署名収集を利用したモバイルアプリケーション偽造・変造探知方法、コンピュータプログラム、コンピュータ読み取り可能な記録媒体およびコンピュータ装置
JP7445017B2 (ja) 2020-05-06 2024-03-06 ネイバー クラウド コーポレーション ユーザ識別子および署名収集を利用したモバイルアプリケーション偽造・変造探知方法、コンピュータプログラム、コンピュータ読み取り可能な記録媒体およびコンピュータ装置

Also Published As

Publication number Publication date
US20140150055A1 (en) 2014-05-29
JP6044299B2 (ja) 2016-12-14

Similar Documents

Publication Publication Date Title
JP6044299B2 (ja) データ参照システムおよびアプリケーション認証方法
US11381550B2 (en) Account management using a portable data store
US9450941B2 (en) Recovery of managed security credentials
JP5300045B2 (ja) 単一インターフェースを通してデジタルアイデンティティを管理する方法及び装置
US8555078B2 (en) Relying party specifiable format for assertion provider token
US9172541B2 (en) System and method for pool-based identity generation and use for service access
US8666904B2 (en) System and method for trusted embedded user interface for secure payments
US8745705B2 (en) Account management for multiple network sites
EP3451222B1 (en) Post-manufacture certificate generation
US20130125222A1 (en) System and Method for Vetting Service Providers Within a Secure User Interface
JP2009532772A (ja) カスタマイズ可能なサインオンサービス
CN104065616A (zh) 单点登录方法和系统
KR20040049272A (ko) 네트워크 위치의 하위 위치에 대한 사용자의 인증을 위한방법 및 시스템
JP4960738B2 (ja) 認証システム、認証方法および認証プログラム
KR20130109322A (ko) 통신 시스템에서 사용자 인증을 대행하는 장치 및 방법
JP3593979B2 (ja) 利用権制御を伴うサーバおよびクライアントならびにサービス提供方法および利用権証明方法
JP2007257426A (ja) 認証強度の異なるサーバに対応した連携型認証方法及びシステム
CN102739678A (zh) 单点登录处理系统和单点登录处理方法
JP2009071430A (ja) 多要素認証システム、認証代行装置、端末、多要素認証プログラムおよび多要素認証方法
JP2008282212A (ja) 認証装置及び認証システム
CN109729045A (zh) 单点登录方法、系统、服务器以及存储介质
JP4573559B2 (ja) 分散認証システム、負荷分散装置及び認証サーバ、並びに負荷分散プログラム及び認証プログラム
KR101637155B1 (ko) 신뢰 서비스 장치를 이용한 신뢰된 아이덴티티 관리 서비스 제공 시스템 및 그 운영방법
JP2011076430A (ja) 認証id管理システム及び認証id管理方法
JP4882255B2 (ja) 属性証明書管理装置および方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150706

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160628

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160829

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161018

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161031

R150 Certificate of patent or registration of utility model

Ref document number: 6044299

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150