JP2005130096A - 通信装置、方法、及び、プログラム - Google Patents

通信装置、方法、及び、プログラム Download PDF

Info

Publication number
JP2005130096A
JP2005130096A JP2003361900A JP2003361900A JP2005130096A JP 2005130096 A JP2005130096 A JP 2005130096A JP 2003361900 A JP2003361900 A JP 2003361900A JP 2003361900 A JP2003361900 A JP 2003361900A JP 2005130096 A JP2005130096 A JP 2005130096A
Authority
JP
Japan
Prior art keywords
communication
address
transmission
packet
search packet
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.)
Withdrawn
Application number
JP2003361900A
Other languages
English (en)
Inventor
Haruyuki Kitawaki
晴之 北脇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2003361900A priority Critical patent/JP2005130096A/ja
Publication of JP2005130096A publication Critical patent/JP2005130096A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Abstract

【課題】 簡易かつ安全に、近距離の機器間通信を確立する方法を提供する。
【解決手段】 機器2と3間の通信を行わせる際、ユーザは機器2に刺激を与え(S101)、機器2のユニキャストアドレスを送信元アドレスとする通信先探索パケットをマルチキャストもしくはブロードキャストで送信する(S102)。ユーザが、機器3に、ある期間内に刺激を与えると(S112)、機器3のユニキャストアドレスを送信元アドレスとする通信先発見パケットを返信し(S113)、通信先探索パケットの送信元アドレスと自アドレスを用いてセキュリティポリシーを設定する(S114)。機器2は、通信先発見パケットの送信元アドレスと自アドレスを用いてセキュリティポリシーを設定する(S122)。
【選択図】 図4

Description

