以下、本発明の実施形態を説明するが、本発明の実施形態は、以下の実施形態に限定されるものではない。
図1は、ネットワーク・システムの実施形態を示した概略図である。図に示したネットワーク・システム10は、内部ネットワーク12と、認証サーバ20と、DHCP(Dynamic Host Configuration Protocol)サーバ22と、パーソナル・コンピュータ(以下、PCとして参照)14,16,24と、複合機(以下、MFPとして参照)18とを含み構成され、例えば、イーサネット(登録商標)およびTCP/IPプロトコルによるローカル・エリア・ネットワーク(以下、LANとして参照)を実現している。PC14およびMFP18は、ハブ30を介して内部ネットワーク12と接続され、認証サーバ20、DHCPサーバ22およびPC16は、ハブ32を介して内部ネットワーク12と接続される。ハブ30およびハブ32は、例えば、IEEE(The
Institute of Electrical and Electronics Engineers)802.1xによって規定される認証プロトコルに対応するスイッチング・ハブとして構成され、認証サーバ20のIPアドレスを保持している。
認証サーバ20は、ハブ30,32を認証装置として、ハブ30,32に接続された情報処理装置を認証し、認証結果に応じて当該情報処理装置のネットワークへの接続を許可する。なお、本実施形態において認証とは、対象の身元の正当性を確認し、対象がネットワークへの接続を許可されていることを確認することをいう。さらに本実施形態の認証サーバ20は、ネットワーク・システム10内の認証済の情報処理装置を管理し、各認証済装置に対して、少なくとも他の認証済装置のIPアドレスと、認証済装置間のIPsec通信設定に関する情報とを配布し、IPsec通信設定を構築させて、認証済装置間のエンド・ツー・エンドのセキュア通信を実現させている。なお、本実施形態において、セキュア通信とは、伝送データの完全性および機密性、またはこれらのいずれか一方が保証され、セキュリティ保護された通信をいう。
認証機能付きのハブ30,32は、自身と接続される情報処理装置と認証サーバ20との間の認証手続を仲介し、認証サーバ20による認証結果に応答して、当該情報処理装置への接続ポートの開閉を制御する。PC14,16やMFP18などの情報処理装置は、上記認証手続を行なう機能手段および、配布された設定情報からセキュア通信設定を構築する機能手段を備えている。認証機能付きのハブ30,32に接続された情報処理装置は、認証された後、ネットワークへの接続が許可され、また他の認証済装置とのセキュア通信を確立可能とされる。
上記認証プロトコルにおけるPC14,16、MFP18と、ハブ30,32との間の通信は、IP層以下のパケットにより行なうことができ、より具体的には、例えばEAPoL(Extensible Authentication Protocol over LAN)パケットによって行なうことができる。ハブ30,32と認証サーバ20との間の通信は、IP層以上のパケットにより行なうことができ、より具体的には、例えば、EAPoverRADIUS(Remote
Authentication Dial In User Service)パケットによって行なうことができる。ハブ30,32は、認証に必要なメッセージボディを適切なプロトコルに乗替える中継装置として機能する。
認証サーバ20による情報処理装置の認証方法は、認証にクライアント電子証明書を用いるEAP−TLS(Transport Layer Security)、IDおよびパスワードを用いるEAP−MD5(Message Digest Algorithm
5)やPEAP(Protected EAP)やEAP−TTLS(Tunnel TLS)など、種々の方法を採用することができ、特定の目的や要求されるセキュリティに適合させて採用することができる。なお、認証機能付きハブ30,32に接続される情報処理装置のユーザは、クライアント電子証明書や、IDおよびパスワードなどの認証に必要な情報を予め付与された正規のユーザとすることができる。
また本実施形態のネットワーク・システム10は、内部ネットワーク12と接続する認証機能を有さないハブ34を含み構成され、認証に必要な情報が付与されていないゲストユーザが使用する情報処理装置に対しても、接続可能に構成されている。図に示した実施形態では、PC24がゲストユーザとして、ハブ34を介して内部ネットワーク12と接続している。ただし、ゲストユーザのPC24は、ネットワークへの接続は可能とされているものの、IPsec通信によるアクセスを要求する情報資源に対しては、アクセス不可能とされる。
DHCPサーバ22は、RFC2131またはRFC3315により規定されるプロトコルに従って、ネットワーク上の情報処理装置に対してIPアドレスを貸出し、貸出したIPアドレスおよびその期限を管理する。DHCPサーバ22は、ネットワークに接続された情報処理装置に対して、自身が備える貸出可能なIPアドレス範囲の中から所定のIPアドレスを貸出し、またネットワークから離脱した情報処理装置に貸出していたIPアドレスを回収する。またDHCPサーバ22は、DNS(Domain Name System)サーバ、ゲートウェイサーバ、サブネットマスクなどの情報を提供する機能を有することができる。さらに本実施形態のDHCPサーバ22は、認証サーバ20からの、貸出IPアドレスを登録するリーステーブルの取得要求に応答して、リーステーブルを送付する。
本実施形態のPC14,16,24およびMFP18は、DHCPサーバ22から貸出されたIPアドレスを自身のIPアドレスとして保持する。しかしながら、各情報処理装置に割当てられるIPアドレスは、特に限定されるものではなく、ネットワーク基盤がIPv6である場合には、ステートレスアドレス自動生成によって生成されたリンクローカル・アドレスやグローバル・アドレスであってもよい。ネットワーク構成の自動設定という観点からは、各装置のIPアドレスは、自動的に割当てられたものとすることが好ましいが、手動設定により割当てられたIPアドレスを含むことを妨げるものではない。
なお、図1に示した実施形態では、有線ネットワークを例として参照したが、他の実施形態では、IEEE802.1X対応の無線LANアクセス・ポイントを介してワイヤレス接続する情報処理装置を含む構成とすることもできる。また、内部ネットワーク12は、複数のネットワーク・セグメントを含んでいてもよく、また、ファイアウォールなどを介して、インターネットなどの公共ネットワークと接続されてもよい。
図2は、認証サーバ20の概略的な構成の実施形態を示したブロック図である。本実施形態の認証サーバ20は、PCやワークステーションとして構成され、中央処理装置(CPU)42と、CPU42が使用するデータの高速アクセスを可能とするキャッシュ・メモリ44と、CPU42の処理を可能とするRAM、DRAMなどの固体メモリ素子から形成されるシステム・メモリ46とを備える。CPU42、キャッシュ・メモリ44、およびシステム・メモリ46は、システム・バス48を介して、認証サーバ20の他のデバイスまたはドライバ、例えば、グラフィックス・ドライバ50およびネットワーク・デバイス(NIC)52へと接続されている。グラフィックス・ドライバ50は、システム・バス48を介してディスプレイ装置54に接続されて、CPU42による処理結果をディスプレイ画面上に表示させている。また、ネットワーク・デバイス52は、物理層レベルで認証サーバ20をネットワークへと接続している。
システム・バス48には、さらにI/Oバス・ブリッジ56が接続されている。I/Oバス・ブリッジ56の下流側には、PCIなどのI/Oバス58を介して、IDE、ATA、ATAPI、シリアルATA、SCSI、USBなどにより、ハードディスク装置(以下、HDDとして参照)60などの記憶装置が接続されている。また、I/Oバス58には、USBなどのバスを介して、キーボードおよびマウスなどのポインティング・デバイスなどの入力装置62が接続され、システム管理者などのオペレータによる入力および指令を受付けている。
さらに、特定の実施形態において、認証サーバ20を、サーバ機能を備えるプリンタ・サーバやMFPなどの画像形成装置として構成する場合には、認証サーバ20は、システム・バス48に接続された画像処理ドライバ64および画像処理デバイス66を備えていても良い。画像処理ドライバ64および画像処理デバイス66は、図示しないADF(Automatic Document Feeder)および電子写真法を使用した画像形成エンジンを駆動して、画像処理・画像出力を行なう場合に用いることができる。また他の実施形態では、認証サーバ20は、アプライアンス型サーバ装置、ルータなどの通信装置、車載電子装置またはデジタル家電機器など、組込み機器として構成することもできる。
認証サーバ20は、ROM(図示せず)や、HDD60やNV−RAM(図示せず)やSDカード(図示せず)などの記憶装置に格納されたプログラム(図示せず)を読出し、CPU42の作業メモリ領域を提供するキャッシュ・メモリ44およびシステム・メモリ46のメモリ領域に展開することにより、後述する各機能手段および各処理を実現している。
認証サーバ20が使用するCPUとしては、より具体的には、例えば、Itanium(登録商標)、Xeon(登録商標)、Pentium(登録商標)、Celeron(登録商標)、PowerPC(登録商標)、Athlon(登録商標)、PA-RISC(略称)、MIPSまたはそれ以外の適切なCPUを挙げることができる。また、認証サーバ20が使用するオペレーティング・システム(OS)としては、例えば、Windows(登録商標)2000、Windows(登録商標)XP、Windows(登録商標)200Xサーバ、UNIX(登録商標)、LINUX(登録商標)、FreeBSD(登録商標)、AIX(登録商標)、MacOS(商標)、Solaris(登録商標)、VxWorks(登録商標)またはそれ以外の適切なOSを挙げることができる。なお、図1に示したPC14,16,24、MFP18などの情報処理装置および、DHCPサーバ22についても、図2に示したものと同様の構成とすることができる。
以下、サーバ装置の認証機能および認証済装置間のセキュア通信管理機能について説明する。図3は、本実施形態の認証サーバ20が有する認証機能および通信管理機能を実現する機能構成を示すブロック図である。図3に示した認証サーバ20は、ネットワーク通信部70と、認証部72と、設定情報配布部74と、認証済装置登録部76と、IPsec通信設定情報記憶部80と、認証済装置アドレス記憶部82とを含み構成される。
ネットワーク通信部70は、ネットワーク78と接続し、OSI参照モデルにおけるデータリンク層からトランスポート層相当の通信プロトコルを制御して、認証部72、設定情報配布部74および認証済装置登録部76と、通信相手との間のメッセージ交換を行なう。認証部72は、例えばIEEE802.1X/RADIUSプロトコルに従って、ネットワーク上のハブ30,32に接続される情報処理装置を認証し、認証された装置のネットワークへの接続を許可する。なお、本実施形態の認証サーバ20は、情報処理装置から認証機能付きハブを介して送付されるクライアント電子証明書を用いて、当該装置がネットワークへ接続する許可を有するか否かを判定する構成とされており、認証の際は、正規ユーザの電子証明書が予め登録されたデータベース(図示せず)を参照する。
認証済装置登録部76は、認証され、ネットワークへの接続を許可された情報処理装置からのIPアドレスの通知を受けて、認証済装置アドレス記憶部82が保持するアドレス管理テーブルに通知されたIPアドレスを登録する。また認証済装置登録部76は、認証済であった情報処理装置がネットワークから離脱したことを検知して、離脱した装置に対応するIPアドレスの登録をアドレス管理テーブルから抹消する。つまり、本実施形態の認証サーバ20は、認証済装置のIPアドレスを登録するアドレス管理テーブルを使用して、認証済装置を管理している。また、IPアドレスを登録する際に、IPアドレスに応じて登録するか否かの判定を行なう構成とすることもでき、例えば、IPv6では、リンクローカル・アドレスを登録しないようにすることもできる。なお、認証済装置アドレス記憶部82は、システム・メモリ46やHDD60などの記憶領域により与えられる。
設定情報配布部74は、ネットワーク上の情報処理装置に対して、アドレス管理テーブルと、IPsec通信設定情報記憶部80に記憶されるIPsec通信設定情報とを配布し、各認証済装置に対して、他の認証済装置のIPアドレスと、認証済装置間のIPsec通信を実現するための通信設定情報とを配布する機能手段である。なお、IPsec通信設定情報記憶部80は、システム・メモリ46やHDD60などの記憶領域により与えられる。また、配布されるIPsec通信設定情報は、認証済装置間のIPsec通信を確立させるための共通設定項目を含み、予めオペレータにより入力されたものを使用することができる。
なお、本実施形態では、認証機能およびセキュア通信管理機能をともに備えるサーバ装置との構成を例示するが、他の実施形態では、認証機能およびセキュア通信管理機能は、異なるサーバ装置において実現されてもよい。この場合、セキュア通信管理機能を備えるサーバ装置は、認証機能を備えるサーバ装置による認証結果に応じて、認証済装置のIPアドレスを管理し、認証済装置に対して、セキュア通信に必要な情報を配布する構成とすることができる。
以下、情報処理装置が備える認証済装置間でのセキュア通信を確立させるための機能について説明する。図4は、本実施形態のPC14が備えるIPsec通信の自動設定機能を実現する機能構成を示すブロック図である。図4に示したPC14は、ネットワーク通信部90と、アドレス取得部94と、アドレス通知部96と、認証依頼部98と、IPsec通信設定構築部100と、電子証明書記憶部102と、IPsec通信情報記憶部104とを含み構成される。
ネットワーク通信部90は、ネットワーク78と接続し、データリンク層からトランスポート層相当の通信プロトコルを制御して、アドレス取得部94、アドレス通知部96、認証依頼部98およびIPsec通信設定構築部100と、通信相手との間のメッセージ交換を行なう。認証依頼部98は、例えば、PC14がハブ30の接続ポートに接続されたことを検知して、認証手続きを開始する。認証依頼部98は、認証サーバ20の要求に応じて、電子証明書記憶部102に記憶されたクライアント電子証明書を読出して送付し、認証を依頼する。なお、電子証明書記憶部102は、HDD60や、ICカードなどの不揮発性の記憶領域により与えられ、セキュリティ保護された記憶領域とすることがより好ましい。
アドレス取得部94は、PC14が認証され、ネットワークへ接続可能となったことを受けて、ネットワーク上のDHCPサーバへアドレス取得要求を送信し、要求を受信したDHCPサーバ22から、貸出されたIPアドレスを取得して、PC14のIPアドレスとして設定する。アドレス通知部96は、他の認証済装置との間のIPsec通信を可能とするために、設定されたIPアドレスを認証サーバ20へ向けて通知することによって、セキュリティ保護されたネットワーク環境への参加を依頼する。
IPsec通信設定構築部100は、認証サーバ20から配布されるIPsec通信設定情報と、アドレス管理テーブルとを受信して、アドレス管理テーブルに登録されるIPアドレスとIPsec通信の設定とを関連付け、登録されたIPアドレスを通信相手としたIPsec通信が確立可能となるように設定を行なう。またIPsec通信設定構築部100は、配布されたアドレス管理テーブルに登録されていないIPアドレスに対しては、IPsec通信が確立不可能となるように設定を行なうことができる。例えば、アドレス管理テーブルに登録されたIPアドレスを除くすべてのIPアドレス範囲に対して、IPsec通信が確立不可能となるように設定することができ、また、登録されたIPアドレスを除く所定範囲のIPアドレス範囲に対して、IPsec通信が確立不可能となるように設定することもできる。上記所定範囲は、例えば、IPアドレスのプレフィックスまたはネットワーク部により規定される範囲とすることができる。
IPsec通信情報記憶部104は、IPsec通信に関する情報を記憶し、IPsec通信を確立する際や、IPsec通信を制御する際に参照される。アドレスと関連付けられる上記IPsec通信設定は、IPsec通信の通信方法に関して、AH(認証ヘッダ)やESP(カプセル化セキュリティペイロード)といった適用するプロトコルの指定、AHプロトコルが指定される場合には、AHプロトコルにおける認証方式の指定、ESPプロトコルが指定される場合には暗号化方式の指定などを含むことができる。IPsec通信設定構築部100は、配布されたアドレス管理テーブルおよび通信設定情報から、各IPアドレスを通信相手としたIPsec通信を確立可能とする指定と、そのIPsec通信における、交換パケットの認証および暗号化の要否の指定と、認証方式および暗号方式またはこれらの少なくとも一方の指定とを含む設定を行なう。これらの設定は、より具体的には、情報処理装置間で交換するIPパケットの処理方法を規定するセキュリティ・ポリシーとして実現される。
IPsec通信情報記憶部104は、より具体的には、セキュリティ・ポリシー・データベース(以下、SPDとして参照)106と、セキュリティ・アソシエーション・データベース(以下、SADとして参照)108とを含み構成される。SPD106は、セキュリティ・ポリシーをエントリしたデータベースとして実装され、(1)IPsec処理を適用するべきか、(2)IPsec処理を適用せずに通過させるか、または(3)破棄するかなどのパケットの処理ポリシー、IPsec処理を適用する場合にはさらにIPsec処理のポリシーについて記憶する。また、IPアドレスに加えてIPの次レイヤ・プロトコルのポート番号などを含めて処理ポリシーを規定することにより、上位層のアプリケーション毎に、きめ細やかなセキュリティ・ポリシーを設定することもできる。
SAD108は、IPsec通信が確立された際に、IPsec通信で使用する暗号化アルゴリズムおよび暗号化鍵、認証アルゴリズムおよび認証鍵といった、情報処理装置間でセキュア通信を行なうために共有されるセキュリティ・アソシエーション(以下、SAとして参照)情報をエントリするデータベースとして実装される。
本実施形態のPC14は、さらに、他の認証済装置との間のセキュア通信を行なうクライアント・アプリケーションまたはサーバ・アプリケーションとして実装されるアプリケーション110を含み構成される。アプリケーション110は、例えば、FTP(File Transfer Protocol)サーバ・アプリケーション、Webサーバ・アプリケーションなどとして実装され、PC14が保有する保護すべき情報資源へのアクセスを提供する。
ネットワーク通信部90は、IPsec通信制御部92をさらに含み構成され、IPsec通信制御部92は、IPsecプロトコルによるセキュア通信を制御する。IPsec通信制御部92は、セキュア通信に先立ち、上記セキュリティ・ポリシーに従って、例えばRFC4306に規定されるIKE(Internet Key Exchange)プロトコルを使用してSA情報を交換し、IPsec通信を確立させる。またIPsec通信制御部92は、SPD106およびSAD108を参照して、ネットワークからの受信パケットまたは、上位層からの送信パケットに対して、IPsec処理を適用するか否かを判定し、IPsec処理が必要とされる場合には、パケットに対してIPsec処理を実施する。なお、IPsec通信に関する詳細な情報としては、例えば、RFC4301、RFC4302、RFC4303などを参照することができる。
少なくとも保護すべき情報資源へのアクセスについて、セキュア通信を要求し、認証済装置間でのみセキュア通信を確立できるように自動設定を行なうという構成によって、ネットワーク上の認証されてない装置から、PC14が保有する保護すべき情報資源を保護することが可能となる。なお、PC16およびMFP18など、ネットワーク・システム10の他の情報処理装置についても、図4に示したものと同様の機能構成とすることができる。
以下、図5から図7を参照して、情報処理装置の新規接続から認証済装置間でのIPsec通信が確立可能となるまでの処理フローを説明する。図5は、本実施形態の認証サーバが実行する、新規接続された情報処理装置の認証処理および通信設定配布処理を示すフローチャートである。図5に示された処理は、S100から開始され、ステップS101で、開始認証機能付ハブに新規接続された情報処理装置からの認証依頼を受信する。ステップS102で認証部72は、情報処理装置から受信したクライアント電子証明書を用いて認証処理を実行し、認証結果が認証可であるか否かを判定する。
ステップS102の判定で、認証結果が認証不可であった場合(NO)には、ステップS112へ処理を分岐させ、認証部72は、認証不可の応答を行ない、ステップS111で処理を終了させる。認証不可の応答が行なわれた場合には、応答を受取った認証機能付ハブは、情報処理装置へ認証不可の応答を渡すとともに、当該情報処理装置への接続ポートを遮断する。したがって、情報処理装置のネットワークへの接続は、許可されないこととなる。
一方、ステップS102の判定で、認証結果が認証可であった場合(YES)には、処理をステップS103へ分岐させ、認証部72は、認証可の応答を行なう。認証可の応答が行なわれた場合には、認証機能付ハブは、その旨を当該情報処理装置へ通知するとともに、当該情報処理装置への接続ポートを開き、情報処理装置のネットワークへの接続を許可する。ネットワークへの接続が許可された情報処理装置は、自身のIPアドレスを認証サーバ20へ通知するために、認証更新依頼を認証サーバ20に送信することとなる。
ステップS104では、認証部72は、認証更新依頼を受信して認証更新手続を開始し、ステップS105では、認証結果が認証可であるか否かを判定する。ステップS105の判定で、認証結果が認証不可であった場合(NO)には、ステップS112へ処理を分岐させ、認証不可の応答を行ない、ステップS111で処理を終了させる。一方、ステップS105の判定で、認証結果が認証可であった場合(YES)には、処理をステップS106へ分岐させ、認証部72は、再び認証可の応答を行ない、認証更新の手続きを進める。認証更新依頼後の認証可の応答を受信した情報処理装置は、自身に割当てられたIPアドレスを認証サーバ20に対して通知する。ステップS107では、情報処理装置からのIPアドレスの通知を受信し、ステップS108で、認証済装置登録部76は、通知されたIPアドレスを、認証済装置アドレス記憶部82のアドレス管理テーブルに追加登録する。
ステップS109で設定情報配布部74は、更新されたアドレス管理テーブルと、IPsec通信設定情報とを、アドレスを通知してきた情報処理装置へ送信する。ステップS110で設定情報配布部74は、さらに、アドレス通知をしてきた情報処理装置以外の登録された認証済装置に対しても、更新されたアドレス管理テーブルと、IPsec通信設定情報とを配布し、ステップS111で処理を終了させる。本実施形態では、アドレス管理テーブル全体を配布する構成として参照したが、配布情報を受信する情報処理装置は、自身以外の他の認証済装置のIPアドレスを取得することで事足りるため、他の実施形態では、設定情報配布部74は、少なくとも配布先以外のIPアドレスを配布する構成とすることができる。
本実施形態の認証サーバ20は、ステップS104からステップS106で、ネットワーク上の情報処理装置を認証し、ステップS107およびステップS108で、IPアドレスを通知してきた情報処理装置を登録し、ステップS109およびステップS110で、登録している認証済装置に対して、認証済装置間でエンド・ツー・エンドのIPsec通信を確立するために必要な情報を配布するとの構成により、ネットワーク上の認証済装置および認証済装置間のセキュア通信を一元的に管理することを可能とする。
図6は、本実施形態の情報処理装置が実行する、新規接続の際の認証依頼およびアドレス通知を含む認証更新依頼の処理を示すフローチャートである。図6に示された処理は、ステップS200で、当該情報処理装置が認証機能付ハブの接続ポートに接続されたことを検知して開始される。ステップS201では、認証依頼部98は、認証機能付ハブを介して、認証サーバ20へ認証依頼を送信し、クライアント電子証明書を送信する。ステップS202では、認証サーバ20からの認証結果の応答を受信し、ステップS203で、認証結果が認証可であるか否かを判定する。ステップS203の判定で認証結果が認証不可であった場合(NO)には、ステップS211へ処理を分岐させ、表示画面に認証が失敗した旨の表示し、ステップS210で処理を終了させる。
一方、ステップS203の判定で、認証結果が認証可であった場合(YES)には、ステップS204へ処理を分岐させる。認証された場合、情報処理装置は、ネットワークへの接続を許可されることとなる。これにより、アドレス取得部94は、DHCPサーバ22から貸出を受けることが可能となり、または、IPv6ではステートレスアドレス自動生成により、自身のIPアドレスを生成することが可能となる。
ステップS204で、認証依頼部98は、認証サーバ20へ認証更新依頼を送信する。ステップS205では、認証結果の応答を受信し、ステップS206では、認証結果が認証可であるか否かを再び判定する。ステップS206の判定で、認証結果が認証不可であった場合(NO)には、処理をステップS211へ分岐させてユーザ通知を行ない、ステップS210で、処理を終了させる。
一方、ステップS206の判定で、認証結果が認証可であった場合(YES)には、ステップS207へ処理を分岐させ、認証更新手続きを進める。ステップS207で、アドレス通知部96は、自身に設定されたIPアドレスを認証サーバ20へ通知する。IPアドレスの通知を受けた認証サーバ20は、図5に示されるステップS108およびS109の処理でアドレス管理テーブルを更新し、当該情報処理装置に向けて、更新されたアドレス管理テーブルと、IPsec通信設定情報とを配布することとなる。ステップS208では、更新されたアドレス管理テーブルと、IPsec通信設定情報とを取得し、ステップS209でIPsec通信設定構築部100は、配布された情報に従って、自身のIPsec通信設定を構築し、ステップS210で処理を終了させる。
ステップS209のIPsec通信設定の構築する処理を完了させた情報処理装置は、アドレス管理テーブルに登録される他の認証済装置とのIPsec通信が確立可能となり、アプリケーション110などの要求に応じて、IPsec通信を開始させることができるようになる。また、本実施形態の情報処理装置は、新規に接続された場合以外であっても、例えば、自身のIPアドレスを変更した場合にも、図6に示したものと同様の処理フローによって、認証済装置間のIPsec通信を確立可能に構成することができる。
本実施形態の情報処理装置は、認証サーバ20から認証された後、ステップS207でIPアドレスを通知する構成とすることにより、自身を認証済の情報処理装置として、認証サーバに登録させる。また、情報処理装置は、ステップS208およびステップS209で、認証サーバ20から配布された、認証済装置のIPアドレスおよびIPsec通信設定情報を元に、自身のIPsec通信設定を構築することにより、予め通信相手に関する情報を設定することなく、認証済装置間でセキュア通信を行なうことを可能とする。
図7は、本実施形態の情報処理装置が実行する、IPsec通信設定の再構築処理を示すフローチャートである。なお、図7に示した処理は、既に認証済の情報処理装置が、ネットワークに新たに情報処理装置が接続されたり、ネットワークから情報処理装置が離脱することによって、アドレス管理テーブルの登録が変更された場合に、認証サーバ20からの再配布を受けて開始される。図7に示された処理は、ステップS300から開始され、ステップS301で、認証サーバ20から更新されたアドレス管理テーブルと、IPsec通信設定情報とを取得する。ステップS302で、IPsec通信設定構築部100は、新たに配布された情報を元に、IPsec通信設定を再構築し、ステップS303で処理を終了させる。図7に示した処理フローにより、本実施形態の情報処理装置は、ネットワーク構成の変化に応答して、認証済装置間のセキュア通信を行なうことを可能とする。
本実施形態のネットワーク・システム10は、上述の図5〜図7に示したように、ネットワーク上の認証済装置を一元的に管理し、かつ、認証サーバ20が一元管理する情報を元に認証済装置間のセキュア通信設定を自動設定させる構成により、認証済装置のみが参加するセキュリティ保護されたネットワーク環境を容易に構成することを可能とする。
以下、図8に示すシーケンス図を参照して、情報処理装置の新規接続から認証済装置間でのIPsec通信が確立可能となるまでの処理フローを、より具体的に説明する。図8に示した実施形態では、PC14は、新規にハブ30に接続され、認証処理を開始する情報処理装置である。また、MFP18、PC16は、既に認証済の情報処理装置であり、MFP18とPC16との間のIPsec通信は、既に確立可能とされている(R1)。一方、認証済のMFP18とゲストのPC24との間および認証済のPC16とPC24との間のIPsec通信は、確立不可能とされている(R2およびR3)。また図8に示した実施形態は、PC14が、DHCPサーバ22からIPアドレスを取得して、自身のIPアドレスを設定する場合を例示する。なお、図8では、IP層以上のパケットを点線矢印により示し、IPより下位層のパケットを実線矢印により示す。
図8に示した処理は、PC14がハブ30に接続されたことを検知して開始され、ステップS401でPC14は、電子証明書を含むEAPoLパケットをハブ30へ送信する。EAPoLパケットを受信したハブ30は、ステップS402で、EAPoLパケットの電子証明書を含むメッセージボディをEAP−RADIUSパケットに乗替えて、認証サーバ20へ送信する。ステップS403で認証サーバ20は、受取った電子証明書を使用して認証を実施し、ステップS404で、ハブ30へ認証可の応答メッセージを含むEAP−RADIUSパケットを送信する。応答を受信したハブ30は、ステップS405で、応答を含むEAPoLパケットをPC14へ送信するとともに、PC14に対する接続ポートを開く。認証可の応答を受信したPC14は、IP層以上の通信が可能となるので、ステップS406で、DHCPプロトコルに従って、IPアドレス取得要求(Discoverメッセージ)をブロードキャストする。ここではプロトコルの詳細を省略して説明するが、IPアドレス取得要求を受信したDHCPサーバ22は、自身が管理する貸出可能なアドレスプールの中からIPアドレスをPC14へ貸出して、ステップS407で、PC14へアクノレッジを応答する。
アクノレッジを受信したPC14は、取得したIPアドレスを自身のIPアドレスとして設定し、ステップS408で、認証更新手続きを開始させて、再び電子証明書を含むEAPoLパケットをハブ30へ送信する。EAPoLパケットを受信したハブ30は、ステップS409で、メッセージをEAP−RADIUSパケットに乗替えて、認証サーバ20へ送信する。ステップS410では、認証サーバ20は、再び認証処理を実施し、ステップS411では、認証可の応答を含むEAP−RADIUSパケットをハブ30へ送信し、ステップS412でハブ30は、認証可の応答を含むEAPoLパケットをPC14へ送信する。認証更新手続き中の認証可の応答を受信したPC14は、ステップS413で、自身に設定されたIPアドレスをEAPoLパケットのメッセージボディに含ませて、ハブ30へ送信する。ステップS414でハブ30は、EAPoLパケットのメッセージボディをEAP−RADIUSパケットに乗替えて、認証サーバ20へ送信する。
IPアドレスの通知を受信した認証サーバ20は、ステップS415で、通知されたIPアドレスをアドレス管理テーブルに追加登録し、アドレス管理テーブルを更新する。図9は、アドレス管理テーブルのデータ構造を示す。図9(A)は、更新前のアドレス管理テーブルを示し、図9(B)は、更新後のIPアドレスを示す。図9(A)および(B)を参照すると、更新前のアドレス管理テーブル200は、MFP18(2001::1)と、PC16(2001::4)と、認証サーバ20(2001::5)とのIPアドレスを登録し、更新後のアドレス管理テーブル210は、さらに、新規に接続されたPC14(2001::3)を追加登録していることが示されている。
なお、認証済装置のIPアドレスを管理するためのテーブルのデータ構造は、上述した認証済装置のIPアドレスを登録するアドレス管理テーブルに限定されるものではない。例えば、他の実施形態では、認証済装置のMAC(媒体アクセス制御)アドレスや他の識別値を登録するテーブルと、別途これらの情報とIPアドレスと対応付けるテーブルとを使用する構成とすることもできる。
図8を再び参照すると、アドレス管理テーブルを更新した認証サーバ20は、ステップS416で、更新後のアドレス管理テーブル210と、IPsec通信設定情報とをPC14へ向けて配布する。ステップS417では、メッセージボディに配布情報を含むEAP−RADIUSパケットがハブ30へ送信され、ステップS418でハブ30は、配布情報を乗替えてEAPoLパケットをPC14へ送信する。配布情報を受取ったPC14は、ステップS419で、自身のIPsec通信設定を構築する。
図10は、本実施形態の認証サーバ20が予め保持するIPsec通信設定情報のデータ構造を示す。IPsec通信設定情報220は、プロトコルをエントリするフィールド220aと、認証方式をエントリするフィールド220bと、暗号化方式をエントリするフィールド220cとを含み構成されている。なお、図10に示した実施形態では、一組の通信設定を含み構成されているが、他の実施形態では、IPsec通信設定情報は、例えば、ポート番号などと関連付けて、複数組の通信設定を含み構成されていてもよい。
図8を再び参照すると、PC14へ向けて配布情報を送信した認証サーバ20は、ステップS420で、アドレス管理テーブルに登録された残りの認証済装置に対しても、更新後のアドレス管理テーブル210と、IPsec通信設定情報とを配布する。ステップS421では、ユニキャスト、マルチキャスト、またはブロードキャストによって、ネットワーク上のMFP18およびPC16へ配布情報が送信される。配布情報を受取ったMFP18は、ステップS422で、自身のIPsec通信設定を構築させ、PC16も、ステップS423で、自身のIPsec通信設定を構築させる。以降、新規に接続されたPC14と、認証済であったMFP18およびPC16との間のIPsec通信が確立可能となる(R4およびR5)。一方、認証機能を有さないハブ34を介して接続されているPC24は、例え、ブロードキャストによって配布情報を受取ったとしても、認証済の装置側ではPC24を宛先としたIPsec通信を確立可能に設定されていないため、PC14とPC24との間のIPsec通信は、確立不可能のままとなる(R6)。
なお、ステップS421の配布処理をユニキャストで行なう場合には、図9に示されるアドレス管理テーブルに登録されたIPアドレスを参照して、個別の宛先を指定して行なうことができる。配布処理をマルチキャストで行なう場合は、リンクローカルやサイトローカルなどの特定のスコープを対象とした全ノードマルチキャストアドレスや、予め認証済の情報処理装置が共通に参加しているマルチキャストアドレスを指定して行なうことができる。
図11は、構築されるIPsec通信設定のデータ構造を模式的に示す図である。図11(A)は、PC14が新規接続される前のMFP18が保持するIPsec通信設定を一例として示し、図11(B)は、PC14が登録された後のMFP18が保持するIPsec通信設定を一例として示す。図11(A)を参照すると、IPsec通信設定230は、通信相手のアドレスを登録するリモートアドレス・フィールド230aと、プロトコル・フィールド230bと、認証方式フィールド230cと、暗号方式フィールド230dとを含み構成されている。また、新規接続前のIPsec通信設定230は、MFP18が、認証サーバ20(2001::5)およびPC16(2001::4)とのIPsec通信を確立可能とされていることが示されている。さらに、IPsec通信設定230は、その際の通信方法として、AHおよびESPプロトコルを適用し、MD5による認証およびトリプルDES(Data
Encryption Standard)による暗号化が指定されていることが示されている。図11(B)を参照すると、新規接続されたPC14に対応するIPアドレス(2001::3)が追加登録されていることが示されている。
なお、本実施形態では、アドレス管理テーブルとIPsec通信設定情報とを取得した情報処理装置は、これらを関連付けて、図11に示すIPsec通信設定を生成するが、この関連付けは、認証サーバ20側で行なわれてもよい。
以下、ネットワーク構成の変更に応答して、認証済装置間のIPsec通信設定を更新する処理について説明する。図12は、本実施形態の認証サーバが実行する、ネットワーク構成の変更に応答して、更新情報を再配布する処理を示すフローチャートである。図12に示された処理は、ステップS500で、例えば、認証サーバ20の起動とともに開始する。ステップS501では、ネットワークの構成の確認を開始する契機となるイベントが発生したか否かを判定する。ここで、ネットワークの構成確認の契機となるイベントとしては、例えば、所定時間毎に発生するタイマ・イベントや、認証済装置からの不通通知の受信イベント、当該認証サーバの再起動イベント、SNMP(Simple Network Management Protocol)トラップ等の受信イベントなどとすることができる。
ステップS501の判定で、イベントが発生していない場合(NO)には、処理を再びステップS501へループさせ、イベントの発生を待受ける。一方、ステップS501の判定で、イベントが発生した場合(YES)には、処理をステップS502へ分岐させ、ネットワーク構成を確認する。ここで、ネットワーク構成の確認は、例えば、DHCPサーバ22が保持しているリーステーブルを確認することによって行なうことができ、詳細については後述する。また、ネットワーク構成の確認は、PINGなどの応答要求パケットへの応答を確認することによって行なうこともできる。
ステップS503では、ネットワーク構成の変更を検知したか否かを判定する。ステップS503の判定で、ネットワーク構成が変更されていないと判定された場合(NO)には、処理を再びステップS501へループさせ、次のイベント発生を待受ける。一方、ステップS503の判定で、ネットワーク構成が変更されたと判定された場合(YES)には、処理をステップS504へ分岐させる。ステップS504では、ネットワークから離脱した認証済装置のIPアドレスの登録を抹消してアドレス管理テーブルを更新し、ステップS505で、更新されたアドレス管理テーブルと、IPsec通信設定情報とを、少なくとも更新後テーブルに登録された認証済装置へ向けて配布する。その後は、ステップS501へ再びループさせ、次のイベント発生を待受ける。
図12に示した処理フローにより、ネットワーク構成の変更を自動的に検知して、認証済装置の管理情報を最新の状態に更新することが可能となる。各情報処理装置においては、図7に示した処理フローにより、IPsec通信設定が再構築され、ネットワークを離脱した装置に関する無駄な設定が削除され、負荷が軽減される。以下、図13〜15に示すシーケンス図を参照して、ネットワーク構成の変更に応答して、認証済装置間のIPsec通信設定を更新するまでの処理を、より具体的に説明する。
図13は、DHCPサーバが管理するリーステーブルからネットワーク構成の変更を検知して、認証済装置において、IPsec通信設定を更新するまでの処理を示すシーケンス図である。図13に示した実施形態では、PC14およびMFP18は、既に認証済であり、PC14とMFP18との間のIPsec通信は、既に確立可能とされている(R7)。
図13に示した処理は、認証サーバ20において、ネットワーク確認処理の開始の契機となるイベントが発生したことを受けて、ステップS601から開始される。ステップS602では、認証サーバ20は、DHCPサーバ22に対して、リーステーブルの取得要求を送信し、ステップS603で、DHCPサーバからリーステーブルを取得する。
一方、PC14側においては、ステップS604で、PC14とハブ30との接続ケーブルが引抜かれるなどによって、PC14がネットワークから離脱する。PC14がネットワークから離脱した後、ステップS605では、PC14に貸出したIPアドレスのリース期限が満了し、DHCPサーバ22は、リーステーブルの当該PC14のエントリを消去する。ステップS606で、認証サーバ20において再びイベントが発生すると、ステップS607で、認証サーバ20は、DHCPサーバ22に対して、再度リーステーブルの取得要求を送信し、ステップS608で、リーステーブルを取得する。
リーステーブルを取得した認証サーバ20は、ステップS609で、取得したリーステーブルを参照し、PC14のIPアドレスが消失したことを検知する。ステップS610で認証サーバ20は、アドレス管理テーブルからPC14のIPアドレスの登録を抹消し、ステップS611で、全認証済装置に対して、更新されたアドレス管理テーブルと、IPsec通信設定とを配布し、ステップS612では、ユニキャスト、マルチキャスト、またはブロードキャストによって、ネットワーク上のMFP18へ配布情報が送信される。配布情報を受取ったMFP18は、ステップS613で、自身のIPsec通信設定を再構築させる。図13に示した実施形態では、リーステーブルからの登録が消失したことを検知して、ネットワークを離脱した情報処理装置を特定している。
図14は、応答要求パケットに対する応答を確認することによって、ネットワーク構成の変更を検知し、認証済装置においてIPsec通信設定を更新するまでの処理を示すシーケンス図である。図14に示した実施形態では、図13と同様に、PC14およびMFP18は、既に認証済であり、PC14とMFP18との間のIPsec通信は、既に確立可能とされている(R8)。
図14に示した処理は、認証サーバ20において、ネットワーク構成の確認の契機となるイベントが発生したことを受けて、ステップS701から開始される。ステップS702では、認証サーバ20は、アドレス管理テーブルに登録されているIPアドレスを宛先として、PINGなどの応答要求パケットを送信する。この段階では、まだPC14もMFP18も、ネットワークに接続され通信可能であるため、ステップS703では、認証サーバ20は、PC14およびMFP18からの応答を受信する。
ステップS704では、PC14がネットワークから離脱する。その後、ステップS705では、認証サーバ20において再びイベントが発生し、ステップS706で、認証サーバ20は、再度、登録されているIPアドレスを宛先としてPINGを送信する。ステップS707では、MFP18からの応答を受信するが、ネットワークから離脱したPC14からの応答は得ることができないこととなる。ステップS708で認証サーバ20は、エラー通知を受信するか、所定時間内に応答を受信しなかったことを受けて、PC14からのPINGに対する応答が無かったことを検知する。PC14のネットワークからの離脱を検知した認証サーバ20は、ステップS709で、アドレス管理テーブルからPC14のIPアドレスの登録を抹消し、ステップS710で、全認証済装置に対して、更新されたアドレス管理テーブルと、IPsec通信設定とを配布する。ステップS711では、配布情報が、ユニキャスト、マルチキャスト、またはブロードキャストによって、ネットワーク上のMFP18へ送信され、配布情報を受取ったMFP18は、ステップS712で、自身のIPsec通信設定を再構築させる。
なお、上述では、ステップS706〜ステップS709において、PINGに対する応答が一度でも無かった場合に、ネットワークから脱離したものとみなしているが、所定回数のPING送信に対して、すべて応答が無かった場合に、ネットワークから脱離したものとみなす構成としてもよい。図14に示した実施形態では、PINGなどの応答要求パケットに対する応答が無かったことを検知して、ネットワークを離脱した情報処理装置を特定している。
図15は、認証済装置からの不通通知の受信イベントの発生を検知して、ネットワーク構成を確認する場合の処理を示すシーケンス図である。ここで、MFP18などの情報処理装置は、他の認証済装置とのIPsec通信中に、当該装置との通信が途絶えたことを検知して、その旨を認証サーバ20へ通知する機能手段を備えているものとする。また図15に示した実施形態では、図13と同様に、PC14およびMFP18は、既に認証済であり、PC14とMFP18との間のIPsec通信は、既に確立可能とされている(R9)。
図15に示したシーケンスは、まずステップS801において、PC14がネットワークから離脱するところから始まる。ステップS802では、MFP18は、PC14を宛先としたIPsecパケットを送付する。しかしながら、宛先のPC14は、既にネットワークから離脱しているため、ステップS803では、MFP18は、例えばPC14までの経路中の転送ノードなどからの到達不能通知を受信することとなる。ステップS804で、PC14とのIPsec通信が不通状態となったことを検知したMFP18は、ステップS805で、PC14(2001::3)とのIPsec通信が不通状態である旨を認証サーバ20へ通知する。
ステップS806で認証サーバ20は、不通通知の受信イベント発生を検知して、ステップS807で、登録されているIPアドレスを宛先として、PINGを送信する。ステップS808では、MFP18からの応答を受信するが、PC14からの応答を得ることができないこととなる。ステップS809で認証サーバ20は、PC14からのPINGに対する応答が無かったことを検知し、ステップS810で、アドレス管理テーブルからPC14のIPアドレスの登録を抹消する。ステップS811で認証サーバ20は、すべての認証済装置に対して、更新されたアドレス管理テーブルと、IPsec通信設定とを配布し、ステップS812では、配布情報が、ユニキャスト、マルチキャスト、またはブロードキャストによって、ネットワーク上のMFP18へ送信される。配布情報を受取ったMFP18は、ステップS813で、自身のIPsec通信設定を再構築させる。なお、ステップS807のPINGの送信は、通知のあったPC14のみに対して行なう構成とすることもできる。
以上説明したように、本実施形態によれば、正規ユーザが利用する情報処理装置に対しては、セキュア通信設定および更新が自動化され、かつ、正規ユーザのみならずゲストユーザに対して内部ネットワークの利用を許可しつつ、内部ネットワークの情報資源をゲストユーザから保護することを可能とし、もって、高い利便性とセキュリティを有するネットワークを、安全かつ容易に構成することを可能とするサーバ装置、情報処理装置、プログラムおよび記録媒体を提供することができる。
上述では、セキュア通信としてIPsec通信を一例として説明したが、認証済装置間で確立可能とされるセキュア通信としては、特に限定されるものではない。通信を行なう双方の情報処理装置において、通信相手のアドレスに関連付けられるセキュリティ・ポリシーを設定することを要する如何なるセキュア通信プロトコルに対して適用することができる。
また、上記機能は、アセンブラ、C、C++、C#、Java(登録商標)、などのレガシープログラミング言語やオブジェクト指向ブログラミング言語などで記述された装置実行可能なプログラムにより実現でき、ROM、EEPROM、EPROM、フラッシュメモリ、フレキシブルディスク、CD−ROM、CD−RW、DVD、SDメモリ、MOなど装置可読な記録媒体に格納して頒布することができる。
これまで本発明の実施形態について説明してきたが、本発明の実施形態は上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
10…ネットワーク・システム、12…内部ネットワーク、14,16,24…PC、18…MFP、20…認証サーバ、22…DHCPサーバ、30…ハブ、32,34…ハブ、42…CPU、44…キャッシュ・メモリ、46…システム・メモリ、48…システム・バス、50…グラフィックス・ドライバ、52…NIC、54…ディスプレイ装置、56…I/Oバス・ブリッジ、58…I/Oバス、60…HDD、62…入力装置、64…画像処理ドライバ、66…画像処理デバイス、70…ネットワーク通信部、72…認証部、74…設定情報配布部、76…認証済装置登録部、78…ネットワーク、80…IPsec通信設定情報記憶部、82…認証済装置アドレス記憶部、90…ネットワーク通信部、92…IPsec通信制御部、94…アドレス取得部、96…アドレス通知部、98…認証依頼部、100…IPsec通信設定構築部、102…電子証明書記憶部、104…IPsec通信情報記憶部、106…SPD、108…SAD、110…アプリケーション、200…アドレス管理テーブル、210…アドレス管理テーブル、220…IPsec通信設定情報、230…IPsec通信設定、240…IPsec通信設定