説明

情報処理装置、情報処理方法、及びプログラム

【課題】外部装置からのパケットをより適切にフィルタリングすることを目的とする。
【解決手段】パケットから外部装置のアドレス情報を取得し、外部装置のアドレス情報がフィルタ情報に登録されているか否かを判断し、登録されていないと判断した場合、外部装置のアドレス情報から外部装置の装置識別情報を取り出し、取り出した装置識別情報と同じ装置識別情報を持つアドレス情報がフィルタ情報に登録されているか否かを判断し、登録されていると判断した場合、フィルタ情報に外部装置のアドレス情報を登録する更新を行うことによって課題を解決する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【0002】
近年、WWW(world wide web)などインターネットの普及により、不審な外部装置によるリモートアクセス、アタック攻撃、パケット盗聴などのネットワークセキュリティの脆弱性が懸念されている。その対応策としてネットワークデバイスでもIPアドレスでフィルタリングする機能(フィルタリング機能)を保持するデバイスが一般的となっている。
フィルタリング機能では、予めユーザが任意のアドレスのアクセスを拒否、或いは任意のアドレスのみのアクセスを許可するように、ネットワークデバイスのフィルタリストに外部装置のアドレスを登録しておく。これにより、ネットワークデバイスは、見知らぬアドレスを持つ外部装置からの接続を切断し、セキュリティを確保している。
【0003】
しかしながら、IPv6では、1つの機器が複数のアドレスを保持することが可能である。そのため、ネットワークデバイスにおいて、フィルタリング機能を用いてIPv6アドレスのフィルタリングを行いたい場合、対象となる外部装置が保有する全てのIPv6アドレスをフィルタリストに登録する必要がある。
複数のIPv6アドレスをユーザが手動でフィルタリストに登録することは作業負荷が高い。また、複数のアドレスを手動で登録することで登録漏れ、登録ミスなどによりフィルタリングの対象から外れてしまい、外部装置からアクセスされてしまうというセキュリティの脆弱性にもつながる問題がある。
【0004】
そこで、ユーザがある1つのアドレスをフィルタリストに登録した際に、ネットワークデバイスがDNSサーバに問い合わせを行い、当該アドレスを持つ外部装置が保持している全てのアドレスを自動的に取得する方法が提案されている(例えば、特許文献1参照)。
ネットワークデバイスが、DNSサーバから取得したアドレスを自動的にフィルタリストに登録することで、ユーザに作業負荷がかかることなく、登録漏れや登録ミスのないフィルタリングを実現している。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2008−154009号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ここで、IPv6アドレスの中には、ステートレスアドレスのように、定期的にその値が変更される可能性のあるものが存在する。
ステートレスアドレスは、ルータから定期的に配布されるプレフィックス番号と、機器自身が生成する、ネットワーク上で一意なインターフェースID(通常は機器自身のMACアドレスから所定の計算方法により生成される数値)とから構成されるアドレスである。また、ステートレスアドレスには有効期限が存在し、その期間は、ルータの設定の内容に依存する。そして、有効期限に達した場合には、ルータから新たなプレフィックス番号が配布され、機器では、新たなプレフィックス番号と自身のインターフェースIDとから構成される新たなステートレスアドレスが生成される。
【0007】
しかしながら、ネットワークデバイスのフィルタリストに外部装置が保持する全てのアドレスが適切に登録されても、当該外部装置のからのアクセスをフィルタリングしている環境において、以下のような問題が発生し得る。
即ち、適切なフィルタリングが行われているネットワーク環境において、ある時、フィルタリングの対象の外部装置のステートレスアドレスが変わってしまう場合がある。この場合、外部装置が変更後のステートレスアドレスを用いてアクセスしてきたとき、ネットワークデバイスは、当該アクセスを正しくフィルタリングすることができない。
【0008】
また、外部装置のアドレスの変更に追従してユーザがその都度ネットワークデバイスのフィルタリストの内容を更新することは、常にネットワーク上の動向を監視していなければいけなくなることもあり、作業負荷の面から現実的に不可能である。
また、外部装置のアドレスが変更されていないかどうかをネットワークデバイスが定期的にポーリングするのは、処理が冗長で無駄が多く、また、それでもフィルタをすり抜ける時間帯が生じてしまう事態は避けられないため、根本的な解決とはならない。
【0009】
本発明はこのような問題点に鑑みなされたもので、外部装置からのパケットをより適切にフィルタリングすることを目的とする。
【課題を解決するための手段】
【0010】
そこで、本発明に係る情報処理装置は、外部装置と通信可能に接続され、装置を識別可能な装置識別情報を含むアドレス情報が登録されたフィルタ情報に従って前記外部装置から受信したパケットのフィルタリングを行う情報処理装置であって、前記パケットから前記外部装置のアドレス情報を取得する取得手段と、前記外部装置のアドレス情報が前記フィルタ情報に登録されているか否かを判断し、登録されていないと判断した場合、前記外部装置のアドレス情報から前記外部装置の装置識別情報を取り出す取出手段と、前記取出手段で取り出された装置識別情報と同じ装置識別情報を持つアドレス情報が前記フィルタ情報に登録されているか否かを判断し、登録されていると判断した場合、前記フィルタ情報に前記外部装置のアドレス情報を登録する更新を行う更新手段と、を有することを特徴とする。
【0011】
また、本発明は、システム、記憶媒体等としてもよい。
【発明の効果】
【0012】
本発明によれば、外部装置からのパケットをより適切にフィルタリングすることができる。
【図面の簡単な説明】
【0013】
【図1】デジタル複合機のハードウェアの構成の一例を示す図である。
【図2】デジタル複合機の処理部の構成の一例を示す図である。
【図3】システムの構成の一例を示す図である。
【図4】フィルタアドレスの一例を示す図である。
【図5】IPアドレスとホスト名とを対応付けた情報の一例を示す図である。
【図6】フィルタアドレス自動更新処理に係るフローチャートの一例を示す図である。
【図7】フィルタアドレス更新処理に係るフローチャートの一例を示す図である。
【図8】フィルタアドレス更新処理に係るフローチャートの一例を示す図である。
【図9】フィルタアドレス更新処理に係るフローチャートの一例を示す図である。
【図10】フィルタアドレス更新処理に係るフローチャートの一例を示す図である。
【発明を実施するための形態】
【0014】
以下、本発明の実施形態について図面に基づいて説明する。なお、実施形態は、本発明を限定するものではなく、また、実施形態で説明されている全ての構成が本発明の課題を解決するための手段に必須であるとは限らない。
【0015】
図1は、本実施形態に係るデジタル複合機のハードウェアの構成の一例を示す図である。プリンタコントローラ100は、情報処理装置(コンピュータ)の一例であり、プリンタ120を制御する。
プリンタコントローラ100内部で、CPU101は、デジタル複合機のソフトウェアプログラムを実行し、デジタル複合機全体の制御を行う。即ち、CPU101が、ROM102、HDD108等に格納されたプログラムの手順に従って処理を行うことによって、デジタル複合機における機能及び後述するフローチャートに係る処理が実現される。なお、デジタル複合機における機能、後述するフローチャートに係る処理の一部、又は全部を専用のハードウェアを用いて構成してもよい。
【0016】
ROM102は、リードオンリーメモリであり、デジタル複合機のブートプログラム、固定パラメータ等を記憶する。RAM103は、ランダムアクセスメモリであり、CPU101がデジタル複合機を制御する際に用いる一時的なデータなどを記憶する。HDD108は、ハードディスクドライブであり、印刷データなど、様々なデータを記憶する。
タイマ109は、タイマ処理における経過時刻の管理を行う。プリンタI/F制御部104は、プリンタ120とのデータの送受信(データ通信)などを制御する。NVRAM105は、不揮発性のメモリであり、デジタル複合機の各種の設定値を記憶する。
【0017】
パネル制御部106は、オペレーションパネル111を制御し、各種の情報の表示、使用者からの指示の入力を行う。ネットワークI/F制御部107は、LAN112等のネットワークを介して接続された外部装置とのデータの送受信を制御する。
バス110には、CPU101、ROM102、RAM103、HDD108、タイマ109、プリンタI/F制御部104、NVRAM105、パネル制御部106、及びネットワークI/F制御部107が通信可能に接続される。なお、バス110は、CPU101からの制御信号や各装置間のデータ信号が送受信されるシステムバスである。
【0018】
図2は、デジタル複合機の処理部(モジュール)の構成の一例を示す図である。ユーザインターフェース部201は、ユーザがフィルタリングを行うアドレス(アドレス情報)を登録する操作を受け付ける。ユーザインターフェース部201より入力されたアドレスは、フィルタアドレス登録部202により、フィルタアドレス記憶部204に記憶(登録)される。なお、フィルタアドレス記憶部204に記憶されているアドレスをフィルタアドレス(フィルタ情報の一例)と適宜称する。ここで、フィルタアドレス記憶部204は、ROM102、HDD108、或いはNVRAM105上に存在する。
また、フィルタアドレス登録部202は、アドレスを登録した場合、登録したアドレスを保持する外部装置が他のアドレスも保持しているかを判別するために、登録したアドレスをアドレス拡張制御部203に渡す。アドレス拡張制御部203は、フィルタアドレス登録部202からアドレスを受け取ると、ネットワークパケット送受信部206を利用し、受け取ったアドレスを保持する外部装置の他のアドレスを、外部装置を管理する管理装置等から取得する。また、ネットワークパケット送受信部206は、外部装置とのデータ通信のやり取りの制御を行う。
【0019】
ここで、フィルタアドレス記憶部204にアドレスが登録されている場合、ネットワークパケット送受信部206は、外部装置からパケット(ネットワークパケット)を受信するたびに、ネットワークフィルタ制御部205に当該外部装置のアドレスを渡す。
ネットワークフィルタ制御部205は、アドレスを受け取った場合、フィルタアドレス記憶部204を参照し、受け取ったアドレスに該当するフィルタアドレスが存在するかどうかを確認する。ネットワークフィルタ制御部205は、該当するフィルタアドレスを発見した場合、予め設定されている処理を、接続要求を送信してきた外部装置に対して行う。
【0020】
図3は、本実施形態に係るシステムの構成の一例を示す図である。本システムは、ネットワークデバイス300、外部装置301、外部装置302、DNSサーバ303、ルータ304等を含んで構成される。
ネットワークデバイス300は、プリンタコントローラ100、オペレーションパネル111、及びプリンタ120を有するデジタル複合機の一例である。また、ネットワークデバイス300は、フィルタリング機能を実装し、外部装置(301、302)に対するフィルタリングの設定を行うことが可能に構成されている。
【0021】
外部装置301及び外部装置302は、ルータ304によって、異なるサブネットからネットワークデバイス300と通信を行う。本実施形態では、外部装置301には、IPv6アドレス(IPv6ステートレスアドレス)として「fee0:1::203:3ff:fe30:1」及び「fee0:2::203:3ff:fe30:1」という2つのアドレスが保持されているものとする。また、外部装置302にはIPv6アドレスとして「fee0:1::204:4ff:fe40:2」及び「fee0:2::204:4ff:fe40:2」という2つのアドレスが保持されているものとする。
なお、外部装置301及び外部装置302は、IPv6アドレスとして更に少なくともリンクローカルアドレスを保持している。しかしながら、リンクローカルアドレスは、ルータ304等の中継装置を超える通信には使用されないので、ここでは表示を省略している。
【0022】
DNSサーバ303は、ネットワーク内のデバイスのIPアドレスとホスト名とを解決する。
なお、本実施形態では、外部装置301、外部装置302、及びDNSサーバ303がネットワークデバイス300とは異なるサブネット上に存在するケースを例としているが、このネットワークの構成に限定されるものではない。例えば、外部装置301、外部装置302、及びDNSサーバ303は、それぞれ、ネットワークデバイス300と同じサブネット上に存在していてもよいし、異なるサブネット上に存在していてもよい。
【0023】
図4は、ネットワークデバイス300のフィルタアドレス記憶部204に登録されているフィルタアドレスの一例(フィルタアドレス情報401)を示す図である。
フィルタアドレス情報401には、外部装置301が保持する「fee0:1::203:3ff:fe30:1」及び「fee0:2::203:3ff:fe30:1」が登録されているものとする。更に、フィルタアドレス情報401には、外部装置302が保持する「fee0:1::204:4ff:fe40:2」及び「fee0:2::204:4ff:fe40:2」が登録されているものとする。
なお、この登録は、ユーザが全て手動で行ったものであっても、特許文献1に記載の手段などにより自動的に登録されたものであってもよい。何れの場合であっても、外部装置301及び外部装置302が保持するアドレスが全て適切に登録されているので、ネットワークデバイス300は、これらの外部装置からのアクセスを適切に制御できる状態である。
【0024】
例えば、外部装置301からネットワークデバイス300に対してアクセスが試みられた場合、まず、ネットワークパケット送受信部206は、当該アクセスのパケット(アクセスパケット)を受信し、そのアクセスパケット中から送信元のアドレスを取得する。本例では、送信元のアドレスとして「fee0:1::203:3ff:fe30:1」が取得できたものとする。そして、ネットワークパケット送受信部206は、送信元のアドレスをネットワークフィルタ制御部205に渡す。
ネットワークフィルタ制御部205は、フィルタアドレス記憶部204を参照し、受け取った送信元のアドレスに該当するフィルタアドレスが存在するかどうかを参照する。本例では、図4に示すとおり、フィルタアドレスとして「fee0:1::203:3ff:fe30:1」が登録されているので、ネットワークフィルタ制御部205は、予め設定されている処理を当該アクセスパケットに対して行う。
【0025】
図5は、DNSサーバ303が管理する、ネットワークデバイス300、外部装置301、外部装置302等のIPアドレスとホスト名とを対応付けた情報の一例(設定ファイル情報501)を示す図である。
DNSサーバ303は、ネットワークデバイス300等のクライアントからクエリ(DNS要求)されるたびに、設定ファイル情報501を参照し、名前解決等を行ってレスポンスする。また、設定ファイル情報501は、各デバイスのアドレスが更新されたタイミングなど、各デバイスの動的更新(DDNS:Dynamic DNS)機能等によって適時更新される。
【0026】
ここで、図3に示すシステムの構成下において、ある時、外部装置301のIPv6アドレスが変更されたものとする。即ち、従来の「fee0:1::203:3ff:fe30:1」及び「fee0:2::203:3ff:fe30:1」から「1234:1::203:3ff:fe30:1」及び「1234:2::203:3ff:fe30:1」に変更されたものとする。
これは、ルータ304において、管理するプレフィックス番号(「fee0:1」及び「fee0:2」)が有効期限に達したことによるものである。これにより、ルータ304は、新たなプレフィックス番号(「1234:1」及び「1234:2」)を外部装置301が存在するネットワーク上に送出した。なお、プレフィックス番号は、装置(外部装置301等)が接続される通信回線(ネットワーク等)を識別可能な通信回線識別情報の一例である。
【0027】
図6は、フィルタリングの対象であった外部装置(以下では、外部装置301を例に挙げて適宜説明する。)のアドレスが変更された際の、ネットワークデバイス300におけるフィルタアドレス自動更新処理に係るフローチャートの一例を示す図である。ここで、本フローチャートに係るプログラム、及びプログラムの実行に必要なデータは、ROM102、HDD108等に記憶されており、CPU101によってRAM103に読み出されて実行される。
まず、ネットワークパケット送受信部206は、外部装置からパケットを受信したか否かを判断する(S601)。このとき、ネットワークパケット送受信部206は、受信したと判断した場合、S602に処理を移し、他方、受信していないと判断した場合、S601に処理を移す。換言するならば、ネットワークデバイス300は、ネットワークパケット送受信部206において外部装置からネットワークパケットを受信するのを待ち受ける。本例では、ネットワークデバイス300が、アドレスの変更後の外部装置301から新たなIPv6アドレスの「1234:1::203:3ff:fe30:1」を送信元とするパケットを受信したものとする。
【0028】
S602では、ネットワークパケット送受信部206は、受信したパケットから送信元のアドレスを取得する(S602)。本例では、「1234:1::203:3ff:fe30:1」が取得されることとなる。そして、ネットワークパケット送受信部206は、送信元のアドレスをネットワークフィルタ制御部205に渡す。
続いて、ネットワークフィルタ制御部205は、フィルタアドレス記憶部204(フィルタリスト)を参照し、受け取った送信元のアドレスに該当するフィルタアドレスが存在するかを判定する(S603)。このとき、ネットワークフィルタ制御部205は、存在すると判断した場合、S608に処理を移し、他方、存在しないと判断した場合、S604に処理を移す。
【0029】
S604では、ネットワークフィルタ制御部205は、送信元のアドレスのインターフェースIDを取得する(送信元のアドレスからインターフェースIDを取出す)。なお、インターフェースIDは、装置(外部装置301等)を識別可能な装置識別情報の一例であり、例えば送信元のアドレスの規定の下位ビット部分である。
続いて、ネットワークフィルタ制御部205は、取得したインターフェースIDを持つフィルタアドレスがフィルタアドレス記憶部204に存在するかを判定する(S605)。このとき、ネットワークフィルタ制御部205は、存在すると判断した場合、S607に処理を移し、存在しないと判断した場合、S606に処理を移す。
S606では、ネットワークフィルタ制御部205は、外部装置301からのパケット(アクセスパケット)に対して予め設定されている処理を実施せずに(フィルタ非適用)、本フローチャートの処理を終了する。
【0030】
S607では、後述するフィルタアドレス更新処理(サブルーチン)が実行される。なお、フィルタアドレス更新処理では、例えば、送信元のアドレスが登録される。
ここで、本例では、フィルタアドレス記憶部204には、送信元のアドレス「1234:1::203:3ff:fe30:1」と同じフィルタアドレスは存在しない。しかしながら、フィルタアドレス記憶部204には、「1234:1::203:3ff:fe30:1」と同じインターフェースIDの「fee0:1::203:3ff:fe30:1」及び「fee0:2::203:3ff:fe30:1」が登録されている。故に、フィルタアドレス更新処理が実行されることとなる。
S608では、ネットワークフィルタ制御部205は、予め設定されている処理をアクセスパケットに対して行い(フィルタ適用)、本フローチャートの処理を終了する。
【0031】
図7は、フィルタアドレス更新処理に係るフローチャートの一例を示す図である。ここで、本フローチャートに係るプログラム、及びプログラムの実行に必要なデータは、ROM102、HDD108等に記憶されており、CPU101によってRAM103に読み出されて実行される。
まず、アドレス拡張制御部203は、ネットワークパケット送受信部206を利用して、DNSサーバ303に問い合わせを行う。この問合せにより、送信元のアドレスを保持する外部装置のホスト名を取得する(S701)。本例では、アドレス拡張制御部203は、「1234:1::203:3ff:fe30:1」のホスト名をDNSサーバ303に問い合わせることになる。DNSサーバ303は、設定ファイル情報501の内容を参照して、対応するホスト名である「dev1」をネットワークデバイス300に返す。なお、設定ファイル情報501については、上述したように外部装置301のアドレスが変更された際に更新されている。
【0032】
続いて、アドレス拡張制御部203は、ホスト名「dev1」のIPv6アドレスをDNSサーバ303にクエリし、「dev1」の全てのIPv6アドレスを取得する(S702)。なお、S701及びS702の処理は、外部装置(外部装置301等)のアドレス情報をもとに管理装置(DNSサーバ303等)に問合せを行って外部装置のアドレス情報とは異なる外部装置の他のアドレス情報を取得するアドレス情報取得処理の一例である。
本例では、「dev1」に対応するIPv6アドレスとして「1234:1::203:3ff:fe30:1」及び「1234:2::203:3ff:fe30:1」が取得される。そして、アドレス拡張制御部203は、「dev1」の全てのIPv6アドレスをフィルタアドレス登録部202に渡す。
続いて、フィルタアドレス登録部202は、フィルタアドレス記憶部204の内容を更新する(S703)。即ち、フィルタアドレス記憶部204に「1234:1::203:3ff:fe30:1」及び「1234:1::203:3ff:fe30:1」が登録される。なお、既に登録されているフィルタアドレスのうち、「fee0:1::203:3ff:fe30:1」及び「fee0:2::203:3ff:fe30:1」が削除される。そして、フィルタアドレス登録部202は、本フローチャートの処理を終了する。
【0033】
以上、本実施形態によれば、フィルタリングの対象の外部装置のステートレスアドレスが変更された場合にも、ネットワークデバイスでその変更を検知し、フィルタリストを最新のアドレスに更新することが可能となる。
この構成によれば、ネットワークデバイスでは、フィルタをすり抜ける時間帯を生じさせることなく、適切なフィルタリングを実施し続けることが可能となる。更に、この際、ユーザが手動で設定の内容を変更する必要がないので、ユーザの作業負荷も大幅に軽減できる。
【0034】
<第2の実施形態>
本実施形態では、第1の実施形態のフィルタアドレス更新処理において、DNSサーバ303を用いない構成について説明する。なお、本実施形態では、第1の実施形態の構成と同一の構成については同一の符号を用いて、その説明を適宜省略する。
図8は、本実施形態に係るフィルタアドレス更新処理に係るフローチャートの一例を示す図である。ここで、本フローチャートに係るプログラム、及びプログラムの実行に必要なデータは、ROM102、HDD108等に記憶されており、CPU101によってRAM103に読み出されて実行される。
なお、フィルタアドレス更新処理は、第1の実施形態と同様に、図6のS607において呼び出される。
【0035】
まず、ネットワークフィルタ制御部205は、フィルタアドレス登録部202を介して、送信元のアドレスをフィルタアドレス記憶部204に登録する(S801)。本例においては、「1234:1::203:3ff:fe30:1」が新たにフィルタアドレス記憶部204に登録されることとなる。そして、「1234:1::203:3ff:fe30:1」と同じインターフェースIDの「fee0:1::203:3ff:fe30:1」及び「fee0:2::203:3ff:fe30:1」がアドレス拡張制御部203に渡される。
続いて、アドレス拡張制御部203は、ネットワークパケット送受信部206を利用して、「fee0:1::203:3ff:fe30:1」及び「fee0:2::203:3ff:fe30:1」に対して存在確認パケットを送信(送付)する(S802)。存在確認パケットは、当該アドレスの外部装置で未だ使用されているか否か、即ち当該アドレスが存在しているか否かを外部装置に確認するためのパケットである。例えば、存在確認パケットは、当該アドレスに対するICMPv6(Internet Control Message Protocol for IPv6)の近隣要請(Neighbor Solicitation)パケットである。
【0036】
そして、アドレス拡張制御部203は、存在確認パケットに対する存在応答パケットを受信するのを所定の期間待ち受ける(一定の時間待ち受ける)。続いて、アドレス拡張制御部203は、存在応答パケットを受信したか否かを判断する(S803)。
このとき、アドレス拡張制御部203は、所定の期間内(一定の時間内)に受信したと判断した場合、フィルタアドレス記憶部204の更新に係る処理は行わず、本フローチャートの処理を終了する。この場合、例えば、「1234:1::203:3ff:fe30:1」というアドレスは、外部装置301に新たに追加されたIPv6アドレスであることになる。
他方、アドレス拡張制御部203は、所定の期間内(一定の時間内)に受信していないと判断した場合、当該アドレスが既に使用されていないものと判断し、S804に処理を移す。なお、存在応答パケットは、存在確認パケットに対するパケットであり、例えば、ICMPv6の近隣広告(Neighbor Advertisement)パケットである。
S804では、アドレス拡張制御部203は、フィルタアドレス登録部202を介して、フィルタアドレス記憶部204から存在していないと判断したアドレスを削除し、本フローチャートの処理を終了する。
【0037】
以上、本実施形態によれば、ネットワークデバイスは、DNSサーバが存在しないネットワーク環境下においても、フィルタリングの対象の外部装置のステートレスアドレスが変更されたことを自動で検知することができる。故に、フィルタリストを最新のアドレスに更新することが可能となる。
【0038】
<第3の実施形態>
本実施形態では、第1の実施形態のフィルタアドレス更新処理において、フィルタアドレス記憶部204の中に他にもアドレスが変更されている可能性のあるフィルタアドレスが存在するかが更に判断される。そして、存在していた場合、そのフィルタアドレスも更新される。なお、本実施形態では、第1の実施形態の構成と同一の構成については同一の符号を用いて、その説明を適宜省略する。
図9は、本実施形態に係るフィルタアドレス更新処理に係るフローチャートの一例を示す図である。ここで、本フローチャートに係るプログラム、及びプログラムの実行に必要なデータは、ROM102、HDD108等に記憶されており、CPU101によってRAM103に読み出されて実行される。
なお、フィルタアドレス更新処理は、第1の実施形態と同様に、図6のS607において呼び出される。
【0039】
まず、アドレス拡張制御部203は、ネットワークパケット送受信部206を利用して、DNSサーバ303に問い合わせを行う。この問合せにより、送信元のアドレスを保持する外部装置のホスト名を取得する(S901)。本例では「1234:1::203:3ff:fe30:1」のホスト名をDNSサーバ303に問い合わせることになる。DNSサーバ303は、設定ファイル情報501の内容を参照して、対応するホスト名である「dev1」をネットワークデバイス300に返す。
続いて、アドレス拡張制御部203は、ネットワークパケット送受信部206を利用して、ホスト名「dev1」のIPv6アドレスをDNSサーバ303にクエリし、「dev1」の全てのIPv6アドレスを取得する(S902)。本例では、「dev1」に対応するIPv6アドレスとして「1234:1::203:3ff:fe30:1」及び「1234:2::203:3ff:fe30:1」が取得される。そして、アドレス拡張制御部203は、「dev1」の全てのIPv6アドレスをフィルタアドレス登録部202に渡す。
【0040】
続いて、フィルタアドレス登録部202は、フィルタアドレス記憶部204の内容を更新する(S903)。即ち、フィルタアドレス登録部202は、フィルタアドレス記憶部204に登録されているフィルタアドレスのうち、「fee0:1::203:3ff:fe30:1」を「1234:1::203:3ff:fe30:1」に書き換える。また、フィルタアドレス登録部202は、「fee0:2::203:3ff:fe30:1」を「1234:2::203:3ff:fe30:1」に書き換える。
続いて、フィルタアドレス登録部202は、書き換えたフィルタアドレス(書き換え前のフィルタアドレス)と同じプレフィックス番号を持つフィルタアドレスがフィルタアドレス記憶部204に存在するか否かを判断する(S904)。このとき、存在すると判断した場合、S905に処理を移し、他方、存在しないと判断した場合、本フローチャートの処理を終了する。
【0041】
本例では、「fee0:1::203:3ff:fe30:1」のプレフィックス番号である「fee0:1」と同じプレフィックス番号を持つ「fee0:1::204:4ff:fe40:2」というフィルタアドレスが存在している。また、「fee0:2::203:3ff:fe30:1」のプレフィックス番号である「fee0:2」と同じプレフィックス番号を持つ「fee0:2::204:4ff:fe40:2」というフィルタアドレスが存在している。
ここで、同じプレフィックス番号を持つ外部装置に関しては、同様にアドレスが変更されていると判断することができる。
したがって、S905では、フィルタアドレス登録部202は、同じプレフィックス番号を持つフィルタアドレスが存在していると判断した場合、そのフィルタアドレスを、S903で更新したフィルタアドレスと同じプレフィックス番号で更新する。即ち、フィルタアドレス登録部202は、「fee0:1::204:4ff:fe40:2」を「1234:1::204:4ff:fe40:2」に書き換える。また、フィルタアドレス登録部202は、「fee0:2::204:4ff:fe40:2」を「1234:2::204:4ff:fe40:2」に書き換える。そして、フィルタアドレス登録部202は、本フローチャートの処理を終了する。
【0042】
以上、本実施形態では、アクセスパケットの送信元のアドレスを更新するタイミングで、その他にもアドレスが変更されている可能性のあるフィルタアドレスを探し、その情報も更新する。
この構成によれば、以降に当該アドレスを備えた外部装置からアクセスパケットを受信した際に、迅速に予め設定されているフィルタリング処理を行うことが可能となる。
【0043】
<第4の実施形態>
本実施形態では、第2の実施形態のフィルタアドレス更新処理において、フィルタアドレス記憶部204の中に他にもアドレスが変更されている可能性のあるフィルタアドレスが存在するかを更に判断する。そして、存在していた場合、そのフィルタアドレスも更新する。なお、本実施形態では、第1の実施形態及び第2の実施形態の構成と同一の構成については同一の符号を用いて、その説明を適宜省略する。
図10は、本実施形態に係るフィルタアドレス更新処理に係るフローチャートの一例を示す図である。ここで、本フローチャートに係るプログラム、及びプログラムの実行に必要なデータは、ROM102、HDD108等に記憶されており、CPU101によってRAM103に読み出されて実行される。
なお、フィルタアドレス更新処理は、第1の実施形態と同様に、図6のS607において呼び出される。
【0044】
まず、ネットワークフィルタ制御部205は、フィルタアドレス登録部202を利用して、送信元のアドレスをフィルタアドレス記憶部204に登録する(S1001)。本例においては、「1234:1::203:3ff:fe30:1」が新たにフィルタアドレス記憶部204に登録されることとなる。そして、「1234:1::203:3ff:fe30:1」と同じインターフェースIDの「fee0:1::203:3ff:fe30:1」及び「fee0:2::203:3ff:fe30:1」がアドレス拡張制御部203に渡される。
続いて、アドレス拡張制御部203は、ネットワークパケット送受信部206を利用して、「fee0:1::203:3ff:fe30:1」及び「fee0:2::203:3ff:fe30:1」に対して存在確認パケットを送信する(S1002)。存在確認パケットは、例えば、当該アドレスに対するICMPv6の近隣要請パケットである。そして、アドレス拡張制御部203は、存在確認パケットに対する存在応答パケットを受信するのを所定の期間待ち受ける。
【0045】
続いて、アドレス拡張制御部203は、存在応答パケットを受信したか否かを判断する(S1003)。存在応答パケットは、例えば、ICMPv6の近隣広告パケットである。
このとき、アドレス拡張制御部203は、存在すると判断した場合、S1005に処理を移す。この場合、例えば、「1234:1::203:3ff:fe30:1」というアドレスは、外部装置に新たに追加されたIPv6アドレスであることになる。他方、アドレス拡張制御部203は、存在しないと判断した場合、即ち当該アドレスは既に使用されていないものと判断した場合、S1004に処理を移す。
S1004では、アドレス拡張制御部203は、フィルタアドレス登録部202を利用して、フィルタアドレス記憶部204から存在していないと判断したアドレスを削除する。
【0046】
続いて、フィルタアドレス登録部202は、書き換えたフィルタアドレスと同じプレフィックス番号を持つフィルタアドレスがフィルタアドレス記憶部204に存在するか否かを判断する(S1005)。このとき、フィルタアドレス登録部202は、存在すると判断した場合、S1006に処理を移し、他方、存在しないと判断した場合、本フローチャートの処理を終了する。
本例では、「fee0:1::203:3ff:fe30:1」のプレフィックス番号である「fee0:1」と同じプレフィックス番号を持つ「fee0:1::204:4ff:fe40:2」というフィルタアドレスが存在している。また、「fee0:2::203:3ff:fe30:1」のプレフィックス番号である「fee0:2」と同じプレフィックス番号を持つ「fee0:2::204:4ff:fe40:2」というフィルタアドレスが存在している。
【0047】
ここで、同じプレフィックス番号を持つ外部装置に関しては、同様にアドレスが変更されている可能性があると判断することができる。
したがって、アドレス拡張制御部203は、同じプレフィックス番号を持つフィルタアドレスが存在した場合、それらに対しても存在確認を実行する。
続いて、アドレス拡張制御部203は、「fee0:1::204:4ff:fe40:2」及び「fee0:2::204:4ff:fe40:2」の変更後の候補アドレスと考えられるアドレスを生成する(S1006)。候補アドレス(候補アドレス情報の一例)は、これらアドレスのプレフィックス番号を、S1001で登録した送信元のアドレスのプレフィックス番号に置き換えることで生成される。即ち、本例においては、「1234:1::204:4ff:fe40:2」及び「1234:2::204:4ff:fe40:2」が候補アドレスとなる。
【0048】
続いて、アドレス拡張制御部203は、ネットワークパケット送受信部206を利用して、上記候補アドレスに対して存在確認パケットを送信する(S1007)。そして、アドレス拡張制御部203は、存在確認パケットに対する存在応答パケットを受信するのを所定の期間待ち受ける。続いて、アドレス拡張制御部203は、存在応答パケットを受信したか否かを判断する(S1008)。このとき、アドレス拡張制御部203は、受信したと判断した場合、S1009に処理を移し、他方、受信していないと判断した場合、本フローチャートの処理を終了する。
S1009では、ネットワークフィルタ制御部205は、フィルタアドレス登録部202を利用して、上記候補アドレスをフィルタアドレス記憶部204に登録する。そして、フィルタアドレス登録部202は、フィルタアドレス記憶部204に登録されている既存のアドレスをアドレス拡張制御部203に渡す。本例では「fee0:1::204:4ff:fe40:2」及び「fee0:2::204:4ff:fe40:2」が渡ることとなる。
【0049】
続いて、アドレス拡張制御部203は、ネットワークパケット送受信部206を利用して、上記既存のアドレスに対して存在確認パケットを送信する(S1010)。そして、アドレス拡張制御部203は、存在確認パケットに対する存在応答パケットを受信するのを所定の期間待ち受ける。
続いて、アドレス拡張制御部203は、存在応答パケットを受信したか否かを判断する(S1011)。このとき、アドレス拡張制御部203は、受信したと判断した場合、フィルタアドレス記憶部204の更新に係る処理は行わず、上記既存のアドレスは登録したままにし、本フローチャートの処理を終了する。他方、アドレス拡張制御部203は、受信しなかったと判断した場合、即ち、当該アドレスは既に使用されていないものと判断した場合、S1012に処理を移す。
S1012では、アドレス拡張制御部203は、フィルタアドレス登録部202を利用して、フィルタアドレス記憶部204から上記既存のアドレスを削除する。
【0050】
以上、本実施形態によれば、DNSサーバが存在しないネットワーク環境下においても、アクセスパケットの送信元のアドレスを更新するタイミングで、その他にもアドレスが変更している可能性のあるフィルタアドレスを検出する。そして、疎なアドレスに対しても存在確認を行う。
この構成によれば、以降に当該アドレスを備えた外部装置からアクセスパケットを受信した際に、迅速に予め設定されているフィルタリング処理を行うことが可能となる。
【0051】
<その他の実施形態>
図6において、S601で受信したアクセスパケットに予め設定されている処理を実施するタイミングは、フィルタアドレス更新処理を実施するタイミングよりも前であってもよい。この場合、フィルタアドレス更新処理に時間がかかり、アクセスパケットの送信元が長い時間応答を待たされる事態を回避することが可能となる。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
【0052】
上述した実施形態の構成によれば、外部装置からのパケットをより適切にフィルタリングすることができる。
【0053】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0054】
100 プリンタコントローラ、120 プリンタ

