(57)【要約】【課題】より安価にシングルサインオンを実現することができる技術を提供すること。【解決手段】実施形態のウェブサービス提供システムは、認証されたユーザに対してウェブサービスを提供するウェブサービス提供部と、ユーザの認証処理を行い、認証が完了したユーザごとに異なる識別情報を付与するとともに、前記ユーザが所望のウェブサービスの提供を受けるために用いるユーザ端末に対して、前記ユーザに付与した識別情報を、前記ユーザの所望するウェブサービスを提供するウェブサービス提供部に送信させる認証部と、を備え、前記ウェブサービス提供部は、前記ユーザ端末から受信される前記識別情報を用いて前記ユーザの認証状態を識別し、前記ユーザが認証済みである場合に、前記ユーザに対して自身の提供するウェブサービスの利用を許可する。【選択図】図５
2018151795.tif 000002
【特許請求の範囲】
【請求項１】
認証されたユーザに対してウェブサービスを提供するウェブサービス提供部と、
ユーザの認証処理を行い、認証が完了したユーザごとに異なる識別情報を付与するとともに、前記ユーザが所望のウェブサービスの提供を受けるために用いるユーザ端末に対して、前記ユーザに付与した識別情報を、前記ユーザの所望するウェブサービスを提供するウェブサービス提供部に送信させる認証部と、
を備え、
前記ウェブサービス提供部は、前記ユーザ端末から受信される前記識別情報を用いて前記ユーザの認証状態を識別し、前記ユーザが認証済みである場合に、前記ユーザに対して自身の提供するウェブサービスの利用を許可する、
ウェブサービス提供システム。
【請求項２】
前記ウェブサービス提供部は、前記ユーザ端末から受信された前記識別情報を前記認証部に送信し、送信した前記識別情報に対する応答として、前記認証部から前記ユーザの認証状態を示す情報を取得することにより前記ユーザの認証状態を識別する、
請求項１に記載のウェブサービス提供システム。
【請求項３】
前記認証部は、前記ユーザに付与した前記識別情報を記憶するための記憶部を有し、前記ウェブサービス提供部から受信した前記識別情報が前記記憶部に記憶されている識別情報に一致する場合に、前記識別情報に対応づけられたユーザが認証済みであることを前記ウェブサービス提供部に応答する、
請求項２に記載のウェブサービス提供システム。
【請求項４】
前記識別情報は、前記ユーザごとに異なるハッシュ値を出力するハッシュ関数を用いて生成される、
請求項１から３のいずれか一項に記載のウェブサービス提供システム。
【請求項５】
前記認証部は、認証が完了したユーザに前記識別情報を付与する際、前記識別情報に有効期限を設定し、有効期限内の識別情報が付与されているユーザの認証状態を認証済みと識別し、有効期限を満了した識別情報が付与されているユーザの認証状態を未認証と識別する、
請求項１から４のいずれか一項に記載のウェブサービス提供システム。
【請求項６】
認証されたユーザに対してウェブサービスを提供するウェブサービス提供ステップと、
ユーザの認証処理を行い、認証が完了したユーザごとに異なる識別情報を付与するとともに、前記ユーザが所望のウェブサービスの提供を受けるために用いるユーザ端末に対して、前記ユーザに付与した識別情報を、前記ユーザの所望するウェブサービスを提供するウェブサービス提供部に送信させる認証ステップと、
を有し、
前記ウェブサービス提供ステップでは、前記ユーザ端末から受信される前記識別情報を用いて前記ユーザの認証状態を識別し、前記ユーザが認証済みである場合に、前記ユーザに対して自身の提供するウェブサービスの利用を許可する、
ウェブサービス提供方法。
【請求項７】
ユーザの認証処理を行い、認証が完了したユーザごとに異なる識別情報を付与するとともに、前記ユーザが所望のウェブサービスの提供を受けるために用いるユーザ端末に対して、前記ユーザに付与した識別情報を、前記ユーザの所望するウェブサービスを提供するウェブサービス提供サーバに送信させる認証サーバと通信するための通信部と、
認証されたユーザに対してウェブサービスを提供するウェブサービス提供部と、
を備え、
前記ウェブサービス提供部は、前記ユーザ端末から受信される前記識別情報を用いて前記ユーザの認証状態を識別し、前記ユーザが認証済みである場合に、前記ユーザに対して自身の提供するウェブサービスの利用を許可する、
サーバ。
【請求項８】
認証されたユーザに対してウェブサービスを提供するウェブサービス提供サーバであって、前記ユーザが所望のウェブサービスの提供を受けるために用いるユーザ端末から受信される識別情報を用いて前記ユーザの認証状態を識別するウェブサービス提供サーバと通信する通信部と、
ユーザの認証処理を行い、認証が完了したユーザごとに異なる識別情報を付与するとともに、前記ユーザが所望のウェブサービスの提供を受けるために用いるユーザ端末に対して、前記ユーザに付与した識別情報を、前記ユーザの所望するウェブサービスを提供するウェブサービス提供サーバに送信させる認証部と、
を備えるサーバ。
【請求項９】
請求項７又は８に記載のサーバとしてコンピュータを機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シングルサインオン技術に関する。
【背景技術】
【０００２】
複数サイトの認証を統合する技術としてシングルサイオンが知られている。シングルサインオンは、複数サイト間で認証情報を共有することにより認証の統合を実現する技術である。シングルサインオンの実現方式としては、リバースプロキシ型及びエージェント型が代表的である。例えば、特許文献１にはエージェント型のシングルサインオンを実現する認証システムについて記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−２９３０８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来方式でシングルサインオンを実現しようとした場合、リバースプロキシ型及びエージェント型のいずれの方式においても、各サイトの認証を統合して管理するＳＳＯ（Single Sign-On）サーバが必要となる。そのため、シングルサインオンの実現には多額の費用がかかり、経済的な負荷を理由に実現が困難な場合があるという課題があった。
【０００５】
上記事情に鑑み、本発明は、より安価にシングルサインオンを実現することができる技術を提供することを目的としている。
【課題を解決するための手段】
【０００６】
本発明の一態様は、認証されたユーザに対してウェブサービスを提供するウェブサービス提供部と、ユーザの認証処理を行い、認証が完了したユーザごとに異なる識別情報を付与するとともに、前記ユーザが所望のウェブサービスの提供を受けるために用いるユーザ端末に対して、前記ユーザに付与した識別情報を、前記ユーザの所望するウェブサービスを提供するウェブサービス提供部に送信させる認証部と、を備え、前記ウェブサービス提供部は、前記ユーザ端末から受信される前記識別情報を用いて前記ユーザの認証状態を識別し、前記ユーザが認証済みである場合に、前記ユーザに対して自身の提供するウェブサービスの利用を許可する、ウェブサービス提供システムである。
【０００７】
本発明の一態様は、上記のウェブサービス提供システムであって、前記ウェブサービス提供部は、前記ユーザ端末から受信された前記識別情報を前記認証部に送信し、送信した前記識別情報に対する応答として、前記認証部から前記ユーザの認証状態を示す情報を取得することにより前記ユーザの認証状態を識別する。
【０００８】
本発明の一態様は、上記のウェブサービス提供システムであって、前記認証部は、前記ユーザに付与した前記識別情報を記憶するための記憶部を有し、前記ウェブサービス提供部から受信した前記識別情報が前記記憶部に記憶されている識別情報に一致する場合に、前記識別情報に対応づけられたユーザが認証済みであることを前記ウェブサービス提供部に応答する。
【０００９】
本発明の一態様は、上記のウェブサービス提供システムであって、前記識別情報は、前記ユーザごとに異なるハッシュ値を出力するハッシュ関数を用いて生成される。
【００１０】
本発明の一態様は、上記のウェブサービス提供システムであって、前記認証部は、認証が完了したユーザに前記識別情報を付与する際、前記識別情報に有効期限を設定し、有効期限内の識別情報が付与されているユーザの認証状態を認証済みと識別し、有効期限を満了した識別情報が付与されているユーザの認証状態を未認証と識別する。
【００１１】
本発明の一態様は、認証されたユーザに対してウェブサービスを提供するウェブサービス提供ステップと、ユーザの認証処理を行い、認証が完了したユーザごとに異なる識別情報を付与するとともに、前記ユーザが所望のウェブサービスの提供を受けるために用いるユーザ端末に対して、前記ユーザに付与した識別情報を、前記ユーザの所望するウェブサービスを提供するウェブサービス提供部に送信させる認証ステップと、を有し、前記ウェブサービス提供ステップでは、前記ユーザ端末から受信される前記識別情報を用いて前記ユーザの認証状態を識別し、前記ユーザが認証済みである場合に、前記ユーザに対して自身の提供するウェブサービスの利用を許可する、ウェブサービス提供方法である。
【００１２】
本発明の一態様は、ユーザの認証処理を行い、認証が完了したユーザごとに異なる識別情報を付与するとともに、前記ユーザが所望のウェブサービスの提供を受けるために用いるユーザ端末に対して、前記ユーザに付与した識別情報を、前記ユーザの所望するウェブサービスを提供するウェブサービス提供サーバに送信させる認証サーバと通信するための通信部と、認証されたユーザに対してウェブサービスを提供するウェブサービス提供部と、を備え、前記ウェブサービス提供部は、前記ユーザ端末から受信される前記識別情報を用いて前記ユーザの認証状態を識別し、前記ユーザが認証済みである場合に、前記ユーザに対して自身の提供するウェブサービスの利用を許可する、サーバである。
【００１３】
本発明の一態様は、認証されたユーザに対してウェブサービスを提供するウェブサービス提供サーバであって、前記ユーザが所望のウェブサービスの提供を受けるために用いるユーザ端末から受信される識別情報を用いて前記ユーザの認証状態を識別するウェブサービス提供サーバと通信する通信部と、ユーザの認証処理を行い、認証が完了したユーザごとに異なる識別情報を付与するとともに、前記ユーザが所望のウェブサービスの提供を受けるために用いるユーザ端末に対して、前記ユーザに付与した識別情報を、前記ユーザの所望するウェブサービスを提供するウェブサービス提供サーバに送信させる認証部と、を備えるサーバである。
【００１４】
本発明の一態様は、上記のサーバとしてコンピュータを機能させるためのコンピュータプログラムである。
【発明の効果】
【００１５】
本発明により、より安価にシングルサインオンを実現することが可能となる。
【図面の簡単な説明】
【００１６】
【図１】実施形態におけるウェブサービス提供システム１００のシステム構成の概略を示す図である。
【図２】実施形態における代表サーバ１の機能構成の具体例を示すブロック図である。
【図３】記憶部１３に記憶される認証情報、サーバ間ユーザ識別子及び認証状態管理情報の具体例を示す図である。
【図４】実施形態における外部サーバ２の機能構成の具体例を示すブロック図である。
【図５】実施形態のウェブサービス提供システム１００におけるユーザ認証の流れを示すシーケンス図である。
【発明を実施するための形態】
【００１７】
図１は、実施形態におけるウェブサービス提供システム１００のシステム構成の概略を示す図である。ウェブサービス提供システム１００は、ユーザ端末３に対してウェブサービスを提供するシステムである。ウェブサービス提供システム１００は、代表サーバ１、及び一以上の外部サーバ２を備える。代表サーバ１は、第１ネットワーク４１を介してユーザ端末３と通信可能であり、第２ネットワーク４２を介して各外部サーバ２と通信可能である。なお、ウェブサービス提供システム１００のネットワーク構成は、代表サーバ１が各外部サーバ２及びユーザ端末３と通信可能であれば図１と異なる構成であってもよい。例えば、第１ネットワーク４１及び第２ネットワーク４２は、有線通信で実現されてもよいし無線通信で実現されてもよい。また、第１ネットワーク４１及び第２ネットワーク４２は、同一ネットワークとして構成されてもよい。また、第２ネットワーク４２は、外部サーバ２ごとに異なる複数のネットワークとして構成されてもよい。
【００１８】
代表サーバ１は、外部サーバ２とユーザ端末３との間に介在し、ユーザ端末３に対する各外部サーバ２の認証を一元管理することによりシングルサインオンを実現する。
【００１９】
外部サーバ２は、ウェブサービスの提供要求（以下「ウェブサービスリクエスト」という。）を受け付け、要求されたウェブサービスに対応する所定の処理を実行する。外部サーバ２が提供するウェブサービスはどのようなものであってもよい。外部サーバ２は、認証されたユーザのウェブサービスリクエストのみを受け付ける。
【００２０】
ユーザ端末３は、外部サーバ２に対してウェブサービスリクエストを送信する端末である。例えば、ユーザ端末３は、ウェブブラウザがインストールされたＰＣ（Personal Computer）やスマートフォン、タブレット等の端末装置である。上述のとおり、ユーザ端末３のウェブサービスリクエストは、ユーザが認証されていることを条件として外部サーバ２に受け付けられる。ユーザ端末３は、ユーザが所望するウェブサービスを代表サーバ１に通知することで、そのウェブサービスを提供する外部サーバ２の認証を受けることが可能である。
【００２１】
図２は、実施形態における代表サーバ１の機能構成の具体例を示すブロック図である。代表サーバ１は、バスで接続されたＣＰＵ（Central Processing Unit）やメモリや補助記憶装置などを備え、プログラムを実行する。代表サーバ１は、プログラムの実行によって第１通信部１１、第２通信部１２、記憶部１３及び認証部１４を備える装置として機能する。なお、代表サーバ１の各機能の全て又は一部は、ＡＳＩＣ（Application Specific Integrated Circuit）やＰＬＤ（Programmable Logic Device）やＦＰＧＡ（Field Programmable Gate Array）等のハードウェアを用いて実現されてもよい。プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。プログラムは、電気通信回線を介して送信されてもよい。
【００２２】
第１通信部１１は、自装置を第１ネットワーク４１に接続するための通信インタフェースを含んで構成される。第１通信部１１は、第１ネットワーク４１を介してユーザ端末３と通信する。また、第２通信部１２は、自装置を第２ネットワーク４２に接続するための通信インタフェースを含んで構成される。第２通信部１２は、第２ネットワーク４２を介して各外部サーバ２と通信する。
【００２３】
記憶部１３は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。記憶部１３は、認証情報、サーバ間ユーザ識別子及び認証状態管理情報を記憶する。認証情報は、ユーザの認証に必要な情報であり、ユーザの識別情報と資格情報とを含む。サーバ間ユーザ識別子は、代表サーバ１が外部サーバ２との間で同じユーザを識別するために用いるユーザの識別情報である。サーバ間ユーザ識別子は、認証情報に含まれる各ユーザの識別情報のそれぞれに一意な値として設定される。認証状態管理情報は、代表サーバ１が各ユーザの認証状態（認証済み又は未認証）を管理するための情報である。記憶部１３には、認証情報及びサーバ間ユーザ識別子が予め記憶される一方で、認証状態管理情報は認証状態の変化に応じて登録又は更新される。
【００２４】
認証部１４は、ウェブサービス提供システム１００に対するユーザの認証要求を受け付けるとともに、認証結果を要求元のユーザ端末３に応答する。認証部１４は、認証の完了に応じて当該ユーザに関する認証状態管理情報を生成し、生成した認証状態管理情報に基づいて認証済みのユーザの認証状態を管理する。一方で、認証部１４は、外部サーバ２の要求に応じて、所定ユーザの認証状態を応答する機能をさらに有する。
【００２５】
図３は、記憶部１３に記憶される認証情報、サーバ間ユーザ識別子及び認証状態管理情報の具体例を示す図である。例えば、実施形態の認証情報、サーバ間ユーザ識別子及び認証状態管理情報は、図３に示すテーブルＭ１として記憶される。テーブルＭ１は、ユーザＩＤごとのレコードを有し、各レコードはユーザＩＤ、パスワード、エイリアスＩＤ、ハッシュ値及び有効期限の各値を有する。ユーザＩＤ及びパスワードは、ウェブサービス提供システム１００を利用可能なユーザの識別情報及び資格情報であり、各ユーザの認証情報の一例である。エイリアスＩＤは、各ユーザＩＤに対して一意に定められた値であって、かつ対応するユーザＩＤとは異なる値を示す情報である。その意味で、エイリアスＩＤは、ユーザＩＤの別名（エイリアス）ということができる。このエイリアスＩＤは、サーバ間ユーザ識別子の一具体例であり、外部サーバ２との間でユーザＩＤの代わりに送受信される。このように、ユーザＩＤを間接的に示すエイリアスＩＤを送受信することによって、セキュリティをより強固なものにすることができる。セキュリティの観点では、エイリアスＩＤは、その値からユーザＩＤを取得又は推測することができないように設定されることが望ましい。
【００２６】
また、ハッシュ値は、所定のハッシュ関数に基づいて、少なくともユーザごとに異なる値として算出される値である。ハッシュ関数は、同じデータの入力に対して同じハッシュ値を出力し、異なるデータの入力に対して異なるハッシュ値を出力する性質を有する。また、ハッシュ値から元のデータを復元することは不可能である。このような性質を利用し、代表サーバ１は、認証が完了したユーザについてハッシュ値を生成し、その有効期限と対応づけてテーブルＭ１に登録する。このハッシュ値と有効期限との組み合わせは、代表サーバ１において、認証済みのユーザの認証状態を管理するために参照又は更新される。このようなハッシュ値及び有効期限は、本実施形態における認証状態管理情報の一具体例である。
【００２７】
図４は、実施形態における外部サーバ２の機能構成の具体例を示すブロック図である。外部サーバ２は、バスで接続されたＣＰＵやメモリや補助記憶装置などを備え、プログラムを実行する。外部サーバ２は、プログラムの実行によって通信部２１、リクエスト処理部２２及び認証状態確認部２３を備える装置として機能する。なお、外部サーバ２の各機能の全て又は一部は、ＡＳＩＣやＰＬＤやＦＰＧＡ等のハードウェアを用いて実現されてもよい。プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。プログラムは、電気通信回線を介して送信されてもよい。
【００２８】
通信部２１は、自装置を第２ネットワーク４２に接続するための通信インタフェースを含んで構成される。通信部２１は、第２ネットワーク４２を介して代表サーバ１と通信する。
【００２９】
リクエスト処理部２２は、自装置に対するウェブサービスリクエストを受け付け、受け付けたリクエストに応じた処理を実行する。具体的には、リクエスト処理部２２は、ウェブサービスリクエストが受信されると、そのリクエストを送信したユーザの認証状態を、認証状態確認部２３を介して代表サーバ１に確認する。リクエスト処理部２２は、代表サーバ１から当該ユーザが認証済みであることが応答された場合にのみ、当該リクエストを受け付ける。
【００３０】
認証状態確認部２３は、リクエスト処理部２２の要求に応じて、指定されたユーザの認証状態を代表サーバ１に問い合わせる。認証状態確認部２３は、問い合わせの結果（認証済み又は未認証）をリクエスト処理部２２に応答する。
【００３１】
なお、外部サーバ２は、上記問い合わせの結果を記憶する記憶部を備えても良い。例えば、問い合わせの結果として、各ユーザの有効期限を取得可能である場合、認証状態確認部２３は、認証済みのユーザの有効期限を識別情報に対応づけた情報（以下「認証済みユーザ情報」という。）を記憶部に記憶させてもよい。この場合、リクエスト処理部２２は、認証済みユーザ情報を参照することでユーザの認証状態を識別し、認証済みユーザ情報に登録されていないユーザの認証状態を代表サーバ１に問い合わせるように構成されてもよい。
【００３２】
図５は、実施形態のウェブサービス提供システム１００におけるユーザ認証の流れを示すシーケンス図である。まず、ユーザ端末３において、代表ＵＲＬ（Uniform Resource Locater）にアクセスする操作が入力される（イベントＥ１）。この操作に応じて、ユーザ端末３は、代表ＵＲＬへのアクセスを実行する。ここで、代表ＵＲＬは、代表サーバ１が提供するウェブサイトのＵＲＬであり、アクセスには代表サーバ１によるユーザ認証が必要となる。ユーザ端末３は、代表ＵＲＬにアクセスする際、ユーザＩＤ及びパスワードを取得して代表サーバ１に送信する（ステップＳ１０１）。ユーザ認証が完了すると、ユーザ端末３には、各外部サーバ２が提供するウェブサービスを要求するためのリンクが記載された代表画面が表示される。
【００３３】
具体的には、代表サーバ１の認証部１４は、ユーザ端末３から代表ＵＲＬへのアクセス要求を受けると、まず、送信された認証情報（ユーザＩＤ及びパスワード）を用いて当該ユーザの認証処理を行う（ステップＳ１０２）。認証処理は、送信された認証情報と、記憶部１３に予め記憶されている当該ユーザの認証情報との比較によって行われる。
【００３４】
認証部１４は、ユーザの認証が完了すると、当該ユーザの認証状態管理情報を生成して記憶部１３に記憶させる。具体的には、認証部１４は、当該ユーザに固有のハッシュ値を生成する（ステップＳ１０３）。例えば、ハッシュ値は、ユーザＩＤに基づいて生成されてもよいし、エイリアスＩＤに基づいて生成されてもよい。認証部１４は、生成したハッシュ値をその有効期限とともにテーブルＭ１に登録する。一方で、認証部１４は、ユーザ端末３のアクセス要求に対する応答として、代表画面を表示させるためのデータ（以下「代表画面データ」という。）と、生成したハッシュ値とをユーザ端末３に送信する（ステップＳ１０４）。
【００３５】
ユーザ端末３は、代表サーバ１から送信された代表画面データに基づいて代表画面を表示する（ステップＳ１０５）。上述したとおり、代表画面には各外部サーバ２が提供するウェブサービスを要求するためのリンクが記載されており、このリンクには、自装置のアクセス要求に応じて代表サーバ１が生成したハッシュ値がパラメータとして付加される。例えば、ユーザが所望するウェブサービスが“https://xxxxx”というＵＲＬで公開されており、生成されたハッシュ値が“yyyyy”である場合、そのウェブサービスのリンクは“https://xxxxx?hash=yyyyy”と記載される。そして、このリンクを選択する操作が入力される（イベントＥ２）と、ユーザ端末３は当該ウェブサービスを提供する外部サーバ２に対して、ウェブサービスリクエストをハッシュ値とともに送信する（ステップＳ１０６）。
【００３６】
外部サーバ２は、ユーザ端末３から送信されたウェブサービスリクエストを受けると、そのリクエストが示すハッシュ値に基づいて、当該リクエストを送信したユーザの認証状態を確認する。具体的には、外部サーバ２のリクエスト処理部２２が、ユーザ端末３からウェブサービスリクエストを受信する。リクエスト処理部２２は、受信したウェブサービスリクエストが示すハッシュ値を認証状態確認部２３に出力する。認証状態確認部２３は、リクエスト処理部２２から出力されたハッシュ値を代表サーバ１に送信し、代表サーバ１に対して当該リクエストを送信したユーザの認証状態を問い合わせる（ステップＳ１０７）。この問い合わせに応じて、代表サーバ１の認証部１４は、記憶部１３に記憶している認証状態管理情報を参照し、受信したハッシュ値が登録済みであるか否かを判定する（ステップＳ１０８）。すなわち、受信したハッシュ値がテーブルＭ１に登録済みである場合、当該ユーザは認証済みの状態であると判定され（ステップＳ１０９）、未登録の場合、当該ユーザは未認証の状態であると判定される（ステップＳ１１０）。認証部１４は、判定結果を認証状態確認部２３に応答し（ステップＳ１１１）、認証状態確認部２３は、認証部１４から応答されたユーザの認証状態をリクエスト処理部２２に出力する。
【００３７】
リクエスト処理部２２は、認証部１４から応答された判定結果に基づいて、リクエストを送信したユーザが認証済みであるか否かを判定する（ステップＳ１１２）。ユーザが認証済みである場合（ステップＳ１１２−ＹＥＳ）、リクエスト処理部２２は、送信元のユーザ端末３に対して、自サーバが提供するウェブサービスを利用させるための画面（以下「サービス画面」という。）を表示させるサービス画面データを送信する（ステップＳ１１３）。ユーザ端末３は、外部サーバ２から受信されたサービス画面データに基づいて、サービス画面を表示する（ステップＳ１１４）。ユーザは、表示されたサービス画面を操作することにより、所望するウェブサービスの提供を外部サーバ２に要求することが可能となる。一方で、ユーザが未認証である場合、リクエスト処理部２２は、受信したウェブサービスリクエスト受け付けない。この場合、リクエスト処理部２２は、ユーザ端末３に対してエラーを通知してもよいし、ユーザ端末３の画面を代表画面に遷移させてもよい（ステップＳ１１５）。
【００３８】
なお、ステップＳ１１３において、リクエスト処理部２２は、認証済みのユーザ端末３に対してユーザに応じたデータを送信するように構成されてもよい。例えば、リクエスト処理部２２は、認証済みのユーザ端末３に対してユーザごとに異なる専用のサービス画面を表示させるサービス画面データを送信してもよい。この場合、外部サーバ２には、ユーザごとの認証情報及びサーバ間ユーザ識別子が予め記憶される。また、代表サーバ１は、前段のステップＳ１１１において、判定結果を示す情報とともに、当該ユーザのサーバ間ユーザ識別子を外部サーバ２に送信する。リクエスト処理部２２は、代表サーバ１から受信されたサーバ間ユーザ識別子に基づいて認証されたユーザを識別し、識別されたユーザに専用のサービス画面データを取得又は生成する。
【００３９】
このように構成された実施形態のウェブサービス提供システム１００は、ユーザ端末３が各外部サーバ２にアクセスする際の起点となり、ユーザ認証及び認証状態の管理を行う代表サーバ１を備えることにより、ＳＳＯサーバを必要とせずにＳＳＯ機能を実現することができる。そのため、実施形態のウェブサービス提供システム１００によれば、より安価にシングルサインオンを実現することが可能となる。
【００４０】
また、実施形態のウェブサービス提供システム１００では、代表サーバ１と外部サーバ２との間でユーザの認証情報が送信されることはない。代表サーバ１と外部サーバ２との間では、ユーザの認証情報に代えて、ユーザを間接的に識別可能にするサーバ間ユーザ識別子が送受信される。このような構成を備えることにより、実施形態のウェブサービス提供システム１００は、より安価に、かつセキュリティ性の高いシングルサインオンを実現することが可能となる。
【００４１】
＜変形例＞
上記の実施形態では、代表サーバ１におけるユーザ認証（すなわち代表サーバ１へのログインに相当する）に応じて、認証部１４が認証状態管理情報を生成する構成について説明したが、認証部１４は所定のタイミングで認証状態管理情報を更新又は削除してもよい。例えば、認証部１４は、定期的にテーブルＭ１を確認し、有効期限が切れた認証状態管理情報を削除してもよい。また、認証部１４は、ユーザがウェブサービスの利用を終了した（例えば、ログアウトした）ことに応じて、当該ユーザの認証状態管理情報を削除してもよい。
【００４２】
上述した実施形態における代表サーバ１又は外部サーバ２をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、ＦＰＧＡ（Field Programmable Gate Array）等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
【００４３】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【産業上の利用可能性】
【００４４】
本発明は、ユーザ認証を行うシステムに適用可能である。
【符号の説明】
【００４５】
１００…ウェブサービス提供システム、  １…代表サーバ、  １１…第１通信部、  １２…第２通信部、  １３…記憶部、  １４…認証部、  ２…外部サーバ、  ２１…通信部、  ２２…リクエスト処理部、  ２３…認証状態確認部、  ３…ユーザ端末、  ４１…第１ネットワーク、  ４２…第２ネットワーク
【図１】
2018151795.tif 000003
【図２】
2018151795.tif 000004
【図３】
2018151795.tif 000005
【図４】
2018151795.tif 000006
【図５】
2018151795.tif 000007
【手続補正書】
【提出日】平成30年4月10日(2018.4.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ウェブサービスを提供する複数のウェブサービス提供部と、
前記ウェブサービスを利用するユーザの認証処理を行う認証部と、
を備え、
前記認証部は、前記認証処理において認証されたユーザごとに異なる識別情報を生成し、生成した前記識別情報を前記複数のウェブサービス提供部のいずれかに送信する手段を示す情報を前記ユーザのユーザ端末に送信し、
前記ウェブサービス提供部は、前記手段を介して前記ユーザ端末から前記識別情報を取得し、取得した前記識別情報に基づいて前記ユーザの認証状態を判定し、前記ユーザが認証済みである場合に、前記ユーザに対して自身の提供するウェブサービスの利用を許可する、
ウェブサービス提供システム。
【請求項２】
前記ウェブサービス提供部は、前記ユーザ端末から取得した前記識別情報を前記認証部に送信し、この識別情報の送信に対する応答として、前記識別情報に基づいて判定された前記ユーザの認証状態を示す通知を前記認証部から受信する、
請求項１に記載のウェブサービス提供システム。
【請求項３】
前記認証部は、自身の生成した識別情報を第１識別情報とし、前記ウェブサービス提供部から取得した識別情報を第２識別情報とした場合、前記第１識別情報が前記第２識別情報に一致する場合には前記ユーザが認証済みであると判定し、前記第１識別情報が前記第２識別情報に一致しない場合には前記ユーザが未認証であると判定し、この判定結果を前記ウェブサービス提供部に通知する、
請求項２に記載のウェブサービス提供システム。
【請求項４】
前記識別情報は、前記ユーザごとに異なるハッシュ値を出力するハッシュ関数を用いて生成される、
請求項１から３のいずれか一項に記載のウェブサービス提供システム。
【請求項５】
前記認証部は、前記認証処理において認証されたユーザについて前記識別情報を生成する際、前記識別情報に有効期限を設定し、有効期限内の識別情報に対応するユーザの認証状態を認証済みと識別し、有効期限を満了した識別情報に対応するユーザの認証状態を未認証と識別する、
請求項１から４のいずれか一項に記載のウェブサービス提供システム。
【請求項６】
ウェブサービスを提供する複数のウェブサービス提供ステップと、
前記ウェブサービスを利用するユーザの認証処理を行う認証ステップと、
を有し、
前記認証ステップでは、前記認証処理において認証されたユーザごとに異なる識別情報を生成し、生成した前記識別情報を前記複数のウェブサービス提供部のいずれかに送信する手段を示す情報を前記ユーザのユーザ端末に送信し、
前記ウェブサービス提供ステップでは、前記手段を介して前記ユーザ端末から前記識別情報を取得し、取得した前記識別情報に基づいて前記ユーザの認証状態を判定し、前記ユーザが認証済みである場合に、前記ユーザに対して自身の提供するウェブサービスの利用を許可する、
ウェブサービス提供方法。
【請求項７】
ウェブサービスを利用するユーザの認証処理を行う認証サーバと通信する通信部と、
ウェブサービスを提供するウェブサービス提供部と、
を備えるウェブサーバであって、
前記認証サーバは、前記認証処理において認証されたユーザごとに異なる識別情報を生成し、生成した前記識別情報をウェブサービスを提供する複数のウェブサーバのいずれかに送信する手段を示す情報を前記ユーザのユーザ端末に送信し、
前記ウェブサービス提供部は、前記手段を介して前記ユーザ端末から前記識別情報を取得し、取得した前記識別情報に基づいて前記ユーザの認証状態を判定し、前記ユーザが認証済みである場合に、前記ユーザに対して自身の提供するウェブサービスの利用を許可する、
ウェブサーバ。
【請求項８】
ウェブサービスを提供する複数のウェブサーバと通信する通信部と、
前記ウェブサービスを利用するユーザの認証処理を行う認証部と、
を備える認証サーバであって、
前記認証部は、前記認証処理において認証されたユーザごとに異なる識別情報を生成し、生成した前記識別情報を前記複数のウェブサーバのいずれかに送信する手段を示す情報を前記ユーザのユーザ端末に送信し、
前記複数のウェブサーバは、前記手段を介して前記ユーザ端末から前記識別情報を取得し、取得した前記識別情報に基づいて前記ユーザの認証状態を判定し、前記ユーザが認証済みである場合に、前記ユーザに対して自身の提供するウェブサービスの利用を許可する、
認証サーバ。
【請求項９】
請求項７に記載のウェブサーバとしてコンピュータを機能させるためのコンピュータプログラム。
【請求項１０】
請求項８に記載の認証サーバとしてコンピュータを機能させるためのコンピュータプログラム。