本発明は、安全に通信を行うための設定を自動化した通信装置、方法、及び、プログラムに関し、特に、通信を行う機器を簡易に指定した通信装置、方法、及び、プログラムに関する。
インターネット上で安全に通信を行う仕様の1つに、IPsec(IP security)という技術がある。IPsecは、RFC2401(Security Architecture for the Internet Protocol)を中心に、複数のRFCにより規定されている。
以下、IPsecについて簡単に説明する。
IPsecで実現できる機能には以下がある。
・アクセス制御:接続元のアドレスなどに基づいて接続の許可・不許可を行う。
・通信データの完全性の保証:通信データが通信経路の途中で改竄されていないことを保証する。
・通信内容の秘匿:通信データを暗号化して、通信経路上で通信データを傍受されても通信データの内容が容易に判別できないようにする。
以上の機能を実現するため、IPsecは複数の技術より構成されている。
IPsecではAH(Authentication Header)とESP(Encapsulating Security Payload)というセキュリティプロトコルを用いる。AHは認証(完全性の保証)に用い、ESPは暗号化(データの秘匿性を実現)に用いる。AHはRFC2402、ESPはRFC2406で規定されている。AH、ESPには、それぞれトランスポートモードとトンネルモードの2つのモードがある。トランスポートモードはIPのペイロード部分をセキュリティプロトコルの処理対象にし、トンネルモードはIPパケット全体を処理対象とする。
IPsecでは鍵、暗号アルゴリズムなどを管理するために、SA(Security Association)というパラメータのセットを用いる。SAを管理するデータベースをSAD(Security Association Database)と呼ぶ。SAのパラメータとして、通信する2点間の識別子、SPI(Security Parameter Index)、セキュリティプロトコルの種類、暗号アルゴリズムとその鍵、SAの生存時間、暗号化アルゴリズムで用いるIVの値、カウンタがある。SAには方向があり、双方向通信を行うためには2つのSAが必要となる。
セキュリティポリシーとは、一般には「何を」「何から」「どのように」守るかを示す行動指針を指すが、IPsecにおけるSP(Security Policy)は、どのようなIPパケットに対してIPsecを適用するか否かを示す。SPのパラメータとしては、IP層プロトコル番号、IPアドレス、ネットワークアドレス、トランスポート層プロトコル、ポート番号、ユーザの識別子がある。SPを管理するデータベースをSPD(Security Parameter Database)と呼ぶ。
一例として、FreeBSDというオペレーティングシステムで動作する、KAMEプロトコルスタックにおける設定方法について説明する。KAMEでSPを設定する方法は、setkeyコマンドを用いる方法と、スクリプトを用いてマシン起動時に設定する方法の2つがある。
例えば、図13に示したホストAとホストB間でIPsecを双方向に行う場合、ホストAには以下に示すファイルを用意し、setkeyコマンドを用いて読み込ませ、設定する。
spdadd 2001:340:2:100::2 2001:340:2:100::1 any −P in ipsec esp/transport//require;
spdadd 2001:340:2:100::1 2001:340:2:100::2 any −P out ipsec esp/transport//require;
また、ホストBには以下に示すファイルを用意し、setkeyコマンドを用いて読み込ませ、設定する。
spdadd 2001:340:2:100::1 2001:340:2:100::2 any −P in ipsec esp/transport//require;
spdadd 2001:340:2:100::2 2001:340:2:100::1 any −P out ipsec esp/transport//require;
「spdadd」はSPDにSPを追加することを示すコマンドである。次のアドレスは送信元、さらにその次のアドレスは送信先アドレスを示し、処理対象となるアドレスは何か、ということを示す。アドレス指定だけでなく、「2001:340:2::/64」のようにプレフィックスで指定することも可能である。
次の「any」の個所でトランスポート層プロトコルを指定する。「any」は全てのトランスポート層プロトコルが対象となることを示す。他に、「icmp」といった指定が可能である。次の「−P in」「−P out」で、SPを適用する方向を指定する。次の「ipsec」は、条件に適合したパケットにIPsec処理を行うことを示す。他に、何も処理しないことを示す「none」や、条件に適合したパケットを廃棄する「discard」などの指定が可能である。
次の一行で、セキュリティプロトコル、モード、処理を行うノード、レベルを指定する。セキュリティプロトコル「esp」は暗号処理を行うことを示し、「ah」は認証を行うことを示す。次の項で、モードを指定する。「transport」でトランスポートモード、「tunnel」でトンネルモードとして動作させることを示す。次のスラッシュ(/)とスラッシュの間には、処理を実際に行うアドレスを示す。トランスポートモードの時は省略できる。ここでは省略している。トンネルモードの場合は、セキュリティゲートウェイのアドレスを(2箇所のセキュリティゲートウェイ間で処理を行うため)2つ指定する。
最後のレベルは、条件に一致したパケットに対し、どれぐらいの厳しさで処理を行うかを示す。例えば「require」は、条件に一致したパケットには必ず処理を行うことを強制し、行えなければパケットを破棄する。「use」の場合、条件に一致したパケットに処理を行うようにするが、処理が行えなくとも、通信を許可する。
ここではIPv6アドレスを用いた例を図示したが、IPv4アドレスでもIPsec通信は可能であり、SPの設定も可能である。
マシン起動時にSPを設定するには、/etc/rc.confファイルにipsec_enable=”YES”と記述し、SPを記述した(例えば上記で示したような)ファイルをipsec_fileという項目で指定しておくことにより、FreeBSD起動後、自動的にSPを設定することが可能である。
IPsecを行うために、通信する2点間でSAのパラメータを共有する必要がある。また、暗号アルゴリズムで用いる鍵も共有する必要がある。IPsecでは、その管理方法として、手動鍵管理と自動鍵管理を定義している。
自動鍵管理の方法として、IPsecでは、IKE(Internet Key Exchange)を用いる。IKEはRFC2409で規定されている。IKEはIKE自身のSAを交換するフェーズ1と、フェーズ1により確立されたSA下で安全にIPsecのSAのパラメータを交換するフェーズ2という2つのフェーズから成る。フェーズ1では、認証方式として電子署名、公開鍵暗号、Pre−shared Keyの3つが定義されており、IKEを実行するプログラム同士がどれか1つを合意して用いる。
以上、IPsecについて説明した。IPsecの詳細については、非特許文献1などに記載されている。
「IPv6プロトコル徹底解説」(Marcus Goncalves, Kitty Niles著、生田りえ子、勝本道哲、重野寛 訳、日経BP社、ISBN4−8222−8082−9)
背景技術の項で説明したように、IPsecを使用するにはセキュリティポリシーを設定する必要があり、コマンドや設定ファイル用いて、あらかじめセキュリティポリシーを設定していた。
しかし、あらかじめセキュリティポリシーを記述したファイルを用意する必要があるので、IPsecを適用するIPパケットを指定するためにセキュリティポリシーの一部にIPアドレスを記述する必要があり、この点で不都合なことがあった。
個々の通信相手に対してセキュリティポリシーを設定したい場合、事前に相手のIPアドレスを詳細に知っておく必要がある。例えばIPv6アドレスを用いる場合、128ビット全てを把握しておく必要がある。
これを避けるため、ネットワークプレフィックスでIPアドレスの範囲を指定することを考える。例えば、IPv6アドレスの場合で、IPsecを適用する通信相手のネットワークプレフィックスを「2001::/96」と指定すれば上位32ビットが「2001」のIPv6アドレスを持つ通信相手が全て該当することになる。「::/0」と指定すれば全てのIPv6アドレスを持つ通信相手を指定したことになる。しかし、適用する範囲を広くしすぎると、セキュリティポリシーを適用したくない通信相手にも適用することになってしまう。
例えば、「::/0」と指定した場合、リンクローカルアドレスによる通信が行えなくなり、近傍アドレス検索などの重要な機能が阻害される場合がある。「2001::/96」と指定しても、上位32ビットが「2001」の通信相手を指定しただけであり、将来、「2001」以外の上位32ビットを持つ通信相手が出現した場合には対処できない。
このように、通信相手が決定しない状態で、あらかじめ適切なIPアドレスを想定して、セキュリティポリシーを設定しておくことは大変困難である。
よって、通信相手のIPアドレスが判明してから、セキュリティポリシーを自動で設定して、自動でIPsecを行える状態にする仕組みが望まれる。
さらに、近距離において簡易に通信相手を確立する手段と組みあわせることにより、いっそうの利便性の向上が期待される。
本提案は上記の問題に鑑みてなされるものであり、通信させる機器を簡易に指定し、セキュリティポリシーを自動設定して、IPsec通信を行う通信装置、方法、及び、プログラムを提供することを目的とする。
本発明の第1の通信装置は、刺激を感知する感知手段と、パケットの送受信を行う送受信手段とを有し、前記送受信手段は、通信先探索パケットの受信、及び、前記感知手段による刺激の感知に応じて、該通信先探索パケットの送信元アドレスを送信先アドレスとして自身のIPアドレスを送信元アドレスとした通信先発見パケットを返信し、受信したデータを元にセキュリティポリシーを設定して通信を行うことを特徴とする。
本発明の第2の通信装置は、刺激を感知する感知手段と、パケットの送受信を行う送受信手段とを有し、前記送受信手段は、通信先探索パケットの受信、及び、前記感知手段による刺激の感知に応じて、該通信先探索パケットの送信元アドレスを送信先アドレスとして自身のIPアドレスを送信元アドレスとした通信先発見パケットを返信し、通信先探索パケットに含まれるアドレスを元に、セキュリティを確保するパケットを特定することを特徴とする。
本発明の第3の通信装置は、刺激を感知する感知手段と、通信先探索パケットをマルチキャストもしくはブロードキャストで送信し、該通信先探索パケットの返信を受信する送受信手段と、返信されたデータを元にセキュリティポリシーを設定して、IKEプログラムを実行し、IKEプログラムで確立されたセキュリティアソシエーションに基づき暗号化、認証処理を行う手段を備え、刺激を感知すると、セキュリティポリシーおよびセキュリティアソシエーションを設定してIPsec通信を行うことを特徴とする。
以上説明したように、本発明によれば、パケットをマルチキャストもしくはブロードキャストを行うことにより、又は、そのパケットに返答することにより、両方の機器が相手のユニキャストアドレスを取得し、そのユニキャストアドレスを用いてSPを設定するようにした。したがって、任意の2つの機器でSPを自動的に設定でき、セキュリティを確保することができる。
またスコープを判別することで、所望の範囲のネットワークにも対応できる。
さらに、スコープを指定する簡易な入力方法を提供することにより、通信エリアをユーザが指定して、本発明を実行することが可能である。
また、機器が刺激を感知して本発明を実行するようにしたので、簡易な操作で通信させたい機器を指定することができる。
さらに、前記SPの自動設定と、機器が刺激を感知して本発明を実行するという機構の組み合わせにより、ユーザは機器に刺激を与えるだけでIPsec通信を行うことができる。
本発明の実施の形態を、図面を参照しながら説明する。実施例ではIPアドレスにIPv6アドレスを用いる場合で説明するが、本発明はIPv4アドレスを用いる場合でも適用可能である。IPv4を適用する場合に異なる処理が必要な場合ついては適宜説明を加える。「IP」と表記した場合は、IPv6/IPv4の区別をつけず、両方を指すこととする。また、単に「アドレス」と表記した場合は、ユニキャストアドレスを示すものとする。
本形態では、ローカルエリアネットワーク(Local Area Network,LAN)の単一サブネット上に機器が接続されている場合を説明する。
図1は、本実施形態を適用する環境を示す図である。
ローカルネットワーク1があり、機器(通信装置)2と機器(通信装置)3が接続されている。ローカルネットワーク1の物理層の種類は特に種類は問わない。イーサネット(登録商標)、IEEE802.11、Bluetoothなど、物理層の上位でIPによる通信ができれば問題ない。
本実施形態において具体的な用途をイメージしやすくするため、機器2はデジタルスチルカメラ、機器3はネットワークプリンタであるとする。だが、本発明がデジタルスチルカメラ、ネットワークプリンタのみに適用されるわけではなく、ネットワークに接続できるあらゆる機器に適用可能である。
図2は、機器2の構成を示す図である。CPU201が機器2の全体の動作を制御する。RAM202は一時記録装置である。
ROM203はプログラムなど、消去不可能なデータが組み込まれているRead Only Memoryである。ROM203には、IKEを実行するプログラムが認証に用いるデータが記録されている。本実施形態では、そのデータは公開鍵証明書データとする。
また、本実施形態ではアドレス以外のSPのデータ(パラメータ)が記録されているものとする。FreeBSDのSPの書式を参考にして、本実施形態で適用するアドレス以外のSPのデータを例示すると、トランスポート層プロトコルは「any」(全て)、ポート番号は指定せず(全てのポートに適用を意味する)、方向は「in」と「out」(双方向にSAを設定するため)、処理方法は「ipsec」(条件に一致したパケットにIPsecを適用する)、セキュリティプロトコルは「ah」と「esp」(認証と暗号化を行う)、モードは「trasnport」(トランスポートモード)、レベルは「require」(条件に一致したパケットにはIPsecを行わせる。IPsecが行えない場合は通信を許可しない)であるとする。
ネットワークインタフェース204は、機器2が外部機器とデータ送受信を行う際に使用するインタフェースである。バス205は、各モジュールを接続する内部バスである。画像データ生成部206は、外部からレンズを通してCCD(Charge Coupled Device、電荷結合素子)などの受光素子にて色彩データにし、JPEGなどの画像データを生成するモジュールを指す。外部記録部207は、画像データ生成部206で生成された画像データを記録する部分である。外部記録部207は、例えばメモリ媒体やハードディスク、DVDなどの光記録素子などさまざまな形態が考えられるが、特に種別は問わない。
センサ部208は、刺激を感知するモジュール(感知手段)であり、具体例としては、物理的接触を感知するタッチセンサや、ボタン、振動センサである。他に、デジタルスチルカメラの構成要素として、レンズやフラッシュなど多くの要素があるが、省略する。
図3は、機器3の構成を示す図である。CPU301が機器3の全体の動作を制御する。RAM302は一時記録装置である。
ROM303はプログラムなど、消去不可能なデータが組み込まれているRead Only Memoryである。ROM303には、IKEを実行するプログラムが認証に用いるデータが記録されているものとする。本実施形態では、そのデータは公開鍵証明書データとする。また、本実施形態ではアドレス以外のSPのデータ(パラメータ)が記録されているものとする。ROM303に記録されているアドレス以外のSPのデータは、ROM203と共通であり、上位層プロトコルは「any」、ポート番号は指定せず、方向は「in」と「out」、処理方法は「ipsec」、セキュリティプロトコルは「ah」と「esp」、モードは「trasnport」、レベルは「require」であるとする。ここで、セキュリティプロトコルに「ah」のみ指定すると認証のみを、「esp」のみ指定すると暗号化のみを行うよう指定したこととなる。
ネットワークインタフェース304は、機器3が外部機器とデータ送受信を行う際に使用するインタフェースである。機器3はネットワークプリンタであるので、プリント用データや、制御コマンドなどを主に受信する際に使用される。バス305は、各モジュールを接続する内部バスである。プリント部306は、受信したプリント用データを紙などに印刷するモジュールである。
センサ部307は、刺激を感知するモジュール(感知手段)であり、具体例としては、物理的接触を感知するタッチセンサや、ボタン、振動センサである。他にネットワークプリンタの構成要素として、印刷データを一時保存するスプールなど多くの要素があるが、省略する。
図2および図3の、ネットワークインタフェース204、304については、特に種類を問わないが、ローカルネットワーク1に接続可能なものである必要がある。
また、図2の画像データ生成部206、外部記録部207、および図3のプリント部306は、本発明とは直接関係はないが、イメージしやすい実施形態を説明するために加えた部分である。
では、図1の環境を例に、本発明の形態を説明する。
図4は本形態の全体の通信フローを示す図である。図5は機器2(本形態の始動側)の動作フローを示す図である。図6は機器3(本形態の応答側)の動作フローを示す図である。先に図4を参照して本形態の全体の流れを説明したあと、図5と図6を用いて詳細な説明を行う。
図4において、機器(通信装置)2と機器(通信装置)3が通信を行う。図4は、上から下方向に時間が経過し、その時々の処理を示している。機器2のように、最初に刺激を受けてパケットをマルチキャストもしくはブロードキャストを行う機器を、始動側の機器とも称することにする。また、機器3のようにそのパケットを受信して返信を行う機器を、応答側の機器とも称することにする。なお、本発明は、機器2(デジタルスチルカメラ)が始動側で、機器3(ネットワークプリンタ)が応答側になる場合に限られるわけではなく、逆でもよい。
図4のS101において、機器2は刺激を与えられる。機器2は刺激を与えられたことをきっかけとし、S102において機器2のユニキャストアドレスを送信元アドレスとする通信先探索パケットをマルチキャストもしくはブロードキャストする。
マルチキャストもしくはブロードキャストされたパケットは、機器3で受信される(S111)。
機器3は、S111においてパケットを受信したあと、一定時間、刺激を感知する状態となる。S112において、一定時間以内に刺激を与えられた場合、返信用のパケット(機器3のユニキャストアドレスを送信元アドレスとする通信先発見パケット)を生成してパケットを返信する(S113)。パケット返信後、先に受信したパケットの送信先アドレスと機器3のアドレスを用いてSPを設定する(S114)。
機器2は、機器3がS113で送信したパケットを受信する(S121)。受信したパケットの送信元アドレスと機器2のアドレスを用いてSPを設定する(S122)。
その後、機器2と機器3はIKEを用いてSAを確立(S131)する。SAが確立すれば、IPsec通信を機器2と機器3の間で行えるので、IPsecで保護された、任意のデータ通信が行える(S141)。
以上が本発明の形態の全体の大まかな流れである。
すなわち、機器(通信装置)2のCPU201は、ネットワークインタフェース204を介して通信先探索パケットをマルチキャストもしくはブロードキャストで送信し、該通信先探索パケットの返信を受信する送受信手段である。CPU201は、返信されたデータを元にセキュリティポリシーを設定して、IKEプログラムを実行し、IKEプログラムで確立されたセキュリティアソシエーションに基づき暗号化、認証処理を行い、刺激を感知すると、セキュリティポリシーおよびセキュリティアソシエーションを設定してIPsec通信を行う。
また、機器2は、始動側通信用セキュリティ自動設定装置通信装置であって、応答側通信用セキュリティ自動設定装置通信装置(機器3)を認証する際に用いるデータ、及び、IPアドレス以外のセキュリティポリシーのパラメータを保持する手段(ROM203)と、刺激を感知する手段(センサ部208)と、通信先探索パケットをマルチキャストもしくはブロードキャストで送信し、該通信先探索パケットの返信を受信する手段(ネットワークインタフェース204)とを備える。そして、機器2は、さらに、返信されたデータを元にセキュリティポリシーを設定して、IKEプログラムを実行し、IKEプログラムで確立されたセキュリティアソシエーションに基づき暗号化、認証処理を行う手段(CPU201)を備え、刺激を感知すると、セキュリティポリシーおよびセキュリティアソシエーションを設定して応答側通信用セキュリティ自動設定装置通信装置(機器3)とIPsec通信を行う。
機器(通信装置)3のCPU301は、ネットワークインタフェース304を介してパケットを受信して、受信したパケットを処理するとともに、送信パケットを生成し、生成したパケットを、ネットワークインタフェース304を介して送信する送受信手段である。CPU301は、通信先探索パケットの受信、及び、感知手段であるセンサ部307による刺激の感知に応じて、該通信先探索パケットの送信元アドレスを送信先アドレスとして自身のIPアドレスを送信元アドレスとした通信先発見パケットを返信し、受信したデータを元にセキュリティポリシーを設定して通信を行う。また、CPU301は、通信先探索パケットの受信、及び、感知手段であるセンサ部307による刺激の感知に応じて、該通信先探索パケットの送信元アドレスを送信先アドレスとして自身のIPアドレスを送信元アドレスとした通信先発見パケットを返信し、通信先探索パケットに含まれるアドレスを元に、セキュリティを確保するパケットを特定する。
また、機器3は、応答側通信用セキュリティ自動設定装置通信装置であって、始動側通信用セキュリティ自動設定装置通信装置(機器2)を認証する際に用いるデータ、及び、IPアドレス以外のセキュリティポリシーのパラメータを保持する手段(ROM303)と、通信先探索パケットを受信し判別する手段(ネットワークインタフェース304)と、刺激を感知する手段(センサ部307)とを備える。そして、機器3は、該通信先探索パケットの送信元アドレスを抽出し、該抽出した送信元アドレスを送信先アドレスと自身のIPアドレスを送信元アドレスとした通信先発見パケットを生成し返信するとともに、受信したデータを元にセキュリティポリシーを設定して、IKEプログラムを実行し、IKEプログラムで確立されたセキュリティアソシエーションに基づき暗号化、認証処理を行う手段(CPU301)を備え、刺激を感知すると、セキュリティポリシーおよびセキュリティアソシエーションを設定して始動側通信用セキュリティ自動設定装置通信装置(機器2)とIPsec通信を行う。
ここより、図5と図6を用いて本形態の詳細な説明を行う。
図5のS201よりスタートする。機器2は電源投入後、ROM203に記録された起動プログラムに従って起動し、図2の202〜208の各部分が使用できるようにセットする。図5のS201からS221で示されるプログラムも、ROM203に記録されている。外部記録部207には、画像データが蓄積されているものとする。
機器2のCPU201は、S202において、図2のセンサ部208を通じて刺激を感知する(図4のS101)。センサ部208が物理的接触を感知するタッチセンサであれば、このS202は、人間がタッチセンサに触れることが刺激を与えられることである。また、センサ部208がボタンであれば、このS202は、人間がボタンを押すことが刺激を与えられることであり、センサ部208が振動センサであれば、人間が振動を与えることが刺激を与えられることである。CPU201が発明の形態を実行するきっかけとなる事象であれば、問題ない。
CPU201は、刺激が与えられたことをきっかけとして、S203において、パケットをRAM202で生成し、ネットワークインタフェース204を通じてマルチキャストもしくはブロードキャストで送信する(図4のS102)。このパケットを通信先探索パケットと呼ぶことにする。通信先探索パケットは、IPv6の場合、リンクローカル全ノードマルチキャストパケット(送信先アドレスが「ff02::1」、送信元アドレスが機器2のネットワークインタフェース204のリンクローカルユニキャストアドレス)とし、マルチキャストされる。IPv4の場合、送信先アドレスがブロードキャストアドレス、送信元アドレスがIPv4のユニキャストアドレスとなり、ブロードキャストされる。
通信先探索パケットの例として、ICMP(Internet Control Message Protocol)をベースにした例をあげる。IPv4のICMP(ICMPv4)は、RFC792で、IPv6のICMP(ICMPv6)はRFC2463で規定される。ICMPにはタイプとコードというフィールドがあり、タイプでメッセージの大まかな種別を、コードで、より詳しい種別を指定できる。例えば、Pingコマンドで用いられるエコー要求はICMPv4ではタイプ8、コード0、ICMPv6ではタイプ128、コード0であり、エコー応答はICMPv4ではタイプ0、コード0、ICMPv6ではタイプ129、コード0と規定されている。ICMPv6ではエラーメッセージはタイプ1から127までで規定され、他のメッセージはタイプ128から255の番号を使用する。
本実施形態では、通信先探索パケットの例としてICMPv6パケットを用い、タイプ181、コード0を用いることとする。後に使用する通信先発見パケット(通信先探索パケットの応答に用いるパケット)は、タイプ182、コード0を用いることとする。このタイプの値は通信元、通信先で一意である必要があるが、本実施形態で示した番号でなければならないことはなく、他のメッセージタイプと重複せず、一意にタイプの番号よりメッセージの種別を判別可能なら問題ない。また、IPv4で行う場合には、通信先探索パケットはタイプ21、コード0、通信先発見パケットはタイプ22、コード0を用いるとする。以後、本実施形態において通信先探索パケットか、通信先発見パケットかを判別する場合、タイプフィールドの値を参照して比較し、所望のタイプと一致したら、そのパケットである、と判断するものとする。
なお、通信先探索パケット、通信先発見パケットの例としてICMPを用いる例を示したが、実施形態としてICMPに限定するわけではない。通信先探索パケットはマルチキャストもしくはブロードキャストが可能であれば問題ない。例えば、ICMPの代わりにUDPなどのデータグラムプロトコルを用いても同様の機能を実現可能である。UDPを用いる場合、ICMPと同様にパケットの種別を判別できる番号なり文字列なりを付加する必要がある。また、受信側においてパケットを受信するためにポート番号を決定しておく必要がある。通信先発見パケットは、ユニキャスト通信ができればICMP以外でも問題ない。UDP、TCPなどで実装可能である。ただし、先のUDPの場合と同様に、種別を判断する番号や文字列なり、ポート番号を決定する必要がある。
また、新しいタイプを決定するなどしなくても、既存の仕様を拡張しても同様の機能を実現可能である。例えば、ICMPは可変長のメッセージを格納できる領域があるので、ICMPエコー要求パケットの可変長メッセージ格納部分に通信先探索パケットである旨を示すデータを格納し、通信先でその部分をチェックするようにすれば実現できる。ただし、先のように新しいタイプを作成すれば既存プロトコルとの混乱を招く可能性がない。
機器3は、図6のS301においてスタートしておく。機器3は電源投入後、ROM303に記録された起動プログラムに従って起動し、図3の302〜307の各部分が使用できるようにセットする。図6のS301からS321で示されるプログラムも、ROM303に記録されている。
図6のS302において、機器3はネットワークインタフェース304を通じ、図5のS203においてマルチキャストもしくはブロードキャストされたパケットを受信し、RAM302に一時保存する(図4のS111)。
S303において、CPU301はRAM302に一時保存されたパケットを参照し、受信したパケットが通信先探索パケットか判断する。通信先探索パケットである場合、S304に遷移する。異なる場合、S321に遷移して終了する。
S304において、CPU301は、通信先探索パケットを受信後の一定時間以内にセンサ部307を通じて刺激が与えられたか判断する(図4のS112)。一定時間以内に刺激が与えられた場合、S305に遷移する。与えられない場合、通信先探索パケットを破棄し、S321に遷移して終了する。一定時間とは、人間が機器2に刺激を与えてから機器3の場所に移動し、機器3に刺激を与えるのに十分な時間が望ましい。8畳ほどの一般的な広さの部屋に図1で示した環境が収まるならば、10秒で十分であろう。この時間の値は、機器3を製作したメーカーが、機器3の製作時にROM303内に設定しておく。ユーザが機器3を購入後、自由に設定できるようにしても、かまわない。また、刺激は、図5のS202で説明したのと同様に、特に種類を問わない。CPU301がきっかけとして判断できる事象であれば、問題ない。本実施形態では、機器2の場合と同様に、センサ部307がタッチセンサであり、人間がタッチセンサに物理的に接触することを指すとする。
S304において、一定時間以内に刺激が与えられた場合、S305に遷移する。
S305において、CPU301は返信用パケットをRAM302にて生成し、ネットワークインタフェース304を通じて返信する(図4のS113)。返信用パケットは、S302で受信した通信先探索パケットの送信元アドレスを送信先アドレス、機器3の(送信先アドレスに対応したスコープの)ユニキャストアドレスを送信元アドレスとして、生成されるものとする。この返信用パケットを通信先発見パケットと称することにする。
S306において、CPU301は、機器2のユニキャストアドレスを送信先アドレス、機器3のユニキャストアドレスを送信元アドレスとし、ROM303内からアドレス以外のSPの値(パラメータ)を読み出し、SPを設定する(図4のS114)。アドレス以外のSPのパラメータは、前述したように、トランスポート層プロトコルの指定、SPを適用する方向、セキュリティプロトコル、モード、レベルなどである。その後、IKEプログラムを実行する。IKEプログラムは「背景技術」で説明したIKEを実行するプログラムで、IKEプログラム間でSAを設定する際に用いる。後述するように、本形態では、IKEの応答側としてIKEを行う。本実施形態ではSP設定後に実行するとしたが、IKEプログラムが適宜SPDを参照し、SPの変更に追随できるのならば、S301において実行しておいても問題ない。
図5のS211において、機器2は通信先発見パケットを一定時間以内に受信したか判断する(図4のS121)。パケットを受信し、そのパケットが通信先発見パケットであるならば、S212に遷移する。そうでない場合、S221に遷移して終了する。CPU201は、通信先発見パケットを受信したら、RAM202内にそれを一時保存する。
S212において、CPU201は、RAM202内に一時保存された通信先パケットから送信元アドレスを抽出し、その送信元アドレスを送信先アドレス、機器2のユニキャストアドレスを送信元アドレスとし、ROM203からアドレス以外のSPのパラメータを読み出し、SPを設定する(図4のS122)。その後、IKEプログラムを実行する。アドレス以外のSPのパラメータは、前述したように、トランスポート層プロトコルの指定、SPを適用する方向、セキュリティプロトコル、モード、レベルなどである。
IKEプログラムは「背景技術」で説明したIKEを実行するプログラムで、IKEプログラム間でSAを設定する際に用いる。本実施形態ではSP設定後に実行するとしたが、IKEプログラムが適宜SPDを参照し、SPの変更に追随できるのならば、S201において実行しておいても問題ない。
S213において、機器2のCPU201上で実行されているIKEプログラムは、SPを読み取り、IKEの始動側としてIKEを開始する。本実施形態では、IKEプログラムはROM203内の公開鍵証明書データを参照して、応答側通信用セキュリティ自動設定装置通信装置(機器3)の認証を行うものとする。
S311において、機器3のCPU301上で実行されているIKEプログラムは、SPを読み取り、そしてS213で開始されたIKEの通信を受信して、IKEの応答側としてIKEを行う。本実施形態では、IKEプログラムはROM303内の公開鍵証明書データを参照して、始動側通信用セキュリティ自動設定装置通信装置(機器2)の認証を行うものとする。
つまり、S213およびS311において、機器2と機器3の間でIKEが行われる。
S214において、機器2のCPU201は、IKEプログラムによるSAの確立が成功したか判別し、成功したならば任意の通信を許可し、SAに基づいたIPsecの処理を行う(S215)。
同様に、S312において、機器3のCPU301は、IKEプログラムによるSAの確立が成功したか判別し、成功したならば任意の通信を許可し、SAに基づいたIPsecの処理を行う(S313)。
本実施形態では、SPのセキュリティプロトコルとしてAHとESPを用いるように設定したので、S215、S313でのSAに基づいたIPsecの処理においては、機器2と機器3の間で認証が行われ、機器2と機器3の間で発生する通信には暗号化が施される。
以上で本形態の通信用セキュリティ設定処理は終了である(S221、S321)。
以降、機器2と機器3の間では、IPsecにより保護されたデータ通信を行うことが可能となる。
すなわち、図5のフローチャートは、始動側通信用セキュリティ設定通信プログラムを示す。このプログラムは、刺激を感知する手順(S202)と、通信先探索パケットを生成し、該通信先探索パケットをマルチキャストもしくはブロードキャストで送信する手順(S203)と、該通信先探索パケットの返信を受信する手順(S211)と、返信されたデータを元にセキュリティポリシーを設定する手順(S212)と、IKEプログラムを実行する手順(S213)と、IKEプログラムで確立されたセキュリティアソシエーションに基づき暗号化、認証処理を行う手順(S215)を備える。そして、このプログラムは、S202において刺激を感知すると、S212及びS213においてセキュリティポリシーおよびセキュリティアソシエーションを設定して、S215において応答側通信用セキュリティ自動設定装置通信装置(機器2)とIPsec通信を行う始動側通信用セキュリティ設定装置通信方法を実行する。
また、図6のフローチャートは、応答側通信用セキュリティ設定通信プログラムを示す。通信先探索パケットを受信し判別する手順(S302、S303)と、刺激を感知する手順(S304)と、該通信先探索パケットの送信元アドレスを抽出し、該抽出した送信元アドレスを送信先アドレスと自身のIPアドレスを送信元アドレスとした通信先発見パケットを生成し返信する手順(S305)と、受信したデータを元にセキュリティポリシーを設定する手順(S306)と、IKEプログラムを実行する手順(S311)と、IKEプログラムで確立されたセキュリティアソシエーションに基づき暗号化、認証処理を行う手順(S313)を備える。そして、このプログラムは、S304において刺激を感知すると、S306及びS311においてセキュリティポリシーおよびセキュリティアソシエーションを設定して、S313において始動側通信用セキュリティ設定装置通信装置とIPsec通信を行う。
本実施形態では、機器2はデジタルスチルカメラ、機器3はネットワークプリンタなので、一例として機器2から機器3に画像データを送信し、印刷する例をあげる。機器2は、外部記録部207から画像データを読み込み、CPU301でIPsec処理を施されたあと、ネットワークインタフェース204を通じて機器3に画像データを送信する。ここで、本実施形態ではCPU301を用いるが、CPU301の代わりに、暗号化処理を暗号コプロセッサなどの他LSIが行ってもかまわない。
機器3は、ネットワークインタフェース304を通じてIPsec処理を施されたパケットを受信する。CPU301でIPsec処理されたデータを元データに復号する。機器2と同様に、CPU301の代わりに暗号コプロセッサなどの他LSIが行ってもかまわない。復号された元データ、すなわち機器2から送信された画像データをプリント部306に送信し、印刷を行う。
以上のようにして、機器2から機器3に、安全にデータを送信することが可能となる。また、機器3から機器2に送信されるデータも暗号処理が施される。また、機器2と機器3の間で通信されるデータがどんな種類であろうと全て暗号処理が施される。また、本発明がデジタルスチルカメラ、ネットワークプリンタのみに適用されることではなく、IPで通信を行う全ての機器に本発明は適用可能である。
また、SPは、タイマを用いて、一定時間通信がない場合削除するようにしてもよい。その他、適宜SPを削除する手段を講じることになんら問題はない。
(複数の応答側機器がいる場合)
図7のように、応答側の機器が複数存在した場合でも、図1のように、応答側の機器が1台の場合と同様の方法で本発明は実現される。
図7において、機器3−a、機器3−bは、機器3と同等の構成(図3の構成)を有し、機器3と同等の機能(図6のフローチャートで示した動作)を実行可能とする。
機器2がS203でマルチキャストもしくはブロードキャストにより通信先探索パケットを送信する。送信された通信先パケットは、図7の機器3、機器3−a、機器3−bの全てに送信される。
機器3、機器3−a、機器3−bは、S302においてパケットを受信し、S303において通信先探索パケットか判断する。通信先探索パケットであると、S304において、一定時間以内に刺激を受けるか待つ。ここで、刺激を受けなければ、通信先探索パケットを廃棄し、返答しない。
また、機器3、機器3−a、機器3−bにS304において一定時間以内に刺激を与えても、その後の通信はユニキャストで行われ、またIKEもそれぞれ独立に行われる。
すなわち、機器2は、S211で、一定時間内に返信があれば、返信したそれぞれの機器に対し、独立に、SPを設定し(S212)、始動側としてIKEを実行し(S213)、SAが確立すれば(S214)、IPsecにより保護されたデータ通信を行う(S215)。
(複数の始動側、複数の応答側機器がいる場合)
図8のように、複数の始動側機器、複数の応答側機器が存在する場合を説明する。
図8において、機器3−a、機器3−bは、機器3と同等の構成(図3の構成)を有し、機器3と同等の機能(図6のフローチャートで示した動作)を実行可能とする。また、機器2−a、機器2−bは、機器2と同等の構成(図2の構成)を有し、機器2と同等の機能(図5のフローチャートで示した動作)を実行可能とする。
始動側の機器である、機器2、機器2−a、機器2−bに同時に刺激を与え、同時に通信先探索パケットが送信された場合、応答側の機器である、機器3、機器3−a、機器3−bは複数の通信先探索パケットをそれぞれ受信し、それぞれの通信先探索パケットに対し、一定時間以内に刺激を受けたか待つ状態となる(S304)。
ここで、例えば機器3に刺激を与え、機器2と機器3、機器2−aと機器3、機器2−bと機器3のそれぞれでIKEを行い、通信を許可してよいのなら、図1のように、始動側機器、応答側機器が1台の場合と同様の方法で問題ない。
すなわち、通信先探索パケットを受信する毎に、一定時間内の刺激を待ち、S304で一定時間内の刺激があれば、受信した複数の通信先探索パケットの送信元のそれぞれに対し、返信を行い(S305)、SPを設定し(S306)、応答側としてIKEを実行し(S311)、SAが確立すれば(S312)、IPsecにより保護されたデータ通信を行う(S313)。通信先探索パケットがいくつ受信された場合であっても、受信から一定時間内に刺激があった通信先探索パケットには、返信を行い、一定時間を過ぎた通信先探索パケットには、返信を行わない。刺激があった場合に、一定時間の刺激待ちであった通信先探索パケットに対しては、返信を行う。
また、上記ケースは、機器3がマルチタスクで複数の受信パケットを処理する場合を想定した。しかし、逐次処理で受信パケットを処理しているならば、機器3は機器2、機器2−a、機器2−bからの通信先探索パケットを個別に処理することとなるので、先のように一斉に返信を行うことはなくなる(例えば、最先の通信先探索パケットに対して、S305からS313の処理を行う)。
受信パケットをマルチタスクで処理する機器3において、複数受信した通信先探索パケット別に返答を行いたい場合、図6で示した動作フローと異なる動作フローで動作する必要がある。すなわち、この通信先探索パケット別に返答を行う実施例では、CPU301は、受信した通信先探索パケットを1つづつ処理し、複数の始動側通信用セキュリティ自動設定装置通信装置が存在する場合に個別に返答を行う。
その例として、ロックを用いる方法(実施例1)とキューを用いる方法(実施例2)を示す。いずれの実施例でも、機器3−a、機器3−bは、機器3と同等の構成(図3の構成)を有し、機器3と同等の機能(図6のフローチャートで示した動作)を実行可能とする。
ロックを用いる方法の動作フローを図9に示す。図6で示した動作フローと異なる点に注意して説明する。図9において、S303までの動作は図6と同じである。
S303において、通信先探索パケットであった場合、S901に遷移し、通信先探索パケットを1つづつ処理するためにロックをかける。ロックは、通信先探索パケットを受信しないためにかけてもよいし、S303の通信先探索パケットか判断するプログラムを一時停止させるためにかけてもよい。ロックをかけたあと、S304に遷移する。S304において、一定時間内に刺激を受けたか待つ。ここで、対象となる通信先探索パケットはS901でロックをかけているため、ただ1つだけである。
S304において、刺激を受けなかった場合、S903に遷移してロックを解除したあと、S321に遷移して終了する。S304において刺激を受けた場合、S305に遷移して通信先発見パケットを生成して返信する。返信後、S902に遷移してロックを解除し、S306に遷移する。S306以降の動作は図6と同じなので省略する。このように、本実施例では、通信先探索パケットを受信した後、一定時間が経過するか、あるいは、刺激に基いて返信する間では、受信したパケットが通信先探索パケットであれば、廃棄する(あるいは、パケットを受信しない)。
次にキューを用いる方法の動作フローを図10に示す。ロックを用いる方法の説明と同様に、図6で示した動作フローと異なる点に注意して説明する。図10において、S303までの動作は図6と同じである。
図10のS303において、パケットが通信先探索パケットである場合、S1001に遷移する。S1001で、通信先探索パケットをFIFO(FirstInFirstOut、先入れ先出し)のキューに格納する。格納後、S304に遷移する。S304の処理において、キューの先頭にある通信先探索パケットについて、一定時間以内に刺激を受けたか判断する。刺激がない場合、S1011に遷移して参照していた通信先探索パケットを削除する。削除後、S1012において、キューに他の通信先探索パケットがあるかチェックする。あればS304に遷移して同様の動作を繰り返す。なければS321に遷移して終了する。
S304において刺激があった場合、S305に遷移し、通信先発見パケットを生成して返信する。その後、S1021に遷移して参照した通信先探索パケットを削除し、S1022において、キューに他の通信先探索パケットがあるかチェックする。あれば、S304に戻る。なければS306に遷移する。S306以降の処理は図6と同様なので省略する。S1021、S1022は、S312においてSAの確立が成功した後、S313において任意の通信を許可した後に、行ってもよい。
以上のようにして、複数の始動側の機器、複数の応答側の機器がある場合でも対応可能である。
(リンクローカルアドレスより大きいスコープを用いる場合)
図11で示すような、複数のサブネットをまたがった環境に本発明を適用する場合を示す。
IPv6の場合でサイトローカルスコープを用いる場合を例にあげる。機器2、機器3にはサイトローカルスコープのユニキャストアドレスが割り振られ、ルータ4−a、ルータ4−bはサイトローカルスコープの通信を通すものとする。
図5のS203で通信先探索パケットをマルチキャストする際、そのパケットの送信先アドレスを「ff05::1」(サイトローカル全ノードマルチキャストアドレス)に、送信元アドレスを機器2(始動側の機器)のサイトローカルユニキャストアドレスとして行う。
また図6、図9、図10のS305において、通信先発見パケットを返信する際、そのパケットの送信先アドレスに、受信した通信先探索パケットの送信元アドレスを設定し、送信元アドレスに、通信先発見パケットのスコープに対応した機器3(応答側の機器)のユニキャストアドレスを設定する。
以上の対応のみで、サイトローカルアドレスを用いて本発明を実施することができる。図11で示せば、図11のサイトローカルスコープを示す範囲6内であれば、機器2と機器3がどこにいようとも本発明を実施できる。
同様にして、リンクローカルアドレスより大きいスコープ(アドレスの有効範囲)を持つIPv6アドレス、例えば、組織ローカルアドレス、グローバルアドレスを用いた場合でも本発明を実施できる。図5のS203において通信先探索パケットをマルチキャストする際、通信先探索パケットの送信先アドレスを、組織ローカルスコープを用いる場合は「ff09::1」、グローバルスコープを用いる場合は「ff0e::1」を用いれば実施できる。当然、通信先探索パケットの送信元アドレスは、送信先アドレスが組織ローカルスコープの場合は、組織ローカルスコープのユニキャストアドレスとなり、グローバルスコープの場合は(グローバルスコープである)グローバル(ユニキャスト)アドレスとなる。
通信先発見パケットも同様である。組織ローカルスコープの通信先探索パケットを受信して返信する際は、通信先発見パケットの送信先アドレス、送信元アドレスは(組織ローカルスコープの)組織ローカルユニキャストアドレスとなる。グローバルスコープの場合、通信先発見パケットの送信先アドレス、送信元アドレスともにグローバルアドレスとなる。
以上のようにして、図11で示せば、組織ローカルアドレスを用いれば、図11の組織ローカルスコープを示す範囲7内に機器2と機器3がどこにいようとも本発明を実施でき、グローバルアドレスを用いれば、図11のグローバルスコープを示す範囲8内に機器2と機器3がどこにいようとも本発明を実施できる。ただし、途中のルータが使用するパケットを全て通すことが前提である。
また、サイトローカルスコープ、組織ローカルスコープ、グローバルスコープ以外の、リンクローカルスコープ以上のスコープなら、同様の仕組みで本発明を実施できる。
(スコープの範囲を指定する入力方法)
以上、本発明を、リンクローカルスコープ、及び、リンクローカルアドレスより大きいアドレススコープ全てに適用できることを説明した。本実施例では、異なるスコープのアドレスを2つ以上所有する機器2(始動側の機器)において、ユーザが簡便な操作で任意のスコープを指定する方法について説明する。
図5のS202とS203の間に、図12の仕組みを入れる。
S202において最初の刺激が与えられる。S1201に遷移し、タイマを起動する。その後、S1202において、一定時間以内にさらに刺激がいくつ与えられるかカウントする。
一定時間とは、例えば3秒としておく。さて、S1202において、さらに1回刺激が与えられたとする。S1203に遷移してタイマを停止する。S1202からS1203は、スコープの種類を指定する入力手順である。
S1204において、カウントした刺激を与えられた回数をキーとして、ROM203に記憶されたテーブルを検索する。このテーブルには、カウント数に対応するスコープが記憶されている。例えば、カウント数が、1、2、3、4回のそれぞれに対して、スコープは、リンクローカル、サイトローカル、組織ローカル、グローバルである。本実施例では2回なので、それに対応するスコープはこのテーブルよりサイトローカルとなる。
そこで、サイトローカルを用いるようにRAM202に記録し、S203で通信先探索パケットを作成する際、S1204で記録したスコープを用いる。すなわち、複数のスコープのIPv6アドレスから1つを選択して通信先探索パケットを生成して送信する。本実施例ではサイトローカルアドレスを用いた通信先探索パケットを生成することとなる。CPU201は、スコープの種類を判別し、複数のスコープのIPv6アドレスからスコープに応じて選択したアドレス(送信先アドレス、送信元アドレス)を有する通信先探索パケットを送信する。すなわち、感知された刺激の回数に応じた有効範囲を有するアドレスを含む通信先探索パケットを送信する。このカウント数が2の場合、送信先アドレスは、「ff05::1」(サイトローカル全ノードマルチキャストアドレス)、送信元アドレスは、機器2(始動側の機器)のサイトローカルユニキャストアドレスである。本実施例では、機器2は、リンクローカル、サイトローカル、組織ローカル、グローバルのスコープに対応したアドレスを有する。送信先も、実施例3で記載したアドレスから、スコープに応じて選択する。
同様に、S1202において刺激が2回与えられれば組織ローカルを、3回以上与えられればグローバルを用いる。
このように、本実施例では、センサ部208は、スコープの種類を指定する入力手段を備え、CPU201は、複数のスコープのIPv6アドレスから1つを選択して通信先探索パケットを生成して送信する。
図12及び図5は、刺激を感知する感知手順(S202、S1202)と、前記感知手順で感知された刺激の回数に応じた有効範囲を有するアドレスを含む通信先探索パケットをマルチキャストもしくはブロードキャストで送信する送信手順(S1204、S203)と、該通信先探索パケットの返信を受信する受信手順(S211)と、受信したデータを元にセキュリティポリシーを設定して通信を行う通信手順(S212、S215)を有する通信方法を示す。
図13は一例であり、例えばトータルのカウントが2回以上であればグローバルを用いるようにしてもよい。また、対応するスコープのアドレスがない場合、1つ上のスコープのアドレス、それもない場合、さらに1つ上のスコープのアドレスを、というふうにしてもよい。また、それでも対応するスコープがない場合、最終的にリンクローカルスコープで通信先探索パケットを生成するようにしてもよい。
以上のようにすれば、回数に応じた機器探索を、ユーザが任意の回数の刺激を与えるという簡易な操作のみで、行うことが可能となる。
(機器3のアドレス以外のSPのパラメータをROMからではなく受信した通信先探索パケットから抽出する)
機器3(応答側の機器)がアドレス以外のSPのパラメータをROM303から読み込む代わりに、本実施例では、応答側の機器で、まず通信先探索パケット内にSPのパラメータがあるかチェックし、あればそのパラメータを抽出して用い、なければROM303内のパラメータを用いて、セキュリティポリシーの設定を行う。
この実施例では、機器2のCPU201は、通信先探索パケットに、アドレス以外のセキュリティポリシーのパラメータを挿入する。このパラメータは、あらまじめROM203に記憶されている。また、図2には示さないが、機器2に、センサ部208とともに、キー入力部を設け、アドレス以外のセキュリティポリシーのパラメータを入力してもよい。また、機器3では、CPU301が、通信先探索パケットからアドレス以外のセキュリティポリシーのパラメータを抽出し、該抽出したパラメータを用いてセキュリティポリシーの設定を行う。
また、通信先探索パケットにアドレス以外のSPのパラメータを必ず含み、応答側の機器が図6、9、10のS306において、SPを設定する際に、通信先探索パケット内のSPのパラメータのみを参照するようにするならば、ROM303にSPのパラメータをあらかじめ設定しておく必要がなくなる。
(機器2にSPを指定できるインタフェースを設け、より高いセキュリティレベルの機器3のみが反応するようにする)
機器2のROM203内および機器3のROM303内に、セキュリティレベルを示すデータを設定しておく。
機器2は、S203において通信先探索パケットを生成するときに、ペイロードにROM203内から読み出したセキュリティレベルを示すデータを挿入し、送信する。
機器3は通信先探索パケットを受信する。一定時間以内に刺激を受けたか判断するS304において、受信した通信先探索パケットのペイロードにあるセキュリティレベルを示すデータと、ROM303内のセキュリティレベルを示すデータを比較し、条件が満たされた場合のみ、一定時間以内に刺激を受けたか判断するようにする。条件を満たし(機器3が、通信先探索パケットに含まれるセキュリティレベルデータ(情報)により要求されるセキュリティレベルを満足し)、かつ、刺激を受けた場合のみ305に遷移して返信する。
セキュリティレベルの例としては、図7の例において、機器2にはセキュリティレベル2が、機器3にはセキュリティレベル1が、機器3−aにはセキュリティレベル2が、機器3−bにはセキュリティレベル3が設定されているとする。
機器2は、セキュリティのレベルを保持する手段(ROM203)、もしくはセキュリティのレベルを入力させる手段を備え、CPU201は、セキュリティのレベル情報を通信先探索パケットに挿入し、応答側通信用セキュリティ自動設定装置通信装置(機器3)のセキュリティのレベルを指定する。セキュリティのレベルを入力させる手段を設ける例では、機器2に、センサ部208以外に、セキュリティのレベルを入力させるためのキー入力部を設ける。
一方、機器3、機器3−a、3−bは、S304において、受信した通信先探索パケットのセキュリティレベルより自身のセキュリティレベルが高い数値の場合のみ、一定時間以内に刺激を受けたか判断するように設定されているとする。その場合、機器3−bのみが返信を行う。すなわち、機器3、機器3−a、3−bは、セキュリティのレベル情報を保持する手段(ROM303)を備え、CPU301は、通信先探索パケットからセキュリティのレベル情報を抽出し、該保持しているセキュリティのレベルと抽出したセキュリティのレベル情報を比較し、要求されたセキュリティのレベルを満たす場合のみ通信先探索パケットを返信する。
以上のようにすれば、機器2が要求するセキュリティレベル以上の能力を備えた機器3のみとセキュアな通信を許可することが可能となる。
ここで示したセキュリティレベルの例はあくまで一例であり、他のさまざまなセキュリティレベルの指定方法でも本実施例の仕組みを適用できる。
また、たとえば機器2において2回刺激を与えたら、セキュリティレベル2として通信先探索パケットを生成するようにしてもよい。このようにして、ユーザが簡易な方法でセキュリティレベルを指定できる。
(1つの機器に始動側・応答側の機能がある場合)
始動側の機能として図5の動作フローを、応答側の機能として図6もしくは図9もしくは図10もしくは図12で示した動作フローを、単一機器上で実行させることも可能である。例えば、機器2のCPU201は、返信されたデータを元にセキュリティポリシーを設定して、IKEプログラムを実行し、IKEプログラムで確立されたセキュリティアソシエーションに基づき暗号化、認証処理を行い、刺激を感知すると、セキュリティポリシーおよびセキュリティアソシエーションを設定してIPsec通信を行う。さらに、CPU201は、通信先探索パケットの受信、及び、センサ部208による刺激の感知に応じて、該通信先探索パケットの送信元アドレスを送信先アドレスと自身のIPアドレスを送信元アドレスとした通信先発見パケットを返信し、受信したデータを元にセキュリティポリシーを設定して、IKEプログラムを実行し、IKEプログラムで確立されたセキュリティアソシエーションに基づき暗号化、認証処理を行う。
ただし、自身が始動側機器としてマルチキャストもしくはブロードキャストしたパケットは、応答側機器として受信しても、処理しないほうが望ましい。
以上の説明では、応答側の機器3は、通信先探索パケットを受信してから一定時間内に刺激があると、返信したが、刺激があってから一定時間内に通信先探索パケットを受信すると、返信してもよい。この実施例では、応答側の機器3に刺激を与えてから、一定時間内に、始動側の機器2に刺激を与えて、通信先探索パケットを送信する。
なお、本発明の目的は前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUまたはMPU)が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
またコンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーションシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
本発明を実施する環境の例を示す図である。 本発明の実施形態の始動側機器の構成を示す図である。 本発明の実施形態の応答側機器の構成を示す図である。 本発明の実施形態の全体の動作フローを示す図である。 本発明の実施形態の始動側機器の動作を示すフローチャート図である。 本発明の実施形態の応答側機器の動作を示すフローチャート図である。 本発明を、始動側の機器が1つ、応答側の機器が複数の場合に適用する環境の例を示す図である。 本発明を、始動側の機器が複数、応答側の機器が複数の場合に適用する環境の例を示す図である。 応答側の機器が通信先探索パケットを1つづつ処理する際、ロックを用いる場合の動作を示すフローチャート図である。 応答側の機器が通信先探索パケットを1つづつ処理する際、キューを用いる場合の動作を示すフローチャート図である。 本発明を、リンクローカルスコープより大きいスコープのアドレスを用いて実施する環境の例を示す図である。 始動側の機器において、刺激を与えられた回数をカウントする動作を示すフローチャート図である。 セキュリティポリシー設定を説明する際に用いる環境を示す図である。
符号の説明
1、1−a、1−b ローカルネットワーク
2、2−a、2−b 始動側の機器(デジタルスチルカメラ)
3、3−a、3−b 応答側の機器(ネットワークプリンタ)