【特許請求の範囲】
【請求項1】
外部装置と通信可能に接続され、装置を識別可能な装置識別情報を含むアドレス情報が登録されたフィルタ情報に従って前記外部装置から受信したパケットのフィルタリングを行う情報処理装置であって、
前記パケットから前記外部装置のアドレス情報を取得する取得手段と、
前記外部装置のアドレス情報が前記フィルタ情報に登録されているか否かを判断し、登録されていないと判断した場合、前記外部装置のアドレス情報から前記外部装置の装置識別情報を取り出す取出手段と、
前記取出手段で取り出された装置識別情報と同じ装置識別情報を持つアドレス情報が前記フィルタ情報に登録されているか否かを判断し、登録されていると判断した場合、前記フィルタ情報に前記外部装置のアドレス情報を登録する更新を行う更新手段と、を有することを特徴とする情報処理装置。
【請求項2】
前記外部装置に設けられているアドレス情報を管理する管理装置と通信可能に接続され、
前記外部装置のアドレス情報をもとに前記管理装置に問合せを行って前記外部装置のアドレス情報とは異なる前記外部装置の他のアドレス情報を取得するアドレス情報取得手段を更に有し、
前記更新手段は、前記装置識別情報を持つアドレス情報が前記フィルタ情報に登録されていると判断し、更に、前記アドレス情報取得手段で前記他のアドレス情報が取得されたと判断した場合、前記フィルタ情報に前記他のアドレス情報を登録する更新を行うことを特徴とする請求項1記載の情報処理装置。
【請求項3】
前記更新手段は、前記装置識別情報を持つアドレス情報が前記フィルタ情報に登録されていると判断し、更に、前記装置識別情報を持つアドレス情報に対して存在しているかを確認する確認パケットを送付して前記確認パケットに対する応答パケットの受信を一定の時間待ち受け、前記応答パケットを前記一定の時間内に受信しないと判断した場合、前記装置識別情報を持つアドレス情報を前記フィルタ情報から削除する更新を行うことを特徴とする請求項1記載の情報処理装置。
【請求項4】
アドレス情報には、装置が接続される通信回線を識別可能な通信回線識別情報が更に含まれ、
前記更新手段は、前記装置識別情報を持つアドレス情報が前記フィルタ情報に登録されていると判断し、更に、前記装置識別情報を持つアドレス情報の通信回線識別情報と同じ通信回線識別情報を持つアドレス情報が前記フィルタ情報に登録されているか否かを判断して登録されていると判断した場合、登録されていると判断したアドレス情報の通信回線識別情報を前記外部装置のアドレス情報の通信回線識別情報に変更する更新を行うことを特徴とする請求項1又は2記載の情報処理装置。
【請求項5】
アドレス情報には、装置が接続される通信回線を識別可能な通信回線識別情報が更に含まれ、
前記装置識別情報を持つアドレス情報の通信回線識別情報と同じ通信回線識別情報を持つアドレス情報が前記フィルタ情報に登録されているか否かを判断し、登録されていると判断した場合、登録されていると判断したアドレス情報の通信回線識別情報を前記外部装置のアドレス情報の通信回線識別情報に変更した候補アドレス情報を生成する生成手段を更に有し、
前記更新手段は、前記装置識別情報を持つアドレス情報が前記フィルタ情報に登録されていると判断し、更に、前記候補アドレス情報に対して存在しているかを確認する確認パケットを送付して前記確認パケットに対する応答パケットの受信を一定の時間待ち受け、前記応答パケットを前記一定の時間内に受信したと判断した場合、前記候補アドレス情報を前記フィルタ情報に登録する更新を行うことを特徴とする請求項1又は3記載の情報処理装置。
【請求項6】
前記更新手段は、前記生成手段で登録されていると判断されたアドレス情報に対して存在しているかを確認する確認パケットを送付して前記確認パケットに対する応答パケットの受信を一定の時間待ち受け、前記応答パケットを前記一定の時間内に受信しないと判断した場合、前記生成手段で登録されている判断されたアドレス情報を前記フィルタ情報から削除する更新を行うことを特徴とする請求項5記載の情報処理装置。
【請求項7】
前記外部装置のアドレス情報は、IPv6ステートレスアドレスであることを特徴とする請求項1乃至6の何れか1項記載の情報処理装置。
【請求項8】
前記外部装置のアドレス情報の装置識別情報は、インターフェースIDであることを特徴とする請求項1乃至7の何れか1項記載の情報処理装置。
【請求項9】
前記外部装置のアドレス情報の通信回線識別情報は、プレフィックス番号であることを特徴とする請求項4乃至6の何れか1項記載の情報処理装置。
【請求項10】
外部装置と通信可能に接続され、装置を識別可能な装置識別情報を含むアドレス情報が登録されたフィルタ情報に従って前記外部装置から受信したパケットのフィルタリングを行う情報処理装置における情報処理方法であって、
前記パケットから前記外部装置のアドレス情報を取得する取得工程と、
前記外部装置のアドレス情報が前記フィルタ情報に登録されているか否かを判断し、登録されていないと判断した場合、前記外部装置のアドレス情報から前記外部装置の装置識別情報を取り出す取出工程と、
前記取出工程で取り出された装置識別情報と同じ装置識別情報を持つアドレス情報が前記フィルタ情報に登録されているか否かを判断し、登録されていると判断した場合、前記フィルタ情報に前記外部装置のアドレス情報を登録する更新を行う更新工程と、を有することを特徴とする情報処理方法。
【請求項11】
外部装置と通信可能に接続され、装置を識別可能な装置識別情報を含むアドレス情報が登録されたフィルタ情報に従って前記外部装置から受信したパケットのフィルタリングを行うコンピュータを、
前記パケットから前記外部装置のアドレス情報を取得する取得手段と、
前記外部装置のアドレス情報が前記フィルタ情報に登録されているか否かを判断し、登録されていないと判断した場合、前記外部装置のアドレス情報から前記外部装置の装置識別情報を取り出す取出手段と、
前記取出手段で取り出された装置識別情報と同じ装置識別情報を持つアドレス情報が前記フィルタ情報に登録されているか否かを判断し、登録されていると判断した場合、前記フィルタ情報に前記外部装置のアドレス情報を登録する更新を行う更新手段として機能させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2013−90089(P2013−90089A)
【公開日】平成25年5月13日(2013.5.13)
【国際特許分類】
【出願番号】特願2011−227926(P2011−227926)
【出願日】平成23年10月17日(2011.10.17)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】