(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024006868
(43)【公開日】2024-01-17
(54)【発明の名称】プログラム、情報処理装置、方法及びシステム
(51)【国際特許分類】
G06F 21/31 20130101AFI20240110BHJP
【FI】
G06F21/31
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022165201
(22)【出願日】2022-10-14
(62)【分割の表示】P 2022104283の分割
【原出願日】2022-06-29
(71)【出願人】
【識別番号】500521522
【氏名又は名称】株式会社オプティム
(74)【代理人】
【識別番号】110002815
【氏名又は名称】IPTech弁理士法人
(72)【発明者】
【氏名】和田 一洋
(57)【要約】
【課題】ユーザがサービスを利用する際に、認証を受けるために入力すべき識別情報を削減する。
【解決手段】プロセッサ29とメモリ25とを備える認証サーバ20を動作させるためのプログラムは、プロセッサ29に、ユーザに固有のユーザ識別情報を受け入れるステップと、ユーザ識別情報と端末に固有の端末識別情報とが予め関連付けられており、受け入れたユーザ識別情報に基づいて、このユーザ識別情報に関連付けられた端末識別情報を取得するステップと、端末識別情報により識別される端末は端末自身の管理機能を有し、管理機能に対する応答要求を、ユーザが使用する端末へ送信するステップと、応答要求に基づく端末からの応答に応じて、端末を所持するユーザを認証するステップと、認証するステップによる認証結果をユーザへ提示するステップとを実行させる。
【選択図】
図2
【特許請求の範囲】
【請求項1】
プロセッサとメモリとを備えるコンピュータを動作させるためのプログラムであって、
前記プログラムは、前記プロセッサに、
ユーザに固有のユーザ識別情報を受け入れるステップと、
前記ユーザ識別情報と端末に固有の端末識別情報とが予め関連付けられており、受け入れた前記ユーザ識別情報に基づいて、このユーザ識別情報に関連付けられた前記端末識別情報を取得するステップと、
前記端末識別情報により識別される前記端末は前記端末自身の管理機能を有し、前記管理機能に対する応答要求を、前記ユーザが使用する前記端末へ送信するステップと、
前記応答要求に基づく前記端末からの応答に応じて、前記端末を所持する前記ユーザを認証するステップと、
前記認証するステップによる認証結果を前記ユーザへ提示するステップと
を実行させる、プログラム。
【請求項2】
前記端末識別情報を取得するステップにおいて、受け入れた前記ユーザ識別情報に基づいて複数の前記端末識別情報を取得し、
前記応答要求を前記端末へ送信するステップにおいて、前記ユーザに、取得した複数の前記端末識別情報を提示し、
前記ユーザを認証するステップにおいて、前記ユーザが使用している前記端末に固有の前記端末識別情報の選択を受け入れる
請求項1に記載のプログラム。
【請求項3】
前記応答要求を前記端末へ送信するステップにおいて、当該応答要求に固有の応答要求識別情報を前記端末へ送信し、
前記ユーザを認証するステップにおいて、前記応答要求識別情報に基づいて、前記端末を所持するユーザを認証する
請求項1に記載のプログラム。
【請求項4】
前記メモリには、前記ユーザ識別情報と前記端末識別情報とが関連付けられたテーブルが格納され、
前記端末識別情報を取得するステップにおいて、前記テーブルを参照して、受け入れた前記ユーザ識別情報に基づいて、このユーザ識別情報に関連付けられた前記端末識別情報を取得する
請求項1に記載のプログラム。
【請求項5】
前記プログラムは、前記プロセッサにさらに、
前記ユーザが認証されたら、前記端末の前記管理機能と連携してこの端末の管理を行うステップを実行させる、
請求項1に記載のプログラム。
【請求項6】
前記プログラムは、前記プロセッサにさらに、
前記ユーザが認証されたら、この認証に基づいて、他のサービスを前記ユーザに利用可能にさせる、
請求項1に記載のプログラム。
【請求項7】
プロセッサとメモリとを備えた情報処理装置であって、
前記プロセッサは、
ユーザに固有のユーザ識別情報を受け入れるステップと、
前記ユーザ識別情報と端末に固有の端末識別情報とが予め関連付けられており、受け入れた前記ユーザ識別情報に基づいて、このユーザ識別情報に関連付けられた前記端末識別情報を取得するステップと、
前記端末識別情報により識別される前記端末は前記端末自身の管理機能を有し、前記管理機能に対する応答要求を、前記ユーザが使用する前記端末へ送信するステップと、
前記応答要求に基づく前記端末からの応答に応じて、前記端末を所持する前記ユーザを認証するステップと、
前記認証するステップによる認証結果を前記ユーザへ提示するステップと
を実行する、情報処理装置。
【請求項8】
プロセッサとメモリとを備えたコンピュータにより実行される方法であって、
前記プロセッサは、
ユーザに固有のユーザ識別情報を受け入れるステップと、
前記ユーザ識別情報と端末に固有の端末識別情報とが予め関連付けられており、受け入れた前記ユーザ識別情報に基づいて、このユーザ識別情報に関連付けられた前記端末識別情報を取得するステップと、
前記端末識別情報により識別される前記端末は前記端末自身の管理機能を有し、前記管理機能に対する応答要求を、前記ユーザが使用する前記端末へ送信するステップと、
前記応答要求に基づく前記端末からの応答に応じて、前記端末を所持する前記ユーザを認証するステップと、
前記認証するステップによる認証結果を前記ユーザへ提示するステップと
を実行する、方法。
【請求項9】
ユーザに固有のユーザ識別情報を受け入れる手段と、
前記ユーザ識別情報と端末に固有の端末識別情報とが予め関連付けられており、受け入れた前記ユーザ識別情報に基づいて、このユーザ識別情報に関連付けられた前記端末識別情報を取得する手段と、
前記端末識別情報により識別される前記端末は前記端末自身の管理機能を有し、前記管理機能に対する応答要求を、前記ユーザが使用する前記端末へ送信する手段と、
前記応答要求に基づく前記端末からの応答に応じて、前記端末を所持する前記ユーザを認証する手段と、
前記認証する手段による認証結果を前記ユーザへ提示する手段と
を具備する、システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、プログラム、情報処理装置、方法及びシステムに関する。
【背景技術】
【0002】
認証サーバが自身に送信されたデバイス識別情報にて特定されるデバイス群に対応するデバイスグループを検索してワークフローを検索し、次いで、運用途中のワークフローが存在するか否かを判断し、存在する場合は、パスワード入力の指示を行わず、そのままデバイス処理の指示を出す技術がある(特許文献1)。
【0003】
また、可搬媒体からこの可搬媒体を識別する識別情報を読み出して認証サーバ装置へ送信し、認証サーバ装置が、受信した識別情報に基づいて認証状態情報を発行し、発行した認証状態情報を可搬媒体に書き込み、可搬媒体から認証状態情報を読み出し,記憶される認証状態情報に基づき,認証処理を実行する認証システムに関する技術がある(特許文献2)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2009-53762号公報
【特許文献2】特開2008-9644号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1及び特許文献2に係る技術では、ユーザは、ユーザが利用する端末にその都度識別情報(例えばID、パスワード)を入力して認証装置等により認証を受ける必要があり、ユーザに数多くの識別情報を入力させる手間がかかっていた。
【0006】
そこで、本開示は、上記課題を解決すべくなされたものであって、その目的は、ユーザがサービスを利用する際に、認証を受けるために入力すべき識別情報を削減することである。
【課題を解決するための手段】
【0007】
プロセッサとメモリとを備えるコンピュータを動作させるためのプログラムである。プログラムは、プロセッサに、ユーザに固有のユーザ識別情報を受け入れるステップと、ユーザ識別情報と端末に固有の端末識別情報とが予め関連付けられており、受け入れたユーザ識別情報に基づいて、このユーザ識別情報に関連付けられた端末識別情報を取得するステップと、端末識別情報により識別される端末は端末自身の管理機能を有し、管理機能に対する応答要求を、ユーザが使用する端末へ送信するステップと、応答要求に基づく端末からの応答に応じて、端末を所持するユーザを認証するステップと、認証するステップによる認証結果をユーザへ提示するステップとを実行させる。
【発明の効果】
【0008】
本開示によれば、ユーザがサービスを利用する際に、認証を受けるために入力すべき識別情報を削減することができる。
【図面の簡単な説明】
【0009】
【
図1】システムの動作の概要を説明するための図である。
【
図10】システムにおける処理流れの一例を示すシーケンス図である。
【
図11】システムにおける処理流れの一例を示すシーケンス図である。
【
図12】端末装置で表示される画面の一例を表す模式図である。
【
図13】端末装置で表示される画面の別の一例を表す模式図である。
【発明を実施するための形態】
【0010】
以下、本開示の実施形態について図面を参照して説明する。実施形態を説明する全図において、共通の構成要素には同一の符号を付し、繰り返しの説明を省略する。なお、以下の実施形態は、特許請求の範囲に記載された本開示の内容を不当に限定するものではない。また、実施形態に示される構成要素のすべてが、本開示の必須の構成要素であるとは限らない。また、各図は模式図であり、必ずしも厳密に図示されたものではない。
【0011】
また、以下の説明において、「プロセッサ」は、1以上のプロセッサである。少なくとも1つのプロセッサは、典型的には、CPU(Central Processing Unit)のようなマイクロプロセッサであるが、GPU(Graphics Processing Unit)のような他種のプロセッサでもよい。少なくとも1つのプロセッサは、シングルコアでもよいしマルチコアでもよい。
【0012】
また、少なくとも1つのプロセッサは、処理の一部又は全部を行うハードウェア回路(例えばFPGA(Field-Programmable Gate Array)又はASIC(Application Specific Integrated Circuit))といった広義のプロセッサでもよい。
【0013】
また、以下の説明において、「xxxテーブル」といった表現により、入力に対して出力が得られる情報を説明することがあるが、この情報は、どのような構造のデータでもよいし、入力に対する出力を発生するニューラルネットワークのような学習モデルでもよい。従って、「xxxテーブル」を「xxx情報」と言うことができる。
【0014】
また、以下の説明において、各テーブルの構成は一例であり、1つのテーブルは、2以上のテーブルに分割されてもよいし、2以上のテーブルの全部又は一部が1つのテーブルであってもよい。
【0015】
また、以下の説明において、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサによって実行されることで、定められた処理を、適宜に記憶部及び/又はインタフェース部などを用いながら行うため、処理の主語が、プロセッサ(或いは、そのプロセッサを有するコントローラのようなデバイス)とされてもよい。
【0016】
プログラムは、計算機のような装置にインストールされてもよいし、例えば、プログラム配布サーバ又は計算機が読み取り可能な(例えば非一時的な)記録媒体にあってもよい。また、以下の説明において、2以上のプログラムが1つのプログラムとして実現されてもよいし、1つのプログラムが2以上のプログラムとして実現されてもよい。
【0017】
また、以下の説明において、種々の対象の識別情報として、識別番号が使用されるが、識別番号以外の種類の識別情報(例えば、英字や符号を含んだ識別子)が採用されてもよい。
【0018】
また、以下の説明において、同種の要素を区別しないで説明する場合には、参照符号(又は、参照符号のうちの共通符号)を使用し、同種の要素を区別して説明する場合は、要素の識別番号(又は参照符号)を使用することがある。
【0019】
また、以下の説明において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
【0020】
<0 システムの概要>
図1は、本開示に係るシステムの動作の概要を示す図である。本開示のシステム1では、自身の管理機能を有し、事前に管理サーバに登録されている端末装置2から、シングルサインオン(Single Sign-On:SSO)機能を提供する認証サーバ3にアクセスし、この認証サーバ3による認証を経てSSOサービスを利用する際に、管理サーバ4における登録情報(端末識別情報及びユーザ識別情報)に基づいて、ユーザID(ユーザ識別情報)のみ端末装置2を介して入力すれば、パスワード等の他の識別情報を使用することなく認証サーバによる認証を受けられるシステムである。
【0021】
ここに、ユーザ識別情報は、ユーザのメールアドレスなど、端末装置2を使用するユーザに固有の識別情報であるが、ユーザを一意に識別できる情報であれば特段の限定はない。また、端末識別情報は、管理サーバ4に登録されている端末装置2に固有の識別情報であり、その形式等に特段の限定はない。また、管理サーバ4には、一つのユーザ識別情報に対して複数の端末識別情報が関連付けられていてもよい。つまり、ユーザ識別情報により識別されるユーザが複数の端末装置2を所持し、これら端末装置2についての端末識別情報が管理サーバに登録されていてもよい。
【0022】
以下の説明では、説明の都合上、認証サーバ3と管理サーバ4とが別体である(異なるサーバである)として説明を行うが、当然のように、これら認証サーバ3と管理サーバ4とが一つのサーバ(情報処理装置)により実現されていてもよい。また、以下の説明では、ユーザ識別情報と端末識別情報との関連付けが記述された情報は管理サーバ4に格納されているとして説明を行うが、この情報は認証サーバ3及び管理サーバ4の少なくとも一方に格納されていればよい。また、この情報が保持される形態についても特段の限定はなく、一般的にはユーザ識別情報と端末識別情報との関連付けを記述したテーブル、データベースにより保持されるが、これらユーザ識別情報と端末識別情報との関連付けを把握可能な形態であればよい。
【0023】
認証サーバ3により提供されるSSO機能は、シングルサインオンサービスとして提供されている既知の機能であるが、一例を以下に説明する。
・認証サーバ3を経由して端末装置2からシステム1内外のサービスにアクセスする際に、サービス毎にID、PW等の入力を省略し、認証サーバ3による認証のみでサービスにアクセス可能にする
・端末装置2が認証サーバ3経由でアクセスしたサービスのログを取得、管理し、認証サーバ3の管理者が適宜参照することができる
・端末装置2のユーザに関するユーザ識別情報と、サービスのユーザアカウント情報との連携を図り、これら情報の一元管理をすることができ、さらに、認証サーバ3を利用する企業(通常は端末装置2のユーザはこの企業の社員である)が、ユーザがこの企業を退職する等の理由によりSSO機能を利用する権限を失った際に、認証サーバ3におけるユーザ識別情報の登録を削除することで、情報漏洩リスクの低減を図ることができる
【0024】
また、管理サーバ4により提供される端末管理機能は、PC管理機能、携帯端末管理(Mobile Device Management:MDM)機能として提供されている既知のものであるが、一例を以下に説明する。
・管理サーバ4に、ユーザが利用する端末装置2に関する情報を事前に登録しておくとともに、管理サーバ4による管理機能を実現するためのモジュール(
図1において端末管理モジュール6として図示している)を端末装置2に事前にインストールしておき、管理サーバ4と端末管理モジュール6との協働により、以下の管理機能を実現する
・端末装置2の盗難等により端末装置2がユーザによる管理下に置かれなくなった際に、端末装置2に対する入力操作を禁止する(ロックする)、端末装置2に格納されている情報を消去するなどの動作を管理サーバ4からの指示によりリモートで行う
・認証サーバ3と連携して、管理サーバ4に登録されていない端末(仮にユーザ識別情報が管理サーバ4に登録されていても)に対してSSO機能の禁止、制限を行う、ここに、制限とは、サービス単位でのアクセスを含む、さらに、管理サーバ4に登録されている端末装置2であっても、端末装置2毎にアクセス可能なサービスを異ならせる
・端末装置2へのアプリケーションのインストールをリモートでかつ一括して行う
・端末装置2が現在利用されている環境(含む無線LAN環境、場所、時間)を検知し、この環境に適した設定を端末装置2に提供する
【0025】
本開示に係るシステム1の動作の概略について、
図1を参照して説明する。
【0026】
端末装置2を所有するユーザは、ブラウザ5を介して認証サーバ3にログインする(1)。ログインする際、ユーザはブラウザ5に自身のユーザ識別情報(一般的にはユーザのメールアドレス)を入力する。端末装置2は、ユーザにより入力されたユーザ識別情報を用いて認証サーバ3にログインする。
【0027】
ユーザ識別情報の入力を受け入れた認証サーバ3は、このユーザ識別情報を管理サーバ4に提供し、管理サーバ4は、ユーザ識別情報に関連付けられた端末識別情報があれば、この端末識別情報を認証サーバ3に返信する(2)。この際、ユーザ識別情報に関連付けられた端末識別情報が複数あれば、管理サーバ4は全ての(つまり複数の)端末識別情報を認証サーバ3に返信する。
【0028】
管理サーバ4から端末識別情報が返信されてきたということは、ユーザ識別情報により特定されるユーザは、少なくとも管理サーバ4に登録された端末装置2を所有している、ということである。但し、この時点では、ユーザが、管理サーバ4に登録された端末装置2によりログインしたかどうかは不明である。つまり、ユーザが私有の端末装置を用いて認証サーバ3にログインした可能性がある。私有の端末装置であると、この端末装置は管理サーバ4に登録されておらず、従って、私有の端末装置には端末管理モジュール6がインストールされていない。
【0029】
そこで、認証サーバ3は、管理サーバ4に登録されている端末装置2によりログインしたかどうかを確認するために、管理サーバ4から取得した全ての端末識別情報を端末装置2に送信し、端末識別情報に対する応答要求を行う(3)。この際、認証サーバ3は、個々の応答要求に固有の応答要求識別情報も端末装置2に送信する。本開示に係るシステム1では、認証サーバ3は、後述する端末装置2から管理サーバ4へのアクセスの際に、このアクセスが上述した応答要求に基づくものであることを証明する、トークンと呼ばれる短い字句(文字列)を応答要求識別情報として用いる。
【0030】
端末識別情報及び応答要求識別情報を受信した端末装置2は、認証サーバ3から送出された端末識別情報により特定される端末のうち、ユーザが現在利用している端末を選択する(4)。端末識別情報は、管理サーバ4による端末装置2の管理態様に関連付けられているので、ユーザは、適切な端末を選択する必要がある。
【0031】
端末を選択したら、端末装置2のブラウザは、認証サーバ3から送出された応答要求識別情報を用いて端末管理モジュール6を起動させ(5)、この応答要求識別情報を用いて端末管理モジュール6により管理サーバ4にアクセスさせる(6)。一連の動作の具体的な内容に特段の限定はないが、一例として、端末装置2のOSがWindows(登録商標)である場合、URL Schemeを用いて端末管理モジュール6を起動させるためのURLの末尾にトークンを付加したものを端末管理モジュール6に提示し、このトークンを用いて管理サーバ4にアクセスさせる。
【0032】
なお、上述したように、ユーザの私有の端末装置2には端末管理モジュール6がインストールされていないので、ブラウザ5からの起動指示に対して端末管理モジュール6が応答できず、従って、ここで認証動作が失敗して一連の処理が終了する。
【0033】
トークンを受け入れた管理サーバ4は、このトークンとともに端末装置2からのアクセスがあったことを認証サーバ3に通知する。認証サーバ3は、管理サーバ4から通知されたトークンが自身が発行した応答要求識別情報であることを確認することで、端末装置2の認証が完了したと判断し(7)、認証完了通知を端末装置2に送信する(8)。
【0034】
認証サーバ3による認証が終了すると、ユーザは、認証された端末装置2を用いて外部サービスにアクセスするなど、認証サーバ3が提供するSSO機能を利用することができる(9)。
【0035】
なお、本開示に係るシステム1において、URL Schemeを用いた端末管理モジュール6の起動指示、及び、応答要求識別情報としてトークンを用いることなどはあくまで一例であり、かかる具体例には限定されない。一例として、トークンの代わりに応答要求毎に一意に定まる情報、一例としてハッシュタグ、バーコード等を用いてもよい。また、URL Schemeにより端末管理モジュール6を起動する代わりに、端末管理モジュール6に一時的にローカルのhttpサーバを立て、このローカルのhttpサーバにより管理サーバ4のURL+応答要求識別情報にアクセスしてもよい。
【0036】
<1 システム全体の構成図>
図2は、システム1の全体構成の例を示すブロック図である。
図2に示すシステム1は、例えば、端末装置10、認証サーバ20、管理サーバ30を含む。端末装置10、認証サーバ20及び管理サーバ30は、例えば、ネットワーク80を介して通信接続する。
【0037】
図2において、システム1が端末装置10を1台含む例を示しているが、システム1に含まれる端末装置10の数は、1台に限定されない。端末装置10は、認証サーバ20が提供するSSO機能を利用し、また、管理サーバ30による端末管理サービスを利用するユーザが所持する端末である。
【0038】
本実施形態において、複数の装置の集合体を1つの認証サーバ20、管理サーバ30としてもよい。1つ又は複数のハードウェアに対して本実施形態に係る認証サーバ20、管理サーバ30を実現することに要する複数の機能の配分の仕方は、各ハードウェアの処理能力及び/又は認証サーバ20に求められる仕様等に鑑みて適宜決定することができる。
【0039】
図1に示す端末装置10は、例えば、スマートフォン、タブレット等の携帯端末でもよいし、据え置き型のPC(Personal Computer)、ラップトップPCであってもよい。また、HMD(Head Mount Display)、腕時計型端末等のウェアラブル端末であってもよい。
【0040】
端末装置10は、通信IF(Interface)12と、入力装置13と、出力装置14と、メモリ15と、ストレージ16と、プロセッサ19とを備える。
【0041】
通信IF12は、端末装置10が、例えば、認証サーバ20等のシステム1内の装置と通信するため、信号を入出力するためのインタフェースである。
【0042】
入力装置13は、ユーザからの入力操作を受け付けるための装置(例えば、タッチパネル、タッチパッド、マウス等のポインティングデバイス、キーボード等)である。
【0043】
出力装置14は、ユーザに対して情報を提示するための装置(ディスプレイ、スピーカー等)である。
【0044】
メモリ15は、プログラム、及びプログラム等で処理されるデータ等一時的に記憶するためのものであり、例えばDRAM(Dynamic Random Access Memory)等の揮発性のメモリである。
【0045】
ストレージ16は、データを保存するためのものであり、例えばフラッシュメモリ、HDD(Hard Disc Drive)である。
【0046】
プロセッサ19は、プログラムに記述された命令セットを実行するためのハードウェアであり、演算装置、レジスタ、周辺回路等により構成される。
【0047】
認証サーバ20は、端末装置10が事前に登録したユーザ識別情報(通常はユーザのメールアドレス)を用いてログインしたら、このユーザ識別情報、及び後述する端末識別情報、応答要求識別情報を用いて認証を行い、認証が成功したら、当該端末装置10に対してSSO機能を提供する。また、認証サーバ20はいわゆるWebサーバとしての機能も有する。
【0048】
認証サーバ20は、例えば、ネットワーク80に接続されたコンピュータ(情報処理装置)により実現される。
図2に示すように、認証サーバ20は、通信IF22と、入出力IF23と、メモリ25と、ストレージ26と、プロセッサ29とを備える。
【0049】
通信IF22は、認証サーバ20が、例えば、端末装置10等のシステム1内の装置と通信するため、信号を入出力するためのインタフェースである。
【0050】
入出力IF23は、ユーザからの入力操作を受け付けるための入力装置、及び、ユーザに対して情報を提示するための出力装置とのインタフェースとして機能する。
【0051】
メモリ25は、プログラム、及び、プログラム等で処理されるデータ等を一時的に記憶するためのものであり、例えばDRAM等の揮発性のメモリである。
【0052】
ストレージ26は、データを保存するためのものであり、例えばフラッシュメモリ、HDDである。
【0053】
プロセッサ29は、プログラムに記述された命令セットを実行するためのハードウェアであり、演算装置、レジスタ、周辺回路等により構成される。
【0054】
管理サーバ30は、例えば、ネットワーク80に接続されたコンピュータ(情報処理装置)により実現される。管理サーバ30のハードウェア構成は認証サーバ20と同様であるので、図示及び説明をともに省略する。また、管理サーバ30はいわゆるWebサーバとしての機能も有する。
【0055】
管理サーバ30は、端末装置10に予めインストールされた端末管理モジュール6である端末管理制御部195(
図3参照)と協働して、この端末装置10に対して端末管理サービスを提供する。
【0056】
<1.1 端末装置の機能的な構成>
図3は、
図2に示す端末装置10の機能的な構成の例を表すブロック図である。
図3に示す端末装置10は、例えば、PC、携帯端末、またはウェアラブル端末により実現される。
図3に示すように、端末装置10は、通信部120と、入力装置130と、出力装置140と、記憶部180と、制御部190とを備える。端末装置10に含まれる各ブロックは、例えば、バス等により電気的に接続される。
【0057】
通信部120は、端末装置10が他の装置と通信するための変復調処理等の処理を行う。通信部120は、制御部190で生成された信号に送信処理を施し、外部(例えば、認証サーバ20)へ送信する。通信部120は、外部から受信した信号に受信処理を施し、制御部190へ出力する。
【0058】
入力装置130は、端末装置10を操作するユーザが指示、または情報を入力するための装置である。入力装置13は、例えば、キーボード131、マウス132等を有する。なお、
端末装置10が携帯端末等である場合には、操作面へ触れることで指示が入力されるタッチ・センシティブ・デバイス等により入力装置130が実現される。入力装置130は、ユーザから入力される指示を電気信号へ変換し、電気信号を制御部190へ出力する。なお、入力装置130には、例えば、外部の入力機器から入力される電気信号を受け付ける受信ポートが含まれてもよい。
【0059】
出力装置140は、端末装置10を操作するユーザへ情報を提示するための装置である。出力装置14は、例えば、ディスプレイ141等により実現される。ディスプレイ141は、制御部190の制御に応じたデータを表示する。ディスプレイ141は、例えば、LCD(Liquid Crystal Display)、または有機EL(Electro-Luminescence)ディスプレイ等によって実現される。
【0060】
記憶部180は、例えば、メモリ15、およびストレージ16等により実現され、端末装置10が使用するデータ、およびプログラムを記憶する。記憶部180は、例えば、アプリケーションプログラム181、ブラウザプログラム182及び管理プログラム183を記憶する。
【0061】
ブラウザプログラム182は、端末装置10にブラウザ機能を提供するためのプログラムであり、実行されると、後述するブラウザ制御部194としての機能を実行し、端末装置10にブラウザ機能を提供する。本実施形態の端末装置10において、ブラウザの種類に特段の限定はなく、既知のブラウザプログラム182が好適に使用可能である。
【0062】
管理プログラム183は管理サーバ30が提供するプログラムであり、実行されると、後述する端末管理モジュール6である端末管理制御部195としての機能を提供する。
【0063】
制御部190は、プロセッサ19が記憶部180に記憶されるアプリケーションプログラム181、ブラウザプログラム182及び管理プログラム183を読み込み、アプリケーションプログラム181等に含まれる命令を実行することにより実現される。制御部190は、端末装置10の動作を制御する。制御部190は、プログラムに従って動作することにより、操作受付部191と、送受信部192と、提示制御部193と、ブラウザ制御部194と、端末管理制御部195としての機能を発揮する。
【0064】
操作受付部191は、入力装置13から入力される指示、または情報を受け付けるための処理を行う。具体的には、例えば、操作受付部191は、キーボード131、マウス132等から入力される指示に基づく情報を受け付ける。
【0065】
送受信部192は、端末装置10が、認証サーバ20等の外部の装置と、通信プロトコルに従ってデータを送受信するための処理を行う。具体的には、例えば、送受信部192は、ユーザから入力された内容を外部機器へ送信する。また、送受信部192は、ユーザに関する情報を外部機器から受信する。
【0066】
提示制御部193は、端末装置10の各機能部が生成した情報をユーザに対して提示するため、出力装置14を制御する。具体的には、例えば、提示制御部193は、端末装置10の各機能部が生成した情報をディスプレイ141に表示させる。
【0067】
ブラウザ制御部194は、ブラウザ機能を端末装置10に提供する。具体的には、例えば、ブラウザ制御部194は、ユーザが入力等をしたURLにより特定されるWebサーバにアクセスし、Webサーバから送出される情報をディスプレイ141を介して視認可能な状態で(つまり画面として)提示し、また、画面内に表示されるリンク、ボタン等に対してユーザが入力装置130を介して操作入力をしたら、操作受付部191と協働して、これらリンク等に記述された命令等に基づいて所定の動作を行い、また、操作入力情報をWebサーバに送出する。通常、ブラウザはディスプレイ141内に特定のウィンドウとして表示されるが、表示態様に特段の限定はない。
【0068】
特に、本実施例の端末装置10におけるブラウザ制御部194は、後述する認証サーバ20のユーザ認証モジュール2036から送出された応答要求識別情報であるトークンを、管理サーバ30にアクセスするためのURLの末尾に付加した情報を用いて、端末管理制御部195に管理サーバ30にアクセスする命令を送出することで、この端末管理制御部195を起動させる。端末管理制御部195に管理サーバ30にアクセスさせる手法は任意であるが、一例として、URL Schemeを用いて端末管理制御部195を起動する手法が挙げられる。URL Scheme自体は端末装置10のアプリケーションプログラム181に含まれるOSに標準的に含まれている機能である。あるいは、端末管理制御部195に一時的にローカルのhttpサーバを立て、このhttpサーバにより、管理サーバ30にアクセスするためのURLの末尾に付加した情報を用いて管理サーバ30にアクセスさせる手法も可能である。
【0069】
端末管理制御部195は、管理サーバ30が提供する端末管理機能を、この管理サーバ30と協働して端末装置10に提供する。端末管理機能の詳細については既に説明したので、ここでの説明は省略する。
【0070】
特に、本実施形態の端末装置10における端末管理制御部195は、ブラウザ制御部194からの指示に基づいて、このブラウザ制御部194から送出された情報、つまり、管理サーバ30にアクセスするためのURLの末尾に付加した情報を用いて、管理サーバ30にアクセスする。
【0071】
<1.2 認証サーバの機能的な構成>
図4は、認証サーバ20の機能的な構成の例を示す図である。
図4に示すように、認証サーバ20は、通信部201と、記憶部202と、制御部203としての機能を発揮する。
【0072】
通信部201は、認証サーバ20が外部の装置と通信するための処理を行う。
【0073】
記憶部202は、例えば、アプリケーションプログラム2021と、ユーザ情報データベース(DB)2022と、トークンDB2023と、SSO管理情報DB2024等とを有する。
【0074】
ユーザ情報DB2022は、ユーザに固有のユーザ識別情報を保持するためのデータベースである。詳細は後述する。
【0075】
トークンDB2023は、端末装置10の端末管理制御部195に管理サーバ30への応答を要求する応答要求に固有の応答要求識別情報であるトークンを保持するためのデータベースである。詳細は後述する。
【0076】
SSO管理情報DB2024は、認証サーバ20を利用するユーザがアクセス可能なサイトに関する情報を保持するためのデータベースである。詳細は後述する。
【0077】
制御部203は、プロセッサ29が記憶部202に記憶されるアプリケーションプログラム2021を読み込み、アプリケーションプログラム2021に含まれる命令を実行することにより実現される。制御部203は、アプリケーションプログラム2021に従って動作することにより、受信制御モジュール2031、送信制御モジュール2032、ログイン管理モジュール2033、端末識別情報取得モジュール2034、トークン発行モジュール2035、ユーザ認証モジュール2036および、SSO管理モジュール2037として示す機能を発揮する。
【0078】
受信制御モジュール2031は、認証サーバ20が外部の装置から通信プロトコルに従って信号を受信する処理を制御する。
【0079】
送信制御モジュール2032は、認証サーバ20が外部の装置に対し通信プロトコルに従って信号を送信する処理を制御する。
【0080】
ログイン管理モジュール2033は、端末装置10から送出されたユーザ識別情報を受信制御モジュール2031経由で受信し、ユーザ情報DB2022に格納されているユーザ識別情報と照合し、このユーザ識別情報が既にユーザ情報DB2022に登録されている(従って認証サーバ20そのものに登録されている)か否かを判定する。そして、端末装置10から送出されたユーザ識別情報に合致するユーザ識別情報がユーザ情報DB2022に登録されているとログイン管理モジュール2033が判定したら、このユーザ識別情報を端末識別情報取得モジュール2034に送出する。
【0081】
端末識別情報取得モジュール2034は、ログイン管理モジュール2033から送出されたユーザ識別情報(このユーザ識別情報はログイン管理モジュール2033により、既に認証サーバ20に登録されたユーザのユーザ識別情報であることが確認されている)を管理サーバ30に送信し、管理サーバ30から、このユーザ識別情報に対応する端末識別情報を受信する。この際、管理サーバ30に、ユーザ識別情報に関連付けられた端末識別情報が複数登録されている場合、端末識別情報取得モジュール2034は登録されている全ての端末識別情報を受信する。管理サーバ30から端末識別情報を受信したということは、ユーザ識別情報により識別されるユーザが端末装置10(この端末装置10が現在ユーザが認証サーバ20にアクセスする際に使用している端末装置10であるかどうかはこの時点では不明である)を管理サーバ30に登録している、すなわち、端末装置10が管理サーバ30に登録されていることを意味する。
【0082】
トークン発行モジュール2035は、端末識別情報取得モジュール2034が管理サーバ30から端末識別情報を受信したことを契機に、ユーザに対して、現在使用している端末装置10による応答要求をする際に、この応答要求を識別するための応答要求識別情報であるトークンを発行する。トークンの発行手法は任意であり、桁数、含まれる文字・数字の種類等については、本実施形態のシステム1におけるセキュリティ担保、また、システム1の規模等に応じて適宜決定すればよい。そして、トークン発行モジュール2035は。発行したトークンをユーザ認証モジュール2036に送出するとともに、トークンDB2023に格納する。
【0083】
ユーザ認証モジュール2036は、端末識別情報取得モジュール2034が端末識別情報を受信し、トークン発行モジュール2035がトークンを発行したら、これら端末識別情報及びトークンを、ログイン管理モジュール2033を介してログインした端末装置10に送出し、これら端末識別情報及びトークンに基づく端末装置10の端末管理制御部195の応答を要求する。次いで、端末識別情報等を送出した端末装置10が、端末管理制御部195により管理サーバ30に応答し、この応答に伴って管理サーバ30が受信したトークンをこの管理サーバ30から受信する。そして、ユーザ認証モジュール2036は、トークンDB2023を参照して取得した、ユーザ認証モジュール2036自身が送信したトークンと管理サーバ30が受信したトークンとを照合し、これらトークンが一致したら、端末装置10の認証が成功したものとして認証動作を終了する。
【0084】
SSO管理モジュール2037は、ユーザ認証モジュール2036による認証が成功した端末装置10に対してSSO機能を提供する。SSO機能の具体的内容については既に説明しているので、ここでの説明は省略する。一例として、SSO管理モジュール2037は、SSO管理情報DB2024を参照し、認証された端末装置10に紐付けられたユーザがアクセス可能とされたサイトへのアクセスを許可する。なお、本実施形態のシステム1において、SSO管理モジュール2037はユーザ単位でのSSO機能を提供しており、端末装置10単位でのアクセス制御については管理サーバ30の端末管理モジュール3035が機能を提供している。当然、端末装置10単位でのアクセス制御をSSO管理モジュール2037が行ってもよい。
【0085】
<1.3 管理サーバの機能的な構成>
図5は、管理サーバ30の機能的な構成の例を示す図である。
図5に示すように、管理サーバ30は、通信部301と、記憶部302と、制御部303としての機能を発揮する。
【0086】
通信部301は、管理サーバ30が外部の装置と通信するための処理を行う。
【0087】
記憶部302は、例えば、アプリケーションプログラム3021と、ユーザ端末情報データベース(DB)3022等とを有する。
【0088】
ユーザ端末情報DB3022は、端末装置10に固有の端末識別情報を保持するためのデータベースである。詳細は後述する。
【0089】
制御部303は、プロセッサが記憶部302に記憶されるアプリケーションプログラム3021を読み込み、アプリケーションプログラム3021に含まれる命令を実行することにより実現される。制御部303は、アプリケーションプログラム3021に従って動作することにより、受信制御モジュール3031、送信制御モジュール3032、ユーザ端末情報検索モジュール3033、トークン送受信モジュール3034および、端末管理モジュール3035として示す機能を発揮する。
【0090】
受信制御モジュール3031は、管理サーバ30が外部の装置から通信プロトコルに従って信号を受信する処理を制御する。
【0091】
送信制御モジュール3032は、管理サーバ30が外部の装置に対し通信プロトコルに従って信号を送信する処理を制御する。
【0092】
ユーザ端末情報検索モジュール3033は、認証サーバ20からの要求に基づいて、認証サーバ20から送出されたユーザ識別情報であるユーザIDに関連付けられた端末識別情報を、ユーザ端末情報DB3022を検索することにより抽出し、ユーザIDに関連付けられた端末識別情報があれば、ユーザ端末情報DB3022に格納されている、ユーザIDに関連付けられた全ての端末識別情報を認証サーバ20に送出する。
【0093】
トークン送受信モジュール3034は、端末装置10から送信されてきた情報に含まれる応答要求識別情報であるトークンを抽出し、抽出したトークンを認証サーバ20のユーザ認証モジュール2036に送出する。
【0094】
端末管理モジュール3035は、認証サーバ20のユーザ認証モジュール2036により認証が成功した端末装置10に対して、端末装置10の端末管理制御部195と協働して端末管理機能を提供する。端末管理モジュール3035が提供する端末管理機能の詳細については既に説明しているので、ここでの説明は省略する。
【0095】
<2 データ構造>
図6~
図8は認証サーバ20が記憶するデータベースのデータ構造を示す図であり、
図9は管理サーバ30が記憶するデータベースのデータ構造を示す図である。なお、
図6~
図9は一例であり、記載されていないデータを除外するものではない。
【0096】
図6~
図9に示すデータベースは、リレーショナルデータベースを指し、行と列によって構造的に規定された表形式のテーブルと呼ばれるデータ集合を、互いに関連づけて管理するためのものである。データベースでは、表をテーブル、表の列をカラム、表の行をレコードと呼ぶ。リレーショナルデータベースでは、テーブル同士の関係を設定し、関連づけることができる。
【0097】
通常、各テーブルにはレコードを一意に特定するための主キーとなるカラムが設定されるが、カラムへの主キーの設定は必須ではない。認証サーバ20及び管理サーバ30の制御部203、303は、各種プログラムに従ってプロセッサ29に、記憶部202、302に記憶された特定のテーブルにレコードを追加、削除、更新を実行させることができる。
【0098】
図6は、ユーザ情報DB2022のデータ構造を示す図である。
図6に示すように、ユーザ情報DB2022のレコードの各々は、例えば、項目「ユーザID」と、項目「メールアドレス」とを含む。ユーザ情報DB2022が記憶する情報は、ログイン管理モジュール2033により入力、更新される。ユーザ情報DB2022が記憶する情報は、適宜変更・更新することが可能である。
【0099】
項目「ユーザID」は、認証サーバ20に登録されているユーザを特定するためのIDである。項目「メールアドレス」は、ユーザIDにより特定されるユーザが、認証サーバ20の登録の際に入力したメールアドレスである。メールアドレスは、ユーザに固有のユーザ識別情報の一例である。
【0100】
図7は、トークンDB2023のデータ構造を示す図である。
図7に示すように、トークンDB2023のレコードの各々は、例えば、項目「トークンID」と、項目「ユーザID」と、項目「トークン」と、項目「発行日時」とを含む。トークンDB2023が記憶する情報は、トークン発行モジュール2035により入力、修正される。トークンDB2023が記憶する情報は、適宜変更・更新することが可能である。
【0101】
項目「トークンID」は、トークンを特定するためのIDである。項目「ユーザID」は、認証サーバ20に登録されているユーザを特定するためのIDであり、ユーザ情報DB2022の項目「ユーザID」と共通である。項目「トークン」は、トークンIDにより特定されるトークンであり、トークン発行モジュール2035により発行される。トークンは、認証サーバ20が端末装置10に対して行う応答要求に固有の応答要求識別情報の一例である。項目「発行日時」は、トークンIDにより特定されるトークンをトークン発行モジュール2035が発行した日時に関する情報である。
【0102】
図8は、SSO管理情報DB2024のデータ構造を示す図である。
図8に示すように、SSO管理情報DB2024のレコードの各々は、例えば、項目「ユーザID」と、項目「アクセス可能サイトURL」とを含む。SSO管理情報DB2024が記憶する情報は、SSO管理モジュール2037により入力、修正される。SSO管理情報DB2024が記憶する情報は、適宜変更・更新することが可能である。
【0103】
項目「ユーザID」は、認証サーバ20に登録されているユーザを特定するためのIDであり、ユーザ情報DB2022の項目「ユーザID」と共通である。項目「アクセス可能サイトURL」は、ユーザIDにより特定されるユーザが、認証サーバ20(特にSSO管理モジュール2037)が提供するSSO機能によりアクセスを許可されるサイトのURLに関する情報である。サイトにはいわゆるWebサーバのみならず、Webサービスを提供するサイトが含まれるので、SSO機能によりユーザが利用可能なWebサービスが規定されるともいえる。
【0104】
図9は、ユーザ端末情報DB3022のデータ構造を示す図である。
図9に示すように、ユーザ端末情報DB3022のレコードの各々は、例えば、項目「ユーザID」と、項目「端末ID」と、項目「端末種類」と、項目「端末名称」とを含む。ユーザ端末情報DB3022が記憶する情報は、端末管理モジュール3035により入力、修正される。ユーザ端末情報DB3022が記憶する情報は、適宜変更・更新することが可能である。
【0105】
項目「ユーザID」は、認証サーバ20に登録されているユーザを特定するためのIDであり、ユーザ情報DB2022の項目「ユーザID」と共通である。項目「端末ID」は、ユーザIDにより特定されるユーザが使用するものとして管理サーバ30に登録されている端末装置10を特定するためのIDである。端末IDは、端末装置10に固有の端末識別情報である。項目「端末種類」は、端末IDにより特定される端末装置10の種類を示す情報であり、主に、端末装置10のOSの種類に関する情報である。
図9において「PC」と表記された端末装置10は、OSがWindows(登録商標)であることを示す。項目「端末名称」は、端末IDにより特定される端末装置10の名称に関する情報である。端末名称は端末装置10のユーザが決定してもよいし、端末管理モジュール3035が決定してもよい。
【0106】
<3 動作例>
以下、システム1の動作の一例について説明する。
【0107】
図10~
図11は、システム1の動作の一例を表すシーケンス図である。
【0108】
ステップS1050において、端末装置10の制御部190は、端末装置10のユーザからの認証サーバ20へのログイン指示入力に基づいて、認証サーバ20にアクセスする。ログイン指示入力の態様は任意であり、一例として、端末装置10のディスプレイ141に表示されている認証サーバ20ログイン用のアイコンをマウス132等で選択する等の態様が一例として挙げられる。
【0109】
ステップS1000において、認証サーバ20の制御部203は、ステップS1050による端末装置10からのアクセスに基づいて、端末装置10に対して、ログインのためのメールアドレスの入力を求めるメールアドレス入力画面データを送出する。具体的には、例えば、制御部203は、ログイン管理モジュール2033により、予め用意してあるメールアドレス入力画面データ、あるいはその時点でログイン管理モジュール2033が生成したメールアドレス入力画面データを、アクセスしてきた端末装置10に送信する。
【0110】
図12は、ステップS1000において認証サーバ20から送出され、端末装置10のディスプレイ141に表示されたメールアドレス入力画面の一例を示す図である。端末装置10の画面1200には、ブラウザ制御部194により表示されたブラウザウィンドウ1201が表示され、このブラウザウィンドウ1201には、ユーザのメールアドレスを入力する入力欄1202と、入力欄1202に入力したメールアドレスを用いて認証サーバ20へのログインを指示するボタン1203とが表示されている。
【0111】
ステップS1051において、端末装置10のユーザは、キーボード131、マウス132等を用いて入力欄1202にユーザ自身のメールアドレスを入力し、同様にキーボード131、マウス132等を用いてボタン1203に入力操作を行うことにより、このメールアドレスによって認証サーバ20にログインすることを端末装置10に指示する。端末装置10の制御部190は、ユーザからの入力操作信号を受け入れ、ユーザが入力したメールアドレスを認証サーバ20に送信する。
【0112】
ステップS1001において、認証サーバ20の制御部203は、端末装置10から送信されたメールアドレスを受け入れ、このメールアドレスに対応するユーザIDを特定する。具体的には、例えば、制御部203は、ログイン管理モジュール2033により、受け入れたメールアドレスを用いてユーザ情報DB2022を検索し、このメールアドレスに対応するユーザIDを特定する。
【0113】
次いで、ステップS1002において、認証サーバ20の制御部203は、ステップS1001により特定したユーザIDに対応する端末識別情報があるか否かの問い合わせをし、さらに、端末識別情報があれば全ての端末識別情報を認証サーバ20に送出する旨の指示を管理サーバ30に送信する。具体的には、例えば、制御部203は、端末識別情報取得モジュール2034により、ステップS1001により特定したユーザIDを管理サーバ30に送出し、このユーザIDに関連付けられた端末識別情報の有無、及び、端末識別情報がある場合は全ての端末識別情報の送信を管理サーバ30に依頼する。
【0114】
ステップS1080において、管理サーバ30の制御部303は、ステップS1002において認証サーバ20から送出されたユーザIDに関連付けられた端末識別情報の有無を検索し、ユーザIDに関連付けられた端末識別情報が管理サーバ30に登録されていれば、登録されている全ての端末識別情報を認証サーバ20に送信する。具体的には、例えば、制御部303は、ユーザ端末情報検索モジュール3033により、認証サーバ20から送出されたユーザIDを用いてユーザ端末情報DB3022を検索し、ユーザIDに関連付けられた端末識別情報を抽出する。そして、ユーザIDに関連付けられた端末識別情報が検索できたら、ユーザ端末情報検索モジュール3033は、ユーザIDに関連付けられた全ての端末識別情報を認証サーバ20に送信する。
【0115】
図11に移行して、ステップS1100において、認証サーバ20の制御部203は、端末装置10への応答要求に固有の応答要求識別情報であるトークンを発行し、このトークンと、ステップS1080において管理サーバ30から送信された全ての端末識別情報と、管理サーバ30にアクセスするためのURL情報とを、ログイン要求をした端末装置10に送信し、端末装置10の端末管理制御部195による応答を要求する。ステップS1080において管理サーバ30のユーザ端末情報検索モジュール3033が端末識別情報を送信したということは、ユーザIDに関連付けられた端末識別情報(つまりはユーザが所有する端末装置10)が管理サーバ30に登録されていることを意味する。従って、認証サーバ20は、端末装置10に既にインストールされている端末管理制御部195に応答させることで、認証作業を進める。なお、端末装置10の端末管理制御部195が既に管理サーバ30のURL情報を取得している場合、管理サーバ30のURL情報を送出しなくても良い。
【0116】
具体的には、例えば、制御部203は、トークン発行モジュール2035により、端末装置10への応答要求に個別の応答要求識別情報であるトークンを発行させる。そして、トークン発行モジュール2035は、発行したトークンに関する情報をトークンDB2023に格納する。次いで、例えば、制御部203は、ユーザ認証モジュール2036により、ステップS1080で取得した全ての端末識別情報と、トークン発行モジュール2035が発行したトークンと、管理サーバ30にアクセスするためのURL情報とを、ステップS1051でログイン要求をした端末装置10に送信し、この端末装置10にインストールされている端末管理制御部195による応答を要求する。
【0117】
この後、ステップS1101において、認証サーバ20の制御部203は、ユーザ認証モジュール2036により定期的に管理サーバ30をポーリングし、管理サーバ30がトークンを受信したか否かを確認する。
【0118】
図13は、ステップS1100において認証サーバ20から送出された端末識別情報を端末装置10のディスプレイ141に表示した画面の一例を示す図である。端末装置10の画面1300には、ブラウザ制御部194により表示されたブラウザウィンドウ1301が表示され、このブラウザウィンドウ1301には、ユーザ識別情報であるユーザのメールアドレスに紐付けられた端末装置10が複数存在することを通知する文章が表記された領域1302と、ステップS1100において認証サーバ20から送出された端末識別情報のそれぞれを表記したボタン1303、1304とが表示されている。
【0119】
ステップS1150において、端末装置10のユーザは、キーボード131、マウス132等を用いてボタン1303、1304に選択入力操作を行うことにより、現在ユーザが使用している端末装置10に係る端末識別情報を選択する。ステップS1150において選択した端末識別情報を認証サーバ20、管理サーバ30に送出する必要はないが、ステップS1150において選択した端末識別情報は、端末管理制御部195による端末装置10の端末管理動作に影響しうる(OS毎に行うべき端末管理動作は異なる)ので、ステップS1150において選択した端末識別情報は端末管理制御部195に送出される。
【0120】
次いで、ステップS1151において、端末装置10の制御部190は、ステップS1100において認証サーバ20から送出された情報を用いて端末管理制御部195を起動させる。具体的には、例えば、制御部190は、ブラウザ制御部194により、URL Schemeを用いて端末管理制御部195を起動するためのURLの末尾にトークンを付加した情報により端末管理制御部195を起動させ、この端末管理制御部195により管理サーバ30にアクセスする応答要求を端末管理制御部195にさせる。
【0121】
次いで、ステップS1152において、端末装置10の制御部190は、ステップS1100において認証サーバ20から送出されたトークンを用いて管理サーバ30にアクセスすることで、端末管理制御部195による応答要求に応える。具体的には、例えば、制御部190は、端末管理制御部195により、ステップS1151においてブラウザ制御部194から送出された応答要求に応答し、トークンを付加した情報により管理サーバ30にアクセスさせる。
【0122】
ステップS1180において、管理サーバ30の制御部303は、トークン送受信モジュール3034により、ステップS1152において端末装置10から送信されたアクセス要求(このアクセス要求にはトークンが含まれている)を受け入れ、このアクセス要求に含まれているトークンを抽出する。そして、管理サーバ30の制御部303は、トークン送受信モジュール3034により、トークンを受信したことの通知、及び、送信されたトークンを認証サーバ20に送信する。
【0123】
ステップS1102において、認証サーバ20の制御部203は、ステップS1180で送信されたトークンを受信し、このトークンを用いて端末装置10の認証を行う。具体的には、例えば、制御部203は、ユーザ認証モジュール2036により、ステップS1102において受信したトークンを用いてトークンDB2023を検索し、受信したトークンが、ステップS1100において端末装置10に送出したトークンと同一であるか否かの判定を行う。そして、これらトークンが同一であれば、ユーザ認証モジュール2036は、トークンによる端末装置10の認証が成功したものとして認証動作を終了する。なお、ユーザ認証モジュール2036は、トークン発行モジュール2035によるトークン発行日時とステップS1102におけるトークンの受信日時とを比較し、これらの間の時間間隔が一定時間以内であることを条件に、端末装置10の認証を行ってもよい。
【0124】
ステップS1103において、認証サーバ20の制御部203は、ログイン要求をした端末装置10に対して、認証が成功した旨の通知を行う。以降、認証サーバ20の制御部203は、SSO管理モジュール2037により、認証が成功した端末装置10に対してSSO機能を提供するとともに、管理サーバ30の制御部303は、端末管理モジュール3035により、認証が成功した端末装置10に対して端末管理機能を提供する。
【0125】
<4 実施形態の効果>
以上詳細に説明したように、本実施形態のシステム1によれば、端末装置10から送出された、ユーザ固有のユーザ識別情報と、管理サーバ30に予め登録されている、ユーザ識別情報に関連付けられた端末識別情報とを用いて端末装置10の認証動作を行っている。これにより、本実施形態のシステム1によれば、ユーザが別途パスワード等の情報を入力することなく、認証サーバ20による認証を受けることができる。よって、本実施形態のシステム1によれば、ユーザがサービスを利用する際に、認証を受けるために入力すべき識別情報を削減することができる。
【0126】
<5 付記>
なお、上記した実施形態は本開示を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施形態の構成の一部について、他の構成に追加、削除、置換することが可能である。
【0127】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD-ROM、DVD-ROM、ハードディスク、SSD、光ディスク、光磁気ディスク、CD-R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
【0128】
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Java(登録商標)等の広範囲のプログラム又はスクリプト言語で実装できる。
【0129】
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はCD-RW、CD-R等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
【0130】
以上の各実施形態で説明した事項を以下に付記する。
【0131】
(付記1)
プロセッサ(29)とメモリ(25)とを備えるコンピュータ(20)を動作させるためのプログラム(2021)であって、プログラム(2021)は、プロセッサ(29)に、ユーザに固有のユーザ識別情報を受け入れるステップ(S1001)と、ユーザ識別情報と端末に固有の端末識別情報とが予め関連付けられており、受け入れたユーザ識別情報に基づいて、このユーザ識別情報に関連付けられた端末識別情報を取得するステップ(S1080)と、端末識別情報により識別される端末(10)は端末自身の管理機能を有し、管理機能に対する応答要求を、ユーザが使用する端末(10)へ送信するステップ(S1100)と、応答要求に基づく端末(10)からの応答に応じて、端末(10)を所持するユーザを認証するステップ(S1102)と、認証するステップによる認証結果をユーザへ提示するステップ(S1103)とを実行させる、プログラム(2021)。
(付記2)
端末識別情報を取得するステップ(S1080)において、受け入れたユーザ識別情報に基づいて複数の端末識別情報を取得し、応答要求を端末(10)へ送信するステップ(S1100)において、ユーザに、取得した複数の端末識別情報を提示し、ユーザを認証するステップにおいて、ユーザが使用している端末(10)に固有の端末識別情報の選択を受け入れる付記1に記載のプログラム(2021)。
(付記3)
応答要求を端末(10)へ送信するステップ(S1100)において、当該応答要求に固有の応答要求識別情報を端末(10)へ送信し、ユーザを認証するステップ(S1102)において、応答要求識別情報に基づいて、端末(10)を所持するユーザを認証する付記1または2に記載のプログラム(2021)。
(付記4)
メモリ(25)には、ユーザ識別情報と端末識別情報とが関連付けられたテーブル(3022)が格納され、端末識別情報を取得するステップ(S1080)において、テーブル(3022)を参照して、受け入れたユーザ識別情報に基づいて、このユーザ識別情報に関連付けられた端末(10)識別情報を取得する付記1~3のいずれかに記載のプログラム(2021)。
(付記5)
プログラム(2021)は、プロセッサ(29)にさらに、ユーザが認証されたら、端末(10)の管理機能と連携してこの端末(10)の管理を行うステップを実行させる、付記1~4のいずれかに記載のプログラム(2021)。
(付記6)
プログラム(2021)は、プロセッサ(29)にさらに、ユーザが認証されたら、この認証に基づいて、他のコンピュータ(30)におけるサービスをユーザに利用可能にさせる、付記1~5のいずれかに記載のプログラム(2021)。
(付記7)
プロセッサ(29)とメモリ(25)とを備えた情報処理装置(20)であって、プロセッサ(29)は、ユーザに固有のユーザ識別情報を受け入れるステップ(S1001)と、ユーザ識別情報と端末(10)に固有の端末識別情報とが予め関連付けられており、受け入れたユーザ識別情報に基づいて、このユーザ識別情報に関連付けられた端末識別情報を取得するステップ(S1080)と、端末識別情報により識別される端末(10)は端末自身の管理機能を有し、管理機能に対する応答要求を、ユーザが使用する端末(10)へ送信するステップ(S1100)と、応答要求に基づく端末(10)からの応答に応じて、端末(10)を所持するユーザを認証するステップ(S1102)と、認証するステップによる認証結果をユーザへ提示するステップ(S1103)とを実行する、情報処理装置(20)。
(付記8)
プロセッサ(29)とメモリ(25)とを備えたコンピュータ(20)により実行される方法であって、プロセッサ(29)は、ユーザに固有のユーザ識別情報を受け入れるステップ(S1001)と、ユーザ識別情報と端末(10)に固有の端末識別情報とが予め関連付けられており、受け入れたユーザ識別情報に基づいて、このユーザ識別情報に関連付けられた端末識別情報を取得するステップ(S1080)と、端末識別情報により識別される端末(10)は端末自身の管理機能を有し、管理機能に対する応答要求を、ユーザが使用する端末(10)へ送信するステップ(S1100)と、応答要求に基づく端末(10)からの応答に応じて、端末(10)を所持するユーザを認証するステップ(S1102)と、認証するステップによる認証結果をユーザへ提示するステップ(S1103)とを実行する、方法。
(付記9)
ユーザに固有のユーザ識別情報を受け入れる手段(2033)と、ユーザ識別情報と端末(10)に固有の端末識別情報とが予め関連付けられており、受け入れたユーザ識別情報に基づいて、このユーザ識別情報に関連付けられた端末識別情報を取得する手段(2034)と、端末識別情報により識別される端末(10)は端末自身の管理機能を有し、管理機能に対する応答要求を、ユーザが使用する端末(10)へ送信する手段(2036)と、応答要求に基づく端末(10)からの応答に応じて、端末(10)を所持するユーザを認証する手段(2036)と、認証する手段による認証結果をユーザへ提示する手段(2036)とを具備する、システム(1)。
【符号の説明】
【0132】
1、システム 2、10、端末装置 3、20、認証サーバ 4、30、管理サーバ 5、ブラウザ 6、端末管理モジュール 80、ネットワーク 180、記憶部 190、制御部 194、ブラウザ制御部 195、端末管理制御部 202、302、記憶部 203、303、制御部 ユーザ情報DB 2023、トークンDB 2024、SSO管理情報DB 2031 2033、ログイン管理モジュール 2034、端末識別情報取得モジュール 2035、トークン発行モジュール 2036、ユーザ認証モジュール 2037、SSO管理モジュール ユーザ端末情報DB 3031、受信制御モジュール 3032、送信制御モジュール 3033、ユーザ端末情報検索モジュール 3034、トークン送受信モジュール 3035、端末管理モジュール