(57)【要約】      （修正有）【課題】サービスの提供を受けるユーザとして予め登録している正規のユーザにサービスを提供可能とする。【解決手段】サービス提供装置は、提携する認証管理装置から受け付けたトークンを用いて、トークンに対応するユーザのサービス登録情報が登録済みであるか確認すると共に、サービスの要求がサービス登録情報で表されるユーザからの要求であるかを確認し、トークンに対応したサービス登録情報が登録済みであり、かつ、サービスの要求がサービス登録情報で表されるユーザからの要求であると確認された場合に、ユーザが要求したサービスの提供が行われるように制御する。【選択図】図２
2020154767.tif 000002
【特許請求の範囲】
【請求項１】
提携する複数のサービスの認証を支援する認証管理装置から受け付けた管理情報を用いて、前記管理情報に対応するユーザの登録情報が登録済みであるか確認すると共に、サービスの要求が前記登録情報で表されるユーザからの要求であるかを確認する確認部と、
前記確認部で前記登録情報が登録済みであり、かつ、サービスの要求が前記登録情報で表されるユーザからの要求であると確認された場合に、ユーザが要求したサービスの提供が行われるように制御する制御部と、
を備えたサービス提供装置。
【請求項２】
前記確認部は、前記認証管理装置から受け付けた前記管理情報が、前記登録情報をユーザ毎に管理する管理テーブルに登録されていない場合、前記認証管理装置から受け付けた前記管理情報に含まれる連絡先を用いて、サービスの要求が前記登録情報で表されるユーザからの要求であるかを確認する
請求項１記載のサービス提供装置。
【請求項３】
前記管理情報に含まれる連絡先がメールアドレスである場合、前記確認部は、前記メールアドレスに向けて送信した、サービスを要求したユーザであるか確認を行う確認メールに対して、サービスの利用を承諾する承諾通知を受け付けることによって、サービスの要求が前記登録情報で表されるユーザからの要求であると確認する
請求項２記載のサービス提供装置。
【請求項４】
前記確認部は、前記登録情報が既に登録済みである場合、前記登録情報のパスワードの入力をユーザに要求し、入力されたパスワードが前記登録情報のパスワードと同じである場合に、サービスの要求が前記登録情報で表されるユーザからの要求であると確認し、
前記制御部は、前記認証管理装置から受け付けた前記管理情報と前記登録情報を関連付ける制御を行う
請求項１〜請求項３の何れか１項に記載のサービス提供装置。
【請求項５】
前記確認部は、前記管理情報の管理ＩＤを含む前記登録情報の識別子に、前記管理情報に含まれる連絡先とは異なる内容が設定されている場合、パスワードを要求し、得られたパスワードが前記登録情報のパスワードと同じであれば、サービスの要求が前記登録情報で表されるユーザからの要求であると確認し、
前記制御部は、前記登録情報の識別子を、前記認証管理装置から受け付けた前記管理情報の連絡先に変更する制御を行う
請求項１〜請求項４の何れか１項に記載のサービス提供装置。
【請求項６】
前記確認部は、前記登録情報のパスワードに加えて、更に前記管理情報に含まれる連絡先の入力を要求し、得られたパスワードが前記登録情報のパスワードと同じで、かつ、得られた連絡先が前記管理情報に含まれる連絡先と同じである場合に、サービスの要求が前記登録情報で表されるユーザからの要求であると確認する
請求項５記載のサービス提供装置。
【請求項７】
前記認証管理装置を経由することなく、ユーザからサービスの要求を受け付けた場合に、前記制御部は、前記認証管理装置に対してサービスを要求したユーザの前記管理情報を要求しても前記管理情報が得られなかった場合、前記管理情報と前記登録情報との関連付けを解除する制御を行う
請求項１〜請求項６の何れか１項に記載のサービス提供装置。
【請求項８】
前記制御部は、各ユーザについて、提供するサービスの利用に伴う認証から予め定めた期間が経過した場合、前記予め定めた期間が経過したユーザの前記管理情報と前記登録情報との関連付けを解除する制御を行う
請求項１〜請求項７の何れか１項に記載のサービス提供装置。
【請求項９】
前記確認部は、情報の真正性が担保された前記認証管理装置から受け付けた前記管理情報を、サービスを要求したユーザの正しい情報として扱う
請求項１〜請求項８の何れか１項に記載のサービス提供装置。
【請求項１０】
コンピュータを、請求項１〜請求項９の何れか１項に記載のサービス提供装置の各部として機能させるためのサービス提供プログラム。
【請求項１１】
請求項１〜請求項９の何れか１項に記載のサービス提供装置と、
ユーザを識別する識別子とユーザの連絡先を含む管理情報をユーザ毎に登録し、登録されるユーザが、前記サービス提供装置が提供するサービスを要求している場合、サービスを要求しているユーザの前記管理情報を前記サービス提供装置に送信し、前記サービス提供装置と連携して、サービスを要求しているユーザの前記サービス提供装置での認証を支援する認証管理装置、
を含むサービス提供システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サービス提供装置、サービス提供プログラム、及びサービス提供システムに関する。
【背景技術】
【０００２】
特許文献１には、第１の管理サーバを備える第１のサービスシステムと、第２の管理サーバを備える第２のサービスシステムとが互いに連携してサービスを提供するシステムであって、前記第１の管理サーバは、ユーザ認証を行ない、認証したユーザが所属するテナントを示すテナント情報を取得する手段と、前記第２のサービスシステムに対してクライアント登録要求を行なう手段とを備え、前記第２の管理サーバは、前記クライアント登録要求に従うクライアント登録と、前記認証したユーザが所属するグループを示すグループ情報と、を含む登録結果を前記第１の管理サーバに送る手段を備え、前記第１の管理サーバは、前記グループ情報を受け取り、受け取ったグループ情報と、前記認証したユーザのテナント情報を対応付けて記憶する手段を備え、前記第２の管理サーバは、前記登録したクライアントからの認証要求に応じて認証したユーザのグループ情報を含むＩＤ情報を前記第１の管理サーバに送る手段を備え、前記第１の管理サーバは、前記ＩＤ情報を受け取り、受け取ったＩＤ情報が示すアカウントに対応するアカウントの存在を判定する手段と、前記判定する手段により当該アカウントが存在しないと判定された場合に、新たにアカウントを生成する手段とを備えることを特徴とするサービス提供システムが開示されている。
【０００３】
特許文献２には、端末装置とネットワークを介して通信可能なサーバ装置であって、前記端末装置のユーザの固有ＩＤを含むユーザ情報を前記端末装置から受信する受信手段と、前記受信手段により受信されたユーザ情報のうち前記端末装置により指定された属性情報を含むユーザ情報に含まれる固有ＩＤと、前記サーバ装置において認証されるユーザ情報のうち前記属性情報を含むユーザ情報に含まれるユーザの固有ＩＤとを紐付けて、前記端末装置と前記サーバ装置との認証連携に係るＩＤマッピング情報を生成する生成手段と、を有するサーバ装置が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−５７７３７号公報
【特許文献２】特開２０１６−８５６３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
複数のサービス提供装置と連携し、ユーザが設定した１つの認証情報で各々のサービス提供装置が提供するサービスの認証を行う認証管理装置が知られている。
【０００６】
認証管理装置で認証情報の不正な変更に対応した対策がとられていない場合、悪意のある認証管理装置の管理者等がユーザの認証情報を不正に変更することで、管理者等が認証情報を変更したユーザに成りすまし、サービス提供装置のサービスを不正に享受することが考えられる。
【０００７】
本発明は、認証管理装置と連携して提供サービスのユーザ認証を行う場合に、認証管理装置に登録される認証情報の真正性が担保されていない場合であっても、サービスの提供を受けるユーザとして予め登録している正規のユーザにサービスを提供することができるサービス提供装置、サービス提供プログラム、及びサービス提供システムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
第１態様に係るサービス提供装置は、提携する複数のサービスの認証を支援する認証管理装置から受け付けた管理情報を用いて、前記管理情報に対応するユーザの登録情報が登録済みであるか確認すると共に、サービスの要求が前記登録情報で表されるユーザからの要求であるかを確認する確認部前記確認部で前記登録情報が登録済みであり、かつ、サービスの要求が前記登録情報で表されるユーザからの要求であると確認された場合に、ユーザが要求したサービスの提供が行われるように制御する制御部と、を備える。
【０００９】
第２態様に係るサービス提供装置は、第１態様に係るサービス提供装置において、前記確認部は、前記認証管理装置から受け付けた前記管理情報が、前記登録情報をユーザ毎に管理する管理テーブルに登録されていない場合、前記認証管理装置から受け付けた前記管理情報に含まれる連絡先を用いて、サービスの要求が前記登録情報で表されるユーザからの要求であるかを確認する。
【００１０】
第３態様に係るサービス提供装置は、第２態様に係るサービス提供装置において、前記管理情報に含まれる連絡先がメールアドレスである場合、前記確認部は、前記メールアドレスに向けて送信した、サービスを要求したユーザであるか確認を行う確認メールに対して、サービスの利用を承諾する承諾通知を受け付けることによって、サービスの要求が前記登録情報で表されるユーザからの要求であると確認する。
【００１１】
第４態様に係るサービス提供装置は、第１態様〜第３態様の何れかの態様に係るサービス提供装置において、前記確認部は、前記登録情報が既に登録済みである場合、前記登録情報のパスワードの入力をユーザに要求し、入力されたパスワードが前記登録情報のパスワードと同じである場合に、サービスの要求が前記登録情報で表されるユーザからの要求であると確認し、前記制御部は、前記認証管理装置から受け付けた前記管理情報と前記登録情報を関連付ける制御を行う。
【００１２】
第５態様に係るサービス提供装置は、第１態様〜第４態様の何れかの態様に係るサービス提供装置において、前記確認部は、前記管理情報の管理ＩＤを含む前記登録情報の識別子に、前記管理情報に含まれる連絡先とは異なる内容が設定されている場合、パスワードを要求し、得られたパスワードが前記登録情報のパスワードと同じであれば、サービスの要求が前記登録情報で表されるユーザからの要求であると確認し、前記制御部は、前記登録情報の識別子を、前記認証管理装置から受け付けた前記管理情報の連絡先に変更する制御を行う。
【００１３】
第６態様に係るサービス提供装置は、第５態様に係るサービス提供装置において、  前記確認部は、前記登録情報のパスワードに加えて、更に前記管理情報に含まれる連絡先の入力を要求し、得られたパスワードが前記登録情報のパスワードと同じで、かつ、得られた連絡先が前記管理情報に含まれる連絡先と同じである場合に、サービスの要求が前記登録情報で表されるユーザからの要求であると確認する。
【００１４】
第７態様に係るサービス提供装置は、第１態様〜第６態様の何れかの態様に係るサービス提供装置において、前記認証管理装置を経由することなく、ユーザからサービスの要求を受け付けた場合に、前記制御部は、前記認証管理装置に対してサービスを要求したユーザの前記管理情報を要求しても前記管理情報が得られなかった場合、前記管理情報と前記登録情報との関連付けを解除する制御を行う。
【００１５】
第８態様に係るサービス提供装置は、第１態様〜第７態様の何れかの態様に係るサービス提供装置において、前記制御部は、各ユーザについて、提供するサービスの利用に伴う認証から予め定めた期間が経過した場合、前記予め定めた期間が経過したユーザの前記管理情報と前記登録情報との関連付けを解除する制御を行う。
【００１６】
第９態様に係るサービス提供装置は、第１態様〜第８態様の何れかの態様に係るサービス提供装置において、前記確認部は、情報の真正性が担保された前記認証管理装置から受け付けた前記管理情報を、サービスを要求したユーザの正しい情報として扱う。
【００１７】
第１０態様に係るサービス提供プログラムは、コンピュータを、第１態様〜第９態様の何れかの態様に係るサービス提供装置の各部として機能させるためのプログラムである。
【００１８】
第１１態様に係るサービス提供システムは、第１態様〜第９態様の何れかの態様に係るサービス提供装置と、ユーザを識別する識別子とユーザの連絡先を含む管理情報をユーザ毎に登録し、登録されるユーザが、前記サービス提供装置が提供するサービスを要求している場合、サービスを要求しているユーザの前記管理情報を前記サービス提供装置に送信し、前記サービス提供装置と連携して、サービスを要求しているユーザの前記サービス提供装置での認証を支援する認証管理装置、を含む。
【発明の効果】
【００１９】
第１態様、第１０態様、及び第１１態様によれば、認証管理装置と連携して提供サービスのユーザ認証を行う場合に、認証管理装置に登録される認証情報の真正性が担保されていない場合であっても、サービスの提供を受けるユーザとして予め登録している正規のユーザにサービスを提供することができる、という効果を有する。
【００２０】
第２態様によれば、認証管理装置の管理者がサービス提供装置に登録されていないユーザに成りすましてサービス提供装置にアクセスしようとしている場合であっても、認証管理装置から受け付けた管理情報が、サービスを要求したユーザの正しい管理情報か判断することができる、という効果を有する。
【００２１】
第３態様によれば、サービス提供装置からユーザにサービスを要求したか確認をとることができる、という効果を有する。
【００２２】
第４態様によれば、認証管理装置からサービス提供装置で管理されている登録情報に含まれる管理情報と同じ管理情報を受け付けた場合であっても、サービスを要求したユーザが、登録情報に対応する正しいユーザであるか更に確認し、管理情報と登録情報を関連付けることができる、という効果を有する。
【００２３】
第５態様によれば、認証管理装置からサービス提供装置で管理されている登録情報の識別子と異なる連絡先を受け付けた場合であっても、サービスを要求したユーザが、サービス提供装置で管理されている登録情報に対応した正しいユーザであるか確認し、登録情報の識別子を管理情報の連絡先に変更することができる、という効果を有する。
【００２４】
第６態様によれば、パスワードだけで本人確認を行う場合と比較して、サービスを要求したユーザが、サービス提供装置で管理されている登録情報に対応した正しいユーザであるか厳格に確認することができる、という効果を有する。
【００２５】
第７態様によれば、ユーザが、認証管理装置を用いたサービス提供装置への連携認証の利用契約を解除している場合に、サービス提供装置に記憶されている認証管理装置との連携に関する情報を削除することができる、という効果を有する。
【００２６】
第８態様によれば、認証管理装置を用いたサービス提供装置への連携認証の利用契約を解除したユーザが、サービス提供装置が提供するサービスを利用しない場合であっても、サービス提供装置に記憶されている認証管理装置との連携に関する情報を削除することができる、という効果を有する。
【００２７】
第９態様によれば、成りすましを行っていないと考えられるユーザに対しては、サービスを利用する度に行われる本人確認を省略することができる、という効果を有する。
【図面の簡単な説明】
【００２８】
【図１】サービス提供システムのシステム構成例を示す図である。
【図２】サービス提供システムにおける認証の流れの一例を示したシーケンス図である。
【図３】サービス提供装置の受付画面の一例を示す図である。
【図４】認証管理装置の機能構成例を示すブロック図である。
【図５】認証管理テーブルの一例を示す図である。
【図６】サービス提供装置の機能構成例を示すブロック図である。
【図７】サービス管理テーブルの一例を示す図である。
【図８】ユーザ装置の機能構成例を示すブロック図である。
【図９】認証管理装置、サービス提供装置、及びユーザ装置における電気系統の要部構成例を示す図である。
【図１０】サービス提供装置におけるサービス提供処理の流れの一例を示すフローチャートである。
【図１１】サービス提供装置におけるアカウント作成処理の流れの一例を示すフローチャートである。
【図１２】サービス提供装置におけるＩＤ関連付け処理の流れの一例を示すフローチャートである。
【図１３】サービス提供装置におけるＩＤ変更処理の流れの一例を示すフローチャートである。
【図１４】サービス提供装置におけるサービス管理テーブルの更新処理の流れを示すフローチャートの一例である。
【図１５】サービス提供装置におけるサービス管理テーブルの定期更新処理の流れを示すフローチャートの一例である。
【発明を実施するための形態】
【００２９】
以下、本実施の形態について図面を参照しながら説明する。なお、機能が同じ構成要素及び処理には全図面を通して同じ符合を付与し、重複する説明を省略する。
【００３０】
図１は、本実施の形態に係るサービス提供システム１のシステム構成例を示す図である。サービス提供システム１は、認証管理装置１０、サービス提供装置２０、及びユーザ装置３０を含み、認証管理装置１０、サービス提供装置２０、及びユーザ装置３０はそれぞれ通信回線２で接続されている。
【００３１】
通信回線２は有線回線であっても無線回線であっても、また、有線回線と無線回線が混在した回線であってもよい。更に、通信回線２は専用回線であっても、インターネットのように不特定多数の装置と回線を共有する公衆回線であってもよい。
【００３２】
認証管理装置１０は認証管理装置に登録されたユーザの認証情報を管理し、認証管理装置１０に登録されたユーザがサービス提供装置２０で提供されるサービスを利用する場合、認証管理装置１０で管理される当該ユーザの認証情報をサービス提供装置２０に通知することで、サービス提供装置２０で当該ユーザの認証が行われるようにする認証サービスを提供する装置である。
【００３３】
すなわち、認証管理装置１０は、認証管理装置１０に登録したユーザに対して、認証管理装置１０と提携したサービス提供装置２０であれば、共通の認証情報でサービス提供装置２０が提供するサービスの利用が許可されるシングルサインオン(Single Sign On:ＳＳＯ)機能を実現する。以降では、認証管理装置１０と連携してサービス提供装置２０の認証を行うことを「連携認証」ということにする。
【００３４】
認証管理装置１０と提携するサービス提供装置２０とは、認証管理装置１０との連携認証を利用してユーザの認証を行うサービス提供装置２０のことである。認証管理装置１０には、連携認証を利用するユーザの認証情報が管理されている。
【００３５】
以降では、連携認証を利用するため、ユーザが認証管理装置１０にアクセスした場合に認証管理装置１０で行われる認証に用いられる識別子を「管理ＩＤ(Identification)」という。また、ユーザが連携認証を利用することなしにサービスを受けるため、サービス提供装置２０に直接アクセスした場合にサービス提供装置２０で行われる認証に用いられる識別子を「サービスＩＤ」ということにする。
【００３６】
サービス提供装置２０は、ユーザがサービスを要求した場合に、サービスを要求したユーザがサービス提供装置２０に予め登録された登録ユーザであるかの認証を行い、認証が完了した後に要求されたサービスを提供する装置である。サービス提供装置２０が提供するサービスの内容に制約はなく、通信回線２を通じて受け付けられるサービスであれば、どのような内容であってもよい。
【００３７】
ユーザが連携認証を用いてサービス提供装置２０が提供するサービスを利用するには、予め認証管理装置１０にアクセスする。なお、ユーザが連携認証を用いずにサービス提供装置２０が提供するサービスを利用するには、サービス提供装置２０にアクセスしてユーザ登録を行い、サービス提供装置２０にサービスＩＤを登録すればよい。
【００３８】
図１に示すサービス提供システム１の例には１台のサービス提供装置２０しか含まれていないが、サービス提供システム１は、認証管理装置１０と提携した複数のサービス提供装置２０を含んでもよい。この場合、ユーザが認証管理装置１０で１度認証されると、認証されたユーザは、各々のサービス提供装置２０が提供するサービスを受けられるようになる。
【００３９】
なお、認証管理装置１０及びサービス提供装置２０の認証に用いられる情報は管理ＩＤ及びサービスＩＤだけでなく、各々のＩＤに対応付けたユーザだけが知っている秘匿情報、すなわちパスワードも用いられる。管理ＩＤに対応付けられたパスワードを「管理パスワード」といい、サービスＩＤに対応付けられたパスワードを「サービスパスワード」という。また、認証管理装置１０の認証に用いられる管理ＩＤと管理パスワードをあわせて「管理ログイン情報」といい、サービス提供装置２０の認証に用いられるサービスＩＤとサービスパスワードをあわせて「サービスログイン情報」という。
【００４０】
ユーザ装置３０は、サービス提供装置２０が提供するサービスを利用するユーザが操作する装置であり、通信回線２を通じて認証管理装置１０またはサービス提供装置２０に接続してサービスの要求を行う。例えばユーザが購入した機器のサポート情報の提供のように、要求したサービスが通信回線２を通じて提供される場合、ユーザ装置３０はサービス提供装置２０からサービスの提供を受け付けてユーザに通知する。
【００４１】
すなわち、ユーザ装置３０には、デスクトップコンピュータ、タブレット型コンピュータ、スマートフォン、及びウェアラブル端末のように、ユーザとのインターフェースを提供する入出力機能、情報を処理する処理機能、及び通信回線２を通じてデータ通信を行う通信機能を備えた情報機器が用いられる。
【００４２】
図２は、サービス提供システム１における認証の流れの一例を示したシーケンス図である。図２を参照しながら、連携認証を用いたサービス提供装置２０の認証処理について説明する。
【００４３】
ユーザは、通信回線２を通じてユーザ装置３０をサービス提供装置２０に接続すると、サービスログイン情報を受け付ける受付画面３５がユーザ装置３０に表示される。
【００４４】
図３はサービスログイン情報を受け付けるサービス提供装置２０の受付画面３５の一例を示す図である。受付画面３５にはサービスＩＤを入力するサービスＩＤ入力領域３６、サービスパスワードを入力するサービスパスワード入力領域３７、及びログインボタン３８が含まれる。ユーザはそれぞれの領域にサービスＩＤ及びサービスパスワードを入力して、入力したサービスＩＤ及びサービスパスワードを用いた認証処理の開始を指示するログインボタン３８を押下すると、連携認証を利用せずにサービス提供装置２０で認証が行われる。このように、ユーザが受付画面３５のサービスＩＤ入力領域３６及びサービスパスワード入力領域３７に、サービス提供装置２０に予め登録したサービスＩＤ及びサービスパスワードを入力してサービス提供装置２０で認証を受けることを「直接認証」という。
【００４５】
一方、受付画面３５には、例えば「認証管理サービスによるログイン」と表示されたリンク文字列３９も含まれる。リンク文字列３９には、管理ログイン情報を受け付ける認証管理装置１０の図示しない受付画面を表示するＵＲＬ(Uniform Resource Locator)が対応付けられている。
【００４６】
ユーザが受付画面３５にサービスＩＤ及びサービスパスワードを入力する代わりにリンク文字列３９を押下した場合、連携認証を用いたログイン要求がサービス提供装置２０に通知され（図２：Ｆ１）、認証管理装置１０の図示しないログイン画面が表示されるようにリダイレクト（図２：Ｆ２）が行われる。これにより、認証管理装置１０で連携認証を用いたログイン要求が行われたサービス提供装置２０が把握されると共に、ユーザ装置３０には認証管理装置１０のログイン画面が表示されることになる（図２：Ｆ３）。
【００４７】
ユーザがユーザ装置３０に表示された認証管理装置１０の図示しないログイン画面に管理ログイン情報を入力すると、管理ログイン情報が認証管理装置１０に送信される（図２：Ｆ４）。
【００４８】
管理ログイン情報を受け付けた認証管理装置１０は、管理ログイン情報に含まれる管理ＩＤと管理パスワードの組み合わせが認証管理装置１０に予め登録されているか否かを認証する。認証管理装置１０は、管理ログイン情報に予め登録されているユーザの管理ＩＤと管理パスワードの組み合わせが含まれていると判断した場合には、連携認証を用いてサービス提供装置２０が提供するサービスを利用するユーザからのログイン要求があったと認識する。
【００４９】
したがって、認証管理装置１０は、ログイン要求してきたユーザに対してサービス提供装置２０に接続する権限を与えると共にトークンを生成する。そして、認証管理装置１０は、図２のＦ２で認証管理装置１０に対してリダイレクト要求を行ったサービス提供装置２０に以降の認証処理を引き継がせるため、トークンを伴ったリダイレクトを行う（図２：Ｆ５）。なお、「トークン」とは認証管理装置１０内で管理されるユーザの管理ＩＤとユーザの連絡先を含んだ管理情報のことである。しかしながら、トークンに含まれる情報はこれに限らず、必要に応じて連携認証に用いられる他の情報を含めてもよい。
【００５０】
トークンを受信したサービス提供装置２０は、トークンに含まれる管理ＩＤを用いて、トークンによって表されるユーザに対する認証処理を行うため、トークンの検証を実行する。
【００５１】
その上でサービス提供装置２０は、サービスの要求がトークンによって通知された管理ＩＤで表されるユーザによって行われたかを確認するため、管理ＩＤと対応付けられたユーザに対して確認要求を行う（図２：Ｆ６）。ユーザが本当にサービスの要求を行ったユーザか確認する方法は、トークンに含まれる管理ＩＤのサービス提供装置２０での登録状況に応じて異なる。なお、トークンによって通知された管理ＩＤで表されるユーザが、サービス提供装置２０に対してサービスの要求を行ったユーザ本人かどうかを確認する本人確認の方法については後ほど詳細に説明する。
【００５２】
ユーザの確認要求が要求されたユーザ装置３０からユーザが誰であるかを示す確認情報を受け付けると、サービス提供装置２０はユーザの本人確認を行う。サービス提供装置２０は、確認結果に従って管理ＩＤとサービスＩＤの関連付け、または関連付けの解除を行う登録情報の管理を行い、トークンによって通知された管理ＩＤで表されるユーザがサービス提供装置２０に対してサービスの要求を行ったユーザ本人であると認証された場合には、確認情報を送信してきたユーザ装置３０を通じてユーザにサービスの提供を行う。
【００５３】
図２に示したシーケンス図では、ユーザはサービス提供装置２０にログイン要求を行うことでユーザ装置３０に表示される認証管理装置１０の図示しないログイン画面に管理ログイン情報を入力して、認証管理装置１０との認証を行ったが、ユーザはサービス提供装置２０にログイン要求を行う前に認証管理装置１０との認証を行ってもよい。この場合、ユーザは認証管理装置１０にログイン要求を行い、認証管理装置１０は、図２のＦ２で示すリダイレクトを受け付ける前にユーザの認証が完了している場合には、ユーザ装置３０にログイン画面を表示する制御を行うことなくトークンの生成を行う。
【００５４】
次に、サービス提供システム１に含まれる各装置の機能構成例について説明する。
【００５５】
図４は、認証管理装置１０の機能構成例を示すブロック図である。図４に示すように、認証管理装置１０はユーザインターフェース(User Interface：ＵＩ)部１１、制御部１２、及び通信部１３の各機能部と、認証管理データベース(Database:ＤＢ)１４を含む。
【００５６】
ＵＩ部１１は、認証管理装置１０を管理する管理者からの指示を受け付けると共に、例えば認証管理装置１０における認証状況や認証結果といった各種情報を管理者に通知する。
【００５７】
制御部１２は、ＵＩ部１１から受け付けた指示、及び通信部１３から受け付けた情報に従って対応した処理が行われるように認証管理装置１０を制御する。具体的には、制御部１２はユーザ装置３０から管理ログイン情報を受け付けた場合、認証管理ＤＢ１４を参照してトークンを生成すると共に、登録された管理ログイン情報を含む登録情報をユーザ毎に管理する制御を行う。
【００５８】
通信部１３は制御部１２の制御に従い、通信回線２に接続される各装置との間で各種情報を送受信する。
【００５９】
認証管理ＤＢ１４には、連携認証を利用するユーザの認証に用いられる登録情報を管理する認証管理テーブル１６が記憶される。以降では、認証管理ＤＢ１４に記憶される登録情報を「管理登録情報」という。
【００６０】
図５は、管理登録情報を管理する認証管理テーブル１６の一例を示す図である。図５に示すように、認証管理テーブル１６にはユーザ毎の管理登録情報が含まれ、管理登録情報にはユーザ名、管理ログイン情報、及び連絡先が含まれる。
【００６１】
管理登録情報のユーザ名には、ユーザが認証管理装置１０に設定したユーザ名が設定される。また、管理登録情報の管理ログイン情報に含まれる管理ＩＤにはユーザの管理ＩＤが設定され、管理パスワードには管理ＩＤに対応したパスワードが設定される。
【００６２】
また、管理登録情報の連絡先には、例えばユーザのメールアドレスが設定される。
【００６３】
管理登録情報に含まれる項目は図５に示した項目に限られず、認証管理装置１０が提供する連携認証の内容にあわせて、他の項目が含まれるものであってもよい。例えばユーザが認証管理装置１０に管理ＩＤ及び管理パスワードを登録した登録時間や、ユーザが利用したサービス提供装置２０毎のサービス利用回数（サービス提供装置２０への接続回数）、及びユーザの生年月日等を管理登録情報に含めてもよい。
【００６４】
管理パスワードは暗号化されて管理登録情報に設定されており、管理者であってもどのような値が設定されているかわからないようになっている。
【００６５】
図６は、サービス提供装置２０の機能構成例を示すブロック図である。図６に示すように、サービス提供装置２０はＵＩ部２１、制御部２２、通信部２３、及び確認部２４の各機能部と、サービス管理ＤＢ２５を含む。
【００６６】
ＵＩ部２１は、サービス提供装置２０を用いてサービスを提供する提供者からの指示を受け付けると共に、例えばサービス提供装置２０における認証状況、認証結果、及びサービス提供状況といった各種情報をサービスの提供者に通知する。
【００６７】
制御部２２は、ＵＩ部２１から受け付けた指示、及び通信部２３から受け付けた情報に従って対応した処理が行われるようにサービス提供装置２０を制御する。具体的には、制御部２２は認証管理装置１０からトークンを受け付けた場合、サービス管理ＤＢ２５を参照してトークンの検証を行うと共に、後述する確認部２４でユーザの本人確認が行われた場合に、要求されたサービスを提供するための制御を行う。
【００６８】
通信部２３は制御部２２の制御に従い、通信回線２に接続される各装置との間で各種情報を送受信する。
【００６９】
確認部２４は、サービス管理ＤＢ２５に記憶される登録情報と、トークンに含まれる管理ＩＤを用いて、サービスを要求したユーザが、サービス提供装置２０に登録されているユーザ本人かを確認する本人確認を実行する。
【００７０】
サービス管理ＤＢ２５には、サービス提供装置２０におけるユーザの認証に用いられる登録情報が記憶される。以降では、サービス管理ＤＢ２５に記憶される登録情報を「サービス登録情報」という。
【００７１】
図７は、サービス登録情報を管理するサービス管理テーブル２６の一例を示す図である。図７に示すように、サービス管理テーブル２６にはユーザ毎のサービス登録情報が含まれ、サービス登録情報にはユーザ名、サービスＩＤ、サービスパスワード、管理ＩＤ、及びログイン時間が含まれる。
【００７２】
サービス登録情報のユーザ名には、ユーザがサービス提供装置２０に登録したユーザ名が設定される。サービス登録情報のサービスＩＤには、ユーザがサービス提供装置２０に登録したサービスＩＤが設定される。なお、サービスＩＤにはユーザのメールアドレスが設定される。サービス登録情報のサービスパスワードには、ユーザがサービス提供装置２０に登録したサービスパスワードが設定される。サービス登録情報の管理ＩＤには、ユーザがサービス提供装置２０と提携して連携認証を提供する認証管理装置１０に登録した管理ＩＤが設定される。サービス登録情報のログイン時間には、ユーザがサービス提供装置２０に対して行った前回のログイン要求によって、サービス提供装置２０でユーザの認証が行われた時間が設定される。
【００７３】
サービス登録情報のユーザ名、サービスＩＤ、及びサービスパスワードには、それぞれユーザがサービス提供装置２０に登録したユーザ名、サービスＩＤ、及びサービスパスワードが設定されるが、サービス登録情報の管理ＩＤには、認証管理装置１０から受け付けたトークンに含まれる管理ＩＤが設定される。また、サービス登録情報のログイン時間は、サービス提供装置２０でユーザの認証が行われる毎にサービス提供装置２０が更新する。
【００７４】
サービス登録情報に含まれる項目は図７に示した項目に限られず、サービス提供装置２０が行う認証の内容に合わせて他の項目が含まれるものであってもよい。例えばユーザの生年月日のように、ユーザの本人確認に用いられる項目を含めてもよい。
【００７５】
サービス登録情報を管理するサービス管理テーブル２６は、本実施の形態に係る管理テーブルの一例である。
【００７６】
図８は、ユーザ装置３０の機能構成例を示すブロック図である。図８に示すように、ユーザ装置３０はＵＩ部３１、制御部３２、及び通信部３３の各機能部を含む。
【００７７】
ＵＩ部３１は、ユーザ装置３０を操作するユーザからの指示を受け付けると共に、例えばサービス提供装置２０に対するログイン要求の処理状況といった各種情報をユーザに通知する。
【００７８】
制御部３２は、ＵＩ部３１から受け付けた指示、及び通信部３３から受け付けた情報に従って対応した処理が行われるようにユーザ装置３０を制御する。
【００７９】
通信部３３は制御部３２の制御に従い、通信回線２に接続される各装置との間で各種情報を送受信する。
【００８０】
次に、サービス提供システム１に含まれる各装置における電気系統の要部構成例について説明する。
【００８１】
図９は、認証管理装置１０における電気系統の要部構成例を示す図である。認証管理装置１０は、例えばコンピュータ４０を用いて構成される。
【００８２】
コンピュータ４０は、認証管理装置１０に係る各機能部を担うＣＰＵ(Central Processing Unit)４１、コンピュータ４０を認証管理装置１０の各機能部として機能させるための認証管理プログラムを記憶するＲＯＭ(Read Only Memory)４２、ＣＰＵ４１の一時的な作業領域として使用されるＲＡＭ(Random Access Memory)４３、不揮発性メモリ４４、及び入出力インターフェース(Ｉ／Ｏ)４５を備える。そして、ＣＰＵ４１、ＲＯＭ４２、ＲＡＭ４３、不揮発性メモリ４４、及びＩ／Ｏ４５がバス４６を介して各々接続されている。
【００８３】
不揮発性メモリ４４は、不揮発性メモリ４４に供給される電力が遮断されても、記憶した情報が維持される記憶装置の一例であり、例えば半導体メモリが用いられるがハードディスクを用いてもよい。不揮発性メモリ４４は必ずしもコンピュータ４０に内蔵されている必要はなく、例えばメモリカードのようにコンピュータ４０に着脱される記憶装置であってもよい。
【００８４】
Ｉ／Ｏ４５には、例えば通信ユニット４７、入力ユニット４８、及び出力ユニット４９が接続される。
【００８５】
通信ユニット４７は通信回線２に接続され、通信回線２に接続する各装置との間でデータ通信を行う通信プロトコルを備える。
【００８６】
入力ユニット４８は、管理者からの指示を受け付けてＣＰＵ４１に通知する装置であり、例えばボタン、タッチパネル、キーボード、及びマウス等が用いられる。認証管理装置１０は、入力ユニット４８を介して管理者から指示された機能を実行する。
【００８７】
出力ユニット４９は、ＣＰＵ４１によって処理された情報を表示する装置であり、例えば液晶ディスプレイ、及び有機ＥＬ(Electro Luminescence)ディスプレイ等が用いられる。
【００８８】
認証管理装置１０のＩ／Ｏ４５に接続されるユニットの種類は一例であり、認証管理装置１０のＩ／Ｏ４５には必要に応じて、例えば用紙等の記録媒体に画像を形成するプリンタユニット、及びメモリカードにデータを読み書きするカードスロットやＵＳＢ(Universal Serial Bus)ポートを含むインターフェースユニットのように、図示しないユニットが接続されてもよい。
【００８９】
なお、サービス提供装置２０及びユーザ装置３０における電気系統の要部構成例も、図９に示した認証管理装置１０における電気系統の要部構成例と同じになり、サービス提供装置２０はコンピュータ５０を用いて構成され、ユーザ装置３０はコンピュータ６０を用いて構成される。
【００９０】
したがって、サービス提供装置２０では、認証管理装置１０のＣＰＵ４１、ＲＯＭ４２、ＲＡＭ４３、不揮発性メモリ４４、Ｉ／Ｏ４５、バス４６、通信ユニット４７、入力ユニット４８、及び出力ユニット４９を、それぞれＣＰＵ５１、ＲＯＭ５２、ＲＡＭ５３、不揮発性メモリ５４、Ｉ／Ｏ５５、バス５６、通信ユニット５７、入力ユニット５８、及び出力ユニット５９に読み替え、入力ユニット４８を操作する人物を認証管理装置１０の管理者からサービス提供装置２０におけるサービスの提供者に読み替える。
【００９１】
また、ユーザ装置３０では、認証管理装置１０のＣＰＵ４１、ＲＯＭ４２、ＲＡＭ４３、不揮発性メモリ４４、Ｉ／Ｏ４５、バス４６、通信ユニット４７、入力ユニット４８、及び出力ユニット４９を、それぞれＣＰＵ６１、ＲＯＭ６２、ＲＡＭ６３、不揮発性メモリ６４、Ｉ／Ｏ６５、バス６６、通信ユニット６７、入力ユニット６８、及び出力ユニット６９に読み替え、入力ユニット６８を操作する人物を認証管理装置１０の管理者からユーザに読み替える。
【００９２】
次に、ユーザがユーザ装置３０からサービス提供装置２０に連携認証を用いたログイン要求を行うために、図３に示した受付画面３５に含まれるリンク文字列３９を押下することでユーザ装置３０の出力ユニット６９に表示されるログイン画面に、管理ログイン情報を入力した後のサービス提供装置２０の動作について説明する。
【００９３】
図１０は、ユーザ装置３０に管理ログイン情報が入力された後にサービス提供装置２０のＣＰＵ５１によって実行されるサービス提供処理の流れの一例を示すフローチャートである。サービス提供処理を規定するサービス提供プログラムは、例えばサービス提供装置２０のＲＯＭ５２に予め記憶されている。サービス提供装置２０のＣＰＵ５１は、ＲＯＭ５２に記憶されるサービス提供プログラムを読み込み、サービス提供処理を実行する。
【００９４】
なお、認証管理装置１０の認証管理ＤＢ１４で管理される認証管理テーブル１６には、ログイン要求を行ったユーザの管理登録情報が登録されているものとする。以降では特に断りがない場合、連携認証を用いたログイン要求が行われたサービス提供装置２０を、単に「サービス提供装置２０」ということにする。
【００９５】
図２を用いて説明したように、認証管理装置１０は、ユーザ装置３０から管理ログイン情報を受け付けると、受け付けた管理ログイン情報と同じ管理ログイン情報を含む管理登録情報を認証管理テーブル１６から取得する。そして、認証管理装置１０は、取得した管理登録情報に設定されている管理ＩＤと連絡先を含んだトークンを生成して、生成したトークンをサービス提供装置２０に送信する（図２：Ｆ５）。なお、認証管理装置１０は、ユーザの連携認証を用いたログイン要求に対してリダイレクト（図２：Ｆ２）を行ってきたサービス提供装置２０にトークンを送信する。
【００９６】
したがって、ステップＳ１０において、ＣＰＵ５１は認証管理装置１０からトークンを受け付けたか否かを判定する。トークンを受け付けていない場合にはステップＳ１０の判定処理を繰り返し実行してトークンを監視する。一方、トークンを受け付けた場合にはステップＳ２０に移行する。
【００９７】
ステップＳ２０において、ＣＰＵ５１は、トークンに含まれる連絡先と同じサービスＩＤが設定されているサービス登録情報が、サービス管理ＤＢ２５に記憶されるサービス管理テーブル２６に登録されているか否かを判定する。サービス管理ＤＢ２５は、例えばサービス提供装置２０の不揮発性メモリ５４に構築されるが、サービス提供装置２０と通信回線２で接続された外部の記憶装置に構築してもよい。
【００９８】
トークンに含まれる連絡先と同じサービスＩＤが設定されたサービス登録情報がサービス管理テーブル２６に含まれていない場合、ステップＳ２５に移行する。
【００９９】
ステップＳ２５において、ＣＰＵ５１は、トークンに含まれる管理ＩＤが設定されたサービス登録情報がサービス管理テーブル２６に登録されているか否かを判定する。トークンに含まれる管理ＩＤが設定されたサービス登録情報もサービス管理テーブル２６に登録されていない場合、ログイン要求を行ったユーザは、認証管理装置１０にはサービス提供装置２０のサービスログイン情報が登録されているが、サービス提供装置２０にはサービスログイン情報が登録されていないユーザ、すなわち、認証管理装置１０には登録済みだがサービス提供装置２０には登録していない未登録のユーザということになる。
【０１００】
したがって、ステップＳ３０に移行し、ＣＰＵ３１は、サービス提供装置２０にユーザを登録するアカウント作成処理を実行する。
【０１０１】
トークンに含まれる連絡先は認証管理装置１０で管理されている管理登録情報の項目であるが、認証管理装置１０で管理登録情報に対して不正な変更が行われないように何らかの対策が取られていない場合には、トークンに含まれる連絡先が、必ずしもサービス提供装置２０にサービスを要求したユーザの正しい連絡先であるとは言い切れない。したがって、ステップＳ３０のアカウント作成処理では、トークンに含まれる連絡先が、サービス提供装置２０にサービスを要求したユーザの正しい連絡先であるか確認した上で、サービス提供装置２０にユーザを登録する。
【０１０２】
図１１は、図１０のステップＳ３０で実行されるアカウント作成処理の流れの一例を示すフローチャートである。
【０１０３】
トークンに含まれる連絡先はユーザのメールアドレスであるため、ステップＳ１００において、ＣＰＵ５１は、トークンに含まれる連絡先を宛先とする確認メールを生成する。確認メールには、例えば「あなたがサービス提供装置にログイン要求を行った本人である場合、サービス提供装置にアクセスしてサービスログイン情報を入力して下さい。サービス提供装置にログイン要求をおこなっていない場合は、サービス提供装置にアクセスしないようにしてください。」というようなメッセージが記載される。また、確認メールには上記メッセージと一緒に、例えばサービス提供装置２０に接続するためのＵＲＬが記載される。
【０１０４】
ステップＳ１１０において、ＣＰＵ５１は、ステップＳ１００で生成した確認メールを送信した後、例えばＣＰＵ５１に内蔵されるタイマ機能を利用して、確認メールを送信してからの経過時間を計測するタイマを起動する。
【０１０５】
これによりトークンに含まれる連絡先を宛先とするメールを受信するユーザ装置３０に確認メールが送信されることになる。
【０１０６】
確認メールを受け取ったユーザがサービス提供装置２０にサービスを要求したユーザ本人であれば、確認メールに記載されたサービス提供装置２０に接続するためのＵＲＬを押下してサービス提供装置２０に接続する。確認メールに記載されているＵＲＬを押下してサービス提供装置２０に接続した場合には図示しない確認画面が表示される。
【０１０７】
確認画面には、例えばサービス提供装置２０にサービスを要求したユーザ本人であるためサービスの利用を承諾することを通知する承諾ボタンと、サービス提供装置２０にサービスを要求したユーザではないことを通知する注意ボタンが配置されている。
【０１０８】
したがって、ステップＳ１２０において、ＣＰＵ５１は、承諾ボタンが押下された場合に通知される承諾通知を受け付けたか否かを判定し、承諾通知を受け付けた場合にはタイマを停止してステップＳ１３０に移行する。
【０１０９】
承諾ボタンが押下されると、ＣＰＵ５１は図示しないアカウント登録画面を表示してユーザにユーザ名とサービスログイン情報の入力を促す。
【０１１０】
したがって、ステップＳ１３０において、ＣＰＵ５１は、アカウント登録画面を通じてサービスログイン情報を受け付けたか否かを判定する。サービスログイン情報を受け付けていない場合にはステップＳ１３０の判定処理を繰り返し実行して、サービスログイン情報の入力状況を監視する。一方、サービスログイン情報を受け付けた場合にはステップＳ１４０に移行する。
【０１１１】
以上によって確認メールを受け取ったユーザがサービス提供装置２０にサービスを要求したユーザ本人であると確認され、かつ、トークンに含まれる連絡先がサービスを要求したユーザの正しいメールアドレスであると確認されたことになる。したがって、ステップＳ１４０において、ＣＰＵ５１は、トークンに含まれる連絡先をサービスＩＤに設定し、トークンに含まれる管理ＩＤと、アカウント登録画面を通じて受け付けたサービスログイン情報のサービスパスワード及びユーザ名を関連付けて、当該ユーザのサービス登録情報を生成する。
【０１１２】
ステップＳ１５０において、ＣＰＵ５１はログインフラグの値を設定する。ログインフラグとは、ログイン要求を行ってきたユーザに対してサービスの提供を許可するか否かを示すフラグである。例えばログインフラグに“０”が設定されている場合にはサービスの提供を許可しないことを表し、“１”が設定されている場合にはサービスの提供を許可することを表す。この場合、確認メールを受け取ったユーザはサービス提供装置２０にサービスを要求したユーザ本人であると確認されたため、ＣＰＵ５１はログインフラグを“１”に設定して、図１１に示すアカウント作成処理を終了する。
【０１１３】
一方、ステップＳ１２０の判定処理で承諾通知を受け付けていないと判定された場合にはステップＳ１６０に移行する。
【０１１４】
確認メールには、確認メールを受け取ったユーザがサービス提供装置２０にサービスを要求したユーザでない場合、サービス提供装置２０に接続しないように記載していることから、確認メールを送信してもＣＰＵ５１がユーザ装置３０から何れの通知も受け付けない状況が発生する。したがって、ステップＳ１６０において、ＣＰＵ５１は、ステップＳ１１０で起動したタイマの経過時間が予め定めた待機時間を経過したか否かを判定する。
【０１１５】
タイマの経過時間が待機時間を経過している場合には、タイマを停止してステップＳ１８０に移行する。
【０１１６】
この場合、確認メールを受け取ったユーザはサービス提供装置２０にサービスを要求したユーザではないと判定されるため、ステップＳ１８０において、ＣＰＵ５１はログインフラグを“０”に設定してアカウント作成処理を終了する。
【０１１７】
一方、ステップＳ１６０の判定処理でタイマの経過時間が待機時間に達していないと判定された場合にはステップＳ１７０に移行する。
【０１１８】
確認メールに、確認メールを受け取ったユーザがサービス提供装置２０にサービスを要求したユーザでない場合、サービス提供装置２０に接続しないように記載していたとしても、サービスを要求していないのに誤ってサービス提供装置２０に接続してしまうユーザが存在する。こうした場合であっても、サービス提供装置２０に接続した場合に表示される確認画面には、サービス提供装置２０にサービスを要求したユーザではないことを通知する注意ボタンが配置されているため、ユーザが注意ボタンを押下することが考えられる。
【０１１９】
したがって、ステップＳ１７０において、ＣＰＵ５１は、注意ボタンが押下された場合に通知される注意通知を受け付けたか否かを判定し、注意通知を受け付けた場合にはタイマを停止してステップＳ１８０に移行する。
【０１２０】
この場合、確認メールを受け取ったユーザはサービス提供装置２０にサービスを要求したユーザではないと判定されるため、ステップＳ１８０において、ＣＰＵ５１はログインフラグを“０”に設定してアカウント作成処理を終了する。
【０１２１】
なお、ステップＳ１７０の判定処理で注意通知も受け付けていないと判定された場合にはステップＳ１２０に移行して、承諾通知を受け付けるか、注意通知を受け付けるか、またはタイマの経過時間が待機時間を経過するまでステップＳ１２０、Ｓ１６０、及びＳ１７０の判定処理を繰り返し実行する。以上により、図１１に示したアカウント作成処理を終了して、図１０のサービス提供処理の続きを実行する。
【０１２２】
一方、図１０のステップＳ２５の判定処理で、トークンに含まれる管理ＩＤが設定されたサービス登録情報がサービス管理テーブル２６に登録されている場合、ステップＳ６０に移行する。  サービス登録情報にログイン要求を行ったユーザの連絡先と同じサービスＩＤは登録されていないが管理ＩＤは登録されているということは、認証管理装置１０の認証管理テーブル１６に登録されている管理登録情報の連絡先が変更されたと考えられる。したがって、ステップＳ６０において、ＣＰＵ５１はＩＤ変更処理を実行する。
【０１２３】
図１３は、図１０のステップＳ６０で実行されるＩＤ変更処理の流れの一例を示すフローチャートである。
【０１２４】
ステップＳ３００において、ＣＰＵ５１はサービスを利用するために設定したサービスログイン情報の入力を要求する画面を、ログイン要求を行ったユーザ装置３０の出力ユニット６９に表示させ、サービスログイン情報の入力を要求する。
【０１２５】
ＣＰＵ５１は、ステップＳ３００でサービスログイン情報の入力を要求してからの経過時間を計測するタイマを起動する。
【０１２６】
ステップＳ３１０において、ＣＰＵ５１は、サービスログイン情報を受け付けたか否かを判定する。サービスログイン情報を受け付けた場合には、タイマを停止してステップＳ３２０に移行する。
【０１２７】
ステップＳ３２０において、ＣＰＵ５１は、受け付けたサービスログイン情報のサービスパスワードが、トークンに含まれる管理ＩＤが設定されたサービス登録情報のサービスパスワードと一致し、かつ、受け付けたサービスログイン情報のサービスＩＤが、トークンに含まれる連絡先と一致するか否かを判定する。入力されたサービスパスワード及びサービスＩＤがそれぞれ一致する場合には、ステップＳ３３０に移行する。
【０１２８】
この場合、サービスログイン情報の入力を要求されたユーザは、サービスＩＤに対して設定したサービスパスワードを知っている上、認証管理装置１０の認証管理テーブル１６に登録されている変更後の連絡先を知っていることになる。すなわち、トークンに含まれる連絡先は、サービス提供装置２０にサービスを要求したユーザの正しい連絡先であり、サービスログイン情報を入力したユーザはサービス提供装置２０にサービスを要求したユーザ本人であると確認される。
【０１２９】
したがって、ステップＳ３３０において、ＣＰＵ５１は、トークンに含まれる管理ＩＤが設定されたサービス登録情報のサービスＩＤを、トークンに含まれる連絡先に変更して、サービスＩＤと管理ＩＤとの関連付けを更新する。
【０１３０】
更に、ステップＳ３４０において、ＣＰＵ５１はログインフラグを“１”に設定し、図１３に示すＩＤ変更処理を終了する。
【０１３１】
これに対して、ステップＳ３２０の判定処理でサービスパスワード及びサービスＩＤの少なくとも１つが異なると判定された場合には、ステップＳ３６０に移行する。
【０１３２】
この場合、サービスパスワードまたはサービスＩＤが一致しないため、サービスログイン情報を入力したユーザは、トークンに含まれる管理ＩＤが設定されたサービス登録情報で表されるユーザ本人ではないと考えられる。したがって、ステップＳ３６０において、ＣＰＵ５１はログインフラグを“０”に設定して図１３に示すＩＤ変更処理を終了する。
【０１３３】
一方、ステップＳ３１０の判定処理でサービスログイン情報を受け付けていないと判定された場合、ステップＳ３５０に移行する。
【０１３４】
既に説明したように、サービスログイン情報の入力を要求されたユーザがトークンに含まれる管理ＩＤが設定されたサービス登録情報で表されるユーザと別人であるならば、ユーザがサービスを利用するために設定したサービスＩＤ及びサービスパスワードを知らないためサービスログイン情報の入力を行わない状況が発生する。したがって、ステップＳ３５０において、ＣＰＵ５１はステップＳ３００で起動したタイマの経過時間が予め定めた待機時間を経過したか否かを判定する。
【０１３５】
タイマの経過時間が待機時間に達していない場合にはステップＳ３５０に移行し、サービスログイン情報を受け付けるか、タイマの経過時間が待機時間を経過するまでステップＳ３１０及びステップＳ３５０の判定処理を繰り返し実行する。
【０１３６】
一方、タイマの経過時間が待機時間を経過した場合には、サービスログイン情報の入力を要求されたユーザは、トークンに含まれる管理ＩＤが設定されたサービス登録情報で表されるユーザ本人ではないと考えられる。したがって、ステップＳ３６０に移行し、ステップＳ３６０において、ＣＰＵ５１はログインフラグを“０”に設定して図１３に示すＩＤ変更処理を終了する。  上記では図１０のサービス提供処理のステップＳ２０の判定処理において、トークンに含まれる登録先と同じサービスＩＤが設定されているサービス登録情報がサービス管理テーブル２６に登録されていないと判定された場合の処理について説明したが、サービス管理テーブル２６に登録されていると判定された場合にはステップＳ４０に移行する。
【０１３７】
ステップＳ４０において、ＣＰＵ５１は、トークンに含まれる連絡先と同じサービスＩＤが設定されているサービス登録情報（以降では、「対象サービス登録情報」という）に、トークンに含まれる管理ＩＤが設定されているか否かを判定する。
【０１３８】
トークンに含まれる管理ＩＤが対象サービス登録情報に設定されていない場合、ステップＳ５０に移行する。
【０１３９】
この場合、対象サービス登録情報に管理ＩＤが関連付けられていないことから、ステップＳ５０において、ＣＰＵ５１はＩＤ関連付け処理を実行する。
【０１４０】
図１２は、図１０のステップＳ５０で実行されるＩＤ関連付け処理の流れの一例を示すフローチャートである。
【０１４１】
ステップＳ２００において、ＣＰＵ５１は対象サービス登録情報に含まれるサービスパスワードの入力を要求する画面を、ログイン要求を行ったユーザ装置３０の出力ユニット６９に表示させ、サービスパスワードの入力を要求する。なお、ＣＰＵ５１は、トークンに含まれる連絡先を宛先とする認証メールを送信し、認証メールにサービスパスワードの入力を要求する画面を表示するＵＲＬを記載してもよい。
【０１４２】
ＣＰＵ５１は、ステップＳ２００でサービスパスワードの入力を要求してからの経過時間を計測するタイマを起動する。
【０１４３】
ステップＳ２１０において、ＣＰＵ５１は、サービスパスワードを受け付けたか否かを判定する。サービスパスワードを受け付けた場合には、タイマを停止してステップＳ２２０に移行する。
【０１４４】
ステップＳ２２０において、ＣＰＵ５１は、受け付けたサービスパスワードと、対象サービス登録情報に含まれるサービスパスワードを比較して、各々のサービスパスワードが一致するか否かを判定する。各々のサービスパスワードが一致する場合にはステップＳ２３０に移行する。
【０１４５】
この場合、サービスＩＤに対して設定されたサービスパスワードは、サービスＩＤを設定したユーザしか知りえない秘匿情報であることから、トークンに含まれる管理ＩＤは、対象サービス登録情報で表されるユーザ本人の管理ＩＤであり、サービスパスワードを入力したユーザはサービス提供装置２０にサービスを要求したユーザ本人であると確認される。
【０１４６】
したがって、ステップＳ２３０において、ＣＰＵ５１は対象サービス登録情報におけるサービスＩＤと管理ＩＤの関連付けを行った上でログインフラグを“１”に設定し、図１２に示すＩＤ関連付け処理を終了する。
【０１４７】
これに対して、ステップＳ２２０の判定処理で、受け付けたサービスパスワードと対象サービス登録情報に含まれるサービスパスワードが一致しないと判定された場合には、ステップＳ２５０に移行する。
【０１４８】
サービスパスワードが一致しないため、サービスパスワードを入力したユーザは、対象サービス登録情報で表されるユーザ本人ではないと考えられる。したがって、ステップＳ２５０において、ＣＰＵ５１はログインフラグを“０”に設定して図１２に示すＩＤ関連付け処理を終了する。
【０１４９】
一方、ステップＳ２１０の判定処理でサービスパスワードを受け付けていないと判定された場合、ステップＳ２４０に移行する。
【０１５０】
サービスパスワードの入力を要求されたユーザが対象サービス登録情報によって表されるユーザ本人であるならば、サービス提供装置２０に設定したサービスパスワードを知っているはずである。しかし、サービスパスワードの入力を要求されたユーザが対象サービス登録情報によって表されるユーザと別人であるならば、サービス提供装置２０に対して設定したサービスパスワードを知らないはずである。
【０１５１】
すなわち、サービスパスワードの入力を要求されたユーザが対象サービス登録情報によって表されるユーザと別人ならば、サービスパスワードの入力を行わない状況が発生する。したがって、ステップＳ２４０において、ＣＰＵ５１はステップＳ２００で起動したタイマの経過時間が予め定めた待機時間を経過したか否かを判定する。
【０１５２】
タイマの経過時間が待機時間に達していない場合にはステップＳ２１０に移行し、サービスパスワードを受け付けるか、タイマの経過時間が待機時間を経過するまでステップＳ２１０及びステップＳ２４０の判定処理を繰り返し実行する。
【０１５３】
一方、タイマの経過時間が待機時間を経過した場合には、サービスパスワードの入力を要求されたユーザは、対象サービス登録情報で表されるユーザ本人ではないと考えられる。したがって、ステップＳ２５０に移行し、ステップＳ２５０において、ＣＰＵ５１はログインフラグを“０”に設定して図１２に示すＩＤ関連付け処理を終了する。
【０１５４】
以上では図１０のサービス提供処理のステップＳ４０の判定処理において、トークンに含まれる管理ＩＤが対象サービス登録情報に設定されていない場合について説明したが、トークンに含まれる管理ＩＤが対象サービス登録情報に設定されている場合にはステップＳ６５に移行する。
【０１５５】
この場合、トークンに含まれる管理ＩＤ及び連絡先と同じ情報が関連付けられたサービス登録情報がサービス管理テーブル２６に登録されていることから、サービス提供装置２０にサービスを要求したユーザは、当該サービス登録情報で表されるユーザ本人ということになる。したがって、ステップＳ６５において、ＣＰＵ５１は、ログインフラグを“１”に設定する。
【０１５６】
トークンに含まれる連絡先及び管理ＩＤのサービス提供装置２０における登録状況に応じて、図１０のステップＳ３０のアカウント作成処理、ステップＳ５０のＩＤ関連付け処理、ステップＳ６０のＩＤ変更処理、及びステップＳ６５のログインフラグの設定の何れかが実行された後、ステップＳ７０が実行される。
【０１５７】
ステップＳ７０において、ＣＰＵ５１はログインフラグが“１”に設定されているか、すなわち、サービスを要求したユーザに対してサービスの提供を許可するか否かを判定する。
【０１５８】
ログインフラグが“１”に設定されている場合にはステップＳ８０に移行し、ステップＳ８０において、ＣＰＵ５１は要求されたサービスの提供を行って図１０に示したサービス提供処理を終了する。
【０１５９】
一方、ログインフラグが“０”に設定されている場合には、ステップＳ８０の処理を実行することなく図１０に示したサービス提供処理を終了する。すなわち、サービス提供装置２０での認証に失敗したユーザに対してはサービスが提供されない。
【０１６０】
このように、本実施の形態に係るサービス提供システム１によれば、認証管理装置１０で認証されたユーザであっても、当該ユーザがサービス登録情報で表されるユーザ本人であるかサービス提供装置２０でも認証を行い、認証管理装置１０から通知されたトークンと関連付けられたサービス登録情報によって表されるユーザが、サービスを要求したユーザ本人であるか確認した上でサービスの提供を行う。
【０１６１】
したがって、認証管理装置１０の管理者が不正に管理ＩＤや連絡先を書き換えたとしても、サービス提供装置２０にサービスを要求したユーザが、トークンと関連付けられたサービス登録情報によって表されるユーザと同じユーザであるか本人確認が行われるため、認証管理装置に登録される管理登録情報の真正性が担保されていない場合でも、ユーザのなりすまし等が抑制されることになる。
【０１６２】
なお、ユーザによっては認証管理装置１０が提供する連携認証の利用契約を解除し、図３に示したサービス提供装置２０の受付画面３５にサービスログイン情報を直接入力してサービス提供装置２０に直接認証を要求するユーザが存在する。
【０１６３】
図７に示したように、サービス管理テーブル２６には認証管理装置１０と連携して認証を行うため管理ＩＤが記憶されるが、ユーザが認証管理装置１０における連携認証の利用契約を解除した場合、そのままでは当該ユーザのサービス登録情報に管理ＩＤが残り続けることになる。
【０１６４】
したがって、サービス提供装置２０は、ユーザから直接認証の要求を受け付けた場合で、かつ、入力されたサービスログイン情報のサービスＩＤに管理ＩＤが関連付けられている場合には、認証管理装置１０におけるユーザの登録状況を確認するため、入力されたサービスログイン情報のサービスＩＤと関連付けられた管理ＩＤを含むトークンを認証管理装置１０に要求してもよい。
【０１６５】
ユーザが認証管理装置１０を用いた認証の利用契約を解除した場合、ユーザの管理登録情報は認証管理装置１０の認証管理テーブル１６から削除されている。したがって、認証管理テーブル１６には、サービス提供装置２０から受け付けたサービスＩＤと関連付けられた管理ＩＤを含む管理登録情報は存在しないことになるため、認証管理装置１０はトークンの代わりに、受け付けたサービスＩＤと関連付けられた管理ＩＤが存在しないことを通知するエラー通知をサービス提供装置２０に送信する。
【０１６６】
サービス提供装置２０は認証管理装置１０からエラー通知を受け付けた場合、サービス管理テーブル２６の更新処理を実行する。
【０１６７】
図１４は、サービス提供装置２０がエラー通知を受け付けた場合にＣＰＵ５１によって実行されるサービス管理テーブル２６の更新処理の流れを示すフローチャートの一例である。サービス管理テーブル２６の更新処理は、ＣＰＵ５１がサービス提供プログラムを実行することで行われる。
【０１６８】
認証管理装置１０からエラー通知を受け付けた場合、ステップＳ４００において、ＣＰＵ５１は、入力されたサービスログイン情報のサービスＩＤが含まれるサービス登録情報の管理ＩＤを削除して、連携認証の利用契約を解除したユーザのサービスＩＤと管理ＩＤとの関連付けを解除する。
【０１６９】
ステップＳ４１０において、ＣＰＵ５１は、受付画面３５から入力されたサービスログイン情報を含むサービス登録情報がサービス管理テーブル２６に登録されているか否かを判定する。入力されたサービスログイン情報を含むサービス登録情報がサービス管理テーブル２６に登録されている場合、サービスを要求したユーザはサービス提供装置２０に登録済みのユーザということになる。したがって、ステップＳ４２０に移行し、ステップＳ４２０において、ＣＰＵ５１はユーザから要求されたサービスの提供を行って、図１４に示すサービス管理テーブル２６の更新処理を終了する。
【０１７０】
一方、ステップＳ４１０の判定処理で入力されたサービスログイン情報を含むサービス登録情報がサービス管理テーブル２６に登録されていないと判定された場合、サービスを要求したユーザはサービス提供装置２０に登録されていないユーザということになる。したがって、ＣＰＵ５１はステップＳ４２０の処理を実行することなく、図１４に示すサービス管理テーブル２６の更新処理を終了して、未登録のユーザにサービスの提供を行わないようにする。
【０１７１】
このように、ユーザが連携認証を利用せずにサービス提供装置２０に対して直接認証を要求した場合、サービス提供装置２０は、認証管理装置１０に対してユーザの登録状況を問い合わせ、ユーザが認証管理装置１０に登録されていない場合には、サービス管理テーブル２６から連携認証に関する情報を削除して、サービス管理テーブル２６に不要な情報が残らないようにする。
【０１７２】
上記で説明したように、サービス管理テーブル２６の更新処理はユーザがサービス提供装置２０に直接認証を要求した場合に実行されるが、ユーザによっては頻繁にサービス提供装置２０のサービスを利用しないことがある。こうしたユーザの場合、認証管理装置１０を用いた認証の利用契約を解除した後、長期間に亘ってサービス提供装置２０のサービスを利用しないことがあるため、サービス管理テーブル２６の更新処理が実行されずに不要な情報がサービス管理テーブル２６に残り続けることになる。
【０１７３】
したがって、サービス提供装置２０はユーザが直接認証を要求しなくても、サービス管理テーブル２６に不要な情報が残らないようにするサービス管理テーブル２６の定期更新処理を実行する。
【０１７４】
図１５は、例えば１ヶ月毎といったように予め定めた間隔でＣＰＵ５１によって実行されるサービス管理テーブル２６の定期更新処理の流れを示すフローチャートの一例である。サービス管理テーブル２６の定期更新処理は、ＣＰＵ５１がサービス提供プログラムを実行することで行われる。
【０１７５】
ステップＳ５００において、ＣＰＵ５１は、サービス管理テーブル２６から何れかのサービス登録情報を１つ選択する。
【０１７６】
ステップＳ５１０において、ＣＰＵ５１は、選択したサービス登録情報のログイン時間を参照し、前回のログイン時間から規定時間が経過しているか否かを判定する。規定時間は、ログイン要求を受け付けてからサービスＩＤと管理ＩＤとの関連付けを維持する期間を規定した時間であり、例えば不揮発性メモリ５４に予め記憶されている。なお、ユーザは規定時間を変更してもよい。
【０１７７】
現在の時間が、選択したサービス登録情報のログイン時間から規定時間を経過した時間である場合にはステップＳ５２０に移行する。
【０１７８】
ステップＳ５２０において、ＣＰＵ５１は、選択されたサービス登録情報を削除してサービスＩＤと管理ＩＤとの関連付けを解除し、ステップＳ５３０に移行する。
【０１７９】
一方、現在の時間が、選択したサービス登録情報のログイン時間から規定時間未満の時間である場合には、ステップＳ５２０の処理を実行することなくステップＳ５３０に移行する。すなわち、前回のログイン要求からの経過時間が規定時間に達していない場合には、選択したサービス登録情報におけるサービスＩＤと管理ＩＤとの関連付けを維持するため、選択したサービス登録情報を削除しないようにする。
【０１８０】
ステップＳ５３０において、ＣＰＵ５１は、サービス管理テーブル２６にステップＳ５００で選択していない未選択のサービス登録情報が存在するか否かを判定する。未選択のサービス登録情報が存在しない場合には、図１５に示したサービス管理テーブル２６の定期更新処理を終了する。
【０１８１】
一方、未選択のサービス登録情報が存在する場合にはステップＳ５００に移行する。すなわち、サービス管理テーブル２６から未選択のサービス登録情報が存在しなくなるまでステップＳ５００〜Ｓ５３０の処理を繰り返し実行することで、サービス管理テーブル２６に登録されているユーザのうち、サービスの利用間隔が規定時間以上空いているユーザのサービス登録情報が削除されることになる。
【０１８２】
したがって、サービス提供装置２０が提供するサービスをユーザが利用しなくても、サービス管理テーブル２６の不要な情報が削除される。
【０１８３】
サービス管理テーブル２６の定期更新処理が行われた場合、認証管理装置１０が提供する連携認証の利用契約を解除していないユーザであっても、サービス提供装置２０が提供するサービスの利用間隔が規定時間以上空いてしまうと、当該ユーザに対応したサービス登録情報におけるサービスＩＤと管理ＩＤとの関連付けが解除される。一方、当該ユーザが前回のサービスの利用から規定時間経過した後に、連携認証を用いてサービス提供装置２０が提供するサービスを利用しようとした場合、トークンに含まれる管理ＩＤ及び連絡先が設定されているサービス登録情報がサービス管理テーブル２６に存在しないことから、図１０に示したサービス提供処理におけるステップＳ３０のアカウント作成処理が実行されることになる。したがって、サービス管理テーブル２６において、当該ユーザに対するサービスＩＤと管理ＩＤとの関連付けが回復することになる。
【０１８４】
上述した実施の形態におけるサービス提供装置２０は、認証管理装置１０からトークンを受け付けた場合、管理ＩＤのサービス提供装置２０における管理ＩＤとサービスＩＤの登録状況に応じた方法でユーザの本人確認を行ったが、認証管理装置１０における認証管理テーブル１６の真正性が担保されている場合、サービス提供装置２０は、トークンに含まれる情報を、サービス提供装置２０にサービスを要求したユーザの正しい情報として扱ってもよい。この場合、サービス提供装置２０は、ユーザの本人確認を行わずに要求されたサービスをユーザに提供する。
【０１８５】
具体的には、図１０におけるステップＳ３０のアカウント作成処理では、サービス提供装置２０は確認メールに対する承諾通知を受け付けてから図示しない確認画面を表示してユーザにサービスログイン情報を入力してもらうのではなく、確認メールを送信することなく確認画面を表示してサービスログイン情報を受け付ける。また、図１０におけるステップＳ５０のＩＤ関連付け処理では、ユーザにサービスパスワードの入力を要求することなく、要求されたサービスをユーザに提供する。また、図１０におけるステップＳ６０のＩＤ変更処理では、サービスログイン情報の入力を要求することなく、トークンに含まれる管理ＩＤが設定されたサービス登録情報のサービスＩＤを、トークンに含まれる連絡先に変更して、サービスＩＤと管理ＩＤとの関連付けを更新する。
【０１８６】
なお、認証管理装置１０における認証管理テーブル１６の真正性が担保されているとは、例えば、認証管理装置１０を含むドメインがドメイン認証を受けている場合や、認証管理装置１０でのユーザ登録の際、ユーザの本人確認を行ってからユーザ登録を行う場合が含まれる。
【０１８７】
以上、実施の形態を用いて本発明について説明したが、本発明は実施の形態に記載の範囲には限定されない。本発明の要旨を逸脱しない範囲で実施の形態に多様な変更又は改良を加えることができ、当該変更又は改良を加えた形態も本発明の技術的範囲に含まれる。例えば、本発明の要旨を逸脱しない範囲で処理の順序を変更してもよい。
【０１８８】
本実施の形態では、一例として各処理をソフトウェアで実現する形態について説明したが、図１０〜図１５に示した各フローチャートと同等の処理を、例えばＡＳＩＣ(Application Specific Integrated Circuit)に実装し、ハードウェアで処理させるようにしてもよい。この場合、各処理をそれぞれソフトウェアで実現した場合と比較して、処理の高速化が図られる。
【０１８９】
また、上述した実施の形態では、各プログラムがＲＯＭにインストールされている形態を説明したが、これに限定されるものではない。本発明に係る各プログラムは、コンピュータで読み取り可能な記憶媒体に記録された形態で提供することも可能である。例えば、本発明に係る各プログラムを、ＣＤ(Compact Disc)−ＲＯＭ、又はＤＶＤ(Digital Versatile Disc)−ＲＯＭ等の光ディスクに記録した形態で提供してもよい。また、本発明に係る各プログラムを、ＵＳＢメモリ及びフラッシュメモリ等の半導体メモリに記録した形態で提供してもよい。更に、認証管理装置１０、サービス提供装置２０、及びユーザ装置３０は、それぞれ通信回線２を通じて、通信回線２と接続される外部装置からプログラムを取得するようにしてもよい。
【０１９０】
また、図４に示した認証管理装置１０の各機能部及び認証管理ＤＢ１４を単体のコンピュータ４０で実現するのではなく、例えばクラウドコンピューティングを用いて複数のコンピュータに分散して配置し、複数のコンピュータを連携させることで、認証管理装置１０と同等の処理を実行するようにしてもよい。同様に、図６に示したサービス提供装置２０についても、各機能部及びサービス管理ＤＢ２５を複数のコンピュータに分散して配置し、複数のコンピュータを連携させることで、サービス提供装置２０と同等の処理を実行するようにしてもよい。
【符号の説明】
【０１９１】
１・・・サービス提供システム、２・・・通信回線、１０・・・認証管理装置、１１（２１、３１）・・・ユーザインターフェース（ＵＩ）部、１２（２２、３２）・・・制御部、１３（２３、３３）・・・通信部、１４・・・認証管理ＤＢ、１６・・・認証管理テーブル、２０・・・サービス提供装置、２４・・・確認部、２５・・・サービス管理ＤＢ２５、２６・・・サービス管理テーブル、３０・・・ユーザ装置、３５・・・受付画面、３６・・・サービスＩＤ入力領域、３７・・・サービスパスワード入力領域、３８・・・ログインボタン、３９・・・リンク文字列、４０（５０、６０）・・・コンピュータ、４１（５１、６１）・・・ＣＰＵ、４２（５２、６２）・・・ＲＯＭ、４３（５３、６３）・・・ＲＡＭ、４４（５４、６４）・・・不揮発性メモリ、４５（５５、６５）・・・Ｉ／Ｏ、４７（５７、６７）・・・通信ユニット、４８（５８、６８）・・・入力ユニット、４９（５９、６９）・・・出力ユニット
【図１】
2020154767.tif 000003
【図２】
2020154767.tif 000004
【図３】
2020154767.tif 000005
【図４】
2020154767.tif 000006
【図５】
2020154767.tif 000007
【図６】
2020154767.tif 000008
【図７】
2020154767.tif 000009
【図８】
2020154767.tif 000010
【図９】
2020154767.tif 000011
【図１０】
2020154767.tif 000012
【図１１】
2020154767.tif 000013
【図１２】
2020154767.tif 000014
【図１３】
2020154767.tif 000015
【図１４】
2020154767.tif 000016
【図１５】
2020154767.tif 000017