(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0015】
以下、図面を参照しながら、本発明の実施形態を説明する。
【0016】
[全体構成]
最初に、本発明の一実施形態に係る情報処理システム100の全体構成について説明する。
図1は、本発明の一実施形態に係る情報処理システム100の全体構成図である。
【0017】
情報処理システム100は、ネットワーク接続された中間サーバー10と最終サーバー20を含んで構成される。
【0018】
ユーザーAおよびユーザーBは、最終サーバー20にアクセスするためには、まず自身の端末装置40から中間サーバー10のAPI(Application Programing Interface)にアクセスし、ログインした後、中間サーバー10経由で、最終サーバー20のAPIにアクセスしなければならない。
【0019】
以上、本発明の一実施形態に係る情報処理システム100の全体構成について説明した。
【0020】
[典型的な技術による処理例]
次に、本発明と比較するために、典型的な技術による中間サーバーおよび最終サーバーへのアクセス方法について説明する。
図2は、典型的な技術による中間サーバーおよび最終サーバーへのアクセス方法について説明するための図である。
【0021】
まず、ユーザーAが、中間サーバーのAPIにアクセスし、ユーザーA用のログイン情報の発行を申請する(ステップS90)。
【0022】
次に、中間サーバーが、ユーザーA用のログイン情報を発行する(ステップS91)。この際、ユーザーA用のログイン情報発行にあたり、最終サーバーに関連したチェックは行われない。
【0023】
次に、ユーザーAが、中間サーバーにログインするためのユーザーA用のログイン情報と、最終サーバーにログインするためのユーザーA用のログイン情報を用いて、中間サーバーのAPIにアクセスする(ステップS92)。
【0024】
中間サーバーにログインするためのユーザーA用のログイン情報は適切なので、中間サーバーへのログインに成功し、中間サーバーから最終サーバーのAPIへ、最終サーバーにログインするためのユーザーA用のログイン情報を用いてのログインが行われる(ステップS93)。
【0025】
最終サーバーにログインするためのユーザーA用のログイン情報は適切なので、最終サーバーへのログインは成功する(ステップS94)。
【0026】
中間サーバーは、最終サーバーへのログインが成功した旨をユーザーAに伝える(ステップS95)。
【0027】
次に、ユーザーBが、中間サーバーにログインするためのユーザーA用のログイン情報と、最終サーバーにログインするためのユーザーB用のログイン情報を用いて、中間サーバーのAPIにアクセスする(ステップS96)。
【0028】
中間サーバーにログインするためのユーザーA用のログイン情報は不適切だが、チェック出来ないので、中間サーバーへのログインに成功し、中間サーバーから最終サーバーのAPIへ、最終サーバーにログインするためのユーザーB用のログイン情報を用いてのログインが行われる(ステップS97)。
【0029】
最終サーバーにログインするためのユーザーB用のログイン情報は適切なので、最終サーバーへのログインは成功する(ステップS98)。
【0030】
中間サーバーは、最終サーバーへのログインが成功した旨をユーザーBに伝える(ステップS99)。
【0031】
以上のように、ユーザーBは、中間サーバーにおいて、適切に発行されたユーザーB用のログイン情報を持っていないが、ユーザーA用の中間サーバーのログイン情報を流用することで、最終サーバーへのアクセスが出来てしまうという問題があった。
【0032】
以上、典型的な技術による中間サーバーおよび最終サーバーへのアクセス方法について説明した。
【0033】
[本発明による処理例]
次に、典型的な技術と比較するために、本発明による中間サーバー10および最終サーバー20へのアクセス方法について説明する。
図3は、本発明による中間サーバー10および最終サーバー20へのアクセス方法について説明するための図である。
【0034】
まず、ユーザーAが、中間サーバー10のAPIにアクセスし、ユーザーA用のログイン情報の発行を申請する(ステップS1)。なお、このとき、最終サーバー20にログインするためのユーザーA用のログイン情報を用いなければならない。
【0035】
次に、中間サーバー10が、ユーザーAから提供された最終サーバー20にログインするためのユーザーA用のログイン情報を用いて最終サーバー20へのログインAPIにアクセスし、実際にログイン出来るか否かを確認する(ステップS2)。
【0036】
最終サーバー20にログインするためのユーザーA用のログイン情報が適切な場合、最終サーバー20が、ログインに成功した旨を中間サーバー10に返信する(ステップS3)。
【0037】
中間サーバー10は、最終サーバー20からログイン成功の返信を受け取ると、中間サーバー10用のログイン情報をユーザーAのために発行し、ユーザーA用の中間サーバー10におけるログイン情報とユーザーA用の最終サーバー20におけるログイン情報を1対1に紐付けて記憶する(ステップS4)。
【0038】
次に、ユーザーAが、中間サーバーにログインするためのユーザーA用のログイン情報と、最終サーバーにログインするためのユーザーA用のログイン情報を用いて、中間サーバーのAPIにアクセスする(ステップS5)。
【0039】
次に、中間サーバー10は、ユーザーAから提供された、中間サーバー10にログインするためのユーザーA用のログイン情報と、最終サーバー20にログインするためのユーザーA用のログイン情報が、記憶された組み合わせであるか否かをチェックする。記憶された組み合わせであるので、中間サーバー10へのログインに成功し、中間サーバー10から最終サーバー20のAPIへ、最終サーバー20にログインするためのユーザーA用のログイン情報を用いてのログインが行われる(ステップS6)。
【0040】
最終サーバー20にログインするためのユーザーA用のログイン情報は適切なので、最終サーバー20へのログインは成功する(ステップS7)。
【0041】
中間サーバー10は、最終サーバー20へのログインが成功した旨をユーザーAに伝える(ステップS8)。
【0042】
次に、ユーザーBが、中間サーバー10にログインするためのユーザーA用のログイン情報と、最終サーバー20にログインするためのユーザーB用のログイン情報を用いて、中間サーバー10のAPIにアクセスする(ステップS9)。
【0043】
次に、中間サーバー10は、ユーザーBから提供された、中間サーバー10にログインするためのユーザーA用のログイン情報と、最終サーバー20にログインするためのユーザーB用のログイン情報が、記憶された組み合わせであるか否かをチェックする。記憶された組み合わせではないので、アクセスは拒否される(ステップS10)。
【0044】
以上、本発明による中間サーバー10および最終サーバー20へのアクセス方法について説明した。このように、たとえ中間サーバー10のログイン情報が流出した場合でも、セキュリティリスクを低減させることが出来る。また、中間サーバー10のログイン情報と最終サーバー20のログイン情報が対応付けられているので、アクセス管理を容易にすることが出来る。
【0045】
[中間サーバーの構成]
次に、中間サーバー10の構成について説明する。中間サーバー10は、専用のハードウェアやソフトウェアにより構成されていてもよいし、一般的なコンピューターにより構成されてもよい。中間サーバー10が一般的なコンピューターにより構成される場合の構成図を
図4に示す。
【0046】
同図に示すように、中間サーバー10は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、操作入力部14、通信部15、表示部16、および記憶部17を有し、これら各ブロックがバス18を介して接続されている。
【0047】
ROM12は、各種の処理を実行するためのファームウェア等の複数のプログラムやデータを記憶する。RAM13は、CPU11の作業用領域として用いられ、OS(Operating System)、実行中の各種アプリケーション、処理中の各種データを一時的に保持する。
【0048】
記憶部17は、例えばHDD(Hard Disk Drive)や、フラッシュメモリー、その他の不揮発性メモリーである。記憶部17には、OSや各種アプリケーション、各種データ、ID対応テーブル17aが記憶される。
【0049】
ID対応テーブル17aには、
図5に示すように、中間サーバー10の特定のログインIDとパスワードから構成されるログイン情報(第1のログイン情報)と最終サーバー20の特定のログイン情報(第2のログイン情報)とが1対1対応で組み合わされて記録されている。
【0050】
通信部15は、ネットワーク上の端末装置40、最終サーバー20等と情報のやりとりを行う為のネットワークと結ばれている。
【0051】
CPU11は、ROM12や記憶部17に格納された複数のプログラムのうち、操作入力部14から与えられる命令に対応するプログラムをRAM13に展開し、この展開されたプログラムにしたがって、表示部16及び記憶部17を適宜制御する。
【0052】
操作入力部14は、例えばマウス等のポインティングデバイス、キーボード、タッチパネル、その他の操作装置である。
【0053】
表示部16は、例えば液晶ディスプレイ、EL(Electro-Luminescence)ディスプレイ、プラズマディスプレイ等である。
【0054】
次に、CPU11においてプログラムが実行されることにより実現される機能ブロックについて説明する。
【0055】
中間サーバー10のCPU11において実現される機能ブロックは、ID発行受付部11a、最終サーバーアクセス部11b、ID発行部11c、および最終サーバーアクセス受付部11dである。
【0056】
ID発行受付部11aは、ユーザーの端末装置40からAPI経由で、前記最終サーバー20のログイン情報を用いた、中間サーバー10にログインするためのログイン情報の発行申請を受け付ける。
【0057】
最終サーバーアクセス部11bは、ユーザーから提供された最終サーバー20のログイン情報を用いて最終サーバー20にアクセスする。
【0058】
ID発行部11cは、ID発行受付部11aがログイン情報の発行申請を受け付けたとき、最終サーバーアクセス部11bに最終サーバー20へログインさせ、ログインが成功したとき、中間サーバー10のログイン情報を発行し、発行した中間サーバー10のログイン情報と、ユーザーから提供された最終サーバー20のログイン情報とを1対1対応させてID対応テーブル17aに登録する。
【0059】
最終サーバーアクセス受付部11dは、ユーザーの端末装置40からAPI経由で、中間サーバー10のログイン情報と最終サーバー20のログイン情報とを用いた最終サーバー20へのアクセス要求を受け付け、アクセス要求に用いられたログイン情報の組み合わせがID対応テーブル17aに登録されている場合のみ、最終サーバーアクセス部11bに最終サーバー20へアクセスさせる。
【0060】
以上、中間サーバー10の構成について説明した。
【0061】
[最終サーバーの構成]
次に、最終サーバー20の構成について説明する。最終サーバー20は、専用のハードウェアやソフトウェアにより構成されていてもよいし、一般的なコンピューターにより構成されてもよい。最終サーバー20が一般的なコンピューターにより構成される場合の構成図を
図6に示す。
【0062】
同図に示すように、最終サーバー20は、CPU21、ROM22、RAM23、操作入力部24、通信部25、表示部26、および記憶部27を有し、これら各ブロックがバス28を介して接続されている。
【0063】
ROM22は、各種の処理を実行するためのファームウェア等の複数のプログラムやデータを記憶する。RAM23は、CPU21の作業用領域として用いられ、OS、実行中の各種アプリケーション、処理中の各種データを一時的に保持する。
【0064】
記憶部27は、例えばHDDや、フラッシュメモリー、その他の不揮発性メモリーである。記憶部27には、OSや各種アプリケーション、各種データ、ログイン情報テーブル27aが記憶される。ログイン情報テーブル27aには、ログインIDおよびパスワードからなるログイン情報が格納されている。
【0065】
通信部25は、ネットワーク上の中間サーバー10等と情報のやりとりを行う為のネットワークと結ばれている。
【0066】
CPU21は、ROM22や記憶部27に格納された複数のプログラムのうち、操作入力部24から与えられる命令に対応するプログラムをRAM23に展開し、この展開されたプログラムにしたがって、表示部26及び記憶部27を適宜制御する。
【0067】
操作入力部24は、例えばマウス等のポインティングデバイス、キーボード、タッチパネル、その他の操作装置である。
【0068】
表示部26は、例えば液晶ディスプレイ、ELディスプレイ、プラズマディスプレイ等である。
【0069】
次に、CPU21においてプログラムが実行されることにより実現される機能ブロックについて説明する。
【0070】
最終サーバー20のCPU21において実現される機能ブロックは、アクセス受付部21aおよび応答返信部21bである。
【0071】
アクセス受付部21aは、API経由で中間サーバー10からの、ログイン情報を用いたアクセスを受け付け、ログイン情報テーブル27aに登録してあるログイン情報と照らし合わせて認証を行う。
【0072】
応答返信部21bは、中間サーバー10からのアクセスに対し、ログイン成功またはログイン失敗のメッセージを返信する。
【0073】
以上、最終サーバー20の構成について説明した。
【0074】
[ID発行時の処理の流れ]
次に、情報処理システム100において、中間サーバー10へログインするためのログイン情報(ログインIDなど)を発行する際の処理の流れについて説明する。
図7は、情報処理システム100において、中間サーバー10へログインするためのログイン情報を発行する際の処理の流れについて説明するためのフローチャートである。
【0075】
まず、ユーザーが端末装置40から、最終サーバー20のログイン情報と共に、API経由で、中間サーバー10のID発行受付部11aにアクセスする(ステップS20)。
【0076】
次に、最終サーバーアクセス部11bが、ID発行受付部11aから渡された最終サーバー20のログイン情報を用いて最終サーバー20へのログインを試みる(ステップS21)。
【0077】
次に、最終サーバーアクセス部11bは、最終サーバー20へのログインに成功したか否かを判断する(ステップS22)。
【0078】
ログインに成功した場合(ステップS22のY)、ID発行部11cが、中間サーバー10にログインするためのログイン情報を発行する(ステップS23)。
【0079】
次に、ID発行部11cが、ユーザーから提供された最終サーバー20のログイン情報と新たに発行した中間サーバー10のログイン情報を1対1対応させて、ID対応テーブル17aに登録し、処理を終了する(ステップS24)。
【0080】
ログインに失敗した場合(ステップS22のN)、エラー処理が行われ、処理が終了する(ステップS25)。
【0081】
以上、情報処理システム100において、中間サーバー10へログインするためのログイン情報を発行する際の処理の流れについて説明した。
【0082】
[最終サーバーへのアクセス時の処理の流れ]
次に、ユーザーが端末装置40から中間サーバー10を経由して最終サーバー20へアクセスする時の処理の流れについて説明する。
図8は、ユーザーが端末装置40から中間サーバー10を経由して最終サーバー20へアクセスする時の処理の流れについて説明するためのフローチャートである。
【0083】
まず、中間サーバー10の最終サーバーアクセス受付部11dが、ユーザーの端末装置40から、API経由で、中間サーバー10のログイン情報と最終サーバー20のログイン情報を用いた、最終サーバー20へのアクセスを受け付ける(ステップS30)。
【0084】
次に、最終サーバーアクセス受付部11dは、提供された、中間サーバー10のログイン情報と最終サーバー20のログイン情報をID対応テーブル17aと照合し、ID対応テーブル17aに登録されたログイン情報の組み合わせであるか否かをチェックする(ステップS31)。
【0085】
次に、最終サーバーアクセス受付部11dは、チェックOKであるか否かを判断する(ステップS32)。
【0086】
チェックOKである場合(ステップS32のY)、最終サーバーアクセス部11bが、提供された最終サーバー20のログイン情報を用いて最終サーバー20のAPIにアクセスする(ステップS33)。
【0087】
チェックOKではない場合(ステップS32のN)、エラー処理が行われる(ステップS34)
【0088】
以上、ユーザーが端末装置40から中間サーバー10を経由して最終サーバー20へアクセスする時の処理の流れについて説明した。
【0089】
[補足事項]
以上のように、本発明に係る情報処理システム100は、ネットワーク接続された、端末装置40と中間サーバー10と最終サーバー20とを含み、前記中間サーバー10は、前記端末装置40および前記最終サーバー20と通信可能な通信部15と、前記中間サーバー10へログインするための第1のログイン情報と前記最終サーバー20へログインするための第2のログイン情報との組み合わせを登録可能なID対応テーブル17aが記憶された記憶部17と、前記第2のログイン情報を用いた、前記端末装置40から当該中間サーバー10にログインするための前記第1のログイン情報の発行申請を受け付けるID発行受付部11aと、前記発行申請に基づいて、前記第1のログイン情報を発行し、発行した前記第1のログイン情報と、前記端末装置40から提供された前記第2のログイン情報とを1対1対応させて前記ID対応テーブル17aに登録するID発行部11cと、前記端末装置40から提供された前記第2のログイン情報を用いて前記最終サーバー20にアクセスする最終サーバーアクセス部11bと、前記端末装置40から、前記第1のログイン情報および前記第2のログイン情報を用いた前記最終サーバー20へのアクセス要求を受け付け、前記アクセス要求に含まれる前記第1のログイン情報および前記第2のログイン情報の組み合わせが前記ID対応テーブル17aに登録されているとき、前記最終サーバーアクセス部11bに前記最終サーバー20にアクセスさせる最終サーバーアクセス受付部11dとを備える。
【0090】
そのため、複数階層のサーバーからなるシステムにおいてセキュリティを高めることが出来る。
【0091】
その他、本発明は、上述の実施形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。