Claims (15)

  1. 刺激を感知する感知手段と、
    パケットの送受信を行う送受信手段とを有し、
    前記送受信手段は、通信先探索パケットの受信、及び、前記感知手段による刺激の感知に応じて、該通信先探索パケットの送信元アドレスを送信先アドレスとして自身のIPアドレスを送信元アドレスとした通信先発見パケットを返信し、受信したデータを元にセキュリティポリシーを設定して通信を行うことを特徴とする通信装置。
  2. 刺激を感知する感知手段と、
    パケットの送受信を行う送受信手段とを有し、
    前記送受信手段は、通信先探索パケットの受信、及び、前記感知手段による刺激の感知に応じて、該通信先探索パケットの送信元アドレスを送信先アドレスとして自身のIPアドレスを送信元アドレスとした通信先発見パケットを返信し、通信先探索パケットに含まれるアドレスを元に、セキュリティを確保するパケットを特定することを特徴とする通信装置。
  3. 刺激を感知する感知手段と、
    通信先探索パケットをマルチキャストもしくはブロードキャストで送信し、該通信先探索パケットの返信を受信する送受信手段とを備え、
    前記送受信手段は、返信されたデータを元にセキュリティポリシーを設定して、IKEプログラムを実行し、IKEプログラムで確立されたセキュリティアソシエーションに基づき暗号化、認証処理を行い、刺激を感知すると、セキュリティポリシーおよびセキュリティアソシエーションを設定してIPsec通信を行うことを特徴とする通信装置。
  4. 請求項3において、前記送受信手段は、通信先探索パケットの受信、及び、前記感知手段による刺激の感知に応じて、該通信先探索パケットの送信元アドレスを送信先アドレスと自身のIPアドレスを送信元アドレスとした通信先発見パケットを返信し、受信したデータを元にセキュリティポリシーを設定して、IKEプログラムを実行し、IKEプログラムで確立されたセキュリティアソシエーションに基づき暗号化、認証処理を行うことを特徴とする通信装置。
  5. 請求項3又は4において、前記送受信手段は、スコープを判別し、複数のスコープのIPv6アドレスからスコープの種類に応じて選択したアドレスを有する通信先探索パケットを送信することを特徴とする通信装置。
  6. 請求項3又は4において、前記送受信手段は、前記感知手段により感知された刺激の回数に応じた有効範囲を有するアドレスを含む通信先探索パケットを送信することを特徴とする通信装置。
  7. 請求項1、2及び4のいずれか1項において、前記送受信手段は、通信先探索パケットからアドレス以外のセキュリティポリシーのパラメータを抽出し、該抽出したパラメータを用いてセキュリティポリシーの設定を行うことを特徴とする通信装置。
  8. 請求項3又は4において、前記送受信手段は、アドレス以外のセキュリティポリシーのパラメータを含む通信先探索パケットを送信することを特徴とする通信装置。
  9. 請求項1、2及び4のいずれか1項において、前記送受信手段は、通信先探索パケットに含まれるセキュリティレベル情報により要求されるセキュリティレベルを満たす場合、通信先発見パケットを返信することを特徴とする通信装置。
  10. 請求項3又は4において、前記送受信手段は、セキュリティレベルを指定するためのレベル情報を含む通信先探索パケットを送信することを特徴とする通信装置。
  11. 刺激を感知する感知手順と、
    通信先探索パケットを受信する受信手順と、
    前記受信手順での通信先探索パケットの受信、及び、前記感知手順での刺激の感知に応じて、該通信先探索パケットの送信元アドレスを送信先アドレスとして自身のIPアドレスを送信元アドレスとした通信先発見パケットを返信する返信手順と、
    受信したデータを元にセキュリティポリシーを設定して通信を行う通信手順を有することを特徴とする通信方法。
  12. 刺激を感知する感知手順と、
    通信先探索パケットを受信する受信手順と、
    前記受信手順での通信先探索パケットの受信、及び、前記感知手順での刺激の感知に応じて、該通信先探索パケットの送信元アドレスを送信先アドレスとして自身のIPアドレスを送信元アドレスとした通信先発見パケットを返信する返信手順と、
    通信先探索パケットに含まれるアドレスを元に、セキュリティを確保するパケットを特定する特定手順を有することを特徴とする通信方法。
  13. 刺激を感知する感知手順と、
    通信先探索パケットをマルチキャストもしくはブロードキャストで送信する送信手順と、
    該通信先探索パケットの返信を受信する受信手順と、
    返信されたデータを元にセキュリティポリシーを設定して、IKEプログラムを実行する実行手順と、
    IKEプログラムで確立されたセキュリティアソシエーションに基づき暗号化、認証処理を行う処理手順を備え、
    刺激を感知すると、セキュリティポリシーおよびセキュリティアソシエーションを設定してIPsec通信を行うことを特徴とする通信方法。
  14. 刺激を感知する感知手順と、
    前記感知手順で感知された刺激の回数に応じた有効範囲を有するアドレスを含む通信先探索パケットをマルチキャストもしくはブロードキャストで送信する送信手順と、
    該通信先探索パケットの返信を受信する受信手順と、
    受信したデータを元にセキュリティポリシーを設定して通信を行う通信手順を有することを特徴とする通信方法。
  15. 請求項11から14のいずれか1項の通信方法を実現するためのプログラム。
