JP6288241B2 - サービス提供方法、サービス提供装置、及び、サービス提供プログラム - Google Patents

サービス提供方法、サービス提供装置、及び、サービス提供プログラム Download PDF

Info

Publication number
JP6288241B2
JP6288241B2 JP2016503890A JP2016503890A JP6288241B2 JP 6288241 B2 JP6288241 B2 JP 6288241B2 JP 2016503890 A JP2016503890 A JP 2016503890A JP 2016503890 A JP2016503890 A JP 2016503890A JP 6288241 B2 JP6288241 B2 JP 6288241B2
Authority
JP
Japan
Prior art keywords
service
service providing
information
token
information processing
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.)
Active
Application number
JP2016503890A
Other languages
English (en)
Other versions
JPWO2015125290A1 (ja
Inventor
翔平 水野
翔平 水野
暁生 下野
暁生 下野
護 吉無田
護 吉無田
直樹 三好
直樹 三好
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
Publication of JPWO2015125290A1 publication Critical patent/JPWO2015125290A1/ja
Application granted granted Critical
Publication of JP6288241B2 publication Critical patent/JP6288241B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Power Engineering (AREA)

Description

本発明は、サービス提供方法、サービス提供装置、及び、サービス提供プログラムに関する。
SaaS(Software as a Service)は、ユーザにアプリケーションなどのソフトウエアの機能を提供するサービスである。SaaS上でのサービスに、利用者データ記憶部の利用サービスを提供することで、個人や法人が利用する様々なアプリのデータを集約することができる。また、SasS上の複数のサービスが、連携するケースがある(例えば、特許文献1)。複数のサービスが連携することによって、より高度なサービスが提供可能になる。
サービス間の連携は、例えば、サービス提供者が開示したWebAPI(Application Program Interface)によって実現される。アプリ開発者はWebAPI、または他のサービス提供者が提供するAPIと組み合わせてアプリケーションソフトウェアを開発する。WebAPIに対するアクセスは、例えば、OAuth2やSAML2.0等の認証プロトコルに基づいて行われる。
また、情報通信技術として、役割(ロール)に基づくアクセスコントロール技術がある。役割に基づくアクセスコントロールでは、例えば、認証に成功したユーザに役割を与え、リソースに対するアクセス制御の方式として役割に応じて許可(パーミッション)を与える。具体的に、ユーザの認証に成功すると、サーバは、サービスを利用する権利があることを証明する情報(以下、認証トークン)を端末装置宛に発行する。そして、端末装置は、発行された認証トークンを付与して要求をサーバに送信することで、役割の範囲内でサーバによるサービスの提供を受けることができる。
例えば、連携するサービスAとサービスBを例示する。また、ユーザXは、サービスAにアカウントを有するが、サービスBにはアカウントを有しないものとする。サービスAとサービスBとが連携関係にある場合、ユーザXは、サービスAによって発行された認証トークンに基づいて、アカウントを有していないサービスBの提供を受けることができる。まず、端末装置は、認証トークンの発行要求に、サービスAによって発行された認証トークンを付与して、サービスBの提供サーバに送信する。サービスBの提供サーバは、サービスA用の認証トークンに含まれる役割に対応する、サービスB上の役割を含む認証トークンを端末装置に発行する。そして、端末装置は、サービスBの提供要求に、サービスBが発行した認証トークンを付与して、サービスBの提供サーバに送信することで、サービスB上の役割の範囲内でサービスの提供を受けることができる。
また、サービスBと連携するサービスCがある場合、ユーザは、さらに、サービスBによって発行された認証トークンに基づいて、サービスCの提供を受けることができる。このように、ユーザは、1つのサービス(この例では、サービスA)上で認証を受けることによって、連鎖的に連携する別のサービス(この例では、サービスB、サービスC)の提供を受けることができる。
特開2013-182460号公報
しかしながら、端末装置が、サービスAの認証トークンに基づいてサービスCの提供を受ける場合、サービスA〜Cが発行する各認証トークンを取得するために、端末装置とサービスA〜Cを提供する各サーバとの間で多数の通信が発生する。端末装置とサーバ間の通信回数は、認証サーバと目的のサービスの提供サーバとの間の経由サービスが増加するにつれて増加する。
端末装置は、例えば、無線回線等を介してネットワークに接続する。したがって、端末装置と各サーバとの間で多数の通信が発生することによって、端末装置が最終的に目的とするサービスの提供を受けるまでの所要時間が長くなり、サービスの実用性が損なわれる。
1つの側面は、本発明は、より効率的にサービスを提供するサービス提供方法、サービス提供装置、及び、サービス提供プログラムを提供する。
第1の側面は、第1の情報処理装置は、端末装置からの認証要求に応答して、認証に成功した場合に、前記第1の情報処理装置が提供するサービス上の第1の役割情報を含む認証トークンを前記端末装置に送信し、前記第1の情報処理装置は、前記端末装置から、前記認証トークンと、前記端末装置が要求するサービスを提供するサービス提供装置を特定可能であると共に前記第1の情報処理装置を示す第1のアドレス情報とを受信し、前記第1の情報処理装置は、前記第1のアドレス情報に基づいて特定されるサービス提供装置、または、前記サービス提供装置への経由装置のいずれかを示す第2の情報処理装置に、前記第1の役割情報を含む第1のトークンと、前記サービス提供装置を特定可能であると共に前記第2の情報処理装置を示す第2のアドレス情報とを送信する。
第1の側面によれば、端末装置とサーバとの通信回数を抑えることにより、より効率的にサービスを提供する。
本実施の形態例におけるサービス提供ステムの構成の一例を示す図である。 サービスの連携を説明する図である。 連携する3階層のサービスの例を説明する図である。 図3に示した連携するサービスを利用する場合における認証トークンの発行処理の流れの一例を示すシーケンス図である。 本実施の形態例におけるサーバの構成を説明する図である。 本実施の形態例におけるサービス提供装置のブロック図の一例を示す図である。 紹介状トークンが有する情報の一例を示す図である。 本実施の形態例における端末装置の処理を説明するフローチャート図である。 本実施の形態例におけるサーバの処理を説明するフローチャート図の一例である。 本実施の形態例において、多階層に連携するサービスを利用する場合における処理の一例を示すシーケンス図である。 本実施の形態例におけるサービス提供方法による別の効果を説明する図である。 シングルサインオンを採用する場合の認証トークンの伝搬例を示す図である。 本実施の形態例における認証トークンの伝搬例を説明する図である。
以下、図面にしたがって本発明の実施の形態について説明する。ただし、本発明の技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。
[サービス提供システム]
図1は、本実施の形態例におけるサービス提供ステムの構成の一例を示す図である。図1の例において、ユーザ4が使用する端末装置5は、ネットワーク6を介して複数のサーバ1〜3と接続する。本実施の形態例における端末装置5は、例えば、スマートフォンやノートパソコン等である。端末装置5は、無線回線等を介してネットワーク6に接続する。これに対して、サーバ1〜3間は、例えば、高速なインターネット回線を介してネットワークに接続する。
各サーバ1〜3は、端末装置5からの要求に応じて、それぞれのサービスA〜Cを提供する。図1の例において、サーバ1〜3は、例えば、ウェブサーバである。例えば、サーバ1は、URL「serviceA.example.com」に示されるウェブサービスの機能を提供する。同様にして、サーバ2は、例えば、URL「serviceB.example.com」に示されるウェブサービスの機能を提供し、サーバ3は、例えば、URL「serviceC.example.com」に示されるウェブサービスの機能を提供する。
また、図1に示すサーバ1〜3はそれぞれ、予め登録されたアカウント情報に基づくユーザ認証機能を有する。また、各サーバ1〜3は、ユーザ認証に成功したユーザに対して、自サーバが提供するサービスを利用する権利があることを示す認証トークンを発行する。また、認証トークンは、サービスの提供範囲を定義する役割を示す役割情報を有する。したがって、端末装置5は、サーバ1〜3から発行された認証トークンに基づいて、認証トークンが有する役割情報に対応する範囲内でサービスの提供を受けることができる。
[サービスの連携]
図2は、サービスの連携を説明する図である。図2では、サービスAsvaとサービスBsvbが連携する場合を例示する。サービスの連携は、例えば、サービスが、別のサービスのWebAPI(Application Program Interface)を組み込むことによって実現される。WebAPIに対するアクセスは、例えばOAuth等の認証プロトコルが用いられる。
図2の例において、サービスAsvaを提供するサービス提供者とサービスBsvbを提供するサービス提供者とは信頼関係を有し、サービスの提供サーバにおいて信頼関係に基づく関係が定義される。例えば、図2の例では、サービスAsvaとサービスBsvbとの関係rel(A,B)が定義される。
前述したとおり、各サービスには、管理するユーザのアカウント情報(例えばユーザIDとパスワード)が登録される。各サービスは、登録されたアカウント情報に基づいて、ユーザの認証処理を行う。図2の例において、ユーザ4は、サービスAsvaにはアカウント情報を有し、サービスBsvbにはアカウント情報を有しない。ユーザ4は、サービスAsva上で認証に成功すると、サービスAsva上の役割を示す役割情報を有する認証トークンの発行を受ける。これにより、ユーザ4は、認証トークンに基づいて、サービスAsvaの提供を受けることができる。
さらに、ユーザ4がサービスAsvaと連携するサービスBsvbの提供を受ける場合、端末装置5は、サービスAsvaから発行された認証トークンをサービスBsvbに通知することで、サービスBsvbから、サービスAsva上の役割に対応するサービスBsvb上の役割を有する認証トークンの発行を受ける。サービスBsvbは、例えば、関係rel(A,B)と、ユーザ4のサービスAsva上の役割との組み合わせに基づいて、サービスBsvb上の役割を取得する。
ここで、例えば、サービスAsvaのサービス提供者の親会社がサービスBsvbを管理する場合を例示する。例えば、ユーザ4のサービスAsva上の役割が「社員」である場合、サービスAsva上の役割「社員」に対応するサービスBsvb上の役割は「子会社の社員」に設定される。ユーザ4は、サービスBsvb上の役割「子会社の社員」に応じて設定される権限の範囲内で、サービスBsvbが提供するサービスを受けることができる。
そして、ユーザ4は、サービスBsvbから発行された認証トークンが有する役割の範囲内で、サービスBsvbの提供を受けることができる。したがって、ユーザ4は、サービスBsvb上で、ユーザ認証手続きを行う必要がない。
このように、複数のサービスが連携する場合、ユーザ4は、ユーザ4のアカウント情報を有しないサービスBsvbから、アカウント情報を有するサービスAsva上のユーザ4の役割に応じたサービスの提供を受けることができる。したがって、サービスBsvbは、ユーザ4のアカウント情報を管理することなく、適切な範囲内のサービスをユーザ4に提供することができる。
続いて、連携する3階層のサービスの一例を説明する。本実施の形態例では、共済サービスsv1、各県の共済サービス(A県共済サービスsv11、B県共済サービスsv12)、各県における市町村の共済サービス(A県W市共済サービスsv21、A県X市共済サービスsv22、B県Y市共済サービスsv23、B県Z市共済サービスsv24)を例示する。例えば、共済サービスsv1は、図1、図2のサービスAに対応し、A県共済サービスsv11は、図1、図2のサービスBに対応し、A県W市共済サービスsv21は、図1、図2のサービスCに対応する。
図3は、連携する3階層のサービスの例を説明する図である。図3の例において、共済サービスsv1と各県の共済サービス(A県共済サービスsv11、B県共済サービスsv12)は連携する。また、A県の共済サービスsv11、sv12と、A県の各市町村の共済サービス(A県W市共済サービスsv21、A県X市共済サービスsv22)は連携する。同様にして、B県の共済サービスsv12と、B県の各市町村の共済サービス(B県W市共済サービスsv23、B県X市共済サービスsv24)は連携する。ただし、共済サービスsv1と各県市町村の共済サービスsv21〜sv24とは、直接的には連携していない。
図3のようにサービスの連携関係が設定される状況下で、共済サービスsv1にアカウント情報を有するユーザ4が、A県W市共済サービスsv21のサービスを受ける場合を例示する。この例において、ユーザ4は、共済サービスsv1以外のサービスにはアカウント情報を有していない。したがって、ユーザ4は、共済サービスsv1によって発行された認証トークンに基づいて、A県共済サービスsv11を経由し、A県W市の共済サービスsv21の提供を受ける。
ユーザ4は、共済サービスsv1で認証を受けて、共済サービスsv1から認証トークンtk1の発行を受ける(r1)。続いて、ユーザ4は、共済サービスsv1用の認証トークンtk1に基づいて、A県の共済サービスsv11からA県共済サービスsv11用の認証トークンtk11の発行を受ける(r2)。そして、ユーザ4は、A県共済サービスsv11用の認証トークンtk11に基づいて、A県W市の共済サービスsv21からA県W市共済サービスsv21用の認証トークンtk21の発行を受ける(r3)。そして、ユーザ4は、A県W市共済サービスsv21用の認証トークンtk21に基づいて、認証トークンが含む役割の範囲内でA県W市共済サービスsv21の提供を受ける(r4)。
[シーケンス図]
図4は、図3に示した連携するサービスを利用する場合における通信処理の流れの一例を示すシーケンス図である。図4では、図3で説明した例と同様にして、共済サービスsv1にアカウント情報を有するユーザ4が、A県W市共済サービスsv21のサービスを受ける場合のシーケンス図である。
まず、ユーザ4は、共済サービスsv1にログインするためのログイン操作を行う。例えば、ユーザ4は、ユーザIDとパスワードとを含むアカウント情報を、端末装置5に入力する。端末装置5は、ユーザ4によるログイン操作に応答して、サーバ1にアカウント情報を送信する(a1)。
サーバ1は、端末装置5から送信されたアカウント情報に基づいて、ユーザの認証処理を行う。具体的に、サーバ1は、端末装置5から受信したアカウント情報と、予め登録されるアカウント情報とを照合し、一致するアカウント情報がある場合に、ユーザ4を正当なユーザであると認証する。ユーザ4を正当なユーザであると認証した場合、サーバ1は、共済サービスsv1上のユーザ4の役割を示す役割情報を有する認証トークンtk1を、端末装置5に送信する(a2)。端末装置5は、サーバ1から発行された認証トークンtk1を取得し、認証処理の結果を表示する。
続いて、ユーザ4は、共済サービスsv1が発行した認証トークンtk1を使用して、A県共済サービスsv11の認証トークンtk11を取得する。具体的に、端末装置5は、A県共済サービスsv11の認証トークンtk11の発行要求を、A県共済サービスsv11を提供するサーバ2に送信する(a3)。例えば、端末装置5は、A県共済サービスsv11の認証トークンtk11の発行要求に、共済サービスsv1から発行された認証トークンtk1を付与して、サーバ2に送信する。サーバ2は、認証トークンtk11の発行要求を受信すると、付与された共済サービスsv1の認証トークンtk1が有する役割情報に対応する、A県共済サービスsv11上の役割情報を取得する。そして、サーバ2は、A県共済サービスsv11上の役割情報を有する認証トークンtk11を、端末装置5に発行する(a4)。
続いて、ユーザ4は、A県共済サービスsv11が発行した認証トークンtk11を使用して、A県W市共済サービスsv21の認証トークンtk21を取得する。具体的に、端末装置5は、A県W市共済サービスsv21の認証トークンtk21の発行要求を、A県W市共済サービスsv21を提供するサーバ3に送信する(a5)。例えば、端末装置5は、A県W市共済サービスsv21の認証トークンtk21の発行要求に、A県共済サービスsv11から発行された認証トークンtk11を付与して、サーバ3に送信する。
サーバ3は、認証トークンtk21の発行要求を受信すると、付与されたA県共済サービスsv11の認証トークンtk11が含む役割情報に対応する、A県W市共済サービスsv21上の役割情報を取得する。そして、サーバ3は、A県W市共済サービスsv21上の役割情報を有する認証トークンtk21を、端末装置5に発行する(a6)。そして、端末装置5は、A県W市共済サービスsv21から発行された認証トークンtk21に基づいて、当該認証トークンtk21が含む役割情報に応じて許容される権限の範囲内で、A県W市共済サービスsv21の提供を受けることができる(a7、a8)。
しかしながら、図3及び図4の例によると、ユーザ4がA県W市共済サービスsv21の提供を受けるためには、端末装置5と各サーバ1〜3との間で6回(図4の例では、a3〜a8)の通信が発生する。前述したとおり、端末装置5は、例えば、無線回線等を介してネットワークに接続し、サーバ1〜3と接続する。一般に、高速であるインターネット回線と比較して無線回線は通信速度が遅い。したがって、端末装置5とサーバ1〜3間の通信回数が増加することによって、ユーザ4が目的とするサービス(この例では、A県W市共済サービスsv21)の提供を受けるまでの所要時間が長くなり、サービスの実用性が損なわれる。
また、図3、図4の例では、最大で3つのサービスが連携する場合を例示した。しかしながら、より多くのサービスが連携する場合、即ち、認証を受けたサービス(この例では、共済サービスsv1)から目的のサービス(この例では、A県W市共済サービスsv21)までの階層が深くなるに連れて、通信回数が増加し、ユーザ4が目的とするサービスの提供を受けるまでの所要時間がより長くなる。したがって、端末装置5と各サーバ1〜3間の通信は、最小限の回数に抑えられることが望ましい。
そこで、本実施の形態例におけるサービス提供方法では、認証トークンを端末装置5に送信した第1のサーバは、端末装置5から、認証トークンと、端末装置5が要求するサービスを提供するサービス提供サーバを特定可能であると共に第1のサーバを示す第1のアドレス情報とを受信する。そして、第1のサーバは、第1のアドレス情報に基づいて特定されるサービス提供サーバ、または、サービス提供サーバへの経由サーバのいずれかを示す第2のサーバに、第1の役割情報を含む紹介状トークンと、サービス提供サーバを特定可能であると共に第2のサーバを示す第2のアドレス情報とを送信する。
また、第2のサーバは、第1のサーバから、第1のサーバが提供するサービス上の第1の役割情報を含む紹介状トークンと、端末装置5が要求するサービスを提供するサービス提供サーバを特定可能であると共に第2のサーバを示す第2のアドレス情報とを受信する。そして、第2のサーバは、第2のアドレス情報に基づいて特定されるサービス提供サーバが自サーバである場合に、紹介状トークンに含まれる第1の役割情報に基づいて第2のアドレス情報に対応するサービスを端末装置5に提供する。
つまり、本実施の形態例のサービス提供方法によると、図4の例において、共済サービスsv1のサーバ1は、認証トークンtk1が付与された、A県共済サービスsv11の提供要求を受信すると、紹介状トークンを発行し、A県共済サービスsv11の提供サーバ2を示すアドレス情報と紹介状トークンとを付与した提供要求をA県共済サービスsv11のサーバ2へ送信する。また、サーバ2は、A県共済サービスsv11のサービスの提供要求を受信すると、紹介状トークンに基づいて、端末装置5にサービスの提供を行う。
続いて、本実施の形態例のサービス提供システムにおけるサーバ1〜3の構成及びブロック図を例示する。なお、図5は、サーバ1の構成例を示すが、例えば、図1に示す他のサーバ2、3、及び、端末装置5についても、同様の構成を有する。
[サーバの構成]
図5は、本実施の形態例におけるサーバ1の構成を説明する図である。図5に示すサーバ1は、例えば、CPU(Central Processing Unit)101、RAM102、HDD103等の記憶媒体、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、通信インタフェース107を有する。各部は、バス108を介して相互に接続される。
CPU101は、バス108を介してRAM102と複数の周辺機器と接続すると共に、サーバ1全体の制御を行う。RAM102は、サーバ1の主記憶装置として使用される。RAM102には、CPU101が実行するOS(Operating System)のプログラムや、本実施の形態例におけるサービス提供プログラムPRが記憶される。サービス提供プログラムPRは、CPU101と協働することによって、本実施の形態例におけるサービス提供処理を実現する。
HDD103は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103は、サーバ1の二次記憶装置として使用される。HDD103は、例えば、OSのプログラム、アプリケーションプログラム、および各種データを記憶する。
グラフィック処理装置104は、モニタ11と接続する。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ11の画面に表示する。モニタ11は、例えば、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などである。入力インタフェース105は、キーボード12やマウス13と接続する。入力インタフェース105は、キーボード12やマウス13から受信する信号をCPU101に送信する。
光学ドライブ装置106は、レーザ光などを利用して、光ディスク14に記録されたデータの読み取りを行う。光ディスク14は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク14は、例えば、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等である。通信インタフェース107は、ネットワーク6を介して、他のサーバ2、3または端末装置5等の通信機器との間でデータの送受信を行う。
[サーバのブロック図]
図6は、本実施の形態例におけるサーバ1のブロック図の一例を示す図である。図6のサーバ1は、例えば、認証部111、トークン解析部112、リクエスト解析部113、リクエストリレー部114、紹介状トークン発行部115、データフォルダ110を有する。また、リクエスト解析部113は、リレー定義体116にアクセス可能である。リレー定義体116は、サーバ1の記憶媒体103に記憶されてもよいし、アクセス可能な別の記憶媒体等に記憶されていてもよい。また、データフォルダ110は、例えば、ユーザのアプリケーションデータを格納する。
認証部111は、端末装置5からの認証要求に応じて、端末装置5から送信されたアカウント情報(ユーザIDとパスワード)に基づいてユーザ認証を行う。例えば、認証部111は、認証要求に付与されるアカウント情報が、予め登録されたユーザのアカウント情報と一致するか否かを判定することによって、認証を行う。認証に成功した場合、認証部111は、サーバ1におけるユーザの役割を示す役割情報を含む認証トークンを発行する。
トークン解析部112は、受信したトークンを解析する。例えば、トークン解析部112は、トークンが有する電子署名等に基づいてトークンの正当性を検証すると共に、受信したトークンの種別を判定する。また、トークン解析部112は、トークンの発行元のサービス上の役割を示す役割情報を取得する。また、リクエスト解析部113は、端末装置5から受信したアドレス情報に基づいて、アドレス情報によって特定される目的のサービスの提供サーバが自サーバ1であるか否かを判定する。アドレス情報とは、例えば、URLである。目的のサービスの提供サーバが自サーバ1である場合、リクエスト解析部113は、アドレス情報に対応する、サーバ1のデータフォルダ110内のデータにアクセスし、認証トークンが有する役割の範囲内で、端末装置5に提供可能にする。一方、目的のサービスの提供サーバが自サーバ1以外のサーバである場合、リクエスト解析部113は、受信したトークンに基づく紹介状トークンの発行を、紹介状トークン発行部115に依頼する。
また、リクエスト解析部113は、紹介状トークンの送信先を取得する。自サーバ1が提供するサービスが、目的のサービスと直接連携する場合、紹介状トークンの送信先(即ち、リレー先)はサービスの提供サーバとなる。一方、自サーバ1が提供するサービスが目的のサービスと直接は連携していない場合、紹介状トークンの送信先は、自サーバ1の提供サービスと目的のサービスとの間の経由サービスの提供サーバとなる。リクエスト解析部113は、例えば、アドレス情報やリレー定義体116に基づいて、経由サービスを取得する。リレー定義体116は、例えば、サービス間の連携関係に対応して、自サーバ1の提供サービスから目的のサービスまでの経由サービスの情報を有する。
紹介状トークン発行部115は、紹介状トークンの発行依頼を受けると、紹介状トークンを生成する。紹介状トークンの詳細は、図7において後述する。そして、紹介状トークン発行部115は、リクエスト解析部113によって決定された紹介状トークンの送信先に合わせて修正したアドレス情報に紹介状トークンを付与し、送信先のサーバ(図6の例では、サーバ2)に送信する。
なお、他のサーバ2、3についても、サーバ1と同様の構成を有する。ただし、本実施の形態例において、全てのサーバ1〜3が認証機能を備える必要はない。認証機能を備えていないサーバは、認証部111を有していなくてもよい。また、図6において、サーバ2は、ユーザのアプリケーションデータを格納するデータフォルダ210を有する。
[紹介状トークン]
図7は、紹介状トークンtiが有する情報の一例を示す図である。紹介状トークンtiは、例えば、トークン発行者41、紹介状トークンtiの紹介先42、トークン発行者が認定する役割情報43、アクセス主体44、および電子署名45を含む。
トークン発行者41は、紹介状トークンを発行するサービスの識別子である。サーバの識別子は、例えば、サーバのURLを示す。紹介状トークンの紹介先42は、紹介状トークンtiを受信するサービスの識別子である。同様にして、サーバの識別子は、例えば、サーバのURLを示す。また、紹介状トークン発行者が認める役割情報43は、紹介状トークンの発行者であるサービスがユーザに対応して認定する役割を示す。アクセス主体43は、アクセスを行うユーザの識別子である。例えば、ユーザの識別子は、ユーザIDである。電子署名45は、紹介状トークンtiの正当性を保証するために、紹介状トークンtiの発行者が付与する情報である。
続いて、本実施の形態例におけるサーバ1〜3及び端末装置5の処理を、フローチャート図に基づいて説明する。
[フローチャート:端末装置]
図8は、本実施の形態例における端末装置5の処理を説明するフローチャート図である。端末装置5は、ユーザ4のアカウントを有するサーバに対して、サービスにログインするための認証要求を送信する(S11)。端末装置5は、サーバ1に対してアカウント情報を送信する。次に、端末装置5は、アカウント情報の送信に対するサーバ1の応答を待機する(S12)。ユーザ認証に成功する場合、端末装置5は、サーバ1が提供するサービスから発行された認証トークンtk1を受信する。
続いて、端末装置5は、データアクセス等のサービスの提供要求を、認証トークンtk1を発行したサービスの提供サーバに送信する(S13)。端末装置5は、認証トークンtk1の発行元サービスの提供要求を送信してもよいし、認証トークンtk1の発行元サービスと異なるサービスの提供要求を送信してもよい。端末装置5は、例えば、サービスの提供要求(データアクセス要求等)を示すアドレス情報に受信した認証トークンtk1を付与し、認証トークンtk1の発行元のサーバに送信する。アドレス情報は、例えば、URLであって、目的のサービスを特定可能な情報を含む。そして、端末装置5は、サービスの提供要求に対応する応答を待機する(S14)。
[フローチャート:サーバ]
図9は、本実施の形態例におけるサーバ1の処理を説明するフローチャート図の一例である。なお、他のサーバ2、3についても、サーバ1と同様の工程を有する。
サーバ1は、認証要求、または、サービスの提供要求の受信を待機する。認証要求を受信すると(S21)、サーバ1の認証部111は、認証要求に付与されるユーザのアカウント情報に基づいて、ユーザの認証処理を行う(S22)。認証部111は、例えば、端末装置5から送信されたアカウント情報と、予め登録されているアカウント情報とを照合し、端末装置5から送信されたアカウント情報と一致する情報がある場合、ユーザを正当なユーザであると認証する。例えば、認証部111は、認証に成功した場合、サーバ1が提供するサービス上の役割を示す役割情報を含む認証トークンtk1を端末装置5に発行する。
また、サービスの提供要求を受信した場合(S23のYES)、サーバ1のトークン解析部112は、受信したトークンの解析処理を行う(S24)。トークン解析部112は、トークンに含まれる電子署名等に基づいてトークンの正当性を判定すると共に、トークンの種別を判定する。トークン解析部112は、受信したトークンが紹介状トークンtiである場合、トークンtiが有する、トークン発行者が認定する役割情報42に基づいて、自サーバ1が提供するサービス上の役割を取得する。
続いて、サーバ1のリクエスト解析部113は、トークンと共に送信されたアドレス情報に基づいて、端末装置5が要求する目的のサービスの提供サーバ1を特定し、自サーバ1が目的のサービスの提供サーバ1に該当するか否かを判定する(S25)。自サーバ1がサービスの提供サーバに該当する場合(S25のYES)、サービスの提供要求に対応するローカルデータにアクセスし(S26)、サービス上の役割の範囲内で、データを端末装置5に提供可能にする。
一方、自サーバ1がサービスの提供サーバに該当しない場合(S25のNO)、サーバ1は、紹介状トークンtiを生成し、目的のサービスを提供するサーバ1、または、自サーバ1の提供サービスと連携するサービスであって、目的のサービスまでの経由サービスを提供するサーバ1に送信する。そこで、サーバ1のリクエストリレー部114は、紹介状トークンtiの送信先(リレー先)のサーバを確認する(S27)。
例えば、リクエストリレー部114は、自サーバ1が提供するサービスが目的のサービスと直接連携する場合、紹介状トークンtiの送信先を目的のサービスを提供するサーバに設定する。また、リクエストリレー部114は、自サーバ1が提供するサービスが目的のサービスと直接連携していない場合、紹介状トークンtiの送信先を、自サーバ1が提供するサービスと連携する、目的のサービスまでの経由サービスの提供サーバに設定する。
次に、サーバ1の紹介状トークン発行部115は、図7に示したような紹介状トークンtiを生成する(S28)。紹介状トークン発行部115は、紹介状トークンのトークン発行者41「自サーバ」、紹介状トークンtiの紹介先42「送信先サーバ」、トークン発行者が認定する役割情報43「自サーバが提供するサービス上の役割」、アクセス主体44「ユーザID」を有する紹介状トークンtiを生成する。そして、紹介状トークン発行部115は、送信先サーバに合わせて修正したアドレス情報に紹介状トークンtiを付与し、当該送信先のサーバに送信する(S29)。
なお、図9に示すフローチャート図は、サーバ1〜3に共通の処理である。なお、図6で説明したとおり、認証機能を有しないサーバは、図9の工程S21、S22の工程を有していなくてもよい。
[本実施の形態例におけるシーケンス図]
図10は、本実施の形態例において、多階層に連携するサービスを利用する場合における処理の一例を示すシーケンス図である。図10に示す各サービスの連携関係は、図4のシーケンス図と同様である。図10は、図4と同様にして、共済サービスsv1にアカウント情報を有するユーザ4が、A県W市共済サービスsv21の提供を受ける場合のシーケンス図である。
図4と同様にして、ユーザ4は、共済サービスsv1にログインするためのログイン操作を行う(a0)。例えばユーザ4は、ユーザIDとパスワードとを含むアカウント情報を、端末装置5に入力する。端末装置5は、ユーザ4によるログイン操作に応答して、サーバ1にアカウント情報を送信する(a1、図8のS11)。
サーバ1は、端末装置5から送信されたアカウント情報に基づいて、ユーザ認証処理を行う(図9のS21)。ユーザ4を正当なユーザであると認証した場合、サーバ1は、共済サービスsv1上のユーザ4の役割を示す役割情報を含む認証トークンtk1を、端末装置5に送信する(a2、図9のS22)。端末装置5は、共済サービスsv1から発行された認証トークンtk1を取得する。ここで、認証処理の結果を表示してもよい。
続いて、ユーザ4は、A県W市共済サービスsv1の提供を要求する(a10)。ユーザ4は、端末装置5に、認証トークンtk1の発行元の共済サービスsv1を指し、A県W市共済サービスsv21(目的のサービス)を特定可能なアドレス情報(URL:Uniform Resource Locator)d1を、サーバ1へ送信させる(a10)。端末装置5は、URLd1に、共済サービスsv1から発行された認証トークンtk1を付与し、サーバ1に送信する(a11)。
なおここで、端末装置5は、目的のサービスであるA県W市共済サービスsv21を特定可能なアドレス情報d1である「http://kyosai.example.com/folder1/mnt/folder2/mnt/folder3/list.jpg」を予め記憶しているものとする。端末装置5が最初にA県W市共済サービスsv21にアクセスする際は、例えば、共済サービスsv1にログインした後、共済サービスsv1から取得した他サーバへのリンク情報のうち、ユーザ4の操作によって指定されたリンクを辿って他サーバへアクセスするという処理を1回または複数回繰り返すことで、A県W市共済サービスsv21にアクセスすることになる。端末装置5は、アクセスしたサービスを提供するサーバのアドレス情報を、初回のアクセス時に記憶しておく。
また図10の例では、サーバ1のフォルダであって、サーバ2のフォルダにマウントされているフォルダの名称が「mnt」である場合を示している。また、サーバ2のフォルダであって、サーバ3のフォルダにマウントされているフォルダの名称が「mnt」である場合を示している。
URLd1におけるサーバ1「kyosai.example.com」は、共済サービスsv1を提供するサーバ1を指す。また、URLd1の一部「http://kyosai.example.com/folder1/mnt/」は、サーバ1のディレクトリであるfolder1配下に、A県共済サービスsv11を提供するサーバ2のフォルダである「folder2」がマウントされていることを示す。また、URLd1の一部「folder2/mnt/folder3/list.jpg」は、さらに、マウントされたサーバ2のディレクトリ「folder2」配下に、A県W市共済サービスsv21を提供するサーバ3のフォルダである「folder3」がマウントされていることを示す。したがって、URLd1は、サーバ1を示すと共に、サーバ3のデータフォルダに格納されるデータ「…/folder3/list.jpg」へのアクセスを要求するURLということになる。サーバ1〜3は、URLd1に基づいて、目的のサービスを提供するサーバ(この例では、サーバ3)を特定することができる。
また、サーバ1〜3は、URLd1が含むマウント情報に基づいて、サービス間の連携関係を検知することができる。URLd1によると、マウント関係に基づいて、共済サービスsv1がA県共済サービスsv11と連携し、A県共済サービスsv11がA県W市共済サービスsv21と連携することが検知可能になる。なお、本実施の形態例では、連携するサービス間でデータフォルダがマウントされる場合を例示しているが、この例に限定されるものではない。必ずしも、連携するサービス間で、データフォルダがマウントされる必要はない。URLd1は、少なくとも、紹介状トークンが送信されるサーバのアドレスを示し、最終的な目的のサービスを提供するサーバが特定可能であればよい。
サーバ1のトークン解析部112は、URLd1に付与されたトークンtk1を受信すると(図9のS23のYES)、受信したトークンの解析処理を行う(図9のS24)。この場合、トークン解析部112は、トークンが認証トークンtk1である旨、判定する。次に、サーバ1のリクエスト解析部113は、URLd1に基づいて、端末装置5が要求する目的のサービスの提供サーバ(この例では、A県W市共済サービスsv21を提供するサーバ3)を特定する。この場合、自サーバ1はサービスの提供サーバ3と異なるため(図9のS25のNO)、サーバ1のリクエストリレー部114は、URLd1の上位のマウントポイント「folder1/mnt/」に基づいて、紹介状トークンtiの送信先のサーバを、A県共済サービスsv11の提供サーバ2に決定する(図9のS27)。
そして、サーバ1の紹介状トークン発行部115は、紹介状トークンのトークン発行者41「サーバ1」、紹介状トークンの紹介先42「サーバ2」、トークン発行者が認定する役割情報43「共済サービスsv1上の役割」、アクセス主体44「ユーザID」を有する紹介状トークンtiを生成する。また、紹介状トークン発行部115は、受信済みのURL「http://kyosai.example.com/folder1/mnt/folder2/mnt/folder3/list.jpg」d1に基づいて、サーバ2に対応するURL「http://akyosai.example.com/folder2/mnt/folder3/list.jpg」d2を生成する。即ち、紹介状トークン発行部115は、目的のサービスの提供サーバを特定可能であって、紹介状トークンtiの送信先を示すURL(アドレス情報)を生成する。そして、サーバ1は、生成したURLに紹介状トークンtiを付与して、サーバ2に送信する(a12、図9のS29)。
次に、サーバ2のトークン解析部112は、URL「http://akyosai.example.com/folder2/mnt/folder3/list.jpg」d2に付与されたトークンを受信すると(図9のS23のYES)、受信したトークンの解析処理を行う(図9のS24)。トークン解析部112は、受信したトークンが紹介状トークンtiである旨、判定する。また、トークン解析部112は、紹介状トークンtiが有するトークン発行者が認定する役割情報42「共済サービスsv1上の役割」に対応する、A県共済サービスsv11上の役割を取得する。
次に、サーバ2のリクエスト解析部113は、URLd2に基づいて、端末装置5が要求するサービスの提供サーバ(この例では、サーバ3)を特定する。この場合、自サーバ2はサービスの提供サーバ3と異なるため(図9のS25のNO)、サーバ2のリクエストリレー部114は、URLd2の上位のマウントポイント「folder2/mnt/folder3/list.jpg」に基づいて、紹介状トークンtiの送信先のサーバを、A県W市共済サービスsv21を提供するサーバ3に決定する(図9のS27)。
そして、サーバ2の紹介状トークン発行部115は、紹介状トークンのトークン発行者41「サーバ2」、紹介状トークンの紹介先42「サーバ3」、トークン発行者が認定する役割情報43「A県共済サービスsv11上の役割」、アクセス主体44「ユーザID」を有する紹介状トークンtiを生成する。また、紹介状トークン発行部115は、受信済みのURL「http://akyosai.example.com/folder2/mnt/folder3/list.jpg」d2に基づいて、サーバ3に対応するURL「http://w_akyosai.example.com/folder3/list.jpg」d3を生成する。即ち、紹介状トークン発行部115は、目的のサービスの提供サーバを特定可能であって、紹介状トークンtiの送信先を示すURL(アドレス情報)を生成する。そして、サーバ2は、生成したURLd3に紹介状トークンtiを付与して、サーバ3に送信する(a13、図9のS29)。
そして、サーバ3のトークン解析部112は、URL「http://w_akyosai.example.com/folder3/list.jpg」d3に付与されたトークンを受信すると(図9のS23のYES)、受信したトークンの解析処理を行う(図9のS24)。トークン解析部112は、受信したトークンが紹介状トークンtiである旨、判定する。また、トークン解析部112は、紹介状トークンtiが有するトークン発行者が認定する役割情報42「A県共済サービスsv11上の役割」に対応する、A県W市共済サービスsv21上の役割を取得する。
続いて、サーバ3のリクエスト解析部113は、URLに基づいて、端末装置5が要求するサービスの提供サーバ(この例では、サーバ3)を特定する。この場合、自サーバ3がサービスの提供サーバに該当するため(図9のS25のYES)、サーバ3は、URLd3で指定されるデータ「…/folder3/list.jpg」にアクセスし(図9のS26)、A県W市共済サービスsv21上の役割の範囲内で、当該データを端末装置5に提供可能にする。例えば、A県W市共済サービスsv21上の役割に基づいてデータ「…/folder3/list.jpg」へのアクセスが許容される場合、サーバ3は、端末装置5に、データ「…/folder3/list.jpg」を送信する(a13)。
なお、図10の例では、サーバ3が、要求されたデータを直接、端末装置5に送信しているが、この例に限定されるものではない。サーバ3は、データ「…/folder3/list.jpg」を、紹介状トークンtiがリレーされた経路サーバ1、サーバ2を辿って端末装置5に送信してもよいし、認証処理を行ったサーバ1のみを辿って端末装置5に送信してもよい。
なお、この例では、端末装置5は、アドレス情報に共済サービスsv1から発行された認証トークンtk1を付与して、共済サービスsv1を提供するサーバ1に送信する。しかしながら、端末装置5は、共済サービスsv1ではなく、直接、共済サービスsv1と連携するA県共済サービスsv11を提供するサーバ2に対して、アドレス情報及び認証トークンtk1を送信してもよい。この場合のサーバ2の処理は、図10で説明した処理と同様である。
このように、端末装置5は、共済サービスsv1の認証トークンtk1に基づいて、A県W市共済サービスsv21の提供を受けることができる。本実施の形態例におけるサーバ1〜3は、自サーバが、アドレス情報に基づいて特定される目的のサービスの提供サーバではないとき、サービスの提供サーバ、または、提供サーバまでの経由サーバに、紹介状トークンtiをリレーする。これにより、端末装置5は、共済サービスsv1以外のサービスから認証トークンtk1の発行を逐一受ける必要がないため、端末装置5と各サーバ1〜3との間の通信回数が削減される。一般に、無線回線と比較してインターネット回線は通信速度が速い。したがって、ユーザ4がサービスの提供を受けるまでの所要時間が短縮可能になる。
図10に示すように、本実施の形態例におけるサービス提供方法によると、端末装置5とサーバとの通信回数が2回(a11、a14)、即ち、一往復に抑えられる。即ち、サーバ間の通信を担うインターネット回線よりも通信速度が遅い無線回線を利用した通信の回数を、一往復に抑えられる。一方、図4で前述したとおり、従来のサービス提供方法によると、端末装置5とサーバとの通信回数は6回(a3〜a8)である。なお、図4、図10の例では、サービスの連携関係が3階層である場合を例示するが、何階層に増えたとしても、本実施の形態によれば、端末装置5とサーバとの通信回数を2回、即ち、一往復に抑えられる。従って、階層がより深いほど、端末装置5とサーバとの通信回数がより効果的に削減され、ユーザ4がサービスの提供を受けるまでのレスポンスが改善される。
続いて、本実施の形態例におけるサービス提供方法による別の効果について説明する。
図11は、本実施の形態例におけるサービス提供方法による別の効果を説明する図である。図11の例では、共済サービスは、A県〜D県の共済サービスと連携する。また、図11の例によると、共済サービスを提供するサーバ1は、ユーザ4のアプリケーションデータ110a〜110cを格納するデータフォルダ110を有する。端末装置5は、例えば、共済サービスの認証トークンtk1に基づいて、サーバ1のデータフォルダ110にアクセスできる。
また、図11の例において、データフォルダ110は、共済サービスと連携するA県〜D県共済サービスの提供サーバ21〜24のデータフォルダ210〜240をマウントするリレーディレクトリDxを有する。サーバ1は、例えば、図示する設定ファイルfmに基づいて、リレーディレクトリDx内のマウント情報を管理する。
本実施の形態例におけるサービス提供方法によると、端末装置5は、C県共済サービスの提供サーバ23のデータフォルダ230内のデータを指定するアドレス情報に、共済サービスの認証トークンtk1を付与してサーバ1に送信することによって、役割の範囲内でC県共済サービスの提供を受けることができる。この場合、共済サービスの提供サーバ1から、C県共済サービスの提供サーバ23に、紹介状トークンtiCが発行される。端末装置5は、紹介状トークンtiCに基づいて、リレーディレクトリDx配下のサーバ23のデータフォルダ230にアクセスできる。
図11に示すように、ユーザ4がA県〜D県のいずれの共済サービスの提供を受ける場合であっても、端末装置5とサーバ1との間で送受信されるトークンは、共済サービスの認証トークンtk1のみである。このため、端末装置5は、共済サービスの認証トークンtk1のみを管理すればよい。これは、端末装置5上で動作するアプリケーションap上で、A県〜D県共済サービスが発行する各認証トークンを意識する必要がないことを示す。つまり、端末装置5上で動作するアプリケーションapの開発者prは、共済サービスが発行する認証トークンtk1のみを意識して、アプリケーションapの開発を行えばよいため、アプリケーションapの開発工数を抑えることが可能になる。また、例えば、共済サービスが新たに別のサービスと連携する場合であっても、新たなサービスの認証トークンを扱う必要がないことにより、端末装置5上で動作するアプリケーションapの変更が不要になる。
続いて、本実施の形態例におけるサービス提供方法によるさらに別の効果を説明する。
図12は、シングルサインオンを採用する場合の認証トークンの伝搬例を示す図である。シングルサインオンを採用する場合、サーバAsaが提供するサービスAから発行されたユーザ4の認証トークンは、実線の矢印で示すように、他のサーバBsb、サーバCscに対して伝搬される。しかしながら、これは、悪意のあるサーバCscにも認証トークンが送信されることを意味し、悪意のあるサーバCscにサービスAに対する権限が与えられることによって、サーバAsaへの不正アクセスや、別の悪意のあるサーバへの認証トークンtk1の受け渡しが生じてしまう。このため、シングルサインオンによる認証は、例えば、社内環境などの信頼のおけるサーバ群にしか適用できない。
図13は、本実施の形態例における認証トークンtkの伝搬例を説明する図である。図13に示すように、本実施の形態例において、ユーザ4はサービスAから認証トークンtkの発行を受ける(b1)。そして、ユーザ4が、認証トークンtkに基づいて、別のサービスBの提供をサービスAに要求する場合(b2)、サーバAsaは、サーバBsbに認証トークンtkを送信するのではなく、紹介状トークンtiを送信する(b3)。紹介状トークンtiが送信されたサーバBsbは、要求されたサービスの提供サーバが自サーバである場合にのみ、ユーザ4にサービスを提供する(b3)。したがって、仮に、サーバBsbが悪意のあるサーバである場合でも、サーバBsbは、紹介状トークンtiに基づいて、サーバAsaへの不正アクセスを行うことができない。
図13に示すように、本実施の形態例におけるサービス提供方法によると、認証トークンtkは、認証トークンtkを発行したサーバAsaのみが保持し、サービスAと連携するサービスBの提供サーバBsbには紹介状トークンtiが発行される。したがって、サーバAsaの認証トークンtkが悪意のあるサーバに送信されることが回避される。したがって、本実施の形態例におけるサービス提供方法は、シングルサインオンに対して、よりオープンな環境に適用可能になる。
以上のように、本実施の形態例におけるサービス提供方法によると、第1の情報処理装置(サーバ1)は、端末装置5からの認証要求に応答して、認証に成功した場合に、第1の情報処理装置が提供するサービス上の第1の役割情報を含む認証トークンtkを端末装置5に送信する。また、第1の情報処理装置は、端末装置5から、認証トークンtkと、端末装置5が要求するサービスを提供するサービス提供装置を特定可能であると共に第1の情報処理装置を示す第1のアドレス情報とを受信する。また、第1の情報処理装置は、第1のアドレス情報に基づいて特定されるサービス提供装置、または、サービス提供装置への経由装置のいずれかを示す第2の情報処理装置(サーバ2)に、第1の役割情報を含む第1のトークン(紹介状トークン)と、サービス提供装置を特定可能であると共に第2の情報処理装置を示す第2のアドレス情報とを送信する。
本実施の形態例におけるサービス提供方法によると、サーバ1は、目的のサービスの提供サーバ、または、提供サーバまでの経由サーバに対して、紹介状トークンtiをリレーする。つまり、サーバ1は、アドレス情報に基づいて端末装置5が要求するサービスの提供サーバを特定し、ユーザの認証情報を有する紹介状トークンtiをサービスの提供サーバまで、端末装置5を介することなくリレーさせる。端末装置5は、認証サーバ以外のサーバから認証トークンtk1の発行を逐一受ける必要がないため、端末装置5と各サーバとの間の通信回数が削減される。本実施の形態例におけるサービス提供方法によると、端末装置5とサーバ1〜3との通信回数が2回、即ち、1往復に抑えられる。なお、連携する各サーバ間は、端末装置5とサーバとの間の通信速度と比較して、より高速な回線で接続される。したがって、サーバ間で紹介状トークンがリレーされ、端末装置5との通信が削減されることにより、ユーザがサービスの提供を受けるまでの所要時間が短縮可能になる。
また、端末装置5とサーバ1〜3との通信回数が最小限に抑えられることから、階層がより深い場合に、端末装置5とサーバとの通信回数がより効果的に削減され、ユーザがサービスの提供を受けるまでのレスポンスが改善される。
また、図11で説明したとおり、本実施の形態例におけるサービス提供方法によると、ユーザが認証サーバの提供サービスと連携するいずれのサービスの提供を受ける場合であっても、端末装置5と認証サーバとの間で送受信されるトークンは、認証サーバが発行する認証トークンのみとなる。このため、端末装置5上で動作するアプリケーションの開発者は、認証サーバが発行する認証トークンのみを意識して、アプリケーションの開発を行えばよいため、アプリケーションの開発工数を抑えることが可能になる。
また、図13で説明したとおり、本実施の形態例におけるサービス提供方法によると、認証トークンは、認証トークンを発行した認証サーバにのみが保持し、認証サーバの提供サーバと連携するサービスには紹介状トークンが発行される。したがって、認証サーバに対する権限を有する認証トークンが悪意のあるサーバに送信されることが回避されるため、本実施の形態例におけるサービス提供方法は、よりオープンな環境に対しても適用可能になる。
また、本実施の形態例におけるサービス提供方法によると、第2の情報処理装置(サーバ2)は、第1の情報処理装置(サーバ1)から、第1のトークン(紹介状トークン)と第2のアドレス情報とを受信し、第2の情報処理装置は、第2のアドレス情報に基づいて特定されるサービス提供装置が自装置である場合に、第1のトークン(紹介状トークン)に含まれる第1の役割情報に基づいて第2のアドレス情報に対応するサービスを端末装置5に提供する。
これにより、サーバ2は、リレーされた紹介状トークンtiに基づいて、サービスを提供することができる。したがって、端末装置5と各サーバとの間の通信回数が削減され、ユーザがサービスの提供を受けるまでの所要時間が短縮可能になる。
また、本実施の形態例におけるサービス提供方法によると、第2の情報処理装置(サーバ2)は、第1の情報処理装置(サーバ1)から、第1のトークン(紹介状トークン)と第2のアドレス情報とを受信する。そして、第2の情報処理装置は、第2のアドレス情報に基づいて特定されるサービス提供装置が自装置ではない場合に、サービス提供装置、または、サービス提供装置への経由装置のいずれかを示す第3の情報処理装置に、第2の情報処理装置が提供するサービス上の役割情報であって第1の役割情報に対応する第2の役割情報を含む第2のトークン(紹介状トークン)と、サービス提供装置を特定可能であると共に第3の情報処理装置を示す第3のアドレス情報とを送信する。
これにより、本実施の形態例におけるサービス提供方法によると、サーバ2は、アドレス情報に基づいて端末装置5が要求するサービスの提供サーバを特定し、ユーザの認証情報を有する紹介状トークンtiをサービスの提供サーバまでリレーさせることができる。
また、本実施の形態例におけるサービス提供方法によると、さらに、第1の情報処理装置(サーバ1)は、第1のアドレス情報に基づいて特定されるサービス提供装置が自装置である場合に、第1のトークン(紹介状トークン)に含まれる第1の役割情報に基づいて第1のアドレス情報に対応するサービスを端末装置5に提供する。これにより、サーバ1は、認証トークンtk1に基づいて、サービスを提供することができる。
また、本実施の形態例におけるサービス提供方法によると、第2の情報処理装置(サーバ2)は、第1の情報処理装置(サーバ1)から、第1の情報処理装置が提供するサービス上の第1の役割情報を含む第1のトークン(紹介状トークン)と、端末装置5が要求するサービスを提供するサービス提供装置を特定可能であると共に第2の情報処理装置を示す第2のアドレス情報とを受信する。また、第2の情報処理装置は、第2のアドレス情報に基づいて特定されるサービス提供装置が自装置である場合に、第1のトークン(紹介状トークン)に含まれる第1の役割情報に基づいて第2のアドレス情報に対応するサービスを端末装置5に提供する。
これにより、サーバ2は、リレーされた紹介状トークンtiに基づいて、サービスを提供することができる。これにより、端末装置5と各サーバとの間の通信回数が削減され、ユーザがサービスの提供を受けるまでの所要時間が短縮可能になる。
また、本実施の形態例におけるサービス提供方法によると、第2の情報処理装置(サーバ2)は、第2のアドレス情報に基づいて特定されるサービス提供装置が自装置ではない場合に、サービス提供装置、または、サービス提供装置への経由装置のいずれかを示す第3の情報処理装置(サーバ3)に、第2の情報処理装置が提供するサービス上の役割情報であって第1の役割情報に対応する第2の役割情報を含む第2のトークン(紹介状トークン)と、サービス提供装置を特定可能であると共に第3の情報処理装置を示す第3のアドレス情報とを送信する。
これにより、サーバ2は、アドレス情報に基づいて端末装置5が要求するサービスの提供サーバを特定し、ユーザの認証情報を有する紹介状トークンtiをサービスの提供サーバまでリレーさせることができる。
また、本実施の形態例におけるサービス提供方法によると、第1の情報処理装置(サーバ1)と第2の情報処理装置(サーバ1)との通信速度は、端末装置5と第2の情報処理装置との通信速度より速い。また、第2の情報処理装置と第3の情報処理装置との通信速度は、端末装置5と第3の情報処理装置(サーバ3)との通信速度より速い。これにより、本実施の形態例におけるサービス提供方法では、端末装置5とサーバとの間の通信が削減されるため、ユーザがサービスの提供を受けるまでの所要時間が短縮可能になる。
また、本実施の形態例におけるサービス提供方法によると、第1のアドレス情報に基づいて特定されるサービス提供装置への経由装置は、アドレス情報に基づいて特定可能であって、第1の情報処理装置は、第1のアドレス情報に基づいて経由装置を特定する。これにより、本実施の形態例におけるサービス提供方法によると、ユーザの認証情報を有する紹介状トークンtiをサービスの提供サーバまでリレーさせることが可能になる。
また、本実施の形態例におけるサービス提供方法によると、第1の情報処理装置は、自装置と宛先情報処理装置との間の経由装置の情報を保持するテーブルを有し、第1の情報処理装置は、テーブルに基づいて経由装置を特定する。これにより、本実施の形態例におけるサービス提供方法によると、ユーザの認証情報を有する紹介状トークンtiをサービスの提供サーバまでリレーさせることが可能になる。
1〜3:サーバ、4:ユーザ、5:端末装置、6:ネットワーク、101:CPU(Central Processing Unit)、102:RAM、103:HDD、104:グラフィック処理装置、105:入力インタフェース、106:光学ドライブ装置、107:通信インタフェース、sv1:共済サービス、sv11:A県共済サービス、sv12:B県共済サービス、sv21:A県W市共済サービス、tk1:認証トークン、ti:紹介状トークン

Claims (12)

  1. 第1の情報処理装置は、端末装置からの認証要求に応答して、認証に成功した場合に、前記第1の情報処理装置が提供するサービス上の第1の役割情報を含む認証トークンを前記端末装置に送信し、
    前記第1の情報処理装置は、前記端末装置から、前記認証トークンと、前記端末装置が要求するサービスを提供するサービス提供装置を特定可能であると共に前記第1の情報処理装置を示す第1のアドレス情報とを受信し、
    前記第1の情報処理装置は、前記第1のアドレス情報に基づいて特定されるサービス提供装置、または、前記サービス提供装置への経由装置のいずれかを示す第2の情報処理装置に、受信した前記認証トークンに示される第1の役割情報を含む第1のトークンと、前記サービス提供装置を特定可能であると共に前記第2の情報処理装置を示す第2のアドレス情報とを送信する、
    ことを特徴とするサービス提供方法。
  2. 請求項1において、
    前記第2の情報処理装置は、前記第1の情報処理装置から、前記第1のトークンと前記第2のアドレス情報とを受信し、
    前記第2の情報処理装置は、前記第2のアドレス情報に基づいて特定されるサービス提供装置が自装置である場合に、前記第1のトークンに含まれる前記第1の役割情報に基づいて前記第2のアドレス情報に対応するサービスを前記端末装置に提供することを特徴とするサービス提供方法。
  3. 請求項1または2において、
    前記第2の情報処理装置は、前記第1の情報処理装置から、前記第1のトークンと前記第2のアドレス情報とを受信し、
    前記第2の情報処理装置は、前記第2のアドレス情報に基づいて特定されるサービス提供装置が自装置ではない場合に、前記サービス提供装置、または、前記サービス提供装置への経由装置のいずれかを示す第3の情報処理装置に、前記第2の情報処理装置が提供するサービス上の役割情報であって前記第1の役割情報に対応する第2の役割情報を含む第2のトークンと、前記サービス提供装置を特定可能であると共に前記第3の情報処理装置を示す第3のアドレス情報とを送信することを特徴とするサービス提供方法。
  4. 請求項1乃至3のいずれかにおいて、さらに、
    前記第1の情報処理装置は、前記第1のアドレス情報に基づいて特定されるサービス提供装置が自装置である場合に、前記第1のトークンに含まれる前記第1の役割情報に基づいて前記第1のアドレス情報に対応するサービスを前記端末装置に提供することを特徴とするサービス提供方法。
  5. 第2の情報処理装置は、第1の情報処理装置から、前記第1の情報処理装置が提供するサービス上の第1の役割情報を含む第1のトークンと、端末装置が要求するサービスを提供するサービス提供装置を特定可能であると共に前記第2の情報処理装置を示す第2のアドレス情報とを受信し、
    前記第2の情報処理装置は、前記第2のアドレス情報に基づいて特定されるサービス提供装置が自装置である場合に、前記第1のトークンに含まれる前記第1の役割情報に基づいて前記第2のアドレス情報に対応するサービスを前記端末装置に提供することを特徴とするサービス提供方法。
  6. 請求項5において、
    前記第2の情報処理装置は、前記第2のアドレス情報に基づいて特定されるサービス提供装置が自装置ではない場合に、前記サービス提供装置、または、前記サービス提供装置への経由装置のいずれかを示す第3の情報処理装置に、前記第2の情報処理装置が提供するサービス上の役割情報であって前記第1の役割情報に対応する第2の役割情報を含む第2のトークンと、前記サービス提供装置を特定可能であると共に前記第3の情報処理装置を示す第3のアドレス情報とを送信することを特徴とするサービス提供方法。
  7. 請求項2、5乃び6のいずれかにおいて、
    前記第1の情報処理装置と前記第2の情報処理装置との通信速度は、前記端末装置と前記第2の情報処理装置との通信速度より速いことを特徴とするサービス提供方法。
  8. 請求項1乃至のいずれかにおいて、
    前記第1のアドレス情報に基づいて特定されるサービス提供装置への経由装置は、第2のアドレス情報に基づいて特定可能であって、
    前記第1の情報処理装置は、前記第1のアドレス情報に基づいて前記経由装置を特定することを特徴とするサービス提供方法。
  9. 端末装置からの認証要求に応答して、認証に成功した場合に、自装置が提供するサービス上の第1の役割情報を含む認証トークンを前記端末装置に送信し、
    前記端末装置から、前記認証トークンと、前記端末装置が要求するサービスを提供するサービス提供装置を特定可能であると共に自装置を示す第1のアドレス情報とを受信し、
    前記第1のアドレス情報に基づいて特定されるサービス提供装置、または、前記サービス提供装置への経由装置のいずれかを示す別の情報処理装置に、前記第1の役割情報を含む第1のトークンと、前記サービス提供装置を特定可能であると共に前記別の情報処理装置を示す第2のアドレス情報とを送信することを特徴とするサービス提供装置。
  10. 別の情報処理装置から、前記別の情報処理装置が提供するサービス上の第1の役割情報を含む第1のトークンと、端末装置が要求するサービスを提供するサービス提供装置を特定可能であると共に自装置を示す第2のアドレス情報とを受信し、
    前記第2のアドレス情報に基づいて特定されるサービス提供装置が自装置である場合に、前記第1のトークンに含まれる前記第1の役割情報に基づいて前記第2のアドレス情報に対応するサービスを前記端末装置に提供することを特徴とするサービス提供装置。
  11. サービスの提供処理をコンピュータに実行させるサービス提供プログラムであって、
    前記サービスの提供処理は、
    第1の情報処理装置が、端末装置からの認証要求に応答して、認証に成功した場合に、前記第1の情報処理装置が提供するサービス上の第1の役割情報を含む認証トークンを前記端末装置に送信する工程と、
    前記第1の情報処理装置が、前記端末装置から、前記認証トークンと、前記端末装置が要求するサービスを提供するサービス提供装置を特定可能であると共に前記第1の情報処理装置を示す第1のアドレス情報とを受信する工程と、
    前記第1の情報処理装置が、前記第1のアドレス情報に基づいて特定されるサービス提供装置、または、前記サービス提供装置への経由装置のいずれかを示す第2の情報処理装置に、前記第1の役割情報を含む第1のトークンと、前記サービス提供装置を特定可能であると共に前記第2の情報処理装置を示す第2のアドレス情報とを送信工程と、を有するサービス提供プログラム。
  12. サービスの提供処理をコンピュータに実行させるサービス提供プログラムであって、
    前記サービスの提供処理は、
    第2の情報処理装置が、第1の情報処理装置から、前記第1の情報処理装置が提供するサービス上の第1の役割情報を含む第1のトークンと、端末装置が要求するサービスを提供するサービス提供装置を特定可能であると共に前記第2の情報処理装置を示す第2のアドレス情報とを受信する工程と、
    前記第2の情報処理装置が、前記第2のアドレス情報に基づいて特定されるサービス提供装置が自装置である場合に、前記第1のトークンに含まれる前記第1の役割情報に基づいて前記第2のアドレス情報に対応するサービスを前記端末装置に提供する工程と、を有するサービス提供プログラム。
JP2016503890A 2014-02-24 2014-02-24 サービス提供方法、サービス提供装置、及び、サービス提供プログラム Active JP6288241B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/054266 WO2015125290A1 (ja) 2014-02-24 2014-02-24 サービス提供方法、サービス提供装置、及び、サービス提供プログラム

Publications (2)

Publication Number Publication Date
JPWO2015125290A1 JPWO2015125290A1 (ja) 2017-03-30
JP6288241B2 true JP6288241B2 (ja) 2018-03-07

Family

ID=53877823

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016503890A Active JP6288241B2 (ja) 2014-02-24 2014-02-24 サービス提供方法、サービス提供装置、及び、サービス提供プログラム

Country Status (3)

Country Link
US (1) US10270756B2 (ja)
JP (1) JP6288241B2 (ja)
WO (1) WO2015125290A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017091369A (ja) * 2015-11-13 2017-05-25 株式会社リコー 管理システム、管理方法、及びプログラム
JP7013807B2 (ja) 2017-11-15 2022-02-01 富士通株式会社 情報処理装置、情報処理システムおよび情報処理プログラム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005327189A (ja) * 2004-05-17 2005-11-24 Nec Soft Ltd サーバ、認証交換システム及びリクエスト中継方法
US7434252B2 (en) * 2004-07-14 2008-10-07 Microsoft Corporation Role-based authorization of network services using diversified security tokens
JP4325524B2 (ja) 2004-09-29 2009-09-02 日本電気株式会社 スイッチ装置とシステム並びにバックアップ及びリストア方法とプログラム
US8225385B2 (en) * 2006-03-23 2012-07-17 Microsoft Corporation Multiple security token transactions
US8632003B2 (en) * 2009-01-27 2014-01-21 Novell, Inc. Multiple persona information cards
US8364970B2 (en) * 2009-02-18 2013-01-29 Nokia Corporation Method and apparatus for providing enhanced service authorization
US8387136B2 (en) * 2010-01-05 2013-02-26 Red Hat, Inc. Role-based access control utilizing token profiles
US8776255B2 (en) * 2010-09-30 2014-07-08 Microsoft Corporation Claims-aware role-based access control
WO2012077223A1 (ja) 2010-12-10 2012-06-14 富士通株式会社 情報処理装置およびプログラム
JP5743786B2 (ja) * 2011-07-28 2015-07-01 キヤノン株式会社 サーバー装置、情報処理方法及びプログラム
JP5845973B2 (ja) * 2012-03-01 2016-01-20 富士通株式会社 サービス利用管理方法、プログラム、および情報処理装置
JP5799855B2 (ja) * 2012-03-02 2015-10-28 富士通株式会社 サービス提供方法、プログラム、および情報処理装置

Also Published As

Publication number Publication date
JPWO2015125290A1 (ja) 2017-03-30
WO2015125290A1 (ja) 2015-08-27
US20160366125A1 (en) 2016-12-15
US10270756B2 (en) 2019-04-23

Similar Documents

Publication Publication Date Title
US9288213B2 (en) System and service providing apparatus
JP6364496B2 (ja) モバイルクラウドサービスアーキテクチャ
US8918856B2 (en) Trusted intermediary for network layer claims-enabled access control
EP2756444B1 (en) Resource access authorization
US10637845B2 (en) Privacy-aware ID gateway
JP6064636B2 (ja) 情報処理システム、情報処理装置、認証方法及びプログラム
US20170346802A1 (en) Out of box experience application api integration
US11716325B2 (en) Limiting scopes in token-based authorization systems
US9401911B2 (en) One-time password certificate renewal
US9160731B2 (en) Establishing a trust relationship between two product systems
JP6248641B2 (ja) 情報処理システム及び認証方法
CN104255007A (zh) Oauth框架
KR101832535B1 (ko) 서비스로서 신뢰할 수 있는 장치 클레임 제공 기법
EP3552135B1 (en) Integrated consent system
US20230222137A1 (en) Data management platform
JP6102296B2 (ja) 情報処理システム、情報処理装置、認証方法及びプログラム
JP6288241B2 (ja) サービス提供方法、サービス提供装置、及び、サービス提供プログラム
CN110401674B (zh) 数据访问方法、装置、系统、电子设备及计算机可读介质
KR101285729B1 (ko) 데이터베이스 보안 시스템 및 방법
JP2015146103A (ja) コンテンツ提供システム、サーバー装置、端末装置、コンテンツ提供方法、及びプログラム
JP2021043856A (ja) 情報処理装置、情報処理システム、情報処理方法及びプログラム
WO2023235425A1 (en) Intelligent access redirection
JP2015028740A (ja) サービス提供システム、サービス提供方法及びプログラム
JP2019114864A (ja) アクセス制御プログラム、アクセス制御方法及び情報処理装置
JP2004029890A (ja) サービス提供システム、情報提供装置および方法、記録媒体、並びにプログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171017

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171218

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: 20180109

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180122

R150 Certificate of patent or registration of utility model

Ref document number: 6288241

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150