以下、本発明に係る実施形態を図面に基づいて説明する。なお、各図において同一の符号を付した構成は、同一の構成であることを示し、その説明を省略する。また、総称する場合にはアルファベットの添え字を省略した参照符合で示し、個別の構成を示す場合にはアルファベットの添え字を付した参照符合で示す。
(実施形態の構成)
本実施形態は、2個のIPv6のネットワーク内におけるトンネル自動設定装置相互間にIPv4ネットワーク上のトンネルを自動的に設定し得るトンネル自動設定装置の実施形態である。このようにIPv6のノード間における通信を可能とするためにIPv4のネットワークに設定されるトンネルをIPv6overIPv4トンネル(Tunnel)(以下、「6o4トンネル」と略記する。)と呼ぶ。
図1は、実施形態におけるネットワークの全体構成を示す図である。図2は、トンネル自動設定装置を含むネットワークの構成を示すブロック図である。図3は、トンネル自動設定装置における設定トンネル管理情報テーブルの構成を示す図である。図4は、情報サーバにおける提供トンネル設定情報テーブルの構成を示す図である。図5は、登録サーバにおけるログイン認証情報登録テーブルの構成を示す図である。図6は、登録サーバにおける自動設定装置本人情報登録テーブルの構成を示す図である。図7は、認証サーバにおけるリポジトリの構成を示す図である。
図1において、ネットワーク1は、複数のIPv6のネットワークと、複数のIPv4のネットワークとが共存する通信網である。
ネットワーク1を構成するIPv6のネットワークの中には、第三者機関を利用した相互認証を行って6o4トンネルを自動的に設定するトンネル自動設定装置(以下、「自動設定装置」と略記する。)11を含むIPv6のネットワーク2がある。IPv6のネットワーク2は、例えば、1又は複数の機器等が通信線によって接続されたローカル・エリア・ネットワーク(Local Area Network、LAN)、及び、これら機器を遠隔に監視及び制御する遠隔監視制御装置を含むLAN等である。図1では、3個のIPv6のネットワーク2−A、2−B、2−Cが示されており、各IPv6のネットワーク2−A、2−B、2−Cは、各自動設定装置11−A、11−B、11−Cをそれぞれ含む。
ネットワーク1を構成するIPv4のネットワークの中には、自動設定装置11が接続すべきインターネット・サービス・プロバイダ(以下、「ISP」と略記する。)が構築するISPネットワーク3、及び、ISPネットワーク3が接続するネットワーク4がある。ISPネットワーク3は、図1では、3個のIPv4のISPネットワーク3−A、3−B、3−Cが示されており、各ISPネットワーク3−A、3−B、3−Cは、各自動設定装置11−A、11−B、11−Cに対しインターネットに接続するサービスをそれぞれ提供する。各ISPネットワーク3−A、3−B、3−Cには、インターネットに接続するサービスを受けるべく接続を要求するクライアントに未割り振りのIPアドレスを自動的に割り振るDHCP(Dynamic Host Configuration Protocol)サーバ26−A、26−B、26−Cがそれぞれ含まれ、そして、インターネットに接続するサービスを提供する通信可能なコンピュータ(ISPコンピュータ、不図示)がそれぞれ含まれる。ネットワーク4は、IPv4を使用するルータ装置、ゲートウェイ装置、サーバコンピュータ、ホストコンピュータ等のノードで構成されるネットワークである。
そして、ネットワーク1は、自動設定装置11が6o4トンネルを自動的に設定する場合に6o4トンネルの設定に必要な情報を提供する情報サーバ21と、自動設定装置11の公開鍵に対する公開鍵証明書の発行に関し本人認証を行うと共に本人(自動設定装置11)に関する情報を登録し管理する登録サーバ22と、登録サーバ22が本人認証を行って真正であると認めた自動設定装置11の公開鍵に対し公開鍵証明書を発行する認証サーバ23と、クライアント(自動設定装置11及び認証サーバ23を含む)からの要求に応じて時刻を返信するNTP(Network Time Protocol)サーバ24とを含む。
登録サーバ22及び認証サーバ23は、所謂公開鍵基盤(Public Key Infrastructur、PKI)における登録局(Registration Authority)及び認証局(Certification Authority)の役割をそれぞれ担う。このように登録サーバ22と認証サーバ23とを分けることによって認証サーバ23は、公開鍵証明書の発行にハードウェア資源及びソフトウェア資源を集中することができ、負担を軽減することができる。なお、登録サーバ22と認証サーバ23とを同一のコンピュータによって実現してもよい。
また、ネットワーク1は、例えば、電話網、ディジタル通信網及び無線通信網等であり、所定の通信プロトコルを用いて情報を収容した通信信号が伝送される。本実施形態では、ネットワーク1は、通信プロトコルにHTTP(Hyper Text Transfer Protocol)、FTP(File Transfer Protocol)、POP3(Post Office Protocol ver.3)、SMTP(Simple Mail Transfer Protocol)、Telnet、TCP(Transmission Control Protocol)、UDP(User Datagram Protocol)及びIP(Internet Protocol)等のインターネットプロトコル群が用いられてインターネットを構成する。なお、IPは、複数のバージョン、本実施形態ではバージョン4とバージョン6とが使用されている。
IPv6のネットワーク2に含まれる自動設定装置11は、本実施形態では、例えば、IPv6のネットワーク2とネットワーク1を構成する他のネットワークとの境界に配置されるルータ装置に組み込まれ、ネットワーク1を構成する他のネットワークから送信されてきた通信パケット、当該自動設定装置11が属するIPv6のネットワーク2から送信されてきた通信パケット、及び、当該自動設定装置11自身が送信する通信パケット等をルーティング(経路選択)すると共に、他のIPv6のネットワーク内に在る自動設定装置11との間に6o4トンネルを自動的に設定する。図1に示す例では、IPv6のネットワーク2−A内の自動設定装置11−Aは、IPv6のネットワーク2−B内の自動設定装置11−Bとの間、及び、IPv6のネットワーク2−C内の自動設定装置11−Cとの間にそれぞれIPv6overIPv4トンネル5−AB、5−ACを自動的に設定する。
例えば、図2に示す例では、自動設定装置11は、一戸建て住宅、集合住宅、公共施設、オフィスビル等の建造物に設置されるIPv6のネットワーク2のルータ装置に組み込まれている。IPv6のネットワーク2は、自動設定装置11、電気をエネルギー源として稼動する1又は複数の機器12(12−A、12−B、・・・)、自動設定装置11と機器12とを接続する通信線13、例えば、イーサネット(Ethernet、登録商標)を備え、イントラネットを構成している。
機器12は、自動設定装置11と通信線13を介して通信を行う通信部81と、機器12の機能を実行する機能部82とを備えて構成され、機能部82の状態(例えば、電源のオン・オフ、稼動状態、故障状態等)を他のネットワーク内の遠隔監視制御装置等に通信線13及び自動設定装置11を介して通信部81を用いて送信すると共に、機能部82の状態を制御する制御命令を他のネットワーク内の遠隔監視制御装置等から自動設定装置11及び通信線13を介して通信部81を用いて受信し制御命令の通りに制御するものである。制御命令は、例えば、遠隔監視制御装置等にアクセスする携帯電話やPDA(Personal Digital Assistants)やパーソナルコンピュータ等の端末装置から送信される。機能部82は、機器12が、例えば、ガスの使用量を計量するガスメータである場合には、ガスの使用量を計量する計量機能である。機器12は、ガスメータの他に、例えば、電気の使用量を計量する電気メータ、及び、水道の使用量を計量する水道メータ等の計量メータ、照明器具及び空調装置等の住戸環境やオフィス環境等を調整する装置、煙センサ、温度センサ及び湿度センサ等のセンサ、電子錠装置等の住戸設備、テレビジョン、ビデオテープレコーダ、DVDレコーダ及び洗濯機等の家電製品、コンピュータ等の情報処理装置、電話機及びファクシミリ装置等の通信機器、そして、脈拍計、体温計、血中酸素濃度計及び心電図計等の医療機器等である。
自動設定装置11は、図2に示すように、ローカル・エリア・ネットワーク側インターフェース部(以下、「LAN側インターフェース部」と略記する。)51と、制御部52と、記憶部53と、入力部54と、ワイド・エリア・ネットワーク側インターフェース部(以下、「WAN側インターフェース部」と略記する。)55とを備えて構成される。
LAN側インターフェース部51は、当該自動設定装置11が属するIPv6のネットワーク2内における機器12との間で通信線13を介して通信信号を送受信するインターフェース回路であり、例えば、イーサネットカード等のネットワークカードである。入力部54は、6o4トンネルにIPsecを適用するか否かの設定を表すIPsec(IP security)設定情報、6o4トンネルを設定する接続先の自動設定装置11における自動設定装置識別子等の各種情報を当該自動設定装置11に入力する装置であり、例えば、ディップスイッチやジャンパースイッチやテンキーパッド等である。なお、入力部54がテンキーパッドやキーボード等の入力装置である場合には、入力内容を確認するために液晶表示装置等の表示部をさらに備えることが好ましい。WAN側インターフェース部55は、ネットワーク1を構成する他のネットワークとの間で通信信号を送受信するインターフェース回路であり、例えば56KモデムやターミナルアダプタやADSLモデム等のモデムである。
記憶部53は、トンネル設定用情報を記憶するトンネル設定用情報記憶部71、セキュリティ情報を記憶するセキュリティ情報記憶部72及び設定トンネル管理情報を記憶する設定トンネル管理情報記憶部73を備え、トンネルを自動的に設定するためのトンネル自動設定プログラム、インターネットを利用するためのプログラム、通信パケットのルーティングを行うルーティングプログラム等の各種プログラム、及び、トンネルの設定に係る情報や各種プログラムの実行中に生じる情報等の各種情報を記憶する。記憶部53は、例えば、RAM(Random Access Memory)等の揮発性のメモリ、及び、ROM(Read Only Memory)や書換え可能なEEPROM(Electrically Erasable Programmable Read Only Memory)等の不揮発性のメモリを備えて構成される。
トンネル設定用情報は、トンネルを自動的に設定するために必要な予め記憶される情報であり、本実施形態では、情報サーバ21のIPアドレス、及び、自動設定装置11を識別するために予め割り当てられた固有な(ユニークな)識別子(自動設定装置識別子)である。自動設定装置識別子は、例えば、1又は複数の記号からなる記号列であり、本実施形態では、当該自動設定装置11のIPv6アドレスの生成情報(プレフィックス等を含む。)と兼用されている。このため、自動設定装置11のIPv6アドレスの生成情報は、製造段階や出荷段階等において記憶されるので、製造企業は、自動設定装置11のIPv6アドレスの生成情報を管理することができる。
6o4トンネルを自動的に設定する場合には、6o4トンネルを設定する接続元のトンネル内部IPアドレス(複数のIPアドレスを含むネットワークの場合は、IPアドレス及びプレフィックス長などのネットワークに関する付帯情報である。以下、ネットワークの場合もトンネル内部IPアドレスと呼ぶことにする。)及びトンネル外部IPアドレスと接続先のトンネル内部IPアドレス及びトンネル外部IPアドレスとが必要である。トンネル内部IPアドレスは、カプセル化(カプセリング)される通信パケットにおけるIPヘッダのIPアドレス、即ち、カプセリング後の通信パケットにおけるペイロードに収容される通信パケットにおけるIPヘッダのIPアドレスが対応し、トンネル外部IPアドレスは、カプセリング後の通信パケットにおけるIPヘッダのIPアドレスが対応する。本実施形態では、IPv6overIPv4トンネルを自動的に設定するので、接続元のIPv6アドレス(トンネル内部IPアドレスに対応)及びIPv4アドレス(トンネル外部IPアドレスに対応)と接続先のIPv6アドレス(トンネル内部IPアドレスに対応)及びIPv4アドレス(トンネル外部IPアドレスに対応)とが必要である。接続元のIPv6アドレスは、接続元の自動設定装置識別子から生成され、後述するように、接続元のIPv4アドレスは、接続元の自動設定装置がISPネットワーク3に接続した時に、ISPネットワーク3内のDHCPサーバによって割り当てられる。同様に、接続先のIPv6アドレスは、接続先の自動設定装置識別子から生成され、後述するように、接続先のIPv4アドレスは、接続先の自動設定装置がISPネットワーク3に接続した時に、ISPネットワーク3内のDHCPサーバによって割り当てられる。そして、接続元の自動設定装置は、情報サーバ21から接続先のIPv4アドレスを取得する。
セキュリティ情報は、第三者機関を利用した本人認証を行うために必要な情報であり、予め記憶される情報と後述の動作によって記憶される情報とがある。予め記憶される情報は、登録サーバ22のIPアドレス、認証サーバ23のIPアドレス、NTPサーバ24のIPアドレス、登録サーバ22にログインするためのIDとパスワードとの組、及び、IPsecが設定された場合に必要となるIPsec関連情報であり、そして、後述の動作によって記憶される情報は、自動設定装置11の暗号鍵ペア、自動設定装置11の公開鍵証明書、認証サーバ23の公開鍵証明書及び接続先の自動設定装置11の公開鍵証明書である。IPsec関連情報は、後述するように、本実施形態では、送信元ポート番号、宛先ポート番号、トランスポート層プロトコル、アクション、セキュリティプロトコル、カプセル化モード、暗号化アルゴリズム及び認証アルゴリズムである。
設定トンネル管理情報は、対向する接続先の自動設定装置11との間に設定した6o4トンネルに関する情報であり、接続元のトンネル内部IPアドレス及びトンネル外部IPアドレスと接続先のトンネル内部IPアドレス及びトンネル外部IPアドレスとが少なくとも含まれる。
本実施形態では、設定トンネル管理情報は、6o4トンネルを識別するためのトンネル名と、接続元の自動設定装置11におけるトンネル内部IPアドレス及びトンネル外部IPアドレスと、接続先の自動設定装置11における自動設定装置識別子、トンネル内部IPアドレス及びトンネル外部IPアドレスと、IPsec設定情報と、6o4トンネルが設定済みであるか削除中であるかの6o4トンネルの設定状態を示すトンネル設定状態情報とである。これら設定トンネル管理情報は、例えば、図3に示すように、テーブル形式で記憶され、設定トンネル管理情報を登録する設定トンネル管理情報テーブル101は、各レコードを識別する管理番号を登録する管理番号フィールド110と、トンネル名を登録するトンネル名フィールド111と、接続元の自動設定装置11におけるトンネル外部IPアドレスを登録する接続元トンネル外部IPアドレスフィールド113と、接続元の自動設定装置11におけるトンネル内部IPアドレスを登録する接続元トンネル内部IPアドレスフィールド114と、接続先の自動設定装置11における自動設定装置識別子を登録する接続先自動設定装置識別子フィールド115と、接続先の自動設定装置11におけるトンネル外部IPアドレスを登録する接続先トンネル外部IPアドレスフィールド116と、接続先の自動設定装置11におけるトンネル内部IPアドレスを登録する接続元トンネル内部IPアドレスフィールド117と、IPsec設定情報を登録するIPsec設定情報フィールド118と、トンネル設定状態情報を登録するトンネル設定状態情報フィールド119とを備えて構成され、トンネル名ごとに、即ち、設定されている6o4トンネルごとにレコードが作成される。
このように自動設定装置11が設定トンネル管理情報テーブル101を備え、6o4トンネルごとに管理することによって複数の他の自動設定装置11へ複数の6o4トンネルをそれぞれ同時に設定することができる。そして、制御部52は、同時に設定された複数の6o4トンネルを時分割で運用する。また、設定トンネル管理情報テーブル101にトンネル設定状態情報フィールド119を備えることによって、このトンネル設定状態情報フィールド119の情報を例えば端末装置からネットワーク1を介して参照することで6o4トンネルが設定済みであるか削除中であるかを知ることができる。
なお、各種情報や各種プログラムが記憶部53に記憶されていない場合には、これら各種情報や各種プログラムは、これらを記録したCD−ROMやDVD−ROM等の記録媒体を用いて図略のドライブ装置を介してインストールしたり、これら各種情報や各種プログラムを管理するサーバからネットワーク1を介してダウンロードすることによってインストールしたりしてもよい。
制御部52は、各種プログラムを実行することによって通信パケットのルーティングや6o4トンネルの自動設定等を行って自動設定装置11全体を制御するものであり、機能的に、通信パケットのルーティングを行うルーティング部61、1又は複数の6o4トンネルを設定するトンネル設定部62、接続先の自動設定装置11におけるトンネル内部IPアドレスを生成する接続先トンネル内部IPアドレス生成部63、公開鍵証明書を管理する公開鍵証明書管理部64、設定した6o4トンネルを削除するトンネル削除部65、及び、日付と時刻とを計る時計部66を備える。制御部52は、例えば、マイクロプロセッサ等を備えて構成される。
情報サーバ21は、自動設定装置11が6o4トンネルを自動的に設定する場合にトンネルの設定に必要な情報を提供する通信可能なサーバコンピュータであり、その記憶部に、提供する6o4トンネルの設定に必要な情報(提供トンネル設定情報)を自動設定装置識別子に対応付けて記憶する提供トンネル設定情報記憶部を備える。
提供トンネル設定情報は、少なくともトンネル外部アドレスである。例えば、図4に示すように、テーブル形式で記憶され、提供トンネル設定情報を登録する提供トンネル設定情報テーブル102は、各レコードを識別する管理番号を登録する管理番号フィールド121と、自動設定装置識別子を登録する自動設定装置識別子フィールド123と、トンネル外部IPアドレスを登録するトンネル外部IPアドレスフィールド124とを備えて構成され、自動設定装置識別子ごとにレコードが作成される。
登録サーバ22は、自動設定装置11の公開鍵に対する公開鍵証明書の発行に関し本人認証を行うと共に本人(自動設定装置11)に関する情報を登録し管理する通信可能なサーバコンピュータであり、その記憶部に、ログイン認証情報登録テーブルを予め記憶するログイン認証情報登録テーブル記憶部、及び、自動設定装置本人情報登録テーブルを記憶する自動設定装置本人情報登録テーブル記憶部を備える。
ログイン認証情報登録テーブルは、当該登録サーバ22にログインを許可する自動設定装置11に設定されている自動設定装置11のID及びパスワードを予め登録する。ログイン認証情報登録テーブル103は、例えば、図5に示すように、各レコードを管理するための管理番号を登録する管理番号フィールド131、自動設定装置11を特定するID(Identification)を登録するIDフィールド132、及び、IDと組み合わされて正規な利用者であるかどうかの識別に用いられるパスワードを登録するパスワードフィールド133の各フィールドを備えて構成され、IDごとにレコードが作成される。
自動設定装置本人情報登録テーブルは、認証サーバ23が公開鍵証明書を発行するために登録サーバ22が本人認証した自動設定装置11に関する情報(自動設定装置本人情報)を登録するテーブルであり、本実施形態では、自動設定装置11のデジタル署名を検証するための公開鍵(自動設定装置11の公開鍵)、及び、自動設定装置11に関する情報(自動設定装置本人情報)である。自動設定装置本人情報は、例えば、本実施形態では、自動設定装置11の自動設定装置識別子、設置場所の住所、取り扱い責任者の氏名、及び、責任者の連絡先である。このため、本実施形態では、例えば、図6に示すように、自動設定装置本人情報登録テーブル104は、各レコードを管理するための管理番号を登録する管理願号フィールド141、自動設定装置11の公開鍵を登録する公開鍵フィールド142、及び、自動設定装置本人情報を登録する自動設定装置本人情報フィールド143の各フィールドを備えて構成され、自動設定装置11の公開鍵ごとにレコードが作成される。そして、自動設定装置本人情報フィールド143は、自動設定装置11の自動設定装置識別子を登録する自動設定装置識別子フィールド1431、自動設定装置11の設置場所の住所を登録する設置場所住所フィールド1432、自動設定装置11を取り扱う責任者の氏名(管理企業の企業名を含む)を登録する責任者名フィールド1433、及び、当該責任者の連絡先を登録する連絡先フィールド1434の各サブフィールドを備えて構成される。ここで、連絡先は、電話番号、ファクシミリ番号及び電子メールアドレス等のネットワーク1を利用する通信手段の宛先である。
認証サーバ23は、登録サーバ22が本人認証を行って真正であると認めた自動設定装置11の公開鍵に対し公開鍵証明書を発行する通信可能なサーバコンピュータであり、その記憶部に、認証サーバ23の公開鍵証明書に関する情報、即ち、認証サーバ23の公開鍵証明書と有効期限とを記憶する認証サーバ公開鍵証明書記憶部、リポジトリを記憶するリポジトリ記憶部、証明書破棄リストを記憶する証明書破棄リスト記憶部、及び、後述のセルフ署名用の暗号鍵ペアを記憶するセルフ署名用暗号鍵ペア記憶部を備える。そして、認証サーバ23は、NTPサーバ24から現在の時刻を取得してこの時刻に内部の時計を合わせる時計部を備える。
リポジトリは、自動設定装置11の公開鍵証明書を当該自動設定装置11の自動設定装置識別子に対応付けて登録するテーブルである。公開鍵証明書の形式は、PKCS#6(Extended-Certificate Syntax Standard)やITU(International Telecommunication Union、国際電気通信連合)のX.509等種々あるが、例えばX.509の規格に従う場合には、例えば、図7に示すように、リポジトリ105は、各レコードを管理するための管理番号を登録する管理番号フィールド151、自動設定装置識別子(公開鍵の所有者に対応する)を登録する自動設定装置識別子フィールド152、及び、自動設定装置11の公開鍵証明書を登録する公開鍵証明書フィールド153を備え、自動設定装置11ごとにレコードが作成される。ここで、X.509に従う公開鍵証明書には、公開鍵証明書のシリアル番号、デジタル証明書のアルゴリズム、公開鍵におけるアルゴリズム、年月日時分秒で表される有効期間の開始時期、年月日時分秒で表される有効期間の終了時期、公開鍵、公開鍵証明書の規格のバージョン、証明書の発行者、証明書の所有者、認証サーバ23よる署名が含まれる。
証明書破棄リスト(失効リスト、Certificate Revocation List、CRL)は、破棄(失効)した公開鍵証明書の一覧であり、より具体的には、破棄した公開鍵証明書のシリアル番号の一覧に対し、当該破棄した公開鍵証明書を発行した認証局がデジタル署名を付したものである。
認証サーバ23は、自動設定装置11の公開鍵に対しデジタル署名を行った公開鍵証明書を発行するが、そのデジタル署名を行うために認証サーバ23の秘密鍵が必要であり、当該認証サーバ23の秘密鍵と暗号鍵ペアを構成する認証サーバ23の公開鍵を自動設定装置11に配布する必要がある。これは、或る自動設定装置11が他の自動設定装置11の公開鍵証明書を検証するために必要となるからである。この認証サーバ23の公開鍵を配布の際に、自動設定装置11は、配布された認証サーバ23の公開鍵が真正であるか否かを判断する必要があるが、この真正であることの確認に、本実施形態では、認証サーバ23自身が認証サーバ23の公開鍵にデジタル署名を行うセルフ署名(self-signature)を採用している。この認証サーバ23自身が認証サーバ23の公開鍵にデジタル署名を行った公開鍵証明書が認証サーバ23の公開鍵証明書である。ここで、セルフ署名を行うための暗号鍵ペアをセルフ署名用暗号鍵ペアと呼称することとし、その秘密鍵及び公開鍵をセルフ署名用秘密鍵及びセルフ署名用公開鍵とそれぞれ呼称することとする。このセルフ署名用公開鍵は、認証サーバ23の公開鍵証明書を検証するための公開鍵となる。また、本実施形態では、セルフ署名を採用しているが、他の公開鍵基盤の認証局、例えば、政府公開鍵基盤(Government Public Key Infrastructure、GPKI)の認証局によって認証サーバ23の公開鍵を認証するように構成してもよい。
NTPサーバ24は、クライアントからの要求に応じて時刻を返信する通信可能なサーバコンピュータである。NTPは、一般に、他のNTPサーバやホストコンピュータとNTPサーバが最上位となる階層構造を持ち、最上位であるNTPサーバが原子時計やGPS等の正確な時計から標準時を取得し、下位のホストコンピュータ(下位のNTPサーバを含む)がそれを参照してその時刻で自己の時計における時刻を合わせることによって、ネットワーク内のノード間において同期をとるものである。自動設定装置11や認証サーバ23は、NTPサーバ24から日付と時刻とを取得し、この取得した日付と時刻とに自己の内部に備える時計、例えばソフトウェア時計を合わせることによって同期をとることができる。
次に、本実施形態の動作について説明する。
(実施形態の動作)
まず、自動設定装置11が認証サーバ23に公開鍵証明書を発行してもらうための公開鍵証明書取得処理について説明する。この公開鍵証明書取得処理は、自動設定装置11が6o4トンネルを自動的に設定する前に事前に行う処理である。公開鍵証明書は、認証サーバ23が発行するデータであって、デジタル署名検証用の自動設定装置11の公開鍵が真正であることを証明するデータである。
図8は、公開鍵証明書取得処理の動作を示すシーケンス図である。図9は、自動設定装置の公開鍵証明書の発行処理における動作を示すフローチャートである。図10は、自動設定装置の公開鍵証明書の記憶処理における動作を示すフローチャートである。
図8において、自動設定装置11の制御部52における公開鍵証明書管理部64は、公開鍵暗号における公開鍵(自動設定装置11の公開鍵)と秘密鍵(自動設定装置11の秘密鍵)との暗号鍵ペアを生成する(S11)。
公開鍵暗号(非対称鍵暗号)は、秘密鍵で暗号化されたデータが、対応する公開鍵(秘密鍵と暗号鍵ペアを構成する公開鍵)でしか復号することができず、公開鍵で暗号化されたデータが、対応する秘密鍵(公開鍵と暗号鍵ペアを構成する秘密鍵)でしか復号することができない暗号方式である。通常、公開鍵は、暗号鍵ペアのうち広く公開される鍵であり、秘密鍵は、暗号鍵ペアのうち本人だけが分かるように厳重に管理され秘匿される鍵である。公開鍵暗号は、鍵を安全な経路で輸送する必要がないため、暗号化と復号化とを同じ鍵で行う共通鍵暗号(対称暗号、秘密鍵暗号)に比べて鍵の管理が容易であり安全性が高い。
公開鍵暗号は、種々のアルゴリズムによる各種方式があるが、例えば、RSA(Rivest-Shamir-Adleman)方式、ElGamal方式、Rabin方式及び楕円曲線暗号等がある。公開鍵暗号において、データの秘密性を確保するためにデータを暗号化する場合では、送信者が公開鍵でデータを暗号化し、受信者が秘密鍵で復号化することになるが、本人認証を行うためのデジタル署名の場合では、署名者がデータを秘密鍵で暗号化し(署名の作成に相当)、検証者が公開鍵で復号化する(署名の検証に相当)ことになる。そして、署名者の公開鍵を信頼し得る認証局で認証すること(公開鍵証明書の発行)によって、公開鍵証明書付きの公開鍵を受信した装置側は、当該公開鍵を真正な署名者本人の公開鍵であると信頼することができる。
次に、自動設定装置11の公開鍵証明書管理部64は、登録サーバ22に本人認証を行わせ認証サーバ23に公開鍵証明書を発行させるために、処理S11で作成した自動設定装置11の公開鍵、及び、当該自動設定装置11の自動設定装置本人情報を収容する通信信号(公開鍵証明書発行要求信号)を作成する(S12)。
そして、自動設定装置11の公開鍵証明書管理部64は、ISPネットワーク3に接続してインターネット接続サービスを受け、セキュリティ情報記憶部72の登録サーバ22のIPアドレスを用いて登録サーバ22にアクセスし、予め設定され記憶されているIDとパスワードとを登録サーバ22に送信し、登録サーバ22にログインする(S13)。登録サーバ22は、ログイン認証情報登録テーブル103を参照し、自動設定装置11から送信されたIDとパスワードとの組がログイン認証情報登録テーブル103に登録されているか否かを判断し、登録されいる場合には正当な自動設定装置11であると認め、自動設定装置11のログインを許可する。なお、登録されていない場合には、ログインを拒否し、切断する。
次に、自動設定装置11は、ログインに成功すると、自動設定装置11の公開鍵に対する公開鍵証明書を得るべく、公開鍵証明書発行要求信号を登録サーバ22に送信する(S14)。登録サーバ22は、公開鍵証明書発行要求信号を受信すると、自動設定装置本人情報登録テーブル104に新たな管理番号を付して新たなレコードを追加し、公開鍵証明書発行要求信号に収容されている自動設定装置11の公開鍵及び自動設定装置本人情報を新たに追加したレコードにおける公開鍵フィールド142及び自動設定装置本人情報フィールド143にそれぞれに登録する(S15)。
本実施形態では、デジタル署名の発行を要求する自動設定装置11が真正な自動設定装置11であること(所謂本人確認)は、上述のように、当該自動設定装置11が登録サーバ22にログインが可能であることによって判断している。公開鍵証明書の信頼性は、認証サーバ23の信頼性に依存し、特に本人確認の信頼性が重要となるが、本実施形態では自動設定装置11の製造企業や販売企業が自動設定装置11のID及びパスワードの組を販売前に予め自動設定装置11に組み込む、あるいは、郵送や電話によって購買者に配布するように構成することでこの本人確認の信頼性を確保している。なお、郵送や電話による場合には、ID及びパスワードは、入力部54から自動設定装置11に記憶される。
また、パスワードの漏洩を防止しさらに本人確認の信頼性を向上させる観点から、処理S13の処理に、ワンタイム・パスワード(One-Time Password)技術を用いてもよい。このワンタイム・パスワード技術は、まずサーバ(本実施形態では登録サーバ22)がクライアント(本実施形態では自動設定装置11)に認証文字列の「種」となるランダムな文字列(チャレンジ文字列)を生成してこのチャレンジ文字列を送信し、クライアントがチャレンジ文字列とパスワードとを用いて所定の手順に従って演算し、演算結果(認証文字列、レスポンス文字列)をサーバに返信し、サーバが生成したチャレンジ文字列と記憶しているパスワードとを用いてクライアントから返信されたレスポンス文字列を検証することによって、正規のクライアントであるか判別する技術である。さらに本人確認の信頼性を向上させる観点から、ログイン認証情報登録テーブル103に自動設定装置11のIPアドレスをIDに対応付けてさらに登録し、公開鍵証明書発行要求信号を受信した場合に、処理S13でログインを許可したIDに対応するIPアドレスをログイン認証情報登録テーブル103から検索し、検索したIPアドレスを宛先とした公開鍵証明書発行要求信号を送信したか否かを問う通信信号(本人確認信号)を送信し、公開鍵証明書発行要求信号を送信した旨の返信を受けることによって本人確認を行ってもよい。
次に、登録サーバ22は、公開鍵証明書発行要求信号を送信した自動設定装置11に対し公開鍵証明書を発行するように認証サーバ23に要求する旨の情報、当該自動設定装置11の自動設定装置識別子、及び、当該自動設定装置11の公開鍵を収容した通信信号(発行要求信号)を作成し、認証サーバ23に送信する(S16)。本実施形態では、登録サーバ22は、公開鍵証明書発行要求信号を受信した場合に、無条件に発行要求信号を認証サーバ22に送信するように構成しているが、発行要求信号の送信を明示するために、公開鍵証明書発行要求信号にさらに認証サーバ23に公開鍵証明書の発行を要求する旨の情報を収容し、登録サーバ22は、公開鍵証明書発行要求信号にこの情報が収容されている場合に、認証サーバ22に発行要求信号を送信するように構成してもよい。
認証サーバ23は、登録サーバ22から発行要求信号を受信すると、登録サーバ22の自動設定装置11に対する本人認証を信頼し、直ちに自動設定装置11の公開鍵に対し公開鍵証明書の発行処理を行う(S17)。
この公開鍵証明書の発行処理についてより詳細に説明すると、図9において、認証サーバ23は、まず、認証サーバ公開鍵証明書記憶部を参照することによって、認証サーバ23の公開鍵証明書が存在するか否か及び有効であるか否かを判断する(S21)。有効であるか否かの判断は、認証サーバ23の公開鍵証明書が存在する場合において、当該認証サーバ23の公開鍵証明書が有効期限内であるか否か、及び、証明書破棄リストに載っているか否かを判断することによって行われる。有効期限内であって証明書破棄リストに載っていない場合には、有効と判断され、有効期限外である、または、証明書破棄リストに載っている場合には、有効ではないと判断される。
判断の結果、認証サーバ23の公開鍵証明書が存在しない、または、有効ではない場合(No)には、認証サーバ23は、自動設定装置11の公開鍵証明書を作成するために必要な暗号鍵ペア(認証サーバ23の公開鍵及び秘密鍵)を生成し(S22)、セルフ署名用秘密鍵を用いて処理S22で新たに生成した認証サーバ23の公開鍵にデジタル署名を行うことによって認証サーバ23の公開鍵証明書を作成し(S23)、作成した認証サーバ23の公開鍵証明書を認証サーバ公開鍵証明書記憶部に記憶し(S24)、そして、新たに作成した認証サーバ23の公開鍵証明書を全ての自動設定装置11に配布する(S25)。この配布は、例えば、自動設定装置11が認証サーバ23から認証サーバ23の公開鍵証明書を取得することが可能な状態とすることによって配布する。この取得可能な状態は、例えば、WebサーバやLDAPサーバなどを介して認証を伴わずにアクセスできる箇所に、認証サーバ23の公開鍵証明書を設置することによって実現される。なお、本実施形態では、セルフ署名であるため、認証サーバ23が処理S23において認証サーバ23の公開鍵証明書を作成したが、他の認証局がデジタル署名を行う場合には、処理S23において、この他の認証局に処理S22で生成した公開鍵に対する公開鍵証明書の発行を要求することになる。また、図9に示す動作では、セルフ署名用暗号鍵ペアは、有効なものとしたが、このセルフ署名用暗号鍵ペアの有効性をチェックする処理をさらに追加してもよい。
一方、チェックの結果、認証サーバ23の公開鍵証明書が存在し有効である場合(Yes)、及び、処理S22乃至処理S25を実行することによって新たに認証サーバ23の公開鍵証明書を作成した場合には、認証サーバ23は、認証サーバ23の暗号鍵ペアを用いて自動設定装置11の公開鍵証明書を作成する。即ち、認証サーバ23は、認証サーバ23の秘密鍵を用いて自動設定装置の公開鍵にデジタル署名を行う。さらに、言い換えれば、認証サーバ23は、認証サーバ23の秘密鍵で自動設定装置11の公開鍵に認証サーバ23の署名を付加する(S26)。次に、認証サーバ23は、作成した自動設定装置11の公開鍵証明書を自動設定装置識別子に対応付けてリポジトリ105に登録する(S27)。即ち、自動設定装置11の公開鍵証明書におけるシリアル番号、デジタル証明書のアルゴリズム、公開鍵におけるアルゴリズム、年月日時分秒で表される有効期間の開始時期、年月日時分秒で表される有効期間の終了時期、公開鍵、公開鍵証明書の規格のバージョン、証明書の発行者、証明書の所有者、認証サーバ23よる署名が含まれた公開鍵証明書を自動設定装置識別子(暗号鍵ペア所有者)に対応付けてリポジトリ105に登録する。
このように自動設定装置11、登録サーバ22及び認証サーバ23が動作することによって、自動設定装置11が生成した暗号鍵ペアの公開鍵に対し、認証サーバ23による公開鍵証明書が発行される。
そして、図8に戻って、自動設定装置11がその公開鍵証明書の交付を望む場合には、自動設定装置11が当該自動設定装置11の自動設定装置識別子、及び、自動設定装置11の公開鍵証明書の交付を要求する旨の情報を収容した通信信号(交付要求信号)を認証サーバ23に送信し(S18)、この交付要求信号を認証サーバ23が受信すると、認証サーバ23は、交付要求信号に収容されている自動設定装置識別子に基づいてリポジトリ105を検索し、検索結果に基づいて、自動設定装置11の公開鍵証明書を収容した通信信号(交付信号)を自動設定装置11に送信する(S19)。自動設定装置11の公開鍵証明書管理部64は、認証サーバ23から自動設定装置11の公開鍵証明書を収容するこの通信信号を受信すると、自動設定装置11の公開鍵証明書の記憶処理を行う(S20)。
この自動設定装置の公開鍵証明書の記憶処理についてより詳細に説明すると、図10において、自動設定装置11の公開鍵証明書管理部64は、認証サーバ23の公開鍵で自動設定装置11の公開鍵証明書を検証する(S31)。自動設定装置11の公開鍵証明書管理部64は、この処理S31の検証で得られた自動設定装置11の公開鍵と図8の処理S11で生成した自動設定装置の公開鍵とを比較し、一致するか否かを判断する(S32)。判断の結果、自動設定装置11の公開鍵証明書管理部64は、一致しない場合(不一致)には、図8の処理S11からの公開鍵証明書取得処理をやり直し(S34)、一致する場合(一致)には、この自動設定装置11の公開鍵証明書が有効であるか否かを判断する(S33)。判断の結果、自動設定装置11の公開鍵証明書管理部64は、有効ではない場合(No)には処理S34を実行し、一方、有効である場合(Yes)には自身の自動設定装置11の公開鍵証明書を記憶する(S35)。
このような動作を行うことによって、自動設定装置11は、自動設定装置11の公開鍵証明書を認証サーバ23から取得することができる。ここで、このような公開鍵証明書取得処理を自動設定装置11の起動時に行うように構成することによって、暗号鍵ペアの生成がその都度行われることになるから、セキュリティを向上させることができる。なお、本実施形態では、自動設定装置11から交付要求信号の受信を待って認証サーバ23は、自動設定装置11の公開鍵証明書を交付しているが、自動設定装置11の公開鍵証明書を発行した場合に直ちに交付するように構成してもよい。
ここで、認証サーバ23は、登録サーバ22から発行要求信号を受信することによって実行される自動設定装置11の公開鍵に対する公開鍵証明書の発行処理において、認証サーバ23の公開鍵証明書の存在や有効性をチェックしているが、認証サーバ23の公開鍵証明書における有効性のチェックは、定期的にも行われており、有効ではない場合には認証サーバ23の公開鍵証明書を更新している。このような定期的に行われる認証サーバ23の公開鍵証明書を更新する認証サーバの公開鍵証明書に対する更新処理について説明する。
図11は、認証サーバの公開鍵証明書に対する更新処理における動作を示すシーケンス図である。図12は、認証サーバの公開鍵証明書に対する更新処理における動作を示すフローチャートである。
図11において、認証サーバ23の公開鍵証明書に対する更新処理を行う時期になると、認証サーバ23は、同期をとるべく、NTPサーバ24に日付と時刻とを要求する旨の情報を収容する通信信号(時刻要求信号)を送信する(S41)。NTPサーバ24は、時刻要求信号を受信すると、現在の日付と時刻とを収容した通信信号(時刻返信信号)を認証サーバ23に返信する(S42)。
認証サーバ23は、時刻返信信号を受信すると、この信号に収容されている日付と時刻とで内部の時計を合わせて同期をとり、認証サーバ23の公開鍵証明書に対する更新処理を行う(S43)。
この認証サーバ23の公開鍵証明書に対する更新処理についてさらに詳細に説明すると、図12において、認証サーバ23は、まず、認証サーバ公開鍵証明書記憶部を参照することによって、認証サーバ23の公開鍵証明書が有効か否かを判断する(S51)。この有効性のチェックは、当該認証サーバ23の公開鍵証明書が有効期限内であるか否か、及び、証明書破棄リストに載っているか否かを判断することによって行われる。
判断の結果、有効ではない場合(No)には、認証サーバ23は、暗号鍵ペアの生成処理を行い(S52)、認証サーバ23の公開鍵証明書の作成処理を行い(S53)、認証サーバ23の公開鍵証明書の記憶処理を行い(S54)、新たに作成した認証サーバ23の公開鍵の配布処理を行って(S55)、処理を終了する。これら処理S52乃至処理S55は、図9を用いて説明した処理S22乃至処理S25と同様であるので、その説明を省略する。一方、判断の結果、有効である場合(Yes)には、認証サーバ23は、処理を終了する。
このように動作することによって、認証サーバ23は、NTPサーバ24の時刻と同期をとってネットワーク1内の各ノードと同期をとることにより、認証サーバ23の公開鍵証明書の有効性を適切に判断することができる。また、認証サーバ23は、認証サーバ23の公開鍵証明書が有効ではない場合には、新たな認証サーバ23の公開鍵証明書を取得して認証サーバ23の公開鍵証明書に対する更新が行われる。
次に、認証サーバ23を用いたトンネルを自動的に設定するトンネル自動設定処理について説明する。トンネル自動設定処理は、他の自動設定装置11と情報交換するためにトンネルを自動的に設定するために必要な情報を情報サーバ21に登録する初期処理、トンネルを自動的に設定するトンネル構築処理、及び、トンネルを自動的に削除するトンネル削除処理から構成される。
図13は、トンネル自動設定処理における初期処理の動作を示すシーケンス図である。図14乃至図18は、トンネル自動設定処理におけるトンネル構築処理の動作を示すシーケンス図(その1乃至その5)である。図19は、トンネル自動設定処理におけるトンネル構築処理の動作を示すフローチャートである。図20は、自動設定装置の公開鍵証明書に対する更新処理における動作を示すシーケンス図である。図21は、自動設定装置の公開鍵証明書における使用可能性判断処理の動作を示すフローチャートである。
まず、トンネル自動設定処理の初期処理について説明する。図13において、例えば、自動設定装置11の電源が投入され、IPsec設定情報及び6o4トンネルの接続先の自動設定装置11における自動設定装置識別子が入力部54から入力されると、自動設定装置11の制御部52におけるトンネル設定部62は、ISPネットワーク3に接続要求を送信する(S61)。ISPネットワーク3において、ISPコンピュータは、接続要求を受けると、DHCPサーバ26を用いて自動設定装置11にIPv4アドレスを割り振り、この割り振ったIPv4アドレスやデフォルト経路情報等のインターネット接続サービスを提供するために必要な情報を自動設定装置11に送信し、インターネット接続サービスを開始する(S62)。
次に、自動設定装置11のトンネル設定部62は、ISPネットワーク3のインターネット接続サービスを利用し、トンネル設定用情報記憶部71における情報サーバ21のIPアドレスを用いて情報サーバ21にアクセスし、自動設定装置識別子、トンネル外部IPアドレス、及び、これら情報を提供トンネル設定情報テーブル102に登録を要求する旨の情報を収容する通信信号(トンネル外部IPアドレス設定情報信号)を作成して情報サーバ21に送信する(S63)。トンネル外部IPアドレスは、処理S62でDHCPサーバ26によって割り振られたIPv4アドレスである。情報サーバ21は、トンネル設定情報信号を受信すると、新たなレコードを作成し、トンネル外部IPアドレス設定情報信号に収容されている自動設定装置識別子及びトンネル外部IPアドレスを提供トンネル設定情報テーブル102に登録する(S64)。
このように動作することによって6o4トンネルの設定に必要なトンネル外部IPアドレスが割り当てられ、割り当てられたトンネル外部IPアドレスが情報サーバ21に登録され、集中的に一括管理される。特に、ダイヤルアップ接続等の場合のように、6o4トンネルを設定するたびにトンネル外部IPアドレスが変更される場合にも対応することができる。
次に、自動設定装置11のトンネル設定部62は、当該自動設定装置11におけるLAN側インターフェース部51のIPv6アドレスを割り振るべく、トンネル内部IPアドレス生成部63を用いて所定の手順に従って自動設定装置識別子よりIPv6アドレス(トンネル内部IPアドレス)を作成する(S65)。
IPv6アドレスを生成する所定の手順は、重複しないグローバル・アドレスであればどのような手順でもよいが、本実施形態では、自動設定装置識別子がIPv6アドレス生成情報であるので、IPv6アドレスの作成は、例えば、生成するIPv6アドレスのネットワーク・プレフィックスに自動設定装置識別子に含まれるIPv6アドレス生成情報のネットワーク・プレフィックスをそのまま使用し、さらにインターフェースID付加することよってIPv6アドレスを生成する。インタフェースIDはネットワーク2に繋がる他の機器のインターフェースIDと重複しなければどのようなインターフェースIDを用いても良いが、本実施形態では、LAN側インターフェース部51に割り振るIPv6アドレスに含まれるインターフェースIDは、全て0としている。
次に、自動設定装置11のトンネル設定部62は、トンネル内部IPアドレス生成部63により生成されたIPv6アドレスをLAN側インターフェース部51のIPアドレス(トンネル内部IPアドレス)として設定する(S66)。
次に、自動設定装置11のトンネル設定部62は、ルータ装置(本実施形態では自動設定装置11)が配下のホストコンピュータにネットワーク・プレフィックスを通知するルータ広告(Router Advertisement)を行うRAデーモンを起動する(S67)。次に、自動設定装置11のトンネル設定部62は、IKE(Internet Key Exchange)を行うIKEデーモンを起動する(S68)。IKEは、IPsecの設定に用いられ、SA(Security Association)の生成と管理を行うプロトコルである。そして、自動設定装置11のトンネル設定部62は、トンネル構築処理を行う(S69)。
次に、トンネル自動設定処理のトンネル構築処理について説明する。図14乃至図18において、接続元の自動設定装置11の制御部52におけるトンネル設定部62は、自動設定装置11の公開鍵証明書を更新する更新処理を行う(S101)。このように自動設定装置11は、更新処理を行うので、セキュリティを向上させることができ、また、有効な公開鍵証明書によって6o4トンネルの自動設定を続行することができる。
この自動設定装置11の公開鍵証明書に対する更新処理についてより詳細に説明する。図20において、自動設定装置11のトンネル設定部62は、制御部52における時計部66を用いて、同期をとるべく、NTPサーバ24に日付と時刻とを要求する旨の情報を収容した時刻要求信号を送信する(S201)。NTPサーバ24は、時刻要求信号を受信すると、現在の日付と時刻とを収容した時刻返信信号を自動設定装置11に返信する(S202)。自動設定装置11の時計部66は、時刻返信信号を受信すると、この信号に収容されている日付と時刻とで内部の時計を合わせる(S203)。
このように動作することによって自動設定装置11は、時計部66の時計をNTPサーバ24の日付及び時刻に合わせるので、例えば、バックアップ電源を持たない自動設定装置11の電源が落とされたり、時計の精度が悪かったりしたために、自動設定装置11の時計が狂っている場合でも、自動設定装置11は、認証サーバ23と現在時刻の同期をとることができる。このため、認証サーバ23の公開鍵証明書の有効性や自動設定装置11の公開鍵証明書の有効性を適切に判断することができる。
次に、自動設定装置11のトンネル設定部62は、認証サーバ23の公開鍵証明書の交付を要求する旨の情報を収容した通信信号(認証サーバ公開鍵証明書交付要求信号)を作成して認証サーバ23に送信する(S204)。認証サーバ23は、認証サーバ公開鍵証明書交付要求信号を受信すると、認証サーバ公開鍵証明書記憶部に記憶されている認証サーバ23の公開鍵証明書を収容した通信信号(認証サーバ公開鍵証明書交付信号)を作成して自動設定装置11に返信する(S205)。
自動設定装置11のトンネル設定部62は、認証サーバ公開鍵証明書交付信号を受信すると、この信号に収容されている認証サーバ23の公開鍵証明書が有効か否かを判断する(S206)。この有効か否かの判断は、時計部66の時刻が、取得した認証サーバ23の公開鍵証明書に記載されている有効期間内であるか否かを判断することによって行われ、有効期間内である場合に有効と判断される。有効ではない場合には、一定時間経過後、再度処理S201から実施する。
次に、自動設定装置11のトンネル設定部62は、制御部52の公開鍵証明書管理部64を用いて、自動設定装置11の公開鍵証明書の使用可能性を判断する使用可能性判断処理を行って(S207)、更新処理を終了し、トンネル構築処理における後述の処理S102を行う。
この自動設定装置11の公開鍵証明書における使用可能性判断処理についてより詳細に説明すると、図21において、自動設定装置11の公開鍵証明書管理部64は、セキュリティ情報記憶部72に自動設定装置11の公開鍵証明書が存在するか否かを判断する(S211)。
判断の結果、自動設定装置11の公開鍵証明書が存在しない場合(No)には、自動設定装置11の公開鍵証明書管理部64は、認証サーバ23から当該自動設定装置11の公開鍵証明書を取得すべく、当該自動設定装置11の自動設定装置識別子及び自動設定装置11の公開鍵証明書の交付を要求する旨の情報を収容した交付要求信号を認証サーバ23に送信する(S212)。自動設定装置11の公開鍵証明書管理部64は、自動設定装置11の公開鍵証明書を収容した交付返信信号の返信を認証サーバ23から受信して交付を受けると(S213)、処理S214を実行する。一方、判断の結果、自動設定装置11の公開鍵証明書が存在する場合(Yes)も自動設定装置11の公開鍵証明書管理部64は、処理S214を実行する。
処理S214において、自動設定装置11の公開鍵証明書管理部64は、自動設定装置11の公開鍵証明書が有効か否かを判断する。この有効か否かの判断は、当該自動設定装置11の公開鍵証明書が有効期限内であるか否か、及び、証明書破棄リストに載っているか否かを判断することによって行われる。
判断の結果、有効ではない場合(No)には、自動設定装置11の公開鍵証明書管理部64は、図8を用いて説明した上述の公開鍵証明書取得処理を行って(S215)、トンネル構築処理を続行する。一方、判断の結果、有効である場合(Yes)にも自動設定装置11の公開鍵証明書管理部64は、トンネル構築処理を続行する(S216)。
このように接続元の自動設定装置11の制御部52におけるトンネル設定部62が動作することによって、接続元の自動設定装置11の公開鍵証明書を更新する更新処理が行われる。
図14乃至図18に戻って、接続元の自動設定装置11の制御部52におけるトンネル設定部62は、トンネル設定用情報記憶部71の情報サーバ21のIPアドレスを用いて情報サーバ21に接続し、接続先の自動設定装置11の自動設定装置識別子及び接続先の自動設定装置11のトンネル外部IPアドレスを要求する旨の情報を収容した通信信号(接続先トンネル外部IPアドレス要求信号)を作成して情報サーバ21に送信する(S102)。情報サーバ21は、この接続先トンネル外部IPアドレス要求信号を受信すると、この信号に収容されている自動設定装置識別子に基づいて提供トンネル設定情報テーブル102からこの自動設定装置識別子に対応するトンネル外部IPアドレスを検索する(S103)。そして、情報サーバ21は、自動設定装置識別子、及び、検索したこの自動設定装置識別子に対応するトンネル外部IPアドレスを収容した通信信号(接続先トンネル外部IPアドレス返信信号)を作成して自動設定装置11に返信する(S104)。ここで、情報サーバ21は、処理S102で、接続先トンネル外部IPアドレス要求信号に収容されていた自動設定装置識別子が提供トンネル設定情報テーブル102にない場合には、自動設定装置識別子に対応するトンネル外部IPアドレスがない旨を示す情報(無登録情報)を接続先トンネル外部IPアドレス返信信号に収容して自動設定装置11に返信する。無登録情報は、例えば、「****」や「vacant」や「Null」等の記号列によって表される。
次に、接続元の自動設定装置11におけるトンネル設定部62は、接続先トンネル外部IPアドレス返信信号を受信すると、この信号に収容されていた接続先のトンネル外部IPアドレスが有効であるか否かを判断する(S105)。この有効であるか否かの判断は、接続先のトンネル外部IPアドレスの代わりに無登録情報が接続先トンネル外部IPアドレス返信信号に収容されていたか否かを判断することによって行われ、無登録情報ではない場合には、有効と判断され、無登録情報である場合には有効ではないと判断する。
判断の結果、有効ではない場合には、接続先の自動設定装置11が図13を用いて説明した初期処理を実行していないと判断し、一定時間の経過後に、処理S102に処理が戻され、有効である場合には、接続元の自動設定装置11におけるトンネル設定部62は、例えばスリーウェイハンドシェイク(Three Way Handshake)によって接続先の自動設定装置11とコネクションを確立し、接続先の自動設定装置と通信可能に接続する(S106)。スリーウェイハンドシェイクは、送信元のホストコンピュータ(本実施形態では接続元の自動設定装置)が通信開始の要求を送信先のホストコンピュータ(本実施形態では接続先の自動設定装置)に送信し(第1ステップ)、送信先のホストコンピュータが通信がOKであれば確認応答を返信し(第2ステップ)、そして、送信元のホストコンピュータがコネクションの確立の通知を送信先のホストコンピュータに送信する(第3ステップ)ことによってコネクションを確立する手順である。
接続先の自動設定装置11の制御部52におけるトンネル設定部62は、自動設定装置11の公開鍵証明書を更新する更新処理を行う(S107)。この更新処理は、図20及び図21を用いて説明した上述の更新処理と同様であるので、その説明を省略する。
コネクションが確立すると、接続元の自動設定装置11におけるトンネル設定部62は、当該自動設定装置11の自動設定装置識別子を収容する通信信号(自動設定装置識別子通知信号)を作成して接続先の自動設定装置11に送信する(S108)。
接続元の自動設定装置11からこの自動設定装置識別子通知信号を受信すると、接続先の自動設定装置11におけるトンネル設定部62は、自身(接続先の自動設定装置11)の自動設定装置識別子を収容する通信信号(自動設定装置識別子通知信号)を作成して接続元の自動設定装置11に送信する(S109)。
次に、接続元と接続先の自動設定装置11はそれぞれ他方の自動設定装置11の公開鍵証明書を入手し、入手した他方の動設定装置11の公開鍵証明書が真正であるか否かをチェックするが、この公開鍵証明書の入手方法は、2通りある。
まず初めに、接続元と接続先の自動設定装置11において認証サーバから他方の自動設定装置11の公開鍵証明書を入手する方法について説明する。
接続先の自動設定装置11におけるトンネル設定部62は、接続元の自動設定装置11における自動設定装置識別子、及び、接続元の自動設定装置11における公開鍵証明書の交付を要求する旨の情報を収容した通信信号(交付要求信号)を作成して認証サーバ23に送信する(S110)。
この交付要求信号を受信すると認証サーバ23は、受信した交付要求信号の自動設定装置識別子に基づいてリポジトリ105を参照し、この接続元の自動設定装置11における自動設定装置識別子に対応する自動設定装置11の公開鍵証明書を検索する(S111)。認証サーバ23は、検索した接続元の自動設定装置11の公開鍵証明書を収容する通信信号(交付信号)を作成して接続先の自動設定装置11に返信する(S112)。
この交付信号を受信すると、接続先の自動設定装置11におけるトンネル設定部62は、認証サーバ23の公開鍵証明書を用いて接続元の自動設定装置11の公開鍵証明書が真正であるか否か検証する(S113)。
さらに、接続先の自動設定装置11からこの自動設定装置識別子通知信号を受信する(S109)と、接続元の自動設定装置11におけるトンネル設定部62は、接続先の自動設定装置11における自動設定装置識別子、及び、接続先の自動設定装置11における公開鍵証明書を要求する旨の情報を収容した通信信号(交付要求信号)を作成して認証サーバ23に送信する(S114)。
この交付要求信号を受信すると認証サーバ23は、受信した交付要求信号の自動設定装置識別子に基づいてリポジトリ105を参照し、この接続先の自動設定装置11における自動設定装置識別子に対応する自動設定装置11の公開鍵証明書を検索する(S115)。認証サーバ23は、検索した接続先の自動設定装置11の公開鍵証明書を収容する通信信号(交付信号)を作成して接続元の自動設定装置11に返信する(S116)。
この交付信号を受信すると、接続元の自動設定装置11におけるトンネル設定部62は、認証サーバ23の公開鍵証明書を用いて接続先の自動設定装置11の公開鍵証明書が真正であるか否か検証する(S117)。
次に、接続元と接続先の自動設定装置11において互いに自動設定装置11の公開鍵証明書を交換することで他方の公開鍵証明書を入手する方法について説明する。
接続元の自動設定装置11におけるトンネル設定部62は、自身(接続元の自動設定装置11)の自動設定装置11の公開鍵証明書を収容した通信信号(公開鍵証明書通知信号)を作成して接続先の自動設定装置11に送信する(S118)。
この公開鍵証明書通知信号を接続元の自動設定装置11から受信した接続先の自動設定装置11におけるトンネル設定部62は、この受信した公開鍵証明書通知信号に収容されている接続元の自動設定装置11の公開鍵証明書を認証サーバ23の公開鍵証明書を用いて真正であるか否か検証する(S119)。そして、接続先の自動設定装置11におけるトンネル設定部62は、処理S118で検証した結果を判断することによって、接続元の自動設定装置11の公開鍵証明書が真正な自動設定装置11の公開鍵証明書であるか否かを判断する(S120)。本実施形態では、認証サーバ23の公開鍵証明書は、セルフ署名であるので、このような処理S120を行うことによって自動設定装置11の公開鍵の信頼性を向上させている。
接続先の自動設定装置11におけるトンネル設定部62は、接続元の自動設定装置11に判断結果を収容した通信信号(判断結果通知信号)を作成して送信し(S121)、判断の結果、真正な公開鍵証明書ではない場合には、接続元の自動設定装置11が真正な自動設定装置11ではないと判断し、本処理を終了する。一方、判断の結果、真正な公開鍵証明書である場合には、接続先の自動設定装置11におけるトンネル設定部62は、自身(接続先の自動設定装置11)の自動設定装置11の公開鍵証明書を収容した通信信号(公開鍵証明書通知信号)を接続元の自動設定装置11に送信する(S122)。
この公開鍵証明書通知信号を接続先の自動設定装置11から受信した接続元の自動設定装置11におけるトンネル設定部62は、この受信した公開鍵証明書通知信号に収容されている接続先の自動設定装置11の公開鍵証明書を認証サーバ23の公開鍵証明書を用いて真正であるか否か検証する(S123)。そして、接続元の自動設定装置11におけるトンネル設定部62は、処理S123で検証した結果を判断することによって、接続先の自動設定装置11の公開鍵証明書が真正な自動設定装置11の公開鍵証明書であるか否かを判断する(S124)。
接続元の自動設定装置11におけるトンネル設定部62は、接続先の自動設定装置11に判断結果を収容した通信信号(判断結果通知信号)を作成して送信し(S125)、判断の結果、真正な公開鍵証明書ではない場合には、接続先の自動設定装置11が真正な自動設定装置11ではないと判断し、本処理を終了する。一方、判断の結果、真正な公開鍵証明書である場合には、接続元の自動設定装置11におけるトンネル設定部62は、ランダムにチャレンジ文字列を生成する(S126)。そして、接続元の自動設定装置11は、生成したチャレンジ文字列を収容する通信信号(チャレンジ文字列通知信号)を作成して接続先の自動設定装置11に送信する(S127)。
接続先の自動設定装置11におけるトンネル設定部62は、チャレンジ文字列通知信号を受信すると、この信号に収容されているチャレンジ文字列を自動設定装置11との間で予め取り決められた所定の演算方法によって演算し、演算結果を自身(接続先の自動設定装置11)の自動設定装置11の秘密鍵(接続先の自動設定装置11の秘密鍵)で暗号化することによってレスポンス文字列を生成する(S128)。この所定の演算方法は、どのような演算方法でもよいが、例えば、本実施形態では、一方向ハッシュ関数(one-way hash function)である。従って、接続先の自動設定装置11におけるトンネル設定部62は、チャレンジ文字列のハッシュ値を求め、求めたハッシュ値を自身の自動設定装置11の秘密鍵で暗号化することによってレスポンス文字列を生成する。次に、接続先の自動設定装置11におけるトンネル設定部62は、レスポンス文字列を収容する通信信号(レスポンス文字列通知信号)を作成して接続元の自動設定装置11に送信する(S129)。
接続元の自動設定装置11におけるトンネル設定部62は、レスポンス文字列通知信号を受信すると、処理S126で生成したチャレンジ文字列を上述の所定の演算方法によって演算した演算結果と、この信号に収容されているレスポンス文字列を接続先の自動設定装置11の公開鍵証明書に含まれる接続先の自動設定装置11の公開鍵で復号化した復号結果とを比較し、一致するか否かを判断する(S130)。
接続元の自動設定装置11におけるトンネル設定部62は、接続先の自動設定装置11に判断結果を収容した通信信号(判断結果通知信号)を作成して送信し(S131)、判断の結果、一致しない場合には、接続先の自動設定装置11が真正な自動設定装置11ではないと判断し、本処理を終了する。一方、判断の結果、一致する場合には、接続元の自動設定装置11におけるトンネル設定部62は、後述の処理を継続する。
判断結果通知信号を受信すると、接続先の自動設定装置11におけるトンネル設定部62は、ランダムにチャレンジ文字列を生成し(S132)、生成したチャレンジ文字列を収容するチャレンジ文字列通知信号を作成して接続元の自動設定装置11に送信する(S133)。
接続元の自動設定装置11におけるトンネル設定部62は、このチャレンジ文字列通知信号を受信すると、この信号に収容されているチャレンジ文字列を上述の所定の演算方法によって演算し、演算結果を自身の自動設定装置11の秘密鍵(接続先の自動設定装置11の秘密鍵)で暗号化することによってレスポンス文字列を生成する(S134)。次に、接続元の自動設定装置11におけるトンネル設定部62は、レスポンス文字列を収容するレスポンス文字列通知信号を作成して接続先の自動設定装置11に送信する(S135)。
接続先の自動設定装置11におけるトンネル設定部62は、レスポンス文字列通知信号を受信すると、処理S132で生成したチャレンジ文字列を上述の所定の演算方法によって演算した演算結果と、この信号に収容されているレスポンス文字列を接続元の自動設定装置11の公開鍵証明書に含まれる接続元の自動設定装置11の公開鍵で復号化した復号結果とを比較し、一致するか否かを判断する(S136)。接続先の自動設定装置11におけるトンネル設定部62は、接続元の自動設定装置11に判断結果を収容した判断結果通知信号を作成して送信し(S137)、判断の結果、一致しない場合には、接続元の自動設定装置11が真正な自動設定装置11ではないと判断し、本処理を終了する。一方、判断の結果、一致する場合には、接続先の自動設定装置11におけるトンネル設定部62は、後述の処理を継続する。
このように本実施形態では、暗号鍵ペアをパスワードに見立ててチャレンジ・レスポンス認証技術を利用している。
以上の処理S101乃至処理S137を実行することによって接続元の自動設定装置11と接続先の自動設定装置11は、第三者機関である認証サーバ23を用いて相互認証を行う。
相互認証に成功すると、接続元の自動設定装置11におけるトンネル設定部62及び接続先の自動設定装置11におけるトンネル設定部62は、6o4トンネルの設定に必要な情報を互いに交換する。即ち、接続元の自動設定装置11におけるトンネル設定部62は、自身の自動設定装置11におけるトンネル外部IPアドレス、トンネル内部IPアドレスとそのプレフィックス長、IPsec設定情報、及び、トンネルの構築を指示する旨の情報を収容した通信信号(トンネル構築指示信号)を作成して接続先の自動設定装置11に送信し(S138)、一方、接続先の自動設定装置11におけるトンネル設定部62は、自身の自動設定装置11におけるトンネル外部IPアドレス、トンネル内部IPアドレスとそのプレフィックス長、IPsec設定情報、及び、トンネルの構築を指示する旨の情報を収容した通信信号(トンネル構築指示信号)を作成して接続元の自動設定装置11に送信する(S139)。ここで、トンネル内部IPアドレスとそのプレフィックス長は、IPsecのセキュリティポリシを設定するために必要となる情報である。
接続元の自動設定装置11におけるトンネル設定部62は、記憶している情報によって6o4トンネルを設定できるか否かを判断する(S140)。このトンネル設定の可否の判断は、接続元のトンネル外部アドレス、接続元のトンネル内部IPアドレス、接続先のトンネル外部IPアドレス、接続先のトンネル内部IPアドレス及びIPsec設定情報の有無であり、これら情報がある場合には6o4トンネルの設定が可能と判断され、これら情報のうち何れかかが欠けている場合には6o4トンネルの設定が不能と判断される。判断の結果、不能と判断された場合には、接続元の自動設定装置11におけるトンネル設定部62は、判断結果を収容する通信信号(判断結果通知信号)を作成して接続先の自動設定装置11に送信し(S149)、6o4トンネルを自動的に設定する本処理を終了する。一方、判断の結果、可能と判断された場合には、接続元の自動設定装置11におけるトンネル設定部62は、判断結果を収容する通信信号(判断結果通知信号)を作成して接続先の自動設定装置11に送信する(S141)。
一方、接続先の自動設定装置11におけるトンネル設定部62は、記憶している情報によって6o4トンネルを設定できるか否かを判断する(S142)。判断の結果、不能と判断された場合には、接続先の自動設定装置11におけるトンネル設定部62は、判断結果を収容する通信信号(判断結果通知信号)を作成して接続元の自動設定装置11に送信し(S155)、6o4トンネルを自動的に設定する本処理を終了する。一方、判断の結果、可能と判断された場合には、接続先の自動設定装置11におけるトンネル設定部62は、判断結果を収容する通信信号(判断結果通知信号)を作成して接続元の自動設定装置11に送信する(S143)。
他方の自動設定装置11から6o4トンネルの設定が可能であると判断した旨の判断結果を収容する判断結果通知信号を受信すると、接続元及び接続先の自動設定装置11におけるトンネル設定部62は、コネクションを解消する処理をそれぞれ行う(S144)。コネクションが解消されると、接続元の自動設定装置11におけるトンネル設定部62及び接続先の自動設定装置11におけるトンネル設定部62は、6o4トンネルを構築するトンネル構築処理をそれぞれ行う(S145、S146)。
このトンネル構築処理についてより詳細に説明すると、図19において、自動設定装置11の制御部52におけるトンネル設定部62は、所定の手順に従って自動的に設定しようとしている6o4トンネルのトンネル名を生成する(S151)。
トンネル名を生成する所定の手順は、例えば、順に数値を割り振る手順や順にアルファベットを割り振る手順のように、重複してトンネル名が生成されなければどのような手順でもよいが、本実施形態では、トンネルの種類を示すIPv6overIPv4トンネルを略称した「6o4」にアルファベットを順に付する手順である。
次に自動設定装置11の制御部52におけるトンネル設定部62は、トンネル構築指示信号に収容されているIPsec設定情報を参照することによってIPsecを設定するか否かを判断する(S152)。判断の結果、IPsecを設定しない場合(非設定)には、自動設定装置11のトンネル設定部62は、後述の処理S155を実行する。
一方、判断の結果、IPsecを設定する場合(設定)には、自動設定装置11のトンネル設定部62は、構築するトンネルについてIPパケットの処理方法を規定するセキュリティポリシ(Security Policy)を設定する(S153)。即ち、自動設定装置11のトンネル設定部62は、IPパケットの処理方法とIPパケットを特定するための情報(セレクタ)とを対応付けて登録するセキュリティポリシデータベース(Security Policy Database、以下、「SPD」と略記する。)を作成し、作成したSPDを記憶部53に記憶する。セレクタは、セキュリティポリシ番号、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号及びトランスポート層プロトコルであり、IPパケットの処理方法を指定するポリシは、IPパケットの処理方法(アクション)、セキュリティプロトコル、カプセル化モード、入出力の方向送、信元側セキュリティゲートウェイのIPアドレス及び宛先側セキュリティゲートウェイの宛先IPアドレスである。IPパケットの処理方法は、IPパケットの破棄、IPsec不適用の通過及びIPsec適用の通過である。これらは、構築するトンネルについて設定される。即ち、接続元の自動設定装置11において、接続先の自動設定装置11との間に、セキュリティポリシのうち入出力の方向がoutになるようなセキュリティポリシを設定する場合には、セキュリティポリシ番号には、順に番号が割り振られ、送信元IPアドレスには、接続元の自動設定装置11におけるトンネル内部IPアドレスとそのプレフィックス長が設定され、宛先IPアドレスには、処理S139で取得した接続先の自動設定装置11におけるトンネル内部IPアドレスとそのプレフィックス長が設定され、送信元ポート番号、宛先ポート番号、トランスポート層プロトコル、アクション、セキュリティプロトコル及びカプセル化モード(例えば本実施形態ではトンネルモードに固定されている。)には、自動設定装置11の記憶部53に予め記憶されたIPsec関連情報に基づいて設定され、送信元側セキュリティゲートウェイのIPアドレスには、接続元の自動設定装置11におけるトンネル外部IPアドレスが設定され、宛先側セキュリティゲートウェイの宛先IPアドレスには、処理S104で情報サーバ21から取得した接続先トンネル外部IPアドレス返信信号に収容されている接続先の自動設定装置11におけるトンネル外部IPアドレスが設定される。IPパケットの処理方法には、IPsec適用の通過が設定される。接続元の自動設定装置11において、接続先の自動設定装置11との間に、セキュリティポリシのうち入出力の方向がinになるようなセキュリティポリシを設定する場合には、セキュリティポリシ番号には、順に番号が割り振られ、送信元IPアドレスには、処理S139で取得した接続先の自動設定装置11におけるトンネル内部IPアドレスとそのプレフィックス長が設定され、宛先IPアドレスには、接続元の自動設定装置11におけるトンネル内部IPアドレスとそのプレフィックス長が設定され、送信元ポート番号、宛先ポート番号、トランスポート層プロトコル、アクション、セキュリティプロトコル及びカプセル化モード(例えば本実施形態ではトンネルモードに固定されている。)には、自動設定装置11の記憶部53に予め記憶されたIPsec関連情報に基づいて設定され、送信元側セキュリティゲートウェイのIPアドレスには、処理S104で情報サーバ21から取得した接続先トンネル外部IPアドレス返信信号に収容されている接続先の自動設定装置11におけるトンネル外部IPアドレスが設定され、宛先側セキュリティゲートウェイの宛先IPアドレスには、接続元の自動設定装置11におけるトンネル外部IPアドレスが設定され、IPパケットの処理方法には、IPsec適用の通過が設定される。一方、接続先の自動設定装置11において、接続先の自動設定装置11との間に、セキュリティポリシのうち入出力の方向がoutになるようなセキュリティポリシを設定する場合には、セキュリティポリシ番号には、順に番号が割り振られ、送信元IPアドレスには、接続先の自動設定装置11におけるトンネル内部IPアドレスとそのプレフィックス長が設定され、宛先IPアドレスには、処理S138で接続元の自動設定装置11から送信された接続元の自動設定装置11におけるトンネル内部IPアドレスとそのプレフィックス長が設定され、送信元ポート番号、宛先ポート番号、トランスポート層プロトコル、アクション、セキュリティプロトコル及びカプセル化モード(例えば本実施形態ではトンネルモードに固定されている。)には、自動設定装置11の記憶部53に予め記憶されたIPsec関連情報に基づいて設定され、送信元側セキュリティゲートウェイのIPアドレスには、接続先の自動設定装置11におけるトンネル外部IPアドレスが設定され、宛先側セキュリティゲートウェイの宛先IPアドレスには、トンネル構築処理において接続元の自動設定装置11と接続先の自動設定装置11の間に確立されているコネクション情報から取得された接続元の自動設定装置11におけるトンネル外部IPアドレスが設定される。IPパケットの処理方法には、IPsec適用の通過が設定される。接続先の自動設定装置11において、接続先の自動設定装置11との間に、セキュリティポリシのうち入出力の方向がinになるようなセキュリティポリシを設定する場合には、セキュリティポリシ番号には、順に番号が割り振られ、送信元IPアドレスには、処理S138で取得した接続元の自動設定装置11におけるトンネル内部IPアドレスとそのプレフィックス長が設定され、宛先IPアドレスには、接続先の自動設定装置11におけるトンネル内部IPアドレスとそのプレフィックス長が設定され、送信元ポート番号、宛先ポート番号、トランスポート層プロトコル、アクション、セキュリティプロトコル及びカプセル化モード(例えば本実施形態ではトンネルモードに固定されている。)には、自動設定装置11の記憶部53に予め記憶されたIPsec関連情報に基づいて設定され、送信元側セキュリティゲートウェイのIPアドレスには、トンネル構築処理において接続元の自動設定装置11と接続先の自動設定装置11の間に確立されているコネクション情報から取得された接続元の自動設定装置11におけるトンネル外部IPアドレスが設定され、宛先側セキュリティゲートウェイの宛先IPアドレスには、接続先の自動設定装置11におけるトンネル外部IPアドレスが設定される。
次に、自動設定装置11のトンネル設定部62は、セキュリティアソシエーション(Security Association、以下、「SA」と略記する。)を接続元から接続先及び接続先から接続元のそれぞれについて確立する(S154)。即ち、接続元から接続先へのSA及び接続先から接続元へのSAのそれぞれについて、自動設定装置11のトンネル設定部62は、IKEを用いて暗号化アルゴリズムの提示、決定及び暗号鍵の交換等を行うネゴシエーションを実行してSAを決定し、決定したSAをセキュリティアソシエーションデータベース(Security Association Database、以下、「SAD」と略記する。)に登録する。SADは、記憶部53に記憶される。なお、IKEを用いて提示される暗号化アルゴリズムは、DES−CBC、3DES−CBC、CAST−128、RC−5、IDEA及びBlowfish等の共通鍵暗号方式である。
次に、自動設定装置11のトンネル設定部62は、処理S151で生成したトンネル名、処理S153でDHCPサーバ26によって割り振られたIPアドレス(接続元のトンネル外部IPアドレス)、接続元トンネル内部IPアドレス、入力部54から入力され記憶部53に記憶されている接続先自動設定装置識別子、処理103で情報サーバ21から取得した接続先トンネル外部IPアドレス、処理S151で生成した接続先トンネル内部IPアドレス、入力部54から入力され記憶部53に記憶されているIPsec設定情報、及び、設定済みを示す情報である「設定済み」を設定トンネル管理情報テーブル101の対応する各フィールドにそれぞれ登録する(S155)。
そして、自動設定装置11のトンネル設定部62は、構築したトンネルが正常に使用可能か否かを判断する(S156)。判断の結果、自動設定装置11は、正常に使用可能である場合(Yes)には6o4トンネルの運用を開始し(S157)、正常に使用可能ではない場合(No)には、処理S61からトンネル自動設定処理を再びやり直す(S158)。例えば、自動設定装置11のトンネル設定部62は、構築した6o4トンネルにピング(Ping)を送信し、その返信が受信されるか否かによって判断する。ピングの返信が受信された場合には、構築した6o4トンネルが正常に使用可能に構築されたと判断され、ピングの返信が受信されない場合には、構築した6o4トンネルが正常に使用可能に構築されなかったと判断される。
このような処理S151乃至処理S158を接続元の自動設定装置11におけるトンネル設定部62及び接続先の自動設定装置11におけるトンネル設定部62がそれぞれ実行することによって6o4トンネルが構築され、6o4トンネルを利用した通信が可能となる。
そして、自動設定装置11は、複数の6o4トンネルを設定する場合には、処理S61乃至処理S68の初期処理を実行した後に、処理S101乃至処理S146(処理S151乃至処理S155のトンネル構築処理を含む)のトンネル構築処理を各6o4トンネルごとに実行する。例えば、図1に示すように、自動設定装置11−Aが自動設定装置11−B及び自動設定装置11−Cとの間にそれぞれ6o4トンネルを設定する場合には、自動設定装置11−Aは、まず、処理S61乃至処理S68の初期処理を実行し、次に、自動設定装置11−Bとの間で処理S101乃至処理S146のトンネル構築処理を実行して、6o4トンネル5−ABを設定し、そして、自動設定装置11−Cとの間で処理S101乃至処理S146のトンネル構築処理を実行して、6o4トンネル5−ACを設定する。なお、自動設定装置11−Aは、6o4トンネル5−ACを設定した後に、6o4トンネル5−ABを設定してもよく、6o4トンネルを設定する順は、任意である。
以上説明したように自動設定装置11は、第三者機関を利用した相互認証を行った上で6o4トンネルを自動的に設定することができる。このため、なりすまし等の不正な意図しない自動設定装置11との間に6o4トンネルを設定することが防止される。また、IPsecが利用可能であるので、セキュリティの高い通信を行うことができる。
そして、このIPsecの利用は、入力部54から入力され設定トンネル管理情報テーブル101に6o4トンネルごとに登録されることにより、6o4トンネルごとに選択可能であるので、通信の内容に応じて必要な場合にIPsecを利用することができるから、通信を行う場合に、自動設定装置11の情報処理量を軽減することができ、自動設定装置11の負荷を軽減することができる。
また、6o4トンネルの使用を終了する場合には、認証サーバ23を用いたトンネルを自動的に切断するトンネル切断処理が実行される。
次に、トンネル切断処理について説明する。図22乃至図26は、トンネル自動設定処理におけるトンネル削除処理の動作を示すシーケンス図(その1〜その5)である。
図22乃至図26において、切断元の自動設定装置11の制御部52におけるトンネル削除部65は、まず、設定トンネル管理情報テーブル101における、切断しようとしている6o4トンネルに対応するレコードのトンネル設定状態情報フィールド119に6o4トンネルの切断中を示す情報である「切断中」を登録する(S303)。
次に、切断元の自動設定装置11のトンネル削除部65は、自動設定装置11の公開鍵証明書の有効性をチェックすべく、自動設定装置11の公開鍵証明書を更新する更新処理を行う(S304)。この更新処理は、図20及び図21を用いて説明した上述の更新処理と同様であるので、その説明を省略する。
次に、切断元の自動設定装置11におけるトンネル削除部65は、6o4トンネルの切断を開始する旨の情報を収容した通信信号(切断開始通知信号)を作成して切断先の自動設定装置11へ送信する(S305)。
切断開始通知信号を受信すると、切断先の自動設定装置11におけるトンネル削除部65は、自動設定装置11の公開鍵証明書の有効性をチェックすべく、自動設定装置11の公開鍵証明書を更新する更新処理を行う(S306)。この更新処理は、図20及び図21を用いて説明した上述の更新処理と同様であるので、その説明を省略する。そして、切断先の自動設定装置11におけるトンネル削除部65は、トンネルの切断開始を了承する旨の情報を収容した通信信号(切断了承通知信号)を作成して切断元の自動設定装置11へ返信する(S307)。
切断了承通知信号を受信すると、切断元の自動設定装置11におけるトンネル削除部65は、自動設定装置識別子通知信号を作成して切断先の自動設定装置11に送信する(S308)。
切断元の自動設定装置11からこの自動設定装置識別子通知信号を受信すると、切断先の自動設定装置11におけるトンネル削除部65は、自身(切断先の自動設定装置11)の自動設定装置識別子を収容する通信信号(自動設定装置識別子通知信号)を作成して切断元の自動設定装置11に送信する(S309)。
次に、切断元と切断先の自動設定装置11は、それぞれ他方の自動設定装置11の公開鍵証明書を入手し、入手した他方の動設定装置11の公開鍵証明書が真正かチェックするが、この公開鍵証明書の入手方法は、2通りある。
まず初めに、切断元と切断先の自動設定装置11において認証サーバから他方の自動設定装置11の公開鍵証明書を入手する方法について説明する。
切断先の自動設定装置11におけるトンネル削除部65は、切断元の自動設定装置11における公開鍵証明書の交付を受けるべく、交付要求信号を作成して認証サーバ23に送信する(S310)。
この交付要求信号を受信すると認証サーバ23は、受信した交付要求信号の自動設定装置識別子に基づいてリポジトリ105を参照し、この切断元の自動設定装置11における自動設定装置識別子に対応する自動設定装置11の公開鍵証明書を検索する(S311)。認証サーバ23は、検索結果に基づいて、交付信号を作成して切断先の自動設定装置11に返信する(S312)。
この交付信号を受信すると、切断先の自動設定装置11におけるトンネル削除部65は、認証サーバ23の公開鍵証明書を用いて切断元の自動設定装置11の公開鍵証明書が真正であるか否か検証する(S313)。
さらに、切断先の自動設定装置11からこの自動設定装置識別子通知信号を受信する(S309)と、切断元の自動設定装置11におけるトンネル削除部65は、切断先の自動設定装置11における公開鍵証明書の交付を受けるべく、交付要求信号を作成して認証サーバ23に送信する(S314)。
この交付要求信号を受信すると認証サーバ23は、受信した交付要求信号の自動設定装置識別子に基づいてリポジトリ105を参照し、この切断先の自動設定装置11における自動設定装置識別子に対応する自動設定装置11の公開鍵証明書を検索する(S315)。認証サーバ23は、検索結果に基づいて交付信号を作成して切断元の自動設定装置11に返信する(S316)。
この交付信号を受信すると、切断元の自動設定装置11におけるトンネル削除部65は、認証サーバ23の公開鍵証明書を用いて切断先の自動設定装置11の公開鍵証明書が真正であるか否か検証する(S317)。
次に、切断元と切断先の自動設定装置11において互いに自動設定装置11の公開鍵証明書を交換することで他方の公開鍵証明書を入手する方法について説明する。
切断元の自動設定装置11におけるトンネル削除部65は、自身(切断元の自動設定装置11)の公開鍵証明書通知信号を作成して切断先の自動設定装置11に送信する(S318)。
この公開鍵証明書通知信号を切断元の自動設定装置11から受信した切断先の自動設定装置11におけるトンネル削除部65は、この受信した公開鍵証明書通知信号に収容されている切断元の自動設定装置11の公開鍵証明書を認証サーバ23の公開鍵証明書を用いて真正であるか否かを検証する(S319)。そして、切断先の自動設定装置11におけるトンネル削除部65は、処理S319で検証した結果を判断することによって、切断元の自動設定装置11の公開鍵証明書が真正な自動設定装置11の公開鍵証明書であるか否かを判断する(S320)。
切断先の自動設定装置11におけるトンネル削除部65は、切断元の自動設定装置11に判断結果通知信号を作成して送信し(S321)、判断の結果、真正な公開鍵証明書ではない場合には、切断元の自動設定装置11が真正な自動設定装置11ではないと判断し、本処理を終了する。一方、判断の結果、真正な公開鍵証明書である場合には、切断先の自動設定装置11におけるトンネル削除部65は、自身(切断先の自動設定装置11)の公開鍵証明書通知信号を切断元の自動設定装置11に送信する(S322)。
この公開鍵証明書通知信号を切断先の自動設定装置11から受信した切断元の自動設定装置11におけるトンネル削除部65は、この受信した公開鍵証明書通知信号に収容されている切断先の自動設定装置11の公開鍵証明書を認証サーバ23の公開鍵証明書を用いて真正であるか否かを検証する(S323)。そして、切断元の自動設定装置11におけるトンネル削除部65は、処理S323で検証した結果を判断することによって、切断先の自動設定装置11の公開鍵証明書が真正な自動設定装置11の公開鍵証明書であるか否かを判断する(S324)。
切断元の自動設定装置11におけるトンネル削除部65は、切断先の自動設定装置11に判断結果通知信号を作成して送信し(S325)、判断の結果、真正な公開鍵証明書ではない場合には、切断先の自動設定装置11が真正な自動設定装置11ではないと判断し、本処理を終了する。一方、判断の結果、真正な公開鍵証明書である場合には、切断元の自動設定装置11におけるトンネル削除部65は、ランダムにチャレンジ文字列を生成する(S326)。そして、切断元の自動設定装置11におけるトンネル削除部65は、チャレンジ文字列通知信号を作成して切断先の自動設定装置11に送信する(S327)。
切断先の自動設定装置11におけるトンネル削除部65は、チャレンジ文字列通知信号を受信すると、この信号に収容されているチャレンジ文字列を自動設定装置11との間で予め取り決められた所定の演算方法によって演算し、演算結果を自身(切断先の自動設定装置11)の自動設定装置11の秘密鍵(切断先の自動設定装置11の秘密鍵)で暗号化することによってレスポンス文字列を生成する(S328)。次に、切断先の自動設定装置11におけるトンネル削除部65は、レスポンス文字列通知信号を作成して切断元の自動設定装置11に送信する(S329)。
切断元の自動設定装置11におけるトンネル削除部65は、レスポンス文字列通知信号を受信すると、処理S326で生成したチャレンジ文字列を上述の所定の演算方法によって演算した演算結果と、この信号に収容されているレスポンス文字列を切断先の自動設定装置11の公開鍵証明書に収容されている切断先の自動設定装置11の公開鍵で復号化した復号結果とを比較し、一致するか否かを判断する(S330)。切断元の自動設定装置11におけるトンネル削除部65は、切断先の自動設定装置11に判断結果通知信号を作成して送信し(S331)、判断の結果、一致しない場合には、切断先の自動設定装置11が真正な自動設定装置11ではないと判断し、本処理を終了する。一方、判断の結果、一致する場合には、切断元の自動設定装置11におけるトンネル削除部65は、後述の処理を継続する。
判断結果通知信号を受信すると、切断先の自動設定装置11におけるトンネル削除部65は、ランダムにチャレンジ文字列を生成し(S332)、チャレンジ文字列通知信号を作成して切断元の自動設定装置11に送信する(S333)。
切断元の自動設定装置11におけるトンネル削除部65は、このチャレンジ文字列通知信号を受信すると、この信号に収容されているチャレンジ文字列を上述の所定の演算方法によって演算し、演算結果を自身の自動設定装置11の秘密鍵(切断先の自動設定装置11の秘密鍵)で暗号化することによってレスポンス文字列を生成する(S334)。次に、切断元の自動設定装置11におけるトンネル削除部65は、レスポンス文字列通知信号を作成して切断先の自動設定装置11に送信する(S335)。
切断先の自動設定装置11におけるトンネル削除部65は、レスポンス文字列通知信号を受信すると、処理S332で生成したチャレンジ文字列を上述の所定の演算方法によって演算した演算結果と、この信号に収容されているレスポンス文字列を切断元の自動設定装置11の公開鍵証明書に収容されている切断元の自動設定装置11の公開鍵で復号化した復号結果とを比較し、一致するか否かを判断する(S336)。切断先の自動設定装置11におけるトンネル削除部65は、切断元の自動設定装置11に判断結果通知信号を作成して送信し(S337)、判断の結果、一致しない場合には、切断元の自動設定装置11が真正な自動設定装置11ではないと判断し、本処理を終了する。一方、判断の結果、一致する場合には、切断先の自動設定装置11におけるトンネル削除部65は、後述の処理を継続する。
以上の処理S304乃至処理S337を実行することによって切断元の自動設定装置11と切断先の自動設定装置11は、第三者機関である認証サーバ23を用いて相互認証を行う。
相互認証に成功すると、切断元の自動設定装置11におけるトンネル削除部65及び切断先の自動設定装置11におけるトンネル削除部65は、6o4トンネルの切断に必要な情報を互いに交換する。即ち、切断元の自動設定装置11におけるトンネル削除部65は、切断するトンネルを識別するための情報、及び、6o4トンネルの切断を指示する旨の情報を収容した通信信号(トンネル切断指示信号)を作成して切断先の自動設定装置11に送信し(S338)、一方、切断先の自動設定装置11におけるトンネル削除部65もトンネル切断指示信号を作成して切断元の自動設定装置11に送信する(S339)。ここで、切断するトンネルを識別するための情報は、例えば、接続元のトンネル外部アドレス、トンネル内部アドレス及び自動設定装置識別子と、接続先のトンネル外部アドレス、トンネル内部アドレス及び自動設定装置識別子と、トンネル名とである。
トンネル切断指示信号を切断先の自動設定装置11から受信すると、切断元の自動設定装置11におけるトンネル削除部65は、記憶している情報によってトンネルを切断できるか否かを判断する(S340)。このトンネル設定の可否の判断は、提供トンネルテーブル上における該当するトンネル情報の有無であり、これら情報がある場合には6o4トンネルの切断が可能と判断され、これら情報のうち何れかかが欠けている場合には6o4トンネルの切断が不能と判断される。判断の結果、不能と判断された場合には、切断元の自動設定装置11におけるトンネル削除部65は、6o4トンネルを自動的に切断する本処理を終了する。一方、判断の結果、可能と判断された場合には、切断元の自動設定装置11におけるトンネル削除部65は、判断結果通知信号を作成して切断先の自動設定装置11に送信する(S341)。
一方、切断先の自動設定装置11におけるトンネル削除部65は、切断元の自動設定装置11からこの判断結果通知信号を受信すると、切断先の自動設定装置11におけるトンネル削除部65は、記憶している情報によって6o4トンネルを切断できるか否かを判断する(S342)。判断の結果、不能と判断された場合には、切断先の自動設定装置11におけるトンネル削除部65は、ト6o4ンネルを自動的に切断する本処理を終了する。一方、判断の結果、可能と判断された場合には、切断先の自動設定装置11におけるトンネル削除部65は、判断結果通知信号を作成して切断元の自動設定装置11に送信する(S343)。
他方の自動設定装置11から6o4トンネルの切断が可能であると判断した旨の判断結果を収容する判断結果通知信号を受信すると、切断元及び切断先の自動設定装置11におけるトンネル削除部65は、コネクションを解消する処理をそれぞれ行う(S344)。コネクションが解消されると、切断元の自動設定装置11におけるトンネル削除部65及び切断先の自動設定装置11におけるトンネル削除部65は、6o4トンネルの切断をそれぞれ実行する(S345、S346)。6o4トンネルの切断は、設定トンネル管理情報テーブル101から切断した6o4トンネルに対応するレコードを削除すると共に、SPD及びSADから切断した6o4トンネルに対応するセキュリティポリシ及びセキュリティアソシエーションをそれぞれ削除することによって行われる。
このように相互認証を行ってから6o4トンネルを切断するので、不正切断を回避することができ、トンネルの接続先の自動設定装置11も切断する6o4トンネルに対応する情報を削除することができ、制御部52や記憶部53等のリソースを節約することができる。
なお、上述の実施形態では、自動設定装置11は、出荷時にIPv6アドレスの生成情報が予め埋め込まれ、自身の自動設定装置識別子としていたが、出荷時には一意となるような任意の文字列、例えば、製品のシリアル番号などを埋め込み、IPv6アドレス生成情報は、初期処理において、この一意となるような任意の文字列を用いることによって情報サーバ21から取得するように構成してもよい。
図27は、情報サーバからIPv6生成情報を取得する場合における情報サーバにおけるトンネル内部IPアドレス生成情報テーブルの構成を示す図である。図28は、情報サーバからIPv6生成情報を取得する場合に係る自動設定装置の初期処理の動作を示すシーケンス図の一部である。図29は、情報サーバからIPv6生成情報を取得する場合に係る自動設定装置の初期処理の一部において情報サーバの動作を示すフローチャートである。
図27において、トンネル内部IPアドレス生成情報テーブルは、自動設定装置11からの要求に応じて割り振ったトンネル内部IPアドレス生成情報を自動設定装置11の自動設定装置識別子に対応付けて登録する。トンネル内部IPアドレス生成情報テーブル106は、例えば、図27に示すように各レコードを管理する管理番号を登録する管理番号フィールド161、自動設定装置11の自動設定装置識別子を登録する自動設定装置識別子フィールド162、及び、当該自動設定装置11に割り振ったトンネル内部IPアドレス生成情報を登録するトンネル内部IPアドレス生成情報フィールド163を備えて構成され、トンネル内部IPアドレス生成情報を割り振られた自動設定装置11ごとにレコードが作成される。
前述の実施形態における図13を用いて説明した処理S64と処理S65との間において、図28に示す処理を行う。即ち、図28において、自動設定装置11のトンネル設定部62は、自動設定装置識別子及びトンネル内部IPアドレス生成情報を要求する旨の情報を収容する通信信号(トンネル内部IPアドレス生成情報要求信号)を作成して情報サーバ21に送信する(S171)。情報サーバ21は、トンネル内部IPアドレス生成情報要求信号を受信すると、この信号に収容されている自動設定装置識別子に対してトンネル内部IPアドレス生成情報を割り振る(S172)。
次に、処理S172について、さらに詳細に説明する。図28において、情報サーバ21は、トンネル内部IPアドレス生成情報要求信号を受信すると、この信号に収容されている自動設定装置識別子に基づいてトンネル内部IPアドレス生成情報テーブル106からこの自動設定装置識別子に対応するトンネル外部IPアドレスを検索し、この自動設定装置識別子に対応するトンネル内部IPアドレス生成情報登録済みか否かを判断する(S81)。この登録済みであるか否かの判断は、トンネル内部IPアドレス生成情報要求信号に収容されている自動設定装置識別子とトンネル内部IPアドレス生成情報が対応付けられて登録されているレコードがトンネル内部IPアドレス生成情報テーブル106に存在するか否か検索する事によって行われ、レコードが存在する場合は登録済みと判断され、レコードが存在しない場合には登録済みでないと判断される。判断の結果、登録済みでないと判断された場合には、情報サーバ21は、予め用意されているIPv6アドレスのネットワーク・プレフィックスの中から未割り振りのIPv6アドレスのネットワーク・プレフィックスを選択し、トンネル内部IPアドレス生成情報テーブル106に新たな管理番号を付して新たなレコードを作成し、作成したレコードにおける自動設定装置識別子フィールド162及びトンネル内部IPアドレス生成情報フィールド163に、トンネル内部IPアドレス生成情報要求信号の自動設定装置識別子及び選択したIPv6アドレスのネットワーク・プレフィックスをそれぞれ登録する(S82)。一方、判断の結果、登録済みと判断された場合には、情報サーバ21は、トンネル内部IPアドレス生成情報テーブル106に存在する、トンネル内部IPアドレス生成情報要求信号に収容されている自動設定装置識別子とトンネル内部IPアドレス生成情報が対応付けられて登録されているレコードからトンネル内部IPアドレス生成情報を取得する(S83)。
そして、情報サーバ21は、割り振ったIPv6アドレスのネットワーク・プレフィックスをトンネル内部IPアドレス生成情報として収容した通信信号(トンネル内部IPアドレス生成情報返信信号)を作成してトンネル自動設定装置11に返信する(S173)。続いて、自動設定装置11のトンネル設定部62は、情報サーバ21から設定済みトンネル内部IPアドレス登録返信信号を受信すると、処理S65以下の処理を続行する。
このように動作することで、自動設定装置11に割り振られトンネル内部IPアドレスとして使用されるIPv6アドレスを情報サーバ21が一括管理し、自動設定装置11の要求に応じてIPv6アドレスを割り振っているので、テーブル106から登録されたIPv6アドレスで、長期に亘って使用されていないIPv6アドレスについて適時削除することで、自動設定装置11が破棄されたり、使用されなくなったりした場合に、IPv6アドレスを回収することができ、IPv6アドレスを効率的に使い回すことが出来る。
そして、上述の実施形態では、トンネル構築処理の際に、接続先の自動設定装置11において接続元の自動設定装置11からのコネクションが正当であるか否かをチェックしていないが、チェックするように構成してもよい。また、上述の実施形態では、トンネル削除処理の際に、切断先の自動設定装置11において切断元の自動設定装置11からのコネクション正当であるか否かをチェックしていないが、チェックするように構成してもよい。
図30は、トンネル外部IPアドレスのチェックを行う場合に係る自動設定装置のトンネル構築処理の動作を示すシーケンス図の一部である。図31は、トンネル外部IPアドレスのチェックを行う場合に係る自動設定装置のトンネル削除処理の動作を示すシーケンス図の一部である。
前述の実施形態における図14を用いて説明した処理S108と図15の処理S109との間において、図30に示す処理を行う。即ち、図30において、接続先の自動設定装置11におけるトンネル設定部62は、処理S108において接続元の自動設定装置11から受信した自動設定装置識別子通知信号に収容されている接続元の自動設定装置11における自動設定装置識別子、及び、接続元の自動設定装置11におけるトンネル外部IPアドレスを要求する旨の情報を収容した通信信号(接続元トンネル外部IPアドレス要求信号)を作成して情報サーバ21に送信する(S161)。情報サーバ21は、接続元トンネル外部IPアドレス要求信号を受信すると、この信号に収容されている自動設定装置識別子に基づいて提供トンネル設定情報テーブルから102からこの自動設定装置識別子に対応するトンネル外部IPアドレスを検索する(S162)。そして、情報サーバ21は、検索したトンネル外部IPアドレスを収容した通信信号(接続元トンネル外部IPアドレス返信信号)を作成して接続先の自動設定装置11に返信する(S163)。情報サーバ21から接続元トンネル外部IPアドレス返信信号を受信すると、接続先の自動設定装置11におけるトンネル設定部62は、接続元の自動設定装置11からのコネクションが真正であるか否か判断する(S164)。この真正であるか否かの判断は、コネクションを確立している接続元の自動設定装置11のIPアドレスと情報サーバ21から取得した接続元トンネル外部IPアドレス返信信号に収容されている接続元トンネル外部IPアドレスとを比較することによって行われ、両IPアドレスが一致する場合には真正と判断され、両IPアドレスが不一致である場合には真正でないと判断される。判断の結果、真正でないと判断された場合には、接続先の自動設定装置11におけるトンネル設定部62は、6o4トンネルを自動的に設定する本処理を終了する。一方、判断の結果、真正であると判断された場合には、接続先の自動設定装置11におけるトンネル設定部62は、処理S109以下の処理を続行する。
そして、前述の実施形態における図22を用いて説明した処理S308と図23の処理S309との間において、図31に示す処理を行う。即ち、図31において、切断先の自動設定装置11におけるトンネル削除部65は、処理S308において切断元の自動設定装置11から受信した自動設定装置識別子通知信号に収容されている切断元の自動設定装置11における自動設定装置識別子、及び、切断元の自動設定装置11におけるトンネル外部IPアドレスを要求する旨の情報を収容した通信信号(切断元トンネル外部IPアドレス要求信号)を作成して情報サーバ21に送信する(S361)。情報サーバ21は、切断元トンネル外部IPアドレス要求信号を受信すると、この信号に収容されている自動設定装置識別子に基づいて提供トンネル設定情報テーブルから102からこの自動設定装置識別子に対応するトンネル外部IPアドレスを検索する(S362)。そして、情報サーバ21は、検索したトンネル外部IPアドレスを収容した通信信号(切断元トンネル外部IPアドレス返信信号)を作成して切断先の自動設定装置11に返信する(S363)。情報サーバ21から切断元トンネル外部IPアドレス返信信号を受信すると、切断先の自動設定装置11におけるトンネル削除部65は、切断元の自動設定装置11からのコネクションが真正であるか否か判断する(S364)。この真正であるか否かの判断は、コネクションを確立している切断元の自動設定装置11のIPアドレスと情報サーバ21から取得した切断元トンネル外部IPアドレス返信信号に収容されている切断元トンネル外部IPアドレスとを比較することによって行われ、両IPアドレスが一致する場合には真正と判断され、両IPアドレスが不一致である場合には真正でないと判断される。判断の結果、真正でないと判断された場合には、切断先の自動設定装置11におけるトンネル削除部65は、6o4トンネルを自動的に設定する本処理を終了する。一方、判断の結果、真正であると判断された場合には、切断先の自動設定装置11におけるトンネル削除部65は、処理S309以下の処理を続行する。
このように動作することで、トンネル構築処理において、接続先の自動設定装置11は、接続元の自動設定装置11が真正なトンネル外部IPアドレスを持つ自動設定装置11であるかチェックすることで、セキュリティを高めることができ、トンネル構築処理の開始直後に実行することで接続元の自動設定装置が不正な場合、それ以降のトンネル構築処理を実行させないことで自動設定装置11の負荷を下げることができる。また、トンネル削除処理において、切断先の自動設定装置11は、切断元の自動設定装置11が真正なトンネル外部IPアドレスを持つ自動設定装置11であるかチェックすることで、セキュリティを高めることができ、トンネル削除処理の開始直後に実行することで切断元の自動設定装置が不正な場合、それ以降のトンネル削除処理を実行させないことで自動設定装置11の負荷を下げることができる。
また、上述の実施形態では、トンネル構築処理の際に、接続先の自動設定装置11において接続元の自動設定装置11から送信されたトンネル内部IPアドレスが正当であるか否かをチェックしていないが、チェックするように構成してもよい。また、上述の実施形態では、トンネル構築処理の際に、接続元の自動設定装置11において接続先の自動設定装置11から送信されたトンネル内部IPアドレスが正当であるか否かをチェックしていないが、チェックするように構成してもよい。
図32は、トンネル内部IPアドレスのチェックを行う場合に係る情報サーバにおける設定済みトンネル内部IPアドレステーブルの構成を示す図である。図33は、トンネル内部IPアドレスのチェックを行う場合に係る自動設定装置の初期処理の動作を示すシーケンス図の一部である。図34及び図35は、トンネル外部IPアドレスのチェックを行う場合に係る自動設定装置のトンネル構築処理の動作を示すシーケンス図の一部である。
図32において、設定済みトンネル内部IPアドレステーブルは、自動設定装置11の要求に応じて自動設定装置11のLAN側インタフェース部に設定したトンネル内部IPアドレスをを自動設定装置識別子に対応付けて登録する。設定済みトンネル内部IPアドレステーブル107は、例えば、図32に示すように各レコードを管理する管理番号を登録する管理番号フィールド171、自動設定装置11の自動設定装置識別子を登録する自動設定装置識別子フィールド172、及び、当該自動設定装置11のLAN側インタフェース部に設定されたトンネル内部IPアドレスを登録する設定済みトンネル内部IPアドレスフィールド173を備えて構成され、トンネル内部IPアドレスをLAN側インターフェースに設定済みの自動設定装置11ごとにレコードが作成される。
前述の実施形態における図13を用いて説明した処理S66と処理S67との間において、図33に示す処理を行う。即ち、図33において、自動設定装置11のトンネル設定部62は、自動設定装置識別子、設定済みトンネル内部IPアドレス(LAN側インターフェースに設定されたトンネル内部アドレス)及び設定済みトンネル内部IPアドレスの登録を要求する旨の情報を収容する通信信号(設定済みトンネル内部IPアドレス登録要求信号)を作成して情報サーバ21に送信する(S91)。情報サーバ21は、設定済みトンネル内部IPアドレス登録要求信号を受信すると、設定済みトンネル内部IPアドレステーブル107に新たな管理番号を付して新たなレコードを作成し、作成したレコードにおける自動設定装置識別子フィールド172及び設定済みトンネル内部IPアドレスフィールド173に、設定済みトンネル内部IPアドレス登録要求信号に収容されている自動設定装置識別子及び設定済みトンネル内部IPアドレス登録要求信号に収容されているトンネル内部IPアドレスをそれぞれ登録する(S92)。そして、情報サーバ21は、設定済みトンネル内部IPアドレスの登録が完了した皆の情報を収容した通信信号(設定済みトンネル内部IPアドレス登録返信信号)を作成してトンネル自動設定装置11に返信する(S93)。続いて、自動設定装置11のトンネル設定部62は、情報サーバ21から設定済みトンネル内部IPアドレス登録返信信号を受信すると、処理S67以下の処理を続行する。
そして、前述の実施形態における図17を用いて説明した処理S139と図18の処理S140との間において、図34に示す処理を行う。即ち、図34において、接続元の自動設定装置11におけるトンネル設定部62は、処理S139において接続先の自動設定装置11からトンネル構築指示信号を受信すると、接続先の自動設定装置11における自動設定識別子と、接続先の自動設定装置11におけるトンネル内部IPアドレスを要求する皆の情報を収容した通信信号(設定済み接続先トンネル内部IPアドレス要求信号)を作成して情報サーバ21に送信する(S171)。
この設定済み接続先トンネル内部IPアドレス要求信号を受信すると情報サーバ21は、この受信した設定済み接続先トンネル内部IPアドレス要求信号に収容されている接続先の自動設定装置11の自動設定装置識別子に基づいて設定済みトンネル内部IPアドレステーブル107を参照し、この接続先の自動設定装置11の自動設定装置識別子に対応する設定済みトンネル内部IPアドレスを検索する(S172)。情報サーバ21は、検索した設定済み接続先トンネル内部IPアドレスを収容する通信信号(設定済み接続先トンネル内部IPアドレス返信信号)を作成して接続元の自動設定装置11に返信する(S173)。設定済み接続先トンネル内部IPアドレス返信信号を受信すると、接続元の自動設定装置11におけるトンネル設定部62は、処理S139で接続先の自動設定装置11から送信されたトンネル内部IPアドレスとこの情報サーバ21から取得した設定済み接続先トンネル内部IPアドレス返信信号に収容されている設定済み接続先トンネル内部IPアドレスを比較することによって、接続先の自動設定装置11から送信されたトンネル内部IPアドレスが真正であるか否かを判断する(S174)。この判断は、接続先の自動設定装置11から送信されたトンネル内部IPアドレスと設定済み接続先トンネル内部IPアドレスとが一致する場合に真正であると判断され、接続先の自動設定装置11から送信されたトンネル内部IPアドレスと設定済み接続先トンネル内部IPアドレスとが不一致である場合には真正でないと判断される。判断の結果、真正でないと判断された場合には、接続元の自動設定装置11におけるトンネル設定部62は、判断結果を収容する通信信号(判断結果通知信号)を作成して接続先の自動設定装置11に送信し(S149)、6o4トンネルを自動的に設定する本処理を終了する。一方、判断の結果、真正であると判断された場合には、接続元の自動設定装置11におけるトンネル設定部62は、処理S140以下の処理を続行する。
前述の実施形態における図18を用いて説明した処理S141と処理S142との間において、図35に示す処理を行う。即ち、図35において、接続先の自動設定装置11におけるトンネル設定部62は、処理S138において接続元の自動設定装置11からトンネル構築指示信号を受信すると、接続元の自動設定装置11における自動設定装置識別子と、接続元の自動設定装置11におけるトンネル内部IPアドレスを要求する皆の情報を収容した通信信号(設定済み接続元トンネル内部IPアドレス要求信号)を作成して情報サーバ21に送信する(S181)。
この設定済み接続元トンネル内部IPアドレス要求信号を自身すると情報サーバ21は、この受信した設定済み接続元トンネル内部IPアドレス要求信号に収容されている接続元の自動設定装置11の自動設定装置識別子に基づいて設定済みトンネル内部IPアドレステーブル107を参照し、この接続元の自動設定装置11の自動設定装置識別子に対応する設定済みトンネル内部IPアドレスを検索する(S182)。情報サーバ21は、検索した設定済み接続元トンネル内部IPアドレスを収容する通信信号(設定済み接続元トンネル内部IPアドレス返信信号)を作成して接続先の自動設定装置11に返信する(S183)。設定済み接続元トンネル内部IPアドレス返信信号を受信すると、接続先の自動設定装置11におけるトンネル設定部62は、処理S139で接続元の自動設定装置11から送信されたトンネル内部IPアドレスとこの情報サーバ21から取得した設定済み接続元トンネル内部IPアドレス返信信号に収容されている設定済み接続元トンネル内部IPアドレスを比較することによって、接続元の自動設定装置11から送信されたトンネル内部IPアドレスが真正であるか否かを判断する(S184)。この判断は、接続元の自動設定装置11から送信されたトンネル内部IPアドレスと設定済み接続元トンネル内部IPアドレスとが一致する場合に真正であると判断され、接続元の自動設定装置11から送信されたトンネル内部IPアドレスと設定済み接続元トンネル内部IPアドレスとが不一致である場合には真正でないと判断される。判断の結果、真正でないと判断された場合には、接続先の自動設定装置11におけるトンネル設定部62は、判断結果を収容する通信信号(判断結果通知信号)を作成して接続元の自動設定装置11に送信し(S149)、6o4トンネルを自動的に設定する本処理を終了する。一方、判断の結果、真正であると判断された場合には、接続先の自動設定装置11におけるトンネル設定部62は、処理S142以下の処理を続行する。
このように動作することで、トンネル構築処理において、接続元の自動設定装置11は、接続先の自動設定装置11が真正なトンネル内部IPアドレスを持つ自動設定装置11であるかチェックすることで、セキュリティを高めることができる。また、トンネル構築処理において、接続先の自動設定装置11は、接続元の自動設定装置11が真正なトンネル内部IPアドレスを持つ自動設定装置11であるかチェックすることで、セキュリティを高めることができる。
さらに、上述の実施形態では、自動設定装置11は、1個の物理的なWAN側インターフェース部55に対し複数の論理的なインターフェースを生成することによって複数の他の自動設定装置11へ複数の6o4トンネルをそれぞれ同時に設定したが、複数個の物理的なWAN側インターフェース部を備えることによって複数の他の自動設定装置11へ複数の6o4トンネルをそれぞれ同時に設定するように構成してもよい。
図36は、複数のWAN側インターフェース部を備えるトンネル自動設定装置を含むネットワークの構成を示すブロック図である。図37は、複数のWAN側インターフェース部を備えるトンネル自動設定装置に係る設定トンネル管理情報テーブルの構成を示す図である。図38は、トンネル自動設定装置がWAN側インターフェー部を複数備える場合における情報サーバの提供トンネル設定情報テーブルの構成を示す図である。
図36において、自動設定装置11’は、LAN側インターフェース部51と、制御部52’と、記憶部53’と、入力部54と、複数のWAN側インターフェース部55’(55’−0、55’−1、・・・、55’−n)とを備えて構成される。これらLAN側インターフェース部51、制御部52’、記憶部53’、入力部54及びWAN側インターフェース部55’は、WAN側インターフェース部55’が複数であって各WAN側インターフェース部55’−0、55’−1、・・・、55’−nを識別するための識別子であるWAN側インタフェースデバイス名が各WAN側インターフェース部55’−0、55’−1、・・・、55’−nにそれぞれ付与され、図37に示すように設定トンネル管理情報記憶部73’に記憶される設定トンネル管理情報テーブル101’がWAN側インターフェースデバイス名を登録するWAN側インターフェースデバイス名フィールド112を図3に示す設定トンネル管理情報テーブル101にさらに備えられて構成され、制御部52’のトンネル設定部62’が6o4トンネルを自動的に設定する場合にこのWAN側インターフェースデバイス名を用いることを除き、上述したLAN側インターフェース部51、制御部52、記憶部53、入力部54及びWAN側インターフェース部55とそれぞれ同様であるので、その説明を省略する。
そして、情報サーバ21は、各WAN側インターフェース部55’−0、55’−1、・・・、55’−nにそれぞれ付与されるトンネル外部IPアドレスを個別に管理するために、提供トンネル設定情報をWAN側インターフェースデバイス名と自動設定装置識別子との組に対応付けて提供トンネル設定情報記憶部に記憶される。例えば、図38に示すように、提供トンネル設定情報記憶部に記憶される提供トンネル設定情報テーブル102’は、WAN側インターフェースデバイス名を登録するWAN側インターフェースデバイス名フィールド122を図4に示す提供トンネル設定情報テーブル102にさらに備えられて構成され、WAN側インターフェースデバイス名と自動設定装置識別子との組ごとにレコードが作成される。
そして、処理S64、処理S65、処理S108、処理S109、処理S110、処理S111の処理において、自動設定装置識別子に代えて自動設定装置識別子とWAN側インタフェースデバイス名との組を用いる。ここで、接続先の自動設定装置11が複数のWAN側インターフェース部55を備えている場合には、処理S102乃至処理S104を行うことによって、接続元の自動設定装置11’におけるトンネル設定部62’は、情報サーバ21から複数のトンネル外部IPアドレスを取得することになるが、接続元の自動設定装置11におけるトンネル設定部62’は、複数のトンネル外部IPアドレスから任意に1個のトンネル外部IPアドレスを用いればよい。
なお、トンネル切断処理の場合には、トンネル切断指示信号を受信することによって切断すべき6o4トンネルが特定されるので、6o4トンネルが複数設定されている場合でも上述した処理S303乃至処理S343を実行することによって6o4トンネルを切断することができる。
そして、上述の実施形態では、自動設定装置11、11’は、ルータ装置に組み込まれた場合について説明したが、これに限定されるものではなく、例えば、通信パケットのルーティングを行うルーティング機能に加えてプロトコル変換を行う機能をさらに備えたゲートウェイ装置に組み込んでもよい。
また、上述の実施形態では、自動設定装置11、11’は、情報サーバ21、登録サーバ22、認証サーバ23及びNTPサーバ24の所在情報をIPアドレスで記憶部53に記憶するように構成したが、ホスト名とIPアドレスの対応関係を記述したデータベースを管理して、クライアントからの要求に応じてホスト名からそのIPアドレスを検索し、検索結果をクライアントに返信するDNS(Domain Name System)サーバ25を図1に破線で示すようにネットワーク1にさらに備えさせ、自動設定装置11、11’は、情報サーバ21、登録サーバ22、認証サーバ23及びNTPサーバ24のうち少なくとも1つの所在情報をホスト名で記憶部53に記憶するように構成してもよい。このように構成することによって、情報サーバ21や登録サーバ22や認証サーバ23やNTPサーバ24のIPアドレスが変更された場合でも自動設定装置11、11’は、情報サーバ21等に接続することができる。特に、情報サーバ21等の所在情報は、製造段階等に記憶部53に記憶されるので、自動設定装置11、11’が出荷された後に情報サーバ21等のIPアドレスが変更された場合でも自動設定装置11、11’は、情報サーバ21等に接続することができる。
さらに、上述の実施形態において、接続元と接続先とが同一であってIPsecを適用する6o4トンネルとIPsecを適用しない6o4トンネルとの2個の6o4トンネルを設定し、通信の内容に応じて2個の6o4トンネルの内から何れか一方を選択するように構成することによって、通信の内容に応じて暗号化の必要な場合にIPsecを利用するようにできるから、通信を行う場合に、制御部52の情報処理量を軽減することができ、制御部52の負担を軽減することができる。
そして、上述の実施形態では、制御部52、52’は、設定されている6o4トンネルに障害が生じているか否かを判断し、障害が生じている場合にも6o4トンネルを削除するように構成してもよい。障害の有無は、例えば、ピング(Ping)を6o4トンネルの設定先の自動設定装置11、11’に送信し、当該ピングに対する受信応答をタイムアウトする前に受信した場合には障害が無いと判断し、タイムアウトした場合には障害が有ると判断する。このように構成することによって、障害により使用することができなくなった6o4トンネルの放置を回避することができ、制御部52、52’や記憶部53、53’等のリソースの無駄をなくすことができる。そして、6o4トンネルを削除した場合に、トンネル削除部66は、トンネル設定部62を用いて、削除した6o4トンネルにおける他方の自動設定装置11、11’を新たに接続先として6o4トンネルを自動的に再設定するように構成してもよい。このように構成することによって、障害を自動的に除去することができるので、6o4トンネル自体の耐障害性を向上させることができ、使用可能な状態で6o4トンネルを維持することができる。
また、上述の実施形態では、自動設定装置11は、IPv4のISPネットワーク3及びIPv4のネットワーク4上に、他の自動設定装置11との間にIPv6overIPv4トンネルを形成する実施形態である。IPv4のネットワークが順次IPv6を採用することによってIPv6のネットワークに移行して上述の実施形態におけるISPネットワーク3及びネットワーク4がIPv6になった場合でも、同様の動作によって、一の自動設定装置11は、ISPネットワーク3及びネットワーク4上に、他の自動設定装置11との間にIPv6overIPv6トンネルを形成することができる。このようにネットワーク1の全てのノードがIPv6で動作するようになった場合でも、本発明にかかる自動設定装置11を用いることで、製造企業等は、トンネル自動設定装置11を管理することができるだけでなく、各IPv6のネットワーク2間にトンネルを設定することによって、セキュア(安全な)通信経路を確保することができる。