JP2003361900A 2003-10-22 2003-10-22 通信装置、方法、及び、プログラム Withdrawn JP2005130096A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003361900A JP2005130096A (ja) 2003-10-22 2003-10-22 通信装置、方法、及び、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003361900A JP2005130096A (ja) 2003-10-22 2003-10-22 通信装置、方法、及び、プログラム

Publications (1)

Publication Number Publication Date
JP2005130096A true JP2005130096A (ja) 2005-05-19

Family

ID=34641708

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003361900A Withdrawn JP2005130096A (ja) 2003-10-22 2003-10-22 通信装置、方法、及び、プログラム

Country Status (1)

Country Link
JP (1) JP2005130096A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010010789A (ja) * 2008-06-24 2010-01-14 Canon Inc 情報処理装置、画像処理装置、制御方法、及びプログラム
JP2011060095A (ja) * 2009-09-11 2011-03-24 Canon Inc 情報処理装置、制御方法、及びプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010010789A (ja) * 2008-06-24 2010-01-14 Canon Inc 情報処理装置、画像処理装置、制御方法、及びプログラム
US8817783B2 (en) 2008-06-24 2014-08-26 Canon Kabushiki Kaisha Information processing apparatus, image processing apparatus, control method, and storage medium
JP2011060095A (ja) * 2009-09-11 2011-03-24 Canon Inc 情報処理装置、制御方法、及びプログラム

Similar Documents

Publication Publication Date Title
JP4347335B2 (ja) ネットワーク中継プログラム、ネットワーク中継装置、通信システム、ネットワーク中継方法
KR100753727B1 (ko) 콘텐츠 송신 장치, 콘텐츠 수신 장치 및 콘텐츠 전송 방법
KR100593768B1 (ko) 콘텐츠 송신 장치, 콘텐츠 수신 장치 및 콘텐츠 전송 방법
JP4442795B2 (ja) ホストプラットフォームにおけるパケットトラフィックを保護する携帯用デバイス
JP5078422B2 (ja) サーバ装置、情報処理装置、プログラムおよび記録媒体
JP3831364B2 (ja) 通信システム、同通信システムにおけるセキュリティポリシーの配布方法
CN101002183A (zh) 通信系统
JP2006005909A (ja) 情報処理装置、情報処理方法および情報処理プログラム
JP2006323707A (ja) コンテンツ送信装置、コンテンツ受信装置、コンテンツ送信方法及びコンテンツ受信方法
KR100785958B1 (ko) 콘텐츠 송신 장치 및 콘텐츠 수신 장치
JP2018174526A (ja) 生体認証セキュリティーを備えた、IOTデバイスを保護するためのIPv6リンクローカルセキュアネットワーク
CN106169952B (zh) 一种英特网密钥管理协议重协商的认证方法及装置
JPWO2004059903A1 (ja) ネットワーク機器、ネットワークシステム、および、グループ管理方法
CN109005179A (zh) 基于端口控制的网络安全隧道建立方法
JP4226606B2 (ja) 通信装置、通信方法、ならびに、プログラム
JP2006352223A (ja) ネットワーク接続システム
JP2004254271A (ja) ネットワーク機器、ネットワークシステム、および、グループ管理方法
JP2008311939A (ja) ネットワーク通信機器
JP4769550B2 (ja) デバイス管理システム、デバイス管理方法、コンピュータプログラム、及びコンピュータ読み取り可能な記憶媒体
JP2005130096A (ja) 通信装置、方法、及び、プログラム
JP2005175825A (ja) 暗号化パケットフィルタリング装置およびそのプログラム、ならびにホスト装置
Pan et al. Secure online examination architecture based on distributed firewall
JP4874037B2 (ja) ネットワーク機器
JP2005167608A (ja) 暗号通信装置、暗号通信方法、コンピュータプログラム、及びコンピュータ読み取り可能な記録媒体
JP2008199420A (ja) ゲートウェイ装置および認証処理方法

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20070109