JP5800089B2 - 中継装置、情報処理装置、アクセス制御方法およびプログラム - Google Patents
中継装置、情報処理装置、アクセス制御方法およびプログラム Download PDFInfo
- Publication number
- JP5800089B2 JP5800089B2 JP2014522333A JP2014522333A JP5800089B2 JP 5800089 B2 JP5800089 B2 JP 5800089B2 JP 2014522333 A JP2014522333 A JP 2014522333A JP 2014522333 A JP2014522333 A JP 2014522333A JP 5800089 B2 JP5800089 B2 JP 5800089B2
- Authority
- JP
- Japan
- Prior art keywords
- identification information
- relay
- relay device
- user
- information
- 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
Links
- 238000000034 method Methods 0.000 title claims description 90
- 230000010365 information processing Effects 0.000 title claims description 78
- 230000005540 biological transmission Effects 0.000 claims description 82
- 238000012545 processing Methods 0.000 claims description 35
- 238000012546 transfer Methods 0.000 claims description 15
- 230000008569 process Effects 0.000 description 62
- 238000004891 communication Methods 0.000 description 58
- 230000004044 response Effects 0.000 description 44
- 238000012790 confirmation Methods 0.000 description 43
- 238000010586 diagram Methods 0.000 description 17
- 239000000284 extract Substances 0.000 description 15
- 238000012217 deletion Methods 0.000 description 13
- 230000037430 deletion Effects 0.000 description 13
- 230000008859 change Effects 0.000 description 10
- 101100064323 Arabidopsis thaliana DTX47 gene Proteins 0.000 description 9
- 101150026676 SID1 gene Proteins 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 101100366082 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) SNF7 gene Proteins 0.000 description 6
- 238000012795 verification Methods 0.000 description 5
- 101150047375 DID2 gene Proteins 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 239000003795 chemical substances by application Substances 0.000 description 3
- 101100317166 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) VPS24 gene Proteins 0.000 description 2
- YKGYQYOQRGPFTO-UHFFFAOYSA-N bis(8-methylnonyl) hexanedioate Chemical compound CC(C)CCCCCCCOC(=O)CCCCC(=O)OCCCCCCCC(C)C YKGYQYOQRGPFTO-UHFFFAOYSA-N 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4604—LAN interconnection over a backbone network, e.g. Internet, Frame Relay
- H04L12/462—LAN interconnection over a bridge based backbone
- H04L12/4625—Single bridge functionality, e.g. connection of two networks over a single bridge
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
本発明は中継装置、情報処理装置、アクセス制御方法およびプログラムに関する。
コンピュータなどの複数の情報処理装置を、ネットワークを介して接続した情報処理システムが利用されている。例えば、情報処理システムはサービスを提供するサーバ装置と通信データを中継する中継装置とを含む。ユーザはクライアント装置を用いてサーバ装置にアクセスし、サービスを利用し得る。
しかし、不特定多数のユーザが同じサーバ装置にアクセス可能であると、サーバ装置のセキュリティが問題となる。例えば、当該サーバ装置で扱う機密情報が不正に読み出されたり、サーバ装置を不正に利用されたりするおそれがある。そこで、ネットワーク内のサーバ装置へのアクセスをユーザごとに制限することがある。
例えば、ユーザの操作端末からホームネットワーク内の機器を操作する際に、ユーザ名やパスワードを操作端末からホームゲートウェイに送信して認証を行う提案がある。この提案では、ユーザが認証されると、操作端末が当該ユーザの機器単位のアクセス許可情報をもつテーブルをホームゲートウェイから取得する。操作端末が当該テーブルに基づき機器単位のアクセス管理を行う。
なお、例えばユーザ認証された場合にセッション識別子をユーザに割り当てることで、認証済のユーザを管理し、また、認証済のユーザごとに異なるサーバにアクセスするように受信データの宛先を変換するリバースプロキシ装置の提案がある。更に、例えばユーザがシステムにログインするごとにセッションID(IDentifier)をユーザ端末に通知し、セッションIDを含む情報提供要求をユーザ端末から受信すると、セッションIDに基づき情報提供要求の正当性を確認する提案もある。
中継装置を用いてユーザごとのアクセス制御を行うことがある。例えば、論理的に分割された複数の仮想的なネットワーク(VLAN(Virtual Local Area Network)と呼ばれることがある)を中継装置に割り当てることが考えられる。例えば、認証されたユーザに応じたVLANにクライアント装置を所属させる。こうして、クライアント装置のアクセス先を同じVLANに所属するサーバ装置に制限する。
しかし、この方法では、ユーザごとのアクセス制御のための情報を中継装置に予め保持させることになる。この場合、当該情報のメンテナンスが容易でないという問題がある。例えば、複数の中継装置を利用するとき、中継装置が増減するたびに個々の中継装置の設定を変更するとなると、設定変更のための作業コストが増大し得る。
一側面によれば、本発明は、ユーザごとのアクセス制御を容易に行うことができる中継装置、情報処理装置、アクセス制御方法およびプログラムを提供することを目的とする。
一実施態様によれば、中継装置が提供される。この中継装置は設定手段と制御手段とを有する。設定手段は、ユーザを示す第1の識別情報および送信元のノードを示す第2の識別情報を受信すると、複数のユーザの識別情報それぞれに対応付けてアクセスが許容された宛先のノードを示す識別情報を記憶する情報処理装置から、第1の識別情報に対応する宛先のノードを示す第3の識別情報を取得し、データの中継が許容された組み合わせとして第2の識別情報と第3の識別情報とを記憶手段に設定する。制御手段は、送信元のノードの識別情報と宛先のノードの識別情報とを含むデータの中継を行う際に、記憶手段に設定された情報に基づいて、当該データを中継するか否かを判定する。
また、一実施態様によれば、送信元のノードにより送信されたデータを中継する中継装置と通信可能な情報処理装置が提供される。この情報処理装置は記憶手段と提供手段とを有する。記憶手段は、複数のユーザの識別情報それぞれに対応付けてアクセスが許容された宛先のノードを示す識別情報を記憶する。提供手段は、ユーザを示す第1の識別情報および送信元のノードを示す第2の識別情報を中継装置から受信すると、記憶手段を参照して、第1の識別情報に対応する宛先のノードを示す第3の識別情報を検索し、第2の識別情報に対応してデータの中継が許容された宛先のノードの識別情報として第3の識別情報を中継装置に提供する。
また、一実施態様によれば、送信元のノードにより送信されたデータを中継する中継装置および中継装置と通信可能な情報処理装置を含むシステムで実行されるアクセス制御方法が提供される。このアクセス制御方法では、ユーザを示す第1の識別情報および送信元のノードを示す第2の識別情報を中継装置を用いて受信すると、第1の識別情報および第2の識別情報を情報処理装置に送信する。情報処理装置を用いて、複数のユーザの識別情報それぞれに対応付けてアクセスが許容された宛先のノードの識別情報を記憶する記憶手段を参照して、第1の識別情報に対応する宛先のノードを示す第3の識別情報を検索し、第2の識別情報に対応してデータの中継が許容された宛先のノードの識別情報として第3の識別情報を中継装置に提供する。送信元のノードの識別情報と宛先のノードの識別情報とを含むデータの中継を、中継装置を用いて行う際に、情報処理装置から提供された情報に基づいて、当該データを中継するか否かを判定する。
また、一実施態様によれば、送信元のノードにより送信されたデータを中継するためのコンピュータによって実行されるプログラムが提供される。このプログラムは、コンピュータに、ユーザを示す第1の識別情報および送信元のノードを示す第2の識別情報を受信すると、複数のユーザの識別情報それぞれに対応付けてアクセスが許容された宛先のノードを示す識別情報を記憶する情報処理装置から、第1の識別情報に対応する宛先のノードを示す第3の識別情報を取得し、データの中継が許容された組み合わせとして第2の識別情報と第3の識別情報とを記憶手段に設定し、送信元のノードの識別情報と宛先のノードの識別情報とを含むデータの中継を行う際に、記憶手段に設定された情報に基づいて、当該データを中継するか否かを判定する、処理を実行させる。
また、一実施態様によれば、送信元のノードにより送信されたデータを中継する中継装置と通信可能なコンピュータによって実行されるプログラムが提供される。このプログラムは、コンピュータに、ユーザを示す第1の識別情報および送信元のノードを示す第2の識別情報を中継装置から受信すると、複数のユーザの識別情報それぞれに対応付けてアクセスが許容された宛先のノードを示す識別情報を記憶する記憶手段を参照して、第1の識別情報に対応する宛先のノードを示す第3の識別情報を検索し、第2の識別情報に対応してデータの中継が許容された宛先のノードの識別情報として第3の識別情報を中継装置に提供する、処理を実行させる。
一実施態様によれば、ユーザごとのアクセス制御を容易に行うことができる。
本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
以下、本実施の形態を図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態の情報処理システムを示す図である。第1の実施の形態の情報処理システムは、中継装置1、情報処理装置2およびノード3,4,5,6を含む。中継装置1、情報処理装置2およびノード4,5,6は、ネットワークを介して接続されている。ノード3は中継装置1を介してノード4,5,6と通信する。例えば、ノード3はユーザが利用するクライアント装置である。ノード3,4,5,6は、物理的なコンピュータ(物理マシンと呼ぶことがある)でもよいし、物理マシン上で動作する仮想的なコンピュータ(仮想マシンと呼ぶことがある)でもよい。
[第1の実施の形態]
図1は、第1の実施の形態の情報処理システムを示す図である。第1の実施の形態の情報処理システムは、中継装置1、情報処理装置2およびノード3,4,5,6を含む。中継装置1、情報処理装置2およびノード4,5,6は、ネットワークを介して接続されている。ノード3は中継装置1を介してノード4,5,6と通信する。例えば、ノード3はユーザが利用するクライアント装置である。ノード3,4,5,6は、物理的なコンピュータ(物理マシンと呼ぶことがある)でもよいし、物理マシン上で動作する仮想的なコンピュータ(仮想マシンと呼ぶことがある)でもよい。
中継装置1は、送信元のノードにより送信されたデータを中継する。中継装置1は、記憶手段1a、設定手段1bおよび制御手段1cを有する。
記憶手段1aは、制御手段1cの処理に用いるデータを記憶する。
記憶手段1aは、制御手段1cの処理に用いるデータを記憶する。
設定手段1bは、ユーザを示す第1の識別情報および送信元のノードを示す第2の識別情報を受信する。第1の識別情報はユーザIDでもよい。第2の識別情報はネットワークにおいてデータの転送に用いられるアドレス情報でもよい。当該アドレス情報として、例えばOSI(Open Systems Interconnection)参照モデルの第3層の通信制御に用いられるIP(Internet Protocol)アドレスが考えられる。
設定手段1bは、第1の識別情報に基づいて、第1の識別情報に対応してアクセスが許容された宛先のノードを示す第3の識別情報を情報処理装置2から取得する。第3の識別情報は宛先のノードを示すアドレスでもよい。例えば、第3の識別情報はIPアドレスでもよい。例えば、設定手段1bは第1の識別情報と第2の識別情報とを情報処理装置2に送信し、その応答として第3の識別情報を情報処理装置2から取得する。設定手段1bは、データの中継が許容された組み合わせとして第2の識別情報と第3の識別情報とを記憶手段1aに設定する。
制御手段1cは、送信元のノードの識別情報と宛先のノードの識別情報とを含むデータを中継するとき、記憶手段1aに設定された情報に基づいて、当該データを中継するか否かを判定する。当該データに含まれる各ノードの識別情報の組み合わせが、中継が許容された組み合わせとして記憶手段1aに設定されている場合、制御手段1cは当該データを中継すると判定する。すると、制御手段1cは当該データの中継を行う。一方、中継が許容された組み合わせとして記憶手段1aに設定されていない場合、制御手段1cは当該データを中継しないと判定する。すると、制御手段1cは当該データを破棄する。
情報処理装置2は、記憶手段2aおよび提供手段2bを有する。
記憶手段2aは、複数のユーザの識別情報それぞれに対応付けてアクセスが許容された宛先のノードを示す識別情報を記憶する。1ユーザの識別情報につきアクセスが許容された複数の宛先のノードを示す識別情報が対応付けられていてもよい。1つの宛先のノードにつき複数の識別情報があってもよい。
記憶手段2aは、複数のユーザの識別情報それぞれに対応付けてアクセスが許容された宛先のノードを示す識別情報を記憶する。1ユーザの識別情報につきアクセスが許容された複数の宛先のノードを示す識別情報が対応付けられていてもよい。1つの宛先のノードにつき複数の識別情報があってもよい。
提供手段2bは、第1の識別情報および第2の識別情報を中継装置1から受信すると、記憶手段2aを参照して、第1の識別情報に対応する宛先のノードを示す第3の識別情報を検索する。提供手段2bは、第2の識別情報に対応してデータの中継が許容された宛先のノードの識別情報として第3の識別情報を中継装置1に提供する。
ここで、ノード3からノード4,5,6にアクセスする場合を考える。中継装置1の識別情報を“DIDa”、ノード3の識別情報を“SID1”、ノード4の識別情報を“DID1”、ノード5の識別情報を“DID2”、ノード6の識別情報を“DID3”とする。ノード3を利用するユーザの識別情報を“UID1”とする。また、以下に示すステップS1の前には記憶手段1aに設定されている情報はないものとする。
まず、中継装置1はデータ3aをノード3から受信する(ステップS1)。データ3aは送信元“SID1”、宛先“DIDa”、ユーザデータ“UID1”を含む。中継装置1はデータ3aから抽出した“UID1”(および“SID1”)を情報処理装置2に送信する(ステップS2)。
情報処理装置2は“UID1”をキーに記憶手段2aを検索し、“UID1”のユーザに対応してアクセスが許容された宛先“DID1”を抽出する。1ユーザにつき複数の宛先へのアクセスを許容してもよい。例えば、記憶手段2aには“UID2”のユーザにつき宛先“DID2,DID3”へのアクセスを許容することを示すレコードの登録もある。情報処理装置2は、送信元“SID1”に対応してデータの中継が許容された宛先として“DID1”を中継装置1に提供する。中継装置1は“SID1”と“DID1”とをデータの中継が許容された組み合わせとして記憶手段1aに設定する(ステップS3)。
その後、中継装置1はデータ3bをノード3から受信する。データ3bは、送信元“SID1”、宛先“DID1”、ユーザデータ“Data”を含む。この時点で、記憶手段1aには“SID1”と“DID1”との組み合わせが設定されている。よって、中継装置1はデータ3bを中継する(ステップS4)。更に、中継装置1はデータ3cをノード3から受信する。データ3cは、送信元“SID1”、宛先“DID2”、ユーザデータ“Data”を含む。記憶手段1aには、“SID1”と“DID2”との組み合わせは設定されていない。よって、中継装置1はデータ3cを中継しない(ステップS5)。
このように、中継装置1はユーザごとの各ノードに対するアクセス制御の設定内容を情報処理装置2から取得して保持し、当該設定内容に基づいてデータを中継するか否かを判定する。このため、ユーザごとのアクセス制御の内容を変更したい場合には、記憶手段2aに記憶された設定内容を変更すればよい。変更内容を中継装置1により取得させ、当該変更内容を反映させることができるからである。したがって、情報処理システムの管理者が中継装置1を個別に設定する手間を省ける。また、中継装置1の他にも複数の中継装置が運用されていることもある。その場合に、設定対象の中継装置1を探し出す手間を省ける。このように、ユーザごとのアクセス制御を容易に行うことができる。また、管理者の作業を省力化でき、アクセス制御の設定を効率的に行うことができる。
特に、大規模なネットワークでは、多数の中継装置、ノードが運用され得る。処理能力をスケールアウトにより拡張することもあり、ノードが増大し得る。また、アクセス先ノードに仮想マシンが用いられる場合や、仮想マシンの通信を中継する仮想スイッチが用いられる場合には、仮想マシンと仮想スイッチとの接続関係が頻繁に更新され得る。仮想マシンは稼働状況(ユーザの利用有無や負荷など)に応じて、物理マシン上に追加または削除されたり、他の物理マシンへ移動されたりするからである。このように大規模なネットワークでは、接続変更時の各中継装置(または仮想スイッチ)の設定変更の作業負担が特に大きい。よって、大規模なネットワークに対して中継装置1および情報処理装置2を適用する場合、特に有用である。
例えば、アクセス制御したいネットワークの入口に中継装置1を配置すれば、ユーザごとにアクセス可能なノードを容易に制限できる。また、個々の中継装置1が、ユーザごとのアクセス制御の設定内容を情報処理装置2から取得する。よって、アクセス制御したいネットワークごとに中継装置1を複数設けたとしても個々の中継装置1に対するユーザごとのアクセス制御の設定を容易に行える。
なお、中継装置1および情報処理装置2は、CPU(Central Processing Unit)などのプロセッサとRAM(Random Access Memory)などのメモリとを備えてもよい。その場合、中継装置1および情報処理装置2の情報処理は、メモリに記憶されたプログラムをプロセッサが実行することで実現できる。
[第2の実施の形態]
図2は、第2の実施の形態の情報処理システムを示す図である。第2の実施の形態の情報処理システムは、中継装置100,100a,100b、管理サーバ200、業務サーバ300,300a,400,400aを含む。中継装置100は、ファイアウォール11に接続されている。ファイアウォール11はネットワーク10に接続されている。例えば、ネットワーク10はLAN(Local Area Network)でもよいし、インターネットやWAN(Wide Area Network)などの広域ネットワークでもよい。
図2は、第2の実施の形態の情報処理システムを示す図である。第2の実施の形態の情報処理システムは、中継装置100,100a,100b、管理サーバ200、業務サーバ300,300a,400,400aを含む。中継装置100は、ファイアウォール11に接続されている。ファイアウォール11はネットワーク10に接続されている。例えば、ネットワーク10はLAN(Local Area Network)でもよいし、インターネットやWAN(Wide Area Network)などの広域ネットワークでもよい。
ファイアウォール11は、ネットワーク10側(外部側)と中継装置100側(内部側)との間の通信(例えば、IPパケット)を監視し、所定のルールに合致した通信のみを許可し、所定のルールに合致しない通信を拒否する。
中継装置100,100a,100b、管理サーバ200および業務サーバ300,300aは、ネットワーク20に接続されている。中継装置100bおよび業務サーバ400,400aは、ネットワーク30に接続されている。例えば、ネットワーク20,30はLANである。ネットワーク20,30は、同一拠点のネットワークでもよいし、異なる拠点(例えば、本社と支社)のネットワークでもよい。
中継装置100,100a,100bは、通信データを中継するスイッチである。中継装置100,100a,100bは、異なるネットワークセグメント間のルーティングを行うL3(Layer 3)スイッチまたはルータでもよい。中継装置100,100a,100bは、管理サーバ200と通信して、ユーザごとのアクセス制御の情報を取得し、当該情報に基づいてアクセス制御を行う。中継装置100,100a,100bは、コンピュータによって実現されてもよい。
管理サーバ200は、ユーザごとのアクセス制御の情報を一元管理するサーバコンピュータである。管理サーバ200は、中継装置100,100a,100bにアクセス制御の情報を提供する。なお、管理サーバ200をネットワーク20以外のネットワーク(例えば、ネットワーク30)に接続してもよい。
業務サーバ300,300a,400,400aは、業務アプリケーションを実行するサーバコンピュータである。業務サーバ300,300a,400,400aは業務アプリケーションによるサービスをクライアント500,500a,600,600aに提供する。例えば、業務サーバ300,300a,400,400aはWebサーバ機能を有する。クライアント500,500a,600,600aからは、Webブラウザと呼ばれるソフトウェアを用いて、業務サーバ300,300a,400,400aが提供するサービスを利用できる。
その場合、ファイアウォール11では、HTTP(HyperText Transfer Protocol)やHTTPS(HTTP over Secure Socket Layer)などに対応するアプリケーションポートの通信を許可しておく。そうすれば、クライアント500,500aと業務サーバ300,300a,400,400aの間で、HTTPのリクエストやレスポンスを送受信できる。FTP(File Transfer Protocol)なども同様である。
ユーザは、クライアント500,500a,600,600aを操作して第2の実施の形態の情報処理システムにアクセスできる。クライアント500,500a,600,600aは、クライアントコンピュータである。クライアント500,500a,600,600aは、携帯電話機やスマートデバイス(例えば、スマートフォンやタブレット端末)などの電子装置でもよい。
クライアント500,500aは、アクセスポイント12を介してネットワーク10に接続し、情報処理システムにアクセスする。アクセスポイント12は無線通信を中継する中継装置である。アクセスポイント12は移動通信網を介してネットワーク10に接続する無線基地局でもよい。クライアント600,600aは、中継装置100aに接続されている。クライアント600,600aは、他のネットワークを介して中継装置100aに接続されてもよい。
例えば、クライアント500からサービスを利用する場合を考える。例えば、ユーザはクライアント500で動作するWebブラウザ上で、利用したい業務アプリケーションのURL(Uniform Resource Locator)を指定する。クライアント500はURL中のFQDN(Fully Qualified Domain Name)を、ネットワーク10に接続されたDNS(Domain Name System)サーバに問い合わせることで、FQDNに対応するIPアドレスを解決する。Webブラウザは、解決したIPアドレスを宛先IPアドレスとしたリクエストを送信する。こうして、クライアント500から業務サーバが提供するサービスを利用できる。例えば、クライアント600,600aからサービスを利用する場合も同様である。FQDNでアクセス先を指定する場合、クライアント600,600aからアクセス可能なネットワークセグメントにDNSサーバを設けることが考えられる。
ここで、一例として、第2の実施の形態の情報処理システムで用いるIPアドレスを次の通りとする。ネットワーク20のネットワークアドレスは“192.168.10.0”である。ネットワーク30のネットワークアドレスは“192.168.20.0”である。中継装置100は“192.168.10.1”である。中継装置100aは“192.168.10.2”である。中継装置100bは“192.168.20.1”である。ただし、中継装置100bがネットワーク20,30の間のルーティングをする場合にはネットワーク20側のIPアドレスを有してもよい。管理サーバ200は“192.168.10.10”である。業務サーバ300は“192.168.10.101”である。業務サーバ300aは“192.168.10.102”である。業務サーバ400は“192.168.20.101”である。業務サーバ400aは“192.168.20.102”である。
または、例えばVPN(Virtual Private Network)の技術を用いて、クライアント500,500aに、所定のIPアドレス(例えば、ネットワーク20のIPアドレス)を割り当ててもよい。そして、各業務サーバのIPアドレスを宛先に指定したリクエストを発行させてもよい。その場合、例えば、クライアント500,500aにVPNクライアントのソフトウェアを実行させる。例えば、VPNクライアントと通信してIPアドレスを割り当てるVPNサーバをファイアウォール11と中継装置100との間などに設ける。VPNクライアントはリクエストを含むIPパケットを、所定のプロトコルを用いてカプセル化してVPNサーバへ送る。VPNサーバは、カプセル化を解除して得たリクエストを中継装置100に転送する。ファイアウォール11に代えて、UTM(Unified Threat Management)装置などを用いてVPNを実装してもよい。
図3は、第2の実施の形態の中継装置のハードウェア例を示す図である。中継装置100は、プロセッサ101、RAM102、ROM(Read Only Memory)103、スイッチ部104およびポート部105を有する。中継装置100a,100bも中継装置100と同様のユニットを用いて実現できる。
プロセッサ101は、ファームウェアプログラムを実行する。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)またはPLD(Programmable Logic Device)である。プロセッサ101は、CPU、MPU、DSP、ASIC、FPGA、PLDのうちの2以上の要素の組み合わせであってもよい。
RAM102は、ファームウェアプログラムやデータを一時的に記憶する。
ROM103は、ファームウェアプログラムやデータを予め記憶している。ROM103は、フラッシュメモリなど、書き換え可能な不揮発性メモリであってもよい。
ROM103は、ファームウェアプログラムやデータを予め記憶している。ROM103は、フラッシュメモリなど、書き換え可能な不揮発性メモリであってもよい。
スイッチ部104は、ポート部105の各ポートで受信されたフレームを取得し、プロセッサ101に出力する。スイッチ部104は、中継すると判定されたフレームをプロセッサ101から取得する。スイッチ部104は、当該フレームに含まれる宛先MAC(Media Access Control)アドレスに基づき、当該フレームを出力するポートを判定する。スイッチ部104は転送先のポートを判定するための転送テーブルを保持してもよい。ネットワーク層でルーティングを行う場合には、フレーム内のIPパケットに含まれる宛先IPアドレスから、ARP(Address Resolution Protocol)などを用いて、MACアドレスおよび転送先ポートを解決してもよい。スイッチ部104は当該フレームを判定したポートに対して出力する。
ポート部105は、ファイアウォール11やネットワーク20を介して、管理サーバ200などの他の装置と通信する複数のポートを有する。例えば、ポート部105の一部がファイアウォール11と所定のケーブルにより直接または間接に接続される。また、ポート部105の他の一部がネットワーク20と所定のケーブルにより直接または間接に接続される。
図4は、第2の実施の形態の管理サーバのハードウェア例を示す図である。管理サーバ200は、プロセッサ201、RAM202、HDD(Hard Disk Drive)203、通信部204、画像信号処理部205、入力信号処理部206、ディスクドライブ207および機器接続部208を有する。各ユニットが管理サーバ200のバスに接続されている。業務サーバ300,300a,400,400aおよびクライアント500,500a,600,600aも管理サーバ200と同様のユニットを用いて実現できる。
プロセッサ201は、管理サーバ200の情報処理を制御する。プロセッサ201は、マルチプロセッサであってもよい。プロセッサ201は、例えばCPU、MPU、DSP、ASIC、FPGAまたはPLDである。プロセッサ201は、CPU、MPU、DSP、ASIC、FPGA、PLDのうちの2以上の要素の組み合わせであってもよい。
RAM202は、管理サーバ200の主記憶装置である。RAM202は、プロセッサ201に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、RAM202は、プロセッサ201による処理に用いる各種データを記憶する。
HDD203は、管理サーバ200の補助記憶装置である。HDD203は、内蔵した磁気ディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD203には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。管理サーバ200は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の補助記憶装置を備えてもよく、複数の補助記憶装置を備えてもよい。
通信部204は、ネットワーク20を介して他のコンピュータや中継装置100,100a,100bなどと通信を行えるインタフェースである。通信部204は、有線インタフェースでもよいし、無線インタフェースでもよい。
画像信号処理部205は、プロセッサ201からの命令に従って、管理サーバ200に接続されたディスプレイ21に画像を出力する。ディスプレイ21としては、CRT(Cathode Ray Tube)ディスプレイや液晶ディスプレイなどを用いることができる。
入力信号処理部206は、管理サーバ200に接続された入力デバイス22から入力信号を取得し、プロセッサ201に出力する。入力デバイス22としては、例えば、マウスやタッチパネルなどのポインティングデバイス、キーボードなどを用いることができる。
ディスクドライブ207は、レーザ光などを利用して、光ディスク23に記録されたプログラムやデータを読み取る駆動装置である。光ディスク23として、例えば、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などを使用できる。ディスクドライブ207は、例えば、プロセッサ201からの命令に従って、光ディスク23から読み取ったプログラムやデータをRAM202またはHDD203に格納する。
機器接続部208は、管理サーバ200に周辺機器を接続するための通信インタフェースである。例えば、機器接続部208にはメモリ装置24やリーダライタ装置25を接続することができる。メモリ装置24は、機器接続部208との通信機能を搭載した記録媒体である。リーダライタ装置25は、メモリカード26へのデータの書き込み、またはメモリカード26からのデータの読み出しを行う装置である。メモリカード26は、カード型の記録媒体である。機器接続部208は、例えば、プロセッサ201からの命令に従って、メモリ装置24またはメモリカード26から読み取ったプログラムやデータをRAM202またはHDD203に格納する。
図5は、第2の実施の形態のソフトウェア例を示す図である。図5に示す各ユニットの一部または全部は、中継装置100,100a,100bおよび管理サーバ200のプロセッサが実行するプログラムのモジュールであってもよい。また、図5に示す各ユニットの一部または全部は、中継装置100,100a,100bおよび管理サーバ200が備えるASICやFPGAなどの電子回路であってもよい。なお、図5ではファイアウォール11やアクセスポイント12の図示を省略している。
中継装置100は、記憶部110およびアクセス制御部120を有する。
記憶部110は、アクセス制御部120の処理に用いられる情報を記憶する。当該情報には、セッション管理テーブルが含まれる。セッション管理テーブルは、中継することが許容されたIPアドレスの組み合わせを登録したアクセス制御のための情報である。以下では、当該組み合わせを示す情報をセッション情報と呼ぶことがある。例えば、記憶部110はRAM120を用いて実装できる。
記憶部110は、アクセス制御部120の処理に用いられる情報を記憶する。当該情報には、セッション管理テーブルが含まれる。セッション管理テーブルは、中継することが許容されたIPアドレスの組み合わせを登録したアクセス制御のための情報である。以下では、当該組み合わせを示す情報をセッション情報と呼ぶことがある。例えば、記憶部110はRAM120を用いて実装できる。
アクセス制御部120は、クライアント500,500aからログイン認証用の情報を受信する。以下の説明では、当該ログイン認証をネットワークログイン認証ということがある。ネットワークログイン認証とは、ネットワーク20,30に接続するためのログイン認証である。ここで、業務サーバそれぞれが提供するサービスに対して個々にログイン認証が発生することもある。ただし、以下の説明では単にログイン認証という場合、ネットワークログイン認証を指すものとする。アクセス制御部120は、クライアント500,500aからログイン認証用の情報を受信する。アクセス制御部120は、当該ログイン認証用の情報を管理サーバ200に送信して認証を依頼する。ログイン認証用の情報は、ユーザIDおよびパスワードを含む。また、ログイン認証用の情報は、クライアントのアドレス情報(IPアドレスやMACアドレス)などを含み得る。
アクセス制御部120は、ログイン認証用の情報を入力するためのGUI(Graphical User Interface)をクライアント500,500aに提供してもよい。例えば、中継装置100がWebサーバ機能を備えれば、当該GUIをWebページ(ログインページ)としてクライアント500,500aに提供できる。あるいは、ログインページを提供するWebサーバを別個に設けてもよい。そして、クライアント500,500aからログイン認証前に業務サーバを宛先に指定したアクセスを受け付けた場合に、ログインページのURLへアクセス先をリダイレクトさせてもよい。更に、アクセス制御部120は当該ログインページで入力されたユーザIDやパスワードを受信してもよい。
アクセス制御部120は、認証結果に応じたセッション情報を管理サーバ200から受信し、記憶部110に記憶されたセッション管理テーブルに登録する。そして、アクセス制御部120は、ログイン認証後、業務サーバ300,300a,400,400a宛のリクエストを中継するとき、記憶部110に記憶されたセッション管理テーブルに基づいて、当該リクエストを中継するか否かを判定する。当該リクエストを中継する場合、アクセス制御部120は、スイッチ部104に当該リクエストを出力する。スイッチ部104は、当該リクエストの宛先を参照し、所定のポートから当該リクエストを送出する。当該リクエストを中継しない場合、アクセス制御部120は当該リクエストを破棄する。
なお、記憶部110は第1の実施の形態の記憶手段1aの一例である。アクセス制御部120は第1の実施の形態の設定手段1bおよび制御手段1cの一例である。
中継装置100aは、記憶部110aおよびアクセス制御部120aを有する。中継装置100bは、記憶部110bおよびアクセス制御部120bを有する。ここで、記憶部110a,110bは記憶部110と同様に、セッション管理テーブルを記憶する。また、アクセス制御部120aはアクセス制御部120と同様に、記憶部110aに記憶されたセッション管理テーブルに基づいて業務サーバ300,300a,400,400aに対するアクセス制御を行う。また、アクセス制御部120bはアクセス制御部120と同様に、記憶部110bに記憶されたセッション管理テーブルに基づいて業務サーバ300,300a,400,400aに対するアクセス制御を行う。
中継装置100aは、記憶部110aおよびアクセス制御部120aを有する。中継装置100bは、記憶部110bおよびアクセス制御部120bを有する。ここで、記憶部110a,110bは記憶部110と同様に、セッション管理テーブルを記憶する。また、アクセス制御部120aはアクセス制御部120と同様に、記憶部110aに記憶されたセッション管理テーブルに基づいて業務サーバ300,300a,400,400aに対するアクセス制御を行う。また、アクセス制御部120bはアクセス制御部120と同様に、記憶部110bに記憶されたセッション管理テーブルに基づいて業務サーバ300,300a,400,400aに対するアクセス制御を行う。
管理サーバ200は、記憶部210および管理部220を有する。
記憶部210は、管理部220の処理に用いられる情報を記憶する。当該情報には、ユーザ管理テーブル、アクセス管理テーブルおよび接続管理テーブルが含まれる。ユーザ管理テーブルは、ユーザの基本情報を登録した情報である。ユーザの基本情報は、例えば、ユーザID、パスワードおよび複数クライアントを用いた同時接続(以下では多重接続ということがある)の可否などを示す情報を含む。アクセス管理テーブルは、ユーザごとにアクセスを許容する業務サーバのIPアドレスを登録した情報である。接続管理テーブルは、中継装置100,100a,100bにおける現在の接続状態を管理するための情報である。例えば、記憶部210はRAM202やHDD203を用いて実装できる。
記憶部210は、管理部220の処理に用いられる情報を記憶する。当該情報には、ユーザ管理テーブル、アクセス管理テーブルおよび接続管理テーブルが含まれる。ユーザ管理テーブルは、ユーザの基本情報を登録した情報である。ユーザの基本情報は、例えば、ユーザID、パスワードおよび複数クライアントを用いた同時接続(以下では多重接続ということがある)の可否などを示す情報を含む。アクセス管理テーブルは、ユーザごとにアクセスを許容する業務サーバのIPアドレスを登録した情報である。接続管理テーブルは、中継装置100,100a,100bにおける現在の接続状態を管理するための情報である。例えば、記憶部210はRAM202やHDD203を用いて実装できる。
管理部220は、中継装置100,100a,100bから認証依頼を受信すると、記憶部210に記憶された情報に基づいて、認証処理を実行する。管理部220は、認証結果に応じて、セッション情報を生成し、依頼元の中継装置に提供する。
なお、記憶部210は第1の実施の形態の記憶手段2aの一例である。管理部220は第1の実施の形態の提供手段2bの一例である。
図6は、第2の実施の形態のユーザ管理テーブルの例を示す図である。ユーザ管理テーブル211は記憶部210に格納される。ユーザ管理テーブル211は、ユーザID、パスワードおよび多重接続設定の項目を含む。
図6は、第2の実施の形態のユーザ管理テーブルの例を示す図である。ユーザ管理テーブル211は記憶部210に格納される。ユーザ管理テーブル211は、ユーザID、パスワードおよび多重接続設定の項目を含む。
ユーザIDの項目には、ユーザIDが登録される。パスワードの項目には、パスワードが登録される。多重接続設定の項目には、多重接続を許容するか否かを示す許可情報が登録される。例えば、多重接続が許容される場合には“可”という情報が、多重接続が許容されていない場合には“不可”という情報が、多重接続設定の項目に登録される。
例えば、ユーザ管理テーブル211には、ユーザIDが“UID0001”、パスワードが“pass1”、多重接続設定が“可”という情報が登録されている。これは、ユーザID“UID0001”に対してログイン用のパスワードとして“pass1”が設定されていること、当該ユーザについて多重接続が許容されていることを示す。
ここで、以下ではユーザID“UID0001”のユーザをユーザAと呼ぶ。ユーザID“UID0002”のユーザをユーザBと呼ぶ。ユーザID“UID0003”のユーザをユーザCと呼ぶ。
ユーザ管理テーブル211の設定内容は、ユーザごとの多重接続の許可情報を変更したい場合などに、例えば情報処理システムの管理者により、適宜変更可能である。
図7は、第2の実施の形態のアクセス管理テーブルの例を示す図である。アクセス管理テーブル212は記憶部210に格納される。アクセス管理テーブル212は、ROLE、ユーザID、端末IPアドレス、端末MACアドレスおよびACL(Access Control List)の項目を含む。
図7は、第2の実施の形態のアクセス管理テーブルの例を示す図である。アクセス管理テーブル212は記憶部210に格納される。アクセス管理テーブル212は、ROLE、ユーザID、端末IPアドレス、端末MACアドレスおよびACL(Access Control List)の項目を含む。
ROLEの項目には、レコード(1行分のデータ単位)を識別するためのROLE番号が登録される。例えば、“ROLE1”という場合、アクセス管理テーブル212のROLEの項目にROLE番号“1”が設定されたレコードを示す。ROLEという用語をアクセス管理テーブル212のある1つのレコードを指す用語として用いることがある。
ユーザIDの項目には、ユーザIDが登録される。端末IPアドレスの項目には、クライアントのIPアドレスが登録される。端末MACアドレスの項目には、クライアントのMACアドレスが登録される。ACLの項目には、アクセスが許容された業務サーバのIPアドレスのリストが登録される。ACLの項目には、1つのROLEにつき複数のIPアドレスを登録できる。ACLの項目を細分化した“1”、“2”、“3”、“4”の番号は便宜的に付したものである。更に多数のアクセス先サーバが存在する場合には、5個以上のIPアドレスが登録されてもよい。
アクセス管理テーブル212には、各レコードにおいて情報が登録されていない項目もある。その場合にはハイフン記号“−”を表記している。端末IPアドレスの項目で“−”が登録されている場合は、任意の端末IPアドレスを示す。端末MACアドレスの項目で“−”が登録されている場合は、任意のMACアドレスを示す。
例えば、アクセス管理テーブル212には、ROLEが“1”、ユーザIDが“UID0001”、端末IPアドレスが“192.168.10.11”、端末MACアドレスが“08−b4−25−9e−0c−46”、ACLが“192.168.10.101”、“192.168.10.102”、“192.168.20.101”、“192.168.20.102”という情報が登録されている。
これは、ユーザID“0001”のユーザAが、IPアドレス“192.168.10.11”、MACアドレス“08−b4−25−9e−0c−46”であるクライアントからアクセスする場合、当該ACLのIPアドレスへのアクセスが許容されることを示す。この場合、業務サーバ300,300a,400,400aへのアクセスが許容されていることになる。
これに対し、“ROLE2”では、同一のユーザID“UID0001”およびIPアドレス“192.168.10.11”に対して、ACLが“192.168.10.101”、“192.168.20.101”である。
これは、ユーザID“0001”のユーザAが、IPアドレス“192.168.10.11”であるクライアントからアクセスする場合、当該ACLのIPアドレスへのアクセスが許容されることを示す。“ROLE2”では、“ROLE1”に比べて、MACアドレスの一致は課していない。この場合、業務サーバ300,400へのアクセスが許容されていることなる。なお、IPアドレス“192.168.10.11”およびMACアドレス“08−b4−25−9e−0c−46”の両方が認証用の情報から検出される場合は、“ROLE2”よりも“ROLE1”が優先して適用される。
また、“ROLE3”では、同一のユーザID“UID0001”に対して、ACLが“192.168.10.101”という情報が登録されている。“ROLE3”では、“ROLE1”や“ROLE2”に比べて、IPアドレスおよびMACアドレスの一致は課していない。この場合、業務サーバ300へのアクセスが許容されていることになる。IPアドレス“192.168.10.11”およびMACアドレス“08−b4−25−9e−0c−46”の両方が認証用の情報から検出される場合は、“ROLE3”よりも“ROLE1”が優先して適用される。IPアドレス“192.168.10.11”のみが認証用の情報から検出される場合は、“ROLE3”よりも“ROLE2”が優先して適用される。それ以外の場合に“ROLE3”が適用される。
このように、アクセス管理テーブル212にはユーザごとのROLEが登録される。1ユーザに対して複数のROLEを登録してもよい。また、ACLにはネットワークアドレスなどを用いてアクセスを許容するIPアドレスの範囲を登録してもよい。
1つの業務サーバで(例えば、提供するサービスごとに)複数のIPアドレスを利用することもある。その場合には、当該1つの業務サーバの複数のIPアドレスのうち、アクセスを許容したいIPアドレスのみをACLに登録すればよい。
アクセス管理テーブル212の設定内容は、ユーザの追加/削除、業務サーバの追加/削除、業務サーバのネットワーク接続変更などが発生した際に、設定変更が可能である。例えば、情報処理システムの管理者は、これらの変更が発生した際に、アクセス管理テーブル212の設定内容を変更することができる。
図8は、第2の実施の形態の接続管理テーブルの例を示す図である。接続管理テーブル213は、記憶部210に格納される。接続管理テーブル213は、管理部220により更新される。接続管理テーブル213は、ユーザID、端末IPアドレス、中継装置IPアドレスおよび適用ROLEの項目を含む。
ユーザIDの項目には、ユーザIDが登録される。端末IPアドレスの項目には、クライアントのIPアドレスが登録される。中継装置IPアドレスの項目には、認証依頼を行った中継装置のIPアドレスが登録される。適用ROLEの項目には、認証された結果、適用されるROLEを示す情報が登録される。ここで、適用されるROLEとは、管理サーバ200により当該中継装置に提供されるROLEである。ROLEの提供を受けた後、当該中継装置は、当該ROLEに基づくアクセス制御を行えるようになる。接続管理テーブル213は、中継装置に提供されたROLEの履歴ということもできる。
例えば、接続管理テーブル213には、ユーザIDが“UID0001”、端末IPアドレスが“50.223.3.4”、中継装置IPアドレスが“192.168.10.1”、適用ROLEが“ROLE3”という情報が登録されている。
これは、ユーザID“UID0001”のユーザAがIPアドレス“50.223.3.4”のクライアントを用いて、中継装置100(IPアドレス“192.168.10.1”)を介した業務サーバへのアクセスが可能であることを示す。また、アクセス制御のために適用されるROLEが“ROLE3”であることを示す。ここで、IPアドレス“50.223.3.4”は、例えばクライアント500のIPアドレスである。
また、例えば接続管理テーブル213には、ユーザIDが“UID0001”、端末IPアドレスが“192.168.10.11”、中継装置IPアドレスが“192.168.10.2”、適用ROLEが“ROLE1”という情報が登録されている。
これは、ユーザID“UID0001”のユーザAが、IPアドレス“192.168.10.11”のクライアントを用いて、中継装置100a(IPアドレス“192.168.10.2”)を介した業務サーバへのアクセスが可能であることを示す。また、アクセス制御のために適用されるROLEが“ROLE1”であることを示す。ここで、IPアドレス“192.168.10.11”は、例えばクライアント600のIPアドレスである。
例えば、接続管理テーブル213には、ユーザID“UID0002”のユーザBおよびユーザID“UID0003”のユーザCに対しても同様のレコードが登録されている。レコードに登録された各情報の意味は上述した通りである。ここで、ユーザBはクライアント500aを利用しているとする。接続管理テーブル213において、IPアドレス“50.223.5.5”はクライアント500aのIPアドレスである。また、ユーザCはクライアント600aを利用しているとする。接続管理テーブル213において、IPアドレス“192.168.10.12”はクライアント600aのIPアドレスである。
1つのクライアントに対して、2つのレコードが接続管理テーブル213に登録されることもある。例えば、クライアント600,600aについて2つ目のレコードが次のように登録されている。
例えば、接続管理テーブル213には、ユーザIDが“UID0001”、端末IPアドレスが“192.168.10.11”、中継装置IPアドレスが“192.168.20.1”、適用ROLEが“ROLE1”という情報が登録されている。
これは、ユーザID“UID0001”のユーザAが、クライアント600(IPアドレス“192.168.10.11”)を用いて、中継装置100b(IPアドレス“192.168.20.1”)を介した業務サーバへのアクセスが可能であることを示す。また、アクセス制御のために適用されるROLEが“ROLE1”であることを示す。
また、例えば接続管理テーブル213には、ユーザIDが“UID0003”、端末IPアドレスが“192.168.10.12”、中継装置IPアドレスが“192.168.20.1”、適用ROLEが“ROLE6”という情報が登録されている。
これは、ユーザID“UID0003”のユーザCが、クライアント600a(IPアドレス“192.168.10.12”)を用いて、中継装置100b(IPアドレス“192.168.20.1”)を介した業務サーバへのアクセスが可能であることを示す。またアクセス制御のために適用されるROLEが“ROLE6”であることを示す。
なお、接続管理テーブル213では、中継装置IPアドレス以外を用いて、中継装置を登録してもよい。例えば、中継装置100,100a,100bそれぞれに所定の識別名称を予め付与しておく。そして、接続管理テーブル213には、中継装置IPアドレスの項目に代えて、当該識別名称を設定する項目を設けてもよい。
図9は、第2の実施の形態のセッション管理テーブルの例を示す図である。図9(A)はセッション管理テーブル111を例示している。セッション管理テーブル111は、記憶部110に格納される。セッション管理テーブル111は、アクセス制御部120により更新される。セッション管理テーブル111は、ROLE、端末IPアドレスおよびACLの項目を含む。
ROLEの項目には、セッション情報の元となったROLEのROLE番号が登録される。端末IPアドレスの項目には、クライアントのIPアドレスが登録される。ACLの項目には、中継を許容する業務サーバのIPアドレスが登録される。ACLの項目を細分化した“1”、“2”、“3”、“4”の番号は、アクセス管理テーブル212と同様に、便宜的に付したものである。セッション管理テーブル111には、各レコードにおいて情報が登録されていない箇所もある。その箇所にはハイフン記号“−”を表記している。
例えば、セッション管理テーブル111には、ROLEが“3”、端末IPアドレスが“50.223.3.4”、ACLが“192.168.10.101”という情報が登録されている。これは、送信元/宛先IPアドレスの組が“50.223.3.4”、“192.168.10.101”である通信データの中継を許容することを示す。すなわち、送信元IPアドレス“50.223.3.4”、宛先IPアドレス“192.168.10.101”の場合(上り)も、送信元IPアドレス“192.168.10.101”、宛先IPアドレス“50.223.3.4”の場合(下り)も中継を許容する。
また、例えばセッション管理テーブル111には、ROLEが“5”、端末IPアドレスが“50.223.5.5”、ACLが“192.168.10.101”、“192.168.10.102”という情報が登録されている。これは、送信元/宛先IPアドレスの組が“50.223.5.5”、“192.168.10.101”である通信データの中継を許容することを示す。また、送信元/宛先IPアドレスの組が“50.223.5.5”、“192.168.10.102”である通信データの中継を許容することを示す。
図9(B)はセッション管理テーブル111aを例示している。セッション管理テーブル111aは、記憶部110aに格納される。セッション管理テーブル111aは、アクセス制御部120aにより更新される。セッション管理テーブル111aに含まれる項目の設定内容はセッション管理テーブル111と同様であるため、説明を省略する。
図9(C)はセッション管理テーブル111bを例示している。セッション管理テーブル111bは、記憶部110bに格納される。セッション管理テーブル111bは、アクセス制御部120bにより更新される。セッション管理テーブル111bに含まれる項目の設定内容はセッション管理テーブル111と同様であるため、説明を省略する。
ここで、セッション管理テーブル111,111a,111bは、接続管理テーブル213で示される接続状態である場合の、中継装置100,100a,100bが保持するセッション情報群に相当する。1レコードが1つのセッション情報である。
なお、セッション管理テーブル111,111a,111bはユーザIDやパスワードの項目を含んでもよい。管理サーバ200はユーザIDやパスワードを含むセッション情報を中継装置100,100a,100bに提供してもよい。このようにすれば、例えば、中継装置100はセッション管理テーブル111に登録された端末IPアドレスからアクセスを受け付けたとき、当該端末IPアドレスに対するユーザIDをアクセスログに記録できる。
また、セッション管理テーブル111,111a,111bは、MACアドレスの項目を含んでもよい。管理サーバ200は端末MACアドレスを含むセッション情報を中継装置100,100a,100bに提供してもよい。例えば、中継装置100におけるクライアント500などの識別にMACアドレスを用いたい場合も考えられるからである。
図10は、第2の実施の形態の通信データの例を示す図である。図10では、第2の実施の形態の情報処理システムで送受信される通信データを例示している。フレーム40は、イーサネットフレーム(イーサネットおよびEthernetは登録商標)の例である。フレーム40は、プリアンブル、宛先MACアドレス、送信元MACアドレス、タイプ、ペイロード、FCS(Frame Check Sequence)のフィールドを含む。
プリアンブルは同期用の信号を含むフィールドである。宛先MACアドレスはOSI参照モデルの第2層(データリンク層)の経路選択に用いられる宛先のMACアドレスを設定するフィールドである。送信元MACアドレスは送信元のMACアドレスを設定するフィールドである。タイプは上位層プロトコル(例えば、IP)を示す情報を設定するフィールドである。ペイロードは上位層プロトコルで扱うデータの本体を設定するフィールドである。FCSはフレームエラーを検出するための情報を設定するフィールドである。
IPパケット50はフレーム40のペイロードに含まれる。IPパケット50はデータグラムと呼ばれることもある。IPパケット50は送信元IPアドレス、宛先IPアドレスおよびデータのフィールドを含む。
送信元IPアドレスは、OSI参照モデルの第3層(ネットワーク層)の経路選択に用いられる送信元のIPアドレスを設定するフィールドである。宛先IPアドレスは送信元のIPアドレスを設定するフィールドである。データは、通信データ本体を設定するフィールドである。
データ60は、IPパケット50のデータのフィールドに含まれる。例えば、何れかのクライアントが何れかの中継装置に対してログイン認証用の情報を送信する場合、データ60にはユーザIDおよびパスワードが含まれ得る。また、何れかの中継装置が管理サーバ200に認証依頼などを行う場合、データ60にはクライアントのIPアドレスやMACアドレスなどが含まれ得る。データ60に含まれるユーザID、パスワードおよびアドレス情報などは、OSI参照モデルの第7層(アプリケーション層)の情報でもよい。
次に、第2の実施の形態における各処理の手順を説明する。以下では、クライアント500が中継装置100などを介して業務サーバにアクセスする場合を主に例示するが、他のクライアントおよび他の中継装置を用いる場合も同様の手順である。まず、ネットワークログイン認証の手順を説明する。
図11は、第2の実施の形態の認証処理の例を示すフローチャートである。以下、図11に示す処理をステップ番号に沿って説明する。
(ステップS11)アクセス制御部120は、クライアント500からログイン認証用の情報を受信する。例えば、ユーザAは、クライアント500上のWebブラウザを用いてユーザIDやパスワードを入力するためのWebページ(ログインページ)へアクセスする。例えば、ユーザAは自身のユーザID“UID0001”およびパスワード“pass1”を当該ログインページに入力する。クライアント500は、入力された情報(ログイン認証用の情報)を含むフレームを中継装置100へ宛てて送信する。アクセス制御部120は当該フレームを受信する。フレーム内のIPパケットには、送信元IPアドレスおよび送信元MACアドレスが含まれる。この場合、送信元IPアドレスは“50.223.3.4”である。送信元MACアドレスは所定のMACアドレスである。アクセス制御部120は、これらのアドレス情報も抽出して、ログイン認証用の情報に加える。
(ステップS11)アクセス制御部120は、クライアント500からログイン認証用の情報を受信する。例えば、ユーザAは、クライアント500上のWebブラウザを用いてユーザIDやパスワードを入力するためのWebページ(ログインページ)へアクセスする。例えば、ユーザAは自身のユーザID“UID0001”およびパスワード“pass1”を当該ログインページに入力する。クライアント500は、入力された情報(ログイン認証用の情報)を含むフレームを中継装置100へ宛てて送信する。アクセス制御部120は当該フレームを受信する。フレーム内のIPパケットには、送信元IPアドレスおよび送信元MACアドレスが含まれる。この場合、送信元IPアドレスは“50.223.3.4”である。送信元MACアドレスは所定のMACアドレスである。アクセス制御部120は、これらのアドレス情報も抽出して、ログイン認証用の情報に加える。
(ステップS12)アクセス制御部120は、ログイン認証用の情報を含む認証依頼を管理サーバ200に送信する。ログイン認証用の情報は、IPパケットのデータ部分に格納されて管理サーバ200に送信される。管理部220は中継装置100から認証依頼を受信する。
(ステップS13)管理部220は、記憶部210に記憶されたユーザ管理テーブル211を参照して、ユーザIDとパスワードとを照合する。照合成功である場合、処理をステップS14に進める。照合成功でない(照合失敗)の場合、処理をステップS19に進める。具体的には、認証依頼に含まれるユーザIDとパスワードとの組がユーザ管理テーブル211に登録されていれば照合成功である。認証依頼に含まれるユーザIDとパスワードとの組がユーザ管理テーブル211に登録されていなければ照合失敗である。
(ステップS14)管理部220は、記憶部210に記憶されたアクセス管理テーブル212を参照して、ACLを検索する。検索のキーは、認証依頼に含まれるユーザID、送信元IPアドレスおよび送信元MACアドレスである。管理部220は、少なくともユーザIDが一致するレコードがあれば、該当のレコードを検索結果として抽出する。検索結果が複数件になる場合もある。その場合は、一致するキーが最大のものを1件抽出して検索結果とする。本例の場合は、ユーザID“UID0001”、クライアント500のIPアドレス“50.223.3.4”(および送信元MACアドレス)を取得している。この場合、“ROLE3”のレコードが検索結果として得られることになる。
(ステップS15)管理部220は、ステップS14においてACLを検索できたか否かを判定する。検索できた場合、処理をステップS16に進める。検索できなかった場合、処理をステップS19に進める。
(ステップS16)管理部220は、処理中のユーザにつき多重接続の制約があるか否かを判定する。多重接続の制約がある場合、処理をステップS19に進める。多重接続の制約がない場合、処理をステップS17に進める。多重接続の制約があるとは次の場合である。すなわち、(1)処理中のユーザにつきユーザ管理テーブル211の多重接続設定が“不可”であり、かつ、(2)当該ユーザにつき認証依頼で受け付けた送信元IPアドレスとは別の端末IPアドレスのレコードが接続管理テーブル213に登録済の場合である。(1)、(2)の何れか一方が満たされていない場合は、多重接続の制約はないと判定する。
(ステップS17)管理部220は、接続管理テーブル213を更新する。具体的には、管理部220は認証依頼で受け付けたユーザID、送信元IPアドレス(端末IPアドレス)およびステップS14で検索したレコードのROLE番号(適用ROLE)を接続管理テーブル213に登録する。また、認証依頼(のフレームに含まれるIPパケット)には、送信元IPアドレスとして中継装置100のIPアドレスが設定されている。よって、当該中継装置100のIPアドレス(中継装置IPアドレス)も接続管理テーブル213に登録する。
(ステップS18)管理部220は、アクセス管理テーブル212に基づいて、セッション情報を生成する。具体的には、ステップS14で検索したROLEのROLE番号、端末IPアドレスおよびACLの組み合わせをセッション情報とする。ステップS14で“ROLE3”を取得している場合、当該レコードには端末IPアドレスが未設定である。この場合、管理部220は認証依頼で受け付けた送信元IPアドレスを端末IPアドレスに設定してセッション情報とする。ユーザIDも提供する場合、管理部220はセッション情報にユーザIDを含めて提供してもよい(以下、同様)。管理部220は、当該セッション情報と認証成功とを中継装置100に応答する。そして、処理をステップS20に進める。
(ステップS19)管理部220は、認証失敗を中継装置100に応答する。
(ステップS20)アクセス制御部120は、認証依頼に対する応答を管理サーバ200から受信し、当該応答に基づいて認証成功であるか否かを判定する。認証成功である場合、処理をステップS21に進める。認証失敗である場合、処理をステップS23に進める。
(ステップS20)アクセス制御部120は、認証依頼に対する応答を管理サーバ200から受信し、当該応答に基づいて認証成功であるか否かを判定する。認証成功である場合、処理をステップS21に進める。認証失敗である場合、処理をステップS23に進める。
(ステップS21)アクセス制御部120は、認証成功とともに受信したセッション情報を記憶部110に記憶されたセッション管理テーブル111に登録する。上記の例では、セッション管理テーブル111に“ROLE3”のレコードが登録されることになる。
(ステップS22)アクセス制御部120は、クライアント500に認証成功を応答する。そして、処理を終了する。
(ステップS23)アクセス制御部120は、クライアント500に認証失敗を応答する。そして、処理を終了する。
(ステップS23)アクセス制御部120は、クライアント500に認証失敗を応答する。そして、処理を終了する。
このようにして、中継装置100および管理サーバ200は、ネットワークログイン認証を行う。ステップS18では、受け付けた送信元IPアドレスと一致する端末IPアドレスのレコードが存在しない場合でも、対応するユーザにつき所定のROLE(端末IPアドレスが設定されていないROLE)を抽出してセッション情報を生成する。このため、例えば、クライアント500のIPアドレスが動的に割り当てられている場合にも当該所定のROLEを適用することができる。具体的には、クライアント500が移動通信網を介して通信する場合やクライアント600に固定のIPアドレスを割り当てない場合など、DHCP(Dynamic Host Configuration Protocol)を用いてクライアントに動的にIPアドレスが割り当てられることもある。すなわち、クライアントに静的IPアドレスが割り当てられている場合に限らず、動的IPアドレスが割り当てられている場合にもクライアントからのアクセス制御が可能である。
なお、ステップS18では、アクセス管理テーブル212のROLEにおいて、端末IPアドレスが未設定のものを用いてセッション情報を生成する際に、中継装置100から取得したクライアント600のIPアドレスを管理部220が設定するものとした。一方、アクセス制御部120が当該設定の処理を行ってもよい。具体的には、管理部220は、“ROLE3”について端末IPアドレスを未設定の状態でセッション情報を生成し、中継装置100に送る。そして、ステップS21において、アクセス制御部120の責任によりステップS11で抽出した送信元IPアドレスを当該セッション情報に設定して、セッション管理テーブル111に登録する。
また、ユーザ管理テーブル211でパスワードを管理するものとしたが、アクセス管理テーブル212でパスワードを管理してもよい。そうすれば、同一ユーザであってもROLEごとに異なるパスワードを認証用に利用できる。すなわち、管理部220は、ステップS14においてACLを検索する際にパスワードもキーに用いる。この場合、ステップS13をスキップしてもよい。
次に、中継装置100による通信データの中継処理の手順を説明する。
図12は、第2の実施の形態の中継処理の例を示すフローチャートである。以下、図12に示す処理をステップ番号に沿って説明する。
図12は、第2の実施の形態の中継処理の例を示すフローチャートである。以下、図12に示す処理をステップ番号に沿って説明する。
(ステップS31)アクセス制御部120は、中継対象の通信データを受信する。例えば、この通信データはクライアント500が業務サーバ300へ宛てて送信したリクエストである。その場合、当該リクエストの宛先IPアドレスは“192.168.10.101”である。また、当該リクエストの送信元IPアドレスは“50.223.3.4”である。アクセス制御部120は、通信データのIPパケットから送信元IPアドレスを抽出する。
(ステップS32)アクセス制御部120は、記憶部110に記憶されたセッション管理テーブル111を参照して、当該送信元IPアドレスに対応するセッション情報があるか否かを判定する。送信元IPアドレスに対応するセッション情報がある場合、処理をステップS38に進める。送信元IPアドレスに対応するセッション情報がない場合、処理をステップS33に進める。
(ステップS33)アクセス制御部120は、当該送信元IPアドレスが接続管理テーブル213に登録済であるか否かを問い合わせるための確認要求を管理サーバ200に送信する。この確認要求を認証の確認要求と呼ぶことがある。このように呼ぶ理由は次の通りである。図11で説明した認証処理に成功していれば(認証済であれば)、管理サーバ200は接続管理テーブル213に当該送信元IPアドレスを登録しているはずである。このため、当該送信元IPアドレスが接続管理テーブル213に登録済であるか否かの確認は、結果的に認証処理の成否(認証済か否か)を確認することになるからである。当該確認要求に対する管理サーバ200の処理手順は後述する。
(ステップS34)アクセス制御部120は、認証の確認要求に対する応答を管理サーバ200から受信する。当該応答には、認証済であるか否かの確認結果が含まれる。また、確認結果が認証済である場合、適用ROLEに対応するセッション情報が当該応答に含まれる。セッション情報はステップS31で抽出された送信元IPアドレスとACLとの組み合わせを含む。
(ステップS35)アクセス制御部120は、当該応答に基づいて認証済であるか否かを判定する。認証済である場合、処理をステップS36に進める。認証済でない場合、処理をステップS37に進める。
(ステップS36)アクセス制御部120は、受信したセッション情報をセッション管理テーブル111に登録する。そして、処理をステップS38に進める。
(ステップS37)アクセス制御部120は、ログインページにリダイレクトさせる。例えば、クライアント500から受信したHTTPのリクエスト(ステップS31のリクエスト)を、ログインページのURLを指定したリクエストに置き換えて転送する。ログインページの提供は中継装置100が行ってもよいし、他のWebサーバが行ってもよい。すると、クライアント500のWebブラウザにはログインページが表示され、ユーザIDやパスワード(認証用の情報)の入力がユーザに促される。そして、処理を終了する。ユーザIDおよびパスワードを受け付けた後の手順は図11の認証処理の手順となる。この場合、ステップS31で受信した通信データの中継は行われないことになる。例えば、当該通信データをRAMなどに格納して中継を保留しておき、認証に成功した後に、中継を行うかを再度判断するようにしてもよい。
(ステップS37)アクセス制御部120は、ログインページにリダイレクトさせる。例えば、クライアント500から受信したHTTPのリクエスト(ステップS31のリクエスト)を、ログインページのURLを指定したリクエストに置き換えて転送する。ログインページの提供は中継装置100が行ってもよいし、他のWebサーバが行ってもよい。すると、クライアント500のWebブラウザにはログインページが表示され、ユーザIDやパスワード(認証用の情報)の入力がユーザに促される。そして、処理を終了する。ユーザIDおよびパスワードを受け付けた後の手順は図11の認証処理の手順となる。この場合、ステップS31で受信した通信データの中継は行われないことになる。例えば、当該通信データをRAMなどに格納して中継を保留しておき、認証に成功した後に、中継を行うかを再度判断するようにしてもよい。
(ステップS38)アクセス制御部120は、セッション管理テーブル111を参照して、ステップS31で抽出された送信元/宛先IPアドレス間の中継が許容されているか否かを判定する。中継が許容されている場合、処理をステップS39に進める。中継が許容されていない場合、処理をステップS40に進める。
(ステップS39)アクセス制御部120は、ステップS31で受信した通信データをスイッチ部104に出力する。スイッチ部104は宛先IPアドレスに対して通信データを転送する(通信データが中継される)。そして、処理を終了する。
(ステップS40)アクセス制御部120は、ステップS31で受信した通信データを破棄する。すなわち、当該通信データを中継しない。そして、処理を終了する。
このようにして、中継装置100は通信データの中継を行う。中継装置100は、通信データに含まれる送信元IPアドレスおよび宛先IPアドレスの組み合わせと、セッション管理テーブル111とを照合して、通信データを中継するか否かを判定する。通信データを中継しない場合には、当該宛先IPアドレスへのアクセスが許可されていない旨をクライアント500に通知してもよい。
このようにして、中継装置100は通信データの中継を行う。中継装置100は、通信データに含まれる送信元IPアドレスおよび宛先IPアドレスの組み合わせと、セッション管理テーブル111とを照合して、通信データを中継するか否かを判定する。通信データを中継しない場合には、当該宛先IPアドレスへのアクセスが許可されていない旨をクライアント500に通知してもよい。
また、ステップS33,S34のように管理サーバ200に認証の確認要求を行う理由は、1つのクライアントが複数の中継装置を介して異なる業務サーバにアクセスする可能性があるからである。例えば、クライアント600,600aは中継装置100a,100bの両方を経由して業務サーバ400,400aにアクセスする可能性がある。認証の確認要求を行うことで、ユーザに対して中継装置100aで認証操作を行った後、中継装置100bで再度の認証操作を課さずに済む。よって、再度の認証操作を課す場合よりもユーザの手間を省ける。
次に、ステップS33,S34の間で実行される管理サーバ200の処理手順を説明する。
図13は、第2の実施の形態の認証確認例(その1)を示すフローチャートである。以下、図13に示す処理をステップ番号に沿って説明する。
図13は、第2の実施の形態の認証確認例(その1)を示すフローチャートである。以下、図13に示す処理をステップ番号に沿って説明する。
(ステップS41)管理部220は、ステップS33の確認要求を中継装置100から受信する。確認要求には確認対象のクライアントのIPアドレスが含まれる。
(ステップS42)管理部220は、記憶部210に記憶された接続管理テーブル213を参照して、当該IPアドレスが登録済であるか否かを判定する。登録済である場合、処理をステップS43に進める。登録済でない場合、処理をステップS45に進める。接続管理テーブル213の端末IPアドレスの項目に、当該IPアドレスが設定されたレコードが存在する場合、登録済である。一方、接続管理テーブル213の端末IPアドレスの項目に当該IPアドレスが設定されたレコードが存在しない場合、登録済でない。
(ステップS42)管理部220は、記憶部210に記憶された接続管理テーブル213を参照して、当該IPアドレスが登録済であるか否かを判定する。登録済である場合、処理をステップS43に進める。登録済でない場合、処理をステップS45に進める。接続管理テーブル213の端末IPアドレスの項目に、当該IPアドレスが設定されたレコードが存在する場合、登録済である。一方、接続管理テーブル213の端末IPアドレスの項目に当該IPアドレスが設定されたレコードが存在しない場合、登録済でない。
(ステップS43)管理部220は、接続管理テーブル213を更新する。具体的には、管理部220は確認要求で受け付けたクライアントのIPアドレス(端末IPアドレス)を含むレコードを接続管理テーブル213に追加する。追加されるレコードは、ステップS42で登録済と判断した根拠となるレコードのユーザIDおよび適用ROLEの設定値を含む。また、追加されるレコードは、確認要求の送信元IPアドレスである中継装置100のIPアドレス(中継装置IPアドレス)を含む。具体的には、確認要求(のフレームに含まれるIPパケット)は送信元IPアドレスとして中継装置100のIPアドレスを含む。このIPアドレスを当該レコードの中継装置IPアドレスの項目に設定する。
(ステップS44)管理部220は、アクセス管理テーブル212に基づいて、セッション情報を生成する。具体的には、ステップS43で新たなレコードに設定した適用ROLEのROLE番号、端末IPアドレスおよび当該ROLE番号に対応するACLの組み合わせをセッション情報とする。そして、管理部220は、確認要求に対して、認証済である旨を中継装置100に応答する。当該応答には、生成したセッション情報が含まれる。そして、処理を終了する。
(ステップS45)管理部220は、確認要求に対して未認証である旨を中継装置100に応答する。そして、処理を終了する。
このようにして、管理サーバ200は中継装置100からの確認要求に対して認証確認の処理を実行する。次に、図11〜13の手順を実行する中継装置100,100a,100bおよび管理サーバ200の通信の具体例を説明する。
このようにして、管理サーバ200は中継装置100からの確認要求に対して認証確認の処理を実行する。次に、図11〜13の手順を実行する中継装置100,100a,100bおよび管理サーバ200の通信の具体例を説明する。
図14は、第2の実施の形態の通信の具体例(その1)を示す図である。以下、図14に示す処理をステップ番号に沿って説明する。ステップST101の直前では、セッション管理テーブル111および接続管理テーブル213のエントリ(登録されたレコード)はないものとする。
(ステップST101)クライアント500は、ログインページでユーザAにより入力されたログイン認証用の情報を中継装置100に送信する。当該認証用の情報には、ユーザID“UID0001”およびパスワード“pass1”が含まれる。中継装置100は認証用の情報を受信する。認証用の情報は、図10で説明したフレームを用いて中継装置100に送られる。
(ステップST102)中継装置100は、当該フレームから送信元IPアドレス“50.223.3.4”および送信元MACアドレスを抽出する。中継装置100は送信元IPアドレスおよび送信元MACアドレスを、ステップST101で受信した認証用の情報に加える。すなわち、抽出した送信元IPアドレスおよび送信元MACアドレスをIPパケットのデータ部分に設定した新たなフレームを生成する。中継装置100は、当該フレームを管理サーバ200に送信する。このフレームは認証依頼に相当する。認証依頼は、ユーザID、パスワード、ステップST101で受信したフレームの送信元IPアドレスおよび送信元MACアドレスを認証用の情報として含む。管理サーバ200は認証依頼を受信する。
(ステップST103)管理サーバ200は、認証依頼に含まれるユーザIDおよびパスワードを、ユーザ管理テーブル211の登録内容と照合する。ユーザ管理テーブル211には、ユーザID“UID0001”とパスワード“pass1”との組が登録されている。このため本照合は成功する。また、ユーザID“UID0001”、送信元IPアドレス“50.223.3.4”に対して、アクセス管理テーブル212にはユーザID“UID0001”、端末IPアドレス“−”、MACアドレス“−”の“ROLE3”が存在する。管理サーバ200は適用ROLEとして“ROLE3”を特定する。また、ユーザ管理テーブル211によれば、ユーザAには多重接続の制約はない(多重接続設定が“可”であるため)。よって、管理サーバ200は“ROLE3”を用いて送信元IPアドレス“50.223.3.4”を含むセッション情報を生成し、認証成功の通知とともに、中継装置100に送信する。中継装置100はセッション情報と認証成功の通知とを受信する。また、管理サーバ200は接続管理テーブル213の更新も行う。具体的には、ユーザID“UID0001”、端末IPアドレス“50.223.3.4”、中継装置IPアドレス“192.168.10.1”、適用ROLE“ROLE3”のレコードを接続管理テーブル213に追加する。
(ステップST104)中継装置100は、受信したセッション情報をセッション管理テーブル111に登録する。この場合、ROLE“3”、端末IPアドレス“50.223.3.4”、ACL“192.168.10.101”のレコードがセッション管理テーブル111に登録されることになる。中継装置100は、認証成功の通知をクライアント500に送信する。クライアント500は認証成功の通知を受信する。
(ステップST105)クライアント500は、業務サーバ300へ宛てたリクエストを送信する。例えば、リクエストの宛先IPアドレスは “192.168.10.101”である。また、送信元IPアドレスは“50.223.3.4”である。中継装置100は当該リクエストを受信する。
(ステップST106)中継装置100は、受信したリクエストのIPパケットに含まれる送信元/宛先IPアドレスの組を、セッション管理テーブル111の登録内容と照合する。セッション管理テーブル111には、ステップST104で登録された“ROLE3”のレコードが存在する。すなわち、当該リクエストの中継は許容されている。よって、中継装置100は業務サーバ300に対して当該リクエストを転送する。業務サーバ300は当該リクエストを受信する。
(ステップST107)業務サーバ300は、受信したリクエストに応じた処理を実行する。業務サーバ300は、処理結果に応じたレスポンスをクライアント500に送信する。当該レスポンスは、中継装置100を介してクライアント500に送信される。前述のように中継装置100は、業務サーバ300からクライアント500への通信についても、セッション管理テーブル111に基づいて中継が許容されていると判断する。よって、中継装置100は当該レスポンスを中継する。クライアント500は当該レスポンスを受信する。
(ステップST108)クライアント500は、業務サーバ300aへ宛てたリクエストを送信する。当該リクエストはファイアウォール11を介して中継装置100へ転送される。当該リクエストのIPパケットに含まれる宛先IPアドレスは“192.168.10.102”である。送信元IPアドレスは“50.223.3.4”である。中継装置100は当該リクエストを受信する。
(ステップST109)中継装置100は、受信したリクエストのIPパケットに含まれる送信元/宛先IPアドレスの組を、セッション管理テーブル111の登録内容と照合する。この時点でセッション管理テーブル111には、送信元IPアドレス“50.223.3.4”を含むレコードは存在する。しかし、対応するACLには宛先IPアドレス“192.168.10.102”は含まれていない。すなわち、当該リクエストの中継は許容されていない。よって、中継装置100は当該リクエストの中継を行わずに、当該リクエストを破棄する。
このように、クライアント500はネットワークログイン認証を経て、“ROLE3”のACLに登録された業務サーバ300にアクセス可能となる。一方、“ROLE3”のACLで他の業務サーバについてはアクセスが許されていない。このため、中継装置100により他の業務サーバに対するアクセスは制限される。
次に、ネットワークログイン認証を経ずに、クライアント500から業務サーバ300へのアクセスを受け付けた場合の通信を例示する。
図15は、第2の実施の形態の通信の具体例(その2)を示す図である。以下、図15に示す処理をステップ番号に沿って説明する。ステップST111の直前では、セッション管理テーブル111および接続管理テーブル213のエントリはないものとする。
図15は、第2の実施の形態の通信の具体例(その2)を示す図である。以下、図15に示す処理をステップ番号に沿って説明する。ステップST111の直前では、セッション管理テーブル111および接続管理テーブル213のエントリはないものとする。
(ステップST111)クライアント500は、業務サーバ300へ宛てたリクエストを送信する。当該リクエストはファイアウォール11を介して中継装置100へ転送される。中継装置100はリクエストを受信する。中継装置100により受信されるリクエストのIPパケットに含まれる宛先IPアドレスは“192.168.10.101”である。送信元IPアドレスは“50.223.3.4”である。
(ステップST112)中継装置100は、受信したリクエストのIPパケットに含まれる送信元/宛先IPアドレスの組を、セッション管理テーブル111の登録内容と照合する。セッション管理テーブル111には、この時点でエントリはない。すなわち、送信元IPアドレス“50.223.3.4”を含むレコードは存在しない。よって、中継装置100は、認証の確認要求を管理サーバ200に送信する。当該確認要求(IPパケットのデータ部分)には送信元IPアドレス“50.223.3.4”が含まれる。管理サーバ200は確認要求を受信する。
(ステップST113)管理サーバ200は、確認要求に含まれる送信元IPアドレスを、接続管理テーブル213の登録内容と照合する。接続管理テーブル213には、この時点でエントリはない。すなわち、送信元IPアドレス“50.223.3.4”を含むレコードは存在しない。よって、管理サーバ200は、未認証である旨を中継装置100に応答する。中継装置100は当該応答を受信する。
(ステップST114)中継装置100は、受信したリクエストをログインページへリダイレクトさせる。中継装置100がログインページを提供可能な場合には、例えば、当該ログインページのデータをクライアント500に提供する。クライアント500はログインページのデータを受信する。他のWebサーバが提供するログインページにリダイレクトさせてもよい。すると、クライアント500のWebブラウザはログインページをユーザAに提示する。
(ステップST115)クライアント500は、ログインページでユーザAにより入力されたログイン認証用の情報を中継装置100に送信する。当該認証用の情報には、ユーザID“UID0001”およびパスワード“pass1”が含まれる。中継装置100は認証用の情報(フレーム)を受信する。
(ステップST116)中継装置100は、受信したフレームから送信元IPアドレス“50.223.3.4”および送信元MACアドレスを抽出する。中継装置100は、抽出した送信元IPアドレスおよび送信元MACアドレスをIPパケットのデータ部分に設定した新たなフレーム(認証依頼)を生成し、管理サーバ200に送信する。管理サーバ200は認証依頼を受信する。認証依頼にはユーザIDおよびパスワードも含まれる。
(ステップST117)管理サーバ200は、図14のステップST103と同様にして、セッション情報を生成する。また、接続管理テーブル213に新たなレコードを追加する。管理サーバ200は、生成したセッション情報と認証成功の通知とを中継装置100に送信する。中継装置100はセッション情報と認証成功の通知とを受信する。
(ステップST118)中継装置100は、図14のステップST104と同様に、管理サーバ200から受信したセッション情報をセッション管理テーブル111に登録する。中継装置100は、認証成功の通知をクライアント500に送信する。クライアント500は認証成功の通知を受信する。
以後、図14のステップST105以降と同様の手順により、クライアント500から業務サーバ300へのアクセスが可能となる。次に、ユーザAがクライアント500,600の両方を用いてネットワークログイン認証を行う場合を例示する。
図16は、第2の実施の形態の通信の具体例(その3)を示す図である。以下、図16に示す処理をステップ番号に沿って説明する。ステップST121の直前では、セッション管理テーブル111,111aおよび接続管理テーブル213のエントリはないものとする。
(ステップST121)クライアント500は、ログインページでユーザAにより入力されたログイン認証用の情報を中継装置100に送信する。当該認証用の情報には、ユーザID“UID0001”およびパスワード“pass1”が含まれる。中継装置100は認証用の情報(フレーム)を受信する。
(ステップST122)中継装置100は、受信したフレームから送信元IPアドレス“50.223.3.4”および送信元MACアドレスを抽出する。中継装置100は、抽出した送信元IPアドレスおよび送信元MACアドレスをIPパケットのデータ部分に設定した新たなフレーム(認証依頼)を生成し、管理サーバ200に送信する。管理サーバ200は認証依頼を受信する。認証依頼にはユーザIDおよびパスワードも含まれる。
(ステップST123)管理サーバ200は、図14のステップST103と同様にして、セッション情報を生成する。また、接続管理テーブル213にレコードを追加する。具体的には、ユーザID“UID0001”、端末IPアドレス“50.223.3.4”、中継装置IPアドレス“192.168.10.1”、適用ROLE“ROLE3”のレコードである。管理サーバ200は、生成したセッション情報と認証成功の通知とを中継装置100に送信する。中継装置100はセッション情報と認証成功の通知とを受信する。
(ステップST124)中継装置100は、図14のステップST104と同様に、管理サーバ200から受信したセッション情報(“ROLE3”のレコード)をセッション管理テーブル111に登録する。中継装置100は、認証成功の通知をクライアント500に送信する。クライアント500は認証成功の通知を受信する。
(ステップST125)クライアント600は、ログインページでユーザAにより入力されたログイン認証用の情報を中継装置100aに送信する。当該認証用の情報には、ユーザID“UID0001”およびパスワード“pass1”が含まれる。中継装置100aは認証用の情報(フレーム)を受信する。
(ステップST126)中継装置100aは、受信したフレームから送信元IPアドレス“192.168.10.11”および送信元MACアドレス“08−b4−25−9e−0c−46”を抽出する。中継装置100aは、抽出した送信元IPアドレスおよび送信元MACアドレスをIPパケットのデータ部分に設定した新たなフレーム(認証依頼)を生成し、管理サーバ200に送信する。管理サーバ200は認証依頼を受信する。認証依頼にはユーザIDおよびパスワードも含まれる。
(ステップST127)管理サーバ200は、認証依頼に含まれるユーザIDおよびパスワードを、ユーザ管理テーブル211の登録内容と照合する。ユーザ管理テーブル211には、ユーザID“UID0001”とパスワード“pass1”との組が登録されている。このため、本照合は成功する。また、ユーザID“UID0001”、送信元IPアドレス“192.168.10.11”、送信元MACアドレス“08−b4−25−9e−0c−46”を含むレコードとして、アクセス管理テーブル212には“ROLE1”が存在する。管理サーバ200は適用ROLEとして“ROLE1”を特定する。更に、接続管理テーブル213にはステップST123で“ROLE3”のレコードが既に追加されている。これに対し、ユーザ管理テーブル211によればユーザID“UID0001”は多重接続設定が“可”である。よって、管理サーバ200は“ROLE1”での新たな接続が許容されている(すなわち、多重接続の制約がない)と判断する。
(ステップST128)管理サーバ200は、アクセス管理テーブル212の“ROLE1”を用いてセッション情報を生成し、認証成功の通知とともに、中継装置100aに送信する。中継装置100aはセッション情報と認証成功の通知とを受信する。管理サーバ200は接続管理テーブル213の更新も行う。具体的には、ユーザID“UID0001”、端末IPアドレス“192.168.10.11”、中継装置IPアドレス“192.168.10.2”、適用ROLE“ROLE1”のレコードを接続管理テーブル213に追加する。
(ステップST129)中継装置100aは、管理サーバ200から受信したセッション情報をセッション管理テーブル111aに登録する(“ROLE1”のレコード)。中継装置100aは、認証成功の通知をクライアント600に送信する。クライアント600は認証成功の通知を受信する。
このようにして、ユーザ管理テーブル211の設定により、多重接続を許容するか否かを制御できる。ユーザ管理テーブル211において、ユーザA(“UID0001”)は多重接続設定が“可”である。このため、ユーザAはクラアント500,600の両方を用いて業務サーバにアクセス可能となる。これに対し、ユーザB(“UID0002”)は多重接続設定が“不可”である。このため、ユーザBに対しては複数のクライアントを用いたアクセスは許容されていないことになる。
また、このように多重接続した場合にも、クライアント500,600からアクセス可能な業務サーバの範囲は、クライアント500,600の通信を中継する中継装置100,100aそれぞれにより制限されることになる。アクセス可能な業務サーバの範囲は、クライアント500,600で相違し得る。このように、1ユーザが複数のクライアントを利用する場合にもクライアント単位のアクセス制御を行える。
次に、クライアント600から中継装置100a,100bを介したアクセスを行う場合を例示する。
図17は、第2の実施の形態の通信の具体例(その4)を示す図である。以下、図17に示す処理をステップ番号に沿って説明する。ステップST131の直前では、セッション管理テーブル111a,111bおよび接続管理テーブル213のエントリはないものとする。
図17は、第2の実施の形態の通信の具体例(その4)を示す図である。以下、図17に示す処理をステップ番号に沿って説明する。ステップST131の直前では、セッション管理テーブル111a,111bおよび接続管理テーブル213のエントリはないものとする。
(ステップST131)クライアント600は、ログインページでユーザAにより入力されたログイン認証用の情報を中継装置100aに送信する。当該認証用の情報には、ユーザID“UID0001”およびパスワード“pass1”が含まれる。中継装置100aは認証用の情報(フレーム)を受信する。
(ステップST132)中継装置100aは、受信したフレームから送信元IPアドレス“192.168.10.11”および送信元MACアドレス“08−b4−25−9e−0c−46”を抽出する。中継装置100aは、抽出した送信元IPアドレスおよび送信元MACアドレスをIPパケットのデータ部分に設定した新たなフレーム(認証依頼)を生成し、管理サーバ200に送信する。管理サーバ200は認証依頼を受信する。認証依頼にはユーザIDおよびパスワードも含まれる。
(ステップST133)管理サーバ200は、ユーザIDとパスワードの照合などを行い、また、アクセス管理テーブル212を参照して“ROLE1”のセッション情報を生成する。“ROLE1”が選択される理由は、ユーザID“UID0001”、端末IPアドレス“192.168.10.11”および送信元MACアドレス“08−b4−25−9e−0c−46”を含み、これらが認証依頼に含まれる情報に一致するからである。また、接続管理テーブル213にレコードを追加する。具体的には、“UID0001”、端末IPアドレス“192.168.10.11”、中継装置IPアドレス“192.168.10.2”、適用ROLE“ROLE1”のレコードである。管理サーバ200は、生成したセッション情報と認証成功の通知とを中継装置100aに送信する。中継装置100aはセッション情報と認証成功の通知とを受信する。
(ステップST134)中継装置100aは、管理サーバ200から受信したセッション情報をセッション管理テーブル111aに登録する(“ROLE1”のレコード)。中継装置100aは、認証成功の通知をクライアント600に送信する。クライアント600は認証成功の通知を受信する。
(ステップST135)クライアント600は、業務サーバ400へ宛てたリクエストを送信する。当該リクエストは中継装置100aへ転送される。当該リクエストのIPパケットに含まれる宛先IPアドレスは“192.168.20.101”である。送信元IPアドレスは“192.168.10.11”である。中継装置100aは当該リクエストを受信する。
(ステップST136)中継装置100aは、受信したリクエストのIPパケットに含まれる送信元/宛先IPアドレスの組を、セッション管理テーブル111aの登録内容と照合する。セッション管理テーブル111aには、ステップST134で登録された“ROLE1”のレコードが存在する。“ROLE1”では、端末IPアドレス“192.168.10.11”に対し、ACLに“192.168.20.101”がある。すなわち、当該リクエストの中継は許容されている。よって、中継装置100aは業務サーバ400に対して当該リクエストを転送する。業務サーバ400への通信経路には、中継装置100bが存在している。中継装置100bは当該リクエストを受信する。
(ステップST137)中継装置100bは、受信したリクエストのIPパケットに含まれる送信元/宛先IPアドレスの組を、セッション管理テーブル111bの登録内容と照合する。セッション管理テーブル111bには、この時点でエントリはない。すなわち、送信元IPアドレス“192.168.10.11”を含むレコードは存在しない。よって、中継装置100bは、認証の確認要求を管理サーバ200に送信する。当該確認要求(IPパケットのデータ部分)にはクライアント600のIPアドレス“192.168.10.11”が含まれる。管理サーバ200は確認要求を受信する。なお、中継装置100bは、ステップST136で受信したリクエストを保留する(例えば、RAMに格納する)。
(ステップST138)管理サーバ200は、確認要求に含まれる送信元IPアドレスを、接続管理テーブル213の登録内容と照合する。接続管理テーブル213には、ステップST133で登録されたレコードが存在する。このレコードの端末IPアドレスは“192.168.10.11”である。これは確認対象のクライアント600のIPアドレスと一致するので、管理サーバ200は認証済であると判断する。管理サーバ200は、当該レコードから適用ROLE“ROLE1”を特定する。管理サーバ200は、アクセス管理テーブル212の“ROLE1”を参照して、セッション情報を生成する。管理サーバ200は、生成したセッション情報と認証済の通知とを中継装置100bに送信する。中継装置100bはセッション情報と認証済の通知とを受信する。管理サーバ200は、接続管理テーブル213にレコードを追加する。具体的には、ユーザID“UID0001”、端末IPアドレス“192.168.10.11”、中継装置IPアドレス“192.168.20.1”、適用ROLE“ROLE1”のレコードである。
(ステップST139)中継装置100bは、管理サーバ200から受信したセッション情報をセッション管理テーブル111bに登録する(“ROLE1”のレコード)。中継装置100bは、ステップST137で中継を保留したリクエストのIPパケットに含まれる送信元/宛先IPアドレスの組を、セッション管理テーブル111bの登録内容と照合する。この時点でセッション管理テーブル111bには“ROLE1”のレコードが存在する。“ROLE1”では、端末IPアドレス“192.168.10.11”に対し、ACLに“192.168.20.101”が含まれる。すなわち、当該リクエストの中継は許容されている。よって、中継装置100bは業務サーバ400に対して当該リクエストを転送する。業務サーバ400は当該リクエストを受信する。
(ステップST140)業務サーバ400は、受信したリクエストに応じた処理を実行する。業務サーバ400は、処理結果に応じたレスポンスをクライアント600に送信する。当該レスポンスは中継装置100b,100aの順に経由してクライアント600に転送される。クライアント600は当該レスポンスを受信する。
このようにして、クライアント600は、中継装置100a,100bを介して業務サーバ400にアクセスできる。すなわち、1つのクライアントから複数の中継装置を介して業務サーバにアクセスする場合にも、最初の中継装置に適用されたROLEを用いて、適正にアクセス制御を行える。このとき、中継装置100bはユーザAに対してログイン認証用の情報を再度入力させずに済むので、ユーザAによる重複した情報を入力する手間を省ける。また、認証処理を重複して行わずに済む。
これまでの説明では、中継装置100,100a,100bと管理サーバ200との間の認証の流れを例示した。これに対し、管理サーバ200は、業務サーバ300,300a,400,400aに認証結果を提供してもよい。例えば、業務サーバ300,300a,400,400aで動作する業務アプリケーションが個別にユーザ認証を行うことがある。この場合に、管理サーバ200の認証結果を流用することが考えられる。そうすれば、各業務アプリケーションに対する一括認証が可能である。このような一括認証はシングルサインオンと呼ばれることがある。
以下では、そのための管理サーバ200の処理手順を説明する。なお、管理サーバ200と業務サーバ300との間の処理を説明するが、業務サーバ300a,400,400aについても同様の処理手順である。
図18は、第2の実施の形態の認証確認例(その2)を示すフローチャートである。以下、図18に示す処理をステップ番号に沿って説明する。
(ステップS51)管理部220は、業務サーバ300から認証の確認要求を受信する。確認要求には確認対象のIPアドレスが含まれる。ここで、確認対象のIPアドレスとは、業務サーバ300へアクセスしてきたクライアントのIPアドレスである。例えば、クライアント500であれば、当該IPアドレスは“50.223.3.4”である。例えば、業務サーバ300では認証確認用のエージェントが実行される。例えば、当該エージェントは、クライアントからのリクエストを受信すると、管理サーバ200に認証の確認要求を送信する。
(ステップS51)管理部220は、業務サーバ300から認証の確認要求を受信する。確認要求には確認対象のIPアドレスが含まれる。ここで、確認対象のIPアドレスとは、業務サーバ300へアクセスしてきたクライアントのIPアドレスである。例えば、クライアント500であれば、当該IPアドレスは“50.223.3.4”である。例えば、業務サーバ300では認証確認用のエージェントが実行される。例えば、当該エージェントは、クライアントからのリクエストを受信すると、管理サーバ200に認証の確認要求を送信する。
(ステップS52)管理部220は、記憶部210に記憶された接続管理テーブル213を参照して、クライアントのIPアドレスが登録済であるか否かを判定する。登録済である場合、処理をステップS53に進める。登録済でない場合、処理をステップS54に進める。例えば、接続管理テーブル213の端末IPアドレスの項目に当該IPアドレスが設定されたレコードが存在する場合、当該IPアドレスは登録済である。一方、接続管理テーブル213の端末IPアドレスの項目に当該IPアドレスが設定されたレコードが存在しない場合、当該IPアドレスは登録済でない。
(ステップS53)管理部220は、接続管理テーブル213から該当レコードに含まれるユーザIDを抽出する。管理部220は、確認要求に対して、認証済である旨を業務サーバ300に応答する。当該応答には、抽出したユーザIDが含まれる。そして、処理を終了する。
(ステップS54)管理部220は、確認要求に対して未認証である旨を業務サーバ300に応答する。そして、処理を終了する。
このように、認証済の場合、業務サーバ300は管理サーバ200からユーザIDの提供を受ける。そして、業務サーバ300はクライアントへのサービス提供を開始する。管理サーバ200が業務サーバ300にユーザIDを提供する理由は、業務サーバが提供するサービスがユーザごとに管理されている場合があり得るからである。例えば、ユーザごとにカスタマイズされたGUIを提供する、業務サーバ単位でユーザごとに利用可能な機能を制限する、などが考えられる。次に、このようなシングルサインオンの通信の具体例を説明する。
このように、認証済の場合、業務サーバ300は管理サーバ200からユーザIDの提供を受ける。そして、業務サーバ300はクライアントへのサービス提供を開始する。管理サーバ200が業務サーバ300にユーザIDを提供する理由は、業務サーバが提供するサービスがユーザごとに管理されている場合があり得るからである。例えば、ユーザごとにカスタマイズされたGUIを提供する、業務サーバ単位でユーザごとに利用可能な機能を制限する、などが考えられる。次に、このようなシングルサインオンの通信の具体例を説明する。
図19は、第2の実施の形態の通信の具体例(その5)を示す図である。以下、図19に示す処理をステップ番号に沿って説明する。ステップST141の直前では、セッション管理テーブル111aには“ROLE1”のレコードが存在するものとする。接続管理テーブル213にはユーザID“UID0001”、端末IPアドレス“192.168.10.11”、中継装置IPアドレス“192.168.10.2”、適用ROLE“ROLE1”のレコードが存在するものとする。
(ステップST141)クライアント600は、業務サーバ300へ宛てたリクエストを送信する。当該リクエストは中継装置100aへ転送される。当該リクエストのIPパケットに含まれる宛先IPアドレスは“192.168.10.101”である。送信元IPアドレスは“192.168.10.11”である。中継装置100aは当該リクエストを受信する。
(ステップST142)中継装置100aは、受信したリクエストのIPパケットに含まれる送信元/宛先IPアドレスの組をセッション管理テーブル111aの登録内容と照合する。セッション管理テーブル111aには“ROLE1”のレコードが存在する。すなわち、当該リクエストの中継は許容されている。よって、中継装置100aは業務サーバ300に対して当該リクエストを転送する。業務サーバ300は当該リクエストを受信する。例えば、このリクエストは業務サーバ300がクライアント600からアクセスの初回に受け付けるリクエストであるものとする。
(ステップST143)業務サーバ300は、当該リクエストのIPパケットに含まれる送信元IPアドレスを抽出する。送信元IPアドレスは“192.168.10.11”である。業務サーバ300は、認証の確認要求を管理サーバ200に送信する。当該確認要求のIPパケットのデータ部分には、抽出された送信元IPアドレス(クライアント600のIPアドレス)が含まれる。管理サーバ200は当該確認要求を受信する。
(ステップST144)管理サーバ200は、確認要求に含まれるクライアント600のIPアドレスを、接続管理テーブル213の登録内容と照合する。接続管理テーブル213には、端末IPアドレスが“192.168.10.11”を含むレコードが存在する。よって、管理サーバ200は認証済であると判断し、当該レコードに登録されたユーザID“UID0001”を取得する。管理サーバ200はユーザIDとともに認証済である旨を業務サーバ300に応答する。業務サーバ300は当該応答を受信する。
(ステップST145)業務サーバ300は、当該応答により認証済であることを確認する。すると、業務サーバ300は、ステップST142で受信したリクエストに応じた処理を実行する。その際、管理サーバ200から提供されたユーザIDを用いる。例えば、ユーザごとに異なる業務メニューページを提供する。これにより、ユーザごとにカスタマイズされたサービスを提供できる。業務サーバ300は、処理結果に応じたレスポンスをクライアント600に送信する。当該レスポンスは中継装置100aを経由してクライアント600に転送される。クライアント600は当該レスポンスを受信する。
(ステップST146)クライアント600は、業務サーバ300aへ宛てたリクエストを送信する。当該リクエストは中継装置100aへ転送される。当該リクエストのIPパケットに含まれる宛先IPアドレスは“192.168.10.102”である。送信元IPアドレスは“192.168.10.11”である。中継装置100aは当該リクエストを受信する。
(ステップST147)中継装置100aは、受信したリクエストのIPパケットに含まれる送信元/宛先IPアドレスの組をセッション管理テーブル111aの登録内容と照合する。セッション管理テーブル111aには“ROLE1”のレコードが存在する。すなわち、当該リクエストの中継は許容されている。よって、中継装置100aは業務サーバ300aに対して当該リクエストを転送する。業務サーバ300aは当該リクエストを受信する。例えば、このリクエストは業務サーバ300aがクライアント600からアクセスの初回に受け付けたリクエストであるものとする。
(ステップST148)業務サーバ300aは、当該リクエストのIPパケットに含まれる送信元IPアドレスを抽出する。送信元IPアドレスは“192.168.10.11”である。業務サーバ300aは、認証の確認要求を管理サーバ200に送信する。当該確認要求のIPパケットのデータ部分には、抽出された送信元IPアドレスが含まれる。管理サーバ200は当該確認要求を受信する。
(ステップST149)管理サーバ200は、確認要求に含まれる送信元IPアドレスを、接続管理テーブル213の登録内容と照合する。接続管理テーブル213には、端末IPアドレスが“192.168.10.11”を含むレコードが存在する。よって、管理サーバ200は認証済であると判断し、当該レコードに登録されたユーザID“UID0001”を取得する。管理サーバ200はユーザIDとともに認証済である旨を業務サーバ300aに応答する。業務サーバ300aは当該応答を受信する。
(ステップST150)業務サーバ300aは、当該応答により認証済であることを確認する。すると、業務サーバ300aは、ステップST147で受信したリクエストに応じた処理を実行する。その際、ステップST145と同様に、管理サーバ200から提供されたユーザIDを用いる。業務サーバ300aは、処理結果に応じたレスポンスをクライアント600に送信する。当該レスポンスは中継装置100aを経由してクライアント600に転送される。クライアント600は当該レスポンスを受信する。
このようにして、業務サーバ300,300aに対するシングルサインオンを実行する。業務サーバ400,400aについても同様である。管理サーバ200が各業務サーバへユーザIDを提供すれば、各業務サーバは、サービス提供にあたり、クライアントに個別にユーザIDの提供を求めなくてもよい。ステップST144,ST149で認証済が確認された後は、業務サーバ300,300aは管理サーバ200に対する認証の確認を行わずにサービスの提供を継続することになる。
このようにして、シングルサインオンを実現すれば、ネットワークログイン認証により、各業務アプリケーションに対する認証も一括して行える。シングルサインオンを実現すれば、ユーザによる認証情報の重複入力の手間を省けるので、ユーザの利便性を一層向上し得る。
次に、ネットワークログインに対するログアウトの手順を説明する。
図20は、第2の実施の形態のログアウト処理の例を示すフローチャートである。以下、図20に示す処理をステップ番号に沿って説明する。
図20は、第2の実施の形態のログアウト処理の例を示すフローチャートである。以下、図20に示す処理をステップ番号に沿って説明する。
(ステップS61)アクセス制御部120は、クライアント500からログアウト要求を受信する。
(ステップS62)アクセス制御部120は、ログアウト要求のIPパケットに含まれる送信元IPアドレスを抽出する。ここでは、抽出される送信元IPアドレスは“50.223.3.4”である。アクセス制御部120は、抽出したクライアント500のIPアドレスをIPパケットのデータ部分に含めたログアウト要求を生成し、管理サーバ200に送信する。
(ステップS62)アクセス制御部120は、ログアウト要求のIPパケットに含まれる送信元IPアドレスを抽出する。ここでは、抽出される送信元IPアドレスは“50.223.3.4”である。アクセス制御部120は、抽出したクライアント500のIPアドレスをIPパケットのデータ部分に含めたログアウト要求を生成し、管理サーバ200に送信する。
(ステップS63)管理部220は、中継装置100が送信したログアウト要求を受信する。
(ステップS64)管理部220は、記憶部210に記憶された接続管理テーブル213を参照し、ログアウト要求(IPパケットのデータ部分)に含まれるクライアント500のIPアドレスが、端末IPアドレスの項目に設定されたレコードを検索する。管理サーバ200は、検索されたレコードに含まれる中継装置IPアドレスおよび適用ROLEの設定を取得する。管理サーバ200は、取得された中継装置IPアドレスを宛先として、当該適用ROLEに対応するセッション情報を削除するように指示する。例えば、クライアント500からのログアウト要求では、“ROLE3”のレコードを削除するように中継装置100に指示する。当該削除の指示は、複数の中継装置に対して行われることもある。また、管理サーバ200は、接続管理テーブル213上から検索されたレコードを削除する。例えば、クライアント500からのログアウト要求では端末IPアドレス“50.223.3.4”の全レコードが接続管理テーブル213から削除されることになる。
(ステップS64)管理部220は、記憶部210に記憶された接続管理テーブル213を参照し、ログアウト要求(IPパケットのデータ部分)に含まれるクライアント500のIPアドレスが、端末IPアドレスの項目に設定されたレコードを検索する。管理サーバ200は、検索されたレコードに含まれる中継装置IPアドレスおよび適用ROLEの設定を取得する。管理サーバ200は、取得された中継装置IPアドレスを宛先として、当該適用ROLEに対応するセッション情報を削除するように指示する。例えば、クライアント500からのログアウト要求では、“ROLE3”のレコードを削除するように中継装置100に指示する。当該削除の指示は、複数の中継装置に対して行われることもある。また、管理サーバ200は、接続管理テーブル213上から検索されたレコードを削除する。例えば、クライアント500からのログアウト要求では端末IPアドレス“50.223.3.4”の全レコードが接続管理テーブル213から削除されることになる。
(ステップS65)アクセス制御部120は、管理サーバ200からの指示に基づいて、記憶部110に記憶されたセッション管理テーブル111のレコード(セッション情報)を削除する。例えば、アクセス制御部120は“ROLE3”のレコードをセッション管理テーブル111から削除する。
(ステップS66)アクセス制御部120は、セッション情報の削除が完了した旨を管理サーバ200に応答する。
(ステップS67)管理部220は、ステップS64で削除の指示を行った中継装置から削除完了の応答を受信する。複数の中継装置に対して削除の指示を行った場合には、管理部220は複数の中継装置から削除完了の応答を受信する。
(ステップS67)管理部220は、ステップS64で削除の指示を行った中継装置から削除完了の応答を受信する。複数の中継装置に対して削除の指示を行った場合には、管理部220は複数の中継装置から削除完了の応答を受信する。
(ステップS68)管理部220は、指示を行った全ての中継装置から削除完了の応答を受信するとログアウト完了を中継装置100に応答する。
(ステップS69)アクセス制御部120は、管理サーバ200から当該応答を受信すると、ログアウト完了をクライアントに応答する。
(ステップS69)アクセス制御部120は、管理サーバ200から当該応答を受信すると、ログアウト完了をクライアントに応答する。
このようにして、中継装置100および管理サーバ200はログアウト処理を実行する。管理サーバ200は、1つの中継装置からあるクライアントのログアウト要求を受信すると、当該クライアントに係るセッション情報を保持する全ての中継装置に対してセッション情報の削除を指示する。このため、各中継装置に余計なセッション情報が残留することを防げる。次にログアウト処理における通信の具体例を説明する。
図21は、第2の実施の形態の通信の具体例(その6)を示す図である。以下、図21に示す処理をステップ番号に沿って説明する。ステップST151の直前では、セッション管理テーブル111a,111bには“ROLE1”のレコードが存在するものとする。接続管理テーブル213には、ユーザID“UID0001”、端末IPアドレス“192.168.10.11”、中継装置IPアドレス“192.168.10.2”、適用ROLE“ROLE1”のレコードが存在するものとする。また、接続管理テーブル213には、ユーザID“UID0001”、端末IPアドレス“192.168.10.11”、中継装置IPアドレス“192.168.20.1”、適用ROLE“ROLE1”のレコードが存在するものとする。
(ステップST151)クライアント600は、中継装置100a宛てにログアウト要求を送信する。中継装置100aはログアウト要求を受信する。中継装置100aが受信するログアウト要求には、IPパケットの送信元IPアドレスとしてクライアント600のIPアドレス“192.168.10.11”が含まれる。
(ステップST152)中継装置100aは、当該送信元IPアドレスを抽出する。中継装置100aは、抽出されたクライアント600のIPアドレスをIPパケットのデータ部分に含めたログアウト要求を生成して管理サーバ200に送信する。管理サーバ200は当該ログアウト要求を受信する。
(ステップST153)管理サーバ200は、接続管理テーブル213を参照して、当該IPアドレスが端末IPアドレスの項目に設定されたレコードを検索する。ここでは、端末IPアドレスの項目の設定値が“192.168.10.11”である上記の2つのレコードが存在している。管理サーバ200は、これらのレコードから2つの中継装置IPアドレス“192.168.10.2”、“192.168.20.1”を取得する。また、当該2つのレコードによれば、これら2つの中継装置100a,100bに適用されたROLEは“ROLE1”である。よって、管理サーバ200は、中継装置100aに“ROLE1”のセッション情報の削除を指示する。
(ステップST154)管理サーバ200は、中継装置100bにも“ROLE1”のセッション情報の削除を指示する。ただし、ステップST154の指示はステップST153と同時に行われてもよい。
(ステップST155)管理サーバ200は、ステップST153で検索された2つのレコードを接続管理テーブル213から削除する。
(ステップST156)中継装置100aは、管理サーバ200からの削除指示に基づいて、セッション管理テーブル111aから“ROLE1”のレコードを削除する。そして、中継装置100aは削除完了を管理サーバ200に応答する。管理サーバ200は当該応答を受信する。
(ステップST156)中継装置100aは、管理サーバ200からの削除指示に基づいて、セッション管理テーブル111aから“ROLE1”のレコードを削除する。そして、中継装置100aは削除完了を管理サーバ200に応答する。管理サーバ200は当該応答を受信する。
(ステップST157)中継装置100bは、管理サーバ200からの削除指示に基づいて、セッション管理テーブル111bから“ROLE1”のレコードを削除する。そして、中継装置100bは削除完了を管理サーバ200に応答する。管理サーバ200は当該応答を受信する。
(ステップST158)管理サーバ200は、ステップST152のログアウト要求に対してログアウト完了を中継装置100aに応答する。中継装置100aは当該応答を受信する。
(ステップST159)中継装置100aは、ステップST151のログアウト要求に対してログアウト完了をクライアント600に応答する。クライアント600は当該応答を受信する。
このようにして、中継装置100a,100bおよび管理サーバ200はログアウト処理を実行する。例えば、図17で説明したように、クライアント600から中継装置100a,100bの両方を経由した業務サーバへのアクセスも可能である。このような場合にも、クライアント600からの1回のログアウト要求で、中継装置100a,100bの両方が保持するセッション情報を適正に消去できる。これによって、クライアント600からの接続を閉塞させることができる。
なお、中継装置100,100a,100bからセッション情報が削除されるタイミングは、クライアント500などからログアウト要求を受信したタイミング以外のタイミングも考え得る。例えば、中継装置100,100a,100bは、セッション情報についてタイムアウトを検出し、タイムアウトを検出した場合に、当該セッション情報を削除してもよい。具体的には、中継装置100,100a,100bは、セッション情報ごとに前回クライアントからの接続を受け付けてからの時間を監視する。そして、現在までの未接続の時間が閾値以上となった場合に、当該セッション情報を削除する。
中継装置100,100a,100bは、タイムアウトでセッション情報を削除した場合にも、管理サーバ200に削除した旨(削除したセッション情報のROLE番号を含む)を通知する。すると、管理サーバ200は、接続管理テーブル213から、当該通知の送信元の中継装置のIPアドレスおよびROLE番号を含むレコードを削除する。このように、タイムアウトによりクライアントからの接続を閉塞させることも可能である。
図22は、第2の実施の形態のアクセス可能範囲の例(その1)を示す図である。図22では、ユーザA,B,Cそれぞれがクライアント500,500a,600aを用いてアクセスできる業務サーバを例示している。図7〜9で例示した各テーブル内容が中継装置100,100a,100bおよび管理サーバ200に保持されている場合である。
この場合、ユーザAはクライアント500を用いて業務サーバ300にアクセス可能である。クライアント500のリクエストを中継する中継装置100が“ROLE3”のセッション情報を保持するからである。
また、ユーザBはクライアント500aを用いて業務サーバ300,300aにアクセス可能である。クライアント500aのリクエストを中継する中継装置100が“ROLE5”のセッション情報を保持するからである。
更に、ユーザCはクライアント600aを用いて業務サーバ400,400aにアクセス可能である。クライアント600aのリクエストを中継する中継装置100a,100bが“ROLE6”のセッション情報を保持するからである。
図23は、第2の実施の形態のアクセス可能範囲の例(その2)を示す図である。図22では、ユーザAがクライアント500,600を用いてアクセスできる業務サーバを例示している。図7〜9で例示した各テーブル内容が中継装置100,100a,100bおよび管理サーバ200に保持されている場合である。
この場合、ユーザAはクライアント500を用いて業務サーバ300にアクセス可能である。クライアント500のリクエストを中継する中継装置100が“ROLE3”のセッション情報を保持するからである。
また、ユーザAはクライアント600を用いて業務サーバ300,300a,400,400aにアクセス可能である。クライアント600のリクエストを中継する中継装置100a,100bが“ROLE1”のセッション情報を保持するからである。
このようにして、中継装置100,100a,100bおよび管理サーバ200は、ユーザごとおよび、ユーザが利用するクライアントごとにアクセス可能な業務サーバの範囲を制限することができる。
ところで、業務サーバは仮想サーバを用いて実装されてもよい。
図24は、第2の実施の形態の他の例(その1)を示す図である。例えば、ネットワーク20に実行サーバ700,700aを設ける。実行サーバ700,700aは仮想マシンおよび仮想スイッチが動作可能なサーバコンピュータである。実行サーバ700,700aは、管理サーバ200と同様のハードウェアを用いて実現できる。例えば、実行サーバ700はハイパーバイザと呼ばれるソフトウェアを実行する。
図24は、第2の実施の形態の他の例(その1)を示す図である。例えば、ネットワーク20に実行サーバ700,700aを設ける。実行サーバ700,700aは仮想マシンおよび仮想スイッチが動作可能なサーバコンピュータである。実行サーバ700,700aは、管理サーバ200と同様のハードウェアを用いて実現できる。例えば、実行サーバ700はハイパーバイザと呼ばれるソフトウェアを実行する。
ハイパーバイザは、実行サーバ700上で仮想スイッチ710および仮想マシン720,730を動作させる。ハイパーバイザは、仮想スイッチ710および仮想マシン720,730に、実行サーバ700が備えるCPUなどの演算のリソースやRAMなどの記憶領域のリソースの一部を割り当てる。実行サーバ700aも実行サーバ700と同様に仮想スイッチおよび仮想マシンを動作させる。
仮想スイッチ710は、仮想マシン720,730とネットワーク20との間の通信を中継する。仮想マシン720,730は、業務サーバとして用いられる。ここで、仮想スイッチ710は、中継装置100,100a,100b(中継装置100bは図24では図示を省略)と同様に、セッション情報を記憶する記憶部やアクセス制御部を有してもよい。そして、仮想スイッチ710を用いて仮想マシン720,730に関するアクセス制御を行ってもよい。その場合、実行サーバ700を中継装置と呼ぶこともできる。
図25は、第2の実施の形態の他の例(その2)を示す図である。図2で例示した第2の実施の形態の情報処理システムでは、中継装置100,100a,100bを含む多数のネットワーク機器、および、物理マシンや仮想マシンが含まれ得る。そして、ユーザごとのアクセス制御の設定を変更する場合、例えば、情報処理システムの管理者が対象となる中継装置を探し出して、個別にVLANなどを設定することも考えられる。しかし、多数のネットワーク機器の中から、対象の中継装置を探し出すことは容易でない。また、中継装置に対して個々に設定変更を行うための作業コストも問題となる。
特に、大規模なネットワークでは、物理マシン、仮想マシンおよび中継装置の数も多い。また、物理マシンや仮想マシンの追加や物理マシン、仮想マシン、中継装置および仮想スイッチの接続変更も頻繁に起こり得る。このような場合、中継装置を管理者が個別に設定変更するための作業負担は特に大きくなり得る。
これに対し、第2の実施の形態では、ユーザのアクセス制御の設定内容を管理サーバ200により一元管理する。そして、各中継装置は、クライアントからのアクセスが発生した際に、当該ユーザに対するアクセス制御の設定内容を管理サーバ200から取得する。各業務サーバのアクセス制御の設定変更を行いたい場合には、管理サーバ200が保持するユーザ管理テーブル211やアクセス管理テーブル212を変更すればよい。
このため、管理者が設定対象の中継装置を探し出す手間を省け、また、中継装置に対して個々に設定変更を行うための作業コストも削減できる。このようにして、中継装置に対するユーザごとのアクセス制御の設定を容易に行うことができる。また、管理者の作業を省力化でき、アクセス制御の設定を効率的に行うことができる。また、新たにネットワークセグメントを設けたい場合にも、第2の実施の形態の中継装置を当該セグメントの入口に設ければ、当該セグメントに対するアクセス制御を容易に導入することができる。
また、アクセス制御の設定にIPアドレスを用いることで、例えばVLANのように多数のスイッチに対してデータリンク層レベルでの細かな設定を行わずに済む。アクセスを許容したい両末端のノードをIPアドレスにより指定すればよいため、データリンク層レベルでの設定に比べて設定内容も平易である。このため、メンテナンスを行い易く、運用管理の効率化にも寄与し得る。
なお、管理サーバ200はその負荷に応じて複数設けてもよい。例えば、ネットワーク20,30の両方に設けてもよい。その場合、各管理サーバでユーザ管理テーブル211、アクセス管理テーブル212および接続管理テーブル213の内容を同期してもよい。
また、上述したように中継装置100,100a,100bはL3スイッチやルータでもよい。更に、中継装置100,100a,100bは、業務サーバ300,300a,400,400aに対するアクセス負荷を分散する負荷分散装置でもよい。あるいは、中継装置100にファイアウォール11の機能を集約してもよい。その場合、中継装置100をファイアウォールと呼ぶことができる。中継装置100は、ファイアウォールやVPNサーバの機能を組み込んだUTM装置などのアプライアンス装置でもよい。中継装置100,100a,100bを管理サーバ200と同様の構成を有するコンピュータによって実現することもできる。
更に、図2の説明において、VPNサーバを設けてもよいことを説明した。中継装置100がVPNサーバ機能を備え、ユーザ認証の処理をVPNにおける認証と連携してもよい。そうすれば、例えばユーザAがVPNへの認証に成功した時点で、ユーザAが利用するクライアント500に対するアクセス制御の設定を中継装置100に行えることになる。よって、ユーザに対して重複した認証情報の入力を課さずに済み、アクセスの利便性を一層向上し得る。
[第3の実施の形態]
以下、第3の実施の形態を説明する。前述の第2の実施の形態との相違点を主に説明し、共通の事項の説明を省略する。
以下、第3の実施の形態を説明する。前述の第2の実施の形態との相違点を主に説明し、共通の事項の説明を省略する。
第2の実施の形態では、ユーザごと、またはユーザが利用するクライアント装置ごとのアクセス制御を行うことを例示した。これに加え、ユーザごとのアクセス制御を更に詳細に行うことも可能である。第3の実施の形態では、そのための方法を例示する。
ここで、第3の実施の形態の情報処理システムおよび各装置のハードウェア例/ソフトウェア例は、図2〜5で説明した第2の実施の形態の情報処理システムおよび各装置のハードウェア例/ソフトウェア例と同様であるため説明を省略する。また、第3の実施の形態の各装置についても第2の実施の形態と同一の名称・符号を用いる。
第3の実施の形態では、管理サーバ200が保持するアクセス管理テーブルの内容が第2の実施の形態と異なる。また、中継装置100,100a,100bそれぞれが保持するセッション管理テーブルの内容が第2の実施の形態と異なる。
図26は、第3の実施の形態のアクセス管理テーブルの例を示す図である。アクセス管理テーブル212aは、記憶部210に格納される。アクセス管理テーブル212aはROLE、ユーザID、端末IPアドレス、端末MACアドレス、接続許可時間帯、接続許可中継装置およびACLの項目を含む。ここで、ROLE、ユーザID、端末IPアドレス、端末MACアドレスおよびACLの項目に登録される情報は、アクセス管理テーブル212と同様であるため説明を省略する。
接続許可時間帯の項目には、ACLへのアクセスを許容する時間帯が登録される。接続許可中継装置の項目には、アクセス元として許容される中継装置のIPアドレスが登録される。
例えば、アクセス管理テーブル212aには、ROLEが“11”、ユーザIDが“UID0001”、端末IPアドレスが“192.168.10.11”、端末MACアドレスが“08−b4−25−9e−0c−46”、接続許可時間帯が“9:00−17:00”、接続許可中継装置が“192.168.10.2”、ACLが“192.168.10.101,・・・”という情報が登録されている。
これは、ユーザID“0001”のユーザAが、IPアドレス“192.168.10.11”、MACアドレス“08−b4−25−9e−0c−46”であるクライアントから9時から17時の間に、中継装置100aを介してアクセスする場合に、当該ACLのIPアドレスへのアクセスが許容されることを示す。
一方、アクセス管理テーブル212aには、“ROLE12”のレコードが登録されている。“ROLE12”は、“ROLE11”と同じアドレス情報をもつクライアントが、17時から9時の間にアクセスを行う場合のROLEである。例えば、“ROLE11”とは異なるACLを登録することで、時間帯によってアクセスを許容する業務サーバの範囲を変えることができる。
また、アクセス管理テーブル212aの“ROLE13”および“ROLE14”も同様である。ただし、“ROLE14”では、接続許可中継装置の設定も異なっている。具体的には“ROLE13”では接続許可中継装置の項目の設定が中継装置100a(IPアドレス“192.168.10.2”)であるのに対し、“ROLE14”では同項目の設定が中継装置100b(IPアドレス“192.168.20.1”)である。すなわち、“ROLE13”によれば、ユーザID“UID0002”のユーザBは、8時から19時の間は中継装置100aを介したアクセスのみが許容されている。一方、“ROLE14”によれば、ユーザBは、19時から0時の間は中継装置100bを介したアクセスのみが許容されている。それ以外の時間帯では、ユーザBによるアクセスは許容されていない。
なお、アクセス管理テーブル212aでは、中継装置のIPアドレス以外を用いて、接続許可中継装置を登録してもよい。例えば、中継装置100,100a,100bそれぞれに所定の識別名称を予め付与しておく。そして、接続許可中継装置の項目には、中継装置のIPアドレスに代えて、当該識別名称を設定してもよい。
管理部220は、アクセス管理テーブル212aに基づいてセッション情報を生成し、中継装置100,100a,100bに提供する。次に、中継装置100が保持するセッション管理テーブルの例を説明する。中継装置100a,100bが保持するセッション管理テーブルも同様のデータ構造である。
図27は、第3の実施の形態のセッション管理テーブルの例を示す図である。セッション管理テーブル111cは、記憶部110に格納される。セッション管理テーブル111cは、アクセス制御部120により更新される。セッション管理テーブル111cは、ROLE、端末IPアドレス、接続許可時間帯およびACLの項目を含む。ここで、ROLE、端末IPアドレスおよびACLの項目に登録される情報は、セッション管理テーブル111と同様であるため説明を省略する。接続許可時間帯の項目には、ACLへのアクセスを許容する時間帯が登録される。
例えば、セッション管理テーブル111cには、ROLEが“11”、端末IPアドレスが“192.168.10.11”、接続許可時間帯が“9:00−17:00”、ACLが“192.168.10.101,・・・”という情報が登録されている。これは、送信元/宛先IPアドレスの組が“192.168.10.11”およびACLに含まれる何れかのIPアドレスである通信データの中継が、9時から17時の間において許容されていることを示す。
次に、第3の実施の形態の処理手順を説明する。ここで、第3の実施の形態の中継装置100,100a,100bは、図11〜13、図18および図20で説明した各手順を実行する。これらの各手順については説明を省略する。
ただし、管理部220は、図11のステップS14においてACLを検索する際に、現在の時刻および認証依頼の送信元の中継装置のIPアドレスをも考慮する。すなわち、ユーザID、端末IPアドレス、端末MACアドレス、接続許可時間帯および接続許可中継装置の条件が一致するACLをアクセス管理テーブル212aから抽出することになる。条件に一致するACLが存在しない場合はステップS15において認証失敗と判定する。
第3の実施の形態では、第2の実施の形態の処理手順に加えて、中継装置100,100a,100bは時間帯に応じたセッション管理テーブルの更新も行う。次に、当該セッション管理の処理手順を例示する。以下では、アクセス制御部120について説明するが、アクセス制御部120a,120bの処理も同様の手順である。
図28は、第3の実施の形態のセッション管理の例を示すフローチャートである。以下、図28に示す処理をステップ番号に沿って説明する。
(ステップS71)アクセス制御部120は、記憶部110に記憶されたセッション管理テーブル111cを監視する。
(ステップS71)アクセス制御部120は、記憶部110に記憶されたセッション管理テーブル111cを監視する。
(ステップS72)アクセス制御部120は、セッション管理テーブル111cに登録されたセッション情報のうち、接続許可時間帯を超過したセッション情報があるか否かを判定する。接続許可時間帯を超過したセッション情報がある場合、処理をステップS73に進める。接続許可時間帯を超過したセッション情報がない場合、処理をステップS71に進める。例えば、アクセス制御部120は、中継装置100が備えるRTC(Real Time Clock)の時刻と、セッション管理テーブル111cの各レコード(セッション情報)の接続許可時間帯とを対比することで、当該判定を行える。例えば、セッション管理テーブル111cの“ROLE11”のセッション情報は接続許可時間帯が9時から17時である。よって、アクセス制御部120は17時を超えると、“ROLE11”のセッション情報を削除する。
(ステップS73)アクセス制御部120は、ステップS72で接続許可時間帯を超過したと判断されたセッション情報をセッション管理テーブル111cから削除する。
(ステップS74)アクセス制御部120は、セッション情報を削除した旨を管理サーバ200に通知する。当該通知には、削除したセッション情報に含まれる端末IPアドレスの情報が含まれる。
(ステップS74)アクセス制御部120は、セッション情報を削除した旨を管理サーバ200に通知する。当該通知には、削除したセッション情報に含まれる端末IPアドレスの情報が含まれる。
(ステップS75)アクセス制御部120は、ステップS74の通知に対して、削除したセッション情報と同一の端末IPアドレスを含む次の時間帯のセッション情報を管理サーバ200から受信したか否かを判定する。受信した場合、処理をステップS76に進める。受信していない場合、処理をステップS71に進める。例えば、セッション管理テーブル111cから“ROLE11”のレコードを削除した場合、アクセス制御部120は、次の時間帯のセッション情報として“ROLE12”に対応するセッション情報を管理サーバ200から受信し得る。
(ステップS76)アクセス制御部120は、受信した次の時間帯のセッション情報をセッション管理テーブル111cに登録する。そして、処理をステップS71に進める。
このようにして、中継装置100は、接続許可時間帯を超過したセッション情報を削除する。すると、ユーザが次に中継装置100を介したアクセスを試みるとき、当該ユーザに対して再度の認証が課されることになる。これにより、接続許可時間帯を超過したアクセスを制限することができる。
このようにして、中継装置100は、接続許可時間帯を超過したセッション情報を削除する。すると、ユーザが次に中継装置100を介したアクセスを試みるとき、当該ユーザに対して再度の認証が課されることになる。これにより、接続許可時間帯を超過したアクセスを制限することができる。
更に、管理サーバ200の管理部220は、削除の通知があったセッション情報と同一の端末IPアドレス(任意の送信元IPアドレスによってセッション情報が提供されていた場合は、任意のIPアドレス)を含む次の時間帯のレコードをアクセス管理テーブル212から検索する。次の時間帯のレコードとは削除の通知があったセッション情報に含まれる時間帯の次の時間帯を接続許可時間帯に含むレコードである。
管理部220は、何れかのレコードが検索された場合は、当該レコードに基づいてセッション情報を生成し、中継装置100に提供する。何れのレコードも検索されない場合は、管理部220は次の時間帯のセッション情報の送信を行わない。管理部220は、新たなセッション情報を中継装置100に提供した場合、当該セッション情報の提供状況を接続管理テーブル213に登録する。
このようにして、中継装置100のセッション情報が更新されれば、ACLも別時間帯のものに更新されることになり、アクセス可能な業務サーバの範囲が変更されることになる。また、次の時間帯のACLを適用する場合に、ユーザに対して再度の認証操作を課さずに済む。
なお、ステップS74の通知を受けた管理サーバ200は、接続管理テーブル213から該当の端末IPアドレスを含むレコードを抽出する。管理サーバ200は、当該端末IPアドレスに対応する全ての中継装置IPアドレスを取得する。そして、管理サーバ200は、取得した中継装置IPアドレスに対応する全ての中継装置に対して当該端末IPアドレスを含むセッション情報の削除を指示する。これにより、ログアウトする場合と同様に、各中継装置に余計なセッション情報が残留することの防止を図れる。
図29は、第3の実施の形態のアクセス可能範囲の例(その1)を示す図である。図29では、ユーザAがクライアント600を用いてアクセスできる業務サーバを例示している。図26で示したアクセス管理テーブル212aの設定内容に基づくアクセス制御の例である。
この場合、ユーザAは9時から17時の間は業務サーバ300,300a,400,400aにアクセス可能である。クライアント600のリクエストを中継する中継装置100a,100bが“ROLE11”のセッション情報を用いて中継の可否を判断するからである。
一方、ユーザAは17時から9時の間は業務サーバ400,400aにアクセス可能である。中継装置100a,100bが“ROLE12”のセッション情報を用いて中継の可否を判断するからである。
このようにして、中継装置100,100a,100bおよび管理サーバ200は、ユーザごと、かつ、時間帯ごとに、アクセス可能な業務サーバの範囲を制限することができる。
図30は、第3の実施の形態のアクセス可能範囲の例(その2)を示す図である。図30では、ユーザBがクライアント600aを用いてアクセスできる業務サーバを例示している。図26で示したアクセス管理テーブル212aの設定内容に基づくアクセス制御の例である。
この場合、ユーザBは8時から19時の間は、中継装置100aを介して、業務サーバ300,300a,400,400aにアクセス可能である。中継装置100a,100bが“ROLE13”のセッション情報を用いて中継の可否を判断するからである。
一方、ユーザBは19時から0時の間は、中継装置100bを介して、業務サーバ400,400aにアクセス可能である。中継装置100bが“ROLE14”のセッション情報を用いて中継の可否を判断するからである。
このように、ユーザごとに時間帯に応じたアクセス制御を行える。更に、クライアントごとに接続する中継装置を制限することができる。接続する中継装置の制限を時間帯に応じて変更することも可能である。これらのアクセス制御の内容は、管理サーバ200により一元管理される。例えば、情報処理システムの管理者は、アクセス管理テーブル212aの設定を変更すれば、当該変更内容を各中継装置に反映させたアクセス制御を行うことが可能である。これにより、中継装置ごとのアクセス制御の設定を容易に行うことができる。
なお、前述のように、第1の実施の形態の情報処理は、中継装置1および情報処理装置2にプログラムを実行させることで実現できる。また、第2の実施の形態の情報処理は、中継装置100,100a,100bおよび管理サーバ200にプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体(例えば、光ディスク23、メモリ装置24およびメモリカード26など)に記録できる。
プログラムを流通させる場合、例えば、当該プログラムを記録した可搬記録媒体が提供される。また、プログラムを他のコンピュータの記憶装置に格納しておき、ネットワーク経由でプログラムを配布することもできる。コンピュータは、例えば、可搬記録媒体に記録されたプログラムまたは他のコンピュータから受信したプログラムを、記憶装置に格納し、当該記憶装置からプログラムを読み込んで実行する。ただし、可搬記録媒体から読み込んだプログラムを直接実行してもよく、他のコンピュータからネットワークを介して受信したプログラムを直接実行してもよい。
また、上記の情報処理の少なくとも一部を、DSP、ASIC、PLDなどの電子回路で実現することもできる。
更に、上記の説明ではIPv4(Internet Protocol version 4)を例示して説明したが、IPv6(Internet Protocol version 6)を通信プロトコルとして用いた場合も同様である。具体的には、IPv4を用いて例示したIPアドレスに代えて、IPv6に対応したIPv6アドレスを用いることができる。
更に、上記の説明ではIPv4(Internet Protocol version 4)を例示して説明したが、IPv6(Internet Protocol version 6)を通信プロトコルとして用いた場合も同様である。具体的には、IPv4を用いて例示したIPアドレスに代えて、IPv6に対応したIPv6アドレスを用いることができる。
上記については単に本発明の原理を示すものである。更に、多数の変形や変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応する全ての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
1 中継装置
1a,2a 記憶手段
1b 設定手段
1c 制御手段
2 情報処理装置
2b 提供手段
3,4,5,6 ノード
3a,3b,3c データ
1a,2a 記憶手段
1b 設定手段
1c 制御手段
2 情報処理装置
2b 提供手段
3,4,5,6 ノード
3a,3b,3c データ
Claims (20)
- ユーザを示す第1の識別情報および送信元のノードを示す第2の識別情報を受信すると、複数のユーザの識別情報それぞれに対応付けてアクセスが許容された宛先のノードを示す識別情報を記憶する情報処理装置に前記第1の識別情報および前記第2の識別情報を送信し、前記情報処理装置から、前記第1の識別情報および前記第2の識別情報に対応する宛先のノードを示す第3の識別情報を取得し、データの中継が許容された組み合わせとして前記第2の識別情報と前記第3の識別情報とを記憶手段に設定する設定手段と、
送信元のノードの識別情報と宛先のノードの識別情報とを含むデータの中継を行う際に、前記記憶手段に設定された情報に基づいて、当該データを中継するか否かを判定する制御手段と
を有する中継装置。 - 前記情報処理装置は、ユーザの識別情報および送信元のノードの識別情報に対応付けてアクセスが許容された宛先のノードを示す識別情報を記憶している
請求項1記載の中継装置。 - 前記情報処理装置は、ユーザの識別情報に対応付けて送信元のノードの識別情報によらずにアクセスが許容された宛先のノードを示す識別情報を記憶しており、
前記設定手段は、前記第1の識別情報および前記第2の識別情報に対応する宛先のノードを示す識別情報が前記情報処理装置に記憶されていない場合には、前記第1の識別情報に対して送信元のノードの識別情報によらずにアクセスが許容された宛先のノードを示す識別情報を前記第3の識別情報として取得する
請求項2記載の中継装置。 - 前記制御手段は、データの中継を行う際に、送信元および宛先のノードの識別情報の組み合わせが前記記憶手段に設定された組み合わせに一致する場合にはデータを中継すると判定して当該データを宛先のノードに対して転送し、また、送信元および宛先のノードの識別情報の組み合わせが前記記憶手段に設定されていない場合には当該データを中継しないと判定して当該データを破棄する
請求項1乃至3の何れか1項に記載の中継装置。 - 前記情報処理装置は、他の中継装置に設定されている送信元および宛先のノードの識別情報の組み合わせを記憶しており、
前記制御手段は、データの中継を行う際に、送信元のノードの識別情報を含む組み合わせが前記記憶手段に設定されていない場合、当該送信元のノードの識別情報を含む組み合わせが他の中継装置に設定されているか否かを前記情報処理装置に問い合わせ、当該組み合わせが他の中継装置に設定されている場合には前記情報処理装置から当該組み合わせを取得し、取得された当該組み合わせに基づいて当該データを中継するか否かを判定し、また、当該組み合わせが他の中継装置に設定されていない場合には当該データを中継しない
請求項1乃至4の何れか1項に記載の中継装置。 - 前記設定手段は、前記第3の識別情報とともにアクセスが許容される時間帯を示す情報を前記情報処理装置から取得し、前記第2の識別情報および前記第3の識別情報に対応付けて前記記憶手段に設定し、
前記制御手段は、現時刻が前記時間帯を過ぎると、前記時間帯を示す情報に対応する前記第2の識別情報および前記第3の識別情報の組み合わせを前記記憶手段から削除する
請求項1乃至5の何れか1項に記載の中継装置。 - 送信元および宛先のノードの識別情報はデータの転送に用いられるアドレス情報である
請求項1乃至6の何れか1項に記載の中継装置。 - 送信元のノードにより送信されたデータを中継する中継装置と通信可能な情報処理装置であって、
複数のユーザの識別情報それぞれに対応付けてアクセスが許容された宛先のノードを示す識別情報を記憶する記憶手段と、
ユーザを示す第1の識別情報および送信元のノードを示す第2の識別情報を中継装置から受信すると、前記記憶手段を参照して、前記第1の識別情報に対応する宛先のノードを示す第3の識別情報を検索し、前記第2の識別情報に対応してデータの中継が許容された宛先のノードの識別情報として前記第3の識別情報を当該中継装置に提供する提供手段と
を有する情報処理装置。 - 前記記憶手段は、ユーザの識別情報に対応付けて複数の送信元のノードを用いた多重のアクセスを許容するか否かを示す許可情報を記憶しており、
前記提供手段は、前記第3の識別情報を中継装置に提供した後に、前記第1の識別情報および送信元のノードを示しており前記第2の識別情報とは異なる識別情報を中継装置から受信すると、前記許可情報に基づいて、前記第3の識別情報を当該中継装置に提供するか否かを判定する
請求項8記載の情報処理装置。 - 前記記憶手段は、ユーザの識別情報および送信元のノードの識別情報に対応付けてアクセスが許容された宛先のノードを示す識別情報を記憶しており、
前記提供手段は、前記第1の識別情報および前記第2の識別情報に対応する宛先のノードを示す前記第3の識別情報を検索する
請求項8または9記載の情報処理装置。 - 前記記憶手段は、ユーザの識別情報に対応付けて送信元のノードの識別情報によらずにアクセスが許容された宛先のノードを示す識別情報を記憶しており、
前記提供手段は、前記第1の識別情報および前記第2の識別情報に対応する宛先のノードを示す識別情報が前記記憶手段に記憶されていない場合には、前記第1の識別情報に対して送信元のノードの識別情報によらずにアクセスが許容された宛先のノードを示す識別情報を検索し、前記第3の識別情報として中継装置に提供する
請求項10記載の情報処理装置。 - 前記提供手段は、送信元のノードの識別情報に対応付けて宛先のノードの識別情報を中継装置に提供したことの履歴を前記記憶手段に登録し、前記第2の識別情報が前記履歴に登録済か否かの問い合わせを他の中継装置から受信すると、前記履歴を参照して、前記第2の識別情報が登録済であれば前記第3の識別情報を当該他の中継装置に提供し、また、前記第2の識別情報が登録済でなければ未登録である旨を当該他の中継装置に応答する
請求項8乃至11の何れか1項に記載の情報処理装置。 - 前記提供手段は、宛先のノードの識別情報を提供した中継装置の識別情報も送信元のノードの識別情報に対応付けて前記履歴に登録し、前記第2の識別情報を含むログアウト要求を受信すると、前記履歴を参照して、前記第2の識別情報に対して前記第3の識別情報を提供した全ての中継装置に前記第2の識別情報と前記第3の識別情報との組み合わせについて中継を許容する旨の設定を削除させ、前記履歴の前記第2の識別情報の記録を削除する
請求項12記載の情報処理装置。 - 前記記憶手段は、ユーザの識別情報および時間帯を示す情報に対応付けてアクセスが許容される宛先のノードの識別情報を記憶しており、
前記提供手段は、前記記憶手段を参照して、前記第1の識別情報および現時刻の時間帯を示す情報に対応する宛先のノードを示す前記第3の識別情報を検索する
請求項8乃至13の何れか1項に記載の情報処理装置。 - 前記記憶手段は、ユーザの識別情報および中継装置の識別情報に対応付けてアクセスが許容される宛先のノードの識別情報を記憶しており、
前記提供手段は、前記記憶手段を参照して、前記第1の識別情報および前記第2の識別情報を送信した中継装置の識別情報に対応する宛先のノードを示す前記第3の識別情報を検索する
請求項8乃至14の何れか1項に記載の情報処理装置。 - 前記提供手段は、ユーザの識別情報および送信元のノードの識別情報に対応付けて中継装置に情報を提供したことの履歴を前記記憶手段に登録し、宛先のノードに対して転送されたデータに含まれる送信元のノードの識別情報が前記履歴に登録済か否かの問い合わせを当該宛先のノードから受信すると、前記履歴を参照して、当該送信元のノードの識別情報が登録済であれば当該送信元のノードの識別情報に対応するユーザの識別情報を前記履歴から取得して当該宛先のノードに提供し、また、当該送信元のノードの識別情報が前記履歴に登録済でなければ未登録である旨を当該宛先のノードに応答する
請求項8乃至15の何れか1項に記載の情報処理装置。 - 送信元および宛先のノードの識別情報はデータの転送に用いられるアドレス情報である
請求項8乃至16の何れか1項に記載の情報処理装置。 - 送信元のノードにより送信されたデータを中継する中継装置および前記中継装置と通信可能な情報処理装置を含むシステムで実行されるアクセス制御方法であって、
ユーザを示す第1の識別情報および送信元のノードを示す第2の識別情報を前記中継装置を用いて受信すると、前記第1の識別情報および前記第2の識別情報を前記情報処理装置に送信し、
前記情報処理装置を用いて、複数のユーザの識別情報それぞれに対応付けてアクセスが許容された宛先のノードの識別情報を記憶する記憶手段を参照して、前記第1の識別情報に対応する宛先のノードを示す第3の識別情報を検索し、前記第2の識別情報に対応してデータの中継が許容された宛先のノードの識別情報として前記第3の識別情報を前記中継装置に提供し、
送信元のノードの識別情報と宛先のノードの識別情報とを含むデータの中継を、前記中継装置を用いて行う際に、前記情報処理装置から提供された情報に基づいて、当該データを中継するか否かを判定する
アクセス制御方法。 - 送信元のノードにより送信されたデータを中継するためのコンピュータに、
ユーザを示す第1の識別情報および送信元のノードを示す第2の識別情報を受信すると、複数のユーザの識別情報それぞれに対応付けてアクセスが許容された宛先のノードを示す識別情報を記憶する情報処理装置に前記第1の識別情報および前記第2の識別情報を送信し、前記情報処理装置から、前記第1の識別情報および前記第2の識別情報に対応する宛先のノードを示す第3の識別情報を取得し、データの中継が許容された組み合わせとして前記第2の識別情報と前記第3の識別情報とを記憶手段に設定し、
送信元のノードの識別情報と宛先のノードの識別情報とを含むデータの中継を行う際に、前記記憶手段に設定された情報に基づいて、当該データを中継するか否かを判定する
処理を実行させるプログラム。 - 送信元のノードにより送信されたデータを中継する中継装置と通信可能なコンピュータに、
ユーザを示す第1の識別情報および送信元のノードを示す第2の識別情報を前記中継装置から受信すると、複数のユーザの識別情報それぞれに対応付けてアクセスが許容された宛先のノードを示す識別情報を記憶する記憶手段を参照して、前記第1の識別情報に対応する宛先のノードを示す第3の識別情報を検索し、
前記第2の識別情報に対応してデータの中継が許容された宛先のノードの識別情報として前記第3の識別情報を前記中継装置に提供する
処理を実行させるプログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2012/066758 WO2014002265A1 (ja) | 2012-06-29 | 2012-06-29 | 中継装置、情報処理装置、アクセス制御方法およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP5800089B2 true JP5800089B2 (ja) | 2015-10-28 |
JPWO2014002265A1 JPWO2014002265A1 (ja) | 2016-05-30 |
Family
ID=49782488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014522333A Active JP5800089B2 (ja) | 2012-06-29 | 2012-06-29 | 中継装置、情報処理装置、アクセス制御方法およびプログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP5800089B2 (ja) |
WO (1) | WO2014002265A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015204027A (ja) * | 2014-04-15 | 2015-11-16 | 西日本電信電話株式会社 | 中継装置、認証制御方法及びコンピュータプログラム |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002223228A (ja) * | 2000-11-17 | 2002-08-09 | Alcatel Internetworking Inc | 通信ネットワークのための統合ポリシー実施サービス |
JP2005159683A (ja) * | 2003-11-25 | 2005-06-16 | Nippon Telegr & Teleph Corp <Ntt> | 情報通過制御システム、情報通過制御装置、プログラム及び記録媒体 |
-
2012
- 2012-06-29 JP JP2014522333A patent/JP5800089B2/ja active Active
- 2012-06-29 WO PCT/JP2012/066758 patent/WO2014002265A1/ja active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002223228A (ja) * | 2000-11-17 | 2002-08-09 | Alcatel Internetworking Inc | 通信ネットワークのための統合ポリシー実施サービス |
JP2005159683A (ja) * | 2003-11-25 | 2005-06-16 | Nippon Telegr & Teleph Corp <Ntt> | 情報通過制御システム、情報通過制御装置、プログラム及び記録媒体 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015204027A (ja) * | 2014-04-15 | 2015-11-16 | 西日本電信電話株式会社 | 中継装置、認証制御方法及びコンピュータプログラム |
Also Published As
Publication number | Publication date |
---|---|
JPWO2014002265A1 (ja) | 2016-05-30 |
WO2014002265A1 (ja) | 2014-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104506510B (zh) | 用于设备认证的方法、装置及认证服务系统 | |
US8910248B2 (en) | Terminal connection status management with network authentication | |
JP5824911B2 (ja) | 情報処理装置、情報処理プログラムおよび管理方法 | |
CN101465856B (zh) | 一种对用户进行访问控制的方法和系统 | |
JP5480265B2 (ja) | セキュアなリソース名前解決 | |
JP5333263B2 (ja) | アクセス制御システム及びアクセス制御方法 | |
WO2022247751A1 (zh) | 远程访问应用的方法、系统、装置、设备及存储介质 | |
CN110995656B (zh) | 负载均衡方法、装置、设备及存储介质 | |
CN105592180B (zh) | 一种Portal认证的方法和装置 | |
US11784993B2 (en) | Cross site request forgery (CSRF) protection for web browsers | |
CN110971702A (zh) | 服务调用方法、装置、计算机设备及存储介质 | |
CA2404910C (en) | Data networks | |
JP3961112B2 (ja) | パケット通信制御システム及びパケット通信制御装置 | |
CN109379339B (zh) | 一种Portal认证方法及装置 | |
CN108600225B (zh) | 一种认证方法及装置 | |
CN110891056A (zh) | Https请求认证方法及装置、电子设备、存储介质 | |
US20150327149A9 (en) | Secure Hotspot Roaming | |
JP5979304B2 (ja) | プログラム、情報処理装置および更新方法 | |
JP5800089B2 (ja) | 中継装置、情報処理装置、アクセス制御方法およびプログラム | |
CN108259420B (zh) | 一种报文处理方法及装置 | |
CN105959251B (zh) | 一种防止nat穿越认证的方法及装置 | |
JP4612528B2 (ja) | ネットワーク接続システム、ネットワーク接続装置およびそのプログラム | |
JP4886651B2 (ja) | Lan制御情報管理装置、lan制御システムおよびlan制御情報管理方法 | |
JP4878043B2 (ja) | アクセス制御システム、接続制御装置および接続制御方法 | |
CN114499965B (zh) | 一种基于pop3协议的上网认证方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20150728 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150810 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5800089